From 08261fa56812e9ecc741e38ce6fb383fa301b682 Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Thu, 11 Dec 2014 20:28:29 -0800 Subject: [PATCH] Starting work on v1.16.4: fixed command-line (Node) version of PCjs --- apps/pc/1981/visicalc/manifest.xml | 2 +- apps/pc/1982/esuite/manifest.xml | 2 +- apps/pc/1985/rogue/manifest.xml | 2 +- apps/pc/1987/thinktank/manifest.xml | 2 +- apps/pc/1988/moria/manifest.xml | 2 +- apps/pc/1992/moria/manifest.xml | 2 +- devices/c1p/machine/32kb/machine.xml | 2 +- .../c1p/machine/8kb/all/debugger/machine.xml | 2 +- devices/c1p/machine/8kb/array/machine.xml | 2 +- .../machine/8kb/large/debugger/machine.xml | 2 +- devices/c1p/machine/8kb/large/machine.xml | 2 +- devices/c1p/machine/8kb/small/machine.xml | 2 +- .../5150/cga/384kb/softkbd/machine.xml | 2 +- .../5150/cga/64kb/donkey/debugger/machine.xml | 2 +- .../machine/5150/cga/64kb/donkey/machine.xml | 2 +- .../machine/5150/cga/64kb/softkbd/machine.xml | 2 +- .../5150/mda/64kb/debugger/machine.xml | 2 +- devices/pc/machine/5150/mda/64kb/machine.xml | 2 +- .../machine/5150/mda/64kb/softkbd/machine.xml | 2 +- .../machine/5160/cga/256kb/array/machine.xml | 2 +- .../5160/cga/256kb/demo/debugger/machine.xml | 2 +- .../machine/5160/cga/256kb/demo/machine.xml | 2 +- .../5160/cga/256kb/softkbd/machine.xml | 2 +- .../cga/256kb/win101/debugger/machine.xml | 2 +- .../machine/5160/cga/256kb/win101/machine.xml | 2 +- .../5160/cga/256kb/win101/softkbd/machine.xml | 2 +- .../5160/cga/512kb/win101/softkbd/machine.xml | 2 +- .../5160/cga/640kb/debugger/machine.xml | 2 +- .../5160/cga/640kb/dos400m/machine.xml | 2 +- devices/pc/machine/5160/cga/640kb/machine.xml | 2 +- .../5160/ega/256kb/debugger/machine.xml | 2 +- .../machine/5160/ega/640kb/array/machine.xml | 2 +- .../5160/ega/640kb/debugger/machine.xml | 2 +- devices/pc/machine/5160/ega/640kb/machine.xml | 2 +- .../machine/5160/ega/640kb/win101/machine.xml | 2 +- .../mda/256kb/fake188/debugger/machine.xml | 2 +- .../5160/mda/256kb/fake188/machine.xml | 2 +- devices/pc/machine/5160/mda/256kb/machine.xml | 2 +- .../machine/5160/mda/64kb/softkbd/machine.xml | 2 +- .../machine/5170/ega/1152kb/rev1/machine.xml | 2 +- .../machine/5170/ega/1152kb/rev3/machine.xml | 2 +- .../machine/5170/ega/640kb/rev1/machine.xml | 2 +- .../machine/5170/ega/640kb/rev1/manifest.xml | 2 +- disks/pc/apps/lotus/123/1.0a/manifest.xml | 2 +- .../apps/microsoft/winword/2.0c/manifest.xml | 2 +- disks/pc/apps/microsoft/word/3.0/manifest.xml | 2 +- disks/pc/apps/microsoft/word/3.1/manifest.xml | 2 +- disks/pc/apps/microsoft/word/5.0/manifest.xml | 2 +- disks/pc/cpm/machine.xml | 2 +- disks/pc/cpm/manifest.xml | 2 +- disks/pc/diags/ibm/2.20/machine.xml | 2 +- disks/pc/diags/ibm/2.20/manifest.xml | 2 +- disks/pc/dos/compaq/3.10/manifest.xml | 2 +- disks/pc/dos/compaq/3.31/manifest.xml | 2 +- disks/pc/dos/ibm/1.00/manifest.xml | 2 +- disks/pc/dos/ibm/1.10/manifest.xml | 2 +- disks/pc/dos/ibm/2.00/manifest.xml | 2 +- disks/pc/dos/ibm/2.10/manifest.xml | 2 +- disks/pc/dos/ibm/3.00/manifest.xml | 2 +- disks/pc/dos/ibm/3.10/manifest.xml | 2 +- disks/pc/dos/ibm/3.20/manifest.xml | 2 +- disks/pc/dos/ibm/3.30/manifest.xml | 2 +- disks/pc/dos/ibm/4.00/manifest.xml | 2 +- disks/pc/dos/ibm/5.00/manifest.xml | 2 +- disks/pc/dos/ibm/6.10/manifest.xml | 2 +- disks/pc/dos/ibm/7.00/manifest.xml | 2 +- disks/pc/dos/microsoft/3.20/manifest.xml | 2 +- disks/pc/dos/microsoft/3.30/manifest.xml | 2 +- disks/pc/dos/microsoft/4.01/manifest.xml | 2 +- disks/pc/dos/microsoft/4.0M/manifest.xml | 2 +- disks/pc/games/infocom/hhiker/manifest.xml | 2 +- disks/pc/games/infocom/machine-debug.xml | 2 +- disks/pc/games/infocom/machine.xml | 2 +- disks/pc/games/infocom/planet/manifest.xml | 2 +- .../games/infocom/zork1/debugger/machine.xml | 2 +- disks/pc/games/infocom/zork1/manifest.xml | 2 +- disks/pc/games/infocom/zork2/manifest.xml | 2 +- disks/pc/games/infocom/zork3/manifest.xml | 2 +- .../pc/games/microsoft/adventure/machine.xml | 2 +- .../pc/games/microsoft/adventure/manifest.xml | 2 +- .../pc/games/microsoft/flightsim/manifest.xml | 2 +- disks/pc/minix/1.1/manifest.xml | 2 +- disks/pc/os2/ibm/1.0/machine.xml | 2 +- disks/pc/os2/ibm/1.0/manifest.xml | 2 +- disks/pc/os2/ibm/1.1/manifest.xml | 2 +- disks/pc/os2/ibm/1.3/manifest.xml | 2 +- disks/pc/os2/misc/1.0/debugger/machine.xml | 2 +- disks/pc/os2/misc/manifest.xml | 2 +- .../pc/tools/borland/pascal/3.0/manifest.xml | 2 +- disks/pc/tools/microsoft/basic/manifest.xml | 2 +- disks/pc/tools/microsoft/c/4.00/manifest.xml | 2 +- .../pc/tools/microsoft/masm/4.00/manifest.xml | 2 +- .../tools/microsoft/mouse/5.00/manifest.xml | 2 +- .../tools/microsoft/winsdk/1.01/manifest.xml | 2 +- .../tools/microsoft/winsdk/1.04/manifest.xml | 2 +- .../tools/microsoft/winsdk/2.03/manifest.xml | 2 +- disks/pc/win/win101/manifest.xml | 2 +- disks/pc/win/win103/manifest.xml | 2 +- disks/pc/win/win103a/manifest.xml | 2 +- disks/pc/win/win104/manifest.xml | 2 +- disks/pc/win/win203/manifest.xml | 2 +- disks/pc/win/wincomm/manifest.xml | 2 +- docs/pcjs/demos/components.xsl | 2 +- docs/pcjs/demos/pc-dbg.js | 995 +++++++++--------- docs/pcjs/demos/pc.js | 511 ++++----- modules/c1pjs/lib/cpu.js | 26 +- modules/c1pjs/lib/debugger.js | 4 +- modules/c1pjs/lib/disk.js | 6 +- modules/c1pjs/lib/keyboard.js | 6 +- modules/c1pjs/lib/panel.js | 6 +- modules/c1pjs/lib/rom.js | 4 +- modules/c1pjs/lib/serial.js | 6 +- modules/c1pjs/lib/video.js | 10 +- modules/pcjs/bin/machine.json | 4 +- modules/pcjs/lib/chipset.js | 183 ++-- modules/pcjs/lib/computer.js | 32 +- modules/pcjs/lib/cpu.js | 62 +- modules/pcjs/lib/debugger.js | 180 ++-- modules/pcjs/lib/defines.js | 1 + modules/pcjs/lib/disk.js | 6 +- modules/pcjs/lib/fdc.js | 8 +- modules/pcjs/lib/hdc.js | 26 +- modules/pcjs/lib/interrupts.js | 78 ++ modules/pcjs/lib/keyboard.js | 34 +- modules/pcjs/lib/mem.js | 6 +- modules/pcjs/lib/messages.js | 85 ++ modules/pcjs/lib/mouse.js | 6 +- modules/pcjs/lib/nodebugger.js | 7 - modules/pcjs/lib/serial.js | 4 +- modules/pcjs/lib/state.js | 5 +- modules/pcjs/lib/video.js | 12 +- modules/pcjs/lib/x86.js | 6 +- modules/pcjs/lib/x86cpu.js | 38 +- modules/pcjs/lib/x86grps.js | 6 +- modules/pcjs/lib/x86help.js | 38 +- modules/pcjs/lib/x86op0f.js | 135 ++- modules/pcjs/lib/x86opxx.js | 26 +- modules/pcjs/lib/x86seg.js | 5 +- modules/shared/lib/component.js | 42 +- modules/shared/lib/externs.js | 2 + modules/shared/lib/weblib.js | 30 +- package.json | 4 +- pubs/pc/programming/manifest.xml | 2 +- .../reference/ibm/5150/techref/manifest.xml | 2 +- .../reference/ibm/5160/techref/manifest.xml | 2 +- pubs/pc/reference/ibm/5170/setup/manifest.xml | 2 +- .../reference/ibm/5170/techref/manifest.xml | 2 +- pubs/pc/reference/ibm/ega/manifest.xml | 2 +- pubs/pc/reference/ibm/ps2/manifest.xml | 2 +- pubs/pc/reference/intel/80286/manifest.xml | 2 +- pubs/pc/software/os2/sdk10/manifest.xml | 2 +- pubs/pc/software/windows/sdk20/manifest.xml | 2 +- 152 files changed, 1498 insertions(+), 1373 deletions(-) create mode 100644 modules/pcjs/lib/interrupts.js create mode 100644 modules/pcjs/lib/messages.js diff --git a/apps/pc/1981/visicalc/manifest.xml b/apps/pc/1981/visicalc/manifest.xml index 2c202667e..9e8483ef6 100644 --- a/apps/pc/1981/visicalc/manifest.xml +++ b/apps/pc/1981/visicalc/manifest.xml @@ -1,5 +1,5 @@ - + VisiCalc diff --git a/apps/pc/1982/esuite/manifest.xml b/apps/pc/1982/esuite/manifest.xml index be302ccd0..845f0126a 100644 --- a/apps/pc/1982/esuite/manifest.xml +++ b/apps/pc/1982/esuite/manifest.xml @@ -1,5 +1,5 @@ - + Executive Suite diff --git a/apps/pc/1985/rogue/manifest.xml b/apps/pc/1985/rogue/manifest.xml index 0067a7dcc..8e530f5c9 100644 --- a/apps/pc/1985/rogue/manifest.xml +++ b/apps/pc/1985/rogue/manifest.xml @@ -1,5 +1,5 @@ - + Rogue diff --git a/apps/pc/1987/thinktank/manifest.xml b/apps/pc/1987/thinktank/manifest.xml index 0bc745491..c707d548d 100644 --- a/apps/pc/1987/thinktank/manifest.xml +++ b/apps/pc/1987/thinktank/manifest.xml @@ -1,5 +1,5 @@ - + ThinkTank 2.41NP diff --git a/apps/pc/1988/moria/manifest.xml b/apps/pc/1988/moria/manifest.xml index 978a0a6ea..fbe62b786 100644 --- a/apps/pc/1988/moria/manifest.xml +++ b/apps/pc/1988/moria/manifest.xml @@ -1,5 +1,5 @@ - + The Dungeons of Moria 4.872 diff --git a/apps/pc/1992/moria/manifest.xml b/apps/pc/1992/moria/manifest.xml index 6228dc83d..91e832837 100644 --- a/apps/pc/1992/moria/manifest.xml +++ b/apps/pc/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 6191e71e9..91f6cbf9e 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 3bb294b67..d62e40ce7 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, More Programs) diff --git a/devices/c1p/machine/8kb/array/machine.xml b/devices/c1p/machine/8kb/array/machine.xml index 2d95b32b1..752644150 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 98b59b950..a3273ba39 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 aa8c5be1e..2339746b4 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 3f2bdfc42..8d500864e 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/pc/machine/5150/cga/384kb/softkbd/machine.xml b/devices/pc/machine/5150/cga/384kb/softkbd/machine.xml index ecb99946c..2e02aaec9 100644 --- a/devices/pc/machine/5150/cga/384kb/softkbd/machine.xml +++ b/devices/pc/machine/5150/cga/384kb/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150), CGA, 384K diff --git a/devices/pc/machine/5150/cga/64kb/donkey/debugger/machine.xml b/devices/pc/machine/5150/cga/64kb/donkey/debugger/machine.xml index edaf5a387..76c78a04e 100644 --- a/devices/pc/machine/5150/cga/64kb/donkey/debugger/machine.xml +++ b/devices/pc/machine/5150/cga/64kb/donkey/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150), CGA, 64K diff --git a/devices/pc/machine/5150/cga/64kb/donkey/machine.xml b/devices/pc/machine/5150/cga/64kb/donkey/machine.xml index f0c6f5127..95c6def04 100644 --- a/devices/pc/machine/5150/cga/64kb/donkey/machine.xml +++ b/devices/pc/machine/5150/cga/64kb/donkey/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150), CGA, 64K diff --git a/devices/pc/machine/5150/cga/64kb/softkbd/machine.xml b/devices/pc/machine/5150/cga/64kb/softkbd/machine.xml index f186383f2..587265b87 100644 --- a/devices/pc/machine/5150/cga/64kb/softkbd/machine.xml +++ b/devices/pc/machine/5150/cga/64kb/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150), CGA, 64K diff --git a/devices/pc/machine/5150/mda/64kb/debugger/machine.xml b/devices/pc/machine/5150/mda/64kb/debugger/machine.xml index ad8a5d722..f4b1755b3 100644 --- a/devices/pc/machine/5150/mda/64kb/debugger/machine.xml +++ b/devices/pc/machine/5150/mda/64kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC Model 5150 with Monochrome Display diff --git a/devices/pc/machine/5150/mda/64kb/machine.xml b/devices/pc/machine/5150/mda/64kb/machine.xml index 7e2ee6b24..827e373cc 100644 --- a/devices/pc/machine/5150/mda/64kb/machine.xml +++ b/devices/pc/machine/5150/mda/64kb/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150) with Monochrome Display diff --git a/devices/pc/machine/5150/mda/64kb/softkbd/machine.xml b/devices/pc/machine/5150/mda/64kb/softkbd/machine.xml index b38d1ac8c..58fb6599f 100644 --- a/devices/pc/machine/5150/mda/64kb/softkbd/machine.xml +++ b/devices/pc/machine/5150/mda/64kb/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150), MDA, 64K diff --git a/devices/pc/machine/5160/cga/256kb/array/machine.xml b/devices/pc/machine/5160/cga/256kb/array/machine.xml index 785eb0b4f..e80cef1c8 100644 --- a/devices/pc/machine/5160/cga/256kb/array/machine.xml +++ b/devices/pc/machine/5160/cga/256kb/array/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 256K, 10Mb Drive diff --git a/devices/pc/machine/5160/cga/256kb/demo/debugger/machine.xml b/devices/pc/machine/5160/cga/256kb/demo/debugger/machine.xml index b99fbf8c8..b3747121c 100644 --- a/devices/pc/machine/5160/cga/256kb/demo/debugger/machine.xml +++ b/devices/pc/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/pc/machine/5160/cga/256kb/demo/machine.xml b/devices/pc/machine/5160/cga/256kb/demo/machine.xml index 6f8dd87b7..edb16a769 100644 --- a/devices/pc/machine/5160/cga/256kb/demo/machine.xml +++ b/devices/pc/machine/5160/cga/256kb/demo/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 256Kb, 10Mb Drive diff --git a/devices/pc/machine/5160/cga/256kb/softkbd/machine.xml b/devices/pc/machine/5160/cga/256kb/softkbd/machine.xml index 3f65cdab4..9d861bf3c 100644 --- a/devices/pc/machine/5160/cga/256kb/softkbd/machine.xml +++ b/devices/pc/machine/5160/cga/256kb/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 256K, 10Mb Drive diff --git a/devices/pc/machine/5160/cga/256kb/win101/debugger/machine.xml b/devices/pc/machine/5160/cga/256kb/win101/debugger/machine.xml index b4d2822d1..8b3a3044f 100644 --- a/devices/pc/machine/5160/cga/256kb/win101/debugger/machine.xml +++ b/devices/pc/machine/5160/cga/256kb/win101/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160) running Windows v1.01 diff --git a/devices/pc/machine/5160/cga/256kb/win101/machine.xml b/devices/pc/machine/5160/cga/256kb/win101/machine.xml index 7554617aa..b2198a15f 100644 --- a/devices/pc/machine/5160/cga/256kb/win101/machine.xml +++ b/devices/pc/machine/5160/cga/256kb/win101/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160) running Windows v1.01 diff --git a/devices/pc/machine/5160/cga/256kb/win101/softkbd/machine.xml b/devices/pc/machine/5160/cga/256kb/win101/softkbd/machine.xml index eba6f9484..f81fc0e21 100644 --- a/devices/pc/machine/5160/cga/256kb/win101/softkbd/machine.xml +++ b/devices/pc/machine/5160/cga/256kb/win101/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 256K, WIN101 diff --git a/devices/pc/machine/5160/cga/512kb/win101/softkbd/machine.xml b/devices/pc/machine/5160/cga/512kb/win101/softkbd/machine.xml index d88d722c3..df19029a3 100644 --- a/devices/pc/machine/5160/cga/512kb/win101/softkbd/machine.xml +++ b/devices/pc/machine/5160/cga/512kb/win101/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 512K, WIN101 diff --git a/devices/pc/machine/5160/cga/640kb/debugger/machine.xml b/devices/pc/machine/5160/cga/640kb/debugger/machine.xml index b42a8fa4e..1a5813e33 100644 --- a/devices/pc/machine/5160/cga/640kb/debugger/machine.xml +++ b/devices/pc/machine/5160/cga/640kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 640K, 10Mb Drive diff --git a/devices/pc/machine/5160/cga/640kb/dos400m/machine.xml b/devices/pc/machine/5160/cga/640kb/dos400m/machine.xml index bfccb5e42..81084bad9 100644 --- a/devices/pc/machine/5160/cga/640kb/dos400m/machine.xml +++ b/devices/pc/machine/5160/cga/640kb/dos400m/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 640K, 10Mb Drive diff --git a/devices/pc/machine/5160/cga/640kb/machine.xml b/devices/pc/machine/5160/cga/640kb/machine.xml index f4a31d985..65bcd40c5 100644 --- a/devices/pc/machine/5160/cga/640kb/machine.xml +++ b/devices/pc/machine/5160/cga/640kb/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 640K, 10Mb Drive diff --git a/devices/pc/machine/5160/ega/256kb/debugger/machine.xml b/devices/pc/machine/5160/ega/256kb/debugger/machine.xml index f662905bb..ee77d5a47 100644 --- a/devices/pc/machine/5160/ega/256kb/debugger/machine.xml +++ b/devices/pc/machine/5160/ega/256kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), 64K EGA, 256K RAM, 10Mb Hard Drive diff --git a/devices/pc/machine/5160/ega/640kb/array/machine.xml b/devices/pc/machine/5160/ega/640kb/array/machine.xml index 0e2de7c84..dc0cd17d5 100644 --- a/devices/pc/machine/5160/ega/640kb/array/machine.xml +++ b/devices/pc/machine/5160/ega/640kb/array/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Drive diff --git a/devices/pc/machine/5160/ega/640kb/debugger/machine.xml b/devices/pc/machine/5160/ega/640kb/debugger/machine.xml index 7a5e30a37..ea00245ca 100644 --- a/devices/pc/machine/5160/ega/640kb/debugger/machine.xml +++ b/devices/pc/machine/5160/ega/640kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Drive diff --git a/devices/pc/machine/5160/ega/640kb/machine.xml b/devices/pc/machine/5160/ega/640kb/machine.xml index af8e75378..b1ba87275 100644 --- a/devices/pc/machine/5160/ega/640kb/machine.xml +++ b/devices/pc/machine/5160/ega/640kb/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Drive diff --git a/devices/pc/machine/5160/ega/640kb/win101/machine.xml b/devices/pc/machine/5160/ega/640kb/win101/machine.xml index e0b8f48fd..856c80df2 100644 --- a/devices/pc/machine/5160/ega/640kb/win101/machine.xml +++ b/devices/pc/machine/5160/ega/640kb/win101/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Drive diff --git a/devices/pc/machine/5160/mda/256kb/fake188/debugger/machine.xml b/devices/pc/machine/5160/mda/256kb/fake188/debugger/machine.xml index e2e6ad768..2127ed062 100644 --- a/devices/pc/machine/5160/mda/256kb/fake188/debugger/machine.xml +++ b/devices/pc/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/pc/machine/5160/mda/256kb/fake188/machine.xml b/devices/pc/machine/5160/mda/256kb/fake188/machine.xml index 5ff54fad9..a1aa683ad 100644 --- a/devices/pc/machine/5160/mda/256kb/fake188/machine.xml +++ b/devices/pc/machine/5160/mda/256kb/fake188/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), MDA, 256Kb, 10Mb Drive diff --git a/devices/pc/machine/5160/mda/256kb/machine.xml b/devices/pc/machine/5160/mda/256kb/machine.xml index 17d8d4203..ccb36065d 100644 --- a/devices/pc/machine/5160/mda/256kb/machine.xml +++ b/devices/pc/machine/5160/mda/256kb/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), MDA, 256Kb, 10Mb Drive diff --git a/devices/pc/machine/5160/mda/64kb/softkbd/machine.xml b/devices/pc/machine/5160/mda/64kb/softkbd/machine.xml index bc185d8cb..c1eb8dc18 100644 --- a/devices/pc/machine/5160/mda/64kb/softkbd/machine.xml +++ b/devices/pc/machine/5160/mda/64kb/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), MDA, 64K, 10Mb Drive diff --git a/devices/pc/machine/5170/ega/1152kb/rev1/machine.xml b/devices/pc/machine/5170/ega/1152kb/rev1/machine.xml index c33c7c7c2..5a28daf0d 100644 --- a/devices/pc/machine/5170/ega/1152kb/rev1/machine.xml +++ b/devices/pc/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/pc/machine/5170/ega/1152kb/rev3/machine.xml b/devices/pc/machine/5170/ega/1152kb/rev3/machine.xml index 3bcc3ace5..4681bb2c9 100644 --- a/devices/pc/machine/5170/ega/1152kb/rev3/machine.xml +++ b/devices/pc/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/pc/machine/5170/ega/640kb/rev1/machine.xml b/devices/pc/machine/5170/ega/640kb/rev1/machine.xml index 8690fde82..ddfb09ffc 100644 --- a/devices/pc/machine/5170/ega/640kb/rev1/machine.xml +++ b/devices/pc/machine/5170/ega/640kb/rev1/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT, 128K EGA, 640K RAM diff --git a/devices/pc/machine/5170/ega/640kb/rev1/manifest.xml b/devices/pc/machine/5170/ega/640kb/rev1/manifest.xml index 8554a4da5..fddcc2acf 100644 --- a/devices/pc/machine/5170/ega/640kb/rev1/manifest.xml +++ b/devices/pc/machine/5170/ega/640kb/rev1/manifest.xml @@ -1,5 +1,5 @@ - + IBM PC AT References diff --git a/disks/pc/apps/lotus/123/1.0a/manifest.xml b/disks/pc/apps/lotus/123/1.0a/manifest.xml index ab0c2e587..21197dd53 100644 --- a/disks/pc/apps/lotus/123/1.0a/manifest.xml +++ b/disks/pc/apps/lotus/123/1.0a/manifest.xml @@ -1,5 +1,5 @@ - + 1-2-3 1.0a diff --git a/disks/pc/apps/microsoft/winword/2.0c/manifest.xml b/disks/pc/apps/microsoft/winword/2.0c/manifest.xml index 11327b4cc..67de4c000 100644 --- a/disks/pc/apps/microsoft/winword/2.0c/manifest.xml +++ b/disks/pc/apps/microsoft/winword/2.0c/manifest.xml @@ -1,5 +1,5 @@ - + Word for Windows 2.0c diff --git a/disks/pc/apps/microsoft/word/3.0/manifest.xml b/disks/pc/apps/microsoft/word/3.0/manifest.xml index 1bfa4d995..64ba8cfb7 100644 --- a/disks/pc/apps/microsoft/word/3.0/manifest.xml +++ b/disks/pc/apps/microsoft/word/3.0/manifest.xml @@ -1,5 +1,5 @@ - + MS Word 3.0 diff --git a/disks/pc/apps/microsoft/word/3.1/manifest.xml b/disks/pc/apps/microsoft/word/3.1/manifest.xml index 2d2834911..0420f6e87 100644 --- a/disks/pc/apps/microsoft/word/3.1/manifest.xml +++ b/disks/pc/apps/microsoft/word/3.1/manifest.xml @@ -1,5 +1,5 @@ - + MS Word 3.1 diff --git a/disks/pc/apps/microsoft/word/5.0/manifest.xml b/disks/pc/apps/microsoft/word/5.0/manifest.xml index c5a8bbaff..5637d8c16 100644 --- a/disks/pc/apps/microsoft/word/5.0/manifest.xml +++ b/disks/pc/apps/microsoft/word/5.0/manifest.xml @@ -1,5 +1,5 @@ - + MS Word 5.0 diff --git a/disks/pc/cpm/machine.xml b/disks/pc/cpm/machine.xml index b8500ab7c..75f7e28d7 100644 --- a/disks/pc/cpm/machine.xml +++ b/disks/pc/cpm/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150) running CP/M-86 diff --git a/disks/pc/cpm/manifest.xml b/disks/pc/cpm/manifest.xml index 5331c3f94..c6baee4db 100644 --- a/disks/pc/cpm/manifest.xml +++ b/disks/pc/cpm/manifest.xml @@ -1,5 +1,5 @@ - + CP/M-86 1.1B diff --git a/disks/pc/diags/ibm/2.20/machine.xml b/disks/pc/diags/ibm/2.20/machine.xml index f55945176..cff0caabe 100644 --- a/disks/pc/diags/ibm/2.20/machine.xml +++ b/disks/pc/diags/ibm/2.20/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150) running IBM Advanced Diagnostics 2.20 diff --git a/disks/pc/diags/ibm/2.20/manifest.xml b/disks/pc/diags/ibm/2.20/manifest.xml index 7600cd8cc..cfaf223f2 100644 --- a/disks/pc/diags/ibm/2.20/manifest.xml +++ b/disks/pc/diags/ibm/2.20/manifest.xml @@ -1,5 +1,5 @@ - + IBM Advanced Diagnostics 2.20 diff --git a/disks/pc/dos/compaq/3.10/manifest.xml b/disks/pc/dos/compaq/3.10/manifest.xml index 67325264e..f4a7dc14e 100644 --- a/disks/pc/dos/compaq/3.10/manifest.xml +++ b/disks/pc/dos/compaq/3.10/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 3.10 diff --git a/disks/pc/dos/compaq/3.31/manifest.xml b/disks/pc/dos/compaq/3.31/manifest.xml index 3b457bc07..b9670a71c 100644 --- a/disks/pc/dos/compaq/3.31/manifest.xml +++ b/disks/pc/dos/compaq/3.31/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 3.31 diff --git a/disks/pc/dos/ibm/1.00/manifest.xml b/disks/pc/dos/ibm/1.00/manifest.xml index e21eecaf3..b21437023 100644 --- a/disks/pc/dos/ibm/1.00/manifest.xml +++ b/disks/pc/dos/ibm/1.00/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 1.00 diff --git a/disks/pc/dos/ibm/1.10/manifest.xml b/disks/pc/dos/ibm/1.10/manifest.xml index d7a369dea..686bd8592 100644 --- a/disks/pc/dos/ibm/1.10/manifest.xml +++ b/disks/pc/dos/ibm/1.10/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 1.10 diff --git a/disks/pc/dos/ibm/2.00/manifest.xml b/disks/pc/dos/ibm/2.00/manifest.xml index 7cf5cf2ed..90e83ef1d 100644 --- a/disks/pc/dos/ibm/2.00/manifest.xml +++ b/disks/pc/dos/ibm/2.00/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 2.00 diff --git a/disks/pc/dos/ibm/2.10/manifest.xml b/disks/pc/dos/ibm/2.10/manifest.xml index 7e7996075..c552c60bc 100644 --- a/disks/pc/dos/ibm/2.10/manifest.xml +++ b/disks/pc/dos/ibm/2.10/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 2.10 diff --git a/disks/pc/dos/ibm/3.00/manifest.xml b/disks/pc/dos/ibm/3.00/manifest.xml index 927ab143f..8829df018 100644 --- a/disks/pc/dos/ibm/3.00/manifest.xml +++ b/disks/pc/dos/ibm/3.00/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 3.00 diff --git a/disks/pc/dos/ibm/3.10/manifest.xml b/disks/pc/dos/ibm/3.10/manifest.xml index 6edeec9e5..e114eb20f 100644 --- a/disks/pc/dos/ibm/3.10/manifest.xml +++ b/disks/pc/dos/ibm/3.10/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 3.10 diff --git a/disks/pc/dos/ibm/3.20/manifest.xml b/disks/pc/dos/ibm/3.20/manifest.xml index 85f2fe04d..ef71eec09 100644 --- a/disks/pc/dos/ibm/3.20/manifest.xml +++ b/disks/pc/dos/ibm/3.20/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 3.20 diff --git a/disks/pc/dos/ibm/3.30/manifest.xml b/disks/pc/dos/ibm/3.30/manifest.xml index f5b18696e..03b9d094a 100644 --- a/disks/pc/dos/ibm/3.30/manifest.xml +++ b/disks/pc/dos/ibm/3.30/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 3.30 diff --git a/disks/pc/dos/ibm/4.00/manifest.xml b/disks/pc/dos/ibm/4.00/manifest.xml index 1d6634e72..6a854f308 100644 --- a/disks/pc/dos/ibm/4.00/manifest.xml +++ b/disks/pc/dos/ibm/4.00/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 4.00 diff --git a/disks/pc/dos/ibm/5.00/manifest.xml b/disks/pc/dos/ibm/5.00/manifest.xml index 47937d7de..978c3c4a8 100644 --- a/disks/pc/dos/ibm/5.00/manifest.xml +++ b/disks/pc/dos/ibm/5.00/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 5.00 diff --git a/disks/pc/dos/ibm/6.10/manifest.xml b/disks/pc/dos/ibm/6.10/manifest.xml index f71eb27aa..84c027f3c 100644 --- a/disks/pc/dos/ibm/6.10/manifest.xml +++ b/disks/pc/dos/ibm/6.10/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 6.10 diff --git a/disks/pc/dos/ibm/7.00/manifest.xml b/disks/pc/dos/ibm/7.00/manifest.xml index 5216bb03a..e9ae9231a 100644 --- a/disks/pc/dos/ibm/7.00/manifest.xml +++ b/disks/pc/dos/ibm/7.00/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 7.00 diff --git a/disks/pc/dos/microsoft/3.20/manifest.xml b/disks/pc/dos/microsoft/3.20/manifest.xml index 2c26b27b3..052f442b3 100644 --- a/disks/pc/dos/microsoft/3.20/manifest.xml +++ b/disks/pc/dos/microsoft/3.20/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 3.20 diff --git a/disks/pc/dos/microsoft/3.30/manifest.xml b/disks/pc/dos/microsoft/3.30/manifest.xml index 68959416d..116d35928 100644 --- a/disks/pc/dos/microsoft/3.30/manifest.xml +++ b/disks/pc/dos/microsoft/3.30/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 3.30 diff --git a/disks/pc/dos/microsoft/4.01/manifest.xml b/disks/pc/dos/microsoft/4.01/manifest.xml index a30b357f9..2f7247ec2 100644 --- a/disks/pc/dos/microsoft/4.01/manifest.xml +++ b/disks/pc/dos/microsoft/4.01/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 4.01 diff --git a/disks/pc/dos/microsoft/4.0M/manifest.xml b/disks/pc/dos/microsoft/4.0M/manifest.xml index 76e546e7d..620262b48 100644 --- a/disks/pc/dos/microsoft/4.0M/manifest.xml +++ b/disks/pc/dos/microsoft/4.0M/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 4.0M diff --git a/disks/pc/games/infocom/hhiker/manifest.xml b/disks/pc/games/infocom/hhiker/manifest.xml index ccace23b5..ccb446ec7 100644 --- a/disks/pc/games/infocom/hhiker/manifest.xml +++ b/disks/pc/games/infocom/hhiker/manifest.xml @@ -1,5 +1,5 @@ - + The Hitchhiker's Guide to the Galaxy diff --git a/disks/pc/games/infocom/machine-debug.xml b/disks/pc/games/infocom/machine-debug.xml index 4849d0d4d..46125ad3b 100644 --- a/disks/pc/games/infocom/machine-debug.xml +++ b/disks/pc/games/infocom/machine-debug.xml @@ -1,5 +1,5 @@ - + IBM PC Model 5150 (CGA, 64K) diff --git a/disks/pc/games/infocom/machine.xml b/disks/pc/games/infocom/machine.xml index a0d752ecf..df60afd2b 100644 --- a/disks/pc/games/infocom/machine.xml +++ b/disks/pc/games/infocom/machine.xml @@ -1,5 +1,5 @@ - + IBM PC Model 5150 (CGA, 64K) diff --git a/disks/pc/games/infocom/planet/manifest.xml b/disks/pc/games/infocom/planet/manifest.xml index 697397670..ca89f6e7b 100644 --- a/disks/pc/games/infocom/planet/manifest.xml +++ b/disks/pc/games/infocom/planet/manifest.xml @@ -1,5 +1,5 @@ - + Planetfall diff --git a/disks/pc/games/infocom/zork1/debugger/machine.xml b/disks/pc/games/infocom/zork1/debugger/machine.xml index e89472e7e..9e020e910 100644 --- a/disks/pc/games/infocom/zork1/debugger/machine.xml +++ b/disks/pc/games/infocom/zork1/debugger/machine.xml @@ -1,5 +1,5 @@ - + Zork I (IBM PC Model 5150) diff --git a/disks/pc/games/infocom/zork1/manifest.xml b/disks/pc/games/infocom/zork1/manifest.xml index 940ad00c4..b9014736a 100644 --- a/disks/pc/games/infocom/zork1/manifest.xml +++ b/disks/pc/games/infocom/zork1/manifest.xml @@ -1,5 +1,5 @@ - + Zork I diff --git a/disks/pc/games/infocom/zork2/manifest.xml b/disks/pc/games/infocom/zork2/manifest.xml index f27d66176..04499c04c 100644 --- a/disks/pc/games/infocom/zork2/manifest.xml +++ b/disks/pc/games/infocom/zork2/manifest.xml @@ -1,5 +1,5 @@ - + Zork II diff --git a/disks/pc/games/infocom/zork3/manifest.xml b/disks/pc/games/infocom/zork3/manifest.xml index d931fcd3b..c0f4ce68b 100644 --- a/disks/pc/games/infocom/zork3/manifest.xml +++ b/disks/pc/games/infocom/zork3/manifest.xml @@ -1,5 +1,5 @@ - + Zork III diff --git a/disks/pc/games/microsoft/adventure/machine.xml b/disks/pc/games/microsoft/adventure/machine.xml index a84e6a4ed..167fab502 100644 --- a/disks/pc/games/microsoft/adventure/machine.xml +++ b/disks/pc/games/microsoft/adventure/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150) running Microsoft Adventure diff --git a/disks/pc/games/microsoft/adventure/manifest.xml b/disks/pc/games/microsoft/adventure/manifest.xml index dfd785be1..e1fc9aa1d 100644 --- a/disks/pc/games/microsoft/adventure/manifest.xml +++ b/disks/pc/games/microsoft/adventure/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Adventure 1.00 diff --git a/disks/pc/games/microsoft/flightsim/manifest.xml b/disks/pc/games/microsoft/flightsim/manifest.xml index 1249c435d..bc270573f 100644 --- a/disks/pc/games/microsoft/flightsim/manifest.xml +++ b/disks/pc/games/microsoft/flightsim/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Flight Simulator diff --git a/disks/pc/minix/1.1/manifest.xml b/disks/pc/minix/1.1/manifest.xml index 8e3ea04ef..3ca40d2c2 100644 --- a/disks/pc/minix/1.1/manifest.xml +++ b/disks/pc/minix/1.1/manifest.xml @@ -1,5 +1,5 @@ - + MINIX 1.1 diff --git a/disks/pc/os2/ibm/1.0/machine.xml b/disks/pc/os2/ibm/1.0/machine.xml index 274a0ce14..79f89d595 100644 --- a/disks/pc/os2/ibm/1.0/machine.xml +++ b/disks/pc/os2/ibm/1.0/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz), 128Kb EGA, 1152Kb RAM, 20Mb Hard Disk diff --git a/disks/pc/os2/ibm/1.0/manifest.xml b/disks/pc/os2/ibm/1.0/manifest.xml index dd2e0e675..4cf4eaf92 100644 --- a/disks/pc/os2/ibm/1.0/manifest.xml +++ b/disks/pc/os2/ibm/1.0/manifest.xml @@ -1,5 +1,5 @@ - + IBM OS/2 1.0 diff --git a/disks/pc/os2/ibm/1.1/manifest.xml b/disks/pc/os2/ibm/1.1/manifest.xml index f0a7c1f5f..bacfa8046 100644 --- a/disks/pc/os2/ibm/1.1/manifest.xml +++ b/disks/pc/os2/ibm/1.1/manifest.xml @@ -1,5 +1,5 @@ - + IBM OS/2 1.1 diff --git a/disks/pc/os2/ibm/1.3/manifest.xml b/disks/pc/os2/ibm/1.3/manifest.xml index 22fd9bd2e..ddfe65088 100644 --- a/disks/pc/os2/ibm/1.3/manifest.xml +++ b/disks/pc/os2/ibm/1.3/manifest.xml @@ -1,5 +1,5 @@ - + IBM OS/2 1.3 diff --git a/disks/pc/os2/misc/1.0/debugger/machine.xml b/disks/pc/os2/misc/1.0/debugger/machine.xml index 1cd8ed763..a9b9b21a3 100644 --- a/disks/pc/os2/misc/1.0/debugger/machine.xml +++ b/disks/pc/os2/misc/1.0/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz), 128Kb EGA, 1152Kb RAM, 20Mb Hard Disk diff --git a/disks/pc/os2/misc/manifest.xml b/disks/pc/os2/misc/manifest.xml index 0731235a8..91fec760e 100644 --- a/disks/pc/os2/misc/manifest.xml +++ b/disks/pc/os2/misc/manifest.xml @@ -1,5 +1,5 @@ - + OS/2 Miscellaneous Disks diff --git a/disks/pc/tools/borland/pascal/3.0/manifest.xml b/disks/pc/tools/borland/pascal/3.0/manifest.xml index c0df338a1..09ce16549 100644 --- a/disks/pc/tools/borland/pascal/3.0/manifest.xml +++ b/disks/pc/tools/borland/pascal/3.0/manifest.xml @@ -1,5 +1,5 @@ - + Turbo Pascal diff --git a/disks/pc/tools/microsoft/basic/manifest.xml b/disks/pc/tools/microsoft/basic/manifest.xml index cf9441d14..f340aeb2b 100644 --- a/disks/pc/tools/microsoft/basic/manifest.xml +++ b/disks/pc/tools/microsoft/basic/manifest.xml @@ -1,5 +1,5 @@ - + MS BASIC diff --git a/disks/pc/tools/microsoft/c/4.00/manifest.xml b/disks/pc/tools/microsoft/c/4.00/manifest.xml index f2be0b8e2..ea5440c25 100644 --- a/disks/pc/tools/microsoft/c/4.00/manifest.xml +++ b/disks/pc/tools/microsoft/c/4.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft C Compiler 4.00 diff --git a/disks/pc/tools/microsoft/masm/4.00/manifest.xml b/disks/pc/tools/microsoft/masm/4.00/manifest.xml index ab60ce370..6d5588ff4 100644 --- a/disks/pc/tools/microsoft/masm/4.00/manifest.xml +++ b/disks/pc/tools/microsoft/masm/4.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Macro Assember Tool diff --git a/disks/pc/tools/microsoft/mouse/5.00/manifest.xml b/disks/pc/tools/microsoft/mouse/5.00/manifest.xml index c5bd1b1e1..35ca98241 100644 --- a/disks/pc/tools/microsoft/mouse/5.00/manifest.xml +++ b/disks/pc/tools/microsoft/mouse/5.00/manifest.xml @@ -1,5 +1,5 @@ - + MS Mouse 5.00 diff --git a/disks/pc/tools/microsoft/winsdk/1.01/manifest.xml b/disks/pc/tools/microsoft/winsdk/1.01/manifest.xml index 703f09503..67a421511 100644 --- a/disks/pc/tools/microsoft/winsdk/1.01/manifest.xml +++ b/disks/pc/tools/microsoft/winsdk/1.01/manifest.xml @@ -1,5 +1,5 @@ - + Windows 1.01 SDK diff --git a/disks/pc/tools/microsoft/winsdk/1.04/manifest.xml b/disks/pc/tools/microsoft/winsdk/1.04/manifest.xml index dee2d91be..73193b061 100644 --- a/disks/pc/tools/microsoft/winsdk/1.04/manifest.xml +++ b/disks/pc/tools/microsoft/winsdk/1.04/manifest.xml @@ -1,5 +1,5 @@ - + Windows 1.04 SDK os2museum.com diff --git a/disks/pc/tools/microsoft/winsdk/2.03/manifest.xml b/disks/pc/tools/microsoft/winsdk/2.03/manifest.xml index a195bede7..11544f4a5 100644 --- a/disks/pc/tools/microsoft/winsdk/2.03/manifest.xml +++ b/disks/pc/tools/microsoft/winsdk/2.03/manifest.xml @@ -1,5 +1,5 @@ - + Windows 2.03 SDK os2museum.com diff --git a/disks/pc/win/win101/manifest.xml b/disks/pc/win/win101/manifest.xml index 479e4b969..9f63d15cb 100644 --- a/disks/pc/win/win101/manifest.xml +++ b/disks/pc/win/win101/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 1.01 diff --git a/disks/pc/win/win103/manifest.xml b/disks/pc/win/win103/manifest.xml index eb879c05d..abd657fc0 100644 --- a/disks/pc/win/win103/manifest.xml +++ b/disks/pc/win/win103/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 1.03 diff --git a/disks/pc/win/win103a/manifest.xml b/disks/pc/win/win103a/manifest.xml index 1c7093f0f..0e67d1365 100644 --- a/disks/pc/win/win103a/manifest.xml +++ b/disks/pc/win/win103a/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 1.03a diff --git a/disks/pc/win/win104/manifest.xml b/disks/pc/win/win104/manifest.xml index 4d0d5743a..afb81b0f9 100644 --- a/disks/pc/win/win104/manifest.xml +++ b/disks/pc/win/win104/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 1.04 os2museum.com diff --git a/disks/pc/win/win203/manifest.xml b/disks/pc/win/win203/manifest.xml index a4b7cc288..769772065 100644 --- a/disks/pc/win/win203/manifest.xml +++ b/disks/pc/win/win203/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 2.03 os2museum.com diff --git a/disks/pc/win/wincomm/manifest.xml b/disks/pc/win/wincomm/manifest.xml index 15b4af3eb..1c07a219e 100644 --- a/disks/pc/win/wincomm/manifest.xml +++ b/disks/pc/win/wincomm/manifest.xml @@ -1,5 +1,5 @@ - + Windows COMM Driver (Source) diff --git a/docs/pcjs/demos/components.xsl b/docs/pcjs/demos/components.xsl index d7a68ec2c..af447b16f 100644 --- a/docs/pcjs/demos/components.xsl +++ b/docs/pcjs/demos/components.xsl @@ -8,7 +8,7 @@ pc pcjs - 1.16.3 + 1.16.4 www.pcjs.org diff --git a/docs/pcjs/demos/pc-dbg.js b/docs/pcjs/demos/pc-dbg.js index 0b9315b82..09c94a0f4 100644 --- a/docs/pcjs/demos/pc-dbg.js +++ b/docs/pcjs/demos/pc-dbg.js @@ -1,132 +1,133 @@ -(function(){var k,aa,m,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]}; +(function(){var k,ba,m,ca={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]}; function da(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;(b&&10!=b?16==b?null!==d.match(/^[0-9a-f]+$/i):1:null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e)}return c} 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 p(a,2)}function r(a){return p(a,4)}function ea(a,b){return void 0!==b?r(b)+":"+r(a):p(a)}function fa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));b&&(d=c.lastIndexOf("."),0":">",'"':""","'":"'"};function ia(a){return a.replace(/[&<>"']/g,function(a){return ha[a]})}function ja(a,b){var c="",d;for(d in a)d=d.replace(/([\\[\]*{}().+?])/g,"\\$1"),c+=(c?"|":"")+d;return b.replace(new RegExp("("+c+")","g"),function(b){return a[b]})}function la(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")} -function ma(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]);0c&&a.splice(-(c+1),0,b)}function oa(){return Date.now()||+new Date}function pa(){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 ga(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}var ha={"&":"&","<":"<",">":">",'"':""","'":"'"};function ja(a){return a.replace(/[&<>"']/g,function(a){return ha[a]})}function ka(a,b){var c="",d;for(d in a)d=d.replace(/([\\[\]*{}().+?])/g,"\\$1"),c+=(c?"|":"")+d;return b.replace(new RegExp("("+c+")","g"),function(b){return a[b]})}function la(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")} +function ma(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]);0c&&a.splice(-(c+1),0,b)}function pa(){return Date.now()||+new Date}function qa(){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 ra=[31,28,31,30,31,30,31,31,30,31,30,31]; function sa(a,b,c,d,e,f){b=!!b;var g=0,h=null,n=fa(a),l=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");b&&(l.onreadystatechange=function(){4===l.readyState&&(h=l.responseText,200==l.status||!l.status&&h.length&&"file:"==(window?window.location.protocol:"file:")||(g=l.status||-1),e&&(d?e.call(d,n,h,g,f):e(n,h,g,f)))});if(c){var t="",s;for(s in c)c.hasOwnProperty(s)&&(t&&(t+="&"),t+=s+"="+encodeURIComponent(c[s]));t=t.replace(/%20/g,"+");l.open("POST", a,b);l.setRequestHeader("Content-type","application/x-www-form-urlencoded");l.send(t)}else l.open("GET",a,b),l.send();a=[];b||(h=l.responseText,200!=l.status&&(g=l.status||-1),e&&(d?e.call(d,n,h,g,f):e(n,h,g,f)),a=[g,h]);return a}function ta(){return"http://"+(window?window.location.host:"www.pcjs.org")}function w(a){window&&window.alert(a)}function ua(a){var b=!1;window&&(b=window.confirm(a));return b}var va=null; -function wa(){if(null==va){var a;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}va=a}return va}function xa(a){var b;try{b=window.localStorage.getItem(a)}catch(c){}return b}function ya(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1} -function za(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 Aa(a,b,c){function d(){a-=1;0<=a&&(b()||(a=0));0=this.Bf?12:14;this.nc=1<>2;this.pb=this.nc-1;this.lh=(this.Xf+this.nc)/this.nc|0;this.Ie=this.lh-1;this.yd=[];this.zd=[];this.ng=this.og=!1;this.Xi();B(this)}Ua(y,kb); -kb.prototype.Xi=function(){this.Ha=Array(this.lh);for(var a=0;a>a.Eb;0>this.Eb;0>a.Eb;0>a.Eb].Kg(b&a.pb)} -function sb(a,b){var c=b&a.pb,d=(b&a.ld)>>a.Eb;return c!=a.pb?a.Ha[d].Yj(c):a.Ha[d++].Kg(c)|a.Ha[d&a.Ie].Kg(0)<<8}function tb(a,b,c){a.Ha[(b&a.ld)>>a.Eb].Qg(b&a.pb,c&255)}function ub(a,b,c){var d=b&a.pb;b=(b&a.ld)>>a.Eb;d!=a.pb?a.Ha[b].hk(d,c&65535):(a.Ha[b++].Qg(d,c&255),a.Ha[b&a.Ie].Qg(0,c>>8&255))} -function vb(a){for(var b=0,c=[],d=0;d>2);for(d=0;d>2]>>>((a&3)<<3)&255},xp:function(a){var b=a>>2;a=(a&3)<<3;var c=this.ya[b]>>>a;return 24>a?c&65535:c&255|(this.ya[b+1]&255)<<8},Hp:function(a,b){var c=a>>2,d=(a&3)<<3;this.ya[c]=this.ya[c]&~(255<>2,d=(a&3)<<3;24>d?this.ya[c]=this.ya[c]&~(65535<>8);this.wb=!0},up:function(a){Gb(this.ka,this.ae+a);return this.Kg(a)},wp:function(a){Gb(this.ka,this.ae+a)||Gb(this.ka,this.ae+a+1);return this.Yj(a)},Gp:function(a,b){Hb(this.ka,this.ae+a);this.Qg(a,b)},Ip:function(a,b){Hb(this.ka,this.ae+a)||Hb(this.ka,this.ae+a+1);this.hk(a,b)},save:function(){return this.ga?null:this.ya}, -restore:function(a){return this.ga?null==a:a&&this.Km==a.length<<2?(this.ya=a,this.wb=!0):!1},bf:function(a,b){a||(a=[]);void 0===b&&(b=!0);Ib(this,a,b);Jb(this,a,b)},$d:function(a,b){b?0===this.Ck++&&Jb(this,Kb):0===this.Ak++&&Ib(this,Kb)}};function Lb(a,b){b?0===--a.Ck&&(a.Nc=a.Bh?a.Pf:a.Qg,a.ym=a.Bh?a.Pf:a.hk):0===--a.Ak&&(a.zc=a.Kg,a.km=a.Yj)}function lb(a,b,c,d,e){a.T=b;a.ka=c;a.ae=d;a.Ak=a.Ck=0;a.ka&&Mb(a.ka,d,e)} -function Jb(a,b,c){a.Nc=b[2]&&!a.Bh?b[2]:a.Pf;a.ym=b[3]&&!a.Bh?b[3]:a.Pf;c&&(a.Qg=b[2]?b[2]:a.Pf,a.hk=b[3]?b[3]:a.Pf)}function Ib(a,b,c){a.zc=b[0]?b[0]:a.Xh;a.km=b[1]?b[1]:a.Xh;c&&(a.Kg=b[0]?b[0]:a.Xh,a.Yj=b[1]?b[1]:a.Xh)}var Eb=[mb.prototype.vp,mb.prototype.xp,mb.prototype.Hp,mb.prototype.Jp],Kb=[mb.prototype.up,mb.prototype.wp,mb.prototype.Gp,mb.prototype.Ip]; -function Nb(a,b){y.call(this,"CPU",a,Nb,Ob);var c=a.cycles||b,d=a.multiplier||1;this.da={};this.da.sd=c;this.da.Od=d;this.da.Jh=Math.round(this.da.sd/1E4)/100;this.da.Ue=this.da.Jh*this.da.Od;this.na.Sb=!1;this.na.lb=!1;this.na.Oi=!1;this.na.Gi=a.autoStart;this.na.Lk=!1;c=Pa.autostart;void 0!==c&&(this.na.Gi="true"==c?!0:"false"==c?!1:null);this.na.sf=!1;this.da.rg=this.da.Df=0;this.da.sg=a.csStart;this.da.Cf=a.csInterval;this.da.Ef=a.csStop;var e=this;this.vo=function(){e.Ze()};B(this)}Ua(y,Nb); -k=Nb.prototype;k.wc=function(a,b,c,d){this.sa=b;this.ka=d;this.Ma=a;var e=ib(a,"Video");e&&(this.Di=function(){Pb(e)},this.Mc=function(){e.Mc()});this.oa=ib(a,"ChipSet");B(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.fc=function(a,b){if(!b){if(a&&this.restore){Qb(this);if(!this.restore(a))return!1;Rb(this)}else this.reset();this.ka?this.ka.ao():this.Z("No debugger detected")}this.na.Sb=!0;!Sb(this)&&this.ka&&Tb(this.ka);Ub(this);return!0}; -k.ec=function(a){this.na.Sb=!1;return a&&this.save?this.save():!0};function Sb(a){return!0===a.na.Gi||null===a.na.Gi&&!a.ka&&void 0===a.xa.run?(a.Ze(),!0):!1}k.Mc=function(){};k.Tk=function(){return 0};function Rb(a){void 0===a.da.sg&&(a.da.sg=0);void 0===a.da.Cf&&(a.da.Cf=-1);void 0===a.da.Ef&&(a.da.Ef=-1);a.na.sf=0<=a.da.sg&&0=a.da.Df&&(a.da.Df+=a.da.Cf,c=!0);0<=a.da.Ef&&a.da.Ef<=D(a)&&(a.da.Cf=a.da.Ef=-1,Rb(a),a.Ib(),c=!0);c&&a.Z(D(a)+" cycles: checksum="+p(a.da.rg))}}function F(a,b,c,d){a.xa[b]&&(void 0===d&&(d=4),void 0===c&&(gb(a,"Register "+b+" is invalid"),a.Ib()),c=!a.na.lb||a.na.Lk?p(c,d):"----".substr(0,d),a.xa[b].textContent!=c&&(a.xa[b].textContent=c))}k.sh=function(){};k.Di=function(){}; -k.Hb=function(a,b,c){var d=this;a=!1;switch(b){case "run":this.xa[b]=c;c.onclick=function(){d.na.lb?d.Ib(!0):d.Ze(!0)};a=!0;break;case "reset":this.xa[b]=c;c.onclick=function(){d.Ma&&Xb(d.Ma)};a=!0;break;case "speed":this.xa[b]=c;a=!0;break;case "setSpeed":this.xa[b]=c,c.onclick=function(){Yb(d,d.da.Od<<1,!0)},c.textContent=this.da.Ue.toFixed(2)+"Mhz",a=!0}return a};function Zb(a,b){if(a.na.lb){var c=a.A-b;a.A-=c;a.Vc-=c}}function $b(a,b,c){a.Ye+=b;c&&(a.Vc=a.A=0)} -function ac(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1a.da.Jh&&(c=Math.round(c/a.da.Od));return c}function Qb(a){a.da.oe=0;a.Ye=a.se=a.Vc=a.A=0;Rb(a);Yb(a,1)} -function Yb(a,b,c){if(void 0!==b){0.8>a.da.oe/a.da.Ue&&(b=1);a.da.Od=b;b=a.da.Jh*a.da.Od;if(a.da.Ue!=b){a.da.Ue=b;b=a.da.Ue.toFixed(2)+"Mhz";var d=a.xa.setSpeed;d&&(d.textContent=b);a.Z("target speed: "+b)}c&&a.Mc()}$b(a,a.se);a.se=0;a.da.Af=oa();a.da.Ve=0;ac(a)} -k.Ze=function(a){if(db(this,!0)){if(!this.na.lb){Yb(this);this.Ma&&this.Ma.start(this.da.Af,D(this));this.na.lb=!0;this.na.Oi=!0;this.oa&&bc(this.oa);var b=this.xa.run;b&&(b.textContent="Halt");this.sh(!0);a&&this.Mc()}this.da.dj>=this.da.sd&&ac(this,!0);this.da.vg=0;this.da.Kh=oa();this.da.Ve&&(a=this.da.Kh-this.da.Ve,a>this.da.al&&(this.da.Af+=a,this.da.Af>this.da.Kh&&(this.da.Af=this.da.Kh)));try{do{var c=this.na.sf?1:this.da.po;if(this.oa){cc(this.oa);var d=this.oa;a=c;var e=d.Kb[0];if(e.Se){var f= -(D(d.T,d.ke)-e.jd)/d.Th|0,g=dc(d,0)-f;6==e.mode&&(g-=f);var h=g*d.Th|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,n=this.oa;a=c;if(n.ma&&n.ma[11]&64){var l=n.If-D(n.T,n.ke);0l&&(a=l)}c=a}this.Of(c);var t=this.Vc-this.A;this.se+=t;this.da.vg+=t;$b(this,0,!0);Vb(this,t);this.da.ug-=t;0>=this.da.ug&&(this.da.ug+=this.da.el,this.Di());this.da.tg-=t;0>=this.da.tg&&(this.da.tg+=this.da.dl,this.sh());this.da.Ff-=t;if(0>=this.da.Ff){this.da.Ff+=this.da.cj;break}}while(this.na.lb)}catch(s){this.Ib();Ub(this); -this.Ma&&this.Ma.stop(oa(),D(this));db(this,!1);gb(this,s.message);return}c=setTimeout;d=this.vo;this.da.Ve=oa();e=this.da.al;this.da.vg&&(e=Math.round(e*this.da.vg/this.da.cj));e-=this.da.Ve-this.da.Kh;if(f=this.da.Ve-this.da.Af)this.da.oe=Math.round(this.se/(10*f))/100,864E5<=f&&(this.Ye=0,this.oa&&cc(this.oa,!0),Yb(this));if(0>e||this.da.oethis.pc?this.Ga+a:sc.call(this,0,0,c)}function sc(a,b,c){c||lc.call(this.T,13,0);return-4} -function vc(a,b,c){return a+b<=this.pc?this.Ga+a:wc.call(this,0,0,c)}function xc(a,b,c){return a+b>this.pc?this.Ga+a:wc.call(this,0,0,c)}function wc(a,b,c){c||lc.call(this.T,13,0);return-4} -function yc(a,b){var c=this.T,d=c.gb.Ga,e=this.bb,f=c.gb.ta;if(!b){if(768!=c.gb.type)return lc.call(c,10,a,!0),!1;c.Ua(c.gb.Bd+4,c.gb.nb&-769|256)}if(-4==c.gb.load(a))return!1;var g=c.gb.Ga;if(b){if(768==c.gb.type)return lc.call(c,13,a,!0),!1;c.Ua(c.gb.Bd+4,c.gb.nb|=768);c.gb.type=768}c.Ua(d+14,c.wa);c.Ua(d+16,zc(c));c.Ua(d+18,c.H);c.Ua(d+20,c.J);c.Ua(d+22,c.K);c.Ua(d+24,c.C);c.Ua(d+26,c.Y);c.Ua(d+28,c.I);c.Ua(d+30,c.G);c.Ua(d+32,c.F);c.Ua(d+34,c.La.ta);c.Ua(d+36,c.va.ta);c.Ua(d+38,c.Ya.ta);c.Ua(d+ -40,c.fb.ta);var d=38,h=26;Ac(c,c.ra(g+16)|(b?16384:0));c.H=c.ra(g+18);c.J=c.ra(g+20);c.K=c.ra(g+22);c.C=c.ra(g+24);c.I=c.ra(g+28);c.G=c.ra(g+30);c.F=c.ra(g+32);c.La.load(c.ra(g+34));c.fb.load(c.ra(g+40));Bc(c,c.ra(g+14),c.ra(g+36));this.bb>13;if(6144<=h){x=c&3;if(x>a.bb){if(!1!==l&&!(v==a.bb||g&1024&&v<=a.bb)){n=-4;break}s=e.Pa();e.Ya.load(e.Pa());e.Y=s;a.Eh=!0}s=!1}else if(1024==h)s=!0,u=-1,t=c,xh||2048==(h&2560))){d||lc.call(e,13,c,!!g);n=-4;break}}else if(3==a.id){if(!l||4096>h||2048==(h&2560)){d|| -lc.call(e,13,c,!0);n=-4;break}}else if(4==a.id){if(!l||256!=h&&768!=h){d||lc.call(e,10,c,!0);n=-4;break}}else if(6==a.id&&!(g&4096)&&768>13}else a.load=ic,a.$k=mc,a.Ic=oc,a.$b=pc,a.pc=65535,a.bb=a.oc=0,a.Bd=-4} -function Dc(a){this.Ka=a.model||8088;var b=0;switch(this.Ka){default:case 8088:b=4772727;break;case 80286:b=6E6}Nb.call(this,a,b);this.mk=61442;this.Ug=1792;this.Tg=4;this.Jf=255;this.B=80286<=this.Ka?Ec:Fc;this.Za=Gc.slice();this.Fm=Hc.slice();this.Gm=Ic.slice();this.pk=Jc;80186<=this.Ka&&(this.Jf=31,this.Za[15]=Kc,this.Za[96]=Oc,this.Za[97]=Pc,this.Za[98]=Qc,this.Za[99]=Kc,this.Za[100]=Kc,this.Za[101]=Kc,this.Za[102]=Kc,this.Za[103]=Kc,this.Za[104]=Rc,this.Za[105]=Tc,this.Za[106]=Uc,this.Za[107]= -Vc,this.Za[108]=Wc,this.Za[109]=Xc,this.Za[110]=Yc,this.Za[111]=Zc,this.Za[192]=$c,this.Za[193]=ad,this.Za[200]=bd,this.Za[201]=cd,this.Za[241]=dd,this.Fm[7]=ed,this.Gm[7]=ed,80286<=this.Ka&&(this.mk=2,this.Ug|=28672,this.Tg=0,this.Za[15]=fd,this.Za[99]=gd,this.Za[84]=hd));this.Wg=[];this.Xg=[];this.Vc=this.oh=0;this.na.kg=this.na.Jk=!1;this.Ha=[];this.Ee=this.Eb=this.pb=this.Ie=0;this.U=this.$m;this.V=this.an;this.O=this.ho;this.P=this.io;this.R=this.Dp;this.S=this.Ep;id(this)}Ua(Nb,Dc); +b,c){this.Z(a,"notice",c)}),!0;default:return!1}},log:function(){},Z:function(){},status:function(a){this.Z(this.Hh+": "+a)},Ia:function(a,b){b||w(a)},fc:function(){return this.ma.Sb=!0},ec:function(a,b){b&&(this.ma.Sb=!1);return!0},ua:function(a){if(this.ka){a=this===this.ka?a|0:a||this.Zb;var b=this.ka.Zb&a;return b===a||!!(b&this.ka.Im)}return!1},cb:function(a,b,c){return this.ka?((!0===b||this.ua(b|0))&&this.ka.message(a,c),!0):!1}}; +function B(a,b,c,d,e,f,g){a.ka&&(!0===g?g=0:null==g&&(g=a.Zb),bb(a.ka,a,b,c,d,e,f,g))}function cb(a,b){if(a.ma.Hi)return a.ma.Kc&&(a.ma.Kc=!1),a.ma.Hi=!1;if(a.ma.fd)return a.Z(a.toString()+" error"),!1;a.ma.Kc=b;return a.ma.Kc}function db(a,b){a.ma.Kc&&(b?a.ma.Hi=!0:void 0===b&&a.Z(a.toString()+" busy"));return a.ma.Kc}function D(a,b){if(!a.ma.fd&&(a.ma.Ch=!1!==b,a.ma.Ch)){a.name&&a.log("ready");var c=a.Ri;a.Ri=null;c&&c()}}function eb(a,b){b&&(a.ma.Ch?b():a.Ri=b);return a.ma.Ch} +function fb(a,b){a.ma.fd=!0;a.Ia("Fatal error: "+b)}function gb(a){y.call(this,"Panel",a,gb)}Wa(y,gb);gb.prototype.Hb=function(a,b,c){return this.Ma&&this.Ma.Hb(a,b,c)||this.T&&this.T.Hb(a,b,c)||this.Oa&&this.Oa.Hb(a,b,c)||this.ka&&this.ka.Hb(a,b,c)?!0:y.prototype.Hb.call(this,a,b,c)};gb.prototype.wc=function(a,b,c,d){this.Ma=a;this.T=c;this.ka=d;this.Oa=hb(a,"Keyboard")};gb.prototype.fc=function(a,b){b||ib();return!0};gb.prototype.ec=function(){return!0}; +function ib(){for(var a=!1,b=A(window.document,"pcjs","panel"),c=0;c=this.Bf?12:14;this.nc=1<>2;this.rb=this.nc-1;this.lh=(this.Xf+this.nc)/this.nc|0;this.Ie=this.lh-1;this.yd=[];this.zd=[];this.ng=this.og=!1;this.Xi();D(this)}Wa(y,jb); +jb.prototype.Xi=function(){this.Ha=Array(this.lh);for(var a=0;a>a.Eb;0>this.Eb;0>a.Eb;0>a.Eb].Kg(b&a.rb)} +function rb(a,b){var c=b&a.rb,d=(b&a.ld)>>a.Eb;return c!=a.rb?a.Ha[d].Yj(c):a.Ha[d++].Kg(c)|a.Ha[d&a.Ie].Kg(0)<<8}function sb(a,b,c){a.Ha[(b&a.ld)>>a.Eb].Qg(b&a.rb,c&255)}function tb(a,b,c){var d=b&a.rb;b=(b&a.ld)>>a.Eb;d!=a.rb?a.Ha[b].hk(d,c&65535):(a.Ha[b++].Qg(d,c&255),a.Ha[b&a.Ie].Qg(0,c>>8&255))} +function ub(a){for(var b=0,c=[],d=0;d>2);for(d=0;d>2]>>>((a&3)<<3)&255},xp:function(a){var b=a>>2;a=(a&3)<<3;var c=this.ya[b]>>>a;return 24>a?c&65535:c&255|(this.ya[b+1]&255)<<8},Hp:function(a,b){var c=a>>2,d=(a&3)<<3;this.ya[c]=this.ya[c]&~(255<>2,d=(a&3)<<3;24>d?this.ya[c]=this.ya[c]&~(65535<>8);this.wb=!0},up:function(a){Eb(this.ka,this.ae+a);return this.Kg(a)},wp:function(a){Eb(this.ka,this.ae+a)||Eb(this.ka,this.ae+a+1);return this.Yj(a)},Gp:function(a,b){Fb(this.ka,this.ae+a);this.Qg(a,b)},Ip:function(a,b){Fb(this.ka,this.ae+a)||Fb(this.ka,this.ae+a+1);this.hk(a,b)},save:function(){return this.ga?null:this.ya}, +restore:function(a){return this.ga?null==a:a&&this.Km==a.length<<2?(this.ya=a,this.wb=!0):!1},bf:function(a,b){a||(a=[]);void 0===b&&(b=!0);Gb(this,a,b);Hb(this,a,b)},$d:function(a,b){b?0===this.Ck++&&Hb(this,Ib):0===this.Ak++&&Gb(this,Ib)}};function Jb(a,b){b?0===--a.Ck&&(a.Nc=a.Bh?a.Pf:a.Qg,a.ym=a.Bh?a.Pf:a.hk):0===--a.Ak&&(a.zc=a.Kg,a.km=a.Yj)}function kb(a,b,c,d,e){a.T=b;a.ka=c;a.ae=d;a.Ak=a.Ck=0;a.ka&&Kb(a.ka,d,e)} +function Hb(a,b,c){a.Nc=b[2]&&!a.Bh?b[2]:a.Pf;a.ym=b[3]&&!a.Bh?b[3]:a.Pf;c&&(a.Qg=b[2]?b[2]:a.Pf,a.hk=b[3]?b[3]:a.Pf)}function Gb(a,b,c){a.zc=b[0]?b[0]:a.Xh;a.km=b[1]?b[1]:a.Xh;c&&(a.Kg=b[0]?b[0]:a.Xh,a.Yj=b[1]?b[1]:a.Xh)}var Db=[lb.prototype.vp,lb.prototype.xp,lb.prototype.Hp,lb.prototype.Jp],Ib=[lb.prototype.up,lb.prototype.wp,lb.prototype.Gp,lb.prototype.Ip]; +function Lb(a,b){y.call(this,"CPU",a,Lb,1);var c=a.cycles||b,d=a.multiplier||1;this.da={};this.da.sd=c;this.da.Od=d;this.da.Jh=Math.round(this.da.sd/1E4)/100;this.da.Ue=this.da.Jh*this.da.Od;this.ma.Sb=!1;this.ma.lb=!1;this.ma.Oi=!1;this.ma.Gi=a.autoStart;this.ma.Lk=!1;c=Pa.autostart;void 0!==c&&(this.ma.Gi="true"==c?!0:"false"==c?!1:null);this.ma.sf=!1;this.da.rg=this.da.Df=0;this.da.sg=a.csStart;this.da.Cf=a.csInterval;this.da.Ef=a.csStop;var e=this;this.vo=function(){e.Ze()};D(this)}Wa(y,Lb); +k=Lb.prototype;k.wc=function(a,b,c,d){this.sa=b;this.ka=d;this.Ma=a;var e=hb(a,"Video");e&&(this.Di=function(){Mb(e)},this.Mc=function(){e.Mc()});this.oa=hb(a,"ChipSet");D(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.fc=function(a,b){if(!b){if(a&&this.restore){Nb(this);if(!this.restore(a))return!1;Ob(this)}else this.reset();this.ka?this.ka.ao():this.Z("No debugger detected")}this.ma.Sb=!0;!Pb(this)&&this.ka&&Rb(this.ka);Sb(this);return!0}; +k.ec=function(a){this.ma.Sb=!1;return a&&this.save?this.save():!0};function Pb(a){return!0===a.ma.Gi||null===a.ma.Gi&&!a.ka&&void 0===a.xa.run?(a.Ze(),!0):!1}k.Mc=function(){};k.Tk=function(){return 0};function Ob(a){void 0===a.da.sg&&(a.da.sg=0);void 0===a.da.Cf&&(a.da.Cf=-1);void 0===a.da.Ef&&(a.da.Ef=-1);a.ma.sf=0<=a.da.sg&&0=a.da.Df&&(a.da.Df+=a.da.Cf,c=!0);0<=a.da.Ef&&a.da.Ef<=F(a)&&(a.da.Cf=a.da.Ef=-1,Ob(a),a.Ib(),c=!0);c&&a.Z(F(a)+" cycles: checksum="+p(a.da.rg))}}function G(a,b,c,d){a.xa[b]&&(void 0===d&&(d=4),void 0===c&&(fb(a,"Register "+b+" is invalid"),a.Ib()),c=!a.ma.lb||a.ma.Lk?p(c,d):"----".substr(0,d),a.xa[b].textContent!=c&&(a.xa[b].textContent=c))}k.sh=function(){};k.Di=function(){}; +k.Hb=function(a,b,c){var d=this;a=!1;switch(b){case "run":this.xa[b]=c;c.onclick=function(){d.ma.lb?d.Ib(!0):d.Ze(!0)};a=!0;break;case "reset":this.xa[b]=c;c.onclick=function(){d.Ma&&Ub(d.Ma)};a=!0;break;case "speed":this.xa[b]=c;a=!0;break;case "setSpeed":this.xa[b]=c,c.onclick=function(){Vb(d,d.da.Od<<1,!0)},c.textContent=this.da.Ue.toFixed(2)+"Mhz",a=!0}return a};function Wb(a,b){if(a.ma.lb){var c=a.A-b;a.A-=c;a.Vc-=c}}function Xb(a,b,c){a.Ye+=b;c&&(a.Vc=a.A=0)} +function Yb(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1a.da.Jh&&(c=Math.round(c/a.da.Od));return c}function Nb(a){a.da.oe=0;a.Ye=a.se=a.Vc=a.A=0;Ob(a);Vb(a,1)} +function Vb(a,b,c){if(void 0!==b){0.8>a.da.oe/a.da.Ue&&(b=1);a.da.Od=b;b=a.da.Jh*a.da.Od;if(a.da.Ue!=b){a.da.Ue=b;b=a.da.Ue.toFixed(2)+"Mhz";var d=a.xa.setSpeed;d&&(d.textContent=b);a.Z("target speed: "+b)}c&&a.Mc()}Xb(a,a.se);a.se=0;a.da.Af=pa();a.da.Ve=0;Yb(a)} +k.Ze=function(a){if(cb(this,!0)){if(!this.ma.lb){Vb(this);this.Ma&&this.Ma.start(this.da.Af,F(this));this.ma.lb=!0;this.ma.Oi=!0;this.oa&&Zb(this.oa);var b=this.xa.run;b&&(b.textContent="Halt");this.sh(!0);a&&this.Mc()}this.da.dj>=this.da.sd&&Yb(this,!0);this.da.vg=0;this.da.Kh=pa();this.da.Ve&&(a=this.da.Kh-this.da.Ve,a>this.da.al&&(this.da.Af+=a,this.da.Af>this.da.Kh&&(this.da.Af=this.da.Kh)));try{do{var c=this.ma.sf?1:this.da.po;if(this.oa){$b(this.oa);var d=this.oa;a=c;var e=d.Kb[0];if(e.Se){var f= +(F(d.T,d.ke)-e.jd)/d.Th|0,g=ac(d,0)-f;6==e.mode&&(g-=f);var h=g*d.Th|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,n=this.oa;a=c;if(n.na&&n.na[11]&64){var l=n.If-F(n.T,n.ke);0l&&(a=l)}c=a}this.Of(c);var t=this.Vc-this.A;this.se+=t;this.da.vg+=t;Xb(this,0,!0);Tb(this,t);this.da.ug-=t;0>=this.da.ug&&(this.da.ug+=this.da.el,this.Di());this.da.tg-=t;0>=this.da.tg&&(this.da.tg+=this.da.dl,this.sh());this.da.Ff-=t;if(0>=this.da.Ff){this.da.Ff+=this.da.cj;break}}while(this.ma.lb)}catch(s){this.Ib();Sb(this); +this.Ma&&this.Ma.stop(pa(),F(this));cb(this,!1);fb(this,s.message);return}c=setTimeout;d=this.vo;this.da.Ve=pa();e=this.da.al;this.da.vg&&(e=Math.round(e*this.da.vg/this.da.cj));e-=this.da.Ve-this.da.Kh;if(f=this.da.Ve-this.da.Af)this.da.oe=Math.round(this.se/(10*f))/100,864E5<=f&&(this.Ye=0,this.oa&&$b(this.oa,!0),Vb(this));if(0>e||this.da.oethis.pc?this.Ga+a:qc.call(this,0,0,c)}function qc(a,b,c){c||ic.call(this.T,13,0);return-4} +function sc(a,b,c){return a+b<=this.pc?this.Ga+a:tc.call(this,0,0,c)}function uc(a,b,c){return a+b>this.pc?this.Ga+a:tc.call(this,0,0,c)}function tc(a,b,c){c||ic.call(this.T,13,0);return-4} +function vc(a,b){var c=this.T,d=c.gb.Ga,e=this.bb,f=c.gb.ta;if(!b){if(768!=c.gb.type)return ic.call(c,10,a,!0),!1;c.Ua(c.gb.Bd+4,c.gb.ob&-769|256)}if(-4==c.gb.load(a))return!1;var g=c.gb.Ga;if(b){if(768==c.gb.type)return ic.call(c,13,a,!0),!1;c.Ua(c.gb.Bd+4,c.gb.ob|=768);c.gb.type=768}c.Ua(d+14,c.wa);c.Ua(d+16,wc(c));c.Ua(d+18,c.H);c.Ua(d+20,c.J);c.Ua(d+22,c.K);c.Ua(d+24,c.C);c.Ua(d+26,c.Y);c.Ua(d+28,c.I);c.Ua(d+30,c.G);c.Ua(d+32,c.F);c.Ua(d+34,c.La.ta);c.Ua(d+36,c.va.ta);c.Ua(d+38,c.Ya.ta);c.Ua(d+ +40,c.fb.ta);var d=38,h=26;xc(c,c.ra(g+16)|(b?16384:0));c.H=c.ra(g+18);c.J=c.ra(g+20);c.K=c.ra(g+22);c.C=c.ra(g+24);c.I=c.ra(g+28);c.G=c.ra(g+30);c.F=c.ra(g+32);c.La.load(c.ra(g+34));c.fb.load(c.ra(g+40));yc(c,c.ra(g+14),c.ra(g+36));this.bb>13;if(6144<=h){x=c&3;if(x>a.bb){if(!1!==l&&!(v==a.bb||g&1024&&v<=a.bb)){n=-4;break}s=e.Pa();e.Ya.load(e.Pa());e.Y=s;a.Eh=!0}s=!1}else if(1024==h)s=!0,u=-1,t=c,xh||2048==(h&2560))){d||ic.call(e,13,c,!!g);n=-4;break}}else if(3==a.id){if(!l||4096>h||2048==(h&2560)){d|| +ic.call(e,13,c,!0);n=-4;break}}else if(4==a.id){if(!l||256!=h&&768!=h){d||ic.call(e,10,c,!0);n=-4;break}}else if(6==a.id&&!(g&4096)&&768>13}else a.load=fc,a.$k=kc,a.Ic=nc,a.$b=oc,a.pc=65535,a.bb=a.oc=0,a.Bd=-4} +function Ac(a){this.Ka=a.model||8088;var b=0;switch(this.Ka){default:case 8088:b=4772727;break;case 80286:b=6E6}Lb.call(this,a,b);this.mk=61442;this.Ug=1792;this.Tg=4;this.Jf=255;this.B=80286<=this.Ka?Bc:Fc;this.Za=Gc.slice();this.Fm=Hc.slice();this.Gm=Ic.slice();this.pk=Kc;80186<=this.Ka&&(this.Jf=31,this.Za[15]=Lc,this.Za[96]=Mc,this.Za[97]=Nc,this.Za[98]=Oc,this.Za[99]=Lc,this.Za[100]=Lc,this.Za[101]=Lc,this.Za[102]=Lc,this.Za[103]=Lc,this.Za[104]=Pc,this.Za[105]=Qc,this.Za[106]=Rc,this.Za[107]= +Sc,this.Za[108]=Tc,this.Za[109]=Uc,this.Za[110]=Vc,this.Za[111]=Wc,this.Za[192]=Xc,this.Za[193]=Yc,this.Za[200]=Zc,this.Za[201]=$c,this.Za[241]=ad,this.Fm[7]=bd,this.Gm[7]=bd,80286<=this.Ka&&(this.mk=2,this.Ug|=28672,this.Tg=0,this.Za[15]=cd,this.Za[99]=dd,this.Za[84]=ed));this.Wg=[];this.Xg=[];this.Vc=this.oh=0;this.ma.kg=this.ma.Jk=!1;this.Ha=[];this.Ee=this.Eb=this.rb=this.Ie=0;this.U=this.$m;this.V=this.an;this.O=this.ho;this.P=this.io;this.R=this.Dp;this.S=this.Ep;fd(this)}Wa(Lb,Ac); var Fc={Tj:4,ca:5,Aa:6,ha:7,ia:8,Q:9,W:11,X:12,We:4,gl:60,hl:83,bc:3,Fb:9,qc:16,Qh:1,ll:19,nl:28,pl:16,ol:21,ml:37,jl:2,mj:9,kl:5,il:33,oj:10,nj:8,Ag:3,zg:15,Dl:51,El:1,Fl:2,Gl:4,Cl:32,pj:15,Il:15,cc:16,dc:4,Kl:11,Jl:18,Hl:24,Ob:4,Ll:2,qj:16,Ml:17,vj:18,Nl:19,uj:5,wj:6,Sl:2,Rl:8,Pl:9,Ql:10,Ol:10,xj:10,yj:10,rl:80,tl:144,ql:86,sl:154,vl:101,xl:165,ul:107,wl:171,Ul:70,Wl:113,Tl:76,Vl:124,zl:80,Bl:128,yl:86,Al:134,Cg:3,Bg:16,Dj:10,Cj:8,Xl:51,rc:8,Yl:17,Zl:36,xc:11,$l:16,Dg:10,re:2,jj:18,kj:7,lj:15,rj:12, -sj:7,tj:11,zj:18,Aj:7,Bj:15,Ej:15,Fj:7,Gj:13,Kj:11,Lj:7,Mj:8,am:8,dm:12,bm:18,cm:17,em:15,Ij:8,Hj:20,Jj:2,Pj:3,Eg:9,Oj:5,Nj:11,Rj:4,Qj:17,fm:11},Ec={Tj:0,ca:0,Aa:0,ha:0,ia:0,Q:0,W:1,X:1,We:3,gl:14,hl:16,bc:2,Fb:7,qc:7,Qh:0,ll:7,nl:13,pl:7,ol:11,ml:16,jl:3,mj:6,kl:2,il:13,oj:5,nj:5,Ag:2,zg:7,Dl:23,El:0,Fl:1,Gl:3,Cl:17,pj:7,Il:11,cc:7,dc:3,Kl:7,Jl:11,Hl:15,Ob:2,Ll:3,qj:7,Ml:8,vj:8,Nl:8,uj:4,wj:4,Sl:2,Rl:3,Pl:5,Ql:2,Ol:3,xj:5,yj:3,rl:14,tl:22,ql:17,sl:25,vl:17,xl:25,ul:20,wl:28,Ul:13,Wl:21,Tl:16,Vl:24, -zl:13,Bl:21,yl:16,Al:24,Cg:2,Bg:7,Dj:5,Cj:5,Xl:19,rc:5,Yl:5,Zl:17,xc:3,$l:5,Dg:3,re:0,jj:8,kj:5,lj:9,rj:5,sj:5,tj:4,zj:5,Aj:5,Bj:4,Ej:7,Fj:5,Gj:8,Kj:3,Lj:4,Mj:3,am:11,dm:11,bm:15,cm:15,em:7,Ij:5,Hj:8,Jj:0,Pj:2,Eg:6,Oj:3,Nj:6,Rj:3,Qj:5,fm:5};k=Dc.prototype;k.Xi=function(a,b,c,d,e){this.Ha=a;this.Ee=b;this.Eb=c;this.pb=d;this.Ie=e};k.reset=function(){this.na.lb&&this.Ib();id(this);Qb(this);this.na.fd=!1}; -function id(a){a.H=0;a.C=0;a.J=0;a.K=0;a.Y=0;a.I=0;a.G=0;a.F=0;a.gc=65520;a.Rc=0;a.De=1023;a.Hf=0;a.Ph=-1;a.va=new fc(a,gc,"CS");a.fb=new fc(a,2,"DS");a.La=new fc(a,2,"ES");a.Ya=new fc(a,3,"SS");a.um=new fc(a,0,"NULL");Bc(a,0,65535);80286<=a.Ka&&(a.Ec=0,a.Ce=65535,a.Yc=new fc(a,5,"LDT",!0),a.gb=new fc(a,4,"TSS",!0),a.Tb=new fc(a,6,"VER",!0),Bc(a,65520,61440),a.va.Ga=16711680);Ac(a,0);jd(a);a.yb=0;a.Pb=a.Lg=-1;a.gh=0;a.ja=a.Qa=-4;a.D=a.fb;a.N=a.Ya;a.ba=a.Da=0} -k.Tk=function(){var a=this.H+this.C+this.J+this.K+this.Y+this.I+this.G+this.F|0;return a=a+this.wa+this.va.ta+this.fb.ta+this.Ya.ta+this.La.ta+zc(this)|0};function kd(a,b,c,d){void 0!==d&&(void 0===a.Wg[b]&&(a.Wg[b]=[]),a.Wg[b].push([c,d]))}function ld(a,b){var c=a.Wg[b];if(void 0!==c)for(var d=0;d>1?128:0}function Ed(a){return(a.la^a.qa^a.la>>1)&a.ea>>1?2048:0}function Fd(a){a.aa&=~a.ea}function Gd(a){a.qa=a.la&16|a.qa&-17}function Hd(a){a.aa|=a.ea-1}function Id(a){Dd(a)&&(a.la^=a.ea>>1|a.ea>>2,a.qa^=32896)} -function Jd(a){a.la&=~a.ea;a.qa=a.la&32896|a.qa&-32897}function Kd(a){a.aa|=a.ea}function Ld(a){a.qa=~(a.la&16)&16|a.qa&-17}function Md(a){a.aa&=~(a.ea-1)}function Nd(a){Dd(a)||(a.la^=a.ea>>1|a.ea>>2,a.qa^=32896)}function Od(a){a.la|=a.ea;a.qa=a.la&32896|a.qa&-32897}function zc(a){return a.Ba&-2262|zd(a)|Ad(a)|Bd(a)|Cd(a)|Dd(a)|Ed(a)} -function Ac(a,b,c){a.ea=256;a.aa=a.la=a.qa=0;b&1&&Kd(a);b&4||(a.la|=1);b&16&&(a.qa|=16);b&64||Hd(a);b&128&&Nd(a);b&2048&&Od(a);a.gc&1||(b&=-61441);void 0===c&&(c=a.va.bb);c?b=b&-12289|a.Ba&12288:a.Hf=(b&12288)>>12;c>a.Hf&&(b=b&-513|a.Ba&512);a.Ba=a.Ba&~a.Ug|b&a.Ug|a.mk;a.Ba&256&&(a.yb|=2,a.ba|=4)} -k.Hb=function(a,b,c){var d=!1;switch(b){case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "CS":case "DS":case "SS":case "ES":case "IP":case "PC":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.xa[b]=c;d=!0;break;default:d=Nb.prototype.Hb.call(this,a,b,c)}return d};k.xb=function(a){return this.Ha[(a&this.Ee)>>this.Eb].zc(a&this.pb)}; -k.ra=function(a){var b=a&this.pb;a=(a&this.Ee)>>this.Eb;this.A-=this.B.Tj;return b!=this.pb?this.Ha[a].km(b):this.Ha[a++].zc(b)|this.Ha[a&this.Ie].zc(0)<<8};k.Rd=function(a,b){this.Ha[(a&this.Ee)>>this.Eb].Nc(a&this.pb,b&255)};k.Ua=function(a,b){var c=a&this.pb,d=(a&this.Ee)>>this.Eb;this.A-=this.B.Tj;c!=this.pb?this.Ha[d].ym(c,b&65535):(this.Ha[d++].Nc(c,b&255),this.Ha[d&this.Ie].Nc(0,b>>8&255))};k.$m=function(a,b){this.Pg=a;this.ja=a.Ic(this.Hg=b,0);return this.ba&1?0:this.xb(this.ja)}; +sj:7,tj:11,zj:18,Aj:7,Bj:15,Ej:15,Fj:7,Gj:13,Kj:11,Lj:7,Mj:8,am:8,dm:12,bm:18,cm:17,em:15,Ij:8,Hj:20,Jj:2,Pj:3,Eg:9,Oj:5,Nj:11,Rj:4,Qj:17,fm:11},Bc={Tj:0,ca:0,Aa:0,ha:0,ia:0,Q:0,W:1,X:1,We:3,gl:14,hl:16,bc:2,Fb:7,qc:7,Qh:0,ll:7,nl:13,pl:7,ol:11,ml:16,jl:3,mj:6,kl:2,il:13,oj:5,nj:5,Ag:2,zg:7,Dl:23,El:0,Fl:1,Gl:3,Cl:17,pj:7,Il:11,cc:7,dc:3,Kl:7,Jl:11,Hl:15,Ob:2,Ll:3,qj:7,Ml:8,vj:8,Nl:8,uj:4,wj:4,Sl:2,Rl:3,Pl:5,Ql:2,Ol:3,xj:5,yj:3,rl:14,tl:22,ql:17,sl:25,vl:17,xl:25,ul:20,wl:28,Ul:13,Wl:21,Tl:16,Vl:24, +zl:13,Bl:21,yl:16,Al:24,Cg:2,Bg:7,Dj:5,Cj:5,Xl:19,rc:5,Yl:5,Zl:17,xc:3,$l:5,Dg:3,re:0,jj:8,kj:5,lj:9,rj:5,sj:5,tj:4,zj:5,Aj:5,Bj:4,Ej:7,Fj:5,Gj:8,Kj:3,Lj:4,Mj:3,am:11,dm:11,bm:15,cm:15,em:7,Ij:5,Hj:8,Jj:0,Pj:2,Eg:6,Oj:3,Nj:6,Rj:3,Qj:5,fm:5};k=Ac.prototype;k.Xi=function(a,b,c,d,e){this.Ha=a;this.Ee=b;this.Eb=c;this.rb=d;this.Ie=e};k.reset=function(){this.ma.lb&&this.Ib();fd(this);Nb(this);this.ma.fd=!1}; +function fd(a){a.H=0;a.C=0;a.J=0;a.K=0;a.Y=0;a.I=0;a.G=0;a.F=0;a.gc=65520;a.Rc=0;a.De=1023;a.Hf=0;a.Ph=-1;a.va=new cc(a,dc,"CS");a.fb=new cc(a,2,"DS");a.La=new cc(a,2,"ES");a.Ya=new cc(a,3,"SS");a.um=new cc(a,0,"NULL");yc(a,0,65535);80286<=a.Ka&&(a.Ec=0,a.Ce=65535,a.Yc=new cc(a,5,"LDT",!0),a.gb=new cc(a,4,"TSS",!0),a.Tb=new cc(a,6,"VER",!0),yc(a,65520,61440),a.va.Ga=16711680);xc(a,0);gd(a);a.yb=0;a.Pb=a.Lg=-1;a.gh=0;a.ja=a.Qa=-4;a.D=a.fb;a.N=a.Ya;a.ba=a.Da=0} +k.Tk=function(){var a=this.H+this.C+this.J+this.K+this.Y+this.I+this.G+this.F|0;return a=a+this.wa+this.va.ta+this.fb.ta+this.Ya.ta+this.La.ta+wc(this)|0};function hd(a,b,c,d){void 0!==d&&(void 0===a.Wg[b]&&(a.Wg[b]=[]),a.Wg[b].push([c,d]))}function id(a,b){var c=a.Wg[b];if(void 0!==c)for(var d=0;d>1?128:0}function Ad(a){return(a.la^a.qa^a.la>>1)&a.ea>>1?2048:0}function Bd(a){a.aa&=~a.ea}function Cd(a){a.qa=a.la&16|a.qa&-17}function Dd(a){a.aa|=a.ea-1}function Gd(a){zd(a)&&(a.la^=a.ea>>1|a.ea>>2,a.qa^=32896)} +function Hd(a){a.la&=~a.ea;a.qa=a.la&32896|a.qa&-32897}function Id(a){a.aa|=a.ea}function Jd(a){a.qa=~(a.la&16)&16|a.qa&-17}function Kd(a){a.aa&=~(a.ea-1)}function Ld(a){zd(a)||(a.la^=a.ea>>1|a.ea>>2,a.qa^=32896)}function Md(a){a.la|=a.ea;a.qa=a.la&32896|a.qa&-32897}function wc(a){return a.Ba&-2262|vd(a)|wd(a)|xd(a)|yd(a)|zd(a)|Ad(a)} +function xc(a,b,c){a.ea=256;a.aa=a.la=a.qa=0;b&1&&Id(a);b&4||(a.la|=1);b&16&&(a.qa|=16);b&64||Dd(a);b&128&&Ld(a);b&2048&&Md(a);a.gc&1||(b&=-61441);void 0===c&&(c=a.va.bb);c?b=b&-12289|a.Ba&12288:a.Hf=(b&12288)>>12;c>a.Hf&&(b=b&-513|a.Ba&512);a.Ba=a.Ba&~a.Ug|b&a.Ug|a.mk;a.Ba&256&&(a.yb|=2,a.ba|=4)} +k.Hb=function(a,b,c){var d=!1;switch(b){case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "CS":case "DS":case "SS":case "ES":case "IP":case "PC":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.xa[b]=c;d=!0;break;default:d=Lb.prototype.Hb.call(this,a,b,c)}return d};k.xb=function(a){return this.Ha[(a&this.Ee)>>this.Eb].zc(a&this.rb)}; +k.ra=function(a){var b=a&this.rb;a=(a&this.Ee)>>this.Eb;this.A-=this.B.Tj;return b!=this.rb?this.Ha[a].km(b):this.Ha[a++].zc(b)|this.Ha[a&this.Ie].zc(0)<<8};k.Rd=function(a,b){this.Ha[(a&this.Ee)>>this.Eb].Nc(a&this.rb,b&255)};k.Ua=function(a,b){var c=a&this.rb,d=(a&this.Ee)>>this.Eb;this.A-=this.B.Tj;c!=this.rb?this.Ha[d].ym(c,b&65535):(this.Ha[d++].Nc(c,b&255),this.Ha[d&this.Ie].Nc(0,b>>8&255))};k.$m=function(a,b){this.Pg=a;this.ja=a.Ic(this.Hg=b,0);return this.ba&1?0:this.xb(this.ja)}; k.an=function(a,b){this.Pg=a;this.ja=a.Ic(this.Hg=b,1);return this.ba&1?0:this.ra(this.ja)};k.ho=function(a,b){this.Pg=a;this.Qa=this.ja=a.Ic(this.Hg=b,0);return this.ba&1?0:this.xb(this.ja)};k.io=function(a,b){this.Pg=a;this.Qa=this.ja=a.Ic(this.Hg=b,1);return this.ba&1?0:this.ra(this.ja)};k.Dp=function(a){this.ba&2||this.Rd(this.Pg.$b(this.Hg,0),a)};k.Ep=function(a){this.ba&2||this.Ua(this.Pg.$b(this.Hg,1),a)};k.fa=function(){var a=this.xb(this.Ea);this.Ea=this.va.Ga+(this.wa=this.wa+1&65535);return a}; -k.M=function(){var a=this.xb(this.Ea)<<24>>24;this.Ea=this.va.Ga+(this.wa=this.wa+1&65535);return a&65535};k.L=function(){var a=this.ra(this.Ea);this.Ea=this.va.Ga+(this.wa=this.wa+2&65535);return a};k.Pa=function(){var a=this.Y;this.Y=this.Y+2&65535;return this.ra(this.Ya.Ic(a,1))};function G(a,b){var c=a.Y=a.Y-2&65535;a.Ua(a.Ya.$b(c,1),b)} -k.sh=function(a){if(a||!this.na.lb||this.na.Lk)F(this,"AX",this.H),F(this,"BX",this.C),F(this,"CX",this.J),F(this,"DX",this.K),F(this,"SP",this.Y),F(this,"BP",this.I),F(this,"SI",this.G),F(this,"DI",this.F),F(this,"CS",this.va.ta),F(this,"DS",this.fb.ta),F(this,"SS",this.Ya.ta),F(this,"ES",this.La.ta),F(this,"IP",this.wa),a=zc(this),F(this,"PS",a),F(this,"C",a&1?1:0,1),F(this,"P",a&4?1:0,1),F(this,"A",a&16?1:0,1),F(this,"Z",a&64?1:0,1),F(this,"S",a&128?1:0,1),F(this,"T",a&256?1:0,1),F(this,"I",a& -512?1:0,1),F(this,"D",a&1024?1:0,1),F(this,"V",a&2048?1:0,1);if(a=this.xa.speed)a.textContent=this.na.lb&&this.da.oe?this.da.oe.toFixed(2)+"Mhz":"Stopped"}; -k.Of=function(a){this.na.kg=!0;var b=this.na.Jk=this.ka&&Pd(this.ka),c=this.na.Oi||!a;this.na.Oi=!1;this.Vc=this.A=a;this.oa&&!a&&cc(this.oa);a||this.ua(Qd)||(this.ba|=4);do{var d=this.ba&240;if(d)this.Da|=d;else if(this.Ig=this.Ea,this.ja=this.Qa=-4,this.D=this.fb,this.N=this.Ya,this.Da=this.ba&256,this.yb){a:{if(!(this.ba&4))if(this.yb&1&&this.Ba&512){if(d=Rd(this.oa),-1<=d&&(this.yb&=-2,0<=d)){this.yb&=-5;Sd.call(this,d,null,11);d=!0;break a}}else if(this.yb&2){this.yb&=-3;Sd.call(this,1,null, -11);d=!0;break a}if(d=this.yb&8){for(var d=this.oa,e=!1,f=0;fthis.Qa?0>this.ja?this.B.bc:this.B.Fb:this.B.qc;return(this.aa=this.la=a+b)&255}function Yd(a,b){this.ea=256;this.A-=0>this.Qa?0>this.ja?this.B.bc:this.B.Fb:this.B.qc;return(this.aa=this.la=this.qa=a|b)&255} -function Zd(a,b){this.qa=a^b;this.aa=this.la=a+b+(this.aa&this.ea?1:0);this.ea=256;this.A-=0>this.Qa?0>this.ja?this.B.bc:this.B.Fb:this.B.qc;return this.aa&255}function $d(a,b){this.qa=a^b;this.aa=this.la=a-b-(this.aa&this.ea?1:0);this.ea=256;this.A-=0>this.Qa?0>this.ja?this.B.bc:this.B.Fb:this.B.qc;return this.aa&255}function ae(a,b){this.ea=256;this.A-=0>this.Qa?0>this.ja?this.B.bc:this.B.Fb:this.B.qc;return(this.aa=this.la=this.qa=a&b)&255} -function be(a,b){this.qa=a^b;this.ea=256;this.A-=0>this.Qa?0>this.ja?this.B.bc:this.B.Fb:this.B.qc;return(this.aa=this.la=a-b)&255}function ce(a,b){this.ea=256;this.A-=0>this.Qa?0>this.ja?this.B.bc:this.B.Fb:this.B.qc;return(this.aa=this.la=this.qa=a^b)&255}function de(a,b){this.qa=a^b;this.ea=256;this.aa=this.la=a-b;this.A-=0>this.Qa?0>this.ja?this.B.bc:this.B.mj:this.B.Fb;this.ba|=2;return a} -function ee(a,b){this.qa=a^b;this.ea=65536;this.A-=0>this.Qa?0>this.ja?this.B.bc:this.B.Fb:this.B.qc;return(this.aa=this.la=a+b)&65535}function fe(a,b){this.ea=65536;this.A-=0>this.Qa?0>this.ja?this.B.bc:this.B.Fb:this.B.qc;return(this.aa=this.la=this.qa=a|b)&65535}function ge(a,b){this.qa=a^b;this.aa=this.la=a+b+(this.aa&this.ea?1:0);this.ea=65536;this.A-=0>this.Qa?0>this.ja?this.B.bc:this.B.Fb:this.B.qc;return this.aa&65535} -function he(a,b){this.qa=a^b;this.aa=this.la=a-b-(this.aa&this.ea?1:0);this.ea=65536;this.A-=0>this.Qa?0>this.ja?this.B.bc:this.B.Fb:this.B.qc;return this.aa&65535}function ie(a,b){this.ea=65536;this.A-=0>this.Qa?0>this.ja?this.B.bc:this.B.Fb:this.B.qc;return(this.aa=this.la=this.qa=a&b)&65535}function je(a,b){this.qa=a^b;this.ea=65536;this.A-=0>this.Qa?0>this.ja?this.B.bc:this.B.Fb:this.B.qc;return(this.aa=this.la=a-b)&65535} -function ke(a,b){this.ea=65536;this.A-=0>this.Qa?0>this.ja?this.B.bc:this.B.Fb:this.B.qc;return(this.aa=this.la=this.qa=a^b)&65535}function le(a,b){this.qa=a^b;this.ea=65536;this.aa=this.la=a-b;this.A-=0>this.Qa?0>this.ja?this.B.bc:this.B.mj:this.B.Fb;this.ba|=2;return a}function me(a,b){this.aa=this.aa&this.ea-1|(a&b?this.ea:0);(a^a>>1)&b>>1?Od(this):Jd(this)}function ne(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<>8-e)&255:d=a<<8;me.call(this,d,256)}return c} -function oe(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<>16-e)&65535:d=a<<16;me.call(this,d,65536)}return c}function pe(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);me.call(this,d,256)}return c}function qe(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);me.call(this,d,65536)}return c} -function re(a,b){var c=a;if(b){var d;(d=(b&this.Jf)%9)?(d=a<>9-d,c=d&255):d=a|(this.aa&this.ea?1:0)<<8;me.call(this,d,256)}return c}function se(a,b){var c=a;if(b){var d;(d=(b&this.Jf)%17)?(d=a<>17-d,c=d&65535):d=a|(this.aa&this.ea?1:0)<<16;me.call(this,d,65536)}return c}function te(a,b){var c=a;b&&(c=(b&this.Jf)%9,c=a>>c|(this.aa&this.ea?1:0)<<8-c|a<<9-c,me.call(this,c,256),c&=255);return c} -function ue(a,b){var c=a;b&&(c=(b&this.Jf)%17,c=a>>c|(this.aa&this.ea?1:0)<<16-c|a<<17-c,me.call(this,c,65536),c&=65535);return c}function ve(a,b){var c=a;b&&(c=8>b-1;this.aa=this.la=c>>1;this.aa=c&1?this.aa|256:this.aa&-257;this.qa=a^this.aa;this.ea=256;a=this.aa}return a&255}function ye(a,b){if(b){var c=16>b-1;this.aa=this.la=c>>1;this.aa=c&1?this.aa|65536:this.aa&-65537;this.qa=a^this.aa;this.ea=65536;a=this.aa}return a&65535}function ze(a,b){if(b){8>24>>b-1;this.aa=this.la=c>>1;this.aa=c&1?this.aa|256:this.aa&-257;this.qa=a^this.aa;this.ea=256;a=this.aa}return a&255} -function Ae(a,b){if(b){16>16>>b-1;this.aa=this.la=c>>1;this.aa=c&1?this.aa|65536:this.aa&-65537;this.qa=a^this.aa;this.ea=65536;a=this.aa}return a&65535}function Be(){this.A-=0>this.ja?2:this.B.em;return 1}function Ce(){var a=this.J&this.Jf;this.A-=(0>this.ja?this.B.Ij:this.B.Hj)+(a<this.ja?this.B.Ij:this.B.Hj)+(a<this.Qa?this.B.rc:this.B.Yl;return b},Fe,Fe,Fe,Fe,Fe,Fe,Fe],Je=[function(a,b){this.A-=0>this.Qa?this.B.Ql:this.B.Ol;return b},J,J,J,J,J,J,J],Ke=[ne,pe,re,te,ve,xe,J,ze],Le=[oe,qe,se,ue,we,ye,J,Ae],Ne=[function(a,b){b=this.fa();this.aa=this.la=this.qa=a&b;this.ea=256;this.A-=0>this.ja?this.B.Oj:this.B.Nj;this.ba|=2;return a},J,function(a){this.A-=0>this.ja?this.B.Cg:this.B.Bg;return a^255},function(a,b){b=0;this.qa= -a^b;this.ea=256;this.A-=0>this.ja?this.B.Cg:this.B.Bg;return(this.aa=this.la=b-a)&255},function(a){this.H=this.Pb=(this.aa=(this.H&255)*a)&65535;this.qa=this.la=this.aa;this.ea=256;this.H&65280?(Kd(this),Od(this)):(Fd(this),Jd(this));this.A-=0>this.ja?this.B.Ul:this.B.Tl;this.ba|=2;return a},function(a){var b=(this.H<<24>>24)*(a<<24>>24);this.H=this.Pb=b&65535;this.aa=this.qa=this.la=b;this.ea=256;127b?(Kd(this),Od(this)):(Fd(this),Jd(this));this.A-=0>this.ja?this.B.zl:this.B.yl;this.ba|= -2;return a},function(a){if(!a)return Me.call(this),a;var b=this.H/a;if(255this.ja?this.B.rl:this.B.ql;this.ba|=2;return a},function(a){if(!a)return Me.call(this),a;var b=(this.H<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return Me.call(this),a;this.Pb=this.H=b&255|((this.H<<16>>16)%(a<<24>>24)&255)<<8;this.la=this.qa=this.aa=b|256;this.ea=256;this.A-=0>this.ja?this.B.vl:this.B.ul;this.ba|= -2;return a}],Oe=[function(a,b){b=this.L();this.aa=this.la=this.qa=a&b;this.ea=65536;this.A-=0>this.ja?this.B.Oj:this.B.Nj;this.ba|=2;return a},J,function(a){this.A-=0>this.ja?this.B.Cg:this.B.Bg;return a^65535},function(a,b){b=0;this.qa=a^b;this.ea=65536;this.A-=0>this.ja?this.B.Cg:this.B.Bg;return(this.aa=this.la=b-a)&65535},function(a){this.Pb=this.H=(this.aa=this.H*a)&65535;this.Lg=this.K=this.aa>>16&65535;this.qa=this.la=this.aa;this.ea=65536;this.K?(Kd(this),Od(this)):(Fd(this),Jd(this));this.A-= -0>this.ja?this.B.Wl:this.B.Vl;this.ba|=2;return a},function(a){var b=(this.H<<16>>16)*(a<<16>>16);this.H=this.Pb=b&65535;this.K=this.Lg=b>>16&65535;this.aa=this.qa=this.la=b;this.ea=65536;32767b?(Kd(this),Od(this)):(Fd(this),Jd(this));this.A-=0>this.ja?this.B.Bl:this.B.Al;this.ba|=2;return a},function(a,b){if(!a)return Me.call(this),a;b=this.H+65536*this.K;var c=Math.floor(b/a);if(65536<=c)return Me.call(this),a;this.Pb=this.H=c&65535;this.Lg=this.K=b%a&65535;this.la=this.qa=this.aa=c| -65536;this.ea=65536;this.A-=0>this.ja?this.B.tl:this.B.sl;this.ba|=2;return a},function(a,b){if(!a)return Me.call(this),a;var c=a<<16>>16;b=this.K<<16|this.H;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return Me.call(this),a;this.Pb=this.H=d&65535;this.Lg=this.K=b%c&65535;this.la=this.qa=this.aa=d|65536;this.ea=65536;this.A-=0>this.ja?this.B.xl:this.B.wl;this.ba|=2;return a}],Hc=[function(a){this.qa=a;a=(this.la=a+1)&255;this.aa=a|(this.aa&this.ea?1:0)<<8;this.ea=256;this.A-=0>this.ja?this.B.Ag: -this.B.zg;return a},function(a){this.qa=a;a=(this.la=a-1)&255;this.aa=a|(this.aa&this.ea?1:0)<<8;this.ea=256;this.A-=0>this.ja?this.B.Ag:this.B.zg;return a},J,J,J,J,J,J],Ic=[function(a){this.qa=a;a=(this.la=a+1)&65535;this.aa=a|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=0>this.ja?this.B.Ag:this.B.zg;return a},function(a){this.qa=a;a=(this.la=a-1)&65535;this.aa=a|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=0>this.ja?this.B.Ag:this.B.zg;return a},function(a){G(this,this.wa);H(this,a);this.A-= -0>this.ja?this.B.pl:this.B.ol;this.ba|=2;return a},function(a){if(0>this.ja)return J.call(this,a);Pe.call(this,a,this.ra(this.ja+2));this.A-=this.B.ml;this.ba|=2;return a},function(a){H(this,a);this.A-=0>this.ja?this.B.Kl:this.B.Jl;this.ba|=2;return a},function(a){if(0>this.ja)return J.call(this,a);Bc(this,a,this.ra(this.ja+2));this.A-=this.B.Hl;this.ba|=2;return a},function(a){var b=a;this.ba&512&&(a=a-2&65535,80286>this.Ka&&(b=a));G(this,b);this.A-=0>this.ja?this.B.xc:this.B.$l;this.ba|=2;return a}, -Fe],Qe=[ne,pe,re,te,ve,xe,J,ze],Re=[oe,qe,se,ue,we,ye,J,Ae];function Se(a,b){this.A-=0>this.Qa?0>this.ja?this.B.Sl:this.B.Rl:this.B.Pl;return b}function Te(){return Se.call(this,0,this.Pb)}function Ue(a,b){this.aa=this.la=this.qa=a&b;this.ea=256;this.A-=0>this.Qa?0>this.ja?this.B.Pj:this.B.Eg:this.B.Eg;this.ba|=2;return a}function Ve(a,b){this.aa=this.la=this.qa=a&b;this.ea=65536;this.A-=0>this.Qa?0>this.ja?this.B.Pj:this.B.Eg:this.B.Eg;this.ba|=2;return a} -function We(a,b){var c=(b<<16>>16)*(this.fa()<<24>>24);this.aa=this.qa=this.la=c;this.ea=256;32767c?(Kd(this),Od(this)):(Fd(this),Jd(this));this.A-=0>this.ja?21:24;return c&65535}function Xe(a,b){var c=(b<<16>>16)*(this.L()<<16>>16);this.aa=this.qa=this.la=c;this.ea=65536;32767c?(Kd(this),Od(this)):(Fd(this),Jd(this));this.A-=0>this.ja?21:24;return c&65535}function Ye(a){return a}function Ze(a){if(0>this.ja)return K.call(this),a;this.A-=this.B.Ll;return this.ja} -function $e(a,b){if(0>this.ja)return K.call(this),a;vd(this,this.ra(this.ja+2));this.A-=this.B.qj;return b}function af(a,b){if(0>this.ja)return K.call(this),a;xd(this,this.ra(this.ja+2));this.A-=this.B.qj;return b}function bf(a){if(0>this.ja)return Kc.call(this),a;var b=a<<16>>16,c=this.ra(this.ja)<<16>>16,d=this.ra(this.ja+2)<<16>>16;this.A-=this.B.il;if(bd)H(this,this.Ig-this.va.Ga),Sd.call(this,5,null,0);this.ba|=2;return a} -function cf(a,b){this.A-=10+(0>this.ja?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Md(this),a;Hd(this);return a}function df(a,b){this.A-=14+(0>this.ja?0:2);if(-4!=this.Tb.load(b,!0)&&this.Tb.oc>=this.va.bb&&this.Tb.oc>=(b&3))return Md(this),this.Tb.nb&65280;Hd(this);return a}function ef(a,b){this.A-=14+(0>this.ja?0:2);if(b&65528&&-4!=this.Tb.load(b,!0)&&(7168==(this.Tb.nb&7168)||this.Tb.oc>=this.va.bb)&&this.Tb.oc>=(b&3))return Md(this),this.Tb.pc;Hd(this);return a} -function jf(a,b){if(0>this.ja){switch(this.gh&7){case 0:this.H=this.H&-256|a;break;case 1:this.J=this.J&-256|a;break;case 2:this.K=this.K&-256|a;break;case 3:this.C=this.C&-256|a;break;case 4:this.H=this.H&255|a<<8;break;case 5:this.J=this.J&255|a<<8;break;case 6:this.K=this.K&255|a<<8;break;case 7:this.C=this.C&255|a<<8}this.A-=this.B.Rj}else this.Qa=this.ja,this.R(a),this.A-=this.B.Qj;return b} -function kf(a,b){if(0>this.ja){switch(this.gh&7){case 0:this.H=a;break;case 1:this.J=a;break;case 2:this.K=a;break;case 3:this.C=a;break;case 4:this.Y=a;break;case 5:this.I=a;break;case 6:this.G=a;break;case 7:this.F=a}this.A-=this.B.Rj}else this.Qa=this.ja,this.S(a),this.A-=this.B.Qj;return b}function lf(a){a|=this.gc&1;this.gc=this.gc&65520|a&-65521;this.gc&1&&jd(this,!0)}function Pe(a,b){var c=this.va.ta,d=this.wa;null!=Bc(this,a,b,!0)&&(G(this,c),G(this,d))} -function mf(a){var b=this.Pa(),c=this.Pa();a&&(this.Y=this.Y+a&65535);Bc(this,b,c,!1)&&(a&&(this.Y=this.Y+a&65535),this.fb.ta&65528&&this.fb.octhis.Ph)H(this,this.Ig-this.va.Ga),d=!0;else if(8!=this.Ph)b=0,a=8,d=!0;else{nf.call(this,-1,0,c);id(this);return}nf.call(this,a,b,c)&&(d=!1);d&&Sd.call(this,this.Ph=a,b,0);this.ba&=-4}else this.cb("Fault "+q(a)+" blocked by Debugger",of),H(this,this.Ig-this.va.Ga)} -function nf(a,b,c){var d=pf,e=rb(this.sa,this.Ea);204==e&&(c=!1,d|=Ob);983040<=this.Ea&&1048575>=this.Ea&&(c=!1);this.ua(d|qf)&&(c=!0);if(this.ua(d)||c)a=(c?"\n":"")+"Fault "+q(a)+(null!=b?" ("+r(b)+")":"")+" on opcode 0x"+q(e)+" at "+ea(this.wa,this.va.ta)+" (%"+p(this.Ea,6)+")",b=this.na.lb,this.cb(a,d)?c&&(c=b,this.ka.Ib()):(this.Ia(a),this.Ib());return c}function rf(a){a=a.call(this,this.H&255,this.H&255);this.H=this.H&-256|a} -function sf(a){a=a.call(this,this.H&255,this.J&255);this.H=this.H&-256|a}function tf(a){a=a.call(this,this.H&255,this.K&255);this.H=this.H&-256|a}function uf(a){a=a.call(this,this.H&255,this.C&255);this.H=this.H&-256|a}function vf(a){a=a.call(this,this.H&255,this.H>>8);this.H=this.H&-256|a}function wf(a){a=a.call(this,this.H&255,this.J>>8);this.H=this.H&-256|a}function xf(a){a=a.call(this,this.H&255,this.K>>8);this.H=this.H&-256|a} -function yf(a){a=a.call(this,this.H&255,this.C>>8);this.H=this.H&-256|a}function zf(a){a=a.call(this,this.J&255,this.H&255);this.J=this.J&-256|a}function Af(a){a=a.call(this,this.J&255,this.J&255);this.J=this.J&-256|a}function Bf(a){a=a.call(this,this.J&255,this.K&255);this.J=this.J&-256|a}function Cf(a){a=a.call(this,this.J&255,this.C&255);this.J=this.J&-256|a}function Df(a){a=a.call(this,this.J&255,this.H>>8);this.J=this.J&-256|a} -function Ef(a){a=a.call(this,this.J&255,this.J>>8);this.J=this.J&-256|a}function Ff(a){a=a.call(this,this.J&255,this.K>>8);this.J=this.J&-256|a}function Gf(a){a=a.call(this,this.J&255,this.C>>8);this.J=this.J&-256|a}function Hf(a){a=a.call(this,this.K&255,this.H&255);this.K=this.K&-256|a}function If(a){a=a.call(this,this.K&255,this.J&255);this.K=this.K&-256|a}function Jf(a){a=a.call(this,this.K&255,this.K&255);this.K=this.K&-256|a} -function Kf(a){a=a.call(this,this.K&255,this.C&255);this.K=this.K&-256|a}function Lf(a){a=a.call(this,this.K&255,this.H>>8);this.K=this.K&-256|a}function Mf(a){a=a.call(this,this.K&255,this.J>>8);this.K=this.K&-256|a}function Nf(a){a=a.call(this,this.K&255,this.K>>8);this.K=this.K&-256|a}function Of(a){a=a.call(this,this.K&255,this.C>>8);this.K=this.K&-256|a}function Pf(a){a=a.call(this,this.C&255,this.H&255);this.C=this.C&-256|a} -function Qf(a){a=a.call(this,this.C&255,this.J&255);this.C=this.C&-256|a}function Rf(a){a=a.call(this,this.C&255,this.K&255);this.C=this.C&-256|a}function Sf(a){a=a.call(this,this.C&255,this.C&255);this.C=this.C&-256|a}function Tf(a){a=a.call(this,this.C&255,this.H>>8);this.C=this.C&-256|a}function Uf(a){a=a.call(this,this.C&255,this.J>>8);this.C=this.C&-256|a}function Vf(a){a=a.call(this,this.C&255,this.K>>8);this.C=this.C&-256|a} -function Wf(a){a=a.call(this,this.C&255,this.C>>8);this.C=this.C&-256|a}function Xf(a){a=a.call(this,this.H>>8,this.H&255);this.H=this.H&255|a<<8}function Yf(a){a=a.call(this,this.H>>8,this.J&255);this.H=this.H&255|a<<8}function Zf(a){a=a.call(this,this.H>>8,this.K&255);this.H=this.H&255|a<<8}function $f(a){a=a.call(this,this.H>>8,this.C&255);this.H=this.H&255|a<<8}function ag(a){a=a.call(this,this.H>>8,this.H>>8);this.H=this.H&255|a<<8} -function bg(a){a=a.call(this,this.H>>8,this.J>>8);this.H=this.H&255|a<<8}function cg(a){a=a.call(this,this.H>>8,this.K>>8);this.H=this.H&255|a<<8}function dg(a){a=a.call(this,this.H>>8,this.C>>8);this.H=this.H&255|a<<8}function eg(a){a=a.call(this,this.J>>8,this.H&255);this.J=this.J&255|a<<8}function fg(a){a=a.call(this,this.J>>8,this.J&255);this.J=this.J&255|a<<8}function gg(a){a=a.call(this,this.J>>8,this.K&255);this.J=this.J&255|a<<8} -function hg(a){a=a.call(this,this.J>>8,this.C&255);this.J=this.J&255|a<<8}function ig(a){a=a.call(this,this.J>>8,this.H>>8);this.J=this.J&255|a<<8}function jg(a){a=a.call(this,this.J>>8,this.J>>8);this.J=this.J&255|a<<8}function kg(a){a=a.call(this,this.J>>8,this.K>>8);this.J=this.J&255|a<<8}function lg(a){a=a.call(this,this.J>>8,this.C>>8);this.J=this.J&255|a<<8}function mg(a){a=a.call(this,this.K>>8,this.H&255);this.K=this.K&255|a<<8} -function ng(a){a=a.call(this,this.K>>8,this.J&255);this.K=this.K&255|a<<8}function og(a){a=a.call(this,this.K>>8,this.K&255);this.K=this.K&255|a<<8}function pg(a){a=a.call(this,this.K>>8,this.C&255);this.K=this.K&255|a<<8}function qg(a){a=a.call(this,this.K>>8,this.H>>8);this.K=this.K&255|a<<8}function rg(a){a=a.call(this,this.K>>8,this.J>>8);this.K=this.K&255|a<<8}function sg(a){a=a.call(this,this.K>>8,this.K>>8);this.K=this.K&255|a<<8} -function tg(a){a=a.call(this,this.K>>8,this.C>>8);this.K=this.K&255|a<<8}function ug(a){a=a.call(this,this.C>>8,this.H&255);this.C=this.C&255|a<<8}function vg(a){a=a.call(this,this.C>>8,this.J&255);this.C=this.C&255|a<<8}function wg(a){a=a.call(this,this.C>>8,this.K&255);this.C=this.C&255|a<<8}function xg(a){a=a.call(this,this.C>>8,this.C&255);this.C=this.C&255|a<<8}function yg(a){a=a.call(this,this.C>>8,this.H>>8);this.C=this.C&255|a<<8} -function zg(a){a=a.call(this,this.C>>8,this.J>>8);this.C=this.C&255|a<<8}function Ag(a){a=a.call(this,this.C>>8,this.K>>8);this.C=this.C&255|a<<8}function Bg(a){a=a.call(this,this.C>>8,this.C>>8);this.C=this.C&255|a<<8}function Cg(a){this.H=a.call(this,this.H,this.H)}function Dg(a){this.H=a.call(this,this.H,this.J)}function Eg(a){this.H=a.call(this,this.H,this.K)}function Fg(a){this.H=a.call(this,this.H,this.C)}function Gg(a){this.H=a.call(this,this.H,this.Y)} -function Hg(a){this.H=a.call(this,this.H,this.I)}function Ig(a){this.H=a.call(this,this.H,this.G)}function Jg(a){this.H=a.call(this,this.H,this.F)}function Kg(a){this.J=a.call(this,this.J,this.H)}function Lg(a){this.J=a.call(this,this.J,this.J)}function Mg(a){this.J=a.call(this,this.J,this.K)}function Ng(a){this.J=a.call(this,this.J,this.C)}function Og(a){this.J=a.call(this,this.J,this.Y)}function Pg(a){this.J=a.call(this,this.J,this.I)}function Qg(a){this.J=a.call(this,this.J,this.G)} -function Rg(a){this.J=a.call(this,this.J,this.F)}function Sg(a){this.K=a.call(this,this.K,this.H)}function Tg(a){this.K=a.call(this,this.K,this.J)}function Ug(a){this.K=a.call(this,this.K,this.K)}function Vg(a){this.K=a.call(this,this.K,this.C)}function Wg(a){this.K=a.call(this,this.K,this.Y)}function Xg(a){this.K=a.call(this,this.K,this.I)}function Yg(a){this.K=a.call(this,this.K,this.G)}function Zg(a){this.K=a.call(this,this.K,this.F)}function $g(a){this.C=a.call(this,this.C,this.H)} -function ah(a){this.C=a.call(this,this.C,this.J)}function bh(a){this.C=a.call(this,this.C,this.K)}function ch(a){this.C=a.call(this,this.C,this.C)}function dh(a){this.C=a.call(this,this.C,this.Y)}function eh(a){this.C=a.call(this,this.C,this.I)}function fh(a){this.C=a.call(this,this.C,this.G)}function gh(a){this.C=a.call(this,this.C,this.F)}function hh(a){this.Y=a.call(this,this.Y,this.H)}function ih(a){this.Y=a.call(this,this.Y,this.J)}function jh(a){this.Y=a.call(this,this.Y,this.K)} -function kh(a){this.Y=a.call(this,this.Y,this.C)}function lh(a){this.Y=a.call(this,this.Y,this.Y)}function mh(a){this.Y=a.call(this,this.Y,this.I)}function nh(a){this.Y=a.call(this,this.Y,this.G)}function oh(a){this.Y=a.call(this,this.Y,this.F)}function ph(a){this.I=a.call(this,this.I,this.H)}function qh(a){this.I=a.call(this,this.I,this.J)}function rh(a){this.I=a.call(this,this.I,this.K)}function sh(a){this.I=a.call(this,this.I,this.C)}function th(a){this.I=a.call(this,this.I,this.Y)} -function uh(a){this.I=a.call(this,this.I,this.I)}function vh(a){this.I=a.call(this,this.I,this.G)}function wh(a){this.I=a.call(this,this.I,this.F)}function xh(a){this.G=a.call(this,this.G,this.H)}function yh(a){this.G=a.call(this,this.G,this.J)}function zh(a){this.G=a.call(this,this.G,this.K)}function Ah(a){this.G=a.call(this,this.G,this.C)}function Bh(a){this.G=a.call(this,this.G,this.Y)}function Ch(a){this.G=a.call(this,this.G,this.I)}function Dh(a){this.G=a.call(this,this.G,this.G)} -function Eh(a){this.G=a.call(this,this.G,this.F)}function Fh(a){this.F=a.call(this,this.F,this.H)}function Gh(a){this.F=a.call(this,this.F,this.J)}function Hh(a){this.F=a.call(this,this.F,this.K)}function Ih(a){this.F=a.call(this,this.F,this.C)}function Jh(a){this.F=a.call(this,this.F,this.Y)}function Kh(a){this.F=a.call(this,this.F,this.I)}function Lh(a){this.F=a.call(this,this.F,this.G)}function Mh(a){this.F=a.call(this,this.F,this.F)} -var Nh=[function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.H&255);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.H&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.H&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.H&255);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.G),this.H&255);this.R(a);this.A-=this.B.ca}, +k.M=function(){var a=this.xb(this.Ea)<<24>>24;this.Ea=this.va.Ga+(this.wa=this.wa+1&65535);return a&65535};k.L=function(){var a=this.ra(this.Ea);this.Ea=this.va.Ga+(this.wa=this.wa+2&65535);return a};k.Pa=function(){var a=this.Y;this.Y=this.Y+2&65535;return this.ra(this.Ya.Ic(a,1))};function H(a,b){var c=a.Y=a.Y-2&65535;a.Ua(a.Ya.$b(c,1),b)} +k.sh=function(a){if(a||!this.ma.lb||this.ma.Lk)G(this,"AX",this.H),G(this,"BX",this.C),G(this,"CX",this.J),G(this,"DX",this.K),G(this,"SP",this.Y),G(this,"BP",this.I),G(this,"SI",this.G),G(this,"DI",this.F),G(this,"CS",this.va.ta),G(this,"DS",this.fb.ta),G(this,"SS",this.Ya.ta),G(this,"ES",this.La.ta),G(this,"IP",this.wa),a=wc(this),G(this,"PS",a),G(this,"C",a&1?1:0,1),G(this,"P",a&4?1:0,1),G(this,"A",a&16?1:0,1),G(this,"Z",a&64?1:0,1),G(this,"S",a&128?1:0,1),G(this,"T",a&256?1:0,1),G(this,"I",a& +512?1:0,1),G(this,"D",a&1024?1:0,1),G(this,"V",a&2048?1:0,1);if(a=this.xa.speed)a.textContent=this.ma.lb&&this.da.oe?this.da.oe.toFixed(2)+"Mhz":"Stopped"}; +k.Of=function(a){this.ma.kg=!0;var b=this.ma.Jk=this.ka&&Nd(this.ka),c=this.ma.Oi||!a;this.ma.Oi=!1;this.Vc=this.A=a;this.oa&&!a&&$b(this.oa);a||this.ua(512)||(this.ba|=4);do{var d=this.ba&240;if(d)this.Da|=d;else if(this.Ig=this.Ea,this.ja=this.Qa=-4,this.D=this.fb,this.N=this.Ya,this.Da=this.ba&256,this.yb){a:{if(!(this.ba&4))if(this.yb&1&&this.Ba&512){if(d=Od(this.oa),-1<=d&&(this.yb&=-2,0<=d)){this.yb&=-5;Pd.call(this,d,null,11);d=!0;break a}}else if(this.yb&2){this.yb&=-3;Pd.call(this,1,null, +11);d=!0;break a}if(d=this.yb&8){for(var d=this.oa,e=!1,f=0;fthis.Qa?0>this.ja?this.B.bc:this.B.Fb:this.B.qc;return(this.aa=this.la=a+b)&255}function Td(a,b){this.ea=256;this.A-=0>this.Qa?0>this.ja?this.B.bc:this.B.Fb:this.B.qc;return(this.aa=this.la=this.qa=a|b)&255} +function Ud(a,b){this.qa=a^b;this.aa=this.la=a+b+(this.aa&this.ea?1:0);this.ea=256;this.A-=0>this.Qa?0>this.ja?this.B.bc:this.B.Fb:this.B.qc;return this.aa&255}function Vd(a,b){this.qa=a^b;this.aa=this.la=a-b-(this.aa&this.ea?1:0);this.ea=256;this.A-=0>this.Qa?0>this.ja?this.B.bc:this.B.Fb:this.B.qc;return this.aa&255}function Wd(a,b){this.ea=256;this.A-=0>this.Qa?0>this.ja?this.B.bc:this.B.Fb:this.B.qc;return(this.aa=this.la=this.qa=a&b)&255} +function Xd(a,b){this.qa=a^b;this.ea=256;this.A-=0>this.Qa?0>this.ja?this.B.bc:this.B.Fb:this.B.qc;return(this.aa=this.la=a-b)&255}function Yd(a,b){this.ea=256;this.A-=0>this.Qa?0>this.ja?this.B.bc:this.B.Fb:this.B.qc;return(this.aa=this.la=this.qa=a^b)&255}function Zd(a,b){this.qa=a^b;this.ea=256;this.aa=this.la=a-b;this.A-=0>this.Qa?0>this.ja?this.B.bc:this.B.mj:this.B.Fb;this.ba|=2;return a} +function $d(a,b){this.qa=a^b;this.ea=65536;this.A-=0>this.Qa?0>this.ja?this.B.bc:this.B.Fb:this.B.qc;return(this.aa=this.la=a+b)&65535}function ae(a,b){this.ea=65536;this.A-=0>this.Qa?0>this.ja?this.B.bc:this.B.Fb:this.B.qc;return(this.aa=this.la=this.qa=a|b)&65535}function be(a,b){this.qa=a^b;this.aa=this.la=a+b+(this.aa&this.ea?1:0);this.ea=65536;this.A-=0>this.Qa?0>this.ja?this.B.bc:this.B.Fb:this.B.qc;return this.aa&65535} +function ce(a,b){this.qa=a^b;this.aa=this.la=a-b-(this.aa&this.ea?1:0);this.ea=65536;this.A-=0>this.Qa?0>this.ja?this.B.bc:this.B.Fb:this.B.qc;return this.aa&65535}function de(a,b){this.ea=65536;this.A-=0>this.Qa?0>this.ja?this.B.bc:this.B.Fb:this.B.qc;return(this.aa=this.la=this.qa=a&b)&65535}function ee(a,b){this.qa=a^b;this.ea=65536;this.A-=0>this.Qa?0>this.ja?this.B.bc:this.B.Fb:this.B.qc;return(this.aa=this.la=a-b)&65535} +function fe(a,b){this.ea=65536;this.A-=0>this.Qa?0>this.ja?this.B.bc:this.B.Fb:this.B.qc;return(this.aa=this.la=this.qa=a^b)&65535}function ge(a,b){this.qa=a^b;this.ea=65536;this.aa=this.la=a-b;this.A-=0>this.Qa?0>this.ja?this.B.bc:this.B.mj:this.B.Fb;this.ba|=2;return a}function he(a,b){this.aa=this.aa&this.ea-1|(a&b?this.ea:0);(a^a>>1)&b>>1?Md(this):Hd(this)}function ie(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<>8-e)&255:d=a<<8;he.call(this,d,256)}return c} +function je(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<>16-e)&65535:d=a<<16;he.call(this,d,65536)}return c}function ke(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);he.call(this,d,256)}return c}function le(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);he.call(this,d,65536)}return c} +function me(a,b){var c=a;if(b){var d;(d=(b&this.Jf)%9)?(d=a<>9-d,c=d&255):d=a|(this.aa&this.ea?1:0)<<8;he.call(this,d,256)}return c}function ne(a,b){var c=a;if(b){var d;(d=(b&this.Jf)%17)?(d=a<>17-d,c=d&65535):d=a|(this.aa&this.ea?1:0)<<16;he.call(this,d,65536)}return c}function oe(a,b){var c=a;b&&(c=(b&this.Jf)%9,c=a>>c|(this.aa&this.ea?1:0)<<8-c|a<<9-c,he.call(this,c,256),c&=255);return c} +function pe(a,b){var c=a;b&&(c=(b&this.Jf)%17,c=a>>c|(this.aa&this.ea?1:0)<<16-c|a<<17-c,he.call(this,c,65536),c&=65535);return c}function qe(a,b){var c=a;b&&(c=8>b-1;this.aa=this.la=c>>1;this.aa=c&1?this.aa|256:this.aa&-257;this.qa=a^this.aa;this.ea=256;a=this.aa}return a&255}function te(a,b){if(b){var c=16>b-1;this.aa=this.la=c>>1;this.aa=c&1?this.aa|65536:this.aa&-65537;this.qa=a^this.aa;this.ea=65536;a=this.aa}return a&65535}function ue(a,b){if(b){8>24>>b-1;this.aa=this.la=c>>1;this.aa=c&1?this.aa|256:this.aa&-257;this.qa=a^this.aa;this.ea=256;a=this.aa}return a&255} +function ve(a,b){if(b){16>16>>b-1;this.aa=this.la=c>>1;this.aa=c&1?this.aa|65536:this.aa&-65537;this.qa=a^this.aa;this.ea=65536;a=this.aa}return a&65535}function we(){this.A-=0>this.ja?2:this.B.em;return 1}function xe(){var a=this.J&this.Jf;this.A-=(0>this.ja?this.B.Ij:this.B.Hj)+(a<this.ja?this.B.Ij:this.B.Hj)+(a<this.Qa?this.B.rc:this.B.Yl;return b},Ae,Ae,Ae,Ae,Ae,Ae,Ae],Ee=[function(a,b){this.A-=0>this.Qa?this.B.Ql:this.B.Ol;return b},K,K,K,K,K,K,K],Fe=[ie,ke,me,oe,qe,se,K,ue],Ge=[je,le,ne,pe,re,te,K,ve],Ie=[function(a,b){b=this.fa();this.aa=this.la=this.qa=a&b;this.ea=256;this.A-=0>this.ja?this.B.Oj:this.B.Nj;this.ba|=2;return a},K,function(a){this.A-=0>this.ja?this.B.Cg:this.B.Bg;return a^255},function(a,b){b=0;this.qa= +a^b;this.ea=256;this.A-=0>this.ja?this.B.Cg:this.B.Bg;return(this.aa=this.la=b-a)&255},function(a){this.H=this.Pb=(this.aa=(this.H&255)*a)&65535;this.qa=this.la=this.aa;this.ea=256;this.H&65280?(Id(this),Md(this)):(Bd(this),Hd(this));this.A-=0>this.ja?this.B.Ul:this.B.Tl;this.ba|=2;return a},function(a){var b=(this.H<<24>>24)*(a<<24>>24);this.H=this.Pb=b&65535;this.aa=this.qa=this.la=b;this.ea=256;127b?(Id(this),Md(this)):(Bd(this),Hd(this));this.A-=0>this.ja?this.B.zl:this.B.yl;this.ba|= +2;return a},function(a){if(!a)return He.call(this),a;var b=this.H/a;if(255this.ja?this.B.rl:this.B.ql;this.ba|=2;return a},function(a){if(!a)return He.call(this),a;var b=(this.H<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return He.call(this),a;this.Pb=this.H=b&255|((this.H<<16>>16)%(a<<24>>24)&255)<<8;this.la=this.qa=this.aa=b|256;this.ea=256;this.A-=0>this.ja?this.B.vl:this.B.ul;this.ba|= +2;return a}],Je=[function(a,b){b=this.L();this.aa=this.la=this.qa=a&b;this.ea=65536;this.A-=0>this.ja?this.B.Oj:this.B.Nj;this.ba|=2;return a},K,function(a){this.A-=0>this.ja?this.B.Cg:this.B.Bg;return a^65535},function(a,b){b=0;this.qa=a^b;this.ea=65536;this.A-=0>this.ja?this.B.Cg:this.B.Bg;return(this.aa=this.la=b-a)&65535},function(a){this.Pb=this.H=(this.aa=this.H*a)&65535;this.Lg=this.K=this.aa>>16&65535;this.qa=this.la=this.aa;this.ea=65536;this.K?(Id(this),Md(this)):(Bd(this),Hd(this));this.A-= +0>this.ja?this.B.Wl:this.B.Vl;this.ba|=2;return a},function(a){var b=(this.H<<16>>16)*(a<<16>>16);this.H=this.Pb=b&65535;this.K=this.Lg=b>>16&65535;this.aa=this.qa=this.la=b;this.ea=65536;32767b?(Id(this),Md(this)):(Bd(this),Hd(this));this.A-=0>this.ja?this.B.Bl:this.B.Al;this.ba|=2;return a},function(a,b){if(!a)return He.call(this),a;b=this.H+65536*this.K;var c=Math.floor(b/a);if(65536<=c)return He.call(this),a;this.Pb=this.H=c&65535;this.Lg=this.K=b%a&65535;this.la=this.qa=this.aa=c| +65536;this.ea=65536;this.A-=0>this.ja?this.B.tl:this.B.sl;this.ba|=2;return a},function(a,b){if(!a)return He.call(this),a;var c=a<<16>>16;b=this.K<<16|this.H;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return He.call(this),a;this.Pb=this.H=d&65535;this.Lg=this.K=b%c&65535;this.la=this.qa=this.aa=d|65536;this.ea=65536;this.A-=0>this.ja?this.B.xl:this.B.wl;this.ba|=2;return a}],Hc=[function(a){this.qa=a;a=(this.la=a+1)&255;this.aa=a|(this.aa&this.ea?1:0)<<8;this.ea=256;this.A-=0>this.ja?this.B.Ag: +this.B.zg;return a},function(a){this.qa=a;a=(this.la=a-1)&255;this.aa=a|(this.aa&this.ea?1:0)<<8;this.ea=256;this.A-=0>this.ja?this.B.Ag:this.B.zg;return a},K,K,K,K,K,K],Ic=[function(a){this.qa=a;a=(this.la=a+1)&65535;this.aa=a|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=0>this.ja?this.B.Ag:this.B.zg;return a},function(a){this.qa=a;a=(this.la=a-1)&65535;this.aa=a|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=0>this.ja?this.B.Ag:this.B.zg;return a},function(a){H(this,this.wa);J(this,a);this.A-= +0>this.ja?this.B.pl:this.B.ol;this.ba|=2;return a},function(a){if(0>this.ja)return K.call(this,a);Ke.call(this,a,this.ra(this.ja+2));this.A-=this.B.ml;this.ba|=2;return a},function(a){J(this,a);this.A-=0>this.ja?this.B.Kl:this.B.Jl;this.ba|=2;return a},function(a){if(0>this.ja)return K.call(this,a);yc(this,a,this.ra(this.ja+2));this.A-=this.B.Hl;this.ba|=2;return a},function(a){var b=a;this.ba&512&&(a=a-2&65535,80286>this.Ka&&(b=a));H(this,b);this.A-=0>this.ja?this.B.xc:this.B.$l;this.ba|=2;return a}, +Ae],Le=[ie,ke,me,oe,qe,se,K,ue],Pe=[je,le,ne,pe,re,te,K,ve];function Qe(a,b){this.A-=0>this.Qa?0>this.ja?this.B.Sl:this.B.Rl:this.B.Pl;return b}function Re(){return Qe.call(this,0,this.Pb)}function Se(a,b){this.aa=this.la=this.qa=a&b;this.ea=256;this.A-=0>this.Qa?0>this.ja?this.B.Pj:this.B.Eg:this.B.Eg;this.ba|=2;return a}function Te(a,b){this.aa=this.la=this.qa=a&b;this.ea=65536;this.A-=0>this.Qa?0>this.ja?this.B.Pj:this.B.Eg:this.B.Eg;this.ba|=2;return a} +function Ue(a,b){var c=(b<<16>>16)*(this.fa()<<24>>24);this.aa=this.qa=this.la=c;this.ea=256;32767c?(Id(this),Md(this)):(Bd(this),Hd(this));this.A-=0>this.ja?21:24;return c&65535}function Ve(a,b){var c=(b<<16>>16)*(this.L()<<16>>16);this.aa=this.qa=this.la=c;this.ea=65536;32767c?(Id(this),Md(this)):(Bd(this),Hd(this));this.A-=0>this.ja?21:24;return c&65535}function We(a){return a}function Xe(a){if(0>this.ja)return L.call(this),a;this.A-=this.B.Ll;return this.ja} +function Ye(a,b){if(0>this.ja)return L.call(this),a;rd(this,this.ra(this.ja+2));this.A-=this.B.qj;return b}function Ze(a,b){if(0>this.ja)return L.call(this),a;td(this,this.ra(this.ja+2));this.A-=this.B.qj;return b}function $e(a){if(0>this.ja)return Lc.call(this),a;var b=a<<16>>16,c=this.ra(this.ja)<<16>>16,d=this.ra(this.ja+2)<<16>>16;this.A-=this.B.il;if(bd)J(this,this.Ig-this.va.Ga),Pd.call(this,5,null,0);this.ba|=2;return a} +function af(a,b){this.A-=10+(0>this.ja?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Kd(this),a;Dd(this);return a}function bf(a,b){this.A-=14+(0>this.ja?0:2);if(-4!=this.Tb.load(b,!0)&&this.Tb.oc>=this.va.bb&&this.Tb.oc>=(b&3))return Kd(this),this.Tb.ob&65280;Dd(this);return a}function cf(a,b){this.A-=14+(0>this.ja?0:2);if(b&65528&&-4!=this.Tb.load(b,!0)&&(7168==(this.Tb.ob&7168)||this.Tb.oc>=this.va.bb)&&this.Tb.oc>=(b&3))return Kd(this),this.Tb.pc;Dd(this);return a} +function df(a,b){if(0>this.ja){switch(this.gh&7){case 0:this.H=this.H&-256|a;break;case 1:this.J=this.J&-256|a;break;case 2:this.K=this.K&-256|a;break;case 3:this.C=this.C&-256|a;break;case 4:this.H=this.H&255|a<<8;break;case 5:this.J=this.J&255|a<<8;break;case 6:this.K=this.K&255|a<<8;break;case 7:this.C=this.C&255|a<<8}this.A-=this.B.Rj}else this.Qa=this.ja,this.R(a),this.A-=this.B.Qj;return b} +function ef(a,b){if(0>this.ja){switch(this.gh&7){case 0:this.H=a;break;case 1:this.J=a;break;case 2:this.K=a;break;case 3:this.C=a;break;case 4:this.Y=a;break;case 5:this.I=a;break;case 6:this.G=a;break;case 7:this.F=a}this.A-=this.B.Rj}else this.Qa=this.ja,this.S(a),this.A-=this.B.Qj;return b}function ff(a){a|=this.gc&1;this.gc=this.gc&65520|a&-65521;this.gc&1&&gd(this,!0)}function Ke(a,b){var c=this.va.ta,d=this.wa;null!=yc(this,a,b,!0)&&(H(this,c),H(this,d))} +function gf(a){var b=this.Pa(),c=this.Pa();a&&(this.Y=this.Y+a&65535);yc(this,b,c,!1)&&(a&&(this.Y=this.Y+a&65535),this.fb.ta&65528&&this.fb.octhis.Ph)J(this,this.Ig-this.va.Ga),d=!0;else if(8!=this.Ph)b=0,a=8,d=!0;else{hf.call(this,-1,0,c);fd(this);return}hf.call(this,a,b,c)&&(d=!1);d&&Pd.call(this,this.Ph=a,b,0);this.ba&=-4}else this.cb("Fault "+q(a)+" blocked by Debugger",536870912),J(this,this.Ig-this.va.Ga)} +function hf(a,b,c){var d=32,e=qb(this.sa,this.Ea);204==e&&(c=!1,d|=1);983040<=this.Ea&&1048575>=this.Ea&&(c=!1);this.ua(d|1073741824)&&(c=!0);if(this.ua(d)||c)a=(c?"\n":"")+"Fault "+q(a)+(null!=b?" ("+r(b)+")":"")+" on opcode 0x"+q(e)+" at "+ea(this.wa,this.va.ta)+" (%"+p(this.Ea,6)+")",b=this.ma.lb,this.cb(a,d)?c&&(c=b,this.ka.Ib()):(this.Ia(a),this.Ib());return c}function Lc(){ic.call(this,6);this.Ib()} +function L(){J(this,this.Ig-this.va.Ga);fb(this,"Undefined opcode 0x"+q(qb(this.sa,this.Ea))+" at "+ea(this.wa,this.va.ta));this.Ib()}function jf(a){a=a.call(this,this.H&255,this.H&255);this.H=this.H&-256|a}function kf(a){a=a.call(this,this.H&255,this.J&255);this.H=this.H&-256|a}function lf(a){a=a.call(this,this.H&255,this.K&255);this.H=this.H&-256|a}function mf(a){a=a.call(this,this.H&255,this.C&255);this.H=this.H&-256|a}function nf(a){a=a.call(this,this.H&255,this.H>>8);this.H=this.H&-256|a} +function of(a){a=a.call(this,this.H&255,this.J>>8);this.H=this.H&-256|a}function pf(a){a=a.call(this,this.H&255,this.K>>8);this.H=this.H&-256|a}function qf(a){a=a.call(this,this.H&255,this.C>>8);this.H=this.H&-256|a}function rf(a){a=a.call(this,this.J&255,this.H&255);this.J=this.J&-256|a}function sf(a){a=a.call(this,this.J&255,this.J&255);this.J=this.J&-256|a}function tf(a){a=a.call(this,this.J&255,this.K&255);this.J=this.J&-256|a} +function uf(a){a=a.call(this,this.J&255,this.C&255);this.J=this.J&-256|a}function vf(a){a=a.call(this,this.J&255,this.H>>8);this.J=this.J&-256|a}function wf(a){a=a.call(this,this.J&255,this.J>>8);this.J=this.J&-256|a}function xf(a){a=a.call(this,this.J&255,this.K>>8);this.J=this.J&-256|a}function yf(a){a=a.call(this,this.J&255,this.C>>8);this.J=this.J&-256|a}function zf(a){a=a.call(this,this.K&255,this.H&255);this.K=this.K&-256|a} +function Af(a){a=a.call(this,this.K&255,this.J&255);this.K=this.K&-256|a}function Bf(a){a=a.call(this,this.K&255,this.K&255);this.K=this.K&-256|a}function Cf(a){a=a.call(this,this.K&255,this.C&255);this.K=this.K&-256|a}function Df(a){a=a.call(this,this.K&255,this.H>>8);this.K=this.K&-256|a}function Ef(a){a=a.call(this,this.K&255,this.J>>8);this.K=this.K&-256|a}function Ff(a){a=a.call(this,this.K&255,this.K>>8);this.K=this.K&-256|a} +function Gf(a){a=a.call(this,this.K&255,this.C>>8);this.K=this.K&-256|a}function Hf(a){a=a.call(this,this.C&255,this.H&255);this.C=this.C&-256|a}function If(a){a=a.call(this,this.C&255,this.J&255);this.C=this.C&-256|a}function Jf(a){a=a.call(this,this.C&255,this.K&255);this.C=this.C&-256|a}function Kf(a){a=a.call(this,this.C&255,this.C&255);this.C=this.C&-256|a}function Lf(a){a=a.call(this,this.C&255,this.H>>8);this.C=this.C&-256|a} +function Mf(a){a=a.call(this,this.C&255,this.J>>8);this.C=this.C&-256|a}function Nf(a){a=a.call(this,this.C&255,this.K>>8);this.C=this.C&-256|a}function Of(a){a=a.call(this,this.C&255,this.C>>8);this.C=this.C&-256|a}function Pf(a){a=a.call(this,this.H>>8,this.H&255);this.H=this.H&255|a<<8}function Qf(a){a=a.call(this,this.H>>8,this.J&255);this.H=this.H&255|a<<8}function Rf(a){a=a.call(this,this.H>>8,this.K&255);this.H=this.H&255|a<<8} +function Sf(a){a=a.call(this,this.H>>8,this.C&255);this.H=this.H&255|a<<8}function Tf(a){a=a.call(this,this.H>>8,this.H>>8);this.H=this.H&255|a<<8}function Uf(a){a=a.call(this,this.H>>8,this.J>>8);this.H=this.H&255|a<<8}function Vf(a){a=a.call(this,this.H>>8,this.K>>8);this.H=this.H&255|a<<8}function Wf(a){a=a.call(this,this.H>>8,this.C>>8);this.H=this.H&255|a<<8}function Xf(a){a=a.call(this,this.J>>8,this.H&255);this.J=this.J&255|a<<8} +function Yf(a){a=a.call(this,this.J>>8,this.J&255);this.J=this.J&255|a<<8}function Zf(a){a=a.call(this,this.J>>8,this.K&255);this.J=this.J&255|a<<8}function $f(a){a=a.call(this,this.J>>8,this.C&255);this.J=this.J&255|a<<8}function ag(a){a=a.call(this,this.J>>8,this.H>>8);this.J=this.J&255|a<<8}function bg(a){a=a.call(this,this.J>>8,this.J>>8);this.J=this.J&255|a<<8}function cg(a){a=a.call(this,this.J>>8,this.K>>8);this.J=this.J&255|a<<8} +function dg(a){a=a.call(this,this.J>>8,this.C>>8);this.J=this.J&255|a<<8}function eg(a){a=a.call(this,this.K>>8,this.H&255);this.K=this.K&255|a<<8}function fg(a){a=a.call(this,this.K>>8,this.J&255);this.K=this.K&255|a<<8}function gg(a){a=a.call(this,this.K>>8,this.K&255);this.K=this.K&255|a<<8}function hg(a){a=a.call(this,this.K>>8,this.C&255);this.K=this.K&255|a<<8}function ig(a){a=a.call(this,this.K>>8,this.H>>8);this.K=this.K&255|a<<8} +function jg(a){a=a.call(this,this.K>>8,this.J>>8);this.K=this.K&255|a<<8}function kg(a){a=a.call(this,this.K>>8,this.K>>8);this.K=this.K&255|a<<8}function lg(a){a=a.call(this,this.K>>8,this.C>>8);this.K=this.K&255|a<<8}function mg(a){a=a.call(this,this.C>>8,this.H&255);this.C=this.C&255|a<<8}function ng(a){a=a.call(this,this.C>>8,this.J&255);this.C=this.C&255|a<<8}function og(a){a=a.call(this,this.C>>8,this.K&255);this.C=this.C&255|a<<8} +function pg(a){a=a.call(this,this.C>>8,this.C&255);this.C=this.C&255|a<<8}function qg(a){a=a.call(this,this.C>>8,this.H>>8);this.C=this.C&255|a<<8}function rg(a){a=a.call(this,this.C>>8,this.J>>8);this.C=this.C&255|a<<8}function sg(a){a=a.call(this,this.C>>8,this.K>>8);this.C=this.C&255|a<<8}function tg(a){a=a.call(this,this.C>>8,this.C>>8);this.C=this.C&255|a<<8}function ug(a){this.H=a.call(this,this.H,this.H)}function vg(a){this.H=a.call(this,this.H,this.J)} +function wg(a){this.H=a.call(this,this.H,this.K)}function xg(a){this.H=a.call(this,this.H,this.C)}function yg(a){this.H=a.call(this,this.H,this.Y)}function zg(a){this.H=a.call(this,this.H,this.I)}function Ag(a){this.H=a.call(this,this.H,this.G)}function Bg(a){this.H=a.call(this,this.H,this.F)}function Cg(a){this.J=a.call(this,this.J,this.H)}function Dg(a){this.J=a.call(this,this.J,this.J)}function Eg(a){this.J=a.call(this,this.J,this.K)}function Fg(a){this.J=a.call(this,this.J,this.C)} +function Gg(a){this.J=a.call(this,this.J,this.Y)}function Hg(a){this.J=a.call(this,this.J,this.I)}function Ig(a){this.J=a.call(this,this.J,this.G)}function Jg(a){this.J=a.call(this,this.J,this.F)}function Kg(a){this.K=a.call(this,this.K,this.H)}function Lg(a){this.K=a.call(this,this.K,this.J)}function Mg(a){this.K=a.call(this,this.K,this.K)}function Ng(a){this.K=a.call(this,this.K,this.C)}function Og(a){this.K=a.call(this,this.K,this.Y)}function Pg(a){this.K=a.call(this,this.K,this.I)} +function Qg(a){this.K=a.call(this,this.K,this.G)}function Rg(a){this.K=a.call(this,this.K,this.F)}function Sg(a){this.C=a.call(this,this.C,this.H)}function Tg(a){this.C=a.call(this,this.C,this.J)}function Ug(a){this.C=a.call(this,this.C,this.K)}function Vg(a){this.C=a.call(this,this.C,this.C)}function Wg(a){this.C=a.call(this,this.C,this.Y)}function Xg(a){this.C=a.call(this,this.C,this.I)}function Yg(a){this.C=a.call(this,this.C,this.G)}function Zg(a){this.C=a.call(this,this.C,this.F)} +function $g(a){this.Y=a.call(this,this.Y,this.H)}function ah(a){this.Y=a.call(this,this.Y,this.J)}function bh(a){this.Y=a.call(this,this.Y,this.K)}function ch(a){this.Y=a.call(this,this.Y,this.C)}function dh(a){this.Y=a.call(this,this.Y,this.Y)}function eh(a){this.Y=a.call(this,this.Y,this.I)}function fh(a){this.Y=a.call(this,this.Y,this.G)}function gh(a){this.Y=a.call(this,this.Y,this.F)}function hh(a){this.I=a.call(this,this.I,this.H)}function ih(a){this.I=a.call(this,this.I,this.J)} +function jh(a){this.I=a.call(this,this.I,this.K)}function kh(a){this.I=a.call(this,this.I,this.C)}function lh(a){this.I=a.call(this,this.I,this.Y)}function mh(a){this.I=a.call(this,this.I,this.I)}function nh(a){this.I=a.call(this,this.I,this.G)}function oh(a){this.I=a.call(this,this.I,this.F)}function ph(a){this.G=a.call(this,this.G,this.H)}function qh(a){this.G=a.call(this,this.G,this.J)}function rh(a){this.G=a.call(this,this.G,this.K)}function sh(a){this.G=a.call(this,this.G,this.C)} +function th(a){this.G=a.call(this,this.G,this.Y)}function uh(a){this.G=a.call(this,this.G,this.I)}function vh(a){this.G=a.call(this,this.G,this.G)}function wh(a){this.G=a.call(this,this.G,this.F)}function xh(a){this.F=a.call(this,this.F,this.H)}function yh(a){this.F=a.call(this,this.F,this.J)}function zh(a){this.F=a.call(this,this.F,this.K)}function Ah(a){this.F=a.call(this,this.F,this.C)}function Bh(a){this.F=a.call(this,this.F,this.Y)}function Ch(a){this.F=a.call(this,this.F,this.I)} +function Dh(a){this.F=a.call(this,this.F,this.G)}function Eh(a){this.F=a.call(this,this.F,this.F)} +var Fh=[function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.H&255);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.H&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.H&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.H&255);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.G),this.H&255);this.R(a);this.A-=this.B.ca}, function(a){a=a.call(this,this.O(this.D,this.F),this.H&255);this.R(a);this.A-=this.B.ca},function(a){a=a.call(this,this.O(this.D,this.L()),this.H&255);this.R(a);this.A-=this.B.Aa},function(a){a=a.call(this,this.O(this.D,this.C),this.H&255);this.R(a);this.A-=this.B.ca},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.J&255);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.J&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N, this.I+this.G&65535),this.J&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.J&255);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.G),this.J&255);this.R(a);this.A-=this.B.ca},function(a){a=a.call(this,this.O(this.D,this.F),this.J&255);this.R(a);this.A-=this.B.ca},function(a){a=a.call(this,this.O(this.D,this.L()),this.J&255);this.R(a);this.A-=this.B.Aa},function(a){a=a.call(this,this.O(this.D,this.C),this.J&255);this.R(a); this.A-=this.B.ca},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.K&255);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.K&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.K&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.K&255);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.G),this.K&255);this.R(a);this.A-= @@ -164,8 +165,8 @@ this.C+this.G+this.L()&65535),this.J>>8);this.R(a);this.A-=this.B.W},function(a) a.call(this,this.O(this.D,this.F+this.L()&65535),this.J>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.J>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.L()&65535),this.J>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.X}, function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.G+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.K>>8);this.R(a); this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.F+ -this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.G+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},rf,zf,Hf,Pf,Xf,eg,mg,ug,sf,Af,If,Qf,Yf, -fg,ng,vg,tf,Bf,Jf,Rf,Zf,gg,og,wg,uf,Cf,Kf,Sf,$f,hg,pg,xg,vf,Df,Lf,Tf,ag,ig,qg,yg,wf,Ef,Mf,Uf,bg,jg,rg,zg,xf,Ff,Nf,Vf,cg,kg,sg,Ag,yf,Gf,Of,Wf,dg,lg,tg,Bg],Oh=[function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.H);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.H);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.H);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.F& +this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.G+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},jf,rf,zf,Hf,Pf,Xf,eg,mg,kf,sf,Af,If,Qf, +Yf,fg,ng,lf,tf,Bf,Jf,Rf,Zf,gg,og,mf,uf,Cf,Kf,Sf,$f,hg,pg,nf,vf,Df,Lf,Tf,ag,ig,qg,of,wf,Ef,Mf,Uf,bg,jg,rg,pf,xf,Ff,Nf,Vf,cg,kg,sg,qf,yf,Gf,Of,Wf,dg,lg,tg],Gh=[function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.H);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.H);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.H);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.F& 65535),this.H);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.G),this.H);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.F),this.H);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.L()),this.H);this.S(a);this.A-=this.B.Aa},function(a){a=a.call(this,this.P(this.D,this.C),this.H);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.J);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this, this.P(this.D,this.C+this.F&65535),this.J);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.J);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.J);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.G),this.J);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.F),this.J);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.L()),this.J);this.S(a); this.A-=this.B.Aa},function(a){a=a.call(this,this.P(this.D,this.C),this.J);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.K);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.K);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.K);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.K);this.S(a);this.A-=this.B.ha},function(a){a= @@ -202,8 +203,8 @@ function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.L()&65535),this.I);th this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.I);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.I);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.L()&65535),this.I);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.L()&65535),this.G);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.L()&65535),this.G);this.S(a); this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.L()&65535),this.G);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.L()&65535),this.G);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.G+this.L()&65535),this.G);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.G);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.G);this.S(a); this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.L()&65535),this.G);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.L()&65535),this.F);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.L()&65535),this.F);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.L()&65535),this.F);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.L()&65535), -this.F);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.G+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},Cg,Kg,Sg,$g,hh,ph,xh,Fh,Dg,Lg,Tg,ah,ih,qh,yh,Gh,Eg,Mg,Ug,bh,jh,rh,zh, -Hh,Fg,Ng,Vg,ch,kh,sh,Ah,Ih,Gg,Og,Wg,dh,lh,th,Bh,Jh,Hg,Pg,Xg,eh,mh,uh,Ch,Kh,Ig,Qg,Yg,fh,nh,vh,Dh,Lh,Jg,Rg,Zg,gh,oh,wh,Eh,Mh],Ph=[function(a){a=a.call(this,this.H&255,this.U(this.D,this.C+this.G&65535));this.H=this.H&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.H&255,this.U(this.D,this.C+this.F&65535));this.H=this.H&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.H&255,this.U(this.N,this.I+this.G&65535));this.H=this.H&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.H&255, +this.F);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.G+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},ug,Cg,Kg,Sg,$g,hh,ph,xh,vg,Dg,Lg,Tg,ah,ih,qh,yh,wg,Eg,Mg,Ug,bh,jh,rh, +zh,xg,Fg,Ng,Vg,ch,kh,sh,Ah,yg,Gg,Og,Wg,dh,lh,th,Bh,zg,Hg,Pg,Xg,eh,mh,uh,Ch,Ag,Ig,Qg,Yg,fh,nh,vh,Dh,Bg,Jg,Rg,Zg,gh,oh,wh,Eh],Hh=[function(a){a=a.call(this,this.H&255,this.U(this.D,this.C+this.G&65535));this.H=this.H&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.H&255,this.U(this.D,this.C+this.F&65535));this.H=this.H&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.H&255,this.U(this.N,this.I+this.G&65535));this.H=this.H&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.H&255, this.U(this.N,this.I+this.F&65535));this.H=this.H&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.H&255,this.U(this.D,this.G));this.H=this.H&-256|a;this.A-=this.B.ca},function(a){a=a.call(this,this.H&255,this.U(this.D,this.F));this.H=this.H&-256|a;this.A-=this.B.ca},function(a){a=a.call(this,this.H&255,this.U(this.D,this.L()));this.H=this.H&-256|a;this.A-=this.B.Aa},function(a){a=a.call(this,this.H&255,this.U(this.D,this.C));this.H=this.H&-256|a;this.A-=this.B.ca},function(a){a=a.call(this, this.J&255,this.U(this.D,this.C+this.G&65535));this.J=this.J&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.J&255,this.U(this.D,this.C+this.F&65535));this.J=this.J&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.J&255,this.U(this.N,this.I+this.G&65535));this.J=this.J&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.J&255,this.U(this.N,this.I+this.F&65535));this.J=this.J&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.J&255,this.U(this.D,this.G));this.J=this.J&-256| a;this.A-=this.B.ca},function(a){a=a.call(this,this.J&255,this.U(this.D,this.F));this.J=this.J&-256|a;this.A-=this.B.ca},function(a){a=a.call(this,this.J&255,this.U(this.D,this.L()));this.J=this.J&-256|a;this.A-=this.B.Aa},function(a){a=a.call(this,this.J&255,this.U(this.D,this.C));this.J=this.J&-256|a;this.A-=this.B.ca},function(a){a=a.call(this,this.K&255,this.U(this.D,this.C+this.G&65535));this.K=this.K&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.K&255,this.U(this.D,this.C+this.F& @@ -246,8 +247,8 @@ this.I+this.F+this.L()&65535));this.J=this.J&255|a<<8;this.A-=this.B.W},function 255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.C+this.G+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.C+this.F+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.X},function(a){a=a.call(this,this.K>>8,this.U(this.N,this.I+this.G+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.X},function(a){a=a.call(this,this.K>>8,this.U(this.N,this.I+this.F+this.L()&65535));this.K=this.K&255|a<<8;this.A-= this.B.W},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.G+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.F+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.U(this.N,this.I+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.C+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>> 8,this.U(this.D,this.C+this.G+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.C+this.F+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.X},function(a){a=a.call(this,this.C>>8,this.U(this.N,this.I+this.G+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.X},function(a){a=a.call(this,this.C>>8,this.U(this.N,this.I+this.F+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.C>>8,this.U(this.D, -this.G+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.F+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.U(this.N,this.I+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.C+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},rf,sf,tf,uf,vf,wf,xf,yf,zf,Af,Bf,Cf,Df,Ef,Ff,Gf,Hf,If,Jf,Kf,Lf,Mf,Nf,Of,Pf,Qf,Rf,Sf,Tf,Uf,Vf, -Wf,Xf,Yf,Zf,$f,ag,bg,cg,dg,eg,fg,gg,hg,ig,jg,kg,lg,mg,ng,og,pg,qg,rg,sg,tg,ug,vg,wg,xg,yg,zg,Ag,Bg],L=[function(a){this.H=a.call(this,this.H,this.V(this.D,this.C+this.G&65535));this.A-=this.B.ha},function(a){this.H=a.call(this,this.H,this.V(this.D,this.C+this.F&65535));this.A-=this.B.ia},function(a){this.H=a.call(this,this.H,this.V(this.N,this.I+this.G&65535));this.A-=this.B.ia},function(a){this.H=a.call(this,this.H,this.V(this.N,this.I+this.F&65535));this.A-=this.B.ha},function(a){this.H=a.call(this, +this.G+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.F+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.U(this.N,this.I+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.C+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},jf,kf,lf,mf,nf,of,pf,qf,rf,sf,tf,uf,vf,wf,xf,yf,zf,Af,Bf,Cf,Df,Ef,Ff,Gf,Hf,If,Jf,Kf,Lf,Mf,Nf, +Of,Pf,Qf,Rf,Sf,Tf,Uf,Vf,Wf,Xf,Yf,Zf,$f,ag,bg,cg,dg,eg,fg,gg,hg,ig,jg,kg,lg,mg,ng,og,pg,qg,rg,sg,tg],M=[function(a){this.H=a.call(this,this.H,this.V(this.D,this.C+this.G&65535));this.A-=this.B.ha},function(a){this.H=a.call(this,this.H,this.V(this.D,this.C+this.F&65535));this.A-=this.B.ia},function(a){this.H=a.call(this,this.H,this.V(this.N,this.I+this.G&65535));this.A-=this.B.ia},function(a){this.H=a.call(this,this.H,this.V(this.N,this.I+this.F&65535));this.A-=this.B.ha},function(a){this.H=a.call(this, this.H,this.V(this.D,this.G));this.A-=this.B.ca},function(a){this.H=a.call(this,this.H,this.V(this.D,this.F));this.A-=this.B.ca},function(a){this.H=a.call(this,this.H,this.V(this.D,this.L()));this.A-=this.B.Aa},function(a){this.H=a.call(this,this.H,this.V(this.D,this.C));this.A-=this.B.ca},function(a){this.J=a.call(this,this.J,this.V(this.D,this.C+this.G&65535));this.A-=this.B.ha},function(a){this.J=a.call(this,this.J,this.V(this.D,this.C+this.F&65535));this.A-=this.B.ia},function(a){this.J=a.call(this, this.J,this.V(this.N,this.I+this.G&65535));this.A-=this.B.ia},function(a){this.J=a.call(this,this.J,this.V(this.N,this.I+this.F&65535));this.A-=this.B.ha},function(a){this.J=a.call(this,this.J,this.V(this.D,this.G));this.A-=this.B.ca},function(a){this.J=a.call(this,this.J,this.V(this.D,this.F));this.A-=this.B.ca},function(a){this.J=a.call(this,this.J,this.V(this.D,this.L()));this.A-=this.B.Aa},function(a){this.J=a.call(this,this.J,this.V(this.D,this.C));this.A-=this.B.ca},function(a){this.K=a.call(this, this.K,this.V(this.D,this.C+this.G&65535));this.A-=this.B.ha},function(a){this.K=a.call(this,this.K,this.V(this.D,this.C+this.F&65535));this.A-=this.B.ia},function(a){this.K=a.call(this,this.K,this.V(this.N,this.I+this.G&65535));this.A-=this.B.ia},function(a){this.K=a.call(this,this.K,this.V(this.N,this.I+this.F&65535));this.A-=this.B.ha},function(a){this.K=a.call(this,this.K,this.V(this.D,this.G));this.A-=this.B.ca},function(a){this.K=a.call(this,this.K,this.V(this.D,this.F));this.A-=this.B.ca}, @@ -282,8 +283,8 @@ this.V(this.D,this.C+this.L()&65535));this.A-=this.B.Q},function(a){this.I=a.cal this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.I=a.call(this,this.I,this.V(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.I=a.call(this,this.I,this.V(this.N,this.I+this.L()&65535));this.A-=this.B.Q},function(a){this.I=a.call(this,this.I,this.V(this.D,this.C+this.L()&65535));this.A-=this.B.Q},function(a){this.G=a.call(this,this.G,this.V(this.D,this.C+this.G+this.L()&65535));this.A-=this.B.W},function(a){this.G=a.call(this,this.G,this.V(this.D,this.C+this.F+this.L()&65535)); this.A-=this.B.X},function(a){this.G=a.call(this,this.G,this.V(this.N,this.I+this.G+this.L()&65535));this.A-=this.B.X},function(a){this.G=a.call(this,this.G,this.V(this.N,this.I+this.F+this.L()&65535));this.A-=this.B.W},function(a){this.G=a.call(this,this.G,this.V(this.D,this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.G=a.call(this,this.G,this.V(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.G=a.call(this,this.G,this.V(this.N,this.I+this.L()&65535));this.A-=this.B.Q}, function(a){this.G=a.call(this,this.G,this.V(this.D,this.C+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.V(this.D,this.C+this.G+this.L()&65535));this.A-=this.B.W},function(a){this.F=a.call(this,this.F,this.V(this.D,this.C+this.F+this.L()&65535));this.A-=this.B.X},function(a){this.F=a.call(this,this.F,this.V(this.N,this.I+this.G+this.L()&65535));this.A-=this.B.X},function(a){this.F=a.call(this,this.F,this.V(this.N,this.I+this.F+this.L()&65535));this.A-=this.B.W},function(a){this.F= -a.call(this,this.F,this.V(this.D,this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.V(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.V(this.N,this.I+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.V(this.D,this.C+this.L()&65535));this.A-=this.B.Q},Cg,Dg,Eg,Fg,Gg,Hg,Ig,Jg,Kg,Lg,Mg,Ng,Og,Pg,Qg,Rg,Sg,Tg,Ug,Vg,Wg,Xg,Yg,Zg,$g,ah,bh,ch,dh,eh,fh,gh,hh,ih,jh,kh,lh,mh,nh,oh,ph,qh,rh,sh,th,uh,vh,wh, -xh,yh,zh,Ah,Bh,Ch,Dh,Eh,Fh,Gh,Hh,Ih,Jh,Kh,Lh,Mh],Qh=[function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ha}, +a.call(this,this.F,this.V(this.D,this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.V(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.V(this.N,this.I+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.V(this.D,this.C+this.L()&65535));this.A-=this.B.Q},ug,vg,wg,xg,yg,zg,Ag,Bg,Cg,Dg,Eg,Fg,Gg,Hg,Ig,Jg,Kg,Lg,Mg,Ng,Og,Pg,Qg,Rg,Sg,Tg,Ug,Vg,Wg,Xg,Yg,Zg,$g,ah,bh,ch,dh,eh,fh,gh,hh,ih,jh,kh,lh,mh,nh,oh, +ph,qh,rh,sh,th,uh,vh,wh,xh,yh,zh,Ah,Bh,Ch,Dh,Eh],Ih=[function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ha}, function(a,b){var c=a[0].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.ca},function(a,b){var c=a[0].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.ca},function(a,b){var c=a[0].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.Aa},function(a,b){var c=a[0].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.ca},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-= this.B.ha},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[1].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[1].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[1].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.ca},function(a,b){var c=a[1].call(this,this.O(this.D,this.F), b.call(this));this.R(c);this.A-=this.B.ca},function(a,b){var c=a[1].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.Aa},function(a,b){var c=a[1].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.ca},function(a,b){var c=a[2].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[2].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[2].call(this, @@ -336,7 +337,7 @@ this.K=this.K&-256|c},function(a,b){var c=a[4].call(this,this.C&255,b.call(this) this.H&-256|c},function(a,b){var c=a[5].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[5].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[5].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[5].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a,b){var c=a[5].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[5].call(this,this.K>>8,b.call(this));this.K=this.K&255| c<<8},function(a,b){var c=a[5].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[6].call(this,this.H&255,b.call(this));this.H=this.H&-256|c},function(a,b){var c=a[6].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[6].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[6].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[6].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a, b){var c=a[6].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[6].call(this,this.K>>8,b.call(this));this.K=this.K&255|c<<8},function(a,b){var c=a[6].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[7].call(this,this.H&255,b.call(this));this.H=this.H&-256|c},function(a,b){var c=a[7].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[7].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c= -a[7].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[7].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a,b){var c=a[7].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[7].call(this,this.K>>8,b.call(this));this.K=this.K&255|c<<8},function(a,b){var c=a[7].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8}],Rh=[function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-= +a[7].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[7].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a,b){var c=a[7].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[7].call(this,this.K>>8,b.call(this));this.K=this.K&255|c<<8},function(a,b){var c=a[7].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8}],Jh=[function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-= this.B.ha},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[0].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[0].call(this,this.P(this.D,this.F), b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[0].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.Aa},function(a,b){var c=a[0].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[1].call(this, this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[1].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[1].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[1].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[1].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.Aa},function(a, @@ -387,401 +388,399 @@ b.call(this))},function(a,b){this.K=a[3].call(this,this.K,b.call(this))},functio this.K,b.call(this))},function(a,b){this.C=a[4].call(this,this.C,b.call(this))},function(a,b){this.Y=a[4].call(this,this.Y,b.call(this))},function(a,b){this.I=a[4].call(this,this.I,b.call(this))},function(a,b){this.G=a[4].call(this,this.G,b.call(this))},function(a,b){this.F=a[4].call(this,this.F,b.call(this))},function(a,b){this.H=a[5].call(this,this.H,b.call(this))},function(a,b){this.J=a[5].call(this,this.J,b.call(this))},function(a,b){this.K=a[5].call(this,this.K,b.call(this))},function(a,b){this.C= a[5].call(this,this.C,b.call(this))},function(a,b){this.Y=a[5].call(this,this.Y,b.call(this))},function(a,b){this.I=a[5].call(this,this.I,b.call(this))},function(a,b){this.G=a[5].call(this,this.G,b.call(this))},function(a,b){this.F=a[5].call(this,this.F,b.call(this))},function(a,b){this.H=a[6].call(this,this.H,b.call(this))},function(a,b){this.J=a[6].call(this,this.J,b.call(this))},function(a,b){this.K=a[6].call(this,this.K,b.call(this))},function(a,b){this.C=a[6].call(this,this.C,b.call(this))}, function(a,b){this.ba|=512;this.Y=a[6].call(this,this.Y,b.call(this))},function(a,b){this.I=a[6].call(this,this.I,b.call(this))},function(a,b){this.G=a[6].call(this,this.G,b.call(this))},function(a,b){this.F=a[6].call(this,this.F,b.call(this))},function(a,b){this.H=a[7].call(this,this.H,b.call(this))},function(a,b){this.J=a[7].call(this,this.J,b.call(this))},function(a,b){this.K=a[7].call(this,this.K,b.call(this))},function(a,b){this.C=a[7].call(this,this.C,b.call(this))},function(a,b){this.Y=a[7].call(this, -this.Y,b.call(this))},function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))}];function fd(){Sh[this.fa()].call(this)}function hd(){G(this,this.Y);this.A-=this.B.xc}function Oc(){var a=this.Y;G(this,this.H);G(this,this.J);G(this,this.K);G(this,this.C);G(this,a);G(this,this.I);G(this,this.G);G(this,this.F);this.A-=this.B.Zl} -function Pc(){this.F=this.Pa();this.G=this.Pa();this.I=this.Pa();this.Y+=2;this.C=this.Pa();this.K=this.Pa();this.J=this.Pa();this.H=this.Pa();this.A-=this.B.Xl}function Qc(){L[this.fa()].call(this,bf)}function gd(){Oh[this.fa()].call(this,cf)}function Rc(){G(this,this.L());this.A-=this.B.xc}function Tc(){L[this.fa()].call(this,Xe)}function Uc(){G(this,this.fa());this.A-=this.B.xc}function Vc(){L[this.fa()].call(this,We)} -function Wc(){var a=1,b=0,c=5;this.Da&192&&(a=this.J,b=1,this.Da&256&&(c=4));if(a--){var d=yb(this.sa,this.K,this.Ea-b-1);this.Rd(this.La.$b(this.F,0),d);this.F=this.F+(this.Ba&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&(yd(this,-2),this.ba|=256)}} -function Xc(){var a=1,b=0,c=5;this.Da&192&&(a=this.J,b=1,this.Da&256&&(c=4));if(a--){var d=this.Ea-b-1,d=yb(this.sa,this.K,d)|yb(this.sa,this.K,d)<<8;this.Ua(this.La.$b(this.F,1),d);this.F=this.F+(this.Ba&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(yd(this,-2),this.ba|=256)}} -function Yc(){var a=1,b=0,c=5;this.Da&192&&(a=this.J,b=1,this.Da&256&&(c=4));if(a--){var d=this.xb(this.fb.Ic(this.G,0));this.G=this.G+(this.Ba&1024?-1:1)&65535;this.A-=c;this.J-=b;Cb(this.sa,this.K,d,this.Ea-b-1);a&&(yd(this,-2),this.ba|=256)}} -function Zc(){var a=1,b=0,c=5;this.Da&192&&(a=this.J,b=1,this.Da&256&&(c=4));if(a--){var d=this.ra(this.fb.Ic(this.G,1));this.G=this.G+(this.Ba&1024?-2:2)&65535;this.A-=c;this.J-=b;b=this.Ea-b-1;Cb(this.sa,this.K,d&255,b);Cb(this.sa,this.K,d>>8,b);a&&(yd(this,-2),this.ba|=256)}}function Th(){var a=this.M();Ed(this)?(H(this,this.wa+a),this.A-=this.B.cc):this.A-=this.B.dc}function Uh(){var a=this.M();Ed(this)?this.A-=this.B.dc:(H(this,this.wa+a),this.A-=this.B.cc)} -function Vh(){var a=this.M();zd(this)?(H(this,this.wa+a),this.A-=this.B.cc):this.A-=this.B.dc}function Wh(){var a=this.M();zd(this)?this.A-=this.B.dc:(H(this,this.wa+a),this.A-=this.B.cc)}function Xh(){var a=this.M();Cd(this)?(H(this,this.wa+a),this.A-=this.B.cc):this.A-=this.B.dc}function Yh(){var a=this.M();Cd(this)?this.A-=this.B.dc:(H(this,this.wa+a),this.A-=this.B.cc)}function Zh(){var a=this.M();zd(this)||Cd(this)?(H(this,this.wa+a),this.A-=this.B.cc):this.A-=this.B.dc} -function $h(){var a=this.M();zd(this)||Cd(this)?this.A-=this.B.dc:(H(this,this.wa+a),this.A-=this.B.cc)}function ai(){var a=this.M();Dd(this)?(H(this,this.wa+a),this.A-=this.B.cc):this.A-=this.B.dc}function bi(){var a=this.M();Dd(this)?this.A-=this.B.dc:(H(this,this.wa+a),this.A-=this.B.cc)}function ci(){var a=this.M();Ad(this)?(H(this,this.wa+a),this.A-=this.B.cc):this.A-=this.B.dc}function di(){var a=this.M();Ad(this)?this.A-=this.B.dc:(H(this,this.wa+a),this.A-=this.B.cc)} -function ei(){var a=this.M();!Dd(this)!=!Ed(this)?(H(this,this.wa+a),this.A-=this.B.cc):this.A-=this.B.dc}function fi(){var a=this.M();!Dd(this)==!Ed(this)?(H(this,this.wa+a),this.A-=this.B.cc):this.A-=this.B.dc}function gi(){var a=this.M();Cd(this)||!Dd(this)!=!Ed(this)?(H(this,this.wa+a),this.A-=this.B.cc):this.A-=this.B.dc}function hi(){var a=this.M();Cd(this)||!Dd(this)!=!Ed(this)?this.A-=this.B.dc:(H(this,this.wa+a),this.A-=this.B.cc)} -function ii(){Qh[this.fa()].call(this,Ge,this.fa);this.A-=0>this.Qa?1:this.B.Qh}function $c(){Qh[this.fa()].call(this,Qe,De)}function ad(){Rh[this.fa()].call(this,Re,De)}function ji(){var a=this.L();H(this,this.Pa());this.Y=this.Y+a&65535;this.A-=this.B.dm}function ki(){H(this,this.Pa());this.A-=this.B.am} -function bd(){var a=this.L(),b=this.fa()&31;this.A-=11;G(this,this.I);var c=this.Y;if(0>8,c,d=Bd(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.aa=a);this.ea=65536;c&&(this.aa|=this.ea);d?Ld(this):Gd(this);this.A-=this.B.We},function(){Nh[this.fa()].call(this,de)},function(){Oh[this.fa()].call(this,le)},function(){Ph[this.fa()].call(this,de)},function(){L[this.fa()].call(this,le)},function(){this.H=this.H&-256|de.call(this,this.H&255,this.fa());this.A--},function(){this.H=le.call(this,this.H, -this.L());this.A--},function(){this.ba|=20;this.D=this.N=this.fb;this.A-=this.B.re},function(){var a=this.H&255,b=this.H>>8,c,d=Bd(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.aa=a);this.ea=65536;c&&(this.aa|=this.ea);d?Ld(this):Gd(this);this.A-=this.B.We},function(){this.qa=this.H;this.H=(this.la=this.H+1)&65535;this.aa=this.H|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.J;this.J=(this.la=this.J+1)&65535;this.aa=this.J|(this.aa&this.ea?1:0)<< +this.Y,b.call(this))},function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))}];function cd(){Kh[this.fa()].call(this)}function ed(){H(this,this.Y);this.A-=this.B.xc}function Mc(){var a=this.Y;H(this,this.H);H(this,this.J);H(this,this.K);H(this,this.C);H(this,a);H(this,this.I);H(this,this.G);H(this,this.F);this.A-=this.B.Zl} +function Nc(){this.F=this.Pa();this.G=this.Pa();this.I=this.Pa();this.Y+=2;this.C=this.Pa();this.K=this.Pa();this.J=this.Pa();this.H=this.Pa();this.A-=this.B.Xl}function Oc(){M[this.fa()].call(this,$e)}function dd(){Gh[this.fa()].call(this,af)}function Pc(){H(this,this.L());this.A-=this.B.xc}function Qc(){M[this.fa()].call(this,Ve)}function Rc(){H(this,this.fa());this.A-=this.B.xc}function Sc(){M[this.fa()].call(this,Ue)} +function Tc(){var a=1,b=0,c=5;this.Da&192&&(a=this.J,b=1,this.Da&256&&(c=4));if(a--){var d=xb(this.sa,this.K,this.Ea-b-1);this.Rd(this.La.$b(this.F,0),d);this.F=this.F+(this.Ba&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&(ud(this,-2),this.ba|=256)}} +function Uc(){var a=1,b=0,c=5;this.Da&192&&(a=this.J,b=1,this.Da&256&&(c=4));if(a--){var d=this.Ea-b-1,d=xb(this.sa,this.K,d)|xb(this.sa,this.K,d)<<8;this.Ua(this.La.$b(this.F,1),d);this.F=this.F+(this.Ba&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(ud(this,-2),this.ba|=256)}} +function Vc(){var a=1,b=0,c=5;this.Da&192&&(a=this.J,b=1,this.Da&256&&(c=4));if(a--){var d=this.xb(this.fb.Ic(this.G,0));this.G=this.G+(this.Ba&1024?-1:1)&65535;this.A-=c;this.J-=b;Bb(this.sa,this.K,d,this.Ea-b-1);a&&(ud(this,-2),this.ba|=256)}} +function Wc(){var a=1,b=0,c=5;this.Da&192&&(a=this.J,b=1,this.Da&256&&(c=4));if(a--){var d=this.ra(this.fb.Ic(this.G,1));this.G=this.G+(this.Ba&1024?-2:2)&65535;this.A-=c;this.J-=b;b=this.Ea-b-1;Bb(this.sa,this.K,d&255,b);Bb(this.sa,this.K,d>>8,b);a&&(ud(this,-2),this.ba|=256)}}function Lh(){var a=this.M();Ad(this)?(J(this,this.wa+a),this.A-=this.B.cc):this.A-=this.B.dc}function Mh(){var a=this.M();Ad(this)?this.A-=this.B.dc:(J(this,this.wa+a),this.A-=this.B.cc)} +function Nh(){var a=this.M();vd(this)?(J(this,this.wa+a),this.A-=this.B.cc):this.A-=this.B.dc}function Oh(){var a=this.M();vd(this)?this.A-=this.B.dc:(J(this,this.wa+a),this.A-=this.B.cc)}function Ph(){var a=this.M();yd(this)?(J(this,this.wa+a),this.A-=this.B.cc):this.A-=this.B.dc}function Qh(){var a=this.M();yd(this)?this.A-=this.B.dc:(J(this,this.wa+a),this.A-=this.B.cc)}function Rh(){var a=this.M();vd(this)||yd(this)?(J(this,this.wa+a),this.A-=this.B.cc):this.A-=this.B.dc} +function Sh(){var a=this.M();vd(this)||yd(this)?this.A-=this.B.dc:(J(this,this.wa+a),this.A-=this.B.cc)}function Th(){var a=this.M();zd(this)?(J(this,this.wa+a),this.A-=this.B.cc):this.A-=this.B.dc}function Uh(){var a=this.M();zd(this)?this.A-=this.B.dc:(J(this,this.wa+a),this.A-=this.B.cc)}function Vh(){var a=this.M();wd(this)?(J(this,this.wa+a),this.A-=this.B.cc):this.A-=this.B.dc}function Wh(){var a=this.M();wd(this)?this.A-=this.B.dc:(J(this,this.wa+a),this.A-=this.B.cc)} +function Xh(){var a=this.M();!zd(this)!=!Ad(this)?(J(this,this.wa+a),this.A-=this.B.cc):this.A-=this.B.dc}function Yh(){var a=this.M();!zd(this)==!Ad(this)?(J(this,this.wa+a),this.A-=this.B.cc):this.A-=this.B.dc}function Zh(){var a=this.M();yd(this)||!zd(this)!=!Ad(this)?(J(this,this.wa+a),this.A-=this.B.cc):this.A-=this.B.dc}function $h(){var a=this.M();yd(this)||!zd(this)!=!Ad(this)?this.A-=this.B.dc:(J(this,this.wa+a),this.A-=this.B.cc)} +function ai(){Ih[this.fa()].call(this,Be,this.fa);this.A-=0>this.Qa?1:this.B.Qh}function Xc(){Ih[this.fa()].call(this,Le,ye)}function Yc(){Jh[this.fa()].call(this,Pe,ye)}function bi(){var a=this.L();J(this,this.Pa());this.Y=this.Y+a&65535;this.A-=this.B.dm}function ci(){J(this,this.Pa());this.A-=this.B.am} +function Zc(){var a=this.L(),b=this.fa()&31;this.A-=11;H(this,this.I);var c=this.Y;if(0>8,c,d=xd(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.aa=a);this.ea=65536;c&&(this.aa|=this.ea);d?Jd(this):Cd(this);this.A-=this.B.We},function(){Fh[this.fa()].call(this,Zd)},function(){Gh[this.fa()].call(this,ge)},function(){Hh[this.fa()].call(this,Zd)},function(){M[this.fa()].call(this,ge)},function(){this.H=this.H&-256|Zd.call(this,this.H&255,this.fa());this.A--},function(){this.H=ge.call(this,this.H, +this.L());this.A--},function(){this.ba|=20;this.D=this.N=this.fb;this.A-=this.B.re},function(){var a=this.H&255,b=this.H>>8,c,d=xd(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.aa=a);this.ea=65536;c&&(this.aa|=this.ea);d?Jd(this):Cd(this);this.A-=this.B.We},function(){this.qa=this.H;this.H=(this.la=this.H+1)&65535;this.aa=this.H|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.J;this.J=(this.la=this.J+1)&65535;this.aa=this.J|(this.aa&this.ea?1:0)<< 16;this.ea=65536;this.A-=2},function(){this.qa=this.K;this.K=(this.la=this.K+1)&65535;this.aa=this.K|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.C;this.C=(this.la=this.C+1)&65535;this.aa=this.C|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.Y;this.Y=(this.la=this.Y+1)&65535;this.aa=this.Y|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.I;this.I=(this.la=this.I+1)&65535;this.aa=this.I|(this.aa&this.ea?1:0)<<16;this.ea= 65536;this.A-=2},function(){this.qa=this.G;this.G=(this.la=this.G+1)&65535;this.aa=this.G|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.F;this.F=(this.la=this.F+1)&65535;this.aa=this.F|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.H;this.H=(this.la=this.H-1)&65535;this.aa=this.H|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.J;this.J=(this.la=this.J-1)&65535;this.aa=this.J|(this.aa&this.ea?1:0)<<16;this.ea=65536; this.A-=2},function(){this.qa=this.K;this.K=(this.la=this.K-1)&65535;this.aa=this.K|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.C;this.C=(this.la=this.C-1)&65535;this.aa=this.C|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.Y;this.Y=(this.la=this.Y-1)&65535;this.aa=this.Y|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.I;this.I=(this.la=this.I-1)&65535;this.aa=this.I|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-= -2},function(){this.qa=this.G;this.G=(this.la=this.G-1)&65535;this.aa=this.G|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.F;this.F=(this.la=this.F-1)&65535;this.aa=this.F|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){G(this,this.H);this.A-=this.B.xc},function(){G(this,this.J);this.A-=this.B.xc},function(){G(this,this.K);this.A-=this.B.xc},function(){G(this,this.C);this.A-=this.B.xc},function(){G(this,this.Y-2&65535);this.A-=this.B.xc},function(){G(this, -this.I);this.A-=this.B.xc},function(){G(this,this.G);this.A-=this.B.xc},function(){G(this,this.F);this.A-=this.B.xc},function(){this.H=this.Pa();this.A-=this.B.rc},function(){this.J=this.Pa();this.A-=this.B.rc},function(){this.K=this.Pa();this.A-=this.B.rc},function(){this.C=this.Pa();this.A-=this.B.rc},function(){this.Y=this.Pa();this.A-=this.B.rc},function(){this.I=this.Pa();this.A-=this.B.rc},function(){this.G=this.Pa();this.A-=this.B.rc},function(){this.F=this.Pa();this.A-=this.B.rc},Th,Uh,Vh, -Wh,Xh,Yh,Zh,$h,ai,bi,ci,di,ei,fi,gi,hi,Th,Uh,Vh,Wh,Xh,Yh,Zh,$h,ai,bi,ci,di,ei,fi,gi,hi,ii,function(){Rh[this.fa()].call(this,He,this.L);this.A-=0>this.Qa?1:this.B.Qh},ii,function(){Rh[this.fa()].call(this,He,this.M);this.A-=0>this.Qa?1:this.B.Qh},function(){Nh[this.fa()].call(this,Ue)},function(){Oh[this.fa()].call(this,Ve)},function(){Ph[this.gh=this.fa()].call(this,jf)},function(){L[this.gh=this.fa()].call(this,kf)},function(){this.ba|=1;Nh[this.fa()].call(this,Se)},function(){this.ba|=1;Oh[this.fa()].call(this, -Se)},function(){Ph[this.fa()].call(this,Se)},function(){L[this.fa()].call(this,Se)},function(){var a=this.fa();switch((a&56)>>3){case 0:this.Pb=this.La.ta;break;case 1:this.Pb=this.va.ta;break;case 2:this.Pb=this.Ya.ta;break;case 3:this.Pb=this.fb.ta;break;default:K.call(this);return}this.ba|=1;Oh[a].call(this,Te)},function(){this.ba|=1;this.D=this.N=this.um;L[this.fa()].call(this,Ze)},function(){var a,b=this.fa(),c=(b&56)>>3;switch(c){case 0:a=this.H;break;case 2:a=this.K;break;case 3:a=this.C;break; -default:if(80286<=this.Ka){Kc.call(this);return}switch(c){case 1:a=this.J;break;case 4:a=this.Y;break;case 5:a=this.I;break;case 6:a=this.G;break;case 7:a=this.F}}L[b].call(this,Se);switch(c){case 0:xd(this,this.H);this.H=a;break;case 1:ud(this,this.J);this.J=a;break;case 2:wd(this,this.K);this.K=a;break;case 3:vd(this,this.C);this.C=a;break;case 4:xd(this,this.Y);this.Y=a;break;case 5:ud(this,this.I);this.I=a;break;case 6:wd(this,this.G);this.G=a;break;case 7:vd(this,this.F),this.F=a}},function(){this.ba|= -1;Rh[this.fa()].call(this,Ie,this.Pa)},function(){this.A-=3},function(){var a=this.H;this.H=this.J;this.J=a;this.A-=3},function(){var a=this.H;this.H=this.K;this.K=a;this.A-=3},function(){var a=this.H;this.H=this.C;this.C=a;this.A-=3},function(){var a=this.H;this.H=this.Y;this.Y=a;this.A-=3},function(){var a=this.H;this.H=this.I;this.I=a;this.A-=3},function(){var a=this.H;this.H=this.G;this.G=a;this.A-=3},function(){var a=this.H;this.H=this.F;this.F=a;this.A-=3},function(){this.H=this.H<<24>>24&65535; -this.A-=2},function(){this.K=this.H&32768?65535:0;this.A-=this.B.kl},function(){Pe.call(this,this.L(),this.L());this.A-=this.B.nl},function(){this.cb("WAIT not implemented",Ob);this.A--},function(){G(this,zc(this));this.A-=this.B.xc},function(){Ac(this,this.Pa());this.A-=this.B.rc},function(){var a=this.H>>8;a&1?Kd(this):Fd(this);a&4?Ad(this)||(this.la^=1):Ad(this)&&(this.la^=1);a&16?Ld(this):Gd(this);a&64?Md(this):Hd(this);a&128?Nd(this):Id(this);this.A-=this.B.Ob},function(){this.H=this.H&255|(zc(this)& +2},function(){this.qa=this.G;this.G=(this.la=this.G-1)&65535;this.aa=this.G|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.F;this.F=(this.la=this.F-1)&65535;this.aa=this.F|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){H(this,this.H);this.A-=this.B.xc},function(){H(this,this.J);this.A-=this.B.xc},function(){H(this,this.K);this.A-=this.B.xc},function(){H(this,this.C);this.A-=this.B.xc},function(){H(this,this.Y-2&65535);this.A-=this.B.xc},function(){H(this, +this.I);this.A-=this.B.xc},function(){H(this,this.G);this.A-=this.B.xc},function(){H(this,this.F);this.A-=this.B.xc},function(){this.H=this.Pa();this.A-=this.B.rc},function(){this.J=this.Pa();this.A-=this.B.rc},function(){this.K=this.Pa();this.A-=this.B.rc},function(){this.C=this.Pa();this.A-=this.B.rc},function(){this.Y=this.Pa();this.A-=this.B.rc},function(){this.I=this.Pa();this.A-=this.B.rc},function(){this.G=this.Pa();this.A-=this.B.rc},function(){this.F=this.Pa();this.A-=this.B.rc},Lh,Mh,Nh, +Oh,Ph,Qh,Rh,Sh,Th,Uh,Vh,Wh,Xh,Yh,Zh,$h,Lh,Mh,Nh,Oh,Ph,Qh,Rh,Sh,Th,Uh,Vh,Wh,Xh,Yh,Zh,$h,ai,function(){Jh[this.fa()].call(this,Ce,this.L);this.A-=0>this.Qa?1:this.B.Qh},ai,function(){Jh[this.fa()].call(this,Ce,this.M);this.A-=0>this.Qa?1:this.B.Qh},function(){Fh[this.fa()].call(this,Se)},function(){Gh[this.fa()].call(this,Te)},function(){Hh[this.gh=this.fa()].call(this,df)},function(){M[this.gh=this.fa()].call(this,ef)},function(){this.ba|=1;Fh[this.fa()].call(this,Qe)},function(){this.ba|=1;Gh[this.fa()].call(this, +Qe)},function(){Hh[this.fa()].call(this,Qe)},function(){M[this.fa()].call(this,Qe)},function(){var a=this.fa();switch((a&56)>>3){case 0:this.Pb=this.La.ta;break;case 1:this.Pb=this.va.ta;break;case 2:this.Pb=this.Ya.ta;break;case 3:this.Pb=this.fb.ta;break;default:L.call(this);return}this.ba|=1;Gh[a].call(this,Re)},function(){this.ba|=1;this.D=this.N=this.um;M[this.fa()].call(this,Xe)},function(){var a,b=this.fa(),c=(b&56)>>3;switch(c){case 0:a=this.H;break;case 2:a=this.K;break;case 3:a=this.C;break; +default:if(80286<=this.Ka){Lc.call(this);return}switch(c){case 1:a=this.J;break;case 4:a=this.Y;break;case 5:a=this.I;break;case 6:a=this.G;break;case 7:a=this.F}}M[b].call(this,Qe);switch(c){case 0:td(this,this.H);this.H=a;break;case 1:qd(this,this.J);this.J=a;break;case 2:sd(this,this.K);this.K=a;break;case 3:rd(this,this.C);this.C=a;break;case 4:td(this,this.Y);this.Y=a;break;case 5:qd(this,this.I);this.I=a;break;case 6:sd(this,this.G);this.G=a;break;case 7:rd(this,this.F),this.F=a}},function(){this.ba|= +1;Jh[this.fa()].call(this,De,this.Pa)},function(){this.A-=3},function(){var a=this.H;this.H=this.J;this.J=a;this.A-=3},function(){var a=this.H;this.H=this.K;this.K=a;this.A-=3},function(){var a=this.H;this.H=this.C;this.C=a;this.A-=3},function(){var a=this.H;this.H=this.Y;this.Y=a;this.A-=3},function(){var a=this.H;this.H=this.I;this.I=a;this.A-=3},function(){var a=this.H;this.H=this.G;this.G=a;this.A-=3},function(){var a=this.H;this.H=this.F;this.F=a;this.A-=3},function(){this.H=this.H<<24>>24&65535; +this.A-=2},function(){this.K=this.H&32768?65535:0;this.A-=this.B.kl},function(){Ke.call(this,this.L(),this.L());this.A-=this.B.nl},function(){this.cb("WAIT not implemented",1);this.A--},function(){H(this,wc(this));this.A-=this.B.xc},function(){xc(this,this.Pa());this.A-=this.B.rc},function(){var a=this.H>>8;a&1?Id(this):Bd(this);a&4?wd(this)||(this.la^=1):wd(this)&&(this.la^=1);a&16?Jd(this):Cd(this);a&64?Kd(this):Dd(this);a&128?Ld(this):Gd(this);this.A-=this.B.Ob},function(){this.H=this.H&255|(wc(this)& 213)<<8;this.A-=this.B.Ob},function(){this.H=this.H&-256|this.U(this.D,this.L());this.A-=this.B.xj},function(){this.H=this.V(this.D,this.L());this.A-=this.B.xj},function(){var a=this.L(),b=this.H;this.Rd(this.D.$b(a,0),b);this.A-=this.B.yj},function(){var a=this.L(),b=this.H;this.Ua(this.D.$b(a,1),b);this.A-=this.B.yj},function(){var a=1,b=0,c=this.B.zj;this.Da&192&&(a=this.J,b=1,c=this.B.Bj,this.Da&256||(this.A-=this.B.Aj));if(a--){var d=this.Ba&1024?-1:1,e=this.U(this.D,this.G);this.Rd(this.La.$b(this.F, -0),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(yd(this,this.Da&16?-3:-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.zj;this.Da&192&&(a=this.J,b=1,c=this.B.Bj,this.Da&256||(this.A-=this.B.Aj));if(a--){var d=this.Ba&1024?-2:2,e=this.V(this.D,this.G);this.Ua(this.La.$b(this.F,1),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(yd(this,this.Da&16?-3:-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.jj;this.Da&192&&(a=this.J,b=1,c=this.B.lj,this.Da& -256||(this.A-=this.B.kj));if(a--){var d=this.Ba&1024?-1:1,e=this.U(this.D,this.G),f=this.O(this.La,this.F);de.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c-this.B.Fb;this.J-=b;a&&Cd(this)==(this.Da&64)&&(yd(this,this.Da&16?-3:-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.jj;this.Da&192&&(a=this.J,b=1,c=this.B.lj,this.Da&256||(this.A-=this.B.kj));if(a--){var d=this.Ba&1024?-2:2,e=this.V(this.D,this.G),f=this.P(this.La,this.F);le.call(this,e,f);this.G=this.G+d&65535;this.F= -this.F+d&65535;this.A-=c-this.B.Fb;this.J-=b;a&&Cd(this)==(this.Da&64)&&(yd(this,this.Da&16?-3:-2),this.ba|=256)}},function(){this.aa=this.la=this.qa=this.H&255&this.fa();this.ea=256;this.A-=this.B.We},function(){this.aa=this.la=this.qa=this.H&this.L();this.ea=65536;this.A-=this.B.We},function(){var a=1,b=0,c=this.B.Kj;this.Da&192&&(a=this.J,b=1,c=this.B.Mj,this.Da&256||(this.A-=this.B.Lj));if(a--){var d=this.H;this.Rd(this.La.$b(this.F,0),d);this.F=this.F+(this.Ba&1024?-1:1)&65535;this.A-=c;this.J-= -b;a&&(yd(this,-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.Kj;this.Da&192&&(a=this.J,b=1,c=this.B.Mj,this.Da&256||(this.A-=this.B.Lj));if(a--){var d=this.H;this.Ua(this.La.$b(this.F,1),d);this.F=this.F+(this.Ba&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(yd(this,-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.rj;this.Da&192&&(a=this.J,b=1,c=this.B.tj,this.Da&256||(this.A-=this.B.sj));a--&&(this.H=this.H&-256|this.U(this.D,this.G),this.G=this.G+(this.Ba&1024?-1:1)&65535,this.A-=c,this.J-=b, -a&&(yd(this,this.Da&16?-3:-2),this.ba|=256))},function(){var a=1,b=0,c=this.B.rj;this.Da&192&&(a=this.J,b=1,c=this.B.tj,this.Da&256||(this.A-=this.B.sj));a--&&(this.H=this.V(this.D,this.G),this.G=this.G+(this.Ba&1024?-2:2)&65535,this.A-=c,this.J-=b,a&&(yd(this,this.Da&16?-3:-2),this.ba|=256))},function(){var a=1,b=0,c=this.B.Ej;this.Da&192&&(a=this.J,b=1,c=this.B.Gj,this.Da&256||(this.A-=this.B.Fj));a--&&(de.call(this,this.H&255,this.O(this.La,this.F)),this.F=this.F+(this.Ba&1024?-1:1)&65535,this.A-= -c-this.B.Fb,this.J-=b,a&&Cd(this)==(this.Da&64)&&(yd(this,-2),this.ba|=256))},function(){var a=1,b=0,c=this.B.Ej;this.Da&192&&(a=this.J,b=1,c=this.B.Gj,this.Da&256||(this.A-=this.B.Fj));a--&&(le.call(this,this.H,this.P(this.La,this.F)),this.F=this.F+(this.Ba&1024?-2:2)&65535,this.A-=c-this.B.Fb,this.J-=b,a&&Cd(this)==(this.Da&64)&&(yd(this,-2),this.ba|=256))},function(){this.H=this.H&-256|this.fa();this.A-=this.B.Ob},function(){this.J=this.J&-256|this.fa();this.A-=this.B.Ob},function(){this.K=this.K& +0),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(ud(this,this.Da&16?-3:-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.zj;this.Da&192&&(a=this.J,b=1,c=this.B.Bj,this.Da&256||(this.A-=this.B.Aj));if(a--){var d=this.Ba&1024?-2:2,e=this.V(this.D,this.G);this.Ua(this.La.$b(this.F,1),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(ud(this,this.Da&16?-3:-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.jj;this.Da&192&&(a=this.J,b=1,c=this.B.lj,this.Da& +256||(this.A-=this.B.kj));if(a--){var d=this.Ba&1024?-1:1,e=this.U(this.D,this.G),f=this.O(this.La,this.F);Zd.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c-this.B.Fb;this.J-=b;a&&yd(this)==(this.Da&64)&&(ud(this,this.Da&16?-3:-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.jj;this.Da&192&&(a=this.J,b=1,c=this.B.lj,this.Da&256||(this.A-=this.B.kj));if(a--){var d=this.Ba&1024?-2:2,e=this.V(this.D,this.G),f=this.P(this.La,this.F);ge.call(this,e,f);this.G=this.G+d&65535;this.F= +this.F+d&65535;this.A-=c-this.B.Fb;this.J-=b;a&&yd(this)==(this.Da&64)&&(ud(this,this.Da&16?-3:-2),this.ba|=256)}},function(){this.aa=this.la=this.qa=this.H&255&this.fa();this.ea=256;this.A-=this.B.We},function(){this.aa=this.la=this.qa=this.H&this.L();this.ea=65536;this.A-=this.B.We},function(){var a=1,b=0,c=this.B.Kj;this.Da&192&&(a=this.J,b=1,c=this.B.Mj,this.Da&256||(this.A-=this.B.Lj));if(a--){var d=this.H;this.Rd(this.La.$b(this.F,0),d);this.F=this.F+(this.Ba&1024?-1:1)&65535;this.A-=c;this.J-= +b;a&&(ud(this,-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.Kj;this.Da&192&&(a=this.J,b=1,c=this.B.Mj,this.Da&256||(this.A-=this.B.Lj));if(a--){var d=this.H;this.Ua(this.La.$b(this.F,1),d);this.F=this.F+(this.Ba&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(ud(this,-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.rj;this.Da&192&&(a=this.J,b=1,c=this.B.tj,this.Da&256||(this.A-=this.B.sj));a--&&(this.H=this.H&-256|this.U(this.D,this.G),this.G=this.G+(this.Ba&1024?-1:1)&65535,this.A-=c,this.J-=b, +a&&(ud(this,this.Da&16?-3:-2),this.ba|=256))},function(){var a=1,b=0,c=this.B.rj;this.Da&192&&(a=this.J,b=1,c=this.B.tj,this.Da&256||(this.A-=this.B.sj));a--&&(this.H=this.V(this.D,this.G),this.G=this.G+(this.Ba&1024?-2:2)&65535,this.A-=c,this.J-=b,a&&(ud(this,this.Da&16?-3:-2),this.ba|=256))},function(){var a=1,b=0,c=this.B.Ej;this.Da&192&&(a=this.J,b=1,c=this.B.Gj,this.Da&256||(this.A-=this.B.Fj));a--&&(Zd.call(this,this.H&255,this.O(this.La,this.F)),this.F=this.F+(this.Ba&1024?-1:1)&65535,this.A-= +c-this.B.Fb,this.J-=b,a&&yd(this)==(this.Da&64)&&(ud(this,-2),this.ba|=256))},function(){var a=1,b=0,c=this.B.Ej;this.Da&192&&(a=this.J,b=1,c=this.B.Gj,this.Da&256||(this.A-=this.B.Fj));a--&&(ge.call(this,this.H,this.P(this.La,this.F)),this.F=this.F+(this.Ba&1024?-2:2)&65535,this.A-=c-this.B.Fb,this.J-=b,a&&yd(this)==(this.Da&64)&&(ud(this,-2),this.ba|=256))},function(){this.H=this.H&-256|this.fa();this.A-=this.B.Ob},function(){this.J=this.J&-256|this.fa();this.A-=this.B.Ob},function(){this.K=this.K& -256|this.fa();this.A-=this.B.Ob},function(){this.C=this.C&-256|this.fa();this.A-=this.B.Ob},function(){this.H=this.H&255|this.fa()<<8;this.A-=this.B.Ob},function(){this.J=this.J&255|this.fa()<<8;this.A-=this.B.Ob},function(){this.K=this.K&255|this.fa()<<8;this.A-=this.B.Ob},function(){this.C=this.C&255|this.fa()<<8;this.A-=this.B.Ob},function(){this.H=this.L();this.A-=this.B.Ob},function(){this.J=this.L();this.A-=this.B.Ob},function(){this.K=this.L();this.A-=this.B.Ob},function(){this.C=this.L(); -this.A-=this.B.Ob},function(){this.Y=this.L();this.A-=this.B.Ob},function(){this.I=this.L();this.A-=this.B.Ob},function(){this.G=this.L();this.A-=this.B.Ob},function(){this.F=this.L();this.A-=this.B.Ob},ji,ki,ji,ki,function(){L[this.fa()].call(this,af)},function(){L[this.fa()].call(this,$e)},function(){this.ba|=1;Qh[this.fa()].call(this,Je,this.fa)},function(){this.ba|=1;Rh[this.fa()].call(this,Je,this.L)},li,mi,li,mi,function(){Sd.call(this,3,null,this.B.El)},function(){var a=this.fa();ld(this,a)? -Sd.call(this,a,null,0):this.A--},function(){Ed(this)?Sd.call(this,4,null,this.B.Fl):this.A-=this.B.Gl},function(){this.A-=this.B.Cl;if(this.gc&1&&this.Ba&16384){var a=this.ra(this.gb.Ga+0);yc.call(this.va,a,!1)}else{var a=this.va.bb,b=this.Pa(),c=this.Pa(),d=this.Pa();null!=Bc(this,b,c,!1)&&(Ac(this,d,a),this.oh&&qd(this,this.Ea))}},function(){Qh[this.fa()].call(this,Ke,Be)},function(){Rh[this.fa()].call(this,Le,Be)},function(){Qh[this.fa()].call(this,Ke,Ce)},function(){Rh[this.fa()].call(this,Le, -Ce)},function(){var a=this.fa(),b=this.H&255;this.H=(b/a&255)<<8|b%a;this.ea=256;this.aa=this.la=b;this.A-=this.B.hl},function(){var a=this.fa();this.aa=this.la=this.H=(this.H>>8)*a+this.H&255;this.ea=256;this.A-=this.B.gl},function(){this.H=this.H&-256|(zd(this)?255:0);this.A-=2},function(){this.H=this.H&-256|this.U(this.D,this.C+(this.H&255)&65535);this.A-=this.B.fm},ni,ni,ni,ni,ni,ni,ni,ni,function(){var a=this.M();(this.J=this.J-1&65535)&&this.aa&this.ea-1?(H(this,this.wa+a),this.A-=this.B.Nl): -this.A-=this.B.uj},function(){var a=this.M();!(this.J=this.J-1&65535)||this.aa&this.ea-1?this.A-=this.B.wj:(H(this,this.wa+a),this.A-=this.B.vj)},function(){var a=this.M();(this.J=this.J-1&65535)?(H(this,this.wa+a),this.A-=this.B.Ml):this.A-=this.B.uj},function(){var a=this.M();this.J?this.A-=this.B.wj:(H(this,this.wa+a),this.A-=this.B.vj)},function(){var a=this.fa();this.H=this.H&-256|yb(this.sa,a,this.Ea-2);this.A-=this.B.oj},function(){var a=this.fa();this.H=yb(this.sa,a,this.Ea-1)|yb(this.sa, -a+1&65535,this.Ea-2)<<8;this.A-=this.B.oj},function(){var a=this.fa();Cb(this.sa,a,this.H&255,this.Ea-2);this.A-=this.B.Dj},function(){var a=this.fa();Cb(this.sa,a,this.H&255,this.Ea-2);Cb(this.sa,a+1&65535,this.H>>8,this.Ea-2);this.A-=this.B.Dj},function(){var a=this.L();G(this,this.wa);H(this,this.wa+a);this.A-=this.B.ll},function(){var a=this.L();H(this,this.wa+a);this.A-=this.B.pj},function(){Bc(this,this.L(),this.L());this.A-=this.B.Il},function(){var a=this.M();H(this,this.wa+a);this.A-=this.B.pj}, -function(){this.H=this.H&-256|yb(this.sa,this.K,this.Ea-1);this.A-=this.B.nj},function(){this.H=yb(this.sa,this.K,this.Ea-1)|yb(this.sa,this.K+1&65535,this.Ea-1)<<8;this.A-=this.B.nj},function(){Cb(this.sa,this.K,this.H&255,this.Ea-1);this.A-=this.B.Cj},function(){Cb(this.sa,this.K,this.H&255,this.Ea-1);Cb(this.sa,this.K+1&65535,this.H>>8,this.Ea-1);this.A-=this.B.Cj},oi,oi,function(){this.ba|=132;this.A-=this.B.re},function(){this.ba|=68;this.A-=this.B.re},function(){this.yb|=4;this.A-=2;this.ka&& -Pd(this.ka)?(yd(this,-1),this.Ib()):this.Ba&512||(this.ka&&yd(this,-1),this.Ib())},function(){zd(this)?Fd(this):Kd(this);this.A-=2},function(){this.Pb=-1;Qh[this.fa()].call(this,Ne,Ee);0<=this.Pb&&(this.H=this.Pb)},function(){this.Pb=-1;Rh[this.fa()].call(this,Oe,Ee);0<=this.Pb&&(this.H=this.Pb,this.K=this.Lg)},function(){this.aa&=~this.ea;this.A-=2},function(){this.aa|=this.ea;this.A-=2},function(){this.Ba&=-513;this.A-=this.B.jl},function(){this.Ba|=512;this.ba|=4;this.A-=2},function(){this.Ba&= --1025;this.A-=2},function(){this.Ba|=1024;this.A-=2},function(){Qh[this.fa()].call(this,Hc,Ee)},function(){Rh[this.fa()].call(this,Ic,Ee)}],Sh=[function(){var a=this.fa();16>(a&56)&&(this.ba|=1);Rh[a].call(this,this.pk,Ee)},function(){var a=this.fa();a&16||(this.ba|=1);Rh[a].call(this,pi,Ee)},function(){L[this.fa()].call(this,df)},function(){L[this.fa()].call(this,ef)},K,function(){this.va.bb?lc.call(this,13,0,!0):(lf.call(this,this.ra(2054)),this.F=this.ra(2086),this.G=this.ra(2088),this.I=this.ra(2090), -this.Y=this.ra(2092),this.C=this.ra(2094),this.K=this.ra(2096),this.J=this.ra(2098),this.H=this.ra(2100),Cc(this.La,2102,this.ra(2084)),Cc(this.va,2108,this.ra(2082)),Cc(this.Ya,2114,this.ra(2080)),Cc(this.fb,2120,this.ra(2078)),Ac(this,this.ra(2072)),H(this,this.ra(2074)),this.Ec=this.ra(2126)|this.ra(2128)<<16,this.Ce=this.Ec+this.ra(2130),Cc(this.Yc,2132,this.ra(2076)),this.Rc=this.ra(2138)|this.ra(2140)<<16,this.De=this.Rc+this.ra(2142),Cc(this.gb,2144,this.ra(2070)),this.A-=195)},function(){this.va.bb? -lc.call(this,13,0,!0):(this.gc&=-9,this.A-=2)},K,K,K,K,Kc,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K, -K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K],rd=[function(){this.A-=2+(0>this.ja?0:1);return this.Yc.ta},function(){this.A-=2+(0>this.ja?0:1);return this.gb.ta},function(a){this.ba|=2;this.Yc.load(a);this.A-=17+(0>this.ja?0:2);return a},function(a){this.ba|=2;-4!=this.gb.load(a)&&(this.Ua(this.gb.Bd+4,this.gb.nb|=512),this.gb.type=768);this.A-=17+(0>this.ja?0:2);return a},function(a){this.ba|=2;this.A-=14+(0>this.ja?0:2);if(-4!=this.Tb.load(a,!0)&&2048!=(this.Tb.nb&2560)&&(this.Tb.oc>=this.va.bb&& -this.Tb.oc>=(a&3)||7168==(this.Tb.nb&7168)))return Md(this),a;Hd(this);return a},function(a){this.ba|=2;this.A-=14+(0>this.ja?0:2);if(-4!=this.Tb.load(a,!0)&&512==(this.Tb.nb&2560)&&this.Tb.oc>=this.va.bb&&this.Tb.oc>=(a&3))return Md(this),a;Hd(this);return a},J,J],Jc=[ed,ed,ed,ed,ed,ed,J,J],pi=[function(a){0>this.ja?Kc.call(this):(a=this.Ce-this.Ec,this.Ua(this.ja+2,this.Ec),this.Ua(this.ja+4,65280|this.Ec>>16),this.A-=11);return a},function(a){0>this.ja?Kc.call(this):(a=this.De-this.Rc,this.Ua(this.ja+ -2,this.Rc),this.Ua(this.ja+4,65280|this.Rc>>16),this.A-=12);return a},function(a){0>this.ja?Kc.call(this):(this.Ec=this.ra(this.ja+2)|this.xb(this.ja+4)<<16,this.Ce=this.Ec+a,this.ba|=2,this.A-=11);return a},function(a){0>this.ja?Kc.call(this):(this.Rc=this.ra(this.ja+2)|this.xb(this.ja+4)<<16,this.De=this.Rc+a,this.ba|=2,this.A-=12);return a},function(){this.A-=2+(0>this.ja?0:1);return this.gc},J,function(a){lf.call(this,a);this.A-=0>this.ja?3:6;this.ba|=2;return a},J]; -function M(a){y.call(this,"ChipSet",a,M,qi);this.Ka=(this.Ka=a.model)?parseInt(this.Ka,10):ri;this.hc=0;var b=a.sw1;if(b)this.hc=si(b,ti|ui.Dm);else{this.Xd=[360,360];(b=a.floppies)&&b.length&&(this.Xd=b);if(b=this.Xd.length)this.hc|=vi.ii,b--,this.hc|=(b&3)<=wi&&(this.mh=this.dg=2);this.ke=a.scaleTimers||!1;this.Cp=a.rtcDate;this.Rk= -!1;a.sound&&window&&"webkitAudioContext"in window&&(this.Ai=new window.webkitAudioContext);this.reset(!0);B(this)}Ua(y,M);var ri=5150,wi=5170,xi={none:0,tv:1,color:2,mono:3,ega:0},vi={ii:1,ONE:0,wq:64,uq:128,Up:192,Rf:192,Sf:6},ti=12,ui={vq:16,Mp:32,Dm:48,Rf:48,Sf:4};k=M.prototype; -k.Hb=function(a,b,c){switch(b){case "sw1":return this.xa[b]=c,yi(this,b,c,this.hc,{0:this.Ka==ri?"Bootable Floppy Drive":"Loop on POST",1:this.Ka==ri?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Ka==ri)return this.xa[b]=c,yi(this,b,c,this.ye,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.xa[b]=c,!0}return!1}; -k.wc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.Ma=a;this.Oa=ib(a,"Keyboard");this.Th=c.da.sd/1193181;xb(b,this,zi);Bb(b,this,Ai);this.Kab;b++){var c=13>=b?Ji(e,b):e.ma[b];a&&(a+="\n");a+="CMOS[0x"+q(b)+"]: 0x"+q(c)}e.ka.Z(a)})}kd(c,Ki,this,this.eo)};k.fc=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.ec=function(a){return a&&this.save?this.save():!0}; -k.reset=function(a){var b;this.kd=this.hc;this.df=this.ye;Li(this);this.sb=Array(this.mh);for(b=0;b=wi){this.ob=16;this.Dd=0;this.Cd=16;this.dh=0;this.Fe=160;512<=Pi(this)&&(this.Fe|=16);3==Qi(this)&&(this.Fe|=64);this.si=3;this.ag=0;this.Yg=Array(7);this.Ge=0;a&&(this.ma=Array(64));Ri(this, -this.Cp);for(a=21;24>=a;a++)this.ma[a]=0;for(a=14;46>a;a++)void 0===this.ma[a]&&(this.ma[a]=0);this.ma[20]=this.kd&(ui.Rf|2|vi.ii|vi.Rf);this.ma[16]=Si(this,0)<<4|Si(this,1);Ti(this)}}; -function Ri(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.Z("CMOS date invalid ("+b+"), using "+c)):b&&a.Z("CMOS date: "+c);a.ma[0]=c.getSeconds();a.ma[1]=0;a.ma[2]=c.getMinutes();a.ma[3]=0;a.ma[4]=c.getHours();a.ma[5]=0;a.ma[6]=c.getDay()+1;a.ma[7]=c.getDate();a.ma[8]=c.getMonth()+1;c=c.getFullYear();a.ma[9]=c%100;c/=100;a.ma[50]=c%10|c/10<<4;a.ma[10]=38;a.ma[11]=2;a.ma[12]=0;a.ma[13]=128;a.Fg=a.If=0;a.gm=a.Rh=null} -function Ji(a,b){var c=a.ma[b];if(10>b){var d=!1;4!=b&&5!=b||a.ma[11]&2||(c=12>c?c?c:12:(c-=12)?c+128:140,d=!0);a.ma[11]&4||(d&&128c;c++)b+=a.ma[c];a.ma[47]=b&255;a.ma[46]=b>>8} -k.save=function(){var a=new sd(this);a.set(0,[this.hc,this.ye,this.kd,this.df]);for(var b=[],c=0;c=wi&&(a.set(5,[this.ob,this.Dd,this.Cd,this.dh,this.Fe,this.si]),a.set(6,[this.ag,this.Yg,this.Ge,this.ma,this.Fg,this.If]));return a.data()}; -k.restore=function(a){var b,c;b=a[0];this.hc=b[0];this.ye=b[1];this.kd=b[2];this.df=b[3];b=a[1];for(c=0;c>2)+1)*a.fo+32*((b?a.ye:a.df)&15)}function aj(a,b){var c=b?a.hc:a.kd;return a.Ka!=ri||c&vi.ii?((c&vi.Rf)>>vi.Sf)+1:0} -function Si(a,b){if(b>ui.Sf} -function yi(a,b,c,d,e){for(var f="",g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");f+='
'+g+"
\n"}c.innerHTML=f;b=z(c,"pcjs-bitCell");c=null;for(g=0;gg.ab[0]&&(g.ab[0]=255,g.ab[1]--,0>g.ab[1]&&(g.ab[1]=255)));return h}function gj(a,b,c,d,e,f){var g=a.sb[b];a.ua(dj|N)&&A(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.vb+"]",null,!0);a=g.Qb[c];a.ab[g.vb]=a.ic[g.vb]=e;g.vb^=1}function hj(a,b,c,d){var e=a.sb[b],f=e.ee|1;e.ee&=-16;a.ua(dj|N)&&A(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f} -function ij(a,b,c,d,e){var f=a.sb[b];a.ua(dj|N)&&A(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.ee=f.ee&~(16<>2].Qb[b&3],c,d,e)}function kj(a,b,c){b=a.sb[b>>2].Qb[b&3];b.rh&&b.Si&&b.Uh?(c&&(b.th=c),b.Nd||Vd(a,b,!0)):c&&c(!0)} -function Vd(a,b,c){c&&(b.count=b.ab[1]<<8|b.ab[0],b.zm=b.mode&12,b.Sk=b.fd=!1);for(var d=!1;0<=b.count&&(c=b.jh<<16|b.ib[1]<<8|b.ib[0],4==b.zm?(d=!0,function(c){b.Si.call(b.rh,b.Uh,-1,function(f,g){0>f&&(b.Sk||(b.Sk=!0),f=255);b.Nd||tb(a.sa,c,f);(d=g)&&setTimeout(function(){tj(b)||Vd(a,b)},0)})}(c)):8==b.zm?(c=rb(a.sa,c),0>b.Si.call(b.rh,b.Uh,c)&&(b.fd=!0)):b.fd=!0),!d&&!tj(b););} -function tj(a){if(!a.fd&&0<=--a.count&&(a.mode&32?(a.ib[0]--,0>a.ib[0]&&(a.ib[0]=255,a.ib[1]--,0>a.ib[1]&&(a.ib[1]=255))):(a.ib[0]++,255>3];b=1<<(b&7);d.Rb&b||(d.Rb|=b,d.Gf=c||0,wj(a))}function Aj(a,b){var c=a.Wb[b>>3],d=1<<(b&7);c.Rb&d&&(c.Rb&=~d,wj(a))} -function wj(a,b){var c,d=-1;1>=1),Zb(a.T,c))),2==b&&bc(a))}k=M.prototype; -k.Xn=function(a,b){A(this,a,null,b,"TIMER_CTRL",null,Gi);return null};k.np=function(a,b,c){this.xi=b;A(this,a,b,c,"TIMER_CTRL",null,Gi);a=(b&192)>>6;if(3!=a){c=b&1;var d=b&14;if(b&=48){var e=this.Kb[a];e.bi=b;e.mode=d;e.yk=c;e.ic=[0,0];e.ab=[0,0];e.Oe=[0,0];e.rd=!1;e.mg=!1;e.Se=!1;Cj(this,a);0==a&&Aj(this,0);2==a&&255==this.Wb[0].nd&&77==this.Gc&&(a=this.Kb[0],a.Jc[0]=a.ic[0],a.Jc[1]=a.ic[1],a.jd=D(this.T,this.ke))}else Hi(this,a),b=this.Kb[a],b.Oe[0]=b.ab[0],b.Oe[1]=b.ab[1],b.mg=!0,Cj(this,a)}}; -function Ej(a,b){var c=a.Kb[b],d=c.ic[1]<<8|c.ic[0];d||(d=1==c.pd?256:65536);return d}function dc(a,b){var c=a.Kb[b],d=c.Jc[1]<<8|c.Jc[0];d||(d=1==c.pd?256:65536);return d}function Cj(a,b){var c=a.Kb[b];c.he=32==c.bi?1:0;c.pd=48==c.bi?2:1} -function Hi(a,b,c){var d=a.Kb[b];if(d.Se&&(2!=b||a.Gc&1)){var e=D(a.T,a.ke),f=(e-d.jd)/a.Th|0;0>f&&(d.jd=e,f=0);var g=Ej(a,b),h=dc(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.rd=!0,d.Se=!1,b||zj(a,0))):4==d.mode?(d.rd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.Jc[0]=h&255,d.Jc[1]=h>>8,d.jd=e,!b&&d.rd&&zj(a,0))):6==d.mode&&(h-=f,0>=h&&(d.rd=!d.rd,h=g+h,0>=h&&(h=g),d.Jc[0]=h&255,d.Jc[1]=h>>8,d.jd=e,!b&&d.rd&&zj(a,0)));d.ab[0]=h&255;d.ab[1]=h>>8;c&&(a.jd=0)}return d} -function cc(a,b){for(var c=0;c=wi){var c=a.T.da.sd,d=D(a.T,a.ke);null==a.Rh&&(a.Fg=D(a.T,a.ke),a.gm=1024,a.Rh=Math.floor(a.T.da.sd/a.gm),Ui(a));d>=a.If&&(a.ma[12]|=64,a.ma[11]&64&&(a.ma[12]|=128,zj(a,8)),a.If=d+a.Rh);a.ma[0]==a.ma[1]&&a.ma[2]==a.ma[3]&&a.ma[4]==a.ma[5]&&(a.ma[12]|=32,a.ma[11]&32&&(a.ma[12]|=128,zj(a,8)));var e=d-a.Fg,f=Math.floor(e/c);if(f&&!(a.ma[11]&128)){for(;f--;)if(60<=++a.ma[0]&&(a.ma[0]=0,60<=++a.ma[2]&&(a.ma[2]=0,24<=++a.ma[4]))){a.ma[4]= -0;a.ma[6]=a.ma[6]%7+1;var g;g=a.ma[9];var h=ra[a.ma[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.ma[7]>g&&(a.ma[7]=1,12<++a.ma[8]&&(a.ma[8]=1,a.ma[9]=(a.ma[9]+1)%100))}a.ma[12]|=16;a.ma[11]&16&&(a.ma[12]|=128,zj(a,8))}a.Fg=d-e%c}}k.Pn=function(a,b){var c=this.ih;if(this.cg&16)if(this.Gc&128)c=this.kd;else if(this.Oa){var c=this.Oa,d=0;c.Xb.length&&(d=c.Xb[0]);c.ua()&&c.cb("scan code 0x"+q(d)+" delivered");c=d}A(this,a,null,b,"PPI_A",c);return c}; -k.gp=function(a,b,c){A(this,a,b,c,"PPI_A");this.ih=b};k.Qn=function(a,b){var c=this.Gc;A(this,a,null,b,"PPI_B",c);return c};k.hp=function(a,b,c){A(this,a,b,c,"PPI_B");Fj(this,b);this.Oa&&Gj(this.Oa,b&128?!1:!0,b&64?!0:!1)};function Fj(a,b){var c=!!(b&2),d=!!(a.Gc&2);a.Gc=b;c!=d&&bc(a,c)}k.Rn=function(a,b){var c=0,c=this.Ka==ri?this.Gc&4?c|this.df&15:c|this.df>>4&1:this.Gc&8?c|this.kd>>4:c|this.kd&15;this.Gc&1&&Hi(this,2).rd&&(c=this.Gc&2?c|32:c|16);A(this,a,null,b,"PPI_C",c,qi|Fb);return c}; -k.ip=function(a,b,c){A(this,a,b,c,"PPI_C");this.vi=b};k.Sn=function(a,b){var c=this.cg;A(this,a,null,b,"PPI_CTRL",c);return c};k.jp=function(a,b,c){A(this,a,b,c,"PPI_CTRL");this.cg=b};k.en=function(a,b){var c=this.dh;A(this,a,null,b,"8042_OUTBUFF",c,Hj);this.ob&=-258;this.Oa&&Ij(this.Oa);return c}; -k.yo=function(a,b,c){A(this,a,b,c,"8042_INBUF.DATA",null,Hj);if(this.ob&8)switch(this.Dd){case 96:Jj(this,b);break;case 209:Kj(this,b);break;default:if(Jj(this,this.Cd&-17),this.Oa){a=-1;switch(b){case 255:a=250,Lj(this.Oa)}Mj(this,a)}}this.Dd=b;this.ob&=-9};k.fn=function(a,b){var c=this.Gc&-209|(D(this.T)&64?16:0);A(this,a,null,b,"8042_RWREG",c,Hj);return c};k.zo=function(a,b,c){A(this,a,b,c,"8042_RWREG",null,Hj);Fj(this,b)}; -k.gn=function(a,b){A(this,a,null,b,"8042_STATUS",this.ob,Hj);var c=this.ob&255;this.ob&256&&(this.ob|=1,this.ob&=-257);return c}; -k.xo=function(a,b,c){A(this,a,b,c,"8042_INBUFF.CMD",null,Hj);this.Dd=b;this.ob|=8;a=0;240<=this.Dd&&(a=this.Dd^15,this.Dd=240);switch(this.Dd){case 192:Mj(this,this.Fe);break;case 173:Jj(this,this.Cd|16);break;case 174:Jj(this,this.Cd&-17);this.Oa&&Ij(this.Oa);break;case 170:this.Oa&&(a=this.Oa,a.Xb=[],a.ua()&&a.cb("scan codes flushed"));Jj(this,this.Cd|16);Mj(this,85);Kj(this,3);break;case 224:Mj(this,this.Cd&16?0:1);break;case 240:a&1&&id(this.T)}}; -function Jj(a,b){a.Cd=b;a.ob=a.ob&-5|b&4;a.Oa&&Gj(a.Oa,!!(b&8),!(b&16))}function Mj(a,b){0<=b&&(a.dh=b,a.ob&=-2,a.ob|=256)}function Kj(a,b){a.si=b;nb(a.sa,!!(b&2));b&1||id(a.T)}function Nj(a,b){a.Ka=c?Ji(this,c):this.ma[c];this.ua(Ii|N)&&A(this,a,null,b,"CMOS.DATA["+q(c)+"]",d,!0);null!=b&&12==c&&(this.ma[c]&=15,d&128&&Aj(this,8),d&64&&this.ma[11]&64&&Ui(this));return d}; -k.Oo=function(a,b,c){var d=this.Ge&63;this.ua(Ii|N)&&A(this,a,b,c,"CMOS.DATA["+q(d)+"]",null,!0);a=b^this.ma[d];if(13>=d){if(c=b,10>d){var e=!1;this.ma[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.ma[d]=c;11==d&&a&64&&b&64&&Ui(this)};k.Nn=function(a,b){A(this,a,null,b,"MFG_DATA",this.ag);return this.ag};k.dp=function(a,b,c){A(this,a,b,c,"MFG_DATA");this.ag=b}; -k.fp=function(a,b,c){A(this,a,b,c,"NMI");this.hh=b};k.Po=function(a,b,c){A(this,a,b,c,"COPROC.CLEAR")};k.Qo=function(a,b,c){A(this,a,b,c,"COPROC.RESET")}; -k.eo=function(a){if(this.ua(Pj)&&nd(this.ka,Ki,a)){var b=this.T.H>>8;od(this.T,a,function(a,d){return function(e){d=D(a.T)-d;var f,g=a.T.K&255,h=a.T.K>>8,n=a.T.K&255,l=a.T.K>>8;if(2==b||3==b)f=" CH(hour)="+r(h)+" CL(min)="+q(g)+" DH(sec)="+q(l);else if(4==b||5==b)f=" CX(year)="+r(a.T.J)+" DH(month)="+q(l)+" DL(day)="+q(n);pd(a.ka,Ki,e,d,f)}}(this,D(this.T)))}return!0};function si(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;ec||2E4>8&255,this.Lb[c++]=f[b]>>16&255,this.Lb[c++]=f[b]>>24&255;else this.Lb=d;this.ni=d.symbols;if(!this.Lb.length){w("Empty ROM: "+a);return}if(1==this.Lb.length){w(this.Lb[0]);return}}catch(g){this.Ia("ROM data error: "+ -g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.Lb=Array(a.length),d=0;dthis.ah?21:23,c=a.ma[b]|a.ma[b+1]<<8,c=c+(this.Sd>>10);a.ma[b]=c&255;a.ma[b+1]=c>>8;Ti(a)}}else w("No RAM allocated")}; -Ja(function(){for(var a=z(window.document,"pcjs","ram"),b=0;b>8)*a+this.H&255;this.ea=256;this.A-=this.B.gl},function(){this.H=this.H&-256|(vd(this)?255:0);this.A-=2},function(){this.H=this.H&-256|this.U(this.D,this.C+(this.H&255)&65535);this.A-=this.B.fm},fi,fi,fi,fi,fi,fi,fi,fi,function(){var a=this.M();(this.J=this.J-1&65535)&&this.aa&this.ea-1?(J(this,this.wa+a),this.A-=this.B.Nl): +this.A-=this.B.uj},function(){var a=this.M();!(this.J=this.J-1&65535)||this.aa&this.ea-1?this.A-=this.B.wj:(J(this,this.wa+a),this.A-=this.B.vj)},function(){var a=this.M();(this.J=this.J-1&65535)?(J(this,this.wa+a),this.A-=this.B.Ml):this.A-=this.B.uj},function(){var a=this.M();this.J?this.A-=this.B.wj:(J(this,this.wa+a),this.A-=this.B.vj)},function(){var a=this.fa();this.H=this.H&-256|xb(this.sa,a,this.Ea-2);this.A-=this.B.oj},function(){var a=this.fa();this.H=xb(this.sa,a,this.Ea-1)|xb(this.sa, +a+1&65535,this.Ea-2)<<8;this.A-=this.B.oj},function(){var a=this.fa();Bb(this.sa,a,this.H&255,this.Ea-2);this.A-=this.B.Dj},function(){var a=this.fa();Bb(this.sa,a,this.H&255,this.Ea-2);Bb(this.sa,a+1&65535,this.H>>8,this.Ea-2);this.A-=this.B.Dj},function(){var a=this.L();H(this,this.wa);J(this,this.wa+a);this.A-=this.B.ll},function(){var a=this.L();J(this,this.wa+a);this.A-=this.B.pj},function(){yc(this,this.L(),this.L());this.A-=this.B.Il},function(){var a=this.M();J(this,this.wa+a);this.A-=this.B.pj}, +function(){this.H=this.H&-256|xb(this.sa,this.K,this.Ea-1);this.A-=this.B.nj},function(){this.H=xb(this.sa,this.K,this.Ea-1)|xb(this.sa,this.K+1&65535,this.Ea-1)<<8;this.A-=this.B.nj},function(){Bb(this.sa,this.K,this.H&255,this.Ea-1);this.A-=this.B.Cj},function(){Bb(this.sa,this.K,this.H&255,this.Ea-1);Bb(this.sa,this.K+1&65535,this.H>>8,this.Ea-1);this.A-=this.B.Cj},gi,gi,function(){this.ba|=132;this.A-=this.B.re},function(){this.ba|=68;this.A-=this.B.re},function(){this.yb|=4;this.A-=2;this.ka&& +Nd(this.ka)?(ud(this,-1),this.Ib()):this.Ba&512||(this.ka&&ud(this,-1),this.Ib())},function(){vd(this)?Bd(this):Id(this);this.A-=2},function(){this.Pb=-1;Ih[this.fa()].call(this,Ie,ze);0<=this.Pb&&(this.H=this.Pb)},function(){this.Pb=-1;Jh[this.fa()].call(this,Je,ze);0<=this.Pb&&(this.H=this.Pb,this.K=this.Lg)},function(){this.aa&=~this.ea;this.A-=2},function(){this.aa|=this.ea;this.A-=2},function(){this.Ba&=-513;this.A-=this.B.jl},function(){this.Ba|=512;this.ba|=4;this.A-=2},function(){this.Ba&= +-1025;this.A-=2},function(){this.Ba|=1024;this.A-=2},function(){Ih[this.fa()].call(this,Hc,ze)},function(){Jh[this.fa()].call(this,Ic,ze)}],Kh=[function(){var a=this.fa();16>(a&56)&&(this.ba|=1);Jh[a].call(this,this.pk,ze)},function(){var a=this.fa();a&16||(this.ba|=1);Jh[a].call(this,hi,ze)},function(){M[this.fa()].call(this,bf)},function(){M[this.fa()].call(this,cf)},L,function(){this.va.bb?ic.call(this,13,0,!0):(ff.call(this,this.ra(2054)),this.F=this.ra(2086),this.G=this.ra(2088),this.I=this.ra(2090), +this.Y=this.ra(2092),this.C=this.ra(2094),this.K=this.ra(2096),this.J=this.ra(2098),this.H=this.ra(2100),zc(this.La,2102,this.ra(2084)),zc(this.va,2108,this.ra(2082)),zc(this.Ya,2114,this.ra(2080)),zc(this.fb,2120,this.ra(2078)),xc(this,this.ra(2072)),J(this,this.ra(2074)),this.Ec=this.ra(2126)|this.ra(2128)<<16,this.Ce=this.Ec+this.ra(2130),zc(this.Yc,2132,this.ra(2076)),this.Rc=this.ra(2138)|this.ra(2140)<<16,this.De=this.Rc+this.ra(2142),zc(this.gb,2144,this.ra(2070)),this.A-=195)},function(){this.va.bb? +ic.call(this,13,0,!0):(this.gc&=-9,this.A-=2)},L,L,L,L,Lc,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L, +L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L],nd=[function(){this.A-=2+(0>this.ja?0:1);return this.Yc.ta},function(){this.A-=2+(0>this.ja?0:1);return this.gb.ta},function(a){this.ba|=2;this.Yc.load(a);this.A-=17+(0>this.ja?0:2);return a},function(a){this.ba|=2;-4!=this.gb.load(a)&&(this.Ua(this.gb.Bd+4,this.gb.ob|=512),this.gb.type=768);this.A-=17+(0>this.ja?0:2);return a},function(a){this.ba|=2;this.A-=14+(0>this.ja?0:2);if(-4!=this.Tb.load(a,!0)&&2048!=(this.Tb.ob&2560)&&(this.Tb.oc>=this.va.bb&& +this.Tb.oc>=(a&3)||7168==(this.Tb.ob&7168)))return Kd(this),a;Dd(this);return a},function(a){this.ba|=2;this.A-=14+(0>this.ja?0:2);if(-4!=this.Tb.load(a,!0)&&512==(this.Tb.ob&2560)&&this.Tb.oc>=this.va.bb&&this.Tb.oc>=(a&3))return Kd(this),a;Dd(this);return a},K,K],Kc=[bd,bd,bd,bd,bd,bd,K,K],hi=[function(a){0>this.ja?Lc.call(this):(a=this.Ce-this.Ec,this.Ua(this.ja+2,this.Ec),this.Ua(this.ja+4,65280|this.Ec>>16),this.A-=11);return a},function(a){0>this.ja?Lc.call(this):(a=this.De-this.Rc,this.Ua(this.ja+ +2,this.Rc),this.Ua(this.ja+4,65280|this.Rc>>16),this.A-=12);return a},function(a){0>this.ja?Lc.call(this):(this.Ec=this.ra(this.ja+2)|this.xb(this.ja+4)<<16,this.Ce=this.Ec+a,this.ba|=2,this.A-=11);return a},function(a){0>this.ja?Lc.call(this):(this.Rc=this.ra(this.ja+2)|this.xb(this.ja+4)<<16,this.De=this.Rc+a,this.ba|=2,this.A-=12);return a},function(){this.A-=2+(0>this.ja?0:1);return this.gc},K,function(a){ff.call(this,a);this.A-=0>this.ja?3:6;this.ba|=2;return a},K]; +function N(a){y.call(this,"ChipSet",a,N,16384);this.Ka=(this.Ka=a.model)?parseInt(this.Ka,10):ii;this.hc=0;var b=a.sw1;if(b)this.hc=ji(b,ki|li.Dm);else{this.Xd=[360,360];(b=a.floppies)&&b.length&&(this.Xd=b);if(b=this.Xd.length)this.hc|=mi.ii,b--,this.hc|=(b&3)<=ni&&(this.mh=this.dg=2);this.ke=a.scaleTimers||!1;this.Cp=a.rtcDate; +this.Rk=!1;a.sound&&window&&"webkitAudioContext"in window&&(this.Ai=new window.webkitAudioContext);this.reset(!0);D(this)}Wa(y,N);var ii=5150,ni=5170,oi={none:0,tv:1,color:2,mono:3,ega:0},mi={ii:1,ONE:0,wq:64,uq:128,Up:192,Rf:192,Sf:6},ki=12,li={vq:16,Mp:32,Dm:48,Rf:48,Sf:4};k=N.prototype; +k.Hb=function(a,b,c){switch(b){case "sw1":return this.xa[b]=c,pi(this,b,c,this.hc,{0:this.Ka==ii?"Bootable Floppy Drive":"Loop on POST",1:this.Ka==ii?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Ka==ii)return this.xa[b]=c,pi(this,b,c,this.ye,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.xa[b]=c,!0}return!1}; +k.wc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.Ma=a;this.Oa=hb(a,"Keyboard");this.Th=c.da.sd/1193181;wb(b,this,qi);Ab(b,this,ri);this.Kab;b++){var c=13>=b?yi(e,b):e.na[b];a&&(a+="\n");a+="CMOS[0x"+q(b)+"]: 0x"+q(c)}e.ka.Z(a)})}hd(c,26,this,this.eo)};k.fc=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.ec=function(a){return a&&this.save?this.save():!0}; +k.reset=function(a){var b;this.kd=this.hc;this.df=this.ye;zi(this);this.nb=Array(this.mh);for(b=0;b=ni){this.pb=16;this.Dd=0;this.Cd=16;this.dh=0;this.Fe=160;512<=Di(this)&&(this.Fe|=16);3==Ei(this)&&(this.Fe|=64);this.si=3;this.ag=0;this.Yg=Array(7);this.Ge=0;a&&(this.na=Array(64));Fi(this, +this.Cp);for(a=21;24>=a;a++)this.na[a]=0;for(a=14;46>a;a++)void 0===this.na[a]&&(this.na[a]=0);this.na[20]=this.kd&(li.Rf|2|mi.ii|mi.Rf);this.na[16]=Gi(this,0)<<4|Gi(this,1);Hi(this)}}; +function Fi(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.Z("CMOS date invalid ("+b+"), using "+c)):b&&a.Z("CMOS date: "+c);a.na[0]=c.getSeconds();a.na[1]=0;a.na[2]=c.getMinutes();a.na[3]=0;a.na[4]=c.getHours();a.na[5]=0;a.na[6]=c.getDay()+1;a.na[7]=c.getDate();a.na[8]=c.getMonth()+1;c=c.getFullYear();a.na[9]=c%100;c/=100;a.na[50]=c%10|c/10<<4;a.na[10]=38;a.na[11]=2;a.na[12]=0;a.na[13]=128;a.Fg=a.If=0;a.gm=a.Rh=null} +function yi(a,b){var c=a.na[b];if(10>b){var d=!1;4!=b&&5!=b||a.na[11]&2||(c=12>c?c?c:12:(c-=12)?c+128:140,d=!0);a.na[11]&4||(d&&128c;c++)b+=a.na[c];a.na[47]=b&255;a.na[46]=b>>8} +k.save=function(){var a=new od(this);a.set(0,[this.hc,this.ye,this.kd,this.df]);for(var b=[],c=0;c=ni&&(a.set(5,[this.pb,this.Dd,this.Cd,this.dh,this.Fe,this.si]),a.set(6,[this.ag,this.Yg,this.Ge,this.na,this.Fg,this.If]));return a.data()}; +k.restore=function(a){var b,c;b=a[0];this.hc=b[0];this.ye=b[1];this.kd=b[2];this.df=b[3];b=a[1];for(c=0;c>2)+1)*a.fo+32*((b?a.ye:a.df)&15)}function Pi(a,b){var c=b?a.hc:a.kd;return a.Ka!=ii||c&mi.ii?((c&mi.Rf)>>mi.Sf)+1:0} +function Gi(a,b){if(b>li.Sf} +function pi(a,b,c,d,e){for(var f="",g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");f+='
'+g+"
\n"}c.innerHTML=f;b=A(c,"pcjs-bitCell");c=null;for(g=0;gg.ab[0]&&(g.ab[0]=255,g.ab[1]--,0>g.ab[1]&&(g.ab[1]=255)));return h}function Ui(a,b,c,d,e,f){var g=a.nb[b];a.ua(384)&&B(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.qb+"]",null,!0);a=g.Qb[c];a.ab[g.qb]=a.ic[g.qb]=e;g.qb^=1}function Vi(a,b,c,d){var e=a.nb[b],f=e.ee|1;e.ee&=-16;a.ua(384)&&B(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f} +function Wi(a,b,c,d,e){var f=a.nb[b];a.ua(384)&&B(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.ee=f.ee&~(16<>2].Qb[b&3],c,d,e)} +function Yi(a,b,c){b=a.nb[b>>2].Qb[b&3];b.rh&&b.Si&&b.Uh?(c&&(b.th=c),b.Nd||Qd(a,b,!0)):c&&c(!0)}function Qd(a,b,c){c&&(b.count=b.ab[1]<<8|b.ab[0],b.zm=b.mode&12,b.Sk=b.fd=!1);for(var d=!1;0<=b.count&&(c=b.jh<<16|b.ib[1]<<8|b.ib[0],4==b.zm?(d=!0,function(c){b.Si.call(b.rh,b.Uh,-1,function(f,g){0>f&&(b.Sk||(b.Sk=!0),f=255);b.Nd||sb(a.sa,c,f);(d=g)&&setTimeout(function(){fj(b)||Qd(a,b)},0)})}(c)):8==b.zm?(c=qb(a.sa,c),0>b.Si.call(b.rh,b.Uh,c)&&(b.fd=!0)):b.fd=!0),!d&&!fj(b););} +function fj(a){if(!a.fd&&0<=--a.count&&(a.mode&32?(a.ib[0]--,0>a.ib[0]&&(a.ib[0]=255,a.ib[1]--,0>a.ib[1]&&(a.ib[1]=255))):(a.ib[0]++,255>3];b=1<<(b&7);d.Rb&b||(d.Rb|=b,d.Gf=c||0,ij(a))}function mj(a,b){var c=a.Wb[b>>3],d=1<<(b&7);c.Rb&d&&(c.Rb&=~d,ij(a))} +function ij(a,b){var c,d=-1;1>=1),Wb(a.T,c))),2==b&&Zb(a))}k=N.prototype; +k.Xn=function(a,b){B(this,a,null,b,"TIMER_CTRL",null,1024);return null};k.np=function(a,b,c){this.xi=b;B(this,a,b,c,"TIMER_CTRL",null,1024);a=(b&192)>>6;if(3!=a){c=b&1;var d=b&14;if(b&=48){var e=this.Kb[a];e.bi=b;e.mode=d;e.yk=c;e.ic=[0,0];e.ab=[0,0];e.Oe=[0,0];e.rd=!1;e.mg=!1;e.Se=!1;oj(this,a);0==a&&mj(this,0);2==a&&255==this.Wb[0].nd&&77==this.Gc&&(a=this.Kb[0],a.Jc[0]=a.ic[0],a.Jc[1]=a.ic[1],a.jd=F(this.T,this.ke))}else xi(this,a),b=this.Kb[a],b.Oe[0]=b.ab[0],b.Oe[1]=b.ab[1],b.mg=!0,oj(this,a)}}; +function qj(a,b){var c=a.Kb[b],d=c.ic[1]<<8|c.ic[0];d||(d=1==c.pd?256:65536);return d}function ac(a,b){var c=a.Kb[b],d=c.Jc[1]<<8|c.Jc[0];d||(d=1==c.pd?256:65536);return d}function oj(a,b){var c=a.Kb[b];c.he=32==c.bi?1:0;c.pd=48==c.bi?2:1} +function xi(a,b,c){var d=a.Kb[b];if(d.Se&&(2!=b||a.Gc&1)){var e=F(a.T,a.ke),f=(e-d.jd)/a.Th|0;0>f&&(d.jd=e,f=0);var g=qj(a,b),h=ac(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.rd=!0,d.Se=!1,b||lj(a,0))):4==d.mode?(d.rd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.Jc[0]=h&255,d.Jc[1]=h>>8,d.jd=e,!b&&d.rd&&lj(a,0))):6==d.mode&&(h-=f,0>=h&&(d.rd=!d.rd,h=g+h,0>=h&&(h=g),d.Jc[0]=h&255,d.Jc[1]=h>>8,d.jd=e,!b&&d.rd&&lj(a,0)));d.ab[0]=h&255;d.ab[1]=h>>8;c&&(a.jd=0)}return d} +function $b(a,b){for(var c=0;c=ni){var c=a.T.da.sd,d=F(a.T,a.ke);null==a.Rh&&(a.Fg=F(a.T,a.ke),a.gm=1024,a.Rh=Math.floor(a.T.da.sd/a.gm),Ii(a));d>=a.If&&(a.na[12]|=64,a.na[11]&64&&(a.na[12]|=128,lj(a,8)),a.If=d+a.Rh);a.na[0]==a.na[1]&&a.na[2]==a.na[3]&&a.na[4]==a.na[5]&&(a.na[12]|=32,a.na[11]&32&&(a.na[12]|=128,lj(a,8)));var e=d-a.Fg,f=Math.floor(e/c);if(f&&!(a.na[11]&128)){for(;f--;)if(60<=++a.na[0]&&(a.na[0]=0,60<=++a.na[2]&&(a.na[2]=0,24<=++a.na[4]))){a.na[4]= +0;a.na[6]=a.na[6]%7+1;var g;g=a.na[9];var h=ra[a.na[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.na[7]>g&&(a.na[7]=1,12<++a.na[8]&&(a.na[8]=1,a.na[9]=(a.na[9]+1)%100))}a.na[12]|=16;a.na[11]&16&&(a.na[12]|=128,lj(a,8))}a.Fg=d-e%c}}k.Pn=function(a,b){var c=this.ih;if(this.cg&16)if(this.Gc&128)c=this.kd;else if(this.Oa){var c=this.Oa,d=0;c.Xb.length&&(d=c.Xb[0]);c.ua()&&c.cb("scan code 0x"+q(d)+" delivered");c=d}B(this,a,null,b,"PPI_A",c);return c}; +k.gp=function(a,b,c){B(this,a,b,c,"PPI_A");this.ih=b};k.Qn=function(a,b){var c=this.Gc;B(this,a,null,b,"PPI_B",c);return c};k.hp=function(a,b,c){B(this,a,b,c,"PPI_B");rj(this,b);this.Oa&&sj(this.Oa,b&128?!1:!0,b&64?!0:!1)};function rj(a,b){var c=!!(b&2),d=!!(a.Gc&2);a.Gc=b;c!=d&&Zb(a,c)}k.Rn=function(a,b){var c=0,c=this.Ka==ii?this.Gc&4?c|this.df&15:c|this.df>>4&1:this.Gc&8?c|this.kd>>4:c|this.kd&15;this.Gc&1&&xi(this,2).rd&&(c=this.Gc&2?c|32:c|16);B(this,a,null,b,"PPI_C",c,16448);return c}; +k.ip=function(a,b,c){B(this,a,b,c,"PPI_C");this.vi=b};k.Sn=function(a,b){var c=this.cg;B(this,a,null,b,"PPI_CTRL",c);return c};k.jp=function(a,b,c){B(this,a,b,c,"PPI_CTRL");this.cg=b};k.en=function(a,b){var c=this.dh;B(this,a,null,b,"8042_OUTBUFF",c,8192);this.pb&=-258;this.Oa&&tj(this.Oa);return c}; +k.yo=function(a,b,c){B(this,a,b,c,"8042_INBUF.DATA",null,8192);if(this.pb&8)switch(this.Dd){case 96:uj(this,b);break;case 209:vj(this,b);break;default:if(uj(this,this.Cd&-17),this.Oa){a=-1;switch(b){case 255:a=250,wj(this.Oa)}xj(this,a)}}this.Dd=b;this.pb&=-9};k.fn=function(a,b){var c=this.Gc&-209|(F(this.T)&64?16:0);B(this,a,null,b,"8042_RWREG",c,8192);return c};k.zo=function(a,b,c){B(this,a,b,c,"8042_RWREG",null,8192);rj(this,b)}; +k.gn=function(a,b){B(this,a,null,b,"8042_STATUS",this.pb,8192);var c=this.pb&255;this.pb&256&&(this.pb|=1,this.pb&=-257);return c}; +k.xo=function(a,b,c){B(this,a,b,c,"8042_INBUFF.CMD",null,8192);this.Dd=b;this.pb|=8;a=0;240<=this.Dd&&(a=this.Dd^15,this.Dd=240);switch(this.Dd){case 192:xj(this,this.Fe);break;case 173:uj(this,this.Cd|16);break;case 174:uj(this,this.Cd&-17);this.Oa&&tj(this.Oa);break;case 170:this.Oa&&(a=this.Oa,a.Xb=[],a.ua()&&a.cb("scan codes flushed"));uj(this,this.Cd|16);xj(this,85);vj(this,3);break;case 224:xj(this,this.Cd&16?0:1);break;case 240:a&1&&fd(this.T)}}; +function uj(a,b){a.Cd=b;a.pb=a.pb&-5|b&4;a.Oa&&sj(a.Oa,!!(b&8),!(b&16))}function xj(a,b){0<=b&&(a.dh=b,a.pb&=-2,a.pb|=256)}function vj(a,b){a.si=b;mb(a.sa,!!(b&2));b&1||fd(a.T)}function yj(a,b){a.Ka=c?yi(this,c):this.na[c];this.ua(2176)&&B(this,a,null,b,"CMOS.DATA["+q(c)+"]",d,!0);null!=b&&12==c&&(this.na[c]&=15,d&128&&mj(this,8),d&64&&this.na[11]&64&&Ii(this));return d}; +k.Oo=function(a,b,c){var d=this.Ge&63;this.ua(2176)&&B(this,a,b,c,"CMOS.DATA["+q(d)+"]",null,!0);a=b^this.na[d];if(13>=d){if(c=b,10>d){var e=!1;this.na[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.na[d]=c;11==d&&a&64&&b&64&&Ii(this)};k.Nn=function(a,b){B(this,a,null,b,"MFG_DATA",this.ag);return this.ag};k.dp=function(a,b,c){B(this,a,b,c,"MFG_DATA");this.ag=b}; +k.fp=function(a,b,c){B(this,a,b,c,"NMI");this.hh=b};k.Po=function(a,b,c){B(this,a,b,c,"COPROC.CLEAR")};k.Qo=function(a,b,c){B(this,a,b,c,"COPROC.RESET")}; +k.eo=function(a){if(this.ua(4096)&&jd(this.ka,26,a)){var b=this.T.H>>8;kd(this.T,a,function(a,d){return function(e){d=F(a.T)-d;var f,g=a.T.K&255,h=a.T.K>>8,n=a.T.K&255,l=a.T.K>>8;if(2==b||3==b)f=" CH(hour)="+r(h)+" CL(min)="+q(g)+" DH(sec)="+q(l);else if(4==b||5==b)f=" CX(year)="+r(a.T.J)+" DH(month)="+q(l)+" DL(day)="+q(n);ld(a.ka,26,e,d,f)}}(this,F(this.T)))}return!0};function ji(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;ec||2E4>8&255,this.Lb[c++]=f[b]>>16&255,this.Lb[c++]=f[b]>>24&255;else this.Lb=d;this.ni=d.symbols;if(!this.Lb.length){w("Empty ROM: "+a);return}if(1==this.Lb.length){w(this.Lb[0]);return}}catch(g){this.Ia("ROM data error: "+ +g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.Lb=Array(a.length),d=0;dthis.ah?21:23,c=a.na[b]|a.na[b+1]<<8,c=c+(this.Sd>>10);a.na[b]=c&255;a.na[b+1]=c>>8;Hi(a)}}else w("No RAM allocated")}; +Ja(function(){for(var a=A(window.document,"pcjs","ram"),b=0;b":62,"?":63,"@":64,Kp:65,Lp:66,kk:67,Bm:68,E:69,Sp:70,Vp:71,lk:72,Xp:73,Yp:74,Zp:75,$p:76,aq:77,ji:78,cq:79,dq:80,fq:81,nk:82,jq:83,tq:84,xq:85,yq:86,zq:87,Bq:88,Cq:89,Dq:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Eq:97,Fq:98,Hq:99,Iq:100,Jq:101,Kq:102,Lq:103,Mq:104,Nq:105,Oq:106,Pq:107, -Qq:108,Rq:109,Sq:110,Uq:111,Vq:112,Wq:113,Xq:114,Yq:115,Zq:116,$q:117,ar:118,br:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},Zj={};Zj[186]=O[";"];Zj[187]=O["="];Zj[188]=O[","];Zj[189]=O["-"];Zj[190]=O["."];Zj[191]=O["/"];Zj[192]=O["`"];Zj[219]=O["["];Zj[220]=O["\\"];Zj[221]=O["]"];Zj[222]=O["'"];Zj[173]=O["-"];var P={};P[O["1"]]=O["!"];P[O["2"]]=O["@"];P[O["3"]]=O["#"];P[O["4"]]=O.$;P[O["5"]]=O["%"];P[O["6"]]=O["^"];P[O["7"]]=O["&"];P[O["8"]]=O["*"];P[O["9"]]=O["("];P[O["0"]]=O[")"]; -P[186]=O[":"];P[187]=O["+"];P[188]=O["<"];P[189]=O._;P[190]=O[">"];P[191]=O["?"];P[192]=O["~"];P[219]=O["{"];P[220]=O["|"];P[221]=O["}"];P[222]=O['"'];P[173]=O._;P[61]=O["+"];P[59]=O[":"]; -var ak={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},bk={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,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046},ck={esc:1027,1:O["1"],2:O["2"],3:O["3"],4:O["4"],5:O["5"],6:O["6"],7:O["7"],8:O["8"],9:O["9"],0:O["0"],"-":O["-"],"=":O["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89,u:85,i:73,o:79,p:80,"[":O["["],"]":O["]"],enter:13, +Qq:108,Rq:109,Sq:110,Uq:111,Vq:112,Wq:113,Xq:114,Yq:115,Zq:116,$q:117,ar:118,br:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},Hj={};Hj[186]=O[";"];Hj[187]=O["="];Hj[188]=O[","];Hj[189]=O["-"];Hj[190]=O["."];Hj[191]=O["/"];Hj[192]=O["`"];Hj[219]=O["["];Hj[220]=O["\\"];Hj[221]=O["]"];Hj[222]=O["'"];Hj[173]=O["-"];var R={};R[O["1"]]=O["!"];R[O["2"]]=O["@"];R[O["3"]]=O["#"];R[O["4"]]=O.$;R[O["5"]]=O["%"];R[O["6"]]=O["^"];R[O["7"]]=O["&"];R[O["8"]]=O["*"];R[O["9"]]=O["("];R[O["0"]]=O[")"]; +R[186]=O[":"];R[187]=O["+"];R[188]=O["<"];R[189]=O._;R[190]=O[">"];R[191]=O["?"];R[192]=O["~"];R[219]=O["{"];R[220]=O["|"];R[221]=O["}"];R[222]=O['"'];R[173]=O._;R[61]=O["+"];R[59]=O[":"]; +var Ij={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},Jj={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,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046},Kj={esc:1027,1:O["1"],2:O["2"],3:O["3"],4:O["4"],5:O["5"],6:O["6"],7:O["7"],8:O["8"],9:O["9"],0:O["0"],"-":O["-"],"=":O["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89,u:85,i:73,o:79,p:80,"[":O["["],"]":O["]"],enter:13, ctrl:1017,a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":O[";"],quote:O["'"],"`":O["`"],shift:1016,"\\":O["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":O[","],".":O["."],"/":O["/"],"right-shift":3016,prtsc:1044,alt:1018,space:O[" "],"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},dk={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},S={1027:1};S[O["1"]]=2;S[O["!"]]=10754;S[O["2"]]=3;S[O["@"]]=10755;S[O["3"]]=4;S[O["#"]]=10756;S[O["4"]]=5;S[O.$]=10757;S[O["5"]]=6;S[O["%"]]=10758;S[O["6"]]=7;S[O["^"]]=10759;S[O["7"]]=8;S[O["&"]]=10760;S[O["8"]]=9;S[O["*"]]=10761;S[O["9"]]=10;S[O["("]]=10762;S[O["0"]]=11;S[O[")"]]=10763;S[O["-"]]=12;S[O._]=10764;S[O["="]]=13;S[O["+"]]=10765;S[1008]=14;S[1009]=15;S[113]=16; +"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046},Lj={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},S={1027:1};S[O["1"]]=2;S[O["!"]]=10754;S[O["2"]]=3;S[O["@"]]=10755;S[O["3"]]=4;S[O["#"]]=10756;S[O["4"]]=5;S[O.$]=10757;S[O["5"]]=6;S[O["%"]]=10758;S[O["6"]]=7;S[O["^"]]=10759;S[O["7"]]=8;S[O["&"]]=10760;S[O["8"]]=9;S[O["*"]]=10761;S[O["9"]]=10;S[O["("]]=10762;S[O["0"]]=11;S[O[")"]]=10763;S[O["-"]]=12;S[O._]=10764;S[O["="]]=13;S[O["+"]]=10765;S[1008]=14;S[1009]=15;S[113]=16; S[81]=10768;S[119]=17;S[87]=10769;S[101]=18;S[69]=10770;S[114]=19;S[82]=10771;S[116]=20;S[84]=10772;S[121]=21;S[89]=10773;S[117]=22;S[85]=10774;S[105]=23;S[73]=10775;S[111]=24;S[79]=10776;S[112]=25;S[80]=10777;S[O["["]]=26;S[O["{"]]=10778;S[O["]"]]=27;S[O["}"]]=10779;S[13]=28;S[1017]=29;S[97]=30;S[65]=10782;S[115]=31;S[83]=10783;S[100]=32;S[68]=10784;S[102]=33;S[70]=10785;S[103]=34;S[71]=10786;S[104]=35;S[72]=10787;S[106]=36;S[74]=10788;S[107]=37;S[75]=10789;S[108]=38;S[76]=10790;S[O[";"]]=39; S[O[":"]]=10791;S[O["'"]]=40;S[O['"']]=10792;S[O["`"]]=41;S[O["~"]]=10793;S[1016]=42;S[O["\\"]]=43;S[O["|"]]=10795;S[122]=44;S[90]=10796;S[120]=45;S[88]=10797;S[99]=46;S[67]=10798;S[118]=47;S[86]=10799;S[98]=48;S[66]=10800;S[110]=49;S[78]=10801;S[109]=50;S[77]=10802;S[O[","]]=51;S[O["<"]]=10803;S[O["."]]=52;S[O[">"]]=10804;S[O["/"]]=53;S[O["?"]]=10805;S[3016]=54;S[1044]=55;S[1018]=56;S[O[" "]]=57;S[1020]=58;S[1112]=59;S[1113]=60;S[1114]=61;S[1115]=62;S[1116]=63;S[1117]=64;S[1118]=65;S[1119]=66; -S[1120]=67;S[1121]=68;S[1144]=69;S[1145]=70;S[1036]=71;S[1038]=72;S[1033]=73;S[1109]=74;S[1037]=75;S[1101]=76;S[1039]=77;S[1107]=78;S[1035]=79;S[1040]=80;S[1034]=81;S[1045]=82;S[1046]=83;S[1122]=87;S[1123]=88;S[1091]=91;S[1093]=93;S[1224]=91;S[4003]=7470;S[4008]=7494;S[4046]=3677523;k=Xj.prototype; -k.Hb=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.xa[e])switch(b){case "kbd":return this.xa[e]=c,c.onkeydown=function(a){return ek(d,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;var b=d.Vb.length?d.Vb[0].xe:0;b&&(65<=b&&90>=b||97<=b&&122>=b)&&(65<=a&&90>=a||97<=a&&122>=a)&&b!=a&&(d.Pi=!0,a=b);(b=!S[a]||!!(d.Db&128))||fk(d,a,!0);return b},c.onkeyup=function(a){return ek(d,a,!1)},!0;case "caps-lock":return this.xa[e]=c,c.onclick=function(){d.T&&d.T.Mc();fk(d,1020, -!0)},!0;case "num-lock":return this.xa[e]=c,c.onclick=function(){d.T&&d.T.Mc();fk(d,1144,!0)},!0;case "scroll-lock":return this.xa[e]=c,c.onclick=function(){d.T&&d.T.Mc();fk(d,1145,!0)},!0;default:var f=b.toUpperCase().replace(/-/g,"_");if(void 0!==bk[f]&&"button"==a)return this.xa[e]=c,c.onclick=function(a,b,c){return function(){a.T&&a.T.Mc();gk(a,c,!0);fk(a,c,!0)}}(this,f,bk[f]),!0;if(void 0!==ck[b])return this.Bk++,this.xa[e]=c,a=function(a,b,c){return function(){fk(a,c)}}(this,b,ck[b]),b=function(a, -b,c){return function(){hk(a,c)}}(this,b,ck[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}return!1};function ik(a,b,c){if(a.Bk){for(var d in P)if(b==P[d]){b=parseInt(d,10);(d=Zj[d])&&(b=d);break}for(var e in ck)if((d=ck[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=ck[e]==d),d){(a=a.xa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}} -k.wc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.oa=ib(a,"ChipSet")};function Lj(a,b){a.cb("keyboard reset",Yj|N);a.Xb=[170];b&&a.oa&&Nj(a.oa,a.Xb[0])}function Gj(a,b,c){a.Ki!==c&&(a.Ki=a.Ni=c);a.xh!==b&&(a.xh=b)&&!a.Ni&&Oj(a,!0);a.xh&&a.Ni&&(Lj(a,!0),a.Ni=!1)}function Ij(a){var b=0;a.Xb.length&&(b=a.Xb[0],a.oa&&Nj(a.oa,b));a.ua()&&a.cb("scan code 0x"+q(b)+" available")} -function Oj(a,b){0>=1);if(b&3584){if(!1===d)return!0;d=null}null==d&&(d=!((c?a.lf:a.Db)&b));if(c){a.lf&=~b;d&&(a.lf|=b);c=b;var f,g;for(g in dk)d="led-"+g,e=dk[g],c&&c!=e||!(f=a.xa[d])||(f.style.backgroundColor=a.lf&e?"#00ff00":"#000000")}else a.Db&=~b,d&&(a.Db|=b);return!0}}return!1} -function fk(a,b,c){if(S[b]&&a.T&&a.T.na.lb){for(var d,e=0;ee||(e==a.Vb.length&&(d={},d.xe=b,d.Db=a.Db,ik(a,b,!0),e++),0b.vd){if(!b.lg){hk(a,b.xe);return}b.lg=!1;c=a.jo}else c=1==b.vd++?a.ko:a.lo;b.wm=setTimeout(function(a){return function(){jk(a,b)}}(a),c)}}else hk(a,b.xe,!0)}function lk(a,b,c){var d=b;if(65<=b&&90>=b)!(a.Db&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.Db&515)==c&&(d=b-32);else if(!!(a.Db&3)==c){if(a=P[b])d=a}else if(a=Zj[b])d=a;return d}k.Vh=function(a){this.yh=a;a||(this.Db&=-256)}; -function ek(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=lk(a,g,!0);a.Mk&&h==O["`"]&&(g=h=27);if(S[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),gk(a,h,!1,c)){if(20==g||144==g||145==g)a.Vm||(c=e=!0);if(!(c||91!=g&&93!=g))for(var n=0;n=b||97<=b&&122>=b;d>>>=8;){var g=0,h=d&255;224==f||225==f?e.push(f|(c?0:128)):(42==h?a.Db&3||a.Db&512&&b||(g=h):29==h?a.Db&12||(g=h):56==h?a.Db&48||(g=h):e.push(f|(c?0:128)),g&&(c?e.unshift(g):e.push(g|128)))}for(c=0;cd.Xb.length?(d.ua()&&d.cb("scan code 0x"+q(f)+" buffered"),d.Xb.push(f),1==d.Xb.length&&d.oa&&Nj(d.oa, -f)):(20==d.Xb.length&&d.Xb.push(255),d.cb("scan code buffer overflow")))}}Ja(function(){for(var a=z(window.document,"pcjs","keyboard"),b=0;b=b||97<=b&&122>=b)&&(65<=a&&90>=a||97<=a&&122>=a)&&b!=a&&(d.Pi=!0,a=b);(b=!S[a]||!!(d.Db&128))||Nj(d,a,!0);return b},c.onkeyup=function(a){return Mj(d,a,!1)},!0;case "caps-lock":return this.xa[e]=c,c.onclick=function(){d.T&&d.T.Mc();Nj(d,1020, +!0)},!0;case "num-lock":return this.xa[e]=c,c.onclick=function(){d.T&&d.T.Mc();Nj(d,1144,!0)},!0;case "scroll-lock":return this.xa[e]=c,c.onclick=function(){d.T&&d.T.Mc();Nj(d,1145,!0)},!0;default:var f=b.toUpperCase().replace(/-/g,"_");if(void 0!==Jj[f]&&"button"==a)return this.xa[e]=c,c.onclick=function(a,b,c){return function(){a.T&&a.T.Mc();Oj(a,c,!0);Nj(a,c,!0)}}(this,f,Jj[f]),!0;if(void 0!==Kj[b])return this.Bk++,this.xa[e]=c,a=function(a,b,c){return function(){Nj(a,c)}}(this,b,Kj[b]),b=function(a, +b,c){return function(){Pj(a,c)}}(this,b,Kj[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}return!1};function Qj(a,b,c){if(a.Bk){for(var d in R)if(b==R[d]){b=parseInt(d,10);(d=Hj[d])&&(b=d);break}for(var e in Kj)if((d=Kj[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=Kj[e]==d),d){(a=a.xa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}} +k.wc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.oa=hb(a,"ChipSet")};function wj(a,b){a.cb("keyboard reset",32896);a.Xb=[170];b&&a.oa&&yj(a.oa,a.Xb[0])}function sj(a,b,c){a.Ki!==c&&(a.Ki=a.Ni=c);a.xh!==b&&(a.xh=b)&&!a.Ni&&zj(a,!0);a.xh&&a.Ni&&(wj(a,!0),a.Ni=!1)}function tj(a){var b=0;a.Xb.length&&(b=a.Xb[0],a.oa&&yj(a.oa,b));a.ua()&&a.cb("scan code 0x"+q(b)+" available")} +function zj(a,b){0>=1);if(b&3584){if(!1===d)return!0;d=null}null==d&&(d=!((c?a.lf:a.Db)&b));if(c){a.lf&=~b;d&&(a.lf|=b);c=b;var f,g;for(g in Lj)d="led-"+g,e=Lj[g],c&&c!=e||!(f=a.xa[d])||(f.style.backgroundColor=a.lf&e?"#00ff00":"#000000")}else a.Db&=~b,d&&(a.Db|=b);return!0}}return!1} +function Nj(a,b,c){if(S[b]&&a.T&&a.T.ma.lb){for(var d,e=0;ee||(e==a.Vb.length&&(d={},d.xe=b,d.Db=a.Db,Qj(a,b,!0),e++),0b.vd){if(!b.lg){Pj(a,b.xe);return}b.lg=!1;c=a.jo}else c=1==b.vd++?a.ko:a.lo;b.wm=setTimeout(function(a){return function(){Rj(a,b)}}(a),c)}}else Pj(a,b.xe,!0)}function Tj(a,b,c){var d=b;if(65<=b&&90>=b)!(a.Db&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.Db&515)==c&&(d=b-32);else if(!!(a.Db&3)==c){if(a=R[b])d=a}else if(a=Hj[b])d=a;return d}k.Vh=function(a){this.yh=a;a||(this.Db&=-256)}; +function Mj(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Tj(a,g,!0);a.Mk&&h==O["`"]&&(g=h=27);if(S[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),Oj(a,h,!1,c)){if(20==g||144==g||145==g)a.Vm||(c=e=!0);if(!(c||91!=g&&93!=g))for(var n=0;n=b||97<=b&&122>=b;d>>>=8;){var g=0,h=d&255;224==f||225==f?e.push(f|(c?0:128)):(42==h?a.Db&3||a.Db&512&&b||(g=h):29==h?a.Db&12||(g=h):56==h?a.Db&48||(g=h):e.push(f|(c?0:128)),g&&(c?e.unshift(g):e.push(g|128)))}for(c=0;cd.Xb.length?(d.ua()&&d.cb("scan code 0x"+q(f)+" buffered"),d.Xb.push(f),1==d.Xb.length&&d.oa&&yj(d.oa, +f)):(20==d.Xb.length&&d.Xb.push(255),d.cb("scan code buffer overflow")))}}Ja(function(){for(var a=A(window.document,"pcjs","keyboard"),b=0;bc.length)c=[!1,0,null,null,0,Array(Ak)];this.ka=a.ka;this.type=e[0];this.port=e[1];this.me=b;this.Wa=e[2];this.Ub=e[3];this.cd=d||e[4];65536<=this.cd&&720896<=this.Wa&&(this.Ub=Math.min(this.cd>>2,32768));this.ed=c[0];this.Lc=c[1];this.of=c[2];this.Nf=c[3];this.vc=c[4]&255;this.Gh=c[4]>>8&255;this.lc=c[5];this.Yi=Ak;this.bh=Bk;if(5==b){this.Yi=Ck;this.bh=Dk;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.Wa,this.Ub,this.cd],Array(this.cd>>2),771,0,4294967295,0,4294967295,0,4294967295,0,0,0]);this.qd=b[0];this.Jd=b[1];this.Vd=b[2];this.pi=Ek;this.gi=b[3];this.qg=b[4];this.Fh=b[5];this.Ld=b[6];this.Uf=b[7];this.ri=Fk;this.Ti=b[8];this.Ui=b[9];this.Kd=b[10];this.Be=b[11];this.qi=Gk;this.Jb=b[12];d=b[13];"number"==typeof d&&(d=[this.Wa,this.Ub,d]);this.Wa=d[0];this.Ub=d[1];d=this.cd>>2;if((this.md=b[14])&&this.md.length>8&255)} -var Ok=[,,function(a){a+=this.offset;return(this.ga.Jb=this.ya[a])>>this.ga.Sj&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.ya[b]>>8:this.ya[b])&255}];Ok[16]=function(a){a+=this.offset;a=this.ya[a];for(var b=this.ga.$i&this.ga.aj,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};Ok[512]=function(a,b){var c=a+this.offset,d;d=this.ya[c]&~this.ga.rb|(b|b<<8|b<<16|b<<24)&this.ga.rb;d=d&this.ga.zb|this.ga.Jb&~this.ga.zb;this.ya[c]!=d&&(this.ya[c]=d,this.wb=!0)}; -Ok[1024]=function(a,b){var c=a+this.offset;b=b>>this.ga.td|b<<8-this.ga.td&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.te|this.ga.Xe;d=d&this.ga.rb|this.ya[c]&~this.ga.rb;d=d&this.ga.zb|this.ga.Jb&~this.ga.zb;this.ya[c]!=d&&(this.ya[c]=d,this.wb=!0)}; -Ok[1536]=function(a,b){var c=a+this.offset;b=b>>this.ga.td|b<<8-this.ga.td&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.te|this.ga.Xe;d&=this.ga.Jb;d=d&this.ga.rb|this.ya[c]&~this.ga.rb;d=d&this.ga.zb|this.ga.Jb&~this.ga.zb;this.ya[c]!=d&&(this.ya[c]=d,this.wb=!0)}; -Ok[2560]=function(a,b){var c=a+this.offset;b=b>>this.ga.td|b<<8-this.ga.td&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.te|this.ga.Xe;d|=this.ga.Jb;d=d&this.ga.rb|this.ya[c]&~this.ga.rb;d=d&this.ga.zb|this.ga.Jb&~this.ga.zb;this.ya[c]!=d&&(this.ya[c]=d,this.wb=!0)}; -Ok[3584]=function(a,b){var c=a+this.offset;b=b>>this.ga.td|b<<8-this.ga.td&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.te|this.ga.Xe;d^=this.ga.Jb;d=d&this.ga.rb|this.ya[c]&~this.ga.rb;d=d&this.ga.zb|this.ga.Jb&~this.ga.zb;this.ya[c]!=d&&(this.ya[c]=d,this.wb=!0)};Ok[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.ga.rb&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.ya[d]&~c;c=c&this.ga.zb|this.ga.Jb&~this.ga.zb;this.ya[d]!=c&&(this.ya[d]=c,this.wb=!0)}; -Ok[4096]=function(a){a+=this.offset;var b=this.ya[a]&~this.ga.rb|this.ga.Jb&this.ga.rb;this.ya[a]!=b&&(this.ya[a]=b,this.wb=!0)};Ok[8192]=function(a,b){var c=a+this.offset,d=wk[b&15],d=d&this.ga.rb|this.ya[c]&~this.ga.rb,d=d&this.ga.zb|this.ga.Jb&~this.ga.zb;this.ya[c]!=d&&(this.ya[c]=d,this.wb=!0)};Ok[24576]=function(a,b){var c=a+this.offset,d=wk[b&15],d=d&this.ga.Jb,d=d&this.ga.rb|this.ya[c]&~this.ga.rb,d=d&this.ga.zb|this.ga.Jb&~this.ga.zb;this.ya[c]!=d&&(this.ya[c]=d,this.wb=!0)}; -Ok[40960]=function(a,b){var c=a+this.offset,d=wk[b&15],d=d|this.ga.Jb,d=d&this.ga.rb|this.ya[c]&~this.ga.rb,d=d&this.ga.zb|this.ga.Jb&~this.ga.zb;this.ya[c]!=d&&(this.ya[c]=d,this.wb=!0)};Ok[57344]=function(a,b){var c=a+this.offset,d=wk[b&15],d=d^this.ga.Jb,d=d&this.ga.rb|this.ya[c]&~this.ga.rb,d=d&this.ga.zb|this.ga.Jb&~this.ga.zb;this.ya[c]!=d&&(this.ya[c]=d,this.wb=!0)}; -function Pk(a){var b=[];if(void 0!==a.me){b[0]=a.ed;b[1]=a.Lc;b[2]=a.of;b[3]=a.Nf;b[4]=a.vc|a.Gh<<8;b[5]=a.lc;if(5==a.me){var c=[];c[0]=a.qd;c[1]=a.Jd;c[2]=a.Vd;c[3]=a.gi;c[4]=a.qg;c[5]=a.Fh;c[6]=a.Ld;c[7]=a.Uf;c[8]=a.Ti;c[9]=a.Ui;c[10]=a.Kd;c[11]=a.Be;c[12]=a.Jb;c[13]=[a.Wa,a.Ub,a.cd];var d;a:if(d=a.md){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=n;h=l}if(f.lengtha&&(a=0);for(var c="",d=0;8>d;d++){for(var f=p(b.Wa+a)+":",s=0;8>s&&ac.length)c=[!1,0,null,null,0,Array(hk)];this.ka=a.ka;this.type=e[0];this.port=e[1];this.me=b;this.Wa=e[2];this.Ub=e[3];this.cd=d||e[4];65536<=this.cd&&720896<=this.Wa&&(this.Ub=Math.min(this.cd>>2,32768));this.ed=c[0];this.Lc=c[1];this.of=c[2];this.Nf=c[3];this.vc=c[4]&255;this.Gh=c[4]>>8&255;this.lc=c[5];this.Yi=hk;this.bh=ik;if(5==b){this.Yi=jk;this.bh=pk;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.Wa,this.Ub,this.cd],Array(this.cd>>2),771,0,4294967295,0,4294967295,0,4294967295,0,0,0]);this.qd=b[0];this.Jd=b[1];this.Vd=b[2];this.pi=qk;this.gi=b[3];this.qg=b[4];this.Fh=b[5];this.Ld=b[6];this.Uf=b[7];this.ri=rk;this.Ti=b[8];this.Ui=b[9];this.Kd=b[10];this.Be=b[11];this.qi=sk;this.Jb=b[12];d=b[13];"number"==typeof d&&(d=[this.Wa,this.Ub,d]);this.Wa=d[0];this.Ub=d[1];d=this.cd>>2;if((this.md=b[14])&&this.md.length>8&255)} +var vk=[,,function(a){a+=this.offset;return(this.ga.Jb=this.ya[a])>>this.ga.Sj&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.ya[b]>>8:this.ya[b])&255}];vk[16]=function(a){a+=this.offset;a=this.ya[a];for(var b=this.ga.$i&this.ga.aj,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};vk[512]=function(a,b){var c=a+this.offset,d;d=this.ya[c]&~this.ga.tb|(b|b<<8|b<<16|b<<24)&this.ga.tb;d=d&this.ga.zb|this.ga.Jb&~this.ga.zb;this.ya[c]!=d&&(this.ya[c]=d,this.wb=!0)}; +vk[1024]=function(a,b){var c=a+this.offset;b=b>>this.ga.td|b<<8-this.ga.td&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.te|this.ga.Xe;d=d&this.ga.tb|this.ya[c]&~this.ga.tb;d=d&this.ga.zb|this.ga.Jb&~this.ga.zb;this.ya[c]!=d&&(this.ya[c]=d,this.wb=!0)}; +vk[1536]=function(a,b){var c=a+this.offset;b=b>>this.ga.td|b<<8-this.ga.td&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.te|this.ga.Xe;d&=this.ga.Jb;d=d&this.ga.tb|this.ya[c]&~this.ga.tb;d=d&this.ga.zb|this.ga.Jb&~this.ga.zb;this.ya[c]!=d&&(this.ya[c]=d,this.wb=!0)}; +vk[2560]=function(a,b){var c=a+this.offset;b=b>>this.ga.td|b<<8-this.ga.td&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.te|this.ga.Xe;d|=this.ga.Jb;d=d&this.ga.tb|this.ya[c]&~this.ga.tb;d=d&this.ga.zb|this.ga.Jb&~this.ga.zb;this.ya[c]!=d&&(this.ya[c]=d,this.wb=!0)}; +vk[3584]=function(a,b){var c=a+this.offset;b=b>>this.ga.td|b<<8-this.ga.td&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.te|this.ga.Xe;d^=this.ga.Jb;d=d&this.ga.tb|this.ya[c]&~this.ga.tb;d=d&this.ga.zb|this.ga.Jb&~this.ga.zb;this.ya[c]!=d&&(this.ya[c]=d,this.wb=!0)};vk[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.ga.tb&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.ya[d]&~c;c=c&this.ga.zb|this.ga.Jb&~this.ga.zb;this.ya[d]!=c&&(this.ya[d]=c,this.wb=!0)}; +vk[4096]=function(a){a+=this.offset;var b=this.ya[a]&~this.ga.tb|this.ga.Jb&this.ga.tb;this.ya[a]!=b&&(this.ya[a]=b,this.wb=!0)};vk[8192]=function(a,b){var c=a+this.offset,d=dk[b&15],d=d&this.ga.tb|this.ya[c]&~this.ga.tb,d=d&this.ga.zb|this.ga.Jb&~this.ga.zb;this.ya[c]!=d&&(this.ya[c]=d,this.wb=!0)};vk[24576]=function(a,b){var c=a+this.offset,d=dk[b&15],d=d&this.ga.Jb,d=d&this.ga.tb|this.ya[c]&~this.ga.tb,d=d&this.ga.zb|this.ga.Jb&~this.ga.zb;this.ya[c]!=d&&(this.ya[c]=d,this.wb=!0)}; +vk[40960]=function(a,b){var c=a+this.offset,d=dk[b&15],d=d|this.ga.Jb,d=d&this.ga.tb|this.ya[c]&~this.ga.tb,d=d&this.ga.zb|this.ga.Jb&~this.ga.zb;this.ya[c]!=d&&(this.ya[c]=d,this.wb=!0)};vk[57344]=function(a,b){var c=a+this.offset,d=dk[b&15],d=d^this.ga.Jb,d=d&this.ga.tb|this.ya[c]&~this.ga.tb,d=d&this.ga.zb|this.ga.Jb&~this.ga.zb;this.ya[c]!=d&&(this.ya[c]=d,this.wb=!0)}; +function wk(a){var b=[];if(void 0!==a.me){b[0]=a.ed;b[1]=a.Lc;b[2]=a.of;b[3]=a.Nf;b[4]=a.vc|a.Gh<<8;b[5]=a.lc;if(5==a.me){var c=[];c[0]=a.qd;c[1]=a.Jd;c[2]=a.Vd;c[3]=a.gi;c[4]=a.qg;c[5]=a.Fh;c[6]=a.Ld;c[7]=a.Uf;c[8]=a.Ti;c[9]=a.Ui;c[10]=a.Kd;c[11]=a.Be;c[12]=a.Jb;c[13]=[a.Wa,a.Ub,a.cd];var d;a:if(d=a.md){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=n;h=l}if(f.lengtha&&(a=0);for(var c="",d=0;8>d;d++){for(var f=p(b.Wa+a)+":",s=0;8>s&&a>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),ub(this.sa,b,c|d<<8);Pb(this,!0)}};function Xk(a){a.pa.qg&1?(a.bd=a.yi,a.Mb=a.pa):(a.bd=a.pa,a.Mb=a.qh)}k.save=function(){var a=new sd(this);a.set(0,Pk(this.yi));a.set(1,Pk(this.qh));a.set(2,[this.qe,this.ud,this.Qd]);a.set(3,Pk(this.pa));return a.data()}; -k.restore=function(a){var b=a[2];this.qe=b[0];this.ud=b[1];this.Qd=b[2];this.Ja=null;this.bd=this.yi=new yk(this,1,a[0]);this.Mb=this.qh=new yk(this,3,a[1]);this.pa=new yk(this,5,a[3],this.cd);this.pa.ed&&Xk(this);Yk(this);if(!$k(this))return!1;al(this);return!0}; -k.to=function(a,b,c){if(c)this.Ia("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){w("Empty font ROM image: "+a);return}if(1==d.length){w(d[0]);return}if(8192==d.length)Vj(this,d,[0,6144]);else{this.Ia("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Ia("Font ROM data error: "+e.message);return}B(this)}}; -function bl(a,b){if(1==b)return a.Ad[0]=V[0],a.Ad[1]=V[7],a.Ad;if(2==b){var c=a.Ja.of;if(a.Ja===a.pa){var d=a.pa.Vd[0],c=d&7;d&16&&(c|=8);18!=a.pa.Vd[1]&&(c|=32)}a.Ad[0]=V[c&15];c=c&32?uk:tk;for(d=0;dBa||!U?Ba:8,Ca=Lc.createImageData(l.sc,l.tc),E=0;256>E;E++){for(I=0;I< -Ba;I++)for(var ka=l.Tf&&x&1&&I>=Ba-2,ca=Ia[I>(8<=R&&176<=E&&223>=E?7:R)?u:bb;el(Ca,Mc,qc,Nc);v&&el(Ca,Mc+1,qc,Nc)}Lc.putImageData(Ca,(E&15)*l.sc,(E>>4)*l.tc)}l.hf[x]="#"+q(u[0])+q(u[1])+q(u[2]);l.qk[x]=u;l.ki[x]=Wb;l=!0}}a.Yd[b]=s;return l}function fl(a){0a.Le&&(a.Le=0):a.Le=-1} -function al(a){if(a.ac){for(var b=10;15>=b;b++)if(null==a.Ja.lc[b])return;var c=a.Ja.lc[10],b=c&31,d=a.Ja.lc[11]&31,e=a.Ja.lc[9]&31,f=!1;a.Ja===a.pa&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)gl(a);else{c=a.Ja.lc[15]+((a.Ja.lc[14]&63)<<8);a.Tc!=c&&(gl(a),a.Tc=c);d=d-b+1;if(a.Am!=b||a.Gk!=d)a.Am=b,a.Gk=d;a.ie=e+1;fl(a)}}} -function gl(a){if(0<=a.Tc){if(void 0!==a.mc){var b=a.mc[a.Tc];if(b&131072){var b=b&-131073,c=a.Tc%a.Nb,d=Math.floor(a.Tc/a.Nb);a.ac&&a.Yd[a.ac]&&(a.pf&&hl(a,c,d,b,a.pf),hl(a,c,d,b));a.mc[a.Tc]=b}}a.Tc=-1}} -function il(a){var b;a=a.Ja;var c=a.Be[5];if(null!=c){b=2;var d=512,e=a.Be[3]&31;switch(c&3){case 0:if(e){d=1024;switch(e&24){case 8:d=1536;break;case 16:d=2560;break;case 24:d=3584}a.td=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}k.bf=function(a){var b=this.Ja;null!=a&&b&&a!=b.Lh&&(b.di(a),this.sa.di(b.Wa,b.Ub,b.Zf))}; -function $k(a,b){var c,d=a.Qd,e=a.Ja;if(e)if(1==e.me)d=ok;else if(5==e.me){var d=null,f=e.cd>>2,g=32768f&&(d=c?13:14):c&&(d-=2));c=il(a)}}else e.Lc&8&&(e.Lc&2?(d=e.Lc&16?6:5,e.Lc&4||(d-=1)):(d=e.Lc&1?3:1,e.Lc&4&&(d-= -1)));else a.Qd=null,null==d&&(d=a.ud);if(!Zk(a,d,b))return!1;a.bf(c);return!0} -function Zk(a,b,c){if(null!=b&&(b!=a.Qd||c)){a.Jm=0;a.Qd=b;b=a.Ja||(b==ok?a.bd:a.Mb);if(b!=a.Ja||b.Wa!=a.Wa||b.Ub!=a.Ub){gl(a);if(a.Wa){if(!qb(a.sa,a.Wa,a.Ub))return!1;a.Ja&&(a.Ja.ed=!1)}a.Ja=b;b.ed=!0;a.Wa=b.Wa;a.Ub=b.Ub;if(!ob(a.sa,b.Wa,b.Ub,!1,b===a.pa?b:null))return!1}a.ac=0;a.Nb=a.Nh;a.yc=a.ej;a.Zi=nk[ok][2];b=0;var d=nk[a.Qd];d&&(a.Nb=d[0],a.yc=d[1],a.Zi=d[2],b=d[3]||0,a.ac=d[4],4==a.qe&&a.Ja===a.pa&&3==a.ac&&(7==a.pa.lc[9]?a.yc=43:a.ac=5));a.cl=a.Nb*a.yc;a.Mh=a.cl/a.Zi;a.zi=(a.Mh<<1)+b;a.Dk= +k.reset=function(){var a=!0,b=0;this.oa&&(b=Ei(this.oa));var c=!1;if(this.Ka)switch(this.Ka){case "ega":var c=!0,d=Xj[this.eh];d&&(b=d[0]);b||(b=4);break;case "mda":b=3;break;default:b=2}this.qe!==b&&(this.qe=b,a=!0);this.Ja=null;this.bd=this.yi=new fk(this,1);this.Mb=this.qh=new fk(this,3);c?(this.pa=new fk(this,5,null,this.cd),Ek(this)):this.pa=new fk;Fk(this);this.Qd=null;this.ud=3==b?Vj:3;this.Le=this.Tc=-1;this.Ke=0;Gk(this,this.ud);if(this.Ja.Wa&&a){a=this.Ja.Wa+this.zi;for(b=this.Ja.Wa;b>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),tb(this.sa,b,c|d<<8);Mb(this,!0)}};function Ek(a){a.pa.qg&1?(a.bd=a.yi,a.Mb=a.pa):(a.bd=a.pa,a.Mb=a.qh)}k.save=function(){var a=new od(this);a.set(0,wk(this.yi));a.set(1,wk(this.qh));a.set(2,[this.qe,this.ud,this.Qd]);a.set(3,wk(this.pa));return a.data()}; +k.restore=function(a){var b=a[2];this.qe=b[0];this.ud=b[1];this.Qd=b[2];this.Ja=null;this.bd=this.yi=new fk(this,1,a[0]);this.Mb=this.qh=new fk(this,3,a[1]);this.pa=new fk(this,5,a[3],this.cd);this.pa.ed&&Ek(this);Fk(this);if(!Hk(this))return!1;Ik(this);return!0}; +k.to=function(a,b,c){if(c)this.Ia("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){w("Empty font ROM image: "+a);return}if(1==d.length){w(d[0]);return}if(8192==d.length)Ej(this,d,[0,6144]);else{this.Ia("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Ia("Font ROM data error: "+e.message);return}D(this)}}; +function Jk(a,b){if(1==b)return a.Ad[0]=V[0],a.Ad[1]=V[7],a.Ad;if(2==b){var c=a.Ja.of;if(a.Ja===a.pa){var d=a.pa.Vd[0],c=d&7;d&16&&(c|=8);18!=a.pa.Vd[1]&&(c|=32)}a.Ad[0]=V[c&15];c=c&32?bk:ak;for(d=0;dza||!T?za:8,Aa=Cc.createImageData(l.sc,l.tc),E=0;256>E;E++){for(I=0;I< +za;I++)for(var ia=l.Tf&&x&1&&I>=za-2,aa=Ga[I>(8<=Q&&176<=E&&223>=E?7:Q)?u:$a;Mk(Aa,Dc,jc,Ec);v&&Mk(Aa,Dc+1,jc,Ec)}Cc.putImageData(Aa,(E&15)*l.sc,(E>>4)*l.tc)}l.hf[x]="#"+q(u[0])+q(u[1])+q(u[2]);l.qk[x]=u;l.ki[x]=Qb;l=!0}}a.Yd[b]=s;return l}function Nk(a){0a.Le&&(a.Le=0):a.Le=-1} +function Ik(a){if(a.ac){for(var b=10;15>=b;b++)if(null==a.Ja.lc[b])return;var c=a.Ja.lc[10],b=c&31,d=a.Ja.lc[11]&31,e=a.Ja.lc[9]&31,f=!1;a.Ja===a.pa&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Ok(a);else{c=a.Ja.lc[15]+((a.Ja.lc[14]&63)<<8);a.Tc!=c&&(Ok(a),a.Tc=c);d=d-b+1;if(a.Am!=b||a.Gk!=d)a.Am=b,a.Gk=d;a.ie=e+1;Nk(a)}}} +function Ok(a){if(0<=a.Tc){if(void 0!==a.mc){var b=a.mc[a.Tc];if(b&131072){var b=b&-131073,c=a.Tc%a.Nb,d=Math.floor(a.Tc/a.Nb);a.ac&&a.Yd[a.ac]&&(a.pf&&Pk(a,c,d,b,a.pf),Pk(a,c,d,b));a.mc[a.Tc]=b}}a.Tc=-1}} +function Qk(a){var b;a=a.Ja;var c=a.Be[5];if(null!=c){b=2;var d=512,e=a.Be[3]&31;switch(c&3){case 0:if(e){d=1024;switch(e&24){case 8:d=1536;break;case 16:d=2560;break;case 24:d=3584}a.td=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}k.bf=function(a){var b=this.Ja;null!=a&&b&&a!=b.Lh&&(b.di(a),this.sa.di(b.Wa,b.Ub,b.Zf))}; +function Hk(a,b){var c,d=a.Qd,e=a.Ja;if(e)if(1==e.me)d=Vj;else if(5==e.me){var d=null,f=e.cd>>2,g=32768f&&(d=c?13:14):c&&(d-=2));c=Qk(a)}}else e.Lc&8&&(e.Lc&2?(d=e.Lc&16?6:5,e.Lc&4||(d-=1)):(d=e.Lc&1?3:1,e.Lc&4&&(d-= +1)));else a.Qd=null,null==d&&(d=a.ud);if(!Gk(a,d,b))return!1;a.bf(c);return!0} +function Gk(a,b,c){if(null!=b&&(b!=a.Qd||c)){a.Jm=0;a.Qd=b;b=a.Ja||(b==Vj?a.bd:a.Mb);if(b!=a.Ja||b.Wa!=a.Wa||b.Ub!=a.Ub){Ok(a);if(a.Wa){if(!pb(a.sa,a.Wa,a.Ub))return!1;a.Ja&&(a.Ja.ed=!1)}a.Ja=b;b.ed=!0;a.Wa=b.Wa;a.Ub=b.Ub;if(!nb(a.sa,b.Wa,b.Ub,!1,b===a.pa?b:null))return!1}a.ac=0;a.Nb=a.Nh;a.yc=a.ej;a.Zi=Uj[Vj][2];b=0;var d=Uj[a.Qd];d&&(a.Nb=d[0],a.yc=d[1],a.Zi=d[2],b=d[3]||0,a.ac=d[4],4==a.qe&&a.Ja===a.pa&&3==a.ac&&(7==a.pa.lc[9]?a.yc=43:a.ac=5));a.cl=a.Nb*a.yc;a.Mh=a.cl/a.Zi;a.zi=(a.Mh<<1)+b;a.Dk= b?a.zi+b>>1:0;13<=a.Qd&&(a.Mh<<=1);a.Yd.length&&(a.Gd=Math.floor(a.Fd/a.Nb),a.Hd=Math.floor(a.je/a.yc),a.ac?(b=a.Yd[a.ac],d=a.Yd[a.ac<<1],a.Wm&&80==a.Nb?d&&a.Gd>=3*d.sc>>2&&(a.ac<<=1,b=d):(d&&a.Gd>=d.sc&&(a.ac<<=1,b=d),b&&(a.Gd=b.sc,a.Hd=b.tc)),a.ig=a.jg=0,b&&(a.ig=a.Nb*b.sc,a.jg=a.yc*b.tc)):(a.Gd=a.Hd=1,a.ig=a.Nb,a.jg=a.yc),a.Ih=a.dd.createImageData(a.ig,a.jg),a.mf=window.document.createElement("canvas"),a.mf.width=a.ig,a.mf.height=a.jg,a.pf=a.mf.getContext("2d"),a.ik=a.jk=0,a.Bi=a.Fd,a.Ci=a.je, -b=a.Fd-a.Nb*a.Gd,d=a.je-a.yc*a.Hd,0>1,a.Bi-=b),0>1,a.Ci-=d),b||d)&&(a.dd.fillStyle=a.eg.style.backgroundColor,a.dd.fillRect(0,0,a.Fd,a.je));!1!==c?Pb(a,!0):jl(a,!0)}return!0}function el(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b+0]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function jl(a,b){var c;if(b){if(c=a.Mh,void 0===a.mc||a.mc.length!=c)a.mc=Array(c)}else{if(void 0===a.mc)return;c=a.mc.length}for(var d=0;d>8;d=g&15;var h=a.Yd[a.ac];h.Tf&&(d=h.Tf[d]);var n=g>>4&15;h.Tf&&(n=h.Tf[n]);e?(b*=h.sc,c*=h.tc,e.fillStyle=h.hf[n],e.fillRect(b,c,h.sc,h.tc)):(b=b*a.Gd+a.ik,c=c*a.Hd+a.jk,a.dd.fillStyle=h.hf[n],a.dd.fillRect(b,c,a.Gd,a.Hd));g&256&&(n=(f&15)*h.sc,f=(f>>4)*h.tc,e?e.drawImage(h.ki[d],n,f,h.sc,h.tc,b,c,h.sc,h.tc):a.dd.drawImage(h.ki[d],n,f,h.sc,h.tc,b,c,a.Gd,a.Hd));g&512&&(f=a.Am,g=a.Gk,e?(a.ie&&a.ie!==h.tc&&(f=Math.floor(f*h.tc/a.ie),g=Math.floor(g*h.tc/a.ie)), +b=a.Fd-a.Nb*a.Gd,d=a.je-a.yc*a.Hd,0>1,a.Bi-=b),0>1,a.Ci-=d),b||d)&&(a.dd.fillStyle=a.eg.style.backgroundColor,a.dd.fillRect(0,0,a.Fd,a.je));!1!==c?Mb(a,!0):Rk(a,!0)}return!0}function Mk(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b+0]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function Rk(a,b){var c;if(b){if(c=a.Mh,void 0===a.mc||a.mc.length!=c)a.mc=Array(c)}else{if(void 0===a.mc)return;c=a.mc.length}for(var d=0;d>8;d=g&15;var h=a.Yd[a.ac];h.Tf&&(d=h.Tf[d]);var n=g>>4&15;h.Tf&&(n=h.Tf[n]);e?(b*=h.sc,c*=h.tc,e.fillStyle=h.hf[n],e.fillRect(b,c,h.sc,h.tc)):(b=b*a.Gd+a.ik,c=c*a.Hd+a.jk,a.dd.fillStyle=h.hf[n],a.dd.fillRect(b,c,a.Gd,a.Hd));g&256&&(n=(f&15)*h.sc,f=(f>>4)*h.tc,e?e.drawImage(h.ki[d],n,f,h.sc,h.tc,b,c,h.sc,h.tc):a.dd.drawImage(h.ki[d],n,f,h.sc,h.tc,b,c,a.Gd,a.Hd));g&512&&(f=a.Am,g=a.Gk,e?(a.ie&&a.ie!==h.tc&&(f=Math.floor(f*h.tc/a.ie),g=Math.floor(g*h.tc/a.ie)), e.fillStyle=h.hf[d],e.fillRect(b,c+f,h.sc,g)):(a.ie&&a.ie!==a.Hd&&(f=Math.floor(f*a.Hd/a.ie),g=Math.floor(g*a.Hd/a.ie)),a.dd.fillStyle=h.hf[d],a.dd.fillRect(b,c+f,a.Gd,g)))} -function Pb(a,b){if(a.na.Sb){var c=!1;a.Ja&&(a.Ja===a.pa?a.pa.Jd&32&&(c=!0):a.Ja.Lc&8&&(c=!0));if(c||b){if(b)jl(a,!0);else if(void 0===a.mc)return;var d=!1;!(b||++a.Jm&15)&&0<=a.Le&&(a.Le++,d=!0);var e=0,f=a.cl,c=a.Ja.Wa,g=c+a.Ja.Ub,h=(a.Ja.lc[12]<<8)+a.Ja.lc[13];a.ac&&(h<<=1);var c=c+h,n=a.zi;c+n>g&&(n=g-c,0>n&&(n=0));g=c+n;if(h=!b){for(var h=a.sa,l=!0,t=c>>h.Eb;0a.Tc)return;e=a.Tc;f= -e+1}}if(a.ac){if(a.Yd[a.ac]){d=0;h=a.Ke=0;n=1048575;a.Ja.Lc&32&&(h=32768,n&=~h,a.Le&2||(n&=-65537));for(c+=e<<1;c>8|(s&255)<<8;u=h;var Ba=16;t>=n))>>(Ba-=n);el(a.Ih,t++,x,l[bb])}t>C&&(C=t);x=Q&&(Q=x+1)}e+=2;g++;if(t>=a.Nb){t=0;x+=2;if(x>a.yc)break;x==a.yc&&(x=1,e=c+a.Dk)}}vU;U++)Q= -C&2155905152,0>Q&&(Q+=4294967296),Q=xk[Q]||0,el(a.Ih,h++,n,g[Q]),C<<=1;h>t&&(t=h);n=v&&(v=n+1)}e++;if(h>=a.Nb&&(h=0,++n>a.yc))break}l>2),c=this.pa.gi&-17|(this.eh&1<f&&(f=0);f%b.bj>b.oo&&(d|=1);f%=b.fl;f>b.qo&&(d|=8);b.ij=e-f;b===a.pa?(d|=b.Nf&48^48,b.qd=!1):d=(b.Nf^=9)|240;b.Nf=d;A(a,b.port+6,null,c,b===a.pa?"STATUS1":"STATUS",d);return d} -var Rk={948:T.prototype.Kn,949:T.prototype.Jn,952:T.prototype.Ln,954:T.prototype.Mn,980:T.prototype.sn,981:T.prototype.rn,984:T.prototype.tn,985:T.prototype.qn,986:T.prototype.un},Sk={948:T.prototype.bp,949:T.prototype.ap,952:T.prototype.cp,980:T.prototype.Lo,981:T.prototype.Ko,984:T.prototype.Mo,985:T.prototype.Jo},Tk={960:T.prototype.Zk,961:T.prototype.Zk,962:T.prototype.Wn,964:T.prototype.Vn,965:T.prototype.Un,970:T.prototype.Dn,972:T.prototype.Cn,974:T.prototype.Bn,975:T.prototype.An},Uk={954:T.prototype.jm, -960:T.prototype.im,961:T.prototype.im,962:T.prototype.ep,964:T.prototype.lp,965:T.prototype.kp,970:T.prototype.Xo,972:T.prototype.Wo,974:T.prototype.Vo,975:T.prototype.Uo,986:T.prototype.jm}; -Ja(function(){for(var a=z(window.document,"pcjs","video"),b=0;bMissing <canvas> support; try a new 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=c.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 f=window.document.createElement("textarea");f.setAttribute("style","position:absolute; left:0; top:0; width:100%; height:100%; opacity:0; border:0; padding:0; line-height:0;");za("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.style.clear="both";c.style.position="relative";c.appendChild(f); -var g=e.getContext("2d"),d=new T(d,e,g,f);ab(d,c)}});function pl(a){this.Vk=a.adapter;switch(this.Vk){case 1:this.Xj=1016;this.yg=4;break;case 2:this.Xj=760;this.yg=3;break;default:w("Unrecognized serial adapter #"+this.Vk);return}this.ge=null;y.call(this,"SerialPort",a,pl,ql);var b=a.binding,c;a=rl;b&&(void 0===c&&(c="Panel"),(c=Za(c,this.id))&&(b=c.xa[b])&&this.Hb(null,a,b))}Ua(y,pl);var rl="buffer";k=pl.prototype;k.sk=function(a,b){return a==this.Hh?(this.pe=b,this):null}; -k.Hb=function(a,b,c){var d=this;switch(b){case rl:return this.xa[b]=this.ge=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),sl(d,[b]))},c.onkeypress=function(a){a=a||window.event;sl(d,[a.which||a.keyCode])},!0}return!1};k.wc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.oa=ib(a,"ChipSet");xb(b,this,tl,this.Xj);Bb(b,this,ul,this.Xj);B(this)};k.fc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -k.ec=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.ne()};k.save=function(){var a=new sd(this),b=0,c=[];c[b++]=this.wi;c[b++]=this.xk;c[b++]=this.ef;c[b++]=this.fh;c[b++]=this.ce;c[b++]=this.ad;c[b++]=this.od;c[b++]=this.Sc;c[b++]=this.vk;c[b]=this.Wf;a.set(0,c);return a.data()};k.restore=function(a){return this.ne(a[0])}; -k.ne=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.wi=a[b++];this.xk=a[b++];this.ef=a[b++];this.fh=a[b++];this.ce=a[b++];this.ad=a[b++];this.od=a[b++];this.Sc=a[b++];this.vk=a[b++];this.Wf=a[b];return!0};function sl(a,b){a.Wf=a.Wf.concat(b);vl(a)}function vl(a){0>8:this.fh;A(this,a,null,b,this.ad&128?"DLM":"IER",c);return c};k.Fn=function(a,b){var c=this.ce;A(this,a,null,b,"IIR",c);return c};k.Gn=function(a,b){var c=this.ad;A(this,a,null,b,"LCR",c);return c};k.In=function(a,b){var c=this.od;A(this,a,null,b,"MCR",c);return c}; -k.Hn=function(a,b){var c=this.Sc;A(this,a,null,b,"LSR",c);return c};k.On=function(a,b){var c=this.vk;A(this,a,null,b,"MSR",c);return c};k.mp=function(a,b,c){A(this,a,b,c,this.ad&128?"DLL":"THR");this.ad&128?this.ef=this.ef&-256|b:(this.xk=b,this.Sc&=-97,this.ge?(13!=b&&(8==b?this.ge.value=this.ge.value.slice(0,-1):(this.ge.value+=String.fromCharCode(b),this.ge.scrollTop=this.ge.scrollHeight)),a=!0):a=!1,a&&(this.Sc|=96))}; -k.Yo=function(a,b,c){A(this,a,b,c,this.ad&128?"DLM":"IER");this.ad&128?this.ef=this.ef&255|b<<8:this.fh=b};k.Zo=function(a,b,c){A(this,a,b,c,"LCR");this.ad=b}; -k.$o=function(a,b,c){var d=this.od;A(this,a,b,c,"MCR");this.od=b;this.pe&&(d^b)&3&&(a=this.pe,b=this.od,(c=3==(b&3))?a.ed||(d=!1,a.od&2||(a.reset(),a.cb("serial mouse reset"),d=!0),a.od&1||(a.cb("serial mouse ID requested"),d=!0),d&&(sl(a.fg,[77,77]),a.cb("serial mouse ID sent")),wl(a,a.Na),a.setActive(c)):a.ed&&(a.cb("serial mouse inactive"),xl(a.Na),a.setActive(c)),a.od=b)}; -var tl={0:pl.prototype.Tn,1:pl.prototype.En,2:pl.prototype.Fn,3:pl.prototype.Gn,4:pl.prototype.In,5:pl.prototype.Hn,6:pl.prototype.On},ul={0:pl.prototype.mp,1:pl.prototype.Yo,3:pl.prototype.Zo,4:pl.prototype.$o};Ja(function(){for(var a=z(window.document,"pcjs","serial"),b=0;bg&&(n=g-c,0>n&&(n=0));g=c+n;if(h=!b){for(var h=a.sa,l=!0,t=c>>h.Eb;0a.Tc)return;e=a.Tc;f= +e+1}}if(a.ac){if(a.Yd[a.ac]){d=0;h=a.Ke=0;n=1048575;a.Ja.Lc&32&&(h=32768,n&=~h,a.Le&2||(n&=-65537));for(c+=e<<1;c>8|(s&255)<<8;u=h;var za=16;t>=n))>>(za-=n);Mk(a.Ih,t++,x,l[$a])}t>C&&(C=t);x=P&&(P=x+1)}e+=2;g++;if(t>=a.Nb){t=0;x+=2;if(x>a.yc)break;x==a.yc&&(x=1,e=c+a.Dk)}}vT;T++)P= +C&2155905152,0>P&&(P+=4294967296),P=ek[P]||0,Mk(a.Ih,h++,n,g[P]),C<<=1;h>t&&(t=h);n=v&&(v=n+1)}e++;if(h>=a.Nb&&(h=0,++n>a.yc))break}l>2),c=this.pa.gi&-17|(this.eh&1<f&&(f=0);f%b.bj>b.oo&&(d|=1);f%=b.fl;f>b.qo&&(d|=8);b.ij=e-f;b===a.pa?(d|=b.Nf&48^48,b.qd=!1):d=(b.Nf^=9)|240;b.Nf=d;B(a,b.port+6,null,c,b===a.pa?"STATUS1":"STATUS",d);return d} +var yk={948:U.prototype.Kn,949:U.prototype.Jn,952:U.prototype.Ln,954:U.prototype.Mn,980:U.prototype.sn,981:U.prototype.rn,984:U.prototype.tn,985:U.prototype.qn,986:U.prototype.un},zk={948:U.prototype.bp,949:U.prototype.ap,952:U.prototype.cp,980:U.prototype.Lo,981:U.prototype.Ko,984:U.prototype.Mo,985:U.prototype.Jo},Ak={960:U.prototype.Zk,961:U.prototype.Zk,962:U.prototype.Wn,964:U.prototype.Vn,965:U.prototype.Un,970:U.prototype.Dn,972:U.prototype.Cn,974:U.prototype.Bn,975:U.prototype.An},Bk={954:U.prototype.jm, +960:U.prototype.im,961:U.prototype.im,962:U.prototype.ep,964:U.prototype.lp,965:U.prototype.kp,970:U.prototype.Xo,972:U.prototype.Wo,974:U.prototype.Vo,975:U.prototype.Uo,986:U.prototype.jm}; +Ja(function(){for(var a=A(window.document,"pcjs","video"),b=0;bMissing <canvas> support; try a new 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=c.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 f=window.document.createElement("textarea");f.setAttribute("style","position:absolute; left:0; top:0; width:100%; height:100%; opacity:0; border:0; padding:0; line-height:0;");Ba("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.style.clear="both";c.style.position="relative";c.appendChild(f); +var g=e.getContext("2d"),d=new U(d,e,g,f);ab(d,c)}});function Xk(a){this.Vk=a.adapter;switch(this.Vk){case 1:this.Xj=1016;this.yg=4;break;case 2:this.Xj=760;this.yg=3;break;default:w("Unrecognized serial adapter #"+this.Vk);return}this.ge=null;y.call(this,"SerialPort",a,Xk,2097152);var b=a.binding,c;a=Yk;b&&(void 0===c&&(c="Panel"),(c=Za(c,this.id))&&(b=c.xa[b])&&this.Hb(null,a,b))}Wa(y,Xk);var Yk="buffer";k=Xk.prototype;k.sk=function(a,b){return a==this.Hh?(this.pe=b,this):null}; +k.Hb=function(a,b,c){var d=this;switch(b){case Yk:return this.xa[b]=this.ge=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),Zk(d,[b]))},c.onkeypress=function(a){a=a||window.event;Zk(d,[a.which||a.keyCode])},!0}return!1};k.wc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.oa=hb(a,"ChipSet");wb(b,this,$k,this.Xj);Ab(b,this,al,this.Xj);D(this)};k.fc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; +k.ec=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.ne()};k.save=function(){var a=new od(this),b=0,c=[];c[b++]=this.wi;c[b++]=this.xk;c[b++]=this.ef;c[b++]=this.fh;c[b++]=this.ce;c[b++]=this.ad;c[b++]=this.od;c[b++]=this.Sc;c[b++]=this.vk;c[b]=this.Wf;a.set(0,c);return a.data()};k.restore=function(a){return this.ne(a[0])}; +k.ne=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.wi=a[b++];this.xk=a[b++];this.ef=a[b++];this.fh=a[b++];this.ce=a[b++];this.ad=a[b++];this.od=a[b++];this.Sc=a[b++];this.vk=a[b++];this.Wf=a[b];return!0};function Zk(a,b){a.Wf=a.Wf.concat(b);bl(a)}function bl(a){0>8:this.fh;B(this,a,null,b,this.ad&128?"DLM":"IER",c);return c};k.Fn=function(a,b){var c=this.ce;B(this,a,null,b,"IIR",c);return c};k.Gn=function(a,b){var c=this.ad;B(this,a,null,b,"LCR",c);return c};k.In=function(a,b){var c=this.od;B(this,a,null,b,"MCR",c);return c}; +k.Hn=function(a,b){var c=this.Sc;B(this,a,null,b,"LSR",c);return c};k.On=function(a,b){var c=this.vk;B(this,a,null,b,"MSR",c);return c};k.mp=function(a,b,c){B(this,a,b,c,this.ad&128?"DLL":"THR");this.ad&128?this.ef=this.ef&-256|b:(this.xk=b,this.Sc&=-97,this.ge?(13!=b&&(8==b?this.ge.value=this.ge.value.slice(0,-1):(this.ge.value+=String.fromCharCode(b),this.ge.scrollTop=this.ge.scrollHeight)),a=!0):a=!1,a&&(this.Sc|=96))}; +k.Yo=function(a,b,c){B(this,a,b,c,this.ad&128?"DLM":"IER");this.ad&128?this.ef=this.ef&255|b<<8:this.fh=b};k.Zo=function(a,b,c){B(this,a,b,c,"LCR");this.ad=b}; +k.$o=function(a,b,c){var d=this.od;B(this,a,b,c,"MCR");this.od=b;this.pe&&(d^b)&3&&(a=this.pe,b=this.od,(c=3==(b&3))?a.ed||(d=!1,a.od&2||(a.reset(),a.cb("serial mouse reset"),d=!0),a.od&1||(a.cb("serial mouse ID requested"),d=!0),d&&(Zk(a.fg,[77,77]),a.cb("serial mouse ID sent")),cl(a,a.Na),a.setActive(c)):a.ed&&(a.cb("serial mouse inactive"),dl(a.Na),a.setActive(c)),a.od=b)}; +var $k={0:Xk.prototype.Tn,1:Xk.prototype.En,2:Xk.prototype.Fn,3:Xk.prototype.Gn,4:Xk.prototype.In,5:Xk.prototype.Hn,6:Xk.prototype.On},al={0:Xk.prototype.mp,1:Xk.prototype.Yo,3:Xk.prototype.Zo,4:Xk.prototype.$o};Ja(function(){for(var a=A(window.document,"pcjs","serial"),b=0;ba.Rg||0>a.Sg)a.Rg=b.clientX,a.Sg=b.clientY;a.zh?(a.ff=b.movementX||b.mozMovementX||b.webkitMovementX||0,a.gf=b.movementY||b.mozMovementY||b.webkitMovementY||0):(a.ff=b.clientX-a.Rg,a.gf=b.clientY-a.Sg);(a.ff||a.gf)&&Al(a,null,b.clientX,b.clientY);a.Rg=b.clientX;a.Sg=b.clientY}},!1),b.addEventListener("mousedown",function(b){Bl(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){Bl(a,b.button, -!1)},!1),a.Ji=!0),b.style.cursor="none")}function xl(a){a&&(a.style.cursor="auto")}function Bl(a,b,c){if(a.ed&&a.T&&a.T.na.lb){var d;!(d=!1!==a.zh)&&(d=a.hi)&&(d=a.hi,d=d.Sm?d.zf(!0):!1);d||(a.zh=null);switch(b){case 0:a.vh!=c&&(a.vh=c,Al(a,"mouse button1 "+(c?"dn":"up")));break;case 2:a.wh!=c&&(a.wh=c,Al(a,"mouse button2 "+(c?"dn":"up")))}}} -function Al(a,b,c,d){var e=64|(a.vh?32:0)|(a.wh?16:0)|(a.gf&192)>>4|(a.ff&192)>>6,f=a.ff&63,g=a.gf&63;a.ua(ql)&&a.cb((b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+q(e)+","+q(f)+","+q(g)+"]",0,!0);sl(a.fg,[e,f,g]);a.ff=a.gf=0}Ja(function(){for(var a=z(window.document,"pcjs","mouse"),b=0;b>2;var e=d=0,a=new DataView(a,0,c);g.hb=Array(g.Ab);for(c=0;cb.indexOf("/api/v1/dump")&&(a=ga(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=Hl(this,b),this.Ah=!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"):-1!==b.indexOf("/",b.length-1)&&(c="dir"),f= +function cl(a,b){b&&(a.Ji||(b.addEventListener("mousemove",function(b){if(a.ed&&a.T&&a.T.ma.lb){if(0>a.Rg||0>a.Sg)a.Rg=b.clientX,a.Sg=b.clientY;a.zh?(a.ff=b.movementX||b.mozMovementX||b.webkitMovementX||0,a.gf=b.movementY||b.mozMovementY||b.webkitMovementY||0):(a.ff=b.clientX-a.Rg,a.gf=b.clientY-a.Sg);(a.ff||a.gf)&&fl(a,null,b.clientX,b.clientY);a.Rg=b.clientX;a.Sg=b.clientY}},!1),b.addEventListener("mousedown",function(b){gl(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){gl(a,b.button, +!1)},!1),a.Ji=!0),b.style.cursor="none")}function dl(a){a&&(a.style.cursor="auto")}function gl(a,b,c){if(a.ed&&a.T&&a.T.ma.lb){var d;!(d=!1!==a.zh)&&(d=a.hi)&&(d=a.hi,d=d.Sm?d.zf(!0):!1);d||(a.zh=null);switch(b){case 0:a.vh!=c&&(a.vh=c,fl(a,"mouse button1 "+(c?"dn":"up")));break;case 2:a.wh!=c&&(a.wh=c,fl(a,"mouse button2 "+(c?"dn":"up")))}}} +function fl(a,b,c,d){var e=64|(a.vh?32:0)|(a.wh?16:0)|(a.gf&192)>>4|(a.ff&192)>>6,f=a.ff&63,g=a.gf&63;a.ua(2097152)&&a.cb((b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+q(e)+","+q(f)+","+q(g)+"]",0,!0);Zk(a.fg,[e,f,g]);a.ff=a.gf=0}Ja(function(){for(var a=A(window.document,"pcjs","mouse"),b=0;b>2;var e=d=0,a=new DataView(a,0,c);g.hb=Array(g.Ab);for(c=0;cb.indexOf("/api/v1/dump")&&(a=ga(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=ll(this,b),this.Ah=!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"):-1!==b.indexOf("/",b.length-1)&&(c="dir"),f= ta()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.uf?"":d)+"&format=json")),sa(f,!0,null,this,this.Pm,b)}; -k.Pm=function(a,b,c,d){var e=null;this.vf=!1;var f=0>c&&this.Ma&&!this.Ma.na.Sb;if(this.Ah)c?this.ga.Ia('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.Id=!0,e=this);else if(c)this.ga.Ia('Unable to load disk "'+this.wd+'" (error '+c+")",f);else try{if(0g&&0b.indexOf("0x")&& -'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(h.length)if(1==h.length)w(h[0]);else{this.Ab=h.length;this.Bb=h[0].length;this.Gb=h[0][0].length;var n=h[0][0][0];this.qb=n&&n.length||512;for(b=a=0;b>2,t=n.pattern;void 0===t&&(t=n.pattern=0);var s=n.data;if(void 0===s){var u=n.bytes;if(void 0!==u&&u.length){for(var f= -l<<2,x=u.length;xb&&(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}function Ml(a,b){var c=-1;if(b>2,c=(d>((b&3)<<3)&255;return c} -k.write=function(a,b,c){if(this.vf)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Hc?f=a.gd+a.Hc&&(a.Hc+=f-(a.gd+a.Hc)+1):(a.gd=f,a.Hc=1);d[f]=d[f]&~(255<c&&this.Ma&&!this.Ma.ma.Sb;if(this.Ah)c?this.ga.Ia('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.Id=!0,e=this);else if(c)this.ga.Ia('Unable to load disk "'+this.wd+'" (error '+c+")",f);else try{if(0g&&0b.indexOf("0x")&& +'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(h.length)if(1==h.length)w(h[0]);else{this.Ab=h.length;this.Bb=h[0].length;this.Gb=h[0][0].length;var n=h[0][0][0];this.sb=n&&n.length||512;for(b=a=0;b>2,t=n.pattern;void 0===t&&(t=n.pattern=0);var s=n.data;if(void 0===s){var u=n.bytes;if(void 0!==u&&u.length){for(var f= +l<<2,x=u.length;xb&&(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}function ql(a,b){var c=-1;if(b>2,c=(d>((b&3)<<3)&255;return c} +k.write=function(a,b,c){if(this.vf)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Hc?f=a.gd+a.Hc&&(a.Hc+=f-(a.gd+a.Hc)+1):(a.gd=f,a.Hc=1);d[f]=d[f]&~(255<=this.hb.length||n>=this.hb[h].length||l>=this.hb[h][n].length){c="sector "+h+":"+n+":"+l+" out of range ("+ b+" changes applied)";b=-1;break}if(this.vf){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.hb[h][n][l]){for(n=h.data.length;nb&&this.ga.Ia("unable to restore disk '"+this.wd+": "+c);return b}; k.toJSON=function(){var a=JSON.stringify(this.hb),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,"");return a=a.replace(/(sector|length|data|pattern):/gm,'"$1":')}; -function Nl(a){y.call(this,"FDC",a,Nl,Ol);this.dmaRead=this.Ei;this.dmaWrite=this.Fi;this.dmaFormat=this.Mm;this.Ne=null;if(a.autoMount&&(this.Ne=a.autoMount,"string"==typeof this.Ne))try{this.Ne=eval("("+a.autoMount+")")}catch(b){w("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.Ne=null}this.Bc=[];this.Ok=!za("Mobi")&&window&&"FileReader"in window}Ua(y,Nl);m={};aa={}; -var Pl={3:{Ed:3,fe:0,name:aa.oq},4:{Ed:2,fe:1,name:aa.mq},5:{Ed:9,fe:7,name:aa.Aq},6:{Ed:9,fe:7,name:aa.gq},7:{Ed:2,fe:0,name:aa.iq},8:{Ed:1,fe:2,name:aa.nq},10:{Ed:2,fe:7,name:aa.hq},13:{Ed:6,fe:7,name:aa.Tp},15:{Ed:3,fe:0,name:aa.lq}};k=Nl.prototype; -k.Hb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.xa[b]=c,c.onchange=function(){var a=d.xa.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.xa[b]=c,c.onchange=function(){var a=da(c.value,10);null!=a&&Ql(d,a)},!0; -case "loadDrive":return this.xa[b]=c,c.onclick=function(){var a=d.xa.listDisks;a&&Rl(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.Ok?(this.xa[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;Rl(d,fa(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1}; -k.wc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.Ma=a;this.oa=ib(a,"ChipSet");this.Md();xb(b,this,Sl);Bb(b,this,Tl);this.Ok&&Ul(this,"Local Disk","?");Ul(this,"Remote Disk","??");this.$f()||B(this)}; -k.fc=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.Ma.Mi){this.Bc=[];for(var c=0;ca.za.restore(g)&&(e=!1);e&&a.za&&void 0!==a.Va&&(a.Xa=a.za.seek(a.ub,a.Ra,a.$a));return e};k.ek=function(){for(var a=0,b=[],c=0;ca.Ab||f[1]>a.Bb)&&(this.Ia('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.mb)),b=null);b?(a.za=b,a.qm=c,a.af=d,Yl(this,c,d,b),f=b.info(),this.ve|=128,this.Ia('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.mb),a.Re||e),a.Oh=f[0],a.wg=f[1],a.xg=f[2]):a.tf=!1;a.Re&&(a.Re=!1,--this.Je||B(this));Ql(this,a.mb)}; -function Ul(a,b,c){if(a=a.xa.listDisks){for(var d=0;d=this.kb&&(this.Ca&=-81,this.Cb=this.kb=0);return c}; -k.So=function(a,b,c){this.ua()&&A(this,a,b,c,"DATA["+this.kb+"]");this.kb=Pl[a].Ed){b=!1;this.Cb=0;a=this.Ta();var d,e,f,g,h=a&31;switch(h){case 3:this.Ta(m.pq);this.Ta(m.Wp);this.Yb();break;case 4:c=this.Ta(m.Qf);this.mb=c&3;d=this.Fa[this.mb];this.Yb();this.jc((d.eb&4278190080)>>>24,m.sq);break;case 5:case 6:c=this.Ta(m.Qf);b=c>>2&1;this.mb=c&3;d=this.Fa[this.mb];d.Ra=b;c=d.ub=this.Ta(m.kk);e=this.Ta(m.lk);f=d.$a= -this.Ta(m.nk);g=this.Ta(m.ji);d.jb=128<>2&1;this.mb=c&3;d=this.Fa[this.mb];c=d.ub;e=d.Ra=b;f=d.$a=1;g=0;d.eb=0;d.za&&(d.Xa=d.za.seek(d.ub,d.Ra,d.$a))?g=d.Xa.length:d.eb=72;Zl(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=this.Ta(m.Qf);b=c>>2&1;this.mb=c&3;d=this.Fa[this.mb];c=d.ub;e=d.Ra=b;f=1;g=this.Ta(m.ji);d.jb=128<>2&1,c=this.Ta(m.bq),d.ub+=c-d.be,0>d.ub&&(d.ub=0),d.ub>=d.Ab&&(d.ub=d.Ab-1),d.be=c,d.eb=32,d.ub||(d.eb|=268435456),this.Yb(),b=!0}0>>8,m.qq);a.jc((b.eb&16711680)>>>16,m.rq);var n=0;if(e!=b.ub||f!=b.Ra)n=g=1;c&128&&(f^=n,d||(n=0));a.jc(e+n,m.kk);a.jc(f,m.lk);a.jc(g,m.nk);a.jc(h,m.ji)}k.Ta=function(){var a=this.kc[this.Cb];this.Cb++;return a};k.Yb=function(){this.Cb=this.kb=0};k.jc=function(a){this.kc[this.kb++]=a};k.Ei=function(a,b,c){void 0===b||0>b?this.zc(a,c):c(-1,!1)}; -k.Fi=function(a,b){return void 0!==b&&0<=b?this.Nc(a,b):-1};k.Mm=function(a,b){return void 0!==b&&0<=b?this.gk(a,b):-1};k.zc=function(a,b){var c=-1;if(!a.eb&&a.za){do{if(a.Xa&&0<=(c=Ml(a.Xa,a.Va++)))break;a.Xa=a.za.seek(a.ub,a.Ra,a.$a);if(!a.Xa){a.eb=1088;break}a.Va=0;this.Yf(a)}while(1)}b(c,!1)};k.Nc=function(a,b){if(a.eb||!a.za)return-1;do{if(a.Xa&&a.za.write(a.Xa,a.Va++,b))break;a.Xa=a.za.seek(a.ub,a.Ra,a.$a);if(!a.Xa){a.eb=8256;b=-1;break}a.Va=0;this.Yf(a)}while(1);return b}; -k.Yf=function(a){a.$a++;a.$a>=a.xg+1&&(a.$a=1,a.Ra++,a.Ra>=a.wg&&(a.Ra=0,a.ub++))};k.gk=function(a,b){if(a.eb)return-1;a.Qc[a.nf++]=b;if(a.nf==a.Qc.length){a.ub=a.Qc[0];a.Ra=a.Qc[1];a.$a=a.Qc[2];a.jb=128<this.Nc(a,a.uk))return-1;a.ph++}a.ph>=a.de&&(b=-1);return b};var Sl={1012:Nl.prototype.zn,1013:Nl.prototype.xn,1015:Nl.prototype.yn},Tl={1010:Nl.prototype.To,1013:Nl.prototype.So,1015:Nl.prototype.Ro}; -Ja(function(){for(var a=z(window.document,"pcjs","fdc"),b=0;b'+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.xa[b]=c,c.onchange=function(){var a=da(c.value,10);null!=a&&tl(d,a)},!0; +case "loadDrive":return this.xa[b]=c,c.onclick=function(){var a=d.xa.listDisks;a&&ul(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.Ok?(this.xa[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;ul(d,fa(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1}; +k.wc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.Ma=a;this.oa=hb(a,"ChipSet");this.Md();wb(b,this,vl);Ab(b,this,wl);this.Ok&&xl(this,"Local Disk","?");xl(this,"Remote Disk","??");this.$f()||D(this)}; +k.fc=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.Ma.Mi){this.Bc=[];for(var c=0;ca.za.restore(g)&&(e=!1);e&&a.za&&void 0!==a.Va&&(a.Xa=a.za.seek(a.vb,a.Ra,a.$a));return e};k.ek=function(){for(var a=0,b=[],c=0;ca.Ab||f[1]>a.Bb)&&(this.Ia('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.mb)),b=null);b?(a.za=b,a.qm=c,a.af=d,Bl(this,c,d,b),f=b.info(),this.ve|=128,this.Ia('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.mb),a.Re||e),a.Oh=f[0],a.wg=f[1],a.xg=f[2]):a.tf=!1;a.Re&&(a.Re=!1,--this.Je||D(this));tl(this,a.mb)}; +function xl(a,b,c){if(a=a.xa.listDisks){for(var d=0;d=this.kb&&(this.Ca&=-81,this.Cb=this.kb=0);return c}; +k.So=function(a,b,c){this.ua()&&B(this,a,b,c,"DATA["+this.kb+"]");this.kb=sl[a].Ed){b=!1;this.Cb=0;a=this.Ta();var d,e,f,g,h=a&31;switch(h){case 3:this.Ta(m.pq);this.Ta(m.Wp);this.Yb();break;case 4:c=this.Ta(m.Qf);this.mb=c&3;d=this.Fa[this.mb];this.Yb();this.jc((d.eb&4278190080)>>>24,m.sq);break;case 5:case 6:c=this.Ta(m.Qf);b=c>>2&1;this.mb=c&3;d=this.Fa[this.mb];d.Ra=b;c=d.vb=this.Ta(m.kk);e=this.Ta(m.lk);f=d.$a= +this.Ta(m.nk);g=this.Ta(m.ji);d.jb=128<>2&1;this.mb=c&3;d=this.Fa[this.mb];c=d.vb;e=d.Ra=b;f=d.$a=1;g=0;d.eb=0;d.za&&(d.Xa=d.za.seek(d.vb,d.Ra,d.$a))?g=d.Xa.length:d.eb=72;Cl(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=this.Ta(m.Qf);b=c>>2&1;this.mb=c&3;d=this.Fa[this.mb];c=d.vb;e=d.Ra=b;f=1;g=this.Ta(m.ji);d.jb=128<>2&1,c=this.Ta(m.bq),d.vb+=c-d.be,0>d.vb&&(d.vb=0),d.vb>=d.Ab&&(d.vb=d.Ab-1),d.be=c,d.eb=32,d.vb||(d.eb|=268435456),this.Yb(),b=!0}0>>8,m.qq);a.jc((b.eb&16711680)>>>16,m.rq);var n=0;if(e!=b.vb||f!=b.Ra)n=g=1;c&128&&(f^=n,d||(n=0));a.jc(e+n,m.kk);a.jc(f,m.lk);a.jc(g,m.nk);a.jc(h,m.ji)}k.Ta=function(){var a=this.kc[this.Cb];this.Cb++;return a};k.Yb=function(){this.Cb=this.kb=0};k.jc=function(a){this.kc[this.kb++]=a};k.Ei=function(a,b,c){void 0===b||0>b?this.zc(a,c):c(-1,!1)}; +k.Fi=function(a,b){return void 0!==b&&0<=b?this.Nc(a,b):-1};k.Mm=function(a,b){return void 0!==b&&0<=b?this.gk(a,b):-1};k.zc=function(a,b){var c=-1;if(!a.eb&&a.za){do{if(a.Xa&&0<=(c=ql(a.Xa,a.Va++)))break;a.Xa=a.za.seek(a.vb,a.Ra,a.$a);if(!a.Xa){a.eb=1088;break}a.Va=0;this.Yf(a)}while(1)}b(c,!1)};k.Nc=function(a,b){if(a.eb||!a.za)return-1;do{if(a.Xa&&a.za.write(a.Xa,a.Va++,b))break;a.Xa=a.za.seek(a.vb,a.Ra,a.$a);if(!a.Xa){a.eb=8256;b=-1;break}a.Va=0;this.Yf(a)}while(1);return b}; +k.Yf=function(a){a.$a++;a.$a>=a.xg+1&&(a.$a=1,a.Ra++,a.Ra>=a.wg&&(a.Ra=0,a.vb++))};k.gk=function(a,b){if(a.eb)return-1;a.Qc[a.nf++]=b;if(a.nf==a.Qc.length){a.vb=a.Qc[0];a.Ra=a.Qc[1];a.$a=a.Qc[2];a.jb=128<this.Nc(a,a.uk))return-1;a.ph++}a.ph>=a.de&&(b=-1);return b};var vl={1012:rl.prototype.zn,1013:rl.prototype.xn,1015:rl.prototype.yn},wl={1010:rl.prototype.To,1013:rl.prototype.So,1015:rl.prototype.Ro}; +Ja(function(){for(var a=A(window.document,"pcjs","fdc"),b=0;b=e&&(this.Kf|=(f.type&3)<<(1-e<<1))}return d}; k.ck=function(){var a=0,b=[];this.Qe?(b[a++]=this.ue,b[a++]=this.pm,b[a++]=this.we,b[a++]=this.ai,b[a++]=this.Zh,b[a++]=this.Yh,b[a++]=this.Lf,b[a++]=this.Ca,b[a++]=this.Zj,b[a++]=this.$h):(b[a++]=this.Kf,b[a++]=this.Ca,b[a++]=this.kc,b[a++]=this.Cb,b[a++]=this.kb,b[a++]=this.om,b[a++]=this.nm,b[a++]=this.mm,b[a++]=this.xf);b[a]=this.ek();return b}; -k.Wi=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.mb=a;b.errorCode=d[f++];b.vm=d[f++];b.uf=d[f++];b.jf=d[f++];b.kf=d[f++];b.Ra=d[f++];b.Bb=d[f++];b.Ud=d[f++];b.$a=d[f++];b.de=d[f++];b.jb=d[f++];b.kh=this.Qe?0:1;b.name=c.name;void 0===b.name&&(b.name="Hard Drive");b.path=c.path;b.mode=c.mode||(b.path?"preload":"local");"demandro"!=b.mode&&"demandrw"!=b.mode||this.le()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===am[this.pg][b.type])b.type=this.cn;c=am[this.pg][b.type]; -b.Gb=c[2]||17;b.qb=c[3]||512;if(e&&this.oa&&(e=this.oa,c=b.type,e.ma)){var h=e.ma[18],h=a?h&240|c:h&15|c<<4;e.ma&&(e.ma[18]=h,Ti(e))}void 0===b.za&&(b.za=null,this.Ia("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));fm(this,b);b.Va=d[f++];b.Xa=null;b.za&&(a=d[f],void 0!==a&&0>b.za.restore(a)&&(g=!1),g&&void 0!==b.Va&&(b.Xa=b.za.seek(b.Ud,b.Ra,b.$a+b.kh)));return g};k.ek=function(){for(var a=0,b=[],c=0;cb.za.restore(a)&&(g=!1),g&&void 0!==b.Va&&(b.Xa=b.za.seek(b.Ud,b.Ra,b.$a+b.kh)));return g};k.ek=function(){for(var a=0,b=[],c=0;c=this.kb&&(this.Cb=this.kb=0,this.Ca&=-15);return c}; -k.op=function(a,b,c){A(this,a,b,c,"DATA["+this.kb+"]");this.kb=a&&(this.Ca|=2,this.Ca&=-2,gm(this))};k.$n=function(a,b){var c=this.Ca;A(this,a,null,b,"STATUS",c);this.Cb=this.Sa.qb){var d=this;d.Ca=136;this.zc(this.Sa,function(a){0<=a?(hm(d),d.Ca=80):(d.Ca=1,d.ue=16)},!1)}else this.Ca=80;return c}; -k.Do=function(a,b,c){this.Sa&&this.Sa.jb>=this.Sa.qb&&(0>this.Nc(this.Sa,b)?(this.Ca=1,this.ue=16):1==this.Sa.Va?this.ua(N|$l)&&A(this,a,b,c,"DATA["+this.Sa.Va+"]"):this.Sa.Va==this.Sa.qb&&(this.Sa.jb-=this.Sa.qb,this.we=this.we-1&255,hm(this),this.Ca=80,this.Sa.jb>=this.Sa.qb&&(this.Ca|=8)))};k.mn=function(a,b){var c=this.ue;A(this,a,null,b,"ERROR",c);return c};k.Io=function(a,b,c){A(this,a,b,c,"WPREC");this.pm=b};k.nn=function(a,b){var c=this.we;A(this,a,null,b,"SECCNT",c);return c}; -k.Go=function(a,b,c){A(this,a,b,c,"SECCNT");this.we=b};k.on=function(a,b){var c=this.ai;A(this,a,null,b,"SECNUM",c);return c};k.Ho=function(a,b,c){A(this,a,b,c,"SECNUM");this.ai=b};k.jn=function(a,b){var c=this.Zh;A(this,a,null,b,"CYLLO",c);return c};k.Co=function(a,b,c){A(this,a,b,c,"CYLLO");this.Zh=b};k.hn=function(a,b){var c=this.Yh;A(this,a,null,b,"CYLHI",c);return c};k.Bo=function(a,b,c){A(this,a,b,c,"CYLHI");this.Yh=b};k.ln=function(a,b){var c=this.Lf;A(this,a,null,b,"DRVHD",c);return c}; -k.Eo=function(a,b,c){A(this,a,b,c,"DRVHD");this.Lf=b;this.Ca=this.Fa[this.Lf&16?1:0]?this.Ca|64:this.Ca&-65};k.pn=function(a,b){var c=this.Ca;A(this,a,null,b,"STATUS",c);return c};k.Ao=function(a,b,c){A(this,a,b,c,"COMMAND");this.Zj=b;this.oa&&Aj(this.oa,14);im(this)};k.Fo=function(a,b,c){A(this,a,b,c,"FDR");this.$h&4&&!(b&4)&&(this.ue=1);this.$h=b}; -function im(a){var b=!1,c=a.Zj,d=a.Lf&16?1:0,e=a.Lf&15,f=a.Zh|(a.Yh&3)<<8,g=a.ai,h=a.we||256;a.Sa=null;a.ue=0;a.Ca=80;(d=a.Fa[d])?(d.Ud=f,d.Ra=e,d.$a=g,d.jb=h*d.qb,c=144<=c?c:c&240,d.Xa=null,d.Va=0,d.errorCode=0,a.Sa=d):c=-1;switch(c&240){case 32:a.Ca=136;a.zc(d,function(b){0<=b&&a.oa?(hm(a),a.Ca=80):(a.Ca=1,a.ue=16)},!1);break;case 48:a.Ca=8;break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.ue=1;b=!0;break;case 145:d.Bb=e+1,d.Gb=h,b=!0}b&&hm(a)} -function hm(a){!a.oa||a.$h&2||zj(a.oa,14,120)} -function gm(a){a.Cb=0;var b=a.Ta(),c=a.Ta(),d=c&32,e=d>>5,f=c&31,g=a.Ta(),h=a.Ta(),n=g<<2&768|h,l=g&63,t=a.Ta(),s=a.Ta(),u=a.Fa[e];u&&(u.Ud=n,u.Ra=f,u.$a=l,u.jb=t*u.qb);switch(b){case 3:a.Yb(u?u.errorCode:4);a.jc(c);a.jc(g);a.jc(h);a.jc(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Ta());)u&&cb?this.zc(a,c):c(-1,!1)}; -k.Fi=function(a,b){return void 0!==b&&0<=b?this.Nc(a,b):-1};k.Nm=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Va=this.kb&&(this.Cb=this.kb=0,this.Ca&=-15);return c}; +k.op=function(a,b,c){B(this,a,b,c,"DATA["+this.kb+"]");this.kb=a&&(this.Ca|=2,this.Ca&=-2,Jl(this))};k.$n=function(a,b){var c=this.Ca;B(this,a,null,b,"STATUS",c);this.Cb=this.Sa.sb){var d=this;d.Ca=136;this.zc(this.Sa,function(a){0<=a?(Kl(d),d.Ca=80):(d.Ca=1,d.ue=16)},!1)}else this.Ca=80;return c}; +k.Do=function(a,b,c){this.Sa&&this.Sa.jb>=this.Sa.sb&&(0>this.Nc(this.Sa,b)?(this.Ca=1,this.ue=16):1==this.Sa.Va?this.ua(524416)&&B(this,a,b,c,"DATA["+this.Sa.Va+"]"):this.Sa.Va==this.Sa.sb&&(this.Sa.jb-=this.Sa.sb,this.we=this.we-1&255,Kl(this),this.Ca=80,this.Sa.jb>=this.Sa.sb&&(this.Ca|=8)))};k.mn=function(a,b){var c=this.ue;B(this,a,null,b,"ERROR",c);return c};k.Io=function(a,b,c){B(this,a,b,c,"WPREC");this.pm=b};k.nn=function(a,b){var c=this.we;B(this,a,null,b,"SECCNT",c);return c}; +k.Go=function(a,b,c){B(this,a,b,c,"SECCNT");this.we=b};k.on=function(a,b){var c=this.ai;B(this,a,null,b,"SECNUM",c);return c};k.Ho=function(a,b,c){B(this,a,b,c,"SECNUM");this.ai=b};k.jn=function(a,b){var c=this.Zh;B(this,a,null,b,"CYLLO",c);return c};k.Co=function(a,b,c){B(this,a,b,c,"CYLLO");this.Zh=b};k.hn=function(a,b){var c=this.Yh;B(this,a,null,b,"CYLHI",c);return c};k.Bo=function(a,b,c){B(this,a,b,c,"CYLHI");this.Yh=b};k.ln=function(a,b){var c=this.Lf;B(this,a,null,b,"DRVHD",c);return c}; +k.Eo=function(a,b,c){B(this,a,b,c,"DRVHD");this.Lf=b;this.Ca=this.Fa[this.Lf&16?1:0]?this.Ca|64:this.Ca&-65};k.pn=function(a,b){var c=this.Ca;B(this,a,null,b,"STATUS",c);return c};k.Ao=function(a,b,c){B(this,a,b,c,"COMMAND");this.Zj=b;this.oa&&mj(this.oa,14);Ll(this)};k.Fo=function(a,b,c){B(this,a,b,c,"FDR");this.$h&4&&!(b&4)&&(this.ue=1);this.$h=b}; +function Ll(a){var b=!1,c=a.Zj,d=a.Lf&16?1:0,e=a.Lf&15,f=a.Zh|(a.Yh&3)<<8,g=a.ai,h=a.we||256;a.Sa=null;a.ue=0;a.Ca=80;(d=a.Fa[d])?(d.Ud=f,d.Ra=e,d.$a=g,d.jb=h*d.sb,c=144<=c?c:c&240,d.Xa=null,d.Va=0,d.errorCode=0,a.Sa=d):c=-1;switch(c&240){case 32:a.Ca=136;a.zc(d,function(b){0<=b&&a.oa?(Kl(a),a.Ca=80):(a.Ca=1,a.ue=16)},!1);break;case 48:a.Ca=8;break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.ue=1;b=!0;break;case 145:d.Bb=e+1,d.Gb=h,b=!0}b&&Kl(a)} +function Kl(a){!a.oa||a.$h&2||lj(a.oa,14,120)} +function Jl(a){a.Cb=0;var b=a.Ta(),c=a.Ta(),d=c&32,e=d>>5,f=c&31,g=a.Ta(),h=a.Ta(),n=g<<2&768|h,l=g&63,t=a.Ta(),s=a.Ta(),u=a.Fa[e];u&&(u.Ud=n,u.Ra=f,u.$a=l,u.jb=t*u.sb);switch(b){case 3:a.Yb(u?u.errorCode:4);a.jc(c);a.jc(g);a.jc(h);a.jc(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Ta());)u&&cb?this.zc(a,c):c(-1,!1)}; +k.Fi=function(a,b){return void 0!==b&&0<=b?this.Nc(a,b):-1};k.Nm=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Va=a.Gb+b&&(a.$a=b,a.Ra++,a.Ra>=a.Bb&&(a.Ra=0,a.Ud++))}; k.gk=function(a,b){if(a.errorCode)return-1;a.Qc[a.nf++]=b;if(a.nf==a.Qc.length){a.Ud=a.Qc[0];a.Ra=a.Qc[1];a.$a=a.Qc[2];a.jb=128<this.Nc(a,a.uk))return-1;a.ph++}a.ph>=a.de&&(b=-1);return b};k.bo=function(){var a=this.T.K&255;!(this.T.H>>8)&&128>8)||(a=!this.oa)||(a=!(this.oa.Wb[0].nd&64));return a?!0:!1}; -var cm={800:W.prototype.Zn,801:W.prototype.$n,802:W.prototype.Yn},bm={496:W.prototype.kn,497:W.prototype.mn,498:W.prototype.nn,499:W.prototype.on,500:W.prototype.jn,501:W.prototype.hn,502:W.prototype.ln,503:W.prototype.pn},em={800:W.prototype.op,801:W.prototype.rp,802:W.prototype.qp,803:W.prototype.pp,807:W.prototype.Uj,811:W.prototype.Uj,815:W.prototype.Uj},dm={496:W.prototype.Do,497:W.prototype.Io,498:W.prototype.Go,499:W.prototype.Ho,500:W.prototype.Co,501:W.prototype.Bo,502:W.prototype.Eo,503:W.prototype.Ao, -1014:W.prototype.Fo};Ja(function(){for(var a=z(window.document,"pcjs","hdc"),b=0;b>2;this.Vf=xm;80186<=this.T.Ka&&(this.Vf=xm.slice(),this.Vf[15]=Y,80286<=this.T.Ka&&(this.Vf[15]=wm));Fi(this,4,function(a){if(a){var b=Bm(d,a);if(void 0===b)d.Z("invalid selector: "+a);else{a=Cm(d,b);d.Z("dumpDesc("+r(a.ta)+"): %"+p(a.Bd,d.Me));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 switch(a.type){case 256:c="tss";break;case 512:c="ldt";break;case 768:c="busy tss";break;case 1024:c="call gate";b=!0;break;case 1280:c="task gate";b=!0;break;case 1536:c="int gate";b=!0;break;case 1792:c="trap gate",b=!0}!c||a.nb&32768||(c+=",not present");d.Z((b?"seg="+r(a.Ga&65535)+" off="+r(a.pc):"base="+p(a.Ga,d.Me)+" limit="+r(a.pc))+" dpl="+q(a.oc)+" type="+q(a.type>>8)+" ("+c+")")}}else d.Z("no selector")}); -Fi(this,8,function(a){a:{if(a){var b=Bm(d,a);if(void 0===b){d.Z("invalid task selector: "+a);break a}a=Cm(d,b)}else a=d.T.gb;d.Z("dumpTSS("+r(a.ta)+"): %"+p(a.Ga,d.Me));var b="",c;for(c in Dm){var e=Dm[c],l=8>c.length?" ":"",t=sb(d.sa,a.Ga+e);b&&(b+="\n");b+=r(e)+" "+c+": "+l+r(t)}d.Z(b)}});Fi(this,67108864,function(a){if(a)for(d.Z("dumpDOS("+a+")"),a=Bm(d,a);a;){var b=[0,a,void 0],c=d.xb(b,1),e=d.ra(b,2),l=d.ra(b,5);if(77!=c&&90!=c)break;d.Z(ea(0,a)+": '"+String.fromCharCode(c)+"' PID="+r(e)+" LEN="+ -r(l)+' "'+Em(d,b)+'"');a+=1+l}else d.Z("no MCB")});B(this);if(this.ak){a=Fm(this,this.ak);delete this.ak;for(var e in a)qm(this,a[e])}}; -mm.prototype.Hb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.gg=this.xa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode){b=c.value;c.value="";var g=Fm(d,b,!0),h;for(h in g)qm(d,g[h])}else 27==a.keyCode?c.value=b="":(38==a.keyCode?d.Uce?String.fromCharCode(e):"."}return d} -function pm(a,b){a.ka=a;a.Zb=a.Im=of;a.bk=null;a.oi=[];var c=Fm(a,b.replace("keys","key").replace("kbd","keyboard"));if(c.length)for(var d in vm)0<=c.indexOf(d)&&(a.Zb|=vm[d],a.Z(d+" messages enabled"))}function Fi(a,b,c){for(var d in vm)if(b==vm[d]){a.oi[d]=c;break}} -function nd(a,b,c){var d,e=!1,f=rm[b];f&&(d=a.T.H>>8,e=a.ua(f)?!0:f==Ol&&a.ua(f=$l));if(e){var g=a.T.K&255;if(33==b&&11==d||f==Ol&&128<=g||f==$l&&128>g)e=!1}if(e){if(f=(f=Am[b])&&f[d]||"")g=a.T,a.tb[X[0]]=q(g.H&255),a.tb[X[1]]=q(g.J&255),a.tb[X[2]]=q(g.K&255),a.tb[X[3]]=q(g.C&255),a.tb[X[4]]=q(g.H>>8),a.tb[X[5]]=q(g.J>>8),a.tb[X[6]]=q(g.K>>8),a.tb[X[7]]=q(g.C>>8),a.tb[X[8]]=r(g.H),a.tb[X[9]]=r(g.J),a.tb[X[10]]=r(g.K),a.tb[X[11]]=r(g.C),a.tb[X[12]]=r(g.Y),a.tb[X[13]]=r(g.I),a.tb[X[14]]=r(g.G),a.tb[X[15]]= -r(g.F),a.tb[X[16]]=r(g.La.ta),a.tb[X[17]]=r(g.va.ta),a.tb[X[18]]=r(g.Ya.ta),a.tb[X[19]]=r(g.fb.ta),a.tb[X[20]]=r(g.wa),f=" "+ja(a.tb,f);a.message("INT 0x"+q(b)+": AH="+q(d)+" @"+ea(c-2-a.T.va.Ga,a.T.va.ta)+f)}return e}function pd(a,b,c,d,e){a.message("INT 0x"+q(b)+": C="+(zd(a.T)?1:0)+(e||"")+" (cycles="+d+(c?",level="+(c+1):"")+")")} -function cb(a,b,c,d,e,f,g,h){h|=N;if(null==e||(a.Zb&h)==h)h=null,null!=e&&(h=a.T.va.ta,e-=a.T.va.Ga),a.message(b.Hh+"."+(null!=d?"outPort":"inPort")+"(0x"+r(c)+","+(f?f:"unknown")+(null!=d?",0x"+q(d):"")+")"+(null!=g?": 0x"+q(g):"")+(null!=e?" @"+ea(e,h):""))}k=mm.prototype;k.message=function(a,b){b&&(a+=" @"+ea(this.T.wa,this.T.va.ta));if(!this.bk||a!=this.bk)if(this.Z(a),this.bk=a,this.T){this.Zb&qf&&this.T.Ib();var c=this.T;c.da.Ff=0;c.Vc-=c.A;c.A=0;Ub(c)}};k.ao=function(){this.Z("Type ? for list of debugger commands")}; -function om(a){var b;if(Pd(a)){if(!a.Zd||!a.Zd.length){a.Zd=Array(1E4);for(b=0;b>c.Eb],!1)}a.Wd=["read"];if(void 0!==a.Zc)for(b=1;b>c.Eb],!0);a.Zc=["write"]}k.$d=function(a,b,c){if(!Om(this,a,b)){b[3]=c;a.push(b);if(a!=this.Ac){var d=this.sa,e=Lm(this,b);d.Ha[e>>d.Eb].$d(e&d.pb,a==this.Zc)}c||this.Z("breakpoint enabled: "+Nm(b)+" ("+a[0]+")");om(this);return!0}return!1}; -function Om(a,b,c,d){var e=!1;c=Lm(a,c);for(var f=1;f>d.Eb],b==a.Zc));g[3]||a.Z("breakpoint cleared: "+Nm(g)+" ("+b[0]+")");om(a);break}a.Z("breakpoint exists: "+Nm(g)+" ("+b[0]+")");break}}return e}function Pm(a,b){for(var c=1;c=b&&f>g.Eb].$d(f&g.pb,d==a.Zc)}}}function Jm(a,b){if(void 0!==b)Km(a,b,a.Ac,!0),a.uc=0;else for(var c=1;c=tm.length&&(n=a.xb(b,1),g=zm[h-tm.length][n>>3&7]);var h=tm[g[0]],l=2,t="";if(164<=f&&167>=f||170<=f&&175>=f)l=0;for(f=1;f<=l;f++){var s="",u=g[f];if(void 0!==u){var x=u&15;if(0!=x&&15!=x){var v=u&240;if(128<=v)if(0>n&&(n=a.xb(b,1)),160<=v)a:{s=n>>3&7;if(176==(u&240)){if(4<=s){s=null;break a}s+=16}else 3<=(u&15)&&(s+=8);s=X[s]}else{if(128<=v){var s=a,v=u,u=b,C="",x=n>>6, -C=n&7;3>x?(v=void 0,x||6!=C?(C=um[C],1==x?(v=s.xb(u,1),v&128?(v=v<<24>>24,C+="-"+q(-v)):C+="+"+q(v)):2==x&&(v=s.ra(u,2),C+="+"+r(v))):(v=s.ra(u,2),C=r(v)),C="["+C+"]"):C=X[C+(1==(v&15)?0:8)];s=C}}else if(16==v)s="1";else if(0==v){s=a;x=u;u=b;v=" ";switch(x&15){case 1:x&12288&&(v=q(s.xb(u,1)));break;case 2:v=r(s.xb(u,1)<<24>>24);break;case 3:case 4:v=r(s.ra(u,2));break;case 6:x=s.ra(u,2);s=s.ra(u,2);v=Nm([x,s,void 0]);break;default:v="imm("+r(x)+")"}s=v}else 32==v?s="["+r(a.ra(b,2))+"]":48==v?(1== -x?(s=a.xb(b,1),s=s<<24>>24):s=a.ra(b,2),s=b[0]+s&65535,s=Rm(a,[s,b[1],void 0])[0]||r(s)):96==v?s=X[(u&3840)>>8]:112==v?s=X[((u&3840)>>8)+16]:64==v?s="DS:[SI]":80==v&&(s="ES:[DI]");if(!s||!s.length){t="INVALID";break}0>>4),d[0]=g,d[1]=h,void 0!==n.p&&(d[2]=n.p));break}}if(d&&d.length)return d;d=b.indexOf(":");0>d?null!=e?(c=Bm(a,b),d=null):d=Bm(a,b):(e=Bm(a,b.substring(0,d)),c=Bm(a,b.substring(d+1)), +var Fl={800:W.prototype.Zn,801:W.prototype.$n,802:W.prototype.Yn},El={496:W.prototype.kn,497:W.prototype.mn,498:W.prototype.nn,499:W.prototype.on,500:W.prototype.jn,501:W.prototype.hn,502:W.prototype.ln,503:W.prototype.pn},Hl={800:W.prototype.op,801:W.prototype.rp,802:W.prototype.qp,803:W.prototype.pp,807:W.prototype.Uj,811:W.prototype.Uj,815:W.prototype.Uj},Gl={496:W.prototype.Do,497:W.prototype.Io,498:W.prototype.Go,499:W.prototype.Ho,500:W.prototype.Co,501:W.prototype.Bo,502:W.prototype.Eo,503:W.prototype.Ao, +1014:W.prototype.Fo};Ja(function(){for(var a=A(window.document,"pcjs","hdc"),b=0;b>2;this.Vf=$l;80186<=this.T.Ka&&(this.Vf=$l.slice(),this.Vf[15]=Z,80286<=this.T.Ka&&(this.Vf[15]=Zl));wi(this,4,function(a){if(a){var b=dm(d,a);if(void 0===b)d.Z("invalid selector: "+a);else{a=em(d,b);d.Z("dumpDesc("+r(a.ta)+"): %"+p(a.Bd,d.Me));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 switch(a.type){case 256:c="tss";break;case 512:c="ldt";break;case 768:c="busy tss";break;case 1024:c="call gate";b=!0;break;case 1280:c="task gate";b=!0;break;case 1536:c="int gate";b=!0;break;case 1792:c="trap gate",b=!0}!c||a.ob&32768||(c+=",not present");d.Z((b?"seg="+r(a.Ga&65535)+" off="+r(a.pc):"base="+p(a.Ga,d.Me)+" limit="+r(a.pc))+" dpl="+q(a.oc)+" type="+q(a.type>>8)+" ("+c+")")}}else d.Z("no selector")}); +wi(this,8,function(a){a:{if(a){var b=dm(d,a);if(void 0===b){d.Z("invalid task selector: "+a);break a}a=em(d,b)}else a=d.T.gb;d.Z("dumpTSS("+r(a.ta)+"): %"+p(a.Ga,d.Me));var b="",c;for(c in fm){var e=fm[c],l=8>c.length?" ":"",t=rb(d.sa,a.Ga+e);b&&(b+="\n");b+=r(e)+" "+c+": "+l+r(t)}d.Z(b)}});wi(this,67108864,function(a){if(a)for(d.Z("dumpDOS("+a+")"),a=dm(d,a);a;){var b=[0,a,void 0],c=d.xb(b,1),e=d.ra(b,2),l=d.ra(b,5);if(77!=c&&90!=c)break;d.Z(ea(0,a)+": '"+String.fromCharCode(c)+"' PID="+r(e)+" LEN="+ +r(l)+' "'+gm(d,b)+'"');a+=1+l}else d.Z("no MCB")});D(this);if(this.ak){a=hm(this,this.ak);delete this.ak;for(var e in a)Tl(this,a[e])}}; +Pl.prototype.Hb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.gg=this.xa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode){b=c.value;c.value="";var g=hm(d,b,!0),h;for(h in g)Tl(d,g[h])}else 27==a.keyCode?c.value=b="":(38==a.keyCode?d.Uce?String.fromCharCode(e):"."}return d} +function Sl(a,b){a.ka=a;a.Zb=a.Im=536870912;a.bk=null;a.oi=[];var c=hm(a,b.replace("keys","key").replace("kbd","keyboard"));if(c.length)for(var d in Yl)0<=c.indexOf(d)&&(a.Zb|=Yl[d],a.Z(d+" messages enabled"))}function wi(a,b,c){for(var d in Yl)if(b==Yl[d]){a.oi[d]=c;break}} +function jd(a,b,c){var d,e=!1,f=Ul[b];f&&(d=a.T.H>>8,e=a.ua(f)?!0:262144==f&&a.ua(f=524288));if(e){var g=a.T.K&255;if(33==b&&11==d||262144==f&&128<=g||524288==f&&128>g)e=!1}if(e){if(f=(f=cm[b])&&f[d]||"")g=a.T,a.ub[X[0]]=q(g.H&255),a.ub[X[1]]=q(g.J&255),a.ub[X[2]]=q(g.K&255),a.ub[X[3]]=q(g.C&255),a.ub[X[4]]=q(g.H>>8),a.ub[X[5]]=q(g.J>>8),a.ub[X[6]]=q(g.K>>8),a.ub[X[7]]=q(g.C>>8),a.ub[X[8]]=r(g.H),a.ub[X[9]]=r(g.J),a.ub[X[10]]=r(g.K),a.ub[X[11]]=r(g.C),a.ub[X[12]]=r(g.Y),a.ub[X[13]]=r(g.I),a.ub[X[14]]= +r(g.G),a.ub[X[15]]=r(g.F),a.ub[X[16]]=r(g.La.ta),a.ub[X[17]]=r(g.va.ta),a.ub[X[18]]=r(g.Ya.ta),a.ub[X[19]]=r(g.fb.ta),a.ub[X[20]]=r(g.wa),f=" "+ka(a.ub,f);a.message("INT 0x"+q(b)+": AH="+q(d)+" @"+ea(c-2-a.T.va.Ga,a.T.va.ta)+f)}return e}function ld(a,b,c,d,e){a.message("INT 0x"+q(b)+": C="+(vd(a.T)?1:0)+(e||"")+" (cycles="+d+(c?",level="+(c+1):"")+")")} +function bb(a,b,c,d,e,f,g,h){h|=128;if(null==e||(a.Zb&h)==h)h=null,null!=e&&(h=a.T.va.ta,e-=a.T.va.Ga),a.message(b.Hh+"."+(null!=d?"outPort":"inPort")+"(0x"+r(c)+","+(f?f:"unknown")+(null!=d?",0x"+q(d):"")+")"+(null!=g?": 0x"+q(g):"")+(null!=e?" @"+ea(e,h):""))}k=Pl.prototype;k.message=function(a,b){b&&(a+=" @"+ea(this.T.wa,this.T.va.ta));if(!this.bk||a!=this.bk)if(this.Z(a),this.bk=a,this.T){this.Zb&1073741824&&this.T.Ib();var c=this.T;c.da.Ff=0;c.Vc-=c.A;c.A=0;Sb(c)}};k.ao=function(){this.Z("Type ? for list of debugger commands")}; +function Rl(a){var b;if(Nd(a)){if(!a.Zd||!a.Zd.length){a.Zd=Array(1E4);for(b=0;b>c.Eb],!1)}a.Wd=["read"];if(void 0!==a.Zc)for(b=1;b>c.Eb],!0);a.Zc=["write"]}k.$d=function(a,b,c){if(!qm(this,a,b)){b[3]=c;a.push(b);if(a!=this.Ac){var d=this.sa,e=nm(this,b);d.Ha[e>>d.Eb].$d(e&d.rb,a==this.Zc)}c||this.Z("breakpoint enabled: "+pm(b)+" ("+a[0]+")");Rl(this);return!0}return!1}; +function qm(a,b,c,d){var e=!1;c=nm(a,c);for(var f=1;f>d.Eb],b==a.Zc));g[3]||a.Z("breakpoint cleared: "+pm(g)+" ("+b[0]+")");Rl(a);break}a.Z("breakpoint exists: "+pm(g)+" ("+b[0]+")");break}}return e}function rm(a,b){for(var c=1;c=b&&f>g.Eb].$d(f&g.rb,d==a.Zc)}}}function lm(a,b){if(void 0!==b)mm(a,b,a.Ac,!0),a.uc=0;else for(var c=1;c=Wl.length&&(n=a.xb(b,1),g=bm[h-Wl.length][n>>3&7]);var h=Wl[g[0]],l=2,t="";if(164<=f&&167>=f||170<=f&&175>=f)l=0;for(f=1;f<=l;f++){var s="",u=g[f];if(void 0!==u){var x=u&15;if(0!=x&&15!=x){var v=u&240;if(128<=v)if(0>n&&(n=a.xb(b,1)),160<=v)a:{s=n>>3&7;if(176==(u&240)){if(4<=s){s=null;break a}s+=16}else 3<=(u&15)&&(s+=8);s=X[s]}else{if(128<=v){var s=a,v=u,u=b,C="",x=n>>6, +C=n&7;3>x?(v=void 0,x||6!=C?(C=Xl[C],1==x?(v=s.xb(u,1),v&128?(v=v<<24>>24,C+="-"+q(-v)):C+="+"+q(v)):2==x&&(v=s.ra(u,2),C+="+"+r(v))):(v=s.ra(u,2),C=r(v)),C="["+C+"]"):C=X[C+(1==(v&15)?0:8)];s=C}}else if(16==v)s="1";else if(0==v){s=a;x=u;u=b;v=" ";switch(x&15){case 1:x&12288&&(v=q(s.xb(u,1)));break;case 2:v=r(s.xb(u,1)<<24>>24);break;case 3:case 4:v=r(s.ra(u,2));break;case 6:x=s.ra(u,2);s=s.ra(u,2);v=pm([x,s,void 0]);break;default:v="imm("+r(x)+")"}s=v}else 32==v?s="["+r(a.ra(b,2))+"]":48==v?(1== +x?(s=a.xb(b,1),s=s<<24>>24):s=a.ra(b,2),s=b[0]+s&65535,s=tm(a,[s,b[1],void 0])[0]||r(s)):96==v?s=X[(u&3840)>>8]:112==v?s=X[((u&3840)>>8)+16]:64==v?s="DS:[SI]":80==v&&(s="ES:[DI]");if(!s||!s.length){t="INVALID";break}0>>4),d[0]=g,d[1]=h,void 0!==n.p&&(d[2]=n.p));break}}if(d&&d.length)return d;d=b.indexOf(":");0>d?null!=e?(c=dm(a,b),d=null):d=dm(a,b):(e=dm(a,b.substring(0,d)),c=dm(a,b.substring(d+1)), d=null)}return[c,e,d]} -function Bm(a,b,c){var d;if(void 0!==b)switch(b=b.toUpperCase(),b){case "AX":d=a.T.H;break;case "BX":d=a.T.C;break;case "CX":d=a.T.J;break;case "DX":d=a.T.K;break;case "SI":d=a.T.G;break;case "DI":d=a.T.F;break;case "BP":d=a.T.I;break;case "SP":d=a.T.Y;break;case "CS":d=a.T.va.ta;break;case "DS":d=a.T.fb.ta;break;case "ES":d=a.T.La.ta;break;case "SS":d=a.T.Ya.ta;break;case "IP":d=a.T.wa;break;default:d=da(b),void 0===d&&a.Z("invalid "+(c?c:"value")+": "+b)}else a.Z("missing "+(c||"value"));return d} -function Tj(a,b,c,d){function e(a,b){return a[0]>b[0]?1:a[0]=g&&eb[0]?1:a[0]c?(a.Z("out of data at address "+Nm(b)),t=!0):(a.Rd(b,c,1),l++)})})(a,g);a.Z(l+" bytes read at "+c)}else a.Z("sector "+e+" request out of range");else a.Z("drive "+d+" not loaded");else a.Z("invalid drive: "+d)}else a.Z("disk controller not present")}}} -function Hm(a,b,c){if(b&&"?"==b[1])a.Z("\nregister commands:"),a.Z("\tr\t\tdisplay all registers"),a.Z("\tr [target=#]\tmodify target register"),a.Z("supported targets:"),a.Z("\tall registers and flags V,D,I,S,Z,A,P,C");else{var d;if(null!=b&&1b[0]?1:a[0]=g&&eb[0]?1:a[0]c?(a.Z("out of data at address "+pm(b)),t=!0):(a.Rd(b,c,1),l++)})})(a,g);a.Z(l+" bytes read at "+c)}else a.Z("sector "+e+" request out of range");else a.Z("drive "+d+" not loaded");else a.Z("invalid drive: "+d)}else a.Z("disk controller not present")}}} +function jm(a,b,c){if(b&&"?"==b[1])a.Z("\nregister commands:"),a.Z("\tr\t\tdisplay all registers"),a.Z("\tr [target=#]\tmodify target register"),a.Z("supported targets:"),a.Z("\tall registers and flags V,D,I,S,Z,A,P,C");else{var d;if(null!=b&&1a.Uc&&a.Pc.length&&(a.Uc=0);if(0>a.Uc||b!=a.Pc[a.Uc])a.Pc.splice(0,0,b),a.Uc=0;a.Uc--}else b=a.Pc[a.Uc+1];a=b?b.split(0<=b.indexOf("|")?"|":";"):[""];for(var d in a)a[d]=la(a[d]);return a} -function qm(a,b){var c=!0;try{if(b.length||(a.rf?(a.Z("ended assemble @"+Nm(a.ze)),a.Oc=a.ze,a.rf=!1):b="?"),b=b.toLowerCase(),fb(a)&&0d||"z">>4);var Wb=U[Q].l;Wb&&(Q=Wb);a.Z(ea(Ia,bb)+" "+Q)}}}else{for(v in vm)if(l==v){var Lc=a.oi[v];Lc?Lc(x):a.Z("no dump registered for "+l);break a}var E=Vm(a,l,2);if(null!=E[0]){var R=0,I="dw"==u;void 0!==x&&("l"==x.charAt(0)&&(x=x.substr(1)),(R=parseInt(x, -10))&&(R=I?R+7>>3:R+15>>4));var qa="";R||(R=8);for(g=0;gca;ca++){var Z=a.xb(E,1);I?ca&1&&(x+=r(ka|Z<<8)+(7==ca?" - ":" ")):x+=q(Z)+(7==ca?"-":" ");Ca+=32<=Z&&128>Z?String.fromCharCode(Z):".";ka=Z}qa&&(qa+="\n");qa+=l+" "+x+" "+Ca}qa&&a.Z(qa);a.ok=E}}}break;case "e":var Mc=g[1];if(void 0===Mc)a.Z("missing address");else{var qc=Vm(a,Mc,2);if(null!=qc[0])for(l=2;lca.length&&(a.Z("note: only "+ca.length+" available"),Va=ca.length);ka-=Va;0>ka&&(null!=ca[ca.length-1][1]?ka+=ca.length:(Va=ka+Va,ka=0)); -for(void 0!==Ca&&a.Z(Va+" instructions earlier:");E&&ka!=a.yf;){var tc=ca[ka];if(null==tc[1])break;tc=[tc[0],tc[1],tc[2]];a.Z(Qm(a,tc,"history",-Va));++ka==ca.length&&(ka=0);a.hm=--Va;E--}}10==E&&(a.Z("no "+l+"history available"),a.hm=void 0)}break;case "i":var ff=g[1];if(ff&&"?"!=ff){var gf=Bm(a,ff);if(void 0!==gf){var rn=yb(a.sa,gf);a.Z(r(gf)+": "+q(rn))}}else a.Z("\ninput commands:"),a.Z("\ti [p]\tread port [p]"),a.Z("warning: port accesses can affect hardware state");break;case "l":Zm(a,g);break; -case "m":a:{l=null;I=g[1];"?"==I&&(I=void 0);if(void 0!==I){E=0;if("all"==I)E=4294967295&~(qf|268435456),I=null;else if("on"==I)l=!0,I=null;else if("off"==I)l=!1,I=null;else{"keys"==I&&(I="key");"kbd"==I&&(I="keyboard");for(R in vm)if(I==R){E=vm[R];l=!!(a.Zb&E);break}if(!E){a.Z("unknown message category: "+I);break a}}E&&("on"==g[2]?(a.Zb|=E,l=!0):"off"==g[2]&&(a.Zb&=~E,l=!1))}E=0;Z="";for(R in vm)if(!I||I==R)if(qa=!!(a.Zb&vm[R]),null===l||l==qa)Z&&(Z+=","),++E%10||(Z+="\n\t"),"key"==R&&(R="keys"), -Z+=R;void 0===I&&a.Z("\nmessage commands:\n\tm [category] [on|off]\tturn categories on/off");a.Z((null!==l?l?"messages on: ":"messages off: ":"message categories:\n\t")+(Z||"none"))}break;case "o":var hf=g[1],sn=g[2];if(hf&&"?"!=hf){var Kk=Bm(a,hf,"port #"),Lk=Bm(a,sn);void 0!==Kk&&void 0!==Lk&&Cb(a.sa,Kk,Lk)}else a.Z("\noutput commands:"),a.Z("\to [p] [d]\twrite data [d] to port [p]"),a.Z("warning: port accesses can affect hardware state");break;case "p":case "pr":var Mk="pr"==g[0]?1:0,l=1+Mk;if(a.uc)a.Z("step in progress"); -else{var Td,E=!1,Wa=[a.T.wa,a.T.va.ta,void 0];do switch(Td=!1,a.xb(Wa)){case 38:case 46:case 54:case 62:case 240:Mm(Wa,1);Td=!0;break;case 204:case 206:a.uc=l;Mm(Wa,1);break;case 205:case 224:case 225:case 226:a.uc=l;Mm(Wa,2);break;case 232:a.uc=l;Mm(Wa,3);break;case 154:a.uc=l;Mm(Wa,5);break;case 255:a.uc=0<=Qm(a,Wa).indexOf("CALL")?l:0;break;case 243:case 242:Mm(Wa,1);E=Td=!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:E&& -(a.uc=l,Mm(Wa,1))}while(Td);a.uc?(a.$d(a.Ac,Wa,!0),a.Ze()||(a.T.Mc(),a.uc=0)):$m(a,Mk?"tr":"t")}break;case "r":Hm(a,g);break;case "t":case "tr":$m(a,g[0],g[1]);break;case "u":Im(a,g[1],g[2],8);break;case "x":a:if(void 0===g[1]||"?"==g[1])a.Z("\nexecution options:"),a.Z("\tcs int #\tset checksum cycle interval to #"),a.Z("\tcs start #\tset checksum cycle start count to #"),a.Z("\tcs stop #\tset checksum cycle stop count to #"),a.Z("\tsp #\t\tset speed multiplier to #");else switch(g[1]){case "cs":var Sc; -void 0!==g[3]&&(Sc=parseInt(g[3],10));switch(g[2]){case "int":a.T.da.Cf=Sc;break;case "start":a.T.da.sg=Sc;break;case "stop":a.T.da.Ef=Sc;break;default:a.Z("unknown cs option");break a}void 0!==Sc&&Rb(a.T);a.Z("checksums "+(a.T.na.sf?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&Yb(a.T,parseInt(g[2],10));a.Z("target speed: "+(a.T.da.Ue.toFixed(2)+"Mhz")+" ("+a.T.da.Od+"x)");break;default:a.Z("unknown option: "+g[1])}break;case "?":var l="commands:",Ud;for(Ud in sm)l+="\n"+Ud+" ".substr(0, -7-Ud.length)+sm[Ud];Pd(a)||(l+="\nnote: frequency/history disabled if no exec breakpoints");a.Z(l);break;default:a.Z("unknown command: "+b),c=!1}}}catch(tn){a.Z("debugger sad: "+tn.message),c=!1}return c}Ja(function(){for(var a=z(window.document,"pcjs","debugger"),b=0;bfn){if(d.load(this.Og)){this.cf=new sd(this,"1.16.3","failsafe");this.cf.load()&&(kn(this,d),a=2,cn(this.cf));this.cf.set("timestamp",pa());dn(this.cf);var e=this.Wc&&!this.Dh;if(1==a||ua("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"== -f&&"no machine state"!=g?(this.Ia("Error: "+g),"unable to verify user"==g&&(ya("user",""),this.Xc=null)):this.Z(f+": "+g),cn(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&jn(this,c?d:null)}else 2==a&&d.clear()}else jn(this);delete this.Og;delete this.fi}e=Xa(this.id);for(f=0;fa[1];a=a[2];this.na.Sb=!0;this.Nk||(this.Z("PCjs v1.16.3\nCopyright \u00a9 2012-2014 Jeff Parsons \nLicense: GPL version 3 or later "),this.Nk=!0);this.T&&ln(this,this.T,b,c,a);this.Qk&&(kn(this,b),b.clear());!c&&this.cf&&(this.cf.clear(),delete this.cf)}; -function kn(a,b){if(ua("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.le(),d=b.toString(),e={app:"PCjs",ver:"1.16.3"};e.url=a.url;e.user=c;e.type="bug";e.data=d;sa("http://www.pcjs.org/api/v1/report",!0,e)}} -function an(a,b,c){var d,e="none",f=new sd(a,"1.16.3"),g=new sd(a,"1.16.3","validate"),h=pa();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.16.3");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.T&&a.T.ec&&(c&&a.T.Ib(),d=a.T.ec(b,c),"object"===typeof d&&f.set(a.T.id,d),c&&(a.T.na.Sb=!1,!1===d&&(e=null)));for(var h=Xa(a.id),n=0;na.Uc&&a.Pc.length&&(a.Uc=0);if(0>a.Uc||b!=a.Pc[a.Uc])a.Pc.splice(0,0,b),a.Uc=0;a.Uc--}else b=a.Pc[a.Uc+1];a=b?b.split(0<=b.indexOf("|")?"|":";"):[""];for(var d in a)a[d]=la(a[d]);return a} +function Tl(a,b){var c=!0;try{if(b.length||(a.rf?(a.Z("ended assemble @"+pm(a.ze)),a.Oc=a.ze,a.rf=!1):b="?"),b=b.toLowerCase(),eb(a)&&0d||"z">>4);var Qb=T[P].l;Qb&&(P=Qb);a.Z(ea(Ga,$a)+" "+P)}}}else{for(v in Yl)if(l==v){var Cc=a.oi[v];Cc?Cc(x):a.Z("no dump registered for "+l);break a}var E=xm(a,l,2);if(null!=E[0]){var Q=0,I="dw"==u;void 0!==x&&("l"==x.charAt(0)&&(x=x.substr(1)),(Q=parseInt(x, +10))&&(Q=I?Q+7>>3:Q+15>>4));var oa="";Q||(Q=8);for(g=0;gaa;aa++){var Y=a.xb(E,1);I?aa&1&&(x+=r(ia|Y<<8)+(7==aa?" - ":" ")):x+=q(Y)+(7==aa?"-":" ");Aa+=32<=Y&&128>Y?String.fromCharCode(Y):".";ia=Y}oa&&(oa+="\n");oa+=l+" "+x+" "+Aa}oa&&a.Z(oa);a.ok=E}}}break;case "e":var Dc=g[1];if(void 0===Dc)a.Z("missing address");else{var jc=xm(a,Dc,2);if(null!=jc[0])for(l=2;laa.length&&(a.Z("note: only "+aa.length+" available"),Ta=aa.length);ia-=Ta;0>ia&&(null!=aa[aa.length-1][1]?ia+=aa.length:(Ta=ia+Ta,ia=0)); +for(void 0!==Aa&&a.Z(Ta+" instructions earlier:");E&&ia!=a.yf;){var lc=aa[ia];if(null==lc[1])break;lc=[lc[0],lc[1],lc[2]];a.Z(sm(a,lc,"history",-Ta));++ia==aa.length&&(ia=0);a.hm=--Ta;E--}}10==E&&(a.Z("no "+l+"history available"),a.hm=void 0)}break;case "i":var Me=g[1];if(Me&&"?"!=Me){var Ne=dm(a,Me);if(void 0!==Ne){var Tm=xb(a.sa,Ne);a.Z(r(Ne)+": "+q(Tm))}}else a.Z("\ninput commands:"),a.Z("\ti [p]\tread port [p]"),a.Z("warning: port accesses can affect hardware state");break;case "l":Bm(a,g);break; +case "m":a:{l=null;I=g[1];"?"==I&&(I=void 0);if(void 0!==I){E=0;if("all"==I)E=-1342177281,I=null;else if("on"==I)l=!0,I=null;else if("off"==I)l=!1,I=null;else{"keys"==I&&(I="key");"kbd"==I&&(I="keyboard");for(Q in Yl)if(I==Q){E=Yl[Q];l=!!(a.Zb&E);break}if(!E){a.Z("unknown message category: "+I);break a}}E&&("on"==g[2]?(a.Zb|=E,l=!0):"off"==g[2]&&(a.Zb&=~E,l=!1))}E=0;Y="";for(Q in Yl)if(!I||I==Q)if(oa=!!(a.Zb&Yl[Q]),null===l||l==oa)Y&&(Y+=","),++E%10||(Y+="\n\t"),"key"==Q&&(Q="keys"),Y+=Q;void 0=== +I&&a.Z("\nmessage commands:\n\tm [category] [on|off]\tturn categories on/off");a.Z((null!==l?l?"messages on: ":"messages off: ":"message categories:\n\t")+(Y||"none"))}break;case "o":var Oe=g[1],Um=g[2];if(Oe&&"?"!=Oe){var mk=dm(a,Oe,"port #"),nk=dm(a,Um);void 0!==mk&&void 0!==nk&&Bb(a.sa,mk,nk)}else a.Z("\noutput commands:"),a.Z("\to [p] [d]\twrite data [d] to port [p]"),a.Z("warning: port accesses can affect hardware state");break;case "p":case "pr":var ok="pr"==g[0]?1:0,l=1+ok;if(a.uc)a.Z("step in progress"); +else{var Ed,E=!1,Ua=[a.T.wa,a.T.va.ta,void 0];do switch(Ed=!1,a.xb(Ua)){case 38:case 46:case 54:case 62:case 240:om(Ua,1);Ed=!0;break;case 204:case 206:a.uc=l;om(Ua,1);break;case 205:case 224:case 225:case 226:a.uc=l;om(Ua,2);break;case 232:a.uc=l;om(Ua,3);break;case 154:a.uc=l;om(Ua,5);break;case 255:a.uc=0<=sm(a,Ua).indexOf("CALL")?l:0;break;case 243:case 242:om(Ua,1);E=Ed=!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:E&& +(a.uc=l,om(Ua,1))}while(Ed);a.uc?(a.$d(a.Ac,Ua,!0),a.Ze()||(a.T.Mc(),a.uc=0)):Cm(a,ok?"tr":"t")}break;case "r":jm(a,g);break;case "t":case "tr":Cm(a,g[0],g[1]);break;case "u":km(a,g[1],g[2],8);break;case "x":a:if(void 0===g[1]||"?"==g[1])a.Z("\nexecution options:"),a.Z("\tcs int #\tset checksum cycle interval to #"),a.Z("\tcs start #\tset checksum cycle start count to #"),a.Z("\tcs stop #\tset checksum cycle stop count to #"),a.Z("\tsp #\t\tset speed multiplier to #");else switch(g[1]){case "cs":var Jc; +void 0!==g[3]&&(Jc=parseInt(g[3],10));switch(g[2]){case "int":a.T.da.Cf=Jc;break;case "start":a.T.da.sg=Jc;break;case "stop":a.T.da.Ef=Jc;break;default:a.Z("unknown cs option");break a}void 0!==Jc&&Ob(a.T);a.Z("checksums "+(a.T.ma.sf?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&Vb(a.T,parseInt(g[2],10));a.Z("target speed: "+(a.T.da.Ue.toFixed(2)+"Mhz")+" ("+a.T.da.Od+"x)");break;default:a.Z("unknown option: "+g[1])}break;case "?":var l="commands:",Fd;for(Fd in Vl)l+="\n"+Fd+" ".substr(0, +7-Fd.length)+Vl[Fd];Nd(a)||(l+="\nnote: frequency/history disabled if no exec breakpoints");a.Z(l);break;default:a.Z("unknown command: "+b),c=!1}}}catch(Vm){a.Z("debugger sad: "+Vm.message),c=!1}return c}Ja(function(){for(var a=A(window.document,"pcjs","debugger"),b=0;bIm){if(d.load(this.Og)){this.cf=new od(this,"1.16.4","failsafe");this.cf.load()&&(Mm(this,d),a=2,Fm(this.cf));this.cf.set("timestamp",qa());Gm(this.cf);var e=this.Wc&&!this.Dh;if(1==a||ua("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"== +f&&"no machine state"!=g?(this.Ia("Error: "+g),"unable to verify user"==g&&(ya("user",""),this.Xc=null)):this.Z(f+": "+g),Fm(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&Lm(this,c?d:null)}else 2==a&&d.clear()}else Lm(this);delete this.Og;delete this.fi}e=Xa(this.id);for(f=0;fa[1];a=a[2];this.ma.Sb=!0;this.Nk||(this.Z("PCjs v1.16.4\nCopyright \u00a9 2012-2014 Jeff Parsons \nLicense: GPL version 3 or later "),this.Nk=!0);this.T&&Nm(this,this.T,b,c,a);this.Qk&&(Mm(this,b),b.clear());!c&&this.cf&&(this.cf.clear(),delete this.cf)}; +function Mm(a,b){if(ua("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.le(),d=b.toString(),e={app:"PCjs",ver:"1.16.4"};e.url=a.url;e.user=c;e.type="bug";e.data=d;sa("http://www.pcjs.org/api/v1/report",!0,e)}} +function Dm(a,b,c){var d,e="none",f=new od(a,"1.16.4"),g=new od(a,"1.16.4","validate"),h=qa();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.16.4");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.T&&a.T.ec&&(c&&a.T.Ib(),d=a.T.ec(b,c),"object"===typeof d&&f.set(a.T.id,d),c&&(a.T.ma.Sb=!1,!1===d&&(e=null)));for(var h=Xa(a.id),n=0;nh.indexOf("/")&&(h=window.location.pathname+h);a=a.replace(/(]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(h?" url=$2"+h+"$2":""))}h=null;if("<"==a.charAt(0))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/\s*/g,"")),h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(s){h= -null,a=s.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");sa(e,!0,null,null,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 n=h[0],l,t=/( [a-z]+=)(['"])(.*?)\2/g;l=t.exec(f);)n=0>n.indexOf(l[1])?n.replace(">",l[0]+">"):n.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);h[0]!=n&&(g=g.replace(h[0],n))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);un(a,b,c)}})}else c(a,null)} -function vn(a,b,c,d){function e(a){if(void 0===h){var b=g&&z(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ia(a))}function f(a){e("Error: "+a);n&&(--on||La(!0));n=!1}var g,h,n=!0;on++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.16.3/components.xsl");var l=function(a,d){if(d){var h=function(a,h){if(h)if(h)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=d.transformNode(h);l?(g.outerHTML=l,--on||La(!0)):f("transformNodeToObject failed")}else window.document.implementation&& -window.document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(h),(l=l.transformToFragment(d,window.document))?(g.parentNode.replaceChild(l,g),--on||La(!0)):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(a)};d?pn(c,null,null,!1,e,h):f("failed to load XML file: "+b)}else f(a)};"<"!=b.charAt(0)?pn(b,a,d,!0,e,l):qn(b,null,a,d,!1,e,l)}else f("failed to find machine element: "+a)}catch(t){f(t.message)}return n} -window.embedPC=function(a,b,c,d){La(!1);return vn(a,b,c,d)};window.enableEvents=La;window.sendEvent=Ma;})(); +k.Hb=function(a,b,c){var d=this;switch(b){case "save":return this.xa[b]=c,c.onclick=function(){var a=Jm(d,!0);if(a){var b=!(!d.Wc||d.ci),c=Dm(d,b);b?Om(d,a,c):d.Ia("Resume disabled, machine state not saved")}},!0;case "reset":return this.xa[b]=c,c.onclick=function(){Ub(d)},!0}return!1}; +function Jm(a,b){var c=a.Xc;c||(c=xa("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("To save machine states on the pcjs.org server, you need a user ID (email support@pcjs.org).\n\nOnce you have an ID, enter it below.","")),c&&((c=Pm(a,c))||a.Ia("Your user ID has not been approved."))):b&&a.Ia("Browser local storage is not available"));return c} +function Pm(a,b){a.Xc=null;var c=sa(ta()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(ya("user",c.data),a.Xc=c.data)}catch(e){w(e.message+" ("+d+")")}return a.Xc} +function Om(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Em(a,"1.16.4");d.data=c;b=sa(ta()+"/api/v1/user",!1,d);d=b[1];if(b[0]){if(d){var e=d.indexOf("\n");0h.indexOf("/")&&(h=window.location.pathname+h);a=a.replace(/(]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(h?" url=$2"+h+"$2":""))}h=null;if("<"==a.charAt(0))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/\s*/g,"")),h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(s){h= +null,a=s.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");sa(e,!0,null,null,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 n=h[0],l,t=/( [a-z]+=)(['"])(.*?)\2/g;l=t.exec(f);)n=0>n.indexOf(l[1])?n.replace(">",l[0]+">"):n.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);h[0]!=n&&(g=g.replace(h[0],n))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],g);Wm(a,b,c)}})}else c(a,null)} +function Xm(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=ja(a))}function f(a){e("Error: "+a);n&&(--Qm||La(!0));n=!1}var g,h,n=!0;Qm++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.16.4/components.xsl");var l=function(a,d){if(d){var h=function(a,h){if(h)if(h)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=d.transformNode(h);l?(g.outerHTML=l,--Qm||La(!0)):f("transformNodeToObject failed")}else window.document.implementation&& +window.document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(h),(l=l.transformToFragment(d,window.document))?(g.parentNode.replaceChild(l,g),--Qm||La(!0)):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(a)};d?Rm(c,null,null,!1,e,h):f("failed to load XML file: "+b)}else f(a)};"<"!=b.charAt(0)?Rm(b,a,d,!0,e,l):Sm(b,null,a,d,!1,e,l)}else f("failed to find machine element: "+a)}catch(t){f(t.message)}return n} +window.embedPC=function(a,b,c,d){La(!1);return Xm(a,b,c,d)};window.enableEvents=La;window.sendEvent=Ma;})(); diff --git a/docs/pcjs/demos/pc.js b/docs/pcjs/demos/pc.js index d1e4592fa..423569f13 100644 --- a/docs/pcjs/demos/pc.js +++ b/docs/pcjs/demos/pc.js @@ -3,7 +3,7 @@ function da(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));b&&(d=c.la function ia(){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=[31,28,31,30,31,30,31,31,30,31,30,31]; function ka(a,b,c,d,e,f){b=!!b;var g=0,h=null,m=da(a),n=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");b&&(n.onreadystatechange=function(){4===n.readyState&&(h=n.responseText,200==n.status||!n.status&&h.length&&"file:"==(window?window.location.protocol:"file:")||(g=n.status||-1),e&&(d?e.call(d,m,h,g,f):e(m,h,g,f)))});if(c){var r="",t;for(t in c)c.hasOwnProperty(t)&&(r&&(r+="&"),r+=t+"="+encodeURIComponent(c[t]));r=r.replace(/%20/g,"+");n.open("POST", a,b);n.setRequestHeader("Content-type","application/x-www-form-urlencoded");n.send(r)}else n.open("GET",a,b),n.send();a=[];b||(h=n.responseText,200!=n.status&&(g=n.status||-1),e&&(d?e.call(d,m,h,g,f):e(m,h,g,f)),a=[g,h]);return a}function la(){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;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;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 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;bthis.ha){switch(this.qg&7){case 0:this.H=this.H&-256|a;bre function pe(a,b){if(0>this.ha){switch(this.qg&7){case 0:this.H=a;break;case 1:this.J=a;break;case 2:this.K=a;break;case 3:this.C=a;break;case 4:this.X=a;break;case 5:this.I=a;break;case 6:this.G=a;break;case 7:this.F=a}this.A-=this.B.aj}else this.Ja=this.ha,this.S(a),this.A-=this.B.$i;return b}function qe(a){a|=this.hc&1;this.hc=this.hc&65520|a&-65521;this.hc&1&&yc(this,!0)}function Yd(a,b){var c=this.xa.ya,d=this.ta;null!=Vb(this,a,b,!0)&&(G(this,c),G(this,d))} function re(a){var b=this.Ia(),c=this.Ia();a&&(this.X=this.X+a&65535);Vb(this,b,c,!1)&&(a&&(this.X=this.X+a&65535),this.vb.ya&65528&&this.vb.lcthis.Xg)J(this,this.Tf-this.xa.Ka),d=!0;else if(8!=this.Xg)b=0,a=8,d=!0;else{se.call(this,-1,0,c);xc(this);return}se.call(this,a,b,c)&&(d=!1);d&&bd.call(this,this.Xg=a,b,0);this.Z&=-4}else this.dc("Fault "+p(a,2)+" blocked by Debugger",te),J(this,this.Tf-this.xa.Ka)} -function se(a,b,c){var d=ue,e=ab(this.qa,this.Ba);204==e&&(c=!1,d|=ve);983040<=this.Ba&&1048575>=this.Ba&&(c=!1);c&&(a=(c?"\n":"")+"Fault "+p(a,2)+(null!=b?" ("+p(b,4)+")":"")+" on opcode 0x"+p(e,2)+" at "+ca(this.ta,this.xa.ya)+" (%"+p(this.Ba,6)+")",b=this.ma.Fb,this.dc(a,d)?c&&(c=b,qb(this.Sa)):(this.Aa(a),qb(this)));return c}function we(a){a=a.call(this,this.H&255,this.H&255);this.H=this.H&-256|a}function xe(a){a=a.call(this,this.H&255,this.J&255);this.H=this.H&-256|a} -function ye(a){a=a.call(this,this.H&255,this.K&255);this.H=this.H&-256|a}function ze(a){a=a.call(this,this.H&255,this.C&255);this.H=this.H&-256|a}function Ae(a){a=a.call(this,this.H&255,this.H>>8);this.H=this.H&-256|a}function Be(a){a=a.call(this,this.H&255,this.J>>8);this.H=this.H&-256|a}function Ce(a){a=a.call(this,this.H&255,this.K>>8);this.H=this.H&-256|a}function De(a){a=a.call(this,this.H&255,this.C>>8);this.H=this.H&-256|a} -function Ee(a){a=a.call(this,this.J&255,this.H&255);this.J=this.J&-256|a}function Fe(a){a=a.call(this,this.J&255,this.J&255);this.J=this.J&-256|a}function Ge(a){a=a.call(this,this.J&255,this.K&255);this.J=this.J&-256|a}function He(a){a=a.call(this,this.J&255,this.C&255);this.J=this.J&-256|a}function Ie(a){a=a.call(this,this.J&255,this.H>>8);this.J=this.J&-256|a}function Je(a){a=a.call(this,this.J&255,this.J>>8);this.J=this.J&-256|a} -function Ke(a){a=a.call(this,this.J&255,this.K>>8);this.J=this.J&-256|a}function Le(a){a=a.call(this,this.J&255,this.C>>8);this.J=this.J&-256|a}function Me(a){a=a.call(this,this.K&255,this.H&255);this.K=this.K&-256|a}function Ne(a){a=a.call(this,this.K&255,this.J&255);this.K=this.K&-256|a}function Oe(a){a=a.call(this,this.K&255,this.K&255);this.K=this.K&-256|a}function Pe(a){a=a.call(this,this.K&255,this.C&255);this.K=this.K&-256|a} -function Qe(a){a=a.call(this,this.K&255,this.H>>8);this.K=this.K&-256|a}function Re(a){a=a.call(this,this.K&255,this.J>>8);this.K=this.K&-256|a}function Se(a){a=a.call(this,this.K&255,this.K>>8);this.K=this.K&-256|a}function Te(a){a=a.call(this,this.K&255,this.C>>8);this.K=this.K&-256|a}function Ue(a){a=a.call(this,this.C&255,this.H&255);this.C=this.C&-256|a}function Ve(a){a=a.call(this,this.C&255,this.J&255);this.C=this.C&-256|a} -function We(a){a=a.call(this,this.C&255,this.K&255);this.C=this.C&-256|a}function Xe(a){a=a.call(this,this.C&255,this.C&255);this.C=this.C&-256|a}function Ye(a){a=a.call(this,this.C&255,this.H>>8);this.C=this.C&-256|a}function Ze(a){a=a.call(this,this.C&255,this.J>>8);this.C=this.C&-256|a}function $e(a){a=a.call(this,this.C&255,this.K>>8);this.C=this.C&-256|a}function af(a){a=a.call(this,this.C&255,this.C>>8);this.C=this.C&-256|a} -function bf(a){a=a.call(this,this.H>>8,this.H&255);this.H=this.H&255|a<<8}function cf(a){a=a.call(this,this.H>>8,this.J&255);this.H=this.H&255|a<<8}function df(a){a=a.call(this,this.H>>8,this.K&255);this.H=this.H&255|a<<8}function ef(a){a=a.call(this,this.H>>8,this.C&255);this.H=this.H&255|a<<8}function ff(a){a=a.call(this,this.H>>8,this.H>>8);this.H=this.H&255|a<<8}function gf(a){a=a.call(this,this.H>>8,this.J>>8);this.H=this.H&255|a<<8} -function hf(a){a=a.call(this,this.H>>8,this.K>>8);this.H=this.H&255|a<<8}function jf(a){a=a.call(this,this.H>>8,this.C>>8);this.H=this.H&255|a<<8}function kf(a){a=a.call(this,this.J>>8,this.H&255);this.J=this.J&255|a<<8}function lf(a){a=a.call(this,this.J>>8,this.J&255);this.J=this.J&255|a<<8}function mf(a){a=a.call(this,this.J>>8,this.K&255);this.J=this.J&255|a<<8}function nf(a){a=a.call(this,this.J>>8,this.C&255);this.J=this.J&255|a<<8} -function of(a){a=a.call(this,this.J>>8,this.H>>8);this.J=this.J&255|a<<8}function pf(a){a=a.call(this,this.J>>8,this.J>>8);this.J=this.J&255|a<<8}function qf(a){a=a.call(this,this.J>>8,this.K>>8);this.J=this.J&255|a<<8}function rf(a){a=a.call(this,this.J>>8,this.C>>8);this.J=this.J&255|a<<8}function sf(a){a=a.call(this,this.K>>8,this.H&255);this.K=this.K&255|a<<8}function tf(a){a=a.call(this,this.K>>8,this.J&255);this.K=this.K&255|a<<8} -function uf(a){a=a.call(this,this.K>>8,this.K&255);this.K=this.K&255|a<<8}function vf(a){a=a.call(this,this.K>>8,this.C&255);this.K=this.K&255|a<<8}function wf(a){a=a.call(this,this.K>>8,this.H>>8);this.K=this.K&255|a<<8}function xf(a){a=a.call(this,this.K>>8,this.J>>8);this.K=this.K&255|a<<8}function yf(a){a=a.call(this,this.K>>8,this.K>>8);this.K=this.K&255|a<<8}function zf(a){a=a.call(this,this.K>>8,this.C>>8);this.K=this.K&255|a<<8} -function Af(a){a=a.call(this,this.C>>8,this.H&255);this.C=this.C&255|a<<8}function Bf(a){a=a.call(this,this.C>>8,this.J&255);this.C=this.C&255|a<<8}function Cf(a){a=a.call(this,this.C>>8,this.K&255);this.C=this.C&255|a<<8}function Df(a){a=a.call(this,this.C>>8,this.C&255);this.C=this.C&255|a<<8}function Ef(a){a=a.call(this,this.C>>8,this.H>>8);this.C=this.C&255|a<<8}function Ff(a){a=a.call(this,this.C>>8,this.J>>8);this.C=this.C&255|a<<8} -function Gf(a){a=a.call(this,this.C>>8,this.K>>8);this.C=this.C&255|a<<8}function Hf(a){a=a.call(this,this.C>>8,this.C>>8);this.C=this.C&255|a<<8}function If(a){this.H=a.call(this,this.H,this.H)}function Jf(a){this.H=a.call(this,this.H,this.J)}function Kf(a){this.H=a.call(this,this.H,this.K)}function Lf(a){this.H=a.call(this,this.H,this.C)}function Mf(a){this.H=a.call(this,this.H,this.X)}function Nf(a){this.H=a.call(this,this.H,this.I)}function Of(a){this.H=a.call(this,this.H,this.G)} -function Pf(a){this.H=a.call(this,this.H,this.F)}function Qf(a){this.J=a.call(this,this.J,this.H)}function Rf(a){this.J=a.call(this,this.J,this.J)}function Sf(a){this.J=a.call(this,this.J,this.K)}function Tf(a){this.J=a.call(this,this.J,this.C)}function Uf(a){this.J=a.call(this,this.J,this.X)}function Vf(a){this.J=a.call(this,this.J,this.I)}function Wf(a){this.J=a.call(this,this.J,this.G)}function Xf(a){this.J=a.call(this,this.J,this.F)}function Yf(a){this.K=a.call(this,this.K,this.H)} -function Zf(a){this.K=a.call(this,this.K,this.J)}function $f(a){this.K=a.call(this,this.K,this.K)}function ag(a){this.K=a.call(this,this.K,this.C)}function bg(a){this.K=a.call(this,this.K,this.X)}function cg(a){this.K=a.call(this,this.K,this.I)}function dg(a){this.K=a.call(this,this.K,this.G)}function eg(a){this.K=a.call(this,this.K,this.F)}function fg(a){this.C=a.call(this,this.C,this.H)}function gg(a){this.C=a.call(this,this.C,this.J)}function hg(a){this.C=a.call(this,this.C,this.K)} -function ig(a){this.C=a.call(this,this.C,this.C)}function jg(a){this.C=a.call(this,this.C,this.X)}function kg(a){this.C=a.call(this,this.C,this.I)}function lg(a){this.C=a.call(this,this.C,this.G)}function mg(a){this.C=a.call(this,this.C,this.F)}function ng(a){this.X=a.call(this,this.X,this.H)}function og(a){this.X=a.call(this,this.X,this.J)}function pg(a){this.X=a.call(this,this.X,this.K)}function qg(a){this.X=a.call(this,this.X,this.C)}function rg(a){this.X=a.call(this,this.X,this.X)} -function sg(a){this.X=a.call(this,this.X,this.I)}function tg(a){this.X=a.call(this,this.X,this.G)}function ug(a){this.X=a.call(this,this.X,this.F)}function vg(a){this.I=a.call(this,this.I,this.H)}function wg(a){this.I=a.call(this,this.I,this.J)}function xg(a){this.I=a.call(this,this.I,this.K)}function yg(a){this.I=a.call(this,this.I,this.C)}function zg(a){this.I=a.call(this,this.I,this.X)}function Ag(a){this.I=a.call(this,this.I,this.I)}function Bg(a){this.I=a.call(this,this.I,this.G)} -function Cg(a){this.I=a.call(this,this.I,this.F)}function Dg(a){this.G=a.call(this,this.G,this.H)}function Eg(a){this.G=a.call(this,this.G,this.J)}function Fg(a){this.G=a.call(this,this.G,this.K)}function Gg(a){this.G=a.call(this,this.G,this.C)}function Hg(a){this.G=a.call(this,this.G,this.X)}function Ig(a){this.G=a.call(this,this.G,this.I)}function Jg(a){this.G=a.call(this,this.G,this.G)}function Kg(a){this.G=a.call(this,this.G,this.F)}function Lg(a){this.F=a.call(this,this.F,this.H)} -function Mg(a){this.F=a.call(this,this.F,this.J)}function Ng(a){this.F=a.call(this,this.F,this.K)}function Og(a){this.F=a.call(this,this.F,this.C)}function Pg(a){this.F=a.call(this,this.F,this.X)}function Qg(a){this.F=a.call(this,this.F,this.I)}function Rg(a){this.F=a.call(this,this.F,this.G)}function Sg(a){this.F=a.call(this,this.F,this.F)} -var Tg=[function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.H&255);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.H&255);this.R(a);this.A-=this.B.ga},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.H&255);this.R(a);this.A-=this.B.ga},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.H&255);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.D,this.G),this.H&255);this.R(a);this.A-=this.B.aa}, +function C(a,b,c){if(this.ma.vf){var d=!1;if(80186<=this.Ha)if(0>this.Xg)J(this,this.Tf-this.xa.Ka),d=!0;else if(8!=this.Xg)b=0,a=8,d=!0;else{se.call(this,-1,0,c);xc(this);return}se.call(this,a,b,c)&&(d=!1);d&&bd.call(this,this.Xg=a,b,0);this.Z&=-4}else this.dc("Fault "+p(a,2)+" blocked by Debugger",536870912),J(this,this.Tf-this.xa.Ka)} +function se(a,b,c){var d=32,e=ab(this.qa,this.Ba);204==e&&(c=!1,d|=1);983040<=this.Ba&&1048575>=this.Ba&&(c=!1);c&&(a=(c?"\n":"")+"Fault "+p(a,2)+(null!=b?" ("+p(b,4)+")":"")+" on opcode 0x"+p(e,2)+" at "+ca(this.ta,this.xa.ya)+" (%"+p(this.Ba,6)+")",b=this.ma.Fb,this.dc(a,d)?c&&(c=b,qb(this.Sa)):(this.Aa(a),qb(this)));return c}function H(){C.call(this,6);qb(this)} +function L(){J(this,this.Tf-this.xa.Ka);var a=ab(this.qa,this.Ba);Pa(this,"Undefined opcode 0x"+p(a,2)+" at "+ca(this.ta,this.xa.ya));qb(this)}function te(a){a=a.call(this,this.H&255,this.H&255);this.H=this.H&-256|a}function ue(a){a=a.call(this,this.H&255,this.J&255);this.H=this.H&-256|a}function ve(a){a=a.call(this,this.H&255,this.K&255);this.H=this.H&-256|a}function we(a){a=a.call(this,this.H&255,this.C&255);this.H=this.H&-256|a} +function xe(a){a=a.call(this,this.H&255,this.H>>8);this.H=this.H&-256|a}function ye(a){a=a.call(this,this.H&255,this.J>>8);this.H=this.H&-256|a}function ze(a){a=a.call(this,this.H&255,this.K>>8);this.H=this.H&-256|a}function Ae(a){a=a.call(this,this.H&255,this.C>>8);this.H=this.H&-256|a}function Be(a){a=a.call(this,this.J&255,this.H&255);this.J=this.J&-256|a}function Ce(a){a=a.call(this,this.J&255,this.J&255);this.J=this.J&-256|a} +function De(a){a=a.call(this,this.J&255,this.K&255);this.J=this.J&-256|a}function Ee(a){a=a.call(this,this.J&255,this.C&255);this.J=this.J&-256|a}function Fe(a){a=a.call(this,this.J&255,this.H>>8);this.J=this.J&-256|a}function Ge(a){a=a.call(this,this.J&255,this.J>>8);this.J=this.J&-256|a}function He(a){a=a.call(this,this.J&255,this.K>>8);this.J=this.J&-256|a}function Ie(a){a=a.call(this,this.J&255,this.C>>8);this.J=this.J&-256|a} +function Je(a){a=a.call(this,this.K&255,this.H&255);this.K=this.K&-256|a}function Ke(a){a=a.call(this,this.K&255,this.J&255);this.K=this.K&-256|a}function Le(a){a=a.call(this,this.K&255,this.K&255);this.K=this.K&-256|a}function Me(a){a=a.call(this,this.K&255,this.C&255);this.K=this.K&-256|a}function Ne(a){a=a.call(this,this.K&255,this.H>>8);this.K=this.K&-256|a}function Oe(a){a=a.call(this,this.K&255,this.J>>8);this.K=this.K&-256|a} +function Pe(a){a=a.call(this,this.K&255,this.K>>8);this.K=this.K&-256|a}function Qe(a){a=a.call(this,this.K&255,this.C>>8);this.K=this.K&-256|a}function Re(a){a=a.call(this,this.C&255,this.H&255);this.C=this.C&-256|a}function Se(a){a=a.call(this,this.C&255,this.J&255);this.C=this.C&-256|a}function Te(a){a=a.call(this,this.C&255,this.K&255);this.C=this.C&-256|a}function Ue(a){a=a.call(this,this.C&255,this.C&255);this.C=this.C&-256|a} +function Ve(a){a=a.call(this,this.C&255,this.H>>8);this.C=this.C&-256|a}function We(a){a=a.call(this,this.C&255,this.J>>8);this.C=this.C&-256|a}function Xe(a){a=a.call(this,this.C&255,this.K>>8);this.C=this.C&-256|a}function Ye(a){a=a.call(this,this.C&255,this.C>>8);this.C=this.C&-256|a}function Ze(a){a=a.call(this,this.H>>8,this.H&255);this.H=this.H&255|a<<8}function $e(a){a=a.call(this,this.H>>8,this.J&255);this.H=this.H&255|a<<8} +function af(a){a=a.call(this,this.H>>8,this.K&255);this.H=this.H&255|a<<8}function bf(a){a=a.call(this,this.H>>8,this.C&255);this.H=this.H&255|a<<8}function cf(a){a=a.call(this,this.H>>8,this.H>>8);this.H=this.H&255|a<<8}function df(a){a=a.call(this,this.H>>8,this.J>>8);this.H=this.H&255|a<<8}function ef(a){a=a.call(this,this.H>>8,this.K>>8);this.H=this.H&255|a<<8}function ff(a){a=a.call(this,this.H>>8,this.C>>8);this.H=this.H&255|a<<8} +function gf(a){a=a.call(this,this.J>>8,this.H&255);this.J=this.J&255|a<<8}function hf(a){a=a.call(this,this.J>>8,this.J&255);this.J=this.J&255|a<<8}function jf(a){a=a.call(this,this.J>>8,this.K&255);this.J=this.J&255|a<<8}function kf(a){a=a.call(this,this.J>>8,this.C&255);this.J=this.J&255|a<<8}function lf(a){a=a.call(this,this.J>>8,this.H>>8);this.J=this.J&255|a<<8}function mf(a){a=a.call(this,this.J>>8,this.J>>8);this.J=this.J&255|a<<8} +function nf(a){a=a.call(this,this.J>>8,this.K>>8);this.J=this.J&255|a<<8}function of(a){a=a.call(this,this.J>>8,this.C>>8);this.J=this.J&255|a<<8}function pf(a){a=a.call(this,this.K>>8,this.H&255);this.K=this.K&255|a<<8}function qf(a){a=a.call(this,this.K>>8,this.J&255);this.K=this.K&255|a<<8}function rf(a){a=a.call(this,this.K>>8,this.K&255);this.K=this.K&255|a<<8}function sf(a){a=a.call(this,this.K>>8,this.C&255);this.K=this.K&255|a<<8} +function tf(a){a=a.call(this,this.K>>8,this.H>>8);this.K=this.K&255|a<<8}function uf(a){a=a.call(this,this.K>>8,this.J>>8);this.K=this.K&255|a<<8}function vf(a){a=a.call(this,this.K>>8,this.K>>8);this.K=this.K&255|a<<8}function wf(a){a=a.call(this,this.K>>8,this.C>>8);this.K=this.K&255|a<<8}function xf(a){a=a.call(this,this.C>>8,this.H&255);this.C=this.C&255|a<<8}function yf(a){a=a.call(this,this.C>>8,this.J&255);this.C=this.C&255|a<<8} +function zf(a){a=a.call(this,this.C>>8,this.K&255);this.C=this.C&255|a<<8}function Af(a){a=a.call(this,this.C>>8,this.C&255);this.C=this.C&255|a<<8}function Bf(a){a=a.call(this,this.C>>8,this.H>>8);this.C=this.C&255|a<<8}function Cf(a){a=a.call(this,this.C>>8,this.J>>8);this.C=this.C&255|a<<8}function Df(a){a=a.call(this,this.C>>8,this.K>>8);this.C=this.C&255|a<<8}function Ef(a){a=a.call(this,this.C>>8,this.C>>8);this.C=this.C&255|a<<8}function Ff(a){this.H=a.call(this,this.H,this.H)} +function Gf(a){this.H=a.call(this,this.H,this.J)}function Hf(a){this.H=a.call(this,this.H,this.K)}function If(a){this.H=a.call(this,this.H,this.C)}function Jf(a){this.H=a.call(this,this.H,this.X)}function Kf(a){this.H=a.call(this,this.H,this.I)}function Lf(a){this.H=a.call(this,this.H,this.G)}function Mf(a){this.H=a.call(this,this.H,this.F)}function Nf(a){this.J=a.call(this,this.J,this.H)}function Of(a){this.J=a.call(this,this.J,this.J)}function Pf(a){this.J=a.call(this,this.J,this.K)} +function Qf(a){this.J=a.call(this,this.J,this.C)}function Rf(a){this.J=a.call(this,this.J,this.X)}function Sf(a){this.J=a.call(this,this.J,this.I)}function Tf(a){this.J=a.call(this,this.J,this.G)}function Uf(a){this.J=a.call(this,this.J,this.F)}function Vf(a){this.K=a.call(this,this.K,this.H)}function Wf(a){this.K=a.call(this,this.K,this.J)}function Xf(a){this.K=a.call(this,this.K,this.K)}function Yf(a){this.K=a.call(this,this.K,this.C)}function Zf(a){this.K=a.call(this,this.K,this.X)} +function $f(a){this.K=a.call(this,this.K,this.I)}function ag(a){this.K=a.call(this,this.K,this.G)}function bg(a){this.K=a.call(this,this.K,this.F)}function cg(a){this.C=a.call(this,this.C,this.H)}function dg(a){this.C=a.call(this,this.C,this.J)}function eg(a){this.C=a.call(this,this.C,this.K)}function fg(a){this.C=a.call(this,this.C,this.C)}function gg(a){this.C=a.call(this,this.C,this.X)}function hg(a){this.C=a.call(this,this.C,this.I)}function ig(a){this.C=a.call(this,this.C,this.G)} +function jg(a){this.C=a.call(this,this.C,this.F)}function kg(a){this.X=a.call(this,this.X,this.H)}function lg(a){this.X=a.call(this,this.X,this.J)}function mg(a){this.X=a.call(this,this.X,this.K)}function ng(a){this.X=a.call(this,this.X,this.C)}function og(a){this.X=a.call(this,this.X,this.X)}function pg(a){this.X=a.call(this,this.X,this.I)}function qg(a){this.X=a.call(this,this.X,this.G)}function rg(a){this.X=a.call(this,this.X,this.F)}function sg(a){this.I=a.call(this,this.I,this.H)} +function tg(a){this.I=a.call(this,this.I,this.J)}function ug(a){this.I=a.call(this,this.I,this.K)}function vg(a){this.I=a.call(this,this.I,this.C)}function wg(a){this.I=a.call(this,this.I,this.X)}function xg(a){this.I=a.call(this,this.I,this.I)}function yg(a){this.I=a.call(this,this.I,this.G)}function zg(a){this.I=a.call(this,this.I,this.F)}function Ag(a){this.G=a.call(this,this.G,this.H)}function Bg(a){this.G=a.call(this,this.G,this.J)}function Cg(a){this.G=a.call(this,this.G,this.K)} +function Dg(a){this.G=a.call(this,this.G,this.C)}function Eg(a){this.G=a.call(this,this.G,this.X)}function Fg(a){this.G=a.call(this,this.G,this.I)}function Gg(a){this.G=a.call(this,this.G,this.G)}function Hg(a){this.G=a.call(this,this.G,this.F)}function Ig(a){this.F=a.call(this,this.F,this.H)}function Jg(a){this.F=a.call(this,this.F,this.J)}function Kg(a){this.F=a.call(this,this.F,this.K)}function Lg(a){this.F=a.call(this,this.F,this.C)}function Mg(a){this.F=a.call(this,this.F,this.X)} +function Ng(a){this.F=a.call(this,this.F,this.I)}function Og(a){this.F=a.call(this,this.F,this.G)}function Pg(a){this.F=a.call(this,this.F,this.F)} +var Qg=[function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.H&255);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.H&255);this.R(a);this.A-=this.B.ga},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.H&255);this.R(a);this.A-=this.B.ga},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.H&255);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.D,this.G),this.H&255);this.R(a);this.A-=this.B.aa}, function(a){a=a.call(this,this.O(this.D,this.F),this.H&255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.L()),this.H&255);this.R(a);this.A-=this.B.sa},function(a){a=a.call(this,this.O(this.D,this.C),this.H&255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.J&255);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.J&255);this.R(a);this.A-=this.B.ga},function(a){a=a.call(this,this.O(this.N, this.I+this.G&65535),this.J&255);this.R(a);this.A-=this.B.ga},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.J&255);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.D,this.G),this.J&255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.F),this.J&255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.L()),this.J&255);this.R(a);this.A-=this.B.sa},function(a){a=a.call(this,this.O(this.D,this.C),this.J&255);this.R(a); this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.K&255);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.K&255);this.R(a);this.A-=this.B.ga},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.K&255);this.R(a);this.A-=this.B.ga},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.K&255);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.D,this.G),this.K&255);this.R(a);this.A-= @@ -152,8 +153,8 @@ this.C+this.G+this.L()&65535),this.J>>8);this.R(a);this.A-=this.B.V},function(a) a.call(this,this.O(this.D,this.F+this.L()&65535),this.J>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.J>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.L()&65535),this.J>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.W}, function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.G+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.K>>8);this.R(a); this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.F+ -this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.G+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},we,Ee,Me,Ue,bf,kf,sf,Af,xe,Fe,Ne,Ve,cf, -lf,tf,Bf,ye,Ge,Oe,We,df,mf,uf,Cf,ze,He,Pe,Xe,ef,nf,vf,Df,Ae,Ie,Qe,Ye,ff,of,wf,Ef,Be,Je,Re,Ze,gf,pf,xf,Ff,Ce,Ke,Se,$e,hf,qf,yf,Gf,De,Le,Te,af,jf,rf,zf,Hf],Ug=[function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.H);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.H);this.S(a);this.A-=this.B.ga},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.H);this.S(a);this.A-=this.B.ga},function(a){a=a.call(this,this.P(this.N,this.I+this.F& +this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.G+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},te,Be,Je,Re,Ze,gf,pf,xf,ue,Ce,Ke,Se,$e, +hf,qf,yf,ve,De,Le,Te,af,jf,rf,zf,we,Ee,Me,Ue,bf,kf,sf,Af,xe,Fe,Ne,Ve,cf,lf,tf,Bf,ye,Ge,Oe,We,df,mf,uf,Cf,ze,He,Pe,Xe,ef,nf,vf,Df,Ae,Ie,Qe,Ye,ff,of,wf,Ef],Rg=[function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.H);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.H);this.S(a);this.A-=this.B.ga},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.H);this.S(a);this.A-=this.B.ga},function(a){a=a.call(this,this.P(this.N,this.I+this.F& 65535),this.H);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.D,this.G),this.H);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.F),this.H);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.L()),this.H);this.S(a);this.A-=this.B.sa},function(a){a=a.call(this,this.P(this.D,this.C),this.H);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.J);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this, this.P(this.D,this.C+this.F&65535),this.J);this.S(a);this.A-=this.B.ga},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.J);this.S(a);this.A-=this.B.ga},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.J);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.D,this.G),this.J);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.F),this.J);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.L()),this.J);this.S(a); this.A-=this.B.sa},function(a){a=a.call(this,this.P(this.D,this.C),this.J);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.K);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.K);this.S(a);this.A-=this.B.ga},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.K);this.S(a);this.A-=this.B.ga},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.K);this.S(a);this.A-=this.B.fa},function(a){a= @@ -190,8 +191,8 @@ function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.L()&65535),this.I);th this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.I);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.I);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.L()&65535),this.I);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.L()&65535),this.G);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.L()&65535),this.G);this.S(a); this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.L()&65535),this.G);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.L()&65535),this.G);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.G+this.L()&65535),this.G);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.G);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.G);this.S(a); this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.L()&65535),this.G);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.L()&65535),this.F);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.L()&65535),this.F);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.L()&65535),this.F);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.L()&65535), -this.F);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.G+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},If,Qf,Yf,fg,ng,vg,Dg,Lg,Jf,Rf,Zf,gg,og,wg,Eg,Mg,Kf,Sf,$f,hg,pg,xg,Fg, -Ng,Lf,Tf,ag,ig,qg,yg,Gg,Og,Mf,Uf,bg,jg,rg,zg,Hg,Pg,Nf,Vf,cg,kg,sg,Ag,Ig,Qg,Of,Wf,dg,lg,tg,Bg,Jg,Rg,Pf,Xf,eg,mg,ug,Cg,Kg,Sg],Vg=[function(a){a=a.call(this,this.H&255,this.T(this.D,this.C+this.G&65535));this.H=this.H&-256|a;this.A-=this.B.fa},function(a){a=a.call(this,this.H&255,this.T(this.D,this.C+this.F&65535));this.H=this.H&-256|a;this.A-=this.B.ga},function(a){a=a.call(this,this.H&255,this.T(this.N,this.I+this.G&65535));this.H=this.H&-256|a;this.A-=this.B.ga},function(a){a=a.call(this,this.H&255, +this.F);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.G+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},Ff,Nf,Vf,cg,kg,sg,Ag,Ig,Gf,Of,Wf,dg,lg,tg,Bg,Jg,Hf,Pf,Xf,eg,mg,ug,Cg, +Kg,If,Qf,Yf,fg,ng,vg,Dg,Lg,Jf,Rf,Zf,gg,og,wg,Eg,Mg,Kf,Sf,$f,hg,pg,xg,Fg,Ng,Lf,Tf,ag,ig,qg,yg,Gg,Og,Mf,Uf,bg,jg,rg,zg,Hg,Pg],Sg=[function(a){a=a.call(this,this.H&255,this.T(this.D,this.C+this.G&65535));this.H=this.H&-256|a;this.A-=this.B.fa},function(a){a=a.call(this,this.H&255,this.T(this.D,this.C+this.F&65535));this.H=this.H&-256|a;this.A-=this.B.ga},function(a){a=a.call(this,this.H&255,this.T(this.N,this.I+this.G&65535));this.H=this.H&-256|a;this.A-=this.B.ga},function(a){a=a.call(this,this.H&255, this.T(this.N,this.I+this.F&65535));this.H=this.H&-256|a;this.A-=this.B.fa},function(a){a=a.call(this,this.H&255,this.T(this.D,this.G));this.H=this.H&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.H&255,this.T(this.D,this.F));this.H=this.H&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.H&255,this.T(this.D,this.L()));this.H=this.H&-256|a;this.A-=this.B.sa},function(a){a=a.call(this,this.H&255,this.T(this.D,this.C));this.H=this.H&-256|a;this.A-=this.B.aa},function(a){a=a.call(this, this.J&255,this.T(this.D,this.C+this.G&65535));this.J=this.J&-256|a;this.A-=this.B.fa},function(a){a=a.call(this,this.J&255,this.T(this.D,this.C+this.F&65535));this.J=this.J&-256|a;this.A-=this.B.ga},function(a){a=a.call(this,this.J&255,this.T(this.N,this.I+this.G&65535));this.J=this.J&-256|a;this.A-=this.B.ga},function(a){a=a.call(this,this.J&255,this.T(this.N,this.I+this.F&65535));this.J=this.J&-256|a;this.A-=this.B.fa},function(a){a=a.call(this,this.J&255,this.T(this.D,this.G));this.J=this.J&-256| a;this.A-=this.B.aa},function(a){a=a.call(this,this.J&255,this.T(this.D,this.F));this.J=this.J&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.J&255,this.T(this.D,this.L()));this.J=this.J&-256|a;this.A-=this.B.sa},function(a){a=a.call(this,this.J&255,this.T(this.D,this.C));this.J=this.J&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.K&255,this.T(this.D,this.C+this.G&65535));this.K=this.K&-256|a;this.A-=this.B.fa},function(a){a=a.call(this,this.K&255,this.T(this.D,this.C+this.F& @@ -234,8 +235,8 @@ this.I+this.F+this.L()&65535));this.J=this.J&255|a<<8;this.A-=this.B.V},function 255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.C+this.G+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.V},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.C+this.F+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.K>>8,this.T(this.N,this.I+this.G+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.K>>8,this.T(this.N,this.I+this.F+this.L()&65535));this.K=this.K&255|a<<8;this.A-= this.B.V},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.G+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.F+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.T(this.N,this.I+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.C+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>> 8,this.T(this.D,this.C+this.G+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.V},function(a){a=a.call(this,this.C>>8,this.T(this.D,this.C+this.F+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.C>>8,this.T(this.N,this.I+this.G+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.C>>8,this.T(this.N,this.I+this.F+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.V},function(a){a=a.call(this,this.C>>8,this.T(this.D, -this.G+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.T(this.D,this.F+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.T(this.N,this.I+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.T(this.D,this.C+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},we,xe,ye,ze,Ae,Be,Ce,De,Ee,Fe,Ge,He,Ie,Je,Ke,Le,Me,Ne,Oe,Pe,Qe,Re,Se,Te,Ue,Ve,We,Xe,Ye,Ze,$e, -af,bf,cf,df,ef,ff,gf,hf,jf,kf,lf,mf,nf,of,pf,qf,rf,sf,tf,uf,vf,wf,xf,yf,zf,Af,Bf,Cf,Df,Ef,Ff,Gf,Hf],M=[function(a){this.H=a.call(this,this.H,this.U(this.D,this.C+this.G&65535));this.A-=this.B.fa},function(a){this.H=a.call(this,this.H,this.U(this.D,this.C+this.F&65535));this.A-=this.B.ga},function(a){this.H=a.call(this,this.H,this.U(this.N,this.I+this.G&65535));this.A-=this.B.ga},function(a){this.H=a.call(this,this.H,this.U(this.N,this.I+this.F&65535));this.A-=this.B.fa},function(a){this.H=a.call(this, +this.G+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.T(this.D,this.F+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.T(this.N,this.I+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.T(this.D,this.C+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},te,ue,ve,we,xe,ye,ze,Ae,Be,Ce,De,Ee,Fe,Ge,He,Ie,Je,Ke,Le,Me,Ne,Oe,Pe,Qe,Re,Se,Te,Ue,Ve,We,Xe, +Ye,Ze,$e,af,bf,cf,df,ef,ff,gf,hf,jf,kf,lf,mf,nf,of,pf,qf,rf,sf,tf,uf,vf,wf,xf,yf,zf,Af,Bf,Cf,Df,Ef],M=[function(a){this.H=a.call(this,this.H,this.U(this.D,this.C+this.G&65535));this.A-=this.B.fa},function(a){this.H=a.call(this,this.H,this.U(this.D,this.C+this.F&65535));this.A-=this.B.ga},function(a){this.H=a.call(this,this.H,this.U(this.N,this.I+this.G&65535));this.A-=this.B.ga},function(a){this.H=a.call(this,this.H,this.U(this.N,this.I+this.F&65535));this.A-=this.B.fa},function(a){this.H=a.call(this, this.H,this.U(this.D,this.G));this.A-=this.B.aa},function(a){this.H=a.call(this,this.H,this.U(this.D,this.F));this.A-=this.B.aa},function(a){this.H=a.call(this,this.H,this.U(this.D,this.L()));this.A-=this.B.sa},function(a){this.H=a.call(this,this.H,this.U(this.D,this.C));this.A-=this.B.aa},function(a){this.J=a.call(this,this.J,this.U(this.D,this.C+this.G&65535));this.A-=this.B.fa},function(a){this.J=a.call(this,this.J,this.U(this.D,this.C+this.F&65535));this.A-=this.B.ga},function(a){this.J=a.call(this, this.J,this.U(this.N,this.I+this.G&65535));this.A-=this.B.ga},function(a){this.J=a.call(this,this.J,this.U(this.N,this.I+this.F&65535));this.A-=this.B.fa},function(a){this.J=a.call(this,this.J,this.U(this.D,this.G));this.A-=this.B.aa},function(a){this.J=a.call(this,this.J,this.U(this.D,this.F));this.A-=this.B.aa},function(a){this.J=a.call(this,this.J,this.U(this.D,this.L()));this.A-=this.B.sa},function(a){this.J=a.call(this,this.J,this.U(this.D,this.C));this.A-=this.B.aa},function(a){this.K=a.call(this, this.K,this.U(this.D,this.C+this.G&65535));this.A-=this.B.fa},function(a){this.K=a.call(this,this.K,this.U(this.D,this.C+this.F&65535));this.A-=this.B.ga},function(a){this.K=a.call(this,this.K,this.U(this.N,this.I+this.G&65535));this.A-=this.B.ga},function(a){this.K=a.call(this,this.K,this.U(this.N,this.I+this.F&65535));this.A-=this.B.fa},function(a){this.K=a.call(this,this.K,this.U(this.D,this.G));this.A-=this.B.aa},function(a){this.K=a.call(this,this.K,this.U(this.D,this.F));this.A-=this.B.aa}, @@ -270,8 +271,8 @@ this.U(this.D,this.C+this.L()&65535));this.A-=this.B.Q},function(a){this.I=a.cal this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.I=a.call(this,this.I,this.U(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.I=a.call(this,this.I,this.U(this.N,this.I+this.L()&65535));this.A-=this.B.Q},function(a){this.I=a.call(this,this.I,this.U(this.D,this.C+this.L()&65535));this.A-=this.B.Q},function(a){this.G=a.call(this,this.G,this.U(this.D,this.C+this.G+this.L()&65535));this.A-=this.B.V},function(a){this.G=a.call(this,this.G,this.U(this.D,this.C+this.F+this.L()&65535)); this.A-=this.B.W},function(a){this.G=a.call(this,this.G,this.U(this.N,this.I+this.G+this.L()&65535));this.A-=this.B.W},function(a){this.G=a.call(this,this.G,this.U(this.N,this.I+this.F+this.L()&65535));this.A-=this.B.V},function(a){this.G=a.call(this,this.G,this.U(this.D,this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.G=a.call(this,this.G,this.U(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.G=a.call(this,this.G,this.U(this.N,this.I+this.L()&65535));this.A-=this.B.Q}, function(a){this.G=a.call(this,this.G,this.U(this.D,this.C+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.U(this.D,this.C+this.G+this.L()&65535));this.A-=this.B.V},function(a){this.F=a.call(this,this.F,this.U(this.D,this.C+this.F+this.L()&65535));this.A-=this.B.W},function(a){this.F=a.call(this,this.F,this.U(this.N,this.I+this.G+this.L()&65535));this.A-=this.B.W},function(a){this.F=a.call(this,this.F,this.U(this.N,this.I+this.F+this.L()&65535));this.A-=this.B.V},function(a){this.F= -a.call(this,this.F,this.U(this.D,this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.U(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.U(this.N,this.I+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.U(this.D,this.C+this.L()&65535));this.A-=this.B.Q},If,Jf,Kf,Lf,Mf,Nf,Of,Pf,Qf,Rf,Sf,Tf,Uf,Vf,Wf,Xf,Yf,Zf,$f,ag,bg,cg,dg,eg,fg,gg,hg,ig,jg,kg,lg,mg,ng,og,pg,qg,rg,sg,tg,ug,vg,wg,xg,yg,zg,Ag,Bg,Cg, -Dg,Eg,Fg,Gg,Hg,Ig,Jg,Kg,Lg,Mg,Ng,Og,Pg,Qg,Rg,Sg],Wg=[function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ga},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ga},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.fa}, +a.call(this,this.F,this.U(this.D,this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.U(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.U(this.N,this.I+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.U(this.D,this.C+this.L()&65535));this.A-=this.B.Q},Ff,Gf,Hf,If,Jf,Kf,Lf,Mf,Nf,Of,Pf,Qf,Rf,Sf,Tf,Uf,Vf,Wf,Xf,Yf,Zf,$f,ag,bg,cg,dg,eg,fg,gg,hg,ig,jg,kg,lg,mg,ng,og,pg,qg,rg,sg,tg,ug,vg,wg,xg,yg,zg, +Ag,Bg,Cg,Dg,Eg,Fg,Gg,Hg,Ig,Jg,Kg,Lg,Mg,Ng,Og,Pg],Tg=[function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ga},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ga},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.fa}, function(a,b){var c=a[0].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.sa},function(a,b){var c=a[0].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-= this.B.fa},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ga},function(a,b){var c=a[1].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ga},function(a,b){var c=a[1].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[1].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.O(this.D,this.F), b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.sa},function(a,b){var c=a[1].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[2].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ga},function(a,b){var c=a[2].call(this, @@ -324,7 +325,7 @@ this.K=this.K&-256|c},function(a,b){var c=a[4].call(this,this.C&255,b.call(this) this.H&-256|c},function(a,b){var c=a[5].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[5].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[5].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[5].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a,b){var c=a[5].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[5].call(this,this.K>>8,b.call(this));this.K=this.K&255| c<<8},function(a,b){var c=a[5].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[6].call(this,this.H&255,b.call(this));this.H=this.H&-256|c},function(a,b){var c=a[6].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[6].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[6].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[6].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a, b){var c=a[6].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[6].call(this,this.K>>8,b.call(this));this.K=this.K&255|c<<8},function(a,b){var c=a[6].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[7].call(this,this.H&255,b.call(this));this.H=this.H&-256|c},function(a,b){var c=a[7].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[7].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c= -a[7].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[7].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a,b){var c=a[7].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[7].call(this,this.K>>8,b.call(this));this.K=this.K&255|c<<8},function(a,b){var c=a[7].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8}],Xg=[function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-= +a[7].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[7].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a,b){var c=a[7].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[7].call(this,this.K>>8,b.call(this));this.K=this.K&255|c<<8},function(a,b){var c=a[7].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8}],Ug=[function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-= this.B.fa},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ga},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ga},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.fa},function(a,b){var c=a[0].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,this.P(this.D,this.F), b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.sa},function(a,b){var c=a[0].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.fa},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ga},function(a,b){var c=a[1].call(this, this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ga},function(a,b){var c=a[1].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.fa},function(a,b){var c=a[1].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.sa},function(a, @@ -375,37 +376,37 @@ b.call(this))},function(a,b){this.K=a[3].call(this,this.K,b.call(this))},functio this.K,b.call(this))},function(a,b){this.C=a[4].call(this,this.C,b.call(this))},function(a,b){this.X=a[4].call(this,this.X,b.call(this))},function(a,b){this.I=a[4].call(this,this.I,b.call(this))},function(a,b){this.G=a[4].call(this,this.G,b.call(this))},function(a,b){this.F=a[4].call(this,this.F,b.call(this))},function(a,b){this.H=a[5].call(this,this.H,b.call(this))},function(a,b){this.J=a[5].call(this,this.J,b.call(this))},function(a,b){this.K=a[5].call(this,this.K,b.call(this))},function(a,b){this.C= a[5].call(this,this.C,b.call(this))},function(a,b){this.X=a[5].call(this,this.X,b.call(this))},function(a,b){this.I=a[5].call(this,this.I,b.call(this))},function(a,b){this.G=a[5].call(this,this.G,b.call(this))},function(a,b){this.F=a[5].call(this,this.F,b.call(this))},function(a,b){this.H=a[6].call(this,this.H,b.call(this))},function(a,b){this.J=a[6].call(this,this.J,b.call(this))},function(a,b){this.K=a[6].call(this,this.K,b.call(this))},function(a,b){this.C=a[6].call(this,this.C,b.call(this))}, function(a,b){this.Z|=512;this.X=a[6].call(this,this.X,b.call(this))},function(a,b){this.I=a[6].call(this,this.I,b.call(this))},function(a,b){this.G=a[6].call(this,this.G,b.call(this))},function(a,b){this.F=a[6].call(this,this.F,b.call(this))},function(a,b){this.H=a[7].call(this,this.H,b.call(this))},function(a,b){this.J=a[7].call(this,this.J,b.call(this))},function(a,b){this.K=a[7].call(this,this.K,b.call(this))},function(a,b){this.C=a[7].call(this,this.C,b.call(this))},function(a,b){this.X=a[7].call(this, -this.X,b.call(this))},function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))}];function uc(){Yg[this.da()].call(this)}function wc(){G(this,this.X);this.A-=this.B.mc}function dc(){var a=this.X;G(this,this.H);G(this,this.J);G(this,this.K);G(this,this.C);G(this,a);G(this,this.I);G(this,this.G);G(this,this.F);this.A-=this.B.el} -function ec(){this.F=this.Ia();this.G=this.Ia();this.I=this.Ia();this.X+=2;this.C=this.Ia();this.K=this.Ia();this.J=this.Ia();this.H=this.Ia();this.A-=this.B.cl}function fc(){M[this.da()].call(this,ke)}function vc(){Ug[this.da()].call(this,le)}function gc(){G(this,this.L());this.A-=this.B.mc}function hc(){M[this.da()].call(this,fe)}function ic(){G(this,this.da());this.A-=this.B.mc}function jc(){M[this.da()].call(this,ee)} +this.X,b.call(this))},function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))}];function uc(){Vg[this.da()].call(this)}function wc(){G(this,this.X);this.A-=this.B.mc}function dc(){var a=this.X;G(this,this.H);G(this,this.J);G(this,this.K);G(this,this.C);G(this,a);G(this,this.I);G(this,this.G);G(this,this.F);this.A-=this.B.el} +function ec(){this.F=this.Ia();this.G=this.Ia();this.I=this.Ia();this.X+=2;this.C=this.Ia();this.K=this.Ia();this.J=this.Ia();this.H=this.Ia();this.A-=this.B.cl}function fc(){M[this.da()].call(this,ke)}function vc(){Rg[this.da()].call(this,le)}function gc(){G(this,this.L());this.A-=this.B.mc}function hc(){M[this.da()].call(this,fe)}function ic(){G(this,this.da());this.A-=this.B.mc}function jc(){M[this.da()].call(this,ee)} function kc(){var a=1,b=0,c=5;this.va&192&&(a=this.J,b=1,this.va&256&&(c=4));if(a--){var d=gb(this.qa,this.K,this.Ba-b-1);$c(this,this.Qa.Wb(this.F,0),d);this.F=this.F+(this.Ca&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&(Jc(this,-2),this.Z|=256)}} function lc(){var a=1,b=0,c=5;this.va&192&&(a=this.J,b=1,this.va&256&&(c=4));if(a--){var d=this.Ba-b-1,d=gb(this.qa,this.K,d)|gb(this.qa,this.K,d)<<8;E(this,this.Qa.Wb(this.F,1),d);this.F=this.F+(this.Ca&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(Jc(this,-2),this.Z|=256)}} function mc(){var a=1,b=0,c=5;this.va&192&&(a=this.J,b=1,this.va&256&&(c=4));if(a--){var d=Zc(this,this.vb.yc(this.G,0));this.G=this.G+(this.Ca&1024?-1:1)&65535;this.A-=c;this.J-=b;ib(this.qa,this.K,d,this.Ba-b-1);a&&(Jc(this,-2),this.Z|=256)}} -function nc(){var a=1,b=0,c=5;this.va&192&&(a=this.J,b=1,this.va&256&&(c=4));if(a--){var d=D(this,this.vb.yc(this.G,1));this.G=this.G+(this.Ca&1024?-2:2)&65535;this.A-=c;this.J-=b;b=this.Ba-b-1;ib(this.qa,this.K,d&255,b);ib(this.qa,this.K,d>>8,b);a&&(Jc(this,-2),this.Z|=256)}}function Zg(){var a=this.M();Pc(this)?(J(this,this.ta+a),this.A-=this.B.Qb):this.A-=this.B.Rb}function $g(){var a=this.M();Pc(this)?this.A-=this.B.Rb:(J(this,this.ta+a),this.A-=this.B.Qb)} -function ah(){var a=this.M();Kc(this)?(J(this,this.ta+a),this.A-=this.B.Qb):this.A-=this.B.Rb}function bh(){var a=this.M();Kc(this)?this.A-=this.B.Rb:(J(this,this.ta+a),this.A-=this.B.Qb)}function ch(){var a=this.M();Nc(this)?(J(this,this.ta+a),this.A-=this.B.Qb):this.A-=this.B.Rb}function dh(){var a=this.M();Nc(this)?this.A-=this.B.Rb:(J(this,this.ta+a),this.A-=this.B.Qb)}function eh(){var a=this.M();Kc(this)||Nc(this)?(J(this,this.ta+a),this.A-=this.B.Qb):this.A-=this.B.Rb} -function fh(){var a=this.M();Kc(this)||Nc(this)?this.A-=this.B.Rb:(J(this,this.ta+a),this.A-=this.B.Qb)}function gh(){var a=this.M();Oc(this)?(J(this,this.ta+a),this.A-=this.B.Qb):this.A-=this.B.Rb}function hh(){var a=this.M();Oc(this)?this.A-=this.B.Rb:(J(this,this.ta+a),this.A-=this.B.Qb)}function ih(){var a=this.M();Lc(this)?(J(this,this.ta+a),this.A-=this.B.Qb):this.A-=this.B.Rb}function jh(){var a=this.M();Lc(this)?this.A-=this.B.Rb:(J(this,this.ta+a),this.A-=this.B.Qb)} -function kh(){var a=this.M();!Oc(this)!=!Pc(this)?(J(this,this.ta+a),this.A-=this.B.Qb):this.A-=this.B.Rb}function lh(){var a=this.M();!Oc(this)==!Pc(this)?(J(this,this.ta+a),this.A-=this.B.Qb):this.A-=this.B.Rb}function mh(){var a=this.M();Nc(this)||!Oc(this)!=!Pc(this)?(J(this,this.ta+a),this.A-=this.B.Qb):this.A-=this.B.Rb}function nh(){var a=this.M();Nc(this)||!Oc(this)!=!Pc(this)?this.A-=this.B.Rb:(J(this,this.ta+a),this.A-=this.B.Qb)} -function oh(){Wg[this.da()].call(this,Pd,this.da);this.A-=0>this.Ja?1:this.B.Yg}function oc(){Wg[this.da()].call(this,Zd,Md)}function pc(){Xg[this.da()].call(this,$d,Md)}function ph(){var a=this.L();J(this,this.Ia());this.X=this.X+a&65535;this.A-=this.B.jl}function qh(){J(this,this.Ia());this.A-=this.B.gl} -function qc(){var a=this.L(),b=this.da()&31;this.A-=11;G(this,this.I);var c=this.X;if(0>8,c,d=Mc(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.Y=a);this.ca=65536;c&&(this.Y|=this.ca);d?Vc(this):Rc(this);this.A-=this.B.qe},function(){Tg[this.da()].call(this,kd)},function(){Ug[this.da()].call(this,sd)},function(){Vg[this.da()].call(this,kd)},function(){M[this.da()].call(this,sd)},function(){this.H=this.H&-256|kd.call(this,this.H&255,this.da());this.A--},function(){this.H=sd.call(this,this.H,this.L());this.A--}, +function nc(){var a=1,b=0,c=5;this.va&192&&(a=this.J,b=1,this.va&256&&(c=4));if(a--){var d=D(this,this.vb.yc(this.G,1));this.G=this.G+(this.Ca&1024?-2:2)&65535;this.A-=c;this.J-=b;b=this.Ba-b-1;ib(this.qa,this.K,d&255,b);ib(this.qa,this.K,d>>8,b);a&&(Jc(this,-2),this.Z|=256)}}function Wg(){var a=this.M();Pc(this)?(J(this,this.ta+a),this.A-=this.B.Qb):this.A-=this.B.Rb}function Xg(){var a=this.M();Pc(this)?this.A-=this.B.Rb:(J(this,this.ta+a),this.A-=this.B.Qb)} +function Yg(){var a=this.M();Kc(this)?(J(this,this.ta+a),this.A-=this.B.Qb):this.A-=this.B.Rb}function Zg(){var a=this.M();Kc(this)?this.A-=this.B.Rb:(J(this,this.ta+a),this.A-=this.B.Qb)}function $g(){var a=this.M();Nc(this)?(J(this,this.ta+a),this.A-=this.B.Qb):this.A-=this.B.Rb}function ah(){var a=this.M();Nc(this)?this.A-=this.B.Rb:(J(this,this.ta+a),this.A-=this.B.Qb)}function bh(){var a=this.M();Kc(this)||Nc(this)?(J(this,this.ta+a),this.A-=this.B.Qb):this.A-=this.B.Rb} +function ch(){var a=this.M();Kc(this)||Nc(this)?this.A-=this.B.Rb:(J(this,this.ta+a),this.A-=this.B.Qb)}function dh(){var a=this.M();Oc(this)?(J(this,this.ta+a),this.A-=this.B.Qb):this.A-=this.B.Rb}function eh(){var a=this.M();Oc(this)?this.A-=this.B.Rb:(J(this,this.ta+a),this.A-=this.B.Qb)}function fh(){var a=this.M();Lc(this)?(J(this,this.ta+a),this.A-=this.B.Qb):this.A-=this.B.Rb}function gh(){var a=this.M();Lc(this)?this.A-=this.B.Rb:(J(this,this.ta+a),this.A-=this.B.Qb)} +function hh(){var a=this.M();!Oc(this)!=!Pc(this)?(J(this,this.ta+a),this.A-=this.B.Qb):this.A-=this.B.Rb}function ih(){var a=this.M();!Oc(this)==!Pc(this)?(J(this,this.ta+a),this.A-=this.B.Qb):this.A-=this.B.Rb}function jh(){var a=this.M();Nc(this)||!Oc(this)!=!Pc(this)?(J(this,this.ta+a),this.A-=this.B.Qb):this.A-=this.B.Rb}function kh(){var a=this.M();Nc(this)||!Oc(this)!=!Pc(this)?this.A-=this.B.Rb:(J(this,this.ta+a),this.A-=this.B.Qb)} +function lh(){Tg[this.da()].call(this,Pd,this.da);this.A-=0>this.Ja?1:this.B.Yg}function oc(){Tg[this.da()].call(this,Zd,Md)}function pc(){Ug[this.da()].call(this,$d,Md)}function mh(){var a=this.L();J(this,this.Ia());this.X=this.X+a&65535;this.A-=this.B.jl}function nh(){J(this,this.Ia());this.A-=this.B.gl} +function qc(){var a=this.L(),b=this.da()&31;this.A-=11;G(this,this.I);var c=this.X;if(0>8,c,d=Mc(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.Y=a);this.ca=65536;c&&(this.Y|=this.ca);d?Vc(this):Rc(this);this.A-=this.B.qe},function(){Qg[this.da()].call(this,kd)},function(){Rg[this.da()].call(this,sd)},function(){Sg[this.da()].call(this,kd)},function(){M[this.da()].call(this,sd)},function(){this.H=this.H&-256|kd.call(this,this.H&255,this.da());this.A--},function(){this.H=sd.call(this,this.H,this.L());this.A--}, function(){this.Z|=20;this.D=this.N=this.vb;this.A-=this.B.Md},function(){var a=this.H&255,b=this.H>>8,c,d=Mc(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.Y=a);this.ca=65536;c&&(this.Y|=this.ca);d?Vc(this):Rc(this);this.A-=this.B.qe},function(){this.na=this.H;this.H=(this.ia=this.H+1)&65535;this.Y=this.H|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.J;this.J=(this.ia=this.J+1)&65535;this.Y=this.J|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-= 2},function(){this.na=this.K;this.K=(this.ia=this.K+1)&65535;this.Y=this.K|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.C;this.C=(this.ia=this.C+1)&65535;this.Y=this.C|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.X;this.X=(this.ia=this.X+1)&65535;this.Y=this.X|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.I;this.I=(this.ia=this.I+1)&65535;this.Y=this.I|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na= this.G;this.G=(this.ia=this.G+1)&65535;this.Y=this.G|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.F;this.F=(this.ia=this.F+1)&65535;this.Y=this.F|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.H;this.H=(this.ia=this.H-1)&65535;this.Y=this.H|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.J;this.J=(this.ia=this.J-1)&65535;this.Y=this.J|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.K;this.K= (this.ia=this.K-1)&65535;this.Y=this.K|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.C;this.C=(this.ia=this.C-1)&65535;this.Y=this.C|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.X;this.X=(this.ia=this.X-1)&65535;this.Y=this.X|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.I;this.I=(this.ia=this.I-1)&65535;this.Y=this.I|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.G;this.G=(this.ia=this.G- 1)&65535;this.Y=this.G|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.F;this.F=(this.ia=this.F-1)&65535;this.Y=this.F|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){G(this,this.H);this.A-=this.B.mc},function(){G(this,this.J);this.A-=this.B.mc},function(){G(this,this.K);this.A-=this.B.mc},function(){G(this,this.C);this.A-=this.B.mc},function(){G(this,this.X-2&65535);this.A-=this.B.mc},function(){G(this,this.I);this.A-=this.B.mc},function(){G(this,this.G);this.A-= -this.B.mc},function(){G(this,this.F);this.A-=this.B.mc},function(){this.H=this.Ia();this.A-=this.B.fc},function(){this.J=this.Ia();this.A-=this.B.fc},function(){this.K=this.Ia();this.A-=this.B.fc},function(){this.C=this.Ia();this.A-=this.B.fc},function(){this.X=this.Ia();this.A-=this.B.fc},function(){this.I=this.Ia();this.A-=this.B.fc},function(){this.G=this.Ia();this.A-=this.B.fc},function(){this.F=this.Ia();this.A-=this.B.fc},Zg,$g,ah,bh,ch,dh,eh,fh,gh,hh,ih,jh,kh,lh,mh,nh,Zg,$g,ah,bh,ch,dh,eh, -fh,gh,hh,ih,jh,kh,lh,mh,nh,oh,function(){Xg[this.da()].call(this,Qd,this.L);this.A-=0>this.Ja?1:this.B.Yg},oh,function(){Xg[this.da()].call(this,Qd,this.M);this.A-=0>this.Ja?1:this.B.Yg},function(){Tg[this.da()].call(this,ce)},function(){Ug[this.da()].call(this,de)},function(){Vg[this.qg=this.da()].call(this,oe)},function(){M[this.qg=this.da()].call(this,pe)},function(){this.Z|=1;Tg[this.da()].call(this,ae)},function(){this.Z|=1;Ug[this.da()].call(this,ae)},function(){Vg[this.da()].call(this,ae)}, -function(){M[this.da()].call(this,ae)},function(){var a=this.da();switch((a&56)>>3){case 0:this.Db=this.Qa.ya;break;case 1:this.Db=this.xa.ya;break;case 2:this.Db=this.pb.ya;break;case 3:this.Db=this.vb.ya;break;default:L.call(this);return}this.Z|=1;Ug[a].call(this,be)},function(){this.Z|=1;this.D=this.N=this.xl;M[this.da()].call(this,he)},function(){var a,b=this.da(),c=(b&56)>>3;switch(c){case 0:a=this.H;break;case 2:a=this.K;break;case 3:a=this.C;break;default:if(80286<=this.Ha){H.call(this);return}switch(c){case 1:a= -this.J;break;case 4:a=this.X;break;case 5:a=this.I;break;case 6:a=this.G;break;case 7:a=this.F}}M[b].call(this,ae);switch(c){case 0:Ic(this,this.H);this.H=a;break;case 1:Fc(this,this.J);this.J=a;break;case 2:Hc(this,this.K);this.K=a;break;case 3:Gc(this,this.C);this.C=a;break;case 4:Ic(this,this.X);this.X=a;break;case 5:Fc(this,this.I);this.I=a;break;case 6:Hc(this,this.G);this.G=a;break;case 7:Gc(this,this.F),this.F=a}},function(){this.Z|=1;Xg[this.da()].call(this,Rd,this.Ia)},function(){this.A-= +this.B.mc},function(){G(this,this.F);this.A-=this.B.mc},function(){this.H=this.Ia();this.A-=this.B.fc},function(){this.J=this.Ia();this.A-=this.B.fc},function(){this.K=this.Ia();this.A-=this.B.fc},function(){this.C=this.Ia();this.A-=this.B.fc},function(){this.X=this.Ia();this.A-=this.B.fc},function(){this.I=this.Ia();this.A-=this.B.fc},function(){this.G=this.Ia();this.A-=this.B.fc},function(){this.F=this.Ia();this.A-=this.B.fc},Wg,Xg,Yg,Zg,$g,ah,bh,ch,dh,eh,fh,gh,hh,ih,jh,kh,Wg,Xg,Yg,Zg,$g,ah,bh, +ch,dh,eh,fh,gh,hh,ih,jh,kh,lh,function(){Ug[this.da()].call(this,Qd,this.L);this.A-=0>this.Ja?1:this.B.Yg},lh,function(){Ug[this.da()].call(this,Qd,this.M);this.A-=0>this.Ja?1:this.B.Yg},function(){Qg[this.da()].call(this,ce)},function(){Rg[this.da()].call(this,de)},function(){Sg[this.qg=this.da()].call(this,oe)},function(){M[this.qg=this.da()].call(this,pe)},function(){this.Z|=1;Qg[this.da()].call(this,ae)},function(){this.Z|=1;Rg[this.da()].call(this,ae)},function(){Sg[this.da()].call(this,ae)}, +function(){M[this.da()].call(this,ae)},function(){var a=this.da();switch((a&56)>>3){case 0:this.Db=this.Qa.ya;break;case 1:this.Db=this.xa.ya;break;case 2:this.Db=this.pb.ya;break;case 3:this.Db=this.vb.ya;break;default:L.call(this);return}this.Z|=1;Rg[a].call(this,be)},function(){this.Z|=1;this.D=this.N=this.xl;M[this.da()].call(this,he)},function(){var a,b=this.da(),c=(b&56)>>3;switch(c){case 0:a=this.H;break;case 2:a=this.K;break;case 3:a=this.C;break;default:if(80286<=this.Ha){H.call(this);return}switch(c){case 1:a= +this.J;break;case 4:a=this.X;break;case 5:a=this.I;break;case 6:a=this.G;break;case 7:a=this.F}}M[b].call(this,ae);switch(c){case 0:Ic(this,this.H);this.H=a;break;case 1:Fc(this,this.J);this.J=a;break;case 2:Hc(this,this.K);this.K=a;break;case 3:Gc(this,this.C);this.C=a;break;case 4:Ic(this,this.X);this.X=a;break;case 5:Fc(this,this.I);this.I=a;break;case 6:Hc(this,this.G);this.G=a;break;case 7:Gc(this,this.F),this.F=a}},function(){this.Z|=1;Ug[this.da()].call(this,Rd,this.Ia)},function(){this.A-= 3},function(){var a=this.H;this.H=this.J;this.J=a;this.A-=3},function(){var a=this.H;this.H=this.K;this.K=a;this.A-=3},function(){var a=this.H;this.H=this.C;this.C=a;this.A-=3},function(){var a=this.H;this.H=this.X;this.X=a;this.A-=3},function(){var a=this.H;this.H=this.I;this.I=a;this.A-=3},function(){var a=this.H;this.H=this.G;this.G=a;this.A-=3},function(){var a=this.H;this.H=this.F;this.F=a;this.A-=3},function(){this.H=this.H<<24>>24&65535;this.A-=2},function(){this.K=this.H&32768?65535:0;this.A-= -this.B.qk},function(){Yd.call(this,this.L(),this.L());this.A-=this.B.tk},function(){this.dc("WAIT not implemented",ve);this.A--},function(){G(this,Sb(this));this.A-=this.B.mc},function(){Tb(this,this.Ia());this.A-=this.B.fc},function(){var a=this.H>>8;a&1?Uc(this):Qc(this);a&4?Lc(this)||(this.ia^=1):Lc(this)&&(this.ia^=1);a&16?Vc(this):Rc(this);a&64?Wc(this):Sc(this);a&128?Xc(this):Oc(this)&&(this.ia^=this.ca>>1|this.ca>>2,this.na^=32896);this.A-=this.B.Cb},function(){this.H=this.H&255|(Sb(this)& -213)<<8;this.A-=this.B.Cb},function(){this.H=this.H&-256|this.T(this.D,this.L());this.A-=this.B.Hi},function(){this.H=this.U(this.D,this.L());this.A-=this.B.Hi},function(){var a=this.L(),b=this.H;$c(this,this.D.Wb(a,0),b);this.A-=this.B.Ii},function(){var a=this.L(),b=this.H;E(this,this.D.Wb(a,1),b);this.A-=this.B.Ii},function(){var a=1,b=0,c=this.B.Ji;this.va&192&&(a=this.J,b=1,c=this.B.Li,this.va&256||(this.A-=this.B.Ki));if(a--){var d=this.Ca&1024?-1:1,e=this.T(this.D,this.G);$c(this,this.Qa.Wb(this.F, +this.B.qk},function(){Yd.call(this,this.L(),this.L());this.A-=this.B.tk},function(){this.dc("WAIT not implemented",1);this.A--},function(){G(this,Sb(this));this.A-=this.B.mc},function(){Tb(this,this.Ia());this.A-=this.B.fc},function(){var a=this.H>>8;a&1?Uc(this):Qc(this);a&4?Lc(this)||(this.ia^=1):Lc(this)&&(this.ia^=1);a&16?Vc(this):Rc(this);a&64?Wc(this):Sc(this);a&128?Xc(this):Oc(this)&&(this.ia^=this.ca>>1|this.ca>>2,this.na^=32896);this.A-=this.B.Cb},function(){this.H=this.H&255|(Sb(this)&213)<< +8;this.A-=this.B.Cb},function(){this.H=this.H&-256|this.T(this.D,this.L());this.A-=this.B.Hi},function(){this.H=this.U(this.D,this.L());this.A-=this.B.Hi},function(){var a=this.L(),b=this.H;$c(this,this.D.Wb(a,0),b);this.A-=this.B.Ii},function(){var a=this.L(),b=this.H;E(this,this.D.Wb(a,1),b);this.A-=this.B.Ii},function(){var a=1,b=0,c=this.B.Ji;this.va&192&&(a=this.J,b=1,c=this.B.Li,this.va&256||(this.A-=this.B.Ki));if(a--){var d=this.Ca&1024?-1:1,e=this.T(this.D,this.G);$c(this,this.Qa.Wb(this.F, 0),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(Jc(this,this.va&16?-3:-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.Ji;this.va&192&&(a=this.J,b=1,c=this.B.Li,this.va&256||(this.A-=this.B.Ki));if(a--){var d=this.Ca&1024?-2:2,e=this.U(this.D,this.G);E(this,this.Qa.Wb(this.F,1),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(Jc(this,this.va&16?-3:-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.ti;this.va&192&&(a=this.J,b=1,c=this.B.vi,this.va& 256||(this.A-=this.B.ui));if(a--){var d=this.Ca&1024?-1:1,e=this.T(this.D,this.G),f=this.O(this.Qa,this.F);kd.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c-this.B.tb;this.J-=b;a&&Nc(this)==(this.va&64)&&(Jc(this,this.va&16?-3:-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.ti;this.va&192&&(a=this.J,b=1,c=this.B.vi,this.va&256||(this.A-=this.B.ui));if(a--){var d=this.Ca&1024?-2:2,e=this.U(this.D,this.G),f=this.P(this.Qa,this.F);sd.call(this,e,f);this.G=this.G+d&65535;this.F= this.F+d&65535;this.A-=c-this.B.tb;this.J-=b;a&&Nc(this)==(this.va&64)&&(Jc(this,this.va&16?-3:-2),this.Z|=256)}},function(){this.Y=this.ia=this.na=this.H&255&this.da();this.ca=256;this.A-=this.B.qe},function(){this.Y=this.ia=this.na=this.H&this.L();this.ca=65536;this.A-=this.B.qe},function(){var a=1,b=0,c=this.B.Ui;this.va&192&&(a=this.J,b=1,c=this.B.Wi,this.va&256||(this.A-=this.B.Vi));if(a--){var d=this.H;$c(this,this.Qa.Wb(this.F,0),d);this.F=this.F+(this.Ca&1024?-1:1)&65535;this.A-=c;this.J-= @@ -413,257 +414,257 @@ b;a&&(Jc(this,-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.Ui;this.va&192& (Jc(this,this.va&16?-3:-2),this.Z|=256))},function(){var a=1,b=0,c=this.B.Bi;this.va&192&&(a=this.J,b=1,c=this.B.Di,this.va&256||(this.A-=this.B.Ci));a--&&(this.H=this.U(this.D,this.G),this.G=this.G+(this.Ca&1024?-2:2)&65535,this.A-=c,this.J-=b,a&&(Jc(this,this.va&16?-3:-2),this.Z|=256))},function(){var a=1,b=0,c=this.B.Oi;this.va&192&&(a=this.J,b=1,c=this.B.Qi,this.va&256||(this.A-=this.B.Pi));a--&&(kd.call(this,this.H&255,this.O(this.Qa,this.F)),this.F=this.F+(this.Ca&1024?-1:1)&65535,this.A-=c- this.B.tb,this.J-=b,a&&Nc(this)==(this.va&64)&&(Jc(this,-2),this.Z|=256))},function(){var a=1,b=0,c=this.B.Oi;this.va&192&&(a=this.J,b=1,c=this.B.Qi,this.va&256||(this.A-=this.B.Pi));a--&&(sd.call(this,this.H,this.P(this.Qa,this.F)),this.F=this.F+(this.Ca&1024?-2:2)&65535,this.A-=c-this.B.tb,this.J-=b,a&&Nc(this)==(this.va&64)&&(Jc(this,-2),this.Z|=256))},function(){this.H=this.H&-256|this.da();this.A-=this.B.Cb},function(){this.J=this.J&-256|this.da();this.A-=this.B.Cb},function(){this.K=this.K& -256|this.da();this.A-=this.B.Cb},function(){this.C=this.C&-256|this.da();this.A-=this.B.Cb},function(){this.H=this.H&255|this.da()<<8;this.A-=this.B.Cb},function(){this.J=this.J&255|this.da()<<8;this.A-=this.B.Cb},function(){this.K=this.K&255|this.da()<<8;this.A-=this.B.Cb},function(){this.C=this.C&255|this.da()<<8;this.A-=this.B.Cb},function(){this.H=this.L();this.A-=this.B.Cb},function(){this.J=this.L();this.A-=this.B.Cb},function(){this.K=this.L();this.A-=this.B.Cb},function(){this.C=this.L(); -this.A-=this.B.Cb},function(){this.X=this.L();this.A-=this.B.Cb},function(){this.I=this.L();this.A-=this.B.Cb},function(){this.G=this.L();this.A-=this.B.Cb},function(){this.F=this.L();this.A-=this.B.Cb},ph,qh,ph,qh,function(){M[this.da()].call(this,je)},function(){M[this.da()].call(this,ie)},function(){this.Z|=1;Wg[this.da()].call(this,Sd,this.da)},function(){this.Z|=1;Xg[this.da()].call(this,Sd,this.L)},rh,sh,rh,sh,function(){bd.call(this,3,null,this.B.Kk)},function(){var a=this.da(),b;a:{b=this.fg[a]; -if(void 0!==b)for(var c=0;c>8)*a+this.H&255;this.ca=256;this.A-=this.B.mk},function(){this.H=this.H&-256|(Kc(this)?255:0);this.A-=2},function(){this.H=this.H&-256|this.T(this.D,this.C+(this.H&255)&65535);this.A-=this.B.ll},th,th,th,th,th,th,th,th,function(){var a=this.M(); +this.A-=this.B.Cb},function(){this.X=this.L();this.A-=this.B.Cb},function(){this.I=this.L();this.A-=this.B.Cb},function(){this.G=this.L();this.A-=this.B.Cb},function(){this.F=this.L();this.A-=this.B.Cb},mh,nh,mh,nh,function(){M[this.da()].call(this,je)},function(){M[this.da()].call(this,ie)},function(){this.Z|=1;Tg[this.da()].call(this,Sd,this.da)},function(){this.Z|=1;Ug[this.da()].call(this,Sd,this.L)},oh,ph,oh,ph,function(){bd.call(this,3,null,this.B.Kk)},function(){var a=this.da(),b;a:{b=this.fg[a]; +if(void 0!==b)for(var c=0;c>8)*a+this.H&255;this.ca=256;this.A-=this.B.mk},function(){this.H=this.H&-256|(Kc(this)?255:0);this.A-=2},function(){this.H=this.H&-256|this.T(this.D,this.C+(this.H&255)&65535);this.A-=this.B.ll},qh,qh,qh,qh,qh,qh,qh,qh,function(){var a=this.M(); (this.J=this.J-1&65535)&&this.Y&this.ca-1?(J(this,this.ta+a),this.A-=this.B.Tk):this.A-=this.B.Ei},function(){var a=this.M();!(this.J=this.J-1&65535)||this.Y&this.ca-1?this.A-=this.B.Gi:(J(this,this.ta+a),this.A-=this.B.Fi)},function(){var a=this.M();(this.J=this.J-1&65535)?(J(this,this.ta+a),this.A-=this.B.Sk):this.A-=this.B.Ei},function(){var a=this.M();this.J?this.A-=this.B.Gi:(J(this,this.ta+a),this.A-=this.B.Fi)},function(){var a=this.da();this.H=this.H&-256|gb(this.qa,a,this.Ba-2);this.A-=this.B.yi}, function(){var a=this.da();this.H=gb(this.qa,a,this.Ba-1)|gb(this.qa,a+1&65535,this.Ba-2)<<8;this.A-=this.B.yi},function(){var a=this.da();ib(this.qa,a,this.H&255,this.Ba-2);this.A-=this.B.Ni},function(){var a=this.da();ib(this.qa,a,this.H&255,this.Ba-2);ib(this.qa,a+1&65535,this.H>>8,this.Ba-2);this.A-=this.B.Ni},function(){var a=this.L();G(this,this.ta);J(this,this.ta+a);this.A-=this.B.rk},function(){var a=this.L();J(this,this.ta+a);this.A-=this.B.zi},function(){Vb(this,this.L(),this.L());this.A-= -this.B.Ok},function(){var a=this.M();J(this,this.ta+a);this.A-=this.B.zi},function(){this.H=this.H&-256|gb(this.qa,this.K,this.Ba-1);this.A-=this.B.xi},function(){this.H=gb(this.qa,this.K,this.Ba-1)|gb(this.qa,this.K+1&65535,this.Ba-1)<<8;this.A-=this.B.xi},function(){ib(this.qa,this.K,this.H&255,this.Ba-1);this.A-=this.B.Mi},function(){ib(this.qa,this.K,this.H&255,this.Ba-1);ib(this.qa,this.K+1&65535,this.H>>8,this.Ba-1);this.A-=this.B.Mi},uh,uh,function(){this.Z|=132;this.A-=this.B.Md},function(){this.Z|= -68;this.A-=this.B.Md},function(){this.kb|=4;this.A-=2;this.Ca&512||qb(this)},function(){Kc(this)?Qc(this):Uc(this);this.A-=2},function(){this.Db=-1;Wg[this.da()].call(this,Wd,Nd);0<=this.Db&&(this.H=this.Db)},function(){this.Db=-1;Xg[this.da()].call(this,Xd,Nd);0<=this.Db&&(this.H=this.Db,this.K=this.Wf)},function(){this.Y&=~this.ca;this.A-=2},function(){this.Y|=this.ca;this.A-=2},function(){this.Ca&=-513;this.A-=this.B.pk},function(){this.Ca|=512;this.Z|=4;this.A-=2},function(){this.Ca&=-1025;this.A-= -2},function(){this.Ca|=1024;this.A-=2},function(){Wg[this.da()].call(this,ac,Nd)},function(){Xg[this.da()].call(this,bc,Nd)}],Yg=[function(){var a=this.da();16>(a&56)&&(this.Z|=1);Xg[a].call(this,this.yj,Nd)},function(){var a=this.da();a&16||(this.Z|=1);Xg[a].call(this,vh,Nd)},function(){M[this.da()].call(this,me)},function(){M[this.da()].call(this,ne)},L,function(){this.xa.Xa?C.call(this,13,0,!0):(qe.call(this,D(this,2054)),this.F=D(this,2086),this.G=D(this,2088),this.I=D(this,2090),this.X=D(this, +this.B.Ok},function(){var a=this.M();J(this,this.ta+a);this.A-=this.B.zi},function(){this.H=this.H&-256|gb(this.qa,this.K,this.Ba-1);this.A-=this.B.xi},function(){this.H=gb(this.qa,this.K,this.Ba-1)|gb(this.qa,this.K+1&65535,this.Ba-1)<<8;this.A-=this.B.xi},function(){ib(this.qa,this.K,this.H&255,this.Ba-1);this.A-=this.B.Mi},function(){ib(this.qa,this.K,this.H&255,this.Ba-1);ib(this.qa,this.K+1&65535,this.H>>8,this.Ba-1);this.A-=this.B.Mi},rh,rh,function(){this.Z|=132;this.A-=this.B.Md},function(){this.Z|= +68;this.A-=this.B.Md},function(){this.kb|=4;this.A-=2;this.Ca&512||qb(this)},function(){Kc(this)?Qc(this):Uc(this);this.A-=2},function(){this.Db=-1;Tg[this.da()].call(this,Wd,Nd);0<=this.Db&&(this.H=this.Db)},function(){this.Db=-1;Ug[this.da()].call(this,Xd,Nd);0<=this.Db&&(this.H=this.Db,this.K=this.Wf)},function(){this.Y&=~this.ca;this.A-=2},function(){this.Y|=this.ca;this.A-=2},function(){this.Ca&=-513;this.A-=this.B.pk},function(){this.Ca|=512;this.Z|=4;this.A-=2},function(){this.Ca&=-1025;this.A-= +2},function(){this.Ca|=1024;this.A-=2},function(){Tg[this.da()].call(this,ac,Nd)},function(){Ug[this.da()].call(this,bc,Nd)}],Vg=[function(){var a=this.da();16>(a&56)&&(this.Z|=1);Ug[a].call(this,this.yj,Nd)},function(){var a=this.da();a&16||(this.Z|=1);Ug[a].call(this,sh,Nd)},function(){M[this.da()].call(this,me)},function(){M[this.da()].call(this,ne)},L,function(){this.xa.Xa?C.call(this,13,0,!0):(qe.call(this,D(this,2054)),this.F=D(this,2086),this.G=D(this,2088),this.I=D(this,2090),this.X=D(this, 2092),this.C=D(this,2094),this.K=D(this,2096),this.J=D(this,2098),this.H=D(this,2100),Wb(this.Qa,2102,D(this,2084)),Wb(this.xa,2108,D(this,2082)),Wb(this.pb,2114,D(this,2080)),Wb(this.vb,2120,D(this,2078)),Tb(this,D(this,2072)),J(this,D(this,2074)),this.Hc=D(this,2126)|D(this,2128)<<16,this.Fe=this.Hc+D(this,2130),Wb(this.Sd,2132,D(this,2076)),this.Ic=D(this,2138)|D(this,2140)<<16,this.Ge=this.Ic+D(this,2142),Wb(this.gb,2144,D(this,2070)),this.A-=195)},function(){this.xa.Xa?C.call(this,13,0,!0):(this.hc&= -9,this.A-=2)},L,L,L,L,H,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L, L,L,L,L,L,L],Bc=[function(){this.A-=2+(0>this.ha?0:1);return this.Sd.ya},function(){this.A-=2+(0>this.ha?0:1);return this.gb.ya},function(a){this.Z|=2;this.Sd.load(a);this.A-=17+(0>this.ha?0:2);return a},function(a){this.Z|=2;-4!=this.gb.load(a)&&(E(this,this.gb.td+4,this.gb.hb|=512),this.gb.type=768);this.A-=17+(0>this.ha?0:2);return a},function(a){this.Z|=2;this.A-=14+(0>this.ha?0:2);if(-4!=this.Gb.load(a,!0)&&2048!=(this.Gb.hb&2560)&&(this.Gb.lc>=this.xa.Xa&&this.Gb.lc>=(a&3)||7168==(this.Gb.hb& -7168)))return Wc(this),a;Sc(this);return a},function(a){this.Z|=2;this.A-=14+(0>this.ha?0:2);if(-4!=this.Gb.load(a,!0)&&512==(this.Gb.hb&2560)&&this.Gb.lc>=this.xa.Xa&&this.Gb.lc>=(a&3))return Wc(this),a;Sc(this);return a},K,K],cc=[tc,tc,tc,tc,tc,tc,K,K],vh=[function(a){0>this.ha?H.call(this):(a=this.Fe-this.Hc,E(this,this.ha+2,this.Hc),E(this,this.ha+4,65280|this.Hc>>16),this.A-=11);return a},function(a){0>this.ha?H.call(this):(a=this.Ge-this.Ic,E(this,this.ha+2,this.Ic),E(this,this.ha+4,65280|this.Ic>> +7168)))return Wc(this),a;Sc(this);return a},function(a){this.Z|=2;this.A-=14+(0>this.ha?0:2);if(-4!=this.Gb.load(a,!0)&&512==(this.Gb.hb&2560)&&this.Gb.lc>=this.xa.Xa&&this.Gb.lc>=(a&3))return Wc(this),a;Sc(this);return a},K,K],cc=[tc,tc,tc,tc,tc,tc,K,K],sh=[function(a){0>this.ha?H.call(this):(a=this.Fe-this.Hc,E(this,this.ha+2,this.Hc),E(this,this.ha+4,65280|this.Hc>>16),this.A-=11);return a},function(a){0>this.ha?H.call(this):(a=this.Ge-this.Ic,E(this,this.ha+2,this.Ic),E(this,this.ha+4,65280|this.Ic>> 16),this.A-=12);return a},function(a){0>this.ha?H.call(this):(this.Hc=D(this,this.ha+2)|Zc(this,this.ha+4)<<16,this.Fe=this.Hc+a,this.Z|=2,this.A-=11);return a},function(a){0>this.ha?H.call(this):(this.Ic=D(this,this.ha+2)|Zc(this,this.ha+4)<<16,this.Ge=this.Ic+a,this.Z|=2,this.A-=12);return a},function(){this.A-=2+(0>this.ha?0:1);return this.hc},K,function(a){qe.call(this,a);this.A-=0>this.ha?3:6;this.Z|=2;return a},K]; -function N(a){s.call(this,"ChipSet",a,N);this.Ha=(this.Ha=a.model)?parseInt(this.Ha,10):wh;this.Sb=0;var b=a.sw1;if(b)this.Sb=xh(b,yh|zh.Gl);else{this.rd=[360,360];(b=a.floppies)&&b.length&&(this.rd=b);if(b=this.rd.length)this.Sb|=Ah.sh,b--,this.Sb|=(b&3)<=Bh&&(this.wg=this.of=2);this.Ed=a.scaleTimers||!1;this.Ao=a.rtcDate;this.Xj= -!1;a.sound&&window&&"webkitAudioContext"in window&&(this.Ih=new window.webkitAudioContext);this.reset(!0);z(this)}v(s,N);var wh=5150,Bh=5170,Ch={none:0,tv:1,color:2,mono:3,ega:0},Ah={sh:1,ONE:0,up:64,sp:128,So:192,ef:192,ff:6},yh=12,zh={tp:16,Ko:32,Gl:48,ef:48,ff:4};k=N.prototype; -k.Eb=function(a,b,c){switch(b){case "sw1":return this.ra[b]=c,Dh(this,b,c,this.Sb,{0:this.Ha==wh?"Bootable Floppy Drive":"Loop on POST",1:this.Ha==wh?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Ha==wh)return this.ra[b]=c,Dh(this,b,c,this.Ud,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.ra[b]=c,!0}return!1}; -k.sc=function(a,b,c,d){this.qa=b;this.la=c;this.Sa=d;this.Oa=a;this.Ga=Ra(a,"Keyboard");this.ah=c.ba.Vc/1193181;fb(b,this,Eh);hb(b,this,Fh);this.Ha=Bh){this.ib=16;this.ed=0;this.dd=16;this.mg=0;this.$d=160;512<=Oh(this)&&(this.$d|=16);3==Ph(this)&&(this.$d|=64);this.zh=3;this.pg=0;this.Ub=Array(7);this.He=0;a&&(this.ja=Array(64));Qh(this, -this.Ao);for(a=21;24>=a;a++)this.ja[a]=0;for(a=14;46>a;a++)void 0===this.ja[a]&&(this.ja[a]=0);this.ja[20]=this.Pc&(zh.ef|2|Ah.sh|Ah.ef);this.ja[16]=Rh(this,0)<<4|Rh(this,1);Sh(this)}}; -function Qh(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.gc("CMOS date invalid ("+b+"), using "+c)):b&&a.gc("CMOS date: "+c);a.ja[0]=c.getSeconds();a.ja[1]=0;a.ja[2]=c.getMinutes();a.ja[3]=0;a.ja[4]=c.getHours();a.ja[5]=0;a.ja[6]=c.getDay()+1;a.ja[7]=c.getDate();a.ja[8]=c.getMonth()+1;c=c.getFullYear();a.ja[9]=c%100;c/=100;a.ja[50]=c%10|c/10<<4;a.ja[10]=38;a.ja[11]=2;a.ja[12]=0;a.ja[13]=128;a.Qf=a.$e=0;a.ml=a.Zg=null} -function Th(a){var b;void 0===b&&(b=a.Zg);a.$e=B(a.la,a.Ed)+b;a.ja[11]&64&&tb(a.la,b)}function Sh(a){for(var b=0,c=16;46>c;c++)b+=a.ja[c];a.ja[47]=b&255;a.ja[46]=b>>8} +function N(a){s.call(this,"ChipSet",a,N);this.Ha=(this.Ha=a.model)?parseInt(this.Ha,10):th;this.Sb=0;var b=a.sw1;if(b)this.Sb=uh(b,vh|wh.Gl);else{this.rd=[360,360];(b=a.floppies)&&b.length&&(this.rd=b);if(b=this.rd.length)this.Sb|=xh.sh,b--,this.Sb|=(b&3)<=yh&&(this.wg=this.of=2);this.Ed=a.scaleTimers||!1;this.Ao=a.rtcDate;this.Xj= +!1;a.sound&&window&&"webkitAudioContext"in window&&(this.Ih=new window.webkitAudioContext);this.reset(!0);z(this)}v(s,N);var th=5150,yh=5170,zh={none:0,tv:1,color:2,mono:3,ega:0},xh={sh:1,ONE:0,up:64,sp:128,So:192,ef:192,ff:6},vh=12,wh={tp:16,Ko:32,Gl:48,ef:48,ff:4};k=N.prototype; +k.Eb=function(a,b,c){switch(b){case "sw1":return this.ra[b]=c,Ah(this,b,c,this.Sb,{0:this.Ha==th?"Bootable Floppy Drive":"Loop on POST",1:this.Ha==th?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Ha==th)return this.ra[b]=c,Ah(this,b,c,this.Ud,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.ra[b]=c,!0}return!1}; +k.sc=function(a,b,c,d){this.qa=b;this.la=c;this.Sa=d;this.Oa=a;this.Ga=Ra(a,"Keyboard");this.ah=c.ba.Vc/1193181;fb(b,this,Bh);hb(b,this,Ch);this.Ha=yh){this.ib=16;this.ed=0;this.dd=16;this.mg=0;this.$d=160;512<=Lh(this)&&(this.$d|=16);3==Mh(this)&&(this.$d|=64);this.zh=3;this.pg=0;this.Ub=Array(7);this.He=0;a&&(this.ja=Array(64));Nh(this, +this.Ao);for(a=21;24>=a;a++)this.ja[a]=0;for(a=14;46>a;a++)void 0===this.ja[a]&&(this.ja[a]=0);this.ja[20]=this.Pc&(wh.ef|2|xh.sh|xh.ef);this.ja[16]=Oh(this,0)<<4|Oh(this,1);Ph(this)}}; +function Nh(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.gc("CMOS date invalid ("+b+"), using "+c)):b&&a.gc("CMOS date: "+c);a.ja[0]=c.getSeconds();a.ja[1]=0;a.ja[2]=c.getMinutes();a.ja[3]=0;a.ja[4]=c.getHours();a.ja[5]=0;a.ja[6]=c.getDay()+1;a.ja[7]=c.getDate();a.ja[8]=c.getMonth()+1;c=c.getFullYear();a.ja[9]=c%100;c/=100;a.ja[50]=c%10|c/10<<4;a.ja[10]=38;a.ja[11]=2;a.ja[12]=0;a.ja[13]=128;a.Qf=a.$e=0;a.ml=a.Zg=null} +function Qh(a){var b;void 0===b&&(b=a.Zg);a.$e=B(a.la,a.Ed)+b;a.ja[11]&64&&tb(a.la,b)}function Ph(a){for(var b=0,c=16;46>c;c++)b+=a.ja[c];a.ja[47]=b&255;a.ja[46]=b>>8} k.save=function(){var a=new I(this);a.set(0,[this.Sb,this.Ud,this.Pc,this.xe]);for(var b=[],c=0;c=Bh&&(a.set(5,[this.ib,this.ed,this.dd,this.mg,this.$d,this.zh]),a.set(6,[this.pg,this.Ub,this.He,this.ja,this.Qf,this.$e]));return a.data()}; -k.restore=function(a){var b,c;b=a[0];this.Sb=b[0];this.Ud=b[1];this.Pc=b[2];this.xe=b[3];b=a[1];for(c=0;c>2)+1)*a.dn+32*((b?a.Ud:a.xe)&15)}function $h(a,b){var c=b?a.Sb:a.Pc;return a.Ha!=wh||c&Ah.sh?((c&Ah.ef)>>Ah.ff)+1:0} -function Rh(a,b){if(b<$h(a)){if(!a.rd)return 1;if(b>zh.ff} -function Dh(a,b,c,d,e){for(var f="",g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");f+='
'+g+"
\n"}c.innerHTML=f;b=y(c,"pcjs-bitCell");c=null;for(g=0;gd.Wa[0]&&(d.Wa[0]=255,d.Wa[1]--,0>d.Wa[1]&&(d.Wa[1]=255)));return e}function ei(a,b,c,d){a=a.Za[b];c=a.xb[c];c.Wa[a.zb]=c.Xb[a.zb]=d;a.zb^=1} -function fi(a,b){var c=a.Za[b],d=c.xd|1;c.xd&=-16;return d}function gi(a,b,c){a=a.Za[b];b=c&3;a.xd=a.xd&~(16<>2].xb[b&3],c,d,e)} -function ii(a,b,c){b=a.Za[b>>2].xb[b&3];b.zg&&b.$h&&b.bh?(c&&(b.Ag=c),b.md||cd(a,b,!0)):c&&c(!0)}function cd(a,b,c){c&&(b.count=b.Wa[1]<<8|b.Wa[0],b.Cl=b.mode&12,b.Zj=b.Sc=!1);for(var d=!1;0<=b.count&&(c=b.tg<<16|b.Va[1]<<8|b.Va[0],4==b.Cl?(d=!0,function(c){b.$h.call(b.zg,b.bh,-1,function(f,g){0>f&&(b.Zj||(b.Zj=!0),f=255);b.md||cb(a.qa,c,f);(d=g)&&setTimeout(function(){ni(b)||cd(a,b)},0)})}(c)):8==b.Cl?(c=ab(a.qa,c),0>b.$h.call(b.zg,b.bh,c)&&(b.Sc=!0)):b.Sc=!0),!d&&!ni(b););} -function ni(a){if(!a.Sc&&0<=--a.count&&(a.mode&32?(a.Va[0]--,0>a.Va[0]&&(a.Va[0]=255,a.Va[1]--,0>a.Va[1]&&(a.Va[1]=255))):(a.Va[0]++,255>3];b=1<<(b&7);d.Lb&b||(d.Lb|=b,d.Gf=c||0,qi(a))}function xi(a,b){var c=a.Tb[b>>3],d=1<<(b&7);c.Lb&d&&(c.Lb&=~d,qi(a))}function qi(a,b){var c,d=-1;1>=1),tb(a.la,c))),2==b&&wb(a))}k=N.prototype;k.Ym=function(){return null}; -k.mo=function(a,b){this.Eh=b;var c=(b&192)>>6;if(3!=c){var d=b&1,e=b&14,f=b&48;if(f){var g=this.Jb[c];g.kh=f;g.mode=e;g.Hj=d;g.Xb=[0,0];g.Wa=[0,0];g.ie=[0,0];g.Tc=!1;g.xf=!1;g.me=!1;zi(this,c);0==c&&xi(this,0);2==c&&255==this.Tb[0].Qc&&77==this.pc&&(c=this.Jb[0],c.rc[0]=c.Xb[0],c.rc[1]=c.Xb[1],c.nd=B(this.la,this.Ed))}else Ai(this,c),d=this.Jb[c],d.ie[0]=d.Wa[0],d.ie[1]=d.Wa[1],d.xf=!0,zi(this,c)}};function Ci(a,b){var c=a.Jb[b],d=c.Xb[1]<<8|c.Xb[0];d||(d=1==c.he?256:65536);return d} -function yb(a,b){var c=a.Jb[b],d=c.rc[1]<<8|c.rc[0];d||(d=1==c.he?256:65536);return d}function zi(a,b){var c=a.Jb[b];c.Ad=32==c.kh?1:0;c.he=48==c.kh?2:1} -function Ai(a,b,c){var d=a.Jb[b];if(d.me&&(2!=b||a.pc&1)){var e=B(a.la,a.Ed),f=(e-d.nd)/a.ah|0;0>f&&(d.nd=e,f=0);var g=Ci(a,b),h=yb(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.Tc=!0,d.me=!1,b||si(a,0))):4==d.mode?(d.Tc=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.rc[0]=h&255,d.rc[1]=h>>8,d.nd=e,!b&&d.Tc&&si(a,0))):6==d.mode&&(h-=f,0>=h&&(d.Tc=!d.Tc,h=g+h,0>=h&&(h=g),d.rc[0]=h&255,d.rc[1]=h>>8,d.nd=e,!b&&d.Tc&&si(a,0)));d.Wa[0]=h&255;d.Wa[1]=h>>8;c&&(a.nd=0)}return d} -function xb(a,b){for(var c=0;c=Bh){var c=a.la.ba.Vc,d=B(a.la,a.Ed);null==a.Zg&&(a.Qf=B(a.la,a.Ed),a.ml=1024,a.Zg=Math.floor(a.la.ba.Vc/a.ml),Th(a));d>=a.$e&&(a.ja[12]|=64,a.ja[11]&64&&(a.ja[12]|=128,si(a,8)),a.$e=d+a.Zg);a.ja[0]==a.ja[1]&&a.ja[2]==a.ja[3]&&a.ja[4]==a.ja[5]&&(a.ja[12]|=32,a.ja[11]&32&&(a.ja[12]|=128,si(a,8)));var e=d-a.Qf,f=Math.floor(e/c);if(f&&!(a.ja[11]&128)){for(;f--;)if(60<=++a.ja[0]&&(a.ja[0]=0,60<=++a.ja[2]&&(a.ja[2]=0,24<=++a.ja[4]))){a.ja[4]= -0;a.ja[6]=a.ja[6]%7+1;var g;g=a.ja[9];var h=ja[a.ja[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.ja[7]>g&&(a.ja[7]=1,12<++a.ja[8]&&(a.ja[8]=1,a.ja[9]=(a.ja[9]+1)%100))}a.ja[12]|=16;a.ja[11]&16&&(a.ja[12]|=128,si(a,8))}a.Qf=d-e%c}}k.Qm=function(){var a=this.sg;if(this.nf&16)if(this.pc&128)a=this.Pc;else if(this.Ga){var a=this.Ga,b=0;a.Kb.length&&(b=a.Kb[0]);a=b}return a};k.eo=function(a,b){this.sg=b};k.Rm=function(){return this.pc}; -k.fo=function(a,b){Di(this,b);this.Ga&&Ei(this.Ga,b&128?!1:!0,b&64?!0:!1)};function Di(a,b){var c=!!(b&2),d=!!(a.pc&2);a.pc=b;c!=d&&wb(a,c)}k.Sm=function(){var a=0,a=this.Ha==wh?this.pc&4?a|this.xe&15:a|this.xe>>4&1:this.pc&8?a|this.Pc>>4:a|this.Pc&15;this.pc&1&&Ai(this,2).Tc&&(a=this.pc&2?a|32:a|16);return a};k.ho=function(a,b){this.Ch=b};k.Tm=function(){return this.nf};k.io=function(a,b){this.nf=b};k.gm=function(){var a=this.mg;this.ib&=-258;this.Ga&&Fi(this.Ga);return a}; -k.vn=function(a,b){if(this.ib&8)switch(this.ed){case 96:Gi(this,b);break;case 209:Hi(this,b);break;default:if(Gi(this,this.dd&-17),this.Ga){var c=-1;switch(b){case 255:c=250,Ii(this.Ga)}Ji(this,c)}}this.ed=b;this.ib&=-9};k.hm=function(){return this.pc&-209|(B(this.la)&64?16:0)};k.wn=function(a,b){Di(this,b)};k.im=function(){var a=this.ib&255;this.ib&256&&(this.ib|=1,this.ib&=-257);return a}; -k.un=function(a,b){this.ed=b;this.ib|=8;var c=0;240<=this.ed&&(c=this.ed^15,this.ed=240);switch(this.ed){case 192:Ji(this,this.$d);break;case 173:Gi(this,this.dd|16);break;case 174:Gi(this,this.dd&-17);this.Ga&&Fi(this.Ga);break;case 170:this.Ga&&(this.Ga.Kb=[]);Gi(this,this.dd|16);Ji(this,85);Hi(this,3);break;case 224:Ji(this,this.dd&16?0:1);break;case 240:c&1&&xc(this.la)}};function Gi(a,b){a.dd=b;a.ib=a.ib&-5|b&4;a.Ga&&Ei(a.Ga,!!(b&8),!(b&16))} -function Ji(a,b){0<=b&&(a.mg=b,a.ib&=-2,a.ib|=256)}function Hi(a,b){a.zh=b;Va(a.qa,!!(b&2));b&1||xc(a.la)}function Ki(a,b){a.Ha=c)if(d=this.ja[c],10>c){var e=!1;4!=c&&5!=c||this.ja[11]&2||(d=12>d?d?d:12:(d-=12)?d+128:140,e=!0);this.ja[11]&4||(e&&128=c){if(e=b,10>c){var f=!1;this.ja[11]&4||(e=10*(e>>4)+(e&15),f=!0);if(4==c||5==c)f&&23=e?e=12==e?0:e:(e-=116,e=24==e?12:e))}}else e=b;this.ja[c]=e;11==c&&d&64&&b&64&&Th(this)};k.Om=function(){return this.pg};k.ao=function(a,b){this.pg=b};k.co=function(a,b){this.rg=b};k.Mn=function(){};k.Nn=function(){}; -function xh(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;ec||2E4>8&255,this.yb[c++]=f[b]>>16&255,this.yb[c++]=f[b]>>24&255;else this.yb=d;this.xh=d.symbols;if(!this.yb.length){q("Empty ROM: "+a);return}if(1==this.yb.length){q(this.yb[0]);return}}catch(g){this.Aa("ROM data error: "+ -g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.yb=Array(a.length),d=0;dthis.lg?21:23,c=a.ja[b]|a.ja[b+1]<<8,c=c+(this.pd>>10);a.ja[b]=c&255;a.ja[b+1]=c>>8;Sh(a)}}else q("No RAM allocated")}; -wa(function(){for(var a=y(window.document,"pcjs","ram"),b=0;b=yh&&(a.set(5,[this.ib,this.ed,this.dd,this.mg,this.$d,this.zh]),a.set(6,[this.pg,this.Ub,this.He,this.ja,this.Qf,this.$e]));return a.data()}; +k.restore=function(a){var b,c;b=a[0];this.Sb=b[0];this.Ud=b[1];this.Pc=b[2];this.xe=b[3];b=a[1];for(c=0;c>2)+1)*a.dn+32*((b?a.Ud:a.xe)&15)}function Xh(a,b){var c=b?a.Sb:a.Pc;return a.Ha!=th||c&xh.sh?((c&xh.ef)>>xh.ff)+1:0} +function Oh(a,b){if(b>wh.ff} +function Ah(a,b,c,d,e){for(var f="",g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");f+='
'+g+"
\n"}c.innerHTML=f;b=y(c,"pcjs-bitCell");c=null;for(g=0;gd.Wa[0]&&(d.Wa[0]=255,d.Wa[1]--,0>d.Wa[1]&&(d.Wa[1]=255)));return e}function bi(a,b,c,d){a=a.Za[b];c=a.xb[c];c.Wa[a.zb]=c.Xb[a.zb]=d;a.zb^=1} +function ci(a,b){var c=a.Za[b],d=c.xd|1;c.xd&=-16;return d}function di(a,b,c){a=a.Za[b];b=c&3;a.xd=a.xd&~(16<>2].xb[b&3],c,d,e)} +function fi(a,b,c){b=a.Za[b>>2].xb[b&3];b.zg&&b.$h&&b.bh?(c&&(b.Ag=c),b.md||cd(a,b,!0)):c&&c(!0)}function cd(a,b,c){c&&(b.count=b.Wa[1]<<8|b.Wa[0],b.Cl=b.mode&12,b.Zj=b.Sc=!1);for(var d=!1;0<=b.count&&(c=b.tg<<16|b.Va[1]<<8|b.Va[0],4==b.Cl?(d=!0,function(c){b.$h.call(b.zg,b.bh,-1,function(f,g){0>f&&(b.Zj||(b.Zj=!0),f=255);b.md||cb(a.qa,c,f);(d=g)&&setTimeout(function(){ki(b)||cd(a,b)},0)})}(c)):8==b.Cl?(c=ab(a.qa,c),0>b.$h.call(b.zg,b.bh,c)&&(b.Sc=!0)):b.Sc=!0),!d&&!ki(b););} +function ki(a){if(!a.Sc&&0<=--a.count&&(a.mode&32?(a.Va[0]--,0>a.Va[0]&&(a.Va[0]=255,a.Va[1]--,0>a.Va[1]&&(a.Va[1]=255))):(a.Va[0]++,255>3];b=1<<(b&7);d.Lb&b||(d.Lb|=b,d.Gf=c||0,ni(a))}function qi(a,b){var c=a.Tb[b>>3],d=1<<(b&7);c.Lb&d&&(c.Lb&=~d,ni(a))}function ni(a,b){var c,d=-1;1>=1),tb(a.la,c))),2==b&&wb(a))}k=N.prototype;k.Ym=function(){return null}; +k.mo=function(a,b){this.Eh=b;var c=(b&192)>>6;if(3!=c){var d=b&1,e=b&14,f=b&48;if(f){var g=this.Jb[c];g.kh=f;g.mode=e;g.Hj=d;g.Xb=[0,0];g.Wa=[0,0];g.ie=[0,0];g.Tc=!1;g.xf=!1;g.me=!1;wi(this,c);0==c&&qi(this,0);2==c&&255==this.Tb[0].Qc&&77==this.pc&&(c=this.Jb[0],c.rc[0]=c.Xb[0],c.rc[1]=c.Xb[1],c.nd=B(this.la,this.Ed))}else xi(this,c),d=this.Jb[c],d.ie[0]=d.Wa[0],d.ie[1]=d.Wa[1],d.xf=!0,wi(this,c)}};function zi(a,b){var c=a.Jb[b],d=c.Xb[1]<<8|c.Xb[0];d||(d=1==c.he?256:65536);return d} +function yb(a,b){var c=a.Jb[b],d=c.rc[1]<<8|c.rc[0];d||(d=1==c.he?256:65536);return d}function wi(a,b){var c=a.Jb[b];c.Ad=32==c.kh?1:0;c.he=48==c.kh?2:1} +function xi(a,b,c){var d=a.Jb[b];if(d.me&&(2!=b||a.pc&1)){var e=B(a.la,a.Ed),f=(e-d.nd)/a.ah|0;0>f&&(d.nd=e,f=0);var g=zi(a,b),h=yb(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.Tc=!0,d.me=!1,b||pi(a,0))):4==d.mode?(d.Tc=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.rc[0]=h&255,d.rc[1]=h>>8,d.nd=e,!b&&d.Tc&&pi(a,0))):6==d.mode&&(h-=f,0>=h&&(d.Tc=!d.Tc,h=g+h,0>=h&&(h=g),d.rc[0]=h&255,d.rc[1]=h>>8,d.nd=e,!b&&d.Tc&&pi(a,0)));d.Wa[0]=h&255;d.Wa[1]=h>>8;c&&(a.nd=0)}return d} +function xb(a,b){for(var c=0;c=yh){var c=a.la.ba.Vc,d=B(a.la,a.Ed);null==a.Zg&&(a.Qf=B(a.la,a.Ed),a.ml=1024,a.Zg=Math.floor(a.la.ba.Vc/a.ml),Qh(a));d>=a.$e&&(a.ja[12]|=64,a.ja[11]&64&&(a.ja[12]|=128,pi(a,8)),a.$e=d+a.Zg);a.ja[0]==a.ja[1]&&a.ja[2]==a.ja[3]&&a.ja[4]==a.ja[5]&&(a.ja[12]|=32,a.ja[11]&32&&(a.ja[12]|=128,pi(a,8)));var e=d-a.Qf,f=Math.floor(e/c);if(f&&!(a.ja[11]&128)){for(;f--;)if(60<=++a.ja[0]&&(a.ja[0]=0,60<=++a.ja[2]&&(a.ja[2]=0,24<=++a.ja[4]))){a.ja[4]= +0;a.ja[6]=a.ja[6]%7+1;var g;g=a.ja[9];var h=ja[a.ja[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.ja[7]>g&&(a.ja[7]=1,12<++a.ja[8]&&(a.ja[8]=1,a.ja[9]=(a.ja[9]+1)%100))}a.ja[12]|=16;a.ja[11]&16&&(a.ja[12]|=128,pi(a,8))}a.Qf=d-e%c}}k.Qm=function(){var a=this.sg;if(this.nf&16)if(this.pc&128)a=this.Pc;else if(this.Ga){var a=this.Ga,b=0;a.Kb.length&&(b=a.Kb[0]);a=b}return a};k.eo=function(a,b){this.sg=b};k.Rm=function(){return this.pc}; +k.fo=function(a,b){Ai(this,b);this.Ga&&Bi(this.Ga,b&128?!1:!0,b&64?!0:!1)};function Ai(a,b){var c=!!(b&2),d=!!(a.pc&2);a.pc=b;c!=d&&wb(a,c)}k.Sm=function(){var a=0,a=this.Ha==th?this.pc&4?a|this.xe&15:a|this.xe>>4&1:this.pc&8?a|this.Pc>>4:a|this.Pc&15;this.pc&1&&xi(this,2).Tc&&(a=this.pc&2?a|32:a|16);return a};k.ho=function(a,b){this.Ch=b};k.Tm=function(){return this.nf};k.io=function(a,b){this.nf=b};k.gm=function(){var a=this.mg;this.ib&=-258;this.Ga&&Ci(this.Ga);return a}; +k.vn=function(a,b){if(this.ib&8)switch(this.ed){case 96:Di(this,b);break;case 209:Ei(this,b);break;default:if(Di(this,this.dd&-17),this.Ga){var c=-1;switch(b){case 255:c=250,Fi(this.Ga)}Gi(this,c)}}this.ed=b;this.ib&=-9};k.hm=function(){return this.pc&-209|(B(this.la)&64?16:0)};k.wn=function(a,b){Ai(this,b)};k.im=function(){var a=this.ib&255;this.ib&256&&(this.ib|=1,this.ib&=-257);return a}; +k.un=function(a,b){this.ed=b;this.ib|=8;var c=0;240<=this.ed&&(c=this.ed^15,this.ed=240);switch(this.ed){case 192:Gi(this,this.$d);break;case 173:Di(this,this.dd|16);break;case 174:Di(this,this.dd&-17);this.Ga&&Ci(this.Ga);break;case 170:this.Ga&&(this.Ga.Kb=[]);Di(this,this.dd|16);Gi(this,85);Ei(this,3);break;case 224:Gi(this,this.dd&16?0:1);break;case 240:c&1&&xc(this.la)}};function Di(a,b){a.dd=b;a.ib=a.ib&-5|b&4;a.Ga&&Bi(a.Ga,!!(b&8),!(b&16))} +function Gi(a,b){0<=b&&(a.mg=b,a.ib&=-2,a.ib|=256)}function Ei(a,b){a.zh=b;Va(a.qa,!!(b&2));b&1||xc(a.la)}function Hi(a,b){a.Ha=c)if(d=this.ja[c],10>c){var e=!1;4!=c&&5!=c||this.ja[11]&2||(d=12>d?d?d:12:(d-=12)?d+128:140,e=!0);this.ja[11]&4||(e&&128=c){if(e=b,10>c){var f=!1;this.ja[11]&4||(e=10*(e>>4)+(e&15),f=!0);if(4==c||5==c)f&&23=e?e=12==e?0:e:(e-=116,e=24==e?12:e))}}else e=b;this.ja[c]=e;11==c&&d&64&&b&64&&Qh(this)};k.Om=function(){return this.pg};k.ao=function(a,b){this.pg=b};k.co=function(a,b){this.rg=b};k.Mn=function(){};k.Nn=function(){}; +function uh(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;ec||2E4>8&255,this.yb[c++]=f[b]>>16&255,this.yb[c++]=f[b]>>24&255;else this.yb=d;this.xh=d.symbols;if(!this.yb.length){q("Empty ROM: "+a);return}if(1==this.yb.length){q(this.yb[0]);return}}catch(g){this.Aa("ROM data error: "+ +g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.yb=Array(a.length),d=0;dthis.lg?21:23,c=a.ja[b]|a.ja[b+1]<<8,c=c+(this.pd>>10);a.ja[b]=c&255;a.ja[b+1]=c>>8;Ph(a)}}else q("No RAM allocated")}; +wa(function(){for(var a=y(window.document,"pcjs","ram"),b=0;b":62,"?":63,"@":64,Io:65,Jo:66,tj:67,El:68,E:69,Qo:70,To:71,uj:72,Vo:73,Wo:74,Xo:75,Yo:76,Zo:77,th:78,ap:79,bp:80,dp:81,wj:82,hp:83,rp:84,vp:85,wp:86,xp:87,zp:88,Ap:89,Bp:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Cp:97,Ep:98,Gp:99,Hp:100,Ip:101,Jp:102,Kp:103,Lp:104,Mp:105,Np:106,Op:107, -Pp:108,Qp:109,Rp:110,Tp:111,Up:112,Vp:113,Wp:114,Xp:115,Yp:116,Zp:117,aq:118,bq:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},Ti={};Ti[186]=P[";"];Ti[187]=P["="];Ti[188]=P[","];Ti[189]=P["-"];Ti[190]=P["."];Ti[191]=P["/"];Ti[192]=P["`"];Ti[219]=P["["];Ti[220]=P["\\"];Ti[221]=P["]"];Ti[222]=P["'"];Ti[173]=P["-"];var Q={};Q[P["1"]]=P["!"];Q[P["2"]]=P["@"];Q[P["3"]]=P["#"];Q[P["4"]]=P.$;Q[P["5"]]=P["%"];Q[P["6"]]=P["^"];Q[P["7"]]=P["&"];Q[P["8"]]=P["*"];Q[P["9"]]=P["("];Q[P["0"]]=P[")"]; +Pp:108,Qp:109,Rp:110,Tp:111,Up:112,Vp:113,Wp:114,Xp:115,Yp:116,Zp:117,aq:118,bq:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},Pi={};Pi[186]=P[";"];Pi[187]=P["="];Pi[188]=P[","];Pi[189]=P["-"];Pi[190]=P["."];Pi[191]=P["/"];Pi[192]=P["`"];Pi[219]=P["["];Pi[220]=P["\\"];Pi[221]=P["]"];Pi[222]=P["'"];Pi[173]=P["-"];var Q={};Q[P["1"]]=P["!"];Q[P["2"]]=P["@"];Q[P["3"]]=P["#"];Q[P["4"]]=P.$;Q[P["5"]]=P["%"];Q[P["6"]]=P["^"];Q[P["7"]]=P["&"];Q[P["8"]]=P["*"];Q[P["9"]]=P["("];Q[P["0"]]=P[")"]; Q[186]=P[":"];Q[187]=P["+"];Q[188]=P["<"];Q[189]=P._;Q[190]=P[">"];Q[191]=P["?"];Q[192]=P["~"];Q[219]=P["{"];Q[220]=P["|"];Q[221]=P["}"];Q[222]=P['"'];Q[173]=P._;Q[61]=P["+"];Q[59]=P[":"]; -var Ui={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},Vi={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,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046},Wi={esc:1027,1:P["1"],2:P["2"],3:P["3"],4:P["4"],5:P["5"],6:P["6"],7:P["7"],8:P["8"],9:P["9"],0:P["0"],"-":P["-"],"=":P["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89,u:85,i:73,o:79,p:80,"[":P["["],"]":P["]"],enter:13, +var Qi={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},Ri={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,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046},Si={esc:1027,1:P["1"],2:P["2"],3:P["3"],4:P["4"],5:P["5"],6:P["6"],7:P["7"],8:P["8"],9:P["9"],0:P["0"],"-":P["-"],"=":P["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89,u:85,i:73,o:79,p:80,"[":P["["],"]":P["]"],enter:13, ctrl:1017,a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":P[";"],quote:P["'"],"`":P["`"],shift:1016,"\\":P["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":P[","],".":P["."],"/":P["/"],"right-shift":3016,prtsc:1044,alt:1018,space:P[" "],"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},Xi={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},R={1027:1};R[P["1"]]=2;R[P["!"]]=10754;R[P["2"]]=3;R[P["@"]]=10755;R[P["3"]]=4;R[P["#"]]=10756;R[P["4"]]=5;R[P.$]=10757;R[P["5"]]=6;R[P["%"]]=10758;R[P["6"]]=7;R[P["^"]]=10759;R[P["7"]]=8;R[P["&"]]=10760;R[P["8"]]=9;R[P["*"]]=10761;R[P["9"]]=10;R[P["("]]=10762;R[P["0"]]=11;R[P[")"]]=10763;R[P["-"]]=12;R[P._]=10764;R[P["="]]=13;R[P["+"]]=10765;R[1008]=14;R[1009]=15;R[113]=16; +"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046},Ti={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},R={1027:1};R[P["1"]]=2;R[P["!"]]=10754;R[P["2"]]=3;R[P["@"]]=10755;R[P["3"]]=4;R[P["#"]]=10756;R[P["4"]]=5;R[P.$]=10757;R[P["5"]]=6;R[P["%"]]=10758;R[P["6"]]=7;R[P["^"]]=10759;R[P["7"]]=8;R[P["&"]]=10760;R[P["8"]]=9;R[P["*"]]=10761;R[P["9"]]=10;R[P["("]]=10762;R[P["0"]]=11;R[P[")"]]=10763;R[P["-"]]=12;R[P._]=10764;R[P["="]]=13;R[P["+"]]=10765;R[1008]=14;R[1009]=15;R[113]=16; R[81]=10768;R[119]=17;R[87]=10769;R[101]=18;R[69]=10770;R[114]=19;R[82]=10771;R[116]=20;R[84]=10772;R[121]=21;R[89]=10773;R[117]=22;R[85]=10774;R[105]=23;R[73]=10775;R[111]=24;R[79]=10776;R[112]=25;R[80]=10777;R[P["["]]=26;R[P["{"]]=10778;R[P["]"]]=27;R[P["}"]]=10779;R[13]=28;R[1017]=29;R[97]=30;R[65]=10782;R[115]=31;R[83]=10783;R[100]=32;R[68]=10784;R[102]=33;R[70]=10785;R[103]=34;R[71]=10786;R[104]=35;R[72]=10787;R[106]=36;R[74]=10788;R[107]=37;R[75]=10789;R[108]=38;R[76]=10790;R[P[";"]]=39; R[P[":"]]=10791;R[P["'"]]=40;R[P['"']]=10792;R[P["`"]]=41;R[P["~"]]=10793;R[1016]=42;R[P["\\"]]=43;R[P["|"]]=10795;R[122]=44;R[90]=10796;R[120]=45;R[88]=10797;R[99]=46;R[67]=10798;R[118]=47;R[86]=10799;R[98]=48;R[66]=10800;R[110]=49;R[78]=10801;R[109]=50;R[77]=10802;R[P[","]]=51;R[P["<"]]=10803;R[P["."]]=52;R[P[">"]]=10804;R[P["/"]]=53;R[P["?"]]=10805;R[3016]=54;R[1044]=55;R[1018]=56;R[P[" "]]=57;R[1020]=58;R[1112]=59;R[1113]=60;R[1114]=61;R[1115]=62;R[1116]=63;R[1117]=64;R[1118]=65;R[1119]=66; -R[1120]=67;R[1121]=68;R[1144]=69;R[1145]=70;R[1036]=71;R[1038]=72;R[1033]=73;R[1109]=74;R[1037]=75;R[1101]=76;R[1039]=77;R[1107]=78;R[1035]=79;R[1040]=80;R[1034]=81;R[1045]=82;R[1046]=83;R[1122]=87;R[1123]=88;R[1091]=91;R[1093]=93;R[1224]=91;R[4003]=7470;R[4008]=7494;R[4046]=3677523;k=Si.prototype; -k.Eb=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.ra[e])switch(b){case "kbd":return this.ra[e]=c,c.onkeydown=function(a){return Yi(d,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;var b=d.Ib.length?d.Ib[0].Td:0;b&&(65<=b&&90>=b||97<=b&&122>=b)&&(65<=a&&90>=a||97<=a&&122>=a)&&b!=a&&(d.Wh=!0,a=b);(b=!R[a]||!!(d.rb&128))||Zi(d,a,!0);return b},c.onkeyup=function(a){return Yi(d,a,!1)},!0;case "caps-lock":return this.ra[e]=c,c.onclick=function(){d.la&&d.la.$c();Zi(d,1020, -!0)},!0;case "num-lock":return this.ra[e]=c,c.onclick=function(){d.la&&d.la.$c();Zi(d,1144,!0)},!0;case "scroll-lock":return this.ra[e]=c,c.onclick=function(){d.la&&d.la.$c();Zi(d,1145,!0)},!0;default:var f=b.toUpperCase().replace(/-/g,"_");if(void 0!==Vi[f]&&"button"==a)return this.ra[e]=c,c.onclick=function(a,b,c){return function(){a.la&&a.la.$c();$i(a,c,!0);Zi(a,c,!0)}}(this,f,Vi[f]),!0;if(void 0!==Wi[b])return this.Jj++,this.ra[e]=c,a=function(a,b,c){return function(){Zi(a,c)}}(this,b,Wi[b]), -b=function(a,b,c){return function(){aj(a,c)}}(this,b,Wi[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}return!1};function bj(a,b,c){if(a.Jj){for(var d in Q)if(b==Q[d]){b=parseInt(d,10);(d=Ti[d])&&(b=d);break}for(var e in Wi)if((d=Wi[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=Wi[e]==d),d){(a=a.ra["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}} -k.sc=function(a,b,c,d){this.qa=b;this.la=c;this.Sa=d;this.ka=Ra(a,"ChipSet")};function Ii(a,b){a.dc("keyboard reset",cj|dj);a.Kb=[170];b&&a.ka&&Ki(a.ka,a.Kb[0])}function Ei(a,b,c){a.Sh!==c&&(a.Sh=a.Vh=c);a.Fg!==b&&(a.Fg=b)&&!a.Vh&&Li(a,!0);a.Fg&&a.Vh&&(Ii(a,!0),a.Vh=!1)}function Fi(a){var b=0;a.Kb.length&&(b=a.Kb[0],a.ka&&Ki(a.ka,b))}function Li(a,b){0=b||97<=b&&122>=b)&&(65<=a&&90>=a||97<=a&&122>=a)&&b!=a&&(d.Wh=!0,a=b);(b=!R[a]||!!(d.rb&128))||Vi(d,a,!0);return b},c.onkeyup=function(a){return Ui(d,a,!1)},!0;case "caps-lock":return this.ra[e]=c,c.onclick=function(){d.la&&d.la.$c();Vi(d,1020, +!0)},!0;case "num-lock":return this.ra[e]=c,c.onclick=function(){d.la&&d.la.$c();Vi(d,1144,!0)},!0;case "scroll-lock":return this.ra[e]=c,c.onclick=function(){d.la&&d.la.$c();Vi(d,1145,!0)},!0;default:var f=b.toUpperCase().replace(/-/g,"_");if(void 0!==Ri[f]&&"button"==a)return this.ra[e]=c,c.onclick=function(a,b,c){return function(){a.la&&a.la.$c();Wi(a,c,!0);Vi(a,c,!0)}}(this,f,Ri[f]),!0;if(void 0!==Si[b])return this.Jj++,this.ra[e]=c,a=function(a,b,c){return function(){Vi(a,c)}}(this,b,Si[b]), +b=function(a,b,c){return function(){Xi(a,c)}}(this,b,Si[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}return!1};function Yi(a,b,c){if(a.Jj){for(var d in Q)if(b==Q[d]){b=parseInt(d,10);(d=Pi[d])&&(b=d);break}for(var e in Si)if((d=Si[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=Si[e]==d),d){(a=a.ra["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}} +k.sc=function(a,b,c,d){this.qa=b;this.la=c;this.Sa=d;this.ka=Ra(a,"ChipSet")};function Fi(a,b){a.dc("keyboard reset",32896);a.Kb=[170];b&&a.ka&&Hi(a.ka,a.Kb[0])}function Bi(a,b,c){a.Sh!==c&&(a.Sh=a.Vh=c);a.Fg!==b&&(a.Fg=b)&&!a.Vh&&Ii(a,!0);a.Fg&&a.Vh&&(Fi(a,!0),a.Vh=!1)}function Ci(a){var b=0;a.Kb.length&&(b=a.Kb[0],a.ka&&Hi(a.ka,b))}function Ii(a,b){0>=1);if(b&3584){if(!1===d)return!0;d=null}null==d&&(d=!((c?a.Ie:a.rb)&b));if(c){a.Ie&=~b;d&&(a.Ie|=b);c=b;var f,g;for(g in Xi)d="led-"+g,e=Xi[g],c&&c!=e||!(f=a.ra[d])||(f.style.backgroundColor=a.Ie&e?"#00ff00":"#000000")}else a.rb&=~b,d&&(a.rb|=b);return!0}}return!1} -function Zi(a,b,c){if(R[b]&&a.la&&a.la.ma.Fb){for(var d,e=0;ee||(e==a.Ib.length&&(d={},d.Td=b,d.rb=a.rb,bj(a,b,!0),e++),0b.Yc){if(!b.wf){aj(a,b.Td);return}b.wf=!1;c=a.gn}else c=1==b.Yc++?a.hn:a.jn;b.Al=setTimeout(function(a){return function(){ej(a,b)}}(a),c)}}else aj(a,b.Td,!0)}function gj(a,b,c){var d=b;if(65<=b&&90>=b)!(a.rb&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.rb&515)==c&&(d=b-32);else if(!!(a.rb&3)==c){if(a=Q[b])d=a}else if(a=Ti[b])d=a;return d}k.dh=function(a){this.Gg=a;a||(this.rb&=-256)}; -function Yi(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=gj(a,g,!0);a.Rj&&h==P["`"]&&(g=h=27);if(R[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),$i(a,h,!1,c)){if(20==g||144==g||145==g)a.Yl||(c=e=!0);if(!(c||91!=g&&93!=g))for(var m=0;m=b||97<=b&&122>=b;d>>>=8;){var g=0,h=d&255;224==f||225==f?e.push(f|(c?0:128)):(42==h?a.rb&3||a.rb&512&&b||(g=h):29==h?a.rb&12||(g=h):56==h?a.rb&48||(g=h):e.push(f|(c?0:128)),g&&(c?e.unshift(g):e.push(g|128)))}for(c=0;cd.Kb.length?(d.Kb.push(f),1==d.Kb.length&&d.ka&&Ki(d.ka,f)):(20==d.Kb.length&&d.Kb.push(255),d.dc("scan code buffer overflow")))}} -wa(function(){for(var a=y(window.document,"pcjs","keyboard"),b=0;b>=1);if(b&3584){if(!1===d)return!0;d=null}null==d&&(d=!((c?a.Ie:a.rb)&b));if(c){a.Ie&=~b;d&&(a.Ie|=b);c=b;var f,g;for(g in Ti)d="led-"+g,e=Ti[g],c&&c!=e||!(f=a.ra[d])||(f.style.backgroundColor=a.Ie&e?"#00ff00":"#000000")}else a.rb&=~b,d&&(a.rb|=b);return!0}}return!1} +function Vi(a,b,c){if(R[b]&&a.la&&a.la.ma.Fb){for(var d,e=0;ee||(e==a.Ib.length&&(d={},d.Td=b,d.rb=a.rb,Yi(a,b,!0),e++),0b.Yc){if(!b.wf){Xi(a,b.Td);return}b.wf=!1;c=a.gn}else c=1==b.Yc++?a.hn:a.jn;b.Al=setTimeout(function(a){return function(){Zi(a,b)}}(a),c)}}else Xi(a,b.Td,!0)}function aj(a,b,c){var d=b;if(65<=b&&90>=b)!(a.rb&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.rb&515)==c&&(d=b-32);else if(!!(a.rb&3)==c){if(a=Q[b])d=a}else if(a=Pi[b])d=a;return d}k.dh=function(a){this.Gg=a;a||(this.rb&=-256)}; +function Ui(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=aj(a,g,!0);a.Rj&&h==P["`"]&&(g=h=27);if(R[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),Wi(a,h,!1,c)){if(20==g||144==g||145==g)a.Yl||(c=e=!0);if(!(c||91!=g&&93!=g))for(var m=0;m=b||97<=b&&122>=b;d>>>=8;){var g=0,h=d&255;224==f||225==f?e.push(f|(c?0:128)):(42==h?a.rb&3||a.rb&512&&b||(g=h):29==h?a.rb&12||(g=h):56==h?a.rb&48||(g=h):e.push(f|(c?0:128)),g&&(c?e.unshift(g):e.push(g|128)))}for(c=0;cd.Kb.length?(d.Kb.push(f),1==d.Kb.length&&d.ka&&Hi(d.ka,f)):(20==d.Kb.length&&d.Kb.push(255),d.dc("scan code buffer overflow")))}} +wa(function(){for(var a=y(window.document,"pcjs","keyboard"),b=0;bc.length)c=[!1,0,null,null,0,Array(sj)];this.Ng=b;this.Ua=e[2];this.Hb=e[3];this.Kc=d||e[4];65536<=this.Kc&&720896<=this.Ua&&(this.Hb=Math.min(this.Kc>>2,32768));this.Mc=c[0];this.tc=c[1];this.qf=c[2];this.$f=c[3];this.Ac=c[4]&255;this.Mg=c[4]>>8&255;this.ic=c[5];this.hi=sj;if(5==b){this.hi=tj;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.Ua,this.Hb,this.Kc],Array(this.Kc>> +var cj={2:{ri:15700,qi:208,ej:85,fj:96},3:{ri:18432,qi:364,ej:85,fj:96},4:{ri:21850,qi:364,ej:85,fj:96}},dj={6:[1,3,!0],7:[2,3,!0],8:[6,3,!0],9:[4,3,!0],10:[3,1,!0],11:[3,2,!0],0:[1,3,!1],1:[2,3,!1],2:[6,3,!1],3:[4,3,!1],4:[3,1,!1],5:[3,2,!1]},bj=7,V=[,[40,25,1,0,3],,[80,25,1,0,3],[320,200,8,192],,[640,200,16,192]];V[bj]=[80,25,1,0,1];V[13]=[320,200,16];V[14]=[640,200,16];V[15]=[640,350,16];V[16]=[640,350,16];V[0]=V[1];V[2]=V[3];V[5]=V[4];var ej=Array(5);ej[0]=[0,0,0,255];ej[1]=[127,192,127,255]; +ej[2]=[127,192,127,255];ej[3]=[127,255,127,255];ej[4]=[127,255,127,255];var fj=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],W=Array(16);W[0]=[0,0,0,255];W[1]=[0,0,170,255];W[2]=[0,170,0,255];W[3]=[0,170,170,255];W[4]=[170,0,0,255];W[5]=[170,0,170,255];W[6]=[170,85,0,255];W[7]=[170,170,170,255];W[8]=[85,85,85,255];W[9]=[85,85,255,255];W[10]=[85,255,85,255];W[11]=[85,255,255,255];W[12]=[255,85,85,255];W[13]=[255,85,255,255];W[14]=[255,255,85,255];W[15]=[255,255,255,255]; +var gj=[2,4,6],hj=[3,5,7],ij=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],jj=[0,255,65280,65535,16711680,16711935,16776960,16777215,4278190080,4278190335,4278255360,4278255615,4294901760,4294902015,4294967040,4294967295],X=[0];X[128]=1;X[32768]=2;X[32896]=3;X[8388608]=4;X[8388736]=5;X[8421376]=6;X[8421504]=7;X[2147483648]=8;X[2147483776]=9;X[2147516416]=10;X[2147516544]=11;X[2155872256]=12;X[2155872384]=13;X[2155905024]=14;X[2155905152]=15; +function kj(a,b,c,d){if(void 0!==b&&(!c||c.length)){var e=lj[b],f=a.Ld||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(mj)];this.Ng=b;this.Ua=e[2];this.Hb=e[3];this.Kc=d||e[4];65536<=this.Kc&&720896<=this.Ua&&(this.Hb=Math.min(this.Kc>>2,32768));this.Mc=c[0];this.tc=c[1];this.qf=c[2];this.$f=c[3];this.Ac=c[4]&255;this.Mg=c[4]>>8&255;this.ic=c[5];this.hi=mj;if(5==b){this.hi=nj;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.Ua,this.Hb,this.Kc],Array(this.Kc>> 2),771,0,4294967295,0,4294967295,0,4294967295,0,0,0]);this.Dd=b[0];this.oe=b[1];this.Wd=b[2];this.oj=b[3];this.Qg=b[4];this.Yh=b[5];this.Ue=b[6];this.ig=b[7];this.ai=b[8];this.bi=b[9];this.Te=b[10];this.Ce=b[11];this.Ab=b[12];d=b[13];"number"==typeof d&&(d=[this.Ua,this.Hb,d]);this.Ua=d[0];this.Hb=d[1];d=this.Kc>>2;if((this.Zd=b[14])&&this.Zd.length>8&255)} +this.eb=b[17];this.Wc=b[18];this.lb=b[19];this.$g=b[20];this.Od=b[21];this.re=b[22];this.ji=b[23];this.ki=b[24]}f=cj[f]||cj[3];this.li=a.la.ba.Vc/f.ri|0;this.ln=this.li*f.ej/100|0;this.lk=this.li*f.qi;this.nn=this.lk*f.fj/100|0;this.si=null==c[7]?0:c[7]}}var mj=18,nj=25;function oj(a){return this.Cc(a)|this.Cc(a+1)<<8}function pj(a,b){this.Fc(a,b&255);this.Fc(a+1,b>>8&255)} var Y=[,,function(a){a+=this.offset;return(this.ea.Ab=this.pa[a])>>this.ea.bj&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.pa[b]>>8:this.pa[b])&255}];Y[16]=function(a){a+=this.offset;a=this.pa[a];for(var b=this.ea.ji&this.ea.ki,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};Y[512]=function(a,b){var c=a+this.offset,d;d=this.pa[c]&~this.ea.eb|(b|b<<8|b<<16|b<<24)&this.ea.eb;d=d&this.ea.lb|this.ea.Ab&~this.ea.lb;this.pa[c]!=d&&(this.pa[c]=d,this.jb=!0)}; Y[1024]=function(a,b){var c=a+this.offset;b=b>>this.ea.Wc|b<<8-this.ea.Wc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Od|this.ea.re;d=d&this.ea.eb|this.pa[c]&~this.ea.eb;d=d&this.ea.lb|this.ea.Ab&~this.ea.lb;this.pa[c]!=d&&(this.pa[c]=d,this.jb=!0)}; Y[1536]=function(a,b){var c=a+this.offset;b=b>>this.ea.Wc|b<<8-this.ea.Wc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Od|this.ea.re;d&=this.ea.Ab;d=d&this.ea.eb|this.pa[c]&~this.ea.eb;d=d&this.ea.lb|this.ea.Ab&~this.ea.lb;this.pa[c]!=d&&(this.pa[c]=d,this.jb=!0)}; Y[2560]=function(a,b){var c=a+this.offset;b=b>>this.ea.Wc|b<<8-this.ea.Wc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Od|this.ea.re;d|=this.ea.Ab;d=d&this.ea.eb|this.pa[c]&~this.ea.eb;d=d&this.ea.lb|this.ea.Ab&~this.ea.lb;this.pa[c]!=d&&(this.pa[c]=d,this.jb=!0)}; Y[3584]=function(a,b){var c=a+this.offset;b=b>>this.ea.Wc|b<<8-this.ea.Wc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Od|this.ea.re;d^=this.ea.Ab;d=d&this.ea.eb|this.pa[c]&~this.ea.eb;d=d&this.ea.lb|this.ea.Ab&~this.ea.lb;this.pa[c]!=d&&(this.pa[c]=d,this.jb=!0)};Y[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.ea.eb&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.pa[d]&~c;c=c&this.ea.lb|this.ea.Ab&~this.ea.lb;this.pa[d]!=c&&(this.pa[d]=c,this.jb=!0)}; -Y[4096]=function(a){a+=this.offset;var b=this.pa[a]&~this.ea.eb|this.ea.Ab&this.ea.eb;this.pa[a]!=b&&(this.pa[a]=b,this.jb=!0)};Y[8192]=function(a,b){var c=a+this.offset,d=pj[b&15],d=d&this.ea.eb|this.pa[c]&~this.ea.eb,d=d&this.ea.lb|this.ea.Ab&~this.ea.lb;this.pa[c]!=d&&(this.pa[c]=d,this.jb=!0)};Y[24576]=function(a,b){var c=a+this.offset,d=pj[b&15],d=d&this.ea.Ab,d=d&this.ea.eb|this.pa[c]&~this.ea.eb,d=d&this.ea.lb|this.ea.Ab&~this.ea.lb;this.pa[c]!=d&&(this.pa[c]=d,this.jb=!0)}; -Y[40960]=function(a,b){var c=a+this.offset,d=pj[b&15],d=d|this.ea.Ab,d=d&this.ea.eb|this.pa[c]&~this.ea.eb,d=d&this.ea.lb|this.ea.Ab&~this.ea.lb;this.pa[c]!=d&&(this.pa[c]=d,this.jb=!0)};Y[57344]=function(a,b){var c=a+this.offset,d=pj[b&15],d=d^this.ea.Ab,d=d&this.ea.eb|this.pa[c]&~this.ea.eb,d=d&this.ea.lb|this.ea.Ab&~this.ea.lb;this.pa[c]!=d&&(this.pa[c]=d,this.jb=!0)}; -function wj(a){var b=[];if(void 0!==a.Ng){b[0]=a.Mc;b[1]=a.tc;b[2]=a.qf;b[3]=a.$f;b[4]=a.Ac|a.Mg<<8;b[5]=a.ic;if(5==a.Ng){var c=[];c[0]=a.Dd;c[1]=a.oe;c[2]=a.Wd;c[3]=a.oj;c[4]=a.Qg;c[5]=a.Yh;c[6]=a.Ue;c[7]=a.ig;c[8]=a.ai;c[9]=a.bi;c[10]=a.Te;c[11]=a.Ce;c[12]=a.Ab;c[13]=[a.Ua,a.Hb,a.Kc];var d;a:if(d=a.Zd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=m;h=n}if(f.lengthg;g++)for(var h=g;h>1;f[e++]=m;h=n}if(f.length>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),db(this.qa,b,c|d<<8);mb(this,!0)}};function Dj(a){a.oa.Qg&1?(a.Jc=a.Gh,a.cc=a.oa):(a.Jc=a.oa,a.cc=a.yg)}k.save=function(){var a=new I(this);a.set(0,wj(this.Gh));a.set(1,wj(this.yg));a.set(2,[this.Ld,this.Xc,this.Kd]);a.set(3,wj(this.oa));return a.data()}; -k.restore=function(a){var b=a[2];this.Ld=b[0];this.Xc=b[1];this.Kd=b[2];this.Ea=null;this.Jc=this.Gh=new qj(this,1,a[0]);this.cc=this.yg=new qj(this,3,a[1]);this.oa=new qj(this,5,a[3],this.Kc);this.oa.Mc&&Dj(this);Ej(this);if(!Gj(this))return!1;Hj(this);return!0}; -k.qn=function(a,b,c){if(c)this.Aa("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){q("Empty font ROM image: "+a);return}if(1==d.length){q(d[0]);return}if(8192==d.length)Qi(this,d,[0,6144]);else{this.Aa("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Aa("Font ROM data error: "+e.message);return}z(this)}}; -function Ij(a,b){if(1==b)return a.bd[0]=W[0],a.bd[1]=W[7],a.bd;if(2==b){var c=a.Ea.qf;if(a.Ea===a.oa){var d=a.oa.Wd[0],c=d&7;d&16&&(c|=8);18!=a.oa.Wd[1]&&(c|=32)}a.bd[0]=W[c&15];c=c&32?nj:mj;for(d=0;dya||!O?ya:8,yd=ti.createImageData(n.jc,n.kc),za=0;256>za;za++){for(Za= -0;Za=ya-2,Mk=Ya[Za>(8<=Db&&176<=za&&223>=za?7:Db)?u:Ub;Lj(yd,ui,vi,wi);F&&Lj(yd,ui+1,vi,wi)}ti.putImageData(yd,(za&15)*n.jc,(za>>4)*n.kc)}n.Be[x]="#"+p(u[0],2)+p(u[1],2)+p(u[2],2);n.zj[x]=u;n.uh[x]=Cc;n=!0}}a.sd[b]=t;return n}function Mj(a){0a.fe&&(a.fe=0):a.fe=-1} -function Hj(a){if(a.Ob){for(var b=10;15>=b;b++)if(null==a.Ea.ic[b])return;var c=a.Ea.ic[10],b=c&31,d=a.Ea.ic[11]&31,e=a.Ea.ic[9]&31,f=!1;a.Ea===a.oa&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Nj(a);else{c=a.Ea.ic[15]+((a.Ea.ic[14]&63)<<8);a.Bc!=c&&(Nj(a),a.Bc=c);d=d-b+1;if(a.Dl!=b||a.Mj!=d)a.Dl=b,a.Mj=d;a.Bd=e+1;Mj(a)}}} -function Nj(a){if(0<=a.Bc){if(void 0!==a.bc){var b=a.bc[a.Bc];if(b&131072){var b=b&-131073,c=a.Bc%a.Bb,d=Math.floor(a.Bc/a.Bb);a.Ob&&a.sd[a.Ob]&&(a.Le&&Oj(a,c,d,b,a.Le),Oj(a,c,d,b));a.bc[a.Bc]=b}}a.Bc=-1}} -function Pj(a){var b;a=a.Ea;var c=a.Ce[5];if(null!=c){b=2;var d=512,e=a.Ce[3]&31;switch(c&3){case 0:if(e){d=1024;switch(e&24){case 8:d=1536;break;case 16:d=2560;break;case 24:d=3584}a.Wc=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}k.ve=function(a){var b=this.Ea;null!=a&&b&&a!=b.gi&&(b.nh(a),this.qa.nh(b.Ua,b.Hb,b.kf))}; -function Gj(a,b){var c,d=a.Kd,e=a.Ea;if(e)if(1==e.Ng)d=hj;else if(5==e.Ng){var d=null,f=e.Kc>>2,g=32768f&&(d=c?13:14):c&&(d-=2));c=Pj(a)}}else e.tc&8&&(e.tc&2?(d=e.tc&16?6:5,e.tc&4||(d-=1)):(d=e.tc&1?3:1,e.tc&4&&(d-= -1)));else a.Kd=null,null==d&&(d=a.Xc);if(!Fj(a,d,b))return!1;a.ve(c);return!0} -function Fj(a,b,c){if(null!=b&&(b!=a.Kd||c)){a.Ll=0;a.Kd=b;b=a.Ea||(b==hj?a.Jc:a.cc);if(b!=a.Ea||b.Ua!=a.Ua||b.Hb!=a.Hb){Nj(a);if(a.Ua){if(!$a(a.qa,a.Ua,a.Hb))return!1;a.Ea&&(a.Ea.Mc=!1)}a.Ea=b;b.Mc=!0;a.Ua=b.Ua;a.Hb=b.Hb;if(!Wa(a.qa,b.Ua,b.Hb,!1,b===a.oa?b:null))return!1}a.Ob=0;a.Bb=a.Vg;a.nc=a.oi;a.ii=V[hj][2];b=0;var d=V[a.Kd];d&&(a.Bb=d[0],a.nc=d[1],a.ii=d[2],b=d[3]||0,a.Ob=d[4],4==a.Ld&&a.Ea===a.oa&&3==a.Ob&&(7==a.oa.ic[9]?a.nc=43:a.Ob=5));a.ik=a.Bb*a.nc;a.Sg=a.ik/a.ii;a.Hh=(a.Sg<<1)+b;a.Kj= +k.reset=function(){var a=!0,b=0;this.ka&&(b=Mh(this.ka));var c=!1;if(this.Ha)switch(this.Ha){case "ega":var c=!0,d=dj[this.ng];d&&(b=d[0]);b||(b=4);break;case "mda":b=3;break;default:b=2}this.Ld!==b&&(this.Ld=b,a=!0);this.Ea=null;this.Jc=this.Gh=new kj(this,1);this.cc=this.yg=new kj(this,3);c?(this.oa=new kj(this,5,null,this.Kc),xj(this)):this.oa=new kj;yj(this);this.Kd=null;this.Xc=3==b?bj:3;this.fe=this.Bc=-1;this.ee=0;zj(this,this.Xc);if(this.Ea.Ua&&a){a=this.Ea.Ua+this.Hh;for(b=this.Ea.Ua;b>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),db(this.qa,b,c|d<<8);mb(this,!0)}};function xj(a){a.oa.Qg&1?(a.Jc=a.Gh,a.cc=a.oa):(a.Jc=a.oa,a.cc=a.yg)}k.save=function(){var a=new I(this);a.set(0,qj(this.Gh));a.set(1,qj(this.yg));a.set(2,[this.Ld,this.Xc,this.Kd]);a.set(3,qj(this.oa));return a.data()}; +k.restore=function(a){var b=a[2];this.Ld=b[0];this.Xc=b[1];this.Kd=b[2];this.Ea=null;this.Jc=this.Gh=new kj(this,1,a[0]);this.cc=this.yg=new kj(this,3,a[1]);this.oa=new kj(this,5,a[3],this.Kc);this.oa.Mc&&xj(this);yj(this);if(!Aj(this))return!1;Bj(this);return!0}; +k.qn=function(a,b,c){if(c)this.Aa("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){q("Empty font ROM image: "+a);return}if(1==d.length){q(d[0]);return}if(8192==d.length)Mi(this,d,[0,6144]);else{this.Aa("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Aa("Font ROM data error: "+e.message);return}z(this)}}; +function Cj(a,b){if(1==b)return a.bd[0]=W[0],a.bd[1]=W[7],a.bd;if(2==b){var c=a.Ea.qf;if(a.Ea===a.oa){var d=a.oa.Wd[0],c=d&7;d&16&&(c|=8);18!=a.oa.Wd[1]&&(c|=32)}a.bd[0]=W[c&15];c=c&32?hj:gj;for(d=0;dya||!O?ya:8,yd=si.createImageData(n.jc,n.kc),za=0;256>za;za++){for(Za= +0;Za=ya-2,Gk=Ya[Za>(8<=Db&&176<=za&&223>=za?7:Db)?u:Ub;Fj(yd,ti,ui,vi);F&&Fj(yd,ti+1,ui,vi)}si.putImageData(yd,(za&15)*n.jc,(za>>4)*n.kc)}n.Be[x]="#"+p(u[0],2)+p(u[1],2)+p(u[2],2);n.zj[x]=u;n.uh[x]=Cc;n=!0}}a.sd[b]=t;return n}function Gj(a){0a.fe&&(a.fe=0):a.fe=-1} +function Bj(a){if(a.Ob){for(var b=10;15>=b;b++)if(null==a.Ea.ic[b])return;var c=a.Ea.ic[10],b=c&31,d=a.Ea.ic[11]&31,e=a.Ea.ic[9]&31,f=!1;a.Ea===a.oa&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Hj(a);else{c=a.Ea.ic[15]+((a.Ea.ic[14]&63)<<8);a.Bc!=c&&(Hj(a),a.Bc=c);d=d-b+1;if(a.Dl!=b||a.Mj!=d)a.Dl=b,a.Mj=d;a.Bd=e+1;Gj(a)}}} +function Hj(a){if(0<=a.Bc){if(void 0!==a.bc){var b=a.bc[a.Bc];if(b&131072){var b=b&-131073,c=a.Bc%a.Bb,d=Math.floor(a.Bc/a.Bb);a.Ob&&a.sd[a.Ob]&&(a.Le&&Ij(a,c,d,b,a.Le),Ij(a,c,d,b));a.bc[a.Bc]=b}}a.Bc=-1}} +function Jj(a){var b;a=a.Ea;var c=a.Ce[5];if(null!=c){b=2;var d=512,e=a.Ce[3]&31;switch(c&3){case 0:if(e){d=1024;switch(e&24){case 8:d=1536;break;case 16:d=2560;break;case 24:d=3584}a.Wc=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}k.ve=function(a){var b=this.Ea;null!=a&&b&&a!=b.gi&&(b.nh(a),this.qa.nh(b.Ua,b.Hb,b.kf))}; +function Aj(a,b){var c,d=a.Kd,e=a.Ea;if(e)if(1==e.Ng)d=bj;else if(5==e.Ng){var d=null,f=e.Kc>>2,g=32768f&&(d=c?13:14):c&&(d-=2));c=Jj(a)}}else e.tc&8&&(e.tc&2?(d=e.tc&16?6:5,e.tc&4||(d-=1)):(d=e.tc&1?3:1,e.tc&4&&(d-= +1)));else a.Kd=null,null==d&&(d=a.Xc);if(!zj(a,d,b))return!1;a.ve(c);return!0} +function zj(a,b,c){if(null!=b&&(b!=a.Kd||c)){a.Ll=0;a.Kd=b;b=a.Ea||(b==bj?a.Jc:a.cc);if(b!=a.Ea||b.Ua!=a.Ua||b.Hb!=a.Hb){Hj(a);if(a.Ua){if(!$a(a.qa,a.Ua,a.Hb))return!1;a.Ea&&(a.Ea.Mc=!1)}a.Ea=b;b.Mc=!0;a.Ua=b.Ua;a.Hb=b.Hb;if(!Wa(a.qa,b.Ua,b.Hb,!1,b===a.oa?b:null))return!1}a.Ob=0;a.Bb=a.Vg;a.nc=a.oi;a.ii=V[bj][2];b=0;var d=V[a.Kd];d&&(a.Bb=d[0],a.nc=d[1],a.ii=d[2],b=d[3]||0,a.Ob=d[4],4==a.Ld&&a.Ea===a.oa&&3==a.Ob&&(7==a.oa.ic[9]?a.nc=43:a.Ob=5));a.ik=a.Bb*a.nc;a.Sg=a.ik/a.ii;a.Hh=(a.Sg<<1)+b;a.Kj= b?a.Hh+b>>1:0;13<=a.Kd&&(a.Sg<<=1);a.sd.length&&(a.hd=Math.floor(a.gd/a.Bb),a.jd=Math.floor(a.Cd/a.nc),a.Ob?(b=a.sd[a.Ob],d=a.sd[a.Ob<<1],a.Zl&&80==a.Bb?d&&a.hd>=3*d.jc>>2&&(a.Ob<<=1,b=d):(d&&a.hd>=d.jc&&(a.Ob<<=1,b=d),b&&(a.hd=b.jc,a.jd=b.kc)),a.sf=a.tf=0,b&&(a.sf=a.Bb*b.jc,a.tf=a.nc*b.kc)):(a.hd=a.jd=1,a.sf=a.Bb,a.tf=a.nc),a.Og=a.Lc.createImageData(a.sf,a.tf),a.Je=window.document.createElement("canvas"),a.Je.width=a.sf,a.Je.height=a.tf,a.Le=a.Je.getContext("2d"),a.rj=a.sj=0,a.Kh=a.gd,a.Lh=a.Cd, -b=a.gd-a.Bb*a.hd,d=a.Cd-a.nc*a.jd,0>1,a.Kh-=b),0>1,a.Lh-=d),b||d)&&(a.Lc.fillStyle=a.pf.style.backgroundColor,a.Lc.fillRect(0,0,a.gd,a.Cd));!1!==c?mb(a,!0):Qj(a,!0)}return!0}function Lj(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b+0]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function Qj(a,b){var c;if(b){if(c=a.Sg,void 0===a.bc||a.bc.length!=c)a.bc=Array(c)}else{if(void 0===a.bc)return;c=a.bc.length}for(var d=0;d>8;d=g&15;var h=a.sd[a.Ob];h.gf&&(d=h.gf[d]);var m=g>>4&15;h.gf&&(m=h.gf[m]);e?(b*=h.jc,c*=h.kc,e.fillStyle=h.Be[m],e.fillRect(b,c,h.jc,h.kc)):(b=b*a.hd+a.rj,c=c*a.jd+a.sj,a.Lc.fillStyle=h.Be[m],a.Lc.fillRect(b,c,a.hd,a.jd));g&256&&(m=(f&15)*h.jc,f=(f>>4)*h.kc,e?e.drawImage(h.uh[d],m,f,h.jc,h.kc,b,c,h.jc,h.kc):a.Lc.drawImage(h.uh[d],m,f,h.jc,h.kc,b,c,a.hd,a.jd));g&512&&(f=a.Dl,g=a.Mj,e?(a.Bd&&a.Bd!==h.kc&&(f=Math.floor(f*h.kc/a.Bd),g=Math.floor(g*h.kc/a.Bd)), +b=a.gd-a.Bb*a.hd,d=a.Cd-a.nc*a.jd,0>1,a.Kh-=b),0>1,a.Lh-=d),b||d)&&(a.Lc.fillStyle=a.pf.style.backgroundColor,a.Lc.fillRect(0,0,a.gd,a.Cd));!1!==c?mb(a,!0):Kj(a,!0)}return!0}function Fj(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b+0]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function Kj(a,b){var c;if(b){if(c=a.Sg,void 0===a.bc||a.bc.length!=c)a.bc=Array(c)}else{if(void 0===a.bc)return;c=a.bc.length}for(var d=0;d>8;d=g&15;var h=a.sd[a.Ob];h.gf&&(d=h.gf[d]);var m=g>>4&15;h.gf&&(m=h.gf[m]);e?(b*=h.jc,c*=h.kc,e.fillStyle=h.Be[m],e.fillRect(b,c,h.jc,h.kc)):(b=b*a.hd+a.rj,c=c*a.jd+a.sj,a.Lc.fillStyle=h.Be[m],a.Lc.fillRect(b,c,a.hd,a.jd));g&256&&(m=(f&15)*h.jc,f=(f>>4)*h.kc,e?e.drawImage(h.uh[d],m,f,h.jc,h.kc,b,c,h.jc,h.kc):a.Lc.drawImage(h.uh[d],m,f,h.jc,h.kc,b,c,a.hd,a.jd));g&512&&(f=a.Dl,g=a.Mj,e?(a.Bd&&a.Bd!==h.kc&&(f=Math.floor(f*h.kc/a.Bd),g=Math.floor(g*h.kc/a.Bd)), e.fillStyle=h.Be[d],e.fillRect(b,c+f,h.jc,g)):(a.Bd&&a.Bd!==a.jd&&(f=Math.floor(f*a.jd/a.Bd),g=Math.floor(g*a.jd/a.Bd)),a.Lc.fillStyle=h.Be[d],a.Lc.fillRect(b,c+f,a.hd,g)))} -function mb(a,b){if(a.ma.Nb){var c=!1;a.Ea&&(a.Ea===a.oa?a.oa.oe&32&&(c=!0):a.Ea.tc&8&&(c=!0));if(c||b){if(b)Qj(a,!0);else if(void 0===a.bc)return;var d=!1;!(b||++a.Ll&15)&&0<=a.fe&&(a.fe++,d=!0);var e=0,f=a.ik,c=a.Ea.Ua,g=c+a.Ea.Hb,h=(a.Ea.ic[12]<<8)+a.Ea.ic[13];a.Ob&&(h<<=1);var c=c+h,m=a.Hh;c+m>g&&(m=g-c,0>m&&(m=0));g=c+m;if(h=!b){for(var h=a.qa,n=!0,r=c>>h.Vb;0a.Bc)return;e=a.Bc;f= -e+1}}if(a.Ob){if(a.sd[a.Ob]){d=0;h=a.ee=0;m=1048575;a.Ea.tc&32&&(h=32768,m&=~h,a.fe&2||(m&=-65537));for(c+=e<<1;c>8|(t&255)<<8;u=h;var ya=16;r>=m))>>(ya-=m);Lj(a.Og,r++,x,n[Ub])}r>T&&(T=r);x=U&&(U=x+1)}e+=2;g++;if(r>=a.Bb){r=0;x+=2;if(x>a.nc)break;x==a.nc&&(x=1,e=c+a.Kj)}}FO;O++)U= -T&2155905152,0>U&&(U+=4294967296),U=X[U]||0,Lj(a.Og,h++,m,g[U]),T<<=1;h>r&&(r=h);m=F&&(F=m+1)}e++;if(h>=a.Bb&&(h=0,++m>a.nc))break}n>2),a=this.oa.oj&-17|(this.ng&1<e&&(e=0);e%b.li>b.ln&&(c|=1);e%=b.lk;e>b.nn&&(c|=8);b.si=d-e;b===a.oa?(c|=b.$f&48^48,b.Dd=!1):c=(b.$f^=9)|240;return b.$f=c} -var xj={948:S.prototype.Lm,949:S.prototype.Km,952:S.prototype.Mm,954:S.prototype.Nm,980:S.prototype.tm,981:S.prototype.sm,984:S.prototype.um,985:S.prototype.rm,986:S.prototype.vm},yj={948:S.prototype.Zn,949:S.prototype.Yn,952:S.prototype.$n,980:S.prototype.In,981:S.prototype.Hn,984:S.prototype.Jn,985:S.prototype.Gn},zj={960:S.prototype.ek,961:S.prototype.ek,962:S.prototype.Xm,964:S.prototype.Wm,965:S.prototype.Vm,970:S.prototype.Em,972:S.prototype.Dm,974:S.prototype.Cm,975:S.prototype.Bm},Aj={954:S.prototype.ol, +function mb(a,b){if(a.ma.Nb){var c=!1;a.Ea&&(a.Ea===a.oa?a.oa.oe&32&&(c=!0):a.Ea.tc&8&&(c=!0));if(c||b){if(b)Kj(a,!0);else if(void 0===a.bc)return;var d=!1;!(b||++a.Ll&15)&&0<=a.fe&&(a.fe++,d=!0);var e=0,f=a.ik,c=a.Ea.Ua,g=c+a.Ea.Hb,h=(a.Ea.ic[12]<<8)+a.Ea.ic[13];a.Ob&&(h<<=1);var c=c+h,m=a.Hh;c+m>g&&(m=g-c,0>m&&(m=0));g=c+m;if(h=!b){for(var h=a.qa,n=!0,r=c>>h.Vb;0a.Bc)return;e=a.Bc;f= +e+1}}if(a.Ob){if(a.sd[a.Ob]){d=0;h=a.ee=0;m=1048575;a.Ea.tc&32&&(h=32768,m&=~h,a.fe&2||(m&=-65537));for(c+=e<<1;c>8|(t&255)<<8;u=h;var ya=16;r>=m))>>(ya-=m);Fj(a.Og,r++,x,n[Ub])}r>T&&(T=r);x=U&&(U=x+1)}e+=2;g++;if(r>=a.Bb){r=0;x+=2;if(x>a.nc)break;x==a.nc&&(x=1,e=c+a.Kj)}}FO;O++)U= +T&2155905152,0>U&&(U+=4294967296),U=X[U]||0,Fj(a.Og,h++,m,g[U]),T<<=1;h>r&&(r=h);m=F&&(F=m+1)}e++;if(h>=a.Bb&&(h=0,++m>a.nc))break}n>2),a=this.oa.oj&-17|(this.ng&1<e&&(e=0);e%b.li>b.ln&&(c|=1);e%=b.lk;e>b.nn&&(c|=8);b.si=d-e;b===a.oa?(c|=b.$f&48^48,b.Dd=!1):c=(b.$f^=9)|240;return b.$f=c} +var rj={948:S.prototype.Lm,949:S.prototype.Km,952:S.prototype.Mm,954:S.prototype.Nm,980:S.prototype.tm,981:S.prototype.sm,984:S.prototype.um,985:S.prototype.rm,986:S.prototype.vm},sj={948:S.prototype.Zn,949:S.prototype.Yn,952:S.prototype.$n,980:S.prototype.In,981:S.prototype.Hn,984:S.prototype.Jn,985:S.prototype.Gn},tj={960:S.prototype.ek,961:S.prototype.ek,962:S.prototype.Xm,964:S.prototype.Wm,965:S.prototype.Vm,970:S.prototype.Em,972:S.prototype.Dm,974:S.prototype.Cm,975:S.prototype.Bm},uj={954:S.prototype.ol, 960:S.prototype.nl,961:S.prototype.nl,962:S.prototype.bo,964:S.prototype.ko,965:S.prototype.jo,970:S.prototype.Un,972:S.prototype.Tn,974:S.prototype.Sn,975:S.prototype.Rn,986:S.prototype.ol}; wa(function(){for(var a=y(window.document,"pcjs","video"),b=0;bMissing <canvas> support; try a new 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=c.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 f=window.document.createElement("textarea");f.setAttribute("style","position:absolute; left:0; top:0; width:100%; height:100%; opacity:0; border:0; padding:0; line-height:0;");ra("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.style.clear="both";c.style.position="relative";c.appendChild(f); -var g=e.getContext("2d"),d=new S(d,e,g,f);Ma(d,c)}});function Z(a){this.ak=a.adapter;switch(this.ak){case 1:this.gj=1016;this.Jf=4;break;case 2:this.gj=760;this.Jf=3;break;default:q("Unrecognized serial adapter #"+this.ak);return}this.zd=null;s.call(this,"SerialPort",a,Z);var b=a.binding,c;a=Uj;b&&(void 0===c&&(c="Panel"),(c=La(c,this.id))&&(b=c.ra[b])&&this.Eb(null,a,b))}v(s,Z);var Uj="buffer";k=Z.prototype;k.Bj=function(a,b){return a==this.di?(this.Id=b,this):null}; -k.Eb=function(a,b,c){var d=this;switch(b){case Uj:return this.ra[b]=this.zd=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),Vj(d,[b]))},c.onkeypress=function(a){a=a||window.event;Vj(d,[a.which||a.keyCode])},!0}return!1};k.sc=function(a,b,c,d){this.qa=b;this.la=c;this.Sa=d;this.ka=Ra(a,"ChipSet");fb(b,this,Wj,this.gj);hb(b,this,Xj,this.gj);z(this)};k.Zb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; +var g=e.getContext("2d"),d=new S(d,e,g,f);Ma(d,c)}});function Z(a){this.ak=a.adapter;switch(this.ak){case 1:this.gj=1016;this.Jf=4;break;case 2:this.gj=760;this.Jf=3;break;default:q("Unrecognized serial adapter #"+this.ak);return}this.zd=null;s.call(this,"SerialPort",a,Z);var b=a.binding,c;a=Oj;b&&(void 0===c&&(c="Panel"),(c=La(c,this.id))&&(b=c.ra[b])&&this.Eb(null,a,b))}v(s,Z);var Oj="buffer";k=Z.prototype;k.Bj=function(a,b){return a==this.di?(this.Id=b,this):null}; +k.Eb=function(a,b,c){var d=this;switch(b){case Oj:return this.ra[b]=this.zd=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),Pj(d,[b]))},c.onkeypress=function(a){a=a||window.event;Pj(d,[a.which||a.keyCode])},!0}return!1};k.sc=function(a,b,c,d){this.qa=b;this.la=c;this.Sa=d;this.ka=Ra(a,"ChipSet");fb(b,this,Qj,this.gj);hb(b,this,Rj,this.gj);z(this)};k.Zb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; k.Yb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Gd()};k.save=function(){var a=new I(this),b=0,c=[];c[b++]=this.Dh;c[b++]=this.Gj;c[b++]=this.ye;c[b++]=this.og;c[b++]=this.vd;c[b++]=this.be;c[b++]=this.Rc;c[b++]=this.wc;c[b++]=this.Ej;c[b]=this.hf;a.set(0,c);return a.data()};k.restore=function(a){return this.Gd(a[0])}; -k.Gd=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.Dh=a[b++];this.Gj=a[b++];this.ye=a[b++];this.og=a[b++];this.vd=a[b++];this.be=a[b++];this.Rc=a[b++];this.wc=a[b++];this.Ej=a[b++];this.hf=a[b];return!0};function Vj(a,b){a.hf=a.hf.concat(b);Yj(a)}function Yj(a){0>8:this.og};k.Gm=function(){return this.vd};k.Hm=function(){return this.be};k.Jm=function(){return this.Rc};k.Im=function(){return this.wc};k.Pm=function(){return this.Ej}; +k.Gd=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.Dh=a[b++];this.Gj=a[b++];this.ye=a[b++];this.og=a[b++];this.vd=a[b++];this.be=a[b++];this.Rc=a[b++];this.wc=a[b++];this.Ej=a[b++];this.hf=a[b];return!0};function Pj(a,b){a.hf=a.hf.concat(b);Sj(a)}function Sj(a){0>8:this.og};k.Gm=function(){return this.vd};k.Hm=function(){return this.be};k.Jm=function(){return this.Rc};k.Im=function(){return this.wc};k.Pm=function(){return this.Ej}; k.lo=function(a,b){if(this.be&128)this.ye=this.ye&-256|b;else{this.Gj=b;this.wc&=-97;var c;this.zd?(13!=b&&(8==b?this.zd.value=this.zd.value.slice(0,-1):(this.zd.value+=String.fromCharCode(b),this.zd.scrollTop=this.zd.scrollHeight)),c=!0):c=!1;c&&(this.wc|=96)}};k.Vn=function(a,b){this.be&128?this.ye=this.ye&255|b<<8:this.og=b};k.Wn=function(a,b){this.be=b}; -k.Xn=function(a,b){var c=this.Rc;this.Rc=b;if(this.Id&&(c^b)&3){var c=this.Id,d=this.Rc,e=3==(d&3);if(e){if(!c.Mc){var f=!1;c.Rc&2||(c.reset(),c.dc("serial mouse reset"),f=!0);c.Rc&1||(c.dc("serial mouse ID requested"),f=!0);f&&(Vj(c.rf,[77,77]),c.dc("serial mouse ID sent"));Zj(c,c.Fa);c.setActive(e)}}else c.Mc&&(c.dc("serial mouse inactive"),ak(c.Fa),c.setActive(e));c.Rc=d}}; -var Wj={0:Z.prototype.Um,1:Z.prototype.Fm,2:Z.prototype.Gm,3:Z.prototype.Hm,4:Z.prototype.Jm,5:Z.prototype.Im,6:Z.prototype.Pm},Xj={0:Z.prototype.lo,1:Z.prototype.Vn,3:Z.prototype.Wn,4:Z.prototype.Xn};wa(function(){for(var a=y(window.document,"pcjs","serial"),b=0;ba.ag||0>a.bg)a.ag=b.clientX,a.bg=b.clientY;a.Hg?(a.ze=b.movementX||b.mozMovementX||b.webkitMovementX||0,a.Ae=b.movementY||b.mozMovementY||b.webkitMovementY||0):(a.ze=b.clientX-a.ag,a.Ae=b.clientY-a.bg);(a.ze||a.Ae)&&ck(a);a.ag=b.clientX;a.bg=b.clientY}},!1),b.addEventListener("mousedown",function(b){dk(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){dk(a,b.button,!1)},!1),a.Rh=!0),b.style.cursor= -"none")}function ak(a){a&&(a.style.cursor="auto")}function dk(a,b,c){if(a.Mc&&a.la&&a.la.ma.Fb){var d;!(d=!1!==a.Hg)&&(d=a.qh)&&(d=a.qh,d=d.Ul?d.Ve(!0):!1);d||(a.Hg=null);switch(b){case 0:a.Cg!=c&&(a.Cg=c,ck(a));break;case 2:a.Dg!=c&&(a.Dg=c,ck(a))}}}function ck(a){Vj(a.rf,[64|(a.Cg?32:0)|(a.Dg?16:0)|(a.Ae&192)>>4|(a.ze&192)>>6,a.ze&63,a.Ae&63]);a.ze=a.Ae=0}wa(function(){for(var a=y(window.document,"pcjs","mouse"),b=0;b>2;var e=d=0,a=new DataView(a,0,c);g.$a=Array(g.nb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=ea(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=ik(this,b),this.Ig=!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"):-1!==b.indexOf("/",b.length-1)&&(c="dir"),f= +function Tj(a,b){b&&(a.Rh||(b.addEventListener("mousemove",function(b){if(a.Mc&&a.la&&a.la.ma.Fb){if(0>a.ag||0>a.bg)a.ag=b.clientX,a.bg=b.clientY;a.Hg?(a.ze=b.movementX||b.mozMovementX||b.webkitMovementX||0,a.Ae=b.movementY||b.mozMovementY||b.webkitMovementY||0):(a.ze=b.clientX-a.ag,a.Ae=b.clientY-a.bg);(a.ze||a.Ae)&&Wj(a);a.ag=b.clientX;a.bg=b.clientY}},!1),b.addEventListener("mousedown",function(b){Xj(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){Xj(a,b.button,!1)},!1),a.Rh=!0),b.style.cursor= +"none")}function Uj(a){a&&(a.style.cursor="auto")}function Xj(a,b,c){if(a.Mc&&a.la&&a.la.ma.Fb){var d;!(d=!1!==a.Hg)&&(d=a.qh)&&(d=a.qh,d=d.Ul?d.Ve(!0):!1);d||(a.Hg=null);switch(b){case 0:a.Cg!=c&&(a.Cg=c,Wj(a));break;case 2:a.Dg!=c&&(a.Dg=c,Wj(a))}}}function Wj(a){Pj(a.rf,[64|(a.Cg?32:0)|(a.Dg?16:0)|(a.Ae&192)>>4|(a.ze&192)>>6,a.ze&63,a.Ae&63]);a.ze=a.Ae=0}wa(function(){for(var a=y(window.document,"pcjs","mouse"),b=0;b>2;var e=d=0,a=new DataView(a,0,c);g.$a=Array(g.nb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=ea(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=ck(this,b),this.Ig=!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"):-1!==b.indexOf("/",b.length-1)&&(c="dir"),f= la()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.Pe?"":d)+"&format=json")),ka(f,!0,null,this,this.Rl,b)}; k.Rl=function(a,b,c,d){var e=null;this.Qe=!1;var f=0>c&&this.Oa&&!this.Oa.ma.Nb;if(this.Ig)c?this.ea.Aa('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.kd=!0,e=this);else if(c)this.ea.Aa('Unable to load disk "'+this.Zc+'" (error '+c+")",f);else try{if(0g&&0b.indexOf("0x")&& '["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(h.length)if(1==h.length)q(h[0]);else{this.nb=h.length;this.ob=h[0].length;this.ub=h[0][0].length;var m=h[0][0][0];this.cb=m&&m.length||512;for(b=a=0;b>2,r=m.pattern;void 0===r&&(r=m.pattern=0);var t=m.data;if(void 0===t){var u=m.bytes;if(void 0!==u&&u.length){for(var f= -n<<2,x=u.length;xb&&(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}function nk(a,b){var c=-1;if(b>2,c=(d>((b&3)<<3)&255;return c} -k.write=function(a,b,c){if(this.Qe)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.qc?f=a.Nc+a.qc&&(a.qc+=f-(a.Nc+a.qc)+1):(a.Nc=f,a.qc=1);d[f]=d[f]&~(255<b&&(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}function hk(a,b){var c=-1;if(b>2,c=(d>((b&3)<<3)&255;return c} +k.write=function(a,b,c){if(this.Qe)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.qc?f=a.Nc+a.qc&&(a.qc+=f-(a.Nc+a.qc)+1):(a.Nc=f,a.qc=1);d[f]=d[f]&~(255<=this.$a.length||m>=this.$a[h].length||n>=this.$a[h][m].length){c="sector "+h+":"+m+":"+n+" out of range ("+ b+" changes applied)";b=-1;break}if(this.Qe){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][m][n]){for(m=h.data.length;mb&&this.ea.Aa("unable to restore disk '"+this.Zc+": "+c);return b}; -function ok(a){s.call(this,"FDC",a,ok);this.dmaRead=this.Mh;this.dmaWrite=this.Nh;this.dmaFormat=this.Ol;this.ge=null;if(a.autoMount&&(this.ge=a.autoMount,"string"==typeof this.ge))try{this.ge=eval("("+a.autoMount+")")}catch(b){q("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.ge=null}this.oc=[];this.Tj=!ra("Mobi")&&window&&"FileReader"in window}v(s,ok);l={};aa={}; -var pk={3:{fd:3,yd:0,name:aa.mp},4:{fd:2,yd:1,name:aa.kp},5:{fd:9,yd:7,name:aa.yp},6:{fd:9,yd:7,name:aa.ep},7:{fd:2,yd:0,name:aa.gp},8:{fd:1,yd:2,name:aa.lp},10:{fd:2,yd:7,name:aa.fp},13:{fd:6,yd:7,name:aa.Ro},15:{fd:3,yd:0,name:aa.jp}};k=ok.prototype; +function ik(a){s.call(this,"FDC",a,ik);this.dmaRead=this.Mh;this.dmaWrite=this.Nh;this.dmaFormat=this.Ol;this.ge=null;if(a.autoMount&&(this.ge=a.autoMount,"string"==typeof this.ge))try{this.ge=eval("("+a.autoMount+")")}catch(b){q("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.ge=null}this.oc=[];this.Tj=!ra("Mobi")&&window&&"FileReader"in window}v(s,ik);l={};aa={}; +var jk={3:{fd:3,yd:0,name:aa.mp},4:{fd:2,yd:1,name:aa.kp},5:{fd:9,yd:7,name:aa.yp},6:{fd:9,yd:7,name:aa.ep},7:{fd:2,yd:0,name:aa.gp},8:{fd:1,yd:2,name:aa.lp},10:{fd:2,yd:7,name:aa.fp},13:{fd:6,yd:7,name:aa.Ro},15:{fd:3,yd:0,name:aa.jp}};k=ik.prototype; k.Eb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.ra[b]=c,c.onchange=function(){var a=d.ra.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("({"+b+"})")}catch(h){q("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.ra[b]=c,c.onchange=function(){var a;a=c.value;var b=10,g;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 h=a.charAt(a.length-1).toLowerCase();"h"==h?(b=16,h=null):"."==h&&(b=10,h=null);null===h&&(a=a.substr(0,a.length-1))}var m,h=a;(b&&10!=b?16==b?null!==h.match(/^[0-9a-f]+$/i):1:null!==h.match(/^[0-9]+$/))&&!isNaN(m=parseInt(a,b))&&(g=m)}a=g;null!=a&&qk(d,a)},!0;case "loadDrive":return this.ra[b]=c,c.onclick=function(){var a=d.ra.listDisks;a&&rk(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.Tj? -(this.ra[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;rk(d,da(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1};k.sc=function(a,b,c,d){this.qa=b;this.la=c;this.Sa=d;this.Oa=a;this.ka=Ra(a,"ChipSet");this.ld();fb(b,this,sk);hb(b,this,tk);this.Tj&&uk(this,"Local Disk","?");uk(this,"Remote Disk","??");this.lf()||z(this)}; -k.Zb=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.Oa.Uh){this.oc=[];for(var c=0;ca.ua.restore(g)&&(e=!1);e&&a.ua&&void 0!==a.Ta&&(a.Pa=a.ua.seek(a.qb,a.Ma,a.ab));return e};k.mj=function(){for(var a=0,b=[],c=0;ca.nb||f[1]>a.ob)&&(this.Aa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.bb)),b=null);b?(a.ua=b,a.ul=c,a.ue=d,yk(this,c,d,b),f=b.info(),this.Qd|=128,this.Aa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.bb),a.le||e),a.Wg=f[0],a.Hf=f[1],a.If=f[2]):a.Oe=!1;a.le&&(a.le=!1,--this.de||z(this));qk(this,a.bb)}; -function uk(a,b,c){if(a=a.ra.listDisks){for(var d=0;d=this.fb&&(this.wa&=-81,this.wb=this.fb=0);return a}; -k.Pn=function(a,b){this.fb=pk[c].fd){var d=!1;this.wb=0;var c=this.La(),e,f,g,h,m,n=c&31;switch(n){case 3:this.La(l.np);this.La(l.Uo);this.Mb();break;case 4:f=this.La(l.df);this.bb=f&3;e=this.za[this.bb];this.Mb();this.$b((e.Ya&4278190080)>>>24,l.qp);break;case 5:case 6:f=this.La(l.df);d=f>>2&1;this.bb=f&3;e=this.za[this.bb];e.Ma=d;f=e.qb=this.La(l.tj);g=this.La(l.uj);h=e.ab=this.La(l.wj);m=this.La(l.th);e.mb=128<< -m;e.wd=this.La(l.Po);this.La(l.Fl);this.La(l.Oo);6==n?(n=e,n.Ya=72,n.ua&&(n.Pa=null,n.Ya=0,this.ka&&(mi(this.ka,2,this,"dmaRead",n),ii(this.ka,2)))):(n=e,n.Ya=72,n.ua&&(n.ua.Qe?n.Ya=576:(n.Pa=null,n.Ya=0,this.ka&&(mi(this.ka,2,this,"dmaWrite",n),ii(this.ka,2)))));zk(this,e,c,d,f,g,h,m);d=!0;break;case 7:f=this.La(l.df);this.bb=f&3;e=this.za[this.bb];e.qb=e.ud=0;e.Ya=268435488;this.Mb();d=!0;break;case 8:e=this.za[this.bb];e.Ma=0;this.Mb();this.$b(e.bb|e.Ma<<2|e.Ya&255,l.Hl);this.$b(e.qb,l.cp);this.bb= -this.bb+1&3;break;case 10:f=this.La(l.df);d=f>>2&1;this.bb=f&3;e=this.za[this.bb];f=e.qb;g=e.Ma=d;h=e.ab=1;m=0;e.Ya=0;e.ua&&(e.Pa=e.ua.seek(e.qb,e.Ma,e.ab))?m=e.Pa.length:e.Ya=72;zk(this,e,c,d,f,g,h,m);d=!0;break;case 13:f=this.La(l.df);d=f>>2&1;this.bb=f&3;e=this.za[this.bb];f=e.qb;g=e.Ma=d;h=1;m=this.La(l.th);e.mb=128<>2&1,f=this.La(l.$o),e.qb+=f-e.ud,0>e.qb&&(e.qb=0),e.qb>=e.nb&&(e.qb=e.nb-1),e.ud=f,e.Ya=32,e.qb||(e.Ya|=268435456),this.Mb(),d=!0}0>>8,l.op);a.$b((b.Ya&16711680)>>>16,l.pp);var m=0;if(e!=b.qb||f!=b.Ma)m=g=1;c&128&&(f^=m,d||(m=0));a.$b(e+m,l.tj);a.$b(f,l.uj);a.$b(g,l.wj);a.$b(h,l.th)}k.La=function(){var a=this.ac[this.wb];this.wb++;return a};k.Mb=function(){this.wb=this.fb=0};k.$b=function(a){this.ac[this.fb++]=a};k.Mh=function(a,b,c){void 0===b||0>b?this.Cc(a,c):c(-1,!1)};k.Nh=function(a,b){return void 0!==b&&0<=b?this.Fc(a,b):-1}; -k.Ol=function(a,b){return void 0!==b&&0<=b?this.qj(a,b):-1};k.Cc=function(a,b){var c=-1;if(!a.Ya&&a.ua){do{if(a.Pa&&0<=(c=nk(a.Pa,a.Ta++)))break;a.Pa=a.ua.seek(a.qb,a.Ma,a.ab);if(!a.Pa){a.Ya=1088;break}a.Ta=0;this.jf(a)}while(1)}b(c,!1)};k.Fc=function(a,b){if(a.Ya||!a.ua)return-1;do{if(a.Pa&&a.ua.write(a.Pa,a.Ta++,b))break;a.Pa=a.ua.seek(a.qb,a.Ma,a.ab);if(!a.Pa){a.Ya=8256;b=-1;break}a.Ta=0;this.jf(a)}while(1);return b};k.jf=function(a){a.ab++;a.ab>=a.If+1&&(a.ab=1,a.Ma++,a.Ma>=a.Hf&&(a.Ma=0,a.qb++))}; -k.qj=function(a,b){if(a.Ya)return-1;a.uc[a.Ke++]=b;if(a.Ke==a.uc.length){a.qb=a.uc[0];a.Ma=a.uc[1];a.ab=a.uc[2];a.mb=128<this.Fc(a,a.Dj))return-1;a.xg++}a.xg>=a.wd&&(b=-1);return b};var sk={1012:ok.prototype.Am,1013:ok.prototype.ym,1015:ok.prototype.zm},tk={1010:ok.prototype.Qn,1013:ok.prototype.Pn,1015:ok.prototype.On};wa(function(){for(var a=y(window.document,"pcjs","fdc"),b=0;ba.ua.restore(g)&&(e=!1);e&&a.ua&&void 0!==a.Ta&&(a.Pa=a.ua.seek(a.qb,a.Ma,a.ab));return e};k.mj=function(){for(var a=0,b=[],c=0;ca.nb||f[1]>a.ob)&&(this.Aa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.bb)),b=null);b?(a.ua=b,a.ul=c,a.ue=d,sk(this,c,d,b),f=b.info(),this.Qd|=128,this.Aa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.bb),a.le||e),a.Wg=f[0],a.Hf=f[1],a.If=f[2]):a.Oe=!1;a.le&&(a.le=!1,--this.de||z(this));kk(this,a.bb)}; +function ok(a,b,c){if(a=a.ra.listDisks){for(var d=0;d=this.fb&&(this.wa&=-81,this.wb=this.fb=0);return a}; +k.Pn=function(a,b){this.fb=jk[c].fd){var d=!1;this.wb=0;var c=this.La(),e,f,g,h,m,n=c&31;switch(n){case 3:this.La(l.np);this.La(l.Uo);this.Mb();break;case 4:f=this.La(l.df);this.bb=f&3;e=this.za[this.bb];this.Mb();this.$b((e.Ya&4278190080)>>>24,l.qp);break;case 5:case 6:f=this.La(l.df);d=f>>2&1;this.bb=f&3;e=this.za[this.bb];e.Ma=d;f=e.qb=this.La(l.tj);g=this.La(l.uj);h=e.ab=this.La(l.wj);m=this.La(l.th);e.mb=128<< +m;e.wd=this.La(l.Po);this.La(l.Fl);this.La(l.Oo);6==n?(n=e,n.Ya=72,n.ua&&(n.Pa=null,n.Ya=0,this.ka&&(ji(this.ka,2,this,"dmaRead",n),fi(this.ka,2)))):(n=e,n.Ya=72,n.ua&&(n.ua.Qe?n.Ya=576:(n.Pa=null,n.Ya=0,this.ka&&(ji(this.ka,2,this,"dmaWrite",n),fi(this.ka,2)))));tk(this,e,c,d,f,g,h,m);d=!0;break;case 7:f=this.La(l.df);this.bb=f&3;e=this.za[this.bb];e.qb=e.ud=0;e.Ya=268435488;this.Mb();d=!0;break;case 8:e=this.za[this.bb];e.Ma=0;this.Mb();this.$b(e.bb|e.Ma<<2|e.Ya&255,l.Hl);this.$b(e.qb,l.cp);this.bb= +this.bb+1&3;break;case 10:f=this.La(l.df);d=f>>2&1;this.bb=f&3;e=this.za[this.bb];f=e.qb;g=e.Ma=d;h=e.ab=1;m=0;e.Ya=0;e.ua&&(e.Pa=e.ua.seek(e.qb,e.Ma,e.ab))?m=e.Pa.length:e.Ya=72;tk(this,e,c,d,f,g,h,m);d=!0;break;case 13:f=this.La(l.df);d=f>>2&1;this.bb=f&3;e=this.za[this.bb];f=e.qb;g=e.Ma=d;h=1;m=this.La(l.th);e.mb=128<>2&1,f=this.La(l.$o),e.qb+=f-e.ud,0>e.qb&&(e.qb=0),e.qb>=e.nb&&(e.qb=e.nb-1),e.ud=f,e.Ya=32,e.qb||(e.Ya|=268435456),this.Mb(),d=!0}0>>8,l.op);a.$b((b.Ya&16711680)>>>16,l.pp);var m=0;if(e!=b.qb||f!=b.Ma)m=g=1;c&128&&(f^=m,d||(m=0));a.$b(e+m,l.tj);a.$b(f,l.uj);a.$b(g,l.wj);a.$b(h,l.th)}k.La=function(){var a=this.ac[this.wb];this.wb++;return a};k.Mb=function(){this.wb=this.fb=0};k.$b=function(a){this.ac[this.fb++]=a};k.Mh=function(a,b,c){void 0===b||0>b?this.Cc(a,c):c(-1,!1)};k.Nh=function(a,b){return void 0!==b&&0<=b?this.Fc(a,b):-1}; +k.Ol=function(a,b){return void 0!==b&&0<=b?this.qj(a,b):-1};k.Cc=function(a,b){var c=-1;if(!a.Ya&&a.ua){do{if(a.Pa&&0<=(c=hk(a.Pa,a.Ta++)))break;a.Pa=a.ua.seek(a.qb,a.Ma,a.ab);if(!a.Pa){a.Ya=1088;break}a.Ta=0;this.jf(a)}while(1)}b(c,!1)};k.Fc=function(a,b){if(a.Ya||!a.ua)return-1;do{if(a.Pa&&a.ua.write(a.Pa,a.Ta++,b))break;a.Pa=a.ua.seek(a.qb,a.Ma,a.ab);if(!a.Pa){a.Ya=8256;b=-1;break}a.Ta=0;this.jf(a)}while(1);return b};k.jf=function(a){a.ab++;a.ab>=a.If+1&&(a.ab=1,a.Ma++,a.Ma>=a.Hf&&(a.Ma=0,a.qb++))}; +k.qj=function(a,b){if(a.Ya)return-1;a.uc[a.Ke++]=b;if(a.Ke==a.uc.length){a.qb=a.uc[0];a.Ma=a.uc[1];a.ab=a.uc[2];a.mb=128<this.Fc(a,a.Dj))return-1;a.xg++}a.xg>=a.wd&&(b=-1);return b};var mk={1012:ik.prototype.Am,1013:ik.prototype.ym,1015:ik.prototype.zm},nk={1010:ik.prototype.Qn,1013:ik.prototype.Pn,1015:ik.prototype.On};wa(function(){for(var a=y(window.document,"pcjs","fdc"),b=0;b=e&&(this.Vf|=(f.type&3)<<(1-e<<1))}return d}; k.kj=function(){var a=0,b=[];this.ke?(b[a++]=this.Pd,b[a++]=this.tl,b[a++]=this.Rd,b[a++]=this.jh,b[a++]=this.hh,b[a++]=this.gh,b[a++]=this.bf,b[a++]=this.wa,b[a++]=this.ij,b[a++]=this.ih):(b[a++]=this.Vf,b[a++]=this.wa,b[a++]=this.ac,b[a++]=this.wb,b[a++]=this.fb,b[a++]=this.sl,b[a++]=this.rl,b[a++]=this.ql,b[a++]=this.Se);b[a]=this.mj();return b}; -k.ei=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.bb=a;b.errorCode=d[f++];b.yl=d[f++];b.Pe=d[f++];b.De=d[f++];b.Ee=d[f++];b.Ma=d[f++];b.ob=d[f++];b.Vd=d[f++];b.ab=d[f++];b.wd=d[f++];b.mb=d[f++];b.ug=this.ke?0:1;b.name=c.name;void 0===b.name&&(b.name="Hard Drive");b.path=c.path;b.mode=c.mode||(b.path?"preload":"local");"demandro"!=b.mode&&"demandrw"!=b.mode||this.Fd()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===Ak[this.yf][b.type])b.type=this.em;c=Ak[this.yf][b.type]; -b.ub=c[2]||17;b.cb=c[3]||512;if(e&&this.ka&&(e=this.ka,c=b.type,e.ja)){var h=e.ja[18],h=a?h&240|c:h&15|c<<4;e.ja&&(e.ja[18]=h,Sh(e))}void 0===b.ua&&(b.ua=null,this.Aa("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));Fk(this,b);b.Ta=d[f++];b.Pa=null;b.ua&&(a=d[f],void 0!==a&&0>b.ua.restore(a)&&(g=!1),g&&void 0!==b.Ta&&(b.Pa=b.ua.seek(b.Vd,b.Ma,b.ab+b.ug)));return g};k.mj=function(){for(var a=0,b=[],c=0;cb.ua.restore(a)&&(g=!1),g&&void 0!==b.Ta&&(b.Pa=b.ua.seek(b.Vd,b.Ma,b.ab+b.ug)));return g};k.mj=function(){for(var a=0,b=[],c=0;c=this.fb&&(this.wb=this.fb=0,this.wa&=-15);return a};k.no=function(a,b){this.fb=c&&(this.wa|=2,this.wa&=-2,Gk(this))}; -k.an=function(){var a=this.wa;this.wb=this.Na.cb){var b=this;b.wa=136;this.Cc(this.Na,function(a){0<=a?(Hk(b),b.wa=80):(b.wa=1,b.Pd=16)},!1)}else this.wa=80;return a}; -k.An=function(a,b){this.Na&&this.Na.mb>=this.Na.cb&&(0>this.Fc(this.Na,b)?(this.wa=1,this.Pd=16):1!=this.Na.Ta&&this.Na.Ta==this.Na.cb&&(this.Na.mb-=this.Na.cb,this.Rd=this.Rd-1&255,Hk(this),this.wa=80,this.Na.mb>=this.Na.cb&&(this.wa|=8)))};k.nm=function(){return this.Pd};k.Fn=function(a,b){this.tl=b};k.om=function(){return this.Rd};k.Dn=function(a,b){this.Rd=b};k.pm=function(){return this.jh};k.En=function(a,b){this.jh=b};k.km=function(){return this.hh};k.zn=function(a,b){this.hh=b};k.jm=function(){return this.gh}; -k.yn=function(a,b){this.gh=b};k.mm=function(){return this.bf};k.Bn=function(a,b){this.bf=b;this.wa=this.za[this.bf&16?1:0]?this.wa|64:this.wa&-65};k.qm=function(){return this.wa};k.xn=function(a,b){this.ij=b;this.ka&&xi(this.ka,14);Ik(this)};k.Cn=function(a,b){this.ih&4&&!(b&4)&&(this.Pd=1);this.ih=b}; -function Ik(a){var b=!1,c=a.ij,d=a.bf&16?1:0,e=a.bf&15,f=a.hh|(a.gh&3)<<8,g=a.jh,h=a.Rd||256;a.Na=null;a.Pd=0;a.wa=80;(d=a.za[d])?(d.Vd=f,d.Ma=e,d.ab=g,d.mb=h*d.cb,c=144<=c?c:c&240,d.Pa=null,d.Ta=0,d.errorCode=0,a.Na=d):c=-1;switch(c&240){case 32:a.wa=136;a.Cc(d,function(b){0<=b&&a.ka?(Hk(a),a.wa=80):(a.wa=1,a.Pd=16)},!1);break;case 48:a.wa=8;break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.Pd=1;b=!0;break;case 145:d.ob=e+1,d.ub=h,b=!0}b&&Hk(a)} -function Hk(a){!a.ka||a.ih&2||si(a.ka,14,120)} -function Gk(a){a.wb=0;var b=a.La(),c=a.La(),d=c&32,e=d>>5,f=c&31,g=a.La(),h=a.La(),m=g<<2&768|h,n=g&63,r=a.La(),t=a.La(),u=a.za[e];u&&(u.Vd=m,u.Ma=f,u.ab=n,u.mb=r*u.cb);switch(b){case 3:a.Mb(u?u.errorCode:4);a.$b(c);a.$b(g);a.$b(h);a.$b(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.La());)u&&cb?this.Cc(a,c):c(-1,!1)}; -k.Nh=function(a,b){return void 0!==b&&0<=b?this.Fc(a,b):-1};k.Pl=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Ta=this.fb&&(this.wb=this.fb=0,this.wa&=-15);return a};k.no=function(a,b){this.fb=c&&(this.wa|=2,this.wa&=-2,Ak(this))}; +k.an=function(){var a=this.wa;this.wb=this.Na.cb){var b=this;b.wa=136;this.Cc(this.Na,function(a){0<=a?(Bk(b),b.wa=80):(b.wa=1,b.Pd=16)},!1)}else this.wa=80;return a}; +k.An=function(a,b){this.Na&&this.Na.mb>=this.Na.cb&&(0>this.Fc(this.Na,b)?(this.wa=1,this.Pd=16):1!=this.Na.Ta&&this.Na.Ta==this.Na.cb&&(this.Na.mb-=this.Na.cb,this.Rd=this.Rd-1&255,Bk(this),this.wa=80,this.Na.mb>=this.Na.cb&&(this.wa|=8)))};k.nm=function(){return this.Pd};k.Fn=function(a,b){this.tl=b};k.om=function(){return this.Rd};k.Dn=function(a,b){this.Rd=b};k.pm=function(){return this.jh};k.En=function(a,b){this.jh=b};k.km=function(){return this.hh};k.zn=function(a,b){this.hh=b};k.jm=function(){return this.gh}; +k.yn=function(a,b){this.gh=b};k.mm=function(){return this.bf};k.Bn=function(a,b){this.bf=b;this.wa=this.za[this.bf&16?1:0]?this.wa|64:this.wa&-65};k.qm=function(){return this.wa};k.xn=function(a,b){this.ij=b;this.ka&&qi(this.ka,14);Ck(this)};k.Cn=function(a,b){this.ih&4&&!(b&4)&&(this.Pd=1);this.ih=b}; +function Ck(a){var b=!1,c=a.ij,d=a.bf&16?1:0,e=a.bf&15,f=a.hh|(a.gh&3)<<8,g=a.jh,h=a.Rd||256;a.Na=null;a.Pd=0;a.wa=80;(d=a.za[d])?(d.Vd=f,d.Ma=e,d.ab=g,d.mb=h*d.cb,c=144<=c?c:c&240,d.Pa=null,d.Ta=0,d.errorCode=0,a.Na=d):c=-1;switch(c&240){case 32:a.wa=136;a.Cc(d,function(b){0<=b&&a.ka?(Bk(a),a.wa=80):(a.wa=1,a.Pd=16)},!1);break;case 48:a.wa=8;break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.Pd=1;b=!0;break;case 145:d.ob=e+1,d.ub=h,b=!0}b&&Bk(a)} +function Bk(a){!a.ka||a.ih&2||pi(a.ka,14,120)} +function Ak(a){a.wb=0;var b=a.La(),c=a.La(),d=c&32,e=d>>5,f=c&31,g=a.La(),h=a.La(),m=g<<2&768|h,n=g&63,r=a.La(),t=a.La(),u=a.za[e];u&&(u.Vd=m,u.Ma=f,u.ab=n,u.mb=r*u.cb);switch(b){case 3:a.Mb(u?u.errorCode:4);a.$b(c);a.$b(g);a.$b(h);a.$b(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.La());)u&&cb?this.Cc(a,c):c(-1,!1)}; +k.Nh=function(a,b){return void 0!==b&&0<=b?this.Fc(a,b):-1};k.Pl=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Ta=a.ub+b&&(a.ab=b,a.Ma++,a.Ma>=a.ob&&(a.Ma=0,a.Vd++))}; k.qj=function(a,b){if(a.errorCode)return-1;a.uc[a.Ke++]=b;if(a.Ke==a.uc.length){a.Vd=a.uc[0];a.Ma=a.uc[1];a.ab=a.uc[2];a.mb=128<this.Fc(a,a.Dj))return-1;a.xg++}a.xg>=a.wd&&(b=-1);return b};k.bn=function(){var a=this.la.K&255;!(this.la.H>>8)&&128>8)||(a=!this.ka)||(a=!(this.ka.Tb[0].Qc&64));return a?!0:!1}; -var Ck={800:$.prototype.$m,801:$.prototype.an,802:$.prototype.Zm},Bk={496:$.prototype.lm,497:$.prototype.nm,498:$.prototype.om,499:$.prototype.pm,500:$.prototype.km,501:$.prototype.jm,502:$.prototype.mm,503:$.prototype.qm},Ek={800:$.prototype.no,801:$.prototype.qo,802:$.prototype.po,803:$.prototype.oo,807:$.prototype.dj,811:$.prototype.dj,815:$.prototype.dj},Dk={496:$.prototype.An,497:$.prototype.Fn,498:$.prototype.Dn,499:$.prototype.En,500:$.prototype.zn,501:$.prototype.yn,502:$.prototype.Bn,503:$.prototype.xn, -1014:$.prototype.Cn};wa(function(){for(var a=y(window.document,"pcjs","hdc"),b=0;bSk){if(d.load(this.Yf)){this.we=new I(this,"1.16.3","failsafe");this.we.load()&&(Wk(this,d),a=2,Pk(this.we));this.we.set("timestamp",ia());Qk(this.we);var e=this.Dc&&!this.Kg;if(1==a||ma("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"== -f&&"no machine state"!=g?(this.Aa("Error: "+g),"unable to verify user"==g&&(qa("user",""),this.Ec=null)):this.gc(f+": "+g),Pk(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&Vk(this,c?d:null)}else 2==a&&d.clear()}else Vk(this);delete this.Yf;delete this.ph}e=Ja(this.id);for(f=0;fa[1];a=a[2];this.ma.Nb=!0;this.Sj||(this.gc("PCjs v1.16.3\nCopyright \u00a9 2012-2014 Jeff Parsons \nLicense: GPL version 3 or later "),this.Sj=!0);this.la&&Xk(this,this.la,b,c,a);this.Wj&&(Wk(this,b),b.clear());!c&&this.we&&(this.we.clear(),delete this.we)}; -function Wk(a,b){if(ma("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.Fd(),d=b.toString(),e={app:"PCjs",ver:"1.16.3"};e.url=a.url;e.user=c;e.type="bug";e.data=d;ka("http://www.pcjs.org/api/v1/report",!0,e)}} -function Yk(a,b,c){var d,e="none",f=new I(a,"1.16.3"),g=new I(a,"1.16.3","validate"),h=ia();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.16.3");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.la&&a.la.Yb&&(c&&qb(a.la),d=a.la.Yb(b,c),"object"===typeof d&&f.set(a.la.id,d),c&&(a.la.ma.Nb=!1,!1===d&&(e=null)));for(var h=Ja(a.id),m=0;mMk){if(d.load(this.Yf)){this.we=new I(this,"1.16.4","failsafe");this.we.load()&&(Qk(this,d),a=2,Jk(this.we));this.we.set("timestamp",ia());Kk(this.we);var e=this.Dc&&!this.Kg;if(1==a||ma("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"== +f&&"no machine state"!=g?(this.Aa("Error: "+g),"unable to verify user"==g&&(qa("user",""),this.Ec=null)):this.gc(f+": "+g),Jk(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&Pk(this,c?d:null)}else 2==a&&d.clear()}else Pk(this);delete this.Yf;delete this.ph}e=Ja(this.id);for(f=0;fa[1];a=a[2];this.ma.Nb=!0;this.Sj||(this.gc("PCjs v1.16.4\nCopyright \u00a9 2012-2014 Jeff Parsons \nLicense: GPL version 3 or later "),this.Sj=!0);this.la&&Rk(this,this.la,b,c,a);this.Wj&&(Qk(this,b),b.clear());!c&&this.we&&(this.we.clear(),delete this.we)}; +function Qk(a,b){if(ma("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.Fd(),d=b.toString(),e={app:"PCjs",ver:"1.16.4"};e.url=a.url;e.user=c;e.type="bug";e.data=d;ka("http://www.pcjs.org/api/v1/report",!0,e)}} +function Sk(a,b,c){var d,e="none",f=new I(a,"1.16.4"),g=new I(a,"1.16.4","validate"),h=ia();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.16.4");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.la&&a.la.Yb&&(c&&qb(a.la),d=a.la.Yb(b,c),"object"===typeof d&&f.set(a.la.id,d),c&&(a.la.ma.Nb=!1,!1===d&&(e=null)));for(var h=Ja(a.id),m=0;mh.indexOf("/")&&(h=window.location.pathname+h);a=a.replace(/(]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(h?" url=$2"+h+"$2":""))}h=null;if("<"==a.charAt(0))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/\s*/g,"")),h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){h= -null,a=t.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");ka(e,!0,null,null,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],n,r=/( [a-z]+=)(['"])(.*?)\2/g;n=r.exec(f);)m=0>m.indexOf(n[1])?m.replace(">",n[0]+">"):m.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[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);dl(a,b,c)}})}else c(a,null)} -function el(a,b,c,d){function e(a){if(void 0===h){var b=g&&y(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ga(a))}function f(a){e("Error: "+a);m&&(--al||Aa(!0));m=!1}var g,h,m=!0;al++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.16.3/components.xsl");var n=function(a,d){if(d){var h=function(a,h){if(h)if(h)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=d.transformNode(h);m?(g.outerHTML=m,--al||Aa(!0)):f("transformNodeToObject failed")}else window.document.implementation&& -window.document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(h),(m=m.transformToFragment(d,window.document))?(g.parentNode.replaceChild(m,g),--al||Aa(!0)):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(a)};d?bl(c,null,null,!1,e,h):f("failed to load XML file: "+b)}else f(a)};"<"!=b.charAt(0)?bl(b,a,d,!0,e,n):cl(b,null,a,d,!1,e,n)}else f("failed to find machine element: "+a)}catch(r){f(r.message)}return m} -window.embedPC=function(a,b,c,d){Aa(!1);return el(a,b,c,d)};window.enableEvents=Aa;window.sendEvent=Ba;})(); +k.Eb=function(a,b,c){var d=this;switch(b){case "save":return this.ra[b]=c,c.onclick=function(){var a=Nk(d,!0);if(a){var b=!(!d.Dc||d.mh),c=Sk(d,b);b?Tk(d,a,c):d.Aa("Resume disabled, machine state not saved")}},!0;case "reset":return this.ra[b]=c,c.onclick=function(){rb(d)},!0}return!1}; +function Nk(a,b){var c=a.Ec;c||(c=pa("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("To save machine states on the pcjs.org server, you need a user ID (email support@pcjs.org).\n\nOnce you have an ID, enter it below.","")),c&&((c=Uk(a,c))||a.Aa("Your user ID has not been approved."))):b&&a.Aa("Browser local storage is not available"));return c} +function Uk(a,b){a.Ec=null;var c=ka(la()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(qa("user",c.data),a.Ec=c.data)}catch(e){q(e.message+" ("+d+")")}return a.Ec} +function Tk(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Ik(a,"1.16.4");d.data=c;b=ka(la()+"/api/v1/user",!1,d);d=b[1];if(b[0]){if(d){var e=d.indexOf("\n");0h.indexOf("/")&&(h=window.location.pathname+h);a=a.replace(/(]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(h?" url=$2"+h+"$2":""))}h=null;if("<"==a.charAt(0))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/\s*/g,"")),h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){h= +null,a=t.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");ka(e,!0,null,null,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],n,r=/( [a-z]+=)(['"])(.*?)\2/g;n=r.exec(f);)m=0>m.indexOf(n[1])?m.replace(">",n[0]+">"):m.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[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);Yk(a,b,c)}})}else c(a,null)} +function Zk(a,b,c,d){function e(a){if(void 0===h){var b=g&&y(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ga(a))}function f(a){e("Error: "+a);m&&(--Vk||Aa(!0));m=!1}var g,h,m=!0;Vk++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.16.4/components.xsl");var n=function(a,d){if(d){var h=function(a,h){if(h)if(h)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=d.transformNode(h);m?(g.outerHTML=m,--Vk||Aa(!0)):f("transformNodeToObject failed")}else window.document.implementation&& +window.document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(h),(m=m.transformToFragment(d,window.document))?(g.parentNode.replaceChild(m,g),--Vk||Aa(!0)):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(a)};d?Wk(c,null,null,!1,e,h):f("failed to load XML file: "+b)}else f(a)};"<"!=b.charAt(0)?Wk(b,a,d,!0,e,n):Xk(b,null,a,d,!1,e,n)}else f("failed to find machine element: "+a)}catch(r){f(r.message)}return m} +window.embedPC=function(a,b,c,d){Aa(!1);return Zk(a,b,c,d)};window.enableEvents=Aa;window.sendEvent=Ba;})(); diff --git a/modules/c1pjs/lib/cpu.js b/modules/c1pjs/lib/cpu.js index d515d4a7c..0a14355ef 100644 --- a/modules/c1pjs/lib/cpu.js +++ b/modules/c1pjs/lib/cpu.js @@ -57,8 +57,8 @@ function C1PCPU(parmsCPU) Component.call(this, "C1PCPU", parmsCPU); this.clearRegs(); - this.bitField.fPowered = false; - this.bitField.fRunning = false; + this.aFlags.fPowered = false; + this.aFlags.fRunning = false; this.fAutoStart = parmsCPU["autoStart"]; /* @@ -482,7 +482,7 @@ Component.subclass(Component, C1PCPU); */ C1PCPU.prototype.reset = function(fPowerOn) { - if (this.bitField.fRunning) { + if (this.aFlags.fRunning) { this.halt(); } this.clearRegs(); @@ -516,7 +516,7 @@ C1PCPU.prototype.setBinding = function(sHTMLType, sBinding, control) this.bindings[sBinding] = control; control.onclick = function(cpu) { return function() { - if (!cpu.bitField.fRunning) { + if (!cpu.aFlags.fRunning) { cpu.run(); } else { cpu.halt(); @@ -580,7 +580,7 @@ C1PCPU.prototype.setBuffer = function(abMemory, start, end) */ C1PCPU.prototype.setPower = function(fOn, cmp) { - if (fOn && !this.bitField.fPowered) { + if (fOn && !this.aFlags.fPowered) { this.cmp = cmp; /* * Attach the Debugger, if any, to the CPU, so that the CPU can periodically @@ -608,7 +608,7 @@ C1PCPU.prototype.setPower = function(fOn, cmp) }; }(video); } - this.bitField.fPowered = true; + this.aFlags.fPowered = true; this.reset(true); this.update(); } @@ -881,7 +881,7 @@ C1PCPU.prototype.displayStatus = function() */ C1PCPU.prototype.isRunning = function() { - return this.bitField.fRunning; + return this.aFlags.fRunning; }; /** @@ -1052,7 +1052,7 @@ C1PCPU.prototype.run = function() if (this.cmp) this.cmp.stop(this.msRunStart, this.nRunCycles); return; } - if (!this.bitField.fRunning) { + if (!this.aFlags.fRunning) { /* * setSpeed() without a speed parameter leaves the selected speed in place, but also resets the * cycle counter and timestamp for the current series of run() calls, calculates the maximum number @@ -1061,7 +1061,7 @@ C1PCPU.prototype.run = function() */ this.setSpeed(); if (this.cmp) this.cmp.start(); - this.bitField.fRunning = true; + this.aFlags.fRunning = true; if (this.bindings["run"]) this.bindings["run"].innerHTML = "Halt"; this.setFocus(); } @@ -1108,7 +1108,7 @@ C1PCPU.prototype.run = function() this.nCyclesNextYield += this.nCyclesPerYield; break; } - } while (this.bitField.fRunning); + } while (this.aFlags.fRunning); } catch (e) { this.halt(); @@ -1269,8 +1269,8 @@ C1PCPU.prototype.halt = function() this.isBusy(true); this.nBurstCycles -= this.nStepCycles; this.nStepCycles = 0; - if (this.bitField.fRunning) { - this.bitField.fRunning = false; + if (this.aFlags.fRunning) { + this.aFlags.fRunning = false; if (this.bindings["run"]) this.bindings["run"].innerHTML = "Run"; } }; @@ -1304,7 +1304,7 @@ C1PCPU.prototype.update = function() */ C1PCPU.prototype.getCycles = function() { - return (this.bitField.fRunning? this.nRunCycles + this.nBurstCycles - this.nStepCycles : 0); + return (this.aFlags.fRunning? this.nRunCycles + this.nBurstCycles - this.nStepCycles : 0); }; /** diff --git a/modules/c1pjs/lib/debugger.js b/modules/c1pjs/lib/debugger.js index ad6672689..bf9c2f0eb 100644 --- a/modules/c1pjs/lib/debugger.js +++ b/modules/c1pjs/lib/debugger.js @@ -579,8 +579,8 @@ if (DEBUGGER) { */ C1PDebugger.prototype.setPower = function(fOn, cmp) { - if (fOn && !this.bitField.fPowered) { - this.bitField.fPowered = true; + if (fOn && !this.aFlags.fPowered) { + this.aFlags.fPowered = true; this.cpu = cmp.getComponentByType("cpu"); } }; diff --git a/modules/c1pjs/lib/disk.js b/modules/c1pjs/lib/disk.js index 6a388d42c..48f9f4e1b 100644 --- a/modules/c1pjs/lib/disk.js +++ b/modules/c1pjs/lib/disk.js @@ -217,7 +217,7 @@ function C1PDiskController(parmsDC) { Component.call(this, "C1PDiskController", parmsDC); - this.bitField.fPowered = false; + this.aFlags.fPowered = false; /* * Our DiskController simulates the combination of an MC6820 PIA and an MC6850 ACIA. @@ -735,8 +735,8 @@ C1PDiskController.prototype.setBuffer = function(abMemory, start, end, cpu) */ C1PDiskController.prototype.setPower = function(fOn, cmp) { - if (fOn && !this.bitField.fPowered) { - this.bitField.fPowered = true; + if (fOn && !this.aFlags.fPowered) { + this.aFlags.fPowered = true; if (DEBUGGER) this.dbg = cmp.getComponentByType("debugger"); } }; diff --git a/modules/c1pjs/lib/keyboard.js b/modules/c1pjs/lib/keyboard.js index 1786ad548..f74e7d0f6 100644 --- a/modules/c1pjs/lib/keyboard.js +++ b/modules/c1pjs/lib/keyboard.js @@ -122,7 +122,7 @@ function C1PKeyboard(parmsKbd) { Component.call(this, "C1PKeyboard", parmsKbd); - this.bitField.fPowered = false; + this.aFlags.fPowered = false; this.nDefaultModel = parmsKbd['model']; /* @@ -515,8 +515,8 @@ C1PKeyboard.prototype.setModel = function(nModel) */ C1PKeyboard.prototype.setPower = function(fOn, cmp) { - if (fOn && !this.bitField.fPowered) { - this.bitField.fPowered = true; + if (fOn && !this.aFlags.fPowered) { + this.aFlags.fPowered = true; this.cmp = cmp; if (DEBUGGER) this.dbg = cmp.getComponentByType("debugger"); } diff --git a/modules/c1pjs/lib/panel.js b/modules/c1pjs/lib/panel.js index d087b32e2..8e15a0791 100644 --- a/modules/c1pjs/lib/panel.js +++ b/modules/c1pjs/lib/panel.js @@ -44,7 +44,7 @@ function C1PPanel(parmsPanel) { Component.call(this, "C1PPanel", parmsPanel); - this.bitField.fPowered = false; + this.aFlags.fPowered = false; } Component.subclass(Component, C1PPanel); @@ -76,8 +76,8 @@ C1PPanel.prototype.setBinding = function(sHTMLType, sBinding, control) */ C1PPanel.prototype.setPower = function(fOn, cmp) { - if (fOn && !this.bitField.fPowered) { - this.bitField.fPowered = true; + if (fOn && !this.aFlags.fPowered) { + this.aFlags.fPowered = true; this.cmp = cmp; this.cpu = cmp.getComponentByType("cpu"); this.kbd = cmp.getComponentByType("keyboard"); diff --git a/modules/c1pjs/lib/rom.js b/modules/c1pjs/lib/rom.js index 4255afe64..7d3d57379 100644 --- a/modules/c1pjs/lib/rom.js +++ b/modules/c1pjs/lib/rom.js @@ -108,8 +108,8 @@ C1PROM.prototype.setBuffer = function(abMemory, start, end, cpu) */ C1PROM.prototype.setPower = function(fOn, cmp) { - if (fOn && !this.bitField.fPowered) { - this.bitField.fPowered = true; + if (fOn && !this.aFlags.fPowered) { + this.aFlags.fPowered = true; if (DEBUGGER) this.dbg = cmp.getComponentByType("debugger"); } }; diff --git a/modules/c1pjs/lib/serial.js b/modules/c1pjs/lib/serial.js index e5a9cfabd..1ddd83819 100644 --- a/modules/c1pjs/lib/serial.js +++ b/modules/c1pjs/lib/serial.js @@ -44,7 +44,7 @@ function C1PSerialPort(parmsSerial) { Component.call(this, "C1PSerialPort", parmsSerial); - this.bitField.fPowered = false; + this.aFlags.fPowered = false; this.fDemo = parmsSerial['demo']; this.STATUS_NONE = 0x00; @@ -202,8 +202,8 @@ C1PSerialPort.prototype.setBuffer = function(abMemory, start, end, cpu) */ C1PSerialPort.prototype.setPower = function(fOn, cmp) { - if (fOn && !this.bitField.fPowered) { - this.bitField.fPowered = true; + if (fOn && !this.aFlags.fPowered) { + this.aFlags.fPowered = true; this.cmp = cmp; this.kbd = cmp.getComponentByType("keyboard"); if (DEBUGGER) this.dbg = cmp.getComponentByType("debugger"); diff --git a/modules/c1pjs/lib/video.js b/modules/c1pjs/lib/video.js index bf29d2725..72287ac41 100644 --- a/modules/c1pjs/lib/video.js +++ b/modules/c1pjs/lib/video.js @@ -307,8 +307,8 @@ C1PVideo.prototype.setPower = function(fOn, cmp) * it ourselves, too. This also means that updateScreen() need check only fPower and not isReady(), * since we guarantee that the former implies the latter. */ - if (fOn && !this.bitField.fPowered && this.isReady()) { - this.bitField.fPowered = true; + if (fOn && !this.aFlags.fPowered && this.isReady()) { + this.aFlags.fPowered = true; if (DEBUGGER) this.dbg = cmp.getComponentByType("debugger"); /* * If we have an associated keyboard, then ensure that the keyboard will be notified whenever @@ -327,8 +327,8 @@ C1PVideo.prototype.setPower = function(fOn, cmp) } } else - if (!fOn && this.bitField.fPowered) { - this.bitField.fPowered = false; + if (!fOn && this.aFlags.fPowered) { + this.aFlags.fPowered = false; /* * This is where we would add some method of blanking the display, without the disturbing the video * buffer contents, and blocking all further updates to the display. @@ -441,7 +441,7 @@ C1PVideo.prototype.initScreen = function() C1PVideo.prototype.updateScreen = function() { var offset = 0; - if (this.bitField.fPowered) { + if (this.aFlags.fPowered) { while (offset < this.cbScreen) { var b = this.abMem[this.offVideo + offset]; if (this.abScreen[offset] != b) { diff --git a/modules/pcjs/bin/machine.json b/modules/pcjs/bin/machine.json index 06b333776..594702963 100644 --- a/modules/pcjs/bin/machine.json +++ b/modules/pcjs/bin/machine.json @@ -17,14 +17,14 @@ { "id": "ibm5150.romBASIC", "name": "", "addr": 0xf6000, - "size": 0x8000, + "size": 0x08000, "file": "/devices/pc/basic/ibm-basic-1.00.json", "notify": "" }, { "id": "ibm5150.romBIOS", "name": "", "addr": 0xfe000, - "size": 0x2000, + "size": 0x02000, "file": "/devices/pc/bios/5150/1981-04-24.json", "notify": "" } diff --git a/modules/pcjs/lib/chipset.js b/modules/pcjs/lib/chipset.js index 818484ec3..a3b9d4768 100644 --- a/modules/pcjs/lib/chipset.js +++ b/modules/pcjs/lib/chipset.js @@ -37,8 +37,9 @@ if (typeof module !== 'undefined') { var usr = require("../../shared/lib/usrlib"); var web = require("../../shared/lib/weblib"); var Component = require("../../shared/lib/component"); + var Interrupts = require("./interrupts"); + var Messages = require("./messages"); var State = require("./state"); - var Debugger = require("./debugger"); } /** @@ -147,7 +148,7 @@ if (typeof module !== 'undefined') { */ function ChipSet(parmsChipSet) { - Component.call(this, "ChipSet", parmsChipSet, ChipSet, Debugger.MESSAGE.CHIPSET); + Component.call(this, "ChipSet", parmsChipSet, ChipSet, Messages.CHIPSET); this.model = parmsChipSet['model']; this.model = (this.model? parseInt(this.model, 10) : ChipSet.MODEL_5150); @@ -967,17 +968,17 @@ ChipSet.prototype.initBus = function(cmp, bus, cpu, dbg) /* * TODO: Add more "dumpers" (eg, for DMA, RTC, 8042, etc) */ - dbg.messageDump(Debugger.MESSAGE.PIC, function onDumpPIC() { + dbg.messageDump(Messages.PIC, function onDumpPIC() { chipset.dumpPIC(); }); - dbg.messageDump(Debugger.MESSAGE.TIMER, function onDumpTimer() { + dbg.messageDump(Messages.TIMER, function onDumpTimer() { chipset.dumpTimer(); }); - dbg.messageDump(Debugger.MESSAGE.CMOS, function onDumpCMOS() { + dbg.messageDump(Messages.CMOS, function onDumpCMOS() { chipset.dumpCMOS(); }); } - cpu.addIntNotify(Debugger.INT.RTC, this, this.intBIOSRTC); + cpu.addIntNotify(Interrupts.RTC.VECTOR, this, this.intBIOSRTC); } }; @@ -1331,17 +1332,17 @@ ChipSet.prototype.getRTCCycleLimit = function(nCycles) var nCyclesUpdate = this.nRTCCyclesNextUpdate - this.cpu.getCycles(this.fScaleTimers); if (nCyclesUpdate > 0) { if (nCycles > nCyclesUpdate) { - if (DEBUG && this.messageEnabled(Debugger.MESSAGE.RTC)) { + if (DEBUG && this.messageEnabled(Messages.RTC)) { this.messageDebugger("getRTCCycleLimit(" + nCycles + "): reduced to " + nCyclesUpdate + " cycles", true); } nCycles = nCyclesUpdate; } else { - if (DEBUG && this.messageEnabled(Debugger.MESSAGE.RTC)) { + if (DEBUG && this.messageEnabled(Messages.RTC)) { this.messageDebugger("getRTCCycleLimit(" + nCycles + "): already less than " + nCyclesUpdate + " cycles", true); } } } else { - if (DEBUG && this.messageEnabled(Debugger.MESSAGE.RTC)) { + if (DEBUG && this.messageEnabled(Messages.RTC)) { this.messageDebugger("RTC next update has passed by " + nCyclesUpdate + " cycles", true); } } @@ -1401,9 +1402,9 @@ ChipSet.prototype.updateRTCTime = function() if (DEBUG) { if (nCyclesUpdate - this.nRTCCyclesNextUpdate > this.nRTCCyclesPerPeriod) { if (bPrev & ChipSet.CMOS.STATUSC.PF) { - this.messageDebugger("RTC interrupt handler failed to clear STATUSC", Debugger.MESSAGE.RTC); + this.messageDebugger("RTC interrupt handler failed to clear STATUSC", Messages.RTC); } else { - this.messageDebugger("CPU took too long trigger new RTC periodic interrupt", Debugger.MESSAGE.RTC); + this.messageDebugger("CPU took too long trigger new RTC periodic interrupt", Messages.RTC); } } } @@ -2288,7 +2289,7 @@ ChipSet.prototype.inDMAChannelAddr = function(iDMAC, iChannel, port, addrFrom) var controller = this.aDMACs[iDMAC]; var channel = controller.aChannels[iChannel]; var b = channel.addrCurrent[controller.bIndex]; - if (this.messageEnabled(Debugger.MESSAGE.DMA | Debugger.MESSAGE.PORT)) { + if (this.messageEnabled(Messages.DMA | Messages.PORT)) { this.messagePort(port, null, addrFrom, "DMA" + iDMAC + ".CHANNEL" + iChannel + ".ADDR[" + controller.bIndex + "]", b, true); } controller.bIndex ^= 0x1; @@ -2325,7 +2326,7 @@ ChipSet.prototype.inDMAChannelAddr = function(iDMAC, iChannel, port, addrFrom) ChipSet.prototype.outDMAChannelAddr = function outDMAChannelAddr(iDMAC, iChannel, port, bOut, addrFrom) { var controller = this.aDMACs[iDMAC]; - if (this.messageEnabled(Debugger.MESSAGE.DMA | Debugger.MESSAGE.PORT)) { + if (this.messageEnabled(Messages.DMA | Messages.PORT)) { this.messagePort(port, bOut, addrFrom, "DMA" + iDMAC + ".CHANNEL" + iChannel + ".ADDR[" + controller.bIndex + "]", null, true); } var channel = controller.aChannels[iChannel]; @@ -2348,7 +2349,7 @@ ChipSet.prototype.inDMAChannelCount = function(iDMAC, iChannel, port, addrFrom) var controller = this.aDMACs[iDMAC]; var channel = controller.aChannels[iChannel]; var b = channel.countCurrent[controller.bIndex]; - if (this.messageEnabled(Debugger.MESSAGE.DMA | Debugger.MESSAGE.PORT)) { + if (this.messageEnabled(Messages.DMA | Messages.PORT)) { this.messagePort(port, null, addrFrom, "DMA" + iDMAC + ".CHANNEL" + iChannel + ".COUNT[" + controller.bIndex + "]", b, true); } controller.bIndex ^= 0x1; @@ -2389,7 +2390,7 @@ ChipSet.prototype.inDMAChannelCount = function(iDMAC, iChannel, port, addrFrom) ChipSet.prototype.outDMAChannelCount = function(iDMAC, iChannel, port, bOut, addrFrom) { var controller = this.aDMACs[iDMAC]; - if (this.messageEnabled(Debugger.MESSAGE.DMA | Debugger.MESSAGE.PORT)) { + if (this.messageEnabled(Messages.DMA | Messages.PORT)) { this.messagePort(port, bOut, addrFrom, "DMA" + iDMAC + ".CHANNEL" + iChannel + ".COUNT[" + controller.bIndex + "]", null, true); } var channel = controller.aChannels[iChannel]; @@ -2432,7 +2433,7 @@ ChipSet.prototype.inDMAStatus = function(iDMAC, port, addrFrom) var controller = this.aDMACs[iDMAC]; var b = controller.bStatus | ChipSet.DMA_STATUS.CH0_TC; controller.bStatus &= ~ChipSet.DMA_STATUS.ALL_TC; - if (this.messageEnabled(Debugger.MESSAGE.DMA | Debugger.MESSAGE.PORT)) { + if (this.messageEnabled(Messages.DMA | Messages.PORT)) { this.messagePort(port, null, addrFrom, "DMA" + iDMAC + ".STATUS", b, true); } return b; @@ -2449,7 +2450,7 @@ ChipSet.prototype.inDMAStatus = function(iDMAC, port, addrFrom) */ ChipSet.prototype.outDMACmd = function(iDMAC, port, bOut, addrFrom) { - if (this.messageEnabled(Debugger.MESSAGE.DMA | Debugger.MESSAGE.PORT)) { + if (this.messageEnabled(Messages.DMA | Messages.PORT)) { this.messagePort(port, bOut, addrFrom, "DMA" + iDMAC + ".CMD", null, true); } this.aDMACs[iDMAC].bCmd = bOut; @@ -2477,7 +2478,7 @@ ChipSet.prototype.outDMACmd = function(iDMAC, port, bOut, addrFrom) ChipSet.prototype.outDMAReq = function(iDMAC, port, bOut, addrFrom) { var controller = this.aDMACs[iDMAC]; - if (this.messageEnabled(Debugger.MESSAGE.DMA | Debugger.MESSAGE.PORT)) { + if (this.messageEnabled(Messages.DMA | Messages.PORT)) { this.messagePort(port, bOut, addrFrom, "DMA" + iDMAC + ".REQ", null, true); } /* @@ -2504,7 +2505,7 @@ ChipSet.prototype.outDMAReq = function(iDMAC, port, bOut, addrFrom) ChipSet.prototype.outDMAMask = function(iDMAC, port, bOut, addrFrom) { var controller = this.aDMACs[iDMAC]; - if (this.messageEnabled(Debugger.MESSAGE.DMA | Debugger.MESSAGE.PORT)) { + if (this.messageEnabled(Messages.DMA | Messages.PORT)) { this.messagePort(port, bOut, addrFrom, "DMA" + iDMAC + ".MASK", null, true); } var iChannel = bOut & ChipSet.DMA_MASK.CHANNEL; @@ -2524,7 +2525,7 @@ ChipSet.prototype.outDMAMask = function(iDMAC, port, bOut, addrFrom) */ ChipSet.prototype.outDMAMode = function(iDMAC, port, bOut, addrFrom) { - if (this.messageEnabled(Debugger.MESSAGE.DMA | Debugger.MESSAGE.PORT)) { + if (this.messageEnabled(Messages.DMA | Messages.PORT)) { this.messagePort(port, bOut, addrFrom, "DMA" + iDMAC + ".MODE", null, true); } var iChannel = bOut & ChipSet.DMA_MODE.CHANNEL; @@ -2545,7 +2546,7 @@ ChipSet.prototype.outDMAMode = function(iDMAC, port, bOut, addrFrom) */ ChipSet.prototype.outDMAResetFF = function(iDMAC, port, bOut, addrFrom) { - if (this.messageEnabled(Debugger.MESSAGE.DMA | Debugger.MESSAGE.PORT)) { + if (this.messageEnabled(Messages.DMA | Messages.PORT)) { this.messagePort(port, bOut, addrFrom, "DMA" + iDMAC + ".RESET_FF", null, true); } this.aDMACs[iDMAC].bIndex = 0; @@ -2562,7 +2563,7 @@ ChipSet.prototype.outDMAResetFF = function(iDMAC, port, bOut, addrFrom) */ ChipSet.prototype.outDMAMasterClear = function(iDMAC, port, bOut, addrFrom) { - if (this.messageEnabled(Debugger.MESSAGE.DMA | Debugger.MESSAGE.PORT)) { + if (this.messageEnabled(Messages.DMA | Messages.PORT)) { this.messagePort(port, bOut, addrFrom, "DMA" + iDMAC + ".MASTER_CLEAR", null, true); } /* @@ -2589,7 +2590,7 @@ ChipSet.prototype.outDMAMasterClear = function(iDMAC, port, bOut, addrFrom) ChipSet.prototype.inDMAPageReg = function(iDMAC, iChannel, port, addrFrom) { var bIn = this.aDMACs[iDMAC].aChannels[iChannel].bPage; - if (this.messageEnabled(Debugger.MESSAGE.DMA | Debugger.MESSAGE.PORT)) { + if (this.messageEnabled(Messages.DMA | Messages.PORT)) { this.messagePort(port, null, addrFrom, "DMA" + iDMAC + ".CHANNEL" + iChannel + ".PAGE", bIn, true); } return bIn; @@ -2607,7 +2608,7 @@ ChipSet.prototype.inDMAPageReg = function(iDMAC, iChannel, port, addrFrom) */ ChipSet.prototype.outDMAPageReg = function(iDMAC, iChannel, port, bOut, addrFrom) { - if (this.messageEnabled(Debugger.MESSAGE.DMA | Debugger.MESSAGE.PORT)) { + if (this.messageEnabled(Messages.DMA | Messages.PORT)) { this.messagePort(port, bOut, addrFrom, "DMA" + iDMAC + ".CHANNEL" + iChannel + ".PAGE", null, true); } this.aDMACs[iDMAC].aChannels[iChannel].bPage = bOut; @@ -2625,7 +2626,7 @@ ChipSet.prototype.outDMAPageReg = function(iDMAC, iChannel, port, bOut, addrFrom ChipSet.prototype.inDMAPageSpare = function(iSpare, port, addrFrom) { var bIn = this.abDMAPageSpare[iSpare]; - if (this.messageEnabled(Debugger.MESSAGE.DMA | Debugger.MESSAGE.PORT)) { + if (this.messageEnabled(Messages.DMA | Messages.PORT)) { this.messagePort(port, null, addrFrom, "DMA.SPARE" + iSpare + ".PAGE", bIn, true); } return bIn; @@ -2642,7 +2643,7 @@ ChipSet.prototype.inDMAPageSpare = function(iSpare, port, addrFrom) */ ChipSet.prototype.outDMAPageSpare = function(iSpare, port, bOut, addrFrom) { - if (this.messageEnabled(Debugger.MESSAGE.DMA | Debugger.MESSAGE.PORT)) { + if (this.messageEnabled(Messages.DMA | Messages.PORT)) { this.messagePort(port, bOut, addrFrom, "DMA.SPARE" + iSpare + ".PAGE", null, true); } this.abDMAPageSpare[iSpare] = bOut; @@ -2712,7 +2713,7 @@ ChipSet.prototype.requestDMA = function(iDMAChannel, done) var channel = controller.aChannels[iChannel]; if (!channel.component || !channel.fnTransfer || !channel.obj) { - if (DEBUG && this.messageEnabled(Debugger.MESSAGE.DMA | Debugger.MESSAGE.DATA)) { + if (DEBUG && this.messageEnabled(Messages.DMA | Messages.DATA)) { this.messageDebugger("requestDMA(" + iDMAChannel + "): not connected to a component", true); } if (done) done(true); @@ -2729,7 +2730,7 @@ ChipSet.prototype.requestDMA = function(iDMAChannel, done) if (done) channel.done = done; if (channel.masked) { - if (DEBUG && this.messageEnabled(Debugger.MESSAGE.DMA | Debugger.MESSAGE.DATA)) { + if (DEBUG && this.messageEnabled(Messages.DMA | Messages.DATA)) { this.messageDebugger("requestDMA(" + iDMAChannel + "): channel masked, request queued", true); } return; @@ -2793,7 +2794,7 @@ ChipSet.prototype.advanceDMA = function(channel, fInit) channel.fnTransfer.call(channel.component, channel.obj, -1, function onTransferDMA(b, fAsync) { if (b < 0) { if (!channel.fWarning) { - if (DEBUG && obj.messageEnabled(Debugger.MESSAGE.DMA)) { + if (DEBUG && obj.messageEnabled(Messages.DMA)) { obj.messageDebugger("advanceDMA(" + iDMAChannel + ") ran out of data, assuming 0xff", true); } channel.fWarning = true; @@ -2842,7 +2843,7 @@ ChipSet.prototype.advanceDMA = function(channel, fInit) } } else { - if (DEBUG && this.messageEnabled(Debugger.MESSAGE.DMA | Debugger.MESSAGE.WARN)) { + if (DEBUG && this.messageEnabled(Messages.DMA | Messages.WARN)) { this.messageDebugger("advanceDMA(" + iDMAChannel + ") unsupported xfer mode: " + str.toHexWord(channel.xfer), true); } channel.fError = true; @@ -2938,7 +2939,7 @@ ChipSet.prototype.inPICLo = function(iPIC, addrFrom) break; } } - if (this.messageEnabled(Debugger.MESSAGE.PIC | Debugger.MESSAGE.PORT | Debugger.MESSAGE.CHIPSET)) { + if (this.messageEnabled(Messages.PIC | Messages.PORT | Messages.CHIPSET)) { this.messagePort(pic.port, null, addrFrom, "PIC" + iPIC, b, true); } return b; @@ -2955,7 +2956,7 @@ ChipSet.prototype.inPICLo = function(iPIC, addrFrom) ChipSet.prototype.outPICLo = function(iPIC, bOut, addrFrom) { var pic = this.aPICs[iPIC]; - if (this.messageEnabled(Debugger.MESSAGE.PIC | Debugger.MESSAGE.PORT | Debugger.MESSAGE.CHIPSET)) { + if (this.messageEnabled(Messages.PIC | Messages.PORT | Messages.CHIPSET)) { this.messagePort(pic.port, bOut, addrFrom, "PIC" + iPIC, null, true); } if (bOut & ChipSet.PIC_LO.ICW1) { @@ -3045,7 +3046,7 @@ ChipSet.prototype.outPICLo = function(iPIC, bOut, addrFrom) pic.bISR &= ~bIREnd; this.checkIRR(); } else { - if (DEBUG && this.messageEnabled(Debugger.MESSAGE.PIC | Debugger.MESSAGE.WARN)) { + if (DEBUG && this.messageEnabled(Messages.PIC | Messages.WARN)) { this.messageDebugger("outPIC" + iPIC + "(0x" + str.toHexByte(pic.port) + "): unexpected EOI command, IRQ " + nIRQ + " not in service", true); if (!SAMPLER && MAXDEBUG) this.dbg.stopCPU(); } @@ -3053,7 +3054,7 @@ ChipSet.prototype.outPICLo = function(iPIC, bOut, addrFrom) /* * TODO: Support EOI commands with automatic rotation (eg, ChipSet.PIC_LO.OCW2_EOI_ROT and ChipSet.PIC_LO.OCW2_EOI_ROTSPEC) */ - if (DEBUG && (bOCW2 & ChipSet.PIC_LO.OCW2_SET_ROTAUTO) && this.messageEnabled(Debugger.MESSAGE.PIC | Debugger.MESSAGE.WARN)) { + if (DEBUG && (bOCW2 & ChipSet.PIC_LO.OCW2_SET_ROTAUTO) && this.messageEnabled(Messages.PIC | Messages.WARN)) { this.messageDebugger("outPIC" + iPIC + "(0x" + str.toHexByte(pic.port) + "): unsupported OCW2 rotate command: " + str.toHexByte(bOut), true); this.dbg.stopCPU(); } @@ -3068,7 +3069,7 @@ ChipSet.prototype.outPICLo = function(iPIC, bOut, addrFrom) /* * TODO: Remaining commands to support: ChipSet.PIC_LO.OCW2_SET_ROTAUTO and ChipSet.PIC_LO.OCW2_CLR_ROTAUTO */ - if (DEBUG && this.messageEnabled(Debugger.MESSAGE.PIC | Debugger.MESSAGE.WARN)) { + if (DEBUG && this.messageEnabled(Messages.PIC | Messages.WARN)) { this.messageDebugger("outPIC" + iPIC + "(0x" + str.toHexByte(pic.port) + "): unsupported OCW2 automatic EOI command: " + str.toHexByte(bOut), true); this.dbg.stopCPU(); } @@ -3081,7 +3082,7 @@ ChipSet.prototype.outPICLo = function(iPIC, bOut, addrFrom) * that's unfortunate, because I don't support them yet. */ if (bOut & (ChipSet.PIC_LO.OCW3_POLL_CMD | ChipSet.PIC_LO.OCW3_SMM_CMD)) { - if (DEBUG && this.messageEnabled(Debugger.MESSAGE.PIC | Debugger.MESSAGE.WARN)) { + if (DEBUG && this.messageEnabled(Messages.PIC | Messages.WARN)) { this.messageDebugger("outPIC" + iPIC + "(0x" + str.toHexByte(pic.port) + "): unsupported OCW3 command: " + str.toHexByte(bOut), true); } } @@ -3101,7 +3102,7 @@ ChipSet.prototype.inPICHi = function(iPIC, addrFrom) { var pic = this.aPICs[iPIC]; var b = pic.bIMR; - if (this.messageEnabled(Debugger.MESSAGE.PIC | Debugger.MESSAGE.PORT | Debugger.MESSAGE.CHIPSET)) { + if (this.messageEnabled(Messages.PIC | Messages.PORT | Messages.CHIPSET)) { this.messagePort(pic.port+1, null, addrFrom, "PIC" + iPIC, b, true); } return b; @@ -3118,7 +3119,7 @@ ChipSet.prototype.inPICHi = function(iPIC, addrFrom) ChipSet.prototype.outPICHi = function(iPIC, bOut, addrFrom) { var pic = this.aPICs[iPIC]; - if (this.messageEnabled(Debugger.MESSAGE.PIC | Debugger.MESSAGE.PORT | Debugger.MESSAGE.CHIPSET)) { + if (this.messageEnabled(Messages.PIC | Messages.PORT | Messages.CHIPSET)) { this.messagePort(pic.port+1, bOut, addrFrom, "PIC" + iPIC, null, true); } if (pic.nICW < pic.aICW.length) { @@ -3177,7 +3178,7 @@ ChipSet.prototype.setIRR = function(nIRQ, nDelay) var bIRR = (1 << nIRL); if (!(pic.bIRR & bIRR)) { pic.bIRR |= bIRR; - if (DEBUG && this.messageEnabled(this.messageBitsIRQ(nIRQ) | Debugger.MESSAGE.CHIPSET)) { + if (DEBUG && this.messageEnabled(this.messageBitsIRQ(nIRQ) | Messages.CHIPSET)) { this.messageDebugger("setIRR(" + nIRQ + ")", true); } pic.nDelay = nDelay || 0; @@ -3199,7 +3200,7 @@ ChipSet.prototype.clearIRR = function(nIRQ) var bIRR = (1 << nIRL); if (pic.bIRR & bIRR) { pic.bIRR &= ~bIRR; - if (DEBUG && this.messageEnabled(this.messageBitsIRQ(nIRQ) | Debugger.MESSAGE.CHIPSET)) { + if (DEBUG && this.messageEnabled(this.messageBitsIRQ(nIRQ) | Messages.CHIPSET)) { this.messageDebugger("clearIRR(" + nIRQ + ")", true); } this.checkIRR(); @@ -3363,7 +3364,7 @@ ChipSet.prototype.inTimer = function(iTimer, addrFrom) } this.updateTimer(iTimer); b = timer.countCurrent[timer.countIndex++]; - if (this.messageEnabled(Debugger.MESSAGE.TIMER | Debugger.MESSAGE.PORT)) { + if (this.messageEnabled(Messages.TIMER | Messages.PORT)) { this.messagePort(ChipSet.TIMER0.PORT + iTimer, null, addrFrom, "TIMER" + iTimer, b, true); } return b; @@ -3388,7 +3389,7 @@ ChipSet.prototype.inTimer = function(iTimer, addrFrom) */ ChipSet.prototype.outTimer = function(iTimer, bOut, addrFrom) { - if (this.messageEnabled(Debugger.MESSAGE.TIMER | Debugger.MESSAGE.PORT)) { + if (this.messageEnabled(Messages.TIMER | Messages.PORT)) { this.messagePort(ChipSet.TIMER0.PORT + iTimer, bOut, addrFrom, "TIMER" + iTimer, null, true); } var timer = this.aTimers[iTimer]; @@ -3442,8 +3443,8 @@ ChipSet.prototype.outTimer = function(iTimer, bOut, addrFrom) */ ChipSet.prototype.inTimerCtrl = function(port, addrFrom) { - this.messagePort(port, null, addrFrom, "TIMER_CTRL", null, Debugger.MESSAGE.TIMER); - if (DEBUG) this.messageDebugger("TIMER_CTRL: Read-Back command not supported (yet)", Debugger.MESSAGE.TIMER); + this.messagePort(port, null, addrFrom, "TIMER_CTRL", null, Messages.TIMER); + if (DEBUG) this.messageDebugger("TIMER_CTRL: Read-Back command not supported (yet)", Messages.TIMER); return null; }; @@ -3458,13 +3459,13 @@ ChipSet.prototype.inTimerCtrl = function(port, addrFrom) ChipSet.prototype.outTimerCtrl = function(port, bOut, addrFrom) { this.bTimerCtrl = bOut; - this.messagePort(port, bOut, addrFrom, "TIMER_CTRL", null, Debugger.MESSAGE.TIMER); + this.messagePort(port, bOut, addrFrom, "TIMER_CTRL", null, Messages.TIMER); /* * Extract the SC (Select Counter) bits */ var iTimer = (bOut & ChipSet.TIMER_CTRL.SC) >> 6; if (iTimer == 0x3) { - if (DEBUG) this.messageDebugger("TIMER_CTRL: Read-Back command not supported (yet)", Debugger.MESSAGE.TIMER); + if (DEBUG) this.messageDebugger("TIMER_CTRL: Read-Back command not supported (yet)", Messages.TIMER); return; } /* @@ -3515,7 +3516,7 @@ ChipSet.prototype.outTimerCtrl = function(port, bOut, addrFrom) timer.countStart[0] = timer.countInit[0]; timer.countStart[1] = timer.countInit[1]; timer.nCyclesStart = this.cpu.getCycles(this.fScaleTimers); - if (DEBUG && this.messageEnabled(Debugger.MESSAGE.TIMER)) { + if (DEBUG && this.messageEnabled(Messages.TIMER)) { this.messageDebugger("TIMER0 count reset @" + timer.nCyclesStart + " cycles", true); } } @@ -3718,7 +3719,7 @@ ChipSet.prototype.updateTimer = function(iTimer, fCycleReset) var ticksElapsed = ((nCycles - timer.nCyclesStart) / this.nTicksDivisor) | 0; if (ticksElapsed < 0) { - if (DEBUG && this.messageEnabled(Debugger.MESSAGE.TIMER)) { + if (DEBUG && this.messageEnabled(Messages.TIMER)) { this.messageDebugger("updateTimer(" + iTimer + "): negative tick count (" + ticksElapsed + ")", true); } timer.nCyclesStart = nCycles; @@ -3738,7 +3739,7 @@ ChipSet.prototype.updateTimer = function(iTimer, fCycleReset) */ if (timer.mode == ChipSet.TIMER_CTRL.MODE0) { if (count <= 0) count = 0; - if (DEBUG && this.messageEnabled(Debugger.MESSAGE.TIMER)) { + if (DEBUG && this.messageEnabled(Messages.TIMER)) { this.messageDebugger("updateTimer(" + iTimer + "): MODE0 timer count=" + count, true); } if (!count) { @@ -3773,7 +3774,7 @@ ChipSet.prototype.updateTimer = function(iTimer, fCycleReset) if (count <= 0) { count = countInit + count; if (count <= 0) { - if (DEBUG && this.messageEnabled(Debugger.MESSAGE.TIMER)) { + if (DEBUG && this.messageEnabled(Messages.TIMER)) { this.messageDebugger("updateTimer(" + iTimer + "): underflow=" + count, true); } count = countInit; @@ -3805,7 +3806,7 @@ ChipSet.prototype.updateTimer = function(iTimer, fCycleReset) timer.fOUT = !timer.fOUT; count = countInit + count; if (count <= 0) { - if (DEBUG && this.messageEnabled(Debugger.MESSAGE.TIMER)) { + if (DEBUG && this.messageEnabled(Messages.TIMER)) { this.messageDebugger("updateTimer(" + iTimer + "): underflow=" + count, true); } count = countInit; @@ -3826,7 +3827,7 @@ ChipSet.prototype.updateTimer = function(iTimer, fCycleReset) } } - if (DEBUG && this.messageEnabled(Debugger.MESSAGE.TIMER | Debugger.MESSAGE.LOG)) { + if (DEBUG && this.messageEnabled(Messages.TIMER | Messages.LOG)) { this.log("TIMER" + iTimer + " count: " + count + ", ticks: " + ticksElapsed + ", fired: " + (fFired? "true" : "false")); } @@ -3990,7 +3991,7 @@ ChipSet.prototype.inPPIC = function(port, addrFrom) * The ROM BIOS polls this port incessantly during its memory tests, checking for memory parity errors * (which of course we never report), so we further restrict these port messages to MESSAGE_MEM. */ - this.messagePort(port, null, addrFrom, "PPI_C", b, Debugger.MESSAGE.CHIPSET | Debugger.MESSAGE.MEM); + this.messagePort(port, null, addrFrom, "PPI_C", b, Messages.CHIPSET | Messages.MEM); return b; }; @@ -4048,7 +4049,7 @@ ChipSet.prototype.outPPICtrl = function(port, bOut, addrFrom) ChipSet.prototype.in8042OutBuff = function(port, addrFrom) { var b = this.b8042OutBuff; - this.messagePort(port, null, addrFrom, "8042_OUTBUFF", b, Debugger.MESSAGE.C8042); + this.messagePort(port, null, addrFrom, "8042_OUTBUFF", b, Messages.C8042); this.b8042Status &= ~(ChipSet.KBC.STATUS.OUTBUFF_FULL | ChipSet.KBC.STATUS.OUTBUFF_DELAY); if (this.kbd) this.kbd.checkScanCode(); return b; @@ -4068,7 +4069,7 @@ ChipSet.prototype.in8042OutBuff = function(port, addrFrom) */ ChipSet.prototype.out8042InBuffData = function(port, bOut, addrFrom) { - this.messagePort(port, bOut, addrFrom, "8042_INBUF.DATA", null, Debugger.MESSAGE.C8042); + this.messagePort(port, bOut, addrFrom, "8042_INBUF.DATA", null, Messages.C8042); if (this.b8042Status & ChipSet.KBC.STATUS.CMD_FLAG) { switch (this.b8042InBuff) { @@ -4194,7 +4195,7 @@ ChipSet.prototype.in8042RWReg = function(port, addrFrom) * Thanks to the WAITF function, this has become a very "busy" port, so let's not generate messages * unless both MESSAGE_8042 *and* MESSAGE_LOG are set. */ - this.messagePort(port, null, addrFrom, "8042_RWREG", b, Debugger.MESSAGE.C8042); + this.messagePort(port, null, addrFrom, "8042_RWREG", b, Messages.C8042); return b; }; @@ -4208,7 +4209,7 @@ ChipSet.prototype.in8042RWReg = function(port, addrFrom) */ ChipSet.prototype.out8042RWReg = function(port, bOut, addrFrom) { - this.messagePort(port, bOut, addrFrom, "8042_RWREG", null, Debugger.MESSAGE.C8042); + this.messagePort(port, bOut, addrFrom, "8042_RWREG", null, Messages.C8042); this.updatePPIB(bOut); }; @@ -4222,7 +4223,7 @@ ChipSet.prototype.out8042RWReg = function(port, bOut, addrFrom) */ ChipSet.prototype.in8042Status = function(port, addrFrom) { - this.messagePort(port, null, addrFrom, "8042_STATUS", this.b8042Status, Debugger.MESSAGE.C8042); + this.messagePort(port, null, addrFrom, "8042_STATUS", this.b8042Status, Messages.C8042); var b = this.b8042Status & 0xff; /* * There's code in the 5170 BIOS (F000:03BF) that writes an 8042 command (0xAA), waits for @@ -4260,7 +4261,7 @@ ChipSet.prototype.in8042Status = function(port, addrFrom) */ ChipSet.prototype.out8042InBuffCmd = function(port, bOut, addrFrom) { - this.messagePort(port, bOut, addrFrom, "8042_INBUFF.CMD", null, Debugger.MESSAGE.C8042); + this.messagePort(port, bOut, addrFrom, "8042_INBUFF.CMD", null, Messages.C8042); this.assert(!(this.b8042Status & ChipSet.KBC.STATUS.INBUFF_FULL)); this.b8042InBuff = bOut; @@ -4289,7 +4290,7 @@ ChipSet.prototype.out8042InBuffCmd = function(port, bOut, addrFrom) case ChipSet.KBC.CMD.DISABLE_KBD: // 0xAD this.set8042CmdData(this.b8042CmdData | ChipSet.KBC.DATA.CMD.NO_CLOCK); - if (DEBUG) this.messageDebugger("keyboard disabled", Debugger.MESSAGE.KEYBOARD | Debugger.MESSAGE.PORT); + if (DEBUG) this.messageDebugger("keyboard disabled", Messages.KEYBOARD | Messages.PORT); /* * NOTE: The MODEL_5170 BIOS calls "KBD_RESET" (F000:17D2) while the keyboard interface is disabled, * yet we must still deliver the Keyboard's CMDRES.BAT_OK response code? Seems like an odd thing for @@ -4300,13 +4301,13 @@ ChipSet.prototype.out8042InBuffCmd = function(port, bOut, addrFrom) case ChipSet.KBC.CMD.ENABLE_KBD: // 0xAE this.set8042CmdData(this.b8042CmdData & ~ChipSet.KBC.DATA.CMD.NO_CLOCK); if (this.kbd) this.kbd.checkScanCode(); - if (DEBUG) this.messageDebugger("keyboard re-enabled", Debugger.MESSAGE.KEYBOARD | Debugger.MESSAGE.PORT); + if (DEBUG) this.messageDebugger("keyboard re-enabled", Messages.KEYBOARD | Messages.PORT); break; case ChipSet.KBC.CMD.SELF_TEST: // 0xAA if (this.kbd) this.kbd.flushScanCode(); this.set8042CmdData(this.b8042CmdData | ChipSet.KBC.DATA.CMD.NO_CLOCK); - if (DEBUG) this.messageDebugger("keyboard disabled on reset", Debugger.MESSAGE.KEYBOARD | Debugger.MESSAGE.PORT); + if (DEBUG) this.messageDebugger("keyboard disabled on reset", Messages.KEYBOARD | Messages.PORT); this.set8042OutBuff(ChipSet.KBC.DATA.SELF_TEST.OK); this.set8042OutPort(ChipSet.KBC.OUTPORT.NO_RESET | ChipSet.KBC.OUTPORT.A20_ON); break; @@ -4327,7 +4328,7 @@ ChipSet.prototype.out8042InBuffCmd = function(port, bOut, addrFrom) break; default: - if (DEBUG && this.messageEnabled(Debugger.MESSAGE.C8042)) { + if (DEBUG && this.messageEnabled(Messages.C8042)) { this.messageDebugger("unrecognized 8042 command: " + str.toHexByte(this.b8042InBuff), true); this.dbg.stopCPU(); } @@ -4380,7 +4381,7 @@ ChipSet.prototype.set8042OutBuff = function(b) this.b8042OutBuff = b; this.b8042Status &= ~ChipSet.KBC.STATUS.OUTBUFF_FULL; this.b8042Status |= ChipSet.KBC.STATUS.OUTBUFF_DELAY; - if (DEBUG && this.messageEnabled(Debugger.MESSAGE.KEYBOARD | Debugger.MESSAGE.PORT)) { + if (DEBUG && this.messageEnabled(Messages.KEYBOARD | Messages.PORT)) { this.messageDebugger("set8042OutBuff(0x" + str.toHexByte(b) + ")", true); } } @@ -4402,7 +4403,7 @@ ChipSet.prototype.set8042OutPort = function(b) * KBC.CMD.PULSE_OUTPORT command, so if a RESET is detected via this command, we should try to * determine if that's what the caller intended. */ - if (DEBUG && this.messageEnabled(Debugger.MESSAGE.C8042)) { + if (DEBUG && this.messageEnabled(Messages.C8042)) { this.messageDebugger("unexpected 8042 output port reset: " + str.toHexByte(b), true); this.dbg.stopCPU(); } @@ -4512,12 +4513,12 @@ ChipSet.prototype.notifyKbdData = function(b) this.setIRR(ChipSet.IRQ.KBD, 120); } else { - if (DEBUG && this.messageEnabled(Debugger.MESSAGE.KEYBOARD | Debugger.MESSAGE.PORT)) { + if (DEBUG && this.messageEnabled(Messages.KEYBOARD | Messages.PORT)) { this.messageDebugger("notifyKbdData(0x" + str.toHexByte(b) + "): output buffer full", true); } } } else { - if (DEBUG && this.messageEnabled(Debugger.MESSAGE.KEYBOARD | Debugger.MESSAGE.PORT)) { + if (DEBUG && this.messageEnabled(Messages.KEYBOARD | Messages.PORT)) { this.messageDebugger("notifyKbdData(0x" + str.toHexByte(b) + "): disabled", true); } } @@ -4534,7 +4535,7 @@ ChipSet.prototype.notifyKbdData = function(b) */ ChipSet.prototype.inCMOSAddr = function(port, addrFrom) { - this.messagePort(port, null, addrFrom, "CMOS.ADDR", this.bCMOSAddr, Debugger.MESSAGE.CMOS); + this.messagePort(port, null, addrFrom, "CMOS.ADDR", this.bCMOSAddr, Messages.CMOS); return this.bCMOSAddr; }; @@ -4548,7 +4549,7 @@ ChipSet.prototype.inCMOSAddr = function(port, addrFrom) */ ChipSet.prototype.outCMOSAddr = function(port, bOut, addrFrom) { - this.messagePort(port, bOut, addrFrom, "CMOS.ADDR", null, Debugger.MESSAGE.CMOS); + this.messagePort(port, bOut, addrFrom, "CMOS.ADDR", null, Messages.CMOS); this.bCMOSAddr = bOut; this.bNMI = (bOut & ChipSet.CMOS.ADDR.NMI_DISABLE)? ChipSet.NMI.DISABLE : ChipSet.NMI.ENABLE; }; @@ -4565,7 +4566,7 @@ ChipSet.prototype.inCMOSData = function(port, addrFrom) { var bAddr = this.bCMOSAddr & ChipSet.CMOS.ADDR.MASK; var bIn = (bAddr <= ChipSet.CMOS.ADDR.STATUSD? this.getRTCByte(bAddr) : this.abCMOSData[bAddr]); - if (this.messageEnabled(Debugger.MESSAGE.CMOS | Debugger.MESSAGE.PORT)) { + if (this.messageEnabled(Messages.CMOS | Messages.PORT)) { this.messagePort(port, null, addrFrom, "CMOS.DATA[" + str.toHexByte(bAddr) + "]", bIn, true); } if (addrFrom != null) { @@ -4581,7 +4582,7 @@ ChipSet.prototype.inCMOSData = function(port, addrFrom) * occurs in a timely manner, too. */ if ((bIn & ChipSet.CMOS.STATUSC.PF) && (this.abCMOSData[ChipSet.CMOS.ADDR.STATUSB] & ChipSet.CMOS.STATUSB.PIE)) { - if (DEBUG) this.messageDebugger("RTC periodic interrupt cleared", Debugger.MESSAGE.RTC); + if (DEBUG) this.messageDebugger("RTC periodic interrupt cleared", Messages.RTC); this.setRTCCycleLimit(); } } @@ -4600,17 +4601,17 @@ ChipSet.prototype.inCMOSData = function(port, addrFrom) ChipSet.prototype.outCMOSData = function(port, bOut, addrFrom) { var bAddr = this.bCMOSAddr & ChipSet.CMOS.ADDR.MASK; - if (this.messageEnabled(Debugger.MESSAGE.CMOS | Debugger.MESSAGE.PORT)) { + if (this.messageEnabled(Messages.CMOS | Messages.PORT)) { this.messagePort(port, bOut, addrFrom, "CMOS.DATA[" + str.toHexByte(bAddr) + "]", null, true); } var bDelta = bOut ^ this.abCMOSData[bAddr]; this.abCMOSData[bAddr] = (bAddr <= ChipSet.CMOS.ADDR.STATUSD? this.setRTCByte(bAddr, bOut) : bOut); if (bAddr == ChipSet.CMOS.ADDR.STATUSB && (bDelta & ChipSet.CMOS.STATUSB.PIE)) { if (bOut & ChipSet.CMOS.STATUSB.PIE) { - if (DEBUG) this.messageDebugger("RTC periodic interrupts enabled", Debugger.MESSAGE.RTC); + if (DEBUG) this.messageDebugger("RTC periodic interrupts enabled", Messages.RTC); this.setRTCCycleLimit(); } else { - if (DEBUG) this.messageDebugger("RTC periodic interrupts disabled", Debugger.MESSAGE.RTC); + if (DEBUG) this.messageDebugger("RTC periodic interrupts disabled", Messages.RTC); } } }; @@ -4720,7 +4721,7 @@ ChipSet.prototype.outCoprocReset = function(port, bOut, addrFrom) ChipSet.prototype.intBIOSRTC = function(addr) { if (DEBUGGER) { - if (this.messageEnabled(Debugger.MESSAGE.RTC) && this.dbg.messageInt(Debugger.INT.RTC, addr)) { + if (this.messageEnabled(Messages.RTC) && this.dbg.messageInt(Interrupts.RTC.VECTOR, addr)) { /* * By computing AH now, we get the incoming AH value; if we computed it below, along with * the rest of the register values, we'd get the outgoing AH value, which is not what we want. @@ -4739,7 +4740,7 @@ ChipSet.prototype.intBIOSRTC = function(addr) } else if (AH == 0x04 || AH == 0x05) { sResult = " CX(year)=" + str.toHexWord(chipset.cpu.regCX) + " DH(month)=" + str.toHexByte(DH) + " DL(day)=" + str.toHexByte(DL); } - chipset.dbg.messageIntReturn(Debugger.INT.RTC, nLevel, nCycles, sResult); + chipset.dbg.messageIntReturn(Interrupts.RTC.VECTOR, nLevel, nCycles, sResult); }; }(this, this.cpu.getCycles())); } @@ -4790,13 +4791,13 @@ ChipSet.prototype.setSpeaker = function(fOn) if (fOn) { if (this.sourceAudio) { this.sourceAudio['frequency']['value'] = freq; - if (this.messageEnabled(Debugger.MESSAGE.SPEAKER)) this.messageDebugger("speaker set to " + freq + "hz", true); + if (this.messageEnabled(Messages.SPEAKER)) this.messageDebugger("speaker set to " + freq + "hz", true); } else { this.sourceAudio = this.contextAudio['createOscillator'](); this.sourceAudio['type'] = 1; // 0: sine wave, 1: square wave, 2: sawtooth wave, 3: triangle wave this.sourceAudio['connect'](this.contextAudio['destination']); this.sourceAudio['frequency']['value'] = freq; - if (this.messageEnabled(Debugger.MESSAGE.SPEAKER)) this.messageDebugger("speaker on at " + freq + "hz", true); + if (this.messageEnabled(Messages.SPEAKER)) this.messageDebugger("speaker on at " + freq + "hz", true); this.sourceAudio['noteOn'](0); // aka start() } } else { @@ -4804,11 +4805,11 @@ ChipSet.prototype.setSpeaker = function(fOn) this.sourceAudio['noteOff'](0); // aka stop() this.sourceAudio['disconnect'](); // QUESTION: is this automatic following a stop(), since this particular source cannot be started again? delete this.sourceAudio; // QUESTION: ditto? - if (this.messageEnabled(Debugger.MESSAGE.SPEAKER)) this.messageDebugger("speaker off at " + freq + "hz", true); + if (this.messageEnabled(Messages.SPEAKER)) this.messageDebugger("speaker off at " + freq + "hz", true); } } } else if (fOn) { - this.messageDebugger("BEEP", Debugger.MESSAGE.SPEAKER); + this.messageDebugger("BEEP", Messages.SPEAKER); } }; @@ -4821,11 +4822,11 @@ ChipSet.prototype.setSpeaker = function(fOn) */ ChipSet.prototype.messageBitsDMA = function(iChannel) { - var bitsMessage = Debugger.MESSAGE.DATA; + var bitsMessage = Messages.DATA; if (iChannel == ChipSet.DMA_FDC) { - bitsMessage |= Debugger.MESSAGE.FDC; + bitsMessage |= Messages.FDC; } else if (iChannel == ChipSet.DMA_HDC) { - bitsMessage |= Debugger.MESSAGE.HDC; + bitsMessage |= Messages.HDC; } return bitsMessage; }; @@ -4839,21 +4840,21 @@ ChipSet.prototype.messageBitsDMA = function(iChannel) */ ChipSet.prototype.messageBitsIRQ = function(nIRQ) { - var bitsMessage = Debugger.MESSAGE.PIC; + var bitsMessage = Messages.PIC; if (nIRQ == ChipSet.IRQ.TIMER0) { // IRQ 0 - bitsMessage |= Debugger.MESSAGE.TIMER; + bitsMessage |= Messages.TIMER; } else if (nIRQ == ChipSet.IRQ.KBD) { // IRQ 1 - bitsMessage |= Debugger.MESSAGE.KEYBOARD; + bitsMessage |= Messages.KEYBOARD; } else if (nIRQ == ChipSet.IRQ.SLAVE) { // IRQ 2 (MODEL_5170 and up) - bitsMessage |= Debugger.MESSAGE.CHIPSET; + bitsMessage |= Messages.CHIPSET; } else if (nIRQ == ChipSet.IRQ.XTC) { // IRQ 5 (MODEL_5160) - bitsMessage |= Debugger.MESSAGE.HDC; + bitsMessage |= Messages.HDC; } else if (nIRQ == ChipSet.IRQ.FDC) { // IRQ 6 - bitsMessage |= Debugger.MESSAGE.FDC; + bitsMessage |= Messages.FDC; } else if (nIRQ == ChipSet.IRQ.RTC) { // IRQ 8 (MODEL_5170 and up) - bitsMessage |= Debugger.MESSAGE.RTC; + bitsMessage |= Messages.RTC; } else if (nIRQ == ChipSet.IRQ.ATC) { // IRQ 14 (MODEL_5170 and up) - bitsMessage |= Debugger.MESSAGE.HDC; + bitsMessage |= Messages.HDC; } return bitsMessage; }; diff --git a/modules/pcjs/lib/computer.js b/modules/pcjs/lib/computer.js index 657ca51ed..beac7e06f 100644 --- a/modules/pcjs/lib/computer.js +++ b/modules/pcjs/lib/computer.js @@ -72,9 +72,9 @@ if (typeof module !== 'undefined') { var UserAPI = require("../../shared/lib/userapi"); var ReportAPI = require("../../shared/lib/reportapi"); var Component = require("../../shared/lib/component"); + var Messages = require("./messages"); var Bus = require("./bus"); var State = require("./state"); - var Debugger = require("./debugger"); } /** @@ -122,9 +122,9 @@ if (typeof module !== 'undefined') { */ function Computer(parmsComputer, parmsMachine, fSuspended) { - Component.call(this, "Computer", parmsComputer, Computer, Debugger.MESSAGE.COMPUTER); + Component.call(this, "Computer", parmsComputer, Computer, Messages.COMPUTER); - this.bitField.fPowered = false; + this.aFlags.fPowered = false; this.nBusWidth = parmsComputer['buswidth']; this.resume = Computer.RESUME_NONE; this.sStateData = null; @@ -543,9 +543,9 @@ Computer.prototype.powerOn = function(resume) */ Computer.prototype.powerRestore = function(component, stateComputer, fRepower, fRestore) { - if (!component.bitField.fPowered) { + if (!component.aFlags.fPowered) { - component.bitField.fPowered = true; + component.aFlags.fPowered = true; if (component.powerUp) { @@ -648,11 +648,11 @@ Computer.prototype.donePowerOn = function(aParms) var fRepower = (aParms[1] < 0); var fRestore = aParms[2]; - if (DEBUG && this.bitField.fPowered && this.messageEnabled()) { + if (DEBUG && this.aFlags.fPowered && this.messageEnabled()) { this.messageDebugger("Computer.donePowerOn(): redundant"); } - this.bitField.fPowered = true; + this.aFlags.fPowered = true; if (!this.fInitialized) { this.println(Computer.sAppName + " v" + Computer.sAppVer + "\n" + Computer.sCopyright + "\n" + Computer.LICENSE); @@ -757,7 +757,7 @@ Computer.prototype.powerOff = function(fSave, fShutdown) data = this.cpu.powerDown(fSave, fShutdown); if (typeof data === "object") stateComputer.set(this.cpu.id, data); if (fShutdown) { - this.cpu.bitField.fPowered = false; + this.cpu.aFlags.fPowered = false; if (data === false) sState = null; } } @@ -765,13 +765,13 @@ Computer.prototype.powerOff = function(fSave, fShutdown) var aComponents = Component.getComponents(this.id); for (var iComponent = 0; iComponent < aComponents.length; iComponent++) { var component = aComponents[iComponent]; - if (component.bitField.fPowered) { + if (component.aFlags.fPowered) { if (component.powerDown) { data = component.powerDown(fSave, fShutdown); if (typeof data === "object") stateComputer.set(component.id, data); } if (fShutdown) { - component.bitField.fPowered = false; + component.aFlags.fPowered = false; if (data === false) sState = null; } } @@ -823,7 +823,7 @@ Computer.prototype.powerOff = function(fSave, fShutdown) } } - if (fShutdown) this.bitField.fPowered = false; + if (fShutdown) this.aFlags.fPowered = false; return sState; }; @@ -1219,7 +1219,7 @@ Computer.init = function() var computer = new Computer(parmsComputer, parmsMachine, true); if (DEBUG && computer.messageEnabled()) { - computer.messageDebugger("onInit(" + computer.bitField.fPowered + ")"); + computer.messageDebugger("onInit(" + computer.aFlags.fPowered + ")"); } /* @@ -1251,10 +1251,10 @@ Computer.show = function() if (computer) { if (DEBUG && computer.messageEnabled()) { - computer.messageDebugger("onShow(" + computer.fInitialized + "," + computer.bitField.fPowered + ")"); + computer.messageDebugger("onShow(" + computer.fInitialized + "," + computer.aFlags.fPowered + ")"); } - if (computer.fInitialized && !computer.bitField.fPowered) { + if (computer.fInitialized && !computer.aFlags.fPowered) { /** * Repower the computer, notifying every component to continue running as-is. */ @@ -1300,10 +1300,10 @@ Computer.exit = function() if (computer) { if (DEBUG && computer.messageEnabled()) { - computer.messageDebugger("onExit(" + computer.bitField.fPowered + ")"); + computer.messageDebugger("onExit(" + computer.aFlags.fPowered + ")"); } - if (computer.bitField.fPowered) { + if (computer.aFlags.fPowered) { /** * Power "down" 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 diff --git a/modules/pcjs/lib/cpu.js b/modules/pcjs/lib/cpu.js index d2b259e84..d8744f14f 100644 --- a/modules/pcjs/lib/cpu.js +++ b/modules/pcjs/lib/cpu.js @@ -36,7 +36,7 @@ if (typeof module !== 'undefined') { var str = require("../../shared/lib/strlib"); var usr = require("../../shared/lib/usrlib"); var Component = require("../../shared/lib/component"); - var Debugger = require("./debugger"); + var Messages = require("./messages"); } /** @@ -75,7 +75,7 @@ if (typeof module !== 'undefined') { */ function CPU(parmsCPU, nCyclesDefault) { - Component.call(this, "CPU", parmsCPU, CPU, Debugger.MESSAGE.CPU); + Component.call(this, "CPU", parmsCPU, CPU, Messages.CPU); var nCycles = parmsCPU['cycles'] || nCyclesDefault; @@ -96,15 +96,15 @@ function CPU(parmsCPU, nCyclesDefault) */ this.aCounts.mhzTarget = this.aCounts.mhzDefault * this.aCounts.nCyclesMultiplier; - this.bitField.fPowered = false; - this.bitField.fRunning = false; - this.bitField.fStarting = false; - this.bitField.fAutoStart = parmsCPU['autoStart']; + this.aFlags.fPowered = false; + this.aFlags.fRunning = false; + this.aFlags.fStarting = false; + this.aFlags.fAutoStart = parmsCPU['autoStart']; /* * TODO: Add some UI for fDisplayLiveRegs (either an XML property, or a UI checkbox, or both) */ - this.bitField.fDisplayLiveRegs = false; + this.aFlags.fDisplayLiveRegs = false; /* * Provide a power-saving URL-based way of overriding the 'autostart' setting; @@ -113,7 +113,7 @@ function CPU(parmsCPU, nCyclesDefault) */ var sAutoStart = Component.parmsURL['autostart']; if (sAutoStart !== undefined) { - this.bitField.fAutoStart = (sAutoStart == "true"? true : (sAutoStart == "false"? false : null)); + this.aFlags.fAutoStart = (sAutoStart == "true"? true : (sAutoStart == "false"? false : null)); } /* @@ -125,7 +125,7 @@ function CPU(parmsCPU, nCyclesDefault) * command ("x"); for example, "x cs int 5000" will set nCyclesChecksumInterval to 5000 * and call resetChecksum(). */ - this.bitField.fChecksum = false; + this.aFlags.fChecksum = false; this.aCounts.nChecksum = this.aCounts.nCyclesChecksumNext = 0; this.aCounts.nCyclesChecksumStart = parmsCPU["csStart"]; this.aCounts.nCyclesChecksumInterval = parmsCPU["csInterval"]; @@ -272,7 +272,7 @@ CPU.prototype.powerUp = function(data, fRepower) this.println("No debugger detected"); } } - this.bitField.fPowered = true; + this.aFlags.fPowered = true; if (!this.autoStart() && this.dbg) this.dbg.updateStatus(); this.updateCPU(); return true; @@ -287,7 +287,7 @@ CPU.prototype.powerUp = function(data, fRepower) */ CPU.prototype.powerDown = function(fSave) { - this.bitField.fPowered = false; + this.aFlags.fPowered = false; return fSave && this.save ? this.save() : true; }; @@ -299,7 +299,7 @@ CPU.prototype.powerDown = function(fSave) */ CPU.prototype.autoStart = function() { - if (this.bitField.fAutoStart === true || this.bitField.fAutoStart === null && (!DEBUGGER || !this.dbg) && this.bindings["run"] === undefined) { + if (this.aFlags.fAutoStart === true || this.aFlags.fAutoStart === null && (!DEBUGGER || !this.dbg) && this.bindings["run"] === undefined) { this.runCPU(); // start running automatically on power-up, assuming there's no Debugger return true; } @@ -326,7 +326,7 @@ CPU.prototype.setFocus = function() */ CPU.prototype.isPowered = function() { - if (!this.bitField.fPowered) { + if (!this.aFlags.fPowered) { this.println(this.toString() + " not powered"); return false; } @@ -341,7 +341,7 @@ CPU.prototype.isPowered = function() */ CPU.prototype.isRunning = function() { - return this.bitField.fRunning; + return this.aFlags.fRunning; }; /** @@ -372,8 +372,8 @@ CPU.prototype.resetChecksum = function() if (this.aCounts.nCyclesChecksumStart === undefined) this.aCounts.nCyclesChecksumStart = 0; if (this.aCounts.nCyclesChecksumInterval === undefined) this.aCounts.nCyclesChecksumInterval = -1; if (this.aCounts.nCyclesChecksumStop === undefined) this.aCounts.nCyclesChecksumStop = -1; - this.bitField.fChecksum = (this.aCounts.nCyclesChecksumStart >= 0 && this.aCounts.nCyclesChecksumInterval > 0); - if (this.bitField.fChecksum) { + this.aFlags.fChecksum = (this.aCounts.nCyclesChecksumStart >= 0 && this.aCounts.nCyclesChecksumInterval > 0); + if (this.aFlags.fChecksum) { this.aCounts.nChecksum = 0; this.aCounts.nCyclesChecksumNext = this.aCounts.nCyclesChecksumStart - this.nTotalCycles; // this.aCounts.nCyclesChecksumNext = this.aCounts.nCyclesChecksumStart + this.aCounts.nCyclesChecksumInterval - (this.nTotalCycles % this.aCounts.nCyclesChecksumInterval); @@ -395,7 +395,7 @@ CPU.prototype.resetChecksum = function() */ CPU.prototype.updateChecksum = function(nCycles) { - if (this.bitField.fChecksum) { + if (this.aFlags.fChecksum) { /* * Get a 32-bit summation of the current CPU state and add it to our running 32-bit checksum */ @@ -449,7 +449,7 @@ CPU.prototype.displayReg = function(sReg, nVal, cch) this.stopCPU(); } var sVal; - if (!this.bitField.fRunning || this.bitField.fDisplayLiveRegs) { + if (!this.aFlags.fRunning || this.aFlags.fDisplayLiveRegs) { sVal = str.toHex(nVal, cch); } else { sVal = "----".substr(0, cch); @@ -505,7 +505,7 @@ CPU.prototype.setBinding = function(sHTMLType, sBinding, control) case "run": this.bindings[sBinding] = control; control.onclick = function onClickRun() { - if (!cpu.bitField.fRunning) + if (!cpu.aFlags.fRunning) cpu.runCPU(true); else cpu.stopCPU(true); @@ -559,7 +559,7 @@ CPU.prototype.setBinding = function(sHTMLType, sBinding, control) */ CPU.prototype.setBurstCycles = function(nCycles) { - if (this.bitField.fRunning) { + if (this.aFlags.fRunning) { var nDelta = this.nStepCycles - nCycles; /* * NOTE: If nDelta is negative, we will actually be increasing nStepCycles and nBurstCycles. @@ -744,7 +744,7 @@ CPU.prototype.getSpeedCurrent = function() { /* * TODO: Has toFixed() been "fixed" in all browsers (eg, IE) to return a rounded value now? */ - return ((this.bitField.fRunning && this.aCounts.mhz)? (this.aCounts.mhz.toFixed(2) + "Mhz") : "Stopped"); + return ((this.aFlags.fRunning && this.aCounts.mhz)? (this.aCounts.mhz.toFixed(2) + "Mhz") : "Stopped"); }; /** @@ -936,7 +936,7 @@ CPU.prototype.calcRemainingTime = function() */ this.aCounts.nCyclesRecalc += this.aCounts.nCyclesThisRun; - if (DEBUG && this.messageEnabled(Debugger.MESSAGE.LOG) && msRemainsThisRun) { + if (DEBUG && this.messageEnabled(Messages.LOG) && msRemainsThisRun) { this.log("calcRemainingTime: " + msRemainsThisRun + "ms to sleep after " + this.aCounts.msEndThisRun + "ms"); } @@ -967,7 +967,7 @@ CPU.prototype.runCPU = function(fOnClick) this.calcStartTime(); try { do { - var nCyclesPerBurst = (this.bitField.fChecksum? 1 : this.aCounts.nCyclesPerBurst); + var nCyclesPerBurst = (this.aFlags.fChecksum? 1 : this.aCounts.nCyclesPerBurst); if (this.chipset) { this.chipset.updateAllTimers(); @@ -1009,7 +1009,7 @@ CPU.prototype.runCPU = function(fOnClick) this.aCounts.nCyclesNextYield += this.aCounts.nCyclesPerYield; break; } - } while (this.bitField.fRunning); + } while (this.aFlags.fRunning); } catch (e) { this.stopCPU(); @@ -1031,7 +1031,7 @@ CPU.prototype.runCPU = function(fOnClick) */ CPU.prototype.startCPU = function(fSetFocus) { - if (!this.bitField.fRunning) { + if (!this.aFlags.fRunning) { /* * 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 @@ -1040,8 +1040,8 @@ CPU.prototype.startCPU = function(fSetFocus) */ this.setSpeed(); if (this.cmp) this.cmp.start(this.aCounts.msStartRun, this.getCycles()); - this.bitField.fRunning = true; - this.bitField.fStarting = true; + this.aFlags.fRunning = true; + this.aFlags.fStarting = true; if (this.chipset) this.chipset.setSpeaker(); var controlRun = this.bindings["run"]; if (controlRun) controlRun.textContent = "Halt"; @@ -1082,13 +1082,13 @@ CPU.prototype.stopCPU = function(fComplete) this.nStepCycles = 0; this.addCycles(this.nRunCycles); this.nRunCycles = 0; - if (this.bitField.fRunning) { - this.bitField.fRunning = false; + if (this.aFlags.fRunning) { + this.aFlags.fRunning = false; if (this.chipset) this.chipset.setSpeaker(); var controlRun = this.bindings["run"]; if (controlRun) controlRun.textContent = "Run"; } - this.bitField.fComplete = fComplete; + this.aFlags.fComplete = fComplete; }; /** @@ -1117,7 +1117,7 @@ CPU.prototype.updateCPU = function() */ CPU.prototype.yieldCPU = function() { - this.aCounts.nCyclesNextYield = 0; // this will break us out of runCPU(), once we break out of stepCPU() + this.aCounts.nCyclesNextYield = 0; // this will break us out of runCPU(), once we break out of stepCPU() this.nBurstCycles -= this.nStepCycles; this.nStepCycles = 0; // this will break us out of stepCPU() /* diff --git a/modules/pcjs/lib/debugger.js b/modules/pcjs/lib/debugger.js index 2a96103eb..3926fe9b3 100644 --- a/modules/pcjs/lib/debugger.js +++ b/modules/pcjs/lib/debugger.js @@ -38,6 +38,8 @@ if (DEBUGGER) { var usr = require("../../shared/lib/usrlib"); var web = require("../../shared/lib/weblib"); var Component = require("../../shared/lib/component"); + var Interrupts = require("./interrupts"); + var Messages = require("./messages"); var Bus = require("./bus"); var State = require("./state"); var CPU = require("./cpu"); @@ -180,50 +182,19 @@ function Debugger(parmsDbg) * ... */ var dbg = this; - if (window && window['$'] === undefined) { - window['$'] = function(s) { return dbg.doCommand(s); }; + if (window) { + if (window['$'] === undefined) { + window['$'] = function(s) { return dbg.doCommand(s); }; + } + } else { + if (global['$'] === undefined) { + global['$'] = function(s) { return dbg.doCommand(s); }; + } } } // endif DEBUGGER } -/* - * Debugger message constants must always be defined, even when DEBUGGER is false, lest the Closure Compiler complain - */ -Debugger.MESSAGE = { - CPU: 0x00000001, - SEG: 0x00000002, - DESC: 0x00000004, - TSS: 0x00000008, - INT: 0x00000010, - FAULT: 0x00000020, - MEM: 0x00000040, - PORT: 0x00000080, - DMA: 0x00000100, - PIC: 0x00000200, - TIMER: 0x00000400, - CMOS: 0x00000800, - RTC: 0x00001000, - C8042: 0x00002000, - CHIPSET: 0x00004000, - KEYBOARD: 0x00008000, - KEYS: 0x00010000, - VIDEO: 0x00020000, - FDC: 0x00040000, - HDC: 0x00080000, - DISK: 0x00100000, - SERIAL: 0x00200000, - SPEAKER: 0x00400000, - STATE: 0x00800000, - MOUSE: 0x01000000, - COMPUTER: 0x02000000, - DOS: 0x04000000, - DATA: 0x08000000, - LOG: 0x10000000, - WARN: 0x20000000, - HALT: 0x40000000 -}; - if (DEBUGGER) { Component.subclass(Component, Debugger); @@ -231,26 +202,15 @@ if (DEBUGGER) { /* * Information regarding interrupts of interest (used by messageInt() and others) */ - Debugger.INT = { - VIDEO: 0x10, - DISK: 0x13, - CASSETTE: 0x15, - KBD: 0x16, - RTC: 0x1a, - TIMER_TICK: 0x1c, - DOS: 0x21, - MOUSE: 0x33 - }; - - Debugger.INT_MESSAGE = { - 0x10: Debugger.MESSAGE.VIDEO, - 0x13: Debugger.MESSAGE.FDC, - 0x15: Debugger.MESSAGE.CHIPSET, - 0x16: Debugger.MESSAGE.KEYBOARD, - // 0x1a: Debugger.MESSAGE.RTC, // ChipSet contains its own specialized messageInt() handler for the RTC - 0x1c: Debugger.MESSAGE.TIMER, - 0x21: Debugger.MESSAGE.DOS, - 0x33: Debugger.MESSAGE.MOUSE + Debugger.INT_MESSAGES = { + 0x10: Messages.VIDEO, + 0x13: Messages.FDC, + 0x15: Messages.CHIPSET, + 0x16: Messages.KEYBOARD, + // 0x1a: Messages.RTC, // ChipSet contains its own specialized messageInt() handler for the RTC + 0x1c: Messages.TIMER, + 0x21: Messages.DOS, + 0x33: Messages.MOUSE }; Debugger.aCommands = { @@ -510,41 +470,41 @@ if (DEBUGGER) { * something to be aware of). */ Debugger.MESSAGES = { - "cpu": Debugger.MESSAGE.CPU, - "seg": Debugger.MESSAGE.SEG, - "desc": Debugger.MESSAGE.DESC, - "tss": Debugger.MESSAGE.TSS, - "int": Debugger.MESSAGE.INT, - "fault": Debugger.MESSAGE.FAULT, - "mem": Debugger.MESSAGE.MEM, - "port": Debugger.MESSAGE.PORT, - "dma": Debugger.MESSAGE.DMA, - "pic": Debugger.MESSAGE.PIC, - "timer": Debugger.MESSAGE.TIMER, - "cmos": Debugger.MESSAGE.CMOS, - "rtc": Debugger.MESSAGE.RTC, - "8042": Debugger.MESSAGE.C8042, - "chipset": Debugger.MESSAGE.CHIPSET, // ie, anything else in ChipSet besides DMA, PIC, TIMER, CMOS, RTC and 8042 - "keyboard": Debugger.MESSAGE.KEYBOARD, - "key": Debugger.MESSAGE.KEYS, // using "keys" instead of "key" causes an unfortunate JavaScript property collision - "video": Debugger.MESSAGE.VIDEO, - "fdc": Debugger.MESSAGE.FDC, - "hdc": Debugger.MESSAGE.HDC, - "disk": Debugger.MESSAGE.DISK, - "serial": Debugger.MESSAGE.SERIAL, - "speaker": Debugger.MESSAGE.SPEAKER, - "state": Debugger.MESSAGE.STATE, - "mouse": Debugger.MESSAGE.MOUSE, - "computer": Debugger.MESSAGE.COMPUTER, - "dos": Debugger.MESSAGE.DOS, - "data": Debugger.MESSAGE.DATA, - "log": Debugger.MESSAGE.LOG, - "warn": Debugger.MESSAGE.WARN, + "cpu": Messages.CPU, + "seg": Messages.SEG, + "desc": Messages.DESC, + "tss": Messages.TSS, + "int": Messages.INT, + "fault": Messages.FAULT, + "mem": Messages.MEM, + "port": Messages.PORT, + "dma": Messages.DMA, + "pic": Messages.PIC, + "timer": Messages.TIMER, + "cmos": Messages.CMOS, + "rtc": Messages.RTC, + "8042": Messages.C8042, + "chipset": Messages.CHIPSET, // ie, anything else in ChipSet besides DMA, PIC, TIMER, CMOS, RTC and 8042 + "keyboard": Messages.KEYBOARD, + "key": Messages.KEYS, // using "keys" instead of "key" causes an unfortunate JavaScript property collision + "video": Messages.VIDEO, + "fdc": Messages.FDC, + "hdc": Messages.HDC, + "disk": Messages.DISK, + "serial": Messages.SERIAL, + "speaker": Messages.SPEAKER, + "state": Messages.STATE, + "mouse": Messages.MOUSE, + "computer": Messages.COMPUTER, + "dos": Messages.DOS, + "data": Messages.DATA, + "log": Messages.LOG, + "warn": Messages.WARN, /* * Now we turn to message actions rather than message types; for example, setting "halt" * on or off doesn't enable "halt" messages, but rather halts the CPU on any message above. */ - "halt": Debugger.MESSAGE.HALT + "halt": Messages.HALT }; /* @@ -1229,9 +1189,9 @@ if (DEBUGGER) { } } - this.messageDump(Debugger.MESSAGE.DESC, function onDumpDesc(s) { dbg.dumpDesc(s); }); - this.messageDump(Debugger.MESSAGE.TSS, function onDumpTSS(s) { dbg.dumpTSS(s); }); - this.messageDump(Debugger.MESSAGE.DOS, function onDumpDOS(s) { dbg.dumpDOS(s); }); + this.messageDump(Messages.DESC, function onDumpDesc(s) { dbg.dumpDesc(s); }); + this.messageDump(Messages.TSS, function onDumpTSS(s) { dbg.dumpTSS(s); }); + this.messageDump(Messages.DOS, function onDumpDOS(s) { dbg.dumpDOS(s); }); this.setReady(); @@ -1559,7 +1519,7 @@ if (DEBUGGER) { Debugger.prototype.messageInit = function(sEnable) { this.dbg = this; - this.bitsMessage = this.bitsWarning = Debugger.MESSAGE.WARN; + this.bitsMessage = this.bitsWarning = Messages.WARN; this.sMessagePrev = null; this.afnDumpers = []; var aEnable = this.parseCommand(sEnable.replace("keys","key").replace("kbd","keyboard")); @@ -1635,19 +1595,19 @@ if (DEBUGGER) { { var AH; var fMessage = false; - var nCategory = Debugger.INT_MESSAGE[nInt]; + var nCategory = Debugger.INT_MESSAGES[nInt]; if (nCategory) { AH = this.cpu.regAX >> 8; if (this.messageEnabled(nCategory)) { fMessage = true; } else { - fMessage = (nCategory == Debugger.MESSAGE.FDC && this.messageEnabled(nCategory = Debugger.MESSAGE.HDC)); + fMessage = (nCategory == Messages.FDC && this.messageEnabled(nCategory = Messages.HDC)); } } if (fMessage) { var DL = this.cpu.regDX & 0xff; - if (nInt == Debugger.INT.DOS && AH == 0x0b || - nCategory == Debugger.MESSAGE.FDC && DL >= 0x80 || nCategory == Debugger.MESSAGE.HDC && DL < 0x80) { + if (nInt == Interrupts.DOS.VECTOR && AH == 0x0b || + nCategory == Messages.FDC && DL >= 0x80 || nCategory == Messages.HDC && DL < 0x80) { fMessage = false; } } @@ -1697,7 +1657,7 @@ if (DEBUGGER) { */ Debugger.prototype.messageIO = function(component, port, bOut, addrFrom, name, bIn, bitsMessage) { - bitsMessage |= Debugger.MESSAGE.PORT; + bitsMessage |= Messages.PORT; if (addrFrom == null || (this.bitsMessage & bitsMessage) == bitsMessage) { var segFrom = null; if (addrFrom != null) { @@ -1728,7 +1688,7 @@ if (DEBUGGER) { this.sMessagePrev = sMessage; if (this.cpu) { - if (this.bitsMessage & Debugger.MESSAGE.HALT) { + if (this.bitsMessage & Messages.HALT) { this.cpu.stopCPU(); } /* @@ -2025,8 +1985,8 @@ if (DEBUGGER) { * it here, so that if the CPU is reset while running, we can prevent stop() * from unnecessarily dumping the CPU state. */ - if (this.bitField.fRunning !== undefined && !fQuiet) this.println("reset"); - this.bitField.fRunning = false; + if (this.aFlags.fRunning !== undefined && !fQuiet) this.println("reset"); + this.aFlags.fRunning = false; this.clearTempBreakpoint(); if (!fQuiet) this.updateStatus(); }; @@ -2093,7 +2053,7 @@ if (DEBUGGER) { Debugger.prototype.start = function(ms, nCycles) { if (!this.fProcStep) this.println("running"); - this.bitField.fRunning = true; + this.aFlags.fRunning = true; this.msStart = ms; this.nCyclesStart = nCycles; }; @@ -2109,8 +2069,8 @@ if (DEBUGGER) { */ Debugger.prototype.stop = function(ms, nCycles) { - if (this.bitField.fRunning) { - this.bitField.fRunning = false; + if (this.aFlags.fRunning) { + this.aFlags.fRunning = false; this.nCycles = nCycles - this.nCyclesStart; if (!this.fProcStep) { var sStopped = "stopped"; @@ -2168,7 +2128,7 @@ if (DEBUGGER) { */ Debugger.prototype.checksEnabled = function(fRelease) { - return ((DEBUG && !fRelease)? true : (this.aBreakExec.length > 1 || this.messageEnabled(Debugger.MESSAGE.INT) /* || this.aBreakRead.length > 1 || this.aBreakWrite.length > 1 */)); + return ((DEBUG && !fRelease)? true : (this.aBreakExec.length > 1 || this.messageEnabled(Messages.INT) /* || this.aBreakRead.length > 1 || this.aBreakWrite.length > 1 */)); }; /** @@ -2822,7 +2782,7 @@ if (DEBUGGER) { sLine += " "; sLine = sLine.substr(0, 50); sLine += ";"; - if (!this.cpu.bitField.fChecksum) { + if (!this.cpu.aFlags.fChecksum) { sLine += sComment + (nSequence != null? '=' + nSequence.toString() : ""); } else { var nCycles = this.cpu.getCycles(); @@ -3830,7 +3790,7 @@ if (DEBUGGER) { */ Debugger.prototype.doHalt = function(sCount) { - if (this.bitField.fRunning && sCount === undefined) { + if (this.aFlags.fRunning && sCount === undefined) { this.println("halting"); this.cpu.stopCPU(); return; @@ -4136,7 +4096,7 @@ if (DEBUGGER) { if (sCategory !== undefined) { var bitsMessage = 0; if (sCategory == "all") { - bitsMessage = 0xffffffff & ~(Debugger.MESSAGE.HALT | Debugger.MESSAGE.LOG); + bitsMessage = 0xffffffff & ~(Messages.HALT | Messages.LOG); sCategory = null; } else if (sCategory == "on") { fCriteria = true; @@ -4234,7 +4194,7 @@ if (DEBUGGER) { if (nCycles !== undefined) { this.cpu.resetChecksum(); } - this.println("checksums " + (this.cpu.bitField.fChecksum? "enabled" : "disabled")); + this.println("checksums " + (this.cpu.aFlags.fChecksum? "enabled" : "disabled")); break; case "sp": if (asArgs[2] !== undefined) { diff --git a/modules/pcjs/lib/defines.js b/modules/pcjs/lib/defines.js index 82af1a861..144a26fa6 100644 --- a/modules/pcjs/lib/defines.js +++ b/modules/pcjs/lib/defines.js @@ -119,6 +119,7 @@ if (typeof module !== 'undefined') { global.EAFUNCS = EAFUNCS; global.FATARRAYS = FATARRAYS; global.TYPEDARRAYS = TYPEDARRAYS; + global.SAMPLER = SAMPLER; /* * TODO: When we're "required" by Node, should we return anything via module.exports? */ diff --git a/modules/pcjs/lib/disk.js b/modules/pcjs/lib/disk.js index 2ce3cedfa..5e35fef28 100644 --- a/modules/pcjs/lib/disk.js +++ b/modules/pcjs/lib/disk.js @@ -163,7 +163,7 @@ if (typeof module !== 'undefined') { var DiskAPI = require("../../shared/lib/diskapi"); var DumpAPI = require("../../shared/lib/dumpapi"); var Component = require("../../shared/lib/component"); - var Debugger = require("./debugger"); + var Messages = require("./messages"); } /** @@ -231,7 +231,7 @@ if (typeof module !== 'undefined') { */ function Disk(controller, drive, mode) { - Component.call(this, "Disk", {'id': controller.idMachine + ".disk" + Disk.nDisks++}, Disk, Debugger.MESSAGE.DISK); + Component.call(this, "Disk", {'id': controller.idMachine + ".disk" + Disk.nDisks++}, Disk, Messages.DISK); /* * Route all non-Debugger messages (eg, notice() and println() calls) through @@ -654,7 +654,7 @@ Disk.prototype.doneLoad = function(sDiskFile, sDiskData, nErrorCode, sDiskPath) { var disk = null; this.fWriteProtected = false; - var fPrintOnly = (nErrorCode < 0 && this.cmp && !this.cmp.bitField.fPowered); + var fPrintOnly = (nErrorCode < 0 && this.cmp && !this.cmp.aFlags.fPowered); if (this.fOnDemand) { if (!nErrorCode) { diff --git a/modules/pcjs/lib/fdc.js b/modules/pcjs/lib/fdc.js index 2d1596a49..3c9fcb82d 100644 --- a/modules/pcjs/lib/fdc.js +++ b/modules/pcjs/lib/fdc.js @@ -37,11 +37,11 @@ if (typeof module !== 'undefined') { var web = require("../../shared/lib/weblib"); var DiskAPI = require("../../shared/lib/diskapi"); var Component = require("../../shared/lib/component"); + var Messages = require("./messages"); var ChipSet = require("./chipset"); var Disk = require("./disk"); var Computer = require("./computer"); var State = require("./state"); - var Debugger = require("./debugger"); } /* @@ -137,7 +137,7 @@ function FDC(parmsFDC) { * TODO: Indicate the type of diskette image being loaded (this might help folks understand what's going * on when they try to load a diskette image that's larger than what the selected operating system supports). */ - Component.call(this, "FDC", parmsFDC, FDC, Debugger.MESSAGE.FDC); + Component.call(this, "FDC", parmsFDC, FDC, Messages.FDC); this['dmaRead'] = this.dmaRead; this['dmaWrite'] = this.dmaWrite; @@ -2026,7 +2026,7 @@ FDC.prototype.popCmd = function(name) { this.assert((!this.regDataIndex || name !== undefined) && this.regDataIndex < this.regDataTotal); var bCmd = this.regDataArray[this.regDataIndex]; - if (DEBUG && this.messageEnabled(Debugger.MESSAGE.PORT | Debugger.MESSAGE.FDC)) { + if (DEBUG && this.messageEnabled(Messages.PORT | Messages.FDC)) { var bCmdMasked = bCmd & FDC.REG_DATA.CMD.MASK; if (!name && !this.regDataIndex && FDC.aCmdInfo[bCmdMasked]) name = FDC.aCmdInfo[bCmdMasked].name; this.messageDebugger("FDC.CMD[" + (name || this.regDataIndex) + "]: 0x" + str.toHexByte(bCmd), true); @@ -2080,7 +2080,7 @@ FDC.prototype.beginResult = function() */ FDC.prototype.pushResult = function(bResult, name) { - if (DEBUG && this.messageEnabled(Debugger.MESSAGE.PORT | Debugger.MESSAGE.FDC)) { + if (DEBUG && this.messageEnabled(Messages.PORT | Messages.FDC)) { this.messageDebugger("FDC.RES[" + (name || this.regDataTotal) + "]: 0x" + str.toHexByte(bResult), true); } this.regDataArray[this.regDataTotal++] = bResult; diff --git a/modules/pcjs/lib/hdc.js b/modules/pcjs/lib/hdc.js index a2b1181a2..85e602a0a 100644 --- a/modules/pcjs/lib/hdc.js +++ b/modules/pcjs/lib/hdc.js @@ -37,10 +37,10 @@ if (typeof module !== 'undefined') { var web = require("../../shared/lib/weblib"); var DiskAPI = require("../../shared/lib/diskapi"); var Component = require("../../shared/lib/component"); + var Messages = require("./messages"); var ChipSet = require("./chipset"); var Disk = require("./disk"); var State = require("./state"); - var Debugger = require("./debugger"); } /** @@ -78,7 +78,7 @@ if (typeof module !== 'undefined') { */ function HDC(parmsHDC) { - Component.call(this, "HDC", parmsHDC, HDC, Debugger.MESSAGE.HDC); + Component.call(this, "HDC", parmsHDC, HDC, Messages.HDC); this['dmaRead'] = this.dmaRead; this['dmaWrite'] = this.dmaWrite; @@ -1406,13 +1406,13 @@ HDC.prototype.inATCData = function(port, addrFrom) * messagePort() calls, if enabled, can be overwhelming for this port, so limit them to the first byte * of each sector. */ - if (this.messageEnabled(Debugger.MESSAGE.PORT | Debugger.MESSAGE.HDC)) { + if (this.messageEnabled(Messages.PORT | Messages.HDC)) { this.messagePort(port, null, addrFrom, "DATA[" + this.drive.ibSector + "]", bIn); } } else if (this.drive.ibSector == this.drive.cbSector) { - if (this.messageEnabled(Debugger.MESSAGE.DATA | Debugger.MESSAGE.HDC)) { + if (this.messageEnabled(Messages.DATA | Messages.HDC)) { var sDump = this.drive.disk.dumpSector(this.drive.sector); if (sDump) this.dbg.message(sDump); } @@ -1477,13 +1477,13 @@ HDC.prototype.outATCData = function(port, bOut, addrFrom) * messagePort() calls, if enabled, can be overwhelming for this port, so limit them to the first byte * of each sector. */ - if (this.messageEnabled(Debugger.MESSAGE.PORT | Debugger.MESSAGE.HDC)) { + if (this.messageEnabled(Messages.PORT | Messages.HDC)) { this.messagePort(port, bOut, addrFrom, "DATA[" + this.drive.ibSector + "]"); } } else if (this.drive.ibSector == this.drive.cbSector) { - if (this.messageEnabled(Debugger.MESSAGE.DATA | Debugger.MESSAGE.HDC)) { + if (this.messageEnabled(Messages.DATA | Messages.HDC)) { var sDump = this.drive.disk.dumpSector(this.drive.sector); if (sDump) this.dbg.message(sDump); } @@ -1831,14 +1831,14 @@ HDC.prototype.doATC = function() this.drive = drive; } - if (DEBUG && this.messageEnabled(Debugger.MESSAGE.HDC)) { + if (DEBUG && this.messageEnabled(Messages.HDC)) { this.messageDebugger("HDC.doATC(0x" + str.toHexByte(bCmd) + "): " + HDC.aATCCommands[bCmd], true); } switch (bCmd & HDC.ATC.COMMAND.MASK) { case HDC.ATC.COMMAND.READ_DATA: - if (DEBUG && this.messageEnabled(Debugger.MESSAGE.HDC)) { + if (DEBUG && this.messageEnabled(Messages.HDC)) { this.messageDebugger("HDC.doRead(" + iDrive + ',' + drive.wCylinder + ':' + drive.bHead + ':' + drive.bSector + ',' + nSectors + ")", true); } /* @@ -1867,7 +1867,7 @@ HDC.prototype.doATC = function() break; case HDC.ATC.COMMAND.WRITE_DATA: - if (DEBUG && this.messageEnabled(Debugger.MESSAGE.HDC)) { + if (DEBUG && this.messageEnabled(Messages.HDC)) { this.messageDebugger("HDC.doWrite(" + iDrive + ',' + drive.wCylinder + ':' + drive.bHead + ':' + drive.bSector + ',' + nSectors + ")", true); } this.regStatus = HDC.ATC.STATUS.DATA_REQ; @@ -1961,9 +1961,9 @@ HDC.prototype.setATCIRR = function(fWrite) * has a low tolerance for fast controller interrupts during multi-sector operations. */ this.chipset.setIRR(ChipSet.IRQ.ATC, 120); - if (DEBUG) this.messageDebugger("HDC.setATCIRR(): enabled", Debugger.MESSAGE.PIC | Debugger.MESSAGE.HDC); + if (DEBUG) this.messageDebugger("HDC.setATCIRR(): enabled", Messages.PIC | Messages.HDC); } else { - if (DEBUG) this.messageDebugger("HDC.setATCIRR(): disabled", Debugger.MESSAGE.PIC | Debugger.MESSAGE.HDC); + if (DEBUG) this.messageDebugger("HDC.setATCIRR(): disabled", Messages.PIC | Messages.HDC); } } }; @@ -2140,7 +2140,7 @@ HDC.prototype.popCmd = function() var bCmdIndex = this.regDataIndex; if (bCmdIndex < this.regDataTotal) { bCmd = this.regDataArray[this.regDataIndex++]; - if (DEBUG && this.messageEnabled((bCmdIndex > 0? Debugger.MESSAGE.PORT : 0) | Debugger.MESSAGE.HDC)) { + if (DEBUG && this.messageEnabled((bCmdIndex > 0? Messages.PORT : 0) | Messages.HDC)) { this.messageDebugger("HDC.CMD[" + bCmdIndex + "]: 0x" + str.toHexByte(bCmd) + (!bCmdIndex && HDC.aXTCCommands[bCmd]? (" (" + HDC.aXTCCommands[bCmd] + ")") : ""), true); } } @@ -2180,7 +2180,7 @@ HDC.prototype.beginResult = function(bResult) */ HDC.prototype.pushResult = function(bResult) { - if (DEBUG && this.messageEnabled((this.regDataTotal > 0? Debugger.MESSAGE.PORT : 0) | Debugger.MESSAGE.HDC)) { + if (DEBUG && this.messageEnabled((this.regDataTotal > 0? Messages.PORT : 0) | Messages.HDC)) { this.messageDebugger("HDC.RES[" + this.regDataTotal + "]: 0x" + str.toHexByte(bResult), true); } this.regDataArray[this.regDataTotal++] = bResult; diff --git a/modules/pcjs/lib/interrupts.js b/modules/pcjs/lib/interrupts.js new file mode 100644 index 000000000..7baa6966b --- /dev/null +++ b/modules/pcjs/lib/interrupts.js @@ -0,0 +1,78 @@ +/** + * @fileoverview PCjs-specific BIOS/DOS interrupt definitions. + * @author Jeff Parsons + * @version 1.0 + * Created 2014-Dec-11 + * + * Copyright © 2012-2014 Jeff Parsons + * + * This file is part of PCjs, which is part of the JavaScript Machines Project (aka JSMachines) + * at and . + * + * PCjs is free software: you can redistribute it and/or modify it under the terms of the + * GNU General Public License as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * PCjs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without + * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with PCjs. If not, + * see . + * + * You are required to include the above copyright notice in every source code file of every + * copy or modified version of this work, and to display that copyright notice on every screen + * that loads or runs any version of this software (see Computer.sCopyright). + * + * Some PCjs files also attempt to load external resource files, such as character-image files, + * ROM files, and disk image files. Those external resource files are not considered part of the + * PCjs program for purposes of the GNU General Public License, and the author does not claim + * any copyright as to their contents. + */ + +"use strict"; + +/* + * Components that previously used Debugger interrupt definitions by including: + * + * var Debugger = require("./debugger"); + * + * and using: + * + * Debugger.INT.FOO + * + * must now instead include: + * + * var Interrupts = require("./interrupts"); + * + * and then replace all occurrences of "Debugger.INT.FOO" with "Interrupts.FOO.VECTOR". + */ + +var Interrupts = { + VIDEO: { + VECTOR: 0x10 + }, + DISK: { + VECTOR: 0x13 + }, + CASSETTE: { + VECTOR: 0x15 + }, + KBD: { + VECTOR: 0x16 + }, + RTC: { + VECTOR: 0x1a + }, + TIMER_TICK: { + VECTOR: 0x1c + }, + DOS: { + VECTOR: 0x21 + }, + MOUSE: { + VECTOR: 0x33 + } +}; + +if (typeof module !== 'undefined') module.exports = Interrupts; diff --git a/modules/pcjs/lib/keyboard.js b/modules/pcjs/lib/keyboard.js index 2edd4dacc..1e8b77de7 100644 --- a/modules/pcjs/lib/keyboard.js +++ b/modules/pcjs/lib/keyboard.js @@ -36,10 +36,10 @@ if (typeof module !== 'undefined') { var str = require("../../shared/lib/strlib"); var web = require("../../shared/lib/weblib"); var Component = require("../../shared/lib/component"); + var Messages = require("./messages"); var ChipSet = require("./chipset"); var State = require("./state"); var CPU = require("./cpu"); - var Debugger = require("./debugger"); } /** @@ -62,7 +62,7 @@ if (typeof module !== 'undefined') { */ function Keyboard(parmsKbd) { - Component.call(this, "Keyboard", parmsKbd, Keyboard, Debugger.MESSAGE.KEYBOARD); + Component.call(this, "Keyboard", parmsKbd, Keyboard, Messages.KEYBOARD); this.nDefaultModel = parmsKbd['model']; @@ -995,7 +995,7 @@ Keyboard.prototype.setBinding = function(sHTMLType, sBinding, control) this.bindings[id] = control; control.onclick = function(kbd, sKey, simCode) { return function onClickKeyboard(event) { - if (!COMPILED && kbd.messageEnabled()) kbd.messageDebugger(sKey + " clicked", Debugger.MESSAGE.KEYS); + if (!COMPILED && kbd.messageEnabled()) kbd.messageDebugger(sKey + " clicked", Messages.KEYS); if (kbd.cpu) kbd.cpu.setFocus(); kbd.updateShiftState(simCode, true); // future-proofing if/when any LOCK keys are added to CLICKCODES kbd.addActiveKey(simCode, true); @@ -1127,7 +1127,7 @@ Keyboard.prototype.resetDevice = function(fNotify) /* * TODO: There's more to reset, like LED indicators, default type rate, and emptying the scan code buffer. */ - this.messageDebugger("keyboard reset", Debugger.MESSAGE.KEYBOARD | Debugger.MESSAGE.PORT); + this.messageDebugger("keyboard reset", Messages.KEYBOARD | Messages.PORT); this.abScanBuffer = [Keyboard.CMDRES.BAT_OK]; if (fNotify && this.chipset) this.chipset.notifyKbdData(this.abScanBuffer[0]); }; @@ -1149,7 +1149,7 @@ Keyboard.prototype.setEnable = function(fData, fClock) { var fReset = false; if (this.fClock !== fClock) { - if (!COMPILED && this.messageEnabled(Debugger.MESSAGE.KEYBOARD | Debugger.MESSAGE.PORT)) { + if (!COMPILED && this.messageEnabled(Messages.KEYBOARD | Messages.PORT)) { this.messageDebugger("keyboard clock line changing to " + fClock, true); } /* @@ -1159,7 +1159,7 @@ Keyboard.prototype.setEnable = function(fData, fClock) this.fClock = this.fResetOnEnable = fClock; } if (this.fData !== fData) { - if (!COMPILED && this.messageEnabled(Debugger.MESSAGE.KEYBOARD | Debugger.MESSAGE.PORT)) { + if (!COMPILED && this.messageEnabled(Messages.KEYBOARD | Messages.PORT)) { this.messageDebugger("keyboard data line changing to " + fData, true); } this.fData = fData; @@ -1618,7 +1618,7 @@ Keyboard.prototype.updateShiftState = function(simCode, fSim, fDown) Keyboard.prototype.addActiveKey = function(simCode, fPress) { if (!Keyboard.SIMCODES[simCode]) { - if (!COMPILED && this.messageEnabled(Debugger.MESSAGE.KEYS)) { + if (!COMPILED && this.messageEnabled(Messages.KEYS)) { this.messageDebugger("addActiveKey(" + simCode + "," + (fPress? "press" : "down") + "): unrecognized", true); } return; @@ -1649,7 +1649,7 @@ Keyboard.prototype.addActiveKey = function(simCode, fPress) } } - if (!COMPILED && this.messageEnabled(Debugger.MESSAGE.KEYS)) { + if (!COMPILED && this.messageEnabled(Messages.KEYS)) { this.messageDebugger("addActiveKey(" + simCode + "," + (fPress? "press" : "down") + "): " + (i < 0? "already active" : (i == this.aKeysActive.length? "adding" : "updating")), true); } @@ -1750,7 +1750,7 @@ Keyboard.prototype.clearActiveKeys = function() Keyboard.prototype.removeActiveKey = function(simCode, fFlush) { if (!Keyboard.SIMCODES[simCode]) { - if (!COMPILED && this.messageEnabled(Debugger.MESSAGE.KEYS)) { + if (!COMPILED && this.messageEnabled(Messages.KEYS)) { this.messageDebugger("removeActiveKey(" + simCode + "): unrecognized", true); } return false; @@ -1774,11 +1774,11 @@ Keyboard.prototype.removeActiveKey = function(simCode, fFlush) break; } } - if (!COMPILED && !fFlush && this.messageEnabled(Debugger.MESSAGE.KEYS)) { + if (!COMPILED && !fFlush && this.messageEnabled(Messages.KEYS)) { this.messageDebugger("removeActiveKey(" + simCode + "): " + (fRemoved? "removed" : "not active"), true); } if (!this.aKeysActive.length && this.fToggleCapsLock) { - if (!COMPILED) this.messageDebugger("removeActiveKey(): inverting caps-lock now", Debugger.MESSAGE.KEYS); + if (!COMPILED) this.messageDebugger("removeActiveKey(): inverting caps-lock now", Messages.KEYS); this.updateShiftState(Keyboard.SIMCODE.CAPS_LOCK); this.fToggleCapsLock = false; } @@ -1801,7 +1801,7 @@ Keyboard.prototype.updateActiveKey = function(key, msTimer) return; } - if (!COMPILED && this.messageEnabled(Debugger.MESSAGE.KEYS)) { + if (!COMPILED && this.messageEnabled(Messages.KEYS)) { this.messageDebugger((msTimer? '\n' : "") + "updateActiveKey(" + key.simCode + (msTimer? "," + msTimer + "ms" : "") + "): " + (key.fDown? "down" : "up"), true); } @@ -1872,7 +1872,7 @@ Keyboard.prototype.getSimCode = function(keyCode, fShifted) */ Keyboard.prototype.onFocusChange = function(fFocus) { - if (this.fHasFocus != fFocus && !COMPILED && this.messageEnabled(Debugger.MESSAGE.KEYS)) { + if (this.fHasFocus != fFocus && !COMPILED && this.messageEnabled(Messages.KEYS)) { this.messageDebugger("onFocusChange(" + (fFocus? "true" : "false") + ")", true); } this.fHasFocus = fFocus; @@ -1999,7 +1999,7 @@ Keyboard.prototype.onKeyDown = function(event, fDown) event.preventDefault(); } - if (!COMPILED && this.messageEnabled(Debugger.MESSAGE.KEYS)) { + if (!COMPILED && this.messageEnabled(Messages.KEYS)) { this.messageDebugger("\nonKey" + (fDown? "Down" : "Up") + "(" + keyCode + "): " + (fIgnore? "ignore" : (fPass? "true" : "false")), true); } @@ -2039,7 +2039,7 @@ Keyboard.prototype.onKeyPress = function(event) var simCode = this.checkActiveKey(); if (simCode && this.isAlphaKey(simCode) && this.isAlphaKey(keyCode) && simCode != keyCode) { - if (!COMPILED && this.messageEnabled(Debugger.MESSAGE.KEYS)) { + if (!COMPILED && this.messageEnabled(Messages.KEYS)) { this.messageDebugger("onKeyPress(" + keyCode + ") out of sync with " + simCode + ", invert caps-lock", true); } this.fToggleCapsLock = true; @@ -2053,7 +2053,7 @@ Keyboard.prototype.onKeyPress = function(event) var fPass = !Keyboard.SIMCODES[keyCode] || !!(this.bitsState & Keyboard.STATE.CMD); - if (!COMPILED && this.messageEnabled(Debugger.MESSAGE.KEYS)) { + if (!COMPILED && this.messageEnabled(Messages.KEYS)) { this.messageDebugger("\nonKeyPress(" + keyCode + "): " + (fPass? "true" : "false"), true); } @@ -2143,7 +2143,7 @@ Keyboard.prototype.keySimulate = function(simCode, fDown) fSimulated = true; } - if (!COMPILED && this.messageEnabled(Debugger.MESSAGE.KEYS)) { + if (!COMPILED && this.messageEnabled(Messages.KEYS)) { this.messageDebugger("keySimulate(" + simCode + "," + (fDown? "down" : "up") + "): " + (fSimulated? "true" : "false"), true); } diff --git a/modules/pcjs/lib/mem.js b/modules/pcjs/lib/mem.js index 97a9cb6f7..163f8f5af 100644 --- a/modules/pcjs/lib/mem.js +++ b/modules/pcjs/lib/mem.js @@ -51,7 +51,7 @@ if (typeof module !== 'undefined') { var str = require("../../shared/lib/strlib"); var Component = require("../../shared/lib/component"); - var Debugger = require("./debugger"); + var Messages = require("./messages"); } /** * @class DataView @@ -165,7 +165,7 @@ Memory.prototype = { * @return {number} */ readNone: function(off) { - if (DEBUGGER && this.dbg.messageEnabled(Debugger.MESSAGE.MEM) /* && !off */) { + if (DEBUGGER && this.dbg.messageEnabled(Messages.MEM) /* && !off */) { this.dbg.message("attempt to read invalid block %" + str.toHex(this.addr) + " from " + str.toHexAddr(this.cpu.regIP, this.cpu.segCS.sel)); } return 0; @@ -178,7 +178,7 @@ Memory.prototype = { * @param {number} v (could be either a byte or word value, since we use the same handler for both kinds of accesses) */ writeNone: function(off, v) { - if (DEBUGGER && this.dbg.messageEnabled(Debugger.MESSAGE.MEM) /* && !off */) { + if (DEBUGGER && this.dbg.messageEnabled(Messages.MEM) /* && !off */) { this.dbg.message("attempt to write 0x" + str.toHexWord(v) + " to invalid block %" + str.toHex(this.addr), true); } }, diff --git a/modules/pcjs/lib/messages.js b/modules/pcjs/lib/messages.js new file mode 100644 index 000000000..8c9f0e63e --- /dev/null +++ b/modules/pcjs/lib/messages.js @@ -0,0 +1,85 @@ +/** + * @fileoverview PCjs-specific message definitions. + * @author Jeff Parsons + * @version 1.0 + * Created 2014-Dec-11 + * + * Copyright © 2012-2014 Jeff Parsons + * + * This file is part of PCjs, which is part of the JavaScript Machines Project (aka JSMachines) + * at and . + * + * PCjs is free software: you can redistribute it and/or modify it under the terms of the + * GNU General Public License as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * PCjs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without + * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with PCjs. If not, + * see . + * + * You are required to include the above copyright notice in every source code file of every + * copy or modified version of this work, and to display that copyright notice on every screen + * that loads or runs any version of this software (see Computer.sCopyright). + * + * Some PCjs files also attempt to load external resource files, such as character-image files, + * ROM files, and disk image files. Those external resource files are not considered part of the + * PCjs program for purposes of the GNU General Public License, and the author does not claim + * any copyright as to their contents. + */ + +"use strict"; + +/* + * Components that previously used Debugger messages definitions by including: + * + * var Debugger = require("./debugger"); + * + * and using: + * + * Debugger.MESSAGE.FOO + * + * must now instead include: + * + * var Messages = require("./messages"); + * + * and then replace all occurrences of "Debugger.MESSAGE.FOO" with "Messages.FOO". + */ + +var Messages = { + CPU: 0x00000001, + SEG: 0x00000002, + DESC: 0x00000004, + TSS: 0x00000008, + INT: 0x00000010, + FAULT: 0x00000020, + MEM: 0x00000040, + PORT: 0x00000080, + DMA: 0x00000100, + PIC: 0x00000200, + TIMER: 0x00000400, + CMOS: 0x00000800, + RTC: 0x00001000, + C8042: 0x00002000, + CHIPSET: 0x00004000, + KEYBOARD: 0x00008000, + KEYS: 0x00010000, + VIDEO: 0x00020000, + FDC: 0x00040000, + HDC: 0x00080000, + DISK: 0x00100000, + SERIAL: 0x00200000, + SPEAKER: 0x00400000, + STATE: 0x00800000, + MOUSE: 0x01000000, + COMPUTER: 0x02000000, + DOS: 0x04000000, + DATA: 0x08000000, + LOG: 0x10000000, + WARN: 0x20000000, + HALT: 0x40000000 +}; + +if (typeof module !== 'undefined') module.exports = Messages; diff --git a/modules/pcjs/lib/mouse.js b/modules/pcjs/lib/mouse.js index d4c5aceb3..fc937665c 100644 --- a/modules/pcjs/lib/mouse.js +++ b/modules/pcjs/lib/mouse.js @@ -36,9 +36,9 @@ if (typeof module !== 'undefined') { var str = require("../../shared/lib/strlib"); var web = require("../../shared/lib/weblib"); var Component = require("../../shared/lib/component"); + var Messages = require("./messages"); var SerialPort = require("./serial"); var State = require("./state"); - var Debugger = require("./debugger"); } /** @@ -71,7 +71,7 @@ if (typeof module !== 'undefined') { */ function Mouse(parmsMouse) { - Component.call(this, "Mouse", parmsMouse, Mouse, Debugger.MESSAGE.MOUSE); + Component.call(this, "Mouse", parmsMouse, Mouse, Messages.MOUSE); this.idAdapter = parmsMouse['serial']; if (this.idAdapter) { @@ -543,7 +543,7 @@ Mouse.prototype.sendPacket = function(sDiag, xDiag, yDiag) var b1 = 0x40 | (this.fButton1? 0x20 : 0) | (this.fButton2? 0x10 : 0) | ((this.yDelta & 0xC0) >> 4) | ((this.xDelta & 0xC0) >> 6); var b2 = this.xDelta & 0x3F; var b3 = this.yDelta & 0x3F; - if (this.messageEnabled(Debugger.MESSAGE.SERIAL)) { + if (this.messageEnabled(Messages.SERIAL)) { this.messageDebugger((sDiag? (sDiag + ": ") : "") + (yDiag !== undefined? ("mouse (" + xDiag + "," + yDiag + "): ") : "") + "serial packet [" + str.toHexByte(b1) + "," + str.toHexByte(b2) + "," + str.toHexByte(b3) + "]", 0, true); } this.componentAdapter.sendRBR([b1, b2, b3]); diff --git a/modules/pcjs/lib/nodebugger.js b/modules/pcjs/lib/nodebugger.js index 59749eed8..78a8b1dab 100644 --- a/modules/pcjs/lib/nodebugger.js +++ b/modules/pcjs/lib/nodebugger.js @@ -44,10 +44,3 @@ * nodebugger.js, to be loaded as early as possible, which explicitly UPDATES the value of DEBUGGER to false. */ DEBUGGER = false; - -/* - * We still need some Debugger "stub" objects, so that attempts to reference Debugger constants won't trigger exceptions. - */ -var Debugger = { - MESSAGE: {} -}; diff --git a/modules/pcjs/lib/serial.js b/modules/pcjs/lib/serial.js index 5a2a342fc..be44b7566 100644 --- a/modules/pcjs/lib/serial.js +++ b/modules/pcjs/lib/serial.js @@ -35,8 +35,8 @@ if (typeof module !== 'undefined') { var web = require("../../shared/lib/weblib"); var Component = require("../../shared/lib/component"); + var Messages = require("./messages"); var ChipSet = require("./chipset"); - var Debugger = require("./debugger"); var State = require("./state"); } @@ -87,7 +87,7 @@ function SerialPort(parmsSerial) { */ this.controlIOBuffer = null; - Component.call(this, "SerialPort", parmsSerial, SerialPort, Debugger.MESSAGE.SERIAL); + Component.call(this, "SerialPort", parmsSerial, SerialPort, Messages.SERIAL); Component.bindExternalControl(this, parmsSerial['binding'], SerialPort.sIOBuffer); } diff --git a/modules/pcjs/lib/state.js b/modules/pcjs/lib/state.js index 3ddf2d28c..449a765dc 100644 --- a/modules/pcjs/lib/state.js +++ b/modules/pcjs/lib/state.js @@ -35,6 +35,7 @@ if (typeof module !== 'undefined') { var web = require("./../../shared/lib/weblib"); var Component = require("./../../shared/lib/component"); + var Messages = require("./messages"); } /** @@ -394,9 +395,9 @@ State.prototype = { messageEnabled: function(bitsMessage) { if (DEBUGGER && this.dbg) { if (bitsMessage == null) { - bitsMessage = Debugger.MESSAGE.STATE; + bitsMessage = Messages.STATE; } else { - bitsMessage |= Debugger.MESSAGE.STATE; + bitsMessage |= Messages.STATE; } return this.dbg.messageEnabled(bitsMessage); } diff --git a/modules/pcjs/lib/video.js b/modules/pcjs/lib/video.js index 64e549252..3fff14e0c 100644 --- a/modules/pcjs/lib/video.js +++ b/modules/pcjs/lib/video.js @@ -37,10 +37,10 @@ if (typeof module !== 'undefined') { var web = require("../../shared/lib/weblib"); var DumpAPI = require("../../shared/lib/dumpapi"); var Component = require("../../shared/lib/component"); + var Messages = require("./messages"); var ChipSet = require("./chipset"); var Keyboard = require("./keyboard"); var State = require("./state"); - var Debugger = require("./debugger"); } /** @@ -96,7 +96,7 @@ if (typeof module !== 'undefined') { */ function Video(parmsVideo, canvas, context, textarea) { - Component.call(this, "Video", parmsVideo, Video, Debugger.MESSAGE.VIDEO); + Component.call(this, "Video", parmsVideo, Video, Messages.VIDEO); /* * This records the model specified (eg, "mda", "cga", "ega" or "" if none specified); @@ -1960,7 +1960,7 @@ Video.prototype.initBus = function(cmp, bus, cpu, dbg) if (DEBUGGER && dbg) { var video = this; - dbg.messageDump(Debugger.MESSAGE.VIDEO, function onDumpVideo(sParm) { + dbg.messageDump(Messages.VIDEO, function onDumpVideo(sParm) { video.dumpVideo(sParm); }); } @@ -3862,7 +3862,7 @@ Video.prototype.updateChar = function(col, row, data, context) this.contextScreen.fillRect(xDst, yDst, this.cxScreenCell, this.cyScreenCell); } - if (MAXDEBUG && this.messageEnabled(Debugger.MESSAGE.VIDEO | Debugger.MESSAGE.LOG)) { + if (MAXDEBUG && this.messageEnabled(Messages.VIDEO | Messages.LOG)) { this.log("updateCharBgnd(" + col + "," + row + "," + bChar + "): filled " + xDst + "," + yDst); } @@ -3873,7 +3873,7 @@ Video.prototype.updateChar = function(col, row, data, context) var xSrcFgnd = (bChar & 0xf) * font.cxCell; var ySrcFgnd = (bChar >> 4) * font.cyCell; - if (MAXDEBUG && this.messageEnabled(Debugger.MESSAGE.VIDEO | Debugger.MESSAGE.LOG)) { + if (MAXDEBUG && this.messageEnabled(Messages.VIDEO | Messages.LOG)) { this.log("updateCharFgnd(" + col + "," + row + "," + bChar + "): draw from " + xSrcFgnd + "," + ySrcFgnd + " (" + font.cxCell + "," + font.cyCell + ") to " + xDst + "," + yDst); } @@ -3943,7 +3943,7 @@ Video.prototype.updateScreen = function(fForce) /* * The Computer component maintains the fPowered setting on our behalf, so we use it. */ - if (!this.bitField.fPowered) return; + if (!this.aFlags.fPowered) return; /* * If the card's video signal is disabled (eg, during a mode change), then skip the update, diff --git a/modules/pcjs/lib/x86.js b/modules/pcjs/lib/x86.js index 19e5a304c..e28a89112 100644 --- a/modules/pcjs/lib/x86.js +++ b/modules/pcjs/lib/x86.js @@ -193,10 +193,10 @@ var X86 = { * * Interrupts beyond 0x10 (up through 0x1F) are reserved for future exceptions. * - * Implementation Detail: For any opcode we know must generate a UD_FAULT interrupt, we invoke opInvalid(), - * NOT opUndefined(). UD_FAULT is for INVALID opcodes, Intel's choice of "UD" notwithstanding. + * Implementation Detail: For any opcode we know must generate a UD_FAULT interrupt, we invoke opHelpInvalid(), + * NOT opHelpUndefined(). UD_FAULT is for INVALID opcodes, Intel's choice of "UD" notwithstanding. * - * We reserve the term "undefined" for opcodes that require further investigation, and we invoke opUndefined() + * We reserve the term "undefined" for opcodes that require more investigation, and we invoke opHelpUndefined() * ONLY until an opcode's behavior has finally been defined, at which point it becomes either valid or invalid. * The term "illegal" seems completely superfluous; we don't need a third way of describing invalid opcodes. * diff --git a/modules/pcjs/lib/x86cpu.js b/modules/pcjs/lib/x86cpu.js index aea2c602a..3eb77f7d4 100644 --- a/modules/pcjs/lib/x86cpu.js +++ b/modules/pcjs/lib/x86cpu.js @@ -36,6 +36,7 @@ if (typeof module !== 'undefined') { var str = require("../../shared/lib/strlib"); var web = require("../../shared/lib/weblib"); var Component = require("../../shared/lib/component"); + var Messages = require("./messages"); var Bus = require("./bus"); var State = require("./state"); var CPU = require("./cpu"); @@ -46,7 +47,6 @@ if (typeof module !== 'undefined') { var X86Mods = require("./x86mods"); var X86OpXX = require("./x86opxx"); var X86Op0F = require("./x86op0f"); - var Debugger = require("./debugger"); } /** @@ -144,7 +144,7 @@ function X86CPU(parmsCPU) { * stepCPU() call, but it's good form to do so. */ this.nBurstCycles = 0; - this.bitField.fComplete = this.bitField.fDebugCheck = false; + this.aFlags.fComplete = this.aFlags.fDebugCheck = false; /* * We're just declaring aMemBlocks and associated Bus parameters here; they'll be initialized by initMemory() @@ -705,15 +705,15 @@ X86CPU.prototype.initProcessor = function() * opOUTSw, opENTER, and opLEAVE. */ this.nShiftCountMask = 0x1f; // on newer processors, all shift counts are MOD 32 - this.aOps[0x0F] = X86OpXX.opInvalid; + this.aOps[0x0F] = X86Help.opHelpInvalid; this.aOps[X86.OPCODE.PUSHA] = X86OpXX.opPUSHA; this.aOps[X86.OPCODE.POPA] = X86OpXX.opPOPA; this.aOps[X86.OPCODE.BOUND] = X86OpXX.opBOUND; - this.aOps[0x63] = X86OpXX.opInvalid; - this.aOps[0x64] = X86OpXX.opInvalid; - this.aOps[0x65] = X86OpXX.opInvalid; - this.aOps[0x66] = X86OpXX.opInvalid; - this.aOps[0x67] = X86OpXX.opInvalid; + this.aOps[0x63] = X86Help.opHelpInvalid; + this.aOps[0x64] = X86Help.opHelpInvalid; + this.aOps[0x65] = X86Help.opHelpInvalid; + this.aOps[0x66] = X86Help.opHelpInvalid; + this.aOps[0x67] = X86Help.opHelpInvalid; this.aOps[X86.OPCODE.PUSH16] = X86OpXX.opPUSH16; this.aOps[X86.OPCODE.IMUL16] = X86OpXX.opIMUL16; this.aOps[X86.OPCODE.PUSH8] = X86OpXX.opPUSH8; @@ -751,7 +751,7 @@ X86CPU.prototype.initProcessor = function() */ X86CPU.prototype.reset = function() { - if (this.bitField.fRunning) this.stopCPU(); + if (this.aFlags.fRunning) this.stopCPU(); this.resetRegs(); this.resetCycles(); this.clearError(); // clear any fatal error/exception that setError() may have flagged @@ -965,8 +965,8 @@ X86CPU.prototype.checkIntNotify = function(nInt) * The enabling of MESSAGE_INT messages is one of the criteria that's also included in the Debugger's * checksEnabled() function, and therefore in fDebugCheck, so for maximum speed, we check fDebugCheck first. */ - if (DEBUGGER && this.bitField.fDebugCheck) { - if (this.messageEnabled(Debugger.MESSAGE.INT) && this.dbg.messageInt(nInt, this.regEIP)) { + if (DEBUGGER && this.aFlags.fDebugCheck) { + if (this.messageEnabled(Messages.INT) && this.dbg.messageInt(nInt, this.regEIP)) { this.addIntReturn(this.regEIP, function(cpu, nCycles) { return function onIntReturn(nLevel) { cpu.dbg.messageIntReturn(nInt, nLevel, cpu.getCycles() - nCycles); @@ -2398,7 +2398,7 @@ X86CPU.prototype.delayINTR = function() */ X86CPU.prototype.displayStatus = function(fForce) { - if (fForce || !this.bitField.fRunning || this.bitField.fDisplayLiveRegs) { + if (fForce || !this.aFlags.fRunning || this.aFlags.fDisplayLiveRegs) { this.displayReg("AX", this.regAX); this.displayReg("BX", this.regBX); this.displayReg("CX", this.regCX); @@ -2461,12 +2461,12 @@ X86CPU.prototype.stepCPU = function(nMinCycles) * 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.bitField.fComplete = true; + this.aFlags.fComplete = true; /* * fDebugCheck is true if we need to "check" every instruction with the Debugger. */ - var fDebugCheck = this.bitField.fDebugCheck = (DEBUGGER && this.dbg && this.dbg.checksEnabled()); + var fDebugCheck = this.aFlags.fDebugCheck = (DEBUGGER && this.dbg && this.dbg.checksEnabled()); /* * fDebugSkip is checked only when fDebugCheck is true, and its sole purpose is to tell the first call @@ -2476,8 +2476,8 @@ X86CPU.prototype.stepCPU = function(nMinCycles) * Once we snap fStarting, we clear it, because technically, we've moved beyond "starting" and have officially * "started" now. */ - var fDebugSkip = this.bitField.fStarting || !nMinCycles; - this.bitField.fStarting = false; + var fDebugSkip = this.aFlags.fStarting || !nMinCycles; + this.aFlags.fStarting = false; /* * We move the minimum cycle count to nStepCycles (the number of cycles left to step), so that other @@ -2505,7 +2505,7 @@ X86CPU.prototype.stepCPU = function(nMinCycles) * One exception I make here is when you've asked the Debugger to display PIC messages, the idea being that * if you're watching the PIC that closely, then you want to hardware interrupts to occur regardless. */ - if (!nMinCycles && !this.messageEnabled(Debugger.MESSAGE.PIC)) this.opFlags |= X86.OPFLAG.NOINTR; + if (!nMinCycles && !this.messageEnabled(Messages.PIC)) this.opFlags |= X86.OPFLAG.NOINTR; do { var opPrefixes = this.opFlags & X86.OPFLAG.PREFIXES; @@ -2618,7 +2618,7 @@ X86CPU.prototype.stepCPU = function(nMinCycles) /* * Make sure that every instruction is assessing a cycle cost, and that the cost is a net positive. */ - if (this.bitField.fComplete && this.nStepCycles >= this.nSnapCycles && !(this.opFlags & X86.OPFLAG.PREFIXES)) { + if (this.aFlags.fComplete && this.nStepCycles >= this.nSnapCycles && !(this.opFlags & X86.OPFLAG.PREFIXES)) { this.println("cycle miscount: " + (this.nSnapCycles - this.nStepCycles)); this.setIP(this.opEA - this.segCS.base); this.stopCPU(); @@ -2628,7 +2628,7 @@ X86CPU.prototype.stepCPU = function(nMinCycles) } while (this.nStepCycles > 0); - return (this.bitField.fComplete? this.nBurstCycles - this.nStepCycles : (this.bitField.fComplete === undefined? 0 : -1)); + return (this.aFlags.fComplete? this.nBurstCycles - this.nStepCycles : (this.aFlags.fComplete === undefined? 0 : -1)); }; /** diff --git a/modules/pcjs/lib/x86grps.js b/modules/pcjs/lib/x86grps.js index 6a6b3d2cf..6140a2434 100644 --- a/modules/pcjs/lib/x86grps.js +++ b/modules/pcjs/lib/x86grps.js @@ -35,8 +35,6 @@ if (typeof module !== 'undefined') { var X86 = require("./x86"); var X86Help = require("./x86help"); - var X86OpXX = require("./x86opxx"); - var Debugger = require("./debugger"); } var X86Grps = { @@ -1238,7 +1236,7 @@ var X86Grps = { * @return {number} */ opGrpInvalid: function(dst, src) { - X86OpXX.opInvalid.call(this); + X86Help.opHelpInvalid.call(this); return dst; }, /** @@ -1248,7 +1246,7 @@ var X86Grps = { * @return {number} */ opGrpUndefined: function(dst, src) { - X86OpXX.opUndefined.call(this); + X86Help.opHelpUndefined.call(this); return dst; } }; diff --git a/modules/pcjs/lib/x86help.js b/modules/pcjs/lib/x86help.js index 23fb5e6fd..080848a2b 100644 --- a/modules/pcjs/lib/x86help.js +++ b/modules/pcjs/lib/x86help.js @@ -34,8 +34,7 @@ if (typeof module !== 'undefined') { var X86 = require("./x86"); - var X86OpXX = require("./x86opxx"); - var Debugger = require("./debugger"); + var Messages = require("./messages"); } var X86Help = { @@ -177,7 +176,7 @@ var X86Help = { */ opHelpLEA: function(dst, src) { if (this.regEA < 0) { - X86OpXX.opUndefined.call(this); + X86Help.opHelpUndefined.call(this); return dst; } this.nStepCycles -= this.CYCLES.nOpCyclesLEA; @@ -191,7 +190,7 @@ var X86Help = { */ opHelpLDS: function(dst, src) { if (this.regEA < 0) { - X86OpXX.opUndefined.call(this); + X86Help.opHelpUndefined.call(this); return dst; } this.setDS(this.getWord(this.regEA + 2)); @@ -206,7 +205,7 @@ var X86Help = { */ opHelpLES: function(dst, src) { if (this.regEA < 0) { - X86OpXX.opUndefined.call(this); + X86Help.opHelpUndefined.call(this); return dst; } this.setES(this.getWord(this.regEA + 2)); @@ -224,7 +223,7 @@ var X86Help = { /* * Generate UD_FAULT (INT 0x06: Invalid Opcode) if src is not a memory operand. */ - X86OpXX.opInvalid.call(this); + X86Help.opHelpInvalid.call(this); return dst; } /* @@ -576,8 +575,8 @@ var X86Help = { */ opHelpFault: function(nFault, nError, fHalt) { - if (!this.bitField.fComplete) { - this.messageDebugger("Fault " + str.toHexByte(nFault) + " blocked by Debugger", Debugger.MESSAGE.WARN); + if (!this.aFlags.fComplete) { + this.messageDebugger("Fault " + str.toHexByte(nFault) + " blocked by Debugger", Messages.WARN); this.setIP(this.opEA - this.segCS.base); return; } @@ -649,7 +648,7 @@ var X86Help = { */ opHelpFaultMessage: function(nFault, nError, fHalt) { - var bitsMessage = Debugger.MESSAGE.FAULT; + var bitsMessage = Messages.FAULT; var bOpcode = this.bus.getByteDirect(this.regEIP); /* @@ -667,7 +666,7 @@ var X86Help = { */ if (bOpcode == X86.OPCODE.INT3) { fHalt = false; - bitsMessage |= Debugger.MESSAGE.CPU; + bitsMessage |= Messages.CPU; } /* @@ -683,13 +682,13 @@ var X86Help = { * However, the foregoing notwithstanding, if MESSAGE.HALT is enabled along with all the other required * MESSAGE bits, then we want to halt regardless. */ - if (this.messageEnabled(bitsMessage | Debugger.MESSAGE.HALT)) { + if (this.messageEnabled(bitsMessage | Messages.HALT)) { fHalt = true; } if (this.messageEnabled(bitsMessage) || fHalt) { var sMessage = (fHalt? '\n' : '') + "Fault " + str.toHexByte(nFault) + (nError != null? " (" + str.toHexWord(nError) + ")" : "") + " on opcode 0x" + str.toHexByte(bOpcode) + " at " + str.toHexAddr(this.regIP, this.segCS.sel) + " (%" + str.toHex(this.regEIP, 6) + ")"; - var fRunning = this.bitField.fRunning; + var fRunning = this.aFlags.fRunning; if (this.messageDebugger(sMessage, bitsMessage)) { if (fHalt) { /* @@ -714,6 +713,21 @@ var X86Help = { } } return fHalt; + }, + /** + * @this {X86CPU} + */ + opHelpInvalid: function() { + X86Help.opHelpFault.call(this, X86.EXCEPTION.UD_FAULT); + this.stopCPU(); + }, + /** + * @this {X86CPU} + */ + opHelpUndefined: function() { + this.setIP(this.opEA - this.segCS.base); + this.setError("Undefined opcode 0x" + str.toHexByte(this.bus.getByteDirect(this.regEIP)) + " at " + str.toHexAddr(this.regIP, this.segCS.sel)); + this.stopCPU(); } }; diff --git a/modules/pcjs/lib/x86op0f.js b/modules/pcjs/lib/x86op0f.js index a3588730c..c43eb2d28 100644 --- a/modules/pcjs/lib/x86op0f.js +++ b/modules/pcjs/lib/x86op0f.js @@ -37,7 +37,6 @@ if (typeof module !== 'undefined') { var X86Grps = require("./x86grps"); var X86Help = require("./x86help"); var X86Mods = require("./x86mods"); - var X86OpXX = require("./x86opxx"); } var X86Op0F = { @@ -297,7 +296,7 @@ var X86Op0F = { */ opSGDT: function(dst, src) { if (this.regEA < 0) { - X86OpXX.opInvalid.call(this); + X86Help.opHelpInvalid.call(this); } else { /* * We don't need to setWord() the first word of the operand, because the ModRM group decoder that calls @@ -351,7 +350,7 @@ var X86Op0F = { */ opSIDT: function(dst, src) { if (this.regEA < 0) { - X86OpXX.opInvalid.call(this); + X86Help.opHelpInvalid.call(this); } else { /* * We don't need to setWord() the first word of the operand, because the ModRM group decoder that calls @@ -384,7 +383,7 @@ var X86Op0F = { */ opLGDT: function(dst, src) { if (this.regEA < 0) { - X86OpXX.opInvalid.call(this); + X86Help.opHelpInvalid.call(this); } else { this.addrGDT = this.getWord(this.regEA + 2) | (this.getByte(this.regEA + 4) << 16); this.addrGDTLimit = this.addrGDT + dst; @@ -407,7 +406,7 @@ var X86Op0F = { */ opLIDT: function(dst, src) { if (this.regEA < 0) { - X86OpXX.opInvalid.call(this); + X86Help.opHelpInvalid.call(this); } else { this.addrIDT = this.getWord(this.regEA + 2) | (this.getByte(this.regEA + 4) << 16); this.addrIDTLimit = this.addrIDT + dst; @@ -442,73 +441,73 @@ var X86Op0F = { X86Op0F.aOps0F = [ X86Op0F.opGrp6, X86Op0F.opGrp7, X86Op0F.opLAR, X86Op0F.opLSL, // 0x00-0x03 - X86OpXX.opUndefined, X86Op0F.opLOADALL, X86Op0F.opCLTS, X86OpXX.opUndefined, // 0x04-0x07 + X86Help.opHelpUndefined,X86Op0F.opLOADALL, X86Op0F.opCLTS, X86Help.opHelpUndefined,// 0x04-0x07 /* * On all processors (except the 8086/8088, of course), 0x0F,0x0B is also referred to as "UD2": an * instruction guaranteed to raise a #UD (Invalid Opcode) exception (INT 0x06) on all future x86 processors. */ - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opInvalid, // 0x08-0x0B - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x0C-0x0F - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x10-0x13 - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x14-0x17 - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x18-0x1B - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x1C-0x1F - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x20-0x23 - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x24-0x27 - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x28-0x2B - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x2C-0x2F - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x30-0x33 - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x34-0x37 - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x38-0x3B - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x3C-0x3F - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x40-0x43 - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x44-0x47 - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x48-0x4B - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x4C-0x4F - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x50-0x53 - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x54-0x57 - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x58-0x5B - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x5C-0x5F - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x60-0x63 - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x64-0x67 - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x68-0x6B - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x6C-0x6F - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x70-0x73 - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x74-0x77 - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x78-0x7B - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x7C-0x7F - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x80-0x83 - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x84-0x87 - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x88-0x8B - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x8C-0x8F - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x90-0x93 - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x94-0x97 - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x98-0x9B - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0x9C-0x9F - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0xA0-0xA3 - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0xA4-0xA7 - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0xA8-0xAB - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0xAC-0xAF - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0xB0-0xB3 - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0xB4-0xB7 - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0xB8-0xBB - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0xBC-0xBF - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0xC0-0xC3 - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0xC4-0xC7 - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0xC8-0xCB - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0xCC-0xCF - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0xD0-0xD3 - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0xD4-0xD7 - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0xD8-0xDB - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0xDC-0xDF - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0xE0-0xE3 - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0xE4-0xE7 - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0xE8-0xEB - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0xEC-0xEF - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0xF0-0xF3 - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0xF4-0xF7 - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, // 0xF8-0xFB - X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined, X86OpXX.opUndefined // 0xFC-0xFF + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpInvalid, // 0x08-0x0B + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x0C-0x0F + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x10-0x13 + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x14-0x17 + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x18-0x1B + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x1C-0x1F + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x20-0x23 + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x24-0x27 + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x28-0x2B + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x2C-0x2F + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x30-0x33 + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x34-0x37 + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x38-0x3B + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x3C-0x3F + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x40-0x43 + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x44-0x47 + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x48-0x4B + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x4C-0x4F + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x50-0x53 + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x54-0x57 + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x58-0x5B + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x5C-0x5F + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x60-0x63 + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x64-0x67 + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x68-0x6B + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x6C-0x6F + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x70-0x73 + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x74-0x77 + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x78-0x7B + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x7C-0x7F + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x80-0x83 + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x84-0x87 + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x88-0x8B + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x8C-0x8F + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x90-0x93 + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x94-0x97 + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x98-0x9B + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x9C-0x9F + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xA0-0xA3 + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xA4-0xA7 + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xA8-0xAB + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xAC-0xAF + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xB0-0xB3 + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xB4-0xB7 + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xB8-0xBB + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xBC-0xBF + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xC0-0xC3 + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xC4-0xC7 + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xC8-0xCB + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xCC-0xCF + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xD0-0xD3 + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xD4-0xD7 + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xD8-0xDB + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xDC-0xDF + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xE0-0xE3 + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xE4-0xE7 + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xE8-0xEB + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xEC-0xEF + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xF0-0xF3 + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xF4-0xF7 + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xF8-0xFB + X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined // 0xFC-0xFF ]; /* diff --git a/modules/pcjs/lib/x86opxx.js b/modules/pcjs/lib/x86opxx.js index 4d65ecfd8..9503459ed 100644 --- a/modules/pcjs/lib/x86opxx.js +++ b/modules/pcjs/lib/x86opxx.js @@ -34,6 +34,7 @@ if (typeof module !== 'undefined') { var Component = require("../../shared/lib/component"); + var Messages = require("./messages"); var X86 = require("./x86"); var X86Grps = require("./x86grps"); var X86Help = require("./x86help"); @@ -193,7 +194,7 @@ var X86OpXX = { /** * @this {X86CPU} * - * op=0x0F (pop CS) (undocumented on 8086/8088; replaced with opInvalid on 80186/80188, and op0F on 80286 and up) + * op=0x0F (pop CS) (undocumented on 8086/8088; replaced with opHelpInvalid on 80186/80188, and op0F on 80286 and up) */ opPOPCS: function() { this.setCS(this.popWord()); @@ -1741,7 +1742,7 @@ var X86OpXX = { this.regMD16 = this.segDS.sel; break; default: - X86OpXX.opUndefined.call(this); + X86Help.opHelpUndefined.call(this); return; } /* @@ -1787,7 +1788,7 @@ var X86OpXX = { break; default: if (this.model >= X86.MODEL_80286) { - X86OpXX.opInvalid.call(this); + X86Help.opHelpInvalid.call(this); return; } switch(reg) { @@ -1980,7 +1981,7 @@ var X86OpXX = { * op=0x9B (wait) */ opWAIT: function() { - this.messageDebugger("WAIT not implemented", Debugger.MESSAGE.CPU); + this.messageDebugger("WAIT not implemented", Messages.CPU); this.nStepCycles--; }, /** @@ -3144,7 +3145,7 @@ var X86OpXX = { * I still treat this as undefined, until I can verify the behavior on real hardware. */ opINT1: function() { - X86OpXX.opUndefined.call(this); + X86Help.opHelpUndefined.call(this); }, /** * @this {X86CPU} @@ -3338,21 +3339,6 @@ var X86OpXX = { opGrp4w: function() { X86Mods.aOpModsGrpWord[this.getIPByte()].call(this, X86Grps.aOpGrp4w, X86Grps.opGrpNoSrc); if (EAFUNCS) this.setEAWord = this.setEAWordEnabled; - }, - /** - * @this {X86CPU} - */ - opInvalid: function() { - X86Help.opHelpFault.call(this, X86.EXCEPTION.UD_FAULT); - this.stopCPU(); - }, - /** - * @this {X86CPU} - */ - opUndefined: function() { - this.setIP(this.opEA - this.segCS.base); - this.setError("Undefined opcode 0x" + str.toHexByte(this.bus.getByteDirect(this.regEIP)) + " at " + str.toHexAddr(this.regIP, this.segCS.sel)); - this.stopCPU(); } }; diff --git a/modules/pcjs/lib/x86seg.js b/modules/pcjs/lib/x86seg.js index 01047d044..e278e1d8b 100644 --- a/modules/pcjs/lib/x86seg.js +++ b/modules/pcjs/lib/x86seg.js @@ -34,6 +34,7 @@ if (typeof module !== 'undefined') { var str = require("../../shared/lib/strlib"); + var Messages = require("./messages"); var X86 = require("./x86"); var X86Help = require("./x86help"); } @@ -409,7 +410,7 @@ X86Seg.switchTSS = function switchTSS(selNew, fNest) return false; } var addrNew = cpu.segTSS.base; - if (DEBUG && DEBUGGER && this.dbg && this.dbg.messageEnabled(Debugger.MESSAGE.TSS)) { + if (DEBUG && DEBUGGER && this.dbg && this.dbg.messageEnabled(Messages.TSS)) { this.dbg.message((fNest? "Task switch" : "Task return") + ": TR " + str.toHexWord(selOld) + " (%" + str.toHex(addrOld, 6) + "), new TR " + str.toHexWord(selNew) + " (%" + str.toHex(addrNew, 6) + ")"); } if (fNest) { @@ -866,7 +867,7 @@ X86Seg.prototype.updateMode = function(fProt) X86Seg.prototype.messageSeg = function(sel, base, limit, acc, ext) { if (DEBUG) { - if (DEBUGGER && this.dbg && this.dbg.messageEnabled(Debugger.MESSAGE.SEG)) { + if (DEBUGGER && this.dbg && this.dbg.messageEnabled(Messages.SEG)) { var ch = (this.sName.length < 3? " " : ""); var sDPL = " dpl=" + this.dpl; if (this.id == X86Seg.ID.CODE) sDPL += " cpl=" + this.cpl; diff --git a/modules/shared/lib/component.js b/modules/shared/lib/component.js index 1e6cbd619..a45c858e8 100644 --- a/modules/shared/lib/component.js +++ b/modules/shared/lib/component.js @@ -114,7 +114,7 @@ function Component(type, parms, constructor, bitsMessage) * Gather all the various component flags (booleans) into a single "flags" object, and encourage * subclasses to do the same, to reduce the property clutter we have to wade through while debugging. */ - this.bitField = { + this.aFlags = { fReady: false, fBusy: false, fBusyCancel: false, @@ -794,7 +794,7 @@ Component.prototype = { * @param {string} s describes a fatal error condition */ setError: function(s) { - this.bitField.fError = true; + this.aFlags.fError = true; this.notice("Fatal error: " + s); }, /** @@ -805,7 +805,7 @@ Component.prototype = { * @this {Component} */ clearError: function() { - this.bitField.fError = false; + this.aFlags.fError = false; }, /** * isError() @@ -816,7 +816,7 @@ Component.prototype = { * @return {boolean} true if a fatal error condition exists, false if not */ isError: function() { - if (this.bitField.fError) { + if (this.aFlags.fError) { this.println(this.toString() + " error"); return true; } @@ -837,14 +837,14 @@ Component.prototype = { */ isReady: function(fnReady) { if (fnReady) { - if (this.bitField.fReady) { + if (this.aFlags.fReady) { fnReady(); } else { if (DEBUG) this.log("NOT ready"); this.fnReady = fnReady; } } - return this.bitField.fReady; + return this.aFlags.fReady; }, /** * setReady(fReady) @@ -855,9 +855,9 @@ Component.prototype = { * @param {boolean} [fReady] is assumed to indicate "ready" unless EXPLICITLY set to false */ setReady: function(fReady) { - if (!this.bitField.fError) { - this.bitField.fReady = (fReady !== false); - if (this.bitField.fReady) { + if (!this.aFlags.fError) { + this.aFlags.fReady = (fReady !== false); + if (this.aFlags.fReady) { if (DEBUG || this.name) this.log("ready"); var fnReady = this.fnReady; this.fnReady = null; @@ -875,14 +875,14 @@ Component.prototype = { * @return {boolean} true if "busy", false if not */ isBusy: function(fCancel) { - if (this.bitField.fBusy) { + if (this.aFlags.fBusy) { if (fCancel) { - this.bitField.fBusyCancel = true; + this.aFlags.fBusyCancel = true; } else if (fCancel === undefined) { this.println(this.toString() + " busy"); } } - return this.bitField.fBusy; + return this.aFlags.fBusy; }, /** * setBusy(fBusy) @@ -894,19 +894,19 @@ Component.prototype = { * @return {boolean} */ setBusy: function(fBusy) { - if (this.bitField.fBusyCancel) { - if (this.bitField.fBusy) { - this.bitField.fBusy = false; + if (this.aFlags.fBusyCancel) { + if (this.aFlags.fBusy) { + this.aFlags.fBusy = false; } - this.bitField.fBusyCancel = false; + this.aFlags.fBusyCancel = false; return false; } - if (this.bitField.fError) { + if (this.aFlags.fError) { this.println(this.toString() + " error"); return false; } - this.bitField.fBusy = fBusy; - return this.bitField.fBusy; + this.aFlags.fBusy = fBusy; + return this.aFlags.fBusy; }, /** * powerUp(fSave) @@ -917,7 +917,7 @@ Component.prototype = { * @return {boolean} true if successful, false if failure */ powerUp: function(data, fRepower) { - this.bitField.fPowered = true; + this.aFlags.fPowered = true; return true; }, /** @@ -929,7 +929,7 @@ Component.prototype = { * @return {Object|boolean} component state if fSave; otherwise, true if successful, false if failure */ powerDown: function(fSave, fShutdown) { - if (fShutdown) this.bitField.fPowered = false; + if (fShutdown) this.aFlags.fPowered = false; return true; }, /** diff --git a/modules/shared/lib/externs.js b/modules/shared/lib/externs.js index 66b501e4b..3434cd78d 100644 --- a/modules/shared/lib/externs.js +++ b/modules/shared/lib/externs.js @@ -32,4 +32,6 @@ "use strict"; +var global; + // var webkitAudioContext; diff --git a/modules/shared/lib/weblib.js b/modules/shared/lib/weblib.js index bd3a9a662..96b191e21 100644 --- a/modules/shared/lib/weblib.js +++ b/modules/shared/lib/weblib.js @@ -402,15 +402,17 @@ web.fLocalStorage = null; */ web.hasLocalStorage = function() { if (web.fLocalStorage == null) { - var f; - var sTest = 'PCjs.localStorage'; - try { - window.localStorage.setItem(sTest, sTest); - f = (window.localStorage.getItem(sTest) === sTest); - window.localStorage.removeItem(sTest); - } catch(e) { - web.logLocalStorageError(e); - f = false; + var f = false; + if (window) { + var sTest = 'PCjs.localStorage'; + try { + window.localStorage.setItem(sTest, sTest); + f = (window.localStorage.getItem(sTest) === sTest); + window.localStorage.removeItem(sTest); + } catch(e) { + web.logLocalStorageError(e); + f = false; + } } web.fLocalStorage = f; } @@ -438,10 +440,12 @@ web.logLocalStorageError = function(e) web.getLocalStorageItem = function(sKey) { var sValue; - try { - sValue = window.localStorage.getItem(sKey); - } catch(e) { - web.logLocalStorageError(e); + if (window) { + try { + sValue = window.localStorage.getItem(sKey); + } catch(e) { + web.logLocalStorageError(e); + } } return sValue; }; diff --git a/package.json b/package.json index a578a035b..77f3c0f89 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pcjs", - "version": "1.16.3", + "version": "1.16.4", "description": "Node-enabled version of PCjs", "main": "server.js", "directories": { @@ -97,6 +97,8 @@ "./modules/shared/lib/weblib.js", "./modules/shared/lib/component.js", "./modules/pcjs/lib/defines.js", + "./modules/pcjs/lib/interrupts.js", + "./modules/pcjs/lib/messages.js", "./modules/pcjs/lib/panel.js", "./modules/pcjs/lib/bus.js", "./modules/pcjs/lib/mem.js", diff --git a/pubs/pc/programming/manifest.xml b/pubs/pc/programming/manifest.xml index 1fbe79d76..38a23dd37 100644 --- a/pubs/pc/programming/manifest.xml +++ b/pubs/pc/programming/manifest.xml @@ -1,5 +1,5 @@ - + PC Programming Guides diff --git a/pubs/pc/reference/ibm/5150/techref/manifest.xml b/pubs/pc/reference/ibm/5150/techref/manifest.xml index 1d2cad43e..6a1157322 100644 --- a/pubs/pc/reference/ibm/5150/techref/manifest.xml +++ b/pubs/pc/reference/ibm/5150/techref/manifest.xml @@ -1,5 +1,5 @@ - + IBM 5150 Manuals minuszerodegrees.net diff --git a/pubs/pc/reference/ibm/5160/techref/manifest.xml b/pubs/pc/reference/ibm/5160/techref/manifest.xml index 34acc30fe..4b7b83f19 100644 --- a/pubs/pc/reference/ibm/5160/techref/manifest.xml +++ b/pubs/pc/reference/ibm/5160/techref/manifest.xml @@ -1,5 +1,5 @@ - + IBM 5160 Technical Reference (April 1983) retroarchive.org diff --git a/pubs/pc/reference/ibm/5170/setup/manifest.xml b/pubs/pc/reference/ibm/5170/setup/manifest.xml index 48b3e8527..e33a14eee 100644 --- a/pubs/pc/reference/ibm/5170/setup/manifest.xml +++ b/pubs/pc/reference/ibm/5170/setup/manifest.xml @@ -1,5 +1,5 @@ - + IBM 5170 Installation and Setup (March 1984) minuszerodegrees.net diff --git a/pubs/pc/reference/ibm/5170/techref/manifest.xml b/pubs/pc/reference/ibm/5170/techref/manifest.xml index 73d6b448d..5f275d0ab 100644 --- a/pubs/pc/reference/ibm/5170/techref/manifest.xml +++ b/pubs/pc/reference/ibm/5170/techref/manifest.xml @@ -1,5 +1,5 @@ - + IBM 5170 Technical Reference minuszerodegrees.net diff --git a/pubs/pc/reference/ibm/ega/manifest.xml b/pubs/pc/reference/ibm/ega/manifest.xml index 8e2d6ed6e..22f8c7372 100644 --- a/pubs/pc/reference/ibm/ega/manifest.xml +++ b/pubs/pc/reference/ibm/ega/manifest.xml @@ -1,5 +1,5 @@ - + IBM Enhanced Graphics Adapter minuszerodegrees.net diff --git a/pubs/pc/reference/ibm/ps2/manifest.xml b/pubs/pc/reference/ibm/ps2/manifest.xml index dc2914abe..af8b0beeb 100644 --- a/pubs/pc/reference/ibm/ps2/manifest.xml +++ b/pubs/pc/reference/ibm/ps2/manifest.xml @@ -1,5 +1,5 @@ - + PS/2 Technical Reference diff --git a/pubs/pc/reference/intel/80286/manifest.xml b/pubs/pc/reference/intel/80286/manifest.xml index aa8bf058c..5676450d6 100644 --- a/pubs/pc/reference/intel/80286/manifest.xml +++ b/pubs/pc/reference/intel/80286/manifest.xml @@ -1,5 +1,5 @@ - + Intel 80286 References diff --git a/pubs/pc/software/os2/sdk10/manifest.xml b/pubs/pc/software/os2/sdk10/manifest.xml index 0c4499dee..d493e08dc 100644 --- a/pubs/pc/software/os2/sdk10/manifest.xml +++ b/pubs/pc/software/os2/sdk10/manifest.xml @@ -1,5 +1,5 @@ - + OS/2 1.0 Programmer's Toolkit 1.0 diff --git a/pubs/pc/software/windows/sdk20/manifest.xml b/pubs/pc/software/windows/sdk20/manifest.xml index f9450f603..b9ba18f41 100644 --- a/pubs/pc/software/windows/sdk20/manifest.xml +++ b/pubs/pc/software/windows/sdk20/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows Software Development Kit 2.0