pcjs/docs/pcx86/examples/pcx86-dbg.js

819 lines
345 KiB
JavaScript

(function(){var m,aa,ba={163840:[40,1,8],184320:[40,1,9],327680:[40,2,8],368640:[40,2,9],737280:[80,2,9],1228800:[80,2,15],1474560:[80,2,18],2949120:[80,2,36],21368320:[615,4,17]};
function ca(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c}
function da(a,b){var c="";void 0===b?b=32:32<b&&(b=32);if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=(a&1?"1":"0")+c,a>>=1;return c}function ea(a,b){var c="";if(!b||4<b)b=4;for(var d=0;d<b;d++)c&&(c=","+c),c=da(a&255,8)+"b"+c,a>>=8;return c}function r(a,b){var c="";void 0===b?b=8:8<b&&(b=8);if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;){var d=a&15,d=d+(0<=d&&9>=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function t(a){return"0x"+r(a,2)}
function u(a){return"0x"+r(a,4)}function fa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function ga(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ha(a,b){return-1!==a.indexOf(b,a.length-b.length)}var ka={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function la(a){return a.replace(/[&<>"']/g,function(a){return ka[a]})}
function ma(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function na(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var oa={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};
function pa(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,h;h=c(b,a[g]);0<h?d=g+1:(e=g,f=!h)}return f?d:~d}var qa=Date.now||function(){return+new Date};function ra(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}var sa=[31,28,31,30,31,30,31,31,30,31,30,31];
function ta(a,b){var c=0,d=1,e;for(e in a){if(d>=arguments.length)break;var f=a[e],g=arguments[d++],c=c&~f.oh|g<<f.shift&f.oh}return c}function ua(a,b){return(b&a.oh)>>a.shift}function va(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c<d;c++)if(c in a&&a[c]===b)return c;return-1}
function xa(a,b,c,d){var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,f,e))});if(b&&"object"==
typeof b){var k="",l;for(l in b)b.hasOwnProperty(l)&&(k&&(k+="&"),k+=l+"="+encodeURIComponent(b[l]));k=k.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g}function ya(){return"http://"+(window?window.location.host:"www.pcjs.org")}
function za(){return window?window.navigator.userAgent:""}function w(a){window&&window.alert(a)}function Aa(a){var b=!1;window&&(b=window.confirm(a));return b}var Ca=null;function Ea(){if(null==Ca){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}Ca=a}return Ca}
function Fa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function Ga(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ia(a){if(window){var b=za();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 Ja(a,b,c,d){var e=null;b="data:application/"+b+(c?";base64":"")+",";b=Ia("Firefox")?b+(c?a:encodeURIComponent(a)):b+(c?a:encodeURI(a));d&&(e=document.createElement("a"),"string"!=typeof e.download&&(e=null));e?(e.href=b,e.download=d,document.body.appendChild(e),e.click(),document.body.removeChild(e),a="Check your Downloads folder for "+d+"."):(window.open(b),a="Check your browser for a new window/tab containing the requested data"+(d?" ("+d+")":"")+".");return a}
function Ka(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}function La(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,f=!1;a.onmousedown=function(){f||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}var Ma={init:[],show:[],exit:[]},Na=!1,Pa=!1,Qa=!0;
function Ra(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Sa(a){Ma.init.push(a)}function Ta(a){if(Qa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){w(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Ua(a){!Qa&&a?(Qa=!0,Na&&Va("init"),Pa&&Va("show")):Qa=a}function Va(a){Ma[a]&&Ta(Ma[a])}Ra("onload",function(){Na=!0;Ta(Ma.init)});Ra("onpageshow",function(){Pa=!0;Ta(Ma.show)});
Ra(Ia("Opera")||Ia("iOS")?"onunload":"onbeforeunload",function(){Ta(Ma.exit)});function Wa(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.wk=b.comment;this.jk=b;b=this.id.indexOf(".");0>b?this.zd=this.id:(this.fe=this.id.substr(0,b),this.zd=this.id.substr(b+1));this[a]=c;this.la={bf:!1,bd:!1,dh:!1,cc:!1,ud:!1};this.ug=null;this.la.ud=!1;this.qa={};this.ha=null;this.wc=d||0;Ya.push(this)}var Za=void 0,$a={};
if(window){Za||(Za=window.location.search.substr(1));for(var ab,cb=/\+/g,db=/([^&=]+)=?([^&]*)/g;ab=db.exec(Za);)$a[decodeURIComponent(ab[1].replace(cb," "))]=decodeURIComponent(ab[2].replace(cb," "))}function eb(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
function fb(a,b){b||(b=Wa);a.prototype=eb(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var gb=window.PCjs.Machines||(window.PCjs.Machines={}),Ya=window.PCjs.Components||(window.PCjs.Components=[])}else gb={},Ya=[];function hb(a,b,c){gb[a]&&b&&(gb[a][b]=c)}function ib(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Ya.length;b++){var d=Ya[b];a&&d.id.indexOf(a)||c.push(d)}return c}
function jb(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<Ya.length;c++)if(Ya[c].id===a)return Ya[c]}return null}function kb(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<Ya.length;d++)if(c)c==Ya[d]&&(c=null);else if(!(a!=Ya[d].type||b&&Ya[d].id.indexOf(b)))return Ya[d]}return null}function mb(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){w(c.message+" ("+a+")")}return b}
function nb(a,b,c){var d;b&&(void 0===d&&(d="Panel"),(d=kb(d,a.id))&&(b=d.qa[b])&&a.Pb(null,c,b))}function ob(a,b){for(var c=pb(b.parentNode,"pcx86-control"),d=0;d<c.length;d++)for(var e=c[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var h=g.getAttribute("class");if(h)for(var k=h.split(" "),l=0;l<k.length;l++)switch(h=k[l],h){case "pcx86-binding":(h=mb(g))&&h.binding&&a.Pb(h.type,h.binding,g,h.value),l=k.length}}}}
function pb(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
Wa.prototype={constructor:Wa,parent:null,toString:function(){return this.name?this.name:this.id||this.type},Pb:function(a,b,c){switch(b){case "clear":return this.qa[b]||(this.qa[b]=c,c.onclick=function(a){return function(){a.qa.print&&(a.qa.print.value="")}}(this)),!0;case "print":return this.qa[b]||(this.Ef=this.qa[b]=c,c.value="",this.O=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
this.Na=function(a){this.O(a,this.zd)}),!0;default:return!1}},log:function(){},O:function(){},status:function(a){this.O(this.zd+": "+a)},Na:function(a,b,c){c=c||this.type;b||w((c?c+": ":"")+a)},ic:function(){return this.la.cc=!0},hc:function(a,b){b&&(this.la.cc=!1);return!0}};function x(a,b,c,d,e,f,g){a.ha&&(!0===g?g=0:null==g&&(g=a.wc),qb(a.ha,a,b,c,d,e,f,g))}function y(a,b,c,d){a.ha&&(!0===c||A(a,c|0))&&a.ha.message(b,d)}
function A(a,b){if(a.ha){a===a.ha?b|=0:b=b||a.wc;var c=a.ha.wc&b;return!!b&&c===b||!!(c&a.ha.Jk)}return!1}function rb(a,b){if(a.la.dh)return a.la.bd&&(a.la.bd=!1),a.la.dh=!1;if(a.la.ud)return a.O(a.toString()+" error"),!1;a.la.bd=b;return a.la.bd}function sb(a,b){a.la.bd&&(b?a.la.dh=!0:void 0===b&&a.O(a.toString()+" busy"));return a.la.bd}function ub(a,b){if(!a.la.ud&&(a.la.bf=!1!==b,a.la.bf)){var c=a.ug;a.ug=null;c&&c()}}function vb(a,b){b&&(a.la.bf?b():a.ug=b);return a.la.bf}
function wb(a,b){a.la.ud=!0;a.Na(b)}
var xb="undefined"!==typeof ArrayBuffer,yb={Gg:4,Jc:5,Ld:6,ed:7,fd:8,ib:9,ec:11,fc:12,He:4,cj:60,dj:83,yc:3,Vb:9,Nc:16,Fg:1,hj:19,jj:28,lj:16,kj:21,ij:37,fj:2,Bh:9,gj:5,ej:33,Dh:10,Ch:8,Rf:3,Qf:15,zj:51,Aj:1,Bj:2,Cj:4,yj:32,Eh:15,Ej:15,ab:16,bb:4,Gj:11,Fj:18,Dj:24,gc:4,Hj:2,pf:16,Ij:17,Jh:18,Jj:19,Ih:5,Kh:6,Oj:2,Nj:8,Lj:9,Mj:10,Kj:10,Lh:10,Mh:10,nj:80,pj:144,mj:86,oj:154,rj:101,tj:165,qj:107,sj:171,Qj:70,Sj:113,Pj:76,Rj:124,vj:80,xj:128,uj:86,wj:134,Tf:3,Sf:16,Rh:10,Qh:8,Tj:51,zc:8,Uj:17,Vj:36,Sc:11,
Wj:16,Ie:10,od:2,yh:18,zh:7,Ah:15,Fh:12,Gh:7,Hh:11,Nh:18,Oh:7,Ph:15,Sh:15,Th:7,Uh:13,Yh:11,Zh:7,$h:8,Xj:8,$j:12,Yj:18,Zj:17,ak:15,Wh:8,Vh:20,Xh:2,ci:3,Uf:9,bi:5,ai:11,ei:4,di:17,bk:11},zb={Gg:0,Jc:0,Ld:0,ed:0,fd:0,ib:0,ec:1,fc:1,He:3,cj:14,dj:16,yc:2,Vb:7,Nc:7,Fg:0,hj:7,jj:13,lj:7,kj:11,ij:16,fj:3,Bh:6,gj:2,ej:13,Dh:5,Ch:5,Rf:2,Qf:7,zj:23,Aj:0,Bj:1,Cj:3,yj:17,Eh:7,Ej:11,ab:7,bb:3,Gj:7,Fj:11,Dj:15,gc:2,Hj:3,pf:7,Ij:8,Jh:8,Jj:8,Ih:4,Kh:4,Oj:2,Nj:3,Lj:5,Mj:2,Kj:3,Lh:5,Mh:3,nj:14,pj:22,mj:17,oj:25,rj:17,
tj:25,qj:20,sj:28,Qj:13,Sj:21,Pj:16,Rj:24,vj:13,xj:21,uj:16,wj:24,Tf:2,Sf:7,Rh:5,Qh:5,Tj:19,zc:5,Uj:5,Vj:17,Sc:3,Wj:5,Ie:3,od:0,yh:8,zh:5,Ah:9,Fh:5,Gh:5,Hh:4,Nh:5,Oh:5,Ph:4,Sh:7,Th:5,Uh:8,Yh:3,Zh:4,$h:3,Xj:11,$j:11,Yj:15,Zj:15,ak:7,Wh:5,Vh:8,Xh:0,ci:2,Uf:6,bi:3,ai:6,ei:3,di:5,bk:5},Ab={19:{0:"disk reset",1:"get status",2:"read drive @DL (@CH:@DH:@CL,@AL) into @ES:@BX",3:"write drive @DL (@CH:@DH:@CL,@AL) from @ES:@BX",4:"verify drive @DL (@CH:@DH:@CL,@AL)",5:"format drive @DL using @ES:@BX",8:"read drive @DL parameters",
21:"get drive @DL DASD type",22:"get drive @DL change line status",23:"set drive @DL DASD type",24:"set drive @DL media type"},21:{128:"open device",129:"close device",130:"program termination",131:"wait @CX:@DXus for event",132:"joystick support",133:"SYSREQ pressed",134:"wait @CX:@DXus",135:"move block (@CX words)",136:"get extended memory size",137:"processor to virtual mode",144:"device busy loop",145:"interrupt complete flag set"},33:{0:"terminate program",1:"read character (AL) from stdin with echo",
2:"write character #@DL to stdout",3:"read character (AL) from stdaux",4:"write character #@DL to stdaux",5:"write character #@DL to stdprn",6:"direct console output (input if @DL=FF)",7:"direct console input without echo",8:"read character (AL) from stdin without echo",9:"write string $@DS:@DX to stdout",10:"buffered input (DS:DX)",11:"get stdin status",12:"flush buffer and read stdin",13:"disk reset",14:"select default drive @DL",15:"open file using FCB ^@DS:@DX",16:"close file using FCB ^@DS:@DX",
17:"find first matching file using FCB ^@DS:@DX",18:"find next matching file using FCB ^@DS:@DX",19:"delete file using FCB ^@DS:@DX",20:"sequential read from file using FCB ^@DS:@DX",21:"sequential write to file using FCB ^@DS:@DX",22:"create or truncate file using FCB ^@DS:@DX",23:"rename file using FCB ^@DS:@DX",25:"get current default drive (AL)",26:"set disk transfer area (DTA=@DS:@DX)",27:"get allocation information for default drive",28:"get allocation information for specific drive @DL",31:"get drive parameter block for default drive",
33:"read random record from file using FCB ^@DS:@DX",34:"write random record to file using FCB ^@DS:@DX",35:"get file size using FCB ^@DS:@DX",36:"set random record number for FCB ^@DS:@DX",37:"set address @DS:@DX of interrupt vector @AL",38:"create new PSP at segment @DX",39:"random block read from file using FCB ^@DS:@DX",40:"random block write to file using FCB ^@DS:@DX",41:"parse filename $@DS:@SI into FCB @ES:@DI using @AL",42:"get system date (year=CX, mon=DH, day=DL)",43:"set system date (year=@CX, mon=@DH, day=@DL)",
44:"get system time (hour=CH, min=CL, sec=DH, 100ths=DL)",45:"set system time (hour=@CH, min=@CL, sec=@DH, 100ths=@DL)",46:"set verify flag @AL",47:"get disk transfer area (DTA=ES:BX)",48:"get DOS version (AL=major, AH=minor)",49:"terminate and stay resident",50:"get drive parameter block (DPB=DS:BX) for drive @DL",51:"extended break check",52:"get address (ES:BX) of InDOS flag",53:"get address (ES:BX) of interrupt vector @AL",54:"get free disk space of drive @DL",55:"get(0)/set(1) switch character @DL (@AL)",
56:"get country-specific information",57:"create subdirectory $@DS:@DX",58:"remove subdirectory $@DS:@DX",59:"set current directory $@DS:@DX",60:"create or truncate file $@DS:@DX with attributes @CX",61:"open file $@DS:@DX with mode @AL",62:"close file @BX",63:"read @CX bytes from file @BX into buffer @DS:@DX",64:"write @CX bytes to file @BX from buffer @DS:@DX",65:"delete file $@DS:@DX",66:"set position @CX:@DX of file @BX relative to @AL",67:"get(0)/set(1) attributes @CX of file $@DS:@DX (@AL)",
68:"get device information (IOCTL)",69:"duplicate file handle @BX",70:"force file handle @CX to duplicate file handle @BX",71:"get current directory (DS:SI) for drive @DL",72:"allocate memory segment with @BX paragraphs",73:"free memory segment @ES",74:"resize memory segment @ES to @BX paragraphs",75:"load program $@DS:@DX using parameter block @ES:@BX",76:"terminate with return code @AL",77:"get return code (AL)",78:"find first matching file $@DS:@DX with attributes @CX",79:"find next matching file",
80:"set current PSP @BX",81:"get current PSP (bx)",82:"get system variables (ES:BX)",83:"translate BPB @DS:@SI to DPB (ES:BP)",84:"get verify flag (AL)",85:"create child PSP at segment @DX",86:"rename file $@DS:@DX to $@ES:@DI",87:"get(0)/set(1) file @BX date @DX and time @CX (@AL)",88:"get(0)/set(1) memory allocation strategy (@AL)",89:"get extended error information",90:"create temporary file $@DS:@DX with attributes @CX",91:"create file $@DS:@DX with attributes @CX",92:"lock(0)/unlock(1) file @BX region @CX:@DX length @SI:@DI (@AL)",
93:"critical error information (@AL)",96:"get fully-qualified filename from $@DS:@SI",99:"get lead byte table (@AL)",108:"extended open file $@DS:@SI"},65:{79:"check debugger loaded"}},Bb={cpu:1,seg:2,desc:4,tss:8,"int":16,fault:32,bus:64,mem:128,port:256,dma:512,pic:1024,timer:2048,cmos:4096,rtc:8192,8042:16384,chipset:32768,keyboard:65536,key:131072,video:262144,fdc:524288,hdc:1048576,disk:2097152,parallel:4194304,serial:8388608,mouse:16777216,speaker:33554432,computer:67108864,dos:134217728,data:268435456,
log:536870912,warn:1073741824,halt:-2147483648};function Cb(a){Wa.call(this,"Panel",a,Cb);this.L=this.V=this.ea=-1}fb(Cb);function Db(a,b,c,d){this.A=[a,b,c,d];this.B=null;void 0===a&&(this.A[0]=256*Math.random()|0,this.A[1]=256*Math.random()|0,this.A[2]=256*Math.random()|0,this.A[3]=255,this.B=null)}Db.prototype.toString=function(){this.B||(this.B="#"+r(this.A[0],2)+r(this.A[1],2)+r(this.A[2],2));return this.B};function Fb(a,b,c,d){this.x=a;this.y=b;this.ad=c;this.A=d}
Fb.prototype.contains=function(a,b){return a>=this.x&&a<this.x+this.ad&&b>=this.y&&b<this.y+this.A};function Gb(a,b,c,d){void 0===d&&(d=b>=c>>2);d?(b=new Fb(a.x,a.y,a.ad,a.A*b/c|0),a.y+=b.A,a.A-=b.A):(b=new Fb(a.x,a.y,a.ad*b/c|0,a.A),a.x+=b.ad,a.ad-=b.ad);return b}m=Cb.prototype;m.Pb=function(a,b,c,d){return this.X&&this.X.Pb(a,b,c,d)||this.F&&this.F.Pb(a,b,c,d)||this.B&&this.B.Pb(a,b,c,d)||this.ha&&this.ha.Pb(a,b,c,d)?!0:this.parent.Pb.call(this,a,b,c,d)};
m.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;this.B=Hb(a,"Keyboard")};m.ic=function(a,b){b||Ib();return!0};m.hc=function(){return!0};m.ke=function(a,b){a.button||(this.ea=b?0:-1,Jb(this,a,b))};m.If=function(a){Jb(this,a)};
function Jb(a,b,c){var d=1280/null.offsetWidth,e=720/null.offsetHeight,f=null.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.ea||(a.ea=Math.abs(a.L-d)>Math.abs(a.V-b)?1:2),1==a.ea?b=a.V:2==a.ea&&(d=a.L));a.L=d;a.V=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.A&&a.A.Qe)for(f=0;f<a.A.Qe.length;f++)if(e=a.A.Qe[f],e.contains(c,b)){c-=e.x;b-=e.y;var d=a.A.Bf[f],g=ua(Kb.ck,a.A.Tg[d.Tk]),f=g*a.ga.Sb,d=(g+d.Vd)*a.ga.Sb-1;0<b&&(f+=e.ad*(b-1)*a.ya);f+=c*a.ya;f|=0;
f>d&&(f=d);c=f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.Ca)){b=c;if(a.context&&a.ia&&a.ka){e=a.ia.width;a.ka.fillStyle="black";a.ka.fillRect(0,360,e,360);Lb(a,378,a.ia,a.ka);a.pa=a.Da.width/24|0;if(null==b)Mb(a,"Mouse over memory to dump");else for(Mb(a,"0x"+r(b),null,0,1),f=1;16>=f;f++){d="";for(g=1;8>=g;g++){var h;h=a.ga;var k=b++;h=h.sa[(k&h.Hb)>>>h.La].te(k&h.A,k);Mb(a,r(h,2),null,1);d+=32<=h&&128>h?String.fromCharCode(h):"."}Mb(a,d,null,0,1)}a.context.drawImage(a.ia,0,360,e,360,a.rb,a.Db,a.Pa,a.cb)}a.Ca=
c}}}m.qd=function(){};function Nb(a,b,c,d){a.A.Bf[a.A.Ci++]={Tk:b,Vd:c,type:d};return ta(Kb,b,c,0,d)}function Lb(a,b,c,d){var e,f=null.style.color,g=a.Oa=10;a.C=g;a.U=b;a.W=a.wa=18;e||(e=a.ua||a.wa+"px Monaco, Lucida Console, Courier New");a.fa=a.ua=e;c&&(a.Da=c);d&&(a.N=d,a.Fa=f||"white")}
function Mb(a,b,c,d,e){a.N.font=a.fa;a.N.fillStyle=a.Fa;a.N.fillText(b,a.C,a.U);a.C+=a.pa;null!=c&&(16!=a.Tb?b=c.toString():(b=8>a.Ka?"0x":"",b+=r(c,a.Ka)),a.N.fillText(b,a.C,a.U),a.C+=a.pa);d&&(a.C+=a.pa*d);e&&(a.C=a.Oa,a.U+=(a.W+2)*(e||1))}function Ib(){for(var a=!1,b=pb(document,"pcx86","panel"),c=0;c<b.length;c++){var d=b[c],e=mb(d),f=jb(e.id);f||(a=!0,f=new Cb(e));ob(f,d);a&&ub(f)}}Sa(Ib);
function Ob(a,b,c){Wa.call(this,"Bus",a,Ob);this.F=b;this.ha=c;this.N=a.busWidth||20;this.W=Math.pow(2,this.N);this.zg=this.Hb=this.W-1|0;this.La=32==this.N||20>=this.N?12:24>=this.N?14:15;this.Sb=1<<this.La;this.fa=this.Sb>>2;this.A=this.Sb-1;this.U=this.W/this.Sb|0;this.ga=this.U-1;this.B=[];this.C=[];this.L=this.V=!1;this.aa=[];this.ea=[];a=new B;Pb(a,this.ha);this.sa=Array(this.U);for(b=0;b<this.U;b++)this.sa[b]=a;a=this.F;b=this.sa;c=this.La;a.ld=a.sa=b;a.La=c;a.Sb=1<<a.La;a.Fa=a.Sb-1;a.Hd=b.length;
a.jd=a.Hd-1;a=this.F;a.Hb=a.Db=this.Hb;ub(this)}fb(Ob);var Kb,Qb={ck:20,count:8,ro:1,type:3},Rb=0,Sb;for(Sb in Qb){var Tb=Qb[Sb];Qb[Sb]={oh:(1<<Tb)-1<<Rb,shift:Rb};Rb+=Tb}Kb=Qb;m=Ob.prototype;m.reset=function(){Ub(this,!0)};m.ic=function(a,b){b||this.reset();return!0};
function Vb(a,b,c,d,e){for(var f=b,g=c,h=f>>>a.La;0<g&&h<a.sa.length;){var k=a.sa[h],l=h*a.Sb,n=a.Sb-(f-l);n>g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==e){if(f+g<=k.Ea)return k.Oe+=k.Ea-f,k.Ea=f,!0;if(f>=k.Ea+k.Oe){n=k.size-(f-l);n>g&&(n=g);k.Oe=f-k.Ea+n;f=l+a.Sb;g-=n;h++;continue}}return Xb(a,1,f,g)}f=new B(f,n,a.Sb,d,e);Pb(f,a.ha,k);a.sa[h++]=f;f=l+a.Sb;g-=n}return 0>=g?(Yb(a.F),a.F.la.Fb||a.status(Math.floor(c/1024)+"Kb "+Zb[d]+" at "+r(b)),!0):Xb(a,2,b,c)}
function Ub(a,b){if(32==a.N)b?a.X&&($b(a,1048576,1048576,a.X),a.X=null):a.X||(a.X=ac(a,1048576,1048576),$b(a,1048576,1048576,ac(a,0,1048576)));else if(20<a.N){var c=a.Hb&-1048577|(b?1048576:0);if(c!=a.Hb&&(a.Hb=c,a.F)){var d=a.F;d.Hb=d.Db=c}}}m.Qg=function(a,b,c,d){if(!(a&this.A||!b||b&this.A)){for(var e=a>>>this.La;0<b;){var f=this.sa[e];if(!f.controller)return Xb(this,3,a,b,d);bc(f,c,!0);b-=this.Sb;e++}return!0}return Xb(this,4,a,b)};
function cc(a,b,c){if(!(b&a.A||!c||c&a.A)){for(var d=b>>>a.La;0<c;){var e=a.sa[d];b=new B(b);Pb(b,a.ha,e);a.sa[d++]=b;b=d*a.Sb;c-=a.Sb}Yb(a.F);return!0}return Xb(a,5,b,c)}function ac(a,b,c){var d=[];for(b>>>=a.La;0<c&&b<a.sa.length;)d.push(a.sa[b++]),c-=a.Sb;return d}
function $b(a,b,c,d,e){for(var f=0,g=b>>>a.La;0<c&&g<a.sa.length;){var h=d[f++];if(!h)break;if(void 0!==e){var k=new B(b),l=k,n=e,q=a.ha;l.id=h.id|1;l.Oe=h.Oe;l.size=h.size;n&&(l.type=n,l.N=n==dc);xb?(l.X=h.X,l.qa=h.qa,l.Ya=h.Ya,l.ge=h.ge,l.da=h.da,bc(l,ec?fc:gc)):(l.da=h.da,bc(l,hc));Pb(l,q,h);h=k}a.sa[g++]=h;c-=a.Sb}}m.Qa=function(a){return this.sa[(a&this.Hb)>>>this.La].pc(a&this.A,a)};
m.na=function(a){var b=a&this.A,c=(a&this.Hb)>>>this.La;return b!=this.A?this.sa[c].sf(b,a):this.sa[c++].pc(b,a)|this.sa[c&this.ga].pc(0,a+1)<<8};function ic(a,b){var c=b&a.A,d=(b&a.Hb)>>>a.La;return c!=a.A?a.sa[d].dg(c,b):a.sa[d++].te(c,b)|a.sa[d&a.ga].te(0,b+1)<<8}m.oa=function(a){var b=a&this.A,c=(a&this.Hb)>>>this.La;if(b<this.A-2)return this.sa[c].Od(b,a);for(var d=0,e=4,f=0,g=4-(b&3);e--;)d|=this.sa[c].pc(b++,a++)<<f,--g||(c=c+1&this.ga,b=0),f+=8;return d};
m.qc=function(a,b){this.sa[(a&this.Hb)>>>this.La].sc(a&this.A,b&255,a)};m.jb=function(a,b){var c=a&this.A,d=(a&this.Hb)>>>this.La;c!=this.A?this.sa[d].zf(c,b&65535,a):(this.sa[d++].sc(c,b&255,a),this.sa[d&this.ga].sc(0,b>>8&255,a+1))};function jc(a,b,c){var d=b&a.A,e=(b&a.Hb)>>>a.La;d!=a.A?a.sa[e].ri(d,c&65535,b):(a.sa[e++].xf(d,c&255,b),a.sa[e&a.ga].xf(0,c>>8&255,b+1))}
m.nb=function(a,b){var c=a&this.A,d=(a&this.Hb)>>>this.La;if(c<this.A-2)this.sa[d].yf(c,b);else for(var e=4,f=4-(c&3);e--;)this.sa[d].sc(c++,b&255,a++),--f||(d=d+1&this.ga,c=0),b>>>=8};m.Ui=function(){return null};function kc(a,b){if(void 0===b)return a.L=!a.L,a.L;void 0===a.B[b]&&(a.B[b]=[null,!1]);a.B[b][1]=!a.B[b][1];return a.B[b][1]}
function lc(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(void 0!==h)for(var k=+e+d;k<=g;k++)void 0!==f.B[k]?w("Input port "+u(k)+" already registered"):f.B[k]=[h,!1]}}function mc(a,b,c,d){for(var e=0,f=0;0<c;){var g=a.B[b],h=a.aa[b]||1,k=1==h?255:2==h?65535:-1,l=k;void 0!==g?(g[0]&&(l=g[0](b,d),void 0===l?l=k:l&=k),a.ha&&a.L!=g[1]&&nc(a.ha,b,l)):a.ha&&(qb(a.ha,a,b,null,d),a.L&&nc(a.ha,b,l));e|=l<<f;f+=h<<3;b+=h;c-=h}return e}
function oc(a,b){if(void 0===b)return a.V=!a.V,a.V;void 0===a.C[b]&&(a.C[b]=[null,!1]);a.C[b][1]=!a.C[b][1];return a.C[b][1]}function pc(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(void 0!==h)for(var k=+e+d;k<=g;k++)void 0!==f.C[k]?w("Output port "+u(k)+" already registered"):f.C[k]=[h,!1]}}
function qc(a,b,c,d,e){for(var f=0;0<c;){var g=a.C[b],h=a.ea[b]||1,k=1==h?255:2==h?65535:-1,k=(d>>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,e);a.ha&&a.V!=g[1]&&rc(a.ha,b,k)}else a.ha&&(qb(a.ha,a,b,k,e),a.V&&rc(a.ha,b,k));f+=h<<3;b+=h;c-=h}}function Xb(a,b,c,d,e){b="Memory block error ("+b+": "+r(c)+","+r(d)+")";e?a.ha?a.ha.message(b):a.log(b):w(b);return!1}var sc;if(xb){var xc=new ArrayBuffer(2);(new DataView(xc)).setUint16(0,256,!0);sc=256===(new Uint16Array(xc))[0]}else sc=!1;var ec=sc;
function B(a,b,c,d,e,f){this.id=yc+=2;this.da=null;this.C=0;this.Ea=a;this.Oe=b;this.size=c||0;this.type=d||zc;this.N=d==dc;this.controller=null;this.F=f;Pb(this);this.Wa=this.Pi=!1;if(c)if(e)this.controller=e,a=e.Ti(a),this.da=a[0],this.C=a[1],bc(this,e.ih());else if(xb)this.X=new ArrayBuffer(c),this.qa=new DataView(this.X,0,c),this.Ya=new Uint8Array(this.X,0,c),this.ge=new Uint16Array(this.X,0,c>>1),this.da=new Int32Array(this.X,0,c>>2),bc(this,ec?fc:gc);else{this.da=Array(c>>2);for(e=0;e<this.da.length;e++)this.da[e]=
0;bc(this,hc)}else bc(this)}var zc=0,dc=2,Ac=["black","blue","green","cyan"],Zb="NONE RAM ROM VIDEO H/W UNPAGED PAGED".split(" "),yc=0;function Bc(a){xb&&!ec&&(a=a<<24|a<<8&16711680|a>>8&65280|a>>>24);return a}
B.prototype={constructor:B,parent:null,jh:function(a){this.Ea=a},save:function(){var a,b;if(this.controller)a=null;else if(xb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.qa.getInt32(b<<2,!0);else a=this.da;return a},restore:function(a){if(this.controller)return null==a;if(a&&this.size==a.length<<2){var b;if(xb)for(b=0;b<a.length;b++)this.qa.setInt32(b<<2,a[b],!0);else this.da=a;return this.Wa=!0}return!1},Td:function(a,b,c){b?0===this.Ve++&&(c&&(this.F=c),Ec(this,Dc,!1)):0===this.Ue++&&
(c&&(this.F=c),Cc(this,Dc,!1))},ia:function(){this.ha&&A(this.ha,129)&&this.ha.message("attempt to read invalid block %"+r(this.Ea),!0);return 255},L:function(a,b){this.ha&&A(this.ha,129)&&this.ha.message("attempt to write "+u(b)+" to invalid block %"+r(this.Ea),!0)},ka:function(a,b){return this.pc(a++,b++)|this.pc(a,b)<<8},ea:function(a,b){return this.pc(a++,b++)|this.pc(a++,b++)<<8|this.pc(a++,b++)<<16|this.pc(a,b)<<24},W:function(a,b,c){this.sc(a++,b&255,c++);this.sc(a,b>>8,c)},U:function(a,b,
c){this.sc(a++,b&255,c++);this.sc(a++,b>>8&255,c++);this.sc(a++,b>>16&255,c++);this.sc(a,b>>>24,c)},Fa:function(a){return this.da[a>>2]>>>((a&3)<<3)&255},sb:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b]>>a;return 24>a?c&65535:c&255|(this.da[b+1]&255)<<8},$a:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b];a&&(c=c>>>a|this.da[b+1]<<32-a);return c},tc:function(a,b){var c=a>>2,d=(a&3)<<3;this.da[c]=this.da[c]&~(255<<d)|b<<d;this.Wa=!0},Ed:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.da[c]=this.da[c]&
~(65535<<d)|b<<d:(this.da[c]=this.da[c]&16777215|b<<24,c++,this.da[c]=this.da[c]&-256|b>>8);this.Wa=!0},Wc:function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<<d;this.da[c]=this.da[c]&~e|b<<d;c++;this.da[c]=this.da[c]&e|b>>>32-d}else this.da[c]=b;this.Wa=!0},Da:function(a,b){this.ha&&null!=this.Ea&&Fc(this.ha,this.Ea+a)||this.F&&Gc(this.F,b,1,!1);return this.te(a,b)},rb:function(a,b){this.ha&&null!=this.Ea&&Fc(this.ha,this.Ea+a,2)||this.F&&Gc(this.F,b,2,!1);return this.dg(a,b)},Pa:function(a,b){this.ha&&
null!=this.Ea&&Fc(this.ha,this.Ea+a,4)||this.F&&Gc(this.F,b,4,!1);return this.ki(a,b)},bc:function(a,b,c){this.ha&&null!=this.Ea&&Hc(this.ha,this.Ea+a)||this.F&&Gc(this.F,c,1,!0);this.N?this.L(a,b,c):this.xf(a,b,c)},td:function(a,b,c){this.ha&&null!=this.Ea&&Hc(this.ha,this.Ea+a,2)||this.F&&Gc(this.F,c,2,!0);this.N?this.L(a,b,c):this.ri(a,b,c)},Vc:function(a,b,c){this.ha&&null!=this.Ea&&Hc(this.ha,this.Ea+a,4)||this.F&&Gc(this.F,c,4,!0);this.N?this.L(a,b,c):this.ua(a,b,c)},Ja:function(a,b){this.yb.da[this.A]|=
this.ga;this.zb.da[this.B]|=this.ga;return this.Dd.pc(a,b)},Jb:function(a,b){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.ga;return this.Dd.sf(a,b)},fb:function(a,b){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.ga;return this.Dd.Od(a,b)},Cc:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.V;this.Dd.sc(a,b,c)},Id:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.V;this.Dd.zf(a,b,c)},jd:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=
this.V;this.Dd.yf(a,b,c)},Ka:function(a,b){return Ic(this.F,b,!1).pc(a,b)},zd:function(a,b){return Ic(this.F,b,!1).sf(a,b)},gb:function(a,b){return Ic(this.F,b,!1).Od(a,b)},Uc:function(a,b,c){Ic(this.F,c,!0).sc(a,b,c)},Jd:function(a,b,c){Ic(this.F,c,!0).zf(a,b,c)},kd:function(a,b,c){Ic(this.F,c,!0).yf(a,b,c)},Ca:function(a){return this.Ya[a]},aa:function(a){return this.Ya[a]},Ga:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.pc=this.aa;return this.Ya[a]},Tb:function(a){return this.qa.getUint16(a,
!0)},pa:function(a){return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.ge[a>>1]},Db:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.sf=this.pa;return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.ge[a>>1]},Oa:function(a){return this.qa.getInt32(a,!0)},fa:function(a){return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>>2]},cb:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.Od=this.fa;return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>>
2]},Ub:function(a,b){this.Ya[a]=b;this.Wa=!0},ra:function(a,b){this.Ya[a]=b;this.Wa=!0},uc:function(a,b){this.Ya[a]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.sc=this.ra;this.Dd.Wa=!0},rd:function(a,b){this.qa.setUint16(a,b,!0);this.Wa=!0},ya:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.ge[a>>1]=b;this.Wa=!0},Hd:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.ge[a>>1]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.zf=this.ya;this.Dd.Wa=!0},fe:function(a,b){this.qa.setInt32(a,
b,!0);this.Wa=!0},wa:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.Wa=!0},Xc:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.yf=this.wa;this.Dd.Wa=!0}};function Pb(a,b,c){a.ha=b;a.Ue=a.Ve=0;c&&(c.F&&(a.F=c.F),(a.Ue=c.Ue)&&Cc(a,Dc,!1),(a.Ve=c.Ve)&&Ec(a,Dc,!1))}
function Jc(a,b){b?0===--a.Ve&&(a.sc=a.N?a.L:a.xf,a.zf=a.N?a.W:a.ri,a.yf=a.N?a.U:a.ua):0===--a.Ue&&(a.pc=a.te,a.sf=a.dg,a.Od=a.ki)}function Ec(a,b,c){c&&a.Ve||(a.sc=!a.N&&b[3]||a.L,a.zf=!a.N&&b[4]||a.W,a.yf=!a.N&&b[5]||a.U);if(c||void 0===c)a.xf=b[3]||a.L,a.ri=b[4]||a.W,a.ua=b[5]||a.U}function Cc(a,b,c){c&&a.Ue||(a.pc=b[0]||a.ia,a.sf=b[1]||a.ka,a.Od=b[2]||a.ea);if(c||void 0===c)a.te=b[0]||a.ia,a.dg=b[1]||a.ka,a.ki=b[2]||a.ea}
function bc(a,b,c){b||(b=5==a.type?Kc:6==a.type?Lc:Mc);Cc(a,b,c);Ec(a,b,c)}var Mc=[],hc=[B.prototype.Fa,B.prototype.sb,B.prototype.$a,B.prototype.tc,B.prototype.Ed,B.prototype.Wc],Dc=[B.prototype.Da,B.prototype.rb,B.prototype.Pa,B.prototype.bc,B.prototype.td,B.prototype.Vc],Lc=[B.prototype.Ja,B.prototype.Jb,B.prototype.fb,B.prototype.Cc,B.prototype.Id,B.prototype.jd],Kc=[B.prototype.Ka,B.prototype.zd,B.prototype.gb,B.prototype.Uc,B.prototype.Jd,B.prototype.kd];
if(xb)var gc=[B.prototype.Ca,B.prototype.Tb,B.prototype.Oa,B.prototype.Ub,B.prototype.rd,B.prototype.fe],fc=[B.prototype.aa,B.prototype.pa,B.prototype.fa,B.prototype.ra,B.prototype.ya,B.prototype.wa],Nc=[B.prototype.Ga,B.prototype.Db,B.prototype.cb,B.prototype.uc,B.prototype.Hd,B.prototype.Xc];
function Oc(a,b){Wa.call(this,"CPU",a,Oc,1);var c=a.cycles||b,d=a.multiplier||1;this.Y={};this.Y.Kd=c;this.Y.Zd=d;this.Y.wg=Math.round(this.Y.Kd/1E4)/100;this.Y.Fe=this.Y.wg*this.Y.Zd;this.la.Fb=!1;this.la.gh=!1;this.la.Mi=a.autoStart;this.la.Qi=!1;this.la.Ze=!1;this.Y.Jf=this.Y.lf=0;this.Y.Kf=a.csStart;this.Y.kf=a.csInterval;this.Y.mf=a.csStop;this.si=this.Le.bind(this);ub(this)}fb(Oc);var Pc=["power","reset"];m=Oc.prototype;
m.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.ha=d;for(b=0;b<Pc.length;b++)(c=this.qa[Pc[b]])&&this.X.Pb(null,Pc[b],c);this.Tb=Hb(a,"FPU");this.N=Hb(a,"ChipSet");a=Qc(a,"autoStart");null!=a&&(this.la.Mi="true"==a?!0:"false"==a?!1:!!a);ub(this)};m.reset=function(){};m.save=function(){return null};m.restore=function(){return!1};
m.ic=function(a,b){if(!b){if(a&&this.restore){Rc(this);if(!this.restore(a))return!1;Tc(this)}else this.reset();this.ha?this.ha.jh():this.O("No debugger detected")}Wc(this);return!0};m.hc=function(a){return a?this.save():!0};function Xc(a){(a.la.Mi||!a.ha&&void 0===a.qa.run)&&a.Le(!0)}m.Si=function(){return 0};function Tc(a){void 0===a.Y.Kf&&(a.Y.Kf=0);void 0===a.Y.kf&&(a.Y.kf=-1);void 0===a.Y.mf&&(a.Y.mf=-1);a.la.Ze=0<=a.Y.Kf&&0<a.Y.kf;a.la.Ze&&(a.Y.Jf=0,a.Y.lf=a.Y.Kf-a.uc)}
function Yc(a,b){if(a.la.Ze){var c=!1;a.Y.Jf=a.Y.Jf+a.Si()|0;a.Y.lf-=b;0>=a.Y.lf&&(a.Y.lf+=a.Y.kf,c=!0);0<=a.Y.mf&&a.Y.mf<=Zc(a)&&(a.Y.kf=a.Y.mf=-1,Tc(a),a.Wb(),c=!0);c&&a.O(Zc(a)+" cycles: checksum="+r(a.Y.Jf))}}
m.Pb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.qa[b]=c;a=!0;break;case "run":this.qa[b]=c;c.onclick=function(){var a;if(a=d.X)if(a=d.X,a.la.cc)a=!0;else{var b=null,c,h=ib(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.la.bf);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.la.cc);c++);c==h.length&&(b=a);w("The "+b.type+" component ("+b.id+") is not "+(b.la.bf?"powered yet":"ready yet"+(b.ug?" (waiting for notification)":""))+".");a=!1}a&&(d.la.Fb?d.Wb(!0):d.Le(!0))};
a=!0;break;case "speed":this.qa[b]=c;a=!0;break;case "setSpeed":this.qa[b]=c,c.onclick=function(){$c(d,d.Y.Zd<<1,!0)},c.textContent=this.Y.Fe.toFixed(2)+"Mhz",a=!0}return a};function ad(a,b){if(a.la.Fb){var c=a.A-b;a.A-=c;a.fb-=c}}function bd(a,b,c){a.uc+=b;c&&(a.fb=a.A=0)}
function cd(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.Y.Zd&&a.Y.qe&&(d=a.Y.qe/a.Y.wg);a.Y.$i=Math.round(1E3/30);a.Y.nm=Math.floor(a.Y.Kd/c*d);a.Y.th=Math.floor(a.Y.Kd/30*d);a.Y.bj=Math.floor(a.Y.Kd/60*d);a.Y.aj=Math.floor(a.Y.Kd/2*d);b||(a.Y.nf=a.Y.th,a.Y.Mf=a.Y.bj,a.Y.Lf=a.Y.aj);a.Y.uh=0}function Zc(a,b){var c=a.uc+a.Ub+a.fb-a.A;b&&1<a.Y.Zd&&a.Y.qe>a.Y.wg&&(c=Math.round(c/a.Y.Zd));return c}function Rc(a){a.Y.qe=0;a.uc=a.Ub=a.fb=a.A=0;Tc(a);$c(a,1)}
function $c(a,b,c){var d=!1;if(void 0!==b){.8>a.Y.qe/a.Y.Fe?b=1:d=!0;a.Y.Zd=b;b=a.Y.wg*a.Y.Zd;if(a.Y.Fe!=b){a.Y.Fe=b;b=a.Y.Fe.toFixed(2)+"Mhz";var e=a.qa.setSpeed;e&&(e.textContent=b);a.O("target speed: "+b)}c&&a.X&&a.X.yd()}bd(a,a.Ub);a.Ub=0;a.Y.jf=qa();a.Y.Ge=0;cd(a);return d}
m.Le=function(a){if(rb(this,!0)){if(!this.la.Fb){$c(this);this.X&&this.X.start(this.Y.jf,Zc(this));this.la.Fb=!0;this.la.gh=!0;this.N&&this.N.start();var b=this.qa.run;b&&(b.textContent="Halt");this.X&&(this.X.qd(!0),a&&this.X.yd(!0))}this.Y.uh>=this.Y.Kd&&cd(this,!0);this.Y.Nf=0;this.Y.xg=qa();this.Y.Ge&&(a=this.Y.xg-this.Y.Ge,a>this.Y.$i&&(this.Y.jf+=a,this.Y.jf>this.Y.xg&&(this.Y.jf=this.Y.xg)));try{do{var c=this.la.Ze?1:this.Y.nm;if(this.N){dd(this.N);var d=this.N;a=c;var e=d.V[0];if(e.Be){var f=
(Zc(d.F,d.ka)-e.xd)/d.gb|0,g=ed(d,0)-f;6==e.mode&&(g-=f);var h=g*d.gb|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,k=this.N;a=c;if(k.A&&k.A[11]&64){var l=k.ua-Zc(k.F,k.ka);0<l&&a>l&&(a=l)}c=a}try{this.wf(c)}catch(q){if("number"!=typeof q)throw q;}var n=this.fb-this.A;this.Ub+=n;this.Y.Nf+=n;bd(this,0,!0);Yc(this,n);this.Y.Mf-=n;0>=this.Y.Mf&&(this.Y.Mf+=this.Y.bj,this.X&&fd(this.X));this.Y.Lf-=n;0>=this.Y.Lf&&(this.Y.Lf+=this.Y.aj,this.X&&this.X.qd());this.Y.nf-=n;if(0>=this.Y.nf){this.Y.nf+=this.Y.th;
break}}while(this.la.Fb)}catch(q){this.Wb();Wc(this);this.X&&this.X.stop(qa(),Zc(this));rb(this,!1);wb(this,q.stack||q.message);return}c=setTimeout;d=this.si;this.Y.Ge=qa();e=this.Y.$i;this.Y.Nf&&(e=Math.round(e*this.Y.Nf/this.Y.th));e-=this.Y.Ge-this.Y.xg;if(f=this.Y.Ge-this.Y.jf)this.Y.qe=Math.round(this.Ub/(10*f))/100,864E5<=f&&(this.uc=0,this.N&&dd(this.N,!0),$c(this));if(0>e||this.Y.qe<this.Y.Fe)e=0;this.Y.uh+=this.Y.Nf;this.Y.Ge+=e;c(d,e)}else Wc(this),this.X&&this.X.stop(qa(),Zc(this))};
m.wf=function(){return 0};m.Wb=function(a){sb(this,!0);this.fb-=this.A;this.A=0;bd(this,this.Ub);this.Ub=0;if(this.la.Fb){this.la.Fb=!1;this.N&&this.N.stop();var b=this.qa.run;b&&(b.textContent="Run")}this.la.Xd=a};function Wc(a,b){a.X&&(fd(a.X,b),a.X.qd(b))}
function gd(a,b,c,d){this.F=a;this.ha=a.ha;this.id=b;this.kc=c||"";this.Z=0;this.Ta=65535;this.Zb=this.Ta+1;this.Lb=this.Gc=this.ext=this.wb=this.type=this.Aa=0;this.Xb=-1;this.ba=this.Oc=2;this.R=this.Ba=65535;this.X=this.nh;this.ga=this.Fi;this.qa=this.Hi;this.A={Z:-1,Aa:0,Ta:0,wb:0,type:0,ext:0,Xb:-1};1==this.id&&(this.Yf=0,this.C=null,this.df=!1,this.N=Array(32),this.B=[]);hd(this,!0,d)}function id(a,b){a.B.push(b);return[a.B.length,1]}m=gd.prototype;
m.nh=function(a){this.Z=a&65535;return this.Aa=this.Z<<4};m.vg=function(a,b){var c,d,e=this.F;a&=65535;a&4?(c=e.Bc.Aa,d=c+e.Bc.Ta|0):(c=e.Ec,d=e.Bd);if(c){c=c+(a&65528)|0;if(d-c|0)return e.A-=15,jd(this,c,a,b);6>this.id&&C.call(e,b&&3==this.id?10:13,a&65532)}return-1};m.jm=function(a){var b=this.F;a=b.Mc+(a<<2);var c=b.na(a);b.ca&=-769;return this.load(b.na(a+2))+c|0};
m.im=function(a){var b=this.F;a<<=3;var c=b.Mc+a|0;if(7<=(b.Ud-c|0))return this.C=!0,a=jd(this,c,a),-1!==a&&(a+=this.Yf),a;C.call(b,13,a|2);return-1};m.Fi=function(a){return this.Aa+a|0};m.Hi=function(a){return this.Aa+a|0};m.Ei=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.qg()};m.Lk=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.qg()};m.qg=function(){C.call(this.F,13,0);return-1};m.Gi=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.rg()};
m.Mk=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.rg()};m.rg=function(){C.call(this.F,13,0);return-1};function kd(a,b,c,d,e){a.Z=b;a.Aa=d;a.Ta=e;a.Zb=(e>>>0)+1;a.wb=c;a.type=c&7936;a.ext=c>>16&192;a.Xb=(b&4?a.F.Bc.Aa:a.F.Ec)+(b&65528)|0;4>a.id&&hd(a,!0)}function ld(a,b,c){var d=a.F,e=d.na(b+2),f=d.na(b)|(e&255)<<16,d=d.na(b+4);a.Z=c;a.Aa=f;a.Ta=d;a.Zb=(d>>>0)+1;a.wb=e;a.type=e&7936;a.ext=0;a.Xb=b;4>a.id&&hd(a,!0)}
function jd(a,b,c,d){var e=a.F;if(!d&&c===a.A.Z)return a.Z=c,a.Aa=a.A.Aa,a.Ta=a.A.Ta,a.Zb=(a.A.Ta>>>0)+1,a.wb=a.A.wb,a.type=a.A.type,a.ext=a.A.ext,a.Xb=a.A.Xb,a.A.Z=-1,hd(a,!0,!0,!1),a.Aa;a.A.Z=-1;var f=e.na(b+0),g=e.na(b+4),h=g&7936,k=e.na(b+2)|(g&255)<<16,l=e.na(b+6),n=c&65528;if(80386<=e.ja){var q=f,k=k|(l&65280)<<16,f=f|(l&15)<<16;l&128&&(f=f<<12|4095)}switch(a.id){case 1:var p=a.C;a.df=!1;if(p&&1==c&&a.B.length){var z=a.B[a.Yf-1];if(z&&!z())return-1}var F=c&3,v=(g&24576)>>13,z=-1,E,H;n||b>=e.Ec&&
b<e.Bd&&(h=0);if(6144<=h)null!=d?z=0:!1!==p?(h&1024?v<=a.Lb&&(z=0):F<=a.Lb&&v==a.Lb&&(z=0),z||(c=c&-4|a.Lb&3)):F>=a.Lb&&(F>a.Lb&&(z=D(e),md(e,D(e),!0),G(e,z),a.df=!0),z=0);else{if(256==h||2304==h)return nd(a,c,p)?a.Aa:-1;if(1024==h)z=2,H=0,F<a.Lb&&(F=a.Lb);else if(3072==h)z=4,H=0,F<a.Lb&&(F=a.Lb);else if(1536==h)z=2,H=148224;else if(3584==h)z=4,H=148224;else if(1792==h)z=2,H=147712;else if(3840==h)z=4,H=147712;else if(1280==h)return nd(a,k&65535,p)?a.Aa:-1}0<z&&!(g&32768)&&(z=0);if(0<z&&(n=a.Lb,E=
b==e.Mc+c,F<=v&&(!E||0<=e.rb||n<=v))){b=k&65535;h&2048&&(f=q|l<<16);l=h=0;d=b&3;if(d<n){if(-1===a.vg(b,!0))return-1;l=e.Sa.Aa;e.Sa.type&2048?(c=(d<<3)+4,k=4):(c=(d<<2)+2,k=2);h=e.na(l+c+k);if(!h)return C.call(e,10,h),-1;if(-1===e.ta.vg(h,!0))return-1;l=2==k?e.na(l+c):e.oa(l+c)}c=e.ca;e.ca&=~H;c&131072&&od(e,!0,!1);if(-1===a.vg(b,!1))return-1;ud(e,z);a.Yf=f;if(d<n){if(!0!==p)return-1;z=I(e);f=0;for(g&=31;g--;)a.N[f++]=vd(e,e.ta,z),z+=2;p=e.ta.Z;g=I(e);md(e,h,!0);G(e,l);c&131072&&(ud(e,4),wd(e,e.Ob.Z,
4,2),e.Ob.load(0),wd(e,e.Nb.Z,4,2),e.Nb.load(0),wd(e,e.vb.Z,4,2),xd(e,0),wd(e,e.Xa.Z,4,2),yd(e,0));wd(e,p,e.ba,2);for(J(e,g);f;)J(e,a.N[--f]);a.df=!0}return a.Aa}if(0!=z)return C.call(e,13,c&65532|(E?2:0)),-1;if(!(g&32768))return C.call(e,11,c&65532|(E?2:0)),-1;break;case 2:if(n){if(4096>h||2048==(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,11,c&65532),-1}break;case 3:if(!n||4096>h||512!=(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,12,c&65532),-1;
break;case 4:p=h&-513;if(!n||256!=p&&2304!=p)return C.call(e,13,c&65532),-1;2304==p&&(a.vi=k+e.na(k+100+2)|0,a.Hk=k+a.Ta|0);break;case 6:if(!(h&4096)&&768<h&&2304!=h&&2816!=h)return-1}d?(a.A.Z=c,a.A.Aa=k,a.A.Ta=f,a.A.wb=g,a.A.type=h,a.A.ext=l,a.A.Xb=b):(a.Z=c,a.Aa=k,a.Ta=f,a.Zb=(f>>>0)+1,a.wb=g,a.type=h,a.ext=l,a.Xb=b,hd(a,!0,!0,!1));return k}
function nd(a,b,c){var d=a.F,e=a.Lb,f=d.Sa.Z,g=d.Sa.Aa;if(!c){if(!(d.Sa.type&512))return C.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb&=-513)}if(-1===d.Sa.load(b))return!1;var h=d.Sa.Aa;if(!1!==c){if(d.Sa.type&512)return C.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb|=512)}d.Sa.type=d.Sa.type&-513|d.Sa.wb&512;256==d.Sa.type||768==d.Sa.type?(d.jb(g+14,K(d)),d.jb(g+16,zd(d)),d.jb(g+18,d.G),d.jb(g+20,d.I),d.jb(g+22,d.M),d.jb(g+24,d.H),d.jb(g+26,I(d)),d.jb(g+28,d.P),d.jb(g+30,d.K),d.jb(g+32,d.J),d.jb(g+
34,d.Xa.Z),d.jb(g+36,d.va.Z),d.jb(g+38,d.ta.Z),d.jb(g+40,d.vb.Z),d.Bc.load(d.na(h+42)),Ad(d,d.na(h+16)|(c?16384:0)),d.G=d.na(h+18),d.I=d.na(h+20),d.M=d.na(h+22),d.H=d.na(h+24),d.P=d.na(h+28),d.K=d.na(h+30),d.J=d.na(h+32),d.Xa.load(d.na(h+34)),d.vb.load(d.na(h+40)),Bd(d,d.na(h+14),d.na(h+36)),b=38,g=26,a.Lb<e&&(g=(a.Lb<<2)+2,b=g+2),md(d,d.na(h+b),!0),G(d,d.na(h+g))):(d.nb(g+28,d.Qd),d.nb(g+32,K(d)),d.nb(g+36,zd(d)),d.nb(g+40,d.G),d.nb(g+44,d.I),d.nb(g+48,d.M),d.nb(g+52,d.H),d.nb(g+56,I(d)),d.nb(g+
60,d.P),d.nb(g+64,d.K),d.nb(g+68,d.J),d.nb(g+72,d.Xa.Z),d.nb(g+76,d.va.Z),d.nb(g+80,d.ta.Z),d.nb(g+84,d.vb.Z),d.nb(g+88,d.Nb.Z),d.nb(g+92,d.Ob.Z),Cd.call(d,d.oa(h+28)),d.Bc.load(d.na(h+96)),Ad(d,d.oa(h+36)|(c?16384:0)),d.G=d.oa(h+40),d.I=d.oa(h+44),d.M=d.oa(h+48),d.H=d.oa(h+52),d.P=d.oa(h+60),d.K=d.oa(h+64),d.J=d.oa(h+68),d.Xa.load(d.na(h+72)),d.vb.load(d.na(h+84)),d.Nb.load(d.na(h+88)),d.Ob.load(d.na(h+92)),Bd(d,d.oa(h+32),d.na(h+76)),b=80,g=56,a.Lb<e&&(g=(a.Lb<<3)+4,b=g+4),md(d,d.na(h+b),!0),G(d,
d.oa(h+g)));c&&d.jb(h+0,f);d.Za|=8;return!0}m.save=function(){return[this.Z,this.Aa,this.Ta,this.wb,this.id,this.kc,this.Lb,this.Gc,this.Xb,this.Oc,this.Ba,this.ba,this.R,this.type,this.Zb]};m.restore=function(a){"number"==typeof a?this.load(a):(this.Z=a[0],this.Aa=a[1],this.Ta=a[2],this.wb=a[3],this.id=a[4],this.kc=a[5],this.Lb=a[6],this.Gc=a[7],this.Xb=a[8],this.Oc=a[9]||2,this.Ba=a[10]||65535,this.ba=a[11]||2,this.R=a[12]||65535,this.type=a[13]||this.wb&7936,this.Zb=a[14]||(this.Ta>>>0)+1)};
function hd(a,b,c,d){void 0===c&&(c=!!(a.F.Za&1));a.cd=!1;if(c)if(a.load=a.vg,a.Zi=a.im,a.mc=a.Ei,a.nc=a.Gi,void 0===d&&(d=!!(a.F.ca&131072)),d)a.load=a.X,a.mc=a.ga,a.nc=a.qa,a.Lb=a.Gc=3,a.ba=a.Oc=2,a.R=a.Ba=65535,a.Ta=65535,a.Zb=a.Ta+1,a.Oc=a.ba,a.Xb=-1,a.df=!1;else{if(!(a.Z&-4))a.mc=a.qg,a.nc=a.rg;else if(a.type&4096){6144==(a.type&6656)&&(a.mc=a.qg);if(a.type&2048||!(a.type&512))a.nc=a.rg;1024==(a.type&3072)&&(a.mc==a.Ei&&(a.mc=a.Lk),a.nc==a.Gi&&(a.nc=a.Mk),a.cd=!0);b&&6>a.id&&a.Z&-4&&-1!==a.Xb&&
(c=a.Xb+5,d=a.F.Qa(c),d&1||a.F.qc(c,d|1))}b&&(a.Lb=a.Z&3,a.Gc=(a.wb&24576)>>13,80386>a.F.ja||!(a.ext&64)?(a.ba=2,a.R=65535):(a.ba=4,a.R=-1),a.Oc=a.ba,a.Ba=a.R)}else a.load=a.nh,a.Zi=a.jm,a.mc=a.Fi,a.nc=a.Hi,a.Lb=a.Gc=0,a.Xb=-1,a.df=!1}
function Dd(a){this.ja=+a.model||8088;var b=a.stepping;this.Uc=this.ja+(b?ca(b,16):0);b=0;switch(this.ja){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Oc.call(this,a,b);this.Zf=61442;this.Cc=1792;this.Xf=28672;this.Ed=4;this.ra=255;this.B=80286<=this.ja?zb:yb;this.W=Ed;this.cg=Fd;this.ig=Gd;this.jg=Hd;if(80186<=this.ja&&(this.W=Ed.slice(),this.cg=Fd.slice(),this.ig=Gd.slice(),this.ra=31,this.W[15]=Id,this.W[96]=Jd,this.W[97]=Kd,this.W[98]=Ld,this.W[99]=Id,this.W[100]=Id,this.W[101]=
Id,this.W[102]=Id,this.W[103]=Id,this.W[104]=Md,this.W[105]=Nd,this.W[106]=Od,this.W[107]=Pd,this.W[108]=Qd,this.W[109]=Rd,this.W[110]=Sd,this.W[111]=Td,this.W[192]=Ud,this.W[193]=Yd,this.W[200]=Zd,this.W[201]=$d,this.W[241]=ae,this.cg[7]=ge,this.ig[7]=ge,80286<=this.ja)){this.Zf=2;this.Cc|=28672;this.Ed=0;this.W[15]=he;this.tc=ie.slice();for(a=0;a<this.tc.length;a++)this.tc[a]||(this.tc[a]=je);this.W[84]=ke;this.W[99]=le;if(80386<=this.ja){var c;this.Xf=0;this.Cc|=196608;this.W[100]=me;this.W[101]=
ne;this.W[102]=oe;this.W[103]=pe;for(c in M)this.tc[+c]=M[c];80546<=this.Uc&&80562>=this.Uc&&(this.tc[166]=qe,this.tc[167]=re)}}this.Jd=[];this.me=[];this.oe=0;Rc(this);this.la.Xd=this.la.Oi=!1;this.Rg=0;this.ld=this.sa=[];this.La=this.Sb=this.Fa=this.Hd=this.jd=this.Hb=this.Db=0;se(this)}fb(Dd,Oc);function te(a,b,c,d){Jc((d?a.ld:a.sa)[b>>>a.La],c);d&&Yb(a)}
function ue(a){var b;if(a.sa===a.ld){a.sa=Array(a.Hd);a.ne=new B(null,0,0,5,null,a);Pb(a.ne,a.ha);for(b=0;b<a.Hd;b++)a.sa[b]=a.ne;a.kd=new B;a.bg=Array(512);a.pe=0}else for(var c=0;c<a.Id.length;c++){b=a.Id[c];var d=a.sa[b];512>a.pe&&(a.bg[a.pe++]=d);a.sa[b]=a.ne}a.Id=[]}function Yb(a){a.Za&-2147483648&&ue(a)}
function Ic(a,b,c,d){var e=(b&-4194304)>>>20,f=a.ld[(a.Qd+e&a.Hb)>>>a.La],g=f.Od(e);if(!(g&1))return d||ve.call(a,b,!1,c),a.kd;if(!(g&4)&&3==a.pa)return d||ve.call(a,b,!0,c),a.kd;var h=(b&4190208)>>>10,g=a.ld[((g&-4096)+h&a.Hb)>>>a.La],k=g.Od(h);if(!(k&1))return d||ve.call(a,b,!1,c),a.kd;if(!(k&4)&&3==a.pa)return d||ve.call(a,b,!0,c),a.kd;c=a.ld[((k&-4096)+(b&4095)&a.Hb)>>>a.La];if(d)return c;d=b>>>a.La;k=a.sa[d];b=b&-4096;var l;0<a.pe?(l=a.bg[--a.pe],l.jh(b)):l=new B(b,0,0,6);b=l;b.Dd=c;b.yb=f;b.A=
e>>2;b.zb=g;b.B=h>>2;xb&&ec&&c.da&&!c.controller&&!c.Ue&&!c.Ve?(b.Ya=c.Ya,b.ge=c.ge,b.da=c.da,bc(b,Nc)):(b.ga=c?Bc(32):0,b.V=c?Bc(96):0,bc(b,Lc));Pb(b,a.ha,k);a.sa[d]=b;a.Id.push(d);return b}function we(a){a.sa!==a.ld&&(a.sa=a.ld,a.ne=null,a.Id=null,a.kd=null)}m=Dd.prototype;m.reset=function(){this.la.Fb&&this.Wb();se(this);Rc(this);this.la.ud=!1};
function xe(a,b){var c;switch(b){case 0:c=a.G;break;case 1:c=a.I;break;case 2:c=a.M;break;case 3:c=a.H;break;case 4:c=I(a);break;case 5:c=a.P;break;case 6:c=a.K;break;case 7:c=a.J}return c}function ye(a,b,c){switch(b){case 0:a.G=c;break;case 1:a.I=c;break;case 2:a.M=c;break;case 3:a.H=c;break;case 4:G(a,c);break;case 5:a.P=c;break;case 6:a.K=c;break;case 7:a.J=c}}
function se(a){a.G=0;a.H=0;a.I=0;a.M=0;a.gb=0;a.P=0;a.K=0;a.J=0;a.cb=!1;a.ia=a.wa=0;a.aa=0;a.kg=0;a.L=0;a.Za=65520;a.Mc=0;a.Ud=1023;a.ca=a.Pa=0;a.Wc=a.td=a.Vc=a.Xc=0;a.rb=-1;a.bc=a.sb=-1;a.se=a.U=-1;a.va=new gd(a,1,"CS");a.vb=new gd(a,2,"DS");a.Xa=new gd(a,2,"ES");a.ta=new gd(a,3,"SS");G(a,0);md(a,0);if(80386<=a.ja){switch(a.Uc){case 80562:case 80563:a.M=771;break;case 80578:a.M=772;break;case 80594:a.M=773;break;case 80595:case 80596:a.M=776}a.Za=16;a.li=0;a.ue=0;a.Qd=0;a.Ja=[0,0,0,0,null,null,0,
0];a.Ce=[null,null,null,null,null,null,0,0];a.Nb=new gd(a,2,"FS");a.Ob=new gd(a,2,"GS");we(a)}a.rf=new gd(a,0,"NULL");a.ka=a.vb;a.Ka=a.ta;a.S=a.Ia=0;a.D=a.C=-1;a.$b=a.rf;a.ua=0;if(80286>a.ja)Bd(a,0,65535);else{a.Ec=0;a.Bd=65535;a.Bc=new gd(a,5,"LDT",!0);a.Sa=new gd(a,4,"TSS",!0);a.Da=new gd(a,6,"VER",!0);Bd(a,65520,61440);var b,c=K(a);b=a.va;var d=-65536;80386>b.F.ja&&(d&=16777215);b=b.Aa=d;a.Ha=b+c|0;a.hf=(b>>>0)+(a.va.Ta>>>0)+1}Ad(a,0);od(a)}
function ze(a){2==a.Oc?(a.dc=a.na,a.Oa=Ae,a.$a=Be,a.Jb=Ce,2==a.ba?(a.V=De,a.ea=Ee,a.ya=Fe):(a.V=Ge,a.ea=He,a.ya=Ie)):(a.dc=a.oa,a.Oa=Le,a.$a=Me,a.Jb=Ne,2==a.ba?(a.V=Oe,a.ea=Pe,a.ya=Qe):(a.V=Re,a.ea=Se,a.ya=Te))}function ud(a,b){a.ba!=b&&(a.Ia|=1024,a.ba=b,a.R=2==b?65535:-1,df(a))}function df(a){2==a.ba?(a.Ga=32768,a.tb=a.na,a.rc=a.jb,2==a.Oc?(a.V=De,a.ea=Ee,a.ya=Fe):(a.V=Oe,a.ea=Pe,a.ya=Qe)):(a.Ga=-2147483648,a.tb=a.oa,a.rc=a.nb,2==a.Oc?(a.V=Ge,a.ea=He,a.ya=Ie):(a.V=Re,a.ea=Se,a.ya=Te))}
function ef(a){a.Oc=a.va.Oc;a.Ba=a.va.Ba;ze(a);a.ba=a.va.ba;a.R=a.va.R;df(a);a.Ia&=-3073}m.Si=function(){var a=this.G+this.H+this.I+this.M+I(this)+this.P+this.K+this.J|0;return a=a+K(this)+this.va.Z+this.vb.Z+this.ta.Z+this.Xa.Z+zd(this)|0};function ff(a,b,c){void 0===a.Jd[b]&&(a.Jd[b]=[]);a.Jd[b].push(c)}function gf(a,b,c){void 0!==c&&(null==a.me[b]&&a.oe++,a.me[b]=c)}function hf(a,b){var c=a.me[b];null!=c&&(c(--a.oe),delete a.me[b])}
function jf(a,b){for(var c=a.Ja[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Ja[e],g=g&~(d>>2&3);b?a.sa[g>>>a.La].Td(g&a.Fa,f,a):Jc(a.sa[g>>>a.La],f)}c>>=2;d>>=4}}function Gc(a,b,c,d){if(!(a.S&8192)&&a.Ja[7]&255){c--;var e=a.Ja[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var h=f>>2;if(b+c>=a.Ja[g]&&b<=a.Ja[g]+h){a.Ja[6]|=1<<g;a.ua|=2;break}}e>>=2;f>>=4}}}
function od(a,b,c){void 0===b&&(b=!!(a.Za&1));void 0===c&&(c=!!(a.ca&131072));a.jg=b&&!c?kf:Hd;hd(a.va,!1,b,c);hd(a.vb,!1,b,c);hd(a.ta,!1,b,c);hd(a.Xa,!1,b,c);80386<=a.ja&&(hd(a.Nb,!1,b,c),hd(a.Ob,!1,b,c));ef(a)}
m.save=function(){var a=new lf(this);N(a,0,[this.G,this.H,this.I,this.M,I(this),this.P,this.K,this.J]);var b=K(this),c=this.va.save(),d=this.vb.save(),e=this.ta.save(),f=this.Xa.save(),g;null!=this.Ec?(g=[this.Za,this.Ec,this.Bd,this.Mc,this.Ud,this.Bc.save(),this.Sa.save(),this.Pa],80386<=this.ja&&(g.push(this.li),g.push(this.ue),g.push(this.Qd),g.push(this.Ja),g.push(this.Ce))):g=null;b=[b,c,d,e,f,g,zd(this)];80386<=this.ja&&(b.push(this.Nb.save()),b.push(this.Ob.save()));N(a,1,b);N(a,2,[this.ka.kc,
this.Ka.kc,this.S,this.Ia,this.ua,this.D,this.C]);N(a,3,[0,this.uc,this.Y.Zd]);b=this.ga;c=!!(this.Za&-2147483648);d=0;e=[];(f=!b.X&&b.zg==b.Hb)||Ub(b,!0);for(g=0;g<b.U;g++){var h=b.sa[g];if(c&&h.type!=dc||h.Wa||h.Pi){e[d++]=g;var k=d++;a:if(h=h.save()){for(var l=0,n=0,q=[];l<h.length;){for(var p=h[l],z=l+1;z<h.length&&h[z]===p;)z++;q[n++]=z-l;q[n++]=p;l=z}if(q.length<h.length){h=q;break a}}e[k]=h}}f||Ub(b,!1);e[d]=f;N(a,4,e);return a.data()};
m.restore=function(a){var b=a[0];this.G=b[0];this.H=b[1];this.I=b[2];this.M=b[3];var c=b[4];this.P=b[5];this.K=b[6];this.J=b[7];b=a[1];this.va.restore(b[1]);this.vb.restore(b[2]);this.ta.restore(b[3]);this.Xa.restore(b[4]);var d=b[5];d&&d.length&&(this.Za=d[0],this.Ec=d[1],this.Bd=d[2],this.Mc=d[3],this.Ud=d[4],this.Bc.restore(d[5]),this.Sa.restore(d[6]),this.Pa=d[7],80386<=this.ja&&(this.li=d[8],this.ue=d[9],this.Qd=d[10],this.Ja=d[11],this.Ce=d[12]),od(this));Ad(this,b[6]);var d=!1,e;a:{e=this.ga;
var f=a[4],g;for(g=0;g<f.length-1;g+=2){var h=f[g],k=f[g+1];if(k&&k.length<e.fa){for(var l=0,n=Array(e.fa),q=0;q<k.length-1;)for(var p=k[q++],z=k[q++];p--;)n[l++]=z;k=n}l=e.sa[h];if(!l||!l.restore(k)){w("Unable to restore memory block "+h);e=!1;break a}}void 0!==f[g]&&Ub(e,f[g]);e=!0}e&&(Bd(this,b[0],this.va.Z),G(this,c),md(this,this.ta.Z),80386<=this.ja&&(this.Nb.restore(b[7]),this.Ob.restore(b[8])),d=!0);b=a[2];this.ka=null!=b[0]&&mf(this,b[0])||this.vb;this.Ka=null!=b[1]&&mf(this,b[1])||this.ta;
this.S=b[2];this.Ia=b[3];this.ua=b[4];this.D=b[5];this.C=b[6];b=a[3];this.uc=b[1];$c(this,b[2]);return d};function mf(a,b){switch(b){case "CS":return a.va;case "DS":return a.vb;case "SS":return a.ta;case "ES":return a.Xa;case "NULL":return a.rf;default:return[0,b,0,0,""]}}function nf(a,b){null!=Bd(a,K(a),b)&&(a.S|=a.Ed)}function xd(a,b){-1!==a.vb.load(b)&&(a.S|=a.Ed)}
function md(a,b,c){var d=I(a);-1!==a.ta.load(b)&&(G(a,d),a.ta.cd?(a.Ng=a.ta.Aa+a.ta.Ba|0,a.rd=a.ta.Aa+a.ta.Ta|0):(a.Ng=a.ta.Aa+a.ta.Ta|0,a.rd=a.ta.Aa),c||(a.S|=4))}function yd(a,b){-1!==a.Xa.load(b)&&(a.S|=a.Ed)}function K(a){return a.Ha-a.va.Aa|0}function O(a,b){a.Ha=a.va.Aa+(b&a.R)|0}function of(a,b){a.Ha=b;a.hf=(a.va.Aa>>>0)+(a.va.Ta>>>0)+1;a.pa=a.va.Lb;ef(a)}function Bd(a,b,c,d){var e=a.va;e.Yf=b;e.C=d;b=e.load(c);return-1!==b?(of(a,b+(a.va.Yf&a.va.R)),a.va.df):null}
function pf(a,b){var c=(a.Ha>>>0)+b;c>a.hf&&(8088>=a.ja||a.va.Ta==a.va.Ba?c=a.va.Aa+(c-a.hf&a.R):C.call(a,13,0));return c|0}function qf(a){a.Ha=a.se}function I(a){return a.gb&~a.ta.Ba|a.fa-a.ta.Aa}function G(a,b){a.gb=b;a.fa=a.ta.Aa+(b&a.ta.Ba)|0}function rf(a,b,c,d,e,f){if(63!=(e&63)&&e!=a.resultType){var g=(e^a.resultType)&a.resultType;g&&(g&1&&sf(a),g&2&&tf(a),g&4&&uf(a),g&8&&vf(a),g&16&&wf(a),g&32&&xf(a))}f?(a.Wc=d,a.Vc=b):(a.Wc=b,a.Vc=d);a.td=c;a.Xc=d;a.resultType=e}
function yf(a,b,c,d,e){a.resultType=c|26;a.Xc=b;d?zf(a):Af(a);e?Bf(a):Cf(a);return b}function Df(a,b,c,d){c&d?zf(a):Af(a);(b^c)&d?Bf(a):Cf(a)}function Ef(a){return sf(a)?1:0}function sf(a){a.resultType&1&&(a.ca&=-2,(a.Wc^(a.Wc^a.td)&(a.td^a.Vc))&a.resultType&-2147450752&&(a.ca|=1),a.resultType&=-2);return a.ca&1}function tf(a){a.resultType&2&&(a.ca&=-5,38505>>((a.Xc^a.Xc>>4)&15)&1&&(a.ca|=4),a.resultType&=-3);return a.ca&4}
function uf(a){a.resultType&4&&(a.ca&=-17,(a.Vc^a.Wc^a.td)&16&&(a.ca|=16),a.resultType&=-5);return a.ca&16}function vf(a){a.resultType&8&&(a.ca&=-65,a.Xc&((a.resultType&-2147450752)-1|a.resultType&-2147450752)||(a.ca|=64),a.resultType&=-9);return a.ca&64}function wf(a){a.resultType&16&&(a.ca&=-129,a.Xc&a.resultType&-2147450752&&(a.ca|=128),a.resultType&=-17);return a.ca&128}
function xf(a){a.resultType&32&&(a.ca&=-2049,(a.Wc^a.Vc)&(a.td^a.Vc)&a.resultType&-2147450752&&(a.ca|=2048),a.resultType&=-33);return a.ca&2048}function Af(a){a.resultType&=-2;a.ca&=-2}function Ff(a){a.resultType&=-5;a.ca&=-17}function Gf(a){a.resultType&=-9;a.ca&=-65}function Cf(a){a.resultType&=-33;a.ca&=-2049}function zf(a){a.resultType&=-2;a.ca|=1}function Hf(a){a.resultType&=-5;a.ca|=16}function If(a){a.resultType&=-9;a.ca|=64}function Bf(a){a.resultType&=-33;a.ca|=2048}
function zd(a){return a.ca&-2262|sf(a)|tf(a)|uf(a)|vf(a)|wf(a)|xf(a)}function Jf(a,b){b=b|a.Za&1|65520;a.Za=a.Za&-65536|b&65535;a.Za&1&&od(a,!0)}function Ad(a,b,c){a.Za&1||(b&=~a.Xf);void 0===c&&(c=a.pa);c?b=b&-12289|a.ca&12288:a.Pa=(b&12288)>>12;c>a.Pa&&(b=b&-513|a.ca&512);a.resultType=128;a.ca=a.ca&~(a.Cc|2261)|b&(a.Cc|2261)|a.Zf;a.ca&256&&(a.ua|=2,a.S|=4)}
function Kf(a,b,c,d){var e=0;if(a.Za&1&&(a.pa>a.Pa||a.ca&131072)&&a.Sa.vi)for(var f=a.Sa.vi+(b>>>3),e=(1<<c)-1<<(b&7);e&&f<=a.Sa.Hk&&!(a.Qa(f)&e);)e>>>=8,f++;return e?(A(a,256)&&y(a,"checkIOPM("+u(b)+","+c+","+(d?"input":"output")+"): trapped",!0,!0),C.call(a,13,0),!1):!0}
m.Pb=function(a,b,c){var d=!1;switch(b){case "EAX":case "EBX":case "ECX":case "EDX":case "ESP":case "EBP":case "ESI":case "EDI":case "EIP":case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "IP":case "PC":case "CS":case "DS":case "SS":case "ES":case "FS":case "GS":case "CR0":case "CR2":case "CR3":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.qa[b]=c;this.Rg++;d=!0;break;default:d=this.parent.Pb.call(this,a,b,c)}return d};
function Lf(a,b,c,d){var e=(d?a.ld:a.sa)[(b&a.Db)>>>a.La];e&&5==e.type&&(e=Ic(a,b,!1,!0));if(e){var f=b&a.Fa;if(!c||1==c)return e.te(f,b);if(2==c)return f<a.Fa?e.dg(f,b):e.te(f,b)|Lf(a,b+1,1,d)<<8;if(4==c)return f<a.Fa-2?e.ki(f,b):f==a.Fa-1?e.dg(f,b)|Lf(a,b+2,2,d)<<16:e.te(f,b)|Lf(a,b+1,1,d)<<8|Lf(a,b+2,1,d)<<16|Lf(a,b+3,1,d)<<24}return null}m.Qa=function(a){return this.sa[(a&this.Db)>>>this.La].pc(a&this.Fa,a)};
m.na=function(a){var b=a&this.Fa,c=(a&this.Db)>>>this.La;this.A-=this.B.Gg;if(b<this.Fa)return this.sa[c].sf(b,a);b=this.sa[c].pc(b,a);this.S&4096||(b|=this.sa[c+1&this.jd].pc(0,a+1)<<8);return b};m.oa=function(a){var b=a&this.Fa,c=(a&this.Db)>>>this.La;if(b<this.Fa-2)return this.sa[c].Od(b,a);for(var d=0,e=4,f=0,g=4-(b&3);e--;){d|=this.sa[c].pc(b++,a++)<<f;if(this.S&4096)break;--g||(c=c+1&this.jd,b=0);f+=8}return d};m.qc=function(a,b){this.sa[(a&this.Db)>>>this.La].sc(a&this.Fa,b&255,a)};
m.jb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Gg;c<this.Fa?this.sa[d].zf(c,b&65535,a):(this.sa[d++].sc(c,b&255,a),this.S&4096||this.sa[d&this.jd].sc(0,b>>8&255,a+1))};m.nb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Gg;if(c<this.Fa-2)this.sa[d].yf(c,b,a);else for(var e=4,f=4-(c&3);e--;){this.sa[d].sc(c++,b&255,a++);if(this.S&4096)break;--f||(d=d+1&this.jd,c=0);b>>>=8}};
function Mf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.mc(a.Ca,1);return a.S&1?0:a.Qa(a.D)}function Q(a,b){return Mf(a,a.ka,b)}function Nf(a,b){return Mf(a,a.Ka,b)}function Of(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.mc(a.Ca,a.ba);return a.S&1?0:a.tb(a.D)}function R(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,2);return a.S&1?0:a.na(a.D)}function Pf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,2);return a.S&1?0:a.na(a.D)}function S(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,4);return a.S&1?0:a.oa(a.D)}
function Qf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,4);return a.S&1?0:a.oa(a.D)}function Rf(a,b){a.S&2||a.qc(a.$b.nc(a.Ca,1),b)}function Sf(a,b){a.S&2||a.jb(a.$b.nc(a.Ca,2),b)}function Tf(a,b){a.S&2||a.nb(a.$b.nc(a.Ca,4),b)}function vd(a,b,c){return a.tb(b.mc(c,a.ba))}m.xa=function(){var a=pf(this,1),b=this.Qa(this.Ha);this.Ha=a;return b};function Uf(a){var b=pf(a,2),c=a.na(a.Ha);a.Ha=b;return c}function T(a){var b=pf(a,a.Oc),c=a.dc(a.Ha);a.Ha=b;return c}
m.Ma=function(){var a=pf(this,this.ba),b=this.tb(this.Ha);this.Ha=a;return b};m.T=function(){var a=pf(this,1),b=this.Qa(this.Ha)<<24>>24;this.Ha=a;return b};function D(a){var b=a.tb(a.fa);a.fa=a.fa+a.ba|0;var c=a.Ng-a.fa|0;0>c&&0<=(a.Ng^a.fa)&&(8088>=a.ja||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?G(a,a.fa-a.ta.Aa&a.ta.Ba):-1>c&&C.call(a,12,0));return b}
function wd(a,b,c,d){c=a.fa-c|0;0>(c-a.rd|0)&&0<=(a.rd^c)&&(8088>=a.ja||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ba),c=a.fa):C.call(a,12,0));switch(d){case 1:a.qc(c,b);break;case 2:a.jb(c,b);break;case 4:a.nb(c,b)}a.fa=c}function J(a,b){var c=a.fa-a.ba|0;0>(c-a.rd|0)&&0<=(a.rd^c)&&(8088>=a.ja||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ba),c=a.fa):C.call(a,12,0));a.rc(c,b);a.fa=c}
function Vf(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.ja)2<b.length&&(b=b.substr(1,2));else if("PS"==b||2<b.length)d=8;a.qa[b]&&(void 0===c&&(wb(a,"Value for "+b+" is invalid"),a.Wb()),d=!a.la.Fb||a.la.Qi?r(c,d):"--------".substr(0,d),a.qa[b].textContent!=d&&(a.qa[b].textContent=d))}
m.qd=function(a){this.Rg&&(a||!this.la.Fb||this.la.Qi)&&(Vf(this,"EAX",this.G),Vf(this,"EBX",this.H),Vf(this,"ECX",this.I),Vf(this,"EDX",this.M),Vf(this,"ESP",I(this)),Vf(this,"EBP",this.P),Vf(this,"ESI",this.K),Vf(this,"EDI",this.J),Vf(this,"CS",this.va.Z),Vf(this,"DS",this.vb.Z),Vf(this,"SS",this.ta.Z),Vf(this,"ES",this.Xa.Z),Vf(this,"EIP",K(this)),a=zd(this),Vf(this,"PS",a),Vf(this,"V",a&2048),Vf(this,"D",a&1024),Vf(this,"I",a&512),Vf(this,"T",a&256),Vf(this,"S",a&128),Vf(this,"Z",a&64),Vf(this,
"A",a&16),Vf(this,"P",a&4),Vf(this,"C",a&1),80386==this.ja&&(Vf(this,"FS",this.Nb.Z),Vf(this,"GS",this.Ob.Z),Vf(this,"CR0",this.Za),Vf(this,"CR2",this.ue),Vf(this,"CR3",this.Qd)));if(a=this.qa.speed)a.textContent=this.la.Fb&&this.Y.qe?this.Y.qe.toFixed(2)+"Mhz":"Stopped"};
m.wf=function(a){this.la.Xd=!0;var b=this.la.Oi=this.ha&&Wf(this.ha),c=a?this.la.gh?0:1:-1;this.la.gh=!1;this.fb=this.A=a;this.N&&!a&&dd(this.N);a||A(this,1024)||(this.S|=4);do{var d=this.S&3312;if(d)this.Ia|=d;else if(this.se=this.Ha,this.ka=this.vb,this.Ka=this.ta,this.D=this.C=-1,this.Ia&3072&&ef(this),this.Ia=this.S&256,this.ua){a:{if(!(this.S&4))for(var d=80286>this.ja?0:1,e=0;2>e;e++){switch(d){case 0:if(this.ua&1&&this.ca&512){var f=Xf(this.N);if(-1<=f&&(this.ua&=-2,0<=f)){this.ua&=-5;Yf.call(this,
f);d=!0;break a}}break;case 1:if(this.ua&2){this.ua&=-3;80386<=this.ja&&(this.Ja[6]|=16384);Yf.call(this,1);d=!0;break a}}d=1-d}d=!1}if(d&&!a){this.O("interrupt dispatched");this.S=0;break}if(this.ua&4){this.S=this.A=0;break}}if(b){if(Zf(this.ha,this.Ha,c)){this.Wb();break}c=1}this.S=0;this.W[this.xa()].call(this)}while(0<this.A);return this.la.Xd?this.fb-this.A:void 0===this.la.Xd?0:-1};Sa(function(){for(var a=pb(document,"pcx86","cpu"),b=0;b<a.length;b++){var c=a[b],d=mb(c),d=new Dd(d);ob(d,c)}});
function $f(a){Wa.call(this,"FPU",a,$f);this.ja=a.model||8087;(a=a.stepping)&&ca(a,16);this.X=new Float64Array(8);this.aa=new Int32Array(this.X.buffer);this.pa=new Float32Array(1);this.ua=new Int32Array(this.pa.buffer);this.W=new Float64Array(1);this.L=new Int32Array(this.W.buffer);this.ga=Array(3);this.ea=this.fa=-1;this.V=this.U=this.ia=this.A=0;this.ka=new Float64Array(1);this.ra=new Int32Array(this.ka.buffer);this.ra[0]=0;this.ra[1]=268402688;ag(this)}fb($f);m=$f.prototype;
m.Ic=function(a,b,c){this.F=c;this.N=Hb(a,"ChipSet");ub(this)};m.ic=function(a,b){if(!b)if(!a||!this.restore)ag(this);else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};m.save=function(){var a=new lf(this),b=[],c=0;b[c++]=this.jc;b[c++]=bg(this);b[c++]=cg(this);for(var d=0;d<this.X.length;d++)b[c++]=this.X[d];N(a,0,b);return a.data()};
m.restore=function(a){a=a[0];var b=0;this.jc=a[b++]&-57409;var c=a[b++];this.ma=c&-14337;this.B=(c&14336)>>11;dg(this);eg(this,a[b++]);for(c=0;c<this.X.length;c++)this.X[c]=a[b++];return!0};function ag(a){a.C=0;a.jc=959;a.ma=0;a.B=0;a.N&&(a=a.N,a.ja>=fg&&gg(a,13))}function dg(a){a.ma&=-129;a.ma&~a.jc&63&&(a.ma|=128);if(a.ma&128&&!(a.jc&128))return a=a.N,a.ja>=fg?hg(a,13):a.ya&0||Yf.call(a.F,2),!0;a=a.N;a.ja>=fg&&gg(a,13);return!1}function ig(a,b){80387<=a.ja||(b&=-65);a.ma|=b;return dg(a)}
function bg(a){return a.ma|a.B<<11}function jg(a,b){return isFinite(b)?!0:!ig(a,Infinity===b?8:16)}function kg(a,b,c){var d=null;null!=b&&null!=c&&(d=b+c,jg(a,d)||(d=null));return d}function lg(a,b,c){var d=null;null!=b&&null!=c&&(d=b-c,jg(a,d)||(d=null));return d}function mg(a,b,c){var d=null;null!=b&&null!=c&&(d=b*c,jg(a,d)||(d=null));return d}function ng(a,b,c){var d=null;null==b||null==c||!c&&ig(a,2)||(d=b/c,jg(a,d)||(d=null));return d}
function og(a,b,c){if(null!=b&&null!=c){var d=0;isNaN(b)||isNaN(c)?d=17664:(b-=c,0>b?d=256:0===b&&(d=16384));a.ma=a.ma&-18177|d;return!0}return!1}function Bg(a,b,c){if(null==b)return null;var d=a.jc&3072;0==d?(d=Math.round(b),.5===d-b&&d%2&&d--):d=1024==d||3072==d&&0<b?Math.floor(b):Math.ceil(b);if(c){if(d>=c){if(ig(a,1))return null;d=-c}else if(d<-c){if(ig(a,1))return null;d=-c}a.L[0]=d|0;2147483648<c&&(a.L[1]=d/4294967296|0,!a.L[1]&&0>d&&(a.L[1]=-1))}return d}
function Cg(a,b){var c=3;if(a.C&1<<b){var d=a.X[b],c=0;0===d?c=1:isFinite(d)||(c=2)}return c}function cg(a){for(var b=0,c=a.X.length-1;0<=c;c--)b<<=2,b|=Cg(a,c);return b}function eg(a,b){a.C=0;for(var c=1;128>=c;c<<=1)3!=(b&3)&&(a.C|=c),b>>=2}function Dg(a){var b=a.B+0&7;return a.C&1<<b?(a.pa[0]=a.X[b],!0):ig(a,1)?!1:(a.pa[0]=a.ka[0],!0)}function Eg(a){var b=a.B+0&7;return a.C&1<<b?(a.W[0]=a.X[b],!0):ig(a,1)?!1:(a.W[0]=a.ka[0],!0)}
function U(a,b){var c=null,d=a.B+b&7;a.C&1<<d?c=a.X[d]:ig(a,1)||(c=a.ka[0]);return c}function V(a,b,c){return null!=c&&(isNaN(c)?!ig(a,1):1)?(b=a.B+b&7,a.X[b]=c,a.C|=1<<b,!0):!1}function Fg(a,b,c){var d=null;b=a.B+b&7;if(c||a.C&1<<b||!ig(a,1))c=b<<1,d=Gg(a,a.aa[c],a.aa[c+1]);return d}function Hg(a){return a.F.na(a.F.D)<<16>>16}function Ig(a){return a.F.oa(a.F.D)}function Jg(a){a.ua[0]=a.F.oa(a.F.D);return a.pa[0]}function Kg(a){a.L[0]=a.F.oa(a.F.D);a.L[1]=a.F.oa(a.F.D+4);return a.W[0]}
function Lg(a){a.ga[0]=a.F.oa(a.F.D);a.ga[1]=a.F.oa(a.F.D+4);a.ga[2]=a.F.na(a.F.D+8);return a.ga}m.pi=function(){this.F.nb(this.F.D,this.L[0])};m.rk=function(){this.F.nb(this.F.D,this.L[0]);this.F.nb(this.F.D+4,this.L[1])};m.tk=$f.prototype.pi;m.sk=$f.prototype.rk;function Mg(a){a.F.nb(a.F.D,a.ga[0]);a.F.nb(a.F.D+4,a.ga[1]);a.F.jb(a.F.D+8,a.ga[2])}
function Ng(a,b){var c=b[1],d=(b[2]&32768)>>4,e=b[2]&32767,f=b[0]>>>11|c<<21,c=c>>11&1048575;32767==e?e=2047:e&&(e+=-15360,0>=e&&(e=2047,f=c=0));a.L[0]=f;a.L[1]=c|(d|e)<<20;return a.W[0]}function Gg(a,b,c){var d=c>>20&2047,e=2147483648|(c&1048575)<<11|b>>>21;2047==d?d=32767:d?d+=15360:e&=2147483647;a.ga[0]=b<<11;a.ga[1]=e;a.ga[2]=c>>16&32768|d;return a.ga}function Og(a,b){for(var c=0,d=1;b--;)c+=(a&15)*d,d*=10,a>>=4;return c}function Pg(a,b){for(var c=0,d=0;b--;)c|=a%10<<d,a/=10,d+=4;return c}
function Qg(a){var b=null,c=1<<a.B;if(!(a.C&c)&&(a.ma&=-513,ig(a,65)))return b;a.C&=~c;b=a.X[a.B];a.B=a.B+1&7;return b}function Rg(a,b){if(null!=b){var c=a.B-1&7,d=1<<c;if(a.C&d&&(a.ma|=512,ig(a,65)))return;if(isNaN(b)&&ig(a,1)){if(ig(a,1))return;b=NaN}a.X[a.B=c]=b;a.C|=d}}
function Sg(a,b){var c,d=a.F;c=d.tb(b);a.jc=c&-57409;c=d.tb(b+=d.ba);a.ma=c&-14337;a.B=(c&14336)>>11;dg(a);eg(a,d.tb(b+=d.ba));!(d.Za&1)||d.ca&131072?(a.V=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.ia=c&2047,a.V|=(c&-4096)<<4,a.ea=-1,a.U=d.tb(b+=d.ba),a.U|=(d.tb(b+=d.ba)&-4096)<<4,a.fa=-1):(a.V=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.ea=c&65535,a.ia=c>>16&2047,a.U=d.tb(b+=d.ba),a.fa=d.tb(b+=d.ba)&65535);return b+d.ba}
function Tg(a,b){var c=a.F;c.rc(b,a.jc);c.rc(b+=c.ba,bg(a));c.rc(b+=c.ba,cg(a));if(!(c.Za&1)||c.ca&131072){var d=(a.ea<<4)+a.V;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096|a.ia);d=(a.fa<<4)+a.U;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096)}else c.rc(b+=c.ba,a.V),c.rc(b+=c.ba,a.ea|a.ia<<16),c.rc(b+=c.ba,a.U),c.rc(b+=c.ba,a.fa);return b+c.ba}var Ug=Math.log(10)/Math.LN2,Vg=Math.LOG2E,Wg=Math.PI,Xg=Math.log(2)/Math.LN10,Yg=Math.LN2,Zg=Math.pow(2,63);function $g(){this.ma&=-32896;dg(this)}
function ah(){og(this,U(this,0),U(this,this.A))}function bh(){og(this,U(this,0),U(this,this.A))&&Qg(this)}function ch(){bh.call(this)}function dh(){V(this,0,ng(this,U(this,0),Jg(this)))}function eh(){this.C&=~(1<<this.B)}function fh(){ag(this)}function gh(){this.jc=this.F.na(this.F.D)&-57409}function hh(){Sg(this,this.F.D)}function ih(){for(var a=this.F,b=Sg(this,a.D),c=this.ga,d=0;d<this.X.length;d++)c[0]=a.oa(b),c[1]=a.oa(b+=4),c[2]=a.na(b+=4),c&&V(this,d,Ng(this,c)),b+=2}
function jh(){for(var a=this.F,b=Tg(this,a.D),c=0;c<this.X.length;c++){var d=Fg(this,c,!0);a.nb(b,d[0]);a.nb(b+=4,d[1]);a.jb(b+=4,d[2]);b+=2}ag(this)}function kh(){Tg(this,this.F.D);this.jc|=63}function lh(){V(this,this.A,U(this,0))&&Qg(this)}function mh(){lh.call(this)}function nh(){this.F.jb(this.F.D,this.jc)}function oh(){this.F.jb(this.F.D,bg(this))}function ph(){80287<=this.ja&&(this.F.G=this.F.G&-65536|bg(this))}function qh(){var a=U(this,0);V(this,0,U(this,this.A));V(this,this.A,a)}
function rh(){qh.call(this)}
var sh={216:{0:function(){V(this,0,kg(this,U(this,0),Jg(this)))},1:function(){V(this,0,mg(this,U(this,0),Jg(this)))},2:function(){og(this,U(this,0),Jg(this))},3:function(){og(this,U(this,0),Jg(this))&&Qg(this)},4:function(){V(this,0,lg(this,U(this,0),Jg(this)))},5:function(){V(this,0,lg(this,Jg(this),U(this,0)))},6:dh,7:dh,48:function(){V(this,0,kg(this,U(this,0),U(this,this.A)))},49:function(){V(this,0,mg(this,U(this,0),U(this,this.A)))},50:ah,51:bh,52:function(){V(this,0,lg(this,U(this,0),U(this,
this.A)))},53:function(){V(this,0,lg(this,U(this,this.A),U(this,0)))},54:function(){V(this,0,ng(this,U(this,0),U(this,this.A)))},55:function(){V(this,0,ng(this,U(this,this.A),U(this,0)))}},217:{0:function(){Rg(this,Jg(this))},2:function(){Dg(this)&&this.tk()},3:function(){Dg(this)&&(this.tk(),Qg(this))},4:hh,5:gh,6:kh,7:nh,48:function(){Rg(this,U(this,this.A))},49:qh,50:function(){},51:mh,64:function(){V(this,0,-U(this,0))},65:function(){V(this,0,Math.abs(U(this,0)))},68:function(){og(this,U(this,
0),0)},69:function(){this.ma&=-18177;this.aa[((this.B+0&7)<<1)+1]&-2147483648&&(this.ma|=512);if(3==Cg(this,this.B))this.ma|=16640;else{var a=U(this,0);this.ma=isNaN(a)?this.ma|256:0===a?this.ma|16384:Infinity===a||-Infinity===a?this.ma|1280:this.ma|1024}},80:function(){Rg(this,1)},81:function(){Rg(this,Ug)},82:function(){Rg(this,Vg)},83:function(){Rg(this,Wg)},84:function(){Rg(this,Xg)},85:function(){Rg(this,Yg)},86:function(){Rg(this,0)},96:function(){V(this,0,Math.pow(2,U(this,0))-1)},97:function(){V(this,
1,U(this,1)*Math.log(U(this,0))/Math.LN2)&&Qg(this)},98:function(){V(this,0,Math.tan(U(this,0)))&&Rg(this,1)},99:function(){V(this,1,Math.atan2(U(this,1),U(this,0)))&&Qg(this)},100:function(){var a=U(this,0);null!=a&&(this.W[0]=a,V(this,0,(this.L[1]>>20&2047)-1023),this.L[1]=(this.L[1]|1072693248)&-1073741825,Rg(this,this.W[0]))},102:function(){this.B=this.B-1&7;this.ma&=-513},103:function(){this.B=this.B+1&7;this.ma&=-513},112:function(){V(this,0,U(this,0)%U(this,1))},113:function(){V(this,1,U(this,
1)*Math.log(U(this,0)+1)/Math.LN2)&&Qg(this)},114:function(){var a=U(this,0),b=null;if(0<=a||!ig(this,1))b=Math.sqrt(a),jg(this,b)||(b=null);V(this,0,b)},116:function(){V(this,0,Bg(this,U(this,0),Zg))},117:function(){var a=U(this,0),b=U(this,1);null!=a&&null!=b&&V(this,0,a*Math.pow(2,0<b?Math.floor(b):Math.ceil(b)))}},218:{0:function(){V(this,0,kg(this,U(this,0),Ig(this)))},1:function(){V(this,0,mg(this,U(this,0),Ig(this)))},2:function(){og(this,U(this,0),Ig(this))},3:function(){og(this,U(this,0),
Ig(this))&&Qg(this)},4:function(){V(this,0,lg(this,U(this,0),Ig(this)))},5:function(){V(this,0,lg(this,Ig(this),U(this,0)))},6:function(){V(this,0,ng(this,U(this,0),Ig(this)))},7:function(){V(this,0,ng(this,Ig(this),U(this,0)))}},219:{0:function(){Rg(this,Ig(this))},2:function(){null!=Bg(this,U(this,0),2147483648)&&this.pi()},3:function(){null!=Bg(this,U(this,0),2147483648)&&(this.pi(),Qg(this))},5:function(){Rg(this,Ng(this,Lg(this)))},7:function(){Fg(this,0)&&(Mg(this),Qg(this))},64:function(){8087==
this.ja&&(this.jc&=-129)},65:function(){8087==this.ja&&(this.jc|=128)},66:$g,67:fh,68:function(){},115:function(){}},220:{0:function(){V(this,0,kg(this,U(this,0),Kg(this)))},1:function(){V(this,0,mg(this,U(this,0),Kg(this)))},2:function(){og(this,U(this,0),Kg(this))},3:function(){og(this,U(this,0),Kg(this))&&Qg(this)},4:function(){V(this,0,lg(this,U(this,0),Kg(this)))},5:function(){V(this,0,lg(this,Kg(this),U(this,0)))},6:function(){V(this,0,ng(this,U(this,0),Kg(this)))},7:function(){V(this,0,ng(this,
Kg(this),U(this,0)))},48:function(){V(this,this.A,kg(this,U(this,this.A),U(this,0)))},49:function(){V(this,this.A,mg(this,U(this,this.A),U(this,0)))},50:function(){ah.call(this)},51:ch,52:function(){V(this,this.A,lg(this,U(this,0),U(this,this.A)))},53:function(){V(this,this.A,lg(this,U(this,this.A),U(this,0)))},54:function(){V(this,this.A,ng(this,U(this,0),U(this,this.A)))},55:function(){V(this,this.A,ng(this,U(this,this.A),U(this,0)))}},221:{0:function(){Rg(this,Kg(this))},2:function(){Eg(this)&&
this.sk()},3:function(){Eg(this)&&(this.sk(),Qg(this))},4:ih,6:jh,7:oh,48:eh,49:rh,50:function(){V(this,this.A,U(this,0))},51:lh},222:{0:function(){V(this,0,kg(this,U(this,0),Hg(this)))},1:function(){V(this,0,mg(this,U(this,0),Hg(this)))},2:function(){og(this,U(this,0),Hg(this))},3:function(){og(this,U(this,0),Hg(this))&&Qg(this)},4:function(){V(this,0,lg(this,U(this,0),Hg(this)))},5:function(){V(this,0,lg(this,Hg(this),U(this,0)))},6:function(){V(this,0,ng(this,U(this,0),Hg(this)))},7:function(){V(this,
0,ng(this,Hg(this),U(this,0)))},48:function(){V(this,this.A,kg(this,U(this,this.A),U(this,0)))&&Qg(this)},49:function(){V(this,this.A,mg(this,U(this,this.A),U(this,0)))&&Qg(this)},50:ch,51:function(){og(this,U(this,0),U(this,1))&&null!=Qg(this)&&Qg(this)},52:function(){V(this,this.A,lg(this,U(this,0),U(this,this.A)))&&Qg(this)},53:function(){V(this,this.A,lg(this,U(this,this.A),U(this,0)))&&Qg(this)},54:function(){V(this,this.A,ng(this,U(this,0),U(this,this.A)))&&Qg(this)},55:function(){V(this,this.A,
ng(this,U(this,this.A),U(this,0)))&&Qg(this)}},223:{0:function(){Rg(this,Hg(this))},2:function(){null!=Bg(this,U(this,0),32768)&&this.F.jb(this.F.D,this.L[0])},3:function(){null!=Bg(this,U(this,0),32768)&&(this.F.jb(this.F.D,this.L[0]),Qg(this))},4:function(){var a=Lg(this),b=Og(a[0],8)+1E8*Og(a[1],8)+1E16*Og(a[2],2);a[2]&32768&&(b=-b);Rg(this,b)},5:function(){var a;a=this.F.oa(this.F.D);a=4294967296*this.F.oa(this.F.D+4)+(a>>>0);Rg(this,a)},6:function(){var a=Bg(this,Qg(this));null!=a&&(this.ga[0]=
Pg(a,8),this.ga[1]=Pg(a/1E8,8),this.ga[2]=Pg(a/1E16,2),0>a&&(this.ga[2]|=32768),Mg(this))},7:function(){null!=Bg(this,U(this,0),Zg)&&(this.rk(),Qg(this))},48:function(){eh.call(this);Qg(this)},49:rh,50:mh,51:mh,52:ph}},th=[$g,fh,gh,hh,ih,jh,nh,kh,oh,ph];Sa(function(){for(var a=pb(document,"pcx86","fpu"),b=0;b<a.length;b++){var c=a[b],d=mb(c),d=new $f(d);ob(d,c)}});function uh(a,b){var c=a+b+Ef(this)|0;rf(this,a,b,c,191);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}
function vh(a,b){var c=a+b+Ef(this)|0;rf(this,a,b,c,this.Ga|63);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function wh(a,b){var c=a+b|0;rf(this,a,b,c,191);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}function xh(a,b){var c=a+b|0;rf(this,a,b,c,this.Ga|63);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}
function yh(a,b){var c=a&b;yf(this,c,128);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c}function zh(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return yf(this,a&b,this.Ga)&this.R}function Ah(a,b){this.A-=10+(-1===this.D?0:1);if((a&3)<(b&3))return a=a&-4|b&3,If(this),a;Gf(this);return a}
function Bh(a){if(-1===this.D)return C.call(this,6),a;var b=a,c=this.tb(this.D),d=this.tb(this.D+this.ba);2==this.ba&&(b=a<<16>>16,c=c<<16>>16,d=d<<16>>16);this.A-=this.B.ej;(b<c||b>d)&&C.call(this,5);this.S|=2;return a}function Ch(a,b){var c=0;if(b){Gf(this);for(var d=1;d&this.R;){if(b&d){a=c;break}d<<=1;c++}}else If(this);this.A-=11+3*c;return a}function Dh(a,b){var c=0;if(b){Gf(this);for(var d=2==this.ba?15:31,e=1<<d;e;){if(b&e){a=d;break}e>>>=1;c++;d--}}else If(this);this.A-=11+3*c;return a}
function Eh(a,b){a&1<<(b&(2==this.ba?15:31))?zf(this):Af(this);this.A-=-1===this.D?3:6;this.S|=2;return a}function Fh(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?zf(this):Af(this);this.A-=-1===this.D?6:8;return a^c}function Gh(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?zf(this):Af(this);this.A-=-1===this.D?6:8;return a&~c}function Hh(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?zf(this):Af(this);this.A-=-1===this.D?6:8;return a|c}
function Ih(a,b){if(-1===this.D)return Eh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Of(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?zf(this):Af(this);this.A-=6;this.S|=2;return a}function Jh(a,b){if(-1===this.D)return Fh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Of(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?zf(this):Af(this);this.A-=8;return a^b}
function Kh(a,b){if(-1===this.D)return Gh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Of(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?zf(this):Af(this);this.A-=8;return a&~b}function Lh(a,b){if(-1===this.D)return Hh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Of(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?zf(this):Af(this);this.A-=8;return a|b}
function Mh(a,b){rf(this,a,b,a-b|0,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Bh:this.B.Vb;this.S|=2;return a}function Nh(a,b){rf(this,a,b,a-b|0,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Bh:this.B.Vb;this.S|=2;return a}
function Oh(a){if(this.Tb){var b=this.Tb,c=this.kg,d=this.L,e=d>>3&7;b.A=d&7;var f=(3>(d>>6&3)?0:48)+e;(217==c||219==c)&&52<=f&&(f=e<<4|b.A);if(e=sh[c][f]){if(0>th.indexOf(e)){var f=b.F,g=f.se;8087==b.ja&&(f.Ia&16&&g++,f.Ia&32&&g++);b.ea=f.va.Z;b.V=g-f.va.Aa;-1!==f.D&&(b.fa=f.$b.Z,b.U=f.D-f.$b.Aa);b.ia=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.D?2:8;return a}function Ph(a){if(80186>this.ja)return Qh.call(this,a);C.call(this,13,0);return a}function ge(a){C.call(this,6);return a}
function Qh(a){je.call(this);return a}function Rh(a,b){var c=Sh.call(this,this.T(),b);80386>this.ja&&(this.A-=12);return c}function Th(a,b){var c;a=this.Ma();c=2==this.ba?Sh.call(this,a,b):Uh.call(this,a,b);80386>this.ja&&(this.A-=12);return c}function Vh(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);Wh.call(this,a,b);c&&(this.ia=~this.ia+1|0,this.wa=~this.wa+(this.ia?0:1)|0)}
function Sh(a,b){var c=(a<<16>>16)*(b<<16>>16)|0;32767<c||-32768>c?(zf(this),Bf(this)):(Af(this),Cf(this));this.A-=-1===this.D?9:12;return c&65535}function Uh(a,b){Vh.call(this,a,b);this.wa!=this.ia>>31?(zf(this),Bf(this)):(Af(this),Cf(this));this.A-=-1===this.D?9:12;return this.ia}function Xh(a,b){this.A-=14+(-1===this.D?0:2);Gf(this);-1!==this.Da.load(b)&&this.Da.Gc>=this.pa&&this.Da.Gc>=(b&3)&&(If(this),a=this.Da.wb&-256,2<this.ba&&(a|=(this.Da.ext&-65281)<<16));return a}
function Yh(a,b){if(-1===this.D)return je.call(this),a;xd(this,this.na(this.D+this.ba));this.A-=this.B.pf;return b}function Zh(){this.A-=this.B.Hj;return this.D}function $h(a,b){if(-1===this.D)return je.call(this),a;yd(this,this.na(this.D+this.ba));this.A-=this.B.pf;return b}function ai(a,b){if(-1===this.D)return je.call(this),a;var c=this.na(this.D+this.ba);this.Nb.load(c);this.A-=this.B.pf;return b}
function bi(a,b){if(-1===this.D)return je.call(this),a;var c=this.na(this.D+this.ba);this.Ob.load(c);this.A-=this.B.pf;return b}function ci(a,b){this.A-=14+(-1===this.D?0:2);if(b&65528&&-1!==this.Da.load(b)&&(7168==(this.Da.wb&7168)||this.Da.Gc>=this.pa)&&this.Da.Gc>=(b&3))return If(this),this.Da.Ta;Gf(this);return a}function di(a,b){if(-1===this.D)return je.call(this),a;md(this,this.na(this.D+this.ba));this.A-=this.B.pf;return b}
function ei(a,b){this.A-=-1===this.C?-1===this.D?this.B.Oj:this.B.Nj:this.B.Lj;return b}function fi(a,b){switch(this.L>>3&7){case 4:this.aa=this.G;break;case 5:this.aa=this.I;break;case 6:this.aa=this.M;break;case 7:this.aa=this.H}return b}function gi(a,b){return b}
function hi(a,b){var c=this.L>>3&7;switch(c){case 0:this.aa=this.G;break;case 2:this.aa=this.M;break;case 3:this.aa=this.H;break;default:if(80286==this.ja||80386==this.ja&&4!=c&&5!=c){C.call(this,6);break}switch(c){case 1:this.aa=this.I;break;case 4:this.aa=I(this);break;case 5:this.aa=this.P;break;case 6:this.aa=this.K;break;case 7:this.aa=this.J}}return ei.call(this,0,b)}
function ii(a,b){switch(this.L>>3&7){case 0:b=this.Xa.Z;break;case 1:b=this.va.Z;break;case 2:b=this.ta.Z;break;case 3:b=this.vb.Z;break;case 4:if(80386<=this.ja){b=this.Nb.Z;break}C.call(this,6);b=a;break;case 5:if(80386<=this.ja){b=this.Ob.Z;break}default:C.call(this,6),b=a}-1!==this.C&&ud(this,2);return ei.call(this,0,b)}
function Wh(a,b){if(a&-65536||b&-65536){var c=b&65535,d=b>>>16,e=a&65535,f=a>>>16,g=c*e,e=(g>>>16)+d*e,h=e>>>16,e=(e&65535)+c*f;this.ia=e<<16|g&65535;this.wa=h+((e>>>16)+d*f)|0}else this.ia=a*b|0,this.wa=0}function ji(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return yf(this,a|b,128)}function Bi(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return yf(this,a|b,this.Ga)&this.R}
function Ci(a,b){var c=a-b-Ef(this)|0;rf(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}function Di(a,b){var c=a-b-Ef(this)|0;rf(this,a,b,c,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function Ei(){return xf(this)?1:0}function Fi(){return sf(this)?1:0}function Gi(){return sf(this)?0:1}function Hi(){return vf(this)?1:0}function Ii(){return vf(this)?0:1}function Ji(){return sf(this)||vf(this)?1:0}
function Ki(){return sf(this)||vf(this)?0:1}function Li(){return wf(this)?1:0}function Mi(){return wf(this)?0:1}function Ni(){return tf(this)?1:0}function Oi(){return tf(this)?0:1}function Pi(){return!wf(this)!=!xf(this)?1:0}function Qi(){return!wf(this)!=!xf(this)?0:1}function Ri(){return vf(this)||!wf(this)!=!xf(this)?1:0}function Si(){return vf(this)||!wf(this)!=!xf(this)?0:1}function Ti(a,b){return Ui.call(this,a,b,this.xa())}function Vi(a,b){return Wi.call(this,a,b,this.xa())}
function Xi(a,b){return Ui.call(this,a,b,this.I&31)}function Yi(a,b){return Wi.call(this,a,b,this.I&31)}function Zi(a,b){return $i.call(this,a,b,this.xa())}function aj(a,b){return bj.call(this,a,b,this.xa())}function cj(a,b){return $i.call(this,a,b,this.I&31)}function dj(a,b){return bj.call(this,a,b,this.I&31)}function ej(a,b){var c=a-b|0;rf(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}
function fj(a,b){var c=a-b|0;rf(this,a,b,c,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function gj(a,b){yf(this,a&b,128);this.A-=-1===this.C?-1===this.D?this.B.ci:this.B.Uf:this.B.Uf;this.S|=2;return a}function hj(a,b){yf(this,a&b,this.Ga);this.A-=-1===this.C?-1===this.D?this.B.ci:this.B.Uf:this.B.Uf;this.S|=2;return a}function ij(a,b){var c=this.G&this.R,d=(1<<(this.I&31))-1;return a&~(d<<c)|(b&d)<<c}
function jj(a,b){return b>>(this.G&this.R)&(1<<(this.I&31))-1&this.R}function kj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}this.A-=this.B.ei}else this.C=this.D,Rf(this,a),this.A-=this.B.di;return b}
function lj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&~this.R|a;break;case 1:this.I=this.I&~this.R|a;break;case 2:this.M=this.M&~this.R|a;break;case 3:this.H=this.H&~this.R|a;break;case 4:G(this,I(this)&~this.R|a);break;case 5:this.P=this.H&~this.R|a;break;case 6:this.K=this.K&~this.R|a;break;case 7:this.J=this.J&~this.R|a}this.A-=this.B.ei}else this.C=this.D,this.S&2||this.rc(this.$b.nc(this.Ca,this.ba),a),this.A-=this.B.di;return b}
function mj(a,b){var c=a^b;yf(this,c,128);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c}function nj(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return yf(this,a^b,this.Ga)&this.R}function oj(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function pj(a){var b=a-1|0;rf(this,a,1,b,this.Ga|62,!0);this.A-=2;return a&~this.R|b&this.R}
function qj(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1;c=[c>>>0,0];for(a=[a>>>0,b>>>0];0<oj(a,c);){var f=b=c;b[0]+=f[0];b[1]+=f[1];4294967295<b[0]&&(b[0]>>>=0,b[1]++);e+=e}do 0<=oj(a,c)&&(b=a,f=c,b[0]-=f[0],b[1]-=f[1],0>b[0]&&(b[0]>>>=0,b[1]--),d+=e),b=c,b[0]>>>=1,b[1]&1&&(b[0]=(b[0]|2147483648)>>>0),b[1]>>>=1,e/=2;while(1<=e);this.ia=d;this.wa=a[0];return!0}function rj(a){var b=a+1|0;rf(this,a,1,b,this.Ga|62);this.A-=2;return a&~this.R|b&this.R}
function sj(a){this.Za=a;od(this);this.Za&-2147483648?ue(this):we(this)}function Cd(a){this.Qd=a;Yb(this)}function tj(a){this.S|=1;this.$a.call(this,a);this.A-=-1===this.D?4:5}function Ui(a,b,c){if(c){16<c&&(a=b,c-=16);var d=a<<c-1;a=(d<<1|b>>>16-c)&65535;yf(this,a,32768,d&32768)}return a}function Wi(a,b,c){if(c){var d=a<<c-1;a=d<<1|b>>>32-c;yf(this,a,-2147483648,d&-2147483648)}return a}
function $i(a,b,c){if(c){16<c&&(a=b,c-=16);var d=a>>>c-1;a=(d>>>1|b<<16-c)&65535;yf(this,a,32768,d&1)}return a}function bj(a,b,c){if(c){var d=a>>>c-1;a=d>>>1|b<<32-c;yf(this,a,-2147483648,d&1)}return a}function uj(){this.A-=-1===this.D?2:this.B.ak;return 1}function vj(){var a=this.I&255;this.A-=(-1===this.D?this.B.Wh:this.B.Vh)+(a<<this.B.Xh);return a}function wj(){var a=this.xa();this.A-=(-1===this.D?this.B.Wh:this.B.Vh)+(a<<this.B.Xh);return a}function xj(){return null}
function yj(){return this.aa}function zj(a,b){this.bc=this.va.Z;this.sb=this.ta.Z;this.U=this.fa;var c=K(this),d=this.ba;null!=Bd(this,a,b,!0)&&(wd(this,this.bc,d,2),wd(this,c,d,d));this.bc=this.sb=this.U=-1}function Aj(a,b,c){this.A-=this.B.zj+(c||0);c=zd(this);var d=this.va.Z,e=K(this);a=this.va.Zi(a);-1!==a&&(J(this,c),J(this,d),J(this,e),null!=b&&J(this,b),this.rb=-1,of(this,a))}
function Bj(a){this.sb=this.ta.Z;this.U=this.fa;var b=D(this),c=D(this);a&&G(this,I(this)+a);Bd(this,b,c,!1)&&(a&&G(this,I(this)+a),Cj.call(this,this.vb),Cj.call(this,this.Xa),80386<=this.ja&&(Cj.call(this,this.Nb),Cj.call(this,this.Ob)));2==a&&this.oe&&hf(this,this.Ha);this.sb=this.U=-1}function Dj(){8086==this.ja?(this.rb=-1,Aj.call(this,0,null,2)):C.call(this,0,null,2)}function Yf(a,b){this.rb=a;void 0===b&&(b=11);Aj.call(this,a,null,b)}
function C(a,b,c,d){var e=!1;this.la.Xd?80186<=this.ja&&(e=!0,0>this.rb?(-1!=this.bc&&(this.bc!==this.va.Z&&(this.va.Lb=this.bc&3,nf(this,this.bc)),this.bc=-1),this.se!==this.Ha&&of(this,this.se),-1!=this.sb&&(this.sb!==this.ta.Z&&md(this,this.sb),this.sb=-1),-1!==this.U&&(this.U!==this.fa&&G(this,this.gb&~this.ta.Ba|this.U-this.ta.Aa),this.U=-1)):8!=this.rb?(b=0,a=8):(b=0,a=-1,se(this),e=d=!1)):of(this,this.se);var f=a,g=b,h=32,k=Lf(this,this.Ha);204!=k||this.Ud||(d=!1);this.ca&131072&&(6==f&&99==
k||13==f&&205==k)&&(d=!1);!1===d&&(h|=1);983040<=this.Ha&&1048575>=this.Ha&&(d=!1);A(this,h|-2147483648)&&(d=!0);if(A(this,h)||d){var l=this.la.Fb,f="Fault "+t(f)+(null!=g?" ("+u(g)+")":"")+" on opcode "+t(k);d&&l&&(f+=" (blocked)");this.ha?(y(this,f,d||h,!0),d&&(d=l,this.ha.Wb())):(this.Na(f),this.Wb())}if(d&&e)throw-1;if(e)throw this.rb=a,Aj.call(this,a,b,c),this.se=this.Ha,this.S=1==a?this.S|8192:this.S|4096,a;}
function ve(a,b,c){this.ue=a;a=0;b&&(a|=1);c&&(a|=2);3==this.pa&&(a|=4);C.call(this,14,a)}function Cj(a){var b=a.wb&7680;a.Z&65528&&(6144==b||7168==b||7168>b&&a.Gc<this.pa&&a.Gc<(a.Z&3))&&a.load(0)}
function Ae(a){var b,c;switch((this.L=this.xa())&199){case 0:c=Q(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=Q(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Nf(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Nf(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=Q(this,this.K);this.A-=this.B.Jc;break;case 5:c=Q(this,this.J);this.A-=this.B.Jc;break;case 6:c=Q(this,T(this));this.A-=this.B.Ld;break;case 7:c=Q(this,this.H);this.A-=this.B.Jc;break;case 64:c=Q(this,this.H+this.K+this.T());
this.A-=this.B.ec;break;case 65:c=Q(this,this.H+this.J+this.T());this.A-=this.B.fc;break;case 66:c=Nf(this,this.P+this.K+this.T());this.A-=this.B.fc;break;case 67:c=Nf(this,this.P+this.J+this.T());this.A-=this.B.ec;break;case 68:c=Q(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=Q(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Nf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=Q(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=Q(this,this.H+this.K+T(this));this.A-=
this.B.ec;break;case 129:c=Q(this,this.H+this.J+T(this));this.A-=this.B.fc;break;case 130:c=Nf(this,this.P+this.K+T(this));this.A-=this.B.fc;break;case 131:c=Nf(this,this.P+this.J+T(this));this.A-=this.B.ec;break;case 132:c=Q(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=Q(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Nf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=Q(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;
case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=this.G&
-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}}
function Be(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.H+this.K);this.C=this.D;break;case 1:b=Q(this,this.H+this.J);this.C=this.D;break;case 2:b=Nf(this,this.P+this.K);this.C=this.D;break;case 3:b=Nf(this,this.P+this.J);this.C=this.D;break;case 4:b=Q(this,this.K);this.C=this.D;break;case 5:b=Q(this,this.J);this.C=this.D;break;case 6:b=Q(this,T(this));this.C=this.D;break;case 7:b=Q(this,this.H);this.C=this.D;break;case 64:b=Q(this,this.H+this.K+this.T());this.C=this.D;break;
case 65:b=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=Q(this,this.K+this.T());this.C=this.D;break;case 69:b=Q(this,this.J+this.T());this.C=this.D;break;case 70:b=Nf(this,this.P+this.T());this.C=this.D;break;case 71:b=Q(this,this.H+this.T());this.C=this.D;break;case 128:b=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=Q(this,this.H+this.J+T(this));
this.C=this.D;break;case 130:b=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=Q(this,this.K+T(this));this.C=this.D;break;case 133:b=Q(this,this.J+T(this));this.C=this.D;break;case 134:b=Nf(this,this.P+T(this));this.C=this.D;break;case 135:b=Q(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break;
case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b=this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Rf(this,a);this.A-=this.B.ed;break;case 1:case 2:Rf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Rf(this,
a);this.A-=this.B.Jc;break;case 6:Rf(this,a);this.A-=this.B.Ld;break;case 64:case 67:case 128:case 131:Rf(this,a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Rf(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Rf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I=
this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8}}
function Ce(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.H+this.K);this.C=this.D;break;case 1:c=Q(this,this.H+this.J);this.C=this.D;break;case 2:c=Nf(this,this.P+this.K);this.C=this.D;break;case 3:c=Nf(this,this.P+this.J);this.C=this.D;break;case 4:c=Q(this,this.K);this.C=this.D;break;case 5:c=Q(this,this.J);this.C=this.D;break;case 6:c=Q(this,T(this));this.C=this.D;break;case 7:c=Q(this,this.H);this.C=this.D;break;case 64:c=Q(this,this.H+this.K+this.T());this.C=this.D;break;
case 65:c=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=Q(this,this.K+this.T());this.C=this.D;break;case 69:c=Q(this,this.J+this.T());this.C=this.D;break;case 70:c=Nf(this,this.P+this.T());this.C=this.D;break;case 71:c=Q(this,this.H+this.T());this.C=this.D;break;case 128:c=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=Q(this,this.H+this.J+T(this));
this.C=this.D;break;case 130:c=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=Q(this,this.K+T(this));this.C=this.D;break;case 133:c=Q(this,this.J+T(this));this.C=this.D;break;case 134:c=Nf(this,this.P+T(this));this.C=this.D;break;case 135:c=Q(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;
case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Rf(this,c);this.A-=this.B.ed;break;case 1:case 2:Rf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Rf(this,c);this.A-=this.B.Jc;break;case 6:Rf(this,c);this.A-=this.B.Ld;break;case 64:case 67:case 128:case 131:Rf(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Rf(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Rf(this,
c);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8}}
function De(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=R(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Pf(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Pf(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=R(this,this.K);this.A-=this.B.Jc;break;case 5:c=R(this,this.J);this.A-=this.B.Jc;break;case 6:c=R(this,T(this));this.A-=this.B.Ld;break;case 7:c=R(this,this.H);this.A-=this.B.Jc;break;case 64:c=R(this,this.H+this.K+this.T());
this.A-=this.B.ec;break;case 65:c=R(this,this.H+this.J+this.T());this.A-=this.B.fc;break;case 66:c=Pf(this,this.P+this.K+this.T());this.A-=this.B.fc;break;case 67:c=Pf(this,this.P+this.J+this.T());this.A-=this.B.ec;break;case 68:c=R(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=R(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Pf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=R(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=R(this,this.H+this.K+T(this));this.A-=
this.B.ec;break;case 129:c=R(this,this.H+this.J+T(this));this.A-=this.B.fc;break;case 130:c=Pf(this,this.P+this.K+T(this));this.A-=this.B.fc;break;case 131:c=Pf(this,this.P+this.J+T(this));this.A-=this.B.ec;break;case 132:c=R(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=R(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Pf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=R(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;
case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=
this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}}
function Ee(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.H+this.K);this.C=this.D;break;case 1:b=R(this,this.H+this.J);this.C=this.D;break;case 2:b=Pf(this,this.P+this.K);this.C=this.D;break;case 3:b=Pf(this,this.P+this.J);this.C=this.D;break;case 4:b=R(this,this.K);this.C=this.D;break;case 5:b=R(this,this.J);this.C=this.D;break;case 6:b=R(this,T(this));this.C=this.D;break;case 7:b=R(this,this.H);this.C=this.D;break;case 64:b=R(this,this.H+this.K+this.T());this.C=this.D;break;
case 65:b=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Pf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Pf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=R(this,this.K+this.T());this.C=this.D;break;case 69:b=R(this,this.J+this.T());this.C=this.D;break;case 70:b=Pf(this,this.P+this.T());this.C=this.D;break;case 71:b=R(this,this.H+this.T());this.C=this.D;break;case 128:b=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=R(this,this.H+this.J+T(this));
this.C=this.D;break;case 130:b=Pf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Pf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=R(this,this.K+T(this));this.C=this.D;break;case 133:b=R(this,this.J+T(this));this.C=this.D;break;case 134:b=Pf(this,this.P+T(this));this.C=this.D;break;case 135:b=R(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535;
break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break;case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Sf(this,a);this.A-=this.B.ed;break;case 1:case 2:Sf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Sf(this,
a);this.A-=this.B.Jc;break;case 6:Sf(this,a);this.A-=this.B.Ld;break;case 64:case 67:case 128:case 131:Sf(this,a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Sf(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Sf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)&-65536|a);break;
case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a}}
function Fe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.H+this.K);this.C=this.D;break;case 1:c=R(this,this.H+this.J);this.C=this.D;break;case 2:c=Pf(this,this.P+this.K);this.C=this.D;break;case 3:c=Pf(this,this.P+this.J);this.C=this.D;break;case 4:c=R(this,this.K);this.C=this.D;break;case 5:c=R(this,this.J);this.C=this.D;break;case 6:c=R(this,T(this));this.C=this.D;break;case 7:c=R(this,this.H);this.C=this.D;break;case 64:c=R(this,this.H+this.K+this.T());this.C=this.D;break;
case 65:c=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Pf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Pf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=R(this,this.K+this.T());this.C=this.D;break;case 69:c=R(this,this.J+this.T());this.C=this.D;break;case 70:c=Pf(this,this.P+this.T());this.C=this.D;break;case 71:c=R(this,this.H+this.T());this.C=this.D;break;case 128:c=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=R(this,this.H+this.J+T(this));
this.C=this.D;break;case 130:c=Pf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Pf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=R(this,this.K+T(this));this.C=this.D;break;case 133:c=R(this,this.J+T(this));this.C=this.D;break;case 134:c=Pf(this,this.P+T(this));this.C=this.D;break;case 135:c=R(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;
break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Sf(this,c);this.A-=this.B.ed;break;case 1:case 2:Sf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Sf(this,c);this.A-=this.B.Jc;break;case 6:Sf(this,c);this.A-=this.B.Ld;break;case 64:case 67:case 128:case 131:Sf(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Sf(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Sf(this,
c);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c}}
function Ge(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=S(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Qf(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Qf(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=S(this,this.K);this.A-=this.B.Jc;break;case 5:c=S(this,this.J);this.A-=this.B.Jc;break;case 6:c=S(this,T(this));this.A-=this.B.Ld;break;case 7:c=S(this,this.H);this.A-=this.B.Jc;break;case 64:c=S(this,this.H+this.K+this.T());
this.A-=this.B.ec;break;case 65:c=S(this,this.H+this.J+this.T());this.A-=this.B.fc;break;case 66:c=Qf(this,this.P+this.K+this.T());this.A-=this.B.fc;break;case 67:c=Qf(this,this.P+this.J+this.T());this.A-=this.B.ec;break;case 68:c=S(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=S(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Qf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=S(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=S(this,this.H+this.K+T(this));this.A-=
this.B.ec;break;case 129:c=S(this,this.H+this.J+T(this));this.A-=this.B.fc;break;case 130:c=Qf(this,this.P+this.K+T(this));this.A-=this.B.fc;break;case 131:c=Qf(this,this.P+this.J+T(this));this.A-=this.B.ec;break;case 132:c=S(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=S(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Qf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=S(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=
this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this,a);break;
case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}}
function He(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.H+this.K);this.C=this.D;break;case 1:b=S(this,this.H+this.J);this.C=this.D;break;case 2:b=Qf(this,this.P+this.K);this.C=this.D;break;case 3:b=Qf(this,this.P+this.J);this.C=this.D;break;case 4:b=S(this,this.K);this.C=this.D;break;case 5:b=S(this,this.J);this.C=this.D;break;case 6:b=S(this,T(this));this.C=this.D;break;case 7:b=S(this,this.H);this.C=this.D;break;case 64:b=S(this,this.H+this.K+this.T());this.C=this.D;break;
case 65:b=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Qf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Qf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=S(this,this.K+this.T());this.C=this.D;break;case 69:b=S(this,this.J+this.T());this.C=this.D;break;case 70:b=Qf(this,this.P+this.T());this.C=this.D;break;case 71:b=S(this,this.H+this.T());this.C=this.D;break;case 128:b=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=S(this,this.H+this.J+T(this));
this.C=this.D;break;case 130:b=Qf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Qf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=S(this,this.K+T(this));this.C=this.D;break;case 133:b=S(this,this.J+T(this));this.C=this.D;break;case 134:b=Qf(this,this.P+T(this));this.C=this.D;break;case 135:b=S(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break;
case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Tf(this,a);this.A-=this.B.ed;break;case 1:case 2:Tf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Tf(this,a);this.A-=this.B.Jc;break;case 6:Tf(this,a);this.A-=this.B.Ld;break;case 64:case 67:case 128:case 131:Tf(this,
a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Tf(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Tf(this,a);this.A-=this.B.ib;break;case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a}}
function Ie(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.H+this.K);this.C=this.D;break;case 1:c=S(this,this.H+this.J);this.C=this.D;break;case 2:c=Qf(this,this.P+this.K);this.C=this.D;break;case 3:c=Qf(this,this.P+this.J);this.C=this.D;break;case 4:c=S(this,this.K);this.C=this.D;break;case 5:c=S(this,this.J);this.C=this.D;break;case 6:c=S(this,T(this));this.C=this.D;break;case 7:c=S(this,this.H);this.C=this.D;break;case 64:c=S(this,this.H+this.K+this.T());this.C=this.D;break;
case 65:c=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Qf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Qf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=S(this,this.K+this.T());this.C=this.D;break;case 69:c=S(this,this.J+this.T());this.C=this.D;break;case 70:c=Qf(this,this.P+this.T());this.C=this.D;break;case 71:c=S(this,this.H+this.T());this.C=this.D;break;case 128:c=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=S(this,this.H+this.J+T(this));
this.C=this.D;break;case 130:c=Qf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Qf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=S(this,this.K+T(this));this.C=this.D;break;case 133:c=S(this,this.J+T(this));this.C=this.D;break;case 134:c=Qf(this,this.P+T(this));this.C=this.D;break;case 135:c=S(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;
case 198:c=this.K;break;case 199:c=this.J}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Tf(this,c);this.A-=this.B.ed;break;case 1:case 2:Tf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Tf(this,c);this.A-=this.B.Jc;break;case 6:Tf(this,c);this.A-=this.B.Ld;break;case 64:case 67:case 128:case 131:Tf(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Tf(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Tf(this,
c);this.A-=this.B.ib;break;case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c}}
function Le(a){var b,c;switch((this.L=this.xa())&199){case 0:c=Q(this,this.G);break;case 1:c=Q(this,this.I);break;case 2:c=Q(this,this.M);break;case 3:c=Q(this,this.H);break;case 4:c=Q(this,Ej.call(this,0));break;case 5:c=Q(this,T(this));break;case 6:c=Q(this,this.K);break;case 7:c=Q(this,this.J);break;case 64:c=Q(this,this.G+this.T());break;case 65:c=Q(this,this.I+this.T());break;case 66:c=Q(this,this.M+this.T());break;case 67:c=Q(this,this.H+this.T());break;case 68:c=Q(this,Ej.call(this,1)+this.T());
break;case 69:c=Nf(this,this.P+this.T());break;case 70:c=Q(this,this.K+this.T());break;case 71:c=Q(this,this.J+this.T());break;case 128:c=Q(this,this.G+T(this));break;case 129:c=Q(this,this.I+T(this));break;case 130:c=Q(this,this.M+T(this));break;case 131:c=Q(this,this.H+T(this));break;case 132:c=Q(this,Ej.call(this,2)+T(this));break;case 133:c=Nf(this,this.P+T(this));break;case 134:c=Q(this,this.K+T(this));break;case 135:c=Q(this,this.J+T(this));break;case 192:c=this.G&255;break;case 193:c=this.I&
255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=
this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}}
function Me(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.G);this.C=this.D;break;case 1:b=Q(this,this.I);this.C=this.D;break;case 2:b=Q(this,this.M);this.C=this.D;break;case 3:b=Q(this,this.H);this.C=this.D;break;case 4:b=Q(this,Ej.call(this,0));this.C=this.D;break;case 5:b=Q(this,T(this));this.C=this.D;break;case 6:b=Q(this,this.K);this.C=this.D;break;case 7:b=Q(this,this.J);this.C=this.D;break;case 64:b=Q(this,this.G+this.T());this.C=this.D;break;case 65:b=Q(this,this.I+this.T());
this.C=this.D;break;case 66:b=Q(this,this.M+this.T());this.C=this.D;break;case 67:b=Q(this,this.H+this.T());this.C=this.D;break;case 68:b=Q(this,Ej.call(this,1)+this.T());this.C=this.D;break;case 69:b=Nf(this,this.P+this.T());this.C=this.D;break;case 70:b=Q(this,this.K+this.T());this.C=this.D;break;case 71:b=Q(this,this.J+this.T());this.C=this.D;break;case 128:b=Q(this,this.G+T(this));this.C=this.D;break;case 129:b=Q(this,this.I+T(this));this.C=this.D;break;case 130:b=Q(this,this.M+T(this));this.C=
this.D;break;case 131:b=Q(this,this.H+T(this));this.C=this.D;break;case 132:b=Q(this,Ej.call(this,2)+T(this));this.C=this.D;break;case 133:b=Nf(this,this.P+T(this));this.C=this.D;break;case 134:b=Q(this,this.K+T(this));this.C=this.D;break;case 135:b=Q(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break;case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b=
this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I=
this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8;break;default:Rf(this,a)}}
function Ne(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.G);this.C=this.D;break;case 1:c=Q(this,this.I);this.C=this.D;break;case 2:c=Q(this,this.M);this.C=this.D;break;case 3:c=Q(this,this.H);this.C=this.D;break;case 4:c=Q(this,Ej.call(this,0));this.C=this.D;break;case 5:c=Q(this,T(this));this.C=this.D;break;case 6:c=Q(this,this.K);this.C=this.D;break;case 7:c=Q(this,this.J);this.C=this.D;break;case 64:c=Q(this,this.G+this.T());this.C=this.D;break;case 65:c=Q(this,this.I+this.T());
this.C=this.D;break;case 66:c=Q(this,this.M+this.T());this.C=this.D;break;case 67:c=Q(this,this.H+this.T());this.C=this.D;break;case 68:c=Q(this,Ej.call(this,1)+this.T());this.C=this.D;break;case 69:c=Nf(this,this.P+this.T());this.C=this.D;break;case 70:c=Q(this,this.K+this.T());this.C=this.D;break;case 71:c=Q(this,this.J+this.T());this.C=this.D;break;case 128:c=Q(this,this.G+T(this));this.C=this.D;break;case 129:c=Q(this,this.I+T(this));this.C=this.D;break;case 130:c=Q(this,this.M+T(this));this.C=
this.D;break;case 131:c=Q(this,this.H+T(this));this.C=this.D;break;case 132:c=Q(this,Ej.call(this,2)+T(this));this.C=this.D;break;case 133:c=Nf(this,this.P+T(this));this.C=this.D;break;case 134:c=Q(this,this.K+T(this));this.C=this.D;break;case 135:c=Q(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=
this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8;break;default:Rf(this,c)}}
function Oe(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.G);break;case 1:c=R(this,this.I);break;case 2:c=R(this,this.M);break;case 3:c=R(this,this.H);break;case 4:c=R(this,Ej.call(this,0));break;case 5:c=R(this,T(this));break;case 6:c=R(this,this.K);break;case 7:c=R(this,this.J);break;case 64:c=R(this,this.G+this.T());break;case 65:c=R(this,this.I+this.T());break;case 66:c=R(this,this.M+this.T());break;case 67:c=R(this,this.H+this.T());break;case 68:c=R(this,Ej.call(this,1)+this.T());
break;case 69:c=Pf(this,this.P+this.T());break;case 70:c=R(this,this.K+this.T());break;case 71:c=R(this,this.J+this.T());break;case 128:c=R(this,this.G+T(this));break;case 129:c=R(this,this.I+T(this));break;case 130:c=R(this,this.M+T(this));break;case 131:c=R(this,this.H+T(this));break;case 132:c=R(this,Ej.call(this,2)+T(this));break;case 133:c=Pf(this,this.P+T(this));break;case 134:c=R(this,this.K+T(this));break;case 135:c=R(this,this.J+T(this));break;case 192:c=this.G&65535;break;case 193:c=this.I&
65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=
this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}}
function Pe(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.G);this.C=this.D;break;case 1:b=R(this,this.I);this.C=this.D;break;case 2:b=R(this,this.M);this.C=this.D;break;case 3:b=R(this,this.H);this.C=this.D;break;case 4:b=R(this,Ej.call(this,0));this.C=this.D;break;case 5:b=R(this,T(this));this.C=this.D;break;case 6:b=R(this,this.K);this.C=this.D;break;case 7:b=R(this,this.J);this.C=this.D;break;case 64:b=R(this,this.G+this.T());this.C=this.D;break;case 65:b=R(this,this.I+this.T());
this.C=this.D;break;case 66:b=R(this,this.M+this.T());this.C=this.D;break;case 67:b=R(this,this.H+this.T());this.C=this.D;break;case 68:b=R(this,Ej.call(this,1)+this.T());this.C=this.D;break;case 69:b=Pf(this,this.P+this.T());this.C=this.D;break;case 70:b=R(this,this.K+this.T());this.C=this.D;break;case 71:b=R(this,this.J+this.T());this.C=this.D;break;case 128:b=R(this,this.G+T(this));this.C=this.D;break;case 129:b=R(this,this.I+T(this));this.C=this.D;break;case 130:b=R(this,this.M+T(this));this.C=
this.D;break;case 131:b=R(this,this.H+T(this));this.C=this.D;break;case 132:b=R(this,Ej.call(this,2)+T(this));this.C=this.D;break;case 133:b=Pf(this,this.P+T(this));this.C=this.D;break;case 134:b=R(this,this.K+T(this));this.C=this.D;break;case 135:b=R(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535;break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break;
case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)&
-65536|a);break;case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a;break;default:Sf(this,a)}}
function Qe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.G);this.C=this.D;break;case 1:c=R(this,this.I);this.C=this.D;break;case 2:c=R(this,this.M);this.C=this.D;break;case 3:c=R(this,this.H);this.C=this.D;break;case 4:c=R(this,Ej.call(this,0));this.C=this.D;break;case 5:c=R(this,T(this));this.C=this.D;break;case 6:c=R(this,this.K);this.C=this.D;break;case 7:c=R(this,this.J);this.C=this.D;break;case 64:c=R(this,this.G+this.T());this.C=this.D;break;case 65:c=R(this,this.I+this.T());
this.C=this.D;break;case 66:c=R(this,this.M+this.T());this.C=this.D;break;case 67:c=R(this,this.H+this.T());this.C=this.D;break;case 68:c=R(this,Ej.call(this,1)+this.T());this.C=this.D;break;case 69:c=Pf(this,this.P+this.T());this.C=this.D;break;case 70:c=R(this,this.K+this.T());this.C=this.D;break;case 71:c=R(this,this.J+this.T());this.C=this.D;break;case 128:c=R(this,this.G+T(this));this.C=this.D;break;case 129:c=R(this,this.I+T(this));this.C=this.D;break;case 130:c=R(this,this.M+T(this));this.C=
this.D;break;case 131:c=R(this,this.H+T(this));this.C=this.D;break;case 132:c=R(this,Ej.call(this,2)+T(this));this.C=this.D;break;case 133:c=Pf(this,this.P+T(this));this.C=this.D;break;case 134:c=R(this,this.K+T(this));this.C=this.D;break;case 135:c=R(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;
case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c;break;default:Sf(this,c)}}
function Re(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.G);break;case 1:c=S(this,this.I);break;case 2:c=S(this,this.M);break;case 3:c=S(this,this.H);break;case 4:c=S(this,Ej.call(this,0));break;case 5:c=S(this,T(this));break;case 6:c=S(this,this.K);break;case 7:c=S(this,this.J);break;case 64:c=S(this,this.G+this.T());break;case 65:c=S(this,this.I+this.T());break;case 66:c=S(this,this.M+this.T());break;case 67:c=S(this,this.H+this.T());break;case 68:c=S(this,Ej.call(this,1)+this.T());
break;case 69:c=Qf(this,this.P+this.T());break;case 70:c=S(this,this.K+this.T());break;case 71:c=S(this,this.J+this.T());break;case 128:c=S(this,this.G+T(this));break;case 129:c=S(this,this.I+T(this));break;case 130:c=S(this,this.M+T(this));break;case 131:c=S(this,this.H+T(this));break;case 132:c=S(this,Ej.call(this,2)+T(this));break;case 133:c=Qf(this,this.P+T(this));break;case 134:c=S(this,this.K+T(this));break;case 135:c=S(this,this.J+T(this));break;case 192:c=this.G;break;case 193:c=this.I;break;
case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this,
a);break;case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}}
function Se(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.G);this.C=this.D;break;case 1:b=S(this,this.I);this.C=this.D;break;case 2:b=S(this,this.M);this.C=this.D;break;case 3:b=S(this,this.H);this.C=this.D;break;case 4:b=S(this,Ej.call(this,0));this.C=this.D;break;case 5:b=S(this,T(this));this.C=this.D;break;case 6:b=S(this,this.K);this.C=this.D;break;case 7:b=S(this,this.J);this.C=this.D;break;case 64:b=S(this,this.G+this.T());this.C=this.D;break;case 65:b=S(this,this.I+this.T());
this.C=this.D;break;case 66:b=S(this,this.M+this.T());this.C=this.D;break;case 67:b=S(this,this.H+this.T());this.C=this.D;break;case 68:b=S(this,Ej.call(this,1)+this.T());this.C=this.D;break;case 69:b=Qf(this,this.P+this.T());this.C=this.D;break;case 70:b=S(this,this.K+this.T());this.C=this.D;break;case 71:b=S(this,this.J+this.T());this.C=this.D;break;case 128:b=S(this,this.G+T(this));this.C=this.D;break;case 129:b=S(this,this.I+T(this));this.C=this.D;break;case 130:b=S(this,this.M+T(this));this.C=
this.D;break;case 131:b=S(this,this.H+T(this));this.C=this.D;break;case 132:b=S(this,Ej.call(this,2)+T(this));this.C=this.D;break;case 133:b=Qf(this,this.P+T(this));this.C=this.D;break;case 134:b=S(this,this.K+T(this));this.C=this.D;break;case 135:b=S(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break;case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>>
3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a;break;default:Tf(this,a)}}
function Te(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.G);this.C=this.D;break;case 1:c=S(this,this.I);this.C=this.D;break;case 2:c=S(this,this.M);this.C=this.D;break;case 3:c=S(this,this.H);this.C=this.D;break;case 4:c=S(this,Ej.call(this,0));this.C=this.D;break;case 5:c=S(this,T(this));this.C=this.D;break;case 6:c=S(this,this.K);this.C=this.D;break;case 7:c=S(this,this.J);this.C=this.D;break;case 64:c=S(this,this.G+this.T());this.C=this.D;break;case 65:c=S(this,this.I+this.T());
this.C=this.D;break;case 66:c=S(this,this.M+this.T());this.C=this.D;break;case 67:c=S(this,this.H+this.T());this.C=this.D;break;case 68:c=S(this,Ej.call(this,1)+this.T());this.C=this.D;break;case 69:c=Qf(this,this.P+this.T());this.C=this.D;break;case 70:c=S(this,this.K+this.T());this.C=this.D;break;case 71:c=S(this,this.J+this.T());this.C=this.D;break;case 128:c=S(this,this.G+T(this));this.C=this.D;break;case 129:c=S(this,this.I+T(this));this.C=this.D;break;case 130:c=S(this,this.M+T(this));this.C=
this.D;break;case 131:c=S(this,this.H+T(this));this.C=this.D;break;case 132:c=S(this,Ej.call(this,2)+T(this));this.C=this.D;break;case 133:c=Qf(this,this.P+T(this));this.C=this.D;break;case 134:c=S(this,this.K+T(this));this.C=this.D;break;case 135:c=S(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}c=a[this.L>>
3&7].call(this,c,b.call(this));switch(d){case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c;break;default:Tf(this,c)}}
function Ej(a){var b=this.xa(),c=b>>6,d,e;switch(b>>3&7){case 0:d=this.G;break;case 1:d=this.I;break;case 2:d=this.M;break;case 3:d=this.H;break;case 4:d=0;break;case 5:d=this.P;break;case 6:d=this.K;break;case 7:d=this.J}switch(b&7){case 0:e=this.G;break;case 1:e=this.I;break;case 2:e=this.M;break;case 3:e=this.H;break;case 4:e=I(this);this.ka=this.Ka;break;case 5:a?(e=this.P,this.ka=this.Ka):e=T(this);break;case 6:e=this.K;break;case 7:e=this.J}return(d<<c)+e|0}
function he(){this.tc[this.xa()].call(this)}function ke(){J(this,I(this)&this.R);this.A-=this.B.Sc}function Jd(){this.U=this.fa;var a=I(this)&this.R;J(this,this.G&this.R);J(this,this.I&this.R);J(this,this.M&this.R);J(this,this.H&this.R);J(this,a);J(this,this.P&this.R);J(this,this.K&this.R);J(this,this.J&this.R);this.A-=this.B.Vj;this.U=-1}
function Kd(){this.U=this.fa;this.J=this.J&~this.R|D(this);this.K=this.K&~this.R|D(this);this.P=this.P&~this.R|D(this);G(this,I(this)+this.ba);this.H=this.H&~this.R|D(this);this.M=this.M&~this.R|D(this);this.I=this.I&~this.R|D(this);this.G=this.G&~this.R|D(this);this.A-=this.B.Tj;this.U=-1}function Ld(){this.V.call(this,Bh)}function le(){!(this.Za&1)||this.ca&131072?C.call(this,6):this.ea.call(this,Ah)}function me(){this.S|=20;this.ka=this.Ka=this.Nb;this.A-=this.B.od}
function ne(){this.S|=20;this.ka=this.Ka=this.Ob;this.A-=this.B.od}function oe(){this.S|=1024;this.Ia&1024||(this.ba^=6,this.R^=-65536,df(this));this.A-=this.B.od}function pe(){this.S|=2048;this.Ia&2048||(this.Oc^=6,this.Ba^=-65536,ze(this));this.A-=this.B.od}function Md(){J(this,this.Ma());this.A-=this.B.Sc}function Nd(){this.V.call(this,Th)}function Od(){J(this,this.T());this.A-=this.B.Sc}function Pd(){this.V.call(this,Rh)}
function Qd(){var a=1,b=0,c=this.Ba,d=5;this.Ia&192&&(a=this.I&c,b=1,this.Ia&256&&(d=4));if(a--){var e=this.M&65535;Kf(this,e,1,!0)&&(e=mc(this.ga,e,1,this.Ha-b-1),this.qc(this.Xa.nc(this.J&c,1),e),this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c,this.I=this.I&~c|this.I-b&c,this.A-=d,a&&(qf(this),this.S|=256))}}
function Rd(){var a=1,b=0,c=this.Ba,d=5;this.Ia&192&&(a=this.I&c,b=1,this.Ia&256&&(d=4));if(a--){var e=this.M&65535;Kf(this,e,this.ba,!0)&&(e=mc(this.ga,e,this.ba,this.Ha-b-1),this.rc(this.Xa.nc(this.J&c,this.ba),e),this.J=this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c,this.I=this.I&~c|this.I-b&c,this.A-=d,a&&(qf(this),this.S|=256))}}
function Sd(){var a=1,b=0,c=this.Ba,d=5;this.Ia&192&&(a=this.I&c,b=1,this.Ia&256&&(d=4));if(a--){var e=this.M&65535;if(Kf(this,e,1,!1)){var f=this.Qa(this.vb.mc(this.K&c,1));qc(this.ga,e,1,f,this.Ha-b-1);this.K=this.K&~c|this.K+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(qf(this),this.S|=256)}}}
function Td(){var a=1,b=0,c=this.Ba,d=5;this.Ia&192&&(a=this.I&c,b=1,this.Ia&256&&(d=4));if(a--){var e=vd(this,this.vb,this.K&c),f=this.M&65535;Kf(this,f,this.ba,!1)&&(qc(this.ga,f,this.ba,e,this.Ha-b-1),this.K=this.K&~c|this.K+(this.ca&1024?-this.ba:this.ba)&c,this.I=this.I&~c|this.I-b&c,this.A-=d,a&&(qf(this),this.S|=256))}}function Fj(){var a=this.T();xf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}
function Gj(){var a=this.T();xf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}function Hj(){var a=this.T();sf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}function Ij(){var a=this.T();sf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}function Jj(){var a=this.T();vf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}function Kj(){var a=this.T();vf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}
function Lj(){var a=this.T();sf(this)||vf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}function Mj(){var a=this.T();sf(this)||vf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}function Nj(){var a=this.T();wf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}function Oj(){var a=this.T();wf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}function Pj(){var a=this.T();tf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}
function Qj(){var a=this.T();tf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}function Rj(){var a=this.T();!wf(this)!=!xf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}function Sj(){var a=this.T();!wf(this)==!xf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}function Tj(){var a=this.T();vf(this)||!wf(this)!=!xf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}
function Uj(){var a=this.T();vf(this)||!wf(this)!=!xf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}function Vj(){this.Jb.call(this,Wj,this.xa);this.A-=-1===this.C?1:this.B.Fg}function Xj(){this.S|=1;this.$a.call(this,ei)}function Yj(){this.S|=1;this.ea.call(this,ei)}function Zj(){this.Oa.call(this,ei)}function ak(){this.V.call(this,ei)}function Ud(){this.Jb.call(this,bk,wj)}function Yd(){this.ya.call(this,2==this.ba?ck:dk,wj)}
function ek(){var a=Uf(this),b=D(this);O(this,b);a&&G(this,I(this)+a);this.A-=this.B.$j}function fk(){var a=D(this);O(this,a);this.A-=this.B.Xj}function Zd(){this.U=this.fa;var a=Uf(this),b=this.xa()&31;this.A-=11;J(this,this.P);var c=I(this)&this.R;if(0<b){for(this.A-=(b<<2)+(1<b?1:0);--b;)this.P=this.P&~this.R|this.P-this.ba&this.R,J(this,vd(this,this.ta,this.P&this.R));J(this,c)}this.P=this.P&~this.R|c;G(this,I(this)&~this.ta.Ba|I(this)-a&this.ta.Ba);this.U=-1}
function $d(){this.U=this.fa;G(this,I(this)&~this.ta.Ba|this.P&this.ta.Ba);this.P=this.P&~this.R|D(this)&this.R;this.A-=5;this.U=-1}function gk(){Bj.call(this,Uf(this));this.A-=this.B.Zj}function hk(){Bj.call(this,0);this.A-=this.B.Yj}function ik(a){this.kg=a;this.V.call(this,Oh)}function jk(){this.S|=36;this.A-=this.B.od}function ae(){je.call(this)}function Id(){C.call(this,6)}
function je(){O(this,this.se-this.va.Aa);wb(this,"Undefined opcode "+t(this.Qa(this.Ha))+" at "+("0x"+r(this.Ha)));this.Wb()}
var Ed=[function(){this.$a.call(this,wh)},function(){this.ea.call(this,xh)},function(){this.Oa.call(this,wh)},function(){this.V.call(this,xh)},function(){this.G=this.G&-256|wh.call(this,this.G&255,this.xa());this.A--},function(){this.G=this.G&~this.R|xh.call(this,this.G&this.R,this.Ma());this.A--},function(){wd(this,this.Xa.Z,this.ba,2);this.A-=this.B.Ie},function(){this.U=this.fa;yd(this,D(this));this.A-=this.B.zc;this.U=-1},function(){this.$a.call(this,ji)},function(){this.ea.call(this,Bi)},function(){this.Oa.call(this,
ji)},function(){this.V.call(this,Bi)},function(){this.G=this.G&-256|ji.call(this,this.G&255,this.xa());this.A--},function(){this.G=this.G&~this.R|Bi.call(this,this.G&this.R,this.Ma());this.A--},function(){wd(this,this.va.Z,this.ba,2);this.A-=this.B.Ie},function(){nf(this,D(this));this.A-=this.B.zc},function(){this.$a.call(this,uh)},function(){this.ea.call(this,vh)},function(){this.Oa.call(this,uh)},function(){this.V.call(this,vh)},function(){this.G=this.G&-256|uh.call(this,this.G&255,this.xa());this.A--},
function(){this.G=this.G&~this.R|vh.call(this,this.G&this.R,this.Ma());this.A--},function(){wd(this,this.ta.Z,this.ba,2);this.A-=this.B.Ie},function(){this.U=this.fa;md(this,D(this));this.A-=this.B.zc;this.U=-1},function(){this.$a.call(this,Ci)},function(){this.ea.call(this,Di)},function(){this.Oa.call(this,Ci)},function(){this.V.call(this,Di)},function(){this.G=this.G&-256|Ci.call(this,this.G&255,this.xa());this.A--},function(){this.G=this.G&~this.R|Di.call(this,this.G&this.R,this.Ma());this.A--},
function(){wd(this,this.vb.Z,this.ba,2);this.A-=this.B.Ie},function(){this.U=this.fa;xd(this,D(this));this.A-=this.B.zc;this.U=-1},function(){this.$a.call(this,yh)},function(){this.ea.call(this,zh)},function(){this.Oa.call(this,yh)},function(){this.V.call(this,zh)},function(){this.G=this.G&-256|yh.call(this,this.G&255,this.xa());this.A--},function(){this.G=this.G&~this.R|zh.call(this,this.G&this.R,this.Ma());this.A--},function(){this.S|=20;this.ka=this.Ka=this.Xa;this.A-=this.B.od},function(){var a=
this.G&255,b=uf(this),c=sf(this);9<(a&15)||b?(a+=6,b=16):b=0;159<a||c?(a+=96,c=1):c=0;a&=255;this.G=this.G&-256|a;yf(this,a,128);c?zf(this):Af(this);b?Hf(this):Ff(this);this.A-=this.B.He},function(){this.$a.call(this,ej)},function(){this.ea.call(this,fj)},function(){this.Oa.call(this,ej)},function(){this.V.call(this,fj)},function(){this.G=this.G&-256|ej.call(this,this.G&255,this.xa());this.A--},function(){this.G=this.G&~this.R|fj.call(this,this.G&this.R,this.Ma());this.A--},function(){this.S|=20;
this.ka=this.Ka=this.va;this.A-=this.B.od},function(){var a=this.G&255,b=uf(this),c=sf(this);9<(a&15)||b?(a-=6,b=16):b=0;159<a||c?(a-=96,c=1):c=0;a&=255;this.G=this.G&-256|a;yf(this,a,128);c?zf(this):Af(this);b?Hf(this):Ff(this);this.A-=this.B.He},function(){this.$a.call(this,mj)},function(){this.ea.call(this,nj)},function(){this.Oa.call(this,mj)},function(){this.V.call(this,nj)},function(){this.G=this.G&-256|mj.call(this,this.G&255,this.xa());this.A--},function(){this.G=this.G&~this.R|nj.call(this,
this.G&this.R,this.Ma());this.A--},function(){this.S|=20;this.ka=this.Ka=this.ta;this.A-=this.B.od},function(){var a,b,c=this.G&255,d=this.G>>8&255;9<(c&15)||uf(this)?(c+=6,80286<=this.ja&&255<c&&d++,d++,a=b=1):a=b=0;this.G=this.G&-65536|(d<<8|c)&65295;a?zf(this):Af(this);b?Hf(this):Ff(this);this.A-=this.B.He},function(){this.$a.call(this,Mh)},function(){this.ea.call(this,Nh)},function(){this.Oa.call(this,Mh)},function(){this.V.call(this,Nh)},function(){Mh.call(this,this.G&255,this.xa());this.A--},
function(){Nh.call(this,this.G&this.R,this.Ma());this.A--},function(){this.S|=20;this.ka=this.Ka=this.vb;this.A-=this.B.od},function(){var a,b,c=this.G&255,d=this.G>>8&255;9<(c&15)||uf(this)?(c=c-6&15,d=d-1&255,a=b=1):a=b=0;this.G=this.G&-65536|d<<8|c;a?zf(this):Af(this);b?Hf(this):Ff(this);this.A-=this.B.He},function(){this.G=rj.call(this,this.G)},function(){this.I=rj.call(this,this.I)},function(){this.M=rj.call(this,this.M)},function(){this.H=rj.call(this,this.H)},function(){G(this,rj.call(this,
I(this)))},function(){this.P=rj.call(this,this.P)},function(){this.K=rj.call(this,this.K)},function(){this.J=rj.call(this,this.J)},function(){this.G=pj.call(this,this.G)},function(){this.I=pj.call(this,this.I)},function(){this.M=pj.call(this,this.M)},function(){this.H=pj.call(this,this.H)},function(){G(this,pj.call(this,I(this)))},function(){this.P=pj.call(this,this.P)},function(){this.K=pj.call(this,this.K)},function(){this.J=pj.call(this,this.J)},function(){J(this,this.G&this.R);this.A-=this.B.Sc},
function(){J(this,this.I&this.R);this.A-=this.B.Sc},function(){J(this,this.M&this.R);this.A-=this.B.Sc},function(){J(this,this.H&this.R);this.A-=this.B.Sc},function(){J(this,I(this)-2&65535);this.A-=this.B.Sc},function(){J(this,this.P&this.R);this.A-=this.B.Sc},function(){J(this,this.K&this.R);this.A-=this.B.Sc},function(){J(this,this.J&this.R);this.A-=this.B.Sc},function(){this.G=this.G&~this.R|D(this);this.A-=this.B.zc},function(){this.I=this.I&~this.R|D(this);this.A-=this.B.zc},function(){this.M=
this.M&~this.R|D(this);this.A-=this.B.zc},function(){this.H=this.H&~this.R|D(this);this.A-=this.B.zc},function(){G(this,I(this)&~this.R|D(this));this.A-=this.B.zc},function(){this.P=this.P&~this.R|D(this);this.A-=this.B.zc},function(){this.K=this.K&~this.R|D(this);this.A-=this.B.zc},function(){this.J=this.J&~this.R|D(this);this.A-=this.B.zc},Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,Tj,Uj,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,Tj,Uj,Vj,function(){this.ya.call(this,kk,this.Ma);this.A-=-1===this.C?
1:this.B.Fg},Vj,function(){this.ya.call(this,kk,this.T);this.A-=-1===this.C?1:this.B.Fg},function(){this.$a.call(this,gj)},function(){this.ea.call(this,hj)},function(){this.Oa.call(this,kj)},function(){this.V.call(this,lj)},Xj,Yj,Zj,ak,function(){this.S|=1;this.ea.call(this,ii)},function(){this.S|=1;this.ka=this.Ka=this.rf;this.V.call(this,Zh)},function(){var a;this.V.call(this,hi);switch(this.L>>3&7){case 0:a=this.G;this.G=this.aa;yd(this,a);break;case 1:a=this.I;this.I=this.aa;nf(this,a);break;
case 2:a=this.M;this.M=this.aa;md(this,a);break;case 3:a=this.H;this.H=this.aa;xd(this,a);break;case 4:a=I(this);G(this,this.aa);80386<=this.ja?this.Nb.load(a):yd(this,a);break;case 5:a=this.P;this.P=this.aa;80386<=this.ja?this.Ob.load(a):nf(this,a);break;case 6:a=this.K;this.K=this.aa;md(this,a);break;case 7:a=this.J,this.J=this.aa,xd(this,a)}},function(){this.S|=1;this.U=this.fa;this.aa=D(this);this.ya.call(this,lk,yj);this.U=-1},function(){this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|
this.I&this.R;this.I=this.I&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.M&this.R;this.M=this.M&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.H&this.R;this.H=this.H&~this.R|a&this.R;this.A-=3},function(){var a=this.G,b=I(this);this.G=this.G&~this.R|b&this.R;G(this,b&~this.R|a&this.R);this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.P&this.R;this.P=this.P&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&
~this.R|this.K&this.R;this.K=this.K&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.J&this.R;this.J=this.J&~this.R|a&this.R;this.A-=3},function(){this.G=2==this.ba?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.M=2==this.ba?this.M&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.gj},function(){zj.call(this,this.Ma(),Uf(this));this.A-=this.B.jj},function(){this.A-=3},function(){var a=zd(this);a&131072&&3>this.Pa?C.call(this,
13,0):(J(this,a&-196609),this.A-=this.B.Sc)},function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var a=D(this),a=a&65535|this.ca&-65536;Ad(this,a);this.A-=this.B.zc}},function(){var a=this.G>>8&255;a&1?zf(this):Af(this);a&4?(this.resultType&=-3,this.ca|=4):(this.resultType&=-3,this.ca&=-5);a&16?Hf(this):Ff(this);a&64?If(this):Gf(this);a&128?(this.resultType&=-17,this.ca|=128):(this.resultType&=-17,this.ca&=-129);this.A-=this.B.gc},function(){this.G=this.G&-65281|(zd(this)&213)<<8;this.A-=
this.B.gc},function(){var a=this.G&-256,b;b=T(this);b=this.Qa(this.ka.mc(b,1));this.G=a|b;this.A-=this.B.Lh},function(){this.G=this.G&~this.R|vd(this,this.ka,T(this));this.A-=this.B.Lh},function(){var a=T(this),b=this.G;this.qc(this.ka.nc(a,1),b);this.A-=this.B.Mh},function(){var a=T(this),b=this.G;this.rc(this.ka.nc(a,this.ba),b);this.A-=this.B.Mh},function(){var a=1,b=0,c=this.Ba,d=this.B.Nh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Ph,this.Ia&256||(this.A-=this.B.Oh));if(a--){var e=this.Qa(this.ka.mc(this.K&
c,1));this.qc(this.Xa.nc(this.J&c,1),e);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-b&c;a&&(qf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Nh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Ph,this.Ia&256||(this.A-=this.B.Oh));if(a--){var e=vd(this,this.ka,this.K&c);this.rc(this.Xa.nc(this.J&c,this.ba),e);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-
b&c;a&&(qf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.yh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Ah,this.Ia&256||(this.A-=this.B.zh));if(a--){var e=Mf(this,this.ka,this.K),f=Mf(this,this.Xa,this.J);this.C=this.D;Mh.call(this,e,f);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&vf(this)==(this.Ia&64)&&(qf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.yh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Ah,
this.Ia&256||(this.A-=this.B.zh));if(a--){var e=Of(this,this.ka,this.K&c),f=Of(this,this.Xa,this.J&c);this.C=this.D;Nh.call(this,e,f);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&vf(this)==(this.Ia&64)&&(qf(this),this.S|=256)}},function(){yf(this,this.G&this.xa(),128);this.A-=this.B.He},function(){yf(this,this.G&this.Ma(),this.Ga);this.A-=this.B.He},function(){var a=1,b=0,c=this.Ba,d=this.B.Yh;this.Ia&192&&
(a=this.I&c,b=1,d=this.B.$h,this.Ia&256||(this.A-=this.B.Zh));if(a--){var e=this.G;this.qc(this.Xa.nc(this.J&c,1),e);this.I=this.I&~c|this.I-b&c;80546<=this.Uc&&80564>=this.Uc&&!(this.Ia&2048)!=(103!=this.Qa(this.Ha))&&(c^=-65536);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.A-=d;a&&(qf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Yh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.$h,this.Ia&256||(this.A-=this.B.Zh));if(a--){var e=this.G;this.rc(this.Xa.nc(this.J&c,this.ba),e);this.J=
this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(qf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Fh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Hh,this.Ia&256||(this.A-=this.B.Gh));if(a--){var e=this.Qa(this.ka.mc(this.K&c,1));this.G=this.G&-256|e;this.K=this.K&~c|this.K+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(qf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Fh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Hh,
this.Ia&256||(this.A-=this.B.Gh));if(a--){var e=vd(this,this.ka,this.K&c);this.G=this.G&~this.R|e;this.K=this.K&~c|this.K+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(qf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Sh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Uh,this.Ia&256||(this.A-=this.B.Th));if(a--){var e=this.G&255,f=Mf(this,this.Xa,this.J);this.C=this.D;Mh.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=
d-this.B.Vb;a&&vf(this)==(this.Ia&64)&&(qf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Sh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Uh,this.Ia&256||(this.A-=this.B.Th));if(a--){var e=this.G&this.R,f=Of(this,this.Xa,this.J&c);this.C=this.D;Nh.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&vf(this)==(this.Ia&64)&&(qf(this),this.S|=256)}},function(){this.G=this.G&-256|this.xa();this.A-=this.B.gc},function(){this.I=
this.I&-256|this.xa();this.A-=this.B.gc},function(){this.M=this.M&-256|this.xa();this.A-=this.B.gc},function(){this.H=this.H&-256|this.xa();this.A-=this.B.gc},function(){this.G=this.G&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.I=this.I&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.M=this.M&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.H=this.H&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.G=this.G&~this.R|this.Ma();this.A-=this.B.gc},function(){this.I=this.I&
~this.R|this.Ma();this.A-=this.B.gc},function(){this.M=this.M&~this.R|this.Ma();this.A-=this.B.gc},function(){this.H=this.H&~this.R|this.Ma();this.A-=this.B.gc},function(){G(this,I(this)&~this.R|this.Ma());this.A-=this.B.gc},function(){this.P=this.P&~this.R|this.Ma();this.A-=this.B.gc},function(){this.K=this.K&~this.R|this.Ma();this.A-=this.B.gc},function(){this.J=this.J&~this.R|this.Ma();this.A-=this.B.gc},ek,fk,ek,fk,function(){this.V.call(this,$h)},function(){this.V.call(this,Yh)},function(){this.S|=
1;this.Jb.call(this,mk,this.xa)},function(){this.S|=1;this.ya.call(this,mk,this.Ma)},gk,hk,gk,hk,function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var a=this.B.Aj;this.rb=-1;Aj.call(this,3,null,a)}},function(){var a=this.xa();if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var b;a:{b=this.Jd[a];if(void 0!==b)for(var c=0;c<b.length;c++)if(!b[c](this.Ha)){b=!1;break a}this.la.Oi&&A(this,16)&&nk(this.ha,a,this.Ha);b=!0}b?(this.rb=-1,Aj.call(this,a,null,0)):this.A--}},function(){if(xf(this))if(this.ca&
131072&&3>this.Pa)C.call(this,13,0);else{var a=this.B.Bj;this.rb=-1;Aj.call(this,4,null,a)}else this.A-=this.B.Cj},function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{this.sb=this.ta.Z;this.U=this.fa;this.A-=this.B.yj;if(this.Za&1&&this.ca&16384){var a=this.na(this.Sa.Aa+0);nd(this.va,a,!1)}else{var a=this.pa,b=D(this),c=D(this),d=D(this);if(this.ca&131072)d=d&131071|this.ca&-131072;else if(d&131072){var e=D(this),f=D(this),g=D(this),h=D(this),k=D(this),l=D(this);od(this,!0,!0);md(this,
f);G(this,e);yd(this,g);xd(this,h);this.Nb.load(k);this.Ob.load(l)}null!=Bd(this,b,c,!1)&&(Ad(this,d,a),this.oe&&hf(this,this.Ha))}this.sb=this.U=-1}},function(){this.Jb.call(this,bk,uj)},function(){this.ya.call(this,2==this.ba?ck:dk,uj)},function(){this.Jb.call(this,bk,vj)},function(){this.ya.call(this,2==this.ba?ck:dk,vj)},function(){var a=this.xa();if(a){var b=this.G&255;this.G=this.G&-65536|b/a<<8|b%a;yf(this,this.G,128);this.A-=this.B.dj}else Dj.call(this)},function(){var a=this.G&255,b=(this.G>>
8&255)*this.xa()|0,c=a+b|0;this.G=this.G&-65536|c&255;rf(this,a,b,c,191);this.A-=this.B.cj},function(){this.G=this.G&-256|(sf(this)?255:0);this.A-=2},function(){this.G=this.G&-256|Mf(this,this.ka,this.H+(this.G&255));this.A-=this.B.bk},function(){ik.call(this,216)},function(){ik.call(this,217)},function(){ik.call(this,218)},function(){ik.call(this,219)},function(){ik.call(this,220)},function(){ik.call(this,221)},function(){ik.call(this,222)},function(){ik.call(this,223)},function(){var a=this.T(),
b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&!vf(this)?(O(this,K(this)+a),this.A-=this.B.Jj):this.A-=this.B.Ih},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&vf(this)?(O(this,K(this)+a),this.A-=this.B.Jh):this.A-=this.B.Kh},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b?(O(this,K(this)+a),this.A-=this.B.Ij):this.A-=this.B.Ih},function(){var a=this.T();this.I&this.Ba?this.A-=this.B.Kh:(O(this,K(this)+a),this.A-=this.B.Jh)},function(){var a=this.xa();
Kf(this,a,1,!0)&&(this.G=this.G&-256|mc(this.ga,a,1,this.Ha-2)&255,this.A-=this.B.Dh)},function(){var a=this.xa();Kf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|mc(this.ga,a,this.ba,this.Ha-2)&this.R,this.A-=this.B.Dh)},function(){var a=this.xa();Kf(this,a,1,!1)&&(qc(this.ga,a,1,this.G&255,this.Ha-2),this.A-=this.B.Rh)},function(){var a=this.xa();Kf(this,a,this.ba,!1)&&(qc(this.ga,a,this.ba,this.G&this.R,this.Ha-2),this.A-=this.B.Rh)},function(){var a=this.Ma(),b=K(this),a=b+a;J(this,b);O(this,a);
this.A-=this.B.hj},function(){var a=this.Ma();O(this,K(this)+a);this.A-=this.B.Eh},function(){Bd(this,this.Ma(),Uf(this));this.A-=this.B.Ej},function(){var a=this.T();O(this,K(this)+a);this.A-=this.B.Eh},function(){var a=this.M&65535;Kf(this,a,1,!0)&&(this.G=this.G&-256|mc(this.ga,a,1,this.Ha-1)&255,this.A-=this.B.Ch)},function(){var a=this.M&65535;Kf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|mc(this.ga,a,this.ba,this.Ha-1)&this.R,this.A-=this.B.Ch)},function(){var a=this.M&65535;Kf(this,a,1,!1)&&
(qc(this.ga,a,1,this.G&255,this.Ha-1),this.A-=this.B.Qh)},function(){var a=this.M&65535;Kf(this,a,2,!1)&&(qc(this.ga,a,this.ba,this.G&this.R,this.Ha-1),this.A-=this.B.Qh)},jk,jk,function(){this.S|=132;this.A-=this.B.od},function(){this.S|=68;this.A-=this.B.od},function(){this.ca&131072?C.call(this,13,0):(this.ua|=4,this.A-=2,this.ha&&A(this,-2147483648)?(qf(this),this.ha.Wb()):this.ca&512||(this.ha&&qf(this),this.Wb()))},function(){sf(this)?Af(this):zf(this);this.A-=2},function(){this.cb=!1;this.Jb.call(this,
ok,xj);this.cb&&(this.G=this.G&~this.R|this.ia&this.R)},function(){this.cb=!1;this.ya.call(this,pk,xj);this.cb&&(this.G=this.G&~this.R|this.ia&this.R,this.M=this.M&~this.R|this.wa&this.R)},function(){Af(this);this.A-=2},function(){zf(this);this.A-=2},function(){this.pa>this.Pa?C.call(this,13,0):(this.ca&=-513,this.A-=this.B.fj)},function(){this.pa>this.Pa?C.call(this,13,0):(this.ca|=512,this.S|=4,this.A-=2)},function(){this.ca&=-1025;this.A-=2},function(){this.ca|=1024;this.A-=2},function(){this.Jb.call(this,
Fd,xj)},function(){this.ya.call(this,Gd,xj)}],Wj=[wh,ji,uh,Ci,yh,ej,mj,Mh],kk=[xh,Bi,vh,Di,zh,fj,nj,Nh],lk=[function(a,b){this.A-=-1===this.C?this.B.zc:this.B.Uj;return b},Ph,Ph,Ph,Ph,Ph,Ph,Ph],mk=[function(a,b){this.A-=-1===this.C?this.B.Mj:this.B.Kj;return b},Qh,Qh,Qh,Qh,Qh,Qh,Qh],bk=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<<d-1,c=(a<<d|a>>8-d)&255):e=a<<7;Df(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<<8-d,c=(a>>>d|e)&255):e=a;Df(this,c,e,
128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=Ef(this);(d%=9)?(c=(a<<d|e<<d-1|a>>9-d)&255,e=a<<d-1):e<<=7;Df(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=Ef(this);(d%=9)?(c=(a>>d|e<<8-d|a<<9-d)&255,e=a<<8-d):e<<=7;Df(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;8<d?c=0:(e=a<<d-1,c=e<<1&255);yf(this,c,128,e&128,(c^e)&128)}return c},function(a,b){var c=b&this.ra;c&&(c=8<c?0:a>>>c-1,a=c>>>1&255,yf(this,a,128,c&1,a&128));return a},Qh,
function(a,b){var c=b&this.ra;c&&(9<c&&(c=9),c=a<<24>>24>>c-1,a=c>>1&255,yf(this,a,128,c&1));return a}],ck=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<<d-1,c=(a<<d|a>>16-d)&65535):e=a<<15;Df(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<<16-d,c=(a>>>d|e)&65535):e=a;Df(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=Ef(this);(d%=17)?(c=(a<<d|e<<d-1|a>>17-d)&65535,e=a<<d-1):e<<=15;Df(this,c,e,32768)}return c},function(a,
b){var c=a,d=b&this.ra;if(d){var e=Ef(this);(d%=17)?(c=(a>>d|e<<16-d|a<<17-d)&65535,e=a<<16-d):e<<=15;Df(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;16<d?c=0:(e=a<<d-1,c=e<<1&65535);yf(this,c,32768,e&32768,(c^e)&32768)}return c},function(a,b){var c=b&this.ra;c&&(c=16<c?0:a>>>c-1,a=c>>>1&65535,yf(this,a,32768,c&1,a&32768));return a},Qh,function(a,b){var c=b&this.ra;c&&(17<c&&(c=17),c=a<<16>>16>>c-1,a=c>>1&65535,yf(this,a,32768,c&1));return a}],dk=[function(a,b){var c=
a,d=b&this.ra;d&&(c=a<<d|a>>>32-d,Df(this,c,a<<d-1,-2147483648));return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=a<<32-d,c=a>>>d|e;Df(this,c,e,-2147483648)}return c},function(a,b){var c=a,d=b&this.ra;d&&(c=Ef(this),c=a<<d|c<<d-1|a>>>32-d>>>1,Df(this,c,a<<d-1,-2147483648));return c},function(a,b){var c=a,d=b&this.ra;d&&(c=Ef(this),c=a>>>d|c<<32-d|a<<32-d<<1,Df(this,c,a<<32-d,-2147483648));return c},function(a,b){var c=a,d=b&this.ra;d&&(d=a<<d-1,c=d<<1,yf(this,c,-2147483648,d&-2147483648,(c^
d)&-2147483648));return c},function(a,b){var c=b&this.ra;c&&(c=a>>>c-1,a=c>>>1,yf(this,a,-2147483648,c&1,a&-2147483648));return a},Qh,function(a,b){var c=b&this.ra;c&&(c=a>>c-1,a=c>>1,yf(this,a,-2147483648,c&1));return a}],ok=[function(a,b){b=this.xa();yf(this,a&b,128);this.A-=-1===this.D?this.B.bi:this.B.ai;this.S|=2;return a},Qh,function(a){this.A-=-1===this.D?this.B.Tf:this.B.Sf;return a^255},function(a){var b=-a|0;rf(this,0,a,b,191,!0);this.A-=-1===this.D?this.B.Tf:this.B.Sf;return b&255},function(a){this.ia=
(this.G&255)*a&65535;this.ia&65280?(zf(this),Bf(this)):(Af(this),Cf(this));this.cb=!0;this.A-=-1===this.D?this.B.Qj:this.B.Pj;this.S|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24)|0;this.ia=b&65535;127<b||-128>b?(zf(this),Bf(this)):(Af(this),Cf(this));this.cb=!0;this.A-=-1===this.D?this.B.vj:this.B.uj;this.S|=2;return a},function(a,b){if(!a)return Dj.call(this),a;var c=(b=this.G&65535)/a;if(255<c)return Dj.call(this),a;this.ia=c&255|(b%a&255)<<8;this.cb=!0;this.A-=-1===this.D?this.B.nj:
this.B.mj;this.S|=2;return a},function(a,b){if(!a)return Dj.call(this),a;var c=a<<24>>24,d=(b=this.G<<16>>16)/c|0;if(d!=d<<24>>24||8086==this.ja&&-128==d)return Dj.call(this),a;this.ia=d&255|(b%c&255)<<8;this.cb=!0;this.A-=-1===this.D?this.B.rj:this.B.qj;this.S|=2;return a}],pk=[function(a,b){b=this.Ma();yf(this,a&b,this.Ga);this.A-=-1===this.D?this.B.bi:this.B.ai;this.S|=2;return a},Qh,function(a){this.A-=-1===this.D?this.B.Tf:this.B.Sf;return a^this.R},function(a){var b=-a|0;rf(this,0,a,b,this.Ga|
63,!0);this.A-=-1===this.D?this.B.Tf:this.B.Sf;return b&this.R},function(a,b){if(2==this.ba){b=this.G&65535;var c=b*a|0;this.ia=c&65535;this.wa=c>>16&65535}else Wh.call(this,a,this.G),80563==this.Uc&&68657152==this.G&&129==a&&(this.wa=0);this.wa?(zf(this),Bf(this)):(Af(this),Cf(this));this.cb=!0;this.A-=-1===this.D?this.B.Sj:this.B.Rj;this.S|=2;return a},function(a,b){var c;2==this.ba?(b=this.G&65535,c=(b<<16>>16)*(a<<16>>16)|0,this.ia=c&65535,this.wa=c>>16&65535,c=32767<c||-32768>c):(Vh.call(this,
a,this.G),c=this.wa!=this.ia>>31);c?(zf(this),Bf(this)):(Af(this),Cf(this));this.cb=!0;this.A-=-1===this.D?this.B.xj:this.B.wj;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Dj.call(this),a;b=65536*(this.M&65535)+(this.G&65535);var c=b/a;if(65536<=c)return Dj.call(this),a;this.ia=c&65535;this.wa=b%a&65535}else{if(!qj.call(this,this.G,this.M,a))return Dj.call(this),a;this.ia|=0;this.wa|=0}this.cb=!0;this.A-=-1===this.D?this.B.pj:this.B.oj;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Dj.call(this),
a;var c=a<<16>>16,d=(b=this.M<<16|this.G&65535)/c|0;if(d!=d<<16>>16||8086==this.ja&&-32768==d)return Dj.call(this),a;this.ia=d&65535;this.wa=b%c&65535}else{var c=this.G,d=this.M,e=a,f=0,g=0;0>e&&(e=-e|0,f=1-f);0>d&&(c=-c|0,d=~d+(c?0:1)|0,g=1,f=1-f);!qj.call(this,c,d,e)||this.ia>2147483647+f||this.wa>2147483647+g?c=!1:(f&&(this.ia=-this.ia),g&&(this.wa=-this.wa),c=!0);if(!c)return Dj.call(this),a;this.ia|=0;this.wa|=0}this.cb=!0;this.A-=-1===this.D?this.B.tj:this.B.sj;this.S|=2;return a}],Fd=[function(a){var b=
a+1|0;rf(this,a,1,b,190);this.A-=-1===this.D?this.B.Rf:this.B.Qf;return b&255},function(a){var b=a-1|0;rf(this,a,1,b,190,!0);this.A-=-1===this.D?this.B.Rf:this.B.Qf;return b&255},Qh,Qh,Qh,Qh,Qh,Qh],Gd=[function(a){var b=a+1|0;rf(this,a,1,b,this.Ga|62);this.A-=-1===this.D?this.B.Rf:this.B.Qf;return b&this.R},function(a){var b=a-1|0;rf(this,a,1,b,this.Ga|62,!0);this.A-=-1===this.D?this.B.Rf:this.B.Qf;return b&this.R},function(a){J(this,K(this));O(this,a);this.A-=-1===this.D?this.B.lj:this.B.kj;this.S|=
2;return a},function(a){if(-1===this.D)return Qh.call(this,a);this.U=this.fa;zj.call(this,a,this.na(this.D+this.ba));this.A-=this.B.ij;this.S|=2;this.U=-1;return a},function(a){O(this,a);this.A-=-1===this.D?this.B.Gj:this.B.Fj;this.S|=2;return a},function(a){if(-1===this.D)return Qh.call(this,a);Bd(this,a,this.na(this.D+this.ba));this.A-=this.B.Dj;this.S|=2;return a},function(a){var b=a;this.S&512&&(a=a-2&65535,80286>this.ja&&(b=a));J(this,b);this.A-=-1===this.D?this.B.Sc:this.B.Wj;this.S|=2;return a},
Qh];function qe(){this.V.call(this,jj);this.A-=-1===this.D?6:13}function re(){this.ea.call(this,ij);this.A-=-1===this.D?12:19}var ie=Array(256);ie[0]=function(){16>(this.Qa(this.Ha)&56)&&(this.S|=1);this.ya.call(this,this.jg,xj)};ie[1]=function(){this.Qa(this.Ha)&16||(this.S|=1);this.ya.call(this,qk,xj)};ie[2]=function(){!(this.Za&1)||this.ca&131072?C.call(this,6):this.V.call(this,Xh)};ie[3]=function(){!(this.Za&1)||this.ca&131072?C.call(this,6):this.V.call(this,ci)};
ie[5]=function(){this.pa?C.call(this,13,0,0,!0):(Jf(this,this.na(2054)),this.J=this.na(2086),this.K=this.na(2088),this.P=this.na(2090),this.H=this.na(2094),this.M=this.na(2096),this.I=this.na(2098),this.G=this.na(2100),ld(this.Xa,2102,this.na(2084)),ld(this.va,2108,this.na(2082)),ld(this.ta,2114,this.na(2080)),ld(this.vb,2120,this.na(2078)),Ad(this,this.na(2072)),O(this,this.na(2074)),G(this,this.na(2092)),this.Ec=this.na(2126)|this.Qa(2128)<<16,this.Bd=this.Ec+this.na(2130),this.Mc=this.na(2138)|
this.Qa(2140)<<16,this.Ud=this.Mc+this.na(2142),ld(this.Bc,2132,this.na(2076)),ld(this.Sa,2144,this.na(2070)),this.A-=195)};ie[6]=function(){this.pa?C.call(this,13,0):(this.Za&=-9,this.A-=2)};ie[11]=Id;ie[166]=Id;ie[255]=Id;var M=[];M[5]=Id;
M[7]=function(){if(this.pa)C.call(this,13,0,0,!0);else{var a=this.Xa.mc(this.J&this.Ba,204);if(-1!==a){sj.call(this,this.oa(a));var b=this.oa(a+168),c=(b&24576)>>13;Ad(this,this.oa(a+4),c);this.Ec=this.oa(a+112);this.Bd=this.Ec+this.oa(a+116);this.Mc=this.oa(a+100);this.Ud=this.Mc+this.oa(a+104);kd(this.Bc,this.oa(a+56),this.oa(a+120),this.oa(a+124),this.oa(a+128));kd(this.Sa,this.oa(a+52),this.oa(a+84),this.oa(a+88),this.oa(a+92));this.J=this.oa(a+12);this.K=this.oa(a+16);this.P=this.oa(a+20);this.H=
this.oa(a+28);this.M=this.oa(a+32);this.I=this.oa(a+36);this.G=this.oa(a+40);kd(this.Ob,this.oa(a+60),this.oa(a+132),this.oa(a+136),this.oa(a+140));kd(this.Nb,this.oa(a+64),this.oa(a+144),this.oa(a+148),this.oa(a+152));kd(this.vb,this.oa(a+68),this.oa(a+156),this.oa(a+160),this.oa(a+164));kd(this.ta,this.oa(a+72),b,this.oa(a+172),this.oa(a+176));kd(this.va,this.oa(a+76),this.oa(a+180),this.oa(a+184),this.oa(a+188));kd(this.Xa,this.oa(a+80),this.oa(a+192),this.oa(a+196),this.oa(a+200));O(this,this.oa(a+
8));G(this,this.oa(a+24))}this.A-=122<<(a&3?1:0)}};M[16]=Xj;M[17]=Yj;M[18]=Zj;M[19]=ak;M[32]=function(){if(this.pa)C.call(this,13,0);else{var a,b=this.xa();switch((b&56)>>3){case 0:a=this.Za;break;case 2:a=this.ue;break;case 3:a=this.Qd;break;default:je.call(this);return}ye(this,b&7,a);this.A-=6}};M[33]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?je.call(this):(ye(this,a&7,this.Ja[b]),this.A-=22)}};
M[34]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=xe(this,a&7);switch((a&56)>>3){case 0:sj.call(this,b);this.A-=10;break;case 2:this.ue=b;this.A-=4;break;case 3:Cd.call(this,b);this.A-=5;break;default:je.call(this)}}};M[35]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?je.call(this):(a=xe(this,a&7),a!=this.Ja[b]&&(jf(this,!1),this.Ja[b]=a,jf(this,!0)),this.A-=4>b?22:14)}};
M[36]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?je.call(this):(ye(this,a&7,this.Ce[b]),this.A-=12)}};M[38]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?je.call(this):(this.Ce[b]=xe(this,a&7),this.A-=12)}};M[128]=function(){var a=this.Ma();xf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[129]=function(){var a=this.Ma();xf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};
M[130]=function(){var a=this.Ma();sf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[131]=function(){var a=this.Ma();sf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[132]=function(){var a=this.Ma();vf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[133]=function(){var a=this.Ma();vf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[134]=function(){var a=this.Ma();sf(this)||vf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};
M[135]=function(){var a=this.Ma();sf(this)||vf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[136]=function(){var a=this.Ma();wf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[137]=function(){var a=this.Ma();wf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[138]=function(){var a=this.Ma();tf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[139]=function(){var a=this.Ma();tf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};
M[140]=function(){var a=this.Ma();!wf(this)!=!xf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[141]=function(){var a=this.Ma();!wf(this)==!xf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[142]=function(){var a=this.Ma();vf(this)||!wf(this)!=!xf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[143]=function(){var a=this.Ma();vf(this)||!wf(this)!=!xf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[144]=function(){tj.call(this,Ei)};
M[145]=function(){tj.call(this,Ei)};M[146]=function(){tj.call(this,Fi)};M[147]=function(){tj.call(this,Gi)};M[148]=function(){tj.call(this,Hi)};M[149]=function(){tj.call(this,Ii)};M[150]=function(){tj.call(this,Ji)};M[151]=function(){tj.call(this,Ki)};M[152]=function(){tj.call(this,Li)};M[153]=function(){tj.call(this,Mi)};M[154]=function(){tj.call(this,Ni)};M[155]=function(){tj.call(this,Oi)};M[156]=function(){tj.call(this,Pi)};M[157]=function(){tj.call(this,Qi)};M[158]=function(){tj.call(this,Ri)};
M[159]=function(){tj.call(this,Si)};M[160]=function(){wd(this,this.Nb.Z,this.ba,2);this.A-=this.B.Ie};M[161]=function(){this.U=this.fa;var a=D(this);this.Nb.load(a);this.A-=this.B.zc;this.U=-1};M[163]=function(){this.ea.call(this,Ih);-1!==this.D&&(this.A-=6)};M[164]=function(){this.ea.call(this,2==this.ba?Ti:Vi);this.A-=-1===this.D?3:7};M[165]=function(){this.ea.call(this,2==this.ba?Xi:Yi);this.A-=-1===this.D?3:7};M[168]=function(){wd(this,this.Ob.Z,this.ba,2);this.A-=this.B.Ie};
M[169]=function(){this.U=this.fa;var a=D(this);this.Ob.load(a);this.A-=this.B.zc;this.U=-1};M[171]=function(){this.ea.call(this,Lh);-1!==this.D&&(this.A-=5)};M[172]=function(){this.ea.call(this,2==this.ba?Zi:aj);this.A-=-1===this.D?3:7};M[173]=function(){this.ea.call(this,2==this.ba?cj:dj);this.A-=-1===this.D?3:7};M[175]=function(){this.V.call(this,2==this.ba?Sh:Uh)};M[178]=function(){this.V.call(this,di)};M[179]=function(){this.ea.call(this,Kh);-1!==this.D&&(this.A-=5)};
M[180]=function(){this.V.call(this,ai)};M[181]=function(){this.V.call(this,bi)};
M[182]=function(){this.Oa.call(this,fi);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|this.G&255;break;case 1:this.I=this.I&~this.R|this.I&255;break;case 2:this.M=this.M&~this.R|this.M&255;break;case 3:this.H=this.H&~this.R|this.H&255;break;case 4:this.gb=this.gb&~this.R|this.G>>8&255;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I>>8&255;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M>>8&255;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H>>8&255,this.H=this.aa}this.A-=
-1===this.D?3:6};M[183]=function(){ud(this,2);this.V.call(this,gi);switch(this.L>>3&7){case 0:this.G=this.G&65535;break;case 1:this.I=this.I&65535;break;case 2:this.M=this.M&65535;break;case 3:this.H=this.H&65535;break;case 4:this.gb=this.gb&65535;break;case 5:this.P=this.P&65535;break;case 6:this.K=this.K&65535;break;case 7:this.J=this.J&65535}this.A-=-1===this.D?3:6};M[186]=function(){this.ya.call(this,rk,this.xa)};M[187]=function(){this.ea.call(this,Jh);-1!==this.D&&(this.A-=5)};
M[188]=function(){this.V.call(this,Ch)};M[189]=function(){this.V.call(this,Dh)};
M[190]=function(){this.Oa.call(this,fi);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|(this.G&255)<<24>>24&this.R;break;case 1:this.I=this.I&~this.R|(this.I&255)<<24>>24&this.R;break;case 2:this.M=this.M&~this.R|(this.M&255)<<24>>24&this.R;break;case 3:this.H=this.H&~this.R|(this.H&255)<<24>>24&this.R;break;case 4:this.gb=this.gb&~this.R|this.G<<16>>24&this.R;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I<<16>>24&this.R;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M<<16>>24&
this.R;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H<<16>>24&this.R,this.H=this.aa}this.A-=-1===this.D?3:6};M[191]=function(){ud(this,2);this.V.call(this,gi);switch(this.L>>3&7){case 0:this.G=this.G<<16>>16;break;case 1:this.I=this.I<<16>>16;break;case 2:this.M=this.M<<16>>16;break;case 3:this.H=this.H<<16>>16;break;case 4:this.gb=this.gb<<16>>16;break;case 5:this.P=this.P<<16>>16;break;case 6:this.K=this.K<<16>>16;break;case 7:this.J=this.J<<16>>16}this.A-=-1===this.D?3:6};
var kf=[function(){this.A-=2+(-1===this.D?0:1);return this.Bc.Z},function(){this.A-=2+(-1===this.D?0:1);return this.Sa.Z},function(a){this.S|=2;this.Bc.load(a);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;-1!==this.Sa.load(a)&&(this.jb(this.Sa.Xb+4,this.Sa.wb|=512),this.Sa.type|=512);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Da.load(a)&&2048!=(this.Da.wb&2560)&&(this.Da.Gc>=this.pa&&this.Da.Gc>=(a&3)||7168==(this.Da.wb&7168)))return If(this),
a;Gf(this);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Da.load(a)&&512==(this.Da.wb&2560)&&this.Da.Gc>=this.pa&&this.Da.Gc>=(a&3))return If(this),a;Gf(this);return a},Qh,Qh],Hd=[ge,ge,ge,ge,ge,ge,Qh,Qh],qk=[function(a){if(-1===this.D)C.call(this,6);else{a=this.Bd-this.Ec;var b=this.Ec;80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=11}return a},function(a){if(-1===this.D)C.call(this,6);else{a=this.Ud-this.Mc;var b=this.Mc;
80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=12}return a},function(a){-1===this.D||this.ca&131072?C.call(this,6):(this.Ec=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Bd=this.Ec+a,this.S|=2,this.A-=11);return a},function(a){-1===this.D||this.ca&131072?C.call(this,6):(this.Mc=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Ud=this.Mc+a,this.S|=2,this.A-=12);return a},function(){this.A-=2+(-1===this.D?0:1);return this.Za},Qh,function(a){this.ca&
131072?C.call(this,6):(Jf(this,a),this.A-=-1===this.D?3:6,this.S|=2);return a},Qh],rk=[Qh,Qh,Qh,Qh,Eh,Hh,Gh,Fh];
function sk(a){Wa.call(this,"ChipSet",a,sk,32768);var b=a.model;b&&!tk[b]&&w("Unrecognized ChipSet model: "+b);this.ja=tk[b]||uk;this.C=[];b=vk(a[wk]);this.C[0]=[b,b];null==b&&(this.ia=[360,360],(b=a.floppies)&&b.length&&(this.ia=b),xk(this,yk,this.ia.length),xk(this,zk,a.monitor||(this.ja<fg?"mono":"ega")));b=vk(a[Ak]);this.C[1]=[b,b];this.cb=this.Da=1;this.ja>=fg&&(this.cb=this.Da=2);this.ka=a.scaleTimers||!1;this.Ub=a.rtcDate;this.Db=!1;a.sound&&(this.sb=this.Fa=null,window&&(this.sb=window.AudioContext||
window.webkitAudioContext),this.sb&&(this.Fa=new this.sb));this.reset(!0);ub(this)}fb(sk);var uk=5150.9,fg=5170,tk={5150:5150,5160:5160,5170:fg,att6300:5160.101,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:uk,deskpro386:5180},wk="sw1",Ak="sw2",Bk={Ek:1,ONE:0,ho:64,eo:128,In:192,Lc:192,Sg:6},Ck={fo:16,Bn:32,Qn:48,Lc:48,Sg:4},yk=1,zk=4,Dk={5150:[{},{}]};Dk[5150][0][yk]={Lc:192,hd:{1:0,2:64,3:128,4:192},Rd:"Number of Floppy Drives"};Dk[5150][0][3]={Lc:2,hd:{0:0,1:2},Rd:"Coprocessor"};
Dk[5150][0][zk]={Lc:48,hd:{0:0,1:16,2:32,3:48,none:0,tv:16,color:32,cga:32,mda:48,mono:48,ega:0,vga:0},Rd:"Monitor Type"};Dk[5150][0][5]={Lc:12,hd:{16:0,32:4,48:8,64:12},Rd:"Base Memory (16Kb Increments)"};Dk[5150][1][6]={Lc:31,hd:{0:0,32:1,64:2,96:3,128:4,160:5,192:6,224:7,256:8,288:9,320:10,352:11,384:12,416:13,448:14,480:15,512:16,544:17,576:18},Rd:"Expansion Memory (32Kb Increments)"};Dk[5160]=[{},{}];Dk[5160][0][yk]=Dk[5150][0][yk];Dk[5160][0][3]=Dk[5150][0][3];Dk[5160][0][zk]=Dk[5150][0][zk];
Dk[5160][0][5]={Lc:12,hd:{64:0,128:4,192:8,256:12},Rd:"Base Memory (64Kb Increments)"};Dk[5160][1][6]=Dk[5150][1][6];Dk[5160.101]=[{},{}];Dk[5160.101][0][5]={Lc:143,hd:{128:1,256:130,512:8,640:141},Rd:"Base Memory (128Kb Increments)"};Dk[5160.101][0][3]={Lc:16,hd:{0:0,1:16},Rd:"Coprocessor"};Dk[5160.101][1][2]={Lc:1,hd:{0:0,1:1},Rd:"Floppy Type"};Dk[5160.101][1][yk]=Dk[5150][0][yk];Dk[5160.101][1][zk]=Dk[5150][0][zk];m=sk.prototype;
m.Pb=function(a,b,c){switch(b){case wk:return this.qa[b]=c,Ek(this,0,b),!0;case Ak:if(5150==(this.ja|0)||5160.101==this.ja)return this.qa[b]=c,Ek(this,1,b),!0;break;case "swdesc":return this.qa[b]=c,!0}return!1};
m.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.X=a;this.Tb=Hb(a,"FPU");xk(this,3,this.Tb?1:0,!0);this.B=Hb(a,"Keyboard");this.gb=c.Y.Kd/1193181;lc(b,this,Fk);pc(b,this,Gk);this.ja<fg?5160.101!=this.ja?(lc(b,this,Hk),pc(b,this,Ik)):(lc(b,this,Jk),pc(b,this,Kk)):(lc(b,this,Lk),pc(b,this,Mk),5180==(this.ja|0)&&(lc(b,this,Nk),pc(b,this,Ok)));if(d){var e=this;Pk(d,1024,function(){for(var a=0;a<e.vc.length;a++){for(var b=e.vc[a],c="PIC"+a+":",d=0;d<b.Yc.length;d++)c+=" IC"+(d+1)+"="+t(b.Yc[d]);
c+=" IMR="+t(b.Cd)+" IRR="+t(b.lc)+" ISR="+t(b.Pc)+" DELAY="+b.of;e.ha.O(c)}});Pk(d,2048,function(a){a=(a=a[0])?+a:null;for(var b=0;b<e.V.length;b++)if(null==a||b==a){Qk(e,b);var c=e.V[b],d="TIMER"+b+":",l=0;if(null!=c.nd)for(var n=0;n<=c.nd;n++)l|=c.Ab[n]<<8*n;d+=" mode="+(c.mode>>1)+" bytes="+c.nd+" count="+u(l);e.ha.O(d)}});Pk(d,4096,function(){for(var a="",b=0;64>b;b++){var c=13>=b?Rk(e,b):e.A[b];a&&(a+="\n");a+="CMOS["+t(b)+"]: "+t(c)}e.ha.O(a)})}ff(c,26,this.dm.bind(this))};
m.ic=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};
m.reset=function(a){var b;Sk(this);this.L=Array(this.cb);for(b=0;b<this.cb;b++)Tk(this,b);this.vc=Array(this.Da);Uk(this,0,32);1<this.Da&&Uk(this,1,160);this.Pa=this.Oa=null;this.V=Array(5180==(this.ja|0)?6:3);for(b=0;b<this.V.length;b++)Vk(this,b);this.Ca=this.rb=this.W=this.$a=null;this.ya=0;5160.101==this.ja&&(this.wa=0);if(this.ja>=fg){this.N=16;this.ea=0;this.aa=16;this.Ja=0;this.fa=160;512<=Wk(this)&&(this.fa|=16);3==+Xk(this,zk,void 0)&&(this.fa|=64);5180==(this.ja|0)&&(this.fa|=12);this.Ka=
3;this.ra=Array(8);this.pa=0;a&&(this.A=Array(64));Yk(this,this.Ub);for(a=21;24>=a;a++)this.A[a]=0;for(a=14;46>a;a++)void 0===this.A[a]&&(this.A[a]=0);a=0|+Xk(this,zk,void 0)<<Ck.Sg&Ck.Lc;a|=+Xk(this,3,void 0)?2:0;b=+Xk(this,yk,void 0);a|=b?b-1<<Bk.Sg&Bk.Lc|Bk.Ek:0;this.A[20]=a;this.A[16]=Zk(this,0)<<4|Zk(this,1);$k(this)}};
function Yk(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.O("CMOS date invalid ("+b+"), using "+c)):b&&a.O("CMOS date: "+c);a.A[0]=c.getSeconds();a.A[1]=0;a.A[2]=c.getMinutes();a.A[3]=0;a.A[4]=c.getHours();a.A[5]=0;a.A[6]=c.getDay()+1;a.A[7]=c.getDate();a.A[8]=c.getMonth()+1;c=c.getFullYear();a.A[9]=c%100;c/=100;a.A[50]=c%10|c/10<<4;a.A[10]=38;a.A[11]=2;a.A[12]=0;a.A[13]=128;a.Ga=a.ua=0;a.Jb=a.fb=null}
function Rk(a,b){var c=a.A[b];if(10>b){var d=!1;4!=b&&5!=b||a.A[11]&2||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.A[11]&4||(d&&128<c&&(c-=48),c=c%10|c/10<<4)}else 10==b&&(a.A[b]^=128);return c}function al(a){var b;void 0===b&&(b=a.fb);a.ua=Zc(a.F,a.ka)+b;a.A[11]&64&&ad(a.F,b)}function $k(a){for(var b=0,c=16;46>c;c++)b+=a.A[c];a.A[47]=b&255;a.A[46]=b>>8}
m.save=function(){var a=new lf(this);N(a,0,[this.C]);for(var b=[],c=0;c<this.L;c++){for(var d=this.L[c],e=d,f=[],g=0;g<e.Dc.length;g++){var h=e.Dc[g];f[g]=[h.Ee,h.lg,h.Fc,h.Eb,h.Ab,h.mode,h.ng,h.un,h.vn]}b[c]=[d.Yb,d.Zg,d.Ai,d.Kb,f,d.Bi]}N(a,1,[b]);b=[];for(c=0;c<this.vc.length;c++)d=this.vc[c],b[c]=[d.of,d.Yc,d.$d,d.Cd,d.lc,d.Pc,d.ye,d.Df];N(a,2,[b]);b=[];for(c=0;c<this.V.length;c++)d=this.V[c],b[c]=[d.Fc,d.$c,d.Ab,d.ze,d.ah,d.mode,d.gg,d.Gd,d.nd,d.vd,d.$e,d.Be,d.xd,d.Yb,d.ef];N(a,3,[this.Oa,b,this.Pa]);
N(a,4,[this.$a,this.W,this.rb,this.Ca,this.ya]);this.ja>=fg&&(N(a,5,[this.N,this.ea,this.aa,this.Ja,this.fa,this.Ka]),N(a,6,[this.ra[7],this.ra,this.pa,this.A,this.Ga,this.ua]));return a.data()};
m.restore=function(a){var b,c;b=a[0];Array.isArray(b[0])?this.C=b[0]:(this.C[0][0]=b[0],this.C[1][0]=b[1]&15,this.C[0][1]=b[2],this.C[1][1]=b[3]&15);Sk(this);b=a[1];for(c=0;c<this.cb;c++)Tk(this,c,1==b.length?b[0][c]:b);b=a[2];for(c=0;c<this.Da;c++)Uk(this,c,0===c?32:160,b[0][c]);b=a[3];this.Oa=b[0];this.Pa=b[2];for(c=0;c<this.V.length;c++)Vk(this,c,b[1][c]);b=a[4];this.$a=b[0];this.W=b[1];this.rb=b[2];this.Ca=b[3];this.ya=b[4];if(b=a[5])this.N=b[0],this.ea=b[1],this.aa=b[2],this.Ja=b[3],this.fa=
b[4],this.Ka=b[5];if(b=a[6])this.ra=b[1],this.ra[7]=b[0],this.pa=b[2],this.A=b[3],this.Ga=b[4],this.ua=b[5],Yk(this);return!0};m.start=function(){bl(this)};m.stop=function(){bl(this)};var cl=[0,null,null,0,Array(4),0];function Tk(a,b,c){var d=a.L[b];d||(d={Dc:Array(4)});c=c&&5<=c.length?c:cl;d.Yb=c[0];d.Zg=c[1];d.Ai=c[2];d.Kb=c[3];d.km=b<<2;for(var e=0;e<d.Dc.length;e++)dl(d,e,c[4][e]);d.Bi=c[5]||0;a.L[b]=d}var el=[!0,[0,0],[0,0],[0,0],[0,0]];
function dl(a,b,c){var d=a.Dc[b];d||(d={lg:[0,0],Fc:[0,0],Eb:[0,0],Ab:[0,0]});c=c&&8==c.length?c:el;d.Ee=c[0];d.lg[0]=c[1][0];d.lg[1]=c[1][1];d.Fc[0]=c[2][0];d.Fc[1]=c[2][1];d.Eb[0]=c[3][0];d.Eb[1]=c[3][1];d.Ab[0]=c[4][0];d.Ab[1]=c[4][1];d.mode=c[5];d.ng=c[6];d.controller=a;d.Vi=b;fl(d,c[8],c[9]);a.Dc[b]=d}function fl(a,b,c,d){"string"==typeof b&&(b=jb(b));b&&(a.done=null,a.un=b.id,a.vn=c,a.sg=b,a.hh=b[c],a.Hg=d)}var gl=[0,Array(4)];
function Uk(a,b,c,d){var e=a.vc[b];e||(e={Yc:[null,null,null,null]});d=d&&8==d.length?d:gl;e.port=c;e.Ao=b<<3;e.of=d[0];e.Yc[0]=d[1][0];e.Yc[1]=d[1][1];e.Yc[2]=d[1][2];e.Yc[3]=d[1][3];e.$d=d[2];e.Cd=d[3];e.lc=d[4];e.Pc=d[5];e.ye=d[6];e.Df=d[7];a.vc[b]=e}var hl=[[0,0],[0,0],[0,0],[0,0]];
function Vk(a,b,c){var d=a.V[b];d||(d={Fc:[0,0],$c:[0,0],Ab:[0,0],ze:[0,0]});c=c&&13<=c.length?c:hl;d.Fc[0]=c[0][0];d.Fc[1]=c[0][1];d.$c[0]=c[1][0];d.$c[1]=c[1][1];d.Ab[0]=c[2][0];d.Ab[1]=c[2][1];d.ze[0]=c[3][0];d.ze[1]=c[3][1];d.ah=c[4];d.mode=c[5];d.gg=c[6];d.Gd=c[7];d.nd=c[8];d.vd=c[9];d.$e=c[10];d.Be=c[11];d.xd=c[12];d.Yb=c[13]||0;d.ef=c[14]||!1;a.V[b]=d}
function Ek(a,b,c){for(var d="",e=a.qa[c],f=1;8>=f;f++){var g="pcjs-bitCell";f||(g+=" pcjs-bitCellLeft");d+='<div id="'+(c+"-"+f)+'" class="'+g+'" data-value="0">'+f+"</div>\n"}e.innerHTML=d;il(a,b,c,!0)}function jl(a,b,c){if(b=(a=Dk[a.ja|0])&&a[b])for(var d in b)if(a=b[d],a.Lc&1<<c)return a;return null}
function Xk(a,b,c){for(var d=null,e=Dk[a.ja]||Dk[a.ja|0]||Dk[5150],f=0;f<e.length;f++){var g=e[f];if(g&&(g=g[b])){a=a.C[f][c?0:1]&g.Lc;for(var h in g.hd)if(g.hd[h]==a&&(d=h,"number"==typeof+d))break;break}}return d}function Zk(a,b){if(b<+Xk(a,yk,void 0)){if(!a.ia)return 1;if(b<a.ia.length)switch(a.ia[b]){case 160:case 180:case 320:case 360:return 1;case 720:return 3;case 1200:return 2;case 1440:return 4}}return 0}function Wk(a,b){return+Xk(a,5,b)+ +Xk(a,6,b)}
function vk(a,b){var c=b;if(a)for(var c=0,d=1,e=0;e<a.length;e++)"0"==a.charAt(e)&&(c|=d),d<<=1;return c}function xk(a,b,c,d){for(var e=Dk[a.ja]||Dk[a.ja|0]||Dk[5150],f=0;f<e.length;f++){var g=e[f];if(g&&(g=g[b]))for(var h in g.hd)if(h==c){a.C[f][d?0:1]&=~g.Lc;a.C[f][d?0:1]|=g.hd[h];return}}}function kl(a,b){a.setAttribute("data-value",b?"1":"0");a.style.color=b?"#ffffff":"#000000";a.style.backgroundColor=b?"#000000":"#ffffff"}function Sk(a){il(a,0,wk);il(a,1,Ak);ll(a)}
function il(a,b,c,d){if(c=a.qa[c]){d=d?a.C[b][0]:a.C[b][1]=a.C[b][0];c=pb(c,"pcjs-bitCell");for(var e=0;e<c.length;e++){var f=jl(a,b,e);c[e].setAttribute("title",f&&f.Rd||"Reserved");kl(c[e],d&1<<e?!1:!0);c[e].onclick=function(a,b){return function(){var c="1"!=b.getAttribute("data-value");kl(b,c);var d=b.getAttribute("id").split("-"),e=1<<+d[1]-1;switch(d[0]){case wk:a.C[0][0]=a.C[0][0]&~e|(c?0:e);break;case Ak:a.C[1][0]=a.C[1][0]&~e|(c?0:e)}ll(a)}}(a,c[e])}}}
function ll(a){var b=a.qa.swdesc;if(null!=b){var c;c=""+(Wk(a,!0)+"Kb");c+=", "+(+ +Xk(a,3,!0)?"":"No ")+"Coprocessor";c+=", "+{0:"Enhanced Color",1:"TV",2:"Color",3:"Monochrome"}[+Xk(a,zk,!0)]+" Monitor";c+=", "+ +Xk(a,yk,!0)+" Floppy Drives";if(null!=a.C[0][1]&&a.C[0][1]!=a.C[0][0]||null!=a.C[1][1]&&a.C[1][1]!=a.C[1][0])c+=" (Reset required)";b.textContent=c}}
function ml(a,b,c,d,e){var f=a.L[b],g=f.Dc[c],h=g.Eb[f.Kb];A(a,768)&&x(a,d,null,e,"DMA"+b+".CHANNEL"+c+".ADDR["+f.Kb+"]",h,!0);f.Kb^=1;b||0!=c||f.Kb||(g.Eb[0]++,255<g.Eb[0]&&(g.Eb[0]=0,g.Eb[1]++,255<g.Eb[1]&&(g.Eb[1]=0)));return h}function nl(a,b,c,d,e,f){var g=a.L[b];A(a,768)&&x(a,d,e,f,"DMA"+b+".CHANNEL"+c+".ADDR["+g.Kb+"]",null,!0);a=g.Dc[c];a.Eb[g.Kb]=a.lg[g.Kb]=e;g.Kb^=1}
function ol(a,b,c,d,e){var f=a.L[b],g=f.Dc[c],h=g.Ab[f.Kb];A(a,768)&&x(a,d,null,e,"DMA"+b+".CHANNEL"+c+".COUNT["+f.Kb+"]",h,!0);f.Kb^=1;b||0!=c||f.Kb||(g.Ab[0]--,0>g.Ab[0]&&(g.Ab[0]=255,g.Ab[1]--,0>g.Ab[1]&&(g.Ab[1]=255)));return h}function pl(a,b,c,d,e,f){var g=a.L[b];A(a,768)&&x(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.Kb+"]",null,!0);a=g.Dc[c];a.Ab[g.Kb]=a.Fc[g.Kb]=e;g.Kb^=1}function ql(a,b,c,d){var e=a.L[b],f=e.Yb|1;e.Yb&=-16;A(a,768)&&x(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f}
function rl(a,b,c,d,e){var f=a.L[b];A(a,768)&&x(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.Yb=f.Yb&~(16<<a)|(d&4)<<a+2;f.Ai=d}function sl(a,b,c,d,e){var f=a.L[b];A(a,768)&&x(a,c,d,e,"DMA"+b+".MASK",null,!0);b=d&3;c=f.Dc[b];c.Ee=!!(d&4);c.Ee||tl(a,f.km+b)}function ul(a,b,c,d,e){A(a,768)&&x(a,c,d,e,"DMA"+b+".MODE",null,!0);a.L[b].Dc[d&3].mode=d}function vl(a,b,c,d){var e=a.L[b].Bi;A(a,768)&&x(a,c,null,d,"DMA"+b+".TEMP",e,!0);return e}
function wl(a,b,c,d,e){A(a,768)&&x(a,c,d,e,"DMA"+b+".MASTER_CLEAR",null,!0);a=a.L[b];for(b=0;b<a.Dc.length;b++)dl(a,b)}function xl(a,b,c,d,e){var f=a.L[b].Dc[c].ng;A(a,768)&&x(a,d,null,e,"DMA"+b+".CHANNEL"+c+".PAGE",f,!0);return f}function yl(a,b,c,d,e,f){A(a,768)&&x(a,d,e,f,"DMA"+b+".CHANNEL"+c+".PAGE",null,!0);a.L[b].Dc[c].ng=e}function zl(a,b,c,d){var e=a.ra[b];A(a,768)&&x(a,c,null,d,"DMA.SPARE"+b+".PAGE",e,!0);return e}
function Al(a,b,c,d,e){A(a,768)&&x(a,c,d,e,"DMA.SPARE"+b+".PAGE",null,!0);a.ra[b]=d}function Bl(a,b,c,d,e){fl(a.L[b>>2].Dc[b&3],c,d,e)}function tl(a,b,c){b=a.L[b>>2].Dc[b&3];b.sg&&b.hh&&b.Hg?(c&&(b.done=c),b.Ee||Cl(a,b,!0)):c&&c(!0)}
function Cl(a,b,c){c&&(b.count=b.Ab[1]<<8|b.Ab[0],b.type=b.mode&12,b.Ri=b.ud=!1);for(var d=!1;0<=b.count&&(c=b.ng<<16|b.Eb[1]<<8|b.Eb[0],4==b.type?(d=!0,function(c){b.hh.call(b.sg,b.Hg,-1,function(f,g){0>f&&(b.Ri||(b.Ri=!0),f=255);b.Ee||a.ga.qc(c,f);(d=g)&&setTimeout(function(){Dl(b)||Cl(a,b)},0)})}(c)):8==b.type?(c=a.ga.Qa(c),0>b.hh.call(b.sg,b.Hg,c)&&(b.ud=!0)):0!=b.type&&(b.ud=!0)),!d&&!Dl(b););}
function Dl(a){if(!a.ud&&0<=--a.count&&(a.mode&32?(a.Eb[0]--,0>a.Eb[0]&&(a.Eb[0]=255,a.Eb[1]--,0>a.Eb[1]&&(a.Eb[1]=255))):(a.Eb[0]++,255<a.Eb[0]&&(a.Eb[0]=0,a.Eb[1]++,255<a.Eb[1]&&(a.Eb[1]=0))),!a.Ee))return!1;var b=a.controller;b.Yb=b.Yb&~(16<<a.Vi)|1<<a.Vi;a.mode&16||(a.Ee=!0,a.sg=a.Hg=null);a.done&&(a.done(!a.ud),a.done=null);return!0}function El(a,b,c){var d=0,e=a.vc[b];if(null!=e.Df)switch(e.Df&3){case 2:d=e.lc;break;case 3:d=e.Pc}A(a,34048)&&x(a,e.port,null,c,"PIC"+b,d,!0);return d}
function Fl(a,b,c,d){var e=a.vc[b];A(a,34048)&&x(a,e.port,c,d,"PIC"+b,null,!0);if(c&16)e.$d=0,e.Yc[e.$d++]=c,e.Cd=0,e.ye=7,e.lc=e.Pc=0,e.Df=10;else if(c&8)c&100&&A(a,1073741824)&&y(a,"PIC"+b+"("+t(e.port)+"): unsupported OCW3 command "+t(c),!0,!0),e.Df=c;else if(d=c&224,d&32){var f,g=0;if(96==(d&96))g=1<<(c&7);else for(f=e.ye+1;;){f&=7;var h=1<<f;if(e.Pc&h){g=h;break}if(f++==e.ye)break}e.Pc&g&&(e.Pc&=~g,Gl(a));d&128&&A(a,1073741824)&&y(a,"PIC"+b+"("+t(e.port)+"): unsupported OCW2 rotate command "+
t(c),!0,!0)}else 192==d?e.ye=c&7:A(a,1073741824)&&y(a,"PIC"+b+"("+t(e.port)+"): unsupported OCW2 automatic EOI command "+t(c),!0,!0)}function Hl(a,b,c){var d=a.vc[b],e=d.Cd;A(a,34048)&&x(a,d.port+1,null,c,"PIC"+b,e,!0);return e}function Il(a,b,c,d){var e=a.vc[b];A(a,34048)&&x(a,e.port+1,c,d,"PIC"+b,null,!0);e.$d<e.Yc.length?(e.Yc[e.$d++]=c,2==e.$d&&e.Yc[0]&2&&e.$d++,3!=e.$d||e.Yc[0]&1||e.$d++):(e.Cd=c,d=a.F,d.S|=4,Gl(a,b||253!=c?0:6))}
function hg(a,b,c){var d=a.vc[b>>3];b=1<<(b&7);d.lc&b||(d.lc|=b,d.of=c||0,Gl(a))}function gg(a,b){var c=a.vc[b>>3],d=1<<(b&7);c.lc&d&&(c.lc&=~d,Gl(a))}function Gl(a,b){var c,d=-1;1<a.Da&&(c=a.vc[1],d=~(c.Pc|c.Cd)&c.lc);c=a.vc[0];0<=d&&(c.lc=d?c.lc|4:c.lc&-5);var d=~(c.Pc|c.Cd)&c.lc,e=a.F;e.N&&(e.ua=d?e.ua|1:e.ua&-2);d&&b&&(c.of=b)}
function Xf(a,b){void 0===b&&(b=0);var c=-1,d=a.vc[b];if(d.of)c=-2,d.of--;else for(var e=d.lc&((d.Pc|d.Cd)^255),f=d.ye+1;;){var f=f&7,g=1<<f;if(d.Pc&g)break;if(e&g){b||2!=f?c=d.Yc[1]+f:c=Xf(a,1);0<=c&&(d.Pc|=g,d.lc&=~g);break}if(f++==d.ye)break}return c}function Jl(a,b,c,d,e){var f;f=b?3:0;var g=a.V[f+c];g.ef?(f=g.Yb,g.ef=!1):(g.Gd==g.nd&&Kl(a,f+c),g.$e?(f=g.ze[g.Gd++],g.Gd==g.nd&&(g.$e=!1)):(Qk(a,f+c),f=g.Ab[g.Gd++]));A(a,2304)&&x(a,d,null,e,"PIT"+b+".TIMER"+c,f,!0);return f}
function Ll(a,b,c,d,e,f){A(a,2304)&&x(a,d,e,f,"PIT"+b+".TIMER"+c,null,!0);f=b?3:0;d=a.V[f+c];d.Gd==d.nd&&Kl(a,f+c);d.Fc[d.Gd++]=e;d.Gd==d.nd&&(d.Be&&0!=d.mode&&8!=d.mode||(d.$e=!1,d.Ab[0]=d.$c[0]=d.Fc[0],d.Ab[1]=d.$c[1]=d.Fc[1],d.xd=Zc(a.F,a.ka),d.Be=!0,d.vd=0!=d.mode,0==b&&0==c&&(gg(a,0),e=Ml(a,0)*a.gb|0,6==d.mode&&(e>>=1),ad(a.F,e))),0==b&&2==c&&bl(a))}function Nl(a,b,c,d){x(a,c,null,d,"PIT"+b+".CTRL",null,2048);return b?a.Pa:a.Oa}
function Ol(a,b,c,d,e){x(a,c,d,e,"PIT"+b+".CTRL",null,2048);e=0;c=d&192;b?(e=3,a.Pa=d):a.Oa=d;if(192==c){if(!(d&16))for(c=0;2>=c;c++)if(d&2<<c){b=e+c;var f=a.V[b];f.ef||(Qk(a,b),f.Yb=f.ah|f.mode|f.gg|(f.Gd<f.nd?64:0)|(f.vd?128:0),f.ef=!0)}if(!(d&32))for(c=0;2>=c;c++)d&2<<c&&Pl(a,e+c)}else{c>>=6;var f=d&1,g=d&14;d&=48;if(0==d)Pl(a,e+c);else{e=e+c;var h=a.V[e];h.gg=d;h.mode=g;h.ah=f;h.Fc=[0,0];h.Ab=[0,0];h.ze=[0,0];h.vd=!1;h.$e=!1;h.Be=!1;h.ef=!1;Kl(a,e);0==b&&0==c&&gg(a,0);0==b&&2==c&&255==a.vc[0].Cd&&
77==a.W&&(b=a.V[0],b.$c[0]=b.Fc[0],b.$c[1]=b.Fc[1],b.xd=Zc(a.F,a.ka))}}}function Ml(a,b){var c=a.V[b],d=c.Fc[1]<<8|c.Fc[0];d||(d=1==c.nd?256:65536);return d}function ed(a,b){var c=a.V[b],d=c.$c[1]<<8|c.$c[0];d||(d=1==c.nd?256:65536);return d}function Pl(a,b){Qk(a,b);var c=a.V[b];c.ze[0]=c.Ab[0];c.ze[1]=c.Ab[1];c.$e=!0;Kl(a,b)}function Kl(a,b){var c=a.V[b];c.Gd=32==c.gg?1:0;c.nd=48==c.gg?2:1}
function Qk(a,b,c){var d=a.V[b];if(d.Be&&(2!=b||a.W&1)){var e=Zc(a.F,a.ka),f=(e-d.xd)/a.gb|0;0>f&&(d.xd=e,f=0);var g=Ml(a,b),h=ed(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.vd=!0,d.Be=!1,b||hg(a,0))):4==d.mode?(d.vd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.xd=e,!b&&d.vd&&hg(a,0))):6==d.mode&&(h-=f,0>=h&&(d.vd=!d.vd,h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.xd=e,!b&&d.vd&&hg(a,0)));d.Ab[0]=h&255;d.Ab[1]=h>>8&255;c&&(a.xd=0)}return d}
function dd(a,b){for(var c=0;c<a.V.length;c++)Qk(a,c,b);if(a.ja>=fg){var c=a.F.Y.Kd,d=Zc(a.F,a.ka);null==a.fb&&(a.Ga=Zc(a.F,a.ka),a.Jb=1024,a.fb=Math.floor(a.F.Y.Kd/a.Jb),al(a));d>=a.ua&&(a.A[12]|=64,a.A[11]&64&&(a.A[12]|=128,hg(a,8)),a.ua=d+a.fb);a.A[0]==a.A[1]&&a.A[2]==a.A[3]&&a.A[4]==a.A[5]&&(a.A[12]|=32,a.A[11]&32&&(a.A[12]|=128,hg(a,8)));var e=d-a.Ga,f=Math.floor(e/c);if(f&&!(a.A[11]&128)){for(;f--;)if(60<=++a.A[0]&&(a.A[0]=0,60<=++a.A[2]&&(a.A[2]=0,24<=++a.A[4]))){a.A[4]=0;a.A[6]=a.A[6]%7+1;
var g;g=a.A[9];var h=sa[a.A[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.A[7]>g&&(a.A[7]=1,12<++a.A[8]&&(a.A[8]=1,a.A[9]=(a.A[9]+1)%100))}a.A[12]|=16;a.A[11]&16&&(a.A[12]|=128,hg(a,8))}a.Ga=d-e%c}}m=sk.prototype;m.Nl=function(a,b){var c=this.$a;this.Ca&16&&(this.W&128?c=this.C[0][1]:this.B&&(c=Ql(this.B)));x(this,a,null,b,"PPI_A",c);return c};m.gn=function(a,b,c){x(this,a,b,c,"PPI_A");this.$a=b};m.Ol=function(a,b){var c=this.W;x(this,a,null,b,"PPI_B",c);return c};
m.hn=function(a,b,c){x(this,a,b,c,"PPI_B");Rl(this,b)};function Rl(a,b){var c=!!(b&2),d=!!(a.W&2);a.W=b;a.B&&Sl(a.B,!(b&128),!!(b&64));c!=d&&bl(a,c)}m.Pl=function(a,b){var c=0,c=5150==(this.ja|0)?this.W&4?c|this.C[1][1]&15:c|this.C[1][1]>>4&1:this.W&8?c|this.C[0][1]>>4:c|this.C[0][1]&15;this.W&1&&Qk(this,2).vd&&(c=this.W&2?c|32:c|16);x(this,a,null,b,"PPI_C",c,32896);return c};m.jn=function(a,b,c){x(this,a,b,c,"PPI_C");this.rb=b};m.Ql=function(a,b){var c=this.Ca;x(this,a,null,b,"PPI_CTRL",c);return c};
m.kn=function(a,b,c){x(this,a,b,c,"PPI_CTRL");this.Ca=b};m.Zk=function(a,b){var c=this.B?Ql(this.B):0;x(this,a,null,b,"8041_KBD",c);this.wa&=-2;return c};m.sm=function(a,b,c){x(this,a,b,c,"8041_KBD")};m.Yk=function(a,b){var c=this.W;x(this,a,null,b,"8041_CTRL",c);return c};m.rm=function(a,b,c){x(this,a,b,c,"8041_CTRL");Rl(this,b)};m.$k=function(a,b){var c=this.wa;x(this,a,null,b,"8041_STATUS",c);return c};
m.al=function(a,b){var c=this.Ja;x(this,a,null,b,"8042_OUTBUFF",c,16384);this.N&=-258;this.B&&Tl(this.B);return c};
m.um=function(a,b,c){x(this,a,b,c,"8042_INBUF.DATA",null,16384);if(this.N&8)switch(this.ea){case 96:Ul(this,b);break;case 209:Vl(this,b);break;default:if(Ul(this,this.aa&-17),this.B){a=this.B;c=b;var d=-1;A(a)&&y(a,"sendCmd("+t(c)+")");switch(a.V||c){case 255:d=250;Wl(a);break;case 243:a.V&&(c=0);Xl(a,250);a.V=c;break;case 237:a.V&&(c=0);Xl(a,250);a.V=c;break;default:y(a,"sendCmd(): unrecognized command")}Yl(this,d)}}this.ea=b;this.N&=-9};
m.bl=function(a,b){var c=this.W&-209|(Zc(this.F)&64?16:0);x(this,a,null,b,"8042_RWREG",c,16384);return c};m.vm=function(a,b,c){x(this,a,b,c,"8042_RWREG",null,16384);Rl(this,b)};m.cl=function(a,b){x(this,a,null,b,"8042_STATUS",this.N,16384);var c=this.N&255;this.N&256&&(this.N|=1,this.N&=-257);return c};
m.tm=function(a,b,c){x(this,a,b,c,"8042_INBUFF.CMD",null,16384);this.ea=b;this.N|=8;a=0;240<=this.ea&&(a=this.ea^15,this.ea=240);switch(this.ea){case 32:Yl(this,this.aa);break;case 173:Ul(this,this.aa|16);break;case 174:Ul(this,this.aa&-17);this.B&&Tl(this.B);break;case 170:this.B&&(a=this.B,a.A=[],A(a)&&y(a,"scan codes flushed"));Ul(this,this.aa|16);Yl(this,85);Vl(this,3);break;case 171:Yl(this,0);break;case 192:Yl(this,this.fa);break;case 208:Yl(this,this.Ka);break;case 224:Yl(this,this.aa&16?0:
1);break;case 240:a&1&&se(this.F)}};function Ul(a,b){a.aa=b;a.N=a.N&-5|b&4;a.B&&Sl(a.B,!!(b&8),!(b&16))}function Yl(a,b,c){0<=b&&(a.Ja=b,c?a.N|=1:(a.N&=-2,a.N|=256))}function Vl(a,b){a.Ka=b;Ub(a.ga,!!(b&2));b&1||se(a.F)}function Zl(a,b){a.ja<fg?(hg(a,1,4),a.wa|=1):a.aa&16||a.N&257||(Yl(a,b,!0),$l(a.B),hg(a,1,120))}function am(a,b,c,d){var e=a.C[b][1];x(a,c,null,d,"DIPSW-"+b,e,32768);return e}m.ql=function(a,b){x(this,a,null,b,"CMOS.ADDR",this.pa,4096);return this.pa};
m.Jm=function(a,b,c){x(this,a,b,c,"CMOS.ADDR",null,4096);this.pa=b;this.ya=b&128?0:128};m.rl=function(a,b){var c=this.pa&63,d=13>=c?Rk(this,c):this.A[c];A(this,4352)&&x(this,a,null,b,"CMOS.DATA["+t(c)+"]",d,!0);null!=b&&12==c&&(this.A[c]&=15,d&128&&gg(this,8),d&64&&this.A[11]&64&&al(this));return d};
m.Km=function(a,b,c){var d=this.pa&63;A(this,4352)&&x(this,a,b,c,"CMOS.DATA["+t(d)+"]",null,!0);a=b^this.A[d];if(13>=d){if(c=b,10>d){var e=!1;this.A[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23<c&&(c+=48),this.A[11]&2||(12>=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.A[d]=c;11==d&&a&64&&b&64&&al(this)};m.ik=function(a,b,c){x(this,a,b,c,"NMI");this.ya=b};m.Um=function(a,b,c){x(this,a,b,c,"FPU.CLEAR")};m.Vm=function(a,b,c){x(this,a,b,c,"FPU.RESET");this.Tb&&ag(this.Tb)};
m.dm=function(a){if(A(this,16)&&nk(this.ha,26,a)){var b=this.F.G>>8;gf(this.F,a,function(a,d){return function(e){d=Zc(a.F)-d;var f,g=a.F.M&255,h=a.F.M>>8,k=a.F.M&255,l=a.F.M>>8;if(2==b||3==b)f=" CH(hour)="+u(h)+" CL(min)="+t(g)+" DH(sec)="+t(l);else if(4==b||5==b)f=" CX(year)="+u(a.F.I)+" DH(month)="+t(l)+" DL(day)="+t(k);g=a.ha;h=d;g.message("INT "+t(26)+": C="+(sf(g.F)?1:0)+(f||"")+" (cycles="+h+(e?",level="+(e+1):"")+")")}}(this,Zc(this.F)))}return!0};
function bl(a,b){if(a.Fa)try{void 0!==b?a.Db=b:b=a.Db&&a.F&&a.F.la.Fb;var c=Math.round(1193181/Ml(a,2));if(20>c||2E4<c)b=!1;b?a.U?(a.U.frequency.value=c,A(a,33554432)&&y(a,"speaker set to "+c+"hz",!0)):(a.U=a.Fa.createOscillator(),a.U&&(a.U.type="number"==typeof a.U.type?1:"square",a.U.connect(a.Fa.destination),a.U.frequency.value=c,"start"in a.U?a.U.start(0):a.U.noteOn(0),A(a,33554432)&&y(a,"speaker on at "+c+"hz",!0))):a.U&&("stop"in a.U?a.U.stop(0):a.U.noteOff(0),a.U.disconnect(),delete a.U,A(a,
33554432)&&y(a,"speaker off at "+c+"hz",!0))}catch(d){a.Na("AudioContext exception: "+d.message),a.Fa=null}else b&&y(a,"BEEP",33554432)}
var Fk={0:function(a,b){return ml(this,0,0,a,b)},1:function(a,b){return ol(this,0,0,a,b)},2:function(a,b){return ml(this,0,1,a,b)},3:function(a,b){return ol(this,0,1,a,b)},4:function(a,b){return ml(this,0,2,a,b)},5:function(a,b){return ol(this,0,2,a,b)},6:function(a,b){return ml(this,0,3,a,b)},7:function(a,b){return ol(this,0,3,a,b)},8:function(a,b){return ql(this,0,a,b)},13:function(a,b){return vl(this,0,a,b)},32:function(a,b){return El(this,0,b)},33:function(a,b){return Hl(this,0,b)},64:function(a,
b){return Jl(this,0,0,a,b)},65:function(a,b){return Jl(this,0,1,a,b)},66:function(a,b){return Jl(this,0,2,a,b)},67:function(a,b){return Nl(this,0,a,b)},129:function(a,b){return xl(this,0,2,a,b)},130:function(a,b){return xl(this,0,3,a,b)},131:function(a,b){return xl(this,0,1,a,b)},135:function(a,b){return xl(this,0,0,a,b)}},Hk={96:sk.prototype.Nl,97:sk.prototype.Ol,98:sk.prototype.Pl,99:sk.prototype.Ql},Lk={96:sk.prototype.al,97:sk.prototype.bl,100:sk.prototype.cl,112:sk.prototype.ql,113:sk.prototype.rl,
128:function(a,b){return zl(this,7,a,b)},132:function(a,b){return zl(this,0,a,b)},133:function(a,b){return zl(this,1,a,b)},134:function(a,b){return zl(this,2,a,b)},136:function(a,b){return zl(this,3,a,b)},137:function(a,b){return xl(this,1,2,a,b)},138:function(a,b){return xl(this,1,3,a,b)},139:function(a,b){return xl(this,1,1,a,b)},140:function(a,b){return zl(this,4,a,b)},141:function(a,b){return zl(this,5,a,b)},142:function(a,b){return zl(this,6,a,b)},143:function(a,b){return xl(this,1,0,a,b)},160:function(a,
b){return El(this,1,b)},161:function(a,b){return Hl(this,1,b)},192:function(a,b){return ml(this,1,0,a,b)},194:function(a,b){return ol(this,1,0,a,b)},196:function(a,b){return ml(this,1,1,a,b)},198:function(a,b){return ol(this,1,1,a,b)},200:function(a,b){return ml(this,1,2,a,b)},202:function(a,b){return ol(this,1,2,a,b)},204:function(a,b){return ml(this,1,3,a,b)},206:function(a,b){return ol(this,1,3,a,b)},208:function(a,b){return ql(this,1,a,b)},218:function(a,b){return vl(this,1,a,b)}},Jk={96:sk.prototype.Zk,
97:sk.prototype.Yk,100:sk.prototype.$k,102:function(a,b){return am(this,0,a,b)},103:function(a,b){return am(this,1,a,b)}},Nk={72:function(a,b){return Jl(this,1,0,a,b)},73:function(a,b){return Jl(this,1,1,a,b)},74:function(a,b){return Jl(this,1,2,a,b)},75:function(a,b){return Nl(this,1,a,b)}},Gk={0:function(a,b,c){nl(this,0,0,a,b,c)},1:function(a,b,c){pl(this,0,0,a,b,c)},2:function(a,b,c){nl(this,0,1,a,b,c)},3:function(a,b,c){pl(this,0,1,a,b,c)},4:function(a,b,c){nl(this,0,2,a,b,c)},5:function(a,b,
c){pl(this,0,2,a,b,c)},6:function(a,b,c){nl(this,0,3,a,b,c)},7:function(a,b,c){pl(this,0,3,a,b,c)},8:function(a,b,c){A(this,768)&&x(this,a,b,c,"DMA0.CMD",null,!0);this.L[0].Zg=b},9:function(a,b,c){rl(this,0,a,b,c)},10:function(a,b,c){sl(this,0,a,b,c)},11:function(a,b,c){ul(this,0,a,b,c)},12:function(a,b,c){A(this,768)&&x(this,a,b,c,"DMA0.RESET_FF",null,!0);this.L[0].Kb=0},13:function(a,b,c){wl(this,0,a,b,c)},32:function(a,b,c){Fl(this,0,b,c)},33:function(a,b,c){Il(this,0,b,c)},64:function(a,b,c){Ll(this,
0,0,a,b,c)},65:function(a,b,c){Ll(this,0,1,a,b,c)},66:function(a,b,c){Ll(this,0,2,a,b,c)},67:function(a,b,c){Ol(this,0,a,b,c)},129:function(a,b,c){yl(this,0,2,a,b,c)},130:function(a,b,c){yl(this,0,3,a,b,c)},131:function(a,b,c){yl(this,0,1,a,b,c)},135:function(a,b,c){yl(this,0,0,a,b,c)}},Ik={96:sk.prototype.gn,97:sk.prototype.hn,98:sk.prototype.jn,99:sk.prototype.kn,160:sk.prototype.ik},Mk={96:sk.prototype.um,97:sk.prototype.vm,100:sk.prototype.tm,112:sk.prototype.Jm,113:sk.prototype.Km,128:function(a,
b,c){Al(this,7,a,b,c)},132:function(a,b,c){Al(this,0,a,b,c)},133:function(a,b,c){Al(this,1,a,b,c)},134:function(a,b,c){Al(this,2,a,b,c)},136:function(a,b,c){Al(this,3,a,b,c)},137:function(a,b,c){yl(this,1,2,a,b,c)},138:function(a,b,c){yl(this,1,3,a,b,c)},139:function(a,b,c){yl(this,1,1,a,b,c)},140:function(a,b,c){Al(this,4,a,b,c)},141:function(a,b,c){Al(this,5,a,b,c)},142:function(a,b,c){Al(this,6,a,b,c)},143:function(a,b,c){yl(this,1,0,a,b,c)},160:function(a,b,c){Fl(this,1,b,c)},161:function(a,b,
c){Il(this,1,b,c)},192:function(a,b,c){nl(this,1,0,a,b,c)},194:function(a,b,c){pl(this,1,0,a,b,c)},196:function(a,b,c){nl(this,1,1,a,b,c)},198:function(a,b,c){pl(this,1,1,a,b,c)},200:function(a,b,c){nl(this,1,2,a,b,c)},202:function(a,b,c){pl(this,1,2,a,b,c)},204:function(a,b,c){nl(this,1,3,a,b,c)},206:function(a,b,c){pl(this,1,3,a,b,c)},208:function(a,b,c){A(this,768)&&x(this,a,b,c,"DMA1.CMD",null,!0);this.L[1].Zg=b},210:function(a,b,c){rl(this,1,a,b,c)},212:function(a,b,c){sl(this,1,a,b,c)},214:function(a,
b,c){ul(this,1,a,b,c)},216:function(a,b,c){A(this,768)&&x(this,a,b,c,"DMA1.RESET_FF",null,!0);this.L[1].Kb=0},218:function(a,b,c){wl(this,1,a,b,c)},240:sk.prototype.Um,241:sk.prototype.Vm},Kk={96:sk.prototype.sm,97:sk.prototype.rm,160:sk.prototype.ik},Ok={72:function(a,b,c){Ll(this,1,0,a,b,c)},73:function(a,b,c){Ll(this,1,1,a,b,c)},74:function(a,b,c){Ll(this,1,2,a,b,c)},75:function(a,b,c){Ol(this,1,a,b,c)}};
Sa(function(){for(var a=pb(document,"pcx86","chipset"),b=0;b<a.length;b++){var c=a[b],d=mb(c),d=new sk(d);ob(d,c);ll(d)}});
function bm(a){Wa.call(this,"ROM",a,bm);this.A=null;this.X=a.addr;this.C=a.size;this.N=a.alias;this.L=a.file;this.B=a.notify;this.V=null;if(this.B&&(a=this.B.indexOf("["),0<a)){try{this.V=eval(this.B.substr(a))}catch(d){}this.B=this.B.substr(0,a)}if(this.L){a=this.L;var b=ga(fa(a));"json"!=b&&"hex"!=b&&(a=ya()+"/api/v1/dump?file="+this.L+"&format=bytes&decimal=true");var c=this;xa(a,null,!0,function(a,b,f){cm(c,a,b,f)})}}fb(bm);bm.prototype.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;dm(this)};
bm.prototype.ic=function(){this.Sd&&(this.ha&&em(this.ha,this.id,0,this.X>>>4,0,this.X,this.C,this.Sd),delete this.Sd);return!0};bm.prototype.hc=function(){return!0};
function cm(a,b,c,d){if(d)a.Na("Unable to load system ROM (error "+d+": "+b+")");else{hb(a.fe,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c<g.length;c++)a.A[d++]=g[c]&255,a.A[d++]=g[c]>>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Sd=e.symbols;if(!a.A.length){w("Empty ROM: "+b);return}if(1==a.A.length){w(a.A[0]);return}}catch(h){a.Na("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm,
" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e<b.length;e++)a.A[e]=ca(b[e],16);dm(a)}}
function dm(a){if(!vb(a))if(!a.L)ub(a);else if(a.A&&a.ga){a.C||(a.C=a.A.length);if(a.A.length!=a.C)wb(a,"ROM size (0x"+r(a.A.length)+") does not match specified size ("+("0x"+r(a.C))+")");else{var b;b=a.X;if(Vb(a.ga,b,a.C,dc)){for(var c=0;c<a.A.length;c++){var d=a.ga,e=b+c;d.sa[(e&d.Hb)>>>d.La].xf(e&d.A,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.N?b.push(a.N):null!=a.N&&a.N.length&&(b=a.N);for(c=0;c<b.length;c++){var d=a,e=b[c],f=ac(d.ga,d.X,d.C);$b(d.ga,e,d.C,f)}a.B&&((b=jb(a.B,a.id))?
(c=a.A,d=a.V,5==b.Ua?fm(b,c,d||[12640,8752],8):b.Ua==gm&&fm(b,c,d||[14221,16269],8),ub(b)):a.Na("Unable to find component: "+a.B));delete a.A}}ub(a)}}Sa(function(){for(var a=pb(document,"pcx86","rom"),b=0;b<a.length;b++){var c=a[b],d=mb(c),d=new bm(d);ob(d,c)}});function hm(a){Wa.call(this,"RAM",a,hm);this.B=a.addr;this.A=a.size;this.L=a.test;this.X=!!this.A;this.C=!1}fb(hm);m=hm.prototype;m.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.N=Hb(a,"ChipSet");ub(this)};
m.ic=function(a,b){return!b&&(this.reset(),a&&this.controller&&!this.restore(a))?!1:!0};m.hc=function(a){return a&&this.controller?this.save():!0};
m.reset=function(){if(!this.B&&!this.X&&this.N){var a=1024*Wk(this.N);this.A&&a!=this.A&&(cc(this.ga,this.B,this.A),this.C=!1);this.A=a}!this.C&&this.A&&Vb(this.ga,this.B,this.A,1)&&(this.C=!0,"ramCPQ"==this.zd&&(this.controller=new im(this),Vb(this.ga,jm,4,4,this.controller)));if(this.C){if(this.L||jc(this.ga,1138,4660),"ramCPQ"!=this.zd&&this.N&&(a=this.N,a.A)){var b=1048576>this.B?21:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+1]=c>>8;$k(a)}}else w("No RAM allocated")};
m.save=function(){var a=new lf(this);this.controller&&N(a,0,this.controller.save());return a.data()};m.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function im(a){this.N=a;this.C=km;this.ha=lm;this.B=mm;this.A=null}var jm=-2134900736,km=65535,lm=2575,mm=2,nm=[null,0],om=[function(a){return this.controller.Qa(a)},null,null,function(a,b){this.controller.qc(a,b)},null,null];m=im.prototype;m.save=function(){return[this.C,this.B]};
m.restore=function(a){this.qc(0,a[0]&255);this.qc(2,a[1]&255);return!0};m.Qa=function(a){var b=255;2>a?b=a&1?this.ha>>8:this.ha&255:4>a&&(b=a&1?this.B>>8:this.B&255);return b};m.qc=function(a,b){if(a)2==a&&(this.B=this.B&-256|b);else if(b!=(this.C&255)){var c=this.N.ga;if(b&1)this.A&&($b(c,917504,131072,this.A),this.A=null);else{this.A||(this.A=ac(c,917504,131072));var d=ac(c,16646144,131072);$b(c,917504,131072,d,b&2?1:dc)}this.C=this.C&-256|b}};m.Ti=function(){return nm};m.ih=function(){return om};
Sa(function(){for(var a=pb(document,"pcx86","ram"),b=0;b<a.length;b++){var c=a[b],d=mb(c),d=new hm(d);ob(d,c)}});function pm(a){Wa.call(this,"Keyboard",a,pm,65536);qm(this,a.model);this.ia=Ia("Mobi");this.pa=Ia("MSIE");y(this,"mobile keyboard support: "+(this.ia?"true":"false"));this.fa=0;this.ka=this.eh=!1;this.B=[];this.ua=50;ub(this)}fb(pm);
var rm=["US83","US84","US101"],X={Cn:1,Dn:3,En:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,yn:65,zn:66,An:67,Fn:68,E:69,Gn:70,Jn:71,Kn:72,Ln:73,Mn:74,Nn:75,On:76,Pn:77,Rn:78,Sn:79,Tn:80,Q:81,Un:82,Yn:83,co:84,io:85,jo:86,ko:87,mo:88,no:89,oo:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,po:97,qo:98,so:99,d:100,e:101,to:102,uo:103,vo:104,
wo:105,xo:106,k:107,yo:108,zo:109,n:110,Bo:111,p:112,q:113,r:114,Co:115,t:116,Eo:117,Fo:118,Go:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},sm={};sm[186]=X[";"];sm[187]=X["="];sm[188]=X[","];sm[189]=X["-"];sm[190]=X["."];sm[191]=X["/"];sm[192]=X["`"];sm[219]=X["["];sm[220]=X["\\"];sm[221]=X["]"];sm[222]=X["'"];sm[173]=X["-"];var tm={};tm[X["1"]]=X["!"];tm[X["2"]]=X["@"];tm[X["3"]]=X["#"];tm[X["4"]]=X.$;tm[X["5"]]=X["%"];tm[X["6"]]=X["^"];tm[X["7"]]=X["&"];tm[X["8"]]=X["*"];tm[X["9"]]=X["("];
tm[X["0"]]=X[")"];tm[186]=X[":"];tm[187]=X["+"];tm[188]=X["<"];tm[189]=X._;tm[190]=X[">"];tm[191]=X["?"];tm[192]=X["~"];tm[219]=X["{"];tm[220]=X["|"];tm[221]=X["}"];tm[222]=X['"'];tm[173]=X._;tm[61]=X["+"];tm[59]=X[":"];
var um={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},vm={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,SYSREQ:4027,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046,CTRL_ALT_INS:4045,CTRL_ALT_ENTER:4013},wm={esc:1027,1:X["1"],2:X["2"],3:X["3"],4:X["4"],5:X["5"],6:X["6"],7:X["7"],8:X["8"],9:X["9"],0:X["0"],"-":X["-"],"=":X["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89,
u:85,i:73,o:79,p:80,"[":X["["],"]":X["]"],enter:13,ctrl:1017,a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":X[";"],quote:X["'"],"`":X["`"],shift:1016,"\\":X["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":X[","],".":X["."],"/":X["/"],"right-shift":3016,prtsc:1044,alt:1018,space:1032,"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,"num-lock":1144,"scroll-lock":1145,"num-home":1036,"num-up":1038,"num-pgup":1033,"num-sub":1109,"num-left":1037,"num-center":1101,
"num-right":1039,"num-add":1107,"num-end":1035,"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046,sysreq:84},xm={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},Y={1027:1};Y[X["1"]]=2;Y[X["!"]]=10754;Y[X["2"]]=3;Y[X["@"]]=10755;Y[X["3"]]=4;Y[X["#"]]=10756;Y[X["4"]]=5;Y[X.$]=10757;Y[X["5"]]=6;Y[X["%"]]=10758;Y[X["6"]]=7;Y[X["^"]]=10759;Y[X["7"]]=8;Y[X["&"]]=10760;Y[X["8"]]=9;Y[X["*"]]=10761;Y[X["9"]]=10;Y[X["("]]=10762;Y[X["0"]]=11;Y[X[")"]]=10763;Y[X["-"]]=12;Y[X._]=10764;
Y[X["="]]=13;Y[X["+"]]=10765;Y[1008]=14;Y[1009]=15;Y[113]=16;Y[81]=10768;Y[119]=17;Y[87]=10769;Y[101]=18;Y[69]=10770;Y[114]=19;Y[82]=10771;Y[116]=20;Y[84]=10772;Y[121]=21;Y[89]=10773;Y[117]=22;Y[85]=10774;Y[105]=23;Y[73]=10775;Y[111]=24;Y[79]=10776;Y[112]=25;Y[80]=10777;Y[X["["]]=26;Y[X["{"]]=10778;Y[X["]"]]=27;Y[X["}"]]=10779;Y[13]=28;Y[1017]=29;Y[97]=30;Y[65]=10782;Y[115]=31;Y[83]=10783;Y[100]=32;Y[68]=10784;Y[102]=33;Y[70]=10785;Y[103]=34;Y[71]=10786;Y[104]=35;Y[72]=10787;Y[106]=36;Y[74]=10788;
Y[107]=37;Y[75]=10789;Y[108]=38;Y[76]=10790;Y[X[";"]]=39;Y[X[":"]]=10791;Y[X["'"]]=40;Y[X['"']]=10792;Y[X["`"]]=41;Y[X["~"]]=10793;Y[1016]=42;Y[X["\\"]]=43;Y[X["|"]]=10795;Y[122]=44;Y[90]=10796;Y[120]=45;Y[88]=10797;Y[99]=46;Y[67]=10798;Y[118]=47;Y[86]=10799;Y[98]=48;Y[66]=10800;Y[110]=49;Y[78]=10801;Y[109]=50;Y[77]=10802;Y[X[","]]=51;Y[X["<"]]=10803;Y[X["."]]=52;Y[X[">"]]=10804;Y[X["/"]]=53;Y[X["?"]]=10805;Y[3016]=54;Y[1044]=55;Y[1018]=56;Y[1032]=57;Y[1020]=58;Y[1112]=59;Y[1113]=60;Y[1114]=61;
Y[1115]=62;Y[1116]=63;Y[1117]=64;Y[1118]=65;Y[1119]=66;Y[1120]=67;Y[1121]=68;Y[1144]=69;Y[1145]=70;Y[1036]=71;Y[1038]=72;Y[1033]=73;Y[1109]=74;Y[1037]=75;Y[1101]=76;Y[1039]=77;Y[1107]=78;Y[1035]=79;Y[1040]=80;Y[1034]=81;Y[1045]=82;Y[1046]=83;Y[4027]=84;Y[1122]=87;Y[1123]=88;Y[1091]=91;Y[1093]=93;Y[1224]=91;Y[4003]=7470;Y[4008]=7494;Y[4046]=3677523;Y[4045]=3677522;Y[4013]=3677468;m=pm.prototype;
m.Pb=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.qa[f])switch(b){case "kbd":return c.onkeydown=function(a){return ym(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.L="";var b=!Y[a]||!!(e.xc&128);b||zm(e,a,!0);return b},c.onkeyup=function(a){return ym(e,a,!1)},!0;case "caps-lock":return this.qa[f]=c,c.onclick=function(){e.X&&e.X.yd();zm(e,1020,!0)},!0;case "num-lock":return this.qa[f]=c,c.onclick=function(){e.X&&e.X.yd();zm(e,1144,!0)},!0;case "scroll-lock":return this.qa[f]=
c,c.onclick=function(){e.X&&e.X.yd();zm(e,1145,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==vm[g]&&"button"==a)return this.qa[f]=c,c.onclick=function(a,b,c){return function(){a.X&&a.X.yd();Am(a,c,!0);zm(a,c,!0)}}(this,g,vm[g]),!0;if(void 0!==wm[b])return this.fa++,this.qa[f]=c,a=function(a,b,c){return function(){zm(a,c)}}(this,b,wm[b]),b=function(a,b,c){return function(){Bm(a,c)}}(this,b,wm[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=
c.onmouseout=b),!0;if(d)return this.qa[f]=c,c.onclick=function(){e.X&&e.X.yd();d&&!e.L&&(e.L=d,Cm(e,300))},!0}return!1};function Dm(a,b,c){if(a.fa){for(var d in tm)if(b==tm[d]){b=+d;(d=sm[d])&&(b=d);break}for(var e in wm)if((d=wm[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=wm[e]==d),d){(a=a.qa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}m.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;this.N=Hb(a,"ChipSet")};
function qm(a,b){var c=0;a.ja=null;"string"==typeof b&&(a.ja=b.toUpperCase(),c=rm.indexOf(a.ja),0>c&&(c=0));if(b=rm[c])a.ra=parseInt(b.substr(2),10)}function Wl(a){y(a,"keyboard reset",65792);a.A=[];Xl(a,170)}function Sl(a,b,c){a.aa!==c&&(a.aa=a.ea=c)&&(a.U=!0);a.W!==b&&(a.W=b)&&!a.ea&&$l(a,!0);a.W&&a.ea&&(Wl(a),a.ea=!1)}function Xl(a,b){a.N&&(a.A.unshift(b),a.U=!0,Zl(a.N,b))}
function Tl(a){var b=0;a.A.length&&a.U&&(b=a.A[0],a.N&&Zl(a.N,b));A(a)&&y(a,b?"scan code "+t(b)+" available":"no scan codes available")}function Ql(a){var b=0;a.A.length&&(b=a.A[0]);A(a)&&y(a,"scan code "+t(b)+" delivered");return b}function $l(a,b){0<a.A.length&&(a.A.shift(),(a.U=b)&&(a.A.length&&a.N?Zl(a.N,a.A[0]):b=!1),A(a)&&y(a,"scan codes shifted, notify "+(b?"true":"false")))}m.ic=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};
m.hc=function(a){return a?this.save():!0};m.reset=function(){if(!this.ja&&this.N)switch(this.N.ja){case 5150:case 5160:qm(this,rm[0]);break;default:qm(this,rm[1])}Em(this);this.xc=this.C=0;this.A=[];this.U=!0;this.L=""};m.save=function(){var a=new lf(this),b=0,c=[];c[b++]=this.aa;c[b]=this.W;N(a,0,c);return a.data()};m.restore=function(a){return Em(this,a[0])};function Em(a,b){var c=0;void 0===b&&(b=[]);a.aa=a.U=b[c++];a.W=b[c];a.V=0;return!0}
function Cm(a,b){if(0<a.L.length){var c=a.L.charCodeAt(0);10==c&&(c=13);a.L=a.L.substr(1);zm(a,c,!0)}0<a.L.length&&setTimeout(function(a){return function(){Cm(a,b)}}(a),b)}
function Am(a,b,c,d){if(Y[b]){var e=Math.floor(b/1E3)&2;if(b=um[b]||0){!e||b&85||(b>>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.C:a.xc)&b):d||b&255&&(b=255);if(c){a.C&=~b;d&&(a.C|=b);c=b;var f,g;for(g in xm)d="led-"+g,e=xm[g],c&&c!=e||!(f=a.qa[d])||(f.style.backgroundColor=a.C&e?"#00ff00":"#000000")}else a.xc&=~b,d&&(a.xc|=b);return!0}}return!1}
function zm(a,b,c){if(Y[b]&&a.F&&a.F.la.Fb){um[b]&&a.B.length&&0<a.B[0].Md&&(a.B[0].Md=0);for(var d,e=0;e<a.B.length;e++)if(d=a.B[e],d.Ne==b){if(!c||0<=d.Md){e=-1;break}0<e&&(0<a.B[0].Md&&(a.B[0].Md=0),a.B.splice(e,1));break}0>e||(e==a.B.length&&(d={},d.Ne=b,d.xc=a.xc,Dm(a,b,!0),e++),0<e&&a.B.splice(0,0,d),d.Ff=!0,d.Md=c?-1:um[b]?0:1,Fm(a,d))}}
function Bm(a,b,c){if(!Y[b]||!(c||a.F&&a.F.la.Fb))return!1;for(var d=!1,e=0;e<a.B.length;e++){var f=a.B[e];if(f.Ne==b||f.Ne==tm[b]){a.B.splice(e,1);f.uk&&clearTimeout(f.uk);f.Ff&&!c&&Gm(a,f.Ne,!1);Dm(a,b,!1);d=!0;break}}!a.B.length&&a.ka&&(Am(a,1020),a.ka=!1);return d}function Fm(a,b){if(!a.F||!a.F.la.Fb)Bm(a,b.Ne,!0);else if(Gm(a,b.Ne,b.Ff)&&b.Md){var c;if(0>b.Md){if(!b.Ff){Bm(a,b.Ne);return}b.Ff=!1;c=a.ua}else c=1==b.Md++?500:100;b.uk=setTimeout(function(a){return function(){Fm(a,b)}}(a),c)}}
function Hm(a,b,c){var d=b;if(65<=b&&90>=b)!(a.xc&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.xc&515)==c&&(d=b-32);else if(!!(a.xc&3)==c){if(a=tm[b])d=a}else if(a=sm[b])d=a;return d}m.Ig=function(a){a||(this.xc&=-256)};
function ym(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Hm(a,g,!0);a.eh&&h==X["`"]&&(g=h=27);if(Y[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),Am(a,h,!1,c)){if(20==g||144==g||145==g)a.pa||(c=e=!0);if(!(c||91!=g&&93!=g))for(var k=0;k<a.B.length;k++){var l=a.B[k];l.Ff=!1;0<l.Md&&(l.Md=0)}}else 8==g&&8==(a.xc&40)&&(h=4008),d=!1;else if(Y[h]&&a.xc&60&&(d=!1),d&&c||a.xc&192)f=!0;d||b.preventDefault();f||a.ia&&d||(c?zm(a,h,e):Bm(a,h)||(b=Hm(a,g,!1),b!=h&&Bm(a,b)));return d}
function Gm(a,b,c){var d=!1;Am(a,b,!0,c);var e=Y[b]||Y[b+1E3];if(void 0!==e){14==e&&40==(a.xc&40)&&(e=83);var d=[],f=e&255;if(83<f&&83==a.ra)return!1;d.push(f|(c?0:128));for(b=65<=b&&90>=b||97<=b&&122>=b;e>>>=8;){var g=0,h=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==h?a.C&3||a.C&512&&b||(g=h):29==h?a.C&12||(g=h):56==h?a.C&48||(g=h):d.push(f|(c?0:128)),g&&(c?d.unshift(g):d.push(g|128)))}for(c=0;c<d.length;c++)e=a,f=d[c],e.A&&(20>e.A.length?(A(e)&&y(e,"scan code "+t(f)+" buffered"),e.A.push(f),1==
e.A.length&&e.N&&Zl(e.N,f)):(20==e.A.length&&e.A.push(255),y(e,"scan code buffer overflow")));d=!0}return d}Sa(function(){for(var a=pb(document,"pcx86","keyboard"),b=0;b<a.length;b++){var c=a[b],d=mb(c),d=new pm(d);ob(d,c)}});
function Z(a,b,c,d,e){var f=this;this.rf=Ia("Gecko/");var g=["","moz","ms","webkit"];Wa.call(this,"Video",a,Z,262144);this.ja=a.model;var h=Im[this.ja]||Im.mda;this.Ua=h[0];this.Fd=a.memory||0;this.cg=a.switches;this.wa=a.mode;if(null==this.wa||null==Jm[this.wa])this.wa=h[1];this.kd=a.charCols;this.me=a.charRows;if(void 0===this.kd||void 0===this.me)this.kd=Jm[this.wa][0],this.me=Jm[this.wa][1];this.ra=a.screenWidth;this.Da=a.screenHeight;this.Xf=a.scale;this.wn=12<=Math.round(this.ra/this.kd);this.ka=
b;this.ea=c;this.X=(this.yk=d)||b||null;b=a.smoothing;(c=$a.smoothing)&&(b="true"==c);if(null!=b)for(c=0;c<g.length;c++)if(d=(d=g[c])?d+"ImageSmoothingEnabled":"imageSmoothingEnabled",void 0!==this.ea[d]){this.ea[d]=b;break}this.ig=a.touchScreen;this.ne=Km;this.V=null;this.si=a.autoLock;this.ob=this.ac=0;this.Oa=[];this.Ca=Array(this.Ua==gm?256:16);this.rb=!1;if(this.ia=e)if(this.ia.Xe=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.ia.Xe){for(c=
0;c<g.length;c++)if(d=g[c]+"fullscreenchange","on"+d in document){document.addEventListener(d,function(){Lm(f,document.fullscreenElement||document.msFullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement?!0:!1)},!1);break}for(c=0;c<g.length;c++)if(d=g[c]+"fullscreenerror","on"+d in document){document.addEventListener(d,function(){Lm(f,null)},!1);break}}this.X&&(this.X.onfocus=function(){return f.Ig(!0)},this.X.onblur=function(){return f.Ig(!1)},this.X.De=this.X.requestPointerLock||
this.X.mozRequestPointerLock||this.X.webkitRequestPointerLock,this.X.vk=this.X.exitPointerLock||this.X.mozExitPointerLock||this.X.webkitExitPointerLock,this.X.De&&(e=function(){f.Wf(document.pointerLockElement===f.X||document.mozPointerLockElement===f.X||document.webkitPointerLockElement===f.X)},"onpointerlockchange"in document?document.addEventListener("pointerlockchange",e,!1):"onmozpointerlockchange"in document?document.addEventListener("mozpointerlockchange",e,!1):"onwebkitpointerlockchange"in
document&&document.addEventListener("webkitpointerlockchange",e,!1)));if(a=a.fontROM)"json"!=ga(a)&&(a=ya()+"/api/v1/dump?file="+a+"&format=bytes"),xa(a,null,!0,function(a,b,c){Mm(f,a,b,c)})}fb(Z);
var gm=7,Im={mda:[1,7],cga:[3,3],ega:[5,3],vga:[gm,3]},Nm={2:{Eg:15700,Dg:208,Jg:85,Kg:96},3:{Eg:18432,Dg:364,Jg:85,Kg:96},4:{Eg:21850,Dg:364,Jg:85,Kg:96},7:{Eg:16700,Dg:480,Jg:85,Kg:83}},Om={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]},Jm=[,[40,25,1,0,3],,[80,25,1,0,3],[320,200,8,192],,[640,200,16,192],[80,25,1,0,1]];Jm[13]=[320,200,8];Jm[14]=[640,200,8];Jm[15]=[640,350,8];Jm[16]=[640,350,8];
Jm[17]=[640,480,8];Jm[18]=[640,480,8];Jm[19]=[320,200,1];Jm[20]=[320,240,4];Jm[21]=[320,400,4];Jm[0]=Jm[1];Jm[2]=Jm[3];Jm[5]=Jm[4];
var Pm=[[0,0,0,255],[127,192,127,255],[127,192,127,255],[127,255,127,255],[127,255,127,255]],Qm=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],Rm=[[0,0,0,255],[0,0,170,255],[0,170,0,255],[0,170,170,255],[170,0,0,255],[170,0,170,255],[170,85,0,255],[170,170,170,255],[85,85,85,255],[85,85,255,255],[85,255,85,255],[85,255,255,255],[255,85,85,255],[255,85,255,255],[255,255,85,255],[255,255,255,255]],Sm=[2,4,6],Tm=[3,5,7],Um=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],Vm=[0,255,65280,65535,16711680,16711935,16776960,
16777215,-16777216,-16776961,-16711936,-16711681,-65536,-65281,-256,-1],Wm=[0];Wm[128]=1;Wm[32768]=2;Wm[32896]=3;Wm[8388608]=4;Wm[8388736]=5;Wm[8421376]=6;Wm[8421504]=7;Wm[-2147483648]=8;Wm[-2147483520]=9;Wm[-2147450880]=10;Wm[-2147450752]=11;Wm[-2139095040]=12;Wm[-2139094912]=13;Wm[-2139062272]=14;Wm[-2139062144]=15;
function Xm(a,b,c,d){if(void 0!==b&&(!c||c.length)){this.video=a;var e=Ym[b],f=a.ya||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(5>b?Zm:$m)];this.ha=a.ha;this.type=e[0];this.port=e[1];this.Ua=b;this.ob=e[2];this.ac=e[3];this.Fd=d||e[4];65536<=this.Fd&&720896<=this.ob&&(this.ac=Math.min(this.Fd>>2,32768));this.Hc=c[0];this.gd=c[1];this.tf=c[2];this.ma=c[3];this.Ac=c[4]&255;this.Lg=c[4]>>8&255;this.mb=c[5];this.ph=Zm;this.mg=an;if(5<=b){this.ph=$m;this.mg=bn;b=c[6];void 0===b&&(b=[!1,0,Array(20),
0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,[this.ob,this.ac,this.Fd],Array(this.Fd>>2),-2147478512,0,-1,0,-1,0,-1,0,0,0,0,1,255,0,0,0,Array(256)]);this.Ye=b[0];this.Pd=b[1];this.Tc=b[2];this.Vg=cn;this.Og=b[3];this.vf=b[4];this.fg=b[5];this.de=b[6];this.Ke=b[7];this.Xg=dn;this.kk=b[8];this.lk=b[9];this.ce=b[10];this.be=b[11];this.Wg=en;this.Gb=b[12];d=b[13];"number"==typeof d&&(d=[this.ob,this.ac,d]);this.ob=d[0];this.ac=d[1];d=this.Fd>>2;if((this.sd=b[14])&&this.sd.length<d){for(var e=this.sd,g=0,
h=Array(d),k=0;k<e.length-1;){for(var l=e[k++],n=e[k++];l--;)h[g]=n,g+=2;g==d&&(g=1)}this.sd=h}(d=b[15])&&(d&-2147483648?d&=2147483647:d=fn[d&65280]|fn[d&255]);this.Qg(d);this.fi=b[16];this.qb=b[17];this.dd=b[18];this.Mb=b[19];this.Vf=b[20];this.ae=b[21];this.re=b[22];this.qh=b[23];this.rh=b[24];this.Nd=b[25];this.gi=this.qf=0;this.Ua==gm&&(this.ni=b[26],this.mi=b[27],this.pd=b[28],this.Kc=b[29],this.Mg=b[30],this.uf=b[31])}f=Nm[f]||Nm[3];this.sh=a.F.Y.Kd/f.Eg|0;this.mm=this.sh*f.Jg/100|0;this.vh=
this.sh*f.Dg|0;this.om=this.vh*f.Kg/100|0;this.xh=c[7]||0}}
var Zm=18,$m=25,an="HTOTAL HDISP HSYNC_POS HSYNC_WIDTH VTOTAL VTOTAL_ADJ VDISP VSYNC_POS INTERLACE_POS MAX_SCAN CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO LIGHT_PEN_HI LIGHT_PEN_LO".split(" "),bn="HTOTAL HDISP_END HBLANK_START HBLANK_END HRETRACE_START HRETRACE_END VTOTAL OVERFLOW PRESET_SCAN MAX_SCAN CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO VRETRACE_START VRETRACE_END VDISP_END OFFSET UNDERLINE VBLANK_START VBLANK_END MODE_CTRL LINE_COMPARE".split(" "),cn=
"PAL00 PAL01 PAL02 PAL03 PAL04 PAL05 PAL06 PAL07 PAL08 PAL09 PAL0A PAL0B PAL0C PAL0D PAL0E PAL0F MODE OVERSCAN PLANES HPAN".split(" "),dn=["RESET","CLOCKING","MAPMASK","CHARMAP","MEMMODE"],en="SRESET ESRESET COLORCMP DATAROT READMAP MODE MISC COLORDC BITMASK".split(" "),fn=[,,1024,5120];fn[16]=1280;fn[512]=0;fn[1024]=32;fn[1536]=96;fn[2560]=160;fn[3584]=224;fn[768]=16;fn[4096]=1;fn[8192]=2;fn[24576]=98;fn[40960]=162;fn[57344]=226;var gn=[];
gn[1024]=function(a){a+=this.C;return(this.controller.Gb=this.da[a])>>this.controller.fi&255};gn[17408]=function(a){return(this.controller.Gb=this.da[(a&-4)+this.C])>>((a&3)<<3)&255};gn[5120]=function(a){a+=this.C;var b=this.controller.Gb=this.da[a&-2];return(a&1?b>>8:b)&255};gn[1280]=function(a){a+=this.C;a=this.controller.Gb=this.da[a];for(var b=this.controller.rh,c=this.controller.qh&b,d=0,e=128;e;)(a&b)==c&&(d|=e),c>>>=1,b>>>=1,e>>=1;return d};
gn[0]=function(a,b){var c=a+this.C,d;d=(b|b<<8|b<<16|b<<24)&this.controller.ae|this.controller.re;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};
gn[32]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.ae|this.controller.re;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};
gn[96]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.ae|this.controller.re;d&=this.controller.Gb;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};
gn[160]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.ae|this.controller.re;d|=this.controller.Gb;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};
gn[224]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.ae|this.controller.re;d^=this.controller.Gb;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};gn[4]=function(a,b){var c=(a&-4)+this.C,d=(a&3)<<3,d=b<<d&this.controller.qb|this.da[c]&~(255<<d&this.controller.qb);this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};
gn[16]=function(a,b){a+=this.C;var c,d=a&-2;c=(b|b<<8|b<<16|b<<24)&this.controller.Mb|this.controller.Gb&~this.controller.Mb;var e=this.controller.qb&(d==a?16711935:-16711936);c=c&e|this.da[d]&~e;this.da[d]!=c&&(this.da[d]=c,this.Wa=!0)};gn[1]=function(a){a=a+this.C;var b=this.da[a]&~this.controller.qb|this.controller.Gb&this.controller.qb;this.da[a]!=b&&(this.da[a]=b,this.Wa=!0)};
gn[17]=function(a){a+=this.C;var b=a&-2;a=this.controller.qb&(b==a?16711935:-16711936);a=this.da[b]&~a|this.controller.Gb&a;this.da[b]!=a&&(this.da[b]=a,this.Wa=!0)};gn[2]=function(a,b){var c=a+this.C,d=Vm[b&15],d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb,d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};
gn[98]=function(a,b){var c=a+this.C,d=Vm[b&15],d=d&this.controller.Gb,d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb,d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};gn[162]=function(a,b){var c=a+this.C,d=Vm[b&15],d=d|this.controller.Gb,d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb,d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};
gn[226]=function(a,b){var c=a+this.C,d=Vm[b&15],d=d^this.controller.Gb,d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb,d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};gn[3]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Mb;d=this.controller.Vf&d|this.controller.Gb&~d;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};
function hn(a){var b=[];if(void 0!==a.Ua){b[0]=a.Hc;b[1]=a.gd;b[2]=a.tf;b[3]=a.ma;b[4]=a.Ac|a.Lg<<8;b[5]=a.mb;if(5<=a.Ua){var c=[];c[0]=a.Ye;c[1]=a.Pd;c[2]=a.Tc;c[3]=a.Og;c[4]=a.vf;c[5]=a.fg;c[6]=a.de;c[7]=a.Ke;c[8]=a.kk;c[9]=a.lk;c[10]=a.ce;c[11]=a.be;c[12]=a.Gb;c[13]=[a.ob,a.ac,a.Fd];var d;a:if(d=a.sd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h<d.length;){for(var k=d[h],l=h+2;l<d.length&&d[l]===k;)l+=2;f[e++]=l-h>>1;f[e++]=k;h=l}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
a.yg|-2147483648;c[16]=a.fi;c[17]=a.qb;c[18]=a.dd;c[19]=a.Mb;c[20]=a.Vf;c[21]=a.ae;c[22]=a.re;c[23]=a.qh;c[24]=a.rh;c[25]=a.Nd;a.Ua==gm&&(c[26]=a.ni,c[27]=a.mi,c[28]=a.pd,c[29]=a.Kc,c[30]=a.Mg,c[31]=a.uf);b[6]=c}b[7]=a.xh}return b}function jn(a,b,c,d,e){if(d){var f,g="";for(f=0;f<e.length;f++){var h=d===a.mb?kn(a,f):d[f];g&&(g+="\n");g+=b+"["+r(f,2)+"]: "+ma(e[f],18)+(f===c?"*":" ")+r(h,255<h?4:2);null!=h&&(g+=" ("+h+".)")}a.ha.O(g)}else a.ha.O(b+": "+r(c,2))}
Xm.prototype.Ti=function(a){return[this.sd,a-this.ob]};Xm.prototype.ih=function(){return this.A};Xm.prototype.Qg=function(a){if(null!=a&&a!=this.yg){var b=a&65280,c=gn[b];c||b&4096&&(c=gn[4096]);var b=a&255,d=gn[b];d||b&16&&(d=gn[16]);this.A||(this.A=Array(6));this.A[0]=c;this.A[3]=d;this.yg=a}};
function kn(a,b){var c=a.mb[b];if(null!=c&&5<=a.Ua){var d=0,e=0,f=0;switch(b){case 6:d=1;a.Ua==gm&&(e=32);break;case 10:5==a.Ua&&(d=32);break;case 16:d=4;a.Ua==gm&&(e=128);break;case 18:d=2;a.Ua==gm&&(e=64);break;case 21:d=8;a.Ua==gm&&(f=32);break;case 24:d=16,a.Ua==gm&&(f=64)}d&&(c|=a.mb[7]&d?256:0,c|=a.mb[7]&e?512:0,c|=a.mb[9]&f?512:0)}return c}var Ym=[,["MDA",948,720896,4096,0,3],,["CGA",980,753664,16384,0,2],,["EGA",980,753664,16384,65536,4]];Ym[gm]=["VGA",980,753664,16384,262144,7];var Km=0;
m=Z.prototype;
m.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;c=(c=Im[this.ja])&&c[0];3!==c&&(lc(b,this,ln),pc(b,this,mn));1!==c&&(lc(b,this,nn),pc(b,this,on));5<=this.Ua&&(lc(b,this,pn),pc(b,this,qn));this.Ua==gm&&(lc(b,this,rn),pc(b,this,sn));if(d){var e=this;Pk(d,262144,function(a){if(e.C)if(a[0]){var b=e.C;if(b.sd){var c,d,f,q=!1,p=8,z=8,F=-1,v=b.video.L>>3;for(c=0;c<a.length;c++){var E=a[c];if(c){var H=E.charAt(0);d=ca(E.substr(1));switch(H){case "l":p=d;break;case "n":1<=d&&8>=d&&(z=d,q=!0);break;case "p":0<=
d&&3>=d&&(F=d);break;case "w":d<v&&(v=d);break;default:b.ha.O("unrecognized argument: "+E)}}else f=ca(E)}void 0===f?f=b.B||0:f>=b.ob&&(f-=b.ob);a="";for(c=0;c<p;c++){E=r(b.ob+f)+":";for(d=0;d<z&&f<b.sd.length;d++)H=b.sd[f++],E+=" "+(0>F?r(H):da(H>>(F<<3),8));q&&(f+=v-z);a&&(a+="\n");a+=E}a&&b.ha.O(a);b.B=f}else b.ha.O("no buffer")}else e.ha.O("BIOSMODE: "+t(e.Ga)),b=e.C,jn(b,"CRTC",b.Ac,b.mb,b.mg),5<=b.Ua&&(jn(b," GRC",b.ce,b.be,b.Wg),jn(b," SEQ",b.de,b.Ke,b.Xg),jn(b," ATC",b.Pd,b.Tc,b.Vg),jn(b," ATCINDX",
b.Pd),b.ha.O(" ATCDATA: "+b.Ye),jn(b," FEAT",b.fg),jn(b," MISC",b.vf),jn(b," STATUS0",b.Og)),jn(b," STATUS1",b.ma),1!=b.Ua&&3!=b.Ua||jn(b," MODEREG",b.gd),3==b.Ua&&jn(b," COLOR",b.tf),5<=b.Ua&&(b.ha.O(" LATCHES: "+r(b.Gb)),b.ha.O(" ACCESS: "+r(b.yg,4)),b.ha.O("Use 'dump video [addr]' to dump video memory"));else e.ha.O("no active video card")})}if((this.B=Hb(a,"Keyboard"))&&this.ka){for(var f in this.qa)0<f.indexOf("lock")&&this.B.Pb("led",f,this.qa[f]);this.B.Pb(this.yk?"textarea":"canvas",
"kbd",this.X)}this.Vc=9;(this.N=Hb(a,"ChipSet"))&&this.cg&&5==this.Ua&&(this.Vc=vk(this.cg,this.Vc));"mouse"==this.ig?(this.V=Hb(a,"Mouse"))&&tn(this,2):"keygrid"==this.ig&&this.B&&tn(this,1)};
m.Pb=function(a,b,c){var d=this;if(!this.qa[b])switch(this.qa[b]=c,b){case "fullScreen":return this.ia&&this.ia.Xe?c.onclick=function(){d.Xe()}:c.parentNode.removeChild(c),!0;case "lockPointer":return this.xk=c.textContent,this.X&&this.X.De?c.onclick=function(){d.De(!0)}:c.parentNode.removeChild(c),!0;case "refresh":return c.onclick=function(){un(d,!0)},!0}return!1};
m.Xe=function(){var a=!1;if(this.ia){if(this.ia.Xe){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.ra/this.Da;b>c&&(a=Math.round(c/b*100)+"%")}this.rf?(this.ka.style.width=a,this.ka.style.width=a,this.ka.style.display="block",this.ka.style.margin="auto"):(this.ia.style.width=a,this.ia.style.height="auto");this.ia.style.backgroundColor="black";this.ia.Xe();a=!0}this.X&&this.X.focus()}return a};
function Lm(a,b){!b&&a.ia&&(a.rf?a.ka.style.width=a.ka.style.height="":a.ia.style.width=a.ia.style.height="");y(a,"notifyFullScreen("+b+")",!0);a.B&&(a.B.eh=b)}m.De=function(a){var b=!1;this.X&&(a?this.X.De&&(this.X.De(),this.V&&this.V.Wf(!0),b=!0):this.X.vk&&(this.X.vk(),this.V&&this.V.Wf(!1),b=!0),this.X&&this.X.focus());return b};m.Wf=function(a){this.V&&(this.V.Wf(a),this.B&&(this.B.eh=a));var b=this.qa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.xk)};
function tn(a,b){var c=a.X;c&&!a.ne&&(c.addEventListener("touchstart",function(b){vn(a,b,!0)},!1),c.addEventListener("touchmove",function(b){vn(a,b)},!0),c.addEventListener("touchend",function(b){vn(a,b,!1)},!1),a.ne=b,a.uc=a.Cc=a.jg=-1,a.Jd=!1,a.Xc=null,a.Id=!1,a.xn=function(){a.Id=!0;a.V.ke(wn,!0)})}m.Ig=function(a){this.B&&this.B.Ig(a)};
function vn(a,b,c){var d,e,f=0,g=0;e=a.ka;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.ra/a.ka.offsetWidth,k=a.Da/a.ka.offsetHeight;b.targetTouches&&b.targetTouches.length?(d=b.targetTouches[0].pageX,e=b.targetTouches[0].pageY):(d=b.pageX,e=b.pageY);d=(d-f)*h;e=(e-g)*k;if(1==a.ne)d=d/(a.ra/3)|0,e=e/(a.Da/3)|0,1!=e?e?zm(a.B,1040,!0):zm(a.B,1038,!0):1!=d&&(d?zm(a.B,1039,!0):zm(a.B,1037,!0));else if(a.V){g=a.Jd;f=b.timeStamp-a.jg;!0===c?(a.Jd=500<f,a.jg=b.timeStamp,
a.Xc=setTimeout(a.xn,500)):null!=a.Xc&&(clearTimeout(a.Xc),a.Xc=null);void 0===c&&(a.Jd=!1);g||b.preventDefault();if(!1===c){a.Id?(a.V.ke(wn,!1),a.Id=!1,b=!0):b=!1;if(b)return;if(200>f){a.V.ke(wn,!0);a.V.ke(wn,!1);return}}if(c||0>a.uc||0>a.Cc)a.uc=d,a.Cc=e;c=Math.round(d-a.uc);b=Math.round(e-a.Cc);a.uc=d;a.Cc=e;a.V.If(c,b,a.uc,a.Cc)}}m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};
m.reset=function(){var a=!0,b=0;this.N&&(b=+Xk(this.N,zk,void 0));this.ja||(this.Ua=3==b?1:3);this.wa=3;switch(this.Ua){case gm:b=7;break;case 5:var c=Om[this.Vc];c&&(b=c[0]);b||(b=4);break;case 1:b=3;this.wa=7;break;default:b=2}this.ya!==b&&(this.ya=b,a=!0);this.C=null;this.pa=this.rd=new Xm(this,1);this.aa=this.Wc=new Xm(this,3);5>this.Ua?this.A=new Xm:(this.A=new Xm(this,this.Ua,null,this.Fd),xn(this));yn(this);this.Ga=null;this.cb=this.ua=-1;this.Pa=0;zn(this,this.wa);if(this.C.ob&&a){a=this.C.ob+
this.Ub;for(b=this.C.ob;b<a;b+=2){var d=65536*Math.random()|0;4==this.ya||7==this.ya?(c=b>>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8);jc(this.ga,b,c|d<<8)}un(this,!0)}};function xn(a){a.A.vf&1?(a.pa=a.rd,a.aa=a.A):(a.pa=a.A,a.aa=a.Wc)}m.save=function(){var a=new lf(this);N(a,0,hn(this.rd));N(a,1,hn(this.Wc));N(a,2,[this.ya,this.wa,this.Ga]);N(a,3,hn(this.A));return a.data()};
m.restore=function(a){var b=a[2];this.ya=b[0];this.wa=b[1];this.Ga=b[2];this.C=null;this.pa=this.rd=new Xm(this,1,a[0]);this.aa=this.Wc=new Xm(this,3,a[1]);this.A=new Xm(this,this.Ua,a[3],this.Fd);this.A.Hc&&xn(this);yn(this);if(!An(this))return!1;Bn(this);return!0};
function Mm(a,b,c,d){if(d)a.Na("Unable to load font ROM (error "+d+": "+b+")");else{hb(a.fe,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f.length){w("Empty font ROM: "+b);return}if(1==f.length){w(f[0]);return}if(8192==f.length)fm(a,f,[6144,0]);else if(2048==f.length)fm(a,f,[0]);else{a.Na("Unrecognized font data length ("+f.length+")");return}}catch(g){a.Na("Font ROM data error: "+g.message);return}(a.ea||a.ha)&&ub(a)}}
function Cn(a,b){if(1==b)return a.Ca[0]=Rm[0],a.Ca[1]=Rm[7],a.Ca;if(2==b){var c=a.C.tf;if(a.C===a.A){var d=a.A.Tc[0],c=d&7;d&16&&(c|=8);18!=a.A.Tc[1]&&(c|=32)}a.Ca[0]=Rm[c&15];c=c&32?Tm:Sm;for(d=0;d<c.length;d++)a.Ca[d+1]=Rm[c[d]];return a.Ca}if(a.aa===a.Wc)return Rm;a.rb&&b&&!a.Ca[16]&&(a.rb=!1);if(!a.rb){var c=a.A,d=c.uf,e,f,g,h,k;if(8==b)for(f=0;256>f;f++)g=d[f]||0,h=g<<2&252,k=g>>4&252,g=g>>10&252,a.Ca[f]=[h,k,g,255];else{var l=d&&d[255];e=null!=c.Tc[15]?c.Tc:Um;for(f=0;16>f;f++)g=e[f]&63,l?(g|=
(c.Tc[20]&12)<<4,c.Tc[16]&128&&(g&=-49,g|=(c.Tc[20]&3)<<4),g=d[g],h=g<<2&252,k=g>>4&252,g=g>>10&252):(h=(g&4?170:0)|(g&32?85:0),k=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.Ca[f]=[h,k,g,255]}a.rb=!0}return a.Ca}function fm(a,b,c,d){a.Uc=b;a.Jb=c;a.Tb=d}
function yn(a,b){var c=!1;if(window&&a.Uc&&(!b||a.U)){var d=0,e=a.Tb?a.Tb:8,f=Cn(a);null!=a.Jb[0]&&$n(a,3,a.Jb[0],d,e,8,a.Uc,f)&&(c=!0);d=a.Tb?0:2048;e=a.Tb?a.Tb:9;null!=a.Jb[1]&&($n(a,1,a.Jb[1],d,e,14,a.Uc,Pm,Qm)&&(c=!0),a.Tb&&$n(a,a.Ua,a.Jb[1],0,a.Tb,14,a.Uc,f)&&(c=!0))}return c}function $n(a,b,c,d,e,f,g,h,k){var l=!1;null!=c&&(ao(a,b,c,d,e,f,g,h,k)&&(l=!0),a.wn&&ao(a,b<<1,c,d,e,f,g,h,k)&&(l=!0));return l}
function ao(a,b,c,d,e,f,g,h,k){var l=!1,n=b&1?0:1,q=a.Oa[b],p=16>h.length?h.length:16;q||(q={Qc:e<<n,Rc:f<<n,Pe:Array(p),ui:h.slice(0,p),Af:k,Ug:Array(p)});for(k=0;k<p;k++){var z=h[k],F=q.Pe[k]?q.ui[k]:[];if(z[0]!==F[0]||z[1]!==F[1]||z[2]!==F[2]){var l=q,F=k,v=n,E=c,H=d,L=e,W=f,P=g,bb=[0,0,0,0],ia=document.createElement("canvas");ia.width=l.Qc<<4;ia.height=l.Rc<<4;for(var ja=ia.getContext("2d"),Ha=void 0,Xa=void 0,Ba=void 0,Wb=8>W||!H?W:8,wa=ja.createImageData(l.Qc,l.Rc),Ha=0;256>Ha;Ha++){for(Ba=
0;Ba<W;Ba++)for(var Vd=l.Af&&F&1&&Ba>=W-2,Sc=P[Ba<Wb?E+Ha*Wb+Ba:H+Ha*Wb+Ba-Wb],Wd=0;Wd<=v;Wd++)for(Xa=0;Xa<L;Xa++){var Je=Xa<<v,Xd=(Ba<<v)+Wd,Ke=Vd||Sc&128>>(8<=Xa&&192<=Ha&&223>=Ha?7:Xa)?z:bb;bo(wa,Je,Xd,Ke);v&&bo(wa,Je+1,Xd,Ke)}ja.putImageData(wa,(Ha&15)*l.Qc,(Ha>>4)*l.Rc)}l.Pe[F]="#"+r(z[0],2)+r(z[1],2)+r(z[2],2);l.ui[F]=z;l.Ug[F]=ia;l=!0}}a.Oa[b]=q;return l}function co(a){0<a.Pa||0<=a.ua?0>a.cb&&(a.cb=0):a.cb=-1}
function Bn(a){if(a.U){for(var b=10;15>=b;b++)if(null==a.C.mb[b])return;var c=a.C.mb[10],b=c&31,d=a.C.mb[11]&31,e=a.C.mb[9]&31,f=!1;a.C===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)eo(a);else{c=a.C.mb[15]+((a.C.mb[14]&63)<<8);a.ua!=c&&(eo(a),a.ua=c);d=d-b+1;if(a.kg!=b||a.Ce!=d)a.kg=b,a.Ce=d;a.$a=e+1;co(a)}}}
function eo(a){if(0<=a.ua){if(void 0!==a.fa){var b=a.fa[a.ua];if(b&131072){var b=b&-131073,c=a.ua%a.L,d=a.ua/a.L|0;a.U&&a.Oa[a.U]&&(a.gb&&fo(a,c,d,b,a.gb),fo(a,c,d,b));a.fa[a.ua]=b}}a.ua=-1}}
function go(a){var b,c=a.C;a.hf=!1;var d=c.be[5];if(null!=d){b=1024;var e=0,f=c.be[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.dd=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.Ua==gm&&(e=3,c.dd=f&7)}d&8&&(b=1280);c=c.Ke[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.hf=!0));b|=e}return b}
function ho(a,b){var c=a.C;return c&&null!=b&&b!=c.yg?(c.Qg(b),a.ga.Qg(c.ob,c.ac,c.ih(),!0),!0):!1}
function An(a,b){var c,d=a.Ga,e=a.C;if(e)if(1==e.Ua)d=7;else if(5<=e.Ua){var d=null,f=e.Fd>>2,g=32768<f?32768:f,h=e.be[6];if(null!=h){switch(h&12){case 0:e.ob=655360;e.ac=f;d=255;break;case 4:e.ob=655360;e.ac=f;d=3==a.ya?15:16;break;case 8:e.ob=720896;e.ac=g;d=7;break;case 12:e.ob=753664,e.ac=g,d=3==a.ya?2:3}c=80==(e.be[5]&80);!c||e.ob==a.ob&&e.ac==a.ac||(b=!0);var f=kn(e,6),g=e.mb[9],k=e.mb[23],l=e.Ke[1]&8;255!=d&&(h&1?655360==e.ob||c||k&1?e.be[5]&64?d=g&31?143>=e.mb[18]?19:20:21:g&128||350>f?d=
l?13:14:480<=f&&(d=3==a.ya?17:18):d=l?7-d:6:d-=l?2:0);c=go(a)}}else e.gd&8&&(e.gd&2?(d=e.gd&16?6:5,e.gd&4||--d):(d=e.gd&1?3:1,e.gd&4&&--d));else a.Ga=null,null==d&&(d=a.wa);if(!zn(a,d,b))return!1;ho(a,c);return!0}
function zn(a,b,c){if(null!=b&&(b!=a.Ga||c)){a.Rg=0;a.Ga=b;a.rb=!1;b=a.C||(7==b?a.pa:a.aa);if(b!=a.C||b.ob!=a.ob||b.ac!=a.ac){eo(a);if(a.ob){if(!cc(a.ga,a.ob,a.ac))return!1;a.C&&(a.C.Hc=!1)}a.C=b;b.Hc=!0;a.ob=b.ob;a.ac=b.ac;if(!Vb(a.ga,b.ob,b.ac,3,b===a.A?b:null))return!1}a:{a.U=0;a.L=a.kd;a.W=a.me;a.Db=a.L;a.jd=Jm[7][2];b=0;if(c=Jm[a.Ga])a.L=c[0],a.W=c[1],a.jd=c[2],b=c[3],a.U=c[4],4!=a.ya&&7!=a.ya||a.C!==a.A||3!=a.U||(7==(a.A.mb[9]&31)?a.W=350>kn(a.A,18)?43:50:a.U=a.Ua);a.bg=a.L*a.W|0;a.Zf=a.bg/
a.jd|0;a.Ub=a.Zf;a.td=0;void 0!==b&&(a.Ub=(a.Ub<<1)+b|0,a.td=a.Ub+b>>1);if(a.Oa.length){a.Ja=a.ra/a.L|0;a.Ka=a.Da/a.W|0;if(a.U){b=a.Oa[a.U];if(!b)break a;c=a.Oa[a.U<<1];a.Xf&&80==a.L?c&&a.Ja>=3*c.Qc>>2&&(a.U<<=1,b=c):(c&&a.Ja>=c.Qc&&(a.U<<=1,b=c),a.Xf||(a.Ja=b.Qc,a.Ka=b.Rc));a.bc=a.tc=0;b&&(a.bc=a.L*b.Qc,a.tc=a.W*b.Rc)}else a.Ja=a.Ka=1,a.bc=a.L,a.tc=a.W;a.sb=a.ea.createImageData(a.bc,a.tc);a.fb=document.createElement("canvas");a.fb.width=a.bc;a.fb.height=a.tc;a.gb=a.fb.getContext("2d");a.oe=a.pe=
0;a.Ed=a.ra;a.Hd=a.Da;b=a.ra-a.L*a.Ja;c=a.Da-a.W*a.Ka;0<b&&(a.oe=b>>1,a.Ed-=b);0<c&&(a.pe=c>>1,a.Hd-=c);if(b||c)a.ea.fillStyle=a.ka.style.backgroundColor,a.ea.fillRect(0,0,a.ra,a.Da)}}io(a,!0);un(a)}return!0}function bo(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function jo(a){a.Pa=-1;a.Fa=!1;var b=a.Zf;if(void 0===a.fa||a.fa.length!=b)a.fa=Array(b)}function io(a,b){b||(a.rb=!1);jo(a)}
function fo(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Oa[a.U];h.Af&&(d=h.Af[d]);var k=g>>4&15;h.Af&&(k=h.Af[k]);e?(b*=h.Qc,c*=h.Rc,e.fillStyle=h.Pe[k],e.fillRect(b,c,h.Qc,h.Rc)):(b=b*a.Ja+a.oe,c=c*a.Ka+a.pe,a.ea.fillStyle=h.Pe[k],a.ea.fillRect(b,c,a.Ja,a.Ka));g&256&&(k=(f&15)*h.Qc,f=(f>>4)*h.Rc,e?e.drawImage(h.Ug[d],k,f,h.Qc,h.Rc,b,c,h.Qc,h.Rc):a.ea.drawImage(h.Ug[d],k,f,h.Qc,h.Rc,b,c,a.Ja,a.Ka));g&512&&(f=a.kg,g=a.Ce,e?(a.$a&&a.$a!==h.Rc&&(f=f*h.Rc/a.$a|0,g=g*h.Rc/a.$a|0),e.fillStyle=h.Pe[d],
e.fillRect(b,c+f,h.Qc,g)):(a.$a&&a.$a!==a.Ka&&(f=f*a.Ka/a.$a|0,g=g*a.Ka/a.$a|0),a.ea.fillStyle=h.Pe[d],a.ea.fillRect(b,c+f,a.Ja,g)))}
function un(a,b){if(a.la.cc){var c=!1,d=a.C;d&&(d!==a.A?d.gd&8&&(c=!0):d.Pd&32&&(c=!0));if(c||b){if(b)jo(a);else if(void 0===a.fa)return;var e=!1;!(b||++a.Rg&15)&&0<=a.cb&&(a.cb++,e=!0);var f=0,g=a.bg,h=a.ob,c=h,k=c+a.ac;19<=a.Ga&&(h=c=655360,k=c+65536);if(ko(a,d)&8||d.qf&&d.qf<d.gi){var l=(d.mb[12]<<8)+d.mb[13]|0;d.Nd!==l&&(d.Nd=l,io(a));d.qf=0}l=d.Nd;a.U&&(l<<=1);var c=c+l,n=a.Ub;5<=a.Ua&&d.mb[19]&&d.mb[19]<<1!=d.mb[1]+1&&(a.Db=d.mb[19]<<(a.U?1:d.mb[20]&64?3:4),n=(a.Db*(a.W-1)+a.L)/a.jd|0,7>=a.Ga&&
(n<<=1));c+n>k&&(n=k-c,0>n&&(n=0));k=c+n;if(l=!b&&a.Fa){for(var l=a.ga,q=!0,p=c>>>l.La;0<n&&p<l.sa.length;)l.sa[p].Wa&&(l.sa[p].Wa=q=!1,l.sa[p].Pi=!0),n-=l.Sb,p++;l=q}if(l){if(!e)return;if(!a.Pa){f=a.ua-d.Nd;if(0>f)return;g=f+1}}if(a.U){if(a.Oa[a.U]){d=f;f=0;e=a.Pa=0;h=1048575;n=a.C.gd&32;5<=a.Ua&&(n=a.C.Tc[16]&8);l=a.ua-a.C.Nd;n&&(e=32768,h&=~e,a.cb&2||(h&=-65537));for(c+=d<<1;c<k&&d<g;)n=ic(a.ga,c),n|=65536,n&e&&(a.Pa++,n&=h),d==l&&(n|=a.cb&1?131072:0),a.Fa&&n===a.fa[d]||(fo(a,d%a.L,d/a.L|0,n,a.gb),
a.fa[d]=n,f++),c+=2,d++;a.Fa=!0;f&&a.gb&&a.ea.drawImage(a.fb,0,0,a.bc,a.tc,a.oe,a.pe,a.Ed,a.Hd);co(a)}}else if(a.td){for(var g=k,z,k=c,d=a.Pa=0,f=a.jd,e=16==f?65536:196608,h=16==f?1:2,l=Cn(a,h),q=n=0,p=a.L,F=0,v=a.W,E=0;k<g;){z=ic(a.ga,k);if(a.Fa&&z===a.fa[d])n+=f;else{a.fa[d]=z;z=z>>8|(z&255)<<8;var H=e,L=16;n<p&&(p=n);for(var W=0;W<f;W++){var P=(z&(H>>=h))>>(L-=h);bo(a.sb,n++,q,l[P])}n>F&&(F=n);q<v&&(v=q);q>=E&&(E=q+1)}k+=2;d++;if(n>=a.L){n=0;q+=2;if(q>a.W)break;q==a.W&&(q=1,k=c+a.td)}}a.Fa=!0;
p<a.L&&(a.gb.putImageData(a.sb,0,0,p,v,F-p,E-v),a.ea.drawImage(a.fb,0,0,a.L,a.W,0,0,a.ra,a.Da))}else if(a.hf){g=h;f=a.Pa=0;e=Cn(a,8);h=a.C.sd;n=l=0;q=a.L;p=0;F=a.W;v=0;E=a.C.Ke[4]&8?4:1;z=a.C.Tc[19]&15;for(H=a.Db>a.L?a.Db-a.L-z>>3:0;c<k;){d=h[c-g];W=4;z||(a.Fa&&d===a.fa[f]?(l+=W,W=0):a.fa[f]=d,f++);if(W){l<q&&(q=l);for(L=0;L<W;L++)bo(a.sb,l++,n,e[d&255]),d>>=8;l>p&&(p=l);n<F&&(F=n);n>=v&&(v=n+1)}c+=E;if(l>=a.L){l=0;if(++n>a.W)break;c+=H}}z||(a.Fa=!0);q<a.L&&(a.gb.putImageData(a.sb,0,0,q,F,p-q,v-F),
a.ea.drawImage(a.fb,0,0,a.L,a.W,0,0,a.ra,a.Da))}else{g=h;d=a.Pa=0;f=Cn(a);e=a.C.sd;l=h=0;n=a.L;q=0;p=a.W;F=0;v=a.C.Tc[19]&15;for(E=a.Db>a.L?a.Db-a.L-v>>3:0;c<k;){z=c++-g;z=e[z];L=8;v?h?(H=a.L-h,L>H&&(L=H)):(z<<=v,L-=v,a.Fa=!1):(a.Fa&&z===a.fa[d]?(h+=L,L=0):a.fa[d]=z,d++);if(L){h<n&&(n=h);for(H=0;H<L;H++)W=Wm[z&2155905152]||0,bo(a.sb,h++,l,f[W]),z<<=1;h>q&&(q=h);l<p&&(p=l);l>=F&&(F=l+1)}if(h>=a.L){h=0;if(++l>a.W)break;c+=E}}v||(a.Fa=!0);n<a.L&&(a.gb.putImageData(a.sb,0,0,n,p,q-n,F-p),a.ea.drawImage(a.fb,
0,0,a.L,a.W,0,0,a.ra,a.Da))}}}}function ko(a,b){var c=0,d=Zc(a.F)-b.xh;0>d&&(b.xh=d,d=-d|0);d%b.sh>b.mm&&(c|=1);d%b.vh>b.om&&(c|=9);b.gi=d/b.vh|0;return c}m.Jl=function(a,b){return lo(this,this.pa,a,b)};m.dn=function(a,b,c){var d=this.pa;d.Lg=d.Ac;d.Ac=b&31;x(this,a,b,c,"CRTC.INDX")};m.Il=function(a,b){return mo(this,this.pa,a,b)};m.cn=function(a,b,c){no(this,this.pa,a,b,c)};m.Kl=function(a,b){return oo(this,this.pa,b)};m.en=function(a,b,c){a=this.pa;x(this,a.port+4,b,c,"MODE");a.gd=b;An(this,!1)};
m.Ll=function(a,b){return po(this,this.pa,b)};m.hk=function(a,b,c){this.A.fg=this.A.fg&-4|b&3;x(this,a,b,c,"FEAT")};m.hl=function(a,b){var c=this.A.Pd;b&&!A(this)||x(this,960,null,b,"ATC.INDX",c);return c};m.Fk=function(a,b){var c=this.A.Tc[this.A.Pd&31];b&&!A(this)||x(this,960,null,b,"ATC."+this.A.Vg[this.A.Pd&31],c);return c};
m.gk=function(a,b,c){var d=this.A,e=d.Pd&32;if(d.Ye){d.Ye=!1;var f=d.Pd&31;if(16<=f||!e)c&&!A(this)||x(this,a,b,c,"ATC."+d.Vg[f]),d.Tc[f]=b,io(this,!1)}else d.Pd=b,x(this,a,b,c,"ATC.INDX"),d.Ye=!0,b&32&&!e&&yn(this,!0)&&un(this,!0),a=(d.mb[12]<<8)+d.mb[13]|0,d.Nd!=a&&(d.Nd=a,io(this)),d.qf=0};
m.Vl=function(a,b){var c=0;if(5==this.Ua)c=3-((this.A.vf&12)>>2),c=(this.Vc&1<<c)<<4-c;else{var d=this.A.uf[0];45!=(d&63)&&2880!=(d&4032)&&184320!=(d&258048)&&(c|=16)}c|=this.A.Og&-17;this.A.Og=c;x(this,962,null,b,"STATUS0",c);return c};m.fn=function(a,b,c){this.A.vf=b;xn(this);x(this,962,b,c,"MISC")};m.Wl=function(a,b){var c=this.A.ni;x(this,963,null,b,"VGA_ENABLE",c);return c};m.pn=function(a,b,c){this.A.ni=b;x(this,963,b,c,"VGA_ENABLE")};
m.Tl=function(a,b){var c=this.A.de;x(this,964,null,b,"SEQ.INDX",c);return c};m.nn=function(a,b,c){this.A.de=b;x(this,964,b,c,"SEQ.INDX")};m.Sl=function(a,b){var c=this.A.Ke[this.A.de];b&&!A(this)||x(this,965,null,b,"SEQ."+this.A.Xg[this.A.de],c);return c};m.mn=function(a,b,c){c&&!A(this)||x(this,965,b,c,"SEQ."+this.A.Xg[this.A.de]);this.A.Ke[this.A.de]=b;switch(this.A.de){case 2:this.A.qb=Vm[b&15];break;case 4:ho(this,go(this))&&un(this,!0)}};
m.ul=function(a,b){var c=this.A.mi;b&&!A(this)||x(this,966,null,b,"DAC.MASK",c);return c};m.Nm=function(a,b,c){c&&!A(this)||x(this,966,b,c,"DAC.MASK");this.A.mi=b};m.vl=function(a,b){var c=this.A.Mg;b&&!A(this)||x(this,967,null,b,"DAC.STATE",c);return c};m.Om=function(a,b,c){c&&!A(this)||x(this,967,b,c,"DAC.READ");this.A.pd=b;this.A.Mg=3;this.A.Kc=0};m.Pm=function(a,b,c){c&&!A(this)||x(this,968,b,c,"DAC.WRITE");this.A.pd=b;this.A.Mg=0;this.A.Kc=0};
m.tl=function(a,b){var c=this.A.uf[this.A.pd]>>this.A.Kc&63;b&&!A(this)||x(this,969,null,b,"DAC.DATA["+t(this.A.pd)+"]["+t(this.A.Kc)+"]",c);this.A.Kc+=6;12<this.A.Kc&&(this.A.Kc=0,this.A.pd=this.A.pd+1&255);return c};m.Mm=function(a,b,c){a=this.A.uf[this.A.pd];c&&!A(this)||x(this,969,b,c,"DAC.DATA["+t(this.A.pd)+"]["+t(this.A.Kc)+"]");b=a&~(63<<this.A.Kc)|(b&63)<<this.A.Kc;a!==b&&(this.A.uf[this.A.pd]=b,io(this,!1));this.A.Kc+=6;12<this.A.Kc&&(this.A.Kc=0,this.A.pd=this.A.pd+1&255)};
m.Xl=function(a,b){var c=this.A.fg;x(this,970,null,b,"FEAT",c);return c};m.Zm=function(a,b,c){this.A.lk=b;x(this,970,b,c,"GRC2")};m.Yl=function(a,b){var c=this.A.vf;x(this,972,null,b,"MISC",c);return c};m.Ym=function(a,b,c){this.A.kk=b;x(this,972,b,c,"GRC1")};m.Cl=function(a,b){var c=this.A.ce;x(this,974,null,b,"GRC.INDX",c);return c};m.Xm=function(a,b,c){this.A.ce=b;x(this,974,b,c,"GRC.INDX")};
m.Bl=function(a,b){var c=this.A.be[this.A.ce];b&&!A(this)||x(this,975,null,b,"GRC."+this.A.Wg[this.A.ce],c);return c};
m.Wm=function(a,b,c){c&&!A(this)||x(this,975,b,c,"GRC."+this.A.Wg[this.A.ce]);this.A.be[this.A.ce]=b;switch(this.A.ce){case 0:this.A.Vf=Vm[b&15];this.A.re=this.A.Vf&~this.A.ae;break;case 1:this.A.ae=~Vm[b&15];this.A.re=this.A.Vf&~this.A.ae;break;case 2:this.A.qh=Vm[b&15]&-2139062144;break;case 3:case 5:ho(this,go(this));break;case 4:this.A.fi=(b&3)<<3;break;case 6:An(this,!1);break;case 7:this.A.rh=Vm[b&15]&-2139062144;break;case 8:this.A.Mb=b|b<<8|b<<16|b<<24}};
m.nl=function(a,b){return lo(this,this.aa,a,b)};m.Hm=function(a,b,c){var d=this.aa;d.Lg=d.Ac;d.Ac=b&31;x(this,a,b,c,"CRTC.INDX")};m.ml=function(a,b){return mo(this,this.aa,a,b)};m.Gm=function(a,b,c){no(this,this.aa,a,b,c)};m.ol=function(a,b){return oo(this,this.aa,b)};m.Im=function(a,b,c){a=this.aa;x(this,a.port+4,b,c,"MODE");a.gd=b;An(this,!1)};m.ll=function(a,b){var c=this.aa.tf;b&&!A(this)||x(this,a,null,b,this.aa.type+".COLOR",c);return c};
m.Fm=function(a,b,c){c&&!A(this)||x(this,a,b,c,this.aa.type+".COLOR");this.aa.tf!==b&&(this.aa.tf=b,io(this,!1))};m.pl=function(a,b){return po(this,this.aa,b)};function lo(a,b,c,d){var e;b.Hc&&(e=b.Ac);x(a,c,null,d,"CRTC.INDX",e);return e}function mo(a,b,c,d){var e;b.Hc&&b.Ac<b.ph&&(e=b.mb[b.Ac]);d&&!A(a)||x(a,c,null,d,"CRTC."+b.mg[b.Ac],e);return e}
function no(a,b,c,d,e){if(b.Ac<b.ph){e&&!A(a)||x(a,c,d,e,"CRTC."+b.mg[b.Ac]);b.mb[b.Ac]=d;if(12==b.Ac||13==b.Ac)ko(a,b)&1?(c=(b.mb[12]<<8)+b.mb[13]|0,b.Nd!==c&&(b.Nd=c,io(a))):b.qf||(b.qf=b.gi);(9==b.Ac&&8!=b.Lg||18==b.Ac&&223==d)&&An(a,!0);Bn(a)}}function oo(a,b,c){var d=b.gd;x(a,b.port+4,null,c,"MODE",d);return d}function po(a,b,c){var d=ko(a,b);b===a.A?(d|=b.ma&48^48,b.Ye=!1):d=(b.ma^=9)|240;b.ma=d;x(a,b.port+6,null,c,b===a.A?"STATUS1":"STATUS",d);return d}
var ln={948:Z.prototype.Jl,949:Z.prototype.Il,952:Z.prototype.Kl,954:Z.prototype.Ll},mn={948:Z.prototype.dn,949:Z.prototype.cn,952:Z.prototype.en},nn={980:Z.prototype.nl,981:Z.prototype.ml,984:Z.prototype.ol,985:Z.prototype.ll,986:Z.prototype.pl},on={980:Z.prototype.Hm,981:Z.prototype.Gm,984:Z.prototype.Im,985:Z.prototype.Fm},pn={960:Z.prototype.hl,961:Z.prototype.Fk,962:Z.prototype.Vl,964:Z.prototype.Tl,965:Z.prototype.Sl,974:Z.prototype.Cl,975:Z.prototype.Bl},qn={954:Z.prototype.hk,960:Z.prototype.gk,
961:Z.prototype.gk,962:Z.prototype.fn,964:Z.prototype.nn,965:Z.prototype.mn,970:Z.prototype.Zm,972:Z.prototype.Ym,974:Z.prototype.Xm,975:Z.prototype.Wm,986:Z.prototype.hk},rn={963:Z.prototype.Wl,966:Z.prototype.ul,967:Z.prototype.vl,969:Z.prototype.tl,970:Z.prototype.Xl,972:Z.prototype.Yl},sn={963:Z.prototype.pn,966:Z.prototype.Nm,967:Z.prototype.Om,968:Z.prototype.Pm,969:Z.prototype.Mm};
Sa(function(){for(var a=pb(document,"pcx86","video"),b=0;b<a.length;b++){var c=a[b],d=mb(c),e=document.createElement("canvas");if(void 0===e||!e.getContext){c.innerHTML="<br/>Missing &lt;canvas&gt; support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=za().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height=
(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||$a.aspect);f&&.3<=f&&3.33>=f&&(Ra("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Ia("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Z(d,e,g,f,c);ob(d,c)}});
function qo(a){this.V=a.adapter;switch(this.V){case 1:this.X=956;this.C=7;break;case 2:this.X=888;this.C=7;break;case 3:this.X=632;this.C=5;break;default:w("Unrecognized parallel adapter #"+this.V);return}this.A=this.B=null;Wa.call(this,"ParallelPort",a,qo,4194304);a=a.binding;"console"==a?this.B="":nb(this,a,ro)}fb(qo);var ro="buffer";m=qo.prototype;m.Pb=function(a,b,c){switch(b){case ro:return this.qa[b]=this.A=c,!0}return!1};
m.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.N=Hb(a,"ChipSet");lc(b,this,so,this.X);pc(b,this,to,this.X);ub(this)};m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};m.reset=function(){uo(this)};m.save=function(){var a=new lf(this),b=0,c=[];c[b++]=this.L;c[b++]=this.Yb;c[b]=this.Cf;N(a,0,c);return a.data()};m.restore=function(a){return uo(this,a[0])};
function uo(a,b){var c=0;void 0===b&&(b=[0,0,0]);a.L=b[c++];a.Yb=b[c++];a.Cf=b[c];return!0}m.wl=function(a,b){var c=this.L;x(this,a,null,b,"DATA",c);return c};m.Ul=function(a,b){var c=this.Yb;x(this,a,null,b,"STAT",c);return c};m.sl=function(a,b){var c=this.Cf;x(this,a,null,b,"CTRL",c);return c};
m.Qm=function(a,b,c){x(this,a,b,c,"DATA");this.L=b;this.Yb|=64;a=!1;y(this,"transmitByte("+t(b)+")");this.A&&(8==b?this.A.value=this.A.value.slice(0,-1):(this.A.value+=String.fromCharCode(b),this.A.scrollTop=this.A.scrollHeight),a=!0);if(null!=this.B){if(10==b||1024<=this.B.length)this.O(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b));a=!0}a&&(this.Yb&=-65);vo(this)};m.Lm=function(a,b,c){x(this,a,b,c,"CTRL");this.Cf=b;vo(this)};
function vo(a){a.N&&a.C&&(a.Cf&16&&!(a.Yb&64)?hg(a.N,a.C):gg(a.N,a.C))}var so={0:qo.prototype.wl,1:qo.prototype.Ul,2:qo.prototype.sl},to={0:qo.prototype.Qm,2:qo.prototype.Lm};Sa(function(){for(var a=pb(document,"pcx86","parallel"),b=0;b<a.length;b++){var c=a[b],d=mb(c),d=new qo(d);ob(d,c)}});
function wo(a){this.ya=a.adapter;switch(this.ya){case 1:this.ua=1016;this.ka=4;break;case 2:this.ua=760;this.ka=3;break;default:w("Unrecognized serial adapter #"+this.ya);return}this.L=this.W=null;this.Ga=a.tabSize;this.Fa=a.charBOL;this.ea=0;Wa.call(this,"SerialPort",a,wo,8388608);a=a.binding;"console"==a?this.W="":nb(this,a,xo);this.ia=this.ra=null;this.exports={connect:this.Wi,receiveData:this.eg}}fb(wo);var xo="buffer";m=wo.prototype;m.yi=function(a,b){return a==this.zd?(this.V=b,this):null};
m.Pb=function(a,b,c){var d=this;switch(b){case xo:return this.qa[b]=this.L=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64<b&&(b-=64),d.eg(b);return!0},c.onkeypress=function(a){a=a||window.event;d.eg(a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1};
m.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;this.N=Hb(a,"ChipSet");lc(b,this,yo,this.ua);pc(b,this,zo,this.ua);ub(this)};m.Wi=function(){if(!this.ia){var a=Qc(this.X,"connection");if(a){var b=a.split("->");if(2==b.length){var c=na(b[0]);if(c!=this.zd)return;b=na(b[1]);if(this.ia=jb(b)){var d=this.ia.exports;if(d){var e=d.connect;e&&e.call(this.ia);if(this.ra=d.receiveData){this.status(this.fe+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};
m.ic=function(a,b){if(!b)if(this.Wi(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};m.reset=function(){Ao(this)};m.save=function(){var a=new lf(this),b=0,c=[];c[b++]=this.wa;c[b++]=this.Da;c[b++]=this.fa;c[b++]=this.pa;c[b++]=this.U;c[b++]=this.B;c[b++]=this.C;c[b++]=this.A;c[b++]=this.Ca;c[b]=this.aa;N(a,0,c);return a.data()};m.restore=function(a){return Ao(this,a[0])};
function Ao(a,b){var c=0;void 0===b&&(b=[0,0,384,0,1,0,0,96,48,[]]);a.wa=b[c++];a.Da=b[c++];a.fa=b[c++];a.pa=b[c++];a.U=b[c++];a.B=b[c++];a.C=b[c++];a.A=b[c++];a.Ca=b[c++];a.aa=b[c];return!0}m.eg=function(a){if("number"==typeof a)this.aa.push(a);else if("string"==typeof a)for(var b=0;b<a.length;b++)this.aa.push(a.charCodeAt(b));else this.aa=this.aa.concat(a);Bo(this);return!0};
function Bo(a){0<a.aa.length&&!(a.A&1)&&(a.wa=a.aa.shift(),a.A|=1);var b=-1;a.A&1&&a.pa&1&&(b=4);0<=b?(a.U&=-8,a.U|=b,a.N&&a.ka&&hg(a.N,a.ka,100)):(a.U|=1,a.N&&a.ka&&gg(a.N,a.ka))}m.Rl=function(a,b){var c=this.B&128?this.fa&255:this.wa;x(this,a,null,b,this.B&128?"DLL":"RBR",c);this.A&=-2;Bo(this);return c};m.Dl=function(a,b){var c=this.B&128?this.fa>>8:this.pa;x(this,a,null,b,this.B&128?"DLM":"IER",c);return c};m.El=function(a,b){var c=this.U;x(this,a,null,b,"IIR",c);return c};
m.Fl=function(a,b){var c=this.B;x(this,a,null,b,"LCR",c);return c};m.Hl=function(a,b){var c=this.C;x(this,a,null,b,"MCR",c);return c};m.Gl=function(a,b){var c=this.A;x(this,a,null,b,"LSR",c);return c};m.Ml=function(a,b){var c=this.Ca;x(this,a,null,b,"MSR",c);return c};
m.on=function(a,b,c){x(this,a,b,c,this.B&128?"DLL":"THR");if(this.B&128)this.fa=this.fa&-256|b;else{this.Da=b;this.A&=-97;a=!1;y(this,"transmitByte("+t(b)+")");this.ra&&this.ra.call(this.ia,b)&&(a=!0);if(this.L)13==b?this.ea=0:8==b?(this.L.value=this.L.value.slice(0,-1),0<this.ea&&this.ea--):(a=(a=oa[b])?"<"+a+">":String.fromCharCode(b),c=a.length,32>b&&1==c&&(c=0),9==b&&(b=this.Ga||8,c=b-this.ea%b,this.Ga&&(a=ma("",c))),this.Fa&&!this.ea&&c&&(a=String.fromCharCode(this.Fa)+a),this.L.value+=a,this.L.scrollTop=
this.L.scrollHeight,this.ea+=c),a=!0;else if(null!=this.W){if(10==b||1024<=this.W.length)this.O(this.W),this.W="";10!=b&&(this.W+=String.fromCharCode(b));a=!0}a&&(this.A|=96)}};m.$m=function(a,b,c){x(this,a,b,c,this.B&128?"DLM":"IER");this.B&128?this.fa=this.fa&255|b<<8:this.pa=b};m.an=function(a,b,c){x(this,a,b,c,"LCR");this.B=b};
m.bn=function(a,b,c){var d=this.C;x(this,a,b,c,"MCR");this.C=b;this.V&&(d^b)&3&&(a=this.V,b=this.C,(c=3==(b&3))?a.Hc||(d=!1,a.C&2||(a.reset(),y(a,"serial mouse reset"),d=!0),a.C&1||(y(a,"serial mouse ID requested"),d=!0),d&&(a.N.eg([77,77]),y(a,"serial mouse ID sent")),Co(a),a.Hc=c):a.Hc&&(y(a,"serial mouse inactive"),Do(a),a.Hc=c),a.C=b)};
var yo={0:wo.prototype.Rl,1:wo.prototype.Dl,2:wo.prototype.El,3:wo.prototype.Fl,4:wo.prototype.Hl,5:wo.prototype.Gl,6:wo.prototype.Ml},zo={0:wo.prototype.on,1:wo.prototype.$m,3:wo.prototype.an,4:wo.prototype.bn};Sa(function(){for(var a=pb(document,"pcx86","serial"),b=0;b<a.length;b++){var c=a[b],d=mb(c),d=new wo(d);ob(d,c)}});function Eo(a){Wa.call(this,"Mouse",a,Eo,16777216);if(this.ka=a.serial)this.pa="SerialPort";this.ia=this.fa=this.Hc=!1;this.B=[];this.A=[];ub(this)}fb(Eo);var wn=0;m=Eo.prototype;
m.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;for(b=null;b=Hb(a,"Video",b);)this.B.push(b)};m.ic=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.pa&&!this.N){for(var c=null;(c=Hb(this.X,this.pa,c))&&(!c.yi||!(this.N=c.yi(this.ka,this))););if(this.N)for(this.A=[],c=0;c<this.B.length;c++){var d;d=this.B[c];d.V=this;(d=d.X)&&this.A.push(d)}else w(this.id+": "+this.pa+" "+this.ka+" unavailable")}this.Hc?Co(this):Do(this)}return!0};
m.hc=function(a){return a?this.save():!0};m.reset=function(){Fo(this)};m.save=function(){var a=new lf(this),b=0,c=[];c[b++]=this.Hc;c[b++]=this.L;c[b++]=this.V;c[b++]=this.U;c[b++]=this.W;c[b++]=this.aa;c[b++]=this.ea;c[b]=this.C;N(a,0,c);return a.data()};m.restore=function(a){return Fo(this,a[0])};function Fo(a,b){var c=0;void 0===b&&(b=[!1,-1,-1,0,0,!1,!1,0]);var d=b[c++];a.Hc=d;a.L=b[c++];a.V=b[c++];a.U=b[c++];a.W=b[c++];a.aa=b[c++];a.ea=b[c++];a.C=b[c];return!0}m.Wf=function(a){this.fa=a};
function Co(a){if(!a.ia)for(var b=0;b<a.A.length;b++)Go(a,a.A[b])&&(a.ia=!0)}function Do(a){if(a.ia)for(var b=0;b<a.A.length;b++){var c=a.A[b];c&&(c.style.cursor="auto")}}function Go(a,b){return b?(b.addEventListener("mousemove",function(b){Ho(a,b)},!1),b.addEventListener("mousedown",function(b){Ho(a,b,!0)},!1),b.addEventListener("mouseup",function(b){Ho(a,b,!1)},!1),b.style.cursor="none",!0):!1}
function Ho(a,b,c){if(void 0!==c){var d;!(d=!1!==a.fa)&&(d=a.B.length)&&(d=a.B[0],d=d.si?d.De(!0):!1);d||(a.fa=null);a.ke(b.button,c)}else{if(0>a.L||0>a.V)a.L=b.clientX,a.V=b.clientY;a.fa?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.L,d=b.clientY-a.V);a.L=b.clientX;a.V=b.clientY;a.If(c,d,a.L,a.V)}}
m.ke=function(a,b){if(this.Hc&&this.F&&this.F.la.Fb){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case wn:if(this.aa!=b){this.aa=b;Io(this,c);return}break;case 2:if(this.ea!=b){this.ea=b;Io(this,c);return}}y(this,c+": ignored")}};m.If=function(a,b,c,d){this.Hc&&this.F&&this.F.la.Fb&&(a||b)&&(this.U=a,this.W=b,Io(this,null,c,d))};
function Io(a,b,c,d){var e=64|(a.aa?32:0)|(a.ea?16:0)|(a.W&192)>>4|(a.U&192)>>6,f=a.U&63,g=a.W&63;A(a,8388608)&&y(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+t(e)+","+t(f)+","+t(g)+"]",0,!0);a.N.eg([e,f,g]);a.U=a.W=0}Sa(function(){for(var a=pb(document,"pcx86","mouse"),b=0;b<a.length;b++){var c=a[b],d=mb(c),d=new Eo(d);ob(d,c)}});
function Jo(a,b,c){Wa.call(this,"Disk",{id:a.fe+".disk"+r(++Ko,4)},Jo,2097152);this.controller=a;this.X=a.X;this.ha=a.ha;this.B=b;this.ga=b.name;this.cf=b.cf;this.tg=this.N=!1;Lo(this,c,b.Bb,b.ub,b.lb,b.Va);this.U=[];this.ea=[];this.L=null;this.ia=0;this.fa=!1;ub(this)}var Ko=0;fb(Jo);function Mo(a,b,c,d,e,f){this.za=a;this.kc=c;this.Yg=d;this.Di=e;this.xe=f}var No=[0,2],Oo=[24,2],Po=[60,4],Qo=[0,2],Ro=[4,2],So=[6,2],To=[28,2],Uo=[32,2],Vo=[34,2],Wo=[38,2],Xo=[44,4],Yo=[50,2];
function Zo(a,b,c){var d;c=c||2;var e=b&511,f=$o(a.za,a.xe[b>>9]);if(f){if(e+c<=f.length)return ap(a.za,f,e,c);for(e=d=0;c--;)d|=Zo(a,b++,1)<<e,e+=8}return d}function bp(a,b,c){return Zo(a,b[0]+(c||0),b[1])}function cp(a,b,c){for(var d=0;!c||b<c;){var e=Zo(a,b,1);if(!e)break;var f;f=a;var g=b+1,h=e,k="";for(h||(h=-1);h--;){var l=Zo(f,g++,1);if(!l)break;k+=String.fromCharCode(l)}f=k;if(!f)break;b+=1+e;if(d){if(e=Zo(a,b),g=a.A[e])g=g[0],a.Ad[g]&&a.Ad[g].we[e].push(f)}else c||(a.hg=f);b+=2;d++}}
Mo.prototype.Ui=function(a,b){var c=null;if(this.Ad)for(var d in this.Ad){var e=this.Ad[d];if(a>=e.hi&&a<=e.dk){d=a-=e.hi;var f,g;for(g in e.we){var h=e.we[g],k=a-h[0];if(!k){c=this.hg+"!"+h[1];break}b&&0<k&&k<d&&(f=h,d=k)}!c&&f&&(c=this.hg+"!"+f[1]+"+"+u(d));break}}return c||this.kc+"+"+("0x"+r(a))};m=Jo.prototype;m.Ic=function(a,b,c,d){this.ha=d};m.ic=function(a,b){b||!this.tg||this.N||(ub(this,!1),this.load(this.ga,this.V,null,this.Sk,this));return!0};m.Sk=function(){ub(this,!0)};
m.hc=function(a,b){if(this.N){var c,d=0;if(this.fa&&!Aa("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=dp(this,!1);)if(d=c[0]){this.controller.Na('Unable to save "'+this.ga+'" (error '+d+")");break}b&&this.N&&(c="action=close&volume="+this.V,c+="&machine="+this.controller.gf(),c+="&user="+this.controller.le(),xa(ya()+"/api/v1/disk?"+c,null,!0),this.N=!1);!d&&a&&this.controller.Na(this.ga+" saved")}return!0};
function Lo(a,b,c,d,e,f){a.mode=b;a.Bb=c;a.ub=d;a.lb=e;a.Va=f;a.A=[];if("preload"!=a.mode){b=Array(a.Bb);for(c=0;c<b.length;c++){d=Array(a.ub);for(e=0;e<d.length;e++){f=Array(a.lb);for(var g=1;g<=f.length;g++)f[g-1]=ep(null,c,e,g,a.Va,"local"==a.mode?0:null);d[e]=f}b[c]=d}a.A=b}a.aa=null}
m.load=function(a,b,c,d,e){var f=b;if(this.W)return!0;this.ga=a;this.V=b;this.Pg=fa(b);var g=this;this.W=d;this.ka=e||this.controller;if(c){var h=new FileReader;h.onload=function(){var a=h.result,b,c=a?a.byteLength:0,d=ba[c];if(d){g.Bb=d[0];g.ub=d[1];g.lb=d[2];g.Va=512;b=g.Va>>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.Bb);for(c=0;c<g.A.length;c++)for(var f=g.A[c]=Array(g.ub),F=0;F<f.length;F++)for(var v=f[F]=Array(g.lb),E=0;E<v.length;E++){for(var H=ep(null,c,F,E+1,g.Va,0),L=H.data,W=0;W<b;W++,
e+=4)var P=L[W]=a.getInt32(e,!0),d=d+P&-1;H.Zc=b;v[E]=H}g.aa=d;b=g}else g.Na("Unrecognized diskette format ("+c+" bytes)");g.W&&(g.W.call(g.controller,g.B,b,g.ga,g.V),g.W=null)};h.readAsArrayBuffer(c);return!0}0>b.indexOf("/api/v1/dump")&&(a=ga(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=fp(this,b),this.tg=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):ha(b,"/")&&
(c="dir"),f=ya()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.cf?"":d)+"&format=json"));return!!xa(f,null,!0,function(a,b,c){gp(g,a,b,c)})};
function gp(a,b,c,d){var e=null;a.ff=!1;var f=0>d&&a.X&&!a.X.la.cc;if(a.tg)d?a.controller.Na('Unable to connect to disk "'+a.V+'" (error '+d+": "+c+")",f):(a.N=!0,hp(a),e=a);else if(d)a.controller.Na('Unable to load disk "'+a.ga+'" (error '+d+": "+b+")",f);else{hb(a.controller.fe,b,c);try{if(0<fa(a.Pg,!0).toLowerCase().indexOf("-readonly"))a.ff=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.ff=!0)}var h;"<"==c.substr(0,1)?h=["Missing disk image: "+a.ga]:
h=0>c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(h.length)if(1==h.length)w(h[0]);else{a.Bb=h.length;a.ub=h[0].length;a.lb=h[0][0].length;var k=h[0][0][0];a.Va=k&&k.length||512;for(d=c=0;d<a.Bb;d++)for(f=0;f<a.ub;f++)for(g=0;g<a.lb;g++)if(k=h[d][f][g]){var l=k.length;void 0===l&&(l=k.length=512);var l=l>>2,n=k.pattern;void 0===n&&(n=k.pattern=0);var q=k.data;if(void 0===q){var p=k.bytes;if(void 0!==p&&p.length){for(var z=
l<<2,F=p.length;F<z;F++)p[F]=n;ip(k,p,0)}else q=[],n=k.pattern=n|n<<8|n<<16|n<<24,k.data=q;delete k.bytes}ep(k,d,f);for(z=0;z<q.length;z++)c=c+q[z]&-1}a.A=h;a.aa=c;hp(a);e=a}else w("Empty disk image: "+a.ga)}catch(v){w("Disk image error ("+b+"): "+v.message)}}a.W&&(a.W.call(a.ka,a.B,e,a.ga,a.V),a.W=null)}
function hp(a){var b,c,d={},e;if(a.C&&a.C.length)for(b=a.A,c=0;c<b.length;c++)for(var f=0;f<b[c].length;f++)for(e=0;e<b[c][f].length;e++){var g=b[c][f][e];g&&(delete g.file,delete g.qm)}a.C=[];d.$f=d.Hf=0;b=a.Bb*a.ub*a.lb*a.Va;a.N&&a.log("ignore any synchronous XMLHttpRequest warnings here (for now)");if(e=$o(a,0)){d.Va=ap(a,e,11,2);f=!0;if(d.Va!=a.Va){f=!1;d.Gf=1;d.Cg=12;d.mh=d.Gf+2;d.Ag=1;d.Va=a.Va;if(163840==b&&254==jp(a,d,0,0))d.Hf=320,d.wh=64,f=!0;else if(327680==b&&255==jp(a,d,0,0))d.Hf=640,
d.wh=112,f=!0;else for(c=446,b=0;4>b;b++){if(128==ap(a,e,c+0,1)){d.$f=ap(a,e,c+8,4);(e=$o(a,d.$f))&&(f=!0);break}c+=16}if(!f)return}d.Hf||(d.Hf=ap(a,e,19,2)||ap(a,e,32,4),d.Gf=ap(a,e,14,2),d.mh=d.Gf+ap(a,e,22,2)*ap(a,e,16,1),d.wh=ap(a,e,17,2),d.Ag=ap(a,e,13,1));d.kh=d.mh+((32*d.wh+(d.Va-1))/d.Va|0);d.lm=(d.Hf-d.kh)/d.Ag|0;d.Cg=4084>=d.lm?12:16;d.Vk=12==d.Cg?4086:65526;b=[];for(e=d.mh;e<d.kh;e++)b.push(d.$f+e);kp(a,d,a.Pg,"",b);for(b=0;b<a.C.length;b++){d=a.C[b];for(e=c=0;e<d.xe.length;e++){var f=
d.xe[e],g=c,h=a.ub*a.lb,k=f%h,l=k/a.lb|0,k=k%a.lb,n=void 0,q=void 0,p=void 0;(n=a.A[f/h|0])&&(q=n[l])&&(p=q[k])&&!p.file&&(p.file=d,p.qm=g);c+=a.Va}e=d;if((ha(e.kc,".EXE")||ha(e.kc,".DLL")||ha(e.kc,".DRV"))&&23117==bp(e,No)&&64==bp(e,Oo)&&(c=bp(e,Po),17742==bp(e,Qo,c))){l=bp(e,To,c);g=bp(e,Vo,c);h=bp(e,Yo,c);if(g&&l){d=e;f=g+c;g=l;h=h||0;l=1;d.Ad=[];for(d.A=[];g--;){if(k=Zo(d,f)<<h)n=Zo(d,f+2)||65536,d.Ad[l++]={hi:k,dk:k+n-1,we:[]};f+=8}d.Ad[254]={hi:0,dk:0,we:[]}}g=bp(e,Ro,c);h=bp(e,So,c);if(g&&
h)for(d=e,f=g+=c,g=g+h,h=1;f<g;){k=Zo(d,f);l=k&255;if(!l)break;k=k>>8;f+=2;if(k)for(;l--;)Zo(d,f,1),254>=k?(n=k,q=Zo(d,f+1),f+=3):(n=Zo(d,f+3,1),q=Zo(d,f+4),f+=6),d.Ad[n]&&(d.Ad[n].we[h]=[q]),d.A[h]=[n,q],h++;else h+=l}(g=bp(e,Wo,c))&&cp(e,g+c);g=bp(e,Xo,c);h=bp(e,Uo,c);g&&h&&cp(e,g,g+h)}}}}
function kp(a,b,c,d,e){var f,g=a.C.length,h=b.Va/32|0;b.Do=d+"\\";for(var k=0;k<e.length;k++)for(var l=e[k],n=0;n<h;n++){var q=a,p=b;f=n;p.ve&&p.ji&&p.ji==l||(p.ji=l,p.ve=$o(q,p.ji));if(p.ve){f*=32;var z=ap(q,p.ve,f,1);if(0==z)f=!1;else{if(229==z)p.kc=null;else{p.kc=na(lp(q,p.ve,f+0,8));z=na(lp(q,p.ve,f+8,3));z.length&&(p.kc+="."+z);p.Yg=ap(q,p.ve,f+11,1);p.Di=ap(q,p.ve,f+28,2);p.Uk=ap(q,p.ve,f+26,2);f=p;var z=[],F=p.Uk;if(F){do{if(2>F)break;for(var v=p.kh+(F-2)*p.Ag,E=0;E<p.Ag;E++)z.push(p.$f+v++);
F=jp(q,p,F,0)|jp(q,p,F,1)}while(F<=p.Vk)}f.xe=z}f=!0}}else f=!1;if(!f){k=e.length;break}null!=b.kc&&"."!=b.kc&&".."!=b.kc&&(f=new Mo(a,0,b.kc,b.Yg,b.Di,b.xe),a.C.push(f))}for(e=a.C.length;g<e;g++)f=a.C[g],f.Yg&16&&f.xe.length&&kp(a,b,c,d+"\\"+f.kc,f.xe)}function jp(a,b,c,d){var e=0,f=8*b.Va;c=b.Cg*c+(d?8:0);var g=c/f|0;b.oi&&b.lh&&b.lh==b.Gf+g||(b.lh=b.Gf+g,b.oi=$o(a,b.$f+b.lh));b.oi&&(c=c%f|0,e=ap(a,b.oi,c>>3,1),d?e=16==b.Cg?e<<8:c&7?e<<4:(e&15)<<8:c&7&&(e>>=4));return e}
function $o(a,b){var c=a.ub*a.lb,d=b/c|0;return d<a.Bb?(c=b%c,a.seek(d,c/a.lb|0,c%a.lb+1)):null}function ap(a,b,c,d){for(var e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}function lp(a,b,c,d){for(var e="";d--;){var f=a.read(b,c++);if(0>=f)break;e+=String.fromCharCode(f)}return e}function ep(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Wk=b;a.Xk=c;a.wd=a.Zc=0;a.Wa=!1;return a}
function fp(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;c+="&machine="+a.controller.gf();c+="&user="+a.controller.le();return ya()+"/api/v1/disk?"+c}
function mp(a,b,c,d,e,f,g){if(a.N){var h;h="action=read&volume="+a.V;h+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.controller.gf());h+="&user="+a.controller.le();xa(ya()+"/api/v1/disk?"+h,null,f,function(h,l,n){h=[b,c,d,e,f,g];var q=!1,p=h[0],z=h[1],F=h[2],v=h[3];if(!n){l=JSON.parse(l);for(q=0;v--;){var E=a.seek(p,z,F,!0);if(!E)break;ip(E,l,q);q+=E.length;F++}q=h[4]}(h=h[5])&&h(n,q)})}else g&&g(-1,!1)}
function np(a,b,c,d,e,f,g){if(a.N){var h={};a.fa=!0;h.action="write";h.volume=a.V;h.chs=a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h.addr=b+":"+c+":"+d+":"+e;h.machine=a.controller.gf();h.user=a.controller.le();h.data=JSON.stringify(f);xa(ya()+"/api/v1/disk",h,g,function(f,h,n){var q=[b,c,d,e,g];f=q[0];h=q[1];var p=q[2],z=q[3],q=q[4];a.fa=!1;if(0<=f&&f<a.A.length&&0<=h&&h<a.A[f].length)for(p=p-1;0<z--&&0<=p&&p<a.A[f][h].length;p++){var F=a.A[f][h][p];n?op(a,F,!1):F.Wa||(F.wd=F.Zc=0)}q&&pp(a)})}return!1}
function op(a,b,c){b.Wa=!0;var d=a.U.indexOf(b);0<=d&&(a.U.splice(d,1),a.ea.splice(d,1));a.U.push(b);a.ea.push(qa());c&&pp(a)}function pp(a){if(a.U.length){var b=a.ea[0]+2E3;a.L&&a.ia<b&&(clearTimeout(a.L),a.L=null);if(!a.L){var c=qa(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.L=setTimeout(function(){dp(a,!0)},b);a.ia=c+b}}else a.L&&(clearTimeout(a.L),a.L=null)}
function dp(a,b){b&&(a.L=null);var c=a.U[0];if(c){for(var d=c.Wk,e=c.Xk,c=c.sector,f=0,g=[],h=c-1;h<a.A[d][e].length;h++){var k=a.A[d][e][h];if(!k.Wa)break;var l=a.U.indexOf(k);a.U.splice(l,1);a.ea.splice(l,1);g=g.concat(qp(k));k.Wa=!1;f++}d=np(a,d,e,c,f,g,b);return b||d}return!1}m.info=function(){return this.A.length?[this.A.length,this.A[0].length,this.A[0][0].length,this.A[0][0][0].length]:[0,0,0,0]};
m.seek=function(a,b,c,d,e){var f=null,g=this.B,h=this.A[a];if(h){var k=h[b];if(!k&&g.$g&&b<g.ub)for(k=h[b]=Array(g.ie),h=0;h<k.length;h++)k[h]=ep(null,a,b,h+1,g.Ib,0);if(k){for(h=0;h<k.length;h++)if(k[h]&&k[h].sector==c){f=k[h];if(null===f.pattern)if(d)f.pattern=0;else{for(d=1;++h<k.length;)null===k[h].pattern&&d++;mp(this,a,b,c,d,null!=e,function(a,b){a&&(f=null);e&&e(f,b)});return e?null:f}break}!f&&g.$g&&9==g.xb&&(f=k[h]=ep(null,a,b,g.xb,g.Ib,0))}}e&&e(f,!1);return f};
function ip(a,b,c){for(var d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e}function qp(a){var b=a.length,c=Array(b),d=0,b=b>>2,e=a.data;a=a.pattern;for(var f=0;f<b;f++){var g=f<e.length?e[f]:a;c[d++]=g&255;c[d++]=g>>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}m.read=function(a,b){var c=-1;if(a&&b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c};
m.write=function(a,b,c){if(this.ff)return!1;if(b<a.length){if(c!=this.read(a,b,!0)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Zc?f<a.wd?(a.Zc+=a.wd-f,a.wd=f):f>=a.wd+a.Zc&&(a.Zc+=f-(a.wd+a.Zc)+1):(a.wd=f,a.Zc=1);d[f]=d[f]&~(255<<b)|c<<b;this.N&&op(this,a,!0)}return!0}return null};function rp(a){for(var b="",c=0,d;d=$o(a,c++);)for(var e=0,f=d.length;e<f;e++)b+=String.fromCharCode(ap(a,d,e,1));return btoa(b)}
m.save=function(){var a=0,b=[];b[a++]=[this.V,this.aa,this.Bb,this.ub,this.lb,this.Va];if(!this.N&&!this.ff)for(var c=this.A,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.Zc){for(var h=[],k=0,l=g.wd,n=g.wd+g.Zc;l<n;)h[k++]=g.data[l++];b[a++]=[d,e,f,g.wd,h]}}return b};
m.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.A.length&&6<=e.length?Lo(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.aa&&e[1]!=this.aa&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.aa+")",b=-2));for(this.A.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],k=g[f++],l=g[f++];if(h>=this.A.length||k>=this.A[h].length||l>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+l+") out of range ("+
b+" changes applied)";b=-1;break}if(this.ff){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][l]){for(k=h.data.length;k<e;)h.data[k++]=h.pattern;k=0;h.wd=e;for(h.Zc=f.length;e<g;)h.data[e++]=f[k++];b++}}}0>b?-2!=b&&this.controller.Na("Unable to restore disk '"+this.ga+": "+c):hp(this);return b};
m.toJSON=function(){var a;a=0;for(var b;b=$o(this,a++);)sp(b);a=JSON.stringify(this.A,function(a,b){return"file"==a?void 0:b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
function sp(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function tp(a){Wa.call(this,"FDC",a,tp,524288);this.dmaRead=this.zk;this.dmaWrite=this.Ak;this.dmaFormat=this.Ok;this.U=a.autoMount||null;this.fa=a.sortBy||"name";"none"==this.fa&&(this.fa=null);this.B=[];this.ia=!Ia("Mobi")&&window&&"FileReader"in window}fb(tp);aa={};
var up={3:{Wd:3,je:0,name:aa.bo},4:{Wd:2,je:1,name:aa.$n},5:{Wd:9,je:7,name:aa.lo},6:{Wd:9,je:7,name:aa.Vn},7:{Wd:2,je:0,name:aa.Xn},8:{Wd:1,je:2,name:aa.ao},10:{Wd:2,je:7,name:aa.Wn},13:{Wd:6,je:7,name:aa.Hn},15:{Wd:3,je:0,name:aa.Zn}};m=tp.prototype;
m.Pb=function(a,b,c){var d=this;switch(b){case "listDisks":this.qa[b]=c;if(this.fa){b=[];for(a=0;a<c.options.length;a++)b.push(c.options[a]);b.sort(function(a,b){return"path"!=d.fa?a.text.localeCompare(b.text):a.value.localeCompare(b.value)});for(a=0;a<b.length;a++)c.options[a]=b[a]}c.onchange=function(){var a=d.qa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){w("FDC option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=
g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}};return!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&vp(d,a)},!0;case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&wp(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ia){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;a&&a.options&&d.A&&(a=ca(a.value,10),(a=
d.A[a])?(a=a.za)?(a=Ja(rp(a),"octet-stream",!0,a.Pg.replace(".json",".img")),w(a)):d.Na("No diskette loaded in drive."):d.Na("No diskette drive selected."))};return!0;case "mountDrive":if(!this.ia){c.parentNode.removeChild(c);break}this.qa[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;wp(d,fa(b,!0),b,a)}return!1};return!0}return!1};
m.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.X=a;this.N=Hb(a,"ChipSet");if((this.U=Qc(this.X,"autoMount")||this.U)&&"string"==typeof this.U)try{this.U=eval("("+this.U+")")}catch(e){w("FDC auto-mount error: "+e.message+" ("+this.U+")"),this.U=null}xp(this);lc(b,this,yp);pc(b,this,zp);Ap(this,"None","",!0);this.ia&&Ap(this,"Local Disk","?");Ap(this,"Remote Disk","??");Bp(this)||ub(this)};
m.ic=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.X.fh){this.B=[];for(var c=0;c<this.A.length;c++)Cp(this,c,!0);Bp(this,!0)}}else if(!this.restore(a))return!1;if(c=this.qa.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.value="";for(var d=0;d<this.ka;d++){var e=document.createElement("option");e.value=d;e.text=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.ka&&(c.value="0",vp(this,0))}}return!0};m.hc=function(a){return a?this.save():!0};m.reset=function(){xp(this)};
m.save=function(){var a=new lf(this),b=0,c=[];c[b++]=this.hb;c[b++]=0;c[b++]=this.ma;c[b++]=this.V;c[b++]=this.L;c[b++]=this.C;c[b++]=this.aa;for(var d=b++,e=0,f=[],g=0;g<this.A.length;g++){var h=e++,k=this.A[g],l=0,n=[];n[l++]=k.Cb;n[l++]=[k.name,k.Bb,k.ub,k.lb,k.Va,k.cf,k.Bg,k.Of,k.Pf];n[l++]=k.kb;n[l++]=k.he+100;n[l++]=k.Qb;n[l++]=k.xb;n[l++]=k.ie;n[l++]=k.Ib;n[l++]=k.eb;n[l++]=k.af;n[l++]=k.nk;n[l]=k.Me;f[h]=n}c[d]=f;d=b++;for(e=0;e<this.A.length;e++)f=this.A[e],f.za&&Dp(this,f.Me,f.za);c[d]=
this.B;c[b++]=this.W;c[b]=this.jc;N(a,0,c);return a.data()};m.restore=function(a){return xp(this,a[0])};
function xp(a,b){var c=0,d,e=!0;void 0===b&&(b=[0,0,128,Array(9),0,0,0,[]]);a.hb=b[c++];c++;a.ma=b[c++];a.V=b[c++];a.L=b[c++];a.C=b[c++];a.aa=b[c++];var f=b[c++];d=b[c++];null!=d&&(a.B=d);void 0===a.A&&(a.ka=4,a.N&&(a.ka=+Xk(a.N,yk,void 0)),a.A=Array(4));for(d=0;d<a.A.length;d++){var g=a.A[d];if(void 0===g){var g=a.A[d]={},h;if(a.N)a:{h=a.N;if(d<+Xk(h,yk,void 0)){if(!h.ia){h=360;break a}if(d<h.ia.length){h=h.ia[d];break a}}h=0}else h=0;switch(h){case 160:case 180:g.ub=1;default:g.Bb=40;g.lb=9;break;
case 720:g.Bb=80;g.lb=9;break;case 1200:g.Bb=80;g.lb=15;break;case 1440:g.Bb=80,g.lb=18}}var k=a,l=d,n=f[d],q=0;h=!0;g.hb=l;g.bd=g.af=!1;void 0===n&&(n=[192,!0,0,2,0]);"boolean"==typeof n[1]&&(n[1]=["Floppy Drive",g.Bb||40,g.ub||n[3],g.lb||9,g.Va||512,n[1],g.Bg,g.Of,g.Pf]);g.Cb=n[q++];var p=n[q++];g.name=p[0];g.Bb=p[1];g.ub=p[2];g.lb=p[3];g.Va=p[4];g.cf=p[5];(g.Bg=p[6])?(g.Of=p[7],g.Pf=p[8]):(g.Bg=g.Bb,g.Of=g.ub,g.Pf=g.lb);g.kb=n[q++];g.he=n[q++];g.Qb=n[q++];g.he=100<=g.he?g.he-100:g.he-g.Qb;g.xb=
n[q++];g.ie=n[q++];g.Ib=n[q++];g.eb=n[q++];g.pb=null;g.za||(g.Me="");p=n[q++];102==p&&(p=!1);if("boolean"==typeof p){var z=p,p=n[q++],n=n[q];z?(q=p,p=k.A[l],Cp(k,l,!0,!0),p.af=!0,l=new Jo(k,p,"preload"),k.Ji(p,l,q,n,!0)):Ep(k,l,p,n,!0)?g.za&&n&&Fp(k,p,n,g.za):ub(k,!1)}else void 0!==p&&g.za&&0>g.za.restore(p)&&(h=!1);h&&g.za&&void 0!==g.eb&&(g.pb=g.za.seek(g.Qb,g.kb,g.xb));h||(e=!1)}a.W=b[c++]||0;a.jc=b[c]||0;return e}m.Ii=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};
m.pk=function(a,b,c){if(a.za){var d=a.za.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Qb=Math.floor(b/f),b%=f,a.kb=Math.floor(b/e),a.xb=b%e+1,a.Ib=c*d[3],a.Cb=0,!0}return!1};
function Bp(a,b){b||(a.ea=0);if(a.U)for(var c in a.U){var d=a.U[c],e=d.path,f;if(!(f=d.name))a:{if((f=a.qa.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var h=f.options[g];if(h.value==e){f=h.text;break a}}f=fa(e,!0)}if(e&&f&&(g=c.charCodeAt(0)-65,0<=g&&g<a.A.length)){!Ep(a,g,f,e,!0)&&b&&ub(a,!1);continue}a.Na("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.ea}
function wp(a,b,c,d){var e,f=a.qa.listDrives;if(f&&!isNaN(e=ca(f.value,10))&&0<=e&&e<a.A.length)if(c)if("?"==c)a.Na('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=fa(c)}for(;0>Ep(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,g=c,h=void 0,h=0;h<f.B.length;h++)if(f.B[h][1]==g){f.B.splice(h,1);break}Cp(a,
e,!1,!0)}}else Cp(a,e);else a.Na("Unable to load the selected drive")}function Ep(a,b,c,d,e,f){var g=a.A[b];if(d&&(d=d.replace("/disks/pc/","/disks/pcx86/"),g.Me.toLowerCase()!=d.toLowerCase())){Cp(a,b,e,!0);if(g.bd)return a.Na("Drive "+b+" busy"),0;g.bd=!0;e&&(g.Ae=!0,a.ea++,A(a)&&y(a,"loading diskette '"+c+"'"));g.af=!!f;return(new Jo(a,g,"preload")).load(c,d,f,a.Ji)?1:0}return-1}
m.Ji=function(a,b,c,d,e){var f;a.bd=!1;b&&(f=b.info(),b&&f[0]>a.Bb||f[1]>a.ub)&&(this.Na('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.hb)),b=null);b?(a.za=b,a.nk=c,a.Me=d,Fp(this,c,d,b),f=b.info(),this.W|=128,this.Na('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.hb),a.Ae||e),a.Bg=f[0],a.Of=f[1],a.Pf=f[2],this.X&&this.X.yd()):a.af=!1;a.Ae&&(a.Ae=!1,--this.ea||ub(this));vp(this,a.hb)};
function Ap(a,b,c,d){if((a=a.qa.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function vp(a,b){if(0<=b&&b<a.A.length){var c=a.A[b],d=a.qa.listDisks,e=a.qa.listDrives;if(d&&e&&d.options&&e.options&&(e=ca(e.value,10),c=c.af?"?":c.Me,!isNaN(e)&&e==b)){for(e=0;e<d.options.length;e++)if(d.options[e].value==c){d.selectedIndex!=e&&(d.selectedIndex=e);break}e==d.options.length&&(d.selectedIndex=0)}}}function Cp(a,b,c,d){var e=a.A[b];e.za&&(Dp(a,e.Me,e.za),e.nk="",e.Me="",e.za=null,e.af=!1,a.W|=128,d||a.Na("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||vp(a,b))}
function Fp(a,b,c,d){var e;for(e=0;e<a.B.length;e++)if(a.B[e][1]==c){d.restore(a.B[e][2]);return}a.B[e]=[b,c,[]]}function Dp(a,b,c){var d;for(d=0;d<a.B.length;d++)if(a.B[d][1]==b){a.B[d][2]=c.save();break}}m.Tm=function(a,b,c){x(this,a,b,c,"OUTPUT");b&4?this.aa&4||this.aa&8&&this.N&&hg(this.N,6):xp(this);this.aa=b};m.yl=function(a,b){x(this,a,null,b,"DIAG",80);return 80};m.Al=function(a,b){x(this,a,null,b,"STATUS",this.ma);return this.ma};
m.xl=function(a,b){var c=0;this.L<this.C&&(c=this.V[this.L]);this.aa&8&&this.N&&gg(this.N,6);A(this)&&x(this,a,null,b,"DATA["+this.L+"]",c);++this.L>=this.C&&(this.ma&=-81,this.L=this.C=0);return c};
m.Sm=function(a,b,c){A(this)&&x(this,a,b,c,"DATA["+this.C+"]");this.C<this.V.length&&(this.V[this.C++]=b);a=this.V[0]&31;if(void 0!==up[a]&&this.C>=up[a].Wd){b=!1;this.L=0;a=Gp(this);var d,e,f,g,h=a&31;switch(h){case 3:Gp(this);Gp(this);Hp(this);break;case 4:c=Gp(this);this.hb=c&3;d=this.A[this.hb];Hp(this);Ip(this,(d.Cb&-16777216)>>>24);break;case 5:case 6:c=Gp(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];d.kb=b;c=d.Qb=Gp(this);e=Gp(this);f=d.xb=Gp(this);g=Gp(this);d.Ib=128<<g;d.ie=Gp(this);Gp(this);
Gp(this);6==h?(h=d,h.Cb=72,h.za&&(h.pb=null,h.Cb=0,this.N&&(Bl(this.N,2,this,"dmaRead",h),tl(this.N,2)))):(h=d,h.Cb=72,h.za&&(h.za.ff?h.Cb=576:(h.pb=null,h.Cb=0,this.N&&(Bl(this.N,2,this,"dmaWrite",h),tl(this.N,2)))));Jp(this,d,a,b,c,e,f,g);b=!0;break;case 7:c=Gp(this);this.hb=c&3;d=this.A[this.hb];d.Qb=d.he=0;d.Cb=268435488;Hp(this);b=!0;break;case 8:d=this.A[this.hb];d.kb=0;Hp(this);Ip(this,d.hb|d.kb<<2|d.Cb&255);Ip(this,d.Qb);this.hb=this.hb+1&3;break;case 10:c=Gp(this);b=c>>2&1;this.hb=c&3;d=
this.A[this.hb];c=d.Qb;e=d.kb=b;f=d.xb=1;g=0;d.Cb=0;d.za&&(d.pb=d.za.seek(d.Qb,d.kb,d.xb))?g=d.pb.length>>8:d.Cb=72;Jp(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=Gp(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];c=d.Qb;e=d.kb=b;f=1;g=Gp(this);d.Ib=128<<g;d.ie=Gp(this);Gp(this);d.zi=Gp(this);h=d;h.Cb=72;h.za&&(h.pb=null,h.Cb=0,this.N&&(h.We=0,h.md=Array(4),h.$g=!0,h.pg=0,Bl(this.N,2,this,"dmaFormat",h),tl(this.N,2),h.$g=!1));Jp(this,d,a,b,c,e,f,g);b=!0;break;case 15:c=Gp(this),this.hb=c&3,d=this.A[this.hb],
d.kb=c>>2&1,c=Gp(this),d.Qb+=c-d.he,0>d.Qb&&(d.Qb=0),d.Qb>=d.Bb&&(d.Qb=d.Bb-1),d.he=c,d.Cb=32,d.Qb||(d.Cb|=268435456),Hp(this),b=!0}0<this.C&&(this.ma|=80);this.aa&8&&(!d||d.Cb&8||!b||this.N&&hg(this.N,6))}};m.zl=function(a,b){var c=this.W;this.W&=-129;x(this,a,null,b,"INPUT",c);return c};m.Rm=function(a,b,c){x(this,a,b,c,"CONTROL");this.jc=b};
function Jp(a,b,c,d,e,f,g,h){Hp(a);Ip(a,b.hb|b.kb<<2|b.Cb&255);Ip(a,(b.Cb&65280)>>>8);Ip(a,(b.Cb&16711680)>>>16);var k=0;if(e!=b.Qb||f!=b.kb)k=g=1;c&128&&(f^=k,d||(k=0));Ip(a,e+k);Ip(a,f);Ip(a,g);Ip(a,h)}function Gp(a){var b=a.V[a.L];a.L++;return b}function Hp(a){a.L=a.C=0}function Ip(a,b){a.V[a.C++]=b}m.zk=function(a,b,c){void 0===b||0>b?this.Je(a,c):c(-1,!1)};m.Ak=function(a,b){return void 0!==b&&0<=b?Kp(a,b):-1};
m.Ok=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.Cb)c=-1;else{a.md[a.We++]=c;if(a.We==a.md.length){a.Qb=a.md[0];a.kb=a.md[1];a.xb=a.md[2];a.Ib=128<<a.md[3];for(var d=a.We=0;d<a.Ib;d++)if(0>Kp(a,a.zi)){c=-1;break a}a.pg++}a.pg>=a.ie&&(c=-1)}else c=-1;return c};m.Je=function(a,b){var c=-1,d=null,e=0;if(!a.Cb&&a.za){do{if(a.pb&&(e=a.eb,0<=(c=a.za.read(a.pb,a.eb++)))){d=a.pb;break}a.pb=a.za.seek(a.Qb,a.kb,a.xb);if(!a.pb){a.Cb=1088;break}a.eb=0;Lp(a)}while(1)}b(c,!1,d,e)};
function Kp(a,b){if(a.Cb||!a.za)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.pb=a.za.seek(a.Qb,a.kb,a.xb);if(!a.pb){a.Cb=8256;b=-1;break}a.eb=0;Lp(a)}while(1);return b}function Lp(a){a.xb++;a.xb>=a.Pf+1&&(a.xb=1,a.kb++,a.kb>=a.Of&&(a.kb=0,a.Qb++))}var yp={1009:tp.prototype.yl,1012:tp.prototype.Al,1013:tp.prototype.xl,1015:tp.prototype.zl},zp={1010:tp.prototype.Tm,1013:tp.prototype.Sm,1015:tp.prototype.Rm};
Sa(function(){for(var a=pb(document,"pcx86","fdc"),b=0;b<a.length;b++){var c=a[b],d=mb(c),d=new tp(d);ob(d,c)}});function Mp(a){Wa.call(this,"HDC",a,Mp,1048576);this.dmaRead=this.Bk;this.dmaWrite=this.Ck;this.dmaWriteBuffer=this.Pk;this.dmaWriteFormat=this.Qk;this.ua=[];this.Fa=a.drives;this.ia="at"==a.type}fb(Mp);
var Np=["XTC","ATC","COMPAQ"],Op=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7],16:[612,4],17:[977,5],18:[977,7],19:[1024,7],20:[733,5],21:[733,7],22:[733,5],23:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[1023,8],5:[940,6],6:[697,5],7:[462,8],8:[925,5],9:[900,15],10:[980,5],11:[925,7],12:[925,9],13:[612,8],14:[980,4],16:[612,4],17:[980,5],18:[966,6],19:[1023,
8],20:[733,5],21:[733,7],22:[524,4,40],23:[924,8],24:[966,14],25:[966,16],26:[1023,14],27:[832,6,33],28:[1222,15,34],29:[1240,7,34],30:[615,4,25],31:[615,8,25],32:[905,9,25],33:[832,8,33],34:[966,7,34],35:[966,8,34],36:[966,9,34],37:[966,5,34],38:[612,16,63],39:[1023,11,33],40:[1023,15,34],41:[1630,15,52],42:[1023,16,63],43:[805,4,26],44:[805,2,26],45:[748,8,33],46:[748,6,33],47:[966,5,25]}];m=Mp.prototype;
m.Pb=function(a,b,c){var d=this;switch(b){case "saveHD0":case "saveHD1":return this.qa[b]=c,c.onclick=function(a){return function(){var b=d.A&&d.A[a];b&&b.za?(b=b.za,b=Ja(rp(b),"octet-stream",!0,b.Pg.replace(".json",".img")),w(b)):d.Na("Hard drive "+a+" is not available.")}}(+b.slice(-1)),!0}return!1};
m.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.X=a;if(d=Qc(a,"drives"))this.ua=d;else if(this.Fa)try{this.ua=eval("("+this.Fa+")")}catch(e){w("HDC drive configuration error: "+e.message+" ("+this.Fa+")")}this.N=Hb(a,"ChipSet");this.U=0;this.Ga=3;lc(b,this,this.ia?Pp:Qp);pc(b,this,this.ia?Rp:Sp);this.ia&&(this.U++,this.N&&5180==this.N.ja&&this.U++,this.Ga=2,b.aa[496]=2,b.ea[496]=2);ff(c,19,this.bm.bind(this));ff(c,64,this.cm.bind(this));this.reset();Tp(this)||ub(this)};
m.ic=function(a,b){if(!b)if(!a||!this.restore)Up(this),this.X.fh&&Tp(this,!0);else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};m.gf=function(){return this.X?this.X.gf():""};m.le=function(){return this.X?this.X.le():""};m.reset=function(){Up(this,null,!0)};
m.save=function(){var a=new lf(this),b=0,c=[];this.ia?(c[b++]=this.W,c[b++]=this.Pa,c[b++]=this.aa,c[b++]=this.Ca,c[b++]=this.ya,c[b++]=this.wa,c[b++]=this.ra,c[b++]=this.ma,c[b++]=this.Da,c[b++]=[this.fa,this.hb]):(c[b++]=this.pa,c[b++]=this.ma,c[b++]=this.V,c[b++]=this.L,c[b++]=this.C,c[b++]=this.Oa,c[b++]=this.Ka,c[b++]=this.Ja,c[b++]=this.ka);for(var d=0,e=[],f=0;f<this.A.length;f++){var g=d++,h=this.A[f],k=0,l=[];l[k++]=h.errorCode;l[k++]=h.qk;l[k++]=h.cf;l[k++]=h.Re;l[k++]=h.Se;l[k++]=h.kb;
l[k++]=h.ub;l[k++]=h.ee;l[k++]=h.xb;l[k++]=h.ie;l[k++]=h.Ib;l[k++]=h.eb;l[k]=h.za?h.za.save():null;e[g]=l}c[b]=e;N(a,0,c);return a.data()};m.restore=function(a){return Up(this,a[0])};
function Up(a,b,c){var d=0,e=!0;a.hb=-1;if(a.ia){if(null==b&&(b=[0,0,0,0,0,0,0,64,0,[0,-1]]),a.W=b[d++],a.Pa=b[d++],a.aa=b[d++],a.Ca=b[d++],a.ya=b[d++],a.wa=b[d++],a.ra=b[d++],a.ma=b[d++],a.Da=b[d++],a.fa=b[d++],"object"==typeof a.fa){var f=a.fa;a.fa=f[0];a.hb=f[1]}}else null==b&&(b=[0,0,Array(14),0,0]),a.pa=b[d++],a.ma=b[d++],a.V=b[d++],a.L=b[d++],a.C=b[d++],a.Oa=b[d++],a.Ka=b[d++],a.Ja=b[d++],f=b[d++],void 0!==f?a.ka=f:void 0===a.ka&&(a.ka=-1);void 0===a.A&&(a.A=Array(a.ua.length));b=b[d];void 0===
b&&(b=[]);for(d=0;d<a.A.length;d++){void 0===a.A[d]&&(a.A[d]={});var f=a.A[d],g=a,h=d,k=f,l=a.ua[d],n=b[d],q=c,p=0,z=!0;void 0===n&&(n=[0,0,!1,Array(8)]);k.hb=h;k.errorCode=n[p++];k.qk=n[p++];k.cf=n[p++];k.Re=n[p++];k.Se=n[p++];k.kb=n[p++];k.ub=n[p++];k.ee=n[p++];k.xb=n[p++];k.ie=n[p++];k.Ib=n[p++];k.og=g.ia?0:1;k.name=l.name;void 0===k.name&&(k.name="Hard Drive");k.path=l.path;k.mode=l.mode||(k.path?"preload":"local");"demandro"!=k.mode&&"demandrw"!=k.mode||g.le()||(k.mode="local");k.type=l.type;
if(void 0===k.type||void 0===Op[g.U][k.type])k.type=g.Ga;l=Op[g.U][k.type];k.lb=l[2]||17;k.Va=l[3]||512;if(q&&g.N){var F=g.N,v=k.type;if(F.A){var q=null,l=void 0,E=F.A[18];15<v&&(q=v,v=15);h?(E=E&240|v,l=26):(E=E&15|v<<4,l=25);v=F;v.A&&(v.A[18]=E,$k(v));null!=q&&F.A&&(F.A[l]=q,$k(F))}}void 0===k.za&&(k.za=null,g.Na("Type "+k.type+' "'+k.name+'" is fixed disk '+h,!0));Vp(g,k);k.eb=n[p++];k.pb=null;k.za&&(g=n[p],void 0!==g&&0>k.za.restore(g)&&(z=!1),z&&void 0!==k.eb&&(k.pb=k.za.seek(k.ee,k.kb,k.xb+
k.og)));z||(e=!1);null!=a.pa&&1>=d&&(a.pa|=(f.type&3)<<(1-d<<1))}0<=a.hb&&(a.B=a.A[a.hb]);return e}m.Ii=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};
function Vp(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Re[2])?e=b.Re[0]<<8|b.Re[1]:c=b.type);null==c||d||(d=Op[a.U][c][1],e=Op[a.U][c][0]);d&&((c=Op[a.U][b.type])&&e!=c[0]&&d!=c[1]&&a.Na("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.Bb=e,b.ub=d,null==b.za&&(b.za=new Jo(a,b,b.mode)))}}
m.pk=function(a,b,c){if(a.za){var d=a.za.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.ee=Math.floor(b/g),b%=g,a.kb=Math.floor(b/f),a.xb=b%f,a.Ib=c*d[3],a.errorCode=0,!0}}return!1};
function Tp(a,b){b||(a.ea=0);for(var c=0;c<a.A.length;c++){var d=a.A[c];if(d.name&&d.path){if(!(b&&d.za&&d.za.tg)){var e;e=a;var f=d.name,d=d.path,g=e.A[c];g.bd?(e.Na("Drive "+c+" busy"),e=!0):(g.bd=!0,g.Ae=!0,e.ea++,A(e)&&y(e,"loading "+f),(g.za||new Jo(e,g,g.mode)).load(f,d,null,e.Rk),e=!1);!e&&b&&ub(a,!1)}}else b&&void 0!==d.type&&(d.za=null,Vp(a,d,d.type))}return!!a.ea}
m.Rk=function(a,b,c){a.bd=!1;if(a.za=b)this.Na('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.hb),a.Ae),b=b.info(),b[0]==a.Bb&&b[1]==a.ub&&b[2]==a.lb&&b[3]==a.Va||this.Na("Warning: disk geometry ("+b[0]+":"+b[1]+":"+b[2]+") does not match "+Np[this.U]+" drive type "+a.type+" ("+a.Bb+":"+a.ub+":"+a.lb+")");a.Ae&&(a.Ae=!1,--this.ea||ub(this))};
m.$l=function(a,b){var c=0;this.L<this.C&&(c=this.V[this.L]);this.N&&gg(this.N,5);this.ma&=-33;x(this,a,null,b,"DATA["+this.L+"]",c);++this.L>=this.C&&(this.L=this.C=0,this.ma&=-15);return c};m.qn=function(a,b,c){x(this,a,b,c,"DATA["+this.C+"]");this.C<this.V.length&&(this.V[this.C++]=b);a=12!=this.V[0]?6:this.V.length;6==this.C&&(this.ma&=-2);this.C>=a&&(this.ma|=2,this.ma&=-2,Wp(this))};m.am=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.L<this.C&&(this.ma|=1);return c};
m.tn=function(a,b,c){x(this,a,b,c,"RESET");this.Oa=b;this.N&&gg(this.N,5);Up(this)};m.Zl=function(a,b){x(this,a,null,b,"CONFIG",this.pa);return this.pa};m.sn=function(a,b,c){x(this,a,b,c,"PULSE");this.Ka=b;this.ma=13};m.rn=function(a,b,c){x(this,a,b,c,"PATTERN");this.Ja=b};m.ii=function(a,b,c){x(this,a,b,c,"NOISE")};
function Xp(a,b,c){var d=-1;a.B&&(d=a.Je(a.B,function(){}),1==a.B.eb||a.B.eb==a.B.Va)&&(A(a,1048832)&&x(a,b,null,c,"DATA["+a.B.eb+"]",d),1<a.B.eb&&(a.B.Ib-=a.B.Va,a.aa=a.aa-1&255,a.B.Ib>=a.B.Va?(a.ma=128,a.Je(a.B,function(b){0<=b?(Yp(a),a.N&&5180==a.N.ja&&(a.ma=0),a.ma|=88):(a.ma=1,a.W=16)},!1)):a.ma=80));return d}m.Dk=function(a,b){return Xp(this,a,b)|Xp(this,a,b)<<8};
function Zp(a,b,c,d){if(a.B&&a.B.Ib>=a.B.Va)if(0>$p(a.B,c))a.ma=1,a.W=16;else if(1==a.B.eb||a.B.eb==a.B.Va)A(a,1048832)&&x(a,b,c,d,"DATA["+a.B.eb+"]"),1<a.B.eb&&(a.B.Ib-=a.B.Va,a.aa=a.aa-1&255,Yp(a),a.ma=80,a.B.Ib>=a.B.Va&&(a.ma|=8))}m.zm=function(a,b,c){Zp(this,a,b&255,c);Zp(this,a,b>>8&255,c)};m.gl=function(a,b){var c=this.W;x(this,a,null,b,"ERROR",c);return c};m.Em=function(a,b,c){x(this,a,b,c,"WPREC");this.Pa=b};m.il=function(a,b){var c=this.aa;x(this,a,null,b,"SECCNT",c);return c};
m.Cm=function(a,b,c){x(this,a,b,c,"SECCNT");this.aa=b};m.jl=function(a,b){var c=this.Ca;x(this,a,null,b,"SECNUM",c);return c};m.Dm=function(a,b,c){x(this,a,b,c,"SECNUM");this.Ca=b};m.el=function(a,b){var c=this.ya;x(this,a,null,b,"CYLLO",c);return c};m.ym=function(a,b,c){x(this,a,b,c,"CYLLO");this.ya=b};m.dl=function(a,b){var c=this.wa;x(this,a,null,b,"CYLHI",c);return c};m.xm=function(a,b,c){x(this,a,b,c,"CYLHI");this.wa=b};m.fl=function(a,b){var c=this.ra;x(this,a,null,b,"DRVHD",c);return c};
m.Am=function(a,b,c){x(this,a,b,c,"DRVHD");this.ra=b;this.ma=this.A[this.ra&16?1:0]?this.ma|80:this.ma&-65};m.kl=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.ma&64&&(this.ma&=-129);return c};m.wm=function(a,b,c){x(this,a,b,c,"COMMAND");this.Da=b;this.N&&gg(this.N,14);aq(this)};m.Bm=function(a,b,c){x(this,a,b,c,"FDR");this.fa&4&&!(b&4)&&(this.W=1);this.fa=b};
function aq(a){var b=!1,c=a.Da,d=a.ra&16?1:0,e=a.ra&15,f=a.ya|(a.wa&3)<<8,g=a.Ca,h=a.aa||256;a.hb=-1;a.B=null;a.W=0;a.ma=80;var k=a.A[d];k?(k.ee=f,k.kb=e,k.xb=g,k.Ib=h*k.Va,c=144<=c?c:c&240,k.pb=null,k.eb=0,k.errorCode=0,a.hb=d,a.B=k):c=-1;switch(c&240){case 16:b=!0;break;case 32:a.ma=128;a.Je(k,function(b){0<=b&&a.N?(Yp(a),a.ma=88):(a.ma=1,a.W=16)},!1);break;case 48:a.ma=8;break;case 64:b=!0;break;case 112:b=!0;break;case 144:a.W=1;b=!0;break;case 145:k.ub=e+1,k.lb=h,b=!0}b&&Yp(a)}
function Yp(a){!a.N||a.fa&2||hg(a.N,14,120)}
function Wp(a){a.L=0;var b=bq(a),c=bq(a),d=c&32,e=d>>5,f=c&31,g=bq(a),h=bq(a),k=g<<2&768|h,l=g&63,n=bq(a),q=bq(a),p=a.A[e];p&&(p.ee=k,p.kb=f,p.xb=l,p.Ib=n*p.Va);switch(b){case 3:cq(a,p?p.errorCode:4);dq(a,c);dq(a,g);dq(a,h);dq(a,0|d);b=-1;break;case 12:for(c=0;0<=(b=bq(a));)p&&c<p.Re.length&&(p.Re[c++]=b);p&&Vp(a,p);b=0;p||a.ka!=e||(a.ka=-1,b=2);cq(a,b|d);b=-1;break;case 224:case 228:cq(a,0|d),b=-1}if(0<=b)switch(void 0===p?b=-1:(p.errorCode=0,p.qk=0),b){case 0:cq(a,0|d);break;case 1:p.Cf=q;cq(a,
0|d);break;case 5:cq(a,0|d);break;case 8:eq(a,p,function(b){cq(a,b|d)});break;case 10:fq(a,p,function(b){cq(a,b|d)});break;case 15:gq(a,p,function(b){cq(a,b|d)});break;default:cq(a,2|d)}}function bq(a){var b=-1;a.L<a.C&&(b=a.V[a.L++]);return b}function cq(a,b){a.L=a.C=0;void 0!==b&&dq(a,b);a.N&&hg(a.N,5);a.ma|=32}function dq(a,b){a.V[a.C++]=b}m.Bk=function(a,b,c){void 0===b||0>b?this.Je(a,c):c(-1,!1)};m.Ck=function(a,b){return void 0!==b&&0<=b?$p(a,b):-1};
m.Pk=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.eb<a.Se.length?a.Se[a.eb++]=c:(a.errorCode=20,c=-1)):c=-1;return c};m.Qk=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.errorCode)c=-1;else{a.md[a.We++]=c;if(a.We==a.md.length){a.ee=a.md[0];a.kb=a.md[1];a.xb=a.md[2];a.Ib=128<<a.md[3];for(var d=a.We=0;d<a.Ib;d++)if(0>$p(a,a.zi)){c=-1;break a}a.pg++}a.pg>=a.ie&&(c=-1)}else c=-1;return c};
function eq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;Bl(a.N,3,a,"dmaRead",b);tl(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function fq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;Bl(a.N,3,a,"dmaWrite",b);tl(a.N,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}
function gq(a,b,c){b.errorCode=4;b.Se&&b.Se.length==b.Ib||(b.Se=Array(b.Ib));b.eb=0;a.N?(b.errorCode=0,Bl(a.N,3,a,"dmaWriteBuffer",b),tl(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)}
m.Je=function(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.pb&&(f=a.eb,d=a.za.read(a.pb,a.eb),a.eb+=g,0<=d))return e=a.pb,b&&b(d,!1,e,f),d;if(b){if(a.za)return a.za.seek(a.ee,a.kb,a.xb+a.og,!1,function(c,k){(a.pb=c)?(e=c,f=a.eb=0,hq(a),d=a.za.read(a.pb,a.eb),a.eb+=g):a.errorCode=20;b(d,k,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d};
function $p(a,b){if(a.errorCode)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.za&&a.za.seek(a.ee,a.kb,a.xb+a.og,!0,function(b){a.pb=b});if(!a.pb){a.errorCode=20;b=-1;break}a.eb=0;hq(a)}while(1);return b}function hq(a){a.xb++;var b=1-a.og;a.xb>=a.lb+b&&(a.xb=b,a.kb++,a.kb>=a.ub&&(a.kb=0,a.ee++))}m.bm=function(){var a=this.F.M&255;!(this.F.G>>8)&&128<a&&(this.ka=a-128);return!0};m.cm=function(){var a;(a=this.F.G>>8||!this.N)||(a=!(this.N.vc[0].Cd&64));return a?!0:!1};
var Qp={800:Mp.prototype.$l,801:Mp.prototype.am,802:Mp.prototype.Zl},Pp={496:Mp.prototype.Dk,497:Mp.prototype.gl,498:Mp.prototype.il,499:Mp.prototype.jl,500:Mp.prototype.el,501:Mp.prototype.dl,502:Mp.prototype.fl,503:Mp.prototype.kl},Sp={800:Mp.prototype.qn,801:Mp.prototype.tn,802:Mp.prototype.sn,803:Mp.prototype.rn,807:Mp.prototype.ii,811:Mp.prototype.ii,815:Mp.prototype.ii},Rp={496:Mp.prototype.zm,497:Mp.prototype.Em,498:Mp.prototype.Cm,499:Mp.prototype.Dm,500:Mp.prototype.ym,501:Mp.prototype.xm,
502:Mp.prototype.Am,503:Mp.prototype.wm,1014:Mp.prototype.Bm};Sa(function(){for(var a=pb(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=mb(c),d=new Mp(d);ob(d,c)}});
function iq(a){Wa.call(this,"Debugger",a,iq);this.pa=this.ya=this.ea=0;this.Ja=4;this.Ca=5;this.Ba=1048575;this.aa=jq(this);this.Db=jq(this);this.U=-1;this.L=[];this.Da=!1;this.ua=jq(this);this.B=[];this.wa={};this.A=this.ra=this.fa=[];kq(this);this.Oa=0;lq(this);this.$a=[];mq(this,a.messages);this.gb=a.commands;var b=this;window?void 0===window.pcx86&&(window.pcx86=function(a){return nq(b,a)}):void 0===global.pcx86&&(global.pcx86=function(a){return nq(b,a)})}fb(iq);
var oq={16:262144,19:524288,21:32768,22:65536,28:2048,33:134217728,51:16777216},pq=[26,28,40,42,109],qq={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression",k:"stack trace",l:"load sector(s)",ln:"list nearest symbol(s)",m:"messages",mouse:"mouse action","o [#]":"output port #",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",
"t [#]":"trace","u [#]":"unassemble",x:"execution options",v:"print version","var":"assign variable"},rq="INVALID AAA AAD AAM AAS ADC ADD AND ARPL AS: BOUND BSF BSR BT BTC BTR BTS CALL CBW CLC CLD CLI CLTS CMC CMP CMPSB CMPSW CS: CWD DAA DAS DEC DIV DS: ENTER ES: ESC FS: GS: HLT IBTS IDIV IMUL IN INC INS INT INT3 INTO IRET JBE JC JCXZ JG JGE JL JLE JMP JA JNC JNO JNP JNS JNZ JO JP JS JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOADALL LOCK LODSB LODSW LOOP LOOPNZ LOOPZ LSL LSS LTR MOV MOVSB MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OS: OUT OUTS POP POPA POPF PUSHF PUSHA PUSH RCL RCR REPNZ REPZ RET RETF ROL ROR SAHF SALC SAR SBB SCASB SCASW SETBE SETC SETG SETGE SETL SETLE SETNBE SETNC SETNO SETNP SETNS SETNZ SETO SETP SETS SETZ SGDT SHL SHLD SHR SHRD SIDT SLDT SMSW SS: STC STD STI STOSB STOSW STR SUB TEST VERR VERW WAIT XBTS XCHG XLAT XOR".split(" "),
sq="FLD FST FSTP FXCH FILD FIST FISTP FBLD FBSTP FADD FADDP FIADD FSUB FSUBP FISUB FSUBR FSUBRP FISUBR FMUL FMULP FIMUL FDIV FDIVP FIDIV FDIVR FDIVRP FIDIVR FSQRT FSCALE FPREM FRNDINT FXTRACT FABS FCHS FCOM FCOMP FCOMPP FICOM FICOMP FTST FXAM FPTAN FPATAN F2XM1 FYL2X FYL2XP1 FLDZ FLD1 FLDPI FLDL2T FLDL2E FLDLG2 FLDLN2 FINIT FNINIT FDISI FNDISI FENI FNENI FLDCW FSTCW FNSTCW FSTSW FNSTSW FCLEX FNCLEX FSTENV FNSTENV FLDENV FSAVE FNSAVE FRSTOR FINCSTP FDECSTP FFREE FFREEP FNOP FWAIT FSETPM FSINCOS FSTSWAX".split(" "),
tq=["VALID","ZERO ","SPEC ","EMPTY"],uq=[8086,80186,80286,80386],vq=["AL","CL","DL","BL","AH","CH","DH","BH","AX","CX","DX","BX","SP","BP","SI","DI","ES","CS","SS","DS","FS","GS","IP","PS","EAX","ECX","EDX","EBX","ESP","EBP","ESI","EDI","CR0","CR1","CR2","CR3",null,null,null,null,"DR0","DR1","DR2","DR3",null,null,"DR6","DR7",null,null,null,null,null,null,"TR6","TR7","EIP"],wq="BX+SI BX+DI BP+SI BP+DI SI DI BP BX EAX ECX EDX EBX ESP EBP ESI EDI".split(" "),xq=[0,0],yq=[176,12291],zq=[[6,12417,4273],
[6,12420,4276],[6,12465,4225],[6,12468,4228],[6,12385,4097],[6,14436,4100],[108,4211],[103,8307],[99,12417,4273],[99,12420,4276],[99,12465,4225],[99,12468,4228],[99,12385,4097],[99,14436,4100],[108,4467],[103,8563],[5,12417,4273],[5,12420,4276],[5,12465,4225],[5,12468,4228],[5,12385,4097],[5,14436,4100],[108,4723],[103,8819],[120,12417,4273],[120,12420,4276],[120,12465,4225],[120,12468,4228],[120,12385,4097],[120,14436,4100],[108,4979],[103,9075],[7,12417,4273],[7,12420,4276],[7,12465,4225],[7,12468,
4228],[7,12385,4097],[7,14436,4100],[35,8],[29],[154,12417,4273],[154,12420,4276],[154,12465,4225],[154,12468,4228],[154,12385,4097],[154,14436,4100],[27,8],[30],[162,12417,4273],[162,12420,4276],[162,12465,4225],[162,12468,4228],[162,12385,4097],[162,14436,4100],[147,8],[1],[24,4225,4273],[24,4228,4276],[24,4273,4225],[24,4276,4228],[24,4193,4097],[24,6244,4100],[33,8],[4],[44,14436],[44,14692],[44,14948],[44,15204],[44,15460],[44,15716],[44,15972],[44,16228],[31,14436],[31,14692],[31,14948],[31,
15204],[31,15460],[31,15716],[31,15972],[31,16228],[108,6244],[108,6500],[108,6756],[108,7012],[108,7268],[108,7524],[108,7780],[108,8036],[103,10340],[103,10596],[103,10852],[103,11108],[103,11364],[103,11620],[103,11876],[103,12132],[107,32768],[104,32768],[10,37044,4228],[8,8323,4275],[37,49160],[38,49160],[100,49160],[9,49160],[108,36868],[42,45235,4228,4100],[108,36866],[42,41139,4228,4097],[45,41041,6756],[45,41044,6756],[102,39524,4161],[102,39524,4164],[64,4145],[60,4145],[51,4145],[59,4145],
[67,4145],[63,4145],[50,4145],[58,4145],[66,4145],[62,4145],[65,4145],[61,4145],[55,4145],[54,4145],[56,4145],[53,4145],[163,12417,4097],[164,12420,4100],[163,12417,4097],[165,12420,4097],[155,4225,4273],[155,4228,4276],[160,12465,12417],[160,12468,12420],[90,8321,4273],[90,8324,4276],[90,8369,4225],[90,8372,4228],[90,8324,4291],[71,8372,148],[90,8387,4228],[103,8324],[97],[160,14436,14692],[160,14436,14948],[160,14436,15204],[160,14436,15460],[160,14436,15716],[160,14436,15972],[160,14436,16228],
[18],[28],[17,4103],[158],[106],[105],[117],[68],[90,8289,4129],[90,10340,4132],[90,8225,4193],[90,8228,6244],[91,8273,4161],[92,8276,4164],[25,4177,4161],[26,4180,4164],[155,4193,4097],[155,6244,4100],[151,8273,4193],[152,8276,6244],[82,8289,4161],[83,10340,4164],[121,4193,4177],[122,6244,4180],[90,8289,4097],[90,8545,4097],[90,8801,4097],[90,9057,4097],[90,9313,4097],[90,9569,4097],[90,9825,4097],[90,10081,4097],[90,10340,4100],[90,10596,4100],[90,10852,4100],[90,11108,4100],[90,11364,4100],[90,
11620,4100],[90,11876,4100],[90,12132,4100],[166,28801,4097],[167,28804,4097],[113,4099],[113],[73,8372,4246],[70,8372,4246],[90,8321,4097],[90,8324,4100],[34,36867,4097],[72,32768],[114,4099],[114],[47],[46,4097],[48],[49],[168,12417,4113],[169,12420,4113],[170,12417,4449],[171,12420,4449],[3,1],[2,1],[118],[161],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[85,4145],[86,4145],[84,4145],[52,4145],[43,8289,4097],[43,10340,4097],[101,4097,4193],[101,4097,6244],[17,
4148],[57,4148],[57,4103],[57,4145],[43,8289,6759],[43,10340,6759],[101,6759,4193],[101,6759,6244],[81,8],[0],[111,8],[112,8],[39],[23],[172,12417],[173,12420],[19],[148],[21],[150],[20],[149],[174,12417],[175,12420]],Aq={0:[177,12419],1:[178,12419],2:[69,41139,4243],3:[87,41139,4243],5:[80,32768],6:[22,32768],7:[80,49152],32:[90,57509,4309],33:[90,57509,4325],34:[90,57557,4261],35:[90,57573,4261],36:[90,57509,4341],38:[90,57589,4261],128:[64,53300],129:[60,53300],130:[51,53300],131:[59,53300],132:[67,
53300],133:[63,53300],134:[50,53300],135:[58,53300],136:[66,53300],137:[62,53300],138:[65,53300],139:[61,53300],140:[55,53300],141:[54,53300],142:[56,53300],143:[53,53300],144:[135,57473],145:[131,57473],146:[124,57473],147:[130,57473],148:[138,57473],149:[134,57473],150:[123,57473],151:[129,57473],152:[137,57473],153:[133,57473],154:[136,57473],155:[132,57473],156:[127,57473],157:[126,57473],158:[128,57473],159:[125,57473],160:[108,54387],161:[103,58483],163:[13,53380,4276],164:[141,57476,4276,4097],
165:[141,57476,4276,4449],166:[159,57524,4228,6244,4449],167:[40,57476,6244,4449,4276],168:[108,54643],169:[103,58739],171:[16,57476,4276],172:[143,57476,4276,4097],173:[143,57476,4276,4449],175:[42,61572,4276],178:[88,8372,4246],179:[15,57476,4276],180:[74,8372,4246],181:[76,8372,4246],182:[94,57524,4225],183:[94,57525,4227],186:[179,61572,4097],187:[14,57476,4276],188:[11,57524,4228],189:[12,57524,4228],190:[93,57524,4225],191:[93,57525,4227]},Bq={216:{0:[9,4235],1:[18,4235],2:[34,4235],3:[35,4235],
4:[12,4235],5:[15,4235],6:[21,4235],7:[24,4235],48:[9,8297,4202],49:[18,8297,4202],50:[34,8297,4202],51:[35,8297,4202],52:[12,8297,4202],53:[15,8297,4202],54:[21,8297,4202],55:[24,8297,4202]},217:{0:[0,4235],2:[1,8331],3:[2,8331],4:[68,4239],5:[59,4227],6:[66,8335],7:[60,8323],48:[0,8298],49:[3,8298],50:[76],51:[2,8298],64:[33],65:[32],68:[39],69:[40],80:[47],81:[49],82:[50],83:[48],84:[51],85:[52],86:[46],96:[43],97:[44],98:[41],99:[42],100:[31],102:[73],103:[72],112:[29],113:[45],114:[27],116:[30],
117:[28]},218:{0:[11,4235],1:[20,4235],2:[37,4235],3:[38,4235],4:[14,4235],5:[17,4235],6:[23,4235],7:[26,4235]},219:{0:[4,4235],2:[5,8331],3:[6,8331],5:[0,4237],7:[2,8333],64:[57],65:[55],66:[64],67:[53],68:[78,32768],115:[79,49152]},220:{0:[9,4236],1:[18,4236],2:[34,4236],3:[35,4236],4:[12,4236],5:[15,4236],6:[21,4236],7:[24,4236],48:[9,8298,4201],49:[18,8298,4201],50:[34,4202],51:[35,4202],52:[15,8298,4201],53:[12,8298,4201],54:[24,8298,4201],55:[21,8298,4201]},221:{0:[0,4236],2:[1,8332],3:[2,8332],
4:[71,4239],6:[69,8335],7:[62,8323],48:[74,4202],49:[3,8298],50:[1,4202],51:[2,4202]},222:{0:[11,4227],1:[20,4227],2:[37,4227],3:[38,4227],4:[14,4227],5:[17,4227],6:[23,4227],7:[26,4227],48:[10,8298,4201],49:[19,8298,4201],50:[35,4202],51:[36,4202],52:[16,8298,4201],53:[13,8298,4201],54:[25,8298,4201],55:[22,8298,4201]},223:{0:[4,4227],2:[5,8323],3:[6,8323],4:[7,4238],5:[4,4236],6:[8,8334],7:[6,8332],48:[75,4202],49:[3,8298],50:[2,4202],51:[2,4202],52:[80,32768]}},Cq=[[[6,12417,4097],[99,12417,4097],
[5,12417,4097],[120,12417,4097],[7,12417,4097],[154,12417,4097],[162,12417,4097],[24,4225,4097]],[[6,12420,4100],[99,12420,4100],[5,12420,4100],[120,12420,4100],[7,12420,4100],[154,12420,4100],[162,12420,4100],[24,4228,4100]],[[6,12420,4098],[99,12420,4098],[5,12420,4098],[120,12420,4098],[7,12420,4098],[154,12420,4098],[162,12420,4098],[24,4228,4098]],[[115,45185,4097],[116,45185,4097],[109,45185,4097],[110,45185,4097],[140,45185,4097],[142,45185,4097],xq,[119,45185,4097]],[[115,45188,4097],[116,
45188,4097],[109,45188,4097],[110,45188,4097],[140,45188,4097],[142,45188,4097],xq,[119,45188,4097]],[[115,12417,4113],[116,12417,4113],[109,12417,4113],[110,12417,4113],[140,12417,4113],[142,12417,4113],xq,[119,12417,4113]],[[115,12420,4113],[116,12420,4113],[109,12420,4113],[110,12420,4113],[140,12420,4113],[142,12420,4113],xq,[119,12420,4113]],[[115,12417,4449],[116,12417,4449],[109,12417,4449],[110,12417,4449],[140,12417,4449],[142,12417,4449],xq,[119,12417,4449]],[[115,12420,4449],[116,12420,
4449],[109,12420,4449],[110,12420,4449],[140,12420,4449],[142,12420,4449],xq,[119,12420,4449]],[[155,4225,4097],xq,[98,12417],[96,12417],[95,4225],[42,12417],[32,4225],[41,12417]],[[155,4228,4100],xq,[98,12420],[96,12420],[95,4228],[42,12420],[32,4228],[41,12420]],[[44,12417],[31,12417],xq,xq,xq,xq,xq,xq],[[44,12420],[31,12420],[17,4228],[17,4231],[57,4228],[57,4231],[108,4228],xq],[],[[145,41091],[153,41091],[78,36995],[89,36995],[156,36995],[157,36995],xq,xq],[[139,41091],[144,41091],[75,36995],
[77,36995],[146,41091],xq,[79,36995],xq],[xq,xq,xq,xq,[13,53380,4097],[16,57476,4097],[15,57476,4097],[14,57476,4097]]];m=iq.prototype;
m.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.X=a;this.tc=Hb(a,"FDC");this.Jb=Hb(a,"HDC");this.Tb=Hb(a,"FPU");this.V=Hb(a,"Mouse");(a=Qc(a,"messages"))&&mq(this,a);this.Ca=b.N>>2;this.Ba=b.zg;this.bc=new gd(this.F,7,"DBG");this.Ga=zq;80186<=this.F.ja&&(this.Ga=zq.slice(),this.Ga[15]=xq,80286<=this.F.ja&&(this.Ga[15]=yq,80386<=this.F.ja&&(this.Ja=8)));Pk(this,64,function(a){Dq(d,d.F.ld,a[0])});Pk(this,4,function(a){if(a=a[0]){var b=Eq(d,a);if(void 0===b)d.O("invalid selector: "+a);else if(a=Fq(d,
b,2),d.O("dumpSel("+u(a?a.Z:b)+"): %"+r(a?a.Xb:null,d.Ca)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var h=Gq[a.type];h&&(c=h[0],b=h[1])}!c||a.wb&32768||(c+=",not present");d.O((b?"seg="+u(a.Aa&65535)+" off="+u(a.Ta):"base="+r(a.Aa,d.Ca)+" limit="+Hq(a.Ta))+" type="+t(a.type>>8)+" ("+c+") ext="+u(a.ext&-65296)+
" dpl="+t(a.Gc))}}else d.O("no selector")});Pk(this,134217728,function(a){var b;(a=a[0])&&(b=Eq(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+u(b)+")");b;){a=jq(d,0,b);var c=d.Qa(a,1),h=d.na(a,2),k=d.na(a,5);if(77!=c&&90!=c)break;d.O(Iq(0,b)+": '"+String.fromCharCode(c)+"' PID="+u(h)+" LEN="+u(k)+' "'+Jq(d,a,8)+'"');b+=1+k}});Pk(this,128,function(a){Dq(d,d.F.sa,a[0],d.F.sa!==d.F.ld)});Pk(this,8,function(a){a:{if(a=a[0]){var b=Eq(d,a);if(void 0===b){d.O("invalid task selector: "+a);
break a}a=Fq(d,b,2)}else a=d.F.Sa;d.O("dumpTSS("+u(a?a.Z:b)+"): %"+r(a?a.Aa:null,d.Ca));if(a){var b="",c=a.type&-513,h=256==c?4:8,k=256==c?Kq:Lq,l,n,q,p;for(p in k)l=k[p],n=a.Aa+l,q=Lf(d.F,n,2),2304==c&&(q|=Lf(d.F,n+2,2)<<16),b&&(b+="\n"),b+=u(l)+" "+ma(p+":",11)+r(q,h);if(2304==c)for(p=0,l=q>>>16;l<a.Zb&&1023>p;)n=a.Aa+l,q=Lf(d.F,n,2),b+="\n"+u(l)+" ports "+u(p)+"-"+u(p+15)+": "+ea(q,2),p+=16,l+=2;d.O(b)}}});this.C=null;this.rb=0;this.cb=!1;ff(this.F,48,this.em.bind(this));ff(this.F,65,this.fm.bind(this));
this.ka=null;ff(this.F,104,this.gm.bind(this));ub(this)};function Mq(a,b,c,d,e,f){b=Jq(a,b);var g=Fq(a,d),g=g?g.Ta+1:0,h=(e?"_CODE":"_DATA")+r(c,2);f&&A(a,128)&&a.message(b+" "+(e?"code":"data")+"("+r(c,4)+")=#"+r(d,4)+" len "+r(g));e=Nq(a,b,c);e[b+h]=0;em(a,b,c,d,0,null,g,e)}
function Oq(a,b,c,d){var e=a.na(b,2),f=a.na(b,2),g=a.oa(b,4),h=a.oa(b,4),k=jq(a,a.oa(b,4),a.na(b,2));b=jq(a,a.oa(b,4),a.na(b,2));b=Jq(a,b).toUpperCase();var k=Jq(a,k).toUpperCase(),l=(c?"_CODE":"_DATA")+r(e,2);d&&A(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+r(e,4)+")="+r(f,4)+":"+r(g)+" len "+r(h));c=Nq(a,k,e);c[k+l]=g;em(a,k,e,f,g,null,h,c)}function Pq(a,b,c){c=Jq(a,c).toUpperCase();Qq(a,c,b)}
m.em=function(){var a=this.F;if(null!=this.C&&2752554==a.G){var b=a.M&65535,c=a.K&65535,d=jq(this,I(a)+12,a.ta.Z);switch(this.oa(d)){case 336:Oq(this,jq(this,a.H,b),!c,!!this.C)}}return!0};
m.fm=function(a){var b=this.F,c=b.G&65535,d=b.H&65535,e=b.I&65535,f=b.M&65535,g=b.K&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.C)return 79==c&&gf(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x41 handling enabled",128),a.C=!0):(y(a,"INT 0x41 monitoring enabled",128),a.C=!1)}}(this)),!0;switch(c){case 79:this.C&&(b.G=b.G&-65536|62342,y(this,"INT 0x41 handling enabled",128));break;case 80:Mq(this,jq(this,h,k),d+1,e,!(g&1),!!this.C);break;case 82:Qq(this,null,d);
break;case 127:this.C&&(b.G=b.G&-65536|(this.cb?0:1));break;case 131:this.C&&(a=jq(this,b.M,e),this.rb++?(this.O("TRAPFAULT failed"),Rq(this,this.A,a,!0,!0),this.rb=0,this.Wb()):(this.O("INT 0x41 TRAPFAULT: fault="+u(d)+" error="+("0x"+r(b.K))+" addr="+Sq(a)),this.Td(this.A,a,!0),lq(this,!0)));break;case 141:this.C&&(b.G=b.G&-65536|1);break;case 336:Oq(this,jq(this,b.H,f),!g,!!this.C);break;case 338:Pq(this,d,jq(this,b.J,f))}this.cb=!1;return!this.C};
m.gm=function(a){var b=this.F,c=b.G&255,d=b.G>>8&255,e=b.H&65535,f=b.I&65535,g=b.M&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.ka){if(67==d){if(609437257==b.oa((b.va.Z<<4)+10)||1111835735==b.oa((b.va.Z<<4)+95))return!0;gf(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x68 handling enabled",128),a.C=a.ka=!0):(y(a,"INT 0x68 monitoring enabled",128),a.ka=!1)}}(this))}return!0}switch(d){case 67:this.ka&&(b.G=b.G&-65536|62342);break;case 68:this.ka&&(a=id(b.va,this.Kk.bind(this)))&&
(b.J=a[0],yd(b,a[1]));break;case 72:Qq(this,null,e);break;case 80:32==c?Mq(this,jq(this,h,k),0,f,!0,!!this.ka):128>c?Mq(this,jq(this,h,k),e+1,c&64?g:f,!(c&1),!!this.ka):Oq(this,jq(this,h,k),!(c&1),!!this.ka),this.ka&&(b.G=b.G&-256|1)}return!this.ka};m.Kk=function(){var a=this.F;5==(a.G&255)&&(a.I=a.K=0,a.G=a.G&-256|1);return!1};
m.Pb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ka=this.qa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",nq(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.U<d.L.length-1&&(b=d.L[++d.U]):40==a.keyCode&&(0<d.U?b=d.L[--d.U]:(b="",d.U=-1)),null!=b){var g=b.length;c.value=b;c.setSelectionRange(g,g)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.qa[b]=c,La(c,function(){if(d.Ka){var a=d.Ka.value;d.Ka.value=
"";nq(d,a,!0);return!0}return!1}),!0;case "step":return this.qa[b]=c,La(c,function(a){var b=!1;sb(d,!0)||(rb(d,!0),b=d.wf(a?1:0),rb(d,!1));return b}),!0}return!1};m.yd=function(){this.Ka&&this.Ka.focus()};function Tq(a){return a.F&&!!(a.F.Za&1)&&!(a.F.ca&131072)}
function Fq(a,b,c){var d=Tq(a)?2:1;c||(c=d);if(c==d){if(b===a.F.va.Z)return a.F.va;if(b===a.F.vb.Z)return a.F.vb;if(b===a.F.Xa.Z)return a.F.Xa;if(b===a.F.ta.Z)return a.F.ta;if(80386<=a.F.ja){if(b===a.F.Nb.Z)return a.F.Nb;if(b===a.F.Ob.Z)return a.F.Ob}if(a.fb&&2==c||!a.bc)return null}a=a.bc;if(2!=c)a.nh(b),a.Ta=65535,a.Zb=65536;else{var e;c=a.F;b=b&65535;b&4?(d=c.Bc.Aa,e=d+c.Bc.Ta|0):(d=c.Ec,e=c.Bd);d=d+(b&65528)|0;if(e-d|0){e=Lf(c,d+0,2);var f=Lf(c,d+4,2),g=f&7936,h=Lf(c,d+2,2)|(f&255)<<16,k=Lf(c,
d+6,2);80386<=c.ja&&(h|=(k&65280)<<16,e|=(k&15)<<16,k&128&&(e=e<<12|4095));a.Z=b;a.Aa=h;a.Ta=e;a.Zb=(e>>>0)+1;a.wb=f;a.type=g;a.ext=k;a.Xb=d;hd(a,!0,!0,!1)}}return a}m.dc=function(a,b,c){var d=a&&a.Ea;if(null==d&&(d=-1,a)){var e=Fq(this,a.Z,a.type);e&&(b=a.Ra||0,c=c||1,d=e=-1===e.Xb||e.cd&&(b>>>0)+c>e.Zb||!e.cd&&(b>>>0)+c<=e.Zb?e.Aa+b|0:-1,a.Ea=d)}return d};m.Qa=function(a,b){var c=255,d=this.dc(a,!1,1);-1!==d&&(c=Lf(this.F,d,1,5==a.type)|0,b&&Uq(this,a,b));return c};
m.tb=function(a,b){return a.Rb?this.oa(a,b?4:0):this.na(a,b?2:0)};m.na=function(a,b){var c=65535,d=this.dc(a,!1,2);-1!==d&&(c=Lf(this.F,d,2,5==a.type),b&&Uq(this,a,b));return c};m.oa=function(a,b){var c=-1,d=this.dc(a,!1,4);-1!==d&&(c=Lf(this.F,d,4,5==a.type),b&&Uq(this,a,b));return c};m.qc=function(a,b,c,d){var e=this.dc(a,!0,1);if(-1!==e){if(5!=a.type)this.F.qc(e,b);else{var f=this.ga;f.sa[(e&f.Hb)>>>f.La].xf(e&f.A,b&255,e)}c&&Uq(this,a,c);d||Wc(this.F,!0)}};
m.jb=function(a,b,c){var d=this.dc(a,!0,2);-1!==d&&(5!=a.type?this.F.jb(d,b):jc(this.ga,d,b),c&&Uq(this,a,c),Wc(this.F,!0))};function jq(a,b,c,d,e,f,g){return Vq(a,{},b,c,d,e,f,g)}function Vq(a,b,c,d,e,f,g,h){b.Ra=c||0;b.Z=d;b.Ea=e;b.type=f||(Tq(a)?2:1);b.Rb=null!=g?g:a.F&&4==a.F.va.ba;b.oc=null!=h?h:a.F&&4==a.F.va.Oc;b.Yd=!1;return b}function Wq(a){return[a.Ra,a.Z,a.Ea,a.Yd,a.Rb,a.oc,a.Te,a.Xd]}function Xq(a){return{Ra:a[0],Z:a[1],Ea:a[2],Yd:a[3],Rb:a[4],oc:a[5],Te:a[6],Xd:a[7]}}
function Yq(a,b,c){if(null!=b.Z&&(a=Fq(a,b.Z,b.type))){var d=b.Ra&a.Ba;if(!a.cd){if(d>>>0>=a.Zb)return!1}else if(d>>>0<a.Zb)return!1;c&&(b.Ra=d,b.Rb=4==a.ba,b.oc=4==a.Oc)}return!0}
function Zq(a,b,c,d){var e,f=c?a.aa:a.Db;c=d?0:f.type;var g=f.Ra,h=f.Z,f=f.Ea;if(void 0!==b){b=$q(a,b);e=b.charAt(0);f=b.indexOf(":");switch(e){case "&":c=1;break;case "#":c=2;break;case "%":c=4;e=b.charAt(1);"%"==e&&(c=5,e+=e);g=0;h=null;break;default:0<=f&&(c=0),e=""}e&&(b=b.substr(e.length),f-=e.length);e=b;var k;if(e.match(/^[a-z_][a-z0-9_]*$/i))for(var l=e.toUpperCase(),n=0;n<a.B.length;n++){e=a.B[n];var q=e.Sd[l];if(void 0!==q){l=q.o;void 0!==l&&(k=q.s,void 0===k&&(k=e.Z),k=jq(a,l,k,q.p));break}}if(e=
k)return e;0>f?null!=h?(g=ar(a,b,void 0),f=null):(f=ar(a,b,void 0),null==f&&(g=null)):(h=ar(a,b.substring(0,f),void 0),g=ar(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=jq(a,g,h,f,c),d||Yq(a,e,!0)||(a.O("invalid offset: "+Sq(e)),e=null));return e}function br(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Gk=cr(a,b.mk=c[2]))}function Uq(a,b,c){c=c||1;null!=b.Ea&&(b.Ea+=c);null!=b.Z&&(b.Ra+=c,Yq(a,b)||(b.Ra=0,b.Ea=null))}function Iq(a,b,c){return null!=b?r(b,4)+":"+r(a,a&-65536||c?8:4):r(a)}
function Sq(a){var b;switch(a.type){case 1:case 3:b="&";break;case 2:b="#";break;case 4:b="%";break;case 5:b="%%";break;default:b=a.Z?"":"%"}return 4<=a.type||null==a.Z?b+r(a.Ea):b+Iq(a.Ra,a.Z,a.oc)}function Jq(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.Qa(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}
function Dq(a,b,c,d){var e=0,f=0,g=b.length;if(c){e=a.dc(Zq(a,c));if(-1===e){a.O("invalid address: "+c);return}f=e>>>a.F.La;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&5==d.type&&(d=Ic(a.F,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=Zb[c],6==c&&(d=d.Dd,h+=" -> "+Zb[d.type]),d&&a.O(r(d.id)+" %"+r(f<<a.F.La)+" %%"+r(d.Ea)+" "+u(d.Oe)+" "+u(d.size)+" "+h),c!=
zc&&5!=c&&(c=-1),h=0),e+=a.F.Sb,f++}function dr(a,b,c){a=r(a)+" "+r(b)+" ";a=a+(c&&b&64?"D":"-")+(b&32?"A":"-");a+=b&4?"U":"S";a+=b&2?"W":"R";return a+=b&1?"P":"N"}
var Gq={256:["tss286",!1],512:["ldt",!1],768:["busy tss286",!1],1024:["call gate",!0],1280:["task gate",!0],1536:["int gate286",!0],1792:["trap gate286",!0],2304:["tss386",!1],2816:["busy tss386",!1],3072:["call gate386",!0],3584:["int gate386",!0],3840:["trap gate386",!0]},Kq={PREV_TSS:0,CPL0_SP:2,CPL0_SS:4,CPL1_SP:6,CPL1_SS:8,CPL2_SP:10,CPL2_SS:12,TASK_IP:14,TASK_PS:16,TASK_AX:18,TASK_CX:20,TASK_DX:22,TASK_BX:24,TASK_SP:26,TASK_BP:28,TASK_SI:30,TASK_DI:32,TASK_ES:34,TASK_CS:36,TASK_SS:38,TASK_DS:40,
TASK_LDT:42},Lq={PREV_TSS:0,CPL0_ESP:4,CPL0_SS:8,CPL1_ESP:12,CPL1_SS:16,CPL2_ESP:20,CPL2_SS:24,TASK_CR3:28,TASK_EIP:32,TASK_PS:36,TASK_EAX:40,TASK_ECX:44,TASK_EDX:48,TASK_EBX:52,TASK_ESP:56,TASK_EBP:60,TASK_ESI:64,TASK_EDI:68,TASK_ES:72,TASK_CS:76,TASK_SS:80,TASK_DS:84,TASK_FS:88,TASK_GS:92,TASK_LDT:96,TASK_IOPM:100};
function Nq(a,b,c){var d=[],e;for(e=null;e=Hb(a.X,"Disk",e);){var f=e,g=b,h=c,d=[];if(f.C)for(var k=0;k<f.C.length;k++){var l=f.C[k];if(l.hg==g&&(l=l.Ad[h])){for(var n in l.we)f=l.we[n],d[f[1]]=f[0];break}}if(d.length)break}return d}function mq(a,b){a.ha=a;a.wc=a.Jk=1073741824;a.Pa=null;var c=cr(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(c.length)for(var d in Bb)0<=va(c,d)&&(a.wc|=Bb[d],a.O(d+" messages enabled"));lq(a)}
function Pk(a,b,c){for(var d in Bb)if(b==Bb[d]){a.$a[d]=c;break}}function er(a,b){var c;a=a.toUpperCase();null==b?c=va(vq,a):(c=va(vq,a.substr(b,3)),0>c&&(c=va(vq,a.substr(b,2))));return c}
function fr(a,b){var c=0,d=gr(a,b);if(void 0!==d)switch(b){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 22:case 16:case 17:case 18:case 19:case 20:case 21:c=4;break;case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 56:c=8;break;case 23:c=a.Ja}return c?r(d,c):"??"}
function gr(a,b){var c;if(0<=b){var d=a.F;switch(b){case 0:c=d.G&255;break;case 1:c=d.I&255;break;case 2:c=d.M&255;break;case 3:c=d.H&255;break;case 4:c=d.G>>8&255;break;case 5:c=d.I>>8&255;break;case 6:c=d.M>>8&255;break;case 7:c=d.H>>8&255;break;case 8:c=d.G&65535;break;case 9:c=d.I&65535;break;case 10:c=d.M&65535;break;case 11:c=d.H&65535;break;case 12:c=I(d)&65535;break;case 13:c=d.P&65535;break;case 14:c=d.K&65535;break;case 15:c=d.J&65535;break;case 22:c=K(d)&65535;break;case 23:c=zd(d);break;
case 16:c=d.Xa.Z;break;case 17:c=d.va.Z;break;case 18:c=d.ta.Z;break;case 19:c=d.vb.Z;break;default:if(80286==a.F.ja)32==b&&(c=d.Za);else if(80386<=a.F.ja)switch(b){case 24:c=d.G;break;case 25:c=d.I;break;case 26:c=d.M;break;case 27:c=d.H;break;case 28:c=I(d);break;case 29:c=d.P;break;case 30:c=d.K;break;case 31:c=d.J;break;case 32:c=d.Za;break;case 33:c=d.li;break;case 34:c=d.ue;break;case 35:c=d.Qd;break;case 20:c=d.Nb.Z;break;case 21:c=d.Ob.Z;break;case 56:c=K(d)}}}return c}
function hr(a,b){b=$q(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=er(b,c+1),0<=e&&(b=b.substr(0,c)+fr(a,e)+b.substr(c+1+vq[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ca(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Zq(a,e))?(d=e+' "'+Jq(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Zq(a,e))?(Uq(a,d),d=e+
' "'+Jq(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m=iq.prototype;m.message=function(a,b){b&&(a+=" at "+Sq(jq(this,K(this.F),this.F.va.Z))+" (%"+r(this.F.Ha)+")");if(!this.Pa||a!=this.Pa)if(this.Pa=a,this.wc&-2147483648&&(this.Wb(),a+=" (cpu halted)"),this.O(a),this.F){var c=this.F;c.fb-=c.A;c.A=0;c.Y.nf=0;Wc(c)}};
function nk(a,b,c,d){var e,f;if(!d&&(d=A(a,1)&&0>pq.indexOf(b),!d)){var g=oq[b];g&&(d=A(a,g)?!0:524288==g&&A(a,g=1048576))}d&&(e=a.F.G>>8&255,f=a.F.M&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=Ab[b])&&g[e]||"")&&(g=" "+hr(a,g)),a.message("INT "+t(b)+": AH="+t(e)+" at "+Iq(c-2-a.F.va.Aa,a.F.va.Z)+g));return d}
function qb(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.wc&h)==h)h=null,null!=e&&(h=a.F.va.Z,e-=a.F.va.Aa),a.message(b.zd+"."+(null!=d?"outPort":"inPort")+"("+u(c)+","+(f?f:"unknown")+(null!=d?","+t(d):"")+")"+(null!=g?": "+t(g):"")+(null!=e?" at "+Iq(e,h):""))}m.jh=function(){this.O("Type ? for help with PCx86 Debugger commands");this.qd();if(this.gb){var a=this.gb;this.gb=null;nq(this,a)}};
function lq(a,b){var c;if(Wf(a)){if(!a.ia||!a.ia.length){a.ia=Array(1E3);for(c=0;c<a.ia.length;c++)a.ia[c]=jq(a);a.Fa=0;b||a.O("instruction history buffer allocated")}if(!a.W||!a.W.length)for(a.W=Array(256),c=0;c<a.W.length;c++)a.W[c]=[c,0]}else a.ia&&a.ia.length&&!b&&a.O("instruction history buffer freed"),a.Fa=0,a.ia=[],a.W=[]}m.Le=function(a){if(!ir(this))return!1;this.F.Le(a);return!0};
m.wf=function(a,b,c){if(!ir(this))return!1;this.ea=0;do{a||Wf(this)&&Zf(this,this.F.Ha,0);try{var d=this.F.wf(a);0<d&&(this.ea+=d,bd(this.F,d,!0),Yc(this.F,d),this.pa++)}catch(f){if("number"!=typeof f){var e=f;this.ea=0;wb(this.F,e.stack||e.message)}}}while(this.F.S&3312);!1!==c&&Wc(this.F);this.qd(b||!1);return 0<this.ea};m.Wb=function(a){this.F&&this.F.Wb(a)};m.qd=function(a){void 0===a&&(a=!0);this.aa=jq(this,K(this.F),this.F.va.Z);a&&1!=this.N?jr(this):kr(this)};
function ir(a){var b;if(b=a.F&&vb(a.F))b=a.F,b.la.cc?b=!0:(b.O(b.toString()+" not powered"),b=!1);b&&!sb(a.F)?(a=a.F,a.la.ud?(a.O(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}m.ic=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};m.hc=function(a,b){b&&this.O(a?"suspending":"shutting down");return a?this.save():!0};m.reset=function(a){lq(this);this.pa=this.ya=0;this.Pa=null;this.ea=0;this.aa=jq(this,K(this.F),this.F.va.Z);this.la.Fb=!1;lr(this);a||this.qd()};
m.save=function(){var a=new lf(this);N(a,0,Wq(this.aa));N(a,1,Wq(this.ua));N(a,2,[this.L,this.Da,this.wc]);N(a,3,this.B);return a.data()};m.restore=function(a){var b=0;void 0!==a[2]&&(this.aa=Xq(a[b++]),this.ua=Xq(a[b++]),this.L=a[b][0],"string"==typeof this.L&&(this.L=[this.L]),this.Da=a[b][1],this.wc|=a[b][2]);a[3]&&(this.B=a[3]);return!0};m.start=function(a,b){this.N||this.O("running");this.la.Fb=!0;this.uc=a;this.xd=b};
m.stop=function(a,b){if(this.la.Fb){this.la.Fb=!1;this.ea=b-this.xd;if(!this.N){var c="stopped";if(this.ea){var d=a-this.uc,e=0<d?Math.round(1E3*this.ea/d):0,c=c+" (";Wf(this)&&(c+=this.pa+" opcodes, ",this.ya-=this.pa,this.pa=0);c+=this.ea+" cycles, "+d+" ms, "+e+" hz)"}else A(this,-2147483648)&&(c+=" (use the 't' command to execute blocked faults)");this.O(c)}this.qd(!0);this.yd();lr(this,this.F.Ha)}};function Wf(a){return 1<a.A.length||!!a.Oa||A(a,16)}
function Zf(a,b,c){var d=a.F;if(0<c&&(a.Oa&&!--a.Oa||mr(a,b,1,a.A)))return!0;0<=c&&a.W.length&&(a.pa++,b=Lf(d,b),null!=b&&(a.W[b][1]++,Vq(a,a.ia[a.Fa],K(d),d.va.Z),++a.Fa==a.ia.length&&(a.Fa=0)));return!1}function Fc(a,b,c){return mr(a,b,c||1,a.ra)?(a.Wb(!0),!0):!1}function Hc(a,b,c){return mr(a,b,c||1,a.fa)?(a.Wb(!0),!0):!1}function nc(a,b,c){a.O("break on input from port "+u(b)+": "+r(c));a.Wb(!0)}function rc(a,b,c){a.O("break on output to port "+u(b)+": "+r(c));a.Wb(!0)}
function kq(a){var b,c;a.A=["bp"];if(void 0!==a.ra)for(b=1;b<a.ra.length;b++)c=a.ra[b],te(a.F,a.dc(c),!1,5==c.type);a.ra=["br"];if(void 0!==a.fa)for(b=1;b<a.fa.length;b++)c=a.fa[b],te(a.F,a.dc(c),!0,5==c.type);a.fa=["bw"];a.fb=0}
m.Td=function(a,b,c){var d=!0;c||Rq(this,a,b,!1,!0);if(a!=this.A){var e=this.dc(b);if(-1===e)this.O("invalid address: "+Sq(b)),d=!1;else{var f=this.F,g=5==b.type;(g?f.ld:f.sa)[e>>>f.La].Td(e&f.Fa,a==this.fa);g&&Yb(f)}}d&&(a.push(b),c?(null!=b.Ea&&(b.Z=null),b.Yd=!0):(nr(this,a,a.length-1,"set"),lq(this)));return d};
function Rq(a,b,c,d,e){for(var f=!1,g=or(a,a.dc(c)),h=1;h<b.length;h++){var k=b[h];if(-1!==g&&g==or(a,a.dc(k))||-1===g&&c.Z==k.Z&&c.Ra==k.Ra)if(!d||k.Yd){f=!0;k.Yd||e||nr(a,b,h,"cleared");b.splice(h,1);b!=a.A&&te(a.F,g,b==a.fa,5==k.type);k.Yd||lq(a);break}}return f}function pr(a,b){for(var c=1;c<b.length;c++)nr(a,b,c);return b.length-1}function nr(a,b,c,d){c=b[c];a.O(b[0]+" "+Sq(c)+(d?" "+d:c.mk?' "'+c.mk+'"':""))}
function lr(a,b){if(void 0!==b)mr(a,b,1,a.A,!0),a.N=0;else for(var c=1;c<a.A.length;c++){var d=a.A[c];if(d.Yd){if(!Rq(a,a.A,d,!0))break;c=0}}}function or(a,b){if(-1!==b){var c=a.Ba&-65536;(b&c)==c&&(b&=1048575)}return b}
function mr(a,b,c,d,e){var f=!1;if(!a.fb++){b=or(a,b);A(a,-2147483632)&&204==Lf(a.F,b)&&(f=!0);for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.Yd){null!=h.Z&&(h.Ea=null);for(var k=or(a,a.dc(h)),l=0;l<c;l++)if(b+l==k){var n,f=!0;h.Yd&&(Rq(a,d,h,!0),e=!0);if(n=h.Gk){for(var f=!1,q=0;q<n.length;q++)if(!qr(a,n[q],!0)){if(n[q].indexOf("if")){f=!0;break}for(var p=q+1;p<n.length&&n[p].indexOf("else");p++)q++;if(p==n.length){f=!0;break}}a.F.la.Fb||(f=!0)}if(f){e||nr(a,d,g,"hit");break}}}}}a.fb--;return f}
function rr(a,b,c,d){for(var e=jq(a,b.Ra,b.Z,b.Ea,b.type),f=a.Qa(b,1),g=4,h=0,k=!1,l=!1;(102==f||103==f)&&g--;)102==f?k||(b.Rb=!b.Rb,k=!0):l||(b.oc=!b.oc,l=!0),h++,f=a.Qa(b,1);var g=-1,n=rq,k=a.Ga[f],l=k[0];176==l&&(l=a.Qa(b,1),k=Aq[l]||xq,f|=l<<8,l=k[0]);if(36==l){var g=a.Qa(b,1),q;q=null;var p=g>>3&7,z=(3>(g>>6&3)?0:48)+p;(217==f||219==f)&&52<=z&&(z=p<<4|g&7);(p=Bq[f])&&(q=p[z]);q&&(n=sq,k=q,l=k[0])}l>=n.length&&(g=a.Qa(b,1),k=Cq[l-n.length][g>>3&7],l=k[0]);n=n[l];p=k.length-1;q="";b.Rb&&(18==l?
n="CWDE":28==l?n="CDQ":104<=l&&107>=l&&(n+="D"));if(164<=f&&167>=f||170<=f&&175>=f)p=0,b.Rb&&"W"==n.slice(-1)&&(n=n.slice(0,-1)+"D");for(var f=null,z=!0,F=1;F<=p;F++){var v,E;v="";E=k[F];if(void 0!==E){null==f&&(f=E>>14);80==l&&(2==f?q="[%800]":3==f&&(q="ES:["+(b.oc?"E":"")+"DI]"));var H=E&15;if(0!=H)if(8==H)z=!1;else{var L=E&240;if(128<=L)if(0>g&&(g=a.Qa(b,1)),160>L){v=a;var W=p,H=b,P="",bb=g>>6,ia=g&7;if(3>bb){var ja=void 0,L=0==n.indexOf("FI");if(!bb&&(!H.oc&&6==ia||H.oc&&5==ia))bb=2;else{if(H.oc)if(4!=
ia)ia+=8;else{var P=v,ja=bb,Ha=H,Xa=P.Qa(Ha,1),Ba=Xa>>6,Wb=Xa>>3&7,Xa=Xa&7,wa="";if(ja||5!=Xa)wa=wq[Xa+8];4!=Wb&&(wa&&(wa+="+"),wa+=wq[Wb+8],Ba&&(wa+="*"+(1<<Ba)));ja||5!=Xa||(wa&&(wa+="+"),wa+=r(P.oa(Ha,4)));P=wa}P||(P=wq[ia])}1==bb?(ja=v.Qa(H,1),ja&128?(ja=ja<<24>>24,P+="-"+r(-ja,2)):P+="+"+r(ja,2)):2==bb&&(P&&(P+="+"),H.oc?(ja=v.oa(H,4),P+=r(ja)):(ja=v.na(H,2),P+=r(ja,4)));P="["+P+"]";if(1==W){v="";E&=15;4==E&&(E=H.Rb?5:3);switch(E){case 7:v="FAR";break;case 1:v="BYTE";break;case 3:if(L){v="INT16";
break}v="WORD";break;case 5:v="DWORD";break;case 11:if(L){v="INT32";break}case 11:v="REAL32";break;case 12:if(L){v="INT64";break}case 12:v="REAL64";break;case 13:v="REAL80";break;case 14:v="BCD80"}v&&(P=v+" "+P)}}else P=sr(v,ia,E,H);v=P}else v=160==L?sr(a,g&7,E,b):sr(a,g>>3&7,E,b);else if(16==L)v="1";else if(0==L){v=a;H=E;L=b;E=" ";switch(H&15){case 1:H&12288&&(E=r(v.Qa(L,1),2));break;case 2:E=r(v.Qa(L,1)<<24>>24,L.Rb?8:4);break;case 4:if(L.Rb){E=r(v.oa(L,4));break}case 3:E=r(v.na(L,2),4);break;case 7:L=
jq(v,v.tb(L,!0),v.na(L,2),null,L.type,L.Rb,L.oc);E=Sq(L);v=tr(v,L);v[0]&&(E+=" ("+v[0]+")");break;default:E="imm("+u(H)+")"}v=E}else 32==L?(b.oc?(v=8,E=a.oa(b,4)):(v=4,E=a.na(b,2)),v="["+r(E,v)+"]"):48==L?(v=1==H?a.Qa(b,1)<<24>>24:a.tb(b,!0),E=b.Ra+v&(b.Rb?-1:65535),v=r(E,b.Rb?8:4),E=tr(a,jq(a,E,b.Z)),E[0]&&(v+=" ("+E[0]+")")):96==L?v=9==H?"ST":10==H?"ST("+(g&7)+")":sr(a,(E&3840)>>8,E,b):112==L?v=sr(a,(E&3840)>>8,192,b):64==L?v="DS:[SI]":80==L&&(v="ES:[DI]");if(!v||!v.length){q="INVALID";break}0<
q.length&&(q+=",");q+=v||"???"}}}g="";k=Sq(e)+" ";if(-1!==e.Ea&&-1!==b.Ea){do if(g+=r(a.Qa(e,1),2),null==e.Ea)break;while(e.Ea!=b.Ea)}k+=ma(g,e.oc?24:16);k+=ma(n,8);q&&(k+=" "+q);a.F.ja<uq[f]&&(c=uq[f]+" CPU only");c&&z&&(k=ma(k,e.oc?74:56)+";"+c,k=a.F.la.Ze?k+("cycles="+Zc(a.F).toString()+" cs="+r(a.F.Y.Jf)):k+(null!=d?"="+d.toString():""));ur(b,z,h);return k}
function sr(a,b,c,d){var e=c&240;if(192==e){if(5<b||4<=b&&80386>a.F.ja)return"??";b+=16}else if(208==e)b+=32;else if(224==e)b+=40;else if(240==e)b+=48;else if(a=c&15,3<=a&&(8>b&&(b+=8),5==a||4==a&&d.Rb))b+=16;return vq[b]}
function vr(a,b){var c;switch(b){case "V":c=xf(a.F);break;case "D":c=a.F.ca&1024;break;case "I":c=a.F.ca&512;break;case "T":c=a.F.ca&256;break;case "S":c=wf(a.F);break;case "Z":c=vf(a.F);break;case "A":c=uf(a.F);break;case "P":c=tf(a.F);break;case "C":c=sf(a.F);break;default:c=0}return b+(c?"1":"0")+" "}function Hq(a){return r(a,a&-65536?8:4)}function wr(a,b){8<=b&&15>=b&&4<a.Ja&&(b+=16);var c=vq[b];32==b&&80286==a.F.ja&&(c="MS");return c+"="+fr(a,b)+" "}
function xr(a,b,c){return b.kc+"="+r(b.Z,4)+(c?"["+r(b.Aa,a.Ca)+","+Hq(b.Ta)+"]":"")}function yr(a,b,c,d,e){return b+"="+(null!=c?r(c,4):"")+"["+r(d,a.Ca)+","+r(e-d,4)+"]"}
function zr(a,b){var c;void 0===b&&(b=Tq(a));c=wr(a,8)+wr(a,11)+wr(a,9)+wr(a,10)+(4<a.Ja?"\n":"")+wr(a,12)+wr(a,13)+wr(a,14)+wr(a,15)+"\n"+xr(a,a.F.ta,b)+" "+xr(a,a.F.vb,b)+" "+xr(a,a.F.Xa,b)+" ";if(b){var d="TR="+r(a.F.Sa.Z,4),e=a.ga,e="A20="+(e.X||e.zg!=e.Hb?"OFF ":"ON ");80386>a.F.ja&&(d="\n"+d,c+=e,e="");c+="\n"+xr(a,a.F.va,b)+" ";80386<=a.F.ja&&(e+="\n",c+=xr(a,a.F.Nb,b)+" "+xr(a,a.F.Ob,b)+"\n");c+=yr(a,"LD",a.F.Bc.Z,a.F.Bc.Aa,a.F.Bc.Aa+a.F.Bc.Ta)+" "+yr(a,"GD",null,a.F.Ec,a.F.Bd)+" "+yr(a,"ID",
null,a.F.Mc,a.F.Ud)+" ";c=c+(d+" "+e)+wr(a,32);80386<=a.F.ja&&(c+=wr(a,34)+wr(a,35))}else 80386<=a.F.ja&&(c+=xr(a,a.F.Nb,b)+" "+xr(a,a.F.Ob,b)+" ");return c+=wr(a,23)+vr(a,"V")+vr(a,"D")+vr(a,"I")+vr(a,"T")+vr(a,"S")+vr(a,"Z")+vr(a,"A")+vr(a,"P")+vr(a,"C")}var Ar={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function Br(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0}
function ar(a,b,c){var d;if(b){b=$q(a,b);for(var e=0,f=!1,g=b,h=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<l.length;){var n=l[e++],q=n.length,n=na(n);if(!n){f=!0;break}n=Eq(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}h.push(n);if(e==l.length)break;var n=l[e++],p=n.length;k.length&&Ar[n]<Ar[k[k.length-1]]&&Br(h,k,1);k.push(n);b=b.substr(q+p)}Br(h,k)&&1==h.length||(f=!0);f?c&&a.O("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&Cr(a,null,
d))}return d}function $q(a,b){for(var c;(c=b.match(/\{(.*?)}/))&&!(0<=c[1].indexOf("{"));){var d=ar(a,c[1]);b=b.replace("{"+c[1]+"}",null!=d?r(d):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)d=Zq(a,c[1]),b=b.replace("["+c[1]+"]",d?r(a.tb(d),d.Rb?8:4):"undefined");for(c=b;d=c.match(/\$([a-z]+)/i);){var e=null;switch(d[1].toLowerCase()){case "ops":e=a.pa-a.ya}if(null==e)break;c=c.replace(d[0],e.toString())}return c}
function Eq(a,b,c,d){var e;void 0!==b?(e=er(b),0<=e?e=gr(a,e):(e=a.wa[b],void 0===e&&(e=ca(b))),void 0!==e||d||a.O("invalid "+(c?c:"value")+": "+b)):d||a.O("missing "+(c||"value"));return e}function Cr(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d="0x"+r(c)+" "+c+". ("+ea(c)+")");a.O((null!=b?b+": ":"")+d);return e}function Dr(a,b){if(b)return Cr(a,b,a.wa[b]);var c=0;for(b in a.wa)Cr(a,b,a.wa[b]),c++;return 0<c}iq.prototype.sb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function em(a,b,c,d,e,f,g,h){var k={},l=[],n;for(n in h){var q=h[n];"number"==typeof q&&(h[n]=q={o:q});var p=q.o,z=q.s,F=q.a;if(void 0!==p){void 0!==z&&(k.Ra=p,k.Z=z,k.Ea=null,a.dc(k),(k.Ea&-65536)==(a.ga.zg&-65536)&&(k.Ea&=1048575),q.p=k.Ea);var z=l,p=[p>>>0,n],v=pa(z,p,a.sb);0>v&&z.splice(-(v+1),0,p)}F&&(q.a=F.replace(/''/g,'"'))}a.B.push({hg:b,pm:c,Z:d,Ra:e,Ea:f,hm:g,Sd:h,ti:l})}
function Qq(a,b,c){for(var d=0;d<a.B.length;d++){var e=a.B[d];if(!b||e.hg==b)if(b&&c==e.pm||!b&&c==e.Z){a.B.splice(d,1);break}}}function tr(a,b,c){for(var d=[],e=b.Ra>>>0,f=a.dc(b)>>>0,g=0;g<a.B.length;g++){var h=a.B[g],k=h.Z,l=h.Ra>>>0,n=h.Ea;null!=n&&(n>>>=0);var q=h.hm;48==k&&(k=40);if(k==b.Z&&e>=l&&e<l+q||null!=n&&f>=n&&f<n+q){b=pa(h.ti,[e],a.sb);0<=b?Er(a,g,b,d):c&&(b=~b,Er(a,g,b-1,d),Er(a,g,b,d));break}}!d.length&&(a=a.ga.Ui(f,!0))&&(d.push(a),d.push(f));return d}
function Er(a,b,c,d){var e={},f=a.B[b].ti,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.B[b].Sd[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}function Fr(a){a.Ef&&(a.Ef.value="")}
function Gr(a,b){if("?"==b)a.O("frequency commands:"),a.O("\tclear\tclear all frequency counts");else{var c,d=0;if(a.W)if("clear"==b){for(c=0;c<a.W.length;c++)a.W[c]=[c,0];a.O("frequency data cleared");d++}else if(void 0!==b)a.O("unknown frequency command: "+b),d++;else{var e=a.W.slice();e.sort(function(a,b){return b[1]-a[1]});for(c=0;c<e.length;c++){var f=e[c][0],g=e[c][1];g&&(a.O((rq[a.Ga[f][0]]+" ").substr(0,5)+" ("+t(f)+"): "+g+" times"),d++)}}d||a.O("no frequency data available")}}
function Hr(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Dr(a)||a.O("no variables"),!0;if(!c[2])return Dr(a,c[1]);if(!c[3])return delete a.wa[c[1]],!0;var d=ar(a,c[3]);return void 0!==d?(a.wa[c[1]]=d,!0):!1}a.O("invalid assignment:"+b);return!1}
function Ir(a,b,c){var d=null;if(b=Zq(a,b,!0)){a.dc(b);var e=tr(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.Ra-e[1])&&(g=" + "+u(f)),f=e[0]+" ("+Iq(e[1],b.Z)+")"+g,c&&a.O(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.Ra)&&(g=" - "+u(f)),f=e[4]+" ("+Iq(e[5],b.Z)+")"+g,c&&a.O(f),d||(d=f))}else c&&a.O("no symbols")}return d}
function Jr(a,b){if(b[1]&&"?"!=b[1]){var c="json"==b[1],d,e=0,f=0,g=c?{}:Zq(a,b[1]);if(g&&(d=Eq(a,b[2],"drive #"),void 0!==d)){if(!c){e=Eq(a,b[3],"sector #");if(void 0===e)return;f=Eq(a,b[4],"# of sectors");void 0===f&&(f=1)}var h=a.tc;2<=d&&a.Jb&&(d-=2,h=a.Jb);if(h){var k=h.Ii(d);if(k)if(k.za)if(c)Fr(a),a.O(k.za.toJSON());else if(h.pk(k,e,f)){for(var l=0,n=!1,c=Sq(g);!n&&0<k.Ib--;)(function(a,b){h.Je(k,function(c){0>c?(a.O("out of data at address "+Sq(b)),n=!0):(a.qc(b,c,1,!0),l++)})})(a,g);Wc(a.F,
!0);a.O(l+" bytes read at "+c)}else a.O("sector "+e+" request out of range");else a.O("drive "+d+" not loaded");else a.O("invalid drive: "+d)}else a.O("disk controller not present")}}else a.O("load commands:"),a.O("\tl [address] [drive #] [sector #] [# sectors]")}
function jr(a,b){var c;if(b&&"?"==b[1])a.O("register commands:"),a.O("\tr\tdump registers"),a.Tb&&a.O("\trfp\tdump floating-point registers"),a.O("\trp\tdump all registers"),a.O("\trx [#]\tset flag or register x to [#]");else{var d;null==c&&(c=!0);if(null!=b&&1<b.length){var e=b[1];if(a.Tb&&"fp"==e){c=a.Tb;d=bg(c);for(var f=c.jc,g=0;8>g;g++){var h=c,e=null;if(g<h.X.length){var e=[],k=h.B+g&7;e[0]=k;e[1]=Cg(h,k);e[2]=h.X[k];k<<=1;e[3]=h.aa[k];e[4]=h.aa[k+1];h=Gg(h,e[3],e[4]);e[5]=h[0];e[6]=h[1];e[7]=
h[2]}if(!e)break;a.O("ST"+g+": "+ma(e[2].toFixed(15),24,!0)+" "+r(e[4])+","+r(e[3])+" ["+e[0]+":"+tq[e[1]]+"]")}a.O(" B3SSS210ESPUOZDI xxxIRRPPIxPUOZDI");a.O("SW: "+da(d,16)+" ("+u(d)+") CW: "+da(f,16)+" ("+u(f)+")");return}if("p"==e)d=80286<=a.F.ja;else{f=null;g=e.indexOf("=");if(0<g)f=e.substr(g+1),e=e.substr(0,g);else if(2<b.length)f=b[2];else{a.O("missing value for "+b[1]);return}g=!1;h=ar(a,f);if(void 0!==h)switch(g=!0,k=e.toUpperCase(),"E"==k.charAt(0)&&4>=a.Ja&&(k=null),
k){case "AL":a.F.G=a.F.G&-256|h&255;break;case "AH":a.F.G=a.F.G&-65281|h<<8&255;break;case "AX":a.F.G=a.F.G&-65536|h&65535;break;case "BL":a.F.H=a.F.H&-256|h&255;break;case "BH":a.F.H=a.F.H&-65281|h<<8&255;break;case "BX":a.F.H=a.F.H&-65536|h&65535;break;case "CL":a.F.I=a.F.I&-256|h&255;break;case "CH":a.F.I=a.F.I&-65281|h<<8&255;break;case "CX":a.F.I=a.F.I&-65536|h&65535;break;case "DL":a.F.M=a.F.M&-256|h&255;break;case "DH":a.F.M=a.F.M&-65281|h<<8&255;break;case "DX":a.F.M=a.F.M&-65536|h&65535;
break;case "SP":G(a.F,I(a.F)&-65536|h&65535);break;case "BP":a.F.P=a.F.P&-65536|h&65535;break;case "SI":a.F.K=a.F.K&-65536|h&65535;break;case "DI":a.F.J=a.F.J&-65536|h&65535;break;case "DS":xd(a.F,h);break;case "ES":yd(a.F,h);break;case "SS":md(a.F,h);break;case "CS":nf(a.F,h);a.aa=jq(a,K(a.F),a.F.va.Z);break;case "IP":case "EIP":O(a.F,h);a.aa=jq(a,K(a.F),a.F.va.Z);break;case "PC":case "PS":Ad(a.F,h);break;case "C":h?zf(a.F):Af(a.F);break;case "P":h?(e=a.F,e.resultType&=-3,e.ca|=4):(e=a.F,e.resultType&=
-3,e.ca&=-5);break;case "A":h?Hf(a.F):Ff(a.F);break;case "Z":h?If(a.F):Gf(a.F);break;case "S":h?(e=a.F,e.resultType&=-17,e.ca|=128):(e=a.F,e.resultType&=-17,e.ca&=-129);break;case "I":h?(e=a.F,e.ca|=512):(e=a.F,e.ca&=-513);break;case "D":h?(e=a.F,e.ca|=1024):(e=a.F,e.ca&=-1025);break;case "V":h?Bf(a.F):Cf(a.F);break;default:var l=!0;if(80286<=a.F.ja)switch(l=!1,k){case "MS":Jf(a.F,h);break;case "TR":-1===a.F.Sa.load(h)&&(g=!1);break;default:if(l=!0,80386<=a.F.ja)switch(l=!1,k){case "EAX":a.F.G=h;
break;case "EBX":a.F.H=h;break;case "ECX":a.F.I=h;break;case "EDX":a.F.M=h;break;case "ESP":G(a.F,h);break;case "EBP":a.F.P=h;break;case "ESI":a.F.K=h;break;case "EDI":a.F.J=h;break;case "FS":a.F.Nb.load(h);break;case "GS":a.F.Ob.load(h);break;case "CR0":a.F.Za=h;sj.call(a.F,h);break;case "CR2":a.F.ue=h;break;case "CR3":a.F.Qd=h;Cd.call(a.F,h);break;default:l=!0}}if(l){a.O("unknown register: "+e);return}}if(!g){a.O("invalid value: "+f);return}Wc(a.F);a.O("updated registers:")}}a.O(zr(a,d));c&&(a.aa=
jq(a,K(a.F),a.F.va.Z),kr(a,Sq(a.aa)))}}function Kr(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.O(hr(a,c[2])):ar(a,b,!0)}function Lr(a,b,c){for(var d=null,e=b.Ra,f=e,g=1;6>=g&&e;g++){if(2<g){b.Ra=e;b.Ea=null;var h=rr(a,b);if(0<=h.indexOf("CALL")||c&&0<=h.indexOf("INT")){var k=h.indexOf(" ");if(e+(h.indexOf(" ",k+1)-k-1)/2==f){d=h;break}}}e--}b.Ra=f;return d}
function Mr(a,b,c){var d="t"!=b;c=Eq(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Ka(c,function(){return rb(a,!0)&&a.wf(e,d,!1)},function(){Wc(a.F);rb(a,!1)})}function ur(a,b,c){if(a.Xd=b)null!=a.Ni&&(a.Rb=a.Ni),null!=a.Li&&(a.oc=a.Li),a.Ni=a.Rb,a.Li=a.oc;a.Te=c||0}
function kr(a,b,c,d){if(b=Zq(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=Zq(a,c,!0);if(!d||d.Ra<b.Ra)return;e=d.Ra-b.Ra;if(256<e){a.O("range too large");return}d=-1}c=0;var f;for(ur(b,!0);0<e&&d--;){f=sb(a,!1)||a.N?a.ea:null;var g=null!=f?"cycles":null,h=tr(a,b),k=b.Ea;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.O(l)}h[3]&&(g=h[3],f=null);f=rr(a,b,g,f);b.Xd||d||d++;a.O(f);a.aa=b;e-=b.Ea-k;c++}}}
function cr(a,b,c,d){if(c)if(b){0>a.U&&a.L.length&&(a.U=0);if(0>a.U||b!=a.L[a.U])a.L.splice(0,0,b),a.U=0;a.U--}else b=a.L[a.U+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(na(b.substring(c,f))),c=f+1}}return a}
function qr(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.Da&&(a.O("ended assemble at "+Sq(a.ua)),a.aa=a.ua,a.Da=!1),b="";else if(!c){var e=">> ";a.F.Za&1&&(e=a.F.ca&131072?"-- ":"## ");a.O(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Pa=null;if(vb(a)&&0<b.length){a.Da&&(b="a "+Sq(a.ua)+" "+b);var g=b.replace(/ +/g," ").split(" ");if(g&&g.length)for(var h=g[0],k=h.charAt(0),l=1;l<h.length;l++){var n=h.charAt(l);if("?"==k||"r"==k||"a">n||"z"<n){g[0]=h.substr(l);g.unshift(h.substr(0,l));break}}switch(g[0].charAt(0)){case "a":var q=
Zq(a,g[1],!0);if(q)if(a.ua=q,void 0===g[2])a.O("begin assemble at "+Sq(q)),a.Da=!0,Wc(a.F);else{var p;a.O("not supported yet");p=[];if(p.length){for(var z=0;z<p.length;z++)a.qc(q,p[z],1);a.O(rr(a,a.ua))}}break;case "b":a:{var F=g[0],v=g[1],E=b;if("?"==v)a.O("breakpoint commands:"),a.O("\tbi [p]\ttoggle break on input port [p]"),a.O("\tbo [p]\ttoggle break on output port [p]"),a.O("\tbp [a]\tset exec breakpoint at addr [a]"),a.O("\tbr [a]\tset read breakpoint at addr [a]"),a.O("\tbw [a]\tset write breakpoint at addr [a]"),
a.O("\tbc [a]\tclear breakpoint at addr [a]"),a.O("\tbl\tlist all breakpoints"),a.O("\tbn [n]\tbreak after [n] instruction(s)");else{var H=F.charAt(1);if("l"==H){var L=0,L=L+pr(a,a.A),L=L+pr(a,a.ra);(L+=pr(a,a.fa))||a.O("no breakpoints")}else if("n"==H)a.Oa=Eq(a,v),a.O("break after "+a.Oa+" instruction(s)");else if(void 0===v)a.O("missing breakpoint address");else{var W={};if("*"!=v&&(W=Zq(a,v,!0,!0),!W))break a;v=null==W.Ra?v:u(W.Ra);"c"==H?null==W.Ra?(kq(a),a.O("all breakpoints cleared")):Rq(a,
a.A,W)||Rq(a,a.ra,W)||Rq(a,a.fa,W)||a.O("breakpoint missing: "+Sq(W)):"i"==H?a.O("breakpoint "+(kc(a.ga,W.Ra)?"enabled":"cleared")+": port "+v+" (input)"):"o"==H?a.O("breakpoint "+(oc(a.ga,W.Ra)?"enabled":"cleared")+": port "+v+" (output)"):null!=W.Ra&&(br(a,W,E),"p"==H?a.Td(a.A,W):"r"==H?a.Td(a.ra,W):"w"==H?a.Td(a.fa,W):a.O("unknown breakpoint command: "+H))}}}break;case "c":Fr(a);break;case "d":a:{var P=g,bb,ia=P[0],ja=P[1],Ha=P[2],Xa=P[3];if("?"==ja){var Ba="";for(bb in Bb)a.$a[bb]&&(Ba&&(Ba+=
","),Ba+=bb);Ba+=",state,symbols";a.O("dump memory commands:");a.O("\tdb [a] [#] dump # bytes at address a");a.O("\tdw [a] [#] dump # words at address a");a.O("\tdd [a] [#] dump # dwords at address a");a.O("\tdh [#] [#] dump # instructions from history");a.O("\tdi [#] dump descriptor info for IDT #");a.O("\tds [#] dump descriptor info for selector #");Ba.length&&a.O("dump extension commands:\n\t"+Ba)}else if("state"==ja){var Wb=Nr(a.X,!0);"console"==Ha?console.log(Wb):(Fr(a),
a.O(Wb))}else if("symbols"==ja)for(var wa=0;wa<a.B.length;wa++){var Vd=a.B[wa],Sc;for(Sc in Vd.Sd)if("."!=Sc.charAt(0)){var Wd=Vd.Sd[Sc],Je=Wd.o;if(void 0!==Je){var Xd=Wd.s;void 0===Xd&&(Xd=Vd.Z);var Ke=Vd.Sd[Sc].l;Ke&&(Sc=Ke);a.O(Iq(Je,Xd)+" "+Sc)}}}else{if("ds"==ia||"dg"==ia||"dl"==ia)ia="d",P=[ia,"desc",ja];"d"==ia&&"page"==ja&&(ia="dp",P.shift());if("dp"==ia){P.shift();var ki=P[0];if(ki){var Ue=a.dc(Zq(a,ki));if(-1===Ue)a.O("invalid address: "+ki);else{var be,Da=null;if(80386<=a.F.ja){var ce=
a.ga,Da={};Da.ek=(Ue&-4194304)>>>20;Da.wi=a.F.Qd+Da.ek;Da.yb=ce.sa[(Da.wi&ce.Hb)>>>ce.La];Da.Xi=Da.yb.Od(Da.ek);Da.fk=(Ue&4190208)>>>10;Da.xi=(Da.Xi&-4096)+Da.fk;Da.zb=ce.sa[(Da.xi&ce.Hb)>>>ce.La];Da.Yi=Da.zb.Od(Da.fk);Da.Ik=(Da.Yi&-4096)+(Ue&4095)}if(be=Da){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var pd="%"+r(Ue),pd=pd+(" %%"+dr(be.wi,be.Xi)),pd=pd+(" %%"+dr(be.xi,be.Yi,!0)),
pd=pd+(" %%"+r(be.Ik));a.O(pd)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ia){if("disk"==ja){P[0]="l";P[1]="json";Jr(a,P);break a}for(bb in Bb)if(P[1]==bb){var Dn=a.$a[bb];Dn?(P.shift(),P.shift(),Dn(P)):a.O("no dump registered for "+ja);break a}ja||(ia=a.Cc||"db")}else a.Cc=ia;if("dh"==ia){var En=ja,Fn=Ha,Gn="",Hn=0,tb=a.Fa,tc=a.ia;if(tc.length){var Eb=+En||a.Ub,de=+Fn||10;isNaN(Eb)?Eb=de:Gn="more ";Eb>tc.length&&(a.O("note: only "+tc.length+" available"),Eb=tc.length);
tb-=Eb;0>tb&&(null==tc[tc.length-1].Z?(Eb=tb+Eb,tb=0):tb+=tc.length);var li=[];"call"==Fn&&(de=1E5,li=["CALL"]);for(void 0!==En&&a.O(Eb+" instructions earlier:");0<de&&tb!=a.Fa;){var qd=tc[tb++];if(null==qd.Z)break;var Ve=jq(a,qd.Ra,qd.Z,qd.Ea,qd.type,qd.Rb,qd.oc),gs=Eb--,In=rr(a,Ve,"history",gs);(!li.length||0<=In.indexOf(li[0]))&&a.O(In);Ve.Te&&(tb+=Ve.Te,de-=Ve.Te,Eb-=Ve.Te);tb>=tc.length&&(tb=0);a.Ub=Eb;Hn++;de--}}Hn||(a.O("no "+Gn+"history available"),a.Ub=void 0)}else if("di"==ia){P.shift();
var mi=P[0];if(mi){var We=Eq(a,mi);if(void 0===We||0>We||255<We)a.O("invalid vector: "+mi);else{var Jn="&",Kn=!!(a.F.Za&1),Ln=!1,pg=a.F.Mc+(We<<(Kn?3:2)),ni=a.F.na(pg+0),hs=a.F.na(pg+2);Kn&&(Jn="#",a.F.na(pg+4)&2048&&(Ln=!0,ni|=a.F.na(pg+6)<<16));a.O("dumpIDT("+u(We)+"): "+Jn+r(hs,4)+":"+r(ni,Ln?8:4))}}else a.O("no IDT vector")}else if("dt"==ia)P.shift(),a.O("no information");else{var ee=Zq(a,ja);if(ee&&(null!=ee.Z||null!=ee.Ea)){var qg=0;Ha&&("l"==Ha.charAt(0)&&(Ha=Ha.substr(1)||Xa),qg=Eq(a,Ha)>>>
0,65536<qg&&(qg=65536));for(var rd="",rg="dd"==ia?4:"dw"==ia?2:1,sg=rg*qg||128,is=sg+15>>4||1;is--&&0<sg;){var tg=0,oi=0,Xe,Ye="",pi="",ja=Sq(ee);for(Xe=16;0<Xe&&0<sg;Xe--){var ug=a.Qa(ee,1),tg=tg|ug<<(oi++<<3);oi==rg&&(Ye+=r(tg,2*rg),Ye+=1==rg?9==Xe?"-":" ":" ",tg=oi=0);pi+=32<=ug&&128>ug?String.fromCharCode(ug):".";sg--}rd&&(rd+="\n");rd+=ja+" "+Ye+(0==Xe?" "+pi:"")}rd&&a.O(rd);a.Db=ee}}}}}break;case "e":if("else"==g[0])break;var vg=1,Mn=255,Nn=a.Qa,On=a.qc;"ew"==g[0]&&(vg=2,Mn=65535,Nn=a.na,
On=a.jb);var Pn=vg<<1,Qn=g[1];if(null==Qn)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var wg=Zq(a,Qn);if(wg)for(var xg=2;xg<g.length;xg++){var Ze=ar(a,g[xg]);if(void 0===Ze){a.O("unrecognized value: "+g[xg]);break}Ze&~Mn&&a.O("warning: "+r(Ze)+" exceeds "+vg+"-byte value");var js=Nn.call(a,wg);a.O("changing "+Sq(wg)+" from 0x"+r(js,Pn)+" to 0x"+r(Ze,Pn));On.call(a,wg,Ze,vg)}}break;case "f":Gr(a,g[1]);break;case "g":a:{var Rn=
g[1],ks=b;"gt"==g[0]&&(a.cb=!0);if(void 0!==Rn){var qi=Zq(a,Rn,!0);if(!qi)break a;br(a,qi,ks);a.Td(a.A,qi,!0)}a.Le(!0)||c||a.O("cpu busy or unavailable, run command ignored")}break;case "h":a:{var ri;if(a.la.Fb)ri="halting",a.Wb();else{if(sb(a,!0))break a;ri="already halted"}c||a.O(ri)}break;case "i":if("if"==g[0]){var si;var $e=b.substr(2),$e=na($e);ar(a,$e)?(c||a.O("true: "+$e),si=!0):(c||a.O("false: "+$e),si=!1);si||(d=!1);break}if("int"==g[0]){var yg;a:switch(Eq(a,g[1])){case 19:nk(a,19,a.F.Ha,
!0);a.ya=a.pa;yg=!0;break a;case 33:nk(a,33,a.F.Ha,!0);a.ya=a.pa;yg=!0;break a;default:yg=!1}yg||(d=!1);break}var ti=g[1];if(ti&&"?"!=ti){var ui=Eq(a,ti);if(void 0!==ui){var ls=mc(a.ga,ui,1);a.O(u(ui)+": "+t(ls))}}else a.O("input commands:"),a.O("\ti [p]\tread port [p]"),a.O("warning: port accesses can affect hardware state");break;case "k":var ms=g[0];if("?"==g[1])a.O("stack trace commands:"),a.O("\tk\tshow frame addresses"),a.O("\tks\tshow symbol information");else{var vi=0,Sn=a.F.va.Z,af=jq(a),
Uc=jq(a,I(a.F),a.F.ta.Z);for(a.O("stack trace for "+Sq(Uc));10>vi;){for(var uc=null,ns=256;Uc.Ra>>>0<a.F.Ng>>>0;){af.Ra=a.tb(Uc,!0);if(null==Uc.Ea||!ns--)break;af.Z=Sn;if(uc=Lr(a,af))break;af.Z=a.tb(Uc);if(uc=Lr(a,af,!0)){Sn=a.tb(Uc,!0);0<uc.indexOf("INT")&&a.tb(Uc,!0);break}}if(!uc||null==uc)break;var Tn=null;if("ks"==ms){var Un=uc.match(/[0-9A-F]+$/);Un&&(Tn=Ir(a,Un[0]))}uc=ma(uc,50)+" ;"+(Tn||"stack="+Sq(Uc));a.O(uc);vi++}vi||a.O("no return addresses found")}break;case "l":if("ln"==g[0]){Ir(a,
g[1],!0);break}Jr(a,g);break;case "m":if("mouse"==g[0]){var wi=g[1],zg=g[2];if(a.V){var Vn=1;"-"==zg.charAt(0)&&(Vn=-1,zg=zg.substr(1));var sd=Eq(a,zg,wi);if(void 0!==sd)switch(sd=sd*Vn|0,wi){case "x":a.V.If(sd,0);break;case "y":a.V.If(0,sd);break;case "click":a.V.ke(sd,!0);a.V.ke(sd,!1);break;default:a.O("unknown action: "+wi)}}else a.O("no mouse");break}a:{var vc,wc=null,Oa=g[1];"?"==Oa&&(Oa=void 0);if(void 0!==Oa){var td=0;if("all"==Oa)td=1610481663,Oa=null;else if("on"==Oa)wc=!0,Oa=null;else if("off"==
Oa)wc=!1,Oa=null;else{"keys"==Oa&&(Oa="key");"kbd"==Oa&&(Oa="keyboard");for(vc in Bb)if(Oa==vc){td=Bb[vc];wc=!!(a.wc&td);break}if(!td){a.O("unknown message category: "+Oa);break a}}td&&("on"==g[2]?(a.wc|=td,wc=!0):"off"==g[2]&&(a.wc&=~td,wc=!1))}var os=0,Vc="";for(vc in Bb)if(!Oa||Oa==vc){var ps=!!(a.wc&Bb[vc]);if(null===wc||wc==ps)Vc&&(Vc+=","),++os%10||(Vc+="\n\t"),"key"==vc&&(vc="keys"),Vc+=vc}void 0===Oa&&a.O("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.O((null!==wc?
wc?"messages on: ":"messages off: ":"message categories:\n\t")+(Vc||"none"));lq(a)}break;case "o":var xi=g[1],qs=g[2];if(xi&&"?"!=xi){var yi=Eq(a,xi,"port #"),zi=Eq(a,qs);void 0!==yi&&void 0!==zi&&(qc(a.ga,yi,1,zi),a.O(u(yi)+": "+t(zi)))}else a.O("output commands:"),a.O("\to [p] [b]\twrite byte [b] to port [p]"),a.O("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){Kr(a,b.substr(5));break}var Wn="pr"==g[0]?1:0,fe=1+Wn;if(a.N)a.O("step in progress");else{var Ag,
Xn=!1,lb=jq(a,K(a.F),a.F.va.Z);do switch(Ag=!1,a.Qa(lb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:Uq(a,lb,1);Ag=!0;break;case 204:case 206:a.N=fe;Uq(a,lb,1);break;case 205:case 224:case 225:case 226:a.N=fe;Uq(a,lb,lb.Rb?4:2);break;case 232:a.N=fe;Uq(a,lb,lb.Rb?5:3);break;case 154:a.N=fe;Uq(a,lb,lb.Rb?7:5);break;case 255:var Yn=a.tb(lb)&14591;if(4351==Yn||6399==Yn)a.N=fe,rr(a,lb);break;case 243:case 242:Uq(a,lb,1);Xn=Ag=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:Xn&&
(a.N=fe,Uq(a,lb,1))}while(Ag);a.N?(a.Td(a.A,lb,!0),a.Le()||(a.X&&a.X.yd(),a.N=0)):Mr(a,Wn?"tr":"t")}break;case "r":if("reset"==b){a.X&&a.X.reset();break}jr(a,g);break;case "t":Mr(a,g[0],g[1]);break;case "u":kr(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Hr(a,b.substr(3))||(d=!1);break}a.O("PCx86 version 1.24.2 ("+a.F.ja+",RELEASE,NOPREFETCH"+(xb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.O(za());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var bf;void 0!==g[3]&&(bf=+g[3]);switch(g[2]){case "int":a.F.Y.kf=
bf;break;case "start":a.F.Y.Kf=bf;break;case "stop":a.F.Y.mf=bf;break;default:a.O("unknown cs option");break a}void 0!==bf&&Tc(a.F);a.O("checksums "+(a.F.la.Ze?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&($c(a.F,+g[2])||a.O("warning: using 1x multiplier, previous target not reached"));a.O("target speed: "+(a.F.Y.Fe.toFixed(2)+"Mhz")+" ("+a.F.Y.Zd+"x)");break;default:a.O("unknown option: "+g[1])}else a.O("execution options:"),a.O("\tcs int #\tset checksum cycle interval to #"),a.O("\tcs start #\tset checksum cycle start count to #"),
a.O("\tcs stop #\tset checksum cycle stop count to #"),a.O("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){Kr(a,b.substr(1));break}var cf="commands:",Ai;for(Ai in qq)cf+="\n"+ma(Ai,7)+qq[Ai];Wf(a)||(cf+="\nnote: frequency/history disabled if no exec breakpoints");a.O(cf);break;default:a.O("unknown command: "+b),d=!1}}}catch(Zn){a.O("debugger error: "+(Zn.stack||Zn.message)),d=!1}return d}function nq(a,b,c){b=cr(a,b,c);for(var d in b)if(!qr(a,b[d]))return!1;return!0}
Sa(function(){for(var a=pb(document,"pcx86","debugger"),b=0;b<a.length;b++){var c=a[b],d=mb(c),d=new iq(d);ob(d,c)}});
function Or(a,b,c){Wa.call(this,"Computer",a,Or,67108864);this.la.cc=!1;Pr(this,b);this.fa=Qc(this,"autoPower",a);this.N=0;this.ra=a.busWidth||a.buswidth;this.A=Qr;this.aa=null;this.V=this.pa=!1;this.ua=Qc(this,"url")||"";this.ya=(Math.random()+.1).toString(36).substr(2,12);this.B=Rr(this);if(this.F=kb("CPU",this.id)){this.ha=kb("Debugger",this.id);this.L=[];for(b=null;b=Hb(this,"Video",b);)this.L.push(b);this.ga=new Ob({id:this.fe+".bus",busWidth:this.ra},this.F,this.ha);var d,e=ib(this.id);if((this.C=
kb("Panel",this.id))&&this.C.Ef)for(b=0;b<e.length;b++)d=e[b],d.Na=this.C.Na,d.O=this.C.O,d.Ef=this.C.Ef;this.O("PCx86 v1.24.2\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.Ic&&d.Ic(this,this.ga,this.F,this.ha);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.W=d:this.A=parseInt(d,10));var f;if(a=Qc(this,"state")||(f=!0,a.state))b=this.ia=a,f||(this.V=!0,this.A=Qr),this.A&&(this.ea=new lf(this,
"1.24.2"),this.ea.load()?b=null:delete this.ea);!b&&this.A&&(b=Sr(this))&&(this.V=!0);if(b){var g=this;xa(b,null,!0,function(a,b,c){c?(g.W=null,g.V=!1,g.Na("Unable to load machine state from server (error "+c+(b?": "+na(b):"")+")")):(g.aa=b,g.pa=!0);ub(g)})}else ub(this);this.qa.power||(this.fa=!0);!c&&this.fa&&Tr(this,this.ag)}else w("Unable to find CPU component")}fb(Or);var Qr=0;m=Or.prototype;m.gf=function(){return this.ya};
function Pr(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){w(d.message+" ("+c+")")}}a.U=b}function Qc(a,b,c){var d=b.toLowerCase(),d=$a[b]||$a[d];void 0===d&&a.U&&(d=a.U[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}m.le=function(){return this.B||""};function Tr(a,b,c){for(var d=ib(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!vb(f)){vb(f,function(){Tr(a,b,c)});return}}b.call(a,c)}
function Ur(a,b){var c=new lf(a,"1.24.2","validate");if(c.load()&&Vr(c)){var d=Wr(c,"timestamp"),e=b?Wr(b,"timestamp"):"unknown";d!=e&&(a.Na("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
m.ag=function(a){void 0===a&&(a=this.A||(this.aa?1:Qr));if(!this.N){this.N++;var b=!1,c=!1;this.ka=!1;var d=this.ea||new lf(this,"1.24.2");if(-1==a)b=!0;else if(a>Qr){if(d.load(this.aa)){this.X=new lf(this,"1.24.2","failsafe");this.X.load()&&(Xr(this,d),a=2,Yr(this.X));N(this.X,"timestamp",ra());Zr(this.X);var e=this.A&&!this.V;if(1==a||Aa("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=Vr(d)){var f=Wr(d,"code"),g=Wr(d,"data");f&&("ok"==f?d.load(g):("error"==
f&&"no machine state"!=g?(this.Na("Error: "+g),"unable to verify user"==g&&(Ga("user",""),this.B=null)):this.O(f+": "+g),Yr(d),d.load()?(c=Vr(d),e=!0):c=!1))}e&&Ur(this,c?d:null)}else 2==a&&d.clear()}else Ur(this);delete this.aa;delete this.ea}e=ib(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.F&&(c=$r(this,g,d,b,c));b=[d,a,c];-1!=a?Tr(this,this.Ki,b):this.Ki(b)}};
function $r(a,b,c,d,e){if(!b.la.cc){b.la.cc=!0;if(b.ic){var f=null;e&&((f=Wr(c,b.id))||(f=Wr(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.ic(f,d)&&f&&(w("Unable to restore state for "+b.type),a.ia&&!a.pa?(c.clear(),a.A=Qr,window&&window.location.reload()):a.ka=!0,b.ic(null),e=!1)}if(!d&&b.wk)for(a=b.wk.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
m.Ki=function(a){var b=a[0],c=0>a[1];a=a[2];this.wa=!0;this.la.cc=!0;var d=this.qa.power;d&&(d.textContent="Shutdown");this.F&&($r(this,this.F,b,c,a),Xc(this.F));this.ka&&(Xr(this,b),b.clear());!c&&this.X&&(this.X.clear(),delete this.X);this.N=0};
function Xr(a,b){if(Aa("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.le(),d=b.toString(),e={app:"PCx86",ver:"1.24.2"};e.url=a.ua;e.user=c;e.type="bug";e.data=d;xa("http://www.pcjs.org/api/v1/report",e,!0)}}
function Nr(a,b,c){var d,e="none";if(a.N)return null;a.N--;var f=new lf(a,"1.24.2"),g=new lf(a,"1.24.2","validate"),h=ra();N(g,"timestamp",h);N(f,"timestamp",h);N(f,"version","1.24.2");N(f,"url",window?window.location.href:null);N(f,"browser",za());a.F&&a.F.hc&&(c&&a.F.Wb(),d=a.F.hc(b,c),"object"===typeof d&&N(f,a.F.id,d),c&&(a.F.la.cc=!1,!1===d&&(e=null)));for(var h=ib(a.id),k=0;k<h.length;k++){var l=h[k];l.la.cc&&(l.hc&&(d=l.hc(b,c),"object"===typeof d&&N(f,l.id,d)),c&&(l.la.cc=!1,!1===d&&(e=null)))}e&&
(c?(h=d=!1,b?(a.B&&as(a,a.B,f.toString()),Zr(g)&&Zr(f)||(e=null,d=h=!0)):a.A&&(d=!0,h=3==a.A),d&&f.clear(h)):e=f.toString());c&&(a.la.cc=!1,b=a.qa.power)&&(b.textContent="Power");a.N=0;return e}m.reset=function(){this.ga&&this.ga.reset&&(y(this,"Resetting "+this.ga.type),this.ga.reset());for(var a=ib(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ga&&c.reset&&(y(this,"Resetting "+c.type),c.reset())}};
m.start=function(a,b){for(var c=ib(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};m.stop=function(a,b){for(var c=ib(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
m.Pb=function(a,b,c){var d=this;switch(b){case "power":return this.qa[b]=c,c.onclick=function(){d.N||(d.la.cc?Nr(d,!1,!0):Tr(d,d.ag))},!0;case "reset":return this.qa[b]=c,c.onclick=function(){if(d.la.cc&&!d.N)if(d.A&&!d.W){var a=Aa("Click OK to save changes to this PCx86 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Nr(d,a,!0);!a&&d.ia?window&&window.location.reload():(a||(d.fh=!0),d.ag(Qr),d.fh=!1)}else d.reset(),d.F&&Xc(d.F)},!0;case "save":if(ha(ya(),"pcjs.org")){c.parentNode.removeChild(c);
break}this.qa[b]=c;c.onclick=function(){var a=Rr(d,!0);if(a){var b=!!(d.A&&!d.W||d.ia),c=Nr(d,b);b?as(d,a,c):d.Na("Resume disabled, machine state not saved")}};return!0}return!1};
function Rr(a,b){var c=a.B;c||(c=Fa("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c&&((c=bs(a,c))||a.Na("The user ID is invalid."))):b&&a.Na("Browser local storage is not available"));return c}
function bs(a,b){a.B=null;var c=xa(ya()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(Ga("user",c.data),a.B=c.data)}catch(e){w(e.message+" ("+d+")")}return a.B}function Sr(a){var b=null;a.B&&(b=ya()+"/api/v1/user?req=load&user="+a.B+"&state="+cs(a,"1.24.2"));return b}
function as(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=cs(a,"1.24.2");d.data=c;b=xa(ya()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Na("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.Na(c),Ga("user",""),a.B=null)}}
function Hb(a,b,c){a=ib(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}m.yd=function(a){if(this.L.length){var b=0,c=0;a&&window&&(b=window.scrollX,c=window.scrollY);var d=this.L[0];d.X&&d.X.focus();a&&window&&window.scrollTo(b,c)}};m.qd=function(a){this.F&&this.F.qd(a);this.C&&this.C.qd(a)};
function fd(a,b){for(var c=0;c<a.L.length;c++)un(a.L[c],b);if(a.C&&(c=a.C,c.Ja)){Lb(c,18,c.aa,c.Ga);if(c.gb){var d=c.ga,e=c.A,f,g;null==f&&(f=0);null==g&&(g=d.W-f|0);null==e&&(e={bh:0,Vd:0,Tg:[]});var h=f>>>d.La;f=f+g-1>>>d.La;e.bh=0;for(e.Vd=0;h<=f;)g=d.sa[h],e.bh+=g.size,g.size&&(e.Tg.push(ta(Kb,h,0,0,g.type)),e.Vd++),h++;c.A=e;c.ya=c.A.Vd*c.ga.Sb/691200;d=0;c.A.Ci=0;c.A.Bf||(c.A.Bf=[]);var e=-1,h=0,k=-1;for(f=0;f<c.A.Vd;f++){var l=c.A.Tg[f];g=ua(Kb.type,l);l=ua(Kb.ck,l);if(g!=e||l!=k+1)(k=f-h)&&
(d+=Nb(c,h,k,e)),e=g,h=f;k=l}d+=Nb(c,h,f-h,e);e=c.A.Nk!=d;c.A.Nk=d;if(e){e=new Fb(0,0,c.aa.width,c.aa.height);c.A.Qe=[];h=c.A.Vd;for(d=0;d<c.A.Ci;d++)f=c.A.Bf[d].Vd,c.A.Qe.push(Gb(e,f,h,!d)),h-=f;for(d=0;d<c.A.Qe.length;d++)e=c.A.Bf[d],h=f=c.A.Qe[d],g=c.Ga,(k=Ac[e.type])||(k=new Db),g.strokeStyle="black",g.strokeRect(h.x,h.y,h.ad,h.A),g.fillStyle="string"==typeof k?k:k.toString(),g.fillRect(h.x,h.y,h.ad,h.A),h=c,g=f,h.fa=h.ua,h.W=h.wa,f=g.x+(g.ad>>1),k=g.y+(g.A>>1),l=g.A,g.ad<g.A&&(l=g.ad,h.ra=!0,
h.N.save(),h.N.translate(f,k),h.N.rotate(-Math.PI/2),f=k=0),l<h.W&&(h.W=l,h.fa=h.W+"px Monaco, Lucida Console, Courier New"),g=k,h.C=f,h.U=g,h=c,e=Zb[e.type]+" ("+(e.Vd*c.ga.Sb/1024|0)+"Kb)",h.N.font=h.fa,h.C-=h.N.measureText(e).width>>1,h.U+=(h.W>>1)-2,Mb(h,e),h.ra&&(h.N.restore(),h.ra=!1)}}else Mb(c,"This space intentionally left blank");c.context.drawImage(c.aa,0,0,c.aa.width,c.aa.height,c.sb,c.Jb,c.$a,c.fb);c.Ja=!1}}
Sa(function(){for(var a=pb(document,"pcx86-machine"),b=0;b<a.length;b++)for(var c=a[b],d=mb(c),c=pb(c,"pcx86","computer"),e=0;e<c.length;e++){var f=c[e],g=mb(f),g=new Or(g,d,!0);ob(g,f);g.fa&&Tr(g,g.ag)}});Ma.show.push(function(){for(var a=pb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=mb(a[b]);(c=kb("Computer",c.id))&&c.wa&&!c.la.cc&&c.ag(-1)}});
Ma.exit.push(function(){for(var a=pb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=mb(a[b]);(c=kb("Computer",c.id))&&c.la.cc&&Nr(c,!(!c.A||c.W),!0)}});function lf(a,b,c){this.id=a.id;this.key=cs(a,b,c);this.ha=a.ha;Yr(this,a.jk)}function cs(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
lf.prototype={constructor:lf,value:function(){return this[this.id]},data:function(){return this[this.id]},load:function(a){return a?(this[this.id]=a,this.A=!0):this.A?!0:Ea()&&(a=Fa(this.key))?(this[this.id]=a,this.A=!0):!1},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){Yr(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==
this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}}};function Yr(a,b){a[a.id]={};b&&N(a,"parms",b);a.A=!1}function Zr(a){var b=!0;if(Ea()){var c=JSON.stringify(a[a.id]);Ga(a.key,c)||(w("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Vr(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){w(c.message||c),b=!1}return b}function Wr(a,b){return a[a.id][b]||null}function N(a,b,c){try{a[a.id][b]=c}catch(d){}}var ds=0;
function es(a,b,c,d,e,f){e("Loading "+a+"...");xa(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),f(h,null)):fs(h,a,b,c,d,e,f)})}
function fs(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{if(c){hb(c,b,a);var h=b;h&&0>h.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{";d+='url:"'+h+'"}';"object"==typeof resources&&(h=null);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}e||(a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pcx86$2"));
h=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){h=null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,h)}}a?e?rs(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function rs(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");xa(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],l,n=/( [a-z]+=)(['"])(.*?)\2/g;l=n.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);rs(a,b,c)}})}else c(a,null)}
function ss(a,b,c,d){function e(a){if(void 0===h){var b=g&&pb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=la(a))}function f(a){e("Error: "+a);k&&(--ds||Ua(!0));k=!1}var g,h,k=!0;ds++;gb[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=l:q.appendChild(document.createTextNode(l));n.appendChild(q)}c||
(c="/versions/pcx86/1.24.2/components.xsl");l=function(d,h){h?es(c,null,null,!1,e,function(d,k){if(k)if(hb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=h.transformNode(k);l?(g.outerHTML=l,--ds||Ua(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--ds||Ua(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?es(b,a,d,!0,e,l):fs(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(p){f(p.message)}return k}function ts(a,b,c,d){Ua(!1);return ss(a,b,c,d)}window.embedPC=ts;window.embedPCx86=ts;window.enableEvents=Ua;window.sendEvent=Va;
function us(a,b,c,d){if(!c&&b){d.push(b);a=gb[d[0]];b=null;for(var e in a)if(ha(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?xa(b,null,!0,function(a,b){vs(b,d)}):vs(null,d)}else w("Error ("+c+") requesting "+a)}
function vs(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=gb[f],k={},l;for(l in h){var n=h[l],q=ga(l);if("xml"==q){for(q=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=q.exec(h[l]);){var p=d[2];p&&(h[p]||(n=n.replace(d[0],"")))}d=l=fa(l)}else"xsl"==q&&(e=l=fa(l));k[l]=n}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g,
"&#xA9;"),c=Ja(c,"javascript",!1,g),c=c+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('<div id="'+f+'"></div>\n'),c+="...\n",c+='<script type="text/javascript" src="'+g+'">\x3c/script>\n',c+='<script type="text/javascript">embedPC("'+f+'","'+d+'","'+e+'");\x3c/script>\n\n',c+="The machine should appear where the <div> is located.",w(c)):w("Missing XML/XSL resources")}
window.savePC=function(a,b,c){var d=kb("Computer",a),e=kb("Debugger",a);if(d){var f=Nr(d,!0),g=d.U?JSON.stringify(d.U):null;b||(b="/versions/pcjs/1.24.2/pc"+(e?"-dbg":"")+".js");if(c&&c({state:f,jk:g}))return!0;xa(b,null,!0,function(c,d,e){us(c,d,e,[a,fa(b,!0),g,f])});return!0}w("Unable to identify machine '"+a+"'");return!1};})();