Pro/public/static/np/v0.5.18/NodePlayer.min.js
2026-02-25 01:50:31 +08:00

20 lines
2.0 MiB

var Module=typeof Module!=="undefined"?Module:{};"use strict";var LOG_TYPES={NP_TYPE_NONE:0,NP_TYPE_ERROR:1,NP_TYPE_NORMAL:2,NP_TYPE_DEBUG:3};var logType=LOG_TYPES.NP_TYPE_NORMAL;var logTime=function logTime(){var nowDate=new Date;return nowDate.toLocaleDateString()+" "+nowDate.toLocaleTimeString([],{hour12:false})};var NP_LOG=function NP_LOG(){var _console;for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}if(logType<LOG_TYPES.NP_TYPE_NORMAL)return;(_console=console).log.apply(_console,[logTime(),"[INFO]"].concat(args))};var NP_ERROR=function NP_ERROR(){var _console2;for(var _len2=arguments.length,args=Array(_len2),_key2=0;_key2<_len2;_key2++){args[_key2]=arguments[_key2]}if(logType<LOG_TYPES.NP_TYPE_ERROR)return;(_console2=console).error.apply(_console2,[logTime(),"[ERROR]"].concat(args))};var NP_DEBUG=function NP_DEBUG(){var _console3;for(var _len3=arguments.length,args=Array(_len3),_key3=0;_key3<_len3;_key3++){args[_key3]=arguments[_key3]}if(logType<LOG_TYPES.NP_TYPE_DEBUG)return;(_console3=console).log.apply(_console3,[logTime(),"[DEBUG]"].concat(args))};Module.print=NP_LOG;Module.printErr=NP_ERROR;"use strict";var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};!function(e){if("object"==(typeof exports==="undefined"?"undefined":_typeof(exports))&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.flvjs=e()}}(function(){var e;return function e(t,n,i){function r(a,o){if(!n[a]){if(!t[a]){var u="function"==typeof require&&require;if(!o&&u)return u(a,!0);if(s)return s(a,!0);var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}var d=n[a]={exports:{}};t[a][0].call(d.exports,function(e){var n=t[a][1][e];return r(n||e)},d,d.exports,e,t,n,i)}return n[a].exports}for(var s="function"==typeof require&&require,a=0;a<i.length;a++){r(i[a])}return r}({1:[function(t,n,i){(function(r,s){!function(t,r){"object"==(typeof i==="undefined"?"undefined":_typeof(i))&&void 0!==n?n.exports=r():"function"==typeof e&&e.amd?e(r):t.ES6Promise=r()}(this,function(){"use strict";function e(e){var t=typeof e==="undefined"?"undefined":_typeof(e);return null!==e&&("object"===t||"function"===t)}function n(e){return"function"==typeof e}function i(e){V=e}function a(e){z=e}function o(){return void 0!==G?function(){G(l)}:u()}function u(){var e=setTimeout;return function(){return e(l,1)}}function l(){for(var e=0;e<F;e+=2){(0,Y[e])(Y[e+1]),Y[e]=void 0,Y[e+1]=void 0}F=0}function d(e,t){var n=this,i=new this.constructor(f);void 0===i[Q]&&C(i);var r=n._state;if(r){var s=arguments[r-1];z(function(){return A(r,i,s,n._result)})}else L(n,i,e,t);return i}function h(e){var t=this;if(e&&"object"==(typeof e==="undefined"?"undefined":_typeof(e))&&e.constructor===t)return e;var n=new t(f);return b(n,e),n}function f(){}function c(){return new TypeError("You cannot resolve a promise with itself")}function _(){return new TypeError("A promises callback cannot return that same promise.")}function m(e){try{return e.then}catch(e){return te.error=e,te}}function p(e,t,n,i){try{e.call(t,n,i)}catch(e){return e}}function v(e,t,n){z(function(e){var i=!1,r=p(n,t,function(n){i||(i=!0,t!==n?b(e,n):S(e,n))},function(t){i||(i=!0,k(e,t))},"Settle: "+(e._label||" unknown promise"));!i&&r&&(i=!0,k(e,r))},e)}function g(e,t){t._state===$?S(e,t._result):t._state===ee?k(e,t._result):L(t,void 0,function(t){return b(e,t)},function(t){return k(e,t)})}function y(e,t,i){t.constructor===e.constructor&&i===d&&t.constructor.resolve===h?g(e,t):i===te?(k(e,te.error),te.error=null):void 0===i?S(e,t):n(i)?v(e,t,i):S(e,t)}function b(t,n){t===n?k(t,c()):e(n)?y(t,n,m(n)):S(t,n)}function E(e){e._onerror&&e._onerror(e._result),R(e)}function S(e,t){e._state===J&&(e._result=t,e._state=$,0!==e._subscribers.length&&z(R,e))}function k(e,t){e._state===J&&(e._state=ee,e._result=t,z(E,e))}function L(e,t,n,i){var r=e._subscribers,s=r.length;e._onerror=null,r[s]=t,r[s+$]=n,r[s+ee]=i,0===s&&e._state&&z(R,e)}function R(e){var t=e._subscribers,n=e._state;if(0!==t.length){for(var i=void 0,r=void 0,s=e._result,a=0;a<t.length;a+=3){i=t[a],r=t[a+n],i?A(n,i,r,s):r(s)}e._subscribers.length=0}}function w(e,t){try{return e(t)}catch(e){return te.error=e,te}}function A(e,t,i,r){var s=n(i),a=void 0,o=void 0,u=void 0,l=void 0;if(s){if(a=w(i,r),a===te?(l=!0,o=a.error,a.error=null):u=!0,t===a)return void k(t,_())}else a=r,u=!0;t._state!==J||(s&&u?b(t,a):l?k(t,o):e===$?S(t,a):e===ee&&k(t,a))}function T(e,t){try{t(function(t){b(e,t)},function(t){k(e,t)})}catch(t){k(e,t)}}function O(){return ne++}function C(e){e[Q]=ne++,e._state=void 0,e._result=void 0,e._subscribers=[]}function I(){return new Error("Array Methods must be provided an Array")}function D(e){return new ie(this,e).promise}function x(e){var t=this;return new t(N(e)?function(n,i){for(var r=e.length,s=0;s<r;s++){t.resolve(e[s]).then(n,i)}}:function(e,t){return t(new TypeError("You must pass an array to race."))})}function M(e){var t=this,n=new t(f);return k(n,e),n}function j(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function B(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function P(){var e=void 0;if(void 0!==s)e=s;else if("undefined"!=typeof self)e=self;else try{e=Function("return this")()}catch(e){throw new Error("polyfill failed because global object is unavailable in this environment")}var t=e.Promise;if(t){var n=null;try{n=Object.prototype.toString.call(t.resolve())}catch(e){}if("[object Promise]"===n&&!t.cast)return}e.Promise=re}var U=void 0;U=Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)};var N=U,F=0,G=void 0,V=void 0,z=function z(e,t){Y[F]=e,Y[F+1]=t,2===(F+=2)&&(V?V(l):Z())},H="undefined"!=typeof window?window:void 0,q=H||{},K=q.MutationObserver||q.WebKitMutationObserver,W="undefined"==typeof self&&void 0!==r&&"[object process]"==={}.toString.call(r),X="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,Y=new Array(1e3),Z=void 0;Z=W?function(){return function(){return r.nextTick(l)}}():K?function(){var e=0,t=new K(l),n=document.createTextNode("");return t.observe(n,{characterData:!0}),function(){n.data=e=++e%2}}():X?function(){var e=new MessageChannel;return e.port1.onmessage=l,function(){return e.port2.postMessage(0)}}():void 0===H&&"function"==typeof t?function(){try{var e=Function("return this")().require("vertx");return G=e.runOnLoop||e.runOnContext,o()}catch(e){return u()}}():u();var Q=Math.random().toString(36).substring(2),J=void 0,$=1,ee=2,te={error:null},ne=0,ie=function(){function e(e,t){this._instanceConstructor=e,this.promise=new e(f),this.promise[Q]||C(this.promise),N(t)?(this.length=t.length,this._remaining=t.length,this._result=new Array(this.length),0===this.length?S(this.promise,this._result):(this.length=this.length||0,this._enumerate(t),0===this._remaining&&S(this.promise,this._result))):k(this.promise,I())}return e.prototype._enumerate=function(e){for(var t=0;this._state===J&&t<e.length;t++){this._eachEntry(e[t],t)}},e.prototype._eachEntry=function(e,t){var n=this._instanceConstructor,i=n.resolve;if(i===h){var r=m(e);if(r===d&&e._state!==J)this._settledAt(e._state,t,e._result);else if("function"!=typeof r)this._remaining--,this._result[t]=e;else if(n===re){var s=new n(f);y(s,e,r),this._willSettleAt(s,t)}else this._willSettleAt(new n(function(t){return t(e)}),t)}else this._willSettleAt(i(e),t)},e.prototype._settledAt=function(e,t,n){var i=this.promise;i._state===J&&(this._remaining--,e===ee?k(i,n):this._result[t]=n),0===this._remaining&&S(i,this._result)},e.prototype._willSettleAt=function(e,t){var n=this;L(e,void 0,function(e){return n._settledAt($,t,e)},function(e){return n._settledAt(ee,t,e)})},e}(),re=function(){function e(t){this[Q]=O(),this._result=this._state=void 0,this._subscribers=[],f!==t&&("function"!=typeof t&&j(),this instanceof e?T(this,t):B())}return e.prototype.catch=function(e){return this.then(null,e)},e.prototype.finally=function(e){var t=this,i=t.constructor;return n(e)?t.then(function(t){return i.resolve(e()).then(function(){return t})},function(t){return i.resolve(e()).then(function(){throw t})}):t.then(e,e)},e}();return re.prototype.then=d,re.all=D,re.race=x,re.resolve=h,re.reject=M,re._setScheduler=i,re._setAsap=a,re._asap=z,re.polyfill=P,re.Promise=re,re})}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:3}],2:[function(e,t,n){function i(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function r(e){return"function"==typeof e}function s(e){return"number"==typeof e}function a(e){return"object"==(typeof e==="undefined"?"undefined":_typeof(e))&&null!==e}function o(e){return void 0===e}t.exports=i,i.EventEmitter=i,i.prototype._events=void 0,i.prototype._maxListeners=void 0,i.defaultMaxListeners=10,i.prototype.setMaxListeners=function(e){if(!s(e)||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},i.prototype.emit=function(e){var t,n,i,s,u,l;if(this._events||(this._events={}),"error"===e&&(!this._events.error||a(this._events.error)&&!this._events.error.length)){if((t=arguments[1])instanceof Error)throw t;var d=new Error('Uncaught, unspecified "error" event. ('+t+")");throw d.context=t,d}if(n=this._events[e],o(n))return!1;if(r(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:s=Array.prototype.slice.call(arguments,1),n.apply(this,s)}else if(a(n))for(s=Array.prototype.slice.call(arguments,1),l=n.slice(),i=l.length,u=0;u<i;u++){l[u].apply(this,s)}return!0},i.prototype.addListener=function(e,t){var n;if(!r(t))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,r(t.listener)?t.listener:t),this._events[e]?a(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t,a(this._events[e])&&!this._events[e].warned&&(n=o(this._maxListeners)?i.defaultMaxListeners:this._maxListeners)&&n>0&&this._events[e].length>n&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},i.prototype.on=i.prototype.addListener,i.prototype.once=function(e,t){function n(){this.removeListener(e,n),i||(i=!0,t.apply(this,arguments))}if(!r(t))throw TypeError("listener must be a function");var i=!1;return n.listener=t,this.on(e,n),this},i.prototype.removeListener=function(e,t){var n,i,s,o;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(n=this._events[e],s=n.length,i=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(a(n)){for(o=s;o-- >0;){if(n[o]===t||n[o].listener&&n[o].listener===t){i=o;break}}if(i<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(i,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},i.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events){"removeListener"!==t&&this.removeAllListeners(t)}return this.removeAllListeners("removeListener"),this._events={},this}if(n=this._events[e],r(n))this.removeListener(e,n);else if(n)for(;n.length;){this.removeListener(e,n[n.length-1])}return delete this._events[e],this},i.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},i.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},i.listenerCount=function(e,t){return e.listenerCount(t)}},{}],3:[function(e,t,n){function i(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function s(e){if(h===setTimeout)return setTimeout(e,0);if((h===i||!h)&&setTimeout)return h=setTimeout,setTimeout(e,0);try{return h(e,0)}catch(t){try{return h.call(null,e,0)}catch(t){return h.call(this,e,0)}}}function a(e){if(f===clearTimeout)return clearTimeout(e);if((f===r||!f)&&clearTimeout)return f=clearTimeout,clearTimeout(e);try{return f(e)}catch(t){try{return f.call(null,e)}catch(t){return f.call(this,e)}}}function o(){p&&_&&(p=!1,_.length?m=_.concat(m):v=-1,m.length&&u())}function u(){if(!p){var e=s(o);p=!0;for(var t=m.length;t;){for(_=m,m=[];++v<t;){_&&_[v].run()}v=-1,t=m.length}_=null,p=!1,a(e)}}function l(e,t){this.fun=e,this.array=t}function d(){}var h,f,c=t.exports={};!function(){try{h="function"==typeof setTimeout?setTimeout:i}catch(e){h=i}try{f="function"==typeof clearTimeout?clearTimeout:r}catch(e){f=r}}();var _,m=[],p=!1,v=-1;c.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++){t[n-1]=arguments[n]}m.push(new l(e,t)),1!==m.length||p||s(u)},l.prototype.run=function(){this.fun.apply(null,this.array)},c.title="browser",c.browser=!0,c.env={},c.argv=[],c.version="",c.versions={},c.on=d,c.addListener=d,c.once=d,c.off=d,c.removeListener=d,c.removeAllListeners=d,c.emit=d,c.prependListener=d,c.prependOnceListener=d,c.listeners=function(e){return[]},c.binding=function(e){throw new Error("process.binding is not supported")},c.cwd=function(){return"/"},c.chdir=function(e){throw new Error("process.chdir is not supported")},c.umask=function(){return 0}},{}],4:[function(e,t,n){var i=arguments[3],r=arguments[4],s=arguments[5],a=JSON.stringify;t.exports=function(e,t){function n(e){p[e]=!0;for(var t in r[e][1]){var i=r[e][1][t];p[i]||n(i)}}for(var o,u=Object.keys(s),l=0,d=u.length;l<d;l++){var h=u[l],f=s[h].exports;if(f===e||f&&f.default===e){o=h;break}}if(!o){o=Math.floor(Math.pow(16,8)*Math.random()).toString(16);for(var c={},l=0,d=u.length;l<d;l++){var h=u[l];c[h]=h}r[o]=["function(require,module,exports){"+e+"(self); }",c]}var _=Math.floor(Math.pow(16,8)*Math.random()).toString(16),m={};m[o]=o,r[_]=["function(require,module,exports){var f = require("+a(o)+");(f.default ? f.default : f)(self);}",m];var p={};n(_);var v="("+i+")({"+Object.keys(p).map(function(e){return a(e)+":["+r[e][0]+","+a(r[e][1])+"]"}).join(",")+"},{},["+a(_)+"])",g=window.URL||window.webkitURL||window.mozURL||window.msURL,y=new Blob([v],{type:"text/javascript"});if(t&&t.bare)return y;var b=g.createObjectURL(y),E=new Worker(b);return E.objectURL=b,E}},{}],5:[function(e,t,n){"use strict";function i(){return Object.assign({},r)}Object.defineProperty(n,"__esModule",{value:!0}),n.createDefaultConfig=i;var r=n.defaultConfig={enableWorker:!1,enableStashBuffer:!0,stashInitialSize:void 0,isLive:!1,lazyLoad:!0,lazyLoadMaxDuration:180,lazyLoadRecoverDuration:30,deferLoadAfterSourceOpen:!0,autoCleanupMaxBackwardDuration:180,autoCleanupMinBackwardDuration:120,statisticsInfoReportInterval:600,fixAudioTimestampGap:!0,accurateSeek:!1,seekType:"range",seekParamStart:"bstart",seekParamEnd:"bend",rangeLoadZeroStart:!1,customSeekHandler:void 0,reuseRedirectedURL:!1,headers:void 0,customLoader:void 0}},{}],6:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=e("../io/io-controller.js"),a=function(e){return e&&e.__esModule?e:{default:e}}(s),o=e("../config.js"),u=function(){function e(){i(this,e)}return r(e,null,[{key:"supportMSEH264Playback",value:function value(){return window.MediaSource&&window.MediaSource.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"')}},{key:"supportNetworkStreamIO",value:function value(){var e=new a.default({},(0,o.createDefaultConfig)()),t=e.loaderType;return e.destroy(),"fetch-stream-loader"==t||"xhr-moz-chunked-loader"==t}},{key:"getNetworkLoaderTypeName",value:function value(){var e=new a.default({},(0,o.createDefaultConfig)()),t=e.loaderType;return e.destroy(),t}},{key:"supportNativeMediaPlayback",value:function value(t){void 0==e.videoElement&&(e.videoElement=window.document.createElement("video"));var n=e.videoElement.canPlayType(t);return"probably"===n||"maybe"==n}},{key:"getFeatureList",value:function value(){var t={mseFlvPlayback:!1,mseLiveFlvPlayback:!1,networkStreamIO:!1,networkLoaderName:"",nativeMP4H264Playback:!1,nativeWebmVP8Playback:!1,nativeWebmVP9Playback:!1};return t.mseFlvPlayback=e.supportMSEH264Playback(),t.networkStreamIO=e.supportNetworkStreamIO(),t.networkLoaderName=e.getNetworkLoaderTypeName(),t.mseLiveFlvPlayback=t.mseFlvPlayback&&t.networkStreamIO,t.nativeMP4H264Playback=e.supportNativeMediaPlayback('video/mp4; codecs="avc1.42001E, mp4a.40.2"'),t.nativeWebmVP8Playback=e.supportNativeMediaPlayback('video/webm; codecs="vp8.0, vorbis"'),t.nativeWebmVP9Playback=e.supportNativeMediaPlayback('video/webm; codecs="vp9"'),t}}]),e}();n.default=u},{"../config.js":5,"../io/io-controller.js":23}],7:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=function(){function e(){i(this,e),this.mimeType=null,this.duration=null,this.hasAudio=null,this.hasVideo=null,this.audioCodec=null,this.videoCodec=null,this.audioDataRate=null,this.videoDataRate=null,this.audioSampleRate=null,this.audioChannelCount=null,this.width=null,this.height=null,this.fps=null,this.profile=null,this.level=null,this.refFrames=null,this.chromaFormat=null,this.sarNum=null,this.sarDen=null,this.metadata=null,this.segments=null,this.segmentCount=null,this.hasKeyframesIndex=null,this.keyframesIndex=null}return r(e,[{key:"isComplete",value:function value(){var e=!1===this.hasAudio||!0===this.hasAudio&&null!=this.audioCodec&&null!=this.audioSampleRate&&null!=this.audioChannelCount,t=!1===this.hasVideo||!0===this.hasVideo&&null!=this.videoCodec&&null!=this.width&&null!=this.height&&null!=this.fps&&null!=this.profile&&null!=this.level&&null!=this.refFrames&&null!=this.chromaFormat&&null!=this.sarNum&&null!=this.sarDen;return null!=this.mimeType&&null!=this.duration&&null!=this.metadata&&null!=this.hasKeyframesIndex&&e&&t}},{key:"isSeekable",value:function value(){return!0===this.hasKeyframesIndex}},{key:"getNearestKeyframe",value:function value(e){if(null==this.keyframesIndex)return null;var t=this.keyframesIndex,n=this._search(t.times,e);return{index:n,milliseconds:t.times[n],fileposition:t.filepositions[n]}}},{key:"_search",value:function value(e,t){var n=0,i=e.length-1,r=0,s=0,a=i;for(t<e[0]&&(n=0,s=a+1);s<=a;){if((r=s+Math.floor((a-s)/2))===i||t>=e[r]&&t<e[r+1]){n=r;break}e[r]<t?s=r+1:a=r-1}return n}}]),e}();n.default=s},{}],8:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();n.SampleInfo=function e(t,n,r,s,a){i(this,e),this.dts=t,this.pts=n,this.duration=r,this.originalDts=s,this.isSyncPoint=a,this.fileposition=null},n.MediaSegmentInfo=function(){function e(){i(this,e),this.beginDts=0,this.endDts=0,this.beginPts=0,this.endPts=0,this.originalBeginDts=0,this.originalEndDts=0,this.syncPoints=[],this.firstSample=null,this.lastSample=null}return r(e,[{key:"appendSyncPoint",value:function value(e){e.isSyncPoint=!0,this.syncPoints.push(e)}}]),e}(),n.IDRSampleList=function(){function e(){i(this,e),this._list=[]}return r(e,[{key:"clear",value:function value(){this._list=[]}},{key:"appendArray",value:function value(e){var t=this._list;0!==e.length&&(t.length>0&&e[0].originalDts<t[t.length-1].originalDts&&this.clear(),Array.prototype.push.apply(t,e))}},{key:"getLastSyncPointBeforeDts",value:function value(e){if(0==this._list.length)return null;var t=this._list,n=0,i=t.length-1,r=0,s=0,a=i;for(e<t[0].dts&&(n=0,s=a+1);s<=a;){if((r=s+Math.floor((a-s)/2))===i||e>=t[r].dts&&e<t[r+1].dts){n=r;break}t[r].dts<e?s=r+1:a=r-1}return this._list[n]}}]),e}(),n.MediaSegmentInfoList=function(){function e(t){i(this,e),this._type=t,this._list=[],this._lastAppendLocation=-1}return r(e,[{key:"isEmpty",value:function value(){return 0===this._list.length}},{key:"clear",value:function value(){this._list=[],this._lastAppendLocation=-1}},{key:"_searchNearestSegmentBefore",value:function value(e){var t=this._list;if(0===t.length)return-2;var n=t.length-1,i=0,r=0,s=n,a=0;if(e<t[0].originalBeginDts)return a=-1;for(;r<=s;){if((i=r+Math.floor((s-r)/2))===n||e>t[i].lastSample.originalDts&&e<t[i+1].originalBeginDts){a=i;break}t[i].originalBeginDts<e?r=i+1:s=i-1}return a}},{key:"_searchNearestSegmentAfter",value:function value(e){return this._searchNearestSegmentBefore(e)+1}},{key:"append",value:function value(e){var t=this._list,n=e,i=this._lastAppendLocation,r=0;-1!==i&&i<t.length&&n.originalBeginDts>=t[i].lastSample.originalDts&&(i===t.length-1||i<t.length-1&&n.originalBeginDts<t[i+1].originalBeginDts)?r=i+1:t.length>0&&(r=this._searchNearestSegmentBefore(n.originalBeginDts)+1),this._lastAppendLocation=r,this._list.splice(r,0,n)}},{key:"getLastSegmentBefore",value:function value(e){var t=this._searchNearestSegmentBefore(e);return t>=0?this._list[t]:null}},{key:"getLastSampleBefore",value:function value(e){var t=this.getLastSegmentBefore(e);return null!=t?t.lastSample:null}},{key:"getLastSyncPointBefore",value:function value(e){for(var t=this._searchNearestSegmentBefore(e),n=this._list[t].syncPoints;0===n.length&&t>0;){t--,n=this._list[t].syncPoints}return n.length>0?n[n.length-1]:null}},{key:"type",get:function get(){return this._type}},{key:"length",get:function get(){return this._list.length}}]),e}()},{}],9:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=e("events"),o=i(a),u=e("../utils/logger.js"),l=i(u),d=e("../utils/browser.js"),h=i(d),f=e("./mse-events.js"),c=i(f),_=e("./media-segment-info.js"),m=e("../utils/exception.js"),p=function(){function e(t){r(this,e),this.TAG="MSEController",this._config=t,this._emitter=new o.default,this._config.isLive&&void 0==this._config.autoCleanupSourceBuffer&&(this._config.autoCleanupSourceBuffer=!0),this.e={onSourceOpen:this._onSourceOpen.bind(this),onSourceEnded:this._onSourceEnded.bind(this),onSourceClose:this._onSourceClose.bind(this),onSourceBufferError:this._onSourceBufferError.bind(this),onSourceBufferUpdateEnd:this._onSourceBufferUpdateEnd.bind(this)},this._mediaSource=null,this._mediaSourceObjectURL=null,this._mediaElement=null,this._isBufferFull=!1,this._hasPendingEos=!1,this._requireSetMediaDuration=!1,this._pendingMediaDuration=0,this._pendingSourceBufferInit=[],this._mimeTypes={video:null,audio:null},this._sourceBuffers={video:null,audio:null},this._lastInitSegments={video:null,audio:null},this._pendingSegments={video:[],audio:[]},this._pendingRemoveRanges={video:[],audio:[]},this._idrList=new _.IDRSampleList}return s(e,[{key:"destroy",value:function value(){(this._mediaElement||this._mediaSource)&&this.detachMediaElement(),this.e=null,this._emitter.removeAllListeners(),this._emitter=null}},{key:"on",value:function value(e,t){this._emitter.addListener(e,t)}},{key:"off",value:function value(e,t){this._emitter.removeListener(e,t)}},{key:"attachMediaElement",value:function value(e){if(this._mediaSource)throw new m.IllegalStateException("MediaSource has been attached to an HTMLMediaElement!");var t=this._mediaSource=new window.MediaSource;t.addEventListener("sourceopen",this.e.onSourceOpen),t.addEventListener("sourceended",this.e.onSourceEnded),t.addEventListener("sourceclose",this.e.onSourceClose),this._mediaElement=e,this._mediaSourceObjectURL=window.URL.createObjectURL(this._mediaSource),e.src=this._mediaSourceObjectURL}},{key:"detachMediaElement",value:function value(){if(this._mediaSource){var e=this._mediaSource;for(var t in this._sourceBuffers){var n=this._pendingSegments[t];n.splice(0,n.length),this._pendingSegments[t]=null,this._pendingRemoveRanges[t]=null,this._lastInitSegments[t]=null;var i=this._sourceBuffers[t];if(i){if("closed"!==e.readyState){try{e.removeSourceBuffer(i)}catch(e){l.default.e(this.TAG,e.message)}i.removeEventListener("error",this.e.onSourceBufferError),i.removeEventListener("updateend",this.e.onSourceBufferUpdateEnd)}this._mimeTypes[t]=null,this._sourceBuffers[t]=null}}if("open"===e.readyState)try{e.endOfStream()}catch(e){l.default.e(this.TAG,e.message)}e.removeEventListener("sourceopen",this.e.onSourceOpen),e.removeEventListener("sourceended",this.e.onSourceEnded),e.removeEventListener("sourceclose",this.e.onSourceClose),this._pendingSourceBufferInit=[],this._isBufferFull=!1,this._idrList.clear(),this._mediaSource=null}this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src"),this._mediaElement=null),this._mediaSourceObjectURL&&(window.URL.revokeObjectURL(this._mediaSourceObjectURL),this._mediaSourceObjectURL=null)}},{key:"appendInitSegment",value:function value(e,t){if(!this._mediaSource||"open"!==this._mediaSource.readyState)return this._pendingSourceBufferInit.push(e),void this._pendingSegments[e.type].push(e);var n=e,i=""+n.container;n.codec&&n.codec.length>0&&(i+=";codecs="+n.codec);var r=!1;if(l.default.v(this.TAG,"Received Initialization Segment, mimeType: "+i),this._lastInitSegments[n.type]=n,i!==this._mimeTypes[n.type]){if(this._mimeTypes[n.type])l.default.v(this.TAG,"Notice: "+n.type+" mimeType changed, origin: "+this._mimeTypes[n.type]+", target: "+i);else{r=!0;try{var s=this._sourceBuffers[n.type]=this._mediaSource.addSourceBuffer(i);s.addEventListener("error",this.e.onSourceBufferError),s.addEventListener("updateend",this.e.onSourceBufferUpdateEnd)}catch(e){return l.default.e(this.TAG,e.message),void this._emitter.emit(c.default.ERROR,{code:e.code,msg:e.message})}}this._mimeTypes[n.type]=i}t||this._pendingSegments[n.type].push(n),r||this._sourceBuffers[n.type]&&!this._sourceBuffers[n.type].updating&&this._doAppendSegments(),h.default.safari&&"audio/mpeg"===n.container&&n.mediaDuration>0&&(this._requireSetMediaDuration=!0,this._pendingMediaDuration=n.mediaDuration/1e3,this._updateMediaSourceDuration())}},{key:"appendMediaSegment",value:function value(e){var t=e;this._pendingSegments[t.type].push(t),this._config.autoCleanupSourceBuffer&&this._needCleanupSourceBuffer()&&this._doCleanupSourceBuffer();var n=this._sourceBuffers[t.type];!n||n.updating||this._hasPendingRemoveRanges()||this._doAppendSegments()}},{key:"seek",value:function value(e){for(var t in this._sourceBuffers){if(this._sourceBuffers[t]){var n=this._sourceBuffers[t];if("open"===this._mediaSource.readyState)try{n.abort()}catch(e){l.default.e(this.TAG,e.message)}this._idrList.clear();var i=this._pendingSegments[t];if(i.splice(0,i.length),"closed"!==this._mediaSource.readyState){for(var r=0;r<n.buffered.length;r++){var s=n.buffered.start(r),a=n.buffered.end(r);this._pendingRemoveRanges[t].push({start:s,end:a})}if(n.updating||this._doRemoveRanges(),h.default.safari){var o=this._lastInitSegments[t];o&&(this._pendingSegments[t].push(o),n.updating||this._doAppendSegments())}}}}}},{key:"endOfStream",value:function value(){var e=this._mediaSource,t=this._sourceBuffers;if(!e||"open"!==e.readyState)return void(e&&"closed"===e.readyState&&this._hasPendingSegments()&&(this._hasPendingEos=!0));t.video&&t.video.updating||t.audio&&t.audio.updating?this._hasPendingEos=!0:(this._hasPendingEos=!1,e.endOfStream())}},{key:"getNearestKeyframe",value:function value(e){return this._idrList.getLastSyncPointBeforeDts(e)}},{key:"_needCleanupSourceBuffer",value:function value(){if(!this._config.autoCleanupSourceBuffer)return!1;var e=this._mediaElement.currentTime;for(var t in this._sourceBuffers){var n=this._sourceBuffers[t];if(n){var i=n.buffered;if(i.length>=1&&e-i.start(0)>=this._config.autoCleanupMaxBackwardDuration)return!0}}return!1}},{key:"_doCleanupSourceBuffer",value:function value(){var e=this._mediaElement.currentTime;for(var t in this._sourceBuffers){var n=this._sourceBuffers[t];if(n){for(var i=n.buffered,r=!1,s=0;s<i.length;s++){var a=i.start(s),o=i.end(s);if(a<=e&&e<o+3){if(e-a>=this._config.autoCleanupMaxBackwardDuration){r=!0;var u=e-this._config.autoCleanupMinBackwardDuration;this._pendingRemoveRanges[t].push({start:a,end:u})}}else o<e&&(r=!0,this._pendingRemoveRanges[t].push({start:a,end:o}))}r&&!n.updating&&this._doRemoveRanges()}}}},{key:"_updateMediaSourceDuration",value:function value(){var e=this._sourceBuffers;if(0!==this._mediaElement.readyState&&"open"===this._mediaSource.readyState&&!(e.video&&e.video.updating||e.audio&&e.audio.updating)){var t=this._mediaSource.duration,n=this._pendingMediaDuration;n>0&&(isNaN(t)||n>t)&&(l.default.v(this.TAG,"Update MediaSource duration from "+t+" to "+n),this._mediaSource.duration=n),this._requireSetMediaDuration=!1,this._pendingMediaDuration=0}}},{key:"_doRemoveRanges",value:function value(){for(var e in this._pendingRemoveRanges){if(this._sourceBuffers[e]&&!this._sourceBuffers[e].updating)for(var t=this._sourceBuffers[e],n=this._pendingRemoveRanges[e];n.length&&!t.updating;){var i=n.shift();t.remove(i.start,i.end)}}}},{key:"_doAppendSegments",value:function value(){var e=this._pendingSegments;for(var t in e){if(this._sourceBuffers[t]&&!this._sourceBuffers[t].updating&&e[t].length>0){var n=e[t].shift();if(n.timestampOffset){var i=this._sourceBuffers[t].timestampOffset,r=n.timestampOffset/1e3,s=Math.abs(i-r);s>.1&&(l.default.v(this.TAG,"Update MPEG audio timestampOffset from "+i+" to "+r),this._sourceBuffers[t].timestampOffset=r),delete n.timestampOffset}if(!n.data||0===n.data.byteLength)continue;try{this._sourceBuffers[t].appendBuffer(n.data),this._isBufferFull=!1,"video"===t&&n.hasOwnProperty("info")&&this._idrList.appendArray(n.info.syncPoints)}catch(e){this._pendingSegments[t].unshift(n),22===e.code?(this._isBufferFull||this._emitter.emit(c.default.BUFFER_FULL),this._isBufferFull=!0):(l.default.e(this.TAG,e.message),this._emitter.emit(c.default.ERROR,{code:e.code,msg:e.message}))}}}}},{key:"_onSourceOpen",value:function value(){if(l.default.v(this.TAG,"MediaSource onSourceOpen"),this._mediaSource.removeEventListener("sourceopen",this.e.onSourceOpen),this._pendingSourceBufferInit.length>0)for(var e=this._pendingSourceBufferInit;e.length;){var t=e.shift();this.appendInitSegment(t,!0)}this._hasPendingSegments()&&this._doAppendSegments(),this._emitter.emit(c.default.SOURCE_OPEN)}},{key:"_onSourceEnded",value:function value(){l.default.v(this.TAG,"MediaSource onSourceEnded")}},{key:"_onSourceClose",value:function value(){l.default.v(this.TAG,"MediaSource onSourceClose"),this._mediaSource&&null!=this.e&&(this._mediaSource.removeEventListener("sourceopen",this.e.onSourceOpen),this._mediaSource.removeEventListener("sourceended",this.e.onSourceEnded),this._mediaSource.removeEventListener("sourceclose",this.e.onSourceClose))}},{key:"_hasPendingSegments",value:function value(){var e=this._pendingSegments;return e.video.length>0||e.audio.length>0}},{key:"_hasPendingRemoveRanges",value:function value(){var e=this._pendingRemoveRanges;return e.video.length>0||e.audio.length>0}},{key:"_onSourceBufferUpdateEnd",value:function value(){this._requireSetMediaDuration?this._updateMediaSourceDuration():this._hasPendingRemoveRanges()?this._doRemoveRanges():this._hasPendingSegments()?this._doAppendSegments():this._hasPendingEos&&this.endOfStream(),this._emitter.emit(c.default.UPDATE_END)}},{key:"_onSourceBufferError",value:function value(e){l.default.e(this.TAG,"SourceBuffer Error: "+e)}}]),e}();n.default=p},{"../utils/browser.js":40,"../utils/exception.js":41,"../utils/logger.js":42,"./media-segment-info.js":8,"./mse-events.js":10,events:2}],10:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i={ERROR:"error",SOURCE_OPEN:"source_open",UPDATE_END:"update_end",BUFFER_FULL:"buffer_full"};n.default=i},{}],11:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=e("events"),o=i(a),u=e("../utils/logger.js"),l=i(u),d=e("../utils/logging-control.js"),h=i(d),f=e("./transmuxing-controller.js"),c=i(f),_=e("./transmuxing-events.js"),m=i(_),p=e("./transmuxing-worker.js"),v=i(p),g=e("./media-info.js"),y=i(g),b=function(){function t(n,i){if(r(this,t),this.TAG="Transmuxer",this._emitter=new o.default,i.enableWorker&&"undefined"!=typeof Worker)try{var s=e("webworkify");this._worker=s(v.default),this._workerDestroying=!1,this._worker.addEventListener("message",this._onWorkerMessage.bind(this)),this._worker.postMessage({cmd:"init",param:[n,i]}),this.e={onLoggingConfigChanged:this._onLoggingConfigChanged.bind(this)},h.default.registerListener(this.e.onLoggingConfigChanged),this._worker.postMessage({cmd:"logging_config",param:h.default.getConfig()})}catch(e){l.default.e(this.TAG,"Error while initialize transmuxing worker, fallback to inline transmuxing"),this._worker=null,this._controller=new c.default(n,i)}else this._controller=new c.default(n,i);if(this._controller){var a=this._controller;a.on(m.default.IO_ERROR,this._onIOError.bind(this)),a.on(m.default.DEMUX_ERROR,this._onDemuxError.bind(this)),a.on(m.default.INIT_SEGMENT,this._onInitSegment.bind(this)),a.on(m.default.MEDIA_SEGMENT,this._onMediaSegment.bind(this)),a.on(m.default.LOADING_COMPLETE,this._onLoadingComplete.bind(this)),a.on(m.default.RECOVERED_EARLY_EOF,this._onRecoveredEarlyEof.bind(this)),a.on(m.default.MEDIA_INFO,this._onMediaInfo.bind(this)),a.on(m.default.METADATA_ARRIVED,this._onMetaDataArrived.bind(this)),a.on(m.default.SCRIPTDATA_ARRIVED,this._onScriptDataArrived.bind(this)),a.on(m.default.STATISTICS_INFO,this._onStatisticsInfo.bind(this)),a.on(m.default.RECOMMEND_SEEKPOINT,this._onRecommendSeekpoint.bind(this))}}return s(t,[{key:"destroy",value:function value(){this._worker?this._workerDestroying||(this._workerDestroying=!0,this._worker.postMessage({cmd:"destroy"}),h.default.removeListener(this.e.onLoggingConfigChanged),this.e=null):(this._controller.destroy(),this._controller=null),this._emitter.removeAllListeners(),this._emitter=null}},{key:"on",value:function value(e,t){this._emitter.addListener(e,t)}},{key:"off",value:function value(e,t){this._emitter.removeListener(e,t)}},{key:"hasWorker",value:function value(){return null!=this._worker}},{key:"open",value:function value(){this._worker?this._worker.postMessage({cmd:"start"}):this._controller.start()}},{key:"close",value:function value(){this._worker?this._worker.postMessage({cmd:"stop"}):this._controller.stop()}},{key:"seek",value:function value(e){this._worker?this._worker.postMessage({cmd:"seek",param:e}):this._controller.seek(e)}},{key:"pause",value:function value(){this._worker?this._worker.postMessage({cmd:"pause"}):this._controller.pause()}},{key:"resume",value:function value(){this._worker?this._worker.postMessage({cmd:"resume"}):this._controller.resume()}},{key:"_onInitSegment",value:function value(e,t){var n=this;Promise.resolve().then(function(){n._emitter.emit(m.default.INIT_SEGMENT,e,t)})}},{key:"_onMediaSegment",value:function value(e,t){var n=this;Promise.resolve().then(function(){n._emitter.emit(m.default.MEDIA_SEGMENT,e,t)})}},{key:"_onLoadingComplete",value:function value(){var e=this;Promise.resolve().then(function(){e._emitter.emit(m.default.LOADING_COMPLETE)})}},{key:"_onRecoveredEarlyEof",value:function value(){var e=this;Promise.resolve().then(function(){e._emitter.emit(m.default.RECOVERED_EARLY_EOF)})}},{key:"_onMediaInfo",value:function value(e){var t=this;Promise.resolve().then(function(){t._emitter.emit(m.default.MEDIA_INFO,e)})}},{key:"_onMetaDataArrived",value:function value(e){var t=this;Promise.resolve().then(function(){t._emitter.emit(m.default.METADATA_ARRIVED,e)})}},{key:"_onScriptDataArrived",value:function value(e){var t=this;Promise.resolve().then(function(){t._emitter.emit(m.default.SCRIPTDATA_ARRIVED,e)})}},{key:"_onStatisticsInfo",value:function value(e){var t=this;Promise.resolve().then(function(){t._emitter.emit(m.default.STATISTICS_INFO,e)})}},{key:"_onIOError",value:function value(e,t){var n=this;Promise.resolve().then(function(){n._emitter.emit(m.default.IO_ERROR,e,t)})}},{key:"_onDemuxError",value:function value(e,t){var n=this;Promise.resolve().then(function(){n._emitter.emit(m.default.DEMUX_ERROR,e,t)})}},{key:"_onRecommendSeekpoint",value:function value(e){var t=this;Promise.resolve().then(function(){t._emitter.emit(m.default.RECOMMEND_SEEKPOINT,e)})}},{key:"_onLoggingConfigChanged",value:function value(e){this._worker&&this._worker.postMessage({cmd:"logging_config",param:e})}},{key:"_onWorkerMessage",value:function value(e){var t=e.data,n=t.data;if("destroyed"===t.msg||this._workerDestroying)return this._workerDestroying=!1,this._worker.terminate(),void(this._worker=null);switch(t.msg){case m.default.INIT_SEGMENT:case m.default.MEDIA_SEGMENT:this._emitter.emit(t.msg,n.type,n.data);break;case m.default.LOADING_COMPLETE:case m.default.RECOVERED_EARLY_EOF:this._emitter.emit(t.msg);break;case m.default.MEDIA_INFO:Object.setPrototypeOf(n,y.default.prototype),this._emitter.emit(t.msg,n);break;case m.default.METADATA_ARRIVED:case m.default.SCRIPTDATA_ARRIVED:case m.default.STATISTICS_INFO:this._emitter.emit(t.msg,n);break;case m.default.IO_ERROR:case m.default.DEMUX_ERROR:this._emitter.emit(t.msg,n.type,n.info);break;case m.default.RECOMMEND_SEEKPOINT:this._emitter.emit(t.msg,n);break;case"logcat_callback":l.default.emitter.emit("log",n.type,n.logcat)}}}]),t}();n.default=b},{"../utils/logger.js":42,"../utils/logging-control.js":43,"./media-info.js":7,"./transmuxing-controller.js":12,"./transmuxing-events.js":13,"./transmuxing-worker.js":14,events:2,webworkify:4}],12:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=e("events"),o=i(a),u=e("../utils/logger.js"),l=i(u),d=e("../utils/browser.js"),h=i(d),f=e("./media-info.js"),c=i(f),_=e("../demux/flv-demuxer.js"),m=i(_),p=e("../remux/mp4-remuxer.js"),v=i(p),g=e("../demux/demux-errors.js"),y=i(g),b=e("../io/io-controller.js"),E=i(b),S=e("./transmuxing-events.js"),k=i(S),L=(e("../io/loader.js"),function(){function e(t,n){r(this,e),this.TAG="TransmuxingController",this._emitter=new o.default,this._config=n,t.segments||(t.segments=[{duration:t.duration,filesize:t.filesize,url:t.url}]),"boolean"!=typeof t.cors&&(t.cors=!0),"boolean"!=typeof t.withCredentials&&(t.withCredentials=!1),this._mediaDataSource=t,this._currentSegmentIndex=0;var i=0;this._mediaDataSource.segments.forEach(function(e){e.timestampBase=i,i+=e.duration,e.cors=t.cors,e.withCredentials=t.withCredentials,n.referrerPolicy&&(e.referrerPolicy=n.referrerPolicy)}),isNaN(i)||this._mediaDataSource.duration===i||(this._mediaDataSource.duration=i),this._mediaInfo=null,this._demuxer=null,this._remuxer=null,this._ioctl=null,this._pendingSeekTime=null,this._pendingResolveSeekPoint=null,this._statisticsReporter=null}return s(e,[{key:"destroy",value:function value(){this._mediaInfo=null,this._mediaDataSource=null,this._statisticsReporter&&this._disableStatisticsReporter(),this._ioctl&&(this._ioctl.destroy(),this._ioctl=null),this._demuxer&&(this._demuxer.destroy(),this._demuxer=null),this._remuxer&&(this._remuxer.destroy(),this._remuxer=null),this._emitter.removeAllListeners(),this._emitter=null}},{key:"on",value:function value(e,t){this._emitter.addListener(e,t)}},{key:"off",value:function value(e,t){this._emitter.removeListener(e,t)}},{key:"start",value:function value(){this._loadSegment(0),this._enableStatisticsReporter()}},{key:"_loadSegment",value:function value(e,t){this._currentSegmentIndex=e;var n=this._mediaDataSource.segments[e],i=this._ioctl=new E.default(n,this._config,e);i.onError=this._onIOException.bind(this),i.onSeeked=this._onIOSeeked.bind(this),i.onComplete=this._onIOComplete.bind(this),i.onRedirect=this._onIORedirect.bind(this),i.onRecoveredEarlyEof=this._onIORecoveredEarlyEof.bind(this),t?this._demuxer.bindDataSource(this._ioctl):i.onDataArrival=this._onInitChunkArrival.bind(this),i.open(t)}},{key:"stop",value:function value(){this._internalAbort(),this._disableStatisticsReporter()}},{key:"_internalAbort",value:function value(){this._ioctl&&(this._ioctl.destroy(),this._ioctl=null)}},{key:"pause",value:function value(){this._ioctl&&this._ioctl.isWorking()&&(this._ioctl.pause(),this._disableStatisticsReporter())}},{key:"resume",value:function value(){this._ioctl&&this._ioctl.isPaused()&&(this._ioctl.resume(),this._enableStatisticsReporter())}},{key:"seek",value:function value(e){if(null!=this._mediaInfo&&this._mediaInfo.isSeekable()){var t=this._searchSegmentIndexContains(e);if(t===this._currentSegmentIndex){var n=this._mediaInfo.segments[t];if(void 0==n)this._pendingSeekTime=e;else{var i=n.getNearestKeyframe(e);this._remuxer.seek(i.milliseconds),this._ioctl.seek(i.fileposition),this._pendingResolveSeekPoint=i.milliseconds}}else{var r=this._mediaInfo.segments[t];if(void 0==r)this._pendingSeekTime=e,this._internalAbort(),this._remuxer.seek(),this._remuxer.insertDiscontinuity(),this._loadSegment(t);else{var s=r.getNearestKeyframe(e);this._internalAbort(),this._remuxer.seek(e),this._remuxer.insertDiscontinuity(),this._demuxer.resetMediaInfo(),this._demuxer.timestampBase=this._mediaDataSource.segments[t].timestampBase,this._loadSegment(t,s.fileposition),this._pendingResolveSeekPoint=s.milliseconds,this._reportSegmentMediaInfo(t)}}this._enableStatisticsReporter()}}},{key:"_searchSegmentIndexContains",value:function value(e){for(var t=this._mediaDataSource.segments,n=t.length-1,i=0;i<t.length;i++){if(e<t[i].timestampBase){n=i-1;break}}return n}},{key:"_onInitChunkArrival",value:function value(e,t){var n=this,i=null,r=0;if(t>0)this._demuxer.bindDataSource(this._ioctl),this._demuxer.timestampBase=this._mediaDataSource.segments[this._currentSegmentIndex].timestampBase,r=this._demuxer.parseChunks(e,t);else if((i=m.default.probe(e)).match){this._demuxer=new m.default(i,this._config),this._remuxer||(this._remuxer=new v.default(this._config));var s=this._mediaDataSource;void 0==s.duration||isNaN(s.duration)||(this._demuxer.overridedDuration=s.duration),"boolean"==typeof s.hasAudio&&(this._demuxer.overridedHasAudio=s.hasAudio),"boolean"==typeof s.hasVideo&&(this._demuxer.overridedHasVideo=s.hasVideo),this._demuxer.timestampBase=s.segments[this._currentSegmentIndex].timestampBase,this._demuxer.onError=this._onDemuxException.bind(this),this._demuxer.onMediaInfo=this._onMediaInfo.bind(this),this._demuxer.onMetaDataArrived=this._onMetaDataArrived.bind(this),this._demuxer.onScriptDataArrived=this._onScriptDataArrived.bind(this),this._remuxer.bindDataSource(this._demuxer.bindDataSource(this._ioctl)),this._remuxer.onInitSegment=this._onRemuxerInitSegmentArrival.bind(this),this._remuxer.onMediaSegment=this._onRemuxerMediaSegmentArrival.bind(this),r=this._demuxer.parseChunks(e,t)}else i=null,l.default.e(this.TAG,"Non-FLV, Unsupported media type!"),Promise.resolve().then(function(){n._internalAbort()}),this._emitter.emit(k.default.DEMUX_ERROR,y.default.FORMAT_UNSUPPORTED,"Non-FLV, Unsupported media type"),r=0;return r}},{key:"_onMediaInfo",value:function value(e){var t=this;null==this._mediaInfo&&(this._mediaInfo=Object.assign({},e),this._mediaInfo.keyframesIndex=null,this._mediaInfo.segments=[],this._mediaInfo.segmentCount=this._mediaDataSource.segments.length,Object.setPrototypeOf(this._mediaInfo,c.default.prototype));var n=Object.assign({},e);Object.setPrototypeOf(n,c.default.prototype),this._mediaInfo.segments[this._currentSegmentIndex]=n,this._reportSegmentMediaInfo(this._currentSegmentIndex),null!=this._pendingSeekTime&&Promise.resolve().then(function(){var e=t._pendingSeekTime;t._pendingSeekTime=null,t.seek(e)})}},{key:"_onMetaDataArrived",value:function value(e){this._emitter.emit(k.default.METADATA_ARRIVED,e)}},{key:"_onScriptDataArrived",value:function value(e){this._emitter.emit(k.default.SCRIPTDATA_ARRIVED,e)}},{key:"_onIOSeeked",value:function value(){this._remuxer.insertDiscontinuity()}},{key:"_onIOComplete",value:function value(e){var t=e,n=t+1;n<this._mediaDataSource.segments.length?(this._internalAbort(),this._remuxer.flushStashedSamples(),this._loadSegment(n)):(this._remuxer.flushStashedSamples(),this._emitter.emit(k.default.LOADING_COMPLETE),this._disableStatisticsReporter())}},{key:"_onIORedirect",value:function value(e){var t=this._ioctl.extraData;this._mediaDataSource.segments[t].redirectedURL=e}},{key:"_onIORecoveredEarlyEof",value:function value(){this._emitter.emit(k.default.RECOVERED_EARLY_EOF)}},{key:"_onIOException",value:function value(e,t){l.default.e(this.TAG,"IOException: type = "+e+", code = "+t.code+", msg = "+t.msg),this._emitter.emit(k.default.IO_ERROR,e,t),this._disableStatisticsReporter()}},{key:"_onDemuxException",value:function value(e,t){l.default.e(this.TAG,"DemuxException: type = "+e+", info = "+t),this._emitter.emit(k.default.DEMUX_ERROR,e,t)}},{key:"_onRemuxerInitSegmentArrival",value:function value(e,t){this._emitter.emit(k.default.INIT_SEGMENT,e,t)}},{key:"_onRemuxerMediaSegmentArrival",value:function value(e,t){if(null==this._pendingSeekTime&&(this._emitter.emit(k.default.MEDIA_SEGMENT,e,t),null!=this._pendingResolveSeekPoint&&"video"===e)){var n=t.info.syncPoints,i=this._pendingResolveSeekPoint;this._pendingResolveSeekPoint=null,h.default.safari&&n.length>0&&n[0].originalDts===i&&(i=n[0].pts),this._emitter.emit(k.default.RECOMMEND_SEEKPOINT,i)}}},{key:"_enableStatisticsReporter",value:function value(){null==this._statisticsReporter&&(this._statisticsReporter=self.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval))}},{key:"_disableStatisticsReporter",value:function value(){this._statisticsReporter&&(self.clearInterval(this._statisticsReporter),this._statisticsReporter=null)}},{key:"_reportSegmentMediaInfo",value:function value(e){var t=this._mediaInfo.segments[e],n=Object.assign({},t);n.duration=this._mediaInfo.duration,n.segmentCount=this._mediaInfo.segmentCount,delete n.segments,delete n.keyframesIndex,this._emitter.emit(k.default.MEDIA_INFO,n)}},{key:"_reportStatisticsInfo",value:function value(){var e={};e.url=this._ioctl.currentURL,e.hasRedirect=this._ioctl.hasRedirect,e.hasRedirect&&(e.redirectedURL=this._ioctl.currentRedirectedURL),e.speed=this._ioctl.currentSpeed,e.loaderType=this._ioctl.loaderType,e.currentSegmentIndex=this._currentSegmentIndex,e.totalSegmentCount=this._mediaDataSource.segments.length,this._emitter.emit(k.default.STATISTICS_INFO,e)}}]),e}());n.default=L},{"../demux/demux-errors.js":16,"../demux/flv-demuxer.js":18,"../io/io-controller.js":23,"../io/loader.js":24,"../remux/mp4-remuxer.js":39,"../utils/browser.js":40,"../utils/logger.js":42,"./media-info.js":7,"./transmuxing-events.js":13,events:2}],13:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i={IO_ERROR:"io_error",DEMUX_ERROR:"demux_error",INIT_SEGMENT:"init_segment",MEDIA_SEGMENT:"media_segment",LOADING_COMPLETE:"loading_complete",RECOVERED_EARLY_EOF:"recovered_early_eof",MEDIA_INFO:"media_info",METADATA_ARRIVED:"metadata_arrived",SCRIPTDATA_ARRIVED:"scriptdata_arrived",STATISTICS_INFO:"statistics_info",RECOMMEND_SEEKPOINT:"recommend_seekpoint"};n.default=i},{}],14:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"__esModule",{value:!0});var r=e("../utils/logger.js"),s=(i(r),e("../utils/logging-control.js")),a=i(s),o=e("../utils/polyfill.js"),u=i(o),l=e("./transmuxing-controller.js"),d=i(l),h=e("./transmuxing-events.js"),f=i(h),c=function c(e){function t(t,n){var i={msg:f.default.INIT_SEGMENT,data:{type:t,data:n}};e.postMessage(i,[n.data])}function n(t,n){var i={msg:f.default.MEDIA_SEGMENT,data:{type:t,data:n}};e.postMessage(i,[n.data])}function i(){var t={msg:f.default.LOADING_COMPLETE};e.postMessage(t)}function r(){var t={msg:f.default.RECOVERED_EARLY_EOF};e.postMessage(t)}function s(t){var n={msg:f.default.MEDIA_INFO,data:t};e.postMessage(n)}function o(t){var n={msg:f.default.METADATA_ARRIVED,data:t};e.postMessage(n)}function l(t){var n={msg:f.default.SCRIPTDATA_ARRIVED,data:t};e.postMessage(n)}function h(t){var n={msg:f.default.STATISTICS_INFO,data:t};e.postMessage(n)}function c(t,n){e.postMessage({msg:f.default.IO_ERROR,data:{type:t,info:n}})}function _(t,n){e.postMessage({msg:f.default.DEMUX_ERROR,data:{type:t,info:n}})}function m(t){e.postMessage({msg:f.default.RECOMMEND_SEEKPOINT,data:t})}function p(t,n){e.postMessage({msg:"logcat_callback",data:{type:t,logcat:n}})}var v=null,g=p.bind(this);u.default.install(),e.addEventListener("message",function(u){switch(u.data.cmd){case"init":v=new d.default(u.data.param[0],u.data.param[1]),v.on(f.default.IO_ERROR,c.bind(this)),v.on(f.default.DEMUX_ERROR,_.bind(this)),v.on(f.default.INIT_SEGMENT,t.bind(this)),v.on(f.default.MEDIA_SEGMENT,n.bind(this)),v.on(f.default.LOADING_COMPLETE,i.bind(this)),v.on(f.default.RECOVERED_EARLY_EOF,r.bind(this)),v.on(f.default.MEDIA_INFO,s.bind(this)),v.on(f.default.METADATA_ARRIVED,o.bind(this)),v.on(f.default.SCRIPTDATA_ARRIVED,l.bind(this)),v.on(f.default.STATISTICS_INFO,h.bind(this)),v.on(f.default.RECOMMEND_SEEKPOINT,m.bind(this));break;case"destroy":v&&(v.destroy(),v=null),e.postMessage({msg:"destroyed"});break;case"start":v.start();break;case"stop":v.stop();break;case"seek":v.seek(u.data.param);break;case"pause":v.pause();break;case"resume":v.resume();break;case"logging_config":var p=u.data.param;a.default.applyConfig(p),!0===p.enableCallback?a.default.addLogListener(g):a.default.removeLogListener(g)}})};n.default=c},{"../utils/logger.js":42,"../utils/logging-control.js":43,"../utils/polyfill.js":44,"./transmuxing-controller.js":12,"./transmuxing-events.js":13}],15:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=e("../utils/logger.js"),o=i(a),u=e("../utils/utf8-conv.js"),l=i(u),d=e("../utils/exception.js"),h=function(){var e=new ArrayBuffer(2);return new DataView(e).setInt16(0,256,!0),256===new Int16Array(e)[0]}(),f=function(){function e(){r(this,e)}return s(e,null,[{key:"parseScriptData",value:function value(t,n,i){var r={};try{var s=e.parseValue(t,n,i),a=e.parseValue(t,n+s.size,i-s.size);r[s.data]=a.data}catch(e){o.default.e("AMF",e.toString())}return r}},{key:"parseObject",value:function value(t,n,i){if(i<3)throw new d.IllegalStateException("Data not enough when parse ScriptDataObject");var r=e.parseString(t,n,i),s=e.parseValue(t,n+r.size,i-r.size),a=s.objectEnd;return{data:{name:r.data,value:s.data},size:r.size+s.size,objectEnd:a}}},{key:"parseVariable",value:function value(t,n,i){return e.parseObject(t,n,i)}},{key:"parseString",value:function value(e,t,n){if(n<2)throw new d.IllegalStateException("Data not enough when parse String");var i=new DataView(e,t,n),r=i.getUint16(0,!h),s=void 0;return s=r>0?(0,l.default)(new Uint8Array(e,t+2,r)):"",{data:s,size:2+r}}},{key:"parseLongString",value:function value(e,t,n){if(n<4)throw new d.IllegalStateException("Data not enough when parse LongString");var i=new DataView(e,t,n),r=i.getUint32(0,!h),s=void 0;return s=r>0?(0,l.default)(new Uint8Array(e,t+4,r)):"",{data:s,size:4+r}}},{key:"parseDate",value:function value(e,t,n){if(n<10)throw new d.IllegalStateException("Data size invalid when parse Date");var i=new DataView(e,t,n),r=i.getFloat64(0,!h);return r+=60*i.getInt16(8,!h)*1e3,{data:new Date(r),size:10}}},{key:"parseValue",value:function value(t,n,i){if(i<1)throw new d.IllegalStateException("Data not enough when parse Value");var r=new DataView(t,n,i),s=1,a=r.getUint8(0),u=void 0,l=!1;try{switch(a){case 0:u=r.getFloat64(1,!h),s+=8;break;case 1:u=!!r.getUint8(1),s+=1;break;case 2:var f=e.parseString(t,n+1,i-1);u=f.data,s+=f.size;break;case 3:u={};var c=0;for(9==(16777215&r.getUint32(i-4,!h))&&(c=3);s<i-4;){var _=e.parseObject(t,n+s,i-s-c);if(_.objectEnd)break;u[_.data.name]=_.data.value,s+=_.size}if(s<=i-3){9===(16777215&r.getUint32(s-1,!h))&&(s+=3)}break;case 8:u={},s+=4;var m=0;for(9==(16777215&r.getUint32(i-4,!h))&&(m=3);s<i-8;){var p=e.parseVariable(t,n+s,i-s-m);if(p.objectEnd)break;u[p.data.name]=p.data.value,s+=p.size}if(s<=i-3){9===(16777215&r.getUint32(s-1,!h))&&(s+=3)}break;case 9:u=void 0,s=1,l=!0;break;case 10:u=[];var v=r.getUint32(1,!h);s+=4;for(var g=0;g<v;g++){var y=e.parseValue(t,n+s,i-s);u.push(y.data),s+=y.size}break;case 11:var b=e.parseDate(t,n+1,i-1);u=b.data,s+=b.size;break;case 12:var E=e.parseString(t,n+1,i-1);u=E.data,s+=E.size;break;default:s=i,o.default.w("AMF","Unsupported AMF value type "+a)}}catch(e){o.default.e("AMF",e.toString())}return{data:u,size:s,objectEnd:l}}}]),e}();n.default=f},{"../utils/exception.js":41,"../utils/logger.js":42,"../utils/utf8-conv.js":45}],16:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i={OK:"OK",FORMAT_ERROR:"FormatError",FORMAT_UNSUPPORTED:"FormatUnsupported",CODEC_UNSUPPORTED:"CodecUnsupported"};n.default=i},{}],17:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=e("../utils/exception.js"),a=function(){function e(t){i(this,e),this.TAG="ExpGolomb",this._buffer=t,this._buffer_index=0,this._total_bytes=t.byteLength,this._total_bits=8*t.byteLength,this._current_word=0,this._current_word_bits_left=0}return r(e,[{key:"destroy",value:function value(){this._buffer=null}},{key:"_fillCurrentWord",value:function value(){var e=this._total_bytes-this._buffer_index;if(e<=0)throw new s.IllegalStateException("ExpGolomb: _fillCurrentWord() but no bytes available");var t=Math.min(4,e),n=new Uint8Array(4);n.set(this._buffer.subarray(this._buffer_index,this._buffer_index+t)),this._current_word=new DataView(n.buffer).getUint32(0,!1),this._buffer_index+=t,this._current_word_bits_left=8*t}},{key:"readBits",value:function value(e){if(e>32)throw new s.InvalidArgumentException("ExpGolomb: readBits() bits exceeded max 32bits!");if(e<=this._current_word_bits_left){var t=this._current_word>>>32-e;return this._current_word<<=e,this._current_word_bits_left-=e,t}var n=this._current_word_bits_left?this._current_word:0;n>>>=32-this._current_word_bits_left;var i=e-this._current_word_bits_left;this._fillCurrentWord();var r=Math.min(i,this._current_word_bits_left),a=this._current_word>>>32-r;return this._current_word<<=r,this._current_word_bits_left-=r,n=n<<r|a}},{key:"readBool",value:function value(){return 1===this.readBits(1)}},{key:"readByte",value:function value(){return this.readBits(8)}},{key:"_skipLeadingZero",value:function value(){var e=void 0;for(e=0;e<this._current_word_bits_left;e++){if(0!=(this._current_word&2147483648>>>e))return this._current_word<<=e,this._current_word_bits_left-=e,e}return this._fillCurrentWord(),e+this._skipLeadingZero()}},{key:"readUEG",value:function value(){var e=this._skipLeadingZero();return this.readBits(e+1)-1}},{key:"readSEG",value:function value(){var e=this.readUEG();return 1&e?e+1>>>1:-1*(e>>>1)}}]),e}();n.default=a},{"../utils/exception.js":41}],18:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]}Object.defineProperty(n,"__esModule",{value:!0});var a="function"==typeof Symbol&&"symbol"==_typeof(Symbol.iterator)?function(e){return typeof e==="undefined"?"undefined":_typeof(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e==="undefined"?"undefined":_typeof(e)},o=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),u=e("../utils/logger.js"),l=i(u),d=e("./amf-parser.js"),h=i(d),f=e("./sps-parser.js"),c=i(f),_=e("./demux-errors.js"),m=i(_),p=e("../core/media-info.js"),v=i(p),g=e("../utils/exception.js"),y=function(){function e(t,n){r(this,e),this.TAG="FLVDemuxer",this._config=n,this._onError=null,this._onMediaInfo=null,this._onMetaDataArrived=null,this._onScriptDataArrived=null,this._onTrackMetadata=null,this._onDataAvailable=null,this._dataOffset=t.dataOffset,this._firstParse=!0,this._dispatch=!1,this._hasAudio=t.hasAudioTrack,this._hasVideo=t.hasVideoTrack,this._hasAudioFlagOverrided=!1,this._hasVideoFlagOverrided=!1,this._audioInitialMetadataDispatched=!1,this._videoInitialMetadataDispatched=!1,this._mediaInfo=new v.default,this._mediaInfo.hasAudio=this._hasAudio,this._mediaInfo.hasVideo=this._hasVideo,this._metadata=null,this._audioMetadata=null,this._videoMetadata=null,this._naluLengthSize=4,this._timestampBase=0,this._timescale=1e3,this._duration=0,this._durationOverrided=!1,this._referenceFrameRate={fixed:!0,fps:23.976,fps_num:23976,fps_den:1e3},this._flvSoundRateTable=[5500,11025,22050,44100,48e3],this._mpegSamplingRates=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],this._mpegAudioV10SampleRateTable=[44100,48e3,32e3,0],this._mpegAudioV20SampleRateTable=[22050,24e3,16e3,0],this._mpegAudioV25SampleRateTable=[11025,12e3,8e3,0],this._mpegAudioL1BitRateTable=[0,32,64,96,128,160,192,224,256,288,320,352,384,416,448,-1],this._mpegAudioL2BitRateTable=[0,32,48,56,64,80,96,112,128,160,192,224,256,320,384,-1],this._mpegAudioL3BitRateTable=[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,-1],this._videoTrack={type:"video",id:1,sequenceNumber:0,samples:[],length:0},this._audioTrack={type:"audio",id:2,sequenceNumber:0,samples:[],length:0},this._littleEndian=function(){var e=new ArrayBuffer(2);return new DataView(e).setInt16(0,256,!0),256===new Int16Array(e)[0]}()}return o(e,[{key:"destroy",value:function value(){this._mediaInfo=null,this._metadata=null,this._audioMetadata=null,this._videoMetadata=null,this._videoTrack=null,this._audioTrack=null,this._onError=null,this._onMediaInfo=null,this._onMetaDataArrived=null,this._onScriptDataArrived=null,this._onTrackMetadata=null,this._onDataAvailable=null}},{key:"bindDataSource",value:function value(e){return e.onDataArrival=this.parseChunks.bind(this),this}},{key:"resetMediaInfo",value:function value(){this._mediaInfo=new v.default}},{key:"_isInitialMetadataDispatched",value:function value(){return this._hasAudio&&this._hasVideo?this._audioInitialMetadataDispatched&&this._videoInitialMetadataDispatched:this._hasAudio&&!this._hasVideo?this._audioInitialMetadataDispatched:!(this._hasAudio||!this._hasVideo)&&this._videoInitialMetadataDispatched}},{key:"parseChunks",value:function value(t,n){if(!(this._onError&&this._onMediaInfo&&this._onTrackMetadata&&this._onDataAvailable))throw new g.IllegalStateException("Flv: onError & onMediaInfo & onTrackMetadata & onDataAvailable callback must be specified");var i=0,r=this._littleEndian;if(0===n){if(!(t.byteLength>13))return 0;i=e.probe(t).dataOffset}if(this._firstParse){this._firstParse=!1,n+i!==this._dataOffset&&l.default.w(this.TAG,"First time parsing but chunk byteStart invalid!");0!==new DataView(t,i).getUint32(0,!r)&&l.default.w(this.TAG,"PrevTagSize0 !== 0 !!!"),i+=4}for(;i<t.byteLength;){this._dispatch=!0;var s=new DataView(t,i);if(i+11+4>t.byteLength)break;var a=s.getUint8(0),o=16777215&s.getUint32(0,!r);if(i+11+o+4>t.byteLength)break;if(8===a||9===a||18===a){var u=s.getUint8(4),d=s.getUint8(5),h=s.getUint8(6),f=s.getUint8(7),c=h|d<<8|u<<16|f<<24;0!==(16777215&s.getUint32(7,!r))&&l.default.w(this.TAG,"Meet tag which has StreamID != 0!");var _=i+11;switch(a){case 8:this._parseAudioData(t,_,o,c);break;case 9:this._parseVideoData(t,_,o,c,n+i);break;case 18:this._parseScriptData(t,_,o)}var m=s.getUint32(11+o,!r);m!==11+o&&l.default.w(this.TAG,"Invalid PrevTagSize "+m),i+=11+o+4}else l.default.w(this.TAG,"Unsupported tag type "+a+", skipped"),i+=11+o+4}return this._isInitialMetadataDispatched()&&this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack),i}},{key:"_parseScriptData",value:function value(e,t,n){var i=h.default.parseScriptData(e,t,n);if(i.hasOwnProperty("onMetaData")){if(null==i.onMetaData||"object"!==a(i.onMetaData))return void l.default.w(this.TAG,"Invalid onMetaData structure!");this._metadata&&l.default.w(this.TAG,"Found another onMetaData tag!"),this._metadata=i;var r=this._metadata.onMetaData;if(this._onMetaDataArrived&&this._onMetaDataArrived(Object.assign({},r)),"boolean"==typeof r.hasAudio&&!1===this._hasAudioFlagOverrided&&(this._hasAudio=r.hasAudio,this._mediaInfo.hasAudio=this._hasAudio),"boolean"==typeof r.hasVideo&&!1===this._hasVideoFlagOverrided&&(this._hasVideo=r.hasVideo,this._mediaInfo.hasVideo=this._hasVideo),"number"==typeof r.audiodatarate&&(this._mediaInfo.audioDataRate=r.audiodatarate),"number"==typeof r.videodatarate&&(this._mediaInfo.videoDataRate=r.videodatarate),"number"==typeof r.width&&(this._mediaInfo.width=r.width),"number"==typeof r.height&&(this._mediaInfo.height=r.height),"number"==typeof r.duration){if(!this._durationOverrided){var s=Math.floor(r.duration*this._timescale);this._duration=s,this._mediaInfo.duration=s}}else this._mediaInfo.duration=0;if("number"==typeof r.framerate){var o=Math.floor(1e3*r.framerate);if(o>0){var u=o/1e3;this._referenceFrameRate.fixed=!0,this._referenceFrameRate.fps=u,this._referenceFrameRate.fps_num=o,this._referenceFrameRate.fps_den=1e3,this._mediaInfo.fps=u}}if("object"===a(r.keyframes)){this._mediaInfo.hasKeyframesIndex=!0;var d=r.keyframes;this._mediaInfo.keyframesIndex=this._parseKeyframesIndex(d),r.keyframes=null}else this._mediaInfo.hasKeyframesIndex=!1;this._dispatch=!1,this._mediaInfo.metadata=r,l.default.v(this.TAG,"Parsed onMetaData"),this._mediaInfo.isComplete()&&this._onMediaInfo(this._mediaInfo)}Object.keys(i).length>0&&this._onScriptDataArrived&&this._onScriptDataArrived(Object.assign({},i))}},{key:"_parseKeyframesIndex",value:function value(e){for(var t=[],n=[],i=1;i<e.times.length;i++){var r=this._timestampBase+Math.floor(1e3*e.times[i]);t.push(r),n.push(e.filepositions[i])}return{times:t,filepositions:n}}},{key:"_parseAudioData",value:function value(e,t,n,i){if(n<=1)return void l.default.w(this.TAG,"Flv: Invalid audio packet, missing SoundData payload!");if(!0!==this._hasAudioFlagOverrided||!1!==this._hasAudio){var r=(this._littleEndian,new DataView(e,t,n)),s=r.getUint8(0),a=s>>>4;if(2!==a&&10!==a)return void this._onError(m.default.CODEC_UNSUPPORTED,"Flv: Unsupported audio codec idx: "+a);var o=0,u=(12&s)>>>2;if(!(u>=0&&u<=4))return void this._onError(m.default.FORMAT_ERROR,"Flv: Invalid audio sample rate idx: "+u);o=this._flvSoundRateTable[u];var d=1&s,h=this._audioMetadata,f=this._audioTrack;if(h||(!1===this._hasAudio&&!1===this._hasAudioFlagOverrided&&(this._hasAudio=!0,this._mediaInfo.hasAudio=!0),h=this._audioMetadata={},h.type="audio",h.id=f.id,h.timescale=this._timescale,h.duration=this._duration,h.audioSampleRate=o,h.channelCount=0===d?1:2),10===a){var c=this._parseAACAudioData(e,t+1,n-1);if(void 0==c)return;if(0===c.packetType){h.config&&l.default.w(this.TAG,"Found another AudioSpecificConfig!");var _=c.data;h.audioSampleRate=_.samplingRate,h.channelCount=_.channelCount,h.codec=_.codec,h.originalCodec=_.originalCodec,h.config=_.config,h.refSampleDuration=1024/h.audioSampleRate*h.timescale,l.default.v(this.TAG,"Parsed AudioSpecificConfig"),this._isInitialMetadataDispatched()?this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack):this._audioInitialMetadataDispatched=!0,this._dispatch=!1,this._onTrackMetadata("audio",h);var p=this._mediaInfo;p.audioCodec=h.originalCodec,p.audioSampleRate=h.audioSampleRate,p.audioChannelCount=h.channelCount,p.hasVideo?null!=p.videoCodec&&(p.mimeType='video/x-flv; codecs="'+p.videoCodec+","+p.audioCodec+'"'):p.mimeType='video/x-flv; codecs="'+p.audioCodec+'"',p.isComplete()&&this._onMediaInfo(p)}else if(1===c.packetType){var v=this._timestampBase+i,g={unit:c.data,length:c.data.byteLength,dts:v,pts:v};f.samples.push(g),f.length+=c.data.length}else l.default.e(this.TAG,"Flv: Unsupported AAC data type "+c.packetType)}else if(2===a){if(!h.codec){var y=this._parseMP3AudioData(e,t+1,n-1,!0);if(void 0==y)return;h.audioSampleRate=y.samplingRate,h.channelCount=y.channelCount,h.codec=y.codec,h.originalCodec=y.originalCodec,h.refSampleDuration=1152/h.audioSampleRate*h.timescale,l.default.v(this.TAG,"Parsed MPEG Audio Frame Header"),this._audioInitialMetadataDispatched=!0,this._onTrackMetadata("audio",h);var b=this._mediaInfo;b.audioCodec=h.codec,b.audioSampleRate=h.audioSampleRate,b.audioChannelCount=h.channelCount,b.audioDataRate=y.bitRate,b.hasVideo?null!=b.videoCodec&&(b.mimeType='video/x-flv; codecs="'+b.videoCodec+","+b.audioCodec+'"'):b.mimeType='video/x-flv; codecs="'+b.audioCodec+'"',b.isComplete()&&this._onMediaInfo(b)}var E=this._parseMP3AudioData(e,t+1,n-1,!1);if(void 0==E)return;var S=this._timestampBase+i,k={unit:E,length:E.byteLength,dts:S,pts:S};f.samples.push(k),f.length+=E.length}}}},{key:"_parseAACAudioData",value:function value(e,t,n){if(n<=1)return void l.default.w(this.TAG,"Flv: Invalid AAC packet, missing AACPacketType or/and Data!");var i={},r=new Uint8Array(e,t,n);return i.packetType=r[0],0===r[0]?i.data=this._parseAACAudioSpecificConfig(e,t+1,n-1):i.data=r.subarray(1),i}},{key:"_parseAACAudioSpecificConfig",value:function value(e,t,n){var i=new Uint8Array(e,t,n),r=null,s=0,a=0,o=0,u=null;if(s=a=i[0]>>>3,(o=(7&i[0])<<1|i[1]>>>7)<0||o>=this._mpegSamplingRates.length)return void this._onError(m.default.FORMAT_ERROR,"Flv: AAC invalid sampling frequency index!");var l=this._mpegSamplingRates[o],d=(120&i[1])>>>3;if(d<0||d>=8)return void this._onError(m.default.FORMAT_ERROR,"Flv: AAC invalid channel configuration");5===s&&(u=(7&i[1])<<1|i[2]>>>7,i[2]);var h=self.navigator.userAgent.toLowerCase();return-1!==h.indexOf("firefox")?o>=6?(s=5,r=new Array(4),u=o-3):(s=2,r=new Array(2),u=o):-1!==h.indexOf("android")?(s=2,r=new Array(2),u=o):(s=5,u=o,r=new Array(4),o>=6?u=o-3:1===d&&(s=2,r=new Array(2),u=o)),r[0]=s<<3,r[0]|=(15&o)>>>1,r[1]=(15&o)<<7,r[1]|=(15&d)<<3,5===s&&(r[1]|=(15&u)>>>1,r[2]=(1&u)<<7,r[2]|=8,r[3]=0),{config:r,samplingRate:l,channelCount:d,codec:"mp4a.40."+s,originalCodec:"mp4a.40."+a}}},{key:"_parseMP3AudioData",value:function value(e,t,n,i){if(n<4)return void l.default.w(this.TAG,"Flv: Invalid MP3 packet, header missing!");var r=(this._littleEndian,new Uint8Array(e,t,n)),s=null;if(i){if(255!==r[0])return;var a=r[1]>>>3&3,o=(6&r[1])>>1,u=(240&r[2])>>>4,d=(12&r[2])>>>2,h=r[3]>>>6&3,f=3!==h?2:1,c=0,_=0;switch(a){case 0:c=this._mpegAudioV25SampleRateTable[d];break;case 2:c=this._mpegAudioV20SampleRateTable[d];break;case 3:c=this._mpegAudioV10SampleRateTable[d]}switch(o){case 1:34,u<this._mpegAudioL3BitRateTable.length&&(_=this._mpegAudioL3BitRateTable[u]);break;case 2:33,u<this._mpegAudioL2BitRateTable.length&&(_=this._mpegAudioL2BitRateTable[u]);break;case 3:32,u<this._mpegAudioL1BitRateTable.length&&(_=this._mpegAudioL1BitRateTable[u])}s={bitRate:_,samplingRate:c,channelCount:f,codec:"mp3",originalCodec:"mp3"}}else s=r;return s}},{key:"_parseVideoData",value:function value(e,t,n,i,r){if(n<=1)return void l.default.w(this.TAG,"Flv: Invalid video packet, missing VideoData payload!");if(!0!==this._hasVideoFlagOverrided||!1!==this._hasVideo){var s=new Uint8Array(e,t,n)[0],a=(240&s)>>>4,o=15&s;if(7!==o)return void this._onError(m.default.CODEC_UNSUPPORTED,"Flv: Unsupported codec in video frame: "+o);this._parseAVCVideoPacket(e,t+1,n-1,i,r,a)}}},{key:"_parseAVCVideoPacket",value:function value(e,t,n,i,r,s){if(n<4)return void l.default.w(this.TAG,"Flv: Invalid AVC packet, missing AVCPacketType or/and CompositionTime");var a=this._littleEndian,o=new DataView(e,t,n),u=o.getUint8(0),d=16777215&o.getUint32(0,!a),h=d<<8>>8;if(0===u)this._parseAVCDecoderConfigurationRecord(e,t+4,n-4);else if(1===u)this._parseAVCVideoData(e,t+4,n-4,i,r,s,h);else if(2!==u)return void this._onError(m.default.FORMAT_ERROR,"Flv: Invalid video packet type "+u)}},{key:"_parseAVCDecoderConfigurationRecord",value:function value(e,t,n){if(n<7)return void l.default.w(this.TAG,"Flv: Invalid AVCDecoderConfigurationRecord, lack of data!");var i=this._videoMetadata,r=this._videoTrack,s=this._littleEndian,a=new DataView(e,t,n);i?void 0!==i.avcc&&l.default.w(this.TAG,"Found another AVCDecoderConfigurationRecord!"):(!1===this._hasVideo&&!1===this._hasVideoFlagOverrided&&(this._hasVideo=!0,this._mediaInfo.hasVideo=!0),i=this._videoMetadata={},i.type="video",i.id=r.id,i.timescale=this._timescale,i.duration=this._duration);var o=a.getUint8(0),u=a.getUint8(1);a.getUint8(2),a.getUint8(3);if(1!==o||0===u)return void this._onError(m.default.FORMAT_ERROR,"Flv: Invalid AVCDecoderConfigurationRecord");if(this._naluLengthSize=1+(3&a.getUint8(4)),3!==this._naluLengthSize&&4!==this._naluLengthSize)return void this._onError(m.default.FORMAT_ERROR,"Flv: Strange NaluLengthSizeMinusOne: "+(this._naluLengthSize-1));var d=31&a.getUint8(5);if(0===d)return void this._onError(m.default.FORMAT_ERROR,"Flv: Invalid AVCDecoderConfigurationRecord: No SPS");d>1&&l.default.w(this.TAG,"Flv: Strange AVCDecoderConfigurationRecord: SPS Count = "+d);for(var h=6,f=0;f<d;f++){var _=a.getUint16(h,!s);if(h+=2,0!==_){var p=new Uint8Array(e,t+h,_);h+=_;var v=c.default.parseSPS(p);if(0===f){i.codecWidth=v.codec_size.width,i.codecHeight=v.codec_size.height,i.presentWidth=v.present_size.width,i.presentHeight=v.present_size.height,i.profile=v.profile_string,i.level=v.level_string,i.bitDepth=v.bit_depth,i.chromaFormat=v.chroma_format,i.sarRatio=v.sar_ratio,i.frameRate=v.frame_rate,!1!==v.frame_rate.fixed&&0!==v.frame_rate.fps_num&&0!==v.frame_rate.fps_den||(i.frameRate=this._referenceFrameRate);var g=i.frameRate.fps_den,y=i.frameRate.fps_num;i.refSampleDuration=i.timescale*(g/y);for(var b=p.subarray(1,4),E="avc1.",S=0;S<3;S++){var k=b[S].toString(16);k.length<2&&(k="0"+k),E+=k}i.codec=E;var L=this._mediaInfo;L.width=i.codecWidth,L.height=i.codecHeight,L.fps=i.frameRate.fps,L.profile=i.profile,L.level=i.level,L.refFrames=v.ref_frames,L.chromaFormat=v.chroma_format_string,L.sarNum=i.sarRatio.width,L.sarDen=i.sarRatio.height,L.videoCodec=E,L.hasAudio?null!=L.audioCodec&&(L.mimeType='video/x-flv; codecs="'+L.videoCodec+","+L.audioCodec+'"'):L.mimeType='video/x-flv; codecs="'+L.videoCodec+'"',L.isComplete()&&this._onMediaInfo(L)}}}var R=a.getUint8(h);if(0===R)return void this._onError(m.default.FORMAT_ERROR,"Flv: Invalid AVCDecoderConfigurationRecord: No PPS");R>1&&l.default.w(this.TAG,"Flv: Strange AVCDecoderConfigurationRecord: PPS Count = "+R),h++;for(var w=0;w<R;w++){var A=a.getUint16(h,!s);h+=2,0!==A&&(h+=A)}i.avcc=new Uint8Array(n),i.avcc.set(new Uint8Array(e,t,n),0),l.default.v(this.TAG,"Parsed AVCDecoderConfigurationRecord"),this._isInitialMetadataDispatched()?this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack):this._videoInitialMetadataDispatched=!0,this._dispatch=!1,this._onTrackMetadata("video",i)}},{key:"_parseAVCVideoData",value:function value(e,t,n,i,r,s,a){for(var o=this._littleEndian,u=new DataView(e,t,n),d=[],h=0,f=0,c=this._naluLengthSize,_=this._timestampBase+i,m=1===s;f<n;){if(f+4>=n){l.default.w(this.TAG,"Malformed Nalu near timestamp "+_+", offset = "+f+", dataSize = "+n);break}var p=u.getUint32(f,!o);if(3===c&&(p>>>=8),p>n-c)return void l.default.w(this.TAG,"Malformed Nalus near timestamp "+_+", NaluSize > DataSize!");var v=31&u.getUint8(f+c);5===v&&(m=!0);var g=new Uint8Array(e,t+f,c+p),y={type:v,data:g};d.push(y),h+=g.byteLength,f+=c+p}if(d.length){var b=this._videoTrack,E={units:d,length:h,isKeyframe:m,dts:_,cts:a,pts:_+a};m&&(E.fileposition=r),b.samples.push(E),b.length+=h}}},{key:"onTrackMetadata",get:function get(){return this._onTrackMetadata},set:function set(e){this._onTrackMetadata=e}},{key:"onMediaInfo",get:function get(){return this._onMediaInfo},set:function set(e){this._onMediaInfo=e}},{key:"onMetaDataArrived",get:function get(){return this._onMetaDataArrived},set:function set(e){this._onMetaDataArrived=e}},{key:"onScriptDataArrived",get:function get(){return this._onScriptDataArrived},set:function set(e){this._onScriptDataArrived=e}},{key:"onError",get:function get(){return this._onError},set:function set(e){this._onError=e}},{key:"onDataAvailable",get:function get(){return this._onDataAvailable},set:function set(e){this._onDataAvailable=e}},{key:"timestampBase",get:function get(){return this._timestampBase},set:function set(e){this._timestampBase=e}},{key:"overridedDuration",get:function get(){return this._duration},set:function set(e){this._durationOverrided=!0,this._duration=e,this._mediaInfo.duration=e}},{key:"overridedHasAudio",set:function set(e){this._hasAudioFlagOverrided=!0,this._hasAudio=e,this._mediaInfo.hasAudio=e}},{key:"overridedHasVideo",set:function set(e){this._hasVideoFlagOverrided=!0,this._hasVideo=e,this._mediaInfo.hasVideo=e}}],[{key:"probe",value:function value(e){var t=new Uint8Array(e),n={match:!1};if(70!==t[0]||76!==t[1]||86!==t[2]||1!==t[3])return n;var i=(4&t[4])>>>2!=0,r=0!=(1&t[4]),a=s(t,5);return a<9?n:{match:!0,consumed:a,dataOffset:a,hasAudioTrack:i,hasVideoTrack:r}}}]),e}();n.default=y},{"../core/media-info.js":7,"../utils/exception.js":41,"../utils/logger.js":42,"./amf-parser.js":15,"./demux-errors.js":16,"./sps-parser.js":19}],19:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=e("./exp-golomb.js"),a=function(e){return e&&e.__esModule?e:{default:e}}(s),o=function(){function e(){i(this,e)}return r(e,null,[{key:"_ebsp2rbsp",value:function value(e){for(var t=e,n=t.byteLength,i=new Uint8Array(n),r=0,s=0;s<n;s++){s>=2&&3===t[s]&&0===t[s-1]&&0===t[s-2]||(i[r]=t[s],r++)}return new Uint8Array(i.buffer,0,r)}},{key:"parseSPS",value:function value(t){var n=e._ebsp2rbsp(t),i=new a.default(n);i.readByte();var r=i.readByte();i.readByte();var s=i.readByte();i.readUEG();var o=e.getProfileString(r),u=e.getLevelString(s),l=1,d=420,h=[0,420,422,444],f=8;if((100===r||110===r||122===r||244===r||44===r||83===r||86===r||118===r||128===r||138===r||144===r)&&(l=i.readUEG(),3===l&&i.readBits(1),l<=3&&(d=h[l]),f=i.readUEG()+8,i.readUEG(),i.readBits(1),i.readBool()))for(var c=3!==l?8:12,_=0;_<c;_++){i.readBool()&&(_<6?e._skipScalingList(i,16):e._skipScalingList(i,64))}i.readUEG();var m=i.readUEG();if(0===m)i.readUEG();else if(1===m){i.readBits(1),i.readSEG(),i.readSEG();for(var p=i.readUEG(),v=0;v<p;v++){i.readSEG()}}var g=i.readUEG();i.readBits(1);var y=i.readUEG(),b=i.readUEG(),E=i.readBits(1);0===E&&i.readBits(1),i.readBits(1);var S=0,k=0,L=0,R=0;i.readBool()&&(S=i.readUEG(),k=i.readUEG(),L=i.readUEG(),R=i.readUEG());var w=1,A=1,T=0,O=!0,C=0,I=0;if(i.readBool()){if(i.readBool()){var D=i.readByte(),x=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2],M=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1];D>0&&D<16?(w=x[D-1],A=M[D-1]):255===D&&(w=i.readByte()<<8|i.readByte(),A=i.readByte()<<8|i.readByte())}if(i.readBool()&&i.readBool(),i.readBool()&&(i.readBits(4),i.readBool()&&i.readBits(24)),i.readBool()&&(i.readUEG(),i.readUEG()),i.readBool()){var j=i.readBits(32),B=i.readBits(32);O=i.readBool(),C=B,I=2*j,T=C/I}}var P=1;1===w&&1===A||(P=w/A);var U=0,N=0;if(0===l)U=1,N=2-E;else{var F=3===l?1:2,G=1===l?2:1;U=F,N=G*(2-E)}var V=16*(y+1),z=16*(b+1)*(2-E);V-=(S+k)*U,z-=(L+R)*N;var H=Math.ceil(V*P);return i.destroy(),i=null,{profile_string:o,level_string:u,bit_depth:f,ref_frames:g,chroma_format:d,chroma_format_string:e.getChromaFormatString(d),frame_rate:{fixed:O,fps:T,fps_den:I,fps_num:C},sar_ratio:{width:w,height:A},codec_size:{width:V,height:z},present_size:{width:H,height:z}}}},{key:"_skipScalingList",value:function value(e,t){for(var n=8,i=8,r=0,s=0;s<t;s++){0!==i&&(r=e.readSEG(),i=(n+r+256)%256),n=0===i?n:i}}},{key:"getProfileString",value:function value(e){switch(e){case 66:return"Baseline";case 77:return"Main";case 88:return"Extended";case 100:return"High";case 110:return"High10";case 122:return"High422";case 244:return"High444";default:return"Unknown"}}},{key:"getLevelString",value:function value(e){return(e/10).toFixed(1)}},{key:"getChromaFormatString",value:function value(e){switch(e){case 420:return"4:2:0";case 422:return"4:2:2";case 444:return"4:4:4";default:return"Unknown"}}}]),e}();n.default=o},{"./exp-golomb.js":17}],20:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){var n=e;if(null==n||"object"!==(void 0===n?"undefined":o(n)))throw new w.InvalidArgumentException("MediaDataSource must be an javascript object!");if(!n.hasOwnProperty("type"))throw new w.InvalidArgumentException("MediaDataSource must has type field to indicate video file type!");switch(n.type){case"flv":return new g.default(n,t);default:return new b.default(n,t)}}function s(){return c.default.supportMSEH264Playback()}function a(){return c.default.getFeatureList()}Object.defineProperty(n,"__esModule",{value:!0});var o="function"==typeof Symbol&&"symbol"==_typeof(Symbol.iterator)?function(e){return typeof e==="undefined"?"undefined":_typeof(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e==="undefined"?"undefined":_typeof(e)},u=e("events"),l=i(u),d=e("./utils/polyfill.js"),h=i(d),f=e("./core/features.js"),c=i(f),_=e("./io/loader.js"),m=e("./io/web-loader.js"),p=i(m),v=e("./player/flv-player.js"),g=i(v),y=e("./player/native-player.js"),b=i(y),E=e("./player/player-events.js"),S=i(E),k=e("./player/player-errors.js"),L=e("./utils/logging-control.js"),R=i(L),w=e("./utils/exception.js");h.default.install();var A={};A.createPlayer=r,A.isSupported=s,A.getFeatureList=a,A.BaseLoader=_.BaseLoader,A.LoaderStatus=_.LoaderStatus,A.LoaderErrors=_.LoaderErrors,A.Events=S.default,A.ErrorTypes=k.ErrorTypes,A.ErrorDetails=k.ErrorDetails,A.FlvPlayer=g.default,A.NativePlayer=b.default,A.LoggingControl=R.default,A.WebLoader=p.default,A.EventEmitter=l.default,Object.defineProperty(A,"version",{enumerable:!0,get:function get(){return"1.5.0"}}),n.default=A},{"./core/features.js":6,"./io/loader.js":24,"./io/web-loader.js":28,"./player/flv-player.js":33,"./player/native-player.js":34,"./player/player-errors.js":35,"./player/player-events.js":36,"./utils/exception.js":41,"./utils/logging-control.js":43,"./utils/polyfill.js":44,events:2}],21:[function(e,t,n){"use strict";t.exports=e("./flv.js").default},{"./flv.js":20}],22:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=(typeof t==="undefined"?"undefined":_typeof(t))&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(typeof t==="undefined"?"undefined":_typeof(t)));e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(n,"__esModule",{value:!0});var o="function"==typeof Symbol&&"symbol"==_typeof(Symbol.iterator)?function(e){return typeof e==="undefined"?"undefined":_typeof(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e==="undefined"?"undefined":_typeof(e)},u=function e(t,n,i){null===t&&(t=Function.prototype);var r=Object.getOwnPropertyDescriptor(t,n);if(void 0===r){var s=Object.getPrototypeOf(t);return null===s?void 0:e(s,n,i)}if("value"in r)return r.value;var a=r.get;if(void 0!==a)return a.call(i)},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),d=e("../utils/logger.js"),h=(i(d),e("../utils/browser.js")),f=i(h),c=e("./loader.js"),_=e("../utils/exception.js"),m=function(e){function t(e,n){r(this,t);var i=s(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"fetch-stream-loader"));return i.TAG="FetchStreamLoader",i._seekHandler=e,i._config=n,i._needStash=!0,i._requestAbort=!1,i._contentLength=null,i._receivedLength=0,i._reader=null,i}return a(t,e),l(t,null,[{key:"isSupported",value:function value(){try{var e=f.default.msedge&&f.default.version.minor>=15048,t=!f.default.msedge||e;return self.fetch&&self.ReadableStream&&t}catch(e){return!1}}}]),l(t,[{key:"destroy",value:function value(){this.isWorking()&&this.abort(),u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"destroy",this).call(this)}},{key:"open",value:function value(e,t){var n=this,i=null;if(self.AbortController){var r=new self.AbortController;i=r.signal,this._fetchAbortController=r}this._dataSource=e,this._range=t;var s=e.url;this._config.reuseRedirectedURL&&void 0!=e.redirectedURL&&(s=e.redirectedURL);var a=this._seekHandler.getConfig(s,t),u=new self.Headers;if("object"===o(a.headers)){var l=a.headers;for(var d in l){l.hasOwnProperty(d)&&u.append(d,l[d])}}var h={method:"GET",headers:u,mode:"cors",cache:"default",referrerPolicy:"no-referrer-when-downgrade",signal:i};if("object"===o(this._config.headers))for(var f in this._config.headers){u.append(f,this._config.headers[f])}!1===e.cors&&(h.mode="same-origin"),e.withCredentials&&(h.credentials="include"),e.referrerPolicy&&(h.referrerPolicy=e.referrerPolicy),this._status=c.LoaderStatus.kConnecting,self.fetch(a.url,h).then(function(e){if(n._requestAbort)return n._requestAbort=!1,void(n._status=c.LoaderStatus.kIdle);if(e.ok&&e.status>=200&&e.status<=299){if(e.url!==a.url&&n._onURLRedirect){var t=n._seekHandler.removeURLParameters(e.url);n._onURLRedirect(t)}var i=e.headers.get("Content-Length");return null!=i&&(n._contentLength=parseInt(i),0!==n._contentLength&&n._onContentLengthKnown&&n._onContentLengthKnown(n._contentLength)),n._pump.call(n,e.body.getReader())}if(n._status=c.LoaderStatus.kError,!n._onError)throw new _.RuntimeException("FetchStreamLoader: Http code invalid, "+e.status+" "+e.statusText);n._onError(c.LoaderErrors.HTTP_STATUS_CODE_INVALID,{code:e.status,msg:e.statusText})}).catch(function(e){if(n._requestAbort)return void(n._requestAbort=!1);if(n._status=c.LoaderStatus.kError,!n._onError)throw e;n._onError(c.LoaderErrors.EXCEPTION,{code:-1,msg:e.message})})}},{key:"abort",value:function value(){this._requestAbort=!0,this._fetchAbortController&&this._fetchAbortController.abort()}},{key:"_pump",value:function value(e){var t=this;return e.read().then(function(n){if(n.done){if(null!==t._contentLength&&t._receivedLength<t._contentLength){t._status=c.LoaderStatus.kError;var i=c.LoaderErrors.EARLY_EOF,r={code:-1,msg:"Fetch stream meet Early-EOF"};if(!t._onError)throw new _.RuntimeException(r.msg);t._onError(i,r)}else t._status=c.LoaderStatus.kComplete,t._onComplete&&t._onComplete(t._range.from,t._range.from+t._receivedLength-1)}else{if(!0===t._requestAbort)return t._requestAbort=!1,t._status=c.LoaderStatus.kComplete,e.cancel();t._status=c.LoaderStatus.kBuffering;var s=n.value.buffer,a=t._range.from+t._receivedLength;t._receivedLength+=s.byteLength,t._onDataArrival&&t._onDataArrival(s,a,t._receivedLength),t._pump(e)}}).catch(function(e){if(11!==e.code||!f.default.msedge){if(t._requestAbort)return void(t._requestAbort=!1);t._status=c.LoaderStatus.kError;var n=0,i=null;if(19!==e.code&&"network error"!==e.message||!(null===t._contentLength||null!==t._contentLength&&t._receivedLength<t._contentLength)?(n=c.LoaderErrors.EXCEPTION,i={code:e.code,msg:e.message}):(n=c.LoaderErrors.EARLY_EOF,i={code:e.code,msg:"Fetch stream meet Early-EOF"}),!t._onError)throw new _.RuntimeException(i.msg);t._onError(n,i)}})}}]),t}(c.BaseLoader);n.default=m},{"../utils/browser.js":40,"../utils/exception.js":41,"../utils/logger.js":42,"./loader.js":24}],23:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=e("../utils/logger.js"),o=i(a),u=e("./speed-sampler.js"),l=i(u),d=e("./loader.js"),h=e("./fetch-stream-loader.js"),f=i(h),c=e("./xhr-moz-chunked-loader.js"),_=i(c),m=e("./xhr-msstream-loader.js"),p=(i(m),e("./xhr-range-loader.js")),v=i(p),g=e("./websocket-loader.js"),y=i(g),b=e("./range-seek-handler.js"),E=i(b),S=e("./param-seek-handler.js"),k=i(S),L=e("../utils/exception.js"),R=function(){function e(t,n,i){r(this,e),this.TAG="IOController",this._config=n,this._extraData=i,this._stashInitialSize=393216,void 0!=n.stashInitialSize&&n.stashInitialSize>0&&(this._stashInitialSize=n.stashInitialSize),this._stashUsed=0,this._stashSize=this._stashInitialSize,this._bufferSize=3145728,this._stashBuffer=new ArrayBuffer(this._bufferSize),this._stashByteStart=0,this._enableStash=!0,!1===n.enableStashBuffer&&(this._enableStash=!1),this._loader=null,this._loaderClass=null,this._seekHandler=null,this._dataSource=t,this._isWebSocketURL=/wss?:\/\/(.+?)/.test(t.url),this._refTotalLength=t.filesize?t.filesize:null,this._totalLength=this._refTotalLength,this._fullRequestFlag=!1,this._currentRange=null,this._redirectedURL=null,this._speedNormalized=0,this._speedSampler=new l.default,this._speedNormalizeList=[64,128,256,384,512,768,1024,1536,2048,3072,4096],this._isEarlyEofReconnecting=!1,this._paused=!1,this._resumeFrom=0,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._selectSeekHandler(),this._selectLoader(),this._createLoader()}return s(e,[{key:"destroy",value:function value(){this._loader.isWorking()&&this._loader.abort(),this._loader.destroy(),this._loader=null,this._loaderClass=null,this._dataSource=null,this._stashBuffer=null,this._stashUsed=this._stashSize=this._bufferSize=this._stashByteStart=0,this._currentRange=null,this._speedSampler=null,this._isEarlyEofReconnecting=!1,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._extraData=null}},{key:"isWorking",value:function value(){return this._loader&&this._loader.isWorking()&&!this._paused}},{key:"isPaused",value:function value(){return this._paused}},{key:"_selectSeekHandler",value:function value(){var e=this._config;if("range"===e.seekType)this._seekHandler=new E.default(this._config.rangeLoadZeroStart);else if("param"===e.seekType){var t=e.seekParamStart||"bstart",n=e.seekParamEnd||"bend";this._seekHandler=new k.default(t,n)}else{if("custom"!==e.seekType)throw new L.InvalidArgumentException("Invalid seekType in config: "+e.seekType);if("function"!=typeof e.customSeekHandler)throw new L.InvalidArgumentException("Custom seekType specified in config but invalid customSeekHandler!");this._seekHandler=new e.customSeekHandler}}},{key:"_selectLoader",value:function value(){if(null!=this._config.customLoader)this._loaderClass=this._config.customLoader;else if(this._isWebSocketURL)this._loaderClass=y.default;else if(f.default.isSupported())this._loaderClass=f.default;else if(_.default.isSupported())this._loaderClass=_.default;else{if(!v.default.isSupported())throw new L.RuntimeException("Your browser doesn't support xhr with arraybuffer responseType!");this._loaderClass=v.default}}},{key:"_createLoader",value:function value(){this._loader=new this._loaderClass(this._seekHandler,this._config),!1===this._loader.needStashBuffer&&(this._enableStash=!1),this._loader.onContentLengthKnown=this._onContentLengthKnown.bind(this),this._loader.onURLRedirect=this._onURLRedirect.bind(this),this._loader.onDataArrival=this._onLoaderChunkArrival.bind(this),this._loader.onComplete=this._onLoaderComplete.bind(this),this._loader.onError=this._onLoaderError.bind(this)}},{key:"open",value:function value(e){this._currentRange={from:0,to:-1},e&&(this._currentRange.from=e),this._speedSampler.reset(),e||(this._fullRequestFlag=!0),this._loader.open(this._dataSource,Object.assign({},this._currentRange))}},{key:"abort",value:function value(){this._loader.abort(),this._paused&&(this._paused=!1,this._resumeFrom=0)}},{key:"pause",value:function value(){this.isWorking()&&(this._loader.abort(),0!==this._stashUsed?(this._resumeFrom=this._stashByteStart,this._currentRange.to=this._stashByteStart-1):this._resumeFrom=this._currentRange.to+1,this._stashUsed=0,this._stashByteStart=0,this._paused=!0)}},{key:"resume",value:function value(){if(this._paused){this._paused=!1;var e=this._resumeFrom;this._resumeFrom=0,this._internalSeek(e,!0)}}},{key:"seek",value:function value(e){this._paused=!1,this._stashUsed=0,this._stashByteStart=0,this._internalSeek(e,!0)}},{key:"_internalSeek",value:function value(e,t){this._loader.isWorking()&&this._loader.abort(),this._flushStashBuffer(t),this._loader.destroy(),this._loader=null;var n={from:e,to:-1};this._currentRange={from:n.from,to:-1},this._speedSampler.reset(),this._stashSize=this._stashInitialSize,this._createLoader(),this._loader.open(this._dataSource,n),this._onSeeked&&this._onSeeked()}},{key:"updateUrl",value:function value(e){if(!e||"string"!=typeof e||0===e.length)throw new L.InvalidArgumentException("Url must be a non-empty string!");this._dataSource.url=e}},{key:"_expandBuffer",value:function value(e){for(var t=this._stashSize;t+1048576<e;){t*=2}if((t+=1048576)!==this._bufferSize){var n=new ArrayBuffer(t);if(this._stashUsed>0){var i=new Uint8Array(this._stashBuffer,0,this._stashUsed);new Uint8Array(n,0,t).set(i,0)}this._stashBuffer=n,this._bufferSize=t}}},{key:"_normalizeSpeed",value:function value(e){var t=this._speedNormalizeList,n=t.length-1,i=0,r=0,s=n;if(e<t[0])return t[0];for(;r<=s;){if((i=r+Math.floor((s-r)/2))===n||e>=t[i]&&e<t[i+1])return t[i];t[i]<e?r=i+1:s=i-1}}},{key:"_adjustStashSize",value:function value(e){var t=0;(t=this._config.isLive?e:e<512?e:e>=512&&e<=1024?Math.floor(1.5*e):2*e)>8192&&(t=8192);var n=1024*t+1048576;this._bufferSize<n&&this._expandBuffer(n),this._stashSize=1024*t}},{key:"_dispatchChunks",value:function value(e,t){return this._currentRange.to=t+e.byteLength-1,this._onDataArrival(e,t)}},{key:"_onURLRedirect",value:function value(e){this._redirectedURL=e,this._onRedirect&&this._onRedirect(e)}},{key:"_onContentLengthKnown",value:function value(e){e&&this._fullRequestFlag&&(this._totalLength=e,this._fullRequestFlag=!1)}},{key:"_onLoaderChunkArrival",value:function value(e,t,n){if(!this._onDataArrival)throw new L.IllegalStateException("IOController: No existing consumer (onDataArrival) callback!");if(!this._paused){this._isEarlyEofReconnecting&&(this._isEarlyEofReconnecting=!1,this._onRecoveredEarlyEof&&this._onRecoveredEarlyEof()),this._speedSampler.addBytes(e.byteLength);var i=this._speedSampler.lastSecondKBps;if(0!==i){var r=this._normalizeSpeed(i);this._speedNormalized!==r&&(this._speedNormalized=r,this._adjustStashSize(r))}if(this._enableStash){if(0===this._stashUsed&&0===this._stashByteStart&&(this._stashByteStart=t),this._stashUsed+e.byteLength<=this._stashSize){var s=new Uint8Array(this._stashBuffer,0,this._stashSize);s.set(new Uint8Array(e),this._stashUsed),this._stashUsed+=e.byteLength}else{var a=new Uint8Array(this._stashBuffer,0,this._bufferSize);if(this._stashUsed>0){var o=this._stashBuffer.slice(0,this._stashUsed),u=this._dispatchChunks(o,this._stashByteStart);if(u<o.byteLength){if(u>0){var l=new Uint8Array(o,u);a.set(l,0),this._stashUsed=l.byteLength,this._stashByteStart+=u}}else this._stashUsed=0,this._stashByteStart+=u;this._stashUsed+e.byteLength>this._bufferSize&&(this._expandBuffer(this._stashUsed+e.byteLength),a=new Uint8Array(this._stashBuffer,0,this._bufferSize)),a.set(new Uint8Array(e),this._stashUsed),this._stashUsed+=e.byteLength}else{var d=this._dispatchChunks(e,t);if(d<e.byteLength){var h=e.byteLength-d;h>this._bufferSize&&(this._expandBuffer(h),a=new Uint8Array(this._stashBuffer,0,this._bufferSize)),a.set(new Uint8Array(e,d),0),this._stashUsed+=h,this._stashByteStart=t+d}}}}else if(0===this._stashUsed){var f=this._dispatchChunks(e,t);if(f<e.byteLength){var c=e.byteLength-f;c>this._bufferSize&&this._expandBuffer(c);var _=new Uint8Array(this._stashBuffer,0,this._bufferSize);_.set(new Uint8Array(e,f),0),this._stashUsed+=c,this._stashByteStart=t+f}}else{this._stashUsed+e.byteLength>this._bufferSize&&this._expandBuffer(this._stashUsed+e.byteLength);var m=new Uint8Array(this._stashBuffer,0,this._bufferSize);m.set(new Uint8Array(e),this._stashUsed),this._stashUsed+=e.byteLength;var p=this._dispatchChunks(this._stashBuffer.slice(0,this._stashUsed),this._stashByteStart);if(p<this._stashUsed&&p>0){var v=new Uint8Array(this._stashBuffer,p);m.set(v,0)}this._stashUsed-=p,this._stashByteStart+=p}}}},{key:"_flushStashBuffer",value:function value(e){if(this._stashUsed>0){var t=this._stashBuffer.slice(0,this._stashUsed),n=this._dispatchChunks(t,this._stashByteStart),i=t.byteLength-n;if(n<t.byteLength){if(!e){if(n>0){var r=new Uint8Array(this._stashBuffer,0,this._bufferSize),s=new Uint8Array(t,n);r.set(s,0),this._stashUsed=s.byteLength,this._stashByteStart+=n}return 0}o.default.w(this.TAG,i+" bytes unconsumed data remain when flush buffer, dropped")}return this._stashUsed=0,this._stashByteStart=0,i}return 0}},{key:"_onLoaderComplete",value:function value(e,t){this._flushStashBuffer(!0),this._onComplete&&this._onComplete(this._extraData)}},{key:"_onLoaderError",value:function value(e,t){switch(o.default.e(this.TAG,"Loader error, code = "+t.code+", msg = "+t.msg),this._flushStashBuffer(!1),this._isEarlyEofReconnecting&&(this._isEarlyEofReconnecting=!1,e=d.LoaderErrors.UNRECOVERABLE_EARLY_EOF),e){case d.LoaderErrors.EARLY_EOF:if(!this._config.isLive&&this._totalLength){var n=this._currentRange.to+1;return void(n<this._totalLength&&(o.default.w(this.TAG,"Connection lost, trying reconnect..."),this._isEarlyEofReconnecting=!0,this._internalSeek(n,!1)))}e=d.LoaderErrors.UNRECOVERABLE_EARLY_EOF;break;case d.LoaderErrors.UNRECOVERABLE_EARLY_EOF:case d.LoaderErrors.CONNECTING_TIMEOUT:case d.LoaderErrors.HTTP_STATUS_CODE_INVALID:case d.LoaderErrors.EXCEPTION:}if(!this._onError)throw new L.RuntimeException("IOException: "+t.msg);this._onError(e,t)}},{key:"status",get:function get(){return this._loader.status}},{key:"extraData",get:function get(){return this._extraData},set:function set(e){this._extraData=e}},{key:"onDataArrival",get:function get(){return this._onDataArrival},set:function set(e){this._onDataArrival=e}},{key:"onSeeked",get:function get(){return this._onSeeked},set:function set(e){this._onSeeked=e}},{key:"onError",get:function get(){return this._onError},set:function set(e){this._onError=e}},{key:"onComplete",get:function get(){return this._onComplete},set:function set(e){this._onComplete=e}},{key:"onRedirect",get:function get(){return this._onRedirect},set:function set(e){this._onRedirect=e}},{key:"onRecoveredEarlyEof",get:function get(){return this._onRecoveredEarlyEof},set:function set(e){this._onRecoveredEarlyEof=e}},{key:"currentURL",get:function get(){return this._dataSource.url}},{key:"hasRedirect",get:function get(){return null!=this._redirectedURL||void 0!=this._dataSource.redirectedURL}},{key:"currentRedirectedURL",get:function get(){return this._redirectedURL||this._dataSource.redirectedURL}},{key:"currentSpeed",get:function get(){return this._loaderClass===v.default?this._loader.currentSpeed:this._speedSampler.lastSecondKBps}},{key:"loaderType",get:function get(){return this._loader.type}}]),e}();n.default=R},{"../utils/exception.js":41,"../utils/logger.js":42,"./fetch-stream-loader.js":22,"./loader.js":24,"./param-seek-handler.js":25,"./range-seek-handler.js":26,"./speed-sampler.js":27,"./websocket-loader.js":29,"./xhr-moz-chunked-loader.js":30,"./xhr-msstream-loader.js":31,"./xhr-range-loader.js":32}],24:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0}),n.BaseLoader=n.LoaderErrors=n.LoaderStatus=void 0;var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=e("../utils/exception.js"),a=n.LoaderStatus={kIdle:0,kConnecting:1,kBuffering:2,kError:3,kComplete:4};n.LoaderErrors={OK:"OK",EXCEPTION:"Exception",HTTP_STATUS_CODE_INVALID:"HttpStatusCodeInvalid",CONNECTING_TIMEOUT:"ConnectingTimeout",EARLY_EOF:"EarlyEof",UNRECOVERABLE_EARLY_EOF:"UnrecoverableEarlyEof"},n.BaseLoader=function(){function e(t){i(this,e),this._type=t||"undefined",this._status=a.kIdle,this._needStash=!1,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null}return r(e,[{key:"destroy",value:function value(){this._status=a.kIdle,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null}},{key:"isWorking",value:function value(){return this._status===a.kConnecting||this._status===a.kBuffering}},{key:"open",value:function value(e,t){throw new s.NotImplementedException("Unimplemented abstract function!")}},{key:"abort",value:function value(){throw new s.NotImplementedException("Unimplemented abstract function!")}},{key:"type",get:function get(){return this._type}},{key:"status",get:function get(){return this._status}},{key:"needStashBuffer",get:function get(){return this._needStash}},{key:"onContentLengthKnown",get:function get(){return this._onContentLengthKnown},set:function set(e){this._onContentLengthKnown=e}},{key:"onURLRedirect",get:function get(){return this._onURLRedirect},set:function set(e){this._onURLRedirect=e}},{key:"onDataArrival",get:function get(){return this._onDataArrival},set:function set(e){this._onDataArrival=e}},{key:"onError",get:function get(){return this._onError},set:function set(e){this._onError=e}},{key:"onComplete",get:function get(){return this._onComplete},set:function set(e){this._onComplete=e}}]),e}()},{"../utils/exception.js":41}],25:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=function(){function e(t,n){i(this,e),this._startName=t,this._endName=n}return r(e,[{key:"getConfig",value:function value(e,t){var n=e;if(0!==t.from||-1!==t.to){var i=!0;-1===n.indexOf("?")&&(n+="?",i=!1),i&&(n+="&"),n+=this._startName+"="+t.from.toString(),-1!==t.to&&(n+="&"+this._endName+"="+t.to.toString())}return{url:n,headers:{}}}},{key:"removeURLParameters",value:function value(e){var t=e.split("?")[0],n=void 0,i=e.indexOf("?");-1!==i&&(n=e.substring(i+1));var r="";if(void 0!=n&&n.length>0)for(var s=n.split("&"),a=0;a<s.length;a++){var o=s[a].split("="),u=a>0;o[0]!==this._startName&&o[0]!==this._endName&&(u&&(r+="&"),r+=s[a])}return 0===r.length?t:t+"?"+r}}]),e}();n.default=s},{}],26:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=function(){function e(t){i(this,e),this._zeroStart=t||!1}return r(e,[{key:"getConfig",value:function value(e,t){var n={};if(0!==t.from||-1!==t.to){var i=void 0;i=-1!==t.to?"bytes="+t.from.toString()+"-"+t.to.toString():"bytes="+t.from.toString()+"-",n.Range=i}else this._zeroStart&&(n.Range="bytes=0-");return{url:e,headers:n}}},{key:"removeURLParameters",value:function value(e){return e}}]),e}();n.default=s},{}],27:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=function(){function e(){i(this,e),this._firstCheckpoint=0,this._lastCheckpoint=0,this._intervalBytes=0,this._totalBytes=0,this._lastSecondBytes=0,self.performance&&self.performance.now?this._now=self.performance.now.bind(self.performance):this._now=Date.now}return r(e,[{key:"reset",value:function value(){this._firstCheckpoint=this._lastCheckpoint=0,this._totalBytes=this._intervalBytes=0,this._lastSecondBytes=0}},{key:"addBytes",value:function value(e){0===this._firstCheckpoint?(this._firstCheckpoint=this._now(),this._lastCheckpoint=this._firstCheckpoint,this._intervalBytes+=e,this._totalBytes+=e):this._now()-this._lastCheckpoint<1e3?(this._intervalBytes+=e,this._totalBytes+=e):(this._lastSecondBytes=this._intervalBytes,this._intervalBytes=e,this._totalBytes+=e,this._lastCheckpoint=this._now())}},{key:"currentKBps",get:function get(){this.addBytes(0);var e=(this._now()-this._lastCheckpoint)/1e3;return 0==e&&(e=1),this._intervalBytes/e/1024}},{key:"lastSecondKBps",get:function get(){return this.addBytes(0),0!==this._lastSecondBytes?this._lastSecondBytes/1024:this._now()-this._lastCheckpoint>=500?this.currentKBps:0}},{key:"averageKBps",get:function get(){var e=(this._now()-this._firstCheckpoint)/1e3;return this._totalBytes/e/1024}}]),e}();n.default=s},{}],28:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=(typeof t==="undefined"?"undefined":_typeof(t))&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(typeof t==="undefined"?"undefined":_typeof(t)));e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(n,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),u=e("../utils/logger.js"),l=(i(u),e("./loader.js"),e("./fetch-stream-loader.js")),d=i(l),h=e("./xhr-moz-chunked-loader.js"),f=i(h),c=e("./xhr-msstream-loader.js"),_=(i(c),e("./xhr-range-loader.js")),m=i(_),p=e("./range-seek-handler.js"),v=i(p),g=e("./param-seek-handler.js"),y=i(g),b=e("./websocket-loader.js"),E=i(b),S=e("../config.js"),k=e("../utils/exception.js"),L=e("events"),R=i(L),w=function(e){function t(){r(this,t);var e=s(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.TAG="WebLoader",e._config=(0,S.createDefaultConfig)(),e._loader=null,e._loaderClass=null,e._seekHandler=null,e._isStart=!1,e._isFirst=!0,e}return a(t,e),o(t,[{key:"start",value:function value(e){if(this._isStart)throw"isStart";this._isWebSocketURL=/wss?:\/\/(.+?)/.test(e),this._currentRange={from:0,to:-1},this._selectSeekHandler(),this._selectLoader(),this._createLoader(),this._loader.open({url:e},Object.assign({},this._currentRange)),this._isStart=!0,this._isFirst=!0}},{key:"stop",value:function value(){this._isStart&&(this._loader.abort(),this._isStart=!1)}},{key:"_selectSeekHandler",value:function value(){var e=this._config;if("range"===e.seekType)this._seekHandler=new v.default(this._config.rangeLoadZeroStart);else if("param"===e.seekType){var t=e.seekParamStart||"bstart",n=e.seekParamEnd||"bend";this._seekHandler=new y.default(t,n)}else{if("custom"!==e.seekType)throw new k.InvalidArgumentException("Invalid seekType in config: "+e.seekType);if("function"!=typeof e.customSeekHandler)throw new k.InvalidArgumentException("Custom seekType specified in config but invalid customSeekHandler!");this._seekHandler=new e.customSeekHandler}}},{key:"_selectLoader",value:function value(){if(this._isWebSocketURL)this._loaderClass=E.default;else if(d.default.isSupported())this._loaderClass=d.default;else if(f.default.isSupported())this._loaderClass=f.default;else{if(!m.default.isSupported())throw new k.RuntimeException("Your browser doesn't support xhr with arraybuffer responseType!");this._loaderClass=m.default}}},{key:"_createLoader",value:function value(){this._loader=new this._loaderClass(this._seekHandler,this._config),this._loader.onContentLength=this._onContentLength.bind(this),this._loader.onURLRedirect=this._onURLRedirect.bind(this),this._loader.onDataArrival=this._onLoaderChunkArrival.bind(this),this._loader.onComplete=this._onLoaderComplete.bind(this),this._loader.onError=this._onLoaderError.bind(this)}},{key:"_onURLRedirect",value:function value(){}},{key:"_onContentLength",value:function value(e){}},{key:"_onLoaderChunkArrival",value:function value(e,t,n){this._isFirst&&(this.emit("start"),this._isFirst=!1),this.emit("data",e)}},{key:"_onLoaderComplete",value:function value(e,t){this.emit("close"),this._isFirst=!0}},{key:"_onLoaderError",value:function value(e,t){this.emit("error",t),this._isFirst=!0}}]),t}(R.default);n.default=w},{"../config.js":5,"../utils/exception.js":41,"../utils/logger.js":42,"./fetch-stream-loader.js":22,"./loader.js":24,"./param-seek-handler.js":25,"./range-seek-handler.js":26,"./websocket-loader.js":29,"./xhr-moz-chunked-loader.js":30,"./xhr-msstream-loader.js":31,"./xhr-range-loader.js":32,events:2}],29:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=(typeof t==="undefined"?"undefined":_typeof(t))&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(typeof t==="undefined"?"undefined":_typeof(t)));e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(n,"__esModule",{value:!0});var a=function e(t,n,i){null===t&&(t=Function.prototype);var r=Object.getOwnPropertyDescriptor(t,n);if(void 0===r){var s=Object.getPrototypeOf(t);return null===s?void 0:e(s,n,i)}if("value"in r)return r.value;var a=r.get;if(void 0!==a)return a.call(i)},o=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),u=e("../utils/logger.js"),l=(function(e){e&&e.__esModule}(u),e("./loader.js")),d=e("../utils/exception.js"),h=function(e){function t(){i(this,t);var e=r(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"websocket-loader"));return e.TAG="WebSocketLoader",e._needStash=!0,e._ws=null,e._requestAbort=!1,e._receivedLength=0,e}return s(t,e),o(t,null,[{key:"isSupported",value:function value(){try{return void 0!==self.WebSocket}catch(e){return!1}}}]),o(t,[{key:"destroy",value:function value(){this._ws&&this.abort(),a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"destroy",this).call(this)}},{key:"open",value:function value(e){try{var t=this._ws=new self.WebSocket(e.url);t.binaryType="arraybuffer",t.onopen=this._onWebSocketOpen.bind(this),t.onclose=this._onWebSocketClose.bind(this),t.onmessage=this._onWebSocketMessage.bind(this),t.onerror=this._onWebSocketError.bind(this),this._status=l.LoaderStatus.kConnecting}catch(e){this._status=l.LoaderStatus.kError;var n={code:e.code,msg:e.message};if(!this._onError)throw new d.RuntimeException(n.msg);this._onError(l.LoaderErrors.EXCEPTION,n)}}},{key:"abort",value:function value(){var e=this._ws;!e||0!==e.readyState&&1!==e.readyState||(this._requestAbort=!0,e.close()),this._ws=null,this._status=l.LoaderStatus.kComplete}},{key:"_onWebSocketOpen",value:function value(e){this._status=l.LoaderStatus.kBuffering}},{key:"_onWebSocketClose",value:function value(e){if(!0===this._requestAbort)return void(this._requestAbort=!1);this._status=l.LoaderStatus.kComplete,this._onComplete&&this._onComplete(0,this._receivedLength-1)}},{key:"_onWebSocketMessage",value:function value(e){var t=this;if(e.data instanceof ArrayBuffer)this._dispatchArrayBuffer(e.data);else if(e.data instanceof Blob){var n=new FileReader;n.onload=function(){t._dispatchArrayBuffer(n.result)},n.readAsArrayBuffer(e.data)}else{this._status=l.LoaderStatus.kError;var i={code:-1,msg:"Unsupported WebSocket message type: "+e.data.constructor.name};if(!this._onError)throw new d.RuntimeException(i.msg);this._onError(l.LoaderErrors.EXCEPTION,i)}}},{key:"_dispatchArrayBuffer",value:function value(e){var t=e,n=this._receivedLength;this._receivedLength+=t.byteLength,this._onDataArrival&&this._onDataArrival(t,n,this._receivedLength)}},{key:"_onWebSocketError",value:function value(e){this._status=l.LoaderStatus.kError;var t={code:e.code,msg:e.message};if(!this._onError)throw new d.RuntimeException(t.msg);this._onError(l.LoaderErrors.EXCEPTION,t)}}]),t}(l.BaseLoader);n.default=h},{"../utils/exception.js":41,"../utils/logger.js":42,"./loader.js":24}],30:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=(typeof t==="undefined"?"undefined":_typeof(t))&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(typeof t==="undefined"?"undefined":_typeof(t)));e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(n,"__esModule",{value:!0});var a="function"==typeof Symbol&&"symbol"==_typeof(Symbol.iterator)?function(e){return typeof e==="undefined"?"undefined":_typeof(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e==="undefined"?"undefined":_typeof(e)},o=function e(t,n,i){null===t&&(t=Function.prototype);var r=Object.getOwnPropertyDescriptor(t,n);if(void 0===r){var s=Object.getPrototypeOf(t);return null===s?void 0:e(s,n,i)}if("value"in r)return r.value;var a=r.get;if(void 0!==a)return a.call(i)},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),l=e("../utils/logger.js"),d=function(e){return e&&e.__esModule?e:{default:e}}(l),h=e("./loader.js"),f=e("../utils/exception.js"),c=function(e){function t(e,n){i(this,t);var s=r(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"xhr-moz-chunked-loader"));return s.TAG="MozChunkedLoader",s._seekHandler=e,s._config=n,s._needStash=!0,s._xhr=null,s._requestAbort=!1,s._contentLength=null,s._receivedLength=0,s}return s(t,e),u(t,null,[{key:"isSupported",value:function value(){try{var e=new XMLHttpRequest;return e.open("GET","https://example.com",!0),e.responseType="moz-chunked-arraybuffer","moz-chunked-arraybuffer"===e.responseType}catch(e){return d.default.w("MozChunkedLoader",e.message),!1}}}]),u(t,[{key:"destroy",value:function value(){this.isWorking()&&this.abort(),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onloadend=null,this._xhr.onerror=null,this._xhr=null),o(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"destroy",this).call(this)}},{key:"open",value:function value(e,t){this._dataSource=e,this._range=t;var n=e.url;this._config.reuseRedirectedURL&&void 0!=e.redirectedURL&&(n=e.redirectedURL);var i=this._seekHandler.getConfig(n,t);this._requestURL=i.url;var r=this._xhr=new XMLHttpRequest;if(r.open("GET",i.url,!0),r.responseType="moz-chunked-arraybuffer",r.onreadystatechange=this._onReadyStateChange.bind(this),r.onprogress=this._onProgress.bind(this),r.onloadend=this._onLoadEnd.bind(this),r.onerror=this._onXhrError.bind(this),e.withCredentials&&(r.withCredentials=!0),"object"===a(i.headers)){var s=i.headers;for(var o in s){s.hasOwnProperty(o)&&r.setRequestHeader(o,s[o])}}if("object"===a(this._config.headers)){var u=this._config.headers;for(var l in u){u.hasOwnProperty(l)&&r.setRequestHeader(l,u[l])}}this._status=h.LoaderStatus.kConnecting,r.send()}},{key:"abort",value:function value(){this._requestAbort=!0,this._xhr&&this._xhr.abort(),this._status=h.LoaderStatus.kComplete}},{key:"_onReadyStateChange",value:function value(e){var t=e.target;if(2===t.readyState){if(void 0!=t.responseURL&&t.responseURL!==this._requestURL&&this._onURLRedirect){var n=this._seekHandler.removeURLParameters(t.responseURL);this._onURLRedirect(n)}if(0!==t.status&&(t.status<200||t.status>299)){if(this._status=h.LoaderStatus.kError,!this._onError)throw new f.RuntimeException("MozChunkedLoader: Http code invalid, "+t.status+" "+t.statusText);this._onError(h.LoaderErrors.HTTP_STATUS_CODE_INVALID,{code:t.status,msg:t.statusText})}else this._status=h.LoaderStatus.kBuffering}}},{key:"_onProgress",value:function value(e){if(this._status!==h.LoaderStatus.kError){null===this._contentLength&&null!==e.total&&0!==e.total&&(this._contentLength=e.total,this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength));var t=e.target.response,n=this._range.from+this._receivedLength;this._receivedLength+=t.byteLength,this._onDataArrival&&this._onDataArrival(t,n,this._receivedLength)}}},{key:"_onLoadEnd",value:function value(e){if(!0===this._requestAbort)return void(this._requestAbort=!1);this._status!==h.LoaderStatus.kError&&(this._status=h.LoaderStatus.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1))}},{key:"_onXhrError",value:function value(e){this._status=h.LoaderStatus.kError;var t=0,n=null;if(this._contentLength&&e.loaded<this._contentLength?(t=h.LoaderErrors.EARLY_EOF,n={code:-1,msg:"Moz-Chunked stream meet Early-Eof"}):(t=h.LoaderErrors.EXCEPTION,n={code:-1,msg:e.constructor.name+" "+e.type}),!this._onError)throw new f.RuntimeException(n.msg);this._onError(t,n)}}]),t}(h.BaseLoader);n.default=c},{"../utils/exception.js":41,"../utils/logger.js":42,"./loader.js":24}],31:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=(typeof t==="undefined"?"undefined":_typeof(t))&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(typeof t==="undefined"?"undefined":_typeof(t)));e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(n,"__esModule",{value:!0});var a="function"==typeof Symbol&&"symbol"==_typeof(Symbol.iterator)?function(e){return typeof e==="undefined"?"undefined":_typeof(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e==="undefined"?"undefined":_typeof(e)},o=function e(t,n,i){null===t&&(t=Function.prototype);var r=Object.getOwnPropertyDescriptor(t,n);if(void 0===r){var s=Object.getPrototypeOf(t);return null===s?void 0:e(s,n,i)}if("value"in r)return r.value;var a=r.get;if(void 0!==a)return a.call(i)},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),l=e("../utils/logger.js"),d=function(e){return e&&e.__esModule?e:{default:e}}(l),h=e("./loader.js"),f=e("../utils/exception.js"),c=function(e){function t(e,n){i(this,t);var s=r(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"xhr-msstream-loader"));return s.TAG="MSStreamLoader",s._seekHandler=e,s._config=n,s._needStash=!0,s._xhr=null,s._reader=null,s._totalRange=null,s._currentRange=null,s._currentRequestURL=null,s._currentRedirectedURL=null,s._contentLength=null,s._receivedLength=0,s._bufferLimit=16777216,s._lastTimeBufferSize=0,s._isReconnecting=!1,s}return s(t,e),u(t,null,[{key:"isSupported",value:function value(){try{if(void 0===self.MSStream||void 0===self.MSStreamReader)return!1;var e=new XMLHttpRequest;return e.open("GET","https://example.com",!0),e.responseType="ms-stream","ms-stream"===e.responseType}catch(e){return d.default.w("MSStreamLoader",e.message),!1}}}]),u(t,[{key:"destroy",value:function value(){this.isWorking()&&this.abort(),this._reader&&(this._reader.onprogress=null,this._reader.onload=null,this._reader.onerror=null,this._reader=null),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr=null),o(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"destroy",this).call(this)}},{key:"open",value:function value(e,t){this._internalOpen(e,t,!1)}},{key:"_internalOpen",value:function value(e,t,n){this._dataSource=e,n?this._currentRange=t:this._totalRange=t;var i=e.url;this._config.reuseRedirectedURL&&(void 0!=this._currentRedirectedURL?i=this._currentRedirectedURL:void 0!=e.redirectedURL&&(i=e.redirectedURL));var r=this._seekHandler.getConfig(i,t);this._currentRequestURL=r.url;var s=this._reader=new self.MSStreamReader;s.onprogress=this._msrOnProgress.bind(this),s.onload=this._msrOnLoad.bind(this),s.onerror=this._msrOnError.bind(this);var o=this._xhr=new XMLHttpRequest;if(o.open("GET",r.url,!0),o.responseType="ms-stream",o.onreadystatechange=this._xhrOnReadyStateChange.bind(this),o.onerror=this._xhrOnError.bind(this),e.withCredentials&&(o.withCredentials=!0),"object"===a(r.headers)){var u=r.headers;for(var l in u){u.hasOwnProperty(l)&&o.setRequestHeader(l,u[l])}}if("object"===a(this._config.headers)){var d=this._config.headers;for(var f in d){d.hasOwnProperty(f)&&o.setRequestHeader(f,d[f])}}this._isReconnecting?this._isReconnecting=!1:this._status=h.LoaderStatus.kConnecting,o.send()}},{key:"abort",value:function value(){this._internalAbort(),this._status=h.LoaderStatus.kComplete}},{key:"_internalAbort",value:function value(){this._reader&&(1===this._reader.readyState&&this._reader.abort(),this._reader.onprogress=null,this._reader.onload=null,this._reader.onerror=null,this._reader=null),this._xhr&&(this._xhr.abort(),this._xhr.onreadystatechange=null,this._xhr=null)}},{key:"_xhrOnReadyStateChange",value:function value(e){var t=e.target;if(2===t.readyState){if(t.status>=200&&t.status<=299){if(this._status=h.LoaderStatus.kBuffering,void 0!=t.responseURL){var n=this._seekHandler.removeURLParameters(t.responseURL);t.responseURL!==this._currentRequestURL&&n!==this._currentRedirectedURL&&(this._currentRedirectedURL=n,this._onURLRedirect&&this._onURLRedirect(n))}var i=t.getResponseHeader("Content-Length");if(null!=i&&null==this._contentLength){var r=parseInt(i);r>0&&(this._contentLength=r,this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength))}}else{if(this._status=h.LoaderStatus.kError,!this._onError)throw new f.RuntimeException("MSStreamLoader: Http code invalid, "+t.status+" "+t.statusText);this._onError(h.LoaderErrors.HTTP_STATUS_CODE_INVALID,{code:t.status,msg:t.statusText})}}else if(3===t.readyState&&t.status>=200&&t.status<=299){this._status=h.LoaderStatus.kBuffering;var s=t.response;this._reader.readAsArrayBuffer(s)}}},{key:"_xhrOnError",value:function value(e){this._status=h.LoaderStatus.kError;var t=h.LoaderErrors.EXCEPTION,n={code:-1,msg:e.constructor.name+" "+e.type};if(!this._onError)throw new f.RuntimeException(n.msg);this._onError(t,n)}},{key:"_msrOnProgress",value:function value(e){var t=e.target,n=t.result;if(null==n)return void this._doReconnectIfNeeded();var i=n.slice(this._lastTimeBufferSize);this._lastTimeBufferSize=n.byteLength;var r=this._totalRange.from+this._receivedLength;this._receivedLength+=i.byteLength,this._onDataArrival&&this._onDataArrival(i,r,this._receivedLength),n.byteLength>=this._bufferLimit&&(d.default.v(this.TAG,"MSStream buffer exceeded max size near "+(r+i.byteLength)+", reconnecting..."),this._doReconnectIfNeeded())}},{key:"_doReconnectIfNeeded",value:function value(){if(null==this._contentLength||this._receivedLength<this._contentLength){this._isReconnecting=!0,this._lastTimeBufferSize=0,this._internalAbort();var e={from:this._totalRange.from+this._receivedLength,to:-1};this._internalOpen(this._dataSource,e,!0)}}},{key:"_msrOnLoad",value:function value(e){this._status=h.LoaderStatus.kComplete,this._onComplete&&this._onComplete(this._totalRange.from,this._totalRange.from+this._receivedLength-1)}},{key:"_msrOnError",value:function value(e){this._status=h.LoaderStatus.kError;var t=0,n=null;if(this._contentLength&&this._receivedLength<this._contentLength?(t=h.LoaderErrors.EARLY_EOF,n={code:-1,msg:"MSStream meet Early-Eof"}):(t=h.LoaderErrors.EARLY_EOF,n={code:-1,msg:e.constructor.name+" "+e.type}),!this._onError)throw new f.RuntimeException(n.msg);this._onError(t,n)}}]),t}(h.BaseLoader);n.default=c},{"../utils/exception.js":41,"../utils/logger.js":42,"./loader.js":24}],32:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=(typeof t==="undefined"?"undefined":_typeof(t))&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(typeof t==="undefined"?"undefined":_typeof(t)));e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(n,"__esModule",{value:!0});var o="function"==typeof Symbol&&"symbol"==_typeof(Symbol.iterator)?function(e){return typeof e==="undefined"?"undefined":_typeof(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e==="undefined"?"undefined":_typeof(e)},u=function e(t,n,i){null===t&&(t=Function.prototype);var r=Object.getOwnPropertyDescriptor(t,n);if(void 0===r){var s=Object.getPrototypeOf(t);return null===s?void 0:e(s,n,i)}if("value"in r)return r.value;var a=r.get;if(void 0!==a)return a.call(i)},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),d=e("../utils/logger.js"),h=i(d),f=e("./speed-sampler.js"),c=i(f),_=e("./loader.js"),m=e("../utils/exception.js"),p=function(e){function t(e,n){r(this,t);var i=s(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"xhr-range-loader"));return i.TAG="RangeLoader",i._seekHandler=e,i._config=n,i._needStash=!1,i._chunkSizeKBList=[128,256,384,512,768,1024,1536,2048,3072,4096,5120,6144,7168,8192],i._currentChunkSizeKB=384,i._currentSpeedNormalized=0,i._zeroSpeedChunkCount=0,i._xhr=null,i._speedSampler=new c.default,i._requestAbort=!1,i._waitForTotalLength=!1,i._totalLengthReceived=!1,i._currentRequestURL=null,i._currentRedirectedURL=null,i._currentRequestRange=null,i._totalLength=null,i._contentLength=null,i._receivedLength=0,i._lastTimeLoaded=0,i}return a(t,e),l(t,null,[{key:"isSupported",value:function value(){try{var e=new XMLHttpRequest;return e.open("GET","https://example.com",!0),e.responseType="arraybuffer","arraybuffer"===e.responseType}catch(e){return h.default.w("RangeLoader",e.message),!1}}}]),l(t,[{key:"destroy",value:function value(){this.isWorking()&&this.abort(),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onload=null,this._xhr.onerror=null,this._xhr=null),u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"destroy",this).call(this)}},{key:"open",value:function value(e,t){this._dataSource=e,this._range=t,this._status=_.LoaderStatus.kConnecting;var n=!1;void 0!=this._dataSource.filesize&&0!==this._dataSource.filesize&&(n=!0,this._totalLength=this._dataSource.filesize),this._totalLengthReceived||n?this._openSubRange():(this._waitForTotalLength=!0,this._internalOpen(this._dataSource,{from:0,to:-1}))}},{key:"_openSubRange",value:function value(){var e=1024*this._currentChunkSizeKB,t=this._range.from+this._receivedLength,n=t+e;null!=this._contentLength&&n-this._range.from>=this._contentLength&&(n=this._range.from+this._contentLength-1),this._currentRequestRange={from:t,to:n},this._internalOpen(this._dataSource,this._currentRequestRange)}},{key:"_internalOpen",value:function value(e,t){this._lastTimeLoaded=0;var n=e.url;this._config.reuseRedirectedURL&&(void 0!=this._currentRedirectedURL?n=this._currentRedirectedURL:void 0!=e.redirectedURL&&(n=e.redirectedURL));var i=this._seekHandler.getConfig(n,t);this._currentRequestURL=i.url;var r=this._xhr=new XMLHttpRequest;if(r.open("GET",i.url,!0),r.responseType="arraybuffer",r.onreadystatechange=this._onReadyStateChange.bind(this),r.onprogress=this._onProgress.bind(this),r.onload=this._onLoad.bind(this),r.onerror=this._onXhrError.bind(this),e.withCredentials&&(r.withCredentials=!0),"object"===o(i.headers)){var s=i.headers;for(var a in s){s.hasOwnProperty(a)&&r.setRequestHeader(a,s[a])}}if("object"===o(this._config.headers)){var u=this._config.headers;for(var l in u){u.hasOwnProperty(l)&&r.setRequestHeader(l,u[l])}}r.send()}},{key:"abort",value:function value(){this._requestAbort=!0,this._internalAbort(),this._status=_.LoaderStatus.kComplete}},{key:"_internalAbort",value:function value(){this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onload=null,this._xhr.onerror=null,this._xhr.abort(),this._xhr=null)}},{key:"_onReadyStateChange",value:function value(e){var t=e.target;if(2===t.readyState){if(void 0!=t.responseURL){var n=this._seekHandler.removeURLParameters(t.responseURL);t.responseURL!==this._currentRequestURL&&n!==this._currentRedirectedURL&&(this._currentRedirectedURL=n,this._onURLRedirect&&this._onURLRedirect(n))}if(t.status>=200&&t.status<=299){if(this._waitForTotalLength)return;this._status=_.LoaderStatus.kBuffering}else{if(this._status=_.LoaderStatus.kError,!this._onError)throw new m.RuntimeException("RangeLoader: Http code invalid, "+t.status+" "+t.statusText);this._onError(_.LoaderErrors.HTTP_STATUS_CODE_INVALID,{code:t.status,msg:t.statusText})}}}},{key:"_onProgress",value:function value(e){if(this._status!==_.LoaderStatus.kError){if(null===this._contentLength){var t=!1;if(this._waitForTotalLength){this._waitForTotalLength=!1,this._totalLengthReceived=!0,t=!0;var n=e.total;this._internalAbort(),null!=n&0!==n&&(this._totalLength=n)}if(-1===this._range.to?this._contentLength=this._totalLength-this._range.from:this._contentLength=this._range.to-this._range.from+1,t)return void this._openSubRange();this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength)}var i=e.loaded-this._lastTimeLoaded;this._lastTimeLoaded=e.loaded,this._speedSampler.addBytes(i)}}},{key:"_normalizeSpeed",value:function value(e){var t=this._chunkSizeKBList,n=t.length-1,i=0,r=0,s=n;if(e<t[0])return t[0];for(;r<=s;){if((i=r+Math.floor((s-r)/2))===n||e>=t[i]&&e<t[i+1])return t[i];t[i]<e?r=i+1:s=i-1}}},{key:"_onLoad",value:function value(e){if(this._status!==_.LoaderStatus.kError){if(this._waitForTotalLength)return void(this._waitForTotalLength=!1);this._lastTimeLoaded=0;var t=this._speedSampler.lastSecondKBps;if(0===t&&++this._zeroSpeedChunkCount>=3&&(t=this._speedSampler.currentKBps),0!==t){var n=this._normalizeSpeed(t);this._currentSpeedNormalized!==n&&(this._currentSpeedNormalized=n,this._currentChunkSizeKB=n)}var i=e.target.response,r=this._range.from+this._receivedLength;this._receivedLength+=i.byteLength;var s=!1;null!=this._contentLength&&this._receivedLength<this._contentLength?this._openSubRange():s=!0,this._onDataArrival&&this._onDataArrival(i,r,this._receivedLength),s&&(this._status=_.LoaderStatus.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1))}}},{key:"_onXhrError",value:function value(e){this._status=_.LoaderStatus.kError;var t=0,n=null;if(this._contentLength&&this._receivedLength>0&&this._receivedLength<this._contentLength?(t=_.LoaderErrors.EARLY_EOF,n={code:-1,msg:"RangeLoader meet Early-Eof"}):(t=_.LoaderErrors.EXCEPTION,n={code:-1,msg:e.constructor.name+" "+e.type}),!this._onError)throw new m.RuntimeException(n.msg);this._onError(t,n)}},{key:"currentSpeed",get:function get(){return this._speedSampler.lastSecondKBps}}]),t}(_.BaseLoader);n.default=p},{"../utils/exception.js":41,"../utils/logger.js":42,"./loader.js":24,"./speed-sampler.js":27}],33:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var s="function"==typeof Symbol&&"symbol"==_typeof(Symbol.iterator)?function(e){return typeof e==="undefined"?"undefined":_typeof(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e==="undefined"?"undefined":_typeof(e)},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=e("events"),u=i(o),l=e("../utils/logger.js"),d=i(l),h=e("../utils/browser.js"),f=i(h),c=e("./player-events.js"),_=i(c),m=e("../core/transmuxer.js"),p=i(m),v=e("../core/transmuxing-events.js"),g=i(v),y=e("../core/mse-controller.js"),b=i(y),E=e("../core/mse-events.js"),S=i(E),k=e("./player-errors.js"),L=e("../config.js"),R=e("../utils/exception.js"),w=function(){function e(t,n){if(r(this,e),this.TAG="FlvPlayer",this._type="FlvPlayer",this._emitter=new u.default,this._config=(0,L.createDefaultConfig)(),"object"===(void 0===n?"undefined":s(n))&&Object.assign(this._config,n),"flv"!==t.type.toLowerCase())throw new R.InvalidArgumentException("FlvPlayer requires an flv MediaDataSource input!");!0===t.isLive&&(this._config.isLive=!0),this.e={onvLoadedMetadata:this._onvLoadedMetadata.bind(this),onvSeeking:this._onvSeeking.bind(this),onvCanPlay:this._onvCanPlay.bind(this),onvStalled:this._onvStalled.bind(this),onvProgress:this._onvProgress.bind(this)},self.performance&&self.performance.now?this._now=self.performance.now.bind(self.performance):this._now=Date.now,this._pendingSeekTime=null,this._requestSetTime=!1,this._seekpointRecord=null,this._progressChecker=null,this._mediaDataSource=t,this._mediaElement=null,this._msectl=null,this._transmuxer=null,this._mseSourceOpened=!1,this._hasPendingLoad=!1,this._receivedCanPlay=!1,this._mediaInfo=null,this._statisticsInfo=null;var i=f.default.chrome&&(f.default.version.major<50||50===f.default.version.major&&f.default.version.build<2661);this._alwaysSeekKeyframe=!!(i||f.default.msedge||f.default.msie),this._alwaysSeekKeyframe&&(this._config.accurateSeek=!1)}return a(e,[{key:"destroy",value:function value(){null!=this._progressChecker&&(window.clearInterval(this._progressChecker),this._progressChecker=null),this._transmuxer&&this.unload(),this._mediaElement&&this.detachMediaElement(),this.e=null,this._mediaDataSource=null,this._emitter.removeAllListeners(),this._emitter=null}},{key:"on",value:function value(e,t){var n=this;e===_.default.MEDIA_INFO?null!=this._mediaInfo&&Promise.resolve().then(function(){n._emitter.emit(_.default.MEDIA_INFO,n.mediaInfo)}):e===_.default.STATISTICS_INFO&&null!=this._statisticsInfo&&Promise.resolve().then(function(){n._emitter.emit(_.default.STATISTICS_INFO,n.statisticsInfo)}),this._emitter.addListener(e,t)}},{key:"off",value:function value(e,t){this._emitter.removeListener(e,t)}},{key:"attachMediaElement",value:function value(e){var t=this;if(this._mediaElement=e,e.addEventListener("loadedmetadata",this.e.onvLoadedMetadata),e.addEventListener("seeking",this.e.onvSeeking),e.addEventListener("canplay",this.e.onvCanPlay),e.addEventListener("stalled",this.e.onvStalled),e.addEventListener("progress",this.e.onvProgress),this._msectl=new b.default(this._config),this._msectl.on(S.default.UPDATE_END,this._onmseUpdateEnd.bind(this)),this._msectl.on(S.default.BUFFER_FULL,this._onmseBufferFull.bind(this)),this._msectl.on(S.default.SOURCE_OPEN,function(){t._mseSourceOpened=!0,t._hasPendingLoad&&(t._hasPendingLoad=!1,t.load())}),this._msectl.on(S.default.ERROR,function(e){t._emitter.emit(_.default.ERROR,k.ErrorTypes.MEDIA_ERROR,k.ErrorDetails.MEDIA_MSE_ERROR,e)}),this._msectl.attachMediaElement(e),null!=this._pendingSeekTime)try{e.currentTime=this._pendingSeekTime,this._pendingSeekTime=null}catch(e){}}},{key:"detachMediaElement",value:function value(){this._mediaElement&&(this._msectl.detachMediaElement(),this._mediaElement.removeEventListener("loadedmetadata",this.e.onvLoadedMetadata),this._mediaElement.removeEventListener("seeking",this.e.onvSeeking),this._mediaElement.removeEventListener("canplay",this.e.onvCanPlay),this._mediaElement.removeEventListener("stalled",this.e.onvStalled),this._mediaElement.removeEventListener("progress",this.e.onvProgress),this._mediaElement=null),this._msectl&&(this._msectl.destroy(),this._msectl=null)}},{key:"load",value:function value(){var e=this;if(!this._mediaElement)throw new R.IllegalStateException("HTMLMediaElement must be attached before load()!");if(this._transmuxer)throw new R.IllegalStateException("FlvPlayer.load() has been called, please call unload() first!");if(!this._hasPendingLoad){if(this._config.deferLoadAfterSourceOpen&&!1===this._mseSourceOpened)return void(this._hasPendingLoad=!0);this._mediaElement.readyState>0&&(this._requestSetTime=!0,this._mediaElement.currentTime=0),this._transmuxer=new p.default(this._mediaDataSource,this._config),this._transmuxer.on(g.default.INIT_SEGMENT,function(t,n){e._msectl.appendInitSegment(n)}),this._transmuxer.on(g.default.MEDIA_SEGMENT,function(t,n){if(e._msectl.appendMediaSegment(n),e._config.lazyLoad&&!e._config.isLive){var i=e._mediaElement.currentTime;n.info.endDts>=1e3*(i+e._config.lazyLoadMaxDuration)&&null==e._progressChecker&&(d.default.v(e.TAG,"Maximum buffering duration exceeded, suspend transmuxing task"),e._suspendTransmuxer())}}),this._transmuxer.on(g.default.LOADING_COMPLETE,function(){e._msectl.endOfStream(),e._emitter.emit(_.default.LOADING_COMPLETE)}),this._transmuxer.on(g.default.RECOVERED_EARLY_EOF,function(){e._emitter.emit(_.default.RECOVERED_EARLY_EOF)}),this._transmuxer.on(g.default.IO_ERROR,function(t,n){e._emitter.emit(_.default.ERROR,k.ErrorTypes.NETWORK_ERROR,t,n)}),this._transmuxer.on(g.default.DEMUX_ERROR,function(t,n){e._emitter.emit(_.default.ERROR,k.ErrorTypes.MEDIA_ERROR,t,{code:-1,msg:n})}),this._transmuxer.on(g.default.MEDIA_INFO,function(t){e._mediaInfo=t,e._emitter.emit(_.default.MEDIA_INFO,Object.assign({},t))}),this._transmuxer.on(g.default.METADATA_ARRIVED,function(t){e._emitter.emit(_.default.METADATA_ARRIVED,t)}),this._transmuxer.on(g.default.SCRIPTDATA_ARRIVED,function(t){e._emitter.emit(_.default.SCRIPTDATA_ARRIVED,t)}),this._transmuxer.on(g.default.STATISTICS_INFO,function(t){e._statisticsInfo=e._fillStatisticsInfo(t),e._emitter.emit(_.default.STATISTICS_INFO,Object.assign({},e._statisticsInfo))}),this._transmuxer.on(g.default.RECOMMEND_SEEKPOINT,function(t){e._mediaElement&&!e._config.accurateSeek&&(e._requestSetTime=!0,e._mediaElement.currentTime=t/1e3)}),this._transmuxer.open()}}},{key:"unload",value:function value(){this._mediaElement&&this._mediaElement.pause(),this._msectl&&this._msectl.seek(0),this._transmuxer&&(this._transmuxer.close(),this._transmuxer.destroy(),this._transmuxer=null)}},{key:"play",value:function value(){return this._mediaElement.play()}},{key:"pause",value:function value(){this._mediaElement.pause()}},{key:"_fillStatisticsInfo",value:function value(e){if(e.playerType=this._type,!(this._mediaElement instanceof HTMLVideoElement))return e;var t=!0,n=0,i=0;if(this._mediaElement.getVideoPlaybackQuality){var r=this._mediaElement.getVideoPlaybackQuality();n=r.totalVideoFrames,i=r.droppedVideoFrames}else void 0!=this._mediaElement.webkitDecodedFrameCount?(n=this._mediaElement.webkitDecodedFrameCount,i=this._mediaElement.webkitDroppedFrameCount):t=!1;return t&&(e.decodedFrames=n,e.droppedFrames=i),e}},{key:"_onmseUpdateEnd",value:function value(){if(this._config.lazyLoad&&!this._config.isLive){for(var e=this._mediaElement.buffered,t=this._mediaElement.currentTime,n=0,i=0;i<e.length;i++){var r=e.start(i),s=e.end(i);if(r<=t&&t<s){r,n=s;break}}n>=t+this._config.lazyLoadMaxDuration&&null==this._progressChecker&&(d.default.v(this.TAG,"Maximum buffering duration exceeded, suspend transmuxing task"),this._suspendTransmuxer())}}},{key:"_onmseBufferFull",value:function value(){d.default.v(this.TAG,"MSE SourceBuffer is full, suspend transmuxing task"),null==this._progressChecker&&this._suspendTransmuxer()}},{key:"_suspendTransmuxer",value:function value(){this._transmuxer&&(this._transmuxer.pause(),null==this._progressChecker&&(this._progressChecker=window.setInterval(this._checkProgressAndResume.bind(this),1e3)))}},{key:"_checkProgressAndResume",value:function value(){for(var e=this._mediaElement.currentTime,t=this._mediaElement.buffered,n=!1,i=0;i<t.length;i++){var r=t.start(i),s=t.end(i);if(e>=r&&e<s){e>=s-this._config.lazyLoadRecoverDuration&&(n=!0);break}}n&&(window.clearInterval(this._progressChecker),this._progressChecker=null,n&&(d.default.v(this.TAG,"Continue loading from paused position"),this._transmuxer.resume()))}},{key:"_isTimepointBuffered",value:function value(e){for(var t=this._mediaElement.buffered,n=0;n<t.length;n++){var i=t.start(n),r=t.end(n);if(e>=i&&e<r)return!0}return!1}},{key:"_internalSeek",value:function value(e){var t=this._isTimepointBuffered(e),n=!1,i=0;if(e<1&&this._mediaElement.buffered.length>0){var r=this._mediaElement.buffered.start(0);(r<1&&e<r||f.default.safari)&&(n=!0,i=f.default.safari?.1:r)}if(n)this._requestSetTime=!0,this._mediaElement.currentTime=i;else if(t){if(this._alwaysSeekKeyframe){var s=this._msectl.getNearestKeyframe(Math.floor(1e3*e));this._requestSetTime=!0,this._mediaElement.currentTime=null!=s?s.dts/1e3:e}else this._requestSetTime=!0,this._mediaElement.currentTime=e;null!=this._progressChecker&&this._checkProgressAndResume()}else null!=this._progressChecker&&(window.clearInterval(this._progressChecker),this._progressChecker=null),this._msectl.seek(e),this._transmuxer.seek(Math.floor(1e3*e)),this._config.accurateSeek&&(this._requestSetTime=!0,this._mediaElement.currentTime=e)}},{key:"_checkAndApplyUnbufferedSeekpoint",value:function value(){if(this._seekpointRecord)if(this._seekpointRecord.recordTime<=this._now()-100){var e=this._mediaElement.currentTime;this._seekpointRecord=null,this._isTimepointBuffered(e)||(null!=this._progressChecker&&(window.clearTimeout(this._progressChecker),this._progressChecker=null),this._msectl.seek(e),this._transmuxer.seek(Math.floor(1e3*e)),this._config.accurateSeek&&(this._requestSetTime=!0,this._mediaElement.currentTime=e))}else window.setTimeout(this._checkAndApplyUnbufferedSeekpoint.bind(this),50)}},{key:"_checkAndResumeStuckPlayback",value:function value(e){var t=this._mediaElement;if(e||!this._receivedCanPlay||t.readyState<2){var n=t.buffered;n.length>0&&t.currentTime<n.start(0)&&(d.default.w(this.TAG,"Playback seems stuck at "+t.currentTime+", seek to "+n.start(0)),this._requestSetTime=!0,this._mediaElement.currentTime=n.start(0),this._mediaElement.removeEventListener("progress",this.e.onvProgress))}else this._mediaElement.removeEventListener("progress",this.e.onvProgress)}},{key:"_onvLoadedMetadata",value:function value(e){null!=this._pendingSeekTime&&(this._mediaElement.currentTime=this._pendingSeekTime,this._pendingSeekTime=null)}},{key:"_onvSeeking",value:function value(e){var t=this._mediaElement.currentTime,n=this._mediaElement.buffered;if(this._requestSetTime)return void(this._requestSetTime=!1);if(t<1&&n.length>0){var i=n.start(0);if(i<1&&t<i||f.default.safari)return this._requestSetTime=!0,void(this._mediaElement.currentTime=f.default.safari?.1:i)}if(this._isTimepointBuffered(t)){if(this._alwaysSeekKeyframe){var r=this._msectl.getNearestKeyframe(Math.floor(1e3*t));null!=r&&(this._requestSetTime=!0,this._mediaElement.currentTime=r.dts/1e3)}return void(null!=this._progressChecker&&this._checkProgressAndResume())}this._seekpointRecord={seekPoint:t,recordTime:this._now()},window.setTimeout(this._checkAndApplyUnbufferedSeekpoint.bind(this),50)}},{key:"_onvCanPlay",value:function value(e){this._receivedCanPlay=!0,this._mediaElement.removeEventListener("canplay",this.e.onvCanPlay)}},{key:"_onvStalled",value:function value(e){this._checkAndResumeStuckPlayback(!0)}},{key:"_onvProgress",value:function value(e){this._checkAndResumeStuckPlayback()}},{key:"type",get:function get(){return this._type}},{key:"buffered",get:function get(){return this._mediaElement.buffered}},{key:"duration",get:function get(){return this._mediaElement.duration}},{key:"volume",get:function get(){return this._mediaElement.volume},set:function set(e){this._mediaElement.volume=e}},{key:"muted",get:function get(){return this._mediaElement.muted},set:function set(e){this._mediaElement.muted=e}},{key:"currentTime",get:function get(){return this._mediaElement?this._mediaElement.currentTime:0},set:function set(e){this._mediaElement?this._internalSeek(e):this._pendingSeekTime=e}},{key:"mediaInfo",get:function get(){return Object.assign({},this._mediaInfo)}},{key:"statisticsInfo",get:function get(){return null==this._statisticsInfo&&(this._statisticsInfo={}),this._statisticsInfo=this._fillStatisticsInfo(this._statisticsInfo),Object.assign({},this._statisticsInfo)}}]),e}();n.default=w},{"../config.js":5,"../core/mse-controller.js":9,"../core/mse-events.js":10,"../core/transmuxer.js":11,"../core/transmuxing-events.js":13,"../utils/browser.js":40,"../utils/exception.js":41,"../utils/logger.js":42,"./player-errors.js":35,"./player-events.js":36,events:2}],34:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var s="function"==typeof Symbol&&"symbol"==_typeof(Symbol.iterator)?function(e){return typeof e==="undefined"?"undefined":_typeof(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e==="undefined"?"undefined":_typeof(e)},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=e("events"),u=i(o),l=e("./player-events.js"),d=i(l),h=e("../config.js"),f=e("../utils/exception.js"),c=function(){function e(t,n){if(r(this,e),this.TAG="NativePlayer",this._type="NativePlayer",this._emitter=new u.default,this._config=(0,h.createDefaultConfig)(),"object"===(void 0===n?"undefined":s(n))&&Object.assign(this._config,n),"flv"===t.type.toLowerCase())throw new f.InvalidArgumentException("NativePlayer does't support flv MediaDataSource input!");if(t.hasOwnProperty("segments"))throw new f.InvalidArgumentException("NativePlayer("+t.type+") doesn't support multipart playback!");this.e={onvLoadedMetadata:this._onvLoadedMetadata.bind(this)},this._pendingSeekTime=null,this._statisticsReporter=null,this._mediaDataSource=t,this._mediaElement=null}return a(e,[{key:"destroy",value:function value(){this._mediaElement&&(this.unload(),this.detachMediaElement()),this.e=null,this._mediaDataSource=null,this._emitter.removeAllListeners(),this._emitter=null}},{key:"on",value:function value(e,t){var n=this;e===d.default.MEDIA_INFO?null!=this._mediaElement&&0!==this._mediaElement.readyState&&Promise.resolve().then(function(){n._emitter.emit(d.default.MEDIA_INFO,n.mediaInfo)}):e===d.default.STATISTICS_INFO&&null!=this._mediaElement&&0!==this._mediaElement.readyState&&Promise.resolve().then(function(){n._emitter.emit(d.default.STATISTICS_INFO,n.statisticsInfo)}),this._emitter.addListener(e,t)}},{key:"off",value:function value(e,t){this._emitter.removeListener(e,t)}},{key:"attachMediaElement",value:function value(e){if(this._mediaElement=e,e.addEventListener("loadedmetadata",this.e.onvLoadedMetadata),null!=this._pendingSeekTime)try{e.currentTime=this._pendingSeekTime,this._pendingSeekTime=null}catch(e){}}},{key:"detachMediaElement",value:function value(){this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src"),this._mediaElement.removeEventListener("loadedmetadata",this.e.onvLoadedMetadata),this._mediaElement=null),null!=this._statisticsReporter&&(window.clearInterval(this._statisticsReporter),this._statisticsReporter=null)}},{key:"load",value:function value(){if(!this._mediaElement)throw new f.IllegalStateException("HTMLMediaElement must be attached before load()!");this._mediaElement.src=this._mediaDataSource.url,this._mediaElement.readyState>0&&(this._mediaElement.currentTime=0),this._mediaElement.preload="auto",this._mediaElement.load(),this._statisticsReporter=window.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval)}},{key:"unload",value:function value(){this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src")),null!=this._statisticsReporter&&(window.clearInterval(this._statisticsReporter),this._statisticsReporter=null)}},{key:"play",value:function value(){return this._mediaElement.play()}},{key:"pause",value:function value(){this._mediaElement.pause()}},{key:"_onvLoadedMetadata",value:function value(e){null!=this._pendingSeekTime&&(this._mediaElement.currentTime=this._pendingSeekTime,this._pendingSeekTime=null),this._emitter.emit(d.default.MEDIA_INFO,this.mediaInfo)}},{key:"_reportStatisticsInfo",value:function value(){this._emitter.emit(d.default.STATISTICS_INFO,this.statisticsInfo)}},{key:"type",get:function get(){return this._type}},{key:"buffered",get:function get(){return this._mediaElement.buffered}},{key:"duration",get:function get(){return this._mediaElement.duration}},{key:"volume",get:function get(){return this._mediaElement.volume},set:function set(e){this._mediaElement.volume=e}},{key:"muted",get:function get(){return this._mediaElement.muted},set:function set(e){this._mediaElement.muted=e}},{key:"currentTime",get:function get(){return this._mediaElement?this._mediaElement.currentTime:0},set:function set(e){this._mediaElement?this._mediaElement.currentTime=e:this._pendingSeekTime=e}},{key:"mediaInfo",get:function get(){var e=this._mediaElement instanceof HTMLAudioElement?"audio/":"video/",t={mimeType:e+this._mediaDataSource.type};return this._mediaElement&&(t.duration=Math.floor(1e3*this._mediaElement.duration),this._mediaElement instanceof HTMLVideoElement&&(t.width=this._mediaElement.videoWidth,t.height=this._mediaElement.videoHeight)),t}},{key:"statisticsInfo",get:function get(){var e={playerType:this._type,url:this._mediaDataSource.url};if(!(this._mediaElement instanceof HTMLVideoElement))return e;var t=!0,n=0,i=0;if(this._mediaElement.getVideoPlaybackQuality){var r=this._mediaElement.getVideoPlaybackQuality();n=r.totalVideoFrames,i=r.droppedVideoFrames}else void 0!=this._mediaElement.webkitDecodedFrameCount?(n=this._mediaElement.webkitDecodedFrameCount,i=this._mediaElement.webkitDroppedFrameCount):t=!1;return t&&(e.decodedFrames=n,e.droppedFrames=i),e}}]),e}();n.default=c},{"../config.js":5,"../utils/exception.js":41,"./player-events.js":36,events:2}],35:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ErrorDetails=n.ErrorTypes=void 0;var i=e("../io/loader.js"),r=e("../demux/demux-errors.js"),s=function(e){return e&&e.__esModule?e:{default:e}}(r);n.ErrorTypes={NETWORK_ERROR:"NetworkError",MEDIA_ERROR:"MediaError",OTHER_ERROR:"OtherError"},n.ErrorDetails={NETWORK_EXCEPTION:i.LoaderErrors.EXCEPTION,NETWORK_STATUS_CODE_INVALID:i.LoaderErrors.HTTP_STATUS_CODE_INVALID,NETWORK_TIMEOUT:i.LoaderErrors.CONNECTING_TIMEOUT,NETWORK_UNRECOVERABLE_EARLY_EOF:i.LoaderErrors.UNRECOVERABLE_EARLY_EOF,MEDIA_MSE_ERROR:"MediaMSEError",MEDIA_FORMAT_ERROR:s.default.FORMAT_ERROR,MEDIA_FORMAT_UNSUPPORTED:s.default.FORMAT_UNSUPPORTED,MEDIA_CODEC_UNSUPPORTED:s.default.CODEC_UNSUPPORTED}},{"../demux/demux-errors.js":16,"../io/loader.js":24}],36:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i={ERROR:"error",LOADING_COMPLETE:"loading_complete",RECOVERED_EARLY_EOF:"recovered_early_eof",MEDIA_INFO:"media_info",METADATA_ARRIVED:"metadata_arrived",SCRIPTDATA_ARRIVED:"scriptdata_arrived",STATISTICS_INFO:"statistics_info"};n.default=i},{}],37:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=function(){function e(){i(this,e)}return r(e,null,[{key:"getSilentFrame",value:function value(e,t){if("mp4a.40.2"===e){if(1===t)return new Uint8Array([0,200,0,128,35,128]);if(2===t)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===t)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}return null}}]),e}();n.default=s},{}],38:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=function(){function e(){i(this,e)}return r(e,null,[{key:"init",value:function value(){e.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[]};for(var t in e.types){e.types.hasOwnProperty(t)&&(e.types[t]=[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3)])}var n=e.constants={};n.FTYP=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),n.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),n.STTS=new Uint8Array([0,0,0,0,0,0,0,0]),n.STSC=n.STCO=n.STTS,n.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),n.HDLR_VIDEO=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),n.HDLR_AUDIO=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),n.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),n.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),n.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}},{key:"box",value:function value(e){for(var t=8,n=null,i=Array.prototype.slice.call(arguments,1),r=i.length,s=0;s<r;s++){t+=i[s].byteLength}n=new Uint8Array(t),n[0]=t>>>24&255,n[1]=t>>>16&255,n[2]=t>>>8&255,n[3]=255&t,n.set(e,4);for(var a=8,o=0;o<r;o++){n.set(i[o],a),a+=i[o].byteLength}return n}},{key:"generateInitSegment",value:function value(t){var n=e.box(e.types.ftyp,e.constants.FTYP),i=e.moov(t),r=new Uint8Array(n.byteLength+i.byteLength);return r.set(n,0),r.set(i,n.byteLength),r}},{key:"moov",value:function value(t){var n=e.mvhd(t.timescale,t.duration),i=e.trak(t),r=e.mvex(t);return e.box(e.types.moov,n,i,r)}},{key:"mvhd",value:function value(t,n){return e.box(e.types.mvhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,n>>>24&255,n>>>16&255,n>>>8&255,255&n,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}},{key:"trak",value:function value(t){return e.box(e.types.trak,e.tkhd(t),e.mdia(t))}},{key:"tkhd",value:function value(t){var n=t.id,i=t.duration,r=t.presentWidth,s=t.presentHeight;return e.box(e.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n,0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,r>>>8&255,255&r,0,0,s>>>8&255,255&s,0,0]))}},{key:"mdia",value:function value(t){return e.box(e.types.mdia,e.mdhd(t),e.hdlr(t),e.minf(t))}},{key:"mdhd",value:function value(t){var n=t.timescale,i=t.duration;return e.box(e.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n,i>>>24&255,i>>>16&255,i>>>8&255,255&i,85,196,0,0]))}},{key:"hdlr",value:function value(t){var n=null;return n="audio"===t.type?e.constants.HDLR_AUDIO:e.constants.HDLR_VIDEO,e.box(e.types.hdlr,n)}},{key:"minf",value:function value(t){var n=null;return n="audio"===t.type?e.box(e.types.smhd,e.constants.SMHD):e.box(e.types.vmhd,e.constants.VMHD),e.box(e.types.minf,n,e.dinf(),e.stbl(t))}},{key:"dinf",value:function value(){return e.box(e.types.dinf,e.box(e.types.dref,e.constants.DREF))}},{key:"stbl",value:function value(t){return e.box(e.types.stbl,e.stsd(t),e.box(e.types.stts,e.constants.STTS),e.box(e.types.stsc,e.constants.STSC),e.box(e.types.stsz,e.constants.STSZ),e.box(e.types.stco,e.constants.STCO))}},{key:"stsd",value:function value(t){return"audio"===t.type?"mp3"===t.codec?e.box(e.types.stsd,e.constants.STSD_PREFIX,e.mp3(t)):e.box(e.types.stsd,e.constants.STSD_PREFIX,e.mp4a(t)):e.box(e.types.stsd,e.constants.STSD_PREFIX,e.avc1(t))}},{key:"mp3",value:function value(t){var n=t.channelCount,i=t.audioSampleRate,r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,n,0,16,0,0,0,0,i>>>8&255,255&i,0,0]);return e.box(e.types[".mp3"],r)}},{key:"mp4a",value:function value(t){var n=t.channelCount,i=t.audioSampleRate,r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,n,0,16,0,0,0,0,i>>>8&255,255&i,0,0]);return e.box(e.types.mp4a,r,e.esds(t))}},{key:"esds",value:function value(t){var n=t.config||[],i=n.length,r=new Uint8Array([0,0,0,0,3,23+i,0,1,0,4,15+i,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([i]).concat(n).concat([6,1,2]));return e.box(e.types.esds,r)}},{key:"avc1",value:function value(t){var n=t.avcc,i=t.codecWidth,r=t.codecHeight,s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,i>>>8&255,255&i,r>>>8&255,255&r,0,72,0,0,0,72,0,0,0,0,0,0,0,1,10,120,113,113,47,102,108,118,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return e.box(e.types.avc1,s,e.box(e.types.avcC,n))}},{key:"mvex",value:function value(t){return e.box(e.types.mvex,e.trex(t))}},{key:"trex",value:function value(t){var n=t.id,i=new Uint8Array([0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return e.box(e.types.trex,i)}},{key:"moof",value:function value(t,n){return e.box(e.types.moof,e.mfhd(t.sequenceNumber),e.traf(t,n))}},{key:"mfhd",value:function value(t){var n=new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t]);return e.box(e.types.mfhd,n)}},{key:"traf",value:function value(t,n){var i=t.id,r=e.box(e.types.tfhd,new Uint8Array([0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i])),s=e.box(e.types.tfdt,new Uint8Array([0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n])),a=e.sdtp(t),o=e.trun(t,a.byteLength+16+16+8+16+8+8);return e.box(e.types.traf,r,s,o,a)}},{key:"sdtp",value:function value(t){for(var n=t.samples||[],i=n.length,r=new Uint8Array(4+i),s=0;s<i;s++){var a=n[s].flags;r[s+4]=a.isLeading<<6|a.dependsOn<<4|a.isDependedOn<<2|a.hasRedundancy}return e.box(e.types.sdtp,r)}},{key:"trun",value:function value(t,n){var i=t.samples||[],r=i.length,s=12+16*r,a=new Uint8Array(s);n+=8+s,a.set([0,0,15,1,r>>>24&255,r>>>16&255,r>>>8&255,255&r,n>>>24&255,n>>>16&255,n>>>8&255,255&n],0);for(var o=0;o<r;o++){var u=i[o].duration,l=i[o].size,d=i[o].flags,h=i[o].cts;a.set([u>>>24&255,u>>>16&255,u>>>8&255,255&u,l>>>24&255,l>>>16&255,l>>>8&255,255&l,d.isLeading<<2|d.dependsOn,d.isDependedOn<<6|d.hasRedundancy<<4|d.isNonSync,0,0,h>>>24&255,h>>>16&255,h>>>8&255,255&h],12+16*o)}return e.box(e.types.trun,a)}},{key:"mdat",value:function value(t){return e.box(e.types.mdat,t)}}]),e}();s.init(),n.default=s},{}],39:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=e("../utils/logger.js"),o=i(a),u=e("./mp4-generator.js"),l=i(u),d=e("./aac-silent.js"),h=i(d),f=e("../utils/browser.js"),c=i(f),_=e("../core/media-segment-info.js"),m=e("../utils/exception.js"),p=function(){function e(t){r(this,e),this.TAG="MP4Remuxer",this._config=t,this._isLive=!0===t.isLive,this._dtsBase=-1,this._dtsBaseInited=!1,this._audioDtsBase=1/0,this._videoDtsBase=1/0,this._audioNextDts=void 0,this._videoNextDts=void 0,this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList=new _.MediaSegmentInfoList("audio"),this._videoSegmentInfoList=new _.MediaSegmentInfoList("video"),this._onInitSegment=null,this._onMediaSegment=null,this._forceFirstIDR=!(!c.default.chrome||!(c.default.version.major<50||50===c.default.version.major&&c.default.version.build<2661)),this._fillSilentAfterSeek=c.default.msedge||c.default.msie,this._mp3UseMpegAudio=!c.default.firefox,this._fillAudioTimestampGap=this._config.fixAudioTimestampGap}return s(e,[{key:"destroy",value:function value(){this._dtsBase=-1,this._dtsBaseInited=!1,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList.clear(),this._audioSegmentInfoList=null,this._videoSegmentInfoList.clear(),this._videoSegmentInfoList=null,this._onInitSegment=null,this._onMediaSegment=null}},{key:"bindDataSource",value:function value(e){return e.onDataAvailable=this.remux.bind(this),e.onTrackMetadata=this._onTrackMetadataReceived.bind(this),this}},{key:"insertDiscontinuity",value:function value(){this._audioNextDts=this._videoNextDts=void 0}},{key:"seek",value:function value(e){this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._videoSegmentInfoList.clear(),this._audioSegmentInfoList.clear()}},{key:"remux",value:function value(e,t){if(!this._onMediaSegment)throw new m.IllegalStateException("MP4Remuxer: onMediaSegment callback must be specificed!");this._dtsBaseInited||this._calculateDtsBase(e,t),this._remuxVideo(t),this._remuxAudio(e)}},{key:"_onTrackMetadataReceived",value:function value(e,t){var n=null,i="mp4",r=t.codec;if("audio"===e)this._audioMeta=t,"mp3"===t.codec&&this._mp3UseMpegAudio?(i="mpeg",r="",n=new Uint8Array):n=l.default.generateInitSegment(t);else{if("video"!==e)return;this._videoMeta=t,n=l.default.generateInitSegment(t)}if(!this._onInitSegment)throw new m.IllegalStateException("MP4Remuxer: onInitSegment callback must be specified!");this._onInitSegment(e,{type:e,data:n.buffer,codec:r,container:e+"/"+i,mediaDuration:t.duration})}},{key:"_calculateDtsBase",value:function value(e,t){this._dtsBaseInited||(e.samples&&e.samples.length&&(this._audioDtsBase=e.samples[0].dts),t.samples&&t.samples.length&&(this._videoDtsBase=t.samples[0].dts),this._dtsBase=Math.min(this._audioDtsBase,this._videoDtsBase),this._dtsBaseInited=!0)}},{key:"flushStashedSamples",value:function value(){var e=this._videoStashedLastSample,t=this._audioStashedLastSample,n={type:"video",id:1,sequenceNumber:0,samples:[],length:0};null!=e&&(n.samples.push(e),n.length=e.length);var i={type:"audio",id:2,sequenceNumber:0,samples:[],length:0};null!=t&&(i.samples.push(t),i.length=t.length),this._videoStashedLastSample=null,this._audioStashedLastSample=null,this._remuxVideo(n,!0),this._remuxAudio(i,!0)}},{key:"_remuxAudio",value:function value(e,t){if(null!=this._audioMeta){var n=e,i=n.samples,r=void 0,s=-1,a=-1,u=this._audioMeta.refSampleDuration,d="mp3"===this._audioMeta.codec&&this._mp3UseMpegAudio,f=this._dtsBaseInited&&void 0===this._audioNextDts,m=!1;if(i&&0!==i.length&&(1!==i.length||t)){var p=0,v=null,g=0;d?(p=0,g=n.length):(p=8,g=8+n.length);var y=null;if(i.length>1&&(y=i.pop(),g-=y.length),null!=this._audioStashedLastSample){var b=this._audioStashedLastSample;this._audioStashedLastSample=null,i.unshift(b),g+=b.length}null!=y&&(this._audioStashedLastSample=y);var E=i[0].dts-this._dtsBase;if(this._audioNextDts)r=E-this._audioNextDts;else if(this._audioSegmentInfoList.isEmpty())r=0,this._fillSilentAfterSeek&&!this._videoSegmentInfoList.isEmpty()&&"mp3"!==this._audioMeta.originalCodec&&(m=!0);else{var S=this._audioSegmentInfoList.getLastSampleBefore(E);if(null!=S){var k=E-(S.originalDts+S.duration);k<=3&&(k=0);var L=S.dts+S.duration+k;r=E-L}else r=0}if(m){var R=E-r,w=this._videoSegmentInfoList.getLastSegmentBefore(E);if(null!=w&&w.beginDts<R){var A=h.default.getSilentFrame(this._audioMeta.originalCodec,this._audioMeta.channelCount);if(A){var T=w.beginDts,O=R-w.beginDts;o.default.v(this.TAG,"InsertPrefixSilentAudio: dts: "+T+", duration: "+O),i.unshift({unit:A,dts:T,pts:T}),g+=A.byteLength}}else m=!1}for(var C=[],I=0;I<i.length;I++){var D=i[I],x=D.unit,M=D.dts-this._dtsBase,j=M-r;-1===s&&(s=j);var B=0;if(I!==i.length-1){B=i[I+1].dts-this._dtsBase-r-j}else if(null!=y){var P=y.dts-this._dtsBase-r;B=P-j}else B=C.length>=1?C[C.length-1].duration:Math.floor(u);var U=!1,N=null;if(B>1.5*u&&"mp3"!==this._audioMeta.codec&&this._fillAudioTimestampGap&&!c.default.safari){U=!0;var F=Math.abs(B-u),G=Math.ceil(F/u),V=j+u;o.default.w(this.TAG,"Large audio timestamp gap detected, may cause AV sync to drift. Silent frames will be generated to avoid unsync.\ndts: "+(j+B)+" ms, expected: "+(j+Math.round(u))+" ms, delta: "+Math.round(F)+" ms, generate: "+G+" frames");var z=h.default.getSilentFrame(this._audioMeta.originalCodec,this._audioMeta.channelCount);null==z&&(o.default.w(this.TAG,"Unable to generate silent frame for "+this._audioMeta.originalCodec+" with "+this._audioMeta.channelCount+" channels, repeat last frame"),z=x),N=[];for(var H=0;H<G;H++){var q=Math.round(V);if(N.length>0){var K=N[N.length-1];K.duration=q-K.dts}var W={dts:q,pts:q,cts:0,unit:z,size:z.byteLength,duration:0,originalDts:M,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}};N.push(W),g+=W.size,V+=u}var X=N[N.length-1];X.duration=j+B-X.dts,B=Math.round(u)}C.push({dts:j,pts:j,cts:0,unit:D.unit,size:D.unit.byteLength,duration:B,originalDts:M,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}}),U&&C.push.apply(C,N)}d?v=new Uint8Array(g):(v=new Uint8Array(g),v[0]=g>>>24&255,v[1]=g>>>16&255,v[2]=g>>>8&255,v[3]=255&g,v.set(l.default.types.mdat,4));for(var Y=0;Y<C.length;Y++){var Z=C[Y].unit;v.set(Z,p),p+=Z.byteLength}var Q=C[C.length-1];a=Q.dts+Q.duration,this._audioNextDts=a;var J=new _.MediaSegmentInfo;J.beginDts=s,J.endDts=a,J.beginPts=s,J.endPts=a,J.originalBeginDts=C[0].originalDts,J.originalEndDts=Q.originalDts+Q.duration,J.firstSample=new _.SampleInfo(C[0].dts,C[0].pts,C[0].duration,C[0].originalDts,!1),J.lastSample=new _.SampleInfo(Q.dts,Q.pts,Q.duration,Q.originalDts,!1),this._isLive||this._audioSegmentInfoList.append(J),n.samples=C,n.sequenceNumber++;var $=null;$=d?new Uint8Array:l.default.moof(n,s),n.samples=[],n.length=0;var ee={type:"audio",data:this._mergeBoxes($,v).buffer,sampleCount:C.length,info:J};d&&f&&(ee.timestampOffset=s),this._onMediaSegment("audio",ee)}}}},{key:"_remuxVideo",value:function value(e,t){if(null!=this._videoMeta){var n=e,i=n.samples,r=void 0,s=-1,a=-1,o=-1,u=-1;if(i&&0!==i.length&&(1!==i.length||t)){var d=8,h=null,f=8+e.length,c=null;if(i.length>1&&(c=i.pop(),f-=c.length),null!=this._videoStashedLastSample){var m=this._videoStashedLastSample;this._videoStashedLastSample=null,i.unshift(m),f+=m.length}null!=c&&(this._videoStashedLastSample=c);var p=i[0].dts-this._dtsBase;if(this._videoNextDts)r=p-this._videoNextDts;else if(this._videoSegmentInfoList.isEmpty())r=0;else{var v=this._videoSegmentInfoList.getLastSampleBefore(p);if(null!=v){var g=p-(v.originalDts+v.duration);g<=3&&(g=0);var y=v.dts+v.duration+g;r=p-y}else r=0}for(var b=new _.MediaSegmentInfo,E=[],S=0;S<i.length;S++){var k=i[S],L=k.dts-this._dtsBase,R=k.isKeyframe,w=L-r,A=k.cts,T=w+A;-1===s&&(s=w,o=T);var O=0;if(S!==i.length-1){O=i[S+1].dts-this._dtsBase-r-w}else if(null!=c){var C=c.dts-this._dtsBase-r;O=C-w}else O=E.length>=1?E[E.length-1].duration:Math.floor(this._videoMeta.refSampleDuration);if(R){var I=new _.SampleInfo(w,T,O,k.dts,!0);I.fileposition=k.fileposition,b.appendSyncPoint(I)}E.push({dts:w,pts:T,cts:A,units:k.units,size:k.length,isKeyframe:R,duration:O,originalDts:L,flags:{isLeading:0,dependsOn:R?2:1,isDependedOn:R?1:0,hasRedundancy:0,isNonSync:R?0:1}})}h=new Uint8Array(f),h[0]=f>>>24&255,h[1]=f>>>16&255,h[2]=f>>>8&255,h[3]=255&f,h.set(l.default.types.mdat,4);for(var D=0;D<E.length;D++){for(var x=E[D].units;x.length;){var M=x.shift(),j=M.data;h.set(j,d),d+=j.byteLength}}var B=E[E.length-1];if(a=B.dts+B.duration,u=B.pts+B.duration,this._videoNextDts=a,b.beginDts=s,b.endDts=a,b.beginPts=o,b.endPts=u,b.originalBeginDts=E[0].originalDts,b.originalEndDts=B.originalDts+B.duration,b.firstSample=new _.SampleInfo(E[0].dts,E[0].pts,E[0].duration,E[0].originalDts,E[0].isKeyframe),b.lastSample=new _.SampleInfo(B.dts,B.pts,B.duration,B.originalDts,B.isKeyframe),this._isLive||this._videoSegmentInfoList.append(b),n.samples=E,n.sequenceNumber++,this._forceFirstIDR){var P=E[0].flags;P.dependsOn=2,P.isNonSync=0}var U=l.default.moof(n,s);n.samples=[],n.length=0,this._onMediaSegment("video",{type:"video",data:this._mergeBoxes(U,h).buffer,sampleCount:E.length,info:b})}}}},{key:"_mergeBoxes",value:function value(e,t){var n=new Uint8Array(e.byteLength+t.byteLength);return n.set(e,0),n.set(t,e.byteLength),n}},{key:"onInitSegment",get:function get(){return this._onInitSegment},set:function set(e){this._onInitSegment=e}},{key:"onMediaSegment",get:function get(){return this._onMediaSegment},set:function set(e){this._onMediaSegment=e}}]),e}();n.default=p},{"../core/media-segment-info.js":8,"../utils/browser.js":40,"../utils/exception.js":41,"../utils/logger.js":42,"./aac-silent.js":37,"./mp4-generator.js":38}],40:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i={};!function(){var e=self.navigator.userAgent.toLowerCase(),t=/(edge)\/([\w.]+)/.exec(e)||/(opr)[\/]([\w.]+)/.exec(e)||/(chrome)[ \/]([\w.]+)/.exec(e)||/(iemobile)[\/]([\w.]+)/.exec(e)||/(version)(applewebkit)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+).*(version)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("trident")>=0&&/(rv)(?::| )([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(firefox)[ \/]([\w.]+)/.exec(e)||[],n=/(ipad)/.exec(e)||/(ipod)/.exec(e)||/(windows phone)/.exec(e)||/(iphone)/.exec(e)||/(kindle)/.exec(e)||/(android)/.exec(e)||/(windows)/.exec(e)||/(mac)/.exec(e)||/(linux)/.exec(e)||/(cros)/.exec(e)||[],r={browser:t[5]||t[3]||t[1]||"",version:t[2]||t[4]||"0",majorVersion:t[4]||t[2]||"0",platform:n[0]||""},s={};if(r.browser){s[r.browser]=!0;var a=r.majorVersion.split(".");s.version={major:parseInt(r.majorVersion,10),string:r.version},a.length>1&&(s.version.minor=parseInt(a[1],10)),a.length>2&&(s.version.build=parseInt(a[2],10))}r.platform&&(s[r.platform]=!0),(s.chrome||s.opr||s.safari)&&(s.webkit=!0),(s.rv||s.iemobile)&&(s.rv&&delete s.rv,r.browser="msie",s.msie=!0),s.edge&&(delete s.edge,r.browser="msedge",s.msedge=!0),s.opr&&(r.browser="opera",s.opera=!0),s.safari&&s.android&&(r.browser="android",s.android=!0),s.name=r.browser,s.platform=r.platform;for(var o in i){i.hasOwnProperty(o)&&delete i[o]}Object.assign(i,s)}(),n.default=i},{}],41:[function(e,t,n){"use strict";function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=(typeof t==="undefined"?"undefined":_typeof(t))&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(typeof t==="undefined"?"undefined":_typeof(t)));e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=n.RuntimeException=function(){function e(t){s(this,e),this._message=t}return a(e,[{key:"toString",value:function value(){return this.name+": "+this.message}},{key:"name",get:function get(){return"RuntimeException"}},{key:"message",get:function get(){return this._message}}]),e}();n.IllegalStateException=function(e){function t(e){return s(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return r(t,e),a(t,[{key:"name",get:function get(){return"IllegalStateException"}}]),t}(o),n.InvalidArgumentException=function(e){function t(e){return s(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return r(t,e),a(t,[{key:"name",get:function get(){return"InvalidArgumentException"}}]),t}(o),n.NotImplementedException=function(e){function t(e){return s(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return r(t,e),a(t,[{key:"name",get:function get(){return"NotImplementedException"}}]),t}(o)},{}],42:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=e("events"),a=function(e){return e&&e.__esModule?e:{default:e}}(s),o=function(){function e(){i(this,e)}return r(e,null,[{key:"e",value:function value(t,n){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var i="["+t+"] > "+n;e.ENABLE_CALLBACK&&e.emitter.emit("log","error",i),e.ENABLE_ERROR&&(console.error?console.error(i):console.warn?console.warn(i):console.log(i))}},{key:"i",value:function value(t,n){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var i="["+t+"] > "+n;e.ENABLE_CALLBACK&&e.emitter.emit("log","info",i),e.ENABLE_INFO&&(console.info?console.info(i):console.log(i))}},{key:"w",value:function value(t,n){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var i="["+t+"] > "+n;e.ENABLE_CALLBACK&&e.emitter.emit("log","warn",i),e.ENABLE_WARN&&(console.warn?console.warn(i):console.log(i))}},{key:"d",value:function value(t,n){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var i="["+t+"] > "+n;e.ENABLE_CALLBACK&&e.emitter.emit("log","debug",i),e.ENABLE_DEBUG&&(console.debug?console.debug(i):console.log(i))}},{key:"v",value:function value(t,n){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var i="["+t+"] > "+n;e.ENABLE_CALLBACK&&e.emitter.emit("log","verbose",i),e.ENABLE_VERBOSE&&console.log(i)}}]),e}();o.GLOBAL_TAG="flv.js",o.FORCE_GLOBAL_TAG=!1,o.ENABLE_ERROR=!0,o.ENABLE_INFO=!0,o.ENABLE_WARN=!0,o.ENABLE_DEBUG=!0,o.ENABLE_VERBOSE=!0,o.ENABLE_CALLBACK=!1,o.emitter=new a.default,n.default=o},{events:2}],43:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=e("events"),o=i(a),u=e("./logger.js"),l=i(u),d=function(){function e(){r(this,e)}return s(e,null,[{key:"getConfig",value:function value(){return{globalTag:l.default.GLOBAL_TAG,forceGlobalTag:l.default.FORCE_GLOBAL_TAG,enableVerbose:l.default.ENABLE_VERBOSE,enableDebug:l.default.ENABLE_DEBUG,enableInfo:l.default.ENABLE_INFO,enableWarn:l.default.ENABLE_WARN,enableError:l.default.ENABLE_ERROR,enableCallback:l.default.ENABLE_CALLBACK}}},{key:"applyConfig",value:function value(e){l.default.GLOBAL_TAG=e.globalTag,l.default.FORCE_GLOBAL_TAG=e.forceGlobalTag,l.default.ENABLE_VERBOSE=e.enableVerbose,l.default.ENABLE_DEBUG=e.enableDebug,l.default.ENABLE_INFO=e.enableInfo,l.default.ENABLE_WARN=e.enableWarn,l.default.ENABLE_ERROR=e.enableError,l.default.ENABLE_CALLBACK=e.enableCallback}},{key:"_notifyChange",value:function value(){var t=e.emitter;if(t.listenerCount("change")>0){var n=e.getConfig();t.emit("change",n)}}},{key:"registerListener",value:function value(t){e.emitter.addListener("change",t)}},{key:"removeListener",value:function value(t){e.emitter.removeListener("change",t)}},{key:"addLogListener",value:function value(t){l.default.emitter.addListener("log",t),l.default.emitter.listenerCount("log")>0&&(l.default.ENABLE_CALLBACK=!0,e._notifyChange())}},{key:"removeLogListener",value:function value(t){l.default.emitter.removeListener("log",t),0===l.default.emitter.listenerCount("log")&&(l.default.ENABLE_CALLBACK=!1,e._notifyChange())}},{key:"forceGlobalTag",get:function get(){return l.default.FORCE_GLOBAL_TAG},set:function set(t){l.default.FORCE_GLOBAL_TAG=t,e._notifyChange()}},{key:"globalTag",get:function get(){return l.default.GLOBAL_TAG},set:function set(t){l.default.GLOBAL_TAG=t,e._notifyChange()}},{key:"enableAll",get:function get(){return l.default.ENABLE_VERBOSE&&l.default.ENABLE_DEBUG&&l.default.ENABLE_INFO&&l.default.ENABLE_WARN&&l.default.ENABLE_ERROR},set:function set(t){l.default.ENABLE_VERBOSE=t,l.default.ENABLE_DEBUG=t,l.default.ENABLE_INFO=t,l.default.ENABLE_WARN=t,l.default.ENABLE_ERROR=t,e._notifyChange()}},{key:"enableDebug",get:function get(){return l.default.ENABLE_DEBUG},set:function set(t){l.default.ENABLE_DEBUG=t,e._notifyChange()}},{key:"enableVerbose",get:function get(){return l.default.ENABLE_VERBOSE},set:function set(t){l.default.ENABLE_VERBOSE=t,e._notifyChange()}},{key:"enableInfo",get:function get(){return l.default.ENABLE_INFO},set:function set(t){l.default.ENABLE_INFO=t,e._notifyChange()}},{key:"enableWarn",get:function get(){return l.default.ENABLE_WARN},set:function set(t){l.default.ENABLE_WARN=t,e._notifyChange()}},{key:"enableError",get:function get(){return l.default.ENABLE_ERROR},set:function set(t){l.default.ENABLE_ERROR=t,e._notifyChange()}}]),e}();d.emitter=new o.default,n.default=d},{"./logger.js":42,events:2}],44:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=function(){function t(){i(this,t)}return r(t,null,[{key:"install",value:function value(){Object.setPrototypeOf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},Object.assign=Object.assign||function(e){if(void 0===e||null===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),n=1;n<arguments.length;n++){var i=arguments[n];if(void 0!==i&&null!==i)for(var r in i){i.hasOwnProperty(r)&&(t[r]=i[r])}}return t},"function"!=typeof self.Promise&&e("es6-promise").polyfill()}}]),t}();s.install(),n.default=s},{"es6-promise":1}],45:[function(e,t,n){"use strict";function i(e,t,n){var i=e;if(t+n<i.length){for(;n--;){if(128!=(192&i[++t]))return!1}return!0}return!1}function r(e){for(var t=[],n=e,r=0,s=e.length;r<s;){if(n[r]<128)t.push(String.fromCharCode(n[r])),++r;else{if(n[r]<192);else if(n[r]<224){if(i(n,r,1)){var a=(31&n[r])<<6|63&n[r+1];if(a>=128){t.push(String.fromCharCode(65535&a)),r+=2;continue}}}else if(n[r]<240){if(i(n,r,2)){var o=(15&n[r])<<12|(63&n[r+1])<<6|63&n[r+2];if(o>=2048&&55296!=(63488&o)){t.push(String.fromCharCode(65535&o)),r+=3;continue}}}else if(n[r]<248&&i(n,r,3)){var u=(7&n[r])<<18|(63&n[r+1])<<12|(63&n[r+2])<<6|63&n[r+3];if(u>65536&&u<1114112){u-=65536,t.push(String.fromCharCode(u>>>10|55296)),t.push(String.fromCharCode(1023&u|56320)),r+=4;continue}}t.push(String.fromCharCode(65533)),++r}}return t.join("")}Object.defineProperty(n,"__esModule",{value:!0}),n.default=r},{}]},{},[21])(21)});var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_HAS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_HAS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_NODE=ENVIRONMENT_HAS_NODE&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;read_=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}readBinary=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);ret=convertReturnValue(ret);if(stack!==0)stackRestore(stack);return ret}function cwrap(ident,returnType,argTypes,opts){argTypes=argTypes||[];var numericArgs=argTypes.every(function(type){return type==="number"});var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return function(){return ccall(ident,returnType,argTypes,arguments,opts)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}function getMemory(size){if(!runtimeInitialized)return dynamicAlloc(size);return _malloc(size)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(u8Array[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx<endPtr){var u0=u8Array[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|u8Array[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var PAGE_SIZE=16384;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STACK_BASE=1104320,DYNAMIC_BASE=6347200,DYNAMICTOP_PTR=1104288;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(INITIAL_TOTAL_MEMORY)}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferViews();HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_exp=Math.exp;var Math_log=Math.log;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var tempDouble;var tempI64;var ASM_CONSTS=[function($0){if(typeof NP=="undefined"){NP={}}NP[$0]={}},function($0){var self=SL[$0];if(self&&self.audioContext&&self.audioContext.state=="suspended"){self.audioContext.resume()}},function($0,$1,$2,$3,$4){var self=NP[$0];var ret=self.emit("stats",{"buf":$1,"fps":$2,"abps":$3,"vbps":$4})},function($0,$1,$2){var self=NP[$0];var ret=self.emit("audioInfo",$1,$2)},function($0,$1,$2){var self=NP[$0];var ret=self.emit("videoInfo",$1,$2)},function($0){if(typeof SL=="undefined"){SL={}}SL[$0]={}},function($0){if(typeof SL[$0]=="object"){delete SL[$0]}},function($0){var self=SL[$0];if(self.scriptProcessorNode!=undefined){self.scriptProcessorNode.disconnect();self.scriptProcessorNode=undefined}if(self.audioContext!=undefined){self.audioContext.close();self.audioContext=undefined}if(self.currentOutputBuffer!=undefined){self.currentOutputBuffer=undefined}return 0},function($0){var self=SL[$0];if(typeof AudioContext!="undefined"){self.audioContext=new AudioContext}else if(typeof webkitAudioContext!="undefined"){self.audioContext=new webkitAudioContext}return self.audioContext==undefined?-1:0},function($0){return SL[$0].audioContext.sampleRate},function($0,$1,$2,$3){var self=SL[$3];self.scriptProcessorNode=self.audioContext["createScriptProcessor"]($1,0,$0);self.scriptProcessorNode["onaudioprocess"]=function(e){self.currentOutputBuffer=e["outputBuffer"];dynCall("vi",$2,[$3])};self.scriptProcessorNode["connect"](self.audioContext["destination"]);self.audioContext.resume()},function($0,$1,$2,$3,$4){var self=SL[$0];var channelData=self.currentOutputBuffer.getChannelData(0);if($3==$2){for(var i=0;i<$2;i++){channelData[i]=HEAPF32[$1+(i<<2)>>2]*$4}}else{channelData.fill(0)}}];function _emscripten_asm_const_ii(code,a0){return ASM_CONSTS[code](a0)}function _emscripten_asm_const_iiii(code,a0,a1,a2){return ASM_CONSTS[code](a0,a1,a2)}function _emscripten_asm_const_iiiiii(code,a0,a1,a2,a3,a4){return ASM_CONSTS[code](a0,a1,a2,a3,a4)}function _emscripten_asm_const_iiiiid(code,a0,a1,a2,a3,a4){return ASM_CONSTS[code](a0,a1,a2,a3,a4)}function _emscripten_asm_const_iiiii(code,a0,a1,a2,a3){return ASM_CONSTS[code](a0,a1,a2,a3)}function _get_do_str(){var jsString=document.domain;var lengthBytes=lengthBytesUTF8(jsString)+1;var stringOnWasmHeap=_malloc(lengthBytes);stringToUTF8(jsString,stringOnWasmHeap,lengthBytes+1);return stringOnWasmHeap}__ATINIT__.push({func:function(){___emscripten_environ_constructor()}});memoryInitializer="data:application/octet-stream;base64,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJHXELqxQxO6O7IBujCa/7mtSQC6qSMEuuECCbp/TQ+6FtcUuiXnGborxCC6bHolum9zK7pPrDG6Yvg1usGiO7rFLz66Tw9Duo1cRLrPXEm6lIBKulBfTbrR8Uu6gZFMuqOCTLrnXku6YwlIuvtkRbpg3z+6qyU9un1ZNbouVi66uD0murnfG7o93xG6WeMGugyB8bnJs9a5+o+3uZ/il7nOBly5+KkXud52gbgnaGI3PYLlONI5Vjnvo5o5ThvTORrjBTq+jyM69YFDOkiqYTrfk4E6QnWTOmDcpDoHObY62GrKOuUX3TqQfvA66QcCO5CmDDuL2BY77mIhO0G3KzvhpjY7hyFBO8r7Szv1j1Y7SpFhO9n7azvqcHY7lHmAOxfChTvXfYo7/EuPO8YklDtVuJg7vxCdO5wDoTu7IKU7nXOoO57nqztMN687jZexO1zRsztnyLU7N0y3O0s5uDsN/rg7sMa4O3BfuDuwOrc7jIy1O81qsztoa7A7L72sO5ReqDuPUKM7JqWdO8Lcljuqh487YyyHOyUHfDtvAWg7QFFSO71tOjuCniA7bN4EO5vkzjol5o46qeMYOjaQ5zcqPg+6OKCXumxy7LpUtCK7/UdRuw8cgbsvvZq7OFS1u9sI0buQ8u27qgQGvJ+gFbx6uSW8IGE2vJijR7wOclk8/sVrPNCdfjyJEok86P2SPJEunTxtjac8QCayPCP5vDxFBMg8fEDTPA613jyvWeo8+iv2PP4HAT05EQc9ICgNPQZVEz36hRk9GMQfPfEHJj1BTCw9JKAyPf7tOD0KOD89vX5FPa26Sz1p8VE9GB5YPUwwXj3kN2Q9VCJqPbb9bz2FsXU9cEV7PWdhgD2JA4M9iJSFPf4PiD3adYo94rSMPevfjj0g7JA9l9eSPauelD3UPpY978GXPQoUmT0WPpo9eD2bPVoOnD2fq5w9yxmdPXFSnT1hVZ09oh+dPbGunD2NAZw9ohibPT7smT3cgZg94tCWPezXlD3rmZI9ZRWQPUI+jT2KJIo977GGPVP1gj0Pyn09UAJ1PSGVaz3rd2E9OKtWPSInSz1y/z490BQyPfRvJD25FRY9Yf8GPTc+7jxNDc08JmSqPKQahjwDt0A8oi/kOy2JATvhSFK7HW4MvNR8Z7yK4qK8MIrTvEjhAr0IyRy982s3vSHdUr3xFW+97AWGvcTglL0FH6S9xLizvXixw70WCdS95bnkvabG9b2UlQO+aHIMvud6Fb4Frh6+wAgovr6KMb5yNDu+ogNFvtz5Tr6bD1m+3UpjvoWjbb7vHXi+FVuBvr61hr6cHYy+lJKRvqITl744oJy+RDeivuTWp76rgK2+EzKzvtXpuD6IqL4+z2vEPhwzyj6c/c8+ssvVPlqa2z4naeE+EjjnPkQF7T5I0PI+xpb4Pr9Y/j4YCwI/R+UEP8S8Bz+2jwo/UV0NP/ElED/+5xI/b6QVP0hZGD8vBxs/WKwdP65JID/f3SI/lGglPyvpJz8gXyo/mMosPwwqLz/2fTE/7cUzPzsANj+hLTg/fU06P8dePD//YT4/GVZAP7E6Qj/kD0Q/ydRFP6WIRz+BLEk/yL5KP60/TD/Ork0/hQtPP3NWUD9NjlE/4bJSPy/FUz85w1Q/fa5VP1GFVj/FSFc/u/dXP0SSWD+ZGFk/N4tZPw7oWT+kMFo/5mRaP7ODWj+cjlo/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOkOXjvnCbo7JuIKPCEgQDwEGHs8VBidPPP0vTy2lN88gcwAPQvUET2stiI9WmUzPWDqQz1wT1Q9nZxkPfjYdD3IhYI9uJ2KPam3kj0M1Jo92/CiPakMqz29JrM91j+7PdRZwz3Qdss9AJnTPX7C2z3p9OM9cDHsPfV49D20zfw9nZkCPlnWBj5kHgs+hXIPPhLTEz5VQBg+iLocPl9BIT4b1CU+DXIqPpoaLz7nzDM+7Ic4PsFKPT6nFEI+E+VGPqW7Sz4TmFA+JHpVPqZhWj5iTl8+HUBkPp82aT7eMW4+ADJzPhg3eD4qQX0+EyiBPvmxgz4zPoY+q8yIPlBdiz4g8I0+DoWQPgwckz73tJU+n0+YPtbrmj5uiZ0+/SegPurGoj65ZaU+CQSoPpOhqj4jPq0+i9mvPqlzsj6eDLU+uqS3Pjk8uj4507w+uWm/PqP/wT7hlMQ+WCnHPuC8yT5IT8w+ZeDOPhRw0T4g/tM+UIrWPnYU2T51nNs+KiLePm2l4D4cJuM+IqTlPqEf6D7gmOo+CxDtPjOF7z5D+PE+Gmn0PprX9j6vQ/k+OK37Pg8U/j4OPAA/q2wBP+abAj/IyQM/WPYEP5YhBj+BSwc/GXQIP1ubCT9GwQo/1uULPwoJDT/iKg4/XksPP4FqED9PiBE/zKQSP/6/Ez/t2RQ/o70VP9bUFj+W6hc/5f4YP8IRGj8vIxs/LDMcP7lBHT/YTh4/iFofP8tkID+ibSE/EHUiPxd7Iz+7fyQ//oIlP9+EJj9ghSc/gIQoP0KCKT+mfio/rXkrP1hzLD+oay0/nWIuPzZYLz9zTDA/VD8xP9gwMj/8IDM/wQ80PyP9ND8j6TU/vdM2P/G8Nz+7pDg/HIs5PxBwOj+WUzs/qzU8P0sWPT9y9T0/G9M+P0WvPz/tiUA/EGNBP606Qj/BEEM/ROVDPzS4RD+JiUU/QVlGP1cnRz/J80c/kr5IP7CHST8fT0o/2hRLP97YSz8nm0w/sFtNP3QaTj9u104/nJJPP/dLUD99A1E/KrlRP/lsUj/oHlM/9s5TPx99VD9hKVU/udNVPyR8Vj+hIlc/LsdXP8dpWD9qClk/FqlZP8pFWj+E4Fo/RnlbPw0QXD/bpFw/sTddP43IXT9xV14/XuReP1hvXz9j+F8/gn9gP7gEYT8KiGE/fQliPxWJYj/aBmM/14JjPxX9Yz+gdWQ/g+xkP8phZT9/1WU/rkdmP2q4Zj/KJ2c/5pVnP9gCaD+4bmg/oNloP6dDaT/prGk/gxVqP5l9aj9Q5Wo/y0xrPxq0az8+G2w/NYJsP/robD8uT20/HrRtPw4Xbj9Dd24/rdNuP+sqbz+ae28/WsRvP1EEcD9rXnA/PHFwP6mGcD8innA/6rZwP0XQcD966XA/RAJxP9IacT9XM3E/BkxxP/NkcT8TfnE/WZdxP7mwcT8tynE/uuNxP2H9cT8lF3I/CTFyPw5Lcj8zZXI/eX9yP+KZcj9rtHI/Fc9yP+Dpcj/LBHM/2R9zPwo7cz9gVnM/23FzP3qNcz88qXM/H8VzPyThcz9N/XM/mxl0PxA2dD+tUnQ/cG90P1eMdD9iqXQ/kcZ0P+TjdD9eAXU/AR91P8w8dT+9WnU/1Hh1Pw6XdT9rtXU/7dN1P5XydT9kEXY/WjB2P3RPdj+ybnY/EI52P5Ctdj8yzXY/9+x2P+EMdz/vLHc/H013P29tdz/ejXc/bK53PxjPdz/l73c/0xB4P+ExeD8PU3g/WXR4P76VeD89t3g/1th4P4z6eD9fHHk/Tj55P1hgeT95gnk/saR5P/7GeT9h6Xk/3Qt6P3Euej8cUXo/3nN6P7SWej+buXo/lNx6P57/ej+8Ins/7kV7PzRpez+NjHs/9a97P2vTez/v9ns/gRp8PyM+fD/VYXw/mIV8P2qpfD9IzXw/MfF8PyUVfT8lOX0/Ml19P02BfT93pX0/rcl9P+3tfT83En4/iTZ+P+Vafj9Mf34/waN+P0LIfj/P7H4/ZxF/Pwc2fz+vWn8/Xn9/PxKkfz/KyH8/hO1/Pz8JgD+hG4A/CC6AP3FAgD/eUoA/TGWAP7x3gD8tioA/npyAPw6vgD99wYA/6tOAP1fmgD/F+IA/MwuBP6IdgT8QMIE/fkKBP+pUgT9TZ4E/u3mBPyOMgT+KnoE/8LCBP1bDgT+51YE/GeiBP3X6gT/ODII/Jh+CP3sxgj/OQ4I/H1aCP2togj+xeoI/84yCPy+fgj9nsYI/m8OCP8vVgj/254I/GvqCPzcMgz9MHoM/WTCDP19Cgz9gVIM/WWaDP0t4gz80ioM/EpyDP+atgz+wv4M/cdGDPyjjgz/X9IM/egaEPxIYhD+eKYQ/HDuEP41MhD/zXYQ/TW+EP5uAhD/ckYQ/D6OEPzS0hD9JxYQ/UNaEP0jnhD8z+IQ/EQmFP98ZhT+eKoU/TTuFP+pLhT93XIU/9GyFP2J9hT/BjYU/D56FP02uhT94voU/kc6FP5nehT+R7oU/ef6FP1EOhj8ZHoY/0C2GP3Q9hj8HTYY/iVyGP/prhj9de4Y/sIqGP/SZhj8oqYY/SriGP1vHhj9c1oY/TuWGPzD0hj8EA4c/yBGHP34ghz8kL4c/uj2HP0FMhz+5Woc/I2mHP393hz/QhYc/FpSHP1Oihz+FsIc/pL6HP6rMhz+Q2oc/YeiHPzn2hz83BIg/dBKIP8kgiD/OLog/GDyIPzxIiD/nUog/uEuIPwNIiD/mP4g/xjOIP38kiD/qEog/0v+HP87rhz8+14c/fsKHP+Sthz97mYc/CIWHP09whz8WW4c/OUWHP6Muhz9BF4c/A/+GP/rlhj9WzIY/SbKGPwCYhj+afYY/I2OGP6ZIhj8uLoY/tROGPyb5hT9q3oU/bMOFPwWohT8AjIU/Jm+FP0NRhT80MoU/5BGFP0LwhD88zYQ/0aiEPxCDhD8JXIQ/yjOEP20KhD8T4IM/4bSDP/aIgz9sXIM/Vy+DP8gBgz/P04I/dqWCP712gj+jR4I/KRiCP0LogT/at4E/2YaBPyxVgT+/IoE/gu+AP2W7gD9ZhoA/S1CAPyUZgD+jwX8/d05/P6/Yfj9IYH4/QuV9P55nfT+v53w/GmZ8P4Tjez+RYHs/st16PyVbej8k2Xk/5ld5PyzXeD9DVng/c9R3PwhRdz+Zy3Y/CER2Pzm6dT8SLnU/mJ90P/AOdD8/fHM/rudyP4lRcj9GunE/XCJxP0CKcD9X8m8/9FpvP2rEbj8GL24/b5ptP6gFbT+ub2w/hddrP8w8az++n2o/ngBqP65faT9ivWg/WRpoPzV3Zz+T1GY/lTJmP+CQZT8V72Q/1kxkP+upYz9BBmM/x2FiP228YT84FmE/QG9gP57HXz9sH18/wnZeP7rNXT9sJF0/83pcP2bRWz+YJVs/THtaPw7QWT//I1k/PXdYP+jJVz8eHFc//m1WP6e/VT83EVU/ymJUP2W0Uz/wBVM/U1dSP3WoUT8M+VA/oUhQP7iWTz/e4k4/Ny1OP3x2TT9wv0w/0QhMPzFTSz/ynko/dexJPxM8ST9KjUg/xN5HPx8vRz8FfUY/7cdFPyEQRT/0VUQ/uplDP/HbQj9CHUI/WF5BP9yfQD9F4j8/2yU/P+JqPj+esT0/Hvo8P0BEPD/gjzs/0tw6P2EqOj9Ndzk/T8I4PysKOD9aTjc/Eo82P47MNT8QBzU/TD80P2t2Mz+ZrTI//OUxPzUgMT9cXDA/g5ovP7raLj/nHC4/yGAtPximLD+Q7Cs/6TMrP9R7Kj8ExCk/KwwpP+dTKD/Dmic/SeAmPwUkJj+kZSU/+KQkP9ThIz8NHCM/v1MiP0WJIT8BvSA/V+8fP9UgHz87Uh4/SYQdP763HD8z7Rs/HiUbP/NfGj8inhk/3d8YPxUlGD+3bRc/rbkWP1oIFj+fWBU/V6kUP1r5Ez9tRxM/P5ISP33YET/fGBE/JFMQPwmIDz9duA4/7+QNPzAPDT8rOQw/8mQLP5CUCj9GyQk/kgMJP+dDCD+tigc/H9cGP0snBj81eQU/5MoEP+oaBD9laAM/drICP0f4AT/fOQE/IngAP/Vn/z6n3P0+KFD8PprO+j5hPfk+47P3PnIy9j7ut/Q+IEPzPtDS8T50ZfA+L/nuPiOM7T6BHOw+t6nqPnQ06T5zvec+dUXmPnjN5D7BVuM+lOLhPihy4D5bBd8+sZrdPqAw3D6kxdo+0FjZPs7p1z5NeNY+BgTVPoGN0z4VFtI+IZ/QPv4pzz5Yt80+MUfMPoPZyj5Fbsk+RQXIPieexj6POMU+H9TDPodwwj6DDcE+0Kq/PixIvj6I5bw+BYO7PsQguj7pvrg+hF23PpP8tT4XnLQ+DjyzPnzcsT5vfbA+8h6vPhHBrT7XY6w+VAerPpKrqT6gUKg+gfamPjKdpT6tRKQ+7uyiPu+VoT6qP6A+HOqePkOVnT4jQZw+xO2aPi2bmT5mSZg+c/iWPlWolT4JWZQ+kAqTPu28kT4mcJA+QSSPPkPZjT4wj4w+BEaLPr39iT5atog+3W+HPlAqhj695YQ+K6KDPqFfgj4fHoE+ULt/Pnk8fT6+v3o+KUV4PsTMdT6XVnM+puJwPutwbj5hAWw+BJRpPtUoZz7fv2Q+LFliPsf0Xz6vkl0+2jJbPj7VWD7PeVY+iCBUPmjJUT5wdE8+nyFNPuvQSj5Fgkg+mjVGPtnqQz74oUE+9Fo/Ps8VPT6H0jo+RJE4PlNSNj4CFjQ+o9wxPoGmLz7ucy0+N0UrPqwaKT6b9CY+f9okPuLHIj4xuiA+IrEePm6sHD7Hqxo+5K4YPnq1Fj5AvxQ+6ssSPi7bED7v7A4+NgENPhEYCz6LMQk+sE0HPohsBT4bjgM+c7IBPjWz/z1FB/w9NWH4PSLB9D0jJ/E9OpPtPXIF6j3OfeY9X/ziPTeB3z1vDNw9F57YPTk21T3U1NE943nOPWMlyz1a18c92o/EPfBOwT2uFL49F+G6PSW0tz3QjbQ9D26xPehUrj1mQqs9mzaoPZMxpT1RM6I9yjufPfRKnD3GYJk9QH2WPW+gkz1hypA9I/uNPbUyiz0McYg9GraFPdQBgz06VIA9r1p7PW4adj3K53A9vMJrPSirZj3toGE98KNcPSy0Vz2x0VI9lfxNPeg0ST2sekQ9w80/PRcuOz2NmzY9KhYyPQieLT1KMyk9CNYkPUiGID3rQxw91Q4YPe3mEz0jzA89er4LPfK9Bz2QygM9R8j/PLoU+DzFefA8yvboPGuL4TyvN9o8kPvSPBTXyzx1ysQ8Kta9PKP6tjxXOLA8PJCpPLADozwalJw80kKWPL0PkDw++Yk8tv2DPP02fDzVonA8UT1lPA8FWjyM+E48aRhEPB9nOTxU5y48gJskPISDGjymnBA8AOQGPMat+jsd6ec733zVO7trwzvKuLE7aWegO198jzu/+H07Y9hdO06TPju4FyA7LFMCO79lyjqzQpE6vBUyOvkohjn9gyu5BcYXupeVgbqGTra6GtTpuo/qDbvy9CW7stQ8u1BXUrsOcWa7RT55uz5uhbsftY27WIuVu8cQnbuQZaS7fKmru1bvsrt+Pbq7qJnBu8gIybujgdC7O+zXuzww37tUNea7IOjsu/Q587thHPm7OoH+u0axAbxW4QO8/NEFvLmEB7yA/Qi8+kIKvAlcC7xOTwy8/iINvILcDbxCgQ68tBYPvKegD7yWIRC82psQvMAREbz1ghG8p+wRvP1LErwInhK8rN8SvJkNE7yKJBO8RSETvLkAE7w3wBK8+lwSvH7UEbztJRG8k1IQvJ1bD7xjQg68ngkNvIC1C7w8Sgq898sIvFo/B7xtqQW8JA8EvEV1Arz/3AC88If+u1dP+7tUC/i7SbX0u71F8bvPtO27Rvvpu4kV5rsXBOK7ccfdu25g2bsW09S79CbQu5Zjy7tdkMa7Z7LBu2TMvLsY4be7B/Oyu50CrrtBDqm7chSku4ETn7vACJq7vfCUuwrIj7t0i4q7lDuFu165f7sb5nS77gVqu7IdX7uYL1S7ID1Ju6RHPrskUDO7Ilcou/NcHbtuYhK7FGgHu3Xc+Lpw6uK6x/vMutESt7pDNKG6eWWLuvhUa7qnEEC6uAYVunJ+1Lk+Dn+5iNOsuJRCrDhQunw5Z07ROcvoETrz5zo68ZtjOq/8hTq/+5k6IcatOiNXwTq9qtQ6lL3nOv2O+jrQjgY7k7QPO8e3GDsUlyE7o1EqO5vlMjunUjs7G5hDOyG2Szu7rFM7jHhbOwwUYzsweWo7mqJxO3OPeDttQ387BuGCOxYHhju+FYk7gQ6MOzjzjjtlxZE7XoWUO/YxlzsWypk7p0ycO7q2njuGA6E7LS6jOz8ypTugDac7fsCoOwJLqjuYras7r+qsO3kGrjtnBa87a+uvO4u8sDvQfLE7/i+yO8fZsjt/ebM7dAq0O92HtDtd7bQ7bja1O3FetTv1YLU73jm1O5LmtDtPZrQ7E7izO1/bsjvK0bE7L5+wO4FHrztvzq071zesO76HqjsWwqg7e+qmO5wEpTvsE6M72RuhO4AfnzuhH507TRqbO64NmTsU+JY7ZtaUO3KkkjscXpA7iP+NOwKEiztu5og7mCGGO+IwgzvJEYA7w4h5O4KRcjsnPms755VjOwSmWzvpe1M7LSVLOxizQjvPOjo7SdExO6iKKTv7biE7Z3sZO5CsETtx/gk7nWMCO9qJ9Tp3F+Y6xkTWOufxxTq9DLU6J4OjOrZEkTpUvHw6N/BVOqJ3LjogpQY6PHK9OWKSWzkcfnU4xPW9uAFiebmoKMm5a5IKuvpyMLoyUla6j0d8up01kbpaa6S6q8a3ui4/y7oqzd66kWfyulUDA7uK0Qy7tZkWu89XILuACiq797Mzu2RXPbv19ka7AJNQu60pWrt4uWO7jEFtu2jBdrtFHIC7ztKEu3eDibtWLo67GNSSu711l7uyE5y7IK6gu95Epbvr16m7x2euu9/0srszf7e7wQa8u6GLwLv8DcW7043JuyYLzrv0hdK7lP7Wu51127u469+7fmHku5rX6Lv4Tu27Wsjxu+tE9ruZxfq7ekv/u9PrAbyPNQS8fYMGvB3WCLz8LQu8r4sNvOLvD7xtWxK8L88UvAxMF7zP0hm8L2QcvPcAH7zUqSG8IFwkvMcRJ7zewym8DWssvOICL7xnijG8zgA0vCxlNrz2tji8yvU6vEkhPbwxOT+8Qj1BvGctQ7x/CUW8ltFGvLaFSLwJJkq8vLJLvBgsTbxqkk68J+ZPvMYnUbzRV1K8QXdTvEyHVLw0iVW8fH5WvHBnV7yDQ1i83xFZvNjRWbwkg1q8DCZbvNy6W7zrQVy8eLtcvK4nXby5hl28w9hdvC4eXryPV168h4VevLioXrw2wV68Ys5evKTPXrxRxF68PqxevNWHXrxuV168iRtevCbUXbzagF28QyFdvPe0XLxsPFy847hbvNUrW7ykllq8yPpZvK5ZWbzYtFi80w1YvC5mV7yLpla8Uw1WvClpVbwMulS8HQBUvEY7U7yoa1K8IpFRvLSrULxJu0+8zL9OvAa5Tbzipky8IIlLvKBfSrzMKkm8cetHvFGiRrwsUEW8OPVDvCqRQrysI0G8fqw/vAssPrw0ozy88RI7vC18ObyA3ze8aT02vFWWNLy56jK8CzsxvOOHL7zg0S28bhksvKNeKrzpoCi83t8mvCIbJbxMUyO8HoohvBvBH7zR+R28VTUcvKt0GryTuBi87wEXvGBRFbxnpxO8egQSvBlpELyb1Q68YUoNvNXHC7wtTgq8it0IvOB1B7wbFwa8EMEEvGhzA7y3LQK8dO8AvPhv/7vlBf27bJH6uzME+Ls7UfW7u3Pyu/dt77teQuy7dPPou2eD5btn9OG7dUjeu6yB2rv4oda7tKvSu82gzrtxg8q7elXGu34Ywrsszr27Bni5u7oXtbvfrrC7+D6su57Jp7v8T6O7/9Keu75TmrsR05W791GRu7XRjLt2U4i7UtiDu2rDfruZ4XW7Ng5tu29LZLtznFu7IAVTu9CISrvdKkK7oOw5u8PNMbtuzSm7zOohu7ElGrtHfhK7u/QKu2KJA7sme/i6/Cfquvkd3LrNYc66fvXAulzWs7pjAqe6kHeauuM1jrq4QIK6IDRtuuWJVrpvh0C6ITQrurCWFrp7tAK6/BbfuVIjurl9eJa5WP9nuR1EJbkvE8m4K0gWuNSWvjd1P6c4eZENOQdtRTmo9Ho5O+mWOeDOrjlJ/MQ5JEHZORuc6znBMvw5VpUFOmNVDDoNdRI6NRUYOhVYHTrgWyI6tDInOvHhKzpHbjA6FNs0OpwfOTpnJj06+tlAOuEmRDqu/0Y6/VpJOmkvSzrndkw6dzFNOndkTTr2F006qVJMOqIeSzr7i0k6HKZHOnZ8RTpuGEM6GIZAOoDNPToO+Do6dgw4OsAONTryAjI6Z+wuOh/LKzoYnSg6TGAlOmIRIjqurx461DcbOtWpFzoCAxQ6BUQQOolrDDrjegg6vnAEOh5RADrBPvg5Fb/vOUgr5zlmi9453OzVObdXzTm01sQ54XG8OfoztDm1I6w5cUakOTSgnDmhK5U5tuiNORfShjnUzH85VENyOawHZTnPEVg5HGdLOZIHPzk/+zI5gkcnOQnvGzmS/BA5e3UGOUK++DhqeOU4yx7TOGaxwTjbKrE4K4uhOJjHkjiC5YQ4nKlvODggVziWOUA4xMoqOH7eFjgIagQ4wNrmNxymxzeeS6s3UaCRN3kddTfa10s3xm8nN2NkBzd7Fdc2xm+nNuirfTYJkDo2i4gDNtsqsTX5HVw16/X2NJW/VjSVv1YzWdkAs1nZgLN3zCuzd8wrsnfMKzJ3zCsyd8wrMnfMKzJ3zCuyd8wrs5W/VrNZ2QCzlb9WM5W/VjTA2uY0/7FONXoWpTVSnvU1RHgsNvKJaTY0rJg2hfPCNtPw8zYP0hU3pjE1NxRtWDdnWX83QiaVN72NrDeQI8Y3ybzhN2dZ/zdyhw8442MgOAdCMjiaLEU44BhZOJYRbjj/BYI4a4mNOLCNmTgtGKY4JR6zOPakwDhCp844TRrdOFnz6zhLIvs44lAFOdYwDTlQLhU5REEdObFpJTmLny05L+g1Oe5APjl3rEY5HChPOTq5VzmBYmA5QSFpOSr4cTmA3Ho5wuGBOe1ThjmyvIo5CxiPOetdkzlLipc5HJWbObF7nzmqOKM5qcamOa4lqjm5Va05G1SwOdskszn4x7U5yz64OauKujlHrrw5pa2+OceIwDmyQ8I5FuHDOfNgxTmZwMY5Wv3HOS8TyTkQ/sk5mrTKOcQyyznSbcs5D1/LORT9yjl2Oso5gBDJOct1xzlRZsU5u+DCOanfvzl8aLw5kIC4OaIytDkYiK85Xo6qOT9YpTmD+J8594GaOaf8lDnraY85FMeJOcoShDnxgXw5TnhwObXdYzmHhFY520lIOZgdOTk34ig5S4oXOTIbBTnCf+M4NEG7OKLQkTgp/U44bu3xNxZmCDcvvFS3g80MuBfiZLia1p64pLfLuAAv+bgVqRO5TBsruZP7Qrk5R1u5gvNzudl6hrl/HZO5q92fuam0rLkTmbm5i4XGuQl207mOauC5cmTtuQtl+rmCtQO6KTkKuiK6ELrANxe6/68duoghJLpYiiq6a+gwur45N7r8fj26erdDuo3iSbqH/0+6ZwxWun8IXLp58mG6VMpnumKNbbqhO3O6ENN4ugJTfrq53IG63IKEuucah7oupIm6CB+MunKKjroX5pC69jGTurttlboOmZe6m7OZura9m7pftp26QJ6full0obqqOKO63OqkupmKpro2F6i6s5Cpurn2qrqgSay6ZIitugazrrrbyK+6jMmwuhi0sborirK6dU2zuk8BtLpqqbS6dUe1uhrctbpbZ7a6jOm2ugNjt7rB07e6xju4umebuLr68bi60j+5ukaEubpUv7m6p/C5uukXurrFNLq6jUa6uplNuro9Sbq6ITm6upwcurqs87m6/L25uuB6ubqtKbm6Dcu4uqxeuLo05be6pl63ugPLtrpJKra6z3y1uj/CtLqZ+rO6MyazumJFsrp7V7G6Kl2wum9Wr7pKQ666uiOtusD3q7oIwKq6O3ypulstqLoT06a6Ym2luvX8o7ofgaK6jPqgupJpn7qIzp26Fimcuut6mrpdxJi6bAaXushClbpxepO6va2RurDej7pJDY66jTuMuhGihDouT5A7U37rO2SoLzylKm88m62ZPPgmvTz/Z+E80/4CPV0/FT1fVSc9XUE5PWoQSz0Cy1w94nJuPV0GgD3e0Ig9r5qRPedgmj2gIKM9QtirPeqItD3XNb09kOHFPfSOzj1YQ9c9MwPgPRzQ6D3Yq/E9B5r6PY/PAT6LXwY+Dv4KPhWrDz7NZhQ+kTEZPtsKHj5k8SI+P+QnPpbiLD4Y6zE+S/w2PgUVPD5xNEE+QlpGPjSGSz7ft1A+Re9VPrYsWz4YcGA+H7llPvIHaz4KXXA+krh1PpUaez5yQYA+oPiCPsGyhT68b4g+iS+LPh/yjT51t5A+Vn+TPlhJlj4xFZk+ruKbPtewnj5KfqE+T0qkPm0Upz7U3Kk+sqOsPsJorz4zLLI+We+0Ph6ztz7Gd7o+CT29Pg4CwD6AxsI+SorFPgpNyD5BDss+sc3NPiSL0D4NRtM+6P3VPnuy2D6sY9s+iRHePge84D7oYuM+3wbmPpWp6D6zS+s+Ye3tPpSN8D7cKvM+9MT1Prlb+D607vo+dn39PuwDAD8NRwE/q4gCPxbJAz9PCAU/RUYGP8yCBz/WvQg/ZPcJP2IvCz+7ZQw/bJoNP3bNDj/b/g8/ny4RP8dcEj9ciRM/ZbQUP7lSFj+pexc/9KIYP5rIGT+d7Bo//Q4cP7svHT/YTh4/VGwfPzCIID9uoiE/E7siPyDSIz+a5yQ/gvslP9gNJz+dHig/0y0pP3o7Kj+URys/IlIsPyVbLT+dYi4/iWgvP+psMD++bzE/BHEyP7pwMz/gbjQ/cms1P25mNj/UXzc/oFc4P9BNOT9jQjo/VTU7P6QmPD9LFj0/RQQ+P43wPj8f2z8/+sNAPxurQT9+kEI/H3RDP/dVRD//NUU/MhRGP4vwRj8Hy0c/oaNIP1V6ST8fT0o/+SFLP+DySz/NwUw/u45NP6VZTj+FIk8/VulPPxOuUD+3cFE/PjFSP6TvUj/nq1M/AmZUP/QdVT+501U/TYdWP684Vz/b51c/zpRYP4Y/WT8B6Fk/Po5aPzsyWz/601s/enNcP7oQXT+8q10/gERePwjbXj9Yb18/dAFgP2GRYD8iH2E/vqphPzo0Yj+cu2I/70BjP0DEYz+cRWQ/EcVkP6xCZT96vmU/izhmP/GwZj/KJ2c/M51nP0oRaD8thGg/+/VoP9JmaT/S1mk/JEZqP/O0aj9sI2s/r5FrP8L/az+hbWw/S9tsP2ZIbT8etG0/kB1uP9ODbj+d5W4/90BvP5aVbz97228/hTFwP6dWcD9eaXA/Q39wP7eXcD/jsXA/4sxwP8/ncD9EAnE/dBxxP542cT/9UHE/omtxP3yGcT98oXE/l7xxP8rXcT8b83E/iw5yPx8qcj/XRXI/tGFyP7h9cj/imXI/MbZyP6bScj9A73I//wtzP+Uocz/1RXM/LmNzP5KAcz8dnnM/z7tzP6jZcz+o93M/0xV0Pyk0dD+tUnQ/XHF0PzSQdD81r3Q/X850P7PtdD80DXU/4yx1P79MdT/GbHU/94x1P0+tdT/QzXU/fO51P1UPdj9aMHY/iFF2P95ydj9alHY//LV2P8XXdj+3+XY/0ht3PxU+dz9/YHc/DIN3P7uldz+NyHc/g+t3P6AOeD/hMXg/RlV4P8t4eD9vnHg/MMB4PxDkeD8QCHk/MSx5P3JQeT/PdHk/R5l5P9a9eT9/4nk/Qgd6PyIsej8cUXo/MHZ6P1qbej+YwHo/6uV6P1ALez/NMHs/YlZ7Pwx8ez/KoXs/mMd7P3Xtez9iE3w/YTl8P3NffD+YhXw/zat8PxHSfD9h+Hw/vR59PyhFfT+ha30/LJJ9P8W4fT9s330/HQZ+P9gsfj+eU34/cXp+P1Khfj9CyH4/P+9+P0gWfz9bPX8/d2R/P5mLfz/Bsn8/7dl/PwwTgD+rJoA/TjqAP/RNgD+dYYA/R3WAP/KIgD+enIA/SLCAP/LDgD+a14A/QeuAP+n+gD+SEoE/PCaBP+U5gT+MTYE/MGGBP9N0gT91iIE/FpyBP7avgT9Ww4E/89aBP4zqgT8h/oE/sxGCP0Ilgj/QOII/W0yCP+Ffgj9jc4I/3YaCP1Oagj/CrYI/LsGCP5XUgj/254I/UPuCP6AOgz/oIYM/KDWDP2BIgz+RW4M/um6DP9mBgz/ulIM/9qeDP/O6gz/lzYM/zOCDP6nzgz96BoQ/PhmEP/MrhD+aPoQ/MlGEP71jhD86doQ/qoiEPwqbhD9arYQ/mb+EP8fRhD/k44Q/8vWEP/EHhT/fGYU/vCuFP4U9hT87T4U/3mCFP3ByhT/wg4U/X5WFP7umhT8CuIU/NsmFP1XahT9h64U/W/yFP0MNhj8ZHoY/2y6GP4k/hj8iUIY/qGCGPx1xhj+AgYY/0pGGPxKihj8+soY/V8KGP17Shj9S4oY/NfKGPwcChz/IEYc/eCGHPxYxhz+jQIc/HlCHP4lfhz/jboc/L36HP26Nhz+inIc/y6uHP+K6hz/fyYc/t9iHP3Xnhz859oc/KAWIP10UiD+hI4g/cDKIP0lAiD+xTIg/T1eIPw1biD9KUYg/J0iIP5Y5iD8CKIg/JBSIP+X+hz/T6Ic/ZNKHP/67hz+5pYc/WI+HP5J4hz8oYYc/+0iHP/svhz8PFoc/N/uGP6ffhj+bw4Y/UKeGP+qKhj95boY/ClKGP6g1hj9FGYY/wPyFPwHghT/nwoU/PKWFP7uGhT8kZ4U/QUaFP/gjhT8yAIU/29qEP+2zhD96i4Q/lWGEP1I2hD/QCYQ/OtyDP7utgz95foM/jU6DPw0egz8Q7YI/oruCP8iJgj9/V4I/yCSCP5jxgT/UvYE/YomBPyhUgT8QHoE/B+eAP/uugD/XdYA/gzuAP8n/fz/DhX8/ywh/P9qIfj/xBX4/C4B9P3v3fD8GbXw/deF7P41Vez/JyXo/cT56P9CzeT8HKnk/haB4P2YWeD/Kinc/BP12P9lsdj8s2nU/2UR1P+GsdD9uEnQ/rXVzP9DWcj89NnI/gpRxPzHycD/ST3A/1q1vP58Mbz+abG4/wM1tPxYvbT9dj2w/We1rP3FIaz/eoGo/8fZpP/5KaT+YnWg/g+9nP4VBZz87lGY/jOdlP/06ZT8bjmQ/iuBjPycyYz/fgmI/ndJhP2EhYT9Hb2A/bbxfP/MIXz/3VF4/l6BdP/LrXD8mN1w/UYJbP3fQWj+EGFo/kl9ZP8mlWD9O61c/SDBXP9t0Vj8tuVU/Yv1UP55BVD/ehVM/CcpSPwEOUj+bUVE/ZZRQP8rVTz8vFU8/YVJOPw6OTT8myUw/lARMPxJBSz8ff0o/L79JP6MBST+/RUg/2IlHPz/MRj+MC0Y/iUdFP6eARD9Ct0M/3OtCPzQfQj8YUkE/WoVAP5e5Pz8p7z4/ZiY+P5tfPT/Vmjw/5tc7P6gWOz+/Vjo/Bpc5P+3VOD/hETg/zkk3P7F9Nj/erTU/m9o0P6UEND9aLTM/KFYyP26AMT/ZrDA/f9svP3sMLz/UPy4/VXUtP6isLD965Ss/dh8rPz5aKj91lSk/vNAoP6MLKD+cRSc/GX4mP460JT+d6CQ/EBokP61IIz9VdCI/Sp0hPwbEID/86B8/vgwfPyMwHj8XVB0/g3kcPyyhGz+iyxo/c/kZPyUrGT/pYBg/qpoXP1fYFj+uGRY/rV0VP+iiFD//5xM/fysTP9VrEj9qpxE/ntwQP+AKED//Mg8/81UOP8V0DT9IkQw/AK4LP3PNCj/l8Qk/dRwJP6FNCD8Jhgc/dsUGP/cJBj8YUQU/bJgEPxjeAz/4IAM/AGACPziaAT/MzwA/0AEAPydj/j6Jvvw+GSH7Pk96+T5C1fc+rDn2PsSm9D4JG/M+C5XxPt0S8D4Yku4+cxDtPsqL6z6rA+o+AnnoPq7s5j6oX+U+StPjPhpJ4j60wuA+xkDfPvvB3T5pRNw+MsbaPhJG2T6Pw9c+Sz7WPvi11D5bK9M+G6DRPukV0D42js4+egnNPqSHyz6yCMo+gIzIPq0Sxz7FmsU+WSTEPgKvwj5wOsE+T8a/PlRSvj5y3rw+02q7PqD3uT7/hLg++xK3PpKhtT7EMLQ+kcCyPgZRsT4x4q8+IXSuPuUGrT6Omqs+LC+qPs3EqD52W6c+HfOlPtCLpD7XJKM+g7uhPoZOoD7Z3Z4+x2qdPgv4mz5khpo+xhWZPlOmlz4nOJY+RcuUPq5fkz5v9ZE+mIyQPjMljz5Dv40+ylqMPsX3ij4wlok+DTaIPmbXhj5IeoU+vR6EPuDEgj7QbIE+jxaAPiyEfT7o3Xo+pTl4PnCXdT5u93I+F1pwPpy/bT7zJ2s+DZNoPtcAZj5VcWM+leRgPrVaXj7S01s+4U9ZPsvOVj4iUFQ+j9NRPhNZTz7D4Ew+8WpKPrj3Rz4Bh0U+lhhDPiCsQD6NQT4+2tg7Pk5yOT5sDjc+l600Pi9QMj6T9i8+JaEtPkNQKz5NBCk+o70mPt++Iz7kiyE+U14fPs81HT7/ERs+ifIYPhLXFj5AvxQ+uKoSPiSZED5iig4+hX4MPpl1Cj6ubwg+z2wGPgdtBD5hcAI+53YAPlkB/T2MG/k9iDz1PWlk8T06k+09A8npPcoF5j2jSeI9ppTePe/m2j2RQNc9kaHTPe0J0D2cecw9pfDIPRRvxT399ME9d4K+PYcXuz0ltLc9S1i0PewDsT0Rt609zHGqPS40pz1D/qM9CNCgPXKpnT1zipo9BHOXPTFjlD0MW5E9pVqOPf5hiz0McYg9vYeFPQimgj3Tl3895vJ5PWBddD1Z1249umBpPWL5Yz0loV4981dZPdodVD3t8k49StdJPfDKRD3DzT89pd86PXoANj1HMDE9L28sPV69Jz3qGiM9yIcePdUDGj3rjhU98igRPejRDD3MiQg9p1AEPU4mAD26FPg81/jvPCz45zxkEuA8ekfYPG2X0DxYAsk8nIjBPMQqujxh6bI8S8WrPP6/pDw42508sBiXPKN4kDw++Yk8hpiDPAmpejyhV248CTtiPFtRVjx3mUo8CRU/PE3HMzyIsyg8PdsdPPI7Ezws0gg83zT9O7Um6TvffNU7uDrCO/Fjrzvm/Jw7NguLO1oqczvJPFE70kEwO8whEDvPjeE6+TGkOrboTzrmYLI55jLiuIOOELqXlYG6Y8i5uoKX8LqkzhK78S0su44oRLvSi1q7yF5vu9hjgbujdIq7QfmSu3AVm7uF8KK7mrGquwRzsrt+Pbq76BfCu7YHyrtR/9G7B+HZu1KP4bsA7ui7Bejvuy1s9ruGaPy7U+gAvDpSA7yycwW8M04HvA3mCLz6Qgq8XG0LvEFtDLwASg28OgoOvI60DrwTTw+8zt0PvHBjELwS4xC84V0RvGTREbzpORK895MSvNvbEryZDRO8NiUTvKseE7x99hK8RakSvLQzErwwkxG8zscQvDzTD7zStg68HnUNvJ0SDLyElAq85P8IvCdaB7xtqQW8wPMDvL8+ArxWiwC86qz9u0M6+rtDuPa7hh7zu3tj77vofeu7Amfnuwce47vPo967BfnZu9sh1bv0JtC7txHLu8bqxbssuMC7BH27u6g8trud+bC7TbOru7NnprvjFKG7WLibu/VNlru00ZC7ZD+Lu8OWhbteuX+7uCx0u/qRaLuD7ly7rERRu02WRbvp5Dm7VjEuu2x8Irurxha7wBALu6q2/rrXTee6CujPukeIuLpDNKG6B/KJujiNZboZcDe6bpcJuo4auLnWbju5pTIDt8yxAjfDmzk56Sa1OZKDBjo2KzI6n31dOl03hDrkeZk6BoCuOrlEwzpJwtc6svXrOvHd/zoDvQk7oGMTO87hHDsKNiY7qF4vO1FbODvaK0E7GNBJOwxIUjtakFo7TKJiO4F2ajvBBXI74U55OzQrgDstkIM7I9mGO1cIijvkH407DCKQO/0PkzvL6JU7MquYO8dVmzsY5Z07iFOgOzWbojuutqQ77qOmOyFjqDuG9Kk7XlirO3CSrDvup607eZ6uO657rzvBRLA7UP6wO2KtsTt4UrI7NeiyO+Noszt5zrM77RK0O98wtDvdIrQ7SeSzO8lyszudzbI7w/OxO9HlsDsOqK87Az+uO2GvrDua/ao7Yi6pO5ZGpzvTSqU7iz+jOwUpoTtJC5872+mcOyfEmjuml5g7mGKWOyEilDuP0ZE77muPO03sjDsgTYo7CoiHO/6WhDsJdIE7TDl8OysidTsvom072rplO+t3XTuo6lQ7riJMO8UyQzvDMzo7Uz8xO6BvKDsY0h87NWQXO0YhDzvsBAc7Ffn9Ot/X7Towbt06sYnMOoMKuzot3Kg6h+aVOosmgjoEjVs6LvQxOpfoBzpCfLs5ecdOOcftHzgcP/m4GoaPuSH337ld+he6X+Y/us7fZ7ptAoi6MzqcupedsLqPJcW6BsfZukB27rpqlAG7L+oLuw83FrvYdiC7Y6oquwnVNLt8+j67wR1Ju1Y+U7uPWl275m9nuwJ7cbveeXu7fLWCu32mh7tckIy7HHSRu6hSlrsELpu7HAeguzHepLuDs6m7kYauuwVXs7sKJbi7jPC8u165wbtWf8a7iULLu/gC0Lv4wNS7dX3ZuwY53rvt9OK7gbLnu8Vy7Lv6NvG7NwD2u6rP+ruUpv+7MUMCvEy4BLwwMwe8lLQJvCU9DLzZzQ68nGcRvJALFLytuha883UZvFo+HLzMEx+8YvEhvC3PJLx0pCe8N2oqvCYeLbxgvy+85EwyvMXFNLyCKTe8sHc5vO+vO7wT0j28B94/vKrTQbwIs0O8IXxFvBQvR7w3zEi87FNKvJ3GS7z3JE28mm9OvGinT7zDzVC8TuRRvJfsUrwI51O81tJUvB+vVbwMe1a8iDZXvP/hV7y7fVi8PQpZvKaHWbxB9lm8OFZavOynWrwK7Fq8PCNbvFpOW7xPbVu8bX9bvPWDW7w6elu8UWJbvKc8W7zHCVu8+8lavO58WrwrIlq8GblZvNtBWbycvVi8Ci5YvOeUV7zt81a880xWvMihVbxD9FS8XkZUvC5WVrwkrFW8pvVUvL0yVLyKY1O8+IdSvAagUby0q1C82KpPvGedTrwgg028zltMvEYnS7xy5Um8CJdIvAs9R7x82EW83WlEvAzxQryJbUG8E98/vOxFPrw0ozy8A/g6vHxFObxUjDe8Fs01vEUINLyBPjK8YHAwvJmeLrzjySy8h/IqvBIYKbwBOie8s1clvL9xI7weiiG8s6IfvEq9HbxI2xu8w/0ZvLwlGLwqVBa8uokUvBjHEry4DBG8MlsPvPGyDbxrFAy8AYAKvNP1CLzgdQe8CgAGvBmUBLyuMQO8HNgBvASHALzseP67z+L7uxE5+burava732zzuxlA8Luf5+y7S2bpuwy/5btn9OG7ygjeu8/+2bvl2NW7ppnRu6tDzbtj2ci751zEuzrQv7tgNbu7Mo62u7HcsbujIq27CWKou2eco7v/0p67/Qaau005lbtda5C7r56Lu7DUhru4DoK7v5x6u6UqcbtUyme7/H5euyRNVbvTOEy7kUZDu2F4OrvDzTG730Upu9/fILttmxi733gQuzR4CLtvmgC7JsPxuqCh4rqs1tO6+2XFuotOt7pYjam6Wx+cuusEj7q4QIK6NqxrujWQU7p7NTy6vKIlul/hD7p86fW59a7NuaP1prlcpYG5k0Y7uXE367g5HEi4gqh7NzBinzh5kQ05LxNJOdrygDmC0Zs5fOa0OWH1yznn0eA5MJDzOZsvAjr4tgk6YXoQOhWgFjpYUBw6b7MhOoHhJjrx4Ss6yLowOg9wNTqs8zk6ICw+Our/QTqRWUU6pSlIOhVmSjp9BUw6fQJNOsxjTTp3MU06jHNMOss2Szr7i0k6N4NHOvItRTpAmEI6js8/OpjePDpvzzk6dak2OgRwMzrUKTA6j9csOt53KTpmByY6eIMiOhDqHjrUNxs6GGwXOtiEEzpogQ86HWELOqIkBzpPzQI6/7z8Ocy58znAm+o5QWzhObw42DlEDc85RvfFOSYAvTn6M7Q5JpyrOWA/ozkAH5s5/zaTOQaGizkNCIQ5HHJ5ObQsaznUN105K5ZPORdNQjlIXzU5HNIoOaCtHDmS/BA5UMQFOSwf9jjJvOE4d2HOOPQXvDgj0Ko4BIqaOJlFiziK5Xk4ESNfOE0uRjjF8S44N3gZOGqhBTjA2uY3MbjFNzOwpzdA2Iw38olpN6FCPzfNAxo37ZrzNm+TvDZTRY42zF1PNlGgETZt7r81JDlsNVnZADWVv1Y0d8wrM3fMK7NZ2YCzd8wrswAAAIB3zKsyAAAAAAAAAAB3zKsyAAAAgHfMK7OVv1azd8wrs3fMKzPNAkw0h5fxNCrNXjUN2rM1ieMGNqFCPzYM24E2qyCrNixy2zauvQk3H54pN0DbTTcfSnY314qRN+tJqjfRTMU3AqniN0AvATikNhI4NFUkOCirNzhHGEw4ybxhOHd4eDjENYg4QcCUOBHhoTg0mK847Nq9ON2jzDgF89s4SrjrODLe+zgALQY5fJAOOdAOFzn8px858lMoOQMQMTkv3Dk5JrtCOeesSznRtlQ5NNZdOR8TZznianA5v9J5Of6fgTntU4Y5x/uKOYaTjzluEJQ5x2uYOTSgnDlXqKA5eH2kOeocqDlUhas5D7iuORm1sTl0fLQ5zhC3OS52uTmUrLs5X7m9OT2fvzmGX8E58QDDOXZ/xDln2MU5EwnHOW8JyDlx1cg5X2LJOdOmyTm+msk5Xi/JOZ9YyDnDC8c5DT7FOc/swjkCFMA5nq+8ObLHuDlLZLQ51ZKvObxgqjki4qQ52C2fOV9dmTl5f5M50JKNOWSXhznVh4E5wqp2OQ7NaTkvPlw5JctNOQlRPjkFtS05P9wbOau+CDkZCek4x8G+OCAYkziN2Uw4mwDkN6fWsTaN1ou3jFwiuOFuf7i3tq64UUzeuItJB7lN2B+52984uZNlUrkJXGy5OliDuQqskLm5Hp654qaruc89ubka2sa5a3rUuXMh4rmI0O+5q4f9ucKiBbqugQy6l14TuiI2GrpHBCG6BMcnugF9Lro6JDW6r7w7umFGQrqnwki6KTBPujyOVbqI21u6ChZiur47aLqhSm66W0F0upUeerqf33+6O8GCujeDhboYNYi6MtaKujBmjboQ5Y+6fVKSuiKulLpV+Ja6EjCZultVm7raZ526OWefundTobrqK6O6OvCkuhKgprodO6i6rsCpunIxq7oQjKy6iNCtujD+rroDE7C6owmxug7hsbpMnbK6ukOzuhLds7pXa7S6Nu+0uq1otbpq2LW6az62ugebtro+7ra6EDi3uid4t7otrre6zNm3ugT7t7opEbi65hu4uuQauLokDri6pPS3ug/Pt7pknLe6o1y3unYPt7rasra6eUa2uvzJtbpmPrW6DKS0uvD7s7oRRbO6GoCyugytsbqPy7C6+9uvuqXerrqN0626X7usunCVq7q+Yaq6nx+puhPQp7rGcqa6Dgmluu2So7phEKK6FoKgugvnnrrsP526D42buh/PmbodB5i6DzeWup5flLp5gpK6+KCQuhu8jrqR1Yy6Be6KunwVAAARKwAAIlYAAESsAAAAAIC/AACAvwAAAAAAAIA/AACAPwAAgL8AAIA/AACAPwAAgL8AAIA/AAAAAAAAAAAAAIA/AACAPwAAgD8AAAAAYXR0cmlidXRlIHZlYzQgYVBvc2l0aW9uOyBhdHRyaWJ1dGUgdmVjMiBhVGV4dHVyZUNvb3JkOyB2YXJ5aW5nIHZlYzIgdlRleHR1cmVDb29yZDsgdm9pZCBtYWluKCkgeyBnbF9Qb3NpdGlvbiA9IGFQb3NpdGlvbjsgdlRleHR1cmVDb29yZCA9IGFUZXh0dXJlQ29vcmQ7IH0AAAAAAHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OyB1bmlmb3JtIHNhbXBsZXIyRCBZdGV4OyB1bmlmb3JtIHNhbXBsZXIyRCBVdGV4OyB1bmlmb3JtIHNhbXBsZXIyRCBWdGV4OyB2YXJ5aW5nIHZlYzIgdlRleHR1cmVDb29yZDsgY29uc3QgbWF0MyB1bTNfQ29sb3JDb252ZXJzaW9uID0gbWF0MygxLjE2NCwgMS4xNjQsIDEuMTY0LCAwLjAsIC0wLjIxMywgMi4xMTIsIDEuNzkzLCAtMC41MzMsIDAuMCk7IHZvaWQgbWFpbih2b2lkKSB7IG1lZGl1bXAgdmVjMyB5dXY7IGxvd3AgdmVjMyByZ2I7IHl1di54ID0gKHRleHR1cmUyRChZdGV4LCB2VGV4dHVyZUNvb3JkKS5yIC0gKDE2LjAgLyAyNTUuMCkpOyB5dXYueSA9ICh0ZXh0dXJlMkQoVXRleCwgdlRleHR1cmVDb29yZCkuciAtIDAuNSk7IHl1di56ID0gKHRleHR1cmUyRChWdGV4LCB2VGV4dHVyZUNvb3JkKS5yIC0gMC41KTsgcmdiID0gdW0zX0NvbG9yQ29udmVyc2lvbiAqIHl1djsgZ2xfRnJhZ0NvbG9yID0gdmVjNChyZ2IsIDEpOyB9AAAAAAAAAAAAAAAABAAAAAUAAAAFAAAABgAAAFAAAAANAAAABgAAAAIAAAAHAAAACgAAAE8AAAALAAAAUQAAAA4AAABSAAAAAQAAAAoAAACMAQAACwAAAIQDAAAMAAAASAkAAA0AAABICQAAFAAAAEgJAAAVAAAAkBIAABYAAACkHwAAHgAAAKQfAAAfAAAAUEYAACAAAAAAUAAAKAAAAACAAAApAAAAAIAAACoAAAAAiAAAMgAAAECvAQAzAAAAANACADQAAAAA0AIAR3JheQA0MjAAADQyMgAANDQ0AAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAADAAAAAsAAAAKAAAACwAAABAAAAALAAAAKAAAACEAAAAYAAAACwAAABQAAAALAAAAIAAAAAsAAABQAAAAIQAAABIAAAALAAAADwAAAAsAAABAAAAAIQAAAKAAAABjAAAABAAAAAMAAAADAAAAAgAAAAIAAAABAAAAAAAAAAAAAAAGCg0QEhcZGwoLEBIXGRsdDRASFxkbHR8QEhcZGx0fIRIXGRsdHyEkFxkbHR8hJCYZGx0fISQmKBsdHyEkJigqCQ0PERMVFhgNDRETFRYYGQ8RExUWGBkbERMVFhgZGxwTFRYYGRscHhUWGBkbHB4gFhgZGxweICEYGRscHiAhIwYNFBwNFBwgFBwgJRwgJSoKDhQYDhQYGxQYGx4YGx4iLx8PABcbHR4HCw0OJystLhADBQoMExUaHCMlKiwBAgQIERIUGAYJFhkgISIkKCYpABABAgQIIAMFCgwPLwcLDQ4GCR8jJSosISIkKCcrLS4REhQYExUaHBcbHR4WGSYpAQD//wIAAgACAAEAAgAAAAIAAwACAAIQAgABEAIAABACAAMQAgACIAIAASACAAAgAgADIAIAAg8CAAEPAgAADwIAAw8CAAIfAgABHwIAAB8CAAMfAgACLwIAAS8CAAAvAgADLwQA//8AAAAAAAAAAAgQAQAQMAIAIDACAEAwBABAMgQAAAAAAAAAAAAAAAAACBABABAQAgAgEAIAQBAEAADxAQAIEAEACEABAAhQAQAQMAIAIDACABDAAgAgwAIAEJACACCQAgAQYAIAIGACABCwAgAgsAIAEOACACDgAgAQcAIAIHACABDQAgAg0AIAEPACACDwAgBA8AQAAAAAAAABAQAIEAEACEABAAhQAQAQMAIAIDACABDAAgAgwAIAEPACACDwAgBAMAQAQMAEAEDwBAAAAAAAAAAAAAAAAAAKDRALDhINEBQOEhcQFBkSFx0AAAAAAAAAAAAAAAAAAAADBAMDAQUBBAUCBQMBBQEUEiATGRgWEyMVHBoaFyoYIR8cGS0aIyEgHDMeKCYkIDoiLisAAAAAAAAAAAAAAAAAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDAAAAAAAAAAAAAAAAAAABAQEBAQECAgICAgIDAwMDAwMEBAQEBAQFBQUFBQUGBgYGBgYHBwcHBwcICAgICAgJCQkJCQkKCgoKCgoLCwsLCwsMDAwMDAwNDQ0NDQ0ODg4OAAAAAAAAAAAAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0dHh8gICEiIiMjJCQlJSUmJiYnJycnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjIyQlJiYnKCgpKSoqKysrLCwsLS0tLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSkqKywsLS4uLy8wMDExMTIyMjMzMzMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8vMDEyMjM0NDU1NjY3Nzc4ODg5OTk5AAAAAAAAAAAAAAAAAAAAAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1NTY3ODg5Ojo7Ozw8PT09Pj4+Pz8/PwAAAAAAAAAAAAAAAAABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozs8PT4+P0BAQUFCQkNDQ0REREVFRUUAAAAAAAAAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFBQkNEREVGRkdHSEhJSUlKSkpLS0tLAAAAAAAAAABynwIAeZ8CAIxpAABMT09CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPA/AAAAAAAAAACAnwIAgJ8CAJBpAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBAAAAAAAAAAACQnwIAmp8CANhzAABMT09C//////////8AAAAAAADwvwAAAAAAAPA/EgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAQgQCQIDChEYIBkSCwQFDBMaISgwKSIbFA0GBw4VHCMqMTg5MiskHRYPFx4lLDM6OzQtJh8nLjU8PTYvNz4/AAEECAUCAwYJDA0KBwsODwAAAAAAAAAAAAAAAAAAAACQoAIAkqACAEgAAAACAAAAQA0DAAAAAAAAAAAAAAAAAAAAAAAAAOBDGQAAAAAAAACqoAIAkqACAEgAAAACAAAAAPQBAAAAAAAAAAAAAAAAAAAAwP///99BCQAAAAAAAACtoAIAsKACAFAAAAABAAAAAAk9AAAAAAAAAAAAAADwPwAAwP///99BEQAAAAAAAAAzOAMAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4P///+9BOwAAADM4AwDEoQIAzqECAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAADM4AwD5oQIA/aECAAAAAACAAAAABAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAADM4AwAtogIAMqICAAAAAACAAAAAEAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAADM4AwBSogIAV6ICAAAAAACAAAAAAAgAAAAAAAAAAAAAAADgwQAAwP///99BEQAAADM4AwBnogIAbqICAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAADM4AwB/ogIAg6ICAAAAAACAAAAAIAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAADM4AwCLogIAj6ICAAAAAACAAAAAQAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAADM4AwCtogIAAAAAAAAAAACAAAAAAAEAAAAAAAAAAAAAAADgwQAAwP///99BAAAAADM4AwC9ogIAw6ICAAAAAACAAAAAAAIAAAAAAAAAAAAAAADgwQAAwP///99BAAAAADM4AwD3ogIA/aICAAAAAACAAAAAAAQAAAAAAAAAAAAAAADgwQAAwP///99BAAAAADM4AwAJJQMAMaMCAAAAAACAAAAAACAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAADM4AwBOowIAV6MCAAAAAACAAAAAAEAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAADM4AwBpowIAbqMCAAAAAACAAAAAAIAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAADM4AwCdowIAp6MCAAAAAACAAAAAAAABAAAAAAAAAAAAAADgwQAAwP///99BEgAAADM4AwDTowIA16MCAAAAAACAAAAAAAACAAAAAAAAAAAAAADgwQAAwP///99BEQAAADM4AwD3owIA/aMCAAAAAACAAAAAAAAEAAAAAAAAAAAAAADgwQAAwP///99BEQAAADM4AwAQpAIAGqQCAAAAAACAAAAAAAAIAAAAAAAAAAAAAADgwQAAwP///99BEwAAADM4AwAqpAIAOKQCAAAAAACAAAAAAABAAAAAAAAAAAAAAADgwQAAwP///99BGQAAADM4AwB0pAIAfaQCAAAAAACAAAAAAACAAAAAAAAAAAAAAADgwQAAwP///99BOwAAADM4AwD18AIAqaQCAAAAAACAAAAAAAAAAQAAAAAAAAAAAADgwQAAwP///99BEQAAADM4AwDcpAIA4aQCAAAAAACAAAAAAAAAIAAAAAAAAAAAAADgwQAAwP///99BEQAAADM4AwD+pAIAA6UCAAAAAACAAAAAAAAAgAAAAAAAAAAAAADgwQAAwP///99BEQAAADM4AwAOpQIAHaUCAAAAAACAAAAACAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAADM4AwBGpQIAS6UCAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAHOlAgB6pQIAgKUCAAAAAACAAAAABAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAHOlAgCYpQIAo6UCAAAAAACAAAAAAAABAAAAAAAAAAAAAADgwQAAwP///99BEgAAAHOlAgDIpQIA1aUCAAAAAACAAAAACAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAHOlAgAUpgIAG6YCAAAAAACAAAAAAIAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAHOlAgBKpgIAUqYCAAAAAACAAAAAAABAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAHOlAgB8pgIAh6YCAAAAAACAAAAAAAAAEAAAAAAAAAAAAADgwQAAwP///99BEgAAAHOlAgC1pgIAwaYCAAAAAACAAAAAAAAAIAAAAAAAAAAAAADgwQAAwP///99BEgAAAHOlAgAEpwIAFqcCAAAAAACAAAAAAAAAQAAAAAAAAAAAAADgwQAAwP///99BIgAAAHOlAgBApwIASqcCAJQAAAABAAAABQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAECnAgBnpwIAbKcCAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAECnAgCNpwIAkqcCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAECnAgCzpwIAuKcCAAAAAACAAAAABQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAECnAgDPpwIA06cCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAECnAgD6pwIA/6cCAAAAAACAAAAACQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAECnAgAWqAIAGqgCAAAAAACAAAAABQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAECnAgC4LgMARagCAAAAAACAAAAAAwAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAECnAgBbqAIAYagCAAAAAACAAAAABAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAECnAgB5qAIAfKgCAAAAAACAAAAABgAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAECnAgCRqAIAlagCAAAAAACAAAAABwAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAECnAgCrqAIAr6gCAAAAAACAAAAACAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAECnAgDFqAIAyqgCAAAAAACAAAAAMgAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAECnAgDhqAIAAAAAAGwAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BAAAAAAAAAADrqAIA7agCAIwAAAABAAAADAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAAARqQIAFKkCAKABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BCwAAAAAAAAA0qQIAN6kCAKQBAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BCwAAAAAAAABDOwMAVKkCALgBAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAAAAAAABpqQIAAAAAAKwBAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BCQAAAAAAAAB0qQIAAAAAALABAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAACBqQIAAAAAAHgAAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAACHqQIAjakCAOABAAAEAAAAAAAAAAAA4D8AAADg///vxwAAAOD//+9HEQAAAAAAAAAFqgIAC6oCAOQBAAAEAAAAAAAAAAAA4D8AAAAAAADwvwAAAOD//+9HEQAAAAAAAAAsqgIAMaoCAOgBAAABAAAAAgAAAAAAAAAAAAAAAADwvwAAAAAAQFFAEQAAAAAAAABVqgIAWqoCAOwBAAABAAAAHwAAAAAAAAAAAAAAAADwvwAAAAAAAJBAEQAAAAAAAAB+qgIAhKoCAPABAAABAAAAAwAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAAC6qgIAvaoCAKAAAAABAAAAAAAAAAAAAAAAAAAAAADwvwAAwP///99BEQAAAAAAAADxqgIA+6oCAKQAAAAEAAAAAAAAAAAA9D8AAADg///vxwAAAOD//+9HEQAAAAAAAAAdqwIAKasCAKgAAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAAA8qwIAR6sCAKwAAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAABvqwIAcqsCAGwCAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAACMqwIAAAAAAHACAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAACUqwIAAAAAAHQCAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAACgqwIAAAAAAHgCAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAACrqwIAAAAAAHwCAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAAC2qwIAAAAAAIACAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAAC+qwIAAAAAAIQCAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAADGqwIAAAAAAIgCAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAADRqwIAAAAAAIwCAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAADbqwIAAAAAAJACAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAADmqwIAAAAAADQAAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAADwqwIA9KsCAJwCAAAAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAPCrAgAerAIAAAAAAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAPCrAgAprAIANawCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAPCrAgBwrAIAe6wCAAAAAACAAAAABAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAPCrAgCxrAIAtqwCAAAAAACAAAAACAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAPCrAgDXrAIA4qwCAAAAAACAAAAAEAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAPCrAgCd7wIAAAAAAAAAAACAAAAAIAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAPCrAgD9rAIABK0CAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAPCrAgAurQIAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAPCrAgA6rQIAQ60CAAAAAACAAAAAgAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAPCrAgB3rQIAAAAAAAAAAACAAAAAAAEAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAPCrAgCErQIAla0CAAAAAACAAAAAAAIAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAPCrAgDRrQIA1q0CAAAAAACAAAAAAAQAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAPCrAgAJrgIAAAAAAAAAAACAAAAAAAgAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAPCrAgAVrgIAAAAAAAAAAACAAAAAABAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAPCrAgAdrgIAIK4CAAAAAACAAAAAACAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAPCrAgAeLwMAWK4CAAAAAACAAAAAAEAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAPCrAgBprgIAAAAAAAAAAACAAAAAAIAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAPCrAgBvrgIAdq4CAKACAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BGwAAAG+uAgCbrgIAoK4CAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BGwAAAG+uAgBvrgIA8q4CAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BGwAAAG+uAgBBrwIAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BGwAAAG+uAgBIrwIAU68CAAAAAACAAAAA//////////8AAAAAAADgwQAAwP///99BGwAAAG+uAgBvrwIAfK8CAAAAAACAAAAA/v////////8AAAAAAADgwQAAwP///99BGwAAAG+uAgCnrwIAsa8CALAAAAAEAAAAAAAAAAAA9D8AAADg///vxwAAAOD//+9HEQAAAAAAAADTrwIA3q8CALACAAAAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BGgAAANOvAgD4rwIAAbACAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BGgAAANOvAgAWsAIAILACAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BGgAAANOvAgBKsAIAUbACAAAAAACAAAAABAAAAAAAAAAAAAAAAADgwQAAwP///99BGgAAANOvAgBysAIAerACAAAAAACAAAAACAAAAAAAAAAAAAAAAADgwQAAwP///99BGgAAANOvAgCisAIArbACAAAAAACAAAAAAIAAAAAAAAAAAAAAAADgwQAAwP///99BGgAAANOvAgC7sAIAw7ACAAAAAACAAAAAAAABAAAAAAAAAAAAAADgwQAAwP///99BGgAAANOvAgApsQIAM7ECAAAAAACAAAAAAAACAAAAAAAAAAAAAADgwQAAwP///99BGgAAANOvAgBgsQIAa7ECAAAAAACAAAAAAAAEAAAAAAAAAAAAAADgwQAAwP///99BGgAAANOvAgCpsQIAAAAAALQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BAAAAAAAAAAC2sQIAAAAAALQBAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BAAAAAAAAAADCsQIAzbECALgAAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAADysQIA+rECAPQBAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwFhAEQAAAAAAAAAqsgIA+rECAPgBAAAEAAAAAAAAAAAAAAAAAADg///vxwAAAOD//+9HEQAAAAAAAAA2sgIA+rECAPwBAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAABDsgIAAAAAAAQCAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAABVsgIA+rECAAwCAAAFAAAAAAAAAAAAAAAAAAAAAABgwAAAAAAAwF9AEQAAAAAAAABbsgIAY7ICABACAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BGQAAAAAAAACksgIArLICABgCAAACAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BGQAAAAAAAAAQswIAGLMCAAACAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BGQAAAAAAAAA+swIA+rECACACAAAEAAAAAAAAAAAA8D8AAADg///vxwAAAOD//+9HEQAAAAAAAABSswIAXLMCALwAAAAEAAAAmpmZmZmZ6b8AAADg///vxwAAAOD//+9HEQAAAAAAAAB+swIAiLMCAMAAAAAEAAAAAAAAAAAAAAAAAADg///vxwAAAOD//+9HEQAAAAAAAACqswIA+rECACQCAAAEAAAAAAAAAAAAAAAAAADg///vxwAAAOD//+9HEQAAAAAAAAC3swIAu7MCAAgDAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BEQAAALezAgA/HAMAybMCAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAALezAgDfswIA57MCAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAALezAgD0swIA+LMCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAALezAgAJtAIAAAAAAAAAAACAAAAAAwAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAALezAgANtAIAAAAAAAAAAACAAAAABQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAALezAgAVtAIAGrQCAAAAAACAAAAABgAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAALezAgAxtAIAO7QCAMQAAAAEAAAAAAAAAAAAAAAAAADg///vxwAAAOD//+9HEQAAAAAAAABttAIAeLQCAMgAAAAEAAAAAAAAAAAAAAAAAADg///vxwAAAOD//+9HEQAAAAAAAACUtAIAn7QCAMwAAAAEAAAAAAAAAAAAAAAAAADg///vxwAAAOD//+9HEQAAAAAAAAC6tAIAwbQCANAAAAAEAAAAAAAAAAAAAAAAAADg///vxwAAAOD//+9HEQAAAAAAAADPtAIA2bQCANQAAAAEAAAAAAAAAAAAAAAAAADg///vxwAAAOD//+9HEQAAAAAAAAAJtQIADrUCAAwDAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BEwAAAAm1AgA/HAMAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAAm1AgD0swIAAAAAAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAAm1AgAptQIAAAAAAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAAm1AgAwtQIAAAAAAAAAAACAAAAAAwAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAAm1AgA6tQIAAAAAAAAAAACAAAAABwAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAAm1AgANtAIAAAAAAAAAAACAAAAACAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAAm1AgA+tQIAAAAAAAAAAACAAAAACQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAAm1AgBCtQIAAAAAAAAAAACAAAAACgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAAm1AgBMtQIAAAAAAAAAAACAAAAAEAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAAm1AgBatQIAAAAAAAAAAACAAAAAEQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAAm1AgBmtQIAAAAAAAAAAACAAAAAFgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAAm1AgBxtQIAAAAAAAAAAACAAAAAFwAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAAm1AgB9tQIAAAAAAAAAAACAAAAADQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAAm1AgCBtQIAAAAAAAAAAACAAAAADgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAAm1AgCGtQIAjrUCAAAAAACAAAAADgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAAm1AgCxtQIAt7UCAAAAAACAAAAAFAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAAm1AgDPtQIAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAAm1AgDatQIAAAAAANgAAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAADmtQIA6bUCAKQCAAAAAAAAAwAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAOa1AgAItgIAErYCAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAOa1AgA9tgIARbYCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAOa1AgBvtgIAe7YCAAAAAACAAAAAAAEAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAOa1AgCktgIAAAAAABADAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BAAAAAAAAAAC6tgIAv7YCANwAAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAALq2AgDRtgIAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAALq2AgDWtgIAAAAAAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAALq2AgDctgIAAAAAAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAALq2AgDjtgIA6rYCAOQAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRAEQAAAAAAAAD+tgIA6rYCAOQAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRAEQAAAAAAAAByFwMAArcCAKgCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BOwAAAHIXAwActwIAIbcCAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAHIXAwAutwIAMbcCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAHIXAwAWsAIAAAAAAAAAAACAAAAABAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAHIXAwA+twIARrcCAAAAAACAAAAACAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAHIXAwBbtwIAXrcCAAAAAACAAAAAEAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAHIXAwCEtwIAh7cCAAAAAACAAAAAIAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAHIXAwCVtwIAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAHIXAwCftwIAAAAAAAAAAACAAAAAAACAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAHIXAwCutwIAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAHIXAwCztwIAAAAAAAAAAACAAAAAAAEAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAHIXAwC9twIAAAAAAAAAAACAAAAAAAIAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAHIXAwDBtwIAxLcCAAAAAACAAAAAAAQAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAHIXAwDWtwIA27cCAAAAAACAAAAAAAgAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAHIXAwAIuAIAAAAAAAAAAACAAAAAABAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAHIXAwANuAIAFLgCAAAAAACAAAAAACAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAHIXAwBXuAIAY7gCAAAAAACAAAAAAEAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAHIXAwB5uAIAgbgCAAAAAACAAAAAAIAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAHIXAwCcuAIAp7gCAAAAAACAAAAAAAABAAAAAAAAAAAAAADgwQAAwP///99BGgAAAHIXAwC8uAIAwbgCAAAAAACAAAAAAAAAAQAAAAAAAAAAAADgwQAAwP///99BGgAAAHIXAwDauAIA4LgCAKwCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BEgAAAAy5AgAVuQIAGLkCAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAAy5AgC6qgIAOrkCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAAy5AgBcuQIAX7kCAAAAAACAAAAABAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAAy5AgCCuQIAhrkCAOwAAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAKO5AgCsuQIAs7kCAPAAAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAKO5AgDPuQIA1bkCAPQAAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAKO5AgDxuQIA+rkCAPgAAAABAAAACAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAKO5AgAaugIAI7oCAPwAAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAABNugIAV7oCAAABAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAACLugIAkboCAAQBAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAACnugIArroCAAgBAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAKO5AgDVugIA2boCAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAKO5AgD7ugIA/7oCAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAKO5AgAVuwIAGrsCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAKO5AgC3swIAS7sCAAAAAACAAAAAAwAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAKO5AgBpowIAd7sCAAAAAACAAAAABAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAKO5AgCvuwIAs7sCAAAAAACAAAAABQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAKO5AgDXuwIA2rsCAAAAAACAAAAABgAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAKO5AgBnpwIAPUIDAAAAAACAAAAABwAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAKO5AgD4uwIA/bsCAAAAAACAAAAACAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAKO5AgAivAIAJ7wCAAAAAACAAAAACQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAKO5AgBLvAIAULwCAAAAAACAAAAACgAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAKO5AgB8vAIAAAAAAAAAAACAAAAADQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAKO5AgCDvAIAAAAAAAAAAACAAAAAAAEAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAKO5AgCKvAIAj7wCAAAAAACAAAAADwAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAKO5AgC9vAIAyrwCAAwBAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAAD9vAIAAr0CABABAAABAAAACAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAAAkvQIAAAAAABQBAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAAA2vQIAP70CABgBAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAABxvQIAd70CABwBAAABAAAAP0IPAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAACIvQIAjr0CACABAAABAAAAP0IPAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAACfvQIAAAAAAFQAAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BGQAAAAAAAACuvQIAAAAAADQCAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAK69AgC0vQIAuL0CAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAK69AgA0qQIA3r0CAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAK69AgDvvQIA870CAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAK69AgAFvgIACb4CAAAAAACAAAAAAwAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAK69AgAavgIAIr4CAAAAAACAAAAABAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAK69AgA2vgIAPr4CADgCAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAABMvgIAAAAAACQBAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAABYvgIAAAAAACgBAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAABqvgIAbr4CACwBAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAEQAAAGq+AgAptQIAoL4CAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAGq+AgCqvgIAr74CAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAGq+AgDXuwIAv74CAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAGq+AgDYvgIAAAAAADgAAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAADpvgIA9r4CADgBAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAAANvwIA+rECADwCAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BEQAAAAAAAAASvwIA+rECAEACAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BEQAAAAAAAAAXvwIAGr8CADwBAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAAAqvwIAPL8CADACAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAABzpQIAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4P///+9BGwAAAHOlAgBXFwMAAAAAAFgDAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAACMvwIAlL8CACADAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAwP///99BGwAAAIy/AgA/HAMArr8CAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAIy/AgDdvwIA6r8CAEABAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAAAGwAIAE8ACAEQBAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAAAowAIAK8ACAEgBAAABAAAAAAAAAAAAAAAAAAAAAAAgwAAAAAAAADBAEQAAAAAAAAA+wAIARMACADgDAAABAAAACAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAABQwAIAWcACAEwBAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAAAAAACQwAIAnMACAFABAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAAAAAADWwAIAAAAAADwDAAABAAAAnf////////8AAAAAAADgwQAAwP///99BGQAAANbAAgBRLAMAAAAAAAAAAACAAAAAnf////////8AAAAAAADgwQAAwP///99BGQAAANbAAgDewAIAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAANbAAgDnwAIAAAAAAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAANbAAgDvwAIAAAAAAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAANbAAgD3wAIAAAAAAAAAAACAAAAAAwAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAANbAAgD/wAIAAAAAAAAAAACAAAAABAAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAANbAAgAGwQIAAAAAAAAAAACAAAAAHAAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAANbAAgAQwQIAAAAAAAAAAACAAAAAFgAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAANbAAgAXwQIAAAAAAAAAAACAAAAAJgAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAANbAAgAfwQIAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAANbAAgAtwQIAAAAAAAAAAACAAAAAgwAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAANbAAgCn9gIAAAAAAAAAAACAAAAAFAAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAANbAAgA6wQIAAAAAAAAAAACAAAAAHgAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAANbAAgBBwQIAAAAAAAAAAACAAAAAKAAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAANbAAgBLwQIAAAAAAAAAAACAAAAAMgAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAANbAAgBWwQIAAAAAAAAAAACAAAAAPAAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAANbAAgBgwQIAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAANbAAgBpwQIAAAAAAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAANbAAgB0wQIAAAAAAAAAAACAAAAAAwAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAANbAAgB/wQIAAAAAAAAAAACAAAAADwAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAANbAAgCJwQIAAAAAAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAANbAAgCQwQIAAAAAAEADAAABAAAAnf////////8AAAAAAADgwQAAwP///99BGQAAAJDBAgBRLAMAAAAAAAAAAACAAAAAnf////////8AAAAAAADgwQAAwP///99BGQAAAJDBAgCWwQIAncECABgDAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BGgAAAAAAAADIwQIA18ECAEQCAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAADswQIA+MECAEgCAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAAAKwgIAE8ICAEwCAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAAAnwgIAL8ICAFACAAABAAAADQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAKO5AgBLwgIA+rECAFQBAAAEAAAAAAAAAAAAAAAAAADg///vxwAAAOD//+9HEQAAAAAAAABXwgIAXsICAFgBAAABAAAA7AAAAAAAAAAAAAAAAADwPwAAAADA/99AEQAAAAAAAACHwgIAjsICAFwBAAABAAAASg4AAAAAAAAAAAAAAADwPwAAAADA/99AEQAAAAAAAAC3wgIAvMICAGABAAABAAAAAAEAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAAD3wgIACMMCAEQDAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAADzDAgBGwwIAUMMCAEgDAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAADzDAgCBwwIAjMMCAEwDAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAADzDAgAsPwMAssMCAAAAAACAAAAA8P////////8AAAAAAADgwQAAwP///99BEgAAADzDAgAQHAMAw8MCAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAADzDAgDawwIA4MMCAAAAAACAAAAACAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAADzDAgABxAIAB8QCAAAAAACAAAAAEAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAADzDAgAoxAIALsQCAAAAAACAAAAAIAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAADzDAgBSxAIAWsQCAAAAAACAAAAAGAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAADzDAgAYHAMAfcQCAAAAAACAAAAAMAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAADzDAgCQxAIAncQCAGQBAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAABBAEQAAAAAAAADdxAIA58QCAGgBAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRAEQAAAAAAAAAVxQIAIMUCAGwBAAABAAAAGQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAABExQIAScUCAHABAAABAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAAB+xQIAi8UCAHQBAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAACmxQIArsUCAFQCAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BGQAAAAAAAADTxQIA3cUCAHgBAAABAAAABgAAAAAAAAAAAAAAAAAAAAAAwP///99BEQAAAAAAAAAhxgIAAAAAAHwBAAABAAAAAAEAAAAAAAAAAAAAAAAAAAAAwP///99BEQAAAAAAAAAvxgIAPcYCAIABAAABAAAAKAAAAAAAAAAAAAAAAADwPwAAwP///99BEQAAAAAAAABmxgIAAAAAAFgAAAABAAAA//////////8AAAAAAADgwQAAwP///99BGQAAAAAAAAB4xgIAAAAAAFgCAAABAAAA//////////8AAAAAAADgwQAAwP///99BCQAAAAAAAACNxgIAAAAAAFwCAAABAAAA//////////8AAAAAAADgwQAAwP///99BCQAAAAAAAACixgIAt8YCAGACAAACAAAA//////////8AAAAAAADwvwAAAAAAAOBDEQAAAAAAAADxxgIAAAAAABQDAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BAAAAAAAAAAACNwMAAAAAAMABAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBDCwAAAAI3AwAFxwIAAAAAAMgBAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBDCgAAAAXHAgAcxwIAAAAAACgCAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOD//+9HEQAAAAAAAAArxwIAAAAAACwCAAAEAAAAAAAAAAAACEAAAAAAAAAAAAAAAOD//+9HEQAAAAAAAAA6xwIAAAAAAHQAAAABAAAAAQAAAAAAAAAAAAAAAADwPwAAwP///99BGwAAAAAAAABKxwIAWscCAIQBAAABAAAAAgAAAAAAAAAAAAAAAADwPwAAwP///99BEwAAAGrHAgBiLAMAf8cCAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAGrHAgBRLAMAhscCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAGrHAgBoLAMAkscCAAAAAACAAAAABAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAGrHAgBvLAMAm8cCAAAAAACAAAAABQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAGrHAgB3LAMApccCAAAAAACAAAAABgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAGrHAgCBLAMAsccCAAAAAACAAAAABwAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAGrHAgCLLAMAvccCAAAAAACAAAAACAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAGrHAgCQLAMAwscCAAAAAACAAAAACQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAGrHAgCXLAMAyscCAAAAAACAAAAACgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAGrHAgDWxwIAyscCAAAAAACAAAAACgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAGrHAgCgLAMA4ccCAAAAAACAAAAACwAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAGrHAgCpLAMA7ccCAAAAAACAAAAADAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAGrHAgCyLAMA+ccCAAAAAACAAAAAFgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAGrHAgADyAIAhscCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAGrHAgAPyAIAGcgCAIgBAAABAAAAAgAAAAAAAAAAAAAAAADwPwAAwP///99BEwAAADjIAgBiLAMAf8cCAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAADjIAgBRLAMAhscCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAADjIAgBHyAIAkscCAAAAAACAAAAABAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAADjIAgBPyAIAm8cCAAAAAACAAAAABQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAADjIAgB3LAMApccCAAAAAACAAAAABgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAADjIAgCBLAMAsccCAAAAAACAAAAABwAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAADjIAgC8LAMAV8gCAAAAAACAAAAACAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAADjIAgDDLAMAXsgCAAAAAACAAAAACQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAADjIAgDKLAMAYsgCAAAAAACAAAAACgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAADjIAgDRLAMAcsgCAAAAAACAAAAACwAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAADjIAgDeLAMAgMgCAAAAAACAAAAADAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAADjIAgDmLAMAiMgCAAAAAACAAAAADQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAADjIAgDzLAMAlsgCAAAAAACAAAAADgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAADjIAgD9LAMAp8gCAAAAAACAAAAADwAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAADjIAgAHLQMAuMgCAAAAAACAAAAAEAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAADjIAgCXLAMAyscCAAAAAACAAAAAEQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAADjIAgARLQMAw8gCAAAAAACAAAAAEgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAADjIAgADyAIAhscCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAADjIAgC4LgMAXsgCAAAAAACAAAAACQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAADjIAgDQyAIAYsgCAAAAAACAAAAACgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAADjIAgDZyAIAcsgCAAAAAACAAAAACwAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAADjIAgDmyAIAgMgCAAAAAACAAAAADAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAADjIAgDtyAIAiMgCAAAAAACAAAAADQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAADjIAgD6yAIAlsgCAAAAAACAAAAADgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAADjIAgAHyQIAp8gCAAAAAACAAAAADwAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAADjIAgDWxwIAyscCAAAAAACAAAAAEQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAADjIAgAUyQIAH8kCAIwBAAABAAAAAgAAAAAAAAAAAAAAAAAAAAAAwP///99BEwAAACvJAgA7yQIAP8kCAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAACvJAgBiLAMAf8cCAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAACvJAgBRLAMAhscCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAACvJAgAiLQMAQ8kCAAAAAACAAAAABAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAACvJAgBvLAMAm8cCAAAAAACAAAAABQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAACvJAgB3LAMApccCAAAAAACAAAAABgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAACvJAgCBLAMAsccCAAAAAACAAAAABwAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAACvJAgAmLQMAR8kCAAAAAACAAAAACAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAACvJAgAsLQMATckCAAAAAACAAAAACQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAACvJAgA1LQMAWckCAAAAAACAAAAACgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAACvJAgA9LQMAZMkCAAAAAACAAAAACwAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAACvJAgADyAIAhscCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAACvJAgBvyQIAR8kCAAAAAACAAAAACAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAACvJAgB1yQIATckCAAAAAACAAAAACQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAACvJAgCAyQIAWckCAAAAAACAAAAACgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAACvJAgCKyQIAlskCAJABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BEwAAAKLJAgBRLAMAhscCAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAKLJAgCzyQIAtskCAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAKLJAgDJyQIAzMkCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAKLJAgADyAIAhscCAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAKLJAgDZyQIAtskCAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAKLJAgDeyQIAzMkCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAKLJAgDjyQIA+skCAJQBAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BEwAAABHKAgBRLAMAhscCAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABHKAgDRtgIALcoCAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABHKAgAyygIAOcoCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABHKAgBAygIASMoCAAAAAACAAAAAAwAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABHKAgBRygIAVcoCAAAAAACAAAAABAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABHKAgBZygIAZMoCAAAAAACAAAAABQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABHKAgBwygIAd8oCAAAAAACAAAAABgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABHKAgADyAIAhscCAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABHKAgB+ygIAj8oCAAQAAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAACoygIAr8oCAJgBAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BEQAAAAAAAADnygIA88oCACQDAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAwP///99BGwAAAOfKAgAOywIAAAAAAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAOfKAgAUywIAAAAAAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAOfKAgAaywIALcsCANABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBACQAAABrLAgBAywIAQ8sCAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAABrLAgBWywIAWcsCAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAABrLAgBhywIAZMsCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAABrLAgB2ywIAecsCAAAAAACAAAAAAwAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAABrLAgCKywIAjcsCAAAAAACAAAAABAAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAABrLAgCWywIAmcsCAAAAAACAAAAABQAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAABrLAgCkywIAp8sCAAAAAACAAAAABgAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAABrLAgCxywIAtMsCAAAAAACAAAAABwAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAABrLAgC/ywIAwssCAAAAAACAAAAACAAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAABrLAgDKywIA3csCANQBAABUTUZT//////////8AAAAAAADwvwAAwP///99BCgAAAMrLAgAIzAIAAAAAAHwDAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BAAAAAAAAAAAVzAIAIcwCAKgDAAAFAAAAAAAAAAAAAAAAAAAAAABgwAAAAAAAwF9AIgAAAAAAAABNzAIAXswCAKwDAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAwP///99BIgAAAE3MAgCPzAIAAAAAAAAAAACAAAAA//////////8AAAAAAADgwQAAwP///99BIgAAAE3MAgA/HAMAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BIgAAAE3MAgCazAIAAAAAAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BIgAAAE3MAgCmzAIAtswCANQDAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAPA/IgAAAKbMAgA3+QIA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AAAAAAsJCwoHCgsJCwoHCgcFBwkHCgsJCwkHCQsJCwkHCQcFBwkHCQcFBwUBBQcFBwkHCQcFBwkHCQsJCwkHCQsJCwoHCQcFBwkHCgsJCwoHCQsJCwAAAAAAAAAAAAAAAAAAAAkHCQgGCAkICQgGBwYFBgcGCAkHCAgGCAkHCQgGBwYFBgcGCAYFBgUDBQYFBggGBwYFBggGCAkHCQgGCAgHCQgGBwYEBggGBwkHCQcGCAkHCQAAAAAAAAAAAAAAAAAAAAEECAQFCAkJCgQGCQYGCQkJCgkKDQkJCwsKDAQGCgYHCgoKDAUHCwYHCgkJCwkKDQgJDAoLDAgKDwkLDw0OEAgKDgkKDgwMDwsMEAoLDwwMDwAAAAAAAAAAAAAAAAAAAAQFCAUECAkICwUFCAUECAgHCgkICwgICgsKCwQFCAQECAgICgQECAQEBwgHCQgICgcHCQoJCggICwgHCgsKDAgHCgcHCQoJCwsKDAoJCwsKCwAAAAAAAAAAAAAAAAAAAA0MCwsKCwsMDQwLCgkICQoLDAwKCQgHCAkKCwsJCAUEBQgJCwoIBwQBBAcICwsJCAUEBQgJCwsKCQgHCAkKCwwLCgkICQoLDA0MDAsKCgsMDQAAAAAAAAAAAAAAAAAAAAsKCQkJCQkKCwoJCAcHBwgJCgkIBgYGBgYICQkHBgQEBAYHCQkHBgQEBAYHCQkHBgQEBAYHCQkIBgYGBgYICQoJCAcHBwcICgsKCQkJCQkKCwAAAAAAAAAAAAAAAAAAAAEDBgcICQoLAwQGBwgICQkGBgcICAkJCgcHCAgJCQoKCAgJCQoKCgsJCAkJCgoLCwoJCQoKCwwMCwoKCgsLDAwFBAUGBwgJCgQDBAUGBwcIBQQEBQYHBwgGBQUGBgcICAcGBgYHBwgJCAcGBwcICAoJBwcICAgJCQoICAgJCQkKAQMGCAkKCgsLDAwNDQMEBgcICAkKCgoLDAwGBgcICAkKCgoLDAwMCAcICQkKCgsLCwwMDQkICQkKCgsLCwwMDA0KCQkKCwsLDAsMDA0NCwkKCwsLDAwMDA0NDQsKCgsLDAwNDQ0NDQ0LCgoLCwsMDA0NDg0OCwoLCwwMDAwNDQ4ODgwLCwwMDA0NDQ4ODg8MCwwMDA0NDQ0ODg8PDQwMDA0NDQ0ODg4ODwAAAAAAAAAGBQYGBwgJCgoKCwsMBQQE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wAMABAAACAAQABgAIAAoADAAOABAAEgAUABYAGQAcAB8AIgAlACgAKwAuADEANQA5AD0AAQBGAEsAUABWAFwAYwBqAHIAewBFAI8AmgCmALMAgQDQAOAA8ADAAQAAAAAAAAAAAAADAAYACQAMAA8AEgAVABgAGwAeACEAJAAnACsALwAzADcAOwA/AAMASABNAFIAVwBdAGMAaQBwAHcAfwBIAJEAmwCmALIAvwCNANwA7ADAAQAAAAAAAAAAAAAAAAAAJDlAACQ5QAA8OUAAFDmAABQ5gAAwOYAADDnAAAw5wAAkOcAAJDnAACQ5wAA8OcAAPDnAAAAAAAAAAAAAAAAAAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOABAAEgAUABYAGAAbAB4AIQAkACcAKwAvADUAPAAFAFAAYABwAEAAkACgALAAgADQAOAA8ADAAAAAAAAAAAAAAAAAAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOABAAEgAUABYAGQAcAB8AIwAnACsAMAA2ADwAAwBMAFYAYABqAHQAfgBIAJIAnACmALAAugCEAM4A2ADiAOwA8ADAAAAAAQACAAMABAAFAAYABwAIAAkACgAMAA4AEAASABQAFgAYABsAHgAhACQAKAAsADEANgA8AAIASQBQAFgAYABoAHAAeABAAIgAkACYAKAAqACwALgAgADIANAA2ADgAOgA8ADAAAAAAAAAAAAAAAAAAAEAAgADAAQABQAGAAcACAAJAAoADAAOABAAEgAUABYAGAAbAB4AIQAkACgALAAxADYAPAACAEkAUABYAGAAaABwAHgAQACIAJAAmACgAKgAsAC4AIAAyADQANgA4ADoAPAAwAAAAAAAAAAAAAAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADQAPABEAEwAVABcAGQAbAB0AHwAiACUAKAArAC8AMwA3ADwAAQBHAE0AVABbAGMAbAB1AH8ASgCWAKMAsACAANAA4ADwAMAAAAACAAQABgAIAAoADAAOABAAEgAUABYAGQAcAB8AIgAlACgAKwAuADEANQA5AD0AAQBGAEsAUABWAFwAYwBqAHIAewBFAI8AmgCmALMAgQDQAOAA8ADAAAAAAAAAAAAAAAADAAYACQAMAA8AEgAVABgAGwAeACEAJAAnACsALwAzADcAOwA/AAMASABNAFIAVwBdAGMAaQBwAHcAfwBIAJEAmwCmALIAvwCNANwA7ADwAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJDoAACQ6AAA4OgAADDpAAAw6QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEQATABUAFwAZABwAHwAiACUAKQAuADQAOwADAEsAUwBbAGMAawBzAEAAgAAAAAAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4AEAASABQAFgAYABsAHgAhACQAKAAsADAANQA7AAEASABQAFgAYABoAHAAeABAAIAAAAAAAAEAAgADAAQABQAGAAcACAAJAAoACwANAA8AEQAUABcAGgAeACMAKQAwADgAAABIAFAAWABgAGgAcAB4AEAAgAAAAAAAAAAAAAAALDpAACw6QAAAOoAAFDqAABQ6gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOABAAEgAUABYAGAAbAB4AIQAkACcAKwAvADUAPAAEAEwAVABcAGQAbAB4AEAAAAAAAAAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABIAFAAWABgAGgAcAB8AIgAlACkALQAyADgAAABIAFAAWABgAGgAcAB4AEAAAAAAAAEAAgADAAQABQAGAAcACAAJAAoACwANAA8AEQAUABcAGgAeACMAKQAwADgAAABIAFAAWABgAGgAcAB4AEAANDqAADQ6gAA0OoAAPDqAADw6gAA8OoAABDrAAAQ6wAAMOsAADDrAAAw6wAAUOsAAFDrAAAAAAAAAAAAAAAAAAAAAAQACAAMABAAFAAYACAAKAAwAEAAXACAAAAAAAAAAAAABAAIAAwAEAAUABwAJAAsADgARABQAGAAcACAAAAAAAAEAAgADAAQABQAGAAcACQALAA0AEAATABcAGwAgAAAAAQACAAMABAAFAAYABwAIAAoADAAPABIAFgAbACAAAAABAAIAAwAEAAUABgAHAAkACwANAA8AEgAWABsAIAAsOsAALDrAACw6wAA0OsAANDrAADQ6wAA8OsAAPDrAAAQ7AAA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/f39/f39/f39/f39/f39/QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/////////////////////////////////////////////////////////////////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAGAQAABgYDAAYHBwYGCAgHAAAAAAAAAAAAAAAAAQAAAAcBAAAEBgEAAwMCBQIDAgAAAAAAAAAAAAAAAAABAAAABwIAAAcHAwAJBwcFCQkHBgoKCQcLCwoHDAwLCg0MDAsAAAAAAAAAAAAAAAABAAAADwEAAA4NAQAHDAsBBgUKAQcGBAkHBgUIBwYFBAcFBAQAAAAAAAAAAAAAAAAIAgAATAEAABgBAAAAAQAAAQAAAAYCAAAIBgMACQgHBQoJCAYLCgkHDQsKCA0NCwkNDQ0KDg4NCw4ODg0PDw4ODw8PDhAPDw8QEBAPEBAQEBAQEBACAAAABgIAAAYFAwAHBgYECAYGBAgHBwUJCAgGCwkJBgsLCwcMCwsJDAwMCwwMDAsNDQ0MDQ0NDQ0ODQ0ODg4NDg4ODgQAAAAGBAAABgUEAAYFBQQHBQUEBwUFBAcGBgQHBgYECAcHBQgIBwYJCAgHCQkICAkJCQgKCQkJCgoKCgoKCgoKCgoKBgAAAAYGAAAGBgYABgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYBAAAABQEAAAcEAQAHBgUDBwYFAwcGBQQPBgUECw4FBAgKDQQPDgkECwoNDA8OCQwLCg0I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AAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8SQDAAMAAAAQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD5JAMAAwICABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAElAwADAgAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAgAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACSUDAAEAAABAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADiUDAAAAAAAXJQMAAQAAAAQAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0lAwABAAAABAAAAAAAAAAAAAAAAQAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIyUDAAEAAAACAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoJQMAAwEBABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADElAwADAQAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAgAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOiUDAAMAAAAQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDJQMAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEolAwAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUyUDAAMBAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAIAAAAAQAAAAcAAAACAAAAAAAAAAQAAAAAAAAAAAAAAAgAAAADAAAABwAAAAEAAAAAAAAABAAAAAIAAAAAAAAACAAAAAMAAAAHAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABbJQMAAwIAAAAAAAAAAAAAAAAAAAQAAAABAAAAAAAAAAgAAAADAAAABwAAAAIAAAAAAAAABgAAAAAAAAAAAAAACAAAAAUAAAAHAAAAAQAAAAAAAAAGAAAAAwAAAAAAAAAIAAAABQAAAAcAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGUlAwADAAAAYAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAACAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAAAAAAIAAAABAAAAAAAAAAEAAAAAAAAABgAAAAIAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaiUDAAMAAAAkAAAAAAAAAAAAAAAEAAAAAwAAAAAAAAABAAAAAwAAAAAAAAAEAAAAAAAAAAQAAAABAAAAAAAAAAIAAAADAAAAAQAAAAIAAAAAAAAABAAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABvJQMAAwAAAGAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAgAAAAAAAAABAAAAAQAAAAAAAAABAAAAAAAAAAMAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHklAwADAAAAYAAAAAAAAAAAAAAAAQAAAAAAAAAGAAAAAgAAAAAAAAABAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAAAAAAIAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAMAAAAAAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfiUDAAMAAAAkAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAABAAAAAwAAAAAAAAABAAAAAAAAAAQAAAABAAAAAAAAAAIAAAADAAAAAQAAAAIAAAAAAAAABAAAAAMAAAAAAAAAAQAAAAMAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDJQMAAwAAAGAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAgAAAAAAAAABAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI0lAwADAQEAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAQAAAAIAAAABAAAAAAAAAAgAAAABAAAABwAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkiUDAAMBAQAQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAIAAAABAAAAAAAAAAgAAAABAAAABwAAAAIAAAABAAAAAgAAAAAAAAAAAAAACAAAAAEAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXJQMABAAAAKAAAAAAAAAAAAAAAAQAAAABAAAAAAAAAAgAAAADAAAABwAAAAIAAAAAAAAABAAAAAIAAAAAAAAACAAAAAMAAAAHAAAAAwAAAAAAAAAEAAAAAwAAAAAAAAAIAAAAAwAAAAcAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAgAAAADAAAABwAAAAEAAAAAAAAAAAAAAJwlAwAEAAAAoAAAAAAAAAAAAAAABAAAAAAAAAAAAAAACAAAAAMAAAAHAAAAAQAAAAAAAAAEAAAAAQAAAAAAAAAIAAAAAwAAAAcAAAACAAAAAAAAAAQAAAACAAAAAAAAAAgAAAADAAAABwAAAAMAAAAAAAAABAAAAAMAAAAAAAAACAAAAAMAAAAHAAAABAAAAAAAAAAAAAAAoSUDAAQAAACgAAAAAAAAAAAAAAAEAAAAAwAAAAAAAAAIAAAAAwAAAAcAAAAEAAAAAAAAAAQAAAACAAAAAAAAAAgAAAADAAAABwAAAAMAAAAAAAAABAAAAAEAAAAAAAAACAAAAAMAAAAHAAAAAgAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAwAAAAcAAAABAAAAAAAAAAAAAACmJQMABAAAAKAAAAAAAAAAAAAAAAQAAAACAAAAAAAAAAgAAAADAAAABwAAAAMAAAAAAAAABAAAAAEAAAAAAAAACAAAAAMAAAAHAAAAAgAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAwAAAAcAAAABAAAAAAAAAAQAAAADAAAAAAAAAAgAAAADAAAABwAAAAQAAAAAAAAAAAAAAKslAwABAAAAAQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALQlAwAAAAAAuiUDAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwyUDAAAAAADJJQMAAwABABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANElAwADAAEAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAgAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2iUDAAQBAQCQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAADjJQMAAAEBAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO4lAwAAAQEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+iUDAAABAQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGJgMAAAEBAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEmAwAAAQEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGyYDAAMAAAAhAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAQAAAABQAAAA8AAAABAAAAAAAAAAYAAAACAAAAAAAAABAAAAAFAAAADwAAAAMAAAAAAAAABgAAAAQAAAAAAAAAEAAAAAUAAAAPAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjJgMAAwAAACAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAABAAAAAFAAAADwAAAAEAAAAAAAAABgAAAAIAAAAAAAAAEAAAAAUAAAAPAAAAAwAAAAAAAAAGAAAABAAAAAAAAAAQAAAABQAAAA8AAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsmAwADAAAAIQAAAAAAAAAAAAAAAgAAAP////8DAAAABQAAAAEAAAAEAAAAAAAAAAAAAAACAAAAAAAAAAUAAAAGAAAAAQAAAAUAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAUAAAABAAAABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANCYDAAMAAAAgAAAAAAAAAAAAAAACAAAAAQAAAAMAAAAFAAAAAQAAAAQAAAACAAAAAAAAAAIAAAAAAAAABQAAAAYAAAABAAAABQAAAAEAAAAAAAAAAgAAAAAAAAAAAAAABQAAAAEAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9JgMAAwAAACEAAAAAAAAAAAAAAAIAAAD/////AgAAAAUAAAABAAAABAAAAAAAAAAAAAAAAgAAAAAAAAAFAAAABQAAAAEAAAAEAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAFAAAAAQAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEYmAwADAAAAIAAAAAAAAAAAAAAAAgAAAAEAAAACAAAABQAAAAEAAAAEAAAAAgAAAAAAAAACAAAAAAAAAAUAAAAFAAAAAQAAAAQAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAUAAAABAAAABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATyYDAAMAAAAhAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAFAAAAAQAAAAQAAAABAAAAAAAAAAIAAAAAAAAABQAAAAYAAAABAAAABQAAAAEAAAAAAAAAAgAAAP////8DAAAABQAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYJgMAAwAAACAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAUAAAABAAAABAAAAAEAAAAAAAAAAgAAAAAAAAAFAAAABgAAAAEAAAAFAAAAAQAAAAAAAAACAAAAAQAAAAMAAAAFAAAAAQAAAAQAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGEmAwADAAAAIQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAABQAAAAEAAAAEAAAAAQAAAAAAAAACAAAAAAAAAAUAAAAFAAAAAQAAAAQAAAABAAAAAAAAAAIAAAD/////AgAAAAUAAAABAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaiYDAAMAAAAgAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAFAAAAAQAAAAQAAAABAAAAAAAAAAIAAAAAAAAABQAAAAUAAAABAAAABAAAAAEAAAAAAAAAAgAAAAEAAAACAAAABQAAAAEAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABzJgMAAAEBAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4mAwAAAQEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiSYDAAABAQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTJgMAAwEBABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAABAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ8mAwADAQEAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqyYDAAMBAAAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3JgMAAwEAABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAABAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMMmAwADAAAAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzyYDAAMAAAARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADbJgMAAAEBAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOcmAwAAAQEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8SYDAAMAAAAgAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAEAAAAAQAAAAMAAAACAAAAAAAAAAIAAAAAAAAABAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6JgMAAwAAACEAAAAAAAAAAAAAAAIAAAD/////AAAAAAQAAAABAAAAAwAAAAAAAAAAAAAAAgAAAAAAAAAEAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMnAwADAAAAIAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAAAAAAAAQAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAABAAAAAAAAAAQAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADCcDAAMAAAAhAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAAAAAAABAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAgAAAP////8AAAAABAAAAAEAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVJwMAAgAAAIAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAgAAAABAAAABwAAAAEAAAAAAAAAAgAAAAEAAAAAAAAACAAAAAEAAAAHAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZJwMAAAAAACAnAwADAAAAIQAAAAAAAAAAAAAABgAAAAQAAAAAAAAAEAAAAAUAAAAPAAAABQAAAAAAAAAGAAAAAgAAAAAAAAAQAAAABQAAAA8AAAADAAAAAAAAAAYAAAAAAAAAAAAAABAAAAAFAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCcDAAMAAAAgAAAAAAAAAAAAAAAGAAAABAAAAAAAAAAQAAAABQAAAA8AAAAFAAAAAAAAAAYAAAACAAAAAAAAABAAAAAFAAAADwAAAAMAAAAAAAAABgAAAAAAAAAAAAAAEAAAAAUAAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwJwMAAwEBABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAABAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADsnAwADAQEAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARicDAAMBAQARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSJwMAAwEBABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF4nAwADAQAAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaicDAAMBAAAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2JwMAAwAAABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAABAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEnAwADAAAAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjCcDAAMAAAARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYJwMAAwAAABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKQnAwADAQAAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArycDAAMBAAAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAACAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC6JwMAAAEBAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMInAwADAAAAMAAAAAAAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxycDAAMAAAAxAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAABAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADPJwMAAwAAADAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANcnAwADAAAAMQAAAAAAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4CcDAAMAAAAwAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADpJwMAAwAAADEAAAAAAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPInAwADAAAAMAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+ycDAAQBAACQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAEKAMABAAAAJAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAA0oAwAEAQEAkQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAADAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAGSgDAAQBAQCQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAACAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAAAlKAMABAEAAJEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAABAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAAAAADEoAwAEAQAAkAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAADAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAPSgDAAQAAACRAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAACAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAABJKAMABAAAAJAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAABAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAAAAAFUoAwAEAQEAkQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAADAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAYigDAAQBAQCQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAABvKAMABAEAAJEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAHwoAwAEAQAAkAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAADAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAiSgDAAQAAACRAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAACWKAMABAAAAJAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAKMoAwAEAQEAkQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAADAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAAsCgDAAQBAQCQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAC9KAMABAEAAJEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAABAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAwAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAMooAwAEAQAAkAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAADAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAA1ygDAAQAAACRAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAADkKAMABAAAAJAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAABAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAwAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAPEoAwAAAQEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ygDAAMAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAQAAAAMAAAABQAAAAsAAAABAAAAAAAAAAYAAAACAAAABAAAAAwAAAAFAAAACwAAAAMAAAAAAAAABgAAAAQAAAAEAAAADAAAAAUAAAALAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/KAMAAwAAAAEAAAAAAAAAAAAAAAYAAAAAAAAABAAAAAwAAAAFAAAACwAAAAEAAAAAAAAABgAAAAIAAAAEAAAADAAAAAUAAAALAAAAAwAAAAAAAAAGAAAABAAAAAQAAAAMAAAABQAAAAsAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcpAwADAQAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAQAAAAIAAAABAAAAAAAAAAgAAAABAAAABwAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADCkDAAMBAAAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAQAAAAAAAAAAAAAAAoAAAADAAAACQAAAAEAAAABAAAABAAAAAIAAAAAAAAACgAAAAMAAAAJAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATKQMAAwEAABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAABAAAAAAAAAAAAAAACgAAAAMAAAAJAAAAAQAAAAEAAAAEAAAAAgAAAAAAAAAKAAAAAwAAAAkAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABopAwAEAAAAoQAAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAcAAAAPAAAAAQAAAAAAAAAIAAAAAgAAAAAAAAAQAAAABwAAAA8AAAADAAAAAAAAAAgAAAAEAAAAAAAAABAAAAAHAAAADwAAAAUAAAAAAAAACAAAAAYAAAAAAAAAEAAAAAcAAAAPAAAABwAAAAAAAAAAAAAAIykDAAQAAACgAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABwAAAA8AAAABAAAAAAAAAAgAAAACAAAAAAAAABAAAAAHAAAADwAAAAMAAAAAAAAACAAAAAQAAAAAAAAAEAAAAAcAAAAPAAAABQAAAAAAAAAIAAAABgAAAAAAAAAQAAAABwAAAA8AAAAHAAAAAAAAAAAAAAAsKQMABAAAAKEAAAAAAAAAAAAAAAgAAAAEAAAAAAAAABAAAAAHAAAADwAAAAUAAAAAAAAACAAAAAIAAAAAAAAAEAAAAAcAAAAPAAAAAwAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABwAAAA8AAAABAAAAAAAAAAgAAAAGAAAAAAAAABAAAAAHAAAADwAAAAcAAAAAAAAAAAAAADUpAwAEAAAAoAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAEAAAAAcAAAAPAAAABQAAAAAAAAAIAAAAAgAAAAAAAAAQAAAABwAAAA8AAAADAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAHAAAADwAAAAEAAAAAAAAACAAAAAYAAAAAAAAAEAAAAAcAAAAPAAAABwAAAAAAAAAAAAAAPikDAAMBAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAAAAAAQAAAADAAAAAAAAAAgAAAADAAAABwAAAAQAAAAAAAAABAAAAAEAAAAAAAAACAAAAAMAAAAHAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGKQMAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEopAwACAAAAgQAAAAAAAAAAAAAABAAAAAAAAAAAAAAAEAAAAAMAAAAPAAAAAQAAAAAAAAAEAAAAAgAAAAAAAAAQAAAAAwAAAA8AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUSkDAAIAAACAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAQAAAAAwAAAA8AAAABAAAAAAAAAAQAAAACAAAAAAAAABAAAAADAAAADwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYKQMABAAAALAAAAAAAAAAAgAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAF4pAwAEAAAAsQAAAAAAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAADAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAAaCkDAAQAAACwAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAABAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAByKQMAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHYpAwAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeykDAAABAQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHKQMAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIwpAwADAAAAIAAAAAAAAAAAAAAABAAAAAEAAAAAAAAACAAAAAMAAAAHAAAAAgAAAAAAAAAEAAAAAgAAAAAAAAAIAAAAAwAAAAcAAAADAAAAAAAAAAQAAAADAAAAAAAAAAgAAAADAAAABwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkSkDAAMAAAAgAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAwAAAAcAAAABAAAAAAAAAAQAAAABAAAAAAAAAAgAAAADAAAABwAAAAIAAAAAAAAABAAAAAIAAAAAAAAACAAAAAMAAAAHAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACWKQMAAwAAACAAAAAAAAAAAAAAAAQAAAADAAAAAAAAAAgAAAADAAAABwAAAAQAAAAAAAAABAAAAAIAAAAAAAAACAAAAAMAAAAHAAAAAwAAAAAAAAAEAAAAAQAAAAAAAAAIAAAAAwAAAAcAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJspAwADAAAAIAAAAAAAAAAAAAAABAAAAAIAAAAAAAAACAAAAAMAAAAHAAAAAwAAAAAAAAAEAAAAAQAAAAAAAAAIAAAAAwAAAAcAAAACAAAAAAAAAAQAAAAAAAAAAAAAAAgAAAADAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoCkDAAMBAQARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAACAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsKQMAAwEBABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALgpAwADAQEAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAgAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxCkDAAMBAQAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAQAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAACAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQKQMAAwEAABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANwpAwADAQAAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6CkDAAMBAAARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAQAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAACAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD0KQMAAwEAABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAABAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqAwADAAAAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADCoDAAMAAAAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAACAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYKgMAAwAAABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAABAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQqAwADAAAAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAgAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMCoDAAMAAAAxAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5KgMAAwAAADAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEIqAwADAAAAMQAAAAAAAAACAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAQAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASyoDAAMAAAAwAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAAAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAABAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUKgMAAwIAABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0qAwADAAAAIAEAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAgAAAAAAAAABAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAEAAAAAAAAAAMAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaSoDAAMAAAAgAQAAAAAAAAAAAAABAAAAAAAAAAAAAAACAAAAAAAAAAEAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAQAAAAAAAAAAwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1KgMAAwAAACABAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAABAAAAAAAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAACAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEqAwADAAAAIAEAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAgAAAAAAAAABAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAEAAAAAAAAAAMAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjSoDAAMAAAAgAQAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAgAAAABAAAABwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACcKgMAAwAAACEBAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAACAAAAAEAAAAHAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKsqAwADAAAAIAEAAAAAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuioDAAMAAAAhAQAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAgAAAABAAAABwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADJKgMAAwAAACABAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAACAAAAAEAAAAHAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANgqAwADAAAAIQEAAAAAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5yoDAAMAAAAgAQAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAgAAAABAAAABwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KgMAAwAAACEBAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAACAAAAAEAAAAHAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUrAwADAAEAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAESsDAAMAAQARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdKwMAAwABABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkrAwADAAEAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANSsDAAQAAACAAAAAAAAAAAAAAAAIAAAAAgAAAAAAAAAQAAAABwAAAA8AAAADAAAAAAAAAAgAAAAEAAAAAAAAABAAAAAHAAAADwAAAAUAAAAAAAAACAAAAAYAAAAAAAAAEAAAAAcAAAAPAAAABwAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABwAAAA8AAAABAAAAAAAAAAAAAAA+KwMABAAAAIEAAAAAAAAAAAAAAAgAAAACAAAAAAAAABAAAAAHAAAADwAAAAMAAAAAAAAACAAAAAQAAAAAAAAAEAAAAAcAAAAPAAAABQAAAAAAAAAIAAAABgAAAAAAAAAQAAAABwAAAA8AAAAHAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAHAAAADwAAAAEAAAAAAAAAAAAAAEcrAwAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWCsDAAMBAQAQAAAAAAAAAAAAAAACAAAAAAAAAAYAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAQAAAAAAAAABgAAAAoAAAADAAAACQAAAAEAAAABAAAABAAAAAIAAAAGAAAACgAAAAMAAAAJAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABfKwMAAwEBABEAAAAAAAAAAAAAAAIAAAAAAAAABgAAAAoAAAABAAAACQAAAAEAAAABAAAABAAAAAAAAAAGAAAACgAAAAMAAAAJAAAAAQAAAAEAAAAEAAAAAgAAAAYAAAAKAAAAAwAAAAkAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGYrAwAEAAAAsQAAAAAAAAACAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAADAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAAcCsDAAQAAACwAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAAAAAB6KwMABAAAALEAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAIQrAwAEAAAAsAAAAAAAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAADAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAjisDAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZKwMAAQAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACiKwMAAAAAAKgrAwABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALErAwAAAAAAtysDAAEAAAABAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwCsDAAAAAADGKwMAAQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADPKwMAAAAAANUrAwADAQEAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAAEAAAAAAAAAAAAAAAQAAAAAwAAAA8AAAABAAAAAQAAAAQAAAACAAAAAAAAABAAAAADAAAADwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3CsDAAMBAQARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAQAAAAAAAAAAAAAABAAAAADAAAADwAAAAEAAAABAAAABAAAAAIAAAAAAAAAEAAAAAMAAAAPAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADjKwMAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOkrAwABAAAAAQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPErAwAAAAAA9isDAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/isDAAAAAAADLAMAAwAAADECAAAAAAAAAgAAAAQAAAAAAAAAAAAAACAAAAADAAAAHwAAAAEAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAMAAAAfAAAAAQAAAAEAAAAEAAAAAAAAAAAAAAAgAAAAAwAAAB8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0sAwADAAAAMAIAAAAAAAACAAAABAAAAAAAAAAAAAAAIAAAAAMAAAAfAAAAAQAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAwAAAB8AAAABAAAAAQAAAAQAAAAAAAAAAAAAACAAAAADAAAAHwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFywDAAQAAACxAgAAAAAAAAIAAAAEAAAAAAAAAAAAAAAgAAAAAwAAAB8AAAABAAAAAAAAAAQAAAAAAAAAAAAAACAAAAADAAAAHwAAAAEAAAABAAAABAAAAAAAAAAAAAAAIAAAAAMAAAAfAAAAAQAAAAMAAAAEAAAAAAAAAAAAAAAgAAAAAwAAAB8AAAABAAAA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AAAAAAYAAAAAAAAABwAAAAgAAAAJAAAACgAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADQAAAA4AAAAPAAAAEAAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAEwAAABQAAAAVAAAAFgAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAACAAAAAhAAAAIgAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARKwAAAAAAAAFAAAA0gAAAMBOAgBBAAAAsLMAAAAAAAAJAAAAFAEAAPBOAgBCAAAAsLMAAAAAAAAJAAAAoAAAAEBPAgBDAAAAsLMAAAAAAAAJAAAAQQEAAJBPAgBEAAAAgLsAAAAAAAAQAAAALQEAAOBPAgBFAAAARKwAAAAAAAAUAAAATQEAAGBQAgBFAAAAqJMAAAAAAAAQAAAA8AAAAABRAgBFAAAAAH0AAAAAAAAUAAAA8AAAAIBRAgBFAAAAIlYAAAAAAAAUAAAA8AAAACBSAgBFAAAAgD4AAAAAAAAUAAAA8AAAAMBSAgBFAAAAESsAAAAAAAAUAAAA8AAAAGBTAgBFAAAAQB8AAAAAAAAUAAAA8AAAAABUAgBFAAAAgLsAAAAAAAAQAAAA+gAAAKBUAgBGAAAARKwAAAAAAAAPAAAA+gAAACBVAgBGAAAARKwAAAAAAAAUAAAAfwEAAKBVAgBHAAAA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K7w4hQAsIsHO7mIHCtmiwAzneZLHXxzAl7GryVWmj79D2Eb4OmX6viRdV3NBYmC+ifvjUcKDvb31hUwukP4Rvdml+G2sNFi8AAAAAAAAAAC2gqE7o70fw2eMP75JsJxCynguiMi8BsIwpdsh78pjQTM5ZYrB9LLAAAAAAAAA8D+OJqH/hhwtv0TZlKsTw4o/2Hexrseb3L8ZAyoYEkUWQCZwiRaYhDfAsZ75pn+cP0DAdc0izzcjwAAAAAAAAAAAoalhNwkWQr+nrnWBF6qgP0ieTbTC1/G/ulf8vBb3K0CiCvYrLx1OwHvSVDSIYlVA7yU7S1pyP8AAAAAAAADwPwIAAMADAADABAAAwAUAAMAGAADABwAAwAgAAMAJAADACgAAwAsAAMAMAADADQAAwA4AAMAPAADAEAAAwBEAAMASAADAEwAAwBQAAMAVAADAFgAAwBcAAMAYAADAGQAAwBoAAMAbAADAHAAAwB0AAMAeAADAHwAAwAAAALMBAADDAgAAwwMAAMMEAADDBQAAwwYAAMMHAADDCAAAwwkAAMMKAADDCwAAwwwAAMMNAADTDgAAww8AAMMAAAy7AQAMwwIADMMDAAzDBAAM0wAAAAAKAAAAZAAAAOgDAAAQJwAAoIYBAEBCDwCAlpgAAOH1Bf////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJ/////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAAAAAAAAAAAAAAAAAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAA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eWVyLmpzIGluaXQgd2l0aCB2JXMKAGdvdCBhdWRpbyBmcmFtZSBjaD0lZCBzcj0lZCBuYnM9JWQgZm10PSVkIHNsX25icz0lZAoAeyB2YXIgc2VsZiA9IE5QWyQwXTsgdmFyIHJldCA9IHNlbGYuZW1pdCgiYXVkaW9JbmZvIiwgJDEsICQyKTsgfQBnb3QgdmlkZW8gZnJhbWUgdz0lZCBoPSVkIGY9JWQgcHRzPSVsbGQKAHsgdmFyIHNlbGYgPSBOUFskMF07IHZhciByZXQgPSBzZWxmLmVtaXQoInZpZGVvSW5mbyIsICQxLCAkMik7IH0AeyB2YXIgc2VsZiA9IFNMWyQwXTsgaWYgKHNlbGYgJiYgc2VsZi5hdWRpb0NvbnRleHQgJiYgc2VsZi5hdWRpb0NvbnRleHQuc3RhdGUgPT0gJ3N1c3BlbmRlZCcpIHsgc2VsZi5hdWRpb0NvbnRleHQucmVzdW1lKCk7IH0gfQB7IHZhciBzZWxmID0gTlBbJDBdOyB2YXIgcmV0ID0gc2VsZi5lbWl0KCJzdGF0cyIsIHsiYnVmIiA6ICQxLCAiZnBzIiA6ICQyLCAiYWJwcyIgOiAkMywgInZicHMiIDogJDR9KTsgfQBVbmF1dGhvcml6ZWQhAENvZGVjIG5vdCBmb3VuZABDb3VsZCBub3QgYWxsb2NhdGUgY29kZWMgY29udGV4dABHTCBlcnJvciBhZnRlciAlcygpOiAweCUwOHgKAGdsQ3JlYXRlU2hhZGVyAHZlcnRleABmcmFnbWVudABDb3VsZCBub3QgY29tcGlsZSAlcyBzaGFkZXI6CiVzCgAlczogQ291bGQgbm90IGNyZWF0ZSBwcm9ncmFtAGluaXRHTABhUG9zaXRpb24AZ2xHZXRBdHRyaWJMb2NhdGlvbiBhUG9zaXRpb24AJXM6IENvdWxkIG5vdCBnZXQgYVBvc2l0aW9uIGhhbmRsZQBhVGV4dHVyZUNvb3JkAGdsR2V0QXR0cmliTG9jYXRpb24gYVRleHR1cmVDb29yZAAlczogQ291bGQgbm90IGdldCBhVGV4dHVyZUNvb3JkIGhhbmRsZQBnbFZlcnRleEF0dHJpYlBvaW50ZXIgYVBvc2l0aW9uAGdsRW5hYmxlVmVydGV4QXR0cmliQXJyYXkgcG9zaXRpb25IYW5kbGUAZ2xWZXJ0ZXhBdHRyaWJQb2ludGVyIGFUZXh0dXJlQ29vcmQAZ2xFbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSBhVGV4dHVyZUNvb3JkAFl0ZXgAZ2xHZXRVbmlmb3JtTG9jYXRpb24AZ2xVbmlmb3JtMWkgWXRleABVdGV4AGdsR2V0VW5pZm9ybUxvY2F0aW9uIFV0ZXgAZ2xVbmlmb3JtMWkgVXRleABWdGV4AGdsVW5pZm9ybTFpAGdsQ3JlYXRlUHJvZ3JhbQBDb3VsZCBub3QgbGluayBwcm9ncmFtAENvdWxkIG5vdCBsaW5rIHByb2dyYW06CiVzCgBkZWxldGVUZXh0dXJlcwBWaWRlbyBzaXplIGNoYW5nZTolZCB4ICVkCgBzZXR1cFRleHR1cmVzAGluaXRpYWxpemVUZXh0dXJlAHsgaWYgKHR5cGVvZihTTCkgPT0gJ3VuZGVmaW5lZCcpIHsgU0wgPSB7fTsgfSBTTFskMF0gPSB7fTsgfQB7IGlmICh0eXBlb2YoU0xbJDBdKSA9PSAnb2JqZWN0JykgeyBkZWxldGUgU0xbJDBdOyB9IH0AeyB2YXIgc2VsZiA9IFNMWyQwXTsgaWYgKHNlbGYuc2NyaXB0UHJvY2Vzc29yTm9kZSAhPSB1bmRlZmluZWQpIHsgc2VsZi5zY3JpcHRQcm9jZXNzb3JOb2RlLmRpc2Nvbm5lY3QoKTsgc2VsZi5zY3JpcHRQcm9jZXNzb3JOb2RlID0gdW5kZWZpbmVkOyB9IGlmIChzZWxmLmF1ZGlvQ29udGV4dCAhPSB1bmRlZmluZWQpIHsgc2VsZi5hdWRpb0NvbnRleHQuY2xvc2UoKTsgc2VsZi5hdWRpb0NvbnRleHQgPSB1bmRlZmluZWQ7IH0gaWYgKHNlbGYuY3VycmVudE91dHB1dEJ1ZmZlciAhPSB1bmRlZmluZWQpIHsgc2VsZi5jdXJyZW50T3V0cHV0QnVmZmVyID0gdW5kZWZpbmVkIH0gcmV0dXJuIDA7IH0AeyB2YXIgc2VsZiA9IFNMWyQwXTsgaWYgKHR5cGVvZihBdWRpb0NvbnRleHQpICE9ICd1bmRlZmluZWQnKSB7IHNlbGYuYXVkaW9Db250ZXh0ID0gbmV3IEF1ZGlvQ29udGV4dCgpOyB9IGVsc2UgaWYgKHR5cGVvZih3ZWJraXRBdWRpb0NvbnRleHQpICE9ICd1bmRlZmluZWQnKSB7IHNlbGYuYXVkaW9Db250ZXh0ID0gbmV3IHdlYmtpdEF1ZGlvQ29udGV4dCgpOyB9IHJldHVybiBzZWxmLmF1ZGlvQ29udGV4dCA9PSB1bmRlZmluZWQgPyAtMSA6IDA7IH0AV2ViIEF1ZGlvIEFQSSBpcyBub3QgYXZhaWxhYmxlIQB7IHJldHVybiBTTFskMF0uYXVkaW9Db250ZXh0LnNhbXBsZVJhdGU7IH0AeyB2YXIgc2VsZiA9IFNMWyQzXTsgc2VsZi5zY3JpcHRQcm9jZXNzb3JOb2RlID0gc2VsZi5hdWRpb0NvbnRleHRbJ2NyZWF0ZVNjcmlwdFByb2Nlc3NvciddKCQxLCAwLCAkMCk7IHNlbGYuc2NyaXB0UHJvY2Vzc29yTm9kZVsnb25hdWRpb3Byb2Nlc3MnXSA9IGZ1bmN0aW9uKGUpIHsgc2VsZi5jdXJyZW50T3V0cHV0QnVmZmVyID0gZVsnb3V0cHV0QnVmZmVyJ107IGR5bkNhbGwoJ3ZpJywgJDIsIFskM10pOyB9OyBzZWxmLnNjcmlwdFByb2Nlc3Nvck5vZGVbJ2Nvbm5lY3QnXShzZWxmLmF1ZGlvQ29udGV4dFsnZGVzdGluYXRpb24nXSk7IHNlbGYuYXVkaW9Db250ZXh0LnJlc3VtZSgpOyB9AFNETDIgb3BlbiBhdWRpbyBkZXZpY2Ugc3I9JWQgbmJzPSVkCgB7IHZhciBzZWxmID0gU0xbJDBdOyB2YXIgY2hhbm5lbERhdGEgPSBzZWxmLmN1cnJlbnRPdXRwdXRCdWZmZXIuZ2V0Q2hhbm5lbERhdGEoMCk7IGlmICgkMyA9PSAkMikgeyBmb3IgKHZhciBpID0gMDsgaSA8ICQyOyBpKyspIHsgY2hhbm5lbERhdGFbaV0gPSBIRUFQRjMyWygkMSArIChpIDw8IDIpKSA+PiAyXSAqICQ0OyB9IH0gZWxzZSB7IGNoYW5uZWxEYXRhLmZpbGwoMCk7IH0gfQBsaWJhdmNvZGVjL2F2cGFja2V0LmMAc2l6ZTw9MHg3ZmZmZmZmZiAtIDUgJiYgcCAtIHBrdC0+ZGF0YSA+PSBzaXplAHBrdC0+c2l6ZSA+PSAwAFRoaXMgZGVjb2RlciBkb2VzIG5vdCBzdXBwb3J0IHBhcmFtZXRlciBjaGFuZ2VzLCBidXQgUEFSQU1fQ0hBTkdFIHNpZGUgZGF0YSB3YXMgc2VudCB0byBpdC4KAEludmFsaWQgY2hhbm5lbCBjb3VudABJbnZhbGlkIHNhbXBsZSByYXRlAFBBUkFNX0NIQU5HRSBzaWRlIGRhdGEgdG9vIHNtYWxsLgoARXJyb3IgYXBwbHlpbmcgcGFyYW1ldGVyIGNoYW5nZXMuCgBFcnJvciBwcmUtcHJvY2Vzc2luZyBhIHBhY2tldCBiZWZvcmUgZGVjb2RpbmcKACFmcmFtZS0+YnVmWzBdAGxpYmF2Y29kZWMvZGVjb2RlLmMAc2tpcCAlZCAvIGRpc2NhcmQgJWQgc2FtcGxlcyBkdWUgdG8gc2lkZSBkYXRhCgBza2lwIHdob2xlIGZyYW1lLCBza2lwIGxlZnQ6ICVkCgBDb3VsZCBub3QgdXBkYXRlIHRpbWVzdGFtcHMgZm9yIHNraXBwZWQgc2FtcGxlcy4KAHNraXAgJWQvJWQgc2FtcGxlcwoAQ291bGQgbm90IHVwZGF0ZSB0aW1lc3RhbXBzIGZvciBkaXNjYXJkZWQgc2FtcGxlcy4KAGRpc2NhcmQgJWQvJWQgc2FtcGxlcwoATXVsdGlwbGUgZnJhbWVzIGluIGEgcGFja2V0LgoAVG9vIG1hbnkgZXJyb3JzIHdoZW4gZHJhaW5pbmcsIHRoaXMgaXMgYSBidWcuIFN0b3AgZHJhaW5pbmcgYW5kIGZvcmNlIEVPRi4KAGZyYW1lLT5idWZbMF0ALABBIG5vbi1leGlzdGluZyBiaXRzdHJlYW0gZmlsdGVyICVzIHJlcXVlc3RlZCBieSBhIGRlY29kZXIuIFRoaXMgaXMgYSBidWcsIHBsZWFzZSByZXBvcnQgaXQuCgBJbnZhbGlkIGNyb3BwaW5nIGluZm9ybWF0aW9uIHNldCBieSBhIGRlY29kZXI6ICV6dS8lenUvJXp1LyV6dSAoZnJhbWUgc2l6ZSAlZHglZCkuIFRoaXMgaXMgYSBidWcsIHBsZWFzZSByZXBvcnQgaXQKAGF2Y2ktPmNvbXBhdF9kZWNvZGVfY29uc3VtZWQgPT0gMABHb3QgdW5leHBlY3RlZCBwYWNrZXQgYWZ0ZXIgRU9GCgBHb3QgdW5leHBlY3RlZCBwYWNrZXQgc2l6ZSBhZnRlciBhIHBhcnRpYWwgZGVjb2RlCgBUaGUgZGVwcmVjYXRlZCBhdmNvZGVjX2RlY29kZV8qIEFQSSBjYW5ub3QgcmV0dXJuIGFsbCB0aGUgZnJhbWVzIGZvciB0aGlzIGRlY29kZXIuIFNvbWUgZnJhbWVzIHdpbGwgYmUgZHJvcHBlZC4gVXBkYXRlIHlvdXIgY29kZSB0byB0aGUgbmV3IGRlY29kaW5nIEFQSSB0byBmaXggdGhpcy4KAG4gPj0gMQBGb3JtYXQgcmV0dXJuZWQgZnJvbSBnZXRfYnVmZmVyKCkgZG9lcyBub3QgbWF0Y2ggdGhlIGZvcm1hdCBvZiBwcm92aWRlZCBBVkhXRnJhbWVzQ29udGV4dAoAY2hvaWNlc1tuXSAhPSBBVl9QSVhfRk1UX05PTkUAQ291bGQgbm90IGZpbmQgYW4gQVZIV0FjY2VsIGZvciB0aGUgcGl4ZWwgZm9ybWF0OiAlcwBJZ25vcmluZyBleHBlcmltZW50YWwgaHdhY2NlbDogJXMKAGZyYW1lLT5uYl9leHRlbmRlZF9idWYgPT0gMABkZWZhdWx0X2dldF9idWZmZXIgY2FsbGVkIG9uIGZyYW1lICVwAHBpYy0+ZGF0YVsqXSE9TlVMTCBpbiBhdmNvZGVjX2RlZmF1bHRfZ2V0X2J1ZmZlcgoAVW5hYmxlIHRvIGdldCBwaXhlbCBmb3JtYXQgZGVzY3JpcHRvciBmb3IgZm9ybWF0ICVzCgBkZWZhdWx0X2dldF9idWZmZXIgY2FsbGVkIG9uIHBpYyAlcAoASW5jb25zaXN0ZW50IGNoYW5uZWwgY29uZmlndXJhdGlvbi4KAFRvbyBtYW55IGNoYW5uZWxzOiAlZC4KAGdldF9idWZmZXIoKSBmYWlsZWQKAHZpZGVvX2dldF9idWZmZXI6IGltYWdlIHBhcmFtZXRlcnMgaW52YWxpZAoAcGljLT5kYXRhWypdIT1OVUxMIGluIGdldF9idWZmZXJfaW50ZXJuYWwKAGZyYW1lLT5kYXRhW2ldAEJ1ZmZlciByZXR1cm5lZCBieSBnZXRfYnVmZmVyMigpIGRpZCBub3QgemVybyB1bnVzZWQgcGxhbmUgcG9pbnRlcnMKAG1pc3NpbmcgcGljdHVyZSBpbiBhY2Nlc3MgdW5pdCB3aXRoIHNpemUgJWQKAGlsbGVnYWwgcmVvcmRlcmluZ19vZl9waWNfbnVtc19pZGMgJWQKAHJlZmVyZW5jZSBjb3VudCAlZCBvdmVyZmxvdwoAQVZDLXBhcnNlcjogbmFsIGxlbmd0aCBzaXplIGludmFsaWQKAEFWQy1wYXJzZXI6IG5hbCBzaXplICVkIHJlbWFpbmluZyAlZAoAVHJ1bmNhdGluZyBsaWtlbHkgb3ZlcnNpemVkIFNQUwoAc3BzX2lkICV1IG91dCBvZiByYW5nZQoAY2hyb21hX2Zvcm1hdF9pZGMgJXUAc2VwYXJhdGUgY29sb3IgcGxhbmVzIGFyZSBub3Qgc3VwcG9ydGVkCgBEaWZmZXJlbnQgY2hyb21hIGFuZCBsdW1hIGJpdCBkZXB0aABpbGxlZ2FsIGJpdCBkZXB0aCB2YWx1ZSAoJWQsICVkKQoAbG9nMl9tYXhfZnJhbWVfbnVtX21pbnVzNCBvdXQgb2YgcmFuZ2UgKDAtMTIpOiAlZAoAbG9nMl9tYXhfcG9jX2xzYiAoJWQpIGlzIG91dCBvZiByYW5nZQoAcG9jX2N5Y2xlX2xlbmd0aCBvdmVyZmxvdyAlZAoAaWxsZWdhbCBQT0MgdHlwZSAlZAoAdG9vIG1hbnkgcmVmZXJlbmNlIGZyYW1lcyAlZAoAaGVpZ2h0IG92ZXJmbG93CgBtYl93aWR0aC9oZWlnaHQgb3ZlcmZsb3cKAGRpc2NhcmRpbmcgc3BzIGNyb3BwaW5nLCBvcmlnaW5hbCB2YWx1ZXMgYXJlIGw6JWQgcjolZCB0OiVkIGI6JWQKAGNyb3AgdmFsdWVzIGludmFsaWQgJWQgJWQgJWQgJWQgLyAlZCAlZAoAVlVJAE92ZXJyZWFkICVzIGJ5ICVkIGJpdHMKAFBJQy1BRkYATUItQUZGAEZSTQA4QjgAc3BzOiV1IHByb2ZpbGU6JWQvJWQgcG9jOiVkIHJlZjolZCAlZHglZCAlcyAlcyBjcm9wOiV1LyV1LyV1LyV1ICVzICVzICVkLyVkIGIlZCByZW86JWQKAGlsbGVnYWwgYXNwZWN0IHJhdGlvCgBUcnVuY2F0ZWQgVlVJCgB0aW1lX3NjYWxlL251bV91bml0c19pbl90aWNrIGludmFsaWQgb3IgdW5zdXBwb3J0ZWQgKCV1LyV1KQoAQ2xpcHBpbmcgaWxsZWdhbCBudW1fcmVvcmRlcl9mcmFtZXMgJWQKAGNwYl9jb3VudCAlZCBpbnZhbGlkCgBkZWx0YSBzY2FsZSAlZCBpcyBpbnZhbGlkCgBUcnVuY2F0aW5nIGxpa2VseSBvdmVyc2l6ZWQgUFBTICglenUgPiAlenUpCgBJbnZhbGlkIGx1bWEgYml0IGRlcHRoPSVkCgBVbmltcGxlbWVudGVkIGx1bWEgYml0IGRlcHRoPSVkAEZNTyBub3Qgc3VwcG9ydGVkCgByZWZlcmVuY2Ugb3ZlcmZsb3cgKHBwcykKAENBVkxDAENBQkFDAHdlaWdodGVkAExQQVIAQ09OU1RSAFJFRFUAOHg4RENUAHBwczoldSBzcHM6JXUgJXMgc2xpY2VfZ3JvdXBzOiVkIHJlZjoldS8ldSAlcyBxcDolZC8lZC8lZC8lZCAlcyAlcyAlcyAlcwoAQ3VycmVudCBwcm9maWxlIGRvZXNuJ3QgcHJvdmlkZSBtb3JlIFJCU1AgZGF0YSBpbiBQUFMsIHNraXBwaW5nCgBTRUkgdHlwZSAlZCBzaXplICVkIHRydW5jYXRlZCBhdCAlZAoAdW5rbm93biBTRUkgdHlwZSAlZAoAbm9uLWV4aXN0aW5nIFNQUyAlZCByZWZlcmVuY2VkIGluIGJ1ZmZlcmluZyBwZXJpb2QKAHJlY292ZXJ5X2ZyYW1lX2NudCAldSBpcyBvdXQgb2YgcmFuZ2UKAHgyNjQgLSBjb3JlICVkAHgyNjQgLSBjb3JlIDAwMDAAdXNlciBkYXRhOiIlcyIKAFNQUyB1bmF2YWlsYWJsZSBpbiBkZWNvZGVfcGljdHVyZV90aW1pbmcKAAEBAQICAwMCA2N0X3R5cGU6JVggcGljX3N0cnVjdDolZAoAY2hlY2tlcmJvYXJkX3JsAGNoZWNrZXJib2FyZF9scgBjb2xfaW50ZXJsZWF2ZWRfcmwAY29sX2ludGVybGVhdmVkX2xyAHJvd19pbnRlcmxlYXZlZF9ybAByb3dfaW50ZXJsZWF2ZWRfbHIAcmlnaHRfbGVmdABsZWZ0X3JpZ2h0AGJvdHRvbV90b3AAdG9wX2JvdHRvbQBibG9ja19ybABibG9ja19scgACAwEGBQAQIDAAIBBAYDBQcGJ1Zl9pbmRleCA8PSBidWZfc2l6ZQBsaWJhdmNvZGVjL2gyNjRkZWMuYwBRMjY0AG5vIGZyYW1lIQoAcGljdC0+YnVmWzBdIHx8ICEqZ290X2ZyYW1lAER1cGxpY2F0aW5nIGZpZWxkICVkIHRvIGZpbGwgbWlzc2luZwoAc3RlcmVvX21vZGUARXJyb3Igc3BsaXR0aW5nIHRoZSBpbnB1dCBpbnRvIE5BTCB1bml0cy4KAEludmFsaWQgaW50ZXIgSURSIGZyYW1lCgBpbnZhbGlkIG1peGVkIElEUiAvIG5vbiBJRFIgZnJhbWVzIGNhbm5vdCBiZSBkZWNvZGVkIGluIHNsaWNlIG11bHRpdGhyZWFkaW5nIG1vZGUKAGRhdGEgcGFydGl0aW9uaW5nAFNQUyBkZWNvZGluZyBmYWlsdXJlLCB0cnlpbmcgYWdhaW4gd2l0aCB0aGUgY29tcGxldGUgTkFMCgBVbmtub3duIE5BTCBjb2RlOiAlZCAoJWQgYml0cykKAGRlY29kZV9zbGljZV9oZWFkZXIgZXJyb3IKAEdyZWVuIE1ldGFkYXRhIEluZm8gU0VJIG1lc3NhZ2UKACAgZ3JlZW5fbWV0YWRhdGFfdHlwZTogJWQKACAgZ3JlZW5fbWV0YWRhdGFfcGVyaW9kX3R5cGU6ICVkCgAgIGdyZWVuX21ldGFkYXRhX251bV9zZWNvbmRzOiAlZAoAICBncmVlbl9tZXRhZGF0YV9udW1fcGljdHVyZXM6ICVkCgAgIFNFSSBHUkVFTiBDb21wbGV4aXR5IE1ldHJpY3M6ICVmICVmICVmICVmCgAgIHhzZF9tZXRyaWNfdHlwZTogJWQKACAgeHNkX21ldHJpY192YWx1ZTogJWYKAEludmFsaWQgemVyby1zaXplZCBWQ0wgTkFMIHVuaXQKAHB0aHJlYWRfb25jZSBoYXMgZmFpbGVkLgBFcnJvciByZXNpbGllbmNlIHdpdGggc2xpY2UgdGhyZWFkcyBpcyBlbmFibGVkLiBJdCBpcyB1bnNhZmUgYW5kIHVuc3VwcG9ydGVkIGFuZCBtYXkgY3Jhc2guIFVzZSBpdCBhdCB5b3VyIG93biByaXNrCgBIMjY0IERlY29kZXIAaXNfYXZjAGlzIGF2YwBuYWxfbGVuZ3RoX3NpemUAZW5hYmxlX2VyAEVuYWJsZSBlcnJvciByZXNpbGllbmNlIG9uIGRhbWFnZWQgZnJhbWVzICh1bnNhZmUpAENhbm5vdCBhbGxvY2F0ZSBtZW1vcnkuCgBSZWZlcmVuY2Ugbm90IGF2YWlsYWJsZSBmb3IgZXJyb3IgY29uY2VhbGluZwoAUmVmZXJlbmNlIGludmFsaWQKAGxpYmF2Y29kZWMvaDI2NGRzcC5jAAAggKAAEFBhY2tldCBpcyB0b28gc21hbGwKAExlZnRvdmVyIGJ5dGVzOiAlZC4KAGxpYmF2Y29kZWMvb3B0aW9ucy5jAEFWQ29kZWNDb250ZXh0AGIAc2V0IGJpdHJhdGUgKGluIGJpdHMvcykAYWIAYnQAU2V0IHZpZGVvIGJpdHJhdGUgdG9sZXJhbmNlIChpbiBiaXRzL3MpLiBJbiAxLXBhc3MgbW9kZSwgYml0cmF0ZSB0b2xlcmFuY2Ugc3BlY2lmaWVzIGhvdyBmYXIgcmF0ZWNvbnRyb2wgaXMgd2lsbGluZyB0byBkZXZpYXRlIGZyb20gdGhlIHRhcmdldCBhdmVyYWdlIGJpdHJhdGUgdmFsdWUuIFRoaXMgaXMgbm90IHJlbGF0ZWQgdG8gbWluaW11bS9tYXhpbXVtIGJpdHJhdGUuIExvd2VyaW5nIHRvbGVyYW5jZSB0b28gbXVjaCBoYXMgYW4gYWR2ZXJzZSBlZmZlY3Qgb24gcXVhbGl0eS4AdW5hbGlnbmVkAGFsbG93IGRlY29kZXJzIHRvIHByb2R1Y2UgdW5hbGlnbmVkIG91dHB1dABtdjQAdXNlIGZvdXIgbW90aW9uIHZlY3RvcnMgcGVyIG1hY3JvYmxvY2sgKE1QRUctNCkAcXBlbAB1c2UgMS80LXBlbCBtb3Rpb24gY29tcGVuc2F0aW9uAGxvb3AAdXNlIGxvb3AgZmlsdGVyAHFzY2FsZQB1c2UgZml4ZWQgcXNjYWxlAGdtYwB1c2UgZ21jAG12MABhbHdheXMgdHJ5IGEgbWIgd2l0aCBtdj08MCwwPgBpbnB1dF9wcmVzZXJ2ZWQAcGFzczEAdXNlIGludGVybmFsIDItcGFzcyByYXRlY29udHJvbCBpbiBmaXJzdCAgcGFzcyBtb2RlAHBhc3MyAHVzZSBpbnRlcm5hbCAyLXBhc3MgcmF0ZWNvbnRyb2wgaW4gc2Vjb25kIHBhc3MgbW9kZQBvbmx5IGRlY29kZS9lbmNvZGUgZ3JheXNjYWxlAGVtdV9lZGdlAGRvIG5vdCBkcmF3IGVkZ2VzAHBzbnIAZXJyb3JbP10gdmFyaWFibGVzIHdpbGwgYmUgc2V0IGR1cmluZyBlbmNvZGluZwB0cnVuY2F0ZWQASW5wdXQgYml0c3RyZWFtIG1pZ2h0IGJlIHJhbmRvbWx5IHRydW5jYXRlZABuYXEAbm9ybWFsaXplIGFkYXB0aXZlIHF1YW50aXphdGlvbgBpbGRjdAB1c2UgaW50ZXJsYWNlZCBEQ1QAbG93X2RlbGF5AGZvcmNlIGxvdyBkZWxheQBnbG9iYWxfaGVhZGVyAHBsYWNlIGdsb2JhbCBoZWFkZXJzIGluIGV4dHJhZGF0YSBpbnN0ZWFkIG9mIGV2ZXJ5IGtleWZyYW1lAGJpdGV4YWN0AHVzZSBvbmx5IGJpdGV4YWN0IGZ1bmN0aW9ucyAoZXhjZXB0IChJKURDVCkASC4yNjMgYWR2YW5jZWQgaW50cmEgY29kaW5nIC8gTVBFRy00IEFDIHByZWRpY3Rpb24AaWxtZQBpbnRlcmxhY2VkIG1vdGlvbiBlc3RpbWF0aW9uAGNnb3AAY2xvc2VkIEdPUABvdXRwdXRfY29ycnVwdABPdXRwdXQgZXZlbiBwb3RlbnRpYWxseSBjb3JydXB0ZWQgZnJhbWVzAGZhc3QAYWxsb3cgbm9uLXNwZWMtY29tcGxpYW50IHNwZWVkdXAgdHJpY2tzAGZsYWdzMgBub291dABza2lwIGJpdHN0cmVhbSBlbmNvZGluZwBpZ25vcmVjcm9wAGlnbm9yZSBjcm9wcGluZyBpbmZvcm1hdGlvbiBmcm9tIHNwcwBsb2NhbF9oZWFkZXIAcGxhY2UgZ2xvYmFsIGhlYWRlcnMgYXQgZXZlcnkga2V5ZnJhbWUgaW5zdGVhZCBvZiBpbiBleHRyYWRhdGEAY2h1bmtzAEZyYW1lIGRhdGEgbWlnaHQgYmUgc3BsaXQgaW50byBtdWx0aXBsZSBjaHVua3MAc2hvd2FsbABTaG93IGFsbCBmcmFtZXMgYmVmb3JlIHRoZSBmaXJzdCBrZXlmcmFtZQBleHBvcnRfbXZzAGV4cG9ydCBtb3Rpb24gdmVjdG9ycyB0aHJvdWdoIGZyYW1lIHNpZGUgZGF0YQBza2lwX21hbnVhbABkbyBub3Qgc2tpcCBzYW1wbGVzIGFuZCBleHBvcnQgc2tpcCBpbmZvcm1hdGlvbiBhcyBmcmFtZSBzaWRlIGRhdGEAYXNzX3JvX2ZsdXNoX25vb3AAZG8gbm90IHJlc2V0IEFTUyBSZWFkT3JkZXIgZmllbGQgb24gZmx1c2gAbWVfbWV0aG9kAHNldCBtb3Rpb24gZXN0aW1hdGlvbiBtZXRob2QAemVybwB6ZXJvIG1vdGlvbiBlc3RpbWF0aW9uIChmYXN0ZXN0KQBmdWxsAGZ1bGwgbW90aW9uIGVzdGltYXRpb24gKHNsb3dlc3QpAGVwenMARVBaUyBtb3Rpb24gZXN0aW1hdGlvbgBlc2EAZXNhIG1vdGlvbiBlc3RpbWF0aW9uIChhbGlhcyBmb3IgZnVsbCkAdGVzYQB0ZXNhIG1vdGlvbiBlc3RpbWF0aW9uAGRpYQBkaWFtb25kIG1vdGlvbiBlc3RpbWF0aW9uIChhbGlhcyBmb3IgRVBaUykAbG9nIG1vdGlvbiBlc3RpbWF0aW9uAHBob2RzAHBob2RzIG1vdGlvbiBlc3RpbWF0aW9uAHgxAFgxIG1vdGlvbiBlc3RpbWF0aW9uAGhleABoZXggbW90aW9uIGVzdGltYXRpb24AdW1oAHVtaCBtb3Rpb24gZXN0aW1hdGlvbgBpdGVyAGl0ZXIgbW90aW9uIGVzdGltYXRpb24AdGltZV9iYXNlAGcAc2V0IHRoZSBncm91cCBvZiBwaWN0dXJlIChHT1ApIHNpemUAYXIAc2V0IGF1ZGlvIHNhbXBsaW5nIHJhdGUgKGluIEh6KQBhYwBzZXQgbnVtYmVyIG9mIGF1ZGlvIGNoYW5uZWxzAHNldCBjdXRvZmYgYmFuZHdpZHRoAGZyYW1lX3NpemUAZnJhbWVfbnVtYmVyAGRlbGF5AHFjb21wAHZpZGVvIHF1YW50aXplciBzY2FsZSBjb21wcmVzc2lvbiAoVkJSKS4gQ29uc3RhbnQgb2YgcmF0ZWNvbnRyb2wgZXF1YXRpb24uIFJlY29tbWVuZGVkIHJhbmdlIGZvciBkZWZhdWx0IHJjX2VxOiAwLjAtMS4wAHFibHVyAHZpZGVvIHF1YW50aXplciBzY2FsZSBibHVyIChWQlIpAHFtaW4AbWluaW11bSB2aWRlbyBxdWFudGl6ZXIgc2NhbGUgKFZCUikAcW1heABtYXhpbXVtIHZpZGVvIHF1YW50aXplciBzY2FsZSAoVkJSKQBxZGlmZgBtYXhpbXVtIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgcXVhbnRpemVyIHNjYWxlcyAoVkJSKQBiZgBzZXQgbWF4aW11bSBudW1iZXIgb2YgQi1mcmFtZXMgYmV0d2VlbiBub24tQi1mcmFtZXMAYl9xZmFjdG9yAFFQIGZhY3RvciBiZXR3ZWVuIFAtIGFuZCBCLWZyYW1lcwByY19zdHJhdGVneQByYXRlY29udHJvbCBtZXRob2QAYl9zdHJhdGVneQBzdHJhdGVneSB0byBjaG9vc2UgYmV0d2VlbiBJL1AvQi1mcmFtZXMAcHMAUlRQIHBheWxvYWQgc2l6ZSBpbiBieXRlcwBtdl9iaXRzAGhlYWRlcl9iaXRzAGlfdGV4X2JpdHMAcF90ZXhfYml0cwBpX2NvdW50AHBfY291bnQAc2tpcF9jb3VudABtaXNjX2JpdHMAZnJhbWVfYml0cwBjb2RlY190YWcAYnVnAHdvcmsgYXJvdW5kIG5vdCBhdXRvZGV0ZWN0ZWQgZW5jb2RlciBidWdzAGF1dG9kZXRlY3QAb2xkX21zbXBlZzQAc29tZSBvbGQgbGF2Yy1nZW5lcmF0ZWQgTVNNUEVHNHYzIGZpbGVzIChubyBhdXRvZGV0ZWN0aW9uKQB4dmlkX2lsYWNlAFh2aWQgaW50ZXJsYWNpbmcgYnVnIChhdXRvZGV0ZWN0ZWQgaWYgRk9VUkNDID09IFhWSVgpAHVtcDQAKGF1dG9kZXRlY3RlZCBpZiBGT1VSQ0MgPT0gVU1QNCkAbm9fcGFkZGluZwBwYWRkaW5nIGJ1ZyAoYXV0b2RldGVjdGVkKQBhY192bGMAaWxsZWdhbCBWTEMgYnVnIChhdXRvZGV0ZWN0ZWQgcGVyIEZPVVJDQykAcXBlbF9jaHJvbWEAc3RkX3FwZWwAb2xkIHN0YW5kYXJkIHFwZWwgKGF1dG9kZXRlY3RlZCBwZXIgRk9VUkNDL3ZlcnNpb24pAHFwZWxfY2hyb21hMgBkaXJlY3RfYmxvY2tzaXplAGRpcmVjdC1xcGVsLWJsb2Nrc2l6ZSBidWcgKGF1dG9kZXRlY3RlZCBwZXIgRk9VUkNDL3ZlcnNpb24pAGVkZ2UAZWRnZSBwYWRkaW5nIGJ1ZyAoYXV0b2RldGVjdGVkIHBlciBGT1VSQ0MvdmVyc2lvbikAaHBlbF9jaHJvbWEAZGNfY2xpcABtcwB3b3JrIGFyb3VuZCB2YXJpb3VzIGJ1Z3MgaW4gTWljcm9zb2Z0J3MgYnJva2VuIGRlY29kZXJzAHRydW5jYXRlZCBmcmFtZXMAaWVkZ2UAc3RyaWN0AGhvdyBzdHJpY3RseSB0byBmb2xsb3cgdGhlIHN0YW5kYXJkcwB2ZXJ5AHN0cmljdGx5IGNvbmZvcm0gdG8gYSBvbGRlciBtb3JlIHN0cmljdCB2ZXJzaW9uIG9mIHRoZSBzcGVjIG9yIHJlZmVyZW5jZSBzb2Z0d2FyZQBzdHJpY3RseSBjb25mb3JtIHRvIGFsbCB0aGUgdGhpbmdzIGluIHRoZSBzcGVjIG5vIG1hdHRlciB3aGF0IHRoZSBjb25zZXF1ZW5jZXMAbm9ybWFsAHVub2ZmaWNpYWwAYWxsb3cgdW5vZmZpY2lhbCBleHRlbnNpb25zAGV4cGVyaW1lbnRhbABhbGxvdyBub24tc3RhbmRhcmRpemVkIGV4cGVyaW1lbnRhbCB0aGluZ3MAYl9xb2Zmc2V0AFFQIG9mZnNldCBiZXR3ZWVuIFAtIGFuZCBCLWZyYW1lcwBlcnJfZGV0ZWN0AHNldCBlcnJvciBkZXRlY3Rpb24gZmxhZ3MAY3JjY2hlY2sAdmVyaWZ5IGVtYmVkZGVkIENSQ3MAYml0c3RyZWFtAGRldGVjdCBiaXRzdHJlYW0gc3BlY2lmaWNhdGlvbiBkZXZpYXRpb25zAGJ1ZmZlcgBkZXRlY3QgaW1wcm9wZXIgYml0c3RyZWFtIGxlbmd0aABleHBsb2RlAGFib3J0IGRlY29kaW5nIG9uIG1pbm9yIGVycm9yIGRldGVjdGlvbgBpZ25vcmVfZXJyAGlnbm9yZSBlcnJvcnMAY2FyZWZ1bABjb25zaWRlciB0aGluZ3MgdGhhdCB2aW9sYXRlIHRoZSBzcGVjLCBhcmUgZmFzdCB0byBjaGVjayBhbmQgaGF2ZSBub3QgYmVlbiBzZWVuIGluIHRoZSB3aWxkIGFzIGVycm9ycwBjb21wbGlhbnQAY29uc2lkZXIgYWxsIHNwZWMgbm9uIGNvbXBsaWFuY2llcyBhcyBlcnJvcnMAYWdncmVzc2l2ZQBjb25zaWRlciB0aGluZ3MgdGhhdCBhIHNhbmUgZW5jb2RlciBzaG91bGQgbm90IGRvIGFzIGFuIGVycm9yAGhhc19iX2ZyYW1lcwBibG9ja19hbGlnbgBtcGVnX3F1YW50AHVzZSBNUEVHIHF1YW50aXplcnMgaW5zdGVhZCBvZiBILjI2MwBxc3F1aXNoAGRlcHJlY2F0ZWQsIHVzZSBlbmNvZGVyIHByaXZhdGUgb3B0aW9ucyBpbnN0ZWFkAHJjX3Ftb2RfYW1wAHJjX3Ftb2RfZnJlcQByY19vdmVycmlkZV9jb3VudAByY19lcQBtYXhyYXRlAG1heGltdW0gYml0cmF0ZSAoaW4gYml0cy9zKS4gVXNlZCBmb3IgVkJWIHRvZ2V0aGVyIHdpdGggYnVmc2l6ZS4AbWlucmF0ZQBtaW5pbXVtIGJpdHJhdGUgKGluIGJpdHMvcykuIE1vc3QgdXNlZnVsIGluIHNldHRpbmcgdXAgYSBDQlIgZW5jb2RlLiBJdCBpcyBvZiBsaXR0bGUgdXNlIG90aGVyd2lzZS4AYnVmc2l6ZQBzZXQgcmF0ZWNvbnRyb2wgYnVmZmVyIHNpemUgKGluIGJpdHMpAHJjX2J1Zl9hZ2dyZXNzaXZpdHkAaV9xZmFjdG9yAFFQIGZhY3RvciBiZXR3ZWVuIFAtIGFuZCBJLWZyYW1lcwBpX3FvZmZzZXQAUVAgb2Zmc2V0IGJldHdlZW4gUC0gYW5kIEktZnJhbWVzAHJjX2luaXRfY3BseABkY3QARENUIGFsZ29yaXRobQBhdXRvc2VsZWN0IGEgZ29vZCBvbmUAZmFzdGludABmYXN0IGludGVnZXIAaW50AGFjY3VyYXRlIGludGVnZXIAbW14AGFsdGl2ZWMAZmFhbgBmbG9hdGluZyBwb2ludCBBQU4gRENUAGx1bWlfbWFzawBjb21wcmVzc2VzIGJyaWdodCBhcmVhcyBzdHJvbmdlciB0aGFuIG1lZGl1bSBvbmVzAHRjcGx4X21hc2sAdGVtcG9yYWwgY29tcGxleGl0eSBtYXNraW5nAHNjcGx4X21hc2sAc3BhdGlhbCBjb21wbGV4aXR5IG1hc2tpbmcAcF9tYXNrAGludGVyIG1hc2tpbmcAZGFya19tYXNrAGNvbXByZXNzZXMgZGFyayBhcmVhcyBzdHJvbmdlciB0aGFuIG1lZGl1bSBvbmVzAGlkY3QAc2VsZWN0IElEQ1QgaW1wbGVtZW50YXRpb24Ac2ltcGxlAHNpbXBsZW1teABhcm0Ac2g0AHNpbXBsZWFybQBzaW1wbGVhcm12NXRlAHNpbXBsZWFybXY2AHNpbXBsZW5lb24Ac2ltcGxlYWxwaGEAaXBwAHh2aWQAeHZpZG1teABkZXByZWNhdGVkLCBmb3IgY29tcGF0aWJpbGl0eSBvbmx5AGZhYW5pAGZsb2F0aW5nIHBvaW50IEFBTiBJRENUAHNpbXBsZWF1dG8Ac2xpY2VfY291bnQAZWMAc2V0IGVycm9yIGNvbmNlYWxtZW50IHN0cmF0ZWd5AGd1ZXNzX212cwBpdGVyYXRpdmUgbW90aW9uIHZlY3RvciAoTVYpIHNlYXJjaCAoc2xvdykAZGVibG9jawB1c2Ugc3Ryb25nIGRlYmxvY2sgZmlsdGVyIGZvciBkYW1hZ2VkIE1CcwBmYXZvcl9pbnRlcgBmYXZvciBwcmVkaWN0aW5nIGZyb20gdGhlIHByZXZpb3VzIGZyYW1lAGJpdHNfcGVyX2NvZGVkX3NhbXBsZQBwcmVkAHByZWRpY3Rpb24gbWV0aG9kAGxlZnQAcGxhbmUAbWVkaWFuAGFzcGVjdABzYW1wbGUgYXNwZWN0IHJhdGlvAHNhcgBwcmludCBzcGVjaWZpYyBkZWJ1ZyBpbmZvAHBpY3QAcGljdHVyZSBpbmZvAHJjAHJhdGUgY29udHJvbABtYl90eXBlAG1hY3JvYmxvY2sgKE1CKSB0eXBlAHFwAHBlci1ibG9jayBxdWFudGl6YXRpb24gcGFyYW1ldGVyIChRUCkAbXYAbW90aW9uIHZlY3RvcgBkY3RfY29lZmYAZ3JlZW5fbWV0YWRhdGEAc2tpcABzdGFydGNvZGUAcHRzAGVyAGVycm9yIHJlY29nbml0aW9uAG1tY28AbWVtb3J5IG1hbmFnZW1lbnQgY29udHJvbCBvcGVyYXRpb25zIChILjI2NCkAYnVncwB2aXNfcXAAdmlzdWFsaXplIHF1YW50aXphdGlvbiBwYXJhbWV0ZXIgKFFQKSwgbG93ZXIgUVAgYXJlIHRpbnRlZCBncmVlbmVyAHZpc19tYl90eXBlAHZpc3VhbGl6ZSBibG9jayB0eXBlcwBidWZmZXJzAHBpY3R1cmUgYnVmZmVyIGFsbG9jYXRpb25zAHRocmVhZF9vcHMAdGhyZWFkaW5nIG9wZXJhdGlvbnMAbm9tYwBza2lwIG1vdGlvbiBjb21wZW5zYXRpb24AdmlzbXYAdmlzdWFsaXplIG1vdGlvbiB2ZWN0b3JzIChNVnMpIChkZXByZWNhdGVkKQBkZWJ1Z19tdgBwZgBmb3J3YXJkIHByZWRpY3RlZCBNVnMgb2YgUC1mcmFtZXMAZm9yd2FyZCBwcmVkaWN0ZWQgTVZzIG9mIEItZnJhbWVzAGJiAGJhY2t3YXJkIHByZWRpY3RlZCBNVnMgb2YgQi1mcmFtZXMAY21wAGZ1bGwtcGVsIE1FIGNvbXBhcmUgZnVuY3Rpb24AY21wX2Z1bmMAc3ViY21wAHN1Yi1wZWwgTUUgY29tcGFyZSBmdW5jdGlvbgBtYmNtcABtYWNyb2Jsb2NrIGNvbXBhcmUgZnVuY3Rpb24AaWxkY3RjbXAAaW50ZXJsYWNlZCBEQ1QgY29tcGFyZSBmdW5jdGlvbgBkaWFfc2l6ZQBkaWFtb25kIHR5cGUgJiBzaXplIGZvciBtb3Rpb24gZXN0aW1hdGlvbgBsYXN0X3ByZWQAYW1vdW50IG9mIG1vdGlvbiBwcmVkaWN0b3JzIGZyb20gdGhlIHByZXZpb3VzIGZyYW1lAHByZW1lAHByZSBtb3Rpb24gZXN0aW1hdGlvbgBwcmVjbXAAcHJlIG1vdGlvbiBlc3RpbWF0aW9uIGNvbXBhcmUgZnVuY3Rpb24Ac2FkAHN1bSBvZiBhYnNvbHV0ZSBkaWZmZXJlbmNlcywgZmFzdABzc2UAc3VtIG9mIHNxdWFyZWQgZXJyb3JzAHNhdGQAc3VtIG9mIGFic29sdXRlIEhhZGFtYXJkIHRyYW5zZm9ybWVkIGRpZmZlcmVuY2VzAHN1bSBvZiBhYnNvbHV0ZSBEQ1QgdHJhbnNmb3JtZWQgZGlmZmVyZW5jZXMAc3VtIG9mIHNxdWFyZWQgcXVhbnRpemF0aW9uIGVycm9ycyAoYXZvaWQsIGxvdyBxdWFsaXR5KQBiaXQAbnVtYmVyIG9mIGJpdHMgbmVlZGVkIGZvciB0aGUgYmxvY2sAcmQAcmF0ZSBkaXN0b3J0aW9uIG9wdGltYWwsIHNsb3cAdnNhZABzdW0gb2YgYWJzb2x1dGUgdmVydGljYWwgZGlmZmVyZW5jZXMAdnNzZQBzdW0gb2Ygc3F1YXJlZCB2ZXJ0aWNhbCBkaWZmZXJlbmNlcwBuc3NlAG5vaXNlIHByZXNlcnZpbmcgc3VtIG9mIHNxdWFyZWQgZGlmZmVyZW5jZXMAZGN0bWF4AGNocm9tYQBtc2FkAHN1bSBvZiBhYnNvbHV0ZSBkaWZmZXJlbmNlcywgbWVkaWFuIHByZWRpY3RlZABwcmVfZGlhX3NpemUAZGlhbW9uZCB0eXBlICYgc2l6ZSBmb3IgbW90aW9uIGVzdGltYXRpb24gcHJlLXBhc3MAc3VicQBzdWItcGVsIG1vdGlvbiBlc3RpbWF0aW9uIHF1YWxpdHkAZHRnX2FjdGl2ZV9mb3JtYXQAbWVfcmFuZ2UAbGltaXQgbW90aW9uIHZlY3RvcnMgcmFuZ2UgKDEwMjMgZm9yIERpdlggcGxheWVyKQBpYmlhcwBpbnRyYSBxdWFudCBiaWFzAHBiaWFzAGludGVyIHF1YW50IGJpYXMAZ2xvYmFsX3F1YWxpdHkAY29kZXIAdmxjAHZhcmlhYmxlIGxlbmd0aCBjb2RlciAvIEh1ZmZtYW4gY29kZXIAYXJpdGhtZXRpYyBjb2RlcgByYXcAcmF3IChubyBlbmNvZGluZykAcmxlAHJ1bi1sZW5ndGggY29kZXIAZGVmbGF0ZQBkZWZsYXRlLWJhc2VkIGNvZGVyAGNvbnRleHQAY29udGV4dCBtb2RlbABzbGljZV9mbGFncwB4dm1jX2FjY2VsZXJhdGlvbgBtYmQAbWFjcm9ibG9jayBkZWNpc2lvbiBhbGdvcml0aG0gKGhpZ2ggcXVhbGl0eSBtb2RlKQB1c2UgbWJjbXAAYml0cwB1c2UgZmV3ZXN0IGJpdHMAdXNlIGJlc3QgcmF0ZSBkaXN0b3J0aW9uAHN0cmVhbV9jb2RlY190YWcAc2NfdGhyZXNob2xkAHNjZW5lIGNoYW5nZSB0aHJlc2hvbGQAbG1pbgBsbWF4AG5yAG5vaXNlIHJlZHVjdGlvbgByY19pbml0X29jY3VwYW5jeQBudW1iZXIgb2YgYml0cyB3aGljaCBzaG91bGQgYmUgbG9hZGVkIGludG8gdGhlIHJjIGJ1ZmZlciBiZWZvcmUgZGVjb2Rpbmcgc3RhcnRzAHRocmVhZHMAc2V0IHRoZSBudW1iZXIgb2YgdGhyZWFkcwBhdXRvZGV0ZWN0IGEgc3VpdGFibGUgbnVtYmVyIG9mIHRocmVhZHMgdG8gdXNlAG1lX3RocmVzaG9sZABtb3Rpb24gZXN0aW1hdGlvbiB0aHJlc2hvbGQAbWJfdGhyZXNob2xkAG1hY3JvYmxvY2sgdGhyZXNob2xkAGRjAGludHJhX2RjX3ByZWNpc2lvbgBuc3NldwBuc3NlIHdlaWdodABza2lwX3RvcABudW1iZXIgb2YgbWFjcm9ibG9jayByb3dzIGF0IHRoZSB0b3Agd2hpY2ggYXJlIHNraXBwZWQAc2tpcF9ib3R0b20AbnVtYmVyIG9mIG1hY3JvYmxvY2sgcm93cyBhdCB0aGUgYm90dG9tIHdoaWNoIGFyZSBza2lwcGVkAHByb2ZpbGUAYWFjX21haW4AYWFjX2xvdwBhYWNfc3NyAGFhY19sdHAAYWFjX2hlAGFhY19oZV92MgBhYWNfbGQAYWFjX2VsZABtcGVnMl9hYWNfbG93AG1wZWcyX2FhY19oZQBkdHNfZXMAZHRzXzk2XzI0AGR0c19oZF9ocmEAZHRzX2hkX21hAG1wZWc0X3NwAG1wZWc0X2NvcmUAbXBlZzRfbWFpbgBtcGVnNF9hc3AAbWFpbjEwAGxldmVsAGxvd3JlcwBkZWNvZGUgYXQgMT0gMS8yLCAyPTEvNCwgMz0xLzggcmVzb2x1dGlvbnMAc2tpcF90aHJlc2hvbGQAZnJhbWUgc2tpcCB0aHJlc2hvbGQAc2tpcF9mYWN0b3IAZnJhbWUgc2tpcCBmYWN0b3IAc2tpcF9leHAAZnJhbWUgc2tpcCBleHBvbmVudABza2lwY21wAGZyYW1lIHNraXAgY29tcGFyZSBmdW5jdGlvbgBib3JkZXJfbWFzawBtYmxtaW4AbWluaW11bSBtYWNyb2Jsb2NrIExhZ3JhbmdlIGZhY3RvciAoVkJSKQBtYmxtYXgAbWF4aW11bSBtYWNyb2Jsb2NrIExhZ3JhbmdlIGZhY3RvciAoVkJSKQBtZXBjAG1vdGlvbiBlc3RpbWF0aW9uIGJpdHJhdGUgcGVuYWx0eSBjb21wZW5zYXRpb24gKDEuMCA9IDI1NikAc2tpcF9sb29wX2ZpbHRlcgBza2lwIGxvb3AgZmlsdGVyaW5nIHByb2Nlc3MgZm9yIHRoZSBzZWxlY3RlZCBmcmFtZXMAYXZkaXNjYXJkAHNraXBfaWRjdABza2lwIElEQ1QvZGVxdWFudGl6YXRpb24gZm9yIHRoZSBzZWxlY3RlZCBmcmFtZXMAc2tpcF9mcmFtZQBza2lwIGRlY29kaW5nIGZvciB0aGUgc2VsZWN0ZWQgZnJhbWVzAGRpc2NhcmQgbm8gZnJhbWUAZGlzY2FyZCB1c2VsZXNzIGZyYW1lcwBub3JlZgBkaXNjYXJkIGFsbCBub24tcmVmZXJlbmNlIGZyYW1lcwBiaWRpcgBkaXNjYXJkIGFsbCBiaWRpcmVjdGlvbmFsIGZyYW1lcwBub2tleQBkaXNjYXJkIGFsbCBmcmFtZXMgZXhjZXB0IGtleWZyYW1lcwBub2ludHJhAGRpc2NhcmQgYWxsIGZyYW1lcyBleGNlcHQgSSBmcmFtZXMAZGlzY2FyZCBhbGwgZnJhbWVzAGJpZGlyX3JlZmluZQByZWZpbmUgdGhlIHR3byBtb3Rpb24gdmVjdG9ycyB1c2VkIGluIGJpZGlyZWN0aW9uYWwgbWFjcm9ibG9ja3MAYnJkX3NjYWxlAGRvd25zY2FsZSBmcmFtZXMgZm9yIGR5bmFtaWMgQi1mcmFtZSBkZWNpc2lvbgBrZXlpbnRfbWluAG1pbmltdW0gaW50ZXJ2YWwgYmV0d2VlbiBJRFItZnJhbWVzAHJlZnMAcmVmZXJlbmNlIGZyYW1lcyB0byBjb25zaWRlciBmb3IgbW90aW9uIGNvbXBlbnNhdGlvbgBjaHJvbWFvZmZzZXQAY2hyb21hIFFQIG9mZnNldCBmcm9tIGx1bWEAdHJlbGxpcwByYXRlLWRpc3RvcnRpb24gb3B0aW1hbCBxdWFudGl6YXRpb24Ac2NfZmFjdG9yAG11bHRpcGxpZWQgYnkgcXNjYWxlIGZvciBlYWNoIGZyYW1lIGFuZCBhZGRlZCB0byBzY2VuZV9jaGFuZ2Vfc2NvcmUAbXYwX3RocmVzaG9sZABiX3NlbnNpdGl2aXR5AGFkanVzdCBzZW5zaXRpdml0eSBvZiBiX2ZyYW1lX3N0cmF0ZWd5IDEAY29tcHJlc3Npb25fbGV2ZWwAbWluX3ByZWRpY3Rpb25fb3JkZXIAbWF4X3ByZWRpY3Rpb25fb3JkZXIAdGltZWNvZGVfZnJhbWVfc3RhcnQAR09QIHRpbWVjb2RlIGZyYW1lIHN0YXJ0IG51bWJlciwgaW4gbm9uLWRyb3AtZnJhbWUgZm9ybWF0AGJpdHNfcGVyX3Jhd19zYW1wbGUAcmVxdWVzdF9jaGFubmVsX2xheW91dAByY19tYXhfdmJ2X3VzZQByY19taW5fdmJ2X3VzZQB0aWNrc19wZXJfZnJhbWUAY29sb3JfcHJpbWFyaWVzAGNvbG9yIHByaW1hcmllcwBjb2xvcl9wcmltYXJpZXNfdHlwZQBCVC43MDkAVW5zcGVjaWZpZWQAQlQuNDcwIE0AQlQuNDcwIEJHAFNNUFRFIDE3MCBNAFNNUFRFIDI0MCBNAEZpbG0AQlQuMjAyMABTTVBURSA0MjgtMQBzbXB0ZTQyOF8xAFNNUFRFIDQzMS0yAFNNUFRFIDQyMi0xAEpFREVDIFAyMgB1bnNwZWNpZmllZABjb2xvcl90cmMAY29sb3IgdHJhbnNmZXIgY2hhcmFjdGVyaXN0aWNzAGNvbG9yX3RyY190eXBlAGdhbW1hMjIAZ2FtbWEyOABMaW5lYXIATG9nAExvZyBzcXVhcmUgcm9vdABJRUMgNjE5NjYtMi00AEJULjEzNjEASUVDIDYxOTY2LTItMQBCVC4yMDIwIC0gMTAgYml0AEJULjIwMjAgLSAxMiBiaXQAU01QVEUgMjA4NABBUklCIFNURC1CNjcAbG9nX3NxcnQAaWVjNjE5NjZfMl80AGJ0MTM2MQBpZWM2MTk2Nl8yXzEAYnQyMDIwXzEwYml0AGJ0MjAyMF8xMmJpdABjb2xvcnNwYWNlAGNvbG9yIHNwYWNlAGNvbG9yc3BhY2VfdHlwZQByZ2IAUkdCAEZDQwBZQ0dDTwBCVC4yMDIwIE5DTABCVC4yMDIwIENMAFNNUFRFIDIwODUAeWNvY2cAYnQyMDIwX25jbABidDIwMjBfY2wAY29sb3JfcmFuZ2UAY29sb3IgcmFuZ2UAY29sb3JfcmFuZ2VfdHlwZQB0dgBNUEVHICgyMTkqMl4obi04KSkAcGMASlBFRyAoMl5uLTEpAG1wZWcAanBlZwBjaHJvbWFfc2FtcGxlX2xvY2F0aW9uAGNocm9tYSBzYW1wbGUgbG9jYXRpb24AY2hyb21hX3NhbXBsZV9sb2NhdGlvbl90eXBlAExlZnQAY2VudGVyAENlbnRlcgB0b3BsZWZ0AFRvcC1sZWZ0AHRvcABUb3AAYm90dG9tbGVmdABCb3R0b20tbGVmdABib3R0b20AQm90dG9tAGxvZ19sZXZlbF9vZmZzZXQAc2V0IHRoZSBsb2cgbGV2ZWwgb2Zmc2V0AHNsaWNlcwBzZXQgdGhlIG51bWJlciBvZiBzbGljZXMsIHVzZWQgaW4gcGFyYWxsZWxpemVkIGVuY29kaW5nAHRocmVhZF90eXBlAHNlbGVjdCBtdWx0aXRocmVhZGluZyB0eXBlAHNsaWNlAGZyYW1lAGF1ZGlvX3NlcnZpY2VfdHlwZQBhdWRpbyBzZXJ2aWNlIHR5cGUAbWEATWFpbiBBdWRpbyBTZXJ2aWNlAGVmAEVmZmVjdHMAdmkAVmlzdWFsbHkgSW1wYWlyZWQAaGkASGVhcmluZyBJbXBhaXJlZABkaQBEaWFsb2d1ZQBjbwBDb21tZW50YXJ5AGVtAEVtZXJnZW5jeQB2bwBWb2ljZSBPdmVyAGthAEthcmFva2UAcmVxdWVzdF9zYW1wbGVfZm10AHNhbXBsZSBmb3JtYXQgYXVkaW8gZGVjb2RlcnMgc2hvdWxkIHByZWZlcgBwa3RfdGltZWJhc2UAc3ViX2NoYXJlbmMAc2V0IGlucHV0IHRleHQgc3VidGl0bGVzIGNoYXJhY3RlciBlbmNvZGluZwBzdWJfY2hhcmVuY19tb2RlAHNldCBpbnB1dCB0ZXh0IHN1YnRpdGxlcyBjaGFyYWN0ZXIgZW5jb2RpbmcgbW9kZQBkb19ub3RoaW5nAHByZV9kZWNvZGVyAHN1Yl90ZXh0X2Zvcm1hdABzZXQgZGVjb2RlZCB0ZXh0IHN1YnRpdGxlIGZvcm1hdABhc3Nfd2l0aF90aW1pbmdzAHJlZmNvdW50ZWRfZnJhbWVzAHNpZGVfZGF0YV9vbmx5X3BhY2tldHMAYXBwbHlfY3JvcHBpbmcAc2tpcF9hbHBoYQBTa2lwIHByb2Nlc3NpbmcgYWxwaGEAZmllbGRfb3JkZXIARmllbGQgb3JkZXIAcHJvZ3Jlc3NpdmUAdHQAdGIAZHVtcF9zZXBhcmF0b3IAc2V0IGluZm9ybWF0aW9uIGR1bXAgZmllbGQgc2VwYXJhdG9yAGNvZGVjX3doaXRlbGlzdABMaXN0IG9mIGRlY29kZXJzIHRoYXQgYXJlIGFsbG93ZWQgdG8gYmUgdXNlZABwaXhlbF9mb3JtYXQAc2V0IHBpeGVsIGZvcm1hdAB2aWRlb19zaXplAHNldCB2aWRlbyBzaXplAG1heF9waXhlbHMATWF4aW11bSBudW1iZXIgb2YgcGl4ZWxzAGh3YWNjZWxfZmxhZ3MAaWdub3JlX2xldmVsAGlnbm9yZSBsZXZlbCBldmVuIGlmIHRoZSBjb2RlYyBsZXZlbCB1c2VkIGlzIHVua25vd24gb3IgaGlnaGVyIHRoYW4gdGhlIG1heGltdW0gc3VwcG9ydGVkIGxldmVsIHJlcG9ydGVkIGJ5IHRoZSBoYXJkd2FyZSBkcml2ZXIAYWxsb3dfaGlnaF9kZXB0aABhbGxvdyB0byBvdXRwdXQgWVVWIHBpeGVsIGZvcm1hdHMgd2l0aCBhIGRpZmZlcmVudCBjaHJvbWEgc2FtcGxpbmcgdGhhbiA0OjI6MCBhbmQvb3Igb3RoZXIgdGhhbiA4IGJpdHMgcGVyIGNvbXBvbmVudABhbGxvd19wcm9maWxlX21pc21hdGNoAGF0dGVtcHQgdG8gZGVjb2RlIGFueXdheSBpZiBIVyBhY2NlbGVyYXRlZCBkZWNvZGVyJ3Mgc3VwcG9ydGVkIHByb2ZpbGVzIGRvIG5vdCBleGFjdGx5IG1hdGNoIHRoZSBzdHJlYW0ATlVMTABsaWJhdmNvZGVjL3BhcnNlci5jAEZhaWxlZCB0byByZWFsbG9jYXRlIHBhcnNlciBidWZmZXIgdG8gJWQKAG5leHQgPj0gMCB8fCBwYy0+YnVmZmVyAEludmFsaWQgc2FtcGxlX3NpemUKAEludmFsaWQgbnVtYmVyIG9mIGNoYW5uZWxzCgBjb2RlYyBpZHMgbWlzbWF0Y2gKAEludmFsaWQgUENNIHBhY2tldCwgZGF0YSBoYXMgc2l6ZSAlZCBidXQgYXQgbGVhc3QgYSBzaXplIG9mICVkIHdhcyBleHBlY3RlZAoAUENNIGNoYW5uZWxzIG91dCBvZiBib3VuZHMKAGF2X3BhY2tldF9yZWYoKSBmYWlsZWQgaW4gc3VibWl0X3BhY2tldCgpCgBwLT5hdmN0eC0+Y29kZWNfdHlwZSA9PSBBVk1FRElBX1RZUEVfVklERU8gfHwgcC0+YXZjdHgtPmNvZGVjX3R5cGUgPT0gQVZNRURJQV9UWVBFX0FVRElPAGxpYmF2Y29kZWMvcHRocmVhZF9mcmFtZS5jAGZjdHgtPmFzeW5jX2xvY2sAJXAgZmluaXNoZWQgJWQgZmllbGQgJWQKAHRocmVhZCBhd2FpdGluZyAlZCBmaWVsZCAlZCBmcm9tICVwCgBNdWx0aXBsZSBmZl90aHJlYWRfZmluaXNoX3NldHVwKCkgY2FsbHMKAEZpbmFsIHRocmVhZCB1cGRhdGUgZmFpbGVkCgAhcC0+aHdhY2NlbF9zZXJpYWxpemluZwBBIGZyYW1lIHRocmVhZGVkIGRlY29kZXIgZGlkIG5vdCBmcmVlIHRoZSBmcmFtZSBvbiBmYWlsdXJlLiBUaGlzIGlzIGEgYnVnLCBwbGVhc2UgcmVwb3J0IGl0LgoAZ2V0X2Zvcm1hdCgpIGNhbm5vdCBiZSBjYWxsZWQgYWZ0ZXIgZmZfdGhyZWFkX2ZpbmlzaF9zZXR1cCgpCgB0aHJlYWRfZ2V0X2J1ZmZlcigpIGZhaWxlZAoAZ2V0X2J1ZmZlcigpIGNhbm5vdCBiZSBjYWxsZWQgYWZ0ZXIgZmZfdGhyZWFkX2ZpbmlzaF9zZXR1cCgpCgB0aHJlYWRfcmVsZWFzZV9idWZmZXIgY2FsbGVkIG9uIHBpYyAlcAoALi9saWJhdnV0aWwvbWVtX2ludGVybmFsLmgAaWdub3JpbmcgaW52YWxpZCBTQVI6ICVkLyVkCgBkZXNjLT5mbGFncyAmICgxIDw8IDQpAGxpYmF2Y29kZWMvdXRpbHMuYwBJbnN1ZmZpY2llbnQgdGhyZWFkIGxvY2tpbmcuIEF0IGxlYXN0ICVkIHRocmVhZHMgYXJlIGNhbGxpbmcgYXZjb2RlY19vcGVuMigpIGF0IHRoZSBzYW1lIHRpbWUgcmlnaHQgbm93LgoATm8gbG9jayBtYW5hZ2VyIGlzIHNldCwgcGxlYXNlIHNlZSBhdl9sb2NrbWdyX3JlZ2lzdGVyKCkKACFmZl9hdmNvZGVjX2xvY2tlZABObyBjb2RlYyBwcm92aWRlZCB0byBhdmNvZGVjX29wZW4yKCkKAFRoaXMgQVZDb2RlY0NvbnRleHQgd2FzIGFsbG9jYXRlZCBmb3IgJXMsIGJ1dCAlcyBwYXNzZWQgdG8gYXZjb2RlY19vcGVuMigpCgBDb2RlYyAoJXMpIG5vdCBvbiB3aGl0ZWxpc3QgJyVzJwoASWdub3JpbmcgaW52YWxpZCB3aWR0aC9oZWlnaHQgdmFsdWVzCgBpZ25vcmluZyBpbnZhbGlkIFNBUjogJXUvJXUKAENvZGVjIHR5cGUgb3IgaWQgbWlzbWF0Y2hlcwoAZGVjb2RlcgBlbmNvZGVyAFRoZSAlcyAnJXMnIGlzIGV4cGVyaW1lbnRhbCBidXQgZXhwZXJpbWVudGFsIGNvZGVjcyBhcmUgbm90IGVuYWJsZWQsIGFkZCAnLXN0cmljdCAlZCcgaWYgeW91IHdhbnQgdG8gdXNlIGl0LgoAQWx0ZXJuYXRpdmVseSB1c2UgdGhlIG5vbiBleHBlcmltZW50YWwgJXMgJyVzJy4KAFRoZSBtYXhpbXVtIHZhbHVlIGZvciBsb3dyZXMgc3VwcG9ydGVkIGJ5IHRoZSBkZWNvZGVyIGlzICVkCgBUaGUgJ3Zpc212JyBvcHRpb24gaXMgZGVwcmVjYXRlZCwgc2VlIHRoZSBjb2RlY3ZpZXcgZmlsdGVyIGluc3RlYWQuCgBUaGUgZW5jb2RlciB0aW1lYmFzZSBpcyBub3Qgc2V0LgoAJWQAU3BlY2lmaWVkIHNhbXBsZSBmb3JtYXQgJXMgaXMgaW52YWxpZCBvciBub3Qgc3VwcG9ydGVkCgBTcGVjaWZpZWQgcGl4ZWwgZm9ybWF0ICVzIGlzIGludmFsaWQgb3Igbm90IHN1cHBvcnRlZAoAU3BlY2lmaWVkIHNhbXBsZSByYXRlICVkIGlzIG5vdCBzdXBwb3J0ZWQKAENoYW5uZWwgbGF5b3V0IG5vdCBzcGVjaWZpZWQKAFNwZWNpZmllZCBjaGFubmVsIGxheW91dCAnJXMnIGlzIG5vdCBzdXBwb3J0ZWQKAENoYW5uZWwgbGF5b3V0ICclcycgd2l0aCAlZCBjaGFubmVscyBkb2VzIG5vdCBtYXRjaCBudW1iZXIgb2Ygc3BlY2lmaWVkIGNoYW5uZWxzICVkCgBTcGVjaWZpZWQgbnVtYmVyIG9mIGNoYW5uZWxzICVkIGlzIG5vdCBzdXBwb3J0ZWQKAFNwZWNpZmllZCBiaXQgZGVwdGggJWQgbm90IHBvc3NpYmxlIHdpdGggdGhlIHNwZWNpZmllZCBwaXhlbCBmb3JtYXRzIGRlcHRoICVkCgBkaW1lbnNpb25zIG5vdCBzZXQKAEJpdHJhdGUgJWxsZCBpcyBleHRyZW1lbHkgbG93LCBtYXliZSB5b3UgbWVhbiAlbGxkawoAdGlja3NfcGVyX2ZyYW1lICVkIHRvbyBsYXJnZSBmb3IgdGhlIHRpbWViYXNlICVkLyVkLgBNaXNtYXRjaGluZyBBVkNvZGVjQ29udGV4dC5waXhfZm10IGFuZCBBVkhXRnJhbWVzQ29udGV4dC5mb3JtYXQKAE1pc21hdGNoaW5nIEFWQ29kZWNDb250ZXh0LnN3X3BpeF9mbXQgKCVzKSBhbmQgQVZIV0ZyYW1lc0NvbnRleHQuc3dfZm9ybWF0ICglcykKAGdyYXkgZGVjb2RpbmcgcmVxdWVzdGVkIGJ1dCBub3QgZW5hYmxlZCBhdCBjb25maWd1cmF0aW9uIHRpbWUKAENoYW5uZWwgbGF5b3V0ICclcycgd2l0aCAlZCBjaGFubmVscyBkb2VzIG5vdCBtYXRjaCBzcGVjaWZpZWQgbnVtYmVyIG9mIGNoYW5uZWxzICVkOiBpZ25vcmluZyBzcGVjaWZpZWQgY2hhbm5lbCBsYXlvdXQKAENoYXJhY3RlciBlbmNvZGluZyBpcyBvbmx5IHN1cHBvcnRlZCB3aXRoIHN1YnRpdGxlcyBjb2RlY3MKAENvZGVjICclcycgaXMgYml0bWFwLWJhc2VkLCBzdWJ0aXRsZXMgY2hhcmFjdGVyIGVuY29kaW5nIHdpbGwgYmUgaWdub3JlZAoAVVRGLTgAVW5hYmxlIHRvIG9wZW4gaWNvbnYgY29udGV4dCB3aXRoIGlucHV0IGNoYXJhY3RlciBlbmNvZGluZyAiJXMiCgAqKGNvbnN0IEFWQ2xhc3MgKiopYXZjdHgtPnByaXZfZGF0YSA9PSBjb2RlYy0+cHJpdl9jbGFzcwBmZl9hdmNvZGVjX2xvY2tlZAAhZHN0LT5wcm9ncmVzcwBwIDw9IGVuZABFcnJvciBkZWNvZGluZyBBQUMgZnJhbWUgaGVhZGVyLgoAaW52YWxpZCBzYW1wbGluZyByYXRlIGluZGV4ICVkCgBFbGVtIHR5cGU6JXggaWQ6JXgKAGNoYW5uZWwgZWxlbWVudCAlZC4lZCBpcyBub3QgYWxsb2NhdGVkCgBOb3QgZXZhbHVhdGluZyBhIGZ1cnRoZXIgcHJvZ3JhbV9jb25maWdfZWxlbWVudCBhcyB0aGlzIGNvbnN0cnVjdCBpcyBkdWJpb3VzIGF0IGJlc3QuCgBUWVBFX0ZJTDogSW5wdXQgYnVmZmVyIGV4aGF1c3RlZCBiZWZvcmUgRU5EIGVsZW1lbnQgZm91bmQKAElucHV0IGJ1ZmZlciBleGhhdXN0ZWQgYmVmb3JlIEVORCBlbGVtZW50IGZvdW5kCgBubyBmcmFtZSBkYXRhIGZvdW5kCgBDaGFubmVsRWxlbWVudCAlZC4lZCBtaXNzaW5nIAoARGVwZW5kZW50IGNvdXBsaW5nIGlzIG5vdCBzdXBwb3J0ZWQgdG9nZXRoZXIgd2l0aCBMVFAKAGV4dGVuc2lvbiB0eXBlOiAlZCBsZW46JWQKAFNCUiB3YXMgZm91bmQgYmVmb3JlIHRoZSBmaXJzdCBjaGFubmVsIGVsZW1lbnQuCgBTQlIgd2l0aCA5NjAgZnJhbWUgbGVuZ3RoAFNCUiBzaWduYWxlZCB0byBiZSBub3QtcHJlc2VudCBidXQgd2FzIGZvdW5kIGluIHRoZSBiaXRzdHJlYW0uCgBJbXBsaWNpdCBTQlIgd2FzIGZvdW5kIHdpdGggYSBmaXJzdCBvY2N1cnJlbmNlIGFmdGVyIHRoZSBmaXJzdCBmcmFtZS4KAEZJTEw6JXMKAGxpYmZhYWMgJWQuJWQAVG9vIGxhcmdlIHJlbWFwcGVkIGlkAFRvbyBtYW55IGNoYW5uZWxzCgBTYW1wbGUgcmF0ZSBpbmRleCBpbiBwcm9ncmFtIGNvbmZpZyBlbGVtZW50IGRvZXMgbm90IG1hdGNoIHRoZSBzYW1wbGUgcmF0ZSBpbmRleCBjb25maWd1cmVkIGJ5IHRoZSBjb250YWluZXIuCgBkZWNvZGVfcGNlOiBJbnB1dCBidWZmZXIgZXhoYXVzdGVkIGJlZm9yZSBFTkQgZWxlbWVudCBmb3VuZAoAbGliYXZjb2RlYy9hYWNkZWNfdGVtcGxhdGUuYwBza2lwX2RhdGFfc3RyZWFtX2VsZW1lbnQ6IElucHV0IGJ1ZmZlciBleGhhdXN0ZWQgYmVmb3JlIEVORCBlbGVtZW50IGZvdW5kCgBtc19wcmVzZW50ID0gMyBpcyByZXNlcnZlZC4KAFJlc2VydmVkIGJpdCBzZXQuCgBBQUMgTEQgaXMgb25seSBkZWZpbmVkIGZvciBPTkxZX0xPTkdfU0VRVUVOQ0UgYnV0IHdpbmRvdyBzZXF1ZW5jZSAlZCBmb3VuZC4KAFByZWRpY3Rpb24gaXMgbm90IGFsbG93ZWQgaW4gQUFDLUxDLgoATFRQIGluIEVSIEFBQyBMRCBub3QgeWV0IGltcGxlbWVudGVkLgoATnVtYmVyIG9mIHNjYWxlZmFjdG9yIGJhbmRzIGluIGdyb3VwICglZCkgZXhjZWVkcyBsaW1pdCAoJWQpLgoASW52YWxpZCBQcmVkaWN0b3IgUmVzZXQgR3JvdXAuCgBQdWxzZSB0b29sIG5vdCBhbGxvd2VkIGluIGVpZ2h0IHNob3J0IHNlcXVlbmNlLgoAUHVsc2UgZGF0YSBjb3JydXB0IG9yIGludmFsaWQuCgBTU1IAZXJyb3IgaW4gc3BlY3RyYWwgZGF0YSwgRVNDIG92ZXJmbG93CgBUTlMgZmlsdGVyIG9yZGVyICVkIGlzIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVkLgoASWYgeW91IGhlYXJkIGFuIGF1ZGlibGUgYXJ0aWZhY3QsIHRoZXJlIG1heSBiZSBhIGJ1ZyBpbiB0aGUgZGVjb2Rlci4gQ2xpcHBlZCBpbnRlbnNpdHkgc3RlcmVvIHBvc2l0aW9uICglZCAtPiAlZCkASWYgeW91IGhlYXJkIGFuIGF1ZGlibGUgYXJ0aWZhY3QsIHRoZXJlIG1heSBiZSBhIGJ1ZyBpbiB0aGUgZGVjb2Rlci4gQ2xpcHBlZCBub2lzZSBnYWluICglZCAtPiAlZCkAU2NhbGVmYWN0b3IgKCVkKSBvdXQgb2YgcmFuZ2UuCgBpbnZhbGlkIGJhbmQgdHlwZQoAZGVjb2RlX2JhbmRfdHlwZXM6IElucHV0IGJ1ZmZlciBleGhhdXN0ZWQgYmVmb3JlIEVORCBlbGVtZW50IGZvdW5kCgBOdW1iZXIgb2YgYmFuZHMgKCVkKSBleGNlZWRzIGxpbWl0ICglZCkuCgBtb25vIHdpdGggQ1BFCgBzdGVyZW8gd2l0aCBTQ0UKAFNDRQBUaGlzIHN0cmVhbSBzZWVtcyB0byBpbmNvcnJlY3RseSByZXBvcnQgaXRzIGxhc3QgY2hhbm5lbCBhcyAlc1slZF0sIG1hcHBpbmcgdG8gTEZFWzBdCgBUaGlzIHN0cmVhbSBzZWVtcyB0byBpbmNvcnJlY3RseSByZXBvcnQgaXRzIGxhc3QgY2hhbm5lbCBhcyAlc1slZF0sIG1hcHBpbmcgdG8gU0NFWzFdCgBpbnZhbGlkIGRlZmF1bHQgY2hhbm5lbCBjb25maWd1cmF0aW9uICglZCkKAEFzc3VtaW5nIGFuIGluY29ycmVjdGx5IGVuY29kZWQgNy4xIGNoYW5uZWwgbGF5b3V0IGluc3RlYWQgb2YgYSBzcGVjLWNvbXBsaWFudCA3LjEod2lkZSkgbGF5b3V0LCB1c2UgLXN0cmljdCAlZCB0byBkZWNvZGUgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpY2F0aW9uIGluc3RlYWQuCgBNb3JlIHRoYW4gb25lIEFBQyBSREIgcGVyIEFEVFMgZnJhbWUAVW5rbm93biBFUiBjaGFubmVsIGNvbmZpZ3VyYXRpb24gJWQAQXVkaW8gc3BlY2lmaWMgY29uZmlnIHNpemUgaXMgaW52YWxpZAoAaW52YWxpZCBsb3cgZGVsYXkgc2FtcGxpbmcgcmF0ZSBpbmRleCAlZAoAU0JSKwBBdWRpbyBvYmplY3QgdHlwZSAlcyVkAEFBQyBkYXRhIHJlc2lsaWVuY2UgKGZsYWdzICV4KQBMb3cgRGVsYXkgU0JSAGVwQ29uZmlnICVkAEFBQyBkZWNvZGVyAGR1YWxfbW9ub19tb2RlAFNlbGVjdCB0aGUgY2hhbm5lbCB0byBkZWNvZGUgZm9yIGR1YWwgbW9ubwBhdXRvc2VsZWN0aW9uAG1haW4AU2VsZWN0IE1haW4vTGVmdCBjaGFubmVsAHN1YgBTZWxlY3QgU3ViL1JpZ2h0IGNoYW5uZWwAYm90aABTZWxlY3QgYm90aCBjaGFubmVscwBFeHBlY3RlZCB0byByZWFkICVkIFNCUiBieXRlcyBhY3R1YWxseSByZWFkICVkLgoASW52YWxpZCBiaXRzdHJlYW0gLSBjYW5ub3QgYXBwbHkgU0JSIHRvIGVsZW1lbnQgdHlwZSAlZAoAU0JSIEV4dGVuc2lvbiBvdmVyIHJlYWQuCgBQYXJhbWV0cmljIFN0ZXJlbyBzaWduYWxlZCB0byBiZSBub3QtcHJlc2VudCBidXQgd2FzIGZvdW5kIGluIHRoZSBiaXRzdHJlYW0uCgBSZXNlcnZlZCBTQlIgZXh0ZW5zaW9ucwBub2lzZV9mYWNzX3EgJWQgaXMgaW52YWxpZAoAZW52X2ZhY3NfcSAlZCBpcyBpbnZhbGlkCgBJbnZhbGlkIGJpdHN0cmVhbSwgdG9vIG1hbnkgU0JSIGVudmVsb3BlcyBpbiBGSVhGSVggdHlwZSBTQlIgZnJhbWU6ICVkCgAAAQICAwNJbnZhbGlkIGJpdHN0cmVhbSwgdG9vIG1hbnkgU0JSIGVudmVsb3BlcyBpbiBWQVJWQVIgdHlwZSBTQlIgZnJhbWU6ICVkCgBic19wb2ludGVyID49IDAAbGliYXZjb2RlYy9hYWNzYnJfdGVtcGxhdGUuYwBJbnZhbGlkIGJpdHN0cmVhbSwgYnNfcG9pbnRlciBwb2ludHMgdG8gYSBtaWRkbGUgbm9pc2UgYm9yZGVyIG91dHNpZGUgdGhlIHRpbWUgYm9yZGVycyB0YWJsZTogJWQKAE5vdCBzdHJpY3RseSBtb25vdG9uZSB0aW1lIGJvcmRlcnMKAFNCUiByZXNldCBmYWlsZWQuIFN3aXRjaGluZyBTQlIgdG8gcHVyZSB1cHNhbXBsaW5nIG1vZGUuCgBTdG9wIGZyZXF1ZW5jeSBib3JkZXIgdG9vIGhpZ2g6ICVkCgBTdGFydCBmcmVxdWVuY3kgYm9yZGVyIHRvbyBoaWdoOiAlZAoAVG9vIG1hbnkgbm9pc2UgZmxvb3Igc2NhbGUgZmFjdG9yczogJWQKAHBhdGNoIGNvbnN0cnVjdGlvbiBmYWlsZWQKAFRvbyBtYW55IHBhdGNoZXM6ICVkCgBVbnN1cHBvcnRlZCBzYW1wbGUgcmF0ZSBmb3IgU0JSOiAlZAoASW52YWxpZCBic19zdG9wX2ZyZXE6ICVkCgBJbnZhbGlkIGJpdHN0cmVhbSwgdG9vIG1hbnkgUU1GIHN1YmJhbmRzOiAlZAoASW52YWxpZCBudW1fYmFuZHNfMDogJWQKAEludmFsaWQgdkRrMFslZF06ICVkCgBJbnZhbGlkIHZEazFbJWRdOiAlZAoASW52YWxpZCBuX21hc3RlcjogJWQKAEludmFsaWQgYml0c3RyZWFtLCBjcm9zc292ZXIgYmFuZCBpbmRleCBiZXlvbmQgYXJyYXkgYm91bmRzOiAlZAoAZWxlbWVudCB0eXBlIG1pc21hdGNoICVkICE9ICVkCgBObyBxdWFudGl6ZWQgZGF0YSByZWFkIGZvciBzYnJfZGVxdWFudC4KAHNici0+ZGF0YVtjaF0uYnNfbnVtX2VudiA+IDAAa3ggIT0gZl90YWJsZXtoaWdoLGxvd31bMF0uIERlcml2ZWQgZnJlcXVlbmN5IHRhYmxlcyB3ZXJlIG5vdCByZWdlbmVyYXRlZC4KAEVSUk9SIDogbm8gc3ViYmFuZCBmb3VuZCBmb3IgZnJlcXVlbmN5ICVkCgBlbnZlbG9wZSBzY2FsZWZhY3RvciBvdmVyZmxvdyBpbiBkZXF1YW50CgB0ZW1wMSA8PSAxRTIwAGxpYmF2Y29kZWMvYWFjc2JyLmMAKSkvMTEzLy8rKysoKCgoLjExMS4uKioqKCgAAAAkJCUfHwAAAAAAAAAAIyMlHh4AAAAAAAwMDA4ODg8PDw8PDw8hISYoKCgpKSUlJSIiHx8iKCozLi4qKionJwAAAB8gJR8fAAAAAAAAAAAfICUeHgAAAAAACQkKDg4ODg4ODg4ODmxpYmF2Y29kZWMvYml0c3RyZWFtLmMAbmJfY29kZXMgKyAxIDw9IChzaXplb2YobG9jYWxidWYpIC8gc2l6ZW9mKChsb2NhbGJ1ZilbMF0pKQBzeW1ib2xzX3NpemUgPD0gMiB8fCAhc3ltYm9scwBUb28gbG9uZyBWTEMgKCVkKSBpbiBpbml0X3ZsYwoASW52YWxpZCBjb2RlICV4IGZvciAlZCBpbiBpbml0X3ZsYwoAbmVlZGVkICVkIGhhZCAlZAoAcmV0ID49IDAAaW5jb3JyZWN0IGNvZGVzCgBBIG5vbi1OVUxMIHBhY2tldCBzZW50IGFmdGVyIGFuIEVPRi4KAENvZGVjICclcycgKCVkKSBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBiaXRzdHJlYW0gZmlsdGVyICclcycuIFN1cHBvcnRlZCBjb2RlY3MgYXJlOiAAJXMgKCVkKSAAQVZCU0ZDb250ZXh0AG1wZWcxdmlkZW8AbXBlZzJ2aWRlbwBtcGVndmlkZW9feHZtYwBoMjYxAGgyNjMAcnYxMABydjIwAG1qcGVnAG1qcGVnYgBtcGVnNAByYXd2aWRlbwBtc21wZWc0djEAbXNtcGVnNHYyAG1zbXBlZzR2MwB3bXYxAHdtdjIAaDI2M3AAaDI2M2kAZmx2MQBzdmcAc3ZxMQBzdnEzAGR2dmlkZW8AaHVmZnl1dgBjeXV2AGgyNjQAaW5kZW8zAHZwMwB0aGVvcmEAYXN2MQBhc3YyAGZmdjEANHhtAHZjcjEAY2xqcgBtZGVjAHJvcQBpbnRlcnBsYXl2aWRlbwB4YW5fd2MzAHhhbl93YzQAcnB6YQBjaW5lcGFrAHdzX3ZxYQBtc3JsZQBtc3ZpZGVvMQBpZGNpbgA4YnBzAHNtYwBmbGljAHRydWVtb3Rpb24xAHZtZHZpZGVvAG1zemgAemxpYgBxdHJsZQBzbm93AHRzY2MAdWx0aQBxZHJhdwB2aXhsAHFwZWcAZmZ2aHVmZgBydjMwAHJ2NDAAdmMxAHdtdjMAbG9jbwB3bnYxAGFhc2MAaW5kZW8yAGZyYXBzAHRydWVtb3Rpb24yAGJtcABjc2NkAG1tdmlkZW8Aem1idgBhdnMAc21hY2t2aWRlbwBudXYAa212YwBmbGFzaHN2AGNhdnMAanBlZzIwMDAAdm1uYwB2cDUAdnA2AHZwNmYAZHNpY2ludmlkZW8AdGllcnRleHNlcXZpZGVvAGR4YQBkbnhoZAB0aHAAYzkzAGJldGhzb2Z0dmlkAHZwNmEAYW12AHZiAGluZGVvNABpbmRlbzUAbWltaWMAcmwyAGVzY2FwZTEyNABkYWFsYQBkaXJhYwBiZmkAY212AG1vdGlvbnBpeGVscwB0Z3YAdGdxAHRxaQBhdXJhAGF1cmEyAHYyMTB4AHRtdgB2MjEwAG1hZABmcnd1AGZsYXNoc3YyAGNkZ3JhcGhpY3MAcjIxMABhbm0AYmlua3ZpZGVvAGlmZl9pbGJtAGtndjEAeW9wAHZwOAB2cDkAcGljdG9yAGE2NF9tdWx0aQBhNjRfbXVsdGk1AHIxMGsAbTEwMQBtdmMxAG12YzIAbXhwZWcAbGFnYXJpdGgAcHJvcmVzAGp2AGRmYQB1dHZpZGVvAGJtdl92aWRlbwB2YmxlAGR4dG9yeQB2NDEwAGNkeGwAemVyb2NvZGVjAG1zczEAbXNhMQB0c2NjMgBtdHMyAGNsbGMAbXNzMgBhaWMAeTQxcABlc2NhcGUxMzAAYXZycAAwMTJ2AGF2dWkAYXl1dgB0YXJnYV95MjE2AHYzMDgAdjQwOAB5dXY0AGF2cm4AY3BpYQB4ZmFjZQBzbXZqcGVnAGcybQBobm00dmlkZW8AaGV2YwBmaWMAcGFmX3ZpZGVvAHZwNwBzYW5tAHNnaXJsZQBocXgAaHFfaHFhAGhhcABkeHYAc2NyZWVucHJlc3NvAHNwZWVkaHEAd3JhcHBlZF9hdmZyYW1lAHJzY2MAbWFnaWN5dXYAdHJ1ZW1vdGlvbjJydABjZmhkAHNoZWVydmlkZW8AeWxjAHBpeGxldABmbXZjAHNjcHIAY2xlYXJ2aWRlbwBhdjEAYml0cGFja2VkAG1zY2MAc3JnYwBnZHYAYWxpYXNfcGl4AGFuc2kAYnJlbmRlcl9waXgAZGRzAGRweABleHIAZml0cwBnaWYAanBlZ2xzAGxqcGVnAHBhbQBwYm0AcGN4AHBnbQBwZ215dXYAcG5nAHBwbQBwc2QAcHR4AHNnaQBzcDV4AHN1bnJhc3QAdGFyZ2EAdGRzYwB0aWZmAHR4ZAB2YzFpbWFnZQB3ZWJwAHdtdjNpbWFnZQB4Ym0AeHBtAHh3ZABhcG5nAHBjbV9zMTZsZQBwY21fczE2YmUAcGNtX3UxNmxlAHBjbV91MTZiZQBwY21fczgAcGNtX3U4AHBjbV9tdWxhdwBwY21fYWxhdwBwY21fczMybGUAcGNtX3MzMmJlAHBjbV9zNjRsZQBwY21fczY0YmUAcGNtX3UzMmxlAHBjbV91MzJiZQBwY21fczI0bGUAcGNtX3MyNGJlAHBjbV91MjRsZQBwY21fdTI0YmUAcGNtX3MyNGRhdWQAcGNtX3pvcmsAcGNtX3MxNmJlX3BsYW5hcgBwY21fczE2bGVfcGxhbmFyAHBjbV9zMjRsZV9wbGFuYXIAcGNtX3MzMmxlX3BsYW5hcgBwY21fZHZkAHBjbV9mMTZsZQBwY21fZjI0bGUAcGNtX2YzMmJlAHBjbV9mMzJsZQBwY21fZjY0YmUAcGNtX2Y2NGxlAHBjbV9ibHVyYXkAcGNtX2x4ZgBzMzAybQBwY21fczhfcGxhbmFyAGFkcGNtX2ltYV9xdABhZHBjbV9pbWFfd2F2AGFkcGNtX2ltYV9kazMAYWRwY21faW1hX2RrNABhZHBjbV9pbWFfd3MAYWRwY21faW1hX3NtanBlZwBhZHBjbV9tcwBhZHBjbV80eG0AYWRwY21feGEAYWRwY21fYWR4AGFkcGNtX2VhAGFkcGNtX2c3MjYAYWRwY21fY3QAYWRwY21fc3dmAGFkcGNtX3lhbWFoYQBhZHBjbV9zYnByb180AGFkcGNtX3NicHJvXzMAYWRwY21fc2Jwcm9fMgBhZHBjbV90aHAAYWRwY21fdGhwX2xlAGFkcGNtX2ltYV9hbXYAYWRwY21fZWFfcjEAYWRwY21fZWFfcjMAYWRwY21fZWFfcjIAYWRwY21faW1hX2VhX3NlYWQAYWRwY21faW1hX2VhX2VhY3MAYWRwY21fZWFfeGFzAGFkcGNtX2VhX21heGlzX3hhAGFkcGNtX2ltYV9pc3MAYWRwY21fZzcyMgBhZHBjbV9pbWFfYXBjAGFkcGNtX2FmYwBhZHBjbV9pbWFfb2tpAGFkcGNtX2R0awBhZHBjbV9pbWFfcmFkAGFkcGNtX2c3MjZsZQBhZHBjbV92aW1hAGFkcGNtX3BzeABhZHBjbV9haWNhAGFkcGNtX2ltYV9kYXQ0AGFtcl9uYgBhbXJfd2IAcmFfMTQ0AHJhXzI4OAByb3FfZHBjbQBpbnRlcnBsYXlfZHBjbQB4YW5fZHBjbQBzb2xfZHBjbQBzZHgyX2RwY20AZ3JlbWxpbl9kcGNtAG1wMgBtcDMAYWFjAGFjMwBkdHMAdm9yYmlzAGR2YXVkaW8Ad21hdjEAd21hdjIAbWFjZTMAbWFjZTYAdm1kYXVkaW8AZmxhYwBtcDNhZHUAbXAzb240AHNob3J0ZW4AYWxhYwB3ZXN0d29vZF9zbmQxAGdzbQBxZG0yAGNvb2sAdHJ1ZXNwZWVjaAB0dGEAc21hY2thdWRpbwBxY2VscAB3YXZwYWNrAGRzaWNpbmF1ZGlvAGltYwBtdXNlcGFjazcAbWxwAGdzbV9tcwBhdHJhYzMAdm94d2FyZQBhcGUAbmVsbHltb3NlcgBtdXNlcGFjazgAc3BlZXgAd21hdm9pY2UAd21hcHJvAHdtYWxvc3NsZXNzAGF0cmFjM3AAYXRyYWMzcGFsAGF0cmFjM2FsAGVhYzMAc2lwcgBtcDEAdHdpbnZxAHRydWVoZABtcDRhbHMAYXRyYWMxAGJpbmthdWRpb19yZGZ0AGJpbmthdWRpb19kY3QAYWFjX2xhdG0AcWRtYwBjZWx0AGc3MjNfMQBkc3Nfc3AAZG9sYnlfZQBnNzI5ADhzdnhfZXhwADhzdnhfZmliAGJtdl9hdWRpbwByYWxmAGlhYwBpbGJjAHdhdmVzeW50aABzb25pYwBzb25pY2xzAG9wdXMAY29tZm9ydG5vaXNlAHRhawBtZXRhc291bmQAcGFmX2F1ZGlvAGF2YwBldnJjAHNtdgA0Z3YAZHNkX2xzYmYAZHNkX21zYmYAZHNkX2xzYmZfcGxhbmFyAGRzZF9tc2JmX3BsYW5hcgBpbnRlcnBsYXlhY20AeG1hMQB4bWEyAGRzdABhZHBjbV9tdGFmAGR2ZF9zdWJ0aXRsZQBkdmJfc3VidGl0bGUAdGV4dAB4c3ViAGFzcwBzc2EAbW92X3RleHQAaGRtdl9wZ3Nfc3VidGl0bGUAZHZiX3RlbGV0ZXh0AHNydABzdWJyaXAAbWljcm9kdmQAbXBsMgBlaWFfNjA4AGphY29zdWIAcGpzAHNhbWkAcmVhbHRleHQAc3RsAHN1YnZpZXdlcjEAc3Vidmlld2VyAHZwbGF5ZXIAd2VidnR0AGhkbXZfdGV4dF9zdWJ0aXRsZQB0dGYAYmludGV4dAB4YmluAGlkZgBvdGYAa2x2AGR2ZF9uYXZfcGFja2V0AHRpbWVkX2lkMwBiaW5fZGF0YQBzY3RlXzM1AGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQBhcHBsaWNhdGlvbi92bmQubXMtb3BlbnR5cGUAYXBwbGljYXRpb24veC10cnVldHlwZS1mb250AGFwcGxpY2F0aW9uL3gtZm9udABpbWFnZS9wbmcAaW1hZ2UveC14d2luZG93ZHVtcABpbWFnZS94LXhwaXhtYXAAaW1hZ2UveC14Yml0bWFwAGltYWdlL3dlYnAAaW1hZ2UvdGlmZgBpbWFnZS94LXRhcmdhAGltYWdlL3gtdGdhAGltYWdlL3gtcGN4AGltYWdlL3gtcG9ydGFibGUtcGl4bWFwAGltYWdlL2dpZgBpbWFnZS9qcDIAaW1hZ2UveC1tcy1ibXAAaW1hZ2Uvc3ZnK3htbABpbWFnZS9qcGVnAGludGVybmFsIGVycm9yLCBzbGljZSBlbmQgYmVmb3JlIHN0YXJ0CgBpZ25vcmluZyBsYXN0IG1pc3Npbmcgc2xpY2UKAENhbm5vdCB1c2UgcHJldmlvdXMgcGljdHVyZSBpbiBlcnJvciBjb25jZWFsbWVudAoAQ2Fubm90IHVzZSBuZXh0IHBpY3R1cmUgaW4gZXJyb3IgY29uY2VhbG1lbnQKAFdhcm5pbmcgTVZzIG5vdCBhdmFpbGFibGUKACUyWCAAY29uY2VhbGluZyAlZCBEQywgJWQgQUMsICVkIE1WIGVycm9ycyBpbiAlYyBmcmFtZQoAcy0+YXZjdHgtPmNvZGVjX2lkICE9IEFWX0NPREVDX0lEX0gyNjQAbGliYXZjb2RlYy9lcnJvcl9yZXNpbGllbmNlLmMAcy0+cXVhcnRlcl9zYW1wbGUAZ3Vlc3NfZGMoKSBpcyBvdXQgb2YgbWVtb3J5CgBuZXh0X2Jsb2NrbGlzdF9sZW5ndGggPD0gbWJfaGVpZ2h0ICogbWJfd2lkdGgAbmFsLT5za2lwcGVkX2J5dGVzX3Bvc19zaXplID49IG5hbC0+c2tpcHBlZF9ieXRlcwBsaWJhdmNvZGVjL2gyNjQ1X3BhcnNlLmMARXhjZWVkZWQgbmV4dCBOQUxGRiBwb3NpdGlvbiwgcmUtc3luY2luZy4KAE5vIHN0YXJ0IGNvZGUgaXMgZm91bmQuCgBOQUxGRjogQ29uc3VtZWQgb25seSAlZCBieXRlcyBpbnN0ZWFkIG9mICVkCgBJbnZhbGlkIE5BTCB1bml0ICVkLCBza2lwcGluZy4KAG5hbF91bml0X3R5cGU6ICVkLCBuYWxfcmVmX2lkYzogJWQKAG5hbF91bml0X3R5cGU6ICVkKCVzKSwgbnVoX2xheWVyX2lkOiAlZCwgdGVtcG9yYWxfaWQ6ICVkCgBTRUlfU1VGRklYAFNFSV9QUkVGSVgARkRfTlVUAEVPQl9OVVQARU9TX05VVABBVUQAUFBTAFNQUwBWUFMAQ1JBX05VVABJRFJfTl9MUABJRFJfV19SQURMAEJMQV9OX0xQAEJMQV9XX1JBREwAQkxBX1dfTFAAUkFTTF9SAFJBU0xfTgBSQURMX1IAUkFETF9OAFNUU0FfUgBTVFNBX04AVFNBX1IAVFNBX04AVFJBSUxfUgBUUkFJTF9OAEludmFsaWQgTkFMIHVuaXQgc2l6ZSAoJWQgPiAlZCkuCgABAgMDAQICAAEBAAABAQEAAQEAAAEAAABtYl9za2lwX3J1biAlZCBpcyBpbnZhbGlkCgBtYl90eXBlICVkIGluICVjIHNsaWNlIHRvbyBsYXJnZSBhdCAlZCAlZAoATm90IGVub3VnaCBkYXRhIGZvciBhbiBpbnRyYSBQQ00gYmxvY2suCgBCIHN1Yl9tYl90eXBlICV1IG91dCBvZiByYW5nZSBhdCAlZCAlZAoAUCBzdWJfbWJfdHlwZSAldSBvdXQgb2YgcmFuZ2UgYXQgJWQgJWQKAHJlZiAldSBvdmVyZmxvdwoAY2JwIHRvbyBsYXJnZSAoJXUpIGF0ICVkICVkCgBkcXVhbnQgb3V0IG9mIHJhbmdlICglZCkgYXQgJWQgJWQKAGNvcnJ1cHRlZCBtYWNyb2Jsb2NrICVkICVkICh0b3RhbF9jb2VmZj0lZCkKAEludmFsaWQgbGV2ZWwgcHJlZml4CgBuZWdhdGl2ZSBudW1iZXIgb2YgemVybyBjb2VmZnMgYXQgJWQgJWQKAHBvY2RpZmYgb3ZlcmZsb3cKAHBvY2RpZmYwIG92ZXJmbG93CgBjdXItPm1iYWZmID09IChoKS0+bWJfYWZmX2ZyYW1lAGxpYmF2Y29kZWMvaDI2NF9kaXJlY3QuYwBjbyBsb2NhdGVkIFBPQ3MgdW5hdmFpbGFibGUKAGx1bWFfbG9nMl93ZWlnaHRfZGVub20gJWQgaXMgb3V0IG9mIHJhbmdlCgBjaHJvbWFfbG9nMl93ZWlnaHRfZGVub20gJWQgaXMgb3V0IG9mIHJhbmdlCgBPdXQgb2YgcmFuZ2Ugd2VpZ2h0CgD/AAn//////wAAAAB0b3AgYmxvY2sgdW5hdmFpbGFibGUgZm9yIHJlcXVlc3RlZCBpbnRyYSBtb2RlICVkCgAA/woA////AP8LAABsZWZ0IGJsb2NrIHVuYXZhaWxhYmxlIGZvciByZXF1ZXN0ZWQgaW50cmE0eDQgbW9kZSAlZAoAb3V0IG9mIHJhbmdlIGludHJhIGNocm9tYSBwcmVkIG1vZGUKAAQB//90b3AgYmxvY2sgdW5hdmFpbGFibGUgZm9yIHJlcXVlc3RlZCBpbnRyYSBtb2RlCgBsZWZ0IGJsb2NrIHVuYXZhaWxhYmxlIGZvciByZXF1ZXN0ZWQgaW50cmEgbW9kZQoABf8C/wZyZWZlcmVuY2Ugb3ZlcmZsb3cgJXUgPiAldSBvciAldSA+ICV1CgBhdmNDICVkIHRvbyBzaG9ydAoARGVjb2Rpbmcgc3BzICVkIGZyb20gYXZjQyBmYWlsZWQKAERlY29kaW5nIHBwcyAlZCBmcm9tIGF2Y0MgZmFpbGVkCgBJZ25vcmluZyBOQUwgdHlwZSAlZCBpbiBleHRyYWRhdGEKAFNQUyBkZWNvZGluZyBmYWlsdXJlLCB0cnlpbmcgYWdhaW4gYWZ0ZXIgZXNjYXBpbmcgdGhlIE5BTAoAYnVmX3NpemUgPj0gMABsaWJhdmNvZGVjL2J5dGVzdHJlYW0uaAAhZHN0LT5mLT5idWZbMF0AbGliYXZjb2RlYy9oMjY0X3BpY3R1cmUuYwBzcmMtPmYtPmJ1ZlswXQBzcmMtPnRmLmYgPT0gc3JjLT5mAGhhcmR3YXJlIGFjY2VsZXJhdG9yIGZhaWxlZCB0byBkZWNvZGUgcGljdHVyZQoAYWJzX2RpZmZfcGljX251bSBvdmVyZmxvdwoAbG9uZ190ZXJtX3BpY19pZHggb3ZlcmZsb3cKAGxpYmF2Y29kZWMvaDI2NF9yZWZzLmMAcmVmZXJlbmNlIHBpY3R1cmUgbWlzc2luZyBkdXJpbmcgcmVvcmRlcgoATWlzc2luZyByZWZlcmVuY2UgcGljdHVyZSwgZGVmYXVsdCBpcyAlZAoAYXZfYnVmZmVyX2dldF9yZWZfY291bnQoc2wtPnJlZl9saXN0W2xpc3RdW2luZGV4XS5wYXJlbnQtPmYtPmJ1ZlswXSkgPiAwAGxlbiA8PSAzMgBEaXNjYXJkaW5nIG1pc21hdGNoaW5nIHJlZmVyZW5jZQoAaW5kZXggPCBkZWZfbGVuAGxvbmcgdGVybSBsaXN0OgoAJXUgZm46JWQgcG9jOiVkICVwCgBzaG9ydCB0ZXJtIGxpc3Q6CgByZWZlcmVuY2UgY291bnQgb3ZlcmZsb3cKAGlsbGVnYWwgbW9kaWZpY2F0aW9uX29mX3BpY19udW1zX2lkYyAldQoAbm8gbW1jbyBoZXJlCgBtbWNvOiVkICVkICVkCgBtbWNvOiB1bnJlZiBzaG9ydCBmYWlsdXJlCgBtbWNvOiB1bnJlZiBzaG9ydCAlZCBjb3VudCAlZAoAbW1jbzogdW5yZWYgbG9uZyBmYWlsdXJlCgBtbWNvOiBjYW5ub3QgYXNzaWduIGN1cnJlbnQgcGljdHVyZSB0byBzaG9ydCBhbmQgbG9uZyBhdCB0aGUgc2FtZSB0aW1lCgBtbWNvOiBjYW5ub3QgYXNzaWduIGN1cnJlbnQgcGljdHVyZSB0byAyIGxvbmcgdGVybSByZWZlcmVuY2VzCgAhaC0+Y3VyX3BpY19wdHItPmxvbmdfcmVmAGlsbGVnYWwgc2hvcnQgdGVybSByZWZlcmVuY2UgYXNzaWdubWVudCBmb3Igc2Vjb25kIGZpZWxkIGluIGNvbXBsZW1lbnRhcnkgZmllbGQgcGFpciAoZmlyc3QgZmllbGQgaXMgbG9uZyB0ZXJtKQoAaWxsZWdhbCBzaG9ydCB0ZXJtIGJ1ZmZlciBzdGF0ZSBkZXRlY3RlZAoAbnVtYmVyIG9mIHJlZmVyZW5jZSBmcmFtZXMgKCVkKyVkKSBleGNlZWRzIG1heCAoJWQ7IHByb2JhYmx5IGNvcnJ1cHQgaW5wdXQpLCBkaXNjYXJkaW5nIG9uZQoAcmVtb3ZlIHNob3J0ICVkIGNvdW50ICVkCgAlZCAlZCAlcAoAaWxsZWdhbCBsb25nIHJlZiBpbiBtZW1vcnkgbWFuYWdlbWVudCBjb250cm9sIG9wZXJhdGlvbiAlZAoAaWxsZWdhbCBtZW1vcnkgbWFuYWdlbWVudCBjb250cm9sIG9wZXJhdGlvbiAlZAoAaDI2NF9zbGljZV9oZWFkZXJfaW5pdCgpIGZhaWxlZABDb3VsZCBub3QgYWxsb2NhdGUgbWVtb3J5CgBWRFBBVSBkZWNvZGluZyBkb2VzIG5vdCBzdXBwb3J0IHZpZGVvIGNvbG9yc3BhY2UuCgBVbnN1cHBvcnRlZCBiaXQgZGVwdGggJWQKAGNvbnRleHRfaW5pdCgpIGZhaWxlZC4KAFRvbyBtYW55IGZpZWxkcwoAQnJva2VuIGZyYW1lIHBhY2tldGl6aW5nCgBzbCA9PSBoLT5zbGljZV9jdHgAbGliYXZjb2RlYy9oMjY0X3NsaWNlLmMAUFBTIGNoYW5nZWQgYmV0d2VlbiBzbGljZXMKAFNQUyBjaGFuZ2VkIGluIHRoZSBtaWRkbGUgb2YgdGhlIGZyYW1lCgBDaGFuZ2luZyBmaWVsZCBtb2RlICglZCAtPiAlZCkgYmV0d2VlbiBzbGljZXMgaXMgbm90IGFsbG93ZWQKAHVuc2V0IGN1cl9waWNfcHRyIG9uIHNsaWNlICVkCgBJbnZhbGlkIG1peCBvZiBJRFIgYW5kIG5vbi1JRFIgc2xpY2VzCgBmaXJzdF9tYl9pbl9zbGljZSBvdmVyZmxvdwoAUG9zc2libHkgdG9vIG1hbnkgc2xpY2VzICglZCA+PSAlZCksIGluY3JlYXNlIE1BWF9TTElDRVMgYW5kIHJlY29tcGlsZSBpZiB0aGVyZSBhcmUgYXJ0aWZhY3RzCgBUAEIARgAgZml4ACBJRFIAYwBURU1QAFNQQVQAc2xpY2U6JWQgJXMgbWI6JWQgJWMlcyVzIGZyYW1lOiVkIHBvYzolZC8lZCByZWY6JWQvJWQgcXA6JWQgbG9vcDolZDolZDolZCB3ZWlnaHQ6JWQlcyAlcwoAaC0+Y3VyX3BpY19wdHIAaC0+Y3VyX3BpY19wdHItPmYtPmJ1ZlswXQBJbnZhbGlkIGZpZWxkIG1vZGUgY29tYmluYXRpb24gJWQvJWQKAEZvdW5kIHJlZmVyZW5jZSBhbmQgbm9uLXJlZmVyZW5jZSBmaWVsZHMgaW4gdGhlIHNhbWUgZnJhbWUsIHdoaWNoAEZyYW1lIG51bSBnYXAgJWQgJWQKAEludmFsaWQgUE9DICVkPCVkCgBJbmNyZWFzaW5nIHJlb3JkZXIgYnVmZmVyIHRvICVkCgBwaWNzIDw9IDE2AG9vbwBubyBwaWN0dXJlICVzCgBBdHRlbXB0IHRvIHN0YXJ0IGEgZnJhbWUgb3V0c2lkZSBTRVRVUCBzdGF0ZQoAbm8gZnJhbWUgYnVmZmVyIGF2YWlsYWJsZQoAIXBpYy0+Zi0+ZGF0YVswXQAhcGljLT5od2FjY2VsX3BpY3R1cmVfcHJpdmF0ZQBjaGFuZ2luZyB3aWR0aCAlZCAtPiAlZCAvIGhlaWdodCAlZCAtPiAlZCBvbiBzbGljZSAlZAoAUmVpbml0IGNvbnRleHQgdG8gJWR4JWQsIHBpeF9mbXQ6ICVzCgBoMjY0X3NsaWNlX2hlYWRlcl9pbml0KCkgZmFpbGVkCgBzcHMtPmNyb3BfcmlnaHQgKyBzcHMtPmNyb3BfbGVmdCA8ICh1bnNpZ25lZCloLT53aWR0aABzcHMtPmNyb3BfdG9wICsgc3BzLT5jcm9wX2JvdHRvbSA8ICh1bnNpZ25lZCloLT5oZWlnaHQAY29udGV4dF9jb3VudCAmJiBoLT5zbGljZV9jdHhbY29udGV4dF9jb3VudCAtIDFdLm1iX3kgPCBoLT5tYl9oZWlnaHQAaC0+YmxvY2tfb2Zmc2V0WzE1XSA9PSAoNCAqICgoc2NhbjhbMTVdIC0gc2NhbjhbMF0pICYgNykgPDwgaC0+cGl4ZWxfc2hpZnQpICsgNCAqIHNsLT5saW5lc2l6ZSAqICgoc2NhbjhbMTVdIC0gc2NhbjhbMF0pID4+IDMpAFNsaWNlIG92ZXJsYXBzIHdpdGggbmV4dCBhdCAlZAoAYnl0ZXN0cmVhbSBvdmVycmVhZCAldGQKAGVycm9yIHdoaWxlIGRlY29kaW5nIE1CICVkICVkLCBieXRlc3RyZWFtICV0ZAoAZXJyb3Igd2hpbGUgZGVjb2RpbmcgTUIgJWQgJWQKACFoLT5zZXR1cF9maW5pc2hlZABzbGljZSB0eXBlICVkIHRvbyBsYXJnZSBhdCAlZAoAQSBub24taW50cmEgc2xpY2UgaW4gYW4gSURSIE5BTCB1bml0LgoAcHBzX2lkICV1IG91dCBvZiByYW5nZQoAbm9uLWV4aXN0aW5nIFBQUyAldSByZWZlcmVuY2VkCgBub24tZXhpc3RpbmcgU1BTICV1IHJlZmVyZW5jZWQKAEZyYW1lIG51bSBjaGFuZ2UgZnJvbSAlZCB0byAlZAoAVGhpcyBzdHJlYW0gd2FzIGdlbmVyYXRlZCBieSBhIGJyb2tlbiBlbmNvZGVyLCBpbnZhbGlkIDh4OCBpbmZlcmVuY2UKAGNhYmFjX2luaXRfaWRjICV1IG92ZXJmbG93CgBRUCAldSBvdXQgb2YgcmFuZ2UKAGRlYmxvY2tpbmdfZmlsdGVyX2lkYyAldSBvdXQgb2YgcmFuZ2UKAGRlYmxvY2tpbmcgZmlsdGVyIHBhcmFtZXRlcnMgJWQgJWQgb3V0IG9mIHJhbmdlCgBJbnZhbGlkIFVFIGdvbG9tYiBjb2RlCgBiaXRfZGVwdGg8PTgAbGliYXZjb2RlYy9oMjY0cHJlZC5jAG4gPD0gMTAyNABsaWJhdmNvZGVjL2tiZHdpbi5jAAABAgMEBQYISW52YWxpZCBzYW1wbGUgcmF0ZSAlZAoAbnVsbABBcHBsaWNhdGlvbiBoYXMgcmVxdWVzdGVkICVkIHRocmVhZHMuIFVzaW5nIGEgdGhyZWFkIGNvdW50IGdyZWF0ZXIgdGhhbiAlZCBpcyBub3QgcmVjb21tZW5kZWQuCgAKFCIKFCIFCxEFCxFpaWRfbW9kZSAlZCBpcyByZXNlcnZlZC4KAGljY19tb2RlICVkIGlzIHJlc2VydmVkLgoAAAECBAECAwRib3JkZXJfcG9zaXRpb24gbm9uIG1vbm90b25lLgoAcHMgZXh0ZW5zaW9uIG92ZXJmbG93ICVkCgBpaWRfcGFyIGludmFsaWQKAGljY19wYXIgaW52YWxpZAoARXhwZWN0ZWQgdG8gcmVhZCAlZCBQUyBiaXRzIGFjdHVhbGx5IHJlYWQgJWQuCgAeHg4OBwcAAAAAaWxsZWdhbCBpY2MKAGlsbGVnYWwgaWlkCgAODgwKBwUDAQIEBggJCw0ODQsJBwUDAQIEBggKDA4BAwQEBAQEBAEABgQCAwUHAQMEBQUEBAMBAgIDAgADAwEDBAQFBQQDAQEGBA8OBQABAwQFBQQEAwECAQcGAAID/f8BAwUHCg4SFlJlZmVyZW5jZSAlZCA+PSAlZAoAZ3JheSBjaHJvbWEKAGNhYmFjIGRlY29kZSBvZiBxc2NhbGUgZGlmZiBmYWlsZWQgYXQgJWQgJWQKAAAAAQECAgIBAgMEAAAAAG92ZXJmbG93IGluIGRlY29kZV9jYWJhY19tYl9tdmQKACAKCQ0AQUxMAEZMAGZyb250IGxlZnQARlIAZnJvbnQgcmlnaHQARkMAZnJvbnQgY2VudGVyAExGRQBsb3cgZnJlcXVlbmN5AEJMAGJhY2sgbGVmdABCUgBiYWNrIHJpZ2h0AEZMQwBmcm9udCBsZWZ0LW9mLWNlbnRlcgBGUkMAZnJvbnQgcmlnaHQtb2YtY2VudGVyAEJDAGJhY2sgY2VudGVyAFNMAHNpZGUgbGVmdABTUgBzaWRlIHJpZ2h0AFRDAHRvcCBjZW50ZXIAVEZMAHRvcCBmcm9udCBsZWZ0AFRGQwB0b3AgZnJvbnQgY2VudGVyAFRGUgB0b3AgZnJvbnQgcmlnaHQAVEJMAHRvcCBiYWNrIGxlZnQAVEJDAHRvcCBiYWNrIGNlbnRlcgBUQlIAdG9wIGJhY2sgcmlnaHQAREwAZG93bm1peCBsZWZ0AERSAGRvd25taXggcmlnaHQAV0wAd2lkZSBsZWZ0AFdSAHdpZGUgcmlnaHQAU0RMAHN1cnJvdW5kIGRpcmVjdCBsZWZ0AFNEUgBzdXJyb3VuZCBkaXJlY3QgcmlnaHQATEZFMgBsb3cgZnJlcXVlbmN5IDIAbW9ubwBzdGVyZW8AMi4xADMuMAAzLjAoYmFjaykANC4wAHF1YWQAcXVhZChzaWRlKQAzLjEANS4wADUuMChzaWRlKQA0LjEANS4xADUuMShzaWRlKQA2LjAANi4wKGZyb250KQBoZXhhZ29uYWwANi4xADYuMShiYWNrKQA2LjEoZnJvbnQpADcuMAA3LjAoZnJvbnQpADcuMQA3LjEod2lkZSkANy4xKHdpZGUtc2lkZSkAb2N0YWdvbmFsAGhleGFkZWNhZ29uYWwAZG93bm1peAAlcwAlZCBjaGFubmVscwAgKAArACkAZGV0ZWN0ZWQgJWQgbG9naWNhbCBjb3JlcwoARmFpbGVkIHRvIG1hcCBmcmFtZSBpbnRvIGRlcml2ZWQgZnJhbWUgY29udGV4dDogJWQuCgBJbnZhbGlkIG1hcHBpbmcgZm91bmQgd2hlbiBhdHRlbXB0aW5nIHVubWFwLgoAUGljdHVyZSBzaXplICV1eCV1IGlzIGludmFsaWQKAFBpY3R1cmUgc2l6ZSAldXgldSBleGNlZWRzIHNwZWNpZmllZCBtYXggcGl4ZWwgY291bnQgJWxsZCwgc2VlIHRoZSBkb2N1bWVudGF0aW9uIGlmIHlvdSB3aXNoIHRvIGluY3JlYXNlIGl0CgBJTUdVVElMUwBhYnMoc3JjX2xpbmVzaXplKSA+PSBieXRld2lkdGgAbGliYXZ1dGlsL2ltZ3V0aWxzLmMAYWJzKGRzdF9saW5lc2l6ZSkgPj0gYnl0ZXdpZHRoAGF2X2ltYWdlX2dldF9saW5lc2l6ZSBmYWlsZWQKACVzJXMlcyVzAFslcyBAICVwXSAAWyVzXSAAcGFuaWMAZmF0YWwAZXJyb3IAd2FybmluZwBpbmZvAHZlcmJvc2UAZGVidWcAcXVpZXQAICAgIExhc3QgbWVzc2FnZSByZXBlYXRlZCAlZCB0aW1lcw0AICAgIExhc3QgbWVzc2FnZSByZXBlYXRlZCAlZCB0aW1lcwoAG1sldTszJXVtJXMbWzBtABtbNDg7NTsldW0bWzM4OzU7JWRtJXMbWzBtABtbNDg7NTsldW0bWzM4OzU7JXVtJXMbWzBtAFRFUk0ATk9fQ09MT1IAQVZfTE9HX0ZPUkNFX05PQ09MT1IAQVZfTE9HX0ZPUkNFX0NPTE9SAEFWX0xPR19GT1JDRV8yNTZDT0xPUgAyNTZjb2xvcgAgaXMgbm90IGltcGxlbWVudGVkLiBVcGRhdGUgeW91ciBGRm1wZWcgdmVyc2lvbiB0byB0aGUgbmV3ZXN0IG9uZSBmcm9tIEdpdC4gSWYgdGhlIHByb2JsZW0gc3RpbGwgb2NjdXJzLCBpdCBtZWFucyB0aGF0IHlvdXIgZmlsZSBoYXMgYSBmZWF0dXJlIHdoaWNoIGhhcyBub3QgYmVlbiBpbXBsZW1lbnRlZC4KAElmIHlvdSB3YW50IHRvIGhlbHAsIHVwbG9hZCBhIHNhbXBsZSBvZiB0aGlzIGZpbGUgdG8gZnRwOi8vdXBsb2FkLmZmbXBlZy5vcmcvaW5jb21pbmcvIGFuZCBjb250YWN0IHRoZSBmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0LiAoZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcpCgB2YWwgfHwgIW1pbl9zaXplAGxpYmF2dXRpbC9tZW1faW50ZXJuYWwuaABVbmFibGUgdG8gcGFyc2Ugb3B0aW9uIHZhbHVlICIlcyIgYXMgZHVyYXRpb24KAFVuYWJsZSB0byBwYXJzZSBvcHRpb24gdmFsdWUgIiVzIiBhcyBjaGFubmVsIGxheW91dAoASW52YWxpZCBvcHRpb24gdHlwZS4KAFVuYWJsZSB0byBwYXJzZSBvcHRpb24gdmFsdWUgIiVzIiBhcyBjb2xvcgoAc2FtcGxlIGZvcm1hdABVbmFibGUgdG8gcGFyc2Ugb3B0aW9uIHZhbHVlICIlcyIgYXMgJXMKAFZhbHVlICVkIGZvciBwYXJhbWV0ZXIgJyVzJyBvdXQgb2YgJXMgZm9ybWF0IHJhbmdlIFslZCAtICVkXQoAcGl4ZWwgZm9ybWF0AFZhbHVlICVmIGZvciBwYXJhbWV0ZXIgJyVzJyBvdXQgb2YgcmFuZ2UgWyVnIC0gJWddCgBWYWx1ZSAlZiBmb3IgcGFyYW1ldGVyICclcycgaXMgbm90IGEgdmFsaWQgc2V0IG9mIDMyYml0IGludGVnZXIgZmxhZ3MKAFVuYWJsZSB0byBwYXJzZSBvcHRpb24gdmFsdWUgIiVzIiBhcyB2aWRlbyByYXRlCgBVbmFibGUgdG8gcGFyc2Ugb3B0aW9uIHZhbHVlICIlcyIgYXMgaW1hZ2Ugc2l6ZQoAJWQlKjFbOi9dJWQlYwBjb25zdF92YWx1ZXMgYXJyYXkgdG9vIHNtYWxsIGZvciAlcwoAZGVmYXVsdABhbGwAVW5hYmxlIHRvIHBhcnNlIG9wdGlvbiB2YWx1ZSAiJXMiCgBhdXRvAHRydWUseSx5ZXMsZW5hYmxlLGVuYWJsZWQsb24AZmFsc2UsbixubyxkaXNhYmxlLGRpc2FibGVkLG9mZgBVbmFibGUgdG8gcGFyc2Ugb3B0aW9uIHZhbHVlICIlcyIgYXMgYm9vbGVhbgoAQVZPcHRpb24gdHlwZSAlZCBvZiBvcHRpb24gJXMgbm90IGltcGxlbWVudGVkIHlldAoARXJyb3Igc2V0dGluZyBvcHRpb24gJXMgdG8gdmFsdWUgJXMuCgAlZDolZCVjAG50c2MAcGFsAHFudHNjAHFwYWwAc250c2MAc3BhbABudHNjLWZpbG0Ac3FjaWYAcWNpZgBjaWYANGNpZgAxNmNpZgBxcXZnYQBxdmdhAHZnYQBzdmdhAHhnYQB1eGdhAHF4Z2EAc3hnYQBxc3hnYQBoc3hnYQB3dmdhAHd4Z2EAd3N4Z2EAd3V4Z2EAd294Z2EAd3FzeGdhAHdxdXhnYQB3aHN4Z2EAd2h1eGdhAGNnYQBlZ2EAaGQ0ODAAaGQ3MjAAaGQxMDgwADJrADJrZGNpADJrZmxhdAAya3Njb3BlADRrADRrZGNpADRrZmxhdAA0a3Njb3BlAG5oZABocXZnYQB3cXZnYQBmd3F2Z2EAaHZnYQBxaGQAdWhkMjE2MAB1aGQ0MzIwADB4AGJpa2VzaGVkADAxMjM0NTY3ODlBQkNERUZhYmNkZWYASW52YWxpZCAweFJSR0dCQltBQV0gY29sb3Igc3RyaW5nOiAnJXMnCgBDYW5ub3QgZmluZCBjb2xvciAnJXMnCgBJbnZhbGlkIGFscGhhIHZhbHVlIHNwZWNpZmllciAnJXMnIGluICclcycKAEFsaWNlQmx1ZQBBbnRpcXVlV2hpdGUAQXF1YQBBcXVhbWFyaW5lAEF6dXJlAEJlaWdlAEJpc3F1ZQBCbGFjawBCbGFuY2hlZEFsbW9uZABCbHVlAEJsdWVWaW9sZXQAQnJvd24AQnVybHlXb29kAENhZGV0Qmx1ZQBDaGFydHJldXNlAENob2NvbGF0ZQBDb3JhbABDb3JuZmxvd2VyQmx1ZQBDb3Juc2lsawBDcmltc29uAEN5YW4ARGFya0JsdWUARGFya0N5YW4ARGFya0dvbGRlblJvZABEYXJrR3JheQBEYXJrR3JlZW4ARGFya0toYWtpAERhcmtNYWdlbnRhAERhcmtPbGl2ZUdyZWVuAERhcmtvcmFuZ2UARGFya09yY2hpZABEYXJrUmVkAERhcmtTYWxtb24ARGFya1NlYUdyZWVuAERhcmtTbGF0ZUJsdWUARGFya1NsYXRlR3JheQBEYXJrVHVycXVvaXNlAERhcmtWaW9sZXQARGVlcFBpbmsARGVlcFNreUJsdWUARGltR3JheQBEb2RnZXJCbHVlAEZpcmVCcmljawBGbG9yYWxXaGl0ZQBGb3Jlc3RHcmVlbgBGdWNoc2lhAEdhaW5zYm9ybwBHaG9zdFdoaXRlAEdvbGQAR29sZGVuUm9kAEdyYXkAR3JlZW4AR3JlZW5ZZWxsb3cASG9uZXlEZXcASG90UGluawBJbmRpYW5SZWQASW5kaWdvAEl2b3J5AEtoYWtpAExhdmVuZGVyAExhdmVuZGVyQmx1c2gATGF3bkdyZWVuAExlbW9uQ2hpZmZvbgBMaWdodEJsdWUATGlnaHRDb3JhbABMaWdodEN5YW4ATGlnaHRHb2xkZW5Sb2RZZWxsb3cATGlnaHRHcmVlbgBMaWdodEdyZXkATGlnaHRQaW5rAExpZ2h0U2FsbW9uAExpZ2h0U2VhR3JlZW4ATGlnaHRTa3lCbHVlAExpZ2h0U2xhdGVHcmF5AExpZ2h0U3RlZWxCbHVlAExpZ2h0WWVsbG93AExpbWUATGltZUdyZWVuAExpbmVuAE1hZ2VudGEATWFyb29uAE1lZGl1bUFxdWFNYXJpbmUATWVkaXVtQmx1ZQBNZWRpdW1PcmNoaWQATWVkaXVtUHVycGxlAE1lZGl1bVNlYUdyZWVuAE1lZGl1bVNsYXRlQmx1ZQBNZWRpdW1TcHJpbmdHcmVlbgBNZWRpdW1UdXJxdW9pc2UATWVkaXVtVmlvbGV0UmVkAE1pZG5pZ2h0Qmx1ZQBNaW50Q3JlYW0ATWlzdHlSb3NlAE1vY2Nhc2luAE5hdmFqb1doaXRlAE5hdnkAT2xkTGFjZQBPbGl2ZQBPbGl2ZURyYWIAT3JhbmdlAE9yYW5nZVJlZABPcmNoaWQAUGFsZUdvbGRlblJvZABQYWxlR3JlZW4AUGFsZVR1cnF1b2lzZQBQYWxlVmlvbGV0UmVkAFBhcGF5YVdoaXAAUGVhY2hQdWZmAFBlcnUAUGluawBQbHVtAFBvd2RlckJsdWUAUHVycGxlAFJlZABSb3N5QnJvd24AUm95YWxCbHVlAFNhZGRsZUJyb3duAFNhbG1vbgBTYW5keUJyb3duAFNlYUdyZWVuAFNlYVNoZWxsAFNpZW5uYQBTaWx2ZXIAU2t5Qmx1ZQBTbGF0ZUJsdWUAU2xhdGVHcmF5AFNub3cAU3ByaW5nR3JlZW4AU3RlZWxCbHVlAFRhbgBUZWFsAFRoaXN0bGUAVG9tYXRvAFR1cnF1b2lzZQBWaW9sZXQAV2hlYXQAV2hpdGUAV2hpdGVTbW9rZQBZZWxsb3cAWWVsbG93R3JlZW4AJUg6JU06JVMAamFudWFyeQBmZWJydWFyeQBtYXJjaABhcHJpbABtYXkAanVuZQBqdWx5AGF1Z3VzdABzZXB0ZW1iZXIAb2N0b2JlcgBub3ZlbWJlcgBkZWNlbWJlcgBub3cAJUo6JU06JVMAJU06JVMAJUg6JU0AJUglTQAlSAAlSCVNJVMAJVkgLSAlbSAtICVkACVZJW0lZAB5dXY0MjBwAHl1eXY0MjIAcmdiMjQAYmdyMjQAeXV2NDIycAB5dXY0NDRwAHl1djQxMHAAeXV2NDExcABncmF5AGdyYXk4LHk4AG1vbm93AG1vbm9iAHBhbDgAeXV2ajQyMHAAeXV2ajQyMnAAeXV2ajQ0NHAAeHZtY21jAHh2bWNpZGN0AHV5dnk0MjIAdXl5dnl5NDExAGJncjgAYmdyNABiZ3I0X2J5dGUAcmdiOAByZ2I0AHJnYjRfYnl0ZQBudjEyAG52MjEAYXJnYgByZ2JhAGFiZ3IAYmdyYQBncmF5MTZiZQB5MTZiZQBncmF5MTZsZQB5MTZsZQB5dXY0NDBwAHl1dmo0NDBwAHl1dmE0MjBwAHZkcGF1X2gyNjQAdmRwYXVfbXBlZzEAdmRwYXVfbXBlZzIAdmRwYXVfd212MwB2ZHBhdV92YzEAcmdiNDhiZQByZ2I0OGxlAHJnYjU2NWJlAHJnYjU2NWxlAHJnYjU1NWJlAHJnYjU1NWxlAGJncjU2NWJlAGJncjU2NWxlAGJncjU1NWJlAGJncjU1NWxlAHZhYXBpX21vY28AdmFhcGlfaWRjdAB2YWFwaV92bGQAeXV2NDIwcDE2bGUAeXV2NDIwcDE2YmUAeXV2NDIycDE2bGUAeXV2NDIycDE2YmUAeXV2NDQ0cDE2bGUAeXV2NDQ0cDE2YmUAdmRwYXVfbXBlZzQAZHh2YTJfdmxkAHJnYjQ0NGxlAHJnYjQ0NGJlAGJncjQ0NGxlAGJncjQ0NGJlAHlhOABncmF5OGEAYmdyNDhiZQBiZ3I0OGxlAHl1djQyMHA5YmUAeXV2NDIwcDlsZQB5dXY0MjBwMTBiZQB5dXY0MjBwMTBsZQB5dXY0MjJwMTBiZQB5dXY0MjJwMTBsZQB5dXY0NDRwOWJlAHl1djQ0NHA5bGUAeXV2NDQ0cDEwYmUAeXV2NDQ0cDEwbGUAeXV2NDIycDliZQB5dXY0MjJwOWxlAHZkYV92bGQAZ2JycABnYnJwOWJlAGdicnA5bGUAZ2JycDEwYmUAZ2JycDEwbGUAZ2JycDE2YmUAZ2JycDE2bGUAeXV2YTQyMnAAeXV2YTQ0NHAAeXV2YTQyMHA5YmUAeXV2YTQyMHA5bGUAeXV2YTQyMnA5YmUAeXV2YTQyMnA5bGUAeXV2YTQ0NHA5YmUAeXV2YTQ0NHA5bGUAeXV2YTQyMHAxMGJlAHl1dmE0MjBwMTBsZQB5dXZhNDIycDEwYmUAeXV2YTQyMnAxMGxlAHl1dmE0NDRwMTBiZQB5dXZhNDQ0cDEwbGUAeXV2YTQyMHAxNmJlAHl1dmE0MjBwMTZsZQB5dXZhNDIycDE2YmUAeXV2YTQyMnAxNmxlAHl1dmE0NDRwMTZiZQB5dXZhNDQ0cDE2bGUAdmRwYXUAeHl6MTJsZQB4eXoxMmJlAG52MTYAbnYyMGxlAG52MjBiZQByZ2JhNjRiZQByZ2JhNjRsZQBiZ3JhNjRiZQBiZ3JhNjRsZQB5dnl1NDIyAHZkYQB5YTE2YmUAeWExNmxlAGdicmFwAGdicmFwMTZiZQBnYnJhcDE2bGUAcXN2AG1tYWwAZDNkMTF2YV92bGQAY3VkYQAwcmdiAHJnYjAAMGJncgBiZ3IwAHl1djQyMHAxMmJlAHl1djQyMHAxMmxlAHl1djQyMHAxNGJlAHl1djQyMHAxNGxlAHl1djQyMnAxMmJlAHl1djQyMnAxMmxlAHl1djQyMnAxNGJlAHl1djQyMnAxNGxlAHl1djQ0NHAxMmJlAHl1djQ0NHAxMmxlAHl1djQ0NHAxNGJlAHl1djQ0NHAxNGxlAGdicnAxMmJlAGdicnAxMmxlAGdicnAxNGJlAGdicnAxNGxlAHl1dmo0MTFwAGJheWVyX2JnZ3I4AGJheWVyX3JnZ2I4AGJheWVyX2dicmc4AGJheWVyX2dyYmc4AGJheWVyX2JnZ3IxNmxlAGJheWVyX2JnZ3IxNmJlAGJheWVyX3JnZ2IxNmxlAGJheWVyX3JnZ2IxNmJlAGJheWVyX2dicmcxNmxlAGJheWVyX2dicmcxNmJlAGJheWVyX2dyYmcxNmxlAGJheWVyX2dyYmcxNmJlAHl1djQ0MHAxMGxlAHl1djQ0MHAxMGJlAHl1djQ0MHAxMmxlAHl1djQ0MHAxMmJlAGF5dXY2NGxlAGF5dXY2NGJlAHZpZGVvdG9vbGJveF92bGQAcDAxMGxlAHAwMTBiZQBnYnJhcDEyYmUAZ2JyYXAxMmxlAGdicmFwMTBiZQBnYnJhcDEwbGUAbWVkaWFjb2RlYwBncmF5MTJiZQB5MTJiZQBncmF5MTJsZQB5MTJsZQBncmF5MTBiZQB5MTBiZQBncmF5MTBsZQB5MTBsZQBwMDE2bGUAcDAxNmJlAGQzZDExAGdyYXk5YmUAeTliZQBncmF5OWxlAHk5bGUAZ2JycGYzMmJlAGdicnBmMzJsZQBnYnJhcGYzMmJlAGdicmFwZjMybGUAZHJtX3ByaW1lAHJnYjMyAGJncjMyACVzJXMAbGUAdmFhcGkAdW5rbm93bgByZXNlcnZlZABidDcwOQBidDQ3MG0AYnQ0NzBiZwBzbXB0ZTE3MG0Ac21wdGUyNDBtAGZpbG0AYnQyMDIwAHNtcHRlNDI4AHNtcHRlNDMxAHNtcHRlNDMyAGplZGVjLXAyMgBsaW5lYXIAbG9nMTAwAGxvZzMxNgBpZWM2MTk2Ni0yLTQAYnQxMzYxZQBpZWM2MTk2Ni0yLTEAYnQyMDIwLTEwAGJ0MjAyMC0xMgBzbXB0ZTIwODQAYXJpYi1zdGQtYjY3AGdicgBmY2MAeWNnY28AYnQyMDIwbmMAYnQyMDIwYwBzbXB0ZTIwODUAY2hyb21hLWRlcml2ZWQtbmMAY2hyb21hLWRlcml2ZWQtYwBpY3RjcAAvZGV2L3VyYW5kb20AL2Rldi9yYW5kb20Ac2l6ZW9mKHRtcCkgPj0gYXZfc2hhX3NpemUAbGliYXZ1dGlsL3JhbmRvbV9zZWVkLmMAgABuYl90aHJlYWRzID49IDAAbGliYXZ1dGlsL3NsaWNldGhyZWFkLmMAbmJfam9icyA+IDAASW52YWxpZCBjaGFycyAnJXMnIGF0IHRoZSBlbmQgb2YgZXhwcmVzc2lvbiAnJXMnCgBVbmRlZmluZWQgY29uc3RhbnQgb3IgbWlzc2luZyAnKCcgaW4gJyVzJwoATWlzc2luZyAnKScgaW4gJyVzJwoATWlzc2luZyAnKScgb3IgdG9vIG1hbnkgYXJncyBpbiAnJXMnCgBzaW5oAGNvc2gAdGFuaABzaW4AY29zAHRhbgBhdGFuAGFzaW4AYWNvcwBleHAAbG9nAGFicwB0aW1lAHNxdWlzaABnYXVzcwBtb2QAbWF4AG1pbgBlcQBndGUAZ3QAbHRlAGx0AGxkAGlzbmFuAGlzaW5mAHN0AHdoaWxlAHRheWxvcgByb290AGZsb29yAGNlaWwAdHJ1bmMAcm91bmQAc3FydABub3QAcG93AHByaW50AHJhbmRvbQBoeXBvdABnY2QAaWYAaWZub3QAYml0YW5kAGJpdG9yAGJldHdlZW4AY2xpcABhdGFuMgBsZXJwAFVua25vd24gZnVuY3Rpb24gaW4gJyVzJwoARQBQSQBQSEkAUVAyTEFNQkRBAEV2YWwAJWYKAEZhaWxlZCB0byBzZXQgY2xvc2Ugb24gZXhlYwoARmFpbGVkIHRvIHNldCBvcHRpb24KAFJlcXVlc3RlZCBpbnB1dCBzYW1wbGUgZm9ybWF0ICVkIGlzIGludmFsaWQKAFJlcXVlc3RlZCBvdXRwdXQgc2FtcGxlIGZvcm1hdCAlZCBpcyBpbnZhbGlkCgBJbnB1dCBjaGFubmVsIGxheW91dCAweCVsbHggaXMgaW52YWxpZCBvciB1bnN1cHBvcnRlZC4KAE91dHB1dCBjaGFubmVsIGxheW91dCAweCVsbHggaXMgaW52YWxpZCBvciB1bnN1cHBvcnRlZC4KAFJlcXVlc3RlZCByZXNhbXBsaW5nIGVuZ2luZSBpcyB1bmF2YWlsYWJsZQoASW5wdXQgY2hhbm5lbCBsYXlvdXQgaGFzIGEgZGlmZmVyZW50IG51bWJlciBvZiBjaGFubmVscyB0aGFuIHRoZSBudW1iZXIgb2YgdXNlZCBjaGFubmVscywgaWdub3JpbmcgbGF5b3V0CgBVc2luZyAlcyBpbnRlcm5hbGx5IGJldHdlZW4gZmlsdGVycwoAUmVxdWVzdGVkIHNhbXBsZSBmb3JtYXQgJXMgaXMgbm90IHN1cHBvcnRlZCBpbnRlcm5hbGx5LCBTMTYvUzMyL1M2NC9GTFQvREJMIGlzIHN1cHBvcnRlZAoARmFpbGVkIHRvIGluaXRpYWxpemUgcmVzYW1wbGVyCgBSZXNhbXBsaW5nIG9ubHkgc3VwcG9ydGVkIHdpdGggaW50ZXJuYWwgczE2L3MzMi9mbHQvZGJsCgAhcy0+aW5fY2hfbGF5b3V0AGxpYnN3cmVzYW1wbGUvc3dyZXNhbXBsZS5jAElucHV0IGNoYW5uZWwgY291bnQgYW5kIGxheW91dCBhcmUgdW5zZXQKAE91dHB1dCBjaGFubmVsIGxheW91dCAlcyBtaXNtYXRjaGVzIHNwZWNpZmllZCBjaGFubmVsIGNvdW50ICVkCgBJbnB1dCBjaGFubmVsIGxheW91dCAlcyBtaXNtYXRjaGVzIHNwZWNpZmllZCBjaGFubmVsIGNvdW50ICVkCgBSZW1hdHJpeCBpcyBuZWVkZWQgYmV0d2VlbiAlcyBhbmQgJXMgYnV0IHRoZXJlIGlzIG5vdCBlbm91Z2ggaW5mb3JtYXRpb24gdG8gZG8gaXQKAHMtPnVzZWRfY2hfY291bnQAcy0+b3V0LmNoX2NvdW50ACFzLT5wcmVvdXQuY291bnQAYS0+YnBzAGEtPmNoX2NvdW50AENvbnRleHQgaGFzIG5vdCBiZWVuIGluaXRpYWxpemVkCgBzLT5kcm9wX291dHB1dABvdXQtPnBsYW5hciA9PSBpbi0+cGxhbmFyAG91dC0+YnBzID09IGluLT5icHMAb3V0LT5jaF9jb3VudCA9PSBpbi0+Y2hfY291bnQAIXMtPnJlc2FtcGxlAHMtPm1pZGJ1Zi5jaF9jb3VudCA9PSBzLT51c2VkX2NoX2NvdW50AHMtPm1pZGJ1Zi5jaF9jb3VudCA9PSBzLT5vdXQuY2hfY291bnQAcy0+aW4ucGxhbmFyAHMtPmRpdGhlci5ub2lzZS5jaF9jb3VudCA9PSBwcmVvdXQtPmNoX2NvdW50AGN0eC0+Y2hhbm5lbHMgPT0gb3V0LT5jaF9jb3VudABsaWJzd3Jlc2FtcGxlL2F1ZGlvY29udmVydC5jAHMtPmRpdGhlci5tZXRob2QgPCBTV1JfRElUSEVSX05CAGxpYnN3cmVzYW1wbGUvZGl0aGVyLmMAUmVxdWVzdGVkIG5vaXNlIHNoYXBpbmcgZGl0aGVyIG5vdCBhdmFpbGFibGUgYXQgdGhpcyBzYW1wbGluZyByYXRlLCB1c2luZyB0cmlhbmd1bGFyIGhwIGRpdGhlcgoAU1dSZXNhbXBsZXIAaWNoAHNldCBpbnB1dCBjaGFubmVsIGNvdW50AGluX2NoYW5uZWxfY291bnQAb2NoAHNldCBvdXRwdXQgY2hhbm5lbCBjb3VudABvdXRfY2hhbm5lbF9jb3VudAB1Y2gAc2V0IHVzZWQgY2hhbm5lbCBjb3VudAB1c2VkX2NoYW5uZWxfY291bnQAaXNyAHNldCBpbnB1dCBzYW1wbGUgcmF0ZQBpbl9zYW1wbGVfcmF0ZQBvc3IAc2V0IG91dHB1dCBzYW1wbGUgcmF0ZQBvdXRfc2FtcGxlX3JhdGUAaXNmAHNldCBpbnB1dCBzYW1wbGUgZm9ybWF0AGluX3NhbXBsZV9mbXQAb3NmAHNldCBvdXRwdXQgc2FtcGxlIGZvcm1hdABvdXRfc2FtcGxlX2ZtdAB0c2YAc2V0IGludGVybmFsIHNhbXBsZSBmb3JtYXQAaW50ZXJuYWxfc2FtcGxlX2ZtdABpY2wAc2V0IGlucHV0IGNoYW5uZWwgbGF5b3V0AGNoYW5uZWxfbGF5b3V0AGluX2NoYW5uZWxfbGF5b3V0AG9jbABzZXQgb3V0cHV0IGNoYW5uZWwgbGF5b3V0AG91dF9jaGFubmVsX2xheW91dABjbGV2AHNldCBjZW50ZXIgbWl4IGxldmVsAGNlbnRlcl9taXhfbGV2ZWwAc2xldgBzZXQgc3Vycm91bmQgbWl4IGxldmVsAHN1cnJvdW5kX21peF9sZXZlbABzZXQgc3Vycm91bmQgbWl4IExldmVsAGxmZV9taXhfbGV2ZWwAc2V0IExGRSBtaXggbGV2ZWwAcm12b2wAc2V0IHJlbWF0cml4IHZvbHVtZQByZW1hdHJpeF92b2x1bWUAcmVtYXRyaXhfbWF4dmFsAHNldCByZW1hdHJpeCBtYXh2YWwAZmxhZ3MAc2V0IGZsYWdzAHN3cl9mbGFncwByZXMAZm9yY2UgcmVzYW1wbGluZwBkaXRoZXJfc2NhbGUAc2V0IGRpdGhlciBzY2FsZQBkaXRoZXJfbWV0aG9kAHNldCBkaXRoZXIgbWV0aG9kAHJlY3Rhbmd1bGFyAHNlbGVjdCByZWN0YW5ndWxhciBkaXRoZXIAdHJpYW5ndWxhcgBzZWxlY3QgdHJpYW5ndWxhciBkaXRoZXIAdHJpYW5ndWxhcl9ocABzZWxlY3QgdHJpYW5ndWxhciBkaXRoZXIgd2l0aCBoaWdoIHBhc3MAbGlwc2hpdHoAc2VsZWN0IExpcHNoaXR6IG5vaXNlIHNoYXBpbmcgZGl0aGVyAHNoaWJhdGEAc2VsZWN0IFNoaWJhdGEgbm9pc2Ugc2hhcGluZyBkaXRoZXIAbG93X3NoaWJhdGEAc2VsZWN0IGxvdyBTaGliYXRhIG5vaXNlIHNoYXBpbmcgZGl0aGVyAGhpZ2hfc2hpYmF0YQBzZWxlY3QgaGlnaCBTaGliYXRhIG5vaXNlIHNoYXBpbmcgZGl0aGVyAGZfd2VpZ2h0ZWQAc2VsZWN0IGYtd2VpZ2h0ZWQgbm9pc2Ugc2hhcGluZyBkaXRoZXIAbW9kaWZpZWRfZV93ZWlnaHRlZABzZWxlY3QgbW9kaWZpZWQtZS13ZWlnaHRlZCBub2lzZSBzaGFwaW5nIGRpdGhlcgBpbXByb3ZlZF9lX3dlaWdodGVkAHNlbGVjdCBpbXByb3ZlZC1lLXdlaWdodGVkIG5vaXNlIHNoYXBpbmcgZGl0aGVyAGZpbHRlcl9zaXplAHNldCBzd3IgcmVzYW1wbGluZyBmaWx0ZXIgc2l6ZQBwaGFzZV9zaGlmdABzZXQgc3dyIHJlc2FtcGxpbmcgcGhhc2Ugc2hpZnQAbGluZWFyX2ludGVycABlbmFibGUgbGluZWFyIGludGVycG9sYXRpb24AZXhhY3RfcmF0aW9uYWwAZW5hYmxlIGV4YWN0IHJhdGlvbmFsAGN1dG9mZgBzZXQgY3V0b2ZmIGZyZXF1ZW5jeSByYXRpbwByZXNhbXBsZV9jdXRvZmYAcmVzYW1wbGVyAHNldCByZXNhbXBsaW5nIEVuZ2luZQBzd3IAc2VsZWN0IFNXIFJlc2FtcGxlcgBzb3hyAHNlbGVjdCBTb1ggUmVzYW1wbGVyAHByZWNpc2lvbgBzZXQgc294ciByZXNhbXBsaW5nIHByZWNpc2lvbiAoaW4gYml0cykAY2hlYnkAZW5hYmxlIHNveHIgQ2hlYnlzaGV2IHBhc3NiYW5kICYgaGlnaGVyLXByZWNpc2lvbiBpcnJhdGlvbmFsIHJhdGlvIGFwcHJveGltYXRpb24AbWluX2NvbXAAc2V0IG1pbmltdW0gZGlmZmVyZW5jZSBiZXR3ZWVuIHRpbWVzdGFtcHMgYW5kIGF1ZGlvIGRhdGEgKGluIHNlY29uZHMpIGJlbG93IHdoaWNoIG5vIHRpbWVzdGFtcCBjb21wZW5zYXRpb24gb2YgZWl0aGVyIGtpbmQgaXMgYXBwbGllZABtaW5faGFyZF9jb21wAHNldCBtaW5pbXVtIGRpZmZlcmVuY2UgYmV0d2VlbiB0aW1lc3RhbXBzIGFuZCBhdWRpbyBkYXRhIChpbiBzZWNvbmRzKSB0byB0cmlnZ2VyIHBhZGRpbmcvdHJpbW1pbmcgdGhlIGRhdGEuAGNvbXBfZHVyYXRpb24Ac2V0IGR1cmF0aW9uIChpbiBzZWNvbmRzKSBvdmVyIHdoaWNoIGRhdGEgaXMgc3RyZXRjaGVkL3NxdWVlemVkIHRvIG1ha2UgaXQgbWF0Y2ggdGhlIHRpbWVzdGFtcHMuAG1heF9zb2Z0X2NvbXAAc2V0IG1heGltdW0gZmFjdG9yIGJ5IHdoaWNoIGRhdGEgaXMgc3RyZXRjaGVkL3NxdWVlemVkIHRvIG1ha2UgaXQgbWF0Y2ggdGhlIHRpbWVzdGFtcHMuAGFzeW5jAHNpbXBsaWZpZWQgMSBwYXJhbWV0ZXIgYXVkaW8gdGltZXN0YW1wIG1hdGNoaW5nLCAwKGRpc2FibGVkKSwgMShmaWxsaW5nIGFuZCB0cmltbWluZyksID4xKG1heGltdW0gc3RyZXRjaC9zcXVlZXplIGluIHNhbXBsZXMgcGVyIHNlY29uZCkAZmlyc3RfcHRzAEFzc3VtZSB0aGUgZmlyc3QgcHRzIHNob3VsZCBiZSB0aGlzIHZhbHVlIChpbiBzYW1wbGVzKS4AbWF0cml4X2VuY29kaW5nAHNldCBtYXRyaXhlZCBzdGVyZW8gZW5jb2RpbmcAbm9uZQBzZWxlY3Qgbm9uZQBkb2xieQBzZWxlY3QgRG9sYnkAZHBsaWkAc2VsZWN0IERvbGJ5IFBybyBMb2dpYyBJSQBmaWx0ZXJfdHlwZQBzZWxlY3Qgc3dyIGZpbHRlciB0eXBlAGN1YmljAHNlbGVjdCBjdWJpYwBibGFja21hbl9udXR0YWxsAHNlbGVjdCBCbGFja21hbiBOdXR0YWxsIHdpbmRvd2VkIHNpbmMAa2Fpc2VyAHNlbGVjdCBLYWlzZXIgd2luZG93ZWQgc2luYwBrYWlzZXJfYmV0YQBzZXQgc3dyIEthaXNlciB3aW5kb3cgYmV0YQBvdXRwdXRfc2FtcGxlX2JpdHMAc2V0IHN3ciBudW1iZXIgb2Ygb3V0cHV0IHNhbXBsZSBiaXRzAFNXUgBJbnB1dCBjaGFubmVsIGxheW91dCAnJXMnIGlzIG5vdCBzdXBwb3J0ZWQKAE91dHB1dCBjaGFubmVsIGxheW91dCAnJXMnIGlzIG5vdCBzdXBwb3J0ZWQKAGxpYnN3cmVzYW1wbGUvcmVtYXRyaXguYwBNYXRyaXggY29lZmZpY2llbnRzOgoAPwAlczogACVzOiVmIAAKAFRyZWF0aW5nICVzIGFzIG1vbm8KACFzLT5vdXRfY2hfbGF5b3V0IHx8IG91dC0+Y2hfY291bnQgPT0gYXZfZ2V0X2NoYW5uZWxfbGF5b3V0X25iX2NoYW5uZWxzKHMtPm91dF9jaF9sYXlvdXQpACFzLT4gaW5fY2hfbGF5b3V0IHx8IGluIC0+Y2hfY291bnQgPT0gYXZfZ2V0X2NoYW5uZWxfbGF5b3V0X25iX2NoYW5uZWxzKHMtPiBpbl9jaF9sYXlvdXQpAEFzc2VydGlvbiAlcyBmYWlsZWQgYXQgJXM6JWQKACFjLT5mcmFjICYmICFjLT5kc3RfaW5jcl9tb2QAbGlic3dyZXNhbXBsZS9yZXNhbXBsZS5jAHRhcF9jb3VudCA9PSAxIHx8IHRhcF9jb3VudCAlIDIgPT0gMAAwAGEtPnBsYW5hcgBVbnN1cHBvcnRlZCBzYW1wbGUgZm9ybWF0CgBGaWx0ZXIgbGVuZ3RoIHRvbyBsYXJnZQoAaW5maW5pdHkAAAECBAcDBgUALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBuYW4ATkFOAC4=";var tempDoublePtr=1104304;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var ENV={};function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C.UTF-8";ENV["LANG"]=(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";ENV["_"]=thisProgram;poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")}};var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(19)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.flush(stream.tty)},flush:function(stream){stream.tty.ops.flush(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(6)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(5)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(11)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(6)}try{for(var i=0;i<length;i++){stream.tty.ops.put_char(stream.tty,buffer[offset+i])}}catch(e){throw new FS.ErrnoError(5)}if(length){stream.node.timestamp=Date.now()}return i}},default_tty_ops:{get_char:function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc?Buffer.alloc(BUFSIZE):new Buffer(BUFSIZE);var bytesRead=0;var isPosixPlatform=process.platform!="win32";var fd=process.stdin.fd;if(isPosixPlatform){var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}}try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null)}catch(e){if(e.toString().indexOf("EOF")!=-1)bytesRead=0;else throw e}if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[2]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(39)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name]},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(39)}delete parent.contents[name]},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(22)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size},write:function(stream,buffer,offset,length,position,canOwn){canOwn=false;if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(22)}return position},allocate:function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)},mmap:function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(19)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;var fromHeap=buffer.buffer==HEAP8.buffer;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(12)}(fromHeap?HEAP8:buffer).set(contents,ptr)}return{ptr:ptr,allocated:allocated}},msync:function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(19)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};var IDBFS={dbs:{},indexedDB:function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function(mount){return MEMFS.mount.apply(null,arguments)},syncfs:function(mount,populate,callback){IDBFS.getLocalSet(mount,function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)})})},getDB:function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}};req.onsuccess=function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)};req.onerror=function(e){callback(this.error);e.preventDefault()}},getLocalSet:function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return function(p){return PATH.join2(root,p)}}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})},getRemoteSet:function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,function(err,db){if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=function(e){callback(this.error);e.preventDefault()};var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()}}catch(e){return callback(e)}})},loadLocalEntry:function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}},storeLocalEntry:function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)},removeLocalEntry:function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)},loadRemoteEntry:function(store,path,callback){var req=store.get(path);req.onsuccess=function(event){callback(null,event.target.result)};req.onerror=function(e){callback(this.error);e.preventDefault()}},storeRemoteEntry:function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=function(){callback(null)};req.onerror=function(e){callback(this.error);e.preventDefault()}},removeRemoteEntry:function(store,path,callback){var req=store.delete(path);req.onsuccess=function(){callback(null)};req.onerror=function(e){callback(this.error);e.preventDefault()}},reconcile:function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach(function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};transaction.oncomplete=function(e){if(!errored){callback(null)}};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_HAS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,parts[i],WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)});(mount.opts["blobs"]||[]).forEach(function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])});(mount.opts["packages"]||[]).forEach(function(pack){pack["metadata"].files.forEach(function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))})});return root},createNode:function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node},node_ops:{getattr:function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}},lookup:function(parent,name){throw new FS.ErrnoError(2)},mknod:function(parent,name,mode,dev){throw new FS.ErrnoError(1)},rename:function(oldNode,newDir,newName){throw new FS.ErrnoError(1)},unlink:function(parent,name){throw new FS.ErrnoError(1)},rmdir:function(parent,name){throw new FS.ErrnoError(1)},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newName,oldPath){throw new FS.ErrnoError(1)},readlink:function(node){throw new FS.ErrnoError(1)}},stream_ops:{read:function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH_FS.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+="/"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=17)throw e}}},mkdev:function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:function(oldpath,newpath){if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(2)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(2)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(1)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(16)}if(!old_dir||!new_dir)throw new FS.ErrnoError(2);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(18)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(22)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(39)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(1)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(16)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}},rmdir:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(1)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readdir:function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(20)}return node.node_ops.readdir(node)},unlink:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(1)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readlink:function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(2)}if(!link.node_ops.readlink){throw new FS.ErrnoError(22)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(2)}if(!node.node_ops.getattr){throw new FS.ErrnoError(1)}return node.node_ops.getattr(node)},lstat:function(path){return FS.stat(path,true)},chmod:function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:function(path,mode){FS.chmod(path,mode,true)},fchmod:function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}FS.chmod(stream.node,mode)},chown:function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:function(path,uid,gid){FS.chown(path,uid,gid,true)},fchown:function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}FS.chown(stream.node,uid,gid)},truncate:function(path,len){if(len<0){throw new FS.ErrnoError(22)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(21)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(22)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(22)}FS.truncate(stream.node,len)},utime:function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(2)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(17)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(2)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;console.log("FS.trackingDelegate error on read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream},close:function(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:function(stream){return stream.fd===null},llseek:function(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(29)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(22)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(22)}if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(9)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(21)}if(!stream.stream_ops.read){throw new FS.ErrnoError(22)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(29)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(22)}if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(9)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(21)}if(!stream.stream_ops.write){throw new FS.ErrnoError(22)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(29)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+stream.path+"') threw an exception: "+e.message)}return bytesWritten},allocate:function(stream,offset,length){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(offset<0||length<=0){throw new FS.ErrnoError(22)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(9)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(19)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(95)}stream.stream_ops.allocate(stream,offset,length)},mmap:function(stream,buffer,offset,length,position,prot,flags){if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(13)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(13)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(19)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)},msync:function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:function(stream){return 0},ioctl:function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(25)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";var stream=FS.open(path,opts.flags,opts.mode);if(typeof data==="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:function(){return FS.currentPath},chdir:function(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(2)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(20)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path},createDefaultDirectories:function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:function(){return 0},write:function(stream,buffer,offset,length,pos){return length}});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);random_device=function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");random_device=function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}else{}if(!random_device){random_device=function(){abort("random_device")}}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(9);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return stream.path}}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");var stdout=FS.open("/dev/stdout","w");var stderr=FS.open("/dev/stderr","w")},ensureErrnoError:function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[2].forEach(function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"})},staticInit:function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}},init:function(input,output,error){FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}},getMode:function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},joinPath:function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path},absolutePath:function(relative,base){return PATH_FS.resolve(base,relative)},standardizePath:function(path){return PATH.normalize(path)},findObject:function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}},analyzePath:function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createFolder:function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)},createPath:function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node},createDevice:function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:function(stream){stream.seekable=false},close:function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}},read:function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(5)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(11)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(5)}}if(length){stream.node.timestamp=Date.now()}return i}});return FS.mkdev(path,mode,dev)},createLink:function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)},forceLoadFile:function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(5);return success},createLazyFile:function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node},createPreloadedFile:function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,function(){if(onerror)onerror();removeRunDependency(dep)});handled=true}});if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,function(byteArray){processData(byteArray)},onerror)}else{processData(url)}},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:function(){return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror},loadFilesFromDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror}};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(9);dir=dirstream.path}path=PATH.join2(dir,path)}return path},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-20}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-2}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret},doWritev:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-75}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-25;return 0}case 21519:{if(!stream.tty)return-25;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-25;return-22}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-25;return 0}case 21524:{if(!stream.tty)return-25;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _abort(){Module["abort"]()}var _acos=Math_acos;var _asin=Math_asin;var _atan=Math_atan;function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}var _cos=Math_cos;function _emscripten_clear_interval(id){clearInterval(id)}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence<y.precedence})},removeDeferredCalls:function(targetFunction){for(var i=0;i<JSEvents.deferredCalls.length;++i){if(JSEvents.deferredCalls[i].targetFunction==targetFunction){JSEvents.deferredCalls.splice(i,1);--i}}},canPerformEventHandlerRequests:function(){return JSEvents.inEventHandler&&JSEvents.currentEventHandler.allowsDeferredCalls},runDeferredCalls:function(){if(!JSEvents.canPerformEventHandlerRequests()){return}for(var i=0;i<JSEvents.deferredCalls.length;++i){var call=JSEvents.deferredCalls[i];JSEvents.deferredCalls.splice(i,1);--i;call.targetFunction.apply(this,call.argsList)}},inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function(){return navigator.userAgent.indexOf("MSIE")!==-1||navigator.appVersion.indexOf("Trident/")>0},removeAllHandlersOnTarget:function(target,eventTypeString){for(var i=0;i<JSEvents.eventHandlers.length;++i){if(JSEvents.eventHandlers[i].target==target&&(!eventTypeString||eventTypeString==JSEvents.eventHandlers[i].eventTypeString)){JSEvents._removeHandler(i--)}}},_removeHandler:function(i){var h=JSEvents.eventHandlers[i];h.target.removeEventListener(h.eventTypeString,h.eventListenerFunc,h.useCapture);JSEvents.eventHandlers.splice(i,1)},registerOrRemoveHandler:function(eventHandler){var jsEventHandler=function jsEventHandler(event){++JSEvents.inEventHandler;JSEvents.currentEventHandler=eventHandler;JSEvents.runDeferredCalls();eventHandler.handlerFunc(event);JSEvents.runDeferredCalls();--JSEvents.inEventHandler};if(eventHandler.callbackfunc){eventHandler.eventListenerFunc=jsEventHandler;eventHandler.target.addEventListener(eventHandler.eventTypeString,jsEventHandler,eventHandler.useCapture);JSEvents.eventHandlers.push(eventHandler);JSEvents.registerRemoveEventListeners()}else{for(var i=0;i<JSEvents.eventHandlers.length;++i){if(JSEvents.eventHandlers[i].target==eventHandler.target&&JSEvents.eventHandlers[i].eventTypeString==eventHandler.eventTypeString){JSEvents._removeHandler(i--)}}}},getBoundingClientRectOrZeros:function(target){return target.getBoundingClientRect?target.getBoundingClientRect():{left:0,top:0}},pageScrollPos:function(){if(pageXOffset>0||pageYOffset>0){return[pageXOffset,pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},tick:function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()},fullscreenEnabled:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}};var __specialEventTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function __findEventTarget(target){try{if(!target)return window;if(typeof target==="number")target=__specialEventTargets[target]||UTF8ToString(target);if(target==="#window")return window;else if(target==="#document")return document;else if(target==="#screen")return screen;else if(target==="#canvas")return Module["canvas"];return typeof target==="string"?document.getElementById(target):target}catch(e){return null}}function __findCanvasEventTarget(target){if(typeof target==="number")target=UTF8ToString(target);if(!target||target==="#canvas"){if(typeof GL!=="undefined"&&GL.offscreenCanvases["canvas"])return GL.offscreenCanvases["canvas"];return Module["canvas"]}if(typeof GL!=="undefined"&&GL.offscreenCanvases[target])return GL.offscreenCanvases[target];return __findEventTarget(target)}function _emscripten_get_canvas_element_size(target,width,height){var canvas=__findCanvasEventTarget(target);if(!canvas)return-4;HEAP32[width>>2]=canvas.width;HEAP32[height>>2]=canvas.height}function _emscripten_get_element_css_size(target,width,height){target=target?__findEventTarget(target):Module["canvas"];if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_set_canvas_element_size(target,width,height){var canvas=__findCanvasEventTarget(target);if(!canvas)return-4;canvas.width=width;canvas.height=height;return 0}function _emscripten_set_element_css_size(target,width,height){target=target?__findEventTarget(target):Module["canvas"];if(!target)return-4;target.style.width=width+"px";target.style.height=height+"px";return 0}function _emscripten_set_interval(cb,msecs,userData){return setInterval(function(){dynCall_vi(cb,userData)},msecs)}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=__findEventTarget(target);var touchEventHandlerFunc=function(ev){var e=ev||event;var touches={};for(var i=0;i<e.touches.length;++i){var touch=e.touches[i];touch.changed=false;touches[touch.identifier]=touch}for(var i=0;i<e.changedTouches.length;++i){var touch=e.changedTouches[i];touches[touch.identifier]=touch;touch.changed=true}for(var i=0;i<e.targetTouches.length;++i){var touch=e.targetTouches[i];touches[touch.identifier].onTarget=true}var touchEvent=JSEvents.touchEvent;var ptr=touchEvent;HEAP32[ptr+4>>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[touchEvent>>2]=numTouches;if(dynCall_iiii(callbackfunc,eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function __fillVisibilityChangeEventData(eventStruct,e){var visibilityStates=["hidden","visible","prerender","unloaded"];var visibilityState=visibilityStates.indexOf(document.visibilityState);HEAP32[eventStruct>>2]=document.hidden;HEAP32[eventStruct+4>>2]=visibilityState}function __registerVisibilityChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.visibilityChangeEvent)JSEvents.visibilityChangeEvent=_malloc(8);var visibilityChangeEventHandlerFunc=function(ev){var e=ev||event;var visibilityChangeEvent=JSEvents.visibilityChangeEvent;__fillVisibilityChangeEventData(visibilityChangeEvent,e);if(dynCall_iiii(callbackfunc,eventTypeId,visibilityChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:visibilityChangeEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_visibilitychange_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!__specialEventTargets[1]){return-4}__registerVisibilityChangeEventCallback(__specialEventTargets[1],userData,useCapture,callbackfunc,21,"visibilitychange",targetThread);return 0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i<GL.MINI_TEMP_BUFFER_SIZE;i++){GL.miniTempBufferViews[i]=GL.miniTempBuffer.subarray(0,i+1)}},recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i<ret;i++){table[i]=null}return ret},MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function(shader,count,string,length){var source="";for(var i=0;i<count;++i){var len=length?HEAP32[length+i*4>>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes);return ctx?GL.registerContext(ctx,webGLContextAttributes):0},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle]);GL.contexts[contextHandle]=null},acquireInstancedArraysExtension:function(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)}}},acquireVertexArrayObjectExtension:function(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)}}},acquireDrawBuffersExtension:function(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)}}},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;if(context.version<2){GL.acquireInstancedArraysExtension(GLctx);GL.acquireVertexArrayObjectExtension(GLctx);GL.acquireDrawBuffersExtension(GLctx)}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"];var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i<numUniforms;++i){var u=GLctx.getActiveUniform(p,i);var name=u.name;ptable.maxUniformLength=Math.max(ptable.maxUniformLength,name.length+1);if(name.slice(-1)=="]"){name=name.slice(0,name.lastIndexOf("["))}var loc=GLctx.getUniformLocation(p,name);if(loc){var id=GL.getNewId(GL.uniforms);utable[name]=[u.size,id];GL.uniforms[id]=loc;for(var j=1;j<u.size;++j){var n=name+"["+j+"]";loc=GLctx.getUniformLocation(p,n);id=GL.getNewId(GL.uniforms);GL.uniforms[id]=loc}}}}};var __emscripten_webgl_power_preferences=["default","low-power","high-performance"];function _emscripten_webgl_do_create_context(target,attributes){var contextAttributes={};var a=attributes>>2;contextAttributes["alpha"]=!!HEAP32[a+(0>>2)];contextAttributes["depth"]=!!HEAP32[a+(4>>2)];contextAttributes["stencil"]=!!HEAP32[a+(8>>2)];contextAttributes["antialias"]=!!HEAP32[a+(12>>2)];contextAttributes["premultipliedAlpha"]=!!HEAP32[a+(16>>2)];contextAttributes["preserveDrawingBuffer"]=!!HEAP32[a+(20>>2)];var powerPreference=HEAP32[a+(24>>2)];contextAttributes["powerPreference"]=__emscripten_webgl_power_preferences[powerPreference];contextAttributes["failIfMajorPerformanceCaveat"]=!!HEAP32[a+(28>>2)];contextAttributes.majorVersion=HEAP32[a+(32>>2)];contextAttributes.minorVersion=HEAP32[a+(36>>2)];contextAttributes.enableExtensionsByDefault=HEAP32[a+(40>>2)];contextAttributes.explicitSwapControl=HEAP32[a+(44>>2)];contextAttributes.proxyContextToMainThread=HEAP32[a+(48>>2)];contextAttributes.renderViaOffscreenBackBuffer=HEAP32[a+(52>>2)];var canvas=__findCanvasEventTarget(target);if(!canvas){return 0}if(contextAttributes.explicitSwapControl){return 0}var contextHandle=GL.createContext(canvas,contextAttributes);return contextHandle}function _emscripten_webgl_create_context(a0,a1){return _emscripten_webgl_do_create_context(a0,a1)}function _emscripten_webgl_destroy_context_calling_thread(contextHandle){if(GL.currentContext==contextHandle)GL.currentContext=0;GL.deleteContext(contextHandle)}function _emscripten_webgl_destroy_context(a0){return _emscripten_webgl_destroy_context_calling_thread(a0)}function _emscripten_webgl_init_context_attributes(attributes){var a=attributes>>2;for(var i=0;i<56>>2;++i){HEAP32[a+i]=0}HEAP32[a+(0>>2)]=HEAP32[a+(4>>2)]=HEAP32[a+(12>>2)]=HEAP32[a+(16>>2)]=HEAP32[a+(32>>2)]=HEAP32[a+(40>>2)]=1}function _emscripten_webgl_make_context_current(contextHandle){var success=GL.makeContextCurrent(contextHandle);return success?0:-5}Module["_emscripten_webgl_make_context_current"]=_emscripten_webgl_make_context_current;var _exp=Math_exp;var _fabs=Math_abs;function _getenv(name){if(name===0)return 0;name=UTF8ToString(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocateUTF8(ENV[name]);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i<n;i++){var id=HEAP32[textures+i*4>>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i<n;i++){var buffer=GLctx[createFunction]();var id=buffer&&GL.getNewId(objectTable);if(buffer){buffer.name=id;objectTable[id]=buffer}else{GL.recordError(1282)}HEAP32[buffers+i*4>>2]=id}}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i<numAttribs;++i){var activeAttrib=GLctx.getActiveAttrib(program,i);ptable.maxAttributeLength=Math.max(ptable.maxAttributeLength,activeAttrib.name.length+1)}}HEAP32[p>>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i<numBlocks;++i){var activeBlockName=GLctx.getActiveUniformBlockName(program,i);ptable.maxUniformBlockNameLength=Math.max(ptable.maxUniformBlockNameLength,activeBlockName.length+1)}}HEAP32[p>>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex<uniformInfo[0]){return uniformInfo[1]+arrayIndex}else{return-1}}function _glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function __computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}var __colorChannelsInGlTextureFormat={6402:1,6406:1,6407:3,6408:4,6409:1,6410:2,35904:3,35906:4};var __sizeOfGlTextureElementType={5121:1,5123:2,5125:4,5126:4,32819:2,32820:2,33635:2,34042:4,36193:2};function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel=__colorChannelsInGlTextureFormat[format]*__sizeOfGlTextureElementType[type];if(!sizePerPixel){GL.recordError(1280);return}var bytes=__computeUnpackAlignedImageSize(width,height,sizePerPixel,GL.unpackAlignment);var end=pixels+bytes;switch(type){case 5121:return HEAPU8.subarray(pixels,end);case 5126:return HEAPF32.subarray(pixels>>2,end>>2);case 5125:case 34042:return HEAPU32.subarray(pixels>>2,end>>2);case 5123:case 33635:case 32819:case 32820:case 36193:return HEAPU16.subarray(pixels>>1,end>>1);default:GL.recordError(1280)}}function _glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}var ___tm_timezone=(stringToUTF8("GMT",1104192,4),1104192);function _gmtime_r(time,tmPtr){var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();HEAP32[tmPtr+36>>2]=0;HEAP32[tmPtr+32>>2]=0;var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+40>>2]=___tm_timezone;return tmPtr}function _llvm_exp2_f32(x){return Math.pow(2,x)}function _llvm_exp2_f64(a0){return _llvm_exp2_f32(a0)}function _llvm_log2_f32(x){return Math.log(x)/Math.LN2}var _llvm_trunc_f64=Math_trunc;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[__get_tzname()>>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(2e3,6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}var _log=Math_log;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(2e3,6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function _pthread_cond_destroy(){return 0}function _pthread_cond_init(){return 0}function _pthread_cond_signal(){return 0}function _pthread_cond_wait(){return 0}function _pthread_create(){return 11}function _pthread_join(){}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function emscripten_realloc_buffer(size){try{var newBuffer=new ArrayBuffer(size);if(newBuffer.byteLength!=size)return false;new Int8Array(newBuffer).set(HEAP8)}catch(e){return false}buffer=newBuffer;Module["_emscripten_replace_memory"](newBuffer);return true}function _emscripten_resize_heap(requestedSize){var oldSize=_emscripten_get_heap_size();var PAGE_MULTIPLE=16777216;var LIMIT=2147483648-PAGE_MULTIPLE;if(requestedSize>LIMIT){return false}var MIN_TOTAL_MEMORY=16777216;var newSize=Math.max(oldSize,MIN_TOTAL_MEMORY);while(newSize<requestedSize){if(newSize<=536870912){newSize=alignUp(2*newSize,PAGE_MULTIPLE)}else{newSize=Math.min(alignUp((3*newSize+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}if(!emscripten_realloc_buffer(newSize)){return false}updateGlobalBufferViews();return true}var _sin=Math_sin;function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:var maxHeapSize=2*1024*1024*1024-16777216;return maxHeapSize/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(22);return-1}var _tan=Math_tan;FS.staticInit();if(ENVIRONMENT_HAS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}var GLctx;GL.init();var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i<input.length);return output};function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE==="boolean"&&ENVIRONMENT_IS_NODE){var buf;try{buf=Buffer.from(s,"base64")}catch(_){buf=new Buffer(s,"base64")}return new Uint8Array(buf.buffer,buf.byteOffset,buf.byteLength)}try{var decoded=decodeBase64(s);var bytes=new Uint8Array(decoded.length);for(var i=0;i<decoded.length;++i){bytes[i]=decoded.charCodeAt(i)}return bytes}catch(_){throw new Error("Converting base64 string to bytes failed.")}}function tryParseAsDataURI(filename){if(!isDataURI(filename)){return}return intArrayFromBase64(filename.slice(dataURIPrefix.length))}var asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,Infinity:Infinity};var asmLibraryArg={"a":abort,"b":setTempRet0,"c":getTempRet0,"d":___buildEnvironment,"e":___setErrNo,"f":___syscall140,"g":___syscall146,"h":___syscall221,"i":___syscall3,"j":___syscall5,"k":___syscall54,"l":___syscall6,"m":__computeUnpackAlignedImageSize,"n":__fillVisibilityChangeEventData,"o":__findCanvasEventTarget,"p":__findEventTarget,"q":__glGenObject,"r":__registerTouchEventCallback,"s":__registerVisibilityChangeEventCallback,"t":_abort,"u":_acos,"v":_asin,"w":_atan,"x":_clock,"y":_cos,"z":_emscripten_asm_const_ii,"A":_emscripten_asm_const_iiii,"B":_emscripten_asm_const_iiiii,"C":_emscripten_asm_const_iiiiid,"D":_emscripten_asm_const_iiiiii,"E":_emscripten_clear_interval,"F":_emscripten_get_canvas_element_size,"G":_emscripten_get_element_css_size,"H":_emscripten_get_heap_size,"I":_emscripten_memcpy_big,"J":_emscripten_resize_heap,"K":_emscripten_set_canvas_element_size,"L":_emscripten_set_element_css_size,"M":_emscripten_set_interval,"N":_emscripten_set_touchstart_callback_on_thread,"O":_emscripten_set_visibilitychange_callback_on_thread,"P":_emscripten_webgl_create_context,"Q":_emscripten_webgl_destroy_context,"R":_emscripten_webgl_destroy_context_calling_thread,"S":_emscripten_webgl_do_create_context,"T":_emscripten_webgl_init_context_attributes,"U":_emscripten_webgl_make_context_current,"V":_exp,"W":_fabs,"X":_get_do_str,"Y":_getenv,"Z":_gettimeofday,"_":_glActiveTexture,"$":_glAttachShader,"aa":_glBindBuffer,"ab":_glBindTexture,"ac":_glBufferData,"ad":_glClear,"ae":_glClearColor,"af":_glCompileShader,"ag":_glCreateProgram,"ah":_glCreateShader,"ai":_glDeleteProgram,"aj":_glDeleteShader,"ak":_glDeleteTextures,"al":_glDrawArrays,"am":_glEnableVertexAttribArray,"an":_glGenBuffers,"ao":_glGenTextures,"ap":_glGetAttribLocation,"aq":_glGetError,"ar":_glGetProgramInfoLog,"as":_glGetProgramiv,"at":_glGetShaderInfoLog,"au":_glGetShaderiv,"av":_glGetUniformLocation,"aw":_glLinkProgram,"ax":_glPixelStorei,"ay":_glShaderSource,"az":_glTexImage2D,"aA":_glTexParameterf,"aB":_glUniform1i,"aC":_glUseProgram,"aD":_glVertexAttribPointer,"aE":_glViewport,"aF":_gmtime_r,"aG":_llvm_exp2_f32,"aH":_llvm_exp2_f64,"aI":_llvm_log2_f32,"aJ":_llvm_trunc_f64,"aK":_localtime_r,"aL":_log,"aM":_mktime,"aN":_pthread_cond_destroy,"aO":_pthread_cond_init,"aP":_pthread_cond_signal,"aQ":_pthread_cond_wait,"aR":_pthread_create,"aS":_pthread_join,"aT":_sin,"aU":_sysconf,"aV":_tan,"aW":_tzset,"aX":abortOnCannotGrowMemory,"aY":demangle,"aZ":demangleAll,"a_":emscriptenWebGLGetTexPixelData,"a$":emscripten_realloc_buffer,"ba":jsStackTrace,"bb":stackTrace,"bc":tempDoublePtr,"bd":DYNAMICTOP_PTR};// EMSCRIPTEN_START_ASM
var asm=(/** @suppress {uselessCode} */ function(global,env,buffer) {
"almost asm";var a=new global.Int8Array(buffer),b=new global.Int16Array(buffer),c=new global.Int32Array(buffer),d=new global.Uint8Array(buffer),e=new global.Uint16Array(buffer),f=new global.Float32Array(buffer),g=new global.Float64Array(buffer),h=env.bc|0,i=env.bd|0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=global.NaN,s=global.Infinity,t=global.Math.floor,u=global.Math.abs,v=global.Math.sqrt,w=global.Math.pow,x=global.Math.cos,y=global.Math.sin,z=global.Math.tan,A=global.Math.acos,B=global.Math.asin,C=global.Math.atan,D=global.Math.atan2,E=global.Math.exp,F=global.Math.log,G=global.Math.ceil,H=global.Math.imul,I=global.Math.min,J=global.Math.clz32,K=env.a,L=env.b,M=env.c,N=env.d,O=env.e,P=env.f,Q=env.g,R=env.h,S=env.i,T=env.j,U=env.k,V=env.l,W=env.m,X=env.n,Y=env.o,Z=env.p,_=env.q,$=env.r,aa=env.s,ba=env.t,ca=env.u,da=env.v,ea=env.w,fa=env.x,ga=env.y,ha=env.z,ia=env.A,ja=env.B,ka=env.C,la=env.D,ma=env.E,na=env.F,oa=env.G,pa=env.H,qa=env.I,ra=env.J,sa=env.K,ta=env.L,ua=env.M,va=env.N,wa=env.O,xa=env.P,ya=env.Q,za=env.R,Aa=env.S,Ba=env.T,Ca=env.U,Da=env.V,Ea=env.W,Fa=env.X,Ga=env.Y,Ha=env.Z,Ia=env._,Ja=env.$,Ka=env.aa,La=env.ab,Ma=env.ac,Na=env.ad,Oa=env.ae,Pa=env.af,Qa=env.ag,Ra=env.ah,Sa=env.ai,Ta=env.aj,Ua=env.ak,Va=env.al,Wa=env.am,Xa=env.an,Ya=env.ao,Za=env.ap,_a=env.aq,$a=env.ar,ab=env.as,bb=env.at,cb=env.au,db=env.av,eb=env.aw,fb=env.ax,gb=env.ay,hb=env.az,ib=env.aA,jb=env.aB,kb=env.aC,lb=env.aD,mb=env.aE,nb=env.aF,ob=env.aG,pb=env.aH,qb=env.aI,rb=env.aJ,sb=env.aK,tb=env.aL,ub=env.aM,vb=env.aN,wb=env.aO,xb=env.aP,yb=env.aQ,zb=env.aR,Ab=env.aS,Bb=env.aT,Cb=env.aU,Db=env.aV,Eb=env.aW,Fb=env.aX,Gb=env.aY,Hb=env.aZ,Ib=env.a_,Jb=env.a$,Kb=env.ba,Lb=env.bb,Mb=1104320,Nb=6347200,Ob=0.0;function Pb(newBuffer){a=new Int8Array(newBuffer);d=new Uint8Array(newBuffer);b=new Int16Array(newBuffer);e=new Uint16Array(newBuffer);c=new Int32Array(newBuffer);f=new Float32Array(newBuffer);g=new Float64Array(newBuffer);buffer=newBuffer;return true}
// EMSCRIPTEN_START_FUNCS
function Li(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;i=0-q|0;j=a+6+(i<<1)|0;f=a+(q<<2<<1)+-2|0;d=f+(0-(c&-2)<<1)|0;p=a+((q*14|0)+-2)|0;o=a+((c+-2&-2)-(c>>>1<<2))|0;h=(e[f>>1]|0)-(e[d>>1]|0)|0;c=(e[j+2>>1]|0)-(e[j+-2>>1]|0)|0;g=2;while(1){if((g|0)==5)break;n=f+(q<<1)|0;m=d+(i<<1)|0;l=(H((e[j+(g<<1)>>1]|0)-(e[j+(0-g<<1)>>1]|0)|0,g)|0)+c|0;h=(H((e[n>>1]|0)-(e[m>>1]|0)|0,g)|0)+h|0;c=l;d=m;f=n;g=g+1|0}n=(c*17|0)+16>>5;g=(h*17|0)+16>>5;h=n<<1;i=n*3|0;j=n<<2;k=n*5|0;l=n*6|0;m=n*7|0;f=8;d=(H(g+n|0,-3)|0)+16+((e[o+16>>1]|0)+(e[p>>1]|0)<<4)|0;c=a;while(1){if(!f)break;a=d>>5;b[c>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;a=d+n>>5;b[c+2>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;a=d+h>>5;b[c+4>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;a=d+i>>5;b[c+6>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;a=d+j>>5;b[c+8>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;a=d+k>>5;b[c+10>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;a=d+l>>5;b[c+12>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;a=d+m>>5;b[c+14>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function Mi(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;i=0-q|0;j=a+6+(i<<1)|0;f=a+(q<<2<<1)+-2|0;d=f+(0-(c&-2)<<1)|0;p=a+((q*14|0)+-2)|0;o=a+((c+-2&-2)-(c>>>1<<2))|0;h=(e[f>>1]|0)-(e[d>>1]|0)|0;c=(e[j+2>>1]|0)-(e[j+-2>>1]|0)|0;g=2;while(1){if((g|0)==5)break;n=f+(q<<1)|0;m=d+(i<<1)|0;l=(H((e[j+(g<<1)>>1]|0)-(e[j+(0-g<<1)>>1]|0)|0,g)|0)+c|0;h=(H((e[n>>1]|0)-(e[m>>1]|0)|0,g)|0)+h|0;c=l;d=m;f=n;g=g+1|0}n=(c*17|0)+16>>5;g=(h*17|0)+16>>5;h=n<<1;i=n*3|0;j=n<<2;k=n*5|0;l=n*6|0;m=n*7|0;f=8;d=(H(g+n|0,-3)|0)+16+((e[o+16>>1]|0)+(e[p>>1]|0)<<4)|0;c=a;while(1){if(!f)break;a=d>>5;b[c>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;a=d+n>>5;b[c+2>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;a=d+h>>5;b[c+4>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;a=d+i>>5;b[c+6>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;a=d+j>>5;b[c+8>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;a=d+k>>5;b[c+10>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;a=d+l>>5;b[c+12>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;a=d+m>>5;b[c+14>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function Ni(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;i=0-q|0;j=a+6+(i<<1)|0;f=a+(q<<2<<1)+-2|0;d=f+(0-(c&-2)<<1)|0;p=a+((q*14|0)+-2)|0;o=a+((c+-2&-2)-(c>>>1<<2))|0;h=(e[f>>1]|0)-(e[d>>1]|0)|0;c=(e[j+2>>1]|0)-(e[j+-2>>1]|0)|0;g=2;while(1){if((g|0)==5)break;n=f+(q<<1)|0;m=d+(i<<1)|0;l=(H((e[j+(g<<1)>>1]|0)-(e[j+(0-g<<1)>>1]|0)|0,g)|0)+c|0;h=(H((e[n>>1]|0)-(e[m>>1]|0)|0,g)|0)+h|0;c=l;d=m;f=n;g=g+1|0}n=(c*17|0)+16>>5;g=(h*17|0)+16>>5;h=n<<1;i=n*3|0;j=n<<2;k=n*5|0;l=n*6|0;m=n*7|0;f=8;d=(H(g+n|0,-3)|0)+16+((e[o+16>>1]|0)+(e[p>>1]|0)<<4)|0;c=a;while(1){if(!f)break;a=d>>5;b[c>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;a=d+n>>5;b[c+2>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;a=d+h>>5;b[c+4>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;a=d+i>>5;b[c+6>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;a=d+j>>5;b[c+8>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;a=d+k>>5;b[c+10>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;a=d+l>>5;b[c+12>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;a=d+m>>5;b[c+14>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function Oi(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<6|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function Pi(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;a:do if(f>>>0>=7){a[g>>0]=a[e+1>>0]|0;a[g+1>>0]=a[e+2>>0]|0;a[g+2>>0]=a[e+3>>0]|0;a[g+3>>0]=(a[e+4>>0]&3)+1<<24>>24;m=a[e+5>>0]&31;n=g+4|0;a[n>>0]=m;h=g+2315|0;o=g+6411|0;if(f>>>0>8&m<<24>>24!=0){i=6;m=0;while(1){k=e+i|0;l=(d[k>>0]|0)<<8|(d[e+(i+1)>>0]|0);i=i+2+l|0;if(i>>>0>=f>>>0){h=-1;break a}j=h+l|0;if(j>>>0>o>>>0){h=-1;break a}rk(h|0,k+2|0,l|0)|0;c[g+8+(m<<3)+4>>2]=h;b[g+8+(m<<3)>>1]=l;m=m+1|0;if(!((i+2|0)>>>0<f>>>0&m>>>0<(d[n>>0]|0)>>>0))break;else h=j}}else{j=h;i=6}if(i>>>0<f>>>0){m=a[e+i>>0]|0;h=i+1|0;n=g+5|0;a[n>>0]=m;if((i+3|0)>>>0<f>>>0&m<<24>>24!=0){m=0;do{k=e+h|0;l=(d[k>>0]|0)<<8|(d[e+(h+1)>>0]|0);h=h+2+l|0;if(h>>>0>f>>>0){h=-1;break a}i=j;j=j+l|0;if(j>>>0>o>>>0){h=-1;break a}rk(i|0,k+2|0,l|0)|0;c[g+264+(m<<3)+4>>2]=i;b[g+264+(m<<3)>>1]=l;m=m+1|0}while((h+2|0)>>>0<f>>>0&m>>>0<(d[n>>0]|0)>>>0)}}else h=-1}else h=-1;while(0);return h|0}function Qi(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;i=0-q|0;j=a+6+(i<<1)|0;f=a+(q<<2<<1)+-2|0;d=f+(0-(c&-2)<<1)|0;p=a+((q*14|0)+-2)|0;o=a+((c+-2&-2)-(c>>>1<<2))|0;h=(e[f>>1]|0)-(e[d>>1]|0)|0;c=(e[j+2>>1]|0)-(e[j+-2>>1]|0)|0;g=2;while(1){if((g|0)==5)break;n=f+(q<<1)|0;m=d+(i<<1)|0;l=(H((e[j+(g<<1)>>1]|0)-(e[j+(0-g<<1)>>1]|0)|0,g)|0)+c|0;h=(H((e[n>>1]|0)-(e[m>>1]|0)|0,g)|0)+h|0;c=l;d=m;f=n;g=g+1|0}n=(c*17|0)+16>>5;g=(h*17|0)+16>>5;h=n<<1;i=n*3|0;j=n<<2;k=n*5|0;l=n*6|0;m=n*7|0;f=8;d=(H(g+n|0,-3)|0)+16+((e[o+16>>1]|0)+(e[p>>1]|0)<<4)|0;c=a;while(1){if(!f)break;a=d>>5;b[c>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;a=d+n>>5;b[c+2>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;a=d+h>>5;b[c+4>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;a=d+i>>5;b[c+6>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;a=d+j>>5;b[c+8>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;a=d+k>>5;b[c+10>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;a=d+l>>5;b[c+12>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;a=d+m>>5;b[c+14>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function Ri(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<4|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function Si(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<2|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function Ti(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=((b[a>>1]|0)*16383|0)+524256|0;s=a+32|0;i=b[s>>1]|0;d=n+(H(i,-8867)|0)|0;r=n+(H(i,-21407)|0)|0;o=a+16|0;c=b[o>>1]|0;p=a+48|0;q=b[p>>1]|0;f=(q*19266|0)+(c*22725|0)|0;e=(H(q,-4520)|0)+(c*19266|0)|0;g=(H(q,-22725)|0)+(c*12873|0)|0;c=(H(q,-12873)|0)+(c*4520|0)|0;q=a+64|0;h=b[q>>1]|0;m=h<<16>>16==0;h=h<<16>>16;j=H(h,-16383)|0;h=m?0:h*16383|0;l=n+(i*21407|0)+h|0;j=m?0:j;i=n+(i*8867|0)+j|0;j=d+j|0;h=r+h|0;r=a+80|0;d=b[r>>1]|0;if(!(d<<16>>16)){m=f;d=g}else{d=d<<16>>16;c=(d*19266|0)+c|0;e=(H(d,-22725)|0)+e|0;m=(d*12873|0)+f|0;d=(d*4520|0)+g|0}n=a+96|0;f=b[n>>1]|0;if(!(f<<16>>16)){k=h;g=l}else{g=f<<16>>16;k=(H(g,-8867)|0)+h|0;j=(g*21407|0)+j|0;i=(H(g,-21407)|0)+i|0;g=(g*8867|0)+l|0}h=a+112|0;f=b[h>>1]|0;if(!(f<<16>>16))f=m;else{l=f<<16>>16;c=(H(l,-22725)|0)+c|0;e=(H(l,-12873)|0)+e|0;f=(l*4520|0)+m|0;d=(l*19266|0)+d|0}b[a>>1]=f+g>>20;b[o>>1]=e+i>>20;b[s>>1]=d+j>>20;b[p>>1]=c+k>>20;b[q>>1]=k-c>>20;b[r>>1]=j-d>>20;b[n>>1]=i-e>>20;b[h>>1]=g-f>>20;return}function Ui(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;x=a+156|0;y=c[a+144>>2]|0;p=+f[a+152>>2];q=d+260|0;r=a+132|0;s=y+-2|0;t=+f[a+148>>2];u=((s|0)>0?s:0)+3&-4;v=(u|0)<(y|0);w=a+160+(u<<2)|0;h=c[x>>2]|0;o=0;while(1){if((o|0)>=(c[q>>2]|0))break;l=(c[e+(o<<2)>>2]|0)+(c[r>>2]<<2)|0;m=c[d+(o<<2)>>2]|0;n=c[b+(o<<2)>>2]|0;k=0;h=c[x>>2]|0;while(1){if((k|0)>=(g|0))break;i=p*+(c[m+(k<<2)>>2]|0);j=0;while(1){if((j|0)>=(s|0))break;z=j+h|0;i=i-(+f[a+160+(j<<2)>>2]*+f[a+240+(o*160|0)+(z<<2)>>2]+ +f[a+160+((j|1)<<2)>>2]*+f[a+240+(o*160|0)+(z+1<<2)>>2]+ +f[a+160+((j|2)<<2)>>2]*+f[a+240+(o*160|0)+(z+2<<2)>>2]+ +f[a+160+((j|3)<<2)>>2]*+f[a+240+(o*160|0)+(z+3<<2)>>2]);j=j+4|0}if(v)i=i-+f[w>>2]*+f[a+240+(o*160|0)+(u+h<<2)>>2];z=((h|0)==0?y:h)+-1|0;A=+zT(+(i+ +f[l+(k<<2)>>2]));i=A-i;f[a+240+(o*160|0)+(z<<2)>>2]=i;f[a+240+(o*160|0)+(z+y<<2)>>2]=i;i=A*t;i=i>2147483647.0?2147483647.0:i;c[n+(k<<2)>>2]=~~(i>-2147483648.0?i:-2147483648.0);k=k+1|0;h=z}o=o+1|0}c[x>>2]=h;return}function Vi(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=Mb;Mb=Mb+16|0;i=k;j=h>>1;if(!f){f=e[a+-2>>1]|0;g=f}else{g=e[a+-2>>1]|0;f=e[a+(~j<<1)>>1]|0}s=e[a+(j+-1<<1)>>1]|0;r=s+2|0;q=e[a+((h&-2)+-1<<1)>>1]|0;p=q+2|0;o=e[a+((j*3|0)+-1<<1)>>1]|0;n=e[a+((j<<2)+-1<<1)>>1]|0;m=e[a+((j*5|0)+-1<<1)>>1]|0;l=e[a+((j*6|0)+-1<<1)>>1]|0;h=e[a+((j*7|0)+-1<<1)>>1]|0;b[i>>1]=(r+f+(g<<1)|0)>>>2;b[i+2>>1]=(p+g+(s<<1)|0)>>>2;b[i+4>>1]=(r+(q<<1)+o|0)>>>2;b[i+6>>1]=(p+(o<<1)+n|0)>>>2;b[i+8>>1]=(o+2+(n<<1)+m|0)>>>2;b[i+10>>1]=(n+2+(m<<1)+l|0)>>>2;b[i+12>>1]=(m+2+(l<<1)+h|0)>>>2;b[i+14>>1]=(l+2+(h*3|0)|0)>>>2;h=0;g=a;f=d;while(1){if((h|0)==8)break;s=(c[f>>2]|0)+(e[i+(h<<1)>>1]|0)|0;b[g>>1]=s;s=(c[f+4>>2]|0)+s|0;b[g+2>>1]=s;s=(c[f+8>>2]|0)+s|0;b[g+4>>1]=s;s=(c[f+12>>2]|0)+s|0;b[g+6>>1]=s;s=(c[f+16>>2]|0)+s|0;b[g+8>>1]=s;s=(c[f+20>>2]|0)+s|0;b[g+10>>1]=s;s=(c[f+24>>2]|0)+s|0;b[g+12>>1]=s;b[g+14>>1]=(c[f+28>>2]|0)+s;h=h+1|0;g=g+(j<<1)|0;f=f+32|0}Wp(d|0,0,256)|0;Mb=k;return}function Wi(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<2;r=f<<2;s=(t>>2)+2|0;j=0;while(1){if((j|0)==8)break;h=a+-6|0;d=e[h>>1]|0;f=a+-4|0;k=e[f>>1]|0;c=a+-2|0;l=e[c>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(t|0)?(i=k-l|0,(((i|0)>-1?i:0-i|0)|0)<(r|0)):0)?(i=o-m|0,(((i|0)>-1?i:0-i|0)|0)<(r|0)):0){if((g|0)>=(s|0)){b[c>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}i=d-l|0;if((((i|0)>-1?i:0-i|0)|0)<(r|0)){v=e[a+-8>>1]|0;g=m+l|0;b[c>>1]=(o+4+d+(g+k<<1)|0)>>>3;b[f>>1]=(l+2+d+k+m|0)>>>2;i=k+4+(d*3|0)|0;c=h;d=3;f=v<<1}else{i=l+2|0;d=2;f=o;g=k<<1}b[c>>1]=(i+g+f|0)>>>d;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;i=m+l+o|0;b[a>>1]=(k+4+q+(i<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(i+4+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function Xi(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<1;r=f<<1;s=(t>>2)+2|0;j=0;while(1){if((j|0)==8)break;h=a+-6|0;d=e[h>>1]|0;f=a+-4|0;k=e[f>>1]|0;c=a+-2|0;l=e[c>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(t|0)?(i=k-l|0,(((i|0)>-1?i:0-i|0)|0)<(r|0)):0)?(i=o-m|0,(((i|0)>-1?i:0-i|0)|0)<(r|0)):0){if((g|0)>=(s|0)){b[c>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}i=d-l|0;if((((i|0)>-1?i:0-i|0)|0)<(r|0)){v=e[a+-8>>1]|0;g=m+l|0;b[c>>1]=(o+4+d+(g+k<<1)|0)>>>3;b[f>>1]=(l+2+d+k+m|0)>>>2;i=k+4+(d*3|0)|0;c=h;d=3;f=v<<1}else{i=l+2|0;d=2;f=o;g=k<<1}b[c>>1]=(i+g+f|0)>>>d;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;i=m+l+o|0;b[a>>1]=(k+4+q+(i<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(i+4+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function Yi(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<1|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function Zi(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=Mb;Mb=Mb+16|0;g=m;if((f|0)<=-1){c[g>>2]=208318;c[g+4>>2]=208334;c[g+8>>2]=106;Xw(0,0,213444,g);ba()}if(!f){f=PL()|0;f=(f|0)>1?f+1|0:1}j=(e|0)==0;l=f+(j<<31>>31)|0;k=YQ(120)|0;c[a>>2]=k;a:do if(!k)f=-12;else{if(l|0?(i=iO(l,88)|0,c[k>>2]=i,(i|0)==0):0){hM(a);f=-12;break}c[k+108>>2]=b;c[k+112>>2]=d;c[k+116>>2]=e;b=k+4|0;c[b>>2]=f;g=k+8|0;c[k+104>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;rU(k+24|0,0)|0;wb(k+52|0,0)|0;c[k+100>>2]=0;g=0;while(1){if((g|0)>=(l|0))break a;n=c[k>>2]|0;i=n+(g*88|0)|0;c[i>>2]=k;d=n+(g*88|0)+4|0;rU(d,0)|0;e=n+(g*88|0)+32|0;wb(e|0,0)|0;jV(d)|0;h=n+(g*88|0)+84|0;c[h>>2]=0;i=zb(n+(g*88|0)+80|0,0,26,i|0)|0;if(i|0)break;while(1){if(c[h>>2]|0)break;yb(e|0,d|0)|0}jV(d)|0;g=g+1|0}c[b>>2]=g+(j&1);jV(d)|0;vb(e|0)|0;jV(d)|0;hq(a);f=0-i|0}while(0);Mb=m;return f|0}function _i(a,d,e,g,h){a=a|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0;y=a+156|0;z=c[y>>2]|0;A=c[a+144>>2]|0;q=+f[a+152>>2];r=c[e+260>>2]|0;s=a+132|0;t=A+-2|0;u=+f[a+148>>2];v=((t|0)>0?t:0)+3&-4;w=(v|0)<(A|0);x=a+160+(v<<2)|0;i=z;p=0;while(1){if((p|0)>=(r|0))break;m=(c[g+(p<<2)>>2]|0)+(c[s>>2]<<2)|0;n=c[e+(p<<2)>>2]|0;o=c[d+(p<<2)>>2]|0;l=0;i=z;while(1){if((l|0)>=(h|0))break;j=q*+(b[n+(l<<1)>>1]|0);k=0;while(1){if((k|0)>=(t|0))break;B=k+i|0;j=j-(+f[a+160+(k<<2)>>2]*+f[a+240+(p*160|0)+(B<<2)>>2]+ +f[a+160+((k|1)<<2)>>2]*+f[a+240+(p*160|0)+(B+1<<2)>>2]+ +f[a+160+((k|2)<<2)>>2]*+f[a+240+(p*160|0)+(B+2<<2)>>2]+ +f[a+160+((k|3)<<2)>>2]*+f[a+240+(p*160|0)+(B+3<<2)>>2]);k=k+4|0}if(w)j=j-+f[x>>2]*+f[a+240+(p*160|0)+(v+i<<2)>>2];B=((i|0)==0?A:i)+-1|0;C=+zT(+(j+ +f[m+(l<<2)>>2]));j=C-j;f[a+240+(p*160|0)+(B<<2)>>2]=j;f[a+240+(p*160|0)+(B+A<<2)>>2]=j;j=C*u;j=j>32767.0?32767.0:j;b[o+(l<<1)>>1]=~~(j>-32768.0?j:-32768.0);l=l+1|0;i=B}p=p+1|0}c[y>>2]=i;return}function $i(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<2;r=f<<2;s=(t>>2)+2|0;j=0;while(1){if((j|0)==16)break;h=a+-6|0;d=e[h>>1]|0;f=a+-4|0;k=e[f>>1]|0;c=a+-2|0;l=e[c>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(t|0)?(i=k-l|0,(((i|0)>-1?i:0-i|0)|0)<(r|0)):0)?(i=o-m|0,(((i|0)>-1?i:0-i|0)|0)<(r|0)):0){if((g|0)>=(s|0)){b[c>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}i=d-l|0;if((((i|0)>-1?i:0-i|0)|0)<(r|0)){v=e[a+-8>>1]|0;g=m+l|0;b[c>>1]=(o+4+d+(g+k<<1)|0)>>>3;b[f>>1]=(l+2+d+k+m|0)>>>2;i=k+4+(d*3|0)|0;c=h;d=3;f=v<<1}else{i=l+2|0;d=2;f=o;g=k<<1}b[c>>1]=(i+g+f|0)>>>d;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;i=m+l+o|0;b[a>>1]=(k+4+q+(i<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(i+4+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function aj(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<6;r=f<<6;s=t>>2|2;j=0;while(1){if((j|0)==8)break;h=a+-6|0;d=e[h>>1]|0;f=a+-4|0;k=e[f>>1]|0;c=a+-2|0;l=e[c>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(t|0)?(i=k-l|0,(((i|0)>-1?i:0-i|0)|0)<(r|0)):0)?(i=o-m|0,(((i|0)>-1?i:0-i|0)|0)<(r|0)):0){if((g|0)>=(s|0)){b[c>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}i=d-l|0;if((((i|0)>-1?i:0-i|0)|0)<(r|0)){v=e[a+-8>>1]|0;g=m+l|0;b[c>>1]=(o+4+d+(g+k<<1)|0)>>>3;b[f>>1]=(l+2+d+k+m|0)>>>2;i=k+4+(d*3|0)|0;c=h;d=3;f=v<<1}else{i=l+2|0;d=2;f=o;g=k<<1}b[c>>1]=(i+g+f|0)>>>d;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;i=m+l+o|0;b[a>>1]=(k+4+q+(i<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(i+4+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function bj(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<4;r=f<<4;s=t>>2|2;j=0;while(1){if((j|0)==8)break;h=a+-6|0;d=e[h>>1]|0;f=a+-4|0;k=e[f>>1]|0;c=a+-2|0;l=e[c>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(t|0)?(i=k-l|0,(((i|0)>-1?i:0-i|0)|0)<(r|0)):0)?(i=o-m|0,(((i|0)>-1?i:0-i|0)|0)<(r|0)):0){if((g|0)>=(s|0)){b[c>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}i=d-l|0;if((((i|0)>-1?i:0-i|0)|0)<(r|0)){v=e[a+-8>>1]|0;g=m+l|0;b[c>>1]=(o+4+d+(g+k<<1)|0)>>>3;b[f>>1]=(l+2+d+k+m|0)>>>2;i=k+4+(d*3|0)|0;c=h;d=3;f=v<<1}else{i=l+2|0;d=2;f=o;g=k<<1}b[c>>1]=(i+g+f|0)>>>d;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;i=m+l+o|0;b[a>>1]=(k+4+q+(i<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(i+4+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function cj(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<1;r=f<<1;s=(t>>2)+2|0;j=0;while(1){if((j|0)==16)break;h=a+-6|0;d=e[h>>1]|0;f=a+-4|0;k=e[f>>1]|0;c=a+-2|0;l=e[c>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(t|0)?(i=k-l|0,(((i|0)>-1?i:0-i|0)|0)<(r|0)):0)?(i=o-m|0,(((i|0)>-1?i:0-i|0)|0)<(r|0)):0){if((g|0)>=(s|0)){b[c>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}i=d-l|0;if((((i|0)>-1?i:0-i|0)|0)<(r|0)){v=e[a+-8>>1]|0;g=m+l|0;b[c>>1]=(o+4+d+(g+k<<1)|0)>>>3;b[f>>1]=(l+2+d+k+m|0)>>>2;i=k+4+(d*3|0)|0;c=h;d=3;f=v<<1}else{i=l+2|0;d=2;f=o;g=k<<1}b[c>>1]=(i+g+f|0)>>>d;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;i=m+l+o|0;b[a>>1]=(k+4+q+(i<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(i+4+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function dj(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<6;r=f<<6;s=t>>2|2;j=0;while(1){if((j|0)==16)break;h=a+-6|0;d=e[h>>1]|0;f=a+-4|0;k=e[f>>1]|0;c=a+-2|0;l=e[c>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(t|0)?(i=k-l|0,(((i|0)>-1?i:0-i|0)|0)<(r|0)):0)?(i=o-m|0,(((i|0)>-1?i:0-i|0)|0)<(r|0)):0){if((g|0)>=(s|0)){b[c>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}i=d-l|0;if((((i|0)>-1?i:0-i|0)|0)<(r|0)){v=e[a+-8>>1]|0;g=m+l|0;b[c>>1]=(o+4+d+(g+k<<1)|0)>>>3;b[f>>1]=(l+2+d+k+m|0)>>>2;i=k+4+(d*3|0)|0;c=h;d=3;f=v<<1}else{i=l+2|0;d=2;f=o;g=k<<1}b[c>>1]=(i+g+f|0)>>>d;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;i=m+l+o|0;b[a>>1]=(k+4+q+(i<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(i+4+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function ej(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<4;r=f<<4;s=t>>2|2;j=0;while(1){if((j|0)==16)break;h=a+-6|0;d=e[h>>1]|0;f=a+-4|0;k=e[f>>1]|0;c=a+-2|0;l=e[c>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(t|0)?(i=k-l|0,(((i|0)>-1?i:0-i|0)|0)<(r|0)):0)?(i=o-m|0,(((i|0)>-1?i:0-i|0)|0)<(r|0)):0){if((g|0)>=(s|0)){b[c>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}i=d-l|0;if((((i|0)>-1?i:0-i|0)|0)<(r|0)){v=e[a+-8>>1]|0;g=m+l|0;b[c>>1]=(o+4+d+(g+k<<1)|0)>>>3;b[f>>1]=(l+2+d+k+m|0)>>>2;i=k+4+(d*3|0)|0;c=h;d=3;f=v<<1}else{i=l+2|0;d=2;f=o;g=k<<1}b[c>>1]=(i+g+f|0)>>>d;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;i=m+l+o|0;b[a>>1]=(k+4+q+(i<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(i+4+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function fj(c,f,g,h,i){c=c|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;l=Mb;Mb=Mb+16|0;k=l;if(!g){g=d[c+-1>>0]|0;h=g}else{h=d[c+-1>>0]|0;g=d[c+~i>>0]|0}t=d[c+(i+-1)>>0]|0;s=t+2|0;r=d[c+((i<<1)+-1)>>0]|0;q=r+2|0;p=d[c+((i*3|0)+-1)>>0]|0;o=d[c+((i<<2)+-1)>>0]|0;n=d[c+((i*5|0)+-1)>>0]|0;m=d[c+((i*6|0)+-1)>>0]|0;j=d[c+((i*7|0)+-1)>>0]|0;a[k>>0]=(s+g+(h<<1)|0)>>>2;a[k+1>>0]=(q+h+(t<<1)|0)>>>2;a[k+2>>0]=(s+(r<<1)+p|0)>>>2;a[k+3>>0]=(q+(p<<1)+o|0)>>>2;a[k+4>>0]=(p+2+(o<<1)+n|0)>>>2;a[k+5>>0]=(o+2+(n<<1)+m|0)>>>2;a[k+6>>0]=(n+2+(m<<1)+j|0)>>>2;a[k+7>>0]=(m+2+(j*3|0)|0)>>>2;j=0;h=c;g=f;while(1){if((j|0)==8)break;t=(e[g>>1]|0)+(d[k+j>>0]|0)|0;a[h>>0]=t;t=t+(e[g+2>>1]|0)|0;a[h+1>>0]=t;t=t+(e[g+4>>1]|0)|0;a[h+2>>0]=t;t=t+(e[g+6>>1]|0)|0;a[h+3>>0]=t;t=t+(e[g+8>>1]|0)|0;a[h+4>>0]=t;t=t+(e[g+10>>1]|0)|0;a[h+5>>0]=t;t=t+(e[g+12>>1]|0)|0;a[h+6>>0]=t;a[h+7>>0]=t+(e[g+14>>1]|0);j=j+1|0;h=h+i|0;g=g+16|0}h=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(h|0));Mb=l;return}function gj(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;g=0;h=0;a=c;while(1){if((g|0)>=(f|0))break;w=(d[b>>0]|0)-(d[a>>0]|0)|0;v=(d[b+1>>0]|0)-(d[a+1>>0]|0)|0;u=(d[b+2>>0]|0)-(d[a+2>>0]|0)|0;t=(d[b+3>>0]|0)-(d[a+3>>0]|0)|0;s=(d[b+4>>0]|0)-(d[a+4>>0]|0)|0;r=(d[b+5>>0]|0)-(d[a+5>>0]|0)|0;q=(d[b+6>>0]|0)-(d[a+6>>0]|0)|0;p=(d[b+7>>0]|0)-(d[a+7>>0]|0)|0;o=(d[b+8>>0]|0)-(d[a+8>>0]|0)|0;n=(d[b+9>>0]|0)-(d[a+9>>0]|0)|0;m=(d[b+10>>0]|0)-(d[a+10>>0]|0)|0;l=(d[b+11>>0]|0)-(d[a+11>>0]|0)|0;k=(d[b+12>>0]|0)-(d[a+12>>0]|0)|0;j=(d[b+13>>0]|0)-(d[a+13>>0]|0)|0;i=(d[b+14>>0]|0)-(d[a+14>>0]|0)|0;c=(d[b+15>>0]|0)-(d[a+15>>0]|0)|0;g=g+1|0;h=((w|0)>-1?w:0-w|0)+h+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((c|0)>-1?c:0-c|0)|0;b=b+e|0;a=a+e|0}return h|0}function hj(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;b=a[c>>0]|0;h=a[e>>0]|0;p=(b&255)-(h&255)|0;j=(d[c+1>>0]|0)-(d[e+1>>0]|0)|0;q=j-p|0;k=(d[c+2>>0]|0)-(d[e+2>>0]|0)|0;j=k-j|0;l=(d[c+3>>0]|0)-(d[e+3>>0]|0)|0;k=l-k|0;m=(d[c+4>>0]|0)-(d[e+4>>0]|0)|0;l=m-l|0;n=(d[c+5>>0]|0)-(d[e+5>>0]|0)|0;m=n-m|0;i=(d[c+6>>0]|0)-(d[e+6>>0]|0)|0;n=i-n|0;i=(d[c+7>>0]|0)-(d[e+7>>0]|0)-i|0;o=1;i=((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((j|0)>-1?j:0-j|0)+((k|0)>-1?k:0-k|0)+((l|0)>-1?l:0-l|0)+((m|0)>-1?m:0-m|0)+((n|0)>-1?n:0-n|0)+((i|0)>-1?i:0-i|0)|0;while(1){k=c+f|0;l=e+f|0;if((o|0)>=(g|0))break;m=a[k>>0]|0;n=a[l>>0]|0;b=(h&255)-(b&255)+((m&255)-(n&255))|0;j=1;b=((b|0)>-1?b:0-b|0)+i|0;h=m;i=n;while(1){if((j|0)==8)break;p=a[k+j>>0]|0;q=a[l+j>>0]|0;s=(d[c+j>>0]|0)-(d[e+j>>0]|0)|0;t=(h&255)-(i&255)|0;r=j-f+-1|0;r=(p&255)-(q&255)-(oM(s,t,t+s-(d[k+r>>0]|0)+(d[l+r>>0]|0)|0)|0)|0;j=j+1|0;b=((r|0)>-1?r:0-r|0)+b|0;h=p;i=q}o=o+1|0;i=b;e=l;c=k;b=m;h=n}return i|0}function ij(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=a+12|0;av(c[e>>2]|0);_M(c[e>>2]|0,b);a=tT(b,c[e>>2]|0)|0;a:do if((a|0)>=0){a=c[e>>2]|0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+28>>2]=c[a+28>>2];a=b+32|0;d=(c[e>>2]|0)+32|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];c[a+20>>2]=c[d+20>>2];c[a+24>>2]=c[d+24>>2];c[a+28>>2]=c[d+28>>2];a=c[e>>2]|0;do if((c[a+64>>2]|0)!=(a|0)){a=c[a+352>>2]<<2;if(!a){av(b);a=-558323010;break a}d=jx(a)|0;c[b+64>>2]=d;if(!d){av(b);a=-12;break a}else{e=c[e>>2]|0;rk(d|0,c[e+64>>2]|0,a|0)|0;a=e;break}}else c[b+64>>2]=b;while(0);c[b+80>>2]=c[a+80>>2];c[b+68>>2]=c[a+68>>2];c[b+72>>2]=c[a+72>>2];f=a+240|0;d=c[f+4>>2]|0;e=b+240|0;c[e>>2]=c[f>>2];c[e+4>>2]=d;c[b+76>>2]=c[a+76>>2];c[b+352>>2]=c[a+352>>2];a=0}while(0);return a|0}function jj(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=(e>>2)+2|0;m=0;while(1){if((m|0)==8)break;k=b+-3|0;i=d[k>>0]|0;j=b+-2|0;n=d[j>>0]|0;g=b+-1|0;o=d[g>>0]|0;p=d[b>>0]|0;q=b+1|0;r=d[q>>0]|0;s=b+2|0;t=d[s>>0]|0;h=o-p|0;h=(h|0)>-1?h:0-h|0;do if(((h|0)<(e|0)?(l=n-o|0,(((l|0)>-1?l:0-l|0)|0)<(f|0)):0)?(l=r-p|0,(((l|0)>-1?l:0-l|0)|0)<(f|0)):0){if((h|0)>=(u|0)){a[g>>0]=(o+2+(n<<1)+r|0)>>>2;a[b>>0]=(p+2+n+(r<<1)|0)>>>2;break}l=i-o|0;if((((l|0)>-1?l:0-l|0)|0)<(f|0)){w=d[b+-4>>0]|0;v=p+o|0;a[g>>0]=(r+4+i+(v+n<<1)|0)>>>3;a[j>>0]=(o+2+i+n+p|0)>>>2;l=n+4+(i*3|0)|0;g=k;h=3;i=w<<1;j=v}else{l=o+2|0;h=2;i=r;j=n<<1}a[g>>0]=(l+j+i|0)>>>h;w=t-p|0;if((((w|0)>-1?w:0-w|0)|0)<(f|0)){w=d[b+3>>0]|0;v=p+o+r|0;a[b>>0]=(n+4+t+(v<<1)|0)>>>3;a[q>>0]=(o+2+p+r+t|0)>>>2;a[s>>0]=(v+4+(t*3|0)+(w<<1)|0)>>>3;break}else{a[b>>0]=(p+2+n+(r<<1)|0)>>>2;break}}while(0);b=b+c|0;m=m+1|0}return}function kj(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;y=a+32|0;z=a+36|0;h=c[z>>2]|0;s=c[a+48>>2]|0;i=0;j=c[y>>2]|0;while(1){if((j|0)<(s|0))break;i=i+1|0;j=j-s|0}t=a+4|0;u=a+12|0;v=a+8|0;w=a+28|0;x=a+24|0;r=a+40|0;q=0;while(1){if((q|0)>=(f|0))break;l=(c[t>>2]|0)+((H(c[u>>2]|0,j)|0)<<1)|0;m=c[v>>2]|0;n=((m|0)>1?m:1)&2147483646;k=0;p=0;a=16384;while(1){o=k|1;if((o|0)>=(m|0))break;B=k+i|0;A=(H(b[l+(k<<1)>>1]|0,b[e+(B<<1)>>1]|0)|0)+a|0;k=k+2|0;p=(H(b[l+(o<<1)>>1]|0,b[e+(B+1<<1)>>1]|0)|0)+p|0;a=A}if((n|0)<(m|0))a=(H(b[l+(n<<1)>>1]|0,b[e+(n+i<<1)>>1]|0)|0)+a|0;a=SO(a|0,((a|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;a=FM(a|0,M()|0,15)|0;M()|0;b[d+(q<<1)>>1]=(a+32768|0)>>>0>65535?a>>31^32767:a;a=(c[w>>2]|0)+h|0;h=c[r>>2]|0;B=(a|0)<(h|0);h=B?0:h;j=(c[x>>2]|0)+j+((B^1)&1)|0;while(1){if((j|0)<(s|0))break;i=i+1|0;j=j-s|0}q=q+1|0;h=a-h|0}if(g|0){c[z>>2]=h;c[y>>2]=j}return i|0}function lj(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=(e>>2)+2|0;m=0;while(1){if((m|0)==16)break;k=b+-3|0;i=d[k>>0]|0;j=b+-2|0;n=d[j>>0]|0;g=b+-1|0;o=d[g>>0]|0;p=d[b>>0]|0;q=b+1|0;r=d[q>>0]|0;s=b+2|0;t=d[s>>0]|0;h=o-p|0;h=(h|0)>-1?h:0-h|0;do if(((h|0)<(e|0)?(l=n-o|0,(((l|0)>-1?l:0-l|0)|0)<(f|0)):0)?(l=r-p|0,(((l|0)>-1?l:0-l|0)|0)<(f|0)):0){if((h|0)>=(u|0)){a[g>>0]=(o+2+(n<<1)+r|0)>>>2;a[b>>0]=(p+2+n+(r<<1)|0)>>>2;break}l=i-o|0;if((((l|0)>-1?l:0-l|0)|0)<(f|0)){w=d[b+-4>>0]|0;v=p+o|0;a[g>>0]=(r+4+i+(v+n<<1)|0)>>>3;a[j>>0]=(o+2+i+n+p|0)>>>2;l=n+4+(i*3|0)|0;g=k;h=3;i=w<<1;j=v}else{l=o+2|0;h=2;i=r;j=n<<1}a[g>>0]=(l+j+i|0)>>>h;w=t-p|0;if((((w|0)>-1?w:0-w|0)|0)<(f|0)){w=d[b+3>>0]|0;v=p+o+r|0;a[b>>0]=(n+4+t+(v<<1)|0)>>>3;a[q>>0]=(o+2+p+r+t|0)>>>2;a[s>>0]=(v+4+(t*3|0)+(w<<1)|0)>>>3;break}else{a[b>>0]=(p+2+n+(r<<1)|0)>>>2;break}}while(0);b=b+c|0;m=m+1|0}return}function mj(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=0-c|0;l=b+7+k|0;i=b+(c<<3)+-1|0;h=i+(0-(c<<1))|0;j=(c*15|0)+-1|0;m=~c;g=2;n=(d[i>>0]|0)-(d[h>>0]|0)|0;o=(d[l+1>>0]|0)-(d[l+-1>>0]|0)|0;while(1){if((g|0)==9)break;p=i+c|0;q=h+k|0;r=(H((d[l+g>>0]|0)-(d[l+(0-g)>>0]|0)|0,g)|0)+o|0;s=(H((d[p>>0]|0)-(d[q>>0]|0)|0,g)|0)+n|0;g=g+1|0;n=s;o=r;h=q;i=p}h=b+j|0;g=b+m|0;do if(!e)if(!f){f=(n*5|0)+32>>6;k=(o*5|0)+32>>6;break}else{f=(n>>2)+n>>4;k=(o>>2)+o>>4;break}else{f=(((o|0)/4|0)*5|0)/16|0;k=(((n|0)/4|0)*5|0)/16|0}while(0);l=k<<1;m=k*3|0;e=k<<2;i=(H(f+k|0,-7)|0)+16+((d[g+16>>0]|0)+(d[h>>0]|0)<<4)|0;j=16;while(1){if(!j)break;g=i;h=-16;while(1){if((h|0)>=0)break;s=g>>5;a[b+(h+16)>>0]=s>>>0>255?(s^-2147483648)>>31:s;s=g+k>>5;a[b+(h+17)>>0]=s>>>0>255?(s^-2147483648)>>31:s;s=g+l>>5;a[b+(h+18)>>0]=s>>>0>255?(s^-2147483648)>>31:s;s=g+m>>5;a[b+(h+19)>>0]=s>>>0>255?(s^-2147483648)>>31:s;g=g+e|0;h=h+4|0}i=i+f|0;j=j+-1|0;b=b+c|0}return}function nj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=Mb;Mb=Mb+16|0;h=l;j=(g|0)==0?1103560:g;g=c[j>>2]|0;a:do if(!e)if(!g)g=0;else k=19;else{i=(b|0)==0?h:b;if(!f)g=-2;else{if(!g){g=a[e>>0]|0;if(g<<24>>24>-1){c[i>>2]=g&255;g=g<<24>>24!=0&1;break}h=(aV()|0)+188|0;g=a[e>>0]|0;if(!(c[c[h>>2]>>2]|0)){c[i>>2]=g<<24>>24&57343;g=1;break}g=(g&255)+-194|0;if(g>>>0>50){k=19;break}g=c[156864+(g<<2)>>2]|0;h=f+-1|0;if(h){e=e+1|0;k=11}}else{h=f;k=11}b:do if((k|0)==11){b=d[e>>0]|0;m=b>>>3;if((m+-16|m+(g>>26))>>>0>7){k=19;break a}g=b+-128|g<<6;b=h+-1|0;if((g|0)<0)do{e=e+1|0;if(!b)break b;h=a[e>>0]|0;if((h&-64)<<24>>24!=-128){k=19;break a}g=(h&255)+-128|g<<6;b=b+-1|0}while((g|0)<0);c[j>>2]=0;c[i>>2]=g;g=f-b|0;break a}while(0);c[j>>2]=g;g=-2}}while(0);if((k|0)==19){c[j>>2]=0;g=pV()|0;c[g>>2]=84;g=-1}Mb=l;return g|0}function oj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=Mb;Mb=Mb+32|0;l=o+24|0;k=o+16|0;j=o;m=a+4|0;e=c[(c[m>>2]|0)+4>>2]|0;h=a+16|0;d=c[h>>2]|0;a:do if(!e)n=13;else{f=c[d+4>>2]|0;b=0;while(1){g=c[e+(b<<2)>>2]|0;if(!g)break;if((f|0)==(g|0)){n=13;break a}else b=b+1|0}b=pL(f)|0;if(!b)b=207953;else b=c[b+8>>2]|0;i=c[(c[h>>2]|0)+4>>2]|0;d=c[c[m>>2]>>2]|0;c[j>>2]=b;c[j+4>>2]=i;c[j+8>>2]=d;Xw(a,16,191697,j);d=0;while(1){b=c[(c[(c[m>>2]|0)+4>>2]|0)+(d<<2)>>2]|0;if(!b)break;b=pL(b)|0;if(!b)b=207953;else b=c[b+8>>2]|0;j=c[(c[(c[m>>2]|0)+4>>2]|0)+(d<<2)>>2]|0;c[k>>2]=b;c[k+4>>2]=j;Xw(a,16,191783,k);d=d+1|0}Xw(a,16,213241,l);b=-22}while(0);do if((n|0)==13){b=sv(c[a+20>>2]|0,d)|0;if((b|0)>=0){l=a+24|0;n=c[l+4>>2]|0;b=a+32|0;c[b>>2]=c[l>>2];c[b+4>>2]=n;b=c[(c[m>>2]|0)+16>>2]|0;if(b|0?(i=Vb[b&31](a)|0,(i|0)<0):0){b=i;break}b=0}}while(0);Mb=o;return b|0}function pj(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=Mb;Mb=Mb+96|0;p=q+16|0;n=q+8|0;o=q;k=q+40|0;j=b+92|0;h=c[j>>2]|0;if(h|0){ya(h|0)|0;c[j>>2]=0}m=b+88|0;h=c[m>>2]|0;if(h|0){uS(h);c[m>>2]=0}if(a[d>>0]|0){l=b+76|0;h=c[l>>2]|0;if(h|0){nd(h);c[l>>2]=0}h=hO(d)|0;c[l>>2]=h;Ba(k|0);h=xa(d|0,k|0)|0;c[j>>2]=h;Ca(h|0)|0;oa(d|0,n|0,o|0)|0;h=b+80|0;j=b+84|0;na(d|0,h|0,j|0)|0;e=+g[n>>3];i=+g[o>>3];do if((e!=300.0&i!=150.0?(c[h>>2]|0)==300:0)?(c[j>>2]|0)==150:0)if(!(a[b+242>>0]|0)){k=~~e;c[h>>2]=k;d=~~i;c[j>>2]=d;sa(c[l>>2]|0,k|0,d|0)|0;break}else{k=~~(e*f);c[h>>2]=k;d=~~(i*f);c[j>>2]=d;sa(c[l>>2]|0,k|0,d|0)|0;break}while(0);f=+g[o>>3];d=c[h>>2]|0;o=c[j>>2]|0;g[p>>3]=+g[n>>3];g[p+8>>3]=f;c[p+16>>2]=d;c[p+20>>2]=o;mN(164643,p)|0;p=kP(c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=p}Mb=q;return 0}function qj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Mb;Mb=Mb+32|0;j=l+16|0;e=l+8|0;d=l;f=c[(c[a+64>>2]|0)+16>>2]|0;h=b+80|0;i=oT(c[h>>2]|0)|0;do if((((c[b>>2]|0)==0?(g=b+4|0,(c[g>>2]|0)==0):0)?(c[b+8>>2]|0)==0:0)?(c[b+12>>2]|0)==0:0){if(!i){d=ZP(c[h>>2]|0)|0;c[e>>2]=d;Xw(a,16,168863,e);d=-22;break}c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+64>>2]=b;d=0;while(1){if(d>>>0>=4)break;e=c[f+(d<<2)>>2]|0;if(!e)break;c[b+32+(d<<2)>>2]=c[f+60+(d<<2)>>2];e=ft(e)|0;c[b+248+(d<<2)>>2]=e;if(!e){k=20;break}c[b+(d<<2)>>2]=c[e+4>>2];d=d+1|0}if((k|0)==20){av(b);d=-12;break}while(1){if(d>>>0>=8)break;c[b+(d<<2)>>2]=0;c[b+32+(d<<2)>>2]=0;d=d+1|0}if(!(0==0?(c[i+8>>2]&66|0)==0:0))Mq(c[g>>2]|0,c[h>>2]|0)|0;if(!(c[a+680>>2]&32768))d=0;else{c[j>>2]=b;Xw(a,48,168916,j);d=0}}else k=5;while(0);if((k|0)==5){Xw(a,16,168813,d);d=-1}Mb=l;return d|0}function rj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=Mb;Mb=Mb+16|0;s=u;f=(c[e+4>>2]|0)==2;if(f)r=7;else r=(c[a+6472>>2]|0)==1?20:12;p=e+92|0;q=f?1:2;k=(f&1)<<1;j=6-k|0;k=5-k|0;h=0;a:while(1){if((h|0)>=(c[p>>2]|0)){e=0;break}o=Hz(d,q)|0;l=b+4+(h<<2)|0;c[l>>2]=o;b:do if(o|0){m=uL(d)|0;n=m+3|0;i=0;while(1){if((i|0)>=(c[l>>2]|0))break b;e=Hz(d,j)|0;c[b+36+(h<<4)+(i<<2)>>2]=e;e=Hz(d,k)|0;o=b+292+(h<<4)+(i<<2)|0;c[o>>2]=e;if((e|0)>(r|0)){t=9;break a}c:do if(e|0){g=uL(d)|0;c[b+164+(h<<4)+(i<<2)>>2]=g;g=uL(d)|0;f=n-g|0;g=43600+((g<<1)+m<<2)|0;e=0;while(1){if((e|0)>=(c[o>>2]|0))break c;v=c[g>>2]|0;v=v+((Hz(d,f)|0)<<2)|0;c[b+2980+(h*320|0)+(i*80|0)+(e<<2)>>2]=c[v>>2];e=e+1|0}}while(0);i=i+1|0}}while(0);h=h+1|0}if((t|0)==9){v=c[a+4>>2]|0;c[s>>2]=e;c[s+4>>2]=r;Xw(v,16,188659,s);c[o>>2]=0;e=-1094995529}Mb=u;return e|0}function sj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+16|0;f=j;e=a+64|0;i=c[(c[e>>2]|0)+20>>2]|0;c[b+8>>2]=a;c[b+4>>2]=a;ze(a,c[b>>2]|0)|0;a:do if(!(c[a+808>>2]&1))e=HI(a,c[b>>2]|0,d)|0;else{h=i+300|0;do if((c[h>>2]|0)!=1){if(!(c[(c[a+12>>2]|0)+64>>2]|0)){if(c[a+812>>2]|0)break;if((c[a+472>>2]|0)==10)break}Xw(a,16,185060,f);e=-1;break a}while(0);if(c[(c[e>>2]|0)+4>>2]|0){e=LH(8)|0;c[b+12>>2]=e;if(!e){e=-12;break}g=c[e+4>>2]|0;c[g>>2]=-1;c[g+4>>2]=-1}jV((c[i>>2]|0)+8|0)|0;g=a+812|0;if((c[g>>2]|0)==0?(c[a+472>>2]|0)!=10:0){f=i+184|0;jV(f)|0;c[i+316>>2]=c[b>>2];c[i+320>>2]=d;c[h>>2]=2;e=i+60|0;jV(e|0)|0;while(1){if((c[h>>2]|0)==1)break;yb(e|0,f|0)|0}e=c[i+296>>2]|0;jV(f)|0}else e=HI(a,c[b>>2]|0,d)|0;if(((c[g>>2]|0)==0?(c[a+472>>2]|0)!=10:0)?(c[(c[a+12>>2]|0)+64>>2]|0)==0:0)Jq(a);if(e|0)QS(b+12|0);jV((c[i>>2]|0)+8|0)|0}while(0);Mb=j;return e|0}function tj(a,b,d,e,h){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;var i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0;y=a+156|0;z=c[y>>2]|0;A=c[a+144>>2]|0;q=c[d+260>>2]|0;r=a+132|0;s=+f[a+152>>2];t=A+-2|0;u=+f[a+148>>2];v=((t|0)>0?t:0)+3&-4;w=(v|0)<(A|0);x=a+160+(v<<2)|0;i=z;p=0;while(1){if((p|0)>=(q|0))break;m=(c[e+(p<<2)>>2]|0)+(c[r>>2]<<2)|0;n=c[d+(p<<2)>>2]|0;o=c[b+(p<<2)>>2]|0;l=0;i=z;while(1){if((l|0)>=(h|0))break;j=+g[n+(l<<3)>>3]*s;k=0;while(1){if((k|0)>=(t|0))break;B=k+i|0;j=j-(+f[a+160+(k<<2)>>2]*+f[a+240+(p*160|0)+(B<<2)>>2]+ +f[a+160+((k|1)<<2)>>2]*+f[a+240+(p*160|0)+(B+1<<2)>>2]+ +f[a+160+((k|2)<<2)>>2]*+f[a+240+(p*160|0)+(B+2<<2)>>2]+ +f[a+160+((k|3)<<2)>>2]*+f[a+240+(p*160|0)+(B+3<<2)>>2]);k=k+4|0}if(w)j=j-+f[x>>2]*+f[a+240+(p*160|0)+(v+i<<2)>>2];B=((i|0)==0?A:i)+-1|0;C=+zT(+(j+ +f[m+(l<<2)>>2]));j=C-j;f[a+240+(p*160|0)+(B<<2)>>2]=j;f[a+240+(p*160|0)+(B+A<<2)>>2]=j;g[o+(l<<3)>>3]=C*u;l=l+1|0;i=B}p=p+1|0}c[y>>2]=i;return}function uj(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0;x=a+156|0;y=c[x>>2]|0;z=c[a+144>>2]|0;p=+f[a+152>>2];q=c[d+260>>2]|0;r=a+132|0;s=z+-2|0;t=+f[a+148>>2];u=((s|0)>0?s:0)+3&-4;v=(u|0)<(z|0);w=a+160+(u<<2)|0;h=y;o=0;while(1){if((o|0)>=(q|0))break;l=(c[e+(o<<2)>>2]|0)+(c[r>>2]<<2)|0;m=c[d+(o<<2)>>2]|0;n=c[b+(o<<2)>>2]|0;k=0;h=y;while(1){if((k|0)>=(g|0))break;i=p*+f[m+(k<<2)>>2];j=0;while(1){if((j|0)>=(s|0))break;A=j+h|0;i=i-(+f[a+160+(j<<2)>>2]*+f[a+240+(o*160|0)+(A<<2)>>2]+ +f[a+160+((j|1)<<2)>>2]*+f[a+240+(o*160|0)+(A+1<<2)>>2]+ +f[a+160+((j|2)<<2)>>2]*+f[a+240+(o*160|0)+(A+2<<2)>>2]+ +f[a+160+((j|3)<<2)>>2]*+f[a+240+(o*160|0)+(A+3<<2)>>2]);j=j+4|0}if(v)i=i-+f[w>>2]*+f[a+240+(o*160|0)+(u+h<<2)>>2];A=((h|0)==0?z:h)+-1|0;B=+zT(+(i+ +f[l+(k<<2)>>2]));i=B-i;f[a+240+(o*160|0)+(A<<2)>>2]=i;f[a+240+(o*160|0)+(A+z<<2)>>2]=i;f[n+(k<<2)>>2]=B*t;k=k+1|0;h=A}o=o+1|0}c[x>>2]=h;return}function vj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=Mb;Mb=Mb+32|0;g=h+16|0;e=h+8|0;d=h;c[a+20>>2]=0;b=ep()|0;f=a+40|0;c[f>>2]=b;do if(b){kb(b|0);b=Za(c[f>>2]|0,165379)|0;d=a+52|0;c[d>>2]=b;UI(165389)|0;if((c[d>>2]|0)==-1){c[e>>2]=165372;mN(165419,e)|0;break}e=Za(c[f>>2]|0,165454)|0;b=a+56|0;c[b>>2]=e;UI(165468)|0;if((c[b>>2]|0)==-1){c[g>>2]=165372;mN(165502,g)|0;break}else{cr(a);g=a+124|0;Xa(1,g|0);Ka(34962,c[g>>2]|0);Ma(34962,64,a+128|0,35044);lb(c[d>>2]|0,2,5126,0,16,0);UI(165541)|0;Wa(c[d>>2]|0);UI(165573)|0;lb(c[b>>2]|0,2,5126,0,16,8);UI(165614)|0;Wa(c[b>>2]|0);UI(165650)|0;g=db(c[f>>2]|0,165690)|0;UI(165695)|0;jb(g|0,0);UI(165716)|0;g=db(c[f>>2]|0,165733)|0;UI(165738)|0;jb(g|0,1);UI(165764)|0;g=db(c[f>>2]|0,165781)|0;UI(165695)|0;jb(g|0,2);UI(165786)|0;Oa(0.0,0.0,0.0,1.0);Na(16384);c[a+24>>2]=1;break}}else{c[d>>2]=165372;mN(165343,d)|0}while(0);Mb=h;return}function wj(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=Mb;Mb=Mb+32|0;p=q+16|0;o=q;n=g^3;m=(f|0)==0;l=0;f=0;h=0;while(1){if(!((h|0)<(e|0)|(f|0)<(e|0))){f=26;break}k=f;while(1){if((k|0)>=(e|0)){f=0;break}j=c[d+(k<<2)>>2]|0;if(j|0?c[j+640>>2]&g|0:0){f=1;break}k=k+1|0}while(1){if((h|0)>=(e|0)){j=0;break}j=c[d+(h<<2)>>2]|0;if(j|0?c[j+640>>2]&n|0:0){j=1;break}h=h+1|0}if(f){if((l|0)>=(b|0)){f=15;break}f=d+(k<<2)|0;if(m)i=c[(c[f>>2]|0)+88>>2]|0;else i=k;f=c[f>>2]|0;c[f+96>>2]=i;pK(a+(l*40|0)|0,f,g,1);f=l+1|0;k=k+1|0}else f=l;if(j){if((f|0)>=(b|0)){f=21;break}i=c[d+(h<<2)>>2]|0;if(m)j=c[i+88>>2]|0;else j=h;c[i+96>>2]=j;pK(a+(f*40|0)|0,i,n,0);f=f+1|0;h=h+1|0}l=f;f=k}if((f|0)==15){c[o>>2]=197930;c[o+4>>2]=197706;c[o+8>>2]=90;Xw(0,0,213444,o);ba()}else if((f|0)==21){c[p>>2]=197930;c[p+4>>2]=197706;c[p+8>>2]=95;Xw(0,0,213444,p);ba()}else if((f|0)==26){Mb=q;return l|0}return 0}function xj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=Mb;Mb=Mb+320|0;g=o+16|0;f=o;m=o+32|0;if((b|0)>=0?(n=a+264|0,d=c[n>>2]|0,k=a+260|0,e=c[k>>2]|0,((1073741823/(d|0)|0|0)/(e|0)|0|0)>=(b|0)):0){l=a+268|0;if((c[l>>2]|0)<(b|0)){j=b<<1;i=(H(d,j)|0)+31&-32;rk(m|0,a|0,280)|0;if(!d){c[f>>2]=209786;c[f+4>>2]=209457;c[f+8>>2]=407;Xw(0,0,213444,f);ba()}if(!e){c[g>>2]=209793;c[g+4>>2]=209457;c[g+8>>2]=408;Xw(0,0,213444,g);ba()}h=iO(i,e)|0;g=a+256|0;c[g>>2]=h;if(!h)b=-12;else{h=a+272|0;f=0;while(1){d=c[k>>2]|0;if((f|0)>=(d|0))break;e=(c[h>>2]|0)==0;if(e)b=c[n>>2]|0;else b=i;b=(c[g>>2]|0)+(H(b,f)|0)|0;c[a+(f<<2)>>2]=b;d=c[l>>2]|0;if(!(e|(d|0)==0))rk(b|0,c[m+(f<<2)>>2]|0,H(c[n>>2]|0,d)|0)|0;f=f+1|0}b=c[l>>2]|0;if(b|0?(c[h>>2]|0)==0:0){k=H(b,d)|0;rk(c[a>>2]|0,c[m>>2]|0,H(k,c[n>>2]|0)|0)|0}hM(m+256|0);c[l>>2]=j;b=1}}else b=0}else b=-22;Mb=o;return b|0}function yj(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=(j+1|1)<<g;k=g+1|0;j=b;g=0;while(1){if((g|0)>=(f|0))break;m=H(d[c>>0]|0,i)|0;m=m+l+(H(d[j>>0]|0,h)|0)>>k;a[j>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H(d[c+1>>0]|0,i)|0;b=j+1|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+2>>0]|0,i)|0;m=j+2|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+3>>0]|0,i)|0;b=j+3|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+4>>0]|0,i)|0;m=j+4|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+5>>0]|0,i)|0;b=j+5|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+6>>0]|0,i)|0;m=j+6|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+7>>0]|0,i)|0;b=j+7|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;c=c+e|0;j=j+e|0;g=g+1|0}return}function zj(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=0;while(1){if((j|0)>=(i|0))break;p=H(j,g)|0;s=b+p|0;t=s;s=s+4|0;m=H(j,h)|0;l=e+m|0;r=l;l=l+4|0;k=H(j,f)|0;q=a+k|0;o=q;n=c[o>>2]|0;o=c[o+4>>2]|0;l=QI(d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24,d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24,d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0;l=QI(n,o,l,M()|0)|0;o=M()|0;c[q>>2]=l;c[q+4>>2]=o;p=b+(p+8)|0;q=p;p=p+4|0;m=e+(m+8)|0;o=m;m=m+4|0;k=a+(k+8)|0;l=k;n=c[l>>2]|0;l=c[l+4>>2]|0;m=QI(d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;m=QI(n,l,m,M()|0)|0;l=M()|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function Aj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=b;c[l+16>>2]=0;c[l+32>>2]=0;c[l+44>>2]=0;c[l+64>>2]=0;c[l+144>>2]=-1;c[l+148>>2]=-1;c[l+140>>2]=0;k=l+240|0;a[k>>0]=1;a[l+244>>0]=0;a[l+245>>0]=0;a[l+248>>0]=1;a[l+249>>0]=1;e=l+256|0;j=l+280|0;c[j>>2]=0;c[j+4>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=l+272|0;c[e>>2]=5e6;c[e+4>>2]=0;e=l+288|0;j=e;if((c[j>>2]|0)==0&(c[j+4>>2]|0)==0){h=pC()|0;i=M()|0;j=e;c[j>>2]=h;c[j+4>>2]=i}d=oQ(d)|0;f=c[l+12>>2]|0;g=hO(164624)|0;h=ms(g,124)|0;if(!h)a[k>>0]=0;else{e=0;while(1){i=c[h+(e<<2)>>2]|0;if(!i)break;if(!($D(d,i)|0))j=($D(f,i)|0)!=0;else j=1;a[k>>0]=j&1;nd(i);if(!(a[k>>0]|0))e=e+1|0;else break}nd(h)}nd(g);e=l+241|0;do if(!(a[e>>0]|0))if(!(a[k>>0]|0)){Kv(165187)|0;e=-2;break}else{dr(c[l+96>>2]|0)|0;a[e>>0]=1;e=b;b=ua(22,30.0,e|0)|0;c[l+112>>2]=b;e=ua(23,1.0e3,e|0)|0;c[l+116>>2]=e;e=0;break}else e=-1;while(0);return e|0}function Bj(a,d,e,f,g,h,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0;o=Mb;Mb=Mb+16|0;n=o+8|0;k=o;m=a+25628|0;l=c[m>>2]|0;c[l+21788>>2]=h;c[l+21792>>2]=i;e=(H(c[a+27e3>>2]|0,i)|0)+h|0;j=l+21796|0;c[j>>2]=e;e=l+27824|0;f=e+120|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));e=(c[l+23404>>2]|0)>>>0>d>>>0?d:0;if(!(c[l+23416+(e*40|0)>>2]|0)){Xw(c[a+4>>2]|0,48,172006,k);e=0}if((c[l+23416+(e*40|0)+24>>2]&3|0)==3){d=(c[a+24384>>2]|0)+(c[j>>2]<<2)|0;n=e*257&65535;b[d>>1]=n;b[d+2>>1]=n;d=H(e,16843009)|0;c[l+28284>>2]=d;c[l+28292>>2]=d;c[l+28300>>2]=d;c[l+28308>>2]=d;g=c[g+4>>2]<<16|c[g>>2]&65535;c[l+28e3>>2]=g;c[l+28004>>2]=g;c[l+28008>>2]=g;c[l+28012>>2]=g;c[l+28032>>2]=g;c[l+28036>>2]=g;c[l+28040>>2]=g;c[l+28044>>2]=g;c[l+28064>>2]=g;c[l+28068>>2]=g;c[l+28072>>2]=g;c[l+28076>>2]=g;c[l+28096>>2]=g;c[l+28100>>2]=g;c[l+28104>>2]=g;c[l+28108>>2]=g;c[l+21828>>2]=0;c[l+21832>>2]=0;WN(a,c[m>>2]|0)}else Xw(c[a+4>>2]|0,48,172052,n);Mb=o;return}function Cj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0;i=Mb;Mb=Mb+144|0;e=i+96|0;g=i+48|0;h=i;j=c+152|0;$l(e,b,j);$l(g,b+8|0,j);$l(h,b+16|0,j);b=0;while(1){if((b|0)==5)break;p=+f[g+(b<<3)>>2];m=+f[c+(b<<3)>>2];r=+f[g+(b<<3)+4>>2];k=+f[c+(b<<3)+4>>2];l=+f[h+(b<<3)>>2];u=b<<1;q=+f[c+(u<<3)>>2];n=+f[h+(b<<3)+4>>2];o=+f[c+(u<<3)+4>>2];t=+f[e+(b<<3)>>2];j=H(b,d)|0;f[a+(j<<3)>>2]=p*m-r*k+t+(l*q-n*o);s=+f[e+(b<<3)+4>>2];f[a+(j<<3)+4>>2]=q*n+l*o+(m*r+p*k+s);j=b+5|0;k=+f[c+(j<<3)>>2];m=+f[c+(j<<3)+4>>2];v=j<<1;o=+f[c+(v<<3)>>2];q=+f[c+(v<<3)+4>>2];j=H(j,d)|0;f[a+(j<<3)>>2]=t+(p*k-r*m)+(l*o-n*q);f[a+(j<<3)+4>>2]=s+(r*k+p*m)+(n*o+l*q);j=b+10|0;q=+f[c+(j<<3)>>2];o=+f[c+(j<<3)+4>>2];u=u+5|0;m=+f[c+(u<<3)>>2];k=+f[c+(u<<3)+4>>2];j=H(j,d)|0;f[a+(j<<3)>>2]=t+(p*q-r*o)+(l*m-n*k);f[a+(j<<3)+4>>2]=s+(r*q+p*o)+(n*m+l*k);b=b+1|0}Mb=i;return}function Dj(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=0-c|0;j=b+3+i|0;g=b+(c<<2)+-1|0;f=g+(0-(c<<1))|0;p=(c*7|0)+-1|0;q=~c;k=(d[g>>0]|0)-(d[f>>0]|0)|0;e=(d[j+1>>0]|0)-(d[j+-1>>0]|0)|0;h=2;while(1){if((h|0)==5)break;o=g+c|0;n=f+i|0;m=(H((d[j+h>>0]|0)-(d[j+(0-h)>>0]|0)|0,h)|0)+e|0;k=(H((d[o>>0]|0)-(d[n>>0]|0)|0,h)|0)+k|0;e=m;f=n;g=o;h=h+1|0}o=(e*17|0)+16>>5;h=(k*17|0)+16>>5;i=o<<1;j=o*3|0;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;g=8;f=(H(h+o|0,-3)|0)+16+((d[b+q+8>>0]|0)+(d[b+p>>0]|0)<<4)|0;e=b;while(1){if(!g)break;b=f>>5;a[e>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+o>>5;a[e+1>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+i>>5;a[e+2>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+j>>5;a[e+3>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+k>>5;a[e+4>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+l>>5;a[e+5>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+m>>5;a[e+6>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+n>>5;a[e+7>>0]=b>>>0>255?(b^-2147483648)>>31:b;g=g+-1|0;f=f+h|0;e=e+c|0}return}function Ej(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=a+32|0;y=a+36|0;h=c[y>>2]|0;r=c[a+48>>2]|0;i=0;j=c[x>>2]|0;while(1){if((j|0)<(r|0))break;i=i+1|0;j=j-r|0}s=a+4|0;t=a+12|0;u=a+8|0;v=a+40|0;w=a+28|0;q=a+24|0;p=0;while(1){if((p|0)>=(f|0))break;m=c[t>>2]|0;n=(c[s>>2]|0)+((H(m,j)|0)<<1)|0;o=c[u>>2]|0;a=0;k=16384;l=16384;while(1){if((a|0)>=(o|0))break;A=b[e+(a+i<<1)>>1]|0;z=(H(b[n+(a<<1)>>1]|0,A)|0)+l|0;A=(H(b[n+(a+m<<1)>>1]|0,A)|0)+k|0;a=a+1|0;k=A;l=z}a=k-l|0;a=XJ(a|0,((a|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;A=M()|0;z=c[v>>2]|0;A=pu(a|0,A|0,z|0,((z|0)<0)<<31>>31|0)|0;M()|0;A=l+A|0;a=A>>15;b[d+(p<<1)>>1]=(a+32768|0)>>>0>65535?A>>31^32767:a;a=(c[w>>2]|0)+h|0;A=(a|0)<(z|0);h=A?0:z;j=(c[q>>2]|0)+j+((A^1)&1)|0;while(1){if((j|0)<(r|0))break;i=i+1|0;j=j-r|0}p=p+1|0;h=a-h|0}if(g|0){c[y>>2]=h;c[x>>2]=j}return i|0}function Fj(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=0;f=0;g=0;h=0;i=0;j=0;while(1){if((e|0)==4)break;k=a+((H(e,b)|0)+-1)|0;k=f+(d[k>>0]|0)+(d[a+(e-b)>>0]|0)|0;l=e+4|0;m=a+((H(l,b)|0)+-1)|0;n=a+((H(e+8|0,b)|0)+-1)|0;o=a+((H(e+12|0,b)|0)+-1)|0;e=e+1|0;f=k;g=g+(d[a+(l-b)>>0]|0)|0;h=h+(d[m>>0]|0)|0;i=i+(d[n>>0]|0)|0;j=j+(d[o>>0]|0)|0}k=H((f+4|0)>>>3,16843009)|0;l=H((g+2|0)>>>2,16843009)|0;m=(h+2|0)>>>2;o=g+4|0;f=(o+h|0)>>>3;g=(i+2|0)>>>2;h=(o+i|0)>>>3;n=(j+2|0)>>>2;o=(o+j|0)>>>3;e=0;while(1){if((e|0)==4)break;j=a+(H(e,b)|0)|0;c[j>>2]=k;c[j+4>>2]=l;e=e+1|0}k=H(m,16843009)|0;i=H(f,16843009)|0;j=H(g,16843009)|0;g=H(h,16843009)|0;h=H(n,16843009)|0;f=H(o,16843009)|0;e=4;while(1){if((e|0)==8)break;o=a+(H(e,b)|0)|0;c[o>>2]=k;c[o+4>>2]=i;e=e+1|0}e=8;while(1){if((e|0)==12)break;o=a+(H(e,b)|0)|0;c[o>>2]=j;c[o+4>>2]=g;e=e+1|0}e=12;while(1){if((e|0)==16)break;o=a+(H(e,b)|0)|0;c[o>>2]=h;c[o+4>>2]=f;e=e+1|0}return}function Gj(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;l=a[b+96+(h*87968|0)+87940>>0]|0;l=(l&255)>16?((l&255)<<1)+-32|0:0;Wp(d|0,0,19456)|0;j=c[b+72>>2]|0;h=0;while(1){if((h|0)==(j|0))break;i=0;while(1){if((i|0)>=(l|0))break;k=i+2|0;c[d+(i<<8)+(h<<2)>>2]=c[g+(h*320|0)+(k<<3)>>2];c[d+9728+(i<<8)+(h<<2)>>2]=c[g+(h*320|0)+(k<<3)+4>>2];i=i+1|0}h=h+1|0}k=(c[b+80>>2]|0)+j|0;h=j;while(1){if(h>>>0>=k>>>0)break;i=0;while(1){if((i|0)>=(l|0))break;j=i+32|0;c[d+(i<<8)+(h<<2)>>2]=c[e+(j<<9)+(h<<3)>>2];c[d+9728+(i<<8)+(h<<2)>>2]=c[e+(j<<9)+(h<<3)+4>>2];i=i+1|0}h=h+1|0}h=c[b+76>>2]|0;i=0;while(1){if((i|0)==(h|0))break;j=l;while(1){if((j|0)>=38)break;e=j+2|0;c[d+(j<<8)+(i<<2)>>2]=c[g+(i*320|0)+(e<<3)>>2];c[d+9728+(j<<8)+(i<<2)>>2]=c[g+(i*320|0)+(e<<3)+4>>2];j=j+1|0}i=i+1|0}j=(c[b+84>>2]|0)+h|0;while(1){if(h>>>0>=j>>>0)break;i=l;while(1){if((i|0)>=32)break;c[d+(i<<8)+(h<<2)>>2]=c[f+(i<<9)+(h<<3)>>2];c[d+9728+(i<<8)+(h<<2)>>2]=c[f+(i<<9)+(h<<3)+4>>2];i=i+1|0}h=h+1|0}return 0}function Hj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if(a|0){if(aU(a)|0){f=a+64|0;b=c[f>>2]|0;e=c[b+16>>2]|0;if(c[b+20>>2]|0)RO(a);b=c[a+12>>2]|0;if(b|0?(d=c[b+92>>2]|0,d|0):0)Vb[d&31](a)|0;b=c[f>>2]|0;c[b+48>>2]=0;hM(b+44|0);QP((c[f>>2]|0)+12|0);QP((c[f>>2]|0)+100|0);QP((c[f>>2]|0)+76|0);NP((c[f>>2]|0)+68|0);NP((c[f>>2]|0)+40|0);NP((c[f>>2]|0)+24|0);b=0;while(1){if((b|0)==4)break;QL(e+(b<<2)|0);b=b+1|0}hM((c[f>>2]|0)+16|0);b=c[a+704>>2]|0;if(b|0?(g=c[b+52>>2]|0,g|0):0)Vb[g&31](a)|0;hM((c[f>>2]|0)+60|0);jI(a);hM(f)}d=a+972|0;e=a+968|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;hM((c[e>>2]|0)+(b*12|0)|0);b=b+1|0}hM(e);c[d>>2]=0;QS(a+976|0);QS(a+1e3|0);d=a+60|0;e=c[d>>2]|0;b=a+12|0;if((e|0?(h=c[b>>2]|0,h|0):0)?c[h+44>>2]|0:0)kE(e);kE(a);hM(d);if(BM(c[b>>2]|0)|0){hM(a+100|0);QP(a+796|0)}c[b>>2]=0;c[a+808>>2]=0}return 0}function Ij(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;o=Mb;Mb=Mb+16|0;l=o+10|0;m=o+5|0;k=o;n=b+(e<<4)|0;if((a[d+(e*3|0)>>0]|0)==1){k=a[d+(e*3|0)+1>>0]|0;d=n;c[d>>2]=h|f;c[d+4>>2]=i|g;a[b+(e<<4)+8>>0]=1;a[b+(e<<4)+9>>0]=k;a[b+(e<<4)+10>>0]=j;k=n+11|0;a[k>>0]=a[l>>0]|0;a[k+1>>0]=a[l+1>>0]|0;a[k+2>>0]=a[l+2>>0]|0;a[k+3>>0]=a[l+3>>0]|0;a[k+4>>0]=a[l+4>>0]|0;k=1}else{p=a[d+(e*3|0)+1>>0]|0;l=j&255;j=n;c[j>>2]=f;c[j+4>>2]=g;a[b+(e<<4)+8>>0]=0;a[b+(e<<4)+9>>0]=p;a[b+(e<<4)+10>>0]=l;g=n+11|0;a[g>>0]=a[m>>0]|0;a[g+1>>0]=a[m+1>>0]|0;a[g+2>>0]=a[m+2>>0]|0;a[g+3>>0]=a[m+3>>0]|0;a[g+4>>0]=a[m+4>>0]|0;g=e+1|0;j=b+(g<<4)|0;f=a[d+(g*3|0)+1>>0]|0;e=j;c[e>>2]=h;c[e+4>>2]=i;a[b+(g<<4)+8>>0]=0;a[b+(g<<4)+9>>0]=f;a[b+(g<<4)+10>>0]=l;j=j+11|0;a[j>>0]=a[k>>0]|0;a[j+1>>0]=a[k+1>>0]|0;a[j+2>>0]=a[k+2>>0]|0;a[j+3>>0]=a[k+3>>0]|0;a[j+4>>0]=a[k+4>>0]|0;k=2}Mb=o;return k|0}function Jj(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=c[d+672>>2]|0;t=v+32|0;u=d+588|0;m=h<<1;n=i<<1;o=d+568|0;k=0;while(1){if((k|0)==4)break;q=k&1;r=k>>>1;p=(c[u>>2]|0)+((H(c[o>>2]|0,r+n|0)|0)+(q|m)<<1)|0;p=b[p>>1]|0;p=p<<16>>16<2040?p:2040;p=((p<<16>>16>0?p:0)&65535)>>>3&255;q=q<<3;r=r<<3;l=0;while(1){if((l|0)==8)break;s=l+r|0;j=0;while(1){if((j|0)==8)break;w=e+(j+q+(H(c[t>>2]|0,s)|0))|0;a[w>>0]=p;j=j+1|0}l=l+1|0}k=k+1|0}k=(H(c[d+564>>2]|0,i)|0)+h|0;j=b[(c[d+592>>2]|0)+(k<<1)>>1]|0;k=b[(c[d+596>>2]|0)+(k<<1)>>1]|0;j=j<<16>>16<2040?j:2040;k=k<<16>>16<2040?k:2040;a:do if(g|0){e=((j<<16>>16>0?j:0)&65535)>>>3&255;m=v+36|0;d=((k<<16>>16>0?k:0)&65535)>>>3&255;l=v+40|0;k=0;while(1){if((k|0)==8)break a;j=0;while(1){if((j|0)==8)break;w=f+((H(c[m>>2]|0,k)|0)+j)|0;a[w>>0]=e;w=g+((H(c[l>>2]|0,k)|0)+j)|0;a[w>>0]=d;j=j+1|0}k=k+1|0}}while(0);return}function Kj(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==4)break;o=d+(g<<2)|0;n=c[o>>2]|0;k=d+(g+8<<2)|0;m=c[k>>2]|0;j=m+n|0;m=n-m|0;n=d+(g+4<<2)|0;h=c[n>>2]|0;i=d+(g+12<<2)|0;p=c[i>>2]|0;l=(h>>1)-p|0;h=(p>>1)+h|0;c[o>>2]=h+j;c[n>>2]=l+m;c[k>>2]=m-l;c[i>>2]=j-h;g=g+1|0}i=f>>1;f=f&-2;h=i*3|0;g=0;while(1){if((g|0)==4)break;p=g<<2;o=c[d+(p<<2)>>2]|0;l=c[d+((p|2)<<2)>>2]|0;n=l+o|0;l=o-l|0;o=c[d+((p|1)<<2)>>2]|0;p=c[d+((p|3)<<2)>>2]|0;m=(o>>1)-p|0;o=(p>>1)+o|0;p=a+(g<<1)|0;k=(o+n>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<16384?k:(k^-2147483648)>>31&16383;p=a+(g+i<<1)|0;k=(m+l>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<16384?k:(k^-2147483648)>>31&16383;p=a+(g+f<<1)|0;m=(l-m>>6)+(e[p>>1]|0)|0;b[p>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;p=a+(g+h<<1)|0;o=(n-o>>6)+(e[p>>1]|0)|0;b[p>>1]=o>>>0<16384?o:(o^-2147483648)>>31&16383;g=g+1|0}g=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));return}function Lj(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=c+e|0;p=b+3|0;h=d[p>>0]|0;i=c+h|0;a:do if((i+1|0)>>>0<o>>>0){n=f+g|0;e=f;m=c;c=f;k=0;j=i;while(1){if(!h){e=0;break a}l=0;i=0;do{l=l<<8|(d[m+i>>0]|0);i=i+1|0}while((i|0)!=(h|0));if((l|0)<1){e=0;break a}if((m+l+h|0)>>>0>o>>>0){e=0;break a}switch(a[j>>0]&31){case 8:case 7:{i=1;break}case 5:{if(!(k<<24>>24)){if((c|0)!=(f|0))NE(f+(Bv(b)|0)|0,f|0,c-e|0)|0;h=jg(b,f,g)|0;if((h|0)<1){e=0;break a}c=c+h|0;i=1}else i=k;break}default:i=k}if((c+l+4|0)>>>0>n>>>0){e=0;break a}a[c>>0]=0;a[c+1>>0]=0;a[c+2>>0]=0;a[c+3>>0]=1;rk(c+4|0,m+(d[p>>0]|0)|0,l|0)|0;c=c+(l+4)|0;h=d[p>>0]|0;m=m+(l+h)|0;j=m+h|0;if((j+1|0)>>>0>=o>>>0)break;else k=i}q=19}else{e=f;c=e;q=19}while(0);if((q|0)==19)e=c-e|0;return e|0}function Mj(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==4)break;o=d+(g<<2)|0;n=c[o>>2]|0;k=d+(g+8<<2)|0;m=c[k>>2]|0;j=m+n|0;m=n-m|0;n=d+(g+4<<2)|0;h=c[n>>2]|0;i=d+(g+12<<2)|0;p=c[i>>2]|0;l=(h>>1)-p|0;h=(p>>1)+h|0;c[o>>2]=h+j;c[n>>2]=l+m;c[k>>2]=m-l;c[i>>2]=j-h;g=g+1|0}i=f>>1;f=f&-2;h=i*3|0;g=0;while(1){if((g|0)==4)break;p=g<<2;o=c[d+(p<<2)>>2]|0;l=c[d+((p|2)<<2)>>2]|0;n=l+o|0;l=o-l|0;o=c[d+((p|1)<<2)>>2]|0;p=c[d+((p|3)<<2)>>2]|0;m=(o>>1)-p|0;o=(p>>1)+o|0;p=a+(g<<1)|0;k=(o+n>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<4096?k:(k^-2147483648)>>31&4095;p=a+(g+i<<1)|0;k=(m+l>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<4096?k:(k^-2147483648)>>31&4095;p=a+(g+f<<1)|0;m=(l-m>>6)+(e[p>>1]|0)|0;b[p>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;p=a+(g+h<<1)|0;o=(n-o>>6)+(e[p>>1]|0)|0;b[p>>1]=o>>>0<4096?o:(o^-2147483648)>>31&4095;g=g+1|0}g=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));return}function Nj(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==4)break;o=d+(g<<2)|0;n=c[o>>2]|0;k=d+(g+8<<2)|0;m=c[k>>2]|0;j=m+n|0;m=n-m|0;n=d+(g+4<<2)|0;h=c[n>>2]|0;i=d+(g+12<<2)|0;p=c[i>>2]|0;l=(h>>1)-p|0;h=(p>>1)+h|0;c[o>>2]=h+j;c[n>>2]=l+m;c[k>>2]=m-l;c[i>>2]=j-h;g=g+1|0}i=f>>1;f=f&-2;h=i*3|0;g=0;while(1){if((g|0)==4)break;p=g<<2;o=c[d+(p<<2)>>2]|0;l=c[d+((p|2)<<2)>>2]|0;n=l+o|0;l=o-l|0;o=c[d+((p|1)<<2)>>2]|0;p=c[d+((p|3)<<2)>>2]|0;m=(o>>1)-p|0;o=(p>>1)+o|0;p=a+(g<<1)|0;k=(o+n>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<1024?k:(k^-2147483648)>>31&1023;p=a+(g+i<<1)|0;k=(m+l>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<1024?k:(k^-2147483648)>>31&1023;p=a+(g+f<<1)|0;m=(l-m>>6)+(e[p>>1]|0)|0;b[p>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;p=a+(g+h<<1)|0;o=(n-o>>6)+(e[p>>1]|0)|0;b[p>>1]=o>>>0<1024?o:(o^-2147483648)>>31&1023;g=g+1|0}g=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));return}function Oj(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==4)break;o=d+(g<<2)|0;n=c[o>>2]|0;k=d+(g+8<<2)|0;m=c[k>>2]|0;j=m+n|0;m=n-m|0;n=d+(g+4<<2)|0;h=c[n>>2]|0;i=d+(g+12<<2)|0;p=c[i>>2]|0;l=(h>>1)-p|0;h=(p>>1)+h|0;c[o>>2]=h+j;c[n>>2]=l+m;c[k>>2]=m-l;c[i>>2]=j-h;g=g+1|0}i=f>>1;f=f&-2;h=i*3|0;g=0;while(1){if((g|0)==4)break;p=g<<2;o=c[d+(p<<2)>>2]|0;l=c[d+((p|2)<<2)>>2]|0;n=l+o|0;l=o-l|0;o=c[d+((p|1)<<2)>>2]|0;p=c[d+((p|3)<<2)>>2]|0;m=(o>>1)-p|0;o=(p>>1)+o|0;p=a+(g<<1)|0;k=(o+n>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<512?k:(k^-2147483648)>>31&511;p=a+(g+i<<1)|0;k=(m+l>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<512?k:(k^-2147483648)>>31&511;p=a+(g+f<<1)|0;m=(l-m>>6)+(e[p>>1]|0)|0;b[p>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;p=a+(g+h<<1)|0;o=(n-o>>6)+(e[p>>1]|0)|0;b[p>>1]=o>>>0<512?o:(o^-2147483648)>>31&511;g=g+1|0}g=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));return}function Pj(a){a=a|0;var b=0,c=0.0,d=0.0,e=0,g=0,h=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0,n=0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0,y=0.0,z=0,A=0.0,B=0.0,C=0,D=0.0;Ir(a);C=a+32|0;i=+f[C>>2];q=a+40|0;k=+f[q>>2];D=i+k;b=a+36|0;r=+f[b>>2];e=a+44|0;h=+f[e>>2];w=r+h;v=a+48|0;c=+f[v>>2];j=a+56|0;o=+f[j>>2];B=c+o;z=a+52|0;p=+f[z>>2];m=a+60|0;d=+f[m>>2];s=p+d;A=+f[a>>2];n=a+4|0;l=+f[n>>2];g=a+16|0;t=+f[g>>2];x=a+20|0;u=+f[x>>2];y=B-D;B=D+B;f[C>>2]=A-B;f[a>>2]=B+A;f[z>>2]=u-y;f[x>>2]=y+u;u=w-s;s=w+s;f[v>>2]=t-u;f[g>>2]=u+t;f[b>>2]=l-s;f[n>>2]=s+l;k=(i-k)*.7071067690849304;h=(r-h)*.7071067690849304;r=k+h;k=h-k;o=(c-o)*.7071067690849304;d=(p-d)*.7071067690849304;p=o-d;d=o+d;n=a+8|0;o=+f[n>>2];b=a+12|0;c=+f[b>>2];g=a+24|0;h=+f[g>>2];a=a+28|0;i=+f[a>>2];l=p-r;p=r+p;f[q>>2]=o-p;f[n>>2]=p+o;f[m>>2]=i-l;f[a>>2]=l+i;i=k-d;d=k+d;f[j>>2]=h-i;f[g>>2]=i+h;f[e>>2]=c-d;f[b>>2]=d+c;return}function Qj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Mb;Mb=Mb+224|0;g=l+192|0;j=l+200|0;h=l;i=l+196|0;k=vp(e,j)|0;do if((k|0)>0){f=b+6736|0;if((c[f>>2]|0)==0?(a[j+16>>0]|0)!=1:0){wM(c[b+4>>2]|0,189499,g);c[f>>2]=1}oJ(b)|0;g=j+15|0;f=a[g>>0]|0;if(!(f<<24>>24)){c[b+6484>>2]=0;if((c[b+5672>>2]|0?(c[b+6464>>2]|0)==0:0)?(c[i>>2]=2,a[h+3>>0]=0,a[h>>0]=0,a[h+5>>0]=1,a[h+2>>0]=1,a[h+1>>0]=0,a[h+4>>0]=1,$g(b,h,2,2,0)|0):0){f=-7;break}}else{f=f&255;c[b+6484>>2]=f;f=Wt(c[b+4>>2]|0,h,i,f)|0;if((f|0)<0)break;f=c[b+6728>>2]|0;f=$g(b,h,c[i>>2]|0,f>>>0>2?f:2,0)|0;if((f|0)<0)break}i=c[j>>2]|0;c[b+6480>>2]=i;c[b+6476>>2]=d[j+14>>0];c[b+6472>>2]=d[j+13>>0];c[b+6516>>2]=0;if(!(((c[b+6464>>2]|0)==4?(c[b+6220>>2]|0)==(d[g>>0]|0):0)?(c[b+6216>>2]|0)==(i|0):0)){c[b+6488>>2]=-1;c[b+6512>>2]=-1}if(!(a[j+12>>0]|0)){gO(e,16);f=k}else f=k}else f=k;while(0);Mb=l;return f|0}function Rj(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(d|0){d=c+19|0;a[b+33>>0]=a[d>>0]|0;a[b+32>>0]=a[d>>0]|0;d=c+18|0;a[b+31>>0]=a[d>>0]|0;a[b+30>>0]=a[d>>0]|0;a[b+29>>0]=a[d>>0]|0;a[b+28>>0]=a[d>>0]|0;d=c+17|0;a[b+27>>0]=a[d>>0]|0;a[b+26>>0]=a[d>>0]|0;d=c+16|0;a[b+25>>0]=a[d>>0]|0;a[b+24>>0]=a[d>>0]|0;d=c+15|0;a[b+23>>0]=a[d>>0]|0;a[b+22>>0]=a[d>>0]|0;d=c+14|0;a[b+21>>0]=a[d>>0]|0;a[b+20>>0]=a[d>>0]|0;a[b+19>>0]=a[c+13>>0]|0;a[b+18>>0]=a[c+12>>0]|0;a[b+17>>0]=a[c+11>>0]|0}a[b+16>>0]=a[c+10>>0]|0;e=c+9|0;a[b+15>>0]=a[e>>0]|0;a[b+14>>0]=a[e>>0]|0;e=c+8|0;a[b+13>>0]=a[e>>0]|0;a[b+12>>0]=a[e>>0]|0;a[b+11>>0]=a[c+7>>0]|0;a[b+10>>0]=a[c+6>>0]|0;e=c+5|0;a[b+9>>0]=a[e>>0]|0;a[b+8>>0]=a[e>>0]|0;e=c+4|0;a[b+7>>0]=a[e>>0]|0;a[b+6>>0]=a[e>>0]|0;e=c+3|0;a[b+5>>0]=a[e>>0]|0;d=c+2|0;a[b+4>>0]=((a[e>>0]|0)+(a[d>>0]|0)|0)/2|0;a[b+3>>0]=a[d>>0]|0;d=c+1|0;a[b+2>>0]=a[d>>0]|0;a[b+1>>0]=((a[d>>0]|0)+(a[c>>0]|0)|0)/2|0;a[b>>0]=a[c>>0]|0;return}function Sj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=Mb;Mb=Mb+16|0;k=p;f=c[b+376>>2]|0;i=a+376|0;a:do if(f){g=c[i>>2]|0;f=f+4|0;do if(g){f=c[f>>2]|0;g=c[g+4>>2]|0;if(!(((f|0)==(g|0)?(c[b+80>>2]|0)==(c[f+40>>2]|0):0)?(c[a+80>>2]|0)==(c[f+36>>2]|0):0)){h=c[(c[f+4>>2]|0)+12>>2]|0;if(!h)break;if((c[h+4>>2]|0)!=(g|0))break}e=c[b+248>>2]|0;if(!e){Xw(f,16,202237,k);e=-22;break a}else{e=c[e+4>>2]|0;av(a);e=Ff(a,c[e>>2]|0)|0;break a}}else f=c[f>>2]|0;while(0);if(!(((c[f+36>>2]|0)==(c[b+80>>2]|0)?(j=c[(c[c[f+4>>2]>>2]|0)+80>>2]|0,(j|0)!=0):0)?(e=Zb[j&7](f,a,b,d)|0,(e|0)!=-38):0))o=15}else o=15;while(0);do if((o|0)==15){e=c[i>>2]|0;if(((e|0?(l=c[e+4>>2]|0,(c[l+36>>2]|0)==(c[a+80>>2]|0)):0)?(m=c[(c[c[l+4>>2]>>2]|0)+76>>2]|0,m|0):0)?(n=Zb[m&7](l,a,b,d)|0,(n|0)!=-38):0){e=n;break}e=-38}while(0);Mb=p;return e|0}function Tj(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=c>>1;i=0-p|0;j=a+14+(i<<1)|0;g=a+(p<<3<<1)+-2|0;f=g+(0-(c&-2)<<1)|0;o=a+((p*30|0)+-2)|0;n=a+((c+-2&-2)-(c>>>1<<2))|0;c=2;h=(e[g>>1]|0)-(e[f>>1]|0)|0;d=(e[j+2>>1]|0)-(e[j+-2>>1]|0)|0;while(1){if((c|0)==9)break;m=g+(p<<1)|0;l=f+(i<<1)|0;k=(H((e[j+(c<<1)>>1]|0)-(e[j+(0-c<<1)>>1]|0)|0,c)|0)+d|0;q=(H((e[m>>1]|0)-(e[l>>1]|0)|0,c)|0)+h|0;c=c+1|0;h=q;d=k;f=l;g=m}m=(d*5|0)+32>>6;i=(h*5|0)+32>>6;j=m<<1;k=m*3|0;l=m<<2;g=(H(i+m|0,-7)|0)+16+((e[n+32>>1]|0)+(e[o>>1]|0)<<4)|0;h=16;f=a;while(1){if(!h)break;c=g;d=-16;while(1){if((d|0)>=0)break;q=c>>5;b[f+(d+16<<1)>>1]=q>>>0<16384?q:(q^-2147483648)>>31&16383;q=c+m>>5;b[f+(d+17<<1)>>1]=q>>>0<16384?q:(q^-2147483648)>>31&16383;q=c+j>>5;b[f+(d+18<<1)>>1]=q>>>0<16384?q:(q^-2147483648)>>31&16383;q=c+k>>5;b[f+(d+19<<1)>>1]=q>>>0<16384?q:(q^-2147483648)>>31&16383;c=c+l|0;d=d+4|0}g=g+i|0;h=h+-1|0;f=f+(p<<1)|0}return}function Uj(a){a=a|0;var b=0,d=0,e=0,g=0.0,i=0,j=0,k=0,l=0,m=0;j=a+76|0;b=c[j>>2]|0;c[a+132>>2]=b;c[a+128>>2]=b;b=a+72|0;e=c[b>>2]|0;c[a+124>>2]=e;c[a+120>>2]=e;c[a+116>>2]=e;c[a+112>>2]=e;e=a+68|0;k=c[e>>2]|0;c[a+108>>2]=k;c[a+104>>2]=k;k=a+64|0;m=c[k>>2]|0;c[a+100>>2]=m;c[a+96>>2]=m;m=a+60|0;d=c[m>>2]|0;c[a+92>>2]=d;c[a+88>>2]=d;d=a+56|0;l=c[d>>2]|0;c[a+84>>2]=l;c[a+80>>2]=l;l=a+52|0;c[j>>2]=c[l>>2];j=a+48|0;c[b>>2]=c[j>>2];b=a+44|0;c[e>>2]=c[b>>2];e=a+40|0;c[k>>2]=c[e>>2];k=a+36|0;i=c[k>>2]|0;c[m>>2]=i;c[d>>2]=i;d=a+32|0;i=c[d>>2]|0;c[l>>2]=i;c[j>>2]=i;j=a+28|0;c[b>>2]=c[j>>2];b=a+24|0;c[e>>2]=c[b>>2];e=a+20|0;i=c[e>>2]|0;c[k>>2]=i;c[d>>2]=i;d=a+16|0;i=c[d>>2]|0;c[j>>2]=i;c[b>>2]=i;b=a+12|0;i=c[b>>2]|0;c[e>>2]=i;e=a+8|0;g=+f[e>>2];f[d>>2]=(g+(c[h>>2]=i,+f[h>>2]))*.5;f[b>>2]=g;b=a+4|0;d=c[b>>2]|0;c[e>>2]=d;f[b>>2]=(+f[a>>2]+(c[h>>2]=d,+f[h>>2]))*.5;return}function Vj(a,b,d,g){a=a|0;b=b|0;d=d|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0,D=0;x=Mb;Mb=Mb+128|0;q=x;r=c[a+8>>2]|0;v=a+24|0;w=c[v>>2]|0;s=1<<w;j=d+((H((c[a+4>>2]|0)+-1|0,g)|0)<<2)|0;k=a+16|0;l=0-g|0;t=a+96|0;m=a+640|0;u=a+92|0;n=a+32|0;o=a+128|0;h=0;while(1){if((h|0)>=(s|0))break;p=h*15|0;i=0;while(1){if((i|0)==15)break;C=c[(c[k>>2]|0)+(i+p<<2)>>2]|0;D=j+((H(C,l)|0)<<2)|0;B=+f[D>>2];D=d+((H(C,g)|0)<<2)|0;z=+f[D>>2];D=c[t>>2]|0;C=C>>1;y=D+(C<<3)|0;A=+f[D+(C<<3)+4>>2];f[q+(i<<3)>>2]=B*+f[y>>2]-z*A;f[q+(i<<3)+4>>2]=B*A+z*+f[y>>2];i=i+1|0}hc[c[m>>2]&255]((c[u>>2]|0)+((e[(c[n>>2]|0)+(h<<1)>>1]|0)<<3)|0,q,o,s);h=h+1|0}i=r>>1;j=a+60|0;h=0;while(1){if((h|0)==15)break;ec[c[j>>2]&255](v,(c[u>>2]|0)+(h<<w<<3)|0);h=h+1|0}jc[c[a+644>>2]&127](b,c[u>>2]|0,c[t>>2]|0,c[a+20>>2]|0,i);Mb=x;return}function Wj(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;j=c+2|0;m=c+-2|0;i=c+4|0;a=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+6|0;a=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[k>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<16384?a:(a^-2147483648)>>31&16383)|0)>>>1;a=d+2|0;n=H((e[k>>1]|0)+(e[c>>1]|0)|0,-5)|0;l=c+8|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:(n^-2147483648)>>31&16383)|0)>>>1;a=d+4|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+10|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:(n^-2147483648)>>31&16383)|0)>>>1;a=d+6|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+12>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<16384?i:(i^-2147483648)>>31&16383)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function Xj(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=c>>1;i=0-p|0;j=a+14+(i<<1)|0;g=a+(p<<3<<1)+-2|0;f=g+(0-(c&-2)<<1)|0;o=a+((p*30|0)+-2)|0;n=a+((c+-2&-2)-(c>>>1<<2))|0;c=2;h=(e[g>>1]|0)-(e[f>>1]|0)|0;d=(e[j+2>>1]|0)-(e[j+-2>>1]|0)|0;while(1){if((c|0)==9)break;m=g+(p<<1)|0;l=f+(i<<1)|0;k=(H((e[j+(c<<1)>>1]|0)-(e[j+(0-c<<1)>>1]|0)|0,c)|0)+d|0;q=(H((e[m>>1]|0)-(e[l>>1]|0)|0,c)|0)+h|0;c=c+1|0;h=q;d=k;f=l;g=m}m=(d*5|0)+32>>6;i=(h*5|0)+32>>6;j=m<<1;k=m*3|0;l=m<<2;g=(H(i+m|0,-7)|0)+16+((e[n+32>>1]|0)+(e[o>>1]|0)<<4)|0;h=16;f=a;while(1){if(!h)break;c=g;d=-16;while(1){if((d|0)>=0)break;q=c>>5;b[f+(d+16<<1)>>1]=q>>>0<4096?q:(q^-2147483648)>>31&4095;q=c+m>>5;b[f+(d+17<<1)>>1]=q>>>0<4096?q:(q^-2147483648)>>31&4095;q=c+j>>5;b[f+(d+18<<1)>>1]=q>>>0<4096?q:(q^-2147483648)>>31&4095;q=c+k>>5;b[f+(d+19<<1)>>1]=q>>>0<4096?q:(q^-2147483648)>>31&4095;c=c+l|0;d=d+4|0}g=g+i|0;h=h+-1|0;f=f+(p<<1)|0}return}function Yj(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=c>>1;i=0-p|0;j=a+14+(i<<1)|0;g=a+(p<<3<<1)+-2|0;f=g+(0-(c&-2)<<1)|0;o=a+((p*30|0)+-2)|0;n=a+((c+-2&-2)-(c>>>1<<2))|0;c=2;h=(e[g>>1]|0)-(e[f>>1]|0)|0;d=(e[j+2>>1]|0)-(e[j+-2>>1]|0)|0;while(1){if((c|0)==9)break;m=g+(p<<1)|0;l=f+(i<<1)|0;k=(H((e[j+(c<<1)>>1]|0)-(e[j+(0-c<<1)>>1]|0)|0,c)|0)+d|0;q=(H((e[m>>1]|0)-(e[l>>1]|0)|0,c)|0)+h|0;c=c+1|0;h=q;d=k;f=l;g=m}m=(d*5|0)+32>>6;i=(h*5|0)+32>>6;j=m<<1;k=m*3|0;l=m<<2;g=(H(i+m|0,-7)|0)+16+((e[n+32>>1]|0)+(e[o>>1]|0)<<4)|0;h=16;f=a;while(1){if(!h)break;c=g;d=-16;while(1){if((d|0)>=0)break;q=c>>5;b[f+(d+16<<1)>>1]=q>>>0<1024?q:(q^-2147483648)>>31&1023;q=c+m>>5;b[f+(d+17<<1)>>1]=q>>>0<1024?q:(q^-2147483648)>>31&1023;q=c+j>>5;b[f+(d+18<<1)>>1]=q>>>0<1024?q:(q^-2147483648)>>31&1023;q=c+k>>5;b[f+(d+19<<1)>>1]=q>>>0<1024?q:(q^-2147483648)>>31&1023;c=c+l|0;d=d+4|0}g=g+i|0;h=h+-1|0;f=f+(p<<1)|0}return}function Zj(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=a+8|0;c[j>>2]=0;k=a+64|0;c[k>>2]=0;a:do if((d+-2|0)>>>0<=15){c[a>>2]=d;l=1<<d;if((d|0)<17){i=jx(l<<1)|0;c[j>>2]=i;if(!i){m=18;break}}else{i=jx(l<<2)|0;c[k>>2]=i;if(!i){m=18;break}}i=jx(l<<3)|0;c[a+12>>2]=i;if(i){i=a+4|0;c[i>>2]=e;f=a+56|0;c[f>>2]=0;c[a+32>>2]=192;c[a+36>>2]=193;c[a+40>>2]=694;c[a+44>>2]=695;c[a+48>>2]=696;c[a+52>>2]=696;e=4;while(1){if((e|0)>(d|0))break;QR(e);e=e+1|0}e=c[f>>2]|0;if((e|0)==2){Qp(a);e=0;break}d=(e|0)==1;a=l+-1|0;f=0;while(1){if((f|0)>=(l|0)){e=0;break a}h=d?f>>>1&1|f&2147483644|f<<1&2:f;g=a&0-(vx(f,l,c[i>>2]|0)|0);e=c[j>>2]|0;if(e|0)b[e+(g<<1)>>1]=h;e=c[k>>2]|0;if(e|0)c[e+(g<<2)>>2]=h;f=f+1|0}}else m=18}else m=18;while(0);if((m|0)==18){hM(j);hM(k);hM(a+12|0);e=-1}return e|0}function _j(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;j=c+2|0;m=c+-2|0;i=c+4|0;a=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+6|0;a=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[k>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<4096?a:(a^-2147483648)>>31&4095)|0)>>>1;a=d+2|0;n=H((e[k>>1]|0)+(e[c>>1]|0)|0,-5)|0;l=c+8|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:(n^-2147483648)>>31&4095)|0)>>>1;a=d+4|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+10|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:(n^-2147483648)>>31&4095)|0)>>>1;a=d+6|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+12>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<4096?i:(i^-2147483648)>>31&4095)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function $j(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;j=c+2|0;m=c+-2|0;i=c+4|0;a=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+6|0;a=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[k>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<1024?a:(a^-2147483648)>>31&1023)|0)>>>1;a=d+2|0;n=H((e[k>>1]|0)+(e[c>>1]|0)|0,-5)|0;l=c+8|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:(n^-2147483648)>>31&1023)|0)>>>1;a=d+4|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+10|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:(n^-2147483648)>>31&1023)|0)>>>1;a=d+6|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+12>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<1024?i:(i^-2147483648)>>31&1023)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function ak(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=c>>1;i=0-p|0;j=a+14+(i<<1)|0;g=a+(p<<3<<1)+-2|0;f=g+(0-(c&-2)<<1)|0;o=a+((p*30|0)+-2)|0;n=a+((c+-2&-2)-(c>>>1<<2))|0;c=2;h=(e[g>>1]|0)-(e[f>>1]|0)|0;d=(e[j+2>>1]|0)-(e[j+-2>>1]|0)|0;while(1){if((c|0)==9)break;m=g+(p<<1)|0;l=f+(i<<1)|0;k=(H((e[j+(c<<1)>>1]|0)-(e[j+(0-c<<1)>>1]|0)|0,c)|0)+d|0;q=(H((e[m>>1]|0)-(e[l>>1]|0)|0,c)|0)+h|0;c=c+1|0;h=q;d=k;f=l;g=m}m=(d*5|0)+32>>6;i=(h*5|0)+32>>6;j=m<<1;k=m*3|0;l=m<<2;g=(H(i+m|0,-7)|0)+16+((e[n+32>>1]|0)+(e[o>>1]|0)<<4)|0;h=16;f=a;while(1){if(!h)break;c=g;d=-16;while(1){if((d|0)>=0)break;q=c>>5;b[f+(d+16<<1)>>1]=q>>>0<512?q:(q^-2147483648)>>31&511;q=c+m>>5;b[f+(d+17<<1)>>1]=q>>>0<512?q:(q^-2147483648)>>31&511;q=c+j>>5;b[f+(d+18<<1)>>1]=q>>>0<512?q:(q^-2147483648)>>31&511;q=c+k>>5;b[f+(d+19<<1)>>1]=q>>>0<512?q:(q^-2147483648)>>31&511;c=c+l|0;d=d+4|0}g=g+i|0;h=h+-1|0;f=f+(p<<1)|0}return}function bk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Mb;Mb=Mb+16|0;f=l;j=sU(d)|0;i=b+32|0;k=c[i>>2]|0;c[b+4>>2]=1;c[b+8>>2]=0;h=b+20|0;a[f>>0]=a[h>>0]|0;a[f+1>>0]=a[h+1>>0]|0;a[f+2>>0]=a[h+2>>0]|0;a[f+3>>0]=a[h+3>>0]|0;a[f+4>>0]=a[h+4>>0]|0;a[f+5>>0]=a[h+5>>0]|0;e=uL(d)|0;c[b+28>>2]=e;e=(Hz(d,4)|0)&255;a[h>>0]=e;e=(Hz(d,4)|0)&255;a[b+21>>0]=e;e=(Hz(d,3)|0)&255;a[b+22>>0]=e;gO(d,2);e=(uL(d)|0)&255;g=(uL(d)|0)&255;if(!(e<<24>>24)){a[b+23>>0]=2;a[b+24>>0]=1;e=2}else{e=(Hz(d,2)|0)&255;a[b+23>>0]=e;e=(uL(d)|0)&255;a[b+24>>0]=e;e=(Hz(d,2)|0)&255}a[b+25>>0]=e;if(Ix(f,h,6)|0)c[b+16>>2]=1;if(!(g<<24>>24)){c[i>>2]=2;c[b+36>>2]=2;c[b+40>>2]=1;f=1;e=2}else{f=Hz(d,2)|0;c[i>>2]=f;f=Hz(d,2)|0;c[b+36>>2]=f;f=uL(d)|0;c[b+40>>2]=f;f=uL(d)|0;e=c[i>>2]|0}c[b+44>>2]=f;if((e|0)!=(k|0)?(c[b+16>>2]|0)==0:0)fe(b);k=(sU(d)|0)-j|0;Mb=l;return k|0}function ck(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;j=c+2|0;m=c+-2|0;i=c+4|0;a=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+6|0;a=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[k>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<512?a:(a^-2147483648)>>31&511)|0)>>>1;a=d+2|0;n=H((e[k>>1]|0)+(e[c>>1]|0)|0,-5)|0;l=c+8|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:(n^-2147483648)>>31&511)|0)>>>1;a=d+4|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+10|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:(n^-2147483648)>>31&511)|0)>>>1;a=d+6|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+12>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<512?i:(i^-2147483648)>>31&511)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function dk(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=0;h=0;a=c;while(1){c=a+e|0;if((g|0)>=(f|0))break;o=d[c+1>>0]|0;q=(d[a+1>>0]|0)+2|0;p=(d[b>>0]|0)-((q+(d[a>>0]|0)+(d[c>>0]|0)+o|0)>>>2)|0;r=d[a+2>>0]|0;n=d[c+2>>0]|0;o=(d[b+1>>0]|0)-((q+o+r+n|0)>>>2)|0;q=d[a+3>>0]|0;m=d[c+3>>0]|0;n=(d[b+2>>0]|0)-((r+2+n+q+m|0)>>>2)|0;r=d[a+4>>0]|0;l=d[c+4>>0]|0;m=(d[b+3>>0]|0)-((q+2+m+r+l|0)>>>2)|0;q=d[a+5>>0]|0;k=d[c+5>>0]|0;l=(d[b+4>>0]|0)-((r+2+l+q+k|0)>>>2)|0;r=d[a+6>>0]|0;j=d[c+6>>0]|0;k=(d[b+5>>0]|0)-((q+2+k+r+j|0)>>>2)|0;q=d[a+7>>0]|0;i=d[c+7>>0]|0;j=(d[b+6>>0]|0)-((r+2+j+q+i|0)>>>2)|0;i=(d[b+7>>0]|0)-((q+2+i+(d[a+8>>0]|0)+(d[c+8>>0]|0)|0)>>>2)|0;g=g+1|0;h=((p|0)>-1?p:0-p|0)+h+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)|0;b=b+e|0;a=c}return h|0}function ek(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!b){e=d[a+-1>>0]|0;b=e}else{b=d[a+-1>>0]|0;e=d[a+~f>>0]|0}u=d[a+(f+-1)>>0]|0;t=u+2|0;r=f<<1;s=d[a+(r+-1)>>0]|0;q=s+2|0;p=f*3|0;o=d[a+(p+-1)>>0]|0;n=f<<2;m=d[a+(n+-1)>>0]|0;l=f*5|0;k=d[a+(l+-1)>>0]|0;j=f*6|0;i=d[a+(j+-1)>>0]|0;g=f*7|0;h=d[a+(g+-1)>>0]|0;e=H((t+e+(b<<1)|0)>>>2,16843009)|0;c[a>>2]=e;c[a+4>>2]=e;e=H((q+b+(u<<1)|0)>>>2,16843009)|0;f=a+f|0;c[f>>2]=e;c[f+4>>2]=e;f=H((t+(s<<1)+o|0)>>>2,16843009)|0;e=a+r|0;c[e>>2]=f;c[e+4>>2]=f;e=H((q+(o<<1)+m|0)>>>2,16843009)|0;f=a+p|0;c[f>>2]=e;c[f+4>>2]=e;f=H((o+2+(m<<1)+k|0)>>>2,16843009)|0;e=a+n|0;c[e>>2]=f;c[e+4>>2]=f;e=H((m+2+(k<<1)+i|0)>>>2,16843009)|0;f=a+l|0;c[f>>2]=e;c[f+4>>2]=e;f=H((k+2+(i<<1)+h|0)>>>2,16843009)|0;e=a+j|0;c[e>>2]=f;c[e+4>>2]=f;e=H((i+2+(h*3|0)|0)>>>2,16843009)|0;f=a+g|0;c[f>>2]=e;c[f+4>>2]=e;return}function fk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=Mb;Mb=Mb+16|0;i=l;a:do if((a|0)!=0?(j=c[a>>2]|0,(j|0)!=0):0){b:do if(f&1|0){if(!(f&2)){i=0;while(1){i=jN(a,i)|0;if(!i)break b;h=fk(i,b,d,e,f,g)|0;if(h|0)break a}}c[i>>2]=0;h=0;while(1){h=IO(j,h)|0;c[i>>2]=h;if(!h){i=8;break}h=fk(i,b,d,e,f,0)|0;if(h|0){i=11;break}h=c[i>>2]|0}if((i|0)==8)break;else if((i|0)==11)break a}while(0);j=(d|0)==0;h=0;c:while(1){h=bC(a,h)|0;if(!h){h=0;break a}do if((Ry(c[h>>2]|0,b)|0)==0?(c[h+40>>2]&e|0)==(e|0):0){i=(c[h+12>>2]|0)==128;if(j)if(i)break;else break c;if((i?(k=c[h+44>>2]|0,k|0):0)?(Ry(k,d)|0)==0:0)break c}while(0)}if(g)if(!(f&2)){c[g>>2]=a;break}else{c[g>>2]=0;break}}else h=0;while(0);Mb=l;return h|0}function gk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=Mb;Mb=Mb+16|0;l=m+8|0;d=m;i=c[a+60>>2]|0;b=zk(a,i)|0;do if((b|0)>=0){if(YO(1103340,16)|0){Xw(a,16,171735,d);b=-1313558101;break}f=a+116|0;do if((c[f>>2]|0)==1){b=c[i+4>>2]|0;d=b+112|0;e=c[d>>2]|0;if((e|0)<1073741823){c[d>>2]=e<<1;break}else{e=b+108|0;c[e>>2]=(c[e>>2]|0)/2|0;break}}while(0);c[f>>2]=2;b=c[a+104>>2]|0;if(((b|0)>0?(g=c[a+100>>2]|0,g|0):0)?(h=vi(g,b,i+27036|0,i+27020|0,i+27024|0,c[a+688>>2]|0,a)|0,(h|0)<0):0){ts(a)|0;b=h;break}b=c[i+28200>>2]|0;if((b|0?c[b+660>>2]|0:0)?(j=(c[i+4>>2]|0)+180|0,k=c[b+664>>2]|0,(c[j>>2]|0)<(k|0)):0)c[j>>2]=k;c[(c[a+64>>2]|0)+4>>2]=1;As(i);b=i+29656|0;d=c[b>>2]|0;if((d|0)<0){if(c[a+808>>2]&2|0){c[b>>2]=0;b=0;break}}else if(!d){b=0;break}if(!(c[a+808>>2]&2))b=0;else{Xw(a,24,171760,l);b=0}}while(0);Mb=m;return b|0}function hk(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b[f>>1]=(e[f>>1]|0)+32;h=0;while(1){if((h|0)==4)break;p=f+(h<<1)|0;o=b[p>>1]|0;l=f+(h+8<<1)|0;n=b[l>>1]|0;k=n+o|0;n=o-n|0;o=f+(h+4<<1)|0;i=b[o>>1]|0;j=f+(h+12<<1)|0;q=b[j>>1]|0;m=(i>>1)-q|0;i=(q>>1)+i|0;b[p>>1]=i+k;b[o>>1]=m+n;b[l>>1]=n-m;b[j>>1]=k-i;h=h+1|0}i=g<<1;j=g*3|0;h=0;while(1){if((h|0)==4)break;q=h<<2;p=b[f+(q<<1)>>1]|0;m=b[f+((q|2)<<1)>>1]|0;o=m+p|0;m=p-m|0;p=b[f+((q|1)<<1)>>1]|0;q=b[f+((q|3)<<1)>>1]|0;n=(p>>1)-q|0;p=(q>>1)+p|0;q=c+h|0;l=(p+o>>6)+(d[q>>0]|0)|0;a[q>>0]=l>>>0>255?(l^-2147483648)>>31:l;q=c+(h+g)|0;l=(n+m>>6)+(d[q>>0]|0)|0;a[q>>0]=l>>>0>255?(l^-2147483648)>>31:l;q=c+(h+i)|0;n=(m-n>>6)+(d[q>>0]|0)|0;a[q>>0]=n>>>0>255?(n^-2147483648)>>31:n;q=c+(h+j)|0;p=(o-p>>6)+(d[q>>0]|0)|0;a[q>>0]=p>>>0>255?(p^-2147483648)>>31:p;h=h+1|0}h=f+32|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(h|0));return}function ik(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=a[d+28272+e>>0]|0;k=a[d+28272+f>>0]|0;h=j<<24>>24!=k<<24>>24;if(!(j<<24>>24==-1|h)){h=(b[d+27952+(e<<2)+2>>1]|0)-(b[d+27952+(f<<2)+2>>1]|0)|0;h=(((h|0)>-1?h:0-h|0)|0)>=(g|0)?1:((b[d+27952+(e<<2)>>1]|0)+3-(b[d+27952+(f<<2)>>1]|0)|0)>>>0>6}do if((c[d+23412>>2]|0)==2){if(!h){i=a[d+28312+e>>0]|0;h=a[d+28312+f>>0]|0;l=(b[d+28112+(e<<2)+2>>1]|0)-(b[d+28112+(f<<2)+2>>1]|0)|0;if(!((i<<24>>24!=h<<24>>24?1:((b[d+28112+(e<<2)>>1]|0)+3-(b[d+28112+(f<<2)>>1]|0)|0)>>>0>6)|(((l|0)>-1?l:0-l|0)|0)>=(g|0))){h=0;break}}else{h=a[d+28312+f>>0]|0;i=a[d+28312+e>>0]|0}if(j<<24>>24!=h<<24>>24?1:i<<24>>24!=k<<24>>24)h=1;else{l=(b[d+27952+(e<<2)+2>>1]|0)-(b[d+28112+(f<<2)+2>>1]|0)|0;h=(b[d+28112+(e<<2)+2>>1]|0)-(b[d+27952+(f<<2)+2>>1]|0)|0;h=((b[d+28112+(e<<2)>>1]|0)+3-(b[d+27952+(f<<2)>>1]|0)|0)>>>0>6|((((l|0)>-1?l:0-l|0)|0)>=(g|0)?1:((b[d+27952+(e<<2)>>1]|0)+3-(b[d+28112+(f<<2)>>1]|0)|0)>>>0>6)|(((h|0)>-1?h:0-h|0)|0)>=(g|0)}}while(0);return h&1|0}function jk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=Mb;Mb=Mb+16|0;j=m;k=a+20|0;l=a+12|0;g=c[l>>2]|0;h=c[d>>2]|0;if((g|0)==(h|0)?(c[k>>2]|0)==(b|0):0){if((c[a+16>>2]|0)!=(c[d+4>>2]|0))i=4}else if((g|0)!=(h|0)){f=a+16|0;if(!g){e=f;i=9}else{e=f;f=c[f>>2]|0;g=h;i=7}}else{g=h;i=4}if((i|0)==4){e=a+16|0;f=c[e>>2]|0;if((g|0)==0?1:(f|0)==(c[d+4>>2]|0))i=9;else i=7}if((i|0)==7)if(!f)i=9;else{i=c[d+4>>2]|0;c[j>>2]=g;c[j+4>>2]=i;mN(165880,j)|0;i=9}if((i|0)==9){c[a+192>>2]=0;c[k>>2]=b;c[l>>2]=c[d>>2];c[e>>2]=c[d+4>>2];cr(a);AQ(a)}kb(c[a+40>>2]|0);mb(0,0,c[a>>2]|0,c[a+4>>2]|0);e=c[a+44>>2]|0;if(!((e|0)==(c[d>>2]|0)?(c[a+48>>2]|0)==(c[d+4>>2]|0):0)){DC(a,d);e=c[d>>2]|0}f=c[d+8>>2]|0;if((f|0)>(e|0)?(c[a+192>>2]|0)==0:0){XM(a,+(f-e|0)/+(f|0));AQ(a)}lu(a,d);Va(5,0,4);Mb=m;return 0}function kk(b,d,e,f,g,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Mb;Mb=Mb+64|0;q=s;p=s+12|0;r=s+8|0;l=p;m=l+52|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));c[r>>2]=0;o=jx((hu(d)|0)+1|0)|0;if(!o)l=-12;else{n=o;l=d;a:while(1){do{m=a[l>>0]|0;if(!(m<<24>>24))break a;l=l+1|0}while((LO(m<<24>>24)|0)!=0);a[n>>0]=m;n=n+1|0}a[n>>0]=0;c[p>>2]=163932;c[p+4>>2]=100;m=p+8|0;c[m>>2]=o;c[p+16>>2]=e;c[p+20>>2]=g;c[p+24>>2]=f;c[p+28>>2]=i;c[p+32>>2]=h;c[p+40>>2]=j;c[p+44>>2]=k;l=Yn(r,p)|0;do if((l|0)>=0){m=c[m>>2]|0;if(a[m>>0]|0){c[q>>2]=m;c[q+4>>2]=d;Xw(p,16,208370,q);l=-22;break}m=c[r>>2]|0;if(ok(m)|0){q=YQ(80)|0;c[m+32>>2]=q;if(!q)l=-12;else{c[b>>2]=m;c[r>>2]=0}}else l=-22}while(0);UH(c[r>>2]|0);gV(o)}Mb=s;return l|0}function lk(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=21296+(0-(d[b+~c>>0]|0))|0;v=b+(0-c)|0;f=v+1|0;g=v+2|0;h=v+3|0;i=v+4|0;j=v+5|0;k=v+6|0;l=v+7|0;m=v+8|0;n=v+9|0;o=v+10|0;p=v+11|0;q=v+12|0;r=v+13|0;s=v+14|0;t=v+15|0;e=0;while(1){if((e|0)==16)break;w=u+(d[b+-1>>0]|0)|0;a[b>>0]=a[w+(d[v>>0]|0)>>0]|0;a[b+1>>0]=a[w+(d[f>>0]|0)>>0]|0;a[b+2>>0]=a[w+(d[g>>0]|0)>>0]|0;a[b+3>>0]=a[w+(d[h>>0]|0)>>0]|0;a[b+4>>0]=a[w+(d[i>>0]|0)>>0]|0;a[b+5>>0]=a[w+(d[j>>0]|0)>>0]|0;a[b+6>>0]=a[w+(d[k>>0]|0)>>0]|0;a[b+7>>0]=a[w+(d[l>>0]|0)>>0]|0;a[b+8>>0]=a[w+(d[m>>0]|0)>>0]|0;a[b+9>>0]=a[w+(d[n>>0]|0)>>0]|0;a[b+10>>0]=a[w+(d[o>>0]|0)>>0]|0;a[b+11>>0]=a[w+(d[p>>0]|0)>>0]|0;a[b+12>>0]=a[w+(d[q>>0]|0)>>0]|0;a[b+13>>0]=a[w+(d[r>>0]|0)>>0]|0;a[b+14>>0]=a[w+(d[s>>0]|0)>>0]|0;a[b+15>>0]=a[w+(d[t>>0]|0)>>0]|0;b=b+c|0;e=e+1|0}return}function mk(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=d[b+-1>>0]|0;q=d[b+(e+-1)>>0]|0;j=e<<1;m=d[b+(j+-1)>>0]|0;f=e*3|0;l=d[b+(f+-1)>>0]|0;i=d[b+((e<<2)+-1)>>0]|0;h=d[b+((e*5|0)+-1)>>0]|0;g=d[b+((e*6|0)+-1)>>0]|0;o=d[b+(2-e)>>0]|0;r=d[b+(3-e)>>0]|0;p=d[c>>0]|0;n=d[c+1>>0]|0;k=d[c+2>>0]|0;c=d[c+3>>0]|0;s=(q<<1)+4|0;a[b>>0]=(s+(d[b+(1-e)>>0]|0)+r+(o+t<<1)|0)>>>3;a[b+1>>0]=(s+t+m+o+(r<<1)+p|0)>>>3;o=m<<1;r=(s+o+r+(p<<1)+n|0)>>>3&255;a[b+e>>0]=r;a[b+2>>0]=r;o=o+4|0;p=(o+q+l+p+(n<<1)+k|0)>>>3&255;a[b+(e+1)>>0]=p;a[b+3>>0]=p;n=(o+n+c+(k+l<<1)|0)>>>3&255;a[b+j>>0]=n;a[b+(e+2)>>0]=n;m=(m+4+k+((c+l|0)*3|0)|0)>>>3&255;a[b+(j|1)>>0]=m;a[b+(e+3)>>0]=m;e=l+2|0;l=(e+(i<<1)+h|0)>>>2&255;a[b+(f+1)>>0]=l;a[b+(j+3)>>0]=l;e=(e+i+k+c|0)>>>2&255;a[b+(j+2)>>0]=e;a[b+f>>0]=e;a[b+(f+2)>>0]=(i+1+h|0)>>>1;a[b+(f+3)>>0]=(i+2+(h<<1)+g|0)>>>2;return}function nk(a,b,g,h){a=a|0;b=b|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=Mb;Mb=Mb+16|0;w=c[g+368>>2]|0;a:do if((c[a+6472>>2]|0)==4)Xw(c[a+4>>2]|0,16,187607,x);else{v=g+288|0;u=c[g+304>>2]|0;p=b+13760|0;a=0;q=0;r=g+14048|0;while(1){if((q|0)>=(u|0))break a;s=g+308+q|0;t=d[v>>0]|0;b=0;while(1){if(b>>>0>=t>>>0)break;b:do if(!(c[g+6160+(a<<2)>>2]|0))b=b+1|0;else{n=+f[g+148808+(h*480|0)+(a<<2)>>2];o=w+(b<<1)|0;b=b+1|0;k=w+(b<<1)|0;j=0;while(1){if(j>>>0>=(d[s>>0]|0)>>>0)break b;l=e[k>>1]|0;m=j<<7;i=e[o>>1]|0;while(1){if(i>>>0>=l>>>0)break;z=i+m|0;y=p+(z<<2)|0;f[y>>2]=+f[y>>2]+n*+f[r+(z<<2)>>2];i=i+1|0}j=j+1|0}}while(0);a=a+1|0}z=(d[s>>0]|0)<<7;p=p+(z<<2)|0;q=q+1|0;r=r+(z<<2)|0}}while(0);Mb=x;return}function ok(a){a=a|0;a:do if(!a)a=0;else switch(c[a>>2]|0){case 1:case 0:{a=1;break a}case 33:case 32:case 31:case 30:case 29:case 28:case 27:case 9:case 8:case 6:case 7:case 5:case 3:case 2:{if(!(ok(c[a+20>>2]|0)|0)){a=0;break a}a=(c[a+24>>2]|0)==0;break a}case 38:{if(!(ok(c[a+20>>2]|0)|0)){a=0;break a}a=c[a+24>>2]|0;if(!a){a=1;break a}a=(ok(a)|0)!=0;break a}case 25:case 37:case 36:{if(!(ok(c[a+20>>2]|0)|0)){a=0;break a}if(!(ok(c[a+24>>2]|0)|0)){a=0;break a}a=c[a+28>>2]|0;if(!a){a=1;break a}a=(ok(a)|0)!=0;break a}case 44:case 42:case 41:{if(!(ok(c[a+20>>2]|0)|0)){a=0;break a}if(!(ok(c[a+24>>2]|0)|0)){a=0;break a}a=(ok(c[a+28>>2]|0)|0)!=0;break a}default:{if(!(ok(c[a+20>>2]|0)|0)){a=0;break a}if(!(ok(c[a+24>>2]|0)|0)){a=0;break a}a=(c[a+28>>2]|0)==0;break a}}while(0);return a&1|0}function pk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=Mb;Mb=Mb+16|0;i=n;m=b+6472|0;if((c[m>>2]|0)!=39?(uL(d)|0)==0:0){j=0;i=0;k=0;l=11}else l=3;a:do if((l|0)==3){h=e+288|0;if(!(Ae(b,h,d)|0)){k=a[e+74508>>0]|0;f=e+74496|0;rk(f|0,h|0,292)|0;a[e+74509>>0]=k;if((c[e+74596>>2]|0?(c[m>>2]|0)!=1:0)?(k=(Hz(d,1)|0)&255,g=e+74524|0,a[g>>0]=k,k<<24>>24):0)sy(g,d,a[f>>0]|0);f=Hz(d,2)|0;switch(f|0){case 0:{j=f;i=1;k=1;l=11;break a}case 3:{Xw(c[b+4>>2]|0,16,188239,i);f=-1094995529;break a}default:{Rw(e,d,f);j=f;i=1;k=1;l=11;break a}}}else f=-1094995529}while(0);if((l|0)==11){h=e+288|0;f=mh(b,h,d,i)|0;if(!f){g=e+74496|0;f=mh(b,g,d,i)|0;if(!f){if(k){if(j|0)Kn(b,e);if((c[m>>2]|0)==1){Wf(b,h);Wf(b,g)}}Gk(b,e,j);f=0}}}Mb=n;return f|0}function qk(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=d[b+(1-e)>>0]|0;p=d[b+(3-e)>>0]|0;l=d[c>>0]|0;i=d[c+1>>0]|0;j=d[c+2>>0]|0;g=d[c+3>>0]|0;s=d[b+(e+-1)>>0]|0;h=e<<1;c=e*3|0;n=d[b+(c+-1)>>0]|0;o=d[b+((e<<2)+-1)>>0]|0;m=d[b+((e*5|0)+-1)>>0]|0;k=d[b+((e*6|0)+-1)>>0]|0;f=d[b+((e*7|0)+-1)>>0]|0;r=(d[b+(h+-1)>>0]|0)+(d[b+(2-e)>>0]|0)|0;q=r+4|0;a[b>>0]=(q+(d[b+(0-e)>>0]|0)+(d[b+-1>>0]|0)+(s+t<<1)|0)>>>3;p=n+p|0;n=p+4|0;r=(n+t+s+(r<<1)|0)>>>3&255;a[b+e>>0]=r;a[b+1>>0]=r;p=(q+l+o+(p<<1)|0)>>>3&255;a[b+h>>0]=p;a[b+(e+1)>>0]=p;a[b+2>>0]=p;l=o+l|0;n=(n+i+m+(l<<1)|0)>>>3&255;a[b+c>>0]=n;a[b+(h|1)>>0]=n;a[b+(e+2)>>0]=n;a[b+3>>0]=n;i=m+i|0;l=(l+4+j+k+(i<<1)|0)>>>3&255;a[b+(c+1)>>0]=l;a[b+(h+2)>>0]=l;a[b+(e+3)>>0]=l;e=k+j|0;i=(i+4+g+f+(e<<1)|0)>>>3&255;a[b+(c+2)>>0]=i;a[b+(h+3)>>0]=i;a[b+(c+3)>>0]=(e+2+g+f|0)>>>2;return}function rk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){qa(b|0,d|0,e|0)|0;return b|0}h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function sk(a){a=a|0;var b=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0.0;d=a+4|0;k=+f[d>>2];f[a>>2]=(+f[a>>2]*2.0+k)*.3333333432674408;e=a+8|0;f[d>>2]=(k+ +f[e>>2]*2.0)*.3333333432674408;d=a+12|0;i=a+16|0;k=+f[i>>2];f[e>>2]=(+f[d>>2]*2.0+k)*.3333333432674408;e=a+20|0;f[d>>2]=(k+ +f[e>>2]*2.0)*.3333333432674408;d=a+24|0;b=a+28|0;f[i>>2]=(+f[d>>2]+ +f[b>>2])*.5;i=a+32|0;g=a+36|0;f[e>>2]=(+f[i>>2]+ +f[g>>2])*.5;e=a+40|0;c[d>>2]=c[e>>2];d=a+44|0;c[b>>2]=c[d>>2];b=a+48|0;j=a+52|0;f[i>>2]=(+f[b>>2]+ +f[j>>2])*.5;i=a+56|0;h=a+60|0;f[g>>2]=(+f[i>>2]+ +f[h>>2])*.5;g=a+64|0;c[e>>2]=c[g>>2];e=a+68|0;c[d>>2]=c[e>>2];d=a+72|0;c[b>>2]=c[d>>2];b=a+76|0;c[j>>2]=c[b>>2];f[i>>2]=(+f[a+80>>2]+ +f[a+84>>2])*.5;f[h>>2]=(+f[a+88>>2]+ +f[a+92>>2])*.5;f[g>>2]=(+f[a+96>>2]+ +f[a+100>>2])*.5;f[e>>2]=(+f[a+104>>2]+ +f[a+108>>2])*.5;f[d>>2]=(+f[a+112>>2]+ +f[a+116>>2]+ +f[a+120>>2]+ +f[a+124>>2])*.25;f[b>>2]=(+f[a+128>>2]+ +f[a+132>>2])*.5;return}function tk(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=0;while(1){if((g|0)==4)break;j=c+1|0;m=c+-1|0;i=c+2|0;h=H((d[i>>0]|0)+(d[m>>0]|0)|0,-5)|0;k=c+3|0;h=(((d[j>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+h+(d[k>>0]|0)>>5;a[b>>0]=((d[b>>0]|0)+1+((h>>>0>255?(h^-2147483648)>>31:h)&255)|0)>>>1;h=b+1|0;n=H((d[k>>0]|0)+(d[c>>0]|0)|0,-5)|0;l=c+4|0;n=(((d[i>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[m>>0]|0)+n+(d[l>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+2|0;n=H((d[l>>0]|0)+(d[j>>0]|0)|0,-5)|0;m=c+5|0;n=(((d[k>>0]|0)+(d[i>>0]|0)|0)*20|0)+16+(d[c>>0]|0)+n+(d[m>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+3|0;i=H((d[m>>0]|0)+(d[i>>0]|0)|0,-5)|0;i=(((d[l>>0]|0)+(d[k>>0]|0)|0)*20|0)+16+(d[j>>0]|0)+i+(d[c+6>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((i>>>0>255?(i^-2147483648)>>31:i)&255)|0)>>>1;c=c+f|0;b=b+e|0;g=g+1|0}return}function uk(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=Mb;Mb=Mb+320|0;n=v;o=c[a>>2]|0;p=a+4|0;q=c[p>>2]|0;r=a+8|0;s=c[r>>2]|0;t=a+12|0;u=c[t>>2]|0;l=a+16|0;m=c[l>>2]|0;f=m;g=u;h=s;i=q;j=o;k=0;while(1){if((k|0)==80)break;if(k>>>0<16){e=b+(k<<2)|0;e=kS(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24|0)|0}else{e=c[n+(k+-8<<2)>>2]^c[n+(k+-3<<2)>>2]^c[n+(k+-14<<2)>>2]^c[n+(k+-16<<2)>>2];e=e<<1|e>>>31}c[n+(k<<2)>>2]=e;f=f+(j<<5|j>>>27)+e|0;do if(k>>>0<40){e=g^h;if(k>>>0<20){e=(e&i^g)+1518500249|0;break}else{e=(e^i)+1859775393|0;break}}else if(k>>>0<60){e=((h|i)&g|h&i)+-1894007588|0;break}else{e=(g^h^i)+-899497514|0;break}while(0);y=j;x=h;w=g;h=i<<30|i>>>2;j=f+e|0;k=k+1|0;i=y;g=x;f=w}c[a>>2]=j+o;c[p>>2]=i+q;c[r>>2]=h+s;c[t>>2]=g+u;c[l>>2]=f+m;Mb=v;return}function vk(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=Mb;Mb=Mb+16|0;m=n;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;j=oT(b)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;a:do if(((j|0)!=0?(i=c[j+8>>2]|0,(i&8|0)==0&0==0):0)?(c[a>>2]=f,h=c[g>>2]|0,(h|0)<=(2147482623/(e|0)|0|0)):0){h=H(h,e)|0;if(!((i&66|0)==0&0==0)){c[a+4>>2]=f+h;b=h+1024|0;break}b=0;while(1){if((b|0)==4)break;c[m+(c[j+16+(b<<5)>>2]<<2)>>2]=1;b=b+1|0}l=j+6|0;k=e+-1|0;b=h;e=1;j=f;while(1){if(e>>>0>=4)break a;if(!(c[m+(e<<2)>>2]|0))break a;if((e+-1|0)>>>0<2)i=d[l>>0]|0;else i=0;j=j+h|0;c[a+(e<<2)>>2]=j;f=k+(1<<i)>>i;o=c[g+(e<<2)>>2]|0;h=H(o,f)|0;i=(b|0)>(2147483647-h|0);if((o|0)>(2147483647/(f|0)|0|0)){b=-22;break a}if(i){b=-22;break}else{b=(i?0:h)+b|0;e=e+1|0}}}else b=-22;while(0);Mb=n;return b|0}function wk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0;y=a+32|0;z=a+36|0;h=c[z>>2]|0;s=c[a+48>>2]|0;i=0;k=c[y>>2]|0;while(1){if((k|0)<(s|0))break;i=i+1|0;k=k-s|0}t=a+4|0;u=a+12|0;v=a+8|0;w=a+28|0;x=a+24|0;r=a+40|0;q=0;while(1){if((q|0)>=(e|0))break;l=(c[t>>2]|0)+((H(c[u>>2]|0,k)|0)<<3)|0;m=c[v>>2]|0;n=((m|0)>1?m:1)&2147483646;a=0;p=0.0;j=0.0;while(1){o=a|1;if((o|0)>=(m|0))break;B=a+i|0;A=j+ +g[d+(B<<3)>>3]*+g[l+(a<<3)>>3];a=a+2|0;p=p+ +g[d+(B+1<<3)>>3]*+g[l+(o<<3)>>3];j=A}if((n|0)<(m|0))j=j+ +g[d+(n+i<<3)>>3]*+g[l+(n<<3)>>3];g[b+(q<<3)>>3]=p+j;a=(c[w>>2]|0)+h|0;h=c[r>>2]|0;B=(a|0)<(h|0);h=B?0:h;k=(c[x>>2]|0)+k+((B^1)&1)|0;while(1){if((k|0)<(s|0))break;i=i+1|0;k=k-s|0}q=q+1|0;h=a-h|0}if(f|0){c[z>>2]=h;c[y>>2]=k}return i|0}function xk(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0;y=a+32|0;z=a+36|0;h=c[z>>2]|0;s=c[a+48>>2]|0;i=0;k=c[y>>2]|0;while(1){if((k|0)<(s|0))break;i=i+1|0;k=k-s|0}t=a+4|0;u=a+12|0;v=a+8|0;w=a+28|0;x=a+24|0;r=a+40|0;q=0;while(1){if((q|0)>=(e|0))break;l=(c[t>>2]|0)+((H(c[u>>2]|0,k)|0)<<2)|0;m=c[v>>2]|0;n=((m|0)>1?m:1)&2147483646;a=0;p=0.0;j=0.0;while(1){o=a|1;if((o|0)>=(m|0))break;B=a+i|0;A=j+ +f[d+(B<<2)>>2]*+f[l+(a<<2)>>2];a=a+2|0;p=p+ +f[d+(B+1<<2)>>2]*+f[l+(o<<2)>>2];j=A}if((n|0)<(m|0))j=j+ +f[d+(n+i<<2)>>2]*+f[l+(n<<2)>>2];f[b+(q<<2)>>2]=p+j;a=(c[w>>2]|0)+h|0;h=c[r>>2]|0;B=(a|0)<(h|0);h=B?0:h;k=(c[x>>2]|0)+k+((B^1)&1)|0;while(1){if((k|0)<(s|0))break;i=i+1|0;k=k-s|0}q=q+1|0;h=a-h|0}if(g|0){c[z>>2]=h;c[y>>2]=k}return i|0}function yk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;a:do if((e|0)>=3){if((Hz(d,8)|0)!=3){f=e+-1|0;e=0;while(1){if((e|0)==(f|0)){e=0;break a}gO(d,8);e=e+1|0}}gO(d,1);if(((Hz(d,1)|0)!=0?(gO(d,1),g=Hz(d,5)|0,gO(d,8),(g|0)!=0):0)?(e+-2|0)>=(g*3|0):0){e=c[b>>2]|0;f=XJ(g|0,((g|0)<0)<<31>>31|0,3,0)|0;e=SO(f|0,M()|0,e|0,((e|0)<0)<<31>>31|0)|0;f=M()|0;if(!(f>>>0>0|(f|0)==0&e>>>0>2147483647)){f=b+4|0;e=Zw(f,e)|0;if((e|0)>=0){e=0;while(1){if((e|0)>=(g|0))break;j=(Hz(d,8)|0)&255;i=c[f>>2]|0;h=c[b>>2]|0;c[b>>2]=h+1;a[i+h>>0]=j;h=(Hz(d,8)|0)&255;i=c[f>>2]|0;j=c[b>>2]|0;c[b>>2]=j+1;a[i+j>>0]=h;j=(Hz(d,8)|0)&255;i=c[f>>2]|0;h=c[b>>2]|0;c[b>>2]=h+1;a[i+h>>0]=j;e=e+1|0}gO(d,8);e=0}}else e=-22}else e=0}else e=-22;while(0);return e|0}function zk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[b+4>>2]=a;c[b+29576>>2]=-1;c[b+29648>>2]=c[a+124>>2];c[b+29652>>2]=c[a+128>>2];c[b+26364>>2]=3;c[b+25688>>2]=c[a+668>>2];c[b+25684>>2]=c[a+92>>2];c[b+28232>>2]=65536;c[b+29556>>2]=-1;c[b+29560>>2]=0;c[b+28248>>2]=-1;c[b+29844>>2]=-1;c[b+29696>>2]=-1;c[b+28728>>2]=-2147483648;d=0;while(1){if((d|0)==16)break;c[b+28660+(d<<2)>>2]=-2147483648;d=d+1|0}II(b+29660|0);c[a+404>>2]=1;if(!(c[a+808>>2]&2))d=1;else d=c[a+800>>2]|0;e=b+25632|0;c[e>>2]=d;a=EO(d,34768)|0;f=b+25628|0;c[f>>2]=a;a:do if(a){d=0;while(1){a=hP()|0;if(d>>>0>=36)break;c[b+696+(d*656|0)>>2]=a;if(!a){d=-12;break a}else d=d+1|0}c[b+24316>>2]=a;if((a|0)!=0?(a=hP()|0,c[b+24972>>2]=a,(a|0)!=0):0){a=c[e>>2]|0;d=0;while(1){if((d|0)>=(a|0)){d=0;break a}c[(c[f>>2]|0)+(d*34768|0)>>2]=b;d=d+1|0}}else d=-12}else{c[e>>2]=0;d=-12}while(0);return d|0}function Ak(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=8-g|0;j=8-h|0;m=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;i=H(h,g)|0;l=d>>1;a:do if(!i){d=j+k|0;if(!d){g=0;while(1){if((g|0)>=(f|0))break a;k=((e[a>>1]|0)+1+(((H(m,e[c>>1]|0)|0)+32|0)>>>6)|0)>>>1&65535;b[a>>1]=k;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}else{h=(k|0)==0?1:l;g=0;while(1){if((g|0)>=(f|0))break a;k=H(m,e[c>>1]|0)|0;k=((e[a>>1]|0)+1+((k+32+(H(d,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[a>>1]=k;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}}else{h=l+1|0;g=0;while(1){if((g|0)>=(f|0))break a;p=H(m,e[c>>1]|0)|0;o=H(j,e[c+2>>1]|0)|0;d=c+(l<<1)|0;n=H(k,e[d>>1]|0)|0;n=((e[a>>1]|0)+1+((p+32+o+n+(H(i,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[a>>1]=n;a=a+(l<<1)|0;g=g+1|0;c=d}}while(0);return}function Bk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=Mb;Mb=Mb+224|0;n=o+216|0;i=o+208|0;h=o+200|0;g=o+192|0;l=o;m=o+220|0;c[m>>2]=0;c[e+40>>2]=0;c[e+16>>2]=0;p=uL(d)|0;c[e+44>>2]=p;e=Hz(d,3)|0;do if(!e){if(uL(d)|0){wM(b,189712,h);e=-1163346256;break}while(1){if(!(Hz(d,4)|0))break;e=Hz(d,4)|0;if((e|0)==15)e=(Hz(d,8)|0)+15|0;if((e|0)==270)e=(Hz(d,16)|0)+270|0;e=e<<3;if((pS(d)|0)<(e|4|0)){j=12;break}qK(d,e)}if((j|0)==12){Xw(b,16,187506,i);e=-1094995529;break}e=Wt(b,l,m,f)|0;if(!e){if(a|0?(k=$g(a,l,c[m>>2]|0,3,0)|0,k|0):0){e=k;break}e=Hz(d,2)|0;if(!e)e=0;else{c[n>>2]=e;wM(b,189726,n);e=-1163346256}}}else{c[g>>2]=e;wM(b,189681,g);e=-1163346256}while(0);Mb=o;return e|0}function Ck(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=Mb;Mb=Mb+48|0;k=m+32|0;g=m+16|0;f=m;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=tP(Q(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;o=c[f+4>>2]|0;n=g>>>0>o>>>0;f=n?f+8|0:f;b=b+(n<<31>>31)|0;o=g-(n?o:0)|0;c[f>>2]=(c[f>>2]|0)+o;n=f+4|0;c[n>>2]=(c[n>>2]|0)-o;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=tP(Q(146,k|0)|0)|0;if((e|0)==(g|0)){l=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=c[a+44>>2]|0;c[a+16>>2]=o+(c[a+48>>2]|0);c[i>>2]=o;c[j>>2]=o}Mb=m;return d|0}function Dk(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=0;i=0;a=e;while(1){if((h|0)>=(g|0))break;e=(c[1046624+((d[b>>0]|0)-(d[a>>0]|0)<<2)>>2]|0)+i+(c[1046624+((d[b+1>>0]|0)-(d[a+1>>0]|0)<<2)>>2]|0)+(c[1046624+((d[b+2>>0]|0)-(d[a+2>>0]|0)<<2)>>2]|0)+(c[1046624+((d[b+3>>0]|0)-(d[a+3>>0]|0)<<2)>>2]|0)+(c[1046624+((d[b+4>>0]|0)-(d[a+4>>0]|0)<<2)>>2]|0)+(c[1046624+((d[b+5>>0]|0)-(d[a+5>>0]|0)<<2)>>2]|0)+(c[1046624+((d[b+6>>0]|0)-(d[a+6>>0]|0)<<2)>>2]|0)+(c[1046624+((d[b+7>>0]|0)-(d[a+7>>0]|0)<<2)>>2]|0)+(c[1046624+((d[b+8>>0]|0)-(d[a+8>>0]|0)<<2)>>2]|0)+(c[1046624+((d[b+9>>0]|0)-(d[a+9>>0]|0)<<2)>>2]|0)+(c[1046624+((d[b+10>>0]|0)-(d[a+10>>0]|0)<<2)>>2]|0)+(c[1046624+((d[b+11>>0]|0)-(d[a+11>>0]|0)<<2)>>2]|0)+(c[1046624+((d[b+12>>0]|0)-(d[a+12>>0]|0)<<2)>>2]|0)+(c[1046624+((d[b+13>>0]|0)-(d[a+13>>0]|0)<<2)>>2]|0)+(c[1046624+((d[b+14>>0]|0)-(d[a+14>>0]|0)<<2)>>2]|0)+(c[1046624+((d[b+15>>0]|0)-(d[a+15>>0]|0)<<2)>>2]|0)|0;b=b+f|0;h=h+1|0;i=e;a=a+f|0}return i|0}function Ek(a,b){a=+a;b=+b;var d=0.0,e=0,f=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=Mb;Mb=Mb+32|0;l=p+24|0;m=p+16|0;n=p+8|0;o=p;g[h>>3]=a;s=c[h>>2]|0;i=c[h+4>>2]|0;g[h>>3]=b;e=c[h>>2]|0;i=i&2147483647;f=c[h+4>>2]&2147483647;j=i>>>0<f>>>0|(i|0)==(f|0)&s>>>0<e>>>0;r=j?e:s;q=j?f:i;e=j?s:e;f=j?i:f;i=oN(r|0,q|0,52)|0;M()|0;j=oN(e|0,f|0,52)|0;M()|0;c[h>>2]=r;c[h+4>>2]=q;a=+g[h>>3];c[h>>2]=e;c[h+4>>2]=f;k=+g[h>>3];do if((j|0)!=2047){if(!((e|0)==0&(f|0)==0|(i|0)==2047)){if((i-j|0)>64){a=a+k;break}if((i|0)>1533){d=5260135901548373507240989.0e186;b=a*1.90109156629516e-211;a=k*1.90109156629516e-211}else{s=(j|0)<573;d=s?1.90109156629516e-211:1.0;b=s?a*5260135901548373507240989.0e186:a;a=s?k*5260135901548373507240989.0e186:k}GM(l,m,b);GM(n,o,a);a=d*+v(+(+g[o>>3]+ +g[m>>3]+ +g[n>>3]+ +g[l>>3]))}}else a=k;while(0);Mb=p;return +a}function Fk(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;q=d+8|0;r=e+8|0;s=d+12|0;t=e+12|0;u=d+16|0;v=e+16|0;h=d+24|0;i=e+24|0;j=d+4|0;k=e+36|0;l=d+20|0;m=e+52|0;n=d+28|0;o=e+60|0;p=a+4|0;g=0;while(1){if((g|0)>=(f|0))break;y=H(c[r>>2]|0,b[(c[q>>2]|0)+(g<<1)>>1]|0)|0;y=(H(c[t>>2]|0,b[(c[s>>2]|0)+(g<<1)>>1]|0)|0)+y|0;w=H(c[e>>2]|0,b[(c[d>>2]|0)+(g<<1)>>1]|0)|0;x=H(c[v>>2]|0,b[(c[u>>2]|0)+(g<<1)>>1]|0)|0;y=y+16384|0;x=y+w+x+(H(c[i>>2]|0,b[(c[h>>2]|0)+(g<<1)>>1]|0)|0)|0;w=x>>15;b[(c[a>>2]|0)+(g<<1)>>1]=(w+32768|0)>>>0>65535?x>>31^32767:w;w=H(c[k>>2]|0,b[(c[j>>2]|0)+(g<<1)>>1]|0)|0;x=H(c[m>>2]|0,b[(c[l>>2]|0)+(g<<1)>>1]|0)|0;x=y+w+x+(H(c[o>>2]|0,b[(c[n>>2]|0)+(g<<1)>>1]|0)|0)|0;w=x>>15;b[(c[p>>2]|0)+(g<<1)>>1]=(w+32768|0)>>>0>65535?x>>31^32767:w;g=g+1|0}return}function Gk(a,b,g){a=a|0;b=b|0;g=g|0;var h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;s=c[b+74576>>2]|0;t=b+74512|0;u=b+74496|0;r=(g|0)==0;p=a+5404|0;m=b+14048|0;n=b+88256|0;o=0;g=0;while(1){if((o|0)>=(c[t>>2]|0))break;q=b+74516+o|0;a=0;while(1){if((a|0)>=(d[u>>0]|0|0))break;l=c[b+81392+(g<<2)>>2]|0;a:do if((c[b+80368+(g<<2)>>2]&-2|0)==14){h=a;while(1){if((h|0)>=(l|0))break a;a=(c[b+80368+(g<<2)>>2]<<1)+-29|0;if(!r)a=H(1-((d[b+13+g>>0]|0)<<1)|0,a)|0;j=+f[b+81872+(g<<2)>>2]*+(a|0);k=s+(h<<1)|0;h=h+1|0;i=s+(h<<1)|0;a=0;while(1){if(a>>>0>=(d[q>>0]|0)>>>0)break;w=a<<7;v=e[k>>1]|0;fc[c[(c[p>>2]|0)+12>>2]&7](n+(w<<2)+(v<<2)|0,m+(w<<2)+(v<<2)|0,j,(e[i>>1]|0)-v|0);a=a+1|0}g=g+1|0}}else{h=l;g=g-a+l|0}while(0);a=h}w=(d[q>>0]|0)<<7;m=m+(w<<2)|0;n=n+(w<<2)|0;o=o+1|0}return}function Hk(a,b,g,h,i,j,k,l,m){a=a|0;b=b|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=Mb;Mb=Mb+16|0;A=B;z=b+76|0;v=b+310448|0;w=b+310120|0;x=b+390984|0;s=l+m|0;n=c[z>>2]|0;m=0;r=0;a:while(1){if(r>>>0>=(c[v>>2]|0)>>>0){m=13;break}t=b+310452+r|0;u=b+310458+r|0;q=0;while(1){if(q>>>0>=(d[t>>0]|0)>>>0)break;p=q+(d[u>>0]|0)|0;o=c[w>>2]|0;while(1){if(m>>>0>o>>>0)break;if((n|0)<(e[b+310374+(m<<1)>>1]|0|0))break;m=m+1|0}o=m+-1|0;if((m|0)<1){m=10;break a}ic[c[x>>2]&1](g+(n*320|0)+16|0,h+(p*320|0)+16|0,i+(p<<3)|0,j+(p<<3)|0,+f[k+(o<<2)>>2],(d[l>>0]|0)<<1,(d[s>>0]|0)<<1);q=q+1|0;n=n+1|0;m=o}r=r+1|0}if((m|0)==10){z=c[a+4>>2]|0;c[A>>2]=n;Xw(z,16,191187,A)}else if((m|0)==13?(y=(c[z>>2]|0)+(c[b+84>>2]|0)|0,y>>>0>n>>>0):0)Wp(g+(n*320|0)|0,0,(y-n|0)*320|0)|0;Mb=B;return}function Ik(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0,J=0,K=0;p=+f[d>>2];q=+f[d+16>>2];r=+f[d+4>>2];s=+f[d+20>>2];t=+f[d+8>>2];u=+f[d+24>>2];v=+f[d+12>>2];o=+f[d+28>>2];h=+f[c>>2];i=+f[c+16>>2];j=+f[c+4>>2];k=+f[c+20>>2];d=0;l=+f[c+8>>2];m=+f[c+24>>2];n=+f[c+12>>2];g=+f[c+28>>2];while(1){if((d|0)>=(e|0))break;K=a+(d<<3)|0;G=+f[K>>2];J=a+(d<<3)+4|0;F=+f[J>>2];I=b+(d<<3)|0;H=+f[I>>2];c=b+(d<<3)+4|0;E=+f[c>>2];D=p+h;B=r+j;z=t+l;x=v+n;C=q+i;A=s+k;y=u+m;w=o+g;f[K>>2]=D*G+z*H-C*F-y*E;f[J>>2]=y*H+(C*G+(D*F+z*E));f[I>>2]=B*G+x*H-A*F-w*E;f[c>>2]=w*H+(A*G+(B*F+x*E));h=D;i=C;j=B;k=A;d=d+1|0;l=z;m=y;n=x;g=w}return}function Jk(a){a=a|0;var b=0,d=0,e=0;b=a+32|0;a:do if((c[b>>2]|0)==3&(c[b+4>>2]|0)==0){e=a+24|0;b=c[e+4>>2]|0;switch(c[e>>2]|0){case 63:{if(b|0){d=20;break a}break}case 1551:{if(b|0){d=20;break a}break}case 1599:{if(b|0){d=20;break a}if(!(+g[a+13472>>3]==+g[a+13984>>3])){d=20;break a}if(!(+g[a+13480>>3]==+g[a+13992>>3])){d=20;break a}if(+g[a+13464>>3]!=0.0){d=20;break a}if(+g[a+13496>>3]!=0.0){d=20;break a}if(+g[a+13968>>3]!=0.0){d=20;break a}if(+g[a+14e3>>3]!=0.0){d=20;break a}if(+g[a+13512>>3]!=0.0){d=20;break a}if(+g[a+14016>>3]!=0.0){d=20;break a}else{a=147;break a}}default:{d=20;break a}}if(((((+g[a+13472>>3]==+g[a+13984>>3]?+g[a+13480>>3]==+g[a+13992>>3]:0)?!(+g[a+13464>>3]!=0.0):0)?!(+g[a+13496>>3]!=0.0):0)?!(+g[a+13968>>3]!=0.0):0)?!(+g[a+14e3>>3]!=0.0):0)a=146;else d=20}else d=20;while(0);if((d|0)==20)a=0;return a|0}function Kk(a){a=a|0;var b=0,d=0,e=0;b=a+32|0;a:do if((c[b>>2]|0)==3&(c[b+4>>2]|0)==0){e=a+24|0;b=c[e+4>>2]|0;switch(c[e>>2]|0){case 63:{if(b|0){d=20;break a}break}case 1551:{if(b|0){d=20;break a}break}case 1599:{if(b|0){d=20;break a}if(!(+g[a+13472>>3]==+g[a+13984>>3])){d=20;break a}if(!(+g[a+13480>>3]==+g[a+13992>>3])){d=20;break a}if(+g[a+13464>>3]!=0.0){d=20;break a}if(+g[a+13496>>3]!=0.0){d=20;break a}if(+g[a+13968>>3]!=0.0){d=20;break a}if(+g[a+14e3>>3]!=0.0){d=20;break a}if(+g[a+13512>>3]!=0.0){d=20;break a}if(+g[a+14016>>3]!=0.0){d=20;break a}else{a=151;break a}}default:{d=20;break a}}if(((((+g[a+13472>>3]==+g[a+13984>>3]?+g[a+13480>>3]==+g[a+13992>>3]:0)?!(+g[a+13464>>3]!=0.0):0)?!(+g[a+13496>>3]!=0.0):0)?!(+g[a+13968>>3]!=0.0):0)?!(+g[a+14e3>>3]!=0.0):0)a=150;else d=20}else d=20;while(0);if((d|0)==20)a=0;return a|0}function Lk(a){a=a|0;var b=0,d=0,e=0;b=a+32|0;a:do if((c[b>>2]|0)==3&(c[b+4>>2]|0)==0){e=a+24|0;b=c[e+4>>2]|0;switch(c[e>>2]|0){case 63:{if(b|0){d=20;break a}break}case 1551:{if(b|0){d=20;break a}break}case 1599:{if(b|0){d=20;break a}if(!(+g[a+13472>>3]==+g[a+13984>>3])){d=20;break a}if(!(+g[a+13480>>3]==+g[a+13992>>3])){d=20;break a}if(+g[a+13464>>3]!=0.0){d=20;break a}if(+g[a+13496>>3]!=0.0){d=20;break a}if(+g[a+13968>>3]!=0.0){d=20;break a}if(+g[a+14e3>>3]!=0.0){d=20;break a}if(+g[a+13512>>3]!=0.0){d=20;break a}if(+g[a+14016>>3]!=0.0){d=20;break a}else{a=149;break a}}default:{d=20;break a}}if(((((+g[a+13472>>3]==+g[a+13984>>3]?+g[a+13480>>3]==+g[a+13992>>3]:0)?!(+g[a+13464>>3]!=0.0):0)?!(+g[a+13496>>3]!=0.0):0)?!(+g[a+13968>>3]!=0.0):0)?!(+g[a+14e3>>3]!=0.0):0)a=148;else d=20}else d=20;while(0);if((d|0)==20)a=0;return a|0}function Mk(a){a=a|0;var b=0,d=0,e=0;b=a+32|0;a:do if((c[b>>2]|0)==3&(c[b+4>>2]|0)==0){e=a+24|0;b=c[e+4>>2]|0;switch(c[e>>2]|0){case 63:{if(b|0){d=20;break a}break}case 1551:{if(b|0){d=20;break a}break}case 1599:{if(b|0){d=20;break a}if(!(+g[a+13472>>3]==+g[a+13984>>3])){d=20;break a}if(!(+g[a+13480>>3]==+g[a+13992>>3])){d=20;break a}if(+g[a+13464>>3]!=0.0){d=20;break a}if(+g[a+13496>>3]!=0.0){d=20;break a}if(+g[a+13968>>3]!=0.0){d=20;break a}if(+g[a+14e3>>3]!=0.0){d=20;break a}if(+g[a+13512>>3]!=0.0){d=20;break a}if(+g[a+14016>>3]!=0.0){d=20;break a}else{a=153;break a}}default:{d=20;break a}}if(((((+g[a+13472>>3]==+g[a+13984>>3]?+g[a+13480>>3]==+g[a+13992>>3]:0)?!(+g[a+13464>>3]!=0.0):0)?!(+g[a+13496>>3]!=0.0):0)?!(+g[a+13968>>3]!=0.0):0)?!(+g[a+14e3>>3]!=0.0):0)a=152;else d=20}else d=20;while(0);if((d|0)==20)a=0;return a|0}function Nk(a){a=a|0;var b=0,d=0,e=0;b=a+32|0;a:do if((c[b>>2]|0)==3&(c[b+4>>2]|0)==0){e=a+24|0;b=c[e+4>>2]|0;switch(c[e>>2]|0){case 63:{if(b|0){d=20;break a}break}case 1551:{if(b|0){d=20;break a}break}case 1599:{if(b|0){d=20;break a}if(!(+g[a+13472>>3]==+g[a+13984>>3])){d=20;break a}if(!(+g[a+13480>>3]==+g[a+13992>>3])){d=20;break a}if(+g[a+13464>>3]!=0.0){d=20;break a}if(+g[a+13496>>3]!=0.0){d=20;break a}if(+g[a+13968>>3]!=0.0){d=20;break a}if(+g[a+14e3>>3]!=0.0){d=20;break a}if(+g[a+13512>>3]!=0.0){d=20;break a}if(+g[a+14016>>3]!=0.0){d=20;break a}else{a=145;break a}}default:{d=20;break a}}if(((((+g[a+13472>>3]==+g[a+13984>>3]?+g[a+13480>>3]==+g[a+13992>>3]:0)?!(+g[a+13464>>3]!=0.0):0)?!(+g[a+13496>>3]!=0.0):0)?!(+g[a+13968>>3]!=0.0):0)?!(+g[a+14e3>>3]!=0.0):0)a=144;else d=20}else d=20;while(0);if((d|0)==20)a=0;return a|0}function Ok(b,d){b=b|0;d=d|0;var e=0,g=0,h=0,i=0;e=d+13760|0;i=(a[d+12>>0]|0)!=0;h=i?284736:217696;i=i?288832:214112;a:do switch(c[d+4>>2]|0){case 2:{rk(e|0,d+17856|0,2048)|0;Wp(d+16064|0,0,1792)|0;hc[c[(c[b+5404>>2]|0)+28>>2]&255](d+15552|0,b+4864|0,i+256|0,64);g=0;while(1){if((g|0)==64)break a;f[d+13760+(g+512<<2)>>2]=+f[b+1024+(1023-g<<2)>>2]*+f[i+(63-g<<2)>>2];g=g+1|0}}case 1:{rk(e|0,b+3072|0,1792)|0;Wp(d+16064|0,0,1792)|0;hc[c[(c[b+5404>>2]|0)+28>>2]&255](d+15552|0,b+4864|0,i+256|0,64);g=0;while(1){if((g|0)==64)break a;f[d+13760+(g+512<<2)>>2]=+f[b+1024+(1023-g<<2)>>2]*+f[i+(63-g<<2)>>2];g=g+1|0}}default:{hc[c[(c[b+5404>>2]|0)+28>>2]&255](e,b+3072|0,h+2048|0,512);g=0;while(1){if((g|0)==512)break;f[d+13760+(g+512<<2)>>2]=+f[b+1024+(1023-g<<2)>>2]*+f[h+(511-g<<2)>>2];g=g+1|0}}}while(0);b=d+36288|0;rk(d+32192|0,b|0,4096)|0;rk(b|0,c[d+74176>>2]|0,4096)|0;rk(d+40384|0,e|0,4096)|0;return}function Pk(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0;A=Mb;Mb=Mb+48|0;z=A;v=a+28|0;w=z+40|0;x=z+16|0;y=z+24|0;r=z+28|0;s=z+4|0;t=z+8|0;u=z+12|0;q=0;while(1){if((q|0)>=(g|0))break;ec[c[v>>2]&255](e+(q*320|0)|0,z);j=+f[x>>2];k=+f[y>>2];l=+f[r>>2];h=+f[w>>2]*j-(k*k+l*l)/1.0000009536743164;if(h!=0.0){B=+f[z>>2];p=+f[s>>2];m=(k*B-l*p-j*+f[t>>2])/h;h=(l*B+k*p-j*+f[u>>2])/h}else{m=0.0;h=0.0}n=d+(q<<3)|0;f[n>>2]=m;o=d+(q<<3)+4|0;f[o>>2]=h;if(j!=0.0){p=-(+f[z>>2]+k*m+l*h)/j;h=-(+f[s>>2]+k*h-l*m)/j}else{p=0.0;h=0.0}a=b+(q<<3)|0;f[a>>2]=p;i=b+(q<<3)+4|0;f[i>>2]=h;m=+f[n>>2];B=+f[o>>2];if(!(!(m*m+B*B>=16.0)?!(p*p+h*h>=16.0):0)){f[n>>2]=0.0;f[o>>2]=0.0;f[a>>2]=0.0;f[i>>2]=0.0}q=q+1|0}Mb=A;return}function Qk(b,c,d){b=b|0;c=c|0;d=d|0;if(!d)d=0;else{d=c+9|0;a[b+33>>0]=a[d>>0]|0;a[b+32>>0]=a[d>>0]|0;a[b+31>>0]=a[d>>0]|0;a[b+30>>0]=a[d>>0]|0;a[b+29>>0]=a[d>>0]|0;a[b+28>>0]=a[d>>0]|0;d=c+8|0;a[b+27>>0]=a[d>>0]|0;a[b+26>>0]=a[d>>0]|0;a[b+25>>0]=a[d>>0]|0;a[b+24>>0]=a[d>>0]|0;d=c+7|0;a[b+23>>0]=a[d>>0]|0;a[b+22>>0]=a[d>>0]|0;a[b+21>>0]=a[d>>0]|0;a[b+20>>0]=a[d>>0]|0;d=c+6|0;a[b+19>>0]=a[d>>0]|0;a[b+18>>0]=a[d>>0]|0;d=c+5|0;a[b+17>>0]=a[d>>0]|0;d=a[d>>0]|0}a[b+16>>0]=d;d=c+4|0;a[b+15>>0]=a[d>>0]|0;a[b+14>>0]=a[d>>0]|0;a[b+13>>0]=a[d>>0]|0;a[b+12>>0]=a[d>>0]|0;d=c+3|0;a[b+11>>0]=a[d>>0]|0;a[b+10>>0]=a[d>>0]|0;d=c+2|0;a[b+9>>0]=a[d>>0]|0;a[b+8>>0]=a[d>>0]|0;a[b+7>>0]=a[d>>0]|0;a[b+6>>0]=a[d>>0]|0;d=c+1|0;a[b+5>>0]=a[d>>0]|0;a[b+4>>0]=a[d>>0]|0;a[b+3>>0]=a[d>>0]|0;a[b+2>>0]=a[c>>0]|0;a[b+1>>0]=a[c>>0]|0;a[b>>0]=a[c>>0]|0;return}function Rk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Mb;Mb=Mb+16|0;j=k;f=0;while(1){if(f>>>0>=28){i=3;break}e=c[90288+(f<<4)>>2]|0;if((hu(e)|0)==(d|0)?(Ix(e,b,d)|0)==0:0){i=6;break}f=f+1|0}do if((i|0)==3){e=0;while(1){if(e>>>0>=36)break;if(((e+-18|0)>>>0>10?(g=c[90736+(e<<3)>>2]|0,(hu(g)|0)==(d|0)):0)?(Ix(g,b,d)|0)==0:0){i=12;break}e=e+1|0}if((i|0)==12){e=cN(1,0,e|0)|0;f=M()|0;break}e=pV()|0;c[e>>2]=0;e=gQ(b,j,10)|0;i=pV()|0;if(((c[i>>2]|0)==0?(h=c[j>>2]|0,(h+1-b|0)==(d|0)):0)?(a[h>>0]|0)==99:0){e=hD(e)|0;f=M()|0;break}g=pV()|0;c[g>>2]=0;g=DP(b,j,0)|0;e=M()|0;i=pV()|0;if(!(c[i>>2]|0)){j=((e|0)>0|(e|0)==0&g>>>0>0)&((c[j>>2]|0)-b|0)==(d|0);f=j?e:0;e=j?g:0}else{f=0;e=0}}else if((i|0)==6){e=90288+(f<<4)+8|0;f=c[e+4>>2]|0;e=c[e>>2]|0}while(0);L(f|0);Mb=k;return e|0}function Sk(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=g>>1;g=0-r|0;if(!d){j=e[a+(g<<1)>>1]|0;d=j}else{d=e[a+(g<<1)>>1]|0;j=e[a+(~r<<1)>>1]|0}h=e[a+(1-r<<1)>>1]|0;i=h+2|0;k=e[a+(2-r<<1)>>1]|0;l=k+2|0;m=e[a+(3-r<<1)>>1]|0;n=e[a+(4-r<<1)>>1]|0;o=e[a+(5-r<<1)>>1]|0;p=e[a+(6-r<<1)>>1]|0;q=e[a+(7-r<<1)>>1]|0;if(!f)g=q;else g=e[a+(8-r<<1)>>1]|0;b[a>>1]=(i+j+(d<<1)|0)>>>2;b[a+2>>1]=(l+d+(h<<1)|0)>>>2;b[a+4>>1]=(i+(k<<1)+m|0)>>>2;b[a+6>>1]=(l+(m<<1)+n|0)>>>2;j=a+8|0;b[j>>1]=(m+2+(n<<1)+o|0)>>>2;b[a+10>>1]=(n+2+(o<<1)+p|0)>>>2;b[a+12>>1]=(o+2+(p<<1)+q|0)>>>2;b[a+14>>1]=(p+2+(q<<1)+g|0)>>>2;h=a;d=c[h>>2]|0;h=c[h+4>>2]|0;i=c[j>>2]|0;j=c[j+4>>2]|0;g=1;while(1){if((g|0)==8)break;f=a+((H(g,r)|0)<<1)|0;q=f;c[q>>2]=d;c[q+4>>2]=h;f=f+8|0;c[f>>2]=i;c[f+4>>2]=j;g=g+1|0}return}function Tk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a+64|0;g=c[d>>2]|0;a:do if((aU(a)|0)!=0?(eO(c[a+12>>2]|0)|0)!=0:0)if(!(c[(c[d>>2]|0)+64>>2]|0)){e=(b|0)!=0;if((e?(c[b+28>>2]|0)==0:0)?c[b+24>>2]|0:0){d=-22;break}d=Sh(a)|0;if((d|0)>=0){f=g+68|0;gP(c[f>>2]|0);do if(e){if((c[b+24>>2]|0)==0?(c[b+44>>2]|0)==0:0)break;d=Xp(c[f>>2]|0,b)|0;if((d|0)<0)break a}while(0);d=bt(c[c[g+32>>2]>>2]|0,c[f>>2]|0)|0;if((d|0)<0){gP(c[f>>2]|0);break}d=c[g+76>>2]|0;b:do if((c[d+248>>2]|0)==0?(h=$u(a,d)|0,(h|0)<0):0)if((h|0)<-11)switch(h|0){case -541478725:break b;default:{d=h;break a}}else switch(h|0){case -11:break b;default:{d=h;break a}}while(0);d=0}}else d=-541478725;else d=-22;while(0);return d|0}function Uk(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c+1|0;a[b>>0]=((a[c>>0]<<1)+(a[e>>0]|0)|0)/3|0;a[b+1>>0]=((a[c+2>>0]<<1)+(a[e>>0]|0)|0)/3|0;e=c+4|0;a[b+2>>0]=((a[c+3>>0]<<1)+(a[e>>0]|0)|0)/3|0;a[b+3>>0]=((a[c+5>>0]<<1)+(a[e>>0]|0)|0)/3|0;a[b+4>>0]=((a[c+7>>0]|0)+(a[c+6>>0]|0)|0)/2|0;a[b+5>>0]=((a[c+9>>0]|0)+(a[c+8>>0]|0)|0)/2|0;a[b+6>>0]=a[c+10>>0]|0;a[b+7>>0]=a[c+11>>0]|0;a[b+8>>0]=((a[c+13>>0]|0)+(a[c+12>>0]|0)|0)/2|0;a[b+9>>0]=((a[c+15>>0]|0)+(a[c+14>>0]|0)|0)/2|0;a[b+10>>0]=a[c+16>>0]|0;if(d|0){a[b+11>>0]=a[c+17>>0]|0;a[b+12>>0]=a[c+18>>0]|0;a[b+13>>0]=a[c+19>>0]|0;a[b+14>>0]=((a[c+21>>0]|0)+(a[c+20>>0]|0)|0)/2|0;a[b+15>>0]=((a[c+23>>0]|0)+(a[c+22>>0]|0)|0)/2|0;a[b+16>>0]=((a[c+25>>0]|0)+(a[c+24>>0]|0)|0)/2|0;a[b+17>>0]=((a[c+27>>0]|0)+(a[c+26>>0]|0)|0)/2|0;a[b+18>>0]=((a[c+29>>0]|0)+(a[c+28>>0]|0)+(a[c+30>>0]|0)+(a[c+31>>0]|0)|0)/4|0;a[b+19>>0]=((a[c+33>>0]|0)+(a[c+32>>0]|0)|0)/2|0}return}function Vk(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0;m=+f[a>>2];j=+f[a+16>>2];l=a+4|0;i=+f[l>>2];k=+f[a+20>>2];c=1;d=0.0;e=0.0;g=0.0;h=m*k-j*i;i=m*j+i*k;while(1){if((c|0)==38)break;p=+f[a+(c<<3)>>2];o=+f[a+(c<<3)+4>>2];q=c+2|0;n=+f[a+(q<<3)>>2];m=+f[a+(q<<3)+4>>2];c=c+1|0;d=d+(p*p+o*o);e=e+(p*k-o*j);g=g+(p*j+o*k);h=h+(p*m-o*n);i=i+(p*n+o*m);j=n;k=m}f[b+8>>2]=i;f[b+12>>2]=h;p=+f[a>>2];o=+f[l>>2];f[b+40>>2]=d+p*p+o*o;r=a+304|0;o=+f[r>>2];c=a+308|0;p=+f[c>>2];f[b+16>>2]=d+o*o+p*p;q=a+8|0;s=a+12|0;f[b+24>>2]=g+ +f[a>>2]*+f[q>>2]+ +f[l>>2]*+f[s>>2];f[b+28>>2]=e+ +f[a>>2]*+f[s>>2]-+f[l>>2]*+f[q>>2];q=a+312|0;l=a+316|0;f[b>>2]=g+ +f[r>>2]*+f[q>>2]+ +f[c>>2]*+f[l>>2];f[b+4>>2]=e+ +f[r>>2]*+f[l>>2]-+f[c>>2]*+f[q>>2];return}function Wk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[a+23412>>2]|0;g=0;while(1){if(g>>>0>=i>>>0)break;j=c[a+23404+(g<<2)>>2]|0;h=0;while(1){if(h>>>0>=j>>>0)break;f=(h<<1)+16|0;k=a+23416+(g*1920|0)+(f*40|0)|0;b=k;d=a+23416+(g*1920|0)+(h*40|0)|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=0;while(1){if((b|0)==3)break;e=a+23416+(g*1920|0)+(f*40|0)+12+(b<<2)|0;c[e>>2]=c[e>>2]<<1;b=b+1|0}c[a+23416+(g*1920|0)+(f*40|0)+24>>2]=1;c[a+23416+(g*1920|0)+(f*40|0)+28>>2]=c[(c[a+23416+(g*1920|0)+(f*40|0)+36>>2]|0)+76>>2];b=k+40|0;d=k;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));d=a+23416+(g*1920|0)+(h*40|0)+36|0;b=0;while(1){if((b|0)==3)break;f=k+40+(b<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[(c[c[d>>2]>>2]|0)+32+(b<<2)>>2]|0);b=b+1|0}c[k+64>>2]=2;c[k+68>>2]=c[(c[k+76>>2]|0)+80>>2];h=h+1|0}g=g+1|0}return}function Xk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=Mb;Mb=Mb+48|0;k=l+16|0;j=l+8|0;i=l;h=l+24|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[h+16>>2]=c[e+16>>2];h=Vg(d,h,g)|0;a:do if((h|0)<0)g=-1094995529;else{g=c[d+4>>2]|0;if((g|0)>12){c[i>>2]=g;Xw(b,16,187268,i);g=-1094995529;break}if((g+-3|0)>>>0>4&(c[d>>2]|0)==23){c[j>>2]=g;Xw(b,16,189611,j);g=-1094995529;break}qK(e,h);g=c[d>>2]|0;switch(g|0){case 23:case 17:case 4:case 2:case 1:{g=Mh(a,b,e,f,d,c[d+12>>2]|0)|0;if((g|0)<0)break a;break}case 39:{g=Bk(a,b,e,d,c[d+12>>2]|0)|0;if((g|0)<0)break a;break}default:{c[k>>2]=(c[d+16>>2]|0)==1?189653:1104084;c[k+4>>2]=g;wM(b,189658,k);g=-38;break a}}g=sU(e)|0}while(0);Mb=l;return g|0}function Yk(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=g>>1;h=c;i=0;d=d+(0-(g&-2)<<1)|0;while(1){if((i|0)==7)break;l=d+2|0;k=d+-2|0;m=d+4|0;n=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;g=d+6|0;b[h>>1]=(((e[l>>1]|0)+(e[d>>1]|0)|0)*20|0)+55306+(e[d+-4>>1]|0)+n+(e[g>>1]|0);g=H((e[g>>1]|0)+(e[d>>1]|0)|0,-5)|0;b[h+2>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+55306+(e[k>>1]|0)+g+(e[d+8>>1]|0);h=h+8|0;i=i+1|0;d=d+(j<<1)|0}h=f>>1;d=c+16|0;g=0;while(1){if((g|0)==2)break;j=b[d+-8>>1]|0;n=(b[d>>1]|0)+10230|0;l=(b[d+8>>1]|0)+10230|0;k=(b[d+16>>1]|0)+10230|0;m=(b[d+24>>1]|0)+10230|0;c=b[d+32>>1]|0;f=(b[d+-16>>1]|0)+10742+m+((l+n|0)*20|0)+(H(k+(j+10230)|0,-5)|0)>>10;b[a>>1]=f>>>0<1024?f:(f^-2147483648)>>31&1023;n=j+20972+c+((k+l|0)*20|0)+(H(m+n|0,-5)|0)>>10;b[a+(h<<1)>>1]=n>>>0<1024?n:(n^-2147483648)>>31&1023;a=a+2|0;d=d+2|0;g=g+1|0}return}function Zk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=(e|0)==0&(f|0)==-2147483648;if(h)if((b|0)==0&(d|0)==-2147483648)g=0;else{i=a+928|0;c[i>>2]=b;c[i+4>>2]=d;i=5}else{g=a+928|0;l=g;k=c[l+4>>2]|0;j=a+912|0;m=j;l=SO(c[m>>2]|0,c[m+4>>2]|0,((k|0)>(f|0)|((k|0)==(f|0)?(c[l>>2]|0)>>>0>=e>>>0:0))&1|0,0)|0;k=M()|0;c[j>>2]=l;c[j+4>>2]=k;c[g>>2]=e;c[g+4>>2]=f;if((b|0)==0&(d|0)==-2147483648){g=a+920|0;c[g>>2]=e;c[g+4>>2]=f;g=0}else i=5}if((i|0)==5){g=a+920|0;k=g;l=c[k+4>>2]|0;m=a+904|0;j=m;k=SO(c[j>>2]|0,c[j+4>>2]|0,((l|0)>(d|0)|((l|0)==(d|0)?(c[k>>2]|0)>>>0>=b>>>0:0))&1|0,0)|0;l=M()|0;c[m>>2]=k;c[m+4>>2]=l;c[g>>2]=b;c[g+4>>2]=d;g=1}l=a+904|0;j=c[l+4>>2]|0;m=a+912|0;k=c[m+4>>2]|0;m=g&(h|((j|0)<(k|0)|((j|0)==(k|0)?(c[l>>2]|0)>>>0<=(c[m>>2]|0)>>>0:0)));L((m?d:f)|0);return (m?b:e)|0}function _k(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=Mb;Mb=Mb+32|0;v=x+16|0;u=x+8|0;t=x;r=(c[h+4>>2]|0)==2?3:5;s=h+16|0;q=(1<<r)+-1|0;p=0;i=0;a:while(1){if((p|0)>=(c[s>>2]|0)){i=0;break}j=0;while(1){if((j|0)>=(d[h>>0]|0|0))break;n=Hz(g,4)|0;if((n|0)==12){w=8;break a}k=j;do{l=Hz(g,r)|0;k=(k&255)+l|0;if((pS(g)|0)<0){w=10;break a}o=k&255;m=a[h>>0]|0;if(o>>>0>(m&255)>>>0){w=12;break a}}while((l|0)==(q|0));while(1){if((j|0)>=(o|0))break;c[e+(i<<2)>>2]=n;c[f+(i<<2)>>2]=o;j=j+1|0;i=i+1|0}}p=p+1|0}if((w|0)==8){Xw(c[b+4>>2]|0,16,188953,t);i=-1094995529}else if((w|0)==10){Xw(c[b+4>>2]|0,16,188972,u);i=-1094995529}else if((w|0)==12){i=c[b+4>>2]|0;c[v>>2]=o;c[v+4>>2]=m&255;Xw(i,16,189040,v);i=-1094995529}Mb=x;return i|0}function $k(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=0;while(1){if((j|0)>=(i|0))break;n=H(j,g)|0;k=b+n|0;o=k;k=k+4|0;m=H(j,h)|0;p=e+m|0;l=p;p=p+4|0;p=QI(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24)|0;l=M()|0;k=H(j,f)|0;o=a+k|0;c[o>>2]=p;c[o+4>>2]=l;n=b+(n+8)|0;o=n;n=n+4|0;m=e+(m+8)|0;l=m;m=m+4|0;m=QI(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;l=M()|0;k=a+(k+8)|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function al(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=Mb;Mb=Mb+176|0;a=l+152|0;h=l+32|0;i=l;k=1103328;j=c[k>>2]|0;k=c[k+4>>2]|0;if((c[40982]|0)>>>0>=121){c[a>>2]=208265;c[a+4>>2]=208292;c[a+8>>2]=77;Xw(0,0,213444,a);ba()}e=(j|0)!=0|(k|0)!=0;a=0;b=0;d=0;while(1){f=fa()|0;g=f-a|0;if(((b<<1|1)+a|0)<(f|0)){a=1103328;a=SO(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;b=M()|0;m=1103328;c[m>>2]=a;c[m+4>>2]=b;m=1100240+((a&511)<<2)|0;c[m>>2]=(c[m>>2]|0)+(g>>>0<3294638521?g:g+1000328775|0);if((f-d|0)>31249?(m=QO(a|0,b|0,j|0,k|0)|0,b=M()|0,b>>>0>0|(b|0)==0&m>>>0>64|e&(b>>>0>0|(b|0)==0&m>>>0>4)):0)break}else{m=1100240+((c[275832]&511)<<2)|0;b=H(c[m>>2]|0,1664525)|0;c[m>>2]=(g>>>0<3294638521?g:g+1000328775|0)+1013904223+b}a=f;b=g;d=(d|0)==0?f:d}mo(h,160)|0;uu(h,1100240,2048);Tq(h,i);m=kS(c[i>>2]|0)|0;m=(kS(c[i+16>>2]|0)|0)+m|0;Mb=l;return m|0}function bl(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=Mb;Mb=Mb+224|0;p=t+208|0;q=t+160|0;r=t+80|0;s=t;h=q;i=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[p>>2]=c[e>>2];if((Vc(0,d,p,r,q,f,g)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=nV(b)|0;else o=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;h=b+48|0;if(!(c[h>>2]|0)){i=b+44|0;j=c[i>>2]|0;c[i>>2]=s;k=b+28|0;c[k>>2]=s;l=b+20|0;c[l>>2]=s;c[h>>2]=80;m=b+16|0;c[m>>2]=s+80;e=Vc(b,d,p,r,q,f,g)|0;if(j){Yb[c[b+36>>2]&15](b,0,0)|0;e=(c[l>>2]|0)==0?-1:e;c[i>>2]=j;c[h>>2]=0;c[m>>2]=0;c[k>>2]=0;c[l>>2]=0}}else e=Vc(b,d,p,r,q,f,g)|0;h=c[b>>2]|0;c[b>>2]=h|n;if(o|0)mV(b);e=(h&32|0)==0?e:-1}Mb=t;return e|0}function cl(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=8-g|0;j=8-h|0;l=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;h=H(h,g)|0;a:do if(!h){i=j+k|0;if(!i){g=0;while(1){if((g|0)>=(f|0))break a;k=((d[b>>0]|0)+1+(((H(l,d[c>>0]|0)|0)+32|0)>>>6)|0)>>>1&255;a[b>>0]=k;b=b+e|0;g=g+1|0;c=c+e|0}}else{h=(k|0)==0?1:e;g=0;while(1){if((g|0)>=(f|0))break a;k=H(l,d[c>>0]|0)|0;k=((d[b>>0]|0)+1+((k+32+(H(i,d[c+h>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[b>>0]=k;b=b+e|0;g=g+1|0;c=c+e|0}}}else{i=e+1|0;g=0;while(1){if((g|0)>=(f|0))break a;p=H(l,d[c>>0]|0)|0;o=H(j,d[c+1>>0]|0)|0;m=c+e|0;n=H(k,d[m>>0]|0)|0;n=((d[b>>0]|0)+1+((p+32+o+n+(H(h,d[c+i>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[b>>0]=n;b=b+e|0;g=g+1|0;c=m}}while(0);return}function dl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a>>>0>16?a:16;if(!(d+-1&d))a=d;else{a=16;while(1)if(a>>>0<d>>>0)a=a<<1;else break}if((-64-a|0)>>>0<=b>>>0){h=pV()|0;c[h>>2]=12;h=0;return h|0}g=b>>>0<11?16:b+11&-8;d=wc(g+12+a|0)|0;if(!d){h=0;return h|0}f=d+-8|0;do if(a+-1&d){e=(d+a+-1&0-a)+-8|0;b=f;e=(e-b|0)>>>0>15?e:e+a|0;b=e-b|0;a=d+-4|0;i=c[a>>2]|0;d=(i&-8)-b|0;if(!(i&3)){c[e>>2]=(c[f>>2]|0)+b;c[e+4>>2]=d;a=e;b=e;break}else{i=e+4|0;c[i>>2]=d|c[i>>2]&1|2;d=e+d+4|0;c[d>>2]=c[d>>2]|1;c[a>>2]=b|c[a>>2]&1|2;c[i>>2]=c[i>>2]|1;rd(f,b);a=e;b=e;break}}else{a=f;b=f}while(0);a=a+4|0;d=c[a>>2]|0;if(d&3|0?(h=d&-8,h>>>0>(g+16|0)>>>0):0){i=h-g|0;f=b+g|0;c[a>>2]=g|d&1|2;c[f+4>>2]=i|3;h=b+h+4|0;c[h>>2]=c[h>>2]|1;rd(f,i)}i=b+8|0;return i|0}function el(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;i=c+2|0;l=c+-2|0;a=c+4|0;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+6|0;m=(((e[i>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[j>>1]|0)>>5;b[d>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;m=H((e[j>>1]|0)+(e[c>>1]|0)|0,-5)|0;k=c+8|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+2>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+10|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[l>>1]|0)>>5;b[d+4>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+12>>1]|0)>>5;b[d+6>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function fl(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+112|0;f=g;e=c[f>>2]|0;f=c[f+4>>2]|0;if(!((e|0)==0&(f|0)==0)?(i=b+120|0,h=c[i+4>>2]|0,!((h|0)<(f|0)|((h|0)==(f|0)?(c[i>>2]|0)>>>0<e>>>0:0))):0)j=4;else{e=pJ(b)|0;if((e|0)>=0){f=c[g>>2]|0;g=c[g+4>>2]|0;i=c[b+8>>2]|0;if(!((f|0)==0&(g|0)==0)){h=c[b+4>>2]|0;k=i-h|0;l=((k|0)<0)<<31>>31;m=b+120|0;f=QO(f|0,g|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=M()|0;g=i;if((m|0)>(l|0)|(m|0)==(l|0)&f>>>0>k>>>0)j=9;else c[b+104>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+104>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;k=g+1-f|0;m=b+120|0;l=m;k=SO(c[l>>2]|0,c[l+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;l=M()|0;c[m>>2]=k;c[m+4>>2]=l}f=f+-1|0;if((e|0)!=(d[f>>0]|0|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+104>>2]=0;e=-1}return e|0}function gl(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=Mb;Mb=Mb+64|0;h=i;g=0;while(1){if((g|0)==4)break;q=g<<2;m=b[e+(q<<1)>>1]|0;n=q|1;k=b[e+(n<<1)>>1]|0;p=k+m|0;k=m-k|0;m=q|2;o=b[e+(m<<1)>>1]|0;j=q|3;r=b[e+(j<<1)>>1]|0;l=o-r|0;o=r+o|0;c[h+(q<<2)>>2]=o+p;c[h+(n<<2)>>2]=p-o;c[h+(m<<2)>>2]=k-l;c[h+(j<<2)>>2]=l+k;g=g+1|0}g=0;while(1){if((g|0)==4)break;r=d[172092+g>>0]|0;q=c[h+(g<<2)>>2]|0;n=c[h+(g+8<<2)>>2]|0;p=n+q|0;n=q-n|0;q=c[h+(g+4<<2)>>2]|0;m=c[h+(g+12<<2)>>2]|0;o=q-m|0;q=m+q|0;m=((H(q+p|0,f)|0)+128|0)>>>8&65535;b[a+(r<<1)>>1]=m;m=((H(o+n|0,f)|0)+128|0)>>>8&65535;b[a+(r+16<<1)>>1]=m;o=((H(n-o|0,f)|0)+128|0)>>>8&65535;b[a+(r+64<<1)>>1]=o;q=((H(p-q|0,f)|0)+128|0)>>>8&65535;b[a+(r+80<<1)>>1]=q;g=g+1|0}Mb=i;return}function hl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0;y=a+32|0;z=a+36|0;i=c[z>>2]|0;w=c[a+40>>2]|0;h=+(w|0);x=c[a+48>>2]|0;j=c[y>>2]|0;k=0;while(1){if((j|0)<(x|0))break;j=j-x|0;k=k+1|0}r=1.0/h;s=a+4|0;t=a+12|0;u=a+8|0;v=a+28|0;q=a+24|0;p=0;a=j;j=k;while(1){if((p|0)>=(e|0))break;m=c[t>>2]|0;n=(c[s>>2]|0)+((H(m,a)|0)<<3)|0;o=c[u>>2]|0;k=0;h=0.0;l=0.0;while(1){if((k|0)>=(o|0))break;B=+g[d+(k+j<<3)>>3];A=l+B*+g[n+(k<<3)>>3];B=h+B*+g[n+(k+m<<3)>>3];k=k+1|0;h=B;l=A}g[b+(p<<3)>>3]=l+r*(h-l)*+(i|0);i=(c[v>>2]|0)+i|0;o=(i|0)<(w|0);k=o?0:w;a=(c[q>>2]|0)+a+((o^1)&1)|0;while(1){if((a|0)<(x|0))break;j=j+1|0;a=a-x|0}p=p+1|0;i=i-k|0}if(f|0){c[z>>2]=i;c[y>>2]=a}return j|0}function il(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0;y=a+32|0;z=a+36|0;i=c[z>>2]|0;w=c[a+40>>2]|0;h=+(w|0);x=c[a+48>>2]|0;j=c[y>>2]|0;k=0;while(1){if((j|0)<(x|0))break;j=j-x|0;k=k+1|0}r=1.0/h;s=a+4|0;t=a+12|0;u=a+8|0;v=a+28|0;q=a+24|0;p=0;a=j;j=k;while(1){if((p|0)>=(e|0))break;m=c[t>>2]|0;n=(c[s>>2]|0)+((H(m,a)|0)<<2)|0;o=c[u>>2]|0;k=0;h=0.0;l=0.0;while(1){if((k|0)>=(o|0))break;B=+f[d+(k+j<<2)>>2];A=l+B*+f[n+(k<<2)>>2];B=h+B*+f[n+(k+m<<2)>>2];k=k+1|0;h=B;l=A}f[b+(p<<2)>>2]=r*(h-l)*+(i|0)+l;i=(c[v>>2]|0)+i|0;o=(i|0)<(w|0);k=o?0:w;a=(c[q>>2]|0)+a+((o^1)&1)|0;while(1){if((a|0)<(x|0))break;j=j+1|0;a=a-x|0}p=p+1|0;i=i-k|0}if(g|0){c[z>>2]=i;c[y>>2]=a}return j|0}function jl(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;i=c+2|0;l=c+-2|0;a=c+4|0;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+6|0;m=(((e[i>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[j>>1]|0)>>5;b[d>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;m=H((e[j>>1]|0)+(e[c>>1]|0)|0,-5)|0;k=c+8|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+2>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+10|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[l>>1]|0)>>5;b[d+4>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+12>>1]|0)>>5;b[d+6>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function kl(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;i=c+2|0;l=c+-2|0;a=c+4|0;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+6|0;m=(((e[i>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[j>>1]|0)>>5;b[d>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;m=H((e[j>>1]|0)+(e[c>>1]|0)|0,-5)|0;k=c+8|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+2>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+10|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[l>>1]|0)>>5;b[d+4>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+12>>1]|0)>>5;b[d+6>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function ll(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;i=c+2|0;l=c+-2|0;a=c+4|0;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+6|0;m=(((e[i>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[j>>1]|0)>>5;b[d>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;m=H((e[j>>1]|0)+(e[c>>1]|0)|0,-5)|0;k=c+8|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+2>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+10|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[l>>1]|0)>>5;b[d+4>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+12>>1]|0)>>5;b[d+6>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function ml(a,b,d){a=a|0;b=b|0;d=d|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;k=c[a+8>>2]|0;l=c[a+24>>2]|0;m=c[a+28>>2]|0;i=1<<c[a+20>>2];j=i>>2;g=0;h=d;d=d+(i>>1<<2)+-4|0;while(1){if((g|0)>=(j|0))break;n=e[k+(g<<1)>>1]|0;o=l+(g<<2)|0;p=m+(g<<2)|0;f[b+(n<<3)>>2]=+f[d>>2]*+f[o>>2]-+f[h>>2]*+f[p>>2];f[b+(n<<3)+4>>2]=+f[d>>2]*+f[p>>2]+ +f[h>>2]*+f[o>>2];g=g+1|0;h=h+8|0;d=d+-8|0}g=i>>3;ec[c[a+36>>2]&255](a,b);d=0;while(1){if((g|0)<=(d|0))break;k=g-d+-1|0;n=b+(k<<3)+4|0;r=+f[n>>2];t=+f[m+(k<<2)>>2];a=b+(k<<3)|0;s=+f[a>>2];q=+f[l+(k<<2)>>2];k=d+g|0;p=b+(k<<3)+4|0;x=+f[p>>2];w=+f[m+(k<<2)>>2];o=b+(k<<3)|0;v=+f[o>>2];u=+f[l+(k<<2)>>2];f[a>>2]=r*t-s*q;f[n>>2]=w*v+x*u;f[o>>2]=x*w-v*u;f[p>>2]=t*s+r*q;d=d+1|0}return}function nl(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;q=d+8|0;r=e+8|0;s=d+12|0;t=e+12|0;u=d+16|0;v=e+16|0;h=d+24|0;i=e+24|0;j=d+4|0;k=e+36|0;l=d+20|0;m=e+52|0;n=d+28|0;o=e+60|0;p=a+4|0;g=0;while(1){if((g|0)>=(f|0))break;y=H(c[r>>2]|0,b[(c[q>>2]|0)+(g<<1)>>1]|0)|0;y=(H(c[t>>2]|0,b[(c[s>>2]|0)+(g<<1)>>1]|0)|0)+y|0;w=H(c[e>>2]|0,b[(c[d>>2]|0)+(g<<1)>>1]|0)|0;x=H(c[v>>2]|0,b[(c[u>>2]|0)+(g<<1)>>1]|0)|0;y=y+16384|0;x=(y+w+x+(H(c[i>>2]|0,b[(c[h>>2]|0)+(g<<1)>>1]|0)|0)|0)>>>15&65535;b[(c[a>>2]|0)+(g<<1)>>1]=x;x=H(c[k>>2]|0,b[(c[j>>2]|0)+(g<<1)>>1]|0)|0;w=H(c[m>>2]|0,b[(c[l>>2]|0)+(g<<1)>>1]|0)|0;w=(y+x+w+(H(c[o>>2]|0,b[(c[n>>2]|0)+(g<<1)>>1]|0)|0)|0)>>>15&65535;b[(c[p>>2]|0)+(g<<1)>>1]=w;g=g+1|0}return}function ol(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=8-g|0;j=8-h|0;m=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;i=H(h,g)|0;l=d>>1;a:do if(!i){d=j+k|0;if(!d){g=0;while(1){if((g|0)>=(f|0))break a;k=((H(m,e[c>>1]|0)|0)+32|0)>>>6&65535;b[a>>1]=k;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}else{h=(k|0)==0?1:l;g=0;while(1){if((g|0)>=(f|0))break a;k=H(m,e[c>>1]|0)|0;k=(k+32+(H(d,e[c+(h<<1)>>1]|0)|0)|0)>>>6&65535;b[a>>1]=k;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}}else{h=l+1|0;g=0;while(1){if((g|0)>=(f|0))break a;p=H(m,e[c>>1]|0)|0;o=H(j,e[c+2>>1]|0)|0;d=c+(l<<1)|0;n=H(k,e[d>>1]|0)|0;n=(p+32+o+n+(H(i,e[c+(h<<1)>>1]|0)|0)|0)>>>6&65535;b[a>>1]=n;a=a+(l<<1)|0;g=g+1|0;c=d}}while(0);return}function pl(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;i=i|0;var j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0;q=Mb;Mb=Mb+16|0;p=q;j=0;while(1){if((j|0)==3)break;f[p+(j<<2)>>2]=+f[163828+(j<<2)>>2]*h;j=j+1|0}m=d+4|0;j=0;while(1){if((j|0)>=(i|0))break;r=+f[b+(j<<3)>>2];t=+f[d>>2];s=+f[b+(j<<3)+4>>2];k=+f[m>>2];n=j+2|0;o=j+5|0;h=r*t-s*k;k=t*s+r*k;l=0;while(1){if((l|0)==3)break;r=+f[p+(l<<2)>>2];x=n-l|0;u=+f[c+(l*296|0)+(x<<3)>>2];w=+f[c+(l*296|0)+(x<<3)+4>>2];v=+f[e+(l<<3)>>2];t=+f[e+(l<<3)+4>>2];s=u*v-w*t-h*r;t=w*v+u*t-k*r;f[c+(l*296|0)+(o<<3)>>2]=h+r*s;f[c+(l*296|0)+(o<<3)+4>>2]=k+r*t;h=s;k=t;l=l+1|0}x=g+(j<<2)|0;f[a+(j<<3)>>2]=h*+f[x>>2];f[a+(j<<3)+4>>2]=k*+f[x>>2];j=j+1|0}Mb=q;return}function ql(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=Mb;Mb=Mb+32|0;i=o+16|0;h=o;f=c[a+28200>>2]|0;b=c[f+84>>2]|0;d=c[f+80>>2]|0;e=c[f+88>>2]|0;f=c[f+92>>2]|0;m=c[a+25656>>2]|0;p=d+b|0;k=m-p|0;n=c[a+25660>>2]|0;g=f+e|0;j=n-g|0;if(m>>>0<=p>>>0){c[h>>2]=199915;c[h+4>>2]=198956;c[h+8>>2]=880;Xw(0,0,213444,h);ba()}if(n>>>0<=g>>>0){c[i>>2]=199969;c[i+4>>2]=198956;c[i+8>>2]=881;Xw(0,0,213444,i);ba()}g=a+29648|0;i=c[g>>2]|0;h=a+29652|0;if((((i|0)>0?(l=c[h>>2]|0,(e|d|0)==0&(l|0)>0):0)?(i+15^k+15)>>>0<16:0)?!((l|0)>(j|0)|((i|0)>(k|0)|(l+15^j+15)>>>0>15)):0){h=l;g=i;f=n-l|0;e=0;d=0;b=m-i|0}else{c[g>>2]=0;c[h>>2]=0;h=j;g=k}p=c[a+4>>2]|0;c[p+132>>2]=m;c[p+136>>2]=n;c[p+124>>2]=g;c[p+128>>2]=h;c[a+25704>>2]=b;c[a+25700>>2]=d;c[a+25708>>2]=e;c[a+25712>>2]=f;Mb=o;return}function rl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=Mb;Mb=Mb+32|0;n=o+16|0;gO(e,2);m=Hz(e,4)|0;if((c[b+4>>2]|0)!=(m|0))Xw(a,24,187963,o);k=Hz(e,4)|0;b=Hz(e,4)|0;g=Hz(e,4)|0;h=Hz(e,2)|0;l=Hz(e,3)|0;m=Hz(e,4)|0;if(uL(e)|0)gO(e,4);if(uL(e)|0)gO(e,4);if(uL(e)|0)gO(e,3);i=b+k|0;j=i+g|0;do if((pS(e)|0)>=(((m+j|0)*5|0)+(l+h+m<<2)|0)){_q(d,1,e,k);_q(d+(k*3|0)|0,2,e,b);_q(d+(i*3|0)|0,3,e,g);_q(d+(j*3|0)|0,4,e,h);g=j+h|0;qK(e,l<<2);_q(d+(g*3|0)|0,5,e,m);MP(e,f);b=(Hz(e,8)|0)<<3;if((pS(e)|0)<(b|0)){Xw(a,16,188074,n);b=-1094995529;break}else{qK(e,b);b=m+g|0;break}}else{Xw(a,16,188074,o+8|0);b=-1}while(0);Mb=o;return b|0}function sl(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=g>>1;h=c;i=0;d=d+(0-(g&-2)<<1)|0;while(1){if((i|0)==7)break;l=d+2|0;k=d+-2|0;m=d+4|0;n=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;g=d+6|0;b[h>>1]=(((e[l>>1]|0)+(e[d>>1]|0)|0)*20|0)+(e[d+-4>>1]|0)+n+(e[g>>1]|0);g=H((e[g>>1]|0)+(e[d>>1]|0)|0,-5)|0;b[h+2>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+(e[k>>1]|0)+g+(e[d+8>>1]|0);h=h+8|0;i=i+1|0;d=d+(j<<1)|0}h=f>>1;d=c+16|0;g=0;while(1){if((g|0)==2)break;j=b[d+-8>>1]|0;n=b[d>>1]|0;l=b[d+8>>1]|0;k=b[d+16>>1]|0;m=b[d+24>>1]|0;c=b[d+32>>1]|0;f=(b[d+-16>>1]|0)+512+m+((l+n|0)*20|0)+(H(k+j|0,-5)|0)>>10;b[a>>1]=f>>>0<512?f:(f^-2147483648)>>31&511;n=j+512+c+((k+l|0)*20|0)+(H(m+n|0,-5)|0)>>10;b[a+(h<<1)>>1]=n>>>0<512?n:(n^-2147483648)>>31&511;a=a+2|0;d=d+2|0;g=g+1|0}return}function tl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+13444>>2]|0;e=c[a+13384>>2]|0;b=SO(b|0,((b|0)<0)<<31>>31|0,2,0)|0;b=SO(b|0,M()|0,e|0,((e|0)<0)<<31>>31|0)|0;e=M()|0;h=c[f+48>>2]|0;d=((h|0)<0)<<31>>31;e=XJ(b|0,e|0,h|0,d|0)|0;b=M()|0;g=c[f+32>>2]|0;g=QO(e|0,b|0,g|0,((g|0)<0)<<31>>31|0)|0;b=M()|0;e=c[a+44>>2]|0;a=c[a+40>>2]|0;d=XJ(a|0,((a|0)<0)<<31>>31|0,h|0,d|0)|0;d=Ne(g,b,e,((e|0)<0)<<31>>31,d,M()|0,3)|0;e=M()|0;a=SO(d|0,e|0,2,0)|0;b=M()|0;if(c[f+44>>2]|0)if((e|0)>0|(e|0)==0&d>>>0>2147483645){b=-1;a=-22}else{e=c[f+16>>2]|0;e=XJ(a|0,b|0,e|0,((e|0)<0)<<31>>31|0)|0;e=SO(e|0,M()|0,-1,-1)|0;g=M()|0;h=c[f+20>>2]|0;h=pu(e|0,g|0,h|0,((h|0)<0)<<31>>31|0)|0;h=SO(h|0,M()|0,1,0)|0;f=M()|0;g=(b|0)>(f|0)|(b|0)==(f|0)&a>>>0>h>>>0;b=g?b:f;a=g?a:h}L(b|0);return a|0}function ul(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0;o=(c[f+21792>>2]>>c[f+21828>>2]<<4)+j|0;do if(k|0){j=a[(d[88656+h>>0]|0)+(f+28272)>>0]|0;if((c[(c[(c[f+23416+(j*40|0)+36>>2]|0)+16>>2]|0)+4>>2]|0)==(c[(c[e+24332>>2]|0)+4>>2]|0)?(c[f+23416+(j*40|0)+24>>2]&3|0)==(c[e+26364>>2]|0):0)break;n=hJ(f,h,i,o,0)|0;j=g+(j<<1)|0;k=b[j>>1]|0;if(k<<16>>16<0)c[m>>2]=(c[m>>2]|0)+1;k=k<<16>>16;b[j>>1]=(n|0)<(k|0)?k:n}while(0);do if(l|0){j=a[(d[88656+h>>0]|0)+(f+28312)>>0]|0;if((c[(c[(c[f+25336+(j*40|0)+36>>2]|0)+16>>2]|0)+4>>2]|0)==(c[(c[e+24332>>2]|0)+4>>2]|0)?(c[f+25336+(j*40|0)+24>>2]&3|0)==(c[e+26364>>2]|0):0)break;n=hJ(f,h,i,o,1)|0;j=g+96+(j<<1)|0;k=b[j>>1]|0;if(k<<16>>16<0){m=m+4|0;c[m>>2]=(c[m>>2]|0)+1}m=k<<16>>16;b[j>>1]=(n|0)<(m|0)?m:n}while(0);return}function vl(a,b,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;p=Mb;Mb=Mb+16|0;n=p;m=p+4|0;c[m>>2]=a;if(!a){a=eQ()|0;c[m>>2]=a;if(!a)a=0;else o=3}else o=3;do if((o|0)==3){c[a+4>>2]=k;c[a+8>>2]=l;if((((((((GP(a,210723,b,d,0)|0)>=0?(GP(a,210566,e,((e|0)<0)<<31>>31,0)|0)>=0:0)?(GP(a,210481,f,((f|0)<0)<<31>>31,0)|0)>=0:0)?(GP(a,210661,g,h,0)|0)>=0:0)?(GP(a,210524,i,((i|0)<0)<<31>>31,0)|0)>=0:0)?(GP(a,210440,j,((j|0)<0)<<31>>31,0)|0)>=0:0)?(o=a+104|0,o=_w(c[o>>2]|0,c[o+4>>2]|0)|0,(GP(a,210302,o,((o|0)<0)<<31>>31,0)|0)>=0):0)?(o=a+112|0,o=_w(c[o>>2]|0,c[o+4>>2]|0)|0,(GP(a,210347,o,((o|0)<0)<<31>>31,0)|0)>=0):0){GP(a,210394,0,0,0)|0;break}Xw(a,16,208847,n);yM(m);a=0}while(0);Mb=p;return a|0}function wl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+16|0;g=j;i=a+32856|0;do if(!(Gu(i,b+2+(d+-3>>31)+(d+-33>>31)+(a+32904)|0)|0)){c[e>>2]=0;d=0}else{f=1;d=b+3|0;while(1){if(f>>>0>=9){h=5;break}if(!(Gu(i,a+32904+d|0)|0)){b=f;d=f;break}b=d+(f>>>0<4&1)|0;f=f+1|0;d=b}if((h|0)==5){b=3;while(1){if(!(cI(i)|0))break;if(b>>>0>23){h=15;break}d=(1<<b)+f|0;b=b+1|0;f=d}if((h|0)==15){Xw(c[(c[a>>2]|0)+4>>2]|0,16,201435,g);d=-2147483648;break}while(1){d=b+-1|0;if(!b)break;b=d;f=((cI(i)|0)<<d)+f|0}b=f;d=(f|0)<70?f:70}c[e>>2]=d;e=c[i>>2]|0;d=e<<1;c[i>>2]=d;if(!(e&32767)){CM(i);d=c[i>>2]|0}e=c[a+32860>>2]<<17;a=d-e|0;d=a>>31;c[i>>2]=(d&e)+a;d=(d^0-b)-d|0}while(0);Mb=j;return d|0}function xl(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=Mb;Mb=Mb+64|0;g=h;f=0;while(1){if((f|0)==4)break;p=f<<2;l=c[b+(p<<2)>>2]|0;m=p|1;j=c[b+(m<<2)>>2]|0;o=j+l|0;j=l-j|0;l=p|2;n=c[b+(l<<2)>>2]|0;i=p|3;q=c[b+(i<<2)>>2]|0;k=n-q|0;n=q+n|0;c[g+(p<<2)>>2]=n+o;c[g+(m<<2)>>2]=o-n;c[g+(l<<2)>>2]=j-k;c[g+(i<<2)>>2]=k+j;f=f+1|0}f=0;while(1){if((f|0)==4)break;q=d[172092+f>>0]|0;p=c[g+(f<<2)>>2]|0;m=c[g+(f+8<<2)>>2]|0;o=m+p|0;m=p-m|0;p=c[g+(f+4<<2)>>2]|0;l=c[g+(f+12<<2)>>2]|0;n=p-l|0;p=l+p|0;l=(H(p+o|0,e)|0)+128>>8;c[a+(q<<2)>>2]=l;l=(H(n+m|0,e)|0)+128>>8;c[a+(q+16<<2)>>2]=l;n=(H(m-n|0,e)|0)+128>>8;c[a+(q+64<<2)>>2]=n;p=(H(o-p|0,e)|0)+128>>8;c[a+(q+80<<2)>>2]=p;f=f+1|0}Mb=h;return}function yl(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+6)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:(k^-2147483648)>>31&16383;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:(k^-2147483648)>>31&16383;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:(k^-2147483648)>>31&16383;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:(k^-2147483648)>>31&16383;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:(k^-2147483648)>>31&16383;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:(k^-2147483648)>>31&16383;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:(k^-2147483648)>>31&16383;c=c+(j<<1)|0;h=h+1|0}return}function zl(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=c[b+25372>>2]|0;r=(h|0)!=0;p=r?16:0;q=c[b+23404>>2]|0;q=r?(q<<1)+16|0:q;if(r)n=1;else n=(c[a+26364>>2]|0)!=3;Wp(d+(e*192|0)|0,0,192)|0;k=s+616+(g<<3)+(e<<2)|0;l=s+632|0;h=0;while(1){if((h|0)==2)break;m=h+1|0;o=n&(h|0)!=(f|0);j=(h^f)+16|0;i=0;while(1){if((i|0)>=(c[k>>2]|0))break;h=c[s+104+(g<<8)+(e<<7)+(i<<2)>>2]|0;if(n)a=(h&3|0)==3?m+(h&-4)|0:h;else a=h|3;h=p;while(1){if((h|0)>=(q|0))break;if((c[b+23416+(h*40|0)+24>>2]&3|c[(c[b+23416+(h*40|0)+36>>2]|0)+88>>2]<<2|0)==(a|0)){t=14;break}h=h+1|0}if((t|0)==14){t=0;h=r?h+-16^f:h;if(c[l>>2]|0)c[d+(e*192|0)+(j+(i<<1)<<2)>>2]=h;if(!o)c[d+(e*192|0)+(i<<2)>>2]=h}i=i+1|0}h=m}return}function Al(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=Mb;Mb=Mb+144|0;l=o;m=o+128|0;n=c[a+4916>>2]|0;hc[c[a+2964>>2]&255](l,e,f,g);k=_b[c[a+6248>>2]&63](a,l,0,c[a+1920>>2]|0,m)|0;c[a+16>>2]=k;if(!(c[a+4312>>2]|0)){e=a+4940|0;f=a+4936|0;h=0;g=0}else{e=a+4924|0;f=a+4920|0;h=d[(c[a+4944>>2]|0)+((b[l>>1]|0)+256)>>0]|0;g=1}j=c[e>>2]|0;i=c[f>>2]|0;do if((k|0)>=(g|0)){f=0;while(1){c[m>>2]=g;if((g|0)==(k|0))break;e=b[l+(d[a+204+g>>0]<<1)>>1]|0;if(!(e<<16>>16))f=f+1|0;else{e=(e<<16>>16)+64|0;if(e>>>0<128)e=d[i+(e+(f<<7))>>0]|0;else e=n;f=0;h=e+h|0}g=g+1|0}e=d[a+204+k>>0]|0;c[m>>2]=e;e=(b[l+(e<<1)>>1]|0)+64|0;if(e>>>0<128){h=h+(d[j+(e+(f<<7))>>0]|0)|0;break}else{h=h+n|0;break}}while(0);Mb=o;return h|0}function Bl(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=d>>1;g=d&-2;h=i*3|0;f=0;d=c;while(1){if((f|0)==4)break;q=e[d+-8>>1]|0;p=e[d>>1]|0;o=e[d+8>>1]|0;j=e[d+16>>1]|0;l=e[d+24>>1]|0;m=e[d+32>>1]|0;k=e[d+40>>1]|0;n=e[d+48>>1]|0;c=(e[d+-16>>1]|0)+16+l+((o+p|0)*20|0)+(H(j+q|0,-5)|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(c>>>0<16384?c:(c^-2147483648)>>31&16383)|0)>>>1;c=a+(i<<1)|0;q=q+16+m+((j+o|0)*20|0)+(H(l+p|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(q>>>0<16384?q:(q^-2147483648)>>31&16383)|0)>>>1;c=a+(g<<1)|0;p=p+16+k+((l+j|0)*20|0)+(H(m+o|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(p>>>0<16384?p:(p^-2147483648)>>31&16383)|0)>>>1;c=a+(h<<1)|0;j=o+16+n+((m+l|0)*20|0)+(H(k+j|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(j>>>0<16384?j:(j^-2147483648)>>31&16383)|0)>>>1;f=f+1|0;a=a+2|0;d=d+2|0}return}function Cl(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;do if(c[a+26360>>2]|0){j=c[a+27e3>>2]|0;h=(H(j,f&-2)|0)+d|0;g=h+-1|0;i=(f&1|0)!=0;if(i?(c[b+832>>2]|0)==(e[(c[a+26356>>2]|0)+(g<<1)>>1]|0|0):0)g=((c[b+21828>>2]|0)==((c[(c[a+24364>>2]|0)+(g<<2)>>2]|0)>>>7&1|0)?j:0)+g|0;if(!(c[b+21828>>2]|0)){h=(H(j,f+-1|0)|0)+d|0;break}h=h-j|0;if(!i?(c[b+832>>2]|0)==(e[(c[a+26356>>2]|0)+(h<<1)>>1]|0|0):0)h=h-((c[(c[a+24364>>2]|0)+(h<<2)>>2]&128|0)==0?0:j)|0}else{h=c[b+21796>>2]|0;g=h+-1|0;h=h-(c[a+27e3>>2]<<((c[a+26364>>2]|0)!=3&1))|0}while(0);i=c[a+26356>>2]|0;d=c[b+832>>2]|0;if((d|0)==(e[i+(g<<1)>>1]|0|0))g=(c[(c[a+24364>>2]|0)+(g<<2)>>2]|0)>>>11&1^1;else g=0;if((d|0)==(e[i+(h<<1)>>1]|0|0))g=((c[(c[a+24364>>2]|0)+(h<<2)>>2]|0)>>>11&1^1)+g|0;return Gu(b+32856|0,((c[b+840>>2]|0)==3?g+13|0:g)+11+(b+32904)|0)|0}function Dl(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;q=a+12|0;r=a+8|0;s=a+4|0;m=0;while(1){if((m|0)>=(e|0))break;t=c[q>>2]|0;u=c[r>>2]|0;v=c[s>>2]|0;n=c[a>>2]|0;o=b+(m<<4<<2)|0;i=n;j=v;k=u;f=t;l=0;while(1){if((l|0)==64)break;p=d[(l&3)+(91632+(l>>>4<<2))>>0]|0;h=(c[91648+(l<<2)>>2]|0)+f|0;do if(l>>>0<32)if(l>>>0<16){f=(i^j)&k^i;g=l;break}else{f=i&k|j&~i;g=(l*5|0)+1|0;break}else if(l>>>0<48){f=i^j^k;g=(l*3|0)+5|0;break}else{f=(k|~i)^j;g=l*7|0;break}while(0);g=o+((g&15)<<2)|0;f=h+((d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24)+f)|0;g=k;h=j;k=(f<<p|f>>>(32-p|0))+k|0;l=l+1|0;f=i;j=g;i=h}c[a>>2]=i+n;c[s>>2]=j+v;c[r>>2]=k+u;c[q>>2]=f+t;m=m+1|0}return}function El(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=Mb;Mb=Mb+64|0;v=w;p=a+8|0;q=v+48|0;r=v+52|0;s=v+56|0;t=v+60|0;u=v+4|0;e=v+8|0;g=v+12|0;h=v+16|0;i=v+40|0;j=v+20|0;k=v+44|0;l=v+24|0;m=v+32|0;n=v+28|0;o=v+36|0;a=b;b=0;while(1){if((b|0)==32)break;jc[c[p>>2]&127](v,a,1068416,1,8);c[d+(b<<3)>>2]=c[q>>2];c[d+(b<<3)+4>>2]=c[r>>2];c[d+256+(b<<3)>>2]=c[s>>2];c[d+256+(b<<3)+4>>2]=c[t>>2];c[d+512+(b<<3)>>2]=c[v>>2];c[d+512+(b<<3)+4>>2]=c[u>>2];c[d+768+(b<<3)>>2]=c[e>>2];c[d+768+(b<<3)+4>>2]=c[g>>2];f[d+1024+(b<<3)>>2]=+f[h>>2]+ +f[i>>2];f[d+1024+(b<<3)+4>>2]=+f[j>>2]+ +f[k>>2];f[d+1280+(b<<3)>>2]=+f[l>>2]+ +f[m>>2];f[d+1280+(b<<3)+4>>2]=+f[n>>2]+ +f[o>>2];a=a+8|0;b=b+1|0}Mb=w;return}function Fl(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0;l=Mb;Mb=Mb+16|0;j=l;e=l+8|0;i=UO(b)|0;h=(M()|0)&2147483647;do if(h>>>0>2146435072|(h|0)==2146435072&i>>>0>0){c[a>>2]=0;c[a+4>>2]=0}else{if(+u(+b)>2147483650.0){c[a>>2]=b<0.0?-1:1;c[a+4>>2]=0;break}+Tt(b,e);f=(c[e>>2]|0)+-1|0;f=(f|0)>0?f:0;c[e>>2]=f;e=cN(1,0,61-f|0)|0;f=M()|0;g=j+4|0;m=+t(+((+(e>>>0)+4294967296.0*+(f|0))*b+.5));h=~~m>>>0;i=+u(m)>=1.0?(m>0.0?~~+I(+t(m/4294967296.0),4294967295.0)>>>0:~~+G((m-+(~~m>>>0))/4294967296.0)>>>0):0;Hf(j,g,h,i,e,f,d,((d|0)<0)<<31>>31)|0;if(!(c[j>>2]|0)){if((d|0)!=2147483647&(b!=0.0&(d|0)>0))k=8}else if((d|0)!=2147483647&((d|0)>0&(b!=0.0&(c[g>>2]|0)==0)))k=8;if((k|0)==8)Hf(j,g,h,i,e,f,2147483647,0)|0;d=j;j=c[d+4>>2]|0;k=a;c[k>>2]=c[d>>2];c[k+4>>2]=j}while(0);Mb=l;return}function Gl(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=d>>1;l=e[a+(~k<<1)>>1]|0;q=e[a+(0-k<<1)>>1]|0;o=e[a+(1-k<<1)>>1]|0;n=e[a+(2-k<<1)>>1]|0;i=e[a+-2>>1]|0;h=e[a+(k+-1<<1)>>1]|0;j=d&-2;g=e[a+(j+-1<<1)>>1]|0;c=k*3|0;f=e[a+(c+-1<<1)>>1]|0;m=i+1|0;p=(m+l|0)>>>1&65535;b[a+(k+2<<1)>>1]=p;b[a>>1]=p;p=q+2|0;r=(p+(l<<1)+i|0)>>>2&65535;b[a+(k+3<<1)>>1]=r;b[a+2>>1]=r;l=l+2|0;b[a+4>>1]=(l+(q<<1)+o|0)>>>2;b[a+6>>1]=(p+(o<<1)+n|0)>>>2;m=(m+h|0)>>>1&65535;b[a+(j+2<<1)>>1]=m;b[a+(k<<1)>>1]=m;l=(l+(i<<1)+h|0)>>>2&65535;b[a+(j+3<<1)>>1]=l;b[a+(k+1<<1)>>1]=l;k=(h+1+g|0)>>>1&65535;b[a+(c+2<<1)>>1]=k;b[a+(j<<1)>>1]=k;i=(i+2+(h<<1)+g|0)>>>2&65535;b[a+(c+3<<1)>>1]=i;b[a+((d|1)<<1)>>1]=i;b[a+(c<<1)>>1]=(g+1+f|0)>>>1;b[a+(c+1<<1)>>1]=(h+2+(g<<1)+f|0)>>>2;return}function Hl(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=d>>1;p=e[a+(~j<<1)>>1]|0;o=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;k=e[a+(3-j<<1)>>1]|0;h=e[a+-2>>1]|0;g=e[a+(j+-1<<1)>>1]|0;i=d&-2;f=e[a+(i+-1<<1)>>1]|0;c=j*3|0;n=o+1|0;q=(n+p|0)>>>1&65535;b[a+((d|1)<<1)>>1]=q;b[a>>1]=q;n=(n+m|0)>>>1&65535;b[a+(i+2<<1)>>1]=n;b[a+2>>1]=n;n=(m+1+l|0)>>>1&65535;b[a+(i+3<<1)>>1]=n;b[a+4>>1]=n;b[a+6>>1]=(l+1+k|0)>>>1;n=o+2|0;d=(n+(p<<1)+h|0)>>>2&65535;b[a+(c+1<<1)>>1]=d;b[a+(j<<1)>>1]=d;d=p+2|0;o=(d+(o<<1)+m|0)>>>2&65535;b[a+(c+2<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;n=(n+(m<<1)+l|0)>>>2&65535;b[a+(c+3<<1)>>1]=n;b[a+(j+2<<1)>>1]=n;b[a+(j+3<<1)>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+(i<<1)>>1]=(d+(h<<1)+g|0)>>>2;b[a+(c<<1)>>1]=(h+2+(g<<1)+f|0)>>>2;return}function Il(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=d>>1;g=d&-2;h=i*3|0;f=0;d=c;while(1){if((f|0)==4)break;q=e[d+-8>>1]|0;p=e[d>>1]|0;o=e[d+8>>1]|0;j=e[d+16>>1]|0;l=e[d+24>>1]|0;m=e[d+32>>1]|0;k=e[d+40>>1]|0;n=e[d+48>>1]|0;c=(e[d+-16>>1]|0)+16+l+((o+p|0)*20|0)+(H(j+q|0,-5)|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(c>>>0<4096?c:(c^-2147483648)>>31&4095)|0)>>>1;c=a+(i<<1)|0;q=q+16+m+((j+o|0)*20|0)+(H(l+p|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(q>>>0<4096?q:(q^-2147483648)>>31&4095)|0)>>>1;c=a+(g<<1)|0;p=p+16+k+((l+j|0)*20|0)+(H(m+o|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(p>>>0<4096?p:(p^-2147483648)>>31&4095)|0)>>>1;c=a+(h<<1)|0;j=o+16+n+((m+l|0)*20|0)+(H(k+j|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(j>>>0<4096?j:(j^-2147483648)>>31&4095)|0)>>>1;f=f+1|0;a=a+2|0;d=d+2|0}return}function Jl(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=d>>1;g=d&-2;h=i*3|0;f=0;d=c;while(1){if((f|0)==4)break;q=e[d+-8>>1]|0;p=e[d>>1]|0;o=e[d+8>>1]|0;j=e[d+16>>1]|0;l=e[d+24>>1]|0;m=e[d+32>>1]|0;k=e[d+40>>1]|0;n=e[d+48>>1]|0;c=(e[d+-16>>1]|0)+16+l+((o+p|0)*20|0)+(H(j+q|0,-5)|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(c>>>0<1024?c:(c^-2147483648)>>31&1023)|0)>>>1;c=a+(i<<1)|0;q=q+16+m+((j+o|0)*20|0)+(H(l+p|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(q>>>0<1024?q:(q^-2147483648)>>31&1023)|0)>>>1;c=a+(g<<1)|0;p=p+16+k+((l+j|0)*20|0)+(H(m+o|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(p>>>0<1024?p:(p^-2147483648)>>31&1023)|0)>>>1;c=a+(h<<1)|0;j=o+16+n+((m+l|0)*20|0)+(H(k+j|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(j>>>0<1024?j:(j^-2147483648)>>31&1023)|0)>>>1;f=f+1|0;a=a+2|0;d=d+2|0}return}function Kl(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+4)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:(k^-2147483648)>>31&4095;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:(k^-2147483648)>>31&4095;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:(k^-2147483648)>>31&4095;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:(k^-2147483648)>>31&4095;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:(k^-2147483648)>>31&4095;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:(k^-2147483648)>>31&4095;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:(k^-2147483648)>>31&4095;c=c+(j<<1)|0;h=h+1|0}return}function Ll(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+2)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:(k^-2147483648)>>31&1023;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:(k^-2147483648)>>31&1023;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:(k^-2147483648)>>31&1023;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:(k^-2147483648)>>31&1023;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:(k^-2147483648)>>31&1023;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:(k^-2147483648)>>31&1023;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:(k^-2147483648)>>31&1023;c=c+(j<<1)|0;h=h+1|0}return}function Ml(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=Mb;Mb=Mb+16|0;h=i;g=c[a>>2]|0;do if(g){f=g+8|0;if((c[f>>2]|0)==(b|0))d=0;else{if((c[(c[g>>2]|0)+20>>2]&2|0?uO(g)|0:0)?(e=g+4|0,d=c[e>>2]|0,(d|0)==(c[c[g>>2]>>2]|0)):0){d=MO(d,b)|0;if(!d){d=-12;break}c[e>>2]=d;h=c[g>>2]|0;c[h>>2]=d;c[f>>2]=b;c[h+4>>2]=b;d=0;break}c[h>>2]=0;Ml(h,b)|0;d=c[h>>2]|0;if(!d)d=-12;else{f=c[f>>2]|0;rk(c[d+4>>2]|0,c[g+4>>2]|0,((f|0)<(b|0)?f:b)|0)|0;St(a,h);d=0}}}else{d=MO(0,b)|0;c[h>>2]=d;do if(d){d=js(d,b,194,0,0)|0;if(!d){hM(h);d=-12;break}else{h=(c[d>>2]|0)+20|0;c[h>>2]=c[h>>2]|2;c[a>>2]=d;d=0;break}}else d=-12;while(0)}while(0);Mb=i;return d|0}function Nl(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=d>>1;g=d&-2;h=i*3|0;f=0;d=c;while(1){if((f|0)==4)break;q=e[d+-8>>1]|0;p=e[d>>1]|0;o=e[d+8>>1]|0;j=e[d+16>>1]|0;l=e[d+24>>1]|0;m=e[d+32>>1]|0;k=e[d+40>>1]|0;n=e[d+48>>1]|0;c=(e[d+-16>>1]|0)+16+l+((o+p|0)*20|0)+(H(j+q|0,-5)|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(c>>>0<512?c:(c^-2147483648)>>31&511)|0)>>>1;c=a+(i<<1)|0;q=q+16+m+((j+o|0)*20|0)+(H(l+p|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(q>>>0<512?q:(q^-2147483648)>>31&511)|0)>>>1;c=a+(g<<1)|0;p=p+16+k+((l+j|0)*20|0)+(H(m+o|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(p>>>0<512?p:(p^-2147483648)>>31&511)|0)>>>1;c=a+(h<<1)|0;j=o+16+n+((m+l|0)*20|0)+(H(k+j|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(j>>>0<512?j:(j^-2147483648)>>31&511)|0)>>>1;f=f+1|0;a=a+2|0;d=d+2|0}return}function Ol(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=a[e>>0]&-16;a[b>>0]=j;i=(d[e>>0]|0)>>>2&3;a[b+1>>0]=i;a[b+2>>0]=(d[e>>0]|0)>>>1&1;a[b+3>>0]=a[e>>0]&1;h=j&255;a:do switch(j<<24>>24){case -96:{if(f>>>0>=4){if(!(a[e+1>>0]|0)){i=e+2|0;j=f+-2|0;rG(i,j,b+6|0)|0;b=bc[c[b+6432>>2]&1](c[b+6436>>2]|0,256,i,j,g,g,0)|0;break a}if(!(BF(b,f+7|0)|0)){j=b+6440|0;Nv(b+6|0,(f&65535)+-2|0,c[j>>2]|0,7)|0;NE((c[j>>2]|0)+7|0,e+2|0,f+-2|0)|0;b=bc[c[b+6432>>2]&1](c[b+6436>>2]|0,160,c[j>>2]|0,f+5|0,g,g,0)|0}else b=-12}else b=-22;break}case -32:case 32:{b=bc[c[b+6432>>2]&1](c[b+6436>>2]|0,h,e+1|0,f+-1|0,g,g,0)|0;break}default:b=bc[c[b+6432>>2]&1](c[b+6436>>2]|0,h,e+1|0,f+-1|0,g,g,i&255)|0}while(0);return b|0}function Pl(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+1)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:(k^-2147483648)>>31&511;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:(k^-2147483648)>>31&511;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:(k^-2147483648)>>31&511;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:(k^-2147483648)>>31&511;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:(k^-2147483648)>>31&511;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:(k^-2147483648)>>31&511;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:(k^-2147483648)>>31&511;c=c+(j<<1)|0;h=h+1|0}return}function Ql(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=d[b+-1>>0]|0;o=d[b+(e+-1)>>0]|0;h=e<<1;l=d[b+(h+-1)>>0]|0;f=e*3|0;g=a[b+(f+-1)>>0]|0;k=g&255;n=d[b+(2-e)>>0]|0;p=d[b+(3-e)>>0]|0;j=d[c>>0]|0;m=d[c+1>>0]|0;i=d[c+2>>0]|0;c=d[c+3>>0]|0;q=(o<<1)+4|0;a[b>>0]=(q+(d[b+(1-e)>>0]|0)+p+(n+r<<1)|0)>>>3;a[b+1>>0]=(q+r+l+n+(p<<1)+j|0)>>>3;n=l<<1;p=(q+n+p+(j<<1)+m|0)>>>3&255;a[b+e>>0]=p;a[b+2>>0]=p;n=n+4|0;j=(n+o+k+j+(m<<1)+i|0)>>>3&255;a[b+(e+1)>>0]=j;a[b+3>>0]=j;j=k<<1;m=(n+j+m+(i<<1)+c|0)>>>3&255;a[b+h>>0]=m;a[b+(e+2)>>0]=m;k=(l+4+i+((c+k|0)*3|0)|0)>>>3&255;a[b+(h|1)>>0]=k;a[b+(e+3)>>0]=k;a[b+(f+1)>>0]=g;a[b+(h+3)>>0]=g;e=(j+c+2+i|0)>>>2&255;a[b+(h+2)>>0]=e;a[b+f>>0]=e;a[b+(f+3)>>0]=g;a[b+(f+2)>>0]=g;return}function Rl(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=0;h=0;a=c;while(1){c=a+e|0;if((g|0)>=(f|0))break;p=(d[b>>0]|0)-(((d[a>>0]|0)+1+(d[c>>0]|0)|0)>>>1)|0;o=(d[b+1>>0]|0)-(((d[a+1>>0]|0)+1+(d[c+1>>0]|0)|0)>>>1)|0;n=(d[b+2>>0]|0)-(((d[a+2>>0]|0)+1+(d[c+2>>0]|0)|0)>>>1)|0;m=(d[b+3>>0]|0)-(((d[a+3>>0]|0)+1+(d[c+3>>0]|0)|0)>>>1)|0;l=(d[b+4>>0]|0)-(((d[a+4>>0]|0)+1+(d[c+4>>0]|0)|0)>>>1)|0;k=(d[b+5>>0]|0)-(((d[a+5>>0]|0)+1+(d[c+5>>0]|0)|0)>>>1)|0;j=(d[b+6>>0]|0)-(((d[a+6>>0]|0)+1+(d[c+6>>0]|0)|0)>>>1)|0;i=(d[b+7>>0]|0)-(((d[a+7>>0]|0)+1+(d[c+7>>0]|0)|0)>>>1)|0;g=g+1|0;h=((p|0)>-1?p:0-p|0)+h+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)|0;b=b+e|0;a=c}return h|0}function Sl(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=8-g|0;j=8-h|0;l=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;h=H(h,g)|0;a:do if(!h){i=j+k|0;if(!i){g=0;while(1){if((g|0)>=(f|0))break a;k=((H(l,d[c>>0]|0)|0)+32|0)>>>6&255;a[b>>0]=k;b=b+e|0;g=g+1|0;c=c+e|0}}else{h=(k|0)==0?1:e;g=0;while(1){if((g|0)>=(f|0))break a;k=H(l,d[c>>0]|0)|0;k=(k+32+(H(i,d[c+h>>0]|0)|0)|0)>>>6&255;a[b>>0]=k;b=b+e|0;g=g+1|0;c=c+e|0}}}else{i=e+1|0;g=0;while(1){if((g|0)>=(f|0))break a;p=H(l,d[c>>0]|0)|0;o=H(j,d[c+1>>0]|0)|0;m=c+e|0;n=H(k,d[m>>0]|0)|0;n=(p+32+o+n+(H(h,d[c+i>>0]|0)|0)|0)>>>6&255;a[b>>0]=n;b=b+e|0;g=g+1|0;c=m}}while(0);return}function Tl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+16|0;i=j;do if((c[f>>2]|0)<=63){h=a+492+(d<<6)+(e<<2)|0;g=c[h>>2]|0;e=(g|0)!=0;if(!b){if(e)WS(g+156512|0);hM(h);e=0;break}if(!e){e=YQ(547552)|0;c[h>>2]=e;if(!e){e=-12;break}Tw(a,e+156512|0,d)}if((d|0)==2)e=0;else{g=c[f>>2]|0;b=(d|0)==1;if(!b)if(!d)e=(c[a+6512>>2]|0)==1?63:64;else e=64;else e=63;if((g|0)>=(e|0)){Xw(c[a+4>>2]|0,16,187944,i);e=-1094995529;break}i=(c[h>>2]|0)+288|0;e=g+1|0;c[f>>2]=e;c[a+5412+(g<<2)>>2]=i;if(!b){if(d|0){e=0;break}if((c[a+6512>>2]|0)!=1){e=0;break}}d=(c[h>>2]|0)+74496|0;c[f>>2]=g+2;c[a+5412+(e<<2)>>2]=d;e=0}}else e=-1094995529;while(0);Mb=j;return e|0}function Ul(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0,l=0;l=Mb;Mb=Mb+16|0;k=l;if((a[b>>0]|0)==48?(a[b+1>>0]|32)<<24>>24==120:0)f=+((VQ(b,k,16)|0)>>>0);else f=+$T(b,k);i=c[k>>2]|0;e=i;if((i|0)!=(b|0)){b=a[i>>0]|0;if(b<<24>>24==100)if((a[i+1>>0]|0)==66){f=+pb(+(f/20.0*3.321928094887362));b=i+2|0;c[k>>2]=b;e=b;j=14}else j=10;else if((b+-69&255)<54)j=10;else{h=b;b=i}do if((j|0)==10){b=(b<<24>>24)+-69|0;if(a[148912+(b*24|0)+16>>0]|0){h=i+1|0;if((a[h>>0]|0)==105){f=f*+g[148912+(b*24|0)>>3];b=i+2|0;c[k>>2]=b;e=b;j=14;break}else{f=f*+g[148912+(b*24|0)+8>>3];c[k>>2]=h;e=h;b=h;j=14;break}}else{b=i;j=14}}while(0);if((j|0)==14)h=a[b>>0]|0;if(h<<24>>24==66){e=b+1|0;c[k>>2]=e;f=f*8.0}}if(d|0)c[d>>2]=e;Mb=l;return +f}function Vl(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=0;while(1){if((g|0)==4)break;i=c+1|0;l=c+-1|0;h=c+2|0;m=H((d[h>>0]|0)+(d[l>>0]|0)|0,-5)|0;j=c+3|0;m=(((d[i>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+m+(d[j>>0]|0)>>5;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[j>>0]|0)+(d[c>>0]|0)|0,-5)|0;k=c+4|0;m=(((d[h>>0]|0)+(d[i>>0]|0)|0)*20|0)+16+(d[l>>0]|0)+m+(d[k>>0]|0)>>5;a[b+1>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[k>>0]|0)+(d[i>>0]|0)|0,-5)|0;l=c+5|0;m=(((d[j>>0]|0)+(d[h>>0]|0)|0)*20|0)+16+(d[c>>0]|0)+m+(d[l>>0]|0)>>5;a[b+2>>0]=m>>>0>255?(m^-2147483648)>>31:m;h=H((d[l>>0]|0)+(d[h>>0]|0)|0,-5)|0;h=(((d[k>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[i>>0]|0)+h+(d[c+6>>0]|0)>>5;a[b+3>>0]=h>>>0>255?(h^-2147483648)>>31:h;c=c+f|0;b=b+e|0;g=g+1|0}return}function Wl(c,e,f,g,h){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=e;j=0;f=f+(0-(h<<1))|0;while(1){if((j|0)==7)break;m=f+1|0;l=f+-1|0;n=f+2|0;o=H((d[n>>0]|0)+(d[l>>0]|0)|0,-5)|0;k=f+3|0;b[i>>1]=(((d[m>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+o+(d[k>>0]|0);k=H((d[k>>0]|0)+(d[f>>0]|0)|0,-5)|0;b[i+2>>1]=(((d[n>>0]|0)+(d[m>>0]|0)|0)*20|0)+(d[l>>0]|0)+k+(d[f+4>>0]|0);i=i+4|0;j=j+1|0;f=f+h|0}f=e+8|0;i=0;while(1){if((i|0)==2)break;e=b[f+-4>>1]|0;o=b[f>>1]|0;m=b[f+4>>1]|0;l=b[f+8>>1]|0;n=b[f+12>>1]|0;k=b[f+16>>1]|0;h=(b[f+-8>>1]|0)+512+n+((m+o|0)*20|0)+(H(l+e|0,-5)|0)>>10;a[c>>0]=h>>>0>255?(h^-2147483648)>>31:h;o=e+512+k+((l+m|0)*20|0)+(H(n+o|0,-5)|0)>>10;a[c+g>>0]=o>>>0>255?(o^-2147483648)>>31:o;c=c+1|0;f=f+2|0;i=i+1|0}return}function Xl(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=f>>1;f=0-q|0;if(!b){i=e[a+(f<<1)>>1]|0;b=i}else{b=e[a+(f<<1)>>1]|0;i=e[a+(~q<<1)>>1]|0}g=e[a+(1-q<<1)>>1]|0;h=g+2|0;j=e[a+(2-q<<1)>>1]|0;k=j+2|0;l=e[a+(3-q<<1)>>1]|0;m=e[a+(4-q<<1)>>1]|0;n=e[a+(5-q<<1)>>1]|0;o=e[a+(6-q<<1)>>1]|0;p=e[a+(7-q<<1)>>1]|0;if(!d)f=p;else f=e[a+(8-q<<1)>>1]|0;g=((h+i+(b<<1)|0)>>>2)+4+((k+b+(g<<1)|0)>>>2)+((h+(j<<1)+l|0)>>>2)+((k+(l<<1)+m|0)>>>2)+((l+2+(m<<1)+n|0)>>>2)+((m+2+(n<<1)+o|0)>>>2)+((n+2+(o<<1)+p|0)>>>2)+((o+2+(p<<1)+f|0)>>>2)>>3;g=XJ(g|0,((g|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;b=0;f=a;while(1){if((b|0)==8)break;a=f;c[a>>2]=g;c[a+4>>2]=h;a=f+8|0;c[a>>2]=g;c[a+4>>2]=h;b=b+1|0;f=f+(q<<1)|0}return}function Yl(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=h>>1;i=d;j=0;f=f+(0-(h&-2)<<1)|0;while(1){if((j|0)==7)break;h=e[f>>1]|0;m=e[f+2>>1]|0;l=e[f+-2>>1]|0;n=e[f+4>>1]|0;p=H(n+l|0,-5)|0;o=e[f+6>>1]|0;c[i>>2]=((m+h|0)*20|0)+(e[f+-4>>1]|0)+p+o;h=H(o+h|0,-5)|0;c[i+4>>2]=((n+m|0)*20|0)+l+h+(e[f+8>>1]|0);i=i+16|0;j=j+1|0;f=f+(k<<1)|0}i=g>>1;f=d+32|0;h=0;while(1){if((h|0)==2)break;d=c[f+-16>>2]|0;p=c[f>>2]|0;n=c[f+16>>2]|0;m=c[f+32>>2]|0;o=c[f+48>>2]|0;l=c[f+64>>2]|0;k=(c[f+-32>>2]|0)+512+o+((n+p|0)*20|0)+(H(m+d|0,-5)|0)>>10;b[a>>1]=k>>>0<16384?k:(k^-2147483648)>>31&16383;p=d+512+l+((m+n|0)*20|0)+(H(o+p|0,-5)|0)>>10;b[a+(i<<1)>>1]=p>>>0<16384?p:(p^-2147483648)>>31&16383;a=a+2|0;f=f+4|0;h=h+1|0}return}function Zl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=a+800|0;b=c[i>>2]|0;h=a+12|0;if(((BM(c[h>>2]|0)|0)!=0?(c[a+48>>2]|0)==1:0)?(c[a+128>>2]|0)>2800:0){c[i>>2]=1;j=10}else j=5;a:do if((j|0)==5){if(!b){b=PL()|0;d=c[a+128>>2]|0;if(d){g=(d+15|0)/16|0;b=(b|0)>(g|0)?g:b}e=b+1|0;e=(b|0)>1?((e|0)<16?e:16):1;c[i>>2]=e}else e=b;if((e|0)<2)j=10;else{f=YQ(48)|0;g=a+64|0;b=(c[g>>2]|0)+20|0;c[b>>2]=f;d=(c[(c[h>>2]|0)+112>>2]&32|0)==0?0:25;c[275861]=d;do if(f){b=Zi(f,a,115,d,e)|0;if((b|0)<2){hq(f);b=(c[g>>2]|0)+20|0;break}else{c[i>>2]=b;c[a+816>>2]=7;c[a+820>>2]=41;break a}}while(0);hM(b);c[i>>2]=1;c[a+808>>2]=0}}while(0);if((j|0)==10)c[a+808>>2]=0;return 0}function _l(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=f<<6;s=g<<6;p=d>>1;q=0-p|0;r=H(p,-2)|0;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<6;o=f+-63|0;a:do if(m<<24>>24>=1){d=63-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+(q<<1)|0;j=e[i>>1]|0;k=e[g+(r<<1)>>1]|0;l=e[g>>1]|0;m=e[g+(p<<1)>>1]|0;u=j-l|0;if(((((u|0)>-1?u:0-u|0)|0)<(t|0)?(u=k-j|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0)?(u=m-l|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0){u=k+4-m+(l-j<<2)>>3;u=(u|0)<(d|0)?d:(u|0)>(o|0)?o:u;m=u+j|0;b[i>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;u=l-u|0;b[g>>1]=u>>>0<16384?u:(u^-2147483648)>>31&16383}f=f+1|0;g=g+2|0}}while(0);c=c+4|0;n=n+1|0}return}function $l(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0;r=+f[b+24>>2];u=+f[b+96>>2];j=r+u;e=+f[b+28>>2];k=+f[b+100>>2];l=e+k;p=r-u;q=e-k;s=+f[b+48>>2];t=+f[b+72>>2];i=s+t;g=+f[b+52>>2];m=+f[b+76>>2];o=g+m;n=s-t;h=g-m;f[a>>2]=u+(t+(s+(r+ +f[b>>2])));d=b+4|0;f[a+4>>2]=k+(m+(g+(e+ +f[d>>2])));e=+f[c>>2];g=+f[c+8>>2];m=i*e-j*g;k=o*e-l*g;i=j*e-i*g;g=l*e-o*g;o=+f[c+4>>2];e=+f[c+12>>2];l=h*o-q*e;j=n*o-p*e;h=q*o+h*e;e=p*o+n*e;f[a+8>>2]=+f[b>>2]+(i+h);f[a+12>>2]=+f[d>>2]+(g-e);f[a+16>>2]=m-l+ +f[b>>2];f[a+20>>2]=k+j+ +f[d>>2];f[a+24>>2]=m+l+ +f[b>>2];f[a+28>>2]=k-j+ +f[d>>2];f[a+32>>2]=i-h+ +f[b>>2];f[a+36>>2]=g+e+ +f[d>>2];return}function am(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=h>>1;i=d;j=0;f=f+(0-(h&-2)<<1)|0;while(1){if((j|0)==7)break;h=e[f>>1]|0;m=e[f+2>>1]|0;l=e[f+-2>>1]|0;n=e[f+4>>1]|0;p=H(n+l|0,-5)|0;o=e[f+6>>1]|0;c[i>>2]=((m+h|0)*20|0)+(e[f+-4>>1]|0)+p+o;h=H(o+h|0,-5)|0;c[i+4>>2]=((n+m|0)*20|0)+l+h+(e[f+8>>1]|0);i=i+16|0;j=j+1|0;f=f+(k<<1)|0}i=g>>1;f=d+32|0;h=0;while(1){if((h|0)==2)break;d=c[f+-16>>2]|0;p=c[f>>2]|0;n=c[f+16>>2]|0;m=c[f+32>>2]|0;o=c[f+48>>2]|0;l=c[f+64>>2]|0;k=(c[f+-32>>2]|0)+512+o+((n+p|0)*20|0)+(H(m+d|0,-5)|0)>>10;b[a>>1]=k>>>0<4096?k:(k^-2147483648)>>31&4095;p=d+512+l+((m+n|0)*20|0)+(H(o+p|0,-5)|0)>>10;b[a+(i<<1)>>1]=p>>>0<4096?p:(p^-2147483648)>>31&4095;a=a+2|0;f=f+4|0;h=h+1|0}return}function bm(a,b,e,f,g,h,i,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=Mb;Mb=Mb+16|0;q=r;m=oT(g)|0;a:do if(m|0?(k=c[m+8>>2]|0,(k&8|0)==0&0==0):0){if(!((k&66|0)==0&0==0)){kc[j&63](c[a>>2]|0,c[b>>2]|0,c[e>>2]|0,c[f>>2]|0,h,i);rk(c[a+4>>2]|0,c[e+4>>2]|0,1024)|0;break}l=d[m+4>>0]|0;p=0;k=0;while(1){if((k|0)==(l|0))break;o=(c[m+16+(k<<5)>>2]|0)+1|0;p=(p|0)>(o|0)?p:o;k=k+1|0}m=m+6|0;n=0-i|0;l=0;while(1){if((l|0)>=(p|0))break a;o=tx(g,h,l)|0;if((o|0)<0)break;if((l+-1|0)>>>0<2)k=0-(n>>(d[m>>0]|0))|0;else k=i;kc[j&63](c[a+(l<<2)>>2]|0,c[b+(l<<2)>>2]|0,c[e+(l<<2)>>2]|0,c[f+(l<<2)>>2]|0,o,k);l=l+1|0}Xw(0,16,202515,q)}while(0);Mb=r;return}function cm(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=f<<4;s=g<<4;p=d>>1;q=0-p|0;r=H(p,-2)|0;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<4;o=f+-15|0;a:do if(m<<24>>24>=1){d=15-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+(q<<1)|0;j=e[i>>1]|0;k=e[g+(r<<1)>>1]|0;l=e[g>>1]|0;m=e[g+(p<<1)>>1]|0;u=j-l|0;if(((((u|0)>-1?u:0-u|0)|0)<(t|0)?(u=k-j|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0)?(u=m-l|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0){u=k+4-m+(l-j<<2)>>3;u=(u|0)<(d|0)?d:(u|0)>(o|0)?o:u;m=u+j|0;b[i>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;u=l-u|0;b[g>>1]=u>>>0<4096?u:(u^-2147483648)>>31&4095}f=f+1|0;g=g+2|0}}while(0);c=c+4|0;n=n+1|0}return}function dm(d,g){d=d|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;m=c[g+80>>2]|0;a:do if((c[g+4>>2]|0)!=2){l=c[g+74176>>2]|0;h=b[g+30>>1]|0;j=h<<16>>16<1024?((h&65535)<<16)+67108864>>16:2048;h=2048-(h<<16>>16)|0;i=g+36|0;k=0;while(1){if((k|0)>=(j|0))break;f[l+(k<<2)>>2]=+f[g+32192+(h+k<<2)>>2]*+f[i>>2];k=k+1|0}i=d+1024|0;Wp(l+(k<<2)|0,0,8192-(k<<2)|0)|0;hc[c[d+6756>>2]&255](d,i,l,g);h=g+292|0;if(c[h>>2]|0)hc[c[d+6752>>2]&255](i,h,g,0);k=a[g>>0]|0;k=((k&255)<40?k:40)&255;h=0;while(1){if(h>>>0>=k>>>0)break a;b:do if(!(a[g+40+h>>0]|0))h=h+1|0;else{i=h+1|0;j=e[m+(i<<1)>>1]|0;h=e[m+(h<<1)>>1]|0;while(1){if(h>>>0>=j>>>0){h=i;break b}l=g+13760+(h<<2)|0;f[l>>2]=+f[d+1024+(h<<2)>>2]+ +f[l>>2];h=h+1|0}}while(0)}}while(0);return}function em(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=f<<2;s=g<<2;p=d>>1;q=0-p|0;r=H(p,-2)|0;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<2;o=f+-3|0;a:do if(m<<24>>24>=1){d=3-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+(q<<1)|0;j=e[i>>1]|0;k=e[g+(r<<1)>>1]|0;l=e[g>>1]|0;m=e[g+(p<<1)>>1]|0;u=j-l|0;if(((((u|0)>-1?u:0-u|0)|0)<(t|0)?(u=k-j|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0)?(u=m-l|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0){u=k+4-m+(l-j<<2)>>3;u=(u|0)<(d|0)?d:(u|0)>(o|0)?o:u;m=u+j|0;b[i>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;u=l-u|0;b[g>>1]=u>>>0<1024?u:(u^-2147483648)>>31&1023}f=f+1|0;g=g+2|0}}while(0);c=c+4|0;n=n+1|0}return}function fm(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=e<<1;h=e*3|0;f=0;while(1){if((f|0)==4)break;q=d[c+-4>>0]|0;p=d[c>>0]|0;o=d[c+4>>0]|0;j=d[c+8>>0]|0;l=d[c+12>>0]|0;m=d[c+16>>0]|0;k=d[c+20>>0]|0;n=d[c+24>>0]|0;i=(d[c+-8>>0]|0)+16+l+((o+p|0)*20|0)+(H(j+q|0,-5)|0)>>5;a[b>>0]=((d[b>>0]|0)+1+((i>>>0>255?(i^-2147483648)>>31:i)&255)|0)>>>1;i=b+e|0;q=q+16+m+((j+o|0)*20|0)+(H(l+p|0,-5)|0)>>5;a[i>>0]=((d[i>>0]|0)+1+((q>>>0>255?(q^-2147483648)>>31:q)&255)|0)>>>1;i=b+g|0;p=p+16+k+((l+j|0)*20|0)+(H(m+o|0,-5)|0)>>5;a[i>>0]=((d[i>>0]|0)+1+((p>>>0>255?(p^-2147483648)>>31:p)&255)|0)>>>1;i=b+h|0;j=o+16+n+((m+l|0)*20|0)+(H(k+j|0,-5)|0)>>5;a[i>>0]=((d[i>>0]|0)+1+((j>>>0>255?(j^-2147483648)>>31:j)&255)|0)>>>1;f=f+1|0;b=b+1|0;c=c+1|0}return}function gm(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=f<<1;s=g<<1;p=d>>1;q=0-p|0;r=H(p,-2)|0;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<1;o=f+-1|0;a:do if(m<<24>>24>=1){d=1-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+(q<<1)|0;j=e[i>>1]|0;k=e[g+(r<<1)>>1]|0;l=e[g>>1]|0;m=e[g+(p<<1)>>1]|0;u=j-l|0;if(((((u|0)>-1?u:0-u|0)|0)<(t|0)?(u=k-j|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0)?(u=m-l|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0){u=k+4-m+(l-j<<2)>>3;u=(u|0)<(d|0)?d:(u|0)>(o|0)?o:u;m=u+j|0;b[i>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;u=l-u|0;b[g>>1]=u>>>0<512?u:(u^-2147483648)>>31&511}f=f+1|0;g=g+2|0}}while(0);c=c+4|0;n=n+1|0}return}function hm(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=Mb;Mb=Mb+16|0;f=t;g=oT(c[a+80>>2]|0)|0;if(0==0?(c[g+8>>2]&16|0)==0:0){c[f>>2]=185218;c[f+4>>2]=185241;c[f+8>>2]=520;Xw(0,0,213444,f);ba()}o=g+4|0;p=a+68|0;q=g+5|0;r=a+72|0;s=g+6|0;m=g+32|0;l=0;while(1){if(l>>>0>=(d[o>>0]|0)>>>0)break;f=c[p>>2]|0;if((l+-1|0)>>>0<2){n=0-(0-(c[r>>2]|0)>>(d[s>>0]|0))|0;f=0-(0-f>>(d[q>>0]|0))|0}else n=c[r>>2]|0;j=e+(l<<2)|0;k=a+32+(l<<2)|0;g=0;i=c[a+(l<<2)>>2]|0;while(1){if((g|0)>=(n|0))break;a:do if((c[m>>2]|0)>8){h=0;while(1){if((h|0)>=(f|0))break a;b[i+(h<<1)>>1]=c[j>>2];h=h+1|0}}else Wp(i|0,c[j>>2]&255|0,f|0)|0;while(0);g=g+1|0;i=i+(c[k>>2]|0)|0}l=l+1|0}Mb=t;return}function im(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Mb;Mb=Mb+16|0;k=l;a:do if(((c[b+44>>2]|0)==0?(j=b+28|0,f=c[j>>2]|0,(f|0)>12):0)?(i=c[b+24>>2]|0,e=i+f+-8|0,g=e,f=g,g=g+4|0,g=OP(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24,d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24)|0,i,(g|0)==-1910117890&(M()|0)==-1941070576):0){b=e+-5|0;e=1;while(1){f=kS(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0;if(f>>>0>2147483642){h=0;break a}g=b-i|0;if(g>>>0<f>>>0){h=0;break a}if((a[b+4>>0]|0)<0)break;if(e>>>0>83|g>>>0<(f+5|0)>>>0){h=0;break a}b=b+(-5-f)|0;e=e+1|0}i=g-f|0;c[j>>2]=i;if((i|0)>-1)h=1;else{c[k>>2]=167388;c[k+4>>2]=167320;c[k+8>>2]=503;Xw(0,0,213444,k);ba()}}else h=0;while(0);Mb=l;return h|0}function jm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;j=(e|0)!=0;if(!j?(c[b+668>>2]|0)!=0:0){h=1;i=b+768|0;k=b+960|0}else{h=0;i=18592;k=18656}if(!(uL(a)|0))return 0;l=Zo(a,f,16,18720,h?b+672|0:18720)|0;m=f+16|0;l=Zo(a,m,16,18720,f)|0|l;m=l|(Zo(a,f+32|0,16,18720,m)|0);l=f+48|0;m=m|(Zo(a,l,16,18736,h?b+720|0:18736)|0);h=f+64|0;l=m|(Zo(a,h,16,18736,l)|0);h=l|(Zo(a,f+80|0,16,18736,h)|0);if(!(!j?(c[d+64>>2]|0)==0:0)){h=Zo(a,g,64,18592,i)|0|h;f=g+192|0;h=h|(Zo(a,f,64,18656,k)|0);if((c[b+12>>2]|0)==3){m=g+64|0;l=Zo(a,m,64,18592,g)|0|h;h=g+256|0;l=l|(Zo(a,h,64,18656,f)|0);m=l|(Zo(a,g+128|0,64,18592,m)|0);h=m|(Zo(a,g+320|0,64,18656,h)|0)}}return ((h|0)==0?e:h)|0}function km(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=d>>1;n=e[a+(~h<<1)>>1]|0;i=e[a+(0-h<<1)>>1]|0;g=e[a+(1-h<<1)>>1]|0;f=e[a+(2-h<<1)>>1]|0;c=e[a+(3-h<<1)>>1]|0;l=e[a+-2>>1]|0;o=e[a+(h+-1<<1)>>1]|0;j=d&-2;k=e[a+(j+-1<<1)>>1]|0;m=h*3|0;b[a+(m<<1)>>1]=(o+2+(e[a+(m+-1<<1)>>1]|0)+(k<<1)|0)>>>2;k=(l+2+k+(o<<1)|0)>>>2&65535;b[a+(m+1<<1)>>1]=k;b[a+(j<<1)>>1]=k;k=n+2|0;o=(k+o+(l<<1)|0)>>>2&65535;b[a+(m+2<<1)>>1]=o;b[a+((d|1)<<1)>>1]=o;b[a+(h<<1)>>1]=o;d=i+2|0;l=(d+(n<<1)+l|0)>>>2&65535;b[a+(m+3<<1)>>1]=l;b[a+(j+2<<1)>>1]=l;b[a+(h+1<<1)>>1]=l;b[a>>1]=l;i=(k+(i<<1)+g|0)>>>2&65535;b[a+(j+3<<1)>>1]=i;b[a+(h+2<<1)>>1]=i;b[a+2>>1]=i;d=(d+(g<<1)+f|0)>>>2&65535;b[a+(h+3<<1)>>1]=d;b[a+4>>1]=d;b[a+6>>1]=(g+2+(f<<1)+c|0)>>>2;return}function lm(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=d[b+(1-e)>>0]|0;n=d[b+(3-e)>>0]|0;m=d[c>>0]|0;l=d[c+1>>0]|0;h=d[c+2>>0]|0;g=d[c+3>>0]|0;o=d[b+(e+-1)>>0]|0;i=e<<1;c=e*3|0;f=d[b+(c+-1)>>0]|0;j=(d[b+(i+-1)>>0]|0)+(d[b+(2-e)>>0]|0)|0;k=j+4|0;a[b>>0]=(k+(d[b+(0-e)>>0]|0)+(d[b+-1>>0]|0)+(o+p<<1)|0)>>>3;j=(p+4+n+o+f+(j<<1)|0)>>>3&255;a[b+e>>0]=j;a[b+1>>0]=j;k=(k+m+(n<<1)+(f*3|0)|0)>>>3&255;a[b+i>>0]=k;a[b+(e+1)>>0]=k;a[b+2>>0]=k;k=f<<2;j=k+l+4|0;n=(j+n+(m<<1)|0)>>>3&255;a[b+c>>0]=n;a[b+(i|1)>>0]=n;a[b+(e+2)>>0]=n;a[b+3>>0]=n;k=(m+4+h+(l<<1)+k|0)>>>3&255;a[b+(c+1)>>0]=k;a[b+(i+2)>>0]=k;a[b+(e+3)>>0]=k;e=(j+g+(h<<1)|0)>>>3&255;a[b+(c+2)>>0]=e;a[b+(i+3)>>0]=e;a[b+(c+3)>>0]=(h+2+g+(f<<1)|0)>>>2;return}function mm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;a:do if(!((g^b)&3)){f=(e|0)!=0;if(f&(g&3|0)!=0)do{g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0}while(f&(d&3|0)!=0);if(f){if(a[d>>0]|0){b:do if(e>>>0>3){f=d;while(1){d=c[f>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0){d=f;break b}c[b>>2]=d;e=e+-4|0;d=f+4|0;b=b+4|0;if(e>>>0>3)f=d;else break}}while(0);h=13}}else e=0}else h=13;while(0);c:do if((h|0)==13)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);Wp(b|0,0,e|0)|0;return b|0}function nm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;c[a+92>>2]=c[b+92>>2];c[a+152>>2]=c[b+152>>2];c[a+472>>2]=c[b+472>>2];c[a+68>>2]=c[b+68>>2];c[a+680>>2]=c[b+680>>2];c[a+684>>2]=c[b+684>>2];c[a+292>>2]=c[b+292>>2];c[a+96>>2]=c[b+96>>2];f=a+836|0;d=b+836|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[a+432>>2]=c[b+432>>2];f=b+696|0;d=c[f+4>>2]|0;g=a+696|0;c[g>>2]=c[f>>2];c[g+4>>2]=d;c[a+812>>2]=c[b+812>>2];g=b+216|0;d=c[g>>2]|0;do if(d){e=b+224|0;b=c[e>>2]|0;if(!b)h=7;else{f=a+224|0;if((c[a+216>>2]|0)<(d|0)){d=rD(f,d,4)|0;if((d|0)<=-1)break;d=c[g>>2]|0;b=c[e>>2]|0}rk(c[f>>2]|0,b|0,d<<2|0)|0;d=c[g>>2]|0;h=7}}else{d=0;h=7}while(0);if((h|0)==7){c[a+216>>2]=d;d=0}return d|0}function om(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+16|0;h=j;f=j+4|0;i=c[a+4>>2]|0;g=i+4|0;d=c[g>>2]|0;if(!(c[d+12>>2]|0))if(c[(c[d>>2]|0)+60>>2]|0)if(c[i+28>>2]|0){h=$H(a)|0;a=b+376|0;c[a>>2]=h;if(h){d=Xb[c[(c[c[g>>2]>>2]|0)+60>>2]&15](i,b)|0;if((d|0)<0)QS(a);else d=0}else d=-12}else d=-22;else d=-38;else{c[b+80>>2]=c[i+36>>2];a=$H(a)|0;c[b+376>>2]=a;do if((a|0)!=0?(e=hP()|0,c[f>>2]=e,(e|0)!=0):0){d=om(c[(c[g>>2]|0)+12>>2]|0,e,0)|0;if((d|0)>=0){d=Sj(b,e,c[(c[g>>2]|0)+16>>2]|0)|0;if(!d){QP(f);d=0;break}else{c[h>>2]=d;Xw(i,16,202184,h);QP(f);break}}}else d=-12;while(0)}Mb=j;return d|0}function pm(b,d,e,f,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0;p=Mb;Mb=Mb+32|0;o=p+8|0;m=p;l=p+28|0;do if((e|0)!=0?(Ry(e,212780)|0)!=0:0){k=Vb[i&31](e)|0;if((k|0)==-1){k=gQ(e,l,0)|0;if(k>>>0<h>>>0?(a[c[l>>2]>>0]|0)==0:0){n=7;break}else{c[m>>2]=e;c[m+4>>2]=j;Xw(b,16,203404,m);i=-22;break}}else n=7}else{k=-1;n=7}while(0);do if((n|0)==7){q=+g[d+24>>3];e=~~(q>-1.0?q:-1.0);q=+g[d+32>>3];n=h+-1|0;r=+(n|0);i=~~(q>r?r:q);h=(i|e|0)==0;e=h?-1:e;i=h?n:i;if((k|0)<(e|0)|(k|0)>(i|0)){f=c[d>>2]|0;c[o>>2]=k;c[o+4>>2]=f;c[o+8>>2]=j;c[o+12>>2]=e;c[o+16>>2]=i;Xw(b,16,203445,o);i=-34;break}else{c[f>>2]=k;i=0;break}}while(0);Mb=p;return i|0}function qm(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<6;r=g<<6;p=d>>1;q=p<<2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<6;o=f+-63|0;a:do if(m<<24>>24>=1){d=63-f|0;f=0;g=c;while(1){if((f|0)==4)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;t=l-t|0;b[g>>1]=t>>>0<16384?t:(t^-2147483648)>>31&16383}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function rm(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=0-g|0;if(!e){k=d[b+h>>0]|0;h=k}else{h=d[b+h>>0]|0;k=d[b+~g>>0]|0}i=d[b+(1-g)>>0]|0;j=i+2|0;l=d[b+(2-g)>>0]|0;m=l+2|0;n=d[b+(3-g)>>0]|0;o=d[b+(4-g)>>0]|0;p=d[b+(5-g)>>0]|0;q=d[b+(6-g)>>0]|0;r=d[b+(7-g)>>0]|0;if(!f)e=r;else e=d[b+(8-g)>>0]|0;a[b>>0]=(j+k+(h<<1)|0)>>>2;a[b+1>>0]=(m+h+(i<<1)|0)>>>2;a[b+2>>0]=(j+(l<<1)+n|0)>>>2;a[b+3>>0]=(m+(n<<1)+o|0)>>>2;i=b+4|0;a[i>>0]=(n+2+(o<<1)+p|0)>>>2;a[b+5>>0]=(o+2+(p<<1)+q|0)>>>2;a[b+6>>0]=(p+2+(q<<1)+r|0)>>>2;a[b+7>>0]=(q+2+(r<<1)+e|0)>>>2;h=c[b>>2]|0;i=c[i>>2]|0;e=1;while(1){if((e|0)==8)break;f=b+(H(e,g)|0)|0;c[f>>2]=h;c[f+4>>2]=i;e=e+1|0}return}function sm(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<6;q=g<<6;r=d>>1;p=d&-2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<6;o=f+-63|0;a:do if(m<<24>>24>=1){d=63-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(q|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(q|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;t=l-t|0;b[g>>1]=t>>>0<16384?t:(t^-2147483648)>>31&16383}f=f+1|0;g=g+(r<<1)|0}}while(0);c=c+(p<<1)|0;n=n+1|0}return}function tm(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<4;r=g<<4;p=d>>1;q=p<<2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<4;o=f+-15|0;a:do if(m<<24>>24>=1){d=15-f|0;f=0;g=c;while(1){if((f|0)==4)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;t=l-t|0;b[g>>1]=t>>>0<4096?t:(t^-2147483648)>>31&4095}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function um(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<2;r=g<<2;p=d>>1;q=p<<2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<2;o=f+-3|0;a:do if(m<<24>>24>=1){d=3-f|0;f=0;g=c;while(1){if((f|0)==4)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;t=l-t|0;b[g>>1]=t>>>0<1024?t:(t^-2147483648)>>31&1023}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function vm(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=(h<<f)+((f|0)==0?0:1<<f+-1)|0;h=b;b=0;while(1){if((b|0)>=(e|0))break;j=(H(d[h>>0]|0,g)|0)+i>>f;a[h>>0]=j>>>0>255?(j^-2147483648)>>31:j;j=h+1|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+2|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+3|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+4|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+5|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+6|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+7|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;h=h+c|0;b=b+1|0}return}function wm(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<4;q=g<<4;r=d>>1;p=d&-2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<4;o=f+-15|0;a:do if(m<<24>>24>=1){d=15-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(q|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(q|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;t=l-t|0;b[g>>1]=t>>>0<4096?t:(t^-2147483648)>>31&4095}f=f+1|0;g=g+(r<<1)|0}}while(0);c=c+(p<<1)|0;n=n+1|0}return}function xm(){var a=0,b=0,d=0.0,e=0,h=0;a:do if(!(c[226055]|0)){a=1;while(1){if((a|0)==8192)break;g[904224+(a<<3)>>3]=1.0;a=a+1|0}e=2;while(1){if((e|0)==90)break;b:do if(+g[904224+(e<<3)>>3]==1.0){d=+(e|0);d=+ro(d)*d;a=e;while(1){if(a>>>0>=8192)break b;b=a;while(1){if(b>>>0>=8192)break;h=904224+(b<<3)|0;g[h>>3]=d*+g[h>>3];b=b+a|0}a=H(a,e)|0}}while(0);e=e+1|0}b=91;while(1){if(b>>>0>=8192)break;c:do if(+g[904224+(b<<3)>>3]==1.0){d=+(b|0);d=+ro(d)*d;a=b;while(1){if(a>>>0>=8192)break c;h=904224+(a<<3)|0;g[h>>3]=d*+g[h>>3];a=a+b|0}}while(0);b=b+2|0}a=0;while(1){if((a|0)==8192)break a;f[871456+(a<<2)>>2]=+g[904224+(a<<3)>>3];a=a+1|0}}while(0);return}function ym(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=b>>1;b=0;d=0;f=0;g=0;while(1){if((b|0)==4)break;i=a+((H(b,l)|0)+-1<<1)|0;i=d+(e[i>>1]|0)+(e[a+(b-l<<1)>>1]|0)|0;j=b+4|0;k=a+((H(j,l)|0)+-1<<1)|0;b=b+1|0;d=i;f=f+(e[a+(j-l<<1)>>1]|0)|0;g=g+(e[k>>1]|0)|0}d=XJ((d+4|0)>>>3|0,0,65537,65537)|0;h=M()|0;i=XJ((f+2|0)>>>2|0,0,65537,65537)|0;j=M()|0;k=(g+2|0)>>>2;f=(g+4+f|0)>>>3;b=0;while(1){if((b|0)==4)break;g=a+((H(b,l)|0)<<1)|0;m=g;c[m>>2]=d;c[m+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=j;b=b+1|0}g=XJ(k|0,0,65537,65537)|0;h=M()|0;d=XJ(f|0,0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;m=a+((H(b,l)|0)<<1)|0;k=m;c[k>>2]=g;c[k+4>>2]=h;m=m+8|0;c[m>>2]=d;c[m+4>>2]=f;b=b+1|0}return}function zm(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<2;q=g<<2;r=d>>1;p=d&-2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<2;o=f+-3|0;a:do if(m<<24>>24>=1){d=3-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(q|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(q|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;t=l-t|0;b[g>>1]=t>>>0<1024?t:(t^-2147483648)>>31&1023}f=f+1|0;g=g+(r<<1)|0}}while(0);c=c+(p<<1)|0;n=n+1|0}return}function Am(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<1;r=g<<1;p=d>>1;q=p<<2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<1;o=f+-1|0;a:do if(m<<24>>24>=1){d=1-f|0;f=0;g=c;while(1){if((f|0)==4)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;t=l-t|0;b[g>>1]=t>>>0<512?t:(t^-2147483648)>>31&511}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function Bm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0.0;g=a;h=g+68|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));k=1<<b;c[a+20>>2]=b;c[a+16>>2]=k;l=k>>2;g=a+60|0;c[g>>2]=0;a:do if((Zj(a,b+-2|0,d)|0)>=0?(m=HQ((k|0)/2|0)|0,c[a+24>>2]=m,(m|0)!=0):0){switch(c[g>>2]|0){case 0:{d=m+(l<<2)|0;c[a+28>>2]=d;h=1;a=d;break}case 1:{d=m+4|0;c[a+28>>2]=d;h=2;a=d;break}default:{n=9;break a}}j=e<0.0?+(l|0)+.125:.125;i=+v(+(+u(+e)));e=+(k|0);g=0;while(1){if((g|0)>=(l|0)){g=0;break a}o=(j+ +(g|0))*6.283185307179586/e;p=-(i*+x(+o));k=H(g,h)|0;f[m+(k<<2)>>2]=p;o=-(i*+y(+o));f[a+(k<<2)>>2]=o;g=g+1|0}}else n=9;while(0);if((n|0)==9){XT(a);g=-1}return g|0}function Cm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else i=16;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e){i=16;break}else break;f=H(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e){i=16;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e){i=16;break}else b=b+1|0}}while(0);if((i|0)==16)b=0;return b|0}function Dm(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<1;q=g<<1;r=d>>1;p=d&-2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<1;o=f+-1|0;a:do if(m<<24>>24>=1){d=1-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(q|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(q|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;t=l-t|0;b[g>>1]=t>>>0<512?t:(t^-2147483648)>>31&511}f=f+1|0;g=g+(r<<1)|0}}while(0);c=c+(p<<1)|0;n=n+1|0}return}function Em(b,f){b=b|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0;n=Mb;Mb=Mb+96|0;j=n+80|0;i=n+72|0;h=n+40|0;m=n+32|0;l=n+24|0;k=n+16|0;o=n+8|0;Xw(f,48,171447,n);c[o>>2]=d[b>>0];Xw(f,48,171480,o);switch(a[b>>0]|0){case 0:{o=b+1|0;c[k>>2]=d[o>>0];Xw(f,48,171507,k);switch(a[o>>0]|0){case 2:{c[l>>2]=e[b+2>>1];Xw(f,48,171541,l);break}case 3:{c[m>>2]=e[b+4>>1];Xw(f,48,171575,m);break}default:{}}r=+(d[b+7>>0]|0)/255.0;q=+(d[b+8>>0]|0)/255.0;p=+(d[b+9>>0]|0)/255.0;g[h>>3]=+(d[b+6>>0]|0)/255.0;g[h+8>>3]=r;g[h+16>>3]=q;g[h+24>>3]=p;Xw(f,48,171610,h);break}case 1:{o=b+10|0;c[i>>2]=d[o>>0];Xw(f,48,171655,i);if(!(a[o>>0]|0)){g[j>>3]=+(e[b+12>>1]|0)/100.0;Xw(f,48,171678,j)}break}default:{}}Mb=n;return}function Fm(b,c,e,f,g,h,i){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=d[b+(0-e)>>0]|0;n=d[b+(1-e)>>0]|0;m=d[b+(2-e)>>0]|0;l=d[b+(3-e)>>0]|0;k=d[c>>0]|0;j=d[c+1>>0]|0;c=d[c+2>>0]|0;p=(n<<1)+4|0;a[b>>0]=(p+f+h+(o+g<<1)|0)>>>3;q=m+1|0;r=(q+n|0)>>>1&255;f=e<<1;a[b+f>>0]=r;a[b+1>>0]=r;q=(q+l|0)>>>1&255;a[b+(f|1)>>0]=q;a[b+2>>0]=q;q=(l+1+k|0)>>>1&255;a[b+(f+2)>>0]=q;a[b+3>>0]=q;a[b+(f+3)>>0]=(k+1+j|0)>>>1;a[b+e>>0]=(p+g+(h<<1)+i+o+m|0)>>>3;g=l+2|0;h=(g+n+(m<<1)|0)>>>2&255;i=e*3|0;a[b+i>>0]=h;a[b+(e+1)>>0]=h;h=k+2|0;f=(h+m+(l<<1)|0)>>>2&255;a[b+(i+1)>>0]=f;a[b+(e+2)>>0]=f;g=(g+(k<<1)+j|0)>>>2&255;a[b+(i+2)>>0]=g;a[b+(e+3)>>0]=g;a[b+(i+3)>>0]=(h+(j<<1)+c|0)>>>2;return}function Gm(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;i=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;l=e[a+(2-h<<1)>>1]|0;j=e[a+(3-h<<1)>>1]|0;g=e[c>>1]|0;f=e[c+2>>1]|0;c=e[c+4>>1]|0;n=m+1|0;b[a>>1]=(n+i|0)>>>1;n=(n+l|0)>>>1&65535;k=d&-2;b[a+(k<<1)>>1]=n;b[a+2>>1]=n;n=(l+1+j|0)>>>1&65535;b[a+((d|1)<<1)>>1]=n;b[a+4>>1]=n;d=(j+1+g|0)>>>1&65535;b[a+(k+2<<1)>>1]=d;b[a+6>>1]=d;b[a+(k+3<<1)>>1]=(g+1+f|0)>>>1;k=l+2|0;b[a+(h<<1)>>1]=(k+i+(m<<1)|0)>>>2;i=j+2|0;l=(i+m+(l<<1)|0)>>>2&65535;d=h*3|0;b[a+(d<<1)>>1]=l;b[a+(h+1<<1)>>1]=l;j=(k+(j<<1)+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(h+2<<1)>>1]=j;i=(i+(g<<1)+f|0)>>>2&65535;b[a+(d+2<<1)>>1]=i;b[a+(h+3<<1)>>1]=i;b[a+(d+3<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function Hm(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=0;h=0;a=c;while(1){if((g|0)>=(f|0))break;n=(d[a+1>>0]|0)+1|0;o=(d[b>>0]|0)-((n+(d[a>>0]|0)|0)>>>1)|0;m=d[a+2>>0]|0;n=(d[b+1>>0]|0)-((n+m|0)>>>1)|0;l=d[a+3>>0]|0;m=(d[b+2>>0]|0)-((m+1+l|0)>>>1)|0;k=d[a+4>>0]|0;l=(d[b+3>>0]|0)-((l+1+k|0)>>>1)|0;j=d[a+5>>0]|0;k=(d[b+4>>0]|0)-((k+1+j|0)>>>1)|0;i=d[a+6>>0]|0;j=(d[b+5>>0]|0)-((j+1+i|0)>>>1)|0;c=d[a+7>>0]|0;i=(d[b+6>>0]|0)-((i+1+c|0)>>>1)|0;c=(d[b+7>>0]|0)-((c+1+(d[a+8>>0]|0)|0)>>>1)|0;g=g+1|0;h=((o|0)>-1?o:0-o|0)+h+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((c|0)>-1?c:0-c|0)|0;b=b+e|0;a=a+e|0}return h|0}function Im(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=Mb;Mb=Mb+48|0;k=n+40|0;m=n+32|0;l=n+24|0;j=n+16|0;i=n+8|0;h=n;if((b|0)<1)b=_w(d,e)|0;f=0;while(1){if(f>>>0>=28){g=9;break}if((b|0)==(c[90288+(f<<4)+4>>2]|0)?(g=90288+(f<<4)+8|0,(c[g>>2]|0)==(d|0)?(c[g+4>>2]|0)==(e|0):0):0){g=7;break}f=f+1|0}if((g|0)==7){c[h>>2]=c[90288+(f<<4)>>2];zt(a,202135,h)}else if((g|0)==9?(c[i>>2]=b,zt(a,202138,i),!((d|0)==0&(e|0)==0)):0){zt(a,202150,j);b=0;g=0;while(1){if((g|0)==64)break;j=cN(1,0,g|0)|0;if(!((j&d|0)==0&((M()|0)&e|0)==0)){f=CQ(g)|0;if(f|0){if((b|0)>0)zt(a,202153,l);c[m>>2]=f;zt(a,202135,m)}b=b+1|0}g=g+1|0}zt(a,202155,k)}Mb=n;return}function Jm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=jx((hu(c[b>>2]|0)|0)+1|0)|0;f=c[b>>2]|0;if(!e)e=0;else{g=f+(xn(f,201468)|0)|0;h=e;f=e;a:while(1){b:while(1){i=a[g>>0]|0;if(!(i<<24>>24))break a;if(xn(g,d)|0)break a;j=g+1|0;switch(i<<24>>24){case 39:{i=8;break b}case 92:{k=a[j>>0]|0;if(k<<24>>24){i=10;break b}break}default:{}}a[f>>0]=i;g=j;f=f+1|0}if((i|0)==8){while(1){g=a[j>>0]|0;k=g<<24>>24==0;i=j+1|0;if(!(k^g<<24>>24!=39))break;a[f>>0]=g;j=i;f=f+1|0}g=k?j:i;h=k?h:f}else if((i|0)==10){j=f+1|0;a[f>>0]=k;g=g+2|0;h=j;f=j}}do{a[f>>0]=0;f=f+-1|0;if(f>>>0<h>>>0)break}while((xn(f,201468)|0)!=0);c[b>>2]=g}return e|0}function Km(a){a=a|0;var d=0,e=0,g=0,h=0,i=0;h=Mb;Mb=Mb+16|0;e=c[a+60>>2]|0;a:do if((c[a+420>>2]|0)>=1){g=a+48|0;b:do switch(c[g>>2]|0){case 65543:{d=0;while(1){if((d|0)==256)break b;i=(zM(d&255)|0)&65535;b[e+(d<<1)>>1]=i;d=d+1|0}}case 65542:{d=0;while(1){if((d|0)==256)break b;i=(iP(d&255)|0)&65535;b[e+(d<<1)>>1]=i;d=d+1|0}}case 67587:case 67586:{f[e+516>>2]=1.0/+(1<<(c[a+784>>2]|0)+-1|0);i=nD(0)|0;c[e+512>>2]=i;if(!i){d=-12;break a}break}default:{}}while(0);i=c[c[(c[a+12>>2]|0)+32>>2]>>2]|0;c[a+424>>2]=i;if((i|0)==2){d=BI(c[g>>2]|0)|0;c[a+788>>2]=d;d=0}else d=0}else{Xw(a,16,184517,h);d=-22}while(0);Mb=h;return d|0}function Lm(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=c+e|0;m=f+g|0;n=b+29|0;g=a[n>>0]|0;h=g&255;a:do if((c+h+1|0)>>>0<o>>>0){l=m;e=f;j=0;i=h;while(1){k=0;h=0;do{k=k<<8|(d[c+(h&255)>>0]|0);h=h+1<<24>>24}while((g&255)>=(h&255));h=c+(i+1)|0;c=h+k|0;if(c>>>0>o>>>0){e=0;break a}if(j<<24>>24==0&(a[h>>0]&112)==32){g=rr(b,e,l-e|0)|0;if((g|0)<1){e=0;break a}j=1;e=e+g|0}if((e+k+4|0)>>>0>m>>>0){e=0;break a}a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;a[e+3>>0]=1;rk(e+4|0,h|0,k|0)|0;e=e+(k+4)|0;g=a[n>>0]|0;i=g&255;if((c+i+1|0)>>>0>=o>>>0){p=11;break}}}else{e=f;p=11}while(0);if((p|0)==11)e=e-f|0;return e|0}function Mm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=Mb;Mb=Mb+64|0;g=m+48|0;j=m+32|0;k=m+16|0;l=m;f=c[a+4>>2]|0;if(((c[f+92>>2]&8|0)==0?(c[f+96>>2]&4194304|0)==0:0)?(c[d+644>>2]|0)==0:0)f=0;else{do if(!(c[f+704>>2]|0)){h=(c[d+76>>2]|0)==2147483647;if(!h?(c[d+80>>2]|0)!=2147483647:0)break;i=c[d>>2]|0;n=h&1;c[g>>2]=n;Xw(f,48,171111,g);g=0-(n^1)|0;f=0;while(1){if((f|0)==4)break;o=i+(f<<2)|0;n=c[i+32+(f<<2)>>2]|0;c[j+(f<<2)>>2]=(c[o>>2]|0)+(n&g);c[l+(f<<2)>>2]=(c[o>>2]|0)+(h?n:0);c[k+(f<<2)>>2]=n<<1;f=f+1|0}Mw(j,k,l,k,c[i+80>>2]|0,c[i+68>>2]|0,c[i+72>>2]>>1)}while(0);f=Vw(a,b,d)|0;if((f|0)>=0){c[e>>2]=1;f=0}}Mb=m;return f|0}function Nm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=Mb;Mb=Mb+16|0;g=i;if(b>>>0>e>>>0){c[g>>2]=187225;c[g+4>>2]=185241;c[g+8>>2]=2174;Xw(0,0,213444,g);ba()}a:do if(b>>>0<e>>>0){h=0;while(1){if(h>>>0>=3)break;j=c[f>>2]<<8;g=b+1|0;c[f>>2]=j|d[b>>0];if((g|0)==(e|0)|(j|0)==256){e=g;break a}else{h=h+1|0;b=g}}b:while(1){if(b>>>0>=e>>>0)break;j=a[b+-1>>0]|0;g=j&255;do if((j&255)<=1)if(!(a[b+-2>>0]|0)){h=b+1|0;if(!(g+-1|d[b+-3>>0])){b=h;break b}else{b=h;break}}else{b=b+2|0;break}else b=b+3|0;while(0)}e=b>>>0>e>>>0?e:b;j=e+-4|0;j=kS(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24|0)|0;c[f>>2]=j}while(0);Mb=i;return e|0}function Om(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;m=d+8|0;n=e+8|0;o=d+12|0;p=e+12|0;q=d+16|0;r=e+16|0;h=d+4|0;i=e+28|0;j=d+20|0;k=e+44|0;l=a+4|0;g=0;while(1){if((g|0)>=(f|0))break;s=H(c[n>>2]|0,b[(c[m>>2]|0)+(g<<1)>>1]|0)|0;s=(H(c[p>>2]|0,b[(c[o>>2]|0)+(g<<1)>>1]|0)|0)+s|0;u=H(c[e>>2]|0,b[(c[d>>2]|0)+(g<<1)>>1]|0)|0;s=s+16384|0;u=s+u+(H(c[r>>2]|0,b[(c[q>>2]|0)+(g<<1)>>1]|0)|0)|0;t=u>>15;b[(c[a>>2]|0)+(g<<1)>>1]=(t+32768|0)>>>0>65535?u>>31^32767:t;t=H(c[i>>2]|0,b[(c[h>>2]|0)+(g<<1)>>1]|0)|0;t=s+t+(H(c[k>>2]|0,b[(c[j>>2]|0)+(g<<1)>>1]|0)|0)|0;s=t>>15;b[(c[l>>2]|0)+(g<<1)>>1]=(s+32768|0)>>>0>65535?t>>31^32767:s;g=g+1|0}return}function Pm(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=f<<6;p=g<<6;o=d>>1;m=0;while(1){if((m|0)==4)break;l=a[h+m>>0]|0;f=l<<24>>24<<6;n=f+-63|0;a:do if(l<<24>>24>=1){l=63-f|0;f=1;k=c;while(1){if(!f)break a;f=k+-2|0;g=e[f>>1]|0;d=e[k+-4>>1]|0;i=e[k>>1]|0;j=e[k+2>>1]|0;r=g-i|0;if(((((r|0)>-1?r:0-r|0)|0)<(q|0)?(r=d-g|0,(((r|0)>-1?r:0-r|0)|0)<(p|0)):0)?(r=j-i|0,(((r|0)>-1?r:0-r|0)|0)<(p|0)):0){r=d+4-j+(i-g<<2)>>3;r=(r|0)<(l|0)?l:(r|0)>(n|0)?n:r;j=r+g|0;b[f>>1]=j>>>0<16384?j:(j^-2147483648)>>31&16383;r=i-r|0;b[k>>1]=r>>>0<16384?r:(r^-2147483648)>>31&16383}f=0;k=k+(o<<1)|0}}while(0);c=c+(o<<1)|0;m=m+1|0}return}function Qm(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=f>>1;if(!b){b=e[a+-2>>1]|0;d=b}else{d=e[a+-2>>1]|0;b=e[a+(~h<<1)>>1]|0}o=e[a+(h+-1<<1)>>1]|0;n=o+2|0;m=e[a+((f&-2)+-1<<1)>>1]|0;l=m+2|0;k=e[a+((h*3|0)+-1<<1)>>1]|0;j=e[a+((h<<2)+-1<<1)>>1]|0;i=e[a+((h*5|0)+-1<<1)>>1]|0;g=e[a+((h*6|0)+-1<<1)>>1]|0;f=e[a+((h*7|0)+-1<<1)>>1]|0;f=((n+b+(d<<1)|0)>>>2)+4+((l+d+(o<<1)|0)>>>2)+((n+(m<<1)+k|0)>>>2)+((l+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+g|0)>>>2)+((g+2+(f*3|0)|0)>>>2)+((i+2+(g<<1)+f|0)>>>2)>>3;f=XJ(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;d=a;while(1){if((b|0)==8)break;o=d;c[o>>2]=f;c[o+4>>2]=g;o=d+8|0;c[o>>2]=f;c[o+4>>2]=g;b=b+1|0;d=d+(h<<1)|0}return}function Rm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=Mb;Mb=Mb+16|0;e=h;if((b|0)<=0){c[e>>2]=208358;c[e+4>>2]=208334;c[e+8>>2]=172;Xw(0,0,213444,e);ba()}c[a+12>>2]=b;f=c[a+4>>2]|0;e=a+8|0;c[e>>2]=(f|0)<(b|0)?f:b;c[a+16>>2]=0;c[a+20>>2]=c[e>>2];f=a+116|0;d=(d|0)!=0;b=(c[e>>2]|0)+((d&(c[f>>2]|0)!=0^1)<<31>>31)|0;e=0;while(1){if((e|0)>=(b|0))break;j=c[a>>2]|0;i=j+(e*88|0)+4|0;jV(i)|0;c[j+(e*88|0)+84>>2]=0;xb(j+(e*88|0)+32|0)|0;jV(i)|0;e=e+1|0}b=c[f>>2]|0;if(!(d&(b|0)!=0)){if(!(Qw(a)|0))g=9}else{dc[b&31](c[a+108>>2]|0);g=9}if((g|0)==9){e=a+24|0;jV(e)|0;d=a+100|0;b=a+52|0;while(1){if(c[d>>2]|0)break;yb(b|0,e|0)|0}c[d>>2]=0;jV(e)|0}Mb=h;return}function Sm(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=f<<4;p=g<<4;o=d>>1;m=0;while(1){if((m|0)==4)break;l=a[h+m>>0]|0;f=l<<24>>24<<4;n=f+-15|0;a:do if(l<<24>>24>=1){l=15-f|0;f=1;k=c;while(1){if(!f)break a;f=k+-2|0;g=e[f>>1]|0;d=e[k+-4>>1]|0;i=e[k>>1]|0;j=e[k+2>>1]|0;r=g-i|0;if(((((r|0)>-1?r:0-r|0)|0)<(q|0)?(r=d-g|0,(((r|0)>-1?r:0-r|0)|0)<(p|0)):0)?(r=j-i|0,(((r|0)>-1?r:0-r|0)|0)<(p|0)):0){r=d+4-j+(i-g<<2)>>3;r=(r|0)<(l|0)?l:(r|0)>(n|0)?n:r;j=r+g|0;b[f>>1]=j>>>0<4096?j:(j^-2147483648)>>31&4095;r=i-r|0;b[k>>1]=r>>>0<4096?r:(r^-2147483648)>>31&4095}f=0;k=k+(o<<1)|0}}while(0);c=c+(o<<1)|0;m=m+1|0}return}function Tm(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=d[b+~e>>0]|0;o=d[b+(0-e)>>0]|0;m=d[b+(1-e)>>0]|0;l=d[b+(2-e)>>0]|0;k=d[b+(3-e)>>0]|0;h=d[b+-1>>0]|0;g=d[b+(e+-1)>>0]|0;i=e<<1;f=d[b+(i+-1)>>0]|0;c=e*3|0;n=o+1|0;p=(n+j|0)>>>1&255;a[b+(i|1)>>0]=p;a[b>>0]=p;n=(n+m|0)>>>1&255;a[b+(i+2)>>0]=n;a[b+1>>0]=n;n=(m+1+l|0)>>>1&255;a[b+(i+3)>>0]=n;a[b+2>>0]=n;a[b+3>>0]=(l+1+k|0)>>>1;n=o+2|0;p=(n+(j<<1)+h|0)>>>2&255;a[b+(c+1)>>0]=p;a[b+e>>0]=p;j=j+2|0;o=(j+(o<<1)+m|0)>>>2&255;a[b+(c+2)>>0]=o;a[b+(e+1)>>0]=o;n=(n+(m<<1)+l|0)>>>2&255;a[b+(c+3)>>0]=n;a[b+(e+2)>>0]=n;a[b+(e+3)>>0]=(m+2+(l<<1)+k|0)>>>2;a[b+i>>0]=(j+(h<<1)+g|0)>>>2;a[b+c>>0]=(h+2+(g<<1)+f|0)>>>2;return}function Um(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=f<<2;p=g<<2;o=d>>1;m=0;while(1){if((m|0)==4)break;l=a[h+m>>0]|0;f=l<<24>>24<<2;n=f+-3|0;a:do if(l<<24>>24>=1){l=3-f|0;f=1;k=c;while(1){if(!f)break a;f=k+-2|0;g=e[f>>1]|0;d=e[k+-4>>1]|0;i=e[k>>1]|0;j=e[k+2>>1]|0;r=g-i|0;if(((((r|0)>-1?r:0-r|0)|0)<(q|0)?(r=d-g|0,(((r|0)>-1?r:0-r|0)|0)<(p|0)):0)?(r=j-i|0,(((r|0)>-1?r:0-r|0)|0)<(p|0)):0){r=d+4-j+(i-g<<2)>>3;r=(r|0)<(l|0)?l:(r|0)>(n|0)?n:r;j=r+g|0;b[f>>1]=j>>>0<1024?j:(j^-2147483648)>>31&1023;r=i-r|0;b[k>>1]=r>>>0<1024?r:(r^-2147483648)>>31&1023}f=0;k=k+(o<<1)|0}}while(0);c=c+(o<<1)|0;m=m+1|0}return}function Vm(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=0-c|0;s=H(c,-2)|0;h=0;while(1){if((h|0)==4)break;p=a[g+h>>0]|0;q=p<<24>>24;a:do if(p<<24>>24>=1){k=0-q|0;i=0;j=b;while(1){if((i|0)==2)break a;l=j+r|0;m=d[l>>0]|0;n=d[j+s>>0]|0;o=d[j>>0]|0;p=d[j+c>>0]|0;t=m-o|0;if(((((t|0)>-1?t:0-t|0)|0)<(e|0)?(t=n-m|0,(((t|0)>-1?t:0-t|0)|0)<(f|0)):0)?(t=p-o|0,(((t|0)>-1?t:0-t|0)|0)<(f|0)):0){t=n+4-p+(o-m<<2)>>3;t=(t|0)<(k|0)?k:(t|0)>(q|0)?q:t;p=t+m|0;a[l>>0]=p>>>0>255?(p^-2147483648)>>31:p;t=o-t|0;a[j>>0]=t>>>0>255?(t^-2147483648)>>31:t}i=i+1|0;j=j+1|0}}while(0);b=b+2|0;h=h+1|0}return}function Wm(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;j=1;while(1){if((j|0)==3)break;k=j<<4;m=k|4;n=e+(j+-1<<2)|0;while(1){if(k>>>0>=m>>>0)break;if(!(a[i+(d[88656+k>>0]|0)>>0]|0)){l=g+(k<<4<<1)|0;if(b[l>>1]|0)mx((c[n>>2]|0)+(c[f+(k<<2)>>2]|0)|0,l,h)}else hk((c[n>>2]|0)+(c[f+(k<<2)>>2]|0)|0,g+(k<<4<<1)|0,h);k=k+1|0}j=j+1|0}j=1;while(1){if((j|0)==3)break;k=j<<4;l=k|8;m=e+(j+-1<<2)|0;k=k|4;while(1){if(k>>>0>=l>>>0)break;n=k+4|0;if(!(a[i+(d[88656+n>>0]|0)>>0]|0)){o=g+(k<<4<<1)|0;if(b[o>>1]|0)mx((c[m>>2]|0)+(c[f+(n<<2)>>2]|0)|0,o,h)}else hk((c[m>>2]|0)+(c[f+(n<<2)>>2]|0)|0,g+(k<<4<<1)|0,h);k=k+1|0}j=j+1|0}return}function Xm(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=d[b+~e>>0]|0;p=d[b+(0-e)>>0]|0;n=d[b+(1-e)>>0]|0;m=d[b+(2-e)>>0]|0;j=d[b+-1>>0]|0;h=d[b+(e+-1)>>0]|0;i=e<<1;g=d[b+(i+-1)>>0]|0;c=e*3|0;f=d[b+(c+-1)>>0]|0;l=j+1|0;o=(l+k|0)>>>1&255;a[b+(e+2)>>0]=o;a[b>>0]=o;o=p+2|0;q=(o+(k<<1)+j|0)>>>2&255;a[b+(e+3)>>0]=q;a[b+1>>0]=q;k=k+2|0;a[b+2>>0]=(k+(p<<1)+n|0)>>>2;a[b+3>>0]=(o+(n<<1)+m|0)>>>2;l=(l+h|0)>>>1&255;a[b+(i+2)>>0]=l;a[b+e>>0]=l;k=(k+(j<<1)+h|0)>>>2&255;a[b+(i+3)>>0]=k;a[b+(e+1)>>0]=k;e=(h+1+g|0)>>>1&255;a[b+(c+2)>>0]=e;a[b+i>>0]=e;e=(j+2+(h<<1)+g|0)>>>2&255;a[b+(c+3)>>0]=e;a[b+(i|1)>>0]=e;a[b+c>>0]=(g+1+f|0)>>>1;a[b+(c+1)>>0]=(h+2+(g<<1)+f|0)>>>2;return}function Ym(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=f<<1;p=g<<1;o=d>>1;m=0;while(1){if((m|0)==4)break;l=a[h+m>>0]|0;f=l<<24>>24<<1;n=f+-1|0;a:do if(l<<24>>24>=1){l=1-f|0;f=1;k=c;while(1){if(!f)break a;f=k+-2|0;g=e[f>>1]|0;d=e[k+-4>>1]|0;i=e[k>>1]|0;j=e[k+2>>1]|0;r=g-i|0;if(((((r|0)>-1?r:0-r|0)|0)<(q|0)?(r=d-g|0,(((r|0)>-1?r:0-r|0)|0)<(p|0)):0)?(r=j-i|0,(((r|0)>-1?r:0-r|0)|0)<(p|0)):0){r=d+4-j+(i-g<<2)>>3;r=(r|0)<(l|0)?l:(r|0)>(n|0)?n:r;j=r+g|0;b[f>>1]=j>>>0<512?j:(j^-2147483648)>>31&511;r=i-r|0;b[k>>1]=r>>>0<512?r:(r^-2147483648)>>31&511}f=0;k=k+(o<<1)|0}}while(0);c=c+(o<<1)|0;m=m+1|0}return}function Zm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=0;while(1){if((h|0)==5)break;g=0;while(1){if((g|0)==38)break;i=g+6|0;c[d+(h*352|0)+(i<<3)>>2]=c[e+(g<<8)+(h<<2)>>2];c[d+(h*352|0)+(i<<3)+4>>2]=c[e+9728+(g<<8)+(h<<2)>>2];g=g+1|0}h=h+1|0}if(!f){El(a,d,b);cq(d+352|0,b+1536|0,1);cq(d+704|0,b+2048|0,0);hc[c[a+12>>2]&255](b+1792|0,e,3,32)}else{NH(a,d,b,1066880,12);NH(a,d+352|0,b+3072|0,1067648,8);NH(a,d+704|0,b+5120|0,1068160,4);NH(a,d+1056|0,b+6144|0,1068160,4);NH(a,d+1408|0,b+7168|0,1068160,4);hc[c[a+12>>2]&255](b+6912|0,e,5,32)}g=0;while(1){if((g|0)==5)break;h=d+(g*352|0)|0;a=d+(g*352|0)+256|0;b=h+48|0;do{c[h>>2]=c[a>>2];h=h+4|0;a=a+4|0}while((h|0)<(b|0));g=g+1|0}return}function _m(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if(j>>>0>=k>>>0)break;if(!(a[h+(d[88656+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)yw((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else Kj((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|8;l=b+(i+-1<<2)|0;j=j|4;while(1){if(j>>>0>=k>>>0)break;m=j+4|0;if(!(a[h+(d[88656+m>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)yw((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else Kj((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function $m(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if(j>>>0>=k>>>0)break;if(!(a[h+(d[88656+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)Dw((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else Mj((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|8;l=b+(i+-1<<2)|0;j=j|4;while(1){if(j>>>0>=k>>>0)break;m=j+4|0;if(!(a[h+(d[88656+m>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)Dw((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else Mj((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function an(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if(j>>>0>=k>>>0)break;if(!(a[h+(d[88656+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)Ew((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else Nj((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|8;l=b+(i+-1<<2)|0;j=j|4;while(1){if(j>>>0>=k>>>0)break;m=j+4|0;if(!(a[h+(d[88656+m>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)Ew((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else Nj((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function bn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=Mb;Mb=Mb+16|0;j=k+8|0;f=k;h=k+12|0;i=sU(d)|0;c[b+12>>2]=e;c[b+8>>2]=1;do if((e|2|0)==2)if(!(Wq(a,b,d)|0))g=8;else BK(b);else{if((e|0)!=1){l=c[a+4>>2]|0;c[f>>2]=e;Xw(l,16,189956,f);BK(b);break}if(!(Xg(a,b,d)|0))g=8;else BK(b)}while(0);if((g|0)==8?uL(d)|0:0){e=Hz(d,4)|0;c[h>>2]=e;if((e|0)==15){e=(Hz(d,8)|0)+15|0;c[h>>2]=e}e=e<<3;c[h>>2]=e;while(1){if((e|0)<=7)break;c[h>>2]=e+-2;Vo(a,b,d,Hz(d,2)|0,h);e=c[h>>2]|0}if((e|0)>=0){if(e|0)gO(d,e)}else Xw(c[a+4>>2]|0,16,190013,j)}l=(sU(d)|0)-i|0;Mb=k;return l|0}function cn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=Mb;Mb=Mb+32|0;j=k;i=k+8|0;c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];c[i+16>>2]=c[d+16>>2];qK(d,(f<<3)+-4|0);h=b+16|0;c[h>>2]=0;if(!(c[b>>2]|0))c[b>>2]=c[a+6480>>2]<<1;d=a+6500|0;if(!(c[d>>2]|0))c[d>>2]=c[a+6480>>2]<<1;if(!e)d=1;else{gO(i,10);d=11}c[b+72>>2]=c[b+76>>2];c[b+80>>2]=c[b+84>>2];c[b+88>>2]=1;if(uL(i)|0)d=(bk(b,i)|0)+d|0;if(c[h>>2]|0)mI(a,b);if(c[b+4>>2]|0)d=(bn(a,b,i,g)|0)+d|0;d=(d+4+(4-d&7)|0)>>>3;if(d>>>0>f>>>0){a=c[a+4>>2]|0;c[j>>2]=f;c[j+4>>2]=d;Xw(a,16,189907,j);BK(b)}Mb=k;return f|0}function dn(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if(j>>>0>=k>>>0)break;if(!(a[h+(d[88656+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)Hw((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else Oj((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|8;l=b+(i+-1<<2)|0;j=j|4;while(1){if(j>>>0>=k>>>0)break;m=j+4|0;if(!(a[h+(d[88656+m>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)Hw((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else Oj((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function en(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=d>>1;n=e[a+(1-j<<1)>>1]|0;m=e[a+(2-j<<1)>>1]|0;h=e[a+(3-j<<1)>>1]|0;k=e[c>>1]|0;i=e[c+2>>1]|0;g=e[c+4>>1]|0;f=e[c+6>>1]|0;c=m+2|0;b[a>>1]=(c+(e[a+(0-j<<1)>>1]|0)+(n<<1)|0)>>>2;l=h+2|0;m=(l+n+(m<<1)|0)>>>2&65535;b[a+(j<<1)>>1]=m;b[a+2>>1]=m;c=(c+k+(h<<1)|0)>>>2&65535;h=d&-2;b[a+(h<<1)>>1]=c;b[a+(j+1<<1)>>1]=c;b[a+4>>1]=c;l=(l+i+(k<<1)|0)>>>2&65535;c=j*3|0;b[a+(c<<1)>>1]=l;b[a+((d|1)<<1)>>1]=l;b[a+(j+2<<1)>>1]=l;b[a+6>>1]=l;d=(k+2+g+(i<<1)|0)>>>2&65535;b[a+(c+1<<1)>>1]=d;b[a+(h+2<<1)>>1]=d;b[a+(j+3<<1)>>1]=d;d=(i+2+f+(g<<1)|0)>>>2&65535;b[a+(c+2<<1)>>1]=d;b[a+(h+3<<1)>>1]=d;b[a+(c+3<<1)>>1]=(g+2+(f*3|0)|0)>>>2;return}function fn(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=Mb;Mb=Mb+32|0;j=m+8|0;n=m;i=c[b+60>>2]|0;k=c[g+24>>2]|0;l=c[g+28>>2]|0;Qu(g,1,m+4|0)|0;g=Qu(g,71,n)|0;h=i+5672|0;c[h>>2]=0;if((g|0)!=0&(c[n>>2]|0)>0)c[h>>2]=(d[g>>0]|0)+1;g=c[i+5668>>2]|0;if((g|0)>-1)c[h>>2]=g;a:do if((l|0)<=268435454){g=sQ(j,k,l)|0;if((g|0)>=0){switch(c[i+6472>>2]|0){case 39:case 23:case 19:case 17:{g=oh(b,e,f,j)|0;break}default:g=sd(b,e,f,j)|0}if((g|0)>=0){g=(sU(j)|0)+7>>3;h=g;while(1){if((h|0)>=(l|0)){g=l;break a}if(!(a[k+h>>0]|0))h=h+1|0;else break}}}}else g=-1094995529;while(0);Mb=m;return g|0}function gn(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=d[b+(0-e)>>0]|0;o=d[b+(1-e)>>0]|0;n=d[b+(2-e)>>0]|0;l=d[b+(3-e)>>0]|0;j=d[c>>0]|0;h=d[c+1>>0]|0;g=d[c+2>>0]|0;f=d[c+3>>0]|0;m=o+1|0;a[b>>0]=(m+k|0)>>>1;m=(m+n|0)>>>1&255;i=e<<1;a[b+i>>0]=m;a[b+1>>0]=m;m=(n+1+l|0)>>>1&255;a[b+(i|1)>>0]=m;a[b+2>>0]=m;m=(l+1+j|0)>>>1&255;a[b+(i+2)>>0]=m;a[b+3>>0]=m;m=n+2|0;a[b+e>>0]=(m+k+(o<<1)|0)>>>2;k=l+2|0;n=(k+o+(n<<1)|0)>>>2&255;c=e*3|0;a[b+c>>0]=n;a[b+(e+1)>>0]=n;l=(m+(l<<1)+j|0)>>>2&255;a[b+(c+1)>>0]=l;a[b+(e+2)>>0]=l;k=(k+(j<<1)+h|0)>>>2&255;a[b+(c+2)>>0]=k;a[b+(e+3)>>0]=k;a[b+(i+3)>>0]=(j+2+(h<<1)+g|0)>>>2;a[b+(c+3)>>0]=(h+2+(g<<1)+f|0)>>>2;return}function hn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;l=Mb;Mb=Mb+48|0;k=l+8|0;j=l;i=l+24|0;c[i>>2]=163844;c[i+4>>2]=g;c[i+8>>2]=h;g=tx(f,a,0)|0;m=(g|0)<1;f=cN(a|0,0,3)|0;h=M()|0;f=m?f:g;g=m?h:((g|0)<0)<<31>>31;if(!((a|0)<1|(b|0)<1|((g|0)>0|(g|0)==0&f>>>0>2147482622))?(m=SO(f|0,g|0,1024,0)|0,m=XJ(m|0,M()|0,b+128|0,0)|0,h=M()|0,!(h>>>0>0|(h|0)==0&m>>>0>2147483646)):0)if(!((d|0)==-1&(e|0)==2147483647)?(m=XJ(b|0,0,a|0,0)|0,j=M()|0,(j|0)>(e|0)|(j|0)==(e|0)&m>>>0>d>>>0):0){c[k>>2]=a;c[k+4>>2]=b;f=k+8|0;c[f>>2]=d;c[f+4>>2]=e;Xw(i,16,202314,k);f=-22}else f=0;else{c[j>>2]=a;c[j+4>>2]=b;Xw(i,16,202283,j);f=-22}Mb=l;return f|0}function jn(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c<<2;h=0;while(1){if((h|0)==4)break;p=a[g+h>>0]|0;q=p<<24>>24;a:do if(p<<24>>24>=1){k=0-q|0;i=0;j=b;while(1){if((i|0)==4)break a;l=j+-1|0;m=d[l>>0]|0;n=d[j+-2>>0]|0;o=d[j>>0]|0;p=d[j+1>>0]|0;s=m-o|0;if(((((s|0)>-1?s:0-s|0)|0)<(e|0)?(s=n-m|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0)?(s=p-o|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0){s=n+4-p+(o-m<<2)>>3;s=(s|0)<(k|0)?k:(s|0)>(q|0)?q:s;p=s+m|0;a[l>>0]=p>>>0>255?(p^-2147483648)>>31:p;s=o-s|0;a[j>>0]=s>>>0>255?(s^-2147483648)>>31:s}i=i+1|0;j=j+c|0}}while(0);b=b+r|0;h=h+1|0}return}function kn(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=Mb;Mb=Mb+16|0;l=m+8|0;j=m;a:do if(!(e&32768)){e=0;while(1){if(e>>>0>=4){k=9;break a}i=b+(e+12)|0;g=a[i>>0]|0;h=a[196996+g>>0]|0;if(249>>>g&1|0)break;if(253>>>g&1|0)a[i>>0]=h;e=e+1|0}c[j>>2]=h<<24>>24;Xw(d,16,197008,j);e=-1094995529}else k=9;while(0);b:do if((k|0)==9)if((f&34952|0)==34952)e=0;else{e=0;while(1){if(e>>>0>=4){e=0;break b}if(!(c[76080+(e<<2)>>2]&f)){g=b+((e<<3)+12)|0;h=a[g>>0]|0;i=a[197059+h>>0]|0;if(370>>>h&1|0)break;if(886>>>h&1|0)a[g>>0]=i}e=e+1|0}c[l>>2]=i<<24>>24;Xw(d,16,197071,l);e=-1094995529}while(0);Mb=m;return e|0}function ln(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=d>>1;g=d&-2;h=i*3|0;f=0;d=c;while(1){if((f|0)==4)break;p=e[d+-8>>1]|0;o=e[d>>1]|0;n=e[d+8>>1]|0;c=e[d+16>>1]|0;k=e[d+24>>1]|0;l=e[d+32>>1]|0;j=e[d+40>>1]|0;m=e[d+48>>1]|0;q=(e[d+-16>>1]|0)+16+k+((n+o|0)*20|0)+(H(c+p|0,-5)|0)>>5;b[a>>1]=q>>>0<16384?q:(q^-2147483648)>>31&16383;p=p+16+l+((c+n|0)*20|0)+(H(k+o|0,-5)|0)>>5;b[a+(i<<1)>>1]=p>>>0<16384?p:(p^-2147483648)>>31&16383;o=o+16+j+((k+c|0)*20|0)+(H(l+n|0,-5)|0)>>5;b[a+(g<<1)>>1]=o>>>0<16384?o:(o^-2147483648)>>31&16383;c=n+16+m+((l+k|0)*20|0)+(H(j+c|0,-5)|0)>>5;b[a+(h<<1)>>1]=c>>>0<16384?c:(c^-2147483648)>>31&16383;f=f+1|0;a=a+2|0;d=d+2|0}return}function mn(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c<<1;h=0;while(1){if((h|0)==4)break;p=a[g+h>>0]|0;q=p<<24>>24;a:do if(p<<24>>24>=1){k=0-q|0;i=0;j=b;while(1){if((i|0)==2)break a;l=j+-1|0;m=d[l>>0]|0;n=d[j+-2>>0]|0;o=d[j>>0]|0;p=d[j+1>>0]|0;s=m-o|0;if(((((s|0)>-1?s:0-s|0)|0)<(e|0)?(s=n-m|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0)?(s=p-o|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0){s=n+4-p+(o-m<<2)>>3;s=(s|0)<(k|0)?k:(s|0)>(q|0)?q:s;p=s+m|0;a[l>>0]=p>>>0>255?(p^-2147483648)>>31:p;s=o-s|0;a[j>>0]=s>>>0>255?(s^-2147483648)>>31:s}i=i+1|0;j=j+c|0}}while(0);b=b+r|0;h=h+1|0}return}function nn(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=d>>1;g=d&-2;h=i*3|0;f=0;d=c;while(1){if((f|0)==4)break;p=e[d+-8>>1]|0;o=e[d>>1]|0;n=e[d+8>>1]|0;c=e[d+16>>1]|0;k=e[d+24>>1]|0;l=e[d+32>>1]|0;j=e[d+40>>1]|0;m=e[d+48>>1]|0;q=(e[d+-16>>1]|0)+16+k+((n+o|0)*20|0)+(H(c+p|0,-5)|0)>>5;b[a>>1]=q>>>0<4096?q:(q^-2147483648)>>31&4095;p=p+16+l+((c+n|0)*20|0)+(H(k+o|0,-5)|0)>>5;b[a+(i<<1)>>1]=p>>>0<4096?p:(p^-2147483648)>>31&4095;o=o+16+j+((k+c|0)*20|0)+(H(l+n|0,-5)|0)>>5;b[a+(g<<1)>>1]=o>>>0<4096?o:(o^-2147483648)>>31&4095;c=n+16+m+((l+k|0)*20|0)+(H(j+c|0,-5)|0)>>5;b[a+(h<<1)>>1]=c>>>0<4096?c:(c^-2147483648)>>31&4095;f=f+1|0;a=a+2|0;d=d+2|0}return}function on(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=d>>1;g=d&-2;h=i*3|0;f=0;d=c;while(1){if((f|0)==4)break;p=e[d+-8>>1]|0;o=e[d>>1]|0;n=e[d+8>>1]|0;c=e[d+16>>1]|0;k=e[d+24>>1]|0;l=e[d+32>>1]|0;j=e[d+40>>1]|0;m=e[d+48>>1]|0;q=(e[d+-16>>1]|0)+16+k+((n+o|0)*20|0)+(H(c+p|0,-5)|0)>>5;b[a>>1]=q>>>0<1024?q:(q^-2147483648)>>31&1023;p=p+16+l+((c+n|0)*20|0)+(H(k+o|0,-5)|0)>>5;b[a+(i<<1)>>1]=p>>>0<1024?p:(p^-2147483648)>>31&1023;o=o+16+j+((k+c|0)*20|0)+(H(l+n|0,-5)|0)>>5;b[a+(g<<1)>>1]=o>>>0<1024?o:(o^-2147483648)>>31&1023;c=n+16+m+((l+k|0)*20|0)+(H(j+c|0,-5)|0)>>5;b[a+(h<<1)>>1]=c>>>0<1024?c:(c^-2147483648)>>31&1023;f=f+1|0;a=a+2|0;d=d+2|0}return}function pn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=b+8|0;d=c[g+4>>2]|0;h=a+8|0;c[h>>2]=c[g>>2];c[h+4>>2]=d;h=b+16|0;d=c[h+4>>2]|0;g=a+16|0;c[g>>2]=c[h>>2];c[g+4>>2]=d;g=b+56|0;d=c[g+4>>2]|0;h=a+56|0;c[h>>2]=c[g>>2];c[h+4>>2]=d;h=b+48|0;d=c[h+4>>2]|0;g=a+48|0;c[g>>2]=c[h>>2];c[g+4>>2]=d;g=b+64|0;d=c[g+4>>2]|0;h=a+64|0;c[h>>2]=c[g>>2];c[h+4>>2]=d;c[a+36>>2]=c[b+36>>2];c[a+32>>2]=c[b+32>>2];h=b+44|0;d=b+40|0;b=0;while(1){if((b|0)>=(c[h>>2]|0)){b=0;break}g=c[d>>2]|0;e=c[g+(b*12|0)+4>>2]|0;f=c[g+(b*12|0)>>2]|0;g=YC(a,c[g+(b*12|0)+8>>2]|0,e)|0;if(!g){i=4;break}rk(g|0,f|0,e|0)|0;b=b+1|0}if((i|0)==4){ZI(a);b=-12}return b|0}function qn(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=d>>1;g=d&-2;h=i*3|0;f=0;d=c;while(1){if((f|0)==4)break;p=e[d+-8>>1]|0;o=e[d>>1]|0;n=e[d+8>>1]|0;c=e[d+16>>1]|0;k=e[d+24>>1]|0;l=e[d+32>>1]|0;j=e[d+40>>1]|0;m=e[d+48>>1]|0;q=(e[d+-16>>1]|0)+16+k+((n+o|0)*20|0)+(H(c+p|0,-5)|0)>>5;b[a>>1]=q>>>0<512?q:(q^-2147483648)>>31&511;p=p+16+l+((c+n|0)*20|0)+(H(k+o|0,-5)|0)>>5;b[a+(i<<1)>>1]=p>>>0<512?p:(p^-2147483648)>>31&511;o=o+16+j+((k+c|0)*20|0)+(H(l+n|0,-5)|0)>>5;b[a+(g<<1)>>1]=o>>>0<512?o:(o^-2147483648)>>31&511;c=n+16+m+((l+k|0)*20|0)+(H(j+c|0,-5)|0)>>5;b[a+(h<<1)>>1]=c>>>0<512?c:(c^-2147483648)>>31&511;f=f+1|0;a=a+2|0;d=d+2|0}return}function rn(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=g+(H(f,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;m=cN((d[b>>0]|0)+128|0,0,56)|0;j=M()|0;i=a;c[i>>2]=m;c[i+4>>2]=j;i=b+e|0;j=a+f|0;m=cN((d[i>>0]|0)+128|0,0,56)|0;l=M()|0;k=j;c[k>>2]=m;c[k+4>>2]=l;i=i+e|0;j=j+f|0;k=cN((d[i>>0]|0)+128|0,0,56)|0;l=M()|0;m=j;c[m>>2]=k;c[m+4>>2]=l;i=i+e|0;j=j+f|0;m=cN((d[i>>0]|0)+128|0,0,56)|0;l=M()|0;k=j;c[k>>2]=m;c[k+4>>2]=l;a=j+f|0;b=i+e|0}while(1){if(a>>>0>=g>>>0)break;k=cN((d[b>>0]|0)+128|0,0,56)|0;l=M()|0;m=a;c[m>>2]=k;c[m+4>>2]=l;a=a+f|0;b=b+e|0}return}function sn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=Mb;Mb=Mb+16|0;i=j+8|0;g=c[a+23416+(e*40|0)+28>>2]|0;h=((g|0)<0)<<31>>31;k=QO(d|0,((d|0)<0)<<31>>31|0,g|0,h|0)|0;l=M()|0;d=(k+128|0)>>>0>255?k>>31^127:k;f=d<<24>>24;if(!((k|0)==(k|0)&(l|0)==(((k|0)<0)<<31>>31|0)))KM(c[(c[a>>2]|0)+4>>2]|0,196764,j);if((d&255)<<24>>24!=0?(c[(c[a+23416+(e*40|0)+36>>2]|0)+100>>2]|0)==0:0){d=QO(b|0,((b|0)<0)<<31>>31|0,g|0,h|0)|0;l=M()|0;if(!((d|0)==(d|0)&(l|0)==(((d|0)<0)<<31>>31|0)))Xw(c[(c[a>>2]|0)+4>>2]|0,48,196782,i);l=(H(((((f|0)>-1?f:0-f|0)>>1)+16384|0)/(f|0)|0,((d+128|0)>>>0>255?d>>31^127:d)<<24>>24)|0)+32|0;d=l>>6;d=(d+1024|0)>>>0>2047?l>>31^1023:d}else d=256;Mb=j;return d|0}function tn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=Mb;Mb=Mb+16|0;m=o+8|0;l=o;c[b+27768>>2]=0;c[b+27772>>2]=0;j=b+23412|0;k=b+4|0;f=0;a:while(1){if(f>>>0>=(c[j>>2]|0)>>>0){e=0;break}b:do if(uL(k)|0){g=b+23404+(f<<2)|0;h=b+27768+(f<<2)|0;e=0;while(1){i=Px(k)|0;if((i|0)==3)break b;if(e>>>0>=(c[g>>2]|0)>>>0){n=7;break a}if(i>>>0>2){n=9;break a}p=GE(k)|0;c[b+27256+(f<<8)+(e<<3)+4>>2]=p;a[b+27256+(f<<8)+(e<<3)>>0]=i;c[h>>2]=(c[h>>2]|0)+1;e=e+1|0}}while(0);f=f+1|0}if((n|0)==7){Xw(d,16,198001,l);e=-1094995529}else if((n|0)==9){c[m>>2]=i;Xw(d,16,198027,m);e=-1094995529}Mb=o;return e|0}function un(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=d[b+~e>>0]|0;i=d[b+(0-e)>>0]|0;g=d[b+(1-e)>>0]|0;f=d[b+(2-e)>>0]|0;c=d[b+(3-e)>>0]|0;l=d[b+-1>>0]|0;h=d[b+(e+-1)>>0]|0;j=e<<1;k=d[b+(j+-1)>>0]|0;m=e*3|0;a[b+m>>0]=(h+2+(d[b+(m+-1)>>0]|0)+(k<<1)|0)>>>2;k=(l+2+k+(h<<1)|0)>>>2&255;a[b+(m+1)>>0]=k;a[b+j>>0]=k;k=n+2|0;h=(k+h+(l<<1)|0)>>>2&255;a[b+(m+2)>>0]=h;a[b+(j|1)>>0]=h;a[b+e>>0]=h;h=i+2|0;l=(h+(n<<1)+l|0)>>>2&255;a[b+(m+3)>>0]=l;a[b+(j+2)>>0]=l;a[b+(e+1)>>0]=l;a[b>>0]=l;i=(k+(i<<1)+g|0)>>>2&255;a[b+(j+3)>>0]=i;a[b+(e+2)>>0]=i;a[b+1>>0]=i;h=(h+(g<<1)+f|0)>>>2&255;a[b+(e+3)>>0]=h;a[b+2>>0]=h;a[b+3>>0]=(g+2+(f<<1)+c|0)>>>2;return}function vn(){c[210205]=836416;c[210207]=1098;Oc(840816,9,121,48528,1,1,48656,4,4,0,0,0,4)|0;c[210209]=840976;c[210211]=1092;Oc(840832,9,121,49152,1,1,49280,4,4,0,0,0,4)|0;c[210213]=845344;c[210215]=768;Oc(840848,9,49,49776,1,1,49840,4,4,0,0,0,4)|0;c[210217]=848416;c[210219]=1026;Oc(840864,9,49,50048,1,1,50112,4,4,0,0,0,4)|0;c[210221]=852528;c[210223]=1058;Oc(840880,9,63,50320,1,1,50384,4,4,0,0,0,4)|0;c[210225]=856768;c[210227]=1052;Oc(840896,9,63,50640,1,1,50704,4,4,0,0,0,4)|0;c[210229]=860976;c[210231]=544;Oc(840912,9,25,50960,1,1,50992,2,2,0,0,0,4)|0;c[210233]=863152;c[210235]=544;Oc(840928,9,25,51056,1,1,51088,2,2,0,0,0,4)|0;c[210237]=865328;c[210239]=592;Oc(840944,9,63,51152,1,1,51216,2,2,0,0,0,4)|0;c[210241]=867696;c[210243]=512;Oc(840960,9,25,51344,1,1,51376,1,1,0,0,0,4)|0;jD();yn();return}function wn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Mb;Mb=Mb+48|0;j=l+32|0;f=l+16|0;e=l;i=c[a+272>>2]|0;if((i|0)!=(c[b+272>>2]|0)){c[e>>2]=209854;c[e+4>>2]=209457;c[e+8>>2]=426;Xw(0,0,213444,e);ba()}k=a+264|0;g=c[k>>2]|0;if((g|0)!=(c[b+264>>2]|0)){c[f>>2]=209880;c[f+4>>2]=209457;c[f+8>>2]=427;Xw(0,0,213444,f);ba()}h=a+260|0;e=c[h>>2]|0;if((e|0)!=(c[b+260>>2]|0)){c[j>>2]=209900;c[j+4>>2]=209457;c[j+8>>2]=428;Xw(0,0,213444,j);ba()}a:do if(!i)rk(c[a>>2]|0,c[b>>2]|0,H(H(g,d)|0,e)|0)|0;else{f=0;while(1){if((f|0)>=(e|0))break a;rk(c[a+(f<<2)>>2]|0,c[b+(f<<2)>>2]|0,H(c[k>>2]|0,d)|0)|0;f=f+1|0;e=c[h>>2]|0}}while(0);Mb=l;return}function xn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=Mb;Mb=Mb+32|0;f=g;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;e=a[d>>0]|0;do if(!(e<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==e<<24>>24)d=d+1|0;else break;d=d-b|0;break}do{i=e&255;h=f+(i>>>5<<2)|0;c[h>>2]=c[h>>2]|1<<(i&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{i=e&255;if(!(c[f+(i>>>5<<2)>>2]&1<<(i&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);Mb=g;return d|0}function yn(){c[261913]=1068928;c[261915]=1544;Oc(1047648,9,61,77392,1,1,77456,4,4,0,0,0,4)|0;c[261917]=1075104;c[261919]=832;Oc(1047664,9,61,77712,1,1,77776,2,2,0,0,0,4)|0;c[261921]=1078432;c[261923]=1024;Oc(1047680,9,29,77904,1,1,77936,4,4,0,0,0,4)|0;c[261925]=1082528;c[261927]=1036;Oc(1047696,9,29,78064,1,1,78096,4,4,0,0,0,4)|0;c[261929]=1086672;c[261931]=544;Oc(1047712,9,15,201238,1,1,78224,2,2,0,0,0,4)|0;c[261933]=1088848;c[261935]=544;Oc(1047728,9,15,201253,1,1,78256,2,2,0,0,0,4)|0;c[261937]=1091024;c[261939]=512;Oc(1047744,9,8,201268,1,1,201276,1,1,0,0,0,4)|0;c[261941]=1093072;c[261943]=512;Oc(1047760,9,8,201284,1,1,201292,1,1,0,0,0,4)|0;c[261945]=1095120;c[261947]=512;Oc(1047776,9,8,201300,1,1,201308,1,1,0,0,0,4)|0;c[261949]=1097168;c[261951]=512;Oc(1047792,9,8,201316,1,1,201324,1,1,0,0,0,4)|0;Pe();return}function zn(a){a=a|0;do switch(a|0){case 0:{a=196318;break}case 1:{a=196310;break}case 2:{a=196304;break}case 3:{a=196298;break}case 4:{a=196291;break}case 5:{a=196284;break}case 6:{a=196277;break}case 7:{a=196270;break}case 8:{a=196263;break}case 9:{a=196256;break}case 16:{a=196247;break}case 17:{a=196236;break}case 18:{a=196227;break}case 19:{a=196216;break}case 20:{a=196207;break}case 21:{a=196199;break}case 32:{a=196195;break}case 33:{a=196191;break}case 34:{a=196187;break}case 35:{a=196183;break}case 36:{a=196175;break}case 37:{a=196167;break}case 38:{a=196160;break}case 39:{a=196149;break}case 40:{a=196138;break}default:a=213227}while(0);return a|0}function An(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=Mb;Mb=Mb+16|0;l=n+12|0;j=n+8|0;k=n+4|0;m=n;e=Uu(k,d,l)|0;do if((e|0)>=0){i=d+8|0;h=c[k>>2]|0;while(1){e=c[i>>2]|0;if((a[e>>0]|0)!=94){f=11;break}c[i>>2]=e+1;e=Uu(m,d,j)|0;if((e|0)<0){f=5;break}f=FK(18,h,c[m>>2]|0)|0;c[k>>2]=f;if(!f){f=7;break}e=c[f+24>>2]|0;if(e|0){h=e+8|0;g[h>>3]=+g[h>>3]*+(c[j>>2]|1|0)}h=f}if((f|0)==5){UH(h);break}else if((f|0)==7){UH(h);UH(c[m>>2]|0);e=-12;break}else if((f|0)==11){if(h|0){m=h+8|0;g[m>>3]=+g[m>>3]*+(c[l>>2]|1|0)}c[b>>2]=h;e=0;break}}while(0);Mb=n;return e|0}function Bn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0;q=b+8|0;r=d+16|0;s=b+12|0;t=d+24|0;u=b+16|0;v=d+32|0;h=b+24|0;i=d+48|0;j=b+4|0;k=d+72|0;l=b+20|0;m=d+104|0;n=b+28|0;o=d+120|0;p=a+4|0;f=0;while(1){if((f|0)>=(e|0))break;w=+g[(c[q>>2]|0)+(f<<3)>>3]*+g[r>>3]+ +g[(c[s>>2]|0)+(f<<3)>>3]*+g[t>>3];g[(c[a>>2]|0)+(f<<3)>>3]=w+ +g[(c[b>>2]|0)+(f<<3)>>3]*+g[d>>3]+ +g[(c[u>>2]|0)+(f<<3)>>3]*+g[v>>3]+ +g[(c[h>>2]|0)+(f<<3)>>3]*+g[i>>3];g[(c[p>>2]|0)+(f<<3)>>3]=w+ +g[(c[j>>2]|0)+(f<<3)>>3]*+g[k>>3]+ +g[(c[l>>2]|0)+(f<<3)>>3]*+g[m>>3]+ +g[(c[n>>2]|0)+(f<<3)>>3]*+g[o>>3];f=f+1|0}return}function Cn(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=0;while(1){if((m|0)==4)break;p=a[g+m>>0]|0;o=p<<24>>24;a:do if(p<<24>>24>=1){p=0-o|0;h=1;n=b;while(1){if(!h)break a;h=n+-1|0;i=d[h>>0]|0;j=d[n+-2>>0]|0;k=d[n>>0]|0;l=d[n+1>>0]|0;q=i-k|0;if(((((q|0)>-1?q:0-q|0)|0)<(e|0)?(q=j-i|0,(((q|0)>-1?q:0-q|0)|0)<(f|0)):0)?(q=l-k|0,(((q|0)>-1?q:0-q|0)|0)<(f|0)):0){q=j+4-l+(k-i<<2)>>3;q=(q|0)<(p|0)?p:(q|0)>(o|0)?o:q;l=q+i|0;a[h>>0]=l>>>0>255?(l^-2147483648)>>31:l;q=k-q|0;a[n>>0]=q>>>0>255?(q^-2147483648)>>31:q}h=0;n=n+c|0}}while(0);b=b+c|0;m=m+1|0}return}function Dn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=b+74496|0;l=b+288|0;i=0;while(1){if((i|0)==16)break;m=c[a+620+(i<<2)>>2]|0;a:do if(m|0?(c[m+148704>>2]|0)==(f|0):0){k=m+148708|0;b=0;j=0;while(1){if((j|0)>(c[k>>2]|0))break a;do if((c[m+148712+(j<<2)>>2]|0)==(d|0)?(c[m+148744+(j<<2)>>2]|0)==(e|0):0){h=m+148776+(j<<2)|0;if((c[h>>2]|0)!=1){hc[g&255](a,l,m,b);h=c[h>>2]|0;b=b+((h|0)!=0&1)|0;if((h|0)==2)break}hc[g&255](a,n,m,b);b=b+1|0}else o=12;while(0);if((o|0)==12){o=0;b=((c[m+148776+(j<<2)>>2]|0)==3?2:1)+b|0}j=j+1|0}}while(0);i=i+1|0}return}function En(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0;q=b+8|0;r=d+8|0;s=b+12|0;t=d+12|0;u=b+16|0;v=d+16|0;h=b+24|0;i=d+24|0;j=b+4|0;k=d+36|0;l=b+20|0;m=d+52|0;n=b+28|0;o=d+60|0;p=a+4|0;g=0;while(1){if((g|0)>=(e|0))break;w=+f[(c[q>>2]|0)+(g<<2)>>2]*+f[r>>2]+ +f[(c[s>>2]|0)+(g<<2)>>2]*+f[t>>2];f[(c[a>>2]|0)+(g<<2)>>2]=w+ +f[(c[b>>2]|0)+(g<<2)>>2]*+f[d>>2]+ +f[(c[u>>2]|0)+(g<<2)>>2]*+f[v>>2]+ +f[(c[h>>2]|0)+(g<<2)>>2]*+f[i>>2];f[(c[p>>2]|0)+(g<<2)>>2]=w+ +f[(c[j>>2]|0)+(g<<2)>>2]*+f[k>>2]+ +f[(c[l>>2]|0)+(g<<2)>>2]*+f[m>>2]+ +f[(c[n>>2]|0)+(g<<2)>>2]*+f[o>>2];g=g+1|0}return}function Fn(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=g+(H(e,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;m=JM(+f[b>>2]*-9223372036854775808.0)|0;j=M()|0;i=a;c[i>>2]=m;c[i+4>>2]=j;i=b+d|0;j=a+e|0;m=JM(+f[i>>2]*-9223372036854775808.0)|0;l=M()|0;k=j;c[k>>2]=m;c[k+4>>2]=l;i=i+d|0;j=j+e|0;k=JM(+f[i>>2]*-9223372036854775808.0)|0;l=M()|0;m=j;c[m>>2]=k;c[m+4>>2]=l;i=i+d|0;j=j+e|0;m=JM(+f[i>>2]*-9223372036854775808.0)|0;l=M()|0;k=j;c[k>>2]=m;c[k+4>>2]=l;a=j+e|0;b=i+d|0}while(1){if(a>>>0>=g>>>0)break;k=JM(+f[b>>2]*-9223372036854775808.0)|0;l=M()|0;m=a;c[m>>2]=k;c[m+4>>2]=l;a=a+e|0;b=b+d|0}return}function Gn(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==13)break;j=c;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+8|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+8|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+16|0;c=c+e|0}return}function Hn(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=d+-1|0;h=c+-1|0;c=1;while(1){if((c|0)>=(i|0))break;g=H(c,e)|0;d=1;f=b[a+(g<<1)>>1]|0;while(1){if((d|0)>=(h|0))break;l=a+(d+g<<1)|0;j=b[l>>1]|0;k=d+1|0;m=(j<<3)-f-(b[a+(k+g<<1)>>1]|0)|0;m=(m|0)<163834?m:163834;b[l>>1]=((((m|0)>-196602?m:-196602)*10923|0)+32768|0)>>>16;d=k;f=j}c=c+1|0}c=1;while(1){if((c|0)>=(h|0))break;d=b[a+(c<<1)>>1]|0;f=1;while(1){if((f|0)>=(i|0))break;k=a+((H(f,e)|0)+c<<1)|0;l=b[k>>1]|0;m=f+1|0;j=a+((H(m,e)|0)+c<<1)|0;j=(l<<3)-d-(b[j>>1]|0)|0;j=(j|0)<163834?j:163834;b[k>>1]=((((j|0)>-196602?j:-196602)*10923|0)+32768|0)>>>16;d=l;f=m}c=c+1|0}return}function In(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=Mb;Mb=Mb+32|0;g=h;f=0;while(1){if((f|0)==4)break;j=f<<5;k=b[a+(j<<1)>>1]|0;j=b[a+((j|16)<<1)>>1]|0;i=f<<1;c[g+(i<<2)>>2]=j+k;c[g+((i|1)<<2)>>2]=k-j;f=f+1|0}f=0;while(1){if((f|0)==2)break;k=d[172096+f>>0]|0;j=c[g+(f<<2)>>2]|0;m=c[g+(f+4<<2)>>2]|0;i=m+j|0;m=j-m|0;j=c[g+(f+2<<2)>>2]|0;n=c[g+(f+6<<2)>>2]|0;l=j-n|0;j=n+j|0;n=((H(j+i|0,e)|0)+128|0)>>>8&65535;b[a+(k<<1)>>1]=n;n=((H(l+m|0,e)|0)+128|0)>>>8&65535;b[a+(k+32<<1)>>1]=n;l=((H(m-l|0,e)|0)+128|0)>>>8&65535;b[a+(k+64<<1)>>1]=l;j=((H(i-j|0,e)|0)+128|0)>>>8&65535;b[a+(k+96<<1)>>1]=j;f=f+1|0}Mb=h;return}function Jn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=f+(H(e,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;m=OM(+g[b>>3]*-9223372036854775808.0)|0;j=M()|0;i=a;c[i>>2]=m;c[i+4>>2]=j;i=b+d|0;j=a+e|0;m=OM(+g[i>>3]*-9223372036854775808.0)|0;l=M()|0;k=j;c[k>>2]=m;c[k+4>>2]=l;i=i+d|0;j=j+e|0;k=OM(+g[i>>3]*-9223372036854775808.0)|0;l=M()|0;m=j;c[m>>2]=k;c[m+4>>2]=l;i=i+d|0;j=j+e|0;m=OM(+g[i>>3]*-9223372036854775808.0)|0;l=M()|0;k=j;c[k>>2]=m;c[k+4>>2]=l;a=j+e|0;b=i+d|0}while(1){if(a>>>0>=f>>>0)break;k=OM(+g[b>>3]*-9223372036854775808.0)|0;l=M()|0;m=a;c[m>>2]=k;c[m+4>>2]=l;a=a+e|0;b=b+d|0}return}function Kn(b,f){b=b|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;p=c[f+368>>2]|0;q=f+304|0;r=f+288|0;o=b+5404|0;j=f+14048|0;b=0;l=0;m=f+88256|0;while(1){if((l|0)>=(c[q>>2]|0))break;n=f+308+l|0;k=0;while(1){if(k>>>0>=(d[r>>0]|0)>>>0)break;a:do if((a[f+13+b>>0]|0?(c[f+6160+(b<<2)>>2]|0)>>>0<13:0)?(c[f+80368+(b<<2)>>2]|0)>>>0<13:0){h=p+(k<<1)|0;i=p+(k+1<<1)|0;g=0;while(1){if(g>>>0>=(d[n>>0]|0)>>>0)break a;t=g<<7;s=e[h>>1]|0;gc[c[(c[o>>2]|0)+32>>2]&1023](j+(t<<2)+(s<<2)|0,m+(t<<2)+(s<<2)|0,(e[i>>1]|0)-s|0);g=g+1|0}}while(0);k=k+1|0;b=b+1|0}t=d[n>>0]<<7;j=j+(t<<2)|0;l=l+1|0;m=m+(t<<2)|0}return}function Ln(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if(!b)e=0;else{m=b+4|0;if(!e)e=0;else e=(e-(c[m>>2]|0)>>3)+1|0;k=c[b>>2]|0;l=(f&1|0)==0;j=(f&2|0)==0;while(1){if(e>>>0>=k>>>0){e=0;break a}i=c[m>>2]|0;h=c[i+(e<<3)>>2]|0;if(l){f=0;while(1){b=a[h+f>>0]|0;n=HT(b<<24>>24)|0;g=a[d+f>>0]|0;if(g<<24>>24==0|(n|0)!=(HT(g<<24>>24)|0))break;else f=f+1|0}}else{f=0;while(1){b=a[h+f>>0]|0;g=a[d+f>>0]|0;if(g<<24>>24==0?1:b<<24>>24!=g<<24>>24)break;else f=f+1|0}}if(!(g<<24>>24!=0|j&b<<24>>24!=0))break;e=e+1|0}e=i+(e<<3)|0}while(0);return e|0}function Mn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=Mb;Mb=Mb+16|0;h=j;e=YQ(40)|0;c[h>>2]=e;a:do if(!e)d=-12;else{c[e>>2]=163544;c[e+4>>2]=a;k=yP()|0;f=e+16|0;c[f>>2]=k;k=yP()|0;c[e+20>>2]=k;do if((!((k|0)==0|(c[f>>2]|0)==0)?(k=YQ(8)|0,d=e+8|0,c[d>>2]=k,k|0):0)?(g=MS()|0,c[c[d>>2]>>2]=g,g=c[h>>2]|0,i=g,c[c[g+8>>2]>>2]|0):0){YT(g);d=c[a+12>>2]|0;if(d|0){f=YQ(d)|0;e=g+12|0;c[e>>2]=f;if(!f)break;d=c[a+8>>2]|0;if(d|0){c[f>>2]=d;YT(c[e>>2]|0)}}c[b>>2]=i;d=0;break a}while(0);Ru(h);d=-12}while(0);Mb=j;return d|0}function Nn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=b;l=c[k>>2]|0;f=l&63;k=SO(l|0,c[k+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;l=M()|0;m=b;c[m>>2]=k;c[m+4>>2]=l;if(f){g=64-f|0;g=(g|0)<(e|0)?g:e;rk(b+8+f|0,d|0,g|0)|0;if((g+f|0)>=64){Dl(b+72|0,b+8|0,1);d=d+g|0;e=e-g|0;h=4}}else h=4;if((h|0)==4){g=d;f=d+(e&-64)|0;if(!(g&3))Dl(b+72|0,d,(e|0)/64|0);else{l=b+8|0;m=b+72|0;h=(d>>>0>f>>>0?d:f)+(63-g)&-64;g=d;while(1){if(g>>>0>=f>>>0)break;i=l;j=g;k=i+64|0;do{a[i>>0]=a[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));Dl(m,l,1);g=g+64|0}f=d+h|0}d=e&63;if(d|0)rk(b+8|0,f|0,d|0)|0}return}function On(a,b,d,f,g){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=g+(H(f,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;m=cN(e[b>>1]|0|0,0,48)|0;j=M()|0;i=a;c[i>>2]=m;c[i+4>>2]=j;i=b+d|0;j=a+f|0;m=cN(e[i>>1]|0|0,0,48)|0;l=M()|0;k=j;c[k>>2]=m;c[k+4>>2]=l;i=i+d|0;j=j+f|0;k=cN(e[i>>1]|0|0,0,48)|0;l=M()|0;m=j;c[m>>2]=k;c[m+4>>2]=l;i=i+d|0;j=j+f|0;m=cN(e[i>>1]|0|0,0,48)|0;l=M()|0;k=j;c[k>>2]=m;c[k+4>>2]=l;a=j+f|0;b=i+d|0}while(1){if(a>>>0>=g>>>0)break;k=cN(e[b>>1]|0|0,0,48)|0;l=M()|0;m=a;c[m>>2]=k;c[m+4>>2]=l;a=a+f|0;b=b+d|0}return}function Pn(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=d+8|0;n=e+8|0;o=d+12|0;p=e+12|0;q=d+16|0;r=e+16|0;h=d+4|0;i=e+28|0;j=d+20|0;k=e+44|0;l=a+4|0;g=0;while(1){if((g|0)>=(f|0))break;t=H(c[n>>2]|0,b[(c[m>>2]|0)+(g<<1)>>1]|0)|0;t=(H(c[p>>2]|0,b[(c[o>>2]|0)+(g<<1)>>1]|0)|0)+t|0;s=H(c[e>>2]|0,b[(c[d>>2]|0)+(g<<1)>>1]|0)|0;t=t+16384|0;s=(t+s+(H(c[r>>2]|0,b[(c[q>>2]|0)+(g<<1)>>1]|0)|0)|0)>>>15&65535;b[(c[a>>2]|0)+(g<<1)>>1]=s;s=H(c[i>>2]|0,b[(c[h>>2]|0)+(g<<1)>>1]|0)|0;s=(t+s+(H(c[k>>2]|0,b[(c[j>>2]|0)+(g<<1)>>1]|0)|0)|0)>>>15&65535;b[(c[l>>2]|0)+(g<<1)>>1]=s;g=g+1|0}return}function Qn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=Mb;Mb=Mb+16|0;k=m;c[b>>2]=c[e+20>>2];j=b+4|0;c[j>>2]=c[e+24>>2];do if((f|0)!=1){i=(g|0)==3?15:31;if(uL(d)|0){g=(bp(d)|0)+1|0;c[b>>2]=g;if((f|0)==3)e=(bp(d)|0)+1|0;else e=1;c[j>>2]=e}g=(c[b>>2]|0)+-1|0;e=(c[j>>2]|0)+-1|0;if(g>>>0>i>>>0|e>>>0>i>>>0){c[k>>2]=g;c[k+4>>2]=i;c[k+8>>2]=e;c[k+12>>2]=i;Xw(h,16,197269,k);c[a>>2]=0;c[b>>2]=0;c[j>>2]=0;e=-1094995529;break}else{e=(f|0)==3?2:1;l=9;break}}else{c[j>>2]=0;c[b>>2]=0;e=0;l=9}while(0);if((l|0)==9){c[a>>2]=e;e=0}Mb=m;return e|0}function Rn(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=d[b+(0-e)>>0]|0;m=d[b+(1-e)>>0]|0;l=d[b+(2-e)>>0]|0;j=d[b+(3-e)>>0]|0;h=d[c>>0]|0;g=d[c+1>>0]|0;f=d[c+2>>0]|0;c=m+1|0;a[b>>0]=(c+i|0)>>>1;c=(c+l|0)>>>1&255;k=e<<1;a[b+k>>0]=c;a[b+1>>0]=c;c=(l+1+j|0)>>>1&255;a[b+(k|1)>>0]=c;a[b+2>>0]=c;c=(j+1+h|0)>>>1&255;a[b+(k+2)>>0]=c;a[b+3>>0]=c;a[b+(k+3)>>0]=(h+1+g|0)>>>1;k=l+2|0;a[b+e>>0]=(k+i+(m<<1)|0)>>>2;i=j+2|0;l=(i+m+(l<<1)|0)>>>2&255;c=e*3|0;a[b+c>>0]=l;a[b+(e+1)>>0]=l;j=(k+(j<<1)+h|0)>>>2&255;a[b+(c+1)>>0]=j;a[b+(e+2)>>0]=j;i=(i+(h<<1)+g|0)>>>2&255;a[b+(c+2)>>0]=i;a[b+(e+3)>>0]=i;a[b+(c+3)>>0]=(h+2+(g<<1)+f|0)>>>2;return}function Sn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+16|0;i=j;f=Px(b)|0;g=f>>>0>31;if(!g?(h=c[d+(f<<2)>>2]|0,(h|0)!=0):0){g=c[h+4>>2]|0;a:do if(c[g+1152>>2]|0){e=g+1168|0;f=g+1172|0;d=0;while(1){if((d|0)>=(c[e>>2]|0))break a;i=QG(b,c[f>>2]|0)|0;c[a+4+(d<<2)>>2]=i;gO(b,c[f>>2]|0);d=d+1|0}}while(0);b:do if(c[g+1156>>2]|0){f=g+1168|0;e=g+1172|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break b;i=QG(b,c[e>>2]|0)|0;c[a+4+(d<<2)>>2]=i;gO(b,c[e>>2]|0);d=d+1|0}}while(0);c[a>>2]=1;d=0}else{c[i>>2]=f;Xw(e,16,170621,i);d=g?-1094995529:-1397768184}Mb=j;return d|0}function Tn(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=0;h=0;k=0;while(1){if((j|0)>=(g|0))break;i=0;while(1){if((i|0)==16)break;l=(d[b+i>>0]|0)-(d[e+i>>0]|0)|0;i=i+1|0;k=(H(l,l)|0)+k|0}j=j+1|0;a:do if((j|0)<(g|0)){i=0;while(1){if((i|0)==15)break a;o=i+f|0;n=i+1|0;l=o+1|0;m=(d[b+i>>0]|0)-(d[b+o>>0]|0)-(d[b+n>>0]|0)+(d[b+l>>0]|0)|0;l=(d[e+i>>0]|0)-(d[e+o>>0]|0)-(d[e+n>>0]|0)+(d[e+l>>0]|0)|0;i=n;h=((m|0)>-1?m:0-m|0)+h-((l|0)>-1?l:0-l|0)|0}}while(0);b=b+f|0;e=e+f|0}b=(h|0)>-1?h:0-h|0;if(!a)b=b<<3;else b=H(c[(c[a+596>>2]|0)+824>>2]|0,b)|0;return b+k|0}function Un(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=Mb;Mb=Mb+16|0;d=k;j=a+13384|0;b=c[j>>2]|0;h=c[(c[a+13444>>2]|0)+8>>2]|0;h=(((b|0)>(h|0)?h:b)+1|0)/2|0;i=a+13380|0;b=xj(a+12540|0,(c[i>>2]|0)+b+h|0)|0;if((b|0)>=0){if(!(c[a+12812>>2]|0)){c[d>>2]=213567;c[d+4>>2]=213503;c[d+8>>2]=554;Xw(0,0,213444,d);ba()}e=a+12800|0;f=a+12804|0;b=0;while(1){if((b|0)>=(c[e>>2]|0))break;g=a+12540+(b<<2)|0;d=0;while(1){if((d|0)>=(h|0))break;n=c[g>>2]|0;m=(c[j>>2]|0)+(c[i>>2]|0)|0;l=c[f>>2]|0;rk(n+(H(m+d|0,l)|0)|0,n+(H(m+~d|0,l)|0)|0,l|0)|0;d=d+1|0}b=b+1|0}c[j>>2]=(c[j>>2]|0)+h;b=0}Mb=k;return b|0}function Vn(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=0;h=0;k=0;while(1){if((j|0)>=(g|0))break;i=0;while(1){if((i|0)==8)break;l=(d[b+i>>0]|0)-(d[e+i>>0]|0)|0;i=i+1|0;k=(H(l,l)|0)+k|0}j=j+1|0;a:do if((j|0)<(g|0)){i=0;while(1){if((i|0)==7)break a;o=i+f|0;n=i+1|0;l=o+1|0;m=(d[b+i>>0]|0)-(d[b+o>>0]|0)-(d[b+n>>0]|0)+(d[b+l>>0]|0)|0;l=(d[e+i>>0]|0)-(d[e+o>>0]|0)-(d[e+n>>0]|0)+(d[e+l>>0]|0)|0;i=n;h=((m|0)>-1?m:0-m|0)+h-((l|0)>-1?l:0-l|0)|0}}while(0);b=b+f|0;e=e+f|0}b=(h|0)>-1?h:0-h|0;if(!a)b=b<<3;else b=H(c[(c[a+596>>2]|0)+824>>2]|0,b)|0;return b+k|0}function Wn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=Mb;Mb=Mb+32|0;k=m;h=m+4|0;i=a+25644|0;j=a+25640|0;g=a+4|0;a=0;f=0;b=0;a:while(1){if((f|0)>=(c[i>>2]|0))break;d=c[j>>2]|0;e=d+(f*72|0)+48|0;b:do switch(c[e>>2]|0){case 8:case 7:{a=f;break}case 1:case 5:case 2:{d=sQ(h,(c[d+(f*72|0)+12>>2]|0)+1|0,(c[d+(f*72|0)+8>>2]|0)+-1|0)|0;if((d|0)<0){Xw(c[g>>2]|0,16,171702,k);if(!(c[(c[g>>2]|0)+688>>2]&8))break b;else{l=12;break a}}d=(b|0)!=0;if(!(d&(LG(h)|0)!=0?(b|0)==(c[e>>2]|0):0))a=f;if(!d)b=c[e>>2]|0;break}default:{}}while(0);f=f+1|0}if((l|0)==12)a=d;Mb=m;return a|0}function Xn(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=e<<1;h=e*3|0;f=0;while(1){if((f|0)==4)break;p=d[c+-4>>0]|0;o=d[c>>0]|0;n=d[c+4>>0]|0;i=d[c+8>>0]|0;k=d[c+12>>0]|0;l=d[c+16>>0]|0;j=d[c+20>>0]|0;m=d[c+24>>0]|0;q=(d[c+-8>>0]|0)+16+k+((n+o|0)*20|0)+(H(i+p|0,-5)|0)>>5;a[b>>0]=q>>>0>255?(q^-2147483648)>>31:q;p=p+16+l+((i+n|0)*20|0)+(H(k+o|0,-5)|0)>>5;a[b+e>>0]=p>>>0>255?(p^-2147483648)>>31:p;o=o+16+j+((k+i|0)*20|0)+(H(l+n|0,-5)|0)>>5;a[b+g>>0]=o>>>0>255?(o^-2147483648)>>31:o;i=n+16+m+((l+k|0)*20|0)+(H(j+i|0,-5)|0)>>5;a[b+h>>0]=i>>>0>255?(i^-2147483648)>>31:i;f=f+1|0;b=b+1|0;c=c+1|0}return}function Yn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Mb;Mb=Mb+16|0;j=l+4|0;i=l;k=d+4|0;e=c[k>>2]|0;do if((e|0)>=1){c[k>>2]=e+-1;e=kp(j,d)|0;if((e|0)>=0){f=d+8|0;h=c[j>>2]|0;while(1){e=c[f>>2]|0;if((a[e>>0]|0)!=59){f=9;break}c[f>>2]=e+1;e=kp(i,d)|0;if((e|0)<0){f=6;break}g=c[i>>2]|0;e=FK(22,h,g)|0;if(!e){f=8;break}else h=e}if((f|0)==6){c[j>>2]=h;UH(h);break}else if((f|0)==8){c[j>>2]=0;UH(h);UH(g);e=-12;break}else if((f|0)==9){c[j>>2]=h;c[k>>2]=(c[k>>2]|0)+1;c[b>>2]=h;e=0;break}}}else e=-22;while(0);Mb=l;return e|0}function Zn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=xO(a)|0;h=150272+(((xO(b)|0)*12|0)+h<<2)|0;h=c[h>>2]|0;a:do if((h|0)!=0?(g=YQ(32)|0,(g|0)!=0):0){if((d|0)==1){b=DO(b)|0;f=DO(a)|0}else f=a;c[g>>2]=d;c[g+12>>2]=h;c[g+20>>2]=e;switch(b|0){case 0:case 5:{d=g+24|0;c[d>>2]=-2139062144;c[d+4>>2]=-2139062144;break}default:{}}if(!((e|0)!=0|(f|0)!=(b|0)))switch(JP(b)|0){case 1:{c[g+16>>2]=698;break a}case 2:{c[g+16>>2]=699;break a}case 4:{c[g+16>>2]=700;break a}case 8:{c[g+16>>2]=701;break a}default:break a}}else g=0;while(0);return g|0}function _n(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=((c[b+1184>>2]|0)*6|0)+4|0;h=0;while(1){if((h|0)==6)break;f=a+173812+(h<<2)|0;c[f>>2]=a+38620+(h*22528|0);b=a+164+(h<<6)|0;e=0;while(1){if(e>>>0>=h>>>0){b=5;break}if(!(Ix(a+164+(e<<6)|0,b,64)|0)){b=7;break}e=e+1|0}a:do if((b|0)==5){b=0;while(1){if((b|0)>=(i|0))break a;f=d[19360+b>>0]|0;g=d[19264+b>>0]|0;e=0;while(1){if((e|0)==64)break;j=(H(d[a+164+(h<<6)+e>>0]|0,d[(d[19200+(e>>>1&12|e&3)>>0]|0)+(19216+(g*6|0))>>0]|0)|0)<<f;c[a+38620+(h*22528|0)+(b<<8)+((e<<3&56|e>>>3)<<2)>>2]=j;e=e+1|0}b=b+1|0}}else if((b|0)==7)c[f>>2]=a+38620+(e*22528|0);while(0);h=h+1|0}return}function $n(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<6|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function ao(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=((c[b+1184>>2]|0)*6|0)+4|0;h=0;while(1){if((h|0)==6)break;f=a+173788+(h<<2)|0;c[f>>2]=a+4828+(h*5632|0);b=a+68+(h<<4)|0;e=0;while(1){if(e>>>0>=h>>>0){b=5;break}if(!(Ix(a+68+(e<<4)|0,b,16)|0)){b=7;break}e=e+1|0}a:do if((b|0)==5){b=0;while(1){if((b|0)>=(i|0))break a;f=(d[19360+b>>0]|0)+2|0;g=d[19264+b>>0]|0;e=0;while(1){if((e|0)==16)break;j=e>>>2;k=(H(d[a+68+(h<<4)+e>>0]|0,d[(j&1)+(e&1)+(19168+(g*3|0))>>0]|0)|0)<<f;c[a+4828+(h*5632|0)+(b<<6)+((e<<2&12|j)<<2)>>2]=k;e=e+1|0}b=b+1|0}}else if((b|0)==7)c[f>>2]=a+4828+(e*5632|0);while(0);h=h+1|0}return}function bo(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=0-f|0;if(!b){j=d[a+g>>0]|0;g=j}else{g=d[a+g>>0]|0;j=d[a+~f>>0]|0}h=d[a+(1-f)>>0]|0;i=h+2|0;k=d[a+(2-f)>>0]|0;l=k+2|0;m=d[a+(3-f)>>0]|0;n=d[a+(4-f)>>0]|0;o=d[a+(5-f)>>0]|0;p=d[a+(6-f)>>0]|0;q=d[a+(7-f)>>0]|0;if(!e)b=q;else b=d[a+(8-f)>>0]|0;g=H(((i+j+(g<<1)|0)>>>2)+4+((l+g+(h<<1)|0)>>>2)+((i+(k<<1)+m|0)>>>2)+((l+(m<<1)+n|0)>>>2)+((m+2+(n<<1)+o|0)>>>2)+((n+2+(o<<1)+p|0)>>>2)+((o+2+(p<<1)+q|0)>>>2)+((p+2+(q<<1)+b|0)>>>2)>>3,16843009)|0;b=0;while(1){if((b|0)==8)break;c[a>>2]=g;c[a+4>>2]=g;b=b+1|0;a=a+f|0}return}function co(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<4|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function eo(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<2|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function fo(a){a=a|0;var b=0,d=0,e=0;hM(a+25716|0);hM(a+26380|0);hM(a+26376|0);hM(a+26384|0);hM(a+26388|0);hM(a+26392|0);hM(a+25956|0);hM(a+28204|0);c[a+26356>>2]=0;hM(a+26372|0);hM(a+26344|0);hM(a+26348|0);QL(a+29904|0);QL(a+29908|0);QL(a+29912|0);QL(a+29916|0);d=a+25632|0;b=a+25628|0;a=0;while(1){if((a|0)>=(c[d>>2]|0))break;e=c[b>>2]|0;hM(e+(a*34768|0)+27784|0);hM(e+(a*34768|0)+572|0);hM(e+(a*34768|0)+604|0);hM(e+(a*34768|0)+608|0);hM(e+(a*34768|0)+27788|0);hM(e+(a*34768|0)+27792|0);hM(e+(a*34768|0)+27796|0);hM(e+(a*34768|0)+27800|0);e=e+(a*34768|0)+27804|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;a=a+1|0}return}function go(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=Mb;Mb=Mb+32|0;f=g;e=0;while(1){if((e|0)==4)break;i=e<<5;j=c[a+(i<<2)>>2]|0;i=c[a+((i|16)<<2)>>2]|0;h=e<<1;c[f+(h<<2)>>2]=i+j;c[f+((h|1)<<2)>>2]=j-i;e=e+1|0}e=0;while(1){if((e|0)==2)break;j=d[172096+e>>0]|0;i=c[f+(e<<2)>>2]|0;l=c[f+(e+4<<2)>>2]|0;h=l+i|0;l=i-l|0;i=c[f+(e+2<<2)>>2]|0;m=c[f+(e+6<<2)>>2]|0;k=i-m|0;i=m+i|0;m=(H(i+h|0,b)|0)+128>>8;c[a+(j<<2)>>2]=m;m=(H(k+l|0,b)|0)+128>>8;c[a+(j+32<<2)>>2]=m;k=(H(l-k|0,b)|0)+128>>8;c[a+(j+64<<2)>>2]=k;i=(H(h-i|0,b)|0)+128>>8;c[a+(j+96<<2)>>2]=i;e=e+1|0}Mb=g;return}function ho(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<1|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function io(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=d[b+(1-e)>>0]|0;l=d[b+(2-e)>>0]|0;h=d[b+(3-e)>>0]|0;j=d[c>>0]|0;i=d[c+1>>0]|0;g=d[c+2>>0]|0;f=d[c+3>>0]|0;c=l+2|0;a[b>>0]=(c+(d[b+(0-e)>>0]|0)+(m<<1)|0)>>>2;k=h+2|0;l=(k+m+(l<<1)|0)>>>2&255;a[b+e>>0]=l;a[b+1>>0]=l;c=(c+j+(h<<1)|0)>>>2&255;h=e<<1;a[b+h>>0]=c;a[b+(e+1)>>0]=c;a[b+2>>0]=c;k=(k+i+(j<<1)|0)>>>2&255;c=e*3|0;a[b+c>>0]=k;a[b+(h|1)>>0]=k;a[b+(e+2)>>0]=k;a[b+3>>0]=k;j=(j+2+g+(i<<1)|0)>>>2&255;a[b+(c+1)>>0]=j;a[b+(h+2)>>0]=j;a[b+(e+3)>>0]=j;e=(i+2+f+(g<<1)|0)>>>2&255;a[b+(c+2)>>0]=e;a[b+(h+3)>>0]=e;a[b+(c+3)>>0]=(g+2+(f*3|0)|0)>>>2;return}function jo(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;h=g+(H(f,-3)|0)|0;while(1){if(b>>>0>=h>>>0)break;i=d;i=oN(c[i>>2]|0,c[i+4>>2]|0,56)|0;M()|0;a[b>>0]=i&255^-128;i=d+e|0;j=b+f|0;k=i;k=oN(c[k>>2]|0,c[k+4>>2]|0,56)|0;M()|0;a[j>>0]=k&255^-128;i=i+e|0;j=j+f|0;k=i;k=oN(c[k>>2]|0,c[k+4>>2]|0,56)|0;M()|0;a[j>>0]=k&255^-128;i=i+e|0;j=j+f|0;k=i;k=oN(c[k>>2]|0,c[k+4>>2]|0,56)|0;M()|0;a[j>>0]=k&255^-128;b=j+f|0;d=i+e|0}while(1){if(b>>>0>=g>>>0)break;k=d;k=oN(c[k>>2]|0,c[k+4>>2]|0,56)|0;M()|0;a[b>>0]=k&255^-128;b=b+f|0;d=d+e|0}return}function ko(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(By(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0<d>>>0){f=Yb[c[e+36>>2]&15](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=Yb[c[e+36>>2]&15](e,b,i)|0;if(f>>>0<i>>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);rk(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function lo(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;f=0;while(1){if((f|0)==21)break;h=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=h;a[b+1>>0]=h>>8;a[b+2>>0]=h>>16;a[b+3>>0]=h>>24;h=c+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;g=c+8|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;h=b+8|0;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;h=c+12|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+12|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+16|0;c=c+e|0}return}function mo(b,d){b=b|0;d=d|0;var e=0;a[b>>0]=d>>>5;switch(d|0){case 160:{c[b+80>>2]=1732584193;c[b+84>>2]=-271733879;c[b+88>>2]=-1732584194;c[b+92>>2]=271733878;c[b+96>>2]=-1009589776;d=196;e=5;break}case 224:{c[b+80>>2]=-1056596264;c[b+84>>2]=914150663;c[b+88>>2]=812702999;c[b+92>>2]=-150054599;c[b+96>>2]=-4191439;c[b+100>>2]=1750603025;c[b+104>>2]=1694076839;c[b+108>>2]=-1090891868;d=197;e=5;break}case 256:{c[b+80>>2]=1779033703;c[b+84>>2]=-1150833019;c[b+88>>2]=1013904242;c[b+92>>2]=-1521486534;c[b+96>>2]=1359893119;c[b+100>>2]=-1694144372;c[b+104>>2]=528734635;c[b+108>>2]=1541459225;d=197;e=5;break}default:d=-22}if((e|0)==5){c[b+112>>2]=d;d=b+8|0;c[d>>2]=0;c[d+4>>2]=0;d=0}return d|0}function no(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=Mb;Mb=Mb+16|0;i=k;j=k+4|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;a=cf(j,a,b,f,e,2,28,1)|0;a:do if((a|0)<0)a=0;else{h=j+4|0;g=0;while(1){if((g|0)>=(c[h>>2]|0))break a;b=c[j>>2]|0;e=c[b+(g*72|0)+48>>2]|0;switch(e|0){case 7:{a=Xc(b+(g*72|0)+28|0,f,d,0)|0;if((a|0)<0)break a;break}case 8:{a=Dd(b+(g*72|0)+28|0,f,d,c[b+(g*72|0)+16>>2]|0)|0;if((a|0)<0)break a;break}default:{c[i>>2]=e;Xw(f,40,197395,i)}}g=g+1|0}}while(0);ZH(j);Mb=k;return a|0}function oo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=Mb;Mb=Mb+48|0;j=k+32|0;i=k+16|0;h=k;do if(a[e>>0]|0){f=c[40974]|0;if((f|0)<0){nx();f=c[40974]|0}g=(b|0)==4?0:f;if((g|0)==1){j=c[41013]|0;b=c[91056+(b<<2)>>2]|0;c[h>>2]=b>>>4&15;c[h+4>>2]=b&15;c[h+8>>2]=e;gN(j,202694,h)|0;break}if((d|0)!=0&(f|0)==256){j=c[41013]|0;c[i>>2]=(c[91056+(b<<2)>>2]|0)>>>16&255;c[i+4>>2]=d;c[i+8>>2]=e;gN(j,202710,i)|0;break}f=c[41013]|0;if((g|0)==256){b=c[91056+(b<<2)>>2]|0;c[j>>2]=b>>>16&255;c[j+4>>2]=b>>>8&255;c[j+8>>2]=e;gN(f,202737,j)|0;break}else{cQ(e,f)|0;break}}while(0);Mb=k;return}function po(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=Mb;Mb=Mb+16|0;e=h;c[e>>2]=0;f=mU(b)|0;do if(f){d=lN(f)|0;c[e>>2]=d;if(!d){Kv(165217)|0;d=0;break}a:do if((b|0)>=65543)if((b|0)<86050)switch(b|0){case 65543:{g=6;break a}default:break a}else switch(b|0){case 86050:{g=6;break a}default:break a}else switch(b|0){case 65542:{g=6;break}default:{}}while(0);if((g|0)==6)c[d+420>>2]=1;c[d+836>>2]=c[a+8>>2];if((xc(d,f,0)|0)<0){oK(e);d=c[e>>2]|0}}else{Kv(165201)|0;d=0}while(0);Mb=h;return d|0}function qo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=Mb;Mb=Mb+16|0;e=i;h=c[(c[a+64>>2]|0)+20>>2]|0;if((c[a+808>>2]&1|0)!=0?(c[a+812>>2]|0)==0:0)d=(c[a+472>>2]|0)==10;else d=1;j=c[b>>2]|0;do if(j|0?c[j+248>>2]|0:0){if(c[a+680>>2]&32768|0){c[e>>2]=b;Xw(a,48,185122,e)}QS(b+12|0);c[b+8>>2]=0;c[b+4>>2]=0;if(d){av(c[b>>2]|0);break}a=(c[h>>2]|0)+8|0;jV(a)|0;d=h+308|0;e=(c[d>>2]|0)+1|0;if(e>>>0<=5368708?(f=h+304|0,g=mJ(c[f>>2]|0,h+312|0,e*400|0)|0,g|0):0){c[f>>2]=g;_M(g+((c[d>>2]|0)*400|0)|0,c[b>>2]|0);c[d>>2]=(c[d>>2]|0)+1}jV(a)|0}while(0);Mb=i;return}function ro(a){a=+a;var b=0,d=0,e=0,f=0.0,i=0.0;g[h>>3]=a;d=c[h+4>>2]|0;b=d&2147483647;do if(b>>>0>2146435071)a=a+a;else{if(b>>>0<1048576){g[h>>3]=a*18014398509481984.0;d=c[h+4>>2]|0;b=d&2147483647;if(!b)break;else e=696219795}else e=715094163;c[h>>2]=0;c[h+4>>2]=((b>>>0)/3|0)+e|d&-2147483648;f=+g[h>>3];i=f*f*(f/a);g[h>>3]=(i*(i*i)*(i*.14599619288661245+-.758397934778766)+(i*(i*1.6214297201053545+-1.8849797954337717)+1.87595182427177))*f;d=SO(c[h>>2]|0,c[h+4>>2]|0,-2147483648,0)|0;e=M()|0;c[h>>2]=d&-1073741824;c[h+4>>2]=e;f=+g[h>>3];a=a/(f*f);a=(a-f)/(f+f+a)*f+f}while(0);return +a}function so(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;n=e[a+-2>>1]|0;l=e[a+(h+-1<<1)>>1]|0;c=d&-2;k=e[a+(c+-1<<1)>>1]|0;g=h*3|0;f=b[a+(g+-1<<1)>>1]|0;i=f&65535;m=l+1|0;b[a>>1]=(m+n|0)>>>1;j=k+2|0;b[a+2>>1]=(j+n+(l<<1)|0)>>>2;m=(m+k|0)>>>1&65535;b[a+(h<<1)>>1]=m;b[a+4>>1]=m;l=(i+2+l+(k<<1)|0)>>>2&65535;b[a+(h+1<<1)>>1]=l;b[a+6>>1]=l;k=(k+1+i|0)>>>1&65535;b[a+(c<<1)>>1]=k;b[a+(h+2<<1)>>1]=k;i=(j+i+(i<<1)|0)>>>2&65535;b[a+((d|1)<<1)>>1]=i;b[a+(h+3<<1)>>1]=i;b[a+(g+3<<1)>>1]=f;b[a+(g+2<<1)>>1]=f;b[a+(c+2<<1)>>1]=f;b[a+(g<<1)>>1]=f;b[a+(g+1<<1)>>1]=f;b[a+(c+3<<1)>>1]=f;return}function to(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+32|0;i=j+16|0;g=j;a:do if(!(c[a+8>>2]|0)){d=b+80|0;e=kt(c[d>>2]|0)|0;d=oT(c[d>>2]|0)|0;if(!d)f=0;else f=c[d+8>>2]|0;e=(e|0)!=1|(f&2|0)==0?e:2;d=0;while(1){if((d|0)>=(e|0))break;if(!(c[b+(d<<2)>>2]|0)){h=7;break}else d=d+1|0}if((h|0)==7){c[g>>2]=169122;c[g+4>>2]=167670;c[g+8>>2]=1606;Xw(0,0,213444,g);ba()}d=(f&64|0)==0|(e|0)!=1?e:2;e=(d|0)>0;while(1){if(!(e&d>>>0<8))break a;f=b+(d<<2)|0;if(c[f>>2]|0)Xw(a,16,169137,i);c[f>>2]=0;d=d+1|0}}while(0);Mb=j;return}function uo(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;h=g+(H(e,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;i=b;f[a>>2]=(+((c[i>>2]|0)>>>0)+4294967296.0*+(c[i+4>>2]|0))*-1.0842021724855044e-19;i=b+d|0;j=a+e|0;k=i;f[j>>2]=(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0))*-1.0842021724855044e-19;i=i+d|0;j=j+e|0;k=i;f[j>>2]=(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0))*-1.0842021724855044e-19;i=i+d|0;j=j+e|0;k=i;f[j>>2]=(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0))*-1.0842021724855044e-19;a=j+e|0;b=i+d|0}while(1){if(a>>>0>=g>>>0)break;k=b;f[a>>2]=(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0))*-1.0842021724855044e-19;a=a+e|0;b=b+d|0}return}function vo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0;h=f+(H(e,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;i=b;g[a>>3]=(+((c[i>>2]|0)>>>0)+4294967296.0*+(c[i+4>>2]|0))*-1.0842021724855044e-19;i=b+d|0;j=a+e|0;k=i;g[j>>3]=(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0))*-1.0842021724855044e-19;i=i+d|0;j=j+e|0;k=i;g[j>>3]=(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0))*-1.0842021724855044e-19;i=i+d|0;j=j+e|0;k=i;g[j>>3]=(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0))*-1.0842021724855044e-19;a=j+e|0;b=i+d|0}while(1){if(a>>>0>=f>>>0)break;k=b;g[a>>3]=(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0))*-1.0842021724855044e-19;a=a+e|0;b=b+d|0}return}function wo(b,c,d,e,g){b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=g+(H(e,-3)|0)|0;while(1){if(b>>>0>=h>>>0)break;j=XU(+f[c>>2]*128.0)|0;i=j+128|0;a[b>>0]=i>>>0>255?j+-2147483520>>31:i;i=c+d|0;j=b+e|0;l=XU(+f[i>>2]*128.0)|0;k=l+128|0;a[j>>0]=k>>>0>255?l+-2147483520>>31:k;i=i+d|0;j=j+e|0;k=XU(+f[i>>2]*128.0)|0;l=k+128|0;a[j>>0]=l>>>0>255?k+-2147483520>>31:l;i=i+d|0;j=j+e|0;l=XU(+f[i>>2]*128.0)|0;k=l+128|0;a[j>>0]=k>>>0>255?l+-2147483520>>31:k;b=j+e|0;c=i+d|0}while(1){if(b>>>0>=g>>>0)break;k=XU(+f[c>>2]*128.0)|0;l=k+128|0;a[b>>0]=l>>>0>255?k+-2147483520>>31:l;b=b+e|0;c=c+d|0}return}function xo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Mb;Mb=Mb+16|0;k=l+4|0;j=l;e=An(k,d)|0;do if((e|0)>=0){h=d+8|0;i=c[k>>2]|0;a:while(1){e=c[h>>2]|0;switch(a[e>>0]|0){case 47:case 42:break;default:{f=8;break a}}c[h>>2]=e+1;f=a[e>>0]|0;e=An(j,d)|0;if((e|0)<0){f=5;break}g=c[j>>2]|0;e=FK(f<<24>>24==42?19:20,i,g)|0;if(!e){f=7;break}else i=e}if((f|0)==5){c[k>>2]=i;UH(i);break}else if((f|0)==7){c[k>>2]=0;UH(i);UH(g);e=-12;break}else if((f|0)==8){c[k>>2]=i;c[b>>2]=i;e=0;break}}while(0);Mb=l;return e|0}function yo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=c[a+26364>>2]|0;i=a+24312|0;k=c[i>>2]|0;j=c[((j|0)==3?k+84|0:k+76+(((j|0)==2&1)<<2)|0)>>2]|0;k=c[b+25364>>2]|0;a:do if(!(c[a+26360>>2]|0))d=b+23404|0;else{f=b+25372|0;d=b+23404|0;e=0;while(1){if((e|0)==2)break a;g=c[(c[i>>2]|0)+76+(e<<2)>>2]|0;h=c[(c[f>>2]|0)+76+(e<<2)>>2]|0;a=0;while(1){if(a>>>0>=c[d>>2]<<1>>>0)break;l=sn(b,g,h,a+16|0)|0;c[b+21996+(e<<7)+((a^e)<<2)>>2]=l;a=a+1|0}e=e+1|0}}while(0);a=0;while(1){if(a>>>0>=(c[d>>2]|0)>>>0)break;l=sn(b,j,k,a)|0;c[b+21868+(a<<2)>>2]=l;a=a+1|0}return}function zo(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0;h=f+(H(e,-3)|0)|0;while(1){if(b>>>0>=h>>>0)break;j=sT(+g[c>>3]*128.0)|0;i=j+128|0;a[b>>0]=i>>>0>255?j+-2147483520>>31:i;i=c+d|0;j=b+e|0;l=sT(+g[i>>3]*128.0)|0;k=l+128|0;a[j>>0]=k>>>0>255?l+-2147483520>>31:k;i=i+d|0;j=j+e|0;k=sT(+g[i>>3]*128.0)|0;l=k+128|0;a[j>>0]=l>>>0>255?k+-2147483520>>31:l;i=i+d|0;j=j+e|0;l=sT(+g[i>>3]*128.0)|0;k=l+128|0;a[j>>0]=k>>>0>255?l+-2147483520>>31:k;b=j+e|0;c=i+d|0}while(1){if(b>>>0>=f>>>0)break;k=sT(+g[c>>3]*128.0)|0;l=k+128|0;a[b>>0]=l>>>0>255?k+-2147483520>>31:l;b=b+e|0;c=c+d|0}return}function Ao(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!(c[a+24>>2]|0)){e=c[a>>2]|0;if(!e)a=0;else{d=c[e+72>>2]|0;c[a>>2]=d;if(!d)c[a+4>>2]=0;g=a+8|0;c[g>>2]=(c[g>>2]|0)+-1;g=a+12|0;c[g>>2]=-80-(c[e+28>>2]|0)+(c[g>>2]|0);g=e+48|0;f=a+16|0;d=f;g=QO(c[d>>2]|0,c[d+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;d=M()|0;c[f>>2]=g;c[f+4>>2]=d;f=e+16|0;a=a+32|0;d=a;if((c[f>>2]|0)==(c[d>>2]|0)?(c[f+4>>2]|0)==(c[d+4>>2]|0):0){g=a;c[g>>2]=0;c[g+4>>2]=0}a=e;d=b+72|0;do{c[b>>2]=c[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(d|0));gV(e);a=1}}else a=-1;return a|0}function Bo(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;h=g+(H(f,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;i=d;i=oN(c[i>>2]|0,c[i+4>>2]|0,48)|0;M()|0;b[a>>1]=i;i=d+e|0;j=a+f|0;k=i;k=oN(c[k>>2]|0,c[k+4>>2]|0,48)|0;M()|0;b[j>>1]=k;i=i+e|0;j=j+f|0;k=i;k=oN(c[k>>2]|0,c[k+4>>2]|0,48)|0;M()|0;b[j>>1]=k;i=i+e|0;j=j+f|0;k=i;k=oN(c[k>>2]|0,c[k+4>>2]|0,48)|0;M()|0;b[j>>1]=k;a=j+f|0;d=i+e|0}while(1){if(a>>>0>=g>>>0)break;k=d;k=oN(c[k>>2]|0,c[k+4>>2]|0,48)|0;M()|0;b[a>>1]=k;a=a+f|0;d=d+e|0}return}function Co(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!(uL(b)|0))d=1;else{d=Hz(b,4)|0;c[a>>2]=d;gO(b,4);d=2}if(uL(b)|0)d=(Qx(a,b)|0)+d|0;if(!(uL(b)|0))f=1;else{e=Hz(b,4)|0;f=a+396|0;c[f>>2]=e;e=Hz(b,4)|0;c[a+400>>2]=e;f=c[f>>2]|0;e=0;while(1){d=d+1|0;if((e|0)>(f|0))break;g=Hz(b,8)|0;c[a+404+(e<<2)>>2]=g;e=e+1|0}f=f+1|0}if(uL(b)|0){g=Hz(b,7)|0;c[a+472>>2]=g;zU(b);d=d+1|0}e=0;while(1){if((e|0)>=(f|0))break;g=uL(b)|0;c[a+4+(e<<2)>>2]=g;g=Hz(b,7)|0;c[a+72+(e<<2)>>2]=g;e=e+1|0;d=d+1|0}return d|0}function Do(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=(j+1|1)<<g;k=g+1|0;j=b;g=0;while(1){if((g|0)>=(f|0))break;m=H(d[c>>0]|0,i)|0;m=m+l+(H(d[j>>0]|0,h)|0)>>k;a[j>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H(d[c+1>>0]|0,i)|0;b=j+1|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+2>>0]|0,i)|0;m=j+2|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+3>>0]|0,i)|0;b=j+3|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;c=c+e|0;j=j+e|0;g=g+1|0}return}
function Eo(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=Mb;Mb=Mb+16|0;i=n+8|0;l=c[f+24>>2]|0;h=Qu(f,70,0)|0;m=c[f+28>>2]|0;j=c[a+60>>2]|0;k=(m|0)/64|0;if((m|0)>=64){f=m&63;if(f|0){c[i>>2]=f;Xw(a,24,172119,i)}if(((h|0)!=0&(m|0)>127?(g=a+416|0,((c[g>>2]|0)%11025|0|0)==0):0)?(1<<((d[h>>0]|0)>>>2&3)|0)==(k|0):0)c[g>>2]=(m>>>7)*11025;c[b+76>>2]=k<<8;f=HI(a,b,0)|0;if((f|0)>=0){a=c[b>>2]|0;g=0;f=l;while(1){if((g|0)>=(k|0))break;qh(j,f,a);a=a+1024|0;g=g+1|0;f=f+64|0}c[e>>2]=1;f=m}}else{Xw(a,16,172098,n);f=-1094995529}Mb=n;return f|0}function Fo(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}e=(aV()|0)+188|0;if(!(c[c[e>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{b=pV()|0;c[b>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{b=pV()|0;c[b>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function Go(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if(!b){e=d[a+-1>>0]|0;b=e}else{b=d[a+-1>>0]|0;e=d[a+~f>>0]|0}o=d[a+(f+-1)>>0]|0;n=o+2|0;m=d[a+((f<<1)+-1)>>0]|0;l=m+2|0;k=d[a+((f*3|0)+-1)>>0]|0;j=d[a+((f<<2)+-1)>>0]|0;i=d[a+((f*5|0)+-1)>>0]|0;h=d[a+((f*6|0)+-1)>>0]|0;g=d[a+((f*7|0)+-1)>>0]|0;e=H(((n+e+(b<<1)|0)>>>2)+4+((l+b+(o<<1)|0)>>>2)+((n+(m<<1)+k|0)>>>2)+((l+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+h|0)>>>2)+((h+2+(g*3|0)|0)>>>2)+((i+2+(h<<1)+g|0)>>>2)>>3,16843009)|0;b=0;while(1){if((b|0)==8)break;c[a>>2]=e;c[a+4>>2]=e;b=b+1|0;a=a+f|0}return}function Ho(a,b){a=a|0;b=b|0;c[a>>2]=22;c[a+484>>2]=4;c[a+488>>2]=5;c[a+492>>2]=6;c[a+496>>2]=7;c[a+500>>2]=8;c[a+504>>2]=9;c[a+508>>2]=10;c[a+512>>2]=11;c[a+52>>2]=12;c[a+56>>2]=13;c[a+68>>2]=14;c[a+72>>2]=15;c[a+76>>2]=16;c[a+80>>2]=17;c[a+292>>2]=18;c[a+296>>2]=19;c[a+4>>2]=4;c[a+8>>2]=8;c[a+28>>2]=20;c[a+32>>2]=21;c[a+36>>2]=22;c[a+100>>2]=23;c[a+104>>2]=24;c[a+148>>2]=25;c[a+152>>2]=26;c[a+124>>2]=27;c[a+128>>2]=28;c[a+172>>2]=29;c[a+176>>2]=30;c[a+188>>2]=31;c[a+192>>2]=32;c[a+196>>2]=33;c[a+200>>2]=34;c[a+212>>2]=35;c[a+216>>2]=36;c[a+220>>2]=37;c[a+224>>2]=38;c[a+516>>2]=39;c[a+520>>2]=40;return}function Io(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=0;h=0;a=c;while(1){if((g|0)>=(f|0))break;o=(d[b>>0]|0)-(d[a>>0]|0)|0;n=(d[b+1>>0]|0)-(d[a+1>>0]|0)|0;m=(d[b+2>>0]|0)-(d[a+2>>0]|0)|0;l=(d[b+3>>0]|0)-(d[a+3>>0]|0)|0;k=(d[b+4>>0]|0)-(d[a+4>>0]|0)|0;j=(d[b+5>>0]|0)-(d[a+5>>0]|0)|0;i=(d[b+6>>0]|0)-(d[a+6>>0]|0)|0;c=(d[b+7>>0]|0)-(d[a+7>>0]|0)|0;g=g+1|0;h=((o|0)>-1?o:0-o|0)+h+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((c|0)>-1?c:0-c|0)|0;b=b+e|0;a=a+e|0}return h|0}function Jo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=b+8|0;i=c[f>>2]|0;a[b+12>>0]=a[b+12+i>>0]|0;a[b+87940>>0]=a[b+87932+i>>0]|0;e=b+14568|0;c[b+14564>>2]=((c[e>>2]|0)!=(i|0))<<31>>31;i=b+13|0;h=d+13|0;a[i>>0]=a[h>>0]|0;a[i+1>>0]=a[h+1>>0]|0;a[i+2>>0]=a[h+2>>0]|0;a[i+3>>0]=a[h+3>>0]|0;a[i+4>>0]=a[h+4>>0]|0;a[i+5>>0]=a[h+5>>0]|0;i=d+87932|0;h=c[i+4>>2]|0;g=b+87932|0;c[g>>2]=c[i>>2];c[g+4>>2]=h;g=b+87941|0;h=d+87941|0;a[g>>0]=a[h>>0]|0;a[g+1>>0]=a[h+1>>0]|0;a[g+2>>0]=a[h+2>>0]|0;c[f>>2]=c[d+8>>2];c[b+92>>2]=c[d+92>>2];c[b+20>>2]=c[d+20>>2];c[b>>2]=c[d>>2];c[e>>2]=c[d+14568>>2];return}function Ko(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=Mb;Mb=Mb+32|0;h=l;i=c[a+4>>2]|0;j=c[a+24316>>2]|0;b=(oT(c[i+144>>2]|0)|0)+6|0;b=d[b>>0]|0;g=c[a+26364>>2]|0;n=(g|0)!=3;p=n&1;o=f<<p;f=e<<p;e=(c[i+128>>2]|0)-f|0;e=(o|0)>(e|0)?e:o;if(!((n?(c[a+26368>>2]|0)!=0:0)?!(c[i+292>>2]&2|0):0))k=4;if((k|0)==4?(m=c[i+152>>2]|0,m|0):0){p=H(c[j+32>>2]|0,f)|0;c[h>>2]=p;b=H(c[j+36>>2]|0,f>>b)|0;c[h+8>>2]=b;c[h+4>>2]=b;b=3;while(1){if((b|0)==8)break;c[h+(b<<2)>>2]=0;b=b+1|0}kc[m&63](i,j,h,f,g,e)}Mb=l;return}function Lo(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=f>>1;k=f&-2;l=o*3|0;m=o<<2;n=o*5|0;h=o*6|0;i=o*7|0;j=o<<3;g=d;f=a+(0-o<<1)|0;a=0;while(1){if((a|0)==8)break;p=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(o<<1)>>1]=p;p=(c[g+32>>2]|0)+p|0;b[f+(k<<1)>>1]=p;p=(c[g+64>>2]|0)+p|0;b[f+(l<<1)>>1]=p;p=(c[g+96>>2]|0)+p|0;b[f+(m<<1)>>1]=p;p=(c[g+128>>2]|0)+p|0;b[f+(n<<1)>>1]=p;p=(c[g+160>>2]|0)+p|0;b[f+(h<<1)>>1]=p;p=(c[g+192>>2]|0)+p|0;b[f+(i<<1)>>1]=p;b[f+(j<<1)>>1]=(c[g+224>>2]|0)+p;g=g+4|0;f=f+2|0;a=a+1|0}Wp(d|0,0,256)|0;return}function Mo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=f+(H(e,-3)|0)|0;while(1){if(a>>>0>=g>>>0)break;l=b;i=c[l+4>>2]|0;h=a;c[h>>2]=c[l>>2];c[h+4>>2]=i;h=b+d|0;i=a+e|0;l=h;k=c[l+4>>2]|0;j=i;c[j>>2]=c[l>>2];c[j+4>>2]=k;h=h+d|0;i=i+e|0;j=h;k=c[j+4>>2]|0;l=i;c[l>>2]=c[j>>2];c[l+4>>2]=k;h=h+d|0;i=i+e|0;l=h;k=c[l+4>>2]|0;j=i;c[j>>2]=c[l>>2];c[j+4>>2]=k;a=i+e|0;b=h+d|0}while(1){if(a>>>0>=f>>>0)break;j=b;k=c[j+4>>2]|0;l=a;c[l>>2]=c[j>>2];c[l+4>>2]=k;a=a+e|0;b=b+d|0}return}function No(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=0;while(1){if((j|0)>=(i|0))break;m=H(j,g)|0;p=b+m|0;l=H(j,h)|0;o=e+l|0;k=H(j,f)|0;n=a+k|0;q=c[n>>2]|0;o=lT(q,lT(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24)|0)|0;c[n>>2]=o;m=b+(m+4)|0;l=e+(l+4)|0;k=a+(k+4)|0;n=c[k>>2]|0;l=lT(n,lT(d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0)|0;c[k>>2]=l;j=j+1|0}return}function Oo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=Mb;Mb=Mb+32|0;l=m;f=b+392|0;g=c[f>>2]|0;h=b+396|0;i=c[h>>2]|0;j=b+384|0;k=c[j>>2]|0;d=b+388|0;e=c[d>>2]|0;if((g>>>0<(2147483647-i|0)>>>0&k>>>0<(2147483647-e|0)>>>0?(i+g|0)>>>0<(c[b+68>>2]|0)>>>0:0)?(e+k|0)>>>0<(c[b+72>>2]|0)>>>0:0)if(!(c[a+1008>>2]|0))a=0;else a=Ug(b,c[a+92>>2]&1)|0;else{n=c[b+68>>2]|0;b=c[b+72>>2]|0;c[l>>2]=g;c[l+4>>2]=i;c[l+8>>2]=k;c[l+12>>2]=e;c[l+16>>2]=n;c[l+20>>2]=b;Xw(a,24,168130,l);c[f>>2]=0;c[h>>2]=0;c[j>>2]=0;c[d>>2]=0;a=0}Mb=m;return a|0}function Po(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if((c[a+24>>2]|0)==0?(d=jx(80)|0,(d|0)!=0):0){e=d;f=b;g=e+72|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));c[d+72>>2]=0;e=a+4|0;g=c[e>>2]|0;c[((g|0)==0?a:g+72|0)>>2]=d;c[e>>2]=d;e=a+8|0;c[e>>2]=(c[e>>2]|0)+1;e=a+12|0;c[e>>2]=(c[d+28>>2]|0)+80+(c[e>>2]|0);e=d+48|0;g=a+16|0;f=g;e=SO(c[f>>2]|0,c[f+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;f=M()|0;c[g>>2]=e;c[g+4>>2]=f;if(!(c[b+36>>2]|0))a=0;else{f=b+16|0;g=c[f+4>>2]|0;a=a+32|0;c[a>>2]=c[f>>2];c[a+4>>2]=g;a=0}}else a=-1;return a|0}function Qo(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;l=g<<1;m=g*3|0;n=g<<2;o=g*5|0;p=g*6|0;j=g*7|0;k=g<<3;i=f;c=c+(0-g)|0;h=0;while(1){if((h|0)==8)break;q=(e[i>>1]|0)+(d[c>>0]|0)|0;a[c+g>>0]=q;q=q+(e[i+16>>1]|0)|0;a[c+l>>0]=q;q=q+(e[i+32>>1]|0)|0;a[c+m>>0]=q;q=q+(e[i+48>>1]|0)|0;a[c+n>>0]=q;q=q+(e[i+64>>1]|0)|0;a[c+o>>0]=q;q=q+(e[i+80>>1]|0)|0;a[c+p>>0]=q;q=q+(e[i+96>>1]|0)|0;a[c+j>>0]=q;a[c+k>>0]=q+(e[i+112>>1]|0);i=i+2|0;c=c+1|0;h=h+1|0}c=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function Ro(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;h=g+(H(e,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;i=XU(+f[c>>2]*32768.0)|0;b[a>>1]=(i+32768|0)>>>0>65535?i>>31^32767:i;i=c+d|0;j=a+e|0;k=XU(+f[i>>2]*32768.0)|0;b[j>>1]=(k+32768|0)>>>0>65535?k>>31^32767:k;i=i+d|0;j=j+e|0;k=XU(+f[i>>2]*32768.0)|0;b[j>>1]=(k+32768|0)>>>0>65535?k>>31^32767:k;i=i+d|0;j=j+e|0;k=XU(+f[i>>2]*32768.0)|0;b[j>>1]=(k+32768|0)>>>0>65535?k>>31^32767:k;a=j+e|0;c=i+d|0}while(1){if(a>>>0>=g>>>0)break;k=XU(+f[c>>2]*32768.0)|0;b[a>>1]=(k+32768|0)>>>0>65535?k>>31^32767:k;a=a+e|0;c=c+d|0}return}function So(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0,y=0;l=+f[d>>2];m=+f[d+4>>2];n=+f[d+8>>2];k=+f[d+12>>2];h=+f[c>>2];i=+f[c+4>>2];j=+f[c+8>>2];g=+f[c+12>>2];d=0;while(1){if((d|0)>=(e|0))break;y=a+(d<<3)|0;w=+f[y>>2];x=a+(d<<3)+4|0;t=+f[x>>2];u=b+(d<<3)|0;v=+f[u>>2];c=b+(d<<3)+4|0;s=+f[c>>2];r=l+h;q=m+i;p=n+j;o=k+g;f[y>>2]=r*w+p*v;f[x>>2]=r*t+p*s;f[u>>2]=q*w+o*v;f[c>>2]=q*t+o*s;h=r;i=q;j=p;g=o;d=d+1|0}return}function To(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Mb;Mb=Mb+16|0;f=g;a:do if((fp(f,b,d,a,1)|0)>=0?(e=YQ(28)|0,(e|0)!=0):0){c[e+16>>2]=b;c[e+20>>2]=a;c[e+24>>2]=(c[f>>2]|0)/(d|0)|0;a=(IP(a)|0)==0;a=a?1:b;b=e+4|0;c[b>>2]=a;a=XQ(a)|0;c[e>>2]=a;b:do if(a|0){a=0;while(1){if((a|0)>=(c[b>>2]|0))break;h=KT(c[f>>2]|0)|0;c[(c[e>>2]|0)+(a<<2)>>2]=h;if(!(c[(c[e>>2]|0)+(a<<2)>>2]|0))break b;else a=a+1|0}c[e+12>>2]=d;break a}while(0);lH(e);e=0}else e=0;while(0);Mb=g;return e|0}function Uo(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0;h=f+(H(e,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;i=sT(+g[c>>3]*32768.0)|0;b[a>>1]=(i+32768|0)>>>0>65535?i>>31^32767:i;i=c+d|0;j=a+e|0;k=sT(+g[i>>3]*32768.0)|0;b[j>>1]=(k+32768|0)>>>0>65535?k>>31^32767:k;i=i+d|0;j=j+e|0;k=sT(+g[i>>3]*32768.0)|0;b[j>>1]=(k+32768|0)>>>0>65535?k>>31^32767:k;i=i+d|0;j=j+e|0;k=sT(+g[i>>3]*32768.0)|0;b[j>>1]=(k+32768|0)>>>0>65535?k>>31^32767:k;a=j+e|0;c=i+d|0}while(1){if(a>>>0>=f>>>0)break;k=sT(+g[c>>3]*32768.0)|0;b[a>>1]=(k+32768|0)>>>0>65535?k>>31^32767:k;a=a+e|0;c=c+d|0}return}function Vo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=Mb;Mb=Mb+16|0;g=i+8|0;a:do switch(e|0){case 2:{e=a+4|0;g=c[e>>2]|0;if(!(c[a+6512>>2]|0)){Xw(g,16,190039,i);qK(d,c[f>>2]|0);c[f>>2]=0;break a}else{d=kd(g,d,b+176032|0,c[f>>2]|0)|0;c[f>>2]=(c[f>>2]|0)-d;c[(c[e>>2]|0)+828>>2]=28;break a}}case 0:{e=c[f>>2]|0;if((e|0)<=16?(PI(d,e)|0)==0:0)h=8;else h=7;break}default:h=7}while(0);if((h|0)==7){KM(c[a+4>>2]|0,190117,g);e=c[f>>2]|0;h=8}if((h|0)==8){qK(d,e);c[f>>2]=0}Mb=i;return}function Wo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=c[a+24>>2]|0;j=1<<i;k=j<<(0-i&3);l=j+-1&-286331153;b=15<<i;f=GO(b,4)|0;g=a+16|0;c[g>>2]=f;a:do if((f|0)!=0?(h=GO(b,4)|0,c[a+20>>2]=h,(h|0)!=0):0){a=0;while(1){if((a|0)>=(j|0)){a=0;break a}d=H(a,l)|0;e=a*15|0;f=d*15|0;b=0;while(1){if((b|0)==15)break;n=b<<i;m=H(b,k)|0;o=((H(((n|0)/15|0)+a>>i,-15)|0)+b<<i)+e<<1;c[(c[g>>2]|0)+(b+e<<2)>>2]=o;c[h+(m+f-((((m|0)/15|0)+d>>i)*15<<i)<<2)>>2]=n+a;b=b+1|0}a=a+1|0}}else a=1;while(0);return a|0}function Xo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=Mb;Mb=Mb+16|0;k=m;c[k>>2]=-1;j=d+e|0;f=0;b=d;e=0;a:while(1){i=(e|0)!=0;b:while(1){h=(f|0)!=0;c:while(1){if(b>>>0>=j>>>0){b=0;break a}b=Nm(b,j,k)|0;g=c[k>>2]|0;if((g&-256|0)!=256){b=0;break a}e=g&31;switch(g&31){case 8:break b;case 7:break c;default:{}}if(h&((e|0)!=15&((e|4|0)!=13&(i|(e|0)!=6)))){l=10;break a}}f=1}e=1}if((l|0)==10){while(1){e=b+-4|0;if(e>>>0<=d>>>0)break;if(!(a[b+-5>>0]|0))b=b+-1|0;else break}b=e-d|0}Mb=m;return b|0}function Yo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=c[(c[a+64>>2]|0)+20>>2]|0;a:do if(f|0){g=a+800|0;_u(f,c[g>>2]|0);d=f+4|0;e=c[d>>2]|0;if(e|0?(b=c[f>>2]|0,(e|0)!=(b|0)):0)$f(c[b+212>>2]|0,c[e+212>>2]|0,0)|0;c[f+148>>2]=0;c[f+144>>2]=0;c[f+152>>2]=1;c[d>>2]=0;b=a+12|0;a=0;while(1){if((a|0)>=(c[g>>2]|0))break a;d=c[f>>2]|0;c[d+(a*352|0)+292>>2]=0;av(c[d+(a*352|0)+288>>2]|0);c[d+(a*352|0)+296>>2]=0;mr(d+(a*352|0)|0);e=c[(c[b>>2]|0)+108>>2]|0;if(e|0)dc[e&31](c[d+(a*352|0)+212>>2]|0);a=a+1|0}}while(0);return}function Zo(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;m=Mb;Mb=Mb+16|0;l=m;k=(f|0)==16?22640:22576;a:do if(uL(b)|0){i=0;h=8;j=8;while(1){if((i|0)>=(f|0)){h=0;break a}if(!h)h=0;else{h=ap(b)|0;if((h+128|0)>>>0>255){i=8;break}h=h+j&255}if(!(h|i)){i=10;break}n=(h|0)==0?j:h;a[e+(d[k+i>>0]|0)>>0]=n;i=i+1|0;j=n}if((i|0)==8){c[l>>2]=h;Xw(0,16,170203,l);h=-1094995529;break}else if((i|0)==10){rk(e|0,g|0,f|0)|0;h=0;break}}else{rk(e|0,h|0,f|0)|0;h=0}while(0);Mb=m;return h|0}function _o(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=e+5|0;k=e+6|0;m=e+8|0;n=e+4|0;o=b+384|0;p=b+392|0;f=0;a:while(1){if(!(c[b+(f<<2)>>2]|0))break;if((f+-1|0)>>>0<2){j=d[k>>0]|0;l=d[h>>0]|0}else{j=0;l=0}if((f|0)==1&((c[m>>2]&66|0)!=0|0!=0)){q=6;break}i=d[n>>0]|0;g=0;while(1){if(g>>>0>=i>>>0)break a;if((c[e+16+(g<<5)>>2]|0)==(f|0))break;g=g+1|0}j=H((c[o>>2]|0)>>>j,c[b+32+(f<<2)>>2]|0)|0;l=(H((c[p>>2]|0)>>>l,c[e+16+(g<<5)+4>>2]|0)|0)+j|0;c[a+(f<<2)>>2]=l;f=f+1|0}if((q|0)==6)c[a+4>>2]=0;return}function $o(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0;i=b>>1;b=0;d=0;f=0;while(1){if((b|0)==4)break;g=a+((H(b,i)|0)+-1<<1)|0;h=a+((H(b+4|0,i)|0)+-1<<1)|0;b=b+1|0;d=d+(e[g>>1]|0)|0;f=f+(e[h>>1]|0)|0}g=XJ((d+2|0)>>>2|0,0,65537,65537)|0;h=M()|0;d=(f+2|0)>>>2;b=0;while(1){if((b|0)==4)break;f=a+((H(b,i)|0)<<1)|0;j=f;c[j>>2]=g;c[j+4>>2]=h;f=f+8|0;c[f>>2]=g;c[f+4>>2]=h;b=b+1|0}d=XJ(d|0,0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;j=a+((H(b,i)|0)<<1)|0;h=j;c[h>>2]=d;c[h+4>>2]=f;j=j+8|0;c[j>>2]=d;c[j+4>>2]=f;b=b+1|0}return}function ap(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+8|0;g=c[f>>2]|0;h=c[b+16>>2]|0;e=c[b>>2]|0;b=e+(g>>>3)|0;b=(kS(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(g&7);if(b>>>0>134217727){b=b>>>23;g=g+(d[72672+b>>0]|0)|0;c[f>>2]=h>>>0>g>>>0?g:h;b=a[73696+b>>0]|0}else{j=b>>>0>65535;b=j?b>>>16:b;j=j?16:0;i=(b&65280|0)==0;b=(i?j:j|8)+(d[91312+(i?b:b>>>8)>>0]|0)|0;i=31-b+g|0;i=h>>>0>i>>>0?i:h;g=e+(i>>>3)|0;g=(kS(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(i&7)>>>b;b=i+(32-b)|0;c[f>>2]=h>>>0>b>>>0?b:h;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function bp(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=Mb;Mb=Mb+16|0;h=i;e=a+8|0;f=c[e>>2]|0;g=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(kS(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7);do if(a>>>0<=134217727){k=a>>>0>65535;j=k?a>>>16:a;k=k?16:0;b=(j&65280|0)==0;j=(b?k:k|8)+(d[91312+(b?j:j>>>8)>>0]|0)|0;b=j<<1;f=63-b+f|0;c[e>>2]=g>>>0>f>>>0?f:g;if(j>>>0<19){Xw(0,16,200770,h);a=-1094995529;break}else{a=(a>>>(b+-31|0))+-1|0;break}}else{a=a>>>23;k=f+(d[72672+a>>0]|0)|0;c[e>>2]=g>>>0>k>>>0?k:g;a=d[73184+a>>0]|0}while(0);Mb=i;return a|0}function cp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=c[a+13444>>2]|0;j=(c[a+13384>>2]|0)-(((c[f+8>>2]|0)+-1|0)/2|0)|0;h=c[f+48>>2]|0;g=((h|0)<0)<<31>>31;j=XJ(j|0,((j|0)<0)<<31>>31|0,h|0,g|0)|0;k=M()|0;e=c[f+32>>2]|0;e=QO(j|0,k|0,e|0,((e|0)<0)<<31>>31|0)|0;k=M()|0;j=c[f+40>>2]|0;i=((j|0)<0)<<31>>31;k=XJ(e|0,k|0,j|0,i|0)|0;e=M()|0;f=c[f+36>>2]|0;f=QO(k|0,e|0,f|0,((f|0)<0)<<31>>31|0)|0;e=M()|0;a=c[a+40>>2]|0;g=XJ(j|0,i|0,h|0,g|0)|0;a=XJ(g|0,M()|0,a|0,((a|0)<0)<<31>>31|0)|0;d=pN(f,e,b,d,a,M()|0)|0;L(M()|0);return d|0}function dp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(hu(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=H(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function ep(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=Mb;Mb=Mb+16|0;g=i+8|0;e=i;d=i+12|0;c[d>>2]=0;h=Cq(35633,17552)|0;do if((h|0)!=0?(a=Cq(35632,17712)|0,(a|0)!=0):0){b=Qa()|0;if(!b){UI(165798)|0;b=0;break}Ja(b|0,h|0);Ja(b|0,a|0);eb(b|0);ab(b|0,35714,d|0);if(!(c[d>>2]|0)){mN(165814,e)|0;c[e>>2]=0;ab(b|0,35716,e|0);d=c[e>>2]|0;if(d|0?(f=wc(d)|0,f|0):0){$a(b|0,d|0,0,f|0);c[g>>2]=f;mN(165837,g)|0;nd(f)}Sa(b|0);b=0}}else{b=0;a=0}while(0);Ta(h|0);Ta(a|0);Mb=i;return b|0}function fp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;h=JP(e)|0;g=IP(e)|0;do if(!((b|0)<1|((d|0)<1|(h|0)==0))){if(!f){if((d|0)>2147483616){e=-22;break}d=d+31&-32;e=1}else e=f;if((2147483647/(e|0)|0|0)>=(b|0)?(i=XJ(d|0,((d|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0,k=M()|0,f=(2147483647-(H(e,b)|0)|0)/(h|0)|0,j=((f|0)<0)<<31>>31,!((k|0)>(j|0)|(k|0)==(j|0)&i>>>0>f>>>0)):0){f=(g|0)!=0;k=H(d,h)|0;e=e+-1+(H(k,f?1:b)|0)&0-e;if(a|0)c[a>>2]=e;e=H(e,f?b:1)|0}else e=-22}else e=-22;while(0);return e|0}function gp(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=0;while(1){if((g|0)>=(f|0))break;h=a;j=b;k=j;j=j+4|0;j=QI(c[h>>2]|0,c[h+4>>2]|0,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;k=M()|0;h=a;c[h>>2]=j;c[h+4>>2]=k;h=a+8|0;k=h;j=b+8|0;i=j;j=j+4|0;j=QI(c[k>>2]|0,c[k+4>>2]|0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;i=M()|0;c[h>>2]=j;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function hp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=c[a+60>>2]|0;b=0;while(1){if((b|0)==4)break;d=0;while(1){if((d|0)==16)break;e=c[g+492+(b<<6)+(d<<2)>>2]|0;if(e|0){c[e+74464>>2]=e+24288;c[e+148672>>2]=e+98496}d=d+1|0}b=b+1|0}f=g+8|0;av(c[f>>2]|0);d=a+420|0;a:do if(c[d>>2]|0){b=c[f>>2]|0;c[b+76>>2]=2048;b=HI(a,b,0)|0;if((b|0)>=0){d=c[d>>2]|0;b=0;while(1){if((b|0)>=(d|0)){b=0;break a}e=c[g+5412+(b<<2)>>2]|0;if(e|0)c[e+74176>>2]=c[(c[(c[f>>2]|0)+64>>2]|0)+(b<<2)>>2];b=b+1|0}}}else b=1;while(0);return b|0}function ip(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=Mb;Mb=Mb+16|0;h=i;e=c[(c[a+12>>2]|0)+16>>2]|0;if((e&4096|0)!=0?(c[a+92>>2]&589824|0)==0:0)b=(c[a+96>>2]&32768|0)==0;else b=0;d=a+800|0;g=c[d>>2]|0;a:do if((g|0)!=1){if(b?(c[a+804>>2]&1|0)!=0:0){b=1;f=12}else f=8;do if((f|0)==8){if(e&8192|0?c[a+804>>2]&2|0:0){b=2;f=12;break}if(!(e&32768)){c[d>>2]=1;c[a+808>>2]=0;break a}}while(0);if((f|0)==12)c[a+808>>2]=b;if((g|0)>16){c[h>>2]=g;c[h+4>>2]=16;Xw(a,24,200896,h)}}else c[a+808>>2]=0;while(0);Mb=i;return}function jp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;ao(a,b);f=a+173812|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;f=a+64|0;if(c[f>>2]|0)_n(a,b);a:do if(c[b+16>>2]|0){d=0;while(1){if((d|0)==6)break;e=a+173788+(d<<2)|0;b=0;while(1){if((b|0)==16)break;c[(c[e>>2]|0)+(b<<2)>>2]=64;b=b+1|0}d=d+1|0}if(c[f>>2]|0){d=0;while(1){if((d|0)==6)break a;e=a+173812+(d<<2)|0;b=0;while(1){if((b|0)==64)break;c[(c[e>>2]|0)+(b<<2)>>2]=64;b=b+1|0}d=d+1|0}}}while(0);return}function kp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Mb;Mb=Mb+16|0;j=k+4|0;i=k;e=xo(j,d)|0;do if((e|0)>=0){f=d+8|0;h=c[j>>2]|0;a:while(1){switch(a[c[f>>2]>>0]|0){case 43:case 45:break;default:{f=8;break a}}e=xo(i,d)|0;if((e|0)<0){f=5;break}g=c[i>>2]|0;e=FK(21,h,g)|0;if(!e){f=7;break}else h=e}if((f|0)==5){c[j>>2]=h;UH(h);break}else if((f|0)==7){c[j>>2]=0;UH(h);UH(g);e=-12;break}else if((f|0)==8){c[j>>2]=h;c[b>>2]=h;e=0;break}}while(0);Mb=k;return e|0}function lp(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=0;f=0;g=0;h=0;while(1){if((e|0)==4)break;i=a+((H(e,b)|0)+-1)|0;i=f+(d[i>>0]|0)+(d[a+(e-b)>>0]|0)|0;j=e+4|0;k=a+((H(j,b)|0)+-1)|0;e=e+1|0;f=i;g=g+(d[a+(j-b)>>0]|0)|0;h=h+(d[k>>0]|0)|0}i=H((f+4|0)>>>3,16843009)|0;j=H((g+2|0)>>>2,16843009)|0;k=(h+2|0)>>>2;f=(h+4+g|0)>>>3;e=0;while(1){if((e|0)==4)break;h=a+(H(e,b)|0)|0;c[h>>2]=i;c[h+4>>2]=j;e=e+1|0}g=H(k,16843009)|0;f=H(f,16843009)|0;e=4;while(1){if((e|0)==8)break;k=a+(H(e,b)|0)|0;c[k>>2]=g;c[k+4>>2]=f;e=e+1|0}return}function mp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=XJ((d+2|0)>>>2|0,0,65537,65537)|0;i=M()|0;d=XJ((g+2|0)>>>2|0,0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==4)break;g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}b=4;while(1){if((b|0)==8)break;k=a+((H(b,j)|0)<<1)|0;g=k;c[g>>2]=h;c[g+4>>2]=i;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function np(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=d[b+-1>>0]|0;k=d[b+(e+-1)>>0]|0;c=e<<1;j=d[b+(c+-1)>>0]|0;g=e*3|0;f=a[b+(g+-1)>>0]|0;h=f&255;l=k+1|0;a[b>>0]=(l+m|0)>>>1;i=j+2|0;a[b+1>>0]=(i+m+(k<<1)|0)>>>2;l=(l+j|0)>>>1&255;a[b+e>>0]=l;a[b+2>>0]=l;k=(h+2+k+(j<<1)|0)>>>2&255;a[b+(e+1)>>0]=k;a[b+3>>0]=k;j=(j+1+h|0)>>>1&255;a[b+c>>0]=j;a[b+(e+2)>>0]=j;h=(i+h+(h<<1)|0)>>>2&255;a[b+(c|1)>>0]=h;a[b+(e+3)>>0]=h;a[b+(g+3)>>0]=f;a[b+(g+2)>>0]=f;a[b+(c+2)>>0]=f;a[b+g>>0]=f;a[b+(g+1)>>0]=f;a[b+(c+3)>>0]=f;return}function op(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0;k=b+48|0;l=b+52|0;g=0;while(1){if((g|0)>=(e|0))break;j=+f[c+(g<<6)+48>>2];h=0;i=j*+f[k>>2];j=j*+f[l>>2];while(1){if((h|0)==6)break;o=+f[b+(h<<3)>>2];q=+f[b+(h<<3)+4>>2];s=12-h|0;n=+f[b+(s<<3)>>2];p=+f[b+(s<<3)+4>>2];r=+f[c+(g<<6)+(h<<3)>>2];m=+f[c+(g<<6)+(h<<3)+4>>2];h=h+1|0;i=i+((o+n)*r-(q-p)*m);j=j+(r*(q+p)+(o-n)*m)}s=H(g,d)|0;f[a+(s<<3)>>2]=i;f[a+(s<<3)+4>>2]=j;g=g+1|0}return}function pp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+16|0;h=j;i=b+68|0;a:do if((c[a+68>>2]|0)>=(c[i>>2]|0)?(e=b+72|0,(c[a+72>>2]|0)>=(c[e>>2]|0)):0){f=a+80|0;g=kt(c[f>>2]|0)|0;d=0;while(1){if((d|0)>=(g|0))break;if(!(c[a+(d<<2)>>2]|0)){d=-22;break a}if(!(c[b+(d<<2)>>2]|0)){d=-22;break a}else d=d+1|0}c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];Mw(a,a+32|0,h,b+32|0,c[f>>2]|0,c[i>>2]|0,c[e>>2]|0);d=0}else d=-22;while(0);Mb=j;return d|0}function qp(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=10}else f=10;while(0);if((f|0)==10){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function rp(a){a=a|0;var b=0.0,d=0,e=0,h=0;b=+f[a+68>>2];if(!(b>0.0))if((xO(c[a+20>>2]|0)|0)<3)b=1.0;else{h=(xO(c[a+16>>2]|0)|0)<3;b=h?1.0:2147483647.0}h=a+13456|0;Wp(h|0,0,32768)|0;d=a+24|0;e=a+32|0;h=Pc(c[d>>2]|0,c[d+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0,+f[a+56>>2],+f[a+52>>2],+f[a+60>>2],b,+f[a+64>>2],h,64,c[a+72>>2]|0,a)|0;a:do if((h|0)>-1?(c[a+16>>2]|0)==8:0){e=0;while(1){if((e|0)==64)break a;d=0;while(1){if((d|0)==64)break;f[a+46224+(e<<8)+(d<<2)>>2]=+g[a+13456+(e<<9)+(d<<3)>>3];d=d+1|0}e=e+1|0}}while(0);return h|0}function sp(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=0;while(1){if((h|0)==4)break;n=b+(H(h,g)|0)|0;o=n;n=n+4|0;k=e+(h<<3)|0;m=k;k=k+4|0;i=a+(H(h,f)|0)|0;j=i;l=c[j>>2]|0;j=c[j+4>>2]|0;k=QI(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;k=QI(l,j,k,M()|0)|0;j=M()|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function tp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;Wp(d|0,0,10240)|0;h=c[b+76>>2]|0;g=0;while(1){if((g|0)==(h|0))break;a=8;while(1){if((a|0)==40)break;i=a+-8|0;c[d+(g*320|0)+(a<<3)>>2]=c[e+(f<<13)+(i<<8)+(g<<3)>>2];c[d+(g*320|0)+(a<<3)+4>>2]=c[e+(f<<13)+(i<<8)+(g<<3)+4>>2];a=a+1|0}g=g+1|0}f=1-f|0;h=c[b+72>>2]|0;g=0;while(1){if((g|0)==(h|0))break;a=0;while(1){if((a|0)==8)break;i=a+24|0;c[d+(g*320|0)+(a<<3)>>2]=c[e+(f<<13)+(i<<8)+(g<<3)>>2];c[d+(g*320|0)+(a<<3)+4>>2]=c[e+(f<<13)+(i<<8)+(g<<3)+4>>2];a=a+1|0}g=g+1|0}return 0}function up(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=Mb;Mb=Mb+16|0;k=l+8|0;h=l;i=l+12|0;if((f+-16|0)>>>0<=2147483614){g=f+16|0;j=jx(f+17|0)|0;if(!j)f=-12;else{f=0;while(1){if((f|0)>=(g|0))break;m=(Hz(d,8)|0)&255;a[j+f>>0]=m;f=f+1|0}a[j+f>>0]=0;g=j+16|0;c[h>>2]=i;d=(kN(g,170712,h)|0)==1;f=c[i>>2]|0;if(d&(f|0)>0)c[b>>2]=f;if(d&(f|0)==1?(ev(g,170727,16)|0)==0:0)c[b>>2]=67;if(hu(g)|0){c[k>>2]=g;Xw(e,48,170744,k)}gV(j);f=0}}else f=-1094995529;Mb=l;return f|0}function vp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if((Hz(b,12)|0)==4095){zU(b);gO(b,2);g=uL(b)|0;h=Hz(b,2)|0;i=Hz(b,4)|0;j=c[76368+(i<<2)>>2]|0;if(j){zU(b);f=Hz(b,3)|0;zU(b);zU(b);zU(b);zU(b);e=Hz(b,13)|0;if((e|0)<7)e=-67308554;else{gO(b,11);b=Hz(b,2)|0;a[d+13>>0]=h+1;a[d+15>>0]=f;a[d+12>>0]=g;h=b+1|0;a[d+16>>0]=h;a[d+14>>0]=i;c[d>>2]=j;i=h<<10;c[d+4>>2]=i;j=((H(j<<3,e)|0)>>>0)/(i>>>0)|0;c[d+8>>2]=j}}else e=-50531338}else e=-16976906;return e|0}function wp(){var b=0,c=0,e=0,f=0,g=0,h=0,i=0;g=0;while(1){if((g|0)==7)break;i=-1<<g;h=0;while(1){if((h|0)==256)break;c=(h&32640|0)==0;c=(c?0:8)+(d[91312+(c?h<<1:h>>>7)>>0]|0)|0;e=8-c|0;f=e+1|0;b=f+g|0;do if((b|0)>=9)if(!c){a[1042016+(g<<9)+(h<<1)>>0]=108;b=8;break}else{a[1042016+(g<<9)+(h<<1)>>0]=e+100;b=f&255;break}else{f=(h&65280|0)==0;e=(e<<g)+i+(h>>>((f?0:8)-g+(d[91312+(f?h:h>>>8)>>0]|0)|0))|0;f=e&1;a[1042016+(g<<9)+(h<<1)>>0]=((e+2|0)>>>1^0-f)+f;b=b&255}while(0);a[1042016+(g<<9)+(h<<1)+1>>0]=b;h=h+1|0}g=g+1|0}return}function xp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Mb;Mb=Mb+16|0;g=h;e=c[a+4>>2]|0;c[a+26988>>2]=0;f=(d|0)!=0;if(!f?(c[e+808>>2]&1|0)!=0:0)b=0;else{if(!(c[a+25672>>2]|0)){b=bd(a)|0;c[a+28232>>2]=c[a+28212>>2];c[a+28236>>2]=c[a+28208>>2]}else b=0;c[a+28244>>2]=c[a+28240>>2];c[a+28248>>2]=c[a+28228>>2]}d=c[e+704>>2]|0;if(d){b=Vb[c[d+36>>2]&31](e)|0;if((b|0)<0)Xw(e,16,197604,g)}if(!f?(c[a+25672>>2]|0)==0:0)Js((c[a+24312>>2]|0)+4|0,2147483647,(c[a+26364>>2]|0)==2&1);c[a+29544>>2]=0;Mb=h;return b|0}function yp(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;g=b+c|0;e=a[b+5>>0]&31;b=b+6|0;while(1){if(!e){f=6;break}c=((cU(d[b>>0]|d[b+1>>0]<<8|0)|0)&65535)+2|0;if((c|0)>(g-b|0)){c=0;break}if((a[b+2>>0]&-97)<<24>>24!=7){c=0;break}e=e+-1|0;b=b+c|0}a:do if((f|0)==6){c=a[b>>0]|0;if(!(c<<24>>24))c=0;else{e=c&255;c=b+1|0;while(1){if(!e){c=1;break a}b=((cU(d[c>>0]|d[c+1>>0]<<8|0)|0)&65535)+2|0;if((b|0)>(g-c|0)){c=0;break a}if((a[c+2>>0]&-97)<<24>>24!=8){c=0;break a}e=e+-1|0;c=c+b|0}}}while(0);return c|0}function zp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;m=b+8|0;n=d+16|0;o=b+12|0;p=d+24|0;q=b+16|0;r=d+32|0;h=b+4|0;i=d+56|0;j=b+20|0;k=d+88|0;l=a+4|0;f=0;while(1){if((f|0)>=(e|0))break;s=+g[(c[m>>2]|0)+(f<<3)>>3]*+g[n>>3]+ +g[(c[o>>2]|0)+(f<<3)>>3]*+g[p>>3];g[(c[a>>2]|0)+(f<<3)>>3]=s+ +g[(c[b>>2]|0)+(f<<3)>>3]*+g[d>>3]+ +g[(c[q>>2]|0)+(f<<3)>>3]*+g[r>>3];g[(c[l>>2]|0)+(f<<3)>>3]=s+ +g[(c[h>>2]|0)+(f<<3)>>3]*+g[i>>3]+ +g[(c[j>>2]|0)+(f<<3)>>3]*+g[k>>3];f=f+1|0}return}function Ap(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=Mb;Mb=Mb+32|0;f=h;e=a[d>>0]|0;a:do if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){Wp(f|0,0,32)|0;e=a[d>>0]|0;if(e<<24>>24)do{j=e&255;i=f+(j>>>5<<2)|0;c[i>>2]=c[i>>2]|1<<(j&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;if(!(d<<24>>24))e=b;else{e=b;do{j=d&255;if(c[f+(j>>>5<<2)>>2]&1<<(j&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}}else g=3;while(0);if((g|0)==3)e=dp(b,e<<24>>24)|0;Mb=h;return e-b|0}function Bp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;m=b+8|0;n=d+8|0;o=b+12|0;p=d+12|0;q=b+16|0;r=d+16|0;h=b+4|0;i=d+28|0;j=b+20|0;k=d+44|0;l=a+4|0;g=0;while(1){if((g|0)>=(e|0))break;s=+f[(c[m>>2]|0)+(g<<2)>>2]*+f[n>>2]+ +f[(c[o>>2]|0)+(g<<2)>>2]*+f[p>>2];f[(c[a>>2]|0)+(g<<2)>>2]=s+ +f[(c[b>>2]|0)+(g<<2)>>2]*+f[d>>2]+ +f[(c[q>>2]|0)+(g<<2)>>2]*+f[r>>2];f[(c[l>>2]|0)+(g<<2)>>2]=s+ +f[(c[h>>2]|0)+(g<<2)>>2]*+f[i>>2]+ +f[(c[j>>2]|0)+(g<<2)>>2]*+f[k>>2];g=g+1|0}return}function Cp(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=21296+(0-(d[b+~c>>0]|0))|0;n=b+(0-c)|0;f=n+1|0;g=n+2|0;h=n+3|0;i=n+4|0;j=n+5|0;k=n+6|0;l=n+7|0;e=0;while(1){if((e|0)==8)break;o=m+(d[b+-1>>0]|0)|0;a[b>>0]=a[o+(d[n>>0]|0)>>0]|0;a[b+1>>0]=a[o+(d[f>>0]|0)>>0]|0;a[b+2>>0]=a[o+(d[g>>0]|0)>>0]|0;a[b+3>>0]=a[o+(d[h>>0]|0)>>0]|0;a[b+4>>0]=a[o+(d[i>>0]|0)>>0]|0;a[b+5>>0]=a[o+(d[j>>0]|0)>>0]|0;a[b+6>>0]=a[o+(d[k>>0]|0)>>0]|0;a[b+7>>0]=a[o+(d[l>>0]|0)>>0]|0;b=b+c|0;e=e+1|0}return}function Dp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0;m=Mb;Mb=Mb+16|0;k=m;j=m+4|0;do if(!d)f=0;else{if(Ry(d,203839)|0)if(!(Zs(d,203844)|0))if(!(Zs(d,203873)|0)){c[j>>2]=0;h=gQ(d,j,10)|0;n=d+(hu(d)|0)|0;if((n|0)==(c[j>>2]|0)){f=h;l=6}}else{f=0;l=6}else{f=1;l=6}else{f=-1;l=6}if(((l|0)==6?(i=+(f|0),!(+g[b+24>>3]>i)):0)?!(+g[b+32>>3]<i):0){c[e>>2]=f;f=0;break}c[k>>2]=d;Xw(a,16,203905,k);f=-22}while(0);Mb=m;return f|0}function Ep(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=a+80|0;h=IP(c[f>>2]|0)|0;g=c[a+352>>2]|0;h=(h|0)==0?1:g;e=c[a+76>>2]|0;a:do if(((e|0)==(c[b+76>>2]|0)?(g|0)==(c[b+352>>2]|0):0)?(i=a+240|0,d=b+240|0,(c[i>>2]|0)==(c[d>>2]|0)?(c[i+4>>2]|0)==(c[d+4>>2]|0):0):0){d=c[a+64>>2]|0;b=b+64|0;a=0;while(1){if((a|0)>=(h|0))break;if(!(c[d+(a<<2)>>2]|0)){a=-22;break a}if(!(c[(c[b>>2]|0)+(a<<2)>>2]|0)){a=-22;break a}else a=a+1|0}Ip(d,c[b>>2]|0,0,0,e,g,c[f>>2]|0)|0;a=0}else a=-22;while(0);return a|0}function Fp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+16|0;i=j;g=j+8|0;c[g>>2]=0;do if(b){f=0;while(1){f=Ln(c[b>>2]|0,1104084,f,2)|0;if(!f){d=8;break}h=f+4|0;e=xd(a,c[f>>2]|0,c[h>>2]|0,d)|0;if((e|0)==-1414549496)e=Ef(g,c[f>>2]|0,c[h>>2]|0,0)|0;if((e|0)<0){d=7;break}}if((d|0)==7){h=c[h>>2]|0;c[i>>2]=c[f>>2];c[i+4>>2]=h;Xw(a,16,204002,i);qC(g);break}else if((d|0)==8){qC(b);c[b>>2]=c[g>>2];e=0;break}}else e=0;while(0);Mb=j;return e|0}function Gp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+16|0;h=j;g=0;while(1){if(g>>>0>=53){i=6;break}if(!(Ry(c[91904+(g*12|0)>>2]|0,e)|0)){i=4;break}g=g+1|0}if((i|0)==4){f=c[91904+(g*12|0)+8>>2]|0;e=c[91904+(g*12|0)+4>>2]|0;i=10}else if((i|0)==6)if((g|0)==53){e=gQ(e,h,10)|0;f=c[h>>2]|0;if(a[f>>0]|0){f=f+1|0;c[h>>2]=f}f=gQ(f,h,10)|0;if(!(a[c[h>>2]>>0]|0))i=10;else e=-22}else e=-22;if((i|0)==10)if((e|0)<1|(f|0)<1)e=-22;else{c[b>>2]=e;c[d>>2]=f;e=0}Mb=j;return e|0}function Hp(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=f;h=0;while(1){if((h|0)==8)break;a[c>>0]=(d[c>>0]|0)+(e[i>>1]|0);j=c+1|0;a[j>>0]=(d[j>>0]|0)+(e[i+2>>1]|0);j=c+2|0;a[j>>0]=(d[j>>0]|0)+(e[i+4>>1]|0);j=c+3|0;a[j>>0]=(d[j>>0]|0)+(e[i+6>>1]|0);j=c+4|0;a[j>>0]=(d[j>>0]|0)+(e[i+8>>1]|0);j=c+5|0;a[j>>0]=(d[j>>0]|0)+(e[i+10>>1]|0);j=c+6|0;a[j>>0]=(d[j>>0]|0)+(e[i+12>>1]|0);j=c+7|0;a[j>>0]=(d[j>>0]|0)+(e[i+14>>1]|0);i=i+16|0;c=c+g|0;h=h+1|0}c=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function Ip(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;k=(IP(h)|0)!=0;j=k?g:1;i=JP(h)|0;g=H(k?1:g,i)|0;i=H(g,f)|0;h=H(g,d)|0;g=H(g,e)|0;k=c[a>>2]|0;f=c[b>>2]|0;e=f;d=k;a:do if(((k>>>0<f>>>0?e-d|0:d-e|0)|0)<(i|0)){f=0;while(1){if((f|0)>=(j|0))break a;NE((c[a+(f<<2)>>2]|0)+h|0,(c[b+(f<<2)>>2]|0)+g|0,i|0)|0;f=f+1|0}}else{f=0;while(1){if((f|0)>=(j|0))break a;rk((c[a+(f<<2)>>2]|0)+h|0,(c[b+(f<<2)>>2]|0)+g|0,i|0)|0;f=f+1|0}}while(0);return 0}function Jp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=Mb;Mb=Mb+16|0;g=i+8|0;f=i;h=AJ(c[a+48>>2]|0,b)|0;do if(h){if(c[h+16>>2]&512|0?(c[a+672>>2]|0)>-2:0){c[g>>2]=c[h>>2];Xw(a,24,168712,g);e=-1163346256;break}b=c[h+56>>2]|0;if(b|0?(g=YQ(b)|0,c[(c[a+64>>2]|0)+60>>2]=g,(g|0)==0):0){e=-12;break}d=a+704|0;c[d>>2]=h;b=c[h+48>>2]|0;if((b|0)!=0?(e=Vb[b&31](a)|0,(e|0)<0):0){hM((c[a+64>>2]|0)+60|0);c[d>>2]=0}else e=0}else{c[f>>2]=d;Xw(a,16,168659,f);e=-2}while(0);Mb=i;return e|0}function Kp(a,b,d){a=a|0;b=+b;d=d|0;var e=0,h=0,i=0.0,j=0.0,k=0.0,l=0,m=0,n=0.0;m=Mb;Mb=Mb+8208|0;e=m+8192|0;l=m;k=b*3.141592653589793/+(d|0);k=k*k;if((d|0)>=1025){c[e>>2]=200829;c[e+4>>2]=200839;c[e+8>>2]=33;Xw(0,0,213444,e);ba()}e=0;i=0.0;while(1){if((e|0)>=(d|0))break;j=k*+(H(d-e|0,e)|0);h=50;b=1.0;while(1){if(!h)break;n=j*b/+(H(h,h)|0)+1.0;h=h+-1|0;b=n}n=i+b;g[l+(e<<3)>>3]=n;e=e+1|0;i=n}b=i+1.0;e=0;while(1){if((e|0)>=(d|0))break;n=+v(+(+g[l+(e<<3)>>3]/b));f[a+(e<<2)>>2]=n;e=e+1|0}Mb=m;return}function Lp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=d+4|0;hM(d);c[j>>2]=0;do if((b|0)!=0?(e=hu(b)|0,(e|0)!=0):0)if(!(e&1)){h=(e|0)/2|0;i=jx(h)|0;if(i){g=i;while(1){e=a[b>>0]|0;if(!(e<<24>>24)){b=10;break}e=pM(e)|0;f=pM(a[b+1>>0]|0)|0;if((f|e|0)<0){b=8;break}a[g>>0]=f|e<<4;b=b+2|0;g=g+1|0}if((b|0)==8){gV(i);e=-22;break}else if((b|0)==10){c[d>>2]=i;c[j>>2]=h;e=0;break}}else e=-12}else e=-22;else e=0;while(0);return e|0}function Mp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=a+44|0;j=c[i>>2]|0;h=a+40|0;a=0;while(1){if((a|0)>=(j|0)){g=6;break}f=c[h>>2]|0;if((c[f+(a*12|0)+8>>2]|0)==(b|0)){g=4;break}a=a+1|0}if((g|0)==4){j=f+(a*12|0)|0;gV(c[j>>2]|0);c[j>>2]=d;c[f+(a*12|0)+4>>2]=e;a=0}else if((g|0)==6){a=j+1|0;if(a>>>0<=83){a=MO(c[h>>2]|0,a*12|0)|0;if(!a)a=-12;else{c[h>>2]=a;c[a+(j*12|0)>>2]=d;c[a+(j*12|0)+4>>2]=e;c[a+(j*12|0)+8>>2]=b;c[i>>2]=(c[i>>2]|0)+1;a=0}}else a=-34}return a|0}function Np(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0.0,l=0,m=0.0,n=0,o=0;h=0;while(1){if((h|0)>=(g|0))break;n=h+g|0;i=g-h+-1|0;j=c[e+(n<<2)>>2]|0;l=c[e+(i<<2)>>2]|0;k=+f[b+(l<<3)+4>>2];m=+f[d+(i<<3)+4>>2];l=b+(l<<3)|0;o=d+(i<<3)|0;f[a+(i<<3)>>2]=k*m-+f[l>>2]*+f[o>>2];f[a+(n<<3)+4>>2]=k*+f[o>>2]+m*+f[l>>2];m=+f[b+(j<<3)+4>>2];k=+f[d+(n<<3)+4>>2];j=b+(j<<3)|0;l=d+(n<<3)|0;f[a+(n<<3)>>2]=m*k-+f[j>>2]*+f[l>>2];f[a+(i<<3)+4>>2]=m*+f[l>>2]+k*+f[j>>2];h=h+1|0}return}function Op(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=0;i=0;a=e;while(1){if((h|0)>=(g|0))break;e=(c[1046624+((d[b>>0]|0)-(d[a>>0]|0)<<2)>>2]|0)+i+(c[1046624+((d[b+1>>0]|0)-(d[a+1>>0]|0)<<2)>>2]|0)+(c[1046624+((d[b+2>>0]|0)-(d[a+2>>0]|0)<<2)>>2]|0)+(c[1046624+((d[b+3>>0]|0)-(d[a+3>>0]|0)<<2)>>2]|0)+(c[1046624+((d[b+4>>0]|0)-(d[a+4>>0]|0)<<2)>>2]|0)+(c[1046624+((d[b+5>>0]|0)-(d[a+5>>0]|0)<<2)>>2]|0)+(c[1046624+((d[b+6>>0]|0)-(d[a+6>>0]|0)<<2)>>2]|0)+(c[1046624+((d[b+7>>0]|0)-(d[a+7>>0]|0)<<2)>>2]|0)|0;b=b+f|0;h=h+1|0;i=e;a=a+f|0}return i|0}function Pp(a,b){a=a|0;b=b|0;var d=0;a:do switch(b|0){case 0:break;case 1:{if(!(c[a>>2]|0)){b=jx(28)|0;if(!b){b=-12;break a}d=rU(b,0)|0;if(d|0){gV(b);b=0-d|0;break a}if(TO(a,0,b)|0){jV(b)|0;gV(b)}}a=jV(c[a>>2]|0)|0;return ((a|0)==0?0:0-a|0)|0}case 2:{b=jV(c[a>>2]|0)|0;b=(b|0)==0?0:0-b|0;break}case 3:{if(c[a>>2]|0)jV(c[a>>2]|0)|0;gV(c[a>>2]|0);TO(a,c[a>>2]|0,0)|0;b=0;break}default:b=1}while(0);return b|0}function Qp(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=1<<c[a>>2];h=a+8|0;e=a+4|0;f=g+-1|0;d=0;while(1){if((d|0)>=(g|0))break;a:do if(!(aF(d,g)|0)){a=0;while(1){if((a|0)==16)break a;j=a+d|0;i=c[h>>2]|0;i=i+((f&0-(vx(j,g,c[e>>2]|0)|0))<<1)|0;b[i>>1]=j>>>1&3|j&65528|j<<2&4;a=a+1|0}}else{a=0;while(1){if((a|0)==16)break a;i=(c[80336+(a<<2)>>2]|0)+d&65535;j=c[h>>2]|0;j=j+((f&0-(vx(a+d|0,g,c[e>>2]|0)|0))<<1)|0;b[j>>1]=i;a=a+1|0}}while(0);d=d+16|0}return}function Rp(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==2)break;j=c+2|0;i=c+-2|0;k=c+4|0;l=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;a=c+6|0;l=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+l+(e[a>>1]|0)>>5;b[d>>1]=l>>>0<16384?l:(l^-2147483648)>>31&16383;a=H((e[a>>1]|0)+(e[c>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+8>>1]|0)>>5;b[d+2>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function Sp(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>>1;g=d;f=a;a=0;while(1){if((a|0)==8)break;b[f>>1]=(c[g>>2]|0)+(e[f>>1]|0);i=f+2|0;b[i>>1]=(c[g+4>>2]|0)+(e[i>>1]|0);i=f+4|0;b[i>>1]=(c[g+8>>2]|0)+(e[i>>1]|0);i=f+6|0;b[i>>1]=(c[g+12>>2]|0)+(e[i>>1]|0);i=f+8|0;b[i>>1]=(c[g+16>>2]|0)+(e[i>>1]|0);i=f+10|0;b[i>>1]=(c[g+20>>2]|0)+(e[i>>1]|0);i=f+12|0;b[i>>1]=(c[g+24>>2]|0)+(e[i>>1]|0);i=f+14|0;b[i>>1]=(c[g+28>>2]|0)+(e[i>>1]|0);g=g+32|0;f=f+(h<<1)|0;a=a+1|0}Wp(d|0,0,256)|0;return}function Tp(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0;g=(Hz(b,2)|0)+1|0;c[a>>2]=g;g=Hz(b,6)|0;a:do if((g|0)<(f|0)?(h=a+8|0,c[h>>2]=e[d+(g<<1)>>1],g=Hz(b,5)|0,g=(c[h>>2]|0)+g|0,c[h>>2]=g,h=d+(f<<1)|0,(g|0)<(e[h>>1]|0|0)):0){d=Hz(b,4)|0;c[a+24>>2]=d;d=1;while(1){if((d|0)>=(c[a>>2]|0)){d=0;break a}g=Hz(b,5)|0;g=(c[a+8+(d+-1<<2)>>2]|0)+g|0;c[a+8+(d<<2)>>2]=g;if((g|0)>=(e[h>>1]|0|0)){d=-1;break a}g=Hz(b,4)|0;c[a+24+(d<<2)>>2]=g;d=d+1|0}}else d=-1;while(0);return d|0}function Up(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==2)break;j=c+2|0;i=c+-2|0;k=c+4|0;l=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;a=c+6|0;l=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+l+(e[a>>1]|0)>>5;b[d>>1]=l>>>0<4096?l:(l^-2147483648)>>31&4095;a=H((e[a>>1]|0)+(e[c>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+8>>1]|0)>>5;b[d+2>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function Vp(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==2)break;j=c+2|0;i=c+-2|0;k=c+4|0;l=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;a=c+6|0;l=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+l+(e[a>>1]|0)>>5;b[d>>1]=l>>>0<1024?l:(l^-2147483648)>>31&1023;a=H((e[a>>1]|0)+(e[c>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+8>>1]|0)>>5;b[d+2>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function Wp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;i=d|d<<8|d<<16|d<<24;g=f-64|0;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function Xp(a,b){a=a|0;b=b|0;var d=0,e=0;d=pn(a,b)|0;do if((d|0)>=0){d=c[b>>2]|0;if(!d){e=b+28|0;d=OD(a,c[e>>2]|0)|0;if((d|0)<0)e=10;else{d=c[e>>2]|0;if(d|0)rk(c[(c[a>>2]|0)+4>>2]|0,c[b+24>>2]|0,d|0)|0;c[a+24>>2]=c[(c[a>>2]|0)+4>>2];d=e;e=9}}else{e=$H(d)|0;c[a>>2]=e;if(!e){d=-12;e=10}else{c[a+24>>2]=c[b+24>>2];d=b+28|0;e=9}}if((e|0)==9){c[a+28>>2]=c[d>>2];d=0;break}else if((e|0)==10){ZI(a);break}}while(0);return d|0}function Yp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=c[a+28588>>2]|0;c[a+24312>>2]=0;c[a+26368>>2]=0;h=0;f=1;while(1){g=c[a+28588+(f<<2)>>2]|0;if(!g)break;if(c[(c[g>>2]|0)+84>>2]|0)break;if(c[g+92>>2]|0)break;k=(c[g+84>>2]|0)<(c[i+84>>2]|0);i=k?g:i;h=k?f:h;f=f+1|0}g=h;f=c[a+28588+(h<<2)>>2]|0;while(1){if(!f)break;k=g+1|0;f=c[a+28588+(k<<2)>>2]|0;c[a+28588+(g<<2)>>2]=f;g=k}if((i|0)!=0?(j=i+640|0,c[j>>2]=c[j>>2]&-5,j=Mm(a,b,i,d)|0,(j|0)<0):0)e=j;return e|0}function Zp(c,d){c=c|0;d=d|0;var e=0;e=(Hz(d,8)|0)&255;a[c>>0]=e;switch(e<<24>>24){case 0:{e=(Hz(d,8)|0)&255;a[c+1>>0]=e;switch(e<<24>>24){case 2:{e=(Hz(d,16)|0)&65535;b[c+2>>1]=e;break}case 3:{e=(Hz(d,16)|0)&65535;b[c+4>>1]=e;break}default:{}}e=(Hz(d,8)|0)&255;a[c+6>>0]=e;e=(Hz(d,8)|0)&255;a[c+7>>0]=e;e=(Hz(d,8)|0)&255;a[c+8>>0]=e;e=(Hz(d,8)|0)&255;a[c+9>>0]=e;break}case 1:{e=(Hz(d,8)|0)&255;a[c+10>>0]=e;e=(Hz(d,16)|0)&65535;b[c+12>>1]=e;break}default:{}}return}function _p(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==2)break;j=c+2|0;i=c+-2|0;k=c+4|0;l=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;a=c+6|0;l=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+l+(e[a>>1]|0)>>5;b[d>>1]=l>>>0<512?l:(l^-2147483648)>>31&511;a=H((e[a>>1]|0)+(e[c>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+8>>1]|0)>>5;b[d+2>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function $p(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=f+(H(e,-3)|0)|0;while(1){if(a>>>0>=g>>>0)break;i=c[b>>2]|0;h=a;c[h>>2]=0;c[h+4>>2]=i;h=b+d|0;i=a+e|0;k=c[h>>2]|0;j=i;c[j>>2]=0;c[j+4>>2]=k;h=h+d|0;i=i+e|0;j=c[h>>2]|0;k=i;c[k>>2]=0;c[k+4>>2]=j;h=h+d|0;i=i+e|0;k=c[h>>2]|0;j=i;c[j>>2]=0;c[j+4>>2]=k;a=i+e|0;b=h+d|0}while(1){if(a>>>0>=f>>>0)break;j=c[b>>2]|0;k=a;c[k>>2]=0;c[k+4>>2]=j;a=a+e|0;b=b+d|0}return}function aq(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=d<<24>>24;a:while(1){if(!b){b=0;break}if(!(a[b>>0]|0)){b=0;break}h=c;while(1){if(!h)break;e=a[h>>0]|0;if(!(e<<24>>24))break;g=0;while(1){f=a[b+g>>0]|0;j=f<<24>>24;k=e<<24>>24;if(f<<24>>24!=e<<24>>24?!((H(k,j)|0)==0&(k+j|0)==(i|0)):0)break;if(g|0?(f<<24>>24==0?1:f<<24>>24==d<<24>>24):0){b=1;break a}e=g+1|0;g=e;e=a[h+e>>0]|0}k=bQ(h,i)|0;h=k+((k|0)!=0&1)|0}k=bQ(b,i)|0;b=k+((k|0)!=0&1)|0}return b|0}function bq(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;j=0;while(1){if((j|0)>=(i|0))break;m=H(j,g)|0;k=b+m|0;l=H(j,h)|0;n=e+l|0;n=lT(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24)|0;k=H(j,f)|0;c[a+k>>2]=n;m=b+(m+4)|0;l=e+(l+4)|0;l=lT(d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0;c[a+(k+4)>>2]=l;j=j+1|0}return}function cq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0.0;k=(c|0)==0&1;g=0;while(1){if((g|0)==32)break;i=+f[a+48>>2];j=+f[a+52>>2];d=0.0;e=0.0;h=0;while(1){if(h>>>0>=6)break;m=h|1;n=+f[77360+(m<<2)>>2];l=12-h+-1|0;d=d+n*(+f[a+(m<<3)+4>>2]+ +f[a+(l<<3)+4>>2]);e=e+n*(+f[a+(m<<3)>>2]+ +f[a+(l<<3)>>2]);h=h+2|0}i=i*.5;n=j*.5;f[b+(c<<8)+(g<<3)>>2]=i+e;f[b+(c<<8)+(g<<3)+4>>2]=n+d;f[b+(k<<8)+(g<<3)>>2]=i-e;f[b+(k<<8)+(g<<3)+4>>2]=n-d;a=a+8|0;g=g+1|0}return}function dq(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0;h=Mb;Mb=Mb+16|0;g=h;e=a+8|0;f=c[e>>2]|0;b=(c[a>>2]|0)+(f>>>3)|0;b=(kS(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(f&7);do if(b>>>0<=134217727){j=b>>>0>65535;i=j?b>>>16:b;j=j?16:0;a=(i&65280|0)==0;i=(a?j:j|8)+(d[91312+(a?i:i>>>8)>>0]|0)|0;a=i<<1;c[e>>2]=f+63-a;if(i>>>0<19){Xw(0,16,200770,g);a=-1094995529;break}else{a=(b>>>(a+-31|0))+-1|0;break}}else{a=b>>>23;c[e>>2]=f+(d[72672+a>>0]|0);a=d[73184+a>>0]|0}while(0);Mb=h;return a|0}function eq(b){b=b|0;var d=0;d=b+241|0;if(a[d>>0]|0){a[d>>0]=0;ma(c[b+112>>2]|0);ma(c[b+116>>2]|0);Ca(c[b+92>>2]|0)|0;uS(c[b+88>>2]|0);vJ(c[b+96>>2]|0)|0;vK(c[b+100>>2]|0);d=b+108|0;if(c[d>>2]|0)QP(d);d=b+104|0;if(c[d>>2]|0)yM(d);d=b+232|0;if(c[d>>2]|0){px(b+152|0);Hj(c[d>>2]|0)|0;c[d>>2]=0}d=b+236|0;if(!(c[d>>2]|0))b=0;else{px(b+192|0);Hj(c[d>>2]|0)|0;c[d>>2]=0;b=0}}else b=-1;return b|0}function fq(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=Mb;Mb=Mb+272|0;i=k;h=k+256|0;j=i+128|0;c[a+4312>>2]=0;hc[c[a+2964>>2]&255](i,d,e,f);g=j;d=i;e=g+128|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0));g=a+1920|0;d=_b[c[a+6248>>2]&63](a,i,0,c[g>>2]|0,h)|0;c[a+16>>2]=d;hc[c[a+6240>>2]&255](a,i,0,c[g>>2]|0);bJ(i);g=0;d=0;while(1){if((d|0)==64)break;a=(b[i+(d<<1)>>1]|0)-(b[j+(d<<1)>>1]|0)|0;g=(H(a,a)|0)+g|0;d=d+1|0}Mb=k;return g|0}function gq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;d=a+27e3|0;g=c[d>>2]|0;f=c[a+26992>>2]|0;e=(H(f+1|0,g)|0)+1|0;h=H(f<<4,c[a+26996>>2]<<2|1)|0;i=lJ(e+g|0,20)|0;b=a+29904|0;c[b>>2]=i;e=lJ((c[d>>2]|0)+e<<2,20)|0;d=a+29908|0;c[d>>2]=e;h=lJ(h+16|0,20)|0;e=a+29912|0;c[e>>2]=h;f=lJ(H(g<<2,f)|0,20)|0;a=a+29916|0;c[a>>2]=f;if(((c[b>>2]|0)!=0?(c[d>>2]|0)!=0:0)?!((f|0)==0|(c[e>>2]|0)==0):0)a=0;else{QL(b);QL(d);QL(e);QL(a);a=-12}return a|0}function hq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(a|0?(d=c[a>>2]|0,d|0):0){e=(c[d+4>>2]|0)+(((c[d+116>>2]|0)==0)<<31>>31)|0;c[d+104>>2]=1;b=0;while(1){if((b|0)>=(e|0))break;g=c[d>>2]|0;f=g+(b*88|0)+4|0;jV(f)|0;c[g+(b*88|0)+84>>2]=0;xb(g+(b*88|0)+32|0)|0;jV(f)|0;b=b+1|0}b=0;while(1){if((b|0)>=(e|0))break;g=c[d>>2]|0;Ab(c[g+(b*88|0)+80>>2]|0,0)|0;vb(g+(b*88|0)+32|0)|0;jV(g+(b*88|0)+4|0)|0;b=b+1|0}vb(d+52|0)|0;jV(d+24|0)|0;hM(d);hM(a)}return}function iq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=Mb;Mb=Mb+288|0;l=m+264|0;k=m+256|0;h=m;i=m+276|0;j=m+272|0;if((e|0)>=69){Hz(d,13)|0;g=0;e=e+-13|0;while(1){f=g+1|0;if(!((e|0)>7&f>>>0<256))break;n=(Hz(d,8)|0)&255;a[h+g>>0]=n;g=f;e=e+-8|0}a[h+g>>0]=0;f=b+4|0;g=c[f>>2]|0;if(c[g+680>>2]&1|0){c[k>>2]=h;Xw(g,48,187899,k)}c[l>>2]=i;c[l+4>>2]=j;if((kN(h,187908,l)|0)==2)c[(c[(c[f>>2]|0)+64>>2]|0)+56>>2]=1024}qK(d,e);Mb=m;return}function jq(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+6)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:(k^-2147483648)>>31&16383;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:(k^-2147483648)>>31&16383;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:(k^-2147483648)>>31&16383;c=c+(j<<1)|0;h=h+1|0}return}function kq(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+4)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:(k^-2147483648)>>31&4095;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:(k^-2147483648)>>31&4095;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:(k^-2147483648)>>31&4095;c=c+(j<<1)|0;h=h+1|0}return}function lq(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+2)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:(k^-2147483648)>>31&1023;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:(k^-2147483648)>>31&1023;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:(k^-2147483648)>>31&1023;c=c+(j<<1)|0;h=h+1|0}return}function mq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a:do if((c|0)<7)c=-1094995529;else{if((Hz(b,8)|0)==255){gO(b,8);c=c+-8|0}else c=c+-7|0;gO(b,8);gO(b,8);d=QG(b,32)|0;b:do if((d|0)<1195456820){switch(d|0){case 1146373937:break;default:break b}c=qx(a+20|0,b,c)|0;break a}else{switch(d|0){case 1195456820:break;default:break b}c=yk(a+28|0,b,c)|0;break a}while(0);gO(b,c<<3);c=0}while(0);return c|0}function nq(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+1)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:(k^-2147483648)>>31&511;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:(k^-2147483648)>>31&511;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:(k^-2147483648)>>31&511;c=c+(j<<1)|0;h=h+1|0}return}function oq(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a[b>>0]|0;a:do if(!(d<<24>>24)){d=0;g=9}else while(1){f=a[c>>0]|0;if(!(f<<24>>24)){g=9;break a}e=d;d=d&255;while(1){if(!((d+-48|0)>>>0>10&((d|32)+-97|0)>>>0>26)){d=e;break}b=b+1|0;d=a[b>>0]|0;if(!(d<<24>>24)){d=0;break}else{e=d;d=d&255}}if((d|32)<<24>>24!=f<<24>>24){d=1;break a}b=b+1|0;c=c+1|0;d=a[b>>0]|0;if(!(d<<24>>24)){d=0;g=9;break}}while(0);if((g|0)==9)d=d<<24>>24!=(a[c>>0]|0)&1;return d|0}function pq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=Mb;Mb=Mb+32|0;g=h+16|0;f=h+8|0;e=h;do if((c[b+112>>2]&1|0)==0?(c[b+76>>2]|0)!=0:0){if(8?Pp(1103360,1)|0:0){d=-1;break}if((wR(1)|0)==1)if(!(c[275837]|0)){c[275837]=1;d=0;break}else{c[g>>2]=185424;c[g+4>>2]=185241;c[g+8>>2]=2016;Xw(0,0,213444,g);ba()}else{c[e>>2]=c[275841];Xw(a,16,185260,e);if(!8)Xw(a,16,185366,f);c[275837]=1;nv(b)|0;d=-22;break}}else d=0;while(0);Mb=h;return d|0}function qq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=(a[f+12>>0]|0)!=0;g=(a[f+13>>0]|0)!=0;h=f+4|0;if((c[h>>2]|0)==3){Wp(e|0,0,1792)|0;f=b+5404|0;j=e+1792|0;hc[c[c[f>>2]>>2]&255](j,j,g?288832:214112,128)}else{f=b+5404|0;hc[c[c[f>>2]>>2]&255](e,e,g?284736:217696,1024)}f=c[(c[f>>2]|0)+28>>2]|0;g=e+4096|0;if((c[h>>2]|0)==1){j=e+5888|0;hc[f&255](j,j,i?288832:214112,128);Wp(e+6400|0,0,1792)|0}else hc[f&255](g,g,i?284736:217696,1024);gc[c[b+5372>>2]&1023](b+5324|0,d,e);return}function rq(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;j=c[e+(f<<2)>>2]|0;i=((j|0)<0)<<31>>31;e=c[e+(g<<2)>>2]|0;g=((e|0)<0)<<31>>31;f=0;while(1){if((f|0)>=(h|0))break;n=c[b+(f<<2)>>2]|0;n=XJ(n|0,((n|0)<0)<<31>>31|0,j|0,i|0)|0;m=M()|0;l=c[d+(f<<2)>>2]|0;l=XJ(l|0,((l|0)<0)<<31>>31|0,e|0,g|0)|0;k=M()|0;m=SO(n|0,m|0,16384,0)|0;k=SO(m|0,M()|0,l|0,k|0)|0;k=oN(k|0,M()|0,15)|0;M()|0;c[a+(f<<2)>>2]=k;f=f+1|0}return}function sq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0;d=c[a+8>>2]|0;f=c[a+64>>2]|0;h=1<<c[a>>2];g=a+12|0;a:do if(!d){a=0;while(1){if((a|0)>=(h|0))break a;j=b+(a<<3)|0;i=c[j+4>>2]|0;d=(c[g>>2]|0)+(c[f+(a<<2)>>2]<<3)|0;c[d>>2]=c[j>>2];c[d+4>>2]=i;a=a+1|0}}else{a=0;while(1){if((a|0)>=(h|0))break a;f=b+(a<<3)|0;i=c[f+4>>2]|0;j=(c[g>>2]|0)+((e[d+(a<<1)>>1]|0)<<3)|0;c[j>>2]=c[f>>2];c[j+4>>2]=i;a=a+1|0}}while(0);rk(b|0,c[g>>2]|0,h<<3|0)|0;return}function tq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Mb;Mb=Mb+16|0;i=k;h=c[a+64>>2]|0;g=h+36|0;h=h+32|0;e=(c[g>>2]|0)+-1|0;while(1){if((e|0)<=-1){d=-11;break}d=_P(c[(c[h>>2]|0)+(e<<2)>>2]|0,b)|0;if((d|0)!=-11){f=(d|0)<0;if(f&(d|0)!=-541478725)break;if((e|0)==((c[g>>2]|0)+-1|0))break;e=e+1|0;d=bt(c[(c[h>>2]|0)+(e<<2)>>2]|0,f?0:b)|0;if((d|0)<0){j=9;break}else d=e}else d=e+-1|0;e=d}if((j|0)==9){Xw(a,16,167608,i);gP(b)}Mb=k;return d|0}function uq(b){b=b|0;var e=0,f=0,g=0,h=0,i=0;f=b+8|0;g=c[f>>2]|0;b=c[b>>2]|0;e=b+(g>>>3)|0;e=(kS(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24|0)|0)<<(g&7);if(e>>>0>134217727){b=e>>>23;c[f>>2]=g+(d[72672+b>>0]|0);b=a[73696+b>>0]|0}else{i=e>>>0>65535;h=i?e>>>16:e;i=i?16:0;e=(h&65280|0)==0;h=(e?i:i|8)+(d[91312+(e?h:h>>>8)>>0]|0)|0;e=31-h+g|0;g=b+(e>>>3)|0;g=(kS(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(e&7)>>>h;c[f>>2]=32-h+e;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function vq(a){a=a|0;var b=0,d=0;b=a+64|0;if((c[b>>2]|0)!=(a|0))hM(b);Wp(a|0,0,400)|0;d=a+120|0;c[d>>2]=0;c[d+4>>2]=-2147483648;d=a+104|0;c[d>>2]=0;c[d+4>>2]=-2147483648;d=a+112|0;c[d>>2]=0;c[d+4>>2]=-2147483648;d=a+320|0;c[d>>2]=0;c[d+4>>2]=-2147483648;d=a+336|0;c[d>>2]=0;c[d+4>>2]=0;d=a+328|0;c[d>>2]=-1;c[d+4>>2]=-1;c[a+356>>2]=-1;c[a+84>>2]=1;c[a+92>>2]=0;c[a+96>>2]=1;c[a+80>>2]=-1;c[b>>2]=a;c[a+304>>2]=2;c[a+308>>2]=2;c[a+312>>2]=2;c[a+300>>2]=0;c[a+316>>2]=0;c[a+296>>2]=0;return}function wq(a){a=a|0;a:do switch(c[a+8>>2]|0){case 0:switch(c[a+12>>2]|0){case 0:{a=(c[a+20>>2]|0)==2?170837:170853;break a}case 1:{a=(c[a+20>>2]|0)==2?170869:170888;break a}case 2:{a=(c[a+20>>2]|0)==2?170907:170926;break a}case 3:{a=(c[a+20>>2]|0)==2?170945:170956;break a}case 4:{a=(c[a+20>>2]|0)==2?170967:170978;break a}case 5:{a=(c[a+20>>2]|0)==2?170989:170998;break a}default:{a=201923;break a}}case 1:{a=201923;break}default:a=0}while(0);return a|0}function xq(a){a=a|0;var b=0,d=0;b=a+64|0;d=c[b>>2]|0;c[d+64>>2]=0;c[d+80>>2]=0;c[d+112>>2]=0;av(c[d+76>>2]|0);av(c[(c[b>>2]|0)+100>>2]|0);gP(c[(c[b>>2]|0)+68>>2]|0);d=c[b>>2]|0;c[d+72>>2]=0;gP(c[d+24>>2]|0);if(!(c[a+808>>2]&1)){d=c[(c[a+12>>2]|0)+108>>2]|0;if(d|0)dc[d&31](a)}else Yo(a);d=a+928|0;c[d>>2]=0;c[d+4>>2]=-2147483648;d=a+920|0;c[d>>2]=0;c[d+4>>2]=-2147483648;jI(a);if(!(c[a+476>>2]|0))av(c[(c[b>>2]|0)+12>>2]|0);return}function yq(b,c){b=b|0;c=c|0;var d=0;d=a[c>>0]|0;do if(d<<24>>24){b=bQ(b,d<<24>>24)|0;if(b){if(a[c+1>>0]|0)if(a[b+1>>0]|0){if(!(a[c+2>>0]|0)){b=wv(b,c)|0;break}if(a[b+2>>0]|0){if(!(a[c+3>>0]|0)){b=zv(b,c)|0;break}if(a[b+3>>0]|0)if(!(a[c+4>>0]|0)){b=Xu(b,c)|0;break}else{b=me(b,c)|0;break}else b=0}else b=0}else b=0}else b=0}while(0);return b|0}function zq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=a+32904+b|0;if(!d){b=a+32856|0;if(!(Gu(b,f)|0))b=0;else{e=b;g=4}}else{b=(c[a+21740>>2]&6|0)!=0;e=a+32856|0;if(!(Gu(e,f+((c[a+21732>>2]&6|0)==0?b&1:b?2:1)|0)|0))b=0;else{f=f+2|0;g=4}}if((g|0)==4)if(!(fI(e)|0)){b=(Gu(e,f+1|0)|0)*12|1;if(Gu(e,f+2|0)|0)b=b+4+((Gu(e,f+(d+2)|0)|0)<<2)|0;b=((Gu(e,f+(d+3)|0)|0)<<1)+b|0;b=b+(Gu(e,f+((d<<1)+3)|0)|0)|0}else b=25;return b|0}function Aq(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=d[b+(2-e)>>0]|0;c=d[b+(3-e)>>0]|0;f=e<<1;j=d[b+(f+-1)>>0]|0;g=e*3|0;h=d[b+(g+-1)>>0]|0;a[b>>0]=((d[b+(e+-1)>>0]|0)+(d[b+(1-e)>>0]|0)|0)>>>1;i=(j+i|0)>>>1&255;a[b+e>>0]=i;a[b+1>>0]=i;c=(h+c|0)>>>1&255;a[b+(g+3)>>0]=c;a[b+(g+2)>>0]=c;a[b+(f+3)>>0]=c;a[b+(g+1)>>0]=c;a[b+(f+2)>>0]=c;a[b+(e+3)>>0]=c;a[b+g>>0]=c;a[b+(f|1)>>0]=c;a[b+(e+2)>>0]=c;a[b+3>>0]=c;a[b+f>>0]=c;a[b+(e+1)>>0]=c;a[b+2>>0]=c;return}function Bq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=b>>1;k=a+(0-g<<1)|0;d=k;l=c[d>>2]|0;d=c[d+4>>2]|0;f=k+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;i=k+16|0;h=c[i>>2]|0;i=c[i+4>>2]|0;k=k+24|0;j=c[k>>2]|0;k=c[k+4>>2]|0;b=0;while(1){if((b|0)==16)break;m=a+((H(b,g)|0)<<1)|0;n=m;c[n>>2]=l;c[n+4>>2]=d;n=m+8|0;c[n>>2]=e;c[n+4>>2]=f;n=m+16|0;c[n>>2]=h;c[n+4>>2]=i;m=m+24|0;c[m>>2]=j;c[m+4>>2]=k;b=b+1|0}return}function Cq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=Mb;Mb=Mb+32|0;h=i;d=i+12|0;e=i+16|0;f=i+8|0;c[d>>2]=b;b=Ra(a|0)|0;if(!b){UI(165279)|0;b=0}else{gb(b|0,1,d|0,0);c[e>>2]=0;Pa(b|0);cb(b|0,35713,e|0);if(!(c[e>>2]|0)){c[f>>2]=0;cb(b|0,35716,f|0);d=c[f>>2]|0;if((d|0)>0?(g=wc(d)|0,g|0):0){bb(b|0,d|0,0,g|0);c[h>>2]=(a|0)==35633?165294:165301;c[h+4>>2]=g;mN(165310,h)|0;nd(g)}Ta(b|0);b=0}}Mb=i;return b|0}function Dq(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=0;while(1){if((g|0)==2)break;j=c+1|0;i=c+-1|0;k=c+2|0;l=H((d[k>>0]|0)+(d[i>>0]|0)|0,-5)|0;h=c+3|0;l=(((d[j>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+l+(d[h>>0]|0)>>5;a[b>>0]=l>>>0>255?(l^-2147483648)>>31:l;h=H((d[h>>0]|0)+(d[c>>0]|0)|0,-5)|0;h=(((d[k>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[i>>0]|0)+h+(d[c+4>>0]|0)>>5;a[b+1>>0]=h>>>0>255?(h^-2147483648)>>31:h;c=c+f|0;b=b+e|0;g=g+1|0}return}function Eq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Mb;Mb=Mb+16|0;e=h;f=Px(a)|0;g=f+1|0;if(g>>>0>32){c[e>>2]=g;Xw(b,16,170181,e);b=-1094995529}else{Hz(a,4)|0;Hz(a,4)|0;b=0;while(1){if((b|0)>(f|0))break;KF(a);KF(a);uL(a)|0;b=b+1|0}b=(Hz(a,5)|0)+1|0;c[d+1172>>2]=b;b=(Hz(a,5)|0)+1|0;c[d+1176>>2]=b;b=(Hz(a,5)|0)+1|0;c[d+1180>>2]=b;b=Hz(a,5)|0;c[d+1164>>2]=b;c[d+1168>>2]=g;b=0}Mb=h;return b|0}function Fq(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c>>1;m=d<<6;j=f<<6;k=0-n|0;l=H(n,-2)|0;i=0;while(1){if((i|0)==8)break;h=a+(k<<1)|0;c=e[h>>1]|0;d=e[a+(l<<1)>>1]|0;f=e[a>>1]|0;g=e[a+(n<<1)>>1]|0;o=c-f|0;if(((((o|0)>-1?o:0-o|0)|0)<(m|0)?(o=d-c|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0)?(o=g-f|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0){b[h>>1]=(c+2+(d<<1)+g|0)>>>2;b[a>>1]=(d+2+f+(g<<1)|0)>>>2}i=i+1|0;a=a+2|0}return}function Gq(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c>>1;m=d<<4;j=f<<4;k=0-n|0;l=H(n,-2)|0;i=0;while(1){if((i|0)==8)break;h=a+(k<<1)|0;c=e[h>>1]|0;d=e[a+(l<<1)>>1]|0;f=e[a>>1]|0;g=e[a+(n<<1)>>1]|0;o=c-f|0;if(((((o|0)>-1?o:0-o|0)|0)<(m|0)?(o=d-c|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0)?(o=g-f|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0){b[h>>1]=(c+2+(d<<1)+g|0)>>>2;b[a>>1]=(d+2+f+(g<<1)|0)>>>2}i=i+1|0;a=a+2|0}return}function Hq(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c>>1;m=d<<2;j=f<<2;k=0-n|0;l=H(n,-2)|0;i=0;while(1){if((i|0)==8)break;h=a+(k<<1)|0;c=e[h>>1]|0;d=e[a+(l<<1)>>1]|0;f=e[a>>1]|0;g=e[a+(n<<1)>>1]|0;o=c-f|0;if(((((o|0)>-1?o:0-o|0)|0)<(m|0)?(o=d-c|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0)?(o=g-f|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0){b[h>>1]=(c+2+(d<<1)+g|0)>>>2;b[a>>1]=(d+2+f+(g<<1)|0)>>>2}i=i+1|0;a=a+2|0}return}function Iq(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c>>1;m=d<<1;j=f<<1;k=0-n|0;l=H(n,-2)|0;i=0;while(1){if((i|0)==8)break;h=a+(k<<1)|0;c=e[h>>1]|0;d=e[a+(l<<1)>>1]|0;f=e[a>>1]|0;g=e[a+(n<<1)>>1]|0;o=c-f|0;if(((((o|0)>-1?o:0-o|0)|0)<(m|0)?(o=d-c|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0)?(o=g-f|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0){b[h>>1]=(c+2+(d<<1)+g|0)>>>2;b[a>>1]=(d+2+f+(g<<1)|0)>>>2}i=i+1|0;a=a+2|0}return}function Jq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=Mb;Mb=Mb+16|0;g=h;f=c[(c[a+64>>2]|0)+20>>2]|0;if(c[a+808>>2]&1|0){e=a+704|0;b=c[e>>2]|0;do if(b|0){d=f+336|0;if(!(c[d>>2]|0)){jV((c[f>>2]|0)+36|0)|0;c[d>>2]=1;b=c[e>>2]|0;if(!b)break}if(!(c[b+60>>2]&1)){c[f+340>>2]=1;sJ(c[f>>2]|0)}}while(0);b=f+184|0;jV(b)|0;d=f+300|0;if((c[d>>2]|0)==4)Xw(a,24,184783,g);c[d>>2]=4;jV(f+60|0)|0;jV(b)|0}Mb=h;return}function Kq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=a+26364|0;f=(c[g>>2]|0)!=3&1;k=c[b+21792>>2]>>f<<4;f=c[a+26992>>2]<<4>>f;i=c[a+26360>>2]|0;h=16<<i;i=20<<i;j=(c[b+868>>2]|0)==0;h=(j|(k+h|0)<(f|0)?0:i)+h|0;i=k-(j?0:i)|0;if((!((f|0)<=(i|0)|(h+i|0)<0)?(e=f-i|0,d=(i|0)<0,e=((h|0)>(e|0)?e:h)+(d?i:0)|0,d=d?0:i,Ko(a,b,d,e),(c[a+25672>>2]|0)==0):0)?(c[(c[(c[b>>2]|0)+25628>>2]|0)+600>>2]|0)==0:0)Js((c[a+24312>>2]|0)+4|0,d+-1+e|0,(c[g>>2]|0)==2&1);return}function Lq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=Mb;Mb=Mb+16|0;d=h;f=c[(c[a+64>>2]|0)+20>>2]|0;do if(((c[a+808>>2]&1|0)!=0?(c[a+812>>2]|0)==0:0)?(c[a+156>>2]|0)!=7:0){e=f+300|0;if((c[e>>2]|0)!=1){Xw(a,16,184970,d);a=-1;break}d=f+184|0;jV(d)|0;c[f+324>>2]=b;c[e>>2]=3;a=f+60|0;jV(a|0)|0;while(1){if((c[e>>2]|0)==1)break;yb(a|0,d|0)|0}a=c[f+328>>2]|0;jV(d)|0}else g=4;while(0);if((g|0)==4)a=Hh(a,b)|0;Mb=h;return a|0}function Mq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=0;a:while(1){if(g>>>0>=256){d=0;break}switch(b|0){case 22:{d=(g&3)*85|0;e=(g>>>2&7)*36|0;f=(g>>>5)*36|0;break}case 19:{d=(g>>>6)*85|0;e=(g>>>3&7)*36|0;f=(g&7)*36|0;break}case 24:{d=0-(g&1)&255;e=(g>>>1&3)*85|0;f=(g>>>3)*255|0;break}case 21:{d=(g>>>3)*255|0;e=(g>>>1&3)*85|0;f=0-(g&1)&255;break}case 8:{d=g;e=g;f=g;break}default:{d=-22;break a}}c[a+(g<<2)>>2]=(f<<16)+-16777216+(e<<8)+d;g=g+1|0}return d|0}function Nq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a>>2]|0;g=c[b+4>>2]|0;h=XJ(g|0,((g|0)<0)<<31>>31|0,f|0,((f|0)<0)<<31>>31|0)|0;d=M()|0;e=c[b>>2]|0;b=c[a+4>>2]|0;a=XJ(b|0,((b|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;a=QO(h|0,d|0,a|0,M()|0)|0;d=M()|0;if((a|0)==0&(d|0)==0)if((g|0)==0|(b|0)==0)if(!f)b=-2147483648;else return ((e|0)==0?-2147483648:(f>>31)-(e>>31)|0)|0;else b=0;else{b=b^g;b=FM(a^b|0,d^((b|0)<0)<<31>>31|0,63)|0;M()|0;b=b|1}return b|0}function Oq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0;k=Mb;Mb=Mb+32|0;j=k+8|0;i=k;h=a+4|0;c[j>>2]=a;c[j+4>>2]=h;c[j+8>>2]=k+20;do if((kN(b,204040,j)|0)!=2){b=Ks(j,b,0,0,0,0,0,0,0,e,f)|0;if((b|0)<0)break;else{Fl(i,+g[j>>3],d);j=c[i+4>>2]|0;b=a;c[b>>2]=c[i>>2];c[b+4>>2]=j;b=0;break}}else{j=c[a>>2]|0;b=c[h>>2]|0;Hf(a,h,j,((j|0)<0)<<31>>31,b,((b|0)<0)<<31>>31,d,((d|0)<0)<<31>>31)|0;b=0}while(0);Mb=k;return b|0}function Pq(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=f;h=0;while(1){if((h|0)==8)break;j=(e[i>>1]|0)+(d[c+-1>>0]|0)|0;a[c>>0]=j;j=j+(e[i+2>>1]|0)|0;a[c+1>>0]=j;j=j+(e[i+4>>1]|0)|0;a[c+2>>0]=j;j=j+(e[i+6>>1]|0)|0;a[c+3>>0]=j;j=j+(e[i+8>>1]|0)|0;a[c+4>>0]=j;j=j+(e[i+10>>1]|0)|0;a[c+5>>0]=j;j=j+(e[i+12>>1]|0)|0;a[c+6>>0]=j;a[c+7>>0]=j+(e[i+14>>1]|0);i=i+16|0;c=c+g|0;h=h+1|0}c=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function Qq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;g=a+((H(d,h)|0)+-1<<1)|0;b=b+(e[g>>1]|0)|0;d=d+1|0}d=0;while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=XJ((b+16|0)>>>5|0,0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function Rq(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;var i=0.0,j=0.0,k=0.0,l=0,m=0;k=+f[d>>2]*e*e;i=+f[d+4>>2]*e*e;j=+f[c>>2]*e;e=+f[c+4>>2]*e;while(1){if((g|0)>=(h|0))break;m=g+-2|0;l=b+(m<<3)|0;m=b+(m<<3)+4|0;d=g+-1|0;c=b+(d<<3)|0;d=b+(d<<3)+4|0;f[a+(g<<3)>>2]=+f[b+(g<<3)>>2]+(k*+f[l>>2]-i*+f[m>>2]+j*+f[c>>2]-e*+f[d>>2]);f[a+(g<<3)+4>>2]=+f[b+(g<<3)+4>>2]+(k*+f[m>>2]+i*+f[l>>2]+j*+f[d>>2]+e*+f[c>>2]);g=g+1|0}return}function Sq(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=0;while(1){if((h|0)==4)break;i=b+(H(h,g)|0)|0;l=i;i=i+4|0;k=e+(h<<3)|0;j=k;k=k+4|0;k=QI(d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;j=M()|0;i=a+(H(h,f)|0)|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function Tq(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=Mb;Mb=Mb+16|0;f=h;g=b+8|0;k=g;k=cN(c[k>>2]|0,c[k+4>>2]|0,3)|0;k=OP(k,M()|0)|0;j=M()|0;i=f;c[i>>2]=k;c[i+4>>2]=j;uu(b,208316,1);while(1){if(0==0?(c[g>>2]&63|0)==56:0)break;uu(b,1104084,1)}uu(b,f,8);f=0;while(1){if(f>>>0>=(d[b>>0]|0)>>>0)break;j=kS(c[b+80+(f<<2)>>2]|0)|0;k=e+(f<<2)|0;a[k>>0]=j;a[k+1>>0]=j>>8;a[k+2>>0]=j>>16;a[k+3>>0]=j>>24;f=f+1|0}Mb=h;return}function Uq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=Mb;Mb=Mb+16|0;e=f;b=c[a+48>>2]|0;if(!b)b=Vb[c[a+44>>2]&31](c[a+36>>2]|0)|0;else b=Xb[b&15](c[a+40>>2]|0,c[a+36>>2]|0)|0;c[e>>2]=b;do if(b){d=YQ(20)|0;if(!d){QS(e);b=0;break}else{e=c[b>>2]|0;c[d>>2]=c[e>>2];g=e+16|0;c[d+4>>2]=c[g>>2];e=e+12|0;c[d+8>>2]=c[e>>2];c[d+12>>2]=a;c[g>>2]=d;c[e>>2]=195;break}}else b=0;while(0);Mb=f;return b|0}function Vq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+160|0;g=j+144|0;i=j;rk(i|0,162512,144)|0;if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;h=4}else{d=pV()|0;c[d>>2]=75;d=-1}else h=4;if((h|0)==4){h=-2-b|0;h=d>>>0>h>>>0?h:d;c[i+48>>2]=h;g=i+20|0;c[g>>2]=b;c[i+44>>2]=b;d=b+h|0;b=i+16|0;c[b>>2]=d;c[i+28>>2]=d;d=HS(i,e,f)|0;if(h){i=c[g>>2]|0;a[i+(((i|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}Mb=j;return d|0}function Wq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(uL(e)|0)gO(e,4);g=d+96|0;a:do if(!(wd(b,d,e,g)|0)){cy(e,g);Tv(d,e,g);f=ed(b,d,e,g,0)|0;if((f|0)>=0){f=we(b,d,e,g,0)|0;if((f|0)>=0){g=uL(e)|0;c[d+100>>2]=g;if(!g)f=0;else{b=c[d+310116>>2]|0;f=0;while(1){if((f|0)>=(b|0)){f=0;break a}g=(uL(e)|0)&255;a[d+137+f>>0]=g;f=f+1|0}}}}}else f=-1;while(0);return f|0}function Xq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=a+8|0;d=c[f>>2]|0;e=c[a+12>>2]|0;if((d|0)!=(e|0))if(iS(a)|0){g=a+4|0;i=c[g>>2]|0;h=-2-i|0;b=i+1+(h>>>0>b>>>0?b:h)|0;d=d>>>0>e>>>1>>>0?e:d<<1;e=d>>>0<b>>>0?(e>>>0>b>>>0?b:e):d;d=c[a>>2]|0;d=(d|0)==(a+16|0)?0:d;b=MO(d,e)|0;if(!b)b=-12;else{if(!d)rk(b|0,c[a>>2]|0,(c[g>>2]|0)+1|0)|0;c[a>>2]=b;c[f>>2]=e;b=0}}else b=-1094995529;else b=-5;return b|0}function Yq(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=(h<<f)+((f|0)==0?0:1<<f+-1)|0;h=b;b=0;while(1){if((b|0)>=(e|0))break;j=(H(d[h>>0]|0,g)|0)+i>>f;a[h>>0]=j>>>0>255?(j^-2147483648)>>31:j;j=h+1|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+2|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+3|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;h=h+c|0;b=b+1|0}return}function Zq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((bT(a)|0)<(d|0)){e=sU(a)|0;if((1073741823-e|0)>=(d|0)){e=iu(a,e+d<<1)|0;if((e|0)>-1)f=4}else e=-22}else f=4;a:do if((f|0)==4){f=H(c[a+24>>2]|0,d)|0;g=a+4|0;e=0;while(1){if((e|0)>=(c[g>>2]|0))break;if((kr(c[(c[a>>2]|0)+(e<<2)>>2]|0,c[b+(e<<2)>>2]|0,f,0)|0)==(f|0))e=e+1|0;else{e=-558323010;break a}}e=a+8|0;c[e>>2]=(c[e>>2]|0)+d;e=d}while(0);return e|0}function _q(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+16|0;i=j;h=d&255;a:while(1){g=f+-1|0;if(!f){f=8;break}switch(d|0){case 2:case 3:case 1:{f=uL(e)|0;break}case 5:{zU(e);f=2;break}case 4:{f=3;break}default:{f=6;break a}}a[b>>0]=f;f=(Hz(e,4)|0)&255;a[b+1>>0]=f;a[b+2>>0]=h;f=g;b=b+3|0}if((f|0)==6){c[i>>2]=213565;c[i+4>>2]=188135;c[i+8>>2]=713;Xw(0,0,213444,i);ba()}else if((f|0)==8){Mb=j;return}}function $q(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=Mb;Mb=Mb+32|0;i=j+16|0;h=j;a:do if((a|0)!=0&(d|0)!=0){if((((e|0)>-1?e:0-e|0)|0)<(f|0)){c[h>>2]=202432;c[h+4>>2]=202463;c[h+8>>2]=313;Xw(0,0,213444,h);ba()}if((((b|0)>-1?b:0-b|0)|0)<(f|0)){c[i>>2]=202484;c[i+4>>2]=202463;c[i+8>>2]=314;Xw(0,0,213444,i);ba()}while(1){if((g|0)<=0)break a;rk(a|0,d|0,f|0)|0;g=g+-1|0;a=a+b|0;d=d+e|0}}while(0);Mb=j;return}function ar(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=c[a>>2]|0;d=((b|0)>-1?b:0-b|0)+63&-32;f=a+27788|0;g=a+27804|0;NS(f,g,d*96|0);b=a+27792|0;NS(b,a+27808|0,d*42|0);d=a+27796|0;h=h+26996|0;JS(d,a+27812|0,(c[h>>2]|0)*96|0);e=a+27800|0;JS(e,a+27816|0,(c[h>>2]|0)*96|0);if((((c[f>>2]|0)!=0?(c[b>>2]|0)!=0:0)?(c[d>>2]|0)!=0:0)?(c[e>>2]|0)!=0:0)b=0;else{hM(f);hM(b);hM(d);hM(e);c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;b=-12}return b|0}function br(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=Mb;Mb=Mb+32|0;h=i+16|0;g=i+8|0;do if(e>>>0<=3){if(!(c&32768)){c=a[197163+e>>0]|0;if((e|1|0)==3){Xw(b,16,197167,g);c=-1094995529;break}}else c=e;e=d&32896;if((e|0)!=32896)if((c|2|0)==3){Xw(b,16,197215,h);c=-1094995529;break}else{Mb=i;return ((e|0)==0|(f|0)==0?a[197264+c>>0]|0:8-(d>>>15&1)+(((c|0)==4&1)<<1)|0)|0}}else{Xw(b,16,197126,i);c=-1094995529}while(0);Mb=i;return c|0}function cr(a){a=a|0;var b=0,d=0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0;b=c[a+20>>2]|0;if(!b){a=a+128|0;b=17488;d=a+64|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0))}else{h=+(c[a+12>>2]|0);j=+(c[a+16>>2]|0);e=+(c[a+4>>2]|0);k=e/j;g=+(c[a>>2]|0);i=g/h;i=(b|0)==1?(k<i?k:i):k>i?k:i;e=i*j/e;g=i*h/g;h=-g;f[a+128>>2]=h;i=-e;f[a+132>>2]=i;f[a+144>>2]=g;f[a+148>>2]=i;f[a+160>>2]=h;f[a+164>>2]=e;f[a+176>>2]=g;f[a+180>>2]=e}return}function dr(a){a=a|0;var b=0,d=0,e=0,f=0;e=Mb;Mb=Mb+16|0;d=e;do if(c[a+16>>2]|0){b=ha(8,a|0)|0;if((b|0)<0){Kv(166652)|0;break}else{b=ha(9,a|0)|0;c[a>>2]=b;ja(10,1,4096,24,a|0)|0;b=hP()|0;c[a+24>>2]=b;c[b+80>>2]=3;f=b+240|0;c[f>>2]=4;c[f+4>>2]=0;c[b+76>>2]=4096;Av(b,0)|0;c[a+12>>2]=1;c[d>>2]=c[a>>2];c[d+4>>2]=4096;mN(167064,d)|0;b=0;break}}else b=-1;while(0);Mb=e;return b|0}function er(a){a=a|0;var b=0,d=0;a:do switch(c[a+8>>2]|0){case 4:case 3:case 2:case 0:{b=a+72|0;a=c[b+4>>2]|0;b=c[b>>2]|0;break}case 1:{b=BI(c[a+48>>2]|0)|0;if(!b){b=a+72|0;a=c[b+4>>2]|0;b=c[b>>2]|0;break a}else{d=c[a+416>>2]|0;a=c[a+420>>2]|0;b=XJ(d|0,((d|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;b=XJ(b|0,M()|0,a|0,((a|0)<0)<<31>>31|0)|0;a=M()|0;break a}}default:{a=0;b=0}}while(0);L(a|0);return b|0}function fr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Mb;Mb=Mb+16|0;g=k;c[g>>2]=d;do if(!d)e=0;else{h=a+292|0;i=c[h>>2]|0;if((i>>>0<=536870910?(j=a+288|0,f=MO(c[j>>2]|0,(i<<2)+4|0)|0,f|0):0)?(c[j>>2]=f,e=YQ(20)|0,e|0):0){c[e+16>>2]=d;c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e>>2]=b;i=c[j>>2]|0;j=c[h>>2]|0;c[h>>2]=j+1;c[i+(j<<2)>>2]=e;break}QS(g);e=0}while(0);Mb=k;return e|0}function gr(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=1;a=0;while(1){if((g|0)>=(f|0))break;c=0;while(1){if(c>>>0>=16)break;j=c+e|0;k=(d[b+c>>0]|0)-(d[b+j>>0]|0)|0;j=(d[b+(c|1)>>0]|0)-(d[b+(j+1)>>0]|0)|0;i=c|2;i=(d[b+i>>0]|0)-(d[b+(i+e)>>0]|0)|0;h=c|3;h=(d[b+h>>0]|0)-(d[b+(h+e)>>0]|0)|0;c=c+4|0;a=((k|0)>-1?k:0-k|0)+a+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((h|0)>-1?h:0-h|0)|0}g=g+1|0;b=b+e|0}return a|0}function hr(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=0;while(1){if((g|0)>=(f|0))break;j=b;h=j;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;i=a;c[i>>2]=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;c[i+4>>2]=j;i=b+8|0;j=i;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=a+8|0;c[h>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function ir(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==8)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;i=(c[g+12>>2]|0)+i|0;b[f+6>>1]=i;i=(c[g+16>>2]|0)+i|0;b[f+8>>1]=i;i=(c[g+20>>2]|0)+i|0;b[f+10>>1]=i;i=(c[g+24>>2]|0)+i|0;b[f+12>>1]=i;b[f+14>>1]=(c[g+28>>2]|0)+i;g=g+32|0;f=f+(h<<1)|0;a=a+1|0}Wp(d|0,0,256)|0;return}function jr(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=1;a=0;while(1){if((g|0)>=(f|0))break;c=0;while(1){if(c>>>0>=8)break;j=c+e|0;k=(d[b+c>>0]|0)-(d[b+j>>0]|0)|0;j=(d[b+(c|1)>>0]|0)-(d[b+(j+1)>>0]|0)|0;i=c|2;i=(d[b+i>>0]|0)-(d[b+(i+e)>>0]|0)|0;h=c|3;h=(d[b+h>>0]|0)-(d[b+(h+e)>>0]|0)|0;c=c+4|0;a=((k|0)>-1?k:0-k|0)+a+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((h|0)>-1?h:0-h|0)|0}g=g+1|0;b=b+e|0}return a|0}function kr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=a+20|0;n=a+8|0;k=a+12|0;l=(e|0)==0;f=c[n>>2]|0;g=c[m>>2]|0;j=b;b=d;i=c[k>>2]|0;do{i=i-f|0;i=(i|0)>(b|0)?b:i;if(!l){h=Yb[e&15](j,f,i)|0;if((h|0)<1)break}else{rk(f|0,j|0,i|0)|0;h=i;j=j+i|0}f=f+h|0;i=c[k>>2]|0;if(f>>>0>=i>>>0)f=c[a>>2]|0;g=h+g|0;b=b-h|0}while((b|0)>0);c[m>>2]=g;c[n>>2]=f;return d-b|0}function lr(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=d&-2;d=h*3|0;f=(e[a+(0-h<<1)>>1]|0)+4+(e[a+(1-h<<1)>>1]|0)+(e[a+(2-h<<1)>>1]|0)+(e[a+(3-h<<1)>>1]|0)+(e[a+-2>>1]|0)+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)>>3;f=XJ(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function mr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Mb;Mb=Mb+16|0;f=g;b=a+308|0;d=(c[a>>2]|0)+8|0;e=a+212|0;a=a+304|0;while(1){if((c[b>>2]|0)<=0){a=6;break}jV(d)|0;if((c[(c[e>>2]|0)+8>>2]|0)>>>0>=2){a=4;break}j=c[a>>2]|0;i=(c[b>>2]|0)+-1|0;c[b>>2]=i;h=j+(i*400|0)|0;c[j+(i*400|0)+64>>2]=h;av(h);jV(d)|0}if((a|0)==4){c[f>>2]=184588;c[f+4>>2]=184677;c[f+8>>2]=376;Xw(0,0,213444,f);ba()}else if((a|0)==6){Mb=g;return}}function nr(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;h=g+(H(e,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;f[a>>2]=+(c[b>>2]|0)*4.656612873077393e-10;i=b+d|0;j=a+e|0;f[j>>2]=+(c[i>>2]|0)*4.656612873077393e-10;i=i+d|0;j=j+e|0;f[j>>2]=+(c[i>>2]|0)*4.656612873077393e-10;i=i+d|0;j=j+e|0;f[j>>2]=+(c[i>>2]|0)*4.656612873077393e-10;a=j+e|0;b=i+d|0}while(1){if(a>>>0>=g>>>0)break;f[a>>2]=+(c[b>>2]|0)*4.656612873077393e-10;a=a+e|0;b=b+d|0}return}function or(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0;h=f+(H(e,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;g[a>>3]=+(c[b>>2]|0)*4.656612873077393e-10;i=b+d|0;j=a+e|0;g[j>>3]=+(c[i>>2]|0)*4.656612873077393e-10;i=i+d|0;j=j+e|0;g[j>>3]=+(c[i>>2]|0)*4.656612873077393e-10;i=i+d|0;j=j+e|0;g[j>>3]=+(c[i>>2]|0)*4.656612873077393e-10;a=j+e|0;b=i+d|0}while(1){if(a>>>0>=f>>>0)break;g[a>>3]=+(c[b>>2]|0)*4.656612873077393e-10;a=a+e|0;b=b+d|0}return}function pr(a,b,c,e,g){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0;h=g+(H(e,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;f[a>>2]=+((d[b>>0]|0)+-128|0)*.0078125;i=b+c|0;j=a+e|0;f[j>>2]=+((d[i>>0]|0)+-128|0)*.0078125;i=i+c|0;j=j+e|0;f[j>>2]=+((d[i>>0]|0)+-128|0)*.0078125;i=i+c|0;j=j+e|0;f[j>>2]=+((d[i>>0]|0)+-128|0)*.0078125;a=j+e|0;b=i+c|0}while(1){if(a>>>0>=g>>>0)break;f[a>>2]=+((d[b>>0]|0)+-128|0)*.0078125;a=a+e|0;b=b+c|0}return}function qr(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var h=0,i=0,j=0;h=f+(H(e,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;g[a>>3]=+((d[b>>0]|0)+-128|0)*.0078125;i=b+c|0;j=a+e|0;g[j>>3]=+((d[i>>0]|0)+-128|0)*.0078125;i=i+c|0;j=j+e|0;g[j>>3]=+((d[i>>0]|0)+-128|0)*.0078125;i=i+c|0;j=j+e|0;g[j>>3]=+((d[i>>0]|0)+-128|0)*.0078125;a=j+e|0;b=i+c|0}while(1){if(a>>>0>=f>>>0)break;g[a>>3]=+((d[b>>0]|0)+-128|0)*.0078125;a=a+e|0;b=b+c|0}return}function rr(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=f+g|0;l=b+30|0;a:do if(!(a[l>>0]|0)){g=f;m=5}else{g=f;j=0;while(1){h=j&255;i=b+32+(h<<3)+2|0;if((g+(e[i>>1]|0)+4|0)>>>0>k>>>0){g=-1;break a}a[g>>0]=0;a[g+1>>0]=0;a[g+2>>0]=0;a[g+3>>0]=1;rk(g+4|0,c[b+32+(h<<3)+4>>2]|0,e[i>>1]|0)|0;g=g+((e[i>>1]|0)+4)|0;j=j+1<<24>>24;if((j&255)>=(d[l>>0]|0)){m=5;break}}}while(0);if((m|0)==5)g=g-f|0;return g|0}function sr(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=d>>1;f=0;d=c;while(1){if((f|0)==2)break;l=e[d+-4>>1]|0;c=e[d>>1]|0;i=e[d+4>>1]|0;j=e[d+8>>1]|0;h=e[d+12>>1]|0;k=e[d+16>>1]|0;m=(e[d+-8>>1]|0)+16+h+((i+c|0)*20|0)+(H(j+l|0,-5)|0)>>5;b[a>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;c=l+16+k+((j+i|0)*20|0)+(H(h+c|0,-5)|0)>>5;b[a+(g<<1)>>1]=c>>>0<16384?c:(c^-2147483648)>>31&16383;f=f+1|0;a=a+2|0;d=d+2|0}return}function tr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+16|0;h=j;e=c[a+12>>2]|0;if((e|0?(g=c[e+4>>2]|0,g|0):0)?(i=g+(d<<2)|0,(c[i>>2]|0)<(b|0)):0){a=a+4+(d<<2)|0;f=c[(c[(c[a>>2]|0)+64>>2]|0)+20>>2]|0;if(c[f+344>>2]|0){e=c[a>>2]|0;c[h>>2]=b;c[h+4>>2]=d;c[h+8>>2]=g;Xw(e,48,184746,h)}e=f+184|0;jV(e)|0;a=f+60|0;while(1){if((c[i>>2]|0)>=(b|0))break;yb(a|0,e|0)|0}jV(e)|0}Mb=j;return}function ur(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=d>>1;f=0;d=c;while(1){if((f|0)==2)break;l=e[d+-4>>1]|0;c=e[d>>1]|0;i=e[d+4>>1]|0;j=e[d+8>>1]|0;h=e[d+12>>1]|0;k=e[d+16>>1]|0;m=(e[d+-8>>1]|0)+16+h+((i+c|0)*20|0)+(H(j+l|0,-5)|0)>>5;b[a>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;c=l+16+k+((j+i|0)*20|0)+(H(h+c|0,-5)|0)>>5;b[a+(g<<1)>>1]=c>>>0<4096?c:(c^-2147483648)>>31&4095;f=f+1|0;a=a+2|0;d=d+2|0}return}function vr(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=d>>1;f=0;d=c;while(1){if((f|0)==2)break;l=e[d+-4>>1]|0;c=e[d>>1]|0;i=e[d+4>>1]|0;j=e[d+8>>1]|0;h=e[d+12>>1]|0;k=e[d+16>>1]|0;m=(e[d+-8>>1]|0)+16+h+((i+c|0)*20|0)+(H(j+l|0,-5)|0)>>5;b[a>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;c=l+16+k+((j+i|0)*20|0)+(H(h+c|0,-5)|0)>>5;b[a+(g<<1)>>1]=c>>>0<1024?c:(c^-2147483648)>>31&1023;f=f+1|0;a=a+2|0;d=d+2|0}return}function wr(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=Mb;Mb=Mb+16|0;h=i;if((c[e>>2]|0)>>>0>=f>>>0){if(f|0?(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)==0:0){c[h>>2]=203182;c[h+4>>2]=203199;c[h+8>>2]=33;Xw(0,0,213444,h);ba()}}else{h=f+32+(f>>>4)|0;h=h>>>0>f>>>0?h:f;hM(b);if(!g)f=jx(h)|0;else f=YQ(h)|0;a[b>>0]=f;a[b+1>>0]=f>>8;a[b+2>>0]=f>>16;a[b+3>>0]=f>>24;c[e>>2]=(f|0)==0?0:h}Mb=i;return}function xr(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=d>>1;f=0;d=c;while(1){if((f|0)==2)break;l=e[d+-4>>1]|0;c=e[d>>1]|0;i=e[d+4>>1]|0;j=e[d+8>>1]|0;h=e[d+12>>1]|0;k=e[d+16>>1]|0;m=(e[d+-8>>1]|0)+16+h+((i+c|0)*20|0)+(H(j+l|0,-5)|0)>>5;b[a>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;c=l+16+k+((j+i|0)*20|0)+(H(h+c|0,-5)|0)>>5;b[a+(g<<1)>>1]=c>>>0<512?c:(c^-2147483648)>>31&511;f=f+1|0;a=a+2|0;d=d+2|0}return}function yr(b){b=b|0;var d=0,e=0;d=mD(1,312)|0;ha(0,d|0)|0;e=EM(1,d)|0;c[d+72>>2]=e;e=To(3,1,2048)|0;c[d+100>>2]=e;e=jP()|0;c[d+96>>2]=e;c[e+16>>2]=7;c[e+20>>2]=d;c[d+144>>2]=-1;c[d+148>>2]=-1;a[d+246>>0]=1;a[d+247>>0]=1;a[d+242>>0]=(b|0)!=0&1;c[d>>2]=0;c[d+4>>2]=2e3;c[d+8>>2]=-16;b=hO(Fa()|0)|0;c[d+12>>2]=b;nK(d,4194304);va(0,d|0,0,8,2)|0;wa(d|0,0,9,2)|0;return d|0}function zr(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0;f=d>>1;g=XJ(e[a+-2>>1]|0|0,0,65537,65537)|0;b=M()|0;h=a;c[h>>2]=g;c[h+4>>2]=b;h=XJ(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;g=a+(f<<1)|0;c[g>>2]=h;c[g+4>>2]=b;d=d&-2;g=XJ(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;d=a+(d<<1)|0;c[d>>2]=g;c[d+4>>2]=b;d=f*3|0;f=XJ(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function Ar(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=1;a=0;while(1){if((g|0)>=(f|0))break;c=0;while(1){if(c>>>0>=16)break;h=c+e|0;k=(d[b+c>>0]|0)-(d[b+h>>0]|0)|0;k=H(k,k)|0;j=(d[b+(c|1)>>0]|0)-(d[b+(h+1)>>0]|0)|0;j=H(j,j)|0;i=(d[b+(c|2)>>0]|0)-(d[b+(h+2)>>0]|0)|0;i=H(i,i)|0;h=(d[b+(c|3)>>0]|0)-(d[b+(h+3)>>0]|0)|0;c=c+4|0;a=k+a+j+i+(H(h,h)|0)|0}g=g+1|0;b=b+e|0}return a|0}function Br(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=0-c|0;n=H(c,-2)|0;l=0;while(1){if((l|0)==8)break;j=b+m|0;k=d[j>>0]|0;g=d[b+n>>0]|0;h=d[b>>0]|0;i=d[b+c>>0]|0;o=k-h|0;if(((((o|0)>-1?o:0-o|0)|0)<(e|0)?(o=g-k|0,(((o|0)>-1?o:0-o|0)|0)<(f|0)):0)?(o=i-h|0,(((o|0)>-1?o:0-o|0)|0)<(f|0)):0){a[j>>0]=(k+2+(g<<1)+i|0)>>>2;a[b>>0]=(g+2+h+(i<<1)|0)>>>2}l=l+1|0;b=b+1|0}return}function Cr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=Mb;Mb=Mb+16|0;j=l;h=a+29540|0;i=a+4|0;g=0;while(1){if((g|0)>=(c[h>>2]|0)){e=0;break}e=c[a+28332+(g<<2)>>2]|0;f=c[i>>2]|0;if(!(c[f+680>>2]&2048))f=e+88|0;else{m=e+88|0;n=c[m>>2]|0;c[j>>2]=g;c[j+4>>2]=n;c[j+8>>2]=e;Xw(f,48,198616,j);f=m}if((c[f>>2]|0)==(b|0)){k=7;break}g=g+1|0}if((k|0)==7)c[d>>2]=g;Mb=l;return e|0}function Dr(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=1;a=0;while(1){if((g|0)>=(f|0))break;c=0;while(1){if(c>>>0>=8)break;h=c+e|0;k=(d[b+c>>0]|0)-(d[b+h>>0]|0)|0;k=H(k,k)|0;j=(d[b+(c|1)>>0]|0)-(d[b+(h+1)>>0]|0)|0;j=H(j,j)|0;i=(d[b+(c|2)>>0]|0)-(d[b+(h+2)>>0]|0)|0;i=H(i,i)|0;h=(d[b+(c|3)>>0]|0)-(d[b+(h+3)>>0]|0)|0;c=c+4|0;a=k+a+j+i+(H(h,h)|0)|0}g=g+1|0;b=b+e|0}return a|0}function Er(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<6;j=f<<6;i=0;while(1){if((i|0)==4)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function Fr(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<4;j=f<<4;i=0;while(1){if((i|0)==4)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function Gr(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<2;j=f<<2;i=0;while(1){if((i|0)==4)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function Hr(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<1;j=f<<1;i=0;while(1){if((i|0)==4)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function Ir(a){a=a|0;var b=0,c=0.0,d=0.0,e=0,g=0,h=0.0,i=0.0,j=0,k=0,l=0.0,m=0.0,n=0.0;l=+f[a>>2];g=a+8|0;d=+f[g>>2];i=l-d;d=l+d;j=a+24|0;l=+f[j>>2];b=a+16|0;n=+f[b>>2];m=l-n;n=l+n;f[b>>2]=d-n;f[a>>2]=d+n;b=a+4|0;n=+f[b>>2];k=a+12|0;d=+f[k>>2];l=n-d;d=n+d;e=a+20|0;n=+f[e>>2];a=a+28|0;c=+f[a>>2];h=n-c;c=n+c;f[a>>2]=l-m;f[k>>2]=m+l;f[j>>2]=i-h;f[g>>2]=i+h;f[e>>2]=d-c;f[b>>2]=d+c;return}function Jr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+64|0;g=c[e>>2]|0;f=g+64|0;do if(!(c[f>>2]|0)){d=tq(a,b)|0;if((d|0)==-541478725){c[f>>2]=1;d=-541478725;break}if((d|0)>=0){d=vH(c[e>>2]|0,b)|0;if((d|0)>=0){d=Nf(a,b)|0;if((d|0)>=0){if(!(c[(c[a+12>>2]|0)+104>>2]|0)){d=0;break}d=g+92|0;c[d>>2]=(c[d>>2]|0)+(c[b+28>>2]|0);d=0;break}}gP(b)}}else d=-541478725;while(0);return d|0}function Kr(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<6;j=f<<6;i=0;while(1){if((i|0)==16)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function Lr(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<4;j=f<<4;i=0;while(1){if((i|0)==16)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function Mr(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<2;j=f<<2;i=0;while(1){if((i|0)==16)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function Nr(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<1;j=f<<1;i=0;while(1){if((i|0)==16)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function Or(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=d[88656+f>>0]|0;g=i+-1|0;i=i+-8|0;h=a[b+28272+(e*40|0)+i>>0]|0;f=(a[b+28272+(e*40|0)+g>>0]|0)>0;if((c[b+840>>2]|0)==3){if(f)f=((d[b+28512+g>>0]|0)>>>7^1)&255;else f=0;if(h<<24>>24>0)e=(a[b+28512+i>>0]|0)<0?f:f|2;else e=f}else{e=f&1;e=h<<24>>24>0?e|2:e}g=b+32856|0;f=0;while(1){if(!(Gu(g,e+54+(b+32904)|0)|0))break;if(f>>>0>30){f=-1;break}f=f+1|0;e=(e>>2)+4|0}return f|0}function Pr(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;h=g+(H(e,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;f[a>>2]=+(b[c>>1]|0)*.000030517578125;i=c+d|0;j=a+e|0;f[j>>2]=+(b[i>>1]|0)*.000030517578125;i=i+d|0;j=j+e|0;f[j>>2]=+(b[i>>1]|0)*.000030517578125;i=i+d|0;j=j+e|0;f[j>>2]=+(b[i>>1]|0)*.000030517578125;a=j+e|0;c=i+d|0}while(1){if(a>>>0>=g>>>0)break;f[a>>2]=+(b[c>>1]|0)*.000030517578125;a=a+e|0;c=c+d|0}return}function Qr(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0;h=f+(H(e,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;g[a>>3]=+(b[c>>1]|0)*.000030517578125;i=c+d|0;j=a+e|0;g[j>>3]=+(b[i>>1]|0)*.000030517578125;i=i+d|0;j=j+e|0;g[j>>3]=+(b[i>>1]|0)*.000030517578125;i=i+d|0;j=j+e|0;g[j>>3]=+(b[i>>1]|0)*.000030517578125;a=j+e|0;c=i+d|0}while(1){if(a>>>0>=f>>>0)break;g[a>>3]=+(b[c>>1]|0)*.000030517578125;a=a+e|0;c=c+d|0}return}function Rr(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=0;f=0;g=0;while(1){if((e|0)==4)break;i=a+((H(e,b)|0)+-1)|0;h=a+((H(e+4|0,b)|0)+-1)|0;e=e+1|0;f=f+(d[i>>0]|0)|0;g=g+(d[h>>0]|0)|0}h=H((f+2|0)>>>2,16843009)|0;f=(g+2|0)>>>2;e=0;while(1){if((e|0)==4)break;i=a+(H(e,b)|0)|0;c[i>>2]=h;c[i+4>>2]=h;e=e+1|0}f=H(f,16843009)|0;e=4;while(1){if((e|0)==8)break;i=a+(H(e,b)|0)|0;c[i>>2]=f;c[i+4>>2]=f;e=e+1|0}return}function Sr(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<6;j=f<<6;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function Tr(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<4;j=f<<4;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function Ur(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<2;j=f<<2;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function Vr(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<1;j=f<<1;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function Wr(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=0;f=0;while(1){if((f|0)==4)break;i=a+((H(f,b)|0)+-1)|0;h=f+4|0;g=a+((H(h,b)|0)+-1)|0;e=e+(d[i>>0]|0)+(d[a+(f-b)>>0]|0)+(d[a+(h-b)>>0]|0)+(d[g>>0]|0)|0;f=f+1|0}f=H((e+8|0)>>>4,16843009)|0;e=0;while(1){if((e|0)==4)break;i=a+(H(e,b)|0)|0;c[i>>2]=f;c[i+4>>2]=f;e=e+1|0}e=4;while(1){if((e|0)==8)break;i=a+(H(e,b)|0)|0;c[i>>2]=f;c[i+4>>2]=f;e=e+1|0}return}function Xr(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=g+(H(f,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;c[a>>2]=(d[b>>0]|0)<<24^-2147483648;i=b+e|0;j=a+f|0;c[j>>2]=(d[i>>0]|0)<<24^-2147483648;i=i+e|0;j=j+f|0;c[j>>2]=(d[i>>0]|0)<<24^-2147483648;i=i+e|0;j=j+f|0;c[j>>2]=(d[i>>0]|0)<<24^-2147483648;a=j+f|0;b=i+e|0}while(1){if(a>>>0>=g>>>0)break;c[a>>2]=(d[b>>0]|0)<<24^-2147483648;a=a+f|0;b=b+e|0}return}function Yr(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<6|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function Zr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=Mb;Mb=Mb+32|0;f=g+8|0;e=a+4|0;b=c[e>>2]|0;a:do if(c[b+680>>2]&2048|0){Xw(b,48,197983,g);d=a+29540|0;b=0;while(1){if(b>>>0>=(c[d>>2]|0)>>>0)break a;i=c[a+28332+(b<<2)>>2]|0;h=c[e>>2]|0;k=c[i+88>>2]|0;j=c[i+84>>2]|0;i=c[c[i>>2]>>2]|0;c[f>>2]=b;c[f+4>>2]=k;c[f+8>>2]=j;c[f+12>>2]=i;Xw(h,48,197963,f);b=b+1|0}}while(0);Mb=g;return}function _r(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=Mb;Mb=Mb+32|0;g=i+16|0;h=i;f=oT(b)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;a:do if((f|0)!=0?(0==0?(c[f+8>>2]&8|0)==0:0):0){Yt(g,h,f);e=0;while(1){if(e>>>0>=4){b=0;break a}b=Pw(d,c[g+(e<<2)>>2]|0,c[h+(e<<2)>>2]|0,f)|0;if((b|0)<0)break a;c[a+(e<<2)>>2]=b;e=e+1|0}}else b=-22;while(0);Mb=i;return b|0}function $r(a,b){a=a|0;b=b|0;var d=0,e=0;if(((c[a+12>>2]|0)-(c[a>>2]|0)|0)>>>0<b>>>0){d=rT(a)|0;b=KT(b)|0;if(!b)b=-12;else{zw(a,c[b>>2]|0,d,0)|0;e=b+8|0;c[e>>2]=(c[e>>2]|0)+d;e=b+20|0;c[e>>2]=(c[e>>2]|0)+d;gV(c[a>>2]|0);c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];gV(b);b=0}}else b=0;return b|0}function as(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<4|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function bs(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<2|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function cs(a){a=a|0;var b=0,d=0,e=0;b=c[a+29540>>2]|0;do if((b|0)!=0?((c[a+29536>>2]|0)+b|0)>=(c[(c[a+28200>>2]|0)+48>>2]|0):0){e=(c[a+26364>>2]|0)==3;if((!e?(c[a+26368>>2]|0)==0:0)?c[(c[a+24312>>2]|0)+640>>2]|0:0){b=0;break}c[a+28732>>2]=1;d=c[(c[a+28332+(b+-1<<2)>>2]|0)+88>>2]|0;b=a+28736|0;c[b>>2]=d;d=d<<1;if(e)b=1;else{c[b>>2]=d;c[a+28744>>2]=1;c[a+28748>>2]=d|1;b=2}}else b=0;while(0);c[a+29524>>2]=b;return}function ds(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a+64>>2]|0;av(b);do if((aU(a)|0)!=0?(eO(c[a+12>>2]|0)|0)!=0:0){d=Sh(a)|0;if((d|0)>=0){d=c[e+76>>2]|0;if(!(c[d+248>>2]|0)){d=$u(a,b)|0;if((d|0)<0)break}else _M(b,d);if((c[a+8>>2]|0)==0?(f=Oo(a,b)|0,(f|0)<0):0){av(b);d=f;break}d=a+432|0;c[d>>2]=(c[d>>2]|0)+1;d=0}}else d=-22;while(0);return d|0}function es(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<1|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function fs(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;rk(f|0,f+4096|0,1152)|0;rk(f+1152|0,e|0,4096)|0;j=a+28|0;k=d+12|0;l=b+44|0;m=g+256|0;n=d+16|0;e=0;a=f;while(1){if((e|0)==32)break;hc[c[j>>2]&255](g,283456,a,320);dc[c[d>>2]&31](g);dc[c[k>>2]&31](g);gc[c[l>>2]&1023](b,g,m);ec[c[n>>2]&255](h+(i<<13)+(e<<8)|0,g);e=e+1|0;a=a+128|0}return}function gs(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var i=0;i=c[g>>2]|0;f[a>>2]=+f[b+((d&3)<<2)>>2]*(c[h>>2]=i^e&-2147483648,+f[h>>2]);g=e<<(d>>>12&1);f[a+4>>2]=+f[b+((d>>>2&3)<<2)>>2]*(c[h>>2]=i^g&-2147483648,+f[h>>2]);g=g<<(d>>>13&1);f[a+8>>2]=+f[b+((d>>>4&3)<<2)>>2]*(c[h>>2]=i^g&-2147483648,+f[h>>2]);f[a+12>>2]=+f[b+((d>>>6&3)<<2)>>2]*(c[h>>2]=i^g<<(d>>>14&1)&-2147483648,+f[h>>2]);return a+16|0}function hs(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=XJ((d+2|0)>>>2|0,0,65537,65537)|0;i=M()|0;d=XJ((g+2|0)>>>2|0,0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==16)break;g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}return}function is(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=Mb;Mb=Mb+16|0;h=i;if((c[e>>2]|0)>>>0>=f>>>0)if(f|0?(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)==0:0){c[h>>2]=203182;c[h+4>>2]=185162;c[h+8>>2]=33;Xw(0,0,213444,h);ba()}else g=0;else{g=f+32+(f>>>4)|0;g=g>>>0>f>>>0?g:f;hM(b);h=YQ(g)|0;a[b>>0]=h;a[b+1>>0]=h>>8;a[b+2>>0]=h>>16;a[b+3>>0]=h>>24;c[e>>2]=(h|0)==0?0:g;g=1}Mb=i;return g|0}function js(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+16|0;h=j;g=YQ(24)|0;c[h>>2]=g;i=g;do if(g){c[g>>2]=a;c[g+4>>2]=b;c[g+12>>2]=(d|0)==0?194:d;c[g+16>>2]=e;c[g+8>>2]=1;if(f&1|0){g=g+20|0;c[g>>2]=c[g>>2]|1}d=YQ(12)|0;if(!d){hM(h);d=0;break}else{c[d>>2]=i;c[d+4>>2]=a;c[d+8>>2]=b;break}}else d=0;while(0);Mb=j;return d|0}function ks(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Mb;Mb=Mb+16|0;j=l;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(By(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((Yb[c[b+36>>2]&15](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);Mb=l;return f|0}function ls(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=Mb;Mb=Mb+16|0;f=h;if((uL(e)|0)!=0?(i=Hz(e,5)|0,c[d+108>>2]=i,(i|0)==0|(i|0)>30):0){Xw(c[b+4>>2]|0,16,188504,f);b=-1094995529}else g=4;a:do if((g|0)==4){f=b+6476|0;b=0;while(1){i=a[d>>0]|0;g=a[191371+(c[f>>2]|0)>>0]|0;if(b>>>0>=(((i&255)>(g&255)?g:i)&255)>>>0){b=0;break a}i=(uL(e)|0)&255;a[d+236+b>>0]=i;b=b+1|0}}while(0);Mb=h;return b|0}function ms(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+16|0;i=j;a[i>>0]=d;a[i+1>>0]=0;e=0;f=b;g=0;while(1){h=a[f>>0]|0;if(!(h<<24>>24))break;h=h<<24>>24==d<<24>>24;e=h?f:e;f=f+1|0;g=g+(h&1)|0}g=wc((g+(e>>>0<(b+(hu(b)|0)+-1|0)>>>0&1)<<2)+4|0)|0;if(g|0){f=0;e=b;while(1){e=tv(e,i)|0;if(!e)break;e=hO(e)|0;c[g+(f<<2)>>2]=e;f=f+1|0;e=0}c[g+(f<<2)>>2]=0}nd(b);Mb=j;return g|0}function ns(a,c,e,f,g){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=g+(H(f,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;b[a>>1]=((d[c>>0]|0)<<8)+32768;i=c+e|0;j=a+f|0;b[j>>1]=((d[i>>0]|0)<<8)+32768;i=i+e|0;j=j+f|0;b[j>>1]=((d[i>>0]|0)<<8)+32768;i=i+e|0;j=j+f|0;b[j>>1]=((d[i>>0]|0)<<8)+32768;a=j+f|0;c=i+e|0}while(1){if(a>>>0>=g>>>0)break;b[a>>1]=((d[c>>0]|0)<<8)+32768;a=a+f|0;c=c+e|0}return}function os(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Mb;Mb=Mb+32|0;f=g+8|0;e=a+4|0;b=c[e>>2]|0;a:do if(c[b+680>>2]&2048|0){Xw(b,48,197946,g);b=0;while(1){if((b|0)==16)break a;d=c[a+28460+(b<<2)>>2]|0;if(d|0){h=c[e>>2]|0;j=c[d+88>>2]|0;i=c[d+84>>2]|0;d=c[c[d>>2]>>2]|0;c[f>>2]=b;c[f+4>>2]=j;c[f+8>>2]=i;c[f+12>>2]=d;Xw(h,48,197963,f)}b=b+1|0}}while(0);Mb=g;return}function ps(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=g+(H(f,-3)|0)|0;while(1){if(b>>>0>=h>>>0)break;a[b>>0]=((c[d>>2]|0)>>>24)+128;i=d+e|0;j=b+f|0;a[j>>0]=((c[i>>2]|0)>>>24)+128;i=i+e|0;j=j+f|0;a[j>>0]=((c[i>>2]|0)>>>24)+128;i=i+e|0;j=j+f|0;a[j>>0]=((c[i>>2]|0)>>>24)+128;b=j+f|0;d=i+e|0}while(1){if(b>>>0>=g>>>0)break;a[b>>0]=((c[d>>2]|0)>>>24)+128;b=b+f|0;d=d+e|0}return}function qs(b,c,d,f,g){b=b|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=g+(H(f,-3)|0)|0;while(1){if(b>>>0>=h>>>0)break;a[b>>0]=((e[c>>1]|0)>>>8)+128;i=c+d|0;j=b+f|0;a[j>>0]=((e[i>>1]|0)>>>8)+128;i=i+d|0;j=j+f|0;a[j>>0]=((e[i>>1]|0)>>>8)+128;i=i+d|0;j=j+f|0;a[j>>0]=((e[i>>1]|0)>>>8)+128;b=j+f|0;c=i+d|0}while(1){if(b>>>0>=g>>>0)break;a[b>>0]=((e[c>>1]|0)>>>8)+128;b=b+f|0;c=c+d|0}return}function rs(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=0;while(1){if((f|0)==2)break;l=d[c+-2>>0]|0;g=d[c>>0]|0;i=d[c+2>>0]|0;j=d[c+4>>0]|0;h=d[c+6>>0]|0;k=d[c+8>>0]|0;m=(d[c+-4>>0]|0)+16+h+((i+g|0)*20|0)+(H(j+l|0,-5)|0)>>5;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;g=l+16+k+((j+i|0)*20|0)+(H(h+g|0,-5)|0)>>5;a[b+e>>0]=g>>>0>255?(g^-2147483648)>>31:g;f=f+1|0;b=b+1|0;c=c+1|0}return}function ss(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=(e|0)!=0;g=b+12|0;h=c[b+8>>2]|0;while(1){if(!(f&(h|0)>0)){b=4;break}b=h+-1|0;e=a[(c[g>>2]|0)+b>>0]|0;if(!(e<<24>>24))h=b;else{f=e;b=6;break}}if((b|0)==4)if(!h)e=0;else{f=a[(c[g>>2]|0)+(h+-1)>>0]|0;b=6}if((b|0)==6){b=f&255;if((h|0)<=268435455){e=h<<3;if(f<<24>>24){h=91024+((H(0-b&b,125613361)|0)>>>27)|0;e=e+-1-(d[h>>0]|0)|0}}else e=-34}return e|0}function ts(a){a=a|0;var b=0,d=0;d=c[a+60>>2]|0;_s(d);fo(d);a=0;while(1){if((a|0)==36)break;b=d+696+(a*656|0)|0;Cw(d,b);QP(b);a=a+1|0}a=d+28588|0;b=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[d+24312>>2]=0;hM(d+25628|0);c[d+25632>>2]=0;II(d+29660|0);JB(d+27036|0);ZH(d+25640|0);b=d+24316|0;Cw(d,b);QP(b);b=d+24972|0;Cw(d,b);QP(b);return 0}function us(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=4-b|0;e=0;f=0;h=0;while(1){if((e|0)==4)break;j=f+(d[a+(e-b)>>0]|0)|0;i=h+(d[a+(g+e)>>0]|0)|0;e=e+1|0;f=j;h=i}g=H((f+2|0)>>>2,16843009)|0;f=H((h+2|0)>>>2,16843009)|0;e=0;while(1){if((e|0)==4)break;j=a+(H(e,b)|0)|0;c[j>>2]=g;c[j+4>>2]=f;e=e+1|0}e=4;while(1){if((e|0)==8)break;j=a+(H(e,b)|0)|0;c[j>>2]=g;c[j+4>>2]=f;e=e+1|0}return}function vs(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=(f|0)!=1;k=c[g>>2]|0;i=0;j=0;h=0;while(1){if((k|0)>=(e|0)){m=9;break}if((d[b+(k*3|0)+2>>0]|0)!=(f|0)){m=9;break}if((a[b+(k*3|0)>>0]|0)==1){if((i|0)!=0&(l|(j|0)!=0)){h=-1;break}j=1;h=h+2|0;i=0}else{h=h+1|0;i=i^1}k=k+1|0}do if((m|0)==9){if(i|0?(f|0)==2|(f|0)==1&(j|0)!=0:0){h=-1;break}c[g>>2]=k}while(0);return h|0}function ws(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=Mb;Mb=Mb+16|0;i=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;k=e>>31|((e|0)<0?-1:0)<<1;j=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=QO(h^a|0,g^b|0,h|0,g|0)|0;b=M()|0;Ie(a,b,QO(k^d|0,j^e|0,k|0,j|0)|0,M()|0,i)|0;e=QO(c[i>>2]^h|0,c[i+4>>2]^g|0,h|0,g|0)|0;d=M()|0;Mb=f;return (L(d|0),e)|0}function xs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=Mb;Mb=Mb+80|0;b=e;d=a+192|0;i=(c[d>>2]|0)+16|0;g=a+256|0;g=QO(c[i>>2]|0,c[i+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;i=M()|0;j=pC()|0;j=pu(j|0,M()|0,1e3,0)|0;h=M()|0;f=a+264|0;f=QO(j|0,h|0,c[f>>2]|0,c[f+4>>2]|0)|0;h=M()|0;if(!((i|0)>(h|0)|(i|0)==(h|0)&g>>>0>f>>>0)?(Ao(d,b)|0)==1:0){be(a,b);gP(b)}Mb=e;return}function ys(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=Mb;Mb=Mb+16|0;e=f;i=b;i=cN(c[i>>2]|0,c[i+4>>2]|0,3)|0;h=M()|0;g=e;c[g>>2]=i;c[g+4>>2]=h;Nn(b,208316,1);while(1){if(0==0?(c[b>>2]&63|0)==56:0)break;Nn(b,1104084,1)}Nn(b,e,8);e=0;while(1){if((e|0)==4)break;h=c[b+72+(3-e<<2)>>2]|0;i=d+(e<<2)|0;a[i>>0]=h;a[i+1>>0]=h>>8;a[i+2>>0]=h>>16;a[i+3>>0]=h>>24;e=e+1|0}Mb=f;return}function zs(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=0;while(1){if((l|0)==4)break;i=b+-1|0;j=d[i>>0]|0;k=d[b+-2>>0]|0;g=d[b>>0]|0;h=d[b+1>>0]|0;m=j-g|0;if(((((m|0)>-1?m:0-m|0)|0)<(e|0)?(m=k-j|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0)?(m=h-g|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0){a[i>>0]=(j+2+(k<<1)+h|0)>>>2;a[b>>0]=(k+2+g+(h<<1)|0)>>>2}l=l+1|0;b=b+c|0}return}function As(a){a=a|0;var b=0,d=0,e=0,f=0;c[a+28728>>2]=-2147483648;c[a+29548>>2]=1;iI(a);c[a+28248>>2]=-1;f=a+24312|0;b=c[f>>2]|0;if(b|0){c[b+640>>2]=0;b=0;e=0;while(1){d=c[a+28588+(e<<2)>>2]|0;if(!d)break;if((d|0)!=(c[f>>2]|0)){c[a+28588+(b<<2)>>2]=d;b=b+1|0}e=e+1|0}c[a+28588+(b<<2)>>2]=0}Cw(a,a+24972|0);c[a+26368>>2]=0;c[a+29556>>2]=-1;c[a+29560>>2]=0;c[a+29544>>2]=0;c[a+29528>>2]=1;return}function Bs(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=0;while(1){if((l|0)==16)break;i=b+-1|0;j=d[i>>0]|0;k=d[b+-2>>0]|0;g=d[b>>0]|0;h=d[b+1>>0]|0;m=j-g|0;if(((((m|0)>-1?m:0-m|0)|0)<(e|0)?(m=k-j|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0)?(m=h-g|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0){a[i>>0]=(j+2+(k<<1)+h|0)>>>2;a[b>>0]=(k+2+g+(h<<1)|0)>>>2}l=l+1|0;b=b+c|0}return}function Cs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=Mb;Mb=Mb+16|0;f=h;g=a+4|0;c[g>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];d=Ff(c[a>>2]|0,c[b>>2]|0)|0;if((d|0)>=0){e=a+12|0;if(c[e>>2]|0){c[f>>2]=187210;c[f+4>>2]=185241;c[f+8>>2]=2074;Xw(0,0,213444,f);ba()}d=c[b+12>>2]|0;if((d|0)!=0?(f=$H(d)|0,c[e>>2]=f,(f|0)==0):0){qo(c[g>>2]|0,a);d=-12}else d=0}Mb=h;return d|0}function Ds(b){b=b|0;var c=0,d=0,e=0;d=(a[b>>0]|0)==0?157856:b;b=157856;while(1){if(!(oq(d,b)|0)){e=3;break}b=b+((hu(b)|0)+1)|0;c=a[b>>0]|0;if(!(c<<24>>24)){c=a[b+1>>0]|0;if((c&255)>128)c=2;else c=(((128-(c&255)|0)>>>2)*5|0)+2|0;c=b+c|0;b=c;c=a[c>>0]|0}if(!(c<<24>>24)){b=-1;break}}if((e|0)==3){if(a[b>>0]|0)do b=b+((hu(b)|0)+1)|0;while((a[b>>0]|0)!=0);b=b+1-157856|0}return b|0}function Es(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=0;while(1){if((l|0)==8)break;i=b+-1|0;j=d[i>>0]|0;k=d[b+-2>>0]|0;g=d[b>>0]|0;h=d[b+1>>0]|0;m=j-g|0;if(((((m|0)>-1?m:0-m|0)|0)<(e|0)?(m=k-j|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0)?(m=h-g|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0){a[i>>0]=(j+2+(k<<1)+h|0)>>>2;a[b>>0]=(k+2+g+(h<<1)|0)>>>2}l=l+1|0;b=b+c|0}return}function Fs(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=(j+1|1)<<g;k=g+1|0;j=b;g=0;while(1){if((g|0)>=(f|0))break;m=H(d[c>>0]|0,i)|0;m=m+l+(H(d[j>>0]|0,h)|0)>>k;a[j>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H(d[c+1>>0]|0,i)|0;b=j+1|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;c=c+e|0;j=j+e|0;g=g+1|0}return}function Gs(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;g=a+((H(d,h)|0)+-1<<1)|0;b=b+(e[g>>1]|0)|0;d=d+1|0}f=XJ((b+8|0)>>>4|0,0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function Hs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;a:do if((d|0)>=0){h=a+8|0;g=c[h>>2]|0;d=(g|0)<(d|0)?g:d;if(!d)d=0;else{f=H(c[a+24>>2]|0,d)|0;g=a+4|0;e=0;while(1){if((e|0)>=(c[g>>2]|0))break;if((zw(c[(c[a>>2]|0)+(e<<2)>>2]|0,c[b+(e<<2)>>2]|0,f,0)|0)<0){d=-558323010;break a}else e=e+1|0}c[h>>2]=(c[h>>2]|0)-d}}else d=-22;while(0);return d|0}function Is(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){do{e=b;b=ZR(b|0,c|0,10,0)|0;f=c;c=M()|0;g=XJ(b|0,c|0,10,0)|0;g=QO(e|0,f|0,g|0,M()|0)|0;M()|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g-(c*10|0)|48}while(g>>>0>=10);return d|0}function Js(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=Mb;Mb=Mb+16|0;h=i;e=c[a+12>>2]|0;if((e|0?(f=c[e+4>>2]|0,f|0):0)?(g=f+(d<<2)|0,(c[g>>2]|0)<(b|0)):0){a=a+4+(d<<2)|0;e=c[(c[(c[a>>2]|0)+64>>2]|0)+20>>2]|0;if(c[e+344>>2]|0){a=c[a>>2]|0;c[h>>2]=f;c[h+4>>2]=b;c[h+8>>2]=d;Xw(a,48,184721,h)}h=e+184|0;jV(h)|0;c[g>>2]=b;jV(e+60|0)|0;jV(h)|0}Mb=i;return}function Ks(a,b,d,e,f,h,i,j,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0.0;o=Mb;Mb=Mb+16|0;n=o;c[n>>2]=0;b=kk(n,b,d,f,h,i,j,l,m)|0;if((b|0)<0)g[a>>3]=r;else{b=c[n>>2]|0;p=+tB(b,e,k);g[a>>3]=p;UH(b);b=UO(+g[a>>3])|0;k=(M()|0)&2147483647;b=k>>>0>2146435072|(k|0)==2146435072&b>>>0>0?-22:0}Mb=o;return b|0}function Ls(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=f>>1;h=f&-2;i=k*3|0;j=k<<2;g=d;f=a+(0-k<<1)|0;a=0;while(1){if((a|0)==4)break;l=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(k<<1)>>1]=l;l=(c[g+16>>2]|0)+l|0;b[f+(h<<1)>>1]=l;l=(c[g+32>>2]|0)+l|0;b[f+(i<<1)>>1]=l;b[f+(j<<1)>>1]=(c[g+48>>2]|0)+l;g=g+4|0;f=f+2|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function Ms(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=g+(H(f,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;b[a>>1]=(c[d>>2]|0)>>>16;i=d+e|0;j=a+f|0;b[j>>1]=(c[i>>2]|0)>>>16;i=i+e|0;j=j+f|0;b[j>>1]=(c[i>>2]|0)>>>16;i=i+e|0;j=j+f|0;b[j>>1]=(c[i>>2]|0)>>>16;a=j+f|0;d=i+e|0}while(1){if(a>>>0>=g>>>0)break;b[a>>1]=(c[d>>2]|0)>>>16;a=a+f|0;d=d+e|0}return}function Ns(a,b,d,f,g){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=g+(H(f,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;c[a>>2]=(e[b>>1]|0)<<16;i=b+d|0;j=a+f|0;c[j>>2]=(e[i>>1]|0)<<16;i=i+d|0;j=j+f|0;c[j>>2]=(e[i>>1]|0)<<16;i=i+d|0;j=j+f|0;c[j>>2]=(e[i>>1]|0)<<16;a=j+f|0;b=i+d|0}while(1){if(a>>>0>=g>>>0)break;c[a>>2]=(e[b>>1]|0)<<16;a=a+f|0;b=b+d|0}return}function Os(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=sU(a)|0;if(!d){g=uL(a)|0;c[b+48>>2]=g;a:do if(g|0){f=b+44|0;g=b+416|0;e=b+586|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break a;i=uL(a)|0;of(a,b,g,(i|0)==0?6:7,d,i);i=uL(a)|0;of(a,b,e,(i|0)==0?8:9,d,i);d=d+1|0}}while(0);zU(a);d=(sU(a)|0)-h|0}else d=0;return d|0}function Ps(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==9)break;h=c;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;c=c+e|0;b=b+8|0}return}function Qs(a){a=+a;var b=0,d=0,e=0,g=0.0,i=0.0,j=0.0;b=(f[h>>2]=a,c[h>>2]|0);d=b&2147483647;do if(d>>>0>2139095039)a=a+a;else{if(d>>>0<8388608){if(!d)break;b=(f[h>>2]=a*16777216.0,c[h>>2]|0);e=642849266;d=b&2147483647}else e=709958130;g=(c[h>>2]=b&-2147483648|((d>>>0)/3|0)+e,+f[h>>2]);j=g*g*g;i=a+a;j=(i+j)*g/(j+(j+a));g=j*(j*j);a=j*(i+g)/(g+(g+a))}while(0);return +a}function Rs(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==8)break;h=c;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;c=c+e|0;b=b+8|0}return}function Ss(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;j=1;while(1){if((j|0)==3)break;k=j<<4;m=k|4;n=e+(j+-1<<2)|0;while(1){if(k>>>0>=m>>>0)break;if(!(a[i+(d[88656+k>>0]|0)>>0]|0)){l=g+(k<<4<<1)|0;if(b[l>>1]|0)mx((c[n>>2]|0)+(c[f+(k<<2)>>2]|0)|0,l,h)}else hk((c[n>>2]|0)+(c[f+(k<<2)>>2]|0)|0,g+(k<<4<<1)|0,h);k=k+1|0}j=j+1|0}return}function Ts(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if(j>>>0>=k>>>0)break;if(!(a[h+(d[88656+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)yw((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else Kj((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function Us(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if(j>>>0>=k>>>0)break;if(!(a[h+(d[88656+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)Dw((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else Mj((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function Vs(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if(j>>>0>=k>>>0)break;if(!(a[h+(d[88656+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)Ew((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else Nj((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function Ws(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;i=Mb;Mb=Mb+80|0;j=i+60|0;h=i+40|0;k=i;l=OP(a,b)|0;b=M()|0;a=k;c[a>>2]=l;c[a+4>>2]=b;rM(j,k+1|0);a=vp(j,h)|0;if((a|0)<0)a=0;else{c[f>>2]=0;c[g>>2]=1;c[e+56>>2]=c[h>>2];c[e+52>>2]=d[200859+(d[h+15>>0]|0)>>0];c[e+64>>2]=c[h+4>>2];c[e+60>>2]=c[h+8>>2]}Mb=i;return a|0}function Xs(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;f=b+c|0;a:do if((c|0)!=0&((b|0)!=0&(d|0)!=0))if(!(a[f+-1>>0]|0)){e=b;b=0;while(1){if(e>>>0>=f>>>0)break a;c=e+(hu(e)|0)+1|0;if(c>>>0>=f>>>0){b=-1094995529;break a}if(!(a[e>>0]|0)){b=-1094995529;break a}b=Ef(d,e,c,0)|0;if((b|0)<0)break a;e=c+(hu(c)|0)+1|0}}else b=-1094995529;else b=0;while(0);return b|0}function Ys(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if(j>>>0>=k>>>0)break;if(!(a[h+(d[88656+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)Hw((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else Oj((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function Zs(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;a:do if((b|0)!=0&(c|0)!=0){g=hu(b)|0;while(1){d=a[c>>0]|0;if(!(d<<24>>24)){c=0;break a}f=d<<24>>24==45;d=bQ(c,44)|0;if(!d)d=c+(hu(c)|0)|0;c=c+(f&1)|0;e=d-c|0;if(!(cx(b,c,(e|0)>(g|0)?e:g)|0))break;if(!(ev(201473,c,(e|0)>3?e:3)|0))break;c=d+((a[d>>0]|0)==44&1)|0}c=(f^1)&1}else c=0;while(0);return c|0}function _s(a){a=a|0;var b=0,d=0,e=0;b=0;while(1){if((b|0)==16)break;OH(a,b,0);b=b+1|0}d=a+29540|0;if(c[d>>2]|0?(e=a+24972|0,(c[c[e>>2]>>2]|0)==0):0){Cw(a,e);cg(a,e,c[a+28332>>2]|0)|0}b=0;while(1){if((b|0)>=(c[d>>2]|0))break;e=a+28332+(b<<2)|0;ex(a,c[e>>2]|0,0)|0;c[e>>2]=0;b=b+1|0}c[d>>2]=0;b=a+28252|0;d=b+80|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));return}function $s(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=d[a+-1>>0]|0;k=d[a+(e+-1)>>0]|0;h=e<<1;i=d[a+(h+-1)>>0]|0;b=e*3|0;f=d[a+(b+-1)>>0]|0;j=k+2|0;g=H((j+(d[a+~e>>0]|0)+(l<<1)|0)>>>2,16843009)|0;c[a>>2]=g;g=i+2|0;k=H((g+l+(k<<1)|0)>>>2,16843009)|0;c[a+e>>2]=k;e=H((j+(i<<1)+f|0)>>>2,16843009)|0;c[a+h>>2]=e;e=H((g+f+(f<<1)|0)>>>2,16843009)|0;c[a+b>>2]=e;return}function at(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=c[a+260>>2]|0;a:do if(!(c[b+272>>2]|0)){d=H(f,d)|0;g=a+264|0;while(1){e=f+-1|0;if((f|0)<=0)break a;f=(c[b>>2]|0)+(H(c[g>>2]|0,e+d|0)|0)|0;c[a+(e<<2)>>2]=f;f=e}}else{g=a+264|0;e=0;while(1){if((e|0)>=(f|0))break a;h=(c[b+(e<<2)>>2]|0)+(H(c[g>>2]|0,d)|0)|0;c[a+(e<<2)>>2]=h;e=e+1|0}}while(0);return}function bt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=Mb;Mb=Mb+16|0;e=g;do if(b){if((c[b+24>>2]|0)==0?(c[b+44>>2]|0)==0:0){f=4;break}d=c[a+8>>2]|0;if(c[d+4>>2]|0){Xw(a,16,191659,e);a=-22;break}a=c[d>>2]|0;if((c[a+24>>2]|0)==0?(c[a+44>>2]|0)==0:0){cJ(a,b);a=0}else a=-11}else f=4;while(0);if((f|0)==4){c[(c[a+8>>2]|0)+4>>2]=1;a=0}Mb=g;return a|0}function ct(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=(c[a+4>>2]|0)+1|0;g=a+8|0;e=c[g>>2]|0;f=f>>>0>e>>>0?e:f;e=c[a>>2]|0;d=(e|0)!=(a+16|0);if(!b)if(d){hM(a);d=0}else d=0;else{if(!d){e=jx(f)|0;if(!e){d=-12;e=0}else{rk(e|0,c[a>>2]|0,f|0)|0;d=0}}else{e=MO(e,f)|0;if(!e)e=c[a>>2]|0;c[a>>2]=0;d=0}c[b>>2]=e}c[g>>2]=f;return d|0}function dt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=(d|0)!=0;if(!((b|0)!=0&f?(e=jh(a)|0,(e|0)<0):0)){c[a+44>>2]=d;e=c[a+16>>2]|0;if(f){f=XJ(e|0,((e|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;f=pu(f|0,M()|0,d|0,((d|0)<0)<<31>>31|0)|0;M()|0;e=e-f|0}c[a+20>>2]=e;f=c[a+40>>2]|0;d=(e|0)/(f|0)|0;c[a+24>>2]=d;e=e-(H(d,f)|0)|0;c[a+28>>2]=e;e=0}return e|0}function et(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=XJ((b+8|0)>>>4|0,0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function ft(a){a=a|0;var b=0,d=0,e=0,f=0;jV(a)|0;d=a+28|0;e=c[d>>2]|0;do if(!e){b=Uq(a)|0;jV(a)|0;if(!b)b=0;else f=6}else{b=js(c[e>>2]|0,c[a+36>>2]|0,195,e,0)|0;if(!b){jV(a)|0;b=0;break}else{f=e+16|0;c[d>>2]=c[f>>2];c[f>>2]=0;jV(a)|0;f=6;break}}while(0);if((f|0)==6){f=a+32|0;c[f>>2]=(c[f>>2]|0)+1}return b|0}function gt(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0.0,j=0.0,k=0,l=0;l=0;h=+(1-(e<<1&2)|0);while(1){h=-h;if((l|0)>=(g|0))break;e=a+(l<<3)|0;k=a+(l<<3)+4|0;d=d+1&511;i=+f[b+(l<<2)>>2];if(i!=0.0){j=i*0.0;i=i*h}else{i=+f[c+(l<<2)>>2];j=i*+f[44368+(d<<3)>>2];i=i*+f[44368+(d<<3)+4>>2]}i=+f[k>>2]+i;f[e>>2]=+f[e>>2]+j;f[k>>2]=i;l=l+1|0}return}function ht(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0.0,j=0.0,k=0,l=0;l=0;j=+(1-(e<<1&2)|0);while(1){if((l|0)>=(g|0))break;e=a+(l<<3)|0;k=a+(l<<3)+4|0;d=d+1&511;h=+f[b+(l<<2)>>2];if(h!=0.0){i=h*0.0;h=j*h}else{h=+f[c+(l<<2)>>2];i=h*+f[44368+(d<<3)>>2];h=h*+f[44368+(d<<3)+4>>2]}h=+f[k>>2]+h;f[e>>2]=+f[e>>2]+i;f[k>>2]=h;l=l+1|0;j=-j}return}function it(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+8|0;e=c[g>>2]|0;h=e+b|0;c[g>>2]=h;f=a+12|0;b=c[f>>2]|0;do if((h|0)>(b|0)){if(d|0)ba();b=(1<<c[a>>2])+b|0;c[f>>2]=b;h=a+4|0;b=nI(c[h>>2]|0,b,4)|0;c[h>>2]=b;if(!b){c[f>>2]=0;c[g>>2]=0;e=-12;break}else{h=c[a>>2]|0;Wp(b+(c[f>>2]<<2)+(-1<<h<<2)|0,0,4<<h|0)|0;break}}while(0);return e|0}function jt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=Mb;Mb=Mb+16|0;d=f+8|0;e=f;h=c[a+124>>2]|0;g=c[a+128>>2]|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];d=vv(h,g,d)|0;if((d|0)<0){h=c[b+4>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=h;Xw(a,24,185189,e);c[a+228>>2]=0;c[a+232>>2]=1}else{g=b;h=c[g+4>>2]|0;d=a+228|0;c[d>>2]=c[g>>2];c[d+4>>2]=h;d=0}Mb=f;return d|0}function kt(a){a=a|0;var b=0,e=0,f=0,g=0;g=Mb;Mb=Mb+16|0;f=g;b=oT(a)|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;a:do if(!b)a=-22;else{e=d[b+4>>0]|0;a=0;while(1){if((a|0)==(e|0))break;c[f+(c[b+16+(a<<5)>>2]<<2)>>2]=1;a=a+1|0}a=0;b=0;while(1){if((b|0)==4)break a;a=(c[f+(b<<2)>>2]|0)+a|0;b=b+1|0}}while(0);Mb=g;return a|0}function lt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=GE(b)|0;c[a+4>>2]=d;d=uL(b)|0;c[a+8>>2]=d;d=(d|0)==0;c[a>>2]=d&1;if(d){f=Hz(b,7)|0;d=a+12|0;c[d>>2]=f;f=uL(b)|0;e=a+24|0;c[e>>2]=f;f=Hz(b,6)|0;c[a+20>>2]=f;gO(b,6);if((c[e>>2]|0)==0?(c[d>>2]|0)!=5:0)gO(b,16);gO(b,8);f=GE(b)|0;c[a+16>>2]=f}zU(b);return}function mt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=Mb;Mb=Mb+48|0;g=h+32|0;f=h+16|0;e=h;if(!(b&4194368))e=0;else{c[e>>2]=d;i=(c[e>>2]|0)+(4-1)&~(4-1);d=c[i>>2]|0;c[e>>2]=i+4;e=d}c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=e;e=T(5,f|0)|0;if(!((b&524288|0)==0|(e|0)<0)){c[g>>2]=e;c[g+4>>2]=2;c[g+8>>2]=1;R(221,g|0)|0}i=tP(e)|0;Mb=h;return i|0}function nt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Mb;Mb=Mb+16|0;f=k;g=a+8|0;h=a+4|0;while(1){i=c[g>>2]|0;e=c[h>>2]|0;i=i-(e>>>0>i>>>0?i:e)|0;if(!i)e=0;else e=(c[a>>2]|0)+e|0;c[f>>2]=c[d>>2];e=Vq(e,i,b,f)|0;if((e|0)<1)break;if(e>>>0<i>>>0){j=7;break}if(Xq(a,e)|0){j=7;break}}if((j|0)==7)cG(a,e);Mb=k;return}function ot(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f+(H(e,-3)|0)|0;while(1){if(a>>>0>=g>>>0)break;c[a>>2]=c[b+4>>2];h=b+d|0;i=a+e|0;c[i>>2]=c[h+4>>2];h=h+d|0;i=i+e|0;c[i>>2]=c[h+4>>2];h=h+d|0;i=i+e|0;c[i>>2]=c[h+4>>2];a=i+e|0;b=h+d|0}while(1){if(a>>>0>=f>>>0)break;c[a>>2]=c[b+4>>2];a=a+e|0;b=b+d|0}return}function pt(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f+(H(e,-3)|0)|0;while(1){if(a>>>0>=g>>>0)break;b[a>>1]=b[c>>1]|0;h=c+d|0;i=a+e|0;b[i>>1]=b[h>>1]|0;h=h+d|0;i=i+e|0;b[i>>1]=b[h>>1]|0;h=h+d|0;i=i+e|0;b[i>>1]=b[h>>1]|0;a=i+e|0;c=h+d|0}while(1){if(a>>>0>=f>>>0)break;b[a>>1]=b[c>>1]|0;a=a+e|0;c=c+d|0}return}function qt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+16|0;f=j;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;g=f+4|0;h=f+8|0;i=f+12|0;e=8;while(1){if(e>>>0>=64)break;c[f>>2]=d;a[g>>0]=e;QM(f,f,16);c[b+(e<<2)>>2]=c[f>>2];c[b+((e|1)<<2)>>2]=c[g>>2];c[b+((e|2)<<2)>>2]=c[h>>2];c[b+((e|3)<<2)>>2]=c[i>>2];e=e+4|0}c[b+256>>2]=0;Mb=j;return}function rt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=(f|0)==0?2147483647:-2147483648;j=0;while(1){l=a+(j<<2)|0;g=m;k=0;while(1){if((k|0)>=(d|0))break;h=c[b+(k<<2)>>2]|0;i=c[h+84>>2]|0;if(((i|0)>(e|0)|0)!=(f|0)?((i|0)<(g|0)|0)!=(f|0):0){c[l>>2]=h;g=i}k=k+1|0}if((g|0)==(m|0))break;e=(c[(c[l>>2]|0)+84>>2]|0)-f|0;j=j+1|0}return j|0}function st(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;k=0;while(1){if(k>>>0>=16)break;switch(a[i+(d[88656+k>>0]|0)>>0]|0){case 0:break;case 1:{j=g+(k<<4<<1)|0;if(!(b[j>>1]|0))l=7;else lx(e+(c[f+(k<<2)>>2]|0)|0,j,h);break}default:{j=g+(k<<4<<1)|0;l=7}}if((l|0)==7){l=0;_e(e+(c[f+(k<<2)>>2]|0)|0,j,h)}k=k+4|0}return}function tt(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;k=0;while(1){if((k|0)==16)break;switch(a[i+(d[88656+k>>0]|0)>>0]|0){case 0:break;case 1:{j=g+(k<<4<<1)|0;if(!(b[j>>1]|0))l=7;else mx(e+(c[f+(k<<2)>>2]|0)|0,j,h);break}default:{j=g+(k<<4<<1)|0;l=7}}if((l|0)==7){l=0;hk(e+(c[f+(k<<2)>>2]|0)|0,j,h)}k=k+1|0}return}function ut(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;j=g<<1;k=g*3|0;l=g<<2;i=f;c=c+(0-g)|0;h=0;while(1){if((h|0)==4)break;m=(e[i>>1]|0)+(d[c>>0]|0)|0;a[c+g>>0]=m;m=m+(e[i+8>>1]|0)|0;a[c+j>>0]=m;m=m+(e[i+16>>1]|0)|0;a[c+k>>0]=m;a[c+l>>0]=m+(e[i+24>>1]|0);i=i+2|0;c=c+1|0;h=h+1|0}c=f+32|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function vt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var h=0,i=0,j=0;h=e+(H(d,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;g[a>>3]=+f[b>>2];i=b+c|0;j=a+d|0;g[j>>3]=+f[i>>2];i=i+c|0;j=j+d|0;g[j>>3]=+f[i>>2];i=i+c|0;j=j+d|0;g[j>>3]=+f[i>>2];a=j+d|0;b=i+c|0}while(1){if(a>>>0>=e>>>0)break;g[a>>3]=+f[b>>2];a=a+d|0;b=b+c|0}return}function wt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var h=0,i=0,j=0;h=e+(H(d,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;f[a>>2]=+g[b>>3];i=b+c|0;j=a+d|0;f[j>>2]=+g[i>>3];i=i+c|0;j=j+d|0;f[j>>2]=+g[i>>3];i=i+c|0;j=j+d|0;f[j>>2]=+g[i>>3];a=j+d|0;b=i+c|0}while(1){if(a>>>0>=e>>>0)break;f[a>>2]=+g[b>>3];a=a+d|0;b=b+c|0}return}function xt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,h=0,i=0;f=e+(H(d,-3)|0)|0;while(1){if(a>>>0>=f>>>0)break;g[a>>3]=+g[b>>3];h=b+c|0;i=a+d|0;g[i>>3]=+g[h>>3];h=h+c|0;i=i+d|0;g[i>>3]=+g[h>>3];h=h+c|0;i=i+d|0;g[i>>3]=+g[h>>3];a=i+d|0;b=h+c|0}while(1){if(a>>>0>=e>>>0)break;g[a>>3]=+g[b>>3];a=a+d|0;b=b+c|0}return}function yt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=b+87376|0;i=b+110672|0;j=c[b+756>>2]|0;g=f+-64+(c[163768+(j<<2)>>2]|0)|0;Wp(b+2528+(g*368|0)|0,0,(64-f|0)*368|0)|0;a=c[163776+(j<<2)>>2]|0;if((a|0)>(g|0))Wp(b+36016+(g*888|0)|0,0,(a-g|0)*888|0)|0;f=b+134036|0;Zm(f,h,b+768|0,d,j);Xe(b,i,h,j);jd(b,h,i,j);uf(f,d,h,j);uf(f,e,i,j);return 0}function zt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Mb;Mb=Mb+16|0;f=k;g=a+8|0;h=a+4|0;while(1){i=c[g>>2]|0;e=c[h>>2]|0;i=i-(e>>>0>i>>>0?i:e)|0;if(!i)e=0;else e=(c[a>>2]|0)+e|0;c[f>>2]=d;e=Vq(e,i,b,f)|0;if((e|0)<1)break;if(e>>>0<i>>>0){j=7;break}if(Xq(a,e)|0){j=7;break}}if((j|0)==7)cG(a,e);Mb=k;return}function At(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f+(H(e,-3)|0)|0;while(1){if(b>>>0>=g>>>0)break;a[b>>0]=a[c>>0]|0;h=c+d|0;i=b+e|0;a[i>>0]=a[h>>0]|0;h=h+d|0;i=i+e|0;a[i>>0]=a[h>>0]|0;h=h+d|0;i=i+e|0;a[i>>0]=a[h>>0]|0;b=i+e|0;c=h+d|0}while(1){if(b>>>0>=f>>>0)break;a[b>>0]=a[c>>0]|0;b=b+e|0;c=c+d|0}return}function Bt(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0.0,j=0.0,k=0,l=0;l=0;j=0.0;while(1){if((l|0)>=(g|0))break;e=a+(l<<3)|0;k=a+(l<<3)+4|0;d=d+1&511;h=+f[b+(l<<2)>>2];if(h!=0.0){i=-h;h=j*h}else{h=+f[c+(l<<2)>>2];i=h*+f[44368+(d<<3)>>2];h=h*+f[44368+(d<<3)+4>>2]}h=+f[k>>2]+h;f[e>>2]=+f[e>>2]+i;f[k>>2]=h;l=l+1|0;j=-j}return}function Ct(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>>1;g=d;f=a;a=0;while(1){if((a|0)==4)break;b[f>>1]=(c[g>>2]|0)+(e[f>>1]|0);i=f+2|0;b[i>>1]=(c[g+4>>2]|0)+(e[i>>1]|0);i=f+4|0;b[i>>1]=(c[g+8>>2]|0)+(e[i>>1]|0);i=f+6|0;b[i>>1]=(c[g+12>>2]|0)+(e[i>>1]|0);g=g+16|0;f=f+(h<<1)|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function Dt(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0.0,j=0.0,k=0,l=0;l=0;j=0.0;while(1){if((l|0)>=(g|0))break;e=a+(l<<3)|0;k=a+(l<<3)+4|0;d=d+1&511;h=+f[b+(l<<2)>>2];if(h!=0.0){i=h;h=j*h}else{h=+f[c+(l<<2)>>2];i=h*+f[44368+(d<<3)>>2];h=h*+f[44368+(d<<3)+4>>2]}h=+f[k>>2]+h;f[e>>2]=+f[e>>2]+i;f[k>>2]=h;l=l+1|0;j=-j}return}function Et(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if(i>>>0>=16)break;switch(a[h+(d[88656+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else cw(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;Ue(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+4|0}return}function Ft(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if(i>>>0>=16)break;switch(a[h+(d[88656+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else lw(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;Ve(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+4|0}return}function Gt(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if(i>>>0>=16)break;switch(a[h+(d[88656+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else mw(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;We(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+4|0}return}function Ht(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;f=0;while(1){if((f|0)==13)break;h=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=h;a[b+1>>0]=h>>8;a[b+2>>0]=h>>16;a[b+3>>0]=h>>24;h=c+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+8|0;c=c+e|0}return}function It(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=Mb;Mb=Mb+16|0;k=l;i=c[f>>2]|0;if((i|0)<(e-a|0)){h=0;j=0;while(1){if((j|0)>=(a|0))break;m=i+1|0;c[f>>2]=m;h=h<<8|(d[b+i>>0]|0);j=j+1|0;i=m}i=e-i|0;if((h|0)<1|(h|0)>(i|0)){c[k>>2]=h;c[k+4>>2]=i;Xw(g,16,196326,k);h=-1094995529}}else h=-11;Mb=l;return h|0}function Jt(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)==16)break;switch(a[h+(d[88656+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else yw(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;Kj(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+1|0}return}function Kt(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)==16)break;switch(a[h+(d[88656+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else Dw(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;Mj(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+1|0}return}function Lt(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)==16)break;switch(a[h+(d[88656+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else Ew(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;Nj(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+1|0}return}function Mt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=c[a>>2]|0;h=a+4|0;jV(h)|0;i=a+32|0;xb(i|0)|0;j=g+104|0;b=a+84|0;d=g+24|0;e=g+100|0;f=g+52|0;while(1){c[b>>2]=1;a=1;while(1){if(!a)break;yb(i|0,h|0)|0;a=c[b>>2]|0}if(c[j>>2]|0)break;if(Qw(g)|0){jV(d)|0;c[e>>2]=1;xb(f|0)|0;jV(d)|0}}jV(h)|0;return 0}function Nt(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if(i>>>0>=16)break;switch(a[h+(d[88656+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else ow(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;Ye(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+4|0}return}function Ot(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;a:do if(b){f=c[a+260>>2]|0;if(!(c[a+272>>2]|0)){e=a+264|0;d=0;while(1){if((d|0)>=(f|0))break a;g=(c[b>>2]|0)+(H(c[e>>2]|0,d)|0)|0;c[a+(d<<2)>>2]=g;d=d+1|0}}else{d=0;while(1){if((d|0)>=(f|0))break a;c[a+(d<<2)>>2]=c[b+(d<<2)>>2];d=d+1|0}}}else Wp(a|0,0,256)|0;while(0);return}function Pt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f+(H(e,-3)|0)|0;while(1){if(a>>>0>=g>>>0)break;c[a>>2]=c[b>>2];h=b+d|0;i=a+e|0;c[i>>2]=c[h>>2];h=h+d|0;i=i+e|0;c[i>>2]=c[h>>2];h=h+d|0;i=i+e|0;c[i>>2]=c[h>>2];a=i+e|0;b=h+d|0}while(1){if(a>>>0>=f>>>0)break;c[a>>2]=c[b>>2];a=a+e|0;b=b+d|0}return}function Qt(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)==16)break;switch(a[h+(d[88656+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else Hw(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;Oj(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+1|0}return}function Rt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,h=0,i=0;g=Mb;Mb=Mb+144|0;e=g;Wp(e|0,0,144)|0;i=e+4|0;c[i>>2]=a;h=e+8|0;c[h>>2]=-1;c[e+44>>2]=a;c[e+76>>2]=-1;bw(e,0,0);f=+Sd(e,d,1);e=e+120|0;d=(c[i>>2]|0)-(c[h>>2]|0)|0;d=SO(c[e>>2]|0,c[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;e=M()|0;if(b|0)c[b>>2]=(d|0)==0&(e|0)==0?a:a+d|0;Mb=g;return +f}function St(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=Mb;Mb=Mb+16|0;d=g;e=c[a>>2]|0;f=c[e>>2]|0;c[d>>2]=f;if(!b)hM(a);else{a=c[b>>2]|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];hM(b)}e=f+8|0;f=c[e>>2]|0;c[e>>2]=f+-1;if((f|0)==1){f=c[d>>2]|0;ec[c[f+12>>2]&255](c[f+16>>2]|0,c[f>>2]|0);hM(d)}Mb=g;return}function Tt(a,b){a=+a;b=b|0;var d=0,e=0,f=0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;f=oN(d|0,e|0,52)|0;M()|0;switch(f&2047){case 0:{if(a!=0.0){a=+Tt(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[h>>2]=d;c[h+4>>2]=e&-2146435073|1071644672;a=+g[h>>3]}}return +a}function Ut(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=Mb;Mb=Mb+16|0;h=i;d=a+28|0;if((uL(d)|0)==0?(f=Hz(d,6)|0,e=a+48|0,c[e>>2]=f,f=Hz(d,6)|0,g=(Hz(d,3)|0)+-1|0,c[a+52>>2]=g,(g|0)>=0):0){e=c[e>>2]|0;a=zn(e)|0;c[h>>2]=e;c[h+4>>2]=a;c[h+8>>2]=f;c[h+12>>2]=g;Xw(b,48,196080,h);a=(f|0)==0&1}else a=-1094995529;Mb=i;return a|0}function Vt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;b=(c[d+848>>2]|0)+48+(H(c[(c[b+28200>>2]|0)+1184>>2]|0,-6)|0)|0;b=(b|0)<51?b:51;b=(b|0)>0?b:0;if((c[d+840>>2]|0)==1)f=86608;else f=80464+(c[d+33928>>2]<<11)|0;e=0;while(1){if((e|0)==1024)break;g=(H(b,a[f+(e<<1)>>0]|0)|0)>>4;g=(g+(a[f+(e<<1)+1>>0]|0)<<1)+-127|0;g=g>>31^g;a[d+32904+e>>0]=(g|0)>124?g&1|124:g;e=e+1|0}return}function Wt(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=Mb;Mb=Mb+16|0;h=i+8|0;g=i;if((f|0)>=1?!((f|0)>12|(f+-8|0)>>>0<3):0){g=a[43760+f>>0]|0;c[e>>2]=g;rk(d|0,43776+((f+-1|0)*15|0)|0,g*3|0)|0;if((f|0)==7?(c[b+672>>2]|0)<1:0){c[h>>2]=1;Xw(b,32,189336,h);a[d+8>>0]=2;b=0}else b=0}else{c[g>>2]=f;Xw(b,16,189292,g);b=-1094995529}Mb=i;return b|0}function Xt(a){a=a|0;if((a|0)<=92016)if((a|0)<=75131)if((a|0)<=55425)if((a|0)<=46008)if((a|0)<=37565)if((a|0)<=27712)if((a|0)<=23003)if((a|0)<=18782)if((a|0)>13855)a=8;else return ((a|0)>11501?9:(a|0)>9390?10:11)|0;else a=7;else a=6;else a=5;else a=4;else a=3;else a=2;else a=1;else a=0;return a|0}function Yt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;f=(b|0)!=0;if(f){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0}e=0;while(1){if((e|0)==4)break;g=c[d+16+(e<<5)+4>>2]|0;h=d+16+(e<<5)|0;i=a+(c[h>>2]<<2)|0;if((g|0)>(c[i>>2]|0)?(c[i>>2]=g,f):0)c[b+(c[h>>2]<<2)>>2]=e;e=e+1|0}return}function Zt(a,b){a=+a;b=b|0;var d=0,e=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;e=(b|0)<-2044;d=b+2044|0;a=e?a*2.2250738585072014e-308:a;b=e?((d|0)>-1022?d:-1022):b+1022|0}}else{a=a*8988465674311579538646525.0e283;d=(b|0)>2046;e=b+-2046|0;a=d?a*8988465674311579538646525.0e283:a;b=d?((e|0)<1023?e:1023):b+-1023|0}d=cN(b+1023|0,0,52)|0;e=M()|0;c[h>>2]=d;c[h+4>>2]=e;return +(a*+g[h>>3])}function _t(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0;f=c[a+27e3>>2]|0;g=(H(f,c[b+21792>>2]|0)|0)+(c[b+21788>>2]|0)|0;h=c[a+26356>>2]|0;d=g+-1|0;i=c[b+832>>2]|0;if((i|0)!=(e[h+(d<<1)>>1]|0|0)){d=g-f|0;if((i|0)==(e[h+(d<<1)>>1]|0|0))j=3;else d=0}else j=3;if((j|0)==3)d=(c[(c[a+24364>>2]|0)+(d<<2)>>2]|0)>>>7&1;c[b+21828>>2]=d;c[b+21832>>2]=d;return}function $t(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b[a>>1]|0;j=a+32|0;e=b[j>>1]|0;g=a+64|0;h=b[g>>1]|0;d=a+96|0;k=b[d>>1]|0;f=i-e|0;i=e+i|0;e=h-k|0;h=k+h|0;k=(H(h+i|0,c)|0)>>>7&65535;b[a>>1]=k;a=(H(e+f|0,c)|0)>>>7&65535;b[j>>1]=a;a=(H(i-h|0,c)|0)>>>7&65535;b[g>>1]=a;c=(H(f-e|0,c)|0)>>>7&65535;b[d>>1]=c;return}function au(a){a=a|0;var b=0,d=0,e=0;c[a+256>>2]=c[a>>2];b=1;d=a+4|0;e=65;while(1){c[a+(e<<2)>>2]=c[d>>2];if(b>>>0>=31)break;e=b<<1;c[a+(e+64<<2)>>2]=c[a+(64-b<<2)>>2]^-2147483648;c[a+(e+65<<2)>>2]=c[a+(b+1<<2)>>2];c[a+(e+66<<2)>>2]=c[a+(63-b<<2)>>2]^-2147483648;d=b+2|0;b=d;d=a+(d<<2)|0;e=e+67|0}c[a+504>>2]=c[a+132>>2]^-2147483648;c[a+508>>2]=c[a+128>>2];return}function bu(a){a=+a;var b=0,d=0;g[h>>3]=a;d=c[h+4>>2]|0;b=d&2147483647;c[h>>2]=c[h>>2];c[h+4>>2]=b;a=+g[h>>3];do if(b>>>0>1071748074)if(b>>>0>1077149696){a=1.0-0.0/a;break}else{a=1.0-2.0/(+mg(a*2.0)+2.0);break}else{if(b>>>0>1070618798){a=+mg(a*2.0);a=a/(a+2.0);break}if(b>>>0>1048575){a=+mg(a*-2.0);a=-a/(a+2.0)}}while(0);return +((d|0)<0?-a:a)}function cu(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;c[a+28>>2]=0;if(b|0){c[a>>2]=c[b>>2];c[a+4>>2]=b+4;d=0;while(1){if((d|0)==2)break;c[a+8+(d<<2)>>2]=c[b+36+(d<<2)>>2];c[a+16+(d<<2)>>2]=c[b+68+(d<<2)>>2];d=d+1|0}c[a+24>>2]=c[b+48>>2];c[a+28>>2]=c[b+636>>2]}return}function du(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0.0,i=0,j=0,k=0,l=0.0,m=0.0,n=0;d=0;j=1;while(1){g=j>>>1;if((d|0)>=(b|0))break;h=-+f[a+(d<<2)>>2];f[c+(d<<2)>>2]=h;i=d+-1|0;e=0;while(1){if((e|0)==(g|0))break;n=c+(e<<2)|0;l=+f[n>>2];k=c+(i-e<<2)|0;m=+f[k>>2];f[n>>2]=l+m*h;f[k>>2]=m+l*h;e=e+1|0}d=d+1|0;j=j+1|0}return}function eu(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a+60>>2]|0;b=0;while(1){if((b|0)==16)break;a=0;while(1){if((a|0)==4)break;e=d+492+(a<<6)+(b<<2)|0;f=c[e>>2]|0;if(f|0)WS(f+156512|0);hM(e);a=a+1|0}b=b+1|0}XT(d+5120|0);XT(d+5188|0);XT(d+5256|0);XT(d+5324|0);vM(d+5392|0);vM(d+5396|0);vM(d+5400|0);hM(d+5404|0);return 0}function fu(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if(d>>>0>=8){e=6;break}if(!(Ry(c[92544+(d*12|0)>>2]|0,b)|0)){e=4;break}d=d+1|0}if((e|0)==4){b=92544+(d*12|0)+4|0;e=c[b+4>>2]|0;d=a;c[d>>2]=c[b>>2];c[d+4>>2]=e;d=0}else if((e|0)==6){d=Oq(a,b,1001e3,64,0)|0;if((d|0)>=0)if((c[a>>2]|0)<1)d=-22;else return ((c[a+4>>2]|0)<1?-22:0)|0}return d|0}function gu(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=d&-2;d=h*3|0;f=XJ(((e[a+-2>>1]|0)+2+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function hu(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=5;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=5;break}}}while(0);if((e|0)==5){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function iu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=Mb;Mb=Mb+16|0;g=h;d=fp(g,c[a+16>>2]|0,b,c[a+20>>2]|0,1)|0;a:do if((d|0)>=0){f=a+4|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break;d=$r(c[(c[a>>2]|0)+(e<<2)>>2]|0,c[g>>2]|0)|0;if((d|0)<0)break a;else e=e+1|0}c[a+12>>2]=b;d=0}while(0);Mb=h;return d|0}function ju(a){a=a|0;var b=0,c=0,d=0;d=a+32856|0;if(!(Gu(d,a+32940|0)|0))a=0;else{do if(!(Gu(d,a+32941|0)|0)){b=Gu(d,a+32943|0)|0;a=1}else{c=a+32943|0;if(Gu(d,a+32942|0)|0)if(!(Gu(d,c)|0))a=7;else{b=Gu(d,c)|0;a=11;break}else a=3;b=((Gu(d,c)|0)<<1)+a|0;a=Gu(d,c)|0}while(0);a=b+a|0}return a|0}function ku(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=21296+(0-(d[b+~e>>0]|0))|0;f=b+(0-e)|0;g=f+1|0;h=f+2|0;i=f+3|0;c=b;b=0;while(1){if((b|0)==4)break;k=j+(d[c+-1>>0]|0)|0;a[c>>0]=a[k+(d[f>>0]|0)>>0]|0;a[c+1>>0]=a[k+(d[g>>0]|0)>>0]|0;a[c+2>>0]=a[k+(d[h>>0]|0)>>0]|0;a[c+3>>0]=a[k+(d[i>>0]|0)>>0]|0;c=c+e|0;b=b+1|0}return}function lu(a,b){a=a|0;b=b|0;fb(3317,1);Ia(33984);La(3553,c[a+28>>2]|0);hb(3553,0,6409,c[b+8>>2]|0,c[b+20>>2]|0,0,6409,5121,c[b+32>>2]|0);Ia(33985);La(3553,c[a+32>>2]|0);hb(3553,0,6409,c[b+12>>2]|0,c[b+24>>2]|0,0,6409,5121,c[b+36>>2]|0);Ia(33986);La(3553,c[a+36>>2]|0);hb(3553,0,6409,c[b+16>>2]|0,c[b+28>>2]|0,0,6409,5121,c[b+40>>2]|0);return}function mu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[a>>2]|0;a:do switch(d|0){case 11:case 20:{a=0;while(1){if((a|0)>=(e|0))break a;Rj(g+(a*34|0)|0,b+(a*34|0)|0,f);a=a+1|0}}case 5:case 10:{a=0;while(1){if((a|0)>=(e|0))break a;Qk(g+(a*34|0)|0,b+(a*34|0)|0,f);a=a+1|0}}default:c[a>>2]=b}while(0);return}function nu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[a>>2]|0;a:do switch(d|0){case 17:case 34:{a=0;while(1){if((a|0)>=(e|0))break a;Uk(g+(a*34|0)|0,b+(a*34|0)|0,f);a=a+1|0}}case 5:case 10:{a=0;while(1){if((a|0)>=(e|0))break a;$F(g+(a*34|0)|0,b+(a*34|0)|0,f);a=a+1|0}}default:c[a>>2]=b}while(0);return}function ou(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=f;h=0;while(1){if((h|0)==4)break;a[c>>0]=(d[c>>0]|0)+(e[i>>1]|0);j=c+1|0;a[j>>0]=(d[j>>0]|0)+(e[i+2>>1]|0);j=c+2|0;a[j>>0]=(d[j>>0]|0)+(e[i+4>>1]|0);j=c+3|0;a[j>>0]=(d[j>>0]|0)+(e[i+6>>1]|0);i=i+8|0;c=c+g|0;h=h+1|0}c=f+32|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function pu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=QO(j^a|0,i^b|0,j|0,i|0)|0;g=M()|0;a=f^j;b=e^i;return QO((Ie(h,g,QO(f^c|0,e^d|0,f|0,e|0)|0,M()|0,0)|0)^a|0,(M()|0)^b|0,a|0,b|0)|0}function qu(a,b,d){a=a|0;b=b|0;d=d|0;d=c[a+976>>2]|0;a:do if(!d){d=ye(a,b)|0;if((d|0)>=0)switch(c[a+8>>2]|0){case 0:{d=qj(a,b)|0;break a}case 1:{d=zi(a,b)|0;break a}default:{d=-1;break a}}}else{d=om(d,b,0)|0;c[b+68>>2]=c[a+132>>2];c[b+72>>2]=c[a+136>>2]}while(0);return d|0}function ru(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;a:do if((_w(a,b)|0)>(c|0)){f=0;e=c;while(1){if(f>>>0>=64){d=0;c=0;break a}c=cN(1,0,f|0)|0;d=M()|0;if(!((c&a|0)==0&(d&b|0)==0))if(!e)break a;else c=e+-1|0;else c=e;f=f+1|0;e=c}}else{d=0;c=0}while(0);L(d|0);return c|0}function su(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Mb;Mb=Mb+16|0;e=f;do if((pS(a)|0)>=112?(jR(a)|0)==1095521024:0){d=jR(a)|0;c[b+8>>2]=d;if((d|0)<1){c[e>>2]=d;Xw(0,16,200867,e);a=-1094995529;break}else{qK(a,32);c[b+12>>2]=0;a=(Hz(a,16)|0)+1|0;c[b+36>>2]=a;a=0;break}}else a=-1094995529;while(0);Mb=f;return a|0}function tu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=c[d+74176>>2]|0;e=d+17856|0;g=b+1024|0;gc[c[b+5164>>2]&1023](b+5256|0,g,d+13760|0);if(!(a[d+13>>0]|0))jc[c[(c[b+5404>>2]|0)+20>>2]&127](f,e,g,215648,256);else{rk(f|0,e|0,768)|0;jc[c[(c[b+5404>>2]|0)+20>>2]&127](f+768|0,d+18624|0,g,214112,64);rk(f+1280|0,b+1280|0,768)|0}rk(e|0,b+2048|0,1024)|0;return}function uu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=b+8|0;k=i;f=c[k>>2]|0;k=SO(f|0,c[k+4>>2]|0,e|0,0)|0;j=M()|0;c[i>>2]=k;c[i+4>>2]=j;i=b+112|0;j=b+80|0;k=b+16|0;f=f&63;h=0;while(1){if((h|0)==(e|0))break;g=f+1|0;a[b+16+f>>0]=a[d+h>>0]|0;if((g|0)==64){ec[c[i>>2]&255](j,k);f=0}else f=g;h=h+1|0}return}function vu(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=b+(hu(b)|0)|0;g=0;c=0;while(1){if(b>>>0>=h>>>0){b=g;break}d=b;a:while(1){if(d>>>0>=h>>>0)break;switch(a[d>>0]|0){case 124:case 43:break a;default:{}}d=d+1|0}e=Rk(b,d-b|0)|0;f=M()|0;if((e|0)==0&(f|0)==0){c=0;b=0;break}b=d+1|0;g=e|g;c=f|c}L(c|0);return b|0}function wu(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+6)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:(k^-2147483648)>>31&16383;c=c+(j<<1)|0;h=h+1|0}return}function xu(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0;g=d>>1;f=XJ(((e[a+(0-g<<1)>>1]|0)+2+(e[a+(1-g<<1)>>1]|0)+(e[a+(2-g<<1)>>1]|0)+(e[a+(3-g<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;h=a;c[h>>2]=f;c[h+4>>2]=b;h=a+(g<<1)|0;c[h>>2]=f;c[h+4>>2]=b;d=a+((d&-2)<<1)|0;c[d>>2]=f;c[d+4>>2]=b;d=a+(g*3<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function yu(b,d){b=b|0;d=d|0;var e=0;if(!(c[d+21740>>2]|0))e=0;else e=(a[(c[b+26380>>2]|0)+(c[d+21720>>2]|0)>>0]|0)!=0&1;if(c[d+21732>>2]|0)e=e+((a[(c[b+26380>>2]|0)+(c[d+21712>>2]|0)>>0]|0)!=0&1)|0;b=d+32856|0;if(Gu(b,e+64+(d+32904)|0)|0){e=d+32971|0;if(!(Gu(b,e)|0))e=1;else{e=(Gu(b,e)|0)==0;e=e?2:3}}else e=0;return e|0}function zu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[a>>2]|0;j=a+64|0;e=c[j>>2]|0;g=a+128|0;h=c[g>>2]|0;d=a+192|0;k=c[d>>2]|0;f=i-e|0;i=e+i|0;e=h-k|0;h=k+h|0;k=(H(h+i|0,b)|0)>>7;c[a>>2]=k;a=(H(e+f|0,b)|0)>>7;c[j>>2]=a;a=(H(i-h|0,b)|0)>>7;c[g>>2]=a;b=(H(f-e|0,b)|0)>>7;c[d>>2]=b;return}function Au(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==4)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;b[f+6>>1]=(c[g+12>>2]|0)+i;g=g+16|0;f=f+(h<<1)|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function Bu(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+4)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:(k^-2147483648)>>31&4095;c=c+(j<<1)|0;h=h+1|0}return}function Cu(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+2)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:(k^-2147483648)>>31&1023;c=c+(j<<1)|0;h=h+1|0}return}function Du(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=0;i=0;a=e;while(1){if((h|0)>=(g|0))break;e=(c[1046624+((d[b>>0]|0)-(d[a>>0]|0)<<2)>>2]|0)+i+(c[1046624+((d[b+1>>0]|0)-(d[a+1>>0]|0)<<2)>>2]|0)+(c[1046624+((d[b+2>>0]|0)-(d[a+2>>0]|0)<<2)>>2]|0)+(c[1046624+((d[b+3>>0]|0)-(d[a+3>>0]|0)<<2)>>2]|0)|0;b=b+f|0;h=h+1|0;i=e;a=a+f|0}return i|0}function Eu(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;c[b>>2]=a;c[b+1408>>2]=b+384;c[b+1412>>2]=b+896;qt(b+4|0,0);Bm(b+292|0,8,1,1.0)|0;d=nD(c[a+92>>2]&8388608)|0;c[b+288>>2]=d;if(!d)a=-12;else{f[b+284>>2]=3.814697265625e-06;c[a+424>>2]=3;if(!(+f[53655]!=0.0))zS(7);c[a+420>>2]=1;a=a+448|0;c[a>>2]=4;c[a+4>>2]=0;a=0}return a|0}function Fu(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;f=0;while(1){if((f|0)==16)break;g=a+((H(f,b)|0)+-1)|0;e=e+(d[g>>0]|0)|0;f=f+1|0}f=0;while(1){if((f|0)==16)break;e=e+(d[a+(f-b)>>0]|0)|0;f=f+1|0}f=H((e+16|0)>>>5,16843009)|0;e=0;while(1){if((e|0)==16)break;c[a>>2]=f;c[a+4>>2]=f;c[a+8>>2]=f;c[a+12>>2]=f;a=a+b|0;e=e+1|0}return}function Gu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=d[e>>0]|0;g=b+4|0;i=c[g>>2]|0;j=d[79280+((i<<1&384)+f)>>0]|0;i=i-j|0;k=i<<17;l=c[b>>2]|0;h=k-l>>31;c[b>>2]=l-(h&k);c[g>>2]=(h&j-i)+i;f=h^f;a[e>>0]=a[79920+f>>0]|0;h=c[g>>2]|0;e=d[78768+h>>0]|0;c[g>>2]=h<<e;e=c[b>>2]<<e;c[b>>2]=e;if(!(e&65535))CI(b);return f&1|0}function Hu(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+1)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:(k^-2147483648)>>31&511;c=c+(j<<1)|0;h=h+1|0}return}function Iu(a){a=a|0;c[a+13380>>2]=0;c[a+13384>>2]=0;c[a+13388>>2]=0;Wp(a+11140|0,0,256)|0;Wp(a+12260|0,0,256)|0;gT(a+11420|0);gT(a+11700|0);gT(a+11980|0);gT(a+12540|0);gT(a+12820|0);gT(a+13100|0);gT(a+10480|0);gT(a+10760|0);qU(a+13432|0);qU(a+13436|0);qU(a+13440|0);CP(a);g[a+13424>>3]=0.0;c[a+13392>>2]=0;return}function Ju(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=XJ(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;i=f+8|0;c[i>>2]=h;c[i+4>>2]=g;i=f+16|0;c[i>>2]=h;c[i+4>>2]=g;f=f+24|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function Ku(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=Mb;Mb=Mb+16|0;f=g;e=g+4|0;c[f>>2]=a;while(1){b=a+28|0;d=c[b>>2]|0;if(!d)break;c[e>>2]=d;c[b>>2]=c[d+16>>2];ec[c[d+8>>2]&255](c[d+4>>2]|0,c[d>>2]|0);hM(e);a=c[f>>2]|0}jV(a)|0;b=c[a+52>>2]|0;if(b|0)dc[b&31](c[a+40>>2]|0);hM(f);Mb=g;return}function Lu(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=d[a+(0-e)>>0]|0;k=d[a+(1-e)>>0]|0;h=d[a+(2-e)>>0]|0;f=d[a+(3-e)>>0]|0;g=h+2|0;i=k+2|0;b=(g+j+(k<<1)|0)>>>2<<8|(i+(d[a+~e>>0]|0)+(j<<1)|0)>>>2|(i+(h<<1)+f|0)>>>2<<16|(g+(f<<1)+(d[b>>0]|0)|0)>>>2<<24;c[a>>2]=b;c[a+e>>2]=b;c[a+(e<<1)>>2]=b;c[a+(e*3|0)>>2]=b;return}function Mu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+144|0;h=j;c[h>>2]=0;i=h+4|0;c[i>>2]=a;c[h+44>>2]=a;g=h+8|0;c[g>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;bw(h,0,0);d=hd(h,d,1,e,f)|0;e=M()|0;if(b|0)c[b>>2]=a+((c[i>>2]|0)+(c[h+120>>2]|0)-(c[g>>2]|0));L(e|0);Mb=j;return d|0}function Nu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0.0,h=0.0,i=0.0,j=0,k=0.0;g=+(c|0);d=0;while(1){if((d|0)>=(c|0))break;h=(+(d|0)+.5)*6.283185307179586;e=0;while(1){if((e|0)==7)break;i=h*+(e+-6|0)/g;j=b+(e<<2)|0;k=+x(+i)*+f[j>>2];f[a+(d<<6)+(e<<3)>>2]=k;i=-(+y(+i)*+f[j>>2]);f[a+(d<<6)+(e<<3)+4>>2]=i;e=e+1|0}d=d+1|0}return}function Ou(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=b+4|0;g=c[b>>2]|0;f=c[d>>2]|0;g=XJ(f|0,((f|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;f=M()|0;e=c[h>>2]|0;d=c[d+4>>2]|0;e=XJ(d|0,((d|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;Hf(b,h,g,f,e,M()|0,2147483647,0)|0;e=b;b=c[e+4>>2]|0;d=a;c[d>>2]=c[e>>2];c[d+4>>2]=b;return}function Pu(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=0;while(1){if((h|0)==4)break;k=b+(H(h,g)|0)|0;j=e+(h<<2)|0;i=a+(H(h,f)|0)|0;l=c[i>>2]|0;j=lT(l,lT(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0)|0;c[i>>2]=j;h=h+1|0}return}function Qu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=c[a+44>>2]|0;a=a+40|0;e=0;while(1){if((e|0)>=(f|0)){b=8;break}g=c[a>>2]|0;if((c[g+(e*12|0)+8>>2]|0)==(b|0)){b=4;break}e=e+1|0}if((b|0)==4){if(d|0)c[d>>2]=c[g+(e*12|0)+4>>2];a=c[g+(e*12|0)>>2]|0}else if((b|0)==8)if(!d)a=0;else{c[d>>2]=0;a=0}return a|0}function Ru(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(a|0?(g=c[a>>2]|0,g|0):0){b=g+4|0;d=c[b>>2]|0;e=c[d+24>>2]|0;if(e){dc[e&31](g);d=c[b>>2]|0}b=g+12|0;if(c[d+8>>2]|0?(f=c[b>>2]|0,f|0):0)kE(f);kE(g);f=g+8|0;NP(c[f>>2]|0);hM(f);hM(b);FP(g+16|0);FP(g+20|0);hM(a)}return}function Su(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;g=a;i=b;h=i;i=i+4|0;i=QI(c[g>>2]|0,c[g+4>>2]|0,d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;h=M()|0;g=a;c[g>>2]=i;c[g+4>>2]=h;f=f+1|0;a=a+e|0;b=b+e|0}return}function Tu(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=wc(b)|0;return b|0}if(b>>>0>4294967231){b=pV()|0;c[b>>2]=12;b=0;return b|0}d=Se(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=wc(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;rk(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;nd(a);b=d;return b|0}function Uu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+16|0;f=j;g=d+8|0;h=c[g>>2]|0;do if((a[h>>0]|0)==45){+$T(h,f);h=c[f>>2]|0;if(((h|0)!=(c[g>>2]|0)?(a[h>>0]|0)==100:0)?(a[h+1>>0]|0)==66:0){c[e>>2]=0;b=id(b,d)|0;break}i=7}else i=7;while(0);if((i|0)==7)b=wI(b,d,e)|0;Mb=j;return b|0}function Vu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0.0,j=0.0,k=0.0,l=0.0;h=a+(e<<2)|0;g=d+(e<<2)|0;b=b+(e<<2)|0;d=0-e|0;a=e;while(1){a=a+-1|0;if((d|0)>=0)break;l=+f[b+(d<<2)>>2];j=+f[c+(a<<2)>>2];k=+f[g+(d<<2)>>2];i=+f[g+(a<<2)>>2];f[h+(d<<2)>>2]=l*i-j*k;f[h+(a<<2)>>2]=l*k+j*i;d=d+1|0}return}function Wu(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=c[(c[a+64>>2]|0)+20>>2]|0;if((c[a+808>>2]&2|0)!=0?(c[a+800>>2]|0)>=2:0)if((f|0)<1)a=0;else{c[h+24>>2]=g;c[h+16>>2]=d;c[h+4>>2]=b;c[h+20>>2]=e;Rm(c[h>>2]|0,f,(c[h+12>>2]|0)!=0&1);a=0}else a=QC(a,b,d,e,f,g)|0;return a|0}function Xu(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8|(d[c+3>>0]|0);e=b+3|0;c=a[e>>0]|0;b=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(d[b+2>>0]|0)<<8|c&255;c=c<<24>>24==0;if(!((b|0)==(f|0)|c))do{e=e+1|0;c=a[e>>0]|0;b=b<<8|c&255;c=c<<24>>24==0}while(!((b|0)==(f|0)|c));return (c?0:e+-3|0)|0}function Yu(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+28|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Yb[c[b+36>>2]&15](b,0,0)|0;c[b+16>>2]=0;c[e>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(!(d&4)){e=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=e;c[b+4>>2]=e;d=d<<27>>31}else{c[b>>2]=d|32;d=-1}return d|0}function Zu(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=4-b|0;e=0;f=0;h=0;while(1){if((e|0)==4)break;j=f+(d[a+(e-b)>>0]|0)|0;i=h+(d[a+(g+e)>>0]|0)|0;e=e+1|0;f=j;h=i}g=H((f+2|0)>>>2,16843009)|0;f=H((h+2|0)>>>2,16843009)|0;e=0;while(1){if((e|0)==16)break;j=a+(H(e,b)|0)|0;c[j>>2]=g;c[j+4>>2]=f;e=e+1|0}return}function _u(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;by(a);d=0;while(1){if((d|0)>=(b|0))break;e=c[a>>2]|0;f=e+(d*352|0)+300|0;if(c[f>>2]|0){g=e+(d*352|0)+184|0;jV(g)|0;h=e+(d*352|0)+108|0;while(1){if(!(c[f>>2]|0))break;yb(h|0,g|0)|0}jV(g)|0}c[e+(d*352|0)+292>>2]=0;d=d+1|0}sJ(a);return}function $u(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Mb;Mb=Mb+16|0;d=f;e=c[a+64>>2]|0;if(c[b+248>>2]|0){c[d>>2]=167655;c[d+4>>2]=167670;c[d+8>>2]=633;Xw(0,0,213444,d);ba()}d=c[(c[a+12>>2]|0)+104>>2]|0;if(!d)d=LL(a,b)|0;else d=Xb[d&15](a,b)|0;if((d|0)==-541478725)c[e+80>>2]=1;Mb=f;return d|0}function av(a){a=a|0;var b=0,d=0,e=0;if(a|0){fJ(a);b=0;while(1){if((b|0)==8)break;QS(a+248+(b<<2)|0);b=b+1|0}d=a+284|0;e=a+280|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;QS((c[e>>2]|0)+(b<<2)|0);b=b+1|0}hM(e);qC(a+344|0);QS(a+372|0);QS(a+376|0);QS(a+380|0);vq(a)}return}function bv(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=f;h=0;while(1){if((h|0)==4)break;j=(e[i>>1]|0)+(d[c+-1>>0]|0)|0;a[c>>0]=j;j=j+(e[i+2>>1]|0)|0;a[c+1>>0]=j;j=j+(e[i+4>>1]|0)|0;a[c+2>>0]=j;a[c+3>>0]=j+(e[i+6>>1]|0);i=i+8|0;c=c+g|0;h=h+1|0}c=f+32|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function cv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=lV(a)|0;d=(b|0)==0;a=0;b=1103352;while(1){b=c[b>>2]|0;if(!b)break;if(d){if(eO(b)|0)f=6}else if(BM(b)|0)f=6;if((f|0)==6){f=0;if((c[b+12>>2]|0)==(e|0))if(a|0?1:(c[b+16>>2]&512|0)==0){a=b;break}else a=b}b=b+56|0}return a|0}function dv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=Mb;Mb=Mb+48|0;h=i+32|0;g=i+24|0;f=i+16|0;e=i;c[e>>2]=d;if(!(b&64))e=0;else{j=(c[e>>2]|0)+(4-1)&~(4-1);d=c[j>>2]|0;c[e>>2]=j+4;e=d}c[f>>2]=e;e=mt(a,b|524288,f)|0;if((e|0)!=-1?(c[g>>2]=1,(tg(e,2,g)|0)==-1):0)Xw(0,48,208818,h);Mb=i;return e|0}function ev(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)f=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}while(0);f=(f&255)-(d[c>>0]|0)|0}return f|0}function fv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=Mb;Mb=Mb+16|0;f=g;do if((c[(c[a>>2]|0)+48>>2]|0)==28)if(!(c[a+788>>2]|0)){c[f>>2]=195731;c[f+4>>2]=195701;c[f+8>>2]=48;Xw(0,0,213444,f);ba()}else{c[b>>2]=4;e=c[a+556>>2]<<2;break}else{c[b>>2]=2;e=c[a+568>>2]|0}while(0);c[d>>2]=e;Mb=g;return}function gv(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=0;while(1){if((g|0)>=(f|0))break;h=lT(c[a>>2]|0,d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24)|0;c[a>>2]=h;h=a+4|0;i=b+4|0;i=lT(c[h>>2]|0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;c[h>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function hv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=Mb;Mb=Mb+32|0;h=g+8|0;f=g;c[h>>2]=c[a+60>>2];c[h+4>>2]=d;c[h+8>>2]=b;c[h+12>>2]=f;c[h+16>>2]=e;if((tP(P(140,h|0)|0)|0)<0){a=f;c[a>>2]=-1;c[a+4>>2]=-1;a=-1;b=-1}else{b=f;a=c[b+4>>2]|0;b=c[b>>2]|0}L(a|0);Mb=g;return b|0}function iv(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0;g=a+16|0;c[a+12>>2]=b;c[a+20>>2]=b+e;h=b+1|0;c[g>>2]=h;f=(d[b>>0]|0)<<18;c[a>>2]=f;e=b+2|0;c[g>>2]=e;f=(d[h>>0]|0)<<10|f;c[a>>2]=f;if(!(e&1))e=512;else{c[g>>2]=b+3;e=(d[e>>0]|0)<<2|2}h=e|f;c[a>>2]=h;c[a+4>>2]=510;return ((h|0)>66846720?-1094995529:0)|0}function jv(a){a=+a;var b=0.0,d=0,e=0.0;g[h>>3]=a;d=c[h+4>>2]|0;e=(d|0)<0?-.5:.5;d=d&2147483647;c[h>>2]=c[h>>2];c[h+4>>2]=d;b=+g[h>>3];do if(d>>>0<1082535490){b=+mg(b);if(d>>>0>=1072693248){a=e*(b+b/(b+1.0));break}if(d>>>0>=1045430272)a=e*(b*2.0-b*b/(b+1.0))}else a=e*2.0*+aS(b);while(0);return +a}function kv(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=(h<<f)+((f|0)==0?0:1<<f+-1)|0;h=b;b=0;while(1){if((b|0)>=(e|0))break;j=(H(d[h>>0]|0,g)|0)+i>>f;a[h>>0]=j>>>0>255?(j^-2147483648)>>31:j;j=h+1|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;h=h+c|0;b=b+1|0}return}function lv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=Mb;Mb=Mb+16|0;e=f;c[e>>2]=1-(((b|0)!=0&1)<<1);c[e+4>>2]=1-(((d|0)!=0&1)<<1);c[e+8>>2]=1;a:do if(d|b|0){b=0;while(1){if((b|0)==9)break a;d=a+(b<<2)|0;g=H(c[d>>2]|0,c[e+(((b>>>0)%3|0)<<2)>>2]|0)|0;c[d>>2]=g;b=b+1|0}}while(0);Mb=f;return}function mv(a){a=a|0;var b=0,d=0,e=0,f=0;f=Mb;Mb=Mb+48|0;e=f+32|0;d=f;if(!(Ry(a,207927)|0))b=206246;else{b=(Ry(a,207933)|0)==0;b=b?206236:a}a=TD(b)|0;if((a|0)==-1){c[e>>2]=b;c[e+4>>2]=207944;tM(d,32,207939,e)|0;a=TD(d)|0;if((a|0)==-1){e=(Ry(b,207947)|0)==0;Mb=f;return (e?53:-1)|0}}Mb=f;return a|0}function nv(a){a=a|0;var b=0,d=0;d=Mb;Mb=Mb+16|0;b=d;do if((c[a+112>>2]&1|0)==0?(c[a+76>>2]|0)!=0:0){if(!(c[275837]|0)){c[b>>2]=187192;c[b+4>>2]=185241;c[b+8>>2]=2026;Xw(0,0,213444,b);ba()}c[275837]=0;wR(-1)|0;if(8?Pp(1103360,2)|0:0){a=-1;break}a=0}else a=0;while(0);Mb=d;return a|0}function ov(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!c)b=0;else{h=b;while(1){g=c>>>1;b=h+(H(g,d)|0)|0;f=Xb[e&15](a,b)|0;if(!f)break a;if((c|0)==1){b=0;break a}f=(f|0)<0;c=f?g:c-g|0;if(!c){b=0;break}else h=f?h:b}}while(0);return b|0}function pv(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==2)break;i=b+(H(h,g)|0)|0;j=e+(h<<2)|0;j=QI(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,0,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,0)|0;M()|0;i=a+(H(h,f)|0)|0;c[i>>2]=j;h=h+1|0}return}function qv(a){a=+a;var b=0;g[h>>3]=a;b=c[h+4>>2]&2147483647;c[h>>2]=c[h>>2];c[h+4>>2]=b;a=+g[h>>3];do if(b>>>0<1072049730)if(b>>>0<1045430272)a=1.0;else{a=+mg(a);a=a*a/((a+1.0)*2.0)+1.0}else if(b>>>0<1082535490){a=+E(+a);a=(a+1.0/a)*.5;break}else{a=+aS(a);break}while(0);return +a}function rv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;do if((b|0)!=8){e=b>>>2;if((b&3|0)!=0|(e|0)==0){a=22;return a|0}if(e+1073741823&e|0){a=22;return a|0}if((-64-b|0)>>>0<d>>>0){a=12;return a|0}else{b=dl(b>>>0>16?b:16,d)|0;break}}else b=wc(d)|0;while(0);if(!b){a=12;return a|0}c[a>>2]=b;a=0;return a|0}function sv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;Qv(a);rk(a|0,b|0,136)|0;f=a+12|0;c[f>>2]=0;d=a+16|0;c[d>>2]=0;e=b+12|0;if(c[e>>2]|0){b=b+16|0;a=YQ((c[b>>2]|0)+32|0)|0;c[f>>2]=a;if(!a)a=-12;else{f=c[b>>2]|0;rk(a|0,c[e>>2]|0,f|0)|0;c[d>>2]=f;a=0}}else a=0;return a|0}function tv(b,d){b=b|0;d=d|0;var e=0;if(!b){b=c[275891]|0;if(!b)b=0;else e=3}else e=3;do if((e|0)==3){b=b+(xn(b,d)|0)|0;if(!(a[b>>0]|0)){c[275891]=0;b=0;break}d=b+(Ap(b,d)|0)|0;c[275891]=d;if(!(a[d>>0]|0)){c[275891]=0;break}else{c[275891]=d+1;a[d>>0]=0;break}}while(0);return b|0}function uv(a,b){a=a|0;b=b|0;var e=0.0,g=0,h=0,i=0,j=0.0;h=c[a+310120>>2]|0;g=0;while(1){if((g|0)==(h|0))break;a=d[b+31+g>>0]|0;if(((d[b+36+g>>0]|0)+a|0)==1)e=.6000000238418579;else e=+f[51552+(a<<2)>>2];a=b+14572+(g<<2)|0;j=+f[a>>2];i=e<j;e=e*(i?.75:.90625)+j*(i?.25:.09375);f[a>>2]=e<.015625?0.0:e;g=g+1|0}return}function vv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[d+4>>2]|0;if((e|0)>=1?(f=c[d>>2]|0,(f|0)>=0):0)if((f|0)==0|(f|0)==(e|0))a=0;else{g=(f|0)<(e|0);d=g?f:e;f=g?e:f;a=Ne(g?a:b,0,d,((d|0)<0)<<31>>31,f,((f|0)<0)<<31>>31,0)|0;f=M()|0;a=(f|0)>0|(f|0)==0&a>>>0>0?0:-22}else a=-22;return a|0}function wv(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c>>0]|0)<<8|(d[c+1>>0]|0);c=b+1|0;e=a[c>>0]|0;a:do if(!(e<<24>>24))c=0;else{e=(d[b>>0]|0)<<8|e&255;while(1){b=e&65535;if((b|0)==(f|0))break;c=c+1|0;e=a[c>>0]|0;if(!(e<<24>>24)){c=0;break a}else e=b<<8|e&255}c=c+-1|0}while(0);return c|0}function xv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[d>>2]|0;g=c[e+4>>2]|0;h=XJ(g|0,((g|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;g=M()|0;e=c[e>>2]|0;d=c[d+4>>2]|0;e=XJ(d|0,((d|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;f=Ne(a,b,h,g,e,M()|0,f)|0;L(M()|0);return f|0}function yv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=a+64|0;d=c[(c[b>>2]|0)+20>>2]|0;hq(d);e=d+36|0;f=d+44|0;g=d+40|0;a=0;while(1){if((a|0)>=(c[e>>2]|0))break;jV((c[f>>2]|0)+(a*28|0)|0)|0;vb((c[g>>2]|0)+(a*48|0)|0)|0;a=a+1|0}hM(d+28|0);hM(f);hM(g);hM((c[b>>2]|0)+20|0);return}function zv(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8;e=b+2|0;c=a[e>>0]|0;b=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(c&255)<<8;c=c<<24>>24==0;if(!((b|0)==(f|0)|c))do{e=e+1|0;c=a[e>>0]|0;b=(b|c&255)<<8;c=c<<24>>24==0}while(!((b|0)==(f|0)|c));return (c?0:e+-2|0)|0}function Av(a,b){a=a|0;b=b|0;var d=0;do if((c[a+80>>2]|0)>=0){if((c[a+68>>2]|0)>0?(c[a+72>>2]|0)>0:0){a=gi(a,b)|0;break}if((c[a+76>>2]|0)>0){d=a+240|0;if((c[d>>2]|0)==0&(c[d+4>>2]|0)==0?(c[a+352>>2]|0)<=0:0){a=-22;break}a=Ji(a,b)|0}else a=-22}else a=-22;while(0);return a|0}function Bv(b){b=b|0;var c=0,d=0,f=0;c=a[b+4>>0]|0;if(!(c<<24>>24))c=0;else{f=c&255;d=0;c=0;do{c=c+4+(e[b+8+(d<<3)>>1]|0)|0;d=d+1|0}while(d>>>0<f>>>0)}d=a[b+5>>0]|0;if(d<<24>>24){f=d&255;d=0;do{c=c+4+(e[b+264+(d<<3)>>1]|0)|0;d=d+1|0}while(d>>>0<f>>>0)}return c|0}function Cv(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];d=a+12|0;e=(c[b>>2]|0)+32|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[a+24>>2]=c[b+640>>2];c[a+28>>2]=c[b+84>>2];c[a+32>>2]=c[b+96>>2];c[a+36>>2]=b;return}function Dv(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==4)break;i=b+(H(h,g)|0)|0;j=e+(h<<2)|0;j=lT(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;i=a+(H(h,f)|0)|0;c[i>>2]=j;h=h+1|0}return}function Ev(a){a=a|0;var b=0,d=0;d=c[a+60>>2]|0;a=d+28588|0;b=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));As(d);II(d+29660|0);a=0;while(1){if((a|0)==36)break;Cw(d,d+696+(a*656|0)|0);a=a+1|0}c[d+24312>>2]=0;Cw(d,d+24316|0);c[d+26988>>2]=0;fo(d);c[d+25680>>2]=0;return}function Fv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==16)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function Gv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;e=c[d+(e<<2)>>2]|0;g=((e|0)<0)<<31>>31;d=0;while(1){if((d|0)>=(f|0))break;h=c[b+(d<<2)>>2]|0;h=XJ(h|0,((h|0)<0)<<31>>31|0,e|0,g|0)|0;h=SO(h|0,M()|0,16384,0)|0;h=oN(h|0,M()|0,15)|0;M()|0;c[a+(d<<2)>>2]=h;d=d+1|0}return}function Hv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==8)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function Iv(a,d,e,f,g,h,i){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=c[f+(g<<2)>>2]|0;f=c[f+(h<<2)>>2]|0;g=0;while(1){if((g|0)>=(i|0))break;k=H(j,b[d+(g<<1)>>1]|0)|0;k=k+16384+(H(f,b[e+(g<<1)>>1]|0)|0)|0;h=k>>15;b[a+(g<<1)>>1]=(h+32768|0)>>>0>65535?k>>31^32767:h;g=g+1|0}return}function Jv(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a}case -1:{b[d>>1]=f;break a}case 0:{c[d>>2]=f;break a}case 1:{c[d>>2]=f;break a}case 3:{e=d;c[e>>2]=f;c[e+4>>2]=g;break a}default:break a}while(0);return}function Kv(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[41014]|0;if((c[f+76>>2]|0)>-1)g=nV(f)|0;else g=0;do if((cQ(b,f)|0)<0)b=-1;else{if((a[f+75>>0]|0)!=10?(d=f+20|0,e=c[d>>2]|0,e>>>0<(c[f+16>>2]|0)>>>0):0){c[d>>2]=e+1;a[e>>0]=10;b=0;break}b=(ks(f,10)|0)>>31}while(0);if(g|0)mV(f);return b|0}function Lv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+88|0;if(!(c[e>>2]|0))a=-1;else{g=a+80|0;c[g>>2]=b;f=a+84|0;c[f>>2]=d;a=a+76|0;sa(c[a>>2]|0,b|0,d|0)|0;ta(c[a>>2]|0,+(+(b>>>0)),+(+(d>>>0)))|0;pO(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;a=0}return a|0}function Mv(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=1;a=0;while(1){if((h|0)>=(f|0))break;g=0;while(1){if((g|0)==16)break;i=g+e|0;i=(d[b+g>>0]|0)-(d[c+g>>0]|0)-(d[b+i>>0]|0)+(d[c+i>>0]|0)|0;g=g+1|0;a=((i|0)>-1?i:0-i|0)+a|0}h=h+1|0;b=b+e|0;c=c+e|0}return a|0}function Nv(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;c=c+7|0;if(c>>>0>4095|f>>>0<7)c=-1;else{a[e>>0]=-1;a[e+1>>0]=-15;f=b+2|0;a[e+2>>0]=((d[b>>0]|0)<<6)+192|a[b+1>>0]<<2&60|(d[f>>0]|0)>>>2&1;a[e+3>>0]=c>>>11&3|a[f>>0]<<6&255;a[e+4>>0]=c>>>3;a[e+5>>0]=c<<5|31;a[e+6>>0]=c>>>10|252;c=7}return c|0}function Ov(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=1;a=0;while(1){if((h|0)>=(f|0))break;g=0;while(1){if((g|0)==8)break;i=g+e|0;i=(d[b+g>>0]|0)-(d[c+g>>0]|0)-(d[b+i>>0]|0)+(d[c+i>>0]|0)|0;g=g+1|0;a=((i|0)>-1?i:0-i|0)+a|0}h=h+1|0;b=b+e|0;c=c+e|0}return a|0}function Pv(a){a=a|0;var b=0,d=0,e=0,f=0;e=c[a+60>>2]|0;a=3;while(1){if((a|0)<=-1)break;d=0;while(1){if((d|0)==16)break;f=c[e+492+(a<<6)+(d<<2)>>2]|0;a:do if(f|0){b=0;while(1){if((b|0)==2)break a;Wp(f+288+(b*74208|0)+17856|0,0,6144)|0;b=b+1|0}}while(0);d=d+1|0}a=a+-1|0}return}function Qv(a){a=a|0;var b=0,d=0;hM(a+12|0);b=a+8|0;d=b+128|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[a>>2]=-1;c[a+4>>2]=0;c[a+20>>2]=-1;c[a+64>>2]=0;c[a+68>>2]=0;c[a+72>>2]=2;c[a+76>>2]=2;c[a+80>>2]=2;c[a+84>>2]=0;c[a+56>>2]=0;c[a+60>>2]=1;c[a+40>>2]=-99;c[a+44>>2]=-99;return}function Rv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[(c[a+64>>2]|0)+20>>2]|0;e=c[g+4>>2]|0;if(!e)f=Zb[c[g+8>>2]&7](a,c[g+16>>2]|0,b,d)|0;else{f=(c[g+16>>2]|0)+(H(c[g+24>>2]|0,b)|0)|0;f=Xb[e&15](a,f)|0}e=c[g+20>>2]|0;if(e|0)c[e+(b<<2)>>2]=f;return}function Sv(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+6472|0;d=a+6728|0;if((c[d>>2]|0)!=4?c[a+6464>>2]|0:0){rk(b|0,a+6208|0,264)|0;b=c[a+4>>2]|0;c[b+420>>2]=c[a+6716>>2];f=a+6720|0;e=c[f+4>>2]|0;b=b+448|0;c[b>>2]=c[f>>2];c[b+4>>2]=e;$g(a,a+6520|0,c[a+6712>>2]|0,c[d>>2]|0,0)|0}return}function Tv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=e+36|0;g=e+31|0;a[f>>0]=a[g>>0]|0;a[f+1>>0]=a[g+1>>0]|0;a[f+2>>0]=a[g+2>>0]|0;a[f+3>>0]=a[g+3>>0]|0;a[f+4>>0]=a[g+4>>0]|0;f=b+310120|0;b=0;while(1){if(b>>>0>=(c[f>>2]|0)>>>0)break;g=(Hz(d,2)|0)&255;a[e+31+b>>0]=g;b=b+1|0}return}function Uv(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;while(1){if(b>>>0>=12){b=-1;break}d=c[93760+(b<<2)>>2]|0;if(!(cx(c[a>>2]|0,d,3)|0)){e=4;break}b=b+1|0}if((e|0)==4){e=d+3|0;f=hu(e)|0;d=(c[a>>2]|0)+3|0;c[a>>2]=d;if((f|0)>0?(cx(d,e,f)|0)==0:0)c[a>>2]=(c[a>>2]|0)+f}return b|0}function Vv(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=0;while(1){if((j|0)==16)break;if(!(a[i+(d[88656+j>>0]|0)>>0]|0)){k=g+(j<<4<<1)|0;if(b[k>>1]|0)mx(e+(c[f+(j<<2)>>2]|0)|0,k,h)}else hk(e+(c[f+(j<<2)>>2]|0)|0,g+(j<<4<<1)|0,h);j=j+1|0}return}function Wv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=0;while(1){if((i|0)==16)break;if(!(a[h+(d[88656+i>>0]|0)>>0]|0)){if(c[f+(i<<4<<2)>>2]|0)yw(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}else Kj(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);i=i+1|0}return}function Xv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=0;while(1){if((i|0)==16)break;if(!(a[h+(d[88656+i>>0]|0)>>0]|0)){if(c[f+(i<<4<<2)>>2]|0)Dw(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}else Mj(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);i=i+1|0}return}function Yv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=0;while(1){if((i|0)==16)break;if(!(a[h+(d[88656+i>>0]|0)>>0]|0)){if(c[f+(i<<4<<2)>>2]|0)Ew(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}else Nj(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);i=i+1|0}return}function Zv(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=1;a=0;while(1){if((h|0)>=(f|0))break;g=0;while(1){if((g|0)==16)break;i=g+e|0;i=(d[b+g>>0]|0)-(d[c+g>>0]|0)-(d[b+i>>0]|0)+(d[c+i>>0]|0)|0;g=g+1|0;a=(H(i,i)|0)+a|0}h=h+1|0;b=b+e|0;c=c+e|0}return a|0}function _v(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=Mb;Mb=Mb+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Wp(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{mQ(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}mQ(a,f,e)}Mb=g;return}function $v(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=1;a=0;while(1){if((h|0)>=(f|0))break;g=0;while(1){if((g|0)==8)break;i=g+e|0;i=(d[b+g>>0]|0)-(d[c+g>>0]|0)-(d[b+i>>0]|0)+(d[c+i>>0]|0)|0;g=g+1|0;a=(H(i,i)|0)+a|0}h=h+1|0;b=b+e|0;c=c+e|0}return a|0}function aw(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=0;while(1){if((i|0)==16)break;if(!(a[h+(d[88656+i>>0]|0)>>0]|0)){if(c[f+(i<<4<<2)>>2]|0)Hw(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}else Oj(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);i=i+1|0}return}function bw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=a+112|0;c[f>>2]=b;c[f+4>>2]=d;f=c[a+8>>2]|0;e=c[a+4>>2]|0;g=f-e|0;h=((g|0)<0)<<31>>31;i=a+120|0;c[i>>2]=g;c[i+4>>2]=h;if(((b|0)!=0|(d|0)!=0)&((h|0)>(d|0)|(h|0)==(d|0)&g>>>0>b>>>0))c[a+104>>2]=e+b;else c[a+104>>2]=f;return}function cw(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;c[d>>2]=0;g=f>>>1;f=a;a=0;while(1){if((a|0)==8)break;d=0;while(1){if((d|0)==8)break;i=f+(d<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<16384?j:(j^-2147483648)>>31&16383;d=d+1|0}f=f+(g<<1)|0;a=a+1|0}return}function dw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=Mb;Mb=Mb+16|0;f=h;g=h+8|0;e=c[a+4>>2]|0;if(c[e+680>>2]&2048|0){i=c[a+29540>>2]|0;c[f>>2]=b;c[f+4>>2]=i;Xw(e,48,198590,f)}b=Cr(a,b,g)|0;if(b|0?ex(a,b,d)|0:0)qI(a,c[g>>2]|0);Mb=h;return b|0}function ew(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=536944641;c[e+4>>2]=536944641;e=b+8|0;c[e>>2]=536944641;c[e+4>>2]=536944641;e=b+16|0;c[e>>2]=536944641;c[e+4>>2]=536944641;e=b+24|0;c[e>>2]=536944641;c[e+4>>2]=536944641;b=b+(d<<1)|0;a=a+1|0}return}function fw(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=134285313;c[e+4>>2]=134285313;e=b+8|0;c[e>>2]=134285313;c[e+4>>2]=134285313;e=b+16|0;c[e>>2]=134285313;c[e+4>>2]=134285313;e=b+24|0;c[e>>2]=134285313;c[e+4>>2]=134285313;b=b+(d<<1)|0;a=a+1|0}return}function gw(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=536879104;c[e+4>>2]=536879104;e=b+8|0;c[e>>2]=536879104;c[e+4>>2]=536879104;e=b+16|0;c[e>>2]=536879104;c[e+4>>2]=536879104;e=b+24|0;c[e>>2]=536879104;c[e+4>>2]=536879104;b=b+(d<<1)|0;a=a+1|0}return}function hw(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=134219776;c[e+4>>2]=134219776;e=b+8|0;c[e>>2]=134219776;c[e+4>>2]=134219776;e=b+16|0;c[e>>2]=134219776;c[e+4>>2]=134219776;e=b+24|0;c[e>>2]=134219776;c[e+4>>2]=134219776;b=b+(d<<1)|0;a=a+1|0}return}function iw(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=536813567;c[e+4>>2]=536813567;e=b+8|0;c[e>>2]=536813567;c[e+4>>2]=536813567;e=b+16|0;c[e>>2]=536813567;c[e+4>>2]=536813567;e=b+24|0;c[e>>2]=536813567;c[e+4>>2]=536813567;b=b+(d<<1)|0;a=a+1|0}return}function jw(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=134154239;c[e+4>>2]=134154239;e=b+8|0;c[e>>2]=134154239;c[e+4>>2]=134154239;e=b+16|0;c[e>>2]=134154239;c[e+4>>2]=134154239;e=b+24|0;c[e>>2]=134154239;c[e+4>>2]=134154239;b=b+(d<<1)|0;a=a+1|0}return}function kw(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;g=e<<1;b=e*3|0;f=H((d[a+(0-e)>>0]|0)+4+(d[a+(1-e)>>0]|0)+(d[a+(2-e)>>0]|0)+(d[a+(3-e)>>0]|0)+(d[a+-1>>0]|0)+(d[a+(e+-1)>>0]|0)+(d[a+(g+-1)>>0]|0)+(d[a+(b+-1)>>0]|0)>>3,16843009)|0;c[a>>2]=f;c[a+e>>2]=f;c[a+g>>2]=f;c[a+b>>2]=f;return}function lw(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;c[d>>2]=0;g=f>>>1;f=a;a=0;while(1){if((a|0)==8)break;d=0;while(1){if((d|0)==8)break;i=f+(d<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<4096?j:(j^-2147483648)>>31&4095;d=d+1|0}f=f+(g<<1)|0;a=a+1|0}return}function mw(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;c[d>>2]=0;g=f>>>1;f=a;a=0;while(1){if((a|0)==8)break;d=0;while(1){if((d|0)==8)break;i=f+(d<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<1024?j:(j^-2147483648)>>31&1023;d=d+1|0}f=f+(g<<1)|0;a=a+1|0}return}function nw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=Mb;Mb=Mb+80|0;e=i;f=a+100|0;g=a+152|0;while(1){if((sU(c[f>>2]|0)|0)>=(d|0)){h=5;break}if((Ao(g,e)|0)!=1){a=0;break}be(a,e);gP(e)}if((h|0)==5)a=Hs(c[f>>2]|0,b,d)|0;Mb=i;return a|0}function ow(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;c[d>>2]=0;g=f>>>1;f=a;a=0;while(1){if((a|0)==8)break;d=0;while(1){if((d|0)==8)break;i=f+(d<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<512?j:(j^-2147483648)>>31&511;d=d+1|0}f=f+(g<<1)|0;a=a+1|0}return}function pw(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[d>>2]|0;do if(!(c[a+4>>2]|0)){a=c[a>>2]|0;if((c[a+24>>2]|0)==0?(c[a+44>>2]|0)==0:0){a=-11;break}a=MS()|0;if(!a)a=-12;else{c[b>>2]=c[c[d>>2]>>2];c[c[d>>2]>>2]=a;a=0}}else a=-541478725;while(0);return a|0}function qw(a,b,d,e,f,g,h){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=Mb;Mb=Mb+16|0;j=i;h=fk(a,b,0,0,h,j)|0;b=c[j>>2]|0;if((h|0)!=0&(b|0)!=0)if(!(c[h+40>>2]&128))b=Nd(a,h,b+(c[h+8>>2]|0)|0,d,e,f,g)|0;else b=-22;else b=-1414549496;Mb=i;return b|0}function rw(a){a=a|0;var b=0,d=0.0,e=0,g=0,h=0.0;b=1<<a;d=6.283185307179586/+(b|0);e=c[80112+(a<<2)>>2]|0;g=(b|0)/4|0;a=0;while(1){if((a|0)>(g|0))break;h=+x(+(d*+(a|0)));f[e+(a<<2)>>2]=h;a=a+1|0}b=(b|0)/2|0;a=1;while(1){if((a|0)>=(g|0))break;c[e+(b-a<<2)>>2]=c[e+(a<<2)>>2];a=a+1|0}return}function sw(a){a=a|0;var b=0,d=0,e=0,f=0;switch(c[a+80>>2]|0){case 6:{b=42;d=43;e=6;f=5;break}case 7:{b=44;d=45;e=7;f=5;break}case 8:{b=46;d=47;e=8;f=5;break}case 9:{b=48;d=49;e=9;f=5;break}default:{}}if((f|0)==5){c[a+96>>2]=e;c[a+100>>2]=b;c[a+104>>2]=d}return}function tw(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=33620481;c[e+4>>2]=33620481;e=b+8|0;c[e>>2]=33620481;c[e+4>>2]=33620481;e=b+16|0;c[e>>2]=33620481;c[e+4>>2]=33620481;e=b+24|0;c[e>>2]=33620481;c[e+4>>2]=33620481;b=b+(d<<1)|0;a=a+1|0}return}function uw(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=33554944;c[e+4>>2]=33554944;e=b+8|0;c[e>>2]=33554944;c[e+4>>2]=33554944;e=b+16|0;c[e>>2]=33554944;c[e+4>>2]=33554944;e=b+24|0;c[e>>2]=33554944;c[e+4>>2]=33554944;b=b+(d<<1)|0;a=a+1|0}return}function vw(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=33489407;c[e+4>>2]=33489407;e=b+8|0;c[e>>2]=33489407;c[e+4>>2]=33489407;e=b+16|0;c[e>>2]=33489407;c[e+4>>2]=33489407;e=b+24|0;c[e>>2]=33489407;c[e+4>>2]=33489407;b=b+(d<<1)|0;a=a+1|0}return}function ww(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=16777472;c[e+4>>2]=16777472;e=b+8|0;c[e>>2]=16777472;c[e+4>>2]=16777472;e=b+16|0;c[e>>2]=16777472;c[e+4>>2]=16777472;e=b+24|0;c[e>>2]=16777472;c[e+4>>2]=16777472;b=b+(d<<1)|0;a=a+1|0}return}function xw(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=16711935;c[e+4>>2]=16711935;e=b+8|0;c[e>>2]=16711935;c[e+4>>2]=16711935;e=b+16|0;c[e>>2]=16711935;c[e+4>>2]=16711935;e=b+24|0;c[e>>2]=16711935;c[e+4>>2]=16711935;b=b+(d<<1)|0;a=a+1|0}return}function yw(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;g=f>>>1;c[d>>2]=0;d=0;while(1){if((d|0)==4)break;f=0;while(1){if((f|0)==4)break;i=a+(f<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<16384?j:(j^-2147483648)>>31&16383;f=f+1|0}a=a+(g<<1)|0;d=d+1|0}return}function zw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=a+12|0;i=a+4|0;j=(e|0)==0;do{f=c[i>>2]|0;g=(c[h>>2]|0)-f|0;g=(g|0)>(d|0)?d:g;if(j){rk(b|0,f|0,g|0)|0;b=b+g|0}else gc[e&1023](b,f,g);IH(a,g);d=d-g|0}while((d|0)>0);return 0}function Aw(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=Mb;Mb=Mb+128|0;h=i;hc[c[a+2964>>2]&255](h,d,e,f);dc[c[a+2032>>2]&31](h);g=0;a=0;while(1){if((g|0)==64)break;f=b[h+(g<<1)>>1]|0;f=(f|0)>-1?f:0-f|0;g=g+1|0;a=(a|0)>(f|0)?a:f}Mb=i;return a|0}function Bw(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;h=b;i=h;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=a;c[g>>2]=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;c[g+4>>2]=h;f=f+1|0;b=b+e|0;a=a+e|0}return}function Cw(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;if(d|0?c[d+248>>2]|0:0){qo(c[a+4>>2]|0,b+4|0);QS(b+52|0);d=b+20|0;QS(d);QS(b+44|0);a=0;while(1){if((a|0)==2)break;QS(b+28+(a<<2)|0);QS(b+60+(a<<2)|0);a=a+1|0}Wp(d|0,0,636)|0}return}function Dw(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;g=f>>>1;c[d>>2]=0;d=0;while(1){if((d|0)==4)break;f=0;while(1){if((f|0)==4)break;i=a+(f<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<4096?j:(j^-2147483648)>>31&4095;f=f+1|0}a=a+(g<<1)|0;d=d+1|0}return}function Ew(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;g=f>>>1;c[d>>2]=0;d=0;while(1){if((d|0)==4)break;f=0;while(1){if((f|0)==4)break;i=a+(f<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<1024?j:(j^-2147483648)>>31&1023;f=f+1|0}a=a+(g<<1)|0;d=d+1|0}return}function Fw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=Mb;Mb=Mb+16|0;e=f;d=a+28|0;if(!(uL(d)|0)){h=Hz(d,2)|0;g=a+68|0;c[g>>2]=h;d=Hz(d,5)|0;c[a+48>>2]=d;a=c[g>>2]|0;c[e>>2]=d;c[e+4>>2]=a;Xw(b,48,196044,e);a=1}else a=-1094995529;Mb=f;return a|0}function Gw(a){a=a|0;var b=0,e=0,f=0,g=0;b=a+8|0;e=c[b>>2]|0;g=(c[a>>2]|0)+(e>>>3)|0;g=(kS(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(e&7);a=g>>>0>65535;g=a?g>>>16:g;a=a?16:0;f=(g&65280|0)==0;a=32-(d[91312+(f?g:g>>>8)>>0]|0)-(f?a:a|8)|0;c[b>>2]=a+e;return a+-1|0}function Hw(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;g=f>>>1;c[d>>2]=0;d=0;while(1){if((d|0)==4)break;f=0;while(1){if((f|0)==4)break;i=a+(f<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<512?j:(j^-2147483648)>>31&511;f=f+1|0}a=a+(g<<1)|0;d=d+1|0}return}function Iw(a){a=a|0;var b=0;b=a+8|0;c[b>>2]=0;c[b+4>>2]=-2147483648;b=a+16|0;c[b>>2]=0;c[b+4>>2]=-2147483648;b=a+56|0;c[b>>2]=-1;c[b+4>>2]=-1;b=a+64|0;c[b>>2]=0;c[b+4>>2]=0;b=a+32|0;c[a>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;return}function Jw(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+21864>>2]|0;f=c[a+21860>>2]|0;d=a+32856|0;e=Gu(d,76-(f>>>1&2|b>>>1&1)+(a+32904)|0)|0;e=((Gu(d,76-(f>>>2&2|e&1)+(a+32904)|0)|0)<<1)+e|0;b=e+((Gu(d,76-(e<<1&2|b>>>3&1)+(a+32904)|0)|0)<<2)|0;return b+((Gu(d,76-(b>>>2&1|b&2)+(a+32904)|0)|0)<<3)|0}function Kw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=c[b>>2]|0;h=j;g=0;i=0;while(1){if((i|0)>=(f|0))break;k=a[h>>0]|0;if(!(vU(k)|0))break;h=h+1|0;g=(g*10|0)+-48+k|0;i=i+1|0}if((h|0)!=(j|0)?!((g|0)<(d|0)|(g|0)>(e|0)):0)c[b>>2]=h;else g=-1;return g|0}function Lw(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;f=0;while(1){if((f|0)==16)break;g=a+((H(f,b)|0)+-1)|0;e=e+(d[g>>0]|0)|0;f=f+1|0}f=H((e+8|0)>>>4,16843009)|0;e=0;while(1){if((e|0)==16)break;c[a>>2]=f;c[a+4>>2]=f;c[a+8>>2]=f;c[a+12>>2]=f;a=a+b|0;e=e+1|0}return}function Mw(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;l=Mb;Mb=Mb+32|0;j=l+16|0;k=l;i=0;while(1){if((i|0)==4)break;c[j+(i<<2)>>2]=c[b+(i<<2)>>2];c[k+(i<<2)>>2]=c[e+(i<<2)>>2];i=i+1|0}bm(a,j,d,k,f,g,h,41);Mb=l;return}function Nw(a,b){a=a|0;b=+b;var d=0,e=0.0;b=b*-3.141592653589793/180.0;e=+x(+b);b=+y(+b);d=a+8|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;d=~~(e*65536.0);c[a>>2]=d;c[a+4>>2]=~~(b*-65536.0);c[a+12>>2]=~~(b*65536.0);c[a+16>>2]=d;c[a+32>>2]=1073741824;return}function Ow(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=f+696|0;h=f+24312|0;i=j;g=0;while(1){if((g|0)>=(d|0))break;f=c[b+(g<<2)>>2]|0;if((f|0)!=0?f>>>0>=j>>>0&f>>>0<h>>>0:0)f=e+696+(((f-i|0)/656|0)*656|0)|0;else f=0;c[a+(g<<2)>>2]=f;g=g+1|0}return}function Pw(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;do if((a|0)<0|(f|0)==0)e=-22;else{if((e+-1|0)>>>0<2)e=d[f+5>>0]|0;else e=0;e=a+-1+(1<<e)>>e;if(e|0?(2147483647/(e|0)|0|0)<(b|0):0){e=-22;break}e=H(e,b)|0;e=(0==0?(c[f+8>>2]&4|0)==0:0)?e:e+7>>3}while(0);return e|0}function Qw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;d=c[a+12>>2]|0;e=c[a+8>>2]|0;g=a+16|0;f=c[g>>2]|0;c[g>>2]=f+1;g=a+112|0;h=a+108|0;b=a+20|0;a=f;do{jc[c[g>>2]&127](c[h>>2]|0,a,f,d,e);a=c[b>>2]|0;c[b>>2]=a+1}while(a>>>0<d>>>0);return (a|0)==(d+-1+e|0)|0}function Rw(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0;g=H(c[b+304>>2]|0,d[b+288>>0]|0)|0;a:do switch(f|0){case 1:{f=0;while(1){if((f|0)>=(g|0))break a;h=(uL(e)|0)&255;a[b+13+f>>0]=h;f=f+1|0}}case 2:{Wp(b+13|0,1,g|0)|0;break}default:{}}while(0);return}function Sw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Mb;Mb=Mb+16|0;e=uL(b)|0;d=Hz(b,8)|0;if((d|0)==255)d=(Hz(b,8)|0)+255|0;if(e|0)BQ(b);d=d<<3;if((pS(b)|0)<(d|0)){Xw(c[a+4>>2]|0,16,188164,f);d=-1094995529}else{qK(b,d);d=0}Mb=f;return d|0}function Tw(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[b+390904>>2]|0)){c[b+72>>2]=c[b+76>>2];c[b+12>>2]=d;BK(b);c[b+14656>>2]=1152;c[b+102624>>2]=1152;Bm(b+390884|0,7,1,4.76837158203125e-07)|0;Bm(b+390816|0,7,1,-65536.0)|0;eU(b+176032|0);mC(b+390952|0);RP(b+391008|0)}return}function Uw(){var a=0,b=0,c=0,d=0.0,e=0.0,g=0.0,h=0.0,i=0,j=0;a=8;b=0;c=0;d=8.881784197001252e-16;e=3.637978807091713e-12;while(1){if((c|0)==428)break;i=c<<2&12;j=(c*3|0)+8&15;h=i>>>0<b>>>0?d*2.0:d;g=j>>>0<a>>>0?e*2.0:e;f[869744+(c<<2)>>2]=h*+f[44016+(i<<2)>>2];a=j;b=i;c=c+1|0;d=h;e=g}return}function Vw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[d>>2]|0;if((c[e+80>>2]|0)==334?(c[(c[e+248>>2]|0)+8>>2]|0)==1:0)e=-542398533;else{e=Ff(b,e)|0;if((e|0)>=0){Ef(b+344|0,171149,wq(a+29836|0)|0,0)|0;if(!(c[d+652>>2]|0)){c[b+84>>2]=1;e=0}else e=0}}return e|0}function Ww(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=(b|0)==2;f=a+24|0;d=0;while(1){if((d|0)==3)break;g=a+(d<<2)|0;h=a+12+(d<<2)|0;if(e)c[g>>2]=(c[g>>2]|0)+(c[h>>2]|0);c[f>>2]=b;c[h>>2]=c[h>>2]<<1;d=d+1|0}c[a+28>>2]=c[(c[a+36>>2]|0)+76+((e&1)<<2)>>2];return}function Xw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=Mb;Mb=Mb+16|0;f=i;if(a){h=c[a>>2]|0;c[f>>2]=e;if(((h|0)!=0?(c[h+12>>2]|0)>3280641:0)?(g=c[h+16>>2]|0,(b|0)>7&(g|0)!=0):0)b=(c[a+g>>2]|0)+b|0}else c[f>>2]=e;YP(a,b,d,f);Mb=i;return}function Yw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=Mb;Mb=Mb+32|0;g=h+4|0;if(!(f>>>0>0|(f|0)==0&e>>>0>2147483647)){d=FH(g,d,e)|0;if((d|0)>=0)d=Xk(a,b,c,g,0,1)|0}else{Xw(b,16,189572,h);d=-1094995529}Mb=h;return d|0}function Zw(b,c){b=b|0;c=c|0;do if(c){c=MO(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24,c)|0;if(!c){hM(b);c=-12;break}else{a[b>>0]=c;a[b+1>>0]=c>>8;a[b+2>>0]=c>>16;a[b+3>>0]=c>>24;c=0;break}}else{hM(b);c=0}while(0);return c|0}function _w(a,b){a=a|0;b=b|0;var c=0;c=a-(a>>>1&1431655765)|0;c=(c>>>2&858993459)+(c&858993459)|0;c=(c>>>4)+c&252645135;c=(c>>>8)+c|0;a=oN(a|0,b|0,33)|0;M()|0;b=b-(a&1431655765)|0;b=(b>>>2&858993459)+(b&858993459)|0;b=(b>>>4)+b&252645135;b=(b>>>8)+b|0;return ((c>>>16)+c&63)+((b>>>16)+b&63)|0}function $w(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=d>>1;b=a+(0-f<<1)|0;e=c[b>>2]|0;b=c[b+4>>2]|0;g=a;c[g>>2]=e;c[g+4>>2]=b;g=a+(f<<1)|0;c[g>>2]=e;c[g+4>>2]=b;d=a+((d&-2)<<1)|0;c[d>>2]=e;c[d+4>>2]=b;d=a+(f*3<<1)|0;c[d>>2]=e;c[d+4>>2]=b;return}function ax(a,d,e,f,g,h,i){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;j=c[f+(g<<2)>>2]|0;f=c[f+(h<<2)>>2]|0;g=0;while(1){if((g|0)>=(i|0))break;h=H(j,b[d+(g<<1)>>1]|0)|0;h=(h+16384+(H(f,b[e+(g<<1)>>1]|0)|0)|0)>>>15&65535;b[a+(g<<1)>>1]=h;g=g+1|0}return}function bx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=(b|0)==0;e=a+24312|0;b=0;while(1){if((b|0)==36)break;f=a+696+(b*656|0)|0;do if(c[(c[f>>2]|0)+248>>2]|0?(c[a+696+(b*656|0)+640>>2]|0)==0:0){if(d?(f|0)==(c[e>>2]|0):0)break;Cw(a,f)}while(0);b=b+1|0}return}function cx(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;f=b+d|0;e=b;while(1){d=RT(a[e>>0]|0)|0;e=e+1|0;b=RT(a[c>>0]|0)|0;if(e>>>0>=f>>>0){g=3;break}d=d&255;b=b&255;if(!((d|0)!=0&(d|0)==(b|0)))break;else c=c+1|0}if((g|0)==3){b=b&255;d=d&255}return d-b|0}function dx(a,b){a=a|0;b=b|0;var d=0;d=c[a+80>>2]|0;do if(!((d|0)<0?1:(d|0)!=(c[b+80>>2]|0))){if((c[a+68>>2]|0)>0?(c[a+72>>2]|0)>0:0){a=pp(a,b)|0;break}if((c[a+76>>2]|0)>0?(c[a+352>>2]|0)>0:0)a=Ep(a,b)|0;else a=-22}else a=-22;while(0);return a|0}function ex(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=b+640|0;e=c[f>>2]&d;c[f>>2]=e;a:do if(!e){d=0;while(1){e=c[a+28588+(d<<2)>>2]|0;if(!e){d=1;break a}if((e|0)==(b|0))break;else d=d+1|0}c[f>>2]=4;d=1}else d=0;while(0);return d|0}function fx(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=XJ(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function gx(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0;g=0;while(1){if((g|0)>=(f|0))break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;h=b+4|0;c[a+4>>2]=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=g+1|0;a=a+e|0;b=b+e|0}return}function hx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Sf(a,b,c,d,8)|0;f=(Sf(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(Sf(a,g,b,d,8)|0)+f|0;f=f+(Sf(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function ix(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==8)break;f=H(b,d)|0;h=XJ(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function jx(a){a=a|0;var b=0,d=0;d=Mb;Mb=Mb+16|0;b=d;c[b>>2]=0;do if((2147483647+-32|0)>>>0>=a>>>0){if(!a){a=jx(1)|0;c[b>>2]=a;break}if(!(rv(b,16,a)|0)){a=c[b>>2]|0;break}else{c[b>>2]=0;a=0;break}}else a=0;while(0);Mb=d;return a|0}function kx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=xf(a,b,c,d,8)|0;f=(xf(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(xf(a,g,b,d,8)|0)+f|0;f=f+(xf(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function lx(c,e,f){c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=(b[e>>1]|0)+32>>6;b[e>>1]=0;g=0;while(1){if((g|0)==8)break;e=0;while(1){if((e|0)==8)break;i=c+e|0;j=h+(d[i>>0]|0)|0;a[i>>0]=j>>>0>255?(j^-2147483648)>>31:j;e=e+1|0}c=c+f|0;g=g+1|0}return}function mx(c,e,f){c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=(b[e>>1]|0)+32>>6;b[e>>1]=0;g=0;while(1){if((g|0)==4)break;e=0;while(1){if((e|0)==4)break;i=c+e|0;j=h+(d[i>>0]|0)|0;a[i>>0]=j>>>0>255?(j^-2147483648)>>31:j;e=e+1|0}c=c+f|0;g=g+1|0}return}function nx(){var a=0,b=0,d=0;a=Ga(202764)|0;do if((Ga(202769)|0)==0?(Ga(202778)|0)==0:0){if(a|0?SJ(2)|0:0){b=1;break}b=(Ga(202799)|0)!=0&1}else b=0;while(0);c[40974]=b;if(!(Ga(202818)|0)){if(a|0?yq(a,202840)|0:0)d=9}else d=9;if((d|0)==9)c[40974]=b<<8;return}function ox(a,c,e,f,g){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==2)break;i=c+(H(h,g)|0)|0;j=e+(h<<1)|0;j=(lT((d[i>>0]|d[i+1>>0]<<8)&65535,(d[j>>0]|d[j+1>>0]<<8)&65535)|0)&65535;i=a+(H(h,f)|0)|0;b[i>>1]=j;h=h+1|0}return}function px(a){a=a|0;var b=0,d=0,e=0,f=0;f=Mb;Mb=Mb+16|0;b=f;e=c[a>>2]|0;while(1){c[b>>2]=e;d=e;if(!e)break;e=c[d+72>>2]|0;gP(d);hM(b)}c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;Mb=f;return}function qx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=1){gO(d,1);f=Hz(d,1)|0;gO(d,6);if(f)if((e|0)<2)b=-1094995529;else{gO(d,4);f=(Hz(d,4)|0)&255;a[b+4>>0]=f;c[b>>2]=1;b=0}else b=0}else b=-1094995529;return b|0}function rx(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;f=0;while(1){if((f|0)==8)break;g=a+((H(f,b)|0)+-1)|0;e=e+(d[g>>0]|0)|0;f=f+1|0}f=H((e+4|0)>>>3,16843009)|0;e=0;while(1){if((e|0)==8)break;g=a+(H(e,b)|0)|0;c[g+4>>2]=f;c[g>>2]=f;e=e+1|0}return}function sx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=a+(0-b)|0;f=c[e>>2]|0;g=c[e+4>>2]|0;h=c[e+8>>2]|0;e=c[e+12>>2]|0;d=0;while(1){if((d|0)==16)break;i=a+(H(d,b)|0)|0;c[i>>2]=f;c[i+4>>2]=g;c[i+8>>2]=h;c[i+12>>2]=e;d=d+1|0}return}function tx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=Mb;Mb=Mb+32|0;e=g+16|0;f=g;a=oT(a)|0;if((a|0)!=0?(0==0?(c[a+8>>2]&8|0)==0:0):0){Yt(e,f,a);a=Pw(b,c[e+(d<<2)>>2]|0,c[f+(d<<2)>>2]|0,a)|0}else a=-22;Mb=g;return a|0}function ux(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0.0;h=+f[d+148808+(e*480|0)>>2];g=c[d+74464>>2]|0;b=c[b+74176>>2]|0;d=1024<<((c[a+6488>>2]|0)==1&1);e=0;while(1){if((e|0)>=(d|0))break;a=b+(e<<2)|0;f[a>>2]=+f[a>>2]+h*+f[g+(e<<2)>>2];e=e+1|0}return}function vx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;do if((b|0)>=3){d=b>>>1;if(!(d&a))return (vx(a,d,c)|0)<<1|0;d=b>>>2;b=(vx(a,d,c)|0)<<2;if(((d&a|0)==0|0)==(c|0)){b=b|1;break}else{b=b+-1|0;break}}else b=a&1;while(0);return b|0}function wx(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0;c=0;d=0.0;e=0.0;while(1){if((c|0)>=(b|0))break;h=+f[a+(c<<3)>>2];j=+f[a+(c<<3)+4>>2];k=c|1;g=+f[a+(k<<3)>>2];i=+f[a+(k<<3)+4>>2];c=c+2|0;d=d+j*j+i*i;e=e+h*h+g*g}return +(e+d)}function xx(a){a=a|0;var b=0,d=0,e=0;b=c[a+16>>2]|0;d=(b|0)<2;e=(d?1899:1900)+(c[a+20>>2]|0)|0;return ((c[a+8>>2]|0)*3600|0)+-2032579456+((c[a+4>>2]|0)*60|0)+(c[a>>2]|0)+(((e*365|0)+(c[a+12>>2]|0)+((e|0)/4|0)+((e|0)/-100|0)+((e|0)/400|0)+(((((d?13:1)+b|0)*153|0)+-457|0)/5|0)|0)*86400|0)|0}function yx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;Au(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}f=4;while(1){if((f|0)==8)break;Au(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function zx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;bv(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}f=4;while(1){if((f|0)==8)break;bv(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function Ax(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;do if(((b|0)!=0?(e=c[b+12>>2]|0,!((e|0)<3357440|(e&252)>>>0<100)):0)?(d=c[b+32>>2]|0,d>>>0<=45):0){b=c[b+36>>2]|0;if(!b){b=d+16|0;break}else{b=(Vb[b&31](a)|0)+16|0;break}}else b=16;while(0);return b|0}function Bx(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if(d>>>0>=32)break;e=d<<1;c[a+(e<<2)>>2]=c[b+(63-d<<2)>>2]^-2147483648;c[a+((e|1)<<2)>>2]=c[b+(d<<2)>>2];c[a+((e|2)<<2)>>2]=c[b+(62-d<<2)>>2]^-2147483648;c[a+((e|3)<<2)>>2]=c[b+((d|1)<<2)>>2];d=d+2|0}return}function Cx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0;i=1<<c[a+20>>2];g=i>>1;h=i>>2;ml(a,b+(h<<2)|0,d);e=g+-1|0;d=i+-1|0;a=0;while(1){if((a|0)>=(h|0))break;f[b+(a<<2)>>2]=-+f[b+(e-a<<2)>>2];c[b+(d-a<<2)>>2]=c[b+(a+g<<2)>>2];a=a+1|0}return}function Dx(a,b){a=a|0;b=b|0;var e=0,f=0;e=0;f=0;while(1){if((f|0)==16)break;e=e+(d[a+(f-b)>>0]|0)|0;f=f+1|0}f=H((e+8|0)>>>4,16843009)|0;e=0;while(1){if((e|0)==16)break;c[a>>2]=f;c[a+4>>2]=f;c[a+8>>2]=f;c[a+12>>2]=f;a=a+b|0;e=e+1|0}return}function Ex(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;Ls(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}f=4;while(1){if((f|0)==8)break;Ls(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Fx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;ut(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}f=4;while(1){if((f|0)==8)break;ut(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function Gx(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;b=H(d[a+-1>>0]|0,16843009)|0;c[a>>2]=b;b=H(d[a+(e+-1)>>0]|0,16843009)|0;c[a+e>>2]=b;b=e<<1;f=H(d[a+(b+-1)>>0]|0,16843009)|0;c[a+b>>2]=f;e=e*3|0;b=H(d[a+(e+-1)>>0]|0,16843009)|0;c[a+e>>2]=b;return}function Hx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Mb;Mb=Mb+144|0;f=g+128|0;e=g;if(!((b|4|0)==4&(d|0)==0)?(h=SO(b|0,d|0,-1,-1)|0,(h&b|0)==0&((M()|0)&d|0)==0):0){TI(e,128,-1,b,d);c[f>>2]=e;Xw(a,40,213243,f);b=4}Mb=g;return b|0}function Ix(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{while(1){e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){b=0;break a}else{b=b+1|0;c=c+1|0}}b=(e&255)-(f&255)|0}while(0);return b|0}function Jx(a,b){a=a|0;b=b|0;var d=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;c[b>>2]=16843009;c[b+4>>2]=16843009;c[b+8>>2]=16843009;c[b+12>>2]=16843009;c[b+16>>2]=16843009;c[b+20>>2]=16843009;c[b+24>>2]=16843009;c[b+28>>2]=16843009;b=b+(d<<1)|0;a=a+1|0}return}function Kx(a,b){a=a|0;b=b|0;var c=0,d=0;a:do if((_w(a,b)|0)==1){c=0;while(1){if(c>>>0>=64){c=0;break a}d=cN(1,0,c|0)|0;if(!((d&a|0)==0&((M()|0)&b|0)==0))break;c=c+1|0}c=CQ(c)|0}else c=0;while(0);return c|0}function Lx(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=0;while(1){e=a[c+d>>0]|0;f=a[b+d>>0]|0;if(!(e<<24>>24)){g=4;break}if(e<<24>>24==f<<24>>24)d=d+1|0;else{d=0;break}}if((g|0)==4){d=f<<24>>24;d=f<<24>>24!=95&((d+-48|0)>>>0>9&((d&-33)+-65|0)>>>0>25)&1}return d|0}function Mx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=fq(a,b,c,d,8)|0;f=(fq(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(fq(a,g,b,d,8)|0)+f|0;f=f+(fq(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function Nx(a){a=a|0;a=a+8|0;switch(a>>>3|a<<29|0){case 0:{a=202616;break}case 7:{a=202610;break}case 6:{a=202602;break}case 5:{a=202597;break}case 4:{a=202589;break}case 3:{a=202583;break}case 2:{a=202577;break}case 1:{a=202571;break}default:a=1104084}return a|0}function Ox(a){a=a|0;var b=0,d=0,e=0,f=0;e=(c[a+21864>>2]|0)>>>4&3;d=(c[a+21860>>2]|0)>>>4&3;f=(e|0)!=0&1;b=a+32856|0;f=(Gu(b,((d|0)==0?f:f|2)+77+(a+32904)|0)|0)==0;e=(e|0)==2?5:4;if(f)a=0;else a=(Gu(b,((d|0)==2?e|2:e)+77+(a+32904)|0)|0)+1|0;return a|0}function Px(a){a=a|0;var b=0,e=0,f=0;b=a+8|0;f=c[b>>2]|0;e=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(kS(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>23;f=f+(d[72672+a>>0]|0)|0;c[b>>2]=e>>>0>f>>>0?f:e;return d[73184+a>>0]|0|0}function Qx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=0;f=7;while(1){e=d;while(1){if((e|0)==(f|0))break;g=uL(b)|0;c[a+140+(e<<2)>>2]=g;e=e+1|0}d=d+7|0;if((d|0)>=57)break;if(!(uL(b)|0))break;else f=f+7|0}return (d|0)/7|0|0}function Rx(b){b=b|0;var d=0,e=0;b=fQ(b,2,8)|0;if(!b)b=0;else{b=b+4|0;d=c[b>>2]|0;e=d;a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;a[e+3>>0]=0;d=d+4|0;a[d>>0]=0;a[d+1>>0]=0;a[d+2>>0]=0;a[d+3>>0]=0;b=c[b>>2]|0}return b|0}function Sx(a){a=a|0;var b=0;if((c[a+808>>2]&1|0)!=0?(c[(c[(c[a+64>>2]|0)+20>>2]|0)+300>>2]|0)!=1:0)if(!(c[(c[a+12>>2]|0)+64>>2]|0))if((c[a+812>>2]|0)==0?(c[a+472>>2]|0)!=10:0)a=0;else b=6;else a=0;else b=6;if((b|0)==6)a=1;return a|0}function Tx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+992|0;e=hn(b,d,c[e>>2]|0,c[e+4>>2]|0,-1,0,a)|0;g=(e|0)<0;f=g?0:d;b=g?0:b;c[a+132>>2]=b;c[a+136>>2]=f;d=c[a+792>>2]|0;c[a+124>>2]=0-(0-b>>d);c[a+128>>2]=0-(0-f>>d);return e|0}function Ux(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;De(a,b,c,d,32,e);f=b+32|0;De(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;De(a,b,c,d,32,e);De(a+16|0,f,c+16|0,d,32,e);return}function Vx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;Ee(a,b,c,d,32,e);f=b+32|0;Ee(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;Ee(a,b,c,d,32,e);Ee(a+16|0,f,c+16|0,d,32,e);return}function Wx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;Yd(a,b,c,d,32,e);f=b+16|0;Yd(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;Yd(a,b,c,d,32,e);Yd(a+16|0,f,c+16|0,d,32,e);return}function Xx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;while(1){if((d|0)>=64)break;f=0;while(1){if((f|0)>=(e|0))break;c[a+(f<<8)+(d<<2)>>2]=c[b+(d<<8)+(f<<3)>>2];c[a+9728+(f<<8)+(d<<2)>>2]=c[b+(d<<8)+(f<<3)+4>>2];f=f+1|0}d=d+1|0}return}function Yx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;while(1){if((d|0)>=64)break;f=0;while(1){if((f|0)>=(e|0))break;c[a+(d<<8)+(f<<3)>>2]=c[b+(f<<8)+(d<<2)>>2];c[a+(d<<8)+(f<<3)+4>>2]=c[b+9728+(f<<8)+(d<<2)>>2];f=f+1|0}d=d+1|0}return}function Zx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;re(a,b,c,d,32,e);f=b+32|0;re(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;re(a,b,c,d,32,e);re(a+16|0,f,c+16|0,d,32,e);return}function _x(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;se(a,b,c,d,32,e);f=b+32|0;se(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;se(a,b,c,d,32,e);se(a+16|0,f,c+16|0,d,32,e);return}function $x(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;Jd(a,b,c,d,32,e);f=b+16|0;Jd(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;Jd(a,b,c,d,32,e);Jd(a+16|0,f,c+16|0,d,32,e);return}function ay(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,i=0.0,j=0.0;f=+(c|0);i=+w(+(+(d|0)/f),+(1.0/+(e|0)));h=e+-1|0;g=0;e=c;while(1){if((g|0)>=(h|0))break;j=i*f;c=XU(j)|0;b[a+(g<<1)>>1]=c-e;f=j;g=g+1|0;e=c}b[a+(h<<1)>>1]=d-e;return}function by(a){a=a|0;var b=0,d=0,e=0,f=0;f=Mb;Mb=Mb+16|0;e=f;b=a+64|0;jV(b)|0;d=a+140|0;if(!(c[d>>2]|0)){c[e>>2]=184704;c[e+4>>2]=184677;c[e+8>>2]=155;Xw(0,0,213444,e);ba()}else{c[d>>2]=0;jV(a+92|0)|0;jV(b)|0;Mb=f;return}}function cy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=c[d+8>>2]|0;e=0;while(1){if((e|0)>=(f|0))break;g=(uL(b)|0)&255;a[d+24+e>>0]=g;e=e+1|0}f=c[d+20>>2]|0;e=0;while(1){if((e|0)>=(f|0))break;g=(uL(b)|0)&255;a[d+29+e>>0]=g;e=e+1|0}return}function dy(a){a=a|0;var b=0,d=0;d=(a|0)==0;b=0;do{if(d){b=0;break}b=uT(b)|0;if(!b){b=0;break}}while((c[b+44>>2]|0)!=(a|0));a=b;do{a=uT(a)|0;if(!a){b=0;break}b=c[a+44>>2]|0}while(!(b|0));return b|0}function ey(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=uH(a+152|0)|0;f=uH(a+192|0)|0;e=a+296|0;d=a+304|0;b=a+300|0;la(2,a|0,((g|0)>(f|0)?g:f)|0,c[e>>2]|0,c[d>>2]<<3|0,c[b>>2]<<3|0)|0;c[e>>2]=0;c[d>>2]=0;c[b>>2]=0;return}function fy(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=WD(a,b,c,d,8)|0;f=(WD(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(WD(a,g,b,d,8)|0)+f|0;f=f+(WD(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function gy(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Aw(a,b,c,d,8)|0;f=(Aw(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(Aw(a,g,b,d,8)|0)+f|0;f=f+(Aw(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function hy(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;ie(a,b,c,d,32,e);f=b+16|0;ie(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;ie(a,b,c,d,32,e);ie(a+16|0,f,c+16|0,d,32,e);return}function iy(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;Pd(a,b,c,d,32,e);f=b+16|0;Pd(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;Pd(a,b,c,d,32,e);Pd(a+16|0,f,c+16|0,d,32,e);return}function jy(a){a=+a;var b=0.0,c=0.0;do if(!(a==0.0)){b=+u(+a);if(!(b<=15.0)){a=1.0/b+-.06666666666666667;c=+jJ(156736,7,a);a=+E(+b)/+v(+b)*(c/+jJ(156800,8,a));break}else{a=a*a;c=+jJ(156560,15,a);a=c/+jJ(156688,6,a);break}}else a=1.0;while(0);return +a}function ky(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=d>>1;e=a;c[e>>2]=536944641;c[e+4>>2]=536944641;e=a+(b<<1)|0;c[e>>2]=536944641;c[e+4>>2]=536944641;d=a+((d&-2)<<1)|0;c[d>>2]=536944641;c[d+4>>2]=536944641;d=a+(b*3<<1)|0;c[d>>2]=536944641;c[d+4>>2]=536944641;return}function ly(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=d>>1;e=a;c[e>>2]=134285313;c[e+4>>2]=134285313;e=a+(b<<1)|0;c[e>>2]=134285313;c[e+4>>2]=134285313;d=a+((d&-2)<<1)|0;c[d>>2]=134285313;c[d+4>>2]=134285313;d=a+(b*3<<1)|0;c[d>>2]=134285313;c[d+4>>2]=134285313;return}function my(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=d>>1;e=a;c[e>>2]=536879104;c[e+4>>2]=536879104;e=a+(b<<1)|0;c[e>>2]=536879104;c[e+4>>2]=536879104;d=a+((d&-2)<<1)|0;c[d>>2]=536879104;c[d+4>>2]=536879104;d=a+(b*3<<1)|0;c[d>>2]=536879104;c[d+4>>2]=536879104;return}function ny(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=d>>1;e=a;c[e>>2]=134219776;c[e+4>>2]=134219776;e=a+(b<<1)|0;c[e>>2]=134219776;c[e+4>>2]=134219776;d=a+((d&-2)<<1)|0;c[d>>2]=134219776;c[d+4>>2]=134219776;d=a+(b*3<<1)|0;c[d>>2]=134219776;c[d+4>>2]=134219776;return}function oy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=d>>1;e=a;c[e>>2]=536813567;c[e+4>>2]=536813567;e=a+(b<<1)|0;c[e>>2]=536813567;c[e+4>>2]=536813567;d=a+((d&-2)<<1)|0;c[d>>2]=536813567;c[d+4>>2]=536813567;d=a+(b*3<<1)|0;c[d>>2]=536813567;c[d+4>>2]=536813567;return}function py(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=d>>1;e=a;c[e>>2]=134154239;c[e+4>>2]=134154239;e=a+(b<<1)|0;c[e>>2]=134154239;c[e+4>>2]=134154239;d=a+((d&-2)<<1)|0;c[d>>2]=134154239;c[d+4>>2]=134154239;d=a+(b*3<<1)|0;c[d>>2]=134154239;c[d+4>>2]=134154239;return}function qy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1296|0;g=d+1088|0;f=d+128|0;e=d;Gn(g,b+(0-(c<<1))+2|0,c);sg(f,g+32|0,16,16);De(e,d+256|0,b,16,16,c);$k(a,f,e,c,16,16,8);Mb=d;return}function ry(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1296|0;g=d+1088|0;f=d+128|0;e=d;Gn(g,b+(0-(c<<1))+2|0,c);vg(f,g+32|0,16,16);Ee(e,d+256|0,b,16,16,c);$k(a,f,e,c,16,16,8);Mb=d;return}function sy(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0;g=(Hz(e,11)|0)&65535;b[d+2>>1]=g;g=43568+((Hz(e,3)|0)<<2)|0;c[d+8>>2]=c[g>>2];g=f&255;g=g>>>0<40?g:40;f=0;while(1){if(f>>>0>=g>>>0)break;h=(uL(e)|0)&255;a[d+12+f>>0]=h;f=f+1|0}return}function ty(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1296|0;g=d+1088|0;f=d+128|0;e=d;Gn(g,b+(0-(c<<1))+2|0,c);sg(f,g+32|0,16,16);De(e,d+256|0,b,16,16,c);zj(a,f,e,c,16,16,8);Mb=d;return}function uy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1296|0;g=d+1088|0;f=d+128|0;e=d;Gn(g,b+(0-(c<<1))+2|0,c);vg(f,g+32|0,16,16);Ee(e,d+256|0,b,16,16,c);zj(a,f,e,c,16,16,8);Mb=d;return}function vy(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;pe(a,b,c,d,16,e);f=b+16|0;pe(a+8|0,f,c+8|0,d,16,e);c=c+(e<<3)|0;a=a+(d<<3)|0;pe(a,b,c,d,16,e);pe(a+8|0,f,c+8|0,d,16,e);return}function wy(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;Xd(a,b,c,d,16,e);f=b+16|0;Xd(a+8|0,f,c+8|0,d,16,e);c=c+(e<<3)|0;a=a+(d<<3)|0;Xd(a,b,c,d,16,e);Xd(a+8|0,f,c+8|0,d,16,e);return}function xy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+880|0;g=d+672|0;f=d+128|0;e=d;Gn(g,b+(0-(c<<1))+2|0,c);wg(f,g+32|0,16,16);Yd(e,d+256|0,b,16,16,c);$k(a,f,e,c,16,16,8);Mb=d;return}function yy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+880|0;g=d+672|0;f=d+128|0;e=d;Gn(g,b+(0-(c<<1))+2|0,c);wg(f,g+32|0,16,16);Yd(e,d+256|0,b,16,16,c);zj(a,f,e,c,16,16,8);Mb=d;return}function zy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;f=0;while(1){if((f|0)==8)break;e=e+(d[a+(f-b)>>0]|0)|0;f=f+1|0}f=H((e+4|0)>>>3,16843009)|0;e=0;while(1){if((e|0)==8)break;g=a+(H(e,b)|0)|0;c[g+4>>2]=f;c[g>>2]=f;e=e+1|0}return}function Ay(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Mb;Mb=Mb+16|0;g=f+8|0;h=f;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];e=xv(a,b,h,g,5)|0;L(M()|0);Mb=f;return e|0}function By(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function Cy(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;g=0;while(1){if((g|0)>=(d|0))break;h=c+(g<<2)|0;f[a+(g<<3)>>2]=+f[b+(g*320|0)+(e<<3)>>2]*+f[h>>2];f[a+(g<<3)+4>>2]=+f[b+(g*320|0)+(e<<3)+4>>2]*+f[h>>2];g=g+1|0}return}function Dy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1296|0;g=d+1088|0;f=d+128|0;e=d;Gn(g,b+(0-(c<<1))|0,c);sg(f,g+32|0,16,16);De(e,d+256|0,b,16,16,c);$k(a,f,e,c,16,16,8);Mb=d;return}function Ey(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1296|0;g=d+1088|0;f=d+128|0;e=d;Gn(g,b+(0-(c<<1))|0,c);vg(f,g+32|0,16,16);Ee(e,d+256|0,b,16,16,c);$k(a,f,e,c,16,16,8);Mb=d;return}function Fy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1296|0;g=d+1088|0;f=d+128|0;e=d;Gn(g,b+(0-(c<<1))|0,c);sg(f,g+32|0,16,16);De(e,d+256|0,b,16,16,c);zj(a,f,e,c,16,16,8);Mb=d;return}function Gy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1296|0;g=d+1088|0;f=d+128|0;e=d;Gn(g,b+(0-(c<<1))|0,c);vg(f,g+32|0,16,16);Ee(e,d+256|0,b,16,16,c);zj(a,f,e,c,16,16,8);Mb=d;return}function Hy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+880|0;g=d+672|0;f=d+128|0;e=d;Gn(g,b+(0-(c<<1))+2|0,c);yg(f,g+32|0,16,16);ie(e,d+256|0,b,16,16,c);$k(a,f,e,c,16,16,8);Mb=d;return}function Iy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+880|0;g=d+672|0;f=d+128|0;e=d;Gn(g,b+(0-(c<<1))+2|0,c);yg(f,g+32|0,16,16);ie(e,d+256|0,b,16,16,c);zj(a,f,e,c,16,16,8);Mb=d;return}function Jy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+880|0;g=d+672|0;f=d+128|0;e=d;Gn(g,b+(0-(c<<1))|0,c);wg(f,g+32|0,16,16);Yd(e,d+256|0,b,16,16,c);$k(a,f,e,c,16,16,8);Mb=d;return}function Ky(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+880|0;g=d+672|0;f=d+128|0;e=d;Gn(g,b+(0-(c<<1))|0,c);wg(f,g+32|0,16,16);Yd(e,d+256|0,b,16,16,c);zj(a,f,e,c,16,16,8);Mb=d;return}function Ly(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=d>>1;e=a;c[e>>2]=33620481;c[e+4>>2]=33620481;e=a+(b<<1)|0;c[e>>2]=33620481;c[e+4>>2]=33620481;d=a+((d&-2)<<1)|0;c[d>>2]=33620481;c[d+4>>2]=33620481;d=a+(b*3<<1)|0;c[d>>2]=33620481;c[d+4>>2]=33620481;return}function My(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=d>>1;e=a;c[e>>2]=33554944;c[e+4>>2]=33554944;e=a+(b<<1)|0;c[e>>2]=33554944;c[e+4>>2]=33554944;d=a+((d&-2)<<1)|0;c[d>>2]=33554944;c[d+4>>2]=33554944;d=a+(b*3<<1)|0;c[d>>2]=33554944;c[d+4>>2]=33554944;return}function Ny(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=d>>1;e=a;c[e>>2]=33489407;c[e+4>>2]=33489407;e=a+(b<<1)|0;c[e>>2]=33489407;c[e+4>>2]=33489407;d=a+((d&-2)<<1)|0;c[d>>2]=33489407;c[d+4>>2]=33489407;d=a+(b*3<<1)|0;c[d>>2]=33489407;c[d+4>>2]=33489407;return}function Oy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=d>>1;e=a;c[e>>2]=16843009;c[e+4>>2]=16843009;e=a+(b<<1)|0;c[e>>2]=16843009;c[e+4>>2]=16843009;d=a+((d&-2)<<1)|0;c[d>>2]=16843009;c[d+4>>2]=16843009;d=a+(b*3<<1)|0;c[d>>2]=16843009;c[d+4>>2]=16843009;return}function Py(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=d>>1;e=a;c[e>>2]=16777472;c[e+4>>2]=16777472;e=a+(b<<1)|0;c[e>>2]=16777472;c[e+4>>2]=16777472;d=a+((d&-2)<<1)|0;c[d>>2]=16777472;c[d+4>>2]=16777472;d=a+(b*3<<1)|0;c[d>>2]=16777472;c[d+4>>2]=16777472;return}function Qy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=d>>1;e=a;c[e>>2]=16711935;c[e+4>>2]=16711935;e=a+(b<<1)|0;c[e>>2]=16711935;c[e+4>>2]=16711935;d=a+((d&-2)<<1)|0;c[d>>2]=16711935;c[d+4>>2]=16711935;d=a+(b*3<<1)|0;c[d>>2]=16711935;c[d+4>>2]=16711935;return}function Ry(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function Sy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+880|0;g=d+672|0;f=d+128|0;e=d;Gn(g,b+(0-(c<<1))|0,c);yg(f,g+32|0,16,16);ie(e,d+256|0,b,16,16,c);$k(a,f,e,c,16,16,8);Mb=d;return}function Ty(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+4384|0;g=d+3712|0;f=d+512|0;e=d;Oh(g,b+(0-(c<<1))+2|0,c);xH(f,g+64|0,32);Ux(e,d+1024|0,b,32,c);NM(a,f,e,c,32);Mb=d;return}function Uy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+4384|0;g=d+3712|0;f=d+512|0;e=d;Oh(g,b+(0-(c<<1))+2|0,c);yH(f,g+64|0,32);Vx(e,d+1024|0,b,32,c);NM(a,f,e,c,32);Mb=d;return}function Vy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+3040|0;g=d+2368|0;f=d+512|0;e=d;Oh(g,b+(0-(c<<1))+2|0,c);zH(f,g+64|0,32);Wx(e,d+1024|0,b,32,c);NM(a,f,e,c,32);Mb=d;return}function Wy(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=e+-8|0;h=f*6|0;g=h+51|0;h=h+52|0;e=0;while(1){if((e|0)>=(h|0))break;i=e+d|0;a[b+548+(c*88|0)+e>>0]=a[((i|0)<0?0:(i|0)>(g|0)?g:i)+(19456+(f*88|0))>>0]|0;e=e+1|0}return}function Xy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+880|0;g=d+672|0;f=d+128|0;e=d;Gn(g,b+(0-(c<<1))|0,c);yg(f,g+32|0,16,16);ie(e,d+256|0,b,16,16,c);zj(a,f,e,c,16,16,8);Mb=d;return}function Yy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+4384|0;g=d+3712|0;f=d+512|0;e=d;Oh(g,b+(0-(c<<1))+2|0,c);xH(f,g+64|0,32);Ux(e,d+1024|0,b,32,c);PM(a,f,e,c,32);Mb=d;return}function Zy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+4384|0;g=d+3712|0;f=d+512|0;e=d;Oh(g,b+(0-(c<<1))+2|0,c);yH(f,g+64|0,32);Vx(e,d+1024|0,b,32,c);PM(a,f,e,c,32);Mb=d;return}function _y(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+3040|0;g=d+2368|0;f=d+512|0;e=d;Oh(g,b+(0-(c<<1))+2|0,c);zH(f,g+64|0,32);Wx(e,d+1024|0,b,32,c);PM(a,f,e,c,32);Mb=d;return}function $y(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(c[b+676>>2]|0){d=a+544|0;if(!(c[d>>2]|0)){Ho(a+4|0,b);c[d>>2]=1}Wp(c[a+580>>2]|0,127,H(c[a+560>>2]|0,c[a+564>>2]|0)|0)|0;c[a+572>>2]=(c[a+552>>2]|0)*3;c[a+576>>2]=0}return}function az(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;while(1){d=RT(a[e>>0]|0)|0;b=RT(a[c>>0]|0)|0;d=d&255;if(!d){f=3;break}b=b&255;if((d|0)==(b|0)){e=e+1|0;c=c+1|0}else{c=d;break}}if((f|0)==3){c=0;b=b&255}return c-b|0}function bz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Mb;Mb=Mb+16|0;e=f;if((b|0)!=0?(Ry(b,212780)|0)!=0:0){d=Gp(d,d+4|0,b)|0;if((d|0)<0){c[e>>2]=b;Xw(a,16,203692,e)}}else{c[d+4>>2]=0;c[d>>2]=0;d=0}Mb=f;return d|0}function cz(a){a=a|0;var b=0,d=0,e=0;YS();d=c[40823]|0;e=a+56|0;c[e>>2]=0;while(1){b=c[d>>2]|0;if(!b){if(!(TO(d,0,a)|0))break;b=c[d>>2]|0}d=b+56|0}c[40823]=e;b=c[a+72>>2]|0;if(b|0)dc[b&31](a);return}function dz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;kg(f,b+c|0,16,c);Gn(g,b+(0-(c<<1))+2|0,c);sg(e,g+32|0,16,16);$k(a,f,e,c,16,16,8);Mb=d;return}function ez(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;ng(f,b+c|0,16,c);Gn(g,b+(0-(c<<1))+2|0,c);vg(e,g+32|0,16,16);$k(a,f,e,c,16,16,8);Mb=d;return}function fz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;og(f,b+c|0,16,c);Gn(g,b+(0-(c<<1))+2|0,c);wg(e,g+32|0,16,16);$k(a,f,e,c,16,16,8);Mb=d;return}function gz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+448|0;g=d+336|0;f=d+64|0;e=d;Ht(g,b+(0-(c<<1))+1|0,c);eh(f,g+16|0,8,8);pe(e,d+128|0,b,8,8,c);bq(a,f,e,c,8,8,8);Mb=d;return}function hz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+3040|0;g=d+2368|0;f=d+512|0;e=d;Oh(g,b+(0-(c<<1))+2|0,c);PH(f,g+64|0,32);hy(e,d+1024|0,b,32,c);NM(a,f,e,c,32);Mb=d;return}function iz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;kg(f,b+c|0,16,c);Gn(g,b+(0-(c<<1))+2|0,c);sg(e,g+32|0,16,16);zj(a,f,e,c,16,16,8);Mb=d;return}function jz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;ng(f,b+c|0,16,c);Gn(g,b+(0-(c<<1))+2|0,c);vg(e,g+32|0,16,16);zj(a,f,e,c,16,16,8);Mb=d;return}function kz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;og(f,b+c|0,16,c);Gn(g,b+(0-(c<<1))+2|0,c);wg(e,g+32|0,16,16);zj(a,f,e,c,16,16,8);Mb=d;return}function lz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+448|0;g=d+336|0;f=d+64|0;e=d;Ht(g,b+(0-(c<<1))+1|0,c);eh(f,g+16|0,8,8);pe(e,d+128|0,b,8,8,c);No(a,f,e,c,8,8,8);Mb=d;return}function mz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+3040|0;g=d+2368|0;f=d+512|0;e=d;Oh(g,b+(0-(c<<1))+2|0,c);PH(f,g+64|0,32);hy(e,d+1024|0,b,32,c);PM(a,f,e,c,32);Mb=d;return}function nz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1520|0;g=d+1184|0;f=d+256|0;e=d;lo(g,b+(0-(c<<1))+1|0,c);WH(f,g+32|0,16);vy(e,d+512|0,b,16,c);SM(a,f,e,c,16);Mb=d;return}function oz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+4384|0;g=d+3712|0;f=d+512|0;e=d;Oh(g,b+(0-(c<<1))|0,c);xH(f,g+64|0,32);Ux(e,d+1024|0,b,32,c);NM(a,f,e,c,32);Mb=d;return}function pz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+4384|0;g=d+3712|0;f=d+512|0;e=d;Oh(g,b+(0-(c<<1))|0,c);yH(f,g+64|0,32);Vx(e,d+1024|0,b,32,c);NM(a,f,e,c,32);Mb=d;return}function qz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+3040|0;g=d+2368|0;f=d+512|0;e=d;Oh(g,b+(0-(c<<1))|0,c);zH(f,g+64|0,32);Wx(e,d+1024|0,b,32,c);NM(a,f,e,c,32);Mb=d;return}function rz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1520|0;g=d+1184|0;f=d+256|0;e=d;lo(g,b+(0-(c<<1))+1|0,c);WH(f,g+32|0,16);vy(e,d+512|0,b,16,c);UM(a,f,e,c,16);Mb=d;return}function sz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+4384|0;g=d+3712|0;f=d+512|0;e=d;Oh(g,b+(0-(c<<1))|0,c);xH(f,g+64|0,32);Ux(e,d+1024|0,b,32,c);PM(a,f,e,c,32);Mb=d;return}function tz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+4384|0;g=d+3712|0;f=d+512|0;e=d;Oh(g,b+(0-(c<<1))|0,c);yH(f,g+64|0,32);Vx(e,d+1024|0,b,32,c);PM(a,f,e,c,32);Mb=d;return}function uz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+3040|0;g=d+2368|0;f=d+512|0;e=d;Oh(g,b+(0-(c<<1))|0,c);zH(f,g+64|0,32);Wx(e,d+1024|0,b,32,c);PM(a,f,e,c,32);Mb=d;return}function vz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=Mb;Mb=Mb+32|0;f=g;c[b+36>>2]=4;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21523,c[f+8>>2]=g+16,U(54,f|0)|0):0)a[b+75>>0]=-1;f=Ck(b,d,e)|0;Mb=g;return f|0}function wz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;pg(f,b+c|0,16,c);Gn(g,b+(0-(c<<1))+2|0,c);yg(e,g+32|0,16,16);$k(a,f,e,c,16,16,8);Mb=d;return}function xz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;pg(f,b+c|0,16,c);Gn(g,b+(0-(c<<1))+2|0,c);yg(e,g+32|0,16,16);zj(a,f,e,c,16,16,8);Mb=d;return}function yz(a){a=a|0;var b=0,d=0,e=0;e=pa()|0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){Fb(b|0)|0;O(12);return -1}if((b|0)>(e|0))if(!(ra(b|0)|0)){O(12);return -1}c[i>>2]=b;return d|0}function zz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;kg(f,b+c|0,16,c);Gn(g,b+(0-(c<<1))|0,c);sg(e,g+32|0,16,16);$k(a,f,e,c,16,16,8);Mb=d;return}function Az(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;ng(f,b+c|0,16,c);Gn(g,b+(0-(c<<1))|0,c);vg(e,g+32|0,16,16);$k(a,f,e,c,16,16,8);Mb=d;return}function Bz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;og(f,b+c|0,16,c);Gn(g,b+(0-(c<<1))|0,c);wg(e,g+32|0,16,16);$k(a,f,e,c,16,16,8);Mb=d;return}function Cz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+448|0;g=d+336|0;f=d+64|0;e=d;Ht(g,b+(0-(c<<1))|0,c);eh(f,g+16|0,8,8);pe(e,d+128|0,b,8,8,c);bq(a,f,e,c,8,8,8);Mb=d;return}function Dz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;cE(f,b+c|0,32,c);Oh(g,b+(0-(c<<1))+2|0,c);xH(e,g+64|0,32);NM(a,f,e,c,32);Mb=d;return}function Ez(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;dE(f,b+c|0,32,c);Oh(g,b+(0-(c<<1))+2|0,c);yH(e,g+64|0,32);NM(a,f,e,c,32);Mb=d;return}function Fz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;eE(f,b+c|0,32,c);Oh(g,b+(0-(c<<1))+2|0,c);zH(e,g+64|0,32);NM(a,f,e,c,32);Mb=d;return}function Gz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+3040|0;g=d+2368|0;f=d+512|0;e=d;Oh(g,b+(0-(c<<1))|0,c);PH(f,g+64|0,32);hy(e,d+1024|0,b,32,c);NM(a,f,e,c,32);Mb=d;return}function Hz(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(kS(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function Iz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Al(a,b,c,d,8)|0;f=(Al(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(Al(a,g,b,d,8)|0)+f|0;f=f+(Al(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function Jz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;kg(f,b+c|0,16,c);Gn(g,b+(0-(c<<1))|0,c);sg(e,g+32|0,16,16);zj(a,f,e,c,16,16,8);Mb=d;return}function Kz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;ng(f,b+c|0,16,c);Gn(g,b+(0-(c<<1))|0,c);vg(e,g+32|0,16,16);zj(a,f,e,c,16,16,8);Mb=d;return}function Lz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;og(f,b+c|0,16,c);Gn(g,b+(0-(c<<1))|0,c);wg(e,g+32|0,16,16);zj(a,f,e,c,16,16,8);Mb=d;return}function Mz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+448|0;g=d+336|0;f=d+64|0;e=d;Ht(g,b+(0-(c<<1))|0,c);eh(f,g+16|0,8,8);pe(e,d+128|0,b,8,8,c);No(a,f,e,c,8,8,8);Mb=d;return}function Nz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;cE(f,b+c|0,32,c);Oh(g,b+(0-(c<<1))+2|0,c);xH(e,g+64|0,32);PM(a,f,e,c,32);Mb=d;return}function Oz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;dE(f,b+c|0,32,c);Oh(g,b+(0-(c<<1))+2|0,c);yH(e,g+64|0,32);PM(a,f,e,c,32);Mb=d;return}function Pz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;eE(f,b+c|0,32,c);Oh(g,b+(0-(c<<1))+2|0,c);zH(e,g+64|0,32);PM(a,f,e,c,32);Mb=d;return}function Qz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+3040|0;g=d+2368|0;f=d+512|0;e=d;Oh(g,b+(0-(c<<1))|0,c);PH(f,g+64|0,32);hy(e,d+1024|0,b,32,c);PM(a,f,e,c,32);Mb=d;return}function Rz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1520|0;g=d+1184|0;f=d+256|0;e=d;lo(g,b+(0-(c<<1))|0,c);WH(f,g+32|0,16);vy(e,d+512|0,b,16,c);SM(a,f,e,c,16);Mb=d;return}function Sz(a,b){a=a|0;b=b|0;var d=0;d=(c[b+21796>>2]|0)-(c[a+27e3>>2]<<1)|0;return Gu(b+32856|0,b+32974+(((c[(c[a+24364>>2]|0)+(d<<2)>>2]|0)>>>7&(c[b+832>>2]|0)==(e[(c[a+26356>>2]|0)+(d<<1)>>1]|0|0))+(c[b+21828>>2]&(c[b+21788>>2]|0)!=0))|0)|0}function Tz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1520|0;g=d+1184|0;f=d+256|0;e=d;lo(g,b+(0-(c<<1))|0,c);WH(f,g+32|0,16);vy(e,d+512|0,b,16,c);UM(a,f,e,c,16);Mb=d;return}function Uz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;pg(f,b+c|0,16,c);Gn(g,b+(0-(c<<1))|0,c);yg(e,g+32|0,16,16);$k(a,f,e,c,16,16,8);Mb=d;return}function Vz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;xE(f,b+c|0,32,c);Oh(g,b+(0-(c<<1))+2|0,c);PH(e,g+64|0,32);NM(a,f,e,c,32);Mb=d;return}function Wz(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==9)break;g=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=g;a[b+1>>0]=g>>8;a[b+2>>0]=g>>16;a[b+3>>0]=g>>24;f=f+1|0;c=c+e|0;b=b+4|0}return}function Xz(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==7)break;g=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=g;a[b+1>>0]=g>>8;a[b+2>>0]=g>>16;a[b+3>>0]=g>>24;f=f+1|0;c=c+e|0;b=b+4|0}return}function Yz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;pg(f,b+c|0,16,c);Gn(g,b+(0-(c<<1))|0,c);yg(e,g+32|0,16,16);zj(a,f,e,c,16,16,8);Mb=d;return}function Zz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;xE(f,b+c|0,32,c);Oh(g,b+(0-(c<<1))+2|0,c);PH(e,g+64|0,32);PM(a,f,e,c,32);Mb=d;return}function _z(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;cE(f,b+c|0,32,c);Oh(g,b+(0-(c<<1))|0,c);xH(e,g+64|0,32);NM(a,f,e,c,32);Mb=d;return}function $z(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;dE(f,b+c|0,32,c);Oh(g,b+(0-(c<<1))|0,c);yH(e,g+64|0,32);NM(a,f,e,c,32);Mb=d;return}function aA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;eE(f,b+c|0,32,c);Oh(g,b+(0-(c<<1))|0,c);zH(e,g+64|0,32);NM(a,f,e,c,32);Mb=d;return}function bA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;cE(f,b+c|0,32,c);Oh(g,b+(0-(c<<1))|0,c);xH(e,g+64|0,32);PM(a,f,e,c,32);Mb=d;return}function cA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;dE(f,b+c|0,32,c);Oh(g,b+(0-(c<<1))|0,c);yH(e,g+64|0,32);PM(a,f,e,c,32);Mb=d;return}function dA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;eE(f,b+c|0,32,c);Oh(g,b+(0-(c<<1))|0,c);zH(e,g+64|0,32);PM(a,f,e,c,32);Mb=d;return}function eA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=pi(a,b,c,d,8)|0;f=(pi(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(pi(a,g,b,d,8)|0)+f|0;f=f+(pi(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function fA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+240|0;g=d+128|0;f=d+64|0;e=d;Sg(f,b+c|0,8,c);Ht(g,b+(0-(c<<1))+1|0,c);eh(e,g+16|0,8,8);bq(a,f,e,c,8,8,8);Mb=d;return}function gA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;kg(f,b,16,c);Gn(g,b+(0-(c<<1))+2|0,c);sg(e,g+32|0,16,16);$k(a,f,e,c,16,16,8);Mb=d;return}function hA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;ng(f,b,16,c);Gn(g,b+(0-(c<<1))+2|0,c);vg(e,g+32|0,16,16);$k(a,f,e,c,16,16,8);Mb=d;return}function iA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;og(f,b,16,c);Gn(g,b+(0-(c<<1))+2|0,c);wg(e,g+32|0,16,16);$k(a,f,e,c,16,16,8);Mb=d;return}function jA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+160|0;g=d+112|0;f=d+152|0;e=d+144|0;Xz(g,b+(0-(c<<1))+2|0,c);sr(f,g+8|0,4);Yl(e,d,b,4,c);pv(a,f,e,c,4);Mb=d;return}function kA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+160|0;g=d+112|0;f=d+152|0;e=d+144|0;Xz(g,b+(0-(c<<1))+2|0,c);ur(f,g+8|0,4);am(e,d,b,4,c);pv(a,f,e,c,4);Mb=d;return}function lA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+848|0;g=d+512|0;f=d+256|0;e=d;ME(f,b+c|0,16,c);lo(g,b+(0-(c<<1))+1|0,c);WH(e,g+32|0,16);SM(a,f,e,c,16);Mb=d;return}function mA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=H(d,b)|0;d=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){g=(nV(e)|0)==0;a=ko(a,f,e)|0;if(!g)mV(e)}else a=ko(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function nA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+240|0;g=d+128|0;f=d+64|0;e=d;Sg(f,b+c|0,8,c);Ht(g,b+(0-(c<<1))+1|0,c);eh(e,g+16|0,8,8);No(a,f,e,c,8,8,8);Mb=d;return}function oA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;kg(f,b,16,c);Gn(g,b+(0-(c<<1))+2|0,c);sg(e,g+32|0,16,16);zj(a,f,e,c,16,16,8);Mb=d;return}function pA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;ng(f,b,16,c);Gn(g,b+(0-(c<<1))+2|0,c);vg(e,g+32|0,16,16);zj(a,f,e,c,16,16,8);Mb=d;return}function qA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;og(f,b,16,c);Gn(g,b+(0-(c<<1))+2|0,c);wg(e,g+32|0,16,16);zj(a,f,e,c,16,16,8);Mb=d;return}function rA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+848|0;g=d+512|0;f=d+256|0;e=d;ME(f,b+c|0,16,c);lo(g,b+(0-(c<<1))+1|0,c);WH(e,g+32|0,16);UM(a,f,e,c,16);Mb=d;return}function sA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+432|0;g=d+352|0;f=d+32|0;e=d;Ps(g,b+(0-(c<<1))+2|0,c);ln(f,g+16|0,8);ni(e,d+64|0,b,8,c);Sq(a,f,e,c,8);Mb=d;return}function tA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+432|0;g=d+352|0;f=d+32|0;e=d;Ps(g,b+(0-(c<<1))+2|0,c);nn(f,g+16|0,8);qi(e,d+64|0,b,8,c);Sq(a,f,e,c,8);Mb=d;return}function uA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+288|0;g=d+208|0;f=d+32|0;e=d;Ps(g,b+(0-(c<<1))+2|0,c);on(f,g+16|0,8);Og(e,d+64|0,b,8,c);Sq(a,f,e,c,8);Mb=d;return}function vA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+432|0;g=d+352|0;f=d+32|0;e=d;Ps(g,b+(0-(c<<1))+2|0,c);ln(f,g+16|0,8);ni(e,d+64|0,b,8,c);sp(a,f,e,c,8);Mb=d;return}function wA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+432|0;g=d+352|0;f=d+32|0;e=d;Ps(g,b+(0-(c<<1))+2|0,c);nn(f,g+16|0,8);qi(e,d+64|0,b,8,c);sp(a,f,e,c,8);Mb=d;return}function xA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+288|0;g=d+208|0;f=d+32|0;e=d;Ps(g,b+(0-(c<<1))+2|0,c);on(f,g+16|0,8);Og(e,d+64|0,b,8,c);sp(a,f,e,c,8);Mb=d;return}function yA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+112|0;g=d+64|0;f=d+104|0;e=d+96|0;Xz(g,b+(0-(c<<1))+2|0,c);vr(f,g+8|0,4);Yk(e,d,b,4,c);pv(a,f,e,c,4);Mb=d;return}function zA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;xE(f,b+c|0,32,c);Oh(g,b+(0-(c<<1))|0,c);PH(e,g+64|0,32);NM(a,f,e,c,32);Mb=d;return}function AA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;xE(f,b+c|0,32,c);Oh(g,b+(0-(c<<1))|0,c);PH(e,g+64|0,32);PM(a,f,e,c,32);Mb=d;return}function BA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;pg(f,b,16,c);Gn(g,b+(0-(c<<1))+2|0,c);yg(e,g+32|0,16,16);$k(a,f,e,c,16,16,8);Mb=d;return}function CA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;pg(f,b,16,c);Gn(g,b+(0-(c<<1))+2|0,c);yg(e,g+32|0,16,16);zj(a,f,e,c,16,16,8);Mb=d;return}function DA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+240|0;g=d+128|0;f=d+64|0;e=d;Sg(f,b+c|0,8,c);Ht(g,b+(0-(c<<1))|0,c);eh(e,g+16|0,8,8);bq(a,f,e,c,8,8,8);Mb=d;return}function EA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;kg(f,b,16,c);Gn(g,b+(0-(c<<1))|0,c);sg(e,g+32|0,16,16);$k(a,f,e,c,16,16,8);Mb=d;return}function FA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;ng(f,b,16,c);Gn(g,b+(0-(c<<1))|0,c);vg(e,g+32|0,16,16);$k(a,f,e,c,16,16,8);Mb=d;return}function GA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;og(f,b,16,c);Gn(g,b+(0-(c<<1))|0,c);wg(e,g+32|0,16,16);$k(a,f,e,c,16,16,8);Mb=d;return}function HA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+288|0;g=d+208|0;f=d+32|0;e=d;Ps(g,b+(0-(c<<1))+2|0,c);qn(f,g+16|0,8);ih(e,d+64|0,b,8,c);Sq(a,f,e,c,8);Mb=d;return}function IA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+160|0;g=d+112|0;f=d+152|0;e=d+144|0;Xz(g,b+(0-(c<<1))|0,c);sr(f,g+8|0,4);Yl(e,d,b,4,c);pv(a,f,e,c,4);Mb=d;return}function JA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+160|0;g=d+112|0;f=d+152|0;e=d+144|0;Xz(g,b+(0-(c<<1))|0,c);ur(f,g+8|0,4);am(e,d,b,4,c);pv(a,f,e,c,4);Mb=d;return}function KA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;cE(f,b,32,c);Oh(g,b+(0-(c<<1))+2|0,c);xH(e,g+64|0,32);NM(a,f,e,c,32);Mb=d;return}function LA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;dE(f,b,32,c);Oh(g,b+(0-(c<<1))+2|0,c);yH(e,g+64|0,32);NM(a,f,e,c,32);Mb=d;return}function MA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;eE(f,b,32,c);Oh(g,b+(0-(c<<1))+2|0,c);zH(e,g+64|0,32);NM(a,f,e,c,32);Mb=d;return}function NA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+848|0;g=d+512|0;f=d+256|0;e=d;ME(f,b+c|0,16,c);lo(g,b+(0-(c<<1))|0,c);WH(e,g+32|0,16);SM(a,f,e,c,16);Mb=d;return}function OA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+240|0;g=d+128|0;f=d+64|0;e=d;Sg(f,b+c|0,8,c);Ht(g,b+(0-(c<<1))|0,c);eh(e,g+16|0,8,8);No(a,f,e,c,8,8,8);Mb=d;return}function PA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;kg(f,b,16,c);Gn(g,b+(0-(c<<1))|0,c);sg(e,g+32|0,16,16);zj(a,f,e,c,16,16,8);Mb=d;return}function QA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;ng(f,b,16,c);Gn(g,b+(0-(c<<1))|0,c);vg(e,g+32|0,16,16);zj(a,f,e,c,16,16,8);Mb=d;return}function RA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;og(f,b,16,c);Gn(g,b+(0-(c<<1))|0,c);wg(e,g+32|0,16,16);zj(a,f,e,c,16,16,8);Mb=d;return}function SA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+288|0;g=d+208|0;f=d+32|0;e=d;Ps(g,b+(0-(c<<1))+2|0,c);qn(f,g+16|0,8);ih(e,d+64|0,b,8,c);sp(a,f,e,c,8);Mb=d;return}function TA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;cE(f,b,32,c);Oh(g,b+(0-(c<<1))+2|0,c);xH(e,g+64|0,32);PM(a,f,e,c,32);Mb=d;return}function UA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;dE(f,b,32,c);Oh(g,b+(0-(c<<1))+2|0,c);yH(e,g+64|0,32);PM(a,f,e,c,32);Mb=d;return}function VA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;eE(f,b,32,c);Oh(g,b+(0-(c<<1))+2|0,c);zH(e,g+64|0,32);PM(a,f,e,c,32);Mb=d;return}function WA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+848|0;g=d+512|0;f=d+256|0;e=d;ME(f,b+c|0,16,c);lo(g,b+(0-(c<<1))|0,c);WH(e,g+32|0,16);UM(a,f,e,c,16);Mb=d;return}function XA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+160|0;g=d+112|0;f=d+16|0;e=d;Wz(g,b+(0-(c<<1))+1|0,c);Xn(f,g+8|0,4);Bh(e,d+32|0,b,4,c);Dv(a,f,e,c,4);Mb=d;return}function YA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+432|0;g=d+352|0;f=d+32|0;e=d;Ps(g,b+(0-(c<<1))|0,c);ln(f,g+16|0,8);ni(e,d+64|0,b,8,c);Sq(a,f,e,c,8);Mb=d;return}function ZA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+432|0;g=d+352|0;f=d+32|0;e=d;Ps(g,b+(0-(c<<1))|0,c);nn(f,g+16|0,8);qi(e,d+64|0,b,8,c);Sq(a,f,e,c,8);Mb=d;return}function _A(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+288|0;g=d+208|0;f=d+32|0;e=d;Ps(g,b+(0-(c<<1))|0,c);on(f,g+16|0,8);Og(e,d+64|0,b,8,c);Sq(a,f,e,c,8);Mb=d;return}function $A(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+112|0;g=d+64|0;f=d+104|0;e=d+96|0;Xz(g,b+(0-(c<<1))+2|0,c);xr(f,g+8|0,4);sl(e,d,b,4,c);pv(a,f,e,c,4);Mb=d;return}function aB(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;f=c[e+(f<<2)>>2]|0;e=0;while(1){if((e|0)>=(g|0))break;i=(H(f,b[d+(e<<1)>>1]|0)|0)+16384|0;h=i>>15;b[a+(e<<1)>>1]=(h+32768|0)>>>0>65535?i>>31^32767:h;e=e+1|0}return}function bB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+160|0;g=d+112|0;f=d+16|0;e=d;Wz(g,b+(0-(c<<1))+1|0,c);Xn(f,g+8|0,4);Bh(e,d+32|0,b,4,c);Pu(a,f,e,c,4);Mb=d;return}function cB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+432|0;g=d+352|0;f=d+32|0;e=d;Ps(g,b+(0-(c<<1))|0,c);ln(f,g+16|0,8);ni(e,d+64|0,b,8,c);sp(a,f,e,c,8);Mb=d;return}function dB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+432|0;g=d+352|0;f=d+32|0;e=d;Ps(g,b+(0-(c<<1))|0,c);nn(f,g+16|0,8);qi(e,d+64|0,b,8,c);sp(a,f,e,c,8);Mb=d;return}function eB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+288|0;g=d+208|0;f=d+32|0;e=d;Ps(g,b+(0-(c<<1))|0,c);on(f,g+16|0,8);Og(e,d+64|0,b,8,c);sp(a,f,e,c,8);Mb=d;return}function fB(a,b,c,d,e,f,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0;j=+g[d+(e<<3)>>3];i=+g[d+(f<<3)>>3];e=0;while(1){if((e|0)>=(h|0))break;g[a+(e<<3)>>3]=j*+g[b+(e<<3)>>3]+i*+g[c+(e<<3)>>3];e=e+1|0}return}function gB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+112|0;g=d+64|0;f=d+104|0;e=d+96|0;Xz(g,b+(0-(c<<1))|0,c);vr(f,g+8|0,4);Yk(e,d,b,4,c);pv(a,f,e,c,4);Mb=d;return}function hB(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0.0;j=+f[d+(e<<2)>>2];i=+f[d+(g<<2)>>2];e=0;while(1){if((e|0)>=(h|0))break;f[a+(e<<2)>>2]=j*+f[b+(e<<2)>>2]+i*+f[c+(e<<2)>>2];e=e+1|0}return}function iB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;pg(f,b,16,c);Gn(g,b+(0-(c<<1))|0,c);yg(e,g+32|0,16,16);$k(a,f,e,c,16,16,8);Mb=d;return}function jB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;el(f,b+c|0,8,c);Ps(g,b+(0-(c<<1))+2|0,c);ln(e,g+16|0,8);Sq(a,f,e,c,8);Mb=d;return}function kB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;jl(f,b+c|0,8,c);Ps(g,b+(0-(c<<1))+2|0,c);nn(e,g+16|0,8);Sq(a,f,e,c,8);Mb=d;return}function lB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;kl(f,b+c|0,8,c);Ps(g,b+(0-(c<<1))+2|0,c);on(e,g+16|0,8);Sq(a,f,e,c,8);Mb=d;return}function mB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+64|0;g=d+36|0;f=d+32|0;e=d+28|0;xI(g,b+(0-(c<<1))+1|0,c);rs(f,g+4|0,2);Wl(e,d,b,2,c);ox(a,f,e,c,2);Mb=d;return}function nB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;xE(f,b,32,c);Oh(g,b+(0-(c<<1))+2|0,c);PH(e,g+64|0,32);NM(a,f,e,c,32);Mb=d;return}function oB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;pg(f,b,16,c);Gn(g,b+(0-(c<<1))|0,c);yg(e,g+32|0,16,16);zj(a,f,e,c,16,16,8);Mb=d;return}function pB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;el(f,b+c|0,8,c);Ps(g,b+(0-(c<<1))+2|0,c);ln(e,g+16|0,8);sp(a,f,e,c,8);Mb=d;return}function qB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;jl(f,b+c|0,8,c);Ps(g,b+(0-(c<<1))+2|0,c);nn(e,g+16|0,8);sp(a,f,e,c,8);Mb=d;return}function rB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;kl(f,b+c|0,8,c);Ps(g,b+(0-(c<<1))+2|0,c);on(e,g+16|0,8);sp(a,f,e,c,8);Mb=d;return}function sB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;xE(f,b,32,c);Oh(g,b+(0-(c<<1))+2|0,c);PH(e,g+64|0,32);PM(a,f,e,c,32);Mb=d;return}function tB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0;g=Mb;Mb=Mb+64|0;e=g;f=e;h=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+48>>2]=c[a+32>>2];c[e+12>>2]=b;c[e+36>>2]=d;i=+Rc(e,a);Mb=g;return +i}function uB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+288|0;g=d+208|0;f=d+32|0;e=d;Ps(g,b+(0-(c<<1))|0,c);qn(f,g+16|0,8);ih(e,d+64|0,b,8,c);Sq(a,f,e,c,8);Mb=d;return}function vB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;cE(f,b,32,c);Oh(g,b+(0-(c<<1))|0,c);xH(e,g+64|0,32);NM(a,f,e,c,32);Mb=d;return}function wB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;dE(f,b,32,c);Oh(g,b+(0-(c<<1))|0,c);yH(e,g+64|0,32);NM(a,f,e,c,32);Mb=d;return}function xB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;eE(f,b,32,c);Oh(g,b+(0-(c<<1))|0,c);zH(e,g+64|0,32);NM(a,f,e,c,32);Mb=d;return}function yB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+288|0;g=d+208|0;f=d+32|0;e=d;Ps(g,b+(0-(c<<1))|0,c);qn(f,g+16|0,8);ih(e,d+64|0,b,8,c);sp(a,f,e,c,8);Mb=d;return}function zB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;cE(f,b,32,c);Oh(g,b+(0-(c<<1))|0,c);xH(e,g+64|0,32);PM(a,f,e,c,32);Mb=d;return}function AB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;dE(f,b,32,c);Oh(g,b+(0-(c<<1))|0,c);yH(e,g+64|0,32);PM(a,f,e,c,32);Mb=d;return}function BB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;eE(f,b,32,c);Oh(g,b+(0-(c<<1))|0,c);zH(e,g+64|0,32);PM(a,f,e,c,32);Mb=d;return}function CB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+240|0;g=d+128|0;f=d+64|0;e=d;Sg(f,b,8,c);Ht(g,b+(0-(c<<1))+1|0,c);eh(e,g+16|0,8,8);bq(a,f,e,c,8,8,8);Mb=d;return}function DB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+160|0;g=d+112|0;f=d+16|0;e=d;Wz(g,b+(0-(c<<1))|0,c);Xn(f,g+8|0,4);Bh(e,d+32|0,b,4,c);Dv(a,f,e,c,4);Mb=d;return}function EB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;f=d+40|0;e=d+32|0;Rp(f,b+c|0,4,c);Xz(g,b+(0-(c<<1))+2|0,c);sr(e,g+8|0,4);pv(a,f,e,c,4);Mb=d;return}function FB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;f=d+40|0;e=d+32|0;Up(f,b+c|0,4,c);Xz(g,b+(0-(c<<1))+2|0,c);ur(e,g+8|0,4);pv(a,f,e,c,4);Mb=d;return}function GB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;f=d+40|0;e=d+32|0;Vp(f,b+c|0,4,c);Xz(g,b+(0-(c<<1))+2|0,c);vr(e,g+8|0,4);pv(a,f,e,c,4);Mb=d;return}function HB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+112|0;g=d+64|0;f=d+104|0;e=d+96|0;Xz(g,b+(0-(c<<1))|0,c);xr(f,g+8|0,4);sl(e,d,b,4,c);pv(a,f,e,c,4);Mb=d;return}function IB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+848|0;g=d+512|0;f=d+256|0;e=d;ME(f,b,16,c);lo(g,b+(0-(c<<1))+1|0,c);WH(e,g+32|0,16);SM(a,f,e,c,16);Mb=d;return}function JB(a){a=a|0;var b=0;b=0;while(1){if((b|0)==32)break;QS(a+(b<<2)|0);b=b+1|0}b=0;while(1){if((b|0)==256)break;QS(a+128+(b<<2)|0);b=b+1|0}QS(a+1156|0);QS(a+1152|0);c[a+1160>>2]=0;c[a+1164>>2]=0;return}function KB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+240|0;g=d+128|0;f=d+64|0;e=d;Sg(f,b,8,c);Ht(g,b+(0-(c<<1))+1|0,c);eh(e,g+16|0,8,8);No(a,f,e,c,8,8,8);Mb=d;return}function LB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+160|0;g=d+112|0;f=d+16|0;e=d;Wz(g,b+(0-(c<<1))|0,c);Xn(f,g+8|0,4);Bh(e,d+32|0,b,4,c);Pu(a,f,e,c,4);Mb=d;return}function MB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+848|0;g=d+512|0;f=d+256|0;e=d;ME(f,b,16,c);lo(g,b+(0-(c<<1))+1|0,c);WH(e,g+32|0,16);UM(a,f,e,c,16);Mb=d;return}function NB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;ll(f,b+c|0,8,c);Ps(g,b+(0-(c<<1))+2|0,c);qn(e,g+16|0,8);Sq(a,f,e,c,8);Mb=d;return}function OB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[b+36>>2]|0;f=c[e+636>>2]|0;if(c[(c[a+4>>2]|0)+808>>2]&1|0){a=c[a+26992>>2]<<4>>f;d=d<<4>>f;tr(e+4|0,(d|0)<(a|0)?d:a+-1|0,(f|0?(c[b+24>>2]|0)!=1:0)&1)}return}function PB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;ll(f,b+c|0,8,c);Ps(g,b+(0-(c<<1))+2|0,c);qn(e,g+16|0,8);sp(a,f,e,c,8);Mb=d;return}function QB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;el(f,b+c|0,8,c);Ps(g,b+(0-(c<<1))|0,c);ln(e,g+16|0,8);Sq(a,f,e,c,8);Mb=d;return}function RB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;jl(f,b+c|0,8,c);Ps(g,b+(0-(c<<1))|0,c);nn(e,g+16|0,8);Sq(a,f,e,c,8);Mb=d;return}function SB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;kl(f,b+c|0,8,c);Ps(g,b+(0-(c<<1))|0,c);on(e,g+16|0,8);Sq(a,f,e,c,8);Mb=d;return}function TB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+64|0;g=d+36|0;f=d+32|0;e=d+28|0;xI(g,b+(0-(c<<1))|0,c);rs(f,g+4|0,2);Wl(e,d,b,2,c);ox(a,f,e,c,2);Mb=d;return}function UB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;xE(f,b,32,c);Oh(g,b+(0-(c<<1))|0,c);PH(e,g+64|0,32);NM(a,f,e,c,32);Mb=d;return}function VB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;el(f,b+c|0,8,c);Ps(g,b+(0-(c<<1))|0,c);ln(e,g+16|0,8);sp(a,f,e,c,8);Mb=d;return}function WB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;jl(f,b+c|0,8,c);Ps(g,b+(0-(c<<1))|0,c);nn(e,g+16|0,8);sp(a,f,e,c,8);Mb=d;return}function XB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;kl(f,b+c|0,8,c);Ps(g,b+(0-(c<<1))|0,c);on(e,g+16|0,8);sp(a,f,e,c,8);Mb=d;return}function YB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;xE(f,b,32,c);Oh(g,b+(0-(c<<1))|0,c);PH(e,g+64|0,32);PM(a,f,e,c,32);Mb=d;return}function ZB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Cm(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;rk(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function _B(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+80|0;g=d+32|0;f=d+16|0;e=d;Vl(f,b+c|0,4,c);Wz(g,b+(0-(c<<1))+1|0,c);Xn(e,g+8|0,4);Dv(a,f,e,c,4);Mb=d;return}function $B(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;f=d+40|0;e=d+32|0;_p(f,b+c|0,4,c);Xz(g,b+(0-(c<<1))+2|0,c);xr(e,g+8|0,4);pv(a,f,e,c,4);Mb=d;return}function aC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+80|0;g=d+32|0;f=d+16|0;e=d;Vl(f,b+c|0,4,c);Wz(g,b+(0-(c<<1))+1|0,c);Xn(e,g+8|0,4);Pu(a,f,e,c,4);Mb=d;return}function bC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;do if(!a)d=0;else{a=c[a>>2]|0;e=(b|0)==0;if((e&(a|0)!=0?(f=c[a+8>>2]|0,f|0):0)?c[f>>2]|0:0){d=f;break}if(!e?(d=b+48|0,c[d>>2]|0):0)break;d=0}while(0);return d|0}function cC(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;i=i|0;j=j|0;k=+k;l=+l;m=m|0;n=n|0;return ac[a&1](b|0,c|0,d|0,e|0,f|0,g|0,+h,i|0,j|0,+k,+l,m|0,n|0)|0}function dC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+240|0;g=d+128|0;f=d+64|0;e=d;Sg(f,b,8,c);Ht(g,b+(0-(c<<1))|0,c);eh(e,g+16|0,8,8);bq(a,f,e,c,8,8,8);Mb=d;return}function eC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;f=d+40|0;e=d+32|0;Rp(f,b+c|0,4,c);Xz(g,b+(0-(c<<1))|0,c);sr(e,g+8|0,4);pv(a,f,e,c,4);Mb=d;return}function fC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;f=d+40|0;e=d+32|0;Up(f,b+c|0,4,c);Xz(g,b+(0-(c<<1))|0,c);ur(e,g+8|0,4);pv(a,f,e,c,4);Mb=d;return}function gC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;f=d+40|0;e=d+32|0;Vp(f,b+c|0,4,c);Xz(g,b+(0-(c<<1))|0,c);vr(e,g+8|0,4);pv(a,f,e,c,4);Mb=d;return}function hC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+848|0;g=d+512|0;f=d+256|0;e=d;ME(f,b,16,c);lo(g,b+(0-(c<<1))|0,c);WH(e,g+32|0,16);SM(a,f,e,c,16);Mb=d;return}function iC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+240|0;g=d+128|0;f=d+64|0;e=d;Sg(f,b,8,c);Ht(g,b+(0-(c<<1))|0,c);eh(e,g+16|0,8,8);No(a,f,e,c,8,8,8);Mb=d;return}function jC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+848|0;g=d+512|0;f=d+256|0;e=d;ME(f,b,16,c);lo(g,b+(0-(c<<1))|0,c);WH(e,g+32|0,16);UM(a,f,e,c,16);Mb=d;return}function kC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;ll(f,b+c|0,8,c);Ps(g,b+(0-(c<<1))|0,c);qn(e,g+16|0,8);Sq(a,f,e,c,8);Mb=d;return}function lC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+32|0;g=d+8|0;f=d+4|0;e=d;Dq(f,b+c|0,2,c);xI(g,b+(0-(c<<1))+1|0,c);rs(e,g+4|0,2);ox(a,f,e,c,2);Mb=d;return}function mC(a){a=a|0;c[a>>2]=26;c[a+4>>2]=1;c[a+8>>2]=27;c[a+12>>2]=28;c[a+16>>2]=189;c[a+20>>2]=190;c[a+24>>2]=691;c[a+28>>2]=191;c[a+32>>2]=1;c[a+36>>2]=116;c[a+40>>2]=37;c[a+44>>2]=38;c[a+48>>2]=39;c[a+52>>2]=40;return}function nC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=Mb;Mb=Mb+16|0;f=g+8|0;e=g;if((b|0)>=1)if((d|0)<(b|0))a=0;else{c[f>>2]=d;Xw(a,16,190944,f);a=-1}else{c[e>>2]=b;Xw(a,16,190922,e);a=-1}Mb=g;return a|0}function oC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;ll(f,b+c|0,8,c);Ps(g,b+(0-(c<<1))|0,c);qn(e,g+16|0,8);sp(a,f,e,c,8);Mb=d;return}function pC(){var a=0,b=0,d=0,e=0;b=Mb;Mb=Mb+16|0;a=b;Ha(a|0,0)|0;e=c[a>>2]|0;e=XJ(e|0,((e|0)<0)<<31>>31|0,1e6,0)|0;d=M()|0;a=c[a+4>>2]|0;a=SO(e|0,d|0,a|0,((a|0)<0)<<31>>31|0)|0;L(M()|0);Mb=b;return a|0}function qC(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;if(b|0){d=b+4|0;while(1){f=c[b>>2]|0;e=f+-1|0;c[b>>2]=e;if(!f)break;hM((c[d>>2]|0)+(e<<3)|0);hM((c[d>>2]|0)+(c[b>>2]<<3)+4|0)}hM(d)}hM(a);return}function rC(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;g=c[g>>2]|0;f[a>>2]=+f[b+((d&15)<<2)>>2]*(c[h>>2]=g^e>>>1<<31,+f[h>>2]);f[a+4>>2]=+f[b+((d>>>4&15)<<2)>>2]*(c[h>>2]=g^e<<31,+f[h>>2]);return a+8|0}function sC(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=wT((d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24)>>>(g&7),b)|0;b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function tC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;el(f,b,8,c);Ps(g,b+(0-(c<<1))+2|0,c);ln(e,g+16|0,8);Sq(a,f,e,c,8);Mb=d;return}function uC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;jl(f,b,8,c);Ps(g,b+(0-(c<<1))+2|0,c);nn(e,g+16|0,8);Sq(a,f,e,c,8);Mb=d;return}function vC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;kl(f,b,8,c);Ps(g,b+(0-(c<<1))+2|0,c);on(e,g+16|0,8);Sq(a,f,e,c,8);Mb=d;return}function wC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+80|0;g=d+32|0;f=d+16|0;e=d;Vl(f,b+c|0,4,c);Wz(g,b+(0-(c<<1))|0,c);Xn(e,g+8|0,4);Dv(a,f,e,c,4);Mb=d;return}function xC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;f=d+40|0;e=d+32|0;_p(f,b+c|0,4,c);Xz(g,b+(0-(c<<1))|0,c);xr(e,g+8|0,4);pv(a,f,e,c,4);Mb=d;return}function yC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;el(f,b,8,c);Ps(g,b+(0-(c<<1))+2|0,c);ln(e,g+16|0,8);sp(a,f,e,c,8);Mb=d;return}function zC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;jl(f,b,8,c);Ps(g,b+(0-(c<<1))+2|0,c);nn(e,g+16|0,8);sp(a,f,e,c,8);Mb=d;return}function AC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;kl(f,b,8,c);Ps(g,b+(0-(c<<1))+2|0,c);on(e,g+16|0,8);sp(a,f,e,c,8);Mb=d;return}function BC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+80|0;g=d+32|0;f=d+16|0;e=d;Vl(f,b+c|0,4,c);Wz(g,b+(0-(c<<1))|0,c);Xn(e,g+8|0,4);Pu(a,f,e,c,4);Mb=d;return}function CC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;g=e<<1;b=e*3|0;f=H(((d[a+-1>>0]|0)+2+(d[a+(e+-1)>>0]|0)+(d[a+(g+-1)>>0]|0)+(d[a+(b+-1)>>0]|0)|0)>>>2,16843009)|0;c[a>>2]=f;c[a+e>>2]=f;c[a+g>>2]=f;c[a+b>>2]=f;return}function DC(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b>>2]|0;b=c[b+4>>2]|0;e=a+28|0;Ya(3,e|0);WI(33984,c[e>>2]|0);WI(33985,c[a+32>>2]|0);WI(33986,c[a+36>>2]|0);UI(165907)|0;c[a+44>>2]=d;c[a+48>>2]=b;return}function EC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;f=d+40|0;e=d+32|0;Rp(f,b,4,c);Xz(g,b+(0-(c<<1))+2|0,c);sr(e,g+8|0,4);pv(a,f,e,c,4);Mb=d;return}function FC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;f=d+40|0;e=d+32|0;Up(f,b,4,c);Xz(g,b+(0-(c<<1))+2|0,c);ur(e,g+8|0,4);pv(a,f,e,c,4);Mb=d;return}function GC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;f=d+40|0;e=d+32|0;Vp(f,b,4,c);Xz(g,b+(0-(c<<1))+2|0,c);vr(e,g+8|0,4);pv(a,f,e,c,4);Mb=d;return}function HC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+32|0;g=d+8|0;f=d+4|0;e=d;Dq(f,b+c|0,2,c);xI(g,b+(0-(c<<1))|0,c);rs(e,g+4|0,2);ox(a,f,e,c,2);Mb=d;return}function IC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;ll(f,b,8,c);Ps(g,b+(0-(c<<1))+2|0,c);qn(e,g+16|0,8);Sq(a,f,e,c,8);Mb=d;return}function JC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;ll(f,b,8,c);Ps(g,b+(0-(c<<1))+2|0,c);qn(e,g+16|0,8);sp(a,f,e,c,8);Mb=d;return}function KC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;el(f,b,8,c);Ps(g,b+(0-(c<<1))|0,c);ln(e,g+16|0,8);Sq(a,f,e,c,8);Mb=d;return}function LC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;jl(f,b,8,c);Ps(g,b+(0-(c<<1))|0,c);nn(e,g+16|0,8);Sq(a,f,e,c,8);Mb=d;return}function MC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;kl(f,b,8,c);Ps(g,b+(0-(c<<1))|0,c);on(e,g+16|0,8);Sq(a,f,e,c,8);Mb=d;return}function NC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;el(f,b,8,c);Ps(g,b+(0-(c<<1))|0,c);ln(e,g+16|0,8);sp(a,f,e,c,8);Mb=d;return}function OC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;jl(f,b,8,c);Ps(g,b+(0-(c<<1))|0,c);nn(e,g+16|0,8);sp(a,f,e,c,8);Mb=d;return}function PC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;kl(f,b,8,c);Ps(g,b+(0-(c<<1))|0,c);on(e,g+16|0,8);sp(a,f,e,c,8);Mb=d;return}function QC(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=(e|0)==0;h=0;while(1){if((h|0)>=(f|0))break;i=d+(H(h,g)|0)|0;i=Xb[b&15](a,i)|0;if(!j)c[e+(h<<2)>>2]=i;h=h+1|0}return 0}function RC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+80|0;g=d+32|0;f=d+16|0;e=d;Vl(f,b,4,c);Wz(g,b+(0-(c<<1))+1|0,c);Xn(e,g+8|0,4);Dv(a,f,e,c,4);Mb=d;return}function SC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;f=d+40|0;e=d+32|0;_p(f,b,4,c);Xz(g,b+(0-(c<<1))+2|0,c);xr(e,g+8|0,4);pv(a,f,e,c,4);Mb=d;return}function TC(a){a=a|0;var b=0,e=0,f=0,g=0;b=c[a>>2]|0;if(!b)a=31;else{e=(b|0)>-1?b:0-b|0;g=e>>>0>65535;e=g?e>>>16:e;g=g?16:0;f=(e&65280|0)==0;e=30-(f?g:g|8)-(d[91312+(f?e:e>>>8)>>0]|0)|0;c[a>>2]=b<<e;a=e}return a|0}function UC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+80|0;g=d+32|0;f=d+16|0;e=d;Vl(f,b,4,c);Wz(g,b+(0-(c<<1))+1|0,c);Xn(e,g+8|0,4);Pu(a,f,e,c,4);Mb=d;return}function VC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;f=d+40|0;e=d+32|0;Rp(f,b,4,c);Xz(g,b+(0-(c<<1))|0,c);sr(e,g+8|0,4);pv(a,f,e,c,4);Mb=d;return}function WC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;f=d+40|0;e=d+32|0;Up(f,b,4,c);Xz(g,b+(0-(c<<1))|0,c);ur(e,g+8|0,4);pv(a,f,e,c,4);Mb=d;return}function XC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;f=d+40|0;e=d+32|0;Vp(f,b,4,c);Xz(g,b+(0-(c<<1))|0,c);vr(e,g+8|0,4);pv(a,f,e,c,4);Mb=d;return}function YC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=Mb;Mb=Mb+16|0;f=g;if(d>>>0<=2147483615?(e=YQ(d+32|0)|0,c[f>>2]=e,(e|0)!=0):0){if((Mp(a,b,e,d)|0)<0){hM(f);e=0}}else e=0;Mb=g;return e|0}function ZC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;ll(f,b,8,c);Ps(g,b+(0-(c<<1))|0,c);qn(e,g+16|0,8);Sq(a,f,e,c,8);Mb=d;return}function _C(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+32|0;g=d+8|0;f=d+4|0;e=d;Dq(f,b,2,c);xI(g,b+(0-(c<<1))+1|0,c);rs(e,g+4|0,2);ox(a,f,e,c,2);Mb=d;return}function $C(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;ll(f,b,8,c);Ps(g,b+(0-(c<<1))|0,c);qn(e,g+16|0,8);sp(a,f,e,c,8);Mb=d;return}function aD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+80|0;g=d+32|0;f=d+16|0;e=d;Vl(f,b,4,c);Wz(g,b+(0-(c<<1))|0,c);Xn(e,g+8|0,4);Dv(a,f,e,c,4);Mb=d;return}function bD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;f=d+40|0;e=d+32|0;_p(f,b,4,c);Xz(g,b+(0-(c<<1))|0,c);xr(e,g+8|0,4);pv(a,f,e,c,4);Mb=d;return}function cD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+80|0;g=d+32|0;f=d+16|0;e=d;Vl(f,b,4,c);Wz(g,b+(0-(c<<1))|0,c);Xn(e,g+8|0,4);Pu(a,f,e,c,4);Mb=d;return}function dD(a,c,d,e,f,g,h){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)>=(d|0))break;b[a+(i<<1)>>1]=b[c+(f<<1)>>1]|0;j=SO(e|0,f|0,g|0,h|0)|0;i=i+1|0;e=j;f=M()|0}return}function eD(a,b,c,d,e,f,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)>=(c|0))break;g[a+(i<<3)>>3]=+g[b+(e<<3)>>3];j=SO(d|0,e|0,f|0,h|0)|0;i=i+1|0;d=j;e=M()|0}return}function fD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+32|0;g=d+8|0;f=d+4|0;e=d;Dq(f,b,2,c);xI(g,b+(0-(c<<1))|0,c);rs(e,g+4|0,2);ox(a,f,e,c,2);Mb=d;return}
function nf(b,g,h){b=b|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0.0;u=g+8|0;w=h+4|0;x=b+310124|0;y=b+76|0;z=b+36|0;t=0;while(1){if(t>>>0>=(c[u>>2]|0)>>>0)break;if((t|0)==(c[w>>2]|0))i=1;else i=(t|0)==(c[h>>2]|0);q=i^1;r=t+1|0;s=+(q&1);i=0;while(1){if(i>>>0>=(c[x>>2]|0)>>>0)break;o=c[y>>2]|0;j=(e[b+310386+(i<<1)>>1]|0)-o|0;i=i+1|0;n=b+310386+(i<<1)|0;k=j;while(1){p=(e[n>>1]|0)-o|0;if(k>>>0>=p>>>0)break;A=+f[b+381120+(t*192|0)+(k<<2)>>2];l=+f[b+382464+(t*192|0)+(k<<2)>>2];m=l+1.0;B=A/m;C=+v(+(l*B));f[b+385488+(t*192|0)+(k<<2)>>2]=C;B=+v(+(B*+(d[g+86032+(r*48|0)+k>>0]|0)));f[b+386832+(t*192|0)+(k<<2)>>2]=B;p=(a[b+383808+(t*48|0)+k>>0]|0)==0;m=+v(+((p?A:A*l)/((p?l*s+1.0:m)*(+f[b+384144+(t*192|0)+(k<<2)>>2]+1.0))))+1.1754943508222875e-38;f[b+388176+(t*192|0)+(k<<2)>>2]=m;k=k+1|0}k=j;l=0.0;m=0.0;while(1){if(k>>>0>=p>>>0)break;B=l+ +f[b+381120+(t*192|0)+(k<<2)>>2];C=m+ +f[b+384144+(t*192|0)+(k<<2)>>2];k=k+1|0;l=B;m=C}l=+v(+((l+1.1920928955078125e-07)/(m+1.1920928955078125e-07)))*+f[51536+(c[z>>2]<<2)>>2];l=l<1.0e5?l:1.0e5;k=j;while(1){if(k>>>0>=p>>>0)break;n=b+385488+(t*192|0)+(k<<2)|0;B=+f[n>>2];o=b+388176+(t*192|0)+(k<<2)|0;C=+f[o>>2];A=l*B/C;f[n>>2]=B>A?A:B;f[o>>2]=C>l?l:C;k=k+1|0}k=j;l=0.0;m=0.0;while(1){if(k>>>0>=p>>>0)break;B=l+ +f[b+381120+(t*192|0)+(k<<2)>>2];D=+f[b+388176+(t*192|0)+(k<<2)>>2];C=+f[b+386832+(t*192|0)+(k<<2)>>2];A=+f[b+385488+(t*192|0)+(k<<2)>>2];C=m+(D*(+f[b+384144+(t*192|0)+(k<<2)>>2]*D)+C*C+A*(A*+(C==0.0&q&1)));k=k+1|0;l=B;m=C}l=+v(+((l+1.1920928955078125e-07)/(m+1.1920928955078125e-07)));l=l<1.5848932266235352?l:1.5848932266235352;while(1){if(j>>>0>=p>>>0)break;o=b+388176+(t*192|0)+(j<<2)|0;f[o>>2]=l*+f[o>>2];o=b+385488+(t*192|0)+(j<<2)|0;f[o>>2]=l*+f[o>>2];o=b+386832+(t*192|0)+(j<<2)|0;f[o>>2]=l*+f[o>>2];j=j+1|0}}t=r}return}function of(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=c[f+16>>2]|0;s=c[1047648+(h<<4)+4>>2]|0;a:do if(!j){o=e+8|0;p=e+16|0;m=0;n=0;while(1){if((n|0)>=(t|0))break a;h=c[o>>2]|0;q=c[p>>2]|0;l=c[e>>2]|0;r=l+(h>>>3)|0;r=(kS(d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24|0)|0)<<(h&7)>>>23;f=b[s+(r<<2)>>1]|0;r=b[s+(r<<2)+2>>1]|0;k=r<<16>>16;if(r<<16>>16<0){h=h+9|0;h=q>>>0>h>>>0?h:q;r=l+(h>>>3)|0;r=((kS(d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24|0)|0)<<(h&7)>>>(k+32|0))+f|0;f=b[s+(r<<2)>>1]|0;r=b[s+(r<<2)+2>>1]|0;j=r<<16>>16;if(r<<16>>16<0){h=h-k|0;h=q>>>0>h>>>0?h:q;r=l+(h>>>3)|0;f=((kS(d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24|0)|0)<<(h&7)>>>(j+32|0))+f|0;j=b[s+(f<<2)+2>>1]|0;f=b[s+(f<<2)>>1]|0}}else j=k;r=j+h|0;c[o>>2]=q>>>0>r>>>0?r:q;r=f+m&7;a[g+(i*34|0)+n>>0]=r;m=r;n=n+1|0}}else{if(!i)h=c[f+40>>2]|0;else h=i;n=h+-1|0;n=(n|0)>0?n:0;o=e+8|0;p=e+16|0;m=0;while(1){if((m|0)>=(t|0))break a;q=d[g+(n*34|0)+m>>0]|0;h=c[o>>2]|0;r=c[p>>2]|0;k=c[e>>2]|0;j=k+(h>>>3)|0;j=(kS(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24|0)|0)<<(h&7)>>>23;f=b[s+(j<<2)>>1]|0;j=b[s+(j<<2)+2>>1]|0;l=j<<16>>16;if(j<<16>>16<0){h=h+9|0;h=r>>>0>h>>>0?h:r;u=k+(h>>>3)|0;u=((kS(d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24|0)|0)<<(h&7)>>>(l+32|0))+f|0;f=b[s+(u<<2)>>1]|0;u=b[s+(u<<2)+2>>1]|0;j=u<<16>>16;if(u<<16>>16<0){h=h-l|0;h=r>>>0>h>>>0?h:r;u=k+(h>>>3)|0;f=((kS(d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24|0)|0)<<(h&7)>>>(j+32|0))+f|0;j=b[s+(f<<2)+2>>1]|0;f=b[s+(f<<2)>>1]|0}}else j=l;u=j+h|0;c[o>>2]=r>>>0>u>>>0?u:r;a[g+(i*34|0)+m>>0]=f+q&7;m=m+1|0}}while(0);return}function pf(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;M=Mb;Mb=Mb+16|0;K=M+4|0;F=M;fv(e,K,F);L=c[K>>2]>>j;c[K>>2]=L;K=H(c[F>>2]|0,L)|0;c[F>>2]=K;F=g+-1|0;G=e+580|0;I=e+564|0;J=e+696|0;z=e+680|0;y=0;while(1){if((y|0)>=(h|0))break;A=y>>>j;B=H(y,i)|0;C=H(y,K)|0;g=0;while(1){if((g|0)>=(F|0))break;u=c[G>>2]|0;n=H(c[I>>2]|0,A)|0;m=n+(g>>>j)|0;v=a[u+m>>0]|0;D=g+1|0;n=n+(D>>>j)|0;u=a[u+n>>0]|0;o=c[J>>2]|0;E=g+B<<3;p=c[z>>2]|0;g=(H(g,L)|0)+C|0;e=p+(g<<2)|0;k=(H(D,L)|0)+C|0;l=p+(k<<2)|0;w=(v&14)!=0;x=(u&14)!=0;a:do if((u|v)&14){if(((c[o+(m<<2)>>2]|c[o+(n<<2)>>2])&7|0)==0?(v=(b[e>>1]|0)-(b[l>>1]|0)|0,u=(b[p+(k<<2)+2>>1]|0)+(b[p+(g<<2)+2>>1]|0)|0,(((u|0)>-1?u:0-u|0)+((v|0)>-1?v:0-v|0)|0)<2):0)break;k=E|7;l=E|6;v=w&x;m=E|5;n=E|4;e=0;while(1){if((e|0)==8)break a;o=H(e,i)|0;p=f+(o+k)|0;q=d[p>>0]|0;r=f+(o+l)|0;O=q-(d[r>>0]|0)|0;s=o+E|0;t=f+(s+8)|0;g=d[t>>0]|0;N=g-q|0;u=f+(s+9)|0;g=(d[u>>0]|0)-g|0;g=((N|0)>-1?N:0-N|0)-(((O|0)>-1?O:0-O|0)+1+((g|0)>-1?g:0-g|0)>>1)|0;g=(g|0)>0?g:0;g=(N|0)<0?0-g|0:g;if(g|0){g=v?g:(g<<4|0)/9|0;if(w){a[p>>0]=a[21296+((g*7>>4)+q)>>0]|0;a[r>>0]=a[21296+((g*5>>4)+(d[r>>0]|0))>>0]|0;O=f+(o+m)|0;a[O>>0]=a[21296+((g*3>>4)+(d[O>>0]|0))>>0]|0;O=f+(o+n)|0;a[O>>0]=a[21296+((g>>4)+(d[O>>0]|0))>>0]|0}if(x){a[t>>0]=a[21296+((d[t>>0]|0)-(g*7>>4))>>0]|0;a[u>>0]=a[21296+((d[u>>0]|0)-(g*5>>4))>>0]|0;O=f+(s+10)|0;a[O>>0]=a[21296+((d[O>>0]|0)-(g*3>>4))>>0]|0;O=f+(s+11)|0;a[O>>0]=a[21296+((d[O>>0]|0)-(g>>4))>>0]|0}}e=e+1|0}}while(0);g=D}y=y+1|0}Mb=M;return}function qf(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=(j+1|1)<<g;k=g+1|0;j=b;g=0;while(1){if((g|0)>=(f|0))break;m=H(d[c>>0]|0,i)|0;m=m+l+(H(d[j>>0]|0,h)|0)>>k;a[j>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H(d[c+1>>0]|0,i)|0;b=j+1|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+2>>0]|0,i)|0;m=j+2|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+3>>0]|0,i)|0;b=j+3|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+4>>0]|0,i)|0;m=j+4|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+5>>0]|0,i)|0;b=j+5|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+6>>0]|0,i)|0;m=j+6|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+7>>0]|0,i)|0;b=j+7|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+8>>0]|0,i)|0;m=j+8|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+9>>0]|0,i)|0;b=j+9|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+10>>0]|0,i)|0;m=j+10|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+11>>0]|0,i)|0;b=j+11|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+12>>0]|0,i)|0;m=j+12|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+13>>0]|0,i)|0;b=j+13|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+14>>0]|0,i)|0;m=j+14|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+15>>0]|0,i)|0;b=j+15|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;c=c+e|0;j=j+e|0;g=g+1|0}return}function rf(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:do if(f>>>0>=23?(u=a[e>>0]|0,a[g>>0]=u,u<<24>>24==1):0){u=e+1|0;a[g+1>>0]=(d[u>>0]|0)>>>6;a[g+2>>0]=(d[u>>0]|0)>>>5&1;a[g+3>>0]=a[u>>0]&31;c[g+4>>2]=(d[e+3>>0]|0)<<16|(d[e+2>>0]|0)<<24|(d[e+4>>0]|0)<<8|(d[e+5>>0]|0);u=(d[e+7>>0]|0)<<16|(d[e+6>>0]|0)<<24|(d[e+8>>0]|0)<<8|(d[e+9>>0]|0);s=g+8|0;h=s;c[h>>2]=u;c[h+4>>2]=0;u=cN(u|0,0,16)|0;h=M()|0;r=cN(d[e+10>>0]|0|0,0,8)|0;t=M()|0;c[s>>2]=r|(d[e+11>>0]|0)|u;c[s+4>>2]=t|h;a[g+16>>0]=a[e+12>>0]|0;b[g+18>>1]=(a[e+13>>0]&15)<<8|(d[e+14>>0]|0);a[g+20>>0]=a[e+15>>0]&3;a[g+21>>0]=a[e+16>>0]&3;a[g+22>>0]=a[e+17>>0]&7;a[g+23>>0]=a[e+18>>0]&7;b[g+24>>1]=(d[e+19>>0]|0)<<8|(d[e+20>>0]|0);s=e+21|0;a[g+26>>0]=(d[s>>0]|0)>>>6;a[g+27>>0]=(d[s>>0]|0)>>>3&7;a[g+28>>0]=(d[s>>0]|0)>>>2&1;a[g+29>>0]=a[s>>0]&3;s=a[e+22>>0]|0;h=e+23|0;t=g+30|0;a[t>>0]=0;u=s&255;if(s<<24>>24){r=e+f|0;s=g+4641|0;q=0;k=g+545|0;f=0;while(1){j=h+3|0;if(j>>>0>r>>>0){h=-1;break a}i=a[h>>0]|0;o=(d[h+1>>0]|0)<<8|(d[h+2>>0]|0);if(!o){i=k;h=j}else{p=(i&255)>>>7;n=i&63;m=0;h=j;while(1){j=f&255;if((f&255)>63){h=-1;break a}f=h+2|0;if(f>>>0>r>>>0){h=-1;break a}l=(d[h>>0]|0)<<8|(d[h+1>>0]|0);if((f+l|0)>>>0>r>>>0){h=-1;break a}i=k+l|0;if(i>>>0>s>>>0){h=-1;break a}a[g+32+(j<<3)>>0]=p;a[g+32+(j<<3)+1>>0]=n;b[g+32+(j<<3)+2>>1]=l;c[g+32+(j<<3)+4>>2]=k;rk(k|0,f|0,l|0)|0;f=(a[t>>0]|0)+1<<24>>24;a[t>>0]=f;h=h+(l+2)|0;m=m+1<<16>>16;if(o>>>0<=(m&65535)>>>0)break;else k=i}}q=q+1<<16>>16;if((q&65535)>>>0>=u>>>0)break;else k=i}}h=h-e|0}else h=-1;while(0);return h|0}function sf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Mb;Mb=Mb+48|0;o=s+32|0;h=s+24|0;g=s+16|0;f=s;n=c[a+64>>2]|0;q=n+92|0;if(c[q>>2]|0){c[f>>2]=168246;c[f+4>>2]=167670;c[f+8>>2]=754;Xw(0,0,213444,f);ba()}if((e|0)!=0&(c[n+80>>2]|0)!=0?c[e+28>>2]|0:0){Xw(a,24,168280,g);xq(a)}c[d>>2]=0;c[n+84>>2]=1;r=n+96|0;f=c[r>>2]|0;a:do if(!f){f=Tk(a,e)|0;if((f|0)<-11)switch(f|0){case -541478725:{p=11;break a}default:{}}else switch(f|0){case -11:{f=-558323010;p=25;break a}default:{}}if((f|0)<0)p=25;else p=11}else if((f|0)==(c[e+28>>2]|0))p=11;else{Xw(a,16,168313,h);f=-22;p=25}while(0);b:do if((p|0)==11){i=n+100|0;j=n+88|0;k=n+64|0;l=a+476|0;m=a+12|0;e=e+28|0;g=b;while(1){f=ds(a,g)|0;if((f|0)<0){p=13;break}h=c[i>>2]|0;if((g|0)==(h|0)){if(!(c[j>>2]|0)){Xw(a,24,168364,o);h=j;p=20}}else if(!(c[l>>2]|0)){f=ij(n,g)|0;if((f|0)<0){p=25;break b}g=c[i>>2]|0;h=d;p=20}else{g=h;h=d;p=20}if((p|0)==20){p=0;c[h>>2]=1}if(c[k>>2]|0){p=26;break}if((c[(c[m>>2]|0)+116>>2]|0)==0?(c[q>>2]|0)>>>0<(c[e>>2]|0)>>>0:0){p=26;break}}c:do if((p|0)==13)if((f|0)<-11)switch(f|0){case -541478725:{p=28;break c}default:{p=25;break b}}else switch(f|0){case -11:{p=28;break c}default:{p=25;break b}}else if((p|0)==26)if(!f)p=28;else{c[q>>2]=0;h=f;g=c[e>>2]|0}while(0);if((p|0)==28){if(!(c[(c[m>>2]|0)+116>>2]|0)){f=c[q>>2]|0;g=c[e>>2]|0;f=f>>>0>g>>>0?g:f}else{g=c[e>>2]|0;f=g}c[q>>2]=0;if((f|0)>-1)h=f;else{g=0;break}}f=h;g=g-h|0}while(0);if((p|0)==25){c[q>>2]=0;g=0}c[r>>2]=g;Mb=s;return f|0}function tf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=Mb;Mb=Mb+48|0;s=x+8|0;h=x;r=x+16|0;v=b+1632|0;u=(c[v>>2]|0)!=0;i=u?0:f;w=b+16|0;j=c[w>>2]|0;j=j>>>0>13?7:j;q=b+1636|0;if(u?(c[q>>2]|0)==0:0)Xw(g,16,169319,h);m=b+1340|0;u=b+20|0;n=b+1660|0;o=b+1656|0;p=b+1648|0;h=0;a:while(1){if((h|0)>=(f|0)){t=33;break}b:do if((i|0)>(h|0)){if((j|0)==7){j=(Xb[c[m>>2]&15](e+h|0,i-h|0)|0)+h|0;l=i;h=j;j=(j|0)<(i|0)?2:7;break}if(j>>>0<3)switch(a[e+h>>0]|0){case 1:{l=i;j=j^5;break b}case 0:{l=i;j=j>>>1;break b}default:{l=i;j=7;break b}}if(j>>>0<6){k=j;t=20}else{k=c[n>>2]|0;y=a[e+h>>0]|0;l=c[o>>2]|0;c[o>>2]=l+1;a[b+1648+l>>0]=y;FH(r,p,c[o>>2]<<3)|0;l=LG(r)|0;if(!((pS(r)|0)<=0?(c[o>>2]|0)<=5:0)){c[n>>2]=l;if(c[u>>2]|0){if(l>>>0<=k>>>0){t=31;break a}}else c[u>>2]=1;c[o>>2]=0;j=7}l=i}}else{j=c[q>>2]|0;h=0;k=0;while(1){if((h|0)>=(j|0))break;h=h+1|0;k=k<<8|d[e+i>>0];i=i+1|0}h=f-i|0;if((k|0)<1|(k|0)>(h|0)){t=12;break a}h=i;i=i+k|0;k=5;t=20}while(0);c:do if((t|0)==20){t=0;j=a[e+h>>0]|0;if(((j&31)+-6&255)<4){y=(c[u>>2]|0)==0;h=h+((y^1)&1)|0;if(y){l=i;j=7;break}else{f=k;t=34;break a}}switch(j&31){case 1:case 2:case 5:break;default:{l=i;j=7;break c}}l=i;j=k+8|0}while(0);h=h+1|0;i=l}if((t|0)==12){c[s>>2]=k;c[s+4>>2]=h;Xw(g,16,169356,s);t=35}else if((t|0)==31){h=h+1-(c[o>>2]|0)|0;c[o>>2]=0;f=j;t=34}else if((t|0)==33){c[w>>2]=j;f=(c[v>>2]|0)==0?-100:i;t=35}if((t|0)==34){c[w>>2]=7;c[u>>2]=0;Mb=x;return ((c[v>>2]|0)==0?h-(f&5)|0:i)|0}else if((t|0)==35){Mb=x;return f|0}return 0}function uf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0;if(!e){e=0;while(1){if((e|0)==32)break;f[b+(e<<8)>>2]=+f[d+(e<<3)>>2]+ +f[d+256+(e<<3)>>2]+ +f[d+512+(e<<3)>>2]+ +f[d+768+(e<<3)>>2]+ +f[d+1024+(e<<3)>>2]+ +f[d+1280+(e<<3)>>2];f[b+9728+(e<<8)>>2]=+f[d+(e<<3)+4>>2]+ +f[d+256+(e<<3)+4>>2]+ +f[d+512+(e<<3)+4>>2]+ +f[d+768+(e<<3)+4>>2]+ +f[d+1024+(e<<3)+4>>2]+ +f[d+1280+(e<<3)+4>>2];f[b+(e<<8)+4>>2]=+f[d+1536+(e<<3)>>2]+ +f[d+1792+(e<<3)>>2];f[b+9728+(e<<8)+4>>2]=+f[d+1536+(e<<3)+4>>2]+ +f[d+1792+(e<<3)+4>>2];f[b+(e<<8)+8>>2]=+f[d+2048+(e<<3)>>2]+ +f[d+2304+(e<<3)>>2];f[b+9728+(e<<8)+8>>2]=+f[d+2048+(e<<3)+4>>2]+ +f[d+2304+(e<<3)+4>>2];e=e+1|0}hc[c[a+16>>2]&255](b,d+1792|0,3,32)}else{o=0;while(1){if((o|0)==32)break;g=b+(o<<8)|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;h=b+9728+(o<<8)|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;e=0;i=0.0;j=0.0;while(1){if((e|0)==12)break;q=+f[d+(e<<8)+(o<<3)>>2]+i;f[g>>2]=q;p=+f[d+(e<<8)+(o<<3)+4>>2]+j;f[h>>2]=p;e=e+1|0;i=q;j=p}g=b+(o<<8)+4|0;h=b+9728+(o<<8)+4|0;e=0;while(1){if((e|0)==8)break;n=e+12|0;f[g>>2]=+f[d+(n<<8)+(o<<3)>>2]+ +f[g>>2];f[h>>2]=+f[d+(n<<8)+(o<<3)+4>>2]+ +f[h>>2];e=e+1|0}g=b+(o<<8)+8|0;h=b+9728+(o<<8)+8|0;k=b+(o<<8)+12|0;l=b+9728+(o<<8)+12|0;m=b+(o<<8)+16|0;n=b+9728+(o<<8)+16|0;e=0;while(1){if((e|0)==4)break;r=e+20|0;f[g>>2]=+f[d+(r<<8)+(o<<3)>>2]+ +f[g>>2];f[h>>2]=+f[d+(r<<8)+(o<<3)+4>>2]+ +f[h>>2];r=e+24|0;f[k>>2]=+f[d+(r<<8)+(o<<3)>>2]+ +f[k>>2];f[l>>2]=+f[d+(r<<8)+(o<<3)+4>>2]+ +f[l>>2];r=e+28|0;f[m>>2]=+f[d+(r<<8)+(o<<3)>>2]+ +f[m>>2];f[n>>2]=+f[d+(r<<8)+(o<<3)+4>>2]+ +f[n>>2];e=e+1|0}o=o+1|0}hc[c[a+16>>2]&255](b,d+6912|0,5,32)}return}function vf(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=Mb;Mb=Mb+16|0;E=F;Wp(h+86080|0,0,336)|0;y=h+8|0;z=g+310276|0;A=g+310226|0;B=g+76|0;D=h+20|0;u=h+87942|0;v=g+310120|0;w=g+310116|0;x=h+4|0;t=i+4|0;s=0;while(1){i=c[y>>2]|0;if(s>>>0>=i>>>0){j=35;break}p=s+1|0;r=a[h+12+p>>0]|0;q=c[g+310112+((r&255)<<2)>>2]|0;r=r<<24>>24==0?A:z;o=c[B>>2]|0;i=b[r>>1]|0;if((o|0)!=(i&65535|0)){j=6;break}j=0;while(1){if((j|0)==(q|0))break;k=j+1|0;l=b[r+(k<<1)>>1]|0;m=l&65535;j=h+86704+(p*192|0)+(j<<2)|0;i=i&65535;while(1){if(i>>>0>=m>>>0)break;c[g+381120+(s*192|0)+(i-o<<2)>>2]=c[j>>2];i=i+1|0}j=k;i=l}if((c[D>>2]|0)>>>0>1)n=(d[h+87932+s>>0]|0)<(d[u>>0]|0)?1:2;else n=1;j=c[v>>2]|0;i=0;while(1){if((i|0)==(j|0))break;k=i+1|0;l=e[g+310374+(k<<1)>>1]|0;m=h+87872+(n*20|0)+(i<<2)|0;i=e[g+310374+(i<<1)>>1]|0;while(1){if(i>>>0>=l>>>0)break;c[g+382464+(s*192|0)+(i-o<<2)>>2]=c[m>>2];i=i+1|0}i=k}i=0;while(1){if(i>>>0>=(c[w>>2]|0)>>>0)break;if(!(c[x>>2]|0))i=i+1|0;else{k=i+1|0;j=((e[g+310276+(k<<1)>>1]|0)+(e[g+310276+(i<<1)>>1]|0)|0)>>>1;i=a[h+41+i>>0]|0;if((s|0)<(c[t>>2]|0)?(C=j-(c[B>>2]|0)|0,(a[h+86032+C>>0]|0)!=1):0){j=C;i=0}else j=j-(c[B>>2]|0)|0;a[h+86032+(p*48|0)+j>>0]=i;i=k}}i=0;while(1){if((i|0)==(q|0))break;m=e[r+(i<<1)>>1]|0;i=i+1|0;k=e[r+(i<<1)>>1]|0;l=c[B>>2]|0;j=m;while(1){if(j>>>0>=k>>>0){j=0;break}if(!(a[j-l+(h+86032+(p*48|0))>>0]|0))j=j+1|0;else{j=1;break}}Wp(m-l+(g+383808+(s*48|0))|0,j|0,k-m|0)|0}s=p}if((j|0)==6){Xw(c[f+4>>2]|0,16,191111,E);BK(g);i=-558323010}else if((j|0)==35){k=h+86032|0;i=h+86032+(i*48|0)|0;j=k+48|0;do{c[k>>2]=c[i>>2];k=k+4|0;i=i+4|0}while((k|0)<(j|0));i=0}Mb=F;return i|0}function wf(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=Mb;Mb=Mb+208|0;s=u;t=u+192|0;f=c[(c[a+24364>>2]|0)+(c[d+21796>>2]<<2)>>2]|0;r=t;c[r>>2]=0;c[r+4>>2]=0;Wp(s|0,-1,192)|0;a:do if(!(f&8)){if(f&16|0){ul(a,d,s,0,8,0,f&4096,f&16384,t);ul(a,d,s,8,8,8,f&8192,f&32768,t);break}if(f&32|0){ul(a,d,s,0,16,0,f&4096,f&16384,t);ul(a,d,s,4,16,0,f&8192,f&32768,t);break}g=0;while(1){if((g|0)==4)break a;f=e[d+28552+(g<<1)>>1]|0;h=g<<2;i=h&8;b:do if(!(f&8)){if(f&16|0){q=f&4096;r=f&16384;ul(a,d,s,h,4,i,q,r,t);ul(a,d,s,h|2,4,i|4,q,r,t);break}j=f&4096;k=f&16384;if(f&32|0){ul(a,d,s,h,8,i,j,k,t);ul(a,d,s,h|1,8,i,j,k,t);break}f=0;while(1){if((f|0)==4)break b;ul(a,d,s,f+h|0,4,f<<1&4|i,j,k,t);f=f+1|0}}else ul(a,d,s,h,8,i,f&4096,f&16384,t);while(0);g=g+1|0}}else ul(a,d,s,0,16,0,f&4096,f&16384,t);while(0);q=a+26992|0;r=d+21832|0;p=a+26364|0;f=c[d+23412>>2]|0;while(1){f=f+-1|0;if((f|0)<=-1)break;n=t+(f<<2)|0;m=0;while(1){if(m>>>0>=48)break;h=c[n>>2]|0;if(!h)break;g=b[s+(f*96|0)+(m<<1)>>1]|0;do if(g<<16>>16>-1){o=(c[d+23416+(f*1920|0)+(m*40|0)+24>>2]|0)+-1|0;i=d+23416+(f*1920|0)+(m*40|0)+36|0;j=c[i>>2]|0;v=c[j+636>>2]|0;l=c[q>>2]<<4>>v;k=g<<16>>16<<c[r>>2];c[n>>2]=h+-1;a=(c[p>>2]|0)==3;g=(v|0)!=0;if(g&a){v=k>>1;a=v-(k&1^1)|0;o=l+-1|0;tr(j+4|0,(a|0)<(l|0)?a:o,1);tr((c[i>>2]|0)+4|0,(v|0)>(o|0)?o:v,0);break}h=j+4|0;if(!(g|a)){v=(k<<1)+o|0;tr(h,(v|0)<(l|0)?v:l+-1|0,0);break}g=l+-1|0;g=(k|0)>(g|0)?g:k;if(a){tr(h,g,0);break}else{tr(h,g,o);break}}while(0);m=m+1|0}}Mb=u;return}function xf(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;i=Mb;Mb=Mb+256|0;h=i;a=0;while(1){if((a|0)==8)break;s=H(a,f)|0;p=(d[e+s>>0]|0)-(d[b+s>>0]|0)|0;q=s+1|0;k=d[e+q>>0]|0;q=d[b+q>>0]|0;o=k-q+p|0;g=a<<3;p=q-k+p|0;k=s+2|0;k=(d[e+k>>0]|0)-(d[b+k>>0]|0)|0;q=s+3|0;r=d[e+q>>0]|0;q=d[b+q>>0]|0;m=r-q+k|0;k=q-r+k|0;r=s+4|0;r=(d[e+r>>0]|0)-(d[b+r>>0]|0)|0;q=s+5|0;j=d[e+q>>0]|0;q=d[b+q>>0]|0;n=j-q+r|0;r=q-j+r|0;j=s+6|0;j=(d[e+j>>0]|0)-(d[b+j>>0]|0)|0;s=s+7|0;q=d[e+s>>0]|0;s=d[b+s>>0]|0;l=q-s+j|0;j=s-q+j|0;q=m+o|0;m=o-m|0;o=k+p|0;k=p-k|0;p=l+n|0;l=n-l|0;n=j+r|0;j=r-j|0;c[h+(g<<2)>>2]=p+q;c[h+((g|4)<<2)>>2]=q-p;c[h+((g|1)<<2)>>2]=n+o;c[h+((g|5)<<2)>>2]=o-n;c[h+((g|2)<<2)>>2]=l+m;c[h+((g|6)<<2)>>2]=m-l;c[h+((g|3)<<2)>>2]=j+k;c[h+((g|7)<<2)>>2]=k-j;a=a+1|0}a=0;g=0;while(1){if((g|0)==8)break;w=h+(g<<2)|0;o=c[w>>2]|0;u=h+(g+8<<2)|0;t=c[u>>2]|0;v=t+o|0;t=o-t|0;o=h+(g+16<<2)|0;b=c[o>>2]|0;p=h+(g+24<<2)|0;k=c[p>>2]|0;m=k+b|0;k=b-k|0;b=h+(g+32<<2)|0;r=c[b>>2]|0;f=h+(g+40<<2)|0;j=c[f>>2]|0;e=j+r|0;j=r-j|0;r=h+(g+48<<2)|0;s=c[r>>2]|0;q=h+(g+56<<2)|0;l=c[q>>2]|0;n=l+s|0;l=s-l|0;s=m+v|0;c[w>>2]=s;m=v-m|0;c[o>>2]=m;o=k+t|0;c[u>>2]=o;k=t-k|0;c[p>>2]=k;p=n+e|0;c[b>>2]=p;n=e-n|0;c[r>>2]=n;r=l+j|0;c[f>>2]=r;l=j-l|0;c[q>>2]=l;q=p+s|0;p=s-p|0;s=r+o|0;r=o-r|0;o=n+m|0;n=m-n|0;m=l+k|0;l=k-l|0;a=((l|0)>-1?l:0-l|0)+a+((m|0)>-1?m:0-m|0)+((n|0)>-1?n:0-n|0)+((o|0)>-1?o:0-o|0)+((p|0)>-1?p:0-p|0)+((q|0)>-1?q:0-q|0)+((r|0)>-1?r:0-r|0)+((s|0)>-1?s:0-s|0)|0;g=g+1|0}Mb=i;return a|0}function yf(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;n=8-g|0;m=8-h|0;o=H(m,n)|0;m=H(m,g)|0;n=H(n,h)|0;h=H(h,g)|0;a:do if(!h){l=m+n|0;if(!l){g=0;while(1){if((g|0)>=(f|0))break a;n=((H(o,d[c>>0]|0)|0)+32|0)>>>6&255;a[b>>0]=n;n=((H(o,d[c+1>>0]|0)|0)+32|0)>>>6&255;a[b+1>>0]=n;n=((H(o,d[c+2>>0]|0)|0)+32|0)>>>6&255;a[b+2>>0]=n;n=((H(o,d[c+3>>0]|0)|0)+32|0)>>>6&255;a[b+3>>0]=n;b=b+e|0;g=g+1|0;c=c+e|0}}else{h=(n|0)==0?1:e;i=h+1|0;j=h+2|0;k=h+3|0;g=0;while(1){if((g|0)>=(f|0))break a;n=H(o,d[c>>0]|0)|0;n=(n+32+(H(l,d[c+h>>0]|0)|0)|0)>>>6&255;a[b>>0]=n;n=H(o,d[c+1>>0]|0)|0;n=(n+32+(H(l,d[c+i>>0]|0)|0)|0)>>>6&255;a[b+1>>0]=n;n=H(o,d[c+2>>0]|0)|0;n=(n+32+(H(l,d[c+j>>0]|0)|0)|0)>>>6&255;a[b+2>>0]=n;n=H(o,d[c+3>>0]|0)|0;n=(n+32+(H(l,d[c+k>>0]|0)|0)|0)>>>6&255;a[b+3>>0]=n;b=b+e|0;g=g+1|0;c=c+e|0}}}else{i=e+1|0;j=e+2|0;k=e+3|0;l=e+4|0;g=0;while(1){if((g|0)>=(f|0))break a;r=H(o,d[c>>0]|0)|0;q=c+1|0;t=H(m,d[q>>0]|0)|0;p=c+e|0;u=H(n,d[p>>0]|0)|0;s=c+i|0;u=(r+32+t+u+(H(h,d[s>>0]|0)|0)|0)>>>6&255;a[b>>0]=u;q=H(o,d[q>>0]|0)|0;u=c+2|0;t=H(m,d[u>>0]|0)|0;s=H(n,d[s>>0]|0)|0;r=c+j|0;s=(q+32+t+s+(H(h,d[r>>0]|0)|0)|0)>>>6&255;a[b+1>>0]=s;u=H(o,d[u>>0]|0)|0;s=c+3|0;t=H(m,d[s>>0]|0)|0;r=H(n,d[r>>0]|0)|0;q=c+k|0;r=(u+32+t+r+(H(h,d[q>>0]|0)|0)|0)>>>6&255;a[b+2>>0]=r;s=H(o,d[s>>0]|0)|0;r=H(m,d[c+4>>0]|0)|0;q=H(n,d[q>>0]|0)|0;q=(s+32+r+q+(H(h,d[c+l>>0]|0)|0)|0)>>>6&255;a[b+3>>0]=q;b=b+e|0;g=g+1|0;c=p}}while(0);return}function zf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=Mb;Mb=Mb+848|0;o=t+568|0;p=t+288|0;q=t+8|0;r=t;rk(p|0,b|0,280)|0;rk(q|0,b|0,280)|0;rk(o|0,e|0,280)|0;n=a+13448|0;j=a+13444|0;k=a+12540|0;l=a+13380|0;m=a+13384|0;b=$b[c[(c[n>>2]|0)+24>>2]&7](c[j>>2]|0,k,o,f,l,m)|0;do if((b|0)!=2147483647){if((b|0)>=0){s=a+13388|0;if(!b)e=c[s>>2]|0;else{at(o,o,b);c[s>>2]=0;f=f-b|0;e=0}i=a+13392|0;h=a+12808|0;a=b;b=0;while(1){if((e|0)==0?(c[m>>2]|0)!=0:0){at(q,k,c[l>>2]|0);g=$b[c[(c[n>>2]|0)+8>>2]&7](c[j>>2]|0,p,d,q,c[m>>2]|0,r)|0;d=d-g|0;b=g+b|0;at(p,p,g);g=c[r>>2]|0;e=(c[m>>2]|0)-g|0;c[m>>2]=e;c[l>>2]=(c[l>>2]|0)+g;if(!f){e=21;break}if((e|0)>(a|0))g=a;else{at(o,o,0-e|0);f=(c[m>>2]|0)+f|0;c[m>>2]=0;c[l>>2]=0;g=0}}else g=a;e=(f|0)>0;if(e|(c[i>>2]|0)!=0?(c[m>>2]|0)==0:0){c[l>>2]=0;e=$b[c[(c[n>>2]|0)+8>>2]&7](c[j>>2]|0,p,d,o,e?f:0,r)|0;at(p,p,e);a=c[r>>2]|0;at(o,o,a);b=e+b|0;d=d-e|0;f=f-a|0}e=c[l>>2]|0;u=(c[m>>2]|0)+f|0;a=u+e|0;if((u|0)>(e|0)?1:(a|0)<=(c[h>>2]|0)){a=xj(k,a)|0;if((a|0)<0){e=18;break}}else{at(q,k,e);wn(k,q,c[m>>2]|0);c[l>>2]=0}if(!f){e=21;break}u=c[m>>2]|0;e=u+2|0;e=(u|0)==0?f:(d|0)!=0&(e|0)<(f|0)?e:f;at(q,k,(c[l>>2]|0)+u|0);wn(q,o,e);c[m>>2]=e+(c[m>>2]|0);f=f-e|0;at(o,o,e);c[s>>2]=0;if((f|0)==0?(c[m>>2]|0)==(e|0):0){e=21;break}a=e+g|0;e=0}if((e|0)==18){b=a;break}else if((e|0)==21){c[s>>2]=(d|0)!=0&1;break}}}else b=0;while(0);Mb=t;return b|0}function Af(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;k=c+2|0;j=c+-2|0;l=c+4|0;a=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+6|0;a=(((e[k>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[m>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<16384?a:(a^-2147483648)>>31&16383)|0)>>>1;a=d+2|0;n=H((e[m>>1]|0)+(e[c>>1]|0)|0,-5)|0;o=c+8|0;n=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+n+(e[o>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:(n^-2147483648)>>31&16383)|0)>>>1;a=d+4|0;n=H((e[o>>1]|0)+(e[k>>1]|0)|0,-5)|0;j=c+10|0;n=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[j>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:(n^-2147483648)>>31&16383)|0)>>>1;a=d+6|0;n=H((e[j>>1]|0)+(e[l>>1]|0)|0,-5)|0;i=c+12|0;n=(((e[o>>1]|0)+(e[m>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+n+(e[i>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:(n^-2147483648)>>31&16383)|0)>>>1;a=d+8|0;n=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+14|0;n=(((e[j>>1]|0)+(e[o>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+n+(e[k>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:(n^-2147483648)>>31&16383)|0)>>>1;a=d+10|0;n=H((e[k>>1]|0)+(e[o>>1]|0)|0,-5)|0;l=c+16|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:(n^-2147483648)>>31&16383)|0)>>>1;a=d+12|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+18|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[o>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:(n^-2147483648)>>31&16383)|0)>>>1;a=d+14|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+20>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<16384?i:(i^-2147483648)>>31&16383)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function Bf(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;g=0;h=0;a=c;while(1){c=a+e|0;if((g|0)>=(f|0))break;w=d[c+1>>0]|0;y=(d[a+1>>0]|0)+2|0;x=(d[b>>0]|0)-((y+(d[a>>0]|0)+(d[c>>0]|0)+w|0)>>>2)|0;z=d[a+2>>0]|0;v=d[c+2>>0]|0;w=(d[b+1>>0]|0)-((y+w+z+v|0)>>>2)|0;y=d[a+3>>0]|0;u=d[c+3>>0]|0;v=(d[b+2>>0]|0)-((z+2+v+y+u|0)>>>2)|0;z=d[a+4>>0]|0;t=d[c+4>>0]|0;u=(d[b+3>>0]|0)-((y+2+u+z+t|0)>>>2)|0;y=d[a+5>>0]|0;s=d[c+5>>0]|0;t=(d[b+4>>0]|0)-((z+2+t+y+s|0)>>>2)|0;z=d[a+6>>0]|0;r=d[c+6>>0]|0;s=(d[b+5>>0]|0)-((y+2+s+z+r|0)>>>2)|0;y=d[a+7>>0]|0;q=d[c+7>>0]|0;r=(d[b+6>>0]|0)-((z+2+r+y+q|0)>>>2)|0;z=d[a+8>>0]|0;p=d[c+8>>0]|0;q=(d[b+7>>0]|0)-((y+2+q+z+p|0)>>>2)|0;y=d[a+9>>0]|0;o=d[c+9>>0]|0;p=(d[b+8>>0]|0)-((z+2+p+y+o|0)>>>2)|0;z=d[a+10>>0]|0;n=d[c+10>>0]|0;o=(d[b+9>>0]|0)-((y+2+o+z+n|0)>>>2)|0;y=d[a+11>>0]|0;m=d[c+11>>0]|0;n=(d[b+10>>0]|0)-((z+2+n+y+m|0)>>>2)|0;z=d[a+12>>0]|0;l=d[c+12>>0]|0;m=(d[b+11>>0]|0)-((y+2+m+z+l|0)>>>2)|0;y=d[a+13>>0]|0;k=d[c+13>>0]|0;l=(d[b+12>>0]|0)-((z+2+l+y+k|0)>>>2)|0;z=d[a+14>>0]|0;j=d[c+14>>0]|0;k=(d[b+13>>0]|0)-((y+2+k+z+j|0)>>>2)|0;y=d[a+15>>0]|0;i=d[c+15>>0]|0;j=(d[b+14>>0]|0)-((z+2+j+y+i|0)>>>2)|0;i=(d[b+15>>0]|0)-((y+2+i+(d[a+16>>0]|0)+(d[c+16>>0]|0)|0)>>>2)|0;g=g+1|0;h=((x|0)>-1?x:0-x|0)+h+((w|0)>-1?w:0-w|0)+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)|0;b=b+e|0;a=c}return h|0}function Cf(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;k=c+2|0;j=c+-2|0;l=c+4|0;a=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+6|0;a=(((e[k>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[m>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<4096?a:(a^-2147483648)>>31&4095)|0)>>>1;a=d+2|0;n=H((e[m>>1]|0)+(e[c>>1]|0)|0,-5)|0;o=c+8|0;n=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+n+(e[o>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:(n^-2147483648)>>31&4095)|0)>>>1;a=d+4|0;n=H((e[o>>1]|0)+(e[k>>1]|0)|0,-5)|0;j=c+10|0;n=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[j>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:(n^-2147483648)>>31&4095)|0)>>>1;a=d+6|0;n=H((e[j>>1]|0)+(e[l>>1]|0)|0,-5)|0;i=c+12|0;n=(((e[o>>1]|0)+(e[m>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+n+(e[i>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:(n^-2147483648)>>31&4095)|0)>>>1;a=d+8|0;n=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+14|0;n=(((e[j>>1]|0)+(e[o>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+n+(e[k>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:(n^-2147483648)>>31&4095)|0)>>>1;a=d+10|0;n=H((e[k>>1]|0)+(e[o>>1]|0)|0,-5)|0;l=c+16|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:(n^-2147483648)>>31&4095)|0)>>>1;a=d+12|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+18|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[o>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:(n^-2147483648)>>31&4095)|0)>>>1;a=d+14|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+20>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<4096?i:(i^-2147483648)>>31&4095)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function Df(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;k=c+2|0;j=c+-2|0;l=c+4|0;a=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+6|0;a=(((e[k>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[m>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<1024?a:(a^-2147483648)>>31&1023)|0)>>>1;a=d+2|0;n=H((e[m>>1]|0)+(e[c>>1]|0)|0,-5)|0;o=c+8|0;n=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+n+(e[o>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:(n^-2147483648)>>31&1023)|0)>>>1;a=d+4|0;n=H((e[o>>1]|0)+(e[k>>1]|0)|0,-5)|0;j=c+10|0;n=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[j>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:(n^-2147483648)>>31&1023)|0)>>>1;a=d+6|0;n=H((e[j>>1]|0)+(e[l>>1]|0)|0,-5)|0;i=c+12|0;n=(((e[o>>1]|0)+(e[m>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+n+(e[i>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:(n^-2147483648)>>31&1023)|0)>>>1;a=d+8|0;n=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+14|0;n=(((e[j>>1]|0)+(e[o>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+n+(e[k>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:(n^-2147483648)>>31&1023)|0)>>>1;a=d+10|0;n=H((e[k>>1]|0)+(e[o>>1]|0)|0,-5)|0;l=c+16|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:(n^-2147483648)>>31&1023)|0)>>>1;a=d+12|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+18|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[o>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:(n^-2147483648)>>31&1023)|0)>>>1;a=d+14|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+20>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<1024?i:(i^-2147483648)>>31&1023)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function Ef(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=Mb;Mb=Mb+16|0;l=p+8|0;o=p+4|0;m=p;g=c[a>>2]|0;c[l>>2]=0;c[o>>2]=0;c[m>>2]=0;if(!(e&64))i=Ln(g,b,0,e)|0;else i=0;if(!(e&4))h=aN(b)|0;else h=b;c[o>>2]=h;j=h;if(!(e&8))if(!h)f=0;else{f=aN(d)|0;c[m>>2]=f}else{c[m>>2]=d;f=d}if(!g){g=YQ(8)|0;c[a>>2]=g;if(!g)k=32;else{n=g;k=11}}else{n=g;k=11}a:do if((k|0)==11){do if((b|0)==0|(h|0)!=0){g=(f|0)!=0;if((d|0)==0|g){if(!i)if(g){g=n+4|0;b=MO(c[g>>2]|0,(c[n>>2]<<3)+8|0)|0;if(!b)break;c[g>>2]=b;k=23}else k=27;else{if(e&16|0){gV(h);gV(f);f=0;break a}g=c[i+4>>2]|0;if(!(e&32))gV(g);else c[l>>2]=g;gV(c[i>>2]|0);d=c[n+4>>2]|0;h=(c[n>>2]|0)+-1|0;c[n>>2]=h;h=d+(h<<3)|0;d=c[h+4>>2]|0;k=i;c[k>>2]=c[h>>2];c[k+4>>2]=d;if(!f)k=27;else k=23}if((k|0)==23){d=n+4|0;h=c[d>>2]|0;g=c[n>>2]|0;c[h+(g<<3)>>2]=j;f=c[m>>2]|0;c[h+(g<<3)+4>>2]=f;h=c[l>>2]|0;if((e&32|0)==0|(h|0)==0)f=g;else{g=hu(h)|0;g=g+1+(hu(f)|0)|0;b=YQ(g)|0;if(!b)break;xM(b,h,g)|0;hM(l);xM(b,f,g)|0;c[(c[d>>2]|0)+(c[n>>2]<<3)+4>>2]=b;hM(m);f=c[n>>2]|0}f=f+1|0;c[n>>2]=f}else if((k|0)==27){hM(o);f=c[n>>2]|0}if(f|0){f=0;break a}hM(n+4|0);hM(a);f=0;break a}else f=0}while(0);if(!(c[n>>2]|0)){hM(n+4|0);hM(a);k=32}else k=32}while(0);if((k|0)==32){gV(c[o>>2]|0);gV(f);f=-12}Mb=p;return f|0}function Ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[a+80>>2]=c[b+80>>2];c[a+68>>2]=c[b+68>>2];c[a+72>>2]=c[b+72>>2];h=b+352|0;c[a+352>>2]=c[h>>2];e=b+240|0;g=c[e+4>>2]|0;d=a+240|0;c[d>>2]=c[e>>2];c[d+4>>2]=g;c[a+76>>2]=c[b+76>>2];d=Ce(a,b,0)|0;a:do if((d|0)>=0){if(!(c[b+248>>2]|0)){d=Av(a,32)|0;if((d|0)<0)break;d=dx(a,b)|0;if((d|0)>=0)break;av(a);break}d=0;while(1){if(d>>>0>=8){f=11;break}e=c[b+248+(d<<2)>>2]|0;if(e|0?(g=$H(e)|0,c[a+248+(d<<2)>>2]=g,(g|0)==0):0){d=-12;break}d=d+1|0}b:do if((f|0)==11){e=b+280|0;c:do if(c[e>>2]|0){f=b+284|0;d=iO(4,c[f>>2]|0)|0;g=a+280|0;c[g>>2]=d;if(!d){d=-12;break b}c[a+284>>2]=c[f>>2];d=0;while(1){if((d|0)>=(c[f>>2]|0))break c;i=$H(c[(c[e>>2]|0)+(d<<2)>>2]|0)|0;c[(c[g>>2]|0)+(d<<2)>>2]=i;if(!(c[(c[g>>2]|0)+(d<<2)>>2]|0)){d=-12;break b}else d=d+1|0}}while(0);d=c[b+376>>2]|0;if(d|0?(i=$H(d)|0,c[a+376>>2]=i,(i|0)==0):0){d=-12;break}f=b+64|0;if((c[f>>2]|0)==(b|0))c[a+64>>2]=a;else{d=c[h>>2]|0;if(!d){d=-22;break}e=XP(d)|0;c[a+64>>2]=e;if(!e){d=-12;break}rk(e|0,c[f>>2]|0,d<<2|0)|0}c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2];d=a+32|0;i=b+32|0;c[d>>2]=c[i>>2];c[d+4>>2]=c[i+4>>2];c[d+8>>2]=c[i+8>>2];c[d+12>>2]=c[i+12>>2];c[d+16>>2]=c[i+16>>2];c[d+20>>2]=c[i+20>>2];c[d+24>>2]=c[i+24>>2];c[d+28>>2]=c[i+28>>2];d=0;break a}while(0);av(a)}while(0);return d|0}function Gf(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;i=a+144|0;g=oT(c[i>>2]|0)|0;if(!g){h=1;g=1}else{h=1<<(d[g+6>>0]|0);g=1<<(d[g+5>>0]|0)}switch(c[i>>2]|0){case 124:case 125:case 337:case 338:case 87:case 88:case 313:case 314:case 311:case 312:case 85:case 86:case 83:case 84:case 107:case 108:case 101:case 102:case 95:case 96:case 59:case 58:case 309:case 310:case 307:case 308:case 77:case 78:case 75:case 76:case 331:case 330:case 329:case 328:case 105:case 106:case 99:case 100:case 93:case 94:case 57:case 56:case 305:case 306:case 303:case 304:case 73:case 74:case 79:case 80:case 103:case 104:case 97:case 98:case 91:case 92:case 55:case 54:case 301:case 302:case 299:case 300:case 71:case 72:case 69:case 70:case 90:case 89:case 35:case 14:case 34:case 13:case 12:case 32:case 31:case 8:case 123:case 82:case 5:case 33:case 4:case 17:case 119:case 1:case 0:{h=32;g=16;l=14;break}case 18:case 315:case 7:{h=32;g=32;l=14;break}case 6:{i=c[a+48>>2]|0;if((i|0)==23){h=64;g=64;l=14}else l=15;break}case 46:{i=c[a+48>>2]|0;j=(i|0)==43;if((i|0)==40){g=8;i=40;l=13}else{h=j?4:h;g=j?4:g;l=15}break}case 22:case 19:case 11:{i=c[a+48>>2]|0;switch(i|0){case 44:case 50:{h=4;g=4;break}default:{}}switch(i|0){case 40:case 149:{g=8;l=13;break}default:l=15}break}case 3:{i=c[a+48>>2]|0;if((i&-2|0)==54){g=4;l=13}else l=15;break}case 2:{i=c[a+48>>2]|0;if((i|0)==44){g=4;i=44;l=13}else l=15;break}default:{i=c[a+48>>2]|0;l=15}}if((l|0)==13){k=g;h=g;j=(i|0)==137;g=8}else if((l|0)==14){i=c[a+48>>2]|0;j=(i|0)==137;l=16}else if((l|0)==15){j=(i|0)==137;if((g|0)>8)l=16;else{k=g;g=8}}if((l|0)==16)k=g;g=j?g:k;c[b>>2]=g+-1+(c[b>>2]|0)&0-g;g=h+-1+(c[e>>2]|0)&0-h;c[e>>2]=g;if((i|0)!=28?(c[a+792>>2]|0)==0:0)switch(i|0){case 91:case 92:case 93:case 107:{l=20;break}default:{}}else l=20;if((l|0)==20){c[e>>2]=g+2;e=c[b>>2]|0;c[b>>2]=(e|0)>32?e:32}g=0;while(1){if((g|0)==4)break;c[f+(g<<2)>>2]=8;g=g+1|0}return}function Hf(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=g^e;n=(e|0)>-1|(e|0)==-1&d>>>0>4294967295;j=QO(0,0,d|0,e|0)|0;k=M()|0;j=n?d:j;k=n?e:k;n=(g|0)>-1|(g|0)==-1&f>>>0>4294967295;l=QO(0,0,f|0,g|0)|0;m=M()|0;l=n?f:l;m=n?g:m;n=Ai(j,k,l,m)|0;o=M()|0;if((n|0)==0&(o|0)==0)m=g;else{d=pu(j|0,k|0,n|0,o|0)|0;e=M()|0;f=pu(l|0,m|0,n|0,o|0)|0;m=M()|0}s=(m|0)>(i|0)|(m|0)==(i|0)&f>>>0>h>>>0|((e|0)>(i|0)|(e|0)==(i|0)&d>>>0>h>>>0);l=s?1:d;t=0;k=s?0:f;u=1;j=s?f:0;f=s?m:0;while(1){if((j|0)==0&(f|0)==0){j=0;f=0;break}n=pu(d|0,e|0,j|0,f|0)|0;m=M()|0;o=((l|0)<0)<<31>>31;p=XJ(n|0,m|0,l|0,o|0)|0;g=((t|0)<0)<<31>>31;p=SO(p|0,M()|0,t|0,g|0)|0;y=M()|0;r=((k|0)<0)<<31>>31;q=XJ(n|0,m|0,k|0,r|0)|0;s=((u|0)<0)<<31>>31;q=SO(q|0,M()|0,u|0,s|0)|0;x=M()|0;if((y|0)>(i|0)|(y|0)==(i|0)&p>>>0>h>>>0|((x|0)>(i|0)|(x|0)==(i|0)&q>>>0>h>>>0)){v=6;break}s=XJ(n|0,m|0,j|0,f|0)|0;s=QO(d|0,e|0,s|0,M()|0)|0;x=f;y=j;u=k;t=l;l=p;k=q;j=s;f=M()|0;e=x;d=y}if((v|0)==6){if(l){n=QO(h|0,i|0,t|0,g|0)|0;n=pu(n|0,M()|0,l|0,o|0)|0;m=M()|0}if(k){v=QO(h|0,i|0,u|0,s|0)|0;v=pu(v|0,M()|0,k|0,r|0)|0;y=M()|0;x=m>>>0>y>>>0|(m|0)==(y|0)&n>>>0>v>>>0;n=x?v:n;m=x?y:m}x=cN(k|0,r|0,1)|0;x=XJ(x|0,M()|0,n|0,m|0)|0;x=SO(x|0,M()|0,u|0,s|0)|0;x=XJ(x|0,M()|0,j|0,f|0)|0;i=M()|0;y=XJ(d|0,e|0,k|0,r|0)|0;v=M()|0;if(i>>>0>v>>>0|(i|0)==(v|0)&x>>>0>y>>>0){l=(H(l,n)|0)+t|0;k=(H(k,n)|0)+u|0}}c[a>>2]=(w|0)<0?0-l|0:l;c[b>>2]=k;return (j|0)==0&(f|0)==0&1|0}function If(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;k=c+2|0;j=c+-2|0;l=c+4|0;a=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+6|0;a=(((e[k>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[m>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<512?a:(a^-2147483648)>>31&511)|0)>>>1;a=d+2|0;n=H((e[m>>1]|0)+(e[c>>1]|0)|0,-5)|0;o=c+8|0;n=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+n+(e[o>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:(n^-2147483648)>>31&511)|0)>>>1;a=d+4|0;n=H((e[o>>1]|0)+(e[k>>1]|0)|0,-5)|0;j=c+10|0;n=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[j>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:(n^-2147483648)>>31&511)|0)>>>1;a=d+6|0;n=H((e[j>>1]|0)+(e[l>>1]|0)|0,-5)|0;i=c+12|0;n=(((e[o>>1]|0)+(e[m>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+n+(e[i>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:(n^-2147483648)>>31&511)|0)>>>1;a=d+8|0;n=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+14|0;n=(((e[j>>1]|0)+(e[o>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+n+(e[k>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:(n^-2147483648)>>31&511)|0)>>>1;a=d+10|0;n=H((e[k>>1]|0)+(e[o>>1]|0)|0,-5)|0;l=c+16|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:(n^-2147483648)>>31&511)|0)>>>1;a=d+12|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+18|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[o>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:(n^-2147483648)>>31&511)|0)>>>1;a=d+14|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+20>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<512?i:(i^-2147483648)>>31&511)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function Jf(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0;w=d>>1;x=f>>1;y=H(x,-2)|0;z=0-x|0;u=f&-2;v=x*3|0;n=x<<2;o=x*5|0;p=x*6|0;q=x*7|0;r=x<<3;s=x*9|0;t=x*10|0;h=d&-2;i=w*3|0;j=w<<2;k=w*5|0;l=w*6|0;m=w*7|0;g=0;d=a;f=c;while(1){if((g|0)==8)break;E=e[f+(z<<1)>>1]|0;N=e[f>>1]|0;M=e[f+(x<<1)>>1]|0;L=e[f+(u<<1)>>1]|0;K=e[f+(v<<1)>>1]|0;I=e[f+(n<<1)>>1]|0;F=e[f+(o<<1)>>1]|0;a=e[f+(p<<1)>>1]|0;B=e[f+(q<<1)>>1]|0;C=e[f+(r<<1)>>1]|0;A=e[f+(s<<1)>>1]|0;D=e[f+(t<<1)>>1]|0;J=K+16|0;c=J+(e[f+(y<<1)>>1]|0)+((M+N|0)*20|0)+(H(L+E|0,-5)|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(c>>>0<16384?c:(c^-2147483648)>>31&16383)|0)>>>1;c=d+(w<<1)|0;G=I+16|0;E=G+E+((L+M|0)*20|0)+(H(K+N|0,-5)|0)>>5;b[c>>1]=((E>>>0<16384?E:(E^-2147483648)>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=d+(h<<1)|0;E=F+16|0;N=E+N+((K+L|0)*20|0)+(H(I+M|0,-5)|0)>>5;b[c>>1]=((N>>>0<16384?N:(N^-2147483648)>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=d+(i<<1)|0;M=M+16+a+((I+K|0)*20|0)+(H(F+L|0,-5)|0)>>5;b[c>>1]=((M>>>0<16384?M:(M^-2147483648)>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=d+(j<<1)|0;K=L+16+B+((F+I|0)*20|0)+(H(a+K|0,-5)|0)>>5;b[c>>1]=((K>>>0<16384?K:(K^-2147483648)>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=d+(k<<1)|0;I=J+C+((a+F|0)*20|0)+(H(B+I|0,-5)|0)>>5;b[c>>1]=((I>>>0<16384?I:(I^-2147483648)>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=d+(l<<1)|0;F=G+A+((B+a|0)*20|0)+(H(C+F|0,-5)|0)>>5;b[c>>1]=((F>>>0<16384?F:(F^-2147483648)>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=d+(m<<1)|0;a=E+D+((C+B|0)*20|0)+(H(A+a|0,-5)|0)>>5;b[c>>1]=((a>>>0<16384?a:(a^-2147483648)>>31&16383)+1+(e[c>>1]|0)|0)>>>1;g=g+1|0;d=d+2|0;f=f+2|0}return}function Kf(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=Mb;Mb=Mb+16|0;v=A;x=A+4|0;y=1<<f;a:do if((f|0)<=30){z=it(e,y,i&4)|0;if((z|0)<0)j=z;else{s=e+4|0;c[x>>2]=(c[s>>2]|0)+(z<<2);t=32-f|0;u=(i&2|0)==0;j=0;b:while(1){if((j|0)>=(g|0))break;r=h+(j<<3)|0;l=a[r>>0]|0;p=l&255;k=h+(j<<3)+4|0;m=c[k>>2]|0;q=b[h+(j<<3)+2>>1]|0;if((p|0)>(f|0)){q=p-f|0;l=m>>>t;a[r>>0]=q;c[k>>2]=m<<f;k=j;while(1){k=k+1|0;if((k|0)>=(g|0))break;m=h+(k<<3)|0;n=(d[m>>0]|0)-f|0;if((n|0)<1)break;o=h+(k<<3)+4|0;p=c[o>>2]|0;if((p>>>t|0)!=(l|0))break;a[m>>0]=n;c[o>>2]=p<<f;q=(q|0)>(n|0)?q:n}m=(q|0)>(f|0)?f:q;if(!u)l=(d[148160+(l>>>8&255)>>0]<<16|d[148160+(l&255)>>0]<<24|d[148160+(l>>>16&255)>>0]<<8|d[148160+(l>>>24)>>0])>>>t;b[(c[x>>2]|0)+(l<<2)+2>>1]=0-m;j=Kf(e,m,k-j|0,r,i)|0;if((j|0)<0)break a;c[x>>2]=(c[s>>2]|0)+(z<<2);b[(c[x>>2]|0)+(l<<2)>>1]=j;j=k}else{o=1<<f-p;if(u){n=1;k=m>>>t}else{n=1<<p;k=d[148160+(m>>>8&255)>>0]<<16|d[148160+(m&255)>>0]<<24|d[148160+(m>>>16&255)>>0]<<8|d[148160+(m>>>24)>>0]}m=l&255;l=0;while(1){if((l|0)>=(o|0))break;r=b[(c[x>>2]|0)+(k<<2)+2>>1]|0;if(!(r<<16>>16==0|(r<<16>>16|0)==(p|0))){w=12;break b}b[(c[x>>2]|0)+(k<<2)+2>>1]=m;b[(c[x>>2]|0)+(k<<2)>>1]=q;l=l+1|0;k=k+n|0}j=j+1|0}}if((w|0)==12){Xw(0,16,191642,v);j=-1094995529;break}j=0;while(1){if((j|0)>=(y|0)){j=z;break a}if(!(b[(c[x>>2]|0)+(j<<2)+2>>1]|0))b[(c[x>>2]|0)+(j<<2)>>1]=-1;j=j+1|0}}}else j=-1;while(0);Mb=A;return j|0}function Lf(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0;w=d>>1;x=f>>1;y=H(x,-2)|0;z=0-x|0;u=f&-2;v=x*3|0;n=x<<2;o=x*5|0;p=x*6|0;q=x*7|0;r=x<<3;s=x*9|0;t=x*10|0;h=d&-2;i=w*3|0;j=w<<2;k=w*5|0;l=w*6|0;m=w*7|0;g=0;d=a;f=c;while(1){if((g|0)==8)break;E=e[f+(z<<1)>>1]|0;N=e[f>>1]|0;M=e[f+(x<<1)>>1]|0;L=e[f+(u<<1)>>1]|0;K=e[f+(v<<1)>>1]|0;I=e[f+(n<<1)>>1]|0;F=e[f+(o<<1)>>1]|0;a=e[f+(p<<1)>>1]|0;B=e[f+(q<<1)>>1]|0;C=e[f+(r<<1)>>1]|0;A=e[f+(s<<1)>>1]|0;D=e[f+(t<<1)>>1]|0;J=K+16|0;c=J+(e[f+(y<<1)>>1]|0)+((M+N|0)*20|0)+(H(L+E|0,-5)|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(c>>>0<4096?c:(c^-2147483648)>>31&4095)|0)>>>1;c=d+(w<<1)|0;G=I+16|0;E=G+E+((L+M|0)*20|0)+(H(K+N|0,-5)|0)>>5;b[c>>1]=((E>>>0<4096?E:(E^-2147483648)>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=d+(h<<1)|0;E=F+16|0;N=E+N+((K+L|0)*20|0)+(H(I+M|0,-5)|0)>>5;b[c>>1]=((N>>>0<4096?N:(N^-2147483648)>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=d+(i<<1)|0;M=M+16+a+((I+K|0)*20|0)+(H(F+L|0,-5)|0)>>5;b[c>>1]=((M>>>0<4096?M:(M^-2147483648)>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=d+(j<<1)|0;K=L+16+B+((F+I|0)*20|0)+(H(a+K|0,-5)|0)>>5;b[c>>1]=((K>>>0<4096?K:(K^-2147483648)>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=d+(k<<1)|0;I=J+C+((a+F|0)*20|0)+(H(B+I|0,-5)|0)>>5;b[c>>1]=((I>>>0<4096?I:(I^-2147483648)>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=d+(l<<1)|0;F=G+A+((B+a|0)*20|0)+(H(C+F|0,-5)|0)>>5;b[c>>1]=((F>>>0<4096?F:(F^-2147483648)>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=d+(m<<1)|0;a=E+D+((C+B|0)*20|0)+(H(A+a|0,-5)|0)>>5;b[c>>1]=((a>>>0<4096?a:(a^-2147483648)>>31&4095)+1+(e[c>>1]|0)|0)>>>1;g=g+1|0;d=d+2|0;f=f+2|0}return}function Mf(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0;w=d>>1;x=f>>1;y=H(x,-2)|0;z=0-x|0;u=f&-2;v=x*3|0;n=x<<2;o=x*5|0;p=x*6|0;q=x*7|0;r=x<<3;s=x*9|0;t=x*10|0;h=d&-2;i=w*3|0;j=w<<2;k=w*5|0;l=w*6|0;m=w*7|0;g=0;d=a;f=c;while(1){if((g|0)==8)break;E=e[f+(z<<1)>>1]|0;N=e[f>>1]|0;M=e[f+(x<<1)>>1]|0;L=e[f+(u<<1)>>1]|0;K=e[f+(v<<1)>>1]|0;I=e[f+(n<<1)>>1]|0;F=e[f+(o<<1)>>1]|0;a=e[f+(p<<1)>>1]|0;B=e[f+(q<<1)>>1]|0;C=e[f+(r<<1)>>1]|0;A=e[f+(s<<1)>>1]|0;D=e[f+(t<<1)>>1]|0;J=K+16|0;c=J+(e[f+(y<<1)>>1]|0)+((M+N|0)*20|0)+(H(L+E|0,-5)|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(c>>>0<1024?c:(c^-2147483648)>>31&1023)|0)>>>1;c=d+(w<<1)|0;G=I+16|0;E=G+E+((L+M|0)*20|0)+(H(K+N|0,-5)|0)>>5;b[c>>1]=((E>>>0<1024?E:(E^-2147483648)>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=d+(h<<1)|0;E=F+16|0;N=E+N+((K+L|0)*20|0)+(H(I+M|0,-5)|0)>>5;b[c>>1]=((N>>>0<1024?N:(N^-2147483648)>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=d+(i<<1)|0;M=M+16+a+((I+K|0)*20|0)+(H(F+L|0,-5)|0)>>5;b[c>>1]=((M>>>0<1024?M:(M^-2147483648)>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=d+(j<<1)|0;K=L+16+B+((F+I|0)*20|0)+(H(a+K|0,-5)|0)>>5;b[c>>1]=((K>>>0<1024?K:(K^-2147483648)>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=d+(k<<1)|0;I=J+C+((a+F|0)*20|0)+(H(B+I|0,-5)|0)>>5;b[c>>1]=((I>>>0<1024?I:(I^-2147483648)>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=d+(l<<1)|0;F=G+A+((B+a|0)*20|0)+(H(C+F|0,-5)|0)>>5;b[c>>1]=((F>>>0<1024?F:(F^-2147483648)>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=d+(m<<1)|0;a=E+D+((C+B|0)*20|0)+(H(A+a|0,-5)|0)>>5;b[c>>1]=((a>>>0<1024?a:(a^-2147483648)>>31&1023)+1+(e[c>>1]|0)|0)>>>1;g=g+1|0;d=d+2|0;f=f+2|0}return}function Nf(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=Mb;Mb=Mb+48|0;m=n+32|0;l=n+24|0;j=n+16|0;h=n+8|0;e=n;k=n+36|0;c[k>>2]=0;g=Qu(b,2,k)|0;a:do if(!g)b=0;else{b:do if(!(c[(c[a+12>>2]|0)+16>>2]&16384)){Xw(a,16,167403,e);b=-22;e=a}else{f=c[k>>2]|0;c:do if((f|0)>=4){e=g+4|0;i=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;b=f+-4|0;c[k>>2]=b;do if(i&1){if((f|0)<8)break c;b=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if((b|0)<1){Xw(a,16,167496,h);b=-1094995529;e=a;break b}else{c[a+420>>2]=b;b=f+-8|0;c[k>>2]=b;e=g+8|0;break}}while(0);if(i&2){if((b|0)<8)break;g=e;f=g;g=g+4|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;h=a+448|0;c[h>>2]=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;c[h+4>>2]=g;b=b+-8|0;c[k>>2]=b;e=e+8|0}do if(i&4){if((b|0)<4)break c;f=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if((f|0)<1){Xw(a,16,167518,j);b=-1094995529;e=a;break b}else{c[a+416>>2]=f;b=b+-4|0;c[k>>2]=b;e=e+4|0;break}}while(0);if(!(i&8)){b=0;break a}if((b|0)>=8){l=e+4|0;j=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;c[a+124>>2]=j;l=d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24;c[a+128>>2]=l;c[k>>2]=b+-8;b=Tx(a,j,l)|0;if((b|0)>=0){b=0;break a}e=a;break b}}while(0);Xw(a,16,167538,l);b=-1094995529;e=a}while(0);Xw(e,16,167573,m);b=(c[a+688>>2]&8|0)==0?0:b}while(0);Mb=n;return b|0}function Of(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0;w=d>>1;x=f>>1;y=H(x,-2)|0;z=0-x|0;u=f&-2;v=x*3|0;n=x<<2;o=x*5|0;p=x*6|0;q=x*7|0;r=x<<3;s=x*9|0;t=x*10|0;h=d&-2;i=w*3|0;j=w<<2;k=w*5|0;l=w*6|0;m=w*7|0;g=0;d=a;f=c;while(1){if((g|0)==8)break;E=e[f+(z<<1)>>1]|0;N=e[f>>1]|0;M=e[f+(x<<1)>>1]|0;L=e[f+(u<<1)>>1]|0;K=e[f+(v<<1)>>1]|0;I=e[f+(n<<1)>>1]|0;F=e[f+(o<<1)>>1]|0;a=e[f+(p<<1)>>1]|0;B=e[f+(q<<1)>>1]|0;C=e[f+(r<<1)>>1]|0;A=e[f+(s<<1)>>1]|0;D=e[f+(t<<1)>>1]|0;J=K+16|0;c=J+(e[f+(y<<1)>>1]|0)+((M+N|0)*20|0)+(H(L+E|0,-5)|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(c>>>0<512?c:(c^-2147483648)>>31&511)|0)>>>1;c=d+(w<<1)|0;G=I+16|0;E=G+E+((L+M|0)*20|0)+(H(K+N|0,-5)|0)>>5;b[c>>1]=((E>>>0<512?E:(E^-2147483648)>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=d+(h<<1)|0;E=F+16|0;N=E+N+((K+L|0)*20|0)+(H(I+M|0,-5)|0)>>5;b[c>>1]=((N>>>0<512?N:(N^-2147483648)>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=d+(i<<1)|0;M=M+16+a+((I+K|0)*20|0)+(H(F+L|0,-5)|0)>>5;b[c>>1]=((M>>>0<512?M:(M^-2147483648)>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=d+(j<<1)|0;K=L+16+B+((F+I|0)*20|0)+(H(a+K|0,-5)|0)>>5;b[c>>1]=((K>>>0<512?K:(K^-2147483648)>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=d+(k<<1)|0;I=J+C+((a+F|0)*20|0)+(H(B+I|0,-5)|0)>>5;b[c>>1]=((I>>>0<512?I:(I^-2147483648)>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=d+(l<<1)|0;F=G+A+((B+a|0)*20|0)+(H(C+F|0,-5)|0)>>5;b[c>>1]=((F>>>0<512?F:(F^-2147483648)>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=d+(m<<1)|0;a=E+D+((C+B|0)*20|0)+(H(A+a|0,-5)|0)>>5;b[c>>1]=((a>>>0<512?a:(a^-2147483648)>>31&511)+1+(e[c>>1]|0)|0)>>>1;g=g+1|0;d=d+2|0;f=f+2|0}return}function Pf(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=0;while(1){if((g|0)==8)break;k=c+1|0;j=c+-1|0;l=c+2|0;h=H((d[l>>0]|0)+(d[j>>0]|0)|0,-5)|0;m=c+3|0;h=(((d[k>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+h+(d[m>>0]|0)>>5;a[b>>0]=((d[b>>0]|0)+1+((h>>>0>255?(h^-2147483648)>>31:h)&255)|0)>>>1;h=b+1|0;n=H((d[m>>0]|0)+(d[c>>0]|0)|0,-5)|0;o=c+4|0;n=(((d[l>>0]|0)+(d[k>>0]|0)|0)*20|0)+16+(d[j>>0]|0)+n+(d[o>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+2|0;n=H((d[o>>0]|0)+(d[k>>0]|0)|0,-5)|0;j=c+5|0;n=(((d[m>>0]|0)+(d[l>>0]|0)|0)*20|0)+16+(d[c>>0]|0)+n+(d[j>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+3|0;n=H((d[j>>0]|0)+(d[l>>0]|0)|0,-5)|0;i=c+6|0;n=(((d[o>>0]|0)+(d[m>>0]|0)|0)*20|0)+16+(d[k>>0]|0)+n+(d[i>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+4|0;n=H((d[i>>0]|0)+(d[m>>0]|0)|0,-5)|0;k=c+7|0;n=(((d[j>>0]|0)+(d[o>>0]|0)|0)*20|0)+16+(d[l>>0]|0)+n+(d[k>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+5|0;n=H((d[k>>0]|0)+(d[o>>0]|0)|0,-5)|0;l=c+8|0;n=(((d[i>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[m>>0]|0)+n+(d[l>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+6|0;n=H((d[l>>0]|0)+(d[j>>0]|0)|0,-5)|0;m=c+9|0;n=(((d[k>>0]|0)+(d[i>>0]|0)|0)*20|0)+16+(d[o>>0]|0)+n+(d[m>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+7|0;i=H((d[m>>0]|0)+(d[i>>0]|0)|0,-5)|0;i=(((d[l>>0]|0)+(d[k>>0]|0)|0)*20|0)+16+(d[j>>0]|0)+i+(d[c+10>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((i>>>0>255?(i^-2147483648)>>31:i)&255)|0)>>>1;c=c+f|0;b=b+e|0;g=g+1|0}return}function Qf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;p=b+8|0;q=d+8|0;r=b+12|0;s=d+12|0;t=b+16|0;u=d+16|0;g=b+24|0;h=d+24|0;i=b+4|0;j=d+36|0;k=b+20|0;l=d+52|0;m=b+28|0;n=d+60|0;o=a+4|0;f=0;while(1){if((f|0)>=(e|0))break;C=c[(c[p>>2]|0)+(f<<2)>>2]|0;B=c[q>>2]|0;C=XJ(B|0,((B|0)<0)<<31>>31|0,C|0,((C|0)<0)<<31>>31|0)|0;B=M()|0;v=c[(c[r>>2]|0)+(f<<2)>>2]|0;w=c[s>>2]|0;v=XJ(w|0,((w|0)<0)<<31>>31|0,v|0,((v|0)<0)<<31>>31|0)|0;B=SO(v|0,M()|0,C|0,B|0)|0;C=M()|0;v=c[(c[b>>2]|0)+(f<<2)>>2]|0;w=c[d>>2]|0;v=XJ(w|0,((w|0)<0)<<31>>31|0,v|0,((v|0)<0)<<31>>31|0)|0;w=M()|0;x=c[(c[t>>2]|0)+(f<<2)>>2]|0;y=c[u>>2]|0;x=XJ(y|0,((y|0)<0)<<31>>31|0,x|0,((x|0)<0)<<31>>31|0)|0;y=M()|0;z=c[(c[g>>2]|0)+(f<<2)>>2]|0;A=c[h>>2]|0;z=XJ(A|0,((A|0)<0)<<31>>31|0,z|0,((z|0)<0)<<31>>31|0)|0;A=M()|0;C=SO(B|0,C|0,16384,0)|0;B=M()|0;w=SO(C|0,B|0,v|0,w|0)|0;y=SO(w|0,M()|0,x|0,y|0)|0;A=SO(y|0,M()|0,z|0,A|0)|0;A=oN(A|0,M()|0,15)|0;M()|0;c[(c[a>>2]|0)+(f<<2)>>2]=A;A=c[(c[i>>2]|0)+(f<<2)>>2]|0;z=c[j>>2]|0;A=XJ(z|0,((z|0)<0)<<31>>31|0,A|0,((A|0)<0)<<31>>31|0)|0;z=M()|0;y=c[(c[k>>2]|0)+(f<<2)>>2]|0;x=c[l>>2]|0;y=XJ(x|0,((x|0)<0)<<31>>31|0,y|0,((y|0)<0)<<31>>31|0)|0;x=M()|0;w=c[(c[m>>2]|0)+(f<<2)>>2]|0;v=c[n>>2]|0;w=XJ(v|0,((v|0)<0)<<31>>31|0,w|0,((w|0)<0)<<31>>31|0)|0;v=M()|0;z=SO(C|0,B|0,A|0,z|0)|0;x=SO(z|0,M()|0,y|0,x|0)|0;v=SO(x|0,M()|0,w|0,v|0)|0;v=oN(v|0,M()|0,15)|0;M()|0;c[(c[o>>2]|0)+(f<<2)>>2]=v;f=f+1|0}return}function Rf(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=Mb;Mb=Mb+32|0;t=v+24|0;n=v+16|0;m=v+8|0;g=v;f=e+24|0;k=d+26992|0;p=c[k>>2]|0;r=d+27e3|0;u=c[r>>2]|0;l=H(u,p)|0;s=d+26996|0;o=H(c[s>>2]<<1|1,p<<1|1)|0;p=H(u,p+1|0)|0;u=o+(p<<1)|0;a[e+28344>>0]=-2;a[e+28336>>0]=-2;a[e+28328>>0]=-2;a[e+28304>>0]=-2;a[e+28296>>0]=-2;a[e+28288>>0]=-2;a:do if((c[d+25628>>2]|0)==(e|0)){q=d+4|0;c[f>>2]=c[q>>2];c[e+824>>2]=1;c[e+828>>2]=d;c[e+812>>2]=1;i=d+27004|0;j=c[i>>2]|0;c[e+576>>2]=j;h=c[s>>2]|0;c[e+580>>2]=h;c[e+584>>2]=c[k>>2];c[e+588>>2]=c[r>>2];c[e+592>>2]=h<<1|1;j=YQ((j<<2)+4|0)|0;c[e+572>>2]=j;if((j|0)==0?(c[i>>2]&1073741823|0)!=1073741823:0){Xw(c[q>>2]|0,16,171981,g);d=-12;break}g=c[k>>2]|0;d=0;while(1){if((d|0)>=(g|0))break;h=c[s>>2]|0;i=H(h,d)|0;f=0;while(1){if((f|0)>=(h|0))break;w=(H(c[r>>2]|0,d)|0)+f|0;c[j+(i+f<<2)>>2]=w;f=f+1|0}d=d+1|0}h=H(c[r>>2]|0,g+-1|0)|0;i=c[s>>2]|0;w=j+((H(i,g)|0)<<2)|0;c[w>>2]=h+i;w=YQ(l)|0;c[e+604>>2]=w;if(!((l|0)==0|(w|0)!=0)){Xw(c[q>>2]|0,16,171981,m);d=-12;break}w=jx(H((c[k>>2]|0)*17|0,c[r>>2]|0)|0)|0;c[e+608>>2]=w;if((w|0)==0?H((c[k>>2]|0)*17|0,c[r>>2]|0)|0:0){Xw(c[q>>2]|0,16,171981,n);d=-12;break}f=YQ(u<<1)|0;c[e+27784>>2]=f;if(!f){Xw(c[q>>2]|0,16,171981,t);d=-12;break}c[e+612>>2]=f+(c[s>>2]<<1<<1)+4;d=f+(o<<1)+(c[r>>2]<<1)+2|0;c[e+616>>2]=d;c[e+620>>2]=d+(p<<1);d=0;while(1){if((d|0)>=(u|0)){d=0;break a}b[f+(d<<1)>>1]=1024;d=d+1|0}}else{Wp(f|0,0,808)|0;d=0}while(0);Mb=v;return d|0}function Sf(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=Mb;Mb=Mb+256|0;g=h;a=0;while(1){if((a|0)==8)break;i=H(a,f)|0;p=d[b+i>>0]|0;o=d[b+(i+1)>>0]|0;n=o+p|0;e=a<<3;o=p-o|0;p=d[b+(i+2)>>0]|0;j=d[b+(i+3)>>0]|0;l=j+p|0;j=p-j|0;p=d[b+(i+4)>>0]|0;q=d[b+(i+5)>>0]|0;m=q+p|0;q=p-q|0;p=d[b+(i+6)>>0]|0;i=d[b+(i+7)>>0]|0;k=i+p|0;i=p-i|0;p=l+n|0;l=n-l|0;n=j+o|0;j=o-j|0;o=k+m|0;k=m-k|0;m=i+q|0;i=q-i|0;c[g+(e<<2)>>2]=o+p;c[g+((e|4)<<2)>>2]=p-o;c[g+((e|1)<<2)>>2]=m+n;c[g+((e|5)<<2)>>2]=n-m;c[g+((e|2)<<2)>>2]=k+l;c[g+((e|6)<<2)>>2]=l-k;c[g+((e|3)<<2)>>2]=i+j;c[g+((e|7)<<2)>>2]=j-i;a=a+1|0}a=0;e=0;while(1){if((e|0)==8)break;w=g+(e<<2)|0;m=c[w>>2]|0;u=g+(e+8<<2)|0;t=c[u>>2]|0;v=t+m|0;t=m-t|0;m=g+(e+16<<2)|0;s=c[m>>2]|0;n=g+(e+24<<2)|0;i=c[n>>2]|0;k=i+s|0;i=s-i|0;s=g+(e+32<<2)|0;p=c[s>>2]|0;b=g+(e+40<<2)|0;f=c[b>>2]|0;r=f+p|0;f=p-f|0;p=g+(e+48<<2)|0;q=c[p>>2]|0;o=g+(e+56<<2)|0;j=c[o>>2]|0;l=j+q|0;j=q-j|0;q=k+v|0;c[w>>2]=q;k=v-k|0;c[m>>2]=k;m=i+t|0;c[u>>2]=m;i=t-i|0;c[n>>2]=i;n=l+r|0;c[s>>2]=n;l=r-l|0;c[p>>2]=l;p=j+f|0;c[b>>2]=p;j=f-j|0;c[o>>2]=j;o=n+q|0;n=q-n|0;q=p+m|0;p=m-p|0;m=l+k|0;l=k-l|0;k=j+i|0;j=i-j|0;a=((j|0)>-1?j:0-j|0)+a+((k|0)>-1?k:0-k|0)+((l|0)>-1?l:0-l|0)+((m|0)>-1?m:0-m|0)+((n|0)>-1?n:0-n|0)+((o|0)>-1?o:0-o|0)+((p|0)>-1?p:0-p|0)+((q|0)>-1?q:0-q|0)|0;e=e+1|0}w=(c[g+128>>2]|0)+(c[g>>2]|0)|0;Mb=h;return a-((w|0)>-1?w:0-w|0)|0}function Tf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Mb;Mb=Mb+20816|0;r=s+16|0;k=s+8|0;j=s;o=s+40|0;i=s+32|0;p=s+24|0;q=c[a+32>>2]&3;n=c[a>>2]|0;g=n+1200|0;if(c[(c[g>>2]|0)+60>>2]|0)dq(b)|0;l=(q|0)==3;if(l)zN(b)|0;m=n+1644|0;a:do if((Qn(i,p,b,c[g>>2]|0,q,c[m>>2]|0,d)|0)>=0){if((q|0)!=1){f=0;while(1){if((f|0)>=(c[i>>2]|0))break;b:do if(zN(b)|0){h=p+(f<<2)|0;e=0;c:while(1){a=MD(b)|0;if(a>>>0<3){LG(b)|0;if((e|0)<(c[h>>2]|0))a=0;else{c[k>>2]=e;Xw(d,16,169290,k);a=1}}else if((a|0)==3)a=5;else{c[j>>2]=a;Xw(d,16,169251,j);a=1}switch(a&7){case 5:break b;case 0:break;default:break c}e=e+1|0}if(a|0){a=-1094995529;break a}}while(0);f=f+1|0}a=c[g>>2]|0;if((q|0)==2&(c[a+28>>2]|0)!=0)e=23;else e=22}else{a=c[g>>2]|0;e=22}if((e|0)==22?l&(c[a+32>>2]|0)==1:0)e=23;if((e|0)==23)Be(b,c[n+1204>>2]|0,p,q,o,c[m>>2]|0,d)|0;if(zN(b)|0){e=0;d:while(1){if(e>>>0>=66){a=0;e=35;break}a=MD(b)|0;if(a>>>0>6){e=28;break}switch(a|0){case 5:{a=1;break a}case 0:{e=35;break d}default:{}}if((a|2|0)==3)LG(b)|0;switch(a|0){case 2:case 3:case 4:case 6:{MD(b)|0;break}default:{}}e=e+1|0}if((e|0)==28){c[r>>2]=a;Xw(d,16,198686,r);a=-1094995529;break}else if((e|0)==35)break}else a=0}else a=-1094995529;while(0);Mb=s;return a|0}function Uf(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=Mb;Mb=Mb+16|0;q=u+4|0;r=u;o=u+8|0;c[q>>2]=g;c[r>>2]=h;s=c[a>>2]|0;p=s+84|0;j=s+88|0;k=s+48|0;l=s+96|0;m=s+44|0;n=s+4|0;i=0;g=c[p>>2]|0;a:while(1){if((g|0)>(h|0)){g=-100;break}if(g|0?(c[l>>2]|0)==0:0){t=6;break}while(1){if((g|0)>=(h|0)){g=-100;break a}v=j;v=cN(c[v>>2]|0,c[v+4>>2]|0,8)|0;h=M()|0;v=v|(d[(c[q>>2]|0)+g>>0]|0);w=j;c[w>>2]=v;c[w+4>>2]=h;h=_b[c[k>>2]&63](v,h,s,l,o)|0;if(h|0)break;g=g+1|0;h=c[r>>2]|0}if((h|0)<1){g=-100;break}w=j;c[w>>2]=0;c[w+4>>2]=0;g=g+1-(c[m>>2]|0)|0;c[p>>2]=h;if(c[o>>2]|0?((c[n>>2]|0)+g|0)>=1:0){i=1;break}g=g+h|0;c[p>>2]=g;i=1;h=c[r>>2]|0}if((t|0)==6)c[p>>2]=0;if((Rg(s,g,q,r)|0)>=0){c[e>>2]=c[q>>2];c[f>>2]=c[r>>2];h=c[s+100>>2]|0;if(h|0)c[b+48>>2]=h;if(i){if((c[b+48>>2]|0)!=86018){c[b+416>>2]=c[s+56>>2];h=c[s+52>>2]|0;do if((h|0)>1){j=b+456|0;i=c[j>>2]|0;j=c[j+4>>2]|0;if((i|0)==4&(j|0)==0){c[b+420>>2]=1;h=4;i=0;break}if((h|0)>2&((i|0)==3&(j|0)==0)){c[b+420>>2]=2;h=3;i=0}else t=25}else t=25;while(0);if((t|0)==25){c[b+420>>2]=h;i=s+72|0;h=c[i>>2]|0;i=c[i+4>>2]|0}w=b+448|0;c[w>>2]=h;c[w+4>>2]=i;c[a+304>>2]=c[s+64>>2];c[b+464>>2]=c[s+80>>2]}v=c[s+60>>2]|0;w=b+72|0;c[w>>2]=v;c[w+4>>2]=((v|0)<0)<<31>>31}}else{w=c[p>>2]|0;g=c[r>>2]|0;c[p>>2]=w-((w|0)>(g|0)?g:w);c[e>>2]=0;c[f>>2]=0}Mb=u;return g|0}function Vf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=Mb;Mb=Mb+16|0;l=n;c[l>>2]=b;g=e+8|0;h=e+4|0;i=e+20|0;j=e+16|0;k=e+12|0;b=d;a:while(1){f=b+1|0;d=a[b>>0]|0;b:do switch(d<<24>>24){case 0:{m=29;break a}case 37:{b=b+2|0;d=a[f>>0]|0;switch(d<<24>>24|0){case 74:case 72:{d=Kw(l,0,d<<24>>24==72?23:2147483647,2)|0;if((d|0)==-1){b=0;break a}c[g>>2]=d;break b}case 77:{d=Kw(l,0,59,2)|0;if((d|0)==-1){b=0;break a}c[h>>2]=d;break b}case 83:{d=Kw(l,0,59,2)|0;if((d|0)==-1){b=0;break a}c[e>>2]=d;break b}case 89:{d=Kw(l,0,9999,4)|0;if((d|0)==-1){b=0;break a}c[i>>2]=d+-1900;break b}case 109:{d=Kw(l,1,12,2)|0;if((d|0)==-1){b=0;break a}c[j>>2]=d+-1;break b}case 100:{d=Kw(l,1,31,2)|0;if((d|0)==-1){b=0;break a}c[k>>2]=d;break b}case 84:{f=Vf(c[l>>2]|0,205874,e)|0;c[l>>2]=f;if(!f){b=0;break a}else break b}case 104:case 66:case 98:{d=Uv(l)|0;if((d|0)==-1){b=0;break a}c[j>>2]=d;break b}case 37:{f=c[l>>2]|0;c[l>>2]=f+1;if((a[f>>0]|0)==37)break b;else{b=0;break a}}default:{b=0;break a}}}default:{o=(LO(d<<24>>24)|0)==0;b=c[l>>2]|0;if(o){if((a[b>>0]|0)!=d<<24>>24){b=0;break a}c[l>>2]=b+1;b=f;break b}while(1){d=a[b>>0]|0;if(!(d<<24>>24))break;if(!(LO(d<<24>>24)|0))break;b=b+1|0}c[l>>2]=b;b=f}}while(0)}if((m|0)==29)b=c[l>>2]|0;Mb=n;return b|0}function Wf(b,g){b=b|0;g=g|0;var i=0,j=0.0,k=0,l=0,m=0,n=0.0,o=0,p=0.0,q=0.0,r=0,s=0.0,t=0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;i=g+104|0;if(!(c[i>>2]|0)){XD(g+52672|0);c[i>>2]=1}if((c[g+4>>2]|0)!=2){D=g+80|0;E=g+100|0;z=d[191371+(c[b+6476>>2]|0)>>0]|0;i=0;while(1){if(i>>>0>=z>>>0)break;k=c[D>>2]|0;A=i+1|0;B=g+236+i|0;C=e[k+(A<<1)>>1]|0;k=e[k+(i<<1)>>1]|0;while(1){if(k>>>0>=C>>>0)break;l=g+52672+(k<<5)|0;b=g+13760+(k<<2)|0;if(!(c[E>>2]|0))i=0;else i=(a[B>>0]|0)!=0;m=g+52672+(k<<5)+16|0;n=+f[m>>2];o=g+52672+(k<<5)+20|0;p=+f[o>>2];q=+f[l>>2];r=g+52672+(k<<5)+4|0;s=+f[r>>2];t=g+52672+(k<<5)+8|0;u=+f[t>>2];v=g+52672+(k<<5)+12|0;w=+f[v>>2];if(u>1.0){F=(f[h>>2]=.953125/u,c[h>>2]|0);y=q*(c[h>>2]=F+32767+(F&1)&-65536,+f[h>>2])}else y=0.0;if(w>1.0){F=(f[h>>2]=.953125/w,c[h>>2]|0);j=s*(c[h>>2]=F+32767+(F&1)&-65536,+f[h>>2])}else j=0.0;x=n*y;if(i){j=+f[b>>2]+(c[h>>2]=(f[h>>2]=x+p*j,c[h>>2]|0)+32768&-65536,+f[h>>2]);f[b>>2]=j}else j=+f[b>>2];x=j-x;c[r>>2]=(f[h>>2]=s*.90625+p*x,c[h>>2]|0)&-65536;c[v>>2]=(f[h>>2]=w*.90625+(p*p+x*x)*.5,c[h>>2]|0)&-65536;c[l>>2]=(f[h>>2]=q*.90625+n*j,c[h>>2]|0)&-65536;c[t>>2]=(f[h>>2]=u*.90625+(n*n+j*j)*.5,c[h>>2]|0)&-65536;c[o>>2]=(f[h>>2]=(n-y*j)*.953125,c[h>>2]|0)&-65536;c[m>>2]=(f[h>>2]=j*.953125,c[h>>2]|0)&-65536;k=k+1|0}i=A}i=c[g+108>>2]|0;if(i|0)sD(g+52672|0,i)}else XD(g+52672|0);return}function Xf(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0;s=H(f,-2)|0;t=0-f|0;u=f<<1;v=f*3|0;w=f<<2;x=f*5|0;h=f*6|0;i=f*7|0;j=f<<3;k=f*9|0;l=f*10|0;m=e<<1;n=e*3|0;o=e<<2;p=e*5|0;q=e*6|0;r=e*7|0;g=0;while(1){if((g|0)==8)break;E=d[c+t>>0]|0;N=d[c>>0]|0;M=d[c+f>>0]|0;L=d[c+u>>0]|0;K=d[c+v>>0]|0;I=d[c+w>>0]|0;F=d[c+x>>0]|0;z=d[c+h>>0]|0;B=d[c+i>>0]|0;C=d[c+j>>0]|0;A=d[c+k>>0]|0;D=d[c+l>>0]|0;J=K+16|0;y=J+(d[c+s>>0]|0)+((M+N|0)*20|0)+(H(L+E|0,-5)|0)>>5;a[b>>0]=((d[b>>0]|0)+1+((y>>>0>255?(y^-2147483648)>>31:y)&255)|0)>>>1;y=b+e|0;G=I+16|0;E=G+E+((L+M|0)*20|0)+(H(K+N|0,-5)|0)>>5;a[y>>0]=(((E>>>0>255?(E^-2147483648)>>31:E)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+m|0;E=F+16|0;N=E+N+((K+L|0)*20|0)+(H(I+M|0,-5)|0)>>5;a[y>>0]=(((N>>>0>255?(N^-2147483648)>>31:N)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+n|0;M=M+16+z+((I+K|0)*20|0)+(H(F+L|0,-5)|0)>>5;a[y>>0]=(((M>>>0>255?(M^-2147483648)>>31:M)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+o|0;K=L+16+B+((F+I|0)*20|0)+(H(z+K|0,-5)|0)>>5;a[y>>0]=(((K>>>0>255?(K^-2147483648)>>31:K)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+p|0;I=J+C+((z+F|0)*20|0)+(H(B+I|0,-5)|0)>>5;a[y>>0]=(((I>>>0>255?(I^-2147483648)>>31:I)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+q|0;F=G+A+((B+z|0)*20|0)+(H(C+F|0,-5)|0)>>5;a[y>>0]=(((F>>>0>255?(F^-2147483648)>>31:F)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+r|0;z=E+D+((C+B|0)*20|0)+(H(A+z|0,-5)|0)>>5;a[y>>0]=(((z>>>0>255?(z^-2147483648)>>31:z)&255)+1+(d[y>>0]|0)|0)>>>1;g=g+1|0;b=b+1|0;c=c+1|0}return}function Yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=Mb;Mb=Mb+32|0;p=q+16|0;k=q;n=a+24312|0;j=c[n>>2]|0;m=a+26364|0;e=c[m>>2]&1^1;o=b+25360|0;g=c[o>>2]&1;l=b+23412|0;d=0;while(1){if(d>>>0>=(c[l>>2]|0)>>>0)break;h=b+23404+(d<<2)|0;c[j+616+(e<<3)+(d<<2)>>2]=c[h>>2];f=0;while(1){if(f>>>0>=(c[h>>2]|0)>>>0)break;c[j+104+(e<<8)+(d<<7)+(f<<2)>>2]=c[b+23416+(d*1920|0)+(f*40|0)+24>>2]&3|c[(c[b+23416+(d*1920|0)+(f*40|0)+36>>2]|0)+88>>2]<<2;f=f+1|0}d=d+1|0}i=g^1;if((c[m>>2]|0)==3){f=j+616|0;g=c[f+4>>2]|0;h=j+624|0;c[h>>2]=c[f>>2];c[h+4>>2]=g;rk(j+360|0,j+104|0,256)|0}if(c[a+29544>>2]|0){if((c[j+632>>2]|0)!=(c[a+26360>>2]|0)){c[k>>2]=196801;c[k+4>>2]=196833;c[k+8>>2]=144;Xw(0,0,213444,k);ba()}}else c[j+632>>2]=c[a+26360>>2];g=b+21852|0;c[g>>2]=0;a:do if((c[l>>2]|0)==2?c[b+23408>>2]|0:0){f=c[m>>2]|0;do if((f|0)==3){d=c[(c[n>>2]|0)+84>>2]|0;f=c[b+25372>>2]|0;e=c[f+76>>2]|0;f=c[f+80>>2]|0;if((e|0)==2147483647&(f|0)==2147483647){Xw(c[a+4>>2]|0,16,196858,p);c[b+21848>>2]=1;i=1;e=1;break}else{i=e-d|0;e=f-d|0;e=(((i|0)>-1?i:0-i|0)|0)>=(((e|0)>-1?e:0-e|0)|0)&1;c[b+21848>>2]=e;i=e;break}}else{d=c[o>>2]|0;if((d&f|0)==0?(c[(c[b+25372>>2]|0)+632>>2]|0)==0:0)c[g>>2]=(d<<1)+-3}while(0);if((c[b+840>>2]|0)==3?(c[b+21844>>2]|0)==0:0){g=b+22252|0;h=a+26360|0;f=0;while(1){if((f|0)==2)break a;zl(a,b,g,f,e,i,0);b:do if(c[h>>2]|0){d=0;while(1){if((d|0)==2)break b;zl(a,b,b+22636+(d*384|0)|0,f,d,d,1);d=d+1|0}}while(0);f=f+1|0}}}while(0);Mb=q;return}function Zf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=(d[e>>0]|0)>>>4;l=b+4|0;a[l>>0]=h;k=a[e>>0]|0;i=k&15;a[b+5>>0]=i;a:do switch(k&15){case 7:{i=(d[e+3>>0]<<8|d[e+2>>0]<<16|d[e+4>>0])+-8388608^-8388608;switch(a[e+1>>0]|0){case 2:{h=0;break a}case 0:{l=e+5|0;h=f+-5|0;Pi(l,h,b+16|0)|0;h=bc[c[b+6432>>2]&1](c[b+6436>>2]|0,512,l,h,g,g,0)|0;break a}case 1:{if(!(f>>>0>5&(a[b+19>>0]|0)!=0)){h=-22;break a}if(BF(b,f+4096|0)|0){h=-12;break a}j=b+6440|0;k=b+6444|0;h=Lj(b+16|0,e+5|0,f+-5|0,c[j>>2]|0,c[k>>2]|0)|0;if(!h){h=-12;break a}if(h>>>0>(c[k>>2]|0)>>>0){h=-12;break a}h=bc[c[b+6432>>2]&1](c[b+6436>>2]|0,7,c[j>>2]|0,h,i+g|0,g,(a[l>>0]|0)==1&1)|0;break a}default:{h=-22;break a}}}case 12:{i=(d[e+3>>0]<<8|d[e+2>>0]<<16|d[e+4>>0])+-8388608^-8388608;switch(a[e+1>>0]|0){case 2:{h=0;break a}case 0:{l=e+5|0;h=f+-5|0;rf(l,h,b+16|0)|0;h=bc[c[b+6432>>2]&1](c[b+6436>>2]|0,513,l,h,g,g,0)|0;break a}case 1:{if(!(f>>>0>5&(a[b+46>>0]|0)!=0)){h=-22;break a}if(BF(b,f+4096|0)|0){h=-12;break a}j=b+6440|0;k=b+6444|0;h=Lm(b+16|0,e+5|0,f+-5|0,c[j>>2]|0,c[k>>2]|0)|0;if(!h){h=-12;break a}if(h>>>0>(c[k>>2]|0)>>>0){h=-12;break a}h=bc[c[b+6432>>2]&1](c[b+6436>>2]|0,12,c[j>>2]|0,h,i+g|0,g,(a[l>>0]|0)==1&1)|0;break a}default:{h=-22;break a}}}default:h=bc[c[b+6432>>2]&1](c[b+6436>>2]|0,i&255,e+1|0,f+-1|0,g,g,h<<24>>24==1&1)|0}while(0);return h|0}function _f(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=Mb;Mb=Mb+48|0;t=u+24|0;o=u+16|0;n=u;l=u+36|0;m=c[g+24>>2]|0;h=c[g+28>>2]|0;q=c[b+60>>2]|0;c[q+25684>>2]=c[b+92>>2];c[q+29572>>2]=0;c[q+25636>>2]=0;r=q+24972|0;Cw(q,r);a:do if(h){i=q+27020|0;if((c[i>>2]|0?Qu(g,1,0)|0:0)?(j=Qu(g,1,l)|0,k=c[l>>2]|0,yp(j,k)|0):0)vi(j,k,q+27036|0,i,q+27024|0,c[b+688>>2]|0,b)|0;if(((((((h|0)>8&(c[i>>2]|0)!=0?(a[m>>0]|0)==1:0)?(a[m+2>>0]|0)==0:0)?(d[m+4>>0]|0)>251:0)?a[m+5>>0]&31:0)?(a[m+8>>0]|0)==103:0)?yp(m,h)|0:0){h=vi(m,h,q+27036|0,i,q+27024|0,c[b+688>>2]|0,b)|0;break}j=dd(q,m,h)|0;if((j|0)<0)h=-1094995529;else{i=(c[q+24312>>2]|0)==0;if(i?(c[q+27012>>2]|0)==10:0)if((j|0)>(h|0)){c[n>>2]=171024;c[n+4>>2]=171046;c[n+8>>2]=1011;Xw(0,0,213444,n);ba()}else{h=Yp(q,e,f,j)|0;break}do if(c[b+96>>2]&32768){o=c[q+26992>>2]|0;if(!((o|0)==0?1:(c[q+26988>>2]|0)<(o|0)))p=30}else{if(!i?c[q+27016>>2]|0:0){p=30;break}if((c[b+844>>2]|0)>7)break a;if((h|0)>3?(Ix(171067,m,4)|0)==0:0)break a;Xw(b,16,171072,o);h=-1094995529;break a}while(0);if((p|0)==30){i=xp(q,c[q+25628>>2]|0,0)|0;if((i|0)<0){h=i;break}i=c[q+28724>>2]|0;if(i|0?(s=Mm(q,e,i,f)|0,(s|0)<0):0){h=s;break}}if((c[e+248>>2]|0)==0?c[f>>2]|0:0){c[t>>2]=171083;c[t+4>>2]=171046;c[t+8>>2]=1036;Xw(0,0,213444,t);ba()}Cw(q,r);h=iR(j,h)|0}}else h=Yp(q,e,f,0)|0;while(0);Mb=u;return h|0}function $f(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;do if((a|0)==(b|0))k=10;else{if((d|0)==0?(i=(VT(b)|0)+16|0,c[i>>2]&1|0):0){k=12;break}e=b+108|0;f=c[e+4>>2]|0;g=a+108|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;g=b+880|0;f=c[g+4>>2]|0;e=a+880|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;c[a+124>>2]=c[b+124>>2];c[a+128>>2]=c[b+128>>2];c[a+144>>2]=c[b+144>>2];c[a+888>>2]=c[b+888>>2];c[a+132>>2]=c[b+132>>2];c[a+136>>2]=c[b+136>>2];c[a+180>>2]=c[b+180>>2];c[a+780>>2]=c[b+780>>2];c[a+784>>2]=c[b+784>>2];e=b+228|0;f=c[e+4>>2]|0;g=a+228|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+276>>2]=c[b+276>>2];c[a+828>>2]=c[b+828>>2];c[a+832>>2]=c[b+832>>2];c[a+788>>2]=c[b+788>>2];c[a+116>>2]=c[b+116>>2];c[a+388>>2]=c[b+388>>2];c[a+392>>2]=c[b+392>>2];c[a+396>>2]=c[b+396>>2];c[a+400>>2]=c[b+400>>2];c[a+404>>2]=c[b+404>>2];c[a+704>>2]=c[b+704>>2];c[a+708>>2]=c[b+708>>2];c[a+420>>2]=c[b+420>>2];c[a+416>>2]=c[b+416>>2];c[a+424>>2]=c[b+424>>2];g=b+448|0;f=c[g+4>>2]|0;e=a+448|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;c[(c[a+64>>2]|0)+60>>2]=c[(c[b+64>>2]|0)+60>>2];e=a+976|0;f=c[e>>2]|0;g=(f|0)!=0;h=b+976|0;i=c[h>>2]|0;if(!(g^(i|0)!=0)){if(g?(c[f+4>>2]|0)!=(c[i+4>>2]|0):0)k=7}else k=7;if(((k|0)==7?(QS(e),j=c[h>>2]|0,j|0):0)?(j=$H(j)|0,c[e>>2]=j,(j|0)==0):0){e=-12;break}c[a+1004>>2]=c[b+1004>>2];k=10}while(0);if((k|0)==10)if(!d)k=12;else{c[a+120>>2]=(c[b+800>>2]|0)+-1;c[a+796>>2]=c[b+796>>2];e=0}if((k|0)==12){e=c[(c[a+12>>2]|0)+64>>2]|0;if(!e)e=0;else e=Xb[e&15](a,b)|0}return e|0}function ag(a,b,d,e,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;Q=(k|0)!=0;s=Q?283456:32;t=128>>>k;v=1152>>>k;u=2304-v|0;v=v<<2;w=i+(u<<2)|0;x=64>>>k;y=d+24|0;z=192>>>k;A=s+(x<<2)|0;B=256>>>k;C=s+(t<<2)|0;D=448>>>k;E=s+(z<<2)|0;F=512>>>k;G=s+(B<<2)|0;H=704>>>k;I=s+(320>>>k<<2)|0;J=768>>>k;K=s+(384>>>k<<2)|0;L=960>>>k;M=s+(D<<2)|0;N=1024>>>k;O=s+(F<<2)|0;P=1216>>>k;n=s+(576>>>k<<2)|0;o=b+8|0;p=a+44|0;q=h+256|0;r=b+24|0;m=b+20|0;l=0;while(1){if((l|0)==32)break;k=c[j>>2]|0;if((k|0)<(t|0)){rk(w|0,i|0,v|0)|0;k=u}b=k-t|0;c[j>>2]=b;b=i+(b<<2)|0;if(Q){k=0;while(1){if((k|0)==32)break;R=g+(l<<8)+(k<<2)|0;f[R>>2]=-+f[R>>2];c[g+(l<<8)+(k+32<<2)>>2]=c[g+9728+(l<<8)+(31-k<<2)>>2];k=k+1|0}gc[c[p>>2]&1023](a,h,g+(l<<8)|0);ec[c[m>>2]&255](b,h)}else{R=g+9728+(l<<8)|0;dc[c[o>>2]&31](R);gc[c[p>>2]&1023](a,h,g+(l<<8)|0);gc[c[p>>2]&1023](a,q,R);gc[c[r>>2]&1023](b,q,h)}hc[c[d>>2]&255](e,b,s,x);jc[c[y>>2]&127](e,b+(z<<2)|0,A,e,x);jc[c[y>>2]&127](e,b+(B<<2)|0,C,e,x);jc[c[y>>2]&127](e,b+(D<<2)|0,E,e,x);jc[c[y>>2]&127](e,b+(F<<2)|0,G,e,x);jc[c[y>>2]&127](e,b+(H<<2)|0,I,e,x);jc[c[y>>2]&127](e,b+(J<<2)|0,K,e,x);jc[c[y>>2]&127](e,b+(L<<2)|0,M,e,x);jc[c[y>>2]&127](e,b+(N<<2)|0,O,e,x);jc[c[y>>2]&127](e,b+(P<<2)|0,n,e,x);e=e+(x<<2)|0;l=l+1|0}return}function bg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=Mb;Mb=Mb+16|0;f=u;n=b+272|0;k=c[n>>2]|0;l=(k|0)==0;o=b+260|0;m=c[o>>2]|0;s=H(c[b+264>>2]|0,l?m:1)|0;if((c[a>>2]|0)!=(m|0)){c[f>>2]=210078;c[f+4>>2]=210109;c[f+8>>2]=198;Xw(0,0,213444,f);ba()}h=c[a+4>>2]|0;if(!h)f=0;else{if(!(c[d+272>>2]|0))i=1;else i=c[d+260>>2]|0;f=0;g=0;while(1){if((f|0)>=(i|0))break;r=c[d+(f<<2)>>2]|g;f=f+1|0;g=r}f=g&h}i=c[a+8>>2]|0;if(i){j=l?1:m;g=0;h=0;while(1){if((h|0)>=(j|0))break;g=c[b+(h<<2)>>2]|g;h=h+1|0}f=g&i|f}j=a+16|0;g=c[j>>2]|0;r=a+20|0;if((g|0)!=0?!((f|0)!=0|(c[r>>2]|0)!=0):0){i=e&-16;a:do if((i|0)>0){if((k|0)!=(c[d+272>>2]|0)){gc[g&1023](b,d,i);break}h=l?1:m;f=0;while(1){if((f|0)>=(h|0))break a;if(!(c[n>>2]|0))g=c[o>>2]|0;else g=1;q=H(g,i)|0;gc[c[j>>2]&1023](b+(f<<2)|0,d+(f<<2)|0,q);f=f+1|0}}while(0);if((i|0)!=(e|0))t=26}else{i=0;t=26}b:do if((t|0)==26){m=d+272|0;n=d+260|0;o=d+264|0;p=H(i,s)|0;q=a+12|0;k=H(s,e)|0;l=a+24|0;j=0;while(1){if((j|0)>=(c[a>>2]|0))break b;f=c[r>>2]|0;if(f){f=c[f+(j<<2)>>2]|0;if((f|0)<0){h=0;g=l}else t=30}else{f=j;t=30}if((t|0)==30){t=0;if(!(c[m>>2]|0))g=c[n>>2]|0;else g=1;h=H(c[o>>2]|0,g)|0;g=c[d+(f<<2)>>2]|0}f=c[b+(j<<2)>>2]|0;if(f|0){e=g+(H(h,i)|0)|0;jc[c[q>>2]&127](f+p|0,e,h,s,f+k|0)}j=j+1|0}}while(0);Mb=u;return 0}function cg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Mb;Mb=Mb+48|0;i=k+32|0;g=k+16|0;e=k;h=c[b>>2]|0;if(c[h+248>>2]|0){c[e>>2]=197527;c[e+4>>2]=197543;c[e+8>>2]=71;Xw(0,0,213444,e);ba()}f=c[d>>2]|0;if(!(c[f+248>>2]|0)){c[g>>2]=197569;c[g+4>>2]=197543;c[g+8>>2]=72;Xw(0,0,213444,g);ba()}e=d+4|0;if((c[e>>2]|0)!=(f|0)){c[i>>2]=197584;c[i+4>>2]=197543;c[i+8>>2]=73;Xw(0,0,213444,i);ba()}i=b+4|0;c[i>>2]=h;e=Cs(i,e)|0;a:do if((e|0)>=0?(h=$H(c[d+20>>2]|0)|0,i=b+20|0,c[i>>2]=h,h=$H(c[d+44>>2]|0)|0,c[b+44>>2]=h,!((h|0)==0|(c[i>>2]|0)==0)):0){c[b+24>>2]=c[d+24>>2];c[b+48>>2]=c[d+48>>2];f=0;while(1){if(f>>>0>=2)break;h=$H(c[d+28+(f<<2)>>2]|0)|0;i=b+28+(f<<2)|0;c[i>>2]=h;h=$H(c[d+60+(f<<2)>>2]|0)|0;c[b+60+(f<<2)>>2]=h;if((h|0)==0|(c[i>>2]|0)==0){j=20;break a}c[b+36+(f<<2)>>2]=c[d+36+(f<<2)>>2];c[b+68+(f<<2)>>2]=c[d+68+(f<<2)>>2];f=f+1|0}if(c[d+56>>2]|0){f=$H(c[d+52>>2]|0)|0;c[b+52>>2]=f;if(!f){j=20;break}c[b+56>>2]=c[f+4>>2]}e=0;while(1){if((e|0)==2)break;c[b+76+(e<<2)>>2]=c[d+76+(e<<2)>>2];e=e+1|0}rk(b+104|0,d+104|0,512)|0;e=b+616|0;a=d+616|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];c[b+84>>2]=c[d+84>>2];c[b+88>>2]=c[d+88>>2];c[b+92>>2]=c[d+92>>2];c[b+100>>2]=c[d+100>>2];c[b+632>>2]=c[d+632>>2];c[b+636>>2]=c[d+636>>2];c[b+640>>2]=c[d+640>>2];c[b+644>>2]=c[d+644>>2];c[b+648>>2]=c[d+648>>2];c[b+652>>2]=c[d+652>>2];e=0}else j=20;while(0);if((j|0)==20)Cw(a,b);Mb=k;return e|0}function dg(a,b,d,g){a=a|0;b=b|0;d=d|0;g=g|0;var h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;E=Mb;Mb=Mb+128|0;x=E;y=c[a+8>>2]|0;z=y*3|0;A=a+24|0;B=c[A>>2]|0;j=1<<B;o=a+16|0;C=a+96|0;p=y+-1|0;q=z+-1|0;r=(y*5|0)+-1|0;s=a+640|0;D=a+92|0;t=a+32|0;u=a+128|0;h=0;while(1){if((h|0)>=(j|0))break;v=h*15|0;i=0;while(1){if((i|0)==15)break;w=c[(c[o>>2]|0)+(i+v<<2)>>2]|0;G=c[C>>2]|0;F=w>>1;m=+f[G+(F<<3)>>2];n=+f[G+(F<<3)+4>>2];k=+f[d+(w+y<<2)>>2];if((w|0)<(y|0)){l=-+f[d+(w+z<<2)>>2];k=+f[d+(p-w<<2)>>2]-k}else{l=+f[d+(w-y<<2)>>2];k=-k-+f[d+(r-w<<2)>>2]}l=l-+f[d+(q-w<<2)>>2];f[x+(i<<3)+4>>2]=m*k-n*l;f[x+(i<<3)>>2]=n*k+m*l;i=i+1|0}hc[c[s>>2]&255]((c[D>>2]|0)+((e[(c[t>>2]|0)+(h<<1)>>1]|0)<<3)|0,x,u,j);h=h+1|0}j=y>>1;i=a+60|0;h=0;while(1){if((h|0)==15)break;ec[c[i>>2]&255](A,(c[D>>2]|0)+(h<<B<<3)|0);h=h+1|0}i=a+20|0;h=0;while(1){if((j|0)<=(h|0))break;z=h+j|0;A=j-h+-1|0;B=c[i>>2]|0;F=c[B+(z<<2)>>2]|0;B=c[B+(A<<2)>>2]|0;x=c[D>>2]|0;v=x+(F<<3)|0;y=c[C>>2]|0;a=y+(z<<3)+4|0;F=x+(F<<3)+4|0;w=y+(z<<3)|0;G=H(A<<1,g)|0;f[b+(G+g<<2)>>2]=+f[v>>2]*+f[a>>2]-+f[F>>2]*+f[w>>2];z=H(z<<1,g)|0;f[b+(z<<2)>>2]=+f[v>>2]*+f[w>>2]+ +f[F>>2]*+f[a>>2];a=x+(B<<3)|0;F=y+(A<<3)+4|0;B=x+(B<<3)+4|0;A=y+(A<<3)|0;f[b+(z+g<<2)>>2]=+f[a>>2]*+f[F>>2]-+f[B>>2]*+f[A>>2];f[b+(G<<2)>>2]=+f[a>>2]*+f[A>>2]+ +f[B>>2]*+f[F>>2];h=h+1|0}Mb=E;return}function eg(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=(d[c>>0]|0)-(d[e>>0]|0)|0;u=(d[c+1>>0]|0)-(d[e+1>>0]|0)|0;w=u-v|0;t=(d[c+2>>0]|0)-(d[e+2>>0]|0)|0;u=t-u|0;s=(d[c+3>>0]|0)-(d[e+3>>0]|0)|0;t=s-t|0;r=(d[c+4>>0]|0)-(d[e+4>>0]|0)|0;s=r-s|0;q=(d[c+5>>0]|0)-(d[e+5>>0]|0)|0;r=q-r|0;p=(d[c+6>>0]|0)-(d[e+6>>0]|0)|0;q=p-q|0;o=(d[c+7>>0]|0)-(d[e+7>>0]|0)|0;p=o-p|0;n=(d[c+8>>0]|0)-(d[e+8>>0]|0)|0;o=n-o|0;h=(d[c+9>>0]|0)-(d[e+9>>0]|0)|0;n=h-n|0;i=(d[c+10>>0]|0)-(d[e+10>>0]|0)|0;h=i-h|0;j=(d[c+11>>0]|0)-(d[e+11>>0]|0)|0;i=j-i|0;k=(d[c+12>>0]|0)-(d[e+12>>0]|0)|0;j=k-j|0;l=(d[c+13>>0]|0)-(d[e+13>>0]|0)|0;k=l-k|0;b=(d[c+14>>0]|0)-(d[e+14>>0]|0)|0;l=b-l|0;b=(d[c+15>>0]|0)-(d[e+15>>0]|0)-b|0;m=1;b=((w|0)>-1?w:0-w|0)+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((h|0)>-1?h:0-h|0)+((i|0)>-1?i:0-i|0)+((j|0)>-1?j:0-j|0)+((k|0)>-1?k:0-k|0)+((l|0)>-1?l:0-l|0)+((b|0)>-1?b:0-b|0)|0;while(1){k=c+f|0;l=e+f|0;if((m|0)>=(g|0))break;h=a[k>>0]|0;i=a[l>>0]|0;w=(d[e>>0]|0)-(d[c>>0]|0)+((h&255)-(i&255))|0;j=1;b=((w|0)>-1?w:0-w|0)+b|0;while(1){if((j|0)==16)break;v=a[k+j>>0]|0;w=a[l+j>>0]|0;t=(d[c+j>>0]|0)-(d[e+j>>0]|0)|0;s=(h&255)-(i&255)|0;u=j-f+-1|0;u=(v&255)-(w&255)-(oM(t,s,s+t-(d[k+u>>0]|0)+(d[l+u>>0]|0)|0)|0)|0;j=j+1|0;b=((u|0)>-1?u:0-u|0)+b|0;h=v;i=w}m=m+1|0;e=l;c=k}return b|0}function fg(b){b=b|0;var e=0,f=0,g=0;e=0;while(1){if((e|0)==16)break;g=d[22640+e>>0]|0;a[b+26412+e>>0]=g<<2&12|g>>>2;g=d[76096+e>>0]|0;a[b+26556+e>>0]=g<<2&12|g>>>2;e=e+1|0}e=0;while(1){if((e|0)==64)break;g=d[22576+e>>0]|0;a[b+26428+e>>0]=g<<3&56|g>>>3;g=d[76128+e>>0]|0;a[b+26492+e>>0]=g<<3&56|g>>>3;g=d[76208+e>>0]|0;a[b+26572+e>>0]=g<<3&56|g>>>3;g=d[76288+e>>0]|0;a[b+26636+e>>0]=g<<3&56|g>>>3;e=e+1|0}e=b+26700|0;if(!(c[(c[b+28200>>2]|0)+16>>2]|0)){f=b+26412|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];e=b+26716|0;f=b+26428|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+26780|0;f=b+26492|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+26844|0;f=b+26556|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];e=b+26860|0;f=b+26572|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+26924|0;f=b+26636|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0))}else{c[e>>2]=c[5660];c[e+4>>2]=c[5661];c[e+8>>2]=c[5662];c[e+12>>2]=c[5663];e=b+26716|0;f=22576;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+26780|0;f=76128;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+26844|0;c[e>>2]=c[19024];c[e+4>>2]=c[19025];c[e+8>>2]=c[19026];c[e+12>>2]=c[19027];e=b+26860|0;f=76208;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+26924|0;f=76288;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0))}return}function gg(a,d){a=a|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0;p=Mb;Mb=Mb+272|0;o=p;g=p+260|0;j=p+256|0;c[g>>2]=0;e=0;h=0;while(1){if((e|0)==124)break;r=+(h|0);q=+f[a+(e<<2)>>2];e=e+1|0;h=~~(q<r?r:q)}c[g>>2]=h;g=TC(g)|0;c[j>>2]=0;h=(g<<16)+-1048576>>16;e=0;i=0;while(1){if((e|0)==124)break;n=(((iT(~~+f[a+(e<<2)>>2],h)|0)<<16>>16)*3|0)>>>2;b[o+(e<<1)>>1]=n;e=e+1|0;i=(n<<16>>16)+i|0}n=g+65531|0;m=n&65535;n=n<<16>>16;c[j>>2]=i-(198<<n);h=TC(j)|0;h=iT((c[j>>2]>>16)*4228>>15,786432-(h<<16)>>16)|0;i=VD(o,m,h&65535)|0;if((i|0)==198)i=198;else{e=i+-198|0;g=0;while(1){if((((e|0)>-1?e:0-e|0)|0)>=16384)break;e=e<<1;g=g+1<<16>>16}j=iT(e*4228>>15,n+65532-(g&65535)<<16>>16)|0;g=0;a=0;l=1;while(1){if(l>>>0>=20){e=h;h=g;g=i;break}e=h+j|0;g=VD(o,m,e&65535)|0;if((H(g+-198|0,i+-198|0)|0)<1){a=i;break}a=i;k=h;h=e;i=g;l=l+1|0;g=k}s=(g|0)>198;k=s?e:h;j=s?g:a;a=s?a:g;i=l;e=s?h:e;while(1){if(!(i>>>0<20&(g|0)!=198))break;s=e+k>>1;g=VD(o,m,s&65535)|0;l=(g|0)>198;k=l?s:k;j=l?g:j;a=l?a:g;i=i+1|0;e=l?e:s}h=(((j|0)>197?j+-198|0:198-j|0)|0)<(((a|0)>197?a+-198|0:198-a|0)|0);i=h?j:a;h=h?k:e}g=n+-1|0;e=0;while(1){if((e|0)==124)break;s=((b[o+(e<<1)>>1]|0)-h>>g)+1>>1;s=(s|0)<6?s:6;c[d+(e<<2)>>2]=(s|0)>0?s:0;e=e+1|0}a:do if((i|0)>198){g=0;e=0;while(1){if((g|0)>=198)break;g=(c[d+(e<<2)>>2]|0)+g|0;e=e+1|0}s=d+(e+-1<<2)|0;c[s>>2]=198-g+(c[s>>2]|0);while(1){if(e>>>0>=124)break a;c[d+(e<<2)>>2]=0;e=e+1|0}}while(0);Mb=p;return}function hg(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=g>>1;h=c;i=0;d=d+(0-(g&-2)<<1)|0;while(1){if((i|0)==9)break;k=d+2|0;n=d+-2|0;g=d+4|0;o=H((e[g>>1]|0)+(e[n>>1]|0)|0,-5)|0;l=d+6|0;b[h>>1]=(((e[k>>1]|0)+(e[d>>1]|0)|0)*20|0)+55306+(e[d+-4>>1]|0)+o+(e[l>>1]|0);o=H((e[l>>1]|0)+(e[d>>1]|0)|0,-5)|0;m=d+8|0;b[h+2>>1]=(((e[g>>1]|0)+(e[k>>1]|0)|0)*20|0)+55306+(e[n>>1]|0)+o+(e[m>>1]|0);o=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;n=d+10|0;b[h+4>>1]=(((e[l>>1]|0)+(e[g>>1]|0)|0)*20|0)+55306+(e[d>>1]|0)+o+(e[n>>1]|0);g=H((e[n>>1]|0)+(e[g>>1]|0)|0,-5)|0;b[h+6>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+55306+(e[k>>1]|0)+g+(e[d+12>>1]|0);h=h+16|0;i=i+1|0;d=d+(j<<1)|0}j=f>>1;h=f&-2;i=j*3|0;d=c+32|0;g=0;while(1){if((g|0)==4)break;s=b[d+-16>>1]|0;q=b[d>>1]|0;r=q+10230|0;f=b[d+16>>1]|0;p=f+10230|0;n=(b[d+32>>1]|0)+10230|0;l=(b[d+48>>1]|0)+10230|0;k=(b[d+64>>1]|0)+10230|0;m=(b[d+80>>1]|0)+10230|0;c=b[d+96>>1]|0;o=(b[d+-32>>1]|0)+10742+l+((p+r|0)*20|0)+(H(n+(s+10230)|0,-5)|0)>>10;b[a>>1]=((e[a>>1]|0)+1+(o>>>0<1024?o:(o^-2147483648)>>31&1023)|0)>>>1;o=a+(j<<1)|0;r=s+10742+k+((n+p|0)*20|0)+(H(l+r|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(r>>>0<1024?r:(r^-2147483648)>>31&1023)|0)>>>1;o=a+(h<<1)|0;p=q+10742+m+((l+n|0)*20|0)+(H(k+p|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(p>>>0<1024?p:(p^-2147483648)>>31&1023)|0)>>>1;o=a+(i<<1)|0;n=f+20972+c+((k+l|0)*20|0)+(H(m+n|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(n>>>0<1024?n:(n^-2147483648)>>31&1023)|0)>>>1;a=a+2|0;d=d+2|0;g=g+1|0}return}function ig(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=Mb;Mb=Mb+16|0;h=o;k=c[a>>2]|0;l=k+4|0;g=c[l>>2]|0;m=a+212|0;if((c[d+28>>2]|0)==0?(c[(c[(c[m>>2]|0)+12>>2]|0)+16>>2]&32|0)==0:0)b=0;else n=3;do if((n|0)==3){i=a+156|0;jV(i)|0;b=nm(c[m>>2]|0,b)|0;if(b|0){jV(i)|0;break}c[a+344>>2]=(c[(c[m>>2]|0)+680>>2]|0)>>>16&1;mr(a);if(g|0){b=g+300|0;if((c[b>>2]|0)==1){e=g+184|0;jV(e)|0;f=g+60|0;while(1){if((c[b>>2]|0)!=1)break;yb(f|0,e|0)|0}jV(e)|0}b=$f(c[m>>2]|0,c[g+212>>2]|0,0)|0;if(b|0){jV(i)|0;break}}b=a+216|0;gP(b);b=Xp(b,d)|0;if((b|0)<0){jV(i)|0;Xw(c[m>>2]|0,16,184545,h);break}j=a+300|0;c[j>>2]=1;xb(a+12|0)|0;jV(i)|0;b=c[m>>2]|0;a:do if(!(c[b+812>>2]|0)){if((c[b+156>>2]|0)==7?(c[b+472>>2]|0)==10:0)break;b=a+184|0;e=a+60|0;f=a+316|0;g=a+320|0;d=a+296|0;h=a+324|0;i=a+328|0;while(1){if((c[j>>2]|0)==4)break a;if(!(c[j>>2]|0))break a;jV(b)|0;while(1){if((c[j>>2]|0)!=1)break;yb(e|0,b|0)|0}switch(c[j>>2]|0){case 2:{n=HI(c[m>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;c[d>>2]=n;n=27;break}case 3:{n=Hh(c[m>>2]|0,c[h>>2]|0)|0;c[i>>2]=n;n=27;break}default:{}}if((n|0)==27){n=0;c[j>>2]=1;xb(e|0)|0}jV(b)|0}}while(0);c[l>>2]=a;b=k+144|0;c[b>>2]=(c[b>>2]|0)+1;b=0}while(0);Mb=o;return b|0}function jg(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=f+4|0;a:do if(!(a[q>>0]|0)){i=0;s=11}else{i=0;o=0;while(1){j=o&255;n=f+8+(j<<3)|0;m=b[n>>1]|0;k=m&65535;l=i+4|0;if((l+k|0)>>>0>h>>>0){i=-1;break a}j=f+8+(j<<3)+4|0;b:do if(((m&65535)>=4?(p=c[j>>2]|0,(a[p>>0]|0)==0):0)?(a[p+1>>0]|0)==0:0){switch(a[p+2>>0]|0){case 1:{j=p;break b}case 0:break;default:{s=9;break b}}if((a[p+3>>0]|0)==1)j=p;else s=9}else s=9;while(0);if((s|0)==9){s=0;a[g+i>>0]=0;a[g+(i+1)>>0]=0;a[g+(i+2)>>0]=0;a[g+(i+3)>>0]=1;i=l;k=e[n>>1]|0;j=c[j>>2]|0}rk(g+i|0,j|0,k|0)|0;i=i+(e[n>>1]|0)|0;o=o+1<<24>>24;if((o&255)>=(d[q>>0]|0)){s=11;break}}}while(0);c:do if((s|0)==11){p=f+5|0;if(a[p>>0]|0){o=0;do{j=o&255;n=f+264+(j<<3)|0;l=b[n>>1]|0;k=l&65535;m=i+2|0;if((m+k|0)>>>0>h>>>0){i=-1;break c}j=f+264+(j<<3)+4|0;d:do if(((l&65535)>=4?(r=c[j>>2]|0,(a[r>>0]|0)==0):0)?(a[r+1>>0]|0)==0:0){switch(a[r+2>>0]|0){case 1:{j=r;break d}case 0:break;default:{s=19;break d}}if((a[r+3>>0]|0)==1)j=r;else s=19}else s=19;while(0);if((s|0)==19){s=0;a[g+i>>0]=0;a[g+(i+1)>>0]=0;a[g+m>>0]=0;a[g+(i+3)>>0]=1;i=i+4|0;k=e[n>>1]|0;j=c[j>>2]|0}rk(g+i|0,j|0,k|0)|0;i=i+(e[n>>1]|0)|0;o=o+1<<24>>24}while((o&255)<(d[p>>0]|0))}}while(0);return i|0}function kg(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;j=c+2|0;i=c+-2|0;k=c+4|0;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+6|0;m=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[l>>1]|0)>>5;b[d>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;m=H((e[l>>1]|0)+(e[c>>1]|0)|0,-5)|0;n=c+8|0;m=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+m+(e[n>>1]|0)>>5;b[d+2>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;m=H((e[n>>1]|0)+(e[j>>1]|0)|0,-5)|0;i=c+10|0;m=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[i>>1]|0)>>5;b[d+4>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;m=H((e[i>>1]|0)+(e[k>>1]|0)|0,-5)|0;a=c+12|0;m=(((e[n>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+m+(e[a>>1]|0)>>5;b[d+6>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+14|0;m=(((e[i>>1]|0)+(e[n>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+m+(e[j>>1]|0)>>5;b[d+8>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;m=H((e[j>>1]|0)+(e[n>>1]|0)|0,-5)|0;k=c+16|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+10>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+18|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[n>>1]|0)+m+(e[l>>1]|0)>>5;b[d+12>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+20>>1]|0)>>5;b[d+14>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function lg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+16|0;f=j;h=j+8|0;d=c[a+28200>>2]|0;e=c[d+1184>>2]|0;a:do switch(e|0){case 9:{e=c[d+12>>2]|0;if((e|0)==3){d=h+4|0;e=(c[(c[a+4>>2]|0)+396>>2]|0)==0?84:76;g=23;break a}else{d=h+4|0;e=(e|0)==2?80:70;g=23;break a}}case 10:{e=c[d+12>>2]|0;if((e|0)==3){d=h+4|0;e=(c[(c[a+4>>2]|0)+396>>2]|0)==0?86:78;g=23;break a}else{d=h+4|0;e=(e|0)==2?74:72;g=23;break a}}case 12:{e=c[d+12>>2]|0;if((e|0)==3){d=h+4|0;e=(c[(c[a+4>>2]|0)+396>>2]|0)==0?312:308;g=23;break a}else{d=h+4|0;e=(e|0)==2?304:300;g=23;break a}}case 14:{e=c[d+12>>2]|0;if((e|0)==3){d=h+4|0;e=(c[(c[a+4>>2]|0)+396>>2]|0)==0?314:310;g=23;break a}else{d=h+4|0;e=(e|0)==2?306:302;g=23;break a}}case 8:{d=c[d+12>>2]|0;if((d|0)==3){e=c[a+4>>2]|0;if(!(c[e+396>>2]|0)){d=h+4|0;e=82;g=23;break a}else{d=h+4|0;e=(c[e+400>>2]|0)==2?14:5;g=23;break a}}e=c[a+4>>2]|0;if((d|0)==2){d=h+4|0;e=(c[e+400>>2]|0)==2?13:4;g=23;break a}d=c[(c[e+12>>2]|0)+24>>2]|0;if(!d){d=h+4|0;e=(c[e+400>>2]|0)==2?12:0;g=23}else{i=d;d=h;g=24}break}default:{d=c[a+4>>2]|0;c[f>>2]=e;Xw(d,16,198844,f);d=-1094995529}}while(0);if((g|0)==23){c[h>>2]=e;i=h;g=24}b:do if((g|0)==24){c[d>>2]=-1;g=c[a+4>>2]|0;h=g+144|0;f=(b|0)!=0;e=0;while(1){d=c[i+(e<<2)>>2]|0;if((d|0)==-1)break;if(f|(d|0)!=(c[h>>2]|0))e=e+1|0;else break b}d=Lq(g,i)|0}while(0);Mb=j;return d|0}function mg(a){a=+a;var b=0,d=0,e=0.0,f=0.0,i=0.0,j=0,k=0,l=0.0;g[h>>3]=a;d=c[h+4>>2]|0;b=d&2147483647;d=oN(c[h>>2]|0,d|0,63)|0;M()|0;do if(b>>>0>1078159481){j=UO(a)|0;b=(M()|0)&2147483647;if(!(b>>>0>2146435072|(b|0)==2146435072&j>>>0>0))if(!d)if(a>709.782712893384)a=a*8988465674311579538646525.0e283;else k=11;else a=-1.0}else{if(b>>>0<=1071001154)if(b>>>0<1016070144)break;else{i=0.0;j=0;k=14;break}if(b>>>0<1072734898)if(!d){b=1;e=a+-.6931471803691238;f=1.9082149292705877e-10;k=12;break}else{b=-1;e=a+.6931471803691238;f=-1.9082149292705877e-10;k=12;break}else k=11}while(0);if((k|0)==11){b=~~(a*1.4426950408889634+((d|0)==0?.5:-.5));f=+(b|0);e=a-f*.6931471803691238;f=f*1.9082149292705877e-10;k=12}if((k|0)==12){i=e-f;a=i;i=e-i-f;j=b;k=14}a:do if((k|0)==14){f=a*.5;e=a*f;l=e*(e*(e*(e*(4.008217827329362e-06-e*2.0109921818362437e-07)+-7.93650757867488e-05)+1.5873015872548146e-03)+-.03333333333333313)+1.0;f=3.0-f*l;f=e*((l-f)/(6.0-a*f));if(!j){a=a-(a*f-e);break}f=a*(f-i)-i-e;switch(j|0){case -1:{a=(a-f)*.5+-.5;break a}case 1:if(a<-.25){a=(f-(a+.5))*-2.0;break a}else{a=(a-f)*2.0+1.0;break a}default:{d=cN(j+1023|0,0,52)|0;k=M()|0;c[h>>2]=d;c[h+4>>2]=k;i=+g[h>>3];if(j>>>0>56){a=a-f+1.0;a=((j|0)==1024?a*2.0*8988465674311579538646525.0e283:a*i)+-1.0;break a}b=cN(1023-j|0,0,52)|0;d=M()|0;if((j|0)<20){c[h>>2]=b;c[h+4>>2]=d;e=1.0-+g[h>>3];a=a-f}else{c[h>>2]=b;c[h+4>>2]=d;e=a-(f+ +g[h>>3]);a=1.0}a=(e+a)*i;break a}}}while(0);return +a}function ng(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;j=c+2|0;i=c+-2|0;k=c+4|0;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+6|0;m=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[l>>1]|0)>>5;b[d>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;m=H((e[l>>1]|0)+(e[c>>1]|0)|0,-5)|0;n=c+8|0;m=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+m+(e[n>>1]|0)>>5;b[d+2>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;m=H((e[n>>1]|0)+(e[j>>1]|0)|0,-5)|0;i=c+10|0;m=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[i>>1]|0)>>5;b[d+4>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;m=H((e[i>>1]|0)+(e[k>>1]|0)|0,-5)|0;a=c+12|0;m=(((e[n>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+m+(e[a>>1]|0)>>5;b[d+6>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+14|0;m=(((e[i>>1]|0)+(e[n>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+m+(e[j>>1]|0)>>5;b[d+8>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;m=H((e[j>>1]|0)+(e[n>>1]|0)|0,-5)|0;k=c+16|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+10>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+18|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[n>>1]|0)+m+(e[l>>1]|0)>>5;b[d+12>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+20>>1]|0)>>5;b[d+14>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function og(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;j=c+2|0;i=c+-2|0;k=c+4|0;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+6|0;m=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[l>>1]|0)>>5;b[d>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;m=H((e[l>>1]|0)+(e[c>>1]|0)|0,-5)|0;n=c+8|0;m=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+m+(e[n>>1]|0)>>5;b[d+2>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;m=H((e[n>>1]|0)+(e[j>>1]|0)|0,-5)|0;i=c+10|0;m=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[i>>1]|0)>>5;b[d+4>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;m=H((e[i>>1]|0)+(e[k>>1]|0)|0,-5)|0;a=c+12|0;m=(((e[n>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+m+(e[a>>1]|0)>>5;b[d+6>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+14|0;m=(((e[i>>1]|0)+(e[n>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+m+(e[j>>1]|0)>>5;b[d+8>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;m=H((e[j>>1]|0)+(e[n>>1]|0)|0,-5)|0;k=c+16|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+10>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+18|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[n>>1]|0)+m+(e[l>>1]|0)>>5;b[d+12>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+20>>1]|0)>>5;b[d+14>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function pg(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;j=c+2|0;i=c+-2|0;k=c+4|0;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+6|0;m=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[l>>1]|0)>>5;b[d>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;m=H((e[l>>1]|0)+(e[c>>1]|0)|0,-5)|0;n=c+8|0;m=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+m+(e[n>>1]|0)>>5;b[d+2>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;m=H((e[n>>1]|0)+(e[j>>1]|0)|0,-5)|0;i=c+10|0;m=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[i>>1]|0)>>5;b[d+4>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;m=H((e[i>>1]|0)+(e[k>>1]|0)|0,-5)|0;a=c+12|0;m=(((e[n>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+m+(e[a>>1]|0)>>5;b[d+6>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+14|0;m=(((e[i>>1]|0)+(e[n>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+m+(e[j>>1]|0)>>5;b[d+8>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;m=H((e[j>>1]|0)+(e[n>>1]|0)|0,-5)|0;k=c+16|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+10>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+18|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[n>>1]|0)+m+(e[l>>1]|0)>>5;b[d+12>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+20>>1]|0)>>5;b[d+14>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function qg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=c[d+74176>>2]|0;o=d+17856|0;n=(a[d+12>>0]|0)==0?279136:293184;i=(a[d+13>>0]|0)!=0;f=i?289344:279616;i=i?293184:279136;j=b+1024|0;k=b+5696|0;l=d+4|0;a:do if((c[l>>2]|0)==2){g=b+5392|0;e=0;while(1){if((e|0)==8)break a;p=c[g>>2]|0;hc[c[p+652>>2]&255](p,b+1024+(e*120<<2)|0,d+13760+(e<<7<<2)|0,1);e=e+1|0}}else{p=c[b+5400>>2]|0;hc[c[p+652>>2]&255](p,j,d+13760|0,1)}while(0);switch(c[d+8>>2]|0){case 3:case 0:{if((c[l>>2]|0)>>>0<2)jc[c[(c[b+5404>>2]|0)+20>>2]&127](m,o,j,f,480);else h=9;break}default:h=9}do if((h|0)==9){rk(m|0,o|0,1680)|0;p=(c[l>>2]|0)==2;e=b+5404|0;jc[c[(c[e>>2]|0)+20>>2]&127](m+1680|0,d+19536|0,j,i,60);if(p){jc[c[(c[e>>2]|0)+20>>2]&127](m+2160|0,b+1264|0,b+1504|0,n,60);jc[c[(c[e>>2]|0)+20>>2]&127](m+2640|0,b+1744|0,b+1984|0,n,60);jc[c[(c[e>>2]|0)+20>>2]&127](m+3120|0,b+2224|0,b+2464|0,n,60);jc[c[(c[e>>2]|0)+20>>2]&127](k,b+2704|0,b+2944|0,n,60);rk(m+3600|0,k|0,240)|0;break}else{rk(m+2160|0,b+1264|0,1680)|0;break}}while(0);f=c[l>>2]|0;do if((f|0)!=2){e=b+2944|0;if((f|0)==1){rk(o|0,e|0,1680)|0;rk(d+19536|0,b+4624|0,240)|0;break}else{rk(o|0,e|0,1920)|0;break}}else{rk(o|0,b+5936|0,240)|0;p=b+5404|0;jc[c[(c[p>>2]|0)+20>>2]&127](d+18096|0,b+3184|0,b+3424|0,n,60);jc[c[(c[p>>2]|0)+20>>2]&127](d+18576|0,b+3664|0,b+3904|0,n,60);jc[c[(c[p>>2]|0)+20>>2]&127](d+19056|0,b+4144|0,b+4384|0,n,60);rk(d+19536|0,b+4624|0,240)|0}while(0);return}function rg(a,b){a=a|0;b=b|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0;p=c[b+74176>>2]|0;q=b+17856|0;g=(c[a+6516>>2]|0)!=0;r=g?480:512;s=r>>>1;o=r>>>2;n=r+-1|0;e=r+-2|0;d=0;while(1){if(d>>>0>=s>>>0)break;k=b+13760+(d<<2)|0;m=c[k>>2]|0;l=b+13760+(n-d<<2)|0;f[k>>2]=-+f[l>>2];c[l>>2]=m;l=b+13760+((d|1)<<2)|0;t=-+f[l>>2];m=b+13760+(e-d<<2)|0;c[l>>2]=c[m>>2];f[m>>2]=t;d=d+2|0}d=b+13760|0;l=a+1024|0;m=g?10272:2592;if(g){k=c[a+5396>>2]|0;hc[c[k+652>>2]&255](k,l,d,1)}else gc[c[a+5164>>2]&1023](a+5256|0,l,d);d=0;while(1){if(d>>>0>=r>>>0)break;k=a+1024+(d<<2)|0;f[k>>2]=-+f[k>>2];d=d+2|0}j=s+-1|0;i=r-o|0;e=n+s|0;g=r<<1;h=r*3|0;k=h-o|0;d=o;while(1){if(d>>>0>=s>>>0)break;u=d-o|0;v=d+s|0;f[p+(u<<2)>>2]=+f[a+1024+(j-d<<2)>>2]*+f[m+(u<<2)>>2]+ +f[b+17856+(v<<2)>>2]*+f[m+(i+d<<2)>>2]-+f[b+17856+(e-d<<2)>>2]*+f[m+(d+g-o<<2)>>2]-+f[b+17856+(v+g<<2)>>2]*+f[m+(k+d<<2)>>2];d=d+1|0}g=g-o|0;e=h+-1|0;d=0;while(1){if((d|0)==(s|0))break;v=d+s|0;f[p+(d+o<<2)>>2]=+f[a+1024+(d<<2)>>2]*+f[m+(v-o<<2)>>2]-+f[b+17856+(n-d<<2)>>2]*+f[m+(i+v<<2)>>2]-+f[b+17856+(d+r<<2)>>2]*+f[m+(g+v<<2)>>2]+ +f[b+17856+(e-d<<2)>>2]*+f[m+(k+v<<2)>>2];d=d+1|0}d=0;while(1){if((d|0)==(o|0))break;v=d+s|0;f[p+(v+o<<2)>>2]=+f[a+1024+(v<<2)>>2]*+f[m+(d+r-o<<2)>>2]-+f[b+17856+(j-d<<2)>>2]*+f[m+(g+d<<2)>>2]-+f[b+17856+(v+r<<2)>>2]*+f[m+(k+d<<2)>>2];d=d+1|0}NE(b+17856+(r<<2)|0,q|0,r<<3|0)|0;rk(q|0,l|0,r<<2|0)|0;return}function sg(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;w=d>>1;x=f>>1;y=H(x,-2)|0;z=0-x|0;u=f&-2;v=x*3|0;n=x<<2;o=x*5|0;p=x*6|0;q=x*7|0;r=x<<3;s=x*9|0;t=x*10|0;h=d&-2;i=w*3|0;j=w<<2;k=w*5|0;l=w*6|0;m=w*7|0;g=0;d=a;f=c;while(1){if((g|0)==8)break;D=e[f+(z<<1)>>1]|0;M=e[f>>1]|0;L=e[f+(x<<1)>>1]|0;K=e[f+(u<<1)>>1]|0;J=e[f+(v<<1)>>1]|0;G=e[f+(n<<1)>>1]|0;E=e[f+(o<<1)>>1]|0;c=e[f+(p<<1)>>1]|0;A=e[f+(q<<1)>>1]|0;B=e[f+(r<<1)>>1]|0;a=e[f+(s<<1)>>1]|0;C=e[f+(t<<1)>>1]|0;I=J+16|0;F=I+(e[f+(y<<1)>>1]|0)+((L+M|0)*20|0)+(H(K+D|0,-5)|0)>>5;b[d>>1]=F>>>0<16384?F:(F^-2147483648)>>31&16383;F=G+16|0;D=F+D+((K+L|0)*20|0)+(H(J+M|0,-5)|0)>>5;b[d+(w<<1)>>1]=D>>>0<16384?D:(D^-2147483648)>>31&16383;D=E+16|0;M=D+M+((J+K|0)*20|0)+(H(G+L|0,-5)|0)>>5;b[d+(h<<1)>>1]=M>>>0<16384?M:(M^-2147483648)>>31&16383;L=L+16+c+((G+J|0)*20|0)+(H(E+K|0,-5)|0)>>5;b[d+(i<<1)>>1]=L>>>0<16384?L:(L^-2147483648)>>31&16383;J=K+16+A+((E+G|0)*20|0)+(H(c+J|0,-5)|0)>>5;b[d+(j<<1)>>1]=J>>>0<16384?J:(J^-2147483648)>>31&16383;G=I+B+((c+E|0)*20|0)+(H(A+G|0,-5)|0)>>5;b[d+(k<<1)>>1]=G>>>0<16384?G:(G^-2147483648)>>31&16383;E=F+a+((A+c|0)*20|0)+(H(B+E|0,-5)|0)>>5;b[d+(l<<1)>>1]=E>>>0<16384?E:(E^-2147483648)>>31&16383;c=D+C+((B+A|0)*20|0)+(H(a+c|0,-5)|0)>>5;b[d+(m<<1)>>1]=c>>>0<16384?c:(c^-2147483648)>>31&16383;g=g+1|0;d=d+2|0;f=f+2|0}return}function tg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=Mb;Mb=Mb+192|0;i=r+168|0;h=r+152|0;q=r+136|0;p=r+120|0;o=r+112|0;l=r+96|0;k=r+80|0;f=r+64|0;m=r+48|0;g=r+32|0;e=r+16|0;s=r;j=r+184|0;c[s>>2]=d;d=(c[s>>2]|0)+(4-1)&~(4-1);n=c[d>>2]|0;c[s>>2]=d+4;n=(b|0)==4?n|32768:n;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=n;d=tP(R(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=j;d=R(221,g|0)|0;switch(d|0){case -22:{c[m>>2]=a;c[m+4>>2]=9;c[m+8>>2]=n;d=R(221,m|0)|0;break}case 0:{d=c[j+4>>2]|0;d=(c[j>>2]|0)==2?0-d|0:d;break}default:d=tP(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=n;d=R(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[k>>2]=d;c[k+4>>2]=2;c[k+8>>2]=1;R(221,k|0)|0}d=tP(d)|0;break a}c[l>>2]=a;c[l+4>>2]=1030;c[l+8>>2]=0;d=R(221,l|0)|0;if((d|0)==-22){c[p>>2]=a;c[p+4>>2]=0;c[p+8>>2]=n;d=R(221,p|0)|0;if((d|0)>-1){c[q>>2]=d;c[q+4>>2]=2;c[q+8>>2]=1;R(221,q|0)|0}d=tP(d)|0;break a}else{if((d|0)>-1){c[o>>2]=d;V(6,o|0)|0}d=tP(-22)|0;break a}}case 15:case 16:case 12:case 13:{c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=n;d=tP(R(221,h|0)|0)|0;break}default:{c[i>>2]=a;c[i+4>>2]=b;c[i+8>>2]=n;d=tP(R(221,i|0)|0)|0}}while(0);Mb=r;return d|0}function ug(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;g=f>>1;if(!b){b=e[a+-2>>1]|0;d=b}else{d=e[a+-2>>1]|0;b=e[a+(~g<<1)>>1]|0}u=e[a+(g+-1<<1)>>1]|0;t=u+2|0;r=f&-2;s=e[a+(r+-1<<1)>>1]|0;q=s+2|0;p=g*3|0;o=e[a+(p+-1<<1)>>1]|0;n=g<<2;m=e[a+(n+-1<<1)>>1]|0;l=g*5|0;k=e[a+(l+-1<<1)>>1]|0;j=g*6|0;i=e[a+(j+-1<<1)>>1]|0;f=g*7|0;h=e[a+(f+-1<<1)>>1]|0;w=XJ((t+b+(d<<1)|0)>>>2|0,0,65537,65537)|0;v=M()|0;b=a;c[b>>2]=w;c[b+4>>2]=v;b=a+8|0;c[b>>2]=w;c[b+4>>2]=v;u=XJ((q+d+(u<<1)|0)>>>2|0,0,65537,65537)|0;b=M()|0;d=a+(g<<1)|0;g=d;c[g>>2]=u;c[g+4>>2]=b;d=d+8|0;c[d>>2]=u;c[d+4>>2]=b;d=XJ((t+(s<<1)+o|0)>>>2|0,0,65537,65537)|0;g=M()|0;b=a+(r<<1)|0;r=b;c[r>>2]=d;c[r+4>>2]=g;b=b+8|0;c[b>>2]=d;c[b+4>>2]=g;b=XJ((q+(o<<1)+m|0)>>>2|0,0,65537,65537)|0;g=M()|0;d=a+(p<<1)|0;p=d;c[p>>2]=b;c[p+4>>2]=g;d=d+8|0;c[d>>2]=b;c[d+4>>2]=g;d=XJ((o+2+(m<<1)+k|0)>>>2|0,0,65537,65537)|0;g=M()|0;b=a+(n<<1)|0;n=b;c[n>>2]=d;c[n+4>>2]=g;b=b+8|0;c[b>>2]=d;c[b+4>>2]=g;b=XJ((m+2+(k<<1)+i|0)>>>2|0,0,65537,65537)|0;g=M()|0;d=a+(l<<1)|0;l=d;c[l>>2]=b;c[l+4>>2]=g;d=d+8|0;c[d>>2]=b;c[d+4>>2]=g;d=XJ((k+2+(i<<1)+h|0)>>>2|0,0,65537,65537)|0;g=M()|0;b=a+(j<<1)|0;j=b;c[j>>2]=d;c[j+4>>2]=g;b=b+8|0;c[b>>2]=d;c[b+4>>2]=g;b=XJ((i+2+(h*3|0)|0)>>>2|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;a=f;c[a>>2]=b;c[a+4>>2]=g;f=f+8|0;c[f>>2]=b;c[f+4>>2]=g;return}function vg(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;w=d>>1;x=f>>1;y=H(x,-2)|0;z=0-x|0;u=f&-2;v=x*3|0;n=x<<2;o=x*5|0;p=x*6|0;q=x*7|0;r=x<<3;s=x*9|0;t=x*10|0;h=d&-2;i=w*3|0;j=w<<2;k=w*5|0;l=w*6|0;m=w*7|0;g=0;d=a;f=c;while(1){if((g|0)==8)break;D=e[f+(z<<1)>>1]|0;M=e[f>>1]|0;L=e[f+(x<<1)>>1]|0;K=e[f+(u<<1)>>1]|0;J=e[f+(v<<1)>>1]|0;G=e[f+(n<<1)>>1]|0;E=e[f+(o<<1)>>1]|0;c=e[f+(p<<1)>>1]|0;A=e[f+(q<<1)>>1]|0;B=e[f+(r<<1)>>1]|0;a=e[f+(s<<1)>>1]|0;C=e[f+(t<<1)>>1]|0;I=J+16|0;F=I+(e[f+(y<<1)>>1]|0)+((L+M|0)*20|0)+(H(K+D|0,-5)|0)>>5;b[d>>1]=F>>>0<4096?F:(F^-2147483648)>>31&4095;F=G+16|0;D=F+D+((K+L|0)*20|0)+(H(J+M|0,-5)|0)>>5;b[d+(w<<1)>>1]=D>>>0<4096?D:(D^-2147483648)>>31&4095;D=E+16|0;M=D+M+((J+K|0)*20|0)+(H(G+L|0,-5)|0)>>5;b[d+(h<<1)>>1]=M>>>0<4096?M:(M^-2147483648)>>31&4095;L=L+16+c+((G+J|0)*20|0)+(H(E+K|0,-5)|0)>>5;b[d+(i<<1)>>1]=L>>>0<4096?L:(L^-2147483648)>>31&4095;J=K+16+A+((E+G|0)*20|0)+(H(c+J|0,-5)|0)>>5;b[d+(j<<1)>>1]=J>>>0<4096?J:(J^-2147483648)>>31&4095;G=I+B+((c+E|0)*20|0)+(H(A+G|0,-5)|0)>>5;b[d+(k<<1)>>1]=G>>>0<4096?G:(G^-2147483648)>>31&4095;E=F+a+((A+c|0)*20|0)+(H(B+E|0,-5)|0)>>5;b[d+(l<<1)>>1]=E>>>0<4096?E:(E^-2147483648)>>31&4095;c=D+C+((B+A|0)*20|0)+(H(a+c|0,-5)|0)>>5;b[d+(m<<1)>>1]=c>>>0<4096?c:(c^-2147483648)>>31&4095;g=g+1|0;d=d+2|0;f=f+2|0}return}function wg(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;w=d>>1;x=f>>1;y=H(x,-2)|0;z=0-x|0;u=f&-2;v=x*3|0;n=x<<2;o=x*5|0;p=x*6|0;q=x*7|0;r=x<<3;s=x*9|0;t=x*10|0;h=d&-2;i=w*3|0;j=w<<2;k=w*5|0;l=w*6|0;m=w*7|0;g=0;d=a;f=c;while(1){if((g|0)==8)break;D=e[f+(z<<1)>>1]|0;M=e[f>>1]|0;L=e[f+(x<<1)>>1]|0;K=e[f+(u<<1)>>1]|0;J=e[f+(v<<1)>>1]|0;G=e[f+(n<<1)>>1]|0;E=e[f+(o<<1)>>1]|0;c=e[f+(p<<1)>>1]|0;A=e[f+(q<<1)>>1]|0;B=e[f+(r<<1)>>1]|0;a=e[f+(s<<1)>>1]|0;C=e[f+(t<<1)>>1]|0;I=J+16|0;F=I+(e[f+(y<<1)>>1]|0)+((L+M|0)*20|0)+(H(K+D|0,-5)|0)>>5;b[d>>1]=F>>>0<1024?F:(F^-2147483648)>>31&1023;F=G+16|0;D=F+D+((K+L|0)*20|0)+(H(J+M|0,-5)|0)>>5;b[d+(w<<1)>>1]=D>>>0<1024?D:(D^-2147483648)>>31&1023;D=E+16|0;M=D+M+((J+K|0)*20|0)+(H(G+L|0,-5)|0)>>5;b[d+(h<<1)>>1]=M>>>0<1024?M:(M^-2147483648)>>31&1023;L=L+16+c+((G+J|0)*20|0)+(H(E+K|0,-5)|0)>>5;b[d+(i<<1)>>1]=L>>>0<1024?L:(L^-2147483648)>>31&1023;J=K+16+A+((E+G|0)*20|0)+(H(c+J|0,-5)|0)>>5;b[d+(j<<1)>>1]=J>>>0<1024?J:(J^-2147483648)>>31&1023;G=I+B+((c+E|0)*20|0)+(H(A+G|0,-5)|0)>>5;b[d+(k<<1)>>1]=G>>>0<1024?G:(G^-2147483648)>>31&1023;E=F+a+((A+c|0)*20|0)+(H(B+E|0,-5)|0)>>5;b[d+(l<<1)>>1]=E>>>0<1024?E:(E^-2147483648)>>31&1023;c=D+C+((B+A|0)*20|0)+(H(a+c|0,-5)|0)>>5;b[d+(m<<1)>>1]=c>>>0<1024?c:(c^-2147483648)>>31&1023;g=g+1|0;d=d+2|0;f=f+2|0}return}function xg(a,b,g,i){a=a|0;b=b|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0;E=Mb;Mb=Mb+176|0;A=E+96|0;D=E;w=c[g+96>>2]|0;x=d[g>>0]|0;w=(w|0)>(x|0)?x:w;x=g+92|0;y=g+88|0;v=g+80|0;q=(i|0)==0;o=0;while(1){if((o|0)>=(c[x>>2]|0))break;r=b+4+(o<<2)|0;s=o<<7;p=0;g=c[y>>2]|0;while(1){if((p|0)>=(c[r>>2]|0))break;u=g-(c[b+36+(o<<4)+(p<<2)>>2]|0)|0;u=(u|0)>0?u:0;t=c[b+292+(o<<4)+(p<<2)>>2]|0;a:do if(t|0?(du(b+2980+(o*320|0)+(p*80|0)|0,t,A),B=c[v>>2]|0,z=e[B+(((u|0)>(w|0)?w:u)<<1)>>1]|0,B=e[B+(((g|0)>(w|0)?w:g)<<1)>>1]|0,C=B-z|0,(C|0)>=1):0){g=(c[b+164+(o<<4)+(p<<2)>>2]|0)==0;n=g?1:-1;g=(g?z:B+-1|0)+s|0;if(!q){l=0;while(1){if((l|0)==(C|0))break a;j=(l|0)>(t|0)?t:l;k=a+(g<<2)|0;i=1;while(1){if((i|0)>(j|0))break;F=a+(g-(H(i,n)|0)<<2)|0;f[k>>2]=+f[k>>2]-+f[F>>2]*+f[A+(i+-1<<2)>>2];i=i+1|0}l=l+1|0;g=g+n|0}}l=0;k=g;while(1){if((l|0)==(C|0))break a;i=a+(k<<2)|0;F=c[i>>2]|0;c[D>>2]=F;j=(l|0)>(t|0)?t:l;g=1;m=(c[h>>2]=F,+f[h>>2]);while(1){if((g|0)>(j|0))break;G=m+ +f[D+(g<<2)>>2]*+f[A+(g+-1<<2)>>2];f[i>>2]=G;g=g+1|0;m=G}g=t;while(1){if((g|0)<=0)break;F=g+-1|0;c[D+(g<<2)>>2]=c[D+(F<<2)>>2];g=F}l=l+1|0;k=k+n|0}}while(0);p=p+1|0;g=u}o=o+1|0}Mb=E;return}function yg(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;w=d>>1;x=f>>1;y=H(x,-2)|0;z=0-x|0;u=f&-2;v=x*3|0;n=x<<2;o=x*5|0;p=x*6|0;q=x*7|0;r=x<<3;s=x*9|0;t=x*10|0;h=d&-2;i=w*3|0;j=w<<2;k=w*5|0;l=w*6|0;m=w*7|0;g=0;d=a;f=c;while(1){if((g|0)==8)break;D=e[f+(z<<1)>>1]|0;M=e[f>>1]|0;L=e[f+(x<<1)>>1]|0;K=e[f+(u<<1)>>1]|0;J=e[f+(v<<1)>>1]|0;G=e[f+(n<<1)>>1]|0;E=e[f+(o<<1)>>1]|0;c=e[f+(p<<1)>>1]|0;A=e[f+(q<<1)>>1]|0;B=e[f+(r<<1)>>1]|0;a=e[f+(s<<1)>>1]|0;C=e[f+(t<<1)>>1]|0;I=J+16|0;F=I+(e[f+(y<<1)>>1]|0)+((L+M|0)*20|0)+(H(K+D|0,-5)|0)>>5;b[d>>1]=F>>>0<512?F:(F^-2147483648)>>31&511;F=G+16|0;D=F+D+((K+L|0)*20|0)+(H(J+M|0,-5)|0)>>5;b[d+(w<<1)>>1]=D>>>0<512?D:(D^-2147483648)>>31&511;D=E+16|0;M=D+M+((J+K|0)*20|0)+(H(G+L|0,-5)|0)>>5;b[d+(h<<1)>>1]=M>>>0<512?M:(M^-2147483648)>>31&511;L=L+16+c+((G+J|0)*20|0)+(H(E+K|0,-5)|0)>>5;b[d+(i<<1)>>1]=L>>>0<512?L:(L^-2147483648)>>31&511;J=K+16+A+((E+G|0)*20|0)+(H(c+J|0,-5)|0)>>5;b[d+(j<<1)>>1]=J>>>0<512?J:(J^-2147483648)>>31&511;G=I+B+((c+E|0)*20|0)+(H(A+G|0,-5)|0)>>5;b[d+(k<<1)>>1]=G>>>0<512?G:(G^-2147483648)>>31&511;E=F+a+((A+c|0)*20|0)+(H(B+E|0,-5)|0)>>5;b[d+(l<<1)>>1]=E>>>0<512?E:(E^-2147483648)>>31&511;c=D+C+((B+A|0)*20|0)+(H(a+c|0,-5)|0)>>5;b[d+(m<<1)>>1]=c>>>0<512?c:(c^-2147483648)>>31&511;g=g+1|0;d=d+2|0;f=f+2|0}return}function zg(a,b,d,e,h){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;var i=0,j=0;i=c[a+12>>2]|0;a:do if((i|0)>=9){if((i|0)<1128811585){if((i|0)<128)switch(i|0){case 9:{j=6;break a}default:{a=-22;break a}}if((i|0)>=1112493900)switch(i|0){case 1112493900:{j=5;break a}default:{a=-22;break a}}switch(i|0){case 128:break;default:{a=-22;break a}}g[d>>3]=+g[a+16>>3];a=0;break}if((i|0)<1346784596)if((i|0)<1146442272)switch(i|0){case 1128811585:{j=6;break a}default:{a=-22;break a}}else switch(i|0){case 1146442272:{j=6;break a}default:{a=-22;break a}}if((i|0)<1397116244){switch(i|0){case 1346784596:break;default:{a=-22;break a}}i=c[b>>2]|0;a=h;c[a>>2]=i;c[a+4>>2]=((i|0)<0)<<31>>31;a=0;break}else{switch(i|0){case 1397116244:break;default:{a=-22;break a}}i=c[b>>2]|0;a=h;c[a>>2]=i;c[a+4>>2]=((i|0)<0)<<31>>31;a=0;break}}else switch(i|0){case 1:{j=5;break a}case 2:{j=6;break a}case 0:{a=h;c[a>>2]=c[b>>2];c[a+4>>2]=0;a=0;break a}case 4:{g[d>>3]=+f[b>>2];a=0;break a}case 3:{g[d>>3]=+g[b>>3];a=0;break a}case 6:{i=c[b>>2]|0;a=h;c[a>>2]=i;c[a+4>>2]=((i|0)<0)<<31>>31;c[e>>2]=c[b+4>>2];a=0;break a}default:{a=-22;break a}}while(0);if((j|0)==5){j=c[b>>2]|0;a=h;c[a>>2]=j;c[a+4>>2]=((j|0)<0)<<31>>31;a=0}else if((j|0)==6){i=b;j=c[i+4>>2]|0;a=h;c[a>>2]=c[i>>2];c[a+4>>2]=j;a=0}return a|0}function Ag(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=c[d+74176>>2]|0;p=d+17856|0;o=(a[d+12>>0]|0)==0?214112:288832;j=(a[d+13>>0]|0)!=0;f=j?284736:217696;j=j?288832:214112;k=b+1024|0;l=b+5696|0;m=d+4|0;a:do if((c[m>>2]|0)==2){g=b+5188|0;h=b+5232|0;e=0;while(1){if(e>>>0>=1024)break a;gc[c[h>>2]&1023](g,b+1024+(e<<2)|0,d+13760+(e<<2)|0);e=e+128|0}}else gc[c[b+5164>>2]&1023](b+5120|0,k,d+13760|0);while(0);switch(c[d+8>>2]|0){case 3:case 0:{if((c[m>>2]|0)>>>0<2)jc[c[(c[b+5404>>2]|0)+20>>2]&127](n,p,k,f,512);else i=9;break}default:i=9}do if((i|0)==9){rk(n|0,p|0,1792)|0;i=(c[m>>2]|0)==2;e=b+5404|0;jc[c[(c[e>>2]|0)+20>>2]&127](n+1792|0,d+19648|0,k,j,64);if(i){jc[c[(c[e>>2]|0)+20>>2]&127](n+2304|0,b+1280|0,b+1536|0,o,64);jc[c[(c[e>>2]|0)+20>>2]&127](n+2816|0,b+1792|0,b+2048|0,o,64);jc[c[(c[e>>2]|0)+20>>2]&127](n+3328|0,b+2304|0,b+2560|0,o,64);jc[c[(c[e>>2]|0)+20>>2]&127](l,b+2816|0,b+3072|0,o,64);rk(n+3840|0,l|0,256)|0;break}else{rk(n+2304|0,b+1280|0,1792)|0;break}}while(0);f=c[m>>2]|0;do if((f|0)!=2){e=b+3072|0;if((f|0)==1){rk(p|0,e|0,1792)|0;rk(d+19648|0,b+4864|0,256)|0;break}else{rk(p|0,e|0,2048)|0;break}}else{rk(p|0,b+5952|0,256)|0;p=b+5404|0;jc[c[(c[p>>2]|0)+20>>2]&127](d+18112|0,b+3328|0,b+3584|0,o,64);jc[c[(c[p>>2]|0)+20>>2]&127](d+18624|0,b+3840|0,b+4096|0,o,64);jc[c[(c[p>>2]|0)+20>>2]&127](d+19136|0,b+4352|0,b+4608|0,o,64);rk(d+19648|0,b+4864|0,256)|0}while(0);return}function Bg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;y=a+32|0;z=a+36|0;h=c[z>>2]|0;A=a+48|0;g=c[A>>2]|0;i=0;j=c[y>>2]|0;while(1){if((j|0)<(g|0))break;i=i+1|0;j=j-g|0}t=a+4|0;u=a+12|0;v=a+8|0;w=a+28|0;x=a+24|0;s=a+40|0;r=0;while(1){if((r|0)>=(e|0))break;l=(c[t>>2]|0)+((H(c[u>>2]|0,j)|0)<<2)|0;m=c[v>>2]|0;n=((m|0)>1?m:1)&2147483646;k=0;a=536870912;g=0;p=0;q=0;while(1){o=k|1;if((o|0)>=(m|0))break;D=k+i|0;C=c[d+(D<<2)>>2]|0;B=c[l+(k<<2)>>2]|0;C=XJ(B|0,((B|0)<0)<<31>>31|0,C|0,((C|0)<0)<<31>>31|0)|0;C=SO(C|0,M()|0,a|0,g|0)|0;B=M()|0;D=c[d+(D+1<<2)>>2]|0;o=c[l+(o<<2)>>2]|0;o=XJ(o|0,((o|0)<0)<<31>>31|0,D|0,((D|0)<0)<<31>>31|0)|0;o=SO(o|0,M()|0,p|0,q|0)|0;k=k+2|0;a=C;g=B;p=o;q=M()|0}if((n|0)<(m|0)){D=c[d+(n+i<<2)>>2]|0;C=c[l+(n<<2)>>2]|0;D=XJ(C|0,((C|0)<0)<<31>>31|0,D|0,((D|0)<0)<<31>>31|0)|0;a=SO(D|0,M()|0,a|0,g|0)|0;g=M()|0}B=SO(a|0,g|0,p|0,q|0)|0;D=M()|0;a=FM(B|0,D|0,30)|0;g=SO(a|0,M()|0,-2147483648,0)|0;C=M()|0;D=FM(B|0,D|0,63)|0;M()|0;c[b+(r<<2)>>2]=C>>>0>0|(C|0)==0&g>>>0>4294967295?D^2147483647:a;a=(c[w>>2]|0)+h|0;h=c[s>>2]|0;D=(a|0)<(h|0);h=D?0:h;g=c[A>>2]|0;j=(c[x>>2]|0)+j+((D^1)&1)|0;while(1){if((j|0)<(g|0))break;i=i+1|0;j=j-g|0}r=r+1|0;h=a-h|0}if(f|0){c[z>>2]=h;c[y>>2]=j}return i|0}function Cg(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;r=a+72|0;s=a+16|0;t=a+32|0;u=a+20|0;v=a+52|0;w=a+44|0;h=a+36|0;i=a+64|0;j=a+48|0;k=a+24|0;l=a+25|0;m=a+26|0;n=a+27|0;o=a+56|0;p=a+60|0;q=a+68|0;g=0;a:while(1){if(!e){f=0;break}switch(c[s>>2]|0){case 0:{y=c[t>>2]|0;z=9-y|0;z=z>>>0>e>>>0?e:z;rk(a+20+y|0,b+g|0,z|0)|0;y=z+(c[t>>2]|0)|0;c[t>>2]=y;e=e-z|0;g=z+g|0;if((y|0)==9){c[s>>2]=3;c[t>>2]=0}break}case 1:{z=c[t>>2]|0;y=11-z|0;y=y>>>0>e>>>0?e:y;rk(a+20+z|0,b+g|0,y|0)|0;z=y+(c[t>>2]|0)|0;c[t>>2]=z;e=e-y|0;g=y+g|0;if((z|0)==11){c[s>>2]=2;c[t>>2]=0;c[j>>2]=d[u>>0];z=mP(u,1)|0;c[v>>2]=z;c[o>>2]=(d[l>>0]|0)<<8|(d[k>>0]|0)<<16|(d[m>>0]|0)|(d[n>>0]|0)<<24}break}case 2:{nK(a,c[v>>2]|0);z=c[w>>2]|0;y=(c[v>>2]|0)-z|0;y=y>>>0>e>>>0?e:y;rk((c[h>>2]|0)+z|0,b+g|0,y|0)|0;z=(c[w>>2]|0)+y|0;c[w>>2]=z;e=e-y|0;g=y+g|0;if((z|0)==(c[v>>2]|0)){c[s>>2]=3;c[w>>2]=0}break}case 3:{z=c[i>>2]|0;y=4-z|0;y=y>>>0>e>>>0?e:y;rk(a+60+z|0,b+g|0,y|0)|0;z=y+(c[i>>2]|0)|0;c[i>>2]=z;e=e-y|0;g=y+g|0;if(((z|0)==4?(c[s>>2]=1,c[i>>2]=0,z=fO(p,0)|0,c[q>>2]=z,x=c[v>>2]|0,(x|0)==(z+-11|0)):0)?(f=sG(c[r>>2]|0,c[j>>2]|0,c[h>>2]|0,x,c[o>>2]|0)|0,(f|0)>0):0)break a;break}default:{}}}return f|0}function Dg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0;o=Mb;Mb=Mb+16|0;l=o;k=a+128|0;do if(((c[k>>2]|0)+-4|0)>>>0<61)b=-22;else{n=xO(b)|0;h=xO(d)|0;if((h+-3|0)>>>0>=2){d=(h|0)==2;b=(n|0)==2;if(b&d){e=(c[a+11040>>2]&31|0)==0?0.0:1.0;b=1;d=1}else e=0.0}else{b=(n|0)==2;e=(n|0)==0?.0078125:(n|0)==1?.000030517578125:b?4.656612873077393e-10:0.0;d=0}j=(n|0)==0;e=(j&(h|0)==1?256.0:j&d?16777216.0:(n|0)==1&d?65536.0:e)*+f[a+136>>2];if(b){j=c[a+11040>>2]|0;e=(j|0)==0?e:e*+(1<<32-j|0)}if(e==0.0){c[k>>2]=0;b=0;break}c[a+156>>2]=0;p=e;f[a+140>>2]=p;f[a+148>>2]=p;j=a+152|0;f[j>>2]=1.0/e;Wp(a+240|0,0,10240)|0;b=a+44|0;i=0;while(1){if((i|0)==15){m=19;break}h=c[150848+(i*24|0)>>2]|0;t=(c[b>>2]|0)-h|0;r=((t|0)<0)<<31>>31;q=(r|0)>-1|(r|0)==-1&t>>>0>4294967295;s=QO(0,0,t|0,r|0)|0;d=M()|0;d=XJ((q?t:s)|0,(q?r:d)|0,20,0)|0;r=M()|0;q=((h|0)<0)<<31>>31;if(!((r|0)>(q|0)|(r|0)==(q|0)&d>>>0>h>>>0)?(c[150848+(i*24|0)+20>>2]|0)==(c[k>>2]|0):0)break;i=i+1|0}if((m|0)==19){if((c[k>>2]|0)<=64){b=0;break}Xw(a,24,210194,l);c[k>>2]=3;b=0;break}d=150848+(i*24|0)+16|0;h=c[150848+(i*24|0)+8>>2]|0;c[a+144>>2]=h;b=0;while(1){if((b|0)==(h|0))break;f[a+160+(b<<2)>>2]=+g[(c[d>>2]|0)+(b<<3)>>3];b=b+1|0}p=+E(+(+(c[150848+(i*24|0)+12>>2]|0)*2.302585092994046*.005))*2.0;p=1.0-p/+(1<<((JP(n)|0)<<3)|0);f[j>>2]=p*+f[j>>2];b=0}while(0);Mb=o;return b|0}function Eg(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+6)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:(k^-2147483648)>>31&16383;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:(k^-2147483648)>>31&16383;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:(k^-2147483648)>>31&16383;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:(k^-2147483648)>>31&16383;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:(k^-2147483648)>>31&16383;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:(k^-2147483648)>>31&16383;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:(k^-2147483648)>>31&16383;a=c+16|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:(k^-2147483648)>>31&16383;a=c+18|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:(k^-2147483648)>>31&16383;a=c+20|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:(k^-2147483648)>>31&16383;a=c+22|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:(k^-2147483648)>>31&16383;a=c+24|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:(k^-2147483648)>>31&16383;a=c+26|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:(k^-2147483648)>>31&16383;a=c+28|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:(k^-2147483648)>>31&16383;a=c+30|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:(k^-2147483648)>>31&16383;c=c+(j<<1)|0;h=h+1|0}return}function Fg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=Mb;Mb=Mb+16|0;h=p;k=a+64|0;l=c[(c[k>>2]|0)+20>>2]|0;n=a+12|0;e=c[n>>2]|0;_u(l,b);f=l+4|0;g=c[f>>2]|0;if((g|0?(d=c[l>>2]|0,(g|0)!=(d|0)):0)?($f(c[d+212>>2]|0,c[g+212>>2]|0,0)|0)<0:0){Xw(a,16,184824,h);h=c[(c[(c[l>>2]|0)+212>>2]|0)+64>>2]|0;c[c[(c[(c[f>>2]|0)+212>>2]|0)+64>>2]>>2]=c[h>>2];c[h>>2]=1}f=e+92|0;e=0;while(1){if((e|0)>=(b|0))break;g=c[l>>2]|0;h=g+(e*352|0)|0;d=g+(e*352|0)+156|0;jV(d)|0;c[g+(e*352|0)+332>>2]=1;xb(g+(e*352|0)+12|0)|0;jV(d)|0;d=g+(e*352|0)+8|0;if(c[d>>2]|0)Ab(c[g+(e*352|0)+4>>2]|0,0)|0;c[d>>2]=0;d=c[f>>2]|0;if(d|0?(i=c[g+(e*352|0)+212>>2]|0,i|0):0)Vb[d&31](i)|0;mr(h);QP(g+(e*352|0)+288|0);e=e+1|0}d=0;while(1){if((d|0)>=(b|0))break;e=c[l>>2]|0;jV(e+(d*352|0)+156|0)|0;jV(e+(d*352|0)+184|0)|0;vb(e+(d*352|0)+12|0)|0;vb(e+(d*352|0)+60|0)|0;vb(e+(d*352|0)+108|0)|0;gP(e+(d*352|0)+216|0);hM(e+(d*352|0)+304|0);e=e+(d*352|0)+212|0;if(d){f=c[e>>2]|0;if(f|0){hM(f+60|0);hM((c[e>>2]|0)+224|0);m=18}}else m=18;if((m|0)==18?(m=0,j=c[e>>2]|0,j|0):0){hM(j+64|0);QS((c[e>>2]|0)+976|0)}hM(e);d=d+1|0}hM(l);jV(l+8|0)|0;jV(l+36|0)|0;jV(l+64|0)|0;vb(l+92|0)|0;hM((c[k>>2]|0)+20|0);d=c[a+60>>2]|0;if((d|0?(o=c[n>>2]|0,o|0):0)?c[o+44>>2]|0:0)kE(d);c[n>>2]=0;Mb=p;return}function Gg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=Mb;Mb=Mb+16|0;v=w;i=b+6472|0;switch(c[i>>2]|0){case 23:{g=11;break}case 39:{g=12;break}default:if(!(c[b+6516>>2]|0))g=c[b+6744>>2]|0;else g=13}t=b+4|0;u=b+6752|0;j=b+6748|0;k=b+6760|0;l=b+6488|0;h=3;while(1){if((h|0)<=-1)break;m=(h|0)<2;n=(h|0)==1;o=(h|0)==2;p=(h|0)<3;f=0;while(1){if((f|0)==16)break;q=c[b+492+(h<<6)+(f<<2)>>2]|0;do if(q|0){if(!(c[q>>2]|0)){s=c[t>>2]|0;c[v>>2]=h;c[v+4>>2]=f;Xw(s,40,187576,v);break}if(m)Dn(b,q,h,f,0,41);if((c[i>>2]|0)==4?(r=q+288|0,c[q+388>>2]|0):0){if(a[q+316>>0]|0)ec[c[j>>2]&255](b,r);if(n&(a[q+74524>>0]|0)!=0)ec[c[j>>2]&255](b,q+74496|0)}s=q+288|0;d=q+580|0;if(c[d>>2]|0)hc[c[u>>2]&255](q+14048|0,d,s,1);e=q+74496|0;d=q+74788|0;if(c[d>>2]|0)hc[c[u>>2]&255](q+88256|0,d,e,1);if(!m)if(o?(c[q+148704>>2]|0)!=3:0)d=35;else d=27;else{Dn(b,q,h,f,1,41);d=27}if((d|0)==27){d=0;ec[g&255](b,s);if((c[i>>2]|0)==4)ec[c[k>>2]&255](b,s);if(n?(ec[g&255](b,e),(c[i>>2]|0)==4):0)ec[c[k>>2]&255](b,e);if((c[l>>2]|0)>0)$e(b,q+156512|0,h,c[q+74464>>2]|0,c[q+148672>>2]|0);if(p)d=35}if((d|0)==35)Dn(b,q,h,f,3,42);c[q>>2]=0}while(0);f=f+1|0}h=h+-1|0}Mb=w;return}function Hg(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;g=0;h=0;a=c;while(1){c=a+e|0;if((g|0)>=(f|0))break;x=(d[b>>0]|0)-(((d[a>>0]|0)+1+(d[c>>0]|0)|0)>>>1)|0;w=(d[b+1>>0]|0)-(((d[a+1>>0]|0)+1+(d[c+1>>0]|0)|0)>>>1)|0;v=(d[b+2>>0]|0)-(((d[a+2>>0]|0)+1+(d[c+2>>0]|0)|0)>>>1)|0;u=(d[b+3>>0]|0)-(((d[a+3>>0]|0)+1+(d[c+3>>0]|0)|0)>>>1)|0;t=(d[b+4>>0]|0)-(((d[a+4>>0]|0)+1+(d[c+4>>0]|0)|0)>>>1)|0;s=(d[b+5>>0]|0)-(((d[a+5>>0]|0)+1+(d[c+5>>0]|0)|0)>>>1)|0;r=(d[b+6>>0]|0)-(((d[a+6>>0]|0)+1+(d[c+6>>0]|0)|0)>>>1)|0;q=(d[b+7>>0]|0)-(((d[a+7>>0]|0)+1+(d[c+7>>0]|0)|0)>>>1)|0;p=(d[b+8>>0]|0)-(((d[a+8>>0]|0)+1+(d[c+8>>0]|0)|0)>>>1)|0;o=(d[b+9>>0]|0)-(((d[a+9>>0]|0)+1+(d[c+9>>0]|0)|0)>>>1)|0;n=(d[b+10>>0]|0)-(((d[a+10>>0]|0)+1+(d[c+10>>0]|0)|0)>>>1)|0;m=(d[b+11>>0]|0)-(((d[a+11>>0]|0)+1+(d[c+11>>0]|0)|0)>>>1)|0;l=(d[b+12>>0]|0)-(((d[a+12>>0]|0)+1+(d[c+12>>0]|0)|0)>>>1)|0;k=(d[b+13>>0]|0)-(((d[a+13>>0]|0)+1+(d[c+13>>0]|0)|0)>>>1)|0;j=(d[b+14>>0]|0)-(((d[a+14>>0]|0)+1+(d[c+14>>0]|0)|0)>>>1)|0;i=(d[b+15>>0]|0)-(((d[a+15>>0]|0)+1+(d[c+15>>0]|0)|0)>>>1)|0;g=g+1|0;h=((x|0)>-1?x:0-x|0)+h+((w|0)>-1?w:0-w|0)+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)|0;b=b+e|0;a=c}return h|0}function Ig(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=g>>1;h=c;i=0;d=d+(0-(g&-2)<<1)|0;while(1){if((i|0)==9)break;k=d+2|0;n=d+-2|0;g=d+4|0;o=H((e[g>>1]|0)+(e[n>>1]|0)|0,-5)|0;l=d+6|0;b[h>>1]=(((e[k>>1]|0)+(e[d>>1]|0)|0)*20|0)+(e[d+-4>>1]|0)+o+(e[l>>1]|0);o=H((e[l>>1]|0)+(e[d>>1]|0)|0,-5)|0;m=d+8|0;b[h+2>>1]=(((e[g>>1]|0)+(e[k>>1]|0)|0)*20|0)+(e[n>>1]|0)+o+(e[m>>1]|0);o=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;n=d+10|0;b[h+4>>1]=(((e[l>>1]|0)+(e[g>>1]|0)|0)*20|0)+(e[d>>1]|0)+o+(e[n>>1]|0);g=H((e[n>>1]|0)+(e[g>>1]|0)|0,-5)|0;b[h+6>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+(e[k>>1]|0)+g+(e[d+12>>1]|0);h=h+16|0;i=i+1|0;d=d+(j<<1)|0}j=f>>1;h=f&-2;i=j*3|0;d=c+32|0;g=0;while(1){if((g|0)==4)break;q=b[d+-16>>1]|0;p=b[d>>1]|0;f=b[d+16>>1]|0;n=b[d+32>>1]|0;l=b[d+48>>1]|0;k=b[d+64>>1]|0;m=b[d+80>>1]|0;c=b[d+96>>1]|0;o=(b[d+-32>>1]|0)+512+l+((f+p|0)*20|0)+(H(n+q|0,-5)|0)>>10;b[a>>1]=((e[a>>1]|0)+1+(o>>>0<512?o:(o^-2147483648)>>31&511)|0)>>>1;o=a+(j<<1)|0;q=q+512+k+((n+f|0)*20|0)+(H(l+p|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(q>>>0<512?q:(q^-2147483648)>>31&511)|0)>>>1;o=a+(h<<1)|0;p=p+512+m+((l+n|0)*20|0)+(H(k+f|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(p>>>0<512?p:(p^-2147483648)>>31&511)|0)>>>1;o=a+(i<<1)|0;n=f+512+c+((k+l|0)*20|0)+(H(m+n|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(n>>>0<512?n:(n^-2147483648)>>31&511)|0)>>>1;a=a+2|0;d=d+2|0;g=g+1|0}return}function Jg(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=Mb;Mb=Mb+16|0;n=o;l=b+44|0;a:do if(((c[l>>2]|0)==0?(m=b+28|0,f=c[m>>2]|0,(f|0)>12):0)?(j=b+24|0,i=c[j>>2]|0,e=i+f+-8|0,h=e,g=h,h=h+4|0,h=OP(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24,d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24)|0,i,(h|0)==-1910117890&(M()|0)==-1941070576):0){e=e+-5|0;f=1;while(1){g=kS(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24|0)|0;if(g>>>0>2147483642){k=0;break a}h=e-i|0;if(h>>>0<g>>>0){k=0;break a}if((a[e+4>>0]|0)<0)break;if(h>>>0<(g+5|0)>>>0){k=0;break a}e=e+(-5-g)|0;f=f+1|0}if(f>>>0<=83){i=IQ(f)|0;h=b+40|0;c[h>>2]=i;if(i){g=(c[j>>2]|0)+(c[m>>2]|0)+-8+-5|0;i=0;while(1){e=kS(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0;if(e>>>0>=2147483643){e=15;break}if((g-(c[j>>2]|0)|0)>>>0<e>>>0){e=15;break}f=YQ(e+32|0)|0;p=c[h>>2]|0;c[p+(i*12|0)>>2]=f;c[p+(i*12|0)+4>>2]=e;b=g+4|0;c[p+(i*12|0)+8>>2]=a[b>>0]&127;if(!f){k=-12;break a}rk(f|0,g+(0-e)|0,e|0)|0;e=-5-e|0;f=e+(c[m>>2]|0)|0;c[m>>2]=f;if((a[b>>0]|0)<0){e=19;break}g=g+e|0;i=i+1|0}if((e|0)==15){c[n>>2]=167342;c[n+4>>2]=167320;c[n+8>>2]=462;Xw(0,0,213444,n);ba()}else if((e|0)==19){c[m>>2]=f+-8;c[l>>2]=i+1;k=1;break}}else k=-12}else k=-34}else k=0;while(0);Mb=o;return k|0}function Kg(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+4)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:(k^-2147483648)>>31&4095;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:(k^-2147483648)>>31&4095;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:(k^-2147483648)>>31&4095;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:(k^-2147483648)>>31&4095;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:(k^-2147483648)>>31&4095;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:(k^-2147483648)>>31&4095;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:(k^-2147483648)>>31&4095;a=c+16|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:(k^-2147483648)>>31&4095;a=c+18|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:(k^-2147483648)>>31&4095;a=c+20|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:(k^-2147483648)>>31&4095;a=c+22|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:(k^-2147483648)>>31&4095;a=c+24|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:(k^-2147483648)>>31&4095;a=c+26|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:(k^-2147483648)>>31&4095;a=c+28|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:(k^-2147483648)>>31&4095;a=c+30|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:(k^-2147483648)>>31&4095;c=c+(j<<1)|0;h=h+1|0}return}function Lg(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+2)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:(k^-2147483648)>>31&1023;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:(k^-2147483648)>>31&1023;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:(k^-2147483648)>>31&1023;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:(k^-2147483648)>>31&1023;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:(k^-2147483648)>>31&1023;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:(k^-2147483648)>>31&1023;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:(k^-2147483648)>>31&1023;a=c+16|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:(k^-2147483648)>>31&1023;a=c+18|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:(k^-2147483648)>>31&1023;a=c+20|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:(k^-2147483648)>>31&1023;a=c+22|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:(k^-2147483648)>>31&1023;a=c+24|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:(k^-2147483648)>>31&1023;a=c+26|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:(k^-2147483648)>>31&1023;a=c+28|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:(k^-2147483648)>>31&1023;a=c+30|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:(k^-2147483648)>>31&1023;c=c+(j<<1)|0;h=h+1|0}return}function Mg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;e=c[i>>2]|0;j=a+104|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;f=d[e>>0]|0}else f=fl(a)|0;switch(f|0){case 43:case 45:{g=(f|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=fl(a)|0;f=e+-48|0;if((b|0)!=0&f>>>0>9)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;k=14}else k=12;break}default:{g=0;e=f;f=f+-48|0;k=12}}if((k|0)==12)if(f>>>0>9)k=14;else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=fl(a)|0;b=e+-48|0}while(b>>>0<10&(f|0)<214748364);h=((f|0)<0)<<31>>31;if(b>>>0<10){do{l=XJ(f|0,h|0,10,0)|0;b=M()|0;e=SO(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=SO(e|0,M()|0,l|0,b|0)|0;h=M()|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=fl(a)|0;b=e+-48|0}while(b>>>0<10&((h|0)<21474836|(h|0)==21474836&f>>>0<2061584302));if(b>>>0<10){do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=fl(a)|0}while((e+-48|0)>>>0<10);e=h}else e=h}else e=h;if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;j=(g|0)==0;i=QO(0,0,f|0,e|0)|0;l=M()|0;f=j?f:i;e=j?e:l}if((k|0)==14)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;f=0;e=-2147483648}L(e|0);return f|0}function Ng(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+1)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:(k^-2147483648)>>31&511;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:(k^-2147483648)>>31&511;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:(k^-2147483648)>>31&511;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:(k^-2147483648)>>31&511;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:(k^-2147483648)>>31&511;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:(k^-2147483648)>>31&511;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:(k^-2147483648)>>31&511;a=c+16|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:(k^-2147483648)>>31&511;a=c+18|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:(k^-2147483648)>>31&511;a=c+20|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:(k^-2147483648)>>31&511;a=c+22|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:(k^-2147483648)>>31&511;a=c+24|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:(k^-2147483648)>>31&511;a=c+26|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:(k^-2147483648)>>31&511;a=c+28|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:(k^-2147483648)>>31&511;a=c+30|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:(k^-2147483648)>>31&511;c=c+(j<<1)|0;h=h+1|0}return}function Og(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=g>>1;h=c;i=0;d=d+(0-(g&-2)<<1)|0;while(1){if((i|0)==9)break;k=d+2|0;n=d+-2|0;g=d+4|0;o=H((e[g>>1]|0)+(e[n>>1]|0)|0,-5)|0;l=d+6|0;b[h>>1]=(((e[k>>1]|0)+(e[d>>1]|0)|0)*20|0)+55306+(e[d+-4>>1]|0)+o+(e[l>>1]|0);o=H((e[l>>1]|0)+(e[d>>1]|0)|0,-5)|0;m=d+8|0;b[h+2>>1]=(((e[g>>1]|0)+(e[k>>1]|0)|0)*20|0)+55306+(e[n>>1]|0)+o+(e[m>>1]|0);o=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;n=d+10|0;b[h+4>>1]=(((e[l>>1]|0)+(e[g>>1]|0)|0)*20|0)+55306+(e[d>>1]|0)+o+(e[n>>1]|0);g=H((e[n>>1]|0)+(e[g>>1]|0)|0,-5)|0;b[h+6>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+55306+(e[k>>1]|0)+g+(e[d+12>>1]|0);h=h+16|0;i=i+1|0;d=d+(j<<1)|0}j=f>>1;h=f&-2;i=j*3|0;d=c+32|0;g=0;while(1){if((g|0)==4)break;r=b[d+-16>>1]|0;p=b[d>>1]|0;q=p+10230|0;c=b[d+16>>1]|0;f=c+10230|0;o=(b[d+32>>1]|0)+10230|0;m=(b[d+48>>1]|0)+10230|0;l=(b[d+64>>1]|0)+10230|0;n=(b[d+80>>1]|0)+10230|0;k=b[d+96>>1]|0;s=(b[d+-32>>1]|0)+10742+m+((f+q|0)*20|0)+(H(o+(r+10230)|0,-5)|0)>>10;b[a>>1]=s>>>0<1024?s:(s^-2147483648)>>31&1023;q=r+10742+l+((o+f|0)*20|0)+(H(m+q|0,-5)|0)>>10;b[a+(j<<1)>>1]=q>>>0<1024?q:(q^-2147483648)>>31&1023;f=p+10742+n+((m+o|0)*20|0)+(H(l+f|0,-5)|0)>>10;b[a+(h<<1)>>1]=f>>>0<1024?f:(f^-2147483648)>>31&1023;o=c+20972+k+((l+m|0)*20|0)+(H(n+o|0,-5)|0)>>10;b[a+(i<<1)>>1]=o>>>0<1024?o:(o^-2147483648)>>31&1023;a=a+2|0;d=d+2|0;g=g+1|0}return}function Pg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=0;while(1){if((e|0)==2)break;c[b+896+(e<<2)>>2]=0;c[b+904+(e<<2)>>2]=0;e=e+1|0}n=(d|0)<0;if(n){g=c[a+26364>>2]|0;e=c[a+24312>>2]|0;g=c[((g|0)==3?e+84|0:e+76+(g+-1<<2)|0)>>2]|0;e=c[b+23404>>2]|0;f=c[b+23408>>2]|0;if((e|0)==1)if((f|0)==1)if((c[a+26360>>2]|0)==0?(l=c[b+23444>>2]|0,m=c[b+25364>>2]|0,l=SO(m|0,((m|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0,m=g<<1,(l|0)==(m|0)&(M()|0)==(((m|0)<0)<<31>>31|0)):0){c[b+880>>2]=0;c[b+884>>2]=0}else{m=0;e=1;f=1;h=11}else{m=0;e=1;h=11}else{m=0;h=11}}else{m=16;e=(c[b+23404>>2]<<1)+16|0;f=(c[b+23408>>2]<<1)+16|0;g=c[(c[a+24312>>2]|0)+76+(d<<2)>>2]|0;h=11}a:do if((h|0)==11){c[b+880>>2]=2;c[b+884>>2]=2;c[b+888>>2]=5;c[b+892>>2]=5;a=m;while(1){if((a|0)>=(e|0))break a;j=c[b+23416+(a*40|0)+28>>2]|0;k=b+23416+(a*40|0)+36|0;l=g-j|0;l=((l+128|0)>>>0>255?l>>31^127:l)<<24>>24;h=m;while(1){if((h|0)>=(f|0))break;if(((c[(c[k>>2]|0)+100>>2]|0)==0?(c[(c[b+25336+(h*40|0)+36>>2]|0)+100>>2]|0)==0:0)?(i=(c[b+25336+(h*40|0)+28>>2]|0)-j|0,i=(i+128|0)>>>0>255?i>>31^127:i,o=i<<24>>24,(i&255)<<24>>24!=0):0){i=H(((((o|0)>-1?o:0-o|0)>>1)+16384|0)/(o|0)|0,l)|0;i=(i+16416|0)>>>0<49408?64-(i+32>>8)|0:32}else i=32;if(n){c[b+3216+(a*384|0)+(h<<3)+4>>2]=i;c[b+3216+(a*384|0)+(h<<3)>>2]=i}else c[b+3216+(a*384|0)+(h<<3)+(d<<2)>>2]=i;h=h+1|0}a=a+1|0}}while(0);return}function Qg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Mb;Mb=Mb+160|0;r=s+144|0;n=s+136|0;m=s+128|0;q=s+156|0;o=s;l=s+152|0;if((a[d>>0]|0)==35)i=1;else{i=(ev(d,204345,2)|0)==0;i=i?2:0}if((e|0)<0)e=hu(d)|0;e=e-i+1|0;lD(o,d+i|0,e>>>0<128?e:128)|0;e=bQ(o,64)|0;c[q>>2]=e;if(!e)k=0;else{k=e+1|0;c[q>>2]=k;a[e>>0]=0}h=hu(o)|0;j=b+3|0;a[j>>0]=-1;a:do if((az(o,208701)|0)!=0?(az(o,204348)|0)!=0:0){if((i|0)==0?(xn(o,204357)|0)!=(h|0):0){e=ov(o,92640,140,8,10)|0;if(!e){c[n>>2]=o;Xw(f,16,204421,n);e=-22;break}else{p=e+4|0;a[b>>0]=a[p>>0]|0;a[b+1>>0]=a[p+1>>0]|0;a[b+2>>0]=a[p+2>>0]|0;p=20;break}}e=VQ(o,l,16)|0;b:do if(!(a[c[l>>2]>>0]|0)){switch(h|0){case 8:{a[j>>0]=e;e=e>>>8;break}case 6:break;default:break b}a[b>>0]=e>>>16;a[b+1>>0]=e>>>8;a[b+2>>0]=e;p=20;break a}while(0);c[m>>2]=o;Xw(f,16,204380,m);e=-22}else p=9;while(0);if((p|0)==9){o=ZD()|0;a[b>>0]=o>>>24;a[b+1>>0]=o>>>16;a[b+2>>0]=o>>>8;a[j>>0]=o;p=20}do if((p|0)==20)if(!k)e=0;else{if(!(ev(k,204345,2)|0))g=+((VQ(k,q,16)|0)>>>0);else{g=+$T(k,q);g=g<0.0|g>1.0?256.0:g*255.0}q=c[q>>2]|0;if((q|0)!=(k|0)?!(g<0.0|(g>255.0|(a[q>>0]|0)!=0)):0){a[j>>0]=~~g;e=0;break}c[r>>2]=k;c[r+4>>2]=d;Xw(f,16,204445,r);e=-22}while(0);Mb=s;return e|0}function Rg(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=Mb;Mb=Mb+32|0;l=p+24|0;i=p+8|0;j=p;n=b+24|0;k=b+28|0;o=b+4|0;h=c[n>>2]|0;while(1){if((h|0)<=0)break;m=c[b>>2]|0;q=c[k>>2]|0;c[k>>2]=q+1;q=a[m+q>>0]|0;h=c[o>>2]|0;c[o>>2]=h+1;a[m+h>>0]=q;h=(c[n>>2]|0)+-1|0;c[n>>2]=h}e=(e|0)==-100&(c[g>>2]|0)==0?0:e;h=c[o>>2]|0;m=b+8|0;c[m>>2]=h;a:do if((e|0)==-100){e=mJ(c[b>>2]|0,b+12|0,h+32+(c[g>>2]|0)|0)|0;if(!e){c[j>>2]=(c[g>>2]|0)+32+(c[o>>2]|0);Xw(0,16,184305,j);e=-12;h=0}else{c[b>>2]=e;rk(e+(c[o>>2]|0)|0,c[f>>2]|0,c[g>>2]|0)|0;e=-1;h=(c[o>>2]|0)+(c[g>>2]|0)|0}c[o>>2]=h}else{if((e|0)<=-1?(c[b>>2]|0)==0:0){c[i>>2]=184347;c[i+4>>2]=184285;c[i+8>>2]=288;Xw(0,0,213444,i);ba()}h=e+h|0;c[k>>2]=h;c[g>>2]=h;h=c[o>>2]|0;if(h|0){i=e+32|0;h=mJ(c[b>>2]|0,b+12|0,i+h|0)|0;if(!h){c[l>>2]=i+(c[o>>2]|0);Xw(0,16,184305,l);c[o>>2]=0;c[k>>2]=0;e=-12;break}c[b>>2]=h;if((e|0)>-32){rk(h+(c[o>>2]|0)|0,c[f>>2]|0,i|0)|0;h=c[b>>2]|0}c[o>>2]=0;c[f>>2]=h}h=b+16|0;i=b+32|0;while(1){if((e|0)>=0){e=0;break a}f=(c[b>>2]|0)+((c[m>>2]|0)+e)|0;c[h>>2]=c[h>>2]<<8|(d[f>>0]|0);l=i;l=cN(c[l>>2]|0,c[l+4>>2]|0,8)|0;o=M()|0;q=i;c[q>>2]=l|(d[f>>0]|0);c[q+4>>2]=o;c[n>>2]=(c[n>>2]|0)+1;e=e+1|0}}while(0);Mb=p;return e|0}function Sg(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=0;while(1){if((g|0)==8)break;j=c+1|0;i=c+-1|0;k=c+2|0;m=H((d[k>>0]|0)+(d[i>>0]|0)|0,-5)|0;l=c+3|0;m=(((d[j>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+m+(d[l>>0]|0)>>5;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[l>>0]|0)+(d[c>>0]|0)|0,-5)|0;n=c+4|0;m=(((d[k>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[i>>0]|0)+m+(d[n>>0]|0)>>5;a[b+1>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[n>>0]|0)+(d[j>>0]|0)|0,-5)|0;i=c+5|0;m=(((d[l>>0]|0)+(d[k>>0]|0)|0)*20|0)+16+(d[c>>0]|0)+m+(d[i>>0]|0)>>5;a[b+2>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[i>>0]|0)+(d[k>>0]|0)|0,-5)|0;h=c+6|0;m=(((d[n>>0]|0)+(d[l>>0]|0)|0)*20|0)+16+(d[j>>0]|0)+m+(d[h>>0]|0)>>5;a[b+3>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[h>>0]|0)+(d[l>>0]|0)|0,-5)|0;j=c+7|0;m=(((d[i>>0]|0)+(d[n>>0]|0)|0)*20|0)+16+(d[k>>0]|0)+m+(d[j>>0]|0)>>5;a[b+4>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[j>>0]|0)+(d[n>>0]|0)|0,-5)|0;k=c+8|0;m=(((d[h>>0]|0)+(d[i>>0]|0)|0)*20|0)+16+(d[l>>0]|0)+m+(d[k>>0]|0)>>5;a[b+5>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[k>>0]|0)+(d[i>>0]|0)|0,-5)|0;l=c+9|0;m=(((d[j>>0]|0)+(d[h>>0]|0)|0)*20|0)+16+(d[n>>0]|0)+m+(d[l>>0]|0)>>5;a[b+6>>0]=m>>>0>255?(m^-2147483648)>>31:m;h=H((d[l>>0]|0)+(d[h>>0]|0)|0,-5)|0;h=(((d[k>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[i>>0]|0)+h+(d[c+10>>0]|0)>>5;a[b+7>>0]=h>>>0>255?(h^-2147483648)>>31:h;c=c+f|0;b=b+e|0;g=g+1|0}return}function Tg(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Mb;Mb=Mb+16|0;j=s;q=b+556|0;n=c[q>>2]|0;o=(H(n,f)|0)+e|0;p=b+552|0;l=c[p>>2]|0;m=l+-1|0;o=(o|0)<0?0:(o|0)>(m|0)?m:o;h=(H(n,h)|0)+g|0;h=(h|0)<0?0:(h|0)>(l|0)?l:h;l=b+548|0;n=c[l>>2]|0;m=c[n+(o<<2)>>2]|0;n=c[n+(h<<2)>>2]|0;e=c[b>>2]|0;g=c[e+704>>2]|0;if(!((g|0)!=0?(c[g+32>>2]|0)!=0:0))k=3;do if((k|0)==3){if((n|0)<(m|0)|(o|0)>(h|0)){Xw(e,16,195414,j);break}if(c[e+676>>2]|0){if(!(i&18))e=-2;else{eS(b+572|0,o+~h|0);e=-20}if(i&36){eS(b+572|0,o+~h|0);e=e&-38}if(i&72){eS(b+572|0,o+~h|0);e=e&-73}if(i&14|0){c[b+576>>2]=1;dU(b+572|0)}g=b+580|0;a:do if((e|0)==-128)Wp((c[g>>2]|0)+m|0,0,n-m|0)|0;else{f=m;while(1){if((f|0)>=(n|0))break a;k=(c[g>>2]|0)+f|0;a[k>>0]=e&(d[k>>0]|0);f=f+1|0}}while(0);if((h|0)==(c[p>>2]|0))dU(b+572|0);else{p=(c[g>>2]|0)+n|0;a[p>>0]=e&(d[p>>0]|0);p=(c[g>>2]|0)+n|0;a[p>>0]=d[p>>0]|0|i}i=(c[g>>2]|0)+m|0;a[i>>0]=a[i>>0]|1;if(((((m|0)>0?(r=c[b>>2]|0,(c[r+808>>2]&2|0)==0):0)?yE(b)|0:0)?(H(c[q>>2]|0,c[r+332>>2]|0)|0)<(o|0):0)?(a[(c[g>>2]|0)+(c[(c[l>>2]|0)+(o+-1<<2)>>2]|0)>>0]&-2)<<24>>24!=112:0){c[b+576>>2]=1;dU(b+572|0)}}}while(0);Mb=s;return}function Ug(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=Mb;Mb=Mb+16|0;m=q;n=a+68|0;g=c[n>>2]|0;do if((g|0)>0?(o=a+72|0,h=c[o>>2]|0,(h|0)>0):0){p=a+392|0;e=c[p>>2]|0;j=a+396|0;f=c[j>>2]|0;if(e>>>0<(2147483647-f|0)>>>0?(k=a+384|0,r=c[k>>2]|0,l=a+388|0,i=c[l>>2]|0,(i+r|0)>>>0<h>>>0&((f+e|0)>>>0<g>>>0&r>>>0<(2147483647-i|0)>>>0)):0){i=oT(c[a+80>>2]|0)|0;if(!i)e=-558323010;else{if(!(0==0?(c[i+8>>2]&12|0)==0:0)){c[n>>2]=(c[n>>2]|0)-(c[j>>2]|0);c[o>>2]=(c[o>>2]|0)-(c[l>>2]|0);c[j>>2]=0;c[l>>2]=0;e=0;break}_o(m,a,i);if(!(b&1)){h=c[p>>2]|0;if(!h)b=2147483647;else{b=91024+((H(h&0-h,125613361)|0)>>>27)|0;b=d[b>>0]|0}f=2147483647;g=0;while(1){if(!(c[a+(g<<2)>>2]|0))break;e=c[m+(g<<2)>>2]|0;if(!e)e=2147483647;else{e=91024+((H(e&0-e,125613361)|0)>>>27)|0;e=d[e>>0]|0}f=(e|0)>(f|0)?f:e;g=g+1|0}if((b|0)<(f|0)){e=-558323010;break}if((f|0)<5){c[p>>2]=-1<<b+5-f&h;_o(m,a,i)}}e=0;while(1){f=a+(e<<2)|0;g=c[f>>2]|0;if(!g)break;c[f>>2]=g+(c[m+(e<<2)>>2]|0);e=e+1|0}c[n>>2]=(c[n>>2]|0)-((c[j>>2]|0)+(c[p>>2]|0));c[o>>2]=(c[o>>2]|0)-((c[l>>2]|0)+(c[k>>2]|0));c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;e=0}}else e=-34}else e=-22;while(0);Mb=q;return e|0}function Vg(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=sU(b)|0;f=sP(b)|0;c[a>>2]=f;f=AM(b,a+4|0)|0;l=a+8|0;c[l>>2]=f;f=Hz(b,4)|0;c[a+12>>2]=f;if(f>>>0<8)c[a+36>>2]=d[200859+f>>0];h=a+16|0;c[h>>2]=-1;i=a+40|0;c[i>>2]=-1;f=c[a>>2]|0;a:do switch(f|0){case 5:{j=7;break}case 29:{if((PI(b,3)|0)&3|0?((PI(b,9)|0)&63|0)==0:0){j=9;break a}c[i>>2]=1;j=7;break}default:j=9}while(0);if((j|0)==7){c[a+20>>2]=5;c[h>>2]=1;f=AM(b,a+24|0)|0;c[a+28>>2]=f;f=sP(b)|0;c[a>>2]=f;if((f|0)==22){f=Hz(b,4)|0;c[a+32>>2]=f;f=c[a>>2]|0}}else if((j|0)==9){c[a+20>>2]=0;c[a+28>>2]=0}g=sU(b)|0;if((f|0)==36){gO(b,5);if((iU(b)|0)!=4279379)qK(b,24);g=sU(b)|0;f=su(b,a)|0;if((f|0)>=0)j=14}else j=14;if((j|0)==14){f=a+20|0;b:do if((e|0)!=0&(c[f>>2]|0)!=5){while(1){if((pS(b)|0)<=15)break b;if((PI(b,11)|0)==695)break;uL(b)|0}Hz(b,11)|0;e=sP(b)|0;c[f>>2]=e;if(((e|0)==5?(e=uL(b)|0,c[h>>2]=e,(e|0)==1):0)?(e=AM(b,a+24|0)|0,c[a+28>>2]=e,(e|0)==(c[l>>2]|0)):0)c[h>>2]=-1;if((pS(b)|0)>11?(Hz(b,11)|0)==1352:0){l=uL(b)|0;c[i>>2]=l}}while(0);if(c[h>>2]|0)if((c[i>>2]|0)==-1?(c[a>>2]|0)!=2:0)j=31;else j=30;else{c[i>>2]=0;j=30}if((j|0)==30?(c[a+36>>2]|0)>>>0>1:0)j=31;if((j|0)==31)c[i>>2]=0;f=g-k|0}return f|0}function Wg(c,e,f,g,h){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=e;j=0;f=f+(0-(h<<1))|0;while(1){if((j|0)==9)break;l=f+1|0;o=f+-1|0;k=f+2|0;p=H((d[k>>0]|0)+(d[o>>0]|0)|0,-5)|0;m=f+3|0;b[i>>1]=(((d[l>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+p+(d[m>>0]|0);p=H((d[m>>0]|0)+(d[f>>0]|0)|0,-5)|0;n=f+4|0;b[i+2>>1]=(((d[k>>0]|0)+(d[l>>0]|0)|0)*20|0)+(d[o>>0]|0)+p+(d[n>>0]|0);p=H((d[n>>0]|0)+(d[l>>0]|0)|0,-5)|0;o=f+5|0;b[i+4>>1]=(((d[m>>0]|0)+(d[k>>0]|0)|0)*20|0)+(d[f>>0]|0)+p+(d[o>>0]|0);k=H((d[o>>0]|0)+(d[k>>0]|0)|0,-5)|0;b[i+6>>1]=(((d[n>>0]|0)+(d[m>>0]|0)|0)*20|0)+(d[l>>0]|0)+k+(d[f+6>>0]|0);i=i+8|0;j=j+1|0;f=f+h|0}j=g<<1;h=g*3|0;f=e+16|0;i=0;while(1){if((i|0)==4)break;r=b[f+-8>>1]|0;q=b[f>>1]|0;e=b[f+8>>1]|0;o=b[f+16>>1]|0;m=b[f+24>>1]|0;l=b[f+32>>1]|0;n=b[f+40>>1]|0;k=b[f+48>>1]|0;p=(b[f+-16>>1]|0)+512+m+((e+q|0)*20|0)+(H(o+r|0,-5)|0)>>10;a[c>>0]=((d[c>>0]|0)+1+((p>>>0>255?(p^-2147483648)>>31:p)&255)|0)>>>1;p=c+g|0;r=r+512+l+((o+e|0)*20|0)+(H(m+q|0,-5)|0)>>10;a[p>>0]=((d[p>>0]|0)+1+((r>>>0>255?(r^-2147483648)>>31:r)&255)|0)>>>1;p=c+j|0;q=q+512+n+((m+o|0)*20|0)+(H(l+e|0,-5)|0)>>10;a[p>>0]=((d[p>>0]|0)+1+((q>>>0>255?(q^-2147483648)>>31:q)&255)|0)>>>1;p=c+h|0;o=e+512+k+((l+m|0)*20|0)+(H(n+o|0,-5)|0)>>10;a[p>>0]=((d[p>>0]|0)+1+((o>>>0>255?(o^-2147483648)>>31:o)&255)|0)>>>1;c=c+1|0;f=f+2|0;i=i+1|0}return}function Xg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if(uL(e)|0)gO(e,8);j=uL(e)|0;c[d+48>>2]=j;h=d+96|0;f=(wd(b,d,e,h)|0)!=0;if(!j)if(!f?(g=d+88064|0,(wd(b,d,e,g)|0)==0):0){cy(e,h);cy(e,g);Tv(d,e,h);Tv(d,e,g);f=ed(b,d,e,h,0)|0;if((f|0)>=0){f=ed(b,d,e,g,1)|0;if((f|0)>=0){f=we(b,d,e,h,0)|0;if((f|0)>=0){f=we(b,d,e,g,1)|0;if((f|0)>=0)i=15}}}}else f=-1;else if(!f){g=d+88064|0;Jo(g,h);cy(e,h);cy(e,g);Tv(d,e,h);j=d+88100|0;f=d+88095|0;a[j>>0]=a[f>>0]|0;a[j+1>>0]=a[f+1>>0]|0;a[j+2>>0]=a[f+2>>0]|0;a[j+3>>0]=a[f+3>>0]|0;a[j+4>>0]=a[f+4>>0]|0;j=d+127|0;a[f>>0]=a[j>>0]|0;a[f+1>>0]=a[j+1>>0]|0;a[f+2>>0]=a[j+2>>0]|0;a[f+3>>0]=a[j+3>>0]|0;a[f+4>>0]=a[j+4>>0]|0;f=ed(b,d,e,h,0)|0;if((f|0)>=0){f=we(b,d,e,h,0)|0;if((f|0)>=0){f=ed(b,d,e,g,1)|0;if((f|0)>=0){f=we(b,d,e,g,1)|0;if((f|0)>=0)i=15}}}}else f=-1;a:do if((i|0)==15){j=uL(e)|0;c[d+100>>2]=j;b:do if(j|0){g=c[d+310116>>2]|0;f=0;while(1){if((f|0)>=(g|0))break b;j=(uL(e)|0)&255;a[d+137+f>>0]=j;f=f+1|0}}while(0);j=uL(e)|0;c[d+88068>>2]=j;if(!j)f=0;else{g=c[d+310116>>2]|0;f=0;while(1){if((f|0)>=(g|0)){f=0;break a}j=(uL(e)|0)&255;a[d+88105+f>>0]=j;f=f+1|0}}}while(0);return f|0}function Yg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;x=a+32|0;y=a+36|0;h=c[y>>2]|0;z=a+48|0;g=c[z>>2]|0;i=0;j=c[x>>2]|0;while(1){if((j|0)<(g|0))break;i=i+1|0;j=j-g|0}s=a+4|0;t=a+12|0;u=a+8|0;v=a+40|0;w=a+28|0;r=a+24|0;q=0;while(1){if((q|0)>=(e|0))break;a=c[t>>2]|0;k=(c[s>>2]|0)+((H(a,j)|0)<<2)|0;l=c[u>>2]|0;g=0;m=536870912;n=0;o=536870912;p=0;while(1){if((g|0)>=(l|0))break;D=c[d+(g+i<<2)>>2]|0;A=((D|0)<0)<<31>>31;C=c[k+(g<<2)>>2]|0;C=XJ(C|0,((C|0)<0)<<31>>31|0,D|0,A|0)|0;C=SO(C|0,M()|0,m|0,n|0)|0;B=M()|0;E=c[k+(g+a<<2)>>2]|0;A=XJ(E|0,((E|0)<0)<<31>>31|0,D|0,A|0)|0;A=SO(A|0,M()|0,o|0,p|0)|0;g=g+1|0;m=C;n=B;o=A;p=M()|0}g=QO(o|0,p|0,m|0,n|0)|0;a=M()|0;C=c[v>>2]|0;C=pu(g|0,a|0,C|0,((C|0)<0)<<31>>31|0)|0;C=XJ(C|0,M()|0,h|0,((h|0)<0)<<31>>31|0)|0;C=SO(C|0,M()|0,m|0,n|0)|0;a=M()|0;g=FM(C|0,a|0,30)|0;E=SO(g|0,M()|0,-2147483648,0)|0;D=M()|0;a=FM(C|0,a|0,63)|0;M()|0;c[b+(q<<2)>>2]=D>>>0>0|(D|0)==0&E>>>0>4294967295?a^2147483647:g;g=(c[w>>2]|0)+h|0;a=c[v>>2]|0;E=(g|0)<(a|0);a=E?0:a;h=c[z>>2]|0;j=(c[r>>2]|0)+j+((E^1)&1)|0;while(1){if((j|0)<(h|0))break;i=i+1|0;j=j-h|0}q=q+1|0;h=g-a|0}if(f|0){c[y>>2]=h;c[x>>2]=j}return i|0}function Zg(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=b>>1;b=0;d=0;f=0;g=0;h=0;i=0;while(1){if((b|0)==4)break;n=a+((H(b,s)|0)+-1<<1)|0;n=d+(e[n>>1]|0)+(e[a+(b-s<<1)>>1]|0)|0;o=b+4|0;p=a+((H(o,s)|0)+-1<<1)|0;q=a+((H(b+8|0,s)|0)+-1<<1)|0;r=a+((H(b+12|0,s)|0)+-1<<1)|0;b=b+1|0;d=n;f=f+(e[a+(o-s<<1)>>1]|0)|0;g=g+(e[p>>1]|0)|0;h=h+(e[q>>1]|0)|0;i=i+(e[r>>1]|0)|0}d=XJ((d+4|0)>>>3|0,0,65537,65537)|0;j=M()|0;k=XJ((f+2|0)>>>2|0,0,65537,65537)|0;l=M()|0;m=(g+2|0)>>>2;r=f+4|0;f=(r+g|0)>>>3;g=(h+2|0)>>>2;h=(r+h|0)>>>3;q=(i+2|0)>>>2;r=(r+i|0)>>>3;b=0;while(1){if((b|0)==4)break;p=a+((H(b,s)|0)<<1)|0;o=p;c[o>>2]=d;c[o+4>>2]=j;p=p+8|0;c[p>>2]=k;c[p+4>>2]=l;b=b+1|0}o=XJ(m|0,0,65537,65537)|0;p=M()|0;k=XJ(f|0,0,65537,65537)|0;l=M()|0;m=XJ(g|0,0,65537,65537)|0;n=M()|0;g=XJ(h|0,0,65537,65537)|0;h=M()|0;i=XJ(q|0,0,65537,65537)|0;j=M()|0;d=XJ(r|0,0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;r=a+((H(b,s)|0)<<1)|0;q=r;c[q>>2]=o;c[q+4>>2]=p;r=r+8|0;c[r>>2]=k;c[r+4>>2]=l;b=b+1|0}b=8;while(1){if((b|0)==12)break;r=a+((H(b,s)|0)<<1)|0;q=r;c[q>>2]=m;c[q+4>>2]=n;r=r+8|0;c[r>>2]=g;c[r+4>>2]=h;b=b+1|0}b=12;while(1){if((b|0)==16)break;r=a+((H(b,s)|0)<<1)|0;q=r;c[q>>2]=i;c[q+4>>2]=j;r=r+8|0;c[r>>2]=d;c[r+4>>2]=f;b=b+1|0}return}function _g(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var g=0,h=0.0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0;p=Mb;Mb=Mb+16|0;i=p;g=15<<d;k=g<<1;do if((d+-2|0)>>>0<=11){n=YQ(672)|0;c[i>>2]=n;o=n;if(!n)d=-12;else{q=d+-1|0;c[n>>2]=q;d=n+8|0;c[d>>2]=(g|0)/2|0;c[n+4>>2]=g;m=n+12|0;c[m>>2]=b;c[n+640>>2]=135;c[n+648>>2]=136;c[n+652>>2]=137;c[n+644>>2]=114;if((((Zj(n+24|0,q,b)|0)>=0?(Wo(n)|0)==0:0)?(q=GO(k,16)|0,c[n+92>>2]=q,q|0):0)?(l=GO(c[d>>2]|0,8)|0,c[n+96>>2]=l,l|0):0){g=c[d>>2]|0;if(e<0.0)j=+(g|0)+.125;else j=.125;h=+v(+(+u(+e)));e=+(k|0);d=0;while(1){if((d|0)>=(g|0))break;r=(j+ +(d|0))*6.283185307179586/e;s=h*+x(+r);f[l+(d<<3)>>2]=s;r=h*+y(+r);f[l+(d<<3)+4>>2]=r;d=d+1|0}d=0;while(1){if((d|0)==19)break;if(d>>>0<15){s=+(d|0)*6.283185307179586/15.0;s=(c[m>>2]|0)==0?-s:s;r=+x(+s);f[n+128+(d<<3)>>2]=r;s=+y(+s);f[n+128+(d<<3)+4>>2]=s}else{k=n+128+(d+-15<<3)|0;l=c[k+4>>2]|0;q=n+128+(d<<3)|0;c[q>>2]=c[k>>2];c[q+4>>2]=l}d=d+1|0}f[n+280>>2]=.30901697278022766;g=n+284|0;f[g>>2]=.9510565400123596;f[n+288>>2]=.80901700258255;d=n+292|0;f[d>>2]=.5877852439880371;if(c[m>>2]|0){f[g>>2]=-.9510565400123596;f[d>>2]=-.5877852439880371}c[a>>2]=o;d=0;break}vM(i);d=-12}}else d=-22;while(0);Mb=p;return d|0}function $g(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=Mb;Mb=Mb+128|0;l=u+112|0;p=u+116|0;q=u;k=u+120|0;r=b+4|0;s=c[r>>2]|0;c[p>>2]=0;i=q;j=i+112|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));a[k>>0]=0;a[k+1>>0]=0;a[k+2>>0]=0;a[k+3>>0]=0;a[k+4>>0]=0;a[k+5>>0]=0;a[k+6>>0]=0;i=b+6520|0;if((i|0)!=(e|0)){rk(i|0,e|0,f*3|0)|0;c[b+6712>>2]=f}i=0;while(1){if((i|0)>=(f|0)){j=7;break}m=d[e+(i*3|0)>>0]|0;n=d[e+(i*3|0)+1>>0]|0;j=k+m|0;o=a[j>>0]|0;a[j>>0]=o+1<<24>>24;a[q+(m<<4)+n>>0]=o;if((o&255)>15){j=6;break}else i=i+1|0}a:do if((j|0)==6){KM(s,187922,l);i=-1163346256}else if((j|0)==7){o=s+456|0;if((c[o>>2]|0)==0?(c[o+4>>2]|0)==-2147483648:0){n=0;o=0}else{n=zd(e,f)|0;o=M()|0}j=0;while(1){if((j|0)>=(f|0))break;k=d[e+(j*3|0)>>0]|0;l=d[e+(j*3|0)+1>>0]|0;m=d[q+(k<<4)+l>>0]|0;i=Tl(b,d[e+(j*3|0)+2>>0]|0,k,m,p)|0;if((i|0)<0)break a;c[b+748+(k<<6)+(l<<2)>>2]=c[b+492+(k<<6)+(m<<2)>>2];j=j+1|0}k=c[p>>2]|0;q=(k|0)==2?(c[b+6512>>2]|0)==1:0;i=(n|0)==4&(o|0)==0;j=q?(i?3:0):n;i=q?(i?0:0):o;if(!((j|0)==0&(i|0)==0)){q=s+448|0;c[q>>2]=j;c[q+4>>2]=i}q=b+6720|0;c[q>>2]=j;c[q+4>>2]=i;c[b+6716>>2]=k;c[s+420>>2]=k;c[b+6728>>2]=g;if(h|0?(t=hp(c[r>>2]|0)|0,(t|0)<0):0){i=t;break}i=0}while(0);Mb=u;return i|0}function ah(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;k=c[e+20>>2]|0;i=c[f+36>>2]|0;j=f+32|0;c[j>>2]=i;l=c[f+20>>2]|0;if((l|0)<(c[f+40>>2]|0)){i=i+(1<<k)|0;c[j>>2]=i}switch(c[e+24>>2]|0){case 0:{i=1<<c[e+28>>2];k=c[f>>2]|0;j=c[f+28>>2]|0;if((j|0)>(k|0)?(j-k|0)>=((i|0)/2|0|0):0)i=(c[f+24>>2]|0)+i|0;else m=7;do if((m|0)==7){if((j|0)<(k|0)?(j-k|0)<((i|0)/-2|0|0):0){i=(c[f+24>>2]|0)-i|0;break}i=c[f+24>>2]|0}while(0);c[f+4>>2]=i;j=i+k|0;if((g|0)==3){i=j;k=f+8|0;m=25}else{k=j;i=j;m=26}break}case 1:{m=c[e+44>>2]|0;k=(m|0)==0?0:i+l|0;h=(h|0)==0;j=(h&(k|0)>0)<<31>>31;i=0;l=0;while(1){if((i|0)>=(m|0))break;n=l+(b[e+148+(i<<1)>>1]|0)|0;i=i+1|0;l=n}i=k+j|0;a:do if((i|0)>0){k=i+-1|0;i=(k|0)/(m|0)|0;k=k-(H(i,m)|0)|0;i=H(i,l)|0;j=0;while(1){if((j|0)>(k|0))break a;i=i+(b[e+148+(j<<1)>>1]|0)|0;j=j+1|0}}else i=0;while(0);if(h)i=(c[e+36>>2]|0)+i|0;j=(c[f+12>>2]|0)+i|0;i=j+(c[e+40>>2]|0)|0;if((g|0)==3){k=f+16|0;m=25}else{k=j;m=26}break}default:{i=(i+l<<1)+(((h|0)==0)<<31>>31)|0;k=i;m=26}}if((m|0)==25){i=(c[k>>2]|0)+i|0;c[a>>2]=j;m=29}else if((m|0)==26)if((g|0)!=2?(c[a>>2]=k,(g|0)==1):0){j=a+4|0;i=k}else m=29;if((m|0)==29){j=a+4|0;c[j>>2]=i;i=c[a>>2]|0}n=c[j>>2]|0;c[d>>2]=(i|0)>(n|0)?n:i;return 0}function bh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=Mb;Mb=Mb+32|0;s=u+16|0;r=u;l=a+36|0;m=a+40|0;n=a+44|0;o=a+176|0;p=a+204|0;q=a+220|0;k=a+236|0;i=0;a:while(1){if((pS(b)|0)<=16){f=i;break}if(!(PI(b,16)|0)){f=i;break}h=0;do{if((pS(b)|0)<8){f=-1094995529;break a}h=(PI(b,8)|0)+h|0}while((Hz(b,8)|0)==255);g=0;do{if((pS(b)|0)<8){f=-1094995529;break a}g=(PI(b,8)|0)+g|0}while((Hz(b,8)|0)==255);f=pS(b)|0;if(g>>>0>((f|0)/8|0)>>>0){t=11;break}j=(sU(b)|0)+(g<<3)|0;do switch(h|0){case 1:{f=yi(a,b,d,e)|0;t=23;break}case 4:{f=mq(a,b,g)|0;t=23;break}case 5:{f=up(l,b,e,g)|0;t=23;break}case 6:{f=vD(m,b,e)|0;t=23;break}case 0:{f=Sn(n,b,d,e)|0;t=23;break}case 45:{lt(o,b);f=i;break}case 47:{ED(p,b);f=i;break}case 56:{Zp(q,b);f=i;break}case 147:{PP(k,b);f=i;break}default:{c[s>>2]=h;Xw(e,48,170600,s);f=i}}while(0);if((t|0)==23){t=0;g=(f|0)<0;if(g&(f|0)!=-1397768184)break;else f=g?f:i}qK(b,j-(sU(b)|0)|0);BQ(b);i=f}if((t|0)==11){c[r>>2]=h;c[r+4>>2]=g<<3;c[r+8>>2]=f;Xw(e,16,170563,r);f=-1094995529}Mb=u;return f|0}function ch(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;g=0;h=0;a=c;while(1){if((g|0)>=(f|0))break;v=(d[a+1>>0]|0)+1|0;w=(d[b>>0]|0)-((v+(d[a>>0]|0)|0)>>>1)|0;u=d[a+2>>0]|0;v=(d[b+1>>0]|0)-((v+u|0)>>>1)|0;t=d[a+3>>0]|0;u=(d[b+2>>0]|0)-((u+1+t|0)>>>1)|0;s=d[a+4>>0]|0;t=(d[b+3>>0]|0)-((t+1+s|0)>>>1)|0;r=d[a+5>>0]|0;s=(d[b+4>>0]|0)-((s+1+r|0)>>>1)|0;q=d[a+6>>0]|0;r=(d[b+5>>0]|0)-((r+1+q|0)>>>1)|0;p=d[a+7>>0]|0;q=(d[b+6>>0]|0)-((q+1+p|0)>>>1)|0;o=d[a+8>>0]|0;p=(d[b+7>>0]|0)-((p+1+o|0)>>>1)|0;n=d[a+9>>0]|0;o=(d[b+8>>0]|0)-((o+1+n|0)>>>1)|0;m=d[a+10>>0]|0;n=(d[b+9>>0]|0)-((n+1+m|0)>>>1)|0;l=d[a+11>>0]|0;m=(d[b+10>>0]|0)-((m+1+l|0)>>>1)|0;k=d[a+12>>0]|0;l=(d[b+11>>0]|0)-((l+1+k|0)>>>1)|0;j=d[a+13>>0]|0;k=(d[b+12>>0]|0)-((k+1+j|0)>>>1)|0;i=d[a+14>>0]|0;j=(d[b+13>>0]|0)-((j+1+i|0)>>>1)|0;c=d[a+15>>0]|0;i=(d[b+14>>0]|0)-((i+1+c|0)>>>1)|0;c=(d[b+15>>0]|0)-((c+1+(d[a+16>>0]|0)|0)>>>1)|0;g=g+1|0;h=((w|0)>-1?w:0-w|0)+h+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((c|0)>-1?c:0-c|0)|0;b=b+e|0;a=a+e|0}return h|0}function dh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=Mb;Mb=Mb+32|0;z=B+16|0;y=B;n=c[a+212>>2]|0;j=c[n+12>>2]|0;t=a+156|0;jV(t)|0;u=a+332|0;v=a+300|0;w=a+12|0;x=j+64|0;d=n+812|0;e=a+336|0;f=n+472|0;g=n+704|0;h=a+288|0;i=a+292|0;j=j+88|0;k=a+216|0;l=a+296|0;m=n+64|0;o=a+340|0;p=a+184|0;q=a+60|0;r=a+108|0;while(1){b=(c[u>>2]|0)==0;if(!(c[v>>2]|0)){if(!b){A=28;break}yb(w|0,t|0)|0}else{if(!b){A=28;break}do if(!(c[x>>2]|0)){if((c[d>>2]|0)==0?(c[f>>2]|0)!=10:0)break;Jq(n)}while(0);if(c[e>>2]|0){A=12;break}if(c[g>>2]|0){jV((c[a>>2]|0)+36|0)|0;c[e>>2]=1}av(c[h>>2]|0);c[i>>2]=0;b=Zb[c[j>>2]&7](n,c[h>>2]|0,i,k)|0;c[l>>2]=b;if(!((b|0)>=0?(c[i>>2]|0)!=0:0))A=17;if((A|0)==17?(A=0,s=c[h>>2]|0,c[s+248>>2]|0):0){if(!(c[(c[m>>2]|0)+4>>2]|0))b=s;else{Xw(n,16,184876,z);b=c[h>>2]|0}av(b)}if((c[v>>2]|0)==1)Jq(n);if(c[e>>2]|0){c[e>>2]=0;jV((c[a>>2]|0)+36|0)|0}if(c[o>>2]|0){c[o>>2]=0;by(c[a>>2]|0)}jV(p)|0;c[v>>2]=0;jV(q|0)|0;xb(r|0)|0;jV(p)|0}}if((A|0)==12){c[y>>2]=184852;c[y+4>>2]=184677;c[y+8>>2]=190;Xw(0,0,213444,y);ba()}else if((A|0)==28){jV(t)|0;Mb=B;return 0}return 0}function eh(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;s=H(f,-2)|0;t=0-f|0;u=f<<1;v=f*3|0;w=f<<2;x=f*5|0;h=f*6|0;i=f*7|0;j=f<<3;k=f*9|0;l=f*10|0;m=e<<1;n=e*3|0;o=e<<2;p=e*5|0;q=e*6|0;r=e*7|0;g=0;while(1){if((g|0)==8)break;D=d[c+t>>0]|0;M=d[c>>0]|0;L=d[c+f>>0]|0;K=d[c+u>>0]|0;J=d[c+v>>0]|0;G=d[c+w>>0]|0;E=d[c+x>>0]|0;y=d[c+h>>0]|0;A=d[c+i>>0]|0;B=d[c+j>>0]|0;z=d[c+k>>0]|0;C=d[c+l>>0]|0;I=J+16|0;F=I+(d[c+s>>0]|0)+((L+M|0)*20|0)+(H(K+D|0,-5)|0)>>5;a[b>>0]=F>>>0>255?(F^-2147483648)>>31:F;F=G+16|0;D=F+D+((K+L|0)*20|0)+(H(J+M|0,-5)|0)>>5;a[b+e>>0]=D>>>0>255?(D^-2147483648)>>31:D;D=E+16|0;M=D+M+((J+K|0)*20|0)+(H(G+L|0,-5)|0)>>5;a[b+m>>0]=M>>>0>255?(M^-2147483648)>>31:M;L=L+16+y+((G+J|0)*20|0)+(H(E+K|0,-5)|0)>>5;a[b+n>>0]=L>>>0>255?(L^-2147483648)>>31:L;J=K+16+A+((E+G|0)*20|0)+(H(y+J|0,-5)|0)>>5;a[b+o>>0]=J>>>0>255?(J^-2147483648)>>31:J;G=I+B+((y+E|0)*20|0)+(H(A+G|0,-5)|0)>>5;a[b+p>>0]=G>>>0>255?(G^-2147483648)>>31:G;E=F+z+((A+y|0)*20|0)+(H(B+E|0,-5)|0)>>5;a[b+q>>0]=E>>>0>255?(E^-2147483648)>>31:E;y=D+C+((B+A|0)*20|0)+(H(z+y|0,-5)|0)>>5;a[b+r>>0]=y>>>0>255?(y^-2147483648)>>31:y;g=g+1|0;b=b+1|0;c=c+1|0}return}function fh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=b+704|0;v=c[u>>2]|0;if((v|0)!=0?(c[v>>2]|0)!=0:0)if(!(c[(c[b>>2]|0)+676>>2]&256)){f=c[b+552>>2]|0;g=b+548|0;v=b+580|0;d=0;e=0;while(1){if((d|0)>=(f|0))break;t=e+((a[(c[v>>2]|0)+(c[(c[g>>2]|0)+(d<<2)>>2]|0)>>0]&12)!=12&1)|0;d=d+1|0;e=t}if(e>>>0>=5){l=e>>>0>99?(e>>>0)/50|0:1;m=b+560|0;n=b+556|0;o=b+564|0;p=b+672|0;q=b+696|0;r=b+8|0;s=b+708|0;d=0;e=0;k=0;while(1){if((k|0)>=((c[m>>2]|0)+-1|0))break;t=k<<4;j=0;while(1){if((j|0)>=(c[n>>2]|0))break;f=(H(c[o>>2]|0,k)|0)+j|0;do if((a[(c[v>>2]|0)+f>>0]&12)!=12){e=e+1|0;if(!((e|0)%(l|0)|0)){g=c[p>>2]|0;if((c[g+88>>2]|0)!=1)if(!(c[(c[q>>2]|0)+(f<<2)>>2]&7)){d=d+-1|0;break}else{d=d+1|0;break}else{h=g+32|0;w=j<<4;f=c[h>>2]|0;i=H(f,t)|0;g=(c[g>>2]|0)+w+i|0;i=(c[c[u>>2]>>2]|0)+w+i|0;if((c[(c[b>>2]|0)+48>>2]|0)!=28){tr(c[s>>2]|0,k,0);f=c[h>>2]|0}w=(_b[c[r>>2]&63](0,i,g,f,16)|0)+d|0;d=c[h>>2]|0;d=w-(_b[c[r>>2]&63](0,i,i+(d<<4)|0,d,16)|0)|0;break}}}while(0);j=j+1|0}k=k+1|0}d=(d|0)>0&1}else d=0}else d=0;else d=1;return d|0}function gh(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=8-g|0;j=8-h|0;m=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;i=H(h,g)|0;l=d>>1;a:do if(!i){i=j+k|0;if(!i){g=0;while(1){if((g|0)>=(f|0))break a;k=((e[a>>1]|0)+1+(((H(m,e[c>>1]|0)|0)+32|0)>>>6)|0)>>>1&65535;b[a>>1]=k;k=a+2|0;j=((e[k>>1]|0)+1+(((H(m,e[c+2>>1]|0)|0)+32|0)>>>6)|0)>>>1&65535;b[k>>1]=j;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}else{h=(k|0)==0?1:l;d=h+1|0;g=0;while(1){if((g|0)>=(f|0))break a;k=H(m,e[c>>1]|0)|0;k=((e[a>>1]|0)+1+((k+32+(H(i,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[a>>1]=k;k=a+2|0;j=H(m,e[c+2>>1]|0)|0;j=((e[k>>1]|0)+1+((j+32+(H(i,e[c+(d<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[k>>1]=j;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}}else{h=l+1|0;d=l+2|0;g=0;while(1){if((g|0)>=(f|0))break a;s=H(m,e[c>>1]|0)|0;r=c+2|0;q=H(j,e[r>>1]|0)|0;n=c+(l<<1)|0;o=H(k,e[n>>1]|0)|0;p=c+(h<<1)|0;o=((e[a>>1]|0)+1+((s+32+q+o+(H(i,e[p>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[a>>1]=o;o=a+2|0;r=H(m,e[r>>1]|0)|0;q=H(j,e[c+4>>1]|0)|0;p=H(k,e[p>>1]|0)|0;p=((e[o>>1]|0)+1+((r+32+q+p+(H(i,e[c+(d<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[o>>1]=p;a=a+(l<<1)|0;g=g+1|0;c=n}}while(0);return}function hh(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=(h<<f)+((f|0)==0?0:1<<f+-1)|0;h=b;b=0;while(1){if((b|0)>=(e|0))break;j=(H(d[h>>0]|0,g)|0)+i>>f;a[h>>0]=j>>>0>255?(j^-2147483648)>>31:j;j=h+1|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+2|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+3|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+4|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+5|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+6|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+7|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+8|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+9|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+10|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+11|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+12|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+13|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+14|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+15|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;h=h+c|0;b=b+1|0}return}function ih(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=g>>1;h=c;i=0;d=d+(0-(g&-2)<<1)|0;while(1){if((i|0)==9)break;k=d+2|0;n=d+-2|0;g=d+4|0;o=H((e[g>>1]|0)+(e[n>>1]|0)|0,-5)|0;l=d+6|0;b[h>>1]=(((e[k>>1]|0)+(e[d>>1]|0)|0)*20|0)+(e[d+-4>>1]|0)+o+(e[l>>1]|0);o=H((e[l>>1]|0)+(e[d>>1]|0)|0,-5)|0;m=d+8|0;b[h+2>>1]=(((e[g>>1]|0)+(e[k>>1]|0)|0)*20|0)+(e[n>>1]|0)+o+(e[m>>1]|0);o=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;n=d+10|0;b[h+4>>1]=(((e[l>>1]|0)+(e[g>>1]|0)|0)*20|0)+(e[d>>1]|0)+o+(e[n>>1]|0);g=H((e[n>>1]|0)+(e[g>>1]|0)|0,-5)|0;b[h+6>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+(e[k>>1]|0)+g+(e[d+12>>1]|0);h=h+16|0;i=i+1|0;d=d+(j<<1)|0}j=f>>1;h=f&-2;i=j*3|0;d=c+32|0;g=0;while(1){if((g|0)==4)break;p=b[d+-16>>1]|0;f=b[d>>1]|0;c=b[d+16>>1]|0;o=b[d+32>>1]|0;m=b[d+48>>1]|0;l=b[d+64>>1]|0;n=b[d+80>>1]|0;k=b[d+96>>1]|0;q=(b[d+-32>>1]|0)+512+m+((c+f|0)*20|0)+(H(o+p|0,-5)|0)>>10;b[a>>1]=q>>>0<512?q:(q^-2147483648)>>31&511;p=p+512+l+((o+c|0)*20|0)+(H(m+f|0,-5)|0)>>10;b[a+(j<<1)>>1]=p>>>0<512?p:(p^-2147483648)>>31&511;f=f+512+n+((m+o|0)*20|0)+(H(l+c|0,-5)|0)>>10;b[a+(h<<1)>>1]=f>>>0<512?f:(f^-2147483648)>>31&511;o=c+512+k+((l+m|0)*20|0)+(H(n+o|0,-5)|0)>>10;b[a+(i<<1)>>1]=o>>>0<512?o:(o^-2147483648)>>31&511;a=a+2|0;d=d+2|0;g=g+1|0}return}function jh(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=Mb;Mb=Mb+32|0;d=n;j=n+20|0;h=n+16|0;i=n+12|0;l=c[a+92>>2]|0;m=a+48|0;do if((l|0)==(c[m>>2]|0))b=0;else{if((c[a+36>>2]|0)==0?(k=a+28|0,(c[k>>2]|0)==0):0){d=a+12|0;e=a+84|0;f=iO(c[d>>2]|0,H(c[e>>2]|0,l+1|0)|0)|0;c[j>>2]=f;if(!f){b=-12;break}b=Hd(a,f,+g[a+72>>3],c[a+8>>2]|0,c[d>>2]|0,l,1<<c[a+88>>2],c[a+56>>2]|0,+g[a+64>>3])|0;if((b|0)<0){hM(j);break}b=c[d>>2]|0;d=H(b,l)|0;e=c[e>>2]|0;b=H(b+-1|0,e)|0;rk(f+(H(d+1|0,e)|0)|0,f|0,b|0)|0;rk(f+(H(d,e)|0)|0,f+b|0,e|0)|0;e=a+40|0;b=c[e>>2]|0;f=a+20|0;d=c[f>>2]|0;o=(l|0)/(c[m>>2]|0)|0;d=XJ(o|0,((o|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;if(!(Hf(h,i,b,((b|0)<0)<<31>>31,d,M()|0,1073741823,0)|0)){hM(j);b=-22;break}d=c[h>>2]|0;c[e>>2]=d;b=c[i>>2]|0;c[f>>2]=b;while(1){if(!((b|0)<1048576&(d|0)<1048576))break;i=b<<1;c[f>>2]=i;o=d<<1;c[e>>2]=o;b=i;d=o}c[a+16>>2]=b;o=(b|0)/(d|0)|0;c[a+24>>2]=o;b=b-(H(o,d)|0)|0;c[k>>2]=b;b=a+32|0;o=H(c[b>>2]|0,(l|0)/(c[m>>2]|0)|0)|0;c[b>>2]=o;c[m>>2]=l;b=a+4|0;hM(b);c[b>>2]=c[j>>2];b=0;break}c[d>>2]=213474;c[d+4>>2]=213503;c[d+8>>2]=393;Xw(0,0,213444,d);ba()}while(0);Mb=n;return b|0}function kh(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c[b+21796>>2]|0;j=b+21752|0;c[j>>2]=-1;p=c[a+27e3>>2]|0;h=i-(p<<c[b+21828>>2])|0;k=h+-1|0;g=h+1|0;f=i+-1|0;n=b+21748|0;c[n>>2]=89168;q=c[a+24364>>2]|0;do if(c[a+26360>>2]|0){l=c[q+(f<<2)>>2]&128;m=d&128;if(c[b+21792>>2]&1|0){if((l|0)==(m|0)){o=k;n=f;break}d=i-p+-1|0;if(!m){c[j>>2]=0;c[n>>2]=89200;o=k+p|0;n=d;f=d;break}else{c[n>>2]=89264;o=k;n=d;break}}i=(m|0)!=0;if(i){d=(((c[q+(k<<2)>>2]|0)>>>7&1)+-1&p)+k|0;g=(((c[q+(g<<2)>>2]|0)>>>7&1)+-1&p)+g|0;h=(((c[q+(h<<2)>>2]|0)>>>7&1)+-1&p)+h|0}else d=k;if((l|0)!=(m|0))if(i){c[n>>2]=89264;o=d;n=f;f=p+f|0;break}else{c[n>>2]=89232;o=d;n=f;break}else{o=d;n=f}}else{o=k;n=f}while(0);c[b+21708>>2]=o;c[b+21712>>2]=h;c[b+21716>>2]=g;c[b+21720>>2]=n;c[b+21724>>2]=f;i=b+21728|0;c[i>>2]=c[q+(o<<2)>>2];j=b+21732|0;c[j>>2]=c[q+(h<<2)>>2];k=b+21736|0;c[k>>2]=c[q+(g<<2)>>2];l=b+21740|0;c[l>>2]=c[q+(n<<2)>>2];m=b+21744|0;c[m>>2]=c[q+(f<<2)>>2];d=c[a+26356>>2]|0;f=c[b+832>>2]|0;if((f|0)!=(e[d+(o<<1)>>1]|0|0)){c[i>>2]=0;if((f|0)!=(e[d+(h<<1)>>1]|0|0))c[j>>2]=0;if((f|0)!=(e[d+(n<<1)>>1]|0|0)){c[m>>2]=0;c[l>>2]=0}}if((f|0)!=(e[d+(g<<1)>>1]|0|0))c[k>>2]=0;return}function lh(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c[b+21796>>2]|0;j=b+21752|0;c[j>>2]=-1;p=c[a+27e3>>2]|0;h=i-(p<<c[b+21828>>2])|0;k=h+-1|0;g=h+1|0;f=i+-1|0;n=b+21748|0;c[n>>2]=75936;q=c[a+24364>>2]|0;do if(c[a+26360>>2]|0){l=c[q+(f<<2)>>2]&128;m=d&128;if(c[b+21792>>2]&1|0){if((l|0)==(m|0)){o=k;n=f;break}d=i-p+-1|0;if(!m){c[j>>2]=0;c[n>>2]=75968;o=k+p|0;n=d;f=d;break}else{c[n>>2]=76032;o=k;n=d;break}}i=(m|0)!=0;if(i){d=(((c[q+(k<<2)>>2]|0)>>>7&1)+-1&p)+k|0;g=(((c[q+(g<<2)>>2]|0)>>>7&1)+-1&p)+g|0;h=(((c[q+(h<<2)>>2]|0)>>>7&1)+-1&p)+h|0}else d=k;if((l|0)!=(m|0))if(i){c[n>>2]=76032;o=d;n=f;f=p+f|0;break}else{c[n>>2]=76e3;o=d;n=f;break}else{o=d;n=f}}else{o=k;n=f}while(0);c[b+21708>>2]=o;c[b+21712>>2]=h;c[b+21716>>2]=g;c[b+21720>>2]=n;c[b+21724>>2]=f;i=b+21728|0;c[i>>2]=c[q+(o<<2)>>2];j=b+21732|0;c[j>>2]=c[q+(h<<2)>>2];k=b+21736|0;c[k>>2]=c[q+(g<<2)>>2];l=b+21740|0;c[l>>2]=c[q+(n<<2)>>2];m=b+21744|0;c[m>>2]=c[q+(f<<2)>>2];d=c[a+26356>>2]|0;f=c[b+832>>2]|0;if((f|0)!=(e[d+(o<<1)>>1]|0|0)){c[i>>2]=0;if((f|0)!=(e[d+(h<<1)>>1]|0|0))c[j>>2]=0;if((f|0)!=(e[d+(n<<1)>>1]|0|0)){c[m>>2]=0;c[l>>2]=0}}if((f|0)!=(e[d+(g<<1)>>1]|0|0))c[k>>2]=0;return}function mh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=Mb;Mb=Mb+64|0;t=x+16|0;l=x+8|0;k=x;p=x+24|0;w=b+292|0;r=b+13760|0;u=a+6472|0;v=c[u>>2]|0;s=(v|0)==39;switch(v|0){case 23:case 19:case 17:{n=1;break}default:n=s}c[p>>2]=0;h=Hz(d,8)|0;m=(e|0)!=0;if(!m?(f=Ae(a,b,d)|0,(f|0)<0):0)v=23;else v=5;do if((v|0)==5){i=b+5872|0;e=b+6896|0;f=_k(a,i,e,d,b)|0;if((f|0)>=0){g=b+7376|0;f=qd(a,g,d,h,b,i,e)|0;if((f|0)>=0){if(!s?(j=uL(d)|0,(j|0)!=0):0){if((c[b+4>>2]|0)==2){Xw(c[a+4>>2]|0,16,188536,k);f=-1094995529;v=23;break}if(!(Tp(p,d,c[b+80>>2]|0,c[b+88>>2]|0)|0))f=j;else{Xw(c[a+4>>2]|0,16,188585,l);f=-1094995529;v=23;break}}else f=0;l=uL(d)|0;c[w>>2]=l;if(!(n|(l|0)==0)?(o=rj(a,w,d,b)|0,(o|0)<0):0){f=o;v=23;break}if(!s?uL(d)|0:0){KM(c[a+4>>2]|0,188617,t);f=-1163346256;v=23;break}if(n&(c[w>>2]|0)!=0?(q=rj(a,w,d,b)|0,(q|0)<0):0){f=q;v=23;break}f=Qc(a,r,d,g,f,p,b,i)|0;if((f|0)>=0)if(m|(c[u>>2]|0)!=1)f=0;else{Wf(a,b);f=0}else v=23}else v=23}else v=23}while(0);if((v|0)==23)c[w>>2]=0;Mb=x;return f|0}function nh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}case 18:{ec[e&255](a,d);break a}default:break a}while(0);while(0);return}function oh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=Mb;Mb=Mb+32|0;u=v+16|0;s=v+8|0;h=v;r=c[b+60>>2]|0;g=(c[r+6516>>2]|0)==0?1024:960;i=c[r+6484>>2]|0;j=c[r+6472>>2]|0;switch(j|0){case 23:case 39:{q=g>>>1;break}default:q=g}p=r+8|0;c[p>>2]=d;g=hp(b)|0;a:do if((g|0)>=0){o=r+4|0;c[(c[o>>2]|0)+828>>2]=j+-1;c[r+1004>>2]=0;if((i|0)>=0?!((i|0)>12|(i+-8|0)>>>0<3):0){n=a[43760+i>>0]|0;m=i+-1|0;l=(j|0)==39;k=0;while(1){if((k|0)>=(n|0))break;d=a[43776+(m*15|0)+(k*3|0)>>0]|0;h=d&255;i=a[43776+(m*15|0)+(k*3|0)+1>>0]|0;j=Vd(r,h,i&255)|0;if(!j){t=10;break}c[j>>2]=1;if(!l)gO(f,4);switch(d<<24>>24){case 0:{g=mh(r,j+288|0,f,0)|0;break}case 1:{g=pk(r,f,j)|0;break}case 3:{g=mh(r,j+288|0,f,0)|0;break}default:{}}if((g|0)<0)break a;else k=k+1|0}if((t|0)==10){g=c[o>>2]|0;c[s>>2]=h;c[s+4>>2]=i&255;Xw(g,16,187320,s);g=-1094995529;break}Gg(r);g=c[p>>2]|0;if(!(c[g>>2]|0)){Xw(b,16,187555,u);g=-1094995529;break}else{c[g+76>>2]=q;c[g+232>>2]=c[b+416>>2];c[e>>2]=1;qK(f,pS(f)|0);g=0;break}}c[h>>2]=i;KM(b,189536,h);g=-1094995529}while(0);Mb=v;return g|0}function ph(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Mb;Mb=Mb+208|0;i=k+192|0;g=k;h=k+196|0;j=c[a+60>>2]|0;a:do if(!(YO(1103388,17)|0)){e=j+4|0;c[e>>2]=a;f=a+416|0;c[j+6480>>2]=c[f>>2];OO(j);c[a+424>>2]=8;b=c[a+104>>2]|0;if((b|0)>0){g=c[e>>2]|0;h=c[a+100>>2]|0;b=cN(b|0,((b|0)<0)<<31>>31|0,3)|0;b=Yw(j,g,j+6472|0,h,b,M()|0)|0;if((b|0)<0)break;b=a+420|0}else{b=Xt(c[f>>2]|0)|0;c[j+6476>>2]=b;b=a+420|0;f=c[b>>2]|0;c[j+6508>>2]=f;c[j+6488>>2]=-1;c[j+6512>>2]=-1;e=0;while(1){if(e>>>0>=8)break;if((f|0)==(d[200859+e>>0]|0|0))break;e=e+1|0}e=(e|0)==8?0:e;c[j+6484>>2]=e;do if(e|0){if(!(Wt(a,g,h,e)|0)){$g(j,g,c[h>>2]|0,3,0)|0;break}if(c[a+688>>2]&8|0){b=-1094995529;break a}}while(0)}if((c[b>>2]|0)>64){Xw(a,16,187944,i);b=-1094995529;break}i=nD(c[a+92>>2]&8388608)|0;c[j+5404>>2]=i;if(i){c[j+5408>>2]=523124044;Bm(j+5120|0,11,1,2.9802322387695312e-08)|0;Bm(j+5256|0,10,1,5.9604644775390625e-08)|0;Bm(j+5188|0,8,1,2.384185791015625e-07)|0;Bm(j+5324|0,11,0,-65536.0)|0;b=_g(j+5392|0,1,3,2.5431316430513107e-07)|0;if((b|0)>=0){b=_g(j+5396|0,1,5,6.357829107628277e-08)|0;if((b|0)>=0){b=_g(j+5400|0,1,6,3.1789145538141383e-08)|0;b=(b|0)<0?b:0}}}else b=-12}else b=-1313558101;while(0);Mb=k;return b|0}function qh(a,g,h){a=a|0;g=g|0;h=h|0;var i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=Mb;Mb=Mb+1504|0;q=y+1008|0;v=y+512|0;w=y;x=a+264|0;qM(x,g);j=76976+((sC(x,6)|0)<<1)|0;o=a+284|0;n=q;i=+(e[j>>1]|0);j=v;s=0;a:while(1){switch(s&2147483647|0){case 23:break a;case 0:break;default:{u=77104+((sC(x,5)|0)<<1)|0;i=i+ +(b[u>>1]|0)}}p=+pb(+(i*.00048828125));p=-(p*+f[o>>2]);m=d[76944+s>>0]|0;r=j+(m<<2)|0;k=0;l=n;while(1){if((k|0)==(m|0))break;f[l>>2]=i;f[j>>2]=p;k=k+1|0;l=l+4|0;j=j+4|0}n=n+(m<<2)|0;j=r;s=s+1|0}gg(q,w);q=a+4|0;r=a+292|0;s=a+336|0;t=a+1408|0;u=a+288|0;n=a+1412|0;l=0;while(1){if((l|0)==2)break;o=h+(l<<7<<2)|0;qM(x,g);qK(x,(l*198|0)+116|0);m=0;while(1){if((m|0)==124)break;j=w+(m<<2)|0;k=c[j>>2]|0;if((k|0)<1){j=o+(m<<2)|0;f[j>>2]=+f[v+(m<<2)>>2]*.7071067811865476;if((oI(q)|0)&1|0)f[j>>2]=-+f[j>>2]}else{a=sC(x,k)|0;f[o+(m<<2)>>2]=+f[76432+((a&255)+-1+(1<<c[j>>2])<<2)>>2]*+f[v+(m<<2)>>2]}m=m+1|0}a=o+496|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;gc[c[s>>2]&1023](r,c[t>>2]|0,o);jc[c[(c[u>>2]|0)+20>>2]&127](o,(c[n>>2]|0)+256|0,c[t>>2]|0,214112,64);a=c[n>>2]|0;c[n>>2]=c[t>>2];c[t>>2]=a;l=l+1|0}Mb=y;return}function rh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;l=b+8|0;m=d+8|0;n=b+12|0;o=d+12|0;p=b+16|0;q=d+16|0;g=b+4|0;h=d+28|0;i=b+20|0;j=d+44|0;k=a+4|0;f=0;while(1){if((f|0)>=(e|0))break;w=c[(c[l>>2]|0)+(f<<2)>>2]|0;v=c[m>>2]|0;w=XJ(v|0,((v|0)<0)<<31>>31|0,w|0,((w|0)<0)<<31>>31|0)|0;v=M()|0;r=c[(c[n>>2]|0)+(f<<2)>>2]|0;s=c[o>>2]|0;r=XJ(s|0,((s|0)<0)<<31>>31|0,r|0,((r|0)<0)<<31>>31|0)|0;v=SO(r|0,M()|0,w|0,v|0)|0;w=M()|0;r=c[(c[b>>2]|0)+(f<<2)>>2]|0;s=c[d>>2]|0;r=XJ(s|0,((s|0)<0)<<31>>31|0,r|0,((r|0)<0)<<31>>31|0)|0;s=M()|0;t=c[(c[p>>2]|0)+(f<<2)>>2]|0;u=c[q>>2]|0;t=XJ(u|0,((u|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;u=M()|0;w=SO(v|0,w|0,16384,0)|0;v=M()|0;s=SO(w|0,v|0,r|0,s|0)|0;u=SO(s|0,M()|0,t|0,u|0)|0;u=oN(u|0,M()|0,15)|0;M()|0;c[(c[a>>2]|0)+(f<<2)>>2]=u;u=c[(c[g>>2]|0)+(f<<2)>>2]|0;t=c[h>>2]|0;u=XJ(t|0,((t|0)<0)<<31>>31|0,u|0,((u|0)<0)<<31>>31|0)|0;t=M()|0;s=c[(c[i>>2]|0)+(f<<2)>>2]|0;r=c[j>>2]|0;s=XJ(r|0,((r|0)<0)<<31>>31|0,s|0,((s|0)<0)<<31>>31|0)|0;r=M()|0;t=SO(w|0,v|0,u|0,t|0)|0;r=SO(t|0,M()|0,s|0,r|0)|0;r=oN(r|0,M()|0,15)|0;M()|0;c[(c[k>>2]|0)+(f<<2)>>2]=r;f=f+1|0}return}function sh(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=h>>1;i=d;j=0;f=f+(0-(h&-2)<<1)|0;while(1){if((j|0)==9)break;q=e[f>>1]|0;l=e[f+2>>1]|0;o=e[f+-2>>1]|0;h=e[f+4>>1]|0;p=H(h+o|0,-5)|0;m=e[f+6>>1]|0;c[i>>2]=((l+q|0)*20|0)+(e[f+-4>>1]|0)+p+m;p=H(m+q|0,-5)|0;n=e[f+8>>1]|0;c[i+4>>2]=((h+l|0)*20|0)+o+p+n;p=H(n+l|0,-5)|0;o=e[f+10>>1]|0;c[i+8>>2]=((m+h|0)*20|0)+q+p+o;h=H(o+h|0,-5)|0;c[i+12>>2]=((n+m|0)*20|0)+l+h+(e[f+12>>1]|0);i=i+32|0;j=j+1|0;f=f+(k<<1)|0}k=g>>1;i=g&-2;j=k*3|0;f=d+64|0;h=0;while(1){if((h|0)==4)break;r=c[f+-32>>2]|0;g=c[f>>2]|0;d=c[f+32>>2]|0;p=c[f+64>>2]|0;n=c[f+96>>2]|0;m=c[f+128>>2]|0;o=c[f+160>>2]|0;l=c[f+192>>2]|0;q=(c[f+-64>>2]|0)+512+n+((d+g|0)*20|0)+(H(p+r|0,-5)|0)>>10;b[a>>1]=((e[a>>1]|0)+1+(q>>>0<16384?q:(q^-2147483648)>>31&16383)|0)>>>1;q=a+(k<<1)|0;r=r+512+m+((p+d|0)*20|0)+(H(n+g|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(r>>>0<16384?r:(r^-2147483648)>>31&16383)|0)>>>1;q=a+(i<<1)|0;g=g+512+o+((n+p|0)*20|0)+(H(m+d|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(g>>>0<16384?g:(g^-2147483648)>>31&16383)|0)>>>1;q=a+(j<<1)|0;p=d+512+l+((m+n|0)*20|0)+(H(o+p|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(p>>>0<16384?p:(p^-2147483648)>>31&16383)|0)>>>1;a=a+2|0;f=f+4|0;h=h+1|0}return}function th(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=h>>1;i=d;j=0;f=f+(0-(h&-2)<<1)|0;while(1){if((j|0)==9)break;q=e[f>>1]|0;l=e[f+2>>1]|0;o=e[f+-2>>1]|0;h=e[f+4>>1]|0;p=H(h+o|0,-5)|0;m=e[f+6>>1]|0;c[i>>2]=((l+q|0)*20|0)+(e[f+-4>>1]|0)+p+m;p=H(m+q|0,-5)|0;n=e[f+8>>1]|0;c[i+4>>2]=((h+l|0)*20|0)+o+p+n;p=H(n+l|0,-5)|0;o=e[f+10>>1]|0;c[i+8>>2]=((m+h|0)*20|0)+q+p+o;h=H(o+h|0,-5)|0;c[i+12>>2]=((n+m|0)*20|0)+l+h+(e[f+12>>1]|0);i=i+32|0;j=j+1|0;f=f+(k<<1)|0}k=g>>1;i=g&-2;j=k*3|0;f=d+64|0;h=0;while(1){if((h|0)==4)break;r=c[f+-32>>2]|0;g=c[f>>2]|0;d=c[f+32>>2]|0;p=c[f+64>>2]|0;n=c[f+96>>2]|0;m=c[f+128>>2]|0;o=c[f+160>>2]|0;l=c[f+192>>2]|0;q=(c[f+-64>>2]|0)+512+n+((d+g|0)*20|0)+(H(p+r|0,-5)|0)>>10;b[a>>1]=((e[a>>1]|0)+1+(q>>>0<4096?q:(q^-2147483648)>>31&4095)|0)>>>1;q=a+(k<<1)|0;r=r+512+m+((p+d|0)*20|0)+(H(n+g|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(r>>>0<4096?r:(r^-2147483648)>>31&4095)|0)>>>1;q=a+(i<<1)|0;g=g+512+o+((n+p|0)*20|0)+(H(m+d|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(g>>>0<4096?g:(g^-2147483648)>>31&4095)|0)>>>1;q=a+(j<<1)|0;p=d+512+l+((m+n|0)*20|0)+(H(o+p|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(p>>>0<4096?p:(p^-2147483648)>>31&4095)|0)>>>1;a=a+2|0;f=f+4|0;h=h+1|0}return}function uh(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;l=8-g|0;k=8-h|0;m=H(k,l)|0;k=H(k,g)|0;l=H(l,h)|0;h=H(h,g)|0;a:do if(!h){j=k+l|0;if(!j){g=0;while(1){if((g|0)>=(f|0))break a;l=((d[b>>0]|0)+1+(((H(m,d[c>>0]|0)|0)+32|0)>>>6)|0)>>>1&255;a[b>>0]=l;l=b+1|0;k=((d[l>>0]|0)+1+(((H(m,d[c+1>>0]|0)|0)+32|0)>>>6)|0)>>>1&255;a[l>>0]=k;b=b+e|0;g=g+1|0;c=c+e|0}}else{h=(l|0)==0?1:e;i=h+1|0;g=0;while(1){if((g|0)>=(f|0))break a;l=H(m,d[c>>0]|0)|0;l=((d[b>>0]|0)+1+((l+32+(H(j,d[c+h>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[b>>0]=l;l=b+1|0;k=H(m,d[c+1>>0]|0)|0;k=((d[l>>0]|0)+1+((k+32+(H(j,d[c+i>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[l>>0]=k;b=b+e|0;g=g+1|0;c=c+e|0}}}else{i=e+1|0;j=e+2|0;g=0;while(1){if((g|0)>=(f|0))break a;s=H(m,d[c>>0]|0)|0;r=c+1|0;q=H(k,d[r>>0]|0)|0;n=c+e|0;o=H(l,d[n>>0]|0)|0;p=c+i|0;o=((d[b>>0]|0)+1+((s+32+q+o+(H(h,d[p>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[b>>0]=o;o=b+1|0;r=H(m,d[r>>0]|0)|0;q=H(k,d[c+2>>0]|0)|0;p=H(l,d[p>>0]|0)|0;p=((d[o>>0]|0)+1+((r+32+q+p+(H(h,d[c+j>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[o>>0]=p;b=b+e|0;g=g+1|0;c=n}}while(0);return}function vh(a){a=a|0;var b=0;a:do if((a|0)>=65563){if((a|0)<69655)switch(a|0){case 69646:case 69636:case 69644:{a=4;break a}case 65563:{b=2;break a}case 65566:{b=3;break a}case 65564:{b=4;break a}case 67586:case 67587:case 65565:{b=5;break a}case 67584:case 67585:{b=6;break a}default:{b=7;break a}}if((a|0)>=86071)switch(a|0){case 86072:case 86071:{a=4;break a}case 88072:case 88071:case 88070:case 88069:{b=2;break a}default:{b=7;break a}}if((a|0)<71681)switch(a|0){case 69660:case 69655:case 69661:{a=4;break a}default:{b=7;break a}}if((a|0)<71687)switch(a|0){case 71681:{a=4;break a}default:{b=7;break a}}if((a|0)<83968)switch(a|0){case 71687:{a=4;break a}default:{b=7;break a}}else switch(a|0){case 83968:{b=2;break a}default:{b=7;break a}}}else switch(a|0){case 65553:case 65541:case 65540:case 65542:case 65543:{b=2;break}case 65538:case 65539:case 65554:case 65536:case 65537:{b=3;break}case 65550:case 65551:case 65548:case 65549:case 65552:{b=4;break}case 65557:case 65556:case 65546:case 65547:case 65544:case 65545:{b=5;break}case 65559:case 65558:{b=6;break}default:b=7}while(0);if((b|0)==2)a=8;else if((b|0)==3)a=16;else if((b|0)==4)a=24;else if((b|0)==5)a=32;else if((b|0)==6)a=64;else if((b|0)==7)a=0;return a|0}function wh(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=Mb;Mb=Mb+48|0;l=q+24|0;j=q+8|0;p=q+36|0;do if((g&8|0)==0&(no(b,e,f,1,h)|0)<0){Xw(h,24,197430,q);if((e|0)<=21821){i=e*3|0;k=((i|0)/2|0)+32|0;g=YQ(k)|0;c[p>>2]=g;if(!g)g=-12;else{if((e|0)<=-1){c[j>>2]=197489;c[j+4>>2]=197503;c[j+8>>2]=137;Xw(0,0,213444,j);ba()}n=b+e|0;if((i|0)<=-66){c[l>>2]=197489;c[l+4>>2]=197503;c[l+8>>2]=147;Xw(0,0,213444,l);ba()}m=g;l=g+k|0;g=m;e=0;a:while(1){k=(l-g|0)>0;while(1){i=n-b|0;if(!i)break a;j=b;if(i>>>0>2){if((i|0)<3){j=15;break}i=j+1|0;if(((d[i>>0]|0)<<8|(d[j>>0]|0)<<16|(d[j+2>>0]|0))>>>0<4){j=15;break}}else i=j+1|0;if(!((e|0)==0^1|k^1)){j=22;break}b=i;e=1}if((j|0)==15){if((e|0)==0?(o=g,(l-g|0)>2):0){a[o+2>>0]=3;a[o+1>>0]=0;a[o>>0]=0;g=o+3|0;e=0}else e=1;b=b+2|0}else if((j|0)==22){a[g>>0]=a[b>>0]|0;g=g+1|0;b=i;e=0}}g=g-m|0;n=cU(g+65534&65535|0)|0;o=c[p>>2]|0;a[o>>0]=n;a[o+1>>0]=n>>8;no(c[p>>2]|0,g,f,1,h)|0;hM(p);g=0;break}}else g=-34}else g=0;while(0);Mb=q;return g|0}function xh(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=f>>1;g=(b|0)!=0;if(g){x=e[a+-2>>1]|0;A=e[a+(~B<<1)>>1]|0}else{A=e[a+-2>>1]|0;x=A}y=e[a+(B+-1<<1)>>1]|0;z=y+2|0;q=e[a+((f&-2)+-1<<1)>>1]|0;r=q+2|0;s=e[a+((B*3|0)+-1<<1)>>1]|0;t=e[a+((B<<2)+-1<<1)>>1]|0;u=e[a+((B*5|0)+-1<<1)>>1]|0;v=e[a+((B*6|0)+-1<<1)>>1]|0;w=e[a+((B*7|0)+-1<<1)>>1]|0;b=0-B|0;if(g){f=e[a+(b<<1)>>1]|0;g=e[a+(~B<<1)>>1]|0}else{g=e[a+(b<<1)>>1]|0;f=g}o=e[a+(1-B<<1)>>1]|0;p=o+2|0;h=e[a+(2-B<<1)>>1]|0;i=h+2|0;j=e[a+(3-B<<1)>>1]|0;k=e[a+(4-B<<1)>>1]|0;l=e[a+(5-B<<1)>>1]|0;m=e[a+(6-B<<1)>>1]|0;n=e[a+(7-B<<1)>>1]|0;if(!d)b=n;else b=e[a+(8-B<<1)>>1]|0;f=((z+A+(x<<1)|0)>>>2)+8+((r+x+(y<<1)|0)>>>2)+((z+(q<<1)+s|0)>>>2)+((r+(s<<1)+t|0)>>>2)+((s+2+(t<<1)+u|0)>>>2)+((t+2+(u<<1)+v|0)>>>2)+((v+2+(w*3|0)|0)>>>2)+((u+2+(v<<1)+w|0)>>>2)+((p+g+(f<<1)|0)>>>2)+((i+f+(o<<1)|0)>>>2)+((p+(h<<1)+j|0)>>>2)+((i+(j<<1)+k|0)>>>2)+((j+2+(k<<1)+l|0)>>>2)+((k+2+(l<<1)+m|0)>>>2)+((l+2+(m<<1)+n|0)>>>2)+((m+2+(n<<1)+b|0)>>>2)>>4;f=XJ(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;while(1){if((b|0)==8)break;A=a;c[A>>2]=f;c[A+4>>2]=g;A=a+8|0;c[A>>2]=f;c[A+4>>2]=g;b=b+1|0;a=a+(B<<1)|0}return}function yh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Mb;Mb=Mb+32|0;g=k+16|0;e=k;d=c[b>>2]|0;if(c[d>>2]|0){c[e>>2]=199742;c[e+4>>2]=198956;c[e+8>>2]=192;Xw(0,0,213444,e);ba()}i=b+4|0;c[i>>2]=d;e=a+4|0;d=AL(c[e>>2]|0,i,(c[b+640>>2]|0)!=0&1)|0;a:do if((d|0)>=0){e=c[(c[e>>2]|0)+704>>2]|0;if(e|0){f=b+56|0;if(c[f>>2]|0){c[g>>2]=199759;c[g+4>>2]=198956;c[g+8>>2]=202;Xw(0,0,213444,g);ba()}e=c[e+40>>2]|0;if(e|0){e=KO(e)|0;c[b+52>>2]=e;if(!e){d=-12;break}c[f>>2]=c[e+4>>2]}}f=a+29904|0;e=c[f>>2]|0;if(!e){d=gq(a)|0;if((d|0)<0){j=18;break}e=c[f>>2]|0}e=ft(e)|0;f=b+20|0;c[f>>2]=e;e=ft(c[a+29908>>2]|0)|0;c[b+44>>2]=e;f=c[f>>2]|0;if((e|0)==0|(f|0)==0)j=18;else{g=c[a+27e3>>2]<<1;c[b+48>>2]=(c[e+4>>2]|0)+(g<<2)+4;c[b+24>>2]=(c[f+4>>2]|0)+g+1;f=a+29912|0;g=a+29916|0;e=0;while(1){if(e>>>0>=2){d=0;break a}h=ft(c[f>>2]|0)|0;i=b+28+(e<<2)|0;c[i>>2]=h;h=ft(c[g>>2]|0)|0;c[b+60+(e<<2)>>2]=h;i=c[i>>2]|0;if((h|0)==0|(i|0)==0){j=18;break a}c[b+36+(e<<2)>>2]=(c[i+4>>2]|0)+16;c[b+68+(e<<2)>>2]=c[h+4>>2];e=e+1|0}}}else j=18;while(0);if((j|0)==18){Cw(a,b);d=(d|0)<0?d:-12}Mb=k;return d|0}function zh(g,h,i,j){g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0;C=c[i+76>>2]|0;D=j+8|0;a:do if(!(c[i+40>>2]|0)){t=i+310276|0;u=i+310226|0;v=i+390956|0;s=0;while(1){if(s>>>0>=(c[D>>2]|0)>>>0)break a;w=s+1|0;l=d[j+87932+w>>0]|0;B=d[j+87932+s>>0]|0;x=l-B<<1;B=B<<1;y=B+2|0;z=j+12+w|0;k=a[z>>0]|0;A=k<<24>>24==0?u:t;B=(l<<1)+2+(-2-B)|0;l=0;while(1){if(l>>>0>=(c[i+310112+((k&255)<<2)>>2]|0)>>>0)break;r=l+1|0;n=A+(r<<1)|0;k=b[n>>1]|0;p=A+(l<<1)|0;l=e[p>>1]|0;m=(k&65535)-l|0;o=0.0;while(1){q=k&65535;if(l>>>0>=q>>>0)break;E=o+ +Tb[c[v>>2]&1](h+(l*320|0)+(y<<3)|0,B);o=E;l=l+1|0;k=b[n>>1]|0}o=o/+(H(x,m)|0);k=e[p>>1]|0;while(1){if(k>>>0>=q>>>0)break;f[g+(s*192|0)+(k-C<<2)>>2]=o;k=k+1|0}l=r;k=a[z>>0]|0}s=w}}else{r=i+84|0;m=i+390956|0;k=0;while(1){if(k>>>0>=(c[D>>2]|0)>>>0)break a;n=k+1|0;l=d[j+87932+n>>0]|0;q=d[j+87932+k>>0]|0;o=.5/+(l-q|0);q=q<<1;p=q+2|0;q=(l<<1)+2+(-2-q)|0;l=0;while(1){if(l>>>0>=(c[r>>2]|0)>>>0)break;E=o*+Tb[c[m>>2]&1](h+((l+C|0)*320|0)+(p<<3)|0,q);f[g+(k*192|0)+(l<<2)>>2]=E;l=l+1|0}k=n}}while(0);return}function Ah(a,d,e,h,i){a=a|0;d=d|0;e=e|0;h=h|0;i=i|0;var j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0;u=Mb;Mb=Mb+48|0;t=u+32|0;s=u+16|0;m=u;q=+f[a+140>>2];l=e+2|0;r=DQ(l)|0;do if(r){o=a+128|0;k=0;a=h;while(1){if((k|0)>=(l|0))break;a=(H(a,1664525)|0)+1013904223|0;h=c[o>>2]|0;if((h|0)==1)j=+(a>>>0)/4294967295.0+-.5;else{if((h|0)>=72){n=7;break}h=(H(a,1664525)|0)+1013904223|0;j=+(a>>>0)/4294967295.0-+(h>>>0)/4294967295.0;a=h}g[r+(k<<3)>>3]=j;k=k+1|0}if((n|0)==7){c[m>>2]=210138;c[m+4>>2]=210171;c[m+8>>2]=42;Xw(0,0,213444,m);ba()}h=0;a:while(1){if((h|0)>=(e|0)){n=24;break}a=c[o>>2]|0;if((a|0)==3)j=(+g[r+(h+1<<3)>>3]*2.0-+g[r+(h<<3)>>3]-+g[r+(h+2<<3)>>3])/2.449489742783178;else{if((a|0)>=72){n=14;break}j=+g[r+(h<<3)>>3]}j=j*q;switch(i|0){case 6:{b[d+(h<<1)>>1]=~~j;break}case 7:{c[d+(h<<2)>>2]=~~j;break}case 8:{f[d+(h<<2)>>2]=j;break}case 9:{g[d+(h<<3)>>3]=j;break}default:{n=22;break a}}h=h+1|0}if((n|0)==14){c[s>>2]=210138;c[s+4>>2]=210171;c[s+8>>2]=56;Xw(0,0,213444,s);ba()}else if((n|0)==22){c[t>>2]=213565;c[t+4>>2]=210171;c[t+8>>2]=71;Xw(0,0,213444,t);ba()}else if((n|0)==24){gV(r);p=0;break}}else p=-12;while(0);Mb=u;return p|0}function Bh(c,e,f,g,h){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=e;j=0;f=f+(0-(h<<1))|0;while(1){if((j|0)==9)break;l=f+1|0;o=f+-1|0;k=f+2|0;p=H((d[k>>0]|0)+(d[o>>0]|0)|0,-5)|0;m=f+3|0;b[i>>1]=(((d[l>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+p+(d[m>>0]|0);p=H((d[m>>0]|0)+(d[f>>0]|0)|0,-5)|0;n=f+4|0;b[i+2>>1]=(((d[k>>0]|0)+(d[l>>0]|0)|0)*20|0)+(d[o>>0]|0)+p+(d[n>>0]|0);p=H((d[n>>0]|0)+(d[l>>0]|0)|0,-5)|0;o=f+5|0;b[i+4>>1]=(((d[m>>0]|0)+(d[k>>0]|0)|0)*20|0)+(d[f>>0]|0)+p+(d[o>>0]|0);k=H((d[o>>0]|0)+(d[k>>0]|0)|0,-5)|0;b[i+6>>1]=(((d[n>>0]|0)+(d[m>>0]|0)|0)*20|0)+(d[l>>0]|0)+k+(d[f+6>>0]|0);i=i+8|0;j=j+1|0;f=f+h|0}j=g<<1;h=g*3|0;f=e+16|0;i=0;while(1){if((i|0)==4)break;q=b[f+-8>>1]|0;e=b[f>>1]|0;k=b[f+8>>1]|0;p=b[f+16>>1]|0;n=b[f+24>>1]|0;m=b[f+32>>1]|0;o=b[f+40>>1]|0;l=b[f+48>>1]|0;r=(b[f+-16>>1]|0)+512+n+((k+e|0)*20|0)+(H(p+q|0,-5)|0)>>10;a[c>>0]=r>>>0>255?(r^-2147483648)>>31:r;q=q+512+m+((p+k|0)*20|0)+(H(n+e|0,-5)|0)>>10;a[c+g>>0]=q>>>0>255?(q^-2147483648)>>31:q;e=e+512+o+((n+p|0)*20|0)+(H(m+k|0,-5)|0)>>10;a[c+j>>0]=e>>>0>255?(e^-2147483648)>>31:e;p=k+512+l+((m+n|0)*20|0)+(H(o+p|0,-5)|0)>>10;a[c+h>>0]=p>>>0>255?(p^-2147483648)>>31:p;c=c+1|0;f=f+2|0;i=i+1|0}return}function Ch(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=d>>1;B=f<<6;y=g<<6;z=0-C|0;A=H(C,-2)|0;x=H(C,-3)|0;w=d&-2;u=0;while(1){if((u|0)==4)break;f=a[h+u>>0]|0;v=f<<24>>24<<6;a:do if(f<<24>>24>=0){m=f<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+(z<<1)|0;q=e[p>>1]|0;f=l+(A<<1)|0;r=e[f>>1]|0;g=e[l+(x<<1)>>1]|0;s=e[l>>1]|0;i=l+(C<<1)|0;t=e[i>>1]|0;j=e[l+(w<<1)>>1]|0;d=q-s|0;if(((((d|0)>-1?d:0-d|0)|0)<(B|0)?(d=r-q|0,(((d|0)>-1?d:0-d|0)|0)<(y|0)):0)?(d=t-s|0,(((d|0)>-1?d:0-d|0)|0)<(y|0)):0){d=g-q|0;d=(((d|0)>-1?d:0-d|0)|0)>=(y|0);if(m|d)f=d?v:n;else{d=((((q+1+s|0)>>>1)+g|0)>>>1)-r|0;b[f>>1]=((d|0)<(o|0)?o:(d|0)>(v|0)?v:d)+r;f=n}d=j-s|0;if((((d|0)>-1?d:0-d|0)|0)<(y|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}f=f+1|0}t=r+4-t+(s-q<<2)>>3;r=0-f|0;t=(t|0)<(r|0)?r:(t|0)>(f|0)?f:t;r=t+q|0;b[p>>1]=r>>>0<16384?r:(r^-2147483648)>>31&16383;t=s-t|0;b[l>>1]=t>>>0<16384?t:(t^-2147483648)>>31&16383}k=k+1|0;l=l+2|0}}while(0);c=c+8|0;u=u+1|0}return}function Dh(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=d>>1;B=f<<4;y=g<<4;z=0-C|0;A=H(C,-2)|0;x=H(C,-3)|0;w=d&-2;u=0;while(1){if((u|0)==4)break;f=a[h+u>>0]|0;v=f<<24>>24<<4;a:do if(f<<24>>24>=0){m=f<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+(z<<1)|0;q=e[p>>1]|0;f=l+(A<<1)|0;r=e[f>>1]|0;g=e[l+(x<<1)>>1]|0;s=e[l>>1]|0;i=l+(C<<1)|0;t=e[i>>1]|0;j=e[l+(w<<1)>>1]|0;d=q-s|0;if(((((d|0)>-1?d:0-d|0)|0)<(B|0)?(d=r-q|0,(((d|0)>-1?d:0-d|0)|0)<(y|0)):0)?(d=t-s|0,(((d|0)>-1?d:0-d|0)|0)<(y|0)):0){d=g-q|0;d=(((d|0)>-1?d:0-d|0)|0)>=(y|0);if(m|d)f=d?v:n;else{d=((((q+1+s|0)>>>1)+g|0)>>>1)-r|0;b[f>>1]=((d|0)<(o|0)?o:(d|0)>(v|0)?v:d)+r;f=n}d=j-s|0;if((((d|0)>-1?d:0-d|0)|0)<(y|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}f=f+1|0}t=r+4-t+(s-q<<2)>>3;r=0-f|0;t=(t|0)<(r|0)?r:(t|0)>(f|0)?f:t;r=t+q|0;b[p>>1]=r>>>0<4096?r:(r^-2147483648)>>31&4095;t=s-t|0;b[l>>1]=t>>>0<4096?t:(t^-2147483648)>>31&4095}k=k+1|0;l=l+2|0}}while(0);c=c+8|0;u=u+1|0}return}function Eh(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=d>>1;B=f<<2;y=g<<2;z=0-C|0;A=H(C,-2)|0;x=H(C,-3)|0;w=d&-2;u=0;while(1){if((u|0)==4)break;f=a[h+u>>0]|0;v=f<<24>>24<<2;a:do if(f<<24>>24>=0){m=f<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+(z<<1)|0;q=e[p>>1]|0;f=l+(A<<1)|0;r=e[f>>1]|0;g=e[l+(x<<1)>>1]|0;s=e[l>>1]|0;i=l+(C<<1)|0;t=e[i>>1]|0;j=e[l+(w<<1)>>1]|0;d=q-s|0;if(((((d|0)>-1?d:0-d|0)|0)<(B|0)?(d=r-q|0,(((d|0)>-1?d:0-d|0)|0)<(y|0)):0)?(d=t-s|0,(((d|0)>-1?d:0-d|0)|0)<(y|0)):0){d=g-q|0;d=(((d|0)>-1?d:0-d|0)|0)>=(y|0);if(m|d)f=d?v:n;else{d=((((q+1+s|0)>>>1)+g|0)>>>1)-r|0;b[f>>1]=((d|0)<(o|0)?o:(d|0)>(v|0)?v:d)+r;f=n}d=j-s|0;if((((d|0)>-1?d:0-d|0)|0)<(y|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}f=f+1|0}t=r+4-t+(s-q<<2)>>3;r=0-f|0;t=(t|0)<(r|0)?r:(t|0)>(f|0)?f:t;r=t+q|0;b[p>>1]=r>>>0<1024?r:(r^-2147483648)>>31&1023;t=s-t|0;b[l>>1]=t>>>0<1024?t:(t^-2147483648)>>31&1023}k=k+1|0;l=l+2|0}}while(0);c=c+8|0;u=u+1|0}return}function Fh(a,c,d,e,f,g,h,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;a:do if((j|0)!=0&(k|0)!=0){if((i|0)<(k|0)){p=(0-g|0)<(i|0);q=1-g|0;o=c+(0-(H(i,e)|0))+(H(q,e)|0)|0;c=p?c:o;i=p?i:q}else{q=k+-1|0;c=c+(0-(H(i,e)|0))+(H(q,e)|0)|0;i=q}if((h|0)<(j|0)){p=(0-f|0)<(h|0);q=1-f|0;l=p?h:q;h=p?c:c+(q-h<<1)|0}else{q=j+-1|0;l=q;h=c+(q-h<<1)|0}c=0-i|0;c=(c|0)>0?c:0;q=0-l|0;q=(q|0)>0?q:0;m=k-i|0;n=(m|0)<(g|0);p=j-l|0;p=(p|0)<(f|0)?p:f;o=q<<1;i=h+(o+(H(c,e)|0))|0;j=p-q<<1;k=(H(c,d)|0)+o|0;h=a+o|0;l=0;while(1){if(l>>>0>=c>>>0)break;rk(h|0,i|0,j|0)|0;h=h+d|0;l=l+1|0}l=n?m:g;h=a+k|0;while(1){if((c|0)>=(l|0))break;rk(h|0,i|0,j|0)|0;h=h+d|0;c=c+1|0;i=i+e|0}i=i+(0-e)|0;while(1){if((c|0)>=(g|0))break;rk(h|0,i|0,j|0)|0;h=h+d|0;c=c+1|0}k=p+-1|0;c=g;h=h+(0-((H(g,d)|0)+o))|0;while(1){l=c+-1|0;if(!c)break a;i=h+(q<<1)|0;c=0;while(1){if(c>>>0>=q>>>0)break;b[h+(c<<1)>>1]=b[i>>1]|0;c=c+1|0}i=h+(k<<1)|0;c=p;while(1){if((c|0)>=(f|0))break;b[h+(c<<1)>>1]=b[i>>1]|0;c=c+1|0}c=l;h=h+d|0}}while(0);return}function Gh(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=d>>1;B=f<<1;y=g<<1;z=0-C|0;A=H(C,-2)|0;x=H(C,-3)|0;w=d&-2;u=0;while(1){if((u|0)==4)break;f=a[h+u>>0]|0;v=f<<24>>24<<1;a:do if(f<<24>>24>=0){m=f<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+(z<<1)|0;q=e[p>>1]|0;f=l+(A<<1)|0;r=e[f>>1]|0;g=e[l+(x<<1)>>1]|0;s=e[l>>1]|0;i=l+(C<<1)|0;t=e[i>>1]|0;j=e[l+(w<<1)>>1]|0;d=q-s|0;if(((((d|0)>-1?d:0-d|0)|0)<(B|0)?(d=r-q|0,(((d|0)>-1?d:0-d|0)|0)<(y|0)):0)?(d=t-s|0,(((d|0)>-1?d:0-d|0)|0)<(y|0)):0){d=g-q|0;d=(((d|0)>-1?d:0-d|0)|0)>=(y|0);if(m|d)f=d?v:n;else{d=((((q+1+s|0)>>>1)+g|0)>>>1)-r|0;b[f>>1]=((d|0)<(o|0)?o:(d|0)>(v|0)?v:d)+r;f=n}d=j-s|0;if((((d|0)>-1?d:0-d|0)|0)<(y|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}f=f+1|0}t=r+4-t+(s-q<<2)>>3;r=0-f|0;t=(t|0)<(r|0)?r:(t|0)>(f|0)?f:t;r=t+q|0;b[p>>1]=r>>>0<512?r:(r^-2147483648)>>31&511;t=s-t|0;b[l>>1]=t>>>0<512?t:(t^-2147483648)>>31&511}k=k+1|0;l=l+2|0}}while(0);c=c+8|0;u=u+1|0}return}function Hh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=Mb;Mb=Mb+48|0;p=r+24|0;o=r+16|0;f=r;m=r+36|0;e=0;while(1){g=e+1|0;if((c[b+(e<<2)>>2]|0)==-1)break;else e=g}if(!e){c[f>>2]=168531;c[f+4>>2]=167670;c[f+8>>2]=1194;Xw(0,0,213444,f);ba()}c[a+888>>2]=c[b+(e+-1<<2)>>2];e=HQ(g)|0;c[m>>2]=e;if(!e)d=-1;else{rk(e|0,b|0,g<<2|0)|0;h=a+704|0;i=a+64|0;j=a+976|0;k=a+156|0;l=a+12|0;g=e;a:while(1){e=c[h>>2]|0;if(e|0?(n=c[e+52>>2]|0,n|0):0)Vb[n&31](a)|0;hM((c[i>>2]|0)+60|0);c[h>>2]=0;QS(j);b=Xb[c[k>>2]&15](a,g)|0;e=oT(b)|0;if(!e){d=-1;break}if(0==0?(c[e+8>>2]&8|0)==0:0){d=b;break}if(c[(c[l>>2]|0)+16>>2]&128|0){d=b;break}f=c[j>>2]|0;if(f|0?(c[(c[f+4>>2]|0)+36>>2]|0)!=(b|0):0){q=16;break}if(!(Jp(a,b,c[e>>2]|0)|0)){d=b;break}f=0;while(1){e=c[g+(f<<2)>>2]|0;if((e|0)==(b|0))break;if((e|0)==-1){q=22;break a}f=f+1|0}e=g;do{g=f;f=f+1|0;c[e+(g<<2)>>2]=c[e+(f<<2)>>2];e=c[m>>2]|0}while((c[e+(g<<2)>>2]|0)!=-1);g=e}if((q|0)==16){Xw(a,16,168538,o);d=-1}else if((q|0)==22){c[p>>2]=168629;c[p+4>>2]=167670;c[p+8>>2]=1242;Xw(0,0,213444,p);ba()}hM(m)}Mb=r;return d|0}function Ih(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;l=0-q|0;h=a+6+(l<<1)|0;g=a+(q<<3<<1)+-2|0;f=g+(0-(c&-2)<<1)|0;k=a+((q*22|0)+-2)|0;i=a+((q*10|0)+-2-(c>>>1<<2))|0;c=2;d=(e[g>>1]|0)-(e[f>>1]|0)|0;j=(e[h+2>>1]|0)-(e[h+-2>>1]|0)|0;while(1){if((c|0)==5)break;p=g+(q<<1)|0;o=f+(l<<1)|0;n=(H((e[h+(c<<1)>>1]|0)-(e[h+(0-c<<1)>>1]|0)|0,c)|0)+j|0;m=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;d=m;j=n;f=o;g=p}c=5;p=k;while(1){if(c>>>0>=9)break;o=p+(q<<1)|0;n=i+(l<<1)|0;d=(H((e[o>>1]|0)-(e[n>>1]|0)|0,c)|0)+d|0;c=c+1|0;i=n;p=o}o=(j*17|0)+16>>5;g=(d*5|0)+32>>6;h=o*3|0;j=o<<1;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;f=16;d=16-h+(H(g,-7)|0)+((e[i+16>>1]|0)+(e[p>>1]|0)<<4)|0;c=a;while(1){if(!f)break;a=d>>5;b[c>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;a=d+o>>5;b[c+2>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;a=d+j>>5;b[c+4>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;a=d+h>>5;b[c+6>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;a=d+k>>5;b[c+8>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;a=d+l>>5;b[c+10>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;a=d+m>>5;b[c+12>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;a=d+n>>5;b[c+14>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function Jh(b,f){b=b|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=Mb;Mb=Mb+16|0;w=x+8|0;v=x;r=f+52|0;j=c[r>>2]|0;s=f+76|0;i=c[s>>2]|0;h=c[f>>2]|0;h=((h>>1)+2048e3|0)/(h|0)|0;t=f+310448|0;c[t>>2]=0;q=f+84|0;if(h>>>0<((c[q>>2]|0)+i|0)>>>0){g=0;while(1)if((h|0)>(e[f+310128+(g<<1)>>1]|0))g=g+1|0;else break;p=f+92|0}else{p=f+92|0;g=c[p>>2]|0}o=0;h=-1;k=-1;n=0;while(1){if((g|0)==(k|0)&(j|0)==(h|0)){h=8;break}l=c[r>>2]|0;m=j+-1|0;h=0;k=g;while(1){if((k|0)!=(g|0)?o>>>0<=(m-h+l|0)>>>0:0)break;o=e[f+310128+(k<<1)>>1]|0;h=l+o&1;k=k+-1|0}if(n>>>0>5){h=14;break}m=o-i|0;a[f+310452+n>>0]=(m|0)>0?m:0;n=c[t>>2]|0;a[f+310458+n>>0]=(c[r>>2]|0)-h-(d[f+310452+n>>0]|0);h=c[t>>2]|0;if(!(a[f+310452+h>>0]|0)){k=c[s>>2]|0;l=h}else{l=h+1|0;c[t>>2]=l;i=o;k=o}if(((e[f+310128+(g<<1)>>1]|0)-o|0)<3)h=c[p>>2]|0;else h=g;if((o|0)==((c[q>>2]|0)+(c[s>>2]|0)|0)){h=21;break}else{y=g;m=j;j=k;g=h;n=l;k=y;h=m}}if((h|0)==8){Xw(c[b+4>>2]|0,16,190695,v);g=-1094995529}else if((h|0)==14){g=c[b+4>>2]|0;c[w>>2]=n;Xw(g,16,190722,w);g=-1}else if((h|0)==21)if(l>>>0>1?(u=l+-1|0,(d[f+310452+u>>0]|0)<3):0){c[t>>2]=u;g=0}else g=0;Mb=x;return g|0}function Kh(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;l=0-q|0;h=a+6+(l<<1)|0;g=a+(q<<3<<1)+-2|0;f=g+(0-(c&-2)<<1)|0;k=a+((q*22|0)+-2)|0;i=a+((q*10|0)+-2-(c>>>1<<2))|0;c=2;d=(e[g>>1]|0)-(e[f>>1]|0)|0;j=(e[h+2>>1]|0)-(e[h+-2>>1]|0)|0;while(1){if((c|0)==5)break;p=g+(q<<1)|0;o=f+(l<<1)|0;n=(H((e[h+(c<<1)>>1]|0)-(e[h+(0-c<<1)>>1]|0)|0,c)|0)+j|0;m=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;d=m;j=n;f=o;g=p}c=5;p=k;while(1){if(c>>>0>=9)break;o=p+(q<<1)|0;n=i+(l<<1)|0;d=(H((e[o>>1]|0)-(e[n>>1]|0)|0,c)|0)+d|0;c=c+1|0;i=n;p=o}o=(j*17|0)+16>>5;g=(d*5|0)+32>>6;h=o*3|0;j=o<<1;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;f=16;d=16-h+(H(g,-7)|0)+((e[i+16>>1]|0)+(e[p>>1]|0)<<4)|0;c=a;while(1){if(!f)break;a=d>>5;b[c>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;a=d+o>>5;b[c+2>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;a=d+j>>5;b[c+4>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;a=d+h>>5;b[c+6>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;a=d+k>>5;b[c+8>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;a=d+l>>5;b[c+10>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;a=d+m>>5;b[c+12>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;a=d+n>>5;b[c+14>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function Lh(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;l=0-q|0;h=a+6+(l<<1)|0;g=a+(q<<3<<1)+-2|0;f=g+(0-(c&-2)<<1)|0;k=a+((q*22|0)+-2)|0;i=a+((q*10|0)+-2-(c>>>1<<2))|0;c=2;d=(e[g>>1]|0)-(e[f>>1]|0)|0;j=(e[h+2>>1]|0)-(e[h+-2>>1]|0)|0;while(1){if((c|0)==5)break;p=g+(q<<1)|0;o=f+(l<<1)|0;n=(H((e[h+(c<<1)>>1]|0)-(e[h+(0-c<<1)>>1]|0)|0,c)|0)+j|0;m=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;d=m;j=n;f=o;g=p}c=5;p=k;while(1){if(c>>>0>=9)break;o=p+(q<<1)|0;n=i+(l<<1)|0;d=(H((e[o>>1]|0)-(e[n>>1]|0)|0,c)|0)+d|0;c=c+1|0;i=n;p=o}o=(j*17|0)+16>>5;g=(d*5|0)+32>>6;h=o*3|0;j=o<<1;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;f=16;d=16-h+(H(g,-7)|0)+((e[i+16>>1]|0)+(e[p>>1]|0)<<4)|0;c=a;while(1){if(!f)break;a=d>>5;b[c>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;a=d+o>>5;b[c+2>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;a=d+j>>5;b[c+4>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;a=d+h>>5;b[c+6>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;a=d+k>>5;b[c+8>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;a=d+l>>5;b[c+10>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;a=d+m>>5;b[c+12>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;a=d+n>>5;b[c+14>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function Mh(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=Mb;Mb=Mb+224|0;p=q+208|0;n=q+200|0;j=q+192|0;i=q;k=q+212|0;c[k>>2]=0;r=uL(d)|0;c[f+44>>2]=r;if(r|0?(h=f+16|0,(c[h>>2]|0)==1):0){wM(b,187738,j);if(a|0)c[a+6740>>2]=1;c[h>>2]=0;c[f+40>>2]=0}if(uL(d)|0)gO(d,14);j=uL(d)|0;switch(c[f>>2]|0){case 20:case 6:{gO(d,3);break}default:{}}if(!g){gO(d,4);h=rl(b,f,i,d,e)|0;c[k>>2]=h;if((h|0)>=0)o=14}else{h=Wt(b,i,k,g)|0;if(!h){h=c[k>>2]|0;o=14}}a:do if((o|0)==14){if((jG(i,h)|0)<=1){if((c[f+16>>2]|0)==1?(l=f+40|0,(c[l>>2]|0)==-1):0)c[l>>2]=1}else c[f+40>>2]=0;if(a|0?(m=$g(a,i,h,3,0)|0,m|0):0){h=m;break}if(j|0){switch(c[f>>2]|0){case 22:{gO(d,5);gO(d,11);break}case 23:case 20:case 19:case 17:{h=Hz(d,3)|0;if(h|0){c[n>>2]=h;wM(b,189681,n);h=-1163346256;break a}break}default:{}}zU(d)}switch(c[f>>2]|0){case 23:case 20:case 19:case 17:break;default:{h=0;break a}}h=Hz(d,2)|0;if(!h)h=0;else{c[p>>2]=h;wM(b,189726,p);h=-1163346256}}while(0);Mb=q;return h|0}function Nh(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;l=0-q|0;h=a+6+(l<<1)|0;g=a+(q<<3<<1)+-2|0;f=g+(0-(c&-2)<<1)|0;k=a+((q*22|0)+-2)|0;i=a+((q*10|0)+-2-(c>>>1<<2))|0;c=2;d=(e[g>>1]|0)-(e[f>>1]|0)|0;j=(e[h+2>>1]|0)-(e[h+-2>>1]|0)|0;while(1){if((c|0)==5)break;p=g+(q<<1)|0;o=f+(l<<1)|0;n=(H((e[h+(c<<1)>>1]|0)-(e[h+(0-c<<1)>>1]|0)|0,c)|0)+j|0;m=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;d=m;j=n;f=o;g=p}c=5;p=k;while(1){if(c>>>0>=9)break;o=p+(q<<1)|0;n=i+(l<<1)|0;d=(H((e[o>>1]|0)-(e[n>>1]|0)|0,c)|0)+d|0;c=c+1|0;i=n;p=o}o=(j*17|0)+16>>5;g=(d*5|0)+32>>6;h=o*3|0;j=o<<1;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;f=16;d=16-h+(H(g,-7)|0)+((e[i+16>>1]|0)+(e[p>>1]|0)<<4)|0;c=a;while(1){if(!f)break;a=d>>5;b[c>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;a=d+o>>5;b[c+2>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;a=d+j>>5;b[c+4>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;a=d+h>>5;b[c+6>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;a=d+k>>5;b[c+8>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;a=d+l>>5;b[c+10>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;a=d+m>>5;b[c+12>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;a=d+n>>5;b[c+14>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function Oh(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==21)break;g=c;h=g;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=g+4|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=b;j=i;a[j>>0]=h;a[j+1>>0]=h>>8;a[j+2>>0]=h>>16;a[j+3>>0]=h>>24;i=i+4|0;a[i>>0]=g;a[i+1>>0]=g>>8;a[i+2>>0]=g>>16;a[i+3>>0]=g>>24;i=c+8|0;g=i;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=b+8|0;h=j;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;j=j+4|0;a[j>>0]=i;a[j+1>>0]=i>>8;a[j+2>>0]=i>>16;a[j+3>>0]=i>>24;j=c+16|0;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b+16|0;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+24|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+24|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+32|0;c=c+e|0}return}function Ph(b,c,d,e,f,g,h,i,j,k){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0;a:do if((j|0)!=0&(k|0)!=0){if((i|0)<(k|0)){o=(0-g|0)<(i|0);p=1-g|0;n=c+(0-(H(i,e)|0))+(H(p,e)|0)|0;c=o?c:n;i=o?i:p}else{p=k+-1|0;c=c+(0-(H(i,e)|0))+(H(p,e)|0)|0;i=p}if((h|0)<(j|0)){o=(0-f|0)<(h|0);p=1-f|0;l=o?h:p;h=o?c:c+(p-h)|0}else{p=j+-1|0;l=p;h=c+(p-h)|0}c=0-i|0;c=(c|0)>0?c:0;p=0-l|0;p=(p|0)>0?p:0;m=k-i|0;n=(m|0)<(g|0);o=j-l|0;o=(o|0)<(f|0)?o:f;j=o-p|0;i=h+(p+(H(c,e)|0))|0;k=p+(H(c,d)|0)|0;h=b+p|0;l=0;while(1){if(l>>>0>=c>>>0)break;rk(h|0,i|0,j|0)|0;h=h+d|0;l=l+1|0}l=n?m:g;h=b+k|0;while(1){if((c|0)>=(l|0))break;rk(h|0,i|0,j|0)|0;h=h+d|0;c=c+1|0;i=i+e|0}i=i+(0-e)|0;while(1){if((c|0)>=(g|0))break;rk(h|0,i|0,j|0)|0;h=h+d|0;c=c+1|0}k=o+-1|0;c=g;h=h+(0-((H(g,d)|0)+p))|0;while(1){l=c+-1|0;if(!c)break a;i=h+p|0;c=0;while(1){if(c>>>0>=p>>>0)break;a[h+c>>0]=a[i>>0]|0;c=c+1|0}i=h+k|0;c=o;while(1){if((c|0)>=(f|0))break;a[h+c>>0]=a[i>>0]|0;c=c+1|0}c=l;h=h+d|0}}while(0);return}function Qh(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=Mb;Mb=Mb+16|0;t=v;u=h>>1;i=0-u|0;if(!f){l=e[a+(i<<1)>>1]|0;i=l}else{i=e[a+(i<<1)>>1]|0;l=e[a+(~u<<1)>>1]|0}j=e[a+(1-u<<1)>>1]|0;k=j+2|0;m=e[a+(2-u<<1)>>1]|0;n=m+2|0;o=e[a+(3-u<<1)>>1]|0;p=e[a+(4-u<<1)>>1]|0;q=e[a+(5-u<<1)>>1]|0;r=e[a+(6-u<<1)>>1]|0;s=e[a+(7-u<<1)>>1]|0;if(!g)f=s;else f=e[a+(8-u<<1)>>1]|0;b[t>>1]=(k+l+(i<<1)|0)>>>2;b[t+2>>1]=(n+i+(j<<1)|0)>>>2;b[t+4>>1]=(k+(m<<1)+o|0)>>>2;b[t+6>>1]=(n+(o<<1)+p|0)>>>2;b[t+8>>1]=(o+2+(p<<1)+q|0)>>>2;b[t+10>>1]=(p+2+(q<<1)+r|0)>>>2;b[t+12>>1]=(q+2+(r<<1)+s|0)>>>2;b[t+14>>1]=(r+2+(s<<1)+f|0)>>>2;k=h&-2;l=u*3|0;m=u<<2;n=u*5|0;o=u*6|0;p=u*7|0;j=0;f=a;i=d;while(1){if((j|0)==8)break;a=(c[i>>2]|0)+(e[t+(j<<1)>>1]|0)|0;b[f>>1]=a;a=(c[i+32>>2]|0)+a|0;b[f+(u<<1)>>1]=a;a=(c[i+64>>2]|0)+a|0;b[f+(k<<1)>>1]=a;a=(c[i+96>>2]|0)+a|0;b[f+(l<<1)>>1]=a;a=(c[i+128>>2]|0)+a|0;b[f+(m<<1)>>1]=a;a=(c[i+160>>2]|0)+a|0;b[f+(n<<1)>>1]=a;a=(c[i+192>>2]|0)+a|0;b[f+(o<<1)>>1]=a;b[f+(p<<1)>>1]=(c[i+224>>2]|0)+a;j=j+1|0;f=f+2|0;i=i+4|0}Wp(d|0,0,256)|0;Mb=v;return}function Rh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=c[(c[a+64>>2]|0)+20>>2]|0;o=p+148|0;h=c[o>>2]|0;by(p);n=p+144|0;f=ig((c[p>>2]|0)+((c[n>>2]|0)*352|0)|0,a,e)|0;do if(!f){m=a+800|0;f=p+152|0;if((c[n>>2]|0)<=((c[m>>2]|0)+-1+(((c[a+48>>2]|0)==34)<<31>>31)|0))if(c[f>>2]|0){c[d>>2]=0;e=e+28|0;f=c[e>>2]|0;if(f)break}else g=5;else{c[f>>2]=0;g=5}if((g|0)==5)e=e+28|0;l=b+120|0;j=h;while(1){k=c[p>>2]|0;i=j+1|0;f=k+(j*352|0)+300|0;if(c[f>>2]|0){g=k+(j*352|0)+184|0;jV(g)|0;h=k+(j*352|0)+108|0;while(1){if(!(c[f>>2]|0))break;yb(h|0,g|0)|0}jV(g)|0}_M(b,c[k+(j*352|0)+288>>2]|0);h=k+(j*352|0)+292|0;c[d>>2]=c[h>>2];q=k+(j*352|0)+232|0;f=c[q+4>>2]|0;g=l;c[g>>2]=c[q>>2];c[g+4>>2]=f;g=k+(j*352|0)+296|0;f=c[g>>2]|0;c[h>>2]=0;c[g>>2]=0;g=(i|0)<(c[m>>2]|0)?i:0;if(c[e>>2]|0)break;if(!((f|0)>-1&(c[d>>2]|0)==0))break;if((g|0)==(c[o>>2]|0))break;else j=g}$f(a,c[k+(j*352|0)+212>>2]|0,1)|0;if((c[n>>2]|0)>=(c[m>>2]|0))c[n>>2]=0;c[o>>2]=g;if((f|0)>-1)f=c[e>>2]|0}while(0);sJ(p);return f|0}function Sh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=Mb;Mb=Mb+16|0;k=m;h=m+8|0;i=m+4|0;d=c[b+64>>2]|0;j=d+36|0;a:do if(!(c[j>>2]|0)){f=c[(c[b+12>>2]|0)+116>>2]|0;f=(f|0)==0?200891:f;c[h>>2]=f;g=d+32|0;d=f;while(1){if(!d){d=0;break a}if(!(a[d>>0]|0)){d=0;break a}d=Jm(h,168035)|0;c[i>>2]=d;if(!d){d=-12;break}d=WE(d)|0;if(!d){l=7;break}hM(i);e=VM(c[g>>2]|0,(c[j>>2]|0)+1|0,4)|0;if(!e){d=-12;break}c[g>>2]=e;f=c[j>>2]|0;c[j>>2]=f+1;d=Mn(d,e+(f<<2)|0)|0;if((d|0)<0)break;d=c[j>>2]|0;e=c[g>>2]|0;f=c[e+(d+-1<<2)>>2]|0;if((d|0)==1){c[f+24>>2]=1;c[f+28>>2]=9e4;d=ii(c[(c[(c[g>>2]|0)+((c[j>>2]|0)+-1<<2)>>2]|0)+16>>2]|0,b)|0}else{e=(c[e+(d+-2<<2)>>2]|0)+32|0;d=c[e+4>>2]|0;f=f+24|0;c[f>>2]=c[e>>2];c[f+4>>2]=d;f=c[g>>2]|0;d=c[j>>2]|0;d=sv(c[(c[f+(d+-1<<2)>>2]|0)+16>>2]|0,c[(c[f+(d+-2<<2)>>2]|0)+20>>2]|0)|0}if((d|0)<0)break;d=oj(c[(c[g>>2]|0)+((c[j>>2]|0)+-1<<2)>>2]|0)|0;if((d|0)<0)break;d=c[h>>2]|0}if((l|0)==7){c[k>>2]=c[i>>2];Xw(b,16,168037,k);hM(i);d=-558323010}jI(b)}else d=0;while(0);Mb=m;return d|0}function Th(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;y=0-c|0;z=H(c,-2)|0;A=H(c,-3)|0;B=c<<1;w=0;while(1){if((w|0)==4)break;h=a[g+w>>0]|0;x=h<<24>>24;a:do if(h<<24>>24>=0){o=h<<24>>24==0;p=x+1|0;q=0-x|0;m=0;n=b;while(1){if((m|0)==4)break a;r=n+y|0;s=d[r>>0]|0;h=n+z|0;t=d[h>>0]|0;i=d[n+A>>0]|0;u=d[n>>0]|0;k=n+c|0;v=d[k>>0]|0;l=d[n+B>>0]|0;j=s-u|0;if(((((j|0)>-1?j:0-j|0)|0)<(e|0)?(j=t-s|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0)?(j=v-u|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0){j=i-s|0;j=(((j|0)>-1?j:0-j|0)|0)>=(f|0);if(o|j)h=j?x:p;else{j=((((s+1+u|0)>>>1)+i|0)>>>1)-t|0;a[h>>0]=((j|0)<(q|0)?q:(j|0)>(x|0)?x:j)+t;h=p}j=l-u|0;if((((j|0)>-1?j:0-j|0)|0)<(f|0)){if(!o){l=((((s+1+u|0)>>>1)+l|0)>>>1)-v|0;a[k>>0]=((l|0)<(q|0)?q:(l|0)>(x|0)?x:l)+v}h=h+1|0}v=t+4-v+(u-s<<2)>>3;t=0-h|0;v=(v|0)<(t|0)?t:(v|0)>(h|0)?h:v;t=v+s|0;a[r>>0]=t>>>0>255?(t^-2147483648)>>31:t;v=u-v|0;a[n>>0]=v>>>0>255?(v^-2147483648)>>31:v}m=m+1|0;n=n+1|0}}while(0);b=b+4|0;w=w+1|0}return}function Uh(){c[204737]=819120;c[204739]=304;Oc(818944,8,e[28136]|0,c[13716]|0,1,1,c[13052]|0,2,2,0,0,0,4)|0;c[204741]=820336;c[204743]=270;Oc(818960,8,e[28137]|0,c[13717]|0,1,1,c[13053]|0,2,2,0,0,0,4)|0;c[204745]=821424;c[204747]=550;Oc(818976,8,e[28138]|0,c[13718]|0,1,1,c[13054]|0,2,2,0,0,0,4)|0;c[204749]=823632;c[204751]=300;Oc(818992,8,e[28139]|0,c[13719]|0,1,1,c[13055]|0,2,2,0,0,0,4)|0;c[204753]=824832;c[204755]=328;Oc(819008,8,e[28140]|0,c[13720]|0,1,1,c[13056]|0,2,2,0,0,0,4)|0;c[204757]=826144;c[204759]=294;Oc(819024,8,e[28141]|0,c[13721]|0,1,1,c[13057]|0,2,2,0,0,0,4)|0;c[204761]=827328;c[204763]=306;Oc(819040,8,e[28142]|0,c[13722]|0,1,1,c[13058]|0,2,2,0,0,0,4)|0;c[204765]=828560;c[204767]=268;Oc(819056,8,e[28143]|0,c[13723]|0,1,1,c[13059]|0,2,2,0,0,0,4)|0;c[204769]=829632;c[204771]=510;Oc(819072,8,e[28144]|0,c[13724]|0,1,1,c[13060]|0,2,2,0,0,0,4)|0;c[204773]=831680;c[204775]=366;Oc(819088,8,e[28145]|0,c[13725]|0,1,1,c[13061]|0,2,2,0,0,0,4)|0;c[204777]=833152;c[204779]=462;Oc(819104,8,e[28146]|0,c[13726]|0,1,1,c[13062]|0,2,2,0,0,0,4)|0;vn();Uw();c[275844]=835008;c[275846]=352;Oc(1103372,7,121,52080,1,1,51584,4,4,0,0,0,4)|0;Kp(284736,4.0,1024);Kp(288832,6.0,128);Kp(289344,4.0,960);Kp(293184,6.0,120);MI(279616,960);MI(279136,120);zS(10);zS(9);zS(7);xm();return}function Vh(a,b,d){a=a|0;b=b|0;d=d|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0.0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;o=c[a+8>>2]|0;q=c[a+24>>2]|0;r=c[a+28>>2]|0;n=1<<c[a+20>>2];h=n>>1;i=n>>2;p=n>>3;j=i*3|0;k=j+-1|0;l=i+-1|0;m=h+-1|0;n=n+-1|0;g=0;while(1){if((g|0)>=(p|0))break;v=g<<1;u=-+f[d+(k-v<<2)>>2]-+f[d+(v+j<<2)>>2];w=+f[d+(l-v<<2)>>2]-+f[d+(v+i<<2)>>2];s=e[o+(g<<1)>>1]|0;t=q+(g<<2)|0;x=r+(g<<2)|0;f[b+(s<<3)>>2]=-(u*+f[t>>2])-w*+f[x>>2];f[b+(s<<3)+4>>2]=u*+f[x>>2]-w*+f[t>>2];w=+f[d+(v<<2)>>2]-+f[d+(m-v<<2)>>2];u=-+f[d+(n-v<<2)>>2]-+f[d+(v+h<<2)>>2];v=g+p|0;s=e[o+(v<<1)>>1]|0;t=q+(v<<2)|0;v=r+(v<<2)|0;f[b+(s<<3)>>2]=-(w*+f[t>>2])-u*+f[v>>2];f[b+(s<<3)+4>>2]=w*+f[v>>2]-u*+f[t>>2];g=g+1|0}ec[c[a+36>>2]&255](a,b);g=0;while(1){if((p|0)<=(g|0))break;o=p-g+-1|0;s=b+(o<<3)|0;z=+f[s>>2];y=-+f[r+(o<<2)>>2];t=b+(o<<3)+4|0;u=+f[t>>2];w=-+f[q+(o<<2)>>2];o=g+p|0;v=b+(o<<3)|0;B=+f[v>>2];C=-+f[r+(o<<2)>>2];x=b+(o<<3)+4|0;D=+f[x>>2];A=-+f[q+(o<<2)>>2];f[s>>2]=u*y+z*w;f[t>>2]=B*C-D*A;f[v>>2]=D*C+B*A;f[x>>2]=z*y-u*w;g=g+1|0}return}function Wh(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=c>>1;z=d<<2;v=f<<2;w=H(A,-3)|0;x=H(A,-2)|0;y=0-A|0;r=c&-2;s=(z>>2)+2|0;t=H(A,-4)|0;u=A*3|0;j=0;while(1){if((j|0)==16)break;d=a+(w<<1)|0;f=e[d>>1]|0;c=a+(x<<1)|0;k=e[c>>1]|0;h=a+(y<<1)|0;l=e[h>>1]|0;m=e[a>>1]|0;n=a+(A<<1)|0;o=e[n>>1]|0;p=a+(r<<1)|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(z|0)?(i=k-l|0,(((i|0)>-1?i:0-i|0)|0)<(v|0)):0)?(i=o-m|0,(((i|0)>-1?i:0-i|0)|0)<(v|0)):0){if((g|0)>=(s|0)){b[h>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}i=f-l|0;if((((i|0)>-1?i:0-i|0)|0)<(v|0)){B=e[a+(t<<1)>>1]|0;g=m+l|0;b[h>>1]=(o+4+f+(g+k<<1)|0)>>>3;b[c>>1]=(l+2+f+k+m|0)>>>2;i=k+4+(f*3|0)|0;f=3;c=B<<1}else{i=l+2|0;d=h;f=2;c=o;g=k<<1}b[d>>1]=(i+g+c|0)>>>f;B=q-m|0;if((((B|0)>-1?B:0-B|0)|0)<(v|0)){B=e[a+(u<<1)>>1]|0;i=m+l+o|0;b[a>>1]=(k+4+q+(i<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(i+4+(q*3|0)+(B<<1)|0)>>>3;break}else{b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}}while(0);a=a+2|0;j=j+1|0}return}function Xh(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=c>>1;z=d<<1;v=f<<1;w=H(A,-3)|0;x=H(A,-2)|0;y=0-A|0;r=c&-2;s=(z>>2)+2|0;t=H(A,-4)|0;u=A*3|0;j=0;while(1){if((j|0)==16)break;d=a+(w<<1)|0;f=e[d>>1]|0;c=a+(x<<1)|0;k=e[c>>1]|0;h=a+(y<<1)|0;l=e[h>>1]|0;m=e[a>>1]|0;n=a+(A<<1)|0;o=e[n>>1]|0;p=a+(r<<1)|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(z|0)?(i=k-l|0,(((i|0)>-1?i:0-i|0)|0)<(v|0)):0)?(i=o-m|0,(((i|0)>-1?i:0-i|0)|0)<(v|0)):0){if((g|0)>=(s|0)){b[h>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}i=f-l|0;if((((i|0)>-1?i:0-i|0)|0)<(v|0)){B=e[a+(t<<1)>>1]|0;g=m+l|0;b[h>>1]=(o+4+f+(g+k<<1)|0)>>>3;b[c>>1]=(l+2+f+k+m|0)>>>2;i=k+4+(f*3|0)|0;f=3;c=B<<1}else{i=l+2|0;d=h;f=2;c=o;g=k<<1}b[d>>1]=(i+g+c|0)>>>f;B=q-m|0;if((((B|0)>-1?B:0-B|0)|0)<(v|0)){B=e[a+(u<<1)>>1]|0;i=m+l+o|0;b[a>>1]=(k+4+q+(i<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(i+4+(q*3|0)+(B<<1)|0)>>>3;break}else{b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}}while(0);a=a+2|0;j=j+1|0}return}function Yh(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<6;x=g<<6;w=d&-2;u=0;while(1){if((u|0)==4)break;f=a[h+u>>0]|0;v=f<<24>>24<<6;a:do if(f<<24>>24>=0){m=f<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==2)break a;p=l+-2|0;q=e[p>>1]|0;f=l+-4|0;r=e[f>>1]|0;g=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;d=q-s|0;if(((((d|0)>-1?d:0-d|0)|0)<(y|0)?(d=r-q|0,(((d|0)>-1?d:0-d|0)|0)<(x|0)):0)?(d=t-s|0,(((d|0)>-1?d:0-d|0)|0)<(x|0)):0){d=g-q|0;d=(((d|0)>-1?d:0-d|0)|0)>=(x|0);if(m|d)f=d?v:n;else{d=((((q+1+s|0)>>>1)+g|0)>>>1)-r|0;b[f>>1]=((d|0)<(o|0)?o:(d|0)>(v|0)?v:d)+r;f=n}d=j-s|0;if((((d|0)>-1?d:0-d|0)|0)<(x|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}f=f+1|0}t=r+4-t+(s-q<<2)>>3;r=0-f|0;t=(t|0)<(r|0)?r:(t|0)>(f|0)?f:t;r=t+q|0;b[p>>1]=r>>>0<16384?r:(r^-2147483648)>>31&16383;t=s-t|0;b[l>>1]=t>>>0<16384?t:(t^-2147483648)>>31&16383}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(w<<1)|0;u=u+1|0}return}function Zh(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=c>>1;z=d<<6;v=f<<6;w=H(A,-3)|0;x=H(A,-2)|0;y=0-A|0;r=c&-2;s=z>>2|2;t=H(A,-4)|0;u=A*3|0;j=0;while(1){if((j|0)==16)break;d=a+(w<<1)|0;f=e[d>>1]|0;c=a+(x<<1)|0;k=e[c>>1]|0;h=a+(y<<1)|0;l=e[h>>1]|0;m=e[a>>1]|0;n=a+(A<<1)|0;o=e[n>>1]|0;p=a+(r<<1)|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(z|0)?(i=k-l|0,(((i|0)>-1?i:0-i|0)|0)<(v|0)):0)?(i=o-m|0,(((i|0)>-1?i:0-i|0)|0)<(v|0)):0){if((g|0)>=(s|0)){b[h>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}i=f-l|0;if((((i|0)>-1?i:0-i|0)|0)<(v|0)){B=e[a+(t<<1)>>1]|0;g=m+l|0;b[h>>1]=(o+4+f+(g+k<<1)|0)>>>3;b[c>>1]=(l+2+f+k+m|0)>>>2;i=k+4+(f*3|0)|0;f=3;c=B<<1}else{i=l+2|0;d=h;f=2;c=o;g=k<<1}b[d>>1]=(i+g+c|0)>>>f;B=q-m|0;if((((B|0)>-1?B:0-B|0)|0)<(v|0)){B=e[a+(u<<1)>>1]|0;i=m+l+o|0;b[a>>1]=(k+4+q+(i<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(i+4+(q*3|0)+(B<<1)|0)>>>3;break}else{b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}}while(0);a=a+2|0;j=j+1|0}return}function _h(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=c>>1;z=d<<4;v=f<<4;w=H(A,-3)|0;x=H(A,-2)|0;y=0-A|0;r=c&-2;s=z>>2|2;t=H(A,-4)|0;u=A*3|0;j=0;while(1){if((j|0)==16)break;d=a+(w<<1)|0;f=e[d>>1]|0;c=a+(x<<1)|0;k=e[c>>1]|0;h=a+(y<<1)|0;l=e[h>>1]|0;m=e[a>>1]|0;n=a+(A<<1)|0;o=e[n>>1]|0;p=a+(r<<1)|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(z|0)?(i=k-l|0,(((i|0)>-1?i:0-i|0)|0)<(v|0)):0)?(i=o-m|0,(((i|0)>-1?i:0-i|0)|0)<(v|0)):0){if((g|0)>=(s|0)){b[h>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}i=f-l|0;if((((i|0)>-1?i:0-i|0)|0)<(v|0)){B=e[a+(t<<1)>>1]|0;g=m+l|0;b[h>>1]=(o+4+f+(g+k<<1)|0)>>>3;b[c>>1]=(l+2+f+k+m|0)>>>2;i=k+4+(f*3|0)|0;f=3;c=B<<1}else{i=l+2|0;d=h;f=2;c=o;g=k<<1}b[d>>1]=(i+g+c|0)>>>f;B=q-m|0;if((((B|0)>-1?B:0-B|0)|0)<(v|0)){B=e[a+(u<<1)>>1]|0;i=m+l+o|0;b[a>>1]=(k+4+q+(i<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(i+4+(q*3|0)+(B<<1)|0)>>>3;break}else{b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}}while(0);a=a+2|0;j=j+1|0}return}function $h(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<4;x=g<<4;w=d&-2;u=0;while(1){if((u|0)==4)break;f=a[h+u>>0]|0;v=f<<24>>24<<4;a:do if(f<<24>>24>=0){m=f<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==2)break a;p=l+-2|0;q=e[p>>1]|0;f=l+-4|0;r=e[f>>1]|0;g=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;d=q-s|0;if(((((d|0)>-1?d:0-d|0)|0)<(y|0)?(d=r-q|0,(((d|0)>-1?d:0-d|0)|0)<(x|0)):0)?(d=t-s|0,(((d|0)>-1?d:0-d|0)|0)<(x|0)):0){d=g-q|0;d=(((d|0)>-1?d:0-d|0)|0)>=(x|0);if(m|d)f=d?v:n;else{d=((((q+1+s|0)>>>1)+g|0)>>>1)-r|0;b[f>>1]=((d|0)<(o|0)?o:(d|0)>(v|0)?v:d)+r;f=n}d=j-s|0;if((((d|0)>-1?d:0-d|0)|0)<(x|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}f=f+1|0}t=r+4-t+(s-q<<2)>>3;r=0-f|0;t=(t|0)<(r|0)?r:(t|0)>(f|0)?f:t;r=t+q|0;b[p>>1]=r>>>0<4096?r:(r^-2147483648)>>31&4095;t=s-t|0;b[l>>1]=t>>>0<4096?t:(t^-2147483648)>>31&4095}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(w<<1)|0;u=u+1|0}return}function ai(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<2;x=g<<2;w=d&-2;u=0;while(1){if((u|0)==4)break;f=a[h+u>>0]|0;v=f<<24>>24<<2;a:do if(f<<24>>24>=0){m=f<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==2)break a;p=l+-2|0;q=e[p>>1]|0;f=l+-4|0;r=e[f>>1]|0;g=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;d=q-s|0;if(((((d|0)>-1?d:0-d|0)|0)<(y|0)?(d=r-q|0,(((d|0)>-1?d:0-d|0)|0)<(x|0)):0)?(d=t-s|0,(((d|0)>-1?d:0-d|0)|0)<(x|0)):0){d=g-q|0;d=(((d|0)>-1?d:0-d|0)|0)>=(x|0);if(m|d)f=d?v:n;else{d=((((q+1+s|0)>>>1)+g|0)>>>1)-r|0;b[f>>1]=((d|0)<(o|0)?o:(d|0)>(v|0)?v:d)+r;f=n}d=j-s|0;if((((d|0)>-1?d:0-d|0)|0)<(x|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}f=f+1|0}t=r+4-t+(s-q<<2)>>3;r=0-f|0;t=(t|0)<(r|0)?r:(t|0)>(f|0)?f:t;r=t+q|0;b[p>>1]=r>>>0<1024?r:(r^-2147483648)>>31&1023;t=s-t|0;b[l>>1]=t>>>0<1024?t:(t^-2147483648)>>31&1023}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(w<<1)|0;u=u+1|0}return}function bi(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<6;w=g<<6;x=z<<2;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<6;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<16384?r:(r^-2147483648)>>31&16383;t=s-t|0;b[l>>1]=t>>>0<16384?t:(t^-2147483648)>>31&16383}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function ci(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<1;x=g<<1;w=d&-2;u=0;while(1){if((u|0)==4)break;f=a[h+u>>0]|0;v=f<<24>>24<<1;a:do if(f<<24>>24>=0){m=f<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==2)break a;p=l+-2|0;q=e[p>>1]|0;f=l+-4|0;r=e[f>>1]|0;g=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;d=q-s|0;if(((((d|0)>-1?d:0-d|0)|0)<(y|0)?(d=r-q|0,(((d|0)>-1?d:0-d|0)|0)<(x|0)):0)?(d=t-s|0,(((d|0)>-1?d:0-d|0)|0)<(x|0)):0){d=g-q|0;d=(((d|0)>-1?d:0-d|0)|0)>=(x|0);if(m|d)f=d?v:n;else{d=((((q+1+s|0)>>>1)+g|0)>>>1)-r|0;b[f>>1]=((d|0)<(o|0)?o:(d|0)>(v|0)?v:d)+r;f=n}d=j-s|0;if((((d|0)>-1?d:0-d|0)|0)<(x|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}f=f+1|0}t=r+4-t+(s-q<<2)>>3;r=0-f|0;t=(t|0)<(r|0)?r:(t|0)>(f|0)?f:t;r=t+q|0;b[p>>1]=r>>>0<512?r:(r^-2147483648)>>31&511;t=s-t|0;b[l>>1]=t>>>0<512?t:(t^-2147483648)>>31&511}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(w<<1)|0;u=u+1|0}return}function di(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<4;w=g<<4;x=z<<2;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<4;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<4096?r:(r^-2147483648)>>31&4095;t=s-t|0;b[l>>1]=t>>>0<4096?t:(t^-2147483648)>>31&4095}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function ei(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<2;w=g<<2;x=z<<2;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<2;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<1024?r:(r^-2147483648)>>31&1023;t=s-t|0;b[l>>1]=t>>>0<1024?t:(t^-2147483648)>>31&1023}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function fi(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<1;w=g<<1;x=z<<2;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<1;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<512?r:(r^-2147483648)>>31&511;t=s-t|0;b[l>>1]=t>>>0<512?t:(t^-2147483648)>>31&511}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function gi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=a+80|0;k=oT(c[h>>2]|0)|0;a:do if(k){i=a+68|0;l=a+72|0;e=uP(c[i>>2]|0,c[l>>2]|0,0,0)|0;if((e|0)>=0){g=a+32|0;b:do if(!(c[g>>2]|0)){f=(b|0)<1?32:b;j=f+-1|0;b=1;while(1){if((b|0)>(f|0))break;e=_r(g,c[h>>2]|0,b+-1+(c[i>>2]|0)&0-b)|0;if((e|0)<0)break a;if(!(c[g>>2]&j))break;else b=b<<1}b=0-f|0;e=0;while(1){if(e>>>0>=4)break b;f=a+32+(e<<2)|0;g=c[f>>2]|0;if(!g)break b;c[f>>2]=j+g&b;e=e+1|0}}while(0);g=k+6|0;f=0;while(1){if(f>>>0>=4){m=19;break}b=c[a+32+(f<<2)>>2]|0;if(!b){m=19;break}e=(c[l>>2]|0)+31&-32;if((f+-1|0)>>>0<2)e=0-(0-e>>(d[g>>0]|0))|0;e=LH((H(e,b)|0)+31|0)|0;c[a+248+(f<<2)>>2]=e;if(!e)break;c[a+(f<<2)>>2]=c[e+4>>2];f=f+1|0}do if((m|0)==19){if(!(0==0?(c[k+8>>2]&66|0)==0:0)){m=a+252|0;QS(m);e=LH(1024)|0;c[m>>2]=e;if(!e)break;c[a+4>>2]=c[e+4>>2]}c[a+64>>2]=a;e=0;break a}while(0);av(a);e=-12}}else e=-22;while(0);return e|0}function hi(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=8-g|0;j=8-h|0;m=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;i=H(h,g)|0;l=d>>1;a:do if(!i){i=j+k|0;if(!i){g=0;while(1){if((g|0)>=(f|0))break a;k=((H(m,e[c>>1]|0)|0)+32|0)>>>6&65535;b[a>>1]=k;k=((H(m,e[c+2>>1]|0)|0)+32|0)>>>6&65535;b[a+2>>1]=k;a=a+(l<<1)|0;c=c+(l<<1)|0;g=g+1|0}}else{h=(k|0)==0?1:l;d=h+1|0;g=0;while(1){if((g|0)>=(f|0))break a;k=H(m,e[c>>1]|0)|0;k=(k+32+(H(i,e[c+(h<<1)>>1]|0)|0)|0)>>>6&65535;b[a>>1]=k;k=H(m,e[c+2>>1]|0)|0;k=(k+32+(H(i,e[c+(d<<1)>>1]|0)|0)|0)>>>6&65535;b[a+2>>1]=k;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}}else{h=l+1|0;d=l+2|0;g=0;while(1){if((g|0)>=(f|0))break a;s=H(m,e[c>>1]|0)|0;q=c+2|0;r=H(j,e[q>>1]|0)|0;n=c+(l<<1)|0;p=H(k,e[n>>1]|0)|0;o=c+(h<<1)|0;p=(s+32+r+p+(H(i,e[o>>1]|0)|0)|0)>>>6&65535;b[a>>1]=p;q=H(m,e[q>>1]|0)|0;p=H(j,e[c+4>>1]|0)|0;o=H(k,e[o>>1]|0)|0;o=(q+32+p+o+(H(i,e[c+(d<<1)>>1]|0)|0)|0)>>>6&65535;b[a+2>>1]=o;a=a+(l<<1)|0;g=g+1|0;c=n}}while(0);return}function ii(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;Qv(a);e=c[b+8>>2]|0;c[a>>2]=e;c[a+4>>2]=c[b+48>>2];c[a+8>>2]=c[b+52>>2];g=b+72|0;f=c[g+4>>2]|0;d=a+24|0;c[d>>2]=c[g>>2];c[d+4>>2]=f;c[a+32>>2]=c[b+784>>2];c[a+36>>2]=c[b+788>>2];c[a+40>>2]=c[b+828>>2];c[a+44>>2]=c[b+832>>2];switch(e|0){case 0:{c[a+20>>2]=c[b+144>>2];c[a+48>>2]=c[b+124>>2];c[a+52>>2]=c[b+128>>2];c[a+64>>2]=c[b+412>>2];c[a+68>>2]=c[b+400>>2];c[a+72>>2]=c[b+388>>2];c[a+76>>2]=c[b+392>>2];c[a+80>>2]=c[b+396>>2];c[a+84>>2]=c[b+404>>2];e=b+228|0;f=c[e+4>>2]|0;g=a+56|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+88>>2]=c[b+180>>2];break}case 1:{c[a+20>>2]=c[b+424>>2];e=b+448|0;f=c[e+4>>2]|0;g=a+96|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+104>>2]=c[b+420>>2];c[a+108>>2]=c[b+416>>2];c[a+112>>2]=c[b+436>>2];c[a+116>>2]=c[b+428>>2];c[a+120>>2]=c[b+876>>2];c[a+124>>2]=c[b+984>>2];c[a+128>>2]=c[b+948>>2];break}case 3:{c[a+48>>2]=c[b+124>>2];c[a+52>>2]=c[b+128>>2];break}default:{}}e=b+100|0;if(c[e>>2]|0){b=b+104|0;d=YQ((c[b>>2]|0)+32|0)|0;c[a+12>>2]=d;if(!d)b=-12;else{b=c[b>>2]|0;rk(d|0,c[e>>2]|0,b|0)|0;c[a+16>>2]=b;b=0}}else b=0;return b|0}function ji(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=(c[g>>2]|0)+e|0;m=a+8|0;e=c[m>>2]|0;l=e+1|0;k=(k|0)>(l|0)?l:k;l=a+32|0;do if((c[l>>2]|0)<=-1){e=xj(b,e<<1|1)|0;if((e|0)>=0){i=d+260|0;j=a+84|0;h=c[g>>2]|0;while(1){if((h|0)>=(k|0))break;e=0;while(1){if((e|0)>=(c[i>>2]|0))break;n=c[j>>2]|0;o=(c[b+(e<<2)>>2]|0)+(H((c[m>>2]|0)+h|0,n)|0)|0;rk(o|0,(c[d+(e<<2)>>2]|0)+(H(h-(c[g>>2]|0)|0,n)|0)|0,n|0)|0;e=e+1|0}h=h+1|0}e=c[m>>2]|0;if((k|0)<=(e|0)){c[g>>2]=k;c[f>>2]=c[m>>2];e=2147483647;break}h=1;while(1){if((h|0)>(e|0))break;e=0;while(1){if((e|0)>=(c[i>>2]|0))break;d=c[b+(e<<2)>>2]|0;n=c[m>>2]|0;o=c[j>>2]|0;rk(d+(H(n-h|0,o)|0)|0,d+(H(n+h|0,o)|0)|0,o|0)|0;e=e+1|0}h=h+1|0;e=c[m>>2]|0}d=c[g>>2]|0;c[f>>2]=e;e=a+48|0;h=c[l>>2]|0;while(1){if((h|0)>=0)break;c[f>>2]=(c[f>>2]|0)+-1;h=(c[l>>2]|0)+(c[e>>2]|0)|0;c[l>>2]=h}e=k-d|0;o=c[m>>2]|0;n=o+(c[g>>2]|0)|0;o=o<<1|1;c[g>>2]=((n|0)>(o|0)?n:o)-(c[f>>2]|0);e=(e|0)>0?e:0}}else e=0;while(0);return e|0}function ki(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=Mb;Mb=Mb+32|0;r=w+24|0;t=w+16|0;s=w+8|0;q=w;if(!b)l=0;else l=c[b>>2]|0;sE(g,0,1);p=g+1024|0;sE(p,0,1);j=g+2048|0;sE(j,0,1);v=g+3072|0;sE(v,0,65536);k=(i|0)!=0;if(k){c[i+4>>2]=16;c[i>>2]=16}if((l|0)!=0&(c[h>>2]|0)!=0){m=c[l+20>>2]|0;do if(((m|0)!=0?(n=c[b+m>>2]|0,(n|0)!=0):0)?(o=c[n>>2]|0,(o|0)!=0):0){o=Vb[c[o+4>>2]&31](n)|0;c[q>>2]=o;c[q+4>>2]=n;zt(g,202554,q);if(k){u=Ax(n)|0;c[i>>2]=u;u=11;break}else{q=Vb[c[l+4>>2]&31](b)|0;c[t>>2]=q;c[t+4>>2]=b;zt(p,202554,t);break}}else u=11;while(0);if((u|0)==11?(u=Vb[c[l+4>>2]&31](b)|0,c[s>>2]=u,c[s+4>>2]=b,zt(p,202554,s),k):0){u=Ax(b)|0;c[i+4>>2]=u}if(0){u=Nx(d)|0;c[r>>2]=u;zt(j,202565,r)}}nt(v,e,f);if(!((((a[c[g>>2]>>0]|0)==0?(a[c[p>>2]>>0]|0)==0:0)?(a[c[j>>2]>>0]|0)==0:0)?!(a[c[v>>2]>>0]|0):0)){b=c[g+3076>>2]|0;if((b|0)!=0?b>>>0<=(c[g+3080>>2]|0)>>>0:0)b=a[(c[v>>2]|0)+(b+-1)>>0]|0;else b=0;c[h>>2]=(b<<24>>24==10|b<<24>>24==13)&1}Mb=w;return}function li(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=Mb;Mb=Mb+48|0;m=r+32|0;l=r+24|0;k=r+16|0;j=r+8|0;i=r;g=Hz(b,4)|0;q=a+4|0;h=c[q>>2]|0;if(c[h+680>>2]&256|0){c[i>>2]=g;c[i+4>>2]=d;Xw(h,48,187662,i)}switch(g|0){case 14:{i=1;p=5;break}case 13:{i=0;p=5;break}case 11:{d=Co(a+16|0,b)|0;break}case 0:{iq(a,b,(d<<3)+-4|0);break}default:qK(b,(d<<3)+-4|0)}a:do if((p|0)==5){if(!e){Xw(c[q>>2]|0,16,187689,j);break}if(c[a+6516>>2]|0){g=a+6740|0;if(!(c[g>>2]|0))wM(c[q>>2]|0,187738,k);c[g>>2]=1;qK(b,(d<<3)+-4|0);break}h=a+6488|0;switch(c[h>>2]|0){case 0:{Xw(c[q>>2]|0,16,187764,l);qK(b,(d<<3)+-4|0);break a}case -1:{p=13;break}default:{}}if((p|0)==13?(c[a+6728>>2]|0)==4:0){Xw(c[q>>2]|0,16,187828,m);qK(b,(d<<3)+-4|0);break}g=a+6512|0;if(((c[g>>2]|0)==-1?(n=c[a+6728>>2]|0,n>>>0<4):0)?(o=c[q>>2]|0,(c[o+420>>2]|0)==1):0){c[h>>2]=1;c[g>>2]=1;c[o+828>>2]=28;$g(a,a+6520|0,c[a+6712>>2]|0,n,1)|0}else{c[h>>2]=1;c[(c[q>>2]|0)+828>>2]=4}d=cn(a,e+156512|0,b,i,d,f)|0}while(0);Mb=r;return d|0}function mi(c,f,g,h,i){c=c|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=Mb;Mb=Mb+16|0;u=v;j=0-i|0;if(!g){m=d[c+j>>0]|0;j=m}else{j=d[c+j>>0]|0;m=d[c+~i>>0]|0}k=d[c+(1-i)>>0]|0;l=k+2|0;n=d[c+(2-i)>>0]|0;o=n+2|0;p=d[c+(3-i)>>0]|0;q=d[c+(4-i)>>0]|0;r=d[c+(5-i)>>0]|0;s=d[c+(6-i)>>0]|0;t=d[c+(7-i)>>0]|0;if(!h)g=t;else g=d[c+(8-i)>>0]|0;a[u>>0]=(l+m+(j<<1)|0)>>>2;a[u+1>>0]=(o+j+(k<<1)|0)>>>2;a[u+2>>0]=(l+(n<<1)+p|0)>>>2;a[u+3>>0]=(o+(p<<1)+q|0)>>>2;a[u+4>>0]=(p+2+(q<<1)+r|0)>>>2;a[u+5>>0]=(q+2+(r<<1)+s|0)>>>2;a[u+6>>0]=(r+2+(s<<1)+t|0)>>>2;a[u+7>>0]=(s+2+(t<<1)+g|0)>>>2;l=i<<1;m=i*3|0;n=i<<2;o=i*5|0;p=i*6|0;q=i*7|0;k=0;g=c;j=f;while(1){if((k|0)==8)break;c=(e[j>>1]|0)+(d[u+k>>0]|0)|0;a[g>>0]=c;c=c+(e[j+16>>1]|0)|0;a[g+i>>0]=c;c=c+(e[j+32>>1]|0)|0;a[g+l>>0]=c;c=c+(e[j+48>>1]|0)|0;a[g+m>>0]=c;c=c+(e[j+64>>1]|0)|0;a[g+n>>0]=c;c=c+(e[j+80>>1]|0)|0;a[g+o>>0]=c;c=c+(e[j+96>>1]|0)|0;a[g+p>>0]=c;a[g+q>>0]=c+(e[j+112>>1]|0);k=k+1|0;g=g+1|0;j=j+2|0}g=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(g|0));Mb=v;return}function ni(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=h>>1;i=d;j=0;f=f+(0-(h&-2)<<1)|0;while(1){if((j|0)==9)break;q=e[f>>1]|0;l=e[f+2>>1]|0;o=e[f+-2>>1]|0;h=e[f+4>>1]|0;p=H(h+o|0,-5)|0;m=e[f+6>>1]|0;c[i>>2]=((l+q|0)*20|0)+(e[f+-4>>1]|0)+p+m;p=H(m+q|0,-5)|0;n=e[f+8>>1]|0;c[i+4>>2]=((h+l|0)*20|0)+o+p+n;p=H(n+l|0,-5)|0;o=e[f+10>>1]|0;c[i+8>>2]=((m+h|0)*20|0)+q+p+o;h=H(o+h|0,-5)|0;c[i+12>>2]=((n+m|0)*20|0)+l+h+(e[f+12>>1]|0);i=i+32|0;j=j+1|0;f=f+(k<<1)|0}k=g>>1;i=g&-2;j=k*3|0;f=d+64|0;h=0;while(1){if((h|0)==4)break;g=c[f+-32>>2]|0;d=c[f>>2]|0;l=c[f+32>>2]|0;q=c[f+64>>2]|0;o=c[f+96>>2]|0;n=c[f+128>>2]|0;p=c[f+160>>2]|0;m=c[f+192>>2]|0;r=(c[f+-64>>2]|0)+512+o+((l+d|0)*20|0)+(H(q+g|0,-5)|0)>>10;b[a>>1]=r>>>0<16384?r:(r^-2147483648)>>31&16383;g=g+512+n+((q+l|0)*20|0)+(H(o+d|0,-5)|0)>>10;b[a+(k<<1)>>1]=g>>>0<16384?g:(g^-2147483648)>>31&16383;d=d+512+p+((o+q|0)*20|0)+(H(n+l|0,-5)|0)>>10;b[a+(i<<1)>>1]=d>>>0<16384?d:(d^-2147483648)>>31&16383;q=l+512+m+((n+o|0)*20|0)+(H(p+q|0,-5)|0)>>10;b[a+(j<<1)>>1]=q>>>0<16384?q:(q^-2147483648)>>31&16383;a=a+2|0;f=f+4|0;h=h+1|0}return}function oi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=Mb;Mb=Mb+16|0;l=n+8|0;m=n;a:do if((c[d+48>>2]|0)!=5){k=uL(b)|0;c[a+34728>>2]=k;if(k){f=a+34752|0;g=a+34756|0;h=a+21824|0;d=0;b:while(1){if(d>>>0>=66){d=66;f=21;break a}k=Px(b)|0;c[a+33932+(d*12|0)>>2]=k;if((k|2|0)==3){j=c[f>>2]|0;j=j+-1-(GE(b)|0)|0;c[a+33932+(d*12|0)+4>>2]=(c[g>>2]|0)+-1&j}i=(k|0)==2;switch(k|0){case 2:case 3:case 4:case 6:{j=Px(b)|0;if(j>>>0>31){d=k;f=16;break b}if(!(j>>>0<16|(k|0)==4&(j|0)==16)){if(!i){d=k;f=16;break b}if((c[h>>2]|0)==3){d=2;f=16;break b}}c[a+33932+(d*12|0)+8>>2]=j;break}default:{if(k>>>0>6){f=18;break b}if(!k){f=21;break a}}}d=d+1|0}if((f|0)==16){c[m>>2]=d;Xw(e,16,198626,m);d=-1;break}else if((f|0)==18){c[l>>2]=k;Xw(e,16,198686,l);d=-1;break}}else{d=0;f=21}}else{tU(b);if(!(uL(b)|0))d=0;else{c[a+33932>>2]=6;c[a+33940>>2]=0;d=1}c[a+34728>>2]=1;f=21}while(0);if((f|0)==21){c[a+34724>>2]=d;d=0}Mb=n;return d|0}function pi(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Mb;Mb=Mb+272|0;p=s+128|0;q=s+64|0;r=s;n=s+256|0;o=c[a+4916>>2]|0;Rs(q,e,g);Rs(r,f,g);hc[c[a+2960>>2]&255](p,q,r,8);k=a+1920|0;l=_b[c[a+6248>>2]&63](a,p,0,c[k>>2]|0,n)|0;c[a+16>>2]=l;m=(c[a+4312>>2]|0)==0;if(m){g=0;e=a+4940|0;f=a+4936|0;h=0}else{g=1;e=a+4924|0;f=a+4920|0;h=d[(c[a+4944>>2]|0)+((b[p>>1]|0)+256)>>0]|0}j=c[e>>2]|0;i=c[f>>2]|0;do if((l|0)>=(g|0)){f=0;while(1){c[n>>2]=g;if((g|0)==(l|0))break;e=b[p+(d[a+204+g>>0]<<1)>>1]|0;if(!(e<<16>>16))f=f+1|0;else{e=(e<<16>>16)+64|0;if(e>>>0<128)e=d[i+(e+(f<<7))>>0]|0;else e=o;f=0;h=e+h|0}g=g+1|0}e=d[a+204+l>>0]|0;c[n>>2]=e;e=(b[p+(e<<1)>>1]|0)+64|0;if(e>>>0<128){h=h+(d[j+(e+(f<<7))>>0]|0)|0;break}else{h=h+o|0;break}}while(0);do if((l|0)>-1)if(m){hc[c[a+6240>>2]&255](a,p,0,c[k>>2]|0);break}else{hc[c[a+6236>>2]&255](a,p,0,c[k>>2]|0);break}while(0);gc[c[a+2300>>2]&1023](r,8,p);a=_b[c[a+2404>>2]&63](0,r,q,8,8)|0;r=c[k>>2]|0;a=((H(H(h*109|0,r)|0,r)|0)+64>>7)+a|0;Mb=s;return a|0}function qi(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=h>>1;i=d;j=0;f=f+(0-(h&-2)<<1)|0;while(1){if((j|0)==9)break;q=e[f>>1]|0;l=e[f+2>>1]|0;o=e[f+-2>>1]|0;h=e[f+4>>1]|0;p=H(h+o|0,-5)|0;m=e[f+6>>1]|0;c[i>>2]=((l+q|0)*20|0)+(e[f+-4>>1]|0)+p+m;p=H(m+q|0,-5)|0;n=e[f+8>>1]|0;c[i+4>>2]=((h+l|0)*20|0)+o+p+n;p=H(n+l|0,-5)|0;o=e[f+10>>1]|0;c[i+8>>2]=((m+h|0)*20|0)+q+p+o;h=H(o+h|0,-5)|0;c[i+12>>2]=((n+m|0)*20|0)+l+h+(e[f+12>>1]|0);i=i+32|0;j=j+1|0;f=f+(k<<1)|0}k=g>>1;i=g&-2;j=k*3|0;f=d+64|0;h=0;while(1){if((h|0)==4)break;g=c[f+-32>>2]|0;d=c[f>>2]|0;l=c[f+32>>2]|0;q=c[f+64>>2]|0;o=c[f+96>>2]|0;n=c[f+128>>2]|0;p=c[f+160>>2]|0;m=c[f+192>>2]|0;r=(c[f+-64>>2]|0)+512+o+((l+d|0)*20|0)+(H(q+g|0,-5)|0)>>10;b[a>>1]=r>>>0<4096?r:(r^-2147483648)>>31&4095;g=g+512+n+((q+l|0)*20|0)+(H(o+d|0,-5)|0)>>10;b[a+(k<<1)>>1]=g>>>0<4096?g:(g^-2147483648)>>31&4095;d=d+512+p+((o+q|0)*20|0)+(H(n+l|0,-5)|0)>>10;b[a+(i<<1)>>1]=d>>>0<4096?d:(d^-2147483648)>>31&4095;q=l+512+m+((n+o|0)*20|0)+(H(p+q|0,-5)|0)>>10;b[a+(j<<1)>>1]=q>>>0<4096?q:(q^-2147483648)>>31&4095;a=a+2|0;f=f+4|0;h=h+1|0}return}function ri(){var a=0,b=0,d=0;if(!(c[275848]|0)){c[275848]=1;c[275850]=969760;c[275852]=256;Oc(1103396,8,20,74208,1,1,74240,1,1,0,0,0,4)|0;c[275854]=970784;c[275856]=8192;Oc(1103412,13,36,74272,1,1,74320,1,1,0,0,0,4)|0;a=0;b=0;while(1){if((b|0)==4)break;c[1009104+(b<<4)+4>>2]=1003552+(a<<2);d=c[74368+(b<<2)>>2]|0;c[1009104+(b<<4)+12>>2]=d;Oc(1009104+(b<<4)|0,8,68,74384+(b*68|0)|0,1,1,74656+(b*68|0)|0,1,1,0,0,0,4)|0;a=d+a|0;b=b+1|0}a=0;while(1){if((a|0)==3)break;d=a+1|0;c[1009264+(d<<4)+4>>2]=1009168+(a<<5);c[1009264+(d<<4)+12>>2]=8;Oc(1009264+(d<<4)|0,3,4,196360+(a<<2)|0,1,1,196372+(a<<2)|0,1,1,0,0,0,4)|0;a=d}a=0;while(1){if((a|0)==7)break;d=a+1|0;c[1010224+(d<<4)+4>>2]=1009328+(a<<7);c[1010224+(d<<4)+12>>2]=32;Oc(1010224+(d<<4)|0,5,8,74928+(a<<3)|0,1,1,74992+(a<<3)|0,1,1,0,0,0,4)|0;a=d}a=0;while(1){if((a|0)==15)break;d=a+1|0;c[1041072+(d<<4)+4>>2]=1010352+(a<<11);c[1041072+(d<<4)+12>>2]=512;Oc(1041072+(d<<4)|0,9,16,75056+(a<<4)|0,1,1,75312+(a<<4)|0,1,1,0,0,0,4)|0;a=d}a=0;while(1){if((a|0)==6)break;d=a+1|0;c[1041520+(d<<4)+4>>2]=1041328+(a<<5);c[1041520+(d<<4)+12>>2]=8;Oc(1041520+(d<<4)|0,3,7,75568+(a<<4)|0,1,1,75680+(a<<4)|0,1,1,0,0,0,4)|0;a=d}c[275858]=1041632;c[275860]=96;Oc(1103428,6,16,75664,1,1,75776,1,1,0,0,0,4)|0;wp()}return}function si(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=c<<1;w=0;while(1){if((w|0)==4)break;h=a[g+w>>0]|0;x=h<<24>>24;a:do if(h<<24>>24>=0){o=h<<24>>24==0;p=x+1|0;q=0-x|0;m=0;n=b;while(1){if((m|0)==2)break a;r=n+-1|0;s=d[r>>0]|0;h=n+-2|0;t=d[h>>0]|0;i=d[n+-3>>0]|0;u=d[n>>0]|0;k=n+1|0;v=d[k>>0]|0;l=d[n+2>>0]|0;j=s-u|0;if(((((j|0)>-1?j:0-j|0)|0)<(e|0)?(j=t-s|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0)?(j=v-u|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0){j=i-s|0;j=(((j|0)>-1?j:0-j|0)|0)>=(f|0);if(o|j)h=j?x:p;else{j=((((s+1+u|0)>>>1)+i|0)>>>1)-t|0;a[h>>0]=((j|0)<(q|0)?q:(j|0)>(x|0)?x:j)+t;h=p}j=l-u|0;if((((j|0)>-1?j:0-j|0)|0)<(f|0)){if(!o){l=((((s+1+u|0)>>>1)+l|0)>>>1)-v|0;a[k>>0]=((l|0)<(q|0)?q:(l|0)>(x|0)?x:l)+v}h=h+1|0}v=t+4-v+(u-s<<2)>>3;t=0-h|0;v=(v|0)<(t|0)?t:(v|0)>(h|0)?h:v;t=v+s|0;a[r>>0]=t>>>0>255?(t^-2147483648)>>31:t;v=u-v|0;a[n>>0]=v>>>0>255?(v^-2147483648)>>31:v}m=m+1|0;n=n+c|0}}while(0);b=b+y|0;w=w+1|0}return}function ti(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=0-c|0;i=b+3+m|0;h=b+(c<<3)+-1|0;g=h+(0-(c<<1))|0;k=(c*11|0)+-1|0;j=(c*3|0)+-1|0;e=2;f=(d[h>>0]|0)-(d[g>>0]|0)|0;l=(d[i+1>>0]|0)-(d[i+-1>>0]|0)|0;while(1){if((e|0)==5)break;q=h+c|0;p=g+m|0;o=(H((d[i+e>>0]|0)-(d[i+(0-e)>>0]|0)|0,e)|0)+l|0;n=(H((d[q>>0]|0)-(d[p>>0]|0)|0,e)|0)+f|0;e=e+1|0;f=n;l=o;g=p;h=q}e=5;q=b+j|0;p=b+k|0;while(1){if(e>>>0>=9)break;o=p+c|0;n=q+m|0;f=(H((d[o>>0]|0)-(d[n>>0]|0)|0,e)|0)+f|0;e=e+1|0;q=n;p=o}o=(l*17|0)+16>>5;h=(f*5|0)+32>>6;i=o*3|0;j=o<<1;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;g=16;f=16-i+(H(h,-7)|0)+((d[q+8>>0]|0)+(d[p>>0]|0)<<4)|0;e=b;while(1){if(!g)break;b=f>>5;a[e>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+o>>5;a[e+1>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+j>>5;a[e+2>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+i>>5;a[e+3>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+k>>5;a[e+4>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+l>>5;a[e+5>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+m>>5;a[e+6>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+n>>5;a[e+7>>0]=b>>>0>255?(b^-2147483648)>>31:b;g=g+-1|0;f=f+h|0;e=e+c|0}return}function ui(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=c<<2;w=0;while(1){if((w|0)==4)break;h=a[g+w>>0]|0;x=h<<24>>24;a:do if(h<<24>>24>=0){o=h<<24>>24==0;p=x+1|0;q=0-x|0;m=0;n=b;while(1){if((m|0)==4)break a;r=n+-1|0;s=d[r>>0]|0;h=n+-2|0;t=d[h>>0]|0;i=d[n+-3>>0]|0;u=d[n>>0]|0;k=n+1|0;v=d[k>>0]|0;l=d[n+2>>0]|0;j=s-u|0;if(((((j|0)>-1?j:0-j|0)|0)<(e|0)?(j=t-s|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0)?(j=v-u|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0){j=i-s|0;j=(((j|0)>-1?j:0-j|0)|0)>=(f|0);if(o|j)h=j?x:p;else{j=((((s+1+u|0)>>>1)+i|0)>>>1)-t|0;a[h>>0]=((j|0)<(q|0)?q:(j|0)>(x|0)?x:j)+t;h=p}j=l-u|0;if((((j|0)>-1?j:0-j|0)|0)<(f|0)){if(!o){l=((((s+1+u|0)>>>1)+l|0)>>>1)-v|0;a[k>>0]=((l|0)<(q|0)?q:(l|0)>(x|0)?x:l)+v}h=h+1|0}v=t+4-v+(u-s<<2)>>3;t=0-h|0;v=(v|0)<(t|0)?t:(v|0)>(h|0)?h:v;t=v+s|0;a[r>>0]=t>>>0>255?(t^-2147483648)>>31:t;v=u-v|0;a[n>>0]=v>>>0>255?(v^-2147483648)>>31:v}m=m+1|0;n=n+c|0}}while(0);b=b+y|0;w=w+1|0}return}function vi(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Mb;Mb=Mb+32|0;r=s+16|0;o=s+8|0;k=s;a:do if((b|0)==0|(e|0)<1)e=-1;else do if((a[b>>0]|0)==1){c[g>>2]=1;if((e|0)<7){c[k>>2]=e;Xw(j,16,197308,k);e=-1094995529;break a}k=a[b+5>>0]&31;q=b+e|0;n=b+6|0;g=0;while(1){if(g>>>0>=k>>>0)break;l=((cU(d[n>>0]|d[n+1>>0]<<8|0)|0)&65535)+2|0;if((l|0)>(q-n|0)){e=-1094995529;break a}m=wh(n,l,f,i,j)|0;if((m|0)<0){p=9;break}n=n+l|0;g=g+1|0}if((p|0)==9){c[o>>2]=g;Xw(j,16,197327,o);e=m;break a}m=d[n>>0]|0;g=n+1|0;l=0;while(1){if(l>>>0>=m>>>0){p=17;break}k=((cU(d[g>>0]|d[g+1>>0]<<8|0)|0)&65535)+2|0;if((k|0)>(q-g|0)){e=-1094995529;break a}n=wh(g,k,f,i,j)|0;if((n|0)<0){p=15;break}g=g+k|0;l=l+1|0}if((p|0)==15){c[r>>2]=l;Xw(j,16,197361,r);e=n;break a}else if((p|0)==17){c[h>>2]=(a[b+4>>0]&3)+1&255;break}}else{c[g>>2]=0;g=no(b,e,f,0,j)|0;if((g|0)<0){e=g;break a}}while(0);while(0);Mb=s;return e|0}function wi(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;w=H(c,-3)|0;x=H(c,-2)|0;y=0-c|0;z=c<<1;A=(e>>2)+2|0;u=H(c,-4)|0;v=c*3|0;m=0;while(1){if((m|0)==16)break;g=b+w|0;h=d[g>>0]|0;i=b+x|0;n=d[i>>0]|0;k=b+y|0;o=d[k>>0]|0;p=d[b>>0]|0;q=b+c|0;r=d[q>>0]|0;s=b+z|0;t=d[s>>0]|0;j=o-p|0;j=(j|0)>-1?j:0-j|0;do if(((j|0)<(e|0)?(l=n-o|0,(((l|0)>-1?l:0-l|0)|0)<(f|0)):0)?(l=r-p|0,(((l|0)>-1?l:0-l|0)|0)<(f|0)):0){if((j|0)>=(A|0)){a[k>>0]=(o+2+(n<<1)+r|0)>>>2;a[b>>0]=(p+2+n+(r<<1)|0)>>>2;break}l=h-o|0;if((((l|0)>-1?l:0-l|0)|0)<(f|0)){B=d[b+u>>0]|0;j=p+o|0;a[k>>0]=(r+4+h+(j+n<<1)|0)>>>3;a[i>>0]=(o+2+h+n+p|0)>>>2;l=n+4+(h*3|0)|0;h=3;i=B<<1}else{l=o+2|0;g=k;h=2;i=r;j=n<<1}a[g>>0]=(l+j+i|0)>>>h;B=t-p|0;if((((B|0)>-1?B:0-B|0)|0)<(f|0)){B=d[b+v>>0]|0;l=p+o+r|0;a[b>>0]=(n+4+t+(l<<1)|0)>>>3;a[q>>0]=(o+2+p+r+t|0)>>>2;a[s>>0]=(l+4+(t*3|0)+(B<<1)|0)>>>3;break}else{a[b>>0]=(p+2+n+(r<<1)|0)>>>2;break}}while(0);b=b+1|0;m=m+1|0}return}function xi(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;p=a+4|0;e=c[p>>2]|0;q=a+8|0;r=a+12|0;l=c[r>>2]|0;s=a+2|0;f=b[s>>1]|0;d=b[a>>1]|0;if(!(c[q>>2]|e|l|f)){s=d<<3&65528|d<<19;c[a>>2]=s;c[p>>2]=s;c[q>>2]=s;c[r>>2]=s}else{o=(d*16383|0)+1024|0;h=e<<16>>16;j=h*21407|0;d=j+o|0;h=h*8867|0;g=h+o|0;h=o-h|0;j=o-j|0;o=a+6|0;e=b[o>>1]|0;m=(e*19266|0)+(f*22725|0)|0;k=(H(e,-4520)|0)+(f*19266|0)|0;i=(H(e,-22725)|0)+(f*12873|0)|0;e=(H(e,-12873)|0)+(f*4520|0)|0;n=q;f=c[n>>2]|0;if((f|0)==0&(c[n+4>>2]|0)==0){n=e;l=m;e=a+10|0;f=a+14|0}else{x=f<<16>>16;v=x*16383|0;w=l<<16>>16;u=w*8867|0;x=H(x,-16383)|0;w=w*21407|0;t=a+10|0;y=b[t>>1]|0;f=a+14|0;l=b[f>>1]|0;n=(y*19266|0)+e+(H(l,-22725)|0)|0;i=(y*4520|0)+i+(l*19266|0)|0;k=(H(y,-22725)|0)+k+(H(l,-12873)|0)|0;l=(y*12873|0)+m+(l*4520|0)|0;j=v+j-u|0;h=x+h+w|0;g=x+g-w|0;d=v+d+u|0;e=t}b[a>>1]=(l+d|0)>>>11;b[f>>1]=(d-l|0)>>>11;b[s>>1]=(k+g|0)>>>11;b[r>>1]=(g-k|0)>>>11;b[p>>1]=(i+h|0)>>>11;b[e>>1]=(h-i|0)>>>11;b[o>>1]=(n+j|0)>>>11;b[q>>1]=(j-n|0)>>>11}return}function yi(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=Mb;Mb=Mb+16|0;l=m+8|0;j=m;i=0;g=c[e+1164>>2]|0;while(1){h=(g|0)!=0;if((i|0)==32)break;if(!(h?(c[g+20>>2]|0)!=0:0)){h=c[e+(i<<2)>>2]|0;if(h)g=c[h+4>>2]|0}i=i+1|0}do if(h){if(!((c[g+1152>>2]|0)==0?!(c[g+1156>>2]|0):0)){k=QG(b,c[g+1176>>2]|0)|0;c[a+16>>2]=k;k=QG(b,c[g+1180>>2]|0)|0;c[a+12>>2]=k}if(c[g+1160>>2]|0){h=Hz(b,4)|0;j=a+4|0;c[j>>2]=h;k=a+8|0;c[k>>2]=0;if(h>>>0>8){g=-1094995529;break}e=d[170802+h>>0]|0;h=g+1164|0;g=0;while(1){if((g|0)==(e|0))break;if(Hz(b,1)|0){i=1<<(Hz(b,2)|0);c[k>>2]=c[k>>2]|i;gO(b,1);gO(b,5);i=Hz(b,1)|0;gO(b,1);gO(b,1);gO(b,8);if(!i){if((Hz(b,1)|0?(gO(b,6),Hz(b,1)|0):0)?(gO(b,6),Hz(b,1)|0):0)gO(b,5)}else{gO(b,6);gO(b,6);gO(b,5)}i=c[h>>2]|0;if((i|0)>0)gO(b,i)}g=g+1|0}b=c[j>>2]|0;c[l>>2]=c[k>>2];c[l+4>>2]=b;Xw(f,48,170811,l)}c[a>>2]=1;g=0}else{Xw(f,16,170760,j);g=-1397768184}while(0);Mb=m;return g|0}function zi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=Mb;Mb=Mb+32|0;l=m+16|0;f=m;k=c[(c[a+64>>2]|0)+16>>2]|0;h=c[k+76>>2]|0;c[b+32>>2]=c[k+60>>2];g=(h|0)>8;if(g){i=XQ(h)|0;d=b+64|0;c[d>>2]=i;i=h+-8|0;c[b+284>>2]=i;i=XQ(i)|0;e=b+280|0;c[e>>2]=i;if((i|0)==0|(c[d>>2]|0)==0){hM(d);hM(e);d=-12}else{i=d;j=6}}else{e=b+64|0;c[e>>2]=b;if(!(c[b+284>>2]|0)){i=e;j=6}else{c[f>>2]=168747;c[f+4>>2]=167670;c[f+8>>2]=1375;Xw(0,0,213444,f);ba()}}a:do if((j|0)==6){e=g?8:h;d=0;while(1){if((d|0)>=(e|0)){j=10;break}f=ft(c[k>>2]|0)|0;c[b+248+(d<<2)>>2]=f;if(!f)break;h=c[f+4>>2]|0;c[b+(d<<2)>>2]=h;c[(c[i>>2]|0)+(d<<2)>>2]=h;d=d+1|0}b:do if((j|0)==10){e=b+284|0;f=b+280|0;d=0;while(1){if((d|0)>=(c[e>>2]|0))break;g=ft(c[k>>2]|0)|0;c[(c[f>>2]|0)+(d<<2)>>2]=g;g=c[(c[f>>2]|0)+(d<<2)>>2]|0;if(!g)break b;c[(c[i>>2]|0)+(d+8<<2)>>2]=c[g+4>>2];d=d+1|0}if(!(c[a+680>>2]&32768)){d=0;break a}c[l>>2]=b;Xw(a,48,168775,l);d=0;break a}while(0);av(b);d=-12}while(0);Mb=m;return d|0}function Ai(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if(!((b|0)==0&(c|0)==0)){if(!((e|0)==0&(f|0)==0)){o=QO(0,0,b|0,c|0)|0;o=XJ(o&b|0,(M()|0)&c|0,-862635923,36691299)|0;o=oN(o|0,M()|0,58)|0;M()|0;o=a[91568+o>>0]|0;g=o&255;j=QO(0,0,e|0,f|0)|0;j=XJ(j&e|0,(M()|0)&f|0,-862635923,36691299)|0;j=oN(j|0,M()|0,58)|0;M()|0;j=a[91568+j>>0]|0;h=j&255;i=g>>>0>h>>>0;o=FM(b|0,c|0,o&255|0)|0;m=M()|0;n=(m|0)>-1|(m|0)==-1&o>>>0>4294967295;b=QO(0,0,o|0,m|0)|0;l=M()|0;f=FM(e|0,f|0,j&255|0)|0;j=M()|0;k=(j|0)>-1|(j|0)==-1&f>>>0>4294967295;c=QO(0,0,f|0,j|0)|0;e=M()|0;b=n?o:b;c=k?f:c;f=n?m:l;e=k?j:e;while(1){if((b|0)==(c|0)&(f|0)==(e|0))break;k=(f|0)>(e|0)|(f|0)==(e|0)&b>>>0>c>>>0;m=k?c:b;o=k?e:f;k=QO((k?b:c)|0,(k?f:e)|0,m|0,o|0)|0;l=M()|0;n=QO(0,0,k|0,l|0)|0;n=XJ(k&n|0,l&(M()|0)|0,-862635923,36691299)|0;n=oN(n|0,M()|0,58)|0;M()|0;n=FM(k|0,l|0,d[91568+n>>0]|0|0)|0;b=m;c=n;f=o;e=M()|0}b=cN(b|0,f|0,(i?h:g)|0)|0;c=M()|0}}else{c=f;b=e}L(c|0);return b|0}function Bi(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;l=8-g|0;k=8-h|0;m=H(k,l)|0;k=H(k,g)|0;l=H(l,h)|0;h=H(h,g)|0;a:do if(!h){j=k+l|0;if(!j){g=0;while(1){if((g|0)>=(f|0))break a;l=((H(m,d[c>>0]|0)|0)+32|0)>>>6&255;a[b>>0]=l;l=((H(m,d[c+1>>0]|0)|0)+32|0)>>>6&255;a[b+1>>0]=l;b=b+e|0;c=c+e|0;g=g+1|0}}else{h=(l|0)==0?1:e;i=h+1|0;g=0;while(1){if((g|0)>=(f|0))break a;l=H(m,d[c>>0]|0)|0;l=(l+32+(H(j,d[c+h>>0]|0)|0)|0)>>>6&255;a[b>>0]=l;l=H(m,d[c+1>>0]|0)|0;l=(l+32+(H(j,d[c+i>>0]|0)|0)|0)>>>6&255;a[b+1>>0]=l;b=b+e|0;g=g+1|0;c=c+e|0}}}else{i=e+1|0;j=e+2|0;g=0;while(1){if((g|0)>=(f|0))break a;s=H(m,d[c>>0]|0)|0;q=c+1|0;r=H(k,d[q>>0]|0)|0;n=c+e|0;p=H(l,d[n>>0]|0)|0;o=c+i|0;p=(s+32+r+p+(H(h,d[o>>0]|0)|0)|0)>>>6&255;a[b>>0]=p;q=H(m,d[q>>0]|0)|0;p=H(k,d[c+2>>0]|0)|0;o=H(l,d[o>>0]|0)|0;o=(q+32+p+o+(H(h,d[c+j>>0]|0)|0)|0)>>>6&255;a[b+1>>0]=o;b=b+e|0;g=g+1|0;c=n}}while(0);return}function Ci(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=Mb;Mb=Mb+16|0;h=i;Wp(a|0,0,1016)|0;c[a>>2]=162992;e=(b|0)!=0;a:do if(e){d=c[b+8>>2]|0;c[a+8>>2]=d;c[a+12>>2]=b;c[a+48>>2]=c[b+12>>2];switch(d|0){case 1:{d=8;break a}case 0:{d=16;break a}case 3:{d=32;break a}default:{f=6;break a}}}else{c[a+8>>2]=-1;f=6}while(0);if((f|0)==6)d=0;Qe(a,d,d);c[a+108>>2]=0;c[a+112>>2]=1;c[a+880>>2]=0;c[a+884>>2]=1;c[a+892>>2]=0;c[a+896>>2]=1;c[a+472>>2]=10;c[a+156>>2]=7;c[a+816>>2]=5;c[a+820>>2]=1;c[a+228>>2]=0;c[a+232>>2]=1;c[a+144>>2]=-1;c[a+888>>2]=-1;c[a+424>>2]=-1;f=a+696|0;c[f>>2]=0;c[f+4>>2]=-2147483648;b:do if(e){e=c[b+52>>2]|0;if(e|0){f=a+60|0;d=c[f>>2]|0;if(!d){d=YQ(e)|0;c[f>>2]=d;if(!d){g=-12;break}}e=c[b+44>>2]|0;if(e|0){c[d>>2]=e;YT(c[f>>2]|0)}}d=c[b+68>>2]|0;if(d){while(1){e=c[d>>2]|0;if(!e){g=0;break b}if((xd(a,e,c[d+4>>2]|0,0)|0)>-1)d=d+8|0;else break}c[h>>2]=191633;c[h+4>>2]=172140;c[h+8>>2]=143;Xw(0,0,213444,h);ba()}else g=0}else g=0;while(0);Mb=i;return g|0}function Di(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0;o=Mb;Mb=Mb+32|0;m=o+16|0;i=o+8|0;h=o;j=d[e+22>>0]|0;k=(c[e+92>>2]|0)-j|0;c[e+310116>>2]=k;n=(k+1|0)>>>1;c[e+310112>>2]=n;l=e+310276|0;rk(l|0,e+310128+(j<<1)|0,(k<<1)+2|0)|0;j=b[e+310276+(k<<1)>>1]|0;f=j&65535;l=b[l>>1]|0;g=l&65535;c[e+84>>2]=f-g;c[e+76>>2]=g;do if((j&65535)<=64){if((l&65535)>32){f=c[a+4>>2]|0;c[i>>2]=g;Xw(f,16,190618,i);f=-1;break}j=e+310226|0;b[j>>1]=l;g=k&1;h=n+1|0;f=1;while(1){if((f|0)==(h|0))break;b[e+310226+(f<<1)>>1]=b[e+310276+((f<<1)-g<<1)>>1]|0;f=f+1|0}p=+(d[e+25>>0]|0);i=XU(+qb(+(+((c[e+60>>2]|0)>>>0)/+(l&65535)))*p)|0;i=(i|0)>1?i:1;c[e+310120>>2]=i;if(i>>>0>5){f=c[a+4>>2]|0;c[m>>2]=i;Xw(f,16,190655,m);f=-1;break}b[e+310374>>1]=b[j>>1]|0;h=i+1|0;f=0;g=1;while(1){if(g>>>0>i>>>0)break;m=(((n-f|0)>>>0)/((h-g|0)>>>0)|0)+f|0;b[e+310374+(g<<1)>>1]=b[e+310226+(m<<1)>>1]|0;f=m;g=g+1|0}if((Jh(a,e)|0)<0)f=-1;else{fe(e);c[e+88040>>2]=0;c[e+176008>>2]=0;f=0}}else{n=c[a+4>>2]|0;c[h>>2]=f;Xw(n,16,190582,h);f=-1}while(0);Mb=o;return f|0}function Ei(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=g+(H(e,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;i=JM(+f[b>>2]*2147483648.0)|0;j=M()|0;k=SO(i|0,j|0,-2147483648,0)|0;l=M()|0;j=FM(i|0,j|0,63)|0;M()|0;c[a>>2]=l>>>0>0|(l|0)==0&k>>>0>4294967295?j^2147483647:i;i=b+d|0;j=a+e|0;k=JM(+f[i>>2]*2147483648.0)|0;l=M()|0;m=SO(k|0,l|0,-2147483648,0)|0;n=M()|0;l=FM(k|0,l|0,63)|0;M()|0;c[j>>2]=n>>>0>0|(n|0)==0&m>>>0>4294967295?l^2147483647:k;i=i+d|0;j=j+e|0;k=JM(+f[i>>2]*2147483648.0)|0;l=M()|0;m=SO(k|0,l|0,-2147483648,0)|0;n=M()|0;l=FM(k|0,l|0,63)|0;M()|0;c[j>>2]=n>>>0>0|(n|0)==0&m>>>0>4294967295?l^2147483647:k;i=i+d|0;j=j+e|0;k=JM(+f[i>>2]*2147483648.0)|0;l=M()|0;m=SO(k|0,l|0,-2147483648,0)|0;n=M()|0;l=FM(k|0,l|0,63)|0;M()|0;c[j>>2]=n>>>0>0|(n|0)==0&m>>>0>4294967295?l^2147483647:k;a=j+e|0;b=i+d|0}while(1){if(a>>>0>=g>>>0)break;n=JM(+f[b>>2]*2147483648.0)|0;m=M()|0;l=SO(n|0,m|0,-2147483648,0)|0;k=M()|0;m=FM(n|0,m|0,63)|0;M()|0;c[a>>2]=k>>>0>0|(k|0)==0&l>>>0>4294967295?m^2147483647:n;a=a+e|0;b=b+d|0}return}function Fi(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;b=(b|0)!=0;if(b){r=d[a+-1>>0]|0;u=d[a+~f>>0]|0}else{u=d[a+-1>>0]|0;r=u}s=d[a+(f+-1)>>0]|0;t=s+2|0;v=d[a+((f<<1)+-1)>>0]|0;w=v+2|0;x=d[a+((f*3|0)+-1)>>0]|0;y=d[a+((f<<2)+-1)>>0]|0;z=d[a+((f*5|0)+-1)>>0]|0;A=d[a+((f*6|0)+-1)>>0]|0;B=d[a+((f*7|0)+-1)>>0]|0;g=0-f|0;if(b){g=d[a+g>>0]|0;q=d[a+~f>>0]|0}else{q=d[a+g>>0]|0;g=q}o=d[a+(1-f)>>0]|0;p=o+2|0;h=d[a+(2-f)>>0]|0;i=h+2|0;j=d[a+(3-f)>>0]|0;k=d[a+(4-f)>>0]|0;l=d[a+(5-f)>>0]|0;m=d[a+(6-f)>>0]|0;n=d[a+(7-f)>>0]|0;if(!e)b=n;else b=d[a+(8-f)>>0]|0;g=H(((t+u+(r<<1)|0)>>>2)+8+((w+r+(s<<1)|0)>>>2)+((t+(v<<1)+x|0)>>>2)+((w+(x<<1)+y|0)>>>2)+((x+2+(y<<1)+z|0)>>>2)+((y+2+(z<<1)+A|0)>>>2)+((A+2+(B*3|0)|0)>>>2)+((z+2+(A<<1)+B|0)>>>2)+((p+q+(g<<1)|0)>>>2)+((i+g+(o<<1)|0)>>>2)+((p+(h<<1)+j|0)>>>2)+((i+(j<<1)+k|0)>>>2)+((j+2+(k<<1)+l|0)>>>2)+((k+2+(l<<1)+m|0)>>>2)+((l+2+(m<<1)+n|0)>>>2)+((m+2+(n<<1)+b|0)>>>2)>>4,16843009)|0;b=0;while(1){if((b|0)==8)break;c[a>>2]=g;c[a+4>>2]=g;b=b+1|0;a=a+f|0}return}function Gi(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=f+(H(e,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;i=OM(+g[b>>3]*2147483648.0)|0;j=M()|0;k=SO(i|0,j|0,-2147483648,0)|0;l=M()|0;j=FM(i|0,j|0,63)|0;M()|0;c[a>>2]=l>>>0>0|(l|0)==0&k>>>0>4294967295?j^2147483647:i;i=b+d|0;j=a+e|0;k=OM(+g[i>>3]*2147483648.0)|0;l=M()|0;m=SO(k|0,l|0,-2147483648,0)|0;n=M()|0;l=FM(k|0,l|0,63)|0;M()|0;c[j>>2]=n>>>0>0|(n|0)==0&m>>>0>4294967295?l^2147483647:k;i=i+d|0;j=j+e|0;k=OM(+g[i>>3]*2147483648.0)|0;l=M()|0;m=SO(k|0,l|0,-2147483648,0)|0;n=M()|0;l=FM(k|0,l|0,63)|0;M()|0;c[j>>2]=n>>>0>0|(n|0)==0&m>>>0>4294967295?l^2147483647:k;i=i+d|0;j=j+e|0;k=OM(+g[i>>3]*2147483648.0)|0;l=M()|0;m=SO(k|0,l|0,-2147483648,0)|0;n=M()|0;l=FM(k|0,l|0,63)|0;M()|0;c[j>>2]=n>>>0>0|(n|0)==0&m>>>0>4294967295?l^2147483647:k;a=j+e|0;b=i+d|0}while(1){if(a>>>0>=f>>>0)break;n=OM(+g[b>>3]*2147483648.0)|0;m=M()|0;l=SO(n|0,m|0,-2147483648,0)|0;k=M()|0;m=FM(n|0,m|0,63)|0;M()|0;c[a>>2]=k>>>0>0|(k|0)==0&l>>>0>4294967295?m^2147483647:n;a=a+e|0;b=b+d|0}return}function Hi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;E=Mb;Mb=Mb+256|0;w=E;x=c[a>>2]|0;y=a+4|0;z=c[y>>2]|0;A=a+8|0;B=c[A>>2]|0;C=a+12|0;D=c[C>>2]|0;o=a+16|0;p=c[o>>2]|0;q=a+20|0;r=c[q>>2]|0;s=a+24|0;t=c[s>>2]|0;u=a+28|0;v=c[u>>2]|0;e=0;f=r;g=p;h=D;i=B;j=z;k=x;l=v;m=t;while(1){if((e|0)==64)break;if(e>>>0<16){n=b+(e<<2)|0;n=kS(d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24|0)|0}else{F=c[w+(e+-15<<2)>>2]|0;n=c[w+(e+-2<<2)>>2]|0;n=(c[w+(e+-7<<2)>>2]|0)+(c[w+(e+-16<<2)>>2]|0)+((F<<14|F>>>18)^F>>>3^(F<<25|F>>>7))+((n<<13|n>>>19)^n>>>10^(n<<15|n>>>17))|0}c[w+(e<<2)>>2]=n;J=((g<<26|g>>>6)^(g<<21|g>>>11)^(g<<7|g>>>25))+l+((m^f)&g^m)+n+(c[148656+(e<<2)>>2]|0)|0;I=m;H=k;G=j;n=i;F=g;e=e+1|0;g=J+h|0;k=((i|j)&k|i&j)+((k<<30|k>>>2)^(k<<19|k>>>13)^(k<<10|k>>>22))+J|0;m=f;l=I;j=H;i=G;h=n;f=F}c[a>>2]=k+x;c[y>>2]=j+z;c[A>>2]=i+B;c[C>>2]=h+D;c[o>>2]=g+p;c[q>>2]=f+r;c[s>>2]=m+t;c[u>>2]=l+v;Mb=E;return}function Ii(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=Mb;Mb=Mb+16|0;i=m+8|0;e=m;j=c[a+704>>2]|0;k=a+8|0;do if(!(c[k>>2]|0)){h=a+124|0;g=a+128|0;f=a+992|0;if((hn(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0,-1,0,a)|0)>=0?(c[a+144>>2]|0)>=0:0){f=b+68|0;e=b+72|0;if((c[f>>2]|0)>=1?(c[e>>2]|0)>=1:0)e=1;else{o=c[h>>2]|0;h=c[a+792>>2]|0;n=0-(0-(c[a+132>>2]|0)>>h)|0;c[f>>2]=(o|0)>(n|0)?o:n;g=c[g>>2]|0;h=0-(0-(c[a+136>>2]|0)>>h)|0;c[e>>2]=(g|0)>(h|0)?g:h;e=0}if((((c[b>>2]|0)==0?(c[b+4>>2]|0)==0:0)?(c[b+8>>2]|0)==0:0)?(c[b+12>>2]|0)==0:0){f=e;l=13;break}Xw(a,16,169079,i);e=-22;break}Xw(a,16,169035,e);e=-22}else{f=1;l=13}while(0);if((l|0)==13){e=pT(a,b)|0;if((e|0)>=0){if(j){e=c[j+24>>2]|0;if(!e)l=18;else e=Xb[e&15](a,b)|0}else{c[a+888>>2]=c[a+144>>2];l=18}if((l|0)==18){e=Yb[c[a+472>>2]&15](a,b,d)|0;if((e|0)>-1)to(a,b)}if((c[k>>2]|f|0)==0?(c[(c[a+12>>2]|0)+112>>2]&16|0)==0:0){c[b+68>>2]=c[a+124>>2];c[b+72>>2]=c[a+128>>2]}}}Mb=m;return e|0}function Ji(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=a+80|0;g=IP(c[h>>2]|0)|0;e=a+352|0;f=c[e>>2]|0;if(!f){f=a+240|0;f=_w(c[f>>2]|0,c[f+4>>2]|0)|0;c[e>>2]=f}i=(g|0)==0?1:f;j=a+32|0;if(!((c[j>>2]|0)==0?(d=fp(j,f,c[a+76>>2]|0,c[h>>2]|0,b)|0,(d|0)<0):0))k=5;a:do if((k|0)==5){g=(i|0)>8;do if(g){e=iO(i,4)|0;d=a+64|0;c[d>>2]=e;e=i+-8|0;h=iO(e,4)|0;f=a+280|0;c[f>>2]=h;if((h|0)==0|(c[d>>2]|0)==0){hM(d);hM(f);d=-12;break a}else{c[a+284>>2]=e;b=d;break}}else{b=a+64|0;c[b>>2]=a}while(0);e=g?8:i;d=0;while(1){if((d|0)>=(e|0))break;f=LH(c[j>>2]|0)|0;c[a+248+(d<<2)>>2]=f;if(!f){k=13;break}h=c[f+4>>2]|0;c[a+(d<<2)>>2]=h;c[(c[b>>2]|0)+(d<<2)>>2]=h;d=d+1|0}if((k|0)==13){av(a);d=-12;break}e=i+-8|0;f=a+280|0;d=0;while(1){if((d|0)>=(e|0)){d=0;break a}g=LH(c[j>>2]|0)|0;c[(c[f>>2]|0)+(d<<2)>>2]=g;g=c[(c[f>>2]|0)+(d<<2)>>2]|0;if(!g)break;c[(c[b>>2]|0)+(d+8<<2)>>2]=c[g+4>>2];d=d+1|0}av(a);d=-12}while(0);return d|0}function Ki(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=Mb;Mb=Mb+5168|0;n=p+5144|0;m=p+5136|0;h=p+5120|0;o=p+1024|0;j=p;k=p+5152|0;i=(d|0)>-1;l=i?d&255:d;i=i?d>>>8&255:0;if((l|0)<=(c[40972]|0)){jV(1103456)|0;ki(b,l,e,f,o,163892,k);e=o+1024|0;q=c[e>>2]|0;f=o+2048|0;b=c[f>>2]|0;g=o+3072|0;d=c[g>>2]|0;c[h>>2]=c[o>>2];c[h+4>>2]=q;c[h+8>>2]=b;c[h+12>>2]=d;tM(j,1024,202545,h)|0;d=c[275871]|0;if(!d){b=(SJ(2)|0)==0;b=b?-1:1;c[275871]=b}else b=d;if((!((c[40973]|0)==0|0==0)?(q=(Ry(j,1099216)|0)!=0,!(q|(a[j>>0]|0)==0)):0)?(q=j+((hu(j)|0)+-1)|0,(a[q>>0]|0)!=13):0){d=(c[275872]|0)+1|0;c[275872]=d;if((b|0)==1){q=c[41013]|0;c[m>>2]=d;gN(q,202622,m)|0}}else{d=c[275872]|0;if((d|0)>0){q=c[41013]|0;c[n>>2]=d;gN(q,202658,n)|0;c[275872]=0}UT(1099216,j)|0;dN(c[o>>2]|0);oo(c[k>>2]|0,0,c[o>>2]|0);dN(c[e>>2]|0);oo(c[k+4>>2]|0,0,c[e>>2]|0);dN(c[f>>2]|0);q=l>>3;q=(q|0)<7?q:7;q=(q|0)>0?q:0;oo(q,i,c[f>>2]|0);dN(c[g>>2]|0);oo(q,i,c[g>>2]|0)}ct(o+3072|0,0)|0;jV(1103456)|0}Mb=p;return}
function sd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=Mb;Mb=Mb+256|0;G=I+248|0;C=I+240|0;B=I+232|0;A=I+224|0;E=I+216|0;D=I+208|0;h=I+200|0;g=I+192|0;z=I;H=c[a+60>>2]|0;F=H+8|0;c[F>>2]=b;do if((JK(e)|0)==4095){f=Qj(H,e)|0;if((f|0)<0){Xw(a,16,187234,g);y=59;break}f=c[H+6476>>2]|0;if((f|0)>12){y=c[H+4>>2]|0;c[h>>2]=f;Xw(y,16,187268,h);f=-1094995529;y=59}else y=6}else y=6;while(0);a:do if((y|0)==6){f=hp(a)|0;if((f|0)>=0){r=H+6472|0;s=H+4|0;c[(c[s>>2]|0)+828>>2]=(c[r>>2]|0)+-1;t=sU(e)|0;c[H+1004>>2]=0;u=a+680|0;v=a+420|0;w=H+6516|0;x=H+6484|0;g=0;p=0;k=0;q=7;l=0;j=0;h=0;b:while(1){m=Hz(e,3)|0;if((m|0)==7){y=41;break}i=Hz(e,4)|0;if(c[u>>2]&256|0){c[D>>2]=m;c[D+4>>2]=i;Xw(a,48,187300,D)}if((m|0)!=5&(c[v>>2]|0)==0){f=-1094995529;y=59;break a}o=m>>>0<4;if(o){g=Vd(H,m,i)|0;if(!g){y=14;break}n=(c[w>>2]|0)==0?1024:960;c[g>>2]=1}else n=h;switch(m|0){case 0:{i=k+1|0;j=1;h=l;f=mh(H,g+288|0,e,0)|0;y=38;break}case 1:{i=k;j=1;h=l;f=pk(H,e,g)|0;y=38;break}case 2:{i=k;h=l;f=Kd(H,e,g)|0;y=38;break}case 3:{i=k;j=1;h=l;f=mh(H,g+288|0,e,0)|0;y=38;break}case 4:{i=k;h=l;f=Sw(H,e)|0;y=38;break}case 5:{h=(l|0)==0;if(!(h|(oJ(H)|0)!=0)){y=29;break b}i=rl(a,r,z,e,t)|0;do if((i|0)>=0){if(!h){Xw(a,16,187360,A);Sv(H);h=l;break}f=$g(H,z,i,1,1)|0;if(!f){c[x>>2]=0;h=1;f=0}else h=1}else{h=l;f=i}while(0);i=k;y=38;break}case 6:{if((i|0)==15)f=(Hz(e,8)|0)+14|0;else f=i;if((pS(e)|0)<(f<<3|0)){y=34;break b}while(1){if((f|0)<=0)break;f=f-(li(H,e,f,p,q)|0)|0}i=l;h=o?g:p;f=o?6:q;break}default:{f=-558323010;y=59;break a}}if((y|0)==38){y=0;if(!f){k=i;i=h;h=o?g:p;f=o?m:q}else{y=59;break a}}if((pS(e)|0)<3){y=40;break}else{p=h;q=f;l=i;f=0;h=n}}if((y|0)==14){f=c[s>>2]|0;c[E>>2]=m;c[E+4>>2]=i;Xw(f,16,187320,E);f=-1094995529;y=59;break}else if((y|0)==29){f=-1094995529;y=59;break}else if((y|0)==34){Xw(a,16,187447,B);f=-1094995529;y=59;break}else if((y|0)==40){Xw(a,16,187506,C);f=-1094995529;y=59;break}else if((y|0)==41){if(!(c[v>>2]|0)){c[d>>2]=0;f=0;break}if((c[H+6488>>2]|0)==1)g=(c[H+6500>>2]|0)>(c[H+6480>>2]|0)&1;else g=0;h=h<<g;Gg(H);f=H+6728|0;if((j|0)!=0&(c[f>>2]|0)!=0){c[a+416>>2]=c[H+6480>>2]<<g;c[a+428>>2]=h;c[f>>2]=4}if(g|0)c[(c[a+64>>2]|0)+108>>2]=2;f=c[F>>2]|0;g=(h|0)!=0;if(g&(c[f>>2]|0)==0){Xw(a,16,187555,G);f=-1094995529;y=59;break}if(g){c[f+76>>2]=h;c[f+232>>2]=c[a+416>>2]}else av(f);c[d>>2]=g&1;f=c[H+5672>>2]|0;if(!((k|0)==2&(f|0)!=0)){f=0;break}H=H+6720|0;if(!((c[H>>2]|0)==3&(c[H+4>>2]|0)==0)){f=0;break}switch(f|0){case 1:{c[b+4>>2]=c[b>>2];f=0;break a}case 2:{c[b>>2]=c[b+4>>2];f=0;break a}default:{f=0;break a}}}}else y=59}while(0);if((y|0)==59)Sv(H);Mb=I;return f|0}function td(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=Mb;Mb=Mb+144|0;m=q+132|0;n=q+88|0;o=q+44|0;p=q;g=n;h=g+44|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));i=b;c[i>>2]=0;c[i+4>>2]=-2147483648;i=(e|0)!=0;a:do if(i){h=(a[d>>0]|0)==45;g=h?d+1|0:d;h=h&1;f=Vf(g,205973,n)|0;if(!f){f=Vf(g,205982,n)|0;e=n+8|0;c[e>>2]=0;if(!f){f=gQ(g,p,10)|0;c[n>>2]=f;f=c[p>>2]|0;if((f|0)==(g|0)){e=-22;break}else{c[n+4>>2]=0;c[e>>2]=0;e=h;g=0;k=20;break}}else{l=h;d=0;k=21}}else{l=h;d=0;k=21}}else{e=pC()|0;f=M()|0;l=pu(e|0,f|0,1e6,0)|0;M()|0;c[m>>2]=l;if(!(az(d,205969)|0)){c[b>>2]=e;c[b+4>>2]=f;e=0;break}f=0;while(1){if(f>>>0>=2){e=0;break}e=Vf(d,c[163900+(f<<2)>>2]|0,n)|0;if(!e)f=f+1|0;else break}l=(e|0)==0;h=l?d:e;d=l&1;e=a[h>>0]|0;b:do switch(e<<24>>24){case 116:case 84:{g=h+1|0;break}default:{g=h;while(1){f=g+1|0;if(!(LO(e<<24>>24)|0))break b;g=f;e=a[f>>0]|0}}}while(0);e=0;f=h;while(1){if(e>>>0>=2){e=0;g=d;k=20;break a}f=Vf(g,c[163908+(e<<2)>>2]|0,n)|0;if(!f){e=e+1|0;f=0}else{l=0;k=21;break}}}while(0);if((k|0)==20)if(!f)e=-22;else{l=e;d=g;k=21}c:do if((k|0)==21){g=a[f>>0]|0;if(g<<24>>24==46){g=1e5;h=0;while(1){f=f+1|0;if(!g)break;e=a[f>>0]|0;if(!(vU(e)|0))break;j=(H(e+-48|0,g)|0)+h|0;g=(g>>>0)/10|0;h=j}while(1){g=a[f>>0]|0;if(!(vU(g<<24>>24)|0)){j=h;break}else f=f+1|0}}else j=0;if(i){f=((c[n+4>>2]|0)*60|0)+((c[n+8>>2]|0)*3600|0)+(c[n>>2]|0)|0;e=f;f=((f|0)<0)<<31>>31}else{h=(g|32)<<24>>24==122;e=h&1;f=f+e|0;i=(d|0)!=0;d:do if(i|h){d=e;g=0;h=0}else{switch(a[f>>0]|0){case 45:case 43:break;default:{d=e;g=0;h=0;break d}}g=p;h=g+44|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));h=(a[f>>0]|0)==43;g=f+1|0;e=g;f=0;while(1){if(f>>>0>=3){k=35;break}e=Vf(g,c[163916+(f<<2)>>2]|0,p)|0;if(!e){e=0;f=f+1|0}else break}if((k|0)==35)if(!e){e=-22;break c}h=H(h?-60:60,((c[p+8>>2]|0)*60|0)+(c[p+4>>2]|0)|0)|0;d=1;f=e;g=h;h=((h|0)<0)<<31>>31}while(0);if(i){if(!d){o=(sb(m|0,o|0)|0)+12|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];c[p+16>>2]=c[o+16>>2];c[p+20>>2]=c[o+20>>2];c[p+24>>2]=c[o+24>>2];c[p+28>>2]=c[o+28>>2]}else{o=(nb(m|0,o|0)|0)+12|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];c[p+16>>2]=c[o+16>>2];c[p+20>>2]=c[o+20>>2];c[p+24>>2]=c[o+24>>2];c[p+28>>2]=c[o+28>>2]}o=n+12|0;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];c[o+16>>2]=c[p+16>>2];c[o+20>>2]=c[p+20>>2];c[o+24>>2]=c[p+24>>2];c[o+28>>2]=c[p+28>>2]}p=(d|0)!=0;c[n+32>>2]=(p^1)<<31>>31;if(p)e=xx(n)|0;else e=ub(n|0)|0;e=SO(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;p=M()|0;g=a[f>>0]|0;f=p}e=XJ(e|0,f|0,1e6,0)|0;e=SO(e|0,M()|0,j|0,((j|0)<0)<<31>>31|0)|0;f=M()|0;if(!(g<<24>>24)){o=(l|0)==0;n=QO(0,0,e|0,f|0)|0;p=M()|0;c[b>>2]=o?e:n;c[b+4>>2]=o?f:p;e=0}else e=-22}while(0);Mb=q;return e|0}function ud(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=Mb;Mb=Mb+34832|0;u=w+34824|0;t=w+34816|0;s=w+34808|0;r=w+34800|0;n=w+34784|0;l=w+34776|0;i=w+34768|0;j=w;m=a+25628|0;g=c[m>>2]|0;v=a+25636|0;h=c[v>>2]|0;e=g+(h*34768|0)|0;if(!h)p=(c[a+29544>>2]|0)==0;else p=0;q=p&1;d=g+(h*34768|0)+4|0;x=b+28|0;c[d>>2]=c[x>>2];c[d+4>>2]=c[x+4>>2];c[d+8>>2]=c[x+8>>2];c[d+12>>2]=c[x+12>>2];c[d+16>>2]=c[x+16>>2];d=md(a,e,b)|0;a:do if((d|0)>=0){if((c[g+(h*34768|0)+21836>>2]|0)>0){c[g+(h*34768|0)+23408>>2]=0;c[g+(h*34768|0)+23404>>2]=0;d=0;break}d=(c[g+(h*34768|0)+21808>>2]|0)==0;if(!d?(f=c[a+29544>>2]|0,(f|0)!=0):0){g=e;e=0}else k=8;do if((k|0)==8){if(c[a+29572>>2]|0){Xw(c[a+4>>2]|0,16,198894,i);d=-1094995529;break a}h=a+29544|0;if(d){do if(c[h>>2]|0){if(c[v>>2]|0){d=kf(a)|0;if((d|0)<0?c[(c[a+4>>2]|0)+688>>2]&8|0:0)break a;x=c[m>>2]|0;rk(j|0,x|0,34768)|0;rk(x|0,e|0,34768)|0;rk(e|0,j|0,34768)|0;e=c[m>>2]|0}f=a+24312|0;if(!(c[f>>2]|0)){d=-1094995529;break a}g=a+26368|0;d=(c[g>>2]|0)==0;if((c[a+26364>>2]|0)!=3){if(d){d=-1094995529;break a}d=xp(a,c[m>>2]|0,1)|0;if((d|0)<0)break a;else{d=g;break}}if(!d){d=-1094995529;break a}if((c[a+27012>>2]|0)!=5){d=-1094995529;break a}Xw(a,24,198911,l);d=xp(a,c[m>>2]|0,1)|0;Js((c[f>>2]|0)+4|0,2147483647,0);Js((c[f>>2]|0)+4|0,2147483647,1);c[f>>2]=0;if((d|0)<0)break a;else d=g}else d=a+26368|0;while(0);if(!(c[d>>2]|0)){d=a+24312|0;f=c[d>>2]|0;if(f|0?(c[a+25672>>2]|0)==0:0)Js(f+4|0,2147483647,(c[a+26364>>2]|0)==2&1);c[d>>2]=0}}d=c[h>>2]|0;if(!d){if((e|0)!=(c[m>>2]|0)){c[n>>2]=198937;c[n+4>>2]=198956;c[n+8>>2]=2094;Xw(0,0,213444,n);ba()}if((c[a+26368>>2]|0)==0?(o=c[(c[a+4>>2]|0)+844>>2]|0,(o|0)>7):0){if(!(c[a+27008>>2]|0)){d=0;break a}if((o|0)>15){d=c[e+840>>2]|0;if((d|0)==3){d=0;break a}if((o|0)>23){if((d|0)!=1){d=0;break a}if((o|0)>31)if((c[a+27012>>2]|0)==5)if((o|0)>47){d=0;break a}else{g=e;f=0;e=1;break}else if((o|0)>47|(c[a+29700>>2]|0)<0){d=0;break a}else{g=e;f=0;e=1;break}else{g=e;f=0;e=1}}else{g=e;f=0;e=1}}else{g=e;f=0;e=1}}else{g=e;f=0;e=1}}else{g=e;f=d;e=0}}while(0);do if(!p){x=c[(c[a+27164+(c[g+27776>>2]<<2)>>2]|0)+4>>2]|0;p=c[a+28196>>2]|0;d=c[p>>2]|0;if((d|0)==(c[x>>2]|0)?(c[p+64>>2]|0)==(c[x+64>>2]|0):0){if((c[a+28200>>2]|0)==(c[(c[a+27036+(d<<2)>>2]|0)+4>>2]|0))break;Xw(c[a+4>>2]|0,16,199008,s);d=-1094995529;break a}Xw(c[a+4>>2]|0,16,198980,r);d=-1094995529;break a}while(0);do if(e){d=ad(a,g,b,q)|0;if((d|0)<0)break a}else{d=c[a+26364>>2]|0;e=c[g+21824>>2]|0;if((d|0)==(e|0)?(c[a+25672>>2]|0)==((c[b+68>>2]|0)==0|0):0){if(c[a+24312>>2]|0)break;d=c[a+4>>2]|0;c[u>>2]=f+1;Xw(d,16,199110,u);d=-1094995529;break a}x=c[a+4>>2]|0;c[t>>2]=d;c[t+4>>2]=e;Xw(x,16,199048,t);d=-1094995529;break a}while(0);d=gd(a,g,b)|0;if((d|0)>=0){c[v>>2]=(c[v>>2]|0)+1;d=0}}while(0);Mb=w;return d|0}function vd(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;t=Mb;Mb=Mb+80|0;s=t+72|0;q=t;if(!(a[b+241>>0]|0))e=1;else{n=MS()|0;c[s>>2]=n;o=pC()|0;p=M()|0;pD(n,f)|0;c[n+28>>2]=f;m=n+8|0;c[m>>2]=g;c[m+4>>2]=0;m=n+16|0;c[m>>2]=h;c[m+4>>2]=0;c[n+36>>2]=i;rk(c[n+24>>2]|0,e|0,f|0)|0;n=b+280|0;f=n;e=c[f>>2]|0;f=c[f+4>>2]|0;if((e|0)==0&(f|0)==0){e=n;c[e>>2]=o;c[e+4>>2]=p;e=o;f=p}l=QO(o|0,p|0,e|0,f|0)|0;j=M()|0;e=b+272|0;m=e;k=c[m+4>>2]|0;if((j|0)>(k|0)|((j|0)==(k|0)?l>>>0>(c[m>>2]|0)>>>0:0)){m=b+192|0;g=(c[m>>2]|0)+16|0;f=c[g>>2]|0;g=c[g+4>>2]|0;j=(c[b+196>>2]|0)+16|0;h=c[j>>2]|0;j=c[j+4>>2]|0;l=b+224|0;k=c[l>>2]|0;l=c[l+4>>2]|0;w=uH(m)|0;u=((w|0)<0)<<31>>31;v=uH(m)|0;z=((v|0)<0)<<31>>31;x=(u|0)>(z|0)|(u|0)==(z|0)&w>>>0>v>>>0;z=x?u:z;u=c[b+4>>2]|0;y=((u|0)<0)<<31>>31;do if((z|0)>(y|0)|(z|0)==(y|0)&(x?w:v)>>>0>u>>>0){if(!(a[b+245>>0]|0)){c[e>>2]=1e7;c[e+4>>2]=0;e=b+156|0;f=b+152|0;while(1){h=(c[f>>2]|0)+16|0;g=c[h>>2]|0;h=c[h+4>>2]|0;if(!((h|0)>0|(h|0)==0&g>>>0>0))break;z=(c[e>>2]|0)+16|0;z=QO(c[z>>2]|0,c[z+4>>2]|0,g|0,h|0)|0;y=M()|0;if(!((y|0)>0|(y|0)==0&z>>>0>200))break;Ao(f,q)|0;gP(q)}x=b+256|0;c[x>>2]=g;c[x+4>>2]=h;x=pu(o|0,p|0,1e3,0)|0;y=M()|0;z=b+264|0;c[z>>2]=x;c[z+4>>2]=y;break}z=QO(h|0,j|0,k|0,l|0)|0;y=M()|0;if(((f|0)!=(k|0)|(g|0)!=(l|0))&((k|0)!=0|(l|0)!=0)&((y|0)>0|(y|0)==0&z>>>0>199)){z=e;c[z>>2]=1e7;c[z+4>>2]=0;while(1){y=(c[m>>2]|0)+16|0;z=c[y>>2]|0;y=c[y+4>>2]|0;if(!(((y|0)>0|(y|0)==0&z>>>0>0)&((y|0)<(l|0)|(y|0)==(l|0)&z>>>0<k>>>0)))break;Ao(m,q)|0;gP(q)}e=b+152|0;while(1){y=(c[e>>2]|0)+16|0;z=c[y>>2]|0;y=c[y+4>>2]|0;g=(c[m>>2]|0)+16|0;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(((y|0)>0|(y|0)==0&z>>>0>0)&((y|0)<(g|0)|(y|0)==(g|0)&z>>>0<f>>>0)))break;Ao(e,q)|0;gP(q)}x=b+256|0;c[x>>2]=f;c[x+4>>2]=g;x=pu(o|0,p|0,1e3,0)|0;y=M()|0;z=b+264|0;c[z>>2]=x;c[z+4>>2]=y}}while(0);z=n;c[z>>2]=o;c[z+4>>2]=p}switch(d|0){case 112:{f=65543;e=8e3;r=35;break}case 128:{f=65542;e=8e3;r=35;break}case 64:{f=86050;e=16e3;r=35;break}case 80:{f=86050;e=8e3;r=35;break}case 96:{f=86050;e=c[17472+(i<<2)>>2]|0;r=35;break}case 160:{f=86018;r=36;break}case 7:{f=28;r=27;break}case 12:{f=174;r=27;break}default:NP(s)}if((r|0)==27){g=b+148|0;e=c[g>>2]|0;if((i|0)!=0&(e|0)==-1){e=b+249|0;do if(a[e>>0]|0){z=po(b,f)|0;c[b+236>>2]=z;if(!z){a[e>>0]=0;break}else{y=b+140|0;z=c[y>>2]|0;c[y>>2]=z+1;c[g>>2]=z;AP(b+192|0)|0;break}}while(0);e=c[g>>2]|0}if((e|0)>-1){z=c[s>>2]|0;c[z+32>>2]=e;vP(b+192|0,z)|0}}else if((r|0)==35){c[b+136>>2]=e;r=36}if((r|0)==36){g=b+144|0;e=c[g>>2]|0;if((e|0)==-1){e=b+248|0;do if(a[e>>0]|0){z=po(b,f)|0;c[b+232>>2]=z;if(!z){a[e>>0]=0;break}else{y=b+140|0;z=c[y>>2]|0;c[y>>2]=z+1;c[g>>2]=z;AP(b+152|0)|0;break}}while(0);e=c[g>>2]|0}if((e|0)>-1){z=c[s>>2]|0;c[z+32>>2]=e;vP(b+152|0,z)|0}}e=0}Mb=t;return e|0}function wd(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=Mb;Mb=Mb+48|0;r=u+40|0;o=u+32|0;n=u+16|0;k=u+8|0;i=u;p=g+8|0;t=c[p>>2]|0;a[g+12>>0]=a[g+12+t>>0]|0;j=g+92|0;c[j>>2]=c[e+28>>2];q=g+87932|0;a[g+87940>>0]=a[g+87932+t>>0]|0;s=Hz(f,2)|0;a:do switch(s|0){case 0:{e=Hz(f,2)|0;h=1<<e;if((h|0)>4){e=c[b+4>>2]|0;c[i>>2]=h;Xw(e,16,190195,i);e=-1;break a}c[p>>2]=h;i=h+-1|0;if(!e)c[j>>2]=0;a[q>>0]=0;a[g+87932+h>>0]=16;h=c[p>>2]|0;h=(((h>>>1)+16|0)>>>0)/(h>>>0)|0;e=0;while(1){if((e|0)>=(i|0))break;o=e+1|0;a[g+87932+o>>0]=h+(d[g+87932+e>>0]|0);e=o}h=(uL(f)|0)&255;i=g+13|0;a[i>>0]=h;h=c[p>>2]|0;e=1;while(1){if(e>>>0>=h>>>0){m=36;break a}p=e+1|0;a[g+12+p>>0]=a[i>>0]|0;e=p}}case 1:{m=(Hz(f,2)|0)+16|0;h=Hz(f,2)|0;e=h+1|0;c[p>>2]=e;a[q>>0]=0;a[g+87932+e>>0]=m;e=0;while(1){i=c[p>>2]|0;if((e|0)>=(h|0))break;m=d[i-e+(g+87932)>>0]|0;m=m+254-((Hz(f,2)|0)<<1)&255;a[(c[p>>2]|0)+~e+(g+87932)>>0]=m;e=e+1|0}e=Hz(f,a[190267+i>>0]|0)|0;h=0;while(1){if(h>>>0>=(c[p>>2]|0)>>>0){m=37;break a}m=(uL(f)|0)&255;a[(c[p>>2]|0)-h+(g+12)>>0]=m;h=h+1|0}}case 2:{j=(Hz(f,2)|0)&255;a[q>>0]=j;j=Hz(f,2)|0;i=j+1|0;c[p>>2]=i;e=0;h=16;while(1){a[g+87932+i>>0]=h;if((e|0)>=(j|0))break;h=d[g+87932+e>>0]|0;i=e+1|0;e=i;h=h+2+((Hz(f,2)|0)<<1)&255}e=Hz(f,a[190267+(c[p>>2]|0)>>0]|0)|0;i=g+13|0;j=c[p>>2]|0;h=0;while(1){if((h|0)>=(j|0)){m=37;break a}m=(uL(f)|0)&255;a[i+h>>0]=m;h=h+1|0}}case 3:{h=(Hz(f,2)|0)&255;a[q>>0]=h;h=Hz(f,2)|0;j=Hz(f,2)|0;l=Hz(f,2)|0;i=l+j|0;e=i+1|0;if((i|0)>4){t=c[b+4>>2]|0;c[k>>2]=e;Xw(t,16,190273,k);e=-1;break a}c[p>>2]=e;i=0;h=h+16|0;while(1){a[g+87932+e>>0]=h;if((i|0)>=(j|0))break;h=d[g+87932+i>>0]|0;e=i+1|0;i=e;h=h+2+((Hz(f,2)|0)<<1)|0}e=0;while(1){h=c[p>>2]|0;if((e|0)>=(l|0))break;m=d[h-e+(g+87932)>>0]|0;m=m+254-((Hz(f,2)|0)<<1)&255;a[(c[p>>2]|0)+~e+(g+87932)>>0]=m;e=e+1|0}e=Hz(f,a[190267+h>>0]|0)|0;i=g+13|0;j=c[p>>2]|0;h=0;while(1){if((h|0)>=(j|0)){m=37;break a}m=(uL(f)|0)&255;a[i+h>>0]=m;h=h+1|0}}default:{h=c[p>>2]|0;m=36}}while(0);if((m|0)==36){c[g>>2]=s;i=0;m=41}else if((m|0)==37){c[g>>2]=s;if((e|0)<=-1){c[n>>2]=190345;c[n+4>>2]=190361;c[n+8>>2]=719;Xw(0,0,213444,n);ba()}h=c[p>>2]|0;if(e>>>0>(h+1|0)>>>0){t=c[b+4>>2]|0;c[o>>2]=e;Xw(t,16,190390,o);e=-1}else{i=e;m=41}}do if((m|0)==41){e=1;while(1){if(e>>>0>h>>>0)break;if((d[e+-1+(g+87932)>>0]|0)<(d[g+87932+e>>0]|0))e=e+1|0;else{m=44;break}}if((m|0)==44){Xw(c[b+4>>2]|0,16,190488,r);e=-1;break}r=h>>>0>1;b=r?2:1;c[g+20>>2]=b;a[g+87941>>0]=a[q>>0]|0;a[g+87941+b>>0]=a[g+87932+h>>0]|0;if(r){b:do if(!s)e=h>>>1;else{if(s&1|0){e=i+-1|0;e=h-((e|0)>1?e:1)|0;break}switch(i|0){case 0:{e=1;break b}case 1:{e=h+-1|0;break b}default:{e=i+-1|0;break b}}}while(0);a[g+87942>>0]=a[g+87932+e>>0]|0}e=g+14568|0;c[g+14564>>2]=((c[e>>2]|0)!=(t|0))<<31>>31;c[e>>2]=-1;if((i|0)!=0&(s&1|0)!=0){c[e>>2]=1-i+h;e=0;break}if((i|0)>1&(s|0)==2){c[e>>2]=i+-1;e=0}else e=0}while(0);Mb=u;return e|0}function xd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=Mb;Mb=Mb+48|0;j=m+16|0;l=m+8|0;i=m;f=m+32|0;h=m+24|0;g=fk(a,b,0,0,e,f)|0;f=c[f>>2]|0;a:do if((g|0)!=0&(f|0)!=0){e=(d|0)!=0;b:do if(!e){b=c[g+12>>2]|0;if((b|0)<1146442272)if((b|0)<1128811585)if((b|0)<1112493900)switch(b|0){case 5:break b;default:{b=-22;break a}}else switch(b|0){case 1112493900:break b;default:{b=-22;break a}}else if((b|0)<1129270354)switch(b|0){case 1128811585:break b;default:{b=-22;break a}}else switch(b|0){case 1129270354:break b;default:{b=-22;break a}}if((b|0)<1397116244)if((b|0)<1346784596)switch(b|0){case 1146442272:break b;default:{b=-22;break a}}else switch(b|0){case 1346784596:break b;default:{b=-22;break a}}if((b|0)<1397316165)switch(b|0){case 1397116244:break b;default:{b=-22;break a}}if((b|0)<1448231252)switch(b|0){case 1397316165:break b;default:{b=-22;break a}}else switch(b|0){case 1448231252:break b;default:{b=-22;break a}}}while(0);if(!(c[g+40>>2]&128)){k=f+(c[g+8>>2]|0)|0;b=c[g+12>>2]|0;c:do if((b|0)<9)switch(b|0){case 6:case 3:case 4:case 2:case 1:case 0:{e=9;break c}case 5:{b=VP(d,k)|0;break a}case 7:{b=Lp(d,k)|0;break a}default:{e=27;break c}}else{if((b|0)<1146442272){if((b|0)<1128811585){if((b|0)<1112493900)switch(b|0){case 9:{e=9;break c}default:{e=27;break c}}switch(b|0){case 1112493900:break;default:{e=27;break c}}b=Dp(a,g,d,k)|0;break a}if((b|0)>=1129270354){switch(b|0){case 1129270354:break;default:{e=27;break c}}b=wH(a,d,k)|0;break a}switch(b|0){case 1128811585:break;default:{e=27;break c}}if(e?Ry(d,212780)|0:0){e=vu(d)|0;f=M()|0;if((e|0)==0&(f|0)==0){c[l>>2]=d;Xw(a,16,203271,l);b=-22}else b=0;a=k;c[a>>2]=e;c[a+4>>2]=f;break a}e=k;c[e>>2]=0;c[e+4>>2]=0;e=27;break}if((b|0)<1397116244){if((b|0)>=1346784596){switch(b|0){case 1346784596:break;default:{e=27;break c}}b=LP(a,g,d,k)|0;break a}switch(b|0){case 1146442272:break;default:{e=27;break c}}if(!e){b=k;c[b>>2]=0;c[b+4>>2]=0;b=0;break a}b=td(k,d,1)|0;if((b|0)>=0)break a;c[i>>2]=d;Xw(a,16,203224,i);break a}if((b|0)<1397316165){switch(b|0){case 1397116244:break;default:{e=27;break c}}b=KP(a,g,d,k)|0;break a}if((b|0)<1448231252){switch(b|0){case 1397316165:break;default:{e=27;break c}}b=bz(a,d,k)|0;break a}switch(b|0){case 1448231252:break;default:{e=27;break c}}b=qD(a,d,h)|0;if((b|0)>=0){b=c[h>>2]|0;b=Nd(a,g,k,1.0,c[h+4>>2]|0,b,((b|0)<0)<<31>>31)|0}break a}while(0);if((e|0)==9){b=Ld(a,f,g,d,k)|0;break}else if((e|0)==27){Xw(a,16,203324,j);b=-22;break}}else b=-22}else b=-1414549496;while(0);Mb=m;return b|0}function yd(e,h,i,j,k){e=e|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;J=Mb;Mb=Mb+32|0;o=J+16|0;n=J;l=c[e+83184>>2]|0;a:do if(!l){I=e+83180|0;if((c[I>>2]|0)==0?(c[e+83172>>2]|0)==0:0){F=0;G=0}else{G=j&-16;F=H(c[h+264>>2]|0,G)|0}m=e+32|0;l=c[m>>2]|0;m=c[m+4>>2]|0;if(!((l|0)==0&(m|0)==0)?(E=c[h+260>>2]|0,(E|0)!=(_w(l,m)|0)):0){c[n>>2]=213264;c[n+4>>2]=213180;c[n+8>>2]=503;Xw(0,0,213444,n);ba()}m=e+24|0;l=c[m>>2]|0;m=c[m+4>>2]|0;E=i+260|0;if(!((l|0)==0&(m|0)==0)?(D=c[E>>2]|0,(D|0)!=(_w(l,m)|0)):0){c[o>>2]=213354;c[o+4>>2]=213180;c[o+8>>2]=504;Xw(0,0,213444,o);ba()}C=h+260|0;D=e+16|0;s=(k|0)==0;t=(G|0)!=0;u=e+83172|0;v=e+62620|0;w=(G|0)==(j|0);x=e+83176|0;y=e+62608|0;z=h+264|0;A=j-G|0;B=e+83168|0;r=0;while(1){if((r|0)>=(c[C>>2]|0))break a;q=e+79008+(r*65|0)|0;b:do switch(a[q>>0]|0){case 0:{if(!s){q=c[h+(r<<2)>>2]|0;Wp(q|0,0,H(JP(c[D>>2]|0)|0,j)|0)|0}break}case 1:{l=d[e+79008+(r*65|0)+1>>0]|0;if(!(+g[e+13456+(r<<9)+(l<<3)>>3]!=1.0))if(s){c[h+(r<<2)>>2]=c[i+(l<<2)>>2];break b}else{rk(c[h+(r<<2)>>2]|0,c[i+(l<<2)>>2]|0,H(c[z>>2]|0,j)|0)|0;break b}m=c[u>>2]|0;if(t&(m|0)!=0){q=(H(c[E>>2]|0,r)|0)+l|0;jc[m&127](c[h+(r<<2)>>2]|0,c[i+(l<<2)>>2]|0,c[v>>2]|0,q,G)}if(!w){q=(H(c[E>>2]|0,r)|0)+l|0;jc[c[B>>2]&127]((c[h+(r<<2)>>2]|0)+F|0,(c[i+(l<<2)>>2]|0)+F|0,c[y>>2]|0,q,A)}break}case 2:{l=d[e+79008+(r*65|0)+1>>0]|0;m=d[e+79008+(r*65|0)+2>>0]|0;n=c[I>>2]|0;if(t&(n|0)!=0){q=H(c[E>>2]|0,r)|0;mc[n&15](c[h+(r<<2)>>2]|0,c[i+(l<<2)>>2]|0,c[i+(m<<2)>>2]|0,c[v>>2]|0,q+l|0,q+m|0,G)}else{q=H(c[E>>2]|0,r)|0;mc[c[x>>2]&15](c[h+(r<<2)>>2]|0,c[i+(l<<2)>>2]|0,c[i+(m<<2)>>2]|0,c[y>>2]|0,q+l|0,q+m|0,G)}if(!w){q=H(c[E>>2]|0,r)|0;mc[c[x>>2]&15]((c[h+(r<<2)>>2]|0)+F|0,(c[i+(l<<2)>>2]|0)+F|0,(c[i+(m<<2)>>2]|0)+F|0,c[y>>2]|0,q+l|0,q+m|0,A)}break}default:switch(c[D>>2]|0){case 8:{n=h+(r<<2)|0;m=0;while(1){if((m|0)>=(j|0))break b;o=d[q>>0]|0;p=0.0;l=0;while(1){if((l|0)==(o|0))break;k=l+1|0;K=d[e+79008+(r*65|0)+k>>0]|0;p=p+ +f[(c[i+(K<<2)>>2]|0)+(m<<2)>>2]*+f[e+46224+(r<<8)+(K<<2)>>2];l=k}f[(c[n>>2]|0)+(m<<2)>>2]=p;m=m+1|0}}case 9:{n=h+(r<<2)|0;m=0;while(1){if((m|0)>=(j|0))break b;o=d[q>>0]|0;p=0.0;l=0;while(1){if((l|0)==(o|0))break;K=l+1|0;k=d[e+79008+(r*65|0)+K>>0]|0;p=p+ +g[(c[i+(k<<2)>>2]|0)+(m<<3)>>3]*+g[e+13456+(r<<9)+(k<<3)>>3];l=K}g[(c[n>>2]|0)+(m<<3)>>3]=p;m=m+1|0}}default:{o=h+(r<<2)|0;n=0;while(1){if((n|0)>=(j|0))break b;k=d[q>>0]|0;l=0;m=0;while(1){if((m|0)==(k|0))break;K=m+1|0;L=d[e+79008+(r*65|0)+K>>0]|0;l=(H(c[e+62624+(r<<8)+(L<<2)>>2]|0,b[(c[i+(L<<2)>>2]|0)+(n<<1)>>1]|0)|0)+l|0;m=K}b[(c[o>>2]|0)+(n<<1)>>1]=(l+16384|0)>>>15;n=n+1|0}}}}while(0);r=r+1|0}}else hc[l&255](h,i,c[e+62608>>2]|0,j);while(0);Mb=J;return 0}function zd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=Mb;Mb=Mb+1072|0;p=r+1040|0;q=r;h=r+1059|0;l=r+1054|0;m=r+1049|0;n=r+1044|0;o=r+1024|0;Wp(q|0,0,1024)|0;if(((d>>>0<=64?(c[p>>2]=0,f=vs(b,d,1,p)|0,(f|0)>=0):0)?(g=vs(b,d,2,p)|0,(g|0)>=0):0)?(e=vs(b,d,3,p)|0,(e|0)>=0):0){i=(g|0)==0&(e|0)>3;k=i?e+-2|0:e;i=i?2:g;c[p>>2]=0;if(!(f&1))e=0;else{e=a[b+1>>0]|0;g=q;c[g>>2]=4;c[g+4>>2]=0;a[q+8>>0]=0;a[q+9>>0]=e;a[q+10>>0]=1;e=q+11|0;a[e>>0]=a[h>>0]|0;a[e+1>>0]=a[h+1>>0]|0;a[e+2>>0]=a[h+2>>0]|0;a[e+3>>0]=a[h+3>>0]|0;a[e+4>>0]=a[h+4>>0]|0;c[p>>2]=1;f=f+-1|0;e=1}if((f|0)<=3)if((f|0)>1){g=q;j=10}else h=q;else{e=Ij(q,b,e,64,0,128,0,1)|0;e=(c[p>>2]|0)+e|0;c[p>>2]=e;f=f+-2|0;g=q;j=10}if((j|0)==10){e=Ij(g,b,e,1,0,2,0,1)|0;e=(c[p>>2]|0)+e|0;c[p>>2]=e;f=f+-2|0;h=g}while(1){if((f|0)<=1)break;j=Ij(h,b,e,-1,-1,-1,-1,1)|0;j=(c[p>>2]|0)+j|0;c[p>>2]=j;f=f+-2|0;e=j}if((i|0)>1){e=Ij(h,b,e,512,0,1024,0,1)|0;e=(c[p>>2]|0)+e|0;c[p>>2]=e;f=i+-2|0}else f=i;while(1){if((f|0)<=1)break;j=Ij(h,b,e,-1,-1,-1,-1,2)|0;j=(c[p>>2]|0)+j|0;c[p>>2]=j;f=f+-2|0;e=j}g=~k;g=k+((g|0)>-4?g:-4)+2&-2;f=k;while(1){if((f|0)<=3)break;j=Ij(h,b,e,-1,-1,-1,-1,3)|0;j=(c[p>>2]|0)+j|0;c[p>>2]=j;f=f+-2|0;e=j}f=k-g|0;if((f|0)>1){e=Ij(h,b,e,16,0,32,0,3)|0;e=(c[p>>2]|0)+e|0;c[p>>2]=e;f=f+-2|0}if(f){k=q+(e<<4)|0;j=a[b+(e*3|0)+1>>0]|0;i=k;c[i>>2]=256;c[i+4>>2]=0;a[q+(e<<4)+8>>0]=0;a[q+(e<<4)+9>>0]=j;a[q+(e<<4)+10>>0]=3;k=k+11|0;a[k>>0]=a[l>>0]|0;a[k+1>>0]=a[l+1>>0]|0;a[k+2>>0]=a[l+2>>0]|0;a[k+3>>0]=a[l+3>>0]|0;a[k+4>>0]=a[l+4>>0]|0;e=e+1|0;c[p>>2]=e}if((e|0)<(d|0)?(a[b+(e*3|0)+2>>0]|0)==4:0){l=q+(e<<4)|0;k=a[b+(e*3|0)+1>>0]|0;j=l;c[j>>2]=8;c[j+4>>2]=0;a[q+(e<<4)+8>>0]=3;a[q+(e<<4)+9>>0]=k;a[q+(e<<4)+10>>0]=4;l=l+11|0;a[l>>0]=a[m>>0]|0;a[l+1>>0]=a[m+1>>0]|0;a[l+2>>0]=a[m+2>>0]|0;a[l+3>>0]=a[m+3>>0]|0;a[l+4>>0]=a[m+4>>0]|0;e=e+1|0;c[p>>2]=e}i=e;while(1){if((i|0)>=(d|0))break;if((a[b+(i*3|0)+2>>0]|0)!=4)break;m=q+(i<<4)|0;l=a[b+(i*3|0)+1>>0]|0;k=m;c[k>>2]=-1;c[k+4>>2]=-1;a[q+(i<<4)+8>>0]=3;a[q+(i<<4)+9>>0]=l;a[q+(i<<4)+10>>0]=4;m=m+11|0;a[m>>0]=a[n>>0]|0;a[m+1>>0]=a[n+1>>0]|0;a[m+2>>0]=a[n+2>>0]|0;a[m+3>>0]=a[n+3>>0]|0;a[m+4>>0]=a[n+4>>0]|0;m=i+1|0;c[p>>2]=m;i=m}g=i;while(1){e=0;h=1;while(1){if((h|0)>=(g|0))break;f=h+-1|0;n=q+(f<<4)|0;l=c[n+4>>2]|0;d=q+(h<<4)|0;m=c[d+4>>2]|0;if(l>>>0>m>>>0|((l|0)==(m|0)?(c[n>>2]|0)>>>0>(c[d>>2]|0)>>>0:0)){d=q+(h<<4)|0;c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];e=q+(f<<4)|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];c[e>>2]=c[o>>2];c[e+4>>2]=c[o+4>>2];c[e+8>>2]=c[o+8>>2];c[e+12>>2]=c[o+12>>2];e=h}h=h+1|0}if((e|0)>0)g=e;else break}c[p>>2]=h;e=0;f=0;g=0;while(1){if((g|0)>=(i|0))break;a[b+(g*3|0)>>0]=a[q+(g<<4)+8>>0]|0;a[b+(g*3|0)+1>>0]=a[q+(g<<4)+9>>0]|0;a[b+(g*3|0)+2>>0]=a[q+(g<<4)+10>>0]|0;o=q+(g<<4)|0;n=c[o>>2]|0;o=c[o+4>>2]|0;d=(n|0)==-1&(o|0)==-1;e=(d?0:n)|e;f=(d?0:o)|f;g=g+1|0}c[p>>2]=g}else{f=0;e=0}L(f|0);Mb=r;return e|0}function Ad(b,e){b=b|0;e=e|0;var i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0;x=Mb;Mb=Mb+32|0;u=x+24|0;v=x+8|0;t=x;e=(e|0)==1;a:do if(e?(c[b+48>>2]|0)!=0:0){q=b+188|0;r=(c[q>>2]|0)==0?24:12;o=b+104|0;n=1;while(1){if(n>>>0>(c[o>>2]|0)>>>0)break;p=b+108+n|0;m=0;while(1){if(m>>>0>=(c[b+310112+((d[p>>0]|0)<<2)>>2]|0)>>>0)break;j=a[b+86512+(n*48|0)+m>>0]|0;e=j&255;do if(c[q>>2]|0){if((e+133|0)>>>0<255)i=(c[h>>2]=(e<<23)+1124073472,+f[h>>2]);else i=s;e=r-(d[b+174480+(n*48|0)+m>>0]|0)|0;if((e+126|0)>>>0<255){l=(c[h>>2]=(e<<23)+1065353216,+f[h>>2]);break}if((e|0)>128)l=s;else l=(e|0)>-150?(c[h>>2]=1<<e+149,+f[h>>2]):0.0}else{e=e>>>1;if((e+133|0)>>>0<255)i=(c[h>>2]=(e<<23)+1124073472,+f[h>>2]);else i=s;i=+g[51568+((j&1)<<3)>>3]*i;k=a[b+174480+(n*48|0)+m>>0]|0;e=r-(k&255)|0;j=e>>1;if((j+126|0)>>>0>=255)if((e|0)>257)l=s;else l=(e|0)>-299?(c[h>>2]=1<<j+149,+f[h>>2]):0.0;else l=(c[h>>2]=(j<<23)+1065353216,+f[h>>2]);l=+g[51568+((k&1)<<3)>>3]*l}while(0);if(i>1.0e20){Xw(0,16,191230,t);i=1.0}i=i/(l+1.0);f[b+86800+(n*192|0)+(m<<2)>>2]=i;f[b+174768+(n*192|0)+(m<<2)>>2]=l*i;m=m+1|0}n=n+1|0}o=b+310120|0;m=c[b+116>>2]|0;k=1;b:while(1){if(k>>>0>m>>>0)break a;n=c[o>>2]|0;j=0;while(1){if(j>>>0>=n>>>0)break;e=6-(d[b+87952+(k*5|0)+j>>0]|0)|0;if((e+127|0)>>>0>=255)if((e|0)>127)l=s;else l=(e|0)>-151?(c[h>>2]=1<<e+150,+f[h>>2]):0.0;else l=(c[h>>2]=(e<<23)+1073741824,+f[h>>2]);e=12-(d[b+175920+(k*5|0)+j>>0]|0)|0;if((e+126|0)>>>0>=255)if((e|0)>128)i=s;else i=(e|0)>-150?(c[h>>2]=1<<e+149,+f[h>>2]):0.0;else i=(c[h>>2]=(e<<23)+1065353216,+f[h>>2]);if(!(l<=1.0e20))break b;l=l/(i+1.0);f[b+87968+(k*20|0)+(j<<2)>>2]=l;f[b+175936+(k*20|0)+(j<<2)>>2]=i*l;j=j+1|0}k=k+1|0}c[v>>2]=191272;c[v+4>>2]=191286;c[v+8>>2]=107;Xw(0,0,213444,v);ba()}else w=41;while(0);c:do if((w|0)==41){r=e?2:1;t=b+310120|0;q=0;while(1){if((q|0)==(r|0))break c;n=b+96+(q*87968|0)+8|0;o=b+96+(q*87968|0)+92|0;m=1;while(1){if(m>>>0>(c[n>>2]|0)>>>0)break;p=b+96+(q*87968|0)+12+m|0;k=0;while(1){if(k>>>0>=(c[b+310112+((d[p>>0]|0)<<2)>>2]|0)>>>0)break;j=a[b+96+(q*87968|0)+86416+(m*48|0)+k>>0]|0;e=j&255;if(!(c[o>>2]|0)){e=e>>>1;if((e+132|0)>>>0<255)i=(c[h>>2]=(e<<23)+1115684864,+f[h>>2]);else i=s;i=+g[51568+((j&1)<<3)>>3]*i;e=b+96+(q*87968|0)+86704+(m*192|0)+(k<<2)|0;f[e>>2]=i}else{if((e+132|0)>>>0<255)i=(c[h>>2]=(e<<23)+1115684864,+f[h>>2]);else i=s;e=b+96+(q*87968|0)+86704+(m*192|0)+(k<<2)|0;f[e>>2]=i}if(i>1.0e20){Xw(0,16,191230,u);f[e>>2]=1.0}k=k+1|0}m=m+1|0}m=(c[b+96+(q*87968|0)+20>>2]|0)+1|0;k=1;while(1){if((k|0)==(m|0))break;n=c[t>>2]|0;j=0;while(1){if((j|0)==(n|0))break;e=6-(d[b+96+(q*87968|0)+87856+(k*5|0)+j>>0]|0)|0;if((e+126|0)>>>0>=255)if((e|0)>128)i=s;else i=(e|0)>-150?(c[h>>2]=1<<e+149,+f[h>>2]):0.0;else i=(c[h>>2]=(e<<23)+1065353216,+f[h>>2]);f[b+96+(q*87968|0)+87872+(k*20|0)+(j<<2)>>2]=i;j=j+1|0}k=k+1|0}q=q+1|0}}while(0);Mb=x;return}function Bd(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;q=8-g|0;p=8-h|0;s=H(p,q)|0;p=H(p,g)|0;q=H(q,h)|0;o=H(h,g)|0;r=d>>1;a:do if(!o){o=p+q|0;if(!o){g=0;while(1){if((g|0)>=(f|0))break a;q=((H(s,e[c>>1]|0)|0)+32|0)>>>6&65535;b[a>>1]=q;q=((H(s,e[c+2>>1]|0)|0)+32|0)>>>6&65535;b[a+2>>1]=q;q=((H(s,e[c+4>>1]|0)|0)+32|0)>>>6&65535;b[a+4>>1]=q;q=((H(s,e[c+6>>1]|0)|0)+32|0)>>>6&65535;b[a+6>>1]=q;q=((H(s,e[c+8>>1]|0)|0)+32|0)>>>6&65535;b[a+8>>1]=q;q=((H(s,e[c+10>>1]|0)|0)+32|0)>>>6&65535;b[a+10>>1]=q;q=((H(s,e[c+12>>1]|0)|0)+32|0)>>>6&65535;b[a+12>>1]=q;q=((H(s,e[c+14>>1]|0)|0)+32|0)>>>6&65535;b[a+14>>1]=q;a=a+(r<<1)|0;g=g+1|0;c=c+(r<<1)|0}}else{h=(q|0)==0?1:r;d=h+1|0;i=h+2|0;j=h+3|0;k=h+4|0;l=h+5|0;m=h+6|0;n=h+7|0;g=0;while(1){if((g|0)>=(f|0))break a;q=H(s,e[c>>1]|0)|0;q=(q+32+(H(o,e[c+(h<<1)>>1]|0)|0)|0)>>>6&65535;b[a>>1]=q;q=H(s,e[c+2>>1]|0)|0;q=(q+32+(H(o,e[c+(d<<1)>>1]|0)|0)|0)>>>6&65535;b[a+2>>1]=q;q=H(s,e[c+4>>1]|0)|0;q=(q+32+(H(o,e[c+(i<<1)>>1]|0)|0)|0)>>>6&65535;b[a+4>>1]=q;q=H(s,e[c+6>>1]|0)|0;q=(q+32+(H(o,e[c+(j<<1)>>1]|0)|0)|0)>>>6&65535;b[a+6>>1]=q;q=H(s,e[c+8>>1]|0)|0;q=(q+32+(H(o,e[c+(k<<1)>>1]|0)|0)|0)>>>6&65535;b[a+8>>1]=q;q=H(s,e[c+10>>1]|0)|0;q=(q+32+(H(o,e[c+(l<<1)>>1]|0)|0)|0)>>>6&65535;b[a+10>>1]=q;q=H(s,e[c+12>>1]|0)|0;q=(q+32+(H(o,e[c+(m<<1)>>1]|0)|0)|0)>>>6&65535;b[a+12>>1]=q;q=H(s,e[c+14>>1]|0)|0;q=(q+32+(H(o,e[c+(n<<1)>>1]|0)|0)|0)>>>6&65535;b[a+14>>1]=q;a=a+(r<<1)|0;g=g+1|0;c=c+(r<<1)|0}}}else{h=r+1|0;d=r+2|0;i=r+3|0;j=r+4|0;k=r+5|0;l=r+6|0;m=r+7|0;n=r+8|0;g=0;while(1){if((g|0)>=(f|0))break a;v=H(s,e[c>>1]|0)|0;u=c+2|0;x=H(p,e[u>>1]|0)|0;t=c+(r<<1)|0;y=H(q,e[t>>1]|0)|0;w=c+(h<<1)|0;y=(v+32+x+y+(H(o,e[w>>1]|0)|0)|0)>>>6&65535;b[a>>1]=y;u=H(s,e[u>>1]|0)|0;y=c+4|0;x=H(p,e[y>>1]|0)|0;w=H(q,e[w>>1]|0)|0;v=c+(d<<1)|0;w=(u+32+x+w+(H(o,e[v>>1]|0)|0)|0)>>>6&65535;b[a+2>>1]=w;y=H(s,e[y>>1]|0)|0;w=c+6|0;x=H(p,e[w>>1]|0)|0;v=H(q,e[v>>1]|0)|0;u=c+(i<<1)|0;v=(y+32+x+v+(H(o,e[u>>1]|0)|0)|0)>>>6&65535;b[a+4>>1]=v;w=H(s,e[w>>1]|0)|0;v=c+8|0;x=H(p,e[v>>1]|0)|0;u=H(q,e[u>>1]|0)|0;y=c+(j<<1)|0;u=(w+32+x+u+(H(o,e[y>>1]|0)|0)|0)>>>6&65535;b[a+6>>1]=u;v=H(s,e[v>>1]|0)|0;u=c+10|0;x=H(p,e[u>>1]|0)|0;y=H(q,e[y>>1]|0)|0;w=c+(k<<1)|0;y=(v+32+x+y+(H(o,e[w>>1]|0)|0)|0)>>>6&65535;b[a+8>>1]=y;u=H(s,e[u>>1]|0)|0;y=c+12|0;x=H(p,e[y>>1]|0)|0;w=H(q,e[w>>1]|0)|0;v=c+(l<<1)|0;w=(u+32+x+w+(H(o,e[v>>1]|0)|0)|0)>>>6&65535;b[a+10>>1]=w;y=H(s,e[y>>1]|0)|0;w=c+14|0;x=H(p,e[w>>1]|0)|0;v=H(q,e[v>>1]|0)|0;u=c+(m<<1)|0;v=(y+32+x+v+(H(o,e[u>>1]|0)|0)|0)>>>6&65535;b[a+12>>1]=v;w=H(s,e[w>>1]|0)|0;v=H(p,e[c+16>>1]|0)|0;u=H(q,e[u>>1]|0)|0;u=(w+32+v+u+(H(o,e[c+(n<<1)>>1]|0)|0)|0)>>>6&65535;b[a+14>>1]=u;a=a+(r<<1)|0;g=g+1|0;c=t}}while(0);return}function Cd(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=a+4|0;i=c[y>>2]|0;x=a+104|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=fl(a)|0;j=0;a:while(1){switch(i|0){case 46:{w=10;break a}case 48:break;default:{p=0;m=j;l=0;j=0;break a}}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=fl(a)|0;j=1}if((w|0)==10){i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=fl(a)|0;if((i|0)==48){l=0;j=0;do{i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=fl(a)|0;l=SO(l|0,j|0,-1,-1)|0;j=M()|0}while((i|0)==48);p=1;m=1}else{p=1;m=j;l=0;j=0}}o=0;n=1.0;h=0.0;v=0;s=p;t=m;u=0;m=0;while(1){q=i+-48|0;p=i|32;if(q>>>0>=10){r=(i|0)==46;if(!(r|(p+-97|0)>>>0<6))break;if(r)if(!s){s=1;k=n;q=v;r=t;l=m;j=u;p=u}else{i=46;break}else w=24}else w=24;if((w|0)==24){w=0;i=(i|0)>57?p+-87|0:q;do if(!((u|0)<0|(u|0)==0&m>>>0<8))if((u|0)<0|(u|0)==0&m>>>0<14){n=n*.0625;k=n;h=h+n*+(i|0);i=v;break}else{i=(o|0)!=0|(i|0)==0;o=i?o:1;k=n;h=i?h:h+n*.5;i=v;break}else{k=n;i=i+(v<<4)|0}while(0);m=SO(m|0,u|0,1,0)|0;q=i;r=1;p=M()|0}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=fl(a)|0;n=k;v=q;t=r;u=p}do if(!t){i=(c[x>>2]|0)==0;if(!i)c[y>>2]=(c[y>>2]|0)+-1;if(g){if(!i?(c[y>>2]=(c[y>>2]|0)+-1,!((s|0)==0|i)):0)c[y>>2]=(c[y>>2]|0)+-1}else bw(a,0,0);h=+(f|0)*0.0}else{o=(s|0)==0;p=o?m:l;o=o?u:j;if((u|0)<0|(u|0)==0&m>>>0<8){j=v;l=u;do{j=j<<4;w=m;m=SO(m|0,l|0,1,0)|0;v=l;l=M()|0}while((v|0)<0|(v|0)==0&w>>>0<7);m=j}else m=v;if((i|32|0)==112){j=Mg(a,g)|0;i=M()|0;if((j|0)==0&(i|0)==-2147483648){if(!g){bw(a,0,0);h=0.0;break}if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}}}else if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}l=cN(p|0,o|0,2)|0;l=SO(l|0,M()|0,-32,-1)|0;l=SO(l|0,M()|0,j|0,i|0)|0;i=M()|0;if(!m){h=+(f|0)*0.0;break}y=0-e|0;g=((y|0)<0)<<31>>31;if((i|0)>(g|0)|(i|0)==(g|0)&l>>>0>y>>>0){b=pV()|0;c[b>>2]=34;h=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}y=e+-106|0;g=((y|0)<0)<<31>>31;if((i|0)<(g|0)|(i|0)==(g|0)&l>>>0<y>>>0){b=pV()|0;c[b>>2]=34;h=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((m|0)>-1){j=m;do{y=!(h>=.5);j=j<<1|(y^1)&1;h=h+(y?h:h+-1.0);l=SO(l|0,i|0,-1,-1)|0;i=M()|0}while((j|0)>-1);n=h;m=j}else n=h;y=((b|0)<0)<<31>>31;e=QO(32,0,e|0,((e|0)<0)<<31>>31|0)|0;i=SO(e|0,M()|0,l|0,i|0)|0;e=M()|0;if((e|0)<(y|0)|(e|0)==(y|0)&i>>>0<b>>>0)if((i|0)>0)w=65;else{j=0;i=84;w=67}else{i=b;w=65}if((w|0)==65)if((i|0)<53){j=i;i=84-i|0;w=67}else{k=0.0;h=+(f|0)}if((w|0)==67){h=+(f|0);k=+nU(+Zt(1.0,i),h);i=j}f=(m&1|0)==0&(n!=0.0&(i|0)<32);h=(f?0.0:n)*h+(k+h*+((m+(f&1)|0)>>>0))-k;if(!(h!=0.0)){f=pV()|0;c[f>>2]=34}h=+oU(h,l)}while(0);return +h}function Dd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=Mb;Mb=Mb+128|0;C=D+56|0;o=D+48|0;n=D+40|0;l=D+32|0;m=D+24|0;k=D+16|0;i=D+8|0;f=D;x=D+116|0;B=bp(a)|0;a:do if(B>>>0<=255){f=KO(173836)|0;c[x>>2]=f;A=f;if(!f)f=-12;else{z=c[f+4>>2]|0;g=c[a>>2]|0;f=(c[a+4>>2]|0)-g|0;h=z+4824|0;c[h>>2]=f;if(f>>>0>4096){c[i>>2]=f;c[i+4>>2]=4096;Xw(b,24,170230,i);c[h>>2]=4096;g=c[a>>2]|0;f=4096}rk(z+728|0,g|0,f|0)|0;f=Px(a)|0;c[z>>2]=f;b:do if(f>>>0<=31?(j=c[d+(f<<2)>>2]|0,(j|0)!=0):0){v=c[j+4>>2]|0;w=v+1184|0;f=c[w>>2]|0;if((f|0)>14){c[m>>2]=f;Xw(b,16,170275,m);f=-1094995529;break}switch(f|0){case 13:case 11:{c[l>>2]=f;wM(b,170302,l);f=-1163346256;break b}default:{}}s=uL(a)|0;t=z+4|0;c[t>>2]=s;s=uL(a)|0;c[z+8>>2]=s;s=bp(a)|0;u=z+12|0;c[u>>2]=s+1;if((s|0)>0){s=bp(a)|0;c[z+16>>2]=s;Xw(b,16,170334,n)}q=(bp(a)|0)+1|0;r=z+20|0;c[r>>2]=q;q=bp(a)|0;s=z+24|0;c[s>>2]=q+1;if(((c[r>>2]|0)+-1|q)>>>0>31){Xw(b,16,170353,o);f=-1094995529;break}q=(c[w>>2]|0)*6|0;m=uL(a)|0;k=z+28|0;c[k>>2]=m;m=Hz(a,2)|0;c[z+32>>2]=m;q=q+-22|0;m=q+(ap(a)|0)|0;l=z+36|0;c[l>>2]=m;q=q+(ap(a)|0)|0;m=z+40|0;c[m>>2]=q;q=ap(a)|0;j=z+44|0;c[j>>2]=q;if((q+12|0)>>>0>24)f=-1094995529;else{q=uL(a)|0;n=z+52|0;c[n>>2]=q;q=uL(a)|0;o=z+56|0;c[o>>2]=q;q=uL(a)|0;p=z+60|0;c[p>>2]=q;q=z+64|0;c[q>>2]=0;i=z+68|0;f=i;g=v+672|0;h=f+96|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));f=z+164|0;rk(f|0,v+768|0,384)|0;if((sU(a)|0)<(e|0)?(_D(v,b)|0)!=0:0){e=uL(a)|0;c[q>>2]=e;f=jm(a,v,z,0,i,f)|0;if((f|0)<0)break;a=ap(a)|0;h=z+48|0;c[h>>2]=a;if((a+12|0)>>>0>24){f=-1094995529;break}f=c[j>>2]|0}else{f=c[j>>2]|0;h=z+48|0;c[h>>2]=f}Wy(z,0,f,c[w>>2]|0);Wy(z,1,c[h>>2]|0,c[w>>2]|0);jp(z,v);g=c[j>>2]|0;f=c[h>>2]|0;if((g|0)!=(f|0))c[z+724>>2]=1;if(c[b+680>>2]&1|0){h=c[z>>2]|0;i=(c[t>>2]|0)==0?170379:170385;j=c[u>>2]|0;t=c[r>>2]|0;u=c[s>>2]|0;v=(c[k>>2]|0)==0?1104084:170391;w=c[l>>2]|0;e=c[m>>2]|0;a=(c[n>>2]|0)==0?1104084:170400;x=(c[o>>2]|0)==0?1104084:170405;y=(c[p>>2]|0)==0?1104084:170412;z=(c[q>>2]|0)==0?1104084:170417;c[C>>2]=B;c[C+4>>2]=h;c[C+8>>2]=i;c[C+12>>2]=j;c[C+16>>2]=t;c[C+20>>2]=u;c[C+24>>2]=v;c[C+28>>2]=w;c[C+32>>2]=e;c[C+36>>2]=g;c[C+40>>2]=f;c[C+44>>2]=a;c[C+48>>2]=x;c[C+52>>2]=y;c[C+56>>2]=z;Xw(b,48,170424,C)}nT(d,B);c[d+128+(B<<2)>>2]=A;f=0;break a}}else y=8;while(0);if((y|0)==8){c[k>>2]=f;Xw(b,16,169427,k);f=-1094995529}QS(x)}}else{c[f>>2]=B;Xw(b,16,200444,f);f=-1094995529}while(0);Mb=D;return f|0}function Ed(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=Mb;Mb=Mb+64|0;G=I+48|0;H=I+40|0;C=I+32|0;B=I+16|0;A=I+8|0;z=I;u=I+60|0;Zr(b);os(b);ue(b,d);D=d+23412|0;v=d+34752|0;x=d+34756|0;E=b+4|0;y=b+29540|0;F=b+26364|0;s=0;a:while(1){e=c[D>>2]|0;if(s>>>0>=e>>>0){q=3;break}n=d+27768+(s<<2)|0;r=d+23404+(s<<2)|0;m=0;e=c[v>>2]|0;while(1){if((m|0)>=(c[n>>2]|0))break;f=a[d+27256+(s<<8)+(m<<3)>>0]|0;i=c[d+27256+(s<<8)+(m<<3)+4>>2]|0;b:do switch(f<<24>>24){case 1:case 0:{g=i+1|0;h=c[x>>2]|0;if(g>>>0>h>>>0){q=13;break a}e=h+-1&(f<<24>>24==0?~i:g)+e;h=NJ(b,e,u)|0;i=c[u>>2]|0;f=c[y>>2]|0;while(1){g=f+-1|0;if((f|0)<=0){q=21;break b}f=c[b+28332+(g<<2)>>2]|0;if((c[f+88>>2]|0)==(h|0)?i&c[f+640>>2]|0:0)break;f=g}c[f+96>>2]=e;l=f;j=f+96|0;k=i;q=22;break}case 2:{f=NJ(b,i,u)|0;if(f>>>0>31){q=18;break a}f=c[b+28460+(f<<2)>>2]|0;if((f|0)!=0?(w=c[u>>2]|0,(w&c[f+640>>2]|0)!=0):0){j=f+96|0;c[j>>2]=i;l=f;k=w;q=22}else q=21;break}default:{q=19;break a}}while(0);if((q|0)==21){Xw(c[E>>2]|0,16,197729,C);f=d+23416+(s*1920|0)+(m*40|0)|0;p=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(p|0))}else if((q|0)==22){g=c[r>>2]|0;h=l+100|0;f=m;while(1){i=f+1|0;if(i>>>0>=g>>>0)break;q=c[d+23416+(s*1920|0)+(f*40|0)+36>>2]|0;if((q|0?(c[h>>2]|0)==(c[q+100>>2]|0):0)?(c[j>>2]|0)==(c[d+23416+(s*1920|0)+(f*40|0)+32>>2]|0):0)break;f=i}while(1){if((f|0)<=(m|0))break;g=f+-1|0;f=d+23416+(s*1920|0)+(f*40|0)|0;o=d+23416+(s*1920|0)+(g*40|0)|0;p=f+40|0;do{c[f>>2]=c[o>>2];f=f+4|0;o=o+4|0}while((f|0)<(p|0));f=g}f=d+23416+(s*1920|0)+(m*40|0)|0;Cv(f,l);if((c[F>>2]|0)!=3)Ww(f,k)}m=m+1|0}s=s+1|0}c:do if((q|0)==3){n=0;d:while(1){if(n>>>0>=e>>>0)break;i=d+23404+(n<<2)|0;j=b+28252+(n*40|0)|0;k=b+28252+(n*40|0)+28|0;l=b+28252+(n*40|0)+36|0;m=b+28252+(n*40|0)+24|0;h=0;while(1){if(h>>>0>=(c[i>>2]|0)>>>0)break;f=d+23416+(n*1920|0)+(h*40|0)|0;g=d+23416+(n*1920|0)+(h*40|0)+36|0;e=c[g>>2]|0;if(e){if((c[F>>2]|0)==3?(c[d+23416+(n*1920|0)+(h*40|0)+24>>2]&3|0)!=3:0)q=41}else q=41;if((q|0)==41){q=0;e=c[E>>2]|0;c[H>>2]=c[k>>2];Xw(e,16,197771,H);e=0;while(1){if((e|0)==16)break;c[b+28660+(e<<2)>>2]=-2147483648;e=e+1|0}if(!(c[l>>2]|0)){t=-1;break c}if((c[F>>2]|0)==3?(c[m>>2]&3|0)!=3:0){t=-1;break c}o=j;p=f+40|0;do{c[f>>2]=c[o>>2];f=f+4|0;o=o+4|0}while((f|0)<(p|0));e=c[g>>2]|0}if((DT(c[(c[e>>2]|0)+248>>2]|0)|0)>0)h=h+1|0;else{q=49;break d}}n=n+1|0;e=c[D>>2]|0}if((q|0)==49){c[G>>2]=197813;c[G+4>>2]=197706;c[G+8>>2]=411;Xw(0,0,213444,G);ba()}if(!(c[b+26360>>2]|0))t=0;else{Wk(d);t=0}}else if((q|0)==13){Xw(c[E>>2]|0,16,197651,z);t=-1094995529}else if((q|0)==18){Xw(c[E>>2]|0,16,197678,A);t=-1094995529}else if((q|0)==19){c[B>>2]=213565;c[B+4>>2]=197706;c[B+8>>2]=373;Xw(0,0,213444,B);ba()}while(0);Mb=I;return t|0}function Fd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=wc(32)|0;a:do if(d){k=d+4|0;l=d+8|0;m=d+12|0;n=d+16|0;o=d+20|0;h=d+24|0;i=d+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;g=bQ(b,58)|0;if(!g){TH(d);d=0;break}f=g-b|0;e=0;while(1){if((e|0)>=(f|0))break;if(!(OL(a[b+e>>0]|0)|0)){j=7;break}else e=e+1|0}if((j|0)==7){TH(d);d=0;break}e=wc(f+1|0)|0;c[d>>2]=e;if(!e){TH(d);d=0;break}aT(e,b,f)|0;a[(c[d>>2]|0)+f>>0]=0;e=0;while(1){if((e|0)>=(f|0))break;b=(c[d>>2]|0)+e|0;p=(hT(a[b>>0]|0)|0)&255;a[b>>0]=p;e=e+1|0}e=0;while(1){g=g+1|0;if(e>>>0>=2)break;if((a[g>>0]|0)!=47){j=17;break}else e=e+1|0}if((j|0)==17){TH(d);d=0;break}e=g;b:while(1){switch(a[e>>0]|0){case 47:case 0:break b;case 64:{j=19;break b}default:{}}e=e+1|0}do if((j|0)==19){b=g;c:while(1){switch(a[b>>0]|0){case 64:case 58:case 0:break c;default:{}}b=b+1|0}e=b-g|0;f=wc(e+1|0)|0;c[h>>2]=f;if(!f){TH(d);d=0;break a}aT(f,g,e)|0;a[(c[h>>2]|0)+e>>0]=0;e=a[b>>0]|0;do if(e<<24>>24==58){e=b+1|0;g=e;while(1)if((a[g>>0]|64)<<24>>24==64)break;else g=g+1|0;b=g-e|0;f=wc(b+1|0)|0;c[i>>2]=f;if(!f){TH(d);d=0;break a}else{aT(f,e,b)|0;a[(c[i>>2]|0)+b>>0]=0;b=g;e=a[g>>0]|0;break}}while(0);if(e<<24>>24==64){g=b+1|0;break}else{TH(d);d=0;break a}}while(0);f=a[g>>0]|0;e=f<<24>>24==91;b=g;d:while(1){if(!(f<<24>>24))break;if(e&f<<24>>24==93){j=37;break}if(!e)switch(f<<24>>24){case 47:case 58:break d;default:{}}f=b+1|0;b=f;f=a[f>>0]|0}if((j|0)==37)b=b+1|0;e=b-g|0;f=wc(e+1|0)|0;c[k>>2]=f;if((f|0)==0|(e|0)<1){TH(d);d=0;break}aT(f,g,e)|0;a[(c[k>>2]|0)+e>>0]=0;e=a[b>>0]|0;do if(e<<24>>24==58){e=b+1|0;g=e;e:while(1){switch(a[g>>0]|0){case 0:case 47:break e;default:{}}g=g+1|0}b=g-e|0;f=wc(b+1|0)|0;c[l>>2]=f;if(!f){TH(d);d=0;break a}else{aT(f,e,b)|0;a[(c[l>>2]|0)+b>>0]=0;b=g;e=a[g>>0]|0;break}}while(0);switch(e<<24>>24){case 0:break a;case 47:break;default:{TH(d);d=0;break a}}g=b+1|0;b=g;f:while(1){switch(a[b>>0]|0){case 63:case 35:case 0:break f;default:{}}b=b+1|0}e=b-g|0;f=wc(e+1|0)|0;c[m>>2]=f;if(!f){TH(d);d=0;break}aT(f,g,e)|0;a[(c[m>>2]|0)+e>>0]=0;e=a[b>>0]|0;do if(e<<24>>24==63){e=b+1|0;g=e;g:while(1){switch(a[g>>0]|0){case 0:case 35:break g;default:{}}g=g+1|0}b=g-e|0;f=wc(b+1|0)|0;c[n>>2]=f;if(!f){TH(d);d=0;break a}else{aT(f,e,b)|0;a[(c[n>>2]|0)+b>>0]=0;b=g;e=a[g>>0]|0;break}}while(0);if(e<<24>>24==35){f=b+1|0;e=f;while(1)if(!(a[e>>0]|0))break;else e=e+1|0;e=e-f|0;b=wc(e+1|0)|0;c[o>>2]=b;if(!b){TH(d);d=0;break}else{aT(b,f,e)|0;a[(c[o>>2]|0)+e>>0]=0;break}}}else d=0;while(0);return d|0}function Gd(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;r=8-g|0;q=8-h|0;s=H(q,r)|0;q=H(q,g)|0;r=H(r,h)|0;h=H(h,g)|0;a:do if(!h){p=q+r|0;if(!p){g=0;while(1){if((g|0)>=(f|0))break a;r=((H(s,d[c>>0]|0)|0)+32|0)>>>6&255;a[b>>0]=r;r=((H(s,d[c+1>>0]|0)|0)+32|0)>>>6&255;a[b+1>>0]=r;r=((H(s,d[c+2>>0]|0)|0)+32|0)>>>6&255;a[b+2>>0]=r;r=((H(s,d[c+3>>0]|0)|0)+32|0)>>>6&255;a[b+3>>0]=r;r=((H(s,d[c+4>>0]|0)|0)+32|0)>>>6&255;a[b+4>>0]=r;r=((H(s,d[c+5>>0]|0)|0)+32|0)>>>6&255;a[b+5>>0]=r;r=((H(s,d[c+6>>0]|0)|0)+32|0)>>>6&255;a[b+6>>0]=r;r=((H(s,d[c+7>>0]|0)|0)+32|0)>>>6&255;a[b+7>>0]=r;b=b+e|0;g=g+1|0;c=c+e|0}}else{h=(r|0)==0?1:e;i=h+1|0;j=h+2|0;k=h+3|0;l=h+4|0;m=h+5|0;n=h+6|0;o=h+7|0;g=0;while(1){if((g|0)>=(f|0))break a;r=H(s,d[c>>0]|0)|0;r=(r+32+(H(p,d[c+h>>0]|0)|0)|0)>>>6&255;a[b>>0]=r;r=H(s,d[c+1>>0]|0)|0;r=(r+32+(H(p,d[c+i>>0]|0)|0)|0)>>>6&255;a[b+1>>0]=r;r=H(s,d[c+2>>0]|0)|0;r=(r+32+(H(p,d[c+j>>0]|0)|0)|0)>>>6&255;a[b+2>>0]=r;r=H(s,d[c+3>>0]|0)|0;r=(r+32+(H(p,d[c+k>>0]|0)|0)|0)>>>6&255;a[b+3>>0]=r;r=H(s,d[c+4>>0]|0)|0;r=(r+32+(H(p,d[c+l>>0]|0)|0)|0)>>>6&255;a[b+4>>0]=r;r=H(s,d[c+5>>0]|0)|0;r=(r+32+(H(p,d[c+m>>0]|0)|0)|0)>>>6&255;a[b+5>>0]=r;r=H(s,d[c+6>>0]|0)|0;r=(r+32+(H(p,d[c+n>>0]|0)|0)|0)>>>6&255;a[b+6>>0]=r;r=H(s,d[c+7>>0]|0)|0;r=(r+32+(H(p,d[c+o>>0]|0)|0)|0)>>>6&255;a[b+7>>0]=r;b=b+e|0;g=g+1|0;c=c+e|0}}}else{i=e+1|0;j=e+2|0;k=e+3|0;l=e+4|0;m=e+5|0;n=e+6|0;o=e+7|0;p=e+8|0;g=0;while(1){if((g|0)>=(f|0))break a;v=H(s,d[c>>0]|0)|0;u=c+1|0;x=H(q,d[u>>0]|0)|0;t=c+e|0;y=H(r,d[t>>0]|0)|0;w=c+i|0;y=(v+32+x+y+(H(h,d[w>>0]|0)|0)|0)>>>6&255;a[b>>0]=y;u=H(s,d[u>>0]|0)|0;y=c+2|0;x=H(q,d[y>>0]|0)|0;w=H(r,d[w>>0]|0)|0;v=c+j|0;w=(u+32+x+w+(H(h,d[v>>0]|0)|0)|0)>>>6&255;a[b+1>>0]=w;y=H(s,d[y>>0]|0)|0;w=c+3|0;x=H(q,d[w>>0]|0)|0;v=H(r,d[v>>0]|0)|0;u=c+k|0;v=(y+32+x+v+(H(h,d[u>>0]|0)|0)|0)>>>6&255;a[b+2>>0]=v;w=H(s,d[w>>0]|0)|0;v=c+4|0;x=H(q,d[v>>0]|0)|0;u=H(r,d[u>>0]|0)|0;y=c+l|0;u=(w+32+x+u+(H(h,d[y>>0]|0)|0)|0)>>>6&255;a[b+3>>0]=u;v=H(s,d[v>>0]|0)|0;u=c+5|0;x=H(q,d[u>>0]|0)|0;y=H(r,d[y>>0]|0)|0;w=c+m|0;y=(v+32+x+y+(H(h,d[w>>0]|0)|0)|0)>>>6&255;a[b+4>>0]=y;u=H(s,d[u>>0]|0)|0;y=c+6|0;x=H(q,d[y>>0]|0)|0;w=H(r,d[w>>0]|0)|0;v=c+n|0;w=(u+32+x+w+(H(h,d[v>>0]|0)|0)|0)>>>6&255;a[b+5>>0]=w;y=H(s,d[y>>0]|0)|0;w=c+7|0;x=H(q,d[w>>0]|0)|0;v=H(r,d[v>>0]|0)|0;u=c+o|0;v=(y+32+x+v+(H(h,d[u>>0]|0)|0)|0)>>>6&255;a[b+6>>0]=v;w=H(s,d[w>>0]|0)|0;v=H(q,d[c+8>>0]|0)|0;u=H(r,d[u>>0]|0)|0;u=(w+32+v+u+(H(h,d[c+p>>0]|0)|0)|0)>>>6&255;a[b+7>>0]=u;b=b+e|0;g=g+1|0;c=t}}while(0);return}function Hd(a,d,e,h,i,j,k,l,m){a=a|0;d=d|0;e=+e;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=+m;var n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,w=0.0,z=0,A=0.0,B=0.0,C=0.0,D=0,E=0.0,F=0,G=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0;P=Mb;Mb=Mb+32|0;O=P+16|0;n=P;G=(j&1|0)!=0;if(G)J=j;else J=((j|0)/2|0)+1|0;I=DQ(h+1|0)|0;K=DQ(J)|0;L=h+-1|0;N=(L|0)/2|0;a:do if((I|0)!=0&(K|0)!=0){if(!((h|0)==1|(h&1|0)==0)){c[n>>2]=213528;c[n+4>>2]=213503;c[n+8>>2]=158;Xw(0,0,213444,n);ba()}C=e>1.0?1.0:e;D=C==1.0;E=+(j|0);b:do if(D){e=+((N<<1&2)+-1|0);n=0;while(1){if((n|0)>=(J|0))break b;B=+y(+(+(n|0)*3.141592653589793/E))*e;g[K+(n<<3)>>3]=B;n=n+1|0}}while(0);A=C*+(h|0);B=A*3.141592653589793;z=a+80|0;w=+(k|0);e=0.0;t=0;c:while(1){if((t|0)>=(J|0)){F=0;break a}s=+(t|0)/E;a=(t|0)==0;n=0;r=+g[K+(t<<3)>>3];while(1){if((n|0)>=(h|0))break;p=+(n-N|0)-s;q=C*(p*3.141592653589793);do if(!(q==0.0))if(D){o=r/q;break}else{o=+y(+q)/q;break}else o=1.0;while(0);d:do switch(l|0){case 0:{o=C*p;p=+u(+o);if(p<1.0){o=o*o;o=1.0-p*(p*3.0)+p*(p*(p*2.0))-(o*p-o)*.5;break d}else{o=(o*o*p+(p*8.0+-4.0-p*(p*5.0)))*-.5;break d}}case 1:{p=+x(+(q*2.0/A));q=-p;o=(p*.4891775+.3635819+(p*-2.0*q+-1.0)*.1365995-(p*3.0+p*-4.0*q*q)*.0106411)*o;break}case 2:{q=q*2.0/B;q=1.0-q*q;o=o*+jy(+v(+(q>0.0?q:0.0))*m);break}default:break c}while(0);g[I+(n<<3)>>3]=o;n=n+1|0;r=-r;e=a?e+o:e}e:do switch(c[z>>2]|0){case 6:{k=H(t,i)|0;n=0;while(1){if((n|0)>=(h|0))break;a=XU(+g[I+(n<<3)>>3]*w/e)|0;b[d+(n+k<<1)>>1]=(a+32768|0)>>>0>65535?a>>31^32767:a;n=n+1|0}if(!G){a=L+(H(j-t|0,i)|0)|0;n=0;while(1){if((n|0)>=(h|0))break e;b[d+(a-n<<1)>>1]=b[d+(n+k<<1)>>1]|0;n=n+1|0}}break}case 7:{k=H(t,i)|0;n=0;while(1){if((n|0)>=(h|0))break;a=OM(+g[I+(n<<3)>>3]*w/e)|0;Q=M()|0;R=SO(a|0,Q|0,-2147483648,0)|0;S=M()|0;Q=FM(a|0,Q|0,63)|0;M()|0;c[d+(n+k<<2)>>2]=S>>>0>0|(S|0)==0&R>>>0>4294967295?Q^2147483647:a;n=n+1|0}if(!G){a=L+(H(j-t|0,i)|0)|0;n=0;while(1){if((n|0)>=(h|0))break e;c[d+(a-n<<2)>>2]=c[d+(n+k<<2)>>2];n=n+1|0}}break}case 8:{k=H(t,i)|0;n=0;while(1){if((n|0)>=(h|0))break;f[d+(n+k<<2)>>2]=+g[I+(n<<3)>>3]*w/e;n=n+1|0}if(!G){a=L+(H(j-t|0,i)|0)|0;n=0;while(1){if((n|0)>=(h|0))break e;c[d+(a-n<<2)>>2]=c[d+(n+k<<2)>>2];n=n+1|0}}break}case 9:{k=H(t,i)|0;n=0;while(1){if((n|0)>=(h|0))break;g[d+(n+k<<3)>>3]=+g[I+(n<<3)>>3]*w/e;n=n+1|0}if(!G){a=L+(H(j-t|0,i)|0)|0;n=0;while(1){if((n|0)>=(h|0))break e;g[d+(a-n<<3)>>3]=+g[d+(n+k<<3)>>3];n=n+1|0}}break}default:{}}while(0);t=t+1|0}c[O>>2]=213565;c[O+4>>2]=213503;c[O+8>>2]=194;Xw(0,0,213444,O);ba()}else F=-12;while(0);gV(I);gV(K);Mb=P;return F|0}function Id(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=Mb;Mb=Mb+304|0;t=A;u=A+256|0;w=f+32860|0;s=u+4|0;c[s>>2]=c[w>>2];x=f+32856|0;c[u>>2]=c[x>>2];y=f+32872|0;z=u+16|0;c[z>>2]=c[y>>2];n=c[f+21828>>2]|0;o=(c[88720+(n*56|0)+(h<<2)>>2]|0)+(f+32904)|0;p=(c[88832+(n*56|0)+(h<<2)>>2]|0)+(f+32904)|0;r=(c[88976+(h<<2)>>2]|0)+(f+32904)|0;q=(l|0)==64;a:do if(q){m=0;l=0;while(1){if(m>>>0>=63)break;if(Gu(u,o+(d[89040+(n*63|0)+m>>0]|0)|0)|0){B=p+(d[80048+m>>0]|0)|0;h=l+1|0;c[t+(l<<2)>>2]=m;if(!(Gu(u,B)|0))l=h;else{l=h;break a}}m=m+1|0}if((m|0)==63){c[t+(l<<2)>>2]=63;l=l+1|0}}else{n=l+-1|0;m=0;l=0;while(1){if((m|0)>=(n|0))break;if(Gu(u,o+m|0)|0){h=l+1|0;c[t+(l<<2)>>2]=m;if(!(Gu(u,p+m|0)|0))l=h;else{l=h;break a}}m=m+1|0}if((m|0)==(n|0)){c[t+(l<<2)>>2]=n;l=l+1|0}}while(0);if(q){B=(d[88656+i>>0]|0)+(f+27824)|0;i=l*257&65535;b[B>>1]=i;b[B+8>>1]=i}else a[(d[88656+i>>0]|0)+(f+27824)>>0]=l;if(!(c[e+25652>>2]|0)){o=l;h=0;while(1){o=o+-1|0;p=d[j+(c[t+(o<<2)>>2]|0)>>0]|0;if(!(Gu(u,r+(d[201427+h>>0]|0)|0)|0)){l=d[88944+h>>0]|0;m=0-(c[k+(p<<2)>>2]|0)|0;B=c[u>>2]|0;h=B<<1;c[u>>2]=h;if(!(B&32767)){CM(u);h=c[u>>2]|0}B=c[s>>2]|0;n=B<<17;f=h-n|0;i=f>>31;h=(i&n)+f|0;c[u>>2]=h;n=l;m=(f>>>31|32)+(i^m)|0;l=B}else{l=r+(d[88960+h>>0]|0)|0;n=d[88952+h>>0]|0;h=2;while(1){if(h>>>0>=15){v=46;break}if(!(Gu(u,l)|0))break;h=h+1|0}if((v|0)==46){v=0;h=0;while(1)if(h>>>0<23&(cI(u)|0)!=0)h=h+1|0;else break;l=1;while(1){if(!h)break;h=h+-1|0;l=(cI(u)|0)+(l<<1)|0}h=l+14|0}B=c[u>>2]|0;l=B<<1;c[u>>2]=l;if(!(B&32767)){CM(u);l=c[u>>2]|0}B=c[s>>2]|0;i=B<<17;l=l-i|0;m=l>>31;l=(m&i)+l|0;c[u>>2]=l;m=(H((m^0-h)-m|0,c[k+(p<<2)>>2]|0)|0)+32|0;h=l;l=B}b[g+(p<<1)>>1]=m>>>6;if(!o)break;else h=n}}else{h=0;o=l;while(1){o=o+-1|0;p=d[j+(c[t+(o<<2)>>2]|0)>>0]|0;if(!(Gu(u,r+(d[201427+h>>0]|0)|0)|0)){l=d[88944+h>>0]|0;m=0-(c[k+(p<<2)>>2]|0)|0;B=c[u>>2]|0;h=B<<1;c[u>>2]=h;if(!(B&32767)){CM(u);h=c[u>>2]|0}B=c[s>>2]|0;n=B<<17;f=h-n|0;i=f>>31;h=(i&n)+f|0;c[u>>2]=h;n=l;m=(f>>>31|32)+(i^m)|0;l=B}else{l=r+(d[88960+h>>0]|0)|0;n=d[88952+h>>0]|0;h=2;while(1){if(h>>>0>=15){v=28;break}if(!(Gu(u,l)|0))break;h=h+1|0}if((v|0)==28){v=0;h=0;while(1)if(h>>>0<23&(cI(u)|0)!=0)h=h+1|0;else break;l=1;while(1){if(!h)break;h=h+-1|0;l=(cI(u)|0)+(l<<1)|0}h=l+14|0}B=c[u>>2]|0;l=B<<1;c[u>>2]=l;if(!(B&32767)){CM(u);l=c[u>>2]|0}B=c[s>>2]|0;i=B<<17;l=l-i|0;m=l>>31;l=(m&i)+l|0;c[u>>2]=l;m=(H((m^0-h)-m|0,c[k+(p<<2)>>2]|0)|0)+32|0;h=l;l=B}c[g+(p<<2)>>2]=m>>6;if(!o)break;else h=n}}c[w>>2]=l;c[x>>2]=h;c[y>>2]=c[z>>2];Mb=A;return}function Jd(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;k=h>>1;A=g*13|0;i=c;j=0;d=d+(0-(h&-2)<<1)|0;while(1){if((j|0)==13)break;x=d+2|0;y=d+-2|0;w=d+4|0;u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=d+6|0;b[i>>1]=(((e[x>>1]|0)+(e[d>>1]|0)|0)*20|0)+55306+(e[d+-4>>1]|0)+u+(e[v>>1]|0);u=H((e[v>>1]|0)+(e[d>>1]|0)|0,-5)|0;t=d+8|0;b[i+2>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+55306+(e[y>>1]|0)+u+(e[t>>1]|0);u=H((e[t>>1]|0)+(e[x>>1]|0)|0,-5)|0;y=d+10|0;b[i+4>>1]=(((e[v>>1]|0)+(e[w>>1]|0)|0)*20|0)+55306+(e[d>>1]|0)+u+(e[y>>1]|0);u=H((e[y>>1]|0)+(e[w>>1]|0)|0,-5)|0;z=d+12|0;b[i+6>>1]=(((e[t>>1]|0)+(e[v>>1]|0)|0)*20|0)+55306+(e[x>>1]|0)+u+(e[z>>1]|0);u=H((e[z>>1]|0)+(e[v>>1]|0)|0,-5)|0;x=d+14|0;b[i+8>>1]=(((e[y>>1]|0)+(e[t>>1]|0)|0)*20|0)+55306+(e[w>>1]|0)+u+(e[x>>1]|0);u=H((e[x>>1]|0)+(e[t>>1]|0)|0,-5)|0;w=d+16|0;b[i+10>>1]=(((e[z>>1]|0)+(e[y>>1]|0)|0)*20|0)+55306+(e[v>>1]|0)+u+(e[w>>1]|0);u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=d+18|0;b[i+12>>1]=(((e[x>>1]|0)+(e[z>>1]|0)|0)*20|0)+55306+(e[t>>1]|0)+u+(e[v>>1]|0);z=H((e[v>>1]|0)+(e[z>>1]|0)|0,-5)|0;b[i+14>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+55306+(e[y>>1]|0)+z+(e[d+20>>1]|0);i=i+(g<<1)|0;j=j+1|0;d=d+(k<<1)|0}o=f>>1;p=H(g,-2)|0;q=0-g|0;r=g<<1;s=g*3|0;t=g<<2;u=g*5|0;v=g*6|0;w=g*7|0;x=g<<3;y=g*9|0;z=g*10|0;j=f&-2;k=o*3|0;f=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;i=a;d=c+(A<<1)+((H(g,-11)|0)<<1)|0;h=0;while(1){if((h|0)==8)break;Q=(b[d+(q<<1)>>1]|0)+10230|0;P=(b[d>>1]|0)+10230|0;N=b[d+(g<<1)>>1]|0;O=N+10230|0;L=b[d+(r<<1)>>1]|0;M=L+10230|0;J=b[d+(s<<1)>>1]|0;K=J+10230|0;G=b[d+(t<<1)>>1]|0;I=G+10230|0;E=b[d+(u<<1)>>1]|0;F=E+10230|0;c=(b[d+(v<<1)>>1]|0)+10230|0;B=(b[d+(w<<1)>>1]|0)+10230|0;C=(b[d+(x<<1)>>1]|0)+10230|0;a=(b[d+(y<<1)>>1]|0)+10230|0;D=b[d+(z<<1)>>1]|0;A=(b[d+(p<<1)>>1]|0)+10742+K+((O+P|0)*20|0)+(H(M+Q|0,-5)|0)>>10;b[i>>1]=((e[i>>1]|0)+1+(A>>>0<1024?A:(A^-2147483648)>>31&1023)|0)>>>1;A=i+(o<<1)|0;G=G+10742|0;Q=G+Q+((M+O|0)*20|0)+(H(K+P|0,-5)|0)>>10;b[A>>1]=((e[A>>1]|0)+1+(Q>>>0<1024?Q:(Q^-2147483648)>>31&1023)|0)>>>1;A=i+(j<<1)|0;O=E+10742+P+((K+M|0)*20|0)+(H(I+O|0,-5)|0)>>10;b[A>>1]=((O>>>0<1024?O:(O^-2147483648)>>31&1023)+1+(e[A>>1]|0)|0)>>>1;A=i+(k<<1)|0;M=N+10742+c+((I+K|0)*20|0)+(H(F+M|0,-5)|0)>>10;b[A>>1]=((M>>>0<1024?M:(M^-2147483648)>>31&1023)+1+(e[A>>1]|0)|0)>>>1;A=i+(f<<1)|0;K=L+10742+B+((F+I|0)*20|0)+(H(c+K|0,-5)|0)>>10;b[A>>1]=((K>>>0<1024?K:(K^-2147483648)>>31&1023)+1+(e[A>>1]|0)|0)>>>1;A=i+(l<<1)|0;I=J+10742+C+((c+F|0)*20|0)+(H(B+I|0,-5)|0)>>10;b[A>>1]=((I>>>0<1024?I:(I^-2147483648)>>31&1023)+1+(e[A>>1]|0)|0)>>>1;A=i+(m<<1)|0;F=G+a+((B+c|0)*20|0)+(H(C+F|0,-5)|0)>>10;b[A>>1]=((F>>>0<1024?F:(F^-2147483648)>>31&1023)+1+(e[A>>1]|0)|0)>>>1;A=i+(n<<1)|0;c=E+20972+D+((C+B|0)*20|0)+(H(a+c|0,-5)|0)>>10;b[A>>1]=((c>>>0<1024?c:(c^-2147483648)>>31&1023)+1+(e[A>>1]|0)|0)>>>1;i=i+2|0;d=d+2|0;h=h+1|0}return}function Kd(a,e,g){a=a|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0,F=0,G=0,H=0;h=(uL(e)|0)<<1;F=g+148704|0;c[F>>2]=h;h=Hz(e,3)|0;k=g+148708|0;c[k>>2]=h;E=0;j=0;while(1){if((j|0)>(h|0))break;h=E+1|0;B=(uL(e)|0)!=0&1;C=g+148712+(j<<2)|0;c[C>>2]=B;B=Hz(e,4)|0;c[g+148744+(j<<2)>>2]=B;if((c[C>>2]|0)==1){i=Hz(e,2)|0;h=(i|0)==3?E+2|0:h}else i=2;c[g+148776+(j<<2)>>2]=i;E=h;j=j+1|0;h=c[k>>2]|0}C=g+288|0;i=(uL(e)|0)!=0;h=c[F>>2]|0;c[F>>2]=h+((h>>>0>1|i)&1);i=Hz(e,1)|0;h=43552+((Hz(e,2)|0)<<2)|0;D=+f[h>>2];h=mh(a,C,e,0)|0;a:do if(!h){z=g+304|0;A=e+8|0;B=e+16|0;x=(i|0)==0;y=(x^1)&1;v=0;while(1){if((v|0)>=(E|0)){h=0;break a}if(!v){l=1.0;i=0;h=1}else{if((c[F>>2]|0)!=3){h=uL(e)|0;if(!h){i=0;h=0}else G=12}else{h=1;G=12}if((G|0)==12){G=0;n=c[275844]|0;i=c[A>>2]|0;o=c[B>>2]|0;a=c[e>>2]|0;u=a+(i>>>3)|0;u=(kS(d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24|0)|0)<<(i&7)>>>25;j=b[n+(u<<2)>>1]|0;u=b[n+(u<<2)+2>>1]|0;m=u<<16>>16;if(u<<16>>16<0){i=i+7|0;i=o>>>0>i>>>0?i:o;u=a+(i>>>3)|0;u=((kS(d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24|0)|0)<<(i&7)>>>(m+32|0))+j|0;j=b[n+(u<<2)>>1]|0;u=b[n+(u<<2)+2>>1]|0;k=u<<16>>16;if(u<<16>>16<0){i=i-m|0;i=o>>>0>i>>>0?i:o;u=a+(i>>>3)|0;j=((kS(d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24|0)|0)<<(i&7)>>>(k+32|0))+j|0;k=b[n+(j<<2)+2>>1]|0;j=b[n+(j<<2)>>1]|0}}else k=m;i=k+i|0;c[A>>2]=o>>>0>i>>>0?i:o;i=j+-60|0}l=+w(+D,+(+(0-i|0)))}b:do if((c[F>>2]|0)==3)f[g+148808+(v*480|0)>>2]=l;else{u=(h|0)==0;t=c[z>>2]|0;h=0;s=0;while(1){if((s|0)>=(t|0))break b;r=d[C>>0]|0;q=0;p=h;while(1){if(q>>>0>=r>>>0)break;if(c[g+6160+(p<<2)>>2]|0){if(u){n=c[275844]|0;h=c[A>>2]|0;o=c[B>>2]|0;a=c[e>>2]|0;k=a+(h>>>3)|0;k=(kS(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24|0)|0)<<(h&7)>>>25;j=b[n+(k<<2)>>1]|0;k=b[n+(k<<2)+2>>1]|0;m=k<<16>>16;if(k<<16>>16<0){h=h+7|0;h=o>>>0>h>>>0?h:o;H=a+(h>>>3)|0;H=((kS(d[H>>0]|d[H+1>>0]<<8|d[H+2>>0]<<16|d[H+3>>0]<<24|0)|0)<<(h&7)>>>(m+32|0))+j|0;j=b[n+(H<<2)>>1]|0;H=b[n+(H<<2)+2>>1]|0;k=H<<16>>16;if(H<<16>>16<0){h=h-m|0;h=o>>>0>h>>>0?h:o;H=a+(h>>>3)|0;j=((kS(d[H>>0]|d[H+1>>0]<<8|d[H+2>>0]<<16|d[H+3>>0]<<24|0)|0)<<(h&7)>>>(k+32|0))+j|0;k=b[n+(j<<2)+2>>1]|0;j=b[n+(j<<2)>>1]|0}}else k=m;h=k+h|0;c[A>>2]=o>>>0>h>>>0?h:o;h=j+-60|0;if(h){i=h+i|0;l=+w(+D,+(+(0-(i>>y)|0)));l=l*(x?1.0:+(1-(i<<1&2)|0))}}f[g+148808+(v*480|0)+(p<<2)>>2]=l}q=q+1|0;p=p+1|0}h=p;s=s+1|0}}while(0);v=v+1|0}}while(0);return h|0}function Ld(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,J=0,K=0;K=Mb;Mb=Mb+1072|0;J=K+1048|0;H=K+1040|0;F=K+768|0;j=K+1056|0;k=K+1052|0;D=K+1032|0;E=K+1024|0;A=K+256|0;B=K;c[F>>2]=j;c[F+4>>2]=k;c[F+8>>2]=K+1060;if(!((kN(f,203741,F)|0)==2?(i=c[j>>2]|0,i=Nd(b,e,h,1.0,c[k>>2]|0,i,((i|0)<0)<<31>>31)|0,(i|0)>-1):0)){s=e+12|0;v=e+44|0;w=e+16|0;x=e+32|0;y=e+24|0;z=e+16|0;i=0;while(1){r=E;c[r>>2]=1;c[r+4>>2]=0;if(!(c[s>>2]|0)){j=a[f>>0]|0;switch(j<<24>>24){case 45:case 43:{l=j<<24>>24;j=f+1|0;break}default:{l=0;j=f}}f=0;a:while(1){if(f>>>0>=255)break;k=a[j+f>>0]|0;switch(k<<24>>24){case 45:case 43:case 0:break a;default:{}}a[F+f>>0]=k;f=f+1|0}a[F+f>>0]=0;r=f}else{l=0;r=0;j=f}q=(r|0)!=0;o=q?F:j;k=UP(d,o,c[v>>2]|0,0,0)|0;if((k|0)!=0?(c[k+12>>2]|0)==128:0){p=k+16|0;g[D>>3]=+((c[p>>2]|0)>>>0)+4294967296.0*+(c[p+4>>2]|0);p=33}else p=15;do if((p|0)==15){f=c[v>>2]|0;do if(f){n=0;k=0;b:while(1){do{k=bC(d,k)|0;if(!k){p=26;break b}}while(!(((c[k+12>>2]|0)==128?(C=c[k+44>>2]|0,C|0):0)?(Ry(C,f)|0)==0:0));if((n+6|0)>>>0>63){p=24;break}c[B+(n<<2)>>2]=c[k>>2];p=k+16|0;g[A+(n<<3)>>3]=+((c[p>>2]|0)>>>0)+4294967296.0*+(c[p+4>>2]|0);n=n+1|0}if((p|0)==24){p=0;c[H>>2]=f;Xw(b,16,203755,H);i=-1163346256;break}else if((p|0)==26){f=n;k=B+(n<<2)|0;p=27;break}}else{f=0;k=B;p=27}while(0);if((p|0)==27){p=0;c[k>>2]=203792;switch(c[s>>2]|0){case 1:case 0:case 128:case 9:case 2:{n=z;m=+((c[n>>2]|0)>>>0)+4294967296.0*+(c[n+4>>2]|0);break}default:m=+g[w>>3]}k=f+1|0;g[A+(f<<3)>>3]=m;c[B+(k<<2)>>2]=208598;n=f+2|0;g[A+(k<<3)>>3]=+g[x>>3];c[B+(n<<2)>>2]=208602;k=f+3|0;g[A+(n<<3)>>3]=+g[y>>3];c[B+(k<<2)>>2]=212780;n=f+4|0;g[A+(k<<3)>>3]=0.0;c[B+(n<<2)>>2]=203800;k=f+5|0;g[A+(n<<3)>>3]=-1.0;c[B+(k<<2)>>2]=0;g[A+(k<<3)>>3]=0.0;k=Ks(D,o,B,A,0,0,0,0,0,0,b)|0;if((k|0)>=0){p=33;break}c[J>>2]=j;Xw(b,16,203804,J);i=k}f=1}while(0);if((p|0)==33){c:do if(!(c[s>>2]|0)){zg(e,h,0,0,E)|0;switch(l|0){case 43:{p=E;m=+g[D>>3];m=+((c[p>>2]|~~m>>>0)>>>0)+4294967296.0*+(c[p+4>>2]|(+u(m)>=1.0?(m>0.0?~~+I(+t(m/4294967296.0),4294967295.0)>>>0:~~+G((m-+(~~m>>>0))/4294967296.0)>>>0):0)|0);g[D>>3]=m;break c}case 45:{p=E;m=+g[D>>3];m=+((c[p>>2]&~(~~m>>>0))>>>0)+4294967296.0*+(c[p+4>>2]&~(+u(m)>=1.0?(m>0.0?~~+I(+t(m/4294967296.0),4294967295.0)>>>0:~~+G((m-+(~~m>>>0))/4294967296.0)>>>0):0)|0);g[D>>3]=m;break c}default:break c}}while(0);k=Nd(b,e,h,+g[D>>3],1,1,0)|0;if((k|0)>=0){j=j+r|0;if(q){r=(a[j>>0]|0)==0;f=r&1;i=r?0:i}else{f=1;i=0}}else{f=1;i=k}}if(!f)f=j;else break}}Mb=K;return i|0}function Md(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;r=f>>1;m=(c|0)!=0;c=0-r|0;if(m){g=e[a+(c<<1)>>1]|0;c=e[a+(~r<<1)>>1]|0}else{c=e[a+(c<<1)>>1]|0;g=c}j=e[a+(1-r<<1)>>1]|0;k=j+2|0;q=(k+c+(g<<1)|0)>>>2;l=e[a+(2-r<<1)>>1]|0;i=g+2|0;j=(i+(j<<1)+l|0)>>>2;n=e[a+(3-r<<1)>>1]|0;k=(k+(l<<1)+n|0)>>>2;o=e[a+(4-r<<1)>>1]|0;l=(l+2+(n<<1)+o|0)>>>2;p=e[a+(5-r<<1)>>1]|0;n=(n+2+(o<<1)+p|0)>>>2;g=e[a+(6-r<<1)>>1]|0;o=(o+2+(p<<1)+g|0)>>>2;h=e[a+(7-r<<1)>>1]|0;p=(p+2+(g<<1)+h|0)>>>2;if(!d)c=h;else c=e[a+(8-r<<1)>>1]|0;d=(g+2+(h<<1)+c|0)>>>2;if(m){h=e[a+(~r<<1)>>1]|0;c=e[a+-2>>1]|0;g=h}else{h=e[a+-2>>1]|0;c=h;g=e[a+(~r<<1)>>1]|0}y=e[a+(r+-1<<1)>>1]|0;x=y+2|0;w=(x+h+(c<<1)|0)>>>2;m=f&-2;A=e[a+(m+-1<<1)>>1]|0;y=(c+2+(y<<1)+A|0)>>>2;h=r*3|0;z=e[a+(h+-1<<1)>>1]|0;x=(x+(A<<1)+z|0)>>>2;s=r<<2;C=e[a+(s+-1<<1)>>1]|0;A=(A+2+(z<<1)+C|0)>>>2;t=r*5|0;D=e[a+(t+-1<<1)>>1]|0;z=(z+2+(C<<1)+D|0)>>>2;u=r*6|0;B=e[a+(u+-1<<1)>>1]|0;C=(C+2+(D<<1)+B|0)>>>2;v=r*7|0;B=(D+2+(B<<1)+(e[a+(v+-1<<1)>>1]|0)|0)>>>2;c=(i+c+(g<<1)|0)>>>2;b[a+(u<<1)>>1]=(A+2+(z<<1)+C|0)>>>2;b[a+(v<<1)>>1]=(z+2+(C<<1)+B|0)>>>2;i=y+2|0;g=(i+(x<<1)+A|0)>>>2&65535;b[a+((u|1)<<1)>>1]=g;b[a+(s<<1)>>1]=g;g=(x+2+(A<<1)+z|0)>>>2&65535;b[a+(v+1<<1)>>1]=g;b[a+(t<<1)>>1]=g;i=(i+(w<<1)+c|0)>>>2&65535;b[a+(u+2<<1)>>1]=i;b[a+((s|1)<<1)>>1]=i;b[a+(m<<1)>>1]=i;i=(w+2+(y<<1)+x|0)>>>2&65535;b[a+(v+2<<1)>>1]=i;b[a+(t+1<<1)>>1]=i;b[a+(h<<1)>>1]=i;i=q+2|0;g=(i+w+(c<<1)|0)>>>2&65535;b[a+(v+3<<1)>>1]=g;b[a+(t+2<<1)>>1]=g;b[a+(h+1<<1)>>1]=g;b[a+(r<<1)>>1]=g;g=q+1|0;w=(g+c|0)>>>1&65535;b[a+(u+3<<1)>>1]=w;b[a+((s|2)<<1)>>1]=w;b[a+((f|1)<<1)>>1]=w;b[a>>1]=w;f=j+2|0;q=(f+(q<<1)+c|0)>>>2&65535;b[a+(v+4<<1)>>1]=q;b[a+(t+3<<1)>>1]=q;b[a+(h+2<<1)>>1]=q;b[a+(r+1<<1)>>1]=q;q=(g+j|0)>>>1&65535;b[a+(u+4<<1)>>1]=q;b[a+((s|3)<<1)>>1]=q;b[a+(m+2<<1)>>1]=q;b[a+2>>1]=q;q=(i+(j<<1)+k|0)>>>2&65535;b[a+(v+5<<1)>>1]=q;b[a+(t+4<<1)>>1]=q;b[a+(h+3<<1)>>1]=q;b[a+(r+2<<1)>>1]=q;q=(j+1+k|0)>>>1&65535;b[a+(u+5<<1)>>1]=q;b[a+(s+4<<1)>>1]=q;b[a+(m+3<<1)>>1]=q;b[a+4>>1]=q;f=(f+(k<<1)+l|0)>>>2&65535;b[a+(v+6<<1)>>1]=f;b[a+(t+5<<1)>>1]=f;b[a+(h+4<<1)>>1]=f;b[a+(r+3<<1)>>1]=f;f=(k+1+l|0)>>>1&65535;b[a+(u+6<<1)>>1]=f;b[a+(s+5<<1)>>1]=f;b[a+(m+4<<1)>>1]=f;b[a+6>>1]=f;f=(k+2+(l<<1)+n|0)>>>2&65535;b[a+(v+7<<1)>>1]=f;b[a+(t+6<<1)>>1]=f;b[a+(h+5<<1)>>1]=f;b[a+(r+4<<1)>>1]=f;f=(l+1+n|0)>>>1&65535;b[a+(u+7<<1)>>1]=f;b[a+(s+6<<1)>>1]=f;b[a+(m+5<<1)>>1]=f;b[a+8>>1]=f;f=(l+2+(n<<1)+o|0)>>>2&65535;b[a+(t+7<<1)>>1]=f;b[a+(h+6<<1)>>1]=f;b[a+(r+5<<1)>>1]=f;f=(n+1+o|0)>>>1&65535;b[a+(s+7<<1)>>1]=f;b[a+(m+6<<1)>>1]=f;b[a+10>>1]=f;f=(n+2+(o<<1)+p|0)>>>2&65535;b[a+(h+7<<1)>>1]=f;b[a+(r+6<<1)>>1]=f;f=(o+1+p|0)>>>1&65535;b[a+(m+7<<1)>>1]=f;b[a+12>>1]=f;b[a+(r+7<<1)>>1]=(o+2+(p<<1)+d|0)>>>2;b[a+14>>1]=(p+1+d|0)>>>1;return}function Nd(a,b,d,e,h,i,j){a=a|0;b=b|0;d=d|0;e=+e;h=h|0;i=i|0;j=j|0;var k=0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,t=0,u=0;u=Mb;Mb=Mb+64|0;k=u+40|0;q=u+8|0;o=u;p=c[b+12>>2]|0;a:do if(!p){l=+(h|0);m=(+(i>>>0)+4294967296.0*+(j|0))*e/l;if(!(m<-1.5|m>4294967295.5)?(q=OM(m*256.0)|0,M()|0,(q&255|0)==0&0==0):0){t=14;break}j=c[b>>2]|0;g[k>>3]=m;c[k+8>>2]=j;Xw(a,16,203572,k);k=-34}else{if(!h){m=e!=0.0&((i|0)!=0|(j|0)!=0)?s:r;l=+g[b+32>>3]}else{n=+g[b+32>>3];l=+(h|0);m=(+(i>>>0)+4294967296.0*+(j|0))*e;if(!(n*l<m)?!(+g[b+24>>3]*l>m):0){b:do if((p|0)<1112493900)switch(p|0){case 1:{t=14;break a}case 2:{t=15;break b}case 6:{t=25;break b}case 9:{l=e/l;if((i|0)==1&(j|0)==0&l==18446744073709551616.0){k=d;c[k>>2]=-1;c[k+4>>2]=-1;k=0;break a}if(l>9223372036854775808.0){k=OM(l+-9223372036854775808.0)|0;i=XJ(k|0,(M()|0)^-2147483648|0,i|0,j|0)|0;j=M()|0;k=d;c[k>>2]=i;c[k+4>>2]=j;k=0;break a}else{k=OM(l)|0;i=XJ(k|0,M()|0,i|0,j|0)|0;j=M()|0;k=d;c[k>>2]=i;c[k+4>>2]=j;k=0;break a}}case 4:{f[d>>2]=m/l;k=0;break a}case 3:{g[d>>3]=m/l;k=0;break a}default:{k=-22;break a}}else{if((p|0)<1346784596){if((p|0)<1128811585)switch(p|0){case 1112493900:{t=14;break a}default:{k=-22;break a}}if((p|0)<1146442272)switch(p|0){case 1128811585:{t=15;break b}default:{k=-22;break a}}else switch(p|0){case 1146442272:{t=15;break b}default:{k=-22;break a}}}if((p|0)<1397116244){switch(p|0){case 1346784596:break;default:{k=-22;break a}}k=OM(e/l)|0;k=XJ(k|0,M()|0,i|0,j|0)|0;M()|0;c[d>>2]=k;k=0;break a}if((p|0)>=1448231252)switch(p|0){case 1448231252:{t=25;break b}default:{k=-22;break a}}switch(p|0){case 1397116244:break;default:{k=-22;break a}}k=OM(e/l)|0;k=XJ(k|0,M()|0,i|0,j|0)|0;M()|0;c[d>>2]=k;k=0;break a}while(0);if((t|0)==15){l=e/l;if((i|0)==1&(j|0)==0&l==9223372036854775808.0){k=d;c[k>>2]=-1;c[k+4>>2]=2147483647;k=0;break}else{k=OM(l)|0;i=XJ(k|0,M()|0,i|0,j|0)|0;j=M()|0;k=d;c[k>>2]=i;c[k+4>>2]=j;k=0;break}}else if((t|0)==25)if(+(~~e|0)==e){c[d>>2]=~~m;c[d+4>>2]=h;k=0;break}else{Fl(o,m/l,16777216);i=o;j=c[i+4>>2]|0;k=d;c[k>>2]=c[i>>2];c[k+4>>2]=j;k=0;break}}m=m/l;l=n}k=c[b>>2]|0;e=+g[b+24>>3];g[q>>3]=m;c[q+8>>2]=k;g[q+16>>3]=e;g[q+24>>3]=l;Xw(a,16,203520,q);k=-34}while(0);if((t|0)==14){k=OM(e/l)|0;k=XJ(k|0,M()|0,i|0,j|0)|0;M()|0;c[d>>2]=k;k=0}Mb=u;return k|0}function Od(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;p=f>>1;g=(c|0)!=0;d=0-p|0;if(g){c=e[a+(d<<1)>>1]|0;d=e[a+(~p<<1)>>1]|0}else{d=e[a+(d<<1)>>1]|0;c=d}i=e[a+(1-p<<1)>>1]|0;j=i+2|0;o=(j+d+(c<<1)|0)>>>2;k=e[a+(2-p<<1)>>1]|0;h=c+2|0;i=(h+(i<<1)+k|0)>>>2;l=e[a+(3-p<<1)>>1]|0;j=(j+(k<<1)+l|0)>>>2;m=e[a+(4-p<<1)>>1]|0;k=(k+2+(l<<1)+m|0)>>>2;c=e[a+(5-p<<1)>>1]|0;l=(l+2+(m<<1)+c|0)>>>2;n=e[a+(6-p<<1)>>1]|0;m=(m+2+(c<<1)+n|0)>>>2;n=(c+2+(n<<1)+(e[a+(7-p<<1)>>1]|0)|0)>>>2;if(g){g=e[a+(~p<<1)>>1]|0;d=e[a+-2>>1]|0;c=g}else{g=e[a+-2>>1]|0;d=g;c=e[a+(~p<<1)>>1]|0}t=e[a+(p+-1<<1)>>1]|0;v=t+2|0;r=(v+g+(d<<1)|0)>>>2;g=f&-2;x=e[a+(g+-1<<1)>>1]|0;t=(d+2+(t<<1)+x|0)>>>2;q=p*3|0;z=e[a+(q+-1<<1)>>1]|0;v=(v+(x<<1)+z|0)>>>2;s=p<<2;A=e[a+(s+-1<<1)>>1]|0;x=(x+2+(z<<1)+A|0)>>>2;u=p*5|0;B=e[a+(u+-1<<1)>>1]|0;z=(z+2+(A<<1)+B|0)>>>2;w=p*6|0;D=e[a+(w+-1<<1)>>1]|0;A=(A+2+(B<<1)+D|0)>>>2;y=p*7|0;C=e[a+(y+-1<<1)>>1]|0;B=(B+2+(D<<1)+C|0)>>>2;C=(D+2+(C*3|0)|0)>>>2;c=(h+d+(c<<1)|0)>>>2;b[a+(y<<1)>>1]=(B+1+C|0)>>>1;b[a+(y+1<<1)>>1]=(A+2+C+(B<<1)|0)>>>2;d=(A+1+B|0)>>>1&65535;b[a+(y+2<<1)>>1]=d;b[a+(w<<1)>>1]=d;d=(z+2+(A<<1)+B|0)>>>2&65535;b[a+(y+3<<1)>>1]=d;b[a+((w|1)<<1)>>1]=d;d=(z+1+A|0)>>>1&65535;b[a+(y+4<<1)>>1]=d;b[a+(w+2<<1)>>1]=d;b[a+(u<<1)>>1]=d;d=(x+2+(z<<1)+A|0)>>>2&65535;b[a+(y+5<<1)>>1]=d;b[a+(w+3<<1)>>1]=d;b[a+(u+1<<1)>>1]=d;d=(x+1+z|0)>>>1&65535;b[a+(y+6<<1)>>1]=d;b[a+(w+4<<1)>>1]=d;b[a+(u+2<<1)>>1]=d;b[a+(s<<1)>>1]=d;d=(v+2+(x<<1)+z|0)>>>2&65535;b[a+(y+7<<1)>>1]=d;b[a+(w+5<<1)>>1]=d;b[a+(u+3<<1)>>1]=d;b[a+((s|1)<<1)>>1]=d;d=(v+1+x|0)>>>1&65535;b[a+(w+6<<1)>>1]=d;b[a+(u+4<<1)>>1]=d;b[a+((s|2)<<1)>>1]=d;b[a+(q<<1)>>1]=d;d=t+2|0;h=(d+(v<<1)+x|0)>>>2&65535;b[a+(w+7<<1)>>1]=h;b[a+(u+5<<1)>>1]=h;b[a+((s|3)<<1)>>1]=h;b[a+(q+1<<1)>>1]=h;h=(t+1+v|0)>>>1&65535;b[a+(u+6<<1)>>1]=h;b[a+(s+4<<1)>>1]=h;b[a+(q+2<<1)>>1]=h;b[a+(g<<1)>>1]=h;h=(r+2+(t<<1)+v|0)>>>2&65535;b[a+(u+7<<1)>>1]=h;b[a+(s+5<<1)>>1]=h;b[a+(q+3<<1)>>1]=h;b[a+((f|1)<<1)>>1]=h;h=r+1|0;f=(h+t|0)>>>1&65535;b[a+(s+6<<1)>>1]=f;b[a+(q+4<<1)>>1]=f;b[a+(g+2<<1)>>1]=f;b[a+(p<<1)>>1]=f;f=(d+(r<<1)+c|0)>>>2&65535;b[a+(s+7<<1)>>1]=f;b[a+(q+5<<1)>>1]=f;b[a+(g+3<<1)>>1]=f;b[a+(p+1<<1)>>1]=f;h=(h+c|0)>>>1&65535;b[a+(q+6<<1)>>1]=h;b[a+(g+4<<1)>>1]=h;b[a+(p+2<<1)>>1]=h;b[a>>1]=h;h=o+2|0;f=(h+r+(c<<1)|0)>>>2&65535;b[a+(q+7<<1)>>1]=f;b[a+(g+5<<1)>>1]=f;b[a+(p+3<<1)>>1]=f;b[a+2>>1]=f;f=i+2|0;o=(f+(o<<1)+c|0)>>>2&65535;b[a+(g+6<<1)>>1]=o;b[a+(p+4<<1)>>1]=o;b[a+4>>1]=o;o=(h+(i<<1)+j|0)>>>2&65535;b[a+(g+7<<1)>>1]=o;b[a+(p+5<<1)>>1]=o;b[a+6>>1]=o;f=(f+(j<<1)+k|0)>>>2&65535;b[a+(p+6<<1)>>1]=f;b[a+8>>1]=f;f=(j+2+(k<<1)+l|0)>>>2&65535;b[a+(p+7<<1)>>1]=f;b[a+10>>1]=f;b[a+12>>1]=(k+2+(l<<1)+m|0)>>>2;b[a+14>>1]=(l+2+(m<<1)+n|0)>>>2;return}function Pd(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0;k=h>>1;A=g*13|0;i=c;j=0;d=d+(0-(h&-2)<<1)|0;while(1){if((j|0)==13)break;x=d+2|0;y=d+-2|0;w=d+4|0;u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=d+6|0;b[i>>1]=(((e[x>>1]|0)+(e[d>>1]|0)|0)*20|0)+(e[d+-4>>1]|0)+u+(e[v>>1]|0);u=H((e[v>>1]|0)+(e[d>>1]|0)|0,-5)|0;t=d+8|0;b[i+2>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+(e[y>>1]|0)+u+(e[t>>1]|0);u=H((e[t>>1]|0)+(e[x>>1]|0)|0,-5)|0;y=d+10|0;b[i+4>>1]=(((e[v>>1]|0)+(e[w>>1]|0)|0)*20|0)+(e[d>>1]|0)+u+(e[y>>1]|0);u=H((e[y>>1]|0)+(e[w>>1]|0)|0,-5)|0;z=d+12|0;b[i+6>>1]=(((e[t>>1]|0)+(e[v>>1]|0)|0)*20|0)+(e[x>>1]|0)+u+(e[z>>1]|0);u=H((e[z>>1]|0)+(e[v>>1]|0)|0,-5)|0;x=d+14|0;b[i+8>>1]=(((e[y>>1]|0)+(e[t>>1]|0)|0)*20|0)+(e[w>>1]|0)+u+(e[x>>1]|0);u=H((e[x>>1]|0)+(e[t>>1]|0)|0,-5)|0;w=d+16|0;b[i+10>>1]=(((e[z>>1]|0)+(e[y>>1]|0)|0)*20|0)+(e[v>>1]|0)+u+(e[w>>1]|0);u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=d+18|0;b[i+12>>1]=(((e[x>>1]|0)+(e[z>>1]|0)|0)*20|0)+(e[t>>1]|0)+u+(e[v>>1]|0);z=H((e[v>>1]|0)+(e[z>>1]|0)|0,-5)|0;b[i+14>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+(e[y>>1]|0)+z+(e[d+20>>1]|0);i=i+(g<<1)|0;j=j+1|0;d=d+(k<<1)|0}o=f>>1;p=H(g,-2)|0;q=0-g|0;r=g<<1;s=g*3|0;t=g<<2;u=g*5|0;v=g*6|0;w=g*7|0;x=g<<3;y=g*9|0;z=g*10|0;j=f&-2;k=o*3|0;f=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;i=a;d=c+(A<<1)+((H(g,-11)|0)<<1)|0;h=0;while(1){if((h|0)==8)break;E=b[d+(q<<1)>>1]|0;N=b[d>>1]|0;M=b[d+(g<<1)>>1]|0;L=b[d+(r<<1)>>1]|0;K=b[d+(s<<1)>>1]|0;I=b[d+(t<<1)>>1]|0;F=b[d+(u<<1)>>1]|0;c=b[d+(v<<1)>>1]|0;B=b[d+(w<<1)>>1]|0;C=b[d+(x<<1)>>1]|0;a=b[d+(y<<1)>>1]|0;D=b[d+(z<<1)>>1]|0;J=K+512|0;A=J+(b[d+(p<<1)>>1]|0)+((M+N|0)*20|0)+(H(L+E|0,-5)|0)>>10;b[i>>1]=((e[i>>1]|0)+1+(A>>>0<512?A:(A^-2147483648)>>31&511)|0)>>>1;A=i+(o<<1)|0;G=I+512|0;E=G+E+((L+M|0)*20|0)+(H(K+N|0,-5)|0)>>10;b[A>>1]=((E>>>0<512?E:(E^-2147483648)>>31&511)+1+(e[A>>1]|0)|0)>>>1;A=i+(j<<1)|0;E=F+512|0;N=E+N+((K+L|0)*20|0)+(H(I+M|0,-5)|0)>>10;b[A>>1]=((N>>>0<512?N:(N^-2147483648)>>31&511)+1+(e[A>>1]|0)|0)>>>1;A=i+(k<<1)|0;M=M+512+c+((I+K|0)*20|0)+(H(F+L|0,-5)|0)>>10;b[A>>1]=((M>>>0<512?M:(M^-2147483648)>>31&511)+1+(e[A>>1]|0)|0)>>>1;A=i+(f<<1)|0;K=L+512+B+((F+I|0)*20|0)+(H(c+K|0,-5)|0)>>10;b[A>>1]=((K>>>0<512?K:(K^-2147483648)>>31&511)+1+(e[A>>1]|0)|0)>>>1;A=i+(l<<1)|0;I=J+C+((c+F|0)*20|0)+(H(B+I|0,-5)|0)>>10;b[A>>1]=((I>>>0<512?I:(I^-2147483648)>>31&511)+1+(e[A>>1]|0)|0)>>>1;A=i+(m<<1)|0;F=G+a+((B+c|0)*20|0)+(H(C+F|0,-5)|0)>>10;b[A>>1]=((F>>>0<512?F:(F^-2147483648)>>31&511)+1+(e[A>>1]|0)|0)>>>1;A=i+(n<<1)|0;c=E+D+((C+B|0)*20|0)+(H(a+c|0,-5)|0)>>10;b[A>>1]=((c>>>0<512?c:(c^-2147483648)>>31&511)+1+(e[A>>1]|0)|0)>>>1;i=i+2|0;d=d+2|0;h=h+1|0}return}function Qd(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;t=f>>1;m=(c|0)!=0;c=0-t|0;if(m){g=e[a+(c<<1)>>1]|0;c=e[a+(~t<<1)>>1]|0}else{c=e[a+(c<<1)>>1]|0;g=c}j=e[a+(1-t<<1)>>1]|0;k=j+2|0;s=(k+c+(g<<1)|0)>>>2;l=e[a+(2-t<<1)>>1]|0;i=g+2|0;j=(i+(j<<1)+l|0)>>>2;n=e[a+(3-t<<1)>>1]|0;k=(k+(l<<1)+n|0)>>>2;p=e[a+(4-t<<1)>>1]|0;l=(l+2+(n<<1)+p|0)>>>2;r=e[a+(5-t<<1)>>1]|0;n=(n+2+(p<<1)+r|0)>>>2;o=e[a+(6-t<<1)>>1]|0;p=(p+2+(r<<1)+o|0)>>>2;q=e[a+(7-t<<1)>>1]|0;r=(r+2+(o<<1)+q|0)>>>2;if(!d)h=q;else h=e[a+(8-t<<1)>>1]|0;if(m){d=e[a+(~t<<1)>>1]|0;c=e[a+-2>>1]|0;g=d}else{d=e[a+-2>>1]|0;c=d;g=e[a+(~t<<1)>>1]|0}A=e[a+(t+-1<<1)>>1]|0;z=A+2|0;y=(z+d+(c<<1)|0)>>>2;m=f&-2;B=e[a+(m+-1<<1)>>1]|0;A=(c+2+(A<<1)+B|0)>>>2;d=t*3|0;C=e[a+(d+-1<<1)>>1]|0;z=(z+(B<<1)+C|0)>>>2;u=t<<2;D=e[a+(u+-1<<1)>>1]|0;B=(B+2+(C<<1)+D|0)>>>2;v=t*5|0;E=e[a+(v+-1<<1)>>1]|0;C=(C+2+(D<<1)+E|0)>>>2;w=t*6|0;G=e[a+(w+-1<<1)>>1]|0;D=(D+2+(E<<1)+G|0)>>>2;x=t*7|0;F=e[a+(x+-1<<1)>>1]|0;E=(E+2+(G<<1)+F|0)>>>2;g=(i+c+(g<<1)|0)>>>2;b[a+(x<<1)>>1]=(D+2+((G+2+(F*3|0)|0)>>>2)+(E<<1)|0)>>>2;i=(C+2+(D<<1)+E|0)>>>2&65535;b[a+(x+1<<1)>>1]=i;b[a+(w<<1)>>1]=i;i=(B+2+(C<<1)+D|0)>>>2&65535;b[a+(x+2<<1)>>1]=i;b[a+((w|1)<<1)>>1]=i;b[a+(v<<1)>>1]=i;i=(z+2+(B<<1)+C|0)>>>2&65535;b[a+(x+3<<1)>>1]=i;b[a+(w+2<<1)>>1]=i;b[a+(v+1<<1)>>1]=i;b[a+(u<<1)>>1]=i;i=A+2|0;c=(i+(z<<1)+B|0)>>>2&65535;b[a+(x+4<<1)>>1]=c;b[a+(w+3<<1)>>1]=c;b[a+(v+2<<1)>>1]=c;b[a+((u|1)<<1)>>1]=c;b[a+(d<<1)>>1]=c;c=(y+2+(A<<1)+z|0)>>>2&65535;b[a+(x+5<<1)>>1]=c;b[a+(w+4<<1)>>1]=c;b[a+(v+3<<1)>>1]=c;b[a+((u|2)<<1)>>1]=c;b[a+(d+1<<1)>>1]=c;b[a+(m<<1)>>1]=c;i=(i+(y<<1)+g|0)>>>2&65535;b[a+(x+6<<1)>>1]=i;b[a+(w+5<<1)>>1]=i;b[a+(v+4<<1)>>1]=i;b[a+((u|3)<<1)>>1]=i;b[a+(d+2<<1)>>1]=i;b[a+((f|1)<<1)>>1]=i;b[a+(t<<1)>>1]=i;i=s+2|0;f=(i+y+(g<<1)|0)>>>2&65535;b[a+(x+7<<1)>>1]=f;b[a+(w+6<<1)>>1]=f;b[a+(v+5<<1)>>1]=f;b[a+(u+4<<1)>>1]=f;b[a+(d+3<<1)>>1]=f;b[a+(m+2<<1)>>1]=f;b[a+(t+1<<1)>>1]=f;b[a>>1]=f;f=j+2|0;s=(f+(s<<1)+g|0)>>>2&65535;b[a+(w+7<<1)>>1]=s;b[a+(v+6<<1)>>1]=s;b[a+(u+5<<1)>>1]=s;b[a+(d+4<<1)>>1]=s;b[a+(m+3<<1)>>1]=s;b[a+(t+2<<1)>>1]=s;b[a+2>>1]=s;s=(i+(j<<1)+k|0)>>>2&65535;b[a+(v+7<<1)>>1]=s;b[a+(u+6<<1)>>1]=s;b[a+(d+5<<1)>>1]=s;b[a+(m+4<<1)>>1]=s;b[a+(t+3<<1)>>1]=s;b[a+4>>1]=s;f=(f+(k<<1)+l|0)>>>2&65535;b[a+(u+7<<1)>>1]=f;b[a+(d+6<<1)>>1]=f;b[a+(m+5<<1)>>1]=f;b[a+(t+4<<1)>>1]=f;b[a+6>>1]=f;f=(k+2+(l<<1)+n|0)>>>2&65535;b[a+(d+7<<1)>>1]=f;b[a+(m+6<<1)>>1]=f;b[a+(t+5<<1)>>1]=f;b[a+8>>1]=f;f=(l+2+(n<<1)+p|0)>>>2&65535;b[a+(m+7<<1)>>1]=f;b[a+(t+6<<1)>>1]=f;b[a+10>>1]=f;f=(n+2+(p<<1)+r|0)>>>2&65535;b[a+(t+7<<1)>>1]=f;b[a+12>>1]=f;b[a+14>>1]=(p+2+(r<<1)+((o+2+(q<<1)+h|0)>>>2)|0)>>>2;return}function Rd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Mb;Mb=Mb+16|0;f=g;h=(b+-9|0)>>>0<8;c[a+128>>2]=h?1:2;c[a+124>>2]=h?3:4;a:do switch(b|0){case 9:{c[a+84>>2]=5;c[a+88>>2]=6;c[a+92>>2]=7;c[a+96>>2]=8;c[a+100>>2]=37;c[a+104>>2]=38;e=(d|0)<2;c[a+108>>2]=e?39:40;c[a+112>>2]=41;c[a+116>>2]=9;c[a+120>>2]=e?1:2;c[a>>2]=1;c[a+4>>2]=2;c[a+8>>2]=3;c[a+12>>2]=4;c[a+16>>2]=1;c[a+20>>2]=2;c[a+24>>2]=3;c[a+28>>2]=4;c[a+32>>2]=42;c[a+36>>2]=43;c[a+40>>2]=44;c[a+44>>2]=1;c[a+48>>2]=2;c[a+52>>2]=3;c[a+56>>2]=45;c[a+60>>2]=e?46:47;c[a+64>>2]=e?48:49;c[a+68>>2]=4;c[a+72>>2]=e?5:6;e=e?7:8;break}case 10:{c[a+84>>2]=10;c[a+88>>2]=11;c[a+92>>2]=12;c[a+96>>2]=13;c[a+100>>2]=50;c[a+104>>2]=51;e=(d|0)<2;c[a+108>>2]=e?52:53;c[a+112>>2]=54;c[a+116>>2]=14;c[a+120>>2]=e?3:4;c[a>>2]=5;c[a+4>>2]=6;c[a+8>>2]=7;c[a+12>>2]=8;c[a+16>>2]=5;c[a+20>>2]=6;c[a+24>>2]=7;c[a+28>>2]=8;c[a+32>>2]=55;c[a+36>>2]=56;c[a+40>>2]=57;c[a+44>>2]=9;c[a+48>>2]=10;c[a+52>>2]=11;c[a+56>>2]=58;c[a+60>>2]=e?59:60;c[a+64>>2]=e?61:62;c[a+68>>2]=12;c[a+72>>2]=e?13:14;e=e?15:16;break}case 12:{c[a+84>>2]=15;c[a+88>>2]=16;c[a+92>>2]=17;c[a+96>>2]=18;c[a+100>>2]=63;c[a+104>>2]=64;e=(d|0)<2;c[a+108>>2]=e?65:66;c[a+112>>2]=67;c[a+116>>2]=19;c[a+120>>2]=e?5:6;c[a>>2]=9;c[a+4>>2]=10;c[a+8>>2]=11;c[a+12>>2]=12;c[a+16>>2]=9;c[a+20>>2]=10;c[a+24>>2]=11;c[a+28>>2]=12;c[a+32>>2]=68;c[a+36>>2]=69;c[a+40>>2]=70;c[a+44>>2]=17;c[a+48>>2]=18;c[a+52>>2]=19;c[a+56>>2]=71;c[a+60>>2]=e?72:73;c[a+64>>2]=e?74:75;c[a+68>>2]=20;c[a+72>>2]=e?21:22;e=e?23:24;break}case 14:{c[a+84>>2]=20;c[a+88>>2]=21;c[a+92>>2]=22;c[a+96>>2]=23;c[a+100>>2]=76;c[a+104>>2]=77;e=(d|0)<2;c[a+108>>2]=e?78:79;c[a+112>>2]=80;c[a+116>>2]=24;c[a+120>>2]=e?7:8;c[a>>2]=13;c[a+4>>2]=14;c[a+8>>2]=15;c[a+12>>2]=16;c[a+16>>2]=13;c[a+20>>2]=14;c[a+24>>2]=15;c[a+28>>2]=16;c[a+32>>2]=81;c[a+36>>2]=82;c[a+40>>2]=83;c[a+44>>2]=25;c[a+48>>2]=26;c[a+52>>2]=27;c[a+56>>2]=84;c[a+60>>2]=e?85:86;c[a+64>>2]=e?87:88;c[a+68>>2]=28;c[a+72>>2]=e?29:30;e=e?31:32;break}default:if((b|0)<9){c[a+84>>2]=25;c[a+88>>2]=26;c[a+92>>2]=27;c[a+96>>2]=28;c[a+100>>2]=89;c[a+104>>2]=90;e=(d|0)<2;c[a+108>>2]=e?91:92;c[a+112>>2]=93;c[a+116>>2]=29;c[a+120>>2]=e?9:10;c[a>>2]=17;c[a+4>>2]=18;c[a+8>>2]=19;c[a+12>>2]=20;c[a+16>>2]=17;c[a+20>>2]=18;c[a+24>>2]=19;c[a+28>>2]=20;c[a+32>>2]=94;c[a+36>>2]=95;c[a+40>>2]=96;c[a+44>>2]=33;c[a+48>>2]=34;c[a+52>>2]=35;c[a+56>>2]=97;c[a+60>>2]=e?98:99;c[a+64>>2]=e?100:101;c[a+68>>2]=36;c[a+72>>2]=e?37:38;e=e?39:40;break a}else{c[f>>2]=200794;c[f+4>>2]=172071;c[f+8>>2]=150;Xw(0,0,213444,f);ba()}}while(0);c[a+76>>2]=e;c[a+80>>2]=0;c[a+132>>2]=6;Mb=g;return}function Sd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(e|0){case 0:{l=-149;m=24;j=4;break}case 1:{l=-1074;m=53;j=4;break}case 2:{l=-1074;m=53;j=4;break}default:g=0.0}a:do if((j|0)==4){o=b+4|0;n=b+104|0;do{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=fl(b)|0}while((OT(e)|0)!=0);b:do switch(e|0){case 43:case 45:{i=1-(((e|0)==45&1)<<1)|0;e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;h=d[e>>0]|0;break b}else{h=fl(b)|0;break b}}default:{h=e;i=1}}while(0);e=0;while(1){if((h|32|0)!=(a[213629+e>>0]|0))break;do if(e>>>0<7){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=fl(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=8){e=8;break}}c:do switch(e&2147483647|0){case 8:break;case 3:{j=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{j=23;break c}d:do if(!e){e=0;while(1){if((h|32|0)!=(a[213691+e>>0]|0))break d;do if(e>>>0<2){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=fl(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=3){e=3;break}}}while(0);switch(e|0){case 3:{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=fl(b)|0;if((e|0)!=40){if(!(c[n>>2]|0)){g=r;break a}c[o>>2]=(c[o>>2]|0)+-1;g=r;break a}e=1;while(1){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0}else h=fl(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!k){o=pV()|0;c[o>>2]=22;bw(b,0,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{if((h|0)==48){e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=fl(b)|0;if((e|32|0)==120){g=+Cd(b,m,l,i,f);break a}if(!(c[n>>2]|0))e=48;else{c[o>>2]=(c[o>>2]|0)+-1;e=48}}else e=h;g=+Yc(b,e,m,l,i,f);break a}default:{if(c[n>>2]|0)c[o>>2]=(c[o>>2]|0)+-1;o=pV()|0;c[o>>2]=22;bw(b,0,0);g=0.0;break a}}}}while(0);if((j|0)==23){h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[o>>2]=(c[o>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(i|0)*s}while(0);return +g}function Td(d,f,g,h,i,j,k,l,m,n,o){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;E=c[(c[d+24364>>2]|0)+(c[f+21796>>2]<<2)>>2]|0;if(c[(c[d+4>>2]|0)+808>>2]&1|0)wf(d,f);if(E&12288|0?(p=c[d+25652>>2]|0,q=a[f+28284>>0]|0,q<<24>>24>-1):0){C=q<<24>>24;z=f+21788|0;y=c[z>>2]|0;B=(y<<4|8)+(b[f+28e3>>1]>>2)|0;D=(b[f+28002>>1]>>2)+(c[f+21792>>2]<<4)|0;y=(B<<p)+(64<<p)+(H(D+(y<<2&12)|0,c[f+21780>>2]|0)|0)|0;A=d+12|0;gc[c[A>>2]&1023]((c[f+23416+(C*40|0)>>2]|0)+y|0,c[f+21772>>2]|0,4);B=(H((c[z>>2]&7)+(D>>1)|0,c[f+21776>>2]|0)|0)+((B>>1)+64<<p)|0;D=c[f+23416+(C*40|0)+4>>2]|0;gc[c[A>>2]&1023](D+B|0,(c[f+23416+(C*40|0)+8>>2]|0)-D|0,2)}a:do if(!(E&8)){if(E&16|0){B=d+25652|0;C=j+64|0;D=l+64|0;Kc(d,f,0,0,8,8<<c[B>>2],g,h,i,0,0,C,c[k>>2]|0,D,c[m>>2]|0,n,o,E&4096,E&16384);Kc(d,f,8,0,8,8<<c[B>>2],g,h,i,0,4,C,c[k>>2]|0,D,c[m>>2]|0,n,o,E&8192,E&32768);break}if(E&32|0){x=f+21780|0;y=j+64|0;z=k+4|0;A=l+64|0;B=m+4|0;C=n+4|0;D=o+4|0;Kc(d,f,0,0,16,c[x>>2]<<3,g,h,i,0,0,y,c[z>>2]|0,A,c[B>>2]|0,C,D,E&4096,E&16384);Kc(d,f,4,0,16,c[x>>2]<<3,g,h,i,4,0,y,c[z>>2]|0,A,c[B>>2]|0,C,D,E&8192,E&32768);break}x=j+64|0;y=k+4|0;z=l+64|0;A=m+4|0;B=n+4|0;C=o+4|0;D=d+25652|0;w=j+128|0;v=l+128|0;u=k+8|0;t=m+8|0;s=n+8|0;l=o+8|0;k=f+21780|0;j=0;while(1){if((j|0)==4)break a;p=e[f+28552+(j<<1)>>1]|0;m=j<<2;n=m&4;o=j<<1&4;b:do if(!(p&8)){if(p&16|0){q=p&4096;r=p&16384;Kc(d,f,m,0,4,4<<c[D>>2],g,h,i,n,o,w,c[y>>2]|0,v,c[A>>2]|0,B,C,q,r);Kc(d,f,m|2,0,4,4<<c[D>>2],g,h,i,n,o|2,w,c[y>>2]|0,v,c[A>>2]|0,B,C,q,r);break}if(p&32|0){q=p&4096;r=p&16384;Kc(d,f,m,0,8,c[k>>2]<<2,g,h,i,n,o,w,c[u>>2]|0,v,c[t>>2]|0,s,l,q,r);Kc(d,f,m|1,0,8,c[k>>2]<<2,g,h,i,n|2,o,w,c[u>>2]|0,v,c[t>>2]|0,s,l,q,r);break}r=p&4096;q=p&16384;p=0;while(1){if((p|0)==4)break b;Kc(d,f,p+m|0,1,4,0,g,h,i,p<<1&2|n,p&2|o,w,c[u>>2]|0,v,c[t>>2]|0,s,l,r,q);p=p+1|0}}else Kc(d,f,m,1,8,0,g,h,i,n,o,x,c[y>>2]|0,z,c[A>>2]|0,B,C,p&4096,p&16384);while(0);j=j+1|0}}else Kc(d,f,0,1,16,0,g,h,i,0,0,j,c[k>>2]|0,l,c[m>>2]|0,n,o,E&4096,E&16384);while(0);if(E&49152|0?(F=c[d+25652>>2]|0,G=a[f+28324>>0]|0,G<<24>>24>-1):0){h=G<<24>>24;E=f+21788|0;D=c[E>>2]|0;G=(D<<4|8)+(b[f+28160>>1]>>2)|0;i=(b[f+28162>>1]>>2)+(c[f+21792>>2]<<4)|0;D=(G<<F)+(64<<F)+(H(i+(D<<2&12)|0,c[f+21780>>2]|0)|0)|0;g=d+12|0;gc[c[g>>2]&1023]((c[f+25336+(h*40|0)>>2]|0)+D|0,c[f+21772>>2]|0,4);G=(H((c[E>>2]&7)+(i>>1)|0,c[f+21776>>2]|0)|0)+((G>>1)+64<<F)|0;i=c[f+25336+(h*40|0)+4>>2]|0;gc[c[g>>2]&1023](i+G|0,(c[f+25336+(h*40|0)+8>>2]|0)-i|0,2)}return}function Ud(d,f,g,h,i,j,k,l,m,n,o){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;E=c[(c[d+24364>>2]|0)+(c[f+21796>>2]<<2)>>2]|0;if(c[(c[d+4>>2]|0)+808>>2]&1|0)wf(d,f);if(E&12288|0?(p=c[d+25652>>2]|0,q=a[f+28284>>0]|0,q<<24>>24>-1):0){C=q<<24>>24;z=f+21788|0;y=c[z>>2]|0;B=(y<<4|8)+(b[f+28e3>>1]>>2)|0;D=(b[f+28002>>1]>>2)+(c[f+21792>>2]<<4)|0;y=(B<<p)+(64<<p)+(H(D+(y<<2&12)|0,c[f+21780>>2]|0)|0)|0;A=d+12|0;gc[c[A>>2]&1023]((c[f+23416+(C*40|0)>>2]|0)+y|0,c[f+21772>>2]|0,4);B=(H((c[z>>2]&7)+(D>>1)|0,c[f+21776>>2]|0)|0)+((B>>1)+64<<p)|0;D=c[f+23416+(C*40|0)+4>>2]|0;gc[c[A>>2]&1023](D+B|0,(c[f+23416+(C*40|0)+8>>2]|0)-D|0,2)}a:do if(!(E&8)){if(E&16|0){B=d+25652|0;C=j+64|0;D=l+64|0;Ec(d,f,0,0,8,8<<c[B>>2],g,h,i,0,0,C,c[k>>2]|0,D,c[m>>2]|0,n,o,E&4096,E&16384);Ec(d,f,8,0,8,8<<c[B>>2],g,h,i,0,4,C,c[k>>2]|0,D,c[m>>2]|0,n,o,E&8192,E&32768);break}if(E&32|0){x=f+21780|0;y=j+64|0;z=k+4|0;A=l+64|0;B=m+4|0;C=n+4|0;D=o+4|0;Ec(d,f,0,0,16,c[x>>2]<<3,g,h,i,0,0,y,c[z>>2]|0,A,c[B>>2]|0,C,D,E&4096,E&16384);Ec(d,f,4,0,16,c[x>>2]<<3,g,h,i,4,0,y,c[z>>2]|0,A,c[B>>2]|0,C,D,E&8192,E&32768);break}x=j+64|0;y=k+4|0;z=l+64|0;A=m+4|0;B=n+4|0;C=o+4|0;D=d+25652|0;w=j+128|0;v=l+128|0;u=k+8|0;t=m+8|0;s=n+8|0;l=o+8|0;k=f+21780|0;j=0;while(1){if((j|0)==4)break a;p=e[f+28552+(j<<1)>>1]|0;m=j<<2;n=m&4;o=j<<1&4;b:do if(!(p&8)){if(p&16|0){q=p&4096;r=p&16384;Ec(d,f,m,0,4,4<<c[D>>2],g,h,i,n,o,w,c[y>>2]|0,v,c[A>>2]|0,B,C,q,r);Ec(d,f,m|2,0,4,4<<c[D>>2],g,h,i,n,o|2,w,c[y>>2]|0,v,c[A>>2]|0,B,C,q,r);break}if(p&32|0){q=p&4096;r=p&16384;Ec(d,f,m,0,8,c[k>>2]<<2,g,h,i,n,o,w,c[u>>2]|0,v,c[t>>2]|0,s,l,q,r);Ec(d,f,m|1,0,8,c[k>>2]<<2,g,h,i,n|2,o,w,c[u>>2]|0,v,c[t>>2]|0,s,l,q,r);break}r=p&4096;q=p&16384;p=0;while(1){if((p|0)==4)break b;Ec(d,f,p+m|0,1,4,0,g,h,i,p<<1&2|n,p&2|o,w,c[u>>2]|0,v,c[t>>2]|0,s,l,r,q);p=p+1|0}}else Ec(d,f,m,1,8,0,g,h,i,n,o,x,c[y>>2]|0,z,c[A>>2]|0,B,C,p&4096,p&16384);while(0);j=j+1|0}}else Ec(d,f,0,1,16,0,g,h,i,0,0,j,c[k>>2]|0,l,c[m>>2]|0,n,o,E&4096,E&16384);while(0);if(E&49152|0?(F=c[d+25652>>2]|0,G=a[f+28324>>0]|0,G<<24>>24>-1):0){h=G<<24>>24;E=f+21788|0;D=c[E>>2]|0;G=(D<<4|8)+(b[f+28160>>1]>>2)|0;i=(b[f+28162>>1]>>2)+(c[f+21792>>2]<<4)|0;D=(G<<F)+(64<<F)+(H(i+(D<<2&12)|0,c[f+21780>>2]|0)|0)|0;g=d+12|0;gc[c[g>>2]&1023]((c[f+25336+(h*40|0)>>2]|0)+D|0,c[f+21772>>2]|0,4);G=(H((c[E>>2]&7)+(i>>1)|0,c[f+21776>>2]|0)|0)+((G>>1)+64<<F)|0;i=c[f+25336+(h*40|0)+4>>2]|0;gc[c[g>>2]&1023](i+G|0,(c[f+25336+(h*40|0)+8>>2]|0)-i|0,2)}return}function Vd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Mb;Mb=Mb+240|0;p=s+216|0;n=s+208|0;l=s+200|0;g=s+192|0;i=s;j=s+224|0;k=b+6484|0;h=c[k>>2]|0;a:do if(h){r=b+1004|0;f=c[r>>2]|0;o=(d|0)==1;do if((h|0)==1&(o&(f|0)==0)){oJ(b)|0;m=b+4|0;Xw(c[m>>2]|0,48,189082,g);if((Wt(c[m>>2]|0,i,j,2)|0)>=0?($g(b,i,c[j>>2]|0,2,1)|0)>=0:0){c[k>>2]=2;c[b+6512>>2]=0;f=c[r>>2]|0;h=2;break}f=0;break a}while(0);m=(d|0)==0;b:do if(!((f|d|0)==0&(h|0)==2)){switch(h|0){case 1:{q=15;break b}case 7:case 12:{f=c[r>>2]|0;if(o&(f|0)==3){c[r>>2]=4;f=c[b+564>>2]|0;c[b+812+(e<<2)>>2]=f;break a}else q=21;break}case 11:{f=c[r>>2]|0;q=21;break}case 6:{f=c[r>>2]|0;q=23;break}case 5:{f=c[r>>2]|0;q=29;break}case 4:{f=c[r>>2]|0;q=32;break}case 2:case 3:break;default:{f=0;break a}}if((q|0)==21)if(m&(h|0)==11&(f|0)==2){c[r>>2]=3;f=c[b+496>>2]|0;c[b+748+(e<<2)>>2]=f;break a}else q=23;c:do if((q|0)==23)if((f|0)==((a[43760+h>>0]|0)+-1|0)){switch(d|0){case 0:case 3:break;default:{q=29;break c}}g=b+1008|0;if((c[g>>2]|0)==0?(d|0)!=3|(e|0)!=0:0){f=c[b+4>>2]|0;c[n>>2]=m?189114:201522;c[n+4>>2]=e;Xw(f,24,189118,n);c[g>>2]=(c[g>>2]|0)+1;f=c[r>>2]|0}c[r>>2]=f+1;f=c[b+684>>2]|0;c[b+748+(d<<6)+(e<<2)>>2]=f;break a}else q=29;while(0);if((q|0)==29)if(o&(f|0)==2){c[r>>2]=3;f=c[b+560>>2]|0;c[b+812+(e<<2)>>2]=f;break a}else q=32;if((q|0)==32){d:do if((f|0)==((a[43760+h>>0]|0)+-1|0)){switch(d|0){case 0:case 3:break;default:break d}g=b+1008|0;if((c[g>>2]|0)==0?(d|0)!=0|(e|0)!=1:0){f=c[b+4>>2]|0;c[p>>2]=m?189114:201522;c[p+4>>2]=e;Xw(f,24,189205,p);c[g>>2]=(c[g>>2]|0)+1;f=c[r>>2]|0}c[r>>2]=f+1;f=c[b+496>>2]|0;c[b+748+(d<<6)+(e<<2)>>2]=f;break a}while(0);if(m&(h|0)==4&(f|0)==2){c[r>>2]=3;f=c[b+496>>2]|0;c[b+748+(e<<2)>>2]=f;break a}}f=c[r>>2]|0;if(!(o&(f|0)==((h|0)!=2|0)))if((h|0)==2){f=0;break a}else break;else{c[r>>2]=f+1;f=c[b+556>>2]|0;c[b+812+(e<<2)>>2]=f;break a}}else{oJ(b)|0;q=b+4|0;Xw(c[q>>2]|0,48,189097,l);if((Wt(c[q>>2]|0,i,j,1)|0)<0){f=0;break a}if(($g(b,i,c[j>>2]|0,2,1)|0)<0){f=0;break a}c[k>>2]=1;if(c[b+6488>>2]|0)c[b+6512>>2]=-1;q=15}while(0);if((q|0)==15)f=c[r>>2]|0;if(!(f|d)){c[r>>2]=f+1;f=c[b+492>>2]|0;c[b+748+(e<<2)>>2]=f}else f=0}else f=c[b+748+(d<<6)+(e<<2)>>2]|0;while(0);Mb=s;return f|0}function Wd(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=f>>1;g=0-y|0;if(!c){q=e[a+(g<<1)>>1]|0;o=q}else{o=e[a+(g<<1)>>1]|0;q=e[a+(~y<<1)>>1]|0}r=e[a+(1-y<<1)>>1]|0;p=r+2|0;s=e[a+(2-y<<1)>>1]|0;t=s+2|0;r=(t+o+(r<<1)|0)>>>2;u=e[a+(3-y<<1)>>1]|0;s=(p+(s<<1)+u|0)>>>2;w=e[a+(4-y<<1)>>1]|0;t=(t+(u<<1)+w|0)>>>2;x=e[a+(5-y<<1)>>1]|0;u=(u+2+(w<<1)+x|0)>>>2;v=e[a+(6-y<<1)>>1]|0;w=(w+2+(x<<1)+v|0)>>>2;c=e[a+(7-y<<1)>>1]|0;x=(x+2+(v<<1)+c|0)>>>2;if(!d){g=c*3|0;d=c;h=c;i=c;j=c;k=c;l=c;m=c;n=c;c=g}else{z=e[a+(8-y<<1)>>1]|0;n=e[a+(9-y<<1)>>1]|0;A=e[a+(10-y<<1)>>1]|0;m=A+2|0;l=e[a+(11-y<<1)>>1]|0;k=e[a+(12-y<<1)>>1]|0;j=e[a+(13-y<<1)>>1]|0;i=e[a+(14-y<<1)>>1]|0;h=e[a+(15-y<<1)>>1]|0;g=(i+2+(h*3|0)|0)>>>2;d=g;h=(j+2+(i<<1)+h|0)>>>2;i=(k+2+(j<<1)+i|0)>>>2;j=(l+2+(k<<1)+j|0)>>>2;k=(m+(l<<1)+k|0)>>>2;l=(n+2+(A<<1)+l|0)>>>2;m=(m+z+(n<<1)|0)>>>2;n=(c+2+(z<<1)+n|0)>>>2;c=(c<<1)+z|0;g=g*3|0}A=(v+2+c|0)>>>2;v=s+2|0;b[a>>1]=(v+((p+q+(o<<1)|0)>>>2)+(r<<1)|0)>>>2;z=t+2|0;s=(z+r+(s<<1)|0)>>>2&65535;b[a+2>>1]=s;b[a+(y<<1)>>1]=s;t=(v+(t<<1)+u|0)>>>2&65535;b[a+4>>1]=t;b[a+(y+1<<1)>>1]=t;s=f&-2;b[a+(s<<1)>>1]=t;z=(z+(u<<1)+w|0)>>>2&65535;b[a+6>>1]=z;b[a+(y+2<<1)>>1]=z;b[a+((f|1)<<1)>>1]=z;t=y*3|0;b[a+(t<<1)>>1]=z;z=(u+2+(w<<1)+x|0)>>>2&65535;b[a+8>>1]=z;b[a+(y+3<<1)>>1]=z;b[a+(s+2<<1)>>1]=z;b[a+(t+1<<1)>>1]=z;v=y<<2;b[a+(v<<1)>>1]=z;z=(w+2+(x<<1)+A|0)>>>2&65535;b[a+10>>1]=z;b[a+(y+4<<1)>>1]=z;b[a+(s+3<<1)>>1]=z;b[a+(t+2<<1)>>1]=z;b[a+((v|1)<<1)>>1]=z;w=y*5|0;b[a+(w<<1)>>1]=z;z=(x+2+n+(A<<1)|0)>>>2&65535;b[a+12>>1]=z;b[a+(y+5<<1)>>1]=z;b[a+(s+4<<1)>>1]=z;b[a+(t+3<<1)>>1]=z;b[a+((v|2)<<1)>>1]=z;b[a+(w+1<<1)>>1]=z;f=y*6|0;b[a+(f<<1)>>1]=z;z=m+2|0;x=(z+A+(n<<1)|0)>>>2&65535;b[a+14>>1]=x;b[a+(y+6<<1)>>1]=x;b[a+(s+5<<1)>>1]=x;b[a+(t+4<<1)>>1]=x;b[a+((v|3)<<1)>>1]=x;b[a+(w+2<<1)>>1]=x;b[a+((f|1)<<1)>>1]=x;A=y*7|0;b[a+(A<<1)>>1]=x;x=(n+2+(m<<1)+l|0)>>>2&65535;b[a+(y+7<<1)>>1]=x;b[a+(s+6<<1)>>1]=x;b[a+(t+5<<1)>>1]=x;b[a+(v+4<<1)>>1]=x;b[a+(w+3<<1)>>1]=x;b[a+(f+2<<1)>>1]=x;b[a+(A+1<<1)>>1]=x;z=(z+(l<<1)+k|0)>>>2&65535;b[a+(s+7<<1)>>1]=z;b[a+(t+6<<1)>>1]=z;b[a+(v+5<<1)>>1]=z;b[a+(w+4<<1)>>1]=z;b[a+(f+3<<1)>>1]=z;b[a+(A+2<<1)>>1]=z;z=(l+2+(k<<1)+j|0)>>>2&65535;b[a+(t+7<<1)>>1]=z;b[a+(v+6<<1)>>1]=z;b[a+(w+5<<1)>>1]=z;b[a+(f+4<<1)>>1]=z;b[a+(A+3<<1)>>1]=z;z=(k+2+(j<<1)+i|0)>>>2&65535;b[a+(v+7<<1)>>1]=z;b[a+(w+6<<1)>>1]=z;b[a+(f+5<<1)>>1]=z;b[a+(A+4<<1)>>1]=z;z=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(w+7<<1)>>1]=z;b[a+(f+6<<1)>>1]=z;b[a+(A+5<<1)>>1]=z;z=(i+2+(h<<1)+d|0)>>>2&65535;b[a+(f+7<<1)>>1]=z;b[a+(A+6<<1)>>1]=z;b[a+(A+7<<1)>>1]=(h+2+g|0)>>>2;return}function Xd(c,e,f,g,h,i){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;B=h*13|0;j=e;k=0;f=f+(0-(i<<1))|0;while(1){if((k|0)==13)break;y=f+1|0;z=f+-1|0;x=f+2|0;v=H((d[x>>0]|0)+(d[z>>0]|0)|0,-5)|0;w=f+3|0;b[j>>1]=(((d[y>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+v+(d[w>>0]|0);v=H((d[w>>0]|0)+(d[f>>0]|0)|0,-5)|0;u=f+4|0;b[j+2>>1]=(((d[x>>0]|0)+(d[y>>0]|0)|0)*20|0)+(d[z>>0]|0)+v+(d[u>>0]|0);v=H((d[u>>0]|0)+(d[y>>0]|0)|0,-5)|0;z=f+5|0;b[j+4>>1]=(((d[w>>0]|0)+(d[x>>0]|0)|0)*20|0)+(d[f>>0]|0)+v+(d[z>>0]|0);v=H((d[z>>0]|0)+(d[x>>0]|0)|0,-5)|0;A=f+6|0;b[j+6>>1]=(((d[u>>0]|0)+(d[w>>0]|0)|0)*20|0)+(d[y>>0]|0)+v+(d[A>>0]|0);v=H((d[A>>0]|0)+(d[w>>0]|0)|0,-5)|0;y=f+7|0;b[j+8>>1]=(((d[z>>0]|0)+(d[u>>0]|0)|0)*20|0)+(d[x>>0]|0)+v+(d[y>>0]|0);v=H((d[y>>0]|0)+(d[u>>0]|0)|0,-5)|0;x=f+8|0;b[j+10>>1]=(((d[A>>0]|0)+(d[z>>0]|0)|0)*20|0)+(d[w>>0]|0)+v+(d[x>>0]|0);v=H((d[x>>0]|0)+(d[z>>0]|0)|0,-5)|0;w=f+9|0;b[j+12>>1]=(((d[y>>0]|0)+(d[A>>0]|0)|0)*20|0)+(d[u>>0]|0)+v+(d[w>>0]|0);A=H((d[w>>0]|0)+(d[A>>0]|0)|0,-5)|0;b[j+14>>1]=(((d[x>>0]|0)+(d[y>>0]|0)|0)*20|0)+(d[z>>0]|0)+A+(d[f+10>>0]|0);j=j+(h<<1)|0;k=k+1|0;f=f+i|0}i=H(h,-2)|0;l=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=g<<1;w=g*3|0;x=g<<2;y=g*5|0;z=g*6|0;A=g*7|0;k=c;f=e+(B<<1)+((H(h,-11)|0)<<1)|0;j=0;while(1){if((j|0)==8)break;F=b[f+(l<<1)>>1]|0;O=b[f>>1]|0;N=b[f+(h<<1)>>1]|0;M=b[f+(m<<1)>>1]|0;L=b[f+(n<<1)>>1]|0;J=b[f+(o<<1)>>1]|0;G=b[f+(p<<1)>>1]|0;e=b[f+(q<<1)>>1]|0;C=b[f+(r<<1)>>1]|0;D=b[f+(s<<1)>>1]|0;c=b[f+(t<<1)>>1]|0;E=b[f+(u<<1)>>1]|0;K=L+512|0;B=K+(b[f+(i<<1)>>1]|0)+((N+O|0)*20|0)+(H(M+F|0,-5)|0)>>10;a[k>>0]=((d[k>>0]|0)+1+((B>>>0>255?(B^-2147483648)>>31:B)&255)|0)>>>1;B=k+g|0;I=J+512|0;F=I+F+((M+N|0)*20|0)+(H(L+O|0,-5)|0)>>10;a[B>>0]=(((F>>>0>255?(F^-2147483648)>>31:F)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+v|0;F=G+512|0;O=F+O+((L+M|0)*20|0)+(H(J+N|0,-5)|0)>>10;a[B>>0]=(((O>>>0>255?(O^-2147483648)>>31:O)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+w|0;N=N+512+e+((J+L|0)*20|0)+(H(G+M|0,-5)|0)>>10;a[B>>0]=(((N>>>0>255?(N^-2147483648)>>31:N)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+x|0;L=M+512+C+((G+J|0)*20|0)+(H(e+L|0,-5)|0)>>10;a[B>>0]=(((L>>>0>255?(L^-2147483648)>>31:L)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+y|0;J=K+D+((e+G|0)*20|0)+(H(C+J|0,-5)|0)>>10;a[B>>0]=(((J>>>0>255?(J^-2147483648)>>31:J)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+z|0;G=I+c+((C+e|0)*20|0)+(H(D+G|0,-5)|0)>>10;a[B>>0]=(((G>>>0>255?(G^-2147483648)>>31:G)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+A|0;e=F+E+((D+C|0)*20|0)+(H(c+e|0,-5)|0)>>10;a[B>>0]=(((e>>>0>255?(e^-2147483648)>>31:e)&255)+1+(d[B>>0]|0)|0)>>>1;k=k+1|0;f=f+2|0;j=j+1|0}return}function Yd(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;k=h>>1;A=g*13|0;i=c;j=0;d=d+(0-(h&-2)<<1)|0;while(1){if((j|0)==13)break;x=d+2|0;y=d+-2|0;w=d+4|0;u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=d+6|0;b[i>>1]=(((e[x>>1]|0)+(e[d>>1]|0)|0)*20|0)+55306+(e[d+-4>>1]|0)+u+(e[v>>1]|0);u=H((e[v>>1]|0)+(e[d>>1]|0)|0,-5)|0;t=d+8|0;b[i+2>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+55306+(e[y>>1]|0)+u+(e[t>>1]|0);u=H((e[t>>1]|0)+(e[x>>1]|0)|0,-5)|0;y=d+10|0;b[i+4>>1]=(((e[v>>1]|0)+(e[w>>1]|0)|0)*20|0)+55306+(e[d>>1]|0)+u+(e[y>>1]|0);u=H((e[y>>1]|0)+(e[w>>1]|0)|0,-5)|0;z=d+12|0;b[i+6>>1]=(((e[t>>1]|0)+(e[v>>1]|0)|0)*20|0)+55306+(e[x>>1]|0)+u+(e[z>>1]|0);u=H((e[z>>1]|0)+(e[v>>1]|0)|0,-5)|0;x=d+14|0;b[i+8>>1]=(((e[y>>1]|0)+(e[t>>1]|0)|0)*20|0)+55306+(e[w>>1]|0)+u+(e[x>>1]|0);u=H((e[x>>1]|0)+(e[t>>1]|0)|0,-5)|0;w=d+16|0;b[i+10>>1]=(((e[z>>1]|0)+(e[y>>1]|0)|0)*20|0)+55306+(e[v>>1]|0)+u+(e[w>>1]|0);u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=d+18|0;b[i+12>>1]=(((e[x>>1]|0)+(e[z>>1]|0)|0)*20|0)+55306+(e[t>>1]|0)+u+(e[v>>1]|0);z=H((e[v>>1]|0)+(e[z>>1]|0)|0,-5)|0;b[i+14>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+55306+(e[y>>1]|0)+z+(e[d+20>>1]|0);i=i+(g<<1)|0;j=j+1|0;d=d+(k<<1)|0}o=f>>1;p=H(g,-2)|0;q=0-g|0;r=g<<1;s=g*3|0;t=g<<2;u=g*5|0;v=g*6|0;w=g*7|0;x=g<<3;y=g*9|0;z=g*10|0;j=f&-2;k=o*3|0;f=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;i=a;d=c+(A<<1)+((H(g,-11)|0)<<1)|0;h=0;while(1){if((h|0)==8)break;P=(b[d+(q<<1)>>1]|0)+10230|0;O=(b[d>>1]|0)+10230|0;M=b[d+(g<<1)>>1]|0;N=M+10230|0;K=b[d+(r<<1)>>1]|0;L=K+10230|0;I=b[d+(s<<1)>>1]|0;J=I+10230|0;F=b[d+(t<<1)>>1]|0;G=F+10230|0;D=b[d+(u<<1)>>1]|0;E=D+10230|0;A=(b[d+(v<<1)>>1]|0)+10230|0;a=(b[d+(w<<1)>>1]|0)+10230|0;B=(b[d+(x<<1)>>1]|0)+10230|0;c=(b[d+(y<<1)>>1]|0)+10230|0;C=b[d+(z<<1)>>1]|0;Q=(b[d+(p<<1)>>1]|0)+10742+J+((N+O|0)*20|0)+(H(L+P|0,-5)|0)>>10;b[i>>1]=Q>>>0<1024?Q:(Q^-2147483648)>>31&1023;F=F+10742|0;P=F+P+((L+N|0)*20|0)+(H(J+O|0,-5)|0)>>10;b[i+(o<<1)>>1]=P>>>0<1024?P:(P^-2147483648)>>31&1023;N=D+10742+O+((J+L|0)*20|0)+(H(G+N|0,-5)|0)>>10;b[i+(j<<1)>>1]=N>>>0<1024?N:(N^-2147483648)>>31&1023;L=M+10742+A+((G+J|0)*20|0)+(H(E+L|0,-5)|0)>>10;b[i+(k<<1)>>1]=L>>>0<1024?L:(L^-2147483648)>>31&1023;J=K+10742+a+((E+G|0)*20|0)+(H(A+J|0,-5)|0)>>10;b[i+(f<<1)>>1]=J>>>0<1024?J:(J^-2147483648)>>31&1023;G=I+10742+B+((A+E|0)*20|0)+(H(a+G|0,-5)|0)>>10;b[i+(l<<1)>>1]=G>>>0<1024?G:(G^-2147483648)>>31&1023;E=F+c+((a+A|0)*20|0)+(H(B+E|0,-5)|0)>>10;b[i+(m<<1)>>1]=E>>>0<1024?E:(E^-2147483648)>>31&1023;A=D+20972+C+((B+a|0)*20|0)+(H(c+A|0,-5)|0)>>10;b[i+(n<<1)>>1]=A>>>0<1024?A:(A^-2147483648)>>31&1023;i=i+2|0;d=d+2|0;h=h+1|0}return}function Zd(d,f,g,h,i,j,k,l,m,n,o){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;E=c[(c[d+24364>>2]|0)+(c[f+21796>>2]<<2)>>2]|0;if(c[(c[d+4>>2]|0)+808>>2]&1|0)wf(d,f);if(E&12288|0?(p=c[d+25652>>2]|0,q=a[f+28284>>0]|0,q<<24>>24>-1):0){B=q<<24>>24;C=c[f+21788>>2]|0;C=((C<<4|8)+(b[f+28e3>>1]>>2)<<p)+(64<<p)+(H((c[f+21792>>2]<<4|C<<2&12)+(b[f+28002>>1]>>2)|0,c[f+21780>>2]|0)|0)|0;A=d+12|0;D=f+21772|0;gc[c[A>>2]&1023]((c[f+23416+(B*40|0)>>2]|0)+C|0,c[D>>2]|0,4);gc[c[A>>2]&1023]((c[f+23416+(B*40|0)+4>>2]|0)+C|0,c[D>>2]|0,4);gc[c[A>>2]&1023]((c[f+23416+(B*40|0)+8>>2]|0)+C|0,c[D>>2]|0,4)}a:do if(!(E&8)){if(E&16|0){B=d+25652|0;C=j+64|0;D=l+64|0;Gc(d,f,0,0,8,8<<c[B>>2],g,h,i,0,0,C,c[k>>2]|0,D,c[m>>2]|0,n,o,E&4096,E&16384);Gc(d,f,8,0,8,8<<c[B>>2],g,h,i,0,4,C,c[k>>2]|0,D,c[m>>2]|0,n,o,E&8192,E&32768);break}if(E&32|0){x=f+21780|0;y=j+64|0;z=k+4|0;A=l+64|0;B=m+4|0;C=n+4|0;D=o+4|0;Gc(d,f,0,0,16,c[x>>2]<<3,g,h,i,0,0,y,c[z>>2]|0,A,c[B>>2]|0,C,D,E&4096,E&16384);Gc(d,f,4,0,16,c[x>>2]<<3,g,h,i,4,0,y,c[z>>2]|0,A,c[B>>2]|0,C,D,E&8192,E&32768);break}x=j+64|0;y=k+4|0;z=l+64|0;A=m+4|0;B=n+4|0;C=o+4|0;D=d+25652|0;w=j+128|0;v=l+128|0;u=k+8|0;t=m+8|0;s=n+8|0;l=o+8|0;k=f+21780|0;j=0;while(1){if((j|0)==4)break a;p=e[f+28552+(j<<1)>>1]|0;m=j<<2;n=m&4;o=j<<1&4;b:do if(!(p&8)){if(p&16|0){q=p&4096;r=p&16384;Gc(d,f,m,0,4,4<<c[D>>2],g,h,i,n,o,w,c[y>>2]|0,v,c[A>>2]|0,B,C,q,r);Gc(d,f,m|2,0,4,4<<c[D>>2],g,h,i,n,o|2,w,c[y>>2]|0,v,c[A>>2]|0,B,C,q,r);break}if(p&32|0){q=p&4096;r=p&16384;Gc(d,f,m,0,8,c[k>>2]<<2,g,h,i,n,o,w,c[u>>2]|0,v,c[t>>2]|0,s,l,q,r);Gc(d,f,m|1,0,8,c[k>>2]<<2,g,h,i,n|2,o,w,c[u>>2]|0,v,c[t>>2]|0,s,l,q,r);break}r=p&4096;q=p&16384;p=0;while(1){if((p|0)==4)break b;Gc(d,f,p+m|0,1,4,0,g,h,i,p<<1&2|n,p&2|o,w,c[u>>2]|0,v,c[t>>2]|0,s,l,r,q);p=p+1|0}}else Gc(d,f,m,1,8,0,g,h,i,n,o,x,c[y>>2]|0,z,c[A>>2]|0,B,C,p&4096,p&16384);while(0);j=j+1|0}}else Gc(d,f,0,1,16,0,g,h,i,0,0,j,c[k>>2]|0,l,c[m>>2]|0,n,o,E&4096,E&16384);while(0);if(E&49152|0?(F=c[d+25652>>2]|0,G=a[f+28324>>0]|0,G<<24>>24>-1):0){g=G<<24>>24;h=c[f+21788>>2]|0;h=((h<<4|8)+(b[f+28160>>1]>>2)<<F)+(64<<F)+(H((c[f+21792>>2]<<4|h<<2&12)+(b[f+28162>>1]>>2)|0,c[f+21780>>2]|0)|0)|0;G=d+12|0;i=f+21772|0;gc[c[G>>2]&1023]((c[f+25336+(g*40|0)>>2]|0)+h|0,c[i>>2]|0,4);gc[c[G>>2]&1023]((c[f+25336+(g*40|0)+4>>2]|0)+h|0,c[i>>2]|0,4);gc[c[G>>2]&1023]((c[f+25336+(g*40|0)+8>>2]|0)+h|0,c[i>>2]|0,4)}return}function _d(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=f>>1;g=0-s|0;if(!c){c=e[a+(g<<1)>>1]|0;g=c}else{g=e[a+(g<<1)>>1]|0;c=e[a+(~s<<1)>>1]|0}k=e[a+(1-s<<1)>>1]|0;p=k+2|0;r=(p+c+(g<<1)|0)>>>2;l=e[a+(2-s<<1)>>1]|0;m=l+2|0;k=(m+g+(k<<1)|0)>>>2;n=e[a+(3-s<<1)>>1]|0;l=(p+(l<<1)+n|0)>>>2;p=e[a+(4-s<<1)>>1]|0;m=(m+(n<<1)+p|0)>>>2;q=e[a+(5-s<<1)>>1]|0;n=(n+2+(p<<1)+q|0)>>>2;o=e[a+(6-s<<1)>>1]|0;p=(p+2+(q<<1)+o|0)>>>2;c=e[a+(7-s<<1)>>1]|0;q=(q+2+(o<<1)+c|0)>>>2;if(!d){g=c;d=c;h=c;i=c;j=c;c=c*3|0}else{t=e[a+(8-s<<1)>>1]|0;j=e[a+(9-s<<1)>>1]|0;u=e[a+(10-s<<1)>>1]|0;i=u+2|0;h=e[a+(11-s<<1)>>1]|0;d=e[a+(12-s<<1)>>1]|0;g=(h+2+(d<<1)+(e[a+(13-s<<1)>>1]|0)|0)>>>2;d=(i+(h<<1)+d|0)>>>2;h=(j+2+(u<<1)+h|0)>>>2;i=(i+t+(j<<1)|0)>>>2;j=(c+2+(t<<1)+j|0)>>>2;c=(c<<1)+t|0}v=(o+2+c|0)>>>2;c=k+1|0;b[a>>1]=(c+r|0)>>>1;u=l+2|0;b[a+(s<<1)>>1]=(u+r+(k<<1)|0)>>>2;r=(c+l|0)>>>1&65535;b[a+2>>1]=r;c=f&-2;b[a+(c<<1)>>1]=r;r=m+2|0;t=(r+k+(l<<1)|0)>>>2&65535;b[a+(s+1<<1)>>1]=t;k=s*3|0;b[a+(k<<1)>>1]=t;t=(l+1+m|0)>>>1&65535;b[a+4>>1]=t;b[a+((f|1)<<1)>>1]=t;o=s<<2;b[a+(o<<1)>>1]=t;u=(u+(m<<1)+n|0)>>>2&65535;b[a+(s+2<<1)>>1]=u;b[a+(k+1<<1)>>1]=u;f=s*5|0;b[a+(f<<1)>>1]=u;u=(m+1+n|0)>>>1&65535;b[a+6>>1]=u;b[a+(c+2<<1)>>1]=u;b[a+((o|1)<<1)>>1]=u;t=s*6|0;b[a+(t<<1)>>1]=u;r=(r+(n<<1)+p|0)>>>2&65535;b[a+(s+3<<1)>>1]=r;b[a+(k+2<<1)>>1]=r;b[a+(f+1<<1)>>1]=r;u=s*7|0;b[a+(u<<1)>>1]=r;r=(n+1+p|0)>>>1&65535;b[a+8>>1]=r;b[a+(c+3<<1)>>1]=r;b[a+((o|2)<<1)>>1]=r;b[a+((t|1)<<1)>>1]=r;r=(n+2+(p<<1)+q|0)>>>2&65535;b[a+(s+4<<1)>>1]=r;b[a+(k+3<<1)>>1]=r;b[a+(f+2<<1)>>1]=r;b[a+(u+1<<1)>>1]=r;r=(p+1+q|0)>>>1&65535;b[a+10>>1]=r;b[a+(c+4<<1)>>1]=r;b[a+((o|3)<<1)>>1]=r;b[a+(t+2<<1)>>1]=r;r=(p+2+(q<<1)+v|0)>>>2&65535;b[a+(s+5<<1)>>1]=r;b[a+(k+4<<1)>>1]=r;b[a+(f+3<<1)>>1]=r;b[a+(u+2<<1)>>1]=r;r=(q+1+v|0)>>>1&65535;b[a+12>>1]=r;b[a+(c+5<<1)>>1]=r;b[a+(o+4<<1)>>1]=r;b[a+(t+3<<1)>>1]=r;q=(q+2+j+(v<<1)|0)>>>2&65535;b[a+(s+6<<1)>>1]=q;b[a+(k+5<<1)>>1]=q;b[a+(f+4<<1)>>1]=q;b[a+(u+3<<1)>>1]=q;q=j+1|0;r=(q+v|0)>>>1&65535;b[a+14>>1]=r;b[a+(c+6<<1)>>1]=r;b[a+(o+5<<1)>>1]=r;b[a+(t+4<<1)>>1]=r;r=i+2|0;p=(r+v+(j<<1)|0)>>>2&65535;b[a+(s+7<<1)>>1]=p;b[a+(k+6<<1)>>1]=p;b[a+(f+5<<1)>>1]=p;b[a+(u+4<<1)>>1]=p;s=(q+i|0)>>>1&65535;b[a+(c+7<<1)>>1]=s;b[a+(o+6<<1)>>1]=s;b[a+(t+5<<1)>>1]=s;s=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(k+7<<1)>>1]=s;b[a+(f+6<<1)>>1]=s;b[a+(u+5<<1)>>1]=s;s=(i+1+h|0)>>>1&65535;b[a+(o+7<<1)>>1]=s;b[a+(t+6<<1)>>1]=s;s=(r+(h<<1)+d|0)>>>2&65535;b[a+(f+7<<1)>>1]=s;b[a+(u+6<<1)>>1]=s;b[a+(t+7<<1)>>1]=(h+1+d|0)>>>1;b[a+(u+7<<1)>>1]=(h+2+(d<<1)+g|0)>>>2;return}function $d(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=Mb;Mb=Mb+48|0;q=r+32|0;n=r+16|0;k=r+8|0;h=r;b=c[a+28200>>2]|0;m=c[a+24312>>2]|0;j=a+29528|0;i=m+92|0;c[i>>2]=c[j>>2];c[j>>2]=0;j=b+660|0;l=c[a+4>>2]|0;if(!((c[j>>2]|0)==0?(c[l+672>>2]|0)<=0:0)){o=l+180|0;f=c[o>>2]|0;g=c[b+664>>2]|0;c[o>>2]=(f|0)>(g|0)?f:g}g=m+84|0;b=0;while(1){f=c[g>>2]|0;if((b|0)==16){b=16;o=8;break}d=c[a+28660+(b<<2)>>2]|0;e=(b|0)==0;if((f|0)<(d|0)){o=7;break}if(!e)c[a+28660+(b+-1<<2)>>2]=d;b=b+1|0}if((o|0)==7)if(e)b=0;else o=8;if((o|0)==8)c[a+28660+(b+-1<<2)>>2]=f;d=16-b|0;if((c[(c[m>>2]|0)+88>>2]|0)==3)if((d|0)>1)o=17;else o=16;else{e=c[a+28716>>2]|0;if((e|0)!=-2147483648?(o=c[a+28720>>2]|0,o=QO(o|0,((o|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0,f=M()|0,!((d|0)>1|((f|0)<0|(f|0)==0&o>>>0<3))):0)o=16;else o=17}if((o|0)==16){d=1;b=a+4|0;o=22}else if((o|0)==17){e=a+4|0;if(!b){d=a+28660|0;b=c[d>>2]|0;c[h>>2]=c[g>>2];c[h+4>>2]=b;Xw(l,40,199587,h);b=1;while(1){if((b|0)==16)break;c[a+28660+(b<<2)>>2]=-2147483648;b=b+1|0}c[d>>2]=c[g>>2];c[i>>2]=1;g=e}else{b=e;o=22}}if((o|0)==22)if((c[l+180>>2]|0)<(d|0)?(c[j>>2]|0)==0:0){g=(c[l+432>>2]|0)>1?24:40;c[k>>2]=d;Xw(l,g,199606,k);c[(c[b>>2]|0)+180>>2]=d;g=b}else g=b;k=0;while(1){b=a+28588+(k<<2)|0;if(!(c[b>>2]|0))break;else k=k+1|0}if(k>>>0>=17){c[n>>2]=199639;c[n+4>>2]=198956;c[n+8>>2]=1343;Xw(0,0,213444,n);ba()}c[b>>2]=m;b=m+640|0;if(!(c[b>>2]|0))c[b>>2]=4;j=a+28588|0;f=c[j>>2]|0;l=f;i=0;b=1;while(1){d=c[a+28588+(b<<2)>>2]|0;if(!d)break;if(c[(c[d>>2]|0)+84>>2]|0)break;if(c[d+92>>2]|0)break;o=(c[d+84>>2]|0)<(c[l+84>>2]|0);l=o?d:l;i=o?b:i;b=b+1|0}b=c[g>>2]|0;e=c[b+180>>2]|0;do if(!e){if((c[(c[f>>2]|0)+84>>2]|0)==0?(c[f+92>>2]|0)==0:0)break;c[a+28728>>2]=-2147483648}while(0);d=c[l+84>>2]|0;h=a+28728|0;f=(d|0)<(c[h>>2]|0);do if(!((k|0)<(e|0)&(f^1))){b=l+640|0;c[b>>2]=c[b>>2]&-5;b=i;e=c[a+28588+(i<<2)>>2]|0;while(1){if(!e)break;o=b+1|0;e=c[a+28588+(o<<2)>>2]|0;c[a+28588+(b<<2)>>2]=e;b=o}if(f){b=c[g>>2]|0;o=61;break}else{e=c[g>>2]|0;b=e;e=c[e+180>>2]|0;o=47;break}}else o=47;while(0);do if((o|0)==47){if((k|0)<(e|0)){o=61;break}g=a+28724|0;c[g>>2]=l;if((i|0)==0?(p=c[j>>2]|0,(p|0)!=0):0)if((c[(c[p>>2]|0)+84>>2]|0)==0?(c[p+92>>2]|0)==0:0)o=53;else d=-2147483648;else o=53;c[h>>2]=d;e=l+644|0;f=c[e>>2]|0;d=a+29560|0;if(f|0)c[d>>2]=c[d>>2]|2;a=(c[d>>2]|0)>>>1&1|f;c[e>>2]=a;if(!a){if((c[b+92>>2]&8|0)==0?(c[b+96>>2]&4194304|0)==0:0){c[g>>2]=0;break}a=(c[l>>2]|0)+296|0;c[a>>2]=c[a>>2]|1}}while(0);if((o|0)==61){c[q>>2]=f?199650:1104084;Xw(b,48,199654,q)}Mb=r;return}function ae(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;SR()|0;q=a+48|0;s=c[q>>2]|0;s=pu(-1,1073741823,s|0,((s|0)<0)<<31>>31|0)|0;p=M()|0;r=a+40|0;i=c[r>>2]|0;i=pu(s|0,p|0,i|0,((i|0)<0)<<31>>31|0)|0;p=M()|0;s=a+44|0;j=c[s>>2]|0;j=(j|0)==0?d:(j|0)<(d|0)?j:d;d=((f|0)<0)<<31>>31;o=(p|0)<(d|0)|(p|0)==(d|0)&i>>>0<f>>>0;i=o?i:f;c[g>>2]=0;d=c[a+8>>2]|0;f=c[q>>2]|0;a:do if((d|0)==1&(f|0)==1){l=a+36|0;h=c[l>>2]|0;t=c[r>>2]|0;f=((t|0)<0)<<31>>31;o=pu(0,h|0,t|0,f|0)|0;n=M()|0;m=a+32|0;n=SO(0,c[m>>2]|0,o|0,n|0)|0;o=M()|0;k=c[a+20>>2]|0;d=((k|0)<0)<<31>>31;p=pu(0,k|0,t|0,f|0)|0;q=M()|0;i=XJ(t|0,f|0,i|0,((i|0)<0)<<31>>31|0)|0;i=SO(i|0,M()|0,~h|0,~(((h|0)<0)<<31>>31)|0)|0;i=SO(i|0,M()|0,k|0,d|0)|0;d=pu(i|0,M()|0,k|0,d|0)|0;M()|0;d=(j|0)>(d|0)?d:j;k=(d|0)>0;d=k?d:0;if(k){h=b+260|0;i=a+96|0;j=a+24|0;k=a+28|0;f=0;while(1){if((f|0)>=(c[h>>2]|0))break a;mc[c[i>>2]&15](c[b+(f<<2)>>2]|0,c[e+(f<<2)>>2]|0,d,n,o,p,q);f=f+1|0;if((f|0)==(c[h>>2]|0)){u=H(c[j>>2]|0,d)|0;u=(c[m>>2]|0)+u|0;w=c[l>>2]|0;t=c[k>>2]|0;t=XJ(t|0,((t|0)<0)<<31>>31|0,d|0,0)|0;w=SO(t|0,M()|0,w|0,((w|0)<0)<<31>>31|0)|0;t=M()|0;v=c[r>>2]|0;v=pu(w|0,t|0,v|0,((v|0)<0)<<31>>31|0)|0;M()|0;c[g>>2]=u+v;v=c[l>>2]|0;u=c[k>>2]|0;u=XJ(u|0,((u|0)<0)<<31>>31|0,d|0,0)|0;v=SO(u|0,M()|0,v|0,((v|0)<0)<<31>>31|0)|0;u=M()|0;t=c[r>>2]|0;t=ws(v|0,u|0,t|0,((t|0)<0)<<31>>31|0)|0;M()|0;c[l>>2]=t;c[m>>2]=0}}}else d=0}else{t=SO(i|0,((i|0)<0)<<31>>31|0,1,0)|0;t=QO(t|0,M()|0,d|0,((d|0)<0)<<31>>31|0)|0;t=XJ(t|0,M()|0,f|0,((f|0)<0)<<31>>31|0)|0;u=M()|0;f=c[a+32>>2]|0;f=QO(t|0,u|0,f|0,((f|0)<0)<<31>>31|0)|0;u=M()|0;t=c[r>>2]|0;t=XJ(f|0,u|0,t|0,((t|0)<0)<<31>>31|0)|0;u=M()|0;f=c[a+36>>2]|0;w=c[a+20>>2]|0;d=((w|0)<0)<<31>>31;v=~f;v=SO(t|0,u|0,v|0,((v|0)<0)<<31>>31|0)|0;v=SO(v|0,M()|0,w|0,d|0)|0;d=pu(v|0,M()|0,w|0,d|0)|0;M()|0;d=(j|0)>(d|0)?d:j;w=(d|0)>0;d=w?d:0;if(w){do if(!(c[a+52>>2]|0))h=13;else{if((f|0)==0?(c[a+28>>2]|0)==0:0){h=13;break}f=a+104|0}while(0);if((h|0)==13)f=a+100|0;h=c[f>>2]|0;i=b+260|0;f=0;while(1){j=c[i>>2]|0;if((f|0)>=(j|0))break a;w=f+1|0;v=_b[h&63](a,c[b+(f<<2)>>2]|0,c[e+(f<<2)>>2]|0,d,(w|0)==(j|0)&1)|0;c[g>>2]=v;f=w}}else d=0}while(0);f=c[s>>2]|0;if(f|0?(w=f-d|0,c[s>>2]=w,(w|0)==0):0){u=c[a+16>>2]|0;c[a+20>>2]=u;w=c[r>>2]|0;v=(u|0)/(w|0)|0;c[a+24>>2]=v;w=u-(H(v,w)|0)|0;c[a+28>>2]=w}return d|0}function be(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;l=Mb;Mb=Mb+112|0;i=l+24|0;j=l;e=l+96|0;k=l+92|0;h=l+48|0;c[e>>2]=0;f=hP()|0;c[k>>2]=f;g=c[d+32>>2]|0;if((g|0)==(c[b+144>>2]|0)){i=b+304|0;c[i>>2]=(c[i>>2]|0)+(c[d+28>>2]|0);i=(GQ(c[b+232>>2]|0,f,e,d)|0)>-1;if(i&(c[e>>2]|0)!=0){h=b+244|0;if(!(a[h>>0]|0)){i=c[k>>2]|0;e=c[i+232>>2]|0;g=b+136|0;if((e|0)<=0)e=c[g>>2]|0;c[g>>2]=e;e=c[i+352>>2]|0;f=b+132|0;if((e|0)<=0)e=c[f>>2]|0;c[f>>2]=e;n=b+128|0;c[n>>2]=c[i+76>>2];e=hP()|0;i=b+108|0;c[i>>2]=e;c[e+80>>2]=3;q=e+240|0;c[q>>2]=4;c[q+4>>2]=0;q=c[(c[k>>2]|0)+76>>2]|0;m=b+96|0;p=c[c[m>>2]>>2]|0;o=c[g>>2]|0;o=Ne(q,((q|0)<0)<<31>>31,p,((p|0)<0)<<31>>31,o,((o|0)<0)<<31>>31,3)|0;M()|0;c[e+76>>2]=o;Av(e,0)|0;m=c[c[m>>2]>>2]|0;e=hD(c[f>>2]|0)|0;o=M()|0;o=vl(0,4,0,3,m,e,o,c[(c[k>>2]|0)+80>>2]|0,c[g>>2]|0,0,0)|0;e=b+104|0;c[e>>2]=o;Nc(o)|0;a[h>>0]=1;o=c[g>>2]|0;n=c[n>>2]|0;m=c[(c[k>>2]|0)+80>>2]|0;h=c[(c[i>>2]|0)+76>>2]|0;c[j>>2]=c[f>>2];c[j+4>>2]=o;c[j+8>>2]=n;c[j+12>>2]=m;c[j+16>>2]=h;mN(164730,j)|0;d=d+16|0;j=c[d+4>>2]|0;h=b+256|0;c[h>>2]=c[d>>2];c[h+4>>2]=j;h=pC()|0;h=pu(h|0,M()|0,1e3,0)|0;j=M()|0;d=b+264|0;c[d>>2]=h;c[d+4>>2]=j;ia(3,b|0,c[g>>2]|0,c[f>>2]|0)|0;f=i}else{e=b+104|0;f=b+108|0}p=c[f>>2]|0;q=c[k>>2]|0;e=ee(c[e>>2]|0,p,c[p+76>>2]|0,q,c[q+76>>2]|0)|0;if((e|0)>0)Zq(c[b+100>>2]|0,c[f>>2]|0,e)|0}}else if((g|0)==(c[b+148>>2]|0)?(q=b+296|0,c[q>>2]=(c[q>>2]|0)+1,q=b+300|0,c[q>>2]=(c[q>>2]|0)+(c[d+28>>2]|0),q=(GQ(c[b+236>>2]|0,f,e,d)|0)>-1,q&(c[e>>2]|0)!=0):0){e=b+245|0;if(!(a[e>>0]|0)){m=c[k>>2]|0;n=c[m+72>>2]|0;q=c[m+80>>2]|0;p=d+8|0;o=c[p>>2]|0;p=c[p+4>>2]|0;c[i>>2]=c[m+68>>2];c[i+4>>2]=n;c[i+8>>2]=q;q=i+16|0;c[q>>2]=o;c[q+4>>2]=p;mN(164848,i)|0;q=c[k>>2]|0;c[b+120>>2]=c[q+68>>2];c[b+124>>2]=c[q+72>>2];q=d+16|0;p=c[q+4>>2]|0;o=b+256|0;c[o>>2]=c[q>>2];c[o+4>>2]=p;o=pC()|0;o=pu(o|0,M()|0,1e3,0)|0;p=M()|0;q=b+264|0;c[q>>2]=o;c[q+4>>2]=p;a[e>>0]=1;q=c[k>>2]|0;ia(4,b|0,c[q+68>>2]|0,c[q+72>>2]|0)|0}Ca(c[b+92>>2]|0)|0;q=c[k>>2]|0;c[h>>2]=c[q+68>>2];p=c[q+72>>2]|0;c[h+4>>2]=p;c[h+8>>2]=c[q+32>>2];c[h+12>>2]=c[q+36>>2];c[h+16>>2]=c[q+40>>2];c[h+20>>2]=p;p=(p|0)/2|0;c[h+24>>2]=p;c[h+28>>2]=p;c[h+32>>2]=c[q>>2];c[h+36>>2]=c[q+4>>2];c[h+40>>2]=c[q+8>>2];jk(c[b+88>>2]|0,c[b>>2]|0,h)|0}QP(k);Mb=l;return}function ce(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=Mb;Mb=Mb+64|0;m=r+56|0;l=r+48|0;q=r+40|0;p=r+24|0;o=r;k=(d|0)!=0;if(k){i=a+28188|0;QS(i);f=a+28196|0;c[f>>2]=0;d=$H(c[a+27164+(c[b+27776>>2]<<2)>>2]|0)|0;c[i>>2]=d;if(!d)d=-12;else{d=c[d+4>>2]|0;c[f>>2]=d;g=5}}else{d=a+28196|0;f=d;d=c[d>>2]|0;g=5}a:do if((g|0)==5){h=a+28200|0;g=c[h>>2]|0;do if((g|0)==(c[(c[a+27036+(c[d>>2]<<2)>>2]|0)+4>>2]|0))d=0;else{i=a+28192|0;QS(i);c[h>>2]=0;d=$H(c[a+27036+(c[c[f>>2]>>2]<<2)>>2]|0)|0;c[i>>2]=d;if(!d){d=-12;break a}g=c[d+4>>2]|0;c[h>>2]=g;if((((c[a+26996>>2]|0)==(c[g+56>>2]|0)?(c[a+26992>>2]|0)==(c[g+60>>2]|0):0)?(e=c[a+29580>>2]|0,(e|0)==(c[g+1184>>2]|0)):0)?(c[a+29576>>2]|0)==(c[g+12>>2]|0):0)d=0;else{d=1;e=c[g+1184>>2]|0}if((c[a+27028>>2]|0)==(e|0)?(c[a+27032>>2]|0)==(c[g+12>>2]|0):0)break;d=1}while(0);i=a+25680|0;if(c[i>>2]|0){f=c[g+56>>2]|0;h=a+4|0;e=c[h>>2]|0;if(((((f<<4|0)==(c[e+132>>2]|0)?(j=c[g+60>>2]|0,(j<<4|0)==(c[e+136>>2]|0)):0)?(c[a+29580>>2]|0)==(c[g+1184>>2]|0):0)?(c[a+29576>>2]|0)==(c[g+12>>2]|0):0)?(c[a+26996>>2]|0)==(f|0):0)f=(c[a+26992>>2]|0)!=(j|0)&1;else f=1}else{e=a+4|0;h=e;f=0;e=c[e>>2]|0}e=c[e+144>>2]|0;if(!((e|0)!=-1?(j=AO(e)|0,(j|0)==(AO(lg(a,0)|0)|0)):0))f=1;if(k){j=g+100|0;k=(c[h>>2]|0)+228|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];m=(Nq(l,m)|0)==0;f=m?f:1}if(((c[a+29572>>2]|0)==0?(m=MH(g)|0,l=c[h>>2]|0,c[l+828>>2]=m,c[l+832>>2]=c[g+8>>2],c[l+368>>2]=c[g+48>>2],l=c[g+56>>2]|0,c[a+26996>>2]=l,m=c[g+60>>2]|0,c[a+26992>>2]=m,k=H(m,l)|0,c[a+27004>>2]=k,c[a+27e3>>2]=l+1,c[a+26352>>2]=l<<2,c[a+25668>>2]=(c[g+12>>2]|0)<2&1,c[a+25656>>2]=l<<4,c[a+25660>>2]=m<<4,ql(a),(c[g+108>>2]|0)!=0):0)?(n=c[h>>2]|0,c[n+400>>2]=(c[g+112>>2]|0)>0?2:1,(c[g+116>>2]|0)!=0):0){m=n+396|0;l=c[g+128>>2]|0;d=(c[m>>2]|0)==(l|0)?d:1;c[n+388>>2]=c[g+120>>2];c[n+392>>2]=c[g+124>>2];c[m>>2]=l}e=(c[i>>2]|0)==0;if((d|f|0)!=0|e){c[i>>2]=0;if((c[a+25628>>2]|0)!=(b|0)){d=c[h>>2]|0;n=c[d+132>>2]|0;b=c[a+25660>>2]|0;p=c[d+136>>2]|0;q=(c[a+29544>>2]|0)+1|0;c[o>>2]=c[a+25656>>2];c[o+4>>2]=n;c[o+8>>2]=b;c[o+12>>2]=p;c[o+16>>2]=q;Xw(d,16,199789,o);d=-1094995529;break}if(!e)As(a);d=lg(a,1)|0;if((d|0)>=0){o=c[h>>2]|0;c[o+144>>2]=d;n=c[a+25656>>2]|0;b=c[a+25660>>2]|0;d=ZP(d)|0;c[p>>2]=n;c[p+4>>2]=b;c[p+8>>2]=d;Xw(o,40,199844,p);d=df(a)|0;if((d|0)<0)Xw(c[h>>2]|0,16,199882,q);else d=0}}else d=0}while(0);Mb=r;return d|0}function de(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;l=(c|0)!=0;c=0-f|0;if(l){g=d[b+c>>0]|0;c=d[b+~f>>0]|0}else{c=d[b+c>>0]|0;g=c}j=d[b+(1-f)>>0]|0;k=j+2|0;q=(k+c+(g<<1)|0)>>>2;m=d[b+(2-f)>>0]|0;i=g+2|0;j=(i+(j<<1)+m|0)>>>2;n=d[b+(3-f)>>0]|0;k=(k+(m<<1)+n|0)>>>2;o=d[b+(4-f)>>0]|0;m=(m+2+(n<<1)+o|0)>>>2;p=d[b+(5-f)>>0]|0;n=(n+2+(o<<1)+p|0)>>>2;g=d[b+(6-f)>>0]|0;o=(o+2+(p<<1)+g|0)>>>2;h=d[b+(7-f)>>0]|0;p=(p+2+(g<<1)+h|0)>>>2;if(!e)c=h;else c=d[b+(8-f)>>0]|0;e=(g+2+(h<<1)+c|0)>>>2;if(l){h=d[b+~f>>0]|0;c=d[b+-1>>0]|0;g=h}else{h=d[b+-1>>0]|0;c=h;g=d[b+~f>>0]|0}y=d[b+(f+-1)>>0]|0;x=y+2|0;w=(x+h+(c<<1)|0)>>>2;l=f<<1;A=d[b+(l+-1)>>0]|0;y=(c+2+(y<<1)+A|0)>>>2;h=f*3|0;z=d[b+(h+-1)>>0]|0;x=(x+(A<<1)+z|0)>>>2;r=f<<2;C=d[b+(r+-1)>>0]|0;A=(A+2+(z<<1)+C|0)>>>2;s=f*5|0;v=d[b+(s+-1)>>0]|0;z=(z+2+(C<<1)+v|0)>>>2;t=f*6|0;B=d[b+(t+-1)>>0]|0;C=(C+2+(v<<1)+B|0)>>>2;u=f*7|0;B=(v+2+(B<<1)+(d[b+(u+-1)>>0]|0)|0)>>>2;v=(i+c+(g<<1)|0)>>>2;a[b+t>>0]=(A+2+(z<<1)+C|0)>>>2;a[b+u>>0]=(z+2+(C<<1)+B|0)>>>2;g=y+2|0;c=(g+(x<<1)+A|0)>>>2&255;a[b+(t|1)>>0]=c;a[b+r>>0]=c;c=(x+2+(A<<1)+z|0)>>>2&255;a[b+(u+1)>>0]=c;a[b+s>>0]=c;g=(g+(w<<1)+v|0)>>>2&255;a[b+(t+2)>>0]=g;a[b+(r|1)>>0]=g;a[b+l>>0]=g;g=(w+2+(y<<1)+x|0)>>>2&255;a[b+(u+2)>>0]=g;a[b+(s+1)>>0]=g;a[b+h>>0]=g;g=q+2|0;c=(g+w+(v<<1)|0)>>>2&255;a[b+(u+3)>>0]=c;a[b+(s+2)>>0]=c;a[b+(h+1)>>0]=c;a[b+f>>0]=c;c=q+1|0;i=(c+v|0)>>>1&255;a[b+(t+3)>>0]=i;a[b+(r|2)>>0]=i;a[b+(l|1)>>0]=i;a[b>>0]=i;i=j+2|0;q=(i+(q<<1)+v|0)>>>2&255;a[b+(u+4)>>0]=q;a[b+(s+3)>>0]=q;a[b+(h+2)>>0]=q;a[b+(f+1)>>0]=q;q=(c+j|0)>>>1&255;a[b+(t+4)>>0]=q;a[b+(r|3)>>0]=q;a[b+(l+2)>>0]=q;a[b+1>>0]=q;q=(g+(j<<1)+k|0)>>>2&255;a[b+(u+5)>>0]=q;a[b+(s+4)>>0]=q;a[b+(h+3)>>0]=q;a[b+(f+2)>>0]=q;q=(j+1+k|0)>>>1&255;a[b+(t+5)>>0]=q;a[b+(r+4)>>0]=q;a[b+(l+3)>>0]=q;a[b+2>>0]=q;q=(i+(k<<1)+m|0)>>>2&255;a[b+(u+6)>>0]=q;a[b+(s+5)>>0]=q;a[b+(h+4)>>0]=q;a[b+(f+3)>>0]=q;q=(k+1+m|0)>>>1&255;a[b+(t+6)>>0]=q;a[b+(r+5)>>0]=q;a[b+(l+4)>>0]=q;a[b+3>>0]=q;q=(k+2+(m<<1)+n|0)>>>2&255;a[b+(u+7)>>0]=q;a[b+(s+6)>>0]=q;a[b+(h+5)>>0]=q;a[b+(f+4)>>0]=q;q=(m+1+n|0)>>>1&255;a[b+(t+7)>>0]=q;a[b+(r+6)>>0]=q;a[b+(l+5)>>0]=q;a[b+4>>0]=q;q=(m+2+(n<<1)+o|0)>>>2&255;a[b+(s+7)>>0]=q;a[b+(h+6)>>0]=q;a[b+(f+5)>>0]=q;q=(n+1+o|0)>>>1&255;a[b+(r+7)>>0]=q;a[b+(l+6)>>0]=q;a[b+5>>0]=q;q=(n+2+(o<<1)+p|0)>>>2&255;a[b+(h+7)>>0]=q;a[b+(f+6)>>0]=q;q=(o+1+p|0)>>>1&255;a[b+(l+7)>>0]=q;a[b+6>>0]=q;a[b+(f+7)>>0]=(o+2+(p<<1)+e|0)>>>2;a[b+7>>0]=(p+1+e|0)>>>1;return}function ee(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=Mb;Mb=Mb+304|0;l=r+288|0;o=r;p=a+11140|0;n=a+12260|0;a:do if(!(QT(a)|0)){Xw(a,16,209805,r+280|0);g=-22}else{q=a+13416|0;j=a+13100|0;k=(b|0)!=0;h=c[q>>2]|0;while(1){if((h|0)<=0){m=11;break}h=xj(j,(h|0)<16384?h:16384)|0;if((h|0)<0){g=h;break}oD(j,o);h=c[q>>2]|0;c[q>>2]=0-h;f=ee(a,o,(h|0)<16384?h:16384,e,f)|0;h=c[q>>2]|0;i=0-h|0;c[q>>2]=i;if((f|0)<=0){m=7;break}h=i-f|0;c[q>>2]=h;if(!(k|(h|0)!=0)){g=0;break a}else f=0}if((m|0)==7)if(!h){c[l>>2]=209839;c[l+4>>2]=209457;c[l+8>>2]=739;Xw(0,0,213444,l);ba()}else g=0;else if((m|0)==11){do if(!e){g=a+13444|0;if(!(c[g>>2]|0))if(!(c[a+13384>>2]|0)){g=0;break a}else break;h=a+13392|0;if(!(c[h>>2]|0))Vb[c[(c[a+13448>>2]|0)+12>>2]&31](a)|0;c[a+13388>>2]=0;c[h>>2]=1}else{Ot(p,e);g=a+13444|0}while(0);Ot(n,b);if(c[g>>2]|0){g=fd(a,n,d,p,f)|0;if((g|0)<=0)break;if(c[q>>2]|0)break;n=c[a+40>>2]|0;n=XJ(n|0,((n|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;o=M()|0;q=a+13400|0;p=q;p=SO(n|0,o|0,c[p>>2]|0,c[p+4>>2]|0)|0;a=M()|0;c[q>>2]=p;c[q+4>>2]=a;break}rk(o|0,p|0,280)|0;b=a+13384|0;h=c[b>>2]|0;g=(h|0)<(d|0)?h:d;if(g){j=a+13380|0;at(o,a+12540|0,c[j>>2]|0);g=fd(a,n,g,o,g)|0;if((g|0)>=0){c[b>>2]=(c[b>>2]|0)-g;c[j>>2]=(c[j>>2]|0)+g;at(n,n,g);h=d-g|0;i=c[b>>2]|0;if(!i){c[j>>2]=0;d=h;h=0;m=26}else{d=h;h=i;m=26}}}else{g=0;m=26}b:do if((m|0)==26){do if(f){l=a+13380|0;k=c[l>>2]|0;h=h+f-d|0;i=h+k|0;e=(f|0)>(d|0);do if(e){j=a+12540|0;if((h|0)>(k|0)?1:(i|0)<=(c[a+12808>>2]|0)){h=xj(j,i)|0;if((h|0)<0){g=h;break b}else break}else{at(o,j,k);wn(j,o,c[b>>2]|0);c[l>>2]=0;break}}while(0);if(d){h=e?d:f;h=fd(a,n,h,p,h)|0;if((h|0)<0){g=h;break b}at(p,p,h);f=f-h|0;g=h+g|0;if(!f)break}at(o,a+12540|0,(c[b>>2]|0)+(c[l>>2]|0)|0);wn(o,p,f);c[b>>2]=(c[b>>2]|0)+f}while(0);if((g|0)>0?(c[q>>2]|0)==0:0){n=c[a+40>>2]|0;n=XJ(n|0,((n|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;o=M()|0;q=a+13400|0;p=q;p=SO(n|0,o|0,c[p>>2]|0,c[p+4>>2]|0)|0;a=M()|0;c[q>>2]=p;c[q+4>>2]=a}}while(0);break}}while(0);Mb=r;return g|0}function fe(a){a=a|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0;y=Mb;Mb=Mb+528|0;x=y+512|0;u=y;e=c[a+32>>2]|0;if(!e){b[a+310386>>1]=b[a+310226>>1]|0;b[a+310388>>1]=b[a+310226+(c[a+310112>>2]<<1)>>1]|0;c[a+310124>>2]=1}else{w=+f[163512+(e+-1<<2)>>2];g=a+310386|0;i=c[a+76>>2]|0;b[x>>1]=i;k=a+310448|0;h=(c[k>>2]|0)+1|0;e=1;while(1){if((e|0)==(h|0))break;t=(i&65535)+(d[e+-1+(a+310452)>>0]|0)|0;b[x+(e<<1)>>1]=t;e=e+1|0;i=t}e=a+310388|0;h=a+310112|0;i=c[h>>2]|0;rk(g|0,a+310226|0,(i<<1)+2|0)|0;j=c[k>>2]|0;if(j>>>0>1){rk(a+310386+(i<<1)+2|0,x+2|0,(j<<1)+-2|0)|0;i=c[h>>2]|0;j=c[k>>2]|0}c[u>>2]=g;t=i+j|0;c[u+4>>2]=a+310386+(t<<1)+-2;h=1;while(1){if(!h)break;h=h+-1|0;k=c[u+(h<<3)>>2]|0;i=c[u+(h<<3)+4>>2]|0;while(1){if(k>>>0>=i>>>0)break;p=i+-2|0;if(k>>>0>=p>>>0){v=40;break}m=i+-4|0;n=k+2|0;r=i;s=k;q=k+(r-s>>2<<1)|0;if((_R(k,i)|0)<=0)if((_R(k,q)|0)>0){l=q;v=15}else l=1;else{l=(_R(i,q)|0)>0;l=l?q:i;v=15}if((v|0)==15){v=0;o=b[l>>1]|0;b[l>>1]=b[k>>1]|0;b[k>>1]=o;l=0}if((_R(q,i)|0)>0){l=b[i>>1]|0;b[i>>1]=b[q>>1]|0;b[q>>1]=l;l=0}if((k|0)==(m|0))break;o=b[q>>1]|0;b[q>>1]=b[p>>1]|0;b[p>>1]=o;o=m;while(1){if(n>>>0>o>>>0)break;while(1){if(n>>>0>o>>>0)break;if((_R(n,p)|0)>=0)break;n=n+2|0}m=o;while(1){if(n>>>0>m>>>0)break;if((_R(m,p)|0)<=0){v=29;break}m=m+-2|0}if((v|0)==29){v=0;o=b[m>>1]|0;b[m>>1]=b[n>>1]|0;b[n>>1]=o;m=m+-2|0;n=n+2|0}o=m}m=b[n>>1]|0;b[n>>1]=b[p>>1]|0;b[p>>1]=m;if(l|0?(q|0)==(n|0)|(q|0)==(n+-2|0):0){l=k;while(1){if(l>>>0>=i>>>0)break;m=l+2|0;if((_R(l,m)|0)<1)l=m;else break}if((l|0)==(i|0))break}q=n;if((r-q|0)<(q-s|0)){c[u+(h<<3)>>2]=k;c[u+(h<<3)+4>>2]=o;k=n+2|0}else{c[u+(h<<3)>>2]=n+2;c[u+(h<<3)+4>>2]=i;i=o}h=h+1|0}if((v|0)==40?(v=0,(_R(k,i)|0)>0):0){s=b[i>>1]|0;b[i>>1]=b[k>>1]|0;b[k>>1]=s}}m=a+310124|0;h=t+-1|0;a:while(1){c[m>>2]=h;l=a+310386+(h<<1)|0;while(1){if(g>>>0>=l>>>0)break a;k=b[e>>1]|0;i=b[g>>1]|0;if(!(w*+(i&65535)<=+(k&65535))){if(k<<16>>16==i<<16>>16){v=51;break}if(!(rJ(x,j,k)|0)){v=51;break}e=e+2|0;if(!(rJ(x,j,i)|0)){v=54;break}g=g+2|0;b[g>>1]=k}else{g=g+2|0;b[g>>1]=k;e=e+2|0}}if((v|0)==51){e=e+2|0;h=h+-1|0}else if((v|0)==54){b[g>>1]=k;h=h+-1|0}}}Mb=y;return}function ge(f,g,h,i,j,k,l){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=Mb;Mb=Mb+304|0;t=A;u=A+256|0;z=g+32860|0;r=u+4|0;c[r>>2]=c[z>>2];w=g+32856|0;c[u>>2]=c[w>>2];x=g+32872|0;y=u+16|0;c[y>>2]=c[x>>2];q=c[g+21828>>2]|0;p=(c[88720+(q*56|0)+(i<<2)>>2]|0)+(g+32904)|0;q=(c[88832+(q*56|0)+(i<<2)>>2]|0)+(g+32904)|0;s=(c[88976+(i<<2)>>2]|0)+(g+32904)|0;o=l+-1|0;n=0;m=0;while(1){if((n|0)>=(o|0)){v=6;break}if(Gu(u,p+n|0)|0){l=m+1|0;c[t+(m<<2)>>2]=n;if(!(Gu(u,q+n|0)|0))m=l;else{m=l;break}}n=n+1|0}if((v|0)==6)if((n|0)==(o|0)){c[t+(m<<2)>>2]=o;m=m+1|0}q=(i|0)==3;i=(c[f+26376>>2]|0)+(c[g+21796>>2]<<1)|0;b[i>>1]=(q?64:256)<<(q?-49:-48)+j|(e[i>>1]|0);a[(d[88656+j>>0]|0)+(g+27824)>>0]=m;if(!(c[f+25652>>2]|0)){q=m;l=0;while(1){q=q+-1|0;f=d[k+(c[t+(q<<2)>>2]|0)>>0]|0;if(!(Gu(u,s+(d[201427+l>>0]|0)|0)|0)){m=d[88944+l>>0]|0;j=c[u>>2]|0;l=j<<1;c[u>>2]=l;if(!(j&32767)){CM(u);l=c[u>>2]|0}j=c[r>>2]|0;p=j<<17;l=l-p|0;o=l>>31;l=(o&p)+l|0;c[u>>2]=l;p=m;n=o^65535;m=j}else{m=s+(d[88960+l>>0]|0)|0;p=d[88952+l>>0]|0;l=2;while(1){if(l>>>0>=15){v=35;break}if(!(Gu(u,m)|0))break;l=l+1|0}if((v|0)==35){v=0;l=0;while(1)if(l>>>0<23&(cI(u)|0)!=0)l=l+1|0;else break;m=1;while(1){if(!l)break;l=l+-1|0;m=(cI(u)|0)+(m<<1)|0}l=m+14|0}j=c[u>>2]|0;m=j<<1;c[u>>2]=m;if(!(j&32767)){CM(u);m=c[u>>2]|0}j=c[r>>2]|0;n=j<<17;m=m-n|0;o=m>>31;m=(o&n)+m|0;c[u>>2]=m;n=o^0-l;l=m;m=j}b[h+(f<<1)>>1]=n-o;if(!q)break;else l=p}}else{l=0;q=m;while(1){q=q+-1|0;f=d[k+(c[t+(q<<2)>>2]|0)>>0]|0;if(!(Gu(u,s+(d[201427+l>>0]|0)|0)|0)){m=d[88944+l>>0]|0;j=c[u>>2]|0;l=j<<1;c[u>>2]=l;if(!(j&32767)){CM(u);l=c[u>>2]|0}j=c[r>>2]|0;p=j<<17;l=l-p|0;o=l>>31;l=(o&p)+l|0;c[u>>2]=l;p=m;n=~o;m=j}else{m=s+(d[88960+l>>0]|0)|0;p=d[88952+l>>0]|0;l=2;while(1){if(l>>>0>=15){v=17;break}if(!(Gu(u,m)|0))break;l=l+1|0}if((v|0)==17){v=0;l=0;while(1)if(l>>>0<23&(cI(u)|0)!=0)l=l+1|0;else break;m=1;while(1){if(!l)break;l=l+-1|0;m=(cI(u)|0)+(m<<1)|0}l=m+14|0}j=c[u>>2]|0;m=j<<1;c[u>>2]=m;if(!(j&32767)){CM(u);m=c[u>>2]|0}j=c[r>>2]|0;n=j<<17;m=m-n|0;o=m>>31;m=(o&n)+m|0;c[u>>2]=m;n=o^0-l;l=m;m=j}c[h+(f<<2)>>2]=n-o;if(!q)break;else l=p}}c[z>>2]=m;c[w>>2]=l;c[x>>2]=c[y>>2];Mb=A;return}function he(a,b,e,g,h){a=a|0;b=b|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0;O=Mb;Mb=Mb+384|0;K=O+192|0;L=O;M=(c[e+44>>2]|0)==0;F=(M&1)<<2;G=c[e+76>>2]|0;H=c[e+84>>2]|0;I=g+87944|0;r=c[I>>2]|0;J=g+87948|0;s=c[J>>2]|0;a:do if(!(c[e+16>>2]|0)){if(M){j=g+87932|0;k=g+87940|0;i=0;while(1){if((i|0)==4)break a;rk(g+69904+((((d[j>>0]|0)<<1)+i|0)*192|0)|0,g+69904+((((d[k>>0]|0)<<1)+i|0)*192|0)|0,192)|0;rk(g+77968+((((d[j>>0]|0)<<1)+i|0)*192|0)|0,g+77968+((((d[k>>0]|0)<<1)+i|0)*192|0)|0,192)|0;i=i+1|0}}}else{j=g+87932|0;k=e+388176|0;l=H<<2;m=e+385488|0;i=0;while(1){if((i|0)==(F|0))break a;rk(g+69904+((((d[j>>0]|0)<<1)+i|0)*192|0)|0,k|0,l|0)|0;rk(g+77968+((((d[j>>0]|0)<<1)+i|0)*192|0)|0,m|0,l|0)|0;i=i+1|0}}while(0);E=g+8|0;j=H<<2;q=c[E>>2]|0;i=0;while(1){if(i>>>0>=q>>>0)break;k=i+1|0;l=g+87932+k|0;m=e+388176+(i*192|0)|0;n=e+385488+(i*192|0)|0;i=(d[g+87932+i>>0]|0)<<1;while(1){if(i>>>0>=(d[l>>0]|0)<<1>>>0)break;D=i+F|0;rk(g+69904+(D*192|0)|0,m|0,j|0)|0;rk(g+77968+(D*192|0)|0,n|0,j|0)|0;i=i+1|0}i=k}D=e+390988|0;w=b+(G*320|0)|0;x=h+4|0;y=G&1;z=(H&1|0)==0;A=F|1;B=((H|0)>1?H:1)&2147483646;C=B<<1;k=r;j=s;v=0;i=q;while(1){if(v>>>0>=i>>>0)break;r=v+1|0;s=g+87932+r|0;t=e+386832+(v*192|0)|0;u=e+386832+(v*192|0)+(B<<2)|0;q=(d[g+87932+v>>0]|0)<<1;while(1){if(q>>>0>=(d[s>>0]|0)<<1>>>0)break;b:do if((M?(v|0)!=(c[h>>2]|0):0)?(v|0)!=(c[x>>2]|0):0){m=q+F|0;l=0;while(1){if((l|0)>=(H|0)){i=L;l=K;break b}n=K+(l<<2)|0;f[n>>2]=0.0;b=L+(l<<2)|0;f[b>>2]=0.0;i=0;o=0.0;p=0.0;while(1){if((i|0)==(A|0))break;R=m-i|0;P=+f[51408+(i<<2)>>2];Q=o+ +f[g+69904+(R*192|0)+(l<<2)>>2]*P;f[n>>2]=Q;P=p+P*+f[g+77968+(R*192|0)+(l<<2)>>2];f[b>>2]=P;i=i+1|0;o=Q;p=P}l=l+1|0}}else N=28;while(0);if((N|0)==28){N=0;i=g+77968+(q*192|0)|0;l=g+69904+((q+F|0)*192|0)|0}m=a+(q<<9)+(G<<3)|0;jc[c[D>>2]&127](m,w,l,H,q+2|0);if((v|0)!=(c[h>>2]|0)?(v|0)!=(c[x>>2]|0):0)kc[c[e+390992+(j<<2)>>2]&63](m,t,i,k,G,H);else{i=j&1;R=1-(j+y&2)|0;l=a+(q<<9)+(G<<3)+(i<<2)|0;o=+(R|0);p=+((R^0-i)+i|0);i=0;while(1){m=i|1;if((m|0)>=(H|0))break;R=i<<1;b=l+(R<<2)|0;f[b>>2]=+f[b>>2]+ +f[e+386832+(v*192|0)+(i<<2)>>2]*o;R=l+((R|2)<<2)|0;f[R>>2]=+f[R>>2]+ +f[e+386832+(v*192|0)+(m<<2)>>2]*p;i=i+2|0}if(!z){R=l+(C<<2)|0;f[R>>2]=+f[R>>2]+ +f[u>>2]*o}}k=k+H&511;j=j+1&3;q=q+1|0}v=r;i=c[E>>2]|0}c[I>>2]=k;c[J>>2]=j;Mb=O;return}function ie(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;k=h>>1;A=g*13|0;i=c;j=0;d=d+(0-(h&-2)<<1)|0;while(1){if((j|0)==13)break;x=d+2|0;y=d+-2|0;w=d+4|0;u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=d+6|0;b[i>>1]=(((e[x>>1]|0)+(e[d>>1]|0)|0)*20|0)+(e[d+-4>>1]|0)+u+(e[v>>1]|0);u=H((e[v>>1]|0)+(e[d>>1]|0)|0,-5)|0;t=d+8|0;b[i+2>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+(e[y>>1]|0)+u+(e[t>>1]|0);u=H((e[t>>1]|0)+(e[x>>1]|0)|0,-5)|0;y=d+10|0;b[i+4>>1]=(((e[v>>1]|0)+(e[w>>1]|0)|0)*20|0)+(e[d>>1]|0)+u+(e[y>>1]|0);u=H((e[y>>1]|0)+(e[w>>1]|0)|0,-5)|0;z=d+12|0;b[i+6>>1]=(((e[t>>1]|0)+(e[v>>1]|0)|0)*20|0)+(e[x>>1]|0)+u+(e[z>>1]|0);u=H((e[z>>1]|0)+(e[v>>1]|0)|0,-5)|0;x=d+14|0;b[i+8>>1]=(((e[y>>1]|0)+(e[t>>1]|0)|0)*20|0)+(e[w>>1]|0)+u+(e[x>>1]|0);u=H((e[x>>1]|0)+(e[t>>1]|0)|0,-5)|0;w=d+16|0;b[i+10>>1]=(((e[z>>1]|0)+(e[y>>1]|0)|0)*20|0)+(e[v>>1]|0)+u+(e[w>>1]|0);u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=d+18|0;b[i+12>>1]=(((e[x>>1]|0)+(e[z>>1]|0)|0)*20|0)+(e[t>>1]|0)+u+(e[v>>1]|0);z=H((e[v>>1]|0)+(e[z>>1]|0)|0,-5)|0;b[i+14>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+(e[y>>1]|0)+z+(e[d+20>>1]|0);i=i+(g<<1)|0;j=j+1|0;d=d+(k<<1)|0}o=f>>1;p=H(g,-2)|0;q=0-g|0;r=g<<1;s=g*3|0;t=g<<2;u=g*5|0;v=g*6|0;w=g*7|0;x=g<<3;y=g*9|0;z=g*10|0;j=f&-2;k=o*3|0;f=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;i=a;d=c+(A<<1)+((H(g,-11)|0)<<1)|0;h=0;while(1){if((h|0)==8)break;D=b[d+(q<<1)>>1]|0;M=b[d>>1]|0;L=b[d+(g<<1)>>1]|0;K=b[d+(r<<1)>>1]|0;J=b[d+(s<<1)>>1]|0;G=b[d+(t<<1)>>1]|0;E=b[d+(u<<1)>>1]|0;A=b[d+(v<<1)>>1]|0;a=b[d+(w<<1)>>1]|0;B=b[d+(x<<1)>>1]|0;c=b[d+(y<<1)>>1]|0;C=b[d+(z<<1)>>1]|0;I=J+512|0;F=I+(b[d+(p<<1)>>1]|0)+((L+M|0)*20|0)+(H(K+D|0,-5)|0)>>10;b[i>>1]=F>>>0<512?F:(F^-2147483648)>>31&511;F=G+512|0;D=F+D+((K+L|0)*20|0)+(H(J+M|0,-5)|0)>>10;b[i+(o<<1)>>1]=D>>>0<512?D:(D^-2147483648)>>31&511;D=E+512|0;M=D+M+((J+K|0)*20|0)+(H(G+L|0,-5)|0)>>10;b[i+(j<<1)>>1]=M>>>0<512?M:(M^-2147483648)>>31&511;L=L+512+A+((G+J|0)*20|0)+(H(E+K|0,-5)|0)>>10;b[i+(k<<1)>>1]=L>>>0<512?L:(L^-2147483648)>>31&511;J=K+512+a+((E+G|0)*20|0)+(H(A+J|0,-5)|0)>>10;b[i+(f<<1)>>1]=J>>>0<512?J:(J^-2147483648)>>31&511;G=I+B+((A+E|0)*20|0)+(H(a+G|0,-5)|0)>>10;b[i+(l<<1)>>1]=G>>>0<512?G:(G^-2147483648)>>31&511;E=F+c+((a+A|0)*20|0)+(H(B+E|0,-5)|0)>>10;b[i+(m<<1)>>1]=E>>>0<512?E:(E^-2147483648)>>31&511;A=D+C+((B+a|0)*20|0)+(H(c+A|0,-5)|0)>>10;b[i+(n<<1)>>1]=A>>>0<512?A:(A^-2147483648)>>31&511;i=i+2|0;d=d+2|0;h=h+1|0}return}function je(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;g=(c|0)!=0;c=0-f|0;if(g){e=d[b+c>>0]|0;c=d[b+~f>>0]|0}else{c=d[b+c>>0]|0;e=c}i=d[b+(1-f)>>0]|0;j=i+2|0;o=(j+c+(e<<1)|0)>>>2;k=d[b+(2-f)>>0]|0;h=e+2|0;i=(h+(i<<1)+k|0)>>>2;l=d[b+(3-f)>>0]|0;j=(j+(k<<1)+l|0)>>>2;m=d[b+(4-f)>>0]|0;k=(k+2+(l<<1)+m|0)>>>2;e=d[b+(5-f)>>0]|0;l=(l+2+(m<<1)+e|0)>>>2;n=d[b+(6-f)>>0]|0;m=(m+2+(e<<1)+n|0)>>>2;n=(e+2+(n<<1)+(d[b+(7-f)>>0]|0)|0)>>>2;if(g){g=d[b+~f>>0]|0;c=d[b+-1>>0]|0;e=g}else{g=d[b+-1>>0]|0;c=g;e=d[b+~f>>0]|0}s=d[b+(f+-1)>>0]|0;u=s+2|0;q=(u+g+(c<<1)|0)>>>2;g=f<<1;w=d[b+(g+-1)>>0]|0;s=(c+2+(s<<1)+w|0)>>>2;p=f*3|0;y=d[b+(p+-1)>>0]|0;u=(u+(w<<1)+y|0)>>>2;r=f<<2;z=d[b+(r+-1)>>0]|0;w=(w+2+(y<<1)+z|0)>>>2;t=f*5|0;A=d[b+(t+-1)>>0]|0;y=(y+2+(z<<1)+A|0)>>>2;v=f*6|0;C=d[b+(v+-1)>>0]|0;z=(z+2+(A<<1)+C|0)>>>2;x=f*7|0;B=d[b+(x+-1)>>0]|0;A=(A+2+(C<<1)+B|0)>>>2;B=(C+2+(B*3|0)|0)>>>2;c=(h+c+(e<<1)|0)>>>2;a[b+x>>0]=(A+1+B|0)>>>1;a[b+(x+1)>>0]=(z+2+B+(A<<1)|0)>>>2;h=(z+1+A|0)>>>1&255;a[b+(x+2)>>0]=h;a[b+v>>0]=h;h=(y+2+(z<<1)+A|0)>>>2&255;a[b+(x+3)>>0]=h;a[b+(v|1)>>0]=h;h=(y+1+z|0)>>>1&255;a[b+(x+4)>>0]=h;a[b+(v+2)>>0]=h;a[b+t>>0]=h;h=(w+2+(y<<1)+z|0)>>>2&255;a[b+(x+5)>>0]=h;a[b+(v+3)>>0]=h;a[b+(t+1)>>0]=h;h=(w+1+y|0)>>>1&255;a[b+(x+6)>>0]=h;a[b+(v+4)>>0]=h;a[b+(t+2)>>0]=h;a[b+r>>0]=h;h=(u+2+(w<<1)+y|0)>>>2&255;a[b+(x+7)>>0]=h;a[b+(v+5)>>0]=h;a[b+(t+3)>>0]=h;a[b+(r|1)>>0]=h;h=(u+1+w|0)>>>1&255;a[b+(v+6)>>0]=h;a[b+(t+4)>>0]=h;a[b+(r|2)>>0]=h;a[b+p>>0]=h;h=s+2|0;e=(h+(u<<1)+w|0)>>>2&255;a[b+(v+7)>>0]=e;a[b+(t+5)>>0]=e;a[b+(r|3)>>0]=e;a[b+(p+1)>>0]=e;e=(s+1+u|0)>>>1&255;a[b+(t+6)>>0]=e;a[b+(r+4)>>0]=e;a[b+(p+2)>>0]=e;a[b+g>>0]=e;e=(q+2+(s<<1)+u|0)>>>2&255;a[b+(t+7)>>0]=e;a[b+(r+5)>>0]=e;a[b+(p+3)>>0]=e;a[b+(g|1)>>0]=e;e=q+1|0;s=(e+s|0)>>>1&255;a[b+(r+6)>>0]=s;a[b+(p+4)>>0]=s;a[b+(g+2)>>0]=s;a[b+f>>0]=s;h=(h+(q<<1)+c|0)>>>2&255;a[b+(r+7)>>0]=h;a[b+(p+5)>>0]=h;a[b+(g+3)>>0]=h;a[b+(f+1)>>0]=h;e=(e+c|0)>>>1&255;a[b+(p+6)>>0]=e;a[b+(g+4)>>0]=e;a[b+(f+2)>>0]=e;a[b>>0]=e;e=o+2|0;h=(e+q+(c<<1)|0)>>>2&255;a[b+(p+7)>>0]=h;a[b+(g+5)>>0]=h;a[b+(f+3)>>0]=h;a[b+1>>0]=h;h=i+2|0;o=(h+(o<<1)+c|0)>>>2&255;a[b+(g+6)>>0]=o;a[b+(f+4)>>0]=o;a[b+2>>0]=o;o=(e+(i<<1)+j|0)>>>2&255;a[b+(g+7)>>0]=o;a[b+(f+5)>>0]=o;a[b+3>>0]=o;o=(h+(j<<1)+k|0)>>>2&255;a[b+(f+6)>>0]=o;a[b+4>>0]=o;o=(j+2+(k<<1)+l|0)>>>2&255;a[b+(f+7)>>0]=o;a[b+5>>0]=o;a[b+6>>0]=(k+2+(l<<1)+m|0)>>>2;a[b+7>>0]=(l+2+(m<<1)+n|0)>>>2;return}function ke(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;l=(c|0)!=0;c=0-f|0;if(l){g=d[b+c>>0]|0;c=d[b+~f>>0]|0}else{c=d[b+c>>0]|0;g=c}j=d[b+(1-f)>>0]|0;k=j+2|0;s=(k+c+(g<<1)|0)>>>2;m=d[b+(2-f)>>0]|0;i=g+2|0;j=(i+(j<<1)+m|0)>>>2;n=d[b+(3-f)>>0]|0;k=(k+(m<<1)+n|0)>>>2;p=d[b+(4-f)>>0]|0;m=(m+2+(n<<1)+p|0)>>>2;r=d[b+(5-f)>>0]|0;n=(n+2+(p<<1)+r|0)>>>2;o=d[b+(6-f)>>0]|0;p=(p+2+(r<<1)+o|0)>>>2;q=d[b+(7-f)>>0]|0;r=(r+2+(o<<1)+q|0)>>>2;if(!e)h=q;else h=d[b+(8-f)>>0]|0;if(l){e=d[b+~f>>0]|0;c=d[b+-1>>0]|0;g=e}else{e=d[b+-1>>0]|0;c=e;g=d[b+~f>>0]|0}z=d[b+(f+-1)>>0]|0;y=z+2|0;x=(y+e+(c<<1)|0)>>>2;l=f<<1;A=d[b+(l+-1)>>0]|0;z=(c+2+(z<<1)+A|0)>>>2;e=f*3|0;B=d[b+(e+-1)>>0]|0;y=(y+(A<<1)+B|0)>>>2;t=f<<2;C=d[b+(t+-1)>>0]|0;A=(A+2+(B<<1)+C|0)>>>2;u=f*5|0;D=d[b+(u+-1)>>0]|0;B=(B+2+(C<<1)+D|0)>>>2;v=f*6|0;F=d[b+(v+-1)>>0]|0;C=(C+2+(D<<1)+F|0)>>>2;w=f*7|0;E=d[b+(w+-1)>>0]|0;D=(D+2+(F<<1)+E|0)>>>2;c=(i+c+(g<<1)|0)>>>2;a[b+w>>0]=(C+2+((F+2+(E*3|0)|0)>>>2)+(D<<1)|0)>>>2;g=(B+2+(C<<1)+D|0)>>>2&255;a[b+(w+1)>>0]=g;a[b+v>>0]=g;g=(A+2+(B<<1)+C|0)>>>2&255;a[b+(w+2)>>0]=g;a[b+(v|1)>>0]=g;a[b+u>>0]=g;g=(y+2+(A<<1)+B|0)>>>2&255;a[b+(w+3)>>0]=g;a[b+(v+2)>>0]=g;a[b+(u+1)>>0]=g;a[b+t>>0]=g;g=z+2|0;i=(g+(y<<1)+A|0)>>>2&255;a[b+(w+4)>>0]=i;a[b+(v+3)>>0]=i;a[b+(u+2)>>0]=i;a[b+(t|1)>>0]=i;a[b+e>>0]=i;i=(x+2+(z<<1)+y|0)>>>2&255;a[b+(w+5)>>0]=i;a[b+(v+4)>>0]=i;a[b+(u+3)>>0]=i;a[b+(t|2)>>0]=i;a[b+(e+1)>>0]=i;a[b+l>>0]=i;g=(g+(x<<1)+c|0)>>>2&255;a[b+(w+6)>>0]=g;a[b+(v+5)>>0]=g;a[b+(u+4)>>0]=g;a[b+(t|3)>>0]=g;a[b+(e+2)>>0]=g;a[b+(l|1)>>0]=g;a[b+f>>0]=g;g=s+2|0;i=(g+x+(c<<1)|0)>>>2&255;a[b+(w+7)>>0]=i;a[b+(v+6)>>0]=i;a[b+(u+5)>>0]=i;a[b+(t+4)>>0]=i;a[b+(e+3)>>0]=i;a[b+(l+2)>>0]=i;a[b+(f+1)>>0]=i;a[b>>0]=i;i=j+2|0;s=(i+(s<<1)+c|0)>>>2&255;a[b+(v+7)>>0]=s;a[b+(u+6)>>0]=s;a[b+(t+5)>>0]=s;a[b+(e+4)>>0]=s;a[b+(l+3)>>0]=s;a[b+(f+2)>>0]=s;a[b+1>>0]=s;s=(g+(j<<1)+k|0)>>>2&255;a[b+(u+7)>>0]=s;a[b+(t+6)>>0]=s;a[b+(e+5)>>0]=s;a[b+(l+4)>>0]=s;a[b+(f+3)>>0]=s;a[b+2>>0]=s;s=(i+(k<<1)+m|0)>>>2&255;a[b+(t+7)>>0]=s;a[b+(e+6)>>0]=s;a[b+(l+5)>>0]=s;a[b+(f+4)>>0]=s;a[b+3>>0]=s;s=(k+2+(m<<1)+n|0)>>>2&255;a[b+(e+7)>>0]=s;a[b+(l+6)>>0]=s;a[b+(f+5)>>0]=s;a[b+4>>0]=s;s=(m+2+(n<<1)+p|0)>>>2&255;a[b+(l+7)>>0]=s;a[b+(f+6)>>0]=s;a[b+5>>0]=s;s=(n+2+(p<<1)+r|0)>>>2&255;a[b+(f+7)>>0]=s;a[b+6>>0]=s;a[b+7>>0]=(p+2+(r<<1)+((o+2+(q<<1)+h|0)>>>2)|0)>>>2;return}function le(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;z=Mb;Mb=Mb+16|0;j=z;w=z+8|0;x=z+4|0;y=JN(h,g<<3)|0;c[w>>2]=y;v=JN(h,g<<4)|0;c[x>>2]=v;a:do if((v|0)!=0&(y|0)!=0){u=d+564|0;v=d+696|0;t=d+580|0;n=0;while(1){if((n|0)>=(g|0))break;o=n>>>i;p=H(n,h)|0;l=0;j=1024;d=-1;while(1){if((l|0)>=(f|0))break;s=(H(c[u>>2]|0,o)|0)+(l>>>i)|0;if((c[(c[v>>2]|0)+(s<<2)>>2]&7|0)!=0?(a[(c[t>>2]|0)+s>>0]&4)!=0:0)k=l+p|0;else{k=l+p|0;j=b[e+(k<<1)>>1]|0;d=l}b[y+(k<<3)+2>>1]=j;c[(c[x>>2]|0)+(k<<4)+4>>2]=(d|0)>-1?l-d|0:9999;l=l+1|0}k=f;j=1024;d=-1;while(1){m=k+-1|0;if((k|0)<=0)break;s=(H(c[u>>2]|0,o)|0)+(m>>i)|0;if((c[(c[v>>2]|0)+(s<<2)>>2]&7|0)!=0?(a[(c[t>>2]|0)+s>>0]&4)!=0:0){l=j;j=m+p|0}else{j=m+p|0;l=b[e+(j<<1)>>1]|0;d=m}b[y+(j<<3)>>1]=l;c[(c[x>>2]|0)+(j<<4)>>2]=(d|0)>-1?d-m|0:9999;k=m;j=l}n=n+1|0}n=0;while(1){if((n|0)>=(f|0))break;o=n>>>i;j=1024;d=-1;l=0;while(1){if((l|0)>=(g|0))break;s=(H(c[u>>2]|0,l>>>i)|0)+o|0;if((c[(c[v>>2]|0)+(s<<2)>>2]&7|0)!=0?(a[(c[t>>2]|0)+s>>0]&4)!=0:0)k=(H(l,h)|0)+n|0;else{k=(H(l,h)|0)+n|0;j=b[e+(k<<1)>>1]|0;d=l}b[y+(k<<3)+6>>1]=j;c[(c[x>>2]|0)+(k<<4)+12>>2]=(d|0)>-1?l-d|0:9999;l=l+1|0}k=g;j=1024;d=-1;while(1){m=k+-1|0;if((k|0)<=0)break;s=(H(c[u>>2]|0,m>>i)|0)+o|0;if((c[(c[v>>2]|0)+(s<<2)>>2]&7|0)!=0?(a[(c[t>>2]|0)+s>>0]&4)!=0:0){l=j;j=(H(m,h)|0)+n|0}else{j=(H(m,h)|0)+n|0;l=b[e+(j<<1)>>1]|0;d=m}b[y+(j<<3)+4>>1]=l;c[(c[x>>2]|0)+(j<<4)+8>>2]=(d|0)>-1?d-m|0:9999;k=m;j=l}n=n+1|0}k=0;while(1){if((k|0)>=(g|0))break a;l=k>>>i;m=H(k,h)|0;d=0;while(1){if((d|0)>=(f|0))break;s=(H(c[u>>2]|0,l)|0)+(d>>>i)|0;if((c[(c[v>>2]|0)+(s<<2)>>2]&120|0)==0?a[(c[t>>2]|0)+s>>0]&4:0){n=c[x>>2]|0;o=d+m|0;j=0;p=0;q=0;r=0;s=0;while(1){if((j|0)==4)break;A=c[n+(o<<4)+(j<<2)>>2]|0;A=268435456/((A>>>0>1?A:1)>>>0)|0;C=b[y+(o<<3)+(j<<1)>>1]|0;C=XJ(C|0,((C|0)<0)<<31>>31|0,A|0,0)|0;C=SO(C|0,M()|0,p|0,q|0)|0;B=M()|0;A=SO(r|0,s|0,A|0,0)|0;j=j+1|0;p=C;q=B;r=A;s=M()|0}C=oN(r|0,s|0,1)|0;C=SO(C|0,M()|0,p|0,q|0)|0;C=pu(C|0,M()|0,r|0,s|0)|0;M()|0;b[e+(o<<1)>>1]=C}d=d+1|0}k=k+1|0}}else Xw(c[d>>2]|0,16,195749,j);while(0);hM(w);hM(x);Mb=z;return}function me(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=Mb;Mb=Mb+1056|0;u=w+1024|0;v=w;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;f=a[e>>0]|0;a:do if(f<<24>>24){p=0;do{if(!(a[b+p>>0]|0)){f=0;break a}t=f&255;s=u+(t>>>5<<2)|0;c[s>>2]=c[s>>2]|1<<(t&31);p=p+1|0;c[v+(t<<2)>>2]=p;f=a[e+p>>0]|0}while(f<<24>>24!=0);m=p>>>0>1;if(m){k=1;j=1;l=0;i=-1;n=1;while(1){f=a[e+(j+i)>>0]|0;g=a[e+n>>0]|0;do if(f<<24>>24==g<<24>>24)if((j|0)==(k|0)){h=k;f=1;g=k+l|0;break}else{h=k;f=j+1|0;g=l;break}else if((f&255)>(g&255)){h=n-i|0;f=1;g=n;break}else{h=1;f=1;g=l+1|0;i=l;break}while(0);n=f+g|0;if(n>>>0>=p>>>0)break;else{k=h;j=f;l=g}}if(m){m=1;l=1;n=0;g=-1;o=1;while(1){f=a[e+(l+g)>>0]|0;j=a[e+o>>0]|0;do if(f<<24>>24==j<<24>>24)if((l|0)==(m|0)){f=m;j=1;k=m+n|0;break}else{f=m;j=l+1|0;k=n;break}else if((f&255)<(j&255)){f=o-g|0;j=1;k=o;break}else{f=1;j=1;k=n+1|0;g=n;break}while(0);o=j+k|0;if(o>>>0>=p>>>0){t=p;j=25;break}else{m=f;l=j;n=k}}}else{t=p;f=1;g=-1;j=25}}else{h=1;i=-1;t=p;f=1;g=-1;j=25}}else{h=1;i=-1;t=0;f=1;g=-1;j=25}while(0);b:do if((j|0)==25){r=(g+1|0)>>>0>(i+1|0)>>>0;f=r?f:h;r=r?g:i;s=r+1|0;if(!(Ix(e,e+f|0,s)|0)){m=t-f|0;q=m;l=f}else{m=t-r+-1|0;m=(r>>>0>m>>>0?r:m)+1|0;q=0;l=m;m=t-m|0}n=t|63;o=t+-1|0;p=(q|0)!=0;f=b;k=0;g=b;while(1){h=f;do if((g-h|0)>>>0<t>>>0){i=Cm(g,0,n)|0;if(i)if((i-h|0)>>>0<t>>>0){f=0;break b}else break;else{i=g+n|0;break}}else i=g;while(0);g=d[f+o>>0]|0;c:do if(!(1<<(g&31)&c[u+(g>>>5<<2)>>2])){h=0;g=t}else{g=t-(c[v+(g<<2)>>2]|0)|0;if(g|0){h=0;g=p&(k|0)!=0&g>>>0<l>>>0?m:g;break}j=s>>>0>k>>>0;g=j?s:k;h=a[e+g>>0]|0;d:do if(h<<24>>24){while(1){if(h<<24>>24!=(a[f+g>>0]|0))break;g=g+1|0;h=a[e+g>>0]|0;if(!(h<<24>>24))break d}h=0;g=g-r|0;break c}while(0);if(!j)break b;g=s;while(1){g=g+-1|0;if((a[e+g>>0]|0)!=(a[f+g>>0]|0)){h=q;g=l;break c}if(g>>>0<=k>>>0)break b}}while(0);f=f+g|0;k=h;g=i}}while(0);Mb=w;return f|0}function ne(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=Mb;Mb=Mb+304|0;q=y;r=y+256|0;w=g+32860|0;s=r+4|0;c[s>>2]=c[w>>2];x=g+32856|0;c[r>>2]=c[x>>2];u=g+32872|0;v=r+16|0;c[v>>2]=c[u>>2];o=c[g+21828>>2]|0;n=(c[88720+(o*56|0)+12>>2]|0)+(g+32904)|0;o=(c[88832+(o*56|0)+12>>2]|0)+(g+32904)|0;p=g+33161|0;m=0;k=0;while(1){if(m>>>0>=7){t=6;break}j=d[201420+m>>0]|0;if(Gu(r,n+j|0)|0){l=k+1|0;c[q+(k<<2)>>2]=m;if(!(Gu(r,o+j|0)|0))k=l;else{k=l;break}}m=m+1|0}if((t|0)==6)if((m|0)==7){c[q+(k<<2)>>2]=7;k=k+1|0}o=(c[f+26376>>2]|0)+(c[g+21796>>2]<<1)|0;b[o>>1]=64<<i+-49|(e[o>>1]|0);a[(d[88656+i>>0]|0)+(g+27824)>>0]=k;if(!(c[f+25652>>2]|0)){o=k;j=0;while(1){o=o+-1|0;f=d[171016+(c[q+(o<<2)>>2]|0)>>0]|0;if(!(Gu(r,p+(d[201427+j>>0]|0)|0)|0)){k=d[88944+j>>0]|0;i=c[r>>2]|0;j=i<<1;c[r>>2]=j;if(!(i&32767)){CM(r);j=c[r>>2]|0}i=c[s>>2]|0;n=i<<17;j=j-n|0;m=j>>31;j=(m&n)+j|0;c[r>>2]=j;n=k;l=m^65535;k=i}else{k=p+(d[88968+j>>0]|0)|0;n=d[88952+j>>0]|0;j=2;while(1){if(j>>>0>=15){t=35;break}if(!(Gu(r,k)|0))break;j=j+1|0}if((t|0)==35){t=0;j=0;while(1)if(j>>>0<23&(cI(r)|0)!=0)j=j+1|0;else break;k=1;while(1){if(!j)break;j=j+-1|0;k=(cI(r)|0)+(k<<1)|0}j=k+14|0}i=c[r>>2]|0;k=i<<1;c[r>>2]=k;if(!(i&32767)){CM(r);k=c[r>>2]|0}i=c[s>>2]|0;l=i<<17;k=k-l|0;m=k>>31;k=(m&l)+k|0;c[r>>2]=k;l=m^0-j;j=k;k=i}b[h+(f<<1)>>1]=l-m;if(!o)break;else j=n}}else{j=0;o=k;while(1){o=o+-1|0;f=d[171016+(c[q+(o<<2)>>2]|0)>>0]|0;if(!(Gu(r,p+(d[201427+j>>0]|0)|0)|0)){k=d[88944+j>>0]|0;i=c[r>>2]|0;j=i<<1;c[r>>2]=j;if(!(i&32767)){CM(r);j=c[r>>2]|0}i=c[s>>2]|0;n=i<<17;j=j-n|0;m=j>>31;j=(m&n)+j|0;c[r>>2]=j;n=k;l=~m;k=i}else{k=p+(d[88968+j>>0]|0)|0;n=d[88952+j>>0]|0;j=2;while(1){if(j>>>0>=15){t=17;break}if(!(Gu(r,k)|0))break;j=j+1|0}if((t|0)==17){t=0;j=0;while(1)if(j>>>0<23&(cI(r)|0)!=0)j=j+1|0;else break;k=1;while(1){if(!j)break;j=j+-1|0;k=(cI(r)|0)+(k<<1)|0}j=k+14|0}i=c[r>>2]|0;k=i<<1;c[r>>2]=k;if(!(i&32767)){CM(r);k=c[r>>2]|0}i=c[s>>2]|0;l=i<<17;k=k-l|0;m=k>>31;k=(m&l)+k|0;c[r>>2]=k;l=m^0-j;j=k;k=i}c[h+(f<<2)>>2]=l-m;if(!o)break;else j=n}}c[w>>2]=k;c[x>>2]=j;c[u>>2]=c[v>>2];Mb=y;return}function oe(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;g=0-f|0;if(!c){q=d[b+g>>0]|0;o=q}else{o=d[b+g>>0]|0;q=d[b+~f>>0]|0}r=d[b+(1-f)>>0]|0;p=r+2|0;s=d[b+(2-f)>>0]|0;t=s+2|0;r=(t+o+(r<<1)|0)>>>2;u=d[b+(3-f)>>0]|0;s=(p+(s<<1)+u|0)>>>2;w=d[b+(4-f)>>0]|0;t=(t+(u<<1)+w|0)>>>2;x=d[b+(5-f)>>0]|0;u=(u+2+(w<<1)+x|0)>>>2;v=d[b+(6-f)>>0]|0;w=(w+2+(x<<1)+v|0)>>>2;c=d[b+(7-f)>>0]|0;x=(x+2+(v<<1)+c|0)>>>2;if(!e){g=c*3|0;e=c;h=c;i=c;j=c;k=c;l=c;m=c;n=c;c=g}else{y=d[b+(8-f)>>0]|0;n=d[b+(9-f)>>0]|0;z=d[b+(10-f)>>0]|0;m=z+2|0;l=d[b+(11-f)>>0]|0;k=d[b+(12-f)>>0]|0;j=d[b+(13-f)>>0]|0;i=d[b+(14-f)>>0]|0;h=d[b+(15-f)>>0]|0;g=(i+2+(h*3|0)|0)>>>2;e=g;h=(j+2+(i<<1)+h|0)>>>2;i=(k+2+(j<<1)+i|0)>>>2;j=(l+2+(k<<1)+j|0)>>>2;k=(m+(l<<1)+k|0)>>>2;l=(n+2+(z<<1)+l|0)>>>2;m=(m+y+(n<<1)|0)>>>2;n=(c+2+(y<<1)+n|0)>>>2;c=(c<<1)+y|0;g=g*3|0}z=(v+2+c|0)>>>2;v=s+2|0;a[b>>0]=(v+((p+q+(o<<1)|0)>>>2)+(r<<1)|0)>>>2;y=t+2|0;s=(y+r+(s<<1)|0)>>>2&255;a[b+1>>0]=s;a[b+f>>0]=s;t=(v+(t<<1)+u|0)>>>2&255;a[b+2>>0]=t;a[b+(f+1)>>0]=t;s=f<<1;a[b+s>>0]=t;y=(y+(u<<1)+w|0)>>>2&255;a[b+3>>0]=y;a[b+(f+2)>>0]=y;a[b+(s|1)>>0]=y;t=f*3|0;a[b+t>>0]=y;y=(u+2+(w<<1)+x|0)>>>2&255;a[b+4>>0]=y;a[b+(f+3)>>0]=y;a[b+(s+2)>>0]=y;a[b+(t+1)>>0]=y;v=f<<2;a[b+v>>0]=y;y=(w+2+(x<<1)+z|0)>>>2&255;a[b+5>>0]=y;a[b+(f+4)>>0]=y;a[b+(s+3)>>0]=y;a[b+(t+2)>>0]=y;a[b+(v|1)>>0]=y;w=f*5|0;a[b+w>>0]=y;y=(x+2+n+(z<<1)|0)>>>2&255;a[b+6>>0]=y;a[b+(f+5)>>0]=y;a[b+(s+4)>>0]=y;a[b+(t+3)>>0]=y;a[b+(v|2)>>0]=y;a[b+(w+1)>>0]=y;x=f*6|0;a[b+x>>0]=y;y=m+2|0;u=(y+z+(n<<1)|0)>>>2&255;a[b+7>>0]=u;a[b+(f+6)>>0]=u;a[b+(s+5)>>0]=u;a[b+(t+4)>>0]=u;a[b+(v|3)>>0]=u;a[b+(w+2)>>0]=u;a[b+(x|1)>>0]=u;z=f*7|0;a[b+z>>0]=u;u=(n+2+(m<<1)+l|0)>>>2&255;a[b+(f+7)>>0]=u;a[b+(s+6)>>0]=u;a[b+(t+5)>>0]=u;a[b+(v+4)>>0]=u;a[b+(w+3)>>0]=u;a[b+(x+2)>>0]=u;a[b+(z+1)>>0]=u;y=(y+(l<<1)+k|0)>>>2&255;a[b+(s+7)>>0]=y;a[b+(t+6)>>0]=y;a[b+(v+5)>>0]=y;a[b+(w+4)>>0]=y;a[b+(x+3)>>0]=y;a[b+(z+2)>>0]=y;y=(l+2+(k<<1)+j|0)>>>2&255;a[b+(t+7)>>0]=y;a[b+(v+6)>>0]=y;a[b+(w+5)>>0]=y;a[b+(x+4)>>0]=y;a[b+(z+3)>>0]=y;y=(k+2+(j<<1)+i|0)>>>2&255;a[b+(v+7)>>0]=y;a[b+(w+6)>>0]=y;a[b+(x+5)>>0]=y;a[b+(z+4)>>0]=y;y=(j+2+(i<<1)+h|0)>>>2&255;a[b+(w+7)>>0]=y;a[b+(x+6)>>0]=y;a[b+(z+5)>>0]=y;y=(i+2+(h<<1)+e|0)>>>2&255;a[b+(x+7)>>0]=y;a[b+(z+6)>>0]=y;a[b+(z+7)>>0]=(h+2+g|0)>>>2;return}function pe(c,e,f,g,h,i){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0;B=h*13|0;j=e;k=0;f=f+(0-(i<<1))|0;while(1){if((k|0)==13)break;y=f+1|0;z=f+-1|0;x=f+2|0;v=H((d[x>>0]|0)+(d[z>>0]|0)|0,-5)|0;w=f+3|0;b[j>>1]=(((d[y>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+v+(d[w>>0]|0);v=H((d[w>>0]|0)+(d[f>>0]|0)|0,-5)|0;u=f+4|0;b[j+2>>1]=(((d[x>>0]|0)+(d[y>>0]|0)|0)*20|0)+(d[z>>0]|0)+v+(d[u>>0]|0);v=H((d[u>>0]|0)+(d[y>>0]|0)|0,-5)|0;z=f+5|0;b[j+4>>1]=(((d[w>>0]|0)+(d[x>>0]|0)|0)*20|0)+(d[f>>0]|0)+v+(d[z>>0]|0);v=H((d[z>>0]|0)+(d[x>>0]|0)|0,-5)|0;A=f+6|0;b[j+6>>1]=(((d[u>>0]|0)+(d[w>>0]|0)|0)*20|0)+(d[y>>0]|0)+v+(d[A>>0]|0);v=H((d[A>>0]|0)+(d[w>>0]|0)|0,-5)|0;y=f+7|0;b[j+8>>1]=(((d[z>>0]|0)+(d[u>>0]|0)|0)*20|0)+(d[x>>0]|0)+v+(d[y>>0]|0);v=H((d[y>>0]|0)+(d[u>>0]|0)|0,-5)|0;x=f+8|0;b[j+10>>1]=(((d[A>>0]|0)+(d[z>>0]|0)|0)*20|0)+(d[w>>0]|0)+v+(d[x>>0]|0);v=H((d[x>>0]|0)+(d[z>>0]|0)|0,-5)|0;w=f+9|0;b[j+12>>1]=(((d[y>>0]|0)+(d[A>>0]|0)|0)*20|0)+(d[u>>0]|0)+v+(d[w>>0]|0);A=H((d[w>>0]|0)+(d[A>>0]|0)|0,-5)|0;b[j+14>>1]=(((d[x>>0]|0)+(d[y>>0]|0)|0)*20|0)+(d[z>>0]|0)+A+(d[f+10>>0]|0);j=j+(h<<1)|0;k=k+1|0;f=f+i|0}i=H(h,-2)|0;l=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=g<<1;w=g*3|0;x=g<<2;y=g*5|0;z=g*6|0;A=g*7|0;k=c;f=e+(B<<1)+((H(h,-11)|0)<<1)|0;j=0;while(1){if((j|0)==8)break;E=b[f+(l<<1)>>1]|0;N=b[f>>1]|0;M=b[f+(h<<1)>>1]|0;L=b[f+(m<<1)>>1]|0;K=b[f+(n<<1)>>1]|0;I=b[f+(o<<1)>>1]|0;F=b[f+(p<<1)>>1]|0;B=b[f+(q<<1)>>1]|0;c=b[f+(r<<1)>>1]|0;C=b[f+(s<<1)>>1]|0;e=b[f+(t<<1)>>1]|0;D=b[f+(u<<1)>>1]|0;J=K+512|0;G=J+(b[f+(i<<1)>>1]|0)+((M+N|0)*20|0)+(H(L+E|0,-5)|0)>>10;a[k>>0]=G>>>0>255?(G^-2147483648)>>31:G;G=I+512|0;E=G+E+((L+M|0)*20|0)+(H(K+N|0,-5)|0)>>10;a[k+g>>0]=E>>>0>255?(E^-2147483648)>>31:E;E=F+512|0;N=E+N+((K+L|0)*20|0)+(H(I+M|0,-5)|0)>>10;a[k+v>>0]=N>>>0>255?(N^-2147483648)>>31:N;M=M+512+B+((I+K|0)*20|0)+(H(F+L|0,-5)|0)>>10;a[k+w>>0]=M>>>0>255?(M^-2147483648)>>31:M;K=L+512+c+((F+I|0)*20|0)+(H(B+K|0,-5)|0)>>10;a[k+x>>0]=K>>>0>255?(K^-2147483648)>>31:K;I=J+C+((B+F|0)*20|0)+(H(c+I|0,-5)|0)>>10;a[k+y>>0]=I>>>0>255?(I^-2147483648)>>31:I;F=G+e+((c+B|0)*20|0)+(H(C+F|0,-5)|0)>>10;a[k+z>>0]=F>>>0>255?(F^-2147483648)>>31:F;B=E+D+((C+c|0)*20|0)+(H(e+B|0,-5)|0)>>10;a[k+A>>0]=B>>>0>255?(B^-2147483648)>>31:B;k=k+1|0;f=f+2|0;j=j+1|0}return}function qe(b){b=b|0;var d=0,e=0,h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;q=Mb;Mb=Mb+16|0;e=q;o=b+24|0;o=_w(c[o>>2]|0,c[o+4>>2]|0)|0;n=b+32|0;n=_w(c[n>>2]|0,c[n+4>>2]|0)|0;p=b+83184|0;c[p>>2]=0;if(!((c[b+11136>>2]|0)==0?(d=rp(b)|0,(d|0)!=0):0))h=3;a:do if((h|0)==3){b:do switch(c[b+11976>>2]|0){case 6:{i=iO(H(n,o)|0,4)|0;j=b+62608|0;c[j>>2]=i;i=YQ(4)|0;c[b+62612>>2]=i;j=c[j>>2]|0;if((i|0)==0|(j|0)==0){d=-12;break a}m=0;e=0;while(1){if((e|0)>=(n|0))break;l=H(e,o)|0;d=0;k=0.0;h=0;while(1){if((h|0)>=(o|0))break;s=k+ +g[b+13456+(e<<9)+(h<<3)>>3]*32768.0;r=XU(s)|0;c[j+(h+l<<2)>>2]=r;d=((r|0)>-1?r:0-r|0)+d|0;k=k+(s-+(r|0));h=h+1|0}m=(m|0)>(d|0)?m:d;e=e+1|0}c[i>>2]=32768;d=b+83168|0;if((m|0)<32769){c[d>>2]=122;c[b+83176>>2]=1;r=Nk(b)|0;c[p>>2]=r;break b}else{c[d>>2]=123;c[b+83176>>2]=2;r=Jk(b)|0;c[p>>2]=r;break b}}case 8:{h=iO(H(n,o)|0,4)|0;i=b+62608|0;c[i>>2]=h;h=YQ(4)|0;c[b+62612>>2]=h;i=c[i>>2]|0;if((h|0)==0|(i|0)==0){d=-12;break a}d=0;while(1){if((d|0)>=(n|0))break;j=H(d,o)|0;e=0;while(1){if((e|0)>=(o|0))break;f[i+(e+j<<2)>>2]=+g[b+13456+(d<<9)+(e<<3)>>3];e=e+1|0}d=d+1|0}f[h>>2]=1.0;c[b+83168>>2]=124;c[b+83176>>2]=3;r=Lk(b)|0;c[p>>2]=r;break}case 9:{h=iO(H(n,o)|0,8)|0;i=b+62608|0;c[i>>2]=h;h=YQ(8)|0;c[b+62612>>2]=h;i=c[i>>2]|0;if((h|0)==0|(i|0)==0){d=-12;break a}d=0;while(1){if((d|0)>=(n|0))break;j=H(d,o)|0;e=0;while(1){if((e|0)>=(o|0))break;g[i+(e+j<<3)>>3]=+g[b+13456+(d<<9)+(e<<3)>>3];e=e+1|0}d=d+1|0}g[h>>3]=1.0;c[b+83168>>2]=125;c[b+83176>>2]=4;r=Kk(b)|0;c[p>>2]=r;break}case 7:{d=YQ(4)|0;c[b+62612>>2]=d;if(!d){d=-12;break a}c[d>>2]=32768;c[b+83168>>2]=126;c[b+83176>>2]=5;r=Mk(b)|0;c[p>>2]=r;break}default:{c[e>>2]=213565;c[e+4>>2]=213180;c[e+8>>2]=463;Xw(0,0,213444,e);ba()}}while(0);h=0;while(1){if((h|0)==64){d=0;break a}d=0;i=0;while(1){if((i|0)==64)break;s=+g[b+13456+(h<<9)+(i<<3)>>3];e=XU(s*32768.0)|0;c[b+62624+(h<<8)+(i<<2)>>2]=e;e=d+1|0;if(s!=0.0){a[b+79008+(h*65|0)+e>>0]=i;d=e}i=i+1|0}a[b+79008+(h*65|0)>>0]=d;h=h+1|0}}while(0);Mb=q;return d|0}function re(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;l=i>>1;B=h*13|0;j=d;k=0;f=f+(0-(i&-2)<<1)|0;while(1){if((k|0)==13)break;A=e[f>>1]|0;y=e[f+2>>1]|0;z=e[f+-2>>1]|0;x=e[f+4>>1]|0;v=H(x+z|0,-5)|0;w=e[f+6>>1]|0;c[j>>2]=((y+A|0)*20|0)+(e[f+-4>>1]|0)+v+w;v=H(w+A|0,-5)|0;u=e[f+8>>1]|0;c[j+4>>2]=((x+y|0)*20|0)+z+v+u;v=H(u+y|0,-5)|0;z=e[f+10>>1]|0;c[j+8>>2]=((w+x|0)*20|0)+A+v+z;v=H(z+x|0,-5)|0;A=e[f+12>>1]|0;c[j+12>>2]=((u+w|0)*20|0)+y+v+A;v=H(A+w|0,-5)|0;y=e[f+14>>1]|0;c[j+16>>2]=((z+u|0)*20|0)+x+v+y;v=H(y+u|0,-5)|0;x=e[f+16>>1]|0;c[j+20>>2]=((A+z|0)*20|0)+w+v+x;v=H(x+z|0,-5)|0;w=e[f+18>>1]|0;c[j+24>>2]=((y+A|0)*20|0)+u+v+w;A=H(w+A|0,-5)|0;c[j+28>>2]=((x+y|0)*20|0)+z+A+(e[f+20>>1]|0);j=j+(h<<2)|0;k=k+1|0;f=f+(l<<1)|0}p=g>>1;q=H(h,-2)|0;r=0-h|0;s=h<<1;t=h*3|0;u=h<<2;v=h*5|0;w=h*6|0;x=h*7|0;y=h<<3;z=h*9|0;A=h*10|0;k=g&-2;l=p*3|0;g=p<<2;m=p*5|0;n=p*6|0;o=p*7|0;j=a;f=d+(B<<2)+((H(h,-11)|0)<<2)|0;i=0;while(1){if((i|0)==8)break;F=c[f+(r<<2)>>2]|0;O=c[f>>2]|0;N=c[f+(h<<2)>>2]|0;M=c[f+(s<<2)>>2]|0;L=c[f+(t<<2)>>2]|0;J=c[f+(u<<2)>>2]|0;G=c[f+(v<<2)>>2]|0;d=c[f+(w<<2)>>2]|0;C=c[f+(x<<2)>>2]|0;D=c[f+(y<<2)>>2]|0;a=c[f+(z<<2)>>2]|0;E=c[f+(A<<2)>>2]|0;K=L+512|0;B=K+(c[f+(q<<2)>>2]|0)+((N+O|0)*20|0)+(H(M+F|0,-5)|0)>>10;b[j>>1]=((B>>>0<16384?B:(B^-2147483648)>>31&16383)+1+(e[j>>1]|0)|0)>>>1;B=j+(p<<1)|0;I=J+512|0;F=I+F+((M+N|0)*20|0)+(H(L+O|0,-5)|0)>>10;b[B>>1]=((F>>>0<16384?F:(F^-2147483648)>>31&16383)+1+(e[B>>1]|0)|0)>>>1;B=j+(k<<1)|0;F=G+512|0;O=F+O+((L+M|0)*20|0)+(H(J+N|0,-5)|0)>>10;b[B>>1]=((O>>>0<16384?O:(O^-2147483648)>>31&16383)+1+(e[B>>1]|0)|0)>>>1;B=j+(l<<1)|0;N=N+512+d+((J+L|0)*20|0)+(H(G+M|0,-5)|0)>>10;b[B>>1]=((N>>>0<16384?N:(N^-2147483648)>>31&16383)+1+(e[B>>1]|0)|0)>>>1;B=j+(g<<1)|0;L=M+512+C+((G+J|0)*20|0)+(H(d+L|0,-5)|0)>>10;b[B>>1]=((L>>>0<16384?L:(L^-2147483648)>>31&16383)+1+(e[B>>1]|0)|0)>>>1;B=j+(m<<1)|0;J=K+D+((d+G|0)*20|0)+(H(C+J|0,-5)|0)>>10;b[B>>1]=((J>>>0<16384?J:(J^-2147483648)>>31&16383)+1+(e[B>>1]|0)|0)>>>1;B=j+(n<<1)|0;G=I+a+((C+d|0)*20|0)+(H(D+G|0,-5)|0)>>10;b[B>>1]=((G>>>0<16384?G:(G^-2147483648)>>31&16383)+1+(e[B>>1]|0)|0)>>>1;B=j+(o<<1)|0;d=F+E+((D+C|0)*20|0)+(H(a+d|0,-5)|0)>>10;b[B>>1]=((d>>>0<16384?d:(d^-2147483648)>>31&16383)+1+(e[B>>1]|0)|0)>>>1;j=j+2|0;f=f+4|0;i=i+1|0}return}function se(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;l=i>>1;B=h*13|0;j=d;k=0;f=f+(0-(i&-2)<<1)|0;while(1){if((k|0)==13)break;A=e[f>>1]|0;y=e[f+2>>1]|0;z=e[f+-2>>1]|0;x=e[f+4>>1]|0;v=H(x+z|0,-5)|0;w=e[f+6>>1]|0;c[j>>2]=((y+A|0)*20|0)+(e[f+-4>>1]|0)+v+w;v=H(w+A|0,-5)|0;u=e[f+8>>1]|0;c[j+4>>2]=((x+y|0)*20|0)+z+v+u;v=H(u+y|0,-5)|0;z=e[f+10>>1]|0;c[j+8>>2]=((w+x|0)*20|0)+A+v+z;v=H(z+x|0,-5)|0;A=e[f+12>>1]|0;c[j+12>>2]=((u+w|0)*20|0)+y+v+A;v=H(A+w|0,-5)|0;y=e[f+14>>1]|0;c[j+16>>2]=((z+u|0)*20|0)+x+v+y;v=H(y+u|0,-5)|0;x=e[f+16>>1]|0;c[j+20>>2]=((A+z|0)*20|0)+w+v+x;v=H(x+z|0,-5)|0;w=e[f+18>>1]|0;c[j+24>>2]=((y+A|0)*20|0)+u+v+w;A=H(w+A|0,-5)|0;c[j+28>>2]=((x+y|0)*20|0)+z+A+(e[f+20>>1]|0);j=j+(h<<2)|0;k=k+1|0;f=f+(l<<1)|0}p=g>>1;q=H(h,-2)|0;r=0-h|0;s=h<<1;t=h*3|0;u=h<<2;v=h*5|0;w=h*6|0;x=h*7|0;y=h<<3;z=h*9|0;A=h*10|0;k=g&-2;l=p*3|0;g=p<<2;m=p*5|0;n=p*6|0;o=p*7|0;j=a;f=d+(B<<2)+((H(h,-11)|0)<<2)|0;i=0;while(1){if((i|0)==8)break;F=c[f+(r<<2)>>2]|0;O=c[f>>2]|0;N=c[f+(h<<2)>>2]|0;M=c[f+(s<<2)>>2]|0;L=c[f+(t<<2)>>2]|0;J=c[f+(u<<2)>>2]|0;G=c[f+(v<<2)>>2]|0;d=c[f+(w<<2)>>2]|0;C=c[f+(x<<2)>>2]|0;D=c[f+(y<<2)>>2]|0;a=c[f+(z<<2)>>2]|0;E=c[f+(A<<2)>>2]|0;K=L+512|0;B=K+(c[f+(q<<2)>>2]|0)+((N+O|0)*20|0)+(H(M+F|0,-5)|0)>>10;b[j>>1]=((B>>>0<4096?B:(B^-2147483648)>>31&4095)+1+(e[j>>1]|0)|0)>>>1;B=j+(p<<1)|0;I=J+512|0;F=I+F+((M+N|0)*20|0)+(H(L+O|0,-5)|0)>>10;b[B>>1]=((F>>>0<4096?F:(F^-2147483648)>>31&4095)+1+(e[B>>1]|0)|0)>>>1;B=j+(k<<1)|0;F=G+512|0;O=F+O+((L+M|0)*20|0)+(H(J+N|0,-5)|0)>>10;b[B>>1]=((O>>>0<4096?O:(O^-2147483648)>>31&4095)+1+(e[B>>1]|0)|0)>>>1;B=j+(l<<1)|0;N=N+512+d+((J+L|0)*20|0)+(H(G+M|0,-5)|0)>>10;b[B>>1]=((N>>>0<4096?N:(N^-2147483648)>>31&4095)+1+(e[B>>1]|0)|0)>>>1;B=j+(g<<1)|0;L=M+512+C+((G+J|0)*20|0)+(H(d+L|0,-5)|0)>>10;b[B>>1]=((L>>>0<4096?L:(L^-2147483648)>>31&4095)+1+(e[B>>1]|0)|0)>>>1;B=j+(m<<1)|0;J=K+D+((d+G|0)*20|0)+(H(C+J|0,-5)|0)>>10;b[B>>1]=((J>>>0<4096?J:(J^-2147483648)>>31&4095)+1+(e[B>>1]|0)|0)>>>1;B=j+(n<<1)|0;G=I+a+((C+d|0)*20|0)+(H(D+G|0,-5)|0)>>10;b[B>>1]=((G>>>0<4096?G:(G^-2147483648)>>31&4095)+1+(e[B>>1]|0)|0)>>>1;B=j+(o<<1)|0;d=F+E+((D+C|0)*20|0)+(H(a+d|0,-5)|0)>>10;b[B>>1]=((d>>>0<4096?d:(d^-2147483648)>>31&4095)+1+(e[B>>1]|0)|0)>>>1;j=j+2|0;f=f+4|0;i=i+1|0}return}function te(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=0-f|0;if(!c){c=d[b+g>>0]|0;g=c}else{g=d[b+g>>0]|0;c=d[b+~f>>0]|0}k=d[b+(1-f)>>0]|0;p=k+2|0;r=(p+c+(g<<1)|0)>>>2;l=d[b+(2-f)>>0]|0;m=l+2|0;k=(m+g+(k<<1)|0)>>>2;n=d[b+(3-f)>>0]|0;l=(p+(l<<1)+n|0)>>>2;p=d[b+(4-f)>>0]|0;m=(m+(n<<1)+p|0)>>>2;q=d[b+(5-f)>>0]|0;n=(n+2+(p<<1)+q|0)>>>2;o=d[b+(6-f)>>0]|0;p=(p+2+(q<<1)+o|0)>>>2;c=d[b+(7-f)>>0]|0;q=(q+2+(o<<1)+c|0)>>>2;if(!e){g=c;e=c;h=c;i=c;j=c;c=c*3|0}else{s=d[b+(8-f)>>0]|0;j=d[b+(9-f)>>0]|0;t=d[b+(10-f)>>0]|0;i=t+2|0;h=d[b+(11-f)>>0]|0;e=d[b+(12-f)>>0]|0;g=(h+2+(e<<1)+(d[b+(13-f)>>0]|0)|0)>>>2;e=(i+(h<<1)+e|0)>>>2;h=(j+2+(t<<1)+h|0)>>>2;i=(i+s+(j<<1)|0)>>>2;j=(c+2+(s<<1)+j|0)>>>2;c=(c<<1)+s|0}u=(o+2+c|0)>>>2;t=k+1|0;a[b>>0]=(t+r|0)>>>1;s=l+2|0;a[b+f>>0]=(s+r+(k<<1)|0)>>>2;t=(t+l|0)>>>1&255;a[b+1>>0]=t;c=f<<1;a[b+c>>0]=t;t=m+2|0;r=(t+k+(l<<1)|0)>>>2&255;a[b+(f+1)>>0]=r;k=f*3|0;a[b+k>>0]=r;r=(l+1+m|0)>>>1&255;a[b+2>>0]=r;a[b+(c|1)>>0]=r;o=f<<2;a[b+o>>0]=r;s=(s+(m<<1)+n|0)>>>2&255;a[b+(f+2)>>0]=s;a[b+(k+1)>>0]=s;r=f*5|0;a[b+r>>0]=s;m=(m+1+n|0)>>>1&255;a[b+3>>0]=m;a[b+(c+2)>>0]=m;a[b+(o|1)>>0]=m;s=f*6|0;a[b+s>>0]=m;m=(t+(n<<1)+p|0)>>>2&255;a[b+(f+3)>>0]=m;a[b+(k+2)>>0]=m;a[b+(r+1)>>0]=m;t=f*7|0;a[b+t>>0]=m;m=(n+1+p|0)>>>1&255;a[b+4>>0]=m;a[b+(c+3)>>0]=m;a[b+(o|2)>>0]=m;a[b+(s|1)>>0]=m;n=(n+2+(p<<1)+q|0)>>>2&255;a[b+(f+4)>>0]=n;a[b+(k+3)>>0]=n;a[b+(r+2)>>0]=n;a[b+(t+1)>>0]=n;n=(p+1+q|0)>>>1&255;a[b+5>>0]=n;a[b+(c+4)>>0]=n;a[b+(o|3)>>0]=n;a[b+(s+2)>>0]=n;p=(p+2+(q<<1)+u|0)>>>2&255;a[b+(f+5)>>0]=p;a[b+(k+4)>>0]=p;a[b+(r+3)>>0]=p;a[b+(t+2)>>0]=p;p=(q+1+u|0)>>>1&255;a[b+6>>0]=p;a[b+(c+5)>>0]=p;a[b+(o+4)>>0]=p;a[b+(s+3)>>0]=p;p=(q+2+j+(u<<1)|0)>>>2&255;a[b+(f+6)>>0]=p;a[b+(k+5)>>0]=p;a[b+(r+4)>>0]=p;a[b+(t+3)>>0]=p;p=j+1|0;q=(p+u|0)>>>1&255;a[b+7>>0]=q;a[b+(c+6)>>0]=q;a[b+(o+5)>>0]=q;a[b+(s+4)>>0]=q;q=i+2|0;n=(q+u+(j<<1)|0)>>>2&255;a[b+(f+7)>>0]=n;a[b+(k+6)>>0]=n;a[b+(r+5)>>0]=n;a[b+(t+4)>>0]=n;f=(p+i|0)>>>1&255;a[b+(c+7)>>0]=f;a[b+(o+6)>>0]=f;a[b+(s+5)>>0]=f;f=(j+2+(i<<1)+h|0)>>>2&255;a[b+(k+7)>>0]=f;a[b+(r+6)>>0]=f;a[b+(t+5)>>0]=f;f=(i+1+h|0)>>>1&255;a[b+(o+7)>>0]=f;a[b+(s+6)>>0]=f;f=(q+(h<<1)+e|0)>>>2&255;a[b+(r+7)>>0]=f;a[b+(t+6)>>0]=f;a[b+(s+7)>>0]=(h+1+e|0)>>>1;a[b+(t+7)>>0]=(h+2+(e<<1)+g|0)>>>2;return}function ue(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Mb;Mb=Mb+240|0;r=s+176|0;d=s+160|0;n=s+144|0;m=s+128|0;l=s;o=s+224|0;p=s+184|0;q=b+840|0;do if((c[q>>2]|0)==3){k=a+26364|0;g=c[k>>2]|0;h=c[a+24312>>2]|0;g=c[((g|0)==3?h+84|0:h+76+(((g|0)==2&1)<<2)|0)>>2]|0;h=a+28332|0;i=a+29540|0;j=a+28460|0;f=0;while(1){if(f>>>0>=2){d=11;break}d=rt(l,h,c[i>>2]|0,g,f^1)|0;d=(rt(l+(d<<2)|0,h,c[i>>2]|0,g,f)|0)+d|0;if((d|0)>=33){d=5;break}d=wj(b+23416+(f*1920|0)|0,48,l,d,0,c[k>>2]|0)|0;d=(wj(b+23416+(f*1920|0)+(d*40|0)|0,48-d|0,j,16,1,c[k>>2]|0)|0)+d|0;if((d|0)>=33){d=7;break}e=c[b+23404+(f<<2)>>2]|0;if(e>>>0>d>>>0)Wp(b+23416+(f*1920|0)+(d*40|0)|0,0,(e-d|0)*40|0)|0;c[o+(f<<2)>>2]=d;f=f+1|0}if((d|0)==5){c[m>>2]=197886;c[m+4>>2]=197706;c[m+8>>2]=153;Xw(0,0,213444,m);ba()}else if((d|0)==7){c[n>>2]=197886;c[n+4>>2]=197706;c[n+8>>2]=160;Xw(0,0,213444,n);ba()}else if((d|0)==11){e=c[o>>2]|0;o=c[o+4>>2]|0;if((e|0)==(o|0)&(o|0)>1){d=0;while(1){if((d|0)>=(e|0))break;if((c[c[(c[c[b+23416+(d*40|0)+36>>2]>>2]|0)+248>>2]>>2]|0)!=(c[c[(c[c[b+25336+(d*40|0)+36>>2]>>2]|0)+248>>2]>>2]|0))break;d=d+1|0}if((d|0)==(e|0)){d=b+25376|0;j=p;f=d;k=j+40|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(k|0));e=b+25336|0;j=d;f=e;k=j+40|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(k|0));j=e;f=p;k=j+40|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(k|0))}}break}}else{p=a+26364|0;e=wj(b+23416|0,48,a+28332|0,c[a+29540>>2]|0,0,c[p>>2]|0)|0;e=(wj(b+23416+(e*40|0)|0,48-e|0,a+28460|0,16,1,c[p>>2]|0)|0)+e|0;if((e|0)>=33){c[d>>2]=197886;c[d+4>>2]=197706;c[d+8>>2]=181;Xw(0,0,213444,d);ba()}d=c[b+23404>>2]|0;if(d>>>0>e>>>0)Wp(b+23416+(e*40|0)|0,0,(d-e|0)*40|0)|0}while(0);h=a+4|0;f=0;while(1){if(f>>>0>=((c[q>>2]|0)==3?2:1)>>>0)break;i=b+23404+(f<<2)|0;g=0;while(1){if(g>>>0>=(c[i>>2]|0)>>>0)break;d=b+23416+(f*1920|0)+(g*40|0)|0;e=c[b+23416+(f*1920|0)+(g*40|0)+36>>2]|0;if(e|0?$E(a,e)|0:0){Xw(c[h>>2]|0,16,197896,r);j=d;k=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0))}g=g+1|0}f=f+1|0}e=b+23412|0;d=0;while(1){if(d>>>0>=(c[e>>2]|0)>>>0)break;j=a+28252+(d*40|0)|0;f=b+23416+(d*1920|0)|0;k=j+40|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(k|0));d=d+1|0}Mb=s;return}function ve(a,b,d,e,f,h,i,j,k,l,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;j=j|0;k=k|0;l=+l;m=+m;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=Mb;Mb=Mb+48|0;u=x+24|0;t=x+8|0;s=x;w=x+32|0;n=x+36|0;c[w>>2]=a;i=(i!=0.0?i:.97)*+(b|0)/+(d|0);i=i>1.0?1.0:i;f=1<<f;m=+(e|0)/i;q=~~+G(+m);q=(q|0)>1?q+1&2147483646:1;if(!o){e=f;r=f}else{Hf(n,x+28|0,b,((b|0)<0)<<31>>31,d,((d|0)<0)<<31>>31,2147483647,0)|0;a=c[n>>2]|0;if((a|0)>(f|0)){n=f;a=f}else n=f-((f|0)%(a|0)|0)|0;e=n;r=a;a=c[w>>2]|0}if((((((((a|0)!=0?(c[a+48>>2]|0)==(r|0):0)?(c[a+52>>2]|0)==(h|0):0)?!(+g[a+72>>3]!=i):0)?(c[a+8>>2]|0)==(q|0):0)?(c[a+80>>2]|0)==(j|0):0)?(c[a+56>>2]|0)==(k|0):0)?!(+g[a+64>>3]!=l):0)p=23;else p=13;do if((p|0)==13){wQ(w);a=YQ(112)|0;c[w>>2]=a;if(a){c[a+80>>2]=j;a=JP(j)|0;n=c[w>>2]|0;c[n+84>>2]=a;switch(c[n+80>>2]|0){case 6:{v=15;break}case 7:{v=30;break}case 9:case 8:{v=0;break}default:{Xw(0,16,213577,s);c[t>>2]=213565;c[t+4>>2]=213503;c[t+8>>2]=335;Xw(0,0,213444,t);ba()}}c[n+88>>2]=v;if(m>8388607.0){Xw(0,16,213604,u);a=w;p=29;break}c[n+48>>2]=r;c[n+52>>2]=h;g[n+72>>3]=i;c[n+8>>2]=q;h=q+7&2147483640;c[n+12>>2]=h;a=iO(h,H(a,r+1|0)|0)|0;n=c[w>>2]|0;c[n+4>>2]=a;c[n+56>>2]=k;g[n+64>>3]=l;c[n+92>>2]=e;if((a|0)!=0?(Hd(n,a,i,c[n+8>>2]|0,c[n+12>>2]|0,r,1<<c[n+88>>2],k,l)|0)==0:0){a=c[w>>2]|0;p=c[a+4>>2]|0;k=c[a+12>>2]|0;h=(H(k,r)|0)+1|0;a=c[a+84>>2]|0;rk(p+(H(h,a)|0)|0,p|0,H(k+-1|0,a)|0)|0;a=c[w>>2]|0;k=c[a+4>>2]|0;p=c[a+12>>2]|0;h=H(p,r)|0;a=c[a+84>>2]|0;rk(k+(H(h,a)|0)|0,k+(H(p+-1|0,a)|0)|0,a|0)|0;a=c[w>>2]|0;p=23}else{a=w;p=29}}else a=0}while(0);do if((p|0)==23){c[a+44>>2]=0;d=XJ(r|0,((r|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;if(!(Hf(a+40|0,a+20|0,b,((b|0)<0)<<31>>31,d,M()|0,1073741823,0)|0)){a=w;p=29;break}a=c[w>>2]|0;n=a+20|0;f=a+40|0;e=c[n>>2]|0;while(1){o=c[f>>2]|0;if(!((e|0)<1048576&(o|0)<1048576))break;d=e<<1;c[n>>2]=d;c[f>>2]=o<<1;e=d}c[a+16>>2]=e;d=(e|0)/(o|0)|0;c[a+24>>2]=d;d=e-(H(d,o)|0)|0;c[a+28>>2]=d;d=H(((c[a+8>>2]|0)+-1|0)/2|0,0-r|0)|0;c[a+32>>2]=d;c[a+36>>2]=0;sw(a);a=c[w>>2]|0}while(0);if((p|0)==29){hM((c[w>>2]|0)+4|0);gV(c[a>>2]|0);a=0}Mb=x;return a|0}function we(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=Mb;Mb=Mb+16|0;z=A+8|0;y=A;u=c[f+48>>2]|0;x=(i|0)==1&(u|0)==1?2:1;u=(i|0)!=0&(u|0)!=0;v=u?12:31;t=u?c[210233]|0:c[210225]|0;u=u?c[210241]|0:c[210237]|0;w=h+20|0;q=f+310120|0;r=g+8|0;s=g+16|0;i=0;a:while(1){j=c[w>>2]|0;if(i>>>0>=j>>>0){f=18;break}b:do if(!(a[h+29+i>>0]|0)){f=H(Hz(g,5)|0,x)|0;i=i+1|0;a[h+87856+(i*5|0)>>0]=f;p=1;while(1){if(p>>>0>=(c[q>>2]|0)>>>0)break b;n=f&255;f=c[r>>2]|0;o=c[s>>2]|0;l=c[g>>2]|0;k=l+(f>>>3)|0;k=(kS(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24|0)|0)<<(f&7)>>>23;j=b[t+(k<<2)>>1]|0;k=b[t+(k<<2)+2>>1]|0;m=k<<16>>16;if(k<<16>>16<0){f=f+9|0;f=o>>>0>f>>>0?f:o;B=l+(f>>>3)|0;B=((kS(d[B>>0]|d[B+1>>0]<<8|d[B+2>>0]<<16|d[B+3>>0]<<24|0)|0)<<(f&7)>>>(m+32|0))+j|0;j=b[t+(B<<2)>>1]|0;B=b[t+(B<<2)+2>>1]|0;k=B<<16>>16;if(B<<16>>16<0){f=f-m|0;f=o>>>0>f>>>0?f:o;B=l+(f>>>3)|0;j=((kS(d[B>>0]|d[B+1>>0]<<8|d[B+2>>0]<<16|d[B+3>>0]<<24|0)|0)<<(f&7)>>>(k+32|0))+j|0;k=b[t+(j<<2)+2>>1]|0;j=b[t+(j<<2)>>1]|0}}else k=m;f=k+f|0;c[r>>2]=o>>>0>f>>>0?f:o;f=(H(j-v|0,x)|0)+n|0;a[h+87856+(i*5|0)+p>>0]=f;j=f&255;if(j>>>0>30){f=17;break a}else p=p+1|0}}else{p=i+1|0;o=0;while(1){if(o>>>0>=(c[q>>2]|0)>>>0){i=p;break b}m=d[h+87856+(i*5|0)+o>>0]|0;f=c[r>>2]|0;n=c[s>>2]|0;k=c[g>>2]|0;B=k+(f>>>3)|0;B=(kS(d[B>>0]|d[B+1>>0]<<8|d[B+2>>0]<<16|d[B+3>>0]<<24|0)|0)<<(f&7)>>>23;j=b[u+(B<<2)>>1]|0;B=b[u+(B<<2)+2>>1]|0;l=B<<16>>16;if(B<<16>>16<0){f=f+9|0;f=n>>>0>f>>>0?f:n;B=k+(f>>>3)|0;j=((kS(d[B>>0]|d[B+1>>0]<<8|d[B+2>>0]<<16|d[B+3>>0]<<24|0)|0)<<(f&7)>>>(l+32|0))+j|0;l=b[u+(j<<2)+2>>1]|0;j=b[u+(j<<2)>>1]|0}B=l+f|0;c[r>>2]=n>>>0>B>>>0?B:n;j=(H(j-v|0,x)|0)+m|0;a[h+87856+(p*5|0)+o>>0]=j;j=j&255;if(j>>>0>30){f=10;break a}else o=o+1|0}}while(0)}if((f|0)==10){i=c[e+4>>2]|0;c[y>>2]=j;Xw(i,16,190141,y);i=-1094995529}else if((f|0)==17){i=c[e+4>>2]|0;c[z>>2]=j;Xw(i,16,190141,z);i=-1094995529}else if((f|0)==18){i=h+87856|0;B=h+87856+(j*5|0)|0;a[i>>0]=a[B>>0]|0;a[i+1>>0]=a[B+1>>0]|0;a[i+2>>0]=a[B+2>>0]|0;a[i+3>>0]=a[B+3>>0]|0;a[i+4>>0]=a[B+4>>0]|0;i=0}Mb=A;return i|0}function xe(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=Mb;Mb=Mb+32|0;e=o+24|0;f=o;m=c[b+25652>>2]|0;n=b+28200|0;g=c[n>>2]|0;c[f>>2]=1<<(c[g+1184>>2]|0)+-1;g=1<<(c[g+1188>>2]|0)+-1;c[f+4>>2]=g;c[f+8>>2]=g;c[f+12>>2]=-1;g=b+4|0;do if(Sx(c[g>>2]|0)|0){bx(b,1);l=b+24312|0;c[l>>2]=0;d=ZL(b)|0;if((d|0)<0){Xw(c[g>>2]|0,16,199715,e);break}j=b+696+(d*656|0)|0;k=b+26364|0;i=c[k>>2]|0;c[b+696+(d*656|0)+640>>2]=(c[b+25672>>2]|0)==0?i:0;e=b+25676|0;p=c[e>>2]|0;c[e>>2]=p+1;e=c[j>>2]|0;c[e+128>>2]=p;c[b+696+(d*656|0)+636>>2]=(i|0)!=3&1;c[b+696+(d*656|0)+88>>2]=c[b+28228>>2];c[e+84>>2]=0;c[b+696+(d*656|0)+92>>2]=0;c[b+696+(d*656|0)+644>>2]=0;c[b+696+(d*656|0)+648>>2]=0;c[b+696+(d*656|0)+652>>2]=c[b+29700>>2];i=b+25628|0;c[e+88>>2]=c[(c[i>>2]|0)+836>>2];c[e+392>>2]=c[b+25700>>2];c[e+396>>2]=c[b+25704>>2];c[e+384>>2]=c[b+25708>>2];c[e+388>>2]=c[b+25712>>2];d=yh(b,j)|0;if((d|0)>=0){if(((c[b+29560>>2]|0)==0?(h=c[g>>2]|0,(c[h+704>>2]|0)==0):0)?(c[(c[h+12>>2]|0)+16>>2]&128|0)==0:0)hm(c[j>>2]|0,f);c[l>>2]=j;d=b+24316|0;Cw(b,d);cu((c[i>>2]|0)+696|0,0);d=cg(b,d,c[l>>2]|0)|0;if((d|0)>=0){e=c[b+25632>>2]|0;d=0;while(1){if((d|0)>=(e|0))break;h=c[c[l>>2]>>2]|0;p=c[i>>2]|0;c[p+(d*34768|0)+21772>>2]=c[h+32>>2];c[p+(d*34768|0)+21776>>2]=c[h+36>>2];d=d+1|0}if(c[b+29656>>2]|0){$y((c[i>>2]|0)+24|0);cu((c[i>>2]|0)+728|0,0);cu((c[i>>2]|0)+760|0,0)}d=0;while(1){if((d|0)==16)break;p=a[88656+d>>0]|0;h=(p&255)+-12|0;p=((p<<2&255)+16&28)<<m;i=(c[j>>2]|0)+32|0;g=p+(H(c[i>>2]<<2,h>>3)|0)|0;c[b+25960+(d<<2)>>2]=g;p=(H(h&-8,c[i>>2]|0)|0)+p|0;c[b+25960+(d+48<<2)>>2]=p;d=d+1|0}d=0;while(1){if((d|0)==16)break;p=a[88656+d>>0]|0;h=(p&255)+-12|0;p=((p<<2&255)+16&28)<<m;i=(c[j>>2]|0)+36|0;g=p+(H(c[i>>2]<<2,h>>3)|0)|0;c[b+25960+(d+32<<2)>>2]=g;c[b+25960+(d+16<<2)>>2]=g;p=(H(h&-8,c[i>>2]|0)|0)+p|0;c[b+25960+(d+80<<2)>>2]=p;c[b+25960+(d+64<<2)>>2]=p;d=d+1|0}p=c[l>>2]|0;c[p+640>>2]=0;c[p+80>>2]=2147483647;c[p+76>>2]=2147483647;c[b+28724>>2]=0;c[b+25692>>2]=0;if(!(c[(c[n>>2]|0)+68>>2]|0))d=0;else d=(c[k>>2]|0)==3&1;c[b+26360>>2]=d;d=0}}}else{Xw(c[g>>2]|0,16,199669,o+16|0);d=-1}while(0);Mb=o;return d|0}function ye(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=Mb;Mb=Mb+80|0;e=r+48|0;j=r+32|0;n=r+16|0;o=r;g=r+64|0;h=r+60|0;q=c[(c[a+64>>2]|0)+16>>2]|0;a:do switch(c[a+8>>2]|0){case 0:{c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;k=b+68|0;e=c[k>>2]|0;c[g>>2]=e;l=b+72|0;f=c[l>>2]|0;c[h>>2]=f;m=q+16|0;i=b+80|0;if(((c[m>>2]|0)==(c[i>>2]|0)?(c[q+20>>2]|0)==(e|0):0)?(c[q+24>>2]|0)==(f|0):0)d=0;else p=5;b:do if((p|0)==5){Gf(a,g,h,q+28|0);f=a+144|0;a=c[g>>2]|0;do{d=_r(n,c[f>>2]|0,a)|0;if((d|0)<0)break b;a=c[g>>2]|0;a=(a&0-a)+a|0;c[g>>2]=a;d=0;e=0;while(1){if((d|0)==4)break;b=(c[n+(d<<2)>>2]|0)%(c[q+28+(d<<2)>>2]|0)|0|e;d=d+1|0;e=b}}while((e|0)!=0);f=vk(j,c[f>>2]|0,c[h>>2]|0,0,n)|0;if((f|0)>=0){d=0;while(1){if(d>>>0>=3)break;e=d+1|0;a=c[j+(e<<2)>>2]|0;if(!a)break;c[o+(d<<2)>>2]=a-(c[j+(d<<2)>>2]|0);d=e}c[o+(d<<2)>>2]=f-(c[j+(d<<2)>>2]|0)+(c[j>>2]|0);d=0;while(1){if(d>>>0>=4){p=21;break}e=q+(d<<2)|0;QL(e);c[q+60+(d<<2)>>2]=c[n+(d<<2)>>2];a=c[o+(d<<2)>>2]|0;if(a|0?(p=lJ(a+23|0,20)|0,c[e>>2]=p,(p|0)==0):0){p=23;break}d=d+1|0}if((p|0)==21){c[m>>2]=c[i>>2];c[q+20>>2]=c[k>>2];c[q+24>>2]=c[l>>2];d=0;break a}else if((p|0)==23){d=-12;p=32;break a}}else d=-1}while(0);break}case 1:{f=c[b+352>>2]|0;g=b+80|0;h=(IP(c[g>>2]|0)|0)==0;h=h?1:f;i=q+16|0;if((((c[i>>2]|0)==(c[g>>2]|0)?(c[q+76>>2]|0)==(h|0):0)?(c[q+80>>2]|0)==(f|0):0)?(c[b+76>>2]|0)==(c[q+84>>2]|0):0){d=0;break a}QL(q);a=q+60|0;e=b+76|0;d=fp(a,f,c[e>>2]|0,c[g>>2]|0,0)|0;if((d|0)>=0){o=lJ(c[a>>2]|0,0)|0;c[q>>2]=o;if(!o){d=-12;p=32}else{c[i>>2]=c[g>>2];c[q+76>>2]=h;c[q+80>>2]=f;c[q+84>>2]=c[e>>2];d=0}}else p=32;break}default:{c[e>>2]=213565;c[e+4>>2]=167670;c[e+8>>2]=1343;Xw(0,0,213444,e);ba()}}while(0);if((p|0)==32){e=0;while(1){if((e|0)==4)break;QL(q+(e<<2)|0);e=e+1|0}c[q+16>>2]=-1;c[q+84>>2]=0;c[q+80>>2]=0;c[q+76>>2]=0;c[q+24>>2]=0;c[q+20>>2]=0}Mb=r;return d|0}function ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Mb;Mb=Mb+32|0;h=l+24|0;k=l+16|0;j=l+8|0;i=l;g=c[(c[a+64>>2]|0)+40>>2]|0;do if(g){f=g+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;d=b+104|0;c[d>>2]=e;c[d+4>>2]=f;d=b+112|0;c[d>>2]=e;c[d+4>>2]=f;d=g+56|0;f=c[d+4>>2]|0;e=b+328|0;c[e>>2]=c[d>>2];c[e+4>>2]=f;e=g+48|0;f=c[e+4>>2]|0;d=b+336|0;c[d>>2]=c[e>>2];c[d+4>>2]=f;c[b+356>>2]=c[g+28>>2];d=0;while(1){if(d>>>0>=8){e=9;break}e=Qu(g,c[18224+(d<<3)>>2]|0,h)|0;if(e|0){f=fQ(b,c[18224+(d<<3)+4>>2]|0,c[h>>2]|0)|0;if(!f){e=7;break}rk(c[f+4>>2]|0,e|0,c[h>>2]|0)|0}d=d+1|0}if((e|0)==7){d=-12;break}else if((e|0)==9){LJ(g,b);f=b+296|0;d=c[f>>2]|0;c[f>>2]=(c[g+36>>2]&4|0)==0?d&-5:d|4;e=10;break}}else e=10;while(0);a:do if((e|0)==10){f=a+696|0;g=c[f+4>>2]|0;d=b+224|0;c[d>>2]=c[f>>2];c[d+4>>2]=g;d=b+304|0;if((c[d>>2]|0)==2)c[d>>2]=c[a+388>>2];d=b+308|0;if((c[d>>2]|0)==2)c[d>>2]=c[a+392>>2];d=b+312|0;if((c[d>>2]|0)==2)c[d>>2]=c[a+396>>2];d=b+300|0;if(!(c[d>>2]|0))c[d>>2]=c[a+400>>2];d=b+316|0;if(!(c[d>>2]|0))c[d>>2]=c[a+404>>2];switch(c[(c[a+12>>2]|0)+8>>2]|0){case 0:{c[b+80>>2]=c[a+144>>2];d=b+92|0;if(!(c[d>>2]|0)){g=a+228|0;j=c[g+4>>2]|0;k=d;c[k>>2]=c[g>>2];c[k+4>>2]=j}e=c[b+68>>2]|0;if(!e){d=0;break a}f=c[b+72>>2]|0;if(!f){d=0;break a}c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];if((vv(e,f,h)|0)>=0){d=0;break a}k=b+96|0;j=c[k>>2]|0;c[i>>2]=c[d>>2];c[i+4>>2]=j;Xw(a,24,185629,i);c[b+92>>2]=0;c[k>>2]=1;d=0;break a}case 1:break;default:{d=0;break a}}d=b+232|0;if(!(c[d>>2]|0))c[d>>2]=c[a+416>>2];d=b+80|0;if((c[d>>2]|0)<0)c[d>>2]=c[a+424>>2];f=b+240|0;i=f;do if((c[i>>2]|0)==0&(c[i+4>>2]|0)==0){g=a+448|0;e=g;d=c[e>>2]|0;e=c[e+4>>2]|0;if((d|0)==0&(e|0)==0){d=c[a+420>>2]|0;if(d>>>0<=64)break;c[k>>2]=d;Xw(a,16,168990,k);d=-38;break a}d=_w(d,e)|0;if((d|0)==(c[a+420>>2]|0)){j=g;k=c[j+4>>2]|0;a=f;c[a>>2]=c[j>>2];c[a+4>>2]=k;break}else{Xw(a,16,168953,j);d=-22;break a}}else d=c[a+420>>2]|0;while(0);c[b+352>>2]=d;d=0}while(0);Mb=l;return d|0}function Ae(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=Mb;Mb=Mb+48|0;p=q+32|0;m=q+24|0;l=q+16|0;i=q+8|0;g=q;k=c[b+6472>>2]|0;n=c[b+6476>>2]|0;j=(k|0)!=39;do if(j){if(uL(f)|0?(h=b+4|0,Xw(c[h>>2]|0,16,188268,g),c[(c[h>>2]|0)+688>>2]&2|0):0){g=-1094995529;break}g=e+4|0;c[e+8>>2]=c[g>>2];h=Hz(f,2)|0;c[g>>2]=h;if((k|0)!=23|(h|0)==0){o=e+12|0;a[e+13>>0]=a[o>>0]|0;i=(uL(f)|0)&255;a[o>>0]=i;o=8;break}else{p=c[b+4>>2]|0;c[i>>2]=h;Xw(p,16,188287,i);c[g>>2]=0;g=-1094995529;break}}else{g=e+4|0;o=8}while(0);do if((o|0)==8){i=e+16|0;c[i>>2]=1;a[e+20>>0]=1;a:do if((c[g>>2]|0)!=2){g=(Hz(f,6)|0)&255;a[e>>0]=g;c[e+92>>2]=1;g=(c[b+6516>>2]|0)!=0;switch(k|0){case 23:case 39:{i=c[(g?59760:59472)+(n<<2)>>2]|0;c[e+80>>2]=i;h=a[(g?191345:191332)+n>>0]|0;c[e+88>>2]=h&255;c[e+96>>2]=d[(g?191410:191397)+n>>0];if(h<<24>>24==0|(i|0)==0){g=-558323010;h=e;break a}break}default:{c[e+88>>2]=d[(g?191319:191306)+n>>0];c[e+80>>2]=c[(g?58704:57936)+(n<<2)>>2];c[e+96>>2]=d[191384+n>>0]}}if(j){g=uL(f)|0;c[e+100>>2]=g;c[e+108>>2]=0}else g=c[e+100>>2]|0;if(!g){h=e;o=29}else switch(k|0){case 1:if(!(ls(b,e,f)|0)){h=e;o=29;break a}else{g=-1094995529;h=e;break a}case 2:case 17:{Xw(c[b+4>>2]|0,16,188364,l);g=-1094995529;h=e;break a}case 23:{Xw(c[b+4>>2]|0,16,188402,m);g=-1163346256;h=e;break a}default:{o=(Hz(f,1)|0)&255;g=e+28|0;a[g>>0]=o;if(!(o<<24>>24)){h=e;o=29;break a}sy(g,f,a[e>>0]|0);h=e;o=29;break a}}}else{g=(Hz(f,4)|0)&255;a[e>>0]=g;g=0;while(1){if((g|0)==7)break;o=(uL(f)|0)==0;h=c[i>>2]|0;if(o){c[i>>2]=h+1;a[e+20+h>>0]=1}else{o=h+-1+(e+20)|0;a[o>>0]=(a[o>>0]|0)+1<<24>>24}g=g+1|0}c[e+92>>2]=8;h=(c[b+6516>>2]|0)==0;c[e+80>>2]=c[(h?60048:60272)+(n<<2)>>2];c[e+88>>2]=d[(h?191358:191358)+n>>0];c[e+96>>2]=d[191423+n>>0];c[e+100>>2]=0;h=e;o=29}while(0);if((o|0)==29){i=d[h>>0]|0;g=c[e+88>>2]|0;if((g|0)>=(i|0)){g=0;break}e=c[b+4>>2]|0;c[p>>2]=i;c[p+4>>2]=g;Xw(e,16,188441,p);g=-1094995529}a[h>>0]=0}while(0);Mb=q;return g|0}function Be(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=Mb;Mb=Mb+32|0;x=y+16|0;l=y+8|0;k=y;c[f>>2]=0;w=f+4|0;c[w>>2]=0;i=bp(a)|0;j=f+8|0;c[j>>2]=i;if(i>>>0>7){c[k>>2]=i;Xw(h,16,196887,k);c[j>>2]=0;i=0}t=1<<i;s=b+12|0;if(!(c[s>>2]|0))r=0;else{i=bp(a)|0;j=f+12|0;c[j>>2]=i;if(i>>>0>7){c[l>>2]=i;Xw(h,16,196930,l);c[j>>2]=0;i=0}r=1<<i}q=(g|0)==3;m=(e|0)==3;g=0;a:while(1){if(g>>>0>=2){j=37;break}n=f+16+(g<<2)|0;c[n>>2]=0;o=f+24+(g<<2)|0;c[o>>2]=0;p=d+(g<<2)|0;e=0;while(1){if((e|0)>=(c[p>>2]|0))break;if(uL(a)|0){i=ap(a)|0;j=f+32+(e<<4)+(g<<3)|0;c[j>>2]=i;i=ap(a)|0;c[f+32+(e<<4)+(g<<3)+4>>2]=i;j=c[j>>2]|0;if((j<<24>>24|0)!=(j|0)){j=40;break a}if((i<<24>>24|0)!=(i|0)){j=40;break a}if(!((i|0)==0&(j|0)==(t|0))){c[f>>2]=1;c[n>>2]=1}}else{c[f+32+(e<<4)+(g<<3)>>2]=t;c[f+32+(e<<4)+(g<<3)+4>>2]=0}b:do if(c[s>>2]|0){if(!(uL(a)|0)){i=0;while(1){if((i|0)==2)break b;c[f+800+(e<<5)+(g<<4)+(i<<3)>>2]=r;c[f+800+(e<<5)+(g<<4)+(i<<3)+4>>2]=0;i=i+1|0}}i=0;while(1){if(i>>>0>=2)break b;j=ap(a)|0;b=f+800+(e<<5)+(g<<4)+(i<<3)|0;c[b>>2]=j;j=ap(a)|0;l=f+800+(e<<5)+(g<<4)+(i<<3)+4|0;c[l>>2]=j;k=c[b>>2]|0;if((k<<24>>24|0)!=(k|0)){j=27;break a}if((j<<24>>24|0)!=(j|0)){j=27;break a}if(!((j|0)==0&(k|0)==(r|0))){c[w>>2]=1;c[o>>2]=1}i=i+1|0}}while(0);c:do if(q?(l=c[f+32+(e<<4)+(g<<3)>>2]|0,v=e<<1,u=v+16|0,v=v+17|0,c[f+32+(v<<4)+(g<<3)>>2]=l,c[f+32+(u<<4)+(g<<3)>>2]=l,l=c[f+32+(e<<4)+(g<<3)+4>>2]|0,c[f+32+(v<<4)+(g<<3)+4>>2]=l,c[f+32+(u<<4)+(g<<3)+4>>2]=l,c[s>>2]|0):0){i=0;while(1){if((i|0)==2)break c;l=c[f+800+(e<<5)+(g<<4)+(i<<3)>>2]|0;c[f+800+(v<<5)+(g<<4)+(i<<3)>>2]=l;c[f+800+(u<<5)+(g<<4)+(i<<3)>>2]=l;l=c[f+800+(e<<5)+(g<<4)+(i<<3)+4>>2]|0;c[f+800+(v<<5)+(g<<4)+(i<<3)+4>>2]=l;c[f+800+(u<<5)+(g<<4)+(i<<3)+4>>2]=l;i=i+1|0}}while(0);e=e+1|0}if(m)g=g+1|0;else{j=37;break}}if((j|0)==27){c[b>>2]=r;c[l>>2]=0;j=40}else if((j|0)==37){if(!(c[f>>2]|0))i=(c[w>>2]|0)!=0&1;else i=1;c[f>>2]=i;i=0}if((j|0)==40){KM(h,196975,x);i=-1094995529}Mb=y;return i|0}function Ce(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c[a+84>>2]=c[b+84>>2];c[a+88>>2]=c[b+88>>2];e=b+92|0;f=c[e+4>>2]|0;g=a+92|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+384>>2]=c[b+384>>2];c[a+388>>2]=c[b+388>>2];c[a+392>>2]=c[b+392>>2];c[a+396>>2]=c[b+396>>2];g=b+104|0;f=c[g+4>>2]|0;e=a+104|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;c[a+208>>2]=c[b+208>>2];c[a+212>>2]=c[b+212>>2];c[a+216>>2]=c[b+216>>2];c[a+220>>2]=c[b+220>>2];c[a+232>>2]=c[b+232>>2];c[a+140>>2]=c[b+140>>2];e=b+112|0;f=c[e+4>>2]|0;g=a+112|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;g=b+120|0;f=c[g+4>>2]|0;e=a+120|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;e=b+328|0;f=c[e+4>>2]|0;g=a+328|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+356>>2]=c[b+356>>2];g=b+336|0;f=c[g+4>>2]|0;e=a+336|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;e=b+224|0;f=c[e+4>>2]|0;g=a+224|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+136>>2]=c[b+136>>2];g=b+320|0;f=c[g+4>>2]|0;e=a+320|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;c[a+128>>2]=c[b+128>>2];c[a+132>>2]=c[b+132>>2];c[a+296>>2]=c[b+296>>2];c[a+348>>2]=c[b+348>>2];c[a+304>>2]=c[b+304>>2];c[a+308>>2]=c[b+308>>2];c[a+312>>2]=c[b+312>>2];c[a+300>>2]=c[b+300>>2];c[a+316>>2]=c[b+316>>2];eI(a+344|0,c[b+344>>2]|0,0)|0;e=a+144|0;f=b+144|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));k=b+292|0;l=b+288|0;m=b+68|0;n=a+68|0;d=(d|0)==0;h=b+72|0;i=a+72|0;g=0;while(1){if((g|0)>=(c[k>>2]|0)){o=14;break}j=c[(c[l>>2]|0)+(g<<2)>>2]|0;e=c[j>>2]|0;if(!e){if((c[m>>2]|0)==(c[n>>2]|0)?(c[h>>2]|0)==(c[i>>2]|0):0)o=6}else o=6;if((o|0)==6){o=0;if(d){e=fr(a,e,$H(c[j+16>>2]|0)|0)|0;if(!e){o=11;break}}else{f=j+8|0;e=fQ(a,e,c[f>>2]|0)|0;if(!e){o=8;break}rk(c[e+4>>2]|0,c[j+4>>2]|0,c[f>>2]|0)|0}eI(e+12|0,c[j+12>>2]|0,0)|0}g=g+1|0}do if((o|0)==8){fJ(a);e=-12}else if((o|0)==11){fJ(a);e=-12}else if((o|0)==14){e=a+360|0;c[e>>2]=0;f=a+364|0;c[f>>2]=0;g=a+368|0;c[g>>2]=0;d=a+372|0;QS(d);h=c[b+372>>2]|0;if(h|0?(p=$H(h)|0,c[d>>2]=p,p|0):0){c[e>>2]=c[p+4>>2];c[f>>2]=c[b+364>>2];c[g>>2]=c[b+368>>2]}f=a+380|0;QS(f);e=c[b+380>>2]|0;if(e|0?(b=$H(e)|0,c[f>>2]=b,(b|0)==0):0){e=-12;break}e=0}while(0);return e|0}function De(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0;l=i>>1;B=h*13|0;j=d;k=0;f=f+(0-(i&-2)<<1)|0;while(1){if((k|0)==13)break;A=e[f>>1]|0;y=e[f+2>>1]|0;z=e[f+-2>>1]|0;x=e[f+4>>1]|0;v=H(x+z|0,-5)|0;w=e[f+6>>1]|0;c[j>>2]=((y+A|0)*20|0)+(e[f+-4>>1]|0)+v+w;v=H(w+A|0,-5)|0;u=e[f+8>>1]|0;c[j+4>>2]=((x+y|0)*20|0)+z+v+u;v=H(u+y|0,-5)|0;z=e[f+10>>1]|0;c[j+8>>2]=((w+x|0)*20|0)+A+v+z;v=H(z+x|0,-5)|0;A=e[f+12>>1]|0;c[j+12>>2]=((u+w|0)*20|0)+y+v+A;v=H(A+w|0,-5)|0;y=e[f+14>>1]|0;c[j+16>>2]=((z+u|0)*20|0)+x+v+y;v=H(y+u|0,-5)|0;x=e[f+16>>1]|0;c[j+20>>2]=((A+z|0)*20|0)+w+v+x;v=H(x+z|0,-5)|0;w=e[f+18>>1]|0;c[j+24>>2]=((y+A|0)*20|0)+u+v+w;A=H(w+A|0,-5)|0;c[j+28>>2]=((x+y|0)*20|0)+z+A+(e[f+20>>1]|0);j=j+(h<<2)|0;k=k+1|0;f=f+(l<<1)|0}p=g>>1;q=H(h,-2)|0;r=0-h|0;s=h<<1;t=h*3|0;u=h<<2;v=h*5|0;w=h*6|0;x=h*7|0;y=h<<3;z=h*9|0;A=h*10|0;k=g&-2;l=p*3|0;g=p<<2;m=p*5|0;n=p*6|0;o=p*7|0;j=a;f=d+(B<<2)+((H(h,-11)|0)<<2)|0;i=0;while(1){if((i|0)==8)break;E=c[f+(r<<2)>>2]|0;N=c[f>>2]|0;M=c[f+(h<<2)>>2]|0;L=c[f+(s<<2)>>2]|0;K=c[f+(t<<2)>>2]|0;I=c[f+(u<<2)>>2]|0;F=c[f+(v<<2)>>2]|0;B=c[f+(w<<2)>>2]|0;a=c[f+(x<<2)>>2]|0;C=c[f+(y<<2)>>2]|0;d=c[f+(z<<2)>>2]|0;D=c[f+(A<<2)>>2]|0;J=K+512|0;G=J+(c[f+(q<<2)>>2]|0)+((M+N|0)*20|0)+(H(L+E|0,-5)|0)>>10;b[j>>1]=G>>>0<16384?G:(G^-2147483648)>>31&16383;G=I+512|0;E=G+E+((L+M|0)*20|0)+(H(K+N|0,-5)|0)>>10;b[j+(p<<1)>>1]=E>>>0<16384?E:(E^-2147483648)>>31&16383;E=F+512|0;N=E+N+((K+L|0)*20|0)+(H(I+M|0,-5)|0)>>10;b[j+(k<<1)>>1]=N>>>0<16384?N:(N^-2147483648)>>31&16383;M=M+512+B+((I+K|0)*20|0)+(H(F+L|0,-5)|0)>>10;b[j+(l<<1)>>1]=M>>>0<16384?M:(M^-2147483648)>>31&16383;K=L+512+a+((F+I|0)*20|0)+(H(B+K|0,-5)|0)>>10;b[j+(g<<1)>>1]=K>>>0<16384?K:(K^-2147483648)>>31&16383;I=J+C+((B+F|0)*20|0)+(H(a+I|0,-5)|0)>>10;b[j+(m<<1)>>1]=I>>>0<16384?I:(I^-2147483648)>>31&16383;F=G+d+((a+B|0)*20|0)+(H(C+F|0,-5)|0)>>10;b[j+(n<<1)>>1]=F>>>0<16384?F:(F^-2147483648)>>31&16383;B=E+D+((C+a|0)*20|0)+(H(d+B|0,-5)|0)>>10;b[j+(o<<1)>>1]=B>>>0<16384?B:(B^-2147483648)>>31&16383;j=j+2|0;f=f+4|0;i=i+1|0}return}function Ee(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0;l=i>>1;B=h*13|0;j=d;k=0;f=f+(0-(i&-2)<<1)|0;while(1){if((k|0)==13)break;A=e[f>>1]|0;y=e[f+2>>1]|0;z=e[f+-2>>1]|0;x=e[f+4>>1]|0;v=H(x+z|0,-5)|0;w=e[f+6>>1]|0;c[j>>2]=((y+A|0)*20|0)+(e[f+-4>>1]|0)+v+w;v=H(w+A|0,-5)|0;u=e[f+8>>1]|0;c[j+4>>2]=((x+y|0)*20|0)+z+v+u;v=H(u+y|0,-5)|0;z=e[f+10>>1]|0;c[j+8>>2]=((w+x|0)*20|0)+A+v+z;v=H(z+x|0,-5)|0;A=e[f+12>>1]|0;c[j+12>>2]=((u+w|0)*20|0)+y+v+A;v=H(A+w|0,-5)|0;y=e[f+14>>1]|0;c[j+16>>2]=((z+u|0)*20|0)+x+v+y;v=H(y+u|0,-5)|0;x=e[f+16>>1]|0;c[j+20>>2]=((A+z|0)*20|0)+w+v+x;v=H(x+z|0,-5)|0;w=e[f+18>>1]|0;c[j+24>>2]=((y+A|0)*20|0)+u+v+w;A=H(w+A|0,-5)|0;c[j+28>>2]=((x+y|0)*20|0)+z+A+(e[f+20>>1]|0);j=j+(h<<2)|0;k=k+1|0;f=f+(l<<1)|0}p=g>>1;q=H(h,-2)|0;r=0-h|0;s=h<<1;t=h*3|0;u=h<<2;v=h*5|0;w=h*6|0;x=h*7|0;y=h<<3;z=h*9|0;A=h*10|0;k=g&-2;l=p*3|0;g=p<<2;m=p*5|0;n=p*6|0;o=p*7|0;j=a;f=d+(B<<2)+((H(h,-11)|0)<<2)|0;i=0;while(1){if((i|0)==8)break;E=c[f+(r<<2)>>2]|0;N=c[f>>2]|0;M=c[f+(h<<2)>>2]|0;L=c[f+(s<<2)>>2]|0;K=c[f+(t<<2)>>2]|0;I=c[f+(u<<2)>>2]|0;F=c[f+(v<<2)>>2]|0;B=c[f+(w<<2)>>2]|0;a=c[f+(x<<2)>>2]|0;C=c[f+(y<<2)>>2]|0;d=c[f+(z<<2)>>2]|0;D=c[f+(A<<2)>>2]|0;J=K+512|0;G=J+(c[f+(q<<2)>>2]|0)+((M+N|0)*20|0)+(H(L+E|0,-5)|0)>>10;b[j>>1]=G>>>0<4096?G:(G^-2147483648)>>31&4095;G=I+512|0;E=G+E+((L+M|0)*20|0)+(H(K+N|0,-5)|0)>>10;b[j+(p<<1)>>1]=E>>>0<4096?E:(E^-2147483648)>>31&4095;E=F+512|0;N=E+N+((K+L|0)*20|0)+(H(I+M|0,-5)|0)>>10;b[j+(k<<1)>>1]=N>>>0<4096?N:(N^-2147483648)>>31&4095;M=M+512+B+((I+K|0)*20|0)+(H(F+L|0,-5)|0)>>10;b[j+(l<<1)>>1]=M>>>0<4096?M:(M^-2147483648)>>31&4095;K=L+512+a+((F+I|0)*20|0)+(H(B+K|0,-5)|0)>>10;b[j+(g<<1)>>1]=K>>>0<4096?K:(K^-2147483648)>>31&4095;I=J+C+((B+F|0)*20|0)+(H(a+I|0,-5)|0)>>10;b[j+(m<<1)>>1]=I>>>0<4096?I:(I^-2147483648)>>31&4095;F=G+d+((a+B|0)*20|0)+(H(C+F|0,-5)|0)>>10;b[j+(n<<1)>>1]=F>>>0<4096?F:(F^-2147483648)>>31&4095;B=E+D+((C+a|0)*20|0)+(H(d+B|0,-5)|0)>>10;b[j+(o<<1)>>1]=B>>>0<4096?B:(B^-2147483648)>>31&4095;j=j+2|0;f=f+4|0;i=i+1|0}return}function Fe(e,f,g,h,i,j,k){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=Mb;Mb=Mb+16|0;y=A;x=c[g+12>>2]|0;w=c[1047648+(i<<4)+4>>2]|0;a:do if(!k){t=f+8|0;u=f+16|0;s=201202+i|0;q=g+8|0;o=0;p=0;while(1){if((p|0)>=(x|0)){k=0;break a}k=c[t>>2]|0;r=c[u>>2]|0;m=c[f>>2]|0;v=m+(k>>>3)|0;v=(kS(d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24|0)|0)<<(k&7)>>>23;i=b[w+(v<<2)>>1]|0;v=b[w+(v<<2)+2>>1]|0;n=v<<16>>16;if(v<<16>>16<0){k=k+9|0;k=r>>>0>k>>>0?k:r;v=m+(k>>>3)|0;v=((kS(d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24|0)|0)<<(k&7)>>>(n+32|0))+i|0;i=b[w+(v<<2)>>1]|0;v=b[w+(v<<2)+2>>1]|0;l=v<<16>>16;if(v<<16>>16<0){k=k-n|0;k=r>>>0>k>>>0?k:r;v=m+(k>>>3)|0;i=((kS(d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24|0)|0)<<(k&7)>>>(l+32|0))+i|0;l=b[w+(i<<2)+2>>1]|0;i=b[w+(i<<2)>>1]|0}}else l=n;v=l+k|0;c[t>>2]=r>>>0>v>>>0?v:r;o=i-(a[s>>0]|0)+o|0;a[h+(j*34|0)+p>>0]=o;v=a[g+76+(j*34|0)+p>>0]|0;if((((v|0)>-1?v:0-v|0)|0)>(c[q>>2]<<3|7|0)){z=16;break}else p=p+1|0}}else{if(!j)k=c[g+40>>2]|0;else k=j;t=k+-1|0;t=(t|0)>0?t:0;u=f+8|0;v=f+16|0;p=201202+i|0;q=g+8|0;o=0;while(1){if((o|0)>=(x|0)){k=0;break a}r=d[h+(t*34|0)+o>>0]|0;k=c[u>>2]|0;s=c[v>>2]|0;m=c[f>>2]|0;l=m+(k>>>3)|0;l=(kS(d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24|0)|0)<<(k&7)>>>23;i=b[w+(l<<2)>>1]|0;l=b[w+(l<<2)+2>>1]|0;n=l<<16>>16;if(l<<16>>16<0){k=k+9|0;k=s>>>0>k>>>0?k:s;B=m+(k>>>3)|0;B=((kS(d[B>>0]|d[B+1>>0]<<8|d[B+2>>0]<<16|d[B+3>>0]<<24|0)|0)<<(k&7)>>>(n+32|0))+i|0;i=b[w+(B<<2)>>1]|0;B=b[w+(B<<2)+2>>1]|0;l=B<<16>>16;if(B<<16>>16<0){k=k-n|0;k=s>>>0>k>>>0?k:s;B=m+(k>>>3)|0;i=((kS(d[B>>0]|d[B+1>>0]<<8|d[B+2>>0]<<16|d[B+3>>0]<<24|0)|0)<<(k&7)>>>(l+32|0))+i|0;l=b[w+(i<<2)+2>>1]|0;i=b[w+(i<<2)>>1]|0}}else l=n;B=l+k|0;c[u>>2]=s>>>0>B>>>0?B:s;a[h+(j*34|0)+o>>0]=i+r-(d[p>>0]|0);B=a[g+76+(j*34|0)+o>>0]|0;if((((B|0)>-1?B:0-B|0)|0)>(c[q>>2]<<3|7|0)){z=16;break}else o=o+1|0}}while(0);if((z|0)==16){Xw(e,16,201225,y);k=-1}Mb=A;return k|0}function Ge(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c[b+28200>>2]|0;q=c[b+24312>>2]|0;j=c[q>>2]|0;h=j+212|0;c[h>>2]=0;d=j+208|0;c[d>>2]=0;i=(c[i+1160>>2]|0)==0;if(!i?(c[b+29660>>2]|0)!=0:0){g=c[b+29664>>2]|0;a:do switch(g|0){case 8:{c[d>>2]=4;d=0;break}case 2:case 1:{c[h>>2]=1;d=1;break}case 4:case 3:{if((c[b+26360>>2]|0)==0?(c[b+26364>>2]|0)==3:0){d=c[b+29548>>2]|0;c[h>>2]=d;break a}c[h>>2]=1;d=1;break}case 6:case 5:{c[d>>2]=1;d=0;break}case 7:{c[d>>2]=2;d=0;break}default:d=0}while(0);e=c[b+29668>>2]|0;if((e&3|0)!=0?(f=e>>>1&1,g>>>0<5):0)c[h>>2]=f;else f=d}else{if(!(c[b+26360>>2]|0))d=(c[b+26364>>2]|0)!=3;else d=1;f=d&1;c[h>>2]=f}c[b+29548>>2]=f;d=c[q+76>>2]|0;e=c[q+80>>2]|0;b:do if((d|0)==(e|0)){if(!i?c[b+29660>>2]|0:0)switch(c[b+29664>>2]|0){case 5:case 3:{c[j+216>>2]=1;break b}default:{c[j+216>>2]=0;break b}}d=j+216|0;if(!f){c[d>>2]=0;break}else{c[d>>2]=1;break}}else c[j+216>>2]=(d|0)<(e|0)&1;while(0);if(((c[b+29836>>2]|0?(k=b+29848|0,(c[k>>2]|0)>>>0<7):0)?(l=b+29856|0,((c[l>>2]|0)+-1|0)>>>0<2):0)?(m=Rx(j)|0,m|0):0){c:do switch(c[k>>2]|0){case 0:{c[m>>2]=4;break}case 1:{c[m>>2]=7;break}case 2:{c[m>>2]=6;break}case 3:if(!(c[b+29860>>2]|0)){c[m>>2]=1;break c}else{c[m>>2]=5;break c}case 4:{c[m>>2]=2;break}case 5:{c[m>>2]=3;break}case 6:{c[m>>2]=0;break}default:{}}while(0);if((c[l>>2]|0)==2)c[m+4>>2]=1}do if(c[b+29864>>2]|0){d=c[b+29868>>2]|0;if(((d|0)==0?(c[b+29872>>2]|0)==0:0)?(c[b+29876>>2]|0)==0:0)break;e=fQ(c[q>>2]|0,6,36)|0;if(e|0){m=e+4|0;Nw(c[m>>2]|0,+(d*360|0)*.0000152587890625);lv(c[m>>2]|0,c[b+29872>>2]|0,c[b+29876>>2]|0)}}while(0);d=b+29680|0;if(c[d>>2]|0?(n=fQ(c[q>>2]|0,7,1)|0,n|0):0){a[c[n+4>>2]>>0]=a[b+29684>>0]|0;c[d>>2]=0}d=b+29692|0;if(c[d>>2]|0){e=b+29688|0;f=fQ(c[q>>2]|0,1,c[e>>2]|0)|0;if(f|0)rk(c[f+4>>2]|0,c[d>>2]|0,c[e>>2]|0)|0;hM(d);c[e>>2]=0;n=(c[b+4>>2]|0)+964|0;c[n>>2]=c[n>>2]|2}if((c[b+29896>>2]|0?(o=b+29900|0,dQ(c[o>>2]|0)|0):0)?(p=c[o>>2]|0,(p|0)!=2):0){c[(c[q>>2]|0)+308>>2]=p;c[(c[b+4>>2]|0)+392>>2]=p}return}function He(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;m=8-g|0;l=8-h|0;o=H(l,m)|0;l=H(l,g)|0;m=H(m,h)|0;k=H(h,g)|0;n=d>>1;a:do if(!k){k=l+m|0;if(!k){g=0;while(1){if((g|0)>=(f|0))break a;m=((e[a>>1]|0)+1+(((H(o,e[c>>1]|0)|0)+32|0)>>>6)|0)>>>1&65535;b[a>>1]=m;m=a+2|0;l=((e[m>>1]|0)+1+(((H(o,e[c+2>>1]|0)|0)+32|0)>>>6)|0)>>>1&65535;b[m>>1]=l;m=a+4|0;l=((e[m>>1]|0)+1+(((H(o,e[c+4>>1]|0)|0)+32|0)>>>6)|0)>>>1&65535;b[m>>1]=l;m=a+6|0;l=((e[m>>1]|0)+1+(((H(o,e[c+6>>1]|0)|0)+32|0)>>>6)|0)>>>1&65535;b[m>>1]=l;a=a+(n<<1)|0;g=g+1|0;c=c+(n<<1)|0}}else{h=(m|0)==0?1:n;d=h+1|0;i=h+2|0;j=h+3|0;g=0;while(1){if((g|0)>=(f|0))break a;m=H(o,e[c>>1]|0)|0;m=((e[a>>1]|0)+1+((m+32+(H(k,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[a>>1]=m;m=a+2|0;l=H(o,e[c+2>>1]|0)|0;l=((e[m>>1]|0)+1+((l+32+(H(k,e[c+(d<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[m>>1]=l;m=a+4|0;l=H(o,e[c+4>>1]|0)|0;l=((e[m>>1]|0)+1+((l+32+(H(k,e[c+(i<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[m>>1]=l;m=a+6|0;l=H(o,e[c+6>>1]|0)|0;l=((e[m>>1]|0)+1+((l+32+(H(k,e[c+(j<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[m>>1]=l;a=a+(n<<1)|0;g=g+1|0;c=c+(n<<1)|0}}}else{h=n+1|0;d=n+2|0;i=n+3|0;j=n+4|0;g=0;while(1){if((g|0)>=(f|0))break a;u=H(o,e[c>>1]|0)|0;r=c+2|0;v=H(l,e[r>>1]|0)|0;p=c+(n<<1)|0;q=H(m,e[p>>1]|0)|0;t=c+(h<<1)|0;q=((e[a>>1]|0)+1+((u+32+v+q+(H(k,e[t>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[a>>1]=q;q=a+2|0;r=H(o,e[r>>1]|0)|0;v=c+4|0;u=H(l,e[v>>1]|0)|0;t=H(m,e[t>>1]|0)|0;s=c+(d<<1)|0;t=((e[q>>1]|0)+1+((r+32+u+t+(H(k,e[s>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[q>>1]=t;q=a+4|0;v=H(o,e[v>>1]|0)|0;t=c+6|0;u=H(l,e[t>>1]|0)|0;s=H(m,e[s>>1]|0)|0;r=c+(i<<1)|0;s=((e[q>>1]|0)+1+((v+32+u+s+(H(k,e[r>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[q>>1]=s;q=a+6|0;t=H(o,e[t>>1]|0)|0;s=H(l,e[c+8>>1]|0)|0;r=H(m,e[r>>1]|0)|0;r=((e[q>>1]|0)+1+((t+32+s+r+(H(k,e[c+(j<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[q>>1]=r;a=a+(n<<1)|0;g=g+1|0;c=p}}while(0);return}function Ie(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (L(n|0),f)|0}else{if(!g){n=0;f=0;return (L(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (L(n|0),f)|0}}g=(i|0)==0;do if(h){if(!g){g=(J(i|0)|0)-(J(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (L(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (L(n|0),f)|0}g=h-1|0;if(g&h|0){i=(J(h|0)|0)+33-(J(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (L(o|0),p)|0}else{p=yT(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (L(o|0),p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (L(o|0),p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (L(o|0),p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((yT(i|0)|0)>>>0);return (L(o|0),p)|0}g=(J(i|0)|0)-(J(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (L(o|0),p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (L(o|0),p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=SO(m|0,l|0,-1,-1)|0;d=M()|0;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;QO(k|0,d|0,e|0,n|0)|0;p=M()|0;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=QO(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=M()|0;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (L(o|0),p)|0}function Je(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=Mb;Mb=Mb+48|0;k=v+32|0;j=v+24|0;s=v+20|0;t=v+16|0;l=v+8|0;m=v;c[s>>2]=f;c[t>>2]=g;o=c[a>>2]|0;h=o+1640|0;if((c[h>>2]|0)==0?(c[h>>2]=1,i=c[b+104>>2]|0,i|0):0)vi(c[b+100>>2]|0,i,o+40|0,o+1632|0,o+1636|0,c[b+688>>2]|0,b)|0;i=a+176|0;do if(!(c[i>>2]&1)){g=tf(o,f,g,b)|0;if((Rg(o,g,s,t)|0)<0){c[d>>2]=0;c[e>>2]=0;g=c[t>>2]|0;break}if((g|0)<0&(g|0)!=-100){tf(o,(c[o>>2]|0)+((c[o+8>>2]|0)+g)|0,0-g|0,b)|0;u=9}else u=9}else u=9;while(0);if((u|0)==9){Tc(a,b,c[s>>2]|0,c[t>>2]|0);h=b+880|0;if(c[h>>2]|0){c[m>>2]=c[b+116>>2];c[m+4>>2]=1;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];Ou(l,j,k);n=c[l>>2]|0;p=b+108|0;c[p>>2]=c[l+4>>2];c[p+4>>2]=n}h=c[o+1404>>2]|0;if((h|0)>-1){p=c[o+1432>>2]|0;k=h;n=c[o+1400>>2]|0}else{p=-2147483648;k=-2147483648;n=-2147483648}c[a+240>>2]=p;c[a+244>>2]=k;c[a+248>>2]=n;h=c[i>>2]|0;if(h&2|0)c[i>>2]=h&1;if((p|0)>-1?(q=c[b+112>>2]|0,r=c[b+892>>2]|0,q=XJ(r|0,((r|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0,r=M()|0,(r|0)>0|(r|0)==0&q>>>0>0):0){l=c[b+108>>2]|0;m=c[b+896>>2]|0;l=XJ(m|0,((m|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;m=M()|0;j=a+48|0;h=j;i=c[h>>2]|0;h=c[h+4>>2]|0;if((i|0)==0&(h|0)==-2147483648){f=o+1664|0;i=f;h=c[i>>2]|0;i=c[i+4>>2]|0;if((h|0)==0&(i|0)==-2147483648){i=0;h=-2147483648}else{u=pN(k,((k|0)<0)<<31>>31,l,m,q,r)|0;i=SO(u|0,M()|0,h|0,i|0)|0;h=M()|0;u=j;c[u>>2]=i;c[u+4>>2]=h;u=21}}else{k=pN(k,((k|0)<0)<<31>>31,l,m,q,r)|0;k=QO(i|0,h|0,k|0,M()|0)|0;b=M()|0;f=o+1664|0;o=f;c[o>>2]=k;c[o+4>>2]=b;if(!((k|0)==0&(b|0)==-2147483648))u=21}if((u|0)==21){j=a+40|0;u=j;if((c[u>>2]|0)==0?(c[u+4>>2]|0)==-2147483648:0){q=pN(n,((n|0)<0)<<31>>31,l,m,q,r)|0;q=SO(q|0,M()|0,i|0,h|0)|0;r=M()|0;u=j;c[u>>2]=q;c[u+4>>2]=r}}if((p|0)>0){u=f;c[u>>2]=i;c[u+4>>2]=h}}c[d>>2]=c[s>>2];c[e>>2]=c[t>>2]}Mb=v;return g|0}function Ke(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=f>>1;if(!c){c=e[a+-2>>1]|0;d=c}else{d=e[a+-2>>1]|0;c=e[a+(~g<<1)>>1]|0}t=e[a+(g+-1<<1)>>1]|0;i=t+2|0;u=(i+c+(d<<1)|0)>>>2;m=f&-2;s=e[a+(m+-1<<1)>>1]|0;q=s+2|0;t=(q+d+(t<<1)|0)>>>2;k=g*3|0;o=e[a+(k+-1<<1)>>1]|0;s=(i+(s<<1)+o|0)>>>2;i=g<<2;n=e[a+(i+-1<<1)>>1]|0;q=(q+(o<<1)+n|0)>>>2;h=g*5|0;l=e[a+(h+-1<<1)>>1]|0;o=(o+2+(n<<1)+l|0)>>>2;d=g*6|0;p=e[a+(d+-1<<1)>>1]|0;n=(n+2+(l<<1)+p|0)>>>2;c=g*7|0;j=e[a+(c+-1<<1)>>1]|0;l=(l+2+(p<<1)+j|0)>>>2;j=(p+2+(j*3|0)|0)>>>2;p=t+1|0;b[a>>1]=(p+u|0)>>>1;r=s+2|0;b[a+2>>1]=(r+u+(t<<1)|0)>>>2;p=(p+s|0)>>>1&65535;b[a+4>>1]=p;b[a+(g<<1)>>1]=p;p=q+2|0;t=(p+t+(s<<1)|0)>>>2&65535;b[a+6>>1]=t;b[a+(g+1<<1)>>1]=t;s=(s+1+q|0)>>>1&65535;b[a+8>>1]=s;b[a+(g+2<<1)>>1]=s;b[a+(m<<1)>>1]=s;r=(r+(q<<1)+o|0)>>>2&65535;b[a+10>>1]=r;b[a+(g+3<<1)>>1]=r;b[a+((f|1)<<1)>>1]=r;f=(q+1+o|0)>>>1&65535;b[a+12>>1]=f;b[a+(g+4<<1)>>1]=f;b[a+(m+2<<1)>>1]=f;b[a+(k<<1)>>1]=f;f=(p+(o<<1)+n|0)>>>2&65535;b[a+14>>1]=f;b[a+(g+5<<1)>>1]=f;b[a+(m+3<<1)>>1]=f;b[a+(k+1<<1)>>1]=f;f=(o+1+n|0)>>>1&65535;b[a+(g+6<<1)>>1]=f;b[a+(m+4<<1)>>1]=f;b[a+(k+2<<1)>>1]=f;b[a+(i<<1)>>1]=f;f=(o+2+(n<<1)+l|0)>>>2&65535;b[a+(g+7<<1)>>1]=f;b[a+(m+5<<1)>>1]=f;b[a+(k+3<<1)>>1]=f;b[a+((i|1)<<1)>>1]=f;f=(n+1+l|0)>>>1&65535;b[a+(m+6<<1)>>1]=f;b[a+(k+4<<1)>>1]=f;b[a+((i|2)<<1)>>1]=f;b[a+(h<<1)>>1]=f;f=(n+2+j+(l<<1)|0)>>>2&65535;b[a+(m+7<<1)>>1]=f;b[a+(k+5<<1)>>1]=f;b[a+((i|3)<<1)>>1]=f;b[a+(h+1<<1)>>1]=f;f=(l+1+j|0)>>>1&65535;b[a+(k+6<<1)>>1]=f;b[a+(i+4<<1)>>1]=f;b[a+(h+2<<1)>>1]=f;b[a+(d<<1)>>1]=f;f=(l+2+(j*3|0)|0)>>>2&65535;b[a+(k+7<<1)>>1]=f;b[a+(i+5<<1)>>1]=f;b[a+(h+3<<1)>>1]=f;b[a+((d|1)<<1)>>1]=f;f=j&65535;b[a+(c+7<<1)>>1]=f;b[a+(d+7<<1)>>1]=f;b[a+(h+7<<1)>>1]=f;b[a+(i+7<<1)>>1]=f;b[a+(c+6<<1)>>1]=f;b[a+(d+6<<1)>>1]=f;b[a+(h+6<<1)>>1]=f;b[a+(i+6<<1)>>1]=f;b[a+(c+5<<1)>>1]=f;b[a+(d+5<<1)>>1]=f;b[a+(h+5<<1)>>1]=f;b[a+(c+4<<1)>>1]=f;b[a+(d+4<<1)>>1]=f;b[a+(h+4<<1)>>1]=f;b[a+(c+3<<1)>>1]=f;b[a+(d+3<<1)>>1]=f;b[a+(c+2<<1)>>1]=f;b[a+(d+2<<1)>>1]=f;b[a+(c+1<<1)>>1]=f;b[a+(c<<1)>>1]=f;return}function Le(e,f,g,h,i,j,k){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=Mb;Mb=Mb+16|0;x=z;w=c[g+28>>2]|0;v=c[1047648+(i<<4)+4>>2]|0;a:do if(!k){s=f+8|0;t=f+16|0;q=201202+i|0;o=0;p=0;while(1){if((p|0)>=(w|0)){k=0;break a}k=c[s>>2]|0;r=c[t>>2]|0;n=c[f>>2]|0;u=n+(k>>>3)|0;u=(kS(d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24|0)|0)<<(k&7)>>>23;i=b[v+(u<<2)>>1]|0;u=b[v+(u<<2)+2>>1]|0;m=u<<16>>16;if(u<<16>>16<0){k=k+9|0;k=r>>>0>k>>>0?k:r;u=n+(k>>>3)|0;u=((kS(d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24|0)|0)<<(k&7)>>>(m+32|0))+i|0;i=b[v+(u<<2)>>1]|0;u=b[v+(u<<2)+2>>1]|0;l=u<<16>>16;if(u<<16>>16<0){k=k-m|0;k=r>>>0>k>>>0?k:r;u=n+(k>>>3)|0;i=((kS(d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24|0)|0)<<(k&7)>>>(l+32|0))+i|0;l=b[v+(i<<2)+2>>1]|0;i=b[v+(i<<2)>>1]|0}}else l=m;u=l+k|0;c[s>>2]=r>>>0>u>>>0?u:r;o=i-(a[q>>0]|0)+o|0;a[h+(j*34|0)+p>>0]=o;if((d[g+246+(j*34|0)+p>>0]|0)>7){y=16;break}else p=p+1|0}}else{if(!j)k=c[g+40>>2]|0;else k=j;s=k+-1|0;s=(s|0)>0?s:0;t=f+8|0;u=f+16|0;p=201202+i|0;o=0;while(1){if((o|0)>=(w|0)){k=0;break a}q=d[h+(s*34|0)+o>>0]|0;k=c[t>>2]|0;r=c[u>>2]|0;m=c[f>>2]|0;l=m+(k>>>3)|0;l=(kS(d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24|0)|0)<<(k&7)>>>23;i=b[v+(l<<2)>>1]|0;l=b[v+(l<<2)+2>>1]|0;n=l<<16>>16;if(l<<16>>16<0){k=k+9|0;k=r>>>0>k>>>0?k:r;A=m+(k>>>3)|0;A=((kS(d[A>>0]|d[A+1>>0]<<8|d[A+2>>0]<<16|d[A+3>>0]<<24|0)|0)<<(k&7)>>>(n+32|0))+i|0;i=b[v+(A<<2)>>1]|0;A=b[v+(A<<2)+2>>1]|0;l=A<<16>>16;if(A<<16>>16<0){k=k-n|0;k=r>>>0>k>>>0?k:r;A=m+(k>>>3)|0;i=((kS(d[A>>0]|d[A+1>>0]<<8|d[A+2>>0]<<16|d[A+3>>0]<<24|0)|0)<<(k&7)>>>(l+32|0))+i|0;l=b[v+(i<<2)+2>>1]|0;i=b[v+(i<<2)>>1]|0}}else l=n;A=l+k|0;c[t>>2]=r>>>0>A>>>0?A:r;a[h+(j*34|0)+o>>0]=i+q-(d[p>>0]|0);if((d[g+246+(j*34|0)+o>>0]|0)<8)o=o+1|0;else{y=16;break}}}while(0);if((y|0)==16){Xw(e,16,201212,x);k=-1}Mb=z;return k|0}function Me(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;n=8-g|0;m=8-h|0;o=H(m,n)|0;m=H(m,g)|0;n=H(n,h)|0;h=H(h,g)|0;a:do if(!h){l=m+n|0;if(!l){g=0;while(1){if((g|0)>=(f|0))break a;n=((d[b>>0]|0)+1+(((H(o,d[c>>0]|0)|0)+32|0)>>>6)|0)>>>1&255;a[b>>0]=n;n=b+1|0;m=((d[n>>0]|0)+1+(((H(o,d[c+1>>0]|0)|0)+32|0)>>>6)|0)>>>1&255;a[n>>0]=m;n=b+2|0;m=((d[n>>0]|0)+1+(((H(o,d[c+2>>0]|0)|0)+32|0)>>>6)|0)>>>1&255;a[n>>0]=m;n=b+3|0;m=((d[n>>0]|0)+1+(((H(o,d[c+3>>0]|0)|0)+32|0)>>>6)|0)>>>1&255;a[n>>0]=m;b=b+e|0;g=g+1|0;c=c+e|0}}else{h=(n|0)==0?1:e;i=h+1|0;j=h+2|0;k=h+3|0;g=0;while(1){if((g|0)>=(f|0))break a;n=H(o,d[c>>0]|0)|0;n=((d[b>>0]|0)+1+((n+32+(H(l,d[c+h>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[b>>0]=n;n=b+1|0;m=H(o,d[c+1>>0]|0)|0;m=((d[n>>0]|0)+1+((m+32+(H(l,d[c+i>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[n>>0]=m;n=b+2|0;m=H(o,d[c+2>>0]|0)|0;m=((d[n>>0]|0)+1+((m+32+(H(l,d[c+j>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[n>>0]=m;n=b+3|0;m=H(o,d[c+3>>0]|0)|0;m=((d[n>>0]|0)+1+((m+32+(H(l,d[c+k>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[n>>0]=m;b=b+e|0;g=g+1|0;c=c+e|0}}}else{i=e+1|0;j=e+2|0;k=e+3|0;l=e+4|0;g=0;while(1){if((g|0)>=(f|0))break a;u=H(o,d[c>>0]|0)|0;r=c+1|0;v=H(m,d[r>>0]|0)|0;p=c+e|0;q=H(n,d[p>>0]|0)|0;t=c+i|0;q=((d[b>>0]|0)+1+((u+32+v+q+(H(h,d[t>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[b>>0]=q;q=b+1|0;r=H(o,d[r>>0]|0)|0;v=c+2|0;u=H(m,d[v>>0]|0)|0;t=H(n,d[t>>0]|0)|0;s=c+j|0;t=((d[q>>0]|0)+1+((r+32+u+t+(H(h,d[s>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[q>>0]=t;q=b+2|0;v=H(o,d[v>>0]|0)|0;t=c+3|0;u=H(m,d[t>>0]|0)|0;s=H(n,d[s>>0]|0)|0;r=c+k|0;s=((d[q>>0]|0)+1+((v+32+u+s+(H(h,d[r>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[q>>0]=s;q=b+3|0;t=H(o,d[t>>0]|0)|0;s=H(m,d[c+4>>0]|0)|0;r=H(n,d[r>>0]|0)|0;r=((d[q>>0]|0)+1+((t+32+s+r+(H(h,d[c+l>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[q>>0]=r;b=b+e|0;g=g+1|0;c=p}}while(0);return}function Ne(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;do if(!((d|0)<0|((f|0)<0|(f|0)==0&e>>>0<1))?(j=g&-8193,!(j>>>0>5|(j|0)==4)):0){if(g&8192){j=SO(a|0,b|0,1,-2147483648)|0;i=M()|0;if(i>>>0<0|(i|0)==0&j>>>0<2)break;g=g+-8192|0}if((b|0)<0){j=(b|0)>-2147483648|(b|0)==-2147483648&a>>>0>1;j=QO(0,0,(j?a:1)|0,(j?b:-2147483648)|0)|0;f=Ne(j,M()|0,c,d,e,f,g>>>1&1^g)|0;f=QO(0,0,f|0,M()|0)|0;L(M()|0);return f|0}if((g|0)==5){g=oN(e|0,f|0,1)|0;h=M()|0}else{j=(g&1|0)==0;g=SO(e|0,f|0,-1,-1)|0;h=M()|0;g=j?0:g;h=j?0:h}if(!(((d|0)<0|(d|0)==0&c>>>0<2147483648)&((f|0)<0|(f|0)==0&e>>>0<2147483648))){j=XJ(d|0,0,a|0,0)|0;k=M()|0;i=XJ(c|0,0,b|0,0)|0;i=SO(j|0,k|0,i|0,M()|0)|0;k=M()|0;c=XJ(c|0,0,a|0,0)|0;c=SO(0,i|0,c|0,M()|0)|0;j=M()|0;a=XJ(d|0,0,b|0,0)|0;a=SO(k|0,0,a|0,M()|0)|0;a=SO(a|0,M()|0,(j>>>0<i>>>0|(j|0)==(i|0)&c>>>0<0)&1|0,0)|0;b=M()|0;j=SO(g|0,h|0,c|0,j|0)|0;c=M()|0;b=SO(a|0,b|0,(c>>>0<h>>>0|(c|0)==(h|0)&j>>>0<g>>>0)&1|0,0)|0;a=63;g=M()|0;h=k;while(1){if((a|0)<=-1)break;l=oN(j|0,c|0,a|0)|0;M()|0;n=cN(b|0,g|0,1)|0;m=M()|0;n=l&1|n;l=cN(i|0,h|0,1)|0;k=M()|0;d=m>>>0<f>>>0|(m|0)==(f|0)&n>>>0<e>>>0;m=QO(n|0,m|0,(d?0:e)|0,(d?0:f)|0)|0;a=a+-1|0;b=m;g=M()|0;i=l|(d^1)&1;h=k}a=(h|0)<0;b=a?-2147483648:h;a=a?0:i;break}if((b|0)<0|(b|0)==0&a>>>0<2147483648){a=XJ(c|0,d|0,a|0,b|0)|0;a=SO(g|0,h|0,a|0,M()|0)|0;a=pu(a|0,M()|0,e|0,f|0)|0;b=M()|0;break}i=ZR(a|0,b|0,e|0,f|0)|0;j=M()|0;n=XJ(i|0,j|0,e|0,f|0)|0;a=QO(a|0,b|0,n|0,M()|0)|0;a=XJ(a|0,M()|0,c|0,d|0)|0;a=SO(a|0,M()|0,g|0,h|0)|0;a=pu(a|0,M()|0,e|0,f|0)|0;b=M()|0;if(((c|0)!=0|(d|0)!=0)&((j|0)>0|(j|0)==0&i>>>0>2147483646)?(n=QO(-1,2147483647,a|0,b|0)|0,n=pu(n|0,M()|0,c|0,d|0)|0,m=M()|0,(j|0)>(m|0)|(j|0)==(m|0)&i>>>0>n>>>0):0){b=-2147483648;a=0;break}n=XJ(i|0,j|0,c|0,d|0)|0;a=SO(a|0,b|0,n|0,M()|0)|0;b=M()|0}else{b=-2147483648;a=0}while(0);L(b|0);return a|0}function Oe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Mb;Mb=Mb+16|0;q=s;d=a+800|0;b=c[d>>2]|0;e=c[a+12>>2]|0;if(!b){b=PL()|0;if((c[a+680>>2]&24576|0)==0?(c[a+684>>2]|0)==0:0){p=b+1|0;b=(b|0)>1?((p|0)<16?p:16):1}else b=1;c[d>>2]=b;o=b}else o=b;a:do if((o|0)>=2){p=YQ(156)|0;b=a+64|0;c[(c[b>>2]|0)+20>>2]=p;if(!p)b=-12;else{n=qQ(o)|0;c[p>>2]=n;if(!n){hM((c[b>>2]|0)+20|0);b=-12;break}rU(p+8|0,0)|0;rU(p+36|0,0)|0;rU(p+64|0,0)|0;wb(p+92|0,0)|0;c[p+140>>2]=1;c[p+152>>2]=1;l=e+76|0;m=e+52|0;j=e+60|0;n=0;d=a;while(1){if((n|0)>=(o|0)){b=0;break a}k=jx(1016)|0;c[q>>2]=k;k=c[p>>2]|0;h=k+(n*352|0)|0;rU(k+(n*352|0)+156|0,0)|0;rU(k+(n*352|0)+184|0,0)|0;wb(k+(n*352|0)+12|0,0)|0;wb(k+(n*352|0)+60|0,0)|0;wb(k+(n*352|0)+108|0,0)|0;i=hP()|0;c[k+(n*352|0)+288>>2]=i;if(!i){r=14;break}c[h>>2]=p;b=c[q>>2]|0;c[k+(n*352|0)+212>>2]=b;i=b;if(!b){b=-12;r=26;break}rk(b|0,d|0,1016)|0;e=jx(116)|0;g=i+64|0;c[g>>2]=e;if(!e){r=17;break}b=c[d+64>>2]|0;f=e+116|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(f|0));f=c[g>>2]|0;c[f+20>>2]=h;c[f+40>>2]=k+(n*352|0)+216;if(n){b=jx(c[m>>2]|0)|0;c[i+60>>2]=b;if(!b){b=-12;r=26;break}rk(b|0,c[d+60>>2]|0,c[m>>2]|0)|0;c[c[g>>2]>>2]=1;b=c[j>>2]|0;if(b){b=Vb[b&31](i)|0;r=25}}else{b=c[l>>2]|0;if(!b)b=0;else b=Vb[b&31](i)|0;$f(a,i,1)|0;d=i;r=25}if((r|0)==25){r=0;if(b){r=26;break}}c[k+(n*352|0)+344>>2]=(c[i+680>>2]|0)>>>16&1;b=zb(k+(n*352|0)+4|0,0,21,h|0)|0;i=(b|0)==0;c[k+(n*352|0)+8>>2]=i&1;if(!i){r=29;break}n=n+1|0}if((r|0)==14){hM(q);b=-12;r=26}else if((r|0)==17){c[b+60>>2]=0;b=-12;r=26}else if((r|0)==29)b=0-b|0;Fg(a,n+1|0)}}else{c[a+808>>2]=0;b=0}while(0);Mb=s;return b|0}function Pe(){var b=0.0,c=0,d=0,e=0,g=0.0,h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0,o=0,p=0.0,q=0.0,r=0.0;c=0;while(1){if((c|0)==8)break;i=+f[78288+(c<<2)>>2]*.25;j=+f[78320+(c<<2)>>2]*.25;m=c<<6;d=0;while(1){if((d|0)==8)break;b=i+ +f[78288+(d<<2)>>2]*.5;g=j+ +f[78320+(d<<2)>>2]*.5;h=(d<<3)+m|0;e=0;while(1){if((e|0)==8)break;k=b+ +f[78288+(e<<2)>>2];l=g+ +f[78320+(e<<2)>>2];n=1.0/+Ek(l,k);o=h+e|0;f[1059584+(o<<2)>>2]=k*n;f[1061632+(o<<2)>>2]=l*n;e=e+1|0}d=d+1|0}c=c+1|0}c=0;while(1){if((c|0)==46)break;l=+f[78352+(c<<2)>>2];k=l*l;b=1.4142135381698608/+v(+(k+1.0));g=l*b;i=b-g;j=l*2.0;k=k+-1.0;l=l+1.0/l;l=l*l;d=0;while(1){if((d|0)==8)break;n=+f[78544+(d<<2)>>2]*.5;q=i*n*.7071067690849304;p=n+q;r=g*+x(+p);f[1047808+(c<<7)+(d<<4)>>2]=r;n=q-n;q=b*+x(+n);f[1047808+(c<<7)+(d<<4)+4>>2]=q;p=g*+y(+p);f[1047808+(c<<7)+(d<<4)+8>>2]=p;n=b*+y(+n);f[1047808+(c<<7)+(d<<4)+12>>2]=n;if(d>>>0<5)n=+f[78576+(d<<2)>>2];else n=.05000000074505806;q=+D(+(j*n),+k)*.5;n=+v(+((n*(n*4.0)+-4.0)/l+1.0));n=+C(+(+v(+((1.0-n)/(n+1.0)))));q=q<0.0?q+1.5707963267948966:q;p=+y(+q);r=+y(+n);q=+x(+q)*1.4142135623730951;n=+x(+n);f[1053696+(c<<7)+(d<<4)>>2]=q*n;f[1053696+(c<<7)+(d<<4)+4>>2]=p*1.4142135623730951*n;f[1053696+(c<<7)+(d<<4)+8>>2]=p*-1.4142135623730951*r;f[1053696+(c<<7)+(d<<4)+12>>2]=q*r;d=d+1|0}c=c+1|0}c=0;while(1){if((c|0)==30)break;if(c>>>0<10)b=+(a[201332+c>>0]|0)*.125;else b=+(c|0)+-6.5;d=0;while(1){if((d|0)==3)break;r=b*(+f[163816+(d<<2)>>2]*-3.141592653589793);q=+x(+r);f[1064480+(c*24|0)+(d<<3)>>2]=q;r=+y(+r);f[1064480+(c*24|0)+(d<<3)+4>>2]=r;d=d+1|0}r=b*-1.225221089959176;q=+x(+r);f[1063680+(c<<3)>>2]=q;r=+y(+r);f[1063680+(c<<3)+4>>2]=r;c=c+1|0}c=0;while(1){if((c|0)==50)break;if(c>>>0<32)b=+(a[78608+c>>0]|0)/24.0;else b=+(c|0)+-26.5;d=0;while(1){if((d|0)==3)break;r=b*(+f[163816+(d<<2)>>2]*-3.141592653589793);q=+x(+r);f[1065680+(c*24|0)+(d<<3)>>2]=q;r=+y(+r);f[1065680+(c*24|0)+(d<<3)+4>>2]=r;d=d+1|0}r=b*-1.225221089959176;q=+x(+r);f[1064080+(c<<3)>>2]=q;r=+y(+r);f[1064080+(c<<3)+4>>2]=r;c=c+1|0}Nu(1068416,78640,8);Nu(1066880,78672,12);Nu(1067648,78704,8);Nu(1068160,78736,4);return}function Qe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0;m=Mb;Mb=Mb+16|0;l=m;k=m+8|0;j=k+4|0;e=0;while(1){e=bC(a,e)|0;if(!e)break;h=a+(c[e+8>>2]|0)|0;i=c[e+40>>2]|0;a:do if((i&b|0)==(d|0)&(i&128|0)==0){f=c[e+12>>2]|0;b:do if((f|0)>=9){if((f|0)<1146442272){if((f|0)<1112493900)switch(f|0){case 128:break a;case 9:{i=5;break b}default:{i=14;break b}}if((f|0)<1128811585)switch(f|0){case 1112493900:{i=5;break b}default:{i=14;break b}}if((f|0)<1129270354)switch(f|0){case 1128811585:{i=5;break b}default:{i=14;break b}}switch(f|0){case 1129270354:break;default:{i=14;break b}}wH(a,c[e+16>>2]|0,h)|0;break a}if((f|0)<1397116244)if((f|0)<1346784596)switch(f|0){case 1146442272:{i=5;break b}default:{i=14;break b}}else switch(f|0){case 1346784596:{i=5;break b}default:{i=14;break b}}if((f|0)<1397316165)switch(f|0){case 1397116244:{i=5;break b}default:{i=14;break b}}if((f|0)<1448231252){switch(f|0){case 1397316165:break;default:{i=14;break b}}bz(a,c[e+16>>2]|0,h)|0;break a}else{switch(f|0){case 1448231252:break;default:{i=14;break b}}qD(a,c[e+16>>2]|0,h)|0;break a}}else switch(f|0){case 8:break a;case 2:case 1:case 0:{i=5;break b}case 4:case 3:{Nd(a,e,h,+g[e+16>>3],1,1,0)|0;break a}case 6:{Fl(k,+g[e+16>>3],2147483647);i=c[k>>2]|0;Nd(a,e,h,1.0,c[j>>2]|0,i,((i|0)<0)<<31>>31)|0;break a}case 5:{VP(c[e+16>>2]|0,h)|0;break a}case 7:{Lp(c[e+16>>2]|0,h)|0;break a}default:{i=14;break b}}while(0);if((i|0)==5){i=e+16|0;Nd(a,e,h,1.0,1,c[i>>2]|0,c[i+4>>2]|0)|0;break}else if((i|0)==14){i=c[e>>2]|0;c[l>>2]=f;c[l+4>>2]=i;Xw(a,48,203951,l);break}}while(0)}Mb=m;return}function Re(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0;g=c<<1;i=c<<2;j=c*6|0;e=b+(g<<2)|0;h=a+(i<<3)|0;q=+f[h>>2];d=a+(i<<3)+4|0;m=+f[d>>2];n=a+(j<<3)|0;v=+f[n>>2];k=a+(j<<3)+4|0;u=+f[k>>2];o=v-q;v=q+v;f[h>>2]=+f[a>>2]-v;f[a>>2]=v+ +f[a>>2];h=a+(g<<3)+4|0;f[k>>2]=+f[h>>2]-o;f[h>>2]=o+ +f[h>>2];o=m-u;u=m+u;h=a+(g<<3)|0;f[n>>2]=+f[h>>2]-o;f[h>>2]=o+ +f[h>>2];h=a+4|0;f[d>>2]=+f[h>>2]-u;f[h>>2]=u+ +f[h>>2];h=i|1;d=a+(h<<3)|0;u=+f[d>>2];o=+f[b+4>>2];n=a+(h<<3)+4|0;m=+f[n>>2];v=+f[e+-4>>2];q=-v;t=u*o-m*q;q=o*m+u*q;k=j|1;p=a+(k<<3)|0;u=+f[p>>2];r=a+(k<<3)+4|0;m=+f[r>>2];s=o*u-v*m;m=v*u+o*m;o=s-t;s=t+s;l=a+8|0;f[d>>2]=+f[l>>2]-s;f[l>>2]=+f[l>>2]+s;l=g|1;d=a+(l<<3)+4|0;f[r>>2]=+f[d>>2]-o;f[d>>2]=o+ +f[d>>2];o=q-m;m=q+m;d=a+(l<<3)|0;f[p>>2]=+f[d>>2]-o;f[d>>2]=o+ +f[d>>2];d=a+12|0;f[n>>2]=+f[d>>2]-m;f[d>>2]=m+ +f[d>>2];d=a;a=c+-1|0;do{r=d;d=d+16|0;p=b;b=b+8|0;c=e;e=e+-8|0;w=d+(i<<3)|0;q=+f[w>>2];u=+f[b>>2];x=w+4|0;o=+f[x>>2];s=+f[e>>2];v=-s;t=q*u-o*v;v=u*o+q*v;n=d+(j<<3)|0;q=+f[n>>2];z=n+4|0;o=+f[z>>2];m=u*q-s*o;o=s*q+u*o;u=m-t;m=t+m;f[w>>2]=+f[d>>2]-m;f[d>>2]=+f[d>>2]+m;w=d+(g<<3)|0;y=w+4|0;f[z>>2]=+f[y>>2]-u;f[y>>2]=u+ +f[y>>2];u=v-o;o=v+o;f[n>>2]=+f[w>>2]-u;f[w>>2]=u+ +f[w>>2];w=r+20|0;f[x>>2]=+f[w>>2]-o;f[w>>2]=o+ +f[w>>2];w=d+(h<<3)|0;o=+f[w>>2];u=+f[p+12>>2];p=w+4|0;v=+f[p>>2];m=+f[c+-12>>2];t=-m;q=o*u-v*t;t=u*v+o*t;c=d+(k<<3)|0;o=+f[c>>2];x=c+4|0;v=+f[x>>2];s=u*o-m*v;v=m*o+u*v;u=s-q;s=q+s;n=r+24|0;f[w>>2]=+f[n>>2]-s;f[n>>2]=+f[n>>2]+s;n=d+(l<<3)|0;w=n+4|0;f[x>>2]=+f[w>>2]-u;f[w>>2]=u+ +f[w>>2];u=t-v;v=t+v;f[c>>2]=+f[n>>2]-u;f[n>>2]=u+ +f[n>>2];r=r+28|0;f[p>>2]=+f[r>>2]-v;f[r>>2]=v+ +f[r>>2];a=a+-1|0}while((a|0)!=0);return}function Se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;m=c[l>>2]|0;d=m&-8;i=a+d|0;if(!(m&3)){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[276017]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;k=a+b|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|3;m=i+4|0;c[m>>2]=c[m>>2]|1;rd(k,d);return a|0}if((c[275903]|0)==(i|0)){k=(c[275900]|0)+d|0;d=k-b|0;e=a+b|0;if(k>>>0<=b>>>0){a=0;return a|0}c[l>>2]=m&1|b|2;c[e+4>>2]=d|1;c[275903]=e;c[275900]=d;return a|0}if((c[275902]|0)==(i|0)){e=(c[275899]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){k=a+b|0;e=a+e|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|1;c[e>>2]=d;e=e+4|0;c[e>>2]=c[e>>2]&-2;e=k}else{c[l>>2]=m&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[275899]=d;c[275902]=e;return a|0}e=c[i+4>>2]|0;if(e&2|0){a=0;return a|0}j=(e&-8)+d|0;if(j>>>0<b>>>0){a=0;return a|0}k=j-b|0;f=e>>>3;do if(e>>>0<256){e=c[i+8>>2]|0;d=c[i+12>>2]|0;if((d|0)==(e|0)){c[275897]=c[275897]&~(1<<f);break}else{c[e+12>>2]=d;c[d+8>>2]=e;break}}else{h=c[i+24>>2]|0;d=c[i+12>>2]|0;do if((d|0)==(i|0)){e=i+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){f=0;break}}else e=f;while(1){g=d+20|0;f=c[g>>2]|0;if(!f){g=d+16|0;f=c[g>>2]|0;if(!f)break;else{d=f;e=g}}else{d=f;e=g}}c[e>>2]=0;f=d}else{f=c[i+8>>2]|0;c[f+12>>2]=d;c[d+8>>2]=f;f=d}while(0);if(h|0){d=c[i+28>>2]|0;e=1103892+(d<<2)|0;if((c[e>>2]|0)==(i|0)){c[e>>2]=f;if(!f){c[275898]=c[275898]&~(1<<d);break}}else{g=h+16|0;c[((c[g>>2]|0)==(i|0)?g:h+20|0)>>2]=f;if(!f)break}c[f+24>>2]=h;d=i+16|0;e=c[d>>2]|0;if(e|0){c[f+16>>2]=e;c[e+24>>2]=f}d=c[d+4>>2]|0;if(d|0){c[f+20>>2]=d;c[d+24>>2]=f}}}while(0);if(k>>>0<16){c[l>>2]=m&1|j|2;m=a+j+4|0;c[m>>2]=c[m>>2]|1;return a|0}else{i=a+b|0;c[l>>2]=m&1|b|2;c[i+4>>2]=k|3;m=a+j+4|0;c[m>>2]=c[m>>2]|1;rd(i,k);return a|0}return 0}function Te(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=Mb;Mb=Mb+16|0;q=u;i=(f|0)!=0;j=i?0:262144;p=e+56|0;c[p>>2]=0;f=0;while(1){if((f+1|0)>=(d|0))break;if(!(a[b+f>>0]|0)){g=f+-1|0;if((f|0)>0)g=(a[b+g>>0]|0)==0?g:f;else g=f;f=g+2|0;if(((f|0)<(d|0)?(a[b+(g+1)>>0]|0)==0:0)?(h=a[b+f>>0]|0,(h&255)<4):0){r=11;break}}else f=f+2|0}a:do if((r|0)==11){switch(h<<24>>24){case 0:case 3:{f=g;break a}default:{}}d=g;f=g}while(0);b:do if(!(i&(f|0)>=(d+-1|0))){g=(f|0)>(d|0)?d:f;HE(e,e+4|0,d+j|0);o=c[e>>2]|0;if(!o)d=-12;else{rk(o|0,b|0,g|0)|0;m=e+64|0;n=e+60|0;f=g;while(1){h=g+2|0;if((h|0)>=(d|0)){r=18;break}j=b+h|0;i=a[j>>0]|0;if((i&255)<=3){h=a[b+g>>0]|0;if(!(h<<24>>24))if(!(i<<24>>24==0?1:(a[b+(g+1)>>0]|0)!=0)){if(i<<24>>24!=3){t=f;s=g;break}l=f+1|0;a[o+f>>0]=0;f=f+2|0;a[o+l>>0]=0;g=g+3|0;h=c[m>>2]|0;if(h){k=c[p>>2]|0;i=k+1|0;c[p>>2]=i;j=c[n>>2]|0;if((j|0)<=(k|0)){h=j<<1;c[n>>2]=h;if((h|0)<=(k|0)){r=27;break}rD(m,h,4)|0;h=c[m>>2]|0;if(!h){r=30;break}i=c[p>>2]|0}c[h+(i+-1<<2)>>2]=l}}else{h=0;r=33}else r=33}else{a[o+f>>0]=a[b+g>>0]|0;a[o+(f+1)>>0]=a[b+(g+1)>>0]|0;f=f+2|0;g=h;h=a[j>>0]|0;r=33}if((r|0)==33){r=0;a[o+f>>0]=h;f=f+1|0;g=g+1|0}}c:do if((r|0)==18)while(1){if((g|0)>=(d|0)){t=f;s=g;break c}a[o+f>>0]=a[b+g>>0]|0;f=f+1|0;g=g+1|0}else if((r|0)==27){c[q>>2]=195824;c[q+4>>2]=195874;c[q+8>>2]=118;Xw(0,0,213444,q);ba()}else if((r|0)==30){c[n>>2]=0;d=-12;break b}while(0);d=o+t|0;f=d+32|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(f|0));c[e+12>>2]=o;c[e+8>>2]=t;c[e+24>>2]=b;c[e+20>>2]=s;d=s}}else{c[e+24>>2]=b;c[e+12>>2]=b;c[e+20>>2]=d;c[e+8>>2]=d}while(0);Mb=u;return d|0}function Ue(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==8)break;w=d+(g<<2)|0;o=c[w>>2]|0;m=d+(g+32<<2)|0;l=c[m>>2]|0;j=l+o|0;l=o-l|0;o=d+(g+16<<2)|0;k=c[o>>2]|0;p=d+(g+48<<2)|0;v=c[p>>2]|0;n=(k>>1)-v|0;k=(v>>1)+k|0;v=k+j|0;r=n+l|0;n=l-n|0;k=j-k|0;j=d+(g+24<<2)|0;l=c[j>>2]|0;i=d+(g+40<<2)|0;h=c[i>>2]|0;t=d+(g+56<<2)|0;q=c[t>>2]|0;u=h-l-q-(q>>1)|0;s=d+(g+8<<2)|0;x=c[s>>2]|0;y=q-((l>>1)+l)+x|0;q=q+h+(h>>1)-x|0;x=h+l+x+(x>>1)|0;l=(x>>2)+u|0;h=(q>>2)+y|0;q=(y>>2)-q|0;u=x-(u>>2)|0;c[w>>2]=u+v;c[t>>2]=v-u;c[s>>2]=q+r;c[p>>2]=r-q;c[o>>2]=h+n;c[i>>2]=n-h;c[j>>2]=l+k;c[m>>2]=k-l;g=g+1|0}m=f>>1;f=f&-2;h=m*3|0;i=m<<2;j=m*5|0;k=m*6|0;l=m*7|0;g=0;while(1){if((g|0)==8)break;y=g<<3;q=c[d+(y<<2)>>2]|0;t=c[d+((y|4)<<2)>>2]|0;r=t+q|0;t=q-t|0;q=c[d+((y|2)<<2)>>2]|0;w=c[d+((y|6)<<2)>>2]|0;s=(q>>1)-w|0;q=(w>>1)+q|0;w=q+r|0;u=s+t|0;s=t-s|0;q=r-q|0;r=c[d+((y|3)<<2)>>2]|0;t=c[d+((y|5)<<2)>>2]|0;v=c[d+((y|7)<<2)>>2]|0;x=t-r-v-(v>>1)|0;y=c[d+((y|1)<<2)>>2]|0;p=v-((r>>1)+r)+y|0;v=v+t+(t>>1)-y|0;y=t+r+y+(y>>1)|0;r=(y>>2)+x|0;t=(v>>2)+p|0;v=(p>>2)-v|0;x=y-(x>>2)|0;y=a+(g<<1)|0;p=(x+w>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<16384?p:(p^-2147483648)>>31&16383;y=a+(g+m<<1)|0;p=(v+u>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<16384?p:(p^-2147483648)>>31&16383;y=a+(g+f<<1)|0;p=(t+s>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<16384?p:(p^-2147483648)>>31&16383;y=a+(g+h<<1)|0;p=(r+q>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<16384?p:(p^-2147483648)>>31&16383;y=a+(g+i<<1)|0;r=(q-r>>6)+(e[y>>1]|0)|0;b[y>>1]=r>>>0<16384?r:(r^-2147483648)>>31&16383;y=a+(g+j<<1)|0;t=(s-t>>6)+(e[y>>1]|0)|0;b[y>>1]=t>>>0<16384?t:(t^-2147483648)>>31&16383;y=a+(g+k<<1)|0;v=(u-v>>6)+(e[y>>1]|0)|0;b[y>>1]=v>>>0<16384?v:(v^-2147483648)>>31&16383;y=a+(g+l<<1)|0;x=(w-x>>6)+(e[y>>1]|0)|0;b[y>>1]=x>>>0<16384?x:(x^-2147483648)>>31&16383;g=g+1|0}Wp(d|0,0,256)|0;return}function Ve(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==8)break;w=d+(g<<2)|0;o=c[w>>2]|0;m=d+(g+32<<2)|0;l=c[m>>2]|0;j=l+o|0;l=o-l|0;o=d+(g+16<<2)|0;k=c[o>>2]|0;p=d+(g+48<<2)|0;v=c[p>>2]|0;n=(k>>1)-v|0;k=(v>>1)+k|0;v=k+j|0;r=n+l|0;n=l-n|0;k=j-k|0;j=d+(g+24<<2)|0;l=c[j>>2]|0;i=d+(g+40<<2)|0;h=c[i>>2]|0;t=d+(g+56<<2)|0;q=c[t>>2]|0;u=h-l-q-(q>>1)|0;s=d+(g+8<<2)|0;x=c[s>>2]|0;y=q-((l>>1)+l)+x|0;q=q+h+(h>>1)-x|0;x=h+l+x+(x>>1)|0;l=(x>>2)+u|0;h=(q>>2)+y|0;q=(y>>2)-q|0;u=x-(u>>2)|0;c[w>>2]=u+v;c[t>>2]=v-u;c[s>>2]=q+r;c[p>>2]=r-q;c[o>>2]=h+n;c[i>>2]=n-h;c[j>>2]=l+k;c[m>>2]=k-l;g=g+1|0}m=f>>1;f=f&-2;h=m*3|0;i=m<<2;j=m*5|0;k=m*6|0;l=m*7|0;g=0;while(1){if((g|0)==8)break;y=g<<3;q=c[d+(y<<2)>>2]|0;t=c[d+((y|4)<<2)>>2]|0;r=t+q|0;t=q-t|0;q=c[d+((y|2)<<2)>>2]|0;w=c[d+((y|6)<<2)>>2]|0;s=(q>>1)-w|0;q=(w>>1)+q|0;w=q+r|0;u=s+t|0;s=t-s|0;q=r-q|0;r=c[d+((y|3)<<2)>>2]|0;t=c[d+((y|5)<<2)>>2]|0;v=c[d+((y|7)<<2)>>2]|0;x=t-r-v-(v>>1)|0;y=c[d+((y|1)<<2)>>2]|0;p=v-((r>>1)+r)+y|0;v=v+t+(t>>1)-y|0;y=t+r+y+(y>>1)|0;r=(y>>2)+x|0;t=(v>>2)+p|0;v=(p>>2)-v|0;x=y-(x>>2)|0;y=a+(g<<1)|0;p=(x+w>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<4096?p:(p^-2147483648)>>31&4095;y=a+(g+m<<1)|0;p=(v+u>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<4096?p:(p^-2147483648)>>31&4095;y=a+(g+f<<1)|0;p=(t+s>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<4096?p:(p^-2147483648)>>31&4095;y=a+(g+h<<1)|0;p=(r+q>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<4096?p:(p^-2147483648)>>31&4095;y=a+(g+i<<1)|0;r=(q-r>>6)+(e[y>>1]|0)|0;b[y>>1]=r>>>0<4096?r:(r^-2147483648)>>31&4095;y=a+(g+j<<1)|0;t=(s-t>>6)+(e[y>>1]|0)|0;b[y>>1]=t>>>0<4096?t:(t^-2147483648)>>31&4095;y=a+(g+k<<1)|0;v=(u-v>>6)+(e[y>>1]|0)|0;b[y>>1]=v>>>0<4096?v:(v^-2147483648)>>31&4095;y=a+(g+l<<1)|0;x=(w-x>>6)+(e[y>>1]|0)|0;b[y>>1]=x>>>0<4096?x:(x^-2147483648)>>31&4095;g=g+1|0}Wp(d|0,0,256)|0;return}function We(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==8)break;w=d+(g<<2)|0;o=c[w>>2]|0;m=d+(g+32<<2)|0;l=c[m>>2]|0;j=l+o|0;l=o-l|0;o=d+(g+16<<2)|0;k=c[o>>2]|0;p=d+(g+48<<2)|0;v=c[p>>2]|0;n=(k>>1)-v|0;k=(v>>1)+k|0;v=k+j|0;r=n+l|0;n=l-n|0;k=j-k|0;j=d+(g+24<<2)|0;l=c[j>>2]|0;i=d+(g+40<<2)|0;h=c[i>>2]|0;t=d+(g+56<<2)|0;q=c[t>>2]|0;u=h-l-q-(q>>1)|0;s=d+(g+8<<2)|0;x=c[s>>2]|0;y=q-((l>>1)+l)+x|0;q=q+h+(h>>1)-x|0;x=h+l+x+(x>>1)|0;l=(x>>2)+u|0;h=(q>>2)+y|0;q=(y>>2)-q|0;u=x-(u>>2)|0;c[w>>2]=u+v;c[t>>2]=v-u;c[s>>2]=q+r;c[p>>2]=r-q;c[o>>2]=h+n;c[i>>2]=n-h;c[j>>2]=l+k;c[m>>2]=k-l;g=g+1|0}m=f>>1;f=f&-2;h=m*3|0;i=m<<2;j=m*5|0;k=m*6|0;l=m*7|0;g=0;while(1){if((g|0)==8)break;y=g<<3;q=c[d+(y<<2)>>2]|0;t=c[d+((y|4)<<2)>>2]|0;r=t+q|0;t=q-t|0;q=c[d+((y|2)<<2)>>2]|0;w=c[d+((y|6)<<2)>>2]|0;s=(q>>1)-w|0;q=(w>>1)+q|0;w=q+r|0;u=s+t|0;s=t-s|0;q=r-q|0;r=c[d+((y|3)<<2)>>2]|0;t=c[d+((y|5)<<2)>>2]|0;v=c[d+((y|7)<<2)>>2]|0;x=t-r-v-(v>>1)|0;y=c[d+((y|1)<<2)>>2]|0;p=v-((r>>1)+r)+y|0;v=v+t+(t>>1)-y|0;y=t+r+y+(y>>1)|0;r=(y>>2)+x|0;t=(v>>2)+p|0;v=(p>>2)-v|0;x=y-(x>>2)|0;y=a+(g<<1)|0;p=(x+w>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<1024?p:(p^-2147483648)>>31&1023;y=a+(g+m<<1)|0;p=(v+u>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<1024?p:(p^-2147483648)>>31&1023;y=a+(g+f<<1)|0;p=(t+s>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<1024?p:(p^-2147483648)>>31&1023;y=a+(g+h<<1)|0;p=(r+q>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<1024?p:(p^-2147483648)>>31&1023;y=a+(g+i<<1)|0;r=(q-r>>6)+(e[y>>1]|0)|0;b[y>>1]=r>>>0<1024?r:(r^-2147483648)>>31&1023;y=a+(g+j<<1)|0;t=(s-t>>6)+(e[y>>1]|0)|0;b[y>>1]=t>>>0<1024?t:(t^-2147483648)>>31&1023;y=a+(g+k<<1)|0;v=(u-v>>6)+(e[y>>1]|0)|0;b[y>>1]=v>>>0<1024?v:(v^-2147483648)>>31&1023;y=a+(g+l<<1)|0;x=(w-x>>6)+(e[y>>1]|0)|0;b[y>>1]=x>>>0<1024?x:(x^-2147483648)>>31&1023;g=g+1|0}Wp(d|0,0,256)|0;return}function Xe(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0;v=Mb;Mb=Mb+8704|0;n=v+4352|0;t=v;u=(g|0)==0?77280:77184;Wp(n|0,0,4352)|0;if((c[b+760>>2]|0)!=(g|0)){Wp(b+80560|0,0,136)|0;Wp(b+80704|0,0,136)|0;Wp(b+2528|0,0,78024)|0}s=c[163768+(g<<2)>>2]|0;i=b+134036|0;h=0;while(1){if((h|0)>=(s|0))break;gc[c[i>>2]&1023](n+(a[u+h>>0]<<7)|0,e+(h<<8)|0,32);h=h+1|0}j=c[163784+(g<<2)>>2]|0;h=0;while(1){if((h|0)>=(j|0))break;k=b+80416+(h<<2)|0;l=b+80560+(h<<2)|0;m=b+80704+(h<<2)|0;i=0;while(1){if((i|0)==32)break;x=+f[k>>2]*.765928328037262;w=+f[n+(h<<7)+(i<<2)>>2];x=x>w?x:w;f[k>>2]=x;o=+f[l>>2];o=o+(w-o)*.25;f[l>>2]=o;p=+f[m>>2];p=p+(x-w-p)*.25;f[m>>2]=p;p=p*1.5;f[t+(h<<7)+(i<<2)>>2]=p>o?o/p:1.0;i=i+1|0}h=h+1|0}j=c[163776+(g<<2)>>2]|0;k=163800+(g<<2)|0;l=b+134056|0;h=0;while(1){if((h|0)>=(j|0))break;m=a[u+h>>0]|0;p=1.0-+(h-(c[k>>2]|0)|0)*.05000000074505806;o=p>1.0?1.0:p;n=b+2528+(h*368|0)|0;q=b+2528+(h*368|0)+256|0;r=n+112|0;do{c[n>>2]=c[q>>2];n=n+4|0;q=q+4|0}while((n|0)<(r|0));rk(b+2528+(h*368|0)+112|0,e+(h<<8)|0,256)|0;i=0;while(1){if((i|0)==3)break;n=b+36016+(h*888|0)+(i*296|0)|0;q=b+36016+(h*888|0)+(i*296|0)+256|0;r=n+40|0;do{c[n>>2]=c[q>>2];n=n+4|0;q=q+4|0}while((n|0)<(r|0));i=i+1|0}lc[c[l>>2]&1](d+(h<<8)|0,b+2528+(h*368|0)+96|0,b+36016+(h*888|0)|0,1063680+(g*400|0)+(h<<3)|0,1064480+(g*1200|0)+(h*24|0)|0,t+(m<<24>>24<<7)|0,p<0.0?0.0:o,32);h=h+1|0}k=c[163808+(g<<2)>>2]|0;l=b+134040|0;while(1){if((h|0)>=(k|0))break;i=a[u+h>>0]|0;j=b+2528+(h*368|0)|0;n=j;q=b+2528+(h*368|0)+256|0;r=n+112|0;do{c[n>>2]=c[q>>2];n=n+4|0;q=q+4|0}while((n|0)<(r|0));rk(b+2528+(h*368|0)+112|0,e+(h<<8)|0,256)|0;hc[c[l>>2]&255](d+(h<<8)|0,j,t+(i<<7)|0,32);h=h+1|0}while(1){if((h|0)>=(s|0))break;i=a[u+h>>0]|0;n=b+2528+(h*368|0)|0;q=b+2528+(h*368|0)+256|0;r=n+112|0;do{c[n>>2]=c[q>>2];n=n+4|0;q=q+4|0}while((n|0)<(r|0));rk(b+2528+(h*368|0)+112|0,e+(h<<8)|0,256)|0;hc[c[l>>2]&255](d+(h<<8)|0,b+2528+(h*368|0)+104|0,t+(i<<7)|0,32);h=h+1|0}Mb=v;return}function Ye(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==8)break;w=d+(g<<2)|0;o=c[w>>2]|0;m=d+(g+32<<2)|0;l=c[m>>2]|0;j=l+o|0;l=o-l|0;o=d+(g+16<<2)|0;k=c[o>>2]|0;p=d+(g+48<<2)|0;v=c[p>>2]|0;n=(k>>1)-v|0;k=(v>>1)+k|0;v=k+j|0;r=n+l|0;n=l-n|0;k=j-k|0;j=d+(g+24<<2)|0;l=c[j>>2]|0;i=d+(g+40<<2)|0;h=c[i>>2]|0;t=d+(g+56<<2)|0;q=c[t>>2]|0;u=h-l-q-(q>>1)|0;s=d+(g+8<<2)|0;x=c[s>>2]|0;y=q-((l>>1)+l)+x|0;q=q+h+(h>>1)-x|0;x=h+l+x+(x>>1)|0;l=(x>>2)+u|0;h=(q>>2)+y|0;q=(y>>2)-q|0;u=x-(u>>2)|0;c[w>>2]=u+v;c[t>>2]=v-u;c[s>>2]=q+r;c[p>>2]=r-q;c[o>>2]=h+n;c[i>>2]=n-h;c[j>>2]=l+k;c[m>>2]=k-l;g=g+1|0}m=f>>1;f=f&-2;h=m*3|0;i=m<<2;j=m*5|0;k=m*6|0;l=m*7|0;g=0;while(1){if((g|0)==8)break;y=g<<3;q=c[d+(y<<2)>>2]|0;t=c[d+((y|4)<<2)>>2]|0;r=t+q|0;t=q-t|0;q=c[d+((y|2)<<2)>>2]|0;w=c[d+((y|6)<<2)>>2]|0;s=(q>>1)-w|0;q=(w>>1)+q|0;w=q+r|0;u=s+t|0;s=t-s|0;q=r-q|0;r=c[d+((y|3)<<2)>>2]|0;t=c[d+((y|5)<<2)>>2]|0;v=c[d+((y|7)<<2)>>2]|0;x=t-r-v-(v>>1)|0;y=c[d+((y|1)<<2)>>2]|0;p=v-((r>>1)+r)+y|0;v=v+t+(t>>1)-y|0;y=t+r+y+(y>>1)|0;r=(y>>2)+x|0;t=(v>>2)+p|0;v=(p>>2)-v|0;x=y-(x>>2)|0;y=a+(g<<1)|0;p=(x+w>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<512?p:(p^-2147483648)>>31&511;y=a+(g+m<<1)|0;p=(v+u>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<512?p:(p^-2147483648)>>31&511;y=a+(g+f<<1)|0;p=(t+s>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<512?p:(p^-2147483648)>>31&511;y=a+(g+h<<1)|0;p=(r+q>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<512?p:(p^-2147483648)>>31&511;y=a+(g+i<<1)|0;r=(q-r>>6)+(e[y>>1]|0)|0;b[y>>1]=r>>>0<512?r:(r^-2147483648)>>31&511;y=a+(g+j<<1)|0;t=(s-t>>6)+(e[y>>1]|0)|0;b[y>>1]=t>>>0<512?t:(t^-2147483648)>>31&511;y=a+(g+k<<1)|0;v=(u-v>>6)+(e[y>>1]|0)|0;b[y>>1]=v>>>0<512?v:(v^-2147483648)>>31&511;y=a+(g+l<<1)|0;x=(w-x>>6)+(e[y>>1]|0)|0;b[y>>1]=x>>>0<512?x:(x^-2147483648)>>31&511;g=g+1|0}Wp(d|0,0,256)|0;return}function Ze(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=Mb;Mb=Mb+96|0;r=v+80|0;q=v+72|0;p=v+64|0;o=v+56|0;l=v+48|0;i=v+40|0;g=v+32|0;f=v+24|0;e=v+16|0;d=v+8|0;s=a+27e3|0;h=c[s>>2]|0;t=a+26992|0;n=H((c[t>>2]|0)+1|0,h)|0;b=c[a+25632>>2]|0;h=H((b|0)>1?b:1,h<<1)|0;b=EO(h,8)|0;c[a+25716>>2]=b;a:do if(!b){Xw(c[a+4>>2]|0,16,171981,v);u=30}else{j=a+25628|0;c[(c[j>>2]|0)+21704>>2]=b;k=YQ(n*48|0)|0;c[a+25956>>2]=k;m=(n|0)==0;if(!(m|(k|0)!=0)){Xw(c[a+4>>2]|0,16,171981,d);u=30;break}d=YQ((c[s>>2]|0)+n<<1)|0;k=a+28204|0;c[k>>2]=d;if((d|0)==0?(c[s>>2]|0)+n&2147483647|0:0){Xw(c[a+4>>2]|0,16,171981,e);u=30;break}d=n<<1;e=YQ(d)|0;c[a+26376>>2]=e;if(!((d|0)==0|(e|0)!=0)){Xw(c[a+4>>2]|0,16,171981,f);u=30;break}f=YQ(n)|0;c[a+26380>>2]=f;if(!(m|(f|0)!=0)){Xw(c[a+4>>2]|0,16,171981,g);u=30;break}g=EO(h,16)|0;d=a+26384|0;c[d>>2]=g;if(!g){Xw(c[a+4>>2]|0,16,171981,i);u=30;break}i=EO(h,16)|0;b=a+26388|0;c[b>>2]=i;if(!i){Xw(c[a+4>>2]|0,16,171981,l);u=30;break}c[(c[j>>2]|0)+32848>>2]=c[d>>2];c[(c[j>>2]|0)+32852>>2]=c[b>>2];b=n<<2;l=YQ(b)|0;c[a+26392>>2]=l;d=(b|0)==0;if(!(d|(l|0)!=0)){Xw(c[a+4>>2]|0,16,171981,o);u=30;break}o=YQ(n)|0;c[a+26372>>2]=o;if(!(m|(o|0)!=0)){Xw(c[a+4>>2]|0,16,171981,p);u=30;break}Wp(c[k>>2]|0,-1,(c[s>>2]|0)+n<<1|0)|0;c[a+26356>>2]=(c[k>>2]|0)+(c[s>>2]<<1<<1)+2;p=YQ(b)|0;h=a+26344|0;c[h>>2]=p;if(!(d|(p|0)!=0)){Xw(c[a+4>>2]|0,16,171981,q);u=30;break}g=YQ(b)|0;c[a+26348>>2]=g;if(!(d|(g|0)!=0)){Xw(c[a+4>>2]|0,16,171981,r);u=30;break}f=a+26996|0;e=a+26352|0;d=0;while(1){if((d|0)>=(c[t>>2]|0)){b=0;break a}b=0;while(1){if((b|0)>=(c[f>>2]|0))break;a=(H(c[s>>2]|0,d)|0)+b|0;r=(H(c[e>>2]|0,d)|0)+b<<2;c[(c[h>>2]|0)+(a<<2)>>2]=r;c[g+(a<<2)>>2]=((a|0)%(c[s>>2]<<1|0)|0)<<3;b=b+1|0}d=d+1|0}}while(0);if((u|0)==30){fo(a);b=-12}Mb=v;return b|0}function _e(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b[f>>1]=(e[f>>1]|0)+32;h=0;while(1){if((h|0)==8)break;x=f+(h<<1)|0;p=b[x>>1]|0;n=f+(h+32<<1)|0;m=b[n>>1]|0;k=m+p|0;m=p-m|0;p=f+(h+16<<1)|0;l=b[p>>1]|0;q=f+(h+48<<1)|0;w=b[q>>1]|0;o=(l>>1)-w|0;l=(w>>1)+l|0;w=l+k|0;s=o+m|0;o=m-o|0;l=k-l|0;k=f+(h+24<<1)|0;m=b[k>>1]|0;j=f+(h+40<<1)|0;i=b[j>>1]|0;u=f+(h+56<<1)|0;r=b[u>>1]|0;v=i-m-r-(r>>1)|0;t=f+(h+8<<1)|0;y=b[t>>1]|0;z=r-((m>>1)+m)+y|0;r=r+i+(i>>1)-y|0;y=i+m+y+(y>>1)|0;m=(y>>2)+v|0;i=(r>>2)+z|0;r=(z>>2)-r|0;v=y-(v>>2)|0;b[x>>1]=v+w;b[u>>1]=w-v;b[t>>1]=r+s;b[q>>1]=s-r;b[p>>1]=i+o;b[j>>1]=o-i;b[k>>1]=m+l;b[n>>1]=l-m;h=h+1|0}i=g<<1;j=g*3|0;k=g<<2;l=g*5|0;m=g*6|0;n=g*7|0;h=0;while(1){if((h|0)==8)break;z=h<<3;r=b[f+(z<<1)>>1]|0;u=b[f+((z|4)<<1)>>1]|0;s=u+r|0;u=r-u|0;r=b[f+((z|2)<<1)>>1]|0;x=b[f+((z|6)<<1)>>1]|0;t=(r>>1)-x|0;r=(x>>1)+r|0;x=r+s|0;v=t+u|0;t=u-t|0;r=s-r|0;s=b[f+((z|3)<<1)>>1]|0;u=b[f+((z|5)<<1)>>1]|0;w=b[f+((z|7)<<1)>>1]|0;y=u-s-w-(w>>1)|0;z=b[f+((z|1)<<1)>>1]|0;q=w-((s>>1)+s)+z|0;w=w+u+(u>>1)-z|0;z=u+s+z+(z>>1)|0;s=(z>>2)+y|0;u=(w>>2)+q|0;w=(q>>2)-w|0;y=z-(y>>2)|0;z=c+h|0;q=(y+x>>6)+(d[z>>0]|0)|0;a[z>>0]=q>>>0>255?(q^-2147483648)>>31:q;z=c+(h+g)|0;q=(w+v>>6)+(d[z>>0]|0)|0;a[z>>0]=q>>>0>255?(q^-2147483648)>>31:q;z=c+(h+i)|0;q=(u+t>>6)+(d[z>>0]|0)|0;a[z>>0]=q>>>0>255?(q^-2147483648)>>31:q;z=c+(h+j)|0;q=(s+r>>6)+(d[z>>0]|0)|0;a[z>>0]=q>>>0>255?(q^-2147483648)>>31:q;z=c+(h+k)|0;s=(r-s>>6)+(d[z>>0]|0)|0;a[z>>0]=s>>>0>255?(s^-2147483648)>>31:s;z=c+(h+l)|0;u=(t-u>>6)+(d[z>>0]|0)|0;a[z>>0]=u>>>0>255?(u^-2147483648)>>31:u;z=c+(h+m)|0;w=(v-w>>6)+(d[z>>0]|0)|0;a[z>>0]=w>>>0>255?(w^-2147483648)>>31:w;z=c+(h+n)|0;y=(x-y>>6)+(d[z>>0]|0)|0;a[z>>0]=y>>>0>255?(y^-2147483648)>>31:y;h=h+1|0}h=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(h|0));return}function $e(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=Mb;Mb=Mb+32|0;A=D+16|0;j=D+8|0;i=D;C=(c[a+6500>>2]|0)<(c[b>>2]|0)&1;g=(d|0)==1;x=g?2:1;h=c[b+12>>2]|0;if((h|0)!=(d|0)){z=c[a+4>>2]|0;c[i>>2]=d;c[i+4>>2]=h;Xw(z,(d|0)==3?40:24,191009,i);BK(b)}w=b+4|0;if(c[w>>2]|0?(c[b+8>>2]|0)==0:0){Xw(c[a+4>>2]|0,16,191041,j);BK(b)}h=b+88|0;if(!(c[h>>2]|0)){c[b+72>>2]=c[b+76>>2];c[b+80>>2]=c[b+84>>2]}else c[h>>2]=0;if(c[w>>2]|0){Ad(b,d);c[b+8>>2]=0}y=a+5404|0;j=b+390816|0;z=b+390952|0;d=b+389536|0;k=b+391008|0;l=b+310464|0;m=b+391016|0;n=b+391020|0;o=b+380096|0;p=b+380608|0;q=b+52|0;r=b+320704|0;s=b+384144|0;t=b+391012|0;i=0;while(1){if(i>>>0>=x>>>0)break;u=b+96+(i*87968|0)|0;h=b+96+(i*87968|0)+14592|0;v=b+96+(i*87968|0)+30976|0;fs(c[y>>2]|0,j,z,(i|0)==0?e:f,b+96+(i*87968|0)+9312|0,d,h,c[v>>2]|0);_b[c[k>>2]&63](a,b,l,h,c[v>>2]|0)|0;c[v>>2]=c[v>>2]^1;if(c[w>>2]|0){jc[c[n>>2]&127](z,o,p,l,c[q>>2]|0);uv(b,u);h=c[b+96+(i*87968|0)+8>>2]|0;if(!h){B=15;break}Hk(a,b,r,l,o,p,b+96+(i*87968|0)+14572|0,b+96+(i*87968|0)+87932|0,h);h=b+96+(i*87968|0)+14564|0;if(!(vf(a,b,u,h)|0)){zh(s,r,b,u);nf(b,u,h);jc[c[t>>2]&127](b+96+(i*87968|0)+30992+((c[v>>2]|0)*19456|0)|0,r,b,u,h)}}v=c[v>>2]|0;$b[c[m>>2]&7](b,b+341184+(i*19456|0)|0,b+96+(i*87968|0)+30992+((1-v|0)*19456|0)|0,b+96+(i*87968|0)+30992+(v*19456|0)|0,l,i)|0;i=i+1|0}if((B|0)==15){c[A>>2]=191082;c[A+4>>2]=190361;c[A+8>>2]=1511;Xw(0,0,213444,A);ba()}do if((c[a+6512>>2]|0)==1){g=b+176032|0;if(!(c[g>>2]|0)){h=b+341184|0;rk(b+360640|0,h|0,19456)|0;g=1;break}else{h=b+341184|0;yt(c[a+4>>2]|0,g,h,b+360640|0,(c[b+84>>2]|0)+(c[b+76>>2]|0)|0)|0;g=1;break}}else h=b+341184|0;while(0);i=b+390884|0;j=b+389536|0;ag(i,z,c[y>>2]|0,e,h,j,b+192|0,b+14656|0,C);if(g)ag(i,z,c[y>>2]|0,f,b+360640|0,j,b+88160|0,b+102624|0,C);Mb=D;return}function af(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<6|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;a=H(e[c+16>>1]|0,i)|0;m=d+16|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;m=H(e[c+18>>1]|0,i)|0;a=d+18|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;a=H(e[c+20>>1]|0,i)|0;m=d+20|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;m=H(e[c+22>>1]|0,i)|0;a=d+22|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;a=H(e[c+24>>1]|0,i)|0;m=d+24|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;m=H(e[c+26>>1]|0,i)|0;a=d+26|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;a=H(e[c+28>>1]|0,i)|0;m=d+28|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:(a^-2147483648)>>31&16383;m=H(e[c+30>>1]|0,i)|0;a=d+30|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:(m^-2147483648)>>31&16383;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function bf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=Mb;Mb=Mb+32|0;k=l+24|0;i=l+16|0;h=l+8|0;f=l;do if(uL(a)|0){e=Hz(a,8)|0;if((e|0)==255){g=Hz(a,16)|0;c[d+100>>2]=g;g=Hz(a,16)|0;c[d+104>>2]=g;g=8;break}if(e>>>0<17){e=18448+(e<<3)|0;f=c[e+4>>2]|0;g=d+100|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;g=8;break}else{Xw(b,16,170043,f);e=-1094995529;break}}else{c[d+104>>2]=0;c[d+100>>2]=0;g=8}while(0);do if((g|0)==8){if(uL(a)|0)uL(a)|0;g=uL(a)|0;c[d+108>>2]=g;if(g|0?(Hz(a,3)|0,g=uL(a)|0,c[d+112>>2]=g,g=uL(a)|0,c[d+116>>2]=g,g|0):0){m=Hz(a,8)|0;e=d+120|0;c[e>>2]=m;m=Hz(a,8)|0;f=d+124|0;c[f>>2]=m;m=Hz(a,8)|0;g=d+128|0;c[g>>2]=m;if(!($P(c[e>>2]|0)|0))c[e>>2]=2;if(!(dQ(c[f>>2]|0)|0))c[f>>2]=2;if(!(rQ(c[g>>2]|0)|0))c[g>>2]=2}if(uL(a)|0){m=(bp(a)|0)+1|0;c[b+404>>2]=m;bp(a)|0}if(JU(a)|0?(pS(a)|0)<10:0){Xw(b,24,170065,h);e=0;break}m=uL(a)|0;e=d+132|0;c[e>>2]=m;if(m|0){f=QG(a,32)|0;g=QG(a,32)|0;if((f|0)!=0&(g|0)!=0){c[d+136>>2]=f;c[d+140>>2]=g}else{c[i>>2]=g;c[i+4>>2]=f;Xw(b,16,170080,i);c[e>>2]=0}m=uL(a)|0;c[d+144>>2]=m}m=uL(a)|0;e=d+1152|0;c[e>>2]=m;if(m|0?(Eq(a,b,d)|0)<0:0){e=-1094995529;break}m=uL(a)|0;f=d+1156|0;c[f>>2]=m;if(m|0?(Eq(a,b,d)|0)<0:0){e=-1094995529;break}if(!((c[e>>2]|0)==0?!(c[f>>2]|0):0))uL(a)|0;m=uL(a)|0;c[d+1160>>2]=m;if((pS(a)|0)!=0?(m=uL(a)|0,j=d+660|0,c[j>>2]=m,(m|0)!=0):0){uL(a)|0;bp(a)|0;bp(a)|0;bp(a)|0;bp(a)|0;m=bp(a)|0;f=d+664|0;c[f>>2]=m;bp(a)|0;if((pS(a)|0)<0){c[f>>2]=0;c[j>>2]=0;e=0;break}e=c[f>>2]|0;if(e>>>0>16){c[k>>2]=e;Xw(b,16,170141,k);c[f>>2]=16;e=-1094995529}else e=0}else e=0}while(0);Mb=l;return e|0}function cf(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=Mb;Mb=Mb+32|0;w=y+24|0;v=y+16|0;u=y+8|0;t=y;s=y+28|0;r=(g|0)!=0;p=b+4|0;c[p>>2]=0;q=b+8|0;o=(i|0)==174;i=d;g=e;m=r?d:d+e|0;a:while(1){k=m+-3|0;l=m;d=g;while(1){if((d|0)<=3){g=0;break a}if((i|0)==(m|0)){x=5;break}if(i>>>0>m>>>0)Xw(f,24,195899,t);g=d;while(1){d=i+1|0;if(((a[i>>0]|0)==0?(a[d>>0]|0)==0:0)?(a[i+2>>0]|0)==1:0)break;e=g+-1|0;if((g|0)<5){x=13;break a}if(d>>>0<k>>>0){i=d;g=e}else{i=d;g=e;break}}i=i+3|0;d=g+-3|0;g=l-i|0;if(i>>>0<m>>>0){x=17;break}i=m;d=d-g|0}if((x|0)==5){x=0;c[s>>2]=0;g=It(h,m,d,s,f)|0;i=m+h|0;if((g|0)<0)break;else{e=g;n=i+g|0;m=d-h|0}}else if((x|0)==17){x=0;e=(d|0)>(g|0)?g:d;n=m;m=d}g=c[q>>2]|0;d=c[p>>2]|0;if((g|0)<=(d|0)){g=g+1|0;d=VM(c[b>>2]|0,g,72)|0;if(!d){g=-12;break}c[b>>2]=d;k=c[q>>2]|0;Wp(d+(k*72|0)|0,0,(g-k|0)*72|0)|0;d=c[b>>2]|0;k=c[p>>2]|0;c[d+(k*72|0)+60>>2]=1024;l=VU()|0;c[d+(k*72|0)+64>>2]=l;if(!l){g=-12;break}c[q>>2]=g;d=c[p>>2]|0}l=c[b>>2]|0;k=l+(d*72|0)|0;g=Te(i,e,k,j)|0;if((g|0)<0)break;if(r?(e|0)!=0&(e|0)!=(g|0):0){c[v>>2]=g;c[v+4>>2]=e;Xw(f,48,195967,v)}c[p>>2]=(c[p>>2]|0)+1;if((((g|0)<(m+-3|0)?(a[i+g>>0]|0)==0:0)?(a[i+(g+1)>>0]|0)==0:0)?(a[i+(g+2)>>0]|0)==1:0)e=(a[i+(g+3)>>0]|0)!=-32&1;else e=1;e=ss(k,e)|0;c[l+(d*72|0)+16>>2]=e;e=FH(l+(d*72|0)+28|0,c[l+(d*72|0)+12>>2]|0,e)|0;if((e|0)<0){g=e;break}if(o)e=Ut(k,f)|0;else e=Fw(k,f)|0;if((e|0)<1)if((e|0)<0){c[w>>2]=c[l+(d*72|0)+48>>2];Xw(f,16,196012,w);x=39}else x=39;else if((c[l+(d*72|0)+8>>2]|0)<1)x=39;if((x|0)==39){x=0;c[p>>2]=(c[p>>2]|0)+-1}i=i+g|0;g=m-g|0;m=n}if((x|0)==13)if((c[p>>2]|0)>0)g=0;else{Xw(f,16,195942,u);g=-1094995529}Mb=y;return g|0}function df(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=Mb;Mb=Mb+48|0;j=n+40|0;k=n+32|0;h=n+24|0;g=n+16|0;d=n+8|0;e=c[a+28200>>2]|0;l=a+4|0;i=c[l>>2]|0;f=e+100|0;c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];jt(i,j)|0;SK(c[(c[l>>2]|0)+144>>2]|0,a+25664|0,a+25668|0)|0;if(c[e+132>>2]|0){i=cN(c[e+140>>2]|0,0,(c[a+29696>>2]|0)>>>0<44|0)|0;j=M()|0;f=c[l>>2]|0;Hf(f+884|0,f+880|0,H(c[f+116>>2]|0,c[e+136>>2]|0)|0,0,i,j,1073741824,0)|0}fo(a);c[a+26368>>2]=0;c[a+29548>>2]=1;fg(a);b=Ze(a)|0;f=c[l>>2]|0;a:do if((b|0)<0){Xw(f,16,198766,n);m=20}else{j=c[f+12>>2]|0;do if(j|0?c[j+16>>2]&128|0:0){if((c[e+1184>>2]|0)==8?(c[e+12>>2]|0)<=1:0)break;Xw(f,16,198793,d);b=-1094995529;m=20;break a}while(0);b=e+1184|0;d=c[b>>2]|0;b:do if((d+-8|0)>>>0<=6){switch(d|0){case 11:case 13:break b;default:{}}c[f+788>>2]=d;c[a+29580>>2]=d;j=e+12|0;i=c[j>>2]|0;c[a+29576>>2]=i;c[a+25652>>2]=(d|0)>8&1;c[a+27032>>2]=i;c[a+27028>>2]=d;Rd(a+16|0,d,i);SD(a+152|0,c[e+1188>>2]|0);Uc(a+184|0,c[b>>2]|0);Ac(a+25720|0,c[(c[l>>2]|0)+48>>2]|0,c[b>>2]|0,c[j>>2]|0);NR(a+8|0,c[b>>2]|0);if(!(c[(c[l>>2]|0)+808>>2]&2)){b=Rf(a,c[a+25628>>2]|0)|0;if((b|0)>=0){b=0;d=1;break a}Xw(c[l>>2]|0,16,198870,h);m=20;break a}e=a+25632|0;f=a+25628|0;g=a+25716|0;h=a+27e3|0;i=a+26384|0;j=a+26388|0;d=0;while(1){if((d|0)>=(c[e>>2]|0)){b=0;d=1;break a}o=c[f>>2]|0;b=o+(d*34768|0)|0;c[b>>2]=a;p=H(c[h>>2]|0,d<<4)|0;c[o+(d*34768|0)+21704>>2]=(c[g>>2]|0)+p;c[o+(d*34768|0)+32848>>2]=(c[i>>2]|0)+(p<<1);c[o+(d*34768|0)+32852>>2]=(c[j>>2]|0)+(p<<1);b=Rf(a,b)|0;if((b|0)<0)break;else d=d+1|0}Xw(c[l>>2]|0,16,198870,k);m=20;break a}while(0);c[g>>2]=d;Xw(f,16,198844,g);b=-1094995529;m=20}while(0);if((m|0)==20){fo(a);d=0}c[a+25680>>2]=d;Mb=n;return b|0}function ef(a,b){a=+a;b=+b;var d=0,e=0,f=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g[h>>3]=a;j=c[h>>2]|0;l=c[h+4>>2]|0;g[h>>3]=b;n=c[h>>2]|0;o=c[h+4>>2]|0;e=oN(j|0,l|0,52)|0;M()|0;e=e&2047;m=oN(n|0,o|0,52)|0;M()|0;m=m&2047;p=l&-2147483648;i=cN(n|0,o|0,1)|0;k=M()|0;a:do if(!((i|0)==0&(k|0)==0)?(f=UO(b)|0,d=(M()|0)&2147483647,!((e|0)==2047|(d>>>0>2146435072|(d|0)==2146435072&f>>>0>0))):0){d=cN(j|0,l|0,1)|0;f=M()|0;if(!(f>>>0>k>>>0|(f|0)==(k|0)&d>>>0>i>>>0))return +((d|0)==(i|0)&(f|0)==(k|0)?a*0.0:a);if(!e){d=cN(j|0,l|0,12)|0;f=M()|0;if((f|0)>-1|(f|0)==-1&d>>>0>4294967295){e=0;do{e=e+-1|0;d=cN(d|0,f|0,1)|0;f=M()|0}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else e=0;j=cN(j|0,l|0,1-e|0)|0;i=M()|0}else i=l&1048575|1048576;if(!m){f=cN(n|0,o|0,12)|0;k=M()|0;if((k|0)>-1|(k|0)==-1&f>>>0>4294967295){d=0;do{d=d+-1|0;f=cN(f|0,k|0,1)|0;k=M()|0}while((k|0)>-1|(k|0)==-1&f>>>0>4294967295)}else d=0;n=cN(n|0,o|0,1-d|0)|0;m=d;l=M()|0}else l=o&1048575|1048576;f=QO(j|0,i|0,n|0,l|0)|0;d=M()|0;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;b:do if((e|0)>(m|0)){while(1){if(k){if((f|0)==0&(d|0)==0)break}else{f=j;d=i}j=cN(f|0,d|0,1)|0;i=M()|0;e=e+-1|0;f=QO(j|0,i|0,n|0,l|0)|0;d=M()|0;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;if((e|0)<=(m|0))break b}b=a*0.0;break a}while(0);if(k){if((f|0)==0&(d|0)==0){b=a*0.0;break}}else{d=i;f=j}if(d>>>0<1048576|(d|0)==1048576&f>>>0<0)do{f=cN(f|0,d|0,1)|0;d=M()|0;e=e+-1|0}while(d>>>0<1048576|(d|0)==1048576&f>>>0<0);if((e|0)>0){o=SO(f|0,d|0,0,-1048576)|0;d=M()|0;e=cN(e|0,0,52)|0;d=d|(M()|0);e=o|e}else{e=oN(f|0,d|0,1-e|0)|0;d=M()|0}c[h>>2]=e;c[h+4>>2]=d|p;b=+g[h>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function ff(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<4|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;a=H(e[c+16>>1]|0,i)|0;m=d+16|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;m=H(e[c+18>>1]|0,i)|0;a=d+18|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;a=H(e[c+20>>1]|0,i)|0;m=d+20|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;m=H(e[c+22>>1]|0,i)|0;a=d+22|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;a=H(e[c+24>>1]|0,i)|0;m=d+24|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;m=H(e[c+26>>1]|0,i)|0;a=d+26|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;a=H(e[c+28>>1]|0,i)|0;m=d+28|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:(a^-2147483648)>>31&4095;m=H(e[c+30>>1]|0,i)|0;a=d+30|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:(m^-2147483648)>>31&4095;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function gf(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<2|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;a=H(e[c+16>>1]|0,i)|0;m=d+16|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;m=H(e[c+18>>1]|0,i)|0;a=d+18|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;a=H(e[c+20>>1]|0,i)|0;m=d+20|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;m=H(e[c+22>>1]|0,i)|0;a=d+22|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;a=H(e[c+24>>1]|0,i)|0;m=d+24|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;m=H(e[c+26>>1]|0,i)|0;a=d+26|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;a=H(e[c+28>>1]|0,i)|0;m=d+28|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:(a^-2147483648)>>31&1023;m=H(e[c+30>>1]|0,i)|0;a=d+30|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:(m^-2147483648)>>31&1023;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function hf(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<1|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;a=H(e[c+16>>1]|0,i)|0;m=d+16|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;m=H(e[c+18>>1]|0,i)|0;a=d+18|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;a=H(e[c+20>>1]|0,i)|0;m=d+20|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;m=H(e[c+22>>1]|0,i)|0;a=d+22|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;a=H(e[c+24>>1]|0,i)|0;m=d+24|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;m=H(e[c+26>>1]|0,i)|0;a=d+26|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;a=H(e[c+28>>1]|0,i)|0;m=d+28|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:(a^-2147483648)>>31&511;m=H(e[c+30>>1]|0,i)|0;a=d+30|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:(m^-2147483648)>>31&511;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function jf(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;R=Mb;Mb=Mb+16|0;P=R+4|0;L=R;fv(e,P,L);Q=c[P>>2]>>j;c[P>>2]=Q;P=H(c[L>>2]|0,Q)|0;c[L>>2]=P;L=h+-1|0;M=e+580|0;N=e+564|0;O=e+696|0;x=e+680|0;y=i*7|0;z=i*6|0;A=i<<3;B=i*9|0;C=i*5|0;D=i<<2;E=i*10|0;F=i*11|0;h=0;while(1){if((h|0)>=(L|0))break;G=h>>>j;I=h+1|0;J=I>>>j;K=H(h,i)|0;s=H(h,P)|0;t=H(I,P)|0;r=0;while(1){if((r|0)>=(g|0))break;S=c[M>>2]|0;e=r>>>j;k=c[N>>2]|0;h=(H(k,G)|0)+e|0;q=a[S+h>>0]|0;e=(H(k,J)|0)+e|0;S=a[S+e>>0]|0;k=c[O>>2]|0;u=r+K<<3;l=c[x>>2]|0;o=H(r,Q)|0;m=o+s|0;n=l+(m<<2)|0;o=o+t|0;p=l+(o<<2)|0;v=(q&14)!=0;w=(S&14)!=0;a:do if((S|q)&14){if(((c[k+(h<<2)>>2]|c[k+(e<<2)>>2])&7|0)==0?(S=(b[n>>1]|0)-(b[p>>1]|0)|0,q=(b[l+(o<<2)+2>>1]|0)+(b[l+(m<<2)+2>>1]|0)|0,(((q|0)>-1?q:0-q|0)+((S|0)>-1?S:0-S|0)|0)<2):0)break;q=v&w;e=0;while(1){if((e|0)==8)break a;l=e+u|0;m=f+(l+y)|0;n=d[m>>0]|0;o=f+(l+z)|0;T=n-(d[o>>0]|0)|0;p=f+(l+A)|0;h=d[p>>0]|0;S=h-n|0;k=f+(l+B)|0;h=(d[k>>0]|0)-h|0;h=((S|0)>-1?S:0-S|0)-(((T|0)>-1?T:0-T|0)+1+((h|0)>-1?h:0-h|0)>>1)|0;h=(h|0)>0?h:0;h=(S|0)<0?0-h|0:h;if(h|0){h=q?h:(h<<4|0)/9|0;if(v){a[m>>0]=a[21296+((h*7>>4)+n)>>0]|0;a[o>>0]=a[21296+((h*5>>4)+(d[o>>0]|0))>>0]|0;T=f+(l+C)|0;a[T>>0]=a[21296+((h*3>>4)+(d[T>>0]|0))>>0]|0;T=f+(l+D)|0;a[T>>0]=a[21296+((h>>4)+(d[T>>0]|0))>>0]|0}if(w){a[p>>0]=a[21296+((d[p>>0]|0)-(h*7>>4))>>0]|0;a[k>>0]=a[21296+((d[k>>0]|0)-(h*5>>4))>>0]|0;T=f+(l+E)|0;a[T>>0]=a[21296+((d[T>>0]|0)-(h*3>>4))>>0]|0;T=f+(l+F)|0;a[T>>0]=a[21296+((d[T>>0]|0)-(h>>4))>>0]|0}}e=e+1|0}}while(0);r=r+1|0}h=I}Mb=R;return}function kf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=Mb;Mb=Mb+16|0;b=u;h=c[a+4>>2]|0;t=a+25636|0;r=c[t>>2]|0;s=a+25628|0;j=c[s>>2]|0;d=j+21812|0;c[d>>2]=2147483647;if(!((r|0)<1|(c[h+704>>2]|0)!=0)?(c[(c[h+12>>2]|0)+16>>2]&128|0)==0:0){k=r+-1|0;q=a+26992|0;i=c[q>>2]|0;if((c[j+(k*34768|0)+21792>>2]|0)>=(i|0)){c[b>>2]=200024;c[b+4>>2]=198956;c[b+8>>2]=2754;Xw(0,0,213444,b);ba()}p=a+26996|0;a:do if((r|0)!=1){b=0;while(1){if((b|0)==(r|0))break;f=c[p>>2]|0;e=H(f,i)|0;c[j+(b*34768|0)+596>>2]=0;g=H(c[j+(b*34768|0)+21792>>2]|0,f)|0;g=g+(c[j+(b*34768|0)+21788>>2]|0)|0;d=0;while(1){if((d|0)==(r|0))break;o=H(c[j+(d*34768|0)+21792>>2]|0,f)|0;o=o+(c[j+(d*34768|0)+21788>>2]|0)|0;o=(b|0)==(d|0)|(o|0)<(g|0)?e:(e|0)>(o|0)?o:e;d=d+1|0;e=o}c[j+(b*34768|0)+21812>>2]=e;b=b+1|0}$b[c[h+816>>2]&7](h,9,j,0,r,34768)|0;e=c[s>>2]|0;c[a+26988>>2]=c[e+(k*34768|0)+21792>>2];d=e+596|0;b=1;while(1){if((b|0)==(r|0))break;c[d>>2]=(c[d>>2]|0)+(c[e+(b*34768|0)+596>>2]|0);b=b+1|0}b=a+25692|0;if(!(c[b>>2]|0))b=0;else{c[b>>2]=0;g=a+26360|0;h=a+26364|0;f=0;while(1){if((f|0)==(r|0)){b=0;break a}o=c[s>>2]|0;i=o+(f*34768|0)|0;j=o+(f*34768|0)+21792|0;m=c[j>>2]|0;k=c[q>>2]|0;l=(m|0)<(k|0);k=l?m+1|0:k;l=c[(l?o+(f*34768|0)+21788|0:p)>>2]|0;m=o+(f*34768|0)+21804|0;n=k+-1|0;o=o+(f*34768|0)+21800|0;e=c[m>>2]|0;while(1){if((e|0)>=(k|0))break;c[j>>2]=e;if((e|0)>(c[m>>2]|0))b=0;else b=c[o>>2]|0;if((e|0)==(n|0))d=l;else d=c[p>>2]|0;Jc(a,i,b,d);if((c[g>>2]|0)==0?(c[h>>2]|0)==3:0)b=1;else b=2;e=b+e|0}f=f+1|0}}}else{b=H(c[p>>2]|0,i)|0;c[d>>2]=b;c[a+25692>>2]=0;b=cd(h,j)|0;c[a+26988>>2]=c[(c[s>>2]|0)+21792>>2]}while(0);c[t>>2]=0}else b=0;Mb=u;return b|0}function lf(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;if(!c){e=d[b+-1>>0]|0;c=e}else{c=d[b+-1>>0]|0;e=d[b+~f>>0]|0}s=d[b+(f+-1)>>0]|0;h=s+2|0;t=(h+e+(c<<1)|0)>>>2;l=f<<1;r=d[b+(l+-1)>>0]|0;p=r+2|0;s=(p+c+(s<<1)|0)>>>2;j=f*3|0;n=d[b+(j+-1)>>0]|0;r=(h+(r<<1)+n|0)>>>2;h=f<<2;m=d[b+(h+-1)>>0]|0;p=(p+(n<<1)+m|0)>>>2;g=f*5|0;k=d[b+(g+-1)>>0]|0;n=(n+2+(m<<1)+k|0)>>>2;c=f*6|0;o=d[b+(c+-1)>>0]|0;m=(m+2+(k<<1)+o|0)>>>2;e=f*7|0;i=d[b+(e+-1)>>0]|0;k=(k+2+(o<<1)+i|0)>>>2;i=(o+2+(i*3|0)|0)>>>2;o=s+1|0;a[b>>0]=(o+t|0)>>>1;q=r+2|0;a[b+1>>0]=(q+t+(s<<1)|0)>>>2;o=(o+r|0)>>>1&255;a[b+2>>0]=o;a[b+f>>0]=o;o=p+2|0;s=(o+s+(r<<1)|0)>>>2&255;a[b+3>>0]=s;a[b+(f+1)>>0]=s;r=(r+1+p|0)>>>1&255;a[b+4>>0]=r;a[b+(f+2)>>0]=r;a[b+l>>0]=r;q=(q+(p<<1)+n|0)>>>2&255;a[b+5>>0]=q;a[b+(f+3)>>0]=q;a[b+(l|1)>>0]=q;p=(p+1+n|0)>>>1&255;a[b+6>>0]=p;a[b+(f+4)>>0]=p;a[b+(l+2)>>0]=p;a[b+j>>0]=p;o=(o+(n<<1)+m|0)>>>2&255;a[b+7>>0]=o;a[b+(f+5)>>0]=o;a[b+(l+3)>>0]=o;a[b+(j+1)>>0]=o;o=(n+1+m|0)>>>1&255;a[b+(f+6)>>0]=o;a[b+(l+4)>>0]=o;a[b+(j+2)>>0]=o;a[b+h>>0]=o;n=(n+2+(m<<1)+k|0)>>>2&255;a[b+(f+7)>>0]=n;a[b+(l+5)>>0]=n;a[b+(j+3)>>0]=n;a[b+(h|1)>>0]=n;f=(m+1+k|0)>>>1&255;a[b+(l+6)>>0]=f;a[b+(j+4)>>0]=f;a[b+(h|2)>>0]=f;a[b+g>>0]=f;f=(m+2+i+(k<<1)|0)>>>2&255;a[b+(l+7)>>0]=f;a[b+(j+5)>>0]=f;a[b+(h|3)>>0]=f;a[b+(g+1)>>0]=f;f=(k+1+i|0)>>>1&255;a[b+(j+6)>>0]=f;a[b+(h+4)>>0]=f;a[b+(g+2)>>0]=f;a[b+c>>0]=f;f=(k+2+(i*3|0)|0)>>>2&255;a[b+(j+7)>>0]=f;a[b+(h+5)>>0]=f;a[b+(g+3)>>0]=f;a[b+(c|1)>>0]=f;f=i&255;a[b+(e+7)>>0]=f;a[b+(c+7)>>0]=f;a[b+(g+7)>>0]=f;a[b+(h+7)>>0]=f;a[b+(e+6)>>0]=f;a[b+(c+6)>>0]=f;a[b+(g+6)>>0]=f;a[b+(h+6)>>0]=f;a[b+(e+5)>>0]=f;a[b+(c+5)>>0]=f;a[b+(g+5)>>0]=f;a[b+(e+4)>>0]=f;a[b+(c+4)>>0]=f;a[b+(g+4)>>0]=f;a[b+(e+3)>>0]=f;a[b+(c+3)>>0]=f;a[b+(e+2)>>0]=f;a[b+(c+2)>>0]=f;a[b+(e+1)>>0]=f;a[b+e>>0]=f;return}function mf(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;m=8-g|0;l=8-h|0;o=H(l,m)|0;l=H(l,g)|0;m=H(m,h)|0;k=H(h,g)|0;n=d>>1;a:do if(!k){k=l+m|0;if(!k){g=0;while(1){if((g|0)>=(f|0))break a;m=((H(o,e[c>>1]|0)|0)+32|0)>>>6&65535;b[a>>1]=m;m=((H(o,e[c+2>>1]|0)|0)+32|0)>>>6&65535;b[a+2>>1]=m;m=((H(o,e[c+4>>1]|0)|0)+32|0)>>>6&65535;b[a+4>>1]=m;m=((H(o,e[c+6>>1]|0)|0)+32|0)>>>6&65535;b[a+6>>1]=m;a=a+(n<<1)|0;g=g+1|0;c=c+(n<<1)|0}}else{h=(m|0)==0?1:n;d=h+1|0;i=h+2|0;j=h+3|0;g=0;while(1){if((g|0)>=(f|0))break a;m=H(o,e[c>>1]|0)|0;m=(m+32+(H(k,e[c+(h<<1)>>1]|0)|0)|0)>>>6&65535;b[a>>1]=m;m=H(o,e[c+2>>1]|0)|0;m=(m+32+(H(k,e[c+(d<<1)>>1]|0)|0)|0)>>>6&65535;b[a+2>>1]=m;m=H(o,e[c+4>>1]|0)|0;m=(m+32+(H(k,e[c+(i<<1)>>1]|0)|0)|0)>>>6&65535;b[a+4>>1]=m;m=H(o,e[c+6>>1]|0)|0;m=(m+32+(H(k,e[c+(j<<1)>>1]|0)|0)|0)>>>6&65535;b[a+6>>1]=m;a=a+(n<<1)|0;g=g+1|0;c=c+(n<<1)|0}}}else{h=n+1|0;d=n+2|0;i=n+3|0;j=n+4|0;g=0;while(1){if((g|0)>=(f|0))break a;r=H(o,e[c>>1]|0)|0;q=c+2|0;t=H(l,e[q>>1]|0)|0;p=c+(n<<1)|0;u=H(m,e[p>>1]|0)|0;s=c+(h<<1)|0;u=(r+32+t+u+(H(k,e[s>>1]|0)|0)|0)>>>6&65535;b[a>>1]=u;q=H(o,e[q>>1]|0)|0;u=c+4|0;t=H(l,e[u>>1]|0)|0;s=H(m,e[s>>1]|0)|0;r=c+(d<<1)|0;s=(q+32+t+s+(H(k,e[r>>1]|0)|0)|0)>>>6&65535;b[a+2>>1]=s;u=H(o,e[u>>1]|0)|0;s=c+6|0;t=H(l,e[s>>1]|0)|0;r=H(m,e[r>>1]|0)|0;q=c+(i<<1)|0;r=(u+32+t+r+(H(k,e[q>>1]|0)|0)|0)>>>6&65535;b[a+4>>1]=r;s=H(o,e[s>>1]|0)|0;r=H(l,e[c+8>>1]|0)|0;q=H(m,e[q>>1]|0)|0;q=(s+32+r+q+(H(k,e[c+(j<<1)>>1]|0)|0)|0)>>>6&65535;b[a+6>>1]=q;a=a+(n<<1)|0;g=g+1|0;c=p}}while(0);return}
function Dc(e,h,i){e=e|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0;Q=Mb;Mb=Mb+288|0;J=Q+264|0;K=Q;L=Q+260|0;N=Q+272|0;if((c[e+76>>2]|0)>-1)P=nV(e)|0;else P=0;j=a[h>>0]|0;a:do if(j<<24>>24){B=e+4|0;C=e+104|0;D=e+120|0;E=e+8|0;F=K+10|0;G=K+33|0;H=K+46|0;I=K+94|0;A=J+4|0;m=h;h=0;k=0;l=j;j=0;u=0;v=0;b:while(1){c:do if(!(OT(l&255)|0)){n=(a[m>>0]|0)==37;d:do if(n){l=m+1|0;o=a[l>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{z=0;l=m+2|0;break}default:{if(vU(o&255)|0?(a[m+2>>0]|0)==36:0){z=UD(i,(d[l>>0]|0)+-48|0)|0;l=m+3|0;break e}y=(c[i>>2]|0)+(4-1)&~(4-1);z=c[y>>2]|0;c[i>>2]=y+4}}while(0);if(!(vU(d[l>>0]|0)|0)){r=0;o=l}else{m=0;do{m=(m*10|0)+-48+(d[l>>0]|0)|0;l=l+1|0}while((vU(d[l>>0]|0)|0)!=0);r=m;o=l}n=a[o>>0]|0;q=o+1|0;if(n<<24>>24==109){l=(z|0)!=0&1;k=0;m=q;o=o+2|0;n=a[q>>0]|0;j=0}else{l=0;m=o;o=q}switch(n<<24>>24){case 104:{y=(a[o>>0]|0)==104;n=y?-2:-1;m=y?m+2|0:o;break}case 108:{y=(a[o>>0]|0)==108;n=y?3:1;m=y?m+2|0:o;break}case 106:{n=3;m=o;break}case 116:case 122:{n=1;m=o;break}case 76:{n=2;m=o;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=0;break}default:{O=143;break b}}s=d[m>>0]|0;t=(s&47|0)==3;s=t?s|32:s;t=t?1:n;q=s&255;switch(q<<24>>24){case 99:{y=(r|0)>1?r:1;break}case 91:{y=r;break}case 110:{Jv(z,t,u,v);n=u;o=v;break c}default:{bw(e,0,0);do{n=c[B>>2]|0;if(n>>>0<(c[C>>2]|0)>>>0){c[B>>2]=n+1;n=d[n>>0]|0}else n=fl(e)|0}while((OT(n)|0)!=0);if(!(c[C>>2]|0))n=c[B>>2]|0;else{n=(c[B>>2]|0)+-1|0;c[B>>2]=n}x=D;y=n-(c[E>>2]|0)|0;u=SO(c[x>>2]|0,c[x+4>>2]|0,u|0,v|0)|0;u=SO(u|0,M()|0,y|0,((y|0)<0)<<31>>31|0)|0;y=r;v=M()|0}}x=((y|0)<0)<<31>>31;bw(e,y,x);o=c[B>>2]|0;n=c[C>>2]|0;if(o>>>0<n>>>0)c[B>>2]=o+1;else{if((fl(e)|0)<0){O=143;break b}n=c[C>>2]|0}if(n|0)c[B>>2]=(c[B>>2]|0)+-1;f:do switch(q<<24>>24){case 91:case 99:case 115:{w=(s|0)==99;g:do if((s|16|0)==115){Wp(K|0,-1,257)|0;a[K>>0]=0;if((s|0)==115){a[G>>0]=0;b[F>>1]=0;b[F+2>>1]=0;a[F+4>>0]=0}}else{s=m+1|0;r=(a[s>>0]|0)==94;n=r&1;m=r?m+2|0:s;Wp(K|0,n|0,257)|0;a[K>>0]=0;switch(a[m>>0]|0){case 45:{q=(n^1)&255;a[H>>0]=q;m=m+1|0;break}case 93:{q=(n^1)&255;a[I>>0]=q;m=m+1|0;break}default:q=(n^1)&255}while(1){n=a[m>>0]|0;h:do switch(n<<24>>24){case 0:{O=143;break b}case 93:break g;case 45:{o=m+1|0;n=a[o>>0]|0;switch(n<<24>>24){case 93:case 0:{n=45;break h}default:{}}m=a[m+-1>>0]|0;if((m&255)<(n&255)){m=m&255;do{m=m+1|0;a[K+m>>0]=q;n=a[o>>0]|0}while(m>>>0<(n&255)>>>0);m=o}else m=o;break}default:{}}while(0);a[K+((n&255)+1)>>0]=q;m=m+1|0}}while(0);n=w?y+1|0:31;s=(t|0)==1;t=(l|0)!=0;i:do if(s){if(t){j=wc(n<<2)|0;if(!j){k=0;j=0;O=143;break b}}else j=z;c[J>>2]=0;c[A>>2]=0;k=0;j:while(1){q=(j|0)==0;do{k:while(1){o=c[B>>2]|0;if(o>>>0<(c[C>>2]|0)>>>0){c[B>>2]=o+1;o=d[o>>0]|0}else o=fl(e)|0;if(!(a[K+(o+1)>>0]|0))break j;a[N>>0]=o;switch(nj(L,N,1,J)|0){case -1:{k=0;O=143;break b}case -2:break;default:break k}}if(!q){c[j+(k<<2)>>2]=c[L>>2];k=k+1|0}}while(!(t&(k|0)==(n|0)));n=n<<1|1;o=Tu(j,n<<2)|0;if(!o){k=0;O=143;break b}else j=o}if(!(cS(J)|0)){k=0;O=143;break b}else{q=k;k=0;r=j}}else{if(t){k=wc(n)|0;if(!k){k=0;j=0;O=143;break b}j=0;while(1){q=j;do{j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=fl(e)|0;if(!(a[K+(j+1)>>0]|0)){r=0;j=0;break i}r=q;q=q+1|0;a[k+r>>0]=j}while((q|0)!=(n|0));n=n<<1|1;o=Tu(k,n)|0;if(!o){j=0;O=143;break b}else{j=q;k=o}}}if(!z)while(1){j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=fl(e)|0;if(!(a[K+(j+1)>>0]|0)){q=0;k=0;r=0;j=0;break i}}k=0;while(1){j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=fl(e)|0;if(!(a[K+(j+1)>>0]|0)){q=k;k=z;r=0;j=0;break i}a[z+k>>0]=j;k=k+1|0}}while(0);if(!(c[C>>2]|0))n=c[B>>2]|0;else{n=(c[B>>2]|0)+-1|0;c[B>>2]=n}o=D;n=n-(c[E>>2]|0)|0;n=SO(c[o>>2]|0,c[o+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;o=M()|0;if((n|0)==0&(o|0)==0)break b;if(!((n|0)==(y|0)&(o|0)==(x|0)|w^1))break b;do if(t)if(s){c[z>>2]=r;break}else{c[z>>2]=k;break}while(0);if(!w){if(r|0)c[r+(q<<2)>>2]=0;if(!k){k=0;break f}a[k+q>>0]=0}break}case 120:case 88:case 112:{n=16;O=131;break}case 111:{n=8;O=131;break}case 117:case 100:{n=10;O=131;break}case 105:{n=0;O=131;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+Sd(e,t,0);y=D;w=c[y>>2]|0;y=c[y+4>>2]|0;x=(c[B>>2]|0)-(c[E>>2]|0)|0;x=QO(0,0,x|0,((x|0)<0)<<31>>31|0)|0;if((w|0)==(x|0)&(y|0)==(M()|0))break b;if(z)switch(t|0){case 0:{f[z>>2]=p;break f}case 1:{g[z>>3]=p;break f}case 2:{g[z>>3]=p;break f}default:break f}break}default:{}}while(0);do if((O|0)==131){O=0;n=hd(e,n,0,-1,-1)|0;o=M()|0;y=D;w=c[y>>2]|0;y=c[y+4>>2]|0;x=(c[B>>2]|0)-(c[E>>2]|0)|0;x=QO(0,0,x|0,((x|0)<0)<<31>>31|0)|0;if((w|0)==(x|0)&(y|0)==(M()|0))break b;if((z|0)!=0&(s|0)==112){c[z>>2]=n;break}else{Jv(z,t,n,o);break}}while(0);o=D;n=(c[B>>2]|0)-(c[E>>2]|0)|0;o=SO(c[o>>2]|0,c[o+4>>2]|0,u|0,v|0)|0;n=SO(o|0,M()|0,n|0,((n|0)<0)<<31>>31|0)|0;h=h+((z|0)!=0&1)|0;o=M()|0;break c}while(0);m=m+(n&1)|0;bw(e,0,0);l=c[B>>2]|0;if(l>>>0<(c[C>>2]|0)>>>0){c[B>>2]=l+1;l=d[l>>0]|0}else l=fl(e)|0;if((l|0)!=(d[m>>0]|0)){O=23;break b}n=SO(u|0,v|0,1,0)|0;o=M()|0}else{while(1){l=m+1|0;if(!(OT(d[l>>0]|0)|0))break;else m=l}bw(e,0,0);do{l=c[B>>2]|0;if(l>>>0<(c[C>>2]|0)>>>0){c[B>>2]=l+1;l=d[l>>0]|0}else l=fl(e)|0}while((OT(l)|0)!=0);if(!(c[C>>2]|0))l=c[B>>2]|0;else{l=(c[B>>2]|0)+-1|0;c[B>>2]=l}o=D;n=l-(c[E>>2]|0)|0;o=SO(c[o>>2]|0,c[o+4>>2]|0,u|0,v|0)|0;n=SO(o|0,M()|0,n|0,((n|0)<0)<<31>>31|0)|0;o=M()|0}while(0);m=m+1|0;l=a[m>>0]|0;if(!(l<<24>>24))break a;else{u=n;v=o}}if((O|0)==23){if(c[C>>2]|0)c[B>>2]=(c[B>>2]|0)+-1;if((h|0)!=0|(l|0)>-1)break;else{l=0;h=k;O=144}}else if((O|0)==143)if(!h){h=k;O=144}if((O|0)==144){k=h;h=-1}if(l){nd(k);nd(j)}}else h=0;while(0);if(P|0)mV(e);Mb=Q;return h|0}function Ec(e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;var x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;O=f+880|0;y=c[O>>2]|0;A=(v|0)!=0;B=(w|0)!=0;if(B&(A&(y|0)==2)){W=d[88656+g>>0]|0;x=f+21792|0;y=c[x>>2]|0;if((c[f+3216+((a[f+28272+W>>0]|0)*384|0)+(a[f+28312+W>>0]<<3)+((y&1)<<2)>>2]|0)==32){J=x;x=46}else{Q=x;x=4}}else{x=f+21792|0;z=c[x>>2]|0;if((y|0)==1){Q=x;y=z;x=4}else{J=x;y=z;x=46}}do if((x|0)==4){E=c[t>>2]|0;D=c[t+4>>2]|0;M=c[u>>2]|0;L=c[u+4>>2]|0;P=c[e+25652>>2]|0;W=f+21780|0;r=c[W>>2]|0;T=k+((H(o<<1,r)|0)+(n<<1<<P))|0;U=i>>1;V=f+21784|0;x=c[V>>2]|0;R=(H(x,o)|0)+(n<<P)|0;S=l+R|0;R=m+R|0;z=(c[f+21788>>2]<<3)+n|0;N=f+21828|0;k=c[N>>2]|0;y=(y>>k<<3)+o|0;if(!(A&B)){n=B&1;v=d[88656+g>>0]|0;m=a[f+28272+(n*40|0)+v>>0]|0;A=(z<<3)+(b[f+27952+(n*160|0)+(v<<2)>>1]|0)|0;v=(y<<3)+(b[f+27952+(n*160|0)+(v<<2)+2>>1]|0)|0;u=v<<2&12|A&3;x=A>>2;y=v>>2;z=(H(y,r)|0)+(x<<P)|0;z=(c[f+23416+(n*1920|0)+(m*40|0)>>2]|0)+z|0;C=c[e+26996>>2]|0;t=C<<4;B=c[e+26992>>2]<<4>>k;l=A&7;g=(l|0)==0?0:-3;O=(v&7|0)==0?0:-3;if((!((x|0)<(0-g|0)|(y|0)<(0-O|0))?(x+16|0)<=(g+t|0):0)?(y+16|0)<=(B+O|0):0){k=0;y=r}else{O=f+27792|0;k=2<<P;pc[c[e+8>>2]&3](c[O>>2]|0,z+(0-k)+(0-(r<<1))|0,r,r,21,21,x+-2|0,y+-2|0,t,B);y=c[W>>2]|0;z=(c[O>>2]|0)+k+(y<<1)|0;k=1}x=p+(u<<2)|0;gc[c[x>>2]&1023](T,z,y);if(!h)gc[c[x>>2]&1023](T+j|0,z+j|0,c[W>>2]|0);if(!(c[N>>2]|0)){p=v;v=v>>3}else{j=(1-(c[f+23416+(n*1920|0)+(m*40|0)+24>>2]|0)+(c[Q>>2]&1)<<1)+v|0;v=j>>3;p=j;k=j>>>31|k|(v+8|0)>=(B>>1|0)}u=A>>3;t=u<<P;y=c[V>>2]|0;x=H(y,v)|0;z=(c[f+23416+(n*1920|0)+(m*40|0)+4>>2]|0)+t+x|0;x=(c[f+23416+(n*1920|0)+(m*40|0)+8>>2]|0)+t+x|0;t=f+27792|0;if(!k){e=p&7;kc[q&63](S,z,y,U,l,e);y=e}else{j=B>>1;h=C<<3;Q=e+8|0;pc[c[Q>>2]&3](c[t>>2]|0,z,y,y,9,9,u,v,h,j);y=p&7;kc[q&63](S,c[t>>2]|0,c[V>>2]|0,U,l,y);e=c[V>>2]|0;pc[c[Q>>2]&3](c[t>>2]|0,x,e,e,9,9,u,v,h,j);x=c[t>>2]|0}kc[q&63](R,x,c[V>>2]|0,U,l,y);kc[E&63](T,c[W>>2]|0,i,c[f+888>>2]|0,c[f+912+(m<<4)+(n<<3)>>2]|0,c[f+912+(m<<4)+(n<<3)+4>>2]|0);if(!(c[f+884>>2]|0))break;i=f+892|0;kc[D&63](S,c[V>>2]|0,U,c[i>>2]|0,c[f+1680+(m<<5)+(n<<4)>>2]|0,c[f+1680+(m<<5)+(n<<4)+4>>2]|0);kc[D&63](R,c[V>>2]|0,U,c[i>>2]|0,c[f+1680+(m<<5)+(n<<4)+8>>2]|0,c[f+1680+(m<<5)+(n<<4)+12>>2]|0);break}J=c[f+27788>>2]|0;K=J+(16<<P)|0;I=J+(x<<4)|0;D=d[88656+g>>0]|0;F=a[f+28272+D>>0]|0;G=a[f+28312+D>>0]|0;n=z<<3;B=n+(b[f+27952+(D<<2)>>1]|0)|0;o=y<<3;A=o+(b[f+27952+(D<<2)+2>>1]|0)|0;u=A<<2&12|B&3;x=B>>2;y=A>>2;z=(H(y,r)|0)+(x<<P)|0;z=(c[f+23416+(F*40|0)>>2]|0)+z|0;s=e+26996|0;l=c[s>>2]|0;t=l<<4;w=e+26992|0;C=c[w>>2]<<4>>k;m=B&7;E=(m|0)==0?0:-3;g=(A&7|0)==0?0:-3;if((!((x|0)<(0-E|0)|(y|0)<(0-g|0))?(x+16|0)<=(E+t|0):0)?(y+16|0)<=(C+g|0):0){t=0;y=r}else{E=f+27792|0;g=2<<P;pc[c[e+8>>2]&3](c[E>>2]|0,z+(0-g)+(0-(r<<1))|0,r,r,21,21,x+-2|0,y+-2|0,t,C);y=c[W>>2]|0;z=(c[E>>2]|0)+g+(y<<1)|0;t=1}x=p+(u<<2)|0;gc[c[x>>2]&1023](T,z,y);E=(h|0)!=0;if(!E)gc[c[x>>2]&1023](T+j|0,z+j|0,c[W>>2]|0);if(!(c[N>>2]|0)){k=A;v=t;u=A>>3}else{v=(1-(c[f+23416+(F*40|0)+24>>2]|0)+(c[Q>>2]&1)<<1)+A|0;u=v>>3;k=v;v=v>>>31|t|(u+8|0)>=(C>>1|0)}y=B>>3;r=y<<P;z=c[V>>2]|0;x=H(z,u)|0;t=(c[f+23416+(F*40|0)+4>>2]|0)+r+x|0;x=(c[f+23416+(F*40|0)+8>>2]|0)+r+x|0;r=f+27792|0;if(!v){y=k&7;kc[q&63](S,t,z,U,m,y)}else{g=C>>1;l=l<<3;B=e+8|0;pc[c[B>>2]&3](c[r>>2]|0,t,z,z,9,9,y,u,l,g);h=k&7;kc[q&63](S,c[r>>2]|0,c[V>>2]|0,U,m,h);C=c[V>>2]|0;pc[c[B>>2]&3](c[r>>2]|0,x,C,C,9,9,y,u,l,g);x=c[r>>2]|0;y=h}kc[q&63](R,x,c[V>>2]|0,U,m,y);B=n+(b[f+28112+(D<<2)>>1]|0)|0;A=o+(b[f+28112+(D<<2)+2>>1]|0)|0;k=A<<2&12|B&3;t=B>>2;u=A>>2;y=c[W>>2]|0;z=(H(u,y)|0)+(t<<P)|0;z=(c[f+25336+(G*40|0)>>2]|0)+z|0;l=c[s>>2]|0;x=l<<4;C=c[w>>2]<<4>>c[N>>2];m=B&7;g=(m|0)==0?0:-3;h=(A&7|0)==0?0:-3;if((!((t|0)<(0-g|0)|(u|0)<(0-h|0))?(t+16|0)<=(x+g|0):0)?(u+16|0)<=(C+h|0):0)v=0;else{v=2<<P;pc[c[e+8>>2]&3](c[r>>2]|0,z+(0-v)+(0-(y<<1))|0,y,y,21,21,t+-2|0,u+-2|0,x,C);y=c[W>>2]|0;z=(c[r>>2]|0)+v+(y<<1)|0;v=1}x=p+(k<<2)|0;gc[c[x>>2]&1023](I,z,y);if(!E)gc[c[x>>2]&1023](I+j|0,z+j|0,c[W>>2]|0);if(!(c[N>>2]|0)){k=A;u=A>>3}else{j=(1-(c[f+25336+(G*40|0)+24>>2]|0)+(c[Q>>2]&1)<<1)+A|0;u=j>>3;k=j;v=j>>>31|v|(u+8|0)>=(C>>1|0)}t=B>>3;j=t<<P;y=c[V>>2]|0;x=H(y,u)|0;z=(c[f+25336+(G*40|0)+4>>2]|0)+j+x|0;x=(c[f+25336+(G*40|0)+8>>2]|0)+j+x|0;if(!v){e=k&7;kc[q&63](J,z,y,U,m,e);y=e}else{j=C>>1;h=l<<3;P=e+8|0;pc[c[P>>2]&3](c[r>>2]|0,z,y,y,9,9,t,u,h,j);y=k&7;kc[q&63](J,c[r>>2]|0,c[V>>2]|0,U,m,y);e=c[V>>2]|0;pc[c[P>>2]&3](c[r>>2]|0,x,e,e,9,9,t,u,h,j);x=c[r>>2]|0}kc[q&63](K,x,c[V>>2]|0,U,m,y);if((c[O>>2]|0)==2){e=c[f+3216+(F*384|0)+(G<<3)+((c[Q>>2]&1)<<2)>>2]|0;f=64-e|0;nc[M&31](T,I,c[W>>2]|0,i,5,e,f,0);nc[L&31](S,J,c[V>>2]|0,U,5,e,f,0);nc[L&31](R,K,c[V>>2]|0,U,5,e,f,0);break}else{nc[M&31](T,I,c[W>>2]|0,i,c[f+888>>2]|0,c[f+912+(F<<4)>>2]|0,c[f+912+(G<<4)+8>>2]|0,(c[f+912+(G<<4)+12>>2]|0)+(c[f+912+(F<<4)+4>>2]|0)|0);i=f+892|0;nc[L&31](S,J,c[V>>2]|0,U,c[i>>2]|0,c[f+1680+(F<<5)>>2]|0,c[f+1680+(G<<5)+16>>2]|0,(c[f+1680+(G<<5)+20>>2]|0)+(c[f+1680+(F<<5)+4>>2]|0)|0);nc[L&31](R,K,c[V>>2]|0,U,c[i>>2]|0,c[f+1680+(F<<5)+8>>2]|0,c[f+1680+(G<<5)+24>>2]|0,(c[f+1680+(G<<5)+28>>2]|0)+(c[f+1680+(F<<5)+12>>2]|0)|0);break}}else if((x|0)==46){K=c[e+25652>>2]|0;I=f+21780|0;C=c[I>>2]|0;G=k+((H(o<<1,C)|0)+(n<<1<<K))|0;N=f+21784|0;M=(H(c[N>>2]|0,o)|0)+(n<<K)|0;L=l+M|0;M=m+M|0;E=(c[f+21788>>2]<<3)+n|0;F=f+21828|0;u=c[F>>2]|0;D=(y>>u<<3)+o|0;if(v){A=d[88656+g>>0]|0;l=a[f+28272+A>>0]|0;B=(E<<3)+(b[f+27952+(A<<2)>>1]|0)|0;A=(D<<3)+(b[f+27952+(A<<2)+2>>1]|0)|0;v=A<<2&12|B&3;x=B>>2;y=A>>2;z=(H(y,C)|0)+(x<<K)|0;z=(c[f+23416+(l*40|0)>>2]|0)+z|0;n=c[e+26996>>2]|0;t=n<<4;m=c[e+26992>>2]<<4>>u;o=B&7;V=(o|0)==0?0:-3;W=(A&7|0)==0?0:-3;if((!((x|0)<(0-V|0)|(y|0)<(0-W|0))?(x+16|0)<=(V+t|0):0)?(y+16|0)<=(m+W|0):0){t=0;y=C}else{V=f+27792|0;W=2<<K;pc[c[e+8>>2]&3](c[V>>2]|0,z+(0-W)+(0-(C<<1))|0,C,C,21,21,x+-2|0,y+-2|0,t,m);y=c[I>>2]|0;z=(c[V>>2]|0)+W+(y<<1)|0;t=1}x=p+(v<<2)|0;gc[c[x>>2]&1023](G,z,y);if(!h)gc[c[x>>2]&1023](G+j|0,z+j|0,c[I>>2]|0);if(!(c[F>>2]|0)){p=A;k=t;v=A>>3}else{k=(1-(c[f+23416+(l*40|0)+24>>2]|0)+(c[J>>2]&1)<<1)+A|0;v=k>>3;p=k;k=k>>>31|t|(v+8|0)>=(m>>1|0)}z=B>>3;y=z<<K;t=c[N>>2]|0;x=H(t,v)|0;u=(c[f+23416+(l*40|0)+4>>2]|0)+y+x|0;x=(c[f+23416+(l*40|0)+8>>2]|0)+y+x|0;y=f+27792|0;if(!k){y=i>>1;z=p&7;kc[q&63](L,u,t,y,o,z)}else{U=m>>1;T=n<<3;R=e+8|0;pc[c[R>>2]&3](c[y>>2]|0,u,t,t,9,9,z,v,T,U);V=i>>1;W=p&7;kc[q&63](L,c[y>>2]|0,c[N>>2]|0,V,o,W);S=c[N>>2]|0;pc[c[R>>2]&3](c[y>>2]|0,x,S,S,9,9,z,v,T,U);x=c[y>>2]|0;y=V;z=W}kc[q&63](M,x,c[N>>2]|0,y,o,z);q=s;p=r}if(w|0){A=d[88656+g>>0]|0;C=a[f+28312+A>>0]|0;B=(E<<3)+(b[f+28112+(A<<2)>>1]|0)|0;A=(D<<3)+(b[f+28112+(A<<2)+2>>1]|0)|0;v=A<<2&12|B&3;x=B>>2;t=A>>2;y=c[I>>2]|0;z=(H(t,y)|0)+(x<<K)|0;z=(c[f+25336+(C*40|0)>>2]|0)+z|0;l=c[e+26996>>2]|0;u=l<<4;m=c[e+26992>>2]<<4>>c[F>>2];n=B&7;V=(n|0)==0?0:-3;W=(A&7|0)==0?0:-3;if((!((x|0)<(0-V|0)|(t|0)<(0-W|0))?(x+16|0)<=(u+V|0):0)?(t+16|0)<=(m+W|0):0)k=0;else{W=f+27792|0;k=2<<K;pc[c[e+8>>2]&3](c[W>>2]|0,z+(0-k)+(0-(y<<1))|0,y,y,21,21,x+-2|0,t+-2|0,u,m);y=c[I>>2]|0;z=(c[W>>2]|0)+k+(y<<1)|0;k=1}x=p+(v<<2)|0;gc[c[x>>2]&1023](G,z,y);if(!h)gc[c[x>>2]&1023](G+j|0,z+j|0,c[I>>2]|0);if(!(c[F>>2]|0)){p=A;v=A>>3}else{j=(1-(c[f+25336+(C*40|0)+24>>2]|0)+(c[J>>2]&1)<<1)+A|0;v=j>>3;p=j;k=j>>>31|k|(v+8|0)>=(m>>1|0)}u=B>>3;y=u<<K;z=c[N>>2]|0;x=H(z,v)|0;t=(c[f+25336+(C*40|0)+4>>2]|0)+y+x|0;x=(c[f+25336+(C*40|0)+8>>2]|0)+y+x|0;y=f+27792|0;if(!k){y=i>>1;i=p&7;kc[q&63](L,t,z,y,n,i);z=i}else{f=m>>1;j=l<<3;h=e+8|0;pc[c[h>>2]&3](c[y>>2]|0,t,z,z,9,9,u,v,j,f);i=i>>1;z=p&7;kc[q&63](L,c[y>>2]|0,c[N>>2]|0,i,n,z);e=c[N>>2]|0;pc[c[h>>2]&3](c[y>>2]|0,x,e,e,9,9,u,v,j,f);x=c[y>>2]|0;y=i}kc[q&63](M,x,c[N>>2]|0,y,n,z)}}while(0);return}function Fc(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;la=Mb;Mb=Mb+128|0;ha=la+96|0;X=la+112|0;Y=la+108|0;_=la+32|0;$=la;ka=e+564|0;fa=c[ka>>2]|0;q=e+556|0;ga=c[q>>2]|0;h=c[e+560>>2]|0;p=e+704|0;f=c[p>>2]|0;if((f|0)!=0?(c[f>>2]|0)!=0:0){f=(c[f+72>>2]|0)+15>>4;f=(h|0)>(f|0)?f:h}else f=h;g=c[e+736>>2]|0;if((g|0)!=0?(c[g>>2]|0)!=0:0){ja=(c[g+72>>2]|0)+15>>4;ja=(f|0)>(ja|0)?ja:f}else ja=f;v=c[e+584>>2]|0;T=H(h,fa)|0;w=v+(T<<3)|0;T=w+(T<<3)|0;fv(e,X,Y);i=e+712|0;if(c[i>>2]|0)tr(c[e+708>>2]|0,ja+-1|0,0);U=H(ja,ga)|0;j=e+548|0;n=e+580|0;o=e+696|0;y=c[Y>>2]|0;x=c[X>>2]|0;V=e+680|0;k=e+720|0;W=e+688|0;h=0;f=0;while(1){if((h|0)>=(U|0))break;g=c[(c[j>>2]|0)+(h<<2)>>2]|0;S=(a[(c[n>>2]|0)+g>>0]&8)==0?8:(c[(c[o>>2]|0)+(g<<2)>>2]&7|0)==0?0:8;a[T+g>>0]=S;if((S|0)!=8){if((c[c[p>>2]>>2]|0)!=0?(l=c[i>>2]|0,(l|0)!=0):0){S=c[ka>>2]|0;R=(g|0)/(S|0)|0;S=H((H(y,R)|0)+(g-(H(R,S)|0))|0,x)|0;R=c[V>>2]|0;b[R+(S<<2)>>1]=b[l+(S<<2)>>1]|0;b[R+(S<<2)+2>>1]=b[l+(S<<2)+2>>1]|0;S=g<<2;a[(c[W>>2]|0)+S>>0]=a[(c[k>>2]|0)+S>>0]|0}}else f=f+1|0;h=h+1|0}a:do if((f|0)>((ga|0)/2|0|0)?(c[(c[e>>2]|0)+676>>2]&1|0)!=0:0){f=0;j=0;while(1){if((j|0)>=(ja|0))break;k=H(j,fa)|0;l=(j|0)==0;m=j+1|0;n=(m|0)<(ja|0);o=j+-1|0;g=0;b:while(1){while(1){if((g|0)>=(ga|0))break b;i=g+k|0;if((a[T+i>>0]|0)==8)break;g=g+1|0}if((g|0)!=0?(r=T+(i+-1)|0,(a[r>>0]|0)==0):0){a[r>>0]=1;c[v+(f<<3)>>2]=g+-1;c[v+(f<<3)+4>>2]=j;f=f+1|0}if(!l?(s=T+(i-fa)|0,(a[s>>0]|0)==0):0){a[s>>0]=1;c[v+(f<<3)>>2]=g;c[v+(f<<3)+4>>2]=o;f=f+1|0}h=g+1|0;if((h|0)<(ga|0)?(t=T+(i+1)|0,(a[t>>0]|0)==0):0){a[t>>0]=1;c[v+(f<<3)>>2]=h;c[v+(f<<3)+4>>2]=j;f=f+1|0}if(n?(u=T+(i+fa)|0,(a[u>>0]|0)==0):0){a[u>>0]=1;c[v+(f<<3)>>2]=g;c[v+(f<<3)+4>>2]=m;f=f+1|0}g=h}j=m}O=_+4|0;P=e+672|0;Q=e+608|0;R=e+612|0;S=e+800|0;N=e+804|0;M=f;while(1){L=H(x,y)|0;f=1;K=0;g=1;while(1){if(!(K>>>0<10&(K>>>0<2|(f|0)!=0)))break;J=K>>>0>1;I=0;f=0;while(1){if((I|0)>=(M|0))break;E=c[v+(I<<3)>>2]|0;F=c[v+(I<<3)+4>>2]|0;G=(H(F,fa)|0)+E|0;c:do if(!((E^K^F)&1)){B=(E|0)>0;if(B)h=d[T+(G+-1)>>0]|0;else h=0;C=(E+1|0)<(ga|0);if(C)h=h|d[T+(G+1)>>0];A=(F|0)>0;if(A)h=h|d[T+(G-fa)>>0];z=(F+1|0)<(ja|0);if(z)h=h|d[T+(G+fa)>>0];if(!(J&(h&4|0)==0)){D=H((H(y,F)|0)+E|0,x)|0;if(B?(Z=G+-1|0,(d[T+Z>>0]|0)>1):0){e=c[V>>2]|0;g=D-x|0;c[_>>2]=b[e+(g<<2)>>1];c[O>>2]=b[e+(g<<2)+2>>1];c[$>>2]=a[(c[W>>2]|0)+(Z<<2)>>0];g=1}else g=0;do if(C){h=G+1|0;if((d[T+h>>0]|0)<=1)break;u=c[V>>2]|0;e=D+x|0;c[_+(g<<3)>>2]=b[u+(e<<2)>>1];c[_+(g<<3)+4>>2]=b[u+(e<<2)+2>>1];c[$+(g<<2)>>2]=a[(c[W>>2]|0)+(h<<2)>>0];g=g+1|0}while(0);do if(A){if((d[T+(G-fa)>>0]|0)<=1)break;u=c[V>>2]|0;e=D-L|0;c[_+(g<<3)>>2]=b[u+(e<<2)>>1];c[_+(g<<3)+4>>2]=b[u+(e<<2)+2>>1];c[$+(g<<2)>>2]=a[(c[W>>2]|0)+(G-(c[ka>>2]|0)<<2)>>0];g=g+1|0}while(0);do if(z){if((d[T+(G+fa)>>0]|0)<=1){ia=77;break}u=c[V>>2]|0;e=D+L|0;c[_+(g<<3)>>2]=b[u+(e<<2)>>1];c[_+(g<<3)+4>>2]=b[u+(e<<2)+2>>1];c[$+(g<<2)>>2]=a[(c[W>>2]|0)+((c[ka>>2]|0)+G<<2)>>0];g=g+1|0}else ia=77;while(0);if((ia|0)==77){ia=0;if(!g){g=0;break}}d:do if((g|0)>1){h=0;i=0;j=0;k=0;while(1){if((k|0)>=(g|0))break;j=(c[_+(k<<3)>>2]|0)+j|0;i=(c[_+(k<<3)+4>>2]|0)+i|0;e=c[$+(k<<2)>>2]|0;h=e+h|0;if(k|0?(e|0)!=(c[$+(k+-1<<2)>>2]|0):0)break d;k=k+1|0}c[_+(g<<3)>>2]=(j|0)/(k|0)|0;c[_+(g<<3)+4>>2]=(i|0)/(k|0)|0;c[$+(g<<2)>>2]=(h|0)/(k|0)|0;k=(g|0)>2;l=k?-99999:0;k=k?99999:0;p=k;q=l;n=k;o=l;m=0;while(1){if((m|0)==(g|0))break;e=c[_+(m<<3)>>2]|0;u=c[_+(m<<3)+4>>2]|0;t=c[$+(m<<2)>>2]|0;p=(p|0)>(t|0)?t:p;q=(q|0)>(t|0)?q:t;n=(n|0)>(u|0)?u:n;k=(k|0)>(e|0)?e:k;o=(o|0)>(u|0)?o:u;l=(l|0)>(e|0)?l:e;m=m+1|0}l=j-l-k|0;e=g+1|0;m=_+(e<<3)|0;c[m>>2]=l;j=i-o-n|0;k=_+(e<<3)+4|0;c[k>>2]=j;h=h-q-p|0;i=$+(e<<2)|0;c[i>>2]=h;if((g|0)==4){c[m>>2]=(l|0)/2|0;c[k>>2]=(j|0)/2|0;c[i>>2]=(h|0)/2|0}g=g+2|0}else g=1;while(0);c[$+(g<<2)>>2]=0;c[_+(g<<3)+4>>2]=0;c[_+(g<<3)>>2]=0;m=g+1|0;e=c[V>>2]|0;u=b[e+(D<<2)>>1]|0;e=b[e+(D<<2)+2>>1]|0;n=a[(c[W>>2]|0)+(G<<2)>>0]|0;c[_+(m<<3)>>2]=u;c[_+(m<<3)+4>>2]=e;c[$+(m<<2)>>2]=n;m=g+2|0;n=E<<4;o=F<<4;p=T+(G+-1)|0;q=T+(G+1)|0;r=T+(G-fa)|0;s=T+(G+fa)|0;t=0;g=1073741824;l=0;while(1){if((l|0)>=(m|0))break;k=c[P>>2]|0;j=k+32|0;k=(c[k>>2]|0)+n+(H(o,c[j>>2]|0)|0)|0;i=c[_+(l<<3)>>2]|0;c[Q>>2]=i;h=c[V>>2]|0;b[h+(D<<2)>>1]=i;i=c[_+(l<<3)+4>>2]|0;c[R>>2]=i;b[h+(D<<2)+2>>1]=i;h=c[$+(l<<2)>>2]|0;if((h|0)<0)h=t;else{oc[c[S>>2]&1](c[N>>2]|0,h,1,0,Q,E,F,0,0);e:do if(B){if((d[p>>0]|0)<=1){i=0;break}h=0;i=0;while(1){if((h|0)==16)break e;ma=H(c[j>>2]|0,h)|0;ma=(d[k+(ma+-1)>>0]|0)-(d[k+ma>>0]|0)|0;h=h+1|0;i=((ma|0)>-1?ma:0-ma|0)+i|0}}else i=0;while(0);f:do if(C){if((d[q>>0]|0)<=1)break;h=0;while(1){if((h|0)==16)break f;ma=H(c[j>>2]|0,h)|0;ma=(d[k+(ma+15)>>0]|0)-(d[k+(ma+16)>>0]|0)|0;h=h+1|0;i=((ma|0)>-1?ma:0-ma|0)+i|0}}while(0);g:do if(A){if((d[r>>0]|0)<=1)break;h=0;while(1){if((h|0)==16)break g;ma=(d[k+(h-(c[j>>2]|0))>>0]|0)-(d[k+h>>0]|0)|0;h=h+1|0;i=((ma|0)>-1?ma:0-ma|0)+i|0}}while(0);h:do if(z){if((d[s>>0]|0)<=1)break;h=0;while(1){if((h|0)==16)break h;ma=c[j>>2]|0;ma=(d[k+((ma*15|0)+h)>>0]|0)-(d[k+((ma<<4)+h)>>0]|0)|0;h=h+1|0;i=((ma|0)>-1?ma:0-ma|0)+i|0}}while(0);ma=(i|0)>(g|0);h=ma?t:l;g=ma?g:i}t=h;l=l+1|0}i=c[_+(t<<3)>>2]|0;c[Q>>2]=i;j=c[_+(t<<3)+4>>2]|0;c[R>>2]=j;i=i&65535;j=j&65535;g=0;while(1){if((g|0)>=(x|0))break;k=g+D|0;h=0;while(1){if((h|0)==(x|0))break;C=c[V>>2]|0;ma=k+(H(h,y)|0)|0;b[C+(ma<<2)>>1]=i;b[C+(ma<<2)+2>>1]=j;h=h+1|0}g=g+1|0}oc[c[S>>2]&1](c[N>>2]|0,c[$+(t<<2)>>2]|0,1,0,Q,E,F,0,0);do if((c[Q>>2]|0)==(u|0)){if((c[R>>2]|0)!=(e|0))break;a[T+G>>0]=2;g=0;break c}while(0);a[T+G>>0]=4;g=0;f=f+1|0}}while(0);I=I+1|0}K=K+1|0}if(g|0)break a;f=0;k=0;while(1){if((k|0)>=(M|0))break;i=c[v+(k<<3)>>2]|0;h=c[v+(k<<3)+4>>2]|0;j=(H(h,fa)|0)+i|0;g=T+j|0;if(a[g>>0]&14){a[g>>0]=8;if((i|0)>0?(aa=T+(j+-1)|0,(a[aa>>0]|0)==0):0){a[aa>>0]=1;c[w+(f<<3)>>2]=i+-1;c[w+(f<<3)+4>>2]=h;f=f+1|0}if((h|0)>0?(ca=T+(j-fa)|0,(a[ca>>0]|0)==0):0){a[ca>>0]=1;c[w+(f<<3)>>2]=i;c[w+(f<<3)+4>>2]=h+-1;f=f+1|0}g=i+1|0;if((g|0)<(ga|0)?(da=T+(j+1)|0,(a[da>>0]|0)==0):0){a[da>>0]=1;c[w+(f<<3)>>2]=g;c[w+(f<<3)+4>>2]=h;f=f+1|0}g=h+1|0;if((g|0)<(ja|0)?(ea=T+(j+fa)|0,(a[ea>>0]|0)==0):0){a[ea>>0]=1;c[w+(f<<3)>>2]=i;c[w+(f<<3)+4>>2]=g;f=f+1|0}}k=k+1|0}if((f|0)>(U|0))break;ma=w;M=f;x=c[X>>2]|0;y=c[Y>>2]|0;w=v;v=ma}c[ha>>2]=195778;c[ha+4>>2]=195701;c[ha+8>>2]=717;Xw(0,0,213444,ha);ba()}else{k=e+608|0;l=e+612|0;m=e+800|0;i=e+804|0;h=0;while(1){if((h|0)>=(ja|0))break a;g=0;while(1){if((g|0)>=(c[q>>2]|0))break;j=(H(c[ka>>2]|0,h)|0)+g|0;f=c[p>>2]|0;if(!f)f=2;else f=(c[f>>2]|0)==0?2:1;if((c[(c[o>>2]|0)+(j<<2)>>2]&7|0)==0?a[(c[n>>2]|0)+j>>0]&8:0){c[k>>2]=0;c[l>>2]=0;oc[c[m>>2]&1](c[i>>2]|0,0,f,0,k,g,h,0,0)}g=g+1|0}h=h+1|0}}while(0);Mb=la;return}function Gc(e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;var x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;L=f+880|0;s=c[L>>2]|0;y=(v|0)!=0;z=(w|0)!=0;if(z&(y&(s|0)==2)){Q=d[88656+g>>0]|0;q=f+21792|0;s=c[q>>2]|0;if((c[f+3216+((a[f+28272+Q>>0]|0)*384|0)+(a[f+28312+Q>>0]<<3)+((s&1)<<2)>>2]|0)==32)q=58;else{K=q;q=4}}else{q=f+21792|0;x=c[q>>2]|0;if((s|0)==1){K=q;s=x;q=4}else{s=x;q=58}}do if((q|0)==4){A=c[t>>2]|0;J=c[u>>2]|0;M=c[e+25652>>2]|0;Q=f+21780|0;u=c[Q>>2]|0;N=(H(o<<1,u)|0)+(n<<1<<M)|0;P=k+N|0;O=l+N|0;N=m+N|0;x=(c[f+21788>>2]<<3)+n|0;C=f+21828|0;t=c[C>>2]|0;q=(s>>t<<3)+o|0;if(!(y&z)){n=z&1;L=d[88656+g>>0]|0;m=a[f+28272+(n*40|0)+L>>0]|0;K=(x<<3)+(b[f+27952+(n*160|0)+(L<<2)>>1]|0)|0;L=(q<<3)+(b[f+27952+(n*160|0)+(L<<2)+2>>1]|0)|0;x=L<<2&12|K&3;y=K>>2;z=L>>2;v=(H(z,u)|0)+(y<<M)|0;q=(c[f+23416+(n*1920|0)+(m*40|0)>>2]|0)+v|0;l=c[e+26996>>2]<<4;k=c[e+26992>>2]<<4>>t;K=(K&7|0)==0?0:-3;L=(L&7|0)==0?0:-3;if((!((y|0)<(0-K|0)|(z|0)<(0-L|0))?(y+16|0)<=(K+l|0):0)?(z+16|0)<=(k+L|0):0){t=0;s=u}else{L=f+27792|0;t=2<<M;pc[c[e+8>>2]&3](c[L>>2]|0,q+(0-t)+(0-(u<<1))|0,u,u,21,21,y+-2|0,z+-2|0,l,k);s=c[Q>>2]|0;q=(c[L>>2]|0)+t+(s<<1)|0;t=1}u=p+(x<<2)|0;gc[c[u>>2]&1023](P,q,s);p=(h|0)!=0;if(!p)gc[c[u>>2]&1023](P+j|0,q+j|0,c[Q>>2]|0);q=(c[f+23416+(n*1920|0)+(m*40|0)+4>>2]|0)+v|0;x=(t|0)!=0;if(x){L=f+27792|0;h=2<<M;s=c[Q>>2]|0;pc[c[e+8>>2]&3](c[L>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,z+-2|0,l,k);s=c[Q>>2]|0;q=(c[L>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;gc[c[u>>2]&1023](O,q,s);if(!p)gc[c[u>>2]&1023](O+j|0,q+j|0,c[Q>>2]|0);q=(c[f+23416+(n*1920|0)+(m*40|0)+8>>2]|0)+v|0;if(x){L=f+27792|0;h=2<<M;s=c[Q>>2]|0;pc[c[e+8>>2]&3](c[L>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,z+-2|0,l,k);s=c[Q>>2]|0;q=(c[L>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;gc[c[u>>2]&1023](N,q,s);if(!p)gc[c[u>>2]&1023](N+j|0,q+j|0,c[Q>>2]|0);kc[A&63](P,c[Q>>2]|0,i,c[f+888>>2]|0,c[f+912+(m<<4)+(n<<3)>>2]|0,c[f+912+(m<<4)+(n<<3)+4>>2]|0);if(!(c[f+884>>2]|0))break;e=f+21784|0;j=f+892|0;kc[A&63](O,c[e>>2]|0,i,c[j>>2]|0,c[f+1680+(m<<5)+(n<<4)>>2]|0,c[f+1680+(m<<5)+(n<<4)+4>>2]|0);kc[A&63](N,c[e>>2]|0,i,c[j>>2]|0,c[f+1680+(m<<5)+(n<<4)+8>>2]|0,c[f+1680+(m<<5)+(n<<4)+12>>2]|0);break}E=c[f+27788>>2]|0;F=E+(16<<M)|0;G=f+21784|0;I=E+(c[G>>2]<<4)|0;A=d[88656+g>>0]|0;w=a[f+28272+A>>0]|0;D=a[f+28312+A>>0]|0;n=x<<3;r=n+(b[f+27952+(A<<2)>>1]|0)|0;m=q<<3;g=m+(b[f+27952+(A<<2)+2>>1]|0)|0;x=g<<2&12|r&3;z=r>>2;l=g>>2;k=(H(l,u)|0)+(z<<M)|0;q=(c[f+23416+(w*40|0)>>2]|0)+k|0;B=e+26996|0;y=c[B>>2]<<4;o=e+26992|0;v=c[o>>2]<<4>>t;r=(r&7|0)==0?0:-3;g=(g&7|0)==0?0:-3;if((!((z|0)<(0-r|0)|(l|0)<(0-g|0))?(z+16|0)<=(r+y|0):0)?(l+16|0)<=(v+g|0):0){t=0;s=u}else{g=f+27792|0;t=2<<M;pc[c[e+8>>2]&3](c[g>>2]|0,q+(0-t)+(0-(u<<1))|0,u,u,21,21,z+-2|0,l+-2|0,y,v);s=c[Q>>2]|0;q=(c[g>>2]|0)+t+(s<<1)|0;t=1}u=p+(x<<2)|0;gc[c[u>>2]&1023](P,q,s);r=(h|0)!=0;if(!r)gc[c[u>>2]&1023](P+j|0,q+j|0,c[Q>>2]|0);q=(c[f+23416+(w*40|0)+4>>2]|0)+k|0;x=(t|0)!=0;if(x){g=f+27792|0;h=2<<M;s=c[Q>>2]|0;pc[c[e+8>>2]&3](c[g>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,z+-2|0,l+-2|0,y,v);s=c[Q>>2]|0;q=(c[g>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;gc[c[u>>2]&1023](O,q,s);if(!r)gc[c[u>>2]&1023](O+j|0,q+j|0,c[Q>>2]|0);q=(c[f+23416+(w*40|0)+8>>2]|0)+k|0;if(x){g=f+27792|0;h=2<<M;s=c[Q>>2]|0;pc[c[e+8>>2]&3](c[g>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,z+-2|0,l+-2|0,y,v);s=c[Q>>2]|0;q=(c[g>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;gc[c[u>>2]&1023](N,q,s);if(!r)gc[c[u>>2]&1023](N+j|0,q+j|0,c[Q>>2]|0);g=n+(b[f+28112+(A<<2)>>1]|0)|0;h=m+(b[f+28112+(A<<2)+2>>1]|0)|0;t=h<<2&12|g&3;y=g>>2;z=h>>2;q=c[Q>>2]|0;v=(H(z,q)|0)+(y<<M)|0;s=(c[f+25336+(D*40|0)>>2]|0)+v|0;k=c[B>>2]<<4;u=c[o>>2]<<4>>c[C>>2];g=(g&7|0)==0?0:-3;h=(h&7|0)==0?0:-3;if((!((y|0)<(0-g|0)|(z|0)<(0-h|0))?(y+16|0)<=(k+g|0):0)?(z+16|0)<=(u+h|0):0)x=0;else{h=f+27792|0;x=2<<M;pc[c[e+8>>2]&3](c[h>>2]|0,s+(0-x)+(0-(q<<1))|0,q,q,21,21,y+-2|0,z+-2|0,k,u);q=c[Q>>2]|0;s=(c[h>>2]|0)+x+(q<<1)|0;x=1}t=p+(t<<2)|0;gc[c[t>>2]&1023](I,s,q);if(!r)gc[c[t>>2]&1023](I+j|0,s+j|0,c[Q>>2]|0);q=(c[f+25336+(D*40|0)+4>>2]|0)+v|0;x=(x|0)!=0;if(x){g=f+27792|0;h=2<<M;s=c[Q>>2]|0;pc[c[e+8>>2]&3](c[g>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,z+-2|0,k,u);s=c[Q>>2]|0;q=(c[g>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;gc[c[t>>2]&1023](E,q,s);if(!r)gc[c[t>>2]&1023](E+j|0,q+j|0,c[Q>>2]|0);q=(c[f+25336+(D*40|0)+8>>2]|0)+v|0;if(x){g=f+27792|0;h=2<<M;s=c[Q>>2]|0;pc[c[e+8>>2]&3](c[g>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,z+-2|0,k,u);s=c[Q>>2]|0;q=(c[g>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;gc[c[t>>2]&1023](F,q,s);if(!r)gc[c[t>>2]&1023](F+j|0,q+j|0,c[Q>>2]|0);if((c[L>>2]|0)==2){f=c[f+3216+(w*384|0)+(D<<3)+((c[K>>2]&1)<<2)>>2]|0;j=64-f|0;nc[J&31](P,I,c[Q>>2]|0,i,5,f,j,0);nc[J&31](O,E,c[G>>2]|0,i,5,f,j,0);nc[J&31](N,F,c[G>>2]|0,i,5,f,j,0);break}else{nc[J&31](P,I,c[Q>>2]|0,i,c[f+888>>2]|0,c[f+912+(w<<4)>>2]|0,c[f+912+(D<<4)+8>>2]|0,(c[f+912+(D<<4)+12>>2]|0)+(c[f+912+(w<<4)+4>>2]|0)|0);j=f+892|0;nc[J&31](O,E,c[G>>2]|0,i,c[j>>2]|0,c[f+1680+(w<<5)>>2]|0,c[f+1680+(D<<5)+16>>2]|0,(c[f+1680+(D<<5)+20>>2]|0)+(c[f+1680+(w<<5)+4>>2]|0)|0);nc[J&31](N,F,c[G>>2]|0,i,c[j>>2]|0,c[f+1680+(w<<5)+8>>2]|0,c[f+1680+(D<<5)+24>>2]|0,(c[f+1680+(D<<5)+28>>2]|0)+(c[f+1680+(w<<5)+12>>2]|0)|0);break}}else if((q|0)==58){F=c[e+25652>>2]|0;G=f+21780|0;u=c[G>>2]|0;E=(H(o<<1,u)|0)+(n<<1<<F)|0;C=k+E|0;D=l+E|0;E=m+E|0;A=(c[f+21788>>2]<<3)+n|0;B=f+21828|0;x=c[B>>2]|0;n=(s>>x<<3)+o|0;if(v){i=d[88656+g>>0]|0;v=a[f+28272+i>>0]|0;Q=(A<<3)+(b[f+27952+(i<<2)>>1]|0)|0;i=(n<<3)+(b[f+27952+(i<<2)+2>>1]|0)|0;t=i<<2&12|Q&3;z=Q>>2;l=i>>2;k=(H(l,u)|0)+(z<<F)|0;q=(c[f+23416+(v*40|0)>>2]|0)+k|0;m=c[e+26996>>2]<<4;y=c[e+26992>>2]<<4>>x;Q=(Q&7|0)==0?0:-3;i=(i&7|0)==0?0:-3;if((!((z|0)<(0-Q|0)|(l|0)<(0-i|0))?(z+16|0)<=(Q+m|0):0)?(l+16|0)<=(y+i|0):0){x=0;s=u}else{i=f+27792|0;x=2<<F;pc[c[e+8>>2]&3](c[i>>2]|0,q+(0-x)+(0-(u<<1))|0,u,u,21,21,z+-2|0,l+-2|0,m,y);s=c[G>>2]|0;q=(c[i>>2]|0)+x+(s<<1)|0;x=1}p=p+(t<<2)|0;gc[c[p>>2]&1023](C,q,s);t=(h|0)!=0;if(!t)gc[c[p>>2]&1023](C+j|0,q+j|0,c[G>>2]|0);q=(c[f+23416+(v*40|0)+4>>2]|0)+k|0;x=(x|0)!=0;if(x){Q=f+27792|0;i=2<<F;s=c[G>>2]|0;pc[c[e+8>>2]&3](c[Q>>2]|0,q+(0-i)+(0-(s<<1))|0,s,s,21,21,z+-2|0,l+-2|0,m,y);s=c[G>>2]|0;q=(c[Q>>2]|0)+i+(s<<1)|0}else s=c[G>>2]|0;gc[c[p>>2]&1023](D,q,s);if(!t)gc[c[p>>2]&1023](D+j|0,q+j|0,c[G>>2]|0);q=(c[f+23416+(v*40|0)+8>>2]|0)+k|0;if(x){Q=f+27792|0;i=2<<F;s=c[G>>2]|0;pc[c[e+8>>2]&3](c[Q>>2]|0,q+(0-i)+(0-(s<<1))|0,s,s,21,21,z+-2|0,l+-2|0,m,y);s=c[G>>2]|0;q=(c[Q>>2]|0)+i+(s<<1)|0}else s=c[G>>2]|0;gc[c[p>>2]&1023](E,q,s);if(t)p=r;else{gc[c[p>>2]&1023](E+j|0,q+j|0,c[G>>2]|0);p=r}}if(w|0){i=d[88656+g>>0]|0;m=a[f+28312+i>>0]|0;Q=(A<<3)+(b[f+28112+(i<<2)>>1]|0)|0;i=(n<<3)+(b[f+28112+(i<<2)+2>>1]|0)|0;x=i<<2&12|Q&3;y=Q>>2;z=i>>2;s=c[G>>2]|0;v=(H(z,s)|0)+(y<<F)|0;q=(c[f+25336+(m*40|0)>>2]|0)+v|0;l=c[e+26996>>2]<<4;k=c[e+26992>>2]<<4>>c[B>>2];Q=(Q&7|0)==0?0:-3;i=(i&7|0)==0?0:-3;if((!((y|0)<(0-Q|0)|(z|0)<(0-i|0))?(y+16|0)<=(l+Q|0):0)?(z+16|0)<=(k+i|0):0)t=0;else{i=f+27792|0;t=2<<F;pc[c[e+8>>2]&3](c[i>>2]|0,q+(0-t)+(0-(s<<1))|0,s,s,21,21,y+-2|0,z+-2|0,l,k);s=c[G>>2]|0;q=(c[i>>2]|0)+t+(s<<1)|0;t=1}u=p+(x<<2)|0;gc[c[u>>2]&1023](C,q,s);p=(h|0)!=0;if(!p)gc[c[u>>2]&1023](C+j|0,q+j|0,c[G>>2]|0);q=(c[f+25336+(m*40|0)+4>>2]|0)+v|0;x=(t|0)!=0;if(x){i=f+27792|0;h=2<<F;s=c[G>>2]|0;pc[c[e+8>>2]&3](c[i>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,z+-2|0,l,k);s=c[G>>2]|0;q=(c[i>>2]|0)+h+(s<<1)|0}else s=c[G>>2]|0;gc[c[u>>2]&1023](D,q,s);if(!p)gc[c[u>>2]&1023](D+j|0,q+j|0,c[G>>2]|0);q=(c[f+25336+(m*40|0)+8>>2]|0)+v|0;if(x){h=f+27792|0;f=2<<F;s=c[G>>2]|0;pc[c[e+8>>2]&3](c[h>>2]|0,q+(0-f)+(0-(s<<1))|0,s,s,21,21,y+-2|0,z+-2|0,l,k);s=c[G>>2]|0;q=(c[h>>2]|0)+f+(s<<1)|0}else s=c[G>>2]|0;gc[c[u>>2]&1023](E,q,s);if(!p)gc[c[u>>2]&1023](E+j|0,q+j|0,c[G>>2]|0)}}while(0);return}function Hc(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=Mb;Mb=Mb+112|0;y=z+96|0;v=z+88|0;t=z+80|0;s=z+64|0;x=z;u=(l|0)<9;do if(u)if((l|0)==4){w=c[275850]|0;m=g+8|0;r=c[m>>2]|0;o=(c[g>>2]|0)+(r>>>3)|0;o=(kS(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24|0)|0)<<(r&7)>>>24;n=b[w+(o<<2)>>1]|0;o=r+(b[w+(o<<2)+2>>1]|0)|0;break}else{w=c[275854]|0;m=g+8|0;r=c[m>>2]|0;o=(c[g>>2]|0)+(r>>>3)|0;o=(kS(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24|0)|0)<<(r&7)>>>19;n=b[w+(o<<2)>>1]|0;o=r+(b[w+(o<<2)+2>>1]|0)|0;break}else if((i|0)>47){r=75824+((DM(f,(i<<4)+-768|0)|0)<<2)|0;r=c[1009104+(c[r>>2]<<4)+4>>2]|0;m=g+8|0;q=c[m>>2]|0;o=c[g>>2]|0;w=o+(q>>>3)|0;w=(kS(d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24|0)|0)<<(q&7)>>>24;n=b[r+(w<<2)>>1]|0;w=b[r+(w<<2)+2>>1]|0;p=w<<16>>16;if(w<<16>>16<0){w=q+8|0;o=o+(w>>>3)|0;n=((kS(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24|0)|0)<<(w&7)>>>(p+32|0))+n|0;p=b[r+(n<<2)+2>>1]|0;o=w;n=b[r+(n<<2)>>1]|0}else o=q;o=p+o|0;break}else{r=75824+((DM(f,i)|0)<<2)|0;r=c[1009104+(c[r>>2]<<4)+4>>2]|0;m=g+8|0;q=c[m>>2]|0;p=c[g>>2]|0;w=p+(q>>>3)|0;w=(kS(d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24|0)|0)<<(q&7)>>>24;n=b[r+(w<<2)>>1]|0;w=b[r+(w<<2)+2>>1]|0;o=w<<16>>16;if(w<<16>>16<0){w=q+8|0;p=p+(w>>>3)|0;n=((kS(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0)<<(w&7)>>>(o+32|0))+n|0;o=b[r+(n<<2)+2>>1]|0;p=w;n=b[r+(n<<2)>>1]|0}else p=q;o=o+p|0;break}while(0);c[m>>2]=o;w=n>>2;a[(d[88656+i>>0]|0)+(f+27824)>>0]=w;a:do if(w){if(w>>>0>l>>>0){m=c[e+4>>2]|0;y=c[f+21792>>2]|0;c[s>>2]=c[f+21788>>2];c[s+4>>2]=y;c[s+8>>2]=w;Xw(m,16,196656,s);m=-1;break}o=n&3;s=PI(g,3)|0;fS(g,o);c[x>>2]=1-(s>>>1&2);c[x+4>>2]=1-(s&2);c[x+8>>2]=1-(s<<1&2);b:do if((o|0)<(w|0)){p=(o|0)!=3;n=(n|0)>43&p;q=n&1;r=PI(g,8)|0;s=a[1042016+(q<<9)+(r<<1)>>0]|0;m=s<<24>>24;fS(g,a[1042016+(q<<9)+(r<<1)+1>>0]|0);if(s<<24>>24>99){m=m+-100|0;if((m|0)==8)m=(Gw(g)|0)+8|0;do if((m|0)<14){if(n)m=(zN(g)|0)+(m<<1)|0}else{if((m|0)==14)if(n){m=(zN(g)|0)+28|0;break}else{m=(zG(g,4)|0)+14|0;break}do if((m|0)>15)if((m|0)>28){Xw(c[e+4>>2]|0,16,196701,t);m=-1;break a}else{n=m+-3|0;m=(1<<n)+-4066|0;break}else{m=30;n=12}while(0);m=(zG(g,n)|0)+m|0}while(0);t=p?m+2|0:m;m=t&1;n=2;m=(t+2>>1^0-m)+m|0}else{m=(p?m>>31|1:0)+m|0;n=(m+3|0)>>>0>6?2:1}c[x+(o<<2)>>2]=m;while(1){o=o+1|0;if((o|0)>=(w|0))break b;s=PI(g,8)|0;t=a[1042016+(n<<9)+(s<<1)>>0]|0;m=t<<24>>24;fS(g,a[1042016+(n<<9)+(s<<1)+1>>0]|0);if(t<<24>>24>99){m=m+-100|0;if((m|0)==8)m=(Gw(g)|0)+8|0;if((m|0)>=15){p=15<<n;if((m|0)==15){m=p;p=12}else{if((m|0)>28)break;t=m+-3|0;m=p+-4096+(1<<t)|0;p=t}}else{m=m<<n;p=n}t=(zG(g,p)|0)+m|0;m=t&1;m=(t+2>>1^0-m)+m|0}c[x+(o<<2)>>2]=m;t=c[75904+(n<<2)>>2]|0;n=n+((t+m|0)>>>0>t<<1>>>0&1)|0}Xw(c[e+4>>2]|0,16,196701,v);m=-1094995529;break a}while(0);if((w|0)==(l|0))m=0;else{do if(u)if((l|0)==4){v=c[1009264+(w<<4)+4>>2]|0;n=g+8|0;o=c[n>>2]|0;p=(c[g>>2]|0)+(o>>>3)|0;p=(kS(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0)<<(o&7)>>>29;m=b[v+(p<<2)>>1]|0;p=v+(p<<2)+2|0;break}else{v=c[1010224+(w<<4)+4>>2]|0;n=g+8|0;o=c[n>>2]|0;p=(c[g>>2]|0)+(o>>>3)|0;p=(kS(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0)<<(o&7)>>>27;m=b[v+(p<<2)>>1]|0;p=v+(p<<2)+2|0;break}else{v=c[1041072+(w<<4)+4>>2]|0;n=g+8|0;o=c[n>>2]|0;p=(c[g>>2]|0)+(o>>>3)|0;p=(kS(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0)<<(o&7)>>>23;m=b[v+(p<<2)>>1]|0;p=v+(p<<2)+2|0}while(0);c[n>>2]=o+(b[p>>1]|0)}o=j+(w+-1+m)|0;n=(i|0)>47;p=c[x>>2]|0;c:do if(!(c[e+25652>>2]|0))if(n){b[h+(d[o>>0]<<1)>>1]=p;l=g+8|0;n=1;while(1){if(!((n|0)<(w|0)&(m|0)>0))break;if((m|0)<7){k=c[1041520+(m<<4)+4>>2]|0;i=c[l>>2]|0;p=(c[g>>2]|0)+(i>>>3)|0;p=(kS(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0)<<(i&7)>>>29;q=b[k+(p<<2)>>1]|0;p=i+(b[k+(p<<2)+2>>1]|0)|0}else{t=c[275858]|0;s=c[l>>2]|0;q=c[g>>2]|0;k=q+(s>>>3)|0;k=(kS(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24|0)|0)<<(s&7)>>>26;p=b[t+(k<<2)>>1]|0;k=b[t+(k<<2)+2>>1]|0;r=k<<16>>16;if(k<<16>>16<0){s=s+6|0;k=q+(s>>>3)|0;p=((kS(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24|0)|0)<<(s&7)>>>(r+32|0))+p|0;r=b[t+(p<<2)+2>>1]|0;p=b[t+(p<<2)>>1]|0}q=p;p=r+s|0}c[l>>2]=p;k=o+~q|0;b[h+(d[k>>0]<<1)>>1]=c[x+(n<<2)>>2];m=m-q|0;o=k;n=n+1|0}while(1){if((n|0)>=(w|0))break c;g=o+-1|0;b[h+(d[g>>0]<<1)>>1]=c[x+(n<<2)>>2];o=g;n=n+1|0}}else{l=d[o>>0]|0;n=((H(c[k+(l<<2)>>2]|0,p)|0)+32|0)>>>6&65535;b[h+(l<<1)>>1]=n;l=g+8|0;n=1;while(1){if(!((n|0)<(w|0)&(m|0)>0))break;if((m|0)<7){i=c[1041520+(m<<4)+4>>2]|0;j=c[l>>2]|0;p=(c[g>>2]|0)+(j>>>3)|0;p=(kS(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0)<<(j&7)>>>29;q=b[i+(p<<2)>>1]|0;p=j+(b[i+(p<<2)+2>>1]|0)|0}else{t=c[275858]|0;s=c[l>>2]|0;q=c[g>>2]|0;i=q+(s>>>3)|0;i=(kS(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24|0)|0)<<(s&7)>>>26;p=b[t+(i<<2)>>1]|0;i=b[t+(i<<2)+2>>1]|0;r=i<<16>>16;if(i<<16>>16<0){s=s+6|0;i=q+(s>>>3)|0;p=((kS(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24|0)|0)<<(s&7)>>>(r+32|0))+p|0;r=b[t+(p<<2)+2>>1]|0;p=b[t+(p<<2)>>1]|0}q=p;p=r+s|0}c[l>>2]=p;i=o+~q|0;j=d[i>>0]|0;v=((H(c[k+(j<<2)>>2]|0,c[x+(n<<2)>>2]|0)|0)+32|0)>>>6&65535;b[h+(j<<1)>>1]=v;m=m-q|0;o=i;n=n+1|0}while(1){if((n|0)>=(w|0))break c;g=o+-1|0;i=d[g>>0]|0;j=((H(c[k+(i<<2)>>2]|0,c[x+(n<<2)>>2]|0)|0)+32|0)>>>6&65535;b[h+(i<<1)>>1]=j;o=g;n=n+1|0}}else if(n){c[h+(d[o>>0]<<2)>>2]=p;l=g+8|0;n=1;while(1){if(!((n|0)<(w|0)&(m|0)>0))break;if((m|0)<7){k=c[1041520+(m<<4)+4>>2]|0;i=c[l>>2]|0;p=(c[g>>2]|0)+(i>>>3)|0;p=(kS(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0)<<(i&7)>>>29;q=b[k+(p<<2)>>1]|0;p=i+(b[k+(p<<2)+2>>1]|0)|0}else{t=c[275858]|0;s=c[l>>2]|0;q=c[g>>2]|0;k=q+(s>>>3)|0;k=(kS(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24|0)|0)<<(s&7)>>>26;p=b[t+(k<<2)>>1]|0;k=b[t+(k<<2)+2>>1]|0;r=k<<16>>16;if(k<<16>>16<0){s=s+6|0;k=q+(s>>>3)|0;p=((kS(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24|0)|0)<<(s&7)>>>(r+32|0))+p|0;r=b[t+(p<<2)+2>>1]|0;p=b[t+(p<<2)>>1]|0}q=p;p=r+s|0}c[l>>2]=p;k=o+~q|0;c[h+(d[k>>0]<<2)>>2]=c[x+(n<<2)>>2];o=k;m=m-q|0;n=n+1|0}while(1){if((n|0)>=(w|0))break c;g=o+-1|0;c[h+(d[g>>0]<<2)>>2]=c[x+(n<<2)>>2];o=g;n=n+1|0}}else{l=d[o>>0]|0;n=(H(c[k+(l<<2)>>2]|0,p)|0)+32>>6;c[h+(l<<2)>>2]=n;l=g+8|0;n=1;while(1){if(!((n|0)<(w|0)&(m|0)>0))break;if((m|0)<7){i=c[1041520+(m<<4)+4>>2]|0;j=c[l>>2]|0;p=(c[g>>2]|0)+(j>>>3)|0;p=(kS(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0)<<(j&7)>>>29;q=b[i+(p<<2)>>1]|0;p=j+(b[i+(p<<2)+2>>1]|0)|0}else{t=c[275858]|0;s=c[l>>2]|0;q=c[g>>2]|0;i=q+(s>>>3)|0;i=(kS(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24|0)|0)<<(s&7)>>>26;p=b[t+(i<<2)>>1]|0;i=b[t+(i<<2)+2>>1]|0;r=i<<16>>16;if(i<<16>>16<0){s=s+6|0;i=q+(s>>>3)|0;p=((kS(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24|0)|0)<<(s&7)>>>(r+32|0))+p|0;r=b[t+(p<<2)+2>>1]|0;p=b[t+(p<<2)>>1]|0}q=p;p=r+s|0}c[l>>2]=p;i=o+~q|0;j=d[i>>0]|0;v=(H(c[k+(j<<2)>>2]|0,c[x+(n<<2)>>2]|0)|0)+32>>6;c[h+(j<<2)>>2]=v;o=i;m=m-q|0;n=n+1|0}while(1){if((n|0)>=(w|0))break c;g=o+-1|0;i=d[g>>0]|0;j=(H(c[k+(i<<2)>>2]|0,c[x+(n<<2)>>2]|0)|0)+32>>6;c[h+(i<<2)>>2]=j;o=g;n=n+1|0}}while(0);if((m|0)<0){m=c[e+4>>2]|0;e=c[f+21792>>2]|0;c[y>>2]=c[f+21788>>2];c[y+4>>2]=e;Xw(m,16,196723,y);m=-1}else m=0}else m=0;while(0);Mb=z;return m|0}function Ic(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;u=c[f+21796>>2]|0;o=d+27e3|0;m=c[o>>2]|0;h=u-(m<<c[f+21828>>2])|0;j=u+-1|0;n=d+26360|0;do if(!(c[n>>2]|0)){t=j;s=j}else{i=c[d+24364>>2]|0;k=c[i+(j<<2)>>2]&128;l=g&128;if(c[f+21792>>2]&1|0){t=j-((k|0)==(l|0)?0:m)|0;s=j;break}if(l)h=(((c[i+(h<<2)>>2]|0)>>>7&1)+-1&m)+h|0;t=j;s=((k|0)==(l|0)?0:m)+j|0}while(0);c[f+21712>>2]=h;c[f+21720>>2]=t;c[f+21724>>2]=s;i=c[f+860>>2]|0;j=c[d+24340>>2]|0;k=a[j+u>>0]|0;do if((i|0)>=(k|0)){l=(t|0)<0;if(!l?(k+1+(a[j+t>>0]|0)>>1|0)>(i|0):0){p=17;break}if((h|0)>=0?(k+1+(a[j+h>>0]|0)>>1|0)>(i|0):0){p=17;break}if(c[n>>2]|0){if(!l?(k+1+(a[j+s>>0]|0)>>1|0)>(i|0):0){p=17;break}r=c[o>>2]|0;if((h|0)>=(r|0)?(k+1+(a[j+(h-r)>>0]|0)>>1|0)>(i|0):0)p=17;else h=1}else h=1}else p=17;while(0);if((p|0)==17){l=c[d+24364>>2]|0;i=c[l+(h<<2)>>2]|0;k=c[l+(t<<2)>>2]|0;l=c[l+(s<<2)>>2]|0;o=d+26356|0;j=c[o>>2]|0;n=b[j+(h<<1)>>1]|0;if((c[f+868>>2]|0)==2){r=c[f+832>>2]|0;p=(r|0)==(e[j+(s<<1)>>1]|0);r=(r|0)==(n&65535|0)?i:0;q=p?k:0;p=p?l:0}else{p=(b[j+(s<<1)>>1]|0)==-1;r=n<<16>>16==-1?0:i;q=p?0:k;p=p?0:l}c[f+21732>>2]=r;c[f+21740>>2]=q;c[f+21744>>2]=p;if(!(g&7)){i=d+26352|0;j=c[i>>2]|0;k=f+28e3|0;l=f+28284|0;m=(g&376|0)==0;do if(!m){if(!(r&12288)){n=f+27968|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[f+28276>>2]=-1}else{y=(c[(c[d+26344>>2]|0)+(h<<2)>>2]|0)+(j*3|0)|0;v=h<<2;w=d+29920+((n&31)<<9)+(((c[f+21832>>2]|0)==0?2:20)<<2)|0;x=d+24352|0;A=(c[x>>2]|0)+(y<<2)|0;z=c[A+4>>2]|0;n=f+27968|0;c[n>>2]=c[A>>2];c[n+4>>2]=z;y=(c[x>>2]|0)+(y<<2)+8|0;x=c[y+4>>2]|0;n=f+27976|0;c[n>>2]=c[y>>2];c[n+4>>2]=x;n=d+24384|0;x=c[w+(a[(c[n>>2]|0)+(v|2)>>0]<<2)>>2]&255;a[f+28277>>0]=x;a[f+28276>>0]=x;n=c[w+(a[(c[n>>2]|0)+(v|3)>>0]<<2)>>2]&255;a[f+28279>>0]=n;a[f+28278>>0]=n}if(!((q^g)&128))if(!(q&12288)){c[f+27996>>2]=0;c[f+28028>>2]=0;c[f+28060>>2]=0;c[f+28092>>2]=0;a[f+28307>>0]=-1;a[f+28299>>0]=-1;a[f+28291>>0]=-1;a[f+28283>>0]=-1;break}else{z=(c[(c[d+26344>>2]|0)+(t<<2)>>2]|0)+3|0;A=t<<2;y=d+29920+((b[(c[o>>2]|0)+(t<<1)>>1]&31)<<9)+(((c[f+21832>>2]|0)==0?2:20)<<2)|0;x=d+24352|0;c[f+27996>>2]=c[(c[x>>2]|0)+(z<<2)>>2];c[f+28028>>2]=c[(c[x>>2]|0)+(z+j<<2)>>2];c[f+28060>>2]=c[(c[x>>2]|0)+(z+(j<<1)<<2)>>2];c[f+28092>>2]=c[(c[x>>2]|0)+(z+(j*3|0)<<2)>>2];z=d+24384|0;x=c[y+(a[(c[z>>2]|0)+(A|1)>>0]<<2)>>2]&255;a[f+28291>>0]=x;a[f+28283>>0]=x;A=c[y+(a[(c[z>>2]|0)+(A|3)>>0]<<2)>>2]&255;a[f+28307>>0]=A;a[f+28299>>0]=A;break}}while(0);if(!(g&12288)){y=f+28032|0;z=f+28064|0;A=f+28096|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[l>>2]=-1;c[f+28292>>2]=-1;c[f+28300>>2]=-1;c[f+28308>>2]=-1}else{y=(c[d+24384>>2]|0)+(u<<2)|0;A=d+29920+((c[f+832>>2]&31)<<9)+(((c[f+21832>>2]|0)==0?2:20)<<2)|0;x=(c[A+(a[y+1>>0]<<2)>>2]<<16&16711680|c[A+(a[y>>0]<<2)>>2]&255)*257|0;y=(c[A+(a[y+3>>0]<<2)>>2]<<16&16711680|c[A+(a[y+2>>0]<<2)>>2]&255)*257|0;c[l>>2]=x;c[f+28292>>2]=x;c[f+28300>>2]=y;c[f+28308>>2]=y;y=(c[d+24352>>2]|0)+((H(c[f+21792>>2]|0,j)|0)+(c[f+21788>>2]|0)<<2<<2)|0;x=y;A=c[x+4>>2]|0;z=k;c[z>>2]=c[x>>2];c[z+4>>2]=A;z=y+8|0;A=c[z+4>>2]|0;x=f+28008|0;c[x>>2]=c[z>>2];c[x+4>>2]=A;x=y+(j<<2)|0;A=x;z=c[A+4>>2]|0;w=f+28032|0;c[w>>2]=c[A>>2];c[w+4>>2]=z;x=x+8|0;w=c[x+4>>2]|0;z=f+28040|0;c[z>>2]=c[x>>2];c[z+4>>2]=w;z=y+(j<<1<<2)|0;w=z;x=c[w+4>>2]|0;A=f+28064|0;c[A>>2]=c[w>>2];c[A+4>>2]=x;z=z+8|0;A=c[z+4>>2]|0;x=f+28072|0;c[x>>2]=c[z>>2];c[x+4>>2]=A;y=y+(j*3<<2)|0;x=y;A=c[x+4>>2]|0;z=f+28096|0;c[z>>2]=c[x>>2];c[z+4>>2]=A;y=y+8|0;z=c[y+4>>2]|0;A=f+28104|0;c[A>>2]=c[y>>2];c[A+4>>2]=z}do if((c[f+23412>>2]|0)==2){i=c[i>>2]|0;j=f+28160|0;k=f+28324|0;do if(!m){if(!(r&49152)){A=f+28128|0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[f+28316>>2]=-1}else{w=(c[(c[d+26344>>2]|0)+(h<<2)>>2]|0)+(i*3|0)|0;A=h<<2;y=d+29920+((b[(c[o>>2]|0)+(h<<1)>>1]&31)<<9)+256+(((c[f+21832>>2]|0)==0?2:20)<<2)|0;x=d+24356|0;n=(c[x>>2]|0)+(w<<2)|0;v=c[n+4>>2]|0;z=f+28128|0;c[z>>2]=c[n>>2];c[z+4>>2]=v;w=(c[x>>2]|0)+(w<<2)+8|0;x=c[w+4>>2]|0;z=f+28136|0;c[z>>2]=c[w>>2];c[z+4>>2]=x;z=d+24388|0;x=c[y+(a[(c[z>>2]|0)+(A|2)>>0]<<2)>>2]&255;a[f+28317>>0]=x;a[f+28316>>0]=x;A=c[y+(a[(c[z>>2]|0)+(A|3)>>0]<<2)>>2]&255;a[f+28319>>0]=A;a[f+28318>>0]=A}if(!((q^g)&128))if(!(q&49152)){c[f+28156>>2]=0;c[f+28188>>2]=0;c[f+28220>>2]=0;c[f+28252>>2]=0;a[f+28347>>0]=-1;a[f+28339>>0]=-1;a[f+28331>>0]=-1;a[f+28323>>0]=-1;break}else{z=(c[(c[d+26344>>2]|0)+(t<<2)>>2]|0)+3|0;A=t<<2;y=d+29920+((b[(c[o>>2]|0)+(t<<1)>>1]&31)<<9)+256+(((c[f+21832>>2]|0)==0?2:20)<<2)|0;x=d+24356|0;c[f+28156>>2]=c[(c[x>>2]|0)+(z<<2)>>2];c[f+28188>>2]=c[(c[x>>2]|0)+(z+i<<2)>>2];c[f+28220>>2]=c[(c[x>>2]|0)+(z+(i<<1)<<2)>>2];c[f+28252>>2]=c[(c[x>>2]|0)+(z+(i*3|0)<<2)>>2];z=d+24388|0;x=c[y+(a[(c[z>>2]|0)+(A|1)>>0]<<2)>>2]&255;a[f+28331>>0]=x;a[f+28323>>0]=x;A=c[y+(a[(c[z>>2]|0)+(A|3)>>0]<<2)>>2]&255;a[f+28347>>0]=A;a[f+28339>>0]=A;break}}while(0);if(!(g&49152)){y=f+28192|0;z=f+28224|0;A=f+28256|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[k>>2]=-1;c[f+28332>>2]=-1;c[f+28340>>2]=-1;c[f+28348>>2]=-1;break}else{y=(c[d+24388>>2]|0)+(u<<2)|0;A=d+29920+((c[f+832>>2]&31)<<9)+256+(((c[f+21832>>2]|0)==0?2:20)<<2)|0;x=(c[A+(a[y+1>>0]<<2)>>2]<<16&16711680|c[A+(a[y>>0]<<2)>>2]&255)*257|0;y=(c[A+(a[y+3>>0]<<2)>>2]<<16&16711680|c[A+(a[y+2>>0]<<2)>>2]&255)*257|0;c[k>>2]=x;c[f+28332>>2]=x;c[f+28340>>2]=y;c[f+28348>>2]=y;y=(c[d+24356>>2]|0)+((H(c[f+21792>>2]|0,i)|0)+(c[f+21788>>2]|0)<<2<<2)|0;x=y;A=c[x+4>>2]|0;z=j;c[z>>2]=c[x>>2];c[z+4>>2]=A;z=y+8|0;A=c[z+4>>2]|0;x=f+28168|0;c[x>>2]=c[z>>2];c[x+4>>2]=A;x=y+(i<<2)|0;A=x;z=c[A+4>>2]|0;w=f+28192|0;c[w>>2]=c[A>>2];c[w+4>>2]=z;x=x+8|0;w=c[x+4>>2]|0;z=f+28200|0;c[z>>2]=c[x>>2];c[z+4>>2]=w;z=y+(i<<1<<2)|0;w=z;x=c[w+4>>2]|0;A=f+28224|0;c[A>>2]=c[w>>2];c[A+4>>2]=x;z=z+8|0;A=c[z+4>>2]|0;x=f+28232|0;c[x>>2]=c[z>>2];c[x+4>>2]=A;y=y+(i*3<<2)|0;x=y;A=c[x+4>>2]|0;z=f+28256|0;c[z>>2]=c[x>>2];c[z+4>>2]=A;y=y+8|0;z=c[y+4>>2]|0;A=f+28264|0;c[A>>2]=c[y>>2];c[A+4>>2]=z;break}}while(0);j=d+25956|0;o=c[j>>2]|0;k=f+27836|0;c[k>>2]=c[o+(u*48|0)>>2];l=f+27844|0;c[l>>2]=c[o+(u*48|0)+4>>2];m=f+27852|0;c[m>>2]=c[o+(u*48|0)+8>>2];n=f+27860|0;c[n>>2]=c[o+(u*48|0)+12>>2];o=d+26376|0;i=e[(c[o>>2]|0)+(u<<1)>>1]|0;c[f+21856>>2]=i;if(r|0)c[f+27828>>2]=c[(c[j>>2]|0)+(h*48|0)+12>>2];if(q|0){A=c[j>>2]|0;a[f+27835>>0]=a[A+(t*48|0)+3>>0]|0;a[f+27843>>0]=a[A+(t*48|0)+7>>0]|0;a[f+27851>>0]=a[A+(t*48|0)+11>>0]|0;a[f+27859>>0]=a[A+(t*48|0)+15>>0]|0}A=c[d+28196>>2]|0;if((c[A+4>>2]|0)==0?(c[A+64>>2]|0)!=0:0){if(r&16777216|0){A=(e[(c[o>>2]|0)+(h<<1)>>1]|0)>>>12&4;a[f+27829>>0]=A;a[f+27828>>0]=A;A=(e[(c[o>>2]|0)+(h<<1)>>1]|0)>>>12&8;a[f+27831>>0]=A;a[f+27830>>0]=A}if(q&16777216|0){A=(e[(c[o>>2]|0)+(t<<1)>>1]|0)>>>12&2;a[f+27843>>0]=A;a[f+27835>>0]=A}if(p&16777216|0){A=(e[(c[o>>2]|0)+(s<<1)>>1]|0)>>>12&8;a[f+27859>>0]=A;a[f+27851>>0]=A}if(g&16777216){h=i>>>12;A=h&1;a[f+27845>>0]=A;a[l>>0]=A;a[f+27837>>0]=A;a[k>>0]=A;A=h&2;a[f+27847>>0]=A;a[f+27846>>0]=A;a[f+27839>>0]=A;a[f+27838>>0]=A;A=h&4;a[f+27861>>0]=A;a[n>>0]=A;a[f+27853>>0]=A;a[m>>0]=A;h=h&8;a[f+27863>>0]=h;a[f+27862>>0]=h;a[f+27855>>0]=h;a[f+27854>>0]=h;h=0}else h=0}else h=0}else h=0}return h|0}function Jc(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;aa=e+21792|0;_=b+26360|0;h=c[_>>2]|0;ba=h+(c[aa>>2]|0)|0;ca=e+836|0;$=c[ca>>2]|0;X=b+25652|0;Y=c[X>>2]|0;Z=16>>>(c[b+25668>>2]|0);if(!(c[b+25692>>2]|0)){a:do if(!(c[e+868>>2]|0)){l=b+28196|0;k=e+852|0;j=e+856|0;i=e+21788|0}else{J=b+27e3|0;K=e+21796|0;L=b+24364|0;i=e+21788|0;M=b+24316|0;N=e+21772|0;O=b+28200|0;P=e+21776|0;Q=e+21828|0;R=e+21832|0;S=e+21780|0;T=e+21784|0;U=1-Z|0;l=b+28196|0;V=b+24340|0;k=e+852|0;j=e+856|0;W=e+27796|0;while(1){h=c[_>>2]|0;if((f|0)>=(g|0))break a;I=f<<Y;E=ba-h|0;while(1){if((E|0)>(ba|0))break;F=(H(c[J>>2]|0,E)|0)+f|0;c[K>>2]=F;G=c[(c[L>>2]|0)+(F<<2)>>2]|0;s=(c[_>>2]|0)==0;h=G>>>7&1;if(s)h=c[Q>>2]|0;else{c[Q>>2]=h;c[R>>2]=h}c[i>>2]=f;c[aa>>2]=E;C=c[M>>2]|0;p=c[N>>2]|0;m=(c[C>>2]|0)+((H(p,E)|0)+I<<4)|0;r=c[(c[O>>2]|0)+12>>2]|0;z=(r|0)==3;D=H(8<<(z&1),I)|0;q=c[P>>2]|0;o=H(H(E,Z)|0,q)|0;n=(c[C+4>>2]|0)+D+o|0;o=(c[C+8>>2]|0)+D+o|0;if(!h){c[S>>2]=p;c[T>>2]=q;D=m;C=q}else{B=p<<1;c[S>>2]=B;C=q<<1;c[T>>2]=C;y=(E&1|0)==0;D=m+(H(p,-15)|0)|0;p=H(U,q)|0;D=y?m:D;n=y?n:n+p|0;o=y?o:o+p|0;p=B}w=c[X>>2]|0;x=(r|0)==2;v=D+(0-p)|0;B=0-C|0;y=n+B|0;B=o+B|0;do if(!s){h=(c[R>>2]|0)!=0;if(!(E&1))if(h){h=0;A=31;break}else break;if(!h){s=c[W>>2]|0;h=v+(p*15|0)|0;t=h;A=c[t+4>>2]|0;u=s+(f*96|0)|0;c[u>>2]=c[t>>2];c[u+4>>2]=A;u=h+8|0;A=c[u+4>>2]|0;t=s+(f*96|0)+8|0;c[t>>2]=c[u>>2];c[t+4>>2]=A;t=(w|0)!=0;h=h+16|0;if(t){A=h;u=c[A+4>>2]|0;r=s+(f*96|0)+16|0;c[r>>2]=c[A>>2];c[r+4>>2]=u;r=h+8|0;u=c[r+4>>2]|0;A=s+(f*96|0)+24|0;c[A>>2]=c[r>>2];c[A+4>>2]=u}if(z){h=C*15|0;m=y+h|0;r=m;q=c[r>>2]|0;r=c[r+4>>2]|0;if(t){u=s+(f*96|0)+32|0;c[u>>2]=q;c[u+4>>2]=r;u=m+8|0;r=c[u+4>>2]|0;A=s+(f*96|0)+40|0;c[A>>2]=c[u>>2];c[A+4>>2]=r;A=m+16|0;r=A;u=c[r+4>>2]|0;t=s+(f*96|0)+48|0;c[t>>2]=c[r>>2];c[t+4>>2]=u;A=A+8|0;t=c[A+4>>2]|0;u=s+(f*96|0)+56|0;c[u>>2]=c[A>>2];c[u+4>>2]=t;u=B+h|0;t=u;h=c[t+4>>2]|0;A=s+(f*96|0)+64|0;c[A>>2]=c[t>>2];c[A+4>>2]=h;A=u+8|0;h=c[A+4>>2]|0;t=s+(f*96|0)+72|0;c[t>>2]=c[A>>2];c[t+4>>2]=h;u=u+16|0;t=u;h=c[t+4>>2]|0;A=s+(f*96|0)+80|0;c[A>>2]=c[t>>2];c[A+4>>2]=h;u=u+8|0;A=c[u+4>>2]|0;h=s+(f*96|0)+88|0;c[h>>2]=c[u>>2];c[h+4>>2]=A;h=1;A=31;break}else{A=s+(f*96|0)+16|0;c[A>>2]=q;c[A+4>>2]=r;A=m+8|0;t=c[A+4>>2]|0;u=s+(f*96|0)+24|0;c[u>>2]=c[A>>2];c[u+4>>2]=t;u=B+h|0;t=u;h=c[t+4>>2]|0;A=s+(f*96|0)+32|0;c[A>>2]=c[t>>2];c[A+4>>2]=h;u=u+8|0;A=c[u+4>>2]|0;h=s+(f*96|0)+40|0;c[h>>2]=c[u>>2];c[h+4>>2]=A;h=1;A=31;break}}if(x){h=C*15|0;m=y+h|0;r=m;q=c[r>>2]|0;r=c[r+4>>2]|0;if(t){A=s+(f*96|0)+32|0;c[A>>2]=q;c[A+4>>2]=r;A=m+8|0;t=c[A+4>>2]|0;u=s+(f*96|0)+40|0;c[u>>2]=c[A>>2];c[u+4>>2]=t;u=B+h|0;t=u;h=c[t+4>>2]|0;A=s+(f*96|0)+48|0;c[A>>2]=c[t>>2];c[A+4>>2]=h;u=u+8|0;A=c[u+4>>2]|0;h=s+(f*96|0)+56|0;c[h>>2]=c[u>>2];c[h+4>>2]=A;h=1;A=31;break}else{u=s+(f*96|0)+16|0;c[u>>2]=q;c[u+4>>2]=r;u=B+h|0;A=c[u+4>>2]|0;h=s+(f*96|0)+24|0;c[h>>2]=c[u>>2];c[h+4>>2]=A;h=1;A=31;break}}else{h=C*7|0;m=y+h|0;r=m;q=c[r>>2]|0;r=c[r+4>>2]|0;if(t){A=s+(f*96|0)+32|0;c[A>>2]=q;c[A+4>>2]=r;A=m+8|0;t=c[A+4>>2]|0;u=s+(f*96|0)+40|0;c[u>>2]=c[A>>2];c[u+4>>2]=t;u=B+h|0;t=u;h=c[t+4>>2]|0;A=s+(f*96|0)+48|0;c[A>>2]=c[t>>2];c[A+4>>2]=h;u=u+8|0;A=c[u+4>>2]|0;h=s+(f*96|0)+56|0;c[h>>2]=c[u>>2];c[h+4>>2]=A;h=1;A=31;break}else{u=s+(f*96|0)+16|0;c[u>>2]=q;c[u+4>>2]=r;u=B+h|0;A=c[u+4>>2]|0;h=s+(f*96|0)+24|0;c[h>>2]=c[u>>2];c[h+4>>2]=A;h=1;A=31;break}}}else{h=1;A=31}}else{h=1;A=31}while(0);if((A|0)==31){A=0;t=c[e+27796+(h<<2)>>2]|0;u=c[i>>2]|0;r=p<<4;h=v+r|0;s=h;v=c[s+4>>2]|0;q=t+(u*96|0)|0;c[q>>2]=c[s>>2];c[q+4>>2]=v;q=h+8|0;v=c[q+4>>2]|0;s=t+(u*96|0)+8|0;c[s>>2]=c[q>>2];c[s+4>>2]=v;s=(w|0)!=0;h=h+16|0;if(s){w=h;v=c[w+4>>2]|0;q=t+(u*96|0)+16|0;c[q>>2]=c[w>>2];c[q+4>>2]=v;q=h+8|0;v=c[q+4>>2]|0;w=t+(u*96|0)+24|0;c[w>>2]=c[q>>2];c[w+4>>2]=v}do if(z){h=y+r|0;q=h;m=c[q>>2]|0;q=c[q+4>>2]|0;if(s){z=t+(u*96|0)+32|0;c[z>>2]=m;c[z+4>>2]=q;z=h+8|0;y=c[z+4>>2]|0;m=t+(u*96|0)+40|0;c[m>>2]=c[z>>2];c[m+4>>2]=y;m=h+16|0;y=m;h=c[y+4>>2]|0;z=t+(u*96|0)+48|0;c[z>>2]=c[y>>2];c[z+4>>2]=h;m=m+8|0;z=c[m+4>>2]|0;h=t+(u*96|0)+56|0;c[h>>2]=c[m>>2];c[h+4>>2]=z;h=B+r|0;z=h;B=c[z+4>>2]|0;m=t+(u*96|0)+64|0;c[m>>2]=c[z>>2];c[m+4>>2]=B;m=h+8|0;B=c[m+4>>2]|0;z=t+(u*96|0)+72|0;c[z>>2]=c[m>>2];c[z+4>>2]=B;h=h+16|0;z=h;B=c[z+4>>2]|0;m=t+(u*96|0)+80|0;c[m>>2]=c[z>>2];c[m+4>>2]=B;h=h+8|0;m=88;break}else{z=t+(u*96|0)+16|0;c[z>>2]=m;c[z+4>>2]=q;m=h+8|0;z=c[m+4>>2]|0;h=t+(u*96|0)+24|0;c[h>>2]=c[m>>2];c[h+4>>2]=z;h=B+r|0;z=h;B=c[z+4>>2]|0;m=t+(u*96|0)+32|0;c[m>>2]=c[z>>2];c[m+4>>2]=B;h=h+8|0;m=40;break}}else if(x){r=C<<4;h=y+r|0;q=h;m=c[q>>2]|0;q=c[q+4>>2]|0;if(s){z=t+(u*96|0)+32|0;c[z>>2]=m;c[z+4>>2]=q;m=h+8|0;z=c[m+4>>2]|0;h=t+(u*96|0)+40|0;c[h>>2]=c[m>>2];c[h+4>>2]=z;h=B+r|0;z=h;B=c[z+4>>2]|0;m=t+(u*96|0)+48|0;c[m>>2]=c[z>>2];c[m+4>>2]=B;h=h+8|0;m=56;break}else{h=t+(u*96|0)+16|0;c[h>>2]=m;c[h+4>>2]=q;h=B+r|0;m=24;break}}else{r=C<<3;h=y+r|0;q=h;m=c[q>>2]|0;q=c[q+4>>2]|0;if(s){z=t+(u*96|0)+32|0;c[z>>2]=m;c[z+4>>2]=q;m=h+8|0;z=c[m+4>>2]|0;h=t+(u*96|0)+40|0;c[h>>2]=c[m>>2];c[h+4>>2]=z;h=B+r|0;z=h;B=c[z+4>>2]|0;m=t+(u*96|0)+48|0;c[m>>2]=c[z>>2];c[m+4>>2]=B;h=h+8|0;m=56;break}else{h=t+(u*96|0)+16|0;c[h>>2]=m;c[h+4>>2]=q;h=B+r|0;m=24;break}}while(0);y=h;z=c[y+4>>2]|0;B=t+(u*96|0)+m|0;c[B>>2]=c[y>>2];c[B+4>>2]=z}do if(!(Ic(b,e,G)|0)){G=c[l>>2]|0;F=(c[V>>2]|0)+F|0;c[k>>2]=d[(a[F>>0]|0)+(G+548)>>0];c[j>>2]=d[(a[F>>0]|0)+(G+636)>>0];if(!(c[_>>2]|0)){sc(b,e,f,E,D,n,o,p,C);break}else{tc(b,e,f,E,D,n,o,p,C);break}}while(0);E=E+1|0}f=f+1|0}}while(0);c[ca>>2]=$;c[i>>2]=g;c[aa>>2]=ba-h;ba=c[l>>2]|0;ca=c[e+848>>2]|0;c[k>>2]=d[ba+548+ca>>0];c[j>>2]=d[ba+636+ca>>0]}return}function Kc(e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;var x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;O=f+880|0;y=c[O>>2]|0;A=(v|0)!=0;B=(w|0)!=0;if(B&(A&(y|0)==2)){U=d[88656+g>>0]|0;x=f+21792|0;y=c[x>>2]|0;if((c[f+3216+((a[f+28272+U>>0]|0)*384|0)+(a[f+28312+U>>0]<<3)+((y&1)<<2)>>2]|0)==32)x=37;else{N=x;x=4}}else{x=f+21792|0;z=c[x>>2]|0;if((y|0)==1){N=x;y=z;x=4}else{y=z;x=37}}do if((x|0)==4){E=c[t>>2]|0;D=c[t+4>>2]|0;M=c[u>>2]|0;L=c[u+4>>2]|0;P=c[e+25652>>2]|0;Q=o<<1;U=f+21780|0;F=c[U>>2]|0;S=k+((H(F,Q)|0)+(n<<1<<P))|0;T=f+21784|0;x=c[T>>2]|0;Q=(H(x,Q)|0)+(n<<P)|0;R=l+Q|0;Q=m+Q|0;z=(c[f+21788>>2]<<3)+n|0;r=f+21828|0;k=c[r>>2]|0;y=(y>>k<<3)+o|0;if(!(A&B)){n=B&1;A=d[88656+g>>0]|0;m=a[f+28272+(n*40|0)+A>>0]|0;u=(z<<3)+(b[f+27952+(n*160|0)+(A<<2)>>1]|0)|0;A=(y<<3)+(b[f+27952+(n*160|0)+(A<<2)+2>>1]|0)|0;t=A<<2&12|u&3;x=u>>2;B=A>>2;z=(H(B,F)|0)+(x<<P)|0;z=(c[f+23416+(n*1920|0)+(m*40|0)>>2]|0)+z|0;C=c[e+26996>>2]|0;y=C<<4;k=c[e+26992>>2]<<4>>k;l=u&7;N=(l|0)==0?0:-3;O=(A&7|0)==0?0:-3;if((!((x|0)<(0-N|0)|(B|0)<(0-O|0))?(x+16|0)<=(N+y|0):0)?(B+16|0)<=(k+O|0):0){v=0;y=F}else{O=f+27792|0;v=2<<P;pc[c[e+8>>2]&3](c[O>>2]|0,z+(0-v)+(0-(F<<1))|0,F,F,21,21,x+-2|0,B+-2|0,y,k);y=c[U>>2]|0;z=(c[O>>2]|0)+v+(y<<1)|0;v=1}x=p+(t<<2)|0;gc[c[x>>2]&1023](S,z,y);if(!h)gc[c[x>>2]&1023](S+j|0,z+j|0,c[U>>2]|0);u=u>>3;t=u<<P;y=c[T>>2]|0;x=H(y,B)|0;z=(c[f+23416+(n*1920|0)+(m*40|0)+4>>2]|0)+t+x|0;x=(c[f+23416+(n*1920|0)+(m*40|0)+8>>2]|0)+t+x|0;t=f+27792|0;if(!v){e=A<<1&6;kc[q&63](R,z,y,i,l,e);y=e}else{j=C<<3;h=e+8|0;pc[c[h>>2]&3](c[t>>2]|0,z,y,y,9,17,u,B,j,k);y=A<<1&6;kc[q&63](R,c[t>>2]|0,c[T>>2]|0,i,l,y);e=c[T>>2]|0;pc[c[h>>2]&3](c[t>>2]|0,x,e,e,9,17,u,B,j,k);x=c[t>>2]|0}kc[q&63](Q,x,c[T>>2]|0,i,l,y);kc[E&63](S,c[U>>2]|0,i,c[f+888>>2]|0,c[f+912+(m<<4)+(n<<3)>>2]|0,c[f+912+(m<<4)+(n<<3)+4>>2]|0);if(!(c[f+884>>2]|0))break;e=f+892|0;kc[D&63](R,c[T>>2]|0,i,c[e>>2]|0,c[f+1680+(m<<5)+(n<<4)>>2]|0,c[f+1680+(m<<5)+(n<<4)+4>>2]|0);kc[D&63](Q,c[T>>2]|0,i,c[e>>2]|0,c[f+1680+(m<<5)+(n<<4)+8>>2]|0,c[f+1680+(m<<5)+(n<<4)+12>>2]|0);break}J=c[f+27788>>2]|0;K=J+(16<<P)|0;I=J+(x<<4)|0;o=d[88656+g>>0]|0;w=a[f+28272+o>>0]|0;G=a[f+28312+o>>0]|0;m=z<<3;v=m+(b[f+27952+(o<<2)>>1]|0)|0;n=y<<3;C=n+(b[f+27952+(o<<2)+2>>1]|0)|0;t=C<<2&12|v&3;x=v>>2;A=C>>2;y=(H(A,F)|0)+(x<<P)|0;y=(c[f+23416+(w*40|0)>>2]|0)+y|0;D=e+26996|0;B=c[D>>2]|0;z=B<<4;s=e+26992|0;k=c[s>>2]<<4>>k;l=v&7;E=(l|0)==0?0:-3;g=(C&7|0)==0?0:-3;if((!((x|0)<(0-E|0)|(A|0)<(0-g|0))?(x+16|0)<=(E+z|0):0)?(A+16|0)<=(k+g|0):0){z=y;u=0;y=F}else{g=f+27792|0;u=2<<P;pc[c[e+8>>2]&3](c[g>>2]|0,y+(0-u)+(0-(F<<1))|0,F,F,21,21,x+-2|0,A+-2|0,z,k);y=c[U>>2]|0;z=(c[g>>2]|0)+u+(y<<1)|0;u=1}x=p+(t<<2)|0;gc[c[x>>2]&1023](S,z,y);E=(h|0)!=0;if(!E)gc[c[x>>2]&1023](S+j|0,z+j|0,c[U>>2]|0);y=v>>3;F=y<<P;z=c[T>>2]|0;x=H(z,A)|0;t=(c[f+23416+(w*40|0)+4>>2]|0)+F+x|0;x=(c[f+23416+(w*40|0)+8>>2]|0)+F+x|0;F=f+27792|0;if(!u){y=C<<1&6;kc[q&63](R,t,z,i,l,y)}else{g=B<<3;B=e+8|0;pc[c[B>>2]&3](c[F>>2]|0,t,z,z,9,17,y,A,g,k);h=C<<1&6;kc[q&63](R,c[F>>2]|0,c[T>>2]|0,i,l,h);C=c[T>>2]|0;pc[c[B>>2]&3](c[F>>2]|0,x,C,C,9,17,y,A,g,k);x=c[F>>2]|0;y=h}kc[q&63](Q,x,c[T>>2]|0,i,l,y);A=m+(b[f+28112+(o<<2)>>1]|0)|0;l=n+(b[f+28112+(o<<2)+2>>1]|0)|0;v=l<<2&12|A&3;t=A>>2;m=l>>2;y=c[U>>2]|0;z=(H(m,y)|0)+(t<<P)|0;z=(c[f+25336+(G*40|0)>>2]|0)+z|0;B=c[D>>2]|0;x=B<<4;k=c[s>>2]<<4>>c[r>>2];C=A&7;g=(C|0)==0?0:-3;h=(l&7|0)==0?0:-3;if((!((t|0)<(0-g|0)|(m|0)<(0-h|0))?(t+16|0)<=(x+g|0):0)?(m+16|0)<=(k+h|0):0)u=0;else{u=2<<P;pc[c[e+8>>2]&3](c[F>>2]|0,z+(0-u)+(0-(y<<1))|0,y,y,21,21,t+-2|0,m+-2|0,x,k);y=c[U>>2]|0;z=(c[F>>2]|0)+u+(y<<1)|0;u=1}x=p+(v<<2)|0;gc[c[x>>2]&1023](I,z,y);if(!E)gc[c[x>>2]&1023](I+j|0,z+j|0,c[U>>2]|0);t=A>>3;j=t<<P;y=c[T>>2]|0;x=H(y,m)|0;z=(c[f+25336+(G*40|0)+4>>2]|0)+j+x|0;x=(c[f+25336+(G*40|0)+8>>2]|0)+j+x|0;if(!u){e=l<<1&6;kc[q&63](J,z,y,i,C,e);y=e}else{j=B<<3;h=e+8|0;pc[c[h>>2]&3](c[F>>2]|0,z,y,y,9,17,t,m,j,k);y=l<<1&6;kc[q&63](J,c[F>>2]|0,c[T>>2]|0,i,C,y);e=c[T>>2]|0;pc[c[h>>2]&3](c[F>>2]|0,x,e,e,9,17,t,m,j,k);x=c[F>>2]|0}kc[q&63](K,x,c[T>>2]|0,i,C,y);if((c[O>>2]|0)==2){e=c[f+3216+(w*384|0)+(G<<3)+((c[N>>2]&1)<<2)>>2]|0;f=64-e|0;nc[M&31](S,I,c[U>>2]|0,i,5,e,f,0);nc[L&31](R,J,c[T>>2]|0,i,5,e,f,0);nc[L&31](Q,K,c[T>>2]|0,i,5,e,f,0);break}else{nc[M&31](S,I,c[U>>2]|0,i,c[f+888>>2]|0,c[f+912+(w<<4)>>2]|0,c[f+912+(G<<4)+8>>2]|0,(c[f+912+(G<<4)+12>>2]|0)+(c[f+912+(w<<4)+4>>2]|0)|0);e=f+892|0;nc[L&31](R,J,c[T>>2]|0,i,c[e>>2]|0,c[f+1680+(w<<5)>>2]|0,c[f+1680+(G<<5)+16>>2]|0,(c[f+1680+(G<<5)+20>>2]|0)+(c[f+1680+(w<<5)+4>>2]|0)|0);nc[L&31](Q,K,c[T>>2]|0,i,c[e>>2]|0,c[f+1680+(w<<5)+8>>2]|0,c[f+1680+(G<<5)+24>>2]|0,(c[f+1680+(G<<5)+28>>2]|0)+(c[f+1680+(w<<5)+12>>2]|0)|0);break}}else if((x|0)==37){J=c[e+25652>>2]|0;L=o<<1;I=f+21780|0;C=c[I>>2]|0;G=k+((H(C,L)|0)+(n<<1<<J))|0;M=f+21784|0;L=(H(c[M>>2]|0,L)|0)+(n<<J)|0;K=l+L|0;L=m+L|0;E=(c[f+21788>>2]<<3)+n|0;F=f+21828|0;t=c[F>>2]|0;D=(y>>t<<3)+o|0;if(v){l=d[88656+g>>0]|0;A=a[f+28272+l>>0]|0;v=(E<<3)+(b[f+27952+(l<<2)>>1]|0)|0;l=(D<<3)+(b[f+27952+(l<<2)+2>>1]|0)|0;u=l<<2&12|v&3;x=v>>2;m=l>>2;z=(H(m,C)|0)+(x<<J)|0;z=(c[f+23416+(A*40|0)>>2]|0)+z|0;n=c[e+26996>>2]|0;y=n<<4;B=c[e+26992>>2]<<4>>t;o=v&7;T=(o|0)==0?0:-3;U=(l&7|0)==0?0:-3;if((!((x|0)<(0-T|0)|(m|0)<(0-U|0))?(x+16|0)<=(T+y|0):0)?(m+16|0)<=(B+U|0):0){k=0;y=C}else{U=f+27792|0;k=2<<J;pc[c[e+8>>2]&3](c[U>>2]|0,z+(0-k)+(0-(C<<1))|0,C,C,21,21,x+-2|0,m+-2|0,y,B);y=c[I>>2]|0;z=(c[U>>2]|0)+k+(y<<1)|0;k=1}x=p+(u<<2)|0;gc[c[x>>2]&1023](G,z,y);if(!h)gc[c[x>>2]&1023](G+j|0,z+j|0,c[I>>2]|0);z=v>>3;y=z<<J;t=c[M>>2]|0;x=H(t,m)|0;u=(c[f+23416+(A*40|0)+4>>2]|0)+y+x|0;x=(c[f+23416+(A*40|0)+8>>2]|0)+y+x|0;y=f+27792|0;if(!k){y=l<<1&6;kc[q&63](K,u,t,i,o,y)}else{T=n<<3;R=e+8|0;pc[c[R>>2]&3](c[y>>2]|0,u,t,t,9,17,z,m,T,B);U=l<<1&6;kc[q&63](K,c[y>>2]|0,c[M>>2]|0,i,o,U);S=c[M>>2]|0;pc[c[R>>2]&3](c[y>>2]|0,x,S,S,9,17,z,m,T,B);x=c[y>>2]|0;y=U}kc[q&63](L,x,c[M>>2]|0,i,o,y);q=s;p=r}if(w|0){C=d[88656+g>>0]|0;B=a[f+28312+C>>0]|0;k=(E<<3)+(b[f+28112+(C<<2)>>1]|0)|0;C=(D<<3)+(b[f+28112+(C<<2)+2>>1]|0)|0;u=C<<2&12|k&3;x=k>>2;l=C>>2;y=c[I>>2]|0;z=(H(l,y)|0)+(x<<J)|0;z=(c[f+25336+(B*40|0)>>2]|0)+z|0;m=c[e+26996>>2]|0;t=m<<4;A=c[e+26992>>2]<<4>>c[F>>2];n=k&7;T=(n|0)==0?0:-3;U=(C&7|0)==0?0:-3;if((!((x|0)<(0-T|0)|(l|0)<(0-U|0))?(x+16|0)<=(t+T|0):0)?(l+16|0)<=(A+U|0):0)v=0;else{U=f+27792|0;v=2<<J;pc[c[e+8>>2]&3](c[U>>2]|0,z+(0-v)+(0-(y<<1))|0,y,y,21,21,x+-2|0,l+-2|0,t,A);y=c[I>>2]|0;z=(c[U>>2]|0)+v+(y<<1)|0;v=1}x=p+(u<<2)|0;gc[c[x>>2]&1023](G,z,y);if(!h)gc[c[x>>2]&1023](G+j|0,z+j|0,c[I>>2]|0);u=k>>3;y=u<<J;z=c[M>>2]|0;x=H(z,l)|0;t=(c[f+25336+(B*40|0)+4>>2]|0)+y+x|0;x=(c[f+25336+(B*40|0)+8>>2]|0)+y+x|0;y=f+27792|0;if(!v){y=C<<1&6;kc[q&63](K,t,z,i,n,y)}else{j=m<<3;h=e+8|0;pc[c[h>>2]&3](c[y>>2]|0,t,z,z,9,17,u,l,j,A);f=C<<1&6;kc[q&63](K,c[y>>2]|0,c[M>>2]|0,i,n,f);e=c[M>>2]|0;pc[c[h>>2]&3](c[y>>2]|0,x,e,e,9,17,u,l,j,A);x=c[y>>2]|0;y=f}kc[q&63](L,x,c[M>>2]|0,i,n,y)}}while(0);return}function Lc(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=Mb;Mb=Mb+32|0;D=T+16|0;C=T+8|0;v=T;y=c[f+26352>>2]|0;w=c[g+21796>>2]|0;B=g+21792|0;n=c[B>>2]|0;S=c[h>>2]|0;R=S&64;A=g+25336|0;OB(f,A,(S>>>7&1)+n|0);S=(R|0)==0;i=61440;t=0;while(1){if((t|0)==2)break;l=a[g+28272+(t*40|0)+11>>0]|0;r=a[g+28272+(t*40|0)+4>>0]|0;j=a[g+28272+(t*40|0)+8>>0]|0;if(j<<24>>24==-2){p=a[g+28272+(t*40|0)+3>>0]|0;q=g+27952+(t*160|0)+12|0}else{p=j<<24>>24;q=g+27952+(t*160|0)+32|0}s=l>>>0>r>>>0?r:l;j=s>>>0>p>>>0?p:s;k=C+(t<<2)|0;c[k>>2]=j;do if((j|0)>-1){m=g+27952+(t*160|0)+44|0;o=g+27952+(t*160|0)+16|0;k=(j|0)==(l|0);j=(j|0)==(r|0);if(((j&1)+(p>>>0<=s>>>0&1)+(k&1)|0)>>>0>1){P=oM(b[m>>1]|0,b[o>>1]|0,b[q>>1]|0)|0;P=(oM(b[g+27952+(t*160|0)+46>>1]|0,b[g+27952+(t*160|0)+18>>1]|0,b[q+2>>1]|0)|0)<<16|P&65535;c[v+(t<<2)>>2]=P;break}if(k){c[v+(t<<2)>>2]=c[m>>2];break}if(j){c[v+(t<<2)>>2]=c[o>>2];break}else{c[v+(t<<2)>>2]=c[q>>2];break}}else{j=~(12288<<(t<<1));c[v+(t<<2)>>2]=0;c[k>>2]=-1;if(S)c[h>>2]=c[h>>2]&j;i=i&j}while(0);t=t+1|0}j=c[C>>2]|0;if((j|0)<0?(u=C+4|0,(c[u>>2]|0)<0):0){c[u>>2]=0;c[C>>2]=0;if(S)c[h>>2]=c[h>>2]|61440;r=i|61440;u=0}else{r=i;u=j}i=c[v>>2]|0;j=c[v+4>>2]|0;do if(i|R|j){t=g+25372|0;p=c[(c[t>>2]|0)+48>>2]|0;s=c[h>>2]|0;k=(s&128|0)!=0;do if(!(c[p+(w<<2)>>2]&128))if(k){n=c[B>>2]&-2;o=c[f+27e3>>2]|0;q=H(n,o)|0;q=q+(c[g+21788>>2]|0)|0;m=c[p+(q<<2)>>2]|0;c[D>>2]=m;k=c[p+(q+o<<2)>>2]|0;l=D+4|0;c[l>>2]=k;p=o<<2|2;o=y*6|0;if((k^m)&128){k=k&-129;m=m&-129;c[D>>2]=m;c[l>>2]=k}l=r|264;if(m&15|0?!((R|0)!=0|(k&15|0)==0):0){P=o;z=p;o=q;r=l;k=s|272;p=m;break}P=o;z=p;o=q;r=l;k=s|64;p=m}else{m=2;o=w;Q=36}else{if(k){l=c[g+21852>>2]|0;m=2;n=l+n|0;k=w}else{l=(c[B>>2]&-2)+(c[g+21848>>2]|0)|0;m=0;n=l;k=c[g+21788>>2]|0}o=(H(c[f+27e3>>2]|0,l)|0)+k|0;Q=36}while(0);do if((Q|0)==36){p=c[p+(o<<2)>>2]|0;c[D+4>>2]=p;c[D>>2]=p;l=r|264;k=(R|0)!=0;if(!(k|(p&15|0)==0)){P=y;z=m;r=l;k=s|264;break}if(!k?(x=p&48,x|0):0){P=y;z=m;r=l;k=s|x|256;break}P=y;z=m;r=(c[(c[f+28200>>2]|0)+72>>2]|0)==0?l+56|0:l;k=s|64}while(0);c[h>>2]=k;OB(f,A,n);q=c[t>>2]|0;l=c[(c[f+26344>>2]|0)+(o<<2)>>2]|0;k=(c[q+36>>2]|0)+(l<<2)|0;l=(c[q+40>>2]|0)+(l<<2)|0;n=o<<2;m=(c[q+68>>2]|0)+n|0;n=(c[q+72>>2]|0)+n|0;if(!z){M=(c[B>>2]&1|0)==0;N=P<<1;O=M?k:k+(N<<2)|0;N=M?l:l+(N<<2)|0;m=M?m:m+2|0;n=M?n:n+2|0}else{O=k;N=l}k=c[h>>2]|0;if((p^k)&128|0){x=r&65535;y=(u&255)*257&65535;s=c[C+4>>2]|0;w=(s&255)*257&65535;v=q+100|0;u=(u|0)>0?i:0;s=(s|0)>0?j:0;k=0;t=0;while(1){if((t|0)==4)break;q=t&1;o=t>>>1;p=(H(o,z)|0)+q|0;q=(0-q&3)+(H(o,P)|0)|0;l=g+28552+(t<<1)|0;if(!(!S?(b[l>>1]&256)==0:0)){b[l>>1]=x;r=d[88656+(t<<2)>>0]|0;Q=g+28272+r|0;b[Q>>1]=y;b[Q+8>>1]=y;Q=g+28312+r|0;b[Q>>1]=w;b[Q+8>>1]=w;do if((c[D+(o<<2)>>2]&7|0)==0?(c[v>>2]|0)==0:0){l=a[m+p>>0]|0;if(!(l<<24>>24)){Q=b[O+(q<<2)>>1]|0;if((((Q|0)>-1?Q:0-Q|0)|0)>=2){l=j;o=i;break}Q=b[O+(q<<2)+2>>1]|0;if((((Q|0)>-1?Q:0-Q|0)|0)>=2){l=j;o=i;break}}else{if(l<<24>>24>=0){l=j;o=i;break}if(a[n+p>>0]|0){l=j;o=i;break}Q=b[N+(q<<2)>>1]|0;if((((Q|0)>-1?Q:0-Q|0)|0)>=2){l=j;o=i;break}Q=b[N+(q<<2)+2>>1]|0;if((((Q|0)>-1?Q:0-Q|0)|0)>=2){l=j;o=i;break}}l=s;o=u;k=k+1|0}else{l=j;o=i}while(0);Q=g+27952+(r<<2)|0;c[Q>>2]=o;c[Q+4>>2]=o;c[Q+32>>2]=o;c[Q+36>>2]=o;Q=g+28112+(r<<2)|0;c[Q>>2]=l;c[Q+4>>2]=l;c[Q+32>>2]=l;c[Q+36>>2]=l}t=t+1|0}if(k&3|R|0)break;c[h>>2]=c[h>>2]&-41337|264;break}if(k&8|0){l=H(u&255,16843009)|0;c[g+28284>>2]=l;c[g+28292>>2]=l;c[g+28300>>2]=l;c[g+28308>>2]=l;l=c[C+4>>2]|0;h=H(l&255,16843009)|0;c[g+28324>>2]=h;c[g+28332>>2]=h;c[g+28340>>2]=h;c[g+28348>>2]=h;do if((p&7|0)==0?(c[q+100>>2]|0)==0:0){k=a[m>>0]|0;if(!(k<<24>>24)){h=b[O>>1]|0;if((((h|0)>-1?h:0-h|0)|0)>=2)break;h=b[O+2>>1]|0;if((((h|0)>-1?h:0-h|0)|0)>=2)break}else{if(k<<24>>24>=0)break;if(a[n>>0]|0)break;h=b[N>>1]|0;if((((h|0)>-1?h:0-h|0)|0)>=2)break;h=b[N+2>>1]|0;if((((h|0)>-1?h:0-h|0)|0)>=2)break;if((c[f+29696>>2]|0)>>>0<=33)break}j=(l|0)>0?j:0;i=(u|0)>0?i:0}while(0);c[g+28e3>>2]=i;c[g+28004>>2]=i;c[g+28008>>2]=i;c[g+28012>>2]=i;c[g+28032>>2]=i;c[g+28036>>2]=i;c[g+28040>>2]=i;c[g+28044>>2]=i;c[g+28064>>2]=i;c[g+28068>>2]=i;c[g+28072>>2]=i;c[g+28076>>2]=i;c[g+28096>>2]=i;c[g+28100>>2]=i;c[g+28104>>2]=i;c[g+28108>>2]=i;c[g+28160>>2]=j;c[g+28164>>2]=j;c[g+28168>>2]=j;c[g+28172>>2]=j;c[g+28192>>2]=j;c[g+28196>>2]=j;c[g+28200>>2]=j;c[g+28204>>2]=j;c[g+28224>>2]=j;c[g+28228>>2]=j;c[g+28232>>2]=j;c[g+28236>>2]=j;c[g+28256>>2]=j;c[g+28260>>2]=j;c[g+28264>>2]=j;c[g+28268>>2]=j;break}L=r&65535;M=(u&255)*257&65535;E=c[C+4>>2]|0;K=(E&255)*257&65535;J=(p&7|0)==0;I=q+100|0;G=(r&8|0)==0;D=(u|0)==0;E=(E|0)==0;F=P*3|0;f=f+29696|0;k=0;C=0;while(1){if((C|0)==4)break;p=C&1;q=C>>>1;A=g+28552+(C<<1)|0;if(!(!S?(b[A>>1]&256)==0:0))Q=80;do if((Q|0)==80){Q=0;b[A>>1]=L;B=C<<2;z=d[88656+B>>0]|0;r=g+27952+(z<<2)|0;c[r>>2]=i;s=r+4|0;c[s>>2]=i;t=r+32|0;c[t>>2]=i;u=r+36|0;c[u>>2]=i;v=g+28112+(z<<2)|0;c[v>>2]=j;w=v+4|0;c[w>>2]=j;x=v+32|0;c[x>>2]=j;y=v+36|0;c[y>>2]=j;o=g+28272+z|0;b[o>>1]=M;b[o+8>>1]=M;z=g+28312+z|0;b[z>>1]=K;b[z+8>>1]=K;if(J?(c[I>>2]|0)==0:0){l=a[m+C>>0]|0;o=l<<24>>24==0;if(!o){if(l<<24>>24>=0)break;if(a[n+C>>0]|0)break;if((c[f>>2]|0)>>>0<=33)break}z=o?O:N;if(!G){l=(H(F,q)|0)+(0-p&3)|0;B=b[z+(l<<2)>>1]|0;if((((B|0)>-1?B:0-B|0)|0)>=2)break;B=b[z+(l<<2)+2>>1]|0;if((((B|0)>-1?B:0-B|0)|0)>=2)break;if(D){c[r>>2]=0;c[s>>2]=0;c[t>>2]=0;c[u>>2]=0}if(E){c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0}k=k+4|0;break}q=p<<1;r=C&2147483646;l=0;p=0;while(1){if((p|0)==4)break;o=(H((p>>>1)+r|0,P)|0)+(p&1|q)|0;y=b[z+(o<<2)>>1]|0;if((((y|0)>-1?y:0-y|0)|0)<2?(y=b[z+(o<<2)+2>>1]|0,(((y|0)>-1?y:0-y|0)|0)<2):0){if(D)c[g+27952+(d[88656+(p+B)>>0]<<2)>>2]=0;if(E)c[g+28112+(d[88656+(p+B)>>0]<<2)>>2]=0;l=l+1|0}p=p+1|0}if(!(l&3))b[A>>1]=(e[A>>1]|0)+65480;k=l+k|0}}while(0);C=C+1|0}if(!(k&15|R))c[h>>2]=c[h>>2]&-41337|264}else{M=H(u&255,16843009)|0;c[g+28284>>2]=M;c[g+28292>>2]=M;c[g+28300>>2]=M;c[g+28308>>2]=M;M=H(c[C+4>>2]&255,16843009)|0;c[g+28324>>2]=M;c[g+28332>>2]=M;c[g+28340>>2]=M;c[g+28348>>2]=M;M=g+28e3|0;N=g+28032|0;O=g+28064|0;P=g+28096|0;Q=g+28160|0;R=g+28192|0;S=g+28224|0;g=g+28256|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;c[N>>2]=0;c[N+4>>2]=0;c[N+8>>2]=0;c[N+12>>2]=0;c[O>>2]=0;c[O+4>>2]=0;c[O+8>>2]=0;c[O+12>>2]=0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;c[Q>>2]=0;c[Q+4>>2]=0;c[Q+8>>2]=0;c[Q+12>>2]=0;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;c[R+12>>2]=0;c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;c[S+12>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[h>>2]=c[h>>2]&-41337|264}while(0);Mb=T;return}function Mc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=Mb;Mb=Mb+208|0;N=Y+200|0;L=Y+192|0;X=Y+136|0;S=Y+128|0;K=Y+120|0;I=Y+112|0;C=Y+104|0;y=Y+96|0;t=Y+88|0;q=Y+80|0;j=Y+72|0;E=Y;W=Y+164|0;i=Y+160|0;s=Y+184|0;B=Y+176|0;P=Y+168|0;Q=Y+152|0;R=b+64|0;T=c[R>>2]|0;U=c[T+24>>2]|0;V=U+24|0;if(!(((c[V>>2]|0)==0?(c[T+64>>2]|0)==0:0)?(gP(U),f=Jr(b,U)|0,(f|0)<0&(f|0)!=-541478725):0))D=4;do if((D|0)==4){O=T+80|0;if(!(c[O>>2]|0)){if(((c[V>>2]|0)==0?(c[(c[b+12>>2]|0)+16>>2]&32|0)==0:0)?(c[b+808>>2]&1|0)==0:0){f=-541478725;break}f=E;g=U;h=f+72|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));if(!(c[T+96>>2]|0))f=Jg(E)|0;else f=im(E)|0;w=(f|0)!=0;if(w){f=vH(c[R>>2]|0,E)|0;if((f|0)<0)break;f=Nf(b,E)|0;if((f|0)<0)break}c[W>>2]=0;x=b+808|0;if(!(c[x>>2]&1)){h=b+12|0;f=Zb[c[(c[h>>2]|0)+88>>2]&7](b,e,W,E)|0;g=c[h>>2]|0;if(!(c[g+112>>2]&4)){o=U+16|0;u=c[o+4>>2]|0;v=e+120|0;c[v>>2]=c[o>>2];c[v+4>>2]=u}if(!(c[g+8>>2]|0)){if(!(c[b+180>>2]|0)){o=U+56|0;u=c[o+4>>2]|0;v=e+328|0;c[v>>2]=c[o>>2];c[v+4>>2]=u}if(!(c[g+16>>2]&2)){g=e+92|0;if(!(c[g>>2]|0)){o=b+228|0;u=c[o+4>>2]|0;v=g;c[v>>2]=c[o>>2];c[v+4>>2]=u}g=e+68|0;if(!(c[g>>2]|0))c[g>>2]=c[b+124>>2];g=e+72|0;if(!(c[g>>2]|0))c[g>>2]=c[b+128>>2];g=e+80|0;if((c[g>>2]|0)==-1){c[g>>2]=c[b+144>>2];u=h}else u=h}else u=h}else u=h}else{f=Rh(b,e,W,E)|0;u=b+12|0}v=c[W>>2]|0;a:do switch(c[(c[u>>2]|0)+8>>2]|0){case 0:{if(c[e+296>>2]&4|0){c[W>>2]=0;break a}if(v|0){G=e+104|0;F=e+120|0;F=Zk(b,c[G>>2]|0,c[G+4>>2]|0,c[F>>2]|0,c[F+4>>2]|0)|0;G=M()|0;I=e+320|0;c[I>>2]=F;c[I+4>>2]=G}break}case 1:{if((f|0)>-1&(v|0)!=0){o=e+104|0;n=e+120|0;n=Zk(b,c[o>>2]|0,c[o+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;o=M()|0;g=e+320|0;c[g>>2]=n;c[g+4>>2]=o;g=e+80|0;if((c[g>>2]|0)==-1)c[g>>2]=c[b+424>>2];g=e+240|0;o=g;if((c[o>>2]|0)==0&(c[o+4>>2]|0)==0){m=b+448|0;n=c[m+4>>2]|0;o=g;c[o>>2]=c[m>>2];c[o+4>>2]=n}g=e+352|0;if(!(c[g>>2]|0))c[g>>2]=c[b+420>>2];g=e+232|0;if(!(c[g>>2]|0))c[g>>2]=c[b+416>>2]}g=Qu(c[T+40>>2]|0,70,i)|0;if((g|0)!=0&(c[i>>2]|0)>9){n=c[R>>2]|0;o=H(c[n+108>>2]|0,d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24)|0;c[n+56>>2]=o;n=g+4|0;n=d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24;c[j>>2]=o;c[j+4>>2]=n;Xw(b,48,167690,j);o=a[g+8>>0]|0;m=a[g+9>>0]|0}else{n=0;o=0;m=0}g=c[W>>2]|0;if((g|0?(c[e+296>>2]&4|0)!=0:0)?(c[b+96>>2]&536870912|0)==0:0){l=(c[R>>2]|0)+56|0;j=(c[l>>2]|0)-(c[e+76>>2]|0)|0;c[l>>2]=(j|0)>0?j:0;c[W>>2]=0}else D=49;do if(((D|0)==49?(k=(c[R>>2]|0)+56|0,p=c[k>>2]|0,(p|0)>0&(g|0)!=0):0)?(c[b+96>>2]&536870912|0)==0:0){l=e+76|0;g=c[l>>2]|0;if((g|0)<=(p|0)){c[W>>2]=0;D=p-g|0;c[k>>2]=D;c[q>>2]=D;Xw(b,48,167737,q);break}q=c[e+64>>2]|0;Ip(q,q,0,p,g-p|0,c[b+420>>2]|0,c[e+80>>2]|0)|0;g=b+892|0;do if((c[g>>2]|0)!=0?(r=c[b+416>>2]|0,(r|0)!=0):0){j=c[(c[R>>2]|0)+56>>2]|0;c[s>>2]=1;c[s+4>>2]=r;c[L>>2]=c[s>>2];c[L+4>>2]=c[s+4>>2];c[N>>2]=c[g>>2];c[N+4>>2]=c[g+4>>2];j=Ay(j,((j|0)<0)<<31>>31,L,N)|0;k=M()|0;g=e+104|0;i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;if(!((h|0)==0&(i|0)==-2147483648)){r=SO(h|0,i|0,j|0,k|0)|0;s=M()|0;t=g;c[t>>2]=r;c[t+4>>2]=s}g=e+112|0;i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;if(!((h|0)==0&(i|0)==-2147483648)){r=SO(h|0,i|0,j|0,k|0)|0;s=M()|0;t=g;c[t>>2]=r;c[t+4>>2]=s}g=e+120|0;i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;if(!((h|0)==0&(i|0)==-2147483648)){r=SO(h|0,i|0,j|0,k|0)|0;s=M()|0;t=g;c[t>>2]=r;c[t+4>>2]=s}g=e+336|0;i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;if((i|0)<(k|0)|(i|0)==(k|0)&h>>>0<j>>>0)break;r=QO(h|0,i|0,j|0,k|0)|0;s=M()|0;t=g;c[t>>2]=r;c[t+4>>2]=s}else D=63;while(0);if((D|0)==63)Xw(b,24,167770,t);D=c[l>>2]|0;c[y>>2]=c[(c[R>>2]|0)+56>>2];c[y+4>>2]=D;Xw(b,48,167820,y);D=(c[R>>2]|0)+56|0;c[l>>2]=(c[l>>2]|0)-(c[D>>2]|0);c[D>>2]=0}while(0);do if((n|0?(F=e+76|0,z=c[F>>2]|0,z>>>0>=n>>>0&(c[W>>2]|0)!=0):0)?(c[b+96>>2]&536870912|0)==0:0){if((z|0)==(n|0)){c[W>>2]=0;break}g=b+892|0;if((c[g>>2]|0)!=0?(A=c[b+416>>2]|0,(A|0)!=0):0){c[B>>2]=1;c[B+4>>2]=A;c[L>>2]=c[B>>2];c[L+4>>2]=c[B+4>>2];c[N>>2]=c[g>>2];c[N+4>>2]=c[g+4>>2];C=Ay(z-n|0,0,L,N)|0;D=M()|0;g=e+336|0;c[g>>2]=C;c[g+4>>2]=D;g=b}else{Xw(b,24,167840,C);g=b}D=c[F>>2]|0;c[I>>2]=n;c[I+4>>2]=D;Xw(g,48,167892,I);c[F>>2]=(c[F>>2]|0)-n}while(0);if((c[W>>2]|0?(c[b+96>>2]&536870912|0)!=0:0)?(G=fQ(e,9,10)|0,G|0):0){F=c[(c[R>>2]|0)+56>>2]|0;I=G+4|0;G=c[I>>2]|0;a[G>>0]=F;a[G+1>>0]=F>>8;a[G+2>>0]=F>>16;a[G+3>>0]=F>>24;G=(c[I>>2]|0)+4|0;a[G>>0]=n;a[G+1>>0]=n>>8;a[G+2>>0]=n>>16;a[G+3>>0]=n>>24;a[(c[I>>2]|0)+8>>0]=o;a[(c[I>>2]|0)+9>>0]=m;c[(c[R>>2]|0)+56>>2]=0}break}default:{}}while(0);if(w?(ZI(E),(f|0)==(c[E+28>>2]|0)):0)f=c[U+28>>2]|0;g=c[u>>2]|0;if((((c[g+8>>2]|0)==1?(J=T+104|0,(f|0)>-1&(c[J>>2]|0)==0):0)?(f|0)!=(c[U+28>>2]|0):0)?(c[g+16>>2]&256|0)==0:0){Xw(b,24,167915,K);c[J>>2]=1}if(!(c[W>>2]|0))av(e);if(((f|0)>-1?(c[(c[u>>2]|0)+8>>2]|0)==0:0)?(c[b+92>>2]&65536|0)==0:0)f=c[U+28>>2]|0;g=b+880|0;if((c[g>>2]|0)>0?(c[b+884>>2]|0)>0:0){c[Q>>2]=c[b+116>>2];c[Q+4>>2]=1;c[L>>2]=c[g>>2];c[L+4>>2]=c[g+4>>2];c[N>>2]=c[Q>>2];c[N+4>>2]=c[Q+4>>2];Ou(P,L,N);N=c[P>>2]|0;Q=b+108|0;c[Q>>2]=c[P+4>>2];c[Q+4>>2]=N}do if(!(v|0?1:(c[(c[R>>2]|0)+64>>2]|0)==0)){if((f|0)>=0){c[O>>2]=1;break}if(!(c[x>>2]&1))g=21;else g=(c[b+800>>2]|0)+20|0;Q=T+112|0;R=c[Q>>2]|0;c[Q>>2]=R+1;if((R|0)>=(g|0)){Xw(b,16,167945,S);c[O>>2]=1;f=-558323010}}while(0);g=T+92|0;c[g>>2]=(c[g>>2]|0)+f;g=U+28|0;h=c[g>>2]|0;i=(f|0)<0;if(i|(h|0)<=(f|0))gP(U);else{c[V>>2]=(c[V>>2]|0)+f;c[g>>2]=h-f;V=c[T+40>>2]|0;T=V+28|0;c[T>>2]=(c[T>>2]|0)-f;T=U+8|0;c[T>>2]=0;c[T+4>>2]=-2147483648;U=U+16|0;c[U>>2]=0;c[U+4>>2]=-2147483648;U=V+8|0;c[U>>2]=0;c[U+4>>2]=-2147483648;V=V+16|0;c[V>>2]=0;c[V+4>>2]=-2147483648}if(c[W>>2]|0?(c[e+248>>2]|0)==0:0){c[X>>2]=168021;c[X+4>>2]=167670;c[X+8>>2]=610;Xw(0,0,213444,X);ba()}f=i?f:0}else f=-541478725}while(0);Mb=Y;return f|0}function Nc(a){a=a|0;var b=0,d=0,e=0,h=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0;O=Mb;Mb=Mb+2224|0;N=O+2208|0;D=O+2192|0;B=O+2176|0;A=O+2168|0;x=O+2160|0;w=O+2152|0;v=O+2144|0;u=O+2128|0;q=O+2120|0;p=O+2112|0;n=O+2104|0;m=O+2096|0;k=O+2088|0;j=O+2080|0;i=O+2072|0;h=O+2064|0;e=O+2056|0;d=O+2048|0;y=O+1024|0;z=O;Iu(a);J=a+12|0;b=c[J>>2]|0;a:do if((b|0)>11){c[d>>2]=b;Xw(a,16,208869,d);b=-22}else{F=a+20|0;b=c[F>>2]|0;if((b|0)>11){c[e>>2]=b;Xw(a,16,208914,e);b=-22;break}E=a+12260|0;I=a+12520|0;c[I>>2]=c[a+92>>2];G=a+11140|0;C=a+11400|0;c[C>>2]=c[a+88>>2];H=a+80|0;c[H>>2]=c[a+96>>2];r=a+104|0;o=c[r>>2]|0;r=c[r+4>>2]|0;s=a+24|0;e=s;c[e>>2]=o;c[e+4>>2]=r;e=a+112|0;L=c[e+4>>2]|0;t=a+32|0;K=t;c[K>>2]=c[e>>2];c[K+4>>2]=L;K=a+16|0;c[K>>2]=c[a+120>>2];L=a+128|0;c[L>>2]=c[a+124>>2];if((_w(o,r)|0)>64){e=s;o=c[e+4>>2]|0;r=h;c[r>>2]=c[e>>2];c[r+4>>2]=o;Xw(a,24,208960,h);r=s;c[r>>2]=0;c[r+4>>2]=0}r=t;if((_w(c[r>>2]|0,c[r+4>>2]|0)|0)>64){h=t;o=c[h+4>>2]|0;r=i;c[r>>2]=c[h>>2];c[r+4>>2]=o;Xw(a,24,209016,i);r=t;c[r>>2]=0;c[r+4>>2]=0}i=a+84|0;if(c[i>>2]|0){Xw(a,16,209073,j);b=-22;break}j=a+13448|0;c[j>>2]=164020;b=c[H>>2]|0;if(!b){b=c[C>>2]|0;c[H>>2]=b;if(!b)r=16;else r=13}else r=13;if((r|0)==13){d=s;e=c[d>>2]|0;d=c[d+4>>2]|0;if(!((e|0)==0&(d|0)==0))if((b|0)==(_w(e,d)|0))r=16;else{Xw(a,24,209117,k);r=s;c[r>>2]=0;c[r+4>>2]=0;r=17}else r=17}if((r|0)==16){d=s;b=c[d>>2]|0;d=c[d+4>>2]|0;if((b|0)==0&(d|0)==0)r=17}if((r|0)==17){b=hD(c[H>>2]|0)|0;d=M()|0;o=s;c[o>>2]=b;c[o+4>>2]=d}h=t;e=c[h>>2]|0;h=c[h+4>>2]|0;if((e|0)==0&(h|0)==0){e=hD(c[I>>2]|0)|0;h=M()|0;d=t;c[d>>2]=e;c[d+4>>2]=h;d=s;b=c[d>>2]|0;d=c[d+4>>2]|0}if((e|0)==(b|0)&(h|0)==(d|0)?!(+f[a+64>>2]!=1.0):0)b=(c[a+11136>>2]|0)!=0;else b=1;o=a+11132|0;c[o>>2]=b&1;b=c[K>>2]|0;if((b|0)==-1){if((JP(c[J>>2]|0)|0)<3?(JP(c[F>>2]|0)|0)<3:0)b=6;else r=26;do if((r|0)==26){if((((JP(c[J>>2]|0)|0)<3?(c[o>>2]|0)==0:0)?(c[a+44>>2]|0)==(c[a+40>>2]|0):0)?(c[a+48>>2]&1|0)==0:0){b=6;break}if((((((DO(c[J>>2]|0)|0)==7?(DO(c[F>>2]|0)|0)==7:0)?(c[o>>2]|0)==0:0)?(c[a+44>>2]|0)==(c[a+40>>2]|0):0)?(c[a+48>>2]&1|0)==0:0)?(c[i>>2]|0)!=1:0){b=7;break}b=(JP(c[J>>2]|0)|0)<5;b=b?8:9}while(0);c[K>>2]=b}b=kT(b)|0;c[m>>2]=b;Xw(a,48,209224,m);b=c[K>>2]|0;switch(b|0){case 9:case 8:case 11:case 7:case 6:break;default:{b=kT(b)|0;c[n>>2]=b;Xw(a,16,209261,n);b=-22;break a}}wK(G,c[J>>2]|0);wK(E,c[F>>2]|0);e=a+11120|0;d=c[e>>2]|0;e=c[e+4>>2]|0;if((d|0)==0&(e|0)==-2147483648){n=a+13408|0;c[n>>2]=0;c[n+4>>2]=-2147483648;l=+f[a+11116>>2]}else{b=a+11116|0;l=+f[b>>2];if(!(l!=0.0)?+f[a+11100>>2]>=170141173319264429905852.0e15:0){f[b>>2]=1.0;l=1.0}k=c[a+44>>2]|0;k=XJ(d|0,e|0,k|0,((k|0)<0)<<31>>31|0)|0;m=M()|0;n=a+13400|0;c[n>>2]=k;c[n+4>>2]=m;n=a+13408|0;c[n>>2]=k;c[n+4>>2]=m}if(l!=0.0){b=a+11100|0;if(+f[b>>2]>=170141173319264429905852.0e15)f[b>>2]=1.0000000474974513e-03;if(l>1.0001)f[a+11112>>2]=l/+(c[a+40>>2]|0)}h=a+44|0;b=c[h>>2]|0;i=a+40|0;d=c[i>>2]|0;if((b|0)==(d|0)?(c[a+48>>2]&1|0)==0:0)dc[c[(c[j>>2]|0)+4>>2]&31](a+13444|0);else r=53;if((r|0)==53?(m=a+13444|0,n=ac[c[c[j>>2]>>2]&1](c[m>>2]|0,b,d,c[a+11044>>2]|0,c[a+11048>>2]|0,c[a+11052>>2]|0,+g[a+11064>>3],c[K>>2]|0,c[a+11072>>2]|0,+g[a+11080>>3],+g[a+11088>>3],c[a+11096>>2]|0,c[a+11056>>2]|0)|0,c[m>>2]=n,(n|0)==0):0){Xw(a,16,209351,p);b=-12;break}if(((c[K>>2]|0)+-6|0)>>>0>=4?(c[a+13444>>2]|0)!=0:0){Xw(a,16,209383,q);b=-22}else r=59;b:do if((r|0)==59){b=c[C>>2]|0;if(!b){b=s;b=_w(c[b>>2]|0,c[b+4>>2]|0)|0;c[C>>2]=b}if(!(c[H>>2]|0))c[H>>2]=b;if(!(c[I>>2]|0)){b=t;b=_w(c[b>>2]|0,c[b+4>>2]|0)|0;c[I>>2]=b;b=c[C>>2]|0}e=s;d=c[e>>2]|0;e=c[e+4>>2]|0;if(!b)if((d|0)==0&(e|0)==0){Xw(a,16,209484,v);b=-22;break}else{c[u>>2]=209440;c[u+4>>2]=209457;c[u+8>>2]=293;Xw(0,0,213444,u);ba()}TI(y,1024,b,d,e);d=t;TI(z,1024,c[I>>2]|0,c[d>>2]|0,c[d+4>>2]|0);d=t;b=c[d>>2]|0;d=c[d+4>>2]|0;do if(!((b|0)==0&(d|0)==0)){v=c[I>>2]|0;if((v|0)==(_w(b,d)|0))break;b=c[I>>2]|0;c[w>>2]=z;c[w+4>>2]=b;Xw(a,16,209526,w);b=-22;break b}while(0);d=s;b=c[d>>2]|0;d=c[d+4>>2]|0;do if(!((b|0)==0&(d|0)==0)){w=c[H>>2]|0;if((w|0)==(_w(b,d)|0))break;b=c[H>>2]|0;c[x>>2]=y;c[x+4>>2]=b;Xw(a,16,209590,x);b=-22;break b}while(0);x=t;do if((c[x>>2]|0)==0&(c[x+4>>2]|0)==0)r=78;else{x=s;if((c[x>>2]|0)==0&(c[x+4>>2]|0)==0){r=78;break}d=c[H>>2]|0}while(0);do if((r|0)==78){b=c[H>>2]|0;if((b|0)==(c[I>>2]|0)){d=b;break}if(c[a+11136>>2]|0){d=b;break}c[A>>2]=y;c[A+4>>2]=z;Xw(a,16,209653,A);b=-22;break b}while(0);if(!d){c[B>>2]=209736;c[B+4>>2]=209457;c[B+8>>2]=319;Xw(0,0,213444,B);ba()}b=c[I>>2]|0;if(!b){c[D>>2]=209753;c[D+4>>2]=209457;c[D+8>>2]=320;Xw(0,0,213444,D);ba()}k=a+11128|0;c[k>>2]=+(c[h>>2]|0)/+(c[i>>2]|0)+-1.0>+(((b|0)/(d|0)|0)+-1|0)&1;j=a+12540|0;rk(j|0,G|0,280)|0;rk(a+12820|0,G|0,280)|0;rk(a+13100|0,E|0,280)|0;b=Dg(a,c[F>>2]|0,c[K>>2]|0)|0;if((b|0)<0)break;i=a+13444|0;do if(!(c[i>>2]|0)){if(c[o>>2]|0)break;if(c[a+76>>2]|0)break;if(c[L>>2]|0)break;b=Zn(c[F>>2]|0,c[J>>2]|0,c[C>>2]|0,0,0)|0;c[a+13440>>2]=b;b=0;break a}while(0);b=a+76|0;D=Zn(c[K>>2]|0,c[J>>2]|0,c[H>>2]|0,c[b>>2]|0,0)|0;J=a+13432|0;c[J>>2]=D;F=Zn(c[F>>2]|0,c[K>>2]|0,c[I>>2]|0,0,0)|0;c[a+13436>>2]=F;if((F|0)==0|(c[J>>2]|0)==0){b=-12;break}e=a+11420|0;rk(e|0,G|0,280)|0;h=a+11980|0;rk(h|0,E|0,280)|0;d=a+11700|0;rk(d|0,G|0,280)|0;do if(c[b>>2]|0){b=c[H>>2]|0;c[a+11960>>2]=b;c[a+11680>>2]=b;if(!(c[i>>2]|0))break;c[a+12800>>2]=b}while(0);do if(!(c[k>>2]|0)){b=c[I>>2]|0;c[a+11960>>2]=b;if(!(c[i>>2]|0))break;c[a+12800>>2]=b}while(0);wK(e,c[K>>2]|0);wK(d,c[K>>2]|0);wK(h,c[K>>2]|0);if(c[i>>2]|0)wK(j,c[K>>2]|0);if(c[a+12248>>2]|0){c[N>>2]=209769;c[N+4>>2]=209457;c[N+8>>2]=370;Xw(0,0,213444,N);ba()}rk(a+10480|0,h|0,280)|0;rk(a+10760|0,h|0,280)|0;b=c[L>>2]|0;if((b|0)>64){c[a+10744>>2]=4;c[a+10756>>2]=8;f[a+140>>2]=1.0}if(!(c[o>>2]|b)){b=0;break a}b=qe(a)|0;if((b|0)>=0){b=0;break a}}while(0);EU(a)}while(0);Mb=O;return b|0}function Oc(f,g,h,i,j,k,l,m,n,o,p,q,r){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;T=Mb;Mb=Mb+12624|0;S=T+12584|0;R=T+12576|0;N=T+12568|0;L=T+12560|0;z=T+12552|0;A=T+12544|0;v=T+12528|0;t=T+12512|0;s=T+512|0;u=T+12600|0;F=T;c[f>>2]=g;P=(r&4|0)!=0;do if(P)if((h+1|0)>>>0<1501){c[u>>2]=c[f>>2];c[u+4>>2]=c[f+4>>2];c[u+8>>2]=c[f+8>>2];c[u+12>>2]=c[f+12>>2];c[u+8>>2]=0;K=u;O=6;break}else{c[t>>2]=191459;c[t+4>>2]=191436;c[t+8>>2]=282;Xw(0,0,213444,t);ba()}else{c[f+4>>2]=0;c[f+12>>2]=0;c[f+8>>2]=0;s=DQ(h+1|0)|0;if(!s)Q=-12;else{K=f;O=6}}while(0);do if((O|0)==6){J=(o|0)!=0;if(J&(q|0)>2){c[v>>2]=191518;c[v+4>>2]=191436;c[v+8>>2]=298;Xw(0,0,213444,v);ba()}G=g*3|0;I=(r&2|0)==0;y=0;t=0;while(1){if((y|0)>=(h|0)){O=39;break}u=i+(H(y,j)|0)|0;switch(k|0){case 1:{x=a[u>>0]|0;a[s+(t<<3)>>0]=x;break}case 2:{x=b[u>>1]&255;a[s+(t<<3)>>0]=x;break}case 4:{x=c[u>>2]&255;a[s+(t<<3)>>0]=x;break}default:x=a[s+(t<<3)>>0]|0}w=x&255;if((w|0)>(g|0)){if((x&255)>32|(G|0)<(w|0)){O=17;break}u=l+(H(y,m)|0)|0;switch(n|0){case 1:{u=d[u>>0]|0;v=s+(t<<3)+4|0;c[v>>2]=u;break}case 2:{u=e[u>>1]|0;v=s+(t<<3)+4|0;c[v>>2]=u;break}case 4:{u=c[u>>2]|0;v=s+(t<<3)+4|0;c[v>>2]=u;break}default:{u=s+(t<<3)+4|0;v=u;u=c[u>>2]|0}}E=cN(1,0,x&255|0)|0;D=M()|0;if(!((D|0)>0|(D|0)==0&E>>>0>u>>>0)){O=25;break}if(I)u=u<<32-w;else u=(d[148160+(u>>>8&255)>>0]|0)<<16|(d[148160+(u&255)>>0]|0)<<24|(d[148160+(u>>>16&255)>>0]|0)<<8|(d[148160+(u>>>24)>>0]|0);c[v>>2]=u;a:do if(J){u=o+(H(y,p)|0)|0;switch(q|0){case 1:{u=d[u>>0]|0;O=36;break a}case 2:{u=b[u>>1]|0;O=36;break a}case 4:{u=c[u>>2]&65535;O=36;break a}default:break a}}else{u=y&65535;O=36}while(0);if((O|0)==36){O=0;b[s+(t<<3)+2>>1]=u}t=t+1|0}y=y+1|0}if((O|0)==17){c[A>>2]=w;Xw(0,16,191548,A);if(P){Q=-1;break}gV(s);Q=-1;break}else if((O|0)==25){c[z>>2]=u;c[z+4>>2]=y;Xw(0,16,191579,z);if(P){Q=-1;break}gV(s);Q=-1;break}else if((O|0)==39){c[F>>2]=s;c[F+4>>2]=s+(t<<3)+-8;u=1;while(1){if(!u)break;u=u+-1|0;E=c[F+(u<<3)+4>>2]|0;v=c[F+(u<<3)>>2]|0;while(1){if(v>>>0>=E>>>0)break;A=E+-8|0;if(v>>>0>=A>>>0){O=75;break}w=E+-16|0;y=v+8|0;C=E;D=v;B=v+(C-D>>4<<3)|0;do if((kR(v,E)|0)>0)if((kR(E,B)|0)>0){z=B;U=c[z>>2]|0;z=c[z+4>>2]|0;W=v;V=c[W+4>>2]|0;x=B;c[x>>2]=c[W>>2];c[x+4>>2]=V;x=v;c[x>>2]=U;c[x+4>>2]=z;x=0;break}else{W=E;V=c[W>>2]|0;W=c[W+4>>2]|0;z=v;U=c[z+4>>2]|0;x=E;c[x>>2]=c[z>>2];c[x+4>>2]=U;x=v;c[x>>2]=V;c[x+4>>2]=W;x=0;break}else if((kR(v,B)|0)>0){W=B;V=c[W>>2]|0;W=c[W+4>>2]|0;z=v;U=c[z+4>>2]|0;x=B;c[x>>2]=c[z>>2];c[x+4>>2]=U;x=v;c[x>>2]=V;c[x+4>>2]=W;x=0}else x=1;while(0);if((kR(B,E)|0)>0){W=E;V=c[W>>2]|0;W=c[W+4>>2]|0;z=B;U=c[z+4>>2]|0;x=E;c[x>>2]=c[z>>2];c[x+4>>2]=U;x=B;c[x>>2]=V;c[x+4>>2]=W;x=0}if((v|0)==(w|0))break;W=B;V=c[W>>2]|0;W=c[W+4>>2]|0;X=A;U=c[X+4>>2]|0;z=B;c[z>>2]=c[X>>2];c[z+4>>2]=U;z=A;c[z>>2]=V;c[z+4>>2]=W;z=y;while(1){if(z>>>0>w>>>0)break;y=z;while(1){if(y>>>0>w>>>0)break;if((kR(y,A)|0)>=0)break;y=y+8|0}while(1){if(y>>>0>w>>>0)break;if((kR(w,A)|0)<=0){O=63;break}w=w+-8|0}if((O|0)==63){O=0;W=w;V=c[W>>2]|0;W=c[W+4>>2]|0;z=y;U=c[z+4>>2]|0;X=w;c[X>>2]=c[z>>2];c[X+4>>2]=U;X=y;c[X>>2]=V;c[X+4>>2]=W;y=y+8|0;w=w+-8|0}z=y}W=z;V=c[W>>2]|0;W=c[W+4>>2]|0;y=A;U=c[y+4>>2]|0;X=z;c[X>>2]=c[y>>2];c[X+4>>2]=U;X=A;c[X>>2]=V;c[X+4>>2]=W;if(x|0?(B|0)==(z|0)|(B|0)==(z+-8|0):0){x=v;while(1){if(x>>>0>=E>>>0)break;if((kR(x,x+8|0)|0)>=1)break;x=x+8|0}if((x|0)==(E|0))break}X=z;if((C-X|0)<(X-D|0)){x=E;y=z+8|0}else{x=w;y=v;w=E;v=z+8|0}c[F+(u<<3)>>2]=v;c[F+(u<<3)+4>>2]=w;E=x;v=y;u=u+1|0}if((O|0)==75?(O=0,(kR(v,E)|0)>0):0){W=E;V=c[W>>2]|0;W=c[W+4>>2]|0;D=v;U=c[D+4>>2]|0;X=E;c[X>>2]=c[D>>2];c[X+4>>2]=U;X=v;c[X>>2]=V;c[X+4>>2]=W}}y=0;while(1){if((y|0)>=(h|0)){O=110;break}u=i+(H(y,j)|0)|0;switch(k|0){case 1:{x=a[u>>0]|0;a[s+(t<<3)>>0]=x;break}case 2:{x=b[u>>1]&255;a[s+(t<<3)>>0]=x;break}case 4:{x=c[u>>2]&255;a[s+(t<<3)>>0]=x;break}default:x=a[s+(t<<3)>>0]|0}w=x&255;if(!(x<<24>>24==0|(w|0)>(g|0))){if((x&255)>32|(G|0)<(w|0)){O=88;break}u=l+(H(y,m)|0)|0;switch(n|0){case 1:{u=d[u>>0]|0;v=s+(t<<3)+4|0;c[v>>2]=u;break}case 2:{u=e[u>>1]|0;v=s+(t<<3)+4|0;c[v>>2]=u;break}case 4:{u=c[u>>2]|0;v=s+(t<<3)+4|0;c[v>>2]=u;break}default:{u=s+(t<<3)+4|0;v=u;u=c[u>>2]|0}}X=cN(1,0,x&255|0)|0;W=M()|0;if(!((W|0)>0|(W|0)==0&X>>>0>u>>>0)){O=96;break}if(I)u=u<<32-w;else u=(d[148160+(u>>>8&255)>>0]|0)<<16|(d[148160+(u&255)>>0]|0)<<24|(d[148160+(u>>>16&255)>>0]|0)<<8|(d[148160+(u>>>24)>>0]|0);c[v>>2]=u;b:do if(J){u=o+(H(y,p)|0)|0;switch(q|0){case 1:{u=d[u>>0]|0;O=107;break b}case 2:{u=b[u>>1]|0;O=107;break b}case 4:{u=c[u>>2]&65535;O=107;break b}default:break b}}else{u=y&65535;O=107}while(0);if((O|0)==107){O=0;b[s+(t<<3)+2>>1]=u}t=t+1|0}y=y+1|0}if((O|0)==88){c[L>>2]=w;Xw(0,16,191548,L);if(P){Q=-1;break}gV(s);Q=-1;break}else if((O|0)==96){c[N>>2]=u;c[N+4>>2]=y;Xw(0,16,191579,N);if(P){Q=-1;break}gV(s);Q=-1;break}else if((O|0)==110){u=Kf(K,g,t,s,r)|0;if(!P){gV(s);if((u|0)>=0){Q=0;break}hM(K+4|0);Q=u;break}s=c[K+8>>2]|0;t=c[K+12>>2]|0;if((s|0)!=(t|0)){c[R>>2]=s;c[R+4>>2]=t;Xw(0,16,191615,R)}if((u|0)>-1){c[f>>2]=c[K>>2];c[f+4>>2]=c[K+4>>2];c[f+8>>2]=c[K+8>>2];c[f+12>>2]=c[K+12>>2];Q=0;break}else{c[S>>2]=191633;c[S+4>>2]=191436;c[S+8>>2]=341;Xw(0,0,213444,S);ba()}}}}while(0);Mb=T;return Q|0}function Pc(a,b,d,e,f,h,i,j,k,l,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;h=+h;i=+i;j=+j;k=+k;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;U=Mb;Mb=Mb+2896|0;T=U+2880|0;S=U+2864|0;R=U+2856|0;L=U+2848|0;G=U+2832|0;F=U+2816|0;y=U+2800|0;x=U+2784|0;t=U+2768|0;w=U+2752|0;v=U+2736|0;s=U+2728|0;r=U+2720|0;K=U+128|0;p=U;Wp(K|0,0,2592)|0;Q=Hx(o,a,b)|0;O=Hx(o,d,e)|0;J=(O|0)==1610612736&((Q&1610612736|0)==0&0==0);N=J?3:O;O=J?0:((O|0)<0)<<31>>31;J=(Q|0)==1610612736&((N&1610612736|0)==0&0==0);P=J?3:Q;Q=J?0:((Q|0)<0)<<31>>31;a:do if(!(dI(P,Q)|0)){TI(p,128,-1,a,b);c[r>>2]=p;Xw(o,16,213091,r);a=-22}else{if(!(dI(N,O)|0)){TI(p,128,-1,d,e);c[s>>2]=p;Xw(o,16,213135,s);a=-22;break}I=P&N;J=Q&O;a=0;while(1){if((a|0)==18)break;s=cN(1,0,a|0)|0;if(!((I&s|0)==0&(J&(M()|0)|0)==0))g[K+(a*144|0)+(a<<3)>>3]=1.0;a=a+1|0}b=P&~N;do if(!((b&4|0)==0&0==0))if((N&3|0)==3&0==0){s=(P&3|0)==0&0==0;v=K+16|0;g[v>>3]=+g[v>>3]+(s?.7071067811865476:f);v=K+160|0;g[v>>3]=+g[v>>3]+(s?.7071067811865476:f);break}else{c[v>>2]=213565;c[v+4>>2]=213180;c[v+8>>2]=177;Xw(0,0,213444,v);ba()}while(0);if(!((b&3|0)==0&0==0)){if((N&4|0)==0&0==0){c[w>>2]=213565;c[w+4>>2]=213180;c[w+8>>2]=186;Xw(0,0,213444,w);ba()}w=K+288|0;g[w>>3]=+g[w>>3]+.7071067811865476;w=K+296|0;g[w>>3]=+g[w>>3]+.7071067811865476;if(!((P&4|0)==0&0==0))g[K+304>>3]=f*1.4142135623730951}if(!((b&256|0)==0&0==0)){do if((N&16|0)==0&0==0){if(!((N&512|0)==0&0==0)){w=K+1360|0;g[w>>3]=+g[w>>3]+.7071067811865476;w=K+1504|0;a=w;f=+g[w>>3];q=.7071067811865476;break}if((N&1|0)==0&0==0)if((N&4|0)==0&0==0){c[t>>2]=213565;c[t+4>>2]=213180;c[t+8>>2]=213;Xw(0,0,213444,t);ba()}else{w=K+352|0;a=w;f=h*.7071067811865476;q=+g[w>>3];break}if((n+-1|0)>>>0>=2){f=h*.7071067811865476;w=K+64|0;g[w>>3]=f+ +g[w>>3];w=K+208|0;a=w;q=+g[w>>3];break}if((b&528|0)==0&0==0){w=K+64|0;g[w>>3]=+g[w>>3]-h;w=K+208|0;a=w;f=+g[w>>3];q=h;break}else{f=h*.7071067811865476;w=K+64|0;g[w>>3]=+g[w>>3]-f;w=K+208|0;a=w;q=+g[w>>3];break}}else{w=K+640|0;g[w>>3]=+g[w>>3]+.7071067811865476;w=K+784|0;a=w;f=+g[w>>3];q=.7071067811865476}while(0);g[a>>3]=f+q}if(!((b&16|0)==0&0==0)){b:do if((N&256|0)==0&0==0){if(!((N&512|0)==0&0==0)){a=K+1328|0;f=+g[a>>3];if((P&512|0)==0&0==0){g[a>>3]=f+1.0;x=K+1480|0;a=x;f=+g[x>>3];q=1.0;break}else{g[a>>3]=f+.7071067811865476;x=K+1480|0;a=x;f=+g[x>>3];q=.7071067811865476;break}}if((N&1|0)==0&0==0)if((N&4|0)==0&0==0){c[x>>2]=213565;c[x+4>>2]=213180;c[x+8>>2]=246;Xw(0,0,213444,x);ba()}else{f=h*.7071067811865476;x=K+320|0;g[x>>3]=f+ +g[x>>3];x=K+328|0;a=x;q=+g[x>>3];break}switch(n|0){case 1:{f=h*.7071067811865476;x=K+32|0;g[x>>3]=+g[x>>3]-f;x=K+40|0;g[x>>3]=+g[x>>3]-f;x=K+176|0;g[x>>3]=f+ +g[x>>3];x=K+184|0;a=x;q=+g[x>>3];break b}case 2:{f=h*1.224744871391589;x=K+32|0;g[x>>3]=+g[x>>3]-f;q=h*.7071067811865476;x=K+40|0;g[x>>3]=+g[x>>3]-q;x=K+176|0;g[x>>3]=q+ +g[x>>3];x=K+184|0;a=x;q=+g[x>>3];break b}default:{x=K+32|0;g[x>>3]=+g[x>>3]+h;x=K+184|0;a=x;f=+g[x>>3];q=h;break b}}}else{x=K+1184|0;g[x>>3]=+g[x>>3]+.7071067811865476;x=K+1192|0;a=x;f=+g[x>>3];q=.7071067811865476}while(0);g[a>>3]=f+q}if(!((b&512|0)==0&0==0)){c:do if(!((N&16|0)==0&0==0)){a=K+648|0;h=+g[a>>3];if((P&16|0)==0&0==0){g[a>>3]=h+1.0;y=K+800|0;a=y;f=+g[y>>3];h=1.0;break}else{g[a>>3]=h+.7071067811865476;y=K+800|0;a=y;f=+g[y>>3];h=.7071067811865476;break}}else{if(!((N&256|0)==0&0==0)){y=K+1224|0;g[y>>3]=+g[y>>3]+.7071067811865476;y=K+1232|0;a=y;f=+g[y>>3];h=.7071067811865476;break}if((N&1|0)==0&0==0)if((N&4|0)==0&0==0){c[y>>2]=213565;c[y+4>>2]=213180;c[y+8>>2]=282;Xw(0,0,213444,y);ba()}else{f=h*.7071067811865476;y=K+360|0;g[y>>3]=f+ +g[y>>3];y=K+368|0;a=y;h=+g[y>>3];break}switch(n|0){case 1:{f=h*.7071067811865476;y=K+72|0;g[y>>3]=+g[y>>3]-f;y=K+80|0;g[y>>3]=+g[y>>3]-f;y=K+216|0;g[y>>3]=f+ +g[y>>3];y=K+224|0;a=y;h=+g[y>>3];break c}case 2:{f=h*1.224744871391589;y=K+72|0;g[y>>3]=+g[y>>3]-f;h=h*.7071067811865476;y=K+80|0;g[y>>3]=+g[y>>3]-h;y=K+216|0;g[y>>3]=h+ +g[y>>3];y=K+224|0;a=y;h=+g[y>>3];break c}default:{y=K+72|0;g[y>>3]=+g[y>>3]+h;y=K+224|0;a=y;f=+g[y>>3];break c}}}while(0);g[a>>3]=f+h}if(!((b&64|0)==0&0==0)){if((N&1|0)==0&0==0)if((N&4|0)==0&0==0){c[F>>2]=213565;c[F+4>>2]=213180;c[F+8>>2]=293;Xw(0,0,213444,F);ba()}else{z=2;D=.7071067811865476;E=2}else{z=1;D=1.0;E=0}F=K+(E*144|0)+48|0;g[F>>3]=+g[F>>3]+D;F=K+(z*144|0)+56|0;g[F>>3]=+g[F>>3]+D}if(!((b&8|0)==0&0==0)){do if((N&4|0)==0&0==0)if((N&1|0)==0&0==0){c[G>>2]=213565;c[G+4>>2]=213180;c[G+8>>2]=303;Xw(0,0,213444,G);ba()}else{B=i*.7071067811865476;G=K+24|0;g[G>>3]=B+ +g[G>>3];G=K+168|0;A=G;C=+g[G>>3];break}else{G=K+312|0;A=G;B=+g[G>>3];C=i}while(0);g[A>>3]=B+C}h=0.0;a=0;s=0;while(1){if((s|0)==64)break;b=cN(1,0,s|0)|0;p=M()|0;if(!((b&N|0)==0&(p&O|0)==0)){e=s>>>0<18;r=H(a,m)|0;d=(I&b|0)!=0|(J&p|0)!=0;b=0;f=0.0;p=0;while(1){if((p|0)==64)break;G=cN(1,0,p|0)|0;if(!((G&P|0)==0&((M()|0)&Q|0)==0)){if(e&p>>>0<18)q=+g[K+(s*144|0)+(p<<3)>>3];else q=+(d&(s|0)==(p|0)&1);g[l+(b+r<<3)>>3]=q;b=b+1|0;f=f+ +u(+q)}p=p+1|0}h=h>f?h:f;a=a+1|0}s=s+1|0}K=k<0.0;h=K?-k:h;d:do if(K|h>j){h=h/j;b=0;while(1){if((b|0)==64)break d;p=H(b,m)|0;a=0;while(1){if((a|0)==64)break;K=l+(a+p<<3)|0;g[K>>3]=+g[K>>3]/h;a=a+1|0}b=b+1|0}}while(0);e:do if(k>0.0){b=0;while(1){if((b|0)==64)break e;p=H(b,m)|0;a=0;while(1){if((a|0)==64)break;K=l+(a+p<<3)|0;g[K>>3]=+g[K>>3]*k;a=a+1|0}b=b+1|0}}while(0);Xw(o,48,213205,L);b=0;while(1){if((b|0)>=(_w(N,O)|0)){a=0;break a}p=ru(N,O,b)|0;p=Kx(p,M()|0)|0;c[R>>2]=(p|0)==0?213227:p;Xw(o,48,213229,R);p=H(b,m)|0;a=0;while(1){if((a|0)>=(_w(P,Q)|0))break;L=ru(P,Q,a)|0;L=Kx(L,M()|0)|0;k=+g[l+(a+p<<3)>>3];c[S>>2]=(L|0)==0?213227:L;g[S+8>>3]=k;Xw(o,48,213234,S);a=a+1|0}Xw(o,48,213241,T);b=b+1|0}}while(0);Mb=U;return a|0}function Qc(a,g,h,i,j,k,l,m){a=a|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0.0,p=0,q=0,r=0.0,s=0,t=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0.0,X=0,Y=0,Z=0,_=0.0;X=Mb;Mb=Mb+16|0;U=X;s=l+92|0;q=c[s>>2]|0;p=1024/(q|0)|0;V=c[l+80>>2]|0;n=0;while(1){if((n|0)>=(q|0))break;q=e[V+(d[l>>0]<<1)>>1]|0;Wp(g+(n<<7<<2)+(q<<2)|0,0,p-q<<2|0)|0;n=n+1|0;q=c[s>>2]|0}O=l+16|0;P=a+5408|0;Q=a+5404|0;R=h+8|0;S=h+16|0;M=g;n=0;N=0;a:while(1){if((N|0)>=(c[O>>2]|0)){p=68;break}T=d[l+20+N>>0]|0;p=0;while(1){if(p>>>0>=(d[l>>0]|0)>>>0)break;s=(c[m+(n<<2)>>2]|0)+-1|0;K=e[V+(p<<1)>>1]|0;q=M+(K<<2)|0;L=p+1|0;K=(e[V+(L<<1)>>1]|0)-K|0;b:do if(s>>>0>12){s=K<<2;p=q;q=0;while(1){if((q|0)==(T|0))break b;Wp(p|0,0,s|0)|0;p=p+512|0;q=q+1|0}}else{if((s|0)==12){t=i+(n<<2)|0;s=0;while(1){if((s|0)==(T|0))break b;p=0;while(1){if((p|0)>=(K|0))break;J=(H(c[P>>2]|0,1664525)|0)+1013904223|0;c[P>>2]=J;f[q+(p<<2)>>2]=+(J|0);p=p+1|0}r=+Ub[c[(c[Q>>2]|0)+36>>2]&1](q,q,K);r=+f[t>>2]/+v(+r);fc[c[(c[Q>>2]|0)+12>>2]&7](q,q,r,K);q=q+512|0;s=s+1|0}}F=c[56304+(s<<2)>>2]|0;G=c[56464+(s<<2)>>2]|0;I=c[818944+(s<<4)+4>>2]|0;p=c[R>>2]|0;J=c[S>>2]|0;c:do switch(s>>>1&2147483647|0){case 0:{A=i+(n<<2)|0;z=0;while(1){if((z|0)==(T|0))break c;x=q;y=K;do{t=c[h>>2]|0;E=t+(p>>>3)|0;E=(kS(d[E>>0]|d[E+1>>0]<<8|d[E+2>>0]<<16|d[E+3>>0]<<24|0)|0)<<(p&7)>>>24;w=b[I+(E<<2)>>1]|0;E=b[I+(E<<2)+2>>1]|0;s=E<<16>>16;if(E<<16>>16<0){p=p+8|0;p=J>>>0>p>>>0?p:J;E=t+(p>>>3)|0;s=((kS(d[E>>0]|d[E+1>>0]<<8|d[E+2>>0]<<16|d[E+3>>0]<<24|0)|0)<<(p&7)>>>(s+32|0))+w|0;w=b[I+(s<<2)>>1]|0;s=b[I+(s<<2)+2>>1]|0}p=p+s|0;p=J>>>0>p>>>0?p:J;x=gD(x,F,e[G+(w<<1)>>1]|0,A)|0;y=y+-4|0}while((y|0)!=0);q=q+512|0;z=z+1|0}}case 1:{B=i+(n<<2)|0;A=0;while(1){if((A|0)==(T|0))break c;y=q;z=K;do{t=c[h>>2]|0;s=t+(p>>>3)|0;s=(kS(d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24|0)|0)<<(p&7);E=s>>>24;x=b[I+(E<<2)>>1]|0;E=b[I+(E<<2)+2>>1]|0;w=E<<16>>16;if(E<<16>>16<0){p=p+8|0;p=J>>>0>p>>>0?p:J;s=t+(p>>>3)|0;s=(kS(d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24|0)|0)<<(p&7);t=(s>>>(w+32|0))+x|0;w=b[I+(t<<2)+2>>1]|0;t=b[I+(t<<2)>>1]|0}else t=x;p=p+w|0;D=e[G+(t<<1)>>1]|0;E=D>>>8&15;p=E+(J>>>0>p>>>0?p:J)|0;p=J>>>0>p>>>0?p:J;y=gs(y,F,D,(E|0)==0?0:s<<w,B)|0;z=z+-4|0}while((z|0)!=0);q=q+512|0;A=A+1|0}}case 2:{A=i+(n<<2)|0;z=0;while(1){if((z|0)==(T|0))break c;x=K;y=q;do{t=c[h>>2]|0;E=t+(p>>>3)|0;E=(kS(d[E>>0]|d[E+1>>0]<<8|d[E+2>>0]<<16|d[E+3>>0]<<24|0)|0)<<(p&7)>>>24;s=b[I+(E<<2)>>1]|0;E=b[I+(E<<2)+2>>1]|0;w=E<<16>>16;if(E<<16>>16<0){p=p+8|0;p=J>>>0>p>>>0?p:J;E=t+(p>>>3)|0;s=((kS(d[E>>0]|d[E+1>>0]<<8|d[E+2>>0]<<16|d[E+3>>0]<<24|0)|0)<<(p&7)>>>(w+32|0))+s|0;w=b[I+(s<<2)+2>>1]|0;s=b[I+(s<<2)>>1]|0}p=p+w|0;p=J>>>0>p>>>0?p:J;y=EL(y,F,e[G+(s<<1)>>1]|0,A)|0;x=x+-2|0}while((x|0)!=0);q=q+512|0;z=z+1|0}}case 4:case 3:{B=i+(n<<2)|0;A=0;while(1){if((A|0)==(T|0))break c;y=K;z=q;do{t=c[h>>2]|0;s=t+(p>>>3)|0;s=(kS(d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24|0)|0)<<(p&7);E=s>>>24;x=b[I+(E<<2)>>1]|0;E=b[I+(E<<2)+2>>1]|0;w=E<<16>>16;if(E<<16>>16<0){p=p+8|0;p=J>>>0>p>>>0?p:J;s=t+(p>>>3)|0;s=(kS(d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24|0)|0)<<(p&7);t=(s>>>(w+32|0))+x|0;w=b[I+(t<<2)+2>>1]|0;t=b[I+(t<<2)>>1]|0}else t=x;p=w+p|0;E=e[G+(t<<1)>>1]|0;D=E>>>8&15;p=D+(J>>>0>p>>>0?p:J)|0;p=J>>>0>p>>>0?p:J;z=rC(z,F,E,(D|0)==0?0:s<<w>>>(32-D|0)<<(E>>>12),B)|0;y=y+-2|0}while((y|0)!=0);q=q+512|0;A=A+1|0}}default:{E=i+(n<<2)|0;C=0;while(1){if(C>>>0>=T>>>0)break c;D=c[h>>2]|0;B=K;s=q;do{x=D+(p>>>3)|0;x=(kS(d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24|0)|0)<<(p&7);A=x>>>24;w=b[I+(A<<2)>>1]|0;A=b[I+(A<<2)+2>>1]|0;t=A<<16>>16;if(A<<16>>16<0){p=p+8|0;p=J>>>0>p>>>0?p:J;x=D+(p>>>3)|0;x=(kS(d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24|0)|0)<<(p&7);w=(x>>>(t+32|0))+w|0;t=b[I+(w<<2)+2>>1]|0;w=b[I+(w<<2)>>1]|0}p=t+p|0;p=J>>>0>p>>>0?p:J;d:do if(!w){c[s>>2]=0;c[s+4>>2]=0;s=s+8|0}else{y=e[G+(w<<1)>>1]|0;z=y>>>12;A=y>>>8;w=32-z|0;p=z+p|0;z=0;x=x<<t>>>w<<w;p=J>>>0>p>>>0?p:J;while(1){if(z>>>0>=2)break d;if(!(1<<z&A)){t=c[F+((y&15)<<2)>>2]|0;c[s>>2]=t|x&-2147483648;t=(t|0)!=0&1}else{t=D+(p>>>3)|0;t=(kS(d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24|0)|0)<<(p&7);Z=~t;w=t>>>0<4294901760;Z=w?Z>>>16:Z;w=w?16:0;Y=(Z&65280|0)==0;w=31-(d[91312+(Y?Z:Z>>>8)>>0]|0)-(Y?w:w|8)|0;if(w>>>0>8){p=66;break a}Y=w+1|0;p=Y+p|0;Z=w+4|0;p=(J>>>0>p>>>0?p:J)+Z|0;c[s>>2]=c[871456+((t<<Y>>>(28-w|0))+(1<<Z)<<2)>>2]|x&-2147483648;p=J>>>0>p>>>0?p:J;t=1}z=z+1|0;x=x<<t;y=y>>>4;s=s+4|0}}while(0);B=B+-2|0}while((B|0)!=0);fc[c[(c[Q>>2]|0)+12>>2]&7](q,q,+f[E>>2],K);q=q+512|0;C=C+1|0}}}while(0);c[R>>2]=p}while(0);p=L;n=n+1|0}M=M+(T<<7<<2)|0;N=N+1|0}e:do if((p|0)==66){Xw(c[a+4>>2]|0,16,188621,U);n=-1094995529}else if((p|0)==68)if(!j)n=0;else{t=c[k>>2]|0;s=0;n=0;while(1){if((s|0)>=(t|0)){n=0;break e}q=c[k+8+(s<<2)>>2]|0;w=g+(q<<2)|0;r=+f[w>>2];while(1){p=n+1|0;if((q|0)<(e[V+(p<<1)>>1]|0))break;else n=p}if((c[m+(n<<2)>>2]|0)!=13?(W=+f[i+(n<<2)>>2],W!=0.0):0){o=+(0-(c[k+24+(s<<2)>>2]|0)|0);if(r!=0.0){r=r/W;_=r/+v(+(+v(+(+u(+r)))));o=_+(r>0.0?-o:o)}_=W*(o*+Qs(+u(+o)));f[w>>2]=_}s=s+1|0}}while(0);Mb=X;return n|0}function Rc(a,b){a=a|0;b=b|0;var e=0.0,f=0,h=0.0,i=0,j=0.0,k=0.0,l=0,m=0,n=0.0,o=0.0,p=0,q=0.0,s=0;s=Mb;Mb=Mb+16|0;i=s;a:do switch(c[b>>2]|0){case 0:{e=+g[b+8>>3];break}case 1:{e=+g[b+8>>3]*+g[(c[a+12>>2]|0)+(c[b+16>>2]<<3)>>3];break}case 2:{o=+g[b+8>>3];p=c[b+16>>2]|0;q=+Rc(a,c[b+20>>2]|0);q=o*+Qb[p&15](q);Mb=s;return +q}case 3:{o=+g[b+8>>3];m=c[b+16>>2]|0;p=c[a+36>>2]|0;q=+Rc(a,c[b+20>>2]|0);q=o*+Rb[m&0](p,q);Mb=s;return +q}case 4:{n=+g[b+8>>3];m=c[b+16>>2]|0;p=c[a+36>>2]|0;o=+Rc(a,c[b+20>>2]|0);q=+Rc(a,c[b+24>>2]|0);q=n*+Sb[m&0](p,o,q);Mb=s;return +q}case 5:{q=1.0/(+E(+(+Rc(a,c[b+20>>2]|0)*4.0))+1.0);Mb=s;return +q}case 6:{q=+Rc(a,c[b+20>>2]|0);q=+E(+(q*q*-.5))/2.5066282746310002;Mb=s;return +q}case 7:{q=+g[b+8>>3];p=c[a+48>>2]|0;a=~~+Rc(a,c[b+20>>2]|0);a=(a|0)<9?a:9;Mb=s;return +(q*+g[p+(((a|0)>0?a:0)<<3)>>3])}case 8:{q=+g[b+8>>3];a=UO(+Rc(a,c[b+20>>2]|0))|0;p=(M()|0)&2147483647;Mb=s;return +(q*+((p>>>0>2146435072|(p|0)==2146435072&a>>>0>0)&1))}case 9:{q=+g[b+8>>3]*+((UO(+Rc(a,c[b+20>>2]|0))|0)==0&((M()|0)&2147483647|0)==2146435072&1);Mb=s;return +q}case 27:{q=+g[b+8>>3]*+t(+(+Rc(a,c[b+20>>2]|0)));Mb=s;return +q}case 28:{q=+g[b+8>>3]*+G(+(+Rc(a,c[b+20>>2]|0)));Mb=s;return +q}case 29:{q=+g[b+8>>3]*+rb(+(+Rc(a,c[b+20>>2]|0)));Mb=s;return +q}case 30:{q=+g[b+8>>3]*+NT(+(+Rc(a,c[b+20>>2]|0)));Mb=s;return +q}case 31:{q=+g[b+8>>3]*+v(+(+Rc(a,c[b+20>>2]|0)));Mb=s;return +q}case 32:{q=+g[b+8>>3]*+(+Rc(a,c[b+20>>2]|0)==0.0&1);Mb=s;return +q}case 36:{h=+g[b+8>>3];if(!(+Rc(a,c[b+20>>2]|0)!=0.0)){f=c[b+28>>2]|0;if(!f)e=0.0;else e=+Rc(a,f)}else e=+Rc(a,c[b+24>>2]|0);e=h*e;break}case 37:{h=+g[b+8>>3];if(+Rc(a,c[b+20>>2]|0)!=0.0){f=c[b+28>>2]|0;if(!f)e=0.0;else e=+Rc(a,f)}else e=+Rc(a,c[b+24>>2]|0);e=h*e;break}case 42:{f=b+20|0;e=+Rc(a,c[f>>2]|0);h=+Rc(a,c[b+24>>2]|0);j=+Rc(a,c[b+28>>2]|0);p=UO(h)|0;m=(M()|0)&2147483647;if((!(m>>>0>2146435072|(m|0)==2146435072&p>>>0>0)?(p=UO(j)|0,m=(M()|0)&2147483647,!(m>>>0>2146435072|(m|0)==2146435072&p>>>0>0)):0)?(p=UO(e)|0,m=(M()|0)&2147483647,!(h>j|(m>>>0>2146435072|(m|0)==2146435072&p>>>0>0))):0){o=+g[b+8>>3];q=+Rc(a,c[f>>2]|0);Mb=s;return +(o*(q<h?h:q>j?j:q))}else e=r;break}case 41:{e=+Rc(a,c[b+20>>2]|0);h=+g[b+8>>3];if(!(e>=+Rc(a,c[b+24>>2]|0)))e=0.0;else e=+(e<=+Rc(a,c[b+28>>2]|0)&1);e=h*e;break}case 44:{q=+Rc(a,c[b+20>>2]|0);q=q+(+Rc(a,c[b+24>>2]|0)-q)*+Rc(a,c[b+28>>2]|0);Mb=s;return +q}case 38:{e=+Rc(a,c[b+20>>2]|0);f=c[b+24>>2]|0;if(!f)f=32;else f=~~+Rc(a,f);g[i>>3]=e;Xw(a,f,208814,i);break}case 33:{p=~~+Rc(a,c[b+20>>2]|0);p=(p|0)<9?p:9;a=(c[a+48>>2]|0)+(((p|0)>0?p:0)<<3)|0;q=+g[a>>3];p=UO(q)|0;m=(M()|0)&2147483647;q=+((SO(XJ(~~q>>>0|0,(+u(q)>=1.0?(q>0.0?~~+I(+t(q/4294967296.0),4294967295.0)>>>0:~~+G((q-+(~~q>>>0))/4294967296.0)>>>0):0)|0,1664525,0)|0,M()|0,1013904223,0)|0)>>>0)+4294967296.0*+((M()|0)>>>0);q=m>>>0>2146435072|(m|0)==2146435072&p>>>0>0?1013904223.0:q;g[a>>3]=q;Mb=s;return +(+g[b+8>>3]*(q*5.421010862427522e-20))}case 24:{i=b+20|0;f=b+24|0;e=r;while(1){if(!(+Rc(a,c[i>>2]|0)!=0.0))break a;e=+Rc(a,c[f>>2]|0)}}case 25:{k=+Rc(a,c[b+24>>2]|0);f=c[b+28>>2]|0;if(!f)m=0;else{m=~~+Rc(a,f);m=(m|0)<9?m:9;m=(m|0)>0?m:0}l=a+48|0;n=+g[(c[l>>2]|0)+(m<<3)>>3];i=b+20|0;h=1.0;e=0.0;f=0;while(1){if(f>>>0>=1e3)break;g[(c[l>>2]|0)+(m<<3)>>3]=+(f|0);q=+Rc(a,c[i>>2]|0);j=e+h*q;if(q!=0.0&e==j){e=j;break}p=f+1|0;h=h*(k/+(p|0));e=j;f=p}g[(c[l>>2]|0)+(m<<3)>>3]=n;break}case 26:{p=a+48|0;q=+g[c[p>>2]>>3];o=+Rc(a,c[b+24>>2]|0);l=b+20|0;n=1797693134862315708145274.0e284;j=-1797693134862315708145274.0e284;h=-1.0;e=-1.0;i=-1;while(1){if((i|0)>=1024){k=n;break}do if((i|0)>=255){k=o*+w(.9,+(+(i+-255|0)));f=c[p>>2]|0;k=(i&1|0)==0?k:-k;g[f>>3]=k;if(!(i&2)){g[f>>3]=h+k;break}else{g[f>>3]=e+k;break}}else g[c[p>>2]>>3]=o*+(d[148160+(i&255)>>0]|0)/255.0;while(0);k=+Rc(a,c[l>>2]|0);if(k<=0.0&k>j){j=k;e=+g[c[p>>2]>>3]}if(k>=0.0&k<n)h=+g[c[p>>2]>>3];else k=n;if(e>=0.0&h>=0.0){m=62;break}else{n=k;i=i+1|0}}b:do if((m|0)==62){f=0;while(1){if(f>>>0>=1e3)break b;o=(e+h)*.5;g[c[p>>2]>>3]=o;if(e==o|h==o)break b;n=+Rc(a,c[l>>2]|0);if(n<=0.0)e=+g[c[p>>2]>>3];if(n>=0.0)h=+g[c[p>>2]>>3];b=UO(n)|0;m=(M()|0)&2147483647;if(m>>>0>2146435072|(m|0)==2146435072&b>>>0>0){h=n;e=n;break}else f=f+1|0}}while(0);g[c[p>>2]>>3]=q;e=k>-j?e:h;break}default:{e=+Rc(a,c[b+20>>2]|0);h=+Rc(a,c[b+24>>2]|0);do switch(c[b>>2]|0){case 10:{e=(e-h*+t(+(e/h)))*+g[b+8>>3];break a}case 35:{e=+g[b+8>>3]*(+((Ai(~~e>>>0,+u(e)>=1.0?(e>0.0?~~+I(+t(e/4294967296.0),4294967295.0)>>>0:~~+G((e-+(~~e>>>0))/4294967296.0)>>>0):0,~~h>>>0,+u(h)>=1.0?(h>0.0?~~+I(+t(h/4294967296.0),4294967295.0)>>>0:~~+G((h-+(~~h>>>0))/4294967296.0)>>>0):0)|0)>>>0)+4294967296.0*+(M()|0));break a}case 11:{e=(e>h?e:h)*+g[b+8>>3];break a}case 12:{e=(e<h?e:h)*+g[b+8>>3];break a}case 13:{e=(e==h?1.0:0.0)*+g[b+8>>3];break a}case 14:{e=(e>h?1.0:0.0)*+g[b+8>>3];break a}case 15:{e=(e>=h?1.0:0.0)*+g[b+8>>3];break a}case 17:{e=(e<h?1.0:0.0)*+g[b+8>>3];break a}case 16:{e=(e<=h?1.0:0.0)*+g[b+8>>3];break a}case 18:{e=+w(+e,+h)*+g[b+8>>3];break a}case 19:{e=e*h*+g[b+8>>3];break a}case 20:{e=e/h*+g[b+8>>3];break a}case 21:{e=(e+h)*+g[b+8>>3];break a}case 22:{e=h*+g[b+8>>3];break a}case 23:{q=+g[b+8>>3];p=~~e;p=(p|0)<9?p:9;g[(c[a+48>>2]|0)+(((p|0)>0?p:0)<<3)>>3]=h;e=h*q;break a}case 34:{e=+g[b+8>>3]*+Ek(e,h);break a}case 43:{e=+g[b+8>>3]*+D(+e,+h);break a}case 39:{a=UO(e)|0;p=(M()|0)&2147483647;if(p>>>0>2146435072|(p|0)==2146435072&a>>>0>0){e=r;break a}a=UO(h)|0;p=(M()|0)&2147483647;if(p>>>0>2146435072|(p|0)==2146435072&a>>>0>0){e=r;break a}e=+g[b+8>>3]*+(~~h&~~e|0);break a}case 40:{a=UO(e)|0;p=(M()|0)&2147483647;if(p>>>0>2146435072|(p|0)==2146435072&a>>>0>0){e=r;break a}a=UO(h)|0;p=(M()|0)&2147483647;if(p>>>0>2146435072|(p|0)==2146435072&a>>>0>0){e=r;break a}e=+g[b+8>>3]*+(~~h|~~e|0);break a}default:{e=r;break a}}while(0)}}while(0);Mb=s;return +e}function Sc(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=Mb;Mb=Mb+560|0;l=F+32|0;u=F+536|0;E=F;D=E;m=F+540|0;c[u>>2]=0;C=m+12|0;UO(e)|0;j=M()|0;if((j|0)<0){e=-e;UO(e)|0;B=1;A=213664;j=M()|0}else{B=(h&2049|0)!=0&1;A=(h&2048|0)==0?((h&1|0)==0?213665:213670):213667}do if(0==0&(j&2146435072|0)==2146435072){E=(i&32|0)!=0;j=B+3|0;_v(b,32,f,j,h&-65537);mQ(b,A,B);mQ(b,e!=e|0.0!=0.0?(E?213691:213695):E?213683:213687,3);_v(b,32,f,j,h^8192)}else{q=+Tt(e,u)*2.0;j=q!=0.0;if(j)c[u>>2]=(c[u>>2]|0)+-1;t=i|32;if((t|0)==97){o=i&32;r=(o|0)==0?A:A+9|0;p=B|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[r>>0]|0)==45){e=-(e+(-q-e));break}else{e=q+e-e;break}}else e=q;while(0);k=c[u>>2]|0;j=(k|0)<0?0-k|0:k;j=Is(j,((j|0)<0)<<31>>31,C)|0;if((j|0)==(C|0)){j=m+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;a[n>>0]=i+15;k=(g|0)<1;l=(h&8|0)==0;m=E;do{B=~~e;j=m+1|0;a[m>>0]=o|d[157840+B>>0];e=(e-+(B|0))*16.0;if((j-D|0)==1?!(l&(k&e==0.0)):0){a[j>>0]=46;m=m+2|0}else m=j}while(e!=0.0);if((g|0)!=0?(-2-D+m|0)<(g|0):0){k=C;l=n;j=g+2+k-l|0}else{k=C;l=n;j=k-D-l+m|0}C=j+p|0;_v(b,32,f,C,h);mQ(b,r,p);_v(b,48,f,C,h^65536);D=m-D|0;mQ(b,E,D);E=k-l|0;_v(b,48,j-(D+E)|0,0,0);mQ(b,n,E);_v(b,32,f,C,h^8192);j=C;break}k=(g|0)<0?6:g;if(j){j=(c[u>>2]|0)+-28|0;c[u>>2]=j;e=q*268435456.0}else{e=q;j=c[u>>2]|0}z=(j|0)<0?l:l+288|0;l=z;do{x=~~e>>>0;c[l>>2]=x;l=l+4|0;e=(e-+(x>>>0))*1.0e9}while(e!=0.0);x=z;if((j|0)>0){o=z;while(1){n=(j|0)<29?j:29;j=l+-4|0;if(j>>>0>=o>>>0){m=0;do{s=cN(c[j>>2]|0,0,n|0)|0;s=SO(s|0,M()|0,m|0,0)|0;v=M()|0;m=ZR(s|0,v|0,1e9,0)|0;w=XJ(m|0,M()|0,1e9,0)|0;w=QO(s|0,v|0,w|0,M()|0)|0;M()|0;c[j>>2]=w;j=j+-4|0}while(j>>>0>=o>>>0);if(m){w=o+-4|0;c[w>>2]=m;m=w}else m=o}else m=o;a:do if(l>>>0>m>>>0){j=l;while(1){l=j+-4|0;if(c[l>>2]|0){l=j;break a}if(l>>>0>m>>>0)j=l;else break}}while(0);j=(c[u>>2]|0)-n|0;c[u>>2]=j;if((j|0)>0)o=m;else break}}else m=z;if((j|0)<0){g=((k+25|0)/9|0)+1|0;s=(t|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0<l>>>0){n=(1<<r)+-1|0;o=1e9>>>r;p=0;j=m;do{w=c[j>>2]|0;c[j>>2]=(w>>>r)+p;p=H(w&n,o)|0;j=j+4|0}while(j>>>0<l>>>0);m=(c[m>>2]|0)==0?m+4|0:m;if(p){c[l>>2]=p;l=l+4|0}}else m=(c[m>>2]|0)==0?m+4|0:m;j=s?z:m;l=(l-j>>2|0)>(g|0)?j+(g<<2)|0:l;j=(c[u>>2]|0)+r|0;c[u>>2]=j}while((j|0)<0);s=m}else s=m;if(s>>>0<l>>>0){j=(x-s>>2)*9|0;n=c[s>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;j=j+1|0}while(n>>>0>=m>>>0)}}else j=0;v=(t|0)==103;w=(k|0)!=0;m=k-((t|0)==102?0:j)+((w&v)<<31>>31)|0;if((m|0)<(((l-x>>2)*9|0)+-9|0)){u=m+9216|0;m=(u|0)/9|0;g=z+4+(m+-1024<<2)|0;m=u-(m*9|0)|0;if((m|0)<8){n=10;while(1){n=n*10|0;if((m|0)<7)m=m+1|0;else break}}else n=10;p=c[g>>2]|0;m=(p>>>0)/(n>>>0)|0;r=p-(H(m,n)|0)|0;o=(g+4|0)==(l|0);if(!(o&(r|0)==0)){q=(m&1|0)==0?9007199254740992.0:9007199254740994.0;u=n>>>1;e=r>>>0<u>>>0?.5:o&(r|0)==(u|0)?1.0:1.5;if(B){u=(a[A>>0]|0)==45;e=u?-e:e;q=u?-q:q}m=p-r|0;c[g>>2]=m;if(q+e!=q){u=m+n|0;c[g>>2]=u;if(u>>>0>999999999){n=g;j=s;while(1){m=n+-4|0;c[n>>2]=0;if(m>>>0<j>>>0){j=j+-4|0;c[j>>2]=0}u=(c[m>>2]|0)+1|0;c[m>>2]=u;if(u>>>0>999999999)n=m;else{n=j;break}}}else{m=g;n=s}j=(x-n>>2)*9|0;p=c[n>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;j=j+1|0}while(p>>>0>=o>>>0)}}else{m=g;n=s}}else{m=g;n=s}u=m+4|0;l=l>>>0>u>>>0?u:l}else n=s;g=0-j|0;b:do if(l>>>0>n>>>0)while(1){m=l+-4|0;if(c[m>>2]|0){u=l;t=1;break b}if(m>>>0>n>>>0)l=m;else{u=m;t=0;break}}else{u=l;t=0}while(0);do if(v){k=k+((w^1)&1)|0;if((k|0)>(j|0)&(j|0)>-5){o=i+-1|0;k=k+-1-j|0}else{o=i+-2|0;k=k+-1|0}if(!(h&8)){if(t?(y=c[u+-4>>2]|0,(y|0)!=0):0)if(!((y>>>0)%10|0)){m=0;l=10;do{l=l*10|0;m=m+1|0}while(!((y>>>0)%(l>>>0)|0|0))}else m=0;else m=9;l=((u-x>>2)*9|0)+-9|0;if((o|32|0)==102){i=l-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=l+j-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else o=i;while(0);s=(k|0)!=0;p=s?1:h>>>3&1;r=(o|32|0)==102;if(r){v=0;j=(j|0)>0?j:0}else{l=(j|0)<0?g:j;l=Is(l,((l|0)<0)<<31>>31,C)|0;m=C;if((m-l|0)<2)do{l=l+-1|0;a[l>>0]=48}while((m-l|0)<2);a[l+-1>>0]=(j>>31&2)+43;j=l+-2|0;a[j>>0]=o;v=j;j=m-j|0}j=B+1+k+p+j|0;_v(b,32,f,j,h);mQ(b,A,B);_v(b,48,f,j,h^65536);if(r){p=n>>>0>z>>>0?z:n;r=E+9|0;n=r;o=E+8|0;m=p;do{l=Is(c[m>>2]|0,0,r)|0;if((m|0)==(p|0)){if((l|0)==(r|0)){a[o>>0]=48;l=o}}else if(l>>>0>E>>>0){Wp(E|0,48,l-D|0)|0;do l=l+-1|0;while(l>>>0>E>>>0)}mQ(b,l,n-l|0);m=m+4|0}while(m>>>0<=z>>>0);if(!((h&8|0)==0&(s^1)))mQ(b,213699,1);if(m>>>0<u>>>0&(k|0)>0)while(1){l=Is(c[m>>2]|0,0,r)|0;if(l>>>0>E>>>0){Wp(E|0,48,l-D|0)|0;do l=l+-1|0;while(l>>>0>E>>>0)}mQ(b,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0<u>>>0&(k|0)>9)){k=l;break}else k=l}_v(b,48,k+9|0,9,0)}else{u=t?u:n+4|0;if(n>>>0<u>>>0&(k|0)>-1){g=E+9|0;s=(h&8|0)==0;t=g;p=0-D|0;r=E+8|0;o=n;do{l=Is(c[o>>2]|0,0,g)|0;if((l|0)==(g|0)){a[r>>0]=48;l=r}do if((o|0)==(n|0)){m=l+1|0;mQ(b,l,1);if(s&(k|0)<1){l=m;break}mQ(b,213699,1);l=m}else{if(l>>>0<=E>>>0)break;Wp(E|0,48,l+p|0)|0;do l=l+-1|0;while(l>>>0>E>>>0)}while(0);D=t-l|0;mQ(b,l,(k|0)>(D|0)?D:k);k=k-D|0;o=o+4|0}while(o>>>0<u>>>0&(k|0)>-1)}_v(b,48,k+18|0,18,0);mQ(b,v,C-v|0)}_v(b,32,f,j,h^8192)}while(0);Mb=F;return ((j|0)<(f|0)?f:j)|0}function Tc(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;I=Mb;Mb=Mb+128|0;t=I+24|0;y=I+16|0;v=I+8|0;u=I;H=I+48|0;s=I+40|0;E=I+32|0;F=c[b>>2]|0;h=H;i=h+72|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));if((g|0)>3)p=(Ix(171067,f,4)|0)==0;else p=0;w=b+32|0;c[w>>2]=1;x=b+224|0;c[x>>2]=0;D=b+312|0;c[D>>2]=0;C=F+1388|0;II(C);c[F+1572>>2]=-1;a:do if(g|0){c[s>>2]=0;m=F+1636|0;z=H+28|0;n=H+12|0;o=H+8|0;B=H+68|0;A=H+48|0;q=F+40|0;r=H+16|0;i=(c[F+1632>>2]|0)==0?g:0;h=0;b:while(1){while(1){if((h|0)>=(i|0)){G=7;break}h=hI(f,g,h,i)|0;if((h|0)>=(g|0)){G=112;break b}if((h|0)<(i|0)){G=11;break}}if((G|0)==7){G=0;c[s>>2]=h;h=It(c[m>>2]|0,f,g,s,e)|0;if((h|0)<0){G=113;break}k=c[s>>2]|0;l=k+h|0;h=k}else if((G|0)==11){G=0;c[s>>2]=h;l=i}i=l-h|0;k=f+h|0;J=a[k>>0]|0;j=J&255;c:do switch(J&31){case 5:case 1:if((j&31|0)==5|(j&96|0)==0){i=(i|0)<60?i:60;break c}else{i=(i|0)<1e3?i:1e3;break c}default:{}}while(0);i=Te(k,i,H,1)|0;if((i|0)<0){G=113;break}h=i+h|0;c[s>>2]=h;if((sQ(z,c[n>>2]|0,c[o>>2]|0)|0)<0)break;zN(z)|0;J=zG(z,2)|0;c[B>>2]=J;J=zG(z,5)|0;c[A>>2]=J;switch(J|0){case 5:{G=23;break b}case 1:{G=24;break b}case 7:{Xc(z,e,q,0)|0;break}case 8:{Dd(z,e,q,c[r>>2]|0)|0;break}case 6:{bh(C,z,q,e)|0;break}default:{}}i=l}if((G|0)==23){c[x>>2]=1;c[F+1384>>2]=0;c[F+1380>>2]=0;c[F+1372>>2]=0;c[F+1368>>2]=0;G=24}else if((G|0)==112){c[s>>2]=h;G=113}do if((G|0)==24){LG(z)|0;J=171007+(((MD(z)|0)>>>0)%5|0)|0;c[w>>2]=d[J>>0];if((c[F+1428>>2]|0)>-1)c[x>>2]=1;h=dq(z)|0;if(h>>>0>255){c[u>>2]=h;Xw(e,16,200444,u);break}i=F+168+(h<<2)|0;if(!(c[i>>2]|0)){c[v>>2]=h;Xw(e,16,200468,v);break}J=F+1192|0;QS(J);j=F+1196|0;QS(j);l=F+1200|0;c[l>>2]=0;k=F+1204|0;c[k>>2]=0;h=$H(c[i>>2]|0)|0;c[J>>2]=h;if(h|0){h=c[h+4>>2]|0;c[l>>2]=h;h=c[h>>2]|0;i=c[F+40+(h<<2)>>2]|0;if(!i){c[y>>2]=h;Xw(e,16,200500,y);break}h=$H(i)|0;c[j>>2]=h;if(h|0){n=c[h+4>>2]|0;c[k>>2]=n;if(((c[n+48>>2]|0)<2?(c[(c[l>>2]|0)+20>>2]|0)>>>0<2:0)?(c[w>>2]|0)==1:0)c[x>>2]=1;h=zG(z,c[n+20>>2]|0)|0;m=F+1344|0;o=F+1364|0;c[o>>2]=h;h=c[n+56>>2]<<4;c[b+328>>2]=h;i=c[n+60>>2]<<4;c[b+332>>2]=i;y=h-(c[n+84>>2]|0)-(c[n+80>>2]|0)|0;j=b+320|0;c[j>>2]=y;J=i-(c[n+88>>2]|0)-(c[n+92>>2]|0)|0;k=b+324|0;c[k>>2]=J;if((y|0)<1|(J|0)<1){c[j>>2]=h;c[k>>2]=i}d:do switch(c[n+1184>>2]|0){case 9:{h=c[n+12>>2]|0;if((h|0)==3){c[b+336>>2]=76;break d}i=b+336|0;if((h|0)==2){c[i>>2]=80;break d}else{c[i>>2]=70;break d}}case 10:{h=c[n+12>>2]|0;if((h|0)==3){c[b+336>>2]=78;break d}i=b+336|0;if((h|0)==2){c[i>>2]=74;break d}else{c[i>>2]=72;break d}}case 8:{h=c[n+12>>2]|0;if((h|0)==3){c[b+336>>2]=5;break d}i=b+336|0;if((h|0)==2){c[i>>2]=4;break d}else{c[i>>2]=0;break d}}default:c[b+336>>2]=-1}while(0);J=MH(n)|0;c[e+828>>2]=J;c[e+832>>2]=c[n+8>>2];if((c[n+64>>2]|0)==0?(zN(z)|0)!=0:0)h=(zN(z)|0)+1|0;else h=3;c[F+1644>>2]=h;if((c[A>>2]|0)==5)LG(z)|0;i=n+24|0;h=c[i>>2]|0;if(!h){J=zG(z,c[n+28>>2]|0)|0;c[m>>2]=J;if((c[(c[l>>2]|0)+8>>2]|0)==1?(c[F+1644>>2]|0)==3:0){J=uq(z)|0;c[F+1352>>2]=J}h=c[i>>2]|0}if((((h|0)==1?(c[n+32>>2]|0)==0:0)?(J=uq(z)|0,c[F+1356>>2]=J,(c[(c[l>>2]|0)+8>>2]|0)==1):0)?(c[F+1644>>2]|0)==3:0){J=uq(z)|0;c[F+1360>>2]=J}l=E+4|0;c[l>>2]=2147483647;c[E>>2]=2147483647;k=F+1644|0;ah(E,b+316|0,n,m,c[k>>2]|0,c[B>>2]|0)|0;if(!((c[B>>2]|0)==0|(c[A>>2]|0)==5)){h=Tf(b,z,e)|0;if((h|0)<0)break;if(h){h=0;i=0;j=1}else G=75}else G=75;if((G|0)==75){h=c[o>>2]|0;i=c[F+1376>>2]|0;j=0}c[F+1384>>2]=h;c[F+1380>>2]=i;if(c[B>>2]|0){if(j){c[F+1368>>2]=0;h=(c[k>>2]|0)==2?0:c[E>>2]|0}else{c[F+1368>>2]=c[F+1348>>2];h=c[m>>2]|0}c[F+1372>>2]=h}i=(c[n+1160>>2]|0)==0;e:do if(i)G=89;else{if(!(c[C>>2]|0)){G=89;break}switch(c[F+1392>>2]|0){case 2:case 1:{h=0;break e}case 4:case 3:case 0:{h=1;break e}case 6:case 5:{h=2;break e}case 7:{h=3;break e}case 8:{h=5;break e}default:{h=(c[k>>2]|0)==3&1;break e}}}while(0);if((G|0)==89)h=(c[k>>2]|0)==3&1;c[b+36>>2]=h;h=c[k>>2]|0;f:do switch(h|0){case 3:{c[D>>2]=3;do if(!i){if(!(c[C>>2]|0))break;switch(c[F+1392>>2]|0){case 5:case 3:{c[b+308>>2]=2;break f}case 6:case 4:{c[b+308>>2]=3;break f}default:{c[b+308>>2]=1;break f}}}while(0);j=c[E>>2]|0;i=c[l>>2]|0;if((j|0)<(i|0)){c[b+308>>2]=2;break f}h=b+308|0;if((j|0)>(i|0)){c[h>>2]=3;break f}else{c[h>>2]=1;break f}}case 1:{m=h;G=103;break}default:{m=2;G=103}}while(0);if((G|0)==103){c[D>>2]=m;k=c[o>>2]|0;l=F+1672|0;i=F+1676|0;g:do if((k|0)==(c[l>>2]|0)){j=c[i>>2]|0;switch(j|0){case 3:case 0:{G=109;break g}default:{}}if((j|0)==(m|0)){G=109;break}h=b+308|0;if((j|0)==1){c[h>>2]=2;break}else{c[h>>2]=3;break}}else G=109;while(0);if((G|0)==109)c[b+308>>2]=0;c[i>>2]=m;c[l>>2]=k}hM(H);break a}}}else if((G|0)==113)if(p){hM(H);break a}else{c[t>>2]=g;Xw(e,16,169206,t);break}while(0);hM(H)}while(0);Mb=I;return}function Uc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0;switch(b|0){case 9:{b=307;d=311;e=315;f=319;g=308;h=312;i=316;j=320;k=309;l=313;m=317;n=321;o=310;p=314;q=318;r=322;s=339;t=343;u=347;v=351;w=340;x=344;y=348;z=352;A=341;B=345;C=349;D=353;E=342;F=346;G=350;H=354;I=323;J=327;K=331;L=335;M=324;N=328;O=332;P=336;Q=325;R=329;S=333;T=337;U=326;V=330;W=334;X=338;Y=243;Z=247;_=251;$=255;aa=244;ba=248;ca=252;da=256;ea=245;fa=249;ga=253;ha=257;ia=246;ja=250;ka=254;la=258;ma=291;na=295;oa=299;pa=303;qa=292;ra=296;sa=300;ta=304;ua=293;va=297;wa=301;xa=305;ya=294;za=298;Aa=302;Ba=306;Ca=275;Da=279;Ea=283;Fa=287;Ga=276;Ha=280;Ia=284;Ja=288;Ka=277;La=281;Ma=285;Na=289;Oa=278;Pa=282;Qa=286;Ra=290;Sa=259;Ta=263;Ua=267;Va=271;Wa=260;Xa=264;Ya=268;Za=272;_a=261;$a=265;ab=269;bb=273;cb=262;db=266;eb=270;fb=274;break}case 10:{b=419;d=423;e=427;f=431;g=420;h=424;i=428;j=432;k=421;l=425;m=429;n=433;o=422;p=426;q=430;r=434;s=451;t=455;u=459;v=463;w=452;x=456;y=460;z=464;A=453;B=457;C=461;D=465;E=454;F=458;G=462;H=466;I=435;J=439;K=443;L=447;M=436;N=440;O=444;P=448;Q=437;R=441;S=445;T=449;U=438;V=442;W=446;X=450;Y=355;Z=359;_=363;$=367;aa=356;ba=360;ca=364;da=368;ea=357;fa=361;ga=365;ha=369;ia=358;ja=362;ka=366;la=370;ma=403;na=407;oa=411;pa=415;qa=404;ra=408;sa=412;ta=416;ua=405;va=409;wa=413;xa=417;ya=406;za=410;Aa=414;Ba=418;Ca=387;Da=391;Ea=395;Fa=399;Ga=388;Ha=392;Ia=396;Ja=400;Ka=389;La=393;Ma=397;Na=401;Oa=390;Pa=394;Qa=398;Ra=402;Sa=371;Ta=375;Ua=379;Va=383;Wa=372;Xa=376;Ya=380;Za=384;_a=373;$a=377;ab=381;bb=385;cb=374;db=378;eb=382;fb=386;break}case 12:{b=531;d=535;e=539;f=543;g=532;h=536;i=540;j=544;k=533;l=537;m=541;n=545;o=534;p=538;q=542;r=546;s=563;t=567;u=571;v=575;w=564;x=568;y=572;z=576;A=565;B=569;C=573;D=577;E=566;F=570;G=574;H=578;I=547;J=551;K=555;L=559;M=548;N=552;O=556;P=560;Q=549;R=553;S=557;T=561;U=550;V=554;W=558;X=562;Y=467;Z=471;_=475;$=479;aa=468;ba=472;ca=476;da=480;ea=469;fa=473;ga=477;ha=481;ia=470;ja=474;ka=478;la=482;ma=515;na=519;oa=523;pa=527;qa=516;ra=520;sa=524;ta=528;ua=517;va=521;wa=525;xa=529;ya=518;za=522;Aa=526;Ba=530;Ca=499;Da=503;Ea=507;Fa=511;Ga=500;Ha=504;Ia=508;Ja=512;Ka=501;La=505;Ma=509;Na=513;Oa=502;Pa=506;Qa=510;Ra=514;Sa=483;Ta=487;Ua=491;Va=495;Wa=484;Xa=488;Ya=492;Za=496;_a=485;$a=489;ab=493;bb=497;cb=486;db=490;eb=494;fb=498;break}case 14:{b=643;d=647;e=651;f=655;g=644;h=648;i=652;j=656;k=645;l=649;m=653;n=657;o=646;p=650;q=654;r=658;s=675;t=679;u=683;v=687;w=676;x=680;y=684;z=688;A=677;B=681;C=685;D=689;E=678;F=682;G=686;H=690;I=659;J=663;K=667;L=671;M=660;N=664;O=668;P=672;Q=661;R=665;S=669;T=673;U=662;V=666;W=670;X=674;Y=579;Z=583;_=587;$=591;aa=580;ba=584;ca=588;da=592;ea=581;fa=585;ga=589;ha=593;ia=582;ja=586;ka=590;la=594;ma=627;na=631;oa=635;pa=639;qa=628;ra=632;sa=636;ta=640;ua=629;va=633;wa=637;xa=641;ya=630;za=634;Aa=638;Ba=642;Ca=611;Da=615;Ea=619;Fa=623;Ga=612;Ha=616;Ia=620;Ja=624;Ka=613;La=617;Ma=621;Na=625;Oa=614;Pa=618;Qa=622;Ra=626;Sa=595;Ta=599;Ua=603;Va=607;Wa=596;Xa=600;Ya=604;Za=608;_a=597;$a=601;ab=605;bb=609;cb=598;db=602;eb=606;fb=610;break}default:{b=195;d=199;e=203;f=207;g=196;h=200;i=204;j=208;k=197;l=201;m=205;n=209;o=198;p=202;q=206;r=210;s=227;t=231;u=235;v=239;w=228;x=232;y=236;z=240;A=229;B=233;C=237;D=241;E=230;F=234;G=238;H=242;I=211;J=215;K=219;L=223;M=212;N=216;O=220;P=224;Q=213;R=217;S=221;T=225;U=214;V=218;W=222;X=226;Y=131;Z=135;_=139;$=143;aa=132;ba=136;ca=140;da=144;ea=133;fa=137;ga=141;ha=145;ia=134;ja=138;ka=142;la=146;ma=179;na=183;oa=187;pa=191;qa=180;ra=184;sa=188;ta=192;ua=181;va=185;wa=189;xa=193;ya=182;za=186;Aa=190;Ba=194;Ca=163;Da=167;Ea=171;Fa=175;Ga=164;Ha=168;Ia=172;Ja=176;Ka=165;La=169;Ma=173;Na=177;Oa=166;Pa=170;Qa=174;Ra=178;Sa=147;Ta=151;Ua=155;Va=159;Wa=148;Xa=152;Ya=156;Za=160;_a=149;$a=153;ab=157;bb=161;cb=150;db=154;eb=158;fb=162}}c[a>>2]=Y;c[a+4>>2]=aa;c[a+8>>2]=ea;c[a+12>>2]=ia;c[a+16>>2]=Z;c[a+20>>2]=ba;c[a+24>>2]=fa;c[a+28>>2]=ja;c[a+32>>2]=_;c[a+36>>2]=ca;c[a+40>>2]=ga;c[a+44>>2]=ka;c[a+48>>2]=$;c[a+52>>2]=da;c[a+56>>2]=ha;c[a+60>>2]=la;c[a+64>>2]=Sa;c[a+68>>2]=Wa;c[a+72>>2]=_a;c[a+76>>2]=cb;c[a+80>>2]=Ta;c[a+84>>2]=Xa;c[a+88>>2]=$a;c[a+92>>2]=db;c[a+96>>2]=Ua;c[a+100>>2]=Ya;c[a+104>>2]=ab;c[a+108>>2]=eb;c[a+112>>2]=Va;c[a+116>>2]=Za;c[a+120>>2]=bb;c[a+124>>2]=fb;c[a+128>>2]=Ca;c[a+132>>2]=Ga;c[a+136>>2]=Ka;c[a+140>>2]=Oa;c[a+144>>2]=Da;c[a+148>>2]=Ha;c[a+152>>2]=La;c[a+156>>2]=Pa;c[a+160>>2]=Ea;c[a+164>>2]=Ia;c[a+168>>2]=Ma;c[a+172>>2]=Qa;c[a+176>>2]=Fa;c[a+180>>2]=Ja;c[a+184>>2]=Na;c[a+188>>2]=Ra;c[a+192>>2]=ma;c[a+196>>2]=qa;c[a+200>>2]=ua;c[a+204>>2]=ya;c[a+208>>2]=na;c[a+212>>2]=ra;c[a+216>>2]=va;c[a+220>>2]=za;c[a+224>>2]=oa;c[a+228>>2]=sa;c[a+232>>2]=wa;c[a+236>>2]=Aa;c[a+240>>2]=pa;c[a+244>>2]=ta;c[a+248>>2]=xa;c[a+252>>2]=Ba;c[a+256>>2]=b;c[a+260>>2]=g;c[a+264>>2]=k;c[a+268>>2]=o;c[a+272>>2]=d;c[a+276>>2]=h;c[a+280>>2]=l;c[a+284>>2]=p;c[a+288>>2]=e;c[a+292>>2]=i;c[a+296>>2]=m;c[a+300>>2]=q;c[a+304>>2]=f;c[a+308>>2]=j;c[a+312>>2]=n;c[a+316>>2]=r;c[a+320>>2]=I;c[a+324>>2]=M;c[a+328>>2]=Q;c[a+332>>2]=U;c[a+336>>2]=J;c[a+340>>2]=N;c[a+344>>2]=R;c[a+348>>2]=V;c[a+352>>2]=K;c[a+356>>2]=O;c[a+360>>2]=S;c[a+364>>2]=W;c[a+368>>2]=L;c[a+372>>2]=P;c[a+376>>2]=T;c[a+380>>2]=X;c[a+384>>2]=s;c[a+388>>2]=w;c[a+392>>2]=A;c[a+396>>2]=E;c[a+400>>2]=t;c[a+404>>2]=x;c[a+408>>2]=B;c[a+412>>2]=F;c[a+416>>2]=u;c[a+420>>2]=y;c[a+424>>2]=C;c[a+428>>2]=G;c[a+432>>2]=v;c[a+436>>2]=z;c[a+440>>2]=D;c[a+444>>2]=H;return}function Vc(d,e,f,h,i,j,k){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;I=Mb;Mb=Mb+64|0;F=I+56|0;H=I+40|0;A=I;C=I+48|0;D=I+60|0;c[F>>2]=e;x=(d|0)!=0;y=A+40|0;z=y;A=A+39|0;B=C+4|0;l=0;e=0;n=0;a:while(1){do{do if((e|0)>-1)if((l|0)>(2147483647-e|0)){e=pV()|0;c[e>>2]=75;e=-1;break}else{e=l+e|0;break}while(0);r=c[F>>2]|0;l=a[r>>0]|0;if(!(l<<24>>24)){w=92;break a}m=r;b:while(1){switch(l<<24>>24){case 37:{w=10;break b}case 0:{l=m;break b}default:{}}v=m+1|0;c[F>>2]=v;l=a[v>>0]|0;m=v}c:do if((w|0)==10){w=0;l=m;do{if((a[m+1>>0]|0)!=37)break c;l=l+1|0;m=m+2|0;c[F>>2]=m}while((a[m>>0]|0)==37)}while(0);l=l-r|0;if(x)mQ(d,r,l)}while((l|0)!=0);v=(vU(a[(c[F>>2]|0)+1>>0]|0)|0)==0;m=c[F>>2]|0;if(!v?(a[m+2>>0]|0)==36:0){t=(a[m+1>>0]|0)+-48|0;p=1;l=3}else{t=-1;p=n;l=1}l=m+l|0;c[F>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0;if(n>>>0>31|(1<<n&75913|0)==0)o=0;else{o=0;do{o=1<<n|o;l=l+1|0;c[F>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0}while(!(n>>>0>31|(1<<n&75913|0)==0))}if(m<<24>>24==42){if((vU(a[l+1>>0]|0)|0)!=0?(G=c[F>>2]|0,(a[G+2>>0]|0)==36):0){l=G+1|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;n=1;m=G+3|0}else{if(p|0){e=-1;break}if(x){v=(c[f>>2]|0)+(4-1)&~(4-1);l=c[v>>2]|0;c[f>>2]=v+4}else l=0;n=0;m=(c[F>>2]|0)+1|0}c[F>>2]=m;v=(l|0)<0;u=v?0-l|0:l;o=v?o|8192:o;v=n}else{l=jF(F)|0;if((l|0)<0){e=-1;break}u=l;v=p;m=c[F>>2]|0}do if((a[m>>0]|0)==46){l=m+1|0;if((a[l>>0]|0)!=42){c[F>>2]=l;l=jF(F)|0;m=c[F>>2]|0;break}if(vU(a[m+2>>0]|0)|0?(E=c[F>>2]|0,(a[E+3>>0]|0)==36):0){l=E+2|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;m=E+4|0;c[F>>2]=m;break}if(v|0){e=-1;break a}if(x){s=(c[f>>2]|0)+(4-1)&~(4-1);l=c[s>>2]|0;c[f>>2]=s+4}else l=0;m=(c[F>>2]|0)+2|0;c[F>>2]=m}else l=-1;while(0);s=0;while(1){if(((a[m>>0]|0)+-65|0)>>>0>57){e=-1;break a}n=m;m=m+1|0;c[F>>2]=m;n=a[(a[n>>0]|0)+-65+(157376+(s*58|0))>>0]|0;p=n&255;if((p+-1|0)>>>0>=8)break;else s=p}if(!(n<<24>>24)){e=-1;break}q=(t|0)>-1;do if(n<<24>>24==19)if(q){e=-1;break a}else w=54;else{if(q){c[i+(t<<2)>>2]=p;q=h+(t<<3)|0;t=c[q+4>>2]|0;w=H;c[w>>2]=c[q>>2];c[w+4>>2]=t;w=54;break}if(!x){e=0;break a}nh(H,p,f,k);m=c[F>>2]|0;w=55}while(0);if((w|0)==54){w=0;if(x)w=55;else l=0}d:do if((w|0)==55){w=0;m=a[m+-1>>0]|0;m=(s|0)!=0&(m&15|0)==3?m&-33:m;n=o&-65537;t=(o&8192|0)==0?o:n;e:do switch(m|0){case 110:switch((s&255)<<24>>24){case 0:{c[c[H>>2]>>2]=e;l=0;break d}case 1:{c[c[H>>2]>>2]=e;l=0;break d}case 2:{l=c[H>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}case 3:{b[c[H>>2]>>1]=e;l=0;break d}case 4:{a[c[H>>2]>>0]=e;l=0;break d}case 6:{c[c[H>>2]>>2]=e;l=0;break d}case 7:{l=c[H>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}default:{l=0;break d}}case 112:{m=120;l=l>>>0>8?l:8;n=t|8;w=67;break}case 88:case 120:{n=t;w=67;break}case 111:{q=H;q=yI(c[q>>2]|0,c[q+4>>2]|0,y)|0;n=z-q|0;o=0;p=213647;l=(t&8|0)==0|(l|0)>(n|0)?l:n+1|0;n=t;w=73;break}case 105:case 100:{n=H;m=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){m=QO(0,0,m|0,n|0)|0;n=M()|0;o=H;c[o>>2]=m;c[o+4>>2]=n;o=1;p=213647;w=72;break e}else{o=(t&2049|0)!=0&1;p=(t&2048|0)==0?((t&1|0)==0?213647:213649):213648;w=72;break e}}case 117:{n=H;o=0;p=213647;m=c[n>>2]|0;n=c[n+4>>2]|0;w=72;break}case 99:{a[A>>0]=c[H>>2];r=A;o=0;p=213647;q=1;m=n;l=z;break}case 115:{s=c[H>>2]|0;s=(s|0)==0?213657:s;t=Cm(s,0,l)|0;J=(t|0)==0;r=s;o=0;p=213647;q=J?l:t-s|0;m=n;l=J?s+l|0:t;break}case 67:{c[C>>2]=c[H>>2];c[B>>2]=0;c[H>>2]=C;p=-1;w=79;break}case 83:{if(!l){_v(d,32,u,0,t);l=0;w=89}else{p=l;w=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=Wb[j&1](d,+g[H>>3],u,l,t,m)|0;break d}default:{o=0;p=213647;q=l;m=t;l=z}}while(0);f:do if((w|0)==67){q=H;q=GF(c[q>>2]|0,c[q+4>>2]|0,y,m&32)|0;p=H;p=(n&8|0)==0|(c[p>>2]|0)==0&(c[p+4>>2]|0)==0;o=p?0:2;p=p?213647:213647+(m>>>4)|0;w=73}else if((w|0)==72){q=Is(m,n,y)|0;n=t;w=73}else if((w|0)==79){w=0;o=c[H>>2]|0;l=0;while(1){m=c[o>>2]|0;if(!m)break;m=UQ(D,m)|0;n=(m|0)<0;if(n|m>>>0>(p-l|0)>>>0){w=83;break}l=m+l|0;if(p>>>0>l>>>0)o=o+4|0;else break}if((w|0)==83){w=0;if(n){e=-1;break a}}_v(d,32,u,l,t);if(!l){l=0;w=89}else{n=c[H>>2]|0;o=0;while(1){m=c[n>>2]|0;if(!m){w=89;break f}m=UQ(D,m)|0;o=m+o|0;if((o|0)>(l|0)){w=89;break f}mQ(d,D,m);if(o>>>0>=l>>>0){w=89;break}else n=n+4|0}}}while(0);if((w|0)==73){w=0;m=H;m=(c[m>>2]|0)!=0|(c[m+4>>2]|0)!=0;J=(l|0)!=0|m;m=z-q+((m^1)&1)|0;r=J?q:y;q=J?((l|0)>(m|0)?l:m):0;m=(l|0)>-1?n&-65537:n;l=z}else if((w|0)==89){w=0;_v(d,32,u,l,t^8192);l=(u|0)>(l|0)?u:l;break}t=l-r|0;s=(q|0)<(t|0)?t:q;J=s+o|0;l=(u|0)<(J|0)?J:u;_v(d,32,l,J,m);mQ(d,p,o);_v(d,48,l,J,m^65536);_v(d,48,s,t,0);mQ(d,r,t);_v(d,32,l,J,m^8192)}while(0);n=v}g:do if((w|0)==92)if(!d)if(!n)e=0;else{e=1;while(1){l=c[i+(e<<2)>>2]|0;if(!l)break;nh(h+(e<<3)|0,l,f,k);e=e+1|0;if(e>>>0>=10){e=1;break g}}while(1){if(c[i+(e<<2)>>2]|0){e=-1;break g}e=e+1|0;if(e>>>0>=10){e=1;break}}}while(0);Mb=I;return e|0}function Wc(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=Mb;Mb=Mb+16|0;w=B+4|0;y=B;z=g+21796|0;A=c[z>>2]|0;c[y>>2]=0;h=(c[f+25956>>2]|0)+(A*48|0)|0;i=h+48|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(i|0));u=g+21828|0;if(!(c[u>>2]|0))h=0;else{c[y>>2]=128;h=128}x=g+840|0;if((c[x>>2]|0)==3){h=h|63744;c[y>>2]=h;if(c[g+21844>>2]|0){kh(f,g,h);yc(f,g,h)}fN(f,g,y);k=c[y>>2]|2048;c[y>>2]=k;h=f+26352|0}else{k=h|14344;c[y>>2]=k;kh(f,g,k);p=c[f+24384>>2]|0;q=c[f+24352>>2]|0;h=f+26352|0;r=c[h>>2]|0;c[g+28284>>2]=0;c[g+28292>>2]=0;c[g+28300>>2]=0;c[g+28308>>2]=0;l=c[g+21740>>2]|0;if(!(l&12288))if(!l)v=50;else{t=1103448;j=-1;v=16}else{i=c[g+21720>>2]|0;v=d[c[g+21748>>2]>>0]|0;j=a[p+((v&254)+(i<<2|1))>>0]|0;i=q+((H(r,v)|0)+3+(c[(c[f+26344>>2]|0)+(i<<2)>>2]|0)<<2)|0;do if(c[f+26360>>2]|0){l=(l&128|0)!=0;if(!(c[u>>2]|0)){if(!l)break;i=c[i>>2]|0;c[w>>2]=i;b[w+2>>1]=i>>16<<1;i=w;j=j>>1;break}else{if(l)break;i=c[i>>2]|0;c[w>>2]=i;b[w+2>>1]=((i>>>16&65535)<<16>>16)/2|0;i=w;j=j<<1;break}}while(0);if(!(c[i>>2]|j))v=50;else{t=i;v=16}}do if((v|0)==16){m=c[g+21732>>2]|0;if(!(m&12288))if(!m){v=50;break}else{n=-1;o=1103448}else{l=c[g+21712>>2]|0;i=a[p+(l<<2|2)>>0]|0;l=q+((c[(c[f+26344>>2]|0)+(l<<2)>>2]|0)+(r*3|0)<<2)|0;do if(c[f+26360>>2]|0){m=(m&128|0)!=0;if(!(c[u>>2]|0)){if(!m)break;o=c[l>>2]|0;l=w+4|0;c[l>>2]=o;b[w+6>>1]=o>>16<<1;i=i>>1;break}else{if(m)break;o=c[l>>2]|0;l=w+4|0;c[l>>2]=o;b[w+6>>1]=((o>>>16&65535)<<16>>16)/2|0;i=i<<1;break}}while(0);if(!(c[l>>2]|i)){v=50;break}else{n=i;o=l}}l=c[g+21736>>2]|0;do if(!(l&12288))if((l|0)==0?(s=c[g+21728>>2]|0,(s&12288|0)!=0):0){m=c[g+21708>>2]|0;l=c[g+21752>>2]|0;i=a[p+(m<<2|l&2|1)>>0]|0;m=q+(r+3+(l&r<<1)+(c[(c[f+26344>>2]|0)+(m<<2)>>2]|0)<<2)|0;if(c[f+26360>>2]|0){l=(s&128|0)!=0;if(!(c[u>>2]|0)){if(!l)break;u=c[m>>2]|0;m=w+8|0;c[m>>2]=u;b[w+10>>1]=u>>16<<1;i=i>>1;break}else{if(l)break;u=c[m>>2]|0;m=w+8|0;c[m>>2]=u;b[w+10>>1]=((u>>>16&65535)<<16>>16)/2|0;i=i<<1;break}}}else{m=1103448;i=-1}else{m=c[g+21716>>2]|0;i=a[p+(m<<2|2)>>0]|0;m=q+((c[(c[f+26344>>2]|0)+(m<<2)>>2]|0)+(r*3|0)<<2)|0;if(c[f+26360>>2]|0){l=(l&128|0)!=0;if(!(c[u>>2]|0)){if(!l)break;u=c[m>>2]|0;m=w+8|0;c[m>>2]=u;b[w+10>>1]=u>>16<<1;i=i>>1;break}else{if(l)break;u=c[m>>2]|0;m=w+8|0;c[m>>2]=u;b[w+10>>1]=((u>>>16&65535)<<16>>16)/2|0;i=i<<1;break}}}while(0);l=(n|0)!=0;j=(j|0)!=0;i=((l^1)&1)+((j^1)&1)+((i|0)==0&1)|0;do if(i>>>0<=1){if((i|0)!=1){i=oM(b[t>>1]|0,b[o>>1]|0,b[m>>1]|0)|0;j=oM(b[t+2>>1]|0,b[o+2>>1]|0,b[m+2>>1]|0)|0;break}if(!j){j=b[t+2>>1]|0;i=b[t>>1]|0;break}if(l){j=b[m+2>>1]|0;i=b[m>>1]|0;break}else{j=b[o+2>>1]|0;i=b[o>>1]|0;break}}else{i=oM(b[t>>1]|0,b[o>>1]|0,b[m>>1]|0)|0;j=oM(b[t+2>>1]|0,b[o+2>>1]|0,b[m+2>>1]|0)|0}while(0);w=j<<16|i&65535;c[g+28e3>>2]=w;c[g+28004>>2]=w;c[g+28008>>2]=w;c[g+28012>>2]=w;c[g+28032>>2]=w;c[g+28036>>2]=w;c[g+28040>>2]=w;c[g+28044>>2]=w;c[g+28064>>2]=w;c[g+28068>>2]=w;c[g+28072>>2]=w;c[g+28076>>2]=w;c[g+28096>>2]=w;c[g+28100>>2]=w;c[g+28104>>2]=w;c[g+28108>>2]=w}while(0);if((v|0)==50){t=g+28e3|0;u=g+28032|0;v=g+28064|0;w=g+28096|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0}}h=c[h>>2]|0;i=(H(h<<2,c[g+21792>>2]|0)|0)+(c[g+21788>>2]<<2)|0;j=c[z>>2]<<2;if(!(k&12288)){w=(c[f+24384>>2]|0)+j|0;b[w>>1]=-1;b[w+2>>1]=-1}else{w=(c[f+24352>>2]|0)+(i<<2)|0;u=g+28e3|0;v=c[u+4>>2]|0;s=w;c[s>>2]=c[u>>2];c[s+4>>2]=v;s=g+28008|0;v=c[s+4>>2]|0;u=w+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=g+28032|0;v=c[u+4>>2]|0;s=w+(h<<2)|0;t=s;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=g+28040|0;v=c[t+4>>2]|0;s=s+8|0;c[s>>2]=c[t>>2];c[s+4>>2]=v;s=g+28064|0;v=c[s+4>>2]|0;t=w+(h<<1<<2)|0;u=t;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=g+28072|0;v=c[u+4>>2]|0;t=t+8|0;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=g+28096|0;v=c[t+4>>2]|0;w=w+(h*3<<2)|0;u=w;c[u>>2]=c[t>>2];c[u+4>>2]=v;u=g+28104|0;v=c[u+4>>2]|0;w=w+8|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;w=(c[g+32848>>2]|0)+(c[(c[f+26348>>2]|0)+(c[z>>2]<<2)>>2]<<1)|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;w=(c[f+24384>>2]|0)+j|0;a[w>>0]=a[g+28284>>0]|0;a[w+1>>0]=a[g+28286>>0]|0;a[w+2>>0]=a[g+28300>>0]|0;a[w+3>>0]=a[g+28302>>0]|0}if(k&49152|0){w=(c[f+24356>>2]|0)+(i<<2)|0;u=g+28160|0;v=c[u+4>>2]|0;s=w;c[s>>2]=c[u>>2];c[s+4>>2]=v;s=g+28168|0;v=c[s+4>>2]|0;u=w+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=g+28192|0;v=c[u+4>>2]|0;s=w+(h<<2)|0;t=s;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=g+28200|0;v=c[t+4>>2]|0;s=s+8|0;c[s>>2]=c[t>>2];c[s+4>>2]=v;s=g+28224|0;v=c[s+4>>2]|0;t=w+(h<<1<<2)|0;u=t;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=g+28232|0;v=c[u+4>>2]|0;t=t+8|0;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=g+28256|0;v=c[t+4>>2]|0;w=w+(h*3<<2)|0;u=w;c[u>>2]=c[t>>2];c[u+4>>2]=v;u=g+28264|0;v=c[u+4>>2]|0;w=w+8|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;w=(c[g+32852>>2]|0)+(c[(c[f+26348>>2]|0)+(c[z>>2]<<2)>>2]<<1)|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;w=(c[f+24388>>2]|0)+j|0;a[w>>0]=a[g+28324>>0]|0;a[w+1>>0]=a[g+28326>>0]|0;a[w+2>>0]=a[g+28340>>0]|0;a[w+3>>0]=a[g+28342>>0]|0}if(!((k&64|0)==0|(c[x>>2]|0)!=3)){z=(c[f+26392>>2]|0)+(c[z>>2]<<2)|0;a[z+1>>0]=(e[g+28554>>1]|0)>>>1;a[z+2>>0]=(e[g+28556>>1]|0)>>>1;a[z+3>>0]=(e[g+28558>>1]|0)>>>1}c[(c[f+24364>>2]|0)+(A<<2)>>2]=c[y>>2];a[(c[f+24340>>2]|0)+A>>0]=c[g+848>>2];b[(c[f+26356>>2]|0)+(A<<1)>>1]=c[g+832>>2];c[g+21648>>2]=1;Mb=B;return}function Xc(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=Mb;Mb=Mb+240|0;K=P+152|0;G=P+144|0;F=P+120|0;D=P+104|0;B=P+96|0;y=P+88|0;x=P+80|0;u=P+72|0;w=P+64|0;v=P+56|0;t=P+48|0;r=P+40|0;s=P+32|0;q=P+24|0;p=P+16|0;o=P+8|0;j=P;L=P+228|0;M=KO(5300)|0;c[L>>2]=M;N=M;a:do if(!M)g=-12;else{O=M+4|0;J=c[O>>2]|0;h=c[a>>2]|0;g=(c[a+4>>2]|0)-h|0;i=J+5296|0;c[i>>2]=g;if(g>>>0>4096){Xw(d,24,169394,j);c[i>>2]=4096;h=c[a>>2]|0;g=4096}rk(J+1200|0,h|0,g|0)|0;n=Hz(a,8)|0;g=uL(a)|0;h=uL(a)|0;i=uL(a)|0;j=uL(a)|0;k=uL(a)|0;l=uL(a)|0;JO(a);m=Hz(a,8)|0;I=Px(a)|0;b:do if(I>>>0>31){c[o>>2]=I;Xw(d,16,169427,o)}else{c[J>>2]=I;c[J+1164>>2]=24;E=J+4|0;c[E>>2]=n;c[J+1196>>2]=h<<1|g|i<<2|j<<3|k<<4|l<<5;C=J+8|0;c[C>>2]=m;c[J+112>>2]=-1;i=J+672|0;j=J+768|0;k=J+668|0;Wp(i|0,16,480)|0;c[k>>2]=0;c[J+128>>2]=2;switch(n|0){case 144:case 138:case 128:case 118:case 86:case 83:case 44:case 244:case 122:case 110:case 100:{g=Px(a)|0;c[J+12>>2]=g;if(g>>>0>3){c[p>>2]=g;KM(d,169451,p);break b}if((g|0)==3?(z=uL(a)|0,c[J+1192>>2]=z,z|0):0){Xw(d,16,169472,q);break b}g=(bp(a)|0)+8|0;z=J+1184|0;c[z>>2]=g;g=bp(a)|0;h=g+8|0;c[J+1188>>2]=h;if((h|0)!=(c[z>>2]|0)){KM(d,169513,s);break b}if(g>>>0>6){c[r>>2]=h;c[r+4>>2]=h;Xw(d,16,169549,r);break b}g=uL(a)|0;c[J+16>>2]=g;g=jm(a,J,0,1,i,j)|0;if((g|0)<0)break b;c[k>>2]=c[k>>2]|g;break}default:{c[J+12>>2]=1;c[J+1184>>2]=8;c[J+1188>>2]=8}}g=bp(a)|0;if(g>>>0>12){c[t>>2]=g;Xw(d,16,169583,t);break}c[J+20>>2]=g+4;g=Px(a)|0;t=J+24|0;c[t>>2]=g;c:do switch(g|0){case 0:{g=bp(a)|0;if(g>>>0>12){c[v>>2]=g;Xw(d,16,169634,v);break b}else{c[J+28>>2]=g+4;break c}}case 1:{g=uL(a)|0;c[J+32>>2]=g;g=ap(a)|0;c[J+36>>2]=g;g=ap(a)|0;c[J+40>>2]=g;g=bp(a)|0;i=J+44|0;c[i>>2]=g;if(g>>>0>255){c[w>>2]=g;Xw(d,16,169673,w);break b}h=0;while(1){if((h|0)>=(g|0))break c;g=(ap(a)|0)&65535;b[J+148+(h<<1)>>1]=g;h=h+1|0;g=c[i>>2]|0}}case 2:break;default:{c[u>>2]=g;Xw(d,16,169703,u);break b}}while(0);g=Px(a)|0;r=J+48|0;c[r>>2]=g;w=(c[d+52>>2]|0)==844516691;z=(g|0)>2?g:2;c[r>>2]=w?z:g;g=w?z:g;if((g|0)>16){c[x>>2]=g;Xw(d,16,169724,x);break}g=uL(a)|0;c[J+52>>2]=g;g=(bp(a)|0)+1|0;q=J+56|0;c[q>>2]=g;g=(bp(a)|0)+1|0;s=J+60|0;c[s>>2]=g;g=uL(a)|0;z=J+64|0;c[z>>2]=g;h=c[s>>2]|0;if(h>>>0>1073741822){Xw(d,16,169754,y);break}y=H(h,2-g|0)|0;c[s>>2]=y;if(!g)g=uL(a)|0;else g=0;p=J+68|0;c[p>>2]=g;g=c[q>>2]|0;if((g>>>0<=134217726?(A=c[s>>2]|0,A>>>0<=134217726):0)?(uP(g<<4,A<<4,0,d)|0)==0:0){B=uL(a)|0;o=J+72|0;c[o>>2]=B;B=uL(a)|0;g=J+76|0;c[g>>2]=B;d:do if(!B){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0}else{i=bp(a)|0;j=bp(a)|0;k=bp(a)|0;l=bp(a)|0;m=c[q>>2]<<4;n=c[s>>2]<<4;if(c[d+96>>2]&65536|0){c[D>>2]=i;c[D+4>>2]=j;c[D+8>>2]=k;c[D+12>>2]=l;Xw(d,48,169797,D);F=J+80|0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;break}h=c[J+12>>2]|0;g=(h+-1|0)>>>0<2&1;h=2-(c[z>>2]|0)<<((h|0)==1&1);D=536870911>>>g;do if((!(i>>>0>D>>>0|j>>>0>D>>>0)?(D=536870911/(h>>>0)|0,!(k>>>0>D>>>0|l>>>0>D>>>0)):0)?j+i<<g>>>0<m>>>0:0){if((H(h,l+k|0)|0)>>>0>=n>>>0)break;c[J+80>>2]=i<<g;c[J+84>>2]=j<<g;F=H(h,k)|0;c[J+88>>2]=F;F=H(h,l)|0;c[J+92>>2]=F;break d}while(0);c[F>>2]=i;c[F+4>>2]=j;c[F+8>>2]=k;c[F+12>>2]=l;c[F+16>>2]=m;c[F+20>>2]=n;Xw(d,16,169863,F);break b}while(0);F=uL(a)|0;i=J+96|0;c[i>>2]=F;if(F|0?(bf(a,d,J)|0)<0:0)break;g=pS(a)|0;if((g|0)<0?(f=(f|0)!=0,c[G>>2]=(c[i>>2]|0)==0?196191:169904,c[G+4>>2]=0-g,Xw(d,f?24:16,169908,G),!f):0)break;y=(c[J+660>>2]|0)==0;e:do if(y){if((c[r>>2]|0)==0?(c[d+672>>2]|0)<=0:0)break;h=J+664|0;c[h>>2]=15;g=0;while(1){if(g>>>0>=16)break e;if((c[18288+(g<<3)>>2]|0)==(c[C>>2]|0))break;g=g+1|0}G=(c[18288+(g<<3)+4>>2]|0)/(H(c[s>>2]|0,c[q>>2]|0)|0)|0;c[h>>2]=(G|0)<15?G:15}while(0);g=J+104|0;if(!(c[g>>2]|0))c[g>>2]=1;if(c[d+680>>2]&1|0){x=c[E>>2]|0;w=c[C>>2]|0;v=c[t>>2]|0;u=c[r>>2]|0;t=c[q>>2]|0;s=c[s>>2]|0;if(!(c[z>>2]|0))r=(c[p>>2]|0)==0?169932:169940;else r=169947;m=(c[o>>2]|0)==0?1104084:169951;n=c[J+80>>2]|0;o=c[J+84>>2]|0;p=c[J+88>>2]|0;q=c[J+92>>2]|0;h=(c[i>>2]|0)==0?1104084:169904;i=18416+((c[J+12>>2]|0)*5|0)|0;if(!(c[J+132>>2]|0)){k=0;l=0}else{k=c[J+136>>2]|0;l=c[J+140>>2]|0}j=c[J+1184>>2]|0;if(y)g=-1;else g=c[J+664>>2]|0;c[K>>2]=I;c[K+4>>2]=x;c[K+8>>2]=w;c[K+12>>2]=v;c[K+16>>2]=u;c[K+20>>2]=t;c[K+24>>2]=s;c[K+28>>2]=r;c[K+32>>2]=m;c[K+36>>2]=n;c[K+40>>2]=o;c[K+44>>2]=p;c[K+48>>2]=q;c[K+52>>2]=h;c[K+56>>2]=i;c[K+60>>2]=k;c[K+64>>2]=l;c[K+68>>2]=j;c[K+72>>2]=g;Xw(d,48,169955,K)}g=e+(I<<2)|0;h=c[g>>2]|0;do if(h|0){if(Ix(c[h+4>>2]|0,c[O>>2]|0,c[M+8>>2]|0)|0)break;QS(L);g=0;break a}while(0);AT(e,I);c[g>>2]=N;g=0;break a}Xw(d,16,169771,B)}while(0);QS(L);g=-1094995529}while(0);Mb=P;return g|0}function Yc(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,t=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0.0;G=Mb;Mb=Mb+512|0;D=G;E=f+e|0;F=0-E|0;C=a+4|0;B=a+104|0;j=0;a:while(1){switch(b|0){case 46:{z=7;break a}case 48:break;default:{v=0;p=j;j=0;o=0;break a}}b=c[C>>2]|0;if(b>>>0<(c[B>>2]|0)>>>0){c[C>>2]=b+1;b=d[b>>0]|0}else b=fl(a)|0;j=1}if((z|0)==7){b=c[C>>2]|0;if(b>>>0<(c[B>>2]|0)>>>0){c[C>>2]=b+1;b=d[b>>0]|0}else b=fl(a)|0;if((b|0)==48){j=0;b=0;while(1){j=SO(j|0,b|0,-1,-1)|0;o=M()|0;b=c[C>>2]|0;if(b>>>0<(c[B>>2]|0)>>>0){c[C>>2]=b+1;b=d[b>>0]|0}else b=fl(a)|0;if((b|0)==48)b=o;else{v=1;p=1;break}}}else{v=1;p=j;j=0;o=0}}c[D>>2]=0;n=b+-48|0;m=(b|0)==46;b:do if(m|n>>>0<10){A=D+496|0;w=0;l=0;s=0;x=v;y=p;z=n;p=0;n=0;c:while(1){do if(m)if(!x){x=1;j=p;o=n}else break c;else{p=SO(p|0,n|0,1,0)|0;n=M()|0;v=(b|0)!=48;if((l|0)>=125){if(!v)break;c[A>>2]=c[A>>2]|1;break}m=D+(l<<2)|0;if(!w)b=z;else b=b+-48+((c[m>>2]|0)*10|0)|0;c[m>>2]=b;w=w+1|0;y=(w|0)==9;w=y?0:w;l=l+(y&1)|0;s=v?p:s;y=1}while(0);b=c[C>>2]|0;if(b>>>0<(c[B>>2]|0)>>>0){c[C>>2]=b+1;b=d[b>>0]|0}else b=fl(a)|0;z=b+-48|0;m=(b|0)==46;if(!(m|z>>>0<10)){v=x;m=y;z=31;break b}}b=w;m=(y|0)!=0;z=39}else{w=0;l=0;s=0;m=p;p=0;n=0;z=31}while(0);do if((z|0)==31){A=(v|0)==0;j=A?p:j;o=A?n:o;m=(m|0)!=0;if(!(m&(b|32|0)==101))if((b|0)>-1){b=w;z=39;break}else{b=w;z=41;break}m=Mg(a,h)|0;b=M()|0;if((m|0)==0&(b|0)==-2147483648){if(!h){bw(a,0,0);i=0.0;break}if(!(c[B>>2]|0)){m=0;b=0}else{c[C>>2]=(c[C>>2]|0)+-1;m=0;b=0}}j=SO(m|0,b|0,j|0,o|0)|0;b=w;o=M()|0;z=43}while(0);if((z|0)==39)if(c[B>>2]|0){c[C>>2]=(c[C>>2]|0)+-1;if(m)z=43;else z=42}else z=41;if((z|0)==41)if(m)z=43;else z=42;do if((z|0)==42){F=pV()|0;c[F>>2]=22;bw(a,0,0);i=0.0}else if((z|0)==43){m=c[D>>2]|0;if(!m){i=+(g|0)*0.0;break}if(((n|0)<0|(n|0)==0&p>>>0<10)&((j|0)==(p|0)&(o|0)==(n|0))?(e|0)>30|(m>>>e|0)==0:0){i=+(g|0)*+(m>>>0);break}a=(f|0)/-2|0;C=((a|0)<0)<<31>>31;if((o|0)>(C|0)|(o|0)==(C|0)&j>>>0>a>>>0){F=pV()|0;c[F>>2]=34;i=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=f+-106|0;C=((a|0)<0)<<31>>31;if((o|0)<(C|0)|(o|0)==(C|0)&j>>>0<a>>>0){F=pV()|0;c[F>>2]=34;i=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(b){if((b|0)<9){n=D+(l<<2)|0;m=c[n>>2]|0;while(1){m=m*10|0;if((b|0)>=8)break;else b=b+1|0}c[n>>2]=m}l=l+1|0}if((s|0)<9?(s|0)<=(j|0)&(j|0)<18:0){if((j|0)==9){i=+(g|0)*+((c[D>>2]|0)>>>0);break}if((j|0)<9){i=+(g|0)*+((c[D>>2]|0)>>>0)/+(c[157072+(8-j<<2)>>2]|0);break}a=e+27+(H(j,-3)|0)|0;b=c[D>>2]|0;if((a|0)>30|(b>>>a|0)==0){i=+(g|0)*+(b>>>0)*+(c[157072+(j+-10<<2)>>2]|0);break}}b=(j|0)%9|0;if(!b)m=0;else{s=(j|0)>-1?b:b+9|0;o=c[157072+(8-s<<2)>>2]|0;if(l){p=1e9/(o|0)|0;n=0;m=0;b=0;do{B=D+(b<<2)|0;C=c[B>>2]|0;a=(C>>>0)/(o>>>0)|0;C=C-(H(a,o)|0)|0;a=a+n|0;c[B>>2]=a;n=H(p,C)|0;a=(b|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;b=b+1|0}while((b|0)!=(l|0));if(!n)b=l;else{c[D+(l<<2)>>2]=n;b=l+1|0}}else{m=0;b=0}l=b;j=9-s+j|0}b=0;d:while(1){v=(j|0)<18;w=(j|0)==18;x=D+(m<<2)|0;while(1){if(!v){if(!w)break d;if((c[x>>2]|0)>>>0>=9007199){j=18;break d}}n=0;y=l;l=l+127|0;while(1){p=l&127;o=D+(p<<2)|0;l=cN(c[o>>2]|0,0,29)|0;l=SO(l|0,M()|0,n|0,0)|0;n=M()|0;if(n>>>0>0|(n|0)==0&l>>>0>1e9){s=ZR(l|0,n|0,1e9,0)|0;a=XJ(s|0,M()|0,1e9,0)|0;l=QO(l|0,n|0,a|0,M()|0)|0;M()|0}else s=0;c[o>>2]=l;a=(p|0)==(m|0);o=(p|0)!=(y+127&127|0)|a?y:(l|0)==0?p:y;if(a)break;else{n=s;y=o;l=p+-1|0}}b=b+-29|0;if(!s)l=y;else break}m=m+127&127;l=o+127&127;n=D+((o+126&127)<<2)|0;if((m|0)==(o|0))c[n>>2]=c[n>>2]|c[D+(l<<2)>>2];else l=y;c[D+(m<<2)>>2]=s;j=j+9|0}e:while(1){w=l+1&127;x=D+((l+127&127)<<2)|0;while(1){p=(j|0)==18;v=(j|0)>27?9:1;y=m;while(1){o=0;while(1){m=o+y&127;if((m|0)==(l|0)){z=92;break}m=c[D+(m<<2)>>2]|0;n=c[164304+(o<<2)>>2]|0;if(m>>>0<n>>>0){z=92;break}if(m>>>0>n>>>0)break;if((o+1|0)>>>0<2)o=1;else{z=92;break}}if((z|0)==92?(z=0,p):0)break e;b=v+b|0;if((y|0)==(l|0))y=l;else break}p=(1<<v)+-1|0;s=1e9>>>v;o=0;m=y;n=y;do{B=D+(n<<2)|0;C=c[B>>2]|0;a=(C>>>v)+o|0;c[B>>2]=a;o=H(C&p,s)|0;a=(n|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;n=n+1&127}while((n|0)!=(l|0));if(o|0){if((w|0)!=(m|0))break;c[x>>2]=c[x>>2]|1}}c[D+(l<<2)>>2]=o;l=w}i=0.0;j=l;m=0;do{n=m+y&127;l=j+1&127;if((n|0)==(j|0)){c[D+(l+-1<<2)>>2]=0;j=l}i=i*1.0e9+ +((c[D+(n<<2)>>2]|0)>>>0);m=m+1|0}while((m|0)!=2);t=+(g|0);k=i*t;n=b+53|0;o=n-f|0;p=(o|0)<(e|0);m=p?((o|0)>0?o:0):e;if((m|0)<53){I=+nU(+Zt(1.0,105-m|0),k);q=+yU(k,+Zt(1.0,53-m|0));r=I;i=q;q=I+(k-q)}else{r=0.0;i=0.0;q=k}l=y+2&127;if((l|0)!=(j|0)){l=c[D+(l<<2)>>2]|0;do if(l>>>0>=5e8){if((l|0)!=5e8){i=t*.75+i;break}if((y+3&127|0)==(j|0)){i=t*.5+i;break}else{i=t*.75+i;break}}else{if((l|0)==0?(y+3&127|0)==(j|0):0)break;i=t*.25+i}while(0);if((53-m|0)>1?!(+yU(i,1.0)!=0.0):0)k=i+1.0;else k=i}else k=i;i=q+k-r;do if((n&2147483647|0)>(-2-E|0)){E=!(+u(+i)>=9007199254740992.0);b=b+((E^1)&1)|0;i=E?i:i*.5;if((b+50|0)<=(F|0)?!(k!=0.0&(p&((m|0)!=(o|0)|E))):0)break;F=pV()|0;c[F>>2]=34}while(0);i=+oU(i,b)}while(0);Mb=G;return +i}function Zc(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=Mb;Mb=Mb+16|0;v=z+4|0;x=z;w=f+21796|0;y=c[w>>2]|0;c[x>>2]=0;g=(c[e+25956>>2]|0)+(y*48|0)|0;h=g+48|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));t=f+21828|0;if(!(c[t>>2]|0))g=0;else{c[x>>2]=128;g=128}if((c[f+840>>2]|0)==3){g=g|63744;c[x>>2]=g;if(c[f+21844>>2]|0){lh(e,f,g);Bc(e,f,g)}fN(e,f,x);j=c[x>>2]|2048;c[x>>2]=j;g=e+26352|0}else{j=g|14344;c[x>>2]=j;lh(e,f,j);o=c[e+24384>>2]|0;p=c[e+24352>>2]|0;g=e+26352|0;q=c[g>>2]|0;c[f+28284>>2]=0;c[f+28292>>2]=0;c[f+28300>>2]=0;c[f+28308>>2]=0;k=c[f+21740>>2]|0;if(!(k&12288))if(!k)u=50;else{s=1103448;i=-1;u=16}else{h=c[f+21720>>2]|0;u=d[c[f+21748>>2]>>0]|0;i=a[o+((u&254)+(h<<2|1))>>0]|0;h=p+((H(q,u)|0)+3+(c[(c[e+26344>>2]|0)+(h<<2)>>2]|0)<<2)|0;do if(c[e+26360>>2]|0){k=(k&128|0)!=0;if(!(c[t>>2]|0)){if(!k)break;h=c[h>>2]|0;c[v>>2]=h;b[v+2>>1]=h>>16<<1;h=v;i=i>>1;break}else{if(k)break;h=c[h>>2]|0;c[v>>2]=h;b[v+2>>1]=((h>>>16&65535)<<16>>16)/2|0;h=v;i=i<<1;break}}while(0);if(!(c[h>>2]|i))u=50;else{s=h;u=16}}do if((u|0)==16){l=c[f+21732>>2]|0;if(!(l&12288))if(!l){u=50;break}else{m=-1;n=1103448}else{k=c[f+21712>>2]|0;h=a[o+(k<<2|2)>>0]|0;k=p+((c[(c[e+26344>>2]|0)+(k<<2)>>2]|0)+(q*3|0)<<2)|0;do if(c[e+26360>>2]|0){l=(l&128|0)!=0;if(!(c[t>>2]|0)){if(!l)break;n=c[k>>2]|0;k=v+4|0;c[k>>2]=n;b[v+6>>1]=n>>16<<1;h=h>>1;break}else{if(l)break;n=c[k>>2]|0;k=v+4|0;c[k>>2]=n;b[v+6>>1]=((n>>>16&65535)<<16>>16)/2|0;h=h<<1;break}}while(0);if(!(c[k>>2]|h)){u=50;break}else{m=h;n=k}}k=c[f+21736>>2]|0;do if(!(k&12288))if((k|0)==0?(r=c[f+21728>>2]|0,(r&12288|0)!=0):0){l=c[f+21708>>2]|0;k=c[f+21752>>2]|0;h=a[o+(l<<2|k&2|1)>>0]|0;l=p+(q+3+(k&q<<1)+(c[(c[e+26344>>2]|0)+(l<<2)>>2]|0)<<2)|0;if(c[e+26360>>2]|0){k=(r&128|0)!=0;if(!(c[t>>2]|0)){if(!k)break;t=c[l>>2]|0;l=v+8|0;c[l>>2]=t;b[v+10>>1]=t>>16<<1;h=h>>1;break}else{if(k)break;t=c[l>>2]|0;l=v+8|0;c[l>>2]=t;b[v+10>>1]=((t>>>16&65535)<<16>>16)/2|0;h=h<<1;break}}}else{l=1103448;h=-1}else{l=c[f+21716>>2]|0;h=a[o+(l<<2|2)>>0]|0;l=p+((c[(c[e+26344>>2]|0)+(l<<2)>>2]|0)+(q*3|0)<<2)|0;if(c[e+26360>>2]|0){k=(k&128|0)!=0;if(!(c[t>>2]|0)){if(!k)break;t=c[l>>2]|0;l=v+8|0;c[l>>2]=t;b[v+10>>1]=t>>16<<1;h=h>>1;break}else{if(k)break;t=c[l>>2]|0;l=v+8|0;c[l>>2]=t;b[v+10>>1]=((t>>>16&65535)<<16>>16)/2|0;h=h<<1;break}}}while(0);k=(m|0)!=0;i=(i|0)!=0;h=((k^1)&1)+((i^1)&1)+((h|0)==0&1)|0;do if(h>>>0<=1){if((h|0)!=1){h=oM(b[s>>1]|0,b[n>>1]|0,b[l>>1]|0)|0;i=oM(b[s+2>>1]|0,b[n+2>>1]|0,b[l+2>>1]|0)|0;break}if(!i){i=b[s+2>>1]|0;h=b[s>>1]|0;break}if(k){i=b[l+2>>1]|0;h=b[l>>1]|0;break}else{i=b[n+2>>1]|0;h=b[n>>1]|0;break}}else{h=oM(b[s>>1]|0,b[n>>1]|0,b[l>>1]|0)|0;i=oM(b[s+2>>1]|0,b[n+2>>1]|0,b[l+2>>1]|0)|0}while(0);v=i<<16|h&65535;c[f+28e3>>2]=v;c[f+28004>>2]=v;c[f+28008>>2]=v;c[f+28012>>2]=v;c[f+28032>>2]=v;c[f+28036>>2]=v;c[f+28040>>2]=v;c[f+28044>>2]=v;c[f+28064>>2]=v;c[f+28068>>2]=v;c[f+28072>>2]=v;c[f+28076>>2]=v;c[f+28096>>2]=v;c[f+28100>>2]=v;c[f+28104>>2]=v;c[f+28108>>2]=v}while(0);if((u|0)==50){s=f+28e3|0;t=f+28032|0;u=f+28064|0;v=f+28096|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0}}h=c[g>>2]|0;i=(H(h<<2,c[f+21792>>2]|0)|0)+(c[f+21788>>2]<<2)|0;g=c[w>>2]<<2;if(!(j&12288)){w=(c[e+24384>>2]|0)+g|0;b[w>>1]=-1;b[w+2>>1]=-1}else{w=(c[e+24352>>2]|0)+(i<<2)|0;u=f+28e3|0;v=c[u+4>>2]|0;s=w;c[s>>2]=c[u>>2];c[s+4>>2]=v;s=f+28008|0;v=c[s+4>>2]|0;u=w+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=f+28032|0;v=c[u+4>>2]|0;s=w+(h<<2)|0;t=s;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=f+28040|0;v=c[t+4>>2]|0;s=s+8|0;c[s>>2]=c[t>>2];c[s+4>>2]=v;s=f+28064|0;v=c[s+4>>2]|0;t=w+(h<<1<<2)|0;u=t;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=f+28072|0;v=c[u+4>>2]|0;t=t+8|0;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=f+28096|0;v=c[t+4>>2]|0;w=w+(h*3<<2)|0;u=w;c[u>>2]=c[t>>2];c[u+4>>2]=v;u=f+28104|0;v=c[u+4>>2]|0;w=w+8|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;w=(c[e+24384>>2]|0)+g|0;a[w>>0]=a[f+28284>>0]|0;a[w+1>>0]=a[f+28286>>0]|0;a[w+2>>0]=a[f+28300>>0]|0;a[w+3>>0]=a[f+28302>>0]|0}if(j&49152|0){w=(c[e+24356>>2]|0)+(i<<2)|0;u=f+28160|0;v=c[u+4>>2]|0;s=w;c[s>>2]=c[u>>2];c[s+4>>2]=v;s=f+28168|0;v=c[s+4>>2]|0;u=w+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=f+28192|0;v=c[u+4>>2]|0;s=w+(h<<2)|0;t=s;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=f+28200|0;v=c[t+4>>2]|0;s=s+8|0;c[s>>2]=c[t>>2];c[s+4>>2]=v;s=f+28224|0;v=c[s+4>>2]|0;t=w+(h<<1<<2)|0;u=t;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=f+28232|0;v=c[u+4>>2]|0;t=t+8|0;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=f+28256|0;v=c[t+4>>2]|0;w=w+(h*3<<2)|0;u=w;c[u>>2]=c[t>>2];c[u+4>>2]=v;u=f+28264|0;v=c[u+4>>2]|0;w=w+8|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;w=(c[e+24388>>2]|0)+g|0;a[w>>0]=a[f+28324>>0]|0;a[w+1>>0]=a[f+28326>>0]|0;a[w+2>>0]=a[f+28340>>0]|0;a[w+3>>0]=a[f+28342>>0]|0}c[(c[e+24364>>2]|0)+(y<<2)>>2]=c[x>>2];a[(c[e+24340>>2]|0)+y>>0]=c[f+848>>2];b[(c[e+26356>>2]|0)+(y<<1)>>1]=c[f+832>>2];c[f+21648>>2]=1;Mb=z;return}function _c(e,g,h,i){e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=Mb;Mb=Mb+32|0;o=v+24|0;m=v+16|0;l=v+8|0;j=c[i+24>>2]|0;i=c[i+28>>2]|0;u=c[e+60>>2]|0;s=e+48|0;r=(BI(c[s>>2]|0)|0)/8|0;k=c[s>>2]|0;t=(k|0)==65561;q=t?2:1;r=t?5:r;a:do if(r){t=e+420|0;p=c[t>>2]|0;if(!p){Xw(e,16,184392,l);i=-22;break}if((k|0)!=(c[(c[e+12>>2]|0)+12>>2]|0)){Xw(e,16,184420,m);i=-22;break}k=H(p,r)|0;do if((k|0)!=0?(n=(i|0)%(k|0)|0,(n|0)!=0):0)if((i|0)<(k|0)){c[o>>2]=i;c[o+4>>2]=k;Xw(e,16,184440,o);i=-1094995529;break a}else{i=i-n|0;break}while(0);l=(i|0)/(r|0)|0;k=(H(l,q)|0)/(p|0)|0;p=g+76|0;c[p>>2]=k;k=HI(e,g,0)|0;if((k|0)<0)i=k;else{k=c[g>>2]|0;b:do switch(c[s>>2]|0){case 65546:while(1){if((l|0)<=0)break b;r=j;c[k>>2]=(d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24)^-2147483648;l=l+-1|0;k=k+4|0;j=j+4|0}case 65547:while(1){if((l|0)<=0)break b;r=j;r=kS((d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24)^128|0)|0;c[k>>2]=r;l=l+-1|0;k=k+4|0;j=j+4|0}case 65548:while(1){if((l|0)<=0)break b;r=j;c[k>>2]=((d[r+1>>0]|0)<<8|(d[r+2>>0]|0)<<16|(d[r>>0]|0))<<8;l=l+-1|0;k=k+4|0;j=r+3|0}case 65564:{k=c[t>>2]|0;n=(l|0)/(k|0)|0;o=g+64|0;m=0;while(1){if((m|0)>=(k|0))break b;k=n;l=c[(c[o>>2]|0)+(m<<2)>>2]|0;while(1){if((k|0)<=0)break;r=j;c[l>>2]=((d[r+1>>0]|0)<<8|(d[r+2>>0]|0)<<16|(d[r>>0]|0))<<8;k=k+-1|0;l=l+4|0;j=r+3|0}m=m+1|0;k=c[t>>2]|0}}case 65549:while(1){if((l|0)<=0)break b;r=j;c[k>>2]=((d[r+1>>0]|0)<<8|(d[r>>0]|0)<<16|(d[r+2>>0]|0))<<8;l=l+-1|0;k=k+4|0;j=r+3|0}case 65550:while(1){if((l|0)<=0)break b;r=j;c[k>>2]=((d[r+1>>0]|0)<<8|(d[r+2>>0]|0)<<16|(d[r>>0]|0))<<8^-2147483648;l=l+-1|0;k=k+4|0;j=r+3|0}case 65551:while(1){if((l|0)<=0)break b;r=j;c[k>>2]=((d[r+1>>0]|0)<<8|(d[r>>0]|0)<<16|(d[r+2>>0]|0))<<8^-2147483648;l=l+-1|0;k=k+4|0;j=r+3|0}case 65552:while(1){if((l|0)<=0)break b;r=j;e=(d[r+1>>0]|0)<<8;b[k>>1]=(d[148160+((e|(d[r+2>>0]|0))>>>4&255)>>0]|0)<<8|(d[148160+((e|(d[r>>0]|0)<<16)>>>12&255)>>0]|0);l=l+-1|0;k=k+2|0;j=r+3|0}case 65538:while(1){if((l|0)<=0)break b;r=j;b[k>>1]=((d[r>>0]|d[r+1>>0]<<8)&65535)+32768;l=l+-1|0;k=k+2|0;j=j+2|0}case 65539:while(1){if((l|0)<=0)break b;r=j;r=((cU(d[r>>0]|d[r+1>>0]<<8|0)|0)&65535)+32768&65535;b[k>>1]=r;l=l+-1|0;k=k+2|0;j=j+2|0}case 65540:while(1){if((l|0)<=0)break b;r=j;a[k>>0]=(d[r>>0]|0)+128;k=k+1|0;l=l+-1|0;j=r+1|0}case 65563:{k=c[t>>2]|0;n=(l|0)/(k|0)|0;o=g+64|0;m=0;while(1){if((m|0)>=(k|0))break b;k=n;l=c[(c[o>>2]|0)+(m<<2)>>2]|0;while(1){if((k|0)<=0)break;r=j;a[l>>0]=(d[r>>0]|0)+128;k=k+-1|0;l=l+1|0;j=r+1|0}m=m+1|0;k=c[t>>2]|0}}case 65558:case 67585:while(1){if((l|0)<=0)break b;q=j;e=q;q=q+4|0;q=OP(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24,d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24)|0;e=M()|0;r=k;c[r>>2]=q;c[r+4>>2]=e;l=l+-1|0;k=k+8|0;j=j+8|0}case 65545:case 65556:while(1){if((l|0)<=0)break b;r=j;r=kS(d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24|0)|0;c[k>>2]=r;l=l+-1|0;k=k+4|0;j=j+4|0}case 65537:while(1){if((l|0)<=0)break b;r=j;r=cU(d[r>>0]|d[r+1>>0]<<8|0)|0;b[k>>1]=r;l=l+-1|0;k=k+2|0;j=j+2|0}case 65566:{k=c[t>>2]|0;n=(l|0)/(k|0)|0;o=g+64|0;m=0;while(1){if((m|0)>=(k|0))break b;k=n;l=c[(c[o>>2]|0)+(m<<2)>>2]|0;while(1){if((k|0)<=0)break;r=j;r=cU(d[r>>0]|d[r+1>>0]<<8|0)|0;b[l>>1]=r;k=k+-1|0;l=l+2|0;j=j+2|0}m=m+1|0;k=c[t>>2]|0}}case 65541:case 65536:case 65544:case 67584:case 67586:case 67587:case 65557:case 65559:{rk(k|0,j|0,H(l,r)|0)|0;break}case 65565:case 65554:{k=c[t>>2]|0;n=g+64|0;m=H((l|0)/(k|0)|0,r)|0;l=0;while(1){if((l|0)>=(k|0))break b;k=j;rk(c[(c[n>>2]|0)+(l<<2)>>2]|0,k|0,m|0)|0;l=l+1|0;j=k+m|0;k=c[t>>2]|0}}case 65553:while(1){if((l|0)<=0)break b;r=j;q=a[r>>0]|0;e=q&255;a[k>>0]=q<<24>>24>-1?128-e|0:e;l=l+-1|0;k=k+1|0;j=r+1|0}case 65542:case 65543:while(1){if((l|0)<=0)break b;r=j;b[k>>1]=b[u+((d[r>>0]|0)<<1)>>1]|0;l=l+-1|0;k=k+2|0;j=r+1|0}case 65561:{k=c[t>>2]|0;n=(l|0)/(k|0)|0;o=g+64|0;m=0;while(1){if((m|0)>=(k|0))break b;k=0;l=c[(c[o>>2]|0)+(m<<2)>>2]|0;while(1){if((k|0)>=(n|0))break;r=j;e=r+2|0;w=d[e>>0]|0;q=d[r+1>>0]|0;c[l>>2]=w<<28|q|q<<20|w<<8&3840|(d[r>>0]|0)<<12;w=d[r+4>>0]|0;q=d[r+3>>0]|0;c[l+4>>2]=w<<4|w<<24|q<<16|q>>>4|(a[e>>0]&-16&255)<<8;k=k+1|0;l=l+8|0;j=r+5|0}m=m+1|0;k=c[t>>2]|0}}default:{i=-1;break a}}while(0);if((c[s>>2]&-2|0)==67586){g=c[c[g+64>>2]>>2]|0;w=(H(c[t>>2]|0,c[p>>2]|0)|0)+3&-4;fc[c[(c[u+512>>2]|0)+12>>2]&7](g,g,+f[u+516>>2],w)}c[h>>2]=1}}else{Xw(e,16,184371,v);i=-22}while(0);Mb=v;return i|0}function $c(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0;E=Mb;Mb=Mb+16|0;x=E;n=c[f+26352>>2]|0;j=c[g+21796>>2]|0;v=g+21792|0;l=c[v>>2]|0;t=c[h>>2]|0;w=t&64;r=g+25336|0;OB(f,r,(t>>>7&1)+l|0);t=g+25372|0;p=c[(c[t>>2]|0)+48>>2]|0;q=c[h>>2]|0;i=(q&128|0)!=0;do if(!(c[p+(j<<2)>>2]&128))if(i){l=c[v>>2]&-2;k=c[f+27e3>>2]|0;o=(H(k,l)|0)+(c[g+21788>>2]|0)|0;m=c[p+(o<<2)>>2]|0;c[x>>2]=m;i=c[p+(o+k<<2)>>2]|0;j=x+4|0;c[j>>2]=i;k=k<<2|2;n=n*6|0;if((i^m)&128){i=i&-129;m=m&-129;c[x>>2]=m;c[j>>2]=i}if(m&15|0?!((w|0)!=0|(i&15|0)==0):0){j=o;u=20744;i=q|61712;s=m;break}j=o;u=20744;i=q|61504;s=m}else{k=2;D=13}else{if(i){D=c[g+21852>>2]|0;k=2;l=D+l|0;i=j;j=D}else{j=(c[v>>2]&-2)+(c[g+21848>>2]|0)|0;k=0;l=j;i=c[g+21788>>2]|0}j=(H(c[f+27e3>>2]|0,j)|0)+i|0;D=13}while(0);do if((D|0)==13){m=c[p+(j<<2)>>2]|0;c[x+4>>2]=m;c[x>>2]=m;i=(w|0)!=0;if(!(i|(m&15|0)==0)){u=20744;i=q|20744;s=m;break}if(!i?(o=m&48,o|0):0){u=20744;i=q|o|61696;s=m;break}u=(c[(c[f+28200>>2]|0)+72>>2]|0)==0?20800:20744;i=q|61504;s=m}while(0);c[h>>2]=i;OB(f,r,l);r=c[t>>2]|0;l=c[(c[f+26344>>2]|0)+(j<<2)>>2]|0;i=(c[r+36>>2]|0)+(l<<2)|0;l=(c[r+40>>2]|0)+(l<<2)|0;m=j<<2;j=(c[r+68>>2]|0)+m|0;m=(c[r+72>>2]|0)+m|0;if(!k){A=(c[v>>2]&1|0)==0;B=n<<1;C=A?i:i+(B<<2)|0;l=A?l:l+(B<<2)|0;B=A?j:j+2|0;m=A?m:m+2|0}else{C=i;B=j}i=g+22252|0;p=g+22444|0;o=g+21868|0;q=c[h>>2]|0;j=q&128;if(c[f+26360>>2]|0)if(!j){j=0;z=p}else{z=c[v>>2]&1;o=g+21996+(z<<7)|0;i=g+22636+(z*384|0)|0;z=g+22636+(z*384|0)+192|0}else z=p;A=s>>3&c[r+632>>2]<<4;a:do if((j|0)==(s&128|0)){if(q&8|0){c[g+28324>>2]=0;c[g+28332>>2]=0;c[g+28340>>2]=0;c[g+28348>>2]=0;if(!(s&7)){j=a[B>>0]|0;k=j<<24>>24>-1;if(!k){j=a[m>>0]|0;i=z}D=c[i+(A+(j<<24>>24)<<2)>>2]|0;B=c[o+(D<<2)>>2]|0;C=k?C:l;i=b[C>>1]|0;j=(H(B,i)|0)+128>>8;C=b[C+2>>1]|0;k=(H(B,C)|0)+128>>8;i=k-C<<16|j-i&65535;j=k<<16|j&65535;k=H(D,16843009)|0}else{i=0;j=0;k=0}c[g+28284>>2]=k;c[g+28292>>2]=k;c[g+28300>>2]=k;c[g+28308>>2]=k;c[g+28e3>>2]=j;c[g+28004>>2]=j;c[g+28008>>2]=j;c[g+28012>>2]=j;c[g+28032>>2]=j;c[g+28036>>2]=j;c[g+28040>>2]=j;c[g+28044>>2]=j;c[g+28064>>2]=j;c[g+28068>>2]=j;c[g+28072>>2]=j;c[g+28076>>2]=j;c[g+28096>>2]=j;c[g+28100>>2]=j;c[g+28104>>2]=j;c[g+28108>>2]=j;c[g+28160>>2]=i;c[g+28164>>2]=i;c[g+28168>>2]=i;c[g+28172>>2]=i;c[g+28192>>2]=i;c[g+28196>>2]=i;c[g+28200>>2]=i;c[g+28204>>2]=i;c[g+28224>>2]=i;c[g+28228>>2]=i;c[g+28232>>2]=i;c[g+28236>>2]=i;c[g+28256>>2]=i;c[g+28260>>2]=i;c[g+28264>>2]=i;c[g+28268>>2]=i;break}x=(w|0)==0;y=u&65535;w=(s&7|0)==0;f=(u&8|0)==0;v=n*3|0;h=0;while(1){if((h|0)==4)break a;r=h&1;s=h>>>1;j=g+28552+(h<<1)|0;if(!(!x?!(b[j>>1]&256):0))D=46;b:do if((D|0)==46){D=0;b[j>>1]=y;u=h<<2;p=d[88656+u>>0]|0;t=g+28312+p|0;b[t>>1]=0;b[t+8>>1]=0;if(!w){u=g+28272+p|0;b[u>>1]=0;b[u+8>>1]=0;u=g+27952+(p<<2)|0;c[u>>2]=0;c[u+4>>2]=0;c[u+32>>2]=0;c[u+36>>2]=0;u=g+28112+(p<<2)|0;c[u>>2]=0;c[u+4>>2]=0;c[u+32>>2]=0;c[u+36>>2]=0;break}j=a[B+h>>0]|0;if(j<<24>>24>-1){t=C;k=i}else{t=l;j=a[m+h>>0]|0;k=z}j=c[k+(A+(j<<24>>24)<<2)>>2]|0;q=c[o+(j<<2)>>2]|0;k=g+28272+p|0;j=j*257&65535;b[k>>1]=j;b[k+8>>1]=j;if(!f){u=(H(v,s)|0)+(0-r&3)|0;s=b[t+(u<<2)>>1]|0;r=(H(q,s)|0)+128>>8;t=b[t+(u<<2)+2>>1]|0;q=(H(q,t)|0)+128>>8;u=g+27952+(p<<2)|0;k=q<<16|r&65535;c[u>>2]=k;c[u+4>>2]=k;c[u+32>>2]=k;c[u+36>>2]=k;u=g+28112+(p<<2)|0;t=q-t<<16|r-s&65535;c[u>>2]=t;c[u+4>>2]=t;c[u+32>>2]=t;c[u+36>>2]=t;break}k=r<<1;p=h&2147483646;j=0;while(1){if((j|0)==4)break b;G=(H((j>>>1)+p|0,n)|0)+(j&1|k)|0;r=t+(G<<2)|0;s=d[88656+(j+u)>>0]|0;F=((H(q,b[r>>1]|0)|0)+128|0)>>>8;b[g+27952+(s<<2)>>1]=F;G=t+(G<<2)+2|0;I=((H(q,b[G>>1]|0)|0)+128|0)>>>8;b[g+27952+(s<<2)+2>>1]=I;c[g+28112+(s<<2)>>2]=I-(e[G>>1]|0)<<16|F-(e[r>>1]|0)&65535;j=j+1|0}}while(0);h=h+1|0}}else{v=j>>>6^2;f=(w|0)==0;h=u&65535;u=0;while(1){if((u|0)==4)break a;r=u&1;s=u>>>1;j=g+28552+(u<<1)|0;if(!(!f?!(b[j>>1]&256):0)){b[j>>1]=h;t=d[88656+(u<<2)>>0]|0;I=g+28312+t|0;b[I>>1]=0;b[I+8>>1]=0;if(!(c[x+(s<<2)>>2]&7)){p=(H(s,k)|0)+r|0;j=a[B+p>>0]|0;if(j<<24>>24>-1){q=C;p=i}else{q=l;j=a[m+p>>0]|0;p=z}G=c[p+(A+(j<<24>>24)<<2)>>2]|0;F=c[o+(G<<2)>>2]|0;j=g+28272+t|0;G=G*257&65535;b[j>>1]=G;b[j+8>>1]=G;j=(0-r&3)+(H(s,n)|0)|0;G=(b[q+(j<<2)+2>>1]<<v|0)/2|0;j=b[q+(j<<2)>>1]|0;I=(H(F,j)|0)+128>>8;F=(H(G,F)|0)+128>>8;D=g+27952+(t<<2)|0;y=F<<16|I&65535;c[D>>2]=y;c[D+4>>2]=y;c[D+32>>2]=y;c[D+36>>2]=y;j=F-G<<16|I-j&65535}else{j=g+28272+t|0;b[j>>1]=0;b[j+8>>1]=0;j=g+27952+(t<<2)|0;c[j>>2]=0;c[j+4>>2]=0;c[j+32>>2]=0;c[j+36>>2]=0;j=0}I=g+28112+(t<<2)|0;c[I>>2]=j;c[I+4>>2]=j;c[I+32>>2]=j;c[I+36>>2]=j}u=u+1|0}}while(0);Mb=E;return}function ad(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=Mb;Mb=Mb+96|0;x=E+72|0;w=E+56|0;u=E+48|0;o=E+40|0;p=E+32|0;l=E+16|0;k=E;e=ce(a,b,e)|0;a:do if((e|0)>=0){A=a+28200|0;q=c[A>>2]|0;m=a+25672|0;n=c[m>>2]|0;B=a+26364|0;v=c[B>>2]|0;C=d+68|0;c[m>>2]=(c[C>>2]|0)==0&1;e=c[b+21824>>2]|0;c[B>>2]=e;f=c[b+34732>>2]|0;y=a+28208|0;D=a+28228|0;c[D>>2]=f;c[y>>2]=c[b+34736>>2];c[a+28216>>2]=c[b+34740>>2];c[a+28220>>2]=c[b+34744>>2];c[a+28224>>2]=c[b+34748>>2];r=a+28248|0;g=c[r>>2]|0;if((f|0)!=(g|0)?(h=1<<c[q+20>>2],z=c[q+48>>2]|0,i=f-z|0,(f-g+((f|0)<(g|0)?h:0)|0)>(z|0)):0)c[r>>2]=i+-1+((i|0)<1?h:0);z=a+26368|0;do if(c[z>>2]|0){i=(v|0)==2;f=i&1;j=a+24312|0;g=c[j>>2]|0;if(!g){c[k>>2]=199421;c[k+4>>2]=198956;c[k+8>>2]=1452;Xw(0,0,213444,k);ba()}if(!(c[(c[g>>2]|0)+248>>2]|0)){c[l>>2]=199436;c[l+4>>2]=198956;c[l+8>>2]=1453;Xw(0,0,213444,l);ba()}h=a+4|0;if((c[g+8+(f<<2)>>2]|0)==(c[h>>2]|0)){Js(g+4|0,2147483647,f);e=c[B>>2]|0}if((e|0)==3|(e|0)==(v|0)){if((v|0)==3){n=j;break}Js((c[j>>2]|0)+4|0,2147483647,(v|0)==1&1);n=j;break}f=c[j>>2]|0;if((c[f+88>>2]|0)!=(c[D>>2]|0)){if((v|0)==3){n=j;break}Js(f+4|0,2147483647,(v|0)==1&1);n=j;break}if(!((v|0)==1&(e|0)==2|i&(e|0)==1)){a=c[h>>2]|0;c[p>>2]=v;c[p+4>>2]=e;Xw(a,16,199462,p);c[B>>2]=v;c[m>>2]=n;e=-1094995529;break a}if((n|0)==(c[m>>2]|0))n=j;else{KM(c[h>>2]|0,199500,o);c[B>>2]=v;c[m>>2]=n;e=-1163346256;break a}}else{h=a+4|0;n=a+24312|0}while(0);k=q+20|0;l=a+29540|0;g=q+52|0;j=a+28332|0;m=a+29532|0;while(1){i=c[D>>2]|0;e=c[r>>2]|0;f=(c[z>>2]|0)==0;if((i|0)==(e|0)){g=47;break}if(!f){g=48;break}if((i|0)==((e+1|0)%(1<<c[k>>2]|0)|0|0)){g=59;break}if(!(c[l>>2]|0))f=0;else f=c[j>>2]|0;q=c[h>>2]|0;c[u>>2]=i;c[u+4>>2]=e;Xw(q,48,199566,u);b:do if(!(c[g>>2]|0)){e=0;while(1){if((e|0)==16)break b;c[a+28660+(e<<2)>>2]=-2147483648;e=e+1|0}}while(0);e=xe(a)|0;if((e|0)<0){g=34;break}q=((c[r>>2]|0)+1|0)%(1<<c[k>>2]|0)|0;c[r>>2]=q;e=c[n>>2]|0;c[e+88>>2]=q;c[e+648>>2]=(c[g>>2]|0)==0&1;Js(e+4|0,2147483647,0);Js((c[n>>2]|0)+4|0,2147483647,1);c[m>>2]=0;e=bd(a)|0;if((e|0)<0?c[(c[h>>2]|0)+688>>2]&8|0:0)break a;if(c[l>>2]|0){e=c[j>>2]|0;if((((f|0)!=0?(s=c[e>>2]|0,t=c[f>>2]|0,(c[s+68>>2]|0)==(c[t+68>>2]|0)):0)?(c[s+72>>2]|0)==(c[t+72>>2]|0):0)?(c[s+80>>2]|0)==(c[t+80>>2]|0):0){e=f+4|0;tr(e,2147483647,0);if(c[f+636>>2]|0)tr(e,2147483647,1);q=c[c[j>>2]>>2]|0;e=c[f>>2]|0;Mw(q,q+32|0,e,e+32|0,c[e+80>>2]|0,c[e+68>>2]|0,c[e+72>>2]|0);e=c[j>>2]|0;c[e+84>>2]=(c[f+84>>2]|0)+2}c[e+88>>2]=c[r>>2]}}if((g|0)==34){c[z>>2]=0;break}else if((g|0)==47)if(f)g=59;else g=48;do if((g|0)==48){g=c[n>>2]|0;if(!g){c[w>>2]=199421;c[w+4>>2]=198956;c[w+8>>2]=1559;Xw(0,0,213444,w);ba()}if(!(c[(c[g>>2]|0)+248>>2]|0)){c[x>>2]=199436;c[x+4>>2]=198956;c[x+8>>2]=1560;Xw(0,0,213444,x);ba()}e=c[B>>2]|0;f=a+29568|0;if((e|0)==3|(e|0)==(v|0)){c[f>>2]=(c[f>>2]|0)+1;c[n>>2]=0;f=(e|0)!=3&1;c[z>>2]=f;g=60;break}c[f>>2]=0;if((c[g+88>>2]|0)!=(i|0)){Js(g+4|0,2147483647,(e|0)==2&1);c[z>>2]=1;c[n>>2]=0;e=c[B>>2]|0;f=1;g=60;break}if(!(c[g+640>>2]&4)){c[z>>2]=0;g=63;break}else{c[z>>2]=1;c[n>>2]=0;g=61;break}}else if((g|0)==59){e=c[B>>2]|0;f=(e|0)!=3&1;c[z>>2]=f;g=60}while(0);if((g|0)==60)if((e|0)!=3&(f|0)==0)g=63;else g=61;if((g|0)==61){if((xe(a)|0)<0){c[z>>2]=0;e=-1094995529;break}}else if((g|0)==63){bx(a,0);c[(c[n>>2]|0)+8+(((e|0)==2&1)<<2)>>2]=c[h>>2]}e=c[B>>2]|0;c:do if((e|0)==3)Wp(c[a+26356>>2]|0,-1,(H(c[a+26992>>2]<<1,c[a+27e3>>2]|0)|0)+-2|0)|0;else{g=a+26992|0;h=a+26356|0;i=a+27e3|0;e=(e|0)==2&1;while(1){f=c[g>>2]|0;if((e|0)>=(f|0))break c;w=c[i>>2]|0;x=e+1|0;Wp((c[h>>2]|0)+((H(w,e)|0)<<1)|0,-1,w-((x|0)==(f|0)&1)<<1|0)|0;e=x}}while(0);j=c[n>>2]|0;ah(j+76|0,j+84|0,c[A>>2]|0,y,c[B>>2]|0,c[C>>2]|0)|0;j=b+34724|0;rk(a+28732|0,b+33932|0,(c[j>>2]|0)*12|0)|0;c[a+29524>>2]=c[j>>2];c[m>>2]=c[b+34728>>2];j=(c[d+48>>2]|0)==5;k=j&1;c[a+25696>>2]=k;h=c[a+29700>>2]|0;do if((h|0)>-1){i=c[D>>2]|0;if(!((i|0)==(h|0)?(c[b+840>>2]|0)==1:0))c[a+29552>>2]=1;f=a+29556|0;g=c[f>>2]|0;if((g|0)>=0){e=(1<<c[(c[A>>2]|0)+20>>2])+-1|0;if((e&g-i)>>>0<=h>>>0)break}else e=(1<<c[(c[A>>2]|0)+20>>2])+-1|0;c[f>>2]=(c[a+29552>>2]|0)==0?i:e&i+h}else f=a+29556|0;while(0);e=c[n>>2]|0;A=(c[e>>2]|0)+84|0;c[A>>2]=c[A>>2]|k;if(!j){if((c[f>>2]|0)==(c[D>>2]|0)?c[C>>2]|0:0){c[f>>2]=-1;c[e+644>>2]=1}}else{c[f>>2]=-1;c[e+644>>2]=1;D=a+29560|0;c[D>>2]=c[D>>2]|1}D=e+644|0;c[D>>2]=c[D>>2]|c[a+29560>>2];if(((c[B>>2]|0)!=3?c[z>>2]|0:0)?(c[a+29568>>2]|0)<=1:0){e=0;break}Ge(a);$d(a);e=0}while(0);Mb=E;return e|0}function bd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=Mb;Mb=Mb+128|0;B=J+96|0;z=J+88|0;y=J+80|0;u=J+64|0;t=J+56|0;s=J+48|0;r=J+40|0;w=J+32|0;v=J+24|0;q=J+8|0;m=J+112|0;n=J+108|0;if(!(c[a+29532>>2]|0))cs(a);p=c[a+29524>>2]|0;I=a+4|0;b=c[I>>2]|0;if((p|0)==0?(c[b+680>>2]&2048|0)!=0:0)Xw(b,48,198068,J);A=a+28332|0;F=a+24312|0;G=a+29540|0;D=a+29536|0;E=a+26364|0;k=a+28228|0;l=a+29528|0;j=0;f=0;b=0;d=0;i=0;a:while(1){if((j|0)>=(p|0))break;e=c[I>>2]|0;if(!(c[e+680>>2]&2048))g=a+28732+(j*12|0)|0;else{g=a+28732+(j*12|0)|0;K=c[a+28732+(j*12|0)+4>>2]|0;h=c[a+28732+(j*12|0)+8>>2]|0;c[q>>2]=c[g>>2];c[q+4>>2]=K;c[q+8>>2]=h;Xw(e,48,198082,q)}e=c[g>>2]|0;b:do switch(e|0){case 3:case 1:{e=NJ(a,c[a+28732+(j*12|0)+4>>2]|0,n)|0;f=Cr(a,e,m)|0;b=c[g>>2]|0;if(!f){if(((b|0)==3?(o=c[a+28460+(c[a+28732+(j*12|0)+8>>2]<<2)>>2]|0,o|0):0)?(c[o+88>>2]|0)==(e|0):0){g=i;b=0;break b}Xw(c[I>>2]|0,(c[G>>2]|0)==0?48:16,198097,v);d=-1094995529;g=i;b=0}else{h=e;x=16}break}default:{h=f;f=b;b=e;x=16}}while(0);c:do if((x|0)==16){x=0;switch(b|0){case 1:{b=c[I>>2]|0;if(c[b+680>>2]&2048|0){K=c[G>>2]|0;c[w>>2]=c[a+28732+(j*12|0)+4>>2];c[w+4>>2]=K;Xw(b,48,198124,w)}dw(a,h,c[n>>2]^3)|0;e=h;g=i;b=f;break c}case 3:{b=a+28732+(j*12|0)+8|0;e=c[b>>2]|0;if((c[a+28460+(e<<2)>>2]|0)!=(f|0))OH(a,e,0);qI(a,c[m>>2]|0);c[a+28460+(c[b>>2]<<2)>>2]=f;if(!f){e=h;g=i;b=0;break c}c[f+100>>2]=1;c[D>>2]=(c[D>>2]|0)+1;e=h;g=i;b=f;break c}case 2:{e=NJ(a,c[a+28732+(j*12|0)+8>>2]|0,n)|0;c[m>>2]=e;b=c[a+28460+(e<<2)>>2]|0;if(b|0){OH(a,e,c[n>>2]^3);e=h;g=i;break c}b=c[I>>2]|0;if(!(c[b+680>>2]&2048)){e=h;g=i;b=0;break c}Xw(b,48,198155,r);e=h;g=i;b=0;break c}case 6:{b=c[F>>2]|0;if((c[A>>2]|0)==(b|0)){Xw(c[I>>2]|0,16,198181,s);qI(a,0);b=c[F>>2]|0}g=a+28732+(j*12|0)+8|0;if(c[b+100>>2]|0){b=0;while(1){if((b|0)==32)break;if((c[a+28460+(b<<2)>>2]|0)==(c[F>>2]|0)){if((b|0)!=(c[g>>2]|0))Xw(c[I>>2]|0,16,198253,t);OH(a,b,0)}b=b+1|0}c[m>>2]=32;b=c[F>>2]|0}e=c[g>>2]|0;if((c[a+28460+(e<<2)>>2]|0)!=(b|0)){if(c[b+100>>2]|0){x=42;break a}OH(a,e,0);b=c[F>>2]|0;c[a+28460+(c[g>>2]<<2)>>2]=b;c[b+100>>2]=1;c[D>>2]=(c[D>>2]|0)+1;b=c[F>>2]|0}e=b+640|0;c[e>>2]=c[e>>2]|c[E>>2];e=h;g=1;b=f;break c}case 4:{b=c[a+28732+(j*12|0)+8>>2]|0;while(1){if((b|0)>=16)break;OH(a,b,0);b=b+1|0}c[m>>2]=b;e=h;g=i;b=f;break c}case 5:{while(1){if(!(c[G>>2]|0))break;dw(a,c[(c[A>>2]|0)+88>>2]|0,0)|0}b=0;while(1){if((b|0)==16)break;OH(a,b,0);b=b+1|0}c[m>>2]=16;b=c[F>>2]|0;c[b+88>>2]=0;c[k>>2]=0;c[l>>2]=1;c[b+92>>2]=1;b=0;while(1){if((b|0)==16)break;c[a+28660+(b<<2)>>2]=-2147483648;b=b+1|0}c[m>>2]=16;e=h;g=i;b=f;break c}default:{e=h;g=i;b=f;break c}}}while(0);j=j+1|0;f=e;i=g}if((x|0)==42){c[u>>2]=198316;c[u+4>>2]=197706;c[u+8>>2]=696;Xw(0,0,213444,u);ba()}do if(!i){if(c[G>>2]|0){e=c[A>>2]|0;b=c[F>>2]|0;if((e|0)==(b|0)){K=e+640|0;c[K>>2]=c[K>>2]|c[E>>2];break}}else b=c[F>>2]|0;if(c[b+100>>2]|0){Xw(c[I>>2]|0,16,198342,y);d=-1094995529;break}if(dw(a,c[b+88>>2]|0,0)|0){Xw(c[I>>2]|0,16,198455,z);d=-1094995529}b=c[G>>2]|0;if(!b)b=1;else{NE(a+28336|0,A|0,b<<2|0)|0;b=(c[G>>2]|0)+1|0}K=c[F>>2]|0;c[a+28332>>2]=K;c[G>>2]=b;K=K+640|0;c[K>>2]=c[K>>2]|c[E>>2]}while(0);b=c[D>>2]|0;e=c[G>>2]|0;h=a+28200|0;f=c[(c[h>>2]|0)+48>>2]|0;do if((e+b|0)>(((f|0)>1?f:1)|0)){K=c[I>>2]|0;c[B>>2]=b;c[B+4>>2]=e;c[B+8>>2]=f;Xw(K,16,198497,B);b=c[G>>2]|0;if(!((c[D>>2]|0)!=0&(b|0)==0)){dw(a,c[(c[a+28332+(b+-1<<2)>>2]|0)+88>>2]|0,0)|0;g=-1094995529;break}b=0;while(1){if(b>>>0>=16)break;if(c[a+28460+(b<<2)>>2]|0)break;b=b+1|0}OH(a,b,0);g=-1094995529}else g=d;while(0);b=0;while(1){if((b|0)>=(c[G>>2]|0))break;d=c[a+28332+(b<<2)>>2]|0;if(c[d+648>>2]|0?(C=c[d+88>>2]|0,K=c[h>>2]|0,((1<<c[K+20>>2])+-1&(c[(c[F>>2]|0)+88>>2]|0)-C|0)>(c[K+48>>2]|0)):0)dw(a,C,0)|0;b=b+1|0}Zr(a);os(a);e=0;f=0;d=0;while(1){if((e|0)==256)break;b=c[a+27164+(e<<2)>>2]|0;if(!b)b=f;else{K=c[b+4>>2]|0;b=c[K+20>>2]|0;K=c[K+24>>2]|0;b=f>>>0>b>>>0?f:b;d=d>>>0>K>>>0?d:K}e=e+1|0;f=b}do if((g|0)>-1?(c[D>>2]|0)==0:0){b=c[E>>2]|0;if((c[G>>2]|0)>=3?!((d|0)<2&(f|0)<=(((b|0)==3?1:2)|0)):0)break;if(((f|0)<=((((c[a+29564>>2]|0)==0&1)<<1)+((b|0)==3?2:3)|0)?(H=c[F>>2]|0,(c[(c[H>>2]|0)+88>>2]|0)==1):0)?(K=H+644|0,c[K>>2]=c[K>>2]|1,(c[(c[I>>2]|0)+180>>2]|0)==0):0){K=a+29560|0;c[K>>2]=c[K>>2]|2}}while(0);Mb=J;return ((c[(c[I>>2]|0)+688>>2]&8|0)==0?0:g)|0}function cd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=Mb;Mb=Mb+64|0;p=C+56|0;o=C+48|0;v=C+32|0;t=C+24|0;u=C+16|0;f=C;y=c[d>>2]|0;B=d+21788|0;q=c[B>>2]|0;z=d+868|0;A=c[z>>2]|0;x=c[c[y+24312>>2]>>2]|0;b=c[x+32>>2]|0;e=d+21772|0;c[e>>2]=b;c[d+21776>>2]=c[x+36>>2];b=ar(d,b)|0;a:do if((b|0)>=0){n=d+21816|0;c[n>>2]=-1;if((c[y+26020>>2]|0)!=(((c[e>>2]|0)*12|0)+(12<<c[y+25652>>2])|0)){c[f>>2]=200093;c[f+4>>2]=198956;c[f+8>>2]=2540;Xw(0,0,213444,f);ba()}if(c[y+25692>>2]|0)c[z>>2]=0;w=y+26360|0;if(!(c[w>>2]|0))b=(c[y+26364>>2]|0)!=3&1;else b=1;c[d+21820>>2]=b;x=y+4|0;if(((((c[(c[x>>2]|0)+808>>2]&2|0)==0?(c[y+26364>>2]|0)==3:0)?(h=c[y+25628>>2]|0,i=c[h+604>>2]|0,i|0):0)?(s=(H(c[y+26996>>2]|0,c[d+21804>>2]|0)|0)+(c[d+21800>>2]|0)|0,g=(c[y+27004>>2]|0)+-1|0,g=(s|0)>(g|0)?g:s,!((s|0)<0|(g|0)==0)):0)?(a[i+(c[(c[h+572>>2]|0)+(g+-1<<2)>>2]|0)>>0]&-2)<<24>>24!=112:0)c[h+600>>2]=1;do if(!(c[(c[y+28196>>2]|0)+4>>2]|0)){m=d+21792|0;f=y+26996|0;i=d+21812|0;l=d+4|0;j=y+26364|0;k=y+26992|0;e=q;while(1){v=(H(c[f>>2]|0,c[m>>2]|0)|0)+(c[B>>2]|0)|0;b=c[i>>2]|0;if((v|0)>=(b|0)){f=46;break}b=rc(y,d)|0;if((b|0)<=-1){f=52;break}WN(y,d);if(c[w>>2]|0){c[m>>2]=(c[m>>2]|0)+1;b=rc(y,d)|0;if((b|0)<=-1){f=50;break}WN(y,d);c[m>>2]=(c[m>>2]|0)+-1}b=(c[B>>2]|0)+1|0;c[B>>2]=b;if((b|0)>=(c[f>>2]|0)){Jc(y,d,e,b);c[B>>2]=0;Kq(y,d);b=c[m>>2]|0;e=b+1|0;c[m>>2]=e;if(!(c[w>>2]|0)){if((c[j>>2]|0)!=3){e=b+2|0;c[m>>2]=e}}else{b=b+2|0;c[m>>2]=b;if((b|0)<(c[k>>2]|0)){_t(y,d);e=c[m>>2]|0}else e=b}if((e|0)<(c[k>>2]|0))h=0;else{f=61;break}}else h=e;g=pS(l)|0;if((g|0)<1?(c[n>>2]|0)<1:0){f=69;break}e=h}if((f|0)==46){A=c[x>>2]|0;c[o>>2]=b;Xw(A,16,200220,o);hL(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[B>>2]|0,c[m>>2]|0,14);b=-1094995529;break a}else if((f|0)==50){e=(c[m>>2]|0)+-1|0;c[m>>2]=e}else if((f|0)==52)e=c[m>>2]|0;else if((f|0)==61){b=pS(l)|0;do if(b|0){if((b|0)>0?(c[(c[x>>2]|0)+688>>2]&262144|0)==0:0)break;hL(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[B>>2]|0,e,112);b=-1094995529;break a}while(0);hL(d,c[d+21800>>2]|0,c[d+21804>>2]|0,(c[B>>2]|0)+-1|0,e,112);break}else if((f|0)==69){b=c[d+21800>>2]|0;e=c[d+21804>>2]|0;f=c[B>>2]|0;if(g|0){hL(d,b,e,f,c[m>>2]|0,14);b=-1094995529;break a}hL(d,b,e,f+-1|0,c[m>>2]|0,112);b=c[B>>2]|0;if((b|0)<=(h|0))break;Jc(y,d,h,b);break}A=c[x>>2]|0;c[p>>2]=c[B>>2];c[p+4>>2]=e;Xw(A,16,200324,p);hL(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[B>>2]|0,c[m>>2]|0,14);break a}else{b=d+4|0;BQ(b);o=d+32856|0;s=c[b>>2]|0;s=s+((sU(b)|0)/8|0)|0;b=iv(o,s,((pS(b)|0)+7|0)/8|0)|0;if((b|0)<0)break a;Vt(y,d);s=d+21792|0;l=y+26996|0;m=d+21812|0;n=y+25688|0;r=d+32872|0;p=d+32876|0;j=y+26992|0;k=y+26364|0;i=q;b=c[s>>2]|0;while(1){q=(H(c[l>>2]|0,b)|0)+(c[B>>2]|0)|0;b=c[m>>2]|0;if((q|0)>=(b|0)){f=18;break}b=qc(y,d)|0;if((b|0)>-1?(WN(y,d),(c[w>>2]|0)!=0):0){c[s>>2]=(c[s>>2]|0)+1;b=qc(y,d)|0;if((b|0)>-1)WN(y,d);c[s>>2]=(c[s>>2]|0)+-1}h=vI(o)|0;e=c[r>>2]|0;f=c[p>>2]|0;g=f+2|0;if((c[n>>2]&16384|0)!=0&e>>>0>g>>>0){f=25;break}if(e>>>0>g>>>0){q=c[x>>2]|0;c[t>>2]=f-e;Xw(q,48,200252,t)}if((b|0)<0){f=30;break}b=c[r>>2]|0;e=c[p>>2]|0;if(b>>>0>(e+4|0)>>>0){f=32;break}b=(c[B>>2]|0)+1|0;c[B>>2]=b;do if((b|0)>=(c[l>>2]|0)){Jc(y,d,i,b);c[B>>2]=0;Kq(y,d);b=c[s>>2]|0;c[s>>2]=b+1;if(!(c[w>>2]|0)){if((c[k>>2]|0)==3){e=0;break}c[s>>2]=b+2;e=0;break}else{q=b+2|0;c[s>>2]=q;if((q|0)>=(c[j>>2]|0)){e=0;break}_t(y,d);e=0;break}}else e=i;while(0);b=c[s>>2]|0;if(h|0){f=42;break}if((b|0)>=(c[j>>2]|0)){f=42;break}else i=e}if((f|0)==18){A=c[x>>2]|0;c[u>>2]=b;Xw(A,16,200220,u);hL(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[B>>2]|0,c[s>>2]|0,14);b=-1094995529;break a}else if((f|0)==25){hL(d,c[d+21800>>2]|0,c[d+21804>>2]|0,(c[B>>2]|0)+-1|0,c[s>>2]|0,112);b=c[B>>2]|0;if((b|0)<(i|0))break;Jc(y,d,i,b+1|0);break}else if((f|0)==30){e=c[p>>2]|0;b=c[r>>2]|0}else if((f|0)!=32)if((f|0)==42){hL(d,c[d+21800>>2]|0,c[d+21804>>2]|0,(c[B>>2]|0)+-1|0,b,112);b=c[B>>2]|0;if((b|0)<=(e|0))break;Jc(y,d,e,b);break}A=c[x>>2]|0;z=c[s>>2]|0;c[v>>2]=c[B>>2];c[v+4>>2]=z;c[v+8>>2]=e-b;Xw(A,16,200277,v);hL(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[B>>2]|0,c[s>>2]|0,14);b=-1094995529;break a}while(0);c[z>>2]=A;b=0}while(0);Mb=C;return b|0}function dd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=Mb;Mb=Mb+80|0;K=T+48|0;O=T+40|0;N=T+32|0;M=T+24|0;L=T+16|0;J=T+8|0;j=T;G=T+52|0;P=b+4|0;H=c[P>>2]|0;S=b+27016|0;c[S>>2]=0;I=b+27012|0;c[I>>2]=0;i=H+96|0;if(!(c[i>>2]&32768)){c[b+29544>>2]=0;if(!(c[b+26368>>2]|0))c[b+24312>>2]=0;II(b+29660|0)}h=c[b+27024>>2]|0;do if((h|0)==4){if((f|0)>8){g=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if((g|0)==16777216){R=e+5|0;if((kS(d[R>>0]|d[R+1>>0]<<8|d[R+2>>0]<<16|d[R+3>>0]<<24|0)|0)>>>0>f>>>0){c[b+27020>>2]=0;break}else g=16777216}}else{if((f|0)<=3)break;g=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24}R=kS(g|0)|0;if(!(R>>>0<2|R>>>0>f>>>0))c[b+27020>>2]=1}while(0);E=b+25640|0;g=cf(E,e,f,H,c[b+27020>>2]|0,h,c[H+48>>2]|0,c[i>>2]&1)|0;do if((g|0)<0)Xw(H,16,171161,j);else{B=H+808|0;if(c[B>>2]&1){g=Wn(b)|0;if((g|0)<0)break}else g=0;n=b+25644|0;o=H+844|0;p=b+27008|0;q=b+29660|0;r=b+27036|0;s=b+29564|0;C=b+29544|0;D=b+25628|0;t=b+25636|0;u=b+29700|0;v=H+680|0;w=H+704|0;x=b+29684|0;y=b+29880|0;z=b+29572|0;A=b+25632|0;R=b+24312|0;h=0;m=0;a:while(1){if((m|0)>=(c[n>>2]|0)){Q=64;break}k=c[E>>2]|0;j=k+(m*72|0)|0;i=c[k+(m*72|0)+68>>2]|0;if((c[o>>2]|0)>7&(i|0)==0){if((c[k+(m*72|0)+48>>2]|0)==6){i=0;Q=22}}else Q=22;b:do if((Q|0)==22){Q=0;c[p>>2]=i;i=c[k+(m*72|0)+48>>2]|0;c[I>>2]=i;switch(i|0){case 19:case 13:case 12:case 11:case 10:case 9:break b;case 5:{if((a[(c[k+(m*72|0)+12>>2]|0)+1>>0]&-4)<<24>>24==-104){Q=24;break a}if(!h){if(c[C>>2]|0?c[B>>2]&2|0:0){Q=28;break a}iI(b)}c[s>>2]=1;h=1;break}case 1:break;case 4:case 3:case 2:{KM(H,171312,M);break b}case 6:{l=bh(q,k+(m*72|0)+28|0,r,H)|0;if(!(c[s>>2]|0))i=(c[u>>2]|0)!=-1;else i=1;c[s>>2]=i&1;if(c[v>>2]&8388608|0)Em(y,c[P>>2]|0);i=c[P>>2]|0;c[i+276>>2]=d[x>>0];if((l|0)>=0)break b;if(!(c[i+688>>2]&8))break b;else break a}case 7:{i=k+(m*72|0)+28|0;c[G>>2]=c[i>>2];c[G+4>>2]=c[i+4>>2];c[G+8>>2]=c[i+8>>2];c[G+12>>2]=c[i+12>>2];c[G+16>>2]=c[i+16>>2];if((Xc(G,H,r,0)|0)<=-1?(Xw(c[P>>2]|0,48,171330,N),sQ(G,(c[k+(m*72|0)+24>>2]|0)+1|0,(c[k+(m*72|0)+20>>2]|0)+-1|0)|0,(Xc(G,H,r,0)|0)<=-1):0)Xc(i,H,r,1)|0;break b}case 8:{l=Dd(k+(m*72|0)+28|0,H,r,c[k+(m*72|0)+16>>2]|0)|0;if((l|0)>=0)break b;if(!(c[(c[P>>2]|0)+688>>2]&8))break b;else break a}default:{l=c[k+(m*72|0)+16>>2]|0;c[O>>2]=i;c[O+4>>2]=l;Xw(H,48,171388,O);break b}}c[S>>2]=1;i=ud(b,j)|0;if(i|0){k=c[D>>2]|0;l=c[t>>2]|0;c[k+(l*34768|0)+23408>>2]=0;c[k+(l*34768|0)+23404>>2]=0;if((i|0)>=0)break;Xw(c[P>>2]|0,16,171420,K);break}if((c[C>>2]|0)==1){if((!((m|0)<(g|0)|(c[B>>2]&1|0)==0)?(c[z>>2]|0)==0:0)?c[R>>2]|0:0){Jq(H);c[z>>2]=1}i=c[P>>2]|0;j=c[i+704>>2]|0;if(j|0?(F=Yb[c[j+28>>2]&15](i,e,f)|0,(F|0)<0):0){l=F;break a}}i=c[w>>2]|0;if(!i)j=c[A>>2]|0;else j=1;if((c[t>>2]|0)==(j|0)){if(!(c[(c[P>>2]|0)+704>>2]|0))l=kf(b)|0;else{l=Yb[c[i+32>>2]&15](H,c[k+(m*72|0)+24>>2]|0,c[k+(m*72|0)+20>>2]|0)|0;c[t>>2]=0}if((l|0)<0?(c[(c[P>>2]|0)+688>>2]&8|0)!=0:0)break a}}while(0);m=m+1|0}do if((Q|0)==24){Xw(c[P>>2]|0,16,171204,J);c[b+28728>>2]=-2147483648;l=-1}else if((Q|0)==28){Xw(b,16,171229,L);l=-1094995529}else if((Q|0)==64){g=kf(b)|0;if((g|0)<0?c[(c[P>>2]|0)+688>>2]&8|0:0){l=g;break}l=0}while(0);k=b+26364|0;if((((c[k>>2]|0)==3?c[C>>2]|0:0)?(c[b+28200>>2]|0)==(c[(c[b+27036+(c[c[b+28196>>2]>>2]<<2)>>2]|0)+4>>2]|0):0)?c[b+29656>>2]|0:0){h=c[D>>2]|0;g=b+24972|0;if(!(c[(c[g>>2]|0)+248>>2]|0))j=0;else j=(c[h+23404>>2]|0)==0;i=h+24|0;cu(h+696|0,c[R>>2]|0);do if(!j){g=h+728|0;if(!(c[h+23404>>2]|0)){cu(g,0);break}else{cu(g,c[h+23452>>2]|0);break}}else{cu(h+728|0,g);Q=h+23416|0;c[h+23452>>2]=g;P=c[g>>2]|0;c[Q>>2]=c[P>>2];c[Q+4>>2]=c[P+4>>2];c[Q+8>>2]=c[P+8>>2];Q=h+23428|0;P=(c[g>>2]|0)+32|0;c[Q>>2]=c[P>>2];c[Q+4>>2]=c[P+4>>2];c[Q+8>>2]=c[P+8>>2];c[h+23440>>2]=c[b+25612>>2]}while(0);if(c[h+23408>>2]|0)cu(h+760|0,c[h+25372>>2]|0);c[h+820>>2]=c[h+23404>>2];Cc(i);if(j){g=h+23416|0;h=g+40|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0))}}g=c[R>>2]|0;if((g|0?(c[b+25672>>2]|0)==0:0)?c[S>>2]|0:0)Js(g+4|0,2147483647,(c[k>>2]|0)==2&1);g=(l|0)<0?l:f}while(0);Mb=T;return g|0}function ed(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0;G=Mb;Mb=Mb+32|0;F=G+24|0;E=G+16|0;D=G+8|0;C=G;z=c[f+48>>2]|0;A=(i|0)==1&(z|0)==1?2:1;B=c[f+310116>>2]&1;j=(c[h+92>>2]|0)!=0;if((i|0)!=0&(z|0)!=0){y=j?5:6;z=j?12:24;i=j?840932:840868;j=j?840916:840852}else{y=j?6:7;z=j?31:60;i=j?840900:840836;j=j?840884:840820}x=c[i>>2]|0;t=c[j>>2]|0;u=h+8|0;v=g+8|0;w=g+16|0;i=0;a:while(1){l=c[u>>2]|0;if(i>>>0>=l>>>0){j=41;break}b:do if(a[h+24+i>>0]|0){r=i+1|0;s=h+12+r|0;j=a[s>>0]|0;if(j<<24>>24==(a[h+12+i>>0]|0)){q=0;while(1){if(q>>>0>=(c[f+310112+((j&255)<<2)>>2]|0)>>>0){i=r;break b}o=d[h+86416+(i*48|0)+q>>0]|0;j=c[v>>2]|0;p=c[w>>2]|0;m=c[g>>2]|0;l=m+(j>>>3)|0;l=(kS(d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24|0)|0)<<(j&7)>>>23;k=b[t+(l<<2)>>1]|0;l=b[t+(l<<2)+2>>1]|0;n=l<<16>>16;if(l<<16>>16<0){j=j+9|0;j=p>>>0>j>>>0?j:p;I=m+(j>>>3)|0;I=((kS(d[I>>0]|d[I+1>>0]<<8|d[I+2>>0]<<16|d[I+3>>0]<<24|0)|0)<<(j&7)>>>(n+32|0))+k|0;k=b[t+(I<<2)>>1]|0;I=b[t+(I<<2)+2>>1]|0;l=I<<16>>16;if(I<<16>>16<0){j=j-n|0;j=p>>>0>j>>>0?j:p;I=m+(j>>>3)|0;k=((kS(d[I>>0]|d[I+1>>0]<<8|d[I+2>>0]<<16|d[I+3>>0]<<24|0)|0)<<(j&7)>>>(l+32|0))+k|0;l=b[t+(k<<2)+2>>1]|0;k=b[t+(k<<2)>>1]|0}}else l=n;I=l+j|0;c[v>>2]=p>>>0>I>>>0?I:p;k=(H(k-z|0,A)|0)+o|0;a[h+86416+(r*48|0)+q>>0]=k;k=k&255;if(k>>>0>127){j=16;break a}q=q+1|0;j=a[s>>0]|0}}if(!(j<<24>>24)){q=0;j=0;while(1){if(q>>>0>=(c[f+310112+((j&255)<<2)>>2]|0)>>>0){i=r;break b}o=d[((q|0)==0?0:(q<<1)-B|0)+(h+86416+(i*48|0))>>0]|0;j=c[v>>2]|0;p=c[w>>2]|0;m=c[g>>2]|0;I=m+(j>>>3)|0;I=(kS(d[I>>0]|d[I+1>>0]<<8|d[I+2>>0]<<16|d[I+3>>0]<<24|0)|0)<<(j&7)>>>23;k=b[t+(I<<2)>>1]|0;I=b[t+(I<<2)+2>>1]|0;n=I<<16>>16;if(I<<16>>16<0){j=j+9|0;j=p>>>0>j>>>0?j:p;I=m+(j>>>3)|0;I=((kS(d[I>>0]|d[I+1>>0]<<8|d[I+2>>0]<<16|d[I+3>>0]<<24|0)|0)<<(j&7)>>>(n+32|0))+k|0;k=b[t+(I<<2)>>1]|0;I=b[t+(I<<2)+2>>1]|0;l=I<<16>>16;if(I<<16>>16<0){j=j-n|0;j=p>>>0>j>>>0?j:p;I=m+(j>>>3)|0;k=((kS(d[I>>0]|d[I+1>>0]<<8|d[I+2>>0]<<16|d[I+3>>0]<<24|0)|0)<<(j&7)>>>(l+32|0))+k|0;l=b[t+(k<<2)+2>>1]|0;k=b[t+(k<<2)>>1]|0}}else l=n;I=l+j|0;c[v>>2]=p>>>0>I>>>0?I:p;k=(H(k-z|0,A)|0)+o|0;a[h+86416+(r*48|0)+q>>0]=k;k=k&255;if(k>>>0>127){j=33;break a}q=q+1|0;j=a[s>>0]|0}}else{q=0;while(1){if(q>>>0>=(c[f+310112+((j&255)<<2)>>2]|0)>>>0){i=r;break b}o=d[((q+B|0)>>>1)+(h+86416+(i*48|0))>>0]|0;j=c[v>>2]|0;p=c[w>>2]|0;m=c[g>>2]|0;I=m+(j>>>3)|0;I=(kS(d[I>>0]|d[I+1>>0]<<8|d[I+2>>0]<<16|d[I+3>>0]<<24|0)|0)<<(j&7)>>>23;k=b[t+(I<<2)>>1]|0;I=b[t+(I<<2)+2>>1]|0;n=I<<16>>16;if(I<<16>>16<0){j=j+9|0;j=p>>>0>j>>>0?j:p;I=m+(j>>>3)|0;I=((kS(d[I>>0]|d[I+1>>0]<<8|d[I+2>>0]<<16|d[I+3>>0]<<24|0)|0)<<(j&7)>>>(n+32|0))+k|0;k=b[t+(I<<2)>>1]|0;I=b[t+(I<<2)+2>>1]|0;l=I<<16>>16;if(I<<16>>16<0){j=j-n|0;j=p>>>0>j>>>0?j:p;I=m+(j>>>3)|0;k=((kS(d[I>>0]|d[I+1>>0]<<8|d[I+2>>0]<<16|d[I+3>>0]<<24|0)|0)<<(j&7)>>>(l+32|0))+k|0;l=b[t+(k<<2)+2>>1]|0;k=b[t+(k<<2)>>1]|0}}else l=n;I=l+j|0;c[v>>2]=p>>>0>I>>>0?I:p;k=(H(k-z|0,A)|0)+o|0;a[h+86416+(r*48|0)+q>>0]=k;k=k&255;if(k>>>0>127){j=26;break a}q=q+1|0;j=a[s>>0]|0}}}else{j=H(Hz(g,y)|0,A)|0;i=i+1|0;a[h+86416+(i*48|0)>>0]=j;r=h+12+i|0;q=1;while(1){if(q>>>0>=(c[f+310112+(d[r>>0]<<2)>>2]|0)>>>0)break b;o=j&255;j=c[v>>2]|0;p=c[w>>2]|0;m=c[g>>2]|0;I=m+(j>>>3)|0;I=(kS(d[I>>0]|d[I+1>>0]<<8|d[I+2>>0]<<16|d[I+3>>0]<<24|0)|0)<<(j&7)>>>23;k=b[x+(I<<2)>>1]|0;I=b[x+(I<<2)+2>>1]|0;n=I<<16>>16;if(I<<16>>16<0){j=j+9|0;j=p>>>0>j>>>0?j:p;I=m+(j>>>3)|0;I=((kS(d[I>>0]|d[I+1>>0]<<8|d[I+2>>0]<<16|d[I+3>>0]<<24|0)|0)<<(j&7)>>>(n+32|0))+k|0;k=b[x+(I<<2)>>1]|0;I=b[x+(I<<2)+2>>1]|0;l=I<<16>>16;if(I<<16>>16<0){j=j-n|0;j=p>>>0>j>>>0?j:p;I=m+(j>>>3)|0;k=((kS(d[I>>0]|d[I+1>>0]<<8|d[I+2>>0]<<16|d[I+3>>0]<<24|0)|0)<<(j&7)>>>(l+32|0))+k|0;l=b[x+(k<<2)+2>>1]|0;k=b[x+(k<<2)>>1]|0}}else l=n;j=l+j|0;c[v>>2]=p>>>0>j>>>0?j:p;j=(H(k-z|0,A)|0)+o|0;a[h+86416+(i*48|0)+q>>0]=j;k=j&255;if(k>>>0>127){j=40;break a}else q=q+1|0}}while(0)}if((j|0)==16){i=c[e+4>>2]|0;c[C>>2]=k;Xw(i,16,190169,C);i=-1094995529}else if((j|0)==26){i=c[e+4>>2]|0;c[D>>2]=k;Xw(i,16,190169,D);i=-1094995529}else if((j|0)==33){i=c[e+4>>2]|0;c[E>>2]=k;Xw(i,16,190169,E);i=-1094995529}else if((j|0)==40){i=c[e+4>>2]|0;c[F>>2]=k;Xw(i,16,190169,F);i=-1094995529}else if((j|0)==41){k=h+86416|0;i=h+86416+(l*48|0)|0;j=k+48|0;do{c[k>>2]=c[i>>2];k=k+4|0;i=i+4|0}while((k|0)<(j|0));i=0}Mb=G;return i|0}function fd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=Mb;Mb=Mb+640|0;u=w+64|0;q=w+48|0;l=w+32|0;k=w+16|0;i=w;o=w+360|0;m=w+80|0;h=c[a+13440>>2]|0;a:do if(!h){i=a+11420|0;g=xj(i,f)|0;if((g|0)>=0){n=a+11128|0;j=a+11700|0;g=c[a+11960>>2]|0;do if(!(c[n>>2]|0))if((g|0)==(c[a+12520>>2]|0)){g=xj(j,f)|0;if((g|0)<0)break a;else break}else{c[l>>2]=209982;c[l+4>>2]=209457;c[l+8>>2]=596;Xw(0,0,213444,l);ba()}else if((g|0)==(c[a+80>>2]|0)){g=xj(j,d)|0;if((g|0)<0)break a;else break}else{c[k>>2]=209943;c[k+4>>2]=209457;c[k+8>>2]=592;Xw(0,0,213444,k);ba()}while(0);h=a+11980|0;g=xj(h,d)|0;if((g|0)>=0){rk(m|0,j|0,280)|0;rk(o|0,h|0,280)|0;t=a+16|0;j=c[t>>2]|0;if((j|0)==(c[a+12>>2]|0)?(c[a+11412>>2]|0)!=0:0)i=(c[a+76>>2]|0)==0?e:i;k=c[n>>2]|0;if(!k){g=(c[a+11132>>2]|0)==0?i:m;if(!(c[a+13444>>2]|0))p=20;else h=o}else{g=(c[a+13444>>2]|0)==0?i:m;if(!(c[a+11132>>2]|0))p=20;else h=o}if((p|0)==20)h=g;do if((j|0)==(c[a+20>>2]|0)?(c[a+12532>>2]|0)!=0:0){if((j|0)==7?c[a+11040>>2]&31|0:0){r=i;v=h;s=g;break}if((h|0)!=(e|0)){s=(h|0)==(i|0);r=s?b:i;v=b;s=s|(h|0)==(g|0)?b:g;break}g=(d|0)>(f|0)?f:d;if(!(c[a+11412>>2]|0)){c[q>>2]=210020;c[q+4>>2]=209457;c[q+8>>2]=623;Xw(0,0,213444,q);ba()}else{wn(b,e,g);break a}}else{r=i;v=h;s=g}while(0);if((r|0)==(e|0))g=k;else{bg(c[a+13432>>2]|0,r,e,f)|0;g=c[n>>2]|0}h=(r|0)!=(s|0);if(!g){if(h)yd(a,s,r,f,(s|0)==(b|0)&1)|0;if((s|0)==(v|0))q=d;else q=zf(a,v,d,s,f)|0}else{if(h)d=zf(a,s,d,r,f)|0;if((s|0)==(v|0))q=d;else{yd(a,v,s,d,(v|0)==(b|0)&1)|0;q=d}}if((v|0)!=(b|0)&(q|0)!=0){m=a+128|0;if(!(c[m>>2]|0))d=v;else{h=(q|0)>65536?q:65536;if((v|0)==(e|0)){d=a+10760|0;g=xj(d,h)|0;if((g|0)<0)break}else d=v;l=a+10480|0;g=xj(l,h)|0;if((g|0)<0)break;k=a+10740|0;b:do if(!g)g=c[k>>2]|0;else{i=a+10748|0;j=a+10756|0;h=0;while(1){g=c[k>>2]|0;if((h|0)>=(g|0))break b;s=c[a+10480+(h<<2)>>2]|0;e=c[i>>2]|0;g=XJ(h|0,0,1942904875,2874)|0;g=SO(g|0,M()|0,3141592,0)|0;g=tJ(g|0,M()|0,-1576685468,0)|0;M()|0;g=Ah(a,s,e,g,c[j>>2]|0)|0;if((g|0)<0)break a;else h=h+1|0}}while(0);p=v+260|0;if((g|0)!=(c[p>>2]|0)){c[u>>2]=210033;c[u+4>>2]=209457;c[u+8>>2]=666;Xw(0,0,213444,u);ba()}o=a+132|0;if(((c[o>>2]|0)+q|0)>(c[a+10748>>2]|0))c[o>>2]=0;c:do if((c[m>>2]|0)<64){i=a+83180|0;if(!(c[i>>2]|0)){i=a+83176|0;j=a+10744|0;k=a+62612|0;h=0;while(1){if((h|0)>=(g|0))break c;g=(c[a+10480+(h<<2)>>2]|0)+(H(c[o>>2]|0,c[j>>2]|0)|0)|0;mc[c[i>>2]&15](c[d+(h<<2)>>2]|0,c[v+(h<<2)>>2]|0,g,c[k>>2]|0,0,0,q);h=h+1|0;g=c[p>>2]|0}}m=q&-16;n=H(c[v+264>>2]|0,m)|0;d:do if(m){j=a+10744|0;k=a+62616|0;h=0;while(1){if((h|0)>=(g|0))break d;g=(c[a+10480+(h<<2)>>2]|0)+(H(c[o>>2]|0,c[j>>2]|0)|0)|0;mc[c[i>>2]&15](c[d+(h<<2)>>2]|0,c[v+(h<<2)>>2]|0,g,c[k>>2]|0,0,0,m);h=h+1|0;g=c[p>>2]|0}}while(0);if((q|0)==(m|0))break;j=a+83176|0;k=a+10744|0;l=a+62612|0;i=q-m|0;h=0;while(1){if((h|0)>=(g|0))break c;g=(c[a+10480+(h<<2)>>2]|0)+(H(c[o>>2]|0,c[k>>2]|0)|0)+n|0;mc[c[j>>2]&15]((c[d+(h<<2)>>2]|0)+n|0,(c[v+(h<<2)>>2]|0)+n|0,g,c[l>>2]|0,0,0,i);h=h+1|0;g=c[p>>2]|0}}else switch(c[t>>2]|0){case 6:{_i(a,d,v,l,q);break c}case 7:{Ui(a,d,v,l,q);break c}case 8:{uj(a,d,v,l,q);break c}case 9:{tj(a,d,v,l,q);break c}default:break c}while(0);c[o>>2]=(c[o>>2]|0)+q}bg(c[a+13436>>2]|0,b,d,q)|0;g=q}else g=q}}}else if(!(c[a+13444>>2]|0)){bg(h,b,e,f)|0;g=d;break}else{c[i>>2]=209930;c[i+4>>2]=209457;c[i+8>>2]=581;Xw(0,0,213444,i);ba()}while(0);Mb=w;return g|0}function gd(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=Mb;Mb=Mb+160|0;D=E+88|0;l=E+80|0;h=E+72|0;f=E+64|0;w=E;if((c[a+25696>>2]|0)!=0?(c[e+48>>2]|0)!=5:0){Xw(c[a+4>>2]|0,16,199141,f);f=-1094995529}else x=4;do if((x|0)==4){g=c[d+21808>>2]|0;j=a+26360|0;i=(c[j>>2]|0)==0;if(i)f=(c[a+26364>>2]|0)!=3;else f=1;C=c[a+27004>>2]|0;if(!(g>>>0<C>>>0&g<<(f&1)>>>0<C>>>0)){Xw(c[a+4>>2]|0,16,199180,h);f=-1094995529;break}z=a+26996|0;t=c[z>>2]|0;f=(g>>>0)/(t>>>0)|0;t=g-(H(f,t)|0)|0;y=d+21788|0;c[y>>2]=t;c[d+21800>>2]=t;t=a+26364|0;C=c[t>>2]|0;f=f<<(((C|0)!=3|i^1)&1);u=d+21792|0;c[u>>2]=f;k=d+21804|0;c[k>>2]=f;f=f+1|0;if((C|0)==2){c[u>>2]=f;c[k>>2]=f}f=Ed(a,d)|0;if((f|0)>=0){h=a+28196|0;g=d+840|0;if((c[(c[h>>2]|0)+32>>2]|0)==2){if((c[g>>2]|0)==3){Pg(a,d,-1);if(!(c[j>>2]|0))x=15;else{Pg(a,d,0);Pg(a,d,1);x=15}}}else x=15;if(((x|0)==15?(c[g>>2]|0)==3:0)?(c[d+21844>>2]|0)==0:0)yo(a,d);if(!(c[a+29572>>2]|0))Yf(a,d);s=a+4|0;i=c[s>>2]|0;f=c[i+836>>2]|0;a:do if((f|0)<=47){do if((f|0)>31)if((c[a+27012>>2]|0)==5)x=24;else{x=29;break a}else if((f|0)<=23)if((f|0)>15)if((c[g>>2]|0)==3){x=29;break a}else break;else if((f|0)>7)break;else break a;else x=24;while(0);if((x|0)==24?(c[g>>2]|0)!=1:0){x=29;break}if(!(c[e+68>>2]|0))x=29}else x=29;while(0);if((x|0)==29)c[d+868>>2]=0;A=d+868|0;do if((c[A>>2]|0)==1?(c[a+25632>>2]|0)>1:0)if(!(c[i+96>>2]&1)){c[a+25692>>2]=1;break}else{c[A>>2]=2;break}while(0);B=d+872|0;q=c[B>>2]|0;C=d+876|0;p=c[C>>2]|0;r=c[h>>2]|0;g=c[r+44>>2]|0;g=(g|0)>0?g:0;r=c[r+48>>2]|0;c[d+860>>2]=-33-((q|0)>(p|0)?p:q)-((g|0)>(r|0)?g:r)+((c[(c[a+28200>>2]|0)+1184>>2]|0)*6|0);r=a+29544|0;g=c[r>>2]|0;h=g+1|0;c[r>>2]=h;r=d+832|0;c[r>>2]=h;if(!h)f=c[k>>2]|0;else{f=c[k>>2]|0;b[a+29584+((g&31)<<1)>>1]=f}q=b[a+29584+((h&31)<<1)>>1]|0;if((g|0)>30&((f|0)>=(q|0)&(q+3|0)>=(f|0))){c[l>>2]=h;c[l+4>>2]=32;Xw(i,24,199208,l)}n=d+23412|0;o=a+29540|0;p=a+29536|0;m=0;while(1){if((m|0)==2)break;q=c[r>>2]&31;i=d+23404+(m<<2)|0;h=0;while(1){if((h|0)==16)break;j=w+(h<<2)|0;c[j>>2]=60;b:do if((m>>>0<(c[n>>2]|0)>>>0?h>>>0<(c[i>>2]|0)>>>0:0)?(v=c[(c[c[d+23416+(m*1920|0)+(h*40|0)+36>>2]>>2]|0)+248>>2]|0,v|0):0){k=c[v>>2]|0;l=c[o>>2]|0;f=0;while(1){if((f|0)>=(l|0))break;if((c[c[(c[c[a+28332+(f<<2)>>2]>>2]|0)+248>>2]>>2]|0)==(k|0)){x=50;break}f=f+1|0}if((x|0)==50){x=0;c[j>>2]=f}g=c[p>>2]|0;f=0;while(1){if((f|0)>=(g|0))break b;F=c[a+28460+(f<<2)>>2]|0;if(F|0?(c[c[(c[F>>2]|0)+248>>2]>>2]|0)==(k|0):0)break;f=f+1|0}c[j>>2]=f+l}while(0);h=h+1|0}c[a+29920+(q<<9)+(m<<8)+4>>2]=-1;c[a+29920+(q<<9)+(m<<8)>>2]=-1;f=0;while(1){if((f|0)==16)break;c[a+29920+(q<<9)+(m<<8)+(f+2<<2)>>2]=c[d+23416+(m*1920|0)+(f*40|0)+24>>2]&3|c[w+(f<<2)>>2]<<2;f=f+1|0}c[a+29920+(q<<9)+(m<<8)+76>>2]=-1;c[a+29920+(q<<9)+(m<<8)+72>>2]=-1;f=16;while(1){if((f|0)==48)break;c[a+29920+(q<<9)+(m<<8)+(f+4<<2)>>2]=c[d+23416+(m*1920|0)+(f*40|0)+24>>2]&3|c[w+(f+-16>>1<<2)>>2]<<2;f=f+1|0}m=m+1|0}x=c[s>>2]|0;if(!(c[x+680>>2]&1))f=0;else{w=c[r>>2]|0;v=c[t>>2]|0;s=H(c[z>>2]|0,c[u>>2]|0)|0;s=s+(c[y>>2]|0)|0;f=d+836|0;t=(iE(c[f>>2]|0)|0)<<24>>24;u=(c[d+844>>2]|0)==0?1104084:199309;q=(c[e+48>>2]|0)==5?199314:1104084;r=c[a+28228>>2]|0;m=c[a+24312>>2]|0;l=c[m+76>>2]|0;m=c[m+80>>2]|0;n=c[d+23404>>2]|0;o=c[d+23408>>2]|0;p=c[d+848>>2]|0;k=c[A>>2]|0;j=c[B>>2]|0;g=c[C>>2]|0;h=c[d+880>>2]|0;if((h|0)==1)i=(c[d+884>>2]|0)==0?1104084:199319;else i=1104084;if((c[f>>2]|0)==3)f=(c[d+21844>>2]|0)==0?199321:199326;else f=1104084;c[D>>2]=w;c[D+4>>2]=(v|0)==3?199307:(v|0)==1?199303:199305;c[D+8>>2]=s;c[D+12>>2]=t;c[D+16>>2]=u;c[D+20>>2]=q;c[D+24>>2]=r;c[D+28>>2]=l;c[D+32>>2]=m;c[D+36>>2]=n;c[D+40>>2]=o;c[D+44>>2]=p;c[D+48>>2]=k;c[D+52>>2]=j;c[D+56>>2]=g;c[D+60>>2]=h;c[D+64>>2]=i;c[D+68>>2]=f;Xw(x,48,199331,D);f=0}}}while(0);Mb=E;return f|0}function hd(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){h=pV()|0;c[h>>2]=22;h=0;g=0}else{r=b+4|0;q=b+104|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=fl(b)|0}while((OT(i)|0)!=0);b:do switch(i|0){case 43:case 45:{i=((i|0)==45)<<31>>31;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;p=i;i=d[j>>0]|0;break b}else{p=i;i=fl(b)|0;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=fl(b)|0;if((i|32|0)!=120)if(j){o=8;n=47;break}else{n=32;break}i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=fl(b)|0;if((d[157105+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){bw(b,0,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{o=16;n=47}}else{e=j?10:e;if(e>>>0>(d[157105+i>>0]|0)>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;bw(b,0,0);h=pV()|0;c[h>>2]=22;h=0;g=0;break a}}while(0);c:do if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;do{i=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=fl(b)|0;e=j+-48|0}while(e>>>0<10&i>>>0<429496729);if(e>>>0<10){m=0;do{f=XJ(i|0,m|0,10,0)|0;k=M()|0;l=((e|0)<0)<<31>>31;o=~l;if(k>>>0>o>>>0|(k|0)==(o|0)&f>>>0>~e>>>0){f=10;e=m;n=76;break c}i=SO(f|0,k|0,e|0,l|0)|0;m=M()|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=fl(b)|0;e=j+-48|0}while(e>>>0<10&(m>>>0<429496729|(m|0)==429496729&i>>>0<2576980378));if(e>>>0>9){j=p;e=m}else{f=10;e=m;n=76}}else{j=p;e=0}}else{j=p;e=0;i=0}}else{o=e;n=47}while(0);d:do if((n|0)==47){if(!(o+-1&o)){n=a[213638+((o*23|0)>>>5&7)>>0]|0;f=a[157105+i>>0]|0;e=f&255;if(o>>>0>e>>>0){i=0;do{i=e|i<<n;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=fl(b)|0;f=a[157105+j>>0]|0;e=f&255}while(i>>>0<134217728&o>>>0>e>>>0);k=e;e=0}else{j=i;k=e;e=0;i=0}l=oN(-1,-1,n|0)|0;m=M()|0;if(o>>>0<=k>>>0|(m>>>0<e>>>0|(m|0)==(e|0)&l>>>0<i>>>0)){f=o;n=76;break}while(1){i=cN(i|0,e|0,n|0)|0;e=M()|0;i=i|f&255;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=fl(b)|0;f=a[157105+j>>0]|0;if(o>>>0<=(f&255)>>>0|(e>>>0>m>>>0|(e|0)==(m|0)&i>>>0>l>>>0)){f=o;n=76;break d}}}e=a[157105+i>>0]|0;f=e&255;if(o>>>0>f>>>0){i=0;do{i=f+(H(i,o)|0)|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=fl(b)|0;e=a[157105+j>>0]|0;f=e&255}while(i>>>0<119304647&o>>>0>f>>>0);k=e;e=0}else{j=i;k=e;i=0;e=0}if(o>>>0>f>>>0){m=ZR(-1,-1,o|0,0)|0;n=M()|0;f=k;while(1){if(e>>>0>n>>>0|(e|0)==(n|0)&i>>>0>m>>>0){f=o;n=76;break d}k=XJ(i|0,e|0,o|0,0)|0;l=M()|0;f=f&255;if(l>>>0>4294967295|(l|0)==-1&k>>>0>~f>>>0){f=o;n=76;break d}i=SO(k|0,l|0,f|0,0)|0;e=M()|0;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=fl(b)|0;f=a[157105+j>>0]|0;if(o>>>0<=(f&255)>>>0){f=o;n=76;break}}}else{f=o;n=76}}while(0);if((n|0)==76)if(f>>>0>(d[157105+j>>0]|0)>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=fl(b)|0}while(f>>>0>(d[157105+i>>0]|0)>>>0);j=pV()|0;c[j>>2]=34;j=(g&1|0)==0&0==0?p:0;e=h;i=g}else j=p;if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(e>>>0<h>>>0|(e|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(j|0)!=0)){r=pV()|0;c[r>>2]=34;g=SO(g|0,h|0,-1,-1)|0;h=M()|0;break}if(e>>>0>h>>>0|(e|0)==(h|0)&i>>>0>g>>>0){r=pV()|0;c[r>>2]=34;break}}g=((j|0)<0)<<31>>31;g=QO(i^j|0,e^g|0,j|0,g|0)|0;h=M()|0}while(0);L(h|0);return g|0}function id(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=Mb;Mb=Mb+48|0;r=u+24|0;o=u+16|0;n=u+8|0;m=u;t=u+32|0;p=u+28|0;l=YQ(40)|0;c[t>>2]=l;q=d+8|0;s=c[q>>2]|0;c[p>>2]=s;e=l;a:do if(!l)e=-12;else{v=+Ul(s,p);i=l+8|0;g[i>>3]=v;k=c[p>>2]|0;if((k|0)!=(c[q>>2]|0)){c[l>>2]=0;c[q>>2]=k;c[b>>2]=e;e=0;break}g[i>>3]=1.0;f=c[d+16>>2]|0;b:do if(f|0){e=0;while(1){h=c[f+(e<<2)>>2]|0;if(!h)break b;if(Lx(k,h)|0)break;e=e+1|0}t=k+(hu(h)|0)|0;c[q>>2]=t;c[l>>2]=1;c[l+16>>2]=e;c[b>>2]=l;e=0;break a}while(0);e=0;while(1){if(e>>>0>=4)break;f=c[150208+(e<<4)>>2]|0;if(Lx(k,f)|0){j=13;break}e=e+1|0}if((j|0)==13){t=k+(hu(f)|0)|0;c[q>>2]=t;c[l>>2]=0;g[i>>3]=+g[150208+(e<<4)+8>>3];c[b>>2]=l;e=0;break}e=bQ(k,40)|0;c[q>>2]=e;if(!e){c[m>>2]=s;Xw(d,16,208420,m);c[q>>2]=c[p>>2];UH(c[t>>2]|0);e=-22;break}c[q>>2]=e+1;if((a[k>>0]|0)==40){hM(t);e=Yn(t,d)|0;if((e|0)<0)break;e=c[q>>2]|0;if((a[e>>0]|0)==41){c[q>>2]=e+1;c[b>>2]=c[t>>2];e=0;break}else{c[n>>2]=s;Xw(d,16,208463,n);UH(c[t>>2]|0);e=-22;break}}e=Yn(l+20|0,d)|0;if((e|0)<0){UH(c[t>>2]|0);break}f=c[q>>2]|0;e=a[f>>0]|0;if(e<<24>>24==44){c[q>>2]=f+1;Yn((c[t>>2]|0)+24|0,d)|0;f=c[q>>2]|0;e=a[f>>0]|0;if(e<<24>>24==44){c[q>>2]=f+1;Yn((c[t>>2]|0)+28|0,d)|0;f=c[q>>2]|0;e=a[f>>0]|0}}if(e<<24>>24!=41){c[o>>2]=s;Xw(d,16,208484,o);UH(c[t>>2]|0);e=-22;break}c[q>>2]=f+1;k=c[t>>2]|0;c[k>>2]=2;i=c[p>>2]|0;j=k;do if(!(Lx(i,208522)|0)){if(Lx(i,208527)|0){c[k+16>>2]=2;break}if(Lx(i,208532)|0){c[k+16>>2]=3;break}if(Lx(i,208537)|0){c[k+16>>2]=4;break}if(Lx(i,208541)|0){c[k+16>>2]=5;break}if(Lx(i,208545)|0){c[k+16>>2]=6;break}if(Lx(i,208549)|0){c[k+16>>2]=7;break}if(Lx(i,208554)|0){c[k+16>>2]=8;break}if(Lx(i,208559)|0){c[k+16>>2]=9;break}if(Lx(i,208564)|0){c[k+16>>2]=10;break}if(Lx(i,208568)|0){c[k+16>>2]=11;break}if(Lx(i,208572)|0){c[k+16>>2]=12;break}if(Lx(i,208576)|0){c[k+16>>2]=13;break}if(Lx(i,208581)|0){c[k>>2]=5;break}if(Lx(i,208588)|0){c[k>>2]=6;break}if(Lx(i,208594)|0){c[k>>2]=10;break}if(Lx(i,208598)|0){c[k>>2]=11;break}if(Lx(i,208602)|0){c[k>>2]=12;break}if(Lx(i,208606)|0){c[k>>2]=13;break}if(Lx(i,208609)|0){c[k>>2]=15;break}if(Lx(i,208613)|0){c[k>>2]=14;break}if(Lx(i,208616)|0){c[k>>2]=16;break}if(Lx(i,208620)|0){c[k>>2]=17;break}if(Lx(i,208623)|0){c[k>>2]=7;break}if(Lx(i,208626)|0){c[k>>2]=8;break}if(Lx(i,208632)|0){c[k>>2]=9;break}if(Lx(i,208638)|0){c[k>>2]=23;break}if(Lx(i,208641)|0){c[k>>2]=24;break}if(Lx(i,208647)|0){c[k>>2]=25;break}if(Lx(i,208654)|0){c[k>>2]=26;break}if(Lx(i,208659)|0){c[k>>2]=27;break}if(Lx(i,208665)|0){c[k>>2]=28;break}if(Lx(i,208670)|0){c[k>>2]=29;break}if(Lx(i,208676)|0){c[k>>2]=30;break}if(Lx(i,208682)|0){c[k>>2]=31;break}if(Lx(i,208687)|0){c[k>>2]=32;break}if(Lx(i,208691)|0){c[k>>2]=18;break}if(Lx(i,208695)|0){c[k>>2]=38;break}if(Lx(i,208701)|0){c[k>>2]=33;break}if(Lx(i,208708)|0){c[k>>2]=34;break}if(Lx(i,208714)|0){c[k>>2]=35;break}if(Lx(i,208718)|0){c[k>>2]=36;break}if(Lx(i,208721)|0){c[k>>2]=37;break}if(Lx(i,208727)|0){c[k>>2]=39;break}if(Lx(i,208734)|0){c[k>>2]=40;break}if(Lx(i,208740)|0){c[k>>2]=41;break}if(Lx(i,208748)|0){c[k>>2]=42;break}if(Lx(i,208753)|0){c[k>>2]=43;break}if(Lx(i,208759)|0){c[k>>2]=44;break}f=c[d+24>>2]|0;c:do if(f|0){e=0;while(1){h=c[f+(e<<2)>>2]|0;if(!h)break c;if(Lx(i,h)|0)break;e=e+1|0}c[k+16>>2]=c[(c[d+20>>2]|0)+(e<<2)>>2];c[k>>2]=3;c[b>>2]=j;e=0;break a}while(0);f=c[d+32>>2]|0;d:do if(f|0){e=0;while(1){h=c[f+(e<<2)>>2]|0;if(!h)break d;if(Lx(i,h)|0)break;e=e+1|0}c[k+16>>2]=c[(c[d+28>>2]|0)+(e<<2)>>2];c[k>>2]=4;c[b>>2]=j;e=0;break a}while(0);c[r>>2]=s;Xw(d,16,208764,r);UH(c[t>>2]|0);e=-22;break a}else c[k+16>>2]=1;while(0);c[b>>2]=j;e=0}while(0);Mb=u;return e|0}function jd(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0,ia=0,ja=0;ca=Mb;Mb=Mb+784|0;r=ca+776|0;s=ca+772|0;u=ca+768|0;t=ca+764|0;Z=ca+32|0;_=ca;l=b+80848|0;m=b+82480|0;n=b+84112|0;o=b+85744|0;p=b+133968|0;q=b+134002|0;c[r>>2]=ca+592;c[s>>2]=ca+416;c[u>>2]=ca+240;c[t>>2]=ca+64;$=(g|0)!=0;aa=$?77184:77280;ba=(c[b+24>>2]|0)<3?1047808:1053696;i=c[b+40>>2]|0;if(i|0){rk(l|0,b+80848+(i*136|0)|0,136)|0;rk(b+81664|0,b+81664+(i*136|0)|0,136)|0;rk(m|0,b+82480+(i*136|0)|0,136)|0;rk(b+83296|0,b+83296+(i*136|0)|0,136)|0;rk(n|0,b+84112+(i*136|0)|0,136)|0;rk(b+84928|0,b+84928+(i*136|0)|0,136)|0;rk(o|0,b+85744+(i*136|0)|0,136)|0;rk(b+86560|0,b+86560+(i*136|0)|0,136)|0}i=b+76|0;j=c[b+12>>2]|0;Y=b+44|0;k=c[Y>>2]|0;if($){mu(r,i,j,k,1);mu(s,b+246|0,c[b+28>>2]|0,c[Y>>2]|0,1);i=b+48|0;if(c[i>>2]|0){X=b+16|0;mu(u,b+416|0,c[X>>2]|0,c[Y>>2]|0,0);mu(t,b+586|0,c[X>>2]|0,c[Y>>2]|0,0)}if(!(c[b+760>>2]|0)){Uj(l);Uj(b+81664|0);Uj(m);Uj(b+83296|0);Uj(n);Uj(b+84928|0);Uj(o);Uj(b+86560|0);jO(q,p)}}else{nu(r,i,j,k,1);nu(s,b+246|0,c[b+28>>2]|0,c[Y>>2]|0,1);i=b+48|0;if(c[i>>2]|0){X=b+16|0;nu(u,b+416|0,c[X>>2]|0,c[Y>>2]|0,0);nu(t,b+586|0,c[X>>2]|0,c[Y>>2]|0,0)}if(c[b+760>>2]|0){sk(l);sk(b+81664|0);sk(m);sk(b+83296|0);sk(n);sk(b+84928|0);sk(o);sk(b+86560|0);jO(q,p)}}X=163784+(g<<2)|0;V=c[r>>2]|0;W=b+8|0;T=c[s>>2]|0;U=163792+(g<<2)|0;S=c[t>>2]|0;M=c[u>>2]|0;N=163768+(g<<2)|0;O=Z+4|0;P=Z+8|0;Q=Z+12|0;R=_+4|0;C=_+8|0;D=_+12|0;E=Z+16|0;F=_+16|0;G=Z+20|0;H=_+20|0;I=Z+24|0;J=_+24|0;K=Z+28|0;L=_+28|0;g=(g|0)==0;A=Z+16|0;u=0;while(1){if((u|0)>=(c[Y>>2]|0))break;k=c[X>>2]|0;B=u+1|0;j=0;while(1){if((j|0)>=(k|0))break;s=(a[V+(u*34|0)+j>>0]|0)+7+((c[W>>2]|0)*23|0)|0;t=a[T+(u*34|0)+j>>0]|0;w=+f[ba+(s<<7)+(t<<4)>>2];y=+f[ba+(s<<7)+(t<<4)+4>>2];x=+f[ba+(s<<7)+(t<<4)+8>>2];v=+f[ba+(s<<7)+(t<<4)+12>>2];if((c[i>>2]|0)!=0?(j|0)<(c[U>>2]|0):0){r=b+133968+j|0;q=(a[r>>0]<<3)+(a[S+(u*34|0)+j>>0]|0)|0;t=b+134002+j|0;s=(a[t>>0]<<3)+(a[M+(u*34|0)+j>>0]|0)|0;da=+f[1059584+(q<<2)>>2];fa=+f[1061632+(q<<2)>>2];ga=+f[1059584+(s<<2)>>2];ea=+f[1061632+(s<<2)>>2];a[r>>0]=q&63;a[t>>0]=s&63;z=da*ga+fa*ea;ea=fa*ga-da*ea;f[b+81664+(B*136|0)+(j<<2)>>2]=w*fa;f[b+83296+(B*136|0)+(j<<2)>>2]=y*ea;f[b+84928+(B*136|0)+(j<<2)>>2]=x*fa;f[b+86560+(B*136|0)+(j<<2)>>2]=v*ea;w=w*da;y=y*z;x=x*da;v=v*z}f[b+80848+(B*136|0)+(j<<2)>>2]=w;f[b+82480+(B*136|0)+(j<<2)>>2]=y;f[b+84112+(B*136|0)+(j<<2)>>2]=x;f[b+85744+(B*136|0)+(j<<2)>>2]=v;j=j+1|0}k=c[N>>2]|0;l=b+52+(u<<2)|0;m=b+52+(B<<2)|0;j=0;while(1){if((j|0)>=(k|0))break;n=c[l>>2]|0;o=(c[m>>2]|0)-n|0;p=(o|0)!=0;v=p?1.0/+(o|0):1.0;q=a[aa+j>>0]|0;ja=c[b+80848+(u*136|0)+(q<<2)>>2]|0;c[Z>>2]=ja;ia=c[b+82480+(u*136|0)+(q<<2)>>2]|0;c[O>>2]=ia;ha=c[b+84112+(u*136|0)+(q<<2)>>2]|0;c[P>>2]=ha;t=c[b+85744+(u*136|0)+(q<<2)>>2]|0;c[Q>>2]=t;r=c[i>>2]|0;s=(r|0)==0;w=(c[h>>2]=ja,+f[h>>2]);x=(c[h>>2]=ia,+f[h>>2]);y=(c[h>>2]=ha,+f[h>>2]);z=(c[h>>2]=t,+f[h>>2]);do if(!s){t=b+81664+(u*136|0)+(q<<2)|0;if($&(j+-9|0)>>>0<5|g&j>>>0<2){f[E>>2]=-+f[t>>2];f[G>>2]=-+f[b+83296+(u*136|0)+(q<<2)>>2];f[I>>2]=-+f[b+84928+(u*136|0)+(q<<2)>>2];f[K>>2]=-+f[b+86560+(u*136|0)+(q<<2)>>2];break}else{c[A>>2]=c[t>>2];c[G>>2]=c[b+83296+(u*136|0)+(q<<2)>>2];c[I>>2]=c[b+84928+(u*136|0)+(q<<2)>>2];c[K>>2]=c[b+86560+(u*136|0)+(q<<2)>>2];break}}while(0);f[_>>2]=v*(+f[b+80848+(B*136|0)+(q<<2)>>2]-w);f[R>>2]=v*(+f[b+82480+(B*136|0)+(q<<2)>>2]-x);f[C>>2]=v*(+f[b+84112+(B*136|0)+(q<<2)>>2]-y);f[D>>2]=v*(+f[b+85744+(B*136|0)+(q<<2)>>2]-z);if(!s){f[F>>2]=v*(+f[b+81664+(B*136|0)+(q<<2)>>2]-+f[E>>2]);f[H>>2]=v*(+f[b+83296+(B*136|0)+(q<<2)>>2]-+f[G>>2]);f[J>>2]=v*(+f[b+84928+(B*136|0)+(q<<2)>>2]-+f[I>>2]);f[L>>2]=v*(+f[b+86560+(B*136|0)+(q<<2)>>2]-+f[K>>2])}if(p)jc[c[b+134060+(((r|0)!=0&1)<<2)>>2]&127](d+(j<<8)+8+(n<<3)|0,e+(j<<8)+8+(n<<3)|0,Z,_,o);j=j+1|0}u=B}Mb=ca;return}function kd(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=Mb;Mb=Mb+80|0;w=x+48|0;r=x+40|0;q=x+32|0;l=x+24|0;k=x+16|0;j=x+8|0;i=x;t=x+56|0;u=sU(e)|0;c[t>>2]=c[e>>2];c[t+4>>2]=c[e+4>>2];c[t+8>>2]=c[e+8>>2];c[t+12>>2]=c[e+12>>2];c[t+16>>2]=c[e+16>>2];v=(uL(t)|0)!=0;a:do if(v){s=uL(t)|0;c[f+4>>2]=s;do if(s|0){h=Hz(t,3)|0;if((h|0)>5){c[i>>2]=h;Xw(b,16,201004,i);s=75;break a}else{c[f+12>>2]=a[200992+h>>0];c[f+8>>2]=(h|0)>2&1;c[f+16>>2]=a[200998+h>>0];break}}while(0);s=uL(t)|0;c[f+20>>2]=s;do if(s|0){h=Hz(t,3)|0;c[f+24>>2]=h;if((h|0)>5){c[j>>2]=h;Xw(b,16,201030,j);s=75;break a}else{c[f+28>>2]=a[200992+h>>0];break}}while(0);s=uL(t)|0;c[f+32>>2]=s;s=11}else s=11;while(0);b:do if((s|0)==11){j=uL(t)|0;o=f+36|0;c[o>>2]=j;p=f+44|0;m=f+40|0;c[m>>2]=c[p>>2];j=(Hz(t,2)|0)+(201056+(j<<2))|0;j=a[j>>0]|0;c[p>>2]=j;c[f+52>>2]=-1;c:do if(!(c[o>>2]|0)){i=91312+j|0;h=1;while(1){if((h|0)>(j|0)){h=j;break c}c[f+52+(h<<2)>>2]=(h<<5>>>(d[i>>0]|0))+-1;h=h+1|0}}else{i=1;h=j;while(1){if((i|0)>(h|0))break c;o=Hz(t,5)|0;c[f+52+(i<<2)>>2]=o;if((o|0)<(c[f+52+(i+-1<<2)>>2]|0))break;i=i+1|0;h=c[p>>2]|0}Xw(b,16,201064,k);s=75;break b}while(0);o=f+4|0;d:do if(!(c[o>>2]|0))Wp(f+76|0,0,170)|0;else{j=f+76|0;k=f+8|0;i=0;while(1){if((i|0)>=(h|0))break d;n=uL(t)|0;if(Fe(b,t,f,j,c[77168+((n<<1)+(c[k>>2]|0)<<2)>>2]|0,i,n)|0){s=75;break b}i=i+1|0;h=c[p>>2]|0}}while(0);n=f+20|0;e:do if(!(c[n>>2]|0))Wp(f+246|0,0,170)|0;else{j=f+246|0;i=0;while(1){if((i|0)>=(h|0))break e;k=uL(t)|0;if(Le(b,t,f,j,(k|0)==0?4:5,i,k)|0){s=75;break b}i=i+1|0;h=c[p>>2]|0}}while(0);do if(c[f+32>>2]|0){h=Hz(t,4)|0;if((h|0)==15)h=(Hz(t,8)|0)+15|0;h=h<<3;while(1){if((h|0)<=7)break;h=h+-2-(Os(t,f,Hz(t,2)|0)|0)|0}if((h|0)<0){c[l>>2]=h;Xw(b,16,201095,l);s=75;break b}else{gO(t,h);h=c[p>>2]|0;break}}while(0);l=f+48|0;c[l>>2]=c[l>>2]&1;if(h){if((c[f+52+(h<<2)>>2]|0)<31){i=h;s=44}}else{i=c[m>>2]|0;s=44}if((s|0)==44){k=i+-1|0;if(!((i|0)<1|(k|0)==(h|0))){if(c[o>>2]|0){h=f+76+(h*34|0)|0;i=f+76+(k*34|0)|0;j=h+34|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0))}if(c[n>>2]|0){h=f+246+((c[p>>2]|0)*34|0)|0;i=f+246+(k*34|0)|0;j=h+34|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0))}if(c[l>>2]|0){h=f+416+((c[p>>2]|0)*34|0)|0;i=f+416+(k*34|0)|0;j=h+34|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));h=f+586+((c[p>>2]|0)*34|0)|0;i=f+586+(k*34|0)|0;j=h+34|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0))}}f:do if(c[o>>2]|0){i=c[f+12>>2]|0;j=f+8|0;h=0;while(1){if((h|0)>=(i|0))break f;m=a[f+76+((c[p>>2]|0)*34|0)+h>>0]|0;if((((m|0)>-1?m:0-m|0)|0)>(c[j>>2]<<3|7|0))break;else h=h+1|0}Xw(b,16,201121,q);s=75;break b}while(0);g:do if(c[n>>2]|0){i=c[f+12>>2]|0;h=0;while(1){if((h|0)>=(i|0))break g;if((d[f+246+((c[p>>2]|0)*34|0)+h>>0]|0)>7)break;else h=h+1|0}Xw(b,16,201138,r);s=75;break b}while(0);r=(c[p>>2]|0)+1|0;c[p>>2]=r;c[f+52+(r<<2)>>2]=31}i=f+756|0;c[f+760>>2]=c[i>>2];if(!(c[o>>2]|0)){if(c[n>>2]|0)s=66}else if((c[f+12>>2]|0)!=34)if(!(c[n>>2]|0)){h=0;s=67}else s=66;else{h=1;s=67}if((s|0)==66){h=(c[f+28>>2]|0)==34&1;s=67}if((s|0)==67)c[i>>2]=h;if(!(c[l>>2]|0))Wp(f+416|0,0,340)|0;if(v)c[f>>2]=1;h=(sU(t)|0)-u|0;if((h|0)>(g|0)){c[w>>2]=g;c[w+4>>2]=h;Xw(b,16,201155,w);s=75;break}else{qK(e,h);break}}while(0);if((s|0)==75){c[f>>2]=0;qK(e,g);Wp(f+76|0,0,680)|0;h=g}Mb=x;return h|0}function ld(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;q=8-g|0;p=8-h|0;s=H(p,q)|0;p=H(p,g)|0;q=H(q,h)|0;o=H(h,g)|0;r=d>>1;a:do if(!o){o=p+q|0;if(!o){g=0;while(1){if((g|0)>=(f|0))break a;q=((e[a>>1]|0)+1+(((H(s,e[c>>1]|0)|0)+32|0)>>>6)|0)>>>1&65535;b[a>>1]=q;q=a+2|0;p=((e[q>>1]|0)+1+(((H(s,e[c+2>>1]|0)|0)+32|0)>>>6)|0)>>>1&65535;b[q>>1]=p;q=a+4|0;p=((e[q>>1]|0)+1+(((H(s,e[c+4>>1]|0)|0)+32|0)>>>6)|0)>>>1&65535;b[q>>1]=p;q=a+6|0;p=((e[q>>1]|0)+1+(((H(s,e[c+6>>1]|0)|0)+32|0)>>>6)|0)>>>1&65535;b[q>>1]=p;q=a+8|0;p=((e[q>>1]|0)+1+(((H(s,e[c+8>>1]|0)|0)+32|0)>>>6)|0)>>>1&65535;b[q>>1]=p;q=a+10|0;p=((e[q>>1]|0)+1+(((H(s,e[c+10>>1]|0)|0)+32|0)>>>6)|0)>>>1&65535;b[q>>1]=p;q=a+12|0;p=((e[q>>1]|0)+1+(((H(s,e[c+12>>1]|0)|0)+32|0)>>>6)|0)>>>1&65535;b[q>>1]=p;q=a+14|0;p=((e[q>>1]|0)+1+(((H(s,e[c+14>>1]|0)|0)+32|0)>>>6)|0)>>>1&65535;b[q>>1]=p;a=a+(r<<1)|0;g=g+1|0;c=c+(r<<1)|0}}else{h=(q|0)==0?1:r;d=h+1|0;i=h+2|0;j=h+3|0;k=h+4|0;l=h+5|0;m=h+6|0;n=h+7|0;g=0;while(1){if((g|0)>=(f|0))break a;q=H(s,e[c>>1]|0)|0;q=((e[a>>1]|0)+1+((q+32+(H(o,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[a>>1]=q;q=a+2|0;p=H(s,e[c+2>>1]|0)|0;p=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(d<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[q>>1]=p;q=a+4|0;p=H(s,e[c+4>>1]|0)|0;p=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(i<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[q>>1]=p;q=a+6|0;p=H(s,e[c+6>>1]|0)|0;p=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(j<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[q>>1]=p;q=a+8|0;p=H(s,e[c+8>>1]|0)|0;p=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(k<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[q>>1]=p;q=a+10|0;p=H(s,e[c+10>>1]|0)|0;p=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(l<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[q>>1]=p;q=a+12|0;p=H(s,e[c+12>>1]|0)|0;p=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(m<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[q>>1]=p;q=a+14|0;p=H(s,e[c+14>>1]|0)|0;p=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(n<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[q>>1]=p;a=a+(r<<1)|0;g=g+1|0;c=c+(r<<1)|0}}}else{h=r+1|0;d=r+2|0;i=r+3|0;j=r+4|0;k=r+5|0;l=r+6|0;m=r+7|0;n=r+8|0;g=0;while(1){if((g|0)>=(f|0))break a;y=H(s,e[c>>1]|0)|0;v=c+2|0;z=H(p,e[v>>1]|0)|0;t=c+(r<<1)|0;u=H(q,e[t>>1]|0)|0;x=c+(h<<1)|0;u=((e[a>>1]|0)+1+((y+32+z+u+(H(o,e[x>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[a>>1]=u;u=a+2|0;v=H(s,e[v>>1]|0)|0;z=c+4|0;y=H(p,e[z>>1]|0)|0;x=H(q,e[x>>1]|0)|0;w=c+(d<<1)|0;x=((e[u>>1]|0)+1+((v+32+y+x+(H(o,e[w>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[u>>1]=x;u=a+4|0;z=H(s,e[z>>1]|0)|0;x=c+6|0;y=H(p,e[x>>1]|0)|0;w=H(q,e[w>>1]|0)|0;v=c+(i<<1)|0;w=((e[u>>1]|0)+1+((z+32+y+w+(H(o,e[v>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[u>>1]=w;u=a+6|0;x=H(s,e[x>>1]|0)|0;w=c+8|0;y=H(p,e[w>>1]|0)|0;v=H(q,e[v>>1]|0)|0;z=c+(j<<1)|0;v=((e[u>>1]|0)+1+((x+32+y+v+(H(o,e[z>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[u>>1]=v;u=a+8|0;w=H(s,e[w>>1]|0)|0;v=c+10|0;y=H(p,e[v>>1]|0)|0;z=H(q,e[z>>1]|0)|0;x=c+(k<<1)|0;z=((e[u>>1]|0)+1+((w+32+y+z+(H(o,e[x>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[u>>1]=z;u=a+10|0;v=H(s,e[v>>1]|0)|0;z=c+12|0;y=H(p,e[z>>1]|0)|0;x=H(q,e[x>>1]|0)|0;w=c+(l<<1)|0;x=((e[u>>1]|0)+1+((v+32+y+x+(H(o,e[w>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[u>>1]=x;u=a+12|0;z=H(s,e[z>>1]|0)|0;x=c+14|0;y=H(p,e[x>>1]|0)|0;w=H(q,e[w>>1]|0)|0;v=c+(m<<1)|0;w=((e[u>>1]|0)+1+((z+32+y+w+(H(o,e[v>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[u>>1]=w;u=a+14|0;x=H(s,e[x>>1]|0)|0;w=H(p,e[c+16>>1]|0)|0;v=H(q,e[v>>1]|0)|0;v=((e[u>>1]|0)+1+((x+32+w+v+(H(o,e[c+(n<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[u>>1]=v;a=a+(r<<1)|0;g=g+1|0;c=t}}while(0);return}function md(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=Mb;Mb=Mb+112|0;C=D+96|0;B=D+88|0;z=D+80|0;y=D+72|0;q=D+64|0;p=D+56|0;m=D+48|0;l=D+40|0;k=D+32|0;j=D+24|0;i=D+16|0;g=D;if((c[b+25628>>2]|0)==(e|0)?(c[b+29544>>2]|0)==0:0)if(!(c[b+29572>>2]|0))n=1;else{c[g>>2]=200355;c[g+4>>2]=198956;c[g+8>>2]=1685;Xw(0,0,213444,g);ba()}else n=0;A=e+4|0;h=GE(A)|0;g=e+21808|0;c[g>>2]=h;h=Px(A)|0;a:do if(h>>>0<=9){i=h>>>0>4;c[e+844>>2]=i&1;i=a[171007+(i?h+-5|0:h)>>0]|0;u=i&255;v=e+836|0;c[v>>2]=u;u=u&3;s=e+840|0;c[s>>2]=u;r=f+48|0;if(!((u|0)==1|(c[r>>2]|0)!=5)){Xw(c[b+4>>2]|0,16,200405,j);g=-1094995529;break}h=bp(A)|0;c[e+27776>>2]=h;if(h>>>0>255){g=c[b+4>>2]|0;c[k>>2]=h;Xw(g,16,200444,k);g=-1094995529;break}g=c[b+27164+(h<<2)>>2]|0;if(!g){g=c[b+4>>2]|0;c[l>>2]=h;Xw(g,16,200468,l);g=-1094995529;break}u=c[g+4>>2]|0;g=c[u>>2]|0;h=c[b+27036+(g<<2)>>2]|0;if(!h){C=c[b+4>>2]|0;c[m>>2]=g;Xw(C,16,200500,m);g=-1094995529;break}m=c[h+4>>2]|0;j=m+20|0;g=Hz(A,c[j>>2]|0)|0;h=e+34732|0;c[h>>2]=g;if(!n?(o=c[b+28228>>2]|0,(o|0)!=(g|0)):0){C=c[b+4>>2]|0;c[p>>2]=o;c[p+4>>2]=g;Xw(C,16,200532,p);g=-1094995529;break}c[e+21832>>2]=0;if(!(c[m+64>>2]|0)){if(i<<24>>24==3&(c[m+72>>2]|0)==0){Xw(c[b+4>>2]|0,16,200564,q);g=-1;break}if(uL(A)|0)l=(uL(A)|0)+1|0;else l=3}else l=3;c[e+21824>>2]=l;c[e+21828>>2]=(l|0)!=3&1;i=(l|0)==3;g=c[h>>2]|0;if(i)h=c[j>>2]|0;else{h=(c[j>>2]|0)+1|0;g=g<<1|1}c[e+34752>>2]=g;c[e+34756>>2]=1<<h;if((c[r>>2]|0)==5)GE(A)|0;h=m+24|0;g=c[h>>2]|0;if(!g){r=Hz(A,c[m+28>>2]|0)|0;c[e+34736>>2]=r;if(i&(c[u+8>>2]|0)==1){r=ap(A)|0;c[e+34740>>2]=r}g=c[h>>2]|0}if(((g|0)==1?(c[m+32>>2]|0)==0:0)?(r=ap(A)|0,c[e+34744>>2]=r,i&(c[u+8>>2]|0)==1):0){r=ap(A)|0;c[e+34748>>2]=r}g=e+21836|0;c[g>>2]=0;if(c[u+60>>2]|0){r=bp(A)|0;c[g>>2]=r}g=c[s>>2]|0;if((g|0)==3){g=uL(A)|0;c[e+21844>>2]=g;g=c[s>>2]|0}i=e+23404|0;k=b+4|0;g=Qn(e+23412|0,i,A,u,g,l,c[k>>2]|0)|0;if((g|0)>=0){if((c[s>>2]|0)!=1?(t=tn(e,c[k>>2]|0)|0,(t|0)<0):0){c[i>>2]=0;c[e+23408>>2]=0;g=t;break}h=e+880|0;c[h>>2]=0;g=0;while(1){if((g|0)==2)break;c[e+896+(g<<2)>>2]=0;c[e+904+(g<<2)>>2]=0;g=g+1|0}if((c[u+28>>2]|0)!=0?(c[s>>2]|0)==2:0){w=2;g=51}else g=49;if(((g|0)==49?(c[u+32>>2]|0)==1:0)?(c[s>>2]|0)==3:0){w=3;g=51}if((g|0)==51?(x=Be(A,m,i,w,h,l,c[k>>2]|0)|0,(x|0)<0):0){g=x;break}c[e+34728>>2]=0;do if(c[f+68>>2]|0){if((oi(e,A,f,c[k>>2]|0)|0)>=0)break;if(c[(c[k>>2]|0)+688>>2]&8|0){g=-1094995529;break a}}while(0);do if((c[s>>2]|0)!=1){if(!(c[u+4>>2]|0))break;g=Px(A)|0;if(g>>>0>2){C=c[k>>2]|0;c[y>>2]=g;Xw(C,16,200634,y);g=-1094995529;break a}else{c[e+33928>>2]=g;break}}while(0);c[e+864>>2]=0;g=c[u+36>>2]|0;g=(ap(A)|0)+g|0;if(g>>>0>(((c[m+1184>>2]|0)*6|0)+3|0)>>>0){C=c[k>>2]|0;c[z>>2]=g;Xw(C,16,200662,z);g=-1094995529;break}c[e+848>>2]=g;c[e+852>>2]=d[u+548+g>>0];c[e+856>>2]=d[u+636+g>>0];g=c[v>>2]|0;if((g|0)==6){uL(A)|0;g=c[v>>2]|0}if((g+-5|0)>>>0<2)ap(A)|0;h=e+868|0;c[h>>2]=1;j=e+872|0;c[j>>2]=0;i=e+876|0;c[i>>2]=0;if(!(c[u+52>>2]|0)){g=0;break}g=Px(A)|0;if(g>>>0>2){C=c[k>>2]|0;c[B>>2]=g;Xw(C,16,200682,B);g=-1094995529;break}B=(g|0)==2?2:g^1;c[h>>2]=B;if(!B){g=0;break}h=ap(A)|0;g=ap(A)|0;if((h+6|0)>>>0>12|(g+6|0)>>>0>12){B=c[k>>2]|0;c[C>>2]=h;c[C+4>>2]=g;Xw(B,16,200721,C);g=-1094995529;break}else{c[j>>2]=h<<1;c[i>>2]=g<<1;g=0;break}}}else{C=c[b+4>>2]|0;g=c[g>>2]|0;c[i>>2]=h;c[i+4>>2]=g;Xw(C,16,200374,i);g=-1094995529}while(0);Mb=D;return g|0}function nd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[275901]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0<f>>>0)return;if((c[275902]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[275899]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[275897]=c[275897]&~(1<<d);i=h;b=g;break}else{c[a+12>>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=1103892+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[275898]=c[275898]&~(1<<b);i=h;b=g;break}}else{i=f+16|0;c[((c[i>>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[275903]|0)==(j|0)){j=(c[275900]|0)+b|0;c[275900]=j;c[275903]=i;c[i+4>>2]=j|1;if((i|0)!=(c[275902]|0))return;c[275902]=0;c[275899]=0;return}if((c[275902]|0)==(j|0)){j=(c[275899]|0)+b|0;c[275899]=j;c[275902]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[275897]=c[275897]&~(1<<d);break}else{c[b+12>>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=1103892+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[275898]=c[275898]&~(1<<a);break}}else{e=g+16|0;c[((c[e>>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[275902]|0)){c[275899]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=1103628+(a<<1<<2)|0;b=c[275897]|0;a=1<<a;if(!(b&a)){c[275897]=b|a;a=d;b=d+8|0}else{b=d+8|0;a=c[b>>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<<h;g=(j+520192|0)>>>16&4;j=j<<g;e=(j+245760|0)>>>16&2;e=14-(g|h|e)+(j<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=1103892+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[275898]|0;d=1<<e;a:do if(!(b&d)){c[275898]=b|d;c[a>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}while(0);j=(c[275905]|0)+-1|0;c[275905]=j;if(j|0)return;a=1104044;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[275905]=-1;return}function od(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;r=8-g|0;q=8-h|0;s=H(q,r)|0;q=H(q,g)|0;r=H(r,h)|0;h=H(h,g)|0;a:do if(!h){p=q+r|0;if(!p){g=0;while(1){if((g|0)>=(f|0))break a;r=((d[b>>0]|0)+1+(((H(s,d[c>>0]|0)|0)+32|0)>>>6)|0)>>>1&255;a[b>>0]=r;r=b+1|0;q=((d[r>>0]|0)+1+(((H(s,d[c+1>>0]|0)|0)+32|0)>>>6)|0)>>>1&255;a[r>>0]=q;r=b+2|0;q=((d[r>>0]|0)+1+(((H(s,d[c+2>>0]|0)|0)+32|0)>>>6)|0)>>>1&255;a[r>>0]=q;r=b+3|0;q=((d[r>>0]|0)+1+(((H(s,d[c+3>>0]|0)|0)+32|0)>>>6)|0)>>>1&255;a[r>>0]=q;r=b+4|0;q=((d[r>>0]|0)+1+(((H(s,d[c+4>>0]|0)|0)+32|0)>>>6)|0)>>>1&255;a[r>>0]=q;r=b+5|0;q=((d[r>>0]|0)+1+(((H(s,d[c+5>>0]|0)|0)+32|0)>>>6)|0)>>>1&255;a[r>>0]=q;r=b+6|0;q=((d[r>>0]|0)+1+(((H(s,d[c+6>>0]|0)|0)+32|0)>>>6)|0)>>>1&255;a[r>>0]=q;r=b+7|0;q=((d[r>>0]|0)+1+(((H(s,d[c+7>>0]|0)|0)+32|0)>>>6)|0)>>>1&255;a[r>>0]=q;b=b+e|0;g=g+1|0;c=c+e|0}}else{h=(r|0)==0?1:e;i=h+1|0;j=h+2|0;k=h+3|0;l=h+4|0;m=h+5|0;n=h+6|0;o=h+7|0;g=0;while(1){if((g|0)>=(f|0))break a;r=H(s,d[c>>0]|0)|0;r=((d[b>>0]|0)+1+((r+32+(H(p,d[c+h>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[b>>0]=r;r=b+1|0;q=H(s,d[c+1>>0]|0)|0;q=((d[r>>0]|0)+1+((q+32+(H(p,d[c+i>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[r>>0]=q;r=b+2|0;q=H(s,d[c+2>>0]|0)|0;q=((d[r>>0]|0)+1+((q+32+(H(p,d[c+j>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[r>>0]=q;r=b+3|0;q=H(s,d[c+3>>0]|0)|0;q=((d[r>>0]|0)+1+((q+32+(H(p,d[c+k>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[r>>0]=q;r=b+4|0;q=H(s,d[c+4>>0]|0)|0;q=((d[r>>0]|0)+1+((q+32+(H(p,d[c+l>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[r>>0]=q;r=b+5|0;q=H(s,d[c+5>>0]|0)|0;q=((d[r>>0]|0)+1+((q+32+(H(p,d[c+m>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[r>>0]=q;r=b+6|0;q=H(s,d[c+6>>0]|0)|0;q=((d[r>>0]|0)+1+((q+32+(H(p,d[c+n>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[r>>0]=q;r=b+7|0;q=H(s,d[c+7>>0]|0)|0;q=((d[r>>0]|0)+1+((q+32+(H(p,d[c+o>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[r>>0]=q;b=b+e|0;g=g+1|0;c=c+e|0}}}else{i=e+1|0;j=e+2|0;k=e+3|0;l=e+4|0;m=e+5|0;n=e+6|0;o=e+7|0;p=e+8|0;g=0;while(1){if((g|0)>=(f|0))break a;y=H(s,d[c>>0]|0)|0;v=c+1|0;z=H(q,d[v>>0]|0)|0;t=c+e|0;u=H(r,d[t>>0]|0)|0;x=c+i|0;u=((d[b>>0]|0)+1+((y+32+z+u+(H(h,d[x>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[b>>0]=u;u=b+1|0;v=H(s,d[v>>0]|0)|0;z=c+2|0;y=H(q,d[z>>0]|0)|0;x=H(r,d[x>>0]|0)|0;w=c+j|0;x=((d[u>>0]|0)+1+((v+32+y+x+(H(h,d[w>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[u>>0]=x;u=b+2|0;z=H(s,d[z>>0]|0)|0;x=c+3|0;y=H(q,d[x>>0]|0)|0;w=H(r,d[w>>0]|0)|0;v=c+k|0;w=((d[u>>0]|0)+1+((z+32+y+w+(H(h,d[v>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[u>>0]=w;u=b+3|0;x=H(s,d[x>>0]|0)|0;w=c+4|0;y=H(q,d[w>>0]|0)|0;v=H(r,d[v>>0]|0)|0;z=c+l|0;v=((d[u>>0]|0)+1+((x+32+y+v+(H(h,d[z>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[u>>0]=v;u=b+4|0;w=H(s,d[w>>0]|0)|0;v=c+5|0;y=H(q,d[v>>0]|0)|0;z=H(r,d[z>>0]|0)|0;x=c+m|0;z=((d[u>>0]|0)+1+((w+32+y+z+(H(h,d[x>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[u>>0]=z;u=b+5|0;v=H(s,d[v>>0]|0)|0;z=c+6|0;y=H(q,d[z>>0]|0)|0;x=H(r,d[x>>0]|0)|0;w=c+n|0;x=((d[u>>0]|0)+1+((v+32+y+x+(H(h,d[w>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[u>>0]=x;u=b+6|0;z=H(s,d[z>>0]|0)|0;x=c+7|0;y=H(q,d[x>>0]|0)|0;w=H(r,d[w>>0]|0)|0;v=c+o|0;w=((d[u>>0]|0)+1+((z+32+y+w+(H(h,d[v>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[u>>0]=w;u=b+7|0;x=H(s,d[x>>0]|0)|0;w=H(q,d[c+8>>0]|0)|0;v=H(r,d[v>>0]|0)|0;v=((d[u>>0]|0)+1+((x+32+w+v+(H(h,d[c+p>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[u>>0]=v;b=b+e|0;g=g+1|0;c=t}}while(0);return}function pd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Mb;Mb=Mb+16|0;l=s;q=c[a+60>>2]|0;r=c[b+60>>2]|0;k=q+25680|0;a:do if((a|0)!=(b|0)){j=(c[k>>2]|0)!=0;do if(j){if((((((((c[q+25656>>2]|0)==(c[r+25656>>2]|0)?(c[q+25660>>2]|0)==(c[r+25660>>2]|0):0)?(c[q+26996>>2]|0)==(c[r+26996>>2]|0):0)?(c[q+26992>>2]|0)==(c[r+26992>>2]|0):0)?(d=c[q+28200>>2]|0,d|0):0)?(e=c[r+28200>>2]|0,(c[d+1184>>2]|0)==(c[e+1184>>2]|0)):0)?(c[d+12>>2]|0)==(c[e+12>>2]|0):0)?(c[d+128>>2]|0)==(c[e+128>>2]|0):0){g=0;break}g=1}else g=0;while(0);h=q+25960|0;i=r+25960|0;rk(h|0,i|0,384)|0;a=0;while(1){if(a>>>0>=32)break;b=q+27036+(a<<2)|0;QS(b);d=c[r+27036+(a<<2)>>2]|0;if(d|0?(n=$H(d)|0,c[b>>2]=n,(n|0)==0):0){a=-12;break a}a=a+1|0}a=0;while(1){if(a>>>0>=256)break;b=q+27164+(a<<2)|0;QS(b);d=c[r+27164+(a<<2)>>2]|0;if(d|0?(n=$H(d)|0,c[b>>2]=n,(n|0)==0):0){a=-12;break a}a=a+1|0}b=q+28188|0;QS(b);e=q+28192|0;QS(e);d=q+28196|0;c[d>>2]=0;f=q+28200|0;c[f>>2]=0;a=c[r+28188>>2]|0;if(a|0){a=$H(a)|0;c[b>>2]=a;if(!a){a=-12;break}c[d>>2]=c[a+4>>2]}a=c[r+28192>>2]|0;if(a|0){a=$H(a)|0;c[e>>2]=a;if(!a){a=-12;break}c[f>>2]=c[a+4>>2]}if(j&(g|0)==0)a=0;else{c[q+25656>>2]=c[r+25656>>2];c[q+25660>>2]=c[r+25660>>2];c[q+26992>>2]=c[r+26992>>2];c[q+26996>>2]=c[r+26996>>2];c[q+27004>>2]=c[r+27004>>2];c[q+27e3>>2]=c[r+27e3>>2];c[q+26352>>2]=c[r+26352>>2];if((c[k>>2]|0)==0?(c[r+25680>>2]|0)==0:0)a=0;else{a=df(q)|0;if((a|0)<0){Xw(c[q+4>>2]|0,16,198734,l);break}}rk(h|0,i|0,384)|0}n=c[r+4>>2]|0;f=c[q+4>>2]|0;c[f+136>>2]=c[n+136>>2];c[f+132>>2]=c[n+132>>2];c[f+124>>2]=c[n+124>>2];c[f+128>>2]=c[n+128>>2];c[q+29648>>2]=c[r+29648>>2];c[q+29652>>2]=c[r+29652>>2];c[q+25676>>2]=c[r+25676>>2];c[q+26368>>2]=c[r+26368>>2];c[q+26364>>2]=c[r+26364>>2];c[q+26360>>2]=c[r+26360>>2];f=r+25672|0;n=q+25672|0;c[n>>2]=c[f>>2];b=0;while(1){if(b>>>0>=36)break;d=q+696+(b*656|0)|0;Cw(q,d);e=r+696+(b*656|0)|0;if(c[(c[e>>2]|0)+248>>2]|0?(m=cg(q,d,e)|0,(m|0)<0):0){a=m;break a}b=b+1|0}b=c[r+24312>>2]|0;if((b|0)!=0?(o=r+696|0,b>>>0>=o>>>0&b>>>0<(r+24312|0)>>>0):0)b=q+696+(((b-o|0)/656|0)*656|0)|0;else b=0;m=q+24312|0;c[m>>2]=b;b=q+24316|0;Cw(q,b);d=r+24316|0;if(c[(c[d>>2]|0)+248>>2]|0?(p=cg(q,b,d)|0,(p|0)<0):0){a=p;break}c[q+29656>>2]=c[r+29656>>2];c[q+25688>>2]=c[r+25688>>2];c[n>>2]=c[f>>2];c[q+27020>>2]=c[r+27020>>2];c[q+27024>>2]=c[r+27024>>2];c[q+29696>>2]=c[r+29696>>2];b=q+28208|0;j=b;k=r+28208|0;l=j+44|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));d=q+28332|0;e=r+28332|0;j=d;k=e;l=j+128|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));f=q+28460|0;g=r+28460|0;j=f;k=g;l=j+128|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));h=q+28588|0;i=r+28588|0;j=h;k=i;l=j+72|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=q+28660|0;k=r+28660|0;l=j+64|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[q+28724>>2]=c[r+28724>>2];c[q+28728>>2]=c[r+28728>>2];rk(q+28732|0,r+28732|0,792)|0;c[q+29524>>2]=c[r+29524>>2];c[q+29528>>2]=c[r+29528>>2];c[q+29532>>2]=c[r+29532>>2];c[q+29536>>2]=c[r+29536>>2];c[q+29540>>2]=c[r+29540>>2];Ow(d,e,32,q,r);Ow(f,g,32,q,r);Ow(h,i,18,q,r);c[q+29560>>2]=c[r+29560>>2];if(c[m>>2]|0){if(!(c[n>>2]|0)){a=bd(q)|0;c[q+28232>>2]=c[q+28212>>2];c[q+28236>>2]=c[b>>2]}c[q+28244>>2]=c[q+28240>>2];c[q+28248>>2]=c[q+28228>>2];c[q+29556>>2]=c[r+29556>>2]}else a=0}else a=0;while(0);Mb=s;return a|0}function qd(a,e,g,h,i,j,k){a=a|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;G=Mb;Mb=Mb+32|0;E=G+16|0;D=G+8|0;C=G;A=i+16|0;B=g+8|0;z=g+16|0;y=a+4|0;o=1;l=0;x=0;a=h;m=0;n=h+-90|0;a:while(1){if((x|0)>=(c[A>>2]|0)){a=0;break}h=0;b:while(1){v=o;c:while(1){d:while(1){e:while(1){if((h|0)>=(d[i>>0]|0))break b;w=c[k+(l<<2)>>2]|0;switch(c[j+(l<<2)>>2]|0){case 14:case 15:break c;case 13:break d;case 0:break;default:break e}while(1){if((h|0)>=(w|0))break;f[e+(l<<2)>>2]=0.0;h=h+1|0;l=l+1|0}}while(1){if((h|0)>=(w|0))break;t=c[275844]|0;o=c[B>>2]|0;u=c[z>>2]|0;r=c[g>>2]|0;q=r+(o>>>3)|0;q=(kS(d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24|0)|0)<<(o&7)>>>25;p=b[t+(q<<2)>>1]|0;q=b[t+(q<<2)+2>>1]|0;s=q<<16>>16;if(q<<16>>16<0){o=o+7|0;o=u>>>0>o>>>0?o:u;H=r+(o>>>3)|0;H=((kS(d[H>>0]|d[H+1>>0]<<8|d[H+2>>0]<<16|d[H+3>>0]<<24|0)|0)<<(o&7)>>>(s+32|0))+p|0;p=b[t+(H<<2)>>1]|0;H=b[t+(H<<2)+2>>1]|0;q=H<<16>>16;if(H<<16>>16<0){o=o-s|0;o=u>>>0>o>>>0?o:u;H=r+(o>>>3)|0;p=((kS(d[H>>0]|d[H+1>>0]<<8|d[H+2>>0]<<16|d[H+3>>0]<<24|0)|0)<<(o&7)>>>(q+32|0))+p|0;q=b[t+(p<<2)+2>>1]|0;p=b[t+(p<<2)>>1]|0}}else q=s;H=q+o|0;c[B>>2]=u>>>0>H>>>0?H:u;a=a+-60+p|0;if(a>>>0>255){F=42;break a}f[e+(l<<2)>>2]=-+f[869744+(a+100<<2)>>2];h=h+1|0;l=l+1|0}}o=v;v=h;while(1){if((v|0)>=(w|0))break;u=o+-1|0;if((o|0)>0)h=(Hz(g,9)|0)+-256|0;else{s=c[275844]|0;h=c[B>>2]|0;t=c[z>>2]|0;q=c[g>>2]|0;H=q+(h>>>3)|0;H=(kS(d[H>>0]|d[H+1>>0]<<8|d[H+2>>0]<<16|d[H+3>>0]<<24|0)|0)<<(h&7)>>>25;o=b[s+(H<<2)>>1]|0;H=b[s+(H<<2)+2>>1]|0;r=H<<16>>16;if(H<<16>>16<0){h=h+7|0;h=t>>>0>h>>>0?h:t;H=q+(h>>>3)|0;H=((kS(d[H>>0]|d[H+1>>0]<<8|d[H+2>>0]<<16|d[H+3>>0]<<24|0)|0)<<(h&7)>>>(r+32|0))+o|0;o=b[s+(H<<2)>>1]|0;H=b[s+(H<<2)+2>>1]|0;p=H<<16>>16;if(H<<16>>16<0){h=h-r|0;h=t>>>0>h>>>0?h:t;H=q+(h>>>3)|0;o=((kS(d[H>>0]|d[H+1>>0]<<8|d[H+2>>0]<<16|d[H+3>>0]<<24|0)|0)<<(h&7)>>>(p+32|0))+o|0;p=b[s+(o<<2)+2>>1]|0;o=b[s+(o<<2)>>1]|0}}else p=r;h=p+h|0;c[B>>2]=t>>>0>h>>>0?h:t;h=o+-60|0}n=h+n|0;h=(n|0)<155?n:155;h=(h|0)>-100?h:-100;if((n|0)!=(h|0)){H=c[y>>2]|0;c[D>>2]=n;c[D+4>>2]=h;KM(H,188822,D)}f[e+(l<<2)>>2]=-+f[869744+(h+200<<2)>>2];o=u;v=v+1|0;l=l+1|0}h=v;v=o}u=h;while(1){if((u|0)>=(w|0))break;s=c[275844]|0;h=c[B>>2]|0;t=c[z>>2]|0;q=c[g>>2]|0;H=q+(h>>>3)|0;H=(kS(d[H>>0]|d[H+1>>0]<<8|d[H+2>>0]<<16|d[H+3>>0]<<24|0)|0)<<(h&7)>>>25;o=b[s+(H<<2)>>1]|0;H=b[s+(H<<2)+2>>1]|0;r=H<<16>>16;if(H<<16>>16<0){h=h+7|0;h=t>>>0>h>>>0?h:t;H=q+(h>>>3)|0;H=((kS(d[H>>0]|d[H+1>>0]<<8|d[H+2>>0]<<16|d[H+3>>0]<<24|0)|0)<<(h&7)>>>(r+32|0))+o|0;o=b[s+(H<<2)>>1]|0;H=b[s+(H<<2)+2>>1]|0;p=H<<16>>16;if(H<<16>>16<0){h=h-r|0;h=t>>>0>h>>>0?h:t;H=q+(h>>>3)|0;o=((kS(d[H>>0]|d[H+1>>0]<<8|d[H+2>>0]<<16|d[H+3>>0]<<24|0)|0)<<(h&7)>>>(p+32|0))+o|0;p=b[s+(o<<2)+2>>1]|0;o=b[s+(o<<2)>>1]|0}}else p=r;h=p+h|0;c[B>>2]=t>>>0>h>>>0?h:t;m=m+-60+o|0;h=(m|0)<100?m:100;h=(h|0)>-155?h:-155;if((m|0)!=(h|0)){H=c[y>>2]|0;c[C>>2]=m;c[C+4>>2]=h;KM(H,188708,C)}c[e+(l<<2)>>2]=c[869744+(200-h<<2)>>2];u=u+1|0;l=l+1|0}h=u;o=v}o=v;x=x+1|0}if((F|0)==42){H=c[y>>2]|0;c[E>>2]=a;Xw(H,16,188921,E);a=-1094995529}Mb=G;return a|0}function rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;h=a+(0-f)|0;b=f+b|0;if((c[275902]|0)==(h|0)){a=i+4|0;d=c[a>>2]|0;if((d&3|0)!=3)break;c[275899]=b;c[a>>2]=d&-2;c[h+4>>2]=b|1;c[i>>2]=b;return}e=f>>>3;if(f>>>0<256){a=c[h+8>>2]|0;d=c[h+12>>2]|0;if((d|0)==(a|0)){c[275897]=c[275897]&~(1<<e);break}else{c[a+12>>2]=d;c[d+8>>2]=a;break}}g=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){d=h+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{f=c[h+8>>2]|0;c[f+12>>2]=a;c[a+8>>2]=f}while(0);if(g){d=c[h+28>>2]|0;e=1103892+(d<<2)|0;if((c[e>>2]|0)==(h|0)){c[e>>2]=a;if(!a){c[275898]=c[275898]&~(1<<d);break}}else{f=g+16|0;c[((c[f>>2]|0)==(h|0)?f:g+20|0)>>2]=a;if(!a)break}c[a+24>>2]=g;d=h+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(d){c[a+20>>2]=d;c[d+24>>2]=a}}}else h=a;while(0);a=i+4|0;e=c[a>>2]|0;if(!(e&2)){if((c[275903]|0)==(i|0)){i=(c[275900]|0)+b|0;c[275900]=i;c[275903]=h;c[h+4>>2]=i|1;if((h|0)!=(c[275902]|0))return;c[275902]=0;c[275899]=0;return}if((c[275902]|0)==(i|0)){i=(c[275899]|0)+b|0;c[275899]=i;c[275902]=h;c[h+4>>2]=i|1;c[h+i>>2]=i;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){a=c[i+8>>2]|0;b=c[i+12>>2]|0;if((b|0)==(a|0)){c[275897]=c[275897]&~(1<<d);break}else{c[a+12>>2]=b;c[b+8>>2]=a;break}}else{g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+16|0;d=a+4|0;b=c[d>>2]|0;if(!b){b=c[a>>2]|0;if(!b){d=0;break}}else a=d;while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);if(g|0){b=c[i+28>>2]|0;a=1103892+(b<<2)|0;if((c[a>>2]|0)==(i|0)){c[a>>2]=d;if(!d){c[275898]=c[275898]&~(1<<b);break}}else{e=g+16|0;c[((c[e>>2]|0)==(i|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;b=i+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}b=c[b+4>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}}while(0);c[h+4>>2]=f|1;c[h+f>>2]=f;if((h|0)==(c[275902]|0)){c[275899]=f;return}}else{c[a>>2]=e&-2;c[h+4>>2]=b|1;c[h+b>>2]=b;f=b}b=f>>>3;if(f>>>0<256){d=1103628+(b<<1<<2)|0;a=c[275897]|0;b=1<<b;if(!(a&b)){c[275897]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=h;c[b+12>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;return}b=f>>>8;if(b)if(f>>>0>16777215)e=31;else{g=(b+1048320|0)>>>16&8;i=b<<g;d=(i+520192|0)>>>16&4;i=i<<d;e=(i+245760|0)>>>16&2;e=14-(d|g|e)+(i<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;b=1103892+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[h+16>>2]=0;a=c[275898]|0;d=1<<e;if(!(a&d)){c[275898]=a|d;c[b>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}b=c[b>>2]|0;a:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break a}else{e=e<<1;b=a}}c[d>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}while(0);g=b+8|0;i=c[g>>2]|0;c[i+12>>2]=h;c[g>>2]=h;c[h+8>>2]=i;c[h+12>>2]=b;c[h+24>>2]=0;return}
function qc(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;na=Mb;Mb=Mb+80|0;ga=na+56|0;aa=na+48|0;q=na+40|0;r=na+32|0;n=na+24|0;p=na+16|0;ia=na+72|0;Z=na;_=na+68|0;U=na+64|0;ha=f+28200|0;da=c[ha>>2]|0;ja=f+28196|0;m=c[(c[ja>>2]|0)+64>>2]|0;k=da+12|0;ba=((c[k>>2]|0)+-1|0)>>>0<2;ka=c[f+25652>>2]|0;ea=g+21788|0;h=c[ea>>2]|0;fa=g+21792|0;i=c[fa>>2]|0;X=f+27e3|0;ma=(H(c[X>>2]|0,i)|0)+h|0;la=g+21796|0;c[la>>2]=ma;$=g+840|0;W=f+26360|0;if((c[$>>2]|0)!=1){if(!((i&1|0)==0|(c[W>>2]|0)==0)?(c[g+21648>>2]|0)!=0:0)h=c[g+21652>>2]|0;else h=Cl(f,g,h,i)|0;if(h){if((c[W>>2]|0?(c[fa>>2]&1|0)==0:0)?(c[(c[f+24364>>2]|0)+(ma<<2)>>2]=2048,la=Cl(f,g,c[ea>>2]|0,(c[fa>>2]|0)+1|0)|0,c[g+21652>>2]=la,(la|0)==0):0){la=Sz(f,g)|0;c[g+21828>>2]=la;c[g+21832>>2]=la}Wc(f,g);b[(c[f+26376>>2]|0)+(ma<<1)>>1]=0;a[(c[f+26380>>2]|0)+ma>>0]=0;c[g+864>>2]=0;h=0}else ca=12}else ca=12;a:do if((ca|0)==12){if(c[W>>2]|0?(c[fa>>2]&1|0)==0:0){Y=Sz(f,g)|0;c[g+21828>>2]=Y;c[g+21832>>2]=Y}c[g+21648>>2]=0;V=g+21828|0;kh(f,g,0-(c[V>>2]|0)|0);b:do switch(c[$>>2]|0){case 3:{j=g+32856|0;c:do if(!(Gu(j,28-(((c[g+21740>>2]|0)+511|0)>>>8&1)+(((c[g+21732>>2]|0)+511|0)>>>8&1^1)+(g+32904)|0)|0)){c[ia>>2]=0;h=0}else{if(!(Gu(j,g+32934|0)|0)){h=(Gu(j,g+32936|0)|0)+1|0;c[ia>>2]=h;break}i=(Gu(j,g+32935|0)|0)<<3;h=g+32936|0;i=((Gu(j,h)|0)<<2)+i|0;i=i+((Gu(j,h)|0)<<1)|0;i=i+(Gu(j,h)|0)|0;if((i|0)<8){h=i+3|0;c[ia>>2]=h;break}switch(i|0){case 13:{h=zq(g,32,0)|0;c[ia>>2]=h;ca=36;break b}case 14:{c[ia>>2]=11;h=11;break c}case 15:{c[ia>>2]=22;h=22;break c}default:{h=(i<<1)+-4+(Gu(j,h)|0)|0;c[ia>>2]=h;break c}}}while(0);i=a[19008+(h<<2)+2>>0]|0;h=e[19008+(h<<2)>>1]|0;c[ia>>2]=h;Y=0;break}case 2:{h=g+32856|0;if(Gu(h,g+32918|0)|0){h=zq(g,17,0)|0;c[ia>>2]=h;ca=36;break b}if(!(Gu(h,g+32919|0)|0))h=(Gu(h,g+32920|0)|0)*3|0;else h=2-(Gu(h,g+32921|0)|0)|0;i=a[18960+(h<<2)+2>>0]|0;h=e[18960+(h<<2)>>1]|0;c[ia>>2]=h;Y=0;break}default:{h=zq(g,3,1)|0;c[ia>>2]=h;if(h|0?(c[g+836>>2]|0)==5:0){h=h+-1|0;c[ia>>2]=h;ca=36}else ca=36}}while(0);if((ca|0)==36){Y=d[18848+(h<<2)+3>>0]|0;c[g+21660>>2]=d[18848+(h<<2)+2>>0];h=e[18848+(h<<2)>>1]|0;c[ia>>2]=h;i=0}if(c[V>>2]|0){h=h|128;c[ia>>2]=h}b[(c[f+26356>>2]|0)+(ma<<1)>>1]=c[g+832>>2];if(h&4|0){i=(H(c[da+1184>>2]|0,e[164312+(c[k>>2]<<1)>>1]|0)|0)>>3;j=g+32856|0;h=c[g+32872>>2]|0;k=c[j>>2]|0;h=(k&1|0)==0?h:h+-1|0;h=(k&511|0)==0?h:h+-1|0;k=c[g+32876>>2]|0;if((k-h|0)<(i|0)){h=-1;break}c[g+27780>>2]=h;h=h+i|0;h=iv(j,h,k-h|0)|0;if((h|0)<0)break;b[(c[f+26376>>2]|0)+(ma<<1)>>1]=-2065;a[(c[f+26380>>2]|0)+ma>>0]=0;a[(c[f+24340>>2]|0)+ma>>0]=0;k=(c[f+25956>>2]|0)+(ma*48|0)|0;l=k+48|0;do{a[k>>0]=16;k=k+1|0}while((k|0)<(l|0));c[(c[f+24364>>2]|0)+(ma<<2)>>2]=c[ia>>2];c[g+864>>2]=0;h=0;break}yc(f,g,h);d:do if(!(h&7)){if(i<<24>>24==4){e:do if((c[$>>2]|0)==3){h=0;while(1){if((h|0)==4)break;ca=(ju(g)|0)&65535;c[Z+(h<<2)>>2]=d[19104+(ca<<2)+2>>0];b[g+28552+(h<<1)>>1]=b[19104+(ca<<2)>>1]|0;h=h+1|0}if((b[g+28554>>1]|b[g+28552>>1]|b[g+28556>>1]|b[g+28558>>1])&256){fN(f,g,ia);a[g+28342>>0]=-2;a[g+28302>>0]=-2;a[g+28326>>0]=-2;a[g+28286>>0]=-2;h=0;while(1){if((h|0)==4)break e;ca=(d[88656+(h<<2)>>0]|0)+(g+28512)|0;T=((e[g+28552+(h<<1)>>1]|0)>>>1&255)*257&65535;b[ca>>1]=T;b[ca+8>>1]=T;h=h+1|0}}}else{h=0;while(1){if((h|0)==4)break e;ca=(GI(g)|0)&65535;c[Z+(h<<2)>>2]=d[18992+(ca<<2)+2>>0];b[g+28552+(h<<1)>>1]=b[18992+(ca<<2)>>1]|0;h=h+1|0}}while(0);T=g+23412|0;o=g+21832|0;n=0;f:while(1){h=c[T>>2]|0;if(n>>>0>=h>>>0){ca=83;break}k=4096<<(n<<1);l=g+23404+(n<<2)|0;j=0;while(1){if(j>>>0>=4)break;h=e[g+28552+(j<<1)>>1]|0;if(!(h&256)){if(k&h){i=c[l>>2]<<c[o>>2];if(i>>>0>1){h=Or(g,n,j<<2)|0;if(h>>>0>=i>>>0){ca=79;break f}}else h=0}else h=-1;S=h&255;ca=d[88656+(j<<2)>>0]|0;a[ca+9+(g+28272+(n*40|0))>>0]=S;a[ca+8+(g+28272+(n*40|0))>>0]=S;a[ca+1+(g+28272+(n*40|0))>>0]=S}j=j+1|0}n=n+1|0}do if((ca|0)==79){g=c[f+4>>2]|0;c[p>>2]=h;c[p+4>>2]=i;Xw(g,16,201342,p);h=-1}else if((ca|0)==83){if(!m)m=0;else{S=(c[(c[ha>>2]|0)+72>>2]|0)==0;m=g+28552|0;m=(((S?24117616:7340144)&c[m>>2]|0)==0?((S?24117616:7340144)&c[m+4>>2]|0)==0:0)&1}O=f+24312|0;P=g+21740|0;Q=g+21720|0;R=f+26344|0;S=f+26352|0;N=0;g:while(1){if(N>>>0>=h>>>0){ca=131;break}K=N<<1;G=4096<<K;I=g+28272+(N*40|0)+11|0;J=g+27952+(N*160|0)+40|0;K=12288<<K;L=g+27952+(N*160|0)+42|0;F=0;while(1){if(F>>>0>=4)break;M=F<<2;h=d[88656+M>>0]|0;a[g+28272+(N*40|0)+h>>0]=a[h+1+(g+28272+(N*40|0))>>0]|0;i=e[g+28552+(F<<1)>>1]|0;h:do if(!(i&256)){if(!(G&i)){c[g+27952+(N*160|0)+(h<<2)>>2]=0;c[g+27952+(N*160|0)+(h<<2)+4>>2]=0;c[g+27952+(N*160|0)+(h<<2)+32>>2]=0;c[g+27952+(N*160|0)+(h<<2)+36>>2]=0;ca=127;break}B=(i&24|0)==0?1:2;C=c[Z+(F<<2)>>2]|0;D=(i&8|0)==0;E=(i&16|0)==0;x=(i&32|0)==0;w=0;while(1){if((w|0)>=(C|0))break h;h=88656+((H(w,B)|0)+M)|0;h=a[h>>0]|0;y=h&255;z=g+27952+(N*160|0)+(y<<2)|0;A=g+28352+(N*80|0)+(y<<1)|0;o=a[g+28272+(N*40|0)+y>>0]|0;p=o<<24>>24;u=y+-8|0;q=a[g+28272+(N*40|0)+u>>0]|0;v=y+-1|0;r=a[g+28272+(N*40|0)+v>>0]|0;s=g+27952+(N*160|0)+(v<<2)|0;t=g+27952+(N*160|0)+(u<<2)|0;i=u+B|0;j=a[g+28272+(N*40|0)+i>>0]|0;k=j<<24>>24;j=j<<24>>24==-2;do if((y&7|0)==4&((h&255)>19&(j&(c[W>>2]|0)!=0))){if((a[I>>0]|0)==-2){ca=102;break}n=c[(c[O>>2]|0)+48>>2]|0;c[J>>2]=0;l=(c[P>>2]&128|0)==0;if(!(c[V>>2]|0)){if(l){ca=102;break}l=c[X>>2]|0;h=l+(c[Q>>2]|0)|0;i=(c[fa>>2]<<1&2)+(y>>>5)|0;n=n+((H(i>>>2,l)|0)+h<<2)|0;if(!(c[n>>2]&K)){l=J;k=-1;break}k=c[O>>2]|0;n=c[k+36+(N<<2)>>2]|0;l=(c[(c[R>>2]|0)+(h<<2)>>2]|0)+3+(H(c[S>>2]|0,i)|0)|0;b[J>>1]=b[n+(l<<2)>>1]|0;b[L>>1]=b[n+(l<<2)+2>>1]<<1;l=J;k=a[(c[k+68+(N<<2)>>2]|0)+((i&14)+(h<<2|1))>>0]>>1;break}else{if(!l){ca=102;break}h=c[g+21720+(((h&255)>35&1)<<2)>>2]|0;i=y>>>2;if(!(c[n+(h<<2)>>2]&K)){l=J;k=-1;break}k=c[O>>2]|0;n=c[k+36+(N<<2)>>2]|0;l=(c[(c[R>>2]|0)+(h<<2)>>2]|0)+3+(H(c[S>>2]|0,i&3)|0)|0;b[J>>1]=b[n+(l<<2)>>1]|0;b[L>>1]=(b[n+(l<<2)+2>>1]|0)/2|0;l=J;k=a[(c[k+68+(N<<2)>>2]|0)+(i&2|h<<2|1)>>0]<<1;break}}else ca=102;while(0);do if((ca|0)==102){ca=0;if(j){k=y+-9|0;l=g+27952+(N*160|0)+(k<<2)|0;k=a[g+28272+(N*40|0)+k>>0]|0;break}else{l=g+27952+(N*160|0)+(i<<2)|0;break}}while(0);j=q<<24>>24==o<<24>>24;i=r<<24>>24==o<<24>>24;h=(i&1)+(j&1)+((k|0)==(p|0)&1)|0;do if(h>>>0<=1){if((h|0)!=1){h=b[s>>1]|0;if(r<<24>>24!=-2&(q<<24>>24==-2&(k|0)==-2)){i=b[g+27952+(N*160|0)+(v<<2)+2>>1]|0;break}else{h=oM(h,b[t>>1]|0,b[l>>1]|0)|0;i=oM(b[g+27952+(N*160|0)+(v<<2)+2>>1]|0,b[g+27952+(N*160|0)+(u<<2)+2>>1]|0,b[l+2>>1]|0)|0;break}}if(i){i=b[g+27952+(N*160|0)+(v<<2)+2>>1]|0;h=b[s>>1]|0;break}if(j){i=b[g+27952+(N*160|0)+(u<<2)+2>>1]|0;h=b[t>>1]|0;break}else{i=b[l+2>>1]|0;h=b[l>>1]|0;break}}else{h=oM(b[s>>1]|0,b[t>>1]|0,b[l>>1]|0)|0;i=oM(b[g+27952+(N*160|0)+(v<<2)+2>>1]|0,b[g+27952+(N*160|0)+(u<<2)+2>>1]|0,b[l+2>>1]|0)|0}while(0);t=(d[g+28352+(N*80|0)+(u<<1)+1>>0]|0)+(d[g+28352+(N*80|0)+(v<<1)+1>>0]|0)|0;u=wl(g,40,(d[g+28352+(N*80|0)+(u<<1)>>0]|0)+(d[g+28352+(N*80|0)+(v<<1)>>0]|0)|0,_)|0;v=wl(g,47,t,U)|0;h=u+h|0;i=v+i|0;if((u|0)==-2147483648|(v|0)==-2147483648){ca=125;break g}do if(D){if(!E){k=h&65535;b[z+4>>1]=k;h=i&65535;b[z+6>>1]=h;i=c[_>>2]&255;a[A+2>>0]=i;j=c[U>>2]&255;a[A+3>>0]=j;break}if(x){k=h&65535;h=i&65535;i=c[_>>2]&255;j=c[U>>2]&255;break}else{k=h&65535;b[z+32>>1]=k;h=i&65535;b[z+34>>1]=h;i=c[_>>2]&255;a[A+16>>0]=i;j=c[U>>2]&255;a[A+17>>0]=j;break}}else{k=h&65535;b[z+36>>1]=k;b[z+32>>1]=k;b[z+4>>1]=k;h=i&65535;b[z+38>>1]=h;b[z+34>>1]=h;b[z+6>>1]=h;i=c[_>>2]&255;a[A+18>>0]=i;a[A+16>>0]=i;a[A+2>>0]=i;j=c[U>>2]&255;a[A+19>>0]=j;a[A+17>>0]=j;a[A+3>>0]=j}while(0);b[z>>1]=k;b[g+27952+(N*160|0)+(y<<2)+2>>1]=h;a[A>>0]=i;a[g+28352+(N*80|0)+(y<<1)+1>>0]=j;w=w+1|0}}else ca=127;while(0);if((ca|0)==127){ca=0;c[g+28352+(N*80|0)+(h<<1)>>2]=0;c[g+28352+(N*80|0)+(h<<1)+16>>2]=0}F=F+1|0}N=N+1|0;h=c[T>>2]|0}if((ca|0)==125){h=-1094995529;break}else if((ca|0)==131)break d}while(0);break a}if(h&256|0){fN(f,g,ia);c[g+28376>>2]=0;c[g+28380>>2]=0;c[g+28392>>2]=0;c[g+28396>>2]=0;c[g+28408>>2]=0;c[g+28412>>2]=0;c[g+28424>>2]=0;c[g+28428>>2]=0;c[g+28456>>2]=0;c[g+28460>>2]=0;c[g+28472>>2]=0;c[g+28476>>2]=0;c[g+28488>>2]=0;c[g+28492>>2]=0;c[g+28504>>2]=0;c[g+28508>>2]=0;m=c[da+72>>2]&m;break}if(h&8|0){t=g+23412|0;k=c[ia>>2]|0;l=g+21832|0;j=0;while(1){h=c[t>>2]|0;if(j>>>0>=h>>>0)break;if(k&4096<<(j<<1)|0){i=c[g+23404+(j<<2)>>2]<<c[l>>2];if(i>>>0>1){h=Or(g,j,0)|0;if(h>>>0>=i>>>0){ca=141;break}}else h=0;X=H(h,16843009)|0;c[g+28272+(j*40|0)+12>>2]=X;c[g+28272+(j*40|0)+20>>2]=X;c[g+28272+(j*40|0)+28>>2]=X;c[g+28272+(j*40|0)+36>>2]=X}j=j+1|0}if((ca|0)==141){g=c[f+4>>2]|0;c[n>>2]=h;c[n+4>>2]=i;Xw(g,16,201342,n);h=-1;break a}s=0;while(1){if(s>>>0>=h>>>0)break d;if(c[ia>>2]&4096<<(s<<1)){i=a[g+28272+(s*40|0)+12>>0]|0;n=a[g+28272+(s*40|0)+4>>0]|0;o=a[g+28272+(s*40|0)+11>>0]|0;p=g+27952+(s*160|0)+44|0;r=g+27952+(s*160|0)+16|0;h=a[g+28272+(s*40|0)+8>>0]|0;if(h<<24>>24==-2){q=g+27952+(s*160|0)+12|0;l=a[g+28272+(s*40|0)+3>>0]|0}else{q=g+27952+(s*160|0)+32|0;l=h<<24>>24}j=n<<24>>24==i<<24>>24;k=o<<24>>24==i<<24>>24;h=(k&1)+(j&1)+((l|0)==(i<<24>>24|0)&1)|0;do if(h>>>0<=1){if((h|0)!=1){h=b[p>>1]|0;if(o<<24>>24!=-2&(n<<24>>24==-2&(l|0)==-2)){k=b[g+27952+(s*160|0)+46>>1]|0;break}else{h=oM(h,b[r>>1]|0,b[q>>1]|0)|0;k=oM(b[g+27952+(s*160|0)+46>>1]|0,b[g+27952+(s*160|0)+18>>1]|0,b[q+2>>1]|0)|0;break}}if(k){k=b[g+27952+(s*160|0)+46>>1]|0;h=b[p>>1]|0;break}if(j){k=b[g+27952+(s*160|0)+18>>1]|0;h=b[r>>1]|0;break}else{k=b[q+2>>1]|0;h=b[q>>1]|0;break}}else{h=oM(b[p>>1]|0,b[r>>1]|0,b[q>>1]|0)|0;k=oM(b[g+27952+(s*160|0)+46>>1]|0,b[g+27952+(s*160|0)+18>>1]|0,b[q+2>>1]|0)|0}while(0);j=(d[g+28352+(s*80|0)+9>>0]|0)+(d[g+28352+(s*80|0)+23>>0]|0)|0;i=wl(g,40,(d[g+28352+(s*80|0)+8>>0]|0)+(d[g+28352+(s*80|0)+22>>0]|0)|0,Z)|0;j=wl(g,47,j,_)|0;if((i|0)==-2147483648|(j|0)==-2147483648)break;X=(c[_>>2]<<8&65280|c[Z>>2]&255)*65537|0;c[g+28352+(s*80|0)+24>>2]=X;c[g+28352+(s*80|0)+28>>2]=X;c[g+28352+(s*80|0)+40>>2]=X;c[g+28352+(s*80|0)+44>>2]=X;c[g+28352+(s*80|0)+56>>2]=X;c[g+28352+(s*80|0)+60>>2]=X;c[g+28352+(s*80|0)+72>>2]=X;c[g+28352+(s*80|0)+76>>2]=X;h=j+k<<16|i+h&65535;c[g+27952+(s*160|0)+48>>2]=h;c[g+27952+(s*160|0)+52>>2]=h;c[g+27952+(s*160|0)+56>>2]=h;c[g+27952+(s*160|0)+60>>2]=h;c[g+27952+(s*160|0)+80>>2]=h;c[g+27952+(s*160|0)+84>>2]=h;c[g+27952+(s*160|0)+88>>2]=h;c[g+27952+(s*160|0)+92>>2]=h;c[g+27952+(s*160|0)+112>>2]=h;c[g+27952+(s*160|0)+116>>2]=h;c[g+27952+(s*160|0)+120>>2]=h;c[g+27952+(s*160|0)+124>>2]=h;c[g+27952+(s*160|0)+144>>2]=h;c[g+27952+(s*160|0)+148>>2]=h;c[g+27952+(s*160|0)+152>>2]=h;c[g+27952+(s*160|0)+156>>2]=h;h=c[t>>2]|0}s=s+1|0}h=-1094995529;break a}S=g+23412|0;o=c[ia>>2]|0;p=g+21832|0;if(h&16|0){n=0;i:while(1){h=c[S>>2]|0;if(n>>>0>=h>>>0)break;k=n<<1;l=g+23404+(n<<2)|0;j=0;while(1){if(j>>>0>=2)break;if(!(o&4096<<j+k))h=-1;else{i=c[l>>2]<<c[p>>2];if(i>>>0>1){h=Or(g,n,j<<3)|0;if(h>>>0>=i>>>0){ca=174;break i}}else h=0;h=H(h,16843009)|0}U=(j<<4|12)+(g+28272+(n*40|0))|0;c[U>>2]=h;c[U+8>>2]=h;j=j+1|0}n=n+1|0}if((ca|0)==174){g=c[f+4>>2]|0;c[r>>2]=h;c[r+4>>2]=i;Xw(g,16,201342,r);h=-1;break a}N=f+24312|0;O=g+21740|0;P=g+21720|0;Q=f+26344|0;R=f+26352|0;M=0;j:while(1){if(M>>>0>=h>>>0)break d;z=M<<1;A=g+28272+(M*40|0)+4|0;B=g+28272+(M*40|0)+27|0;C=g+27952+(M*160|0)+16|0;D=g+27952+(M*160|0)+18|0;E=g+28272+(M*40|0)+11|0;F=g+27952+(M*160|0)+108|0;G=g+27952+(M*160|0)+110|0;I=g+27952+(M*160|0)+40|0;J=12288<<z;K=g+27952+(M*160|0)+42|0;y=0;while(1){if(y>>>0>=2)break;if(!(c[ia>>2]&4096<<y+z)){U=y<<4|12;c[g+28352+(M*80|0)+(U<<1)>>2]=0;c[g+28352+(M*80|0)+(U<<1)+4>>2]=0;c[g+28352+(M*80|0)+(U<<1)+16>>2]=0;c[g+28352+(M*80|0)+(U<<1)+20>>2]=0;T=g+27952+(M*160|0)+(U<<2)|0;U=g+27952+(M*160|0)+(U<<2)+32|0;c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;c[T+12>>2]=0;c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;c[U+12>>2]=0}else{x=y<<3;L=y<<4|12;p=a[g+28272+(M*40|0)+L>>0]|0;q=p<<24>>24;do if(!y){if((a[A>>0]|0)!=p<<24>>24){ca=187;break}k=b[D>>1]|0;j=b[C>>1]|0}else{if((a[B>>0]|0)!=p<<24>>24){ca=187;break}k=b[G>>1]|0;j=b[F>>1]|0}while(0);do if((ca|0)==187){ca=0;l=a[88656+x>>0]|0;n=l&255;r=n+-8|0;s=a[g+28272+(M*40|0)+r>>0]|0;t=n+-1|0;u=a[g+28272+(M*40|0)+t>>0]|0;v=g+27952+(M*160|0)+(t<<2)|0;w=g+27952+(M*160|0)+(r<<2)|0;h=n+-4|0;i=a[g+28272+(M*40|0)+h>>0]|0;k=i<<24>>24;i=i<<24>>24==-2;do if((n&7|0)==4&((l&255)>19&(i&(c[W>>2]|0)!=0))){if((a[E>>0]|0)==-2){ca=196;break}o=c[(c[N>>2]|0)+48>>2]|0;c[I>>2]=0;j=(c[O>>2]&128|0)==0;if(!(c[V>>2]|0)){if(j){ca=196;break}U=c[X>>2]|0;i=U+(c[P>>2]|0)|0;h=(c[fa>>2]<<1&2)+(n>>>5)|0;U=o+((H(h>>>2,U)|0)+i<<2)|0;if(!(c[U>>2]&J)){l=I;k=-1;break}k=c[N>>2]|0;U=c[k+36+(M<<2)>>2]|0;l=(c[(c[Q>>2]|0)+(i<<2)>>2]|0)+3+(H(c[R>>2]|0,h)|0)|0;b[I>>1]=b[U+(l<<2)>>1]|0;b[K>>1]=b[U+(l<<2)+2>>1]<<1;l=I;k=a[(c[k+68+(M<<2)>>2]|0)+((h&14)+(i<<2|1))>>0]>>1;break}else{if(!j){ca=196;break}i=c[g+21720+(((l&255)>35&1)<<2)>>2]|0;h=n>>>2;if(!(c[o+(i<<2)>>2]&J)){l=I;k=-1;break}k=c[N>>2]|0;U=c[k+36+(M<<2)>>2]|0;l=(c[(c[Q>>2]|0)+(i<<2)>>2]|0)+3+(H(c[R>>2]|0,h&3)|0)|0;b[I>>1]=b[U+(l<<2)>>1]|0;b[K>>1]=(b[U+(l<<2)+2>>1]|0)/2|0;l=I;k=a[(c[k+68+(M<<2)>>2]|0)+(h&2|i<<2|1)>>0]<<1;break}}else ca=196;while(0);do if((ca|0)==196){ca=0;if(i){k=n+-9|0;l=g+27952+(M*160|0)+(k<<2)|0;k=a[g+28272+(M*40|0)+k>>0]|0;break}else{l=g+27952+(M*160|0)+(h<<2)|0;break}}while(0);j=s<<24>>24==p<<24>>24;i=u<<24>>24==p<<24>>24;h=(i&1)+(j&1)+((k|0)==(q|0)&1)|0;if(h>>>0>1){j=oM(b[v>>1]|0,b[w>>1]|0,b[l>>1]|0)|0;k=oM(b[g+27952+(M*160|0)+(t<<2)+2>>1]|0,b[g+27952+(M*160|0)+(r<<2)+2>>1]|0,b[l+2>>1]|0)|0;break}if((h|0)!=1){j=b[v>>1]|0;if(u<<24>>24!=-2&(s<<24>>24==-2&(k|0)==-2)){k=b[g+27952+(M*160|0)+(t<<2)+2>>1]|0;break}else{j=oM(j,b[w>>1]|0,b[l>>1]|0)|0;k=oM(b[g+27952+(M*160|0)+(t<<2)+2>>1]|0,b[g+27952+(M*160|0)+(r<<2)+2>>1]|0,b[l+2>>1]|0)|0;break}}if(i){k=b[g+27952+(M*160|0)+(t<<2)+2>>1]|0;j=b[v>>1]|0;break}if(j){k=b[g+27952+(M*160|0)+(r<<2)+2>>1]|0;j=b[w>>1]|0;break}else{k=b[l+2>>1]|0;j=b[l>>1]|0;break}}while(0);U=d[88656+x>>0]|0;h=U+-1|0;U=U+-8|0;i=(d[g+28352+(M*80|0)+(U<<1)+1>>0]|0)+(d[g+28352+(M*80|0)+(h<<1)+1>>0]|0)|0;h=wl(g,40,(d[g+28352+(M*80|0)+(U<<1)>>0]|0)+(d[g+28352+(M*80|0)+(h<<1)>>0]|0)|0,Z)|0;i=wl(g,47,i,_)|0;if((h|0)==-2147483648|(i|0)==-2147483648)break j;U=(c[_>>2]<<8&65280|c[Z>>2]&255)*65537|0;c[g+28352+(M*80|0)+(L<<1)>>2]=U;c[g+28352+(M*80|0)+(L<<1)+4>>2]=U;c[g+28352+(M*80|0)+(L<<1)+16>>2]=U;c[g+28352+(M*80|0)+(L<<1)+20>>2]=U;U=i+k<<16|h+j&65535;c[g+27952+(M*160|0)+(L<<2)>>2]=U;c[g+27952+(M*160|0)+(L<<2)+4>>2]=U;c[g+27952+(M*160|0)+(L<<2)+8>>2]=U;c[g+27952+(M*160|0)+(L<<2)+12>>2]=U;c[g+27952+(M*160|0)+(L<<2)+32>>2]=U;c[g+27952+(M*160|0)+(L<<2)+36>>2]=U;c[g+27952+(M*160|0)+(L<<2)+40>>2]=U;c[g+27952+(M*160|0)+(L<<2)+44>>2]=U}y=y+1|0}M=M+1|0;h=c[S>>2]|0}h=-1094995529;break a}n=0;k:while(1){h=c[S>>2]|0;if(n>>>0>=h>>>0)break;k=n<<1;l=g+23404+(n<<2)|0;j=0;while(1){if(j>>>0>=2)break;if(!(o&4096<<j+k))h=-1;else{i=c[l>>2]<<c[p>>2];if(i>>>0>1){h=Or(g,n,j<<2)|0;if(h>>>0>=i>>>0){ca=223;break k}}else h=0;h=h*257&65535}U=(j<<1)+12+(g+28272+(n*40|0))|0;b[U>>1]=h;b[U+8>>1]=h;b[U+16>>1]=h;b[U+24>>1]=h;j=j+1|0}n=n+1|0}if((ca|0)==223){g=c[f+4>>2]|0;c[q>>2]=h;c[q+4>>2]=i;Xw(g,16,201342,q);h=-1;break a}N=f+24312|0;O=g+21740|0;P=g+21720|0;Q=f+26344|0;R=f+26352|0;M=0;l:while(1){if(M>>>0>=h>>>0)break d;z=M<<1;A=g+28272+(M*40|0)+11|0;B=g+28272+(M*40|0)+8|0;C=g+27952+(M*160|0)+44|0;D=g+27952+(M*160|0)+46|0;E=g+27952+(M*160|0)+20|0;F=g+28272+(M*40|0)+5|0;G=g+27952+(M*160|0)+32|0;I=g+27952+(M*160|0)+40|0;J=12288<<z;K=g+27952+(M*160|0)+42|0;y=0;while(1){if(y>>>0>=2)break;if(!(c[ia>>2]&4096<<y+z)){U=(y<<1)+12|0;c[g+28352+(M*80|0)+(U<<1)>>2]=0;c[g+28352+(M*80|0)+(U<<1)+16>>2]=0;c[g+28352+(M*80|0)+(U<<1)+32>>2]=0;c[g+28352+(M*80|0)+(U<<1)+48>>2]=0;c[g+27952+(M*160|0)+(U<<2)>>2]=0;c[g+27952+(M*160|0)+(U<<2)+4>>2]=0;c[g+27952+(M*160|0)+(U<<2)+32>>2]=0;c[g+27952+(M*160|0)+(U<<2)+36>>2]=0;c[g+27952+(M*160|0)+(U<<2)+64>>2]=0;c[g+27952+(M*160|0)+(U<<2)+68>>2]=0;c[g+27952+(M*160|0)+(U<<2)+96>>2]=0;c[g+27952+(M*160|0)+(U<<2)+100>>2]=0}else{x=y<<2;L=(y<<1)+12|0;p=a[g+28272+(M*40|0)+L>>0]|0;v=p<<24>>24;do if(!y)if((a[A>>0]|0)==p<<24>>24){k=b[D>>1]|0;j=b[C>>1]|0}else ca=238;else{h=a[B>>0]|0;if(h<<24>>24==-2){i=E;h=a[F>>0]|0}else i=G;if(h<<24>>24!=p<<24>>24){ca=238;break}k=b[i+2>>1]|0;j=b[i>>1]|0}while(0);do if((ca|0)==238){ca=0;h=a[88656+x>>0]|0;n=h&255;q=n+-8|0;r=a[g+28272+(M*40|0)+q>>0]|0;s=n+-1|0;t=a[g+28272+(M*40|0)+s>>0]|0;u=g+27952+(M*160|0)+(s<<2)|0;w=g+27952+(M*160|0)+(q<<2)|0;i=n+-6|0;j=a[g+28272+(M*40|0)+i>>0]|0;k=j<<24>>24;j=j<<24>>24==-2;do if((n&7|0)==4&((h&255)>19&(j&(c[W>>2]|0)!=0))){if((a[A>>0]|0)==-2){ca=247;break}o=c[(c[N>>2]|0)+48>>2]|0;c[I>>2]=0;l=(c[O>>2]&128|0)==0;if(!(c[V>>2]|0)){if(l){ca=247;break}U=c[X>>2]|0;i=U+(c[P>>2]|0)|0;h=(c[fa>>2]<<1&2)+(n>>>5)|0;U=o+((H(h>>>2,U)|0)+i<<2)|0;if(!(c[U>>2]&J)){l=I;k=-1;break}k=c[N>>2]|0;U=c[k+36+(M<<2)>>2]|0;l=(c[(c[Q>>2]|0)+(i<<2)>>2]|0)+3+(H(c[R>>2]|0,h)|0)|0;b[I>>1]=b[U+(l<<2)>>1]|0;b[K>>1]=b[U+(l<<2)+2>>1]<<1;l=I;k=a[(c[k+68+(M<<2)>>2]|0)+((h&14)+(i<<2|1))>>0]>>1;break}else{if(!l){ca=247;break}i=c[g+21720+(((h&255)>35&1)<<2)>>2]|0;h=n>>>2;if(!(c[o+(i<<2)>>2]&J)){l=I;k=-1;break}k=c[N>>2]|0;U=c[k+36+(M<<2)>>2]|0;l=(c[(c[Q>>2]|0)+(i<<2)>>2]|0)+3+(H(c[R>>2]|0,h&3)|0)|0;b[I>>1]=b[U+(l<<2)>>1]|0;b[K>>1]=(b[U+(l<<2)+2>>1]|0)/2|0;l=I;k=a[(c[k+68+(M<<2)>>2]|0)+(h&2|i<<2|1)>>0]<<1;break}}else ca=247;while(0);do if((ca|0)==247){ca=0;if(j){k=n+-9|0;l=g+27952+(M*160|0)+(k<<2)|0;k=a[g+28272+(M*40|0)+k>>0]|0;break}else{l=g+27952+(M*160|0)+(i<<2)|0;break}}while(0);j=r<<24>>24==p<<24>>24;i=t<<24>>24==p<<24>>24;h=(i&1)+(j&1)+((k|0)==(v|0)&1)|0;if(h>>>0>1){j=oM(b[u>>1]|0,b[w>>1]|0,b[l>>1]|0)|0;k=oM(b[g+27952+(M*160|0)+(s<<2)+2>>1]|0,b[g+27952+(M*160|0)+(q<<2)+2>>1]|0,b[l+2>>1]|0)|0;break}if((h|0)!=1){j=b[u>>1]|0;if(t<<24>>24!=-2&(r<<24>>24==-2&(k|0)==-2)){k=b[g+27952+(M*160|0)+(s<<2)+2>>1]|0;break}else{j=oM(j,b[w>>1]|0,b[l>>1]|0)|0;k=oM(b[g+27952+(M*160|0)+(s<<2)+2>>1]|0,b[g+27952+(M*160|0)+(q<<2)+2>>1]|0,b[l+2>>1]|0)|0;break}}if(i){k=b[g+27952+(M*160|0)+(s<<2)+2>>1]|0;j=b[u>>1]|0;break}if(j){k=b[g+27952+(M*160|0)+(q<<2)+2>>1]|0;j=b[w>>1]|0;break}else{k=b[l+2>>1]|0;j=b[l>>1]|0;break}}while(0);U=d[88656+x>>0]|0;h=U+-1|0;U=U+-8|0;i=(d[g+28352+(M*80|0)+(U<<1)+1>>0]|0)+(d[g+28352+(M*80|0)+(h<<1)+1>>0]|0)|0;h=wl(g,40,(d[g+28352+(M*80|0)+(U<<1)>>0]|0)+(d[g+28352+(M*80|0)+(h<<1)>>0]|0)|0,Z)|0;i=wl(g,47,i,_)|0;if((h|0)==-2147483648|(i|0)==-2147483648)break l;U=(c[_>>2]<<8&65280|c[Z>>2]&255)*65537|0;c[g+28352+(M*80|0)+(L<<1)>>2]=U;c[g+28352+(M*80|0)+(L<<1)+16>>2]=U;c[g+28352+(M*80|0)+(L<<1)+32>>2]=U;c[g+28352+(M*80|0)+(L<<1)+48>>2]=U;U=i+k<<16|h+j&65535;c[g+27952+(M*160|0)+(L<<2)>>2]=U;c[g+27952+(M*160|0)+(L<<2)+4>>2]=U;c[g+27952+(M*160|0)+(L<<2)+32>>2]=U;c[g+27952+(M*160|0)+(L<<2)+36>>2]=U;c[g+27952+(M*160|0)+(L<<2)+64>>2]=U;c[g+27952+(M*160|0)+(L<<2)+68>>2]=U;c[g+27952+(M*160|0)+(L<<2)+96>>2]=U;c[g+27952+(M*160|0)+(L<<2)+100>>2]=U}y=y+1|0}M=M+1|0;h=c[S>>2]|0}h=-1094995529;break a}else{if(!(h&1)){Z=g+21660|0;_=br(c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0,c[Z>>2]|0,0)|0;c[Z>>2]=_;if((_|0)<0){h=-1;break a}}else{m:do if((m|0)!=0?(Gu(g+32856|0,(c[g+21840>>2]|0)+399+(g+32904)|0)|0)!=0:0){c[ia>>2]=h|16777216;h=0;while(1){if(h>>>0>=16)break m;_=d[88656+h>>0]|0;Z=a[_+-1+(g+21664)>>0]|0;X=a[_+-8+(g+21664)>>0]|0;Z=(Z|0)>(X|0)?X:Z;_=g+21664+_|0;Z=(FE(g,(Z|0)<0?2:Z)|0)*257&65535;b[_>>1]=Z;b[_+8>>1]=Z;h=h+4|0}}else ca=46;while(0);n:do if((ca|0)==46){h=0;while(1){if((h|0)==16)break n;_=d[88656+h>>0]|0;Z=a[_+-1+(g+21664)>>0]|0;X=a[_+-8+(g+21664)>>0]|0;Z=(Z|0)>(X|0)?X:Z;Z=(FE(g,(Z|0)<0?2:Z)|0)&255;a[g+21664+_>>0]=Z;h=h+1|0}}while(0);_=(c[g+21704>>2]|0)+(c[(c[f+26348>>2]|0)+(c[la>>2]<<2)>>2]|0)|0;c[_>>2]=c[g+21700>>2];a[_+4>>0]=a[g+21695>>0]|0;a[_+5>>0]=a[g+21687>>0]|0;a[_+6>>0]=a[g+21679>>0]|0;if((kn(g+21664|0,c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0)|0)<0){h=-1;break a}}if(!ba){c[g+21656>>2]=6;break}h=yu(f,g)|0;a[(c[f+26380>>2]|0)+ma>>0]=h;h=br(c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0,h,1)|0;if((h|0)<0){h=-1;break a}c[g+21656>>2]=h}while(0);if(c[ia>>2]&120|0){a[(c[f+26380>>2]|0)+ma>>0]=0;k=c[ia>>2]|0;h=c[f+26352>>2]|0;i=(H(h<<2,c[fa>>2]|0)|0)+(c[ea>>2]<<2)|0;l=c[la>>2]<<2;if(!(k&12288)){_=(c[f+24384>>2]|0)+l|0;b[_>>1]=-1;b[_+2>>1]=-1}else{j=(c[f+24352>>2]|0)+(i<<2)|0;Z=g+28e3|0;_=c[Z+4>>2]|0;W=j;c[W>>2]=c[Z>>2];c[W+4>>2]=_;W=g+28008|0;_=c[W+4>>2]|0;Z=j+8|0;c[Z>>2]=c[W>>2];c[Z+4>>2]=_;Z=g+28032|0;_=c[Z+4>>2]|0;W=j+(h<<2)|0;X=W;c[X>>2]=c[Z>>2];c[X+4>>2]=_;X=g+28040|0;_=c[X+4>>2]|0;W=W+8|0;c[W>>2]=c[X>>2];c[W+4>>2]=_;W=g+28064|0;_=c[W+4>>2]|0;X=j+(h<<1<<2)|0;Z=X;c[Z>>2]=c[W>>2];c[Z+4>>2]=_;Z=g+28072|0;_=c[Z+4>>2]|0;X=X+8|0;c[X>>2]=c[Z>>2];c[X+4>>2]=_;X=g+28096|0;_=c[X+4>>2]|0;j=j+(h*3<<2)|0;Z=j;c[Z>>2]=c[X>>2];c[Z+4>>2]=_;Z=g+28104|0;_=c[Z+4>>2]|0;j=j+8|0;c[j>>2]=c[Z>>2];c[j+4>>2]=_;j=(c[g+32848>>2]|0)+(c[(c[f+26348>>2]|0)+(c[la>>2]<<2)>>2]<<1)|0;if(!(k&2048)){X=g+28424|0;Z=c[X+4>>2]|0;_=j;c[_>>2]=c[X>>2];c[_+4>>2]=Z;_=j+6|0;b[_+6>>1]=b[g+28382>>1]|0;b[_+4>>1]=b[g+28398>>1]|0;b[_+2>>1]=b[g+28414>>1]|0}else{c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0}_=(c[f+24384>>2]|0)+l|0;a[_>>0]=a[g+28284>>0]|0;a[_+1>>0]=a[g+28286>>0]|0;a[_+2>>0]=a[g+28300>>0]|0;a[_+3>>0]=a[g+28302>>0]|0}if(k&49152|0){Z=(c[f+24356>>2]|0)+(i<<2)|0;W=g+28160|0;_=c[W+4>>2]|0;V=Z;c[V>>2]=c[W>>2];c[V+4>>2]=_;V=g+28168|0;_=c[V+4>>2]|0;W=Z+8|0;c[W>>2]=c[V>>2];c[W+4>>2]=_;W=g+28192|0;_=c[W+4>>2]|0;V=Z+(h<<2)|0;X=V;c[X>>2]=c[W>>2];c[X+4>>2]=_;X=g+28200|0;_=c[X+4>>2]|0;V=V+8|0;c[V>>2]=c[X>>2];c[V+4>>2]=_;V=g+28224|0;_=c[V+4>>2]|0;X=Z+(h<<1<<2)|0;W=X;c[W>>2]=c[V>>2];c[W+4>>2]=_;W=g+28232|0;_=c[W+4>>2]|0;X=X+8|0;c[X>>2]=c[W>>2];c[X+4>>2]=_;X=g+28256|0;_=c[X+4>>2]|0;h=Z+(h*3<<2)|0;Z=h;c[Z>>2]=c[X>>2];c[Z+4>>2]=_;Z=g+28264|0;_=c[Z+4>>2]|0;h=h+8|0;c[h>>2]=c[Z>>2];c[h+4>>2]=_;h=(c[g+32852>>2]|0)+(c[(c[f+26348>>2]|0)+(c[la>>2]<<2)>>2]<<1)|0;if(!(k&2048)){X=g+28504|0;Z=c[X+4>>2]|0;_=h;c[_>>2]=c[X>>2];c[_+4>>2]=Z;_=h+6|0;b[_+6>>1]=b[g+28462>>1]|0;b[_+4>>1]=b[g+28478>>1]|0;b[_+2>>1]=b[g+28494>>1]|0}else{c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0}_=(c[f+24388>>2]|0)+l|0;a[_>>0]=a[g+28324>>0]|0;a[_+1>>0]=a[g+28326>>0]|0;a[_+2>>0]=a[g+28340>>0]|0;a[_+3>>0]=a[g+28342>>0]|0}if(!((k&64|0)==0|(c[$>>2]|0)!=3)){$=(c[f+26392>>2]|0)+(c[la>>2]<<2)|0;a[$+1>>0]=(e[g+28554>>1]|0)>>>1;a[$+2>>0]=(e[g+28556>>1]|0)>>>1;a[$+3>>0]=(e[g+28558>>1]|0)>>>1}}if(!(c[ia>>2]&2)){h=Jw(g)|0;if(ba)u=(Ox(g)|0)<<4|h;else u=h}else if(Y>>>0>15&(ba^1)){Xw(c[f+4>>2]|0,16,201362,aa);h=-1094995529;break}else u=Y;c[g+21856>>2]=u;b[(c[f+26376>>2]|0)+(ma<<1)>>1]=u;t=(u&15|0)==0;if(!((m|0)==0|t)?(c[ia>>2]&7|0)==0:0){ba=(Gu(g+32856|0,(c[g+21840>>2]|0)+399+(g+32904)|0)|0)<<24;c[ia>>2]=c[ia>>2]|ba}k=c[ia>>2]|0;do if(!((k&16777216|0)==0?1:(c[(c[ha>>2]|0)+12>>2]|0)!=3))if((c[f+29696>>2]|0)>>>0<151){i=(k&7|0)==0;j=i?0:64;h=0;while(1){if((h|0)==2)break;ba=c[g+21740+(h<<2)>>2]|0;if((ba|0)!=0&(ba&16777216|0)==0){ba=h<<4;a[ba+99+(g+27824)>>0]=j;a[ba+91+(g+27824)>>0]=j;a[ba+59+(g+27824)>>0]=j;a[ba+51+(g+27824)>>0]=j;a[ba+19+(g+27824)>>0]=j;a[(ba|11)+(g+27824)>>0]=j}h=h+1|0}ba=c[g+21732>>2]|0;h=i?0:1077952576;if(!((ba|0)!=0&(ba&16777216|0)==0))break;c[g+27828>>2]=h;c[g+27868>>2]=h;c[g+27908>>2]=h;break}else{h=0;while(1){if((h|0)==2)break;i=c[g+21740+(h<<2)>>2]|0;if((i|0)!=0&(i&16777216|0)==0){aa=i<<4&64;ba=h<<4;a[ba+99+(g+27824)>>0]=aa;a[ba+91+(g+27824)>>0]=aa;a[ba+59+(g+27824)>>0]=aa;a[ba+51+(g+27824)>>0]=aa;a[ba+19+(g+27824)>>0]=aa;a[(ba|11)+(g+27824)>>0]=aa}h=h+1|0}ba=c[g+21732>>2]|0;h=(ba&4|0)==0?0:1077952576;if(!((ba|0)!=0&(ba&16777216|0)==0))break;c[g+27828>>2]=h;c[g+27868>>2]=h;c[g+27908>>2]=h;break}while(0);c[(c[f+24364>>2]|0)+(ma<<2)>>2]=k;if((u|0)==0?(c[ia>>2]&2|0)==0:0){c[g+27836>>2]=0;c[g+27844>>2]=0;c[g+27852>>2]=0;c[g+27860>>2]=0;c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;c[g+864>>2]=0;h=g+848|0}else ca=307;o:do if((ca|0)==307){v=g+32856|0;k=g+864|0;if(!(Gu(v,((c[k>>2]|0)==0?60:61)+(g+32904)|0)|0)){c[k>>2]=0;j=g+848|0;h=j;j=c[j>>2]|0}else{l=(c[da+1184>>2]|0)*6|0;m=l+3|0;j=m<<1;h=62;i=1;while(1){if(!(Gu(v,g+32904+h|0)|0))break;if((i|0)>=(j|0)){ca=439;break}h=63;i=i+1|0}if((ca|0)==439){h=c[f+4>>2]|0;g=c[fa>>2]|0;c[ga>>2]=c[ea>>2];c[ga+4>>2]=g;Xw(h,16,201375,ga);h=-1;break a}h=(i+1|0)>>>1;i=(i&1|0)==0?0-h|0:h;c[k>>2]=i;h=g+848|0;i=(c[h>>2]|0)+i|0;if(i>>>0>m>>>0){fa=(i|0)<0;j=l+4|0;ga=i-j|0;i=i+j|0;j=fa?i:ga;i=fa?i:ga}else j=i;c[h>>2]=i;ga=c[ja>>2]|0;c[g+852>>2]=d[ga+548+j>>0];c[g+856>>2]=d[ga+636+j>>0]}i=c[ia>>2]|0;ga=(i&128|0)==0;r=(j|0)!=0;s=ga?(r?f+26412|0:f+26700|0):r?f+26556|0:f+26844|0;r=ga?(r?f+26428|0:f+26716|0):r?f+26572|0:f+26860|0;p:do if(!(i&2)){q=(i&7|0)==0?3:0;p=(i&16777216|0)==0;o=0;while(1){if((o|0)==4)break p;q:do if(!(1<<o&u)){ga=(d[88656+(o<<2)>>0]|0)+(g+27824)|0;b[ga>>1]=0;b[ga+8>>1]=0}else{if(!p){i=o<<2;k=g+28560+(o<<6<<ka<<1)|0;l=(c[(c[ja>>2]|0)+173812+(q<<2)>>2]|0)+(j<<8)|0;do if((c[(c[ha>>2]|0)+12>>2]|0)==3){m=d[88656+i>>0]|0;ga=(a[m+-1+(g+27824)>>0]|0)!=0&1;if(Gu(v,(((a[m+-8+(g+27824)>>0]|0)==0?ga:ga|2)|1012)+(g+32904)|0)|0)break;ga=g+27824+m|0;b[ga>>1]=0;b[ga+8>>1]=0;break q}while(0);Id(f,g,k,5,i,r,l,64);break}k=(c[(c[ja>>2]|0)+173788+(q<<2)>>2]|0)+(j<<6)|0;l=o<<2;i=0;while(1){if((i|0)==4)break q;m=i+l|0;n=d[88656+m>>0]|0;ga=(a[n+-1+(g+27824)>>0]|0)!=0&1;if(!(Gu(v,((a[n+-8+(g+27824)>>0]|0)==0?ga:ga|2)+93+(g+32904)|0)|0))a[g+27824+n>>0]=0;else Id(f,g,g+28560+(m<<4<<ka<<1)|0,2,m,s,k,16);i=i+1|0}}while(0);o=o+1|0}}else{i=g+31632|0;k=i;l=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));if(!(Gu(v,((c[g+21860>>2]|0)>>>7&2|(c[g+21864>>2]|0)>>>8&1)+85+(g+32904)|0)|0))a[g+27824>>0]=0;else ge(f,g,i,0,48,s,16);if(t){c[g+27836>>2]=0;c[g+27844>>2]=0;c[g+27852>>2]=0;c[g+27860>>2]=0;break}j=(c[(c[ja>>2]|0)+173788>>2]|0)+(j<<6)|0;k=s+1|0;i=0;while(1){if((i|0)==16)break p;l=d[88656+i>>0]|0;ga=(a[l+-1+(g+27824)>>0]|0)!=0&1;if(!(Gu(v,((a[l+-8+(g+27824)>>0]|0)==0?ga:ga|2)+89+(g+32904)|0)|0))a[g+27824+l>>0]=0;else Id(f,g,g+28560+(i<<4<<ka<<1)|0,1,i,k,j,15);i=i+1|0}}while(0);j=c[(c[ha>>2]|0)+12>>2]|0;if((j|0)!=3){i=(u&48|0)!=0;if((j|0)!=2){r:do if(i){j=g+21864|0;k=g+21860|0;i=0;while(1){if((i|0)==2)break r;l=i+49|0;ga=64<<i;ha=(c[j>>2]&ga|0)!=0&1;if(!(Gu(v,((c[k>>2]&ga|0)==0?ha:ha|2)+97+(g+32904)|0)|0))a[(d[88656+l>>0]|0)+(g+27824)>>0]=0;else ge(f,g,g+28560+((i<<8)+256<<ka<<1)|0,3,l,171012,4);i=i+1|0}}while(0);if(!(u&32)){c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;break}m=s+1|0;i=0;while(1){if((i|0)==2)break o;n=i+1|0;o=(c[(c[ja>>2]|0)+173788+(((c[ia>>2]&7|0)==0?3:0)+n<<2)>>2]|0)+(c[g+852+(i<<2)>>2]<<6)|0;j=(i<<4)+16|0;i=0;while(1){if((i|0)==4)break;k=j+i|0;l=d[88656+k>>0]|0;ha=(a[l+-1+(g+27824)>>0]|0)!=0&1;if(!(Gu(v,((a[l+-8+(g+27824)>>0]|0)==0?ha:ha|2)+101+(g+32904)|0)|0))a[g+27824+l>>0]=0;else Id(f,g,g+28560+(k<<4<<ka<<1)|0,4,k,m,o,15);i=i+1|0}i=n}}s:do if(i){j=g+21864|0;k=g+21860|0;i=0;while(1){if((i|0)==2)break s;l=i+49|0;ga=64<<i;ha=(c[j>>2]&ga|0)!=0&1;if(!(Gu(v,((c[k>>2]&ga|0)==0?ha:ha|2)+97+(g+32904)|0)|0))a[(d[88656+l>>0]|0)+(g+27824)>>0]=0;else ne(f,g,g+28560+((i<<8)+256<<ka<<1)|0,l);i=i+1|0}}while(0);if(!(u&32)){c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;break}u=16<<ka;q=s+1|0;r=u<<2;i=0;while(1){if((i|0)==2)break o;s=(i<<4)+16|0;t=i+1|0;m=(c[(c[ja>>2]|0)+173788+(((c[ia>>2]&7|0)==0?3:0)+t<<2)>>2]|0)+(c[g+852+(i<<2)>>2]<<6)|0;i=g+28560+(s<<4<<ka<<1)|0;j=0;while(1){if((j|0)==2)break;n=(j<<3)+s|0;k=0;l=i;while(1){if((k|0)==4)break;o=n+k|0;p=d[88656+o>>0]|0;ha=(a[p+-1+(g+27824)>>0]|0)!=0&1;if(!(Gu(v,((a[p+-8+(g+27824)>>0]|0)==0?ha:ha|2)+101+(g+32904)|0)|0))a[g+27824+p>>0]=0;else Id(f,g,l,4,o,q,m,15);k=k+1|0;l=l+(u<<1)|0}i=i+(r<<1)|0;j=j+1|0}i=t}}i=c[ia>>2]|0;q=c[g+852>>2]|0;t:do if(!(i&2)){p=(i&7|0)==0?4:1;o=(i&16777216|0)==0;n=0;while(1){if((n|0)==4)break t;u:do if(!(1<<n&u)){ha=(d[88656+((n<<2)+16)>>0]|0)+(g+27824)|0;b[ha>>1]=0;b[ha+8>>1]=0}else{if(!o){i=(n<<2)+16|0;j=c[(c[ja>>2]|0)+173812+(p<<2)>>2]|0;k=d[88656+i>>0]|0;ha=(a[k+-1+(g+27824)>>0]|0)!=0&1;if(!(Gu(v,(((a[k+-8+(g+27824)>>0]|0)==0?ha:ha|2)|1016)+(g+32904)|0)|0)){ha=g+27824+k|0;b[ha>>1]=0;b[ha+8>>1]=0;break}else{Id(f,g,g+28560+(i<<4<<ka<<1)|0,9,i,r,j+(q<<8)|0,64);break}}j=(c[(c[ja>>2]|0)+173788+(p<<2)>>2]|0)+(q<<6)|0;k=(n<<2)+16|0;i=0;while(1){if((i|0)==4)break u;l=k+i|0;m=d[88656+l>>0]|0;ha=(a[m+-1+(g+27824)>>0]|0)!=0&1;if(!(Gu(v,(((a[m+-8+(g+27824)>>0]|0)==0?ha:ha|2)|468)+(g+32904)|0)|0))a[g+27824+m>>0]=0;else Id(f,g,g+28560+(l<<4<<ka<<1)|0,8,l,s,j,16);i=i+1|0}}while(0);n=n+1|0}}else{i=g+31696|0;k=i;l=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));if(!(Gu(v,((c[g+21864>>2]|0)>>>9&1|(c[g+21860>>2]|0)>>>8&2|460)+(g+32904)|0)|0))a[g+27864>>0]=0;else ge(f,g,i,6,49,s,16);if(t){c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;break}j=(c[(c[ja>>2]|0)+173792>>2]|0)+(q<<6)|0;k=s+1|0;i=0;while(1){if((i|0)==16)break t;l=i+16|0;m=d[88656+l>>0]|0;ha=(a[m+-1+(g+27824)>>0]|0)!=0&1;if(!(Gu(v,(((a[m+-8+(g+27824)>>0]|0)==0?ha:ha|2)|464)+(g+32904)|0)|0))a[g+27824+m>>0]=0;else Id(f,g,g+28560+(l<<4<<ka<<1)|0,7,l,k,j,15);i=i+1|0}}while(0);i=c[ia>>2]|0;q=c[g+856>>2]|0;if(i&2|0){i=g+31760|0;k=i;l=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));if(!(Gu(v,((c[g+21864>>2]|0)>>>10&1|(c[g+21860>>2]|0)>>>9&2|472)+(g+32904)|0)|0))a[g+27904>>0]=0;else ge(f,g,i,10,50,s,16);if(t){c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;break}m=(c[(c[ja>>2]|0)+173796>>2]|0)+(q<<6)|0;j=s+1|0;i=0;while(1){if((i|0)==16)break o;k=i+32|0;l=d[88656+k>>0]|0;ja=(a[l+-1+(g+27824)>>0]|0)!=0&1;if(!(Gu(v,(((a[l+-8+(g+27824)>>0]|0)==0?ja:ja|2)|476)+(g+32904)|0)|0))a[g+27824+l>>0]=0;else Id(f,g,g+28560+(k<<4<<ka<<1)|0,11,k,j,m,15);i=i+1|0}}p=(i&7|0)==0?5:2;o=(i&16777216|0)==0;n=0;while(1){if((n|0)==4)break o;v:do if(!(1<<n&u)){ia=(d[88656+((n<<2)+32)>>0]|0)+(g+27824)|0;b[ia>>1]=0;b[ia+8>>1]=0}else{if(!o){i=(n<<2)+32|0;j=c[(c[ja>>2]|0)+173812+(p<<2)>>2]|0;k=d[88656+i>>0]|0;ia=(a[k+-1+(g+27824)>>0]|0)!=0&1;if(!(Gu(v,(((a[k+-8+(g+27824)>>0]|0)==0?ia:ia|2)|1020)+(g+32904)|0)|0)){ia=g+27824+k|0;b[ia>>1]=0;b[ia+8>>1]=0;break}else{Id(f,g,g+28560+(i<<4<<ka<<1)|0,13,i,r,j+(q<<8)|0,64);break}}j=(c[(c[ja>>2]|0)+173788+(p<<2)>>2]|0)+(q<<6)|0;k=(n<<2)+32|0;i=0;while(1){if((i|0)==4)break v;l=k+i|0;m=d[88656+l>>0]|0;ia=(a[m+-1+(g+27824)>>0]|0)!=0&1;if(!(Gu(v,(((a[m+-8+(g+27824)>>0]|0)==0?ia:ia|2)|480)+(g+32904)|0)|0))a[g+27824+m>>0]=0;else Id(f,g,g+28560+(l<<4<<ka<<1)|0,12,l,s,j,16);i=i+1|0}}while(0);n=n+1|0}}while(0);a[(c[f+24340>>2]|0)+ma>>0]=c[h>>2];h=c[la>>2]|0;i=c[f+25956>>2]|0;c[i+(h*48|0)>>2]=c[g+27836>>2];c[i+(h*48|0)+4>>2]=c[g+27844>>2];c[i+(h*48|0)+8>>2]=c[g+27852>>2];c[i+(h*48|0)+12>>2]=c[g+27860>>2];c[i+(h*48|0)+16>>2]=c[g+27876>>2];c[i+(h*48|0)+20>>2]=c[g+27884>>2];c[i+(h*48|0)+32>>2]=c[g+27916>>2];c[i+(h*48|0)+36>>2]=c[g+27924>>2];if(!(c[f+25668>>2]|0)){c[i+(h*48|0)+24>>2]=c[g+27892>>2];c[i+(h*48|0)+28>>2]=c[g+27900>>2];c[i+(h*48|0)+40>>2]=c[g+27932>>2];c[i+(h*48|0)+44>>2]=c[g+27940>>2];h=0}else h=0}while(0);Mb=na;return h|0}function rc(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;ma=Mb;Mb=Mb+208|0;ea=ma+184|0;Z=ma+176|0;aa=ma+160|0;$=ma+144|0;s=ma+136|0;r=ma+128|0;q=ma+120|0;t=ma+112|0;o=ma+96|0;p=ma+80|0;n=ma+72|0;k=ma+56|0;i=ma+48|0;ga=ma+196|0;T=ma+32|0;U=ma;ja=f+28196|0;m=c[(c[ja>>2]|0)+64>>2]|0;fa=f+28200|0;_=((c[(c[fa>>2]|0)+12>>2]|0)+-1|0)>>>0<2;ia=c[f+25652>>2]|0;ca=g+21788|0;da=g+21792|0;X=f+27e3|0;la=(H(c[X>>2]|0,c[da>>2]|0)|0)+(c[ca>>2]|0)|0;ka=g+21796|0;c[ka>>2]=la;l=g+840|0;a:do if((c[l>>2]|0)!=1){j=g+21816|0;h=c[j>>2]|0;do if((h|0)==-1){h=LG(g+4|0)|0;if(h>>>0>(c[f+27004>>2]|0)>>>0){g=c[f+4>>2]|0;c[i>>2]=h;Xw(g,16,196384,i);h=-1094995529;break a}else{c[j>>2]=h;break}}while(0);i=h+-1|0;c[j>>2]=i;if(h){if(c[f+26360>>2]|0?(c[da>>2]&1|i|0)==0:0){la=zN(g+4|0)|0;c[g+21828>>2]=la;c[g+21832>>2]=la}Zc(f,g);h=0}else ba=11}else ba=11;while(0);b:do if((ba|0)==11){W=f+26360|0;if(c[W>>2]|0?(c[da>>2]&1|0)==0:0){ha=zN(g+4|0)|0;c[g+21828>>2]=ha;c[g+21832>>2]=ha}c[g+21648>>2]=0;ha=g+4|0;i=dq(ha)|0;c[ga>>2]=i;c:do switch(c[l>>2]|0){case 3:if(i>>>0<23){Y=a[19008+(i<<2)+2>>0]|0;h=e[19008+(i<<2)>>1]|0;c[ga>>2]=h;i=Y;Y=0;break c}else{h=i+-23|0;c[ga>>2]=h;ba=23;break c}case 2:if(i>>>0<5){Y=a[18960+(i<<2)+2>>0]|0;h=e[18960+(i<<2)>>1]|0;c[ga>>2]=h;i=Y;Y=0;break c}else{h=i+-5|0;c[ga>>2]=h;ba=23;break c}default:{h=i+-1|0;if(i|0?(c[g+836>>2]|0)==5:0){c[ga>>2]=h;ba=23}else{h=i;ba=23}}}while(0);do if((ba|0)==23)if(h>>>0>25){f=c[f+4>>2]|0;ka=(iE(c[g+836>>2]|0)|0)<<24>>24;la=c[ca>>2]|0;g=c[da>>2]|0;c[k>>2]=h;c[k+4>>2]=ka;c[k+8>>2]=la;c[k+12>>2]=g;Xw(f,16,196411,k);h=-1;break b}else{Y=d[18848+(h<<2)+3>>0]|0;c[g+21660>>2]=d[18848+(h<<2)+2>>0];h=e[18848+(h<<2)>>1]|0;c[ga>>2]=h;i=0;break}while(0);V=g+21828|0;if(c[V>>2]|0){h=h|128;c[ga>>2]=h}b[(c[f+26356>>2]|0)+(la<<1)>>1]=c[g+832>>2];if(h&4|0){h=c[fa>>2]|0;h=H(c[h+1184>>2]|0,e[164312+(c[h+12>>2]<<1)>>1]|0)|0;ka=BO(ha)|0;c[g+27780>>2]=ka;if((pS(ha)|0)<(h|0)){Xw(c[f+4>>2]|0,16,196454,n);h=-1094995529;break}else{fS(ha,h);a[(c[f+24340>>2]|0)+la>>0]=0;k=(c[f+25956>>2]|0)+(la*48|0)|0;l=k+48|0;do{a[k>>0]=16;k=k+1|0}while((k|0)<(l|0));c[(c[f+24364>>2]|0)+(la<<2)>>2]=c[ga>>2];h=0;break}}lh(f,g,h);Bc(f,g,h);d:do if(!(h&7)){if(i<<24>>24==4){e:do if((c[l>>2]|0)==3){h=0;while(1){if(h>>>0>=4)break;j=MD(ha)|0;i=g+28552+(h<<1)|0;b[i>>1]=j;j=j&65535;if(j>>>0>12){ba=57;break}c[T+(h<<2)>>2]=d[19104+(j<<2)+2>>0];b[i>>1]=b[19104+(j<<2)>>1]|0;h=h+1|0}if((ba|0)==57){g=c[f+4>>2]|0;la=c[ca>>2]|0;f=c[da>>2]|0;c[p>>2]=j;c[p+4>>2]=la;c[p+8>>2]=f;Xw(g,16,196495,p);break}if(!((b[g+28554>>1]|b[g+28552>>1]|b[g+28556>>1]|b[g+28558>>1])&256))ba=65;else{fN(f,g,ga);a[g+28342>>0]=-2;a[g+28302>>0]=-2;a[g+28326>>0]=-2;a[g+28286>>0]=-2;ba=65}}else{h=0;while(1){if(h>>>0>=4){ba=65;break e}j=MD(ha)|0;i=g+28552+(h<<1)|0;b[i>>1]=j;j=j&65535;if(j>>>0>3)break;c[T+(h<<2)>>2]=d[18992+(j<<2)+2>>0];b[i>>1]=b[18992+(j<<2)>>1]|0;h=h+1|0}g=c[f+4>>2]|0;la=c[ca>>2]|0;f=c[da>>2]|0;c[o>>2]=j;c[o+4>>2]=la;c[o+8>>2]=f;Xw(g,16,196535,o)}while(0);do if((ba|0)==65){S=g+23412|0;n=g+21832|0;l=0;f:while(1){h=c[S>>2]|0;if(l>>>0>=h>>>0)break;if(!(c[ga>>2]&512))k=c[g+23404+(l<<2)>>2]<<c[n>>2];else k=1;j=4096<<(l<<1);i=0;while(1){if(i>>>0>=4)break;h=e[g+28552+(i<<1)>>1]|0;if(!(h&256)){g:do if(!(j&h))h=-1;else switch(k|0){case 1:{h=0;break g}case 2:{h=(zN(ha)|0)^1;break g}default:{h=MD(ha)|0;if(h>>>0<k>>>0)break g;else{ba=78;break f}}}while(0);c[U+(l<<4)+(i<<2)>>2]=h}i=i+1|0}l=l+1|0}if((ba|0)==78){g=c[f+4>>2]|0;c[t>>2]=h;Xw(g,16,196575,t);break}if(!m)m=0;else{R=(c[(c[fa>>2]|0)+72>>2]|0)==0;m=g+28552|0;m=(((R?24117616:7340144)&c[m>>2]|0)==0?((R?24117616:7340144)&c[m+4>>2]|0)==0:0)&1}N=f+24312|0;O=g+21740|0;P=g+21720|0;Q=f+26344|0;R=f+26352|0;M=0;while(1){if(M>>>0>=h>>>0)break;J=M<<1;F=4096<<J;G=g+28272+(M*40|0)+11|0;I=g+27952+(M*160|0)+40|0;J=12288<<J;K=g+27952+(M*160|0)+42|0;E=0;while(1){if((E|0)==4)break;h=g+28552+(E<<1)|0;h:do if(!(b[h>>1]&256)){D=c[U+(M<<4)+(E<<2)>>2]&255;L=E<<2;i=d[88656+L>>0]|0;a[i+9+(g+28272+(M*40|0))>>0]=D;a[i+8+(g+28272+(M*40|0))>>0]=D;a[i+1+(g+28272+(M*40|0))>>0]=D;a[g+28272+(M*40|0)+i>>0]=D;h=e[h>>1]|0;if(!(F&h)){c[g+27952+(M*160|0)+(i<<2)+36>>2]=0;c[g+27952+(M*160|0)+(i<<2)+32>>2]=0;c[g+27952+(M*160|0)+(i<<2)+4>>2]=0;c[g+27952+(M*160|0)+(i<<2)>>2]=0;break}A=(h&24|0)==0?1:2;B=c[T+(E<<2)>>2]|0;C=(h&8|0)==0;D=(h&16|0)==0;x=(h&32|0)==0;w=0;while(1){if((w|0)>=(B|0))break h;h=88656+((H(w,A)|0)+L)|0;h=a[h>>0]|0;y=h&255;z=g+27952+(M*160|0)+(y<<2)|0;o=a[g+28272+(M*40|0)+y>>0]|0;p=o<<24>>24;q=y+-8|0;r=a[g+28272+(M*40|0)+q>>0]|0;s=y+-1|0;t=a[g+28272+(M*40|0)+s>>0]|0;u=g+27952+(M*160|0)+(s<<2)|0;v=g+27952+(M*160|0)+(q<<2)|0;i=q+A|0;j=a[g+28272+(M*40|0)+i>>0]|0;k=j<<24>>24;j=j<<24>>24==-2;do if((y&7|0)==4&((h&255)>19&(j&(c[W>>2]|0)!=0))){if((a[G>>0]|0)==-2){ba=100;break}n=c[(c[N>>2]|0)+48>>2]|0;c[I>>2]=0;l=(c[O>>2]&128|0)==0;if(!(c[V>>2]|0)){if(l){ba=100;break}l=c[X>>2]|0;h=l+(c[P>>2]|0)|0;i=(c[da>>2]<<1&2)+(y>>>5)|0;n=n+((H(i>>>2,l)|0)+h<<2)|0;if(!(c[n>>2]&J)){l=I;k=-1;break}k=c[N>>2]|0;n=c[k+36+(M<<2)>>2]|0;l=(c[(c[Q>>2]|0)+(h<<2)>>2]|0)+3+(H(c[R>>2]|0,i)|0)|0;b[I>>1]=b[n+(l<<2)>>1]|0;b[K>>1]=b[n+(l<<2)+2>>1]<<1;l=I;k=a[(c[k+68+(M<<2)>>2]|0)+((i&14)+(h<<2|1))>>0]>>1;break}else{if(!l){ba=100;break}h=c[g+21720+(((h&255)>35&1)<<2)>>2]|0;i=y>>>2;if(!(c[n+(h<<2)>>2]&J)){l=I;k=-1;break}k=c[N>>2]|0;n=c[k+36+(M<<2)>>2]|0;l=(c[(c[Q>>2]|0)+(h<<2)>>2]|0)+3+(H(c[R>>2]|0,i&3)|0)|0;b[I>>1]=b[n+(l<<2)>>1]|0;b[K>>1]=(b[n+(l<<2)+2>>1]|0)/2|0;l=I;k=a[(c[k+68+(M<<2)>>2]|0)+(i&2|h<<2|1)>>0]<<1;break}}else ba=100;while(0);do if((ba|0)==100){ba=0;if(j){k=y+-9|0;l=g+27952+(M*160|0)+(k<<2)|0;k=a[g+28272+(M*40|0)+k>>0]|0;break}else{l=g+27952+(M*160|0)+(i<<2)|0;break}}while(0);j=r<<24>>24==o<<24>>24;i=t<<24>>24==o<<24>>24;h=(i&1)+(j&1)+((k|0)==(p|0)&1)|0;do if(h>>>0<=1){if((h|0)!=1){h=b[u>>1]|0;if(t<<24>>24!=-2&(r<<24>>24==-2&(k|0)==-2)){i=b[g+27952+(M*160|0)+(s<<2)+2>>1]|0;break}else{h=oM(h,b[v>>1]|0,b[l>>1]|0)|0;i=oM(b[g+27952+(M*160|0)+(s<<2)+2>>1]|0,b[g+27952+(M*160|0)+(q<<2)+2>>1]|0,b[l+2>>1]|0)|0;break}}if(i){i=b[g+27952+(M*160|0)+(s<<2)+2>>1]|0;h=b[u>>1]|0;break}if(j){i=b[g+27952+(M*160|0)+(q<<2)+2>>1]|0;h=b[v>>1]|0;break}else{i=b[l+2>>1]|0;h=b[l>>1]|0;break}}else{h=oM(b[u>>1]|0,b[v>>1]|0,b[l>>1]|0)|0;i=oM(b[g+27952+(M*160|0)+(s<<2)+2>>1]|0,b[g+27952+(M*160|0)+(q<<2)+2>>1]|0,b[l+2>>1]|0)|0}while(0);v=(uq(ha)|0)+h|0;h=(uq(ha)|0)+i|0;i=v&65535;do if(C){if(!D){b[z+4>>1]=i;h=h&65535;b[z+6>>1]=h;break}if(x){h=h&65535;break}else{b[z+32>>1]=i;h=h&65535;b[z+34>>1]=h;break}}else{b[z+36>>1]=i;b[z+32>>1]=i;b[z+4>>1]=i;h=h&65535;b[z+38>>1]=h;b[z+34>>1]=h;b[z+6>>1]=h}while(0);b[z>>1]=i;b[g+27952+(M*160|0)+(y<<2)+2>>1]=h;w=w+1|0}}else{L=d[88656+(E<<2)>>0]|0;a[g+28272+(M*40|0)+L>>0]=a[L+1+(g+28272+(M*40|0))>>0]|0}while(0);E=E+1|0}M=M+1|0;h=c[S>>2]|0}h=-1094995529;break d}while(0);h=-1;break b}if(h&256|0){fN(f,g,ga);m=c[(c[fa>>2]|0)+72>>2]&m;h=-1094995529;break}if(h&8|0){t=g+23412|0;u=c[ga>>2]|0;k=g+21832|0;j=0;i:while(1){h=c[t>>2]|0;if(j>>>0>=h>>>0)break;if(u&4096<<(j<<1)|0){i=c[g+23404+(j<<2)>>2]<<c[k>>2];switch(i|0){case 1:{h=0;break}case 2:{h=(zN(ha)|0)^1;break}default:{h=MD(ha)|0;if(h>>>0>=i>>>0){ba=138;break i}}}X=H(h,16843009)|0;c[g+28272+(j*40|0)+12>>2]=X;c[g+28272+(j*40|0)+20>>2]=X;c[g+28272+(j*40|0)+28>>2]=X;c[g+28272+(j*40|0)+36>>2]=X}j=j+1|0}if((ba|0)==138){g=c[f+4>>2]|0;c[q>>2]=h;Xw(g,16,196575,q);h=-1;break b}s=0;while(1){if(s>>>0>=h>>>0){h=-1094995529;break d}if(u&4096<<(s<<1)){i=a[g+28272+(s*40|0)+12>>0]|0;n=a[g+28272+(s*40|0)+4>>0]|0;o=a[g+28272+(s*40|0)+11>>0]|0;p=g+27952+(s*160|0)+44|0;r=g+27952+(s*160|0)+16|0;h=a[g+28272+(s*40|0)+8>>0]|0;if(h<<24>>24==-2){q=g+27952+(s*160|0)+12|0;l=a[g+28272+(s*40|0)+3>>0]|0}else{q=g+27952+(s*160|0)+32|0;l=h<<24>>24}j=n<<24>>24==i<<24>>24;k=o<<24>>24==i<<24>>24;h=(k&1)+(j&1)+((l|0)==(i<<24>>24|0)&1)|0;do if(h>>>0<=1){if((h|0)!=1){h=b[p>>1]|0;if(o<<24>>24!=-2&(n<<24>>24==-2&(l|0)==-2)){i=b[g+27952+(s*160|0)+46>>1]|0;break}else{h=oM(h,b[r>>1]|0,b[q>>1]|0)|0;i=oM(b[g+27952+(s*160|0)+46>>1]|0,b[g+27952+(s*160|0)+18>>1]|0,b[q+2>>1]|0)|0;break}}if(k){i=b[g+27952+(s*160|0)+46>>1]|0;h=b[p>>1]|0;break}if(j){i=b[g+27952+(s*160|0)+18>>1]|0;h=b[r>>1]|0;break}else{i=b[q+2>>1]|0;h=b[q>>1]|0;break}}else{h=oM(b[p>>1]|0,b[r>>1]|0,b[q>>1]|0)|0;i=oM(b[g+27952+(s*160|0)+46>>1]|0,b[g+27952+(s*160|0)+18>>1]|0,b[q+2>>1]|0)|0}while(0);h=(uq(ha)|0)+h|0;h=(uq(ha)|0)+i<<16|h&65535;c[g+27952+(s*160|0)+48>>2]=h;c[g+27952+(s*160|0)+52>>2]=h;c[g+27952+(s*160|0)+56>>2]=h;c[g+27952+(s*160|0)+60>>2]=h;c[g+27952+(s*160|0)+80>>2]=h;c[g+27952+(s*160|0)+84>>2]=h;c[g+27952+(s*160|0)+88>>2]=h;c[g+27952+(s*160|0)+92>>2]=h;c[g+27952+(s*160|0)+112>>2]=h;c[g+27952+(s*160|0)+116>>2]=h;c[g+27952+(s*160|0)+120>>2]=h;c[g+27952+(s*160|0)+124>>2]=h;c[g+27952+(s*160|0)+144>>2]=h;c[g+27952+(s*160|0)+148>>2]=h;c[g+27952+(s*160|0)+152>>2]=h;c[g+27952+(s*160|0)+156>>2]=h;h=c[t>>2]|0}s=s+1|0}}R=g+23412|0;S=c[ga>>2]|0;o=g+21832|0;if(h&16|0){n=0;j:while(1){h=c[R>>2]|0;if(n>>>0>=h>>>0)break;k=n<<1;l=g+23404+(n<<2)|0;j=0;while(1){if(j>>>0>=2)break;k:do if(!(S&4096<<j+k))h=255;else{i=c[l>>2]<<c[o>>2];switch(i|0){case 1:{h=0;break k}case 2:{h=(zN(ha)|0)^1;break k}default:{h=MD(ha)|0;if(h>>>0<i>>>0)break k;else{ba=168;break j}}}}while(0);U=(j<<4|12)+(g+28272+(n*40|0))|0;T=H(h,16843009)|0;c[U>>2]=T;c[U+8>>2]=T;j=j+1|0}n=n+1|0}if((ba|0)==168){g=c[f+4>>2]|0;c[r>>2]=h;Xw(g,16,196575,r);h=-1;break b}M=f+24312|0;N=g+21740|0;O=g+21720|0;P=f+26344|0;Q=f+26352|0;L=0;while(1){if(L>>>0>=h>>>0){h=-1094995529;break d}z=L<<1;A=g+28272+(L*40|0)+4|0;B=g+28272+(L*40|0)+27|0;C=g+27952+(L*160|0)+16|0;D=g+27952+(L*160|0)+18|0;E=g+28272+(L*40|0)+11|0;F=g+27952+(L*160|0)+108|0;G=g+27952+(L*160|0)+110|0;I=g+27952+(L*160|0)+40|0;J=12288<<z;K=g+27952+(L*160|0)+42|0;y=0;while(1){if((y|0)==2)break;if(!(S&4096<<y+z)){i=0;h=y<<4|12}else{i=y<<3;h=y<<4|12;q=a[g+28272+(L*40|0)+h>>0]|0;r=q<<24>>24;do if(!y){if((a[A>>0]|0)!=q<<24>>24){ba=182;break}j=b[D>>1]|0;i=b[C>>1]|0}else{if((a[B>>0]|0)!=q<<24>>24){ba=182;break}j=b[G>>1]|0;i=b[F>>1]|0}while(0);do if((ba|0)==182){ba=0;i=a[88656+i>>0]|0;o=i&255;s=o+-8|0;t=a[g+28272+(L*40|0)+s>>0]|0;u=o+-1|0;v=a[g+28272+(L*40|0)+u>>0]|0;w=g+27952+(L*160|0)+(u<<2)|0;x=g+27952+(L*160|0)+(s<<2)|0;j=o+-4|0;k=a[g+28272+(L*40|0)+j>>0]|0;l=k<<24>>24;k=k<<24>>24==-2;do if((o&7|0)==4&((i&255)>19&(k&(c[W>>2]|0)!=0))){if((a[E>>0]|0)==-2){ba=191;break}p=c[(c[M>>2]|0)+48>>2]|0;c[I>>2]=0;n=(c[N>>2]&128|0)==0;if(!(c[V>>2]|0)){if(n){ba=191;break}U=c[X>>2]|0;j=U+(c[O>>2]|0)|0;i=(c[da>>2]<<1&2)+(o>>>5)|0;U=p+((H(i>>>2,U)|0)+j<<2)|0;if(!(c[U>>2]&J)){n=I;l=-1;break}l=c[M>>2]|0;U=c[l+36+(L<<2)>>2]|0;n=(c[(c[P>>2]|0)+(j<<2)>>2]|0)+3+(H(c[Q>>2]|0,i)|0)|0;b[I>>1]=b[U+(n<<2)>>1]|0;b[K>>1]=b[U+(n<<2)+2>>1]<<1;n=I;l=a[(c[l+68+(L<<2)>>2]|0)+((i&14)+(j<<2|1))>>0]>>1;break}else{if(!n){ba=191;break}j=c[g+21720+(((i&255)>35&1)<<2)>>2]|0;i=o>>>2;if(!(c[p+(j<<2)>>2]&J)){n=I;l=-1;break}l=c[M>>2]|0;U=c[l+36+(L<<2)>>2]|0;n=(c[(c[P>>2]|0)+(j<<2)>>2]|0)+3+(H(c[Q>>2]|0,i&3)|0)|0;b[I>>1]=b[U+(n<<2)>>1]|0;b[K>>1]=(b[U+(n<<2)+2>>1]|0)/2|0;n=I;l=a[(c[l+68+(L<<2)>>2]|0)+(i&2|j<<2|1)>>0]<<1;break}}else ba=191;while(0);do if((ba|0)==191){ba=0;if(k){l=o+-9|0;n=g+27952+(L*160|0)+(l<<2)|0;l=a[g+28272+(L*40|0)+l>>0]|0;break}else{n=g+27952+(L*160|0)+(j<<2)|0;break}}while(0);k=t<<24>>24==q<<24>>24;j=v<<24>>24==q<<24>>24;i=(j&1)+(k&1)+((l|0)==(r|0)&1)|0;if(i>>>0>1){i=oM(b[w>>1]|0,b[x>>1]|0,b[n>>1]|0)|0;j=oM(b[g+27952+(L*160|0)+(u<<2)+2>>1]|0,b[g+27952+(L*160|0)+(s<<2)+2>>1]|0,b[n+2>>1]|0)|0;break}if((i|0)!=1){i=b[w>>1]|0;if(v<<24>>24!=-2&(t<<24>>24==-2&(l|0)==-2)){j=b[g+27952+(L*160|0)+(u<<2)+2>>1]|0;break}else{i=oM(i,b[x>>1]|0,b[n>>1]|0)|0;j=oM(b[g+27952+(L*160|0)+(u<<2)+2>>1]|0,b[g+27952+(L*160|0)+(s<<2)+2>>1]|0,b[n+2>>1]|0)|0;break}}if(j){j=b[g+27952+(L*160|0)+(u<<2)+2>>1]|0;i=b[w>>1]|0;break}if(k){j=b[g+27952+(L*160|0)+(s<<2)+2>>1]|0;i=b[x>>1]|0;break}else{j=b[n+2>>1]|0;i=b[n>>1]|0;break}}while(0);i=(uq(ha)|0)+i|0;i=(uq(ha)|0)+j<<16|i&65535}c[g+27952+(L*160|0)+(h<<2)>>2]=i;c[g+27952+(L*160|0)+(h<<2)+4>>2]=i;c[g+27952+(L*160|0)+(h<<2)+8>>2]=i;c[g+27952+(L*160|0)+(h<<2)+12>>2]=i;c[g+27952+(L*160|0)+(h<<2)+32>>2]=i;c[g+27952+(L*160|0)+(h<<2)+36>>2]=i;c[g+27952+(L*160|0)+(h<<2)+40>>2]=i;c[g+27952+(L*160|0)+(h<<2)+44>>2]=i;y=y+1|0}L=L+1|0;h=c[R>>2]|0}}n=0;l:while(1){h=c[R>>2]|0;if(n>>>0>=h>>>0)break;k=n<<1;l=g+23404+(n<<2)|0;j=0;while(1){if(j>>>0>=2)break;m:do if(!(S&4096<<j+k))h=255;else{i=c[l>>2]<<c[o>>2];switch(i|0){case 1:{h=0;break m}case 2:{h=(zN(ha)|0)^1;break m}default:{h=MD(ha)|0;if(h>>>0<i>>>0)break m;else{ba=215;break l}}}}while(0);U=(j<<1)+12+(g+28272+(n*40|0))|0;T=h*257&65535;b[U>>1]=T;b[U+8>>1]=T;b[U+16>>1]=T;b[U+24>>1]=T;j=j+1|0}n=n+1|0}if((ba|0)==215){g=c[f+4>>2]|0;c[s>>2]=h;Xw(g,16,196575,s);h=-1;break b}M=f+24312|0;N=g+21740|0;O=g+21720|0;P=f+26344|0;Q=f+26352|0;L=0;while(1){if(L>>>0>=h>>>0){h=-1094995529;break d}z=L<<1;A=g+28272+(L*40|0)+11|0;B=g+28272+(L*40|0)+8|0;C=g+27952+(L*160|0)+44|0;D=g+27952+(L*160|0)+46|0;E=g+27952+(L*160|0)+20|0;F=g+28272+(L*40|0)+5|0;G=g+27952+(L*160|0)+32|0;I=g+27952+(L*160|0)+40|0;J=12288<<z;K=g+27952+(L*160|0)+42|0;y=0;while(1){if((y|0)==2)break;if(!(S&4096<<y+z)){i=0;h=(y<<1)+12|0}else{j=y<<2;h=(y<<1)+12|0;v=a[g+28272+(L*40|0)+h>>0]|0;x=v<<24>>24;do if(!y)if((a[A>>0]|0)==v<<24>>24){j=b[D>>1]|0;i=b[C>>1]|0}else ba=231;else{i=a[B>>0]|0;if(i<<24>>24==-2){k=E;i=a[F>>0]|0}else k=G;if(i<<24>>24!=v<<24>>24){ba=231;break}j=b[k+2>>1]|0;i=b[k>>1]|0}while(0);do if((ba|0)==231){ba=0;i=a[88656+j>>0]|0;o=i&255;q=o+-8|0;r=a[g+28272+(L*40|0)+q>>0]|0;s=o+-1|0;t=a[g+28272+(L*40|0)+s>>0]|0;u=g+27952+(L*160|0)+(s<<2)|0;w=g+27952+(L*160|0)+(q<<2)|0;j=o+-6|0;k=a[g+28272+(L*40|0)+j>>0]|0;l=k<<24>>24;k=k<<24>>24==-2;do if((o&7|0)==4&((i&255)>19&(k&(c[W>>2]|0)!=0))){if((a[A>>0]|0)==-2){ba=240;break}p=c[(c[M>>2]|0)+48>>2]|0;c[I>>2]=0;n=(c[N>>2]&128|0)==0;if(!(c[V>>2]|0)){if(n){ba=240;break}U=c[X>>2]|0;j=U+(c[O>>2]|0)|0;i=(c[da>>2]<<1&2)+(o>>>5)|0;U=p+((H(i>>>2,U)|0)+j<<2)|0;if(!(c[U>>2]&J)){n=I;l=-1;break}l=c[M>>2]|0;U=c[l+36+(L<<2)>>2]|0;n=(c[(c[P>>2]|0)+(j<<2)>>2]|0)+3+(H(c[Q>>2]|0,i)|0)|0;b[I>>1]=b[U+(n<<2)>>1]|0;b[K>>1]=b[U+(n<<2)+2>>1]<<1;n=I;l=a[(c[l+68+(L<<2)>>2]|0)+((i&14)+(j<<2|1))>>0]>>1;break}else{if(!n){ba=240;break}j=c[g+21720+(((i&255)>35&1)<<2)>>2]|0;i=o>>>2;if(!(c[p+(j<<2)>>2]&J)){n=I;l=-1;break}l=c[M>>2]|0;U=c[l+36+(L<<2)>>2]|0;n=(c[(c[P>>2]|0)+(j<<2)>>2]|0)+3+(H(c[Q>>2]|0,i&3)|0)|0;b[I>>1]=b[U+(n<<2)>>1]|0;b[K>>1]=(b[U+(n<<2)+2>>1]|0)/2|0;n=I;l=a[(c[l+68+(L<<2)>>2]|0)+(i&2|j<<2|1)>>0]<<1;break}}else ba=240;while(0);do if((ba|0)==240){ba=0;if(k){l=o+-9|0;n=g+27952+(L*160|0)+(l<<2)|0;l=a[g+28272+(L*40|0)+l>>0]|0;break}else{n=g+27952+(L*160|0)+(j<<2)|0;break}}while(0);k=r<<24>>24==v<<24>>24;j=t<<24>>24==v<<24>>24;i=(j&1)+(k&1)+((l|0)==(x|0)&1)|0;if(i>>>0>1){i=oM(b[u>>1]|0,b[w>>1]|0,b[n>>1]|0)|0;j=oM(b[g+27952+(L*160|0)+(s<<2)+2>>1]|0,b[g+27952+(L*160|0)+(q<<2)+2>>1]|0,b[n+2>>1]|0)|0;break}if((i|0)!=1){i=b[u>>1]|0;if(t<<24>>24!=-2&(r<<24>>24==-2&(l|0)==-2)){j=b[g+27952+(L*160|0)+(s<<2)+2>>1]|0;break}else{i=oM(i,b[w>>1]|0,b[n>>1]|0)|0;j=oM(b[g+27952+(L*160|0)+(s<<2)+2>>1]|0,b[g+27952+(L*160|0)+(q<<2)+2>>1]|0,b[n+2>>1]|0)|0;break}}if(j){j=b[g+27952+(L*160|0)+(s<<2)+2>>1]|0;i=b[u>>1]|0;break}if(k){j=b[g+27952+(L*160|0)+(q<<2)+2>>1]|0;i=b[w>>1]|0;break}else{j=b[n+2>>1]|0;i=b[n>>1]|0;break}}while(0);i=(uq(ha)|0)+i|0;i=(uq(ha)|0)+j<<16|i&65535}c[g+27952+(L*160|0)+(h<<2)>>2]=i;c[g+27952+(L*160|0)+(h<<2)+4>>2]=i;c[g+27952+(L*160|0)+(h<<2)+32>>2]=i;c[g+27952+(L*160|0)+(h<<2)+36>>2]=i;c[g+27952+(L*160|0)+(h<<2)+64>>2]=i;c[g+27952+(L*160|0)+(h<<2)+68>>2]=i;c[g+27952+(L*160|0)+(h<<2)+96>>2]=i;c[g+27952+(L*160|0)+(h<<2)+100>>2]=i;y=y+1|0}L=L+1|0;h=c[R>>2]|0}}else{if(!(h&1)){W=g+21660|0;X=br(c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0,c[W>>2]|0,0)|0;c[W>>2]=X;if((X|0)<0){h=-1;break b}else h=-1094995529}else{if((m|0)!=0?(zN(ha)|0)!=0:0){c[ga>>2]=h|16777216;j=4}else j=1;k=(j|0)==4;i=0;while(1){if(i>>>0>=16)break;l=d[88656+i>>0]|0;h=a[l+-1+(g+21664)>>0]|0;X=a[l+-8+(g+21664)>>0]|0;h=(h|0)>(X|0)?X:h;h=(h|0)<0?2:h;if(!(zN(ha)|0)){X=zG(ha,3)|0;h=X+((X|0)>=(h|0)&1)|0}if(k){X=g+21664+l|0;W=h*257&65535;b[X>>1]=W;b[X+8>>1]=W}else a[g+21664+l>>0]=h;i=i+j|0}X=(c[g+21704>>2]|0)+(c[(c[f+26348>>2]|0)+(c[ka>>2]<<2)>>2]|0)|0;c[X>>2]=c[g+21700>>2];a[X+4>>0]=a[g+21695>>0]|0;a[X+5>>0]=a[g+21687>>0]|0;a[X+6>>0]=a[g+21679>>0]|0;X=kn(g+21664|0,c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0)|0;h=X>>31|-1094995529;if((X|0)<=-1)break b}if(!_){c[g+21656>>2]=6;break}W=c[f+4>>2]|0;X=c[g+21760>>2]|0;i=c[g+21768>>2]|0;i=br(W,X,i,MD(ha)|0,1)|0;if((i|0)<0){h=-1;break b}c[g+21656>>2]=i}while(0);i=c[ga>>2]|0;if(i&120|0){j=c[f+26352>>2]|0;k=(H(j<<2,c[da>>2]|0)|0)+(c[ca>>2]<<2)|0;l=c[ka>>2]<<2;if(!(i&12288)){X=(c[f+24384>>2]|0)+l|0;b[X>>1]=-1;b[X+2>>1]=-1}else{X=(c[f+24352>>2]|0)+(k<<2)|0;V=g+28e3|0;W=c[V+4>>2]|0;T=X;c[T>>2]=c[V>>2];c[T+4>>2]=W;T=g+28008|0;W=c[T+4>>2]|0;V=X+8|0;c[V>>2]=c[T>>2];c[V+4>>2]=W;V=g+28032|0;W=c[V+4>>2]|0;T=X+(j<<2)|0;U=T;c[U>>2]=c[V>>2];c[U+4>>2]=W;U=g+28040|0;W=c[U+4>>2]|0;T=T+8|0;c[T>>2]=c[U>>2];c[T+4>>2]=W;T=g+28064|0;W=c[T+4>>2]|0;U=X+(j<<1<<2)|0;V=U;c[V>>2]=c[T>>2];c[V+4>>2]=W;V=g+28072|0;W=c[V+4>>2]|0;U=U+8|0;c[U>>2]=c[V>>2];c[U+4>>2]=W;U=g+28096|0;W=c[U+4>>2]|0;X=X+(j*3<<2)|0;V=X;c[V>>2]=c[U>>2];c[V+4>>2]=W;V=g+28104|0;W=c[V+4>>2]|0;X=X+8|0;c[X>>2]=c[V>>2];c[X+4>>2]=W;X=(c[f+24384>>2]|0)+l|0;a[X>>0]=a[g+28284>>0]|0;a[X+1>>0]=a[g+28286>>0]|0;a[X+2>>0]=a[g+28300>>0]|0;a[X+3>>0]=a[g+28302>>0]|0}if(i&49152|0){X=(c[f+24356>>2]|0)+(k<<2)|0;V=g+28160|0;W=c[V+4>>2]|0;T=X;c[T>>2]=c[V>>2];c[T+4>>2]=W;T=g+28168|0;W=c[T+4>>2]|0;V=X+8|0;c[V>>2]=c[T>>2];c[V+4>>2]=W;V=g+28192|0;W=c[V+4>>2]|0;T=X+(j<<2)|0;U=T;c[U>>2]=c[V>>2];c[U+4>>2]=W;U=g+28200|0;W=c[U+4>>2]|0;T=T+8|0;c[T>>2]=c[U>>2];c[T+4>>2]=W;T=g+28224|0;W=c[T+4>>2]|0;U=X+(j<<1<<2)|0;V=U;c[V>>2]=c[T>>2];c[V+4>>2]=W;V=g+28232|0;W=c[V+4>>2]|0;U=U+8|0;c[U>>2]=c[V>>2];c[U+4>>2]=W;U=g+28256|0;W=c[U+4>>2]|0;X=X+(j*3<<2)|0;V=X;c[V>>2]=c[U>>2];c[V+4>>2]=W;V=g+28264|0;W=c[V+4>>2]|0;X=X+8|0;c[X>>2]=c[V>>2];c[X+4>>2]=W;X=(c[f+24388>>2]|0)+l|0;a[X>>0]=a[g+28324>>0]|0;a[X+1>>0]=a[g+28326>>0]|0;a[X+2>>0]=a[g+28340>>0]|0;a[X+3>>0]=a[g+28342>>0]|0}}i=c[ga>>2]|0;if(i&2)if(Y>>>0>15&(_^1)){Xw(c[f+4>>2]|0,16,201362,Z);h=-1094995529;break}else w=Y;else{k=dq(ha)|0;do if(_){if(k>>>0>47){h=c[f+4>>2]|0;f=c[ca>>2]|0;g=c[da>>2]|0;c[$>>2]=k;c[$+4>>2]=f;c[$+8>>2]=g;Xw(h,16,196592,$);h=-1;break b}i=c[ga>>2]|0;if(!(i&1)){j=i;i=18800+k|0;break}else{j=i;i=18752+k|0;break}}else{if(k>>>0>15){h=c[f+4>>2]|0;f=c[ca>>2]|0;g=c[da>>2]|0;c[aa>>2]=k;c[aa+4>>2]=f;c[aa+8>>2]=g;Xw(h,16,196592,aa);h=-1;break b}i=c[ga>>2]|0;if(!(i&1)){j=i;i=75808+k|0;break}else{j=i;i=75792+k|0;break}}while(0);w=d[i>>0]|0;i=j}u=(w&15|0)==0;if((i&7|0)==0&(((m|0)==0|u)^1)){i=(zN(ha)|0)<<24;i=c[ga>>2]|i;c[ga>>2]=i}r=f+26376|0;b[(c[r>>2]|0)+(la<<1)>>1]=w;c[g+21856>>2]=w&65535;c[(c[f+24364>>2]|0)+(la<<2)>>2]=i;if((w|0)==0?(c[ga>>2]&2|0)==0:0){c[g+27836>>2]=0;c[g+27844>>2]=0;c[g+27852>>2]=0;c[g+27860>>2]=0;c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;h=g+848|0}else ba=282;n:do if((ba|0)==282){i=(c[(c[fa>>2]|0)+1184>>2]|0)*6|0;k=i+3|0;l=uq(ha)|0;x=g+848|0;j=(c[x>>2]|0)+l|0;c[x>>2]=j;if(j>>>0>k>>>0){i=((j|0)<0?i+4|0:-4-i|0)+j|0;c[x>>2]=i;if(i>>>0>k>>>0){h=c[f+4>>2]|0;f=c[ca>>2]|0;g=c[da>>2]|0;c[ea>>2]=l;c[ea+4>>2]=f;c[ea+8>>2]=g;Xw(h,16,196621,ea);c[x>>2]=k;h=-1;break b}else j=i}i=c[ja>>2]|0;q=g+852|0;c[q>>2]=d[i+548+j>>0];s=g+856|0;c[s>>2]=d[i+636+j>>0];i=c[ga>>2]|0;ea=(i&128|0)==0;t=(j|0)!=0;v=ea?(t?f+26412|0:f+26700|0):t?f+26556|0:f+26844|0;t=ea?(t?f+26492|0:f+26780|0):t?f+26636|0:f+26924|0;o:do if(!(i&2)){p=(i&7|0)==0?3:0;o=(i&16777216|0)==0;i=0;n=0;while(1){if(n>>>0>=4)break;p:do if(1<<n&w)if(o){m=n<<2;l=0;while(1){if(l>>>0>=4)break p;k=l+m|0;if((Hc(f,g,ha,g+28560+(k<<4<<ia<<1)|0,k,v,(c[(c[ja>>2]|0)+173788+(p<<2)>>2]|0)+(j<<6)|0,16)|0)<0){h=-1;break b}l=l+1|0;i=d[(d[88656+k>>0]|0)+(g+27824)>>0]<<n|i}}else{l=g+28560+(n<<6<<ia<<1)|0;m=n<<2;k=0;while(1){if(k>>>0>=4)break;if((Hc(f,g,ha,l,k+m|0,t+(k<<4)|0,(c[(c[ja>>2]|0)+173812+(p<<2)>>2]|0)+(j<<8)|0,16)|0)>-1)k=k+1|0;else{h=-1;break b}}da=(d[88656+m>>0]|0)+(g+27824)|0;ea=(d[da+8>>0]|0)+(d[da+1>>0]|0)+(d[da+9>>0]|0)+(d[da>>0]|0)&255;a[da>>0]=ea;i=(ea<<24>>24!=0&1)<<n|i;break}else{ea=(d[88656+(n<<2)>>0]|0)+(g+27824)|0;a[ea+9>>0]=0;a[ea+8>>0]=0;a[ea+1>>0]=0;a[ea>>0]=0}while(0);n=n+1|0}if((i|0)<0){h=-1;break b}}else{i=g+31632|0;k=i;l=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));if((Hc(f,g,ha,i,48,v,0,16)|0)<0){h=-1;break b}if(u){c[g+27836>>2]=0;c[g+27844>>2]=0;c[g+27852>>2]=0;c[g+27860>>2]=0;i=0;break}l=v+1|0;k=0;while(1){if(k>>>0>=4){i=15;break o}m=k<<2;i=0;while(1){if(i>>>0>=4)break;ea=i+m|0;if((Hc(f,g,ha,g+28560+(ea<<4<<ia<<1)|0,ea,l,(c[(c[ja>>2]|0)+173788>>2]|0)+(j<<6)|0,15)|0)>-1)i=i+1|0;else{h=-1;break b}}k=k+1|0}}while(0);r=(c[r>>2]|0)+(la<<1)|0;b[r>>1]=i<<12|e[r>>1];r=c[(c[fa>>2]|0)+12>>2]|0;if((r|0)!=3){q:do if(w&48|0){j=r<<2;i=0;while(1){if(i>>>0>=2)break q;if((Hc(f,g,ha,g+28560+((i<<8)+256<<ia<<1)|0,i+49|0,(c[(c[fa>>2]|0)+12>>2]|0)==2?171016:171012,0,j)|0)<0){h=-1;break b}else i=i+1|0}}while(0);if(!(w&32)){c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;h=x;break}p=v+1|0;q=16<<ia;i=0;while(1){if(i>>>0>=2){h=x;break n}n=i+1|0;o=(c[(c[ja>>2]|0)+173788+(((c[ga>>2]&7|0)==0?3:0)+n<<2)>>2]|0)+(c[g+852+(i<<2)>>2]<<6)|0;m=(i<<4)+16|0;i=g+28560+(m<<4<<ia<<1)|0;l=0;while(1){if((l|0)>=(r|0))break;k=(l<<3)+m|0;j=0;while(1){if(j>>>0>=4)break;fa=Hc(f,g,ha,i,k+j|0,p,o,15)|0;h=(fa|0)<0?-1:h;if((fa|0)<=-1)break b;j=j+1|0;i=i+(q<<1)|0}l=l+1|0}i=n}}h=c[ga>>2]|0;o=c[q>>2]|0;r:do if(!(h&2)){n=(h&7|0)==0?4:1;m=(h&16777216|0)==0;h=0;l=0;while(1){if(l>>>0>=4)break;s:do if(1<<l&w)if(m){k=(l<<2)+16|0;j=0;while(1){if(j>>>0>=4)break s;i=k+j|0;if((Hc(f,g,ha,g+28560+(i<<4<<ia<<1)|0,i,v,(c[(c[ja>>2]|0)+173788+(n<<2)>>2]|0)+(o<<6)|0,16)|0)<0){h=-1;break b}j=j+1|0;h=d[(d[88656+i>>0]|0)+(g+27824)>>0]<<l|h}}else{j=g+28560+((l<<6)+256<<ia<<1)|0;k=(l<<2)+16|0;i=0;while(1){if(i>>>0>=4)break;if((Hc(f,g,ha,j,i+k|0,t+(i<<4)|0,(c[(c[ja>>2]|0)+173812+(n<<2)>>2]|0)+(o<<8)|0,16)|0)>-1)i=i+1|0;else{h=-1;break b}}ea=(d[88656+k>>0]|0)+(g+27824)|0;fa=(d[ea+8>>0]|0)+(d[ea+1>>0]|0)+(d[ea+9>>0]|0)+(d[ea>>0]|0)&255;a[ea>>0]=fa;h=(fa<<24>>24!=0&1)<<l|h;break}else{fa=(d[88656+((l<<2)+16)>>0]|0)+(g+27824)|0;a[fa+9>>0]=0;a[fa+8>>0]=0;a[fa+1>>0]=0;a[fa>>0]=0}while(0);l=l+1|0}if((h|0)<0){h=-1;break b}}else{h=g+31696|0;k=h;l=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));if((Hc(f,g,ha,h,49,v,0,16)|0)<0){h=-1;break b}if(u){c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;break}j=v+1|0;i=0;while(1){if(i>>>0>=4)break r;k=(i<<2)+16|0;h=0;while(1){if(h>>>0>=4)break;fa=k+h|0;if((Hc(f,g,ha,g+28560+(fa<<4<<ia<<1)|0,fa,j,(c[(c[ja>>2]|0)+173792>>2]|0)+(o<<6)|0,15)|0)>-1)h=h+1|0;else{h=-1;break b}}i=i+1|0}}while(0);h=c[ga>>2]|0;o=c[s>>2]|0;if(h&2|0){h=g+31760|0;k=h;l=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));if((Hc(f,g,ha,h,50,v,0,16)|0)<0){h=-1;break b}if(u){c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;h=x;break}j=v+1|0;i=0;while(1){if(i>>>0>=4){h=x;break n}k=(i<<2)+32|0;h=0;while(1){if(h>>>0>=4)break;ga=k+h|0;if((Hc(f,g,ha,g+28560+(ga<<4<<ia<<1)|0,ga,j,(c[(c[ja>>2]|0)+173796>>2]|0)+(o<<6)|0,15)|0)>-1)h=h+1|0;else{h=-1;break b}}i=i+1|0}}n=(h&7|0)==0?5:2;m=(h&16777216|0)==0;h=0;l=0;while(1){if(l>>>0>=4)break;t:do if(1<<l&w)if(m){k=(l<<2)+32|0;j=0;while(1){if(j>>>0>=4)break t;i=k+j|0;if((Hc(f,g,ha,g+28560+(i<<4<<ia<<1)|0,i,v,(c[(c[ja>>2]|0)+173788+(n<<2)>>2]|0)+(o<<6)|0,16)|0)<0){h=-1;break b}j=j+1|0;h=d[(d[88656+i>>0]|0)+(g+27824)>>0]<<l|h}}else{j=g+28560+((l<<6)+512<<ia<<1)|0;k=(l<<2)+32|0;i=0;while(1){if(i>>>0>=4)break;if((Hc(f,g,ha,j,i+k|0,t+(i<<4)|0,(c[(c[ja>>2]|0)+173812+(n<<2)>>2]|0)+(o<<8)|0,16)|0)>-1)i=i+1|0;else{h=-1;break b}}fa=(d[88656+k>>0]|0)+(g+27824)|0;ga=(d[fa+8>>0]|0)+(d[fa+1>>0]|0)+(d[fa+9>>0]|0)+(d[fa>>0]|0)&255;a[fa>>0]=ga;h=(ga<<24>>24!=0&1)<<l|h;break}else{ga=(d[88656+((l<<2)+32)>>0]|0)+(g+27824)|0;a[ga+9>>0]=0;a[ga+8>>0]=0;a[ga+1>>0]=0;a[ga>>0]=0}while(0);l=l+1|0}if((h|0)<0){h=-1;break b}else h=x}while(0);a[(c[f+24340>>2]|0)+la>>0]=c[h>>2];h=c[ka>>2]|0;i=c[f+25956>>2]|0;c[i+(h*48|0)>>2]=c[g+27836>>2];c[i+(h*48|0)+4>>2]=c[g+27844>>2];c[i+(h*48|0)+8>>2]=c[g+27852>>2];c[i+(h*48|0)+12>>2]=c[g+27860>>2];c[i+(h*48|0)+16>>2]=c[g+27876>>2];c[i+(h*48|0)+20>>2]=c[g+27884>>2];c[i+(h*48|0)+32>>2]=c[g+27916>>2];c[i+(h*48|0)+36>>2]=c[g+27924>>2];if(!(c[f+25668>>2]|0)){c[i+(h*48|0)+24>>2]=c[g+27892>>2];c[i+(h*48|0)+28>>2]=c[g+27900>>2];c[i+(h*48|0)+40>>2]=c[g+27932>>2];c[i+(h*48|0)+44>>2]=c[g+27940>>2];h=0}else h=0}while(0);Mb=ma;return h|0}function sc(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0;va=Mb;Mb=Mb+80|0;ta=va+72|0;o=va;r=c[e+96>>2]|0;do if((r|0)!=0?(n=c[e+28196>>2]|0,(c[n+724>>2]|0)==0):0){ga=c[e+25652>>2]|0;sa=c[e+28200>>2]|0;u=c[sa+12>>2]|0;na=(u|0)!=0;pa=(u|0)==3;u=(u|0)==2;V=c[f+21796>>2]|0;s=c[f+21740>>2]|0;la=c[f+21732>>2]|0;sa=H(c[sa+1184>>2]|0,-6)|0;sa=sa+100|0;ra=sa+(c[f+872>>2]|0)|0;sa=sa+(c[f+876>>2]|0)|0;t=c[(c[e+24364>>2]|0)+(V<<2)>>2]|0;ma=c[e+24340>>2]|0;oa=a[ma+V>>0]|0;V=a[ma+(V+-1)>>0]|0;ma=a[ma+(c[f+21712>>2]|0)>>0]|0;qa=d[n+548+oa>>0]|0;ka=oa+1|0;v=ka+V>>1;ka=ka+ma>>1;h=qa+1|0;V=(h+(d[n+548+V>>0]|0)|0)>>>1;ma=(h+(d[n+548+ma>>0]|0)|0)>>>1;if(t&7|0){r=(c[e+26364>>2]|0)==3?164320:164328;f=(s|0)!=0;if(f?(p=v+ra|0,q=v+sa|0,!(p>>>0<68|q>>>0<68)):0)hc[c[e+64>>2]&255](i,l,d[89456+p>>0]|0,d[89296+q>>0]|0);o=(t&16777216|0)!=0;p=ra+oa|0;q=d[89456+p>>0]|0;n=sa+oa|0;h=d[89296+n>>0]|0;n=p>>>0<68|n>>>0<68;if(o){if(!n){Wp(ta|0,a[89616+(p<<2)+3>>0]|0,4)|0;jc[c[e+52>>2]&127](i+(8<<ga)|0,l,q,h,ta)}do if(la|0?(w=ka+ra|0,x=d[89456+w>>0]|0,oa=ka+sa|0,y=d[89296+oa>>0]|0,!(w>>>0<68|oa>>>0<68)):0){g=b[r>>1]|0;if(g<<16>>16>3){hc[c[e+60>>2]&255](i,l,x,y);break}else{a[ta>>0]=a[(g<<16>>16)+(89616+(w<<2))>>0]|0;a[ta+1>>0]=a[(b[r+2>>1]|0)+(89616+(w<<2))>>0]|0;a[ta+2>>0]=a[(b[r+4>>1]|0)+(89616+(w<<2))>>0]|0;a[ta+3>>0]=a[(b[r+6>>1]|0)+(89616+(w<<2))>>0]|0;jc[c[e+48>>2]&127](i,l,x,y,ta);break}}while(0);if(!n){Wp(ta|0,a[89616+(p<<2)+3>>0]|0,4)|0;jc[c[e+48>>2]&127](i+(l<<3)|0,l,q,h,ta)}}else{if(!n){ja=a[89616+(p<<2)+3>>0]|0;oa=e+52|0;Wp(ta|0,ja|0,4)|0;jc[c[oa>>2]&127](i+(4<<ga)|0,l,q,h,ta);Wp(ta|0,ja|0,4)|0;jc[c[oa>>2]&127](i+(8<<ga)|0,l,q,h,ta);Wp(ta|0,ja|0,4)|0;jc[c[oa>>2]&127](i+(12<<ga)|0,l,q,h,ta)}do if(la|0?(z=ka+ra|0,A=d[89456+z>>0]|0,oa=ka+sa|0,B=d[89296+oa>>0]|0,!(z>>>0<68|oa>>>0<68)):0){g=b[r>>1]|0;if(g<<16>>16>3){hc[c[e+60>>2]&255](i,l,A,B);break}else{a[ta>>0]=a[(g<<16>>16)+(89616+(z<<2))>>0]|0;a[ta+1>>0]=a[(b[r+2>>1]|0)+(89616+(z<<2))>>0]|0;a[ta+2>>0]=a[(b[r+4>>1]|0)+(89616+(z<<2))>>0]|0;a[ta+3>>0]=a[(b[r+6>>1]|0)+(89616+(z<<2))>>0]|0;jc[c[e+48>>2]&127](i,l,A,B,ta);break}}while(0);if(!n){ka=a[89616+(p<<2)+3>>0]|0;oa=e+48|0;Wp(ta|0,ka|0,4)|0;jc[c[oa>>2]&127](i+(l<<2)|0,l,q,h,ta);Wp(ta|0,ka|0,4)|0;jc[c[oa>>2]&127](i+(l<<3)|0,l,q,h,ta);Wp(ta|0,ka|0,4)|0;jc[c[oa>>2]&127](i+(l*12|0)|0,l,q,h,ta)}}if(!na)break;if(pa){if(f?(pa=V+ra|0,C=d[89456+pa>>0]|0,m=V+sa|0,D=d[89296+m>>0]|0,!(pa>>>0<68|m>>>0<68)):0){m=e+64|0;hc[c[m>>2]&255](j,l,C,D);hc[c[m>>2]&255](k,l,C,D)}if(o){g=8<<ga;o=ra+qa|0;p=d[89456+o>>0]|0;n=sa+qa|0;h=d[89296+n>>0]|0;n=o>>>0<68|n>>>0<68;if(!n){qa=a[89616+(o<<2)+3>>0]|0;m=e+52|0;Wp(ta|0,qa|0,4)|0;jc[c[m>>2]&127](j+g|0,l,p,h,ta);Wp(ta|0,qa|0,4)|0;jc[c[m>>2]&127](k+g|0,l,p,h,ta)}do if(la|0?(J=ma+ra|0,K=d[89456+J>>0]|0,sa=ma+sa|0,L=d[89296+sa>>0]|0,!(J>>>0<68|sa>>>0<68)):0){g=b[r>>1]|0;if(g<<16>>16>3){sa=e+60|0;hc[c[sa>>2]&255](j,l,K,L);hc[c[sa>>2]&255](k,l,K,L);break}else{na=a[(g<<16>>16)+(89616+(J<<2))>>0]|0;a[ta>>0]=na;oa=a[(b[r+2>>1]|0)+(89616+(J<<2))>>0]|0;i=ta+1|0;a[i>>0]=oa;pa=a[(b[r+4>>1]|0)+(89616+(J<<2))>>0]|0;qa=ta+2|0;a[qa>>0]=pa;m=a[(b[r+6>>1]|0)+(89616+(J<<2))>>0]|0;ra=ta+3|0;a[ra>>0]=m;sa=e+48|0;jc[c[sa>>2]&127](j,l,K,L,ta);a[ta>>0]=na;a[i>>0]=oa;a[qa>>0]=pa;a[ra>>0]=m;jc[c[sa>>2]&127](k,l,K,L,ta);break}}while(0);g=l<<3;if(n)break;sa=a[89616+(o<<2)+3>>0]|0;e=e+48|0;Wp(ta|0,sa|0,4)|0;jc[c[e>>2]&127](j+g|0,l,p,h,ta);Wp(ta|0,sa|0,4)|0;jc[c[e>>2]&127](k+g|0,l,p,h,ta);break}else{g=4<<ga;o=ra+qa|0;p=d[89456+o>>0]|0;n=sa+qa|0;h=d[89296+n>>0]|0;n=o>>>0<68|n>>>0<68;if(!n){pa=a[89616+(o<<2)+3>>0]|0;qa=e+52|0;Wp(ta|0,pa|0,4)|0;jc[c[qa>>2]&127](j+g|0,l,p,h,ta);Wp(ta|0,pa|0,4)|0;jc[c[qa>>2]&127](k+g|0,l,p,h,ta);m=8<<ga;Wp(ta|0,pa|0,4)|0;jc[c[qa>>2]&127](j+m|0,l,p,h,ta);Wp(ta|0,pa|0,4)|0;jc[c[qa>>2]&127](k+m|0,l,p,h,ta);m=12<<ga;Wp(ta|0,pa|0,4)|0;jc[c[qa>>2]&127](j+m|0,l,p,h,ta);Wp(ta|0,pa|0,4)|0;jc[c[qa>>2]&127](k+m|0,l,p,h,ta)}do if(la|0?(M=ma+ra|0,N=d[89456+M>>0]|0,sa=ma+sa|0,O=d[89296+sa>>0]|0,!(M>>>0<68|sa>>>0<68)):0){g=b[r>>1]|0;if(g<<16>>16>3){sa=e+60|0;hc[c[sa>>2]&255](j,l,N,O);hc[c[sa>>2]&255](k,l,N,O);break}else{na=a[(g<<16>>16)+(89616+(M<<2))>>0]|0;a[ta>>0]=na;oa=a[(b[r+2>>1]|0)+(89616+(M<<2))>>0]|0;i=ta+1|0;a[i>>0]=oa;pa=a[(b[r+4>>1]|0)+(89616+(M<<2))>>0]|0;qa=ta+2|0;a[qa>>0]=pa;m=a[(b[r+6>>1]|0)+(89616+(M<<2))>>0]|0;ra=ta+3|0;a[ra>>0]=m;sa=e+48|0;jc[c[sa>>2]&127](j,l,N,O,ta);a[ta>>0]=na;a[i>>0]=oa;a[qa>>0]=pa;a[ra>>0]=m;jc[c[sa>>2]&127](k,l,N,O,ta);break}}while(0);g=l<<2;if(n)break;ra=a[89616+(o<<2)+3>>0]|0;sa=e+48|0;Wp(ta|0,ra|0,4)|0;jc[c[sa>>2]&127](j+g|0,l,p,h,ta);Wp(ta|0,ra|0,4)|0;jc[c[sa>>2]&127](k+g|0,l,p,h,ta);e=l<<3;Wp(ta|0,ra|0,4)|0;jc[c[sa>>2]&127](j+e|0,l,p,h,ta);Wp(ta|0,ra|0,4)|0;jc[c[sa>>2]&127](k+e|0,l,p,h,ta);e=l*12|0;Wp(ta|0,ra|0,4)|0;jc[c[sa>>2]&127](j+e|0,l,p,h,ta);Wp(ta|0,ra|0,4)|0;jc[c[sa>>2]&127](k+e|0,l,p,h,ta);break}}if(u){if(f?(pa=V+ra|0,E=d[89456+pa>>0]|0,l=V+sa|0,F=d[89296+l>>0]|0,!(pa>>>0<68|l>>>0<68)):0){l=e+88|0;hc[c[l>>2]&255](j,m,E,F);hc[c[l>>2]&255](k,m,E,F)}g=4<<ga;o=ra+qa|0;p=d[89456+o>>0]|0;n=sa+qa|0;h=d[89296+n>>0]|0;n=o>>>0<68|n>>>0<68;if(!n){qa=(d[89616+(o<<2)+3>>0]|0)+1&255;l=e+76|0;Wp(ta|0,qa|0,4)|0;jc[c[l>>2]&127](j+g|0,m,p,h,ta);Wp(ta|0,qa|0,4)|0;jc[c[l>>2]&127](k+g|0,m,p,h,ta)}do if(la|0?(P=ma+ra|0,Q=d[89456+P>>0]|0,sa=ma+sa|0,R=d[89296+sa>>0]|0,!(P>>>0<68|sa>>>0<68)):0){g=b[r>>1]|0;if(g<<16>>16>3){sa=e+84|0;hc[c[sa>>2]&255](j,m,Q,R);hc[c[sa>>2]&255](k,m,Q,R);break}else{na=(d[(g<<16>>16)+(89616+(P<<2))>>0]|0)+1&255;a[ta>>0]=na;oa=(d[(b[r+2>>1]|0)+(89616+(P<<2))>>0]|0)+1&255;i=ta+1|0;a[i>>0]=oa;pa=(d[(b[r+4>>1]|0)+(89616+(P<<2))>>0]|0)+1&255;qa=ta+2|0;a[qa>>0]=pa;ra=(d[(b[r+6>>1]|0)+(89616+(P<<2))>>0]|0)+1&255;l=ta+3|0;a[l>>0]=ra;sa=e+72|0;jc[c[sa>>2]&127](j,m,Q,R,ta);a[ta>>0]=na;a[i>>0]=oa;a[qa>>0]=pa;a[l>>0]=ra;jc[c[sa>>2]&127](k,m,Q,R,ta);break}}while(0);g=m<<2;if(n)break;l=(d[89616+(o<<2)+3>>0]|0)+1&255;sa=e+72|0;Wp(ta|0,l|0,4)|0;jc[c[sa>>2]&127](j+g|0,m,p,h,ta);Wp(ta|0,l|0,4)|0;jc[c[sa>>2]&127](k+g|0,m,p,h,ta);e=m<<3;Wp(ta|0,l|0,4)|0;jc[c[sa>>2]&127](j+e|0,m,p,h,ta);Wp(ta|0,l|0,4)|0;jc[c[sa>>2]&127](k+e|0,m,p,h,ta);e=m*12|0;Wp(ta|0,l|0,4)|0;jc[c[sa>>2]&127](j+e|0,m,p,h,ta);Wp(ta|0,l|0,4)|0;jc[c[sa>>2]&127](k+e|0,m,p,h,ta);break}else{if(f?(pa=V+ra|0,G=d[89456+pa>>0]|0,l=V+sa|0,I=d[89296+l>>0]|0,!(pa>>>0<68|l>>>0<68)):0){l=e+88|0;hc[c[l>>2]&255](j,m,G,I);hc[c[l>>2]&255](k,m,G,I)}g=4<<ga;o=ra+qa|0;p=d[89456+o>>0]|0;n=sa+qa|0;h=d[89296+n>>0]|0;n=o>>>0<68|n>>>0<68;if(!n){qa=(d[89616+(o<<2)+3>>0]|0)+1&255;l=e+76|0;Wp(ta|0,qa|0,4)|0;jc[c[l>>2]&127](j+g|0,m,p,h,ta);Wp(ta|0,qa|0,4)|0;jc[c[l>>2]&127](k+g|0,m,p,h,ta)}do if(la|0?(S=ma+ra|0,T=d[89456+S>>0]|0,sa=ma+sa|0,U=d[89296+sa>>0]|0,!(S>>>0<68|sa>>>0<68)):0){g=b[r>>1]|0;if(g<<16>>16>3){sa=e+84|0;hc[c[sa>>2]&255](j,m,T,U);hc[c[sa>>2]&255](k,m,T,U);break}else{na=(d[(g<<16>>16)+(89616+(S<<2))>>0]|0)+1&255;a[ta>>0]=na;oa=(d[(b[r+2>>1]|0)+(89616+(S<<2))>>0]|0)+1&255;i=ta+1|0;a[i>>0]=oa;pa=(d[(b[r+4>>1]|0)+(89616+(S<<2))>>0]|0)+1&255;qa=ta+2|0;a[qa>>0]=pa;ra=(d[(b[r+6>>1]|0)+(89616+(S<<2))>>0]|0)+1&255;l=ta+3|0;a[l>>0]=ra;sa=e+72|0;jc[c[sa>>2]&127](j,m,T,U,ta);a[ta>>0]=na;a[i>>0]=oa;a[qa>>0]=pa;a[l>>0]=ra;jc[c[sa>>2]&127](k,m,T,U,ta);break}}while(0);g=m<<2;if(n)break;sa=(d[89616+(o<<2)+3>>0]|0)+1&255;e=e+72|0;Wp(ta|0,sa|0,4)|0;jc[c[e>>2]&127](j+g|0,m,p,h,ta);Wp(ta|0,sa|0,4)|0;jc[c[e>>2]&127](k+g|0,m,p,h,ta);break}}h=(o|8)+-1&-16;u=h;q=(t&16777216|0)!=0;g=c[f+21856>>2]|0;if(q?!(pa|(g&7|0)!=7):0){p=h;c[p>>2]=131074;c[p+4>>2]=131074;p=u+16|0;c[p>>2]=131074;c[p+4>>2]=131074;p=u+32|0;c[p>>2]=131074;c[p+4>>2]=131074;p=u+48|0;c[p>>2]=131074;c[p+4>>2]=131074;p=4}else{U=0-((t*5|0)>>>5&1)&3|t>>4;p=4-(0-(t>>>3&(g&15|0)==0)&3)|0;pc[r&3](u,f+27824|0,f+28272|0,f+27952|0,(c[f+23412>>2]|0)==2&1,p,(t>>24)+1|0,0-((s*5|0)>>>5&1&U>>>1)&3,U,(c[e+26364>>2]|0)!=3&1)}if(s&7|0){U=h;c[U>>2]=262148;c[U+4>>2]=262148}if(la&7|0){T=(c[e+26364>>2]|0)==3;U=u+32|0;c[U>>2]=T?262148:196611;c[U+4>>2]=T?262148:196611}do if(s|0?(U=h,!((c[U>>2]|0)==0&(c[U+4>>2]|0)==0)):0){n=v+ra|0;o=d[89456+n>>0]|0;U=v+sa|0;g=d[89296+U>>0]|0;do if(!(n>>>0<68|U>>>0<68)){h=b[u>>1]|0;if(h<<16>>16>3){hc[c[e+64>>2]&255](i,l,o,g);break}else{a[ta>>0]=a[(h<<16>>16)+(89616+(n<<2))>>0]|0;a[ta+1>>0]=a[(b[u+2>>1]|0)+(89616+(n<<2))>>0]|0;a[ta+2>>0]=a[(b[u+4>>1]|0)+(89616+(n<<2))>>0]|0;a[ta+3>>0]=a[(b[u+6>>1]|0)+(89616+(n<<2))>>0]|0;jc[c[e+52>>2]&127](i,l,o,g,ta);break}}while(0);if(na){n=V+ra|0;o=d[89456+n>>0]|0;g=V+sa|0;h=d[89296+g>>0]|0;g=n>>>0<68|g>>>0<68;if(pa){if(g)break;g=b[u>>1]|0;if(g<<16>>16>3)hc[c[e+64>>2]&255](j,l,o,h);else{a[ta>>0]=a[(g<<16>>16)+(89616+(n<<2))>>0]|0;a[ta+1>>0]=a[(b[u+2>>1]|0)+(89616+(n<<2))>>0]|0;a[ta+2>>0]=a[(b[u+4>>1]|0)+(89616+(n<<2))>>0]|0;a[ta+3>>0]=a[(b[u+6>>1]|0)+(89616+(n<<2))>>0]|0;jc[c[e+52>>2]&127](j,l,o,h,ta)}g=b[u>>1]|0;if(g<<16>>16>3){hc[c[e+64>>2]&255](k,l,o,h);break}else{a[ta>>0]=a[(g<<16>>16)+(89616+(n<<2))>>0]|0;a[ta+1>>0]=a[(b[u+2>>1]|0)+(89616+(n<<2))>>0]|0;a[ta+2>>0]=a[(b[u+4>>1]|0)+(89616+(n<<2))>>0]|0;a[ta+3>>0]=a[(b[u+6>>1]|0)+(89616+(n<<2))>>0]|0;jc[c[e+52>>2]&127](k,l,o,h,ta);break}}else{if(g)break;g=b[u>>1]|0;if(g<<16>>16>3)hc[c[e+88>>2]&255](j,m,o,h);else{a[ta>>0]=(d[(g<<16>>16)+(89616+(n<<2))>>0]|0)+1;a[ta+1>>0]=(d[(b[u+2>>1]|0)+(89616+(n<<2))>>0]|0)+1;a[ta+2>>0]=(d[(b[u+4>>1]|0)+(89616+(n<<2))>>0]|0)+1;a[ta+3>>0]=(d[(b[u+6>>1]|0)+(89616+(n<<2))>>0]|0)+1;jc[c[e+76>>2]&127](j,m,o,h,ta)}g=b[u>>1]|0;if(g<<16>>16>3){hc[c[e+88>>2]&255](k,m,o,h);break}else{a[ta>>0]=(d[(g<<16>>16)+(89616+(n<<2))>>0]|0)+1;a[ta+1>>0]=(d[(b[u+2>>1]|0)+(89616+(n<<2))>>0]|0)+1;a[ta+2>>0]=(d[(b[u+4>>1]|0)+(89616+(n<<2))>>0]|0)+1;a[ta+3>>0]=(d[(b[u+6>>1]|0)+(89616+(n<<2))>>0]|0)+1;jc[c[e+76>>2]&127](k,m,o,h,ta);break}}}}while(0);do if((p|0)==1){if(la|0?(_=u+32|0,qa=_,oa=c[qa>>2]|0,W=oa&65535,!((oa|0)==0&(c[qa+4>>2]|0)==0)):0){h=ka+ra|0;n=d[89456+h>>0]|0;qa=ka+sa|0;g=d[89296+qa>>0]|0;do if(!(h>>>0<68|qa>>>0<68))if(W<<16>>16>3){hc[c[e+60>>2]&255](i,l,n,g);break}else{a[ta>>0]=a[(W<<16>>16)+(89616+(h<<2))>>0]|0;a[ta+1>>0]=a[(b[u+34>>1]|0)+(89616+(h<<2))>>0]|0;a[ta+2>>0]=a[(b[u+36>>1]|0)+(89616+(h<<2))>>0]|0;a[ta+3>>0]=a[(b[u+38>>1]|0)+(89616+(h<<2))>>0]|0;jc[c[e+48>>2]&127](i,l,n,g,ta);break}while(0);if(na){n=ma+ra|0;o=d[89456+n>>0]|0;g=ma+sa|0;h=d[89296+g>>0]|0;g=n>>>0<68|g>>>0<68;if(pa){if(g)break;g=b[_>>1]|0;if(g<<16>>16>3)hc[c[e+60>>2]&255](j,l,o,h);else{a[ta>>0]=a[(g<<16>>16)+(89616+(n<<2))>>0]|0;a[ta+1>>0]=a[(b[u+34>>1]|0)+(89616+(n<<2))>>0]|0;a[ta+2>>0]=a[(b[u+36>>1]|0)+(89616+(n<<2))>>0]|0;a[ta+3>>0]=a[(b[u+38>>1]|0)+(89616+(n<<2))>>0]|0;jc[c[e+48>>2]&127](j,l,o,h,ta)}g=b[_>>1]|0;if(g<<16>>16>3){hc[c[e+60>>2]&255](k,l,o,h);break}else{a[ta>>0]=a[(g<<16>>16)+(89616+(n<<2))>>0]|0;a[ta+1>>0]=a[(b[u+34>>1]|0)+(89616+(n<<2))>>0]|0;a[ta+2>>0]=a[(b[u+36>>1]|0)+(89616+(n<<2))>>0]|0;a[ta+3>>0]=a[(b[u+38>>1]|0)+(89616+(n<<2))>>0]|0;jc[c[e+48>>2]&127](k,l,o,h,ta);break}}else{if(g)break;g=b[_>>1]|0;if(g<<16>>16>3)hc[c[e+84>>2]&255](j,m,o,h);else{a[ta>>0]=(d[(g<<16>>16)+(89616+(n<<2))>>0]|0)+1;a[ta+1>>0]=(d[(b[u+34>>1]|0)+(89616+(n<<2))>>0]|0)+1;a[ta+2>>0]=(d[(b[u+36>>1]|0)+(89616+(n<<2))>>0]|0)+1;a[ta+3>>0]=(d[(b[u+38>>1]|0)+(89616+(n<<2))>>0]|0)+1;jc[c[e+72>>2]&127](j,m,o,h,ta)}g=b[_>>1]|0;if(g<<16>>16>3){hc[c[e+84>>2]&255](k,m,o,h);break}else{a[ta>>0]=(d[(g<<16>>16)+(89616+(n<<2))>>0]|0)+1;a[ta+1>>0]=(d[(b[u+34>>1]|0)+(89616+(n<<2))>>0]|0)+1;a[ta+2>>0]=(d[(b[u+36>>1]|0)+(89616+(n<<2))>>0]|0)+1;a[ta+3>>0]=(d[(b[u+38>>1]|0)+(89616+(n<<2))>>0]|0)+1;jc[c[e+72>>2]&127](k,m,o,h,ta);break}}}}}else{if(q){q=u+16|0;ja=q;o=c[ja>>2]|0;do if(!((o|0)==0&(c[ja+4>>2]|0)==0)){g=1<<ga;p=g<<3;h=ra+oa|0;n=sa+oa|0;if(!(h>>>0<68|n>>>0<68)){ja=d[89296+n>>0]|0;ia=d[89456+h>>0]|0;a[ta>>0]=a[(o<<16>>16)+(89616+(h<<2))>>0]|0;a[ta+1>>0]=a[(b[u+18>>1]|0)+(89616+(h<<2))>>0]|0;a[ta+2>>0]=a[(b[u+20>>1]|0)+(89616+(h<<2))>>0]|0;a[ta+3>>0]=a[(b[u+22>>1]|0)+(89616+(h<<2))>>0]|0;jc[c[e+52>>2]&127](i+p|0,l,ia,ja,ta)}if(na)if(pa){g=ra+qa|0;h=d[89456+g>>0]|0;ja=sa+qa|0;n=d[89296+ja>>0]|0;if(g>>>0<68|ja>>>0<68)break;a[ta>>0]=a[(b[q>>1]|0)+(89616+(g<<2))>>0]|0;da=u+18|0;ea=ta+1|0;a[ea>>0]=a[(b[da>>1]|0)+(89616+(g<<2))>>0]|0;fa=u+20|0;ga=ta+2|0;a[ga>>0]=a[(b[fa>>1]|0)+(89616+(g<<2))>>0]|0;ha=u+22|0;ia=ta+3|0;a[ia>>0]=a[(b[ha>>1]|0)+(89616+(g<<2))>>0]|0;ja=e+52|0;jc[c[ja>>2]&127](j+p|0,l,h,n,ta);a[ta>>0]=a[(b[q>>1]|0)+(89616+(g<<2))>>0]|0;a[ea>>0]=a[(b[da>>1]|0)+(89616+(g<<2))>>0]|0;a[ga>>0]=a[(b[fa>>1]|0)+(89616+(g<<2))>>0]|0;a[ia>>0]=a[(b[ha>>1]|0)+(89616+(g<<2))>>0]|0;jc[c[ja>>2]&127](k+p|0,l,h,n,ta);break}else{g=g<<2;h=ra+qa|0;n=d[89456+h>>0]|0;ja=sa+qa|0;o=d[89296+ja>>0]|0;if(h>>>0<68|ja>>>0<68)break;a[ta>>0]=(d[(b[q>>1]|0)+(89616+(h<<2))>>0]|0)+1;da=u+18|0;ea=ta+1|0;a[ea>>0]=(d[(b[da>>1]|0)+(89616+(h<<2))>>0]|0)+1;fa=u+20|0;ga=ta+2|0;a[ga>>0]=(d[(b[fa>>1]|0)+(89616+(h<<2))>>0]|0)+1;ha=u+22|0;ia=ta+3|0;a[ia>>0]=(d[(b[ha>>1]|0)+(89616+(h<<2))>>0]|0)+1;ja=e+76|0;jc[c[ja>>2]&127](j+g|0,m,n,o,ta);a[ta>>0]=(d[(b[q>>1]|0)+(89616+(h<<2))>>0]|0)+1;a[ea>>0]=(d[(b[da>>1]|0)+(89616+(h<<2))>>0]|0)+1;a[ga>>0]=(d[(b[fa>>1]|0)+(89616+(h<<2))>>0]|0)+1;a[ia>>0]=(d[(b[ha>>1]|0)+(89616+(h<<2))>>0]|0)+1;jc[c[ja>>2]&127](k+g|0,m,n,o,ta);break}}while(0);do if(la|0?(aa=u+32|0,la=aa,ja=c[la>>2]|0,$=ja&65535,!((ja|0)==0&(c[la+4>>2]|0)==0)):0){h=ka+ra|0;n=d[89456+h>>0]|0;la=ka+sa|0;g=d[89296+la>>0]|0;do if(!(h>>>0<68|la>>>0<68))if($<<16>>16>3){hc[c[e+60>>2]&255](i,l,n,g);break}else{a[ta>>0]=a[($<<16>>16)+(89616+(h<<2))>>0]|0;a[ta+1>>0]=a[(b[u+34>>1]|0)+(89616+(h<<2))>>0]|0;a[ta+2>>0]=a[(b[u+36>>1]|0)+(89616+(h<<2))>>0]|0;a[ta+3>>0]=a[(b[u+38>>1]|0)+(89616+(h<<2))>>0]|0;jc[c[e+48>>2]&127](i,l,n,g,ta);break}while(0);if(na){n=ma+ra|0;o=d[89456+n>>0]|0;g=ma+sa|0;h=d[89296+g>>0]|0;g=n>>>0<68|g>>>0<68;if(pa){if(g)break;g=b[aa>>1]|0;if(g<<16>>16>3)hc[c[e+60>>2]&255](j,l,o,h);else{a[ta>>0]=a[(g<<16>>16)+(89616+(n<<2))>>0]|0;a[ta+1>>0]=a[(b[u+34>>1]|0)+(89616+(n<<2))>>0]|0;a[ta+2>>0]=a[(b[u+36>>1]|0)+(89616+(n<<2))>>0]|0;a[ta+3>>0]=a[(b[u+38>>1]|0)+(89616+(n<<2))>>0]|0;jc[c[e+48>>2]&127](j,l,o,h,ta)}g=b[aa>>1]|0;if(g<<16>>16>3){hc[c[e+60>>2]&255](k,l,o,h);break}else{a[ta>>0]=a[(g<<16>>16)+(89616+(n<<2))>>0]|0;a[ta+1>>0]=a[(b[u+34>>1]|0)+(89616+(n<<2))>>0]|0;a[ta+2>>0]=a[(b[u+36>>1]|0)+(89616+(n<<2))>>0]|0;a[ta+3>>0]=a[(b[u+38>>1]|0)+(89616+(n<<2))>>0]|0;jc[c[e+48>>2]&127](k,l,o,h,ta);break}}else{if(g)break;g=b[aa>>1]|0;if(g<<16>>16>3)hc[c[e+84>>2]&255](j,m,o,h);else{a[ta>>0]=(d[(g<<16>>16)+(89616+(n<<2))>>0]|0)+1;a[ta+1>>0]=(d[(b[u+34>>1]|0)+(89616+(n<<2))>>0]|0)+1;a[ta+2>>0]=(d[(b[u+36>>1]|0)+(89616+(n<<2))>>0]|0)+1;a[ta+3>>0]=(d[(b[u+38>>1]|0)+(89616+(n<<2))>>0]|0)+1;jc[c[e+72>>2]&127](j,m,o,h,ta)}g=b[aa>>1]|0;if(g<<16>>16>3){hc[c[e+84>>2]&255](k,m,o,h);break}else{a[ta>>0]=(d[(g<<16>>16)+(89616+(n<<2))>>0]|0)+1;a[ta+1>>0]=(d[(b[u+34>>1]|0)+(89616+(n<<2))>>0]|0)+1;a[ta+2>>0]=(d[(b[u+36>>1]|0)+(89616+(n<<2))>>0]|0)+1;a[ta+3>>0]=(d[(b[u+38>>1]|0)+(89616+(n<<2))>>0]|0)+1;jc[c[e+72>>2]&127](k,m,o,h,ta);break}}}}while(0);p=u+48|0;ma=p;h=c[ma>>2]|0;if((h|0)==0&(c[ma+4>>2]|0)==0)break;o=l<<3;n=ra+oa|0;g=sa+oa|0;if(!(n>>>0<68|g>>>0<68)){oa=d[89296+g>>0]|0;ma=d[89456+n>>0]|0;a[ta>>0]=a[(h<<16>>16)+(89616+(n<<2))>>0]|0;a[ta+1>>0]=a[(b[u+50>>1]|0)+(89616+(n<<2))>>0]|0;a[ta+2>>0]=a[(b[u+52>>1]|0)+(89616+(n<<2))>>0]|0;a[ta+3>>0]=a[(b[u+54>>1]|0)+(89616+(n<<2))>>0]|0;jc[c[e+48>>2]&127](i+o|0,l,ma,oa,ta)}if(!na)break;if(pa){h=ra+qa|0;n=d[89456+h>>0]|0;sa=sa+qa|0;g=d[89296+sa>>0]|0;if(h>>>0<68|sa>>>0<68)break;a[ta>>0]=a[(b[p>>1]|0)+(89616+(h<<2))>>0]|0;i=u+50|0;pa=ta+1|0;a[pa>>0]=a[(b[i>>1]|0)+(89616+(h<<2))>>0]|0;qa=u+52|0;m=ta+2|0;a[m>>0]=a[(b[qa>>1]|0)+(89616+(h<<2))>>0]|0;ra=u+54|0;sa=ta+3|0;a[sa>>0]=a[(b[ra>>1]|0)+(89616+(h<<2))>>0]|0;e=e+48|0;jc[c[e>>2]&127](j+o|0,l,n,g,ta);a[ta>>0]=a[(b[p>>1]|0)+(89616+(h<<2))>>0]|0;a[pa>>0]=a[(b[i>>1]|0)+(89616+(h<<2))>>0]|0;a[m>>0]=a[(b[qa>>1]|0)+(89616+(h<<2))>>0]|0;a[sa>>0]=a[(b[ra>>1]|0)+(89616+(h<<2))>>0]|0;jc[c[e>>2]&127](k+o|0,l,n,g,ta);break}else{o=m<<2;h=ra+qa|0;n=d[89456+h>>0]|0;sa=sa+qa|0;g=d[89296+sa>>0]|0;if(h>>>0<68|sa>>>0<68)break;a[ta>>0]=(d[(b[p>>1]|0)+(89616+(h<<2))>>0]|0)+1;i=u+50|0;pa=ta+1|0;a[pa>>0]=(d[(b[i>>1]|0)+(89616+(h<<2))>>0]|0)+1;qa=u+52|0;ra=ta+2|0;a[ra>>0]=(d[(b[qa>>1]|0)+(89616+(h<<2))>>0]|0)+1;l=u+54|0;sa=ta+3|0;a[sa>>0]=(d[(b[l>>1]|0)+(89616+(h<<2))>>0]|0)+1;e=e+72|0;jc[c[e>>2]&127](j+o|0,m,n,g,ta);a[ta>>0]=(d[(b[p>>1]|0)+(89616+(h<<2))>>0]|0)+1;a[pa>>0]=(d[(b[i>>1]|0)+(89616+(h<<2))>>0]|0)+1;a[ra>>0]=(d[(b[qa>>1]|0)+(89616+(h<<2))>>0]|0)+1;a[sa>>0]=(d[(b[l>>1]|0)+(89616+(h<<2))>>0]|0)+1;jc[c[e>>2]&127](k+o|0,m,n,g,ta);break}}g=u+8|0;aa=g;h=c[aa>>2]|0;if(!((h|0)==0&(c[aa+4>>2]|0)==0)){n=4<<ga;o=ra+oa|0;p=sa+oa|0;if(!(o>>>0<68|p>>>0<68)){aa=d[89296+p>>0]|0;$=d[89456+o>>0]|0;a[ta>>0]=a[(h<<16>>16)+(89616+(o<<2))>>0]|0;a[ta+1>>0]=a[(b[u+10>>1]|0)+(89616+(o<<2))>>0]|0;a[ta+2>>0]=a[(b[u+12>>1]|0)+(89616+(o<<2))>>0]|0;a[ta+3>>0]=a[(b[u+14>>1]|0)+(89616+(o<<2))>>0]|0;jc[c[e+52>>2]&127](i+n|0,l,$,aa,ta)}if(pa?(X=ra+qa|0,Y=d[89456+X>>0]|0,aa=sa+qa|0,Z=d[89296+aa>>0]|0,!(X>>>0<68|aa>>>0<68)):0){a[ta>>0]=a[(b[g>>1]|0)+(89616+(X<<2))>>0]|0;T=u+10|0;U=ta+1|0;a[U>>0]=a[(b[T>>1]|0)+(89616+(X<<2))>>0]|0;V=u+12|0;W=ta+2|0;a[W>>0]=a[(b[V>>1]|0)+(89616+(X<<2))>>0]|0;_=u+14|0;$=ta+3|0;a[$>>0]=a[(b[_>>1]|0)+(89616+(X<<2))>>0]|0;aa=e+52|0;jc[c[aa>>2]&127](j+n|0,l,Y,Z,ta);a[ta>>0]=a[(b[g>>1]|0)+(89616+(X<<2))>>0]|0;a[U>>0]=a[(b[T>>1]|0)+(89616+(X<<2))>>0]|0;a[W>>0]=a[(b[V>>1]|0)+(89616+(X<<2))>>0]|0;a[$>>0]=a[(b[_>>1]|0)+(89616+(X<<2))>>0]|0;jc[c[aa>>2]&127](k+n|0,l,Y,Z,ta)}}q=u+16|0;aa=q;g=c[aa>>2]|0;do if(!((g|0)==0&(c[aa+4>>2]|0)==0)){h=1<<ga;p=h<<3;n=ra+oa|0;o=sa+oa|0;if(!(n>>>0<68|o>>>0<68)){aa=d[89296+o>>0]|0;$=d[89456+n>>0]|0;a[ta>>0]=a[(g<<16>>16)+(89616+(n<<2))>>0]|0;a[ta+1>>0]=a[(b[u+18>>1]|0)+(89616+(n<<2))>>0]|0;a[ta+2>>0]=a[(b[u+20>>1]|0)+(89616+(n<<2))>>0]|0;a[ta+3>>0]=a[(b[u+22>>1]|0)+(89616+(n<<2))>>0]|0;jc[c[e+52>>2]&127](i+p|0,l,$,aa,ta)}if(na)if(pa){g=ra+qa|0;h=d[89456+g>>0]|0;aa=sa+qa|0;n=d[89296+aa>>0]|0;if(g>>>0<68|aa>>>0<68)break;a[ta>>0]=a[(b[q>>1]|0)+(89616+(g<<2))>>0]|0;W=u+18|0;X=ta+1|0;a[X>>0]=a[(b[W>>1]|0)+(89616+(g<<2))>>0]|0;Y=u+20|0;Z=ta+2|0;a[Z>>0]=a[(b[Y>>1]|0)+(89616+(g<<2))>>0]|0;_=u+22|0;$=ta+3|0;a[$>>0]=a[(b[_>>1]|0)+(89616+(g<<2))>>0]|0;aa=e+52|0;jc[c[aa>>2]&127](j+p|0,l,h,n,ta);a[ta>>0]=a[(b[q>>1]|0)+(89616+(g<<2))>>0]|0;a[X>>0]=a[(b[W>>1]|0)+(89616+(g<<2))>>0]|0;a[Z>>0]=a[(b[Y>>1]|0)+(89616+(g<<2))>>0]|0;a[$>>0]=a[(b[_>>1]|0)+(89616+(g<<2))>>0]|0;jc[c[aa>>2]&127](k+p|0,l,h,n,ta);break}else{g=h<<2;h=ra+qa|0;n=d[89456+h>>0]|0;aa=sa+qa|0;o=d[89296+aa>>0]|0;if(h>>>0<68|aa>>>0<68)break;a[ta>>0]=(d[(b[q>>1]|0)+(89616+(h<<2))>>0]|0)+1;W=u+18|0;X=ta+1|0;a[X>>0]=(d[(b[W>>1]|0)+(89616+(h<<2))>>0]|0)+1;Y=u+20|0;Z=ta+2|0;a[Z>>0]=(d[(b[Y>>1]|0)+(89616+(h<<2))>>0]|0)+1;_=u+22|0;$=ta+3|0;a[$>>0]=(d[(b[_>>1]|0)+(89616+(h<<2))>>0]|0)+1;aa=e+76|0;jc[c[aa>>2]&127](j+g|0,m,n,o,ta);a[ta>>0]=(d[(b[q>>1]|0)+(89616+(h<<2))>>0]|0)+1;a[X>>0]=(d[(b[W>>1]|0)+(89616+(h<<2))>>0]|0)+1;a[Z>>0]=(d[(b[Y>>1]|0)+(89616+(h<<2))>>0]|0)+1;a[$>>0]=(d[(b[_>>1]|0)+(89616+(h<<2))>>0]|0)+1;jc[c[aa>>2]&127](k+g|0,m,n,o,ta);break}}while(0);o=u+24|0;aa=o;p=c[aa>>2]|0;if(!((p|0)==0&(c[aa+4>>2]|0)==0)){g=12<<ga;h=ra+oa|0;n=sa+oa|0;if(!(h>>>0<68|n>>>0<68)){ga=d[89296+n>>0]|0;aa=d[89456+h>>0]|0;a[ta>>0]=a[(p<<16>>16)+(89616+(h<<2))>>0]|0;a[ta+1>>0]=a[(b[u+26>>1]|0)+(89616+(h<<2))>>0]|0;a[ta+2>>0]=a[(b[u+28>>1]|0)+(89616+(h<<2))>>0]|0;a[ta+3>>0]=a[(b[u+30>>1]|0)+(89616+(h<<2))>>0]|0;jc[c[e+52>>2]&127](i+g|0,l,aa,ga,ta)}if(pa?(ba=ra+qa|0,ca=d[89456+ba>>0]|0,ga=sa+qa|0,da=d[89296+ga>>0]|0,!(ba>>>0<68|ga>>>0<68)):0){a[ta>>0]=a[(b[o>>1]|0)+(89616+(ba<<2))>>0]|0;X=u+26|0;Y=ta+1|0;a[Y>>0]=a[(b[X>>1]|0)+(89616+(ba<<2))>>0]|0;Z=u+28|0;_=ta+2|0;a[_>>0]=a[(b[Z>>1]|0)+(89616+(ba<<2))>>0]|0;$=u+30|0;aa=ta+3|0;a[aa>>0]=a[(b[$>>1]|0)+(89616+(ba<<2))>>0]|0;ga=e+52|0;jc[c[ga>>2]&127](j+g|0,l,ca,da,ta);a[ta>>0]=a[(b[o>>1]|0)+(89616+(ba<<2))>>0]|0;a[Y>>0]=a[(b[X>>1]|0)+(89616+(ba<<2))>>0]|0;a[_>>0]=a[(b[Z>>1]|0)+(89616+(ba<<2))>>0]|0;a[aa>>0]=a[(b[$>>1]|0)+(89616+(ba<<2))>>0]|0;jc[c[ga>>2]&127](k+g|0,l,ca,da,ta)}}do if(la|0?(fa=u+32|0,la=fa,ga=c[la>>2]|0,ea=ga&65535,!((ga|0)==0&(c[la+4>>2]|0)==0)):0){h=ka+ra|0;n=d[89456+h>>0]|0;la=ka+sa|0;g=d[89296+la>>0]|0;do if(!(h>>>0<68|la>>>0<68))if(ea<<16>>16>3){hc[c[e+60>>2]&255](i,l,n,g);break}else{a[ta>>0]=a[(ea<<16>>16)+(89616+(h<<2))>>0]|0;a[ta+1>>0]=a[(b[u+34>>1]|0)+(89616+(h<<2))>>0]|0;a[ta+2>>0]=a[(b[u+36>>1]|0)+(89616+(h<<2))>>0]|0;a[ta+3>>0]=a[(b[u+38>>1]|0)+(89616+(h<<2))>>0]|0;jc[c[e+48>>2]&127](i,l,n,g,ta);break}while(0);if(na){n=ma+ra|0;o=d[89456+n>>0]|0;g=ma+sa|0;h=d[89296+g>>0]|0;g=n>>>0<68|g>>>0<68;if(pa){if(g)break;g=b[fa>>1]|0;if(g<<16>>16>3)hc[c[e+60>>2]&255](j,l,o,h);else{a[ta>>0]=a[(g<<16>>16)+(89616+(n<<2))>>0]|0;a[ta+1>>0]=a[(b[u+34>>1]|0)+(89616+(n<<2))>>0]|0;a[ta+2>>0]=a[(b[u+36>>1]|0)+(89616+(n<<2))>>0]|0;a[ta+3>>0]=a[(b[u+38>>1]|0)+(89616+(n<<2))>>0]|0;jc[c[e+48>>2]&127](j,l,o,h,ta)}g=b[fa>>1]|0;if(g<<16>>16>3){hc[c[e+60>>2]&255](k,l,o,h);break}else{a[ta>>0]=a[(g<<16>>16)+(89616+(n<<2))>>0]|0;a[ta+1>>0]=a[(b[u+34>>1]|0)+(89616+(n<<2))>>0]|0;a[ta+2>>0]=a[(b[u+36>>1]|0)+(89616+(n<<2))>>0]|0;a[ta+3>>0]=a[(b[u+38>>1]|0)+(89616+(n<<2))>>0]|0;jc[c[e+48>>2]&127](k,l,o,h,ta);break}}else{if(g)break;g=b[fa>>1]|0;if(g<<16>>16>3)hc[c[e+84>>2]&255](j,m,o,h);else{a[ta>>0]=(d[(g<<16>>16)+(89616+(n<<2))>>0]|0)+1;a[ta+1>>0]=(d[(b[u+34>>1]|0)+(89616+(n<<2))>>0]|0)+1;a[ta+2>>0]=(d[(b[u+36>>1]|0)+(89616+(n<<2))>>0]|0)+1;a[ta+3>>0]=(d[(b[u+38>>1]|0)+(89616+(n<<2))>>0]|0)+1;jc[c[e+72>>2]&127](j,m,o,h,ta)}g=b[fa>>1]|0;if(g<<16>>16>3){hc[c[e+84>>2]&255](k,m,o,h);break}else{a[ta>>0]=(d[(g<<16>>16)+(89616+(n<<2))>>0]|0)+1;a[ta+1>>0]=(d[(b[u+34>>1]|0)+(89616+(n<<2))>>0]|0)+1;a[ta+2>>0]=(d[(b[u+36>>1]|0)+(89616+(n<<2))>>0]|0)+1;a[ta+3>>0]=(d[(b[u+38>>1]|0)+(89616+(n<<2))>>0]|0)+1;jc[c[e+72>>2]&127](k,m,o,h,ta);break}}}}while(0);g=u+40|0;ma=g;h=c[ma>>2]|0;if(!((h|0)==0&(c[ma+4>>2]|0)==0)){n=l<<2;o=ra+oa|0;p=sa+oa|0;if(!(o>>>0<68|p>>>0<68)){ma=d[89296+p>>0]|0;la=d[89456+o>>0]|0;a[ta>>0]=a[(h<<16>>16)+(89616+(o<<2))>>0]|0;a[ta+1>>0]=a[(b[u+42>>1]|0)+(89616+(o<<2))>>0]|0;a[ta+2>>0]=a[(b[u+44>>1]|0)+(89616+(o<<2))>>0]|0;a[ta+3>>0]=a[(b[u+46>>1]|0)+(89616+(o<<2))>>0]|0;jc[c[e+48>>2]&127](i+n|0,l,la,ma,ta)}if(pa?(ha=ra+qa|0,ia=d[89456+ha>>0]|0,ma=sa+qa|0,ja=d[89296+ma>>0]|0,!(ha>>>0<68|ma>>>0<68)):0){a[ta>>0]=a[(b[g>>1]|0)+(89616+(ha<<2))>>0]|0;da=u+42|0;ea=ta+1|0;a[ea>>0]=a[(b[da>>1]|0)+(89616+(ha<<2))>>0]|0;fa=u+44|0;ga=ta+2|0;a[ga>>0]=a[(b[fa>>1]|0)+(89616+(ha<<2))>>0]|0;ka=u+46|0;la=ta+3|0;a[la>>0]=a[(b[ka>>1]|0)+(89616+(ha<<2))>>0]|0;ma=e+48|0;jc[c[ma>>2]&127](j+n|0,l,ia,ja,ta);a[ta>>0]=a[(b[g>>1]|0)+(89616+(ha<<2))>>0]|0;a[ea>>0]=a[(b[da>>1]|0)+(89616+(ha<<2))>>0]|0;a[ga>>0]=a[(b[fa>>1]|0)+(89616+(ha<<2))>>0]|0;a[la>>0]=a[(b[ka>>1]|0)+(89616+(ha<<2))>>0]|0;jc[c[ma>>2]&127](k+n|0,l,ia,ja,ta)}}p=u+48|0;ma=p;g=c[ma>>2]|0;do if(!((g|0)==0&(c[ma+4>>2]|0)==0)){o=l<<3;h=ra+oa|0;n=sa+oa|0;if(!(h>>>0<68|n>>>0<68)){ma=d[89296+n>>0]|0;la=d[89456+h>>0]|0;a[ta>>0]=a[(g<<16>>16)+(89616+(h<<2))>>0]|0;a[ta+1>>0]=a[(b[u+50>>1]|0)+(89616+(h<<2))>>0]|0;a[ta+2>>0]=a[(b[u+52>>1]|0)+(89616+(h<<2))>>0]|0;a[ta+3>>0]=a[(b[u+54>>1]|0)+(89616+(h<<2))>>0]|0;jc[c[e+48>>2]&127](i+o|0,l,la,ma,ta)}if(na)if(pa){g=ra+qa|0;h=d[89456+g>>0]|0;m=sa+qa|0;n=d[89296+m>>0]|0;if(g>>>0<68|m>>>0<68)break;a[ta>>0]=a[(b[p>>1]|0)+(89616+(g<<2))>>0]|0;ia=u+50|0;ja=ta+1|0;a[ja>>0]=a[(b[ia>>1]|0)+(89616+(g<<2))>>0]|0;ka=u+52|0;la=ta+2|0;a[la>>0]=a[(b[ka>>1]|0)+(89616+(g<<2))>>0]|0;ma=u+54|0;na=ta+3|0;a[na>>0]=a[(b[ma>>1]|0)+(89616+(g<<2))>>0]|0;m=e+48|0;jc[c[m>>2]&127](j+o|0,l,h,n,ta);a[ta>>0]=a[(b[p>>1]|0)+(89616+(g<<2))>>0]|0;a[ja>>0]=a[(b[ia>>1]|0)+(89616+(g<<2))>>0]|0;a[la>>0]=a[(b[ka>>1]|0)+(89616+(g<<2))>>0]|0;a[na>>0]=a[(b[ma>>1]|0)+(89616+(g<<2))>>0]|0;jc[c[m>>2]&127](k+o|0,l,h,n,ta);break}else{g=m<<2;h=ra+qa|0;n=d[89456+h>>0]|0;na=sa+qa|0;o=d[89296+na>>0]|0;if(h>>>0<68|na>>>0<68)break;a[ta>>0]=(d[(b[p>>1]|0)+(89616+(h<<2))>>0]|0)+1;ha=u+50|0;ia=ta+1|0;a[ia>>0]=(d[(b[ha>>1]|0)+(89616+(h<<2))>>0]|0)+1;ja=u+52|0;ka=ta+2|0;a[ka>>0]=(d[(b[ja>>1]|0)+(89616+(h<<2))>>0]|0)+1;la=u+54|0;ma=ta+3|0;a[ma>>0]=(d[(b[la>>1]|0)+(89616+(h<<2))>>0]|0)+1;na=e+72|0;jc[c[na>>2]&127](j+g|0,m,n,o,ta);a[ta>>0]=(d[(b[p>>1]|0)+(89616+(h<<2))>>0]|0)+1;a[ia>>0]=(d[(b[ha>>1]|0)+(89616+(h<<2))>>0]|0)+1;a[ka>>0]=(d[(b[ja>>1]|0)+(89616+(h<<2))>>0]|0)+1;a[ma>>0]=(d[(b[la>>1]|0)+(89616+(h<<2))>>0]|0)+1;jc[c[na>>2]&127](k+g|0,m,n,o,ta);break}}while(0);o=u+56|0;m=o;h=c[m>>2]|0;if(!((h|0)==0&(c[m+4>>2]|0)==0)){p=l*12|0;n=ra+oa|0;g=sa+oa|0;if(!(n>>>0<68|g>>>0<68)){m=d[89296+g>>0]|0;oa=d[89456+n>>0]|0;a[ta>>0]=a[(h<<16>>16)+(89616+(n<<2))>>0]|0;a[ta+1>>0]=a[(b[u+58>>1]|0)+(89616+(n<<2))>>0]|0;a[ta+2>>0]=a[(b[u+60>>1]|0)+(89616+(n<<2))>>0]|0;a[ta+3>>0]=a[(b[u+62>>1]|0)+(89616+(n<<2))>>0]|0;jc[c[e+48>>2]&127](i+p|0,l,oa,m,ta)}if(pa){h=ra+qa|0;n=d[89456+h>>0]|0;sa=sa+qa|0;g=d[89296+sa>>0]|0;if(h>>>0<68|sa>>>0<68)break;a[ta>>0]=a[(b[o>>1]|0)+(89616+(h<<2))>>0]|0;i=u+58|0;pa=ta+1|0;a[pa>>0]=a[(b[i>>1]|0)+(89616+(h<<2))>>0]|0;qa=u+60|0;m=ta+2|0;a[m>>0]=a[(b[qa>>1]|0)+(89616+(h<<2))>>0]|0;ra=u+62|0;sa=ta+3|0;a[sa>>0]=a[(b[ra>>1]|0)+(89616+(h<<2))>>0]|0;e=e+48|0;jc[c[e>>2]&127](j+p|0,l,n,g,ta);a[ta>>0]=a[(b[o>>1]|0)+(89616+(h<<2))>>0]|0;a[pa>>0]=a[(b[i>>1]|0)+(89616+(h<<2))>>0]|0;a[m>>0]=a[(b[qa>>1]|0)+(89616+(h<<2))>>0]|0;a[sa>>0]=a[(b[ra>>1]|0)+(89616+(h<<2))>>0]|0;jc[c[e>>2]&127](k+p|0,l,n,g,ta)}}}while(0)}else ua=3;while(0);if((ua|0)==3)tc(e,f,g,h,i,j,k,l,m);Mb=va;return}function tc(f,g,h,i,j,k,l,m,n){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0;Qa=Mb;Mb=Mb+32|0;Oa=Qa+24|0;A=Qa;La=f+27e3|0;Ca=(H(c[La>>2]|0,i)|0)+h|0;Da=f+24364|0;Ea=c[(c[Da>>2]|0)+(Ca<<2)>>2]|0;Fa=(Ea>>>6&2^2)+2|0;Ga=f+28200|0;Ja=c[Ga>>2]|0;Ha=(c[Ja+12>>2]|0)!=0;Ja=(H(c[Ja+1184>>2]|0,-6)|0)+48|0;Ia=(c[g+872>>2]|0)+52+Ja|0;Ja=(c[g+876>>2]|0)+52+Ja|0;Ka=f+26360|0;Ba=g+21740|0;if((c[Ka>>2]|0)!=0?(Aa=c[Ba>>2]|0,!((Aa|0)==0|((Aa^Ea)&128|0)==0)):0){h=(A|8)+-1&-16;z=h;a:do if(!(Ea&7)){v=c[g+21828>>2]|0;r=i&1;s=(v|0)!=0;h=f+28196|0;t=f+25956|0;u=f+26376|0;q=0;while(1){if((q|0)==8){o=v;break a}p=s?q>>>2:q&1;o=c[g+21720+(p<<2)>>2]|0;p=c[g+21740+(p<<2)>>2]|0;if(!(p&7)){if((p&16777216|0)==0?1:(c[(c[h>>2]|0)+4>>2]|0)!=0)o=d[(d[90240+(v<<4)+(r<<3)+q>>0]|0)+((c[t>>2]|0)+(o*48|0))>>0]|0;else o=(((s?q&2:r)|0)==0?8192:32768)&e[(c[u>>2]|0)+(o<<1)>>1];o=(o|d[(q>>>1<<3)+12+(g+27824)>>0]|0)==0?1:2}else o=4;b[z+(q<<1)>>1]=o;q=q+1|0}}else{c[h>>2]=262148;c[h+4>>2]=262148;h=z+8|0;c[h>>2]=262148;c[h+4>>2]=262148;h=f+28196|0;o=c[g+21828>>2]|0}while(0);y=c[f+24340>>2]|0;za=a[y+Ca>>0]|0;x=a[y+(c[g+21720>>2]|0)>>0]|0;y=a[y+(c[g+21724>>2]|0)>>0]|0;t=za+1|0;Aa=c[h>>2]|0;w=(d[Aa+548+za>>0]|0)+1|0;za=(d[Aa+636+za>>0]|0)+1|0;h=t+x>>1;u=(w+(d[Aa+548+x>>0]|0)|0)>>>1;x=(za+(d[Aa+636+x>>0]|0)|0)>>>1;t=t+y>>1;w=(w+(d[Aa+548+y>>0]|0)|0)>>>1;y=(za+(d[Aa+636+y>>0]|0)|0)>>>1;do if(!o){s=m<<1;p=h+Ia|0;q=d[89456+p>>0]|0;Aa=h+Ja|0;h=d[89296+Aa>>0]|0;do if(!(p>>>0<68|Aa>>>0<68)){o=b[z>>1]|0;if(o<<16>>16>3){hc[c[f+68>>2]&255](j,s,q,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(89616+(p<<2))>>0]|0;a[Oa+1>>0]=a[(b[z+4>>1]|0)+(89616+(p<<2))>>0]|0;a[Oa+2>>0]=a[(b[z+8>>1]|0)+(89616+(p<<2))>>0]|0;a[Oa+3>>0]=a[(b[z+12>>1]|0)+(89616+(p<<2))>>0]|0;jc[c[f+56>>2]&127](j,s,q,h,Oa);break}}while(0);p=j+m|0;v=z+2|0;q=t+Ia|0;r=d[89456+q>>0]|0;Aa=t+Ja|0;h=d[89296+Aa>>0]|0;do if(!(q>>>0<68|Aa>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){hc[c[f+68>>2]&255](p,s,r,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(89616+(q<<2))>>0]|0;a[Oa+1>>0]=a[(b[z+6>>1]|0)+(89616+(q<<2))>>0]|0;a[Oa+2>>0]=a[(b[z+10>>1]|0)+(89616+(q<<2))>>0]|0;a[Oa+3>>0]=a[(b[z+14>>1]|0)+(89616+(q<<2))>>0]|0;jc[c[f+56>>2]&127](p,s,r,h,Oa);break}}while(0);if(Ha){s=n<<1;p=u+Ia|0;q=d[89456+p>>0]|0;h=u+Ja|0;o=d[89296+h>>0]|0;h=p>>>0<68|h>>>0<68;if((c[(c[Ga>>2]|0)+12>>2]|0)==3){do if(!h){h=b[z>>1]|0;if(h<<16>>16>3){hc[c[f+68>>2]&255](k,s,q,o);break}else{a[Oa>>0]=a[(h<<16>>16)+(89616+(p<<2))>>0]|0;a[Oa+1>>0]=a[(b[z+4>>1]|0)+(89616+(p<<2))>>0]|0;a[Oa+2>>0]=a[(b[z+8>>1]|0)+(89616+(p<<2))>>0]|0;a[Oa+3>>0]=a[(b[z+12>>1]|0)+(89616+(p<<2))>>0]|0;jc[c[f+56>>2]&127](k,s,q,o,Oa);break}}while(0);p=k+n|0;q=w+Ia|0;r=d[89456+q>>0]|0;Aa=w+Ja|0;h=d[89296+Aa>>0]|0;do if(!(q>>>0<68|Aa>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){hc[c[f+68>>2]&255](p,s,r,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(89616+(q<<2))>>0]|0;a[Oa+1>>0]=a[(b[z+6>>1]|0)+(89616+(q<<2))>>0]|0;a[Oa+2>>0]=a[(b[z+10>>1]|0)+(89616+(q<<2))>>0]|0;a[Oa+3>>0]=a[(b[z+14>>1]|0)+(89616+(q<<2))>>0]|0;jc[c[f+56>>2]&127](p,s,r,h,Oa);break}}while(0);p=x+Ia|0;q=d[89456+p>>0]|0;Aa=x+Ja|0;h=d[89296+Aa>>0]|0;do if(!(p>>>0<68|Aa>>>0<68)){o=b[z>>1]|0;if(o<<16>>16>3){hc[c[f+68>>2]&255](l,s,q,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(89616+(p<<2))>>0]|0;a[Oa+1>>0]=a[(b[z+4>>1]|0)+(89616+(p<<2))>>0]|0;a[Oa+2>>0]=a[(b[z+8>>1]|0)+(89616+(p<<2))>>0]|0;a[Oa+3>>0]=a[(b[z+12>>1]|0)+(89616+(p<<2))>>0]|0;jc[c[f+56>>2]&127](l,s,q,h,Oa);break}}while(0);p=l+n|0;q=y+Ia|0;r=d[89456+q>>0]|0;Aa=y+Ja|0;o=d[89296+Aa>>0]|0;if(q>>>0<68|Aa>>>0<68)break;h=b[v>>1]|0;if(h<<16>>16>3){hc[c[f+68>>2]&255](p,s,r,o);break}else{a[Oa>>0]=a[(h<<16>>16)+(89616+(q<<2))>>0]|0;a[Oa+1>>0]=a[(b[z+6>>1]|0)+(89616+(q<<2))>>0]|0;a[Oa+2>>0]=a[(b[z+10>>1]|0)+(89616+(q<<2))>>0]|0;a[Oa+3>>0]=a[(b[z+14>>1]|0)+(89616+(q<<2))>>0]|0;jc[c[f+56>>2]&127](p,s,r,o,Oa);break}}else{do if(!h){h=b[z>>1]|0;if(h<<16>>16>3){hc[c[f+92>>2]&255](k,s,q,o);break}else{a[Oa>>0]=(d[(h<<16>>16)+(89616+(p<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[z+4>>1]|0)+(89616+(p<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[z+8>>1]|0)+(89616+(p<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[z+12>>1]|0)+(89616+(p<<2))>>0]|0)+1;jc[c[f+80>>2]&127](k,s,q,o,Oa);break}}while(0);p=k+n|0;q=w+Ia|0;r=d[89456+q>>0]|0;Aa=w+Ja|0;h=d[89296+Aa>>0]|0;do if(!(q>>>0<68|Aa>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){hc[c[f+92>>2]&255](p,s,r,h);break}else{a[Oa>>0]=(d[(o<<16>>16)+(89616+(q<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[z+6>>1]|0)+(89616+(q<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[z+10>>1]|0)+(89616+(q<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[z+14>>1]|0)+(89616+(q<<2))>>0]|0)+1;jc[c[f+80>>2]&127](p,s,r,h,Oa);break}}while(0);p=x+Ia|0;q=d[89456+p>>0]|0;Aa=x+Ja|0;h=d[89296+Aa>>0]|0;do if(!(p>>>0<68|Aa>>>0<68)){o=b[z>>1]|0;if(o<<16>>16>3){hc[c[f+92>>2]&255](l,s,q,h);break}else{a[Oa>>0]=(d[(o<<16>>16)+(89616+(p<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[z+4>>1]|0)+(89616+(p<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[z+8>>1]|0)+(89616+(p<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[z+12>>1]|0)+(89616+(p<<2))>>0]|0)+1;jc[c[f+80>>2]&127](l,s,q,h,Oa);break}}while(0);p=l+n|0;q=y+Ia|0;r=d[89456+q>>0]|0;Aa=y+Ja|0;o=d[89296+Aa>>0]|0;if(q>>>0<68|Aa>>>0<68)break;h=b[v>>1]|0;if(h<<16>>16>3){hc[c[f+92>>2]&255](p,s,r,o);break}else{a[Oa>>0]=(d[(h<<16>>16)+(89616+(q<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[z+6>>1]|0)+(89616+(q<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[z+10>>1]|0)+(89616+(q<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[z+14>>1]|0)+(89616+(q<<2))>>0]|0)+1;jc[c[f+80>>2]&127](p,s,r,o,Oa);break}}}}else{p=h+Ia|0;q=d[89456+p>>0]|0;Aa=h+Ja|0;h=d[89296+Aa>>0]|0;do if(!(p>>>0<68|Aa>>>0<68)){o=b[z>>1]|0;if(o<<16>>16>3){hc[c[f+68>>2]&255](j,m,q,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(89616+(p<<2))>>0]|0;a[Oa+1>>0]=a[(b[z+2>>1]|0)+(89616+(p<<2))>>0]|0;a[Oa+2>>0]=a[(b[z+4>>1]|0)+(89616+(p<<2))>>0]|0;a[Oa+3>>0]=a[(b[z+6>>1]|0)+(89616+(p<<2))>>0]|0;jc[c[f+56>>2]&127](j,m,q,h,Oa);break}}while(0);p=j+(m<<3)|0;v=z+8|0;q=t+Ia|0;r=d[89456+q>>0]|0;Aa=t+Ja|0;h=d[89296+Aa>>0]|0;do if(!(q>>>0<68|Aa>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){hc[c[f+68>>2]&255](p,m,r,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(89616+(q<<2))>>0]|0;a[Oa+1>>0]=a[(b[z+10>>1]|0)+(89616+(q<<2))>>0]|0;a[Oa+2>>0]=a[(b[z+12>>1]|0)+(89616+(q<<2))>>0]|0;a[Oa+3>>0]=a[(b[z+14>>1]|0)+(89616+(q<<2))>>0]|0;jc[c[f+56>>2]&127](p,m,r,h,Oa);break}}while(0);if(Ha){h=c[(c[Ga>>2]|0)+12>>2]|0;if((h|0)==3){p=u+Ia|0;q=d[89456+p>>0]|0;Aa=u+Ja|0;h=d[89296+Aa>>0]|0;do if(!(p>>>0<68|Aa>>>0<68)){o=b[z>>1]|0;if(o<<16>>16>3){hc[c[f+68>>2]&255](k,n,q,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(89616+(p<<2))>>0]|0;a[Oa+1>>0]=a[(b[z+2>>1]|0)+(89616+(p<<2))>>0]|0;a[Oa+2>>0]=a[(b[z+4>>1]|0)+(89616+(p<<2))>>0]|0;a[Oa+3>>0]=a[(b[z+6>>1]|0)+(89616+(p<<2))>>0]|0;jc[c[f+56>>2]&127](k,n,q,h,Oa);break}}while(0);s=n<<3;p=k+s|0;q=w+Ia|0;r=d[89456+q>>0]|0;Aa=w+Ja|0;h=d[89296+Aa>>0]|0;do if(!(q>>>0<68|Aa>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){hc[c[f+68>>2]&255](p,n,r,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(89616+(q<<2))>>0]|0;a[Oa+1>>0]=a[(b[z+10>>1]|0)+(89616+(q<<2))>>0]|0;a[Oa+2>>0]=a[(b[z+12>>1]|0)+(89616+(q<<2))>>0]|0;a[Oa+3>>0]=a[(b[z+14>>1]|0)+(89616+(q<<2))>>0]|0;jc[c[f+56>>2]&127](p,n,r,h,Oa);break}}while(0);p=x+Ia|0;q=d[89456+p>>0]|0;Aa=x+Ja|0;h=d[89296+Aa>>0]|0;do if(!(p>>>0<68|Aa>>>0<68)){o=b[z>>1]|0;if(o<<16>>16>3){hc[c[f+68>>2]&255](l,n,q,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(89616+(p<<2))>>0]|0;a[Oa+1>>0]=a[(b[z+2>>1]|0)+(89616+(p<<2))>>0]|0;a[Oa+2>>0]=a[(b[z+4>>1]|0)+(89616+(p<<2))>>0]|0;a[Oa+3>>0]=a[(b[z+6>>1]|0)+(89616+(p<<2))>>0]|0;jc[c[f+56>>2]&127](l,n,q,h,Oa);break}}while(0);p=l+s|0;q=y+Ia|0;r=d[89456+q>>0]|0;Aa=y+Ja|0;o=d[89296+Aa>>0]|0;if(q>>>0<68|Aa>>>0<68)break;h=b[v>>1]|0;if(h<<16>>16>3){hc[c[f+68>>2]&255](p,n,r,o);break}else{a[Oa>>0]=a[(h<<16>>16)+(89616+(q<<2))>>0]|0;a[Oa+1>>0]=a[(b[z+10>>1]|0)+(89616+(q<<2))>>0]|0;a[Oa+2>>0]=a[(b[z+12>>1]|0)+(89616+(q<<2))>>0]|0;a[Oa+3>>0]=a[(b[z+14>>1]|0)+(89616+(q<<2))>>0]|0;jc[c[f+56>>2]&127](p,n,r,o,Oa);break}}p=(h|0)==2;q=u+Ia|0;r=d[89456+q>>0]|0;Aa=u+Ja|0;h=d[89296+Aa>>0]|0;do if(!(q>>>0<68|Aa>>>0<68)){o=b[z>>1]|0;if(o<<16>>16>3){hc[c[f+92>>2]&255](k,n,r,h);break}else{a[Oa>>0]=(d[(o<<16>>16)+(89616+(q<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[z+2>>1]|0)+(89616+(q<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[z+4>>1]|0)+(89616+(q<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[z+6>>1]|0)+(89616+(q<<2))>>0]|0)+1;jc[c[f+80>>2]&127](k,n,r,h,Oa);break}}while(0);if(p){s=n<<3;p=k+s|0;q=w+Ia|0;r=d[89456+q>>0]|0;Aa=w+Ja|0;h=d[89296+Aa>>0]|0;do if(!(q>>>0<68|Aa>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){hc[c[f+92>>2]&255](p,n,r,h);break}else{a[Oa>>0]=(d[(o<<16>>16)+(89616+(q<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[z+10>>1]|0)+(89616+(q<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[z+12>>1]|0)+(89616+(q<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[z+14>>1]|0)+(89616+(q<<2))>>0]|0)+1;jc[c[f+80>>2]&127](p,n,r,h,Oa);break}}while(0);p=x+Ia|0;q=d[89456+p>>0]|0;Aa=x+Ja|0;h=d[89296+Aa>>0]|0;do if(!(p>>>0<68|Aa>>>0<68)){o=b[z>>1]|0;if(o<<16>>16>3){hc[c[f+92>>2]&255](l,n,q,h);break}else{a[Oa>>0]=(d[(o<<16>>16)+(89616+(p<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[z+2>>1]|0)+(89616+(p<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[z+4>>1]|0)+(89616+(p<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[z+6>>1]|0)+(89616+(p<<2))>>0]|0)+1;jc[c[f+80>>2]&127](l,n,q,h,Oa);break}}while(0);p=l+s|0;q=y+Ia|0;r=d[89456+q>>0]|0;Aa=y+Ja|0;o=d[89296+Aa>>0]|0;if(q>>>0<68|Aa>>>0<68)break;h=b[v>>1]|0;if(h<<16>>16>3){hc[c[f+92>>2]&255](p,n,r,o);break}else{a[Oa>>0]=(d[(h<<16>>16)+(89616+(q<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[z+10>>1]|0)+(89616+(q<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[z+12>>1]|0)+(89616+(q<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[z+14>>1]|0)+(89616+(q<<2))>>0]|0)+1;jc[c[f+80>>2]&127](p,n,r,o,Oa);break}}else{s=n<<2;p=k+s|0;q=w+Ia|0;r=d[89456+q>>0]|0;Aa=w+Ja|0;h=d[89296+Aa>>0]|0;do if(!(q>>>0<68|Aa>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){hc[c[f+92>>2]&255](p,n,r,h);break}else{a[Oa>>0]=(d[(o<<16>>16)+(89616+(q<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[z+10>>1]|0)+(89616+(q<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[z+12>>1]|0)+(89616+(q<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[z+14>>1]|0)+(89616+(q<<2))>>0]|0)+1;jc[c[f+80>>2]&127](p,n,r,h,Oa);break}}while(0);p=x+Ia|0;q=d[89456+p>>0]|0;Aa=x+Ja|0;h=d[89296+Aa>>0]|0;do if(!(p>>>0<68|Aa>>>0<68)){o=b[z>>1]|0;if(o<<16>>16>3){hc[c[f+92>>2]&255](l,n,q,h);break}else{a[Oa>>0]=(d[(o<<16>>16)+(89616+(p<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[z+2>>1]|0)+(89616+(p<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[z+4>>1]|0)+(89616+(p<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[z+6>>1]|0)+(89616+(p<<2))>>0]|0)+1;jc[c[f+80>>2]&127](l,n,q,h,Oa);break}}while(0);p=l+s|0;q=y+Ia|0;r=d[89456+q>>0]|0;Aa=y+Ja|0;o=d[89296+Aa>>0]|0;if(q>>>0<68|Aa>>>0<68)break;h=b[v>>1]|0;if(h<<16>>16>3){hc[c[f+92>>2]&255](p,n,r,o);break}else{a[Oa>>0]=(d[(h<<16>>16)+(89616+(q<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[z+10>>1]|0)+(89616+(q<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[z+12>>1]|0)+(89616+(q<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[z+14>>1]|0)+(89616+(q<<2))>>0]|0)+1;jc[c[f+80>>2]&127](p,n,r,o,Oa);break}}}}while(0);ca=1}else ca=0;da=Ca+-1|0;ea=g+21732|0;fa=Ea>>>3&7;ga=g+21712|0;ha=g+21856|0;ma=(A|8)+-1&-16;ia=ma;ja=Ea&16777216;ka=(Ea&7|0)==0;la=f+24340|0;na=f+25652|0;oa=ia+6|0;pa=ia+4|0;qa=ia+2|0;ra=Oa+1|0;sa=Oa+2|0;ta=Oa+3|0;ua=f+52|0;va=f+48|0;wa=g+852|0;xa=m<<2;ya=g+856|0;za=f+72|0;Aa=f+76|0;Z=(i&1|0)==0;_=Ea&128^128;U=(A|8)+-1&-16;$=U;aa=m<<1;ba=n<<1;G=(A|8)+-1&-16;E=G;F=f+28196|0;I=f+25956|0;J=f+26376|0;K=g+27836|0;L=g+27837|0;M=E+2|0;N=E+4|0;O=E+6|0;P=g+27838|0;Q=g+27839|0;R=$+2|0;S=$+4|0;T=$+6|0;V=f+26364|0;W=f+64|0;X=f+60|0;Y=f+88|0;i=f+84|0;z=0;while(1){if((z|0)==2)break;A=(z|0)==0;B=c[(c[Ga>>2]|0)+12>>2]|0;f=(B|0)==3;B=(B|0)==2;if(A)w=da;else w=c[ga>>2]|0;o=c[(A?Ba:ea)>>2]|0;D=a[90272+(z<<3)+fa>>0]|0;C=D&255;if(D<<24>>24==3)D=(c[ha>>2]&15|0)==0?1:4;else D=4;p=32>>>z|8;y=p&Ea;b:do if(!(ca&A|(o|0)==0)){q=c[Ka>>2]|0;if(!((o&_|0)==0|Z&((z|0)==1&(q|0)!=0)^1)){u=Ca-(c[La>>2]<<1)|0;v=0;while(1){if((v|0)==2)break b;h=c[(c[Da>>2]|0)+(u<<2)>>2]|0;c:do if(!((h|Ea)&7)){if((h&16777216|0)==0?1:(c[(c[F>>2]|0)+4>>2]|0)!=0){o=(c[I>>2]|0)+(u*48|0)+12|0;h=0;while(1){if((h|0)==4)break c;b[E+(h<<1)>>1]=(a[o+h>>0]|a[h+12+(g+27824)>>0])<<24>>24==0?1:2;h=h+1|0}}o=(c[J>>2]|0)+(u<<1)|0;if((b[o>>1]&16384)==0?(a[K>>0]|0)==0:0)h=1;else h=2;b[E>>1]=h;if((b[o>>1]&16384)==0?(a[L>>0]|0)==0:0)h=1;else h=2;b[M>>1]=h;if((b[o>>1]|0)>=0?(a[P>>0]|0)==0:0)h=1;else h=2;b[N>>1]=h;if((b[o>>1]|0)>=0?(a[Q>>0]|0)==0:0)h=1;else h=2;b[O>>1]=h}else{x=G;c[x>>2]=196611;c[x+4>>2]=196611}while(0);p=c[la>>2]|0;h=a[p+u>>0]|0;p=(a[p+Ca>>0]|0)+1+h>>1;o=p+Ia|0;p=p+Ja|0;if(!(o>>>0<68|p>>>0<68)){h=d[89296+p>>0]|0;x=d[89456+o>>0]|0;w=j+(H(v,m)|0)|0;a[Oa>>0]=a[(b[E>>1]|0)+(89616+(o<<2))>>0]|0;a[ra>>0]=a[(b[M>>1]|0)+(89616+(o<<2))>>0]|0;a[sa>>0]=a[(b[N>>1]|0)+(89616+(o<<2))>>0]|0;a[ta>>0]=a[(b[O>>1]|0)+(89616+(o<<2))>>0]|0;jc[c[va>>2]&127](w,aa,x,h,Oa);h=a[(c[la>>2]|0)+u>>0]|0}s=c[F>>2]|0;o=(c[wa>>2]|0)+1+(d[s+548+h>>0]|0)>>1;s=(c[ya>>2]|0)+1+(d[s+636+h>>0]|0)>>1;do if(Ha){t=H(v,n)|0;p=k+t|0;q=o+Ia|0;r=d[89456+q>>0]|0;o=o+Ja|0;h=d[89296+o>>0]|0;o=q>>>0<68|o>>>0<68;if(f){if(!o){a[Oa>>0]=a[(b[E>>1]|0)+(89616+(q<<2))>>0]|0;a[ra>>0]=a[(b[M>>1]|0)+(89616+(q<<2))>>0]|0;a[sa>>0]=a[(b[N>>1]|0)+(89616+(q<<2))>>0]|0;a[ta>>0]=a[(b[O>>1]|0)+(89616+(q<<2))>>0]|0;jc[c[va>>2]&127](p,ba,r,h,Oa)}o=s+Ia|0;h=s+Ja|0;if(o>>>0<68|h>>>0<68)break;x=d[89296+h>>0]|0;w=d[89456+o>>0]|0;a[Oa>>0]=a[(b[E>>1]|0)+(89616+(o<<2))>>0]|0;a[ra>>0]=a[(b[M>>1]|0)+(89616+(o<<2))>>0]|0;a[sa>>0]=a[(b[N>>1]|0)+(89616+(o<<2))>>0]|0;a[ta>>0]=a[(b[O>>1]|0)+(89616+(o<<2))>>0]|0;jc[c[va>>2]&127](l+t|0,ba,w,x,Oa);break}else{if(!o){a[Oa>>0]=(d[(b[E>>1]|0)+(89616+(q<<2))>>0]|0)+1;a[ra>>0]=(d[(b[M>>1]|0)+(89616+(q<<2))>>0]|0)+1;a[sa>>0]=(d[(b[N>>1]|0)+(89616+(q<<2))>>0]|0)+1;a[ta>>0]=(d[(b[O>>1]|0)+(89616+(q<<2))>>0]|0)+1;jc[c[za>>2]&127](p,ba,r,h,Oa)}o=s+Ia|0;h=s+Ja|0;if(o>>>0<68|h>>>0<68)break;x=d[89296+h>>0]|0;w=d[89456+o>>0]|0;a[Oa>>0]=(d[(b[E>>1]|0)+(89616+(o<<2))>>0]|0)+1;a[ra>>0]=(d[(b[M>>1]|0)+(89616+(o<<2))>>0]|0)+1;a[sa>>0]=(d[(b[N>>1]|0)+(89616+(o<<2))>>0]|0)+1;a[ta>>0]=(d[(b[O>>1]|0)+(89616+(o<<2))>>0]|0)+1;jc[c[za>>2]&127](l+t|0,ba,w,x,Oa);break}}while(0);u=(c[La>>2]|0)+u|0;v=v+1|0}}h=o|Ea;d:do if(!(h&7)){h=(z|0)!=0;if(!((q|0)==0|h^1)?((o^Ea)&128|0)!=0:0){s=U;c[s>>2]=65537;c[s+4>>2]=65537;s=0}else if((y|0)==0|(o&p|0)==0)s=1;else{s=(ik(g,12,h?4:11,Fa)|0)&65535;b[T>>1]=s;b[S>>1]=s;b[R>>1]=s;b[$>>1]=s;s=0}q=h?8:1;p=0;while(1){if((p|0)==4)break d;h=(A?p<<3:p)+12|0;o=h-q|0;r=$+(p<<1)|0;if(!((a[g+27824+o>>0]|a[g+27824+h>>0])<<24>>24)){if(s){h=(ik(g,h,o,Fa)|0)&65535;Pa=170}}else{h=2;Pa=170}if((Pa|0)==170){Pa=0;b[r>>1]=h}p=p+1|0}}else{x=U;c[x>>2]=196611;c[x+4>>2]=196611;do if(h&128|0)if(!(c[Ka>>2]|0))if(A&(c[V>>2]|0)!=3)break;else break d;else if(A)break;else break d;while(0);x=U;c[x>>2]=262148;c[x+4>>2]=262148}while(0);r=b[$>>1]|0;s=r<<16>>16;t=b[R>>1]|0;u=b[S>>1]|0;v=b[T>>1]|0;do if((t+s+u|0)!=(0-v|0)){q=c[la>>2]|0;x=a[q+w>>0]|0;q=(a[q+Ca>>0]|0)+1+x>>1;h=c[F>>2]|0;w=(c[wa>>2]|0)+1+(d[h+548+x>>0]|0)>>1;x=(c[ya>>2]|0)+1+(d[h+636+x>>0]|0)>>1;h=q+Ia|0;o=d[89456+h>>0]|0;q=q+Ja|0;p=d[89296+q>>0]|0;q=h>>>0<68|q>>>0<68;if(A){do if(!q)if(r<<16>>16>3){hc[c[W>>2]&255](j,m,o,p);break}else{a[Oa>>0]=a[89616+(h<<2)+s>>0]|0;a[ra>>0]=a[89616+(h<<2)+t>>0]|0;a[sa>>0]=a[89616+(h<<2)+u>>0]|0;a[ta>>0]=a[89616+(h<<2)+v>>0]|0;jc[c[ua>>2]&127](j,m,o,p,Oa);break}while(0);if(!Ha)break;p=w+Ia|0;q=d[89456+p>>0]|0;h=w+Ja|0;o=d[89296+h>>0]|0;h=p>>>0<68|h>>>0<68;if(f){do if(!h){h=b[$>>1]|0;if(h<<16>>16>3){hc[c[W>>2]&255](k,n,q,o);break}else{a[Oa>>0]=a[(h<<16>>16)+(89616+(p<<2))>>0]|0;a[ra>>0]=a[(b[R>>1]|0)+(89616+(p<<2))>>0]|0;a[sa>>0]=a[(b[S>>1]|0)+(89616+(p<<2))>>0]|0;a[ta>>0]=a[(b[T>>1]|0)+(89616+(p<<2))>>0]|0;jc[c[ua>>2]&127](k,n,q,o,Oa);break}}while(0);p=x+Ia|0;q=d[89456+p>>0]|0;x=x+Ja|0;h=d[89296+x>>0]|0;if(p>>>0<68|x>>>0<68)break;o=b[$>>1]|0;if(o<<16>>16>3){hc[c[W>>2]&255](l,n,q,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(89616+(p<<2))>>0]|0;a[ra>>0]=a[(b[R>>1]|0)+(89616+(p<<2))>>0]|0;a[sa>>0]=a[(b[S>>1]|0)+(89616+(p<<2))>>0]|0;a[ta>>0]=a[(b[T>>1]|0)+(89616+(p<<2))>>0]|0;jc[c[ua>>2]&127](l,n,q,h,Oa);break}}else{do if(!h){h=b[$>>1]|0;if(h<<16>>16>3){hc[c[Y>>2]&255](k,n,q,o);break}else{a[Oa>>0]=(d[(h<<16>>16)+(89616+(p<<2))>>0]|0)+1;a[ra>>0]=(d[(b[R>>1]|0)+(89616+(p<<2))>>0]|0)+1;a[sa>>0]=(d[(b[S>>1]|0)+(89616+(p<<2))>>0]|0)+1;a[ta>>0]=(d[(b[T>>1]|0)+(89616+(p<<2))>>0]|0)+1;jc[c[Aa>>2]&127](k,n,q,o,Oa);break}}while(0);p=x+Ia|0;q=d[89456+p>>0]|0;x=x+Ja|0;h=d[89296+x>>0]|0;if(p>>>0<68|x>>>0<68)break;o=b[$>>1]|0;if(o<<16>>16>3){hc[c[Y>>2]&255](l,n,q,h);break}else{a[Oa>>0]=(d[(o<<16>>16)+(89616+(p<<2))>>0]|0)+1;a[ra>>0]=(d[(b[R>>1]|0)+(89616+(p<<2))>>0]|0)+1;a[sa>>0]=(d[(b[S>>1]|0)+(89616+(p<<2))>>0]|0)+1;a[ta>>0]=(d[(b[T>>1]|0)+(89616+(p<<2))>>0]|0)+1;jc[c[Aa>>2]&127](l,n,q,h,Oa);break}}}else{do if(!q)if(r<<16>>16>3){hc[c[X>>2]&255](j,m,o,p);break}else{a[Oa>>0]=a[89616+(h<<2)+s>>0]|0;a[ra>>0]=a[89616+(h<<2)+t>>0]|0;a[sa>>0]=a[89616+(h<<2)+u>>0]|0;a[ta>>0]=a[89616+(h<<2)+v>>0]|0;jc[c[va>>2]&127](j,m,o,p,Oa);break}while(0);if(!Ha)break;p=w+Ia|0;q=d[89456+p>>0]|0;h=w+Ja|0;o=d[89296+h>>0]|0;h=p>>>0<68|h>>>0<68;if(f){do if(!h){h=b[$>>1]|0;if(h<<16>>16>3){hc[c[X>>2]&255](k,n,q,o);break}else{a[Oa>>0]=a[(h<<16>>16)+(89616+(p<<2))>>0]|0;a[ra>>0]=a[(b[R>>1]|0)+(89616+(p<<2))>>0]|0;a[sa>>0]=a[(b[S>>1]|0)+(89616+(p<<2))>>0]|0;a[ta>>0]=a[(b[T>>1]|0)+(89616+(p<<2))>>0]|0;jc[c[va>>2]&127](k,n,q,o,Oa);break}}while(0);p=x+Ia|0;q=d[89456+p>>0]|0;x=x+Ja|0;h=d[89296+x>>0]|0;if(p>>>0<68|x>>>0<68)break;o=b[$>>1]|0;if(o<<16>>16>3){hc[c[X>>2]&255](l,n,q,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(89616+(p<<2))>>0]|0;a[ra>>0]=a[(b[R>>1]|0)+(89616+(p<<2))>>0]|0;a[sa>>0]=a[(b[S>>1]|0)+(89616+(p<<2))>>0]|0;a[ta>>0]=a[(b[T>>1]|0)+(89616+(p<<2))>>0]|0;jc[c[va>>2]&127](l,n,q,h,Oa);break}}else{do if(!h){h=b[$>>1]|0;if(h<<16>>16>3){hc[c[i>>2]&255](k,n,q,o);break}else{a[Oa>>0]=(d[(h<<16>>16)+(89616+(p<<2))>>0]|0)+1;a[ra>>0]=(d[(b[R>>1]|0)+(89616+(p<<2))>>0]|0)+1;a[sa>>0]=(d[(b[S>>1]|0)+(89616+(p<<2))>>0]|0)+1;a[ta>>0]=(d[(b[T>>1]|0)+(89616+(p<<2))>>0]|0)+1;jc[c[za>>2]&127](k,n,q,o,Oa);break}}while(0);p=x+Ia|0;q=d[89456+p>>0]|0;x=x+Ja|0;h=d[89296+x>>0]|0;if(p>>>0<68|x>>>0<68)break;o=b[$>>1]|0;if(o<<16>>16>3){hc[c[i>>2]&255](l,n,q,h);break}else{a[Oa>>0]=(d[(o<<16>>16)+(89616+(p<<2))>>0]|0)+1;a[ra>>0]=(d[(b[R>>1]|0)+(89616+(p<<2))>>0]|0)+1;a[sa>>0]=(d[(b[S>>1]|0)+(89616+(p<<2))>>0]|0)+1;a[ta>>0]=(d[(b[T>>1]|0)+(89616+(p<<2))>>0]|0)+1;jc[c[za>>2]&127](l,n,q,h,Oa);break}}}}while(0)}while(0);w=A|B^1;u=(y|0)==0;v=A?1:8;t=1;while(1){if(t>>>0>=D>>>0)break;s=(ja&t<<24|0)==0;do if(!(w&(s^1))){if(ka){if(!(t&C))if(u)p=1;else{p=(H(t,v)|0)+12|0;p=(ik(g,p,p-v|0,Fa)|0)&65535;b[oa>>1]=p;b[pa>>1]=p;b[qa>>1]=p;b[ia>>1]=p;p=0}else{p=ma;c[p>>2]=0;c[p+4>>2]=0;p=0}q=0;while(1){if((q|0)==4)break;h=(A?t:q)+12+((A?q:t)<<3)|0;o=h-v|0;r=ia+(q<<1)|0;if(!((a[g+27824+o>>0]|a[g+27824+h>>0])<<24>>24)){if(p){h=(ik(g,h,o,Fa)|0)&65535;Pa=233}}else{h=2;Pa=233}if((Pa|0)==233){Pa=0;b[r>>1]=h}q=q+1|0}if(((b[qa>>1]|0)+(b[ia>>1]|0)+(b[pa>>1]|0)|0)==(0-(b[oa>>1]|0)|0))break}else{y=ma;c[y>>2]=196611;c[y+4>>2]=196611}h=a[(c[la>>2]|0)+Ca>>0]|0;if(A){p=t<<2;o=Ia+h|0;h=Ja+h|0;if(!(o>>>0<68|h>>>0<68)){y=d[89296+h>>0]|0;x=d[89456+o>>0]|0;s=j+(p<<c[na>>2])|0;a[Oa>>0]=a[(b[ia>>1]|0)+(89616+(o<<2))>>0]|0;a[ra>>0]=a[(b[qa>>1]|0)+(89616+(o<<2))>>0]|0;a[sa>>0]=a[(b[pa>>1]|0)+(89616+(o<<2))>>0]|0;a[ta>>0]=a[(b[oa>>1]|0)+(89616+(o<<2))>>0]|0;jc[c[ua>>2]&127](s,m,x,y,Oa)}if(!Ha)break;if(f){o=c[wa>>2]|0;h=o+Ia|0;o=o+Ja|0;if(!(h>>>0<68|o>>>0<68)){y=d[89296+o>>0]|0;x=d[89456+h>>0]|0;s=k+(p<<c[na>>2])|0;a[Oa>>0]=a[(b[ia>>1]|0)+(89616+(h<<2))>>0]|0;a[ra>>0]=a[(b[qa>>1]|0)+(89616+(h<<2))>>0]|0;a[sa>>0]=a[(b[pa>>1]|0)+(89616+(h<<2))>>0]|0;a[ta>>0]=a[(b[oa>>1]|0)+(89616+(h<<2))>>0]|0;jc[c[ua>>2]&127](s,n,x,y,Oa)}o=c[ya>>2]|0;h=o+Ia|0;o=o+Ja|0;if(h>>>0<68|o>>>0<68)break;y=d[89296+o>>0]|0;x=d[89456+h>>0]|0;s=l+(p<<c[na>>2])|0;a[Oa>>0]=a[(b[ia>>1]|0)+(89616+(h<<2))>>0]|0;a[ra>>0]=a[(b[qa>>1]|0)+(89616+(h<<2))>>0]|0;a[sa>>0]=a[(b[pa>>1]|0)+(89616+(h<<2))>>0]|0;a[ta>>0]=a[(b[oa>>1]|0)+(89616+(h<<2))>>0]|0;jc[c[ua>>2]&127](s,n,x,y,Oa);break}if(t&1|0)break;p=t<<1;o=c[wa>>2]|0;h=o+Ia|0;o=o+Ja|0;if(!(h>>>0<68|o>>>0<68)){y=d[89296+o>>0]|0;x=d[89456+h>>0]|0;s=k+(p<<c[na>>2])|0;a[Oa>>0]=(d[(b[ia>>1]|0)+(89616+(h<<2))>>0]|0)+1;a[ra>>0]=(d[(b[qa>>1]|0)+(89616+(h<<2))>>0]|0)+1;a[sa>>0]=(d[(b[pa>>1]|0)+(89616+(h<<2))>>0]|0)+1;a[ta>>0]=(d[(b[oa>>1]|0)+(89616+(h<<2))>>0]|0)+1;jc[c[Aa>>2]&127](s,n,x,y,Oa)}o=c[ya>>2]|0;h=o+Ia|0;o=o+Ja|0;if(h>>>0<68|o>>>0<68)break;y=d[89296+o>>0]|0;x=d[89456+h>>0]|0;s=l+(p<<c[na>>2])|0;a[Oa>>0]=(d[(b[ia>>1]|0)+(89616+(h<<2))>>0]|0)+1;a[ra>>0]=(d[(b[qa>>1]|0)+(89616+(h<<2))>>0]|0)+1;a[sa>>0]=(d[(b[pa>>1]|0)+(89616+(h<<2))>>0]|0)+1;a[ta>>0]=(d[(b[oa>>1]|0)+(89616+(h<<2))>>0]|0)+1;jc[c[Aa>>2]&127](s,n,x,y,Oa);break}if(B){if(s?(Ma=Ia+h|0,Na=Ja+h|0,!(Ma>>>0<68|Na>>>0<68)):0){y=d[89296+Na>>0]|0;x=d[89456+Ma>>0]|0;s=j+(H(xa,t)|0)|0;a[Oa>>0]=a[(b[ia>>1]|0)+(89616+(Ma<<2))>>0]|0;a[ra>>0]=a[(b[qa>>1]|0)+(89616+(Ma<<2))>>0]|0;a[sa>>0]=a[(b[pa>>1]|0)+(89616+(Ma<<2))>>0]|0;a[ta>>0]=a[(b[oa>>1]|0)+(89616+(Ma<<2))>>0]|0;jc[c[va>>2]&127](s,m,x,y,Oa)}if(!Ha)break;p=H(t<<2,n)|0;o=c[wa>>2]|0;h=o+Ia|0;o=o+Ja|0;if(!(h>>>0<68|o>>>0<68)){y=d[89296+o>>0]|0;x=d[89456+h>>0]|0;a[Oa>>0]=(d[(b[ia>>1]|0)+(89616+(h<<2))>>0]|0)+1;a[ra>>0]=(d[(b[qa>>1]|0)+(89616+(h<<2))>>0]|0)+1;a[sa>>0]=(d[(b[pa>>1]|0)+(89616+(h<<2))>>0]|0)+1;a[ta>>0]=(d[(b[oa>>1]|0)+(89616+(h<<2))>>0]|0)+1;jc[c[za>>2]&127](k+p|0,n,x,y,Oa)}o=c[ya>>2]|0;h=o+Ia|0;o=o+Ja|0;if(h>>>0<68|o>>>0<68)break;y=d[89296+o>>0]|0;x=d[89456+h>>0]|0;a[Oa>>0]=(d[(b[ia>>1]|0)+(89616+(h<<2))>>0]|0)+1;a[ra>>0]=(d[(b[qa>>1]|0)+(89616+(h<<2))>>0]|0)+1;a[sa>>0]=(d[(b[pa>>1]|0)+(89616+(h<<2))>>0]|0)+1;a[ta>>0]=(d[(b[oa>>1]|0)+(89616+(h<<2))>>0]|0)+1;jc[c[za>>2]&127](l+p|0,n,x,y,Oa);break}o=t<<2;p=Ia+h|0;h=Ja+h|0;if(!(p>>>0<68|h>>>0<68)){y=d[89296+h>>0]|0;x=d[89456+p>>0]|0;s=j+(H(o,m)|0)|0;a[Oa>>0]=a[(b[ia>>1]|0)+(89616+(p<<2))>>0]|0;a[ra>>0]=a[(b[qa>>1]|0)+(89616+(p<<2))>>0]|0;a[sa>>0]=a[(b[pa>>1]|0)+(89616+(p<<2))>>0]|0;a[ta>>0]=a[(b[oa>>1]|0)+(89616+(p<<2))>>0]|0;jc[c[va>>2]&127](s,m,x,y,Oa)}if(Ha){if(f){p=H(o,n)|0;o=c[wa>>2]|0;h=o+Ia|0;o=o+Ja|0;if(!(h>>>0<68|o>>>0<68)){y=d[89296+o>>0]|0;x=d[89456+h>>0]|0;a[Oa>>0]=a[(b[ia>>1]|0)+(89616+(h<<2))>>0]|0;a[ra>>0]=a[(b[qa>>1]|0)+(89616+(h<<2))>>0]|0;a[sa>>0]=a[(b[pa>>1]|0)+(89616+(h<<2))>>0]|0;a[ta>>0]=a[(b[oa>>1]|0)+(89616+(h<<2))>>0]|0;jc[c[va>>2]&127](k+p|0,n,x,y,Oa)}o=c[ya>>2]|0;h=o+Ia|0;o=o+Ja|0;if(h>>>0<68|o>>>0<68)break;y=d[89296+o>>0]|0;x=d[89456+h>>0]|0;a[Oa>>0]=a[(b[ia>>1]|0)+(89616+(h<<2))>>0]|0;a[ra>>0]=a[(b[qa>>1]|0)+(89616+(h<<2))>>0]|0;a[sa>>0]=a[(b[pa>>1]|0)+(89616+(h<<2))>>0]|0;a[ta>>0]=a[(b[oa>>1]|0)+(89616+(h<<2))>>0]|0;jc[c[va>>2]&127](l+p|0,n,x,y,Oa);break}if(!(t&1)){p=H(t<<1,n)|0;o=c[wa>>2]|0;h=o+Ia|0;o=o+Ja|0;if(!(h>>>0<68|o>>>0<68)){y=d[89296+o>>0]|0;x=d[89456+h>>0]|0;a[Oa>>0]=(d[(b[ia>>1]|0)+(89616+(h<<2))>>0]|0)+1;a[ra>>0]=(d[(b[qa>>1]|0)+(89616+(h<<2))>>0]|0)+1;a[sa>>0]=(d[(b[pa>>1]|0)+(89616+(h<<2))>>0]|0)+1;a[ta>>0]=(d[(b[oa>>1]|0)+(89616+(h<<2))>>0]|0)+1;jc[c[za>>2]&127](k+p|0,n,x,y,Oa)}o=c[ya>>2]|0;h=o+Ia|0;o=o+Ja|0;if(!(h>>>0<68|o>>>0<68)){y=d[89296+o>>0]|0;x=d[89456+h>>0]|0;a[Oa>>0]=(d[(b[ia>>1]|0)+(89616+(h<<2))>>0]|0)+1;a[ra>>0]=(d[(b[qa>>1]|0)+(89616+(h<<2))>>0]|0)+1;a[sa>>0]=(d[(b[pa>>1]|0)+(89616+(h<<2))>>0]|0)+1;a[ta>>0]=(d[(b[oa>>1]|0)+(89616+(h<<2))>>0]|0)+1;jc[c[za>>2]&127](l+p|0,n,x,y,Oa)}}}}while(0);t=t+1|0}z=z+1|0}Mb=Qa;return}function uc(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;ja=Mb;Mb=Mb+48|0;_=ja+20|0;Y=ja;ia=ja+8|0;ca=g+21788|0;k=c[ca>>2]|0;aa=g+21792|0;o=c[aa>>2]|0;$=g+21796|0;l=c[$>>2]|0;ea=c[(c[f+24364>>2]|0)+(l<<2)>>2]|0;n=f+25960|0;X=g+848|0;if(!(c[X>>2]|0))fa=(c[(c[f+28200>>2]|0)+16>>2]|0)!=0&1;else fa=0;i=f+24316|0;ha=f+25652|0;m=g+21772|0;j=f+12|0;h=0;while(1){if((h|0)==3)break;W=c[ha>>2]|0;Z=c[m>>2]|0;V=(c[(c[i>>2]|0)+(h<<2)>>2]|0)+((H(Z,o)|0)+(k<<W)<<4)|0;c[ia+(h<<2)>>2]=V;W=V+(H(c[ca>>2]<<2&12,Z)|0)+(64<<W)|0;gc[c[j>>2]&1023](W,Z,4);h=h+1|0}j=g+23412|0;a[(c[f+26372>>2]|0)+l>>0]=c[j>>2];Z=g+21828|0;q=c[Z>>2]|0;h=c[m>>2]|0;a:do if(q){p=h<<1;c[g+21784>>2]=p;c[g+21780>>2]=p;n=f+26152|0;b:do if(o&1|0){i=H(h,-15)|0;h=0;while(1){if((h|0)==3)break b;W=ia+(h<<2)|0;c[W>>2]=(c[W>>2]|0)+i;h=h+1|0}}while(0);if(c[f+26360>>2]|0){m=(ea&8|0)==0;j=c[j>>2]|0;i=0;while(1){if(i>>>0>=j>>>0)break a;c:do if(12288<<(i<<1)&ea|0){if(!m){V=g+28272+(i*40|0)+12|0;W=H((a[V>>0]|0)+16^c[aa>>2]&1,16843009)|0;c[V>>2]=W;c[g+28272+(i*40|0)+20>>2]=W;c[g+28272+(i*40|0)+28>>2]=W;c[g+28272+(i*40|0)+36>>2]=W;break}h=0;while(1){if(h>>>0>=16)break c;k=(d[88656+h>>0]|0)+(g+28272+(i*40|0))|0;l=a[k>>0]|0;if(l<<24>>24>-1){W=(c[aa>>2]&1^(l<<24>>24)+16)*257&65535;b[k>>1]=W;b[k+8>>1]=W}h=h+4|0}}while(0);i=i+1|0}}}else{c[g+21784>>2]=h;c[g+21780>>2]=h;p=h}while(0);d:do if(!(ea&4)){e:do if(ea&7){U=g+868|0;i=c[U>>2]|0;f:do if(i|0){j=c[ia>>2]|0;k=c[ia+4>>2]|0;l=c[ia+8>>2]|0;y=c[ha>>2]|0;do if(c[f+26360>>2]|0){h=(c[g+21832>>2]|0)!=0;if(c[aa>>2]&1)if(h){h=1;break}else break f;else{h=(h^1)&1;break}}else h=1;while(0);if((i|0)==2){s=(c[g+832>>2]|0)==(e[(c[f+26356>>2]|0)+((c[$>>2]|0)+-1-(c[f+27e3>>2]|0)<<1)>>1]|0);i=c[g+21732>>2]|0;u=c[ca>>2]|0}else{u=c[ca>>2]|0;s=(u|0)>0;i=(c[aa>>2]|0)>((q|0)!=0|0)&1}w=0-(p+1+y)|0;q=j+w|0;v=k+w|0;w=l+w|0;x=g+27796+(h<<2)|0;t=c[x>>2]|0;r=u+-1|0;k=t+(u*96|0)|0;if(i|0){l=(y|0)==0;do if(s){h=(8<<y)+(t+(r*96|0))|0;W=h;V=c[W>>2]|0;W=c[W+4>>2]|0;i=q+(-7<<y)|0;S=i;T=c[S+4>>2]|0;da=h;c[da>>2]=c[S>>2];c[da+4>>2]=T;da=i;c[da>>2]=V;c[da+4>>2]=W;if(l){h=k;j=q+1|0;i=c[h>>2]|0;h=c[h+4>>2]|0;da=58;break}else{V=h+8|0;l=V;j=c[l>>2]|0;l=c[l+4>>2]|0;h=i+8|0;W=h;da=c[W+4>>2]|0;i=V;c[i>>2]=c[W>>2];c[i+4>>2]=da;c[h>>2]=j;c[h+4>>2]=l;h=k;l=1<<y;j=l;l=q+l|0;i=c[h>>2]|0;h=c[h+4>>2]|0;da=57;break}}else{h=k;i=c[h>>2]|0;h=c[h+4>>2]|0;j=1<<y;m=q+j|0;if(l){j=m;da=58}else{l=m;da=57}}while(0);if((da|0)==57){T=l;da=c[T+4>>2]|0;W=k;c[W>>2]=c[T>>2];c[W+4>>2]=da;W=l;c[W>>2]=i;c[W+4>>2]=h;W=t+(u*96|0)+8|0;l=W;da=c[l>>2]|0;l=c[l+4>>2]|0;k=q+j+8|0;T=k;V=c[T+4>>2]|0;c[W>>2]=c[T>>2];c[W+4>>2]=V;c[k>>2]=da;c[k+4>>2]=l;k=1;l=j}else if((da|0)==58){da=j;l=c[da+4>>2]|0;c[k>>2]=c[da>>2];c[k+4>>2]=l;k=j;c[k>>2]=i;c[k+4>>2]=h;k=0;l=1}h=(8<<y)+(t+(u*96|0))|0;W=h;V=c[W>>2]|0;W=c[W+4>>2]|0;m=9<<y;i=q+m|0;S=i;T=c[S+4>>2]|0;da=h;c[da>>2]=c[S>>2];c[da+4>>2]=T;da=i;c[da>>2]=V;c[da+4>>2]=W;if(k){T=h+8|0;W=T;V=c[W>>2]|0;W=c[W+4>>2]|0;da=i+8|0;R=da;S=c[R+4>>2]|0;c[T>>2]=c[R>>2];c[T+4>>2]=S;c[da>>2]=V;c[da+4>>2]=W}h=(c[ca>>2]|0)+1|0;o=f+26996|0;if((h|0)<(c[o>>2]|0)?(da=(c[x>>2]|0)+(h*96|0)|0,W=da,V=c[W>>2]|0,W=c[W+4>>2]|0,z=q+(17<<y)|0,S=z,T=c[S+4>>2]|0,da,c[da>>2]=c[S>>2],c[da+4>>2]=T,da=z,c[da>>2]=V,c[da+4>>2]=W,k):0){T=(c[x>>2]|0)+(((c[ca>>2]|0)+1|0)*96|0)+8|0;W=T;V=c[W>>2]|0;W=c[W+4>>2]|0;da=z+8|0;R=da;S=c[R+4>>2]|0;c[T>>2]=c[R>>2];c[T+4>>2]=S;c[da>>2]=V;c[da+4>>2]=W}if(s){h=(24<<y)+(t+(r*96|0))|0;W=h;V=c[W>>2]|0;W=c[W+4>>2]|0;j=-7<<y;i=v+j|0;S=i;T=c[S+4>>2]|0;da=h;c[da>>2]=c[S>>2];c[da+4>>2]=T;da=i;c[da>>2]=V;c[da+4>>2]=W;if(k){T=h+8|0;W=T;V=c[W>>2]|0;W=c[W+4>>2]|0;da=i+8|0;R=da;S=c[R+4>>2]|0;c[T>>2]=c[R>>2];c[T+4>>2]=S;c[da>>2]=V;c[da+4>>2]=W}i=(40<<y)+(t+(r*96|0))|0;W=i;V=c[W>>2]|0;W=c[W+4>>2]|0;h=w+j|0;S=h;T=c[S+4>>2]|0;da=i;c[da>>2]=c[S>>2];c[da+4>>2]=T;da=h;c[da>>2]=V;c[da+4>>2]=W;if(k){T=i+8|0;W=T;V=c[W>>2]|0;W=c[W+4>>2]|0;da=h+8|0;R=da;S=c[R+4>>2]|0;c[T>>2]=c[R>>2];c[T+4>>2]=S;c[da>>2]=V;c[da+4>>2]=W;da=70}else da=71}else if(k)da=70;else da=71;if((da|0)==70){T=(16<<y)+(t+(u*96|0))|0;V=T;R=c[V>>2]|0;V=c[V+4>>2]|0;k=v+l|0;Q=k;S=c[Q+4>>2]|0;W=T;c[W>>2]=c[Q>>2];c[W+4>>2]=S;W=k;c[W>>2]=R;c[W+4>>2]=V;T=T+8|0;W=T;V=c[W>>2]|0;W=c[W+4>>2]|0;k=k+8|0;R=k;S=c[R+4>>2]|0;c[T>>2]=c[R>>2];c[T+4>>2]=S;c[k>>2]=V;c[k+4>>2]=W;k=1}else if((da|0)==71){T=(16<<y)+(t+(u*96|0))|0;W=T;V=c[W>>2]|0;W=c[W+4>>2]|0;k=v+l|0;R=k;S=c[R+4>>2]|0;c[T>>2]=c[R>>2];c[T+4>>2]=S;c[k>>2]=V;c[k+4>>2]=W;k=0}h=(24<<y)+(t+(u*96|0))|0;V=h;T=c[V>>2]|0;V=c[V+4>>2]|0;i=v+m|0;R=i;S=c[R+4>>2]|0;W=h;c[W>>2]=c[R>>2];c[W+4>>2]=S;W=i;c[W>>2]=T;c[W+4>>2]=V;if(k){W=h+8|0;T=W;Q=c[T>>2]|0;T=c[T+4>>2]|0;S=i+8|0;R=S;P=c[R+4>>2]|0;c[W>>2]=c[R>>2];c[W+4>>2]=P;c[S>>2]=Q;c[S+4>>2]=T;S=(32<<y)+(t+(u*96|0))|0;T=S;Q=c[T>>2]|0;T=c[T+4>>2]|0;W=w+l|0;P=W;R=c[P+4>>2]|0;V=S;c[V>>2]=c[P>>2];c[V+4>>2]=R;V=W;c[V>>2]=Q;c[V+4>>2]=T;S=S+8|0;V=S;T=c[V>>2]|0;V=c[V+4>>2]|0;W=W+8|0;Q=W;R=c[Q+4>>2]|0;c[S>>2]=c[Q>>2];c[S+4>>2]=R;c[W>>2]=T;c[W+4>>2]=V}else{S=(32<<y)+(t+(u*96|0))|0;V=S;T=c[V>>2]|0;V=c[V+4>>2]|0;W=w+l|0;Q=W;R=c[Q+4>>2]|0;c[S>>2]=c[Q>>2];c[S+4>>2]=R;c[W>>2]=T;c[W+4>>2]=V}i=(40<<y)+(t+(u*96|0))|0;V=i;T=c[V>>2]|0;V=c[V+4>>2]|0;h=w+m|0;R=h;S=c[R+4>>2]|0;W=i;c[W>>2]=c[R>>2];c[W+4>>2]=S;W=h;c[W>>2]=T;c[W+4>>2]=V;if(k){S=i+8|0;V=S;T=c[V>>2]|0;V=c[V+4>>2]|0;W=h+8|0;Q=W;R=c[Q+4>>2]|0;c[S>>2]=c[Q>>2];c[S+4>>2]=R;c[W>>2]=T;c[W+4>>2]=V}h=(c[ca>>2]|0)+1|0;if((h|0)<(c[o>>2]|0)){i=16<<y;W=(c[x>>2]|0)+(h*96|0)+i|0;V=W;T=c[V>>2]|0;V=c[V+4>>2]|0;j=17<<y;h=v+j|0;R=h;S=c[R+4>>2]|0;c[W>>2]=c[R>>2];c[W+4>>2]=S;W=h;c[W>>2]=T;c[W+4>>2]=V;if(k){S=(c[x>>2]|0)+(((c[ca>>2]|0)+1|0)*96|0)+i+8|0;V=S;T=c[V>>2]|0;V=c[V+4>>2]|0;W=h+8|0;Q=W;R=c[Q+4>>2]|0;c[S>>2]=c[Q>>2];c[S+4>>2]=R;c[W>>2]=T;c[W+4>>2]=V}i=32<<y;W=(c[x>>2]|0)+(((c[ca>>2]|0)+1|0)*96|0)+i|0;V=W;T=c[V>>2]|0;V=c[V+4>>2]|0;h=w+j|0;R=h;S=c[R+4>>2]|0;c[W>>2]=c[R>>2];c[W+4>>2]=S;W=h;c[W>>2]=T;c[W+4>>2]=V;if(k){S=(c[x>>2]|0)+(((c[ca>>2]|0)+1|0)*96|0)+i+8|0;V=S;T=c[V>>2]|0;V=c[V+4>>2]|0;W=h+8|0;Q=W;R=c[Q+4>>2]|0;c[S>>2]=c[Q>>2];c[S+4>>2]=R;c[W>>2]=T;c[W+4>>2]=V}}}}while(0);h=ea&1;y=(h|0)==0;E=g+21660|0;V=ea&16777216;z=(V|0)==0;A=(fa|0)!=0;B=(fa|0)==0;C=f+132|0;I=f+28196|0;F=f+144|0;G=f+28200|0;J=g+21764|0;K=0-p|0;L=3-p|0;N=3-((p|0)/2|0)|0;D=g+28560|0;O=f+108|0;P=f+100|0;W=f+140|0;Q=g+21756|0;R=f+29696|0;S=f+112|0;T=f+104|0;x=0;while(1){if((x|0)==3)break;w=c[ha>>2]|0;t=c[ia+(x<<2)>>2]|0;i=c[((x|0)==0?X:g+852+(x+-1<<2)|0)>>2]|0;u=x<<4;v=n+(u<<2)|0;g:do if(y){ec[c[f+25872+(c[E>>2]<<2)>>2]&255](t,p);if(a[(d[88656+(x+48)>>0]|0)+(g+27824)>>0]|0){if(B){gc[c[C>>2]&1023](g+28560+(x<<8<<w<<1)|0,g+31632+(x<<6)|0,c[(c[(c[I>>2]|0)+173788+(x<<2)>>2]|0)+(i<<6)>>2]|0);break}m=g+28560+(x<<8<<w<<1)|0;j=(w|0)==0;k=g+31632+(x<<6)|0;i=0;while(1){if((i|0)==16)break g;l=d[76064+i>>0]|0;if(j)b[m+(l<<1)>>1]=b[g+31632+(x<<6)+(i<<1)>>1]|0;else c[m+(l<<2)>>2]=c[k+(i<<2)>>2];i=i+1|0}}}else{if(!z){if(A){l=c[W>>2]|0;k=l}else{k=c[T>>2]|0;l=c[S>>2]|0}o=x<<8;q=(w|0)==0;m=0;while(1){if(m>>>0>=16)break g;r=t+(c[v+(m<<2)>>2]|0)|0;s=a[(d[88656+m>>0]|0)+(g+21664)>>0]|0;i=s<<24>>24;do if(A?(s<<24>>24<2?(c[(c[G>>2]|0)+4>>2]|0)==244:0):0)if((c[R>>2]|0)>>>0<151){gc[c[f+25916+(i<<2)>>2]&1023](r,g+28560+((m<<4)+o<<w<<1)|0,p);break}else{jc[c[f+25924+(i<<2)>>2]&127](r,g+28560+((m<<4)+o<<w<<1)|0,c[Q>>2]<<m&32768,c[J>>2]<<m&16384,p);break}else da=96;while(0);h:do if((da|0)==96){da=0;s=a[(d[88656+(m+u)>>0]|0)+(g+27824)>>0]|0;hc[c[f+25780+(i<<2)>>2]&255](r,c[Q>>2]<<m&32768,c[J>>2]<<m&16384,p);i:do switch(s<<24>>24){case 0:break h;case 1:{i=(m<<4)+o|0;if(q)j=e[g+28560+(i<<1)>>1]|0;else j=c[D+(i<<2)>>2]|0;if(!j)break i;gc[l&1023](r,g+28560+(i<<w<<1)|0,p);break h}default:i=(m<<4)+o|0}while(0);gc[k&1023](r,g+28560+(i<<w<<1)|0,p)}while(0);m=m+4|0}}if(A){l=c[F>>2]|0;k=l}else{k=c[P>>2]|0;l=c[O>>2]|0}o=x<<8;q=(w|0)==0;r=4<<w;m=0;while(1){if((m|0)==16)break g;s=t+(c[v+(m<<2)>>2]|0)|0;i=a[(d[88656+m>>0]|0)+(g+21664)>>0]|0;j=i<<24>>24;if(A?(i<<24>>24<2?(c[(c[G>>2]|0)+4>>2]|0)==244:0):0)gc[c[f+25908+(j<<2)>>2]&1023](s,g+28560+((m<<4)+o<<w<<1)|0,p);else{do if((i|4)<<24>>24==7){if(c[J>>2]&32768>>>m|0){i=s+r+K|0;break}if(q){i=H(d[s+L>>0]|0,16843009)|0;c[_>>2]=i;i=_;break}else{la=XJ(e[s+(N<<1)>>1]|0,0,65537,65537)|0;ka=M()|0;i=Y;c[i>>2]=la;c[i+4>>2]=ka;i=Y;break}}else i=0;while(0);gc[c[f+25720+(j<<2)>>2]&1023](s,i,p);j:do switch(a[(d[88656+(m+u)>>0]|0)+(g+27824)>>0]|0){case 0:break;case 1:{i=(m<<4)+o|0;if(q)j=e[g+28560+(i<<1)>>1]|0;else j=c[D+(i<<2)>>2]|0;if(!j){da=126;break j}gc[l&1023](s,g+28560+(i<<w<<1)|0,p);break}default:{i=(m<<4)+o|0;da=126}}while(0);if((da|0)==126){da=0;gc[k&1023](s,g+28560+(i<<w<<1)|0,p)}}m=m+1|0}}while(0);x=x+1|0}j=c[U>>2]|0;if(j){k=c[ia>>2]|0;l=c[ia+4>>2]|0;o=c[ia+8>>2]|0;z=c[ha>>2]|0;do if(c[f+26360>>2]|0){i=(c[g+21832>>2]|0)!=0;if(c[aa>>2]&1)if(i){m=1;break}else{j=V;i=W;break e}else{m=(i^1)&1;break}}else m=1;while(0);if((j|0)==2){t=(c[g+832>>2]|0)==(e[(c[f+26356>>2]|0)+((c[$>>2]|0)+-1-(c[f+27e3>>2]|0)<<1)>>1]|0);i=c[g+21732>>2]|0;v=c[ca>>2]|0}else{v=c[ca>>2]|0;t=(v|0)>0;i=(c[aa>>2]|0)>((c[Z>>2]|0)!=0|0)&1}x=0-(p+1+z)|0;r=k+x|0;w=l+x|0;x=o+x|0;y=g+27796+(m<<2)|0;u=c[y>>2]|0;s=v+-1|0;k=u+(v*96|0)|0;if(i){m=(z|0)==0;do if(t){i=(8<<z)+(u+(s*96|0))|0;ka=i;da=c[ka>>2]|0;ka=c[ka+4>>2]|0;j=r+(-7<<z)|0;$=j;aa=c[$+4>>2]|0;la=i;c[la>>2]=c[$>>2];c[la+4>>2]=aa;la=j;c[la>>2]=da;c[la+4>>2]=ka;if(m){i=k;k=r+1|0;j=c[i>>2]|0;i=c[i+4>>2]|0;da=154;break}else{aa=i+8|0;l=aa;da=c[l>>2]|0;l=c[l+4>>2]|0;i=j+8|0;ka=i;la=c[ka+4>>2]|0;j=aa;c[j>>2]=c[ka>>2];c[j+4>>2]=la;c[i>>2]=da;c[i+4>>2]=l;i=k;k=1<<z;j=k;k=r+k|0;l=c[i>>2]|0;i=c[i+4>>2]|0;da=153;break}}else{i=k;l=c[i>>2]|0;i=c[i+4>>2]|0;j=1<<z;k=r+j|0;if(m){j=l;da=154}else da=153}while(0);if((da|0)==153){la=k;c[la>>2]=l;c[la+4>>2]=i;la=u+(v*96|0)+8|0;l=c[la+4>>2]|0;m=r+j+8|0;c[m>>2]=c[la>>2];c[m+4>>2]=l;m=j;l=1}else if((da|0)==154){m=k;c[m>>2]=j;c[m+4>>2]=i;m=1;l=0}i=(8<<z)+(u+(v*96|0))|0;ka=i;da=c[ka>>2]|0;ka=c[ka+4>>2]|0;o=9<<z;j=r+o|0;$=j;aa=c[$+4>>2]|0;la=i;c[la>>2]=c[$>>2];c[la+4>>2]=aa;la=j;c[la>>2]=da;c[la+4>>2]=ka;if(l){aa=i+8|0;ka=aa;da=c[ka>>2]|0;ka=c[ka+4>>2]|0;la=j+8|0;_=la;$=c[_+4>>2]|0;c[aa>>2]=c[_>>2];c[aa+4>>2]=$;c[la>>2]=da;c[la+4>>2]=ka}i=(c[ca>>2]|0)+1|0;q=f+26996|0;if((i|0)<(c[q>>2]|0)?(la=(c[y>>2]|0)+(i*96|0)|0,ka=la,da=c[ka>>2]|0,ka=c[ka+4>>2]|0,ba=r+(17<<z)|0,$=ba,aa=c[$+4>>2]|0,la,c[la>>2]=c[$>>2],c[la+4>>2]=aa,la=ba,c[la>>2]=da,c[la+4>>2]=ka,l):0){_=(c[y>>2]|0)+(((c[ca>>2]|0)+1|0)*96|0)+8|0;ka=_;da=c[ka>>2]|0;ka=c[ka+4>>2]|0;la=ba+8|0;$=la;aa=c[$+4>>2]|0;ba=_;c[ba>>2]=c[$>>2];c[ba+4>>2]=aa;c[la>>2]=da;c[la+4>>2]=ka}if(t){i=(24<<z)+(u+(s*96|0))|0;ka=i;da=c[ka>>2]|0;ka=c[ka+4>>2]|0;k=-7<<z;j=w+k|0;aa=j;ba=c[aa+4>>2]|0;la=i;c[la>>2]=c[aa>>2];c[la+4>>2]=ba;la=j;c[la>>2]=da;c[la+4>>2]=ka;if(l){ba=i+8|0;ka=ba;da=c[ka>>2]|0;ka=c[ka+4>>2]|0;la=j+8|0;$=la;aa=c[$+4>>2]|0;c[ba>>2]=c[$>>2];c[ba+4>>2]=aa;c[la>>2]=da;c[la+4>>2]=ka}j=(40<<z)+(u+(s*96|0))|0;ka=j;da=c[ka>>2]|0;ka=c[ka+4>>2]|0;i=x+k|0;aa=i;ba=c[aa+4>>2]|0;la=j;c[la>>2]=c[aa>>2];c[la+4>>2]=ba;la=i;c[la>>2]=da;c[la+4>>2]=ka;if(l){ba=j+8|0;la=ba;ka=c[la>>2]|0;la=c[la+4>>2]|0;da=i+8|0;$=da;aa=c[$+4>>2]|0;c[ba>>2]=c[$>>2];c[ba+4>>2]=aa;c[da>>2]=ka;c[da+4>>2]=la;da=166}else da=167}else if(l)da=166;else da=167;if((da|0)==166){j=(16<<z)+(u+(v*96|0))|0;ka=j;la=c[ka+4>>2]|0;i=w+m|0;l=i;c[l>>2]=c[ka>>2];c[l+4>>2]=la;i=i+8|0;j=j+8|0;l=1}else if((da|0)==167){i=w+m|0;j=(16<<z)+(u+(v*96|0))|0;l=0}ba=j;ka=c[ba+4>>2]|0;c[i>>2]=c[ba>>2];c[i+4>>2]=ka;i=(24<<z)+(u+(v*96|0))|0;ka=i;ba=c[ka>>2]|0;ka=c[ka+4>>2]|0;j=w+o|0;$=j;aa=c[$+4>>2]|0;la=i;c[la>>2]=c[$>>2];c[la+4>>2]=aa;la=j;c[la>>2]=ba;c[la+4>>2]=ka;if(l){i=i+8|0;ba=i;ka=c[ba>>2]|0;ba=c[ba+4>>2]|0;j=j+8|0;aa=j;la=c[aa+4>>2]|0;c[i>>2]=c[aa>>2];c[i+4>>2]=la;c[j>>2]=ka;c[j+4>>2]=ba;j=(32<<z)+(u+(v*96|0))|0;ba=j;ka=c[ba+4>>2]|0;i=x+m|0;la=i;c[la>>2]=c[ba>>2];c[la+4>>2]=ka;i=i+8|0;j=j+8|0}else{i=x+m|0;j=(32<<z)+(u+(v*96|0))|0}ba=j;ka=c[ba+4>>2]|0;j=i;c[j>>2]=c[ba>>2];c[j+4>>2]=ka;j=(40<<z)+(u+(v*96|0))|0;ka=j;ba=c[ka>>2]|0;ka=c[ka+4>>2]|0;i=x+o|0;$=i;aa=c[$+4>>2]|0;la=j;c[la>>2]=c[$>>2];c[la+4>>2]=aa;la=i;c[la>>2]=ba;c[la+4>>2]=ka;if(l){aa=j+8|0;ka=aa;ba=c[ka>>2]|0;ka=c[ka+4>>2]|0;la=i+8|0;_=la;$=c[_+4>>2]|0;c[aa>>2]=c[_>>2];c[aa+4>>2]=$;c[la>>2]=ba;c[la+4>>2]=ka}i=(c[ca>>2]|0)+1|0;if((i|0)<(c[q>>2]|0)){j=16<<z;la=(c[y>>2]|0)+(i*96|0)+j|0;ka=la;ba=c[ka>>2]|0;ka=c[ka+4>>2]|0;k=17<<z;i=w+k|0;$=i;aa=c[$+4>>2]|0;c[la>>2]=c[$>>2];c[la+4>>2]=aa;la=i;c[la>>2]=ba;c[la+4>>2]=ka;if(l){aa=(c[y>>2]|0)+(((c[ca>>2]|0)+1|0)*96|0)+j+8|0;ka=aa;ba=c[ka>>2]|0;ka=c[ka+4>>2]|0;la=i+8|0;_=la;$=c[_+4>>2]|0;c[aa>>2]=c[_>>2];c[aa+4>>2]=$;c[la>>2]=ba;c[la+4>>2]=ka}j=32<<z;la=(c[y>>2]|0)+(((c[ca>>2]|0)+1|0)*96|0)+j|0;ka=la;ba=c[ka>>2]|0;ka=c[ka+4>>2]|0;i=x+k|0;$=i;aa=c[$+4>>2]|0;c[la>>2]=c[$>>2];c[la+4>>2]=aa;la=i;c[la>>2]=ba;c[la+4>>2]=ka;if(l){aa=(c[y>>2]|0)+(((c[ca>>2]|0)+1|0)*96|0)+j+8|0;la=aa;ka=c[la>>2]|0;la=c[la+4>>2]|0;j=i+8|0;ba=j;ca=c[ba+4>>2]|0;i=aa;c[i>>2]=c[ba>>2];c[i+4>>2]=ca;c[j>>2]=ka;c[j+4>>2]=la;j=V;i=W}else{j=V;i=W}}else{j=V;i=W}}else{j=V;i=W}}else{j=V;i=W}}else{Zd(f,g,c[ia>>2]|0,c[ia+4>>2]|0,c[ia+8>>2]|0,f+184|0,f+152|0,f+440|0,f+168|0,f+16|0,f+32|0);j=ea&16777216;G=f+28200|0;i=f+140|0;F=f+144|0;E=g+21660|0;D=g+28560|0;h=ea&1}while(0);C=(h|0)==0;A=(ea&2|0)==0;B=g+21856|0;x=(fa|0)==0;y=f+128|0;z=(j|0)==0;o=(j|0)!=0;w=o?4:1;o=o?i:F;q=f+116|0;r=f+120|0;m=0;while(1){if((m|0)==3)break d;s=c[ha>>2]|0;t=c[ia+(m<<2)>>2]|0;u=m<<4;v=n+(u<<2)|0;k:do if(C){if(A){if(!(c[B>>2]&15))break;if(x)if(z){jc[c[q>>2]&127](t,v,g+28560+(m<<8<<s<<1)|0,p,(m*40|0)+(g+27824)|0);break}else{jc[c[r>>2]&127](t,v,g+28560+(m<<8<<s<<1)|0,p,(m*40|0)+(g+27824)|0);break}i=c[o>>2]|0;j=m<<8;h=0;while(1){if(h>>>0>=16)break k;if(a[(d[88656+(h+u)>>0]|0)+(g+27824)>>0]|0)gc[i&1023](t+(c[v+(h<<2)>>2]|0)|0,g+28560+((h<<4)+j<<s<<1)|0,p);h=h+w|0}}if(x){jc[c[y>>2]&127](t,v,g+28560+(m<<8<<s<<1)|0,p,(m*40|0)+(g+27824)|0);break}if((c[(c[G>>2]|0)+4>>2]|0)==244?(ga=c[E>>2]|0,(ga+-1|0)>>>0<2):0){hc[c[f+25944+(ga<<2)>>2]&255](t,v,g+28560+(m<<8<<s<<1)|0,p);break}j=m<<8;k=(s|0)==0;h=0;while(1){if((h|0)==16)break k;l=(h<<4)+j|0;if(!(a[(d[88656+(h+u)>>0]|0)+(g+27824)>>0]|0)){if(k)i=e[g+28560+(l<<1)>>1]|0;else i=c[D+(l<<2)>>2]|0;if(i|0)da=194}else da=194;if((da|0)==194){da=0;gc[c[F>>2]&1023](t+(c[v+(h<<2)>>2]|0)|0,g+28560+(l<<s<<1)|0,p)}h=h+1|0}}while(0);m=m+1|0}}else{if(!(c[ha>>2]|0)){j=g+27780|0;i=0;while(1){if((i|0)==3)break d;k=ia+(i<<2)|0;l=i<<8;h=0;while(1){if((h|0)==16)break;m=(c[k>>2]|0)+(H(h,p)|0)|0;n=(c[j>>2]|0)+l+(h<<4)|0;o=m+16|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));h=h+1|0}i=i+1|0}}m=c[(c[f+28200>>2]|0)+1184>>2]|0;pI(_,c[g+27780>>2]|0,m*768|0);j=0;while(1){if((j|0)==3)break;k=ia+(j<<2)|0;i=0;while(1){if((i|0)==16)break;l=(c[k>>2]|0)+(H(i,p)|0)|0;h=0;while(1){if((h|0)==16)break;la=(Hz(_,m)|0)&65535;b[l+(h<<1)>>1]=la;h=h+1|0}i=i+1|0}j=j+1|0}}while(0);Mb=ja;return}function vc(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;Y=Mb;Mb=Mb+32|0;X=Y+8|0;A=Y;F=g+21788|0;i=c[F>>2]|0;D=g+21792|0;k=c[D>>2]|0;C=g+21796|0;j=c[C>>2]|0;I=c[(c[f+24364>>2]|0)+(j<<2)>>2]|0;y=g+848|0;T=f+28200|0;h=c[T>>2]|0;if(!(c[y>>2]|0))P=(c[h+16>>2]|0)!=0;else P=0;u=16>>>(c[f+25668>>2]|0);U=(c[h+12>>2]|0)==2;S=c[f+24316>>2]|0;V=f+25652|0;t=c[V>>2]|0;B=i<<t;W=g+21772|0;l=c[W>>2]|0;m=(c[S>>2]|0)+((H(l,k)|0)+B<<4)|0;B=B<<3;h=g+21776|0;o=H(H(u,k)|0,c[h>>2]|0)|0;n=(c[S+4>>2]|0)+B+o|0;o=(c[S+8>>2]|0)+B+o|0;B=f+12|0;t=m+(H(l,i<<2&12)|0)+(64<<t)|0;gc[c[B>>2]&1023](t,l,4);l=n+(H(c[F>>2]&7,c[h>>2]|0)|0)|0;gc[c[B>>2]&1023](l+(64<<c[V>>2])|0,o-n|0,2);l=g+23412|0;a[(c[f+26372>>2]|0)+j>>0]=c[l>>2];B=g+21828|0;t=c[B>>2]|0;i=c[W>>2]|0;a:do if(t){q=i<<1;c[g+21780>>2]=q;p=c[h>>2]|0;r=p<<1;c[g+21784>>2]=r;s=f+26152|0;S=(k&1|0)==0;W=m+(H(i,-15)|0)|0;p=H(1-u|0,p)|0;o=S?o:o+p|0;p=S?n:n+p|0;n=S?m:W;if(!(c[f+26360>>2]|0)){L=q;W=r;R=s;K=n;S=p}else{m=(I&8|0)==0;j=c[l>>2]|0;i=0;while(1){if(i>>>0>=j>>>0){L=q;W=r;R=s;K=n;S=p;break a}b:do if(12288<<(i<<1)&I|0){if(!m){S=g+28272+(i*40|0)+12|0;W=H((a[S>>0]|0)+16^c[D>>2]&1,16843009)|0;c[S>>2]=W;c[g+28272+(i*40|0)+20>>2]=W;c[g+28272+(i*40|0)+28>>2]=W;c[g+28272+(i*40|0)+36>>2]=W;break}h=0;while(1){if(h>>>0>=16)break b;k=(d[88656+h>>0]|0)+(g+28272+(i*40|0))|0;l=a[k>>0]|0;if(l<<24>>24>-1){W=(c[D>>2]&1^(l<<24>>24)+16)*257&65535;b[k>>1]=W;b[k+8>>1]=W}h=h+4|0}}while(0);i=i+1|0}}}else{c[g+21780>>2]=i;W=c[h>>2]|0;c[g+21784>>2]=W;L=i;R=f+25960|0;K=m;S=n}while(0);c:do if(!(I&4)){G=(I&7|0)!=0;d:do if(G){z=g+868|0;i=c[z>>2]|0;e:do if(i|0){w=c[V>>2]|0;do if(c[f+26360>>2]|0){h=(c[g+21832>>2]|0)!=0;if(c[D>>2]&1)if(h){h=1;break}else break e;else{h=(h^1)&1;break}}else h=1;while(0);if((i|0)==2){q=(c[g+832>>2]|0)==(e[(c[f+26356>>2]|0)+((c[C>>2]|0)+-1-(c[f+27e3>>2]|0)<<1)>>1]|0);i=c[g+21732>>2]|0;u=c[F>>2]|0}else{u=c[F>>2]|0;q=(u|0)>0;i=(c[D>>2]|0)>((t|0)!=0|0)&1}p=K+(0-(L+1+w))|0;v=0-(W+1+w)|0;s=S+v|0;v=o+v|0;n=g+27796+(h<<2)|0;t=c[n>>2]|0;r=u+-1|0;k=t+(u*96|0)|0;if(i|0){l=(w|0)==0;do if(q){h=(8<<w)+(t+(r*96|0))|0;m=h;j=c[m>>2]|0;m=c[m+4>>2]|0;i=p+(-7<<w)|0;_=i;Z=c[_+4>>2]|0;Q=h;c[Q>>2]=c[_>>2];c[Q+4>>2]=Z;Q=i;c[Q>>2]=j;c[Q+4>>2]=m;if(l){h=k;j=p+1|0;i=c[h>>2]|0;h=c[h+4>>2]|0;Q=71;break}else{Z=h+8|0;l=Z;j=c[l>>2]|0;l=c[l+4>>2]|0;h=i+8|0;_=h;Q=c[_+4>>2]|0;i=Z;c[i>>2]=c[_>>2];c[i+4>>2]=Q;c[h>>2]=j;c[h+4>>2]=l;h=k;l=1<<w;j=l;l=p+l|0;i=c[h>>2]|0;h=c[h+4>>2]|0;Q=70;break}}else{h=k;i=c[h>>2]|0;h=c[h+4>>2]|0;j=1<<w;m=p+j|0;if(l){j=m;Q=71}else{l=m;Q=70}}while(0);if((Q|0)==70){Z=l;_=c[Z+4>>2]|0;m=k;c[m>>2]=c[Z>>2];c[m+4>>2]=_;m=l;c[m>>2]=i;c[m+4>>2]=h;m=t+(u*96|0)+8|0;_=m;Z=c[_>>2]|0;_=c[_+4>>2]|0;j=p+j+8|0;k=j;l=c[k+4>>2]|0;c[m>>2]=c[k>>2];c[m+4>>2]=l;c[j>>2]=Z;c[j+4>>2]=_;j=1}else if((Q|0)==71){m=j;Z=c[m+4>>2]|0;_=k;c[_>>2]=c[m>>2];c[_+4>>2]=Z;c[j>>2]=i;c[j+4>>2]=h;j=0}h=(8<<w)+(t+(u*96|0))|0;Z=h;m=c[Z>>2]|0;Z=c[Z+4>>2]|0;i=p+(9<<w)|0;k=i;l=c[k+4>>2]|0;_=h;c[_>>2]=c[k>>2];c[_+4>>2]=l;_=i;c[_>>2]=m;c[_+4>>2]=Z;if(j){l=h+8|0;Z=l;m=c[Z>>2]|0;Z=c[Z+4>>2]|0;_=i+8|0;i=_;k=c[i+4>>2]|0;c[l>>2]=c[i>>2];c[l+4>>2]=k;c[_>>2]=m;c[_+4>>2]=Z}h=(c[F>>2]|0)+1|0;if((h|0)<(c[f+26996>>2]|0)?(_=(c[n>>2]|0)+(h*96|0)|0,Z=_,m=c[Z>>2]|0,Z=c[Z+4>>2]|0,x=p+(17<<w)|0,l=x,p=c[l+4>>2]|0,_,c[_>>2]=c[l>>2],c[_+4>>2]=p,_=x,c[_>>2]=m,c[_+4>>2]=Z,j):0){l=(c[n>>2]|0)+(((c[F>>2]|0)+1|0)*96|0)+8|0;Z=l;p=c[Z>>2]|0;Z=c[Z+4>>2]|0;_=x+8|0;m=_;n=c[m+4>>2]|0;x=l;c[x>>2]=c[m>>2];c[x+4>>2]=n;c[_>>2]=p;c[_+4>>2]=Z}l=16<<w;if(q){h=t+(r*96|0)+l|0;Z=h;x=c[Z>>2]|0;Z=c[Z+4>>2]|0;k=-7<<w;i=s+k|0;p=i;q=c[p+4>>2]|0;_=h;c[_>>2]=c[p>>2];c[_+4>>2]=q;_=i;c[_>>2]=x;c[_+4>>2]=Z;if(j){q=h+8|0;Z=q;x=c[Z>>2]|0;Z=c[Z+4>>2]|0;_=i+8|0;n=_;p=c[n+4>>2]|0;c[q>>2]=c[n>>2];c[q+4>>2]=p;c[_>>2]=x;c[_+4>>2]=Z}i=(24<<w)+(t+(r*96|0))|0;Z=i;x=c[Z>>2]|0;Z=c[Z+4>>2]|0;h=v+k|0;q=h;r=c[q+4>>2]|0;_=i;c[_>>2]=c[q>>2];c[_+4>>2]=r;_=h;c[_>>2]=x;c[_+4>>2]=Z;if(j){x=i+8|0;_=x;Z=c[_>>2]|0;_=c[_+4>>2]|0;j=h+8|0;q=j;r=c[q+4>>2]|0;c[x>>2]=c[q>>2];c[x+4>>2]=r;c[j>>2]=Z;c[j+4>>2]=_;j=1}else j=0}i=t+(u*96|0)+l|0;Z=i;x=c[Z>>2]|0;Z=c[Z+4>>2]|0;h=s+1+w|0;r=h;s=c[r+4>>2]|0;_=i;c[_>>2]=c[r>>2];c[_+4>>2]=s;_=h;c[_>>2]=x;c[_+4>>2]=Z;if(j){s=i+8|0;Z=s;x=c[Z>>2]|0;Z=c[Z+4>>2]|0;_=h+8|0;q=_;r=c[q+4>>2]|0;c[s>>2]=c[q>>2];c[s+4>>2]=r;c[_>>2]=x;c[_+4>>2]=Z}i=(24<<w)+(t+(u*96|0))|0;Z=i;x=c[Z>>2]|0;Z=c[Z+4>>2]|0;h=v+1+w|0;v=h;w=c[v+4>>2]|0;_=i;c[_>>2]=c[v>>2];c[_+4>>2]=w;_=h;c[_>>2]=x;c[_+4>>2]=Z;if(j){w=i+8|0;Z=w;x=c[Z>>2]|0;Z=c[Z+4>>2]|0;_=h+8|0;u=_;v=c[u+4>>2]|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;c[_>>2]=x;c[_+4>>2]=Z}}}while(0);w=g+21656|0;ec[c[f+25828+(c[w>>2]<<2)>>2]&255](S,W);ec[c[f+25828+(c[w>>2]<<2)>>2]&255](o,W);w=c[V>>2]|0;h=c[y>>2]|0;f:do if(!(I&1)){ec[c[f+25872+(c[g+21660>>2]<<2)>>2]&255](K,L);if(a[g+27824>>0]|0){if(!P){gc[c[f+132>>2]&1023](g+28560|0,g+31632|0,c[(c[(c[f+28196>>2]|0)+173788>>2]|0)+(h<<6)>>2]|0);break}l=g+28560|0;i=(w|0)==0;j=g+31632|0;h=0;while(1){if((h|0)==16)break f;k=d[76064+h>>0]|0;if(i)b[g+28560+(k<<1)>>1]=b[g+31632+(h<<1)>>1]|0;else c[l+(k<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}}}else{if(I&16777216|0){if(P){k=c[f+140>>2]|0;j=k}else{j=c[f+104>>2]|0;k=c[f+112>>2]|0}m=g+21756|0;n=g+21764|0;p=f+29696|0;q=(w|0)==0;r=g+28560|0;l=0;while(1){if(l>>>0>=16)break f;s=K+(c[R+(l<<2)>>2]|0)|0;h=d[88656+l>>0]|0;_=a[g+21664+h>>0]|0;i=_<<24>>24;do if(P?(_<<24>>24<2?(c[(c[T>>2]|0)+4>>2]|0)==244:0):0)if((c[p>>2]|0)>>>0<151){gc[c[f+25916+(i<<2)>>2]&1023](s,g+28560+(l<<4<<w<<1)|0,L);break}else{jc[c[f+25924+(i<<2)>>2]&127](s,g+28560+(l<<4<<w<<1)|0,c[m>>2]<<l&32768,c[n>>2]<<l&16384,L);break}else Q=98;while(0);g:do if((Q|0)==98){Q=0;_=a[g+27824+h>>0]|0;hc[c[f+25780+(i<<2)>>2]&255](s,c[m>>2]<<l&32768,c[n>>2]<<l&16384,L);switch(_<<24>>24){case 0:break g;case 1:{h=l<<4;if(q)i=e[g+28560+(h<<1)>>1]|0;else i=c[r+(h<<2)>>2]|0;if(i){gc[k&1023](s,g+28560+(h<<w<<1)|0,L);break g}break}default:h=l<<4}gc[j&1023](s,g+28560+(h<<w<<1)|0,L)}while(0);l=l+4|0}}if(P){l=c[f+144>>2]|0;k=l}else{k=c[f+100>>2]|0;l=c[f+108>>2]|0}n=g+21764|0;p=(w|0)==0;q=4<<w;r=0-L|0;s=3-L|0;t=3-((L|0)/2|0)|0;u=g+28560|0;m=0;while(1){if((m|0)==16)break f;v=K+(c[R+(m<<2)>>2]|0)|0;i=d[88656+m>>0]|0;h=a[g+21664+i>>0]|0;j=h<<24>>24;if(P?(h<<24>>24<2?(c[(c[T>>2]|0)+4>>2]|0)==244:0):0)gc[c[f+25908+(j<<2)>>2]&1023](v,g+28560+(m<<4<<w<<1)|0,L);else{do if((h|4)<<24>>24==7){if(c[n>>2]&32768>>>m|0){h=v+q+r|0;break}if(p){h=H(d[v+s>>0]|0,16843009)|0;c[X>>2]=h;h=X;break}else{Z=XJ(e[v+(t<<1)>>1]|0,0,65537,65537)|0;_=M()|0;h=A;c[h>>2]=Z;c[h+4>>2]=_;h=A;break}}else h=0;while(0);gc[c[f+25720+(j<<2)>>2]&1023](v,h,L);switch(a[g+27824+i>>0]|0){case 0:break;case 1:{h=m<<4;if(p)i=e[g+28560+(h<<1)>>1]|0;else i=c[u+(h<<2)>>2]|0;if(!i)Q=128;else gc[l&1023](v,g+28560+(h<<w<<1)|0,L);break}default:{h=m<<4;Q=128}}if((Q|0)==128){Q=0;gc[k&1023](v,g+28560+(h<<w<<1)|0,L)}}m=m+1|0}}while(0);i=c[z>>2]|0;if(i|0){v=c[V>>2]|0;do if(c[f+26360>>2]|0){h=(c[g+21832>>2]|0)!=0;if(c[D>>2]&1)if(h){j=1;break}else break d;else{j=(h^1)&1;break}}else j=1;while(0);if((i|0)==2){p=(c[g+832>>2]|0)==(e[(c[f+26356>>2]|0)+((c[C>>2]|0)+-1-(c[f+27e3>>2]|0)<<1)>>1]|0);h=c[g+21732>>2]|0;t=c[F>>2]|0}else{t=c[F>>2]|0;p=(t|0)>0;h=(c[D>>2]|0)>((c[B>>2]|0)!=0|0)&1}n=K+(0-(L+1+v))|0;u=0-(W+1+v)|0;r=S+u|0;u=o+u|0;m=g+27796+(j<<2)|0;s=c[m>>2]|0;q=t+-1|0;j=s+(t*96|0)|0;if(h|0){l=(v|0)==0;do if(p){h=(8<<v)+(s+(q*96|0))|0;Z=h;Q=c[Z>>2]|0;Z=c[Z+4>>2]|0;i=n+(-7<<v)|0;C=i;D=c[C+4>>2]|0;_=h;c[_>>2]=c[C>>2];c[_+4>>2]=D;_=i;c[_>>2]=Q;c[_+4>>2]=Z;if(l){h=j;j=n+1|0;i=c[h>>2]|0;h=c[h+4>>2]|0;Q=155;break}else{D=h+8|0;k=D;Q=c[k>>2]|0;k=c[k+4>>2]|0;h=i+8|0;Z=h;_=c[Z+4>>2]|0;i=D;c[i>>2]=c[Z>>2];c[i+4>>2]=_;c[h>>2]=Q;c[h+4>>2]=k;h=j;j=1<<v;i=j;j=n+j|0;k=c[h>>2]|0;h=c[h+4>>2]|0;Q=154;break}}else{h=j;k=c[h>>2]|0;h=c[h+4>>2]|0;i=1<<v;j=n+i|0;if(l){i=k;Q=155}else Q=154}while(0);if((Q|0)==154){Z=j;c[Z>>2]=k;c[Z+4>>2]=h;Z=s+(t*96|0)+8|0;_=c[Z+4>>2]|0;j=n+i+8|0;c[j>>2]=c[Z>>2];c[j+4>>2]=_;j=1}else if((Q|0)==155){c[j>>2]=i;c[j+4>>2]=h;j=0}h=(8<<v)+(s+(t*96|0))|0;Z=h;D=c[Z>>2]|0;Z=c[Z+4>>2]|0;i=n+(9<<v)|0;B=i;C=c[B+4>>2]|0;_=h;c[_>>2]=c[B>>2];c[_+4>>2]=C;_=i;c[_>>2]=D;c[_+4>>2]=Z;if(j){C=h+8|0;Z=C;D=c[Z>>2]|0;Z=c[Z+4>>2]|0;_=i+8|0;A=_;B=c[A+4>>2]|0;c[C>>2]=c[A>>2];c[C+4>>2]=B;c[_>>2]=D;c[_+4>>2]=Z}h=(c[F>>2]|0)+1|0;if((h|0)<(c[f+26996>>2]|0)?(_=(c[m>>2]|0)+(h*96|0)|0,Z=_,D=c[Z>>2]|0,Z=c[Z+4>>2]|0,E=n+(17<<v)|0,B=E,C=c[B+4>>2]|0,_,c[_>>2]=c[B>>2],c[_+4>>2]=C,_=E,c[_>>2]=D,c[_+4>>2]=Z,j):0){B=(c[m>>2]|0)+(((c[F>>2]|0)+1|0)*96|0)+8|0;Z=B;F=c[Z>>2]|0;Z=c[Z+4>>2]|0;_=E+8|0;C=_;D=c[C+4>>2]|0;E=B;c[E>>2]=c[C>>2];c[E+4>>2]=D;c[_>>2]=F;c[_+4>>2]=Z}l=16<<v;if(p){h=s+(q*96|0)+l|0;Z=h;F=c[Z>>2]|0;Z=c[Z+4>>2]|0;k=-7<<v;i=r+k|0;D=i;E=c[D+4>>2]|0;_=h;c[_>>2]=c[D>>2];c[_+4>>2]=E;_=i;c[_>>2]=F;c[_+4>>2]=Z;if(j){E=h+8|0;Z=E;F=c[Z>>2]|0;Z=c[Z+4>>2]|0;_=i+8|0;C=_;D=c[C+4>>2]|0;c[E>>2]=c[C>>2];c[E+4>>2]=D;c[_>>2]=F;c[_+4>>2]=Z}i=(24<<v)+(s+(q*96|0))|0;Z=i;F=c[Z>>2]|0;Z=c[Z+4>>2]|0;h=u+k|0;D=h;E=c[D+4>>2]|0;_=i;c[_>>2]=c[D>>2];c[_+4>>2]=E;_=h;c[_>>2]=F;c[_+4>>2]=Z;if(j){F=i+8|0;_=F;Z=c[_>>2]|0;_=c[_+4>>2]|0;j=h+8|0;D=j;E=c[D+4>>2]|0;c[F>>2]=c[D>>2];c[F+4>>2]=E;c[j>>2]=Z;c[j+4>>2]=_;j=1}else j=0}i=s+(t*96|0)+l|0;Z=i;F=c[Z>>2]|0;Z=c[Z+4>>2]|0;h=r+1+v|0;D=h;E=c[D+4>>2]|0;_=i;c[_>>2]=c[D>>2];c[_+4>>2]=E;_=h;c[_>>2]=F;c[_+4>>2]=Z;if(j){E=i+8|0;Z=E;F=c[Z>>2]|0;Z=c[Z+4>>2]|0;_=h+8|0;C=_;D=c[C+4>>2]|0;c[E>>2]=c[C>>2];c[E+4>>2]=D;c[_>>2]=F;c[_+4>>2]=Z}i=(24<<v)+(s+(t*96|0))|0;Z=i;F=c[Z>>2]|0;Z=c[Z+4>>2]|0;h=u+1+v|0;D=h;E=c[D+4>>2]|0;_=i;c[_>>2]=c[D>>2];c[_+4>>2]=E;_=h;c[_>>2]=F;c[_+4>>2]=Z;if(j){E=i+8|0;Z=E;F=c[Z>>2]|0;Z=c[Z+4>>2]|0;_=h+8|0;C=_;D=c[C+4>>2]|0;c[E>>2]=c[C>>2];c[E+4>>2]=D;c[_>>2]=F;c[_+4>>2]=Z}}}}else{h=f+184|0;i=f+152|0;j=f+440|0;k=f+168|0;l=f+16|0;m=f+32|0;if(U){Td(f,g,K,S,o,h,i,j,k,l,m);break}else{Ud(f,g,K,S,o,h,i,j,k,l,m);break}}while(0);n=c[V>>2]|0;h:do if(!(I&1)){if(!(I&2)){if(!(c[g+21856>>2]&15))break;h=I&16777216;if(!P)if(!h){jc[c[f+116>>2]&127](K,R,g+28560|0,L,g+27824|0);break}else{jc[c[f+120>>2]&127](K,R,g+28560|0,L,g+27824|0);break}j=(h|0)!=0;i=j?4:1;j=c[(j?f+140|0:f+144|0)>>2]|0;h=0;while(1){if(h>>>0>=16)break h;if(a[(d[88656+h>>0]|0)+(g+27824)>>0]|0)gc[j&1023](K+(c[R+(h<<2)>>2]|0)|0,g+28560+(h<<4<<n<<1)|0,L);h=h+i|0}}if(!P){jc[c[f+128>>2]&127](K,R,g+28560|0,L,g+27824|0);break}if((c[(c[T>>2]|0)+4>>2]|0)==244?(J=c[g+21660>>2]|0,(J+-1|0)>>>0<2):0){hc[c[f+25944+(J<<2)>>2]&255](K,R,g+28560|0,L);break}j=(n|0)==0;k=f+144|0;l=g+28560|0;i=0;while(1){if((i|0)==16)break h;m=i<<4;if(!(a[(d[88656+i>>0]|0)+(g+27824)>>0]|0)){if(j)h=e[g+28560+(m<<1)>>1]|0;else h=c[l+(m<<2)>>2]|0;if(h|0)Q=186}else Q=186;if((Q|0)==186){Q=0;gc[c[k>>2]&1023](K+(c[R+(i<<2)>>2]|0)|0,g+28560+(m<<n<<1)|0,L)}i=i+1|0}}while(0);if(c[g+21856>>2]&48|0){c[X>>2]=S;h=X+4|0;c[h>>2]=o;i:do if(P){if((G?(c[(c[T>>2]|0)+4>>2]|0)==244:0)?(N=g+21656|0,O=c[N>>2]|0,(O+-1|0)>>>0<2):0){hc[c[f+25932+(O<<2)>>2]&255](S,R+64|0,g+28560+(256<<c[V>>2]<<1)|0,W);hc[c[f+25932+(c[N>>2]<<2)>>2]&255](c[h>>2]|0,R+128|0,g+28560+(512<<c[V>>2]<<1)|0,W);break}p=c[f+144>>2]|0;q=g+28560|0;o=1;while(1){if((o|0)==3)break i;j=o<<4;m=j|4;r=X+(o+-1<<2)|0;i=j;while(1){if(i>>>0>=m>>>0)break;k=c[V>>2]|0;l=i<<4;if(!(a[(d[88656+i>>0]|0)+(g+27824)>>0]|0)){if(!k)h=e[g+28560+(l<<1)>>1]|0;else h=c[q+(l<<2)>>2]|0;if(h|0)Q=214}else Q=214;if((Q|0)==214){Q=0;gc[p&1023]((c[r>>2]|0)+(c[R+(i<<2)>>2]|0)|0,g+28560+(l<<k<<1)|0,W)}i=i+1|0}j:do if(U){n=j|8;i=m;while(1){if(i>>>0>=n>>>0)break j;j=i+4|0;k=c[V>>2]|0;l=i<<4;if(!(a[(d[88656+j>>0]|0)+(g+27824)>>0]|0)){if(!k)h=e[g+28560+(l<<1)>>1]|0;else h=c[q+(l<<2)>>2]|0;if(h|0)Q=224}else Q=224;if((Q|0)==224){Q=0;gc[p&1023]((c[r>>2]|0)+(c[R+(j<<2)>>2]|0)|0,g+28560+(l<<k<<1)|0,W)}i=i+1|0}}while(0);o=o+1|0}}else{h=c[g+852>>2]|0;if(U){h=h+3|0;i=(c[g+856>>2]|0)+3|0}else i=c[g+856>>2]|0;if(a[g+27864>>0]|0)ec[c[f+136>>2]&255](g+28560+(256<<c[V>>2]<<1)|0,c[(c[(c[f+28196>>2]|0)+173788+((G?1:4)<<2)>>2]|0)+(h<<6)>>2]|0);if(a[g+27904>>0]|0)ec[c[f+136>>2]&255](g+28560+(512<<c[V>>2]<<1)|0,c[(c[(c[f+28196>>2]|0)+173788+((G?2:5)<<2)>>2]|0)+(i<<6)>>2]|0);jc[c[f+124>>2]&127](X,R,g+28560|0,W,g+27824|0)}while(0)}}else{h=c[T>>2]|0;m=c[h+1184>>2]|0;if(!(c[V>>2]|0)){i=g+27780|0;h=0;while(1){if((h|0)==16)break;j=K+(H(h,L)|0)|0;k=(c[i>>2]|0)+(h<<4)|0;l=j+16|0;do{a[j>>0]=a[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));h=h+1|0}if(!(c[(c[T>>2]|0)+12>>2]|0)){i=1<<m+-1&255;h=0;while(1){if((h|0)==8)break c;_=H(h,W)|0;Wp(S+_|0,i|0,8)|0;Wp(o+_|0,i|0,8)|0;h=h+1|0}}else{i=(c[i>>2]|0)+256|0;j=i+(u<<3)|0;h=0;while(1){if((h|0)>=(u|0))break c;_=H(h,W)|0;Z=h<<3;X=i+Z|0;U=X;U=d[U>>0]|d[U+1>>0]<<8|d[U+2>>0]<<16|d[U+3>>0]<<24;X=X+4|0;X=d[X>>0]|d[X+1>>0]<<8|d[X+2>>0]<<16|d[X+3>>0]<<24;g=S+_|0;V=g;a[V>>0]=U;a[V+1>>0]=U>>8;a[V+2>>0]=U>>16;a[V+3>>0]=U>>24;g=g+4|0;a[g>>0]=X;a[g+1>>0]=X>>8;a[g+2>>0]=X>>16;a[g+3>>0]=X>>24;Z=j+Z|0;g=Z;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;Z=Z+4|0;Z=d[Z>>0]|d[Z+1>>0]<<8|d[Z+2>>0]<<16|d[Z+3>>0]<<24;_=o+_|0;X=_;a[X>>0]=g;a[X+1>>0]=g>>8;a[X+2>>0]=g>>16;a[X+3>>0]=g>>24;_=_+4|0;a[_>>0]=Z;a[_+1>>0]=Z>>8;a[_+2>>0]=Z>>16;a[_+3>>0]=Z>>24;h=h+1|0}}}pI(X,c[g+27780>>2]|0,H(m,e[164312+(c[h+12>>2]<<1)>>1]|0)|0);i=0;while(1){if((i|0)==16)break;j=K+(H(i,L)|0)|0;h=0;while(1){if((h|0)==16)break;_=(Hz(X,m)|0)&65535;b[j+(h<<1)>>1]=_;h=h+1|0}i=i+1|0}k:do if(!(c[(c[T>>2]|0)+12>>2]|0)){j=1<<m+-1&65535;i=0;while(1){if((i|0)>=(u|0))break k;l=H(i,W)|0;k=S+l|0;l=o+l|0;h=0;while(1){if((h|0)==8)break;b[l+(h<<1)>>1]=j;b[k+(h<<1)>>1]=j;h=h+1|0}i=i+1|0}}else{i=0;while(1){if((i|0)>=(u|0))break;j=S+(H(i,W)|0)|0;h=0;while(1){if((h|0)==8)break;_=(Hz(X,m)|0)&65535;b[j+(h<<1)>>1]=_;h=h+1|0}i=i+1|0}i=0;while(1){if((i|0)>=(u|0))break k;j=o+(H(i,W)|0)|0;h=0;while(1){if((h|0)==8)break;_=(Hz(X,m)|0)&65535;b[j+(h<<1)>>1]=_;h=h+1|0}i=i+1|0}}while(0)}while(0);Mb=Y;return}function wc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=Mb;Mb=Mb+16|0;n=w;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[275897]|0;d=m>>>a;if(d&3|0){b=(d&1^1)+a|0;a=1103628+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[275897]=m&~(1<<b);else{c[g+12>>2]=a;c[d>>2]=g}v=b<<3;c[e+4>>2]=v|3;v=e+v+4|0;c[v>>2]=c[v>>2]|1;v=f;Mb=w;return v|0}l=c[275899]|0;if(k>>>0>l>>>0){if(d|0){b=2<<a;b=d<<a&(b|0-b);b=(b&0-b)+-1|0;i=b>>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=1103628+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=m&~(1<<e);c[275897]=a}else{c[d+12>>2]=b;c[a>>2]=d;a=m}v=e<<3;h=v-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+v>>2]=h;if(l|0){e=c[275902]|0;b=l>>>3;d=1103628+(b<<1<<2)|0;b=1<<b;if(!(a&b)){c[275897]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[275899]=h;c[275902]=f;v=i;Mb=w;return v|0}g=c[275898]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[1103892+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-k|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-k|0;f=h>>>0<j>>>0;d=a;i=f?a:i;j=f?h:j}h=i+k|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=1103892+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[275898]=g&~(1<<b);break}}else{v=f+16|0;c[((c[v>>2]|0)==(i|0)?v:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){v=j+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(l|0){e=c[275902]|0;b=l>>>3;d=1103628+(b<<1<<2)|0;b=1<<b;if(!(b&m)){c[275897]=b|m;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[275899]=j;c[275902]=h}v=i+8|0;Mb=w;return v|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;e=c[275898]|0;if(e){f=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;q=a<<m;i=(q+520192|0)>>>16&4;q=q<<i;j=(q+245760|0)>>>16&2;j=14-(i|m|j)+(q<<j>>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=c[1103892+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;q=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-k|0;if(h>>>0<f>>>0)if(!h){a=d;f=0;q=65;break a}else{a=d;f=h}q=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(q|0)==0|(q|0)==(d|0)?g:q;if(!d){d=g;q=61;break}else i=i<<1}}while(0);if((q|0)==61){if((d|0)==0&(a|0)==0){a=2<<j;a=(a|0-a)&e;if(!a){m=k;break}m=(a&0-a)+-1|0;h=m>>>12&16;m=m>>>h;g=m>>>5&8;m=m>>>g;i=m>>>2&4;m=m>>>i;j=m>>>1&2;m=m>>>j;d=m>>>1&1;a=0;d=c[1103892+((g|h|i|j|d)+(m>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else q=65}if((q|0)==65){g=d;while(1){m=(c[g+4>>2]&-8)-k|0;d=m>>>0<f>>>0;f=d?m:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[275899]|0)-k|0)>>>0:0)?(l=i+k|0,l>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{v=c[i+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);do if(g){a=c[i+28>>2]|0;d=1103892+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<<a);c[275898]=e;break}}else{v=g+16|0;c[((c[v>>2]|0)==(i|0)?v:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){v=h+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[l+4>>2]=h|1;c[l+h>>2]=h;b=h>>>3;if(h>>>0<256){d=1103628+(b<<1<<2)|0;a=c[275897]|0;b=1<<b;if(!(a&b)){c[275897]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=l;c[b+12>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{u=(b+1048320|0)>>>16&8;v=b<<u;t=(v+520192|0)>>>16&4;v=v<<t;d=(v+245760|0)>>>16&2;d=14-(t|u|d)+(v<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;b=1103892+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<<d;if(!(e&a)){c[275898]=e|a;c[b>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break b}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=l;c[u>>2]=l;c[l+8>>2]=v;c[l+12>>2]=b;c[l+24>>2]=0}while(0);v=i+8|0;Mb=w;return v|0}else m=k}else m=k}else m=-1;while(0);d=c[275899]|0;if(d>>>0>=m>>>0){b=d-m|0;a=c[275902]|0;if(b>>>0>15){v=a+m|0;c[275902]=v;c[275899]=b;c[v+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=m|3}else{c[275899]=0;c[275902]=0;c[a+4>>2]=d|3;v=a+d+4|0;c[v>>2]=c[v>>2]|1}v=a+8|0;Mb=w;return v|0}h=c[275900]|0;if(h>>>0>m>>>0){t=h-m|0;c[275900]=t;v=c[275903]|0;u=v+m|0;c[275903]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;Mb=w;return v|0}if(!(c[276015]|0)){c[276017]=4096;c[276016]=4096;c[276018]=-1;c[276019]=-1;c[276020]=0;c[276008]=0;c[276015]=n&-16^1431655768;a=4096}else a=c[276017]|0;i=m+48|0;j=m+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=m>>>0){v=0;Mb=w;return v|0}a=c[276007]|0;if(a|0?(l=c[276005]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){v=0;Mb=w;return v|0}d:do if(!(c[276008]&4)){d=c[275903]|0;e:do if(d){e=1104036;while(1){n=c[e>>2]|0;if(n>>>0<=d>>>0?(n+(c[e+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[e+8>>2]|0;if(!a){q=128;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=yz(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[e+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;q=145;break d}}else{e=a;q=136}}else b=0}else q=128;while(0);do if((q|0)==128){d=yz(0)|0;if((d|0)!=(-1|0)?(b=d,o=c[276016]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[276005]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=c[276007]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=yz(b|0)|0;if((a|0)==(d|0)){h=b;g=d;q=145;break d}else{e=a;q=136}}else b=0}while(0);do if((q|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;q=145;break d}a=c[276017]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;q=145;break d}if((yz(a|0)|0)==(-1|0)){yz(d|0)|0;b=0;break}else{h=a+b|0;g=e;q=145;break d}}while(0);c[276008]=c[276008]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(t=yz(k|0)|0,p=yz(0)|0,r=p-t|0,s=r>>>0>(m+40|0)>>>0,!((t|0)==(-1|0)|s^1|t>>>0<p>>>0&((t|0)!=(-1|0)&(p|0)!=(-1|0))^1)):0){h=s?r:b;g=t;q=145}if((q|0)==145){b=(c[276005]|0)+h|0;c[276005]=b;if(b>>>0>(c[276006]|0)>>>0)c[276006]=b;j=c[275903]|0;f:do if(j){b=1104036;while(1){a=c[b>>2]|0;d=c[b+4>>2]|0;if((g|0)==(a+d|0)){q=154;break}e=c[b+8>>2]|0;if(!e)break;else b=e}if(((q|0)==154?(u=b+4|0,(c[b+12>>2]&8|0)==0):0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[u>>2]=d+h;v=(c[275900]|0)+h|0;t=j+8|0;t=(t&7|0)==0?0:0-t&7;u=j+t|0;t=v-t|0;c[275903]=u;c[275900]=t;c[u+4>>2]=t|1;c[j+v+4>>2]=40;c[275904]=c[276019];break}if(g>>>0<(c[275901]|0)>>>0)c[275901]=g;d=g+h|0;b=1104036;while(1){if((c[b>>2]|0)==(d|0)){q=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((q|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;l=b+4|0;c[l>>2]=(c[l>>2]|0)+h;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;c[l+4>>2]=m|3;g:do if((j|0)==(b|0)){v=(c[275900]|0)+i|0;c[275900]=v;c[275903]=k;c[k+4>>2]=v|1}else{if((c[275902]|0)==(b|0)){v=(c[275899]|0)+i|0;c[275899]=v;c[275902]=k;c[k+4>>2]=v|1;c[k+v>>2]=v;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;h:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[275897]=c[275897]&~(1<<e);break}else{c[a+12>>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{v=c[b+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);if(!g)break;d=c[b+28>>2]|0;e=1103892+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){v=g+16|0;c[((c[v>>2]|0)==(b|0)?v:g+20|0)>>2]=a;if(!a)break h}else{c[e>>2]=a;if(a|0)break;c[275898]=c[275898]&~(1<<d);break h}while(0);c[a+24>>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=1103628+(b<<1<<2)|0;a=c[275897]|0;b=1<<b;if(!(a&b)){c[275897]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}u=(b+1048320|0)>>>16&8;v=b<<u;t=(v+520192|0)>>>16&4;v=v<<t;e=(v+245760|0)>>>16&2;e=14-(t|u|e)+(v<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=1103892+(e<<2)|0;c[k+28>>2]=e;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[275898]|0;d=1<<e;if(!(a&d)){c[275898]=a|d;c[b>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=b;c[k+24>>2]=0}while(0);v=l+8|0;Mb=w;return v|0}b=1104036;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(v=a+(c[b+4>>2]|0)|0,v>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=v+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0<f>>>0?j:a;b=a+8|0;d=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=d-t|0;c[275903]=u;c[275900]=t;c[u+4>>2]=t|1;c[g+d+4>>2]=40;c[275904]=c[276019];d=a+4|0;c[d>>2]=27;c[b>>2]=c[276009];c[b+4>>2]=c[276010];c[b+8>>2]=c[276011];c[b+12>>2]=c[276012];c[276009]=g;c[276010]=h;c[276012]=0;c[276011]=b;b=a+24|0;do{u=b;b=b+4|0;c[b>>2]=7}while((u+8|0)>>>0<v>>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=1103628+(b<<1<<2)|0;a=c[275897]|0;b=1<<b;if(!(a&b)){c[275897]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{u=(b+1048320|0)>>>16&8;v=b<<u;t=(v+520192|0)>>>16&4;v=v<<t;e=(v+245760|0)>>>16&2;e=14-(t|u|e)+(v<<e>>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=1103892+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[275898]|0;a=1<<e;if(!(b&a)){c[275898]=b|a;c[d>>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}b=c[d>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(g|0)){b=a;break j}else{e=e<<1;b=a}}c[d>>2]=j;c[j+24>>2]=b;c[j+12>>2]=j;c[j+8>>2]=j;break f}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=j;c[u>>2]=j;c[j+8>>2]=v;c[j+12>>2]=b;c[j+24>>2]=0}}else{v=c[275901]|0;if((v|0)==0|g>>>0<v>>>0)c[275901]=g;c[276009]=g;c[276010]=h;c[276012]=0;c[275906]=c[276015];c[275905]=-1;c[275910]=1103628;c[275909]=1103628;c[275912]=1103636;c[275911]=1103636;c[275914]=1103644;c[275913]=1103644;c[275916]=1103652;c[275915]=1103652;c[275918]=1103660;c[275917]=1103660;c[275920]=1103668;c[275919]=1103668;c[275922]=1103676;c[275921]=1103676;c[275924]=1103684;c[275923]=1103684;c[275926]=1103692;c[275925]=1103692;c[275928]=1103700;c[275927]=1103700;c[275930]=1103708;c[275929]=1103708;c[275932]=1103716;c[275931]=1103716;c[275934]=1103724;c[275933]=1103724;c[275936]=1103732;c[275935]=1103732;c[275938]=1103740;c[275937]=1103740;c[275940]=1103748;c[275939]=1103748;c[275942]=1103756;c[275941]=1103756;c[275944]=1103764;c[275943]=1103764;c[275946]=1103772;c[275945]=1103772;c[275948]=1103780;c[275947]=1103780;c[275950]=1103788;c[275949]=1103788;c[275952]=1103796;c[275951]=1103796;c[275954]=1103804;c[275953]=1103804;c[275956]=1103812;c[275955]=1103812;c[275958]=1103820;c[275957]=1103820;c[275960]=1103828;c[275959]=1103828;c[275962]=1103836;c[275961]=1103836;c[275964]=1103844;c[275963]=1103844;c[275966]=1103852;c[275965]=1103852;c[275968]=1103860;c[275967]=1103860;c[275970]=1103868;c[275969]=1103868;c[275972]=1103876;c[275971]=1103876;v=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=v-t|0;c[275903]=u;c[275900]=t;c[u+4>>2]=t|1;c[g+v+4>>2]=40;c[275904]=c[276019]}while(0);b=c[275900]|0;if(b>>>0>m>>>0){t=b-m|0;c[275900]=t;v=c[275903]|0;u=v+m|0;c[275903]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;Mb=w;return v|0}}v=pV()|0;c[v>>2]=12;v=0;Mb=w;return v|0}function xc(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=Mb;Mb=Mb+864|0;Z=ia;Y=ia+848|0;da=ia+808|0;X=ia+800|0;W=ia+792|0;V=ia+784|0;U=ia+768|0;R=ia+760|0;Q=ia+752|0;P=ia+744|0;O=ia+728|0;L=ia+712|0;K=ia+704|0;J=ia+696|0;I=ia+688|0;H=ia+672|0;G=ia+664|0;E=ia+656|0;B=ia+648|0;A=ia+640|0;z=ia+632|0;y=ia+624|0;x=ia+616|0;w=ia+608|0;s=ia+600|0;r=ia+592|0;q=ia+584|0;p=ia+576|0;o=ia+560|0;ca=ia+552|0;n=ia+544|0;m=ia+536|0;l=ia+528|0;j=ia+520|0;i=ia+512|0;ha=ia+832|0;_=ia+840|0;$=ia+824|0;c[ha>>2]=0;do if(!(aU(a)|0)){ga=a+12|0;g=c[ga>>2]|0;h=(g|0)==0;if(!b)if(h){Xw(a,16,185443,i);f=-22;break}else ea=g;else if(h|(g|0)==(b|0))ea=b;else{f=c[b>>2]|0;c[j>>2]=c[g>>2];c[j+4>>2]=f;Xw(a,16,185481,j);f=-22;break}if((c[a+104>>2]|0)>>>0<=268435423){fa=(e|0)!=0;if(fa)eI(ha,c[e>>2]|0,0)|0;b=pq(a,ea)|0;if((b|0)>=0){T=YQ(116)|0;aa=a+64|0;c[aa>>2]=T;a:do if(!T)f=-12;else{T=YQ(88)|0;c[(c[aa>>2]|0)+16>>2]=T;b:do if(((((((T|0)!=0?(T=hP()|0,c[(c[aa>>2]|0)+12>>2]=T,(T|0)!=0):0)?(T=hP()|0,c[(c[aa>>2]|0)+100>>2]=T,(T|0)!=0):0)?(T=hP()|0,c[(c[aa>>2]|0)+76>>2]=T,(T|0)!=0):0)?(T=MS()|0,c[(c[aa>>2]|0)+68>>2]=T,(T|0)!=0):0)?(T=MS()|0,c[(c[aa>>2]|0)+24>>2]=T,(T|0)!=0):0)?(T=MS()|0,k=c[aa>>2]|0,c[k+40>>2]=T,(T|0)!=0):0){c[k+108>>2]=1;S=ea+52|0;b=c[S>>2]|0;T=a+60|0;do if((b|0)>0){if(!(c[T>>2]|0)){g=YQ(b)|0;c[T>>2]=g;if(!g){f=-12;break a}b=ea+44|0;h=c[b>>2]|0;if(!h)break;c[g>>2]=h;YT(g)}else b=ea+44|0;if(c[b>>2]|0?(f=CT(c[T>>2]|0,ha)|0,(f|0)<0):0)break b}else c[T>>2]=0;while(0);f=CT(a,ha)|0;if((f|0)>=0){b=a+960|0;g=c[b>>2]|0;do if(g|0){if((aq(c[ea>>2]|0,g,44)|0)>=1)break;f=c[b>>2]|0;c[l>>2]=c[ea>>2];c[l+4>>2]=f;Xw(a,16,185557,l);f=-22;break b}while(0);i=a+132|0;b=c[i>>2]|0;c:do if(!b)N=38;else{g=c[a+136>>2]|0;if(!g){N=38;break}do if(c[a+124>>2]|0){if(!(c[a+128>>2]|0))break;switch(c[a+48>>2]|0){case 190:case 93:case 28:{N=44;break c}default:{}}}while(0);f=Tx(a,b,g)|0;N=41}while(0);do if((N|0)==38){g=c[a+124>>2]|0;if(!g){N=43;break}h=c[a+128>>2]|0;if(!h){N=43;break}f=Tx(a,g,h)|0;N=41}while(0);if((N|0)==41){if((f|0)<0)break;b=c[i>>2]|0;N=43}do if((N|0)==43){if(b|0){N=44;break}g=c[a+136>>2]|0;if(g|0){b=0;N=48;break}b=a+124|0;if(c[b>>2]|0){b=0;g=0;N=48;break}if(!(c[a+128>>2]|0))t=b;else{b=0;g=0;N=48}}while(0);if((N|0)==44){g=c[a+136>>2]|0;N=48}do if((N|0)==48){h=a+992|0;F=h;i=a+124|0;if((hn(b,g,c[F>>2]|0,c[F+4>>2]|0,-1,0,a)|0)>=0?(F=h,(hn(c[i>>2]|0,c[a+128>>2]|0,c[F>>2]|0,c[F+4>>2]|0,-1,0,a)|0)>=0):0){t=i;break}Xw(a,24,185591,m);Tx(a,0,0)|0;t=i}while(0);b=c[t>>2]|0;do if((b|0)>0){g=c[a+128>>2]|0;if((g|0)<=0)break;h=a+228|0;c[Z>>2]=c[h>>2];c[Z+4>>2]=c[h+4>>2];if((vv(b,g,Z)|0)>=0)break;F=a+232|0;D=c[F>>2]|0;c[n>>2]=c[h>>2];c[n+4>>2]=D;Xw(a,24,185629,n);c[a+228>>2]=0;c[F>>2]=1}while(0);if(eO(ea)|0)hM(a+848|0);D=a+420|0;if((c[D>>2]|0)>>>0>64){f=-22;break}c[ga>>2]=ea;F=a+8|0;h=c[F>>2]|0;do if((h|0)==-1)N=61;else{if((h|0)==(c[ea+8>>2]|0)){N=61;break}g=a+48|0;l=g;g=c[g>>2]|0;b=h}while(0);do if((N|0)==61){b=a+48|0;g=c[b>>2]|0;if(g|0){l=b;b=h;break}C=c[ea+8>>2]|0;c[F>>2]=C;g=c[ea+12>>2]|0;c[b>>2]=g;l=b;b=C}while(0);h=ea+12|0;do if((g|0)==(c[h>>2]|0)){if(!((b|0)==4?1:(b|0)==(c[ea+8>>2]|0)))break;c[a+432>>2]=0;b=pL(g)|0;C=a+900|0;c[C>>2]=b;b=c[ga>>2]|0;do if(c[b+16>>2]&512|0){if((c[a+672>>2]|0)<=-2)break;b=(BM(ea)|0)==0;b=b?185687:185695;da=c[ea>>2]|0;c[o>>2]=b;c[o+4>>2]=da;c[o+8>>2]=-2;Xw(a,16,185703,o);da=(BM(ea)|0)==0;f=c[h>>2]|0;if(da)f=mU(f)|0;else f=lU(f)|0;if(c[f+16>>2]&512|0){f=-733130664;break b}f=c[f>>2]|0;c[p>>2]=b;c[p+4>>2]=f;Xw(a,16,185813,p);f=-733130664;break b}while(0);do if((c[F>>2]|0)==1){h=a+108|0;g=a+112|0;if(c[h>>2]|0?c[g>>2]|0:0)break;c[h>>2]=1;c[g>>2]=c[a+416>>2]}while(0);if(!((c[(c[aa>>2]|0)+52>>2]|0)!=0?(c[a+808>>2]&1|0)!=0:0)){f=kJ(a)|0;if((f|0)<0)break b;b=c[ga>>2]|0}g=d[b+40>>0]|0;h=a+792|0;if((c[h>>2]|0)>>>0>g>>>0){c[q>>2]=g;Xw(a,24,185862,q);b=c[ga>>2]|0;c[h>>2]=d[b+40>>0]}if(c[a+684>>2]|0){Xw(a,24,185923,r);b=c[ga>>2]|0}d:do if(BM(b)|0){r=hP()|0;c[a+796>>2]=r;if(!r){f=-12;break b}m=a+108|0;do if((c[m>>2]|0)>=1){n=a+112|0;if((c[n>>2]|0)<1)break;g=c[ga>>2]|0;b=c[g+32>>2]|0;e:do if(!b)j=g;else{k=a+424|0;j=0;while(1){h=c[b+(j<<2)>>2]|0;if((h|0)==-1)break;i=c[k>>2]|0;if((i|0)==(h|0)){j=g;break e}if((c[D>>2]|0)==1){s=DO(i)|0;s=(s|0)==(DO(c[(c[(c[ga>>2]|0)+32>>2]|0)+(j<<2)>>2]|0)|0);u=c[ga>>2]|0;v=c[u+32>>2]|0;if(s){N=97;break}else{g=u;b=v}}j=j+1|0}if((N|0)==97?(v=v+(j<<2)|0,c[k>>2]=c[v>>2],(c[v>>2]|0)!=-1):0){j=u;break}c[w>>2]=c[k>>2];tM(Z,128,186026,w)|0;f=JT(kT(c[k>>2]|0)|0,Z)|0;c[x>>2]=f;Xw(a,16,186029,x);f=-22;break b}while(0);g=c[j+24>>2]|0;f:do if(g|0){h=a+144|0;b=0;while(1){i=c[g+(b<<2)>>2]|0;if((i|0)==-1)break;if((c[h>>2]|0)==(i|0)){N=106;break}else b=b+1|0}if((N|0)==106){switch(i|0){case 14:case 34:case 13:case 315:case 12:break;default:break f}c[a+400>>2]=2;break}switch(c[l>>2]|0){case 10:case 8:{if((c[a+672>>2]|0)<0)break f;break}default:{}}c[y>>2]=c[h>>2];tM(Z,128,186026,y)|0;f=JT(ZP(c[h>>2]|0)|0,Z)|0;c[z>>2]=f;Xw(a,16,186085,z);f=-22;break b}while(0);h=c[j+28>>2]|0;g=c[a+416>>2]|0;g:do if(h|0){b=0;while(1){i=c[h+(b<<2)>>2]|0;if(!i)break;if((g|0)==(i|0))break g;else b=b+1|0}c[A>>2]=g;Xw(a,16,186140,A);f=-22;break b}while(0);if((g|0)<0){c[B>>2]=g;Xw(a,16,186140,B);f=-22;break b}i=c[j+36>>2]|0;l=a+448|0;h:do if(i|0){k=l;j=c[k>>2]|0;k=c[k+4>>2]|0;if((j|0)==0&(k|0)==0){Xw(a,24,186183,E);break}b=0;while(1){h=i+(b<<3)|0;g=c[h>>2]|0;h=c[h+4>>2]|0;if((g|0)==0&(h|0)==0)break;if((j|0)==(g|0)&(k|0)==(h|0))break h;else b=b+1|0}TI(Z,512,-1,j,k);c[G>>2]=Z;Xw(a,16,186213,G);f=-22;break b}while(0);h=l;g=c[h>>2]|0;h=c[h+4>>2]|0;b=c[D>>2]|0;do if(!((g|0)==0&(h|0)==0)){g=_w(g,h)|0;if(!b){c[D>>2]=g;b=g;break}if((g|0)==(c[D>>2]|0)){b=g;break}f=l;TI(Z,512,-1,c[f>>2]|0,c[f+4>>2]|0);f=c[D>>2]|0;c[H>>2]=Z;c[H+4>>2]=g;c[H+8>>2]=f;Xw(a,16,186261,H);f=-22;break b}while(0);if((b|0)<0){c[I>>2]=b;Xw(a,16,186346,I);f=-22;break b}b=c[F>>2]|0;i:do if(!b){b=oT(c[a+144>>2]|0)|0;h=a+788|0;i=c[h>>2]|0;do if((i|0)>=0){if((i|0)<=8)break;b=b+32|0;g=c[b>>2]|0;if((g|0)<9)N=134}else{g=b+32|0;b=g;g=c[g>>2]|0;N=134}while(0);if((N|0)==134){c[J>>2]=i;c[J+4>>2]=g;Xw(a,24,186396,J);c[h>>2]=c[b>>2]}do if((c[t>>2]|0)>=1){if((c[a+128>>2]|0)<1)break;b=c[F>>2]|0;break i}while(0);Xw(a,16,186475,K);f=-22;break b}while(0);do if(b>>>0<2){g=a+72|0;b=c[g>>2]|0;g=c[g+4>>2]|0;K=SO(b|0,g|0,-1,-1)|0;J=M()|0;if(!(J>>>0<0|(J|0)==0&K>>>0<999))break;K=L;c[K>>2]=b;c[K+4>>2]=g;K=L+8|0;c[K>>2]=b;c[K+4>>2]=g;Xw(a,24,186495,L)}while(0);b=a+560|0;if(!(c[b>>2]|0)){L=c[a+512>>2]|0;L=XJ(L|0,((L|0)<0)<<31>>31|0,3,0)|0;L=pu(L|0,M()|0,4,0)|0;M()|0;c[b>>2]=L}g=c[a+116>>2]|0;do if(g|0){b=c[m>>2]|0;if(!b)break;if((g|0)<=(2147483647/(b|0)|0|0))break;da=c[n>>2]|0;c[O>>2]=g;c[O+4>>2]=b;c[O+8>>2]=da;Xw(a,16,186548,O);break b}while(0);f=c[a+976>>2]|0;if(!f)break d;f=c[f+4>>2]|0;if((c[f+36>>2]|0)!=(c[a+144>>2]|0)){Xw(a,16,186601,P);f=-22;break b}h=a+888|0;g=c[h>>2]|0;b=f+40|0;f=c[b>>2]|0;do if((g|0)!=-1){if((g|0)==(f|0)){f=g;break}da=ZP(g)|0;f=ZP(c[b>>2]|0)|0;c[Q>>2]=da;c[Q+4>>2]=f;Xw(a,16,186666,Q);f=-22;break b}while(0);c[h>>2]=f;break d}while(0);Xw(a,16,185992,s);f=-22;break b}while(0);Q=a+904|0;c[Q>>2]=0;c[Q+4>>2]=0;c[Q+8>>2]=0;c[Q+12>>2]=0;Q=a+928|0;c[Q>>2]=0;c[Q+4>>2]=-2147483648;Q=a+920|0;c[Q>>2]=0;c[Q+4>>2]=-2147483648;do if(c[a+92>>2]&8192|0){if(c[(c[C>>2]|0)+4>>2]|0)break;Xw(a,24,186747,R)}while(0);f=c[ga>>2]|0;b=c[f+76>>2]|0;do if(b){if(c[a+808>>2]&1|0?(c[(c[aa>>2]|0)+52>>2]|0)==0:0)break;f=Vb[b&31](a)|0;if((f|0)<0)break b;f=c[ga>>2]|0}while(0);if(BM(f)|0)c[a+120>>2]=c[a+876>>2];do if(eO(f)|0){f=a+72|0;R=f;if((c[R>>2]|0)==0&(c[R+4>>2]|0)==0){P=er(a)|0;Q=M()|0;R=f;c[R>>2]=P;c[R+4>>2]=Q}g=a+448|0;b=g;f=c[b>>2]|0;b=c[b+4>>2]|0;do if((f|0)==0&(b|0)==0)N=173;else{f=_w(f,b)|0;b=c[D>>2]|0;if(!b){c[D>>2]=f;break}if((f|0)==(b|0))break;N=g;TI(Z,512,-1,c[N>>2]|0,c[N+4>>2]|0);N=c[D>>2]|0;c[U>>2]=Z;c[U+4>>2]=f;c[U+8>>2]=N;Xw(a,24,186810,U);N=g;c[N>>2]=0;c[N+4>>2]=0;N=173}while(0);if((N|0)==173)f=c[D>>2]|0;if(f>>>0>64){f=-22;break b}b=a+936|0;g=c[b>>2]|0;j:do if(g|0){if((c[F>>2]|0)!=3){Xw(a,16,186930,V);f=-22;break b}f=c[C>>2]|0;if(c[f+16>>2]&65536|0){c[W>>2]=c[f+8>>2];Xw(a,24,186990,W);c[a+940>>2]=-1;break}f=a+940|0;switch(c[f>>2]|0){case 0:{c[f>>2]=1;break}case 1:break;default:break j}if((rI(187064,g)|0)==(-1|0)){f=pV()|0;f=0-(c[f>>2]|0)|0;c[X>>2]=c[b>>2];Xw(a,16,187070,X);break b}else break}while(0);f=a+880|0;if((c[f>>2]|0)<=0)break;if((c[a+884>>2]|0)<=0)break;c[$>>2]=c[a+116>>2];c[$+4>>2]=1;c[Y>>2]=c[f>>2];c[Y+4>>2]=c[f+4>>2];c[Z>>2]=c[$>>2];c[Z+4>>2]=c[$+4>>2];Ou(_,Y,Z);Z=c[_>>2]|0;$=a+108|0;c[$>>2]=c[_+4>>2];c[$+4>>2]=Z}while(0);if((c[S>>2]|0)<=0){f=0;break a}f=c[T>>2]|0;if(!f){f=0;break a}b=c[ea+44>>2]|0;if(!b){f=0;break a}if((c[f>>2]|0)==(b|0)){f=0;break a}c[da>>2]=187135;c[da+4>>2]=185241;c[da+8>>2]=1103;Xw(0,0,213444,da);ba()}while(0);Xw(a,16,185658,ca);f=-22}}else f=-12;while(0);b=c[ga>>2]|0;if(b|0?c[b+112>>2]&2|0:0)Vb[c[b+92>>2]&31](a)|0;if(c[ea+44>>2]|0?c[ea+52>>2]|0:0)kE(c[a+60>>2]|0);kE(a);QP(a+796|0);qC(ha);hM(a+60|0);b=c[aa>>2]|0;if(b|0){QP(b+12|0);QP((c[aa>>2]|0)+100|0);QP((c[aa>>2]|0)+76|0);NP((c[aa>>2]|0)+68|0);NP((c[aa>>2]|0)+40|0);NP((c[aa>>2]|0)+24|0);hM((c[aa>>2]|0)+16|0)}hM(aa);c[ga>>2]=0}while(0);nv(ea)|0;if(fa){qC(e);c[e>>2]=c[ha>>2]}}else f=b}else f=-22}else f=0;while(0);Mb=ia;return f|0}function yc(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0;Ga=Mb;Mb=Mb+16|0;wa=Ga+8|0;xa=Ga;ya=c[g+21748>>2]|0;Ea=c[g+21708>>2]|0;na=c[g+21712>>2]|0;oa=c[g+21716>>2]|0;pa=c[g+21720>>2]|0;c[wa>>2]=pa;qa=c[g+21724>>2]|0;c[wa+4>>2]=qa;ra=c[g+21728>>2]|0;sa=c[g+21732>>2]|0;ta=c[g+21736>>2]|0;ua=c[g+21740>>2]|0;c[xa>>2]=ua;va=c[g+21744>>2]|0;c[xa+4>>2]=va;if(!(h&2048)){t=(h&7|0)!=0;a:do if(t){p=(c[(c[f+28196>>2]|0)+56>>2]|0)==0?-1:7;k=g+21768|0;c[k>>2]=65535;i=g+21760|0;c[i>>2]=65535;m=g+21756|0;c[m>>2]=65535;n=g+21764|0;c[n>>2]=61162;o=(p&sa|0)!=0;if(o){i=65535;l=60138}else{c[m>>2]=46079;c[i>>2]=13311;c[n>>2]=9962;i=46079;l=8938}j=h&128;do if((j|0)==(ua&128|0)){if(!(p&ua)){i=i&57183;c[m>>2]=i;c[k>>2]=24415}}else{if(!j){if(!((p&ua|0)==0?1:(c[(c[f+24364>>2]|0)+((c[f+27e3>>2]|0)+pa<<2)>>2]&p|0)==0))break;i=i&57183;c[m>>2]=i;c[k>>2]=24415;break}if(!(p&ua)){i=i&57343;c[m>>2]=i;c[k>>2]=24575;j=24415}else j=65375;if(!(p&va)){i=i&65375;c[m>>2]=i;c[k>>2]=j}}while(0);if(!(p&ra))c[m>>2]=i&32767;if(!(p&ta))c[n>>2]=l;if(h&1|0){if(!(sa&1)){Wp(g+21668|0,(o?2:-1)|0,4)|0;l=g+21704|0;m=f+26348|0}else{l=g+21704|0;m=f+26348|0;c[g+21668>>2]=c[(c[l>>2]|0)+(c[(c[m>>2]|0)+(na<<2)>>2]|0)>>2]}k=0;while(1){if((k|0)==2)break a;i=c[xa+(k<<2)>>2]|0;if(!(i&1)){i=(i&p|0)==0?-1:2;j=k<<4;a[j+19+(g+21664)>>0]=i;j=j|11}else{ma=(c[l>>2]|0)+(c[(c[m>>2]|0)+(c[wa+(k<<2)>>2]<<2)>>2]|0)|0;i=k<<1;j=k<<4;a[(j|11)+(g+21664)>>0]=a[ma+(6-(d[ya+i>>0]|0))>>0]|0;i=a[ma+(6-(d[ya+(i|1)>>0]|0))>>0]|0;j=j+19|0}a[g+21664+j>>0]=i;k=k+1|0}}}while(0);s=(sa|0)!=0;do if(s){i=f+25956|0;j=c[i>>2]|0;c[g+27828>>2]=c[j+(na*48|0)+12>>2];if(!(c[f+25668>>2]|0)){c[g+27868>>2]=c[j+(na*48|0)+28>>2];c[g+27908>>2]=c[j+(na*48|0)+44>>2];break}else{c[g+27868>>2]=c[j+(na*48|0)+20>>2];c[g+27908>>2]=c[j+(na*48|0)+36>>2];break}}else{i=t?1077952576:0;c[g+27828>>2]=i;c[g+27868>>2]=i;c[g+27908>>2]=i;i=f+25956|0}while(0);q=t?64:0;r=f+28200|0;p=0;while(1){if((p|0)==2)break;b:do if(!(c[xa+(p<<2)>>2]|0)){j=p<<4;a[j+99+(g+27824)>>0]=q;a[j+91+(g+27824)>>0]=q;a[j+59+(g+27824)>>0]=q;a[j+51+(g+27824)>>0]=q;a[j+19+(g+27824)>>0]=q;k=q;j=j|11}else{j=c[i>>2]|0;k=c[wa+(p<<2)>>2]|0;l=p<<1;m=ya+(l+8)|0;o=p<<4;a[(o|11)+(g+27824)>>0]=a[(d[m>>0]|0)+(j+(k*48|0))>>0]|0;n=ya+(l+9)|0;a[o+19+(g+27824)>>0]=a[(d[n>>0]|0)+(j+(k*48|0))>>0]|0;switch(c[(c[r>>2]|0)+12>>2]|0){case 3:{a[o+51+(g+27824)>>0]=a[(d[m>>0]|0)+16+(j+(k*48|0))>>0]|0;a[o+59+(g+27824)>>0]=a[(d[n>>0]|0)+16+(j+(k*48|0))>>0]|0;a[o+91+(g+27824)>>0]=a[(d[m>>0]|0)+32+(j+(k*48|0))>>0]|0;k=a[(d[n>>0]|0)+32+(j+(k*48|0))>>0]|0;j=o+99|0;break b}case 2:{a[o+51+(g+27824)>>0]=a[(d[m>>0]|0)+14+(j+(k*48|0))>>0]|0;a[o+59+(g+27824)>>0]=a[(d[n>>0]|0)+14+(j+(k*48|0))>>0]|0;a[o+91+(g+27824)>>0]=a[(d[m>>0]|0)+30+(j+(k*48|0))>>0]|0;k=a[(d[n>>0]|0)+30+(j+(k*48|0))>>0]|0;j=o+99|0;break b}default:{ma=p<<3;a[ma+51+(g+27824)>>0]=a[(d[ya+(l+12)>>0]|0)+(j+(k*48|0))>>0]|0;k=a[(d[ya+(l+13)>>0]|0)+(j+(k*48|0))>>0]|0;j=ma+91|0;break b}}}while(0);a[g+27824+j>>0]=k;p=p+1|0}if(s)i=e[(c[f+26376>>2]|0)+(na<<1)>>1]|0;else i=t?1999:15;c[g+21860>>2]=i;if(!ua)i=t?1999:15;else{i=c[f+26376>>2]|0;ma=e[i+(pa<<1)>>1]|0;i=ma>>>(a[ya>>0]&-2&255)&2|ma&2032|(e[i+(qa<<1)>>1]|0)>>>(a[ya+2>>0]&-2&255)<<2&8}c[g+21864>>2]=i}if(!(h&120)){if(h&256|0?c[g+21844>>2]|0:0)u=53}else u=53;c:do if((u|0)==53){x=c[f+26352>>2]|0;y=f+26344|0;z=x*3|0;B=na<<2;A=B|2;B=B|3;C=(h&80|0)==0;D=(sa|0)==0?-16843010:-1;E=(ua|0)==0?-2:-1;F=pa<<2|1;G=(ta|0)==0?-2:-1;I=oa<<2|2;J=(h&2304|0)==0;K=(ra|0)==0?-2:-1;L=g+21752|0;M=x<<1;N=x+3|0;O=Ea<<2;P=f+26360|0;Q=f+26348|0;R=g+21828|0;S=(ra&128|0)!=0;T=ya+1|0;U=g+840|0;V=ya+2|0;W=ya+3|0;X=(sa&128|0)==0;Y=g+28524|0;Z=f+26392|0;_=g+28532|0;$=g+28548|0;aa=g+28540|0;ba=(sa&256|0)==0;ca=(ta&128|0)==0;da=(sa&64|0)==0;ea=g+28516|0;fa=(ua&128|0)==0;ga=g+28518|0;ha=g+28523|0;ia=(va&128|0)==0;ja=g+28539|0;ka=qa<<2|1;w=c[g+23412>>2]|0;la=(ua&320|0)==64;u=(ua&256|0)==0?4:-128;ma=(va&320|0)==64;v=(va&256|0)==0?4:-128;t=0;while(1){if(t>>>0>=w>>>0)break c;n=g+28272+(t*40|0)+12|0;p=c[f+24384+(t<<2)>>2]|0;o=g+27952+(t*160|0)+48|0;q=c[f+24352+(t<<2)>>2]|0;s=12288<<(t<<1);do if(s&h|0){r=(s&sa|0)!=0;if(r){k=(c[(c[y>>2]|0)+(na<<2)>>2]|0)+z|0;j=q+(k<<2)|0;m=c[j+4>>2]|0;l=g+27952+(t*160|0)+16|0;c[l>>2]=c[j>>2];c[l+4>>2]=m;k=q+(k<<2)+8|0;l=c[k+4>>2]|0;m=g+27952+(t*160|0)+24|0;c[m>>2]=c[k>>2];c[m+4>>2]=l;m=a[p+A>>0]|0;a[g+28272+(t*40|0)+5>>0]=m;a[g+28272+(t*40|0)+4>>0]=m;m=a[p+B>>0]|0;a[g+28272+(t*40|0)+7>>0]=m;a[g+28272+(t*40|0)+6>>0]=m}else{m=g+27952+(t*160|0)+16|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[g+28272+(t*40|0)+4>>2]=D}d:do if(C){if(!(s&ua)){c[g+27952+(t*160|0)+44>>2]=0;i=E}else{i=q+((c[(c[y>>2]|0)+(pa<<2)>>2]|0)+3+(H(x,d[ya>>0]|0)|0)<<2)|0;c[g+27952+(t*160|0)+44>>2]=c[i>>2];i=a[p+(F+(a[ya>>0]&-2&255))>>0]|0}a[g+28272+(t*40|0)+11>>0]=i}else{m=0;while(1){if((m|0)==2)break d;j=m<<1;k=m<<4;i=k+-1|0;l=c[xa+(m<<2)>>2]|0;if(!(l&s)){c[o+(i<<2)>>2]=0;k=k|7;c[o+(k<<2)>>2]=0;j=(l|0)==0?-2:-1;a[n+k>>0]=j}else{Ha=c[wa+(m<<2)>>2]|0;Ja=(c[(c[y>>2]|0)+(Ha<<2)>>2]|0)+3|0;Ha=Ha<<2|1;Ia=ya+j|0;l=q+((H(x,d[Ia>>0]|0)|0)+Ja<<2)|0;c[o+(i<<2)>>2]=c[l>>2];j=ya+(j|1)|0;Ja=q+((H(x,d[j>>0]|0)|0)+Ja<<2)|0;l=k|7;c[o+(l<<2)>>2]=c[Ja>>2];a[n+i>>0]=a[p+(Ha+(a[Ia>>0]&-2&255))>>0]|0;j=a[p+(Ha+(a[j>>0]&-2&255))>>0]|0;i=l}a[n+i>>0]=j;m=m+1|0}}while(0);if(!(s&ta)){c[g+27952+(t*160|0)+32>>2]=0;i=G}else{c[g+27952+(t*160|0)+32>>2]=c[q+((c[(c[y>>2]|0)+(oa<<2)>>2]|0)+z<<2)>>2];i=a[p+I>>0]|0}m=g+28272+(t*40|0)+8|0;a[m>>0]=i;l=g+28272+(t*40|0)+6|0;if((a[l>>0]|i)<<24>>24<0){if(!(s&ra)){c[g+27952+(t*160|0)+12>>2]=0;i=K}else{i=c[L>>2]|0;c[g+27952+(t*160|0)+12>>2]=c[q+(N+(c[(c[y>>2]|0)+(Ea<<2)>>2]|0)+(i&M)<<2)>>2];i=a[p+(O|i&2|1)>>0]|0}a[g+28272+(t*40|0)+3>>0]=i}if(J){k=c[g+32848+(t<<2)>>2]|0;a[g+28272+(t*40|0)+30>>0]=-2;a[g+28272+(t*40|0)+14>>0]=-2;c[g+27952+(t*160|0)+56>>2]=0;c[g+27952+(t*160|0)+120>>2]=0;if(r){j=k+(c[(c[Q>>2]|0)+(na<<2)>>2]<<1)|0;i=c[j>>2]|0;j=c[j+4>>2]|0}else{i=0;j=0}Ja=g+28352+(t*80|0)+8|0;c[Ja>>2]=i;c[Ja+4>>2]=j;if(!(s&ua)){b[g+28352+(t*80|0)+22>>1]=0;i=0}else{i=(c[(c[Q>>2]|0)+(pa<<2)>>2]|0)+6|0;b[g+28352+(t*80|0)+22>>1]=b[k+(i-(d[ya>>0]|0)<<1)>>1]|0;i=b[k+(i-(d[T>>0]|0)<<1)>>1]|0}b[g+28352+(t*80|0)+38>>1]=i;if(!(s&va)){b[g+28352+(t*80|0)+54>>1]=0;i=0}else{i=(c[(c[Q>>2]|0)+(qa<<2)>>2]|0)+6|0;b[g+28352+(t*80|0)+54>>1]=b[k+(i-(d[V>>0]|0)<<1)>>1]|0;i=b[k+(i-(d[W>>0]|0)<<1)>>1]|0}b[g+28352+(t*80|0)+70>>1]=i;b[g+28352+(t*80|0)+28>>1]=0;b[g+28352+(t*80|0)+60>>1]=0;if((c[U>>2]|0)==3){j=c[Z>>2]|0;c[Y>>2]=67372036;c[_>>2]=67372036;c[aa>>2]=67372036;c[$>>2]=67372036;do if(ba)if(da){c[ea>>2]=67372036;break}else{a[ea>>0]=a[j+A>>0]|0;a[ga>>0]=a[j+B>>0]|0;break}else c[ea>>2]=-2139062144;while(0);if(la)i=a[j+(F+(a[ya>>0]&-2&255))>>0]|0;else i=u;a[ha>>0]=i;if(ma)i=a[j+(ka+(a[V>>0]&-2&255))>>0]|0;else i=v;a[ja>>0]=i}if(!(c[P>>2]|0))break}else if(!(c[P>>2]|0))break;if(!(c[R>>2]|0)){if(S?(Ca=g+28272+(t*40|0)+3|0,Da=a[Ca>>0]|0,Da<<24>>24>-1):0){a[Ca>>0]=Da<<24>>24>>1;Ja=g+27952+(t*160|0)+14|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+7|0;a[Ja>>0]=d[Ja>>0]<<1}do if(!X){i=g+28272+(t*40|0)+4|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24>>1;Ja=g+27952+(t*160|0)+18|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+9|0;a[Ja>>0]=d[Ja>>0]<<1}i=g+28272+(t*40|0)+5|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24>>1;Ja=g+27952+(t*160|0)+22|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+11|0;a[Ja>>0]=d[Ja>>0]<<1}i=a[l>>0]|0;if(i<<24>>24>-1){a[l>>0]=i<<24>>24>>1;Ja=g+27952+(t*160|0)+26|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+13|0;a[Ja>>0]=d[Ja>>0]<<1}i=g+28272+(t*40|0)+7|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=j<<24>>24>>1;Ja=g+27952+(t*160|0)+30|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+15|0;a[Ja>>0]=d[Ja>>0]<<1}while(0);if(!ca?(Fa=a[m>>0]|0,Fa<<24>>24>-1):0){a[m>>0]=Fa<<24>>24>>1;Ja=g+27952+(t*160|0)+34|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+17|0;a[Ja>>0]=d[Ja>>0]<<1}do if(!fa){i=g+28272+(t*40|0)+11|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24>>1;Ja=g+27952+(t*160|0)+46|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+23|0;a[Ja>>0]=d[Ja>>0]<<1}i=g+28272+(t*40|0)+19|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=j<<24>>24>>1;Ja=g+27952+(t*160|0)+78|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+39|0;a[Ja>>0]=d[Ja>>0]<<1}while(0);if(ia)break;i=g+28272+(t*40|0)+27|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24>>1;Ja=g+27952+(t*160|0)+110|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+55|0;a[Ja>>0]=d[Ja>>0]<<1}i=g+28272+(t*40|0)+35|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=j<<24>>24>>1;Ja=g+27952+(t*160|0)+142|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+71|0;a[Ja>>0]=d[Ja>>0]<<1;break}else{if(!S?(za=g+28272+(t*40|0)+3|0,Aa=a[za>>0]|0,Aa<<24>>24>-1):0){a[za>>0]=Aa<<24>>24<<1;Ja=g+27952+(t*160|0)+14|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+7|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}do if(X){i=g+28272+(t*40|0)+4|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24<<1;Ja=g+27952+(t*160|0)+18|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+9|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}i=g+28272+(t*40|0)+5|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24<<1;Ja=g+27952+(t*160|0)+22|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+11|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}i=a[l>>0]|0;if(i<<24>>24>-1){a[l>>0]=i<<24>>24<<1;Ja=g+27952+(t*160|0)+26|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+13|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}i=g+28272+(t*40|0)+7|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=j<<24>>24<<1;Ja=g+27952+(t*160|0)+30|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+15|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}while(0);if(ca?(Ba=a[m>>0]|0,Ba<<24>>24>-1):0){a[m>>0]=Ba<<24>>24<<1;Ja=g+27952+(t*160|0)+34|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+17|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}do if(fa){i=g+28272+(t*40|0)+11|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24<<1;Ja=g+27952+(t*160|0)+46|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+23|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}i=g+28272+(t*40|0)+19|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=j<<24>>24<<1;Ja=g+27952+(t*160|0)+78|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+39|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}while(0);if(!ia)break;i=g+28272+(t*40|0)+27|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24<<1;Ja=g+27952+(t*160|0)+110|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+55|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}i=g+28272+(t*40|0)+35|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=j<<24>>24<<1;Ja=g+27952+(t*160|0)+142|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+71|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1;break}}while(0);t=t+1|0}}while(0);c[g+21840>>2]=(ua>>>24&1)+(sa>>>24&1);Mb=Ga;return}function zc(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;M=Mb;Mb=Mb+1632|0;L=M+1624|0;D=M+1616|0;A=M+1608|0;z=M+1600|0;x=M+1584|0;n=M+1576|0;i=M+1568|0;w=M+1536|0;I=M+1024|0;K=M+512|0;F=M;j=c[g>>2]|0;a:do if((j|0)<64e3){if((j|0)<32e3){if((j|0)<22050)switch(j|0){case 16e3:{i=51440;G=8;break a}default:{G=7;break a}}switch(j|0){case 22050:{i=51456;G=8;break a}case 24e3:{i=51472;G=8;break a}default:{G=7;break a}}}if((j|0)<44100){switch(j|0){case 32e3:break;default:{G=7;break a}}i=51488;G=8;break}if((j|0)<48e3)switch(j|0){case 44100:{G=5;break a}default:{G=7;break a}}else switch(j|0){case 48e3:{G=5;break a}default:{G=7;break a}}}else{b:do if((j|0)<128e3){if((j|0)<88200)switch(j|0){case 64e3:{G=5;break a}default:{G=7;break a}}if((j|0)<96e3)switch(j|0){case 88200:break b;default:{G=7;break a}}else switch(j|0){case 96e3:break b;default:{G=7;break a}}}else{if((j|0)<176400)switch(j|0){case 128e3:break b;default:{G=7;break a}}if((j|0)<192e3)switch(j|0){case 176400:break b;default:{G=7;break a}}else switch(j|0){case 192e3:break b;default:{G=7;break a}}}while(0);i=51520;G=8}while(0);if((G|0)==5){i=51504;G=8}else if((G|0)==7){g=c[f+4>>2]|0;c[i>>2]=j;Xw(g,16,190744,i);i=-1}c:do if((G|0)==8){u=(j|0)<32e3?3e3:(j|0)<64e3?4e3:5e3;C=j>>>1;m=(((u<<8)+C|0)>>>0)/(j>>>0)|0;i=((((u<<7)+C|0)>>>0)/(j>>>0)|0)+(a[i+(d[h>>0]|0)>>0]|0)|0;C=g+52|0;c[C>>2]=i;u=h+1|0;k=a[u>>0]|0;l=k&255;d:do if((k&255)<14){t=g+60|0;c[t>>2]=m;ay(w,m,64,13);c[I>>2]=w;c[I+4>>2]=w+24;i=1;while(1){if(!i)break;i=i+-1|0;k=c[I+(i<<3)>>2]|0;j=c[I+(i<<3)+4>>2]|0;while(1){if(k>>>0>=j>>>0)break;p=j+-2|0;if(k>>>0>=p>>>0){G=42;break}m=j+-4|0;n=k+2|0;r=j;s=k;q=k+(r-s>>2<<1)|0;if((_R(k,j)|0)<=0)if((_R(k,q)|0)>0){l=q;G=17}else l=1;else{l=(_R(j,q)|0)>0;l=l?q:j;G=17}if((G|0)==17){G=0;E=b[l>>1]|0;b[l>>1]=b[k>>1]|0;b[k>>1]=E;l=0}if((_R(q,j)|0)>0){l=b[j>>1]|0;b[j>>1]=b[q>>1]|0;b[q>>1]=l;l=0}if((k|0)==(m|0))break;o=b[q>>1]|0;b[q>>1]=b[p>>1]|0;b[p>>1]=o;o=m;while(1){if(n>>>0>o>>>0)break;while(1){if(n>>>0>o>>>0)break;if((_R(n,p)|0)>=0)break;n=n+2|0}m=o;while(1){if(n>>>0>m>>>0)break;if((_R(m,p)|0)<=0){G=31;break}m=m+-2|0}if((G|0)==31){G=0;E=b[m>>1]|0;b[m>>1]=b[n>>1]|0;b[n>>1]=E;m=m+-2|0;n=n+2|0}o=m}E=b[n>>1]|0;b[n>>1]=b[p>>1]|0;b[p>>1]=E;if(l|0?(q|0)==(n|0)|(q|0)==(n+-2|0):0){l=k;while(1){if(l>>>0>=j>>>0)break;m=l+2|0;if((_R(l,m)|0)<1)l=m;else break}if((l|0)==(j|0))break}E=n;if((r-E|0)<(E-s|0)){c[I+(i<<3)>>2]=k;c[I+(i<<3)+4>>2]=o;k=n+2|0}else{c[I+(i<<3)>>2]=n+2;c[I+(i<<3)+4>>2]=j;j=o}i=i+1|0}if((G|0)==42?(G=0,(_R(k,j)|0)>0):0){E=b[j>>1]|0;b[j>>1]=b[k>>1]|0;b[k>>1]=E}}j=d[u>>0]|0;i=0;while(1){if((i|0)==(j|0))break;c[t>>2]=(c[t>>2]|0)+(b[w+(i<<1)>>1]|0);i=i+1|0}B=t;i=c[t>>2]|0;j=c[g>>2]|0}else switch(k<<24>>24){case 14:{i=i<<1;B=g+60|0;c[B>>2]=i;break d}case 15:{i=i*3|0;B=g+60|0;c[B>>2]=i;break d}default:{i=c[f+4>>2]|0;c[n>>2]=l;Xw(i,16,190781,n);i=-1;break c}}while(0);k=i>>>0<64?i:64;c[B>>2]=k;if((j|0)>=32001)if((j|0)!=44100)if((j|0)>47999)y=32;else{c[x>>2]=213565;c[x+4>>2]=190361;c[x+8>>2]=326;Xw(0,0,213444,x);ba()}else y=35;else y=48;l=c[C>>2]|0;i=k-l|0;if(i>>>0>y>>>0){g=c[f+4>>2]|0;c[z>>2]=i;Xw(g,16,190807,z);i=-1;break}j=a[h+3>>0]|0;if(!(j<<24>>24)){L=a[h+4>>0]|0;k=(L&255)+1|0;L=(i+(L+1&2)|0)>>>k<<1;i=g+92|0;c[i>>2]=L;if(nC(c[f+4>>2]|0,L,d[g+22>>0]|0)|0){i=-1;break}l=c[i>>2]|0;j=k&65535;m=l+1|0;i=1;while(1){if((i|0)==(m|0))break;b[g+310128+(i<<1)>>1]=j;i=i+1|0}i=c[C>>2]|0;k=(c[B>>2]|0)-i-(H(l,k)|0)|0;if((k|0)>=0){j=g+310128+(l<<1)|0;if(k|0)b[j>>1]=(b[j>>1]|0)+1<<16>>16}else{f=g+310130|0;b[f>>1]=(b[f>>1]|0)+-1<<16>>16;f=g+310132|0;b[f>>1]=(e[f>>1]|0)-((k|0)!=-1&1)}b[g+310128>>1]=i;j=1;while(1){if((j|0)==(m|0)){i=0;break c}L=g+310128+(j<<1)|0;f=(i&65535)+(e[L>>1]|0)|0;b[L>>1]=f;j=j+1|0;i=f}}w=(k*49|0)>>>0>(l*110|0)>>>0;i=w?l<<1:k;z=g+56|0;c[z>>2]=i;v=+(7-(j&255)|0);t=XU(+qb(+(+(i>>>0)/+(l>>>0)))*v)|0;E=t<<1;e:do if((t|0)<1){g=c[f+4>>2]|0;c[A>>2]=E;Xw(g,16,190853,A)}else{b[I>>1]=0;A=I+2|0;ay(A,l,i,E);c[K>>2]=A;c[K+4>>2]=A+(E<<1)+-2;i=1;while(1){if(!i)break;i=i+-1|0;k=c[K+(i<<3)>>2]|0;j=c[K+(i<<3)+4>>2]|0;while(1){if(k>>>0>=j>>>0)break;p=j+-2|0;if(k>>>0>=p>>>0){G=107;break}m=j+-4|0;n=k+2|0;r=j;s=k;q=k+(r-s>>2<<1)|0;if((_R(k,j)|0)<=0)if((_R(k,q)|0)>0){l=q;G=82}else l=1;else{l=(_R(j,q)|0)>0;l=l?q:j;G=82}if((G|0)==82){G=0;A=b[l>>1]|0;b[l>>1]=b[k>>1]|0;b[k>>1]=A;l=0}if((_R(q,j)|0)>0){l=b[j>>1]|0;b[j>>1]=b[q>>1]|0;b[q>>1]=l;l=0}if((k|0)==(m|0))break;o=b[q>>1]|0;b[q>>1]=b[p>>1]|0;b[p>>1]=o;o=m;while(1){if(n>>>0>o>>>0)break;while(1){if(n>>>0>o>>>0)break;if((_R(n,p)|0)>=0)break;n=n+2|0}m=o;while(1){if(n>>>0>m>>>0)break;if((_R(m,p)|0)<=0){G=96;break}m=m+-2|0}if((G|0)==96){G=0;A=b[m>>1]|0;b[m>>1]=b[n>>1]|0;b[n>>1]=A;m=m+-2|0;n=n+2|0}o=m}A=b[n>>1]|0;b[n>>1]=b[p>>1]|0;b[p>>1]=A;if(l|0?(q|0)==(n|0)|(q|0)==(n+-2|0):0){l=k;while(1){if(l>>>0>=j>>>0)break;m=l+2|0;if((_R(l,m)|0)<1)l=m;else break}if((l|0)==(j|0))break}A=n;if((r-A|0)<(A-s|0)){c[K+(i<<3)>>2]=k;c[K+(i<<3)+4>>2]=o;k=n+2|0}else{c[K+(i<<3)>>2]=n+2;c[K+(i<<3)+4>>2]=j;j=o}i=i+1|0}if((G|0)==107?(G=0,(_R(k,j)|0)>0):0){A=b[j>>1]|0;b[j>>1]=b[k>>1]|0;b[k>>1]=A}}u=b[I+(E<<1)>>1]|0;l=c[C>>2]|0;b[I>>1]=l;i=1;while(1){if((i|0)>(E|0))break;j=I+(i<<1)|0;C=b[j>>1]|0;k=C<<16>>16;if(C<<16>>16<1){G=114;break}C=(l&65535)+k|0;b[j>>1]=C;i=i+1|0;l=C}if((G|0)==114){g=c[f+4>>2]|0;c[D>>2]=i;c[D+4>>2]=k;Xw(g,16,190878,D);break}do if(w){v=((a[h+4>>0]|0)==0?1.0:.7692307829856873)*v;D=c[B>>2]|0;C=c[z>>2]|0;w=XU(v*+qb(+(+(D>>>0)/+(C>>>0))))|0;x=w<<1;y=K+2|0;ay(y,C,D,x);if((EJ(y,x)|0)<(u|0)){c[F>>2]=y;i=y+(x<<1)+-2|0;c[F+4>>2]=i;j=1;while(1){if(!j)break;j=j+-1|0;t=c[F+(j<<3)+4>>2]|0;k=c[F+(j<<3)>>2]|0;f:while(1){if(k>>>0>=t>>>0)break;p=t+-2|0;if(k>>>0>=p>>>0){G=152;break}l=t+-4|0;n=k+2|0;r=t;s=k;q=k+(r-s>>2<<1)|0;if((_R(k,t)|0)<=0)if((_R(k,q)|0)>0){m=q;G=127}else m=1;else{m=(_R(t,q)|0)>0;m=m?q:t;G=127}if((G|0)==127){G=0;D=b[m>>1]|0;b[m>>1]=b[k>>1]|0;b[k>>1]=D;m=0}if((_R(q,t)|0)>0){m=b[t>>1]|0;b[t>>1]=b[q>>1]|0;b[q>>1]=m;m=0}if((k|0)==(l|0))break;o=b[q>>1]|0;b[q>>1]=b[p>>1]|0;b[p>>1]=o;o=n;while(1){if(o>>>0>l>>>0)break;n=o;while(1){if(n>>>0>l>>>0)break;if((_R(n,p)|0)>=0)break;n=n+2|0}while(1){if(n>>>0>l>>>0)break;if((_R(l,p)|0)<=0){G=141;break}l=l+-2|0}if((G|0)==141){G=0;D=b[l>>1]|0;b[l>>1]=b[n>>1]|0;b[n>>1]=D;n=n+2|0;l=l+-2|0}o=n}D=b[o>>1]|0;b[o>>1]=b[p>>1]|0;b[p>>1]=D;do if(m|0){if(!((q|0)==(o|0)|(q|0)==(o+-2|0)))break;m=k;while(1){if(m>>>0>=t>>>0)break;n=m+2|0;if((_R(m,n)|0)<1)m=n;else break}if((m|0)==(t|0))break f}while(0);D=o;if((r-D|0)<(D-s|0)){c[F+(j<<3)>>2]=k;c[F+(j<<3)+4>>2]=l;l=t;k=o+2|0}else{c[F+(j<<3)>>2]=o+2;c[F+(j<<3)+4>>2]=t}t=l;j=j+1|0}if((G|0)==152?(G=0,(_R(k,t)|0)>0):0){D=b[t>>1]|0;b[t>>1]=b[k>>1]|0;b[k>>1]=D}}B=b[y>>1]|0;A=B<<16>>16;C=u-A|0;D=K+(x<<1)|0;h=b[D>>1]|0;A=(h<<16>>16)-A>>1;C=(C|0)>(A|0)?A:C;b[y>>1]=C+(B&65535);b[D>>1]=(h&65535)-C}else i=y+(x<<1)+-2|0;c[F>>2]=y;c[F+4>>2]=i;i=1;while(1){if(!i)break;i=i+-1|0;s=c[F+(i<<3)+4>>2]|0;j=c[F+(i<<3)>>2]|0;g:while(1){if(j>>>0>=s>>>0)break;o=s+-2|0;if(j>>>0>=o>>>0){G=190;break}k=s+-4|0;m=j+2|0;q=s;r=j;p=j+(q-r>>2<<1)|0;if((_R(j,s)|0)<=0)if((_R(j,p)|0)>0){l=p;G=165}else l=1;else{l=(_R(s,p)|0)>0;l=l?p:s;G=165}if((G|0)==165){G=0;D=b[l>>1]|0;b[l>>1]=b[j>>1]|0;b[j>>1]=D;l=0}if((_R(p,s)|0)>0){l=b[s>>1]|0;b[s>>1]=b[p>>1]|0;b[p>>1]=l;l=0}if((j|0)==(k|0))break;n=b[p>>1]|0;b[p>>1]=b[o>>1]|0;b[o>>1]=n;n=m;while(1){if(n>>>0>k>>>0)break;m=n;while(1){if(m>>>0>k>>>0)break;if((_R(m,o)|0)>=0)break;m=m+2|0}while(1){if(m>>>0>k>>>0)break;if((_R(k,o)|0)<=0){G=179;break}k=k+-2|0}if((G|0)==179){G=0;D=b[k>>1]|0;b[k>>1]=b[m>>1]|0;b[m>>1]=D;m=m+2|0;k=k+-2|0}n=m}D=b[n>>1]|0;b[n>>1]=b[o>>1]|0;b[o>>1]=D;do if(l|0){if(!((p|0)==(n|0)|(p|0)==(n+-2|0)))break;l=j;while(1){if(l>>>0>=s>>>0)break;m=l+2|0;if((_R(l,m)|0)<1)l=m;else break}if((l|0)==(s|0))break g}while(0);D=n;if((q-D|0)<(D-r|0)){c[F+(i<<3)>>2]=j;c[F+(i<<3)+4>>2]=k;k=s;j=n+2|0}else{c[F+(i<<3)>>2]=n+2;c[F+(i<<3)+4>>2]=s}s=k;i=i+1|0}if((G|0)==190?(G=0,(_R(j,s)|0)>0):0){D=b[s>>1]|0;b[s>>1]=b[j>>1]|0;b[j>>1]=D}}j=c[z>>2]|0;b[K>>1]=j;k=1;while(1){if((k|0)>(x|0)){G=199;break}i=K+(k<<1)|0;G=b[i>>1]|0;l=G<<16>>16;if(G<<16>>16<1){G=197;break}G=(j&65535)+l|0;b[i>>1]=G;k=k+1|0;j=G}if((G|0)==197){g=c[f+4>>2]|0;c[L>>2]=k;c[L+4>>2]=l;Xw(g,16,190900,L)}else if((G|0)==199?(L=x+E|0,c[g+92>>2]=L,J=E|1,(nC(c[f+4>>2]|0,L,d[g+22>>0]|0)|0)==0):0){rk(g+310128|0,I|0,J<<1|0)|0;rk(g+310128+(J<<1)|0,y|0,w<<2|0)|0;break}break e}else{c[g+92>>2]=E;if(nC(c[f+4>>2]|0,E,d[g+22>>0]|0)|0)break e;rk(g+310128|0,I|0,t<<2|2|0)|0}while(0);i=0;break c}while(0);i=-1}while(0);Mb=M;return i|0}function Ac(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=Mb;Mb=Mb+16|0;f=i;switch(d|0){case 9:{if((b|0)!=70){h=(b|0)==140;d=(b|0)==180|h;switch(b|0){case 140:case 180:{f=130;g=129;break}default:{f=45;g=44}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=30;c[a+12>>2]=(b|0)==24?31:32;c[a+16>>2]=33;c[a+20>>2]=34;c[a+24>>2]=35;c[a+28>>2]=d?36:37;c[a+32>>2]=38;d=a+36|0;switch(b|0){case 140:case 180:{c[d>>2]=41;c[a+48>>2]=42;c[a+52>>2]=43;c[a+40>>2]=44;c[a+56>>2]=45;break}default:{c[d>>2]=39;c[a+40>>2]=40}}if(!h)c[a+44>>2]=46}else{c[a>>2]=44;c[a+4>>2]=45;c[a+8>>2]=30;c[a+12>>2]=47;c[a+16>>2]=33;c[a+20>>2]=34;c[a+24>>2]=35;c[a+28>>2]=48;c[a+32>>2]=49;c[a+36>>2]=39;c[a+40>>2]=40;c[a+44>>2]=46;c[a+48>>2]=50;c[a+52>>2]=51;c[a+56>>2]=52}c[a+60>>2]=45;c[a+64>>2]=46;c[a+68>>2]=47;c[a+72>>2]=48;c[a+76>>2]=49;c[a+80>>2]=50;c[a+84>>2]=51;c[a+88>>2]=52;c[a+92>>2]=53;c[a+96>>2]=54;c[a+100>>2]=55;c[a+104>>2]=56;g=(e|0)<2;d=a+108|0;c[a+116>>2]=g?17:18;c[a+112>>2]=g?19:20;a:do switch(b|0){case 140:case 180:{c[a+120>>2]=23;break}default:{f=a+120|0;if(g){c[f>>2]=21;break a}else{c[f>>2]=22;break a}}}while(0);b:do switch(b|0){case 70:case 140:case 180:{c[d>>2]=38;c[a+124>>2]=39;c[a+128>>2]=40;switch(b|0){case 140:case 180:break;default:break b}c[a+136>>2]=41;c[a+140>>2]=42;break}default:if(g){c[d>>2]=24;c[a+124>>2]=25;c[a+128>>2]=26;c[a+136>>2]=27;c[a+140>>2]=28;c[a+144>>2]=29;c[a+148>>2]=30;break b}else{c[d>>2]=31;c[a+124>>2]=32;c[a+128>>2]=33;c[a+136>>2]=34;c[a+140>>2]=35;c[a+144>>2]=36;c[a+148>>2]=37;break b}}while(0);c[a+132>>2]=g?43:44;c[a+152>>2]=45;c[a+160>>2]=46;c[a+156>>2]=47;switch(b|0){case 24:{c[a+164>>2]=48;break}case 70:{c[a+164>>2]=49;break}case 140:case 180:{c[a+164>>2]=50;c[a+180>>2]=51;c[a+184>>2]=52;break}default:c[a+164>>2]=53}c[a+168>>2]=54;c[a+172>>2]=55;c[a+176>>2]=56;c[a+188>>2]=53;c[a+192>>2]=54;c[a+196>>2]=55;c[a+200>>2]=56;c[a+204>>2]=104;c[a+208>>2]=105;f=126;h=125;e=g?57:58;d=g?59:60;break}case 10:{if((b|0)!=70){h=(b|0)==140;d=(b|0)==180|h;switch(b|0){case 140:case 180:{f=130;g=129;break}default:{f=69;g=68}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=57;c[a+12>>2]=(b|0)==24?31:58;c[a+16>>2]=59;c[a+20>>2]=60;c[a+24>>2]=61;c[a+28>>2]=d?36:62;c[a+32>>2]=63;d=a+36|0;switch(b|0){case 140:case 180:{c[d>>2]=41;c[a+48>>2]=66;c[a+52>>2]=67;c[a+40>>2]=68;c[a+56>>2]=69;break}default:{c[d>>2]=64;c[a+40>>2]=65}}if(!h)c[a+44>>2]=70}else{c[a>>2]=68;c[a+4>>2]=69;c[a+8>>2]=57;c[a+12>>2]=47;c[a+16>>2]=59;c[a+20>>2]=60;c[a+24>>2]=61;c[a+28>>2]=48;c[a+32>>2]=49;c[a+36>>2]=64;c[a+40>>2]=65;c[a+44>>2]=70;c[a+48>>2]=50;c[a+52>>2]=51;c[a+56>>2]=52}c[a+60>>2]=61;c[a+64>>2]=62;c[a+68>>2]=63;c[a+72>>2]=64;c[a+76>>2]=65;c[a+80>>2]=66;c[a+84>>2]=67;c[a+88>>2]=68;c[a+92>>2]=69;c[a+96>>2]=70;c[a+100>>2]=71;c[a+104>>2]=72;g=(e|0)<2;d=a+108|0;c[a+116>>2]=g?57:58;c[a+112>>2]=g?59:60;c:do switch(b|0){case 140:case 180:{c[a+120>>2]=23;break}default:{f=a+120|0;if(g){c[f>>2]=61;break c}else{c[f>>2]=62;break c}}}while(0);d:do switch(b|0){case 70:case 140:case 180:{c[d>>2]=38;c[a+124>>2]=39;c[a+128>>2]=40;switch(b|0){case 140:case 180:break;default:break d}c[a+136>>2]=77;c[a+140>>2]=78;break}default:if(g){c[d>>2]=63;c[a+124>>2]=64;c[a+128>>2]=65;c[a+136>>2]=66;c[a+140>>2]=67;c[a+144>>2]=68;c[a+148>>2]=69;break d}else{c[d>>2]=70;c[a+124>>2]=71;c[a+128>>2]=72;c[a+136>>2]=73;c[a+140>>2]=74;c[a+144>>2]=75;c[a+148>>2]=76;break d}}while(0);c[a+132>>2]=g?79:80;c[a+152>>2]=81;c[a+160>>2]=82;c[a+156>>2]=83;switch(b|0){case 24:{c[a+164>>2]=48;break}case 70:{c[a+164>>2]=49;break}case 140:case 180:{c[a+164>>2]=50;c[a+180>>2]=84;c[a+184>>2]=85;break}default:c[a+164>>2]=86}c[a+168>>2]=87;c[a+172>>2]=88;c[a+176>>2]=89;c[a+188>>2]=71;c[a+192>>2]=72;c[a+196>>2]=73;c[a+200>>2]=74;c[a+204>>2]=106;c[a+208>>2]=107;f=128;h=127;e=g?73:74;d=g?75:76;break}case 12:{if((b|0)!=70){h=(b|0)==140;d=(b|0)==180|h;switch(b|0){case 140:case 180:{f=130;g=129;break}default:{f=87;g=86}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=75;c[a+12>>2]=(b|0)==24?31:76;c[a+16>>2]=77;c[a+20>>2]=78;c[a+24>>2]=79;c[a+28>>2]=d?36:80;c[a+32>>2]=81;d=a+36|0;switch(b|0){case 140:case 180:{c[d>>2]=41;c[a+48>>2]=84;c[a+52>>2]=85;c[a+40>>2]=86;c[a+56>>2]=87;break}default:{c[d>>2]=82;c[a+40>>2]=83}}if(!h)c[a+44>>2]=88}else{c[a>>2]=86;c[a+4>>2]=87;c[a+8>>2]=75;c[a+12>>2]=47;c[a+16>>2]=77;c[a+20>>2]=78;c[a+24>>2]=79;c[a+28>>2]=48;c[a+32>>2]=49;c[a+36>>2]=82;c[a+40>>2]=83;c[a+44>>2]=88;c[a+48>>2]=50;c[a+52>>2]=51;c[a+56>>2]=52}c[a+60>>2]=77;c[a+64>>2]=78;c[a+68>>2]=79;c[a+72>>2]=80;c[a+76>>2]=81;c[a+80>>2]=82;c[a+84>>2]=83;c[a+88>>2]=84;c[a+92>>2]=85;c[a+96>>2]=86;c[a+100>>2]=87;c[a+104>>2]=88;g=(e|0)<2;d=a+108|0;c[a+116>>2]=g?90:91;c[a+112>>2]=g?92:93;e:do switch(b|0){case 140:case 180:{c[a+120>>2]=23;break}default:{f=a+120|0;if(g){c[f>>2]=94;break e}else{c[f>>2]=95;break e}}}while(0);f:do switch(b|0){case 70:case 140:case 180:{c[d>>2]=38;c[a+124>>2]=39;c[a+128>>2]=40;switch(b|0){case 140:case 180:break;default:break f}c[a+136>>2]=110;c[a+140>>2]=111;break}default:if(g){c[d>>2]=96;c[a+124>>2]=97;c[a+128>>2]=98;c[a+136>>2]=99;c[a+140>>2]=100;c[a+144>>2]=101;c[a+148>>2]=102;break f}else{c[d>>2]=103;c[a+124>>2]=104;c[a+128>>2]=105;c[a+136>>2]=106;c[a+140>>2]=107;c[a+144>>2]=108;c[a+148>>2]=109;break f}}while(0);c[a+132>>2]=g?112:113;c[a+152>>2]=114;c[a+160>>2]=115;c[a+156>>2]=116;switch(b|0){case 24:{c[a+164>>2]=48;break}case 70:{c[a+164>>2]=49;break}case 140:case 180:{c[a+164>>2]=50;c[a+180>>2]=117;c[a+184>>2]=118;break}default:c[a+164>>2]=119}c[a+168>>2]=120;c[a+172>>2]=121;c[a+176>>2]=122;c[a+188>>2]=89;c[a+192>>2]=90;c[a+196>>2]=91;c[a+200>>2]=92;c[a+204>>2]=108;c[a+208>>2]=109;f=130;h=129;e=g?89:90;d=g?91:92;break}case 14:{if((b|0)!=70){h=(b|0)==140;d=(b|0)==180|h;switch(b|0){case 140:case 180:{f=130;g=129;break}default:{f=105;g=104}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=93;c[a+12>>2]=(b|0)==24?31:94;c[a+16>>2]=95;c[a+20>>2]=96;c[a+24>>2]=97;c[a+28>>2]=d?36:98;c[a+32>>2]=99;d=a+36|0;switch(b|0){case 140:case 180:{c[d>>2]=41;c[a+48>>2]=102;c[a+52>>2]=103;c[a+40>>2]=104;c[a+56>>2]=105;break}default:{c[d>>2]=100;c[a+40>>2]=101}}if(!h)c[a+44>>2]=106}else{c[a>>2]=104;c[a+4>>2]=105;c[a+8>>2]=93;c[a+12>>2]=47;c[a+16>>2]=95;c[a+20>>2]=96;c[a+24>>2]=97;c[a+28>>2]=48;c[a+32>>2]=49;c[a+36>>2]=100;c[a+40>>2]=101;c[a+44>>2]=106;c[a+48>>2]=50;c[a+52>>2]=51;c[a+56>>2]=52}c[a+60>>2]=93;c[a+64>>2]=94;c[a+68>>2]=95;c[a+72>>2]=96;c[a+76>>2]=97;c[a+80>>2]=98;c[a+84>>2]=99;c[a+88>>2]=100;c[a+92>>2]=101;c[a+96>>2]=102;c[a+100>>2]=103;c[a+104>>2]=104;g=(e|0)<2;d=a+108|0;c[a+116>>2]=g?123:124;c[a+112>>2]=g?125:126;g:do switch(b|0){case 140:case 180:{c[a+120>>2]=23;break}default:{f=a+120|0;if(g){c[f>>2]=127;break g}else{c[f>>2]=128;break g}}}while(0);h:do switch(b|0){case 70:case 140:case 180:{c[d>>2]=38;c[a+124>>2]=39;c[a+128>>2]=40;switch(b|0){case 140:case 180:break;default:break h}c[a+136>>2]=143;c[a+140>>2]=144;break}default:if(g){c[d>>2]=129;c[a+124>>2]=130;c[a+128>>2]=131;c[a+136>>2]=132;c[a+140>>2]=133;c[a+144>>2]=134;c[a+148>>2]=135;break h}else{c[d>>2]=136;c[a+124>>2]=137;c[a+128>>2]=138;c[a+136>>2]=139;c[a+140>>2]=140;c[a+144>>2]=141;c[a+148>>2]=142;break h}}while(0);c[a+132>>2]=g?145:146;c[a+152>>2]=147;c[a+160>>2]=148;c[a+156>>2]=149;switch(b|0){case 24:{c[a+164>>2]=48;break}case 70:{c[a+164>>2]=49;break}case 140:case 180:{c[a+164>>2]=50;c[a+180>>2]=150;c[a+184>>2]=151;break}default:c[a+164>>2]=152}c[a+168>>2]=153;c[a+172>>2]=154;c[a+176>>2]=155;c[a+188>>2]=107;c[a+192>>2]=108;c[a+196>>2]=109;c[a+200>>2]=110;c[a+204>>2]=110;c[a+208>>2]=111;f=132;h=131;e=g?105:106;d=g?107:108;break}default:{if((d|0)>=9){c[f>>2]=200794;c[f+4>>2]=200807;c[f+8>>2]=590;Xw(0,0,213444,f);ba()}if((b|0)!=70){h=(b|0)==140;d=(b|0)==180|h;switch(b|0){case 140:case 180:{f=130;g=129;break}default:{f=123;g=122}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=111;c[a+12>>2]=(b|0)==24?31:112;c[a+16>>2]=113;c[a+20>>2]=114;c[a+24>>2]=115;c[a+28>>2]=d?36:116;c[a+32>>2]=117;d=a+36|0;switch(b|0){case 140:case 180:{c[d>>2]=41;c[a+48>>2]=120;c[a+52>>2]=121;c[a+40>>2]=122;c[a+56>>2]=123;break}default:{c[d>>2]=118;c[a+40>>2]=119}}if(!h)c[a+44>>2]=124}else{c[a>>2]=122;c[a+4>>2]=123;c[a+8>>2]=111;c[a+12>>2]=47;c[a+16>>2]=113;c[a+20>>2]=114;c[a+24>>2]=115;c[a+28>>2]=48;c[a+32>>2]=49;c[a+36>>2]=118;c[a+40>>2]=119;c[a+44>>2]=124;c[a+48>>2]=50;c[a+52>>2]=51;c[a+56>>2]=52}c[a+60>>2]=109;c[a+64>>2]=110;c[a+68>>2]=111;c[a+72>>2]=112;c[a+76>>2]=113;c[a+80>>2]=114;c[a+84>>2]=115;c[a+88>>2]=116;c[a+92>>2]=117;c[a+96>>2]=118;c[a+100>>2]=119;c[a+104>>2]=120;g=(e|0)<2;d=a+108|0;c[a+116>>2]=g?156:157;c[a+112>>2]=g?158:159;i:do switch(b|0){case 140:case 180:{c[a+120>>2]=23;break}default:{f=a+120|0;if(g){c[f>>2]=160;break i}else{c[f>>2]=161;break i}}}while(0);j:do switch(b|0){case 70:case 140:case 180:{c[d>>2]=38;c[a+124>>2]=39;c[a+128>>2]=40;switch(b|0){case 140:case 180:break;default:break j}c[a+136>>2]=176;c[a+140>>2]=177;break}default:if(g){c[d>>2]=162;c[a+124>>2]=163;c[a+128>>2]=164;c[a+136>>2]=165;c[a+140>>2]=166;c[a+144>>2]=167;c[a+148>>2]=168;break j}else{c[d>>2]=169;c[a+124>>2]=170;c[a+128>>2]=171;c[a+136>>2]=172;c[a+140>>2]=173;c[a+144>>2]=174;c[a+148>>2]=175;break j}}while(0);c[a+132>>2]=g?178:179;c[a+152>>2]=180;c[a+160>>2]=181;c[a+156>>2]=182;switch(b|0){case 24:{c[a+164>>2]=48;break}case 70:{c[a+164>>2]=49;break}case 140:case 180:{c[a+164>>2]=50;c[a+180>>2]=183;c[a+184>>2]=184;break}default:c[a+164>>2]=185}c[a+168>>2]=186;c[a+172>>2]=187;c[a+176>>2]=188;c[a+188>>2]=125;c[a+192>>2]=126;c[a+196>>2]=127;c[a+200>>2]=128;c[a+204>>2]=112;c[a+208>>2]=113;f=134;h=133;e=g?121:122;d=g?123:124}}c[a+220>>2]=e;c[a+216>>2]=d;c[a+232>>2]=h;c[a+228>>2]=f;Mb=i;return}function Bc(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;ha=Mb;Mb=Mb+16|0;Z=ha+8|0;_=ha;ca=c[f+21748>>2]|0;ga=c[f+21708>>2]|0;S=c[f+21712>>2]|0;T=c[f+21716>>2]|0;U=c[f+21720>>2]|0;c[Z>>2]=U;c[Z+4>>2]=c[f+21724>>2];V=c[f+21728>>2]|0;W=c[f+21732>>2]|0;X=c[f+21736>>2]|0;Y=c[f+21740>>2]|0;c[_>>2]=Y;r=c[f+21744>>2]|0;c[_+4>>2]=r;a:do if(!(g&2048)){b:do if(g&7|0){o=(c[(c[e+28196>>2]|0)+56>>2]|0)==0?-1:7;j=f+21768|0;c[j>>2]=65535;h=f+21760|0;c[h>>2]=65535;l=f+21756|0;c[l>>2]=65535;m=f+21764|0;c[m>>2]=61162;n=(o&W|0)!=0;if(n){h=65535;k=60138}else{c[l>>2]=46079;c[h>>2]=13311;c[m>>2]=9962;h=46079;k=8938}i=g&128;do if((i|0)==(Y&128|0)){if(!(o&Y)){h=h&57183;c[l>>2]=h;c[j>>2]=24415}}else{if(!i){if(!((o&Y|0)==0?1:(c[(c[e+24364>>2]|0)+((c[e+27e3>>2]|0)+U<<2)>>2]&o|0)==0))break;h=h&57183;c[l>>2]=h;c[j>>2]=24415;break}if(!(o&Y)){h=h&57343;c[l>>2]=h;c[j>>2]=24575;i=24415}else i=65375;if(!(o&r)){h=h&65375;c[l>>2]=h;c[j>>2]=i}}while(0);if(!(o&V))c[l>>2]=h&32767;if(!(o&X))c[m>>2]=k;if(g&1|0){if(!(W&1)){Wp(f+21668|0,(n?2:-1)|0,4)|0;k=f+21704|0;l=e+26348|0}else{k=f+21704|0;l=e+26348|0;c[f+21668>>2]=c[(c[k>>2]|0)+(c[(c[l>>2]|0)+(S<<2)>>2]|0)>>2]}j=0;while(1){if((j|0)==2)break b;h=c[_+(j<<2)>>2]|0;if(!(h&1)){h=(h&o|0)==0?-1:2;i=j<<4;a[i+19+(f+21664)>>0]=h;i=i|11}else{R=(c[k>>2]|0)+(c[(c[l>>2]|0)+(c[Z+(j<<2)>>2]<<2)>>2]|0)|0;h=j<<1;i=j<<4;a[(i|11)+(f+21664)>>0]=a[R+(6-(d[ca+h>>0]|0))>>0]|0;h=a[R+(6-(d[ca+(h|1)>>0]|0))>>0]|0;i=i+19|0}a[f+21664+i>>0]=h;j=j+1|0}}}while(0);do if(W){h=e+25956|0;i=c[h>>2]|0;c[f+27828>>2]=c[i+(S*48|0)+12>>2];if(!(c[e+25668>>2]|0)){c[f+27868>>2]=c[i+(S*48|0)+28>>2];c[f+27908>>2]=c[i+(S*48|0)+44>>2];break}else{c[f+27868>>2]=c[i+(S*48|0)+20>>2];c[f+27908>>2]=c[i+(S*48|0)+36>>2];break}}else{c[f+27828>>2]=1077952576;c[f+27868>>2]=1077952576;c[f+27908>>2]=1077952576;h=e+25956|0}while(0);p=e+28200|0;o=0;while(1){if((o|0)==2)break a;c:do if(!(c[_+(o<<2)>>2]|0)){i=o<<4;a[i+99+(f+27824)>>0]=64;a[i+91+(f+27824)>>0]=64;a[i+59+(f+27824)>>0]=64;a[i+51+(f+27824)>>0]=64;a[i+19+(f+27824)>>0]=64;j=64;i=i|11}else{i=c[h>>2]|0;j=c[Z+(o<<2)>>2]|0;k=o<<1;l=ca+(k+8)|0;n=o<<4;a[(n|11)+(f+27824)>>0]=a[(d[l>>0]|0)+(i+(j*48|0))>>0]|0;m=ca+(k+9)|0;a[n+19+(f+27824)>>0]=a[(d[m>>0]|0)+(i+(j*48|0))>>0]|0;switch(c[(c[p>>2]|0)+12>>2]|0){case 3:{a[n+51+(f+27824)>>0]=a[(d[l>>0]|0)+16+(i+(j*48|0))>>0]|0;a[n+59+(f+27824)>>0]=a[(d[m>>0]|0)+16+(i+(j*48|0))>>0]|0;a[n+91+(f+27824)>>0]=a[(d[l>>0]|0)+32+(i+(j*48|0))>>0]|0;j=a[(d[m>>0]|0)+32+(i+(j*48|0))>>0]|0;i=n+99|0;break c}case 2:{a[n+51+(f+27824)>>0]=a[(d[l>>0]|0)+14+(i+(j*48|0))>>0]|0;a[n+59+(f+27824)>>0]=a[(d[m>>0]|0)+14+(i+(j*48|0))>>0]|0;a[n+91+(f+27824)>>0]=a[(d[l>>0]|0)+30+(i+(j*48|0))>>0]|0;j=a[(d[m>>0]|0)+30+(i+(j*48|0))>>0]|0;i=n+99|0;break c}default:{R=o<<3;a[R+51+(f+27824)>>0]=a[(d[ca+(k+12)>>0]|0)+(i+(j*48|0))>>0]|0;j=a[(d[ca+(k+13)>>0]|0)+(i+(j*48|0))>>0]|0;i=R+91|0;break c}}}while(0);a[f+27824+i>>0]=j;o=o+1|0}}while(0);if(!(g&120)){if(g&256|0?c[f+21844>>2]|0:0)q=46}else q=46;d:do if((q|0)==46){u=c[e+26352>>2]|0;v=(W|0)==0?-16843010:-1;w=(g&80|0)==0;x=e+26344|0;y=u*3|0;A=S<<2;z=A|2;A=A|3;B=(Y|0)==0?-2:-1;C=U<<2|1;D=(X|0)==0?-2:-1;E=T<<2|2;F=(g&2304|0)==0;G=(V|0)==0?-2:-1;I=f+21752|0;J=u<<1;K=u+3|0;L=ga<<2;M=e+26360|0;N=f+21828|0;O=(V&128|0)!=0;P=(W&128|0)==0;Q=(X&128|0)==0;R=(Y&128|0)==0;t=(r&128|0)==0;s=c[f+23412>>2]|0;r=0;while(1){if(r>>>0>=s>>>0)break d;m=f+28272+(r*40|0)+12|0;o=c[e+24384+(r<<2)>>2]|0;n=f+27952+(r*160|0)+48|0;p=c[e+24352+(r<<2)>>2]|0;q=12288<<(r<<1);do if(q&g|0){if(!(q&W)){l=f+27952+(r*160|0)+16|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[f+28272+(r*40|0)+4>>2]=v}else{j=(c[(c[x>>2]|0)+(S<<2)>>2]|0)+y|0;i=p+(j<<2)|0;l=c[i+4>>2]|0;k=f+27952+(r*160|0)+16|0;c[k>>2]=c[i>>2];c[k+4>>2]=l;j=p+(j<<2)+8|0;k=c[j+4>>2]|0;l=f+27952+(r*160|0)+24|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;l=a[o+z>>0]|0;a[f+28272+(r*40|0)+5>>0]=l;a[f+28272+(r*40|0)+4>>0]=l;l=a[o+A>>0]|0;a[f+28272+(r*40|0)+7>>0]=l;a[f+28272+(r*40|0)+6>>0]=l}e:do if(w){if(!(q&Y)){c[f+27952+(r*160|0)+44>>2]=0;h=B}else{h=p+((c[(c[x>>2]|0)+(U<<2)>>2]|0)+3+(H(u,d[ca>>0]|0)|0)<<2)|0;c[f+27952+(r*160|0)+44>>2]=c[h>>2];h=a[o+(C+(a[ca>>0]&-2&255))>>0]|0}a[f+28272+(r*40|0)+11>>0]=h}else{l=0;while(1){if((l|0)==2)break e;i=l<<1;j=l<<4;h=j+-1|0;k=c[_+(l<<2)>>2]|0;if(!(k&q)){c[n+(h<<2)>>2]=0;j=j|7;c[n+(j<<2)>>2]=0;i=(k|0)==0?-2:-1;a[m+j>>0]=i}else{ia=c[Z+(l<<2)>>2]|0;ka=(c[(c[x>>2]|0)+(ia<<2)>>2]|0)+3|0;ia=ia<<2|1;ja=ca+i|0;k=p+((H(u,d[ja>>0]|0)|0)+ka<<2)|0;c[n+(h<<2)>>2]=c[k>>2];i=ca+(i|1)|0;ka=p+((H(u,d[i>>0]|0)|0)+ka<<2)|0;k=j|7;c[n+(k<<2)>>2]=c[ka>>2];a[m+h>>0]=a[o+(ia+(a[ja>>0]&-2&255))>>0]|0;i=a[o+(ia+(a[i>>0]&-2&255))>>0]|0;h=k}a[m+h>>0]=i;l=l+1|0}}while(0);if(!(q&X)){c[f+27952+(r*160|0)+32>>2]=0;h=D}else{c[f+27952+(r*160|0)+32>>2]=c[p+((c[(c[x>>2]|0)+(T<<2)>>2]|0)+y<<2)>>2];h=a[o+E>>0]|0}k=f+28272+(r*40|0)+8|0;a[k>>0]=h;j=f+28272+(r*40|0)+6|0;if((a[j>>0]|h)<<24>>24<0){if(!(q&V)){c[f+27952+(r*160|0)+12>>2]=0;h=G}else{h=c[I>>2]|0;c[f+27952+(r*160|0)+12>>2]=c[p+(K+(c[(c[x>>2]|0)+(ga<<2)>>2]|0)+(h&J)<<2)>>2];h=a[o+(L|h&2|1)>>0]|0}a[f+28272+(r*40|0)+3>>0]=h}if(F){a[f+28272+(r*40|0)+30>>0]=-2;a[f+28272+(r*40|0)+14>>0]=-2;c[f+27952+(r*160|0)+56>>2]=0;c[f+27952+(r*160|0)+120>>2]=0;if(!(c[M>>2]|0))break}else if(!(c[M>>2]|0))break;if(!(c[N>>2]|0)){if(O?(da=f+28272+(r*40|0)+3|0,ea=a[da>>0]|0,ea<<24>>24>-1):0){a[da>>0]=ea<<24>>24>>1;ka=f+27952+(r*160|0)+14|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+7|0;a[ka>>0]=d[ka>>0]<<1}do if(!P){h=f+28272+(r*40|0)+4|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24>>1;ka=f+27952+(r*160|0)+18|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+9|0;a[ka>>0]=d[ka>>0]<<1}h=f+28272+(r*40|0)+5|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24>>1;ka=f+27952+(r*160|0)+22|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+11|0;a[ka>>0]=d[ka>>0]<<1}h=a[j>>0]|0;if(h<<24>>24>-1){a[j>>0]=h<<24>>24>>1;ka=f+27952+(r*160|0)+26|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+13|0;a[ka>>0]=d[ka>>0]<<1}h=f+28272+(r*40|0)+7|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=i<<24>>24>>1;ka=f+27952+(r*160|0)+30|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+15|0;a[ka>>0]=d[ka>>0]<<1}while(0);if(!Q?(fa=a[k>>0]|0,fa<<24>>24>-1):0){a[k>>0]=fa<<24>>24>>1;ka=f+27952+(r*160|0)+34|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+17|0;a[ka>>0]=d[ka>>0]<<1}do if(!R){h=f+28272+(r*40|0)+11|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24>>1;ka=f+27952+(r*160|0)+46|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+23|0;a[ka>>0]=d[ka>>0]<<1}h=f+28272+(r*40|0)+19|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=i<<24>>24>>1;ka=f+27952+(r*160|0)+78|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+39|0;a[ka>>0]=d[ka>>0]<<1}while(0);if(t)break;h=f+28272+(r*40|0)+27|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24>>1;ka=f+27952+(r*160|0)+110|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+55|0;a[ka>>0]=d[ka>>0]<<1}h=f+28272+(r*40|0)+35|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=i<<24>>24>>1;ka=f+27952+(r*160|0)+142|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+71|0;a[ka>>0]=d[ka>>0]<<1;break}else{if(!O?($=f+28272+(r*40|0)+3|0,aa=a[$>>0]|0,aa<<24>>24>-1):0){a[$>>0]=aa<<24>>24<<1;ka=f+27952+(r*160|0)+14|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+7|0;a[ka>>0]=(d[ka>>0]|0)>>>1}do if(P){h=f+28272+(r*40|0)+4|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24<<1;ka=f+27952+(r*160|0)+18|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+9|0;a[ka>>0]=(d[ka>>0]|0)>>>1}h=f+28272+(r*40|0)+5|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24<<1;ka=f+27952+(r*160|0)+22|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+11|0;a[ka>>0]=(d[ka>>0]|0)>>>1}h=a[j>>0]|0;if(h<<24>>24>-1){a[j>>0]=h<<24>>24<<1;ka=f+27952+(r*160|0)+26|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+13|0;a[ka>>0]=(d[ka>>0]|0)>>>1}h=f+28272+(r*40|0)+7|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=i<<24>>24<<1;ka=f+27952+(r*160|0)+30|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+15|0;a[ka>>0]=(d[ka>>0]|0)>>>1}while(0);if(Q?(ba=a[k>>0]|0,ba<<24>>24>-1):0){a[k>>0]=ba<<24>>24<<1;ka=f+27952+(r*160|0)+34|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+17|0;a[ka>>0]=(d[ka>>0]|0)>>>1}do if(R){h=f+28272+(r*40|0)+11|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24<<1;ka=f+27952+(r*160|0)+46|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+23|0;a[ka>>0]=(d[ka>>0]|0)>>>1}h=f+28272+(r*40|0)+19|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=i<<24>>24<<1;ka=f+27952+(r*160|0)+78|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+39|0;a[ka>>0]=(d[ka>>0]|0)>>>1}while(0);if(!t)break;h=f+28272+(r*40|0)+27|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24<<1;ka=f+27952+(r*160|0)+110|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+55|0;a[ka>>0]=(d[ka>>0]|0)>>>1}h=f+28272+(r*40|0)+35|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=i<<24>>24<<1;ka=f+27952+(r*160|0)+142|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+71|0;a[ka>>0]=(d[ka>>0]|0)>>>1;break}}while(0);r=r+1|0}}while(0);c[f+21840>>2]=(Y>>>24&1)+(W>>>24&1);Mb=ha;return}function Cc(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;_=Mb;Mb=Mb+80|0;B=_+64|0;w=_+48|0;v=_+40|0;u=_+32|0;t=_+24|0;s=_+16|0;p=_+8|0;n=_;S=f+568|0;q=c[S>>2]|0;V=f+560|0;r=c[V>>2]|0;o=c[f>>2]|0;a:do if((((c[o+676>>2]|0?(m=f+572|0,c[m>>2]|0):0)?(c[o+792>>2]|0)==0:0)?yE(f)|0:0)?(U=f+556|0,i=c[U>>2]|0,j=i*3|0,k=(c[o+336>>2]|0)+(c[o+332>>2]|0)|0,(c[m>>2]|0)!=(H(k,j)|0)):0){g=f+672|0;C=c[g>>2]|0;W=C+32|0;Z=f+580|0;l=r+-1|0;X=f+564|0;h=0;while(1){if((h|0)>=(i|0))break;Q=(c[Z>>2]|0)+((H(c[X>>2]|0,l)|0)+h)|0;if((a[Q>>0]|0)!=127)break;h=h+1|0}if((((h|0)==(i|0)?(c[o+48>>2]|0)==2:0)?(c[o+128>>2]|0)+15&16|0:0)?(c[m>>2]|0)==(H(k+1|0,j)|0):0){Xw(o,48,195454,n);break}A=f+704|0;h=c[A>>2]|0;do if(h|0){if(((c[h+68>>2]|0)==(c[C+68>>2]|0)?(c[h+72>>2]|0)==(c[C+72>>2]|0):0)?(c[h+80>>2]|0)==(c[C+80>>2]|0):0)break;Xw(o,24,195483,p);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[A+16>>2]=0;c[A+20>>2]=0;c[A+24>>2]=0;c[A+28>>2]=0}while(0);z=f+736|0;h=c[z>>2]|0;do if(h|0){Q=c[g>>2]|0;if(((c[h+68>>2]|0)==(c[Q+68>>2]|0)?(c[h+72>>2]|0)==(c[Q+72>>2]|0):0)?(c[h+80>>2]|0)==(c[Q+80>>2]|0):0)break;Xw(c[f>>2]|0,24,195533,s);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;c[z+20>>2]=0;c[z+24>>2]=0;c[z+28>>2]=0}while(0);if(!((c[f+680>>2]|0)!=0?(c[f+688>>2]|0)!=0:0))T=27;b:do if((T|0)==27){Xw(c[f>>2]|0,16,195579,t);i=(H(q<<3,r)|0)+16|0;h=0;while(1){if(h>>>0>=2)break b;j=KO(H(c[X>>2]<<2,c[V>>2]|0)|0)|0;k=f+768+(h<<2)|0;c[k>>2]=j;j=KO(i)|0;c[f+776+(h<<2)>>2]=j;k=c[k>>2]|0;if((j|0)==0|(k|0)==0)break;c[f+688+(h<<2)>>2]=c[k+4>>2];c[f+680+(h<<2)>>2]=(c[j+4>>2]|0)+16;h=h+1|0}g=0;while(1){if((g|0)==2)break a;QS(f+768+(g<<2)|0);QS(f+776+(g<<2)|0);c[f+688+(g<<2)>>2]=0;c[f+680+(g<<2)>>2]=0;g=g+1|0}}while(0);c:do if(c[(c[f>>2]|0)+680>>2]&1024|0){h=0;while(1){if((h|0)>=(c[V>>2]|0))break c;i=0;while(1){if((i|0)>=(c[U>>2]|0))break;P=(c[Z>>2]|0)+((H(c[X>>2]|0,h)|0)+i)|0;Q=c[f>>2]|0;c[u>>2]=d[P>>0];Xw(Q,48,195606,u);i=i+1|0}Xw(c[f>>2]|0,48,213241,v);h=h+1|0}}while(0);P=f+552|0;Q=f+548|0;l=1;while(1){if((l|0)==4)break;n=9<<l;o=1<<l;i=0;h=c[P>>2]|0;while(1){m=h+-1|0;if((h|0)<=0)break;j=(c[Z>>2]|0)+(c[(c[Q>>2]|0)+(m<<2)>>2]|0)|0;k=d[j>>0]|0;h=(n&k|0)==0?i:1;if(!h)a[j>>0]=o|k;i=(k&1|0)==0?h:0;h=m}l=l+1|0}O=f+792|0;d:do if(c[O>>2]|0){i=0;h=c[P>>2]|0;while(1){m=h+-1|0;if((h|0)<=0)break d;j=(c[Z>>2]|0)+(c[(c[Q>>2]|0)+(m<<2)>>2]|0)|0;k=a[j>>0]|0;l=k&255;h=(l&98|0)==0?((l&16|0)==0?i:0):1;if(!h)a[j>>0]=k|2;i=(l&1|0)==0?h:0;h=m}}while(0);e:do if(c[(c[f>>2]|0)+688>>2]&8|0){h=1;k=(c[P>>2]|0)+-2|0;while(1){if((k|0)<((c[U>>2]|0)+100|0))break e;N=c[Q>>2]|0;M=c[Z>>2]|0;i=M+(c[N+(k<<2)>>2]|0)|0;j=a[i>>0]|0;L=j&255;h=(L&1|0)==0?h:1;if((h|0)==0|((L&112|0)==0|(j<<24>>24==127?1:(a[M+(c[N+(k+1<<2)>>2]|0)>>0]|0)!=127))^1){a[i>>0]=j|14;h=0}k=k+-1|0}}while(0);N=f+600|0;h=9999999;l=1;while(1){if((l|0)==4)break;m=1<<l;n=72656+(l+-1<<2)|0;i=c[P>>2]|0;while(1){k=i+-1|0;if((i|0)<=0)break;M=c[(c[Q>>2]|0)+(k<<2)>>2]|0;i=(c[Z>>2]|0)+M|0;j=d[i>>0]|0;L=c[N>>2]|0;if(!((L|0)!=0?(a[L+M>>0]|0)!=0:0))h=h+1|0;h=(m&j|0)==0?h:0;do if(!(c[O>>2]|0)){if((h|0)>=50)break;a[i>>0]=m|j}else{if((h|0)>=(c[n>>2]|0))break;a[i>>0]=m|j}while(0);h=(j&1|0)==0?h:9999999;i=k}l=l+1|0}h=0;l=0;while(1){j=c[P>>2]|0;if((l|0)>=(j|0))break;i=(c[Z>>2]|0)+(c[(c[Q>>2]|0)+(l<<2)>>2]|0)|0;j=d[i>>0]|0;k=j&14;if(!(j&1)){a[i>>0]=h|j;h=k|h}else h=k;l=l+1|0}f:do if(!(c[O>>2]|0)){i=0;h=j;while(1){if((i|0)>=(h|0))break f;h=(c[Z>>2]|0)+(c[(c[Q>>2]|0)+(i<<2)>>2]|0)|0;M=d[h>>0]|0;a[h>>0]=(M&14|0)==0?M:M|14;i=i+1|0;h=c[P>>2]|0}}else h=j;while(0);i=0;j=0;k=0;l=0;while(1){if((l|0)>=(h|0))break;M=d[(c[Z>>2]|0)+(c[(c[Q>>2]|0)+(l<<2)>>2]|0)>>0]|0;i=(M>>>2&1)+i|0;j=(M>>>3&1)+j|0;k=(M>>>1&1)+k|0;l=l+1|0}M=c[f>>2]|0;L=(iE(c[(c[g>>2]|0)+88>>2]|0)|0)<<24>>24;c[w>>2]=i;c[w+4>>2]=k;c[w+8>>2]=j;c[w+12>>2]=L;Xw(M,32,195611,w);i=(fh(f)|0)==0;i=i?12296:1;M=f+696|0;j=0;while(1){h=c[P>>2]|0;if((j|0)>=(h|0))break;h=c[(c[Q>>2]|0)+(j<<2)>>2]|0;if((a[(c[Z>>2]|0)+h>>0]&12)==12)c[(c[M>>2]|0)+(h<<2)>>2]=i;j=j+1|0}L=c[A>>2]|0;if(!((L|0)!=0?(c[L>>2]|0)!=0:0))T=94;g:do if((T|0)==94){L=c[z>>2]|0;if(L|0?c[L>>2]|0:0)break;j=0;while(1){if((j|0)>=(h|0))break g;i=(c[M>>2]|0)+(c[(c[Q>>2]|0)+(j<<2)>>2]<<2)|0;if(!(c[i>>2]&7)){c[i>>2]=1;h=c[P>>2]|0}j=j+1|0}}while(0);u=f+608|0;v=f+612|0;w=f+800|0;x=f+804|0;y=f+608|0;o=0;while(1){h=c[V>>2]|0;if((o|0)>=(h|0))break;n=o<<1;m=0;while(1){if((m|0)>=(c[U>>2]|0))break;i=(H(c[X>>2]|0,o)|0)+m|0;j=c[(c[M>>2]|0)+(i<<2)>>2]|0;h=c[A>>2]|0;if(!h){h=1;l=2}else{l=(c[h>>2]|0)!=0;h=(l^1)&1;l=l?1:2}L=d[(c[Z>>2]|0)+i>>0]|0;if(!((L&2|0)==0|(L&8|j&7|0)!=0)){h:do if(!(j&64)){L=c[f+680+(h<<2)>>2]|0;h=(H(n,c[S>>2]|0)|0)+(m<<1)|0;c[u>>2]=b[L+(h<<2)>>1];c[v>>2]=b[L+(h<<2)+2>>1];h=0}else{j=c[S>>2]|0;k=(H(j,o)|0)+m<<1;i=f+680+(h<<2)|0;h=0;while(1){if((h|0)==4){h=1;break h}K=c[i>>2]|0;L=(h&1|k)+(H(h>>>1,j)|0)|0;c[f+608+(h<<3)>>2]=b[K+(L<<2)>>1];c[f+608+(h<<3)+4>>2]=b[K+(L<<2)+2>>1];h=h+1|0}}while(0);oc[c[w>>2]&1](c[x>>2]|0,0,l,h,y,m,o,0,0)}m=m+1|0}o=o+1|0}i:do if((c[(c[g>>2]|0)+88>>2]|0)==3){o=f+784|0;p=f+640|0;q=f+644|0;r=f+786|0;s=f+740|0;t=f+744|0;n=0;j:while(1){if((n|0)>=(h|0)){R=h;break i}m=n<<1;l=0;while(1){if((l|0)>=(c[U>>2]|0))break;k=(H(m,c[S>>2]|0)|0)+(l<<1)|0;L=(H(c[X>>2]|0,n)|0)+l|0;if(!((a[(c[Z>>2]|0)+L>>0]&10)!=10?1:(c[(c[M>>2]|0)+(L<<2)>>2]&7|0)!=0)){L=c[A>>2]|0;if((L|0)!=0?(c[L>>2]|0)!=0:0)h=3;else h=2;L=c[z>>2]|0;if(!((L|0)!=0?(c[L>>2]|0)!=0:0))h=h&1;i=b[o>>1]|0;if(!(i<<16>>16)){c[u>>2]=0;c[v>>2]=0;c[p>>2]=0;i=0}else{i=i&65535;j=e[r>>1]|0;if((c[(c[f>>2]|0)+48>>2]|0)==28)break j;tr(c[s>>2]|0,n,0);L=c[t>>2]|0;J=b[L+(k<<2)>>1]|0;K=(H(J,j)|0)/(i|0)|0;c[u>>2]=K;L=b[L+(k<<2)+2>>1]|0;K=(H(L,j)|0)/(i|0)|0;c[v>>2]=K;K=j-i|0;J=(H(K,J)|0)/(i|0)|0;c[p>>2]=J;i=(H(K,L)|0)/(i|0)|0}c[q>>2]=i;oc[c[w>>2]&1](c[x>>2]|0,0,h,0,y,l,n,0,0)}l=l+1|0}n=n+1|0;h=c[V>>2]|0}c[B>>2]=195662;c[B+4>>2]=195701;c[B+8>>2]=1216;Xw(0,0,213444,B);ba()}else{Fc(f);R=c[V>>2]|0}while(0);L=C+36|0;K=C+40|0;B=f+588|0;C=f+592|0;D=f+596|0;y=0;while(1){if((y|0)>=(R|0))break;E=y<<4;F=y<<3;A=c[U>>2]|0;z=0;while(1){if((z|0)>=(A|0))break;G=(H(c[X>>2]|0,y)|0)+z|0;if(!((c[(c[M>>2]|0)+(G<<2)>>2]&7|0)!=0?(c[O>>2]|0)!=0:0))T=143;do if((T|0)==143){T=0;x=c[g>>2]|0;l=c[W>>2]|0;m=(c[x>>2]|0)+(z<<4)+(H(E,l)|0)|0;n=c[x+4>>2]|0;v=z<<3;I=c[L>>2]|0;o=H(I,F)|0;x=c[x+8>>2]|0;J=c[K>>2]|0;w=H(J,F)|0;p=c[S>>2]|0;q=(c[B>>2]|0)+((H(p,y)|0)+z<<1<<1)|0;j=0;while(1){if((j|0)==4)break;r=j<<3&8;s=j>>>1;t=s<<3;k=0;h=0;while(1){if((k|0)==8)break;u=(H(k+t|0,l)|0)+r|0;i=0;while(1){if((i|0)==8)break;$=h+(d[m+(u+i)>>0]|0)|0;i=i+1|0;h=$}k=k+1|0}$=q+((H(s,p)|0)+(j&1)<<1)|0;b[$>>1]=(h+4|0)>>>3;j=j+1|0}o=n+v+o|0;n=x+v+w|0;if(!x)break;h=0;i=0;k=0;while(1){if((k|0)==8)break;l=H(k,I)|0;m=H(k,J)|0;j=0;while(1){if((j|0)==8)break;$=i+(d[o+(j+l)>>0]|0)|0;x=h+(d[n+(j+m)>>0]|0)|0;j=j+1|0;h=x;i=$}k=k+1|0}b[(c[C>>2]|0)+(G<<1)>>1]=(i+4|0)>>>3;b[(c[D>>2]|0)+(G<<1)>>1]=(h+4|0)>>>3}while(0);z=z+1|0}y=y+1|0}le(f,c[B>>2]|0,c[U>>2]<<1,R<<1,c[S>>2]|0,1);le(f,c[C>>2]|0,c[U>>2]|0,c[V>>2]|0,c[X>>2]|0,0);le(f,c[D>>2]|0,c[U>>2]|0,c[V>>2]|0,c[X>>2]|0,0);Hn(c[B>>2]|0,c[U>>2]<<1,c[V>>2]<<1,c[S>>2]|0);l=0;while(1){h=c[V>>2]|0;if((l|0)>=(h|0))break;i=l<<4;j=l<<3;h=0;while(1){if((h|0)>=(c[U>>2]|0))break;k=(H(c[X>>2]|0,l)|0)+h|0;do if(!(c[(c[M>>2]|0)+(k<<2)>>2]&120)){if(!(a[(c[Z>>2]|0)+k>>0]&2))break;T=c[g>>2]|0;R=(c[T>>2]|0)+(h<<4)+(H(i,c[W>>2]|0)|0)|0;$=h<<3;S=(c[T+4>>2]|0)+$+(H(c[L>>2]|0,j)|0)|0;T=c[T+8>>2]|0;$=T+$+(H(c[K>>2]|0,j)|0)|0;T=(T|0)==0;Jj(f,R,T?0:S,T?0:$,h,l)}while(0);h=h+1|0}l=l+1|0}if(c[(c[f>>2]|0)+676>>2]&2|0?(pf(f,c[c[g>>2]>>2]|0,c[U>>2]<<1,h<<1,c[W>>2]|0,1),jf(f,c[c[g>>2]>>2]|0,c[U>>2]<<1,c[V>>2]<<1,c[W>>2]|0,1),Y=c[g>>2]|0,c[Y+8>>2]|0):0){pf(f,c[Y+4>>2]|0,c[U>>2]|0,c[V>>2]|0,c[L>>2]|0,0);pf(f,c[(c[g>>2]|0)+8>>2]|0,c[U>>2]|0,c[V>>2]|0,c[K>>2]|0,0);jf(f,c[(c[g>>2]|0)+4>>2]|0,c[U>>2]|0,c[V>>2]|0,c[L>>2]|0,0);jf(f,c[(c[g>>2]|0)+8>>2]|0,c[U>>2]|0,c[V>>2]|0,c[K>>2]|0,0)}j=f+604|0;i=0;while(1){if((i|0)>=(c[P>>2]|0))break;k=c[(c[Q>>2]|0)+(i<<2)>>2]|0;h=c[N>>2]|0;do if(h|0){if((a[(c[Z>>2]|0)+k>>0]&14)==0?1:(c[(c[g>>2]|0)+88>>2]|0)==3)break;a[h+k>>0]=0}while(0);h=c[j>>2]|0;if(h|0)a[h+k>>0]=1;i=i+1|0}h=0;while(1){if((h|0)==2)break;QS(f+768+(h<<2)|0);QS(f+776+(h<<2)|0);c[f+688+(h<<2)>>2]=0;c[f+680+(h<<2)>>2]=0;h=h+1|0}h=g+96|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0))}while(0);Mb=_;return}
function gD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0;e=+f[d>>2];f[a>>2]=e*+f[b+((c&3)<<2)>>2];f[a+4>>2]=e*+f[b+((c>>>2&3)<<2)>>2];f[a+8>>2]=e*+f[b+((c>>>4&3)<<2)>>2];f[a+12>>2]=e*+f[b+((c>>>6&3)<<2)>>2];return a+16|0}function hD(a){a=a|0;var b=0,d=0;b=0;while(1){if(b>>>0>=28){b=0;a=0;break}if((c[90288+(b<<4)+4>>2]|0)==(a|0)){d=4;break}b=b+1|0}if((d|0)==4){a=90288+(b<<4)+8|0;b=c[a+4>>2]|0;a=c[a>>2]|0}L(b|0);return a|0}function iD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=0;while(1){if((e|0)>=(d|0))break;g=c+(e<<2)|0;f[a+(e<<3)>>2]=+f[b+(e<<3)>>2]*+f[g>>2];f[a+(e<<3)+4>>2]=+f[b+(e<<3)+4>>2]*+f[g>>2];e=e+1|0}return}function jD(){var a=0;a=1;while(1){if((a|0)==320)break;c[32+(a+320<<2)>>2]=c[32+(320-a<<2)>>2];a=a+1|0}f[392]=-+f[392];f[520]=-+f[520];a=0;while(1){if((a|0)==320)break;c[283456+(a<<2)>>2]=c[32+(a<<1<<2)>>2];a=a+1|0}return}function kD(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)>=(d|0))break;c[a+(i<<2)>>2]=c[b+(f<<2)>>2];j=SO(e|0,f|0,g|0,h|0)|0;i=i+1|0;e=j;f=M()|0}return}function lD(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;g=0;while(1){e=g+1|0;if(e>>>0>=d>>>0)break;f=a[c>>0]|0;if(!(f<<24>>24))break;a[b>>0]=f;g=e;b=b+1|0;c=c+1|0}if(g>>>0<d>>>0)a[b>>0]=0;return (hu(c)|0)+g|0}function mD(a,b){a=a|0;b=b|0;var d=0;if(a){d=H(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=wc(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;Wp(a|0,0,d|0)|0;return a|0}function nD(a){a=a|0;a=YQ(40)|0;if(!a)a=0;else{c[a>>2]=141;c[a+4>>2]=1;c[a+12>>2]=2;c[a+8>>2]=3;c[a+16>>2]=4;c[a+20>>2]=120;c[a+24>>2]=121;c[a+28>>2]=142;c[a+32>>2]=697;c[a+36>>2]=1}return a|0}function oD(a,b){a=a|0;b=b|0;var d=0,e=0;a:do if(!(c[a+272>>2]|0))c[b>>2]=c[a>>2];else{e=c[a+260>>2]|0;d=0;while(1){if((d|0)>=(e|0))break a;c[b+(d<<2)>>2]=c[a+(d<<2)>>2];d=d+1|0}}while(0);return}function pD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Mb;Mb=Mb+16|0;e=f;c[e>>2]=0;d=OD(e,b)|0;if((d|0)>=0){Iw(a);d=c[e>>2]|0;c[a>>2]=d;c[a+24>>2]=c[d+4>>2];c[a+28>>2]=b;d=0}Mb=f;return d|0}function qD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=Mb;Mb=Mb+16|0;e=g;if(b){d=fu(d,b)|0;if((d|0)<0)f=3}else{d=-22;f=3}if((f|0)==3){c[e>>2]=b;Xw(a,16,203643,e)}Mb=g;return d|0}function rD(b,c,e){b=b|0;c=c|0;e=e|0;var f=0;f=nI(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24,c,e)|0;a[b>>0]=f;a[b+1>>0]=f>>8;a[b+2>>0]=f>>16;a[b+3>>0]=f>>24;return ((e|0)!=0&((c|0)!=0&(f|0)==0)?-12:0)|0}function sD(a,b){a=a|0;b=b|0;b=b+-1|0;while(1){if((b|0)>=672)break;f[a+(b<<5)+16>>2]=0.0;f[a+(b<<5)+20>>2]=0.0;f[a+(b<<5)>>2]=0.0;f[a+(b<<5)+4>>2]=0.0;f[a+(b<<5)+8>>2]=1.0;f[a+(b<<5)+12>>2]=1.0;b=b+30|0}return}function tD(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;while(1){if((e|0)==16)break;f=H(e,b)|0;g=H(d[a+(f+-1)>>0]|0,16843009)|0;f=a+f|0;c[f>>2]=g;c[f+4>>2]=g;c[f+8>>2]=g;c[f+12>>2]=g;e=e+1|0}return}function uD(a){a=a|0;var b=0,d=0,e=0,f=0;f=(a|0)==0;a=(c[40937]|0)==(a|0);b=0;while(1)if((b|0)!=0|f|a)break;else b=1;d=c[40937]|0;e=(d|0)!=0;a=f&(b|0)==0^1;while(1)if(a|e)break;else a=1;return (a?0:d)|0}function vD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=Mb;Mb=Mb+16|0;f=g;e=GE(b)|0;if(e>>>0>65535){c[f>>2]=e;Xw(d,16,170673,f);a=-1094995529}else{c[a>>2]=e;gO(b,4);a=0}Mb=g;return a|0}function wD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=0;while(1){if((d|0)==64)break;g=b+(d<<2)|0;e=c+(63-d<<2)|0;f[a+(d<<2)>>2]=+f[g>>2]-+f[e>>2];f[a+(127-d<<2)>>2]=+f[g>>2]+ +f[e>>2];d=d+1|0}return}function xD(a){a=a|0;var b=0,d=0;b=Mb;Mb=Mb+32|0;d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=QG(d,32)|0;Mb=b;return a|0}function yD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=536944641;c[f+4>>2]=536944641;e=e+8|0;c[e>>2]=536944641;c[e+4>>2]=536944641;b=b+1|0}return}function zD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=134285313;c[f+4>>2]=134285313;e=e+8|0;c[e>>2]=134285313;c[e+4>>2]=134285313;b=b+1|0}return}function AD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=536879104;c[f+4>>2]=536879104;e=e+8|0;c[e>>2]=536879104;c[e+4>>2]=536879104;b=b+1|0}return}function BD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=134219776;c[f+4>>2]=134219776;e=e+8|0;c[e>>2]=134219776;c[e+4>>2]=134219776;b=b+1|0}return}function CD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=536813567;c[f+4>>2]=536813567;e=e+8|0;c[e>>2]=536813567;c[e+4>>2]=536813567;b=b+1|0}return}function DD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=134154239;c[f+4>>2]=134154239;e=e+8|0;c[e>>2]=134154239;c[e+4>>2]=134154239;b=b+1|0}return}function ED(a,b){a=a|0;b=b|0;var d=0;d=(uL(b)|0)==0;c[a>>2]=d&1;if(d){d=uL(b)|0;c[a+8>>2]=d;d=uL(b)|0;c[a+12>>2]=d;d=Hz(b,16)|0;c[a+4>>2]=d;GE(b)|0;zU(b)}return}function FD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=H(e,f)|0;d=a>>>16;a=(c>>>16)+(H(e,d)|0)|0;e=b>>>16;b=H(e,f)|0;return (L((a>>>16)+(H(e,d)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|c&65535|0)|0}function GD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=33620481;c[f+4>>2]=33620481;e=e+8|0;c[e>>2]=33620481;c[e+4>>2]=33620481;b=b+1|0}return}function HD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=33554944;c[f+4>>2]=33554944;e=e+8|0;c[e>>2]=33554944;c[e+4>>2]=33554944;b=b+1|0}return}function ID(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=33489407;c[f+4>>2]=33489407;e=e+8|0;c[e>>2]=33489407;c[e+4>>2]=33489407;b=b+1|0}return}function JD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=16843009;c[f+4>>2]=16843009;e=e+8|0;c[e>>2]=16843009;c[e+4>>2]=16843009;b=b+1|0}return}function KD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=16777472;c[f+4>>2]=16777472;e=e+8|0;c[e>>2]=16777472;c[e+4>>2]=16777472;b=b+1|0}return}function LD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=16711935;c[f+4>>2]=16711935;e=e+8|0;c[e>>2]=16711935;c[e+4>>2]=16711935;b=b+1|0}return}function MD(a){a=a|0;var b=0,e=0;b=a+8|0;e=c[b>>2]|0;a=(c[a>>2]|0)+(e>>>3)|0;a=(kS(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(e&7)>>>23;c[b>>2]=e+(d[72672+a>>0]|0);return d[73184+a>>0]|0|0}function ND(a){a=a|0;var b=0,d=0;b=Mb;Mb=Mb+32|0;d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=YH(d,32)|0;Mb=b;return a|0}function OD(b,d){b=b|0;d=d|0;var e=0;if(d>>>0<=2147483614){e=Ml(b,d+32|0)|0;if((e|0)>=0){e=(c[(c[b>>2]|0)+4>>2]|0)+d|0;b=e+32|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(b|0));e=0}}else e=-22;return e|0}function PD(a,b){a=+a;b=+b;var d=0,e=0;g[h>>3]=a;e=c[h>>2]|0;d=c[h+4>>2]|0;g[h>>3]=b;d=c[h+4>>2]&-2147483648|d&2147483647;c[h>>2]=e;c[h+4>>2]=d;return +(+g[h>>3])}function QD(a){a=+a;var b=0,d=0;g[h>>3]=a;b=c[h+4>>2]|0;d=b&2146435072;if(!(d>>>0>1126170624|(d|0)==1126170624&0>0)){b=(b|0)<0;a=b?a+-4503599627370496.0+4503599627370496.0:a+4503599627370496.0+-4503599627370496.0;if(a==0.0)a=b?-0.0:0.0}return +a}function RD(a,b,e){a=a|0;b=b|0;e=e|0;b=H(((d[a+(0-e)>>0]|0)+2+(d[a+(1-e)>>0]|0)+(d[a+(2-e)>>0]|0)+(d[a+(3-e)>>0]|0)|0)>>>2,16843009)|0;c[a>>2]=b;c[a+e>>2]=b;c[a+(e<<1)>>2]=b;c[a+(e*3|0)>>2]=b;return}function SD(a,b){a=a|0;b=b|0;b=(b+-9|0)>>>0<8;c[a>>2]=b?21:22;c[a+4>>2]=b?23:24;c[a+8>>2]=b?25:26;c[a+12>>2]=b?27:28;c[a+16>>2]=b?29:30;c[a+20>>2]=b?31:32;c[a+24>>2]=b?33:34;c[a+28>>2]=b?35:36;return}function TD(a){a=a|0;var b=0;b=0;while(1){if(b>>>0>=356){b=-1;break}if((b+-130|0)>>>0>=165){if(!(Ry(c[93808+(b*152|0)>>2]|0,a)|0))break;if(Zs(a,c[93808+(b*152|0)+144>>2]|0)|0)break}b=b+1|0}return b|0}function UD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=Mb;Mb=Mb+16|0;d=e;c[d>>2]=c[a>>2];while(1){f=(c[d>>2]|0)+(4-1)&~(4-1);a=c[f>>2]|0;c[d>>2]=f+4;if(b>>>0>1)b=b+-1|0;else break}Mb=e;return a|0}function VD(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0;f=d<<16>>16;e=(c<<16>>16)+-1|0;d=0;c=0;while(1){if((d|0)==124)break;g=((b[a+(d<<1)>>1]|0)-f>>e)+1>>1;g=(g|0)<6?g:6;d=d+1|0;c=((g|0)>0?g:0)+c|0}return c|0}function WD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=Mb;Mb=Mb+128|0;f=g;hc[c[a+2964>>2]&255](f,b,d,e);dc[c[a+2032>>2]&31](f);f=Vb[c[a+2372>>2]&31](f)|0;Mb=g;return f|0}function XD(a){a=a|0;var b=0;b=0;while(1){if((b|0)==672)break;f[a+(b<<5)+16>>2]=0.0;f[a+(b<<5)+20>>2]=0.0;f[a+(b<<5)>>2]=0.0;f[a+(b<<5)+4>>2]=0.0;f[a+(b<<5)+8>>2]=1.0;f[a+(b<<5)+12>>2]=1.0;b=b+1|0}return}function YD(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==4)break;g=lT(c[a>>2]|0,d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24)|0;c[a>>2]=g;f=f+1|0;a=a+e|0;b=b+e|0}return}function ZD(){var a=0,b=0;b=Mb;Mb=Mb+16|0;a=b;do if((KK(a,208240)|0)!=4)if((KK(a,208253)|0)==4){a=c[a>>2]|0;break}else{a=al()|0;break}else a=c[a>>2]|0;while(0);Mb=b;return a|0}function _D(a,b){a=a|0;b=b|0;var d=0;d=Mb;Mb=Mb+16|0;switch(c[a+4>>2]|0){case 66:case 77:case 88:{if(!(c[a+1196>>2]&7))a=1;else{Xw(b,40,170498,d);a=0}break}default:a=1}Mb=d;return a|0}function $D(b,c){b=b|0;c=c|0;var d=0,e=0;d=hu(b)|0;e=hu(c)|0;if((a[c>>0]|0)==46)if((d|0)<(e|0))b=0;else b=(Ry(b+(d-e)|0,c)|0)==0;else if((d|0)==(e|0))b=(Ry(b,c)|0)==0;else b=0;return b&1|0}function aE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=e>>1;b=0;while(1){if((b|0)==8)break;e=a;c[e>>2]=536879104;c[e+4>>2]=536879104;e=a+8|0;c[e>>2]=536879104;c[e+4>>2]=536879104;b=b+1|0;a=a+(d<<1)|0}return}function bE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=e>>1;b=0;while(1){if((b|0)==8)break;e=a;c[e>>2]=134219776;c[e+4>>2]=134219776;e=a+8|0;c[e>>2]=134219776;c[e+4>>2]=134219776;b=b+1|0;a=a+(d<<1)|0}return}function cE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;kg(a,b,c,d);kg(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;kg(a,b,c,d);kg(a+16|0,b+16|0,c,d);return}function dE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ng(a,b,c,d);ng(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;ng(a,b,c,d);ng(a+16|0,b+16|0,c,d);return}function eE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;og(a,b,c,d);og(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;og(a,b,c,d);og(a+16|0,b+16|0,c,d);return}function fE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Af(a,b,c,d);Af(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;Af(a,b,c,d);Af(a+16|0,b+16|0,c,d);return}function gE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Cf(a,b,c,d);Cf(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;Cf(a,b,c,d);Cf(a+16|0,b+16|0,c,d);return}function hE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Df(a,b,c,d);Df(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;Df(a,b,c,d);Df(a+16|0,b+16|0,c,d);return}function iE(a){a=a|0;switch(a|0){case 1:{a=73;break}case 2:{a=80;break}case 3:{a=66;break}case 4:{a=83;break}case 5:{a=105;break}case 6:{a=112;break}case 7:{a=98;break}default:a=63}return a|0}function jE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0.0,h=0.0,i=0;d=0;while(1){if((d|0)>=(c|0))break;i=a+(d<<2)|0;h=+f[i>>2];e=b+(d<<2)|0;g=+f[e>>2];f[i>>2]=h+g;f[e>>2]=h-g;d=d+1|0}return}function kE(a){a=a|0;var b=0;b=0;while(1){b=bC(a,b)|0;if(!b)break;switch(c[b+12>>2]|0){case 7:case 5:{hM(a+(c[b+8>>2]|0)|0);break}case 8:{qC(a+(c[b+8>>2]|0)|0);break}default:{}}}return}function lE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+336|0;g=d+128|0;e=d;f=g+32|0;Gn(g,b+(0-(c<<1))|0,c);sg(e,f,16,16);$k(a,f,e,c,16,16,8);Mb=d;return}function mE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+336|0;g=d+128|0;e=d;f=g+32|0;Gn(g,b+(0-(c<<1))|0,c);vg(e,f,16,16);$k(a,f,e,c,16,16,8);Mb=d;return}function nE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+336|0;g=d+128|0;e=d;f=g+32|0;Gn(g,b+(0-(c<<1))|0,c);wg(e,f,16,16);$k(a,f,e,c,16,16,8);Mb=d;return}function oE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=e>>1;b=0;while(1){if((b|0)==8)break;e=a;c[e>>2]=33554944;c[e+4>>2]=33554944;e=a+8|0;c[e>>2]=33554944;c[e+4>>2]=33554944;b=b+1|0;a=a+(d<<1)|0}return}function pE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+336|0;g=d+128|0;e=d;f=g+32|0;Gn(g,b+(0-(c<<1))|0,c);sg(e,f,16,16);zj(a,f,e,c,16,16,8);Mb=d;return}function qE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+336|0;g=d+128|0;e=d;f=g+32|0;Gn(g,b+(0-(c<<1))|0,c);vg(e,f,16,16);zj(a,f,e,c,16,16,8);Mb=d;return}function rE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+336|0;g=d+128|0;e=d;f=g+32|0;Gn(g,b+(0-(c<<1))|0,c);wg(e,f,16,16);zj(a,f,e,c,16,16,8);Mb=d;return}function sE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+16|0;g=(e|0)==1?1008:e;c[b>>2]=f;c[b+4>>2]=0;e=g>>>0<1008?g:1008;c[b+8>>2]=e;c[b+12>>2]=g;a[f>>0]=0;if(e>>>0<d>>>0)Xq(b,d+-1|0)|0;return}function tE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=e>>1;b=0;while(1){if((b|0)==8)break;e=a;c[e>>2]=16777472;c[e+4>>2]=16777472;e=a+8|0;c[e>>2]=16777472;c[e+4>>2]=16777472;b=b+1|0;a=a+(d<<1)|0}return}function uE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1088|0;f=d+128|0;e=d;kg(f,b+c|0,16,c);De(e,d+256|0,b,16,16,c);$k(a,f,e,c,16,16,8);Mb=d;return}function vE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1088|0;f=d+128|0;e=d;ng(f,b+c|0,16,c);Ee(e,d+256|0,b,16,16,c);$k(a,f,e,c,16,16,8);Mb=d;return}function wE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+336|0;g=d+128|0;e=d;f=g+32|0;Gn(g,b+(0-(c<<1))|0,c);yg(e,f,16,16);$k(a,f,e,c,16,16,8);Mb=d;return}function xE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;pg(a,b,c,d);pg(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;pg(a,b,c,d);pg(a+16|0,b+16|0,c,d);return}function yE(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;e=c[b+704>>2]|0;if(!((e|0)!=0?(c[e+32>>2]|0)!=0:0))d=3;if(((d|0)==3?(c[(c[b+12>>2]|0)+16>>2]&128|0)==0:0)?c[a+672>>2]|0:0)return (c[a+700>>2]|0)==0|0;return 0}function zE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1088|0;f=d+128|0;e=d;kg(f,b+c|0,16,c);De(e,d+256|0,b,16,16,c);zj(a,f,e,c,16,16,8);Mb=d;return}function AE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1088|0;f=d+128|0;e=d;ng(f,b+c|0,16,c);Ee(e,d+256|0,b,16,16,c);zj(a,f,e,c,16,16,8);Mb=d;return}function BE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+336|0;g=d+128|0;e=d;f=g+32|0;Gn(g,b+(0-(c<<1))|0,c);yg(e,f,16,16);zj(a,f,e,c,16,16,8);Mb=d;return}function CE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;If(a,b,c,d);If(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;If(a,b,c,d);If(a+16|0,b+16|0,c,d);return}function DE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+672|0;f=d+128|0;e=d;og(f,b+c|0,16,c);Yd(e,d+256|0,b,16,16,c);$k(a,f,e,c,16,16,8);Mb=d;return}function EE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+672|0;f=d+128|0;e=d;og(f,b+c|0,16,c);Yd(e,d+256|0,b,16,16,c);zj(a,f,e,c,16,16,8);Mb=d;return}function FE(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+32856|0;if(!(Gu(c,a+32972|0)|0)){a=a+32973|0;d=Gu(c,a)|0;d=((Gu(c,a)|0)<<1)+d|0;c=d+((Gu(c,a)|0)<<2)|0;b=c+((c|0)>=(b|0)&1)|0}return b|0}function GE(a){a=a|0;var b=0,c=0,e=0;e=xD(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[91312+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;qK(a,b);return (QG(a,b+1|0)|0)+-1|0}function HE(b,d,e){b=b|0;d=d|0;e=e|0;if(e>>>0<=4294967263){if(!(is(b,d,e+32|0)|0)){b=(c[b>>2]|0)+e|0;d=b+32|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(d|0))}}else{hM(b);c[d>>2]=0}return}function IE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+672|0;f=d+128|0;e=d;pg(f,b+c|0,16,c);ie(e,d+256|0,b,16,16,c);$k(a,f,e,c,16,16,8);Mb=d;return}function JE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1184|0;g=d+512|0;e=d;f=g+64|0;Oh(g,b+(0-(c<<1))|0,c);xH(e,f,32);NM(a,f,e,c,32);Mb=d;return}function KE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1184|0;g=d+512|0;e=d;f=g+64|0;Oh(g,b+(0-(c<<1))|0,c);yH(e,f,32);NM(a,f,e,c,32);Mb=d;return}function LE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1184|0;g=d+512|0;e=d;f=g+64|0;Oh(g,b+(0-(c<<1))|0,c);zH(e,f,32);NM(a,f,e,c,32);Mb=d;return}function ME(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Sg(a,b,c,d);Sg(a+8|0,b+8|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;Sg(a,b,c,d);Sg(a+8|0,b+8|0,c,d);return}function NE(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else rk(b,c,d)|0;return b|0}function OE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+672|0;f=d+128|0;e=d;pg(f,b+c|0,16,c);ie(e,d+256|0,b,16,16,c);zj(a,f,e,c,16,16,8);Mb=d;return}function PE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1184|0;g=d+512|0;e=d;f=g+64|0;Oh(g,b+(0-(c<<1))|0,c);xH(e,f,32);PM(a,f,e,c,32);Mb=d;return}function QE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1184|0;g=d+512|0;e=d;f=g+64|0;Oh(g,b+(0-(c<<1))|0,c);yH(e,f,32);PM(a,f,e,c,32);Mb=d;return}function RE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1184|0;g=d+512|0;e=d;f=g+64|0;Oh(g,b+(0-(c<<1))|0,c);zH(e,f,32);PM(a,f,e,c,32);Mb=d;return}function SE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Pf(a,b,c,d);Pf(a+8|0,b+8|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;Pf(a,b,c,d);Pf(a+8|0,b+8|0,c,d);return}function TE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+176|0;g=d+64|0;e=d;f=g+16|0;Ht(g,b+(0-(c<<1))|0,c);eh(e,f,8,8);bq(a,f,e,c,8,8,8);Mb=d;return}function UE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0.0,h=0.0;d=0;while(1){if((d|0)>=(c|0))break;h=+f[b+(d<<3)>>2];g=+f[b+(d<<3)+4>>2];e=a+(d<<2)|0;f[e>>2]=+f[e>>2]+(h*h+g*g);d=d+1|0}return}function VE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+176|0;g=d+64|0;e=d;f=g+16|0;Ht(g,b+(0-(c<<1))|0,c);eh(e,f,8,8);No(a,f,e,c,8,8,8);Mb=d;return}function WE(a){a=a|0;var b=0,d=0;a:do if(!a)b=0;else{d=0;while(1){b=c[163536+(d<<2)>>2]|0;if(d|0){b=0;break a}if(!(Ry(c[b>>2]|0,a)|0))break;else d=1}}while(0);return b|0}function XE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+3712|0;f=d+512|0;e=d;cE(f,b+c|0,32,c);Ux(e,d+1024|0,b,32,c);NM(a,f,e,c,32);Mb=d;return}function YE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+3712|0;f=d+512|0;e=d;dE(f,b+c|0,32,c);Vx(e,d+1024|0,b,32,c);NM(a,f,e,c,32);Mb=d;return}function ZE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+2368|0;f=d+512|0;e=d;eE(f,b+c|0,32,c);Wx(e,d+1024|0,b,32,c);NM(a,f,e,c,32);Mb=d;return}function _E(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1184|0;g=d+512|0;e=d;f=g+64|0;Oh(g,b+(0-(c<<1))|0,c);PH(e,f,32);NM(a,f,e,c,32);Mb=d;return}function $E(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;b=c[c[a+24312>>2]>>2]|0;if((c[b+68>>2]|0)==(c[d+68>>2]|0)?(c[b+72>>2]|0)==(c[d+72>>2]|0):0)b=(c[b+80>>2]|0)!=(c[d+80>>2]|0)&1;else b=1;return b|0}function aF(a,b){a=a|0;b=b|0;var c=0,d=0;a:while(1){while(1){if((b|0)<33)break a;c=b>>>1;if((c|0)>(a|0))b=c;else break}d=(b*3|0)/4|0;a=a-((a|0)<(d|0)?c:d)|0;b=b>>>2}return (a|0)>15|0}function bF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+3712|0;f=d+512|0;e=d;cE(f,b+c|0,32,c);Ux(e,d+1024|0,b,32,c);PM(a,f,e,c,32);Mb=d;return}function cF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+3712|0;f=d+512|0;e=d;dE(f,b+c|0,32,c);Vx(e,d+1024|0,b,32,c);PM(a,f,e,c,32);Mb=d;return}function dF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+2368|0;f=d+512|0;e=d;eE(f,b+c|0,32,c);Wx(e,d+1024|0,b,32,c);PM(a,f,e,c,32);Mb=d;return}function eF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1184|0;g=d+512|0;e=d;f=g+64|0;Oh(g,b+(0-(c<<1))|0,c);PH(e,f,32);PM(a,f,e,c,32);Mb=d;return}function fF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+336|0;f=d+128|0;e=d;Gn(f,b+(0-(c<<1))|0,c);sg(e,f+32|0,16,16);$k(a,f+48|0,e,c,16,16,8);Mb=d;return}function gF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+336|0;f=d+128|0;e=d;Gn(f,b+(0-(c<<1))|0,c);vg(e,f+32|0,16,16);$k(a,f+48|0,e,c,16,16,8);Mb=d;return}function hF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+336|0;f=d+128|0;e=d;Gn(f,b+(0-(c<<1))|0,c);wg(e,f+32|0,16,16);$k(a,f+48|0,e,c,16,16,8);Mb=d;return}function iF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+592|0;g=d+256|0;e=d;f=g+32|0;lo(g,b+(0-(c<<1))|0,c);WH(e,f,16);SM(a,f,e,c,16);Mb=d;return}function jF(b){b=b|0;var d=0,e=0;if(!(vU(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((vU(a[e>>0]|0)|0)!=0)}return d|0}function kF(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;f=c[e+(f<<2)>>2]|0;e=0;while(1){if((e|0)>=(g|0))break;h=((H(f,b[d+(e<<1)>>1]|0)|0)+16384|0)>>>15&65535;b[a+(e<<1)>>1]=h;e=e+1|0}return}function lF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+336|0;f=d+128|0;e=d;Gn(f,b+(0-(c<<1))|0,c);sg(e,f+32|0,16,16);zj(a,f+48|0,e,c,16,16,8);Mb=d;return}function mF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+336|0;f=d+128|0;e=d;Gn(f,b+(0-(c<<1))|0,c);vg(e,f+32|0,16,16);zj(a,f+48|0,e,c,16,16,8);Mb=d;return}function nF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+336|0;f=d+128|0;e=d;Gn(f,b+(0-(c<<1))|0,c);wg(e,f+32|0,16,16);zj(a,f+48|0,e,c,16,16,8);Mb=d;return}function oF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+592|0;g=d+256|0;e=d;f=g+32|0;lo(g,b+(0-(c<<1))|0,c);WH(e,f,16);UM(a,f,e,c,16);Mb=d;return}function pF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=(e|0)==0;g=0;while(1){if((g|0)>=(f|0))break;i=Zb[b&7](a,d,g,0)|0;if(!h)c[e+(g<<2)>>2]=i;g=g+1|0}return 0}function qF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1088|0;f=d+128|0;e=d;kg(f,b,16,c);De(e,d+256|0,b,16,16,c);$k(a,f,e,c,16,16,8);Mb=d;return}function rF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1088|0;f=d+128|0;e=d;ng(f,b,16,c);Ee(e,d+256|0,b,16,16,c);$k(a,f,e,c,16,16,8);Mb=d;return}function sF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+336|0;f=d+128|0;e=d;Gn(f,b+(0-(c<<1))|0,c);yg(e,f+32|0,16,16);$k(a,f+48|0,e,c,16,16,8);Mb=d;return}function tF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+2368|0;f=d+512|0;e=d;xE(f,b+c|0,32,c);hy(e,d+1024|0,b,32,c);NM(a,f,e,c,32);Mb=d;return}function uF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1088|0;f=d+128|0;e=d;kg(f,b,16,c);De(e,d+256|0,b,16,16,c);zj(a,f,e,c,16,16,8);Mb=d;return}function vF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1088|0;f=d+128|0;e=d;ng(f,b,16,c);Ee(e,d+256|0,b,16,16,c);zj(a,f,e,c,16,16,8);Mb=d;return}function wF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+336|0;f=d+128|0;e=d;Gn(f,b+(0-(c<<1))|0,c);yg(e,f+32|0,16,16);zj(a,f+48|0,e,c,16,16,8);Mb=d;return}function xF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+2368|0;f=d+512|0;e=d;xE(f,b+c|0,32,c);hy(e,d+1024|0,b,32,c);PM(a,f,e,c,32);Mb=d;return}function yF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+336|0;f=d+64|0;e=d;Sg(f,b+c|0,8,c);pe(e,d+128|0,b,8,8,c);bq(a,f,e,c,8,8,8);Mb=d;return}function zF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+672|0;f=d+128|0;e=d;og(f,b,16,c);Yd(e,d+256|0,b,16,16,c);$k(a,f,e,c,16,16,8);Mb=d;return}function AF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1184|0;f=d+256|0;e=d;ME(f,b+c|0,16,c);vy(e,d+512|0,b,16,c);SM(a,f,e,c,16);Mb=d;return}function BF(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+6444|0;if((c[e>>2]|0)>>>0<b>>>0){a=a+6440|0;d=Tu(c[a>>2]|0,b)|0;if(!d)a=-1;else{c[a>>2]=d;c[e>>2]=b;a=0}}else a=0;return a|0}function CF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+336|0;f=d+64|0;e=d;Sg(f,b+c|0,8,c);pe(e,d+128|0,b,8,8,c);No(a,f,e,c,8,8,8);Mb=d;return}function DF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+672|0;f=d+128|0;e=d;og(f,b,16,c);Yd(e,d+256|0,b,16,16,c);zj(a,f,e,c,16,16,8);Mb=d;return}function EF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1184|0;f=d+256|0;e=d;ME(f,b+c|0,16,c);vy(e,d+512|0,b,16,c);UM(a,f,e,c,16);Mb=d;return}function FF(a){a=a|0;var b=0,d=0,e=0;b=a;bS(c[b+96>>2]|0);NQ(c[b+72>>2]|0);nd(c[b+76>>2]|0);d=b+100|0;e=c[d>>2]|0;if(e|0){lH(e);c[d>>2]=0}nd(c[b+36>>2]|0);nd(a);return 0}function GF(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[157840+(b&15)>>0]|0|f;b=oN(b|0,c|0,4)|0;c=M()|0}while(!((b|0)==0&(c|0)==0));return e|0}function HF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+112|0;g=d+32|0;e=d;f=g+16|0;Ps(g,b+(0-(c<<1))|0,c);ln(e,f,8);Sq(a,f,e,c,8);Mb=d;return}function IF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+112|0;g=d+32|0;e=d;f=g+16|0;Ps(g,b+(0-(c<<1))|0,c);nn(e,f,8);Sq(a,f,e,c,8);Mb=d;return}function JF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+112|0;g=d+32|0;e=d;f=g+16|0;Ps(g,b+(0-(c<<1))|0,c);on(e,f,8);Sq(a,f,e,c,8);Mb=d;return}function KF(a){a=a|0;var b=0,c=0,e=0;e=xD(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[91312+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;qK(a,b);QG(a,b+1|0)|0;return}function LF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+112|0;g=d+32|0;e=d;f=g+16|0;Ps(g,b+(0-(c<<1))|0,c);ln(e,f,8);sp(a,f,e,c,8);Mb=d;return}function MF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+112|0;g=d+32|0;e=d;f=g+16|0;Ps(g,b+(0-(c<<1))|0,c);nn(e,f,8);sp(a,f,e,c,8);Mb=d;return}function NF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+112|0;g=d+32|0;e=d;f=g+16|0;Ps(g,b+(0-(c<<1))|0,c);on(e,f,8);sp(a,f,e,c,8);Mb=d;return}function OF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+672|0;f=d+128|0;e=d;pg(f,b,16,c);ie(e,d+256|0,b,16,16,c);$k(a,f,e,c,16,16,8);Mb=d;return}function PF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1184|0;f=d+512|0;e=d;Oh(f,b+(0-(c<<1))|0,c);xH(e,f+64|0,32);NM(a,f+96|0,e,c,32);Mb=d;return}function QF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1184|0;f=d+512|0;e=d;Oh(f,b+(0-(c<<1))|0,c);yH(e,f+64|0,32);NM(a,f+96|0,e,c,32);Mb=d;return}function RF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1184|0;f=d+512|0;e=d;Oh(f,b+(0-(c<<1))|0,c);zH(e,f+64|0,32);NM(a,f+96|0,e,c,32);Mb=d;return}function SF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+672|0;f=d+128|0;e=d;pg(f,b,16,c);ie(e,d+256|0,b,16,16,c);zj(a,f,e,c,16,16,8);Mb=d;return}function TF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1184|0;f=d+512|0;e=d;Oh(f,b+(0-(c<<1))|0,c);xH(e,f+64|0,32);PM(a,f+96|0,e,c,32);Mb=d;return}function UF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1184|0;f=d+512|0;e=d;Oh(f,b+(0-(c<<1))|0,c);yH(e,f+64|0,32);PM(a,f+96|0,e,c,32);Mb=d;return}function VF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1184|0;f=d+512|0;e=d;Oh(f,b+(0-(c<<1))|0,c);zH(e,f+64|0,32);PM(a,f+96|0,e,c,32);Mb=d;return}function WF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+176|0;f=d+64|0;e=d;Ht(f,b+(0-(c<<1))|0,c);eh(e,f+16|0,8,8);bq(a,f+24|0,e,c,8,8,8);Mb=d;return}function XF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+112|0;g=d+32|0;e=d;f=g+16|0;Ps(g,b+(0-(c<<1))|0,c);qn(e,f,8);Sq(a,f,e,c,8);Mb=d;return}function YF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;e=d+32|0;f=g+8|0;Xz(g,b+(0-(c<<1))|0,c);sr(e,f,4);pv(a,f,e,c,4);Mb=d;return}function ZF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;e=d+32|0;f=g+8|0;Xz(g,b+(0-(c<<1))|0,c);ur(e,f,4);pv(a,f,e,c,4);Mb=d;return}function _F(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;e=d+32|0;f=g+8|0;Xz(g,b+(0-(c<<1))|0,c);vr(e,f,4);pv(a,f,e,c,4);Mb=d;return}function $F(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;if(!d){a[b+10>>0]=0;d=4}else d=9;while(1){if((d|0)<=-1)break;f=a[c+d>>0]|0;e=d<<1;a[b+e>>0]=f;a[b+(e|1)>>0]=f;d=d+-1|0}return}function aG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+176|0;f=d+64|0;e=d;Ht(f,b+(0-(c<<1))|0,c);eh(e,f+16|0,8,8);No(a,f+24|0,e,c,8,8,8);Mb=d;return}function bG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+112|0;g=d+32|0;e=d;f=g+16|0;Ps(g,b+(0-(c<<1))|0,c);qn(e,f,8);sp(a,f,e,c,8);Mb=d;return}function cG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=b+4|0;e=c[f>>2]|0;g=-6-e|0;e=(g>>>0<d>>>0?g:d)+e|0;c[f>>2]=e;f=c[b+8>>2]|0;d=f+-1|0;if(f|0)a[(c[b>>2]|0)+(e>>>0>d>>>0?d:e)>>0]=0;return}function dG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+128|0;f=d+120|0;e=d+112|0;Rp(f,b+c|0,4,c);Yl(e,d,b,4,c);pv(a,f,e,c,4);Mb=d;return}function eG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+128|0;f=d+120|0;e=d+112|0;Up(f,b+c|0,4,c);am(e,d,b,4,c);pv(a,f,e,c,4);Mb=d;return}function fG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+3712|0;f=d+512|0;e=d;cE(f,b,32,c);Ux(e,d+1024|0,b,32,c);NM(a,f,e,c,32);Mb=d;return}function gG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+3712|0;f=d+512|0;e=d;dE(f,b,32,c);Vx(e,d+1024|0,b,32,c);NM(a,f,e,c,32);Mb=d;return}function hG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+2368|0;f=d+512|0;e=d;eE(f,b,32,c);Wx(e,d+1024|0,b,32,c);NM(a,f,e,c,32);Mb=d;return}function iG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1184|0;f=d+512|0;e=d;Oh(f,b+(0-(c<<1))|0,c);PH(e,f+64|0,32);NM(a,f+96|0,e,c,32);Mb=d;return}function jG(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=0;e=0;while(1){if((d|0)>=(c|0))break;f=a[b+(d*3|0)+2>>0]|0;f=(f<<24>>24!=0&f<<24>>24!=5?((a[b+(d*3|0)>>0]|0)==1?2:1):0)+e|0;d=d+1|0;e=f}return e|0}function kG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+3712|0;f=d+512|0;e=d;cE(f,b,32,c);Ux(e,d+1024|0,b,32,c);PM(a,f,e,c,32);Mb=d;return}function lG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+3712|0;f=d+512|0;e=d;dE(f,b,32,c);Vx(e,d+1024|0,b,32,c);PM(a,f,e,c,32);Mb=d;return}function mG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+2368|0;f=d+512|0;e=d;eE(f,b,32,c);Wx(e,d+1024|0,b,32,c);PM(a,f,e,c,32);Mb=d;return}function nG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1184|0;f=d+512|0;e=d;Oh(f,b+(0-(c<<1))|0,c);PH(e,f+64|0,32);PM(a,f+96|0,e,c,32);Mb=d;return}function oG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+64|0;g=d+16|0;e=d;f=g+8|0;Wz(g,b+(0-(c<<1))|0,c);Xn(e,f,4);Dv(a,f,e,c,4);Mb=d;return}function pG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;e=d+32|0;f=g+8|0;Xz(g,b+(0-(c<<1))|0,c);xr(e,f,4);pv(a,f,e,c,4);Mb=d;return}function qG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+592|0;f=d+256|0;e=d;lo(f,b+(0-(c<<1))|0,c);WH(e,f+32|0,16);SM(a,f+48|0,e,c,16);Mb=d;return}function rG(b,c,e){b=b|0;c=c|0;e=e|0;if(c>>>0<2)b=-1;else{a[e>>0]=(d[b>>0]|0)>>>3;c=b+1|0;a[e+1>>0]=(d[c>>0]|0)>>>7|a[b>>0]<<1&14;a[e+2>>0]=(d[c>>0]|0)>>>3&15;b=2}return b|0}function sG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;switch(b|0){case 8:{a=Ol(a,c,d,e)|0;break}case 9:{a=Zf(a,c,d,e)|0;break}case 18:{a=0;break}default:a=-1}return a|0}function tG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+64|0;g=d+16|0;e=d;f=g+8|0;Wz(g,b+(0-(c<<1))|0,c);Xn(e,f,4);Pu(a,f,e,c,4);Mb=d;return}function uG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+592|0;f=d+256|0;e=d;lo(f,b+(0-(c<<1))|0,c);WH(e,f+32|0,16);UM(a,f+48|0,e,c,16);Mb=d;return}function vG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+352|0;f=d+32|0;e=d;el(f,b+c|0,8,c);ni(e,d+64|0,b,8,c);Sq(a,f,e,c,8);Mb=d;return}function wG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+352|0;f=d+32|0;e=d;jl(f,b+c|0,8,c);qi(e,d+64|0,b,8,c);Sq(a,f,e,c,8);Mb=d;return}function xG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+208|0;f=d+32|0;e=d;kl(f,b+c|0,8,c);Og(e,d+64|0,b,8,c);Sq(a,f,e,c,8);Mb=d;return}function yG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+32|0;g=d+4|0;e=d;f=g+4|0;xI(g,b+(0-(c<<1))|0,c);rs(e,f,2);ox(a,f,e,c,2);Mb=d;return}function zG(a,b){a=a|0;b=b|0;var e=0,f=0;e=a+8|0;f=c[e>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(kS(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>(32-b|0);c[e>>2]=f+b;return a|0}function AG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+352|0;f=d+32|0;e=d;el(f,b+c|0,8,c);ni(e,d+64|0,b,8,c);sp(a,f,e,c,8);Mb=d;return}function BG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+352|0;f=d+32|0;e=d;jl(f,b+c|0,8,c);qi(e,d+64|0,b,8,c);sp(a,f,e,c,8);Mb=d;return}function CG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+208|0;f=d+32|0;e=d;kl(f,b+c|0,8,c);Og(e,d+64|0,b,8,c);sp(a,f,e,c,8);Mb=d;return}function DG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+80|0;f=d+64|0;e=d+56|0;Vp(f,b+c|0,4,c);Yk(e,d,b,4,c);pv(a,f,e,c,4);Mb=d;return}function EG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+2368|0;f=d+512|0;e=d;xE(f,b,32,c);hy(e,d+1024|0,b,32,c);NM(a,f,e,c,32);Mb=d;return}function FG(a,b){a=a|0;b=b|0;var d=0;b=c[a+12>>2]|0;jV(b)|0;d=b+28|0;c[a+16>>2]=c[d>>2];c[d>>2]=a;jV(b)|0;d=b+32|0;a=c[d>>2]|0;c[d>>2]=a+-1;if((a|0)==1)Ku(b);return}function GG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+2368|0;f=d+512|0;e=d;xE(f,b,32,c);hy(e,d+1024|0,b,32,c);PM(a,f,e,c,32);Mb=d;return}function HG(a){a=a|0;var b=0,c=0;b=0;while(1){if((b|0)==64)break;c=a+(b<<2)|0;f[c>>2]=+f[c>>2]+ +f[a+(b+64<<2)>>2]+ +f[a+(b+128<<2)>>2]+ +f[a+(b+192<<2)>>2]+ +f[a+(b+256<<2)>>2];b=b+1|0}return}function IG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+336|0;f=d+64|0;e=d;Sg(f,b,8,c);pe(e,d+128|0,b,8,8,c);bq(a,f,e,c,8,8,8);Mb=d;return}function JG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1184|0;f=d+256|0;e=d;ME(f,b,16,c);vy(e,d+512|0,b,16,c);SM(a,f,e,c,16);Mb=d;return}function KG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=a+(0-b)|0;e=c[f>>2]|0;f=c[f+4>>2]|0;d=0;while(1){if((d|0)==16)break;g=a+(H(d,b)|0)|0;c[g>>2]=e;c[g+4>>2]=f;d=d+1|0}return}function LG(a){a=a|0;var b=0,c=0,e=0;e=ND(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[91312+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;fS(a,b);return (YH(a,b+1|0)|0)+-1|0}function MG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+336|0;f=d+64|0;e=d;Sg(f,b,8,c);pe(e,d+128|0,b,8,8,c);No(a,f,e,c,8,8,8);Mb=d;return}function NG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1184|0;f=d+256|0;e=d;ME(f,b,16,c);vy(e,d+512|0,b,16,c);UM(a,f,e,c,16);Mb=d;return}function OG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+208|0;f=d+32|0;e=d;ll(f,b+c|0,8,c);ih(e,d+64|0,b,8,c);Sq(a,f,e,c,8);Mb=d;return}function PG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+112|0;f=d+16|0;e=d;Vl(f,b+c|0,4,c);Bh(e,d+32|0,b,4,c);Dv(a,f,e,c,4);Mb=d;return}function QG(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=Hz(a,b)|0;break}else{b=b+-16|0;c=(Hz(a,16)|0)<<b;a=c|(Hz(a,b)|0);break}else a=0;while(0);return a|0}function RG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+208|0;f=d+32|0;e=d;ll(f,b+c|0,8,c);ih(e,d+64|0,b,8,c);sp(a,f,e,c,8);Mb=d;return}function SG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+112|0;f=d+16|0;e=d;Vl(f,b+c|0,4,c);Bh(e,d+32|0,b,4,c);Pu(a,f,e,c,4);Mb=d;return}function TG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+112|0;f=d+32|0;e=d;Ps(f,b+(0-(c<<1))|0,c);ln(e,f+16|0,8);Sq(a,f+24|0,e,c,8);Mb=d;return}function UG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+112|0;f=d+32|0;e=d;Ps(f,b+(0-(c<<1))|0,c);nn(e,f+16|0,8);Sq(a,f+24|0,e,c,8);Mb=d;return}function VG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+112|0;f=d+32|0;e=d;Ps(f,b+(0-(c<<1))|0,c);on(e,f+16|0,8);Sq(a,f+24|0,e,c,8);Mb=d;return}function WG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+80|0;f=d+64|0;e=d+56|0;_p(f,b+c|0,4,c);sl(e,d,b,4,c);pv(a,f,e,c,4);Mb=d;return}function XG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+48|0;f=d+32|0;e=d+28|0;Dq(f,b+c|0,2,c);Wl(e,d,b,2,c);ox(a,f,e,c,2);Mb=d;return}function YG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=a+(0-b)|0;e=c[f>>2]|0;f=c[f+4>>2]|0;d=0;while(1){if((d|0)==8)break;g=a+(H(d,b)|0)|0;c[g>>2]=e;c[g+4>>2]=f;d=d+1|0}return}function ZG(a,b){a=a|0;b=b|0;var d=0;do if(a){d=YQ(24)|0;if(!d){gV(a);d=0;break}else{c[d>>2]=a;c[d+12>>2]=a+b;NO(d);break}}else d=0;while(0);return d|0}function _G(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+112|0;f=d+32|0;e=d;Ps(f,b+(0-(c<<1))|0,c);ln(e,f+16|0,8);sp(a,f+24|0,e,c,8);Mb=d;return}function $G(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+112|0;f=d+32|0;e=d;Ps(f,b+(0-(c<<1))|0,c);nn(e,f+16|0,8);sp(a,f+24|0,e,c,8);Mb=d;return}function aH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+112|0;f=d+32|0;e=d;Ps(f,b+(0-(c<<1))|0,c);on(e,f+16|0,8);sp(a,f+24|0,e,c,8);Mb=d;return}function bH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+112|0;f=d+32|0;e=d;Ps(f,b+(0-(c<<1))|0,c);qn(e,f+16|0,8);Sq(a,f+24|0,e,c,8);Mb=d;return}function cH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+48|0;f=d;e=d+32|0;Xz(f,b+(0-(c<<1))|0,c);sr(e,f+8|0,4);pv(a,f+12|0,e,c,4);Mb=d;return}function dH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+48|0;f=d;e=d+32|0;Xz(f,b+(0-(c<<1))|0,c);ur(e,f+8|0,4);pv(a,f+12|0,e,c,4);Mb=d;return}function eH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+48|0;f=d;e=d+32|0;Xz(f,b+(0-(c<<1))|0,c);vr(e,f+8|0,4);pv(a,f+12|0,e,c,4);Mb=d;return}function fH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+112|0;f=d+32|0;e=d;Ps(f,b+(0-(c<<1))|0,c);qn(e,f+16|0,8);sp(a,f+24|0,e,c,8);Mb=d;return}function gH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+128|0;f=d+120|0;e=d+112|0;Rp(f,b,4,c);Yl(e,d,b,4,c);pv(a,f,e,c,4);Mb=d;return}function hH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+128|0;f=d+120|0;e=d+112|0;Up(f,b,4,c);am(e,d,b,4,c);pv(a,f,e,c,4);Mb=d;return}function iH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+64|0;f=d+16|0;e=d;Wz(f,b+(0-(c<<1))|0,c);Xn(e,f+8|0,4);Dv(a,f+12|0,e,c,4);Mb=d;return}function jH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+48|0;f=d;e=d+32|0;Xz(f,b+(0-(c<<1))|0,c);xr(e,f+8|0,4);pv(a,f+12|0,e,c,4);Mb=d;return}function kH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+64|0;f=d+16|0;e=d;Wz(f,b+(0-(c<<1))|0,c);Xn(e,f+8|0,4);Pu(a,f+12|0,e,c,4);Mb=d;return}function lH(a){a=a|0;var b=0,d=0;if(a|0){if(c[a>>2]|0){d=a+4|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;yS((c[a>>2]|0)+(b<<2)|0);b=b+1|0}hM(a)}gV(a)}return}function mH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+352|0;f=d+32|0;e=d;el(f,b,8,c);ni(e,d+64|0,b,8,c);Sq(a,f,e,c,8);Mb=d;return}function nH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+352|0;f=d+32|0;e=d;jl(f,b,8,c);qi(e,d+64|0,b,8,c);Sq(a,f,e,c,8);Mb=d;return}function oH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+208|0;f=d+32|0;e=d;kl(f,b,8,c);Og(e,d+64|0,b,8,c);Sq(a,f,e,c,8);Mb=d;return}function pH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+352|0;f=d+32|0;e=d;el(f,b,8,c);ni(e,d+64|0,b,8,c);sp(a,f,e,c,8);Mb=d;return}function qH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+352|0;f=d+32|0;e=d;jl(f,b,8,c);qi(e,d+64|0,b,8,c);sp(a,f,e,c,8);Mb=d;return}function rH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+208|0;f=d+32|0;e=d;kl(f,b,8,c);Og(e,d+64|0,b,8,c);sp(a,f,e,c,8);Mb=d;return}function sH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+80|0;f=d+64|0;e=d+56|0;Vp(f,b,4,c);Yk(e,d,b,4,c);pv(a,f,e,c,4);Mb=d;return}function tH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+32|0;f=d+4|0;e=d;xI(f,b+(0-(c<<1))|0,c);rs(e,f+4|0,2);ox(a,f+6|0,e,c,2);Mb=d;return}function uH(a){a=a|0;var b=0;if((c[a+8>>2]|0)>0){b=(c[a+4>>2]|0)+16|0;a=(c[a>>2]|0)+16|0;a=QO(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;M()|0}else a=0;return a|0}function vH(a,b){a=a|0;b=b|0;var d=0;d=a+40|0;gP(c[d>>2]|0);if(b){a=pn(c[d>>2]|0,b)|0;if(!a){c[(c[d>>2]|0)+28>>2]=c[b+28>>2];a=0}}else a=0;return a|0}function wH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Mb;Mb=Mb+16|0;e=f;if(b){d=Qg(d,b,-1,a)|0;if((d|0)<0){c[e>>2]=b;Xw(a,16,203346,e)}}else d=0;Mb=f;return d|0}function xH(a,b,c){a=a|0;b=b|0;c=c|0;sg(a,b,c,32);sg(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;sg(a,b+256|0,c,32);sg(a+16|0,b+272|0,c,32);return}function yH(a,b,c){a=a|0;b=b|0;c=c|0;vg(a,b,c,32);vg(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;vg(a,b+256|0,c,32);vg(a+16|0,b+272|0,c,32);return}function zH(a,b,c){a=a|0;b=b|0;c=c|0;wg(a,b,c,32);wg(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;wg(a,b+256|0,c,32);wg(a+16|0,b+272|0,c,32);return}function AH(a,b,c){a=a|0;b=b|0;c=c|0;Jf(a,b,c,32);Jf(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;Jf(a,b+256|0,c,32);Jf(a+16|0,b+272|0,c,32);return}function BH(a,b,c){a=a|0;b=b|0;c=c|0;Lf(a,b,c,32);Lf(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;Lf(a,b+256|0,c,32);Lf(a+16|0,b+272|0,c,32);return}function CH(a,b,c){a=a|0;b=b|0;c=c|0;Mf(a,b,c,32);Mf(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;Mf(a,b+256|0,c,32);Mf(a+16|0,b+272|0,c,32);return}function DH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+208|0;f=d+32|0;e=d;ll(f,b,8,c);ih(e,d+64|0,b,8,c);Sq(a,f,e,c,8);Mb=d;return}function EH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+112|0;f=d+16|0;e=d;Vl(f,b,4,c);Bh(e,d+32|0,b,4,c);Dv(a,f,e,c,4);Mb=d;return}function FH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(b|0)!=0&d>>>0<2147483391;d=e?d:0;b=e?b:0;c[a>>2]=b;c[a+12>>2]=d;c[a+16>>2]=d+8;c[a+4>>2]=b+(d+7>>3);c[a+8>>2]=0;return (e?0:-1094995529)|0}function GH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+208|0;f=d+32|0;e=d;ll(f,b,8,c);ih(e,d+64|0,b,8,c);sp(a,f,e,c,8);Mb=d;return}function HH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+112|0;f=d+16|0;e=d;Vl(f,b,4,c);Bh(e,d+32|0,b,4,c);Pu(a,f,e,c,4);Mb=d;return}function IH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;e=(c[d>>2]|0)+b|0;c[d>>2]=e;f=c[a+12>>2]|0;if(e>>>0>=f>>>0)c[d>>2]=e+((c[a>>2]|0)-f);f=a+16|0;c[f>>2]=(c[f>>2]|0)+b;return}function JH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+80|0;f=d+64|0;e=d+56|0;_p(f,b,4,c);sl(e,d,b,4,c);pv(a,f,e,c,4);Mb=d;return}function KH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+48|0;f=d+32|0;e=d+28|0;Dq(f,b,2,c);Wl(e,d,b,2,c);ox(a,f,e,c,2);Mb=d;return}function LH(a){a=a|0;var b=0,d=0,e=0;e=Mb;Mb=Mb+16|0;d=e;b=jx(a)|0;c[d>>2]=b;if(b){a=js(b,a,194,0,0)|0;if(!a){hM(d);a=0}}else a=0;Mb=e;return a|0}function MH(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;switch(b|0){case 66:{d=512;e=3;break}case 244:case 122:case 110:{d=2048;e=3;break}default:{}}if((e|0)==3)b=c[a+1196>>2]<<8&d|b;return b|0}function NH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=a+8|0;g=0;a=b;while(1){if((g|0)==32)break;jc[c[h>>2]&127](d+(g<<3)|0,a,e,32,f);g=g+1|0;a=a+8|0}return}function OH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=a+28460+(b<<2)|0;e=c[b>>2]|0;if(e|0?ex(a,e,d)|0:0){c[(c[b>>2]|0)+100>>2]=0;c[b>>2]=0;d=a+29536|0;c[d>>2]=(c[d>>2]|0)+-1}return}function PH(a,b,c){a=a|0;b=b|0;c=c|0;yg(a,b,c,32);yg(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;yg(a,b+256|0,c,32);yg(a+16|0,b+272|0,c,32);return}function QH(a,b,c){a=a|0;b=b|0;c=c|0;Of(a,b,c,32);Of(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;Of(a,b+256|0,c,32);Of(a+16|0,b+272|0,c,32);return}function RH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Mb;Mb=Mb+144|0;f=e;Wp(f|0,0,144)|0;c[f+32>>2]=11;c[f+44>>2]=a;c[f+76>>2]=-1;c[f+84>>2]=a;d=Dc(f,b,d)|0;Mb=e;return d|0}function SH(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;while(1){if((e|0)==16)break;f=H(e,b)|0;g=H(d[a+(f+-1)>>0]|0,16843009)|0;f=a+f|0;c[f>>2]=g;c[f+4>>2]=g;e=e+1|0}return}function TH(a){a=a|0;if(a|0){nd(c[a>>2]|0);nd(c[a+4>>2]|0);nd(c[a+8>>2]|0);nd(c[a+12>>2]|0);nd(c[a+16>>2]|0);nd(c[a+20>>2]|0);nd(c[a+24>>2]|0);nd(c[a+28>>2]|0);nd(a)}return}function UH(a){a=a|0;var b=0,d=0;d=Mb;Mb=Mb+16|0;b=d;c[b>>2]=a;if(a|0){UH(c[a+20>>2]|0);UH(c[a+24>>2]|0);UH(c[a+28>>2]|0);hM(a+32|0);hM(b)}Mb=d;return}function VH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0;g=0;while(1){if((g|0)>=(e|0))break;f[a+(g<<2)>>2]=+f[b+(g<<2)>>2]*+f[c+(g<<2)>>2]+ +f[d+(g<<2)>>2];g=g+1|0}return}function WH(a,b,c){a=a|0;b=b|0;c=c|0;eh(a,b,c,16);eh(a+8|0,b+8|0,c,16);a=a+(c<<3)|0;eh(a,b+128|0,c,16);eh(a+8|0,b+136|0,c,16);return}function XH(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;while(1){if((e|0)==8)break;f=H(e,b)|0;g=H(d[a+(f+-1)>>0]|0,16843009)|0;f=a+f|0;c[f>>2]=g;c[f+4>>2]=g;e=e+1|0}return}function YH(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=zG(a,b)|0;break}else{b=b+-16|0;c=(zG(a,16)|0)<<b;a=c|(zG(a,b)|0);break}else a=0;while(0);return a|0}function ZH(a){a=a|0;var b=0,d=0;d=a+8|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;hM((c[a>>2]|0)+(b*72|0)|0);hM((c[a>>2]|0)+(b*72|0)+64|0);b=b+1|0}hM(a);c[d>>2]=0;return}function _H(a,b,c){a=a|0;b=b|0;c=c|0;Xf(a,b,c,16);Xf(a+8|0,b+8|0,c,16);a=a+(c<<3)|0;Xf(a,b+128|0,c,16);Xf(a+8|0,b+136|0,c,16);return}function $H(a){a=a|0;var b=0;b=YQ(12)|0;if(!b)b=0;else{c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];a=(c[a>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)+1}return b|0}function aI(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;pc[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function bI(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)==32)break;e=63-(d<<1)|0;c[a+(d<<2)>>2]=c[b+(e<<2)>>2];c[a+(63-d<<2)>>2]=c[b+(e+-1<<2)>>2]^-2147483648;d=d+1|0}return}function cI(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;b=d<<1;c[a>>2]=b;if(!(d&32767)){CM(a);b=c[a>>2]|0}d=c[a+4>>2]<<17;if((b|0)<(d|0))b=0;else{c[a>>2]=b-d;b=1}return b|0}function dI(a,b){a=a|0;b=b|0;if((((!((a&7|0)==0&0==0)?(kO(a&3,0)|0)!=0:0)?(kO(a&1536,0)|0)!=0:0)?(kO(a&48,0)|0)!=0:0)?(kO(a&192,0)|0)!=0:0)a=(_w(a,b)|0)<64&1;else a=0;return a|0}function eI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=0;do{f=Ln(b,1104084,f,2)|0;if(!f){e=0;break}e=Ef(a,c[f>>2]|0,c[f+4>>2]|0,d)|0}while((e|0)>=0);return e|0}function fI(a){a=a|0;var b=0,d=0;d=a+4|0;b=(c[d>>2]|0)+-2|0;c[d>>2]=b;if((c[a>>2]|0)<(b<<17|0)){nJ(a);a=0}else a=(c[a+16>>2]|0)-(c[a+12>>2]|0)|0;return a|0}function gI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=c+(d+-1<<2)|0;c=0;while(1){if((c|0)>=(d|0))break;f[a+(c<<2)>>2]=+f[b+(c<<2)>>2]*+f[e+(0-c<<2)>>2];c=c+1|0}return}function hI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Mb;Mb=Mb+16|0;g=f;c[g>>2]=-1;e=(Nm(a+d|0,a+e+1|0,g)|0)-a+-1|0;Mb=f;return ((e|0)>(b|0)?b:e)|0}function iI(a){a=a|0;var b=0;_s(a);c[a+28244>>2]=0;c[a+28248>>2]=0;c[a+28232>>2]=65536;c[a+28236>>2]=0;b=0;while(1){if((b|0)==16)break;c[a+28660+(b<<2)>>2]=-2147483648;b=b+1|0}return}function jI(a){a=a|0;var b=0,d=0;d=c[a+64>>2]|0;b=d+36|0;d=d+32|0;a=0;while(1){if((a|0)>=(c[b>>2]|0))break;Ru((c[d>>2]|0)+(a<<2)|0);a=a+1|0}hM(d);c[b>>2]=0;return}function kI(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;f=f+1|0;b=b+e|0;a=a+e|0}return}function lI(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==2)break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;f=f+1|0;b=b+e|0;a=a+e|0}return}function mI(a,b){a=a|0;b=b|0;var d=0,e=0;e=Mb;Mb=Mb+16|0;d=e;if(!((zc(a,b,b+20|0)|0)>-1?(Di(a,b)|0)>=0:0)){Xw(c[a+4>>2]|0,16,190524,d);BK(b)}Mb=e;return}function nI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=Mb;Mb=Mb+16|0;f=g;if(!((iK(d,b,f)|0)==0?(e=MO(a,c[f>>2]|0)|0,(e|0)!=0):0)){gV(a);e=0}Mb=g;return e|0}function oI(a){a=a|0;var b=0,d=0;d=a+256|0;b=c[d>>2]|0;c[a+((b&63)<<2)>>2]=(c[a+((b+9&63)<<2)>>2]|0)+(c[a+((b+40&63)<<2)>>2]|0);b=c[d>>2]|0;c[d>>2]=b+1;return c[a+((b&63)<<2)>>2]|0}function pI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(b|0)!=0&d>>>0<2147483391;d=e?d:0;b=e?b:0;c[a>>2]=b;c[a+12>>2]=d;c[a+16>>2]=d+8;c[a+4>>2]=b+(d+7>>3);c[a+8>>2]=0;return}function qI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+28332+(b<<2)|0;c[d>>2]=0;f=a+29540|0;e=(c[f>>2]|0)+-1|0;c[f>>2]=e;if(e|0)NE(d|0,a+28332+(b+1<<2)|0,e-b<<2|0)|0;return}function rI(a,b){a=a|0;b=b|0;var e=0;a=Ds(a)|0;if(((a|0)!=-1?(e=Ds(b)|0,(e|0)!=-1):0)?(d[157856+a>>0]|0)<=207:0)a=e<<16|a;else{a=pV()|0;c[a>>2]=22;a=-1}return a|0}function sI(a,b){a=a|0;b=b|0;var d=0;while(1){a=c[b>>2]|0;if((a|0)==-1){b=-1;break}if(!(LS(a)|0)){d=4;break}b=b+4|0}if((d|0)==4)b=c[b>>2]|0;return b|0}function tI(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if((d|0)==16)break;c[a>>2]=-2122219135;c[a+4>>2]=-2122219135;c[a+8>>2]=-2122219135;c[a+12>>2]=-2122219135;a=a+b|0;d=d+1|0}return}function uI(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if((d|0)==16)break;c[a>>2]=-2139062144;c[a+4>>2]=-2139062144;c[a+8>>2]=-2139062144;c[a+12>>2]=-2139062144;a=a+b|0;d=d+1|0}return}function vI(a){a=a|0;var b=0,d=0;d=a+4|0;b=(c[d>>2]|0)+-2|0;c[d>>2]=b;if((c[a>>2]|0)<(b<<17|0)){WJ(a);a=0}else a=(c[a+16>>2]|0)-(c[a+12>>2]|0)|0;return a|0}function wI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d+8|0;h=c[f>>2]|0;g=a[h>>0]|0;g=(g<<24>>24==43&1)-(g<<24>>24==45&1)|0;c[e>>2]=g;c[f>>2]=h+(g&1);return id(b,d)|0}function xI(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==7)break;g=d[c>>0]|d[c+1>>0]<<8;a[b>>0]=g;a[b+1>>0]=g>>8;f=f+1|0;c=c+e|0;b=b+2|0}return}function yI(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=oN(b|0,c|0,3)|0;c=M()|0}while(!((b|0)==0&(c|0)==0));return d|0}function zI(a){a=a|0;var b=0;b=c[a+60>>2]|0;if(c[c[a+64>>2]>>2]|0){Wp(b|0,0,46304)|0;a=zk(a,b)|0;if((a|0)>=0){c[b+25680>>2]=0;a=0}}else a=0;return a|0}function AI(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if((d|0)==16)break;c[a>>2]=2139062143;c[a+4>>2]=2139062143;c[a+8>>2]=2139062143;c[a+12>>2]=2139062143;a=a+b|0;d=d+1|0}return}function BI(a){a=a|0;switch(a|0){case 69649:{a=2;break}case 69648:{a=3;break}case 69638:case 69645:case 69632:case 69633:case 69647:{a=4;break}default:a=vh(a)|0}return a|0}function CI(a){a=a|0;var b=0,e=0,f=0;f=c[a>>2]|0;b=a+16|0;e=c[b>>2]|0;c[a>>2]=(((d[e+1>>0]|0)<<1|(d[e>>0]|0)<<9)+-65535<<7-(d[78768+((f+-1^f)>>>15)>>0]|0))+f;c[b>>2]=e+2;return}function DI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0;f=+g[c+(d<<3)>>3];c=0;while(1){if((c|0)>=(e|0))break;g[a+(c<<3)>>3]=f*+g[b+(c<<3)>>3];c=c+1|0}return}function EI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0.0;g=+f[c+(d<<2)>>2];c=0;while(1){if((c|0)>=(e|0))break;f[a+(c<<2)>>2]=g*+f[b+(c<<2)>>2];c=c+1|0}return}function FI(a){a=a|0;var b=0,d=0;d=a+24|0;b=Yb[c[a+16>>2]&15](c[a+20>>2]|0,c[d>>2]|0,4096)|0;ka(11,a|0,c[c[d>>2]>>2]|0,4096,b|0,+(+f[a+8>>2]))|0;return}function GI(a){a=a|0;var b=0;b=a+32856|0;if(!(Gu(b,a+32925|0)|0))if(!(Gu(b,a+32926|0)|0))a=1;else{a=(Gu(b,a+32927|0)|0)==0;a=a?3:2}else a=0;return a|0}function HI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Mb;Mb=Mb+16|0;d=Ii(a,b,d)|0;if((d|0)<0){Xw(a,16,169014,e);c[b+72>>2]=0;c[b+68>>2]=0}Mb=e;return d|0}function II(a){a=a|0;c[a+40>>2]=-1;c[a+12>>2]=0;c[a+16>>2]=-1;c[a>>2]=0;c[a+44>>2]=0;c[a+176>>2]=0;c[a+204>>2]=0;c[a+20>>2]=0;c[a+28>>2]=0;hM(a+32|0);return}function JI(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0,g=0;e=0;while(1){if((e|0)>=(d|0))break;g=a+(e<<2)|0;f[g>>2]=+f[g>>2]+ +f[b+(e<<2)>>2]*c;e=e+1|0}return}function KI(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0,f=0;e=0;while(1){if((e|0)>=(d|0))break;f=a+(e<<3)|0;g[f>>3]=+g[f>>3]+ +g[b+(e<<3)>>3]*c;e=e+1|0}return}function LI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;rk(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function MI(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0;d=3.141592653589793/(+(b|0)*2.0);c=0;while(1){if((c|0)>=(b|0))break;e=+y(+(d*(+(c|0)+.5)));f[a+(c<<2)>>2]=e;c=c+1|0}return}function NI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,g=0.0;d=0;e=0.0;while(1){if((d|0)>=(c|0))break;g=e+ +f[a+(d<<2)>>2]*+f[b+(d<<2)>>2];d=d+1|0;e=g}return +e}function OI(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;oc[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function PI(a,b){a=a|0;b=b|0;var e=0;e=c[a+8>>2]|0;a=(c[a>>2]|0)+(e>>>3)|0;return (kS(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(e&7)>>>(32-b|0)|0}function QI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=oN(c^a|0,d^b|0,1)|0;d=QO(c|a|0,d|b|0,e&2147450879|0,(M()|0)&2147450879|0)|0;L(M()|0);return d|0}function RI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;Au(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function SI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;bv(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function TI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=Mb;Mb=Mb+1024|0;g=f;cO(g,a,b);Im(g,c,d,e);Mb=f;return}function UI(a){a=a|0;var b=0,d=0,e=0;e=Mb;Mb=Mb+16|0;d=e;b=_a()|0;if(!b)a=1;else{c[d>>2]=a;c[d+4>>2]=b;mN(165250,d)|0;a=0}Mb=e;return a|0}function VI(a){a=a|0;var b=0,d=0;b=1;while(1){if(b>>>0>=64)break;d=a+(b<<2)|0;c[d>>2]=c[d>>2]^-2147483648;d=a+(b+2<<2)|0;c[d>>2]=c[d>>2]^-2147483648;b=b+4|0}return}function WI(a,b){a=a|0;b=b|0;Ia(a|0);La(3553,b|0);ib(3553,10241,9729.0);ib(3553,10240,9729.0);ib(3553,10242,33071.0);ib(3553,10243,33071.0);UI(165921)|0;return}function XI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;Au(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function YI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;bv(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function ZI(a){a=a|0;var b=0,d=0;d=a+44|0;b=a+40|0;a=0;while(1){if((a|0)>=(c[d>>2]|0))break;hM((c[b>>2]|0)+(a*12|0)|0);a=a+1|0}hM(b);c[d>>2]=0;return}function _I(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;Ls(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function $I(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;ut(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function aJ(a,b){a=a|0;b=b|0;var d=0,e=0;e=Mb;Mb=Mb+16|0;d=e;a=pw(a,d)|0;if((a|0)>=0){cJ(b,c[d>>2]|0);NP(d);a=0}Mb=e;return a|0}function bJ(a){a=a|0;var b=0;b=0;while(1){if((b|0)==8)break;xi(a+(b<<3<<1)|0);b=b+1|0}b=0;while(1){if((b|0)==8)break;Ti(a+(b<<1)|0);b=b+1|0}return}function cJ(a,b){a=a|0;b=b|0;var d=0,e=0;d=b;e=a+72|0;do{c[a>>2]=c[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(e|0));Iw(b);c[b+24>>2]=0;c[b+28>>2]=0;return}function dJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;Ls(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function eJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;ut(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function fJ(a){a=a|0;var b=0,d=0;d=a+292|0;b=a+288|0;a=0;while(1){if((a|0)>=(c[d>>2]|0))break;BP((c[b>>2]|0)+(a<<2)|0);a=a+1|0}c[d>>2]=0;hM(b);return}function gJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Mb;Mb=Mb+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=tP(S(3,f|0)|0)|0;Mb=e;return d|0}function hJ(a,c,e,f,g){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;g=b[a+27952+(g*160|0)+(d[88656+c>>0]<<2)+2>>1]|0;g=f+e+(g>>2)+((g&3|0)==0?0:3)|0;return ((g|0)>0?g:0)|0}function iJ(a){a=a|0;var b=0,e=0;b=a+16|0;e=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-65535+((d[e+1>>0]|0)<<1|(d[e>>0]|0)<<9);if(e>>>0<(c[a+20>>2]|0)>>>0)c[b>>2]=e+2;return}function jJ(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0,f=0.0;e=b+-2|0;d=+g[a+(b+-1<<3)>>3];while(1){if((e|0)<=-1)break;f=d*c+ +g[a+(e<<3)>>3];e=e+-1|0;d=f}return +d}function kJ(a){a=a|0;var b=0;ip(a);b=c[a+808>>2]|0;if(!(b&2))if(!(b&1))a=0;else a=Oe(a)|0;else a=Zl(a)|0;return a|0}function lJ(a,b){a=a|0;b=b|0;var d=0;d=YQ(56)|0;if(!d)d=0;else{rU(d,0)|0;c[d+36>>2]=a;c[d+44>>2]=(b|0)==0?23:b;c[d+32>>2]=1}return d|0}function mJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=d+32+(d>>>4)|0;e=e>>>0>d>>>0?e:d;if((c[b>>2]|0)>>>0<=d>>>0){a=MO(a,e)|0;c[b>>2]=(a|0)==0?0:e}return a|0}function nJ(a){a=a|0;var b=0,d=0,e=0;d=a+4|0;e=c[d>>2]|0;b=(e+-256|0)>>>31;c[d>>2]=e<<b;b=c[a>>2]<<b;c[a>>2]=b;if(!(b&65535))CM(a);return}function oJ(a){a=a|0;var b=0,d=0;b=a+6472|0;d=a+6728|0;if((c[d>>2]|0)!=4?(c[a+6464>>2]|0)!=0:0)a=0;else{rk(a+6208|0,b|0,264)|0;a=1}c[d>>2]=0;return a|0}function pJ(a){a=a|0;var b=0,e=0;e=Mb;Mb=Mb+16|0;b=e;if((Yu(a)|0)==0?(Yb[c[a+32>>2]&15](a,b,1)|0)==1:0)a=d[b>>0]|0;else a=-1;Mb=e;return a|0}function qJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=Mb;Mb=Mb+16|0;YP(b,24,c,d);Xw(b,24,202849,e);if(a|0)Xw(b,24,203025,e+8|0);Mb=e;return}function rJ(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((e|0)>(c|0)){e=0;break}if((b[a+(e<<1)>>1]|0)==d<<16>>16){e=1;break}else e=e+1|0}return e|0}function sJ(a){a=a|0;var b=0,d=0;b=a+64|0;jV(b)|0;d=a+140|0;a=a+92|0;while(1){if(!(c[d>>2]|0))break;yb(a|0,b|0)|0}c[d>>2]=1;jV(b)|0;return}function tJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=Mb;Mb=Mb+16|0;f=g|0;Ie(a,b,d,e,f)|0;Mb=g;return (L(c[f+4>>2]|0),c[f>>2]|0)|0}function uJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(d|0))break;f[a+(e<<2)>>2]=+f[b+(e<<2)>>2]*+f[c+(e<<2)>>2];e=e+1|0}return}function vJ(a){a=a|0;var b=0;if(c[a+12>>2]|0){b=ha(7,a|0)|0;f[a+8>>2]=1.0;a=a+24|0;if(c[a>>2]|0)QP(a)}else b=-1;return b|0}function wJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+208|0;e=d;Gn(e,b+(0-(c<<1))|0,c);sg(a,e+32|0,c,16);Mb=d;return}function xJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+208|0;e=d;Gn(e,b+(0-(c<<1))|0,c);vg(a,e+32|0,c,16);Mb=d;return}function yJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+208|0;e=d;Gn(e,b+(0-(c<<1))|0,c);wg(a,e+32|0,c,16);Mb=d;return}function zJ(a,b,c){a=a|0;b=b|0;c=c|0;Fm(a,b,c,d[a+(c+-1)>>0]|0,d[a+((c<<1)+-1)>>0]|0,d[a+((c*3|0)+-1)>>0]|0,d[a+((c<<2)+-1)>>0]|0);return}function AJ(a,b){a=a|0;b=b|0;var d=0;d=0;do{d=qT(d)|0;if(!d){d=0;break}}while(!((c[d+8>>2]|0)==(a|0)?(c[d+12>>2]|0)==(b|0):0));return d|0}function BJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+208|0;e=d;Gn(e,b+(0-(c<<1))|0,c);Jf(a,e+32|0,c,16);Mb=d;return}function CJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+208|0;e=d;Gn(e,b+(0-(c<<1))|0,c);Lf(a,e+32|0,c,16);Mb=d;return}function DJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+208|0;e=d;Gn(e,b+(0-(c<<1))|0,c);Mf(a,e+32|0,c,16);Mb=d;return}function EJ(a,c){a=a|0;c=c|0;var d=0,e=0,f=0;d=b[a>>1]|0;e=1;while(1){if((e|0)>=(c|0))break;f=b[a+(e<<1)>>1]|0;d=(d|0)<(f|0)?d:f;e=e+1|0}return d|0}function FJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+672|0;e=d;Oh(e,b+(0-(c<<1))|0,c);xH(a,e+64|0,c);Mb=d;return}function GJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+672|0;e=d;Oh(e,b+(0-(c<<1))|0,c);yH(a,e+64|0,c);Mb=d;return}function HJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+672|0;e=d;Oh(e,b+(0-(c<<1))|0,c);zH(a,e+64|0,c);Mb=d;return}function IJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+672|0;e=d;Oh(e,b+(0-(c<<1))|0,c);AH(a,e+64|0,c);Mb=d;return}function JJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+672|0;e=d;Oh(e,b+(0-(c<<1))|0,c);BH(a,e+64|0,c);Mb=d;return}function KJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+672|0;e=d;Oh(e,b+(0-(c<<1))|0,c);CH(a,e+64|0,c);Mb=d;return}function LJ(a,b){a=a|0;b=b|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;a=Qu(a,72,e)|0;Xs(a,c[e>>2]|0,b+344|0)|0;Mb=d;return}function MJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+208|0;e=d;Gn(e,b+(0-(c<<1))|0,c);yg(a,e+32|0,c,16);Mb=d;return}function NJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+26364|0;a=c[e>>2]|0;c[d>>2]=a;if((c[e>>2]|0)!=3){if(!(b&1))c[d>>2]=a^3;b=b>>1}return b|0}function OJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+208|0;e=d;Gn(e,b+(0-(c<<1))|0,c);Of(a,e+32|0,c,16);Mb=d;return}function PJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+112|0;e=d;Ht(e,b+(0-(c<<1))|0,c);eh(a,e+16|0,c,8);Mb=d;return}function QJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+672|0;e=d;Oh(e,b+(0-(c<<1))|0,c);PH(a,e+64|0,c);Mb=d;return}function RJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+336|0;e=d;lo(e,b+(0-(c<<1))|0,c);WH(a,e+32|0,c);Mb=d;return}function SJ(a){a=a|0;var b=0,d=0;b=Mb;Mb=Mb+32|0;d=b;c[d>>2]=a;c[d+4>>2]=21523;c[d+8>>2]=b+16;a=(tP(U(54,d|0)|0)|0)==0&1;Mb=b;return a|0}function TJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+112|0;e=d;Ht(e,b+(0-(c<<1))|0,c);Xf(a,e+16|0,c,8);Mb=d;return}function UJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+672|0;e=d;Oh(e,b+(0-(c<<1))|0,c);QH(a,e+64|0,c);Mb=d;return}function VJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+336|0;e=d;lo(e,b+(0-(c<<1))|0,c);_H(a,e+32|0,c);Mb=d;return}function WJ(a){a=a|0;var b=0,d=0,e=0;d=a+4|0;e=c[d>>2]|0;b=(e+-256|0)>>>31;c[d>>2]=e<<b;b=c[a>>2]<<b;c[a>>2]=b;if(!(b&65535))iJ(a);return}function XJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=FD(e,f)|0;a=M()|0;return (L((H(b,f)|0)+(H(d,e)|0)+a|a&0|0),c|0|0)|0}function YJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+128|0;e=d;kg(e,b,16,c);$k(a,b+2|0,e,c,c,16,8);Mb=d;return}function ZJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+128|0;e=d;ng(e,b,16,c);$k(a,b+2|0,e,c,c,16,8);Mb=d;return}function _J(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+128|0;e=d;og(e,b,16,c);$k(a,b+2|0,e,c,c,16,8);Mb=d;return}function $J(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+80|0;e=d;Ps(e,b+(0-(c<<1))|0,c);ln(a,e+16|0,c);Mb=d;return}function aK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+80|0;e=d;Ps(e,b+(0-(c<<1))|0,c);nn(a,e+16|0,c);Mb=d;return}function bK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+80|0;e=d;Ps(e,b+(0-(c<<1))|0,c);on(a,e+16|0,c);Mb=d;return}function cK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+128|0;e=d;kg(e,b,16,c);zj(a,b+2|0,e,c,c,16,8);Mb=d;return}function dK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+128|0;e=d;ng(e,b,16,c);zj(a,b+2|0,e,c,c,16,8);Mb=d;return}function eK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+128|0;e=d;og(e,b,16,c);zj(a,b+2|0,e,c,c,16,8);Mb=d;return}function fK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+80|0;e=d;Ps(e,b+(0-(c<<1))|0,c);Bl(a,e+16|0,c);Mb=d;return}function gK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+80|0;e=d;Ps(e,b+(0-(c<<1))|0,c);Il(a,e+16|0,c);Mb=d;return}function hK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+80|0;e=d;Ps(e,b+(0-(c<<1))|0,c);Jl(a,e+16|0,c);Mb=d;return}function iK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=H(b,a)|0;if((a|0)!=0&(b|a)>>>0>65535?((e>>>0)/(a>>>0)|0|0)!=(b|0):0)a=-22;else{c[d>>2]=e;a=0}return a|0}function jK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;Xz(e,b+(0-(c<<1))|0,c);sr(a,e+8|0,c);Mb=d;return}function kK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;Xz(e,b+(0-(c<<1))|0,c);ur(a,e+8|0,c);Mb=d;return}function lK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;Xz(e,b+(0-(c<<1))|0,c);vr(a,e+8|0,c);Mb=d;return}function mK(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;e=d[a+((c*3|0)+-1)>>0]|0;Fm(a,b,c,d[a+(c+-1)>>0]|0,d[a+((c<<1)+-1)>>0]|0,e,e);return}function nK(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+40|0;a=a+36|0;d=b+1024|0;if((c[e>>2]|0)>>>0<b>>>0){b=Tu(c[a>>2]|0,d)|0;c[a>>2]=b;c[e>>2]=d}return}function oK(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Hj(b)|0;hM(b+100|0);hM(b+848|0);hM(b+304|0);hM(b+308|0);hM(b+520|0);hM(a)}return}function pK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(c[b+640>>2]&d|0?(Cv(a,b),(d|0)!=3):0){Ww(a,d);d=a+32|0;c[d>>2]=(c[d>>2]<<1)+e}return}function qK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;f=0-e|0;a=(c[a+16>>2]|0)-e|0;c[d>>2]=((f|0)>(b|0)?f:(a|0)<(b|0)?a:b)+e;return}function rK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+128|0;e=d;pg(e,b,16,c);$k(a,b+2|0,e,c,c,16,8);Mb=d;return}function sK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+80|0;e=d;Ps(e,b+(0-(c<<1))|0,c);qn(a,e+16|0,c);Mb=d;return}function tK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+128|0;e=d;pg(e,b,16,c);zj(a,b+2|0,e,c,c,16,8);Mb=d;return}function uK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+80|0;e=d;Ps(e,b+(0-(c<<1))|0,c);Nl(a,e+16|0,c);Mb=d;return}function vK(a){a=a|0;var b=0,d=0;d=a+4|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;NO(c[(c[a>>2]|0)+(b<<2)>>2]|0);b=b+1|0}c[a+8>>2]=0;return}function wK(a,b){a=a|0;b=b|0;var d=0;c[a+276>>2]=b;d=JP(b)|0;c[a+264>>2]=d;b=IP(b)|0;c[a+272>>2]=(c[a+260>>2]|0)==1?1:b;return}function xK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+48|0;e=d;Wz(e,b+(0-(c<<1))|0,c);Xn(a,e+8|0,c);Mb=d;return}function yK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;Xz(e,b+(0-(c<<1))|0,c);xr(a,e+8|0,c);Mb=d;return}function zK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;xI(e,b+(0-(c<<1))|0,c);rs(a,e+4|0,c);Mb=d;return}function AK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+48|0;e=d;Wz(e,b+(0-(c<<1))|0,c);fm(a,e+8|0,c);Mb=d;return}function BK(a){a=a|0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+76>>2]=32;c[a+84>>2]=0;c[a+102632>>2]=-1;c[a+14664>>2]=-1;a=a+20|0;c[a>>2]=-1;b[a+4>>1]=65535;return}function CK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+512|0;e=d;cE(e,b,32,c);NM(a,b+2|0,e,c,c);Mb=d;return}function DK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+512|0;e=d;dE(e,b,32,c);NM(a,b+2|0,e,c,c);Mb=d;return}function EK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+512|0;e=d;eE(e,b,32,c);NM(a,b+2|0,e,c,c);Mb=d;return}function FK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=YQ(40)|0;if(!e)e=0;else{c[e>>2]=a;g[e+8>>3]=1.0;c[e+20>>2]=b;c[e+24>>2]=d}return e|0}function GK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+512|0;e=d;cE(e,b,32,c);PM(a,b+2|0,e,c,c);Mb=d;return}function HK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+512|0;e=d;dE(e,b,32,c);PM(a,b+2|0,e,c,c);Mb=d;return}function IK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+512|0;e=d;eE(e,b,32,c);PM(a,b+2|0,e,c,c);Mb=d;return}function JK(a){a=a|0;var b=0;b=c[a+8>>2]|0;a=(c[a>>2]|0)+(b>>>3)|0;return (kS(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(b&7)>>>20|0}function KK(a,b){a=a|0;b=b|0;var c=0;c=Mb;Mb=Mb+16|0;b=dv(b,0,c)|0;if((b|0)==-1)b=-1;else{a=gJ(b,a,4)|0;jM(b)|0;b=a}Mb=c;return b|0}function LK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+64|0;e=d;Sg(e,b,8,c);bq(a,b+1|0,e,c,c,8,8);Mb=d;return}function MK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+64|0;e=d;Sg(e,b,8,c);No(a,b+1|0,e,c,c,8,8);Mb=d;return}function NK(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;nc[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function OK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+512|0;e=d;xE(e,b,32,c);NM(a,b+2|0,e,c,c);Mb=d;return}function PK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+256|0;e=d;ME(e,b,16,c);SM(a,b+1|0,e,c,c);Mb=d;return}function QK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+512|0;e=d;xE(e,b,32,c);PM(a,b+2|0,e,c,c);Mb=d;return}function RK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+256|0;e=d;ME(e,b,16,c);UM(a,b+1|0,e,c,c);Mb=d;return}function SK(a,b,e){a=a|0;b=b|0;e=e|0;a=oT(a)|0;if(!a)a=-38;else{c[b>>2]=d[a+5>>0];c[e>>2]=d[a+6>>0];a=0}return a|0}function TK(a,c,e){a=a|0;c=c|0;e=e|0;var f=0;f=0;while(1){if((f|0)==2)break;b[a>>1]=d[c>>0]|d[c+1>>0]<<8;f=f+1|0;c=c+e|0;a=a+e|0}return}function UK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+128|0;e=d;kg(e,b,16,c);$k(a,b,e,c,c,16,8);Mb=d;return}function VK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+128|0;e=d;ng(e,b,16,c);$k(a,b,e,c,c,16,8);Mb=d;return}function WK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+128|0;e=d;og(e,b,16,c);$k(a,b,e,c,c,16,8);Mb=d;return}function XK(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)==8)break;e=a+(H(d,b)|0)|0;c[e>>2]=-2122219135;c[e+4>>2]=-2122219135;d=d+1|0}return}function YK(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)==8)break;e=a+(H(d,b)|0)|0;c[e>>2]=-2139062144;c[e+4>>2]=-2139062144;d=d+1|0}return}function ZK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+128|0;e=d;kg(e,b,16,c);zj(a,b,e,c,c,16,8);Mb=d;return}function _K(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+128|0;e=d;ng(e,b,16,c);zj(a,b,e,c,c,16,8);Mb=d;return}function $K(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+128|0;e=d;og(e,b,16,c);zj(a,b,e,c,c,16,8);Mb=d;return}function aL(a){a=a|0;var b=0;b=c[a+8>>2]|0;a=(c[a>>2]|0)+(b>>>3)|0;return (kS(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(b&7)>>>31|0}function bL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;el(e,b,8,c);Sq(a,b+2|0,e,c,c);Mb=d;return}function cL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;jl(e,b,8,c);Sq(a,b+2|0,e,c,c);Mb=d;return}function dL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;kl(e,b,8,c);Sq(a,b+2|0,e,c,c);Mb=d;return}function eL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;Rp(e,b,4,c);pv(a,b+2|0,e,c,c);Mb=d;return}function fL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;Up(e,b,4,c);pv(a,b+2|0,e,c,c);Mb=d;return}function gL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;Vp(e,b,4,c);pv(a,b+2|0,e,c,c);Mb=d;return}function hL(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a=c[a>>2]|0;if(c[a+29656>>2]|0)Tg((c[a+25628>>2]|0)+24|0,b,d,e,f,g);return}function iL(a,b){a=a|0;b=b|0;var d=0,e=0;if(!((((b|0)==0?(e=c[a+12>>2]|0,(e|0)!=0):0)?(c[e+44>>2]|0)!=0:0)?(d=c[a+60>>2]|0,(d|0)!=0):0))d=0;return d|0}function jL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;el(e,b,8,c);sp(a,b+2|0,e,c,c);Mb=d;return}function kL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;jl(e,b,8,c);sp(a,b+2|0,e,c,c);Mb=d;return}function lL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;kl(e,b,8,c);sp(a,b+2|0,e,c,c);Mb=d;return}function mL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+128|0;e=d;pg(e,b,16,c);$k(a,b,e,c,c,16,8);Mb=d;return}function nL(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)==8)break;e=a+(H(d,b)|0)|0;c[e>>2]=2139062143;c[e+4>>2]=2139062143;d=d+1|0}return}function oL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+128|0;e=d;pg(e,b,16,c);zj(a,b,e,c,c,16,8);Mb=d;return}function pL(a){a=a|0;var b=0,d=0;d=0;while(1){if(d>>>0>=434){b=0;break}b=60496+(d*28|0)|0;if((c[b>>2]|0)==(a|0))break;else d=d+1|0}return b|0}function qL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;ll(e,b,8,c);Sq(a,b+2|0,e,c,c);Mb=d;return}function rL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;Vl(e,b,4,c);Dv(a,b+1|0,e,c,c);Mb=d;return}function sL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;_p(e,b,4,c);pv(a,b+2|0,e,c,c);Mb=d;return}function tL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;Dq(e,b,2,c);ox(a,b+1|0,e,c,c);Mb=d;return}function uL(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function vL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;ll(e,b,8,c);sp(a,b+2|0,e,c,c);Mb=d;return}function wL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;Vl(e,b,4,c);Pu(a,b+1|0,e,c,c);Mb=d;return}function xL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+512|0;e=d;cE(e,b,32,c);NM(a,b,e,c,c);Mb=d;return}function yL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+512|0;e=d;dE(e,b,32,c);NM(a,b,e,c,c);Mb=d;return}function zL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+512|0;e=d;eE(e,b,32,c);NM(a,b,e,c,c);Mb=d;return}function AL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+16|0;b=sj(a,b,c)|0;if((b|0)<0)Xw(a,16,185032,d);Mb=d;return b|0}function BL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+512|0;e=d;cE(e,b,32,c);PM(a,b,e,c,c);Mb=d;return}function CL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+512|0;e=d;dE(e,b,32,c);PM(a,b,e,c,c);Mb=d;return}function DL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+512|0;e=d;eE(e,b,32,c);PM(a,b,e,c,c);Mb=d;return}function EL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0;e=+f[d>>2];f[a>>2]=e*+f[b+((c&15)<<2)>>2];f[a+4>>2]=e*+f[b+((c>>>4&15)<<2)>>2];return a+8|0}function FL(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;i=i|0;lc[a&1](b|0,c|0,d|0,e|0,f|0,g|0,+h,i|0)}function GL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+64|0;e=d;Sg(e,b,8,c);bq(a,b,e,c,c,8,8);Mb=d;return}function HL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=0;while(1){if((b|0)==8)break;c[a>>2]=-2139062144;c[a+4>>2]=-2139062144;b=b+1|0;a=a+e|0}return}function IL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+64|0;e=d;Sg(e,b,8,c);No(a,b,e,c,c,8,8);Mb=d;return}function JL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+512|0;e=d;xE(e,b,32,c);NM(a,b,e,c,c);Mb=d;return}function KL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+256|0;e=d;ME(e,b,16,c);SM(a,b,e,c,c);Mb=d;return}function LL(a,b){a=a|0;b=b|0;var d=0,e=0;e=b+248|0;do{if(c[e>>2]|0){d=0;break}d=Mc(a,b)|0}while((d|0)>=0);return d|0}function ML(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+512|0;e=d;xE(e,b,32,c);PM(a,b,e,c,c);Mb=d;return}function NL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+256|0;e=d;ME(e,b,16,c);UM(a,b,e,c,c);Mb=d;return}function OL(a){a=a|0;a:do if(!(kU(a)|0)){switch(a|0){case 43:case 45:{a=1;break a}default:{}}a=(a|0)==46&1}else a=1;while(0);return a|0}function PL(){var a=0,b=0,d=0;d=Mb;Mb=Mb+16|0;b=d;a=Cb(84)|0;if(!(c[275863]|0)){c[b>>2]=a;Xw(0,48,202157,b);c[275863]=1}Mb=d;return a|0}function QL(a){a=a|0;var b=0,d=0;if((a|0?(b=c[a>>2]|0,b|0):0)?(c[a>>2]=0,d=b+32|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a|0)==1):0)Ku(b);return}function RL(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0;e=0;while(1){if((e|0)>=(d|0))break;f[a+(e<<2)>>2]=+f[b+(e<<2)>>2]*c;e=e+1|0}return}function SL(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0;e=0;while(1){if((e|0)>=(d|0))break;g[a+(e<<3)>>3]=+g[b+(e<<3)>>3]*c;e=e+1|0}return}function TL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;el(e,b,8,c);Sq(a,b,e,c,c);Mb=d;return}function UL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;jl(e,b,8,c);Sq(a,b,e,c,c);Mb=d;return}function VL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;kl(e,b,8,c);Sq(a,b,e,c,c);Mb=d;return}function WL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;Rp(e,b,4,c);pv(a,b,e,c,c);Mb=d;return}function XL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;Up(e,b,4,c);pv(a,b,e,c,c);Mb=d;return}function YL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;Vp(e,b,4,c);pv(a,b,e,c,c);Mb=d;return}function ZL(a){a=a|0;var b=0;b=0;while(1){if(b>>>0>=36){b=-1094995529;break}if(!(c[(c[a+696+(b*656|0)>>2]|0)+248>>2]|0))break;b=b+1|0}return b|0}function _L(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;el(e,b,8,c);sp(a,b,e,c,c);Mb=d;return}function $L(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;jl(e,b,8,c);sp(a,b,e,c,c);Mb=d;return}function aM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;kl(e,b,8,c);sp(a,b,e,c,c);Mb=d;return}function bM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;ll(e,b,8,c);Sq(a,b,e,c,c);Mb=d;return}function cM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;Vl(e,b,4,c);Dv(a,b,e,c,c);Mb=d;return}function dM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;_p(e,b,4,c);pv(a,b,e,c,c);Mb=d;return}function eM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;Dq(e,b,2,c);ox(a,b,e,c,c);Mb=d;return}function fM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;ll(e,b,8,c);sp(a,b,e,c,c);Mb=d;return}function gM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;Vl(e,b,4,c);Pu(a,b,e,c,c);Mb=d;return}function hM(b){b=b|0;var c=0;c=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;gV(c);return}function iM(a){a=a|0;c[a>>2]=693;c[a+4>>2]=138;c[a+8>>2]=117;c[a+12>>2]=139;c[a+16>>2]=140;c[a+20>>2]=1;c[a+24>>2]=118;c[a+28>>2]=119;return}function jM(a){a=a|0;var b=0,d=0;b=Mb;Mb=Mb+16|0;d=b;a=lV(a)|0;c[d>>2]=a;a=V(6,d|0)|0;a=tP((a|0)==-4?0:a)|0;Mb=b;return a|0}function kM(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=i|0;j=+j;k=+k;l=l|0;m=m|0;K(12);return 0}function lM(a){a=a|0;var c=0,d=0,e=0;c=0;d=0;while(1){if((c|0)==64)break;e=b[a+(c<<1)>>1]|0;c=c+1|0;d=((e|0)>-1?e:0-e|0)+d|0}return d|0}function mM(a){a=a|0;var b=0,d=0;b=Mb;Mb=Mb+16|0;d=b;a=lV(c[a+60>>2]|0)|0;c[d>>2]=a;a=tP(V(6,d|0)|0)|0;Mb=b;return a|0}function nM(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return bc[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function oM(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)>(b|0))return ((c|0)>(b|0)?((c|0)>(a|0)?a:c):b)|0;else return ((b|0)>(c|0)?((c|0)>(a|0)?c:a):b)|0;return 0}function pM(a){a=a|0;var b=0;b=a<<24>>24;if((a+-48&255)>=10)if((a+-97&255)<6)a=-87;else return ((a+-65&255)<6?b+-55|0:-1)|0;else a=-48;return a+b|0}function qM(a,b){a=a|0;b=b|0;var d=0;d=(b|0)==0?0:512;c[a>>2]=b;c[a+12>>2]=d;c[a+16>>2]=d|8;c[a+4>>2]=b+(d>>>3);c[a+8>>2]=0;return}function rM(a,b){a=a|0;b=b|0;var d=0;d=(b|0)==0?0:56;c[a>>2]=b;c[a+12>>2]=d;c[a+16>>2]=d+8;c[a+4>>2]=b+(d>>>3);c[a+8>>2]=0;return}function sM(a){a=a|0;var b=0;b=a;c[b>>2]=0;c[b+4>>2]=0;c[a+72>>2]=271733878;c[a+76>>2]=-1732584194;c[a+80>>2]=-271733879;c[a+84>>2]=1732584193;return}function tM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Mb;Mb=Mb+16|0;g=f;c[g>>2]=e;e=Vq(a,b,d,g)|0;Mb=f;return e|0}function uM(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;mc[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function vM(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){VS(b+24|0);hM(b+16|0);hM(b+20|0);hM(b+96|0);hM(b+92|0);hM(a)}return}function wM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Mb;Mb=Mb+16|0;f=e;c[f>>2]=d;qJ(0,a,b,f);Mb=e;return}function xM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=hu(a)|0;if((d+1|0)>>>0<c>>>0)a=lD(a+d|0,b,c-d|0)|0;else a=hu(b)|0;return a+d|0}function yM(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b|0?(Iu(b),d=c[b+13448>>2]|0,d|0):0)dc[c[d+4>>2]&31](b+13444|0);hM(a);return}function zM(a){a=a|0;var b=0,c=0;c=(a^85)&255;a=c>>>4&7;b=c<<1&30;if(!a)a=b<<3|8;else a=(b|33)<<a+2;return ((c&128|0)==0?0-a|0:a)|0}function AM(a,b){a=a|0;b=b|0;var d=0;d=Hz(a,4)|0;c[b>>2]=d;if((d|0)==15)a=Hz(a,24)|0;else a=c[76368+(d<<2)>>2]|0;return a|0}function BM(a){a=a|0;if(a)if((c[a+80>>2]|0)==0?(c[a+84>>2]|0)==0:0)a=(c[a+96>>2]|0)!=0&1;else a=1;else a=0;return a|0}function CM(a){a=a|0;var b=0,e=0;b=a+16|0;e=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-65535+((d[e+1>>0]|0)<<1|(d[e>>0]|0)<<9);c[b>>2]=e+2;return}function DM(a,b){a=a|0;b=b|0;b=d[88656+b>>0]|0;b=(d[b+-8+(a+27824)>>0]|0)+(d[b+-1+(a+27824)>>0]|0)|0;return (b>>>0<64?(b+1|0)>>>1:b)&31|0}function EM(a,b){a=a|0;b=b|0;var d=0;d=wc(6448)|0;if(!d)d=0;else{Wp(d|0,0,6448)|0;c[d+6432>>2]=a;c[d+6436>>2]=b}return d|0}function FM(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L(b>>c|0);return a>>>c|(b&(1<<c)-1)<<32-c}L(((b|0)<0?-1:0)|0);return b>>c-32|0}function GM(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0;e=c*134217729.0;e=e+(c-e);d=c-e;c=c*c;g[a>>3]=c;g[b>>3]=d*d+(e*e-c+e*2.0*d);return}function HM(a,b,d){a=a|0;b=b|0;d=d|0;b=c[a+(0-d)>>2]|0;c[a>>2]=b;c[a+d>>2]=b;c[a+(d<<1)>>2]=b;c[a+(d*3|0)>>2]=b;return}function IM(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;ic[a&1](b|0,c|0,d|0,e|0,+f,g|0,h|0)}function JM(a){a=+a;a=+zT(+a);L((+u(a)>=1.0?(a>0.0?~~+I(+t(a/4294967296.0),4294967295.0)>>>0:~~+G((a-+(~~a>>>0))/4294967296.0)>>>0):0)|0);return ~~a>>>0|0}function KM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Mb;Mb=Mb+16|0;f=e;c[f>>2]=d;qJ(1,a,b,f);Mb=e;return}function LM(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=-2122219135;c[a+d>>2]=-2122219135;c[a+(d<<1)>>2]=-2122219135;c[a+(d*3|0)>>2]=-2122219135;return}function MM(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=-2139062144;c[a+d>>2]=-2139062144;c[a+(d<<1)>>2]=-2139062144;c[a+(d*3|0)>>2]=-2139062144;return}function NM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;$k(a,b,c,d,e,32,16);$k(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function OM(a){a=+a;a=+QD(a);L((+u(a)>=1.0?(a>0.0?~~+I(+t(a/4294967296.0),4294967295.0)>>>0:~~+G((a-+(~~a>>>0))/4294967296.0)>>>0):0)|0);return ~~a>>>0|0}function PM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;zj(a,b,c,d,e,32,16);zj(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function QM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+96|0;e=d;sM(e);Nn(e,b,c);ys(e,a);Mb=d;return}function RM(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=2139062143;c[a+d>>2]=2139062143;c[a+(d<<1)>>2]=2139062143;c[a+(d*3|0)>>2]=2139062143;return}function SM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;bq(a,b,c,d,e,16,16);bq(a+8|0,b+8|0,c+8|0,d,e,16,16);return}function TM(b,c){b=b|0;c=c|0;var d=0;d=0;while(1){if((d|0)>=(c|0))break;if(!(a[b+d>>0]|0))break;d=d+1|0}return d|0}function UM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;No(a,b,c,d,e,16,16);No(a+8|0,b+8|0,c+8|0,d,e,16,16);return}function VM(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)!=0?(2147483647/(c>>>0)|0)>>>0>b>>>0:0)a=MO(a,H(c,b)|0)|0;else a=0;return a|0}function WM(){cz(162700);cz(163340);cz(162864);cz(163036);cz(163164);hN(163296);hN(162656);return}function XM(a,b){a=a|0;b=+b;var d=0;d=a+152|0;f[d>>2]=+f[d>>2]-b;d=a+184|0;f[d>>2]=+f[d>>2]-b;c[a+192>>2]=1;return}function YM(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return $b[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function ZM(a){a=a|0;var b=0;b=0;while(1){if(b>>>0>=12){b=-1;break}if(!(Ry(148416+(b*20|0)|0,a)|0))break;b=b+1|0}return b|0}function _M(a,b){a=a|0;b=b|0;rk(a|0,b|0,400)|0;if((c[b+64>>2]|0)==(b|0))c[a+64>>2]=a;Wp(b|0,0,400)|0;vq(b);return}function $M(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[(c[(c[a+64>>2]|0)+20>>2]|0)+8>>2]=b;return Wu(a,0,d,e,f,0)|0}function aN(a){a=a|0;var b=0,c=0;if((a|0)!=0?(c=(hu(a)|0)+1|0,b=MO(0,c)|0,(b|0)!=0):0)rk(b|0,a|0,c|0)|0;else b=0;return b|0}function bN(a){a=a|0;var b=0;a=c[a>>2]|0;b=a+1664|0;c[b>>2]=0;c[b+4>>2]=-2147483648;c[a+1672>>2]=2147483647;Rd(a+1208|0,8,1);return 0}function cN(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L(b<<c|(a&(1<<c)-1<<32-c)>>>32-c|0);return a<<c}L(a<<c-32|0);return 0}function dN(b){b=b|0;var c=0;while(1){c=a[b>>0]|0;if(!(c<<24>>24))break;if((c&255)<8|(c+-14&255)<18)a[b>>0]=63;b=b+1|0}return}function eN(){var a=0,b=0;a=0;while(1){if((a|0)==512)break;b=a+-256|0;b=H(b,b)|0;c[1045600+(a<<2)>>2]=b;a=a+1|0}return}function fN(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[b+21844>>2]|0))$c(a,b,d);else Lc(a,b,d);return}function gN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Mb;Mb=Mb+16|0;f=e;c[f>>2]=d;d=HS(a,b,f)|0;Mb=e;return d|0}function hN(a){a=a|0;var b=0,d=0;b=a+40|0;do{d=c[275836]|0;c[b>>2]=d}while((d|0)!=(EP(d,a)|0));return}function iN(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;return Wb[a&1](b|0,+c,d|0,e|0,f|0,g|0)|0}function jN(a,b){a=a|0;b=b|0;var d=0;d=c[(c[a>>2]|0)+24>>2]|0;if(!d)a=0;else a=Xb[d&15](a,b)|0;return a|0}function kN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Mb;Mb=Mb+16|0;f=e;c[f>>2]=d;d=RH(a,b,f)|0;Mb=e;return d|0}function lN(a){a=a|0;var b=0;b=jx(1016)|0;if(b){if((Ci(b,a)|0)<0){gV(b);b=0}}else b=0;return b|0}function mN(a,b){a=a|0;b=b|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;c[e>>2]=b;b=HS(c[41014]|0,a,e)|0;Mb=d;return b|0}function nN(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;kc[a&63](b|0,c|0,d|0,e|0,f|0,g|0)}function oN(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L(b>>>c|0);return a>>>c|(b&(1<<c)-1)<<32-c}L(0);return b>>>c-32|0}function pN(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;f=Ne(a,b,c,d,e,f,5)|0;L(M()|0);return f|0}function qN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+832|0;De(a,d,b,c,16,c);Mb=d;return}function rN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+832|0;Ee(a,d,b,c,16,c);Mb=d;return}function sN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+416|0;Yd(a,d,b,c,16,c);Mb=d;return}function tN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+832|0;re(a,d,b,c,16,c);Mb=d;return}function uN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+832|0;se(a,d,b,c,16,c);Mb=d;return}function vN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+416|0;Jd(a,d,b,c,16,c);Mb=d;return}function wN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+2688|0;Ux(a,d,b,c,c);Mb=d;return}function xN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+2688|0;Vx(a,d,b,c,c);Mb=d;return}function yN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+1344|0;Wx(a,d,b,c,c);Mb=d;return}function zN(a){a=a|0;var b=0,e=0;b=a+8|0;e=c[b>>2]|0;a=(d[(c[a>>2]|0)+(e>>>3)>>0]|0)<<(e&7)>>>7&1;c[b>>2]=e+1;return a|0}function AN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+2688|0;Zx(a,d,b,c,c);Mb=d;return}function BN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+2688|0;_x(a,d,b,c,c);Mb=d;return}function CN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+1344|0;$x(a,d,b,c,c);Mb=d;return}function DN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+416|0;ie(a,d,b,c,16,c);Mb=d;return}function EN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+416|0;Pd(a,d,b,c,16,c);Mb=d;return}function FN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+208|0;pe(a,d,b,c,8,c);Mb=d;return}function GN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+1344|0;hy(a,d,b,c,c);Mb=d;return}function HN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+208|0;Xd(a,d,b,c,8,c);Mb=d;return}function IN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+1344|0;iy(a,d,b,c,c);Mb=d;return}function JN(a,b){a=a|0;b=b|0;if((b|0)!=0?(2147483647/(b>>>0)|0)>>>0>a>>>0:0)a=jx(H(b,a)|0)|0;else a=0;return a|0}function KN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+288|0;ni(a,d,b,c,c);Mb=d;return}function LN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+288|0;qi(a,d,b,c,c);Mb=d;return}function MN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+144|0;Og(a,d,b,c,c);Mb=d;return}function NN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+112|0;Yl(a,d,b,c,c);Mb=d;return}function ON(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+112|0;am(a,d,b,c,c);Mb=d;return}function PN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+672|0;vy(a,d,b,c,c);Mb=d;return}function QN(a){a=a|0;var b=0,d=0;if(!(((a|0)!=0?(d=c[a+12>>2]|0,(d|0)!=0):0)?(b=c[d>>2]|0,(b|0)!=0):0))b=184280;return b|0}function RN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+288|0;sh(a,d,b,c,c);Mb=d;return}function SN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+288|0;th(a,d,b,c,c);Mb=d;return}function TN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+144|0;hg(a,d,b,c,c);Mb=d;return}function UN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+672|0;wy(a,d,b,c,c);Mb=d;return}function VN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+64|0;Yk(a,d,b,c,c);Mb=d;return}function WN(a,b){a=a|0;b=b|0;if((c[(c[a+28200>>2]|0)+12>>2]|0)==3)uc(a,b);else vc(a,b);return}function XN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+144|0;ih(a,d,b,c,c);Mb=d;return}function YN(){var a=0,b=0;a=Mb;Mb=Mb+16|0;b=a;wU();xU(-8);c[b>>2]=164556;mN(164701,b)|0;Mb=a;return 0}function ZN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+144|0;Ig(a,d,b,c,c);Mb=d;return}function _N(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+80|0;Bh(a,d,b,c,c);Mb=d;return}function $N(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+64|0;sl(a,d,b,c,c);Mb=d;return}function aO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+32|0;Wl(a,d,b,c,c);Mb=d;return}function bO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+80|0;Wg(a,d,b,c,c);Mb=d;return}function cO(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=d;c[b+4>>2]=0;c[b+8>>2]=e;c[b+12>>2]=e;a[d>>0]=0;return}function dO(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=(c[b>>2]|0)+(8-1)&~(8-1);d=+g[e>>3];c[b>>2]=e+8;g[a>>3]=d;return}function eO(a){a=a|0;if(a)if(!(c[a+88>>2]|0))a=(c[a+104>>2]|0)!=0&1;else a=1;else a=0;return a|0}function fO(a,b){a=a|0;b=b|0;return (d[a+(b+1)>>0]|0)<<16|(d[a+b>>0]|0)<<24|(d[a+(b+2)>>0]|0)<<8|(d[a+(b+3)>>0]|0)|0}function gO(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[a+16>>2]|0;b=(c[d>>2]|0)+b|0;c[d>>2]=a>>>0>b>>>0?b:a;return}function hO(a){a=a|0;var b=0,c=0;b=(hu(a)|0)+1|0;c=wc(b)|0;if(!c)a=0;else a=rk(c|0,a|0,b|0)|0;return a|0}function iO(a,b){a=a|0;b=b|0;if((b|0)!=0?(2147483647/(b>>>0)|0)>>>0>a>>>0:0)a=YQ(H(b,a)|0)|0;else a=0;return a|0}function jO(b,c){b=b|0;c=c|0;var d=0;d=0;while(1){if((d|0)==17)break;a[c+d>>0]=0;a[b+d>>0]=0;d=d+1|0}return}function kO(a,b){a=a|0;b=b|0;var c=0;c=SO(a|0,b|0,-1,-1)|0;return ((a|0)==0&(b|0)==0|((c&a|0)!=0|((M()|0)&b|0)!=0))&1|0}function lO(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return _b[a&63](b|0,c|0,d|0,e|0,f|0)|0}function mO(a,b){a=a|0;b=b|0;hQ(a,b);a=a+(b<<2)|0;my(a,0,b);my(a+8|0,0,b);return}function nO(a,b){a=a|0;b=b|0;hQ(a,b);a=a+(b<<2)|0;ny(a,0,b);ny(a+8|0,0,b);return}function oO(a,b){a=a|0;b=b|0;hQ(a,b);a=a+(b<<2)|0;My(a,0,b);My(a+8|0,0,b);return}function pO(a,b,d){a=a|0;b=b|0;d=d|0;c[a+192>>2]=0;c[a>>2]=b;c[a+4>>2]=d;cr(a);AQ(a);return 0}function qO(a,b){a=a|0;b=b|0;if((b|0)==0?(c[(c[a+4>>2]|0)+8>>2]|0)!=0:0)a=c[a+12>>2]|0;else a=0;return a|0}function rO(a,b){a=a|0;b=b|0;$o(a,b);a=a+(b<<2)|0;my(a,0,b);my(a+8|0,0,b);return}function sO(a,b){a=a|0;b=b|0;$o(a,b);a=a+(b<<2)|0;ny(a,0,b);ny(a+8|0,0,b);return}function tO(a,b){a=a|0;b=b|0;$o(a,b);a=a+(b<<2)|0;My(a,0,b);My(a+8|0,0,b);return}function uO(a){a=a|0;if(!(c[(c[a>>2]|0)+20>>2]&1))a=(c[(c[a>>2]|0)+8>>2]|0)==1&1;else a=0;return a|0}function vO(a,b){a=a|0;b=b|0;hQ(a,b);a=a+(b<<2)|0;Py(a,0,b);Py(a+8|0,0,b);return}function wO(a,b){a=a|0;b=b|0;iQ(a,b);a=a+(b<<2)|0;MM(a,0,b);MM(a+4|0,0,b);return}function xO(a){a=a|0;if(a>>>0<=11){if(3040>>>a&1)a=c[148416+(a*20|0)+16>>2]|0}else a=-1;return a|0}function yO(a,b){a=a|0;b=b|0;$o(a,b);a=a+(b<<2)|0;Py(a,0,b);Py(a+8|0,0,b);return}function zO(a,b){a=a|0;b=b|0;Rr(a,b);a=a+(b<<2)|0;MM(a,0,b);MM(a+4|0,0,b);return}function AO(a){a=a|0;switch(a|0){case 12:{a=0;break}case 13:{a=4;break}case 14:{a=5;break}default:{}}return a|0}function BO(a){a=a|0;var b=0;b=0-(sU(a)|0)&7;if(b|0)fS(a,b);return (c[a>>2]|0)+(c[a+8>>2]>>3)|0}function CO(a){a=a|0;var b=0,d=0;b=a+8|0;a=c[a+16>>2]|0;d=(c[b>>2]|0)+1|0;c[b>>2]=a>>>0>d>>>0?d:a;return}function DO(a){a=a|0;if(a>>>0<=11){if(!(3040>>>a&1))a=c[148416+(a*20|0)+16>>2]|0}else a=-1;return a|0}function EO(a,b){a=a|0;b=b|0;if((2147483647/(b>>>0)|0)>>>0>a>>>0)a=YQ(H(b,a)|0)|0;else a=0;return a|0}function FO(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;K(27)}function GO(a,b){a=a|0;b=b|0;if((2147483647/(b>>>0)|0)>>>0>a>>>0)a=jx(H(b,a)|0)|0;else a=0;return a|0}function HO(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;jc[a&127](b|0,c|0,d|0,e|0,f|0)}function IO(a,b){a=a|0;b=b|0;a=c[a+28>>2]|0;if(!a)a=0;else a=Vb[a&31](b)|0;return a|0}function JO(a){a=a|0;var b=0,d=0;b=a+8|0;a=c[a+16>>2]|0;d=(c[b>>2]|0)+2|0;c[b>>2]=a>>>0>d>>>0?d:a;return}function KO(a){a=a|0;var b=0;b=LH(a)|0;if(!b)b=0;else Wp(c[b+4>>2]|0,0,a|0)|0;return b|0}function LO(a){a=a|0;switch(a|0){case 9:case 10:case 12:case 13:case 32:{a=1;break}default:a=(a|0)==11&1}return a|0}function MO(a,b){a=a|0;b=b|0;if((2147483647+-32|0)>>>0<b>>>0)a=0;else a=Tu(a,((b|0)==0&1)+b|0)|0;return a|0}function NO(a){a=a|0;var b=0;b=c[a>>2]|0;c[a+4>>2]=b;c[a+8>>2]=b;c[a+16>>2]=0;c[a+20>>2]=0;return}function OO(a){a=a|0;c[a+6744>>2]=14;c[a+6748>>2]=15;c[a+6752>>2]=43;c[a+6756>>2]=44;c[a+6760>>2]=16;return}function PO(a,b){a=a|0;b=b|0;if(a>>>0<9){b=wc(b)|0;return b|0}else{b=dl(a,b)|0;return b|0}return 0}function QO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (L(d|0),a-c>>>0|0)|0}function RO(a){a=a|0;if(!(c[a+808>>2]&1))yv(a);else Fg(a,c[a+800>>2]|0);return}function SO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (L(b+d+(c>>>0<a>>>0|0)>>>0|0),c|0)|0}function TO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a>>2]|0;if((e|0)==(b|0))c[a>>2]=d;return e|0}function UO(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;L(c[h+4>>2]|0);return b|0}function VO(a,b){a=a|0;b=b|0;hQ(a,b);my(a,0,b);my(a+8|0,0,b);return}function WO(a,b){a=a|0;b=b|0;hQ(a,b);ny(a,0,b);ny(a+8|0,0,b);return}function XO(a,b){a=a|0;b=b|0;hQ(a,b);My(a,0,b);My(a+8|0,0,b);return}function YO(a,b){a=a|0;b=b|0;if((c[a>>2]|0)==324508639)return 0;cc[b&31]();c[a>>2]=324508639;return 0}function ZO(a,b){a=a|0;b=b|0;$o(a,b);my(a,0,b);my(a+8|0,0,b);return}function _O(a,b){a=a|0;b=b|0;$o(a,b);ny(a,0,b);ny(a+8|0,0,b);return}function $O(a,b){a=a|0;b=b|0;$o(a,b);My(a,0,b);My(a+8|0,0,b);return}function aP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Zb[a&7](b|0,c|0,d|0,e|0)|0}function bP(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;K(26)}function cP(a,b){a=a|0;b=b|0;hQ(a,b);Py(a,0,b);Py(a+8|0,0,b);return}function dP(a,b){a=a|0;b=b|0;iQ(a,b);MM(a,0,b);MM(a+4|0,0,b);return}function eP(a,b){a=a|0;b=b|0;$o(a,b);Py(a,0,b);Py(a+8|0,0,b);return}function fP(a,b){a=a|0;b=b|0;Rr(a,b);MM(a,0,b);MM(a+4|0,0,b);return}function gP(a){a=a|0;ZI(a);QS(a);Iw(a);c[a+24>>2]=0;c[a+28>>2]=0;return}function hP(){var a=0;a=YQ(400)|0;if(!a)a=0;else{c[a+64>>2]=0;vq(a)}return a|0}function iP(a){a=a|0;var b=0;b=~a&255;a=(b<<3&120|132)<<(b>>>4&7);return ((b&128|0)==0?a+-132|0:132-a|0)|0}function jP(){var a=0;a=mD(1,28)|0;ha(5,a|0)|0;f[a+8>>2]=1.0;c[a+4>>2]=4096;return a|0}function kP(a,b){a=a|0;b=b|0;var d=0;d=mD(1,196)|0;c[d>>2]=a;c[d+4>>2]=b;vj(d);return d|0}function lP(a){a=a|0;a=c[a+12>>2]|0;if((a|0)!=0?(c[a+88>>2]|0)!=0:0)a=6;else a=5;return a|0}function mP(a,b){a=a|0;b=b|0;return (d[a+(b+1)>>0]|0)<<8|(d[a+b>>0]|0)<<16|(d[a+(b+2)>>0]|0)|0}function nP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;hc[a&255](b|0,c|0,d|0,e|0)}function oP(a,b,c){a=a|0;b=b|0;c=c|0;hr(a,b,c,16);hr(a+16|0,b+16|0,c,16);return}function pP(a,b,c){a=a|0;b=b|0;c=c|0;gp(a,b,c,16);gp(a+16|0,b+16|0,c,16);return}function qP(a,b,c){a=a|0;b=b|0;c=c|0;gx(a,b,c,16);gx(a+8|0,b+8|0,c,16);return}function rP(a,b,c){a=a|0;b=b|0;c=c|0;gv(a,b,c,16);gv(a+8|0,b+8|0,c,16);return}function sP(a){a=a|0;var b=0;b=Hz(a,5)|0;if((b|0)==31)b=(Hz(a,6)|0)+32|0;return b|0}function tP(a){a=a|0;var b=0;if(a>>>0>4294963200){b=pV()|0;c[b>>2]=0-a;a=-1}return a|0}function uP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return hn(a,b,-1,2147483647,-1,c,d)|0}function vP(a,b){a=a|0;b=b|0;a=Po(a,b)|0;if((a|0)<0)gP(b);return a|0}function wP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;fc[a&7](b|0,c|0,+d,e|0)}function xP(a){a=a|0;Ua(3,a+28|0);UI(165865)|0;c[a+44>>2]=0;c[a+48>>2]=0;return}function yP(){var a=0;a=YQ(136)|0;if(!a)a=0;else Qv(a);return a|0}function zP(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;K(25)}function AP(a){a=a|0;var b=0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return 0}function BP(a){a=a|0;var b=0;b=c[a>>2]|0;QS(b+16|0);qC(b+12|0);hM(a);return}function CP(a){a=a|0;hM(a+62608|0);hM(a+62612|0);hM(a+62620|0);hM(a+62616|0);return}function DP(a,b,c){a=a|0;b=b|0;c=c|0;c=Mu(a,b,c,0,-2147483648)|0;L(M()|0);return c|0}function EP(a,b){a=a|0;b=b|0;var d=0;d=c[275836]|0;if((d|0)==(a|0))c[275836]=b;return d|0}function FP(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Qv(b);hM(a)}return}function GP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return qw(a,b,1.0,1,c,d,e)|0}function HP(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;K(23)}function IP(a){a=a|0;if(a>>>0>11)a=0;else a=c[148416+(a*20|0)+12>>2]|0;return a|0}function JP(a){a=a|0;if(a>>>0>11)a=0;else a=c[148416+(a*20|0)+8>>2]>>3;return a|0}function KP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return pm(a,b,c,d,12,25,203390)|0}function LP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return pm(a,b,c,d,356,24,203507)|0}function MP(a,b){a=a|0;b=b|0;b=b-(sU(a)|0)&7;if(b|0)gO(a,b);return}function NP(a){a=a|0;var b=0;if(a|0?(b=c[a>>2]|0,b|0):0){gP(b);hM(a)}return}function OP(a,b){a=a|0;b=b|0;a=kS(a|0)|0;b=kS(b|0)|0;L(a|0);return b|0}function PP(a,b){a=a|0;b=b|0;c[a>>2]=1;b=Hz(b,8)|0;c[a+4>>2]=b;return}function QP(a){a=a|0;var b=0;if(a|0?(b=c[a>>2]|0,b|0):0){av(b);hM(a)}return}function RP(a){a=a|0;c[a>>2]=3;c[a+4>>2]=102;c[a+8>>2]=6;c[a+12>>2]=103;return}function SP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;K(13);return 0}function TP(a){a=a|0;a=c[a>>2]|0;hM(a);II(a+1388|0);JB(a+40|0);return}function UP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return fk(a,b,c,d,e,0)|0}function VP(a,b){a=a|0;b=b|0;hM(b);a=aN(a)|0;c[b>>2]=a;return ((a|0)==0?-12:0)|0}function WP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Yb[a&15](b|0,c|0,d|0)|0}function XP(a){a=a|0;if((a+-1|0)>>>0>429496728)a=0;else a=jx(a<<2)|0;return a|0}function YP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(143)Ki(a,b,c,d);return}function ZP(a){a=a|0;if(a>>>0<356)a=c[93808+(a*152|0)>>2]|0;else a=0;return a|0}function _P(a,b){a=a|0;b=b|0;return Xb[c[(c[a+4>>2]|0)+20>>2]&15](a,b)|0}function $P(a){a=a|0;if(a>>>0<23)a=c[147920+(a<<2)>>2]|0;else a=0;return a|0}function aQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +Ub[a&1](b|0,c|0,d|0)}function bQ(b,c){b=b|0;c=c|0;b=dp(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function cQ(a,b){a=a|0;b=b|0;var c=0;c=hu(a)|0;return ((mA(a,1,c,b)|0)!=(c|0))<<31>>31|0}function dQ(a){a=a|0;if(a>>>0<19)a=c[148016+(a<<2)>>2]|0;else a=0;return a|0}function eQ(){var a=0;a=YQ(83192)|0;if(a|0){c[a>>2]=163976;YT(a)}return a|0}function fQ(a,b,c){a=a|0;b=b|0;c=c|0;return fr(a,b,LH(c)|0)|0}function gQ(a,b,c){a=a|0;b=b|0;c=c|0;c=Mu(a,b,c,-2147483648,0)|0;M()|0;return c|0}function hQ(a,b){a=a|0;b=b|0;$o(a,b);$o(a+(b<<3)|0,b);return}function iQ(a,b){a=a|0;b=b|0;Rr(a,b);Rr(a+(b<<3)|0,b);return}function jQ(a,b){a=a|0;b=b|0;AD(a,b);AD(a+(b<<3)|0,b);return}function kQ(a,b){a=a|0;b=b|0;BD(a,b);BD(a+(b<<3)|0,b);return}function lQ(a,b){a=a|0;b=b|0;HD(a,b);HD(a+(b<<3)|0,b);return}function mQ(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))ko(b,d,a)|0;return}function nQ(a){a=a|0;Vb[c[(c[(c[a+64>>2]|0)+20>>2]|0)+12>>2]&31](a)|0;return}function oQ(a){a=a|0;a=Fd(a)|0;UT(817920,c[a+4>>2]|0)|0;TH(a);return 817920}function pQ(b,d,e){b=b|0;d=d|0;e=e|0;a[e+243>>0]=(c[d>>2]|0)!=0&1;return 0}function qQ(a){a=a|0;if(a>>>0>6100804)a=0;else a=YQ(a*352|0)|0;return a|0}function rQ(a){a=a|0;if(a>>>0<15)a=c[148096+(a<<2)>>2]|0;else a=0;return a|0}function sQ(a,b,c){a=a|0;b=b|0;c=c|0;return FH(a,b,c>>>0>268435455?-8:c<<3)|0}function tQ(a,b,d){a=a|0;b=b|0;d=d|0;ha(1,c[d+96>>2]|0)|0;return 0}function uQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;gc[a&1023](b|0,c|0,d|0)}function vQ(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;K(24)}function wQ(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){hM(b+4|0);hM(a)}return}function xQ(a,b){a=a|0;b=b|0;KD(a,b);KD(a+(b<<3)|0,b);return}function yQ(a,b){a=a|0;b=b|0;YK(a,b);YK(a+(b<<3)|0,b);return}function zQ(a,b){a=a|0;b=b|0;dc[c[80400+((c[a>>2]|0)+-2<<2)>>2]&31](b);return}function AQ(a){a=a|0;Ka(34962,c[a+124>>2]|0);Ma(34962,64,a+128|0,35044);return}function BQ(a){a=a|0;var b=0;b=0-(sU(a)|0)&7;if(b|0)gO(a,b);return}function CQ(a){a=a|0;if(a>>>0>35)a=0;else a=c[90736+(a<<3)>>2]|0;return a|0}function DQ(a){a=a|0;if(a>>>0>268435454)a=0;else a=jx(a<<3)|0;return a|0}function EQ(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;K(20)}function FQ(a){a=a|0;WQ(a);vR(a+524288|0);vR(a+786432|0);Re(a,555776,16384);return}function GQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sf(a,b,c,d)|0}function HQ(a){a=a|0;if(a>>>0>536870910)a=0;else a=jx(a<<2)|0;return a|0}function IQ(a){a=a|0;if(a>>>0>178956969)a=0;else a=jx(a*12|0)|0;return a|0}function JQ(a){a=a|0;var b=0;b=Mb;Mb=Mb+a|0;Mb=Mb+15&-16;return b|0}function KQ(a,b,c){a=a|0;b=b|0;c=c|0;cE(a,b,c,c);return}function LQ(a,b,c){a=a|0;b=b|0;c=c|0;dE(a,b,c,c);return}function MQ(a,b,c){a=a|0;b=b|0;c=c|0;eE(a,b,c,c);return}function NQ(a){a=a|0;var b=0;b=c[a+6440>>2]|0;if(b|0)nd(b);nd(a);return}function OQ(a,b,d){a=a|0;b=b|0;d=d|0;rk(c[a>>2]|0,c[b>>2]|0,d<<3|0)|0;return}function PQ(a,b,d){a=a|0;b=b|0;d=d|0;rk(c[a>>2]|0,c[b>>2]|0,d<<2|0)|0;return}function QQ(a,b,d){a=a|0;b=b|0;d=d|0;rk(c[a>>2]|0,c[b>>2]|0,d<<1|0)|0;return}function RQ(a,b,c){a=a|0;b=b|0;c=c|0;fE(a,b,c,c);return}function SQ(a,b,c){a=a|0;b=b|0;c=c|0;gE(a,b,c,c);return}function TQ(a,b,c){a=a|0;b=b|0;c=c|0;hE(a,b,c,c);return}function UQ(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Fo(a,b,0)|0;return a|0}function VQ(a,b,c){a=a|0;b=b|0;c=c|0;c=Mu(a,b,c,-1,0)|0;M()|0;return c|0}function WQ(a){a=a|0;vR(a);MR(a+262144|0);MR(a+393216|0);Re(a,424704,8192);return}function XQ(a){a=a|0;if(a>>>0>536870910)a=0;else a=YQ(a<<2)|0;return a|0}function YQ(a){a=a|0;var b=0;b=jx(a)|0;if(b|0)Wp(b|0,0,a|0)|0;return b|0}function ZQ(a,b,c){a=a|0;b=b|0;c=c|0;kg(a,b,c,c);return}function _Q(a,b,c){a=a|0;b=b|0;c=c|0;ng(a,b,c,c);return}function $Q(a,b,c){a=a|0;b=b|0;c=c|0;og(a,b,c,c);return}function aR(a,b,c){a=a|0;b=b|0;c=c|0;el(a,b,c,c);return}function bR(a,b,c){a=a|0;b=b|0;c=c|0;jl(a,b,c,c);return}function cR(a,b,c){a=a|0;b=b|0;c=c|0;kl(a,b,c,c);return}function dR(a,b,c){a=a|0;b=b|0;c=c|0;Rp(a,b,c,c);return}function eR(a,b,c){a=a|0;b=b|0;c=c|0;Up(a,b,c,c);return}function fR(a,b,c){a=a|0;b=b|0;c=c|0;Vp(a,b,c,c);return}function gR(a,b,c){a=a|0;b=b|0;c=c|0;xE(a,b,c,c);return}function hR(a,b,c){a=a|0;b=b|0;c=c|0;ME(a,b,c,c);return}function iR(a,b){a=a|0;b=b|0;a=(a|0)==0?1:a;return ((a+10|0)>(b|0)?b:a)|0}function jR(a){a=a|0;var b=0;b=Hz(a,16)|0;return b<<16|(Hz(a,16)|0)|0}function kR(a,b){a=a|0;b=b|0;return ((c[a+4>>2]|0)>>>1)-((c[b+4>>2]|0)>>>1)|0}function lR(a,b,c){a=a|0;b=b|0;c=c|0;Af(a,b,c,c);return}function mR(a,b,c){a=a|0;b=b|0;c=c|0;Cf(a,b,c,c);return}function nR(a,b,c){a=a|0;b=b|0;c=c|0;Df(a,b,c,c);return}function oR(a,b,c){a=a|0;b=b|0;c=c|0;Wj(a,b,c,c);return}function pR(a,b,c){a=a|0;b=b|0;c=c|0;_j(a,b,c,c);return}function qR(a,b,c){a=a|0;b=b|0;c=c|0;$j(a,b,c,c);return}function rR(a,b,c){a=a|0;b=b|0;c=c|0;CE(a,b,c,c);return}function sR(a,b,c){a=a|0;b=b|0;c=c|0;SE(a,b,c,c);return}function tR(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;return +Sb[a&0](b|0,+c,+d)}function uR(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;K(11);return 0}function vR(a){a=a|0;MR(a);PR(a+131072|0);PR(a+196608|0);Re(a,359168,4096);return}function wR(a){a=a|0;var b=0;b=c[275841]|0;c[275841]=b+a;return b+a|0}function xR(a,b,c){a=a|0;b=b|0;c=c|0;pg(a,b,c,c);return}function yR(a,b,c){a=a|0;b=b|0;c=c|0;Sg(a,b,c,c);return}function zR(a,b,c){a=a|0;b=b|0;c=c|0;ll(a,b,c,c);return}function AR(a,b,c){a=a|0;b=b|0;c=c|0;Vl(a,b,c,c);return}function BR(a,b,c){a=a|0;b=b|0;c=c|0;_p(a,b,c,c);return}function CR(a,b,c){a=a|0;b=b|0;c=c|0;Dq(a,b,c,c);return}function DR(a,b,c){a=a|0;b=b|0;c=c|0;If(a,b,c,c);return}function ER(a,b,c){a=a|0;b=b|0;c=c|0;Pf(a,b,c,c);return}function FR(a,b,c){a=a|0;b=b|0;c=c|0;ck(a,b,c,c);return}function GR(a,b,c){a=a|0;b=b|0;c=c|0;tk(a,b,c,c);return}function HR(a,b,d){a=a|0;b=b|0;d=d|0;rk(c[a>>2]|0,c[b>>2]|0,d|0)|0;return}function IR(a,b){a=a|0;b=b|0;hs(a,b);lr(a,0,b);return}function JR(a,b){a=a|0;b=b|0;Zu(a,b);kw(a,0,b);return}function KR(a,b){a=a|0;b=b|0;Zg(a,b);xu(a,0,b);return}function LR(a,b){a=a|0;b=b|0;Fj(a,b);RD(a,0,b);return}function MR(a){a=a|0;PR(a);YR(a+65536|0);YR(a+98304|0);Re(a,326400,2048);return}function NR(a,b){a=a|0;b=b|0;c[a+4>>2]=692;c[a>>2]=(b|0)<9?1:2;return}function OR(a,b){a=a|0;b=+b;b=b>0.0?b:0.0;f[a+8>>2]=b>1.0?1.0:b;return}function PR(a){a=a|0;YR(a);dS(a+32768|0);dS(a+49152|0);Re(a,310016,1024);return}function QR(a){a=a|0;YO(80192+(a<<3)+4|0,c[80192+(a<<3)>>2]|0)|0;return}function RR(a){a=+a;var b=0;b=pC()|0;return +((+(b>>>0)+4294967296.0*+(M()|0))*1.0e-06)}function SR(){var a=0;a=c[40960]|0;if((a|0)==-1){c[40960]=0;a=0}return a|0}function TR(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;K(6);return 0}function UR(a,b){a=a|0;b=b|0;mp(a,b);lr(a,0,b);return}function VR(a,b){a=a|0;b=b|0;us(a,b);kw(a,0,b);return}function WR(a,b){a=a|0;b=b|0;ym(a,b);xu(a,0,b);return}function XR(a,b){a=a|0;b=b|0;lp(a,b);RD(a,0,b);return}function YR(a){a=a|0;dS(a);hS(a+16384|0);hS(a+24576|0);Re(a,301824,512);return}function ZR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ie(a,b,c,d,0)|0}function _R(a,c){a=a|0;c=c|0;return (b[a>>1]|0)-(b[c>>1]|0)|0}function $R(a){a=a|0;a=c[a+60>>2]|0;XT(a+292|0);hM(a+288|0);return 0}function aS(a){a=+a;return +(+E(+(a+-1416.0996898839683))*2247116418577894884661631.0e283*2247116418577894884661631.0e283)}function bS(a){a=a|0;vJ(a)|0;ha(6,a|0)|0;nd(a);return}function cS(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0&1;return a|0}function dS(a){a=a|0;hS(a);mS(a+8192|0);mS(a+12288|0);Re(a,297728,256);return}function eS(a,b){a=a|0;b=b|0;c[a>>2]=(c[a>>2]|0)+b;return}function fS(a,b){a=a|0;b=b|0;a=a+8|0;c[a>>2]=(c[a>>2]|0)+b;return}function gS(a){a=a|0;a=c[a>>2]|0;c[a+44>>2]=7;c[a+48>>2]=2;return 0}function hS(a){a=a|0;mS(a);vS(a+4096|0);vS(a+6144|0);Re(a,295680,128);return}function iS(a){a=a|0;return (c[a+4>>2]|0)>>>0<(c[a+8>>2]|0)>>>0|0}function jS(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;K(22)}function kS(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function lS(a,b,c){a=a|0;b=b|0;c=c|0;return Xb[a&15](b|0,c|0)|0}function mS(a){a=a|0;vS(a);IS(a+2048|0);IS(a+3072|0);Re(a,294656,64);return}function nS(a,b,c){a=a|0;b=b|0;c=c|0;hr(a,b,c,8);return}function oS(a,b,c){a=a|0;b=b|0;c=c|0;gx(a,b,c,8);return}function pS(a){a=a|0;var b=0;b=c[a+12>>2]|0;return b-(sU(a)|0)|0}function qS(a,b,c){a=a|0;b=b|0;c=c|0;gp(a,b,c,8);return}function rS(a,b,c){a=a|0;b=b|0;c=c|0;gv(a,b,c,8);return}function sS(a,b,c){a=a|0;b=b|0;c=c|0;oP(a,b,c);return}function tS(a,b,c){a=a|0;b=b|0;c=c|0;qP(a,b,c);return}function uS(a){a=a|0;xP(a);c[a+192>>2]=0;c[a+20>>2]=0;return}function vS(a){a=a|0;IS(a);OS(a+1024|0);OS(a+1536|0);Re(a,294144,32);return}function wS(a,b,c){a=a|0;b=b|0;c=c|0;pP(a,b,c);return}function xS(a,b,c){a=a|0;b=b|0;c=c|0;rP(a,b,c);return}function yS(a){a=a|0;if(a|0){GT(c[a>>2]|0);c[a>>2]=0}return}function zS(a){a=a|0;MI(c[43360+(a<<2)>>2]|0,1<<a);return}function AS(a,b,c){a=a|0;b=b|0;c=c|0;return +Tb[a&1](b|0,c|0)}function BS(a,b,c){a=a|0;b=b|0;c=c|0;Bw(a,b,c);return}function CS(a,b,c){a=a|0;b=b|0;c=c|0;kI(a,b,c);return}function DS(a,b,c){a=a|0;b=b|0;c=c|0;lI(a,b,c);return}function ES(a,b,c){a=a|0;b=b|0;c=c|0;TK(a,b,c);return}function FS(a,b,c){a=a|0;b=b|0;c=c|0;Su(a,b,c);return}function GS(a,b,c){a=a|0;b=b|0;c=c|0;YD(a,b,c);return}function HS(a,b,c){a=a|0;b=b|0;c=c|0;return bl(a,b,c,1,198)|0}function IS(a){a=a|0;OS(a);PS(a+512|0);PS(a+768|0);Re(a,293888,16);return}function JS(a,b,c){a=a|0;b=b|0;c=c|0;wr(a,b,c,1);return}function KS(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;K(10);return 0}function LS(a){a=a|0;a=(oT(a)|0)+8|0;return c[a>>2]&8|0}function MS(){var a=0;a=YQ(72)|0;if(a|0)gP(a);return a|0}function NS(a,b,c){a=a|0;b=b|0;c=c|0;wr(a,b,c,0);return}function OS(a){a=a|0;PS(a);ZS(a+256|0);ZS(a+384|0);Re(a,293760,8);return}function PS(a){a=a|0;ZS(a);Pj(a+128|0);Pj(a+192|0);Re(a,293696,4);return}function QS(a){a=a|0;if(a|0?c[a>>2]|0:0)St(a,0);return}function RS(a,b,c){a=a|0;b=b|0;c=c|0;ec[a&255](b|0,c|0)}function SS(a,b,c){a=a|0;b=b|0;c=+c;return +Rb[a&0](b|0,+c)}function TS(a,b){a=a|0;b=b|0;mj(a,b,1,0);return}function US(a,b){a=a|0;b=b|0;mj(a,b,0,1);return}function VS(a){a=a|0;hM(a+8|0);hM(a+64|0);hM(a+12|0);return}function WS(a){a=a|0;XT(a+390884|0);XT(a+390816|0);return}function XS(a,b){a=a|0;b=+b;OR(c[a+96>>2]|0,b);return 0}function YS(){if(!(c[275839]|0)){c[275839]=1;eN()}return}function ZS(a){a=a|0;Pj(a);Ir(a+64|0);Ir(a+96|0);Re(a,293664,2);return}function _S(a,b){a=a|0;b=b|0;mj(a,b,0,0);return}function $S(a,b){a=a|0;b=b|0;return az(a,c[b>>2]|0)|0}function aT(a,b,c){a=a|0;b=b|0;c=c|0;mm(a,b,c)|0;return a|0}function bT(a){a=a|0;return (c[a+12>>2]|0)-(c[a+8>>2]|0)|0}function cT(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;K(21)}function dT(a,b){a=a|0;b=b|0;Tj(a,b);return}function eT(a,b){a=a|0;b=b|0;Xj(a,b);return}function fT(a,b){a=a|0;b=b|0;Yj(a,b);return}function gT(a){a=a|0;gV(c[a+256>>2]|0);Wp(a|0,0,280)|0;return}function hT(a){a=a|0;var b=0;b=(uU(a)|0)==0;return (b?a:a|32)|0}function iT(a,b){a=a|0;b=b|0;return ((b|0)>0?a<<b:a>>0-b)|0}function jT(a,b){a=a|0;b=b|0;ak(a,b);return}function kT(a){a=a|0;return (a>>>0>11?0:148416+(a*20|0)|0)|0}function lT(a,b){a=a|0;b=b|0;return (b|a)-((b^a)>>>1&2139062143)|0}function mT(a,b,c){a=a|0;b=b|0;c=c|0;return ZB(a,b,c)|0}function nT(a,b){a=a|0;b=b|0;QS(a+128+(b<<2)|0);return}function oT(a){a=a|0;return (a>>>0>355?0:93808+(a*152|0)|0)|0}function pT(a,b){a=a|0;b=b|0;return ze(a,b)|0}function qT(a){a=a|0;return c[((a|0)==0?1103368:a+20|0)>>2]|0}function rT(a){a=a|0;return (c[a+20>>2]|0)-(c[a+16>>2]|0)|0}function sT(a){a=+a;var b=0;b=jV(32)|0;a=+QD(a);return ~~a|0}function tT(a,b){a=a|0;b=b|0;return Ce(a,b,1)|0}function uT(a){a=a|0;return c[((a|0)==0?1103352:a+56|0)>>2]|0}function vT(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;K(9);return 0}function wT(a,b){a=a|0;b=b|0;b=32-b|0;return a<<b>>>b|0}function xT(a){a=a|0;hM((c[a+60>>2]|0)+512|0);return 0}function yT(a){a=a|0;return (a?31-(J(a^a-1)|0)|0:32)|0}function zT(a){a=+a;return a-+t(a)!=.5?+NT(a):+NT(a/2.0)*2.0}function AT(a,b){a=a|0;b=b|0;QS(a+(b<<2)|0);return}function BT(a,b){a=a|0;b=b|0;return Vb[a&31](b|0)|0}function CT(a,b){a=a|0;b=b|0;return Fp(a,b,0)|0}function DT(a){a=a|0;return c[(c[a>>2]|0)+8>>2]|0}function ET(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return 0}function FT(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return 0}function GT(a){a=a|0;if(a|0){hM(a);gV(a)}return}function HT(a){a=a|0;return ((a+-97|0)>>>0<26?a^32:a)|0}function IT(a,b){a=a|0;b=b|0;Mb=a;Nb=b}function JT(a,b){a=a|0;b=b|0;return ((a|0)==0?b:a)|0}function KT(a){a=a|0;return ZG(jx(a)|0,a)|0}function LT(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;K(19)}function MT(a,b){a=a|0;b=b|0;c[a>>2]=b;return 0}function NT(a){a=+a;return a>=0.0?+t(a+.5):+G(a-.5)}function OT(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function PT(a,b){a=a|0;b=+b;return +Qb[a&15](+b)}function QT(a){a=a|0;return (c[a+12800>>2]|0)!=0|0}function RT(a){a=a|0;return ((a+-65|0)>>>0<26?a^32:a)|0}function ST(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;K(17)}function TT(a,b){a=a|0;b=b|0;dc[a&31](b|0)}function UT(a,b){a=a|0;b=b|0;qp(a,b)|0;return a|0}function VT(a){a=a|0;return c[a+900>>2]|0}function WT(a,b){a=a|0;b=b|0;gV(b);return}function XT(a){a=a|0;hM(a+24|0);VS(a);return}function YT(a){a=a|0;Qe(a,0,0);return}function ZT(a){a=a|0;return c[c[a>>2]>>2]|0}function _T(a,b,c){a=a|0;b=b|0;c=c|0;K(4);return 0.0}function $T(a,b){a=a|0;b=b|0;return +(+Rt(a,b,1))}function aU(a){a=a|0;return (c[a+64>>2]|0)!=0|0}function bU(a,b,c){a=a|0;b=b|0;c=c|0;K(8);return 0}function cU(a){a=a|0;return (a&255)<<8|a>>8&255|0}function dU(a){a=a|0;c[a>>2]=2147483647;return}function eU(a){a=a|0;iM(a+134036|0);return}function fU(a,b,c){a=a|0;b=b|0;c=c|0;return}function gU(a){a=a|0;hM(c[a>>2]|0);return}function hU(){N(1103584);return}function iU(a){a=a|0;return PI(a,24)|0}function jU(a,b,c){a=a|0;b=+b;c=+c;K(2);return 0.0}function kU(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function lU(a){a=a|0;return cv(a,1)|0}function mU(a){a=a|0;return cv(a,0)|0}function nU(a,b){a=+a;b=+b;return +(+PD(a,b))}function oU(a,b){a=+a;b=b|0;return +(+Zt(a,b))}function pU(a,b,c){a=a|0;b=b|0;c=c|0;K(18)}function qU(a){a=a|0;hM(a);return}function rU(a,b){a=a|0;b=b|0;return 0}function sU(a){a=a|0;return c[a+8>>2]|0}function tU(a){a=a|0;CO(a);return}function uU(a){a=a|0;return (a+-65|0)>>>0<26|0}function vU(a){a=a|0;return (a+-48|0)>>>0<10|0}function wU(){YO(1103336,15)|0;return}function xU(a){a=a|0;c[40972]=a;return}function yU(a,b){a=+a;b=+b;return +(+ef(a,b))}function zU(a){a=a|0;gO(a,1);return}function AU(a,b){a=a|0;b=b|0;K(3);return 0.0}function BU(a,b){a=a|0;b=b|0;K(7);return 0}function CU(){rw(17);return}function DU(a,b){a=a|0;b=+b;K(1);return 0.0}function EU(a){a=a|0;Iu(a);return}function FU(){rw(16);return}function GU(){rw(15);return}function HU(){rw(14);return}function IU(a){a=a|0;cc[a&31]()}function JU(a){a=a|0;return aL(a)|0}function KU(){rw(13);return}function LU(){rw(12);return}function MU(){rw(11);return}function NU(){rw(10);return}function OU(){rw(9);return}function PU(){rw(8);return}function QU(){rw(7);return}function RU(a){a=a|0;return 213087}function SU(){rw(6);return}function TU(){rw(5);return}function UU(){rw(4);return}function VU(){return jx(4096)|0}function WU(a,b){a=a|0;b=b|0;K(16)}function XU(a){a=+a;return ~~+zT(+a)|0}function YU(a){a=+a;return +Ea(+a)}function ZU(a){a=+a;return +ea(+a)}function _U(a){a=+a;return +da(+a)}function $U(a){a=+a;return +ca(+a)}function aV(){return wV()|0}function bV(a){a=+a;return +Db(+a)}function cV(a){a=+a;return +Bb(+a)}function dV(a){a=+a;return +tb(+a)}function eV(a){a=+a;return +Da(+a)}function fV(a){a=+a;return +ga(+a)}function gV(a){a=a|0;nd(a);return}function hV(a){a=a|0;Mb=a}function iV(a){a=a|0;K(5);return 0}function jV(a){a=a|0;return 0}function kV(a){a=+a;K(0);return 0.0}function lV(a){a=a|0;return a|0}function mV(a){a=a|0;return}function nV(a){a=a|0;return 1}function oV(){return 164336}function pV(){return 1103556}function qV(){return Mb|0}function rV(a){a=a|0;K(15)}function sV(){return 164556}function tV(){return 1103580}function uV(){return 1103576}function vV(){return 1103584}function wV(){return 164060}function xV(){return 1103568}function yV(){K(14)}
// EMSCRIPTEN_END_FUNCS
var Qb=[kV,jv,qv,bu,cV,fV,bV,ZU,_U,$U,eV,dV,YU,RR,kV,kV];var Rb=[DU];var Sb=[jU];var Tb=[AU,wx];var Ub=[_T,NI];var Vb=[iV,bN,zI,gk,ts,ZT,Eu,$R,QN,dy,lP,Km,xT,gS,ph,eu,uD,RU,Un,mM,KO,dh,lM,LH,mv,ZM,Mt,iV,iV,iV,iV,iV];var Wb=[TR,Sc];var Xb=[BU,pd,iL,qO,aJ,tl,TM,sI,Pp,cd,$S,BU,BU,BU,BU,BU];var Yb=[bU,Xo,dt,cp,Ck,vz,LI,nw,tQ,pQ,qu,mT,bU,bU,bU,bU];var Zb=[vT,_f,Eo,_c,fn,hv,vT,vT];var _b=[KS,pF,Ws,tp,gj,ch,Hg,Bf,Io,Hm,Rl,dk,kx,xf,hx,Sf,fy,WD,gy,Aw,Dk,Op,Du,Mx,fq,eA,pi,Iz,Al,Mv,Ov,gr,jr,Zv,$v,Ar,Dr,Tn,Vn,eg,hj,$M,kj,Ej,Bg,Yg,xk,il,wk,hl,KS,KS,KS,KS,KS,KS,KS,KS,KS,KS,KS,KS,KS,KS];var $b=[uR,Je,Uf,ae,ji,QC,Gj,Wu];var ac=[kM,ve];var bc=[SP,vd];var cc=[yV,UU,TU,SU,QU,PU,OU,NU,MU,LU,KU,HU,GU,FU,CU,WM,ri,Uh,yV,yV,yV,yV,yV,yV,yV,yV,yV,yV,yV,yV,yV,yV];var dc=[rV,TP,Ev,gU,Pv,Ir,Pj,ZS,PS,OS,IS,vS,mS,hS,dS,YR,PR,MR,vR,WQ,FQ,wQ,xs,ey,FI,nQ,HG,VI,au,rV,rV,rV];var ec=[WU,zu,go,zu,go,zu,go,zu,go,$t,In,tu,rg,qg,Ag,dm,Ok,Hv,Fv,ix,fx,Qi,Nh,Cp,ym,$o,mp,UR,WR,yO,eP,Zg,hQ,hs,IR,KR,vO,cP,Wr,rx,zy,LD,JD,KD,xQ,Qq,Bq,Ju,TS,US,lk,xw,Jx,jT,Gs,et,ww,Hv,Fv,ix,fx,Ni,Lh,ym,$o,mp,UR,WR,tO,$O,Zg,hQ,hs,IR,KR,oO,XO,ID,GD,HD,lQ,Qq,Bq,Ju,vw,tw,fT,Gs,et,uw,Hv,Fv,ix,fx,Mi,Kh,ym,$o,mp,UR,WR,sO,_O,Zg,hQ,hs,IR,KR,nO,WO,DD,zD,BD,kQ,Qq,Bq,Ju,jw,fw,eT,Gs,et,hw,Hv,Fv,ix,fx,Li,Ih,ym,$o,mp,UR,WR,rO,ZO,Zg,hQ,hs,IR,KR,mO,VO,CD,yD,AD,jQ,Qq,Bq,Ju,iw,ew,dT,Gs,et,gw,YG,KG,XH,SH,Dj,ti,lp,Rr,us,VR,XR,zO,fP,Fj,iQ,Zu,JR,LR,wO,dP,nL,XK,YK,yQ,Fu,sx,tD,AI,tI,_S,Lw,Dx,uI,Bx,bI,Vk,sq,zQ,WT,FG,uk,Hi,dO,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU,WU];var fc=[ST,JI,RL,KI,SL,ST,ST,ST];var gc=[pU,Ct,ou,Sp,Hp,Oj,Ye,Hw,ow,xl,Nj,We,Ew,mw,xl,Mj,Ve,Dw,lw,xl,Kj,Ue,yw,cw,xl,hk,_e,mx,lx,gl,lr,Aq,en,km,Hl,Gl,gn,Gm,so,gu,xu,ku,Qy,Oy,$w,zr,Py,qk,zJ,mk,lm,Ql,mK,Ls,Au,Lo,ir,lr,en,km,Hl,Gl,Gm,so,gu,xu,Ny,Ly,$w,zr,My,Ls,Au,Lo,ir,lr,en,km,Hl,Gl,Gm,so,gu,xu,py,ly,$w,zr,ny,Ls,Au,Lo,ir,lr,en,km,Hl,Gl,Gm,so,gu,xu,oy,ky,$w,zr,my,Ls,Au,Lo,ir,kw,io,un,Tm,Xm,Rn,np,CC,RD,RM,LM,HM,Gx,MM,ut,bv,Qo,Pq,Lu,$s,tS,KL,hR,PK,iF,hC,JG,IB,RJ,Rz,PN,nz,qG,NA,AF,lA,oS,GL,yR,LK,TE,dC,IG,CB,PJ,Cz,FN,gz,WF,DA,yF,fA,CS,cM,AR,rL,oG,aD,EH,RC,xK,DB,_N,XA,iH,wC,PG,_B,ES,eM,CR,tL,yG,fD,KH,_C,zK,TB,aO,mB,tH,HC,XG,lC,xS,NL,sR,RK,oF,jC,NG,MB,VJ,Tz,UN,rz,uG,WA,EF,rA,rS,IL,ER,MK,VE,iC,MG,KB,TJ,Mz,HN,lz,aG,OA,CF,nA,GS,gM,GR,wL,tG,cD,HH,UC,AK,LB,bO,bB,kH,BC,SG,aC,sS,JL,gR,OK,_E,UB,EG,nB,QJ,Gz,GN,hz,iG,zA,tF,Vz,nS,mL,xR,rK,wE,iB,OF,BA,MJ,Sy,DN,Hy,sF,Uz,IE,wz,BS,bM,zR,qL,XF,ZC,DH,IC,sK,uB,XN,HA,bH,kC,OG,NB,DS,dM,BR,sL,pG,bD,JH,SC,yK,HB,$N,$A,jH,xC,WG,$B,wS,ML,rR,QK,eF,YB,GG,sB,UJ,Qz,IN,mz,nG,AA,xF,Zz,qS,oL,DR,tK,BE,oB,SF,CA,OJ,Xy,EN,Iy,wF,Yz,OE,xz,FS,fM,FR,vL,bG,$C,GH,JC,uK,yB,ZN,SA,fH,oC,RG,PB,sS,zL,MQ,EK,LE,xB,hG,MA,HJ,qz,yN,Vy,RF,aA,ZE,Fz,nS,WK,$Q,_J,nE,GA,zF,iA,yJ,Jy,sN,xy,hF,Bz,DE,fz,BS,VL,cR,dL,JF,MC,oH,vC,bK,_A,MN,uA,VG,SB,xG,lB,DS,YL,fR,gL,_F,XC,sH,GC,lK,gB,VN,yA,eH,gC,DG,GB,wS,DL,TQ,IK,RE,BB,mG,VA,KJ,uz,CN,_y,VF,dA,dF,Pz,qS,$K,nR,eK,rE,RA,DF,qA,DJ,Ky,vN,yy,nF,Lz,EE,kz,FS,aM,qR,lL,NF,PC,rH,AC,hK,eB,TN,xA,aH,XB,CG,rB,sS,yL,LQ,DK,KE,wB,gG,LA,GJ,pz,xN,Uy,QF,$z,YE,Ez,nS,VK,_Q,ZJ,mE,FA,rF,hA,xJ,Ey,rN,ry,gF,Az,vE,ez,BS,UL,bR,cL,IF,LC,nH,uC,aK,ZA,LN,tA,UG,RB,wG,kB,DS,XL,eR,fL,ZF,WC,hH,FC,kK,JA,ON,kA,dH,fC,eG,FB,wS,CL,SQ,HK,QE,AB,lG,UA,JJ,tz,BN,Zy,UF,cA,cF,Oz,qS,_K,mR,dK,qE,QA,vF,pA,CJ,Gy,uN,uy,mF,Kz,AE,jz,FS,$L,pR,kL,MF,OC,qH,zC,gK,dB,SN,wA,$G,WB,BG,qB,sS,xL,KQ,CK,JE,vB,fG,KA,FJ,oz,wN,Ty,PF,_z,XE,Dz,nS,UK,ZQ,YJ,lE,EA,qF,gA,wJ,Dy,qN,qy,fF,zz,uE,dz,BS,TL,aR,bL,HF,KC,mH,tC,$J,YA,KN,sA,TG,QB,vG,jB,DS,WL,dR,eL,YF,VC,gH,EC,jK,IA,NN,jA,cH,eC,dG,EB,wS,BL,RQ,GK,PE,zB,kG,TA,IJ,sz,AN,Yy,TF,bA,bF,Nz,qS,ZK,lR,cK,pE,PA,uF,oA,BJ,Fy,tN,ty,lF,Jz,zE,iz,FS,_L,oR,jL,LF,NC,pH,yC,fK,cB,RN,vA,_G,VB,AG,pB,wD,fU,UE,Cx,ml,Vh,jE,HR,QQ,PQ,OQ,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU,pU];var hc=[LT,Xh,cj,Xi,Iq,Vr,Nr,Hr,Vr,Wh,$i,Wi,Hq,Ur,Mr,Gr,Ur,_h,ej,bj,Gq,Tr,Lr,Fr,Tr,Zh,dj,aj,Fq,Sr,Kr,Er,Sr,wi,lj,jj,Br,Es,Bs,zs,Es,nk,ux,xg,qq,Sk,ug,xh,Wd,Qd,Md,Od,_d,Ke,Qm,Xl,tE,dJ,Ex,XI,yx,Sk,ug,xh,Wd,Qd,Md,Od,_d,Ke,Qm,Xl,oE,dJ,Ex,XI,yx,Sk,ug,xh,Wd,Qd,Md,Od,_d,Ke,Qm,Xl,bE,dJ,Ex,XI,yx,Sk,ug,xh,Wd,Qd,Md,Od,_d,Ke,Qm,Xl,aE,dJ,Ex,XI,yx,rm,ek,Fi,oe,ke,de,je,te,lf,Go,bo,HL,eJ,Fx,YI,zx,_I,RI,_I,RI,_I,RI,_I,RI,$I,SI,Cj,dg,Vj,iD,Yx,Xx,uJ,gI,Ki,Pn,nl,Om,Fk,Bp,En,zp,Bn,rh,Qf,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT];var ic=[EQ,Rq];var jc=[cT,At,ns,Xr,pr,qr,rn,qs,pt,Ns,Pr,Qr,On,ps,Ms,Pt,nr,or,$p,wo,Ro,Ei,Pt,vt,Fn,zo,Uo,Gi,wt,xt,Jn,jo,Bo,ot,uo,vo,Mo,Qt,Nt,Ys,dn,aw,Gh,fi,ci,gm,Dm,Am,Ym,Dm,Lt,Gt,Vs,an,Yv,Eh,ei,ai,em,zm,um,Um,zm,Kt,Ft,Us,$m,Xv,Dh,di,$h,cm,wm,tm,Sm,wm,Jt,Et,Ts,_m,Wv,Ch,bi,Yh,_l,sm,qm,Pm,sm,tt,st,Ss,Wm,Vv,Th,ui,si,Vm,mn,jn,Cn,mn,he,Pk,Qh,Vi,Qh,Vi,Qh,Vi,Qh,Vi,mi,fj,Np,Rv,Cy,op,So,Ik,Vu,VH,kF,aB,EI,DI,Gv,cT];var kc=[jS,Ng,Pl,nq,Hu,Lg,Ll,lq,Cu,Kg,Kl,kq,Bu,Eg,yl,jq,wu,hh,vm,Yq,kv,Bd,Gd,mf,yf,hi,Bi,ol,Sl,ld,od,He,Me,gh,uh,Ak,cl,Dt,ht,Bt,gt,$q,jS,jS,jS,jS,jS,jS,jS,jS,jS,jS,jS,jS,jS,jS,jS,jS,jS,jS,jS,jS,jS,jS];var lc=[HP,pl];var mc=[vQ,ax,Iv,hB,fB,rq,dD,kD,kD,eD,vQ,vQ,vQ,vQ,vQ,vQ];var nc=[zP,hf,Yi,ho,es,gf,Si,eo,bs,ff,Ri,co,as,af,Oi,$n,Yr,qf,yj,Do,Fs,zP,zP,zP,zP,zP,zP,zP,zP,zP,zP,zP];var oc=[bP,Bj];var pc=[FO,Ph,Fh,FO];return{___divdi3:pu,___em_js__get_do_str:oV,___emscripten_environ_constructor:hU,___errno_location:pV,___muldi3:XJ,___remdi3:ws,___udivdi3:ZR,___uremdi3:tJ,__get_daylight:uV,__get_environ:vV,__get_timezone:tV,__get_tzname:xV,_bitshift64Ashr:FM,_bitshift64Lshr:oN,_bitshift64Shl:cN,_emscripten_replace_memory:Pb,_free:nd,_i64Add:SO,_i64Subtract:QO,_llvm_bswap_i16:cU,_llvm_bswap_i32:kS,_llvm_rint_f64:zT,_llvm_round_f64:NT,_main:YN,_malloc:wc,_memalign:PO,_memcpy:rk,_memmove:NE,_memset:Wp,_np_create:yr,_np_destroy:FF,_np_get_version:sV,_np_input_data:Cg,_np_resize_view:Lv,_np_set_buffertime:FT,_np_set_scalemode:MT,_np_set_view:pj,_np_set_volume:XS,_np_skip_loopfilter:ET,_np_start:Aj,_np_stop:eq,_pthread_cond_broadcast:jV,_rintf:zT,_sbrk:yz,dynCall_dd:PT,dynCall_did:SS,dynCall_didd:tR,dynCall_dii:AS,dynCall_diii:aQ,dynCall_ii:BT,dynCall_iidiiii:iN,dynCall_iii:lS,dynCall_iiii:WP,dynCall_iiiii:aP,dynCall_iiiiii:lO,dynCall_iiiiiii:YM,dynCall_iiiiiiidiiddii:cC,dynCall_iiiiiiii:nM,dynCall_v:IU,dynCall_vi:TT,dynCall_vii:RS,dynCall_viidi:wP,dynCall_viii:uQ,dynCall_viiii:nP,dynCall_viiiidii:IM,dynCall_viiiii:HO,dynCall_viiiiii:nN,dynCall_viiiiiidi:FL,dynCall_viiiiiii:uM,dynCall_viiiiiiii:NK,dynCall_viiiiiiiii:OI,dynCall_viiiiiiiiii:aI,establishStackSpace:IT,stackAlloc:JQ,stackRestore:hV,stackSave:qV}})
// EMSCRIPTEN_END_ASM
(asmGlobalArg,asmLibraryArg,buffer);var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var ___em_js__get_do_str=Module["___em_js__get_do_str"]=asm["___em_js__get_do_str"];var ___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=asm["___emscripten_environ_constructor"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___remdi3=Module["___remdi3"]=asm["___remdi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var __get_daylight=Module["__get_daylight"]=asm["__get_daylight"];var __get_environ=Module["__get_environ"]=asm["__get_environ"];var __get_timezone=Module["__get_timezone"]=asm["__get_timezone"];var __get_tzname=Module["__get_tzname"]=asm["__get_tzname"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=asm["_llvm_bswap_i16"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _llvm_rint_f64=Module["_llvm_rint_f64"]=asm["_llvm_rint_f64"];var _llvm_round_f64=Module["_llvm_round_f64"]=asm["_llvm_round_f64"];var _main=Module["_main"]=asm["_main"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memalign=Module["_memalign"]=asm["_memalign"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _np_create=Module["_np_create"]=asm["_np_create"];var _np_destroy=Module["_np_destroy"]=asm["_np_destroy"];var _np_get_version=Module["_np_get_version"]=asm["_np_get_version"];var _np_input_data=Module["_np_input_data"]=asm["_np_input_data"];var _np_resize_view=Module["_np_resize_view"]=asm["_np_resize_view"];var _np_set_buffertime=Module["_np_set_buffertime"]=asm["_np_set_buffertime"];var _np_set_scalemode=Module["_np_set_scalemode"]=asm["_np_set_scalemode"];var _np_set_view=Module["_np_set_view"]=asm["_np_set_view"];var _np_set_volume=Module["_np_set_volume"]=asm["_np_set_volume"];var _np_skip_loopfilter=Module["_np_skip_loopfilter"]=asm["_np_skip_loopfilter"];var _np_start=Module["_np_start"]=asm["_np_start"];var _np_stop=Module["_np_stop"]=asm["_np_stop"];var _pthread_cond_broadcast=Module["_pthread_cond_broadcast"]=asm["_pthread_cond_broadcast"];var _rintf=Module["_rintf"]=asm["_rintf"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_dd=Module["dynCall_dd"]=asm["dynCall_dd"];var dynCall_did=Module["dynCall_did"]=asm["dynCall_did"];var dynCall_didd=Module["dynCall_didd"]=asm["dynCall_didd"];var dynCall_dii=Module["dynCall_dii"]=asm["dynCall_dii"];var dynCall_diii=Module["dynCall_diii"]=asm["dynCall_diii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iidiiii=Module["dynCall_iidiiii"]=asm["dynCall_iidiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_iiiiiiidiiddii=Module["dynCall_iiiiiiidiiddii"]=asm["dynCall_iiiiiiidiiddii"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viidi=Module["dynCall_viidi"]=asm["dynCall_viidi"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiidii=Module["dynCall_viiiidii"]=asm["dynCall_viiiidii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiidi=Module["dynCall_viiiiiidi"]=asm["dynCall_viiiiiidi"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=asm["dynCall_viiiiiiii"];var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=asm["dynCall_viiiiiiiii"];var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=asm["dynCall_viiiiiiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=readBinary(memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=function(){readAsync(memoryInitializer,applyMemoryInitializer,function(){throw"could not load memory initializer "+memoryInitializer})};var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){var useRequest=function(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i<argc;i++){HEAP32[(argv>>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;Module["noExitRuntime"]=true;run();"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var libnp={create:cwrap("np_create","number",["number"]),destroy:cwrap("np_destroy","number"),start:cwrap("np_start","number",["number","string","string"]),stop:cwrap("np_stop","number",["number"]),input_data:cwrap("np_input_data","number",["number","array","number"]),get_version:cwrap("np_get_version","string"),set_view:cwrap("np_set_view","number",["number","string","number"]),set_scalemode:cwrap("np_set_scalemode","number",["number","number"]),set_buffertime:cwrap("np_set_buffertime","number",["number","number"]),skip_loopfilter:cwrap("np_skip_loopfilter","number",["number","number"]),set_volume:cwrap("np_set_volume","number",["number","number"]),resize_view:cwrap("np_resize_view","number",["number","number","number"])};var NodePlayer=function(_flvjs$EventEmitter){_inherits(NodePlayer,_flvjs$EventEmitter);function NodePlayer(){_classCallCheck(this,NodePlayer);var _this=_possibleConstructorReturn(this,(NodePlayer.__proto__||Object.getPrototypeOf(NodePlayer)).call(this));_this.isMobile=/(iPhone | iPad | iPod | iOS | Android)/i.test(navigator.userAgent)?1:0;_this.ctx=libnp.create(_this.isMobile);_this.version=libnp.get_version();_this.isStart=false;_this.isMSE=false;_this.hasAudio=true;_this.volume=1;_this.loader=new flvjs.WebLoader;_this.loader.on("data",function(data){var buf=new Uint8Array(data);if(libnp.input_data(_this.ctx,buf,buf.length)>0){_this.stop()}});_this.loader.on("start",function(){_this.emit("start")});_this.loader.on("close",function(){_this.stop()});_this.loader.on("error",function(e){_this.emit("error",e);_this.stop()});NP[_this.ctx].emit=_this.emit.bind(_this);return _this}_createClass(NodePlayer,[{key:"setView",value:function setView(canvas){if(this.isMSE){var canv=document.getElementById(canvas);var vide=document.createElement("video");var pare=canv.parentNode;vide.id=canvas;if(canv.width!=300&&canv.height!=150){vide.width=canv.width;vide.height=canv.height}vide.style.cssText=canv.style.cssText;pare.replaceChild(vide,canv);this.videoElement=vide}else{return libnp.set_view(this.ctx,canvas,window.devicePixelRatio||1,screen.width/document.documentElement.clientWidth*window.devicePixelRatio||1)}}},{key:"resizeView",value:function resizeView(w,h){if(!this.isMSE){libnp.resize_view(this.ctx,w,h)}}},{key:"setScaleMode",value:function setScaleMode(mode){return libnp.set_scalemode(this.ctx,mode)}},{key:"setBufferTime",value:function setBufferTime(bufferTime){return libnp.set_buffertime(this.ctx,bufferTime)}},{key:"skipLoopFilter",value:function skipLoopFilter(discard){return libnp.skip_loopfilter(this.ctx,discard)}},{key:"setVolume",value:function setVolume(volume){this.volume=volume;if(this.isMSE){if(this.flvPlayer){this.flvPlayer.volume=volume}}else{libnp.set_volume(this.ctx,volume)}}},{key:"enableAudio",value:function enableAudio(enable){this.hasAudio=enable;this.setVolume(this.hasAudio?1:0)}},{key:"start",value:function start(url){var _this2=this;if(this.isMSE){if(this.flvPlayer){return}var config={type:"flv",url:url};if(!this.hasAudio){config.hasAudio=false}this.flvPlayer=flvjs.createPlayer(config);this.flvPlayer.attachMediaElement(this.videoElement);this.flvPlayer.on(flvjs.Events.ERROR,function(error){_this2.emit("error",error);_this2.stop()});this.flvPlayer.on(flvjs.Events.LOADING_COMPLETE,function(){_this2.stop()});this.flvPlayer.on(flvjs.Events.MEDIA_INFO,function(){if(!_this2.isStart){_this2.isStart=true;_this2.emit("start")}});this.flvPlayer.load();this.flvPlayer.play()}else{if(typeof url!="string"){NP_ERROR("url invalid parameter");return}if(this.isStart){NP_DEBUG("The instance has started, ignore it");return}this.url=url;NP_LOG("call start play url:",this.url);if(libnp.start(this.ctx,url)==0){this.setVolume(this.volume);this.enableAudio(this.hasAudio);this.loader.start(url);this.isStart=true}}}},{key:"stop",value:function stop(){if(this.isMSE){if(this.flvPlayer){this.flvPlayer.detachMediaElement();this.flvPlayer.unload();this.flvPlayer.destroy();this.flvPlayer=null;this.emit("stop");this.isStart=false}}else{if(!this.isStart){NP_DEBUG("The instance has not started yet, ignore it");return}NP_LOG("call stop play url:",this.url);this.isStart=false;this.loader.stop();libnp.stop(this.ctx);this.emit("stop")}}},{key:"useMSE",value:function useMSE(){this.isMSE=flvjs.isSupported();NP_LOG("use MSE:",this.isMSE?"YES":"NO");if(this.isMSE){this.flvPlayer=null;flvjs.LoggingControl.enableAll=false;flvjs.LoggingControl.addLogListener(function(type,str){NP_LOG(type+str)})}}}],[{key:"debug",value:function debug(enable){if(enable){logType=LOG_TYPES.NP_TYPE_NORMAL}else{logType=LOG_TYPES.NP_TYPE_NONE}}}]);return NodePlayer}(flvjs.EventEmitter);if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports){exports=module.exports=NodePlayer}exports.NodePlayer=NodePlayer}else{Module.NodePlayer=NodePlayer}if(typeof define==="function"&&define.amd){define([],function(){return NodePlayer})}