{"version":3,"file":"preload-helper-19a3a39b.js","sources":["../../../node_modules/dexie/dist/modern/dexie.min.mjs","../../../node_modules/dexie-observable/dist/dexie-observable.es.js","../../../node_modules/browser-image-compression/dist/browser-image-compression.mjs","../../../node_modules/heic2any/dist/heic2any.js","../../../client/src/javascripts/customer_pages/_utils/db/observables.js","../../../client/src/javascripts/customer_pages/_utils/db/image-manip-helpers.js","../../../client/src/javascripts/customer_pages/_utils/db/db.js","../../../client/src/javascripts/customer_pages/_photo-loader/loader-mixins/file-clearing-mixin.js","../../../client/src/javascripts/customer_pages/_photo-loader/loader-mixins/file-selector-mixin.js","../../../node_modules/q/q.js","../../../node_modules/async/dist/async.mjs","../../../node_modules/underscore/modules/_setup.js","../../../node_modules/underscore/modules/restArguments.js","../../../node_modules/underscore/modules/isObject.js","../../../node_modules/underscore/modules/isNull.js","../../../node_modules/underscore/modules/isUndefined.js","../../../node_modules/underscore/modules/isBoolean.js","../../../node_modules/underscore/modules/isElement.js","../../../node_modules/underscore/modules/_tagTester.js","../../../node_modules/underscore/modules/isString.js","../../../node_modules/underscore/modules/isNumber.js","../../../node_modules/underscore/modules/isDate.js","../../../node_modules/underscore/modules/isRegExp.js","../../../node_modules/underscore/modules/isError.js","../../../node_modules/underscore/modules/isSymbol.js","../../../node_modules/underscore/modules/isArrayBuffer.js","../../../node_modules/underscore/modules/isFunction.js","../../../node_modules/underscore/modules/_hasObjectTag.js","../../../node_modules/underscore/modules/_stringTagBug.js","../../../node_modules/underscore/modules/isDataView.js","../../../node_modules/underscore/modules/isArray.js","../../../node_modules/underscore/modules/_has.js","../../../node_modules/underscore/modules/isArguments.js","../../../node_modules/underscore/modules/isFinite.js","../../../node_modules/underscore/modules/isNaN.js","../../../node_modules/underscore/modules/constant.js","../../../node_modules/underscore/modules/_createSizePropertyCheck.js","../../../node_modules/underscore/modules/_shallowProperty.js","../../../node_modules/underscore/modules/_getByteLength.js","../../../node_modules/underscore/modules/_isBufferLike.js","../../../node_modules/underscore/modules/isTypedArray.js","../../../node_modules/underscore/modules/_getLength.js","../../../node_modules/underscore/modules/_collectNonEnumProps.js","../../../node_modules/underscore/modules/keys.js","../../../node_modules/underscore/modules/isEmpty.js","../../../node_modules/underscore/modules/isMatch.js","../../../node_modules/underscore/modules/underscore.js","../../../node_modules/underscore/modules/_toBufferView.js","../../../node_modules/underscore/modules/isEqual.js","../../../node_modules/underscore/modules/allKeys.js","../../../node_modules/underscore/modules/_methodFingerprint.js","../../../node_modules/underscore/modules/isMap.js","../../../node_modules/underscore/modules/isWeakMap.js","../../../node_modules/underscore/modules/isSet.js","../../../node_modules/underscore/modules/isWeakSet.js","../../../node_modules/underscore/modules/values.js","../../../node_modules/underscore/modules/pairs.js","../../../node_modules/underscore/modules/invert.js","../../../node_modules/underscore/modules/functions.js","../../../node_modules/underscore/modules/_createAssigner.js","../../../node_modules/underscore/modules/extend.js","../../../node_modules/underscore/modules/extendOwn.js","../../../node_modules/underscore/modules/defaults.js","../../../node_modules/underscore/modules/_baseCreate.js","../../../node_modules/underscore/modules/create.js","../../../node_modules/underscore/modules/clone.js","../../../node_modules/underscore/modules/tap.js","../../../node_modules/underscore/modules/toPath.js","../../../node_modules/underscore/modules/_toPath.js","../../../node_modules/underscore/modules/_deepGet.js","../../../node_modules/underscore/modules/get.js","../../../node_modules/underscore/modules/has.js","../../../node_modules/underscore/modules/identity.js","../../../node_modules/underscore/modules/matcher.js","../../../node_modules/underscore/modules/property.js","../../../node_modules/underscore/modules/_optimizeCb.js","../../../node_modules/underscore/modules/_baseIteratee.js","../../../node_modules/underscore/modules/iteratee.js","../../../node_modules/underscore/modules/_cb.js","../../../node_modules/underscore/modules/mapObject.js","../../../node_modules/underscore/modules/noop.js","../../../node_modules/underscore/modules/propertyOf.js","../../../node_modules/underscore/modules/times.js","../../../node_modules/underscore/modules/random.js","../../../node_modules/underscore/modules/now.js","../../../node_modules/underscore/modules/_createEscaper.js","../../../node_modules/underscore/modules/_escapeMap.js","../../../node_modules/underscore/modules/escape.js","../../../node_modules/underscore/modules/_unescapeMap.js","../../../node_modules/underscore/modules/unescape.js","../../../node_modules/underscore/modules/templateSettings.js","../../../node_modules/underscore/modules/template.js","../../../node_modules/underscore/modules/result.js","../../../node_modules/underscore/modules/uniqueId.js","../../../node_modules/underscore/modules/chain.js","../../../node_modules/underscore/modules/_executeBound.js","../../../node_modules/underscore/modules/partial.js","../../../node_modules/underscore/modules/bind.js","../../../node_modules/underscore/modules/_isArrayLike.js","../../../node_modules/underscore/modules/_flatten.js","../../../node_modules/underscore/modules/bindAll.js","../../../node_modules/underscore/modules/memoize.js","../../../node_modules/underscore/modules/delay.js","../../../node_modules/underscore/modules/defer.js","../../../node_modules/underscore/modules/throttle.js","../../../node_modules/underscore/modules/debounce.js","../../../node_modules/underscore/modules/wrap.js","../../../node_modules/underscore/modules/negate.js","../../../node_modules/underscore/modules/compose.js","../../../node_modules/underscore/modules/after.js","../../../node_modules/underscore/modules/before.js","../../../node_modules/underscore/modules/once.js","../../../node_modules/underscore/modules/findKey.js","../../../node_modules/underscore/modules/_createPredicateIndexFinder.js","../../../node_modules/underscore/modules/findIndex.js","../../../node_modules/underscore/modules/findLastIndex.js","../../../node_modules/underscore/modules/sortedIndex.js","../../../node_modules/underscore/modules/_createIndexFinder.js","../../../node_modules/underscore/modules/indexOf.js","../../../node_modules/underscore/modules/lastIndexOf.js","../../../node_modules/underscore/modules/find.js","../../../node_modules/underscore/modules/findWhere.js","../../../node_modules/underscore/modules/each.js","../../../node_modules/underscore/modules/map.js","../../../node_modules/underscore/modules/_createReduce.js","../../../node_modules/underscore/modules/reduce.js","../../../node_modules/underscore/modules/reduceRight.js","../../../node_modules/underscore/modules/filter.js","../../../node_modules/underscore/modules/reject.js","../../../node_modules/underscore/modules/every.js","../../../node_modules/underscore/modules/some.js","../../../node_modules/underscore/modules/contains.js","../../../node_modules/underscore/modules/invoke.js","../../../node_modules/underscore/modules/pluck.js","../../../node_modules/underscore/modules/where.js","../../../node_modules/underscore/modules/max.js","../../../node_modules/underscore/modules/min.js","../../../node_modules/underscore/modules/toArray.js","../../../node_modules/underscore/modules/sample.js","../../../node_modules/underscore/modules/shuffle.js","../../../node_modules/underscore/modules/sortBy.js","../../../node_modules/underscore/modules/_group.js","../../../node_modules/underscore/modules/groupBy.js","../../../node_modules/underscore/modules/indexBy.js","../../../node_modules/underscore/modules/countBy.js","../../../node_modules/underscore/modules/partition.js","../../../node_modules/underscore/modules/size.js","../../../node_modules/underscore/modules/_keyInObj.js","../../../node_modules/underscore/modules/pick.js","../../../node_modules/underscore/modules/omit.js","../../../node_modules/underscore/modules/initial.js","../../../node_modules/underscore/modules/first.js","../../../node_modules/underscore/modules/rest.js","../../../node_modules/underscore/modules/last.js","../../../node_modules/underscore/modules/compact.js","../../../node_modules/underscore/modules/flatten.js","../../../node_modules/underscore/modules/difference.js","../../../node_modules/underscore/modules/without.js","../../../node_modules/underscore/modules/uniq.js","../../../node_modules/underscore/modules/union.js","../../../node_modules/underscore/modules/intersection.js","../../../node_modules/underscore/modules/unzip.js","../../../node_modules/underscore/modules/zip.js","../../../node_modules/underscore/modules/object.js","../../../node_modules/underscore/modules/range.js","../../../node_modules/underscore/modules/chunk.js","../../../node_modules/underscore/modules/_chainResult.js","../../../node_modules/underscore/modules/mixin.js","../../../node_modules/underscore/modules/underscore-array-methods.js","../../../node_modules/underscore/modules/index-default.js","../../../node_modules/q-map-throttle/dist/index.js","../../../node_modules/q-map-throttle/index.js","../../../node_modules/mobile-device-detect/dist/index.js","../../../client/src/javascripts/customer_pages/_photo-loader/beamr/beamr.js","../../../client/src/javascripts/customer_pages/_photo-loader/upload-analytics.js","../../../client/src/javascripts/customer_pages/_photo-loader/upload-timings.js","../../../client/src/javascripts/customer_pages/_photo-loader/utils/show-login-overlay.js","../../../client/src/javascripts/customer_pages/_photo-loader/loader-mixins/generic-paginated-upload-mixin.js","../../../client/src/javascripts/customer_pages/_utils/image-upload-file-validator.js","../../../node_modules/moment/moment.js","../../../node_modules/moment/locale/en-gb.js","../../../client/src/javascripts/customer_pages/_photo-loader/utils/utils.js"],"sourcesContent":["const e=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:global,t=Object.keys,n=Array.isArray;function r(e,n){return\"object\"!=typeof n||t(n).forEach((function(t){e[t]=n[t]})),e}\"undefined\"==typeof Promise||e.Promise||(e.Promise=Promise);const s=Object.getPrototypeOf,i={}.hasOwnProperty;function o(e,t){return i.call(e,t)}function a(e,n){\"function\"==typeof n&&(n=n(s(e))),(\"undefined\"==typeof Reflect?t:Reflect.ownKeys)(n).forEach((t=>{l(e,t,n[t])}))}const u=Object.defineProperty;function l(e,t,n,s){u(e,t,r(n&&o(n,\"get\")&&\"function\"==typeof n.get?{get:n.get,set:n.set,configurable:!0}:{value:n,configurable:!0,writable:!0},s))}function c(e){return{from:function(t){return e.prototype=Object.create(t.prototype),l(e.prototype,\"constructor\",e),{extend:a.bind(null,e.prototype)}}}}const h=Object.getOwnPropertyDescriptor;function d(e,t){let n;return h(e,t)||(n=s(e))&&d(n,t)}const f=[].slice;function p(e,t,n){return f.call(e,t,n)}function y(e,t){return t(e)}function m(e){if(!e)throw new Error(\"Assertion Failed\")}function v(t){e.setImmediate?setImmediate(t):setTimeout(t,0)}function g(e,t){return e.reduce(((e,n,r)=>{var s=t(n,r);return s&&(e[s[0]]=s[1]),e}),{})}function b(e,t){if(\"string\"==typeof t&&o(e,t))return e[t];if(!t)return e;if(\"string\"!=typeof t){for(var n=[],r=0,s=t.length;r<s;++r){var i=b(e,t[r]);n.push(i)}return n}var a=t.indexOf(\".\");if(-1!==a){var u=e[t.substr(0,a)];return null==u?void 0:b(u,t.substr(a+1))}}function _(e,t,r){if(e&&void 0!==t&&(!(\"isFrozen\"in Object)||!Object.isFrozen(e)))if(\"string\"!=typeof t&&\"length\"in t){m(\"string\"!=typeof r&&\"length\"in r);for(var s=0,i=t.length;s<i;++s)_(e,t[s],r[s])}else{var a=t.indexOf(\".\");if(-1!==a){var u=t.substr(0,a),l=t.substr(a+1);if(\"\"===l)void 0===r?n(e)&&!isNaN(parseInt(u))?e.splice(u,1):delete e[u]:e[u]=r;else{var c=e[u];c&&o(e,u)||(c=e[u]={}),_(c,l,r)}}else void 0===r?n(e)&&!isNaN(parseInt(t))?e.splice(t,1):delete e[t]:e[t]=r}}function w(e){var t={};for(var n in e)o(e,n)&&(t[n]=e[n]);return t}const x=[].concat;function k(e){return x.apply([],e)}const E=\"BigUint64Array,BigInt64Array,Array,Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,FileSystemDirectoryHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey\".split(\",\").concat(k([8,16,32,64].map((e=>[\"Int\",\"Uint\",\"Float\"].map((t=>t+e+\"Array\")))))).filter((t=>e[t])),P=E.map((t=>e[t]));g(E,(e=>[e,!0]));let K=null;function O(e){K=\"undefined\"!=typeof WeakMap&&new WeakMap;const t=S(e);return K=null,t}function S(e){if(!e||\"object\"!=typeof e)return e;let t=K&&K.get(e);if(t)return t;if(n(e)){t=[],K&&K.set(e,t);for(var r=0,i=e.length;r<i;++r)t.push(S(e[r]))}else if(P.indexOf(e.constructor)>=0)t=e;else{const n=s(e);for(var a in t=n===Object.prototype?{}:Object.create(n),K&&K.set(e,t),e)o(e,a)&&(t[a]=S(e[a]))}return t}const{toString:A}={};function C(e){return A.call(e).slice(8,-1)}const j=\"undefined\"!=typeof Symbol?Symbol.iterator:\"@@iterator\",D=\"symbol\"==typeof j?function(e){var t;return null!=e&&(t=e[j])&&t.apply(e)}:function(){return null},I={};function B(e){var t,r,s,i;if(1===arguments.length){if(n(e))return e.slice();if(this===I&&\"string\"==typeof e)return[e];if(i=D(e)){for(r=[];!(s=i.next()).done;)r.push(s.value);return r}if(null==e)return[e];if(\"number\"==typeof(t=e.length)){for(r=new Array(t);t--;)r[t]=e[t];return r}return[e]}for(t=arguments.length,r=new Array(t);t--;)r[t]=arguments[t];return r}const T=\"undefined\"!=typeof Symbol?e=>\"AsyncFunction\"===e[Symbol.toStringTag]:()=>!1;var R=\"undefined\"!=typeof location&&/^(http|https):\\/\\/(localhost|127\\.0\\.0\\.1)/.test(location.href);function F(e,t){R=e,M=t}var M=()=>!0;const N=!new Error(\"\").stack;function q(){if(N)try{throw q.arguments,new Error}catch(e){return e}return new Error}function $(e,t){var n=e.stack;return n?(t=t||0,0===n.indexOf(e.name)&&(t+=(e.name+e.message).split(\"\\n\").length),n.split(\"\\n\").slice(t).filter(M).map((e=>\"\\n\"+e)).join(\"\")):\"\"}var U=[\"Unknown\",\"Constraint\",\"Data\",\"TransactionInactive\",\"ReadOnly\",\"Version\",\"NotFound\",\"InvalidState\",\"InvalidAccess\",\"Abort\",\"Timeout\",\"QuotaExceeded\",\"Syntax\",\"DataClone\"],L=[\"Modify\",\"Bulk\",\"OpenFailed\",\"VersionChange\",\"Schema\",\"Upgrade\",\"InvalidTable\",\"MissingAPI\",\"NoSuchDatabase\",\"InvalidArgument\",\"SubTransaction\",\"Unsupported\",\"Internal\",\"DatabaseClosed\",\"PrematureCommit\",\"ForeignAwait\"].concat(U),V={VersionChanged:\"Database version changed by other database connection\",DatabaseClosed:\"Database has been closed\",Abort:\"Transaction aborted\",TransactionInactive:\"Transaction has already completed or failed\",MissingAPI:\"IndexedDB API missing. Please visit https://tinyurl.com/y2uuvskb\"};function W(e,t){this._e=q(),this.name=e,this.message=t}function Y(e,t){return e+\". Errors: \"+Object.keys(t).map((e=>t[e].toString())).filter(((e,t,n)=>n.indexOf(e)===t)).join(\"\\n\")}function z(e,t,n,r){this._e=q(),this.failures=t,this.failedKeys=r,this.successCount=n,this.message=Y(e,t)}function G(e,t){this._e=q(),this.name=\"BulkError\",this.failures=Object.keys(t).map((e=>t[e])),this.failuresByPos=t,this.message=Y(e,t)}c(W).from(Error).extend({stack:{get:function(){return this._stack||(this._stack=this.name+\": \"+this.message+$(this._e,2))}},toString:function(){return this.name+\": \"+this.message}}),c(z).from(W),c(G).from(W);var H=L.reduce(((e,t)=>(e[t]=t+\"Error\",e)),{});const Q=W;var X=L.reduce(((e,t)=>{var n=t+\"Error\";function r(e,r){this._e=q(),this.name=n,e?\"string\"==typeof e?(this.message=`${e}${r?\"\\n \"+r:\"\"}`,this.inner=r||null):\"object\"==typeof e&&(this.message=`${e.name} ${e.message}`,this.inner=e):(this.message=V[t]||n,this.inner=null)}return c(r).from(Q),e[t]=r,e}),{});X.Syntax=SyntaxError,X.Type=TypeError,X.Range=RangeError;var J=U.reduce(((e,t)=>(e[t+\"Error\"]=X[t],e)),{});var Z=L.reduce(((e,t)=>(-1===[\"Syntax\",\"Type\",\"Range\"].indexOf(t)&&(e[t+\"Error\"]=X[t]),e)),{});function ee(){}function te(e){return e}function ne(e,t){return null==e||e===te?t:function(n){return t(e(n))}}function re(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function se(e,t){return e===ee?t:function(){var n=e.apply(this,arguments);void 0!==n&&(arguments[0]=n);var r=this.onsuccess,s=this.onerror;this.onsuccess=null,this.onerror=null;var i=t.apply(this,arguments);return r&&(this.onsuccess=this.onsuccess?re(r,this.onsuccess):r),s&&(this.onerror=this.onerror?re(s,this.onerror):s),void 0!==i?i:n}}function ie(e,t){return e===ee?t:function(){e.apply(this,arguments);var n=this.onsuccess,r=this.onerror;this.onsuccess=this.onerror=null,t.apply(this,arguments),n&&(this.onsuccess=this.onsuccess?re(n,this.onsuccess):n),r&&(this.onerror=this.onerror?re(r,this.onerror):r)}}function oe(e,t){return e===ee?t:function(n){var s=e.apply(this,arguments);r(n,s);var i=this.onsuccess,o=this.onerror;this.onsuccess=null,this.onerror=null;var a=t.apply(this,arguments);return i&&(this.onsuccess=this.onsuccess?re(i,this.onsuccess):i),o&&(this.onerror=this.onerror?re(o,this.onerror):o),void 0===s?void 0===a?void 0:a:r(s,a)}}function ae(e,t){return e===ee?t:function(){return!1!==t.apply(this,arguments)&&e.apply(this,arguments)}}function ue(e,t){return e===ee?t:function(){var n=e.apply(this,arguments);if(n&&\"function\"==typeof n.then){for(var r=this,s=arguments.length,i=new Array(s);s--;)i[s]=arguments[s];return n.then((function(){return t.apply(r,i)}))}return t.apply(this,arguments)}}Z.ModifyError=z,Z.DexieError=W,Z.BulkError=G;var le={};const ce=100,[he,de,fe]=\"undefined\"==typeof Promise?[]:(()=>{let e=Promise.resolve();if(\"undefined\"==typeof crypto||!crypto.subtle)return[e,s(e),e];const t=crypto.subtle.digest(\"SHA-512\",new Uint8Array([0]));return[t,s(t),e]})(),pe=de&&de.then,ye=he&&he.constructor,me=!!fe;var ve=!1,ge=fe?()=>{fe.then($e)}:e.setImmediate?setImmediate.bind(null,$e):e.MutationObserver?()=>{var e=document.createElement(\"div\");new MutationObserver((()=>{$e(),e=null})).observe(e,{attributes:!0}),e.setAttribute(\"i\",\"1\")}:()=>{setTimeout($e,0)},be=function(e,t){Se.push([e,t]),we&&(ge(),we=!1)},_e=!0,we=!0,xe=[],ke=[],Ee=null,Pe=te,Ke={id:\"global\",global:!0,ref:0,unhandleds:[],onunhandled:dt,pgp:!1,env:{},finalize:function(){this.unhandleds.forEach((e=>{try{dt(e[0],e[1])}catch(e){}}))}},Oe=Ke,Se=[],Ae=0,Ce=[];function je(e){if(\"object\"!=typeof this)throw new TypeError(\"Promises must be constructed via new\");this._listeners=[],this.onuncatched=ee,this._lib=!1;var t=this._PSD=Oe;if(R&&(this._stackHolder=q(),this._prev=null,this._numPrev=0),\"function\"!=typeof e){if(e!==le)throw new TypeError(\"Not a function\");return this._state=arguments[1],this._value=arguments[2],void(!1===this._state&&Te(this,this._value))}this._state=null,this._value=null,++t.ref,Be(this,e)}const De={get:function(){var e=Oe,t=Xe;function n(n,r){var s=!e.global&&(e!==Oe||t!==Xe);const i=s&&!tt();var o=new je(((t,o)=>{Fe(this,new Ie(lt(n,e,s,i),lt(r,e,s,i),t,o,e))}));return R&&qe(o,this),o}return n.prototype=le,n},set:function(e){l(this,\"then\",e&&e.prototype===le?De:{get:function(){return e},set:De.set})}};function Ie(e,t,n,r,s){this.onFulfilled=\"function\"==typeof e?e:null,this.onRejected=\"function\"==typeof t?t:null,this.resolve=n,this.reject=r,this.psd=s}function Be(e,t){try{t((t=>{if(null===e._state){if(t===e)throw new TypeError(\"A promise cannot be resolved with itself.\");var n=e._lib&&Ue();t&&\"function\"==typeof t.then?Be(e,((e,n)=>{t instanceof je?t._then(e,n):t.then(e,n)})):(e._state=!0,e._value=t,Re(e)),n&&Le()}}),Te.bind(null,e))}catch(t){Te(e,t)}}function Te(e,t){if(ke.push(t),null===e._state){var n=e._lib&&Ue();t=Pe(t),e._state=!1,e._value=t,R&&null!==t&&\"object\"==typeof t&&!t._promise&&function(e,t,n){try{e.apply(null,n)}catch(e){t&&t(e)}}((()=>{var n=d(t,\"stack\");t._promise=e,l(t,\"stack\",{get:()=>ve?n&&(n.get?n.get.apply(t):n.value):e.stack})})),function(e){xe.some((t=>t._value===e._value))||xe.push(e)}(e),Re(e),n&&Le()}}function Re(e){var t=e._listeners;e._listeners=[];for(var n=0,r=t.length;n<r;++n)Fe(e,t[n]);var s=e._PSD;--s.ref||s.finalize(),0===Ae&&(++Ae,be((()=>{0==--Ae&&Ve()}),[]))}function Fe(e,t){if(null!==e._state){var n=e._state?t.onFulfilled:t.onRejected;if(null===n)return(e._state?t.resolve:t.reject)(e._value);++t.psd.ref,++Ae,be(Me,[n,e,t])}else e._listeners.push(t)}function Me(e,t,n){try{Ee=t;var r,s=t._value;t._state?r=e(s):(ke.length&&(ke=[]),r=e(s),-1===ke.indexOf(s)&&function(e){var t=xe.length;for(;t;)if(xe[--t]._value===e._value)return void xe.splice(t,1)}(t)),n.resolve(r)}catch(e){n.reject(e)}finally{Ee=null,0==--Ae&&Ve(),--n.psd.ref||n.psd.finalize()}}function Ne(e,t,n){if(t.length===n)return t;var r=\"\";if(!1===e._state){var s,i,o=e._value;null!=o?(s=o.name||\"Error\",i=o.message||o,r=$(o,0)):(s=o,i=\"\"),t.push(s+(i?\": \"+i:\"\")+r)}return R&&((r=$(e._stackHolder,2))&&-1===t.indexOf(r)&&t.push(r),e._prev&&Ne(e._prev,t,n)),t}function qe(e,t){var n=t?t._numPrev+1:0;n<100&&(e._prev=t,e._numPrev=n)}function $e(){Ue()&&Le()}function Ue(){var e=_e;return _e=!1,we=!1,e}function Le(){var e,t,n;do{for(;Se.length>0;)for(e=Se,Se=[],n=e.length,t=0;t<n;++t){var r=e[t];r[0].apply(null,r[1])}}while(Se.length>0);_e=!0,we=!0}function Ve(){var e=xe;xe=[],e.forEach((e=>{e._PSD.onunhandled.call(null,e._value,e)}));for(var t=Ce.slice(0),n=t.length;n;)t[--n]()}function We(e){return new je(le,!1,e)}function Ye(e,t){var n=Oe;return function(){var r=Ue(),s=Oe;try{return it(n,!0),e.apply(this,arguments)}catch(e){t&&t(e)}finally{it(s,!1),r&&Le()}}}a(je.prototype,{then:De,_then:function(e,t){Fe(this,new Ie(null,null,e,t,Oe))},catch:function(e){if(1===arguments.length)return this.then(null,e);var t=arguments[0],n=arguments[1];return\"function\"==typeof t?this.then(null,(e=>e instanceof t?n(e):We(e))):this.then(null,(e=>e&&e.name===t?n(e):We(e)))},finally:function(e){return this.then((t=>(e(),t)),(t=>(e(),We(t))))},stack:{get:function(){if(this._stack)return this._stack;try{ve=!0;var e=Ne(this,[],20).join(\"\\nFrom previous: \");return null!==this._state&&(this._stack=e),e}finally{ve=!1}}},timeout:function(e,t){return e<1/0?new je(((n,r)=>{var s=setTimeout((()=>r(new X.Timeout(t))),e);this.then(n,r).finally(clearTimeout.bind(null,s))})):this}}),\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&l(je.prototype,Symbol.toStringTag,\"Dexie.Promise\"),Ke.env=ot(),a(je,{all:function(){var e=B.apply(null,arguments).map(nt);return new je((function(t,n){0===e.length&&t([]);var r=e.length;e.forEach(((s,i)=>je.resolve(s).then((n=>{e[i]=n,--r||t(e)}),n)))}))},resolve:e=>{if(e instanceof je)return e;if(e&&\"function\"==typeof e.then)return new je(((t,n)=>{e.then(t,n)}));var t=new je(le,!0,e);return qe(t,Ee),t},reject:We,race:function(){var e=B.apply(null,arguments).map(nt);return new je(((t,n)=>{e.map((e=>je.resolve(e).then(t,n)))}))},PSD:{get:()=>Oe,set:e=>Oe=e},totalEchoes:{get:()=>Xe},newPSD:Ze,usePSD:at,scheduler:{get:()=>be,set:e=>{be=e}},rejectionMapper:{get:()=>Pe,set:e=>{Pe=e}},follow:(e,t)=>new je(((n,r)=>Ze(((t,n)=>{var r=Oe;r.unhandleds=[],r.onunhandled=n,r.finalize=re((function(){!function(e){function t(){e(),Ce.splice(Ce.indexOf(t),1)}Ce.push(t),++Ae,be((()=>{0==--Ae&&Ve()}),[])}((()=>{0===this.unhandleds.length?t():n(this.unhandleds[0])}))}),r.finalize),e()}),t,n,r)))}),ye&&(ye.allSettled&&l(je,\"allSettled\",(function(){const e=B.apply(null,arguments).map(nt);return new je((t=>{0===e.length&&t([]);let n=e.length;const r=new Array(n);e.forEach(((e,s)=>je.resolve(e).then((e=>r[s]={status:\"fulfilled\",value:e}),(e=>r[s]={status:\"rejected\",reason:e})).then((()=>--n||t(r)))))}))})),ye.any&&\"undefined\"!=typeof AggregateError&&l(je,\"any\",(function(){const e=B.apply(null,arguments).map(nt);return new je(((t,n)=>{0===e.length&&n(new AggregateError([]));let r=e.length;const s=new Array(r);e.forEach(((e,i)=>je.resolve(e).then((e=>t(e)),(e=>{s[i]=e,--r||n(new AggregateError(s))}))))}))})));const ze={awaits:0,echoes:0,id:0};var Ge=0,He=[],Qe=0,Xe=0,Je=0;function Ze(e,t,n,s){var i=Oe,o=Object.create(i);o.parent=i,o.ref=0,o.global=!1,o.id=++Je;var a=Ke.env;o.env=me?{Promise:je,PromiseProp:{value:je,configurable:!0,writable:!0},all:je.all,race:je.race,allSettled:je.allSettled,any:je.any,resolve:je.resolve,reject:je.reject,nthen:ct(a.nthen,o),gthen:ct(a.gthen,o)}:{},t&&r(o,t),++i.ref,o.finalize=function(){--this.parent.ref||this.parent.finalize()};var u=at(o,e,n,s);return 0===o.ref&&o.finalize(),u}function et(){return ze.id||(ze.id=++Ge),++ze.awaits,ze.echoes+=ce,ze.id}function tt(){return!!ze.awaits&&(0==--ze.awaits&&(ze.id=0),ze.echoes=ze.awaits*ce,!0)}function nt(e){return ze.echoes&&e&&e.constructor===ye?(et(),e.then((e=>(tt(),e)),(e=>(tt(),ft(e))))):e}function rt(e){++Xe,ze.echoes&&0!=--ze.echoes||(ze.echoes=ze.id=0),He.push(Oe),it(e,!0)}function st(){var e=He[He.length-1];He.pop(),it(e,!1)}function it(t,n){var r=Oe;if((n?!ze.echoes||Qe++&&t===Oe:!Qe||--Qe&&t===Oe)||ut(n?rt.bind(null,t):st),t!==Oe&&(Oe=t,r===Ke&&(Ke.env=ot()),me)){var s=Ke.env.Promise,i=t.env;de.then=i.nthen,s.prototype.then=i.gthen,(r.global||t.global)&&(Object.defineProperty(e,\"Promise\",i.PromiseProp),s.all=i.all,s.race=i.race,s.resolve=i.resolve,s.reject=i.reject,i.allSettled&&(s.allSettled=i.allSettled),i.any&&(s.any=i.any))}}function ot(){var t=e.Promise;return me?{Promise:t,PromiseProp:Object.getOwnPropertyDescriptor(e,\"Promise\"),all:t.all,race:t.race,allSettled:t.allSettled,any:t.any,resolve:t.resolve,reject:t.reject,nthen:de.then,gthen:t.prototype.then}:{}}function at(e,t,n,r,s){var i=Oe;try{return it(e,!0),t(n,r,s)}finally{it(i,!1)}}function ut(e){pe.call(he,e)}function lt(e,t,n,r){return\"function\"!=typeof e?e:function(){var s=Oe;n&&et(),it(t,!0);try{return e.apply(this,arguments)}finally{it(s,!1),r&&ut(tt)}}}function ct(e,t){return function(n,r){return e.call(this,lt(n,t),lt(r,t))}}-1===(\"\"+pe).indexOf(\"[native code]\")&&(et=tt=ee);const ht=\"unhandledrejection\";function dt(t,n){var s;try{s=n.onuncatched(t)}catch(e){}if(!1!==s)try{var i,o={promise:n,reason:t};if(e.document&&document.createEvent?((i=document.createEvent(\"Event\")).initEvent(ht,!0,!0),r(i,o)):e.CustomEvent&&r(i=new CustomEvent(ht,{detail:o}),o),i&&e.dispatchEvent&&(dispatchEvent(i),!e.PromiseRejectionEvent&&e.onunhandledrejection))try{e.onunhandledrejection(i)}catch(e){}R&&i&&!i.defaultPrevented&&console.warn(`Unhandled rejection: ${t.stack||t}`)}catch(e){}}var ft=je.reject;function pt(e,t,n,r){if(e.idbdb&&(e._state.openComplete||Oe.letThrough||e._vip)){var s=e._createTransaction(t,n,e._dbSchema);try{s.create(),e._state.PR1398_maxLoop=3}catch(s){return s.name===H.InvalidState&&e.isOpen()&&--e._state.PR1398_maxLoop>0?(console.warn(\"Dexie: Need to reopen db\"),e._close(),e.open().then((()=>pt(e,t,n,r)))):ft(s)}return s._promise(t,((e,t)=>Ze((()=>(Oe.trans=s,r(e,t,s)))))).then((e=>s._completion.then((()=>e))))}if(e._state.openComplete)return ft(new X.DatabaseClosed(e._state.dbOpenError));if(!e._state.isBeingOpened){if(!e._options.autoOpen)return ft(new X.DatabaseClosed);e.open().catch(ee)}return e._state.dbReadyPromise.then((()=>pt(e,t,n,r)))}const yt=\"3.2.7\",mt=String.fromCharCode(65535),vt=-1/0,gt=\"Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.\",bt=\"String expected.\",_t=[],wt=\"undefined\"!=typeof navigator&&/(MSIE|Trident|Edge)/.test(navigator.userAgent),xt=wt,kt=wt,Et=e=>!/(dexie\\.js|dexie\\.min\\.js)/.test(e),Pt=\"__dbnames\",Kt=\"readonly\",Ot=\"readwrite\";function St(e,t){return e?t?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:e:t}const At={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function Ct(e){return\"string\"!=typeof e||/\\./.test(e)?e=>e:t=>(void 0===t[e]&&e in t&&delete(t=O(t))[e],t)}class jt{_trans(e,t,n){const r=this._tx||Oe.trans,s=this.name;function i(e,n,r){if(!r.schema[s])throw new X.NotFound(\"Table \"+s+\" not part of transaction\");return t(r.idbtrans,r)}const o=Ue();try{return r&&r.db===this.db?r===Oe.trans?r._promise(e,i,n):Ze((()=>r._promise(e,i,n)),{trans:r,transless:Oe.transless||Oe}):pt(this.db,e,[this.name],i)}finally{o&&Le()}}get(e,t){return e&&e.constructor===Object?this.where(e).first(t):this._trans(\"readonly\",(t=>this.core.get({trans:t,key:e}).then((e=>this.hook.reading.fire(e))))).then(t)}where(e){if(\"string\"==typeof e)return new this.db.WhereClause(this,e);if(n(e))return new this.db.WhereClause(this,`[${e.join(\"+\")}]`);const r=t(e);if(1===r.length)return this.where(r[0]).equals(e[r[0]]);const s=this.schema.indexes.concat(this.schema.primKey).filter((e=>{if(e.compound&&r.every((t=>e.keyPath.indexOf(t)>=0))){for(let t=0;t<r.length;++t)if(-1===r.indexOf(e.keyPath[t]))return!1;return!0}return!1})).sort(((e,t)=>e.keyPath.length-t.keyPath.length))[0];if(s&&this.db._maxKey!==mt){const t=s.keyPath.slice(0,r.length);return this.where(t).equals(t.map((t=>e[t])))}!s&&R&&console.warn(`The query ${JSON.stringify(e)} on ${this.name} would benefit of a compound index [${r.join(\"+\")}]`);const{idxByName:i}=this.schema,o=this.db._deps.indexedDB;function a(e,t){try{return 0===o.cmp(e,t)}catch(e){return!1}}const[u,l]=r.reduce((([t,r],s)=>{const o=i[s],u=e[s];return[t||o,t||!o?St(r,o&&o.multi?e=>{const t=b(e,s);return n(t)&&t.some((e=>a(u,e)))}:e=>a(u,b(e,s))):r]}),[null,null]);return u?this.where(u.name).equals(e[u.keyPath]).filter(l):s?this.filter(l):this.where(r).equals(\"\")}filter(e){return this.toCollection().and(e)}count(e){return this.toCollection().count(e)}offset(e){return this.toCollection().offset(e)}limit(e){return this.toCollection().limit(e)}each(e){return this.toCollection().each(e)}toArray(e){return this.toCollection().toArray(e)}toCollection(){return new this.db.Collection(new this.db.WhereClause(this))}orderBy(e){return new this.db.Collection(new this.db.WhereClause(this,n(e)?`[${e.join(\"+\")}]`:e))}reverse(){return this.toCollection().reverse()}mapToClass(e){this.schema.mappedClass=e;const t=t=>{if(!t)return t;const n=Object.create(e.prototype);for(var r in t)if(o(t,r))try{n[r]=t[r]}catch(e){}return n};return this.schema.readHook&&this.hook.reading.unsubscribe(this.schema.readHook),this.schema.readHook=t,this.hook(\"reading\",t),e}defineClass(){return this.mapToClass((function(e){r(this,e)}))}add(e,t){const{auto:n,keyPath:r}=this.schema.primKey;let s=e;return r&&n&&(s=Ct(r)(e)),this._trans(\"readwrite\",(e=>this.core.mutate({trans:e,type:\"add\",keys:null!=t?[t]:null,values:[s]}))).then((e=>e.numFailures?je.reject(e.failures[0]):e.lastResult)).then((t=>{if(r)try{_(e,r,t)}catch(e){}return t}))}update(e,r){if(\"object\"!=typeof e||n(e))return this.where(\":id\").equals(e).modify(r);{const n=b(e,this.schema.primKey.keyPath);if(void 0===n)return ft(new X.InvalidArgument(\"Given object does not contain its primary key\"));try{\"function\"!=typeof r?t(r).forEach((t=>{_(e,t,r[t])})):r(e,{value:e,primKey:n})}catch(e){}return this.where(\":id\").equals(n).modify(r)}}put(e,t){const{auto:n,keyPath:r}=this.schema.primKey;let s=e;return r&&n&&(s=Ct(r)(e)),this._trans(\"readwrite\",(e=>this.core.mutate({trans:e,type:\"put\",values:[s],keys:null!=t?[t]:null}))).then((e=>e.numFailures?je.reject(e.failures[0]):e.lastResult)).then((t=>{if(r)try{_(e,r,t)}catch(e){}return t}))}delete(e){return this._trans(\"readwrite\",(t=>this.core.mutate({trans:t,type:\"delete\",keys:[e]}))).then((e=>e.numFailures?je.reject(e.failures[0]):void 0))}clear(){return this._trans(\"readwrite\",(e=>this.core.mutate({trans:e,type:\"deleteRange\",range:At}))).then((e=>e.numFailures?je.reject(e.failures[0]):void 0))}bulkGet(e){return this._trans(\"readonly\",(t=>this.core.getMany({keys:e,trans:t}).then((e=>e.map((e=>this.hook.reading.fire(e)))))))}bulkAdd(e,t,n){const r=Array.isArray(t)?t:void 0,s=(n=n||(r?void 0:t))?n.allKeys:void 0;return this._trans(\"readwrite\",(t=>{const{auto:n,keyPath:i}=this.schema.primKey;if(i&&r)throw new X.InvalidArgument(\"bulkAdd(): keys argument invalid on tables with inbound keys\");if(r&&r.length!==e.length)throw new X.InvalidArgument(\"Arguments objects and keys must have the same length\");const o=e.length;let a=i&&n?e.map(Ct(i)):e;return this.core.mutate({trans:t,type:\"add\",keys:r,values:a,wantResults:s}).then((({numFailures:e,results:t,lastResult:n,failures:r})=>{if(0===e)return s?t:n;throw new G(`${this.name}.bulkAdd(): ${e} of ${o} operations failed`,r)}))}))}bulkPut(e,t,n){const r=Array.isArray(t)?t:void 0,s=(n=n||(r?void 0:t))?n.allKeys:void 0;return this._trans(\"readwrite\",(t=>{const{auto:n,keyPath:i}=this.schema.primKey;if(i&&r)throw new X.InvalidArgument(\"bulkPut(): keys argument invalid on tables with inbound keys\");if(r&&r.length!==e.length)throw new X.InvalidArgument(\"Arguments objects and keys must have the same length\");const o=e.length;let a=i&&n?e.map(Ct(i)):e;return this.core.mutate({trans:t,type:\"put\",keys:r,values:a,wantResults:s}).then((({numFailures:e,results:t,lastResult:n,failures:r})=>{if(0===e)return s?t:n;throw new G(`${this.name}.bulkPut(): ${e} of ${o} operations failed`,r)}))}))}bulkDelete(e){const t=e.length;return this._trans(\"readwrite\",(t=>this.core.mutate({trans:t,type:\"delete\",keys:e}))).then((({numFailures:e,lastResult:n,failures:r})=>{if(0===e)return n;throw new G(`${this.name}.bulkDelete(): ${e} of ${t} operations failed`,r)}))}}function Dt(e){var r={},s=function(t,n){if(n){for(var s=arguments.length,i=new Array(s-1);--s;)i[s-1]=arguments[s];return r[t].subscribe.apply(null,i),e}if(\"string\"==typeof t)return r[t]};s.addEventType=a;for(var i=1,o=arguments.length;i<o;++i)a(arguments[i]);return s;function a(e,i,o){if(\"object\"!=typeof e){var u;i||(i=ae),o||(o=ee);var l={subscribers:[],fire:o,subscribe:function(e){-1===l.subscribers.indexOf(e)&&(l.subscribers.push(e),l.fire=i(l.fire,e))},unsubscribe:function(e){l.subscribers=l.subscribers.filter((function(t){return t!==e})),l.fire=l.subscribers.reduce(i,o)}};return r[e]=s[e]=l,l}t(u=e).forEach((function(e){var t=u[e];if(n(t))a(e,u[e][0],u[e][1]);else{if(\"asap\"!==t)throw new X.InvalidArgument(\"Invalid event config\");var r=a(e,te,(function(){for(var e=arguments.length,t=new Array(e);e--;)t[e]=arguments[e];r.subscribers.forEach((function(e){v((function(){e.apply(null,t)}))}))}))}}))}}function It(e,t){return c(t).from({prototype:e}),t}function Bt(e,t){return!(e.filter||e.algorithm||e.or)&&(t?e.justLimit:!e.replayFilter)}function Tt(e,t){e.filter=St(e.filter,t)}function Rt(e,t,n){var r=e.replayFilter;e.replayFilter=r?()=>St(r(),t()):t,e.justLimit=n&&!r}function Ft(e,t){if(e.isPrimKey)return t.primaryKey;const n=t.getIndexByKeyPath(e.index);if(!n)throw new X.Schema(\"KeyPath \"+e.index+\" on object store \"+t.name+\" is not indexed\");return n}function Mt(e,t,n){const r=Ft(e,t.schema);return t.openCursor({trans:n,values:!e.keysOnly,reverse:\"prev\"===e.dir,unique:!!e.unique,query:{index:r,range:e.range}})}function Nt(e,t,n,r){const s=e.replayFilter?St(e.filter,e.replayFilter()):e.filter;if(e.or){const i={},a=(e,n,r)=>{if(!s||s(n,r,(e=>n.stop(e)),(e=>n.fail(e)))){var a=n.primaryKey,u=\"\"+a;\"[object ArrayBuffer]\"===u&&(u=\"\"+new Uint8Array(a)),o(i,u)||(i[u]=!0,t(e,n,r))}};return Promise.all([e.or._iterate(a,n),qt(Mt(e,r,n),e.algorithm,a,!e.keysOnly&&e.valueMapper)])}return qt(Mt(e,r,n),St(e.algorithm,s),t,!e.keysOnly&&e.valueMapper)}function qt(e,t,n,r){var s=Ye(r?(e,t,s)=>n(r(e),t,s):n);return e.then((e=>{if(e)return e.start((()=>{var n=()=>e.continue();t&&!t(e,(e=>n=e),(t=>{e.stop(t),n=ee}),(t=>{e.fail(t),n=ee}))||s(e.value,e,(e=>n=e)),n()}))}))}function $t(e,t){try{const n=Ut(e),r=Ut(t);if(n!==r)return\"Array\"===n?1:\"Array\"===r?-1:\"binary\"===n?1:\"binary\"===r?-1:\"string\"===n?1:\"string\"===r?-1:\"Date\"===n?1:\"Date\"!==r?NaN:-1;switch(n){case\"number\":case\"Date\":case\"string\":return e>t?1:e<t?-1:0;case\"binary\":return function(e,t){const n=e.length,r=t.length,s=n<r?n:r;for(let n=0;n<s;++n)if(e[n]!==t[n])return e[n]<t[n]?-1:1;return n===r?0:n<r?-1:1}(Lt(e),Lt(t));case\"Array\":return function(e,t){const n=e.length,r=t.length,s=n<r?n:r;for(let n=0;n<s;++n){const r=$t(e[n],t[n]);if(0!==r)return r}return n===r?0:n<r?-1:1}(e,t)}}catch(e){}return NaN}function Ut(e){const t=typeof e;if(\"object\"!==t)return t;if(ArrayBuffer.isView(e))return\"binary\";const n=C(e);return\"ArrayBuffer\"===n?\"binary\":n}function Lt(e){return e instanceof Uint8Array?e:ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e)}class Vt{_read(e,t){var n=this._ctx;return n.error?n.table._trans(null,ft.bind(null,n.error)):n.table._trans(\"readonly\",e).then(t)}_write(e){var t=this._ctx;return t.error?t.table._trans(null,ft.bind(null,t.error)):t.table._trans(\"readwrite\",e,\"locked\")}_addAlgorithm(e){var t=this._ctx;t.algorithm=St(t.algorithm,e)}_iterate(e,t){return Nt(this._ctx,e,t,this._ctx.table.core)}clone(e){var t=Object.create(this.constructor.prototype),n=Object.create(this._ctx);return e&&r(n,e),t._ctx=n,t}raw(){return this._ctx.valueMapper=null,this}each(e){var t=this._ctx;return this._read((n=>Nt(t,e,n,t.table.core)))}count(e){return this._read((e=>{const t=this._ctx,n=t.table.core;if(Bt(t,!0))return n.count({trans:e,query:{index:Ft(t,n.schema),range:t.range}}).then((e=>Math.min(e,t.limit)));var r=0;return Nt(t,(()=>(++r,!1)),e,n).then((()=>r))})).then(e)}sortBy(e,t){const n=e.split(\".\").reverse(),r=n[0],s=n.length-1;function i(e,t){return t?i(e[n[t]],t-1):e[r]}var o=\"next\"===this._ctx.dir?1:-1;function a(e,t){var n=i(e,s),r=i(t,s);return n<r?-o:n>r?o:0}return this.toArray((function(e){return e.sort(a)})).then(t)}toArray(e){return this._read((e=>{var t=this._ctx;if(\"next\"===t.dir&&Bt(t,!0)&&t.limit>0){const{valueMapper:n}=t,r=Ft(t,t.table.core.schema);return t.table.core.query({trans:e,limit:t.limit,values:!0,query:{index:r,range:t.range}}).then((({result:e})=>n?e.map(n):e))}{const n=[];return Nt(t,(e=>n.push(e)),e,t.table.core).then((()=>n))}}),e)}offset(e){var t=this._ctx;return e<=0||(t.offset+=e,Bt(t)?Rt(t,(()=>{var t=e;return(e,n)=>0===t||(1===t?(--t,!1):(n((()=>{e.advance(t),t=0})),!1))})):Rt(t,(()=>{var t=e;return()=>--t<0}))),this}limit(e){return this._ctx.limit=Math.min(this._ctx.limit,e),Rt(this._ctx,(()=>{var t=e;return function(e,n,r){return--t<=0&&n(r),t>=0}}),!0),this}until(e,t){return Tt(this._ctx,(function(n,r,s){return!e(n.value)||(r(s),t)})),this}first(e){return this.limit(1).toArray((function(e){return e[0]})).then(e)}last(e){return this.reverse().first(e)}filter(e){var t,n;return Tt(this._ctx,(function(t){return e(t.value)})),t=this._ctx,n=e,t.isMatch=St(t.isMatch,n),this}and(e){return this.filter(e)}or(e){return new this.db.WhereClause(this._ctx.table,e,this)}reverse(){return this._ctx.dir=\"prev\"===this._ctx.dir?\"next\":\"prev\",this._ondirectionchange&&this._ondirectionchange(this._ctx.dir),this}desc(){return this.reverse()}eachKey(e){var t=this._ctx;return t.keysOnly=!t.isMatch,this.each((function(t,n){e(n.key,n)}))}eachUniqueKey(e){return this._ctx.unique=\"unique\",this.eachKey(e)}eachPrimaryKey(e){var t=this._ctx;return t.keysOnly=!t.isMatch,this.each((function(t,n){e(n.primaryKey,n)}))}keys(e){var t=this._ctx;t.keysOnly=!t.isMatch;var n=[];return this.each((function(e,t){n.push(t.key)})).then((function(){return n})).then(e)}primaryKeys(e){var t=this._ctx;if(\"next\"===t.dir&&Bt(t,!0)&&t.limit>0)return this._read((e=>{var n=Ft(t,t.table.core.schema);return t.table.core.query({trans:e,values:!1,limit:t.limit,query:{index:n,range:t.range}})})).then((({result:e})=>e)).then(e);t.keysOnly=!t.isMatch;var n=[];return this.each((function(e,t){n.push(t.primaryKey)})).then((function(){return n})).then(e)}uniqueKeys(e){return this._ctx.unique=\"unique\",this.keys(e)}firstKey(e){return this.limit(1).keys((function(e){return e[0]})).then(e)}lastKey(e){return this.reverse().firstKey(e)}distinct(){var e=this._ctx,t=e.index&&e.table.schema.idxByName[e.index];if(!t||!t.multi)return this;var n={};return Tt(this._ctx,(function(e){var t=e.primaryKey.toString(),r=o(n,t);return n[t]=!0,!r})),this}modify(e){var n=this._ctx;return this._write((r=>{var s;if(\"function\"==typeof e)s=e;else{var i=t(e),o=i.length;s=function(t){for(var n=!1,r=0;r<o;++r){var s=i[r],a=e[s];b(t,s)!==a&&(_(t,s,a),n=!0)}return n}}const a=n.table.core,{outbound:u,extractKey:l}=a.schema.primaryKey,c=this.db._options.modifyChunkSize||200,h=[];let d=0;const f=[],p=(e,n)=>{const{failures:r,numFailures:s}=n;d+=e-s;for(let e of t(r))h.push(r[e])};return this.clone().primaryKeys().then((t=>{const i=o=>{const h=Math.min(c,t.length-o);return a.getMany({trans:r,keys:t.slice(o,o+h),cache:\"immutable\"}).then((d=>{const f=[],y=[],m=u?[]:null,v=[];for(let e=0;e<h;++e){const n=d[e],r={value:O(n),primKey:t[o+e]};!1!==s.call(r,r.value,r)&&(null==r.value?v.push(t[o+e]):u||0===$t(l(n),l(r.value))?(y.push(r.value),u&&m.push(t[o+e])):(v.push(t[o+e]),f.push(r.value)))}const g=Bt(n)&&n.limit===1/0&&(\"function\"!=typeof e||e===Wt)&&{index:n.index,range:n.range};return Promise.resolve(f.length>0&&a.mutate({trans:r,type:\"add\",values:f}).then((e=>{for(let t in e.failures)v.splice(parseInt(t),1);p(f.length,e)}))).then((()=>(y.length>0||g&&\"object\"==typeof e)&&a.mutate({trans:r,type:\"put\",keys:m,values:y,criteria:g,changeSpec:\"function\"!=typeof e&&e}).then((e=>p(y.length,e))))).then((()=>(v.length>0||g&&e===Wt)&&a.mutate({trans:r,type:\"delete\",keys:v,criteria:g}).then((e=>p(v.length,e))))).then((()=>t.length>o+h&&i(o+c)))}))};return i(0).then((()=>{if(h.length>0)throw new z(\"Error modifying one or more objects\",h,d,f);return t.length}))}))}))}delete(){var e=this._ctx,t=e.range;return Bt(e)&&(e.isPrimKey&&!kt||3===t.type)?this._write((n=>{const{primaryKey:r}=e.table.core.schema,s=t;return e.table.core.count({trans:n,query:{index:r,range:s}}).then((t=>e.table.core.mutate({trans:n,type:\"deleteRange\",range:s}).then((({failures:e,lastResult:n,results:r,numFailures:s})=>{if(s)throw new z(\"Could not delete some values\",Object.keys(e).map((t=>e[t])),t-s);return t-s}))))})):this.modify(Wt)}}const Wt=(e,t)=>t.value=null;function Yt(e,t){return e<t?-1:e===t?0:1}function zt(e,t){return e>t?-1:e===t?0:1}function Gt(e,t,n){var r=e instanceof en?new e.Collection(e):e;return r._ctx.error=n?new n(t):new TypeError(t),r}function Ht(e){return new e.Collection(e,(()=>Zt(\"\"))).limit(0)}function Qt(e,t,n,r,s,i){for(var o=Math.min(e.length,r.length),a=-1,u=0;u<o;++u){var l=t[u];if(l!==r[u])return s(e[u],n[u])<0?e.substr(0,u)+n[u]+n.substr(u+1):s(e[u],r[u])<0?e.substr(0,u)+r[u]+n.substr(u+1):a>=0?e.substr(0,a)+t[a]+n.substr(a+1):null;s(e[u],l)<0&&(a=u)}return o<r.length&&\"next\"===i?e+n.substr(e.length):o<e.length&&\"prev\"===i?e.substr(0,n.length):a<0?null:e.substr(0,a)+r[a]+n.substr(a+1)}function Xt(e,t,n,r){var s,i,o,a,u,l,c,h=n.length;if(!n.every((e=>\"string\"==typeof e)))return Gt(e,bt);function d(e){s=function(e){return\"next\"===e?e=>e.toUpperCase():e=>e.toLowerCase()}(e),i=function(e){return\"next\"===e?e=>e.toLowerCase():e=>e.toUpperCase()}(e),o=\"next\"===e?Yt:zt;var t=n.map((function(e){return{lower:i(e),upper:s(e)}})).sort((function(e,t){return o(e.lower,t.lower)}));a=t.map((function(e){return e.upper})),u=t.map((function(e){return e.lower})),l=e,c=\"next\"===e?\"\":r}d(\"next\");var f=new e.Collection(e,(()=>Jt(a[0],u[h-1]+r)));f._ondirectionchange=function(e){d(e)};var p=0;return f._addAlgorithm((function(e,n,r){var s=e.key;if(\"string\"!=typeof s)return!1;var d=i(s);if(t(d,u,p))return!0;for(var f=null,y=p;y<h;++y){var m=Qt(s,d,a[y],u[y],o,l);null===m&&null===f?p=y+1:(null===f||o(f,m)>0)&&(f=m)}return n(null!==f?function(){e.continue(f+c)}:r),!1})),f}function Jt(e,t,n,r){return{type:2,lower:e,upper:t,lowerOpen:n,upperOpen:r}}function Zt(e){return{type:1,lower:e,upper:e}}class en{get Collection(){return this._ctx.table.db.Collection}between(e,t,n,r){n=!1!==n,r=!0===r;try{return this._cmp(e,t)>0||0===this._cmp(e,t)&&(n||r)&&(!n||!r)?Ht(this):new this.Collection(this,(()=>Jt(e,t,!n,!r)))}catch(e){return Gt(this,gt)}}equals(e){return null==e?Gt(this,gt):new this.Collection(this,(()=>Zt(e)))}above(e){return null==e?Gt(this,gt):new this.Collection(this,(()=>Jt(e,void 0,!0)))}aboveOrEqual(e){return null==e?Gt(this,gt):new this.Collection(this,(()=>Jt(e,void 0,!1)))}below(e){return null==e?Gt(this,gt):new this.Collection(this,(()=>Jt(void 0,e,!1,!0)))}belowOrEqual(e){return null==e?Gt(this,gt):new this.Collection(this,(()=>Jt(void 0,e)))}startsWith(e){return\"string\"!=typeof e?Gt(this,bt):this.between(e,e+mt,!0,!0)}startsWithIgnoreCase(e){return\"\"===e?this.startsWith(e):Xt(this,((e,t)=>0===e.indexOf(t[0])),[e],mt)}equalsIgnoreCase(e){return Xt(this,((e,t)=>e===t[0]),[e],\"\")}anyOfIgnoreCase(){var e=B.apply(I,arguments);return 0===e.length?Ht(this):Xt(this,((e,t)=>-1!==t.indexOf(e)),e,\"\")}startsWithAnyOfIgnoreCase(){var e=B.apply(I,arguments);return 0===e.length?Ht(this):Xt(this,((e,t)=>t.some((t=>0===e.indexOf(t)))),e,mt)}anyOf(){const e=B.apply(I,arguments);let t=this._cmp;try{e.sort(t)}catch(e){return Gt(this,gt)}if(0===e.length)return Ht(this);const n=new this.Collection(this,(()=>Jt(e[0],e[e.length-1])));n._ondirectionchange=n=>{t=\"next\"===n?this._ascending:this._descending,e.sort(t)};let r=0;return n._addAlgorithm(((n,s,i)=>{const o=n.key;for(;t(o,e[r])>0;)if(++r,r===e.length)return s(i),!1;return 0===t(o,e[r])||(s((()=>{n.continue(e[r])})),!1)})),n}notEqual(e){return this.inAnyRange([[vt,e],[e,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})}noneOf(){const e=B.apply(I,arguments);if(0===e.length)return new this.Collection(this);try{e.sort(this._ascending)}catch(e){return Gt(this,gt)}const t=e.reduce(((e,t)=>e?e.concat([[e[e.length-1][1],t]]):[[vt,t]]),null);return t.push([e[e.length-1],this.db._maxKey]),this.inAnyRange(t,{includeLowers:!1,includeUppers:!1})}inAnyRange(e,t){const n=this._cmp,r=this._ascending,s=this._descending,i=this._min,o=this._max;if(0===e.length)return Ht(this);if(!e.every((e=>void 0!==e[0]&&void 0!==e[1]&&r(e[0],e[1])<=0)))return Gt(this,\"First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower\",X.InvalidArgument);const a=!t||!1!==t.includeLowers,u=t&&!0===t.includeUppers;let l,c=r;function h(e,t){return c(e[0],t[0])}try{l=e.reduce((function(e,t){let r=0,s=e.length;for(;r<s;++r){const s=e[r];if(n(t[0],s[1])<0&&n(t[1],s[0])>0){s[0]=i(s[0],t[0]),s[1]=o(s[1],t[1]);break}}return r===s&&e.push(t),e}),[]),l.sort(h)}catch(e){return Gt(this,gt)}let d=0;const f=u?e=>r(e,l[d][1])>0:e=>r(e,l[d][1])>=0,p=a?e=>s(e,l[d][0])>0:e=>s(e,l[d][0])>=0;let y=f;const m=new this.Collection(this,(()=>Jt(l[0][0],l[l.length-1][1],!a,!u)));return m._ondirectionchange=e=>{\"next\"===e?(y=f,c=r):(y=p,c=s),l.sort(h)},m._addAlgorithm(((e,t,n)=>{for(var s=e.key;y(s);)if(++d,d===l.length)return t(n),!1;return!!function(e){return!f(e)&&!p(e)}(s)||(0===this._cmp(s,l[d][1])||0===this._cmp(s,l[d][0])||t((()=>{c===r?e.continue(l[d][0]):e.continue(l[d][1])})),!1)})),m}startsWithAnyOf(){const e=B.apply(I,arguments);return e.every((e=>\"string\"==typeof e))?0===e.length?Ht(this):this.inAnyRange(e.map((e=>[e,e+mt]))):Gt(this,\"startsWithAnyOf() only works with strings\")}}function tn(e){return Ye((function(t){return nn(t),e(t.target.error),!1}))}function nn(e){e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault()}const rn=\"storagemutated\",sn=\"x-storagemutated-1\",on=Dt(null,rn);class an{_lock(){return m(!Oe.global),++this._reculock,1!==this._reculock||Oe.global||(Oe.lockOwnerFor=this),this}_unlock(){if(m(!Oe.global),0==--this._reculock)for(Oe.global||(Oe.lockOwnerFor=null);this._blockedFuncs.length>0&&!this._locked();){var e=this._blockedFuncs.shift();try{at(e[1],e[0])}catch(e){}}return this}_locked(){return this._reculock&&Oe.lockOwnerFor!==this}create(e){if(!this.mode)return this;const t=this.db.idbdb,n=this.db._state.dbOpenError;if(m(!this.idbtrans),!e&&!t)switch(n&&n.name){case\"DatabaseClosedError\":throw new X.DatabaseClosed(n);case\"MissingAPIError\":throw new X.MissingAPI(n.message,n);default:throw new X.OpenFailed(n)}if(!this.active)throw new X.TransactionInactive;return m(null===this._completion._state),(e=this.idbtrans=e||(this.db.core?this.db.core.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability}):t.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability}))).onerror=Ye((t=>{nn(t),this._reject(e.error)})),e.onabort=Ye((t=>{nn(t),this.active&&this._reject(new X.Abort(e.error)),this.active=!1,this.on(\"abort\").fire(t)})),e.oncomplete=Ye((()=>{this.active=!1,this._resolve(),\"mutatedParts\"in e&&on.storagemutated.fire(e.mutatedParts)})),this}_promise(e,t,n){if(\"readwrite\"===e&&\"readwrite\"!==this.mode)return ft(new X.ReadOnly(\"Transaction is readonly\"));if(!this.active)return ft(new X.TransactionInactive);if(this._locked())return new je(((r,s)=>{this._blockedFuncs.push([()=>{this._promise(e,t,n).then(r,s)},Oe])}));if(n)return Ze((()=>{var e=new je(((e,n)=>{this._lock();const r=t(e,n,this);r&&r.then&&r.then(e,n)}));return e.finally((()=>this._unlock())),e._lib=!0,e}));var r=new je(((e,n)=>{var r=t(e,n,this);r&&r.then&&r.then(e,n)}));return r._lib=!0,r}_root(){return this.parent?this.parent._root():this}waitFor(e){var t=this._root();const n=je.resolve(e);if(t._waitingFor)t._waitingFor=t._waitingFor.then((()=>n));else{t._waitingFor=n,t._waitingQueue=[];var r=t.idbtrans.objectStore(t.storeNames[0]);!function e(){for(++t._spinCount;t._waitingQueue.length;)t._waitingQueue.shift()();t._waitingFor&&(r.get(-1/0).onsuccess=e)}()}var s=t._waitingFor;return new je(((e,r)=>{n.then((n=>t._waitingQueue.push(Ye(e.bind(null,n)))),(e=>t._waitingQueue.push(Ye(r.bind(null,e))))).finally((()=>{t._waitingFor===s&&(t._waitingFor=null)}))}))}abort(){this.active&&(this.active=!1,this.idbtrans&&this.idbtrans.abort(),this._reject(new X.Abort))}table(e){const t=this._memoizedTables||(this._memoizedTables={});if(o(t,e))return t[e];const n=this.schema[e];if(!n)throw new X.NotFound(\"Table \"+e+\" not part of transaction\");const r=new this.db.Table(e,n,this);return r.core=this.db.core.table(e),t[e]=r,r}}function un(e,t,n,r,s,i,o){return{name:e,keyPath:t,unique:n,multi:r,auto:s,compound:i,src:(n&&!o?\"&\":\"\")+(r?\"*\":\"\")+(s?\"++\":\"\")+ln(t)}}function ln(e){return\"string\"==typeof e?e:e?\"[\"+[].join.call(e,\"+\")+\"]\":\"\"}function cn(e,t,n){return{name:e,primKey:t,indexes:n,mappedClass:null,idxByName:g(n,(e=>[e.name,e]))}}let hn=e=>{try{return e.only([[]]),hn=()=>[[]],[[]]}catch(e){return hn=()=>mt,mt}};function dn(e){return null==e?()=>{}:\"string\"==typeof e?function(e){const t=e.split(\".\");return 1===t.length?t=>t[e]:t=>b(t,e)}(e):t=>b(t,e)}function fn(e){return[].slice.call(e)}let pn=0;function yn(e){return null==e?\":id\":\"string\"==typeof e?e:`[${e.join(\"+\")}]`}function mn(e,t,r){function s(e){if(3===e.type)return null;if(4===e.type)throw new Error(\"Cannot convert never type to IDBKeyRange\");const{lower:n,upper:r,lowerOpen:s,upperOpen:i}=e;return void 0===n?void 0===r?null:t.upperBound(r,!!i):void 0===r?t.lowerBound(n,!!s):t.bound(n,r,!!s,!!i)}const{schema:i,hasGetAll:o}=function(e,t){const r=fn(e.objectStoreNames);return{schema:{name:e.name,tables:r.map((e=>t.objectStore(e))).map((e=>{const{keyPath:t,autoIncrement:r}=e,s=n(t),i=null==t,o={},a={name:e.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:i,compound:s,keyPath:t,autoIncrement:r,unique:!0,extractKey:dn(t)},indexes:fn(e.indexNames).map((t=>e.index(t))).map((e=>{const{name:t,unique:r,multiEntry:s,keyPath:i}=e,a={name:t,compound:n(i),keyPath:i,unique:r,multiEntry:s,extractKey:dn(i)};return o[yn(i)]=a,a})),getIndexByKeyPath:e=>o[yn(e)]};return o[\":id\"]=a.primaryKey,null!=t&&(o[yn(t)]=a.primaryKey),a}))},hasGetAll:r.length>0&&\"getAll\"in t.objectStore(r[0])&&!(\"undefined\"!=typeof navigator&&/Safari/.test(navigator.userAgent)&&!/(Chrome\\/|Edge\\/)/.test(navigator.userAgent)&&[].concat(navigator.userAgent.match(/Safari\\/(\\d*)/))[1]<604)}}(e,r),a=i.tables.map((e=>function(e){const t=e.name;return{name:t,schema:e,mutate:function({trans:e,type:n,keys:r,values:i,range:o}){return new Promise(((a,u)=>{a=Ye(a);const l=e.objectStore(t),c=null==l.keyPath,h=\"put\"===n||\"add\"===n;if(!h&&\"delete\"!==n&&\"deleteRange\"!==n)throw new Error(\"Invalid operation type: \"+n);const{length:d}=r||i||{length:1};if(r&&i&&r.length!==i.length)throw new Error(\"Given keys array must have same length as given values array.\");if(0===d)return a({numFailures:0,failures:{},results:[],lastResult:void 0});let f;const p=[],y=[];let m=0;const v=e=>{++m,nn(e)};if(\"deleteRange\"===n){if(4===o.type)return a({numFailures:m,failures:y,results:[],lastResult:void 0});3===o.type?p.push(f=l.clear()):p.push(f=l.delete(s(o)))}else{const[e,t]=h?c?[i,r]:[i,null]:[r,null];if(h)for(let r=0;r<d;++r)p.push(f=t&&void 0!==t[r]?l[n](e[r],t[r]):l[n](e[r])),f.onerror=v;else for(let t=0;t<d;++t)p.push(f=l[n](e[t])),f.onerror=v}const g=e=>{const t=e.target.result;p.forEach(((e,t)=>null!=e.error&&(y[t]=e.error))),a({numFailures:m,failures:y,results:\"delete\"===n?r:p.map((e=>e.result)),lastResult:t})};f.onerror=e=>{v(e),g(e)},f.onsuccess=g}))},getMany:({trans:e,keys:n})=>new Promise(((r,s)=>{r=Ye(r);const i=e.objectStore(t),o=n.length,a=new Array(o);let u,l=0,c=0;const h=e=>{const t=e.target;a[t._pos]=t.result,++c===l&&r(a)},d=tn(s);for(let e=0;e<o;++e)null!=n[e]&&(u=i.get(n[e]),u._pos=e,u.onsuccess=h,u.onerror=d,++l);0===l&&r(a)})),get:({trans:e,key:n})=>new Promise(((r,s)=>{r=Ye(r);const i=e.objectStore(t).get(n);i.onsuccess=e=>r(e.target.result),i.onerror=tn(s)})),query:function(e){return n=>new Promise(((r,i)=>{r=Ye(r);const{trans:o,values:a,limit:u,query:l}=n,c=u===1/0?void 0:u,{index:h,range:d}=l,f=o.objectStore(t),p=h.isPrimaryKey?f:f.index(h.name),y=s(d);if(0===u)return r({result:[]});if(e){const e=a?p.getAll(y,c):p.getAllKeys(y,c);e.onsuccess=e=>r({result:e.target.result}),e.onerror=tn(i)}else{let e=0;const t=a||!(\"openKeyCursor\"in p)?p.openCursor(y):p.openKeyCursor(y),n=[];t.onsuccess=s=>{const i=t.result;return i?(n.push(a?i.value:i.primaryKey),++e===u?r({result:n}):void i.continue()):r({result:n})},t.onerror=tn(i)}}))}(o),openCursor:function({trans:e,values:n,query:r,reverse:i,unique:o}){return new Promise(((a,u)=>{a=Ye(a);const{index:l,range:c}=r,h=e.objectStore(t),d=l.isPrimaryKey?h:h.index(l.name),f=i?o?\"prevunique\":\"prev\":o?\"nextunique\":\"next\",p=n||!(\"openKeyCursor\"in d)?d.openCursor(s(c),f):d.openKeyCursor(s(c),f);p.onerror=tn(u),p.onsuccess=Ye((t=>{const n=p.result;if(!n)return void a(null);n.___id=++pn,n.done=!1;const r=n.continue.bind(n);let s=n.continuePrimaryKey;s&&(s=s.bind(n));const i=n.advance.bind(n),o=()=>{throw new Error(\"Cursor not stopped\")};n.trans=e,n.stop=n.continue=n.continuePrimaryKey=n.advance=()=>{throw new Error(\"Cursor not started\")},n.fail=Ye(u),n.next=function(){let e=1;return this.start((()=>e--?this.continue():this.stop())).then((()=>this))},n.start=e=>{const t=new Promise(((e,t)=>{e=Ye(e),p.onerror=tn(t),n.fail=t,n.stop=t=>{n.stop=n.continue=n.continuePrimaryKey=n.advance=o,e(t)}})),a=()=>{if(p.result)try{e()}catch(e){n.fail(e)}else n.done=!0,n.start=()=>{throw new Error(\"Cursor behind last entry\")},n.stop()};return p.onsuccess=Ye((e=>{p.onsuccess=a,a()})),n.continue=r,n.continuePrimaryKey=s,n.advance=i,a(),t},a(n)}),u)}))},count({query:e,trans:n}){const{index:r,range:i}=e;return new Promise(((e,o)=>{const a=n.objectStore(t),u=r.isPrimaryKey?a:a.index(r.name),l=s(i),c=l?u.count(l):u.count();c.onsuccess=Ye((t=>e(t.target.result))),c.onerror=tn(o)}))}}}(e))),u={};return a.forEach((e=>u[e.name]=e)),{stack:\"dbcore\",transaction:e.transaction.bind(e),table(e){if(!u[e])throw new Error(`Table '${e}' not found`);return u[e]},MIN_KEY:-1/0,MAX_KEY:hn(t),schema:i}}function vn({_novip:e},t){const n=t.db,r=function(e,t,{IDBKeyRange:n,indexedDB:r},s){const i=function(e,t){return t.reduce(((e,{create:t})=>({...e,...t(e)})),e)}(mn(t,n,s),e.dbcore);return{dbcore:i}}(e._middlewares,n,e._deps,t);e.core=r.dbcore,e.tables.forEach((t=>{const n=t.name;e.core.schema.tables.some((e=>e.name===n))&&(t.core=e.core.table(n),e[n]instanceof e.Table&&(e[n].core=t.core))}))}function gn({_novip:e},t,n,r){n.forEach((n=>{const s=r[n];t.forEach((t=>{const r=d(t,n);(!r||\"value\"in r&&void 0===r.value)&&(t===e.Transaction.prototype||t instanceof e.Transaction?l(t,n,{get(){return this.table(n)},set(e){u(this,n,{value:e,writable:!0,configurable:!0,enumerable:!0})}}):t[n]=new e.Table(n,s))}))}))}function bn({_novip:e},t){t.forEach((t=>{for(let n in t)t[n]instanceof e.Table&&delete t[n]}))}function _n(e,t){return e._cfg.version-t._cfg.version}function wn(e,n,r,s){const i=e._dbSchema,o=e._createTransaction(\"readwrite\",e._storeNames,i);o.create(r),o._completion.catch(s);const a=o._reject.bind(o),u=Oe.transless||Oe;Ze((()=>{Oe.trans=o,Oe.transless=u,0===n?(t(i).forEach((e=>{kn(r,e,i[e].primKey,i[e].indexes)})),vn(e,r),je.follow((()=>e.on.populate.fire(o))).catch(a)):function({_novip:e},n,r,s){const i=[],o=e._versions;let a=e._dbSchema=Pn(e,e.idbdb,s),u=!1;const l=o.filter((e=>e._cfg.version>=n));function c(){return i.length?je.resolve(i.shift()(r.idbtrans)).then(c):je.resolve()}return l.forEach((o=>{i.push((()=>{const i=a,l=o._cfg.dbschema;Kn(e,i,s),Kn(e,l,s),a=e._dbSchema=l;const c=xn(i,l);c.add.forEach((e=>{kn(s,e[0],e[1].primKey,e[1].indexes)})),c.change.forEach((e=>{if(e.recreate)throw new X.Upgrade(\"Not yet support for changing primary key\");{const t=s.objectStore(e.name);e.add.forEach((e=>En(t,e))),e.change.forEach((e=>{t.deleteIndex(e.name),En(t,e)})),e.del.forEach((e=>t.deleteIndex(e)))}}));const h=o._cfg.contentUpgrade;if(h&&o._cfg.version>n){vn(e,s),r._memoizedTables={},u=!0;let n=w(l);c.del.forEach((e=>{n[e]=i[e]})),bn(e,[e.Transaction.prototype]),gn(e,[e.Transaction.prototype],t(n),n),r.schema=n;const o=T(h);let a;o&&et();const d=je.follow((()=>{if(a=h(r),a&&o){var e=tt.bind(null,null);a.then(e,e)}}));return a&&\"function\"==typeof a.then?je.resolve(a):d.then((()=>a))}})),i.push((t=>{if(!u||!xt){!function(e,t){[].slice.call(t.db.objectStoreNames).forEach((n=>null==e[n]&&t.db.deleteObjectStore(n)))}(o._cfg.dbschema,t)}bn(e,[e.Transaction.prototype]),gn(e,[e.Transaction.prototype],e._storeNames,e._dbSchema),r.schema=e._dbSchema}))})),c().then((()=>{var e,n;n=s,t(e=a).forEach((t=>{n.db.objectStoreNames.contains(t)||kn(n,t,e[t].primKey,e[t].indexes)}))}))}(e,n,o,r).catch(a)}))}function xn(e,t){const n={del:[],add:[],change:[]};let r;for(r in e)t[r]||n.del.push(r);for(r in t){const s=e[r],i=t[r];if(s){const e={name:r,def:i,recreate:!1,del:[],add:[],change:[]};if(\"\"+(s.primKey.keyPath||\"\")!=\"\"+(i.primKey.keyPath||\"\")||s.primKey.auto!==i.primKey.auto&&!wt)e.recreate=!0,n.change.push(e);else{const t=s.idxByName,r=i.idxByName;let o;for(o in t)r[o]||e.del.push(o);for(o in r){const n=t[o],s=r[o];n?n.src!==s.src&&e.change.push(s):e.add.push(s)}(e.del.length>0||e.add.length>0||e.change.length>0)&&n.change.push(e)}}else n.add.push([r,i])}return n}function kn(e,t,n,r){const s=e.db.createObjectStore(t,n.keyPath?{keyPath:n.keyPath,autoIncrement:n.auto}:{autoIncrement:n.auto});return r.forEach((e=>En(s,e))),s}function En(e,t){e.createIndex(t.name,t.keyPath,{unique:t.unique,multiEntry:t.multi})}function Pn(e,t,n){const r={};return p(t.objectStoreNames,0).forEach((e=>{const t=n.objectStore(e);let s=t.keyPath;const i=un(ln(s),s||\"\",!1,!1,!!t.autoIncrement,s&&\"string\"!=typeof s,!0),o=[];for(let e=0;e<t.indexNames.length;++e){const n=t.index(t.indexNames[e]);s=n.keyPath;var a=un(n.name,s,!!n.unique,!!n.multiEntry,!1,s&&\"string\"!=typeof s,!1);o.push(a)}r[e]=cn(e,i,o)})),r}function Kn({_novip:t},n,r){const s=r.db.objectStoreNames;for(let e=0;e<s.length;++e){const i=s[e],o=r.objectStore(i);t._hasGetAll=\"getAll\"in o;for(let e=0;e<o.indexNames.length;++e){const t=o.indexNames[e],r=o.index(t).keyPath,s=\"string\"==typeof r?r:\"[\"+p(r).join(\"+\")+\"]\";if(n[i]){const e=n[i].idxByName[s];e&&(e.name=t,delete n[i].idxByName[s],n[i].idxByName[t]=e)}}}\"undefined\"!=typeof navigator&&/Safari/.test(navigator.userAgent)&&!/(Chrome\\/|Edge\\/)/.test(navigator.userAgent)&&e.WorkerGlobalScope&&e instanceof e.WorkerGlobalScope&&[].concat(navigator.userAgent.match(/Safari\\/(\\d*)/))[1]<604&&(t._hasGetAll=!1)}class On{_parseStoresSpec(e,r){t(e).forEach((t=>{if(null!==e[t]){var s=e[t].split(\",\").map(((e,t)=>{const r=(e=e.trim()).replace(/([&*]|\\+\\+)/g,\"\"),s=/^\\[/.test(r)?r.match(/^\\[(.*)\\]$/)[1].split(\"+\"):r;return un(r,s||null,/\\&/.test(e),/\\*/.test(e),/\\+\\+/.test(e),n(s),0===t)})),i=s.shift();if(i.multi)throw new X.Schema(\"Primary key cannot be multi-valued\");s.forEach((e=>{if(e.auto)throw new X.Schema(\"Only primary key can be marked as autoIncrement (++)\");if(!e.keyPath)throw new X.Schema(\"Index must have a name and cannot be an empty string\")})),r[t]=cn(t,i,s)}}))}stores(e){const n=this.db;this._cfg.storesSource=this._cfg.storesSource?r(this._cfg.storesSource,e):e;const s=n._versions,i={};let o={};return s.forEach((e=>{r(i,e._cfg.storesSource),o=e._cfg.dbschema={},e._parseStoresSpec(i,o)})),n._dbSchema=o,bn(n,[n._allTables,n,n.Transaction.prototype]),gn(n,[n._allTables,n,n.Transaction.prototype,this._cfg.tables],t(o),o),n._storeNames=t(o),this}upgrade(e){return this._cfg.contentUpgrade=ue(this._cfg.contentUpgrade||ee,e),this}}function Sn(e,t){let n=e._dbNamesDB;return n||(n=e._dbNamesDB=new Xn(Pt,{addons:[],indexedDB:e,IDBKeyRange:t}),n.version(1).stores({dbnames:\"name\"})),n.table(\"dbnames\")}function An(e){return e&&\"function\"==typeof e.databases}function Cn(e){return Ze((function(){return Oe.letThrough=!0,e()}))}function jn(){var e;return!navigator.userAgentData&&/Safari\\//.test(navigator.userAgent)&&!/Chrom(e|ium)\\//.test(navigator.userAgent)&&indexedDB.databases?new Promise((function(t){var n=function(){return indexedDB.databases().finally(t)};e=setInterval(n,100),n()})).finally((function(){return clearInterval(e)})):Promise.resolve()}function Dn(e){const n=e._state,{indexedDB:r}=e._deps;if(n.isBeingOpened||e.idbdb)return n.dbReadyPromise.then((()=>n.dbOpenError?ft(n.dbOpenError):e));R&&(n.openCanceller._stackHolder=q()),n.isBeingOpened=!0,n.dbOpenError=null,n.openComplete=!1;const s=n.openCanceller;function i(){if(n.openCanceller!==s)throw new X.DatabaseClosed(\"db.open() was cancelled\")}let o=n.dbReadyResolve,a=null,u=!1;const l=()=>new je(((s,o)=>{if(i(),!r)throw new X.MissingAPI;const l=e.name,c=n.autoSchema?r.open(l):r.open(l,Math.round(10*e.verno));if(!c)throw new X.MissingAPI;c.onerror=tn(o),c.onblocked=Ye(e._fireOnBlocked),c.onupgradeneeded=Ye((t=>{if(a=c.transaction,n.autoSchema&&!e._options.allowEmptyDB){c.onerror=nn,a.abort(),c.result.close();const e=r.deleteDatabase(l);e.onsuccess=e.onerror=Ye((()=>{o(new X.NoSuchDatabase(`Database ${l} doesnt exist`))}))}else{a.onerror=tn(o);var s=t.oldVersion>Math.pow(2,62)?0:t.oldVersion;u=s<1,e._novip.idbdb=c.result,wn(e,s/10,a,o)}}),o),c.onsuccess=Ye((()=>{a=null;const r=e._novip.idbdb=c.result,i=p(r.objectStoreNames);if(i.length>0)try{const s=r.transaction(1===(o=i).length?o[0]:o,\"readonly\");n.autoSchema?function({_novip:e},n,r){e.verno=n.version/10;const s=e._dbSchema=Pn(0,n,r);e._storeNames=p(n.objectStoreNames,0),gn(e,[e._allTables],t(s),s)}(e,r,s):(Kn(e,e._dbSchema,s),function(e,t){const n=xn(Pn(0,e.idbdb,t),e._dbSchema);return!(n.add.length||n.change.some((e=>e.add.length||e.change.length)))}(e,s)||console.warn(\"Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Some queries may fail.\")),vn(e,s)}catch(e){}var o;_t.push(e),r.onversionchange=Ye((t=>{n.vcFired=!0,e.on(\"versionchange\").fire(t)})),r.onclose=Ye((t=>{e.on(\"close\").fire(t)})),u&&function({indexedDB:e,IDBKeyRange:t},n){!An(e)&&n!==Pt&&Sn(e,t).put({name:n}).catch(ee)}(e._deps,l),s()}),o)})).catch((e=>e&&\"UnknownError\"===e.name&&n.PR1398_maxLoop>0?(n.PR1398_maxLoop--,console.warn(\"Dexie: Workaround for Chrome UnknownError on open()\"),l()):je.reject(e)));return je.race([s,(\"undefined\"==typeof navigator?je.resolve():jn()).then(l)]).then((()=>(i(),n.onReadyBeingFired=[],je.resolve(Cn((()=>e.on.ready.fire(e.vip)))).then((function t(){if(n.onReadyBeingFired.length>0){let r=n.onReadyBeingFired.reduce(ue,ee);return n.onReadyBeingFired=[],je.resolve(Cn((()=>r(e.vip)))).then(t)}}))))).finally((()=>{n.onReadyBeingFired=null,n.isBeingOpened=!1})).then((()=>e)).catch((t=>{n.dbOpenError=t;try{a&&a.abort()}catch(e){}return s===n.openCanceller&&e._close(),ft(t)})).finally((()=>{n.openComplete=!0,o()}))}function In(e){var t=t=>e.next(t),r=i(t),s=i((t=>e.throw(t)));function i(e){return t=>{var i=e(t),o=i.value;return i.done?o:o&&\"function\"==typeof o.then?o.then(r,s):n(o)?Promise.all(o).then(r,s):r(o)}}return i(t)()}function Bn(e,t,n){var r=arguments.length;if(r<2)throw new X.InvalidArgument(\"Too few arguments\");for(var s=new Array(r-1);--r;)s[r-1]=arguments[r];return n=s.pop(),[e,k(s),n]}function Tn(e,t,n,r,s){return je.resolve().then((()=>{const i=Oe.transless||Oe,o=e._createTransaction(t,n,e._dbSchema,r),a={trans:o,transless:i};if(r)o.idbtrans=r.idbtrans;else try{o.create(),e._state.PR1398_maxLoop=3}catch(r){return r.name===H.InvalidState&&e.isOpen()&&--e._state.PR1398_maxLoop>0?(console.warn(\"Dexie: Need to reopen db\"),e._close(),e.open().then((()=>Tn(e,t,n,null,s)))):ft(r)}const u=T(s);let l;u&&et();const c=je.follow((()=>{if(l=s.call(o,o),l)if(u){var e=tt.bind(null,null);l.then(e,e)}else\"function\"==typeof l.next&&\"function\"==typeof l.throw&&(l=In(l))}),a);return(l&&\"function\"==typeof l.then?je.resolve(l).then((e=>o.active?e:ft(new X.PrematureCommit(\"Transaction committed too early. See http://bit.ly/2kdckMn\")))):c.then((()=>l))).then((e=>(r&&o._resolve(),o._completion.then((()=>e))))).catch((e=>(o._reject(e),ft(e))))}))}function Rn(e,t,r){const s=n(e)?e.slice():[e];for(let e=0;e<r;++e)s.push(t);return s}const Fn={stack:\"dbcore\",name:\"VirtualIndexMiddleware\",level:1,create:function(e){return{...e,table(t){const n=e.table(t),{schema:r}=n,s={},i=[];function o(e,t,n){const r=yn(e),a=s[r]=s[r]||[],u=null==e?0:\"string\"==typeof e?1:e.length,l=t>0,c={...n,isVirtual:l,keyTail:t,keyLength:u,extractKey:dn(e),unique:!l&&n.unique};if(a.push(c),c.isPrimaryKey||i.push(c),u>1){o(2===u?e[0]:e.slice(0,u-1),t+1,n)}return a.sort(((e,t)=>e.keyTail-t.keyTail)),c}const a=o(r.primaryKey.keyPath,0,r.primaryKey);s[\":id\"]=[a];for(const e of r.indexes)o(e.keyPath,0,e);function u(t){const n=t.query.index;return n.isVirtual?{...t,query:{index:n,range:(r=t.query.range,s=n.keyTail,{type:1===r.type?2:r.type,lower:Rn(r.lower,r.lowerOpen?e.MAX_KEY:e.MIN_KEY,s),lowerOpen:!0,upper:Rn(r.upper,r.upperOpen?e.MIN_KEY:e.MAX_KEY,s),upperOpen:!0})}}:t;var r,s}const l={...n,schema:{...r,primaryKey:a,indexes:i,getIndexByKeyPath:function(e){const t=s[yn(e)];return t&&t[0]}},count:e=>n.count(u(e)),query:e=>n.query(u(e)),openCursor(t){const{keyTail:r,isVirtual:s,keyLength:i}=t.query.index;if(!s)return n.openCursor(t);return n.openCursor(u(t)).then((n=>n&&function(n){const s=Object.create(n,{continue:{value:function(s){null!=s?n.continue(Rn(s,t.reverse?e.MAX_KEY:e.MIN_KEY,r)):t.unique?n.continue(n.key.slice(0,i).concat(t.reverse?e.MIN_KEY:e.MAX_KEY,r)):n.continue()}},continuePrimaryKey:{value(t,s){n.continuePrimaryKey(Rn(t,e.MAX_KEY,r),s)}},primaryKey:{get:()=>n.primaryKey},key:{get(){const e=n.key;return 1===i?e[0]:e.slice(0,i)}},value:{get:()=>n.value}});return s}(n)))}};return l}}}};function Mn(e,n,r,s){return r=r||{},s=s||\"\",t(e).forEach((t=>{if(o(n,t)){var i=e[t],a=n[t];if(\"object\"==typeof i&&\"object\"==typeof a&&i&&a){const e=C(i);e!==C(a)?r[s+t]=n[t]:\"Object\"===e?Mn(i,a,r,s+t+\".\"):i!==a&&(r[s+t]=n[t])}else i!==a&&(r[s+t]=n[t])}else r[s+t]=void 0})),t(n).forEach((t=>{o(e,t)||(r[s+t]=n[t])})),r}const Nn={stack:\"dbcore\",name:\"HooksMiddleware\",level:2,create:e=>({...e,table(t){const n=e.table(t),{primaryKey:r}=n.schema,s={...n,mutate(e){const s=Oe.trans,{deleting:i,creating:a,updating:u}=s.table(t).hook;switch(e.type){case\"add\":if(a.fire===ee)break;return s._promise(\"readwrite\",(()=>l(e)),!0);case\"put\":if(a.fire===ee&&u.fire===ee)break;return s._promise(\"readwrite\",(()=>l(e)),!0);case\"delete\":if(i.fire===ee)break;return s._promise(\"readwrite\",(()=>l(e)),!0);case\"deleteRange\":if(i.fire===ee)break;return s._promise(\"readwrite\",(()=>function(e){return c(e.trans,e.range,1e4)}(e)),!0)}return n.mutate(e);function l(e){const t=Oe.trans,s=e.keys||function(e,t){return\"delete\"===t.type?t.keys:t.keys||t.values.map(e.extractKey)}(r,e);if(!s)throw new Error(\"Keys missing\");return\"delete\"!==(e=\"add\"===e.type||\"put\"===e.type?{...e,keys:s}:{...e}).type&&(e.values=[...e.values]),e.keys&&(e.keys=[...e.keys]),function(e,t,n){return\"add\"===t.type?Promise.resolve([]):e.getMany({trans:t.trans,keys:n,cache:\"immutable\"})}(n,e,s).then((l=>{const c=s.map(((n,s)=>{const c=l[s],h={onerror:null,onsuccess:null};if(\"delete\"===e.type)i.fire.call(h,n,c,t);else if(\"add\"===e.type||void 0===c){const i=a.fire.call(h,n,e.values[s],t);null==n&&null!=i&&(n=i,e.keys[s]=n,r.outbound||_(e.values[s],r.keyPath,n))}else{const r=Mn(c,e.values[s]),i=u.fire.call(h,r,n,c,t);if(i){const t=e.values[s];Object.keys(i).forEach((e=>{o(t,e)?t[e]=i[e]:_(t,e,i[e])}))}}return h}));return n.mutate(e).then((({failures:t,results:n,numFailures:r,lastResult:i})=>{for(let r=0;r<s.length;++r){const i=n?n[r]:s[r],o=c[r];null==i?o.onerror&&o.onerror(t[r]):o.onsuccess&&o.onsuccess(\"put\"===e.type&&l[r]?e.values[r]:i)}return{failures:t,results:n,numFailures:r,lastResult:i}})).catch((e=>(c.forEach((t=>t.onerror&&t.onerror(e))),Promise.reject(e))))}))}function c(e,t,s){return n.query({trans:e,values:!1,query:{index:r,range:t},limit:s}).then((({result:n})=>l({type:\"delete\",keys:n,trans:e}).then((r=>r.numFailures>0?Promise.reject(r.failures[0]):n.length<s?{failures:[],numFailures:0,lastResult:void 0}:c(e,{...t,lower:n[n.length-1],lowerOpen:!0},s)))))}}};return s}})};function qn(e,t,n){try{if(!t)return null;if(t.keys.length<e.length)return null;const r=[];for(let s=0,i=0;s<t.keys.length&&i<e.length;++s)0===$t(t.keys[s],e[i])&&(r.push(n?O(t.values[s]):t.values[s]),++i);return r.length===e.length?r:null}catch(e){return null}}const $n={stack:\"dbcore\",level:-1,create:e=>({table:t=>{const n=e.table(t);return{...n,getMany:e=>{if(!e.cache)return n.getMany(e);const t=qn(e.keys,e.trans._cache,\"clone\"===e.cache);return t?je.resolve(t):n.getMany(e).then((t=>(e.trans._cache={keys:e.keys,values:\"clone\"===e.cache?O(t):t},t)))},mutate:e=>(\"add\"!==e.type&&(e.trans._cache=null),n.mutate(e))}}})};function Un(e){return!(\"from\"in e)}const Ln=function(e,t){if(!this){const t=new Ln;return e&&\"d\"in e&&r(t,e),t}r(this,arguments.length?{d:1,from:e,to:arguments.length>1?t:e}:{d:0})};function Vn(e,t,n){const s=$t(t,n);if(isNaN(s))return;if(s>0)throw RangeError();if(Un(e))return r(e,{from:t,to:n,d:1});const i=e.l,o=e.r;if($t(n,e.from)<0)return i?Vn(i,t,n):e.l={from:t,to:n,d:1,l:null,r:null},Gn(e);if($t(t,e.to)>0)return o?Vn(o,t,n):e.r={from:t,to:n,d:1,l:null,r:null},Gn(e);$t(t,e.from)<0&&(e.from=t,e.l=null,e.d=o?o.d+1:1),$t(n,e.to)>0&&(e.to=n,e.r=null,e.d=e.l?e.l.d+1:1);const a=!e.r;i&&!e.l&&Wn(e,i),o&&a&&Wn(e,o)}function Wn(e,t){Un(t)||function e(t,{from:n,to:r,l:s,r:i}){Vn(t,n,r),s&&e(t,s),i&&e(t,i)}(e,t)}function Yn(e,t){const n=zn(t);let r=n.next();if(r.done)return!1;let s=r.value;const i=zn(e);let o=i.next(s.from),a=o.value;for(;!r.done&&!o.done;){if($t(a.from,s.to)<=0&&$t(a.to,s.from)>=0)return!0;$t(s.from,a.from)<0?s=(r=n.next(a.from)).value:a=(o=i.next(s.from)).value}return!1}function zn(e){let t=Un(e)?null:{s:0,n:e};return{next(e){const n=arguments.length>0;for(;t;)switch(t.s){case 0:if(t.s=1,n)for(;t.n.l&&$t(e,t.n.from)<0;)t={up:t,n:t.n.l,s:1};else for(;t.n.l;)t={up:t,n:t.n.l,s:1};case 1:if(t.s=2,!n||$t(e,t.n.to)<=0)return{value:t.n,done:!1};case 2:if(t.n.r){t.s=3,t={up:t,n:t.n.r,s:0};continue}case 3:t=t.up}return{done:!0}}}}function Gn(e){var t,n;const r=((null===(t=e.r)||void 0===t?void 0:t.d)||0)-((null===(n=e.l)||void 0===n?void 0:n.d)||0),s=r>1?\"r\":r<-1?\"l\":\"\";if(s){const t=\"r\"===s?\"l\":\"r\",n={...e},r=e[s];e.from=r.from,e.to=r.to,e[s]=r[s],n[s]=r[t],e[t]=n,n.d=Hn(n)}e.d=Hn(e)}function Hn({r:e,l:t}){return(e?t?Math.max(e.d,t.d):e.d:t?t.d:0)+1}a(Ln.prototype,{add(e){return Wn(this,e),this},addKey(e){return Vn(this,e,e),this},addKeys(e){return e.forEach((e=>Vn(this,e,e))),this},[j](){return zn(this)}});const Qn={stack:\"dbcore\",level:0,create:e=>{const r=e.schema.name,s=new Ln(e.MIN_KEY,e.MAX_KEY);return{...e,table:i=>{const o=e.table(i),{schema:a}=o,{primaryKey:u}=a,{extractKey:l,outbound:c}=u,h={...o,mutate:e=>{const t=e.trans,u=t.mutatedParts||(t.mutatedParts={}),l=e=>{const t=`idb://${r}/${i}/${e}`;return u[t]||(u[t]=new Ln)},c=l(\"\"),h=l(\":dels\"),{type:d}=e;let[f,p]=\"deleteRange\"===e.type?[e.range]:\"delete\"===e.type?[e.keys]:e.values.length<50?[[],e.values]:[];const y=e.trans._cache;return o.mutate(e).then((e=>{if(n(f)){\"delete\"!==d&&(f=e.results),c.addKeys(f);const t=qn(f,y);t||\"add\"===d||h.addKeys(f),(t||p)&&function(e,t,r,s){function i(t){const i=e(t.name||\"\");function o(e){return null!=e?t.extractKey(e):null}const a=e=>t.multiEntry&&n(e)?e.forEach((e=>i.addKey(e))):i.addKey(e);(r||s).forEach(((e,t)=>{const n=r&&o(r[t]),i=s&&o(s[t]);0!==$t(n,i)&&(null!=n&&a(n),null!=i&&a(i))}))}t.indexes.forEach(i)}(l,a,t,p)}else if(f){const e={from:f.lower,to:f.upper};h.add(e),c.add(e)}else c.add(s),h.add(s),a.indexes.forEach((e=>l(e.name).add(s)));return e}))}},d=({query:{index:t,range:n}})=>{var r,s;return[t,new Ln(null!==(r=n.lower)&&void 0!==r?r:e.MIN_KEY,null!==(s=n.upper)&&void 0!==s?s:e.MAX_KEY)]},f={get:e=>[u,new Ln(e.key)],getMany:e=>[u,(new Ln).addKeys(e.keys)],count:d,query:d,openCursor:d};return t(f).forEach((e=>{h[e]=function(t){const{subscr:n}=Oe;if(n){const a=e=>{const t=`idb://${r}/${i}/${e}`;return n[t]||(n[t]=new Ln)},u=a(\"\"),h=a(\":dels\"),[d,p]=f[e](t);if(a(d.name||\"\").add(p),!d.isPrimaryKey){if(\"count\"!==e){const n=\"query\"===e&&c&&t.values&&o.query({...t,values:!1});return o[e].apply(this,arguments).then((r=>{if(\"query\"===e){if(c&&t.values)return n.then((({result:e})=>(u.addKeys(e),r)));const e=t.values?r.result.map(l):r.result;t.values?u.addKeys(e):h.addKeys(e)}else if(\"openCursor\"===e){const e=r,n=t.values;return e&&Object.create(e,{key:{get:()=>(h.addKey(e.primaryKey),e.key)},primaryKey:{get(){const t=e.primaryKey;return h.addKey(t),t}},value:{get:()=>(n&&u.addKey(e.primaryKey),e.value)}})}return r}))}h.add(s)}}return o[e].apply(this,arguments)}})),h}}}};class Xn{constructor(e,t){this._middlewares={},this.verno=0;const n=Xn.dependencies;this._options=t={addons:Xn.addons,autoOpen:!0,indexedDB:n.indexedDB,IDBKeyRange:n.IDBKeyRange,...t},this._deps={indexedDB:t.indexedDB,IDBKeyRange:t.IDBKeyRange};const{addons:r}=t;this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={},this.idbdb=null,this._novip=this;const s={dbOpenError:null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:ee,dbReadyPromise:null,cancelOpen:ee,openCanceller:null,autoSchema:!0,PR1398_maxLoop:3};var i;s.dbReadyPromise=new je((e=>{s.dbReadyResolve=e})),s.openCanceller=new je(((e,t)=>{s.cancelOpen=t})),this._state=s,this.name=e,this.on=Dt(this,\"populate\",\"blocked\",\"versionchange\",\"close\",{ready:[ue,ee]}),this.on.ready.subscribe=y(this.on.ready.subscribe,(e=>(t,n)=>{Xn.vip((()=>{const r=this._state;if(r.openComplete)r.dbOpenError||je.resolve().then(t),n&&e(t);else if(r.onReadyBeingFired)r.onReadyBeingFired.push(t),n&&e(t);else{e(t);const r=this;n||e((function e(){r.on.ready.unsubscribe(t),r.on.ready.unsubscribe(e)}))}}))})),this.Collection=(i=this,It(Vt.prototype,(function(e,t){this.db=i;let n=At,r=null;if(t)try{n=t()}catch(e){r=e}const s=e._ctx,o=s.table,a=o.hook.reading.fire;this._ctx={table:o,index:s.index,isPrimKey:!s.index||o.schema.primKey.keyPath&&s.index===o.schema.primKey.name,range:n,keysOnly:!1,dir:\"next\",unique:\"\",algorithm:null,filter:null,replayFilter:null,justLimit:!0,isMatch:null,offset:0,limit:1/0,error:r,or:s.or,valueMapper:a!==te?a:null}}))),this.Table=function(e){return It(jt.prototype,(function(t,n,r){this.db=e,this._tx=r,this.name=t,this.schema=n,this.hook=e._allTables[t]?e._allTables[t].hook:Dt(null,{creating:[se,ee],reading:[ne,te],updating:[oe,ee],deleting:[ie,ee]})}))}(this),this.Transaction=function(e){return It(an.prototype,(function(t,n,r,s,i){this.db=e,this.mode=t,this.storeNames=n,this.schema=r,this.chromeTransactionDurability=s,this.idbtrans=null,this.on=Dt(this,\"complete\",\"error\",\"abort\"),this.parent=i||null,this.active=!0,this._reculock=0,this._blockedFuncs=[],this._resolve=null,this._reject=null,this._waitingFor=null,this._waitingQueue=null,this._spinCount=0,this._completion=new je(((e,t)=>{this._resolve=e,this._reject=t})),this._completion.then((()=>{this.active=!1,this.on.complete.fire()}),(e=>{var t=this.active;return this.active=!1,this.on.error.fire(e),this.parent?this.parent._reject(e):t&&this.idbtrans&&this.idbtrans.abort(),ft(e)}))}))}(this),this.Version=function(e){return It(On.prototype,(function(t){this.db=e,this._cfg={version:t,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}}))}(this),this.WhereClause=function(e){return It(en.prototype,(function(t,n,r){this.db=e,this._ctx={table:t,index:\":id\"===n?null:n,or:r};const s=e._deps.indexedDB;if(!s)throw new X.MissingAPI;this._cmp=this._ascending=s.cmp.bind(s),this._descending=(e,t)=>s.cmp(t,e),this._max=(e,t)=>s.cmp(e,t)>0?e:t,this._min=(e,t)=>s.cmp(e,t)<0?e:t,this._IDBKeyRange=e._deps.IDBKeyRange}))}(this),this.on(\"versionchange\",(e=>{e.newVersion>0?console.warn(`Another connection wants to upgrade database '${this.name}'. Closing db now to resume the upgrade.`):console.warn(`Another connection wants to delete database '${this.name}'. Closing db now to resume the delete request.`),this.close()})),this.on(\"blocked\",(e=>{!e.newVersion||e.newVersion<e.oldVersion?console.warn(`Dexie.delete('${this.name}') was blocked`):console.warn(`Upgrade '${this.name}' blocked by other connection holding version ${e.oldVersion/10}`)})),this._maxKey=hn(t.IDBKeyRange),this._createTransaction=(e,t,n,r)=>new this.Transaction(e,t,n,this._options.chromeTransactionDurability,r),this._fireOnBlocked=e=>{this.on(\"blocked\").fire(e),_t.filter((e=>e.name===this.name&&e!==this&&!e._state.vcFired)).map((t=>t.on(\"versionchange\").fire(e)))},this.use(Fn),this.use(Nn),this.use(Qn),this.use($n),this.vip=Object.create(this,{_vip:{value:!0}}),r.forEach((e=>e(this)))}version(e){if(isNaN(e)||e<.1)throw new X.Type(\"Given version is not a positive number\");if(e=Math.round(10*e)/10,this.idbdb||this._state.isBeingOpened)throw new X.Schema(\"Cannot add version when database is open\");this.verno=Math.max(this.verno,e);const t=this._versions;var n=t.filter((t=>t._cfg.version===e))[0];return n||(n=new this.Version(e),t.push(n),t.sort(_n),n.stores({}),this._state.autoSchema=!1,n)}_whenReady(e){return this.idbdb&&(this._state.openComplete||Oe.letThrough||this._vip)?e():new je(((e,t)=>{if(this._state.openComplete)return t(new X.DatabaseClosed(this._state.dbOpenError));if(!this._state.isBeingOpened){if(!this._options.autoOpen)return void t(new X.DatabaseClosed);this.open().catch(ee)}this._state.dbReadyPromise.then(e,t)})).then(e)}use({stack:e,create:t,level:n,name:r}){r&&this.unuse({stack:e,name:r});const s=this._middlewares[e]||(this._middlewares[e]=[]);return s.push({stack:e,create:t,level:null==n?10:n,name:r}),s.sort(((e,t)=>e.level-t.level)),this}unuse({stack:e,name:t,create:n}){return e&&this._middlewares[e]&&(this._middlewares[e]=this._middlewares[e].filter((e=>n?e.create!==n:!!t&&e.name!==t))),this}open(){return Dn(this)}_close(){const e=this._state,t=_t.indexOf(this);if(t>=0&&_t.splice(t,1),this.idbdb){try{this.idbdb.close()}catch(e){}this._novip.idbdb=null}e.dbReadyPromise=new je((t=>{e.dbReadyResolve=t})),e.openCanceller=new je(((t,n)=>{e.cancelOpen=n}))}close(){this._close();const e=this._state;this._options.autoOpen=!1,e.dbOpenError=new X.DatabaseClosed,e.isBeingOpened&&e.cancelOpen(e.dbOpenError)}delete(){const e=arguments.length>0,t=this._state;return new je(((n,r)=>{const s=()=>{this.close();var e=this._deps.indexedDB.deleteDatabase(this.name);e.onsuccess=Ye((()=>{!function({indexedDB:e,IDBKeyRange:t},n){!An(e)&&n!==Pt&&Sn(e,t).delete(n).catch(ee)}(this._deps,this.name),n()})),e.onerror=tn(r),e.onblocked=this._fireOnBlocked};if(e)throw new X.InvalidArgument(\"Arguments not allowed in db.delete()\");t.isBeingOpened?t.dbReadyPromise.then(s):s()}))}backendDB(){return this.idbdb}isOpen(){return null!==this.idbdb}hasBeenClosed(){const e=this._state.dbOpenError;return e&&\"DatabaseClosed\"===e.name}hasFailed(){return null!==this._state.dbOpenError}dynamicallyOpened(){return this._state.autoSchema}get tables(){return t(this._allTables).map((e=>this._allTables[e]))}transaction(){const e=Bn.apply(this,arguments);return this._transaction.apply(this,e)}_transaction(e,t,n){let r=Oe.trans;r&&r.db===this&&-1===e.indexOf(\"!\")||(r=null);const s=-1!==e.indexOf(\"?\");let i,o;e=e.replace(\"!\",\"\").replace(\"?\",\"\");try{if(o=t.map((e=>{var t=e instanceof this.Table?e.name:e;if(\"string\"!=typeof t)throw new TypeError(\"Invalid table argument to Dexie.transaction(). Only Table or String are allowed\");return t})),\"r\"==e||e===Kt)i=Kt;else{if(\"rw\"!=e&&e!=Ot)throw new X.InvalidArgument(\"Invalid transaction mode: \"+e);i=Ot}if(r){if(r.mode===Kt&&i===Ot){if(!s)throw new X.SubTransaction(\"Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY\");r=null}r&&o.forEach((e=>{if(r&&-1===r.storeNames.indexOf(e)){if(!s)throw new X.SubTransaction(\"Table \"+e+\" not included in parent transaction.\");r=null}})),s&&r&&!r.active&&(r=null)}}catch(e){return r?r._promise(null,((t,n)=>{n(e)})):ft(e)}const a=Tn.bind(null,this,i,o,r,n);return r?r._promise(i,a,\"lock\"):Oe.trans?at(Oe.transless,(()=>this._whenReady(a))):this._whenReady(a)}table(e){if(!o(this._allTables,e))throw new X.InvalidTable(`Table ${e} does not exist`);return this._allTables[e]}}const Jn=\"undefined\"!=typeof Symbol&&\"observable\"in Symbol?Symbol.observable:\"@@observable\";class Zn{constructor(e){this._subscribe=e}subscribe(e,t,n){return this._subscribe(e&&\"function\"!=typeof e?e:{next:e,error:t,complete:n})}[Jn](){return this}}function er(e,n){return t(n).forEach((t=>{Wn(e[t]||(e[t]=new Ln),n[t])})),e}function tr(e){let n,r=!1;const s=new Zn((s=>{const i=T(e);let o=!1,a={},u={};const l={get closed(){return o},unsubscribe:()=>{o=!0,on.storagemutated.unsubscribe(f)}};s.start&&s.start(l);let c=!1,h=!1;function d(){return t(u).some((e=>a[e]&&Yn(a[e],u[e])))}const f=e=>{er(a,e),d()&&p()},p=()=>{if(c||o)return;a={};const t={},y=function(t){i&&et();const n=()=>Ze(e,{subscr:t,trans:null}),r=Oe.trans?at(Oe.transless,n):n();return i&&r.then(tt,tt),r}(t);h||(on(rn,f),h=!0),c=!0,Promise.resolve(y).then((e=>{r=!0,n=e,c=!1,o||(d()?p():(a={},u=t,s.next&&s.next(e)))}),(e=>{c=!1,r=!1,s.error&&s.error(e),l.unsubscribe()}))};return p(),l}));return s.hasValue=()=>r,s.getValue=()=>n,s}let nr;try{nr={indexedDB:e.indexedDB||e.mozIndexedDB||e.webkitIndexedDB||e.msIndexedDB,IDBKeyRange:e.IDBKeyRange||e.webkitIDBKeyRange}}catch(e){nr={indexedDB:null,IDBKeyRange:null}}const rr=Xn;function sr(e){let t=ir;try{ir=!0,on.storagemutated.fire(e)}finally{ir=t}}a(rr,{...Z,delete:e=>new rr(e,{addons:[]}).delete(),exists:e=>new rr(e,{addons:[]}).open().then((e=>(e.close(),!0))).catch(\"NoSuchDatabaseError\",(()=>!1)),getDatabaseNames(e){try{return function({indexedDB:e,IDBKeyRange:t}){return An(e)?Promise.resolve(e.databases()).then((e=>e.map((e=>e.name)).filter((e=>e!==Pt)))):Sn(e,t).toCollection().primaryKeys()}(rr.dependencies).then(e)}catch(e){return ft(new X.MissingAPI)}},defineClass:()=>function(e){r(this,e)},ignoreTransaction:e=>Oe.trans?at(Oe.transless,e):e(),vip:Cn,async:function(e){return function(){try{var t=In(e.apply(this,arguments));return t&&\"function\"==typeof t.then?t:je.resolve(t)}catch(e){return ft(e)}}},spawn:function(e,t,n){try{var r=In(e.apply(n,t||[]));return r&&\"function\"==typeof r.then?r:je.resolve(r)}catch(e){return ft(e)}},currentTransaction:{get:()=>Oe.trans||null},waitFor:function(e,t){const n=je.resolve(\"function\"==typeof e?rr.ignoreTransaction(e):e).timeout(t||6e4);return Oe.trans?Oe.trans.waitFor(n):n},Promise:je,debug:{get:()=>R,set:e=>{F(e,\"dexie\"===e?()=>!0:Et)}},derive:c,extend:r,props:a,override:y,Events:Dt,on:on,liveQuery:tr,extendObservabilitySet:er,getByKeyPath:b,setByKeyPath:_,delByKeyPath:function(e,t){\"string\"==typeof t?_(e,t,void 0):\"length\"in t&&[].map.call(t,(function(t){_(e,t,void 0)}))},shallowClone:w,deepClone:O,getObjectDiff:Mn,cmp:$t,asap:v,minKey:vt,addons:[],connections:_t,errnames:H,dependencies:nr,semVer:yt,version:yt.split(\".\").map((e=>parseInt(e))).reduce(((e,t,n)=>e+t/Math.pow(10,2*n)))}),rr.maxKey=hn(rr.dependencies.IDBKeyRange),\"undefined\"!=typeof dispatchEvent&&\"undefined\"!=typeof addEventListener&&(on(rn,(e=>{if(!ir){let t;wt?(t=document.createEvent(\"CustomEvent\"),t.initCustomEvent(sn,!0,!0,e)):t=new CustomEvent(sn,{detail:e}),ir=!0,dispatchEvent(t),ir=!1}})),addEventListener(sn,(({detail:e})=>{ir||sr(e)})));let ir=!1;if(\"undefined\"!=typeof BroadcastChannel){const e=new BroadcastChannel(sn);\"function\"==typeof e.unref&&e.unref(),on(rn,(t=>{ir||e.postMessage(t)})),e.onmessage=e=>{e.data&&sr(e.data)}}else if(\"undefined\"!=typeof self&&\"undefined\"!=typeof navigator){on(rn,(e=>{try{ir||(\"undefined\"!=typeof localStorage&&localStorage.setItem(sn,JSON.stringify({trig:Math.random(),changedParts:e})),\"object\"==typeof self.clients&&[...self.clients.matchAll({includeUncontrolled:!0})].forEach((t=>t.postMessage({type:sn,changedParts:e}))))}catch(e){}})),\"undefined\"!=typeof addEventListener&&addEventListener(\"storage\",(e=>{if(e.key===sn){const t=JSON.parse(e.newValue);t&&sr(t.changedParts)}}));const e=self.document&&navigator.serviceWorker;e&&e.addEventListener(\"message\",(function({data:e}){e&&e.type===sn&&sr(e.changedParts)}))}je.rejectionMapper=function(e,t){if(!e||e instanceof W||e instanceof TypeError||e instanceof SyntaxError||!e.name||!J[e.name])return e;var n=new J[e.name](t||e.message,e);return\"stack\"in e&&l(n,\"stack\",{get:function(){return this.inner.stack}}),n},F(R,Et);export{Xn as Dexie,Ln as RangeSet,Xn as default,tr as liveQuery,Wn as mergeRanges,Yn as rangesOverlap};\n//# sourceMappingURL=dexie.min.mjs.map","/* ========================================================================== \n * dexie-observable.js\n * ==========================================================================\n *\n * Dexie addon for observing database changes not just on local db instance\n * but also on other instances, tabs and windows.\n *\n * Comprises a base framework for dexie-syncable.js\n *\n * By David Fahlander, david.fahlander@gmail.com,\n * Nikolas Poniros, https://github.com/nponiros\n *\n * ==========================================================================\n *\n * Version {version}, {date}\n *\n * https://dexie.org\n *\n * Apache License Version 2.0, January 2004, http://www.apache.org/licenses/\n * \n */\n\nimport Dexie from 'dexie';\n\nfunction nop() { }\nfunction promisableChain(f1, f2) {\n if (f1 === nop)\n return f2;\n return function () {\n var res = f1.apply(this, arguments);\n if (res && typeof res.then === 'function') {\n var thiz = this, args = arguments;\n return res.then(function () {\n return f2.apply(thiz, args);\n });\n }\n return f2.apply(this, arguments);\n };\n}\nfunction createUUID() {\n // Decent solution from http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript\n var d = Date.now();\n var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n var r = (d + Math.random() * 16) % 16 | 0;\n d = Math.floor(d / 16);\n return (c === 'x' ? r : (r & 0x7 | 0x8)).toString(16);\n });\n return uuid;\n}\n\nfunction initOverrideCreateTransaction(db, wakeupObservers) {\n return function overrideCreateTransaction(origFunc) {\n return function (mode, storenames, dbschema, parent) {\n if (db.dynamicallyOpened())\n return origFunc.apply(this, arguments); // Don't observe dynamically opened databases.\n var addChanges = false;\n if (mode === 'readwrite' && storenames.some(function (storeName) {\n return dbschema[storeName] && dbschema[storeName].observable;\n })) {\n // At least one included store is a observable store. Make sure to also include the _changes store.\n addChanges = true;\n storenames = storenames.slice(0); // Clone\n if (storenames.indexOf(\"_changes\") === -1)\n storenames.push(\"_changes\"); // Otherwise, firefox will hang... (I've reported the bug to Mozilla@Bugzilla)\n }\n // Call original db._createTransaction()\n var trans = origFunc.call(this, mode, storenames, dbschema, parent);\n // If this transaction is bound to any observable table, make sure to add changes when transaction completes.\n if (addChanges) {\n trans._lastWrittenRevision = 0;\n trans.on('complete', function () {\n if (trans._lastWrittenRevision) {\n // Changes were written in this transaction.\n if (!parent) {\n // This is root-level transaction, i.e. a physical commit has happened.\n // Delay-trigger a wakeup call:\n if (wakeupObservers.timeoutHandle)\n clearTimeout(wakeupObservers.timeoutHandle);\n wakeupObservers.timeoutHandle = setTimeout(function () {\n delete wakeupObservers.timeoutHandle;\n wakeupObservers(trans._lastWrittenRevision);\n }, 25);\n }\n else {\n // This is just a virtual commit of a sub transaction.\n // Wait with waking up observers until root transaction has committed.\n // Make sure to mark root transaction so that it will wakeup observers upon commit.\n var rootTransaction = (function findRootTransaction(trans) {\n return trans.parent ? findRootTransaction(trans.parent) : trans;\n })(parent);\n rootTransaction._lastWrittenRevision = Math.max(trans._lastWrittenRevision, rootTransaction.lastWrittenRevision || 0);\n }\n }\n });\n // Derive \"source\" property from parent transaction by default\n if (trans.parent && trans.parent.source)\n trans.source = trans.parent.source;\n }\n return trans;\n };\n };\n}\n\nfunction initWakeupObservers(db, Observable, localStorage) {\n return function wakeupObservers(lastWrittenRevision) {\n // Make sure Observable.latestRevision[db.name] is still below our value, now when some time has elapsed and other db instances in same window possibly could have made changes too.\n if (Observable.latestRevision[db.name] < lastWrittenRevision) {\n // Set the static property lastRevision[db.name] to the revision of the last written change.\n Observable.latestRevision[db.name] = lastWrittenRevision;\n // Wakeup ourselves, and any other db instances on this window:\n Dexie.ignoreTransaction(function () {\n Observable.on('latestRevisionIncremented').fire(db.name, lastWrittenRevision);\n });\n // Observable.on.latestRevisionIncremented will only wakeup db's in current window.\n // We need a storage event to wakeup other windwos.\n // Since indexedDB lacks storage events, let's use the storage event from WebStorage just for\n // the purpose to wakeup db instances in other windows.\n if (localStorage)\n localStorage.setItem('Dexie.Observable/latestRevision/' + db.name, lastWrittenRevision); // In IE, this will also wakeup our own window. However, onLatestRevisionIncremented will work around this by only running once per revision id.\n }\n };\n}\n\n// Change Types\nvar CREATE = 1;\nvar UPDATE = 2;\nvar DELETE = 3;\n\nfunction initCreatingHook(db, table) {\n return function creatingHook(primKey, obj, trans) {\n /// <param name=\"trans\" type=\"db.Transaction\"></param>\n var rv = undefined;\n if (primKey === undefined && table.schema.primKey.uuid) {\n primKey = rv = Dexie.Observable.createUUID();\n if (table.schema.primKey.keyPath) {\n Dexie.setByKeyPath(obj, table.schema.primKey.keyPath, primKey);\n }\n }\n var change = {\n source: trans.source || null,\n table: table.name,\n key: primKey === undefined ? null : primKey,\n type: CREATE,\n obj: obj\n };\n var promise = db._changes.add(change).then(function (rev) {\n trans._lastWrittenRevision = Math.max(trans._lastWrittenRevision, rev);\n return rev;\n });\n // Wait for onsuccess so that we have the primKey if it is auto-incremented and update the change item if so.\n this.onsuccess = function (resultKey) {\n if (primKey != resultKey)\n promise._then(function () {\n change.key = resultKey;\n db._changes.put(change);\n });\n };\n this.onerror = function () {\n // If the main operation fails, make sure to regret the change\n promise._then(function (rev) {\n // Will only happen if app code catches the main operation error to prohibit transaction from aborting.\n db._changes.delete(rev);\n });\n };\n return rv;\n };\n}\n\nfunction initUpdatingHook(db, tableName) {\n return function updatingHook(mods, primKey, oldObj, trans) {\n /// <param name=\"trans\" type=\"db.Transaction\"></param>\n // mods may contain property paths with undefined as value if the property\n // is being deleted. Since we cannot persist undefined we need to act\n // like those changes is setting the value to null instead.\n var modsWithoutUndefined = {};\n // As of current Dexie version (1.0.3) hook may be called even if it wouldn't really change.\n // Therefore we may do that kind of optimization here - to not add change entries if\n // there's nothing to change.\n var anythingChanged = false;\n var newObj = Dexie.deepClone(oldObj);\n for (var propPath in mods) {\n var mod = mods[propPath];\n if (typeof mod === 'undefined') {\n Dexie.delByKeyPath(newObj, propPath);\n modsWithoutUndefined[propPath] = null; // Null is as close we could come to deleting a property when not allowing undefined.\n anythingChanged = true;\n }\n else {\n var currentValue = Dexie.getByKeyPath(oldObj, propPath);\n if (mod !== currentValue && JSON.stringify(mod) !== JSON.stringify(currentValue)) {\n Dexie.setByKeyPath(newObj, propPath, mod);\n modsWithoutUndefined[propPath] = mod;\n anythingChanged = true;\n }\n }\n }\n if (anythingChanged) {\n var change = {\n source: trans.source || null,\n table: tableName,\n key: primKey,\n type: UPDATE,\n mods: modsWithoutUndefined,\n oldObj: oldObj,\n obj: newObj\n };\n var promise = db._changes.add(change); // Just so we get the correct revision order of the update...\n this.onsuccess = function () {\n promise._then(function (rev) {\n trans._lastWrittenRevision = Math.max(trans._lastWrittenRevision, rev);\n });\n };\n this.onerror = function () {\n // If the main operation fails, make sure to regret the change.\n promise._then(function (rev) {\n // Will only happen if app code catches the main operation error to prohibit transaction from aborting.\n db._changes.delete(rev);\n });\n };\n }\n };\n}\n\nfunction initDeletingHook(db, tableName) {\n return function deletingHook(primKey, obj, trans) {\n /// <param name=\"trans\" type=\"db.Transaction\"></param>\n var promise = db._changes.add({\n source: trans.source || null,\n table: tableName,\n key: primKey,\n type: DELETE,\n oldObj: obj\n }).then(function (rev) {\n trans._lastWrittenRevision = Math.max(trans._lastWrittenRevision, rev);\n return rev;\n })\n .catch(function (e) {\n console.log(obj);\n console.log(e.stack);\n });\n this.onerror = function () {\n // If the main operation fails, make sure to regret the change.\n // Using _then because if promise is already fullfilled, the standard then() would\n // do setTimeout() and we would loose the transaction.\n promise._then(function (rev) {\n // Will only happen if app code catches the main operation error to prohibit transaction from aborting.\n db._changes.delete(rev);\n });\n };\n };\n}\n\nfunction initCrudMonitor(db) {\n //\n // The Creating/Updating/Deleting hook will make sure any change is stored to the changes table\n //\n return function crudMonitor(table) {\n /// <param name=\"table\" type=\"db.Table\"></param>\n if (table.hook._observing)\n return;\n table.hook._observing = true;\n var tableName = table.name;\n table.hook('creating').subscribe(initCreatingHook(db, table));\n table.hook('updating').subscribe(initUpdatingHook(db, tableName));\n table.hook('deleting').subscribe(initDeletingHook(db, tableName));\n };\n}\n\nfunction initOnStorage(Observable) {\n return function onStorage(event) {\n // We use the onstorage event to trigger onLatestRevisionIncremented since we will wake up when other windows modify the DB as well!\n if (event.key && event.key.indexOf(\"Dexie.Observable/\") === 0) { // For example \"Dexie.Observable/latestRevision/FriendsDB\"\n var parts = event.key.split('/');\n var prop = parts[1];\n var dbname = parts[2];\n if (prop === 'latestRevision') {\n var rev = parseInt(event.newValue, 10);\n if (!isNaN(rev) && rev > Observable.latestRevision[dbname]) {\n Observable.latestRevision[dbname] = rev;\n Dexie.ignoreTransaction(function () {\n Observable.on('latestRevisionIncremented').fire(dbname, rev);\n });\n }\n }\n else if (prop.indexOf(\"deadnode:\") === 0) {\n var nodeID = parseInt(prop.split(':')[1], 10);\n if (event.newValue) {\n Observable.on.suicideNurseCall.fire(dbname, nodeID);\n }\n }\n else if (prop === 'intercomm') {\n if (event.newValue) {\n Observable.on.intercomm.fire(dbname);\n }\n }\n }\n };\n}\n\nfunction initOverrideOpen(db, SyncNode, crudMonitor) {\n return function overrideOpen(origOpen) {\n return function () {\n //\n // Make sure to subscribe to \"creating\", \"updating\" and \"deleting\" hooks for all observable tables that were created in the stores() method.\n //\n Object.keys(db._allTables).forEach(function (tableName) {\n var table = db._allTables[tableName];\n if (table.schema.observable) {\n crudMonitor(table);\n }\n if (table.name === \"_syncNodes\") {\n table.mapToClass(SyncNode);\n }\n });\n return origOpen.apply(this, arguments);\n };\n };\n}\n\nvar Promise$2 = Dexie.Promise;\nfunction initIntercomm(db, Observable, SyncNode, mySyncNode, localStorage) {\n //\n // Intercommunication between nodes\n //\n // Enable inter-process communication between browser windows using localStorage storage event (is registered in Dexie.Observable)\n var requestsWaitingForReply = {};\n /**\n * @param {string} type Type of message\n * @param message Message to send\n * @param {number} destinationNode ID of destination node\n * @param {{wantReply: boolean, isFailure: boolean, requestId: number}} options If {wantReply: true}, the returned promise will complete with the reply from remote. Otherwise it will complete when message has been successfully sent.</param>\n */\n db.observable.sendMessage = function (type, message, destinationNode, options) {\n /// <param name=\"type\" type=\"String\">Type of message</param>\n /// <param name=\"message\">Message to send</param>\n /// <param name=\"destinationNode\" type=\"Number\">ID of destination node</param>\n /// <param name=\"options\" type=\"Object\" optional=\"true\">{wantReply: Boolean, isFailure: Boolean, requestId: Number}. If wantReply, the returned promise will complete with the reply from remote. Otherwise it will complete when message has been successfully sent.</param>\n options = options || {};\n if (!mySyncNode.node)\n return options.wantReply ?\n Promise$2.reject(new Dexie.DatabaseClosedError()) :\n Promise$2.resolve(); // If caller doesn't want a reply, it won't catch errors either.\n var msg = { message: message, destinationNode: destinationNode, sender: mySyncNode.node.id, type: type };\n Dexie.extend(msg, options); // wantReply: wantReply, success: !isFailure, requestId: ...\n return Dexie.ignoreTransaction(function () {\n var tables = [\"_intercomm\"];\n if (options.wantReply)\n tables.push(\"_syncNodes\"); // If caller wants a reply, include \"_syncNodes\" in transaction to check that there's a receiver there. Otherwise, new master will get it.\n var promise = db.transaction('rw', tables, function () {\n if (options.wantReply) {\n // Check that there is a receiver there to take the request.\n return db._syncNodes.where('id').equals(destinationNode).count(function (receiverAlive) {\n if (receiverAlive)\n return db._intercomm.add(msg);\n else // If we couldn't find a node -> send to master\n return db._syncNodes.where('isMaster').above(0).first(function (masterNode) {\n msg.destinationNode = masterNode.id;\n return db._intercomm.add(msg);\n });\n });\n }\n else {\n // If caller doesn't need a response, we don't have to make sure that it gets one.\n return db._intercomm.add(msg);\n }\n }).then(function (messageId) {\n var rv = null;\n if (options.wantReply) {\n rv = new Promise$2(function (resolve, reject) {\n requestsWaitingForReply[messageId.toString()] = { resolve: resolve, reject: reject };\n });\n }\n if (localStorage) {\n localStorage.setItem(\"Dexie.Observable/intercomm/\" + db.name, messageId.toString());\n }\n Observable.on.intercomm.fire(db.name);\n return rv;\n });\n if (!options.wantReply) {\n promise.catch(function () {\n });\n return;\n }\n else {\n // Forward rejection to caller if it waits for reply.\n return promise;\n }\n });\n };\n // Send a message to all local _syncNodes\n db.observable.broadcastMessage = function (type, message, bIncludeSelf) {\n if (!mySyncNode.node)\n return;\n var mySyncNodeId = mySyncNode.node.id;\n Dexie.ignoreTransaction(function () {\n db._syncNodes.toArray(function (nodes) {\n return Promise$2.all(nodes\n .filter(function (node) { return node.type === 'local' && (bIncludeSelf || node.id !== mySyncNodeId); })\n .map(function (node) { return db.observable.sendMessage(type, message, node.id); }));\n }).catch(function () {\n });\n });\n };\n function consumeIntercommMessages() {\n // Check if we got messages:\n if (!mySyncNode.node)\n return Promise$2.reject(new Dexie.DatabaseClosedError());\n return Dexie.ignoreTransaction(function () {\n return db.transaction('rw', '_intercomm', function () {\n return db._intercomm.where({ destinationNode: mySyncNode.node.id }).toArray(function (messages) {\n messages.forEach(function (msg) { return consumeMessage(msg); });\n return db._intercomm.where('id').anyOf(messages.map(function (msg) { return msg.id; })).delete();\n });\n });\n });\n }\n function consumeMessage(msg) {\n if (msg.type === 'response') {\n // This is a response. Lookup pending request and fulfill its promise.\n var request = requestsWaitingForReply[msg.requestId.toString()];\n if (request) {\n if (msg.isFailure) {\n request.reject(msg.message.error);\n }\n else {\n request.resolve(msg.message.result);\n }\n delete requestsWaitingForReply[msg.requestId.toString()];\n }\n }\n else {\n // This is a message or request. Fire the event and add an API for the subscriber to use if reply is requested\n msg.resolve = function (result) {\n db.observable.sendMessage('response', { result: result }, msg.sender, { requestId: msg.id });\n };\n msg.reject = function (error) {\n db.observable.sendMessage('response', { error: error.toString() }, msg.sender, { isFailure: true, requestId: msg.id });\n };\n db.on.message.fire(msg);\n }\n }\n // Listener for 'intercomm' events\n // Gets fired when we get a 'storage' event from local storage or when sendMessage is called\n // 'storage' is used to communicate between tabs (sendMessage changes the localStorage to trigger the event)\n // sendMessage is used to communicate in the same tab and to trigger a storage event\n function onIntercomm(dbname) {\n // When storage event trigger us to check\n if (dbname === db.name) {\n consumeIntercommMessages().catch('DatabaseClosedError', function () { });\n }\n }\n return {\n onIntercomm: onIntercomm,\n consumeIntercommMessages: consumeIntercommMessages\n };\n}\n\nfunction overrideParseStoresSpec(origFunc) {\n return function (stores, dbSchema) {\n // Create the _changes and _syncNodes tables\n stores[\"_changes\"] = \"++rev\";\n stores[\"_syncNodes\"] = \"++id,myRevision,lastHeartBeat,&url,isMaster,type,status\";\n stores[\"_intercomm\"] = \"++id,destinationNode\";\n stores[\"_uncommittedChanges\"] = \"++id,node\"; // For remote syncing when server returns a partial result.\n // Call default implementation. Will populate the dbSchema structures.\n origFunc.call(this, stores, dbSchema);\n // Allow UUID primary keys using $$ prefix on primary key or indexes\n Object.keys(dbSchema).forEach(function (tableName) {\n var schema = dbSchema[tableName];\n if (schema.primKey.name.indexOf('$$') === 0) {\n schema.primKey.uuid = true;\n schema.primKey.name = schema.primKey.name.substr(2);\n schema.primKey.keyPath = schema.primKey.keyPath.substr(2);\n }\n });\n // Now mark all observable tables\n Object.keys(dbSchema).forEach(function (tableName) {\n // Marked observable tables with \"observable\" in their TableSchema.\n if (tableName.indexOf('_') !== 0 && tableName.indexOf('$') !== 0) {\n dbSchema[tableName].observable = true;\n }\n });\n };\n}\n\nfunction deleteOldChanges(db) {\n // This is a background job and should never be done within\n // a caller's transaction. Use Dexie.ignoreTransaction() to ensure that.\n // We should not return the Promise but catch it ourselves instead.\n // To prohibit starving the database we want to lock transactions as short as possible\n // and since we're not in a hurry, we could do this job in chunks and reschedule a\n // continuation every 500 ms.\n var CHUNK_SIZE = 100;\n Dexie.ignoreTransaction(function () {\n return db._syncNodes.orderBy(\"myRevision\").first(function (oldestNode) {\n return db._changes\n .where(\"rev\").below(oldestNode.myRevision)\n .limit(CHUNK_SIZE)\n .primaryKeys();\n }).then(function (keysToDelete) {\n if (keysToDelete.length === 0)\n return; // Done.\n return db._changes.bulkDelete(keysToDelete).then(function () {\n // If not done garbage collecting, reschedule a continuation of it until done.\n if (keysToDelete.length === CHUNK_SIZE) {\n // Limit reached. Changes are there are more job to do. Schedule again:\n setTimeout(function () { return db.isOpen() && deleteOldChanges(db); }, 500);\n }\n });\n });\n }).catch(function () {\n // The operation is not crucial. A failure could almost only be due to that database has been closed.\n // No need to log this.\n });\n}\n\n/* ==========================================================================\n * dexie-observable.js\n * ==========================================================================\n *\n * Dexie addon for observing database changes not just on local db instance\n * but also on other instances, tabs and windows.\n *\n * Comprises a base framework for dexie-syncable.js\n *\n * By David Fahlander, david.fahlander@gmail.com,\n * Nikolas Poniros, https://github.com/nponiros\n *\n * ==========================================================================\n *\n * Version {version}, {date}\n *\n * https://dexie.org\n *\n * Apache License Version 2.0, January 2004, http://www.apache.org/licenses/\n *\n */\nvar global = self;\n/** class DatabaseChange\n *\n * Object contained by the _changes table.\n */\nvar DatabaseChange = Dexie.defineClass({\n rev: Number,\n source: String,\n table: String,\n key: Object,\n type: Number,\n obj: Object,\n mods: Object,\n oldObj: Object // DELETE: oldObj contains the object deleted. UPDATE: oldObj contains the old object before updates applied.\n});\n// Import some usable helper functions\nvar override = Dexie.override;\nvar Promise$1 = Dexie.Promise;\nvar browserIsShuttingDown = false;\n/** Dexie addon for change tracking and real-time observation.\n *\n * @param {Dexie} db\n */\nfunction Observable(db) {\n if (!/^(3|4)\\./.test(Dexie.version))\n throw new Error(\"Missing dexie version 3.x or 4.x\");\n if (db.observable) {\n if (db.observable.version !== \"{version}\")\n throw new Error(\"Mixed versions of dexie-observable\");\n return; // Addon already active.\n }\n var NODE_TIMEOUT = 20000, // 20 seconds before local db instances are timed out. This is so that old changes can be deleted when not needed and to garbage collect old _syncNodes objects.\n HIBERNATE_GRACE_PERIOD = 20000, // 20 seconds\n // LOCAL_POLL: The time to wait before polling local db for changes and cleaning up old nodes. \n // Polling for changes is a fallback only needed in certain circomstances (when the onstorage event doesnt reach all listeners - when different browser windows doesnt share the same process)\n LOCAL_POLL = 500, // 500 ms. In real-world there will be this value + the time it takes to poll(). A small value is needed in Workers where we cannot rely on storage event.\n HEARTBEAT_INTERVAL = NODE_TIMEOUT - 5000;\n var localStorage = Observable.localStorageImpl;\n /** class SyncNode\n *\n * Object contained in the _syncNodes table.\n */\n var SyncNode = Dexie.defineClass({\n //id: Number,\n myRevision: Number,\n type: String,\n lastHeartBeat: Number,\n deleteTimeStamp: Number,\n url: String,\n isMaster: Number,\n // Below properties should be extended in Dexie.Syncable. Not here. They apply to remote nodes only (type == \"remote\"):\n syncProtocol: String,\n syncContext: null,\n syncOptions: Object,\n connected: false,\n status: Number,\n appliedRemoteRevision: null,\n remoteBaseRevisions: [{ local: Number, remote: null }],\n dbUploadState: {\n tablesToUpload: [String],\n currentTable: String,\n currentKey: null,\n localBaseRevision: Number\n }\n });\n db.observable = { version: \"{version}\" };\n db.observable.SyncNode = SyncNode;\n var wakeupObservers = initWakeupObservers(db, Observable, localStorage);\n var overrideCreateTransaction = initOverrideCreateTransaction(db, wakeupObservers);\n var crudMonitor = initCrudMonitor(db);\n var overrideOpen = initOverrideOpen(db, SyncNode, crudMonitor);\n var mySyncNode = { node: null };\n var intercomm = initIntercomm(db, Observable, SyncNode, mySyncNode, localStorage);\n var onIntercomm = intercomm.onIntercomm;\n var consumeIntercommMessages = intercomm.consumeIntercommMessages;\n // Allow other addons to access the local sync node. May be needed by Dexie.Syncable.\n Object.defineProperty(db, \"_localSyncNode\", {\n get: function () { return mySyncNode.node; }\n });\n var pollHandle = null, heartbeatHandle = null;\n if (Dexie.fake) {\n // This code will never run.\n // It's here just to enable auto-complete in visual studio - helps a lot when writing code.\n db.version(1).stores({\n _syncNodes: \"++id,myRevision,lastHeartBeat\",\n _changes: \"++rev\",\n _intercomm: \"++id,destinationNode\",\n _uncommittedChanges: \"++id,node\"\n });\n db._syncNodes.mapToClass(SyncNode);\n db._changes.mapToClass(DatabaseChange);\n mySyncNode.node = new SyncNode({\n myRevision: 0,\n type: \"local\",\n lastHeartBeat: Date.now(),\n deleteTimeStamp: null\n });\n }\n //\n // Override parsing the stores to add \"_changes\" and \"_syncNodes\" tables.\n // It also adds UUID support for the primary key and sets tables as observable tables.\n //\n db.Version.prototype._parseStoresSpec = override(db.Version.prototype._parseStoresSpec, overrideParseStoresSpec);\n // changes event on db:\n db.on.addEventType({\n changes: 'asap',\n cleanup: [promisableChain, nop],\n message: 'asap'\n });\n //\n // Override transaction creation to always include the \"_changes\" store when any observable store is involved.\n //\n db._createTransaction = override(db._createTransaction, overrideCreateTransaction);\n // If Observable.latestRevsion[db.name] is undefined, set it to 0 so that comparing against it always works.\n // You might think that it will always be undefined before this call, but in case another Dexie instance in the same\n // window with the same database name has been created already, this static property will already be set correctly.\n Observable.latestRevision[db.name] = Observable.latestRevision[db.name] || 0;\n //\n // Override open to setup hooks for db changes and map the _syncNodes table to class\n //\n db.open = override(db.open, overrideOpen);\n db.close = override(db.close, function (origClose) {\n return function () {\n if (db.dynamicallyOpened())\n return origClose.apply(this, arguments); // Don't observe dynamically opened databases.\n // Teardown our framework.\n if (wakeupObservers.timeoutHandle) {\n clearTimeout(wakeupObservers.timeoutHandle);\n delete wakeupObservers.timeoutHandle;\n }\n Observable.on('latestRevisionIncremented').unsubscribe(onLatestRevisionIncremented);\n Observable.on('suicideNurseCall').unsubscribe(onSuicide);\n Observable.on('intercomm').unsubscribe(onIntercomm);\n Observable.on('beforeunload').unsubscribe(onBeforeUnload);\n // Inform other db instances in same window that we are dying:\n if (mySyncNode.node && mySyncNode.node.id) {\n Observable.on.suicideNurseCall.fire(db.name, mySyncNode.node.id);\n // Inform other windows as well:\n if (localStorage) {\n localStorage.setItem('Dexie.Observable/deadnode:' + mySyncNode.node.id.toString() + '/' + db.name, \"dead\"); // In IE, this will also wakeup our own window. cleanup() may trigger twice per other db instance. But that doesnt to anything.\n }\n mySyncNode.node.deleteTimeStamp = 1; // One millisecond after 1970. Makes it occur in the past but still keeps it truthy.\n mySyncNode.node.lastHeartBeat = 0;\n db._syncNodes.put(mySyncNode.node); // This async operation may be cancelled since the browser is closing down now.\n mySyncNode.node = null;\n }\n if (pollHandle)\n clearTimeout(pollHandle);\n pollHandle = null;\n if (heartbeatHandle)\n clearTimeout(heartbeatHandle);\n heartbeatHandle = null;\n return origClose.apply(this, arguments);\n };\n });\n // Override Dexie.delete() in order to delete Observable.latestRevision[db.name].\n db.delete = override(db.delete, function (origDelete) {\n return function () {\n return origDelete.apply(this, arguments).then(function (result) {\n // Reset Observable.latestRevision[db.name]\n Observable.latestRevision[db.name] = 0;\n return result;\n });\n };\n });\n // When db opens, make sure to start monitor any changes before other db operations will start.\n db.on(\"ready\", function startObserving() {\n if (db.dynamicallyOpened())\n return db; // Don't observe dynamically opened databases.\n return db.table(\"_changes\").orderBy(\"rev\").last(function (lastChange) {\n // Since startObserving() is called before database open() method, this will be the first database operation enqueued to db.\n // Therefore we know that the retrieved value will be This query will\n var latestRevision = (lastChange ? lastChange.rev : 0);\n mySyncNode.node = new SyncNode({\n myRevision: latestRevision,\n type: \"local\",\n lastHeartBeat: Date.now(),\n deleteTimeStamp: null,\n isMaster: 0\n });\n if (Observable.latestRevision[db.name] < latestRevision) {\n // Side track . For correctness whenever setting Observable.latestRevision[db.name] we must make sure the event is fired if increased:\n // There are other db instances in same window that hasnt yet been informed about a new revision\n Observable.latestRevision[db.name] = latestRevision;\n Dexie.ignoreTransaction(function () {\n Observable.on.latestRevisionIncremented.fire(latestRevision);\n });\n }\n // Add new sync node or if this is a reopening of the database after a close() call, update it.\n return db._syncNodes.put(mySyncNode.node).then(Dexie.ignoreTransaction(function () {\n // By default, this node will become master unless we discover an existing, up-to-date master\n var mySyncNodeShouldBecomeMaster = 1;\n return db._syncNodes.orderBy('isMaster').reverse().modify(function (existingNode) {\n if (existingNode.isMaster) {\n if (existingNode.lastHeartBeat < Date.now() - NODE_TIMEOUT) {\n // Existing master record is out-of-date; demote it\n existingNode.isMaster = 0;\n }\n else {\n // An existing up-to-date master record exists, so it will remain master\n mySyncNodeShouldBecomeMaster = 0;\n }\n }\n // The local node reference may be unassigned at any point by a database close() operation\n if (!mySyncNode.node)\n return;\n // Assign the local node state\n // This is guaranteed to apply *after* any existing master records have been inspected, due to the orderBy clause\n if (existingNode.id === mySyncNode.node.id) {\n existingNode.isMaster = mySyncNode.node.isMaster = mySyncNodeShouldBecomeMaster;\n }\n });\n })).then(function () {\n Observable.on('latestRevisionIncremented', onLatestRevisionIncremented); // Wakeup when a new revision is available.\n Observable.on('beforeunload', onBeforeUnload);\n Observable.on('suicideNurseCall', onSuicide);\n Observable.on('intercomm', onIntercomm);\n // Start polling for changes and do cleanups:\n pollHandle = setTimeout(poll, LOCAL_POLL);\n // Start heartbeat\n heartbeatHandle = setTimeout(heartbeat, HEARTBEAT_INTERVAL);\n }).then(function () {\n cleanup();\n });\n });\n }, true); // True means the on(ready) event will survive a db reopening (db.close() / db.open()).\n var handledRevision = 0;\n function onLatestRevisionIncremented(dbname, latestRevision) {\n if (dbname === db.name) {\n if (handledRevision >= latestRevision)\n return; // Make sure to only run once per revision. (Workaround for IE triggering storage event on same window)\n handledRevision = latestRevision;\n Dexie.vip(function () {\n readChanges().catch('DatabaseClosedError', function () {\n // Handle database closed error gracefully while reading changes.\n // Don't trigger 'unhandledrejection'.\n // Even though we intercept the close() method, it might be called when in the middle of\n // reading changes and then that flow will cancel with DatabaseClosedError.\n });\n });\n }\n }\n function readChanges(latestRevision, recursion, wasPartial) {\n // Whenever changes are read, fire db.on(\"changes\") with the array of changes. Eventually, limit the array to 1000 entries or so (an entire database is\n // downloaded from server AFTER we are initiated. For example, if first sync call fails, then after a while we get reconnected. However, that scenario\n // should be handled in case database is totally empty we should fail if sync is not available)\n if (!recursion && readChanges.ongoingOperation) {\n // We are already reading changes. Prohibit a parallell execution of this which would lead to duplicate trigging of 'changes' event.\n // Instead, the callback in toArray() will always check Observable.latestRevision[db.name] to see if it has changed and if so, re-launch readChanges().\n // The caller should get the Promise instance from the ongoing operation so that the then() method will resolve when operation is finished.\n return readChanges.ongoingOperation;\n }\n var partial = false;\n var ourSyncNode = mySyncNode.node; // Because mySyncNode can suddenly be set to null on database close, and worse, can be set to a new value if database is reopened.\n if (!ourSyncNode) {\n return Promise$1.reject(new Dexie.DatabaseClosedError());\n }\n var LIMIT = 1000;\n var promise = db._changes.where(\"rev\").above(ourSyncNode.myRevision).limit(LIMIT).toArray(function (changes) {\n if (changes.length > 0) {\n var lastChange = changes[changes.length - 1];\n partial = (changes.length === LIMIT);\n db.on('changes').fire(changes, partial);\n ourSyncNode.myRevision = lastChange.rev;\n }\n else if (wasPartial) {\n // No more changes, BUT since we have triggered on('changes') with partial = true,\n // we HAVE TO trigger changes again with empty list and partial = false\n db.on('changes').fire([], false);\n }\n var ourNodeStillExists = false;\n return db._syncNodes.where(':id').equals(ourSyncNode.id).modify(function (syncNode) {\n ourNodeStillExists = true;\n syncNode.lastHeartBeat = Date.now(); // Update heart beat (not nescessary, but why not!)\n syncNode.deleteTimeStamp = null; // Reset \"deleteTimeStamp\" flag if it was there.\n syncNode.myRevision = Math.max(syncNode.myRevision, ourSyncNode.myRevision);\n }).then(function () { return ourNodeStillExists; });\n }).then(function (ourNodeStillExists) {\n if (!ourNodeStillExists) {\n // My node has been deleted. We must have been lazy and got removed by another node.\n if (browserIsShuttingDown) {\n throw new Error(\"Browser is shutting down\");\n }\n else {\n db.close();\n console.error(\"Out of sync\"); // TODO: What to do? Reload the page?\n if (global.location)\n global.location.reload(true);\n throw new Error(\"Out of sync\"); // Will make current promise reject\n }\n }\n // Check if more changes have come since we started reading changes in the first place. If so, relaunch readChanges and let the ongoing promise not\n // resolve until all changes have been read.\n if (partial || Observable.latestRevision[db.name] > ourSyncNode.myRevision) {\n // Either there were more than 1000 changes or additional changes where added while we were reading these changes,\n // In either case, call readChanges() again until we're done.\n return readChanges(Observable.latestRevision[db.name], (recursion || 0) + 1, partial);\n }\n }).finally(function () {\n delete readChanges.ongoingOperation;\n });\n if (!recursion) {\n readChanges.ongoingOperation = promise;\n }\n return promise;\n }\n /**\n * The reason we need heartbeat in parallell with poll() is due to the risk of long-running\n * transactions while syncing changes from server to client in Dexie.Syncable. That transaction will\n * include _changes (which will block readChanges()) but not _syncNodes. So this heartbeat will go on\n * during that changes are being applied and update our lastHeartBeat property while poll() is waiting.\n * When cleanup() (who also is blocked by the sync) wakes up, it won't kill the master node because this\n * heartbeat job will have updated the master node's heartbeat during the long-running sync transaction.\n *\n * If we did not have this heartbeat, and a server send lots of changes that took more than NODE_TIMEOUT\n * (20 seconds), another node waking up after the sync would kill the master node and take over because\n * it would believe it was dead.\n */\n function heartbeat() {\n heartbeatHandle = null;\n var currentInstance = mySyncNode.node && mySyncNode.node.id;\n if (!currentInstance)\n return;\n db.transaction('rw!', db._syncNodes, function () {\n db._syncNodes.where({ id: currentInstance }).first(function (ourSyncNode) {\n if (!ourSyncNode) {\n // We do not exist anymore. Call db.close() to teardown polls etc.\n if (db.isOpen())\n db.close();\n return;\n }\n ourSyncNode.lastHeartBeat = Date.now();\n ourSyncNode.deleteTimeStamp = null; // Reset \"deleteTimeStamp\" flag if it was there.\n return db._syncNodes.put(ourSyncNode);\n });\n }).catch('DatabaseClosedError', function () {\n // Ignore silently\n }).finally(function () {\n if (mySyncNode.node && mySyncNode.node.id === currentInstance && db.isOpen()) {\n heartbeatHandle = setTimeout(heartbeat, HEARTBEAT_INTERVAL);\n }\n });\n }\n function poll() {\n pollHandle = null;\n var currentInstance = mySyncNode.node && mySyncNode.node.id;\n if (!currentInstance)\n return;\n Dexie.vip(function () {\n readChanges(Observable.latestRevision[db.name]).then(cleanup).then(consumeIntercommMessages)\n .catch('DatabaseClosedError', function () {\n // Handle database closed error gracefully while reading changes.\n // Don't trigger 'unhandledrejection'.\n // Even though we intercept the close() method, it might be called when in the middle of\n // reading changes and then that flow will cancel with DatabaseClosedError.\n })\n .finally(function () {\n // Poll again in given interval:\n if (mySyncNode.node && mySyncNode.node.id === currentInstance && db.isOpen()) {\n pollHandle = setTimeout(poll, LOCAL_POLL);\n }\n });\n });\n }\n function cleanup() {\n var ourSyncNode = mySyncNode.node;\n if (!ourSyncNode)\n return Promise$1.reject(new Dexie.DatabaseClosedError());\n return db.transaction('rw', '_syncNodes', '_changes', '_intercomm', function () {\n // Cleanup dead local nodes that has no heartbeat for over a minute\n // Dont do the following:\n //nodes.where(\"lastHeartBeat\").below(Date.now() - NODE_TIMEOUT).and(function (node) { return node.type == \"local\"; }).delete();\n // Because client may have been in hybernate mode and recently woken up. That would lead to deletion of all nodes.\n // Instead, we should mark any old nodes for deletion in a minute or so. If they still dont wakeup after that minute we could consider them dead.\n var weBecameMaster = false;\n db._syncNodes.where(\"lastHeartBeat\").below(Date.now() - NODE_TIMEOUT).filter(function (node) { return node.type === 'local'; }).modify(function (node) {\n if (node.deleteTimeStamp && node.deleteTimeStamp < Date.now()) {\n // Delete the node.\n delete this.value;\n // Cleanup localStorage \"deadnode:\" entry for this node (localStorage API was used to wakeup other windows (onstorage event) - an event type missing in indexedDB.)\n if (localStorage) {\n localStorage.removeItem('Dexie.Observable/deadnode:' + node.id + '/' + db.name);\n }\n // Check if we are deleting a master node\n if (node.isMaster) {\n // The node we are deleting is master. We must take over that role.\n // OK to call nodes.update(). No need to call Dexie.vip() because nodes is opened in existing transaction!\n db._syncNodes.update(ourSyncNode, { isMaster: 1 });\n weBecameMaster = true;\n }\n // Cleanup intercomm messages destinated to the node being deleted.\n // Those that waits for reply should be redirected to us.\n db._intercomm.where({ destinationNode: node.id }).modify(function (msg) {\n if (msg.wantReply)\n msg.destinationNode = ourSyncNode.id;\n else\n // Delete the message from DB and if someone is waiting for reply, let ourselved answer the request.\n delete this.value;\n });\n }\n else if (!node.deleteTimeStamp) {\n // Mark the node for deletion\n node.deleteTimeStamp = Date.now() + HIBERNATE_GRACE_PERIOD;\n }\n }).then(function () {\n // Cleanup old revisions that no node is interested of.\n Observable.deleteOldChanges(db);\n return db.on(\"cleanup\").fire(weBecameMaster);\n });\n });\n }\n function onBeforeUnload() {\n // Mark our own sync node for deletion.\n if (!mySyncNode.node)\n return;\n browserIsShuttingDown = true;\n mySyncNode.node.deleteTimeStamp = 1; // One millisecond after 1970. Makes it occur in the past but still keeps it truthy.\n mySyncNode.node.lastHeartBeat = 0;\n db._syncNodes.put(mySyncNode.node); // This async operation may be cancelled since the browser is closing down now.\n Observable.wereTheOneDying = true; // If other nodes in same window wakes up by this call, make sure they dont start taking over mastership and stuff...\n // Inform other windows that we're gone, so that they may take over our role if needed. Setting localStorage item below will trigger Observable.onStorage, which will trigger onSuicie() below:\n if (localStorage) {\n localStorage.setItem('Dexie.Observable/deadnode:' + mySyncNode.node.id.toString() + '/' + db.name, \"dead\"); // In IE, this will also wakeup our own window. However, that is doublechecked in nursecall subscriber below.\n }\n }\n function onSuicide(dbname, nodeID) {\n if (dbname === db.name && !Observable.wereTheOneDying) {\n // Make sure it's dead indeed. Second bullet. Why? Because it has marked itself for deletion in the onbeforeunload event, which is fired just before window dies.\n // It's own call to put() may have been cancelled.\n // Note also that in IE, this event may be called twice, but that doesnt harm!\n Dexie.vip(function () {\n db._syncNodes.update(nodeID, { deleteTimeStamp: 1, lastHeartBeat: 0 }).then(cleanup);\n });\n }\n }\n}\n//\n// Static properties and methods\n// \nObservable.version = \"{version}\";\nObservable.latestRevision = {}; // Latest revision PER DATABASE. Example: Observable.latestRevision.FriendsDB = 37;\nObservable.on = Dexie.Events(null, \"latestRevisionIncremented\", \"suicideNurseCall\", \"intercomm\", \"beforeunload\"); // fire(dbname, value);\nObservable.createUUID = createUUID;\nObservable.deleteOldChanges = deleteOldChanges;\nObservable._onStorage = initOnStorage(Observable);\nObservable._onBeforeUnload = function () {\n Observable.on.beforeunload.fire();\n};\ntry {\n Observable.localStorageImpl = global.localStorage;\n}\ncatch (ex) { }\n//\n// Map window events to static events in Dexie.Observable:\n//\nif (global === null || global === void 0 ? void 0 : global.addEventListener) {\n global.addEventListener(\"storage\", Observable._onStorage);\n global.addEventListener(\"beforeunload\", Observable._onBeforeUnload);\n}\nif (Dexie.Observable) {\n if (Dexie.Observable.version !== \"{version}\") {\n throw new Error(\"Mixed versions of dexie-observable\");\n }\n}\nelse {\n // Register addon:\n Dexie.Observable = Observable;\n Dexie.addons.push(Observable);\n}\nvar Dexie_Observable = Dexie.Observable;\n\nexport { Dexie_Observable as default };\n//# sourceMappingURL=dexie-observable.es.js.map\n","/**\n * Browser Image Compression\n * v2.0.2\n * by Donald <donaldcwl@gmail.com>\n * https://github.com/Donaldcwl/browser-image-compression\n */\n\nfunction _mergeNamespaces(e,t){return t.forEach((function(t){t&&\"string\"!=typeof t&&!Array.isArray(t)&&Object.keys(t).forEach((function(r){if(\"default\"!==r&&!(r in e)){var i=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,i.get?i:{enumerable:!0,get:function(){return t[r]}})}}))})),Object.freeze(e)}function copyExifWithoutOrientation(e,t){return new Promise((function(r,i){let o;return getApp1Segment(e).then((function(e){try{return o=e,r(new Blob([t.slice(0,2),o,t.slice(2)],{type:\"image/jpeg\"}))}catch(e){return i(e)}}),i)}))}const getApp1Segment=e=>new Promise(((t,r)=>{const i=new FileReader;i.addEventListener(\"load\",(({target:{result:e}})=>{const i=new DataView(e);let o=0;if(65496!==i.getUint16(o))return r(\"not a valid JPEG\");for(o+=2;;){const a=i.getUint16(o);if(65498===a)break;const s=i.getUint16(o+2);if(65505===a&&1165519206===i.getUint32(o+4)){const a=o+10;let f;switch(i.getUint16(a)){case 18761:f=!0;break;case 19789:f=!1;break;default:return r(\"TIFF header contains invalid endian\")}if(42!==i.getUint16(a+2,f))return r(\"TIFF header contains invalid version\");const l=i.getUint32(a+4,f),c=a+l+2+12*i.getUint16(a+l,f);for(let e=a+l+2;e<c;e+=12){if(274==i.getUint16(e,f)){if(3!==i.getUint16(e+2,f))return r(\"Orientation data type is invalid\");if(1!==i.getUint32(e+4,f))return r(\"Orientation data count is invalid\");i.setUint16(e+8,1,f);break}}return t(e.slice(o,o+2+s))}o+=2+s}return t(new Blob)})),i.readAsArrayBuffer(e)}));var e={},t={get exports(){return e},set exports(t){e=t}};!function(e){var r,i,UZIP={};t.exports=UZIP,UZIP.parse=function(e,t){for(var r=UZIP.bin.readUshort,i=UZIP.bin.readUint,o=0,a={},s=new Uint8Array(e),f=s.length-4;101010256!=i(s,f);)f--;o=f;o+=4;var l=r(s,o+=4);r(s,o+=2);var c=i(s,o+=2),u=i(s,o+=4);o+=4,o=u;for(var h=0;h<l;h++){i(s,o),o+=4,o+=4,o+=4,i(s,o+=4);c=i(s,o+=4);var d=i(s,o+=4),A=r(s,o+=4),g=r(s,o+2),p=r(s,o+4);o+=6;var m=i(s,o+=8);o+=4,o+=A+g+p,UZIP._readLocal(s,m,a,c,d,t)}return a},UZIP._readLocal=function(e,t,r,i,o,a){var s=UZIP.bin.readUshort,f=UZIP.bin.readUint;f(e,t),s(e,t+=4),s(e,t+=2);var l=s(e,t+=2);f(e,t+=2),f(e,t+=4),t+=4;var c=s(e,t+=8),u=s(e,t+=2);t+=2;var h=UZIP.bin.readUTF8(e,t,c);if(t+=c,t+=u,a)r[h]={size:o,csize:i};else{var d=new Uint8Array(e.buffer,t);if(0==l)r[h]=new Uint8Array(d.buffer.slice(t,t+i));else{if(8!=l)throw\"unknown compression method: \"+l;var A=new Uint8Array(o);UZIP.inflateRaw(d,A),r[h]=A}}},UZIP.inflateRaw=function(e,t){return UZIP.F.inflate(e,t)},UZIP.inflate=function(e,t){return e[0],e[1],UZIP.inflateRaw(new Uint8Array(e.buffer,e.byteOffset+2,e.length-6),t)},UZIP.deflate=function(e,t){null==t&&(t={level:6});var r=0,i=new Uint8Array(50+Math.floor(1.1*e.length));i[r]=120,i[r+1]=156,r+=2,r=UZIP.F.deflateRaw(e,i,r,t.level);var o=UZIP.adler(e,0,e.length);return i[r+0]=o>>>24&255,i[r+1]=o>>>16&255,i[r+2]=o>>>8&255,i[r+3]=o>>>0&255,new Uint8Array(i.buffer,0,r+4)},UZIP.deflateRaw=function(e,t){null==t&&(t={level:6});var r=new Uint8Array(50+Math.floor(1.1*e.length)),i=UZIP.F.deflateRaw(e,r,i,t.level);return new Uint8Array(r.buffer,0,i)},UZIP.encode=function(e,t){null==t&&(t=!1);var r=0,i=UZIP.bin.writeUint,o=UZIP.bin.writeUshort,a={};for(var s in e){var f=!UZIP._noNeed(s)&&!t,l=e[s],c=UZIP.crc.crc(l,0,l.length);a[s]={cpr:f,usize:l.length,crc:c,file:f?UZIP.deflateRaw(l):l}}for(var s in a)r+=a[s].file.length+30+46+2*UZIP.bin.sizeUTF8(s);r+=22;var u=new Uint8Array(r),h=0,d=[];for(var s in a){var A=a[s];d.push(h),h=UZIP._writeHeader(u,h,s,A,0)}var g=0,p=h;for(var s in a){A=a[s];d.push(h),h=UZIP._writeHeader(u,h,s,A,1,d[g++])}var m=h-p;return i(u,h,101010256),h+=4,o(u,h+=4,g),o(u,h+=2,g),i(u,h+=2,m),i(u,h+=4,p),h+=4,h+=2,u.buffer},UZIP._noNeed=function(e){var t=e.split(\".\").pop().toLowerCase();return-1!=\"png,jpg,jpeg,zip\".indexOf(t)},UZIP._writeHeader=function(e,t,r,i,o,a){var s=UZIP.bin.writeUint,f=UZIP.bin.writeUshort,l=i.file;return s(e,t,0==o?67324752:33639248),t+=4,1==o&&(t+=2),f(e,t,20),f(e,t+=2,0),f(e,t+=2,i.cpr?8:0),s(e,t+=2,0),s(e,t+=4,i.crc),s(e,t+=4,l.length),s(e,t+=4,i.usize),f(e,t+=4,UZIP.bin.sizeUTF8(r)),f(e,t+=2,0),t+=2,1==o&&(t+=2,t+=2,s(e,t+=6,a),t+=4),t+=UZIP.bin.writeUTF8(e,t,r),0==o&&(e.set(l,t),t+=l.length),t},UZIP.crc={table:function(){for(var e=new Uint32Array(256),t=0;t<256;t++){for(var r=t,i=0;i<8;i++)1&r?r=3988292384^r>>>1:r>>>=1;e[t]=r}return e}(),update:function(e,t,r,i){for(var o=0;o<i;o++)e=UZIP.crc.table[255&(e^t[r+o])]^e>>>8;return e},crc:function(e,t,r){return 4294967295^UZIP.crc.update(4294967295,e,t,r)}},UZIP.adler=function(e,t,r){for(var i=1,o=0,a=t,s=t+r;a<s;){for(var f=Math.min(a+5552,s);a<f;)o+=i+=e[a++];i%=65521,o%=65521}return o<<16|i},UZIP.bin={readUshort:function(e,t){return e[t]|e[t+1]<<8},writeUshort:function(e,t,r){e[t]=255&r,e[t+1]=r>>8&255},readUint:function(e,t){return 16777216*e[t+3]+(e[t+2]<<16|e[t+1]<<8|e[t])},writeUint:function(e,t,r){e[t]=255&r,e[t+1]=r>>8&255,e[t+2]=r>>16&255,e[t+3]=r>>24&255},readASCII:function(e,t,r){for(var i=\"\",o=0;o<r;o++)i+=String.fromCharCode(e[t+o]);return i},writeASCII:function(e,t,r){for(var i=0;i<r.length;i++)e[t+i]=r.charCodeAt(i)},pad:function(e){return e.length<2?\"0\"+e:e},readUTF8:function(e,t,r){for(var i,o=\"\",a=0;a<r;a++)o+=\"%\"+UZIP.bin.pad(e[t+a].toString(16));try{i=decodeURIComponent(o)}catch(i){return UZIP.bin.readASCII(e,t,r)}return i},writeUTF8:function(e,t,r){for(var i=r.length,o=0,a=0;a<i;a++){var s=r.charCodeAt(a);if(0==(4294967168&s))e[t+o]=s,o++;else if(0==(4294965248&s))e[t+o]=192|s>>6,e[t+o+1]=128|s>>0&63,o+=2;else if(0==(4294901760&s))e[t+o]=224|s>>12,e[t+o+1]=128|s>>6&63,e[t+o+2]=128|s>>0&63,o+=3;else{if(0!=(4292870144&s))throw\"e\";e[t+o]=240|s>>18,e[t+o+1]=128|s>>12&63,e[t+o+2]=128|s>>6&63,e[t+o+3]=128|s>>0&63,o+=4}}return o},sizeUTF8:function(e){for(var t=e.length,r=0,i=0;i<t;i++){var o=e.charCodeAt(i);if(0==(4294967168&o))r++;else if(0==(4294965248&o))r+=2;else if(0==(4294901760&o))r+=3;else{if(0!=(4292870144&o))throw\"e\";r+=4}}return r}},UZIP.F={},UZIP.F.deflateRaw=function(e,t,r,i){var o=[[0,0,0,0,0],[4,4,8,4,0],[4,5,16,8,0],[4,6,16,16,0],[4,10,16,32,0],[8,16,32,32,0],[8,16,128,128,0],[8,32,128,256,0],[32,128,258,1024,1],[32,258,258,4096,1]][i],a=UZIP.F.U,s=UZIP.F._goodIndex;UZIP.F._hash;var f=UZIP.F._putsE,l=0,c=r<<3,u=0,h=e.length;if(0==i){for(;l<h;){f(t,c,l+(_=Math.min(65535,h-l))==h?1:0),c=UZIP.F._copyExact(e,l,_,t,c+8),l+=_}return c>>>3}var d=a.lits,A=a.strt,g=a.prev,p=0,m=0,w=0,v=0,b=0,y=0;for(h>2&&(A[y=UZIP.F._hash(e,0)]=0),l=0;l<h;l++){if(b=y,l+1<h-2){y=UZIP.F._hash(e,l+1);var E=l+1&32767;g[E]=A[y],A[y]=E}if(u<=l){(p>14e3||m>26697)&&h-l>100&&(u<l&&(d[p]=l-u,p+=2,u=l),c=UZIP.F._writeBlock(l==h-1||u==h?1:0,d,p,v,e,w,l-w,t,c),p=m=v=0,w=l);var F=0;l<h-2&&(F=UZIP.F._bestMatch(e,l,g,b,Math.min(o[2],h-l),o[3]));var _=F>>>16,B=65535&F;if(0!=F){B=65535&F;var U=s(_=F>>>16,a.of0);a.lhst[257+U]++;var C=s(B,a.df0);a.dhst[C]++,v+=a.exb[U]+a.dxb[C],d[p]=_<<23|l-u,d[p+1]=B<<16|U<<8|C,p+=2,u=l+_}else a.lhst[e[l]]++;m++}}for(w==l&&0!=e.length||(u<l&&(d[p]=l-u,p+=2,u=l),c=UZIP.F._writeBlock(1,d,p,v,e,w,l-w,t,c),p=0,m=0,p=m=v=0,w=l);0!=(7&c);)c++;return c>>>3},UZIP.F._bestMatch=function(e,t,r,i,o,a){var s=32767&t,f=r[s],l=s-f+32768&32767;if(f==s||i!=UZIP.F._hash(e,t-l))return 0;for(var c=0,u=0,h=Math.min(32767,t);l<=h&&0!=--a&&f!=s;){if(0==c||e[t+c]==e[t+c-l]){var d=UZIP.F._howLong(e,t,l);if(d>c){if(u=l,(c=d)>=o)break;l+2<d&&(d=l+2);for(var A=0,g=0;g<d-2;g++){var p=t-l+g+32768&32767,m=p-r[p]+32768&32767;m>A&&(A=m,f=p)}}}l+=(s=f)-(f=r[s])+32768&32767}return c<<16|u},UZIP.F._howLong=function(e,t,r){if(e[t]!=e[t-r]||e[t+1]!=e[t+1-r]||e[t+2]!=e[t+2-r])return 0;var i=t,o=Math.min(e.length,t+258);for(t+=3;t<o&&e[t]==e[t-r];)t++;return t-i},UZIP.F._hash=function(e,t){return(e[t]<<8|e[t+1])+(e[t+2]<<4)&65535},UZIP.saved=0,UZIP.F._writeBlock=function(e,t,r,i,o,a,s,f,l){var c,u,h,d,A,g,p,m,w,v=UZIP.F.U,b=UZIP.F._putsF,y=UZIP.F._putsE;v.lhst[256]++,u=(c=UZIP.F.getTrees())[0],h=c[1],d=c[2],A=c[3],g=c[4],p=c[5],m=c[6],w=c[7];var E=32+(0==(l+3&7)?0:8-(l+3&7))+(s<<3),F=i+UZIP.F.contSize(v.fltree,v.lhst)+UZIP.F.contSize(v.fdtree,v.dhst),_=i+UZIP.F.contSize(v.ltree,v.lhst)+UZIP.F.contSize(v.dtree,v.dhst);_+=14+3*p+UZIP.F.contSize(v.itree,v.ihst)+(2*v.ihst[16]+3*v.ihst[17]+7*v.ihst[18]);for(var B=0;B<286;B++)v.lhst[B]=0;for(B=0;B<30;B++)v.dhst[B]=0;for(B=0;B<19;B++)v.ihst[B]=0;var U=E<F&&E<_?0:F<_?1:2;if(b(f,l,e),b(f,l+1,U),l+=3,0==U){for(;0!=(7&l);)l++;l=UZIP.F._copyExact(o,a,s,f,l)}else{var C,I;if(1==U&&(C=v.fltree,I=v.fdtree),2==U){UZIP.F.makeCodes(v.ltree,u),UZIP.F.revCodes(v.ltree,u),UZIP.F.makeCodes(v.dtree,h),UZIP.F.revCodes(v.dtree,h),UZIP.F.makeCodes(v.itree,d),UZIP.F.revCodes(v.itree,d),C=v.ltree,I=v.dtree,y(f,l,A-257),y(f,l+=5,g-1),y(f,l+=5,p-4),l+=4;for(var Q=0;Q<p;Q++)y(f,l+3*Q,v.itree[1+(v.ordr[Q]<<1)]);l+=3*p,l=UZIP.F._codeTiny(m,v.itree,f,l),l=UZIP.F._codeTiny(w,v.itree,f,l)}for(var M=a,x=0;x<r;x+=2){for(var S=t[x],R=S>>>23,T=M+(8388607&S);M<T;)l=UZIP.F._writeLit(o[M++],C,f,l);if(0!=R){var O=t[x+1],P=O>>16,H=O>>8&255,L=255&O;y(f,l=UZIP.F._writeLit(257+H,C,f,l),R-v.of0[H]),l+=v.exb[H],b(f,l=UZIP.F._writeLit(L,I,f,l),P-v.df0[L]),l+=v.dxb[L],M+=R}}l=UZIP.F._writeLit(256,C,f,l)}return l},UZIP.F._copyExact=function(e,t,r,i,o){var a=o>>>3;return i[a]=r,i[a+1]=r>>>8,i[a+2]=255-i[a],i[a+3]=255-i[a+1],a+=4,i.set(new Uint8Array(e.buffer,t,r),a),o+(r+4<<3)},UZIP.F.getTrees=function(){for(var e=UZIP.F.U,t=UZIP.F._hufTree(e.lhst,e.ltree,15),r=UZIP.F._hufTree(e.dhst,e.dtree,15),i=[],o=UZIP.F._lenCodes(e.ltree,i),a=[],s=UZIP.F._lenCodes(e.dtree,a),f=0;f<i.length;f+=2)e.ihst[i[f]]++;for(f=0;f<a.length;f+=2)e.ihst[a[f]]++;for(var l=UZIP.F._hufTree(e.ihst,e.itree,7),c=19;c>4&&0==e.itree[1+(e.ordr[c-1]<<1)];)c--;return[t,r,l,o,s,c,i,a]},UZIP.F.getSecond=function(e){for(var t=[],r=0;r<e.length;r+=2)t.push(e[r+1]);return t},UZIP.F.nonZero=function(e){for(var t=\"\",r=0;r<e.length;r+=2)0!=e[r+1]&&(t+=(r>>1)+\",\");return t},UZIP.F.contSize=function(e,t){for(var r=0,i=0;i<t.length;i++)r+=t[i]*e[1+(i<<1)];return r},UZIP.F._codeTiny=function(e,t,r,i){for(var o=0;o<e.length;o+=2){var a=e[o],s=e[o+1];i=UZIP.F._writeLit(a,t,r,i);var f=16==a?2:17==a?3:7;a>15&&(UZIP.F._putsE(r,i,s,f),i+=f)}return i},UZIP.F._lenCodes=function(e,t){for(var r=e.length;2!=r&&0==e[r-1];)r-=2;for(var i=0;i<r;i+=2){var o=e[i+1],a=i+3<r?e[i+3]:-1,s=i+5<r?e[i+5]:-1,f=0==i?-1:e[i-1];if(0==o&&a==o&&s==o){for(var l=i+5;l+2<r&&e[l+2]==o;)l+=2;(c=Math.min(l+1-i>>>1,138))<11?t.push(17,c-3):t.push(18,c-11),i+=2*c-2}else if(o==f&&a==o&&s==o){for(l=i+5;l+2<r&&e[l+2]==o;)l+=2;var c=Math.min(l+1-i>>>1,6);t.push(16,c-3),i+=2*c-2}else t.push(o,0)}return r>>>1},UZIP.F._hufTree=function(e,t,r){var i=[],o=e.length,a=t.length,s=0;for(s=0;s<a;s+=2)t[s]=0,t[s+1]=0;for(s=0;s<o;s++)0!=e[s]&&i.push({lit:s,f:e[s]});var f=i.length,l=i.slice(0);if(0==f)return 0;if(1==f){var c=i[0].lit;l=0==c?1:0;return t[1+(c<<1)]=1,t[1+(l<<1)]=1,1}i.sort((function(e,t){return e.f-t.f}));var u=i[0],h=i[1],d=0,A=1,g=2;for(i[0]={lit:-1,f:u.f+h.f,l:u,r:h,d:0};A!=f-1;)u=d!=A&&(g==f||i[d].f<i[g].f)?i[d++]:i[g++],h=d!=A&&(g==f||i[d].f<i[g].f)?i[d++]:i[g++],i[A++]={lit:-1,f:u.f+h.f,l:u,r:h};var p=UZIP.F.setDepth(i[A-1],0);for(p>r&&(UZIP.F.restrictDepth(l,r,p),p=r),s=0;s<f;s++)t[1+(l[s].lit<<1)]=l[s].d;return p},UZIP.F.setDepth=function(e,t){return-1!=e.lit?(e.d=t,t):Math.max(UZIP.F.setDepth(e.l,t+1),UZIP.F.setDepth(e.r,t+1))},UZIP.F.restrictDepth=function(e,t,r){var i=0,o=1<<r-t,a=0;for(e.sort((function(e,t){return t.d==e.d?e.f-t.f:t.d-e.d})),i=0;i<e.length&&e[i].d>t;i++){var s=e[i].d;e[i].d=t,a+=o-(1<<r-s)}for(a>>>=r-t;a>0;){(s=e[i].d)<t?(e[i].d++,a-=1<<t-s-1):i++}for(;i>=0;i--)e[i].d==t&&a<0&&(e[i].d--,a++);0!=a&&console.log(\"debt left\")},UZIP.F._goodIndex=function(e,t){var r=0;return t[16|r]<=e&&(r|=16),t[8|r]<=e&&(r|=8),t[4|r]<=e&&(r|=4),t[2|r]<=e&&(r|=2),t[1|r]<=e&&(r|=1),r},UZIP.F._writeLit=function(e,t,r,i){return UZIP.F._putsF(r,i,t[e<<1]),i+t[1+(e<<1)]},UZIP.F.inflate=function(e,t){var r=Uint8Array;if(3==e[0]&&0==e[1])return t||new r(0);var i=UZIP.F,o=i._bitsF,a=i._bitsE,s=i._decodeTiny,f=i.makeCodes,l=i.codes2map,c=i._get17,u=i.U,h=null==t;h&&(t=new r(e.length>>>2<<3));for(var d,A,g=0,p=0,m=0,w=0,v=0,b=0,y=0,E=0,F=0;0==g;)if(g=o(e,F,1),p=o(e,F+1,2),F+=3,0!=p){if(h&&(t=UZIP.F._check(t,E+(1<<17))),1==p&&(d=u.flmap,A=u.fdmap,b=511,y=31),2==p){m=a(e,F,5)+257,w=a(e,F+5,5)+1,v=a(e,F+10,4)+4,F+=14;for(var _=0;_<38;_+=2)u.itree[_]=0,u.itree[_+1]=0;var B=1;for(_=0;_<v;_++){var U=a(e,F+3*_,3);u.itree[1+(u.ordr[_]<<1)]=U,U>B&&(B=U)}F+=3*v,f(u.itree,B),l(u.itree,B,u.imap),d=u.lmap,A=u.dmap,F=s(u.imap,(1<<B)-1,m+w,e,F,u.ttree);var C=i._copyOut(u.ttree,0,m,u.ltree);b=(1<<C)-1;var I=i._copyOut(u.ttree,m,w,u.dtree);y=(1<<I)-1,f(u.ltree,C),l(u.ltree,C,d),f(u.dtree,I),l(u.dtree,I,A)}for(;;){var Q=d[c(e,F)&b];F+=15&Q;var M=Q>>>4;if(M>>>8==0)t[E++]=M;else{if(256==M)break;var x=E+M-254;if(M>264){var S=u.ldef[M-257];x=E+(S>>>3)+a(e,F,7&S),F+=7&S}var R=A[c(e,F)&y];F+=15&R;var T=R>>>4,O=u.ddef[T],P=(O>>>4)+o(e,F,15&O);for(F+=15&O,h&&(t=UZIP.F._check(t,E+(1<<17)));E<x;)t[E]=t[E++-P],t[E]=t[E++-P],t[E]=t[E++-P],t[E]=t[E++-P];E=x}}}else{0!=(7&F)&&(F+=8-(7&F));var H=4+(F>>>3),L=e[H-4]|e[H-3]<<8;h&&(t=UZIP.F._check(t,E+L)),t.set(new r(e.buffer,e.byteOffset+H,L),E),F=H+L<<3,E+=L}return t.length==E?t:t.slice(0,E)},UZIP.F._check=function(e,t){var r=e.length;if(t<=r)return e;var i=new Uint8Array(Math.max(r<<1,t));return i.set(e,0),i},UZIP.F._decodeTiny=function(e,t,r,i,o,a){for(var s=UZIP.F._bitsE,f=UZIP.F._get17,l=0;l<r;){var c=e[f(i,o)&t];o+=15&c;var u=c>>>4;if(u<=15)a[l]=u,l++;else{var h=0,d=0;16==u?(d=3+s(i,o,2),o+=2,h=a[l-1]):17==u?(d=3+s(i,o,3),o+=3):18==u&&(d=11+s(i,o,7),o+=7);for(var A=l+d;l<A;)a[l]=h,l++}}return o},UZIP.F._copyOut=function(e,t,r,i){for(var o=0,a=0,s=i.length>>>1;a<r;){var f=e[a+t];i[a<<1]=0,i[1+(a<<1)]=f,f>o&&(o=f),a++}for(;a<s;)i[a<<1]=0,i[1+(a<<1)]=0,a++;return o},UZIP.F.makeCodes=function(e,t){for(var r,i,o,a,s=UZIP.F.U,f=e.length,l=s.bl_count,c=0;c<=t;c++)l[c]=0;for(c=1;c<f;c+=2)l[e[c]]++;var u=s.next_code;for(r=0,l[0]=0,i=1;i<=t;i++)r=r+l[i-1]<<1,u[i]=r;for(o=0;o<f;o+=2)0!=(a=e[o+1])&&(e[o]=u[a],u[a]++)},UZIP.F.codes2map=function(e,t,r){for(var i=e.length,o=UZIP.F.U.rev15,a=0;a<i;a+=2)if(0!=e[a+1])for(var s=a>>1,f=e[a+1],l=s<<4|f,c=t-f,u=e[a]<<c,h=u+(1<<c);u!=h;){r[o[u]>>>15-t]=l,u++}},UZIP.F.revCodes=function(e,t){for(var r=UZIP.F.U.rev15,i=15-t,o=0;o<e.length;o+=2){var a=e[o]<<t-e[o+1];e[o]=r[a]>>>i}},UZIP.F._putsE=function(e,t,r){r<<=7&t;var i=t>>>3;e[i]|=r,e[i+1]|=r>>>8},UZIP.F._putsF=function(e,t,r){r<<=7&t;var i=t>>>3;e[i]|=r,e[i+1]|=r>>>8,e[i+2]|=r>>>16},UZIP.F._bitsE=function(e,t,r){return(e[t>>>3]|e[1+(t>>>3)]<<8)>>>(7&t)&(1<<r)-1},UZIP.F._bitsF=function(e,t,r){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16)>>>(7&t)&(1<<r)-1},UZIP.F._get17=function(e,t){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16)>>>(7&t)},UZIP.F._get25=function(e,t){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16|e[3+(t>>>3)]<<24)>>>(7&t)},UZIP.F.U=(r=Uint16Array,i=Uint32Array,{next_code:new r(16),bl_count:new r(16),ordr:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],of0:[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],exb:[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0],ldef:new r(32),df0:[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,65535,65535],dxb:[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0],ddef:new i(32),flmap:new r(512),fltree:[],fdmap:new r(32),fdtree:[],lmap:new r(32768),ltree:[],ttree:[],dmap:new r(32768),dtree:[],imap:new r(512),itree:[],rev15:new r(32768),lhst:new i(286),dhst:new i(30),ihst:new i(19),lits:new i(15e3),strt:new r(65536),prev:new r(32768)}),function(){for(var e=UZIP.F.U,t=0;t<32768;t++){var r=t;r=(4278255360&(r=(4042322160&(r=(3435973836&(r=(2863311530&r)>>>1|(1431655765&r)<<1))>>>2|(858993459&r)<<2))>>>4|(252645135&r)<<4))>>>8|(16711935&r)<<8,e.rev15[t]=(r>>>16|r<<16)>>>17}function pushV(e,t,r){for(;0!=t--;)e.push(0,r)}for(t=0;t<32;t++)e.ldef[t]=e.of0[t]<<3|e.exb[t],e.ddef[t]=e.df0[t]<<4|e.dxb[t];pushV(e.fltree,144,8),pushV(e.fltree,112,9),pushV(e.fltree,24,7),pushV(e.fltree,8,8),UZIP.F.makeCodes(e.fltree,9),UZIP.F.codes2map(e.fltree,9,e.flmap),UZIP.F.revCodes(e.fltree,9),pushV(e.fdtree,32,5),UZIP.F.makeCodes(e.fdtree,5),UZIP.F.codes2map(e.fdtree,5,e.fdmap),UZIP.F.revCodes(e.fdtree,5),pushV(e.itree,19,0),pushV(e.ltree,286,0),pushV(e.dtree,30,0),pushV(e.ttree,320,0)}()}();var UZIP=_mergeNamespaces({__proto__:null,default:e},[e]);const UPNG=function(){var e={nextZero(e,t){for(;0!=e[t];)t++;return t},readUshort:(e,t)=>e[t]<<8|e[t+1],writeUshort(e,t,r){e[t]=r>>8&255,e[t+1]=255&r},readUint:(e,t)=>16777216*e[t]+(e[t+1]<<16|e[t+2]<<8|e[t+3]),writeUint(e,t,r){e[t]=r>>24&255,e[t+1]=r>>16&255,e[t+2]=r>>8&255,e[t+3]=255&r},readASCII(e,t,r){let i=\"\";for(let o=0;o<r;o++)i+=String.fromCharCode(e[t+o]);return i},writeASCII(e,t,r){for(let i=0;i<r.length;i++)e[t+i]=r.charCodeAt(i)},readBytes(e,t,r){const i=[];for(let o=0;o<r;o++)i.push(e[t+o]);return i},pad:e=>e.length<2?`0${e}`:e,readUTF8(t,r,i){let o,a=\"\";for(let o=0;o<i;o++)a+=`%${e.pad(t[r+o].toString(16))}`;try{o=decodeURIComponent(a)}catch(o){return e.readASCII(t,r,i)}return o}};function decodeImage(t,r,i,o){const a=r*i,s=_getBPP(o),f=Math.ceil(r*s/8),l=new Uint8Array(4*a),c=new Uint32Array(l.buffer),{ctype:u}=o,{depth:h}=o,d=e.readUshort;if(6==u){const e=a<<2;if(8==h)for(var A=0;A<e;A+=4)l[A]=t[A],l[A+1]=t[A+1],l[A+2]=t[A+2],l[A+3]=t[A+3];if(16==h)for(A=0;A<e;A++)l[A]=t[A<<1]}else if(2==u){const e=o.tabs.tRNS;if(null==e){if(8==h)for(A=0;A<a;A++){var g=3*A;c[A]=255<<24|t[g+2]<<16|t[g+1]<<8|t[g]}if(16==h)for(A=0;A<a;A++){g=6*A;c[A]=255<<24|t[g+4]<<16|t[g+2]<<8|t[g]}}else{var p=e[0];const r=e[1],i=e[2];if(8==h)for(A=0;A<a;A++){var m=A<<2;g=3*A;c[A]=255<<24|t[g+2]<<16|t[g+1]<<8|t[g],t[g]==p&&t[g+1]==r&&t[g+2]==i&&(l[m+3]=0)}if(16==h)for(A=0;A<a;A++){m=A<<2,g=6*A;c[A]=255<<24|t[g+4]<<16|t[g+2]<<8|t[g],d(t,g)==p&&d(t,g+2)==r&&d(t,g+4)==i&&(l[m+3]=0)}}}else if(3==u){const e=o.tabs.PLTE,s=o.tabs.tRNS,c=s?s.length:0;if(1==h)for(var w=0;w<i;w++){var v=w*f,b=w*r;for(A=0;A<r;A++){m=b+A<<2;var y=3*(E=t[v+(A>>3)]>>7-((7&A)<<0)&1);l[m]=e[y],l[m+1]=e[y+1],l[m+2]=e[y+2],l[m+3]=E<c?s[E]:255}}if(2==h)for(w=0;w<i;w++)for(v=w*f,b=w*r,A=0;A<r;A++){m=b+A<<2,y=3*(E=t[v+(A>>2)]>>6-((3&A)<<1)&3);l[m]=e[y],l[m+1]=e[y+1],l[m+2]=e[y+2],l[m+3]=E<c?s[E]:255}if(4==h)for(w=0;w<i;w++)for(v=w*f,b=w*r,A=0;A<r;A++){m=b+A<<2,y=3*(E=t[v+(A>>1)]>>4-((1&A)<<2)&15);l[m]=e[y],l[m+1]=e[y+1],l[m+2]=e[y+2],l[m+3]=E<c?s[E]:255}if(8==h)for(A=0;A<a;A++){var E;m=A<<2,y=3*(E=t[A]);l[m]=e[y],l[m+1]=e[y+1],l[m+2]=e[y+2],l[m+3]=E<c?s[E]:255}}else if(4==u){if(8==h)for(A=0;A<a;A++){m=A<<2;var F=t[_=A<<1];l[m]=F,l[m+1]=F,l[m+2]=F,l[m+3]=t[_+1]}if(16==h)for(A=0;A<a;A++){var _;m=A<<2,F=t[_=A<<2];l[m]=F,l[m+1]=F,l[m+2]=F,l[m+3]=t[_+2]}}else if(0==u)for(p=o.tabs.tRNS?o.tabs.tRNS:-1,w=0;w<i;w++){const e=w*f,i=w*r;if(1==h)for(var B=0;B<r;B++){var U=(F=255*(t[e+(B>>>3)]>>>7-(7&B)&1))==255*p?0:255;c[i+B]=U<<24|F<<16|F<<8|F}else if(2==h)for(B=0;B<r;B++){U=(F=85*(t[e+(B>>>2)]>>>6-((3&B)<<1)&3))==85*p?0:255;c[i+B]=U<<24|F<<16|F<<8|F}else if(4==h)for(B=0;B<r;B++){U=(F=17*(t[e+(B>>>1)]>>>4-((1&B)<<2)&15))==17*p?0:255;c[i+B]=U<<24|F<<16|F<<8|F}else if(8==h)for(B=0;B<r;B++){U=(F=t[e+B])==p?0:255;c[i+B]=U<<24|F<<16|F<<8|F}else if(16==h)for(B=0;B<r;B++){F=t[e+(B<<1)],U=d(t,e+(B<<1))==p?0:255;c[i+B]=U<<24|F<<16|F<<8|F}}return l}function _decompress(e,r,i,o){const a=_getBPP(e),s=Math.ceil(i*a/8),f=new Uint8Array((s+1+e.interlace)*o);return r=e.tabs.CgBI?t(r,f):_inflate(r,f),0==e.interlace?r=_filterZero(r,e,0,i,o):1==e.interlace&&(r=function _readInterlace(e,t){const r=t.width,i=t.height,o=_getBPP(t),a=o>>3,s=Math.ceil(r*o/8),f=new Uint8Array(i*s);let l=0;const c=[0,0,4,0,2,0,1],u=[0,4,0,2,0,1,0],h=[8,8,8,4,4,2,2],d=[8,8,4,4,2,2,1];let A=0;for(;A<7;){const p=h[A],m=d[A];let w=0,v=0,b=c[A];for(;b<i;)b+=p,v++;let y=u[A];for(;y<r;)y+=m,w++;const E=Math.ceil(w*o/8);_filterZero(e,t,l,w,v);let F=0,_=c[A];for(;_<i;){let t=u[A],i=l+F*E<<3;for(;t<r;){var g;if(1==o)g=(g=e[i>>3])>>7-(7&i)&1,f[_*s+(t>>3)]|=g<<7-((7&t)<<0);if(2==o)g=(g=e[i>>3])>>6-(7&i)&3,f[_*s+(t>>2)]|=g<<6-((3&t)<<1);if(4==o)g=(g=e[i>>3])>>4-(7&i)&15,f[_*s+(t>>1)]|=g<<4-((1&t)<<2);if(o>=8){const r=_*s+t*a;for(let t=0;t<a;t++)f[r+t]=e[(i>>3)+t]}i+=o,t+=m}F++,_+=p}w*v!=0&&(l+=v*(1+E)),A+=1}return f}(r,e)),r}function _inflate(e,r){return t(new Uint8Array(e.buffer,2,e.length-6),r)}var t=function(){const e={H:{}};return e.H.N=function(t,r){const i=Uint8Array;let o,a,s=0,f=0,l=0,c=0,u=0,h=0,d=0,A=0,g=0;if(3==t[0]&&0==t[1])return r||new i(0);const p=e.H,m=p.b,w=p.e,v=p.R,b=p.n,y=p.A,E=p.Z,F=p.m,_=null==r;for(_&&(r=new i(t.length>>>2<<5));0==s;)if(s=m(t,g,1),f=m(t,g+1,2),g+=3,0!=f){if(_&&(r=e.H.W(r,A+(1<<17))),1==f&&(o=F.J,a=F.h,h=511,d=31),2==f){l=w(t,g,5)+257,c=w(t,g+5,5)+1,u=w(t,g+10,4)+4,g+=14;let e=1;for(var B=0;B<38;B+=2)F.Q[B]=0,F.Q[B+1]=0;for(B=0;B<u;B++){const r=w(t,g+3*B,3);F.Q[1+(F.X[B]<<1)]=r,r>e&&(e=r)}g+=3*u,b(F.Q,e),y(F.Q,e,F.u),o=F.w,a=F.d,g=v(F.u,(1<<e)-1,l+c,t,g,F.v);const r=p.V(F.v,0,l,F.C);h=(1<<r)-1;const i=p.V(F.v,l,c,F.D);d=(1<<i)-1,b(F.C,r),y(F.C,r,o),b(F.D,i),y(F.D,i,a)}for(;;){const e=o[E(t,g)&h];g+=15&e;const i=e>>>4;if(i>>>8==0)r[A++]=i;else{if(256==i)break;{let e=A+i-254;if(i>264){const r=F.q[i-257];e=A+(r>>>3)+w(t,g,7&r),g+=7&r}const o=a[E(t,g)&d];g+=15&o;const s=o>>>4,f=F.c[s],l=(f>>>4)+m(t,g,15&f);for(g+=15&f;A<e;)r[A]=r[A++-l],r[A]=r[A++-l],r[A]=r[A++-l],r[A]=r[A++-l];A=e}}}}else{0!=(7&g)&&(g+=8-(7&g));const o=4+(g>>>3),a=t[o-4]|t[o-3]<<8;_&&(r=e.H.W(r,A+a)),r.set(new i(t.buffer,t.byteOffset+o,a),A),g=o+a<<3,A+=a}return r.length==A?r:r.slice(0,A)},e.H.W=function(e,t){const r=e.length;if(t<=r)return e;const i=new Uint8Array(r<<1);return i.set(e,0),i},e.H.R=function(t,r,i,o,a,s){const f=e.H.e,l=e.H.Z;let c=0;for(;c<i;){const e=t[l(o,a)&r];a+=15&e;const i=e>>>4;if(i<=15)s[c]=i,c++;else{let e=0,t=0;16==i?(t=3+f(o,a,2),a+=2,e=s[c-1]):17==i?(t=3+f(o,a,3),a+=3):18==i&&(t=11+f(o,a,7),a+=7);const r=c+t;for(;c<r;)s[c]=e,c++}}return a},e.H.V=function(e,t,r,i){let o=0,a=0;const s=i.length>>>1;for(;a<r;){const r=e[a+t];i[a<<1]=0,i[1+(a<<1)]=r,r>o&&(o=r),a++}for(;a<s;)i[a<<1]=0,i[1+(a<<1)]=0,a++;return o},e.H.n=function(t,r){const i=e.H.m,o=t.length;let a,s,f;let l;const c=i.j;for(var u=0;u<=r;u++)c[u]=0;for(u=1;u<o;u+=2)c[t[u]]++;const h=i.K;for(a=0,c[0]=0,s=1;s<=r;s++)a=a+c[s-1]<<1,h[s]=a;for(f=0;f<o;f+=2)l=t[f+1],0!=l&&(t[f]=h[l],h[l]++)},e.H.A=function(t,r,i){const o=t.length,a=e.H.m.r;for(let e=0;e<o;e+=2)if(0!=t[e+1]){const o=e>>1,s=t[e+1],f=o<<4|s,l=r-s;let c=t[e]<<l;const u=c+(1<<l);for(;c!=u;){i[a[c]>>>15-r]=f,c++}}},e.H.l=function(t,r){const i=e.H.m.r,o=15-r;for(let e=0;e<t.length;e+=2){const a=t[e]<<r-t[e+1];t[e]=i[a]>>>o}},e.H.M=function(e,t,r){r<<=7&t;const i=t>>>3;e[i]|=r,e[i+1]|=r>>>8},e.H.I=function(e,t,r){r<<=7&t;const i=t>>>3;e[i]|=r,e[i+1]|=r>>>8,e[i+2]|=r>>>16},e.H.e=function(e,t,r){return(e[t>>>3]|e[1+(t>>>3)]<<8)>>>(7&t)&(1<<r)-1},e.H.b=function(e,t,r){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16)>>>(7&t)&(1<<r)-1},e.H.Z=function(e,t){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16)>>>(7&t)},e.H.i=function(e,t){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16|e[3+(t>>>3)]<<24)>>>(7&t)},e.H.m=function(){const e=Uint16Array,t=Uint32Array;return{K:new e(16),j:new e(16),X:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],S:[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],T:[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0],q:new e(32),p:[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,65535,65535],z:[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0],c:new t(32),J:new e(512),_:[],h:new e(32),$:[],w:new e(32768),C:[],v:[],d:new e(32768),D:[],u:new e(512),Q:[],r:new e(32768),s:new t(286),Y:new t(30),a:new t(19),t:new t(15e3),k:new e(65536),g:new e(32768)}}(),function(){const t=e.H.m;for(var r=0;r<32768;r++){let e=r;e=(2863311530&e)>>>1|(1431655765&e)<<1,e=(3435973836&e)>>>2|(858993459&e)<<2,e=(4042322160&e)>>>4|(252645135&e)<<4,e=(4278255360&e)>>>8|(16711935&e)<<8,t.r[r]=(e>>>16|e<<16)>>>17}function n(e,t,r){for(;0!=t--;)e.push(0,r)}for(r=0;r<32;r++)t.q[r]=t.S[r]<<3|t.T[r],t.c[r]=t.p[r]<<4|t.z[r];n(t._,144,8),n(t._,112,9),n(t._,24,7),n(t._,8,8),e.H.n(t._,9),e.H.A(t._,9,t.J),e.H.l(t._,9),n(t.$,32,5),e.H.n(t.$,5),e.H.A(t.$,5,t.h),e.H.l(t.$,5),n(t.Q,19,0),n(t.C,286,0),n(t.D,30,0),n(t.v,320,0)}(),e.H.N}();function _getBPP(e){return[1,null,3,1,2,null,4][e.ctype]*e.depth}function _filterZero(e,t,r,i,o){let a=_getBPP(t);const s=Math.ceil(i*a/8);let f,l;a=Math.ceil(a/8);let c=e[r],u=0;if(c>1&&(e[r]=[0,0,1][c-2]),3==c)for(u=a;u<s;u++)e[u+1]=e[u+1]+(e[u+1-a]>>>1)&255;for(let t=0;t<o;t++)if(f=r+t*s,l=f+t+1,c=e[l-1],u=0,0==c)for(;u<s;u++)e[f+u]=e[l+u];else if(1==c){for(;u<a;u++)e[f+u]=e[l+u];for(;u<s;u++)e[f+u]=e[l+u]+e[f+u-a]}else if(2==c)for(;u<s;u++)e[f+u]=e[l+u]+e[f+u-s];else if(3==c){for(;u<a;u++)e[f+u]=e[l+u]+(e[f+u-s]>>>1);for(;u<s;u++)e[f+u]=e[l+u]+(e[f+u-s]+e[f+u-a]>>>1)}else{for(;u<a;u++)e[f+u]=e[l+u]+_paeth(0,e[f+u-s],0);for(;u<s;u++)e[f+u]=e[l+u]+_paeth(e[f+u-a],e[f+u-s],e[f+u-a-s])}return e}function _paeth(e,t,r){const i=e+t-r,o=i-e,a=i-t,s=i-r;return o*o<=a*a&&o*o<=s*s?e:a*a<=s*s?t:r}function _IHDR(t,r,i){i.width=e.readUint(t,r),r+=4,i.height=e.readUint(t,r),r+=4,i.depth=t[r],r++,i.ctype=t[r],r++,i.compress=t[r],r++,i.filter=t[r],r++,i.interlace=t[r],r++}function _copyTile(e,t,r,i,o,a,s,f,l){const c=Math.min(t,o),u=Math.min(r,a);let h=0,d=0;for(let r=0;r<u;r++)for(let a=0;a<c;a++)if(s>=0&&f>=0?(h=r*t+a<<2,d=(f+r)*o+s+a<<2):(h=(-f+r)*t-s+a<<2,d=r*o+a<<2),0==l)i[d]=e[h],i[d+1]=e[h+1],i[d+2]=e[h+2],i[d+3]=e[h+3];else if(1==l){var A=e[h+3]*(1/255),g=e[h]*A,p=e[h+1]*A,m=e[h+2]*A,w=i[d+3]*(1/255),v=i[d]*w,b=i[d+1]*w,y=i[d+2]*w;const t=1-A,r=A+w*t,o=0==r?0:1/r;i[d+3]=255*r,i[d+0]=(g+v*t)*o,i[d+1]=(p+b*t)*o,i[d+2]=(m+y*t)*o}else if(2==l){A=e[h+3],g=e[h],p=e[h+1],m=e[h+2],w=i[d+3],v=i[d],b=i[d+1],y=i[d+2];A==w&&g==v&&p==b&&m==y?(i[d]=0,i[d+1]=0,i[d+2]=0,i[d+3]=0):(i[d]=g,i[d+1]=p,i[d+2]=m,i[d+3]=A)}else if(3==l){A=e[h+3],g=e[h],p=e[h+1],m=e[h+2],w=i[d+3],v=i[d],b=i[d+1],y=i[d+2];if(A==w&&g==v&&p==b&&m==y)continue;if(A<220&&w>20)return!1}return!0}return{decode:function decode(r){const i=new Uint8Array(r);let o=8;const a=e,s=a.readUshort,f=a.readUint,l={tabs:{},frames:[]},c=new Uint8Array(i.length);let u,h=0,d=0;const A=[137,80,78,71,13,10,26,10];for(var g=0;g<8;g++)if(i[g]!=A[g])throw\"The input is not a PNG file!\";for(;o<i.length;){const e=a.readUint(i,o);o+=4;const r=a.readASCII(i,o,4);if(o+=4,\"IHDR\"==r)_IHDR(i,o,l);else if(\"iCCP\"==r){for(var p=o;0!=i[p];)p++;a.readASCII(i,o,p-o),i[p+1];const s=i.slice(p+2,o+e);let f=null;try{f=_inflate(s)}catch(e){f=t(s)}l.tabs[r]=f}else if(\"CgBI\"==r)l.tabs[r]=i.slice(o,o+4);else if(\"IDAT\"==r){for(g=0;g<e;g++)c[h+g]=i[o+g];h+=e}else if(\"acTL\"==r)l.tabs[r]={num_frames:f(i,o),num_plays:f(i,o+4)},u=new Uint8Array(i.length);else if(\"fcTL\"==r){if(0!=d)(E=l.frames[l.frames.length-1]).data=_decompress(l,u.slice(0,d),E.rect.width,E.rect.height),d=0;const e={x:f(i,o+12),y:f(i,o+16),width:f(i,o+4),height:f(i,o+8)};let t=s(i,o+22);t=s(i,o+20)/(0==t?100:t);const r={rect:e,delay:Math.round(1e3*t),dispose:i[o+24],blend:i[o+25]};l.frames.push(r)}else if(\"fdAT\"==r){for(g=0;g<e-4;g++)u[d+g]=i[o+g+4];d+=e-4}else if(\"pHYs\"==r)l.tabs[r]=[a.readUint(i,o),a.readUint(i,o+4),i[o+8]];else if(\"cHRM\"==r){l.tabs[r]=[];for(g=0;g<8;g++)l.tabs[r].push(a.readUint(i,o+4*g))}else if(\"tEXt\"==r||\"zTXt\"==r){null==l.tabs[r]&&(l.tabs[r]={});var m=a.nextZero(i,o),w=a.readASCII(i,o,m-o),v=o+e-m-1;if(\"tEXt\"==r)y=a.readASCII(i,m+1,v);else{var b=_inflate(i.slice(m+2,m+2+v));y=a.readUTF8(b,0,b.length)}l.tabs[r][w]=y}else if(\"iTXt\"==r){null==l.tabs[r]&&(l.tabs[r]={});m=0,p=o;m=a.nextZero(i,p);w=a.readASCII(i,p,m-p);const t=i[p=m+1];var y;i[p+1],p+=2,m=a.nextZero(i,p),a.readASCII(i,p,m-p),p=m+1,m=a.nextZero(i,p),a.readUTF8(i,p,m-p);v=e-((p=m+1)-o);if(0==t)y=a.readUTF8(i,p,v);else{b=_inflate(i.slice(p,p+v));y=a.readUTF8(b,0,b.length)}l.tabs[r][w]=y}else if(\"PLTE\"==r)l.tabs[r]=a.readBytes(i,o,e);else if(\"hIST\"==r){const e=l.tabs.PLTE.length/3;l.tabs[r]=[];for(g=0;g<e;g++)l.tabs[r].push(s(i,o+2*g))}else if(\"tRNS\"==r)3==l.ctype?l.tabs[r]=a.readBytes(i,o,e):0==l.ctype?l.tabs[r]=s(i,o):2==l.ctype&&(l.tabs[r]=[s(i,o),s(i,o+2),s(i,o+4)]);else if(\"gAMA\"==r)l.tabs[r]=a.readUint(i,o)/1e5;else if(\"sRGB\"==r)l.tabs[r]=i[o];else if(\"bKGD\"==r)0==l.ctype||4==l.ctype?l.tabs[r]=[s(i,o)]:2==l.ctype||6==l.ctype?l.tabs[r]=[s(i,o),s(i,o+2),s(i,o+4)]:3==l.ctype&&(l.tabs[r]=i[o]);else if(\"IEND\"==r)break;o+=e,a.readUint(i,o),o+=4}var E;return 0!=d&&((E=l.frames[l.frames.length-1]).data=_decompress(l,u.slice(0,d),E.rect.width,E.rect.height)),l.data=_decompress(l,c,l.width,l.height),delete l.compress,delete l.interlace,delete l.filter,l},toRGBA8:function toRGBA8(e){const t=e.width,r=e.height;if(null==e.tabs.acTL)return[decodeImage(e.data,t,r,e).buffer];const i=[];null==e.frames[0].data&&(e.frames[0].data=e.data);const o=t*r*4,a=new Uint8Array(o),s=new Uint8Array(o),f=new Uint8Array(o);for(let c=0;c<e.frames.length;c++){const u=e.frames[c],h=u.rect.x,d=u.rect.y,A=u.rect.width,g=u.rect.height,p=decodeImage(u.data,A,g,e);if(0!=c)for(var l=0;l<o;l++)f[l]=a[l];if(0==u.blend?_copyTile(p,A,g,a,t,r,h,d,0):1==u.blend&&_copyTile(p,A,g,a,t,r,h,d,1),i.push(a.buffer.slice(0)),0==u.dispose);else if(1==u.dispose)_copyTile(s,A,g,a,t,r,h,d,0);else if(2==u.dispose)for(l=0;l<o;l++)a[l]=f[l]}return i},_paeth:_paeth,_copyTile:_copyTile,_bin:e}}();!function(){const{_copyTile:e}=UPNG,{_bin:t}=UPNG,r=UPNG._paeth;var i={table:function(){const e=new Uint32Array(256);for(let t=0;t<256;t++){let r=t;for(let e=0;e<8;e++)1&r?r=3988292384^r>>>1:r>>>=1;e[t]=r}return e}(),update(e,t,r,o){for(let a=0;a<o;a++)e=i.table[255&(e^t[r+a])]^e>>>8;return e},crc:(e,t,r)=>4294967295^i.update(4294967295,e,t,r)};function addErr(e,t,r,i){t[r]+=e[0]*i>>4,t[r+1]+=e[1]*i>>4,t[r+2]+=e[2]*i>>4,t[r+3]+=e[3]*i>>4}function N(e){return Math.max(0,Math.min(255,e))}function D(e,t){const r=e[0]-t[0],i=e[1]-t[1],o=e[2]-t[2],a=e[3]-t[3];return r*r+i*i+o*o+a*a}function dither(e,t,r,i,o,a,s){null==s&&(s=1);const f=i.length,l=[];for(var c=0;c<f;c++){const e=i[c];l.push([e>>>0&255,e>>>8&255,e>>>16&255,e>>>24&255])}for(c=0;c<f;c++){let e=4294967295;for(var u=0,h=0;h<f;h++){var d=D(l[c],l[h]);h!=c&&d<e&&(e=d,u=h)}}const A=new Uint32Array(o.buffer),g=new Int16Array(t*r*4),p=[0,8,2,10,12,4,14,6,3,11,1,9,15,7,13,5];for(c=0;c<p.length;c++)p[c]=255*((p[c]+.5)/16-.5);for(let o=0;o<r;o++)for(let w=0;w<t;w++){var m;c=4*(o*t+w);if(2!=s)m=[N(e[c]+g[c]),N(e[c+1]+g[c+1]),N(e[c+2]+g[c+2]),N(e[c+3]+g[c+3])];else{d=p[4*(3&o)+(3&w)];m=[N(e[c]+d),N(e[c+1]+d),N(e[c+2]+d),N(e[c+3]+d)]}u=0;let v=16777215;for(h=0;h<f;h++){const e=D(m,l[h]);e<v&&(v=e,u=h)}const b=l[u],y=[m[0]-b[0],m[1]-b[1],m[2]-b[2],m[3]-b[3]];1==s&&(w!=t-1&&addErr(y,g,c+4,7),o!=r-1&&(0!=w&&addErr(y,g,c+4*t-4,3),addErr(y,g,c+4*t,5),w!=t-1&&addErr(y,g,c+4*t+4,1))),a[c>>2]=u,A[c>>2]=i[u]}}function _main(e,r,o,a,s){null==s&&(s={});const{crc:f}=i,l=t.writeUint,c=t.writeUshort,u=t.writeASCII;let h=8;const d=e.frames.length>1;let A,g=!1,p=33+(d?20:0);if(null!=s.sRGB&&(p+=13),null!=s.pHYs&&(p+=21),null!=s.iCCP&&(A=pako.deflate(s.iCCP),p+=21+A.length+4),3==e.ctype){for(var m=e.plte.length,w=0;w<m;w++)e.plte[w]>>>24!=255&&(g=!0);p+=8+3*m+4+(g?8+1*m+4:0)}for(var v=0;v<e.frames.length;v++){d&&(p+=38),p+=(F=e.frames[v]).cimg.length+12,0!=v&&(p+=4)}p+=12;const b=new Uint8Array(p),y=[137,80,78,71,13,10,26,10];for(w=0;w<8;w++)b[w]=y[w];if(l(b,h,13),h+=4,u(b,h,\"IHDR\"),h+=4,l(b,h,r),h+=4,l(b,h,o),h+=4,b[h]=e.depth,h++,b[h]=e.ctype,h++,b[h]=0,h++,b[h]=0,h++,b[h]=0,h++,l(b,h,f(b,h-17,17)),h+=4,null!=s.sRGB&&(l(b,h,1),h+=4,u(b,h,\"sRGB\"),h+=4,b[h]=s.sRGB,h++,l(b,h,f(b,h-5,5)),h+=4),null!=s.iCCP){const e=13+A.length;l(b,h,e),h+=4,u(b,h,\"iCCP\"),h+=4,u(b,h,\"ICC profile\"),h+=11,h+=2,b.set(A,h),h+=A.length,l(b,h,f(b,h-(e+4),e+4)),h+=4}if(null!=s.pHYs&&(l(b,h,9),h+=4,u(b,h,\"pHYs\"),h+=4,l(b,h,s.pHYs[0]),h+=4,l(b,h,s.pHYs[1]),h+=4,b[h]=s.pHYs[2],h++,l(b,h,f(b,h-13,13)),h+=4),d&&(l(b,h,8),h+=4,u(b,h,\"acTL\"),h+=4,l(b,h,e.frames.length),h+=4,l(b,h,null!=s.loop?s.loop:0),h+=4,l(b,h,f(b,h-12,12)),h+=4),3==e.ctype){l(b,h,3*(m=e.plte.length)),h+=4,u(b,h,\"PLTE\"),h+=4;for(w=0;w<m;w++){const t=3*w,r=e.plte[w],i=255&r,o=r>>>8&255,a=r>>>16&255;b[h+t+0]=i,b[h+t+1]=o,b[h+t+2]=a}if(h+=3*m,l(b,h,f(b,h-3*m-4,3*m+4)),h+=4,g){l(b,h,m),h+=4,u(b,h,\"tRNS\"),h+=4;for(w=0;w<m;w++)b[h+w]=e.plte[w]>>>24&255;h+=m,l(b,h,f(b,h-m-4,m+4)),h+=4}}let E=0;for(v=0;v<e.frames.length;v++){var F=e.frames[v];d&&(l(b,h,26),h+=4,u(b,h,\"fcTL\"),h+=4,l(b,h,E++),h+=4,l(b,h,F.rect.width),h+=4,l(b,h,F.rect.height),h+=4,l(b,h,F.rect.x),h+=4,l(b,h,F.rect.y),h+=4,c(b,h,a[v]),h+=2,c(b,h,1e3),h+=2,b[h]=F.dispose,h++,b[h]=F.blend,h++,l(b,h,f(b,h-30,30)),h+=4);const t=F.cimg;l(b,h,(m=t.length)+(0==v?0:4)),h+=4;const r=h;u(b,h,0==v?\"IDAT\":\"fdAT\"),h+=4,0!=v&&(l(b,h,E++),h+=4),b.set(t,h),h+=m,l(b,h,f(b,r,h-r)),h+=4}return l(b,h,0),h+=4,u(b,h,\"IEND\"),h+=4,l(b,h,f(b,h-4,4)),h+=4,b.buffer}function compressPNG(e,t,r){for(let i=0;i<e.frames.length;i++){const o=e.frames[i];o.rect.width;const a=o.rect.height,s=new Uint8Array(a*o.bpl+a);o.cimg=_filterZero(o.img,a,o.bpp,o.bpl,s,t,r)}}function compress(t,r,i,o,a){const s=a[0],f=a[1],l=a[2],c=a[3],u=a[4],h=a[5];let d=6,A=8,g=255;for(var p=0;p<t.length;p++){const e=new Uint8Array(t[p]);for(var m=e.length,w=0;w<m;w+=4)g&=e[w+3]}const v=255!=g,b=function framize(t,r,i,o,a,s){const f=[];for(var l=0;l<t.length;l++){const h=new Uint8Array(t[l]),A=new Uint32Array(h.buffer);var c;let g=0,p=0,m=r,w=i,v=o?1:0;if(0!=l){const b=s||o||1==l||0!=f[l-2].dispose?1:2;let y=0,E=1e9;for(let e=0;e<b;e++){var u=new Uint8Array(t[l-1-e]);const o=new Uint32Array(t[l-1-e]);let s=r,f=i,c=-1,h=-1;for(let e=0;e<i;e++)for(let t=0;t<r;t++){A[d=e*r+t]!=o[d]&&(t<s&&(s=t),t>c&&(c=t),e<f&&(f=e),e>h&&(h=e))}-1==c&&(s=f=c=h=0),a&&(1==(1&s)&&s--,1==(1&f)&&f--);const v=(c-s+1)*(h-f+1);v<E&&(E=v,y=e,g=s,p=f,m=c-s+1,w=h-f+1)}u=new Uint8Array(t[l-1-y]);1==y&&(f[l-1].dispose=2),c=new Uint8Array(m*w*4),e(u,r,i,c,m,w,-g,-p,0),v=e(h,r,i,c,m,w,-g,-p,3)?1:0,1==v?_prepareDiff(h,r,i,c,{x:g,y:p,width:m,height:w}):e(h,r,i,c,m,w,-g,-p,0)}else c=h.slice(0);f.push({rect:{x:g,y:p,width:m,height:w},img:c,blend:v,dispose:0})}if(o)for(l=0;l<f.length;l++){if(1==(A=f[l]).blend)continue;const e=A.rect,o=f[l-1].rect,s=Math.min(e.x,o.x),c=Math.min(e.y,o.y),u={x:s,y:c,width:Math.max(e.x+e.width,o.x+o.width)-s,height:Math.max(e.y+e.height,o.y+o.height)-c};f[l-1].dispose=1,l-1!=0&&_updateFrame(t,r,i,f,l-1,u,a),_updateFrame(t,r,i,f,l,u,a)}let h=0;if(1!=t.length)for(var d=0;d<f.length;d++){var A;h+=(A=f[d]).rect.width*A.rect.height}return f}(t,r,i,s,f,l),y={},E=[],F=[];if(0!=o){const e=[];for(w=0;w<b.length;w++)e.push(b[w].img.buffer);const t=function concatRGBA(e){let t=0;for(var r=0;r<e.length;r++)t+=e[r].byteLength;const i=new Uint8Array(t);let o=0;for(r=0;r<e.length;r++){const t=new Uint8Array(e[r]),a=t.length;for(let e=0;e<a;e+=4){let r=t[e],a=t[e+1],s=t[e+2];const f=t[e+3];0==f&&(r=a=s=0),i[o+e]=r,i[o+e+1]=a,i[o+e+2]=s,i[o+e+3]=f}o+=a}return i.buffer}(e),r=quantize(t,o);for(w=0;w<r.plte.length;w++)E.push(r.plte[w].est.rgba);let i=0;for(w=0;w<b.length;w++){const e=(B=b[w]).img.length;var _=new Uint8Array(r.inds.buffer,i>>2,e>>2);F.push(_);const t=new Uint8Array(r.abuf,i,e);h&&dither(B.img,B.rect.width,B.rect.height,E,t,_),B.img.set(t),i+=e}}else for(p=0;p<b.length;p++){var B=b[p];const e=new Uint32Array(B.img.buffer);var U=B.rect.width;m=e.length,_=new Uint8Array(m);F.push(_);for(w=0;w<m;w++){const t=e[w];if(0!=w&&t==e[w-1])_[w]=_[w-1];else if(w>U&&t==e[w-U])_[w]=_[w-U];else{let e=y[t];if(null==e&&(y[t]=e=E.length,E.push(t),E.length>=300))break;_[w]=e}}}const C=E.length;C<=256&&0==u&&(A=C<=2?1:C<=4?2:C<=16?4:8,A=Math.max(A,c));for(p=0;p<b.length;p++){(B=b[p]).rect.x,B.rect.y;U=B.rect.width;const e=B.rect.height;let t=B.img;new Uint32Array(t.buffer);let r=4*U,i=4;if(C<=256&&0==u){r=Math.ceil(A*U/8);var I=new Uint8Array(r*e);const o=F[p];for(let t=0;t<e;t++){w=t*r;const e=t*U;if(8==A)for(var Q=0;Q<U;Q++)I[w+Q]=o[e+Q];else if(4==A)for(Q=0;Q<U;Q++)I[w+(Q>>1)]|=o[e+Q]<<4-4*(1&Q);else if(2==A)for(Q=0;Q<U;Q++)I[w+(Q>>2)]|=o[e+Q]<<6-2*(3&Q);else if(1==A)for(Q=0;Q<U;Q++)I[w+(Q>>3)]|=o[e+Q]<<7-1*(7&Q)}t=I,d=3,i=1}else if(0==v&&1==b.length){I=new Uint8Array(U*e*3);const o=U*e;for(w=0;w<o;w++){const e=3*w,r=4*w;I[e]=t[r],I[e+1]=t[r+1],I[e+2]=t[r+2]}t=I,d=2,i=3,r=3*U}B.img=t,B.bpl=r,B.bpp=i}return{ctype:d,depth:A,plte:E,frames:b}}function _updateFrame(t,r,i,o,a,s,f){const l=Uint8Array,c=Uint32Array,u=new l(t[a-1]),h=new c(t[a-1]),d=a+1<t.length?new l(t[a+1]):null,A=new l(t[a]),g=new c(A.buffer);let p=r,m=i,w=-1,v=-1;for(let e=0;e<s.height;e++)for(let t=0;t<s.width;t++){const i=s.x+t,f=s.y+e,l=f*r+i,c=g[l];0==c||0==o[a-1].dispose&&h[l]==c&&(null==d||0!=d[4*l+3])||(i<p&&(p=i),i>w&&(w=i),f<m&&(m=f),f>v&&(v=f))}-1==w&&(p=m=w=v=0),f&&(1==(1&p)&&p--,1==(1&m)&&m--),s={x:p,y:m,width:w-p+1,height:v-m+1};const b=o[a];b.rect=s,b.blend=1,b.img=new Uint8Array(s.width*s.height*4),0==o[a-1].dispose?(e(u,r,i,b.img,s.width,s.height,-s.x,-s.y,0),_prepareDiff(A,r,i,b.img,s)):e(A,r,i,b.img,s.width,s.height,-s.x,-s.y,0)}function _prepareDiff(t,r,i,o,a){e(t,r,i,o,a.width,a.height,-a.x,-a.y,2)}function _filterZero(e,t,r,i,o,a,s){const f=[];let l,c=[0,1,2,3,4];-1!=a?c=[a]:(t*i>5e5||1==r)&&(c=[0]),s&&(l={level:0});const u=UZIP;for(var h=0;h<c.length;h++){for(let a=0;a<t;a++)_filterLine(o,e,a,i,r,c[h]);f.push(u.deflate(o,l))}let d,A=1e9;for(h=0;h<f.length;h++)f[h].length<A&&(d=h,A=f[h].length);return f[d]}function _filterLine(e,t,i,o,a,s){const f=i*o;let l=f+i;if(e[l]=s,l++,0==s)if(o<500)for(var c=0;c<o;c++)e[l+c]=t[f+c];else e.set(new Uint8Array(t.buffer,f,o),l);else if(1==s){for(c=0;c<a;c++)e[l+c]=t[f+c];for(c=a;c<o;c++)e[l+c]=t[f+c]-t[f+c-a]+256&255}else if(0==i){for(c=0;c<a;c++)e[l+c]=t[f+c];if(2==s)for(c=a;c<o;c++)e[l+c]=t[f+c];if(3==s)for(c=a;c<o;c++)e[l+c]=t[f+c]-(t[f+c-a]>>1)+256&255;if(4==s)for(c=a;c<o;c++)e[l+c]=t[f+c]-r(t[f+c-a],0,0)+256&255}else{if(2==s)for(c=0;c<o;c++)e[l+c]=t[f+c]+256-t[f+c-o]&255;if(3==s){for(c=0;c<a;c++)e[l+c]=t[f+c]+256-(t[f+c-o]>>1)&255;for(c=a;c<o;c++)e[l+c]=t[f+c]+256-(t[f+c-o]+t[f+c-a]>>1)&255}if(4==s){for(c=0;c<a;c++)e[l+c]=t[f+c]+256-r(0,t[f+c-o],0)&255;for(c=a;c<o;c++)e[l+c]=t[f+c]+256-r(t[f+c-a],t[f+c-o],t[f+c-a-o])&255}}}function quantize(e,t){const r=new Uint8Array(e),i=r.slice(0),o=new Uint32Array(i.buffer),a=getKDtree(i,t),s=a[0],f=a[1],l=r.length,c=new Uint8Array(l>>2);let u;if(r.length<2e7)for(var h=0;h<l;h+=4){u=getNearest(s,d=r[h]*(1/255),A=r[h+1]*(1/255),g=r[h+2]*(1/255),p=r[h+3]*(1/255)),c[h>>2]=u.ind,o[h>>2]=u.est.rgba}else for(h=0;h<l;h+=4){var d=r[h]*(1/255),A=r[h+1]*(1/255),g=r[h+2]*(1/255),p=r[h+3]*(1/255);for(u=s;u.left;)u=planeDst(u.est,d,A,g,p)<=0?u.left:u.right;c[h>>2]=u.ind,o[h>>2]=u.est.rgba}return{abuf:i.buffer,inds:c,plte:f}}function getKDtree(e,t,r){null==r&&(r=1e-4);const i=new Uint32Array(e.buffer),o={i0:0,i1:e.length,bst:null,est:null,tdst:0,left:null,right:null};o.bst=stats(e,o.i0,o.i1),o.est=estats(o.bst);const a=[o];for(;a.length<t;){let t=0,o=0;for(var s=0;s<a.length;s++)a[s].est.L>t&&(t=a[s].est.L,o=s);if(t<r)break;const f=a[o],l=splitPixels(e,i,f.i0,f.i1,f.est.e,f.est.eMq255);if(f.i0>=l||f.i1<=l){f.est.L=0;continue}const c={i0:f.i0,i1:l,bst:null,est:null,tdst:0,left:null,right:null};c.bst=stats(e,c.i0,c.i1),c.est=estats(c.bst);const u={i0:l,i1:f.i1,bst:null,est:null,tdst:0,left:null,right:null};u.bst={R:[],m:[],N:f.bst.N-c.bst.N};for(s=0;s<16;s++)u.bst.R[s]=f.bst.R[s]-c.bst.R[s];for(s=0;s<4;s++)u.bst.m[s]=f.bst.m[s]-c.bst.m[s];u.est=estats(u.bst),f.left=c,f.right=u,a[o]=c,a.push(u)}a.sort(((e,t)=>t.bst.N-e.bst.N));for(s=0;s<a.length;s++)a[s].ind=s;return[o,a]}function getNearest(e,t,r,i,o){if(null==e.left)return e.tdst=function dist(e,t,r,i,o){const a=t-e[0],s=r-e[1],f=i-e[2],l=o-e[3];return a*a+s*s+f*f+l*l}(e.est.q,t,r,i,o),e;const a=planeDst(e.est,t,r,i,o);let s=e.left,f=e.right;a>0&&(s=e.right,f=e.left);const l=getNearest(s,t,r,i,o);if(l.tdst<=a*a)return l;const c=getNearest(f,t,r,i,o);return c.tdst<l.tdst?c:l}function planeDst(e,t,r,i,o){const{e:a}=e;return a[0]*t+a[1]*r+a[2]*i+a[3]*o-e.eMq}function splitPixels(e,t,r,i,o,a){for(i-=4;r<i;){for(;vecDot(e,r,o)<=a;)r+=4;for(;vecDot(e,i,o)>a;)i-=4;if(r>=i)break;const s=t[r>>2];t[r>>2]=t[i>>2],t[i>>2]=s,r+=4,i-=4}for(;vecDot(e,r,o)>a;)r-=4;return r+4}function vecDot(e,t,r){return e[t]*r[0]+e[t+1]*r[1]+e[t+2]*r[2]+e[t+3]*r[3]}function stats(e,t,r){const i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],o=[0,0,0,0],a=r-t>>2;for(let a=t;a<r;a+=4){const t=e[a]*(1/255),r=e[a+1]*(1/255),s=e[a+2]*(1/255),f=e[a+3]*(1/255);o[0]+=t,o[1]+=r,o[2]+=s,o[3]+=f,i[0]+=t*t,i[1]+=t*r,i[2]+=t*s,i[3]+=t*f,i[5]+=r*r,i[6]+=r*s,i[7]+=r*f,i[10]+=s*s,i[11]+=s*f,i[15]+=f*f}return i[4]=i[1],i[8]=i[2],i[9]=i[6],i[12]=i[3],i[13]=i[7],i[14]=i[11],{R:i,m:o,N:a}}function estats(e){const{R:t}=e,{m:r}=e,{N:i}=e,a=r[0],s=r[1],f=r[2],l=r[3],c=0==i?0:1/i,u=[t[0]-a*a*c,t[1]-a*s*c,t[2]-a*f*c,t[3]-a*l*c,t[4]-s*a*c,t[5]-s*s*c,t[6]-s*f*c,t[7]-s*l*c,t[8]-f*a*c,t[9]-f*s*c,t[10]-f*f*c,t[11]-f*l*c,t[12]-l*a*c,t[13]-l*s*c,t[14]-l*f*c,t[15]-l*l*c],h=u,d=o;let A=[Math.random(),Math.random(),Math.random(),Math.random()],g=0,p=0;if(0!=i)for(let e=0;e<16&&(A=d.multVec(h,A),p=Math.sqrt(d.dot(A,A)),A=d.sml(1/p,A),!(0!=e&&Math.abs(p-g)<1e-9));e++)g=p;const m=[a*c,s*c,f*c,l*c];return{Cov:u,q:m,e:A,L:g,eMq255:d.dot(d.sml(255,m),A),eMq:d.dot(A,m),rgba:(Math.round(255*m[3])<<24|Math.round(255*m[2])<<16|Math.round(255*m[1])<<8|Math.round(255*m[0])<<0)>>>0}}var o={multVec:(e,t)=>[e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3],e[4]*t[0]+e[5]*t[1]+e[6]*t[2]+e[7]*t[3],e[8]*t[0]+e[9]*t[1]+e[10]*t[2]+e[11]*t[3],e[12]*t[0]+e[13]*t[1]+e[14]*t[2]+e[15]*t[3]],dot:(e,t)=>e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3],sml:(e,t)=>[e*t[0],e*t[1],e*t[2],e*t[3]]};UPNG.encode=function encode(e,t,r,i,o,a,s){null==i&&(i=0),null==s&&(s=!1);const f=compress(e,t,r,i,[!1,!1,!1,0,s,!1]);return compressPNG(f,-1),_main(f,t,r,o,a)},UPNG.encodeLL=function encodeLL(e,t,r,i,o,a,s,f){const l={ctype:0+(1==i?0:2)+(0==o?0:4),depth:a,frames:[]},c=(i+o)*a,u=c*t;for(let i=0;i<e.length;i++)l.frames.push({rect:{x:0,y:0,width:t,height:r},img:new Uint8Array(e[i]),blend:0,dispose:1,bpp:Math.ceil(c/8),bpl:Math.ceil(u/8)});return compressPNG(l,0,!0),_main(l,t,r,s,f)},UPNG.encode.compress=compress,UPNG.encode.dither=dither,UPNG.quantize=quantize,UPNG.quantize.getKDtree=getKDtree,UPNG.quantize.getNearest=getNearest}();const r={toArrayBuffer(e,t){const i=e.width,o=e.height,a=i<<2,s=e.getContext(\"2d\").getImageData(0,0,i,o),f=new Uint32Array(s.data.buffer),l=(32*i+31)/32<<2,c=l*o,u=122+c,h=new ArrayBuffer(u),d=new DataView(h),A=1<<20;let g,p,m,w,v=A,b=0,y=0,E=0;function set16(e){d.setUint16(y,e,!0),y+=2}function set32(e){d.setUint32(y,e,!0),y+=4}function seek(e){y+=e}set16(19778),set32(u),seek(4),set32(122),set32(108),set32(i),set32(-o>>>0),set16(1),set16(32),set32(3),set32(c),set32(2835),set32(2835),seek(8),set32(16711680),set32(65280),set32(255),set32(4278190080),set32(1466527264),function convert(){for(;b<o&&v>0;){for(w=122+b*l,g=0;g<a;)v--,p=f[E++],m=p>>>24,d.setUint32(w+g,p<<8|m),g+=4;b++}E<f.length?(v=A,setTimeout(convert,r._dly)):t(h)}()},toBlob(e,t){this.toArrayBuffer(e,(e=>{t(new Blob([e],{type:\"image/bmp\"}))}))},_dly:9};var i={CHROME:\"CHROME\",FIREFOX:\"FIREFOX\",DESKTOP_SAFARI:\"DESKTOP_SAFARI\",IE:\"IE\",IOS:\"IOS\",ETC:\"ETC\"},o={[i.CHROME]:16384,[i.FIREFOX]:11180,[i.DESKTOP_SAFARI]:16384,[i.IE]:8192,[i.IOS]:4096,[i.ETC]:8192};const a=\"undefined\"!=typeof window,s=\"undefined\"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,f=a&&window.cordova&&window.cordova.require&&window.cordova.require(\"cordova/modulemapper\"),CustomFile=(a||s)&&(f&&f.getOriginalSymbol(window,\"File\")||\"undefined\"!=typeof File&&File),CustomFileReader=(a||s)&&(f&&f.getOriginalSymbol(window,\"FileReader\")||\"undefined\"!=typeof FileReader&&FileReader);function getFilefromDataUrl(e,t,r=Date.now()){return new Promise((i=>{const o=e.split(\",\"),a=o[0].match(/:(.*?);/)[1],s=globalThis.atob(o[1]);let f=s.length;const l=new Uint8Array(f);for(;f--;)l[f]=s.charCodeAt(f);const c=new Blob([l],{type:a});c.name=t,c.lastModified=r,i(c)}))}function getDataUrlFromFile(e){return new Promise(((t,r)=>{const i=new CustomFileReader;i.onload=()=>t(i.result),i.onerror=e=>r(e),i.readAsDataURL(e)}))}function loadImage(e){return new Promise(((t,r)=>{const i=new Image;i.onload=()=>t(i),i.onerror=e=>r(e),i.src=e}))}function getBrowserName(){if(void 0!==getBrowserName.cachedResult)return getBrowserName.cachedResult;let e=i.ETC;const{userAgent:t}=navigator;return/Chrom(e|ium)/i.test(t)?e=i.CHROME:/iP(ad|od|hone)/i.test(t)&&/WebKit/i.test(t)?e=i.IOS:/Safari/i.test(t)?e=i.DESKTOP_SAFARI:/Firefox/i.test(t)?e=i.FIREFOX:(/MSIE/i.test(t)||!0==!!document.documentMode)&&(e=i.IE),getBrowserName.cachedResult=e,getBrowserName.cachedResult}function approximateBelowMaximumCanvasSizeOfBrowser(e,t){const r=getBrowserName(),i=o[r];let a=e,s=t,f=a*s;const l=a>s?s/a:a/s;for(;f>i*i;){const e=(i+a)/2,t=(i+s)/2;e<t?(s=t,a=t*l):(s=e*l,a=e),f=a*s}return{width:a,height:s}}function getNewCanvasAndCtx(e,t){let r,i;try{if(r=new OffscreenCanvas(e,t),i=r.getContext(\"2d\"),null===i)throw new Error(\"getContext of OffscreenCanvas returns null\")}catch(e){r=document.createElement(\"canvas\"),i=r.getContext(\"2d\")}return r.width=e,r.height=t,[r,i]}function drawImageInCanvas(e,t){const{width:r,height:i}=approximateBelowMaximumCanvasSizeOfBrowser(e.width,e.height),[o,a]=getNewCanvasAndCtx(r,i);return t&&/jpe?g/.test(t)&&(a.fillStyle=\"white\",a.fillRect(0,0,o.width,o.height)),a.drawImage(e,0,0,o.width,o.height),o}function isIOS(){return void 0!==isIOS.cachedResult||(isIOS.cachedResult=[\"iPad Simulator\",\"iPhone Simulator\",\"iPod Simulator\",\"iPad\",\"iPhone\",\"iPod\"].includes(navigator.platform)||navigator.userAgent.includes(\"Mac\")&&\"undefined\"!=typeof document&&\"ontouchend\"in document),isIOS.cachedResult}function drawFileInCanvas(e,t={}){return new Promise((function(r,o){let a,s;var $Try_2_Post=function(){try{return s=drawImageInCanvas(a,t.fileType||e.type),r([a,s])}catch(e){return o(e)}},$Try_2_Catch=function(t){try{0;var $Try_3_Catch=function(e){try{throw e}catch(e){return o(e)}};try{let t;return getDataUrlFromFile(e).then((function(e){try{return t=e,loadImage(t).then((function(e){try{return a=e,function(){try{return $Try_2_Post()}catch(e){return o(e)}}()}catch(e){return $Try_3_Catch(e)}}),$Try_3_Catch)}catch(e){return $Try_3_Catch(e)}}),$Try_3_Catch)}catch(e){$Try_3_Catch(e)}}catch(e){return o(e)}};try{if(isIOS()||[i.DESKTOP_SAFARI,i.MOBILE_SAFARI].includes(getBrowserName()))throw new Error(\"Skip createImageBitmap on IOS and Safari\");return createImageBitmap(e).then((function(e){try{return a=e,$Try_2_Post()}catch(e){return $Try_2_Catch()}}),$Try_2_Catch)}catch(e){$Try_2_Catch()}}))}function canvasToFile(e,t,i,o,a=1){return new Promise((function(s,f){let l;if(\"image/png\"===t){let c,u,h;return c=e.getContext(\"2d\"),({data:u}=c.getImageData(0,0,e.width,e.height)),h=UPNG.encode([u.buffer],e.width,e.height,4096*a),l=new Blob([h],{type:t}),l.name=i,l.lastModified=o,$If_4.call(this)}{if(\"image/bmp\"===t)return new Promise((t=>r.toBlob(e,t))).then(function(e){try{return l=e,l.name=i,l.lastModified=o,$If_5.call(this)}catch(e){return f(e)}}.bind(this),f);{if(\"function\"==typeof OffscreenCanvas&&e instanceof OffscreenCanvas)return e.convertToBlob({type:t,quality:a}).then(function(e){try{return l=e,l.name=i,l.lastModified=o,$If_6.call(this)}catch(e){return f(e)}}.bind(this),f);{let d;return d=e.toDataURL(t,a),getFilefromDataUrl(d,i,o).then(function(e){try{return l=e,$If_6.call(this)}catch(e){return f(e)}}.bind(this),f)}function $If_6(){return $If_5.call(this)}}function $If_5(){return $If_4.call(this)}}function $If_4(){return s(l)}}))}function cleanupCanvasMemory(e){e.width=0,e.height=0}function isAutoOrientationInBrowser(){return new Promise((function(e,t){let r,i,o,a,s;return void 0!==isAutoOrientationInBrowser.cachedResult?e(isAutoOrientationInBrowser.cachedResult):(r=\"data:image/jpeg;base64,/9j/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAYAAAAAAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAAEAAgMBEQACEQEDEQH/xABKAAEAAAAAAAAAAAAAAAAAAAALEAEAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwA/8H//2Q==\",getFilefromDataUrl(\"data:image/jpeg;base64,/9j/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAYAAAAAAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAAEAAgMBEQACEQEDEQH/xABKAAEAAAAAAAAAAAAAAAAAAAALEAEAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwA/8H//2Q==\",\"test.jpg\",Date.now()).then((function(r){try{return i=r,drawFileInCanvas(i).then((function(r){try{return o=r[1],canvasToFile(o,i.type,i.name,i.lastModified).then((function(r){try{return a=r,cleanupCanvasMemory(o),drawFileInCanvas(a).then((function(r){try{return s=r[0],isAutoOrientationInBrowser.cachedResult=1===s.width&&2===s.height,e(isAutoOrientationInBrowser.cachedResult)}catch(e){return t(e)}}),t)}catch(e){return t(e)}}),t)}catch(e){return t(e)}}),t)}catch(e){return t(e)}}),t))}))}function getExifOrientation(e){return new Promise(((t,r)=>{const i=new CustomFileReader;i.onload=e=>{const r=new DataView(e.target.result);if(65496!=r.getUint16(0,!1))return t(-2);const i=r.byteLength;let o=2;for(;o<i;){if(r.getUint16(o+2,!1)<=8)return t(-1);const e=r.getUint16(o,!1);if(o+=2,65505==e){if(1165519206!=r.getUint32(o+=2,!1))return t(-1);const e=18761==r.getUint16(o+=6,!1);o+=r.getUint32(o+4,e);const i=r.getUint16(o,e);o+=2;for(let a=0;a<i;a++)if(274==r.getUint16(o+12*a,e))return t(r.getUint16(o+12*a+8,e))}else{if(65280!=(65280&e))break;o+=r.getUint16(o,!1)}}return t(-1)},i.onerror=e=>r(e),i.readAsArrayBuffer(e)}))}function handleMaxWidthOrHeight(e,t){const{width:r}=e,{height:i}=e,{maxWidthOrHeight:o}=t;let a,s=e;return isFinite(o)&&(r>o||i>o)&&([s,a]=getNewCanvasAndCtx(r,i),r>i?(s.width=o,s.height=i/r*o):(s.width=r/i*o,s.height=o),a.drawImage(e,0,0,s.width,s.height),cleanupCanvasMemory(e)),s}function followExifOrientation(e,t){const{width:r}=e,{height:i}=e,[o,a]=getNewCanvasAndCtx(r,i);switch(t>4&&t<9?(o.width=i,o.height=r):(o.width=r,o.height=i),t){case 2:a.transform(-1,0,0,1,r,0);break;case 3:a.transform(-1,0,0,-1,r,i);break;case 4:a.transform(1,0,0,-1,0,i);break;case 5:a.transform(0,1,1,0,0,0);break;case 6:a.transform(0,1,-1,0,i,0);break;case 7:a.transform(0,-1,-1,0,i,r);break;case 8:a.transform(0,-1,1,0,0,r)}return a.drawImage(e,0,0,r,i),cleanupCanvasMemory(e),o}function compress(e,t,r=0){return new Promise((function(i,o){let a,s,f,l,c,u,h,d,A,g,p,m,w,v,b,y,E,F,_,B;function incProgress(e=5){if(t.signal&&t.signal.aborted)throw t.signal.reason;a+=e,t.onProgress(Math.min(a,100))}function setProgress(e){if(t.signal&&t.signal.aborted)throw t.signal.reason;a=Math.min(Math.max(e,a),100),t.onProgress(a)}return a=r,s=t.maxIteration||10,f=1024*t.maxSizeMB*1024,incProgress(),drawFileInCanvas(e,t).then(function(r){try{return[,l]=r,incProgress(),c=handleMaxWidthOrHeight(l,t),incProgress(),new Promise((function(r,i){var o;if(!(o=t.exifOrientation))return getExifOrientation(e).then(function(e){try{return o=e,$If_2.call(this)}catch(e){return i(e)}}.bind(this),i);function $If_2(){return r(o)}return $If_2.call(this)})).then(function(r){try{return u=r,incProgress(),isAutoOrientationInBrowser().then(function(r){try{return h=r?c:followExifOrientation(c,u),incProgress(),d=t.initialQuality||1,A=t.fileType||e.type,canvasToFile(h,A,e.name,e.lastModified,d).then(function(r){try{{if(g=r,incProgress(),p=g.size>f,m=g.size>e.size,!p&&!m)return setProgress(100),i(g);var a;function $Loop_3(){if(s--&&(b>f||b>w)){let t,r;return t=B?.95*_.width:_.width,r=B?.95*_.height:_.height,[E,F]=getNewCanvasAndCtx(t,r),F.drawImage(_,0,0,t,r),d*=\"image/png\"===A?.85:.95,canvasToFile(E,A,e.name,e.lastModified,d).then((function(e){try{return y=e,cleanupCanvasMemory(_),_=E,b=y.size,setProgress(Math.min(99,Math.floor((v-b)/(v-f)*100))),$Loop_3}catch(e){return o(e)}}),o)}return[1]}return w=e.size,v=g.size,b=v,_=h,B=!t.alwaysKeepResolution&&p,(a=function(e){for(;e;){if(e.then)return void e.then(a,o);try{if(e.pop){if(e.length)return e.pop()?$Loop_3_exit.call(this):e;e=$Loop_3}else e=e.call(this)}catch(e){return o(e)}}}.bind(this))($Loop_3);function $Loop_3_exit(){return cleanupCanvasMemory(_),cleanupCanvasMemory(E),cleanupCanvasMemory(c),cleanupCanvasMemory(h),cleanupCanvasMemory(l),setProgress(100),i(y)}}}catch(u){return o(u)}}.bind(this),o)}catch(e){return o(e)}}.bind(this),o)}catch(e){return o(e)}}.bind(this),o)}catch(e){return o(e)}}.bind(this),o)}))}const l=\"\\nlet scriptImported = false\\nself.addEventListener('message', async (e) => {\\n const { file, id, imageCompressionLibUrl, options } = e.data\\n options.onProgress = (progress) => self.postMessage({ progress, id })\\n try {\\n if (!scriptImported) {\\n // console.log('[worker] importScripts', imageCompressionLibUrl)\\n self.importScripts(imageCompressionLibUrl)\\n scriptImported = true\\n }\\n // console.log('[worker] self', self)\\n const compressedFile = await imageCompression(file, options)\\n self.postMessage({ file: compressedFile, id })\\n } catch (e) {\\n // console.error('[worker] error', e)\\n self.postMessage({ error: e.message + '\\\\n' + e.stack, id })\\n }\\n})\\n\";let c;function compressOnWebWorker(e,t){return new Promise(((r,i)=>{c||(c=function createWorkerScriptURL(e){const t=[];return\"function\"==typeof e?t.push(`(${e})()`):t.push(e),URL.createObjectURL(new Blob(t))}(l));const o=new Worker(c);o.addEventListener(\"message\",(function handler(e){if(t.signal&&t.signal.aborted)o.terminate();else if(void 0===e.data.progress){if(e.data.error)return i(new Error(e.data.error)),void o.terminate();r(e.data.file),o.terminate()}else t.onProgress(e.data.progress)})),o.addEventListener(\"error\",i),t.signal&&t.signal.addEventListener(\"abort\",(()=>{i(t.signal.reason),o.terminate()})),o.postMessage({file:e,imageCompressionLibUrl:t.libURL,options:{...t,onProgress:void 0,signal:void 0}})}))}function imageCompression(e,t){return new Promise((function(r,i){let o,a,s,f,l,c;if(o={...t},s=0,({onProgress:f}=o),o.maxSizeMB=o.maxSizeMB||Number.POSITIVE_INFINITY,l=\"boolean\"!=typeof o.useWebWorker||o.useWebWorker,delete o.useWebWorker,o.onProgress=e=>{s=e,\"function\"==typeof f&&f(s)},!(e instanceof Blob||e instanceof CustomFile))return i(new Error(\"The file given is not an instance of Blob or File\"));if(!/^image/.test(e.type))return i(new Error(\"The file given is not an image\"));if(c=\"undefined\"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,!l||\"function\"!=typeof Worker||c)return compress(e,o).then(function(e){try{return a=e,$If_4.call(this)}catch(e){return i(e)}}.bind(this),i);var u=function(){try{return $If_4.call(this)}catch(e){return i(e)}}.bind(this),$Try_1_Catch=function(t){try{return compress(e,o).then((function(e){try{return a=e,u()}catch(e){return i(e)}}),i)}catch(e){return i(e)}};try{return o.libURL=o.libURL||\"https://cdn.jsdelivr.net/npm/browser-image-compression@2.0.2/dist/browser-image-compression.js\",compressOnWebWorker(e,o).then((function(e){try{return a=e,u()}catch(e){return $Try_1_Catch()}}),$Try_1_Catch)}catch(e){$Try_1_Catch()}function $If_4(){try{a.name=e.name,a.lastModified=e.lastModified}catch(e){}try{o.preserveExif&&\"image/jpeg\"===e.type&&(!o.fileType||o.fileType&&o.fileType===e.type)&&(a=copyExifWithoutOrientation(e,a))}catch(e){}return r(a)}}))}imageCompression.getDataUrlFromFile=getDataUrlFromFile,imageCompression.getFilefromDataUrl=getFilefromDataUrl,imageCompression.loadImage=loadImage,imageCompression.drawImageInCanvas=drawImageInCanvas,imageCompression.drawFileInCanvas=drawFileInCanvas,imageCompression.canvasToFile=canvasToFile,imageCompression.getExifOrientation=getExifOrientation,imageCompression.handleMaxWidthOrHeight=handleMaxWidthOrHeight,imageCompression.followExifOrientation=followExifOrientation,imageCompression.cleanupCanvasMemory=cleanupCanvasMemory,imageCompression.isAutoOrientationInBrowser=isAutoOrientationInBrowser,imageCompression.approximateBelowMaximumCanvasSizeOfBrowser=approximateBelowMaximumCanvasSizeOfBrowser,imageCompression.copyExifWithoutOrientation=copyExifWithoutOrientation,imageCompression.getBrowserName=getBrowserName,imageCompression.version=\"2.0.2\";export{imageCompression as default};\n//# sourceMappingURL=browser-image-compression.mjs.map\n","/*Copyrights for code authored by Yahoo Inc. is licensed under the following terms:\r\nMIT License\r\nCopyright 2017 Yahoo Inc.\r\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\r\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\r\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n*/\r\n!function(e,t,r,i){\"use strict\";function n(){return C.isValid()}function o(){return C.isValid()}function a(){var e={getUserMedia:!0};return C.isValid(e)}function s(e){var t=!1;if(w.isArray(e)&&e.length){if(w.each(e,function(e,r){w.isSupported.videoCodecs[r]&&(t=!0)}),!t){ return!1 }}else if(w.isString(e)&&e.length&&!w.isSupported.videoCodecs[e]){ return!1; }return C.isValid({getUserMedia:!0})}function d(){function e(e,t,r){var i,n;for(u=e,m=t,g=r,f=new Array(h),i=0;h>i;i++){ f[i]=new Array(4),n=f[i],n[0]=n[1]=n[2]=(i<<k+8)/h|0,D[i]=F/h|0,G[i]=0 }}function t(){for(var e=[],t=new Array(h),r=0;h>r;r++){ t[f[r][3]]=r; }for(var i=0,n=0;h>n;n++){var o=t[n];e[i++]=f[o][0],e[i++]=f[o][1],e[i++]=f[o][2]}return e}function r(){var e,t,r,i,n,o,a,s;for(a=0,s=0,e=0;h>e;e++){for(n=f[e],r=e,i=n[1],t=e+1;h>t;t++){ o=f[t],o[1]<i&&(r=t,i=o[1]); }if(o=f[r],e!=r&&(t=o[0],o[0]=n[0],n[0]=t,t=o[1],o[1]=n[1],n[1]=t,t=o[2],o[2]=n[2],n[2]=t,t=o[3],o[3]=n[3],n[3]=t),i!=a){for(P[a]=s+e>>1,t=a+1;i>t;t++){ P[t]=e; }a=i,s=e}}for(P[a]=s+C>>1,t=a+1;256>t;t++){ P[t]=C }}function i(){var e,t,r,i,n,o,a,f,h,C,x,F,W,O;for(y>m&&(g=1),l=30+(g-1)/3,F=u,W=0,O=m,x=m/(3*g),C=x/S|0,f=V,o=T,a=o>>U,1>=a&&(a=0),e=0;a>e;e++){ N[e]=f*((a*a-e*e)*z/(a*a)); }for(h=y>m?3:m%p!==0?3*p:m%v!==0?3*v:m%b!==0?3*b:3*w,e=0;x>e;){ if(r=(255&F[W+0])<<k,i=(255&F[W+1])<<k,n=(255&F[W+2])<<k,t=c(r,i,n),d(f,t,r,i,n),0!==a&&s(a,t,r,i,n),W+=h,W>=O&&(W-=m),e++,0===C&&(C=1),e%C===0){ for(f-=f/l,o-=o/I,a=o>>U,1>=a&&(a=0),t=0;a>t;t++){ N[t]=f*((a*a-t*t)*z/(a*a)) } } }}function n(e,t,r){var i,n,o,a,s,d,c;for(s=1e3,c=-1,i=P[t],n=i-1;h>i||n>=0;){ h>i&&(d=f[i],o=d[1]-t,o>=s?i=h:(i++,0>o&&(o=-o),a=d[0]-e,0>a&&(a=-a),o+=a,s>o&&(a=d[2]-r,0>a&&(a=-a),o+=a,s>o&&(s=o,c=d[3])))),n>=0&&(d=f[n],o=t-d[1],o>=s?n=-1:(n--,0>o&&(o=-o),a=d[0]-e,0>a&&(a=-a),o+=a,s>o&&(a=d[2]-r,0>a&&(a=-a),o+=a,s>o&&(s=o,c=d[3])))); }return c}function o(){return i(),a(),r(),t()}function a(){var e;for(e=0;h>e;e++){ f[e][0]>>=k,f[e][1]>>=k,f[e][2]>>=k,f[e][3]=e }}function s(e,t,r,i,n){var o,a,s,d,c,l,u;for(s=t-e,-1>s&&(s=-1),d=t+e,d>h&&(d=h),o=t+1,a=t-1,l=1;d>o||a>s;){if(c=N[l++],d>o){u=f[o++];try{u[0]-=c*(u[0]-r)/B|0,u[1]-=c*(u[1]-i)/B|0,u[2]-=c*(u[2]-n)/B|0}catch(m){}}if(a>s){u=f[a--];try{u[0]-=c*(u[0]-r)/B|0,u[1]-=c*(u[1]-i)/B|0,u[2]-=c*(u[2]-n)/B|0}catch(m$1){}}}}function d(e,t,r,i,n){var o=f[t],a=e/V;o[0]-=a*(o[0]-r)|0,o[1]-=a*(o[1]-i)|0,o[2]-=a*(o[2]-n)|0}function c(e,t,r){var i,n,o,a,s,d,c,l,u,m;for(l=~(1<<31),u=l,d=-1,c=d,i=0;h>i;i++){ m=f[i],n=m[0]-e,0>n&&(n=-n),o=m[1]-t,0>o&&(o=-o),n+=o,o=m[2]-r,0>o&&(o=-o),n+=o,l>n&&(l=n,d=i),a=n-(G[i]>>x-k),u>a&&(u=a,c=i),s=D[i]>>O,D[i]-=s,G[i]+=s<<W; }return D[d]+=E,G[d]-=M,c}var l,u,m,g,f,h=256,p=499,v=491,b=487,w=503,y=3*w,C=h-1,k=4,S=100,x=16,F=1<<x,W=10,O=10,E=F>>O,M=F<<W-O,A=h>>3,U=6,R=1<<U,T=A*R,I=30,j=10,V=1<<j,H=8,z=1<<H,L=j+H,B=1<<L,P=[],G=[],D=[],N=[];e.apply(this,arguments);var q={};return q.map=n,q.process=o,q}function c(){var e=this;try{e.onmessage=function(e){var t,i=e.data||{};i.gifshot&&(t=r.run(i),postMessage(t))}}catch(t){}var r={dataToRGB:function(e,t,r){for(var i=t*r*4,n=0,o=[];i>n;){ o.push(e[n++]),o.push(e[n++]),o.push(e[n++]),n++; }return o},componentizedPaletteToArray:function(e){e=e||[];for(var t=[],r=0;r<e.length;r+=3){var i=e[r],n=e[r+1],o=e[r+2];t.push(i<<16|n<<8|o)}return t},processFrameWithQuantizer:function(e,t,r,i){for(var n=this.dataToRGB(e,t,r),o=new d(n,n.length,i),a=o.process(),s=new Uint32Array(this.componentizedPaletteToArray(a)),c=t*r,l=new Uint8Array(c),u=0,m=0;c>m;m++){var g=n[u++],f=n[u++],h=n[u++];l[m]=o.map(g,f,h)}return{pixels:l,palette:s}},run:function(e){e=e||{};var t=e,r=t.height,i=(t.palette,t.sampleInterval),n=t.width,o=e.data;return this.processFrameWithQuantizer(o,n,r,i)}};return r}function l(e,t,r,n){function o(e){var t=e.length;if(2>t||t>256||t&t-1){ throw\"Invalid code/color length, must be power of 2 and 2 .. 256.\"; }return t}function a(e,t,r,n){function o(r){for(;g>=r;){ e[t++]=255&f,f>>=8,g-=8,t===s+256&&(e[s]=255,s=t++) }}function a(e){f|=e<<g,g+=m,o(8)}e[t++]=r;var s=t++,d=1<<r,c=d-1,l=d+1,u=l+1,m=r+1,g=0,f=0,h=n[0]&c,p={};a(d);for(var v=1,b=n.length;b>v;++v){var w=n[v]&c,y=h<<8|w,C=p[y];if(C===i){for(f|=h<<g,g+=m;g>=8;){ e[t++]=255&f,f>>=8,g-=8,t===s+256&&(e[s]=255,s=t++); }4096===u?(a(d),u=l+1,m=r+1,p={}):(u>=1<<m&&++m,p[y]=u++),h=w}else { h=C }}return a(h),a(l),o(1),s+1===t?e[s]=0:(e[s]=t-s-1,e[t++]=0),t}var s=0;n=n===i?{}:n;var d=n.loop===i?null:n.loop,c=n.palette===i?null:n.palette;if(0>=t||0>=r||t>65535||r>65535){ throw\"Width/Height invalid.\"; }e[s++]=71,e[s++]=73,e[s++]=70,e[s++]=56,e[s++]=57,e[s++]=97;var l=0,u=0;if(e[s++]=255&t,e[s++]=t>>8&255,e[s++]=255&r,e[s++]=r>>8&255,e[s++]=(null!==c?128:0)|l,e[s++]=u,e[s++]=0,null!==d){if(0>d||d>65535){ throw\"Loop count invalid.\"; }e[s++]=33,e[s++]=255,e[s++]=11,e[s++]=78,e[s++]=69,e[s++]=84,e[s++]=83,e[s++]=67,e[s++]=65,e[s++]=80,e[s++]=69,e[s++]=50,e[s++]=46,e[s++]=48,e[s++]=3,e[s++]=1,e[s++]=255&d,e[s++]=d>>8&255,e[s++]=0}var m=!1;this.addFrame=function(t,r,n,d,l,u){if(m===!0&&(--s,m=!1),u=u===i?{}:u,0>t||0>r||t>65535||r>65535){ throw\"x/y invalid.\"; }if(0>=n||0>=d||n>65535||d>65535){ throw\"Width/Height invalid.\"; }if(l.length<n*d){ throw\"Not enough pixels for the frame size.\"; }var g=!0,f=u.palette;if((f===i||null===f)&&(g=!1,f=c),f===i||null===f){ throw\"Must supply either a local or global palette.\"; }for(var h=o(f),p=0;h>>=1;){ ++p; }h=1<<p;var v=u.delay===i?0:u.delay,b=u.disposal===i?0:u.disposal;if(0>b||b>3){ throw\"Disposal out of range.\"; }var w=!1,y=0;if(u.transparent!==i&&null!==u.transparent&&(w=!0,y=u.transparent,0>y||y>=h)){ throw\"Transparent color index.\"; }if((0!==b||w||0!==v)&&(e[s++]=33,e[s++]=249,e[s++]=4,e[s++]=b<<2|(w===!0?1:0),e[s++]=255&v,e[s++]=v>>8&255,e[s++]=y,e[s++]=0),e[s++]=44,e[s++]=255&t,e[s++]=t>>8&255,e[s++]=255&r,e[s++]=r>>8&255,e[s++]=255&n,e[s++]=n>>8&255,e[s++]=255&d,e[s++]=d>>8&255,e[s++]=g===!0?128|p-1:0,g===!0){ for(var C=0,k=f.length;k>C;++C){var S=f[C];e[s++]=S>>16&255,e[s++]=S>>8&255,e[s++]=255&S} }s=a(e,s,2>p?2:p,l)},this.end=function(){return m===!1&&(e[s++]=59,m=!0),s}}function u(e,t){e.getBase64GIF(function(e){t({error:!1,errorCode:\"\",errorMsg:\"\",image:e})})}function m(){function e(){w.each(l,function(e,t){t&&(t.text?f.addFrame(t.img,a,t.text):f.addFrame(t,a))}),u(f,n)}var r=arguments.length>0&&arguments[0]!==i?arguments[0]:{},n=r.callback,o=r.images,a=r.options,s=r.imagesLength,d={getUserMedia:!0,\"window.URL\":!0},c=C.validate(d),l=[],m=0,g=void 0,f=void 0;return c.error?n(c):(f=new O(a),w.each(o,function(r,i){var o=i;i.src&&(o=o.src),w.isElement(o)?(a.crossOrigin&&(o.crossOrigin=a.crossOrigin),l[r]=o,m+=1,m===s&&e()):w.isString(o)&&(g=new Image,a.crossOrigin&&(g.crossOrigin=a.crossOrigin),function(t){i.text&&(t.text=i.text),t.onerror=function(){var e=void 0;return--s,0===s?(e={},e.error=\"None of the requested images was capable of being retrieved\",n(e)):void 0},t.onload=function(){l[r]=i.text?{img:t,text:t.text}:t,m+=1,m===s&&e(),w.removeElement(t)},t.src=o}(g),w.setCSSAttr(g,{position:\"fixed\",opacity:\"0\"}),t.body.appendChild(g))}),void 0)}function g(e){e=w.isObject(e)?e:{},A.stopVideoStreaming(e)}function f(e,r){var i=e.options||{},n=i.images,o=i.video,a=Number(i.gifWidth),s=Number(i.gifHeight),d=(Number(i.numFrames),e.cameraStream),c=e.videoElement,l=e.videoWidth,u=e.videoHeight,m=M.getCropDimensions({videoWidth:l,videoHeight:u,gifHeight:s,gifWidth:a}),f=r;i.crop=m,i.videoElement=c,i.videoWidth=l,i.videoHeight=u,i.cameraStream=d,w.isElement(c)&&(c.width=a+m.width,c.height=s+m.height,i.webcamVideoElement||(w.setCSSAttr(c,{position:\"fixed\",opacity:\"0\"}),t.body.appendChild(c)),c.play(),M.getGIF(i,function(e){n&&n.length||o&&o.length||g(e),f(e)}))}function h(){var e=arguments.length>0&&arguments[0]!==i?arguments[0]:{},t=e.callback,r=e.existingVideo,n=e.options,o={getUserMedia:!0,\"window.URL\":!0},a=C.validate(o),s=void 0,d=void 0;if(a.error){ return t(a); }if(w.isElement(r)&&r.src){if(d=r.src,s=w.getExtension(d),!w.isSupported.videoCodecs[s]){ return t(C.messages.videoCodecs) }}else { w.isArray(r)&&w.each(r,function(e,t){return s=t instanceof Blob?t.type.substr(t.type.lastIndexOf(\"/\")+1,t.length):t.substr(t.lastIndexOf(\".\")+1,t.length),w.isSupported.videoCodecs[s]?(r=t,!1):void 0}); }A.startStreaming({completed:function(e){e.options=n||{},f(e,t)},existingVideo:r,crossOrigin:n.crossOrigin,options:n})}function p(){var e=arguments.length>0&&arguments[0]!==i?arguments[0]:{},t=e.callback,r=e.lastCameraStream,n=e.options,a=e.webcamVideoElement;return o()?n.savedRenderingContexts.length?(M.getGIF(n,function(e){t(e)}),void 0):(A.startVideoStreaming(function(){var e=arguments.length>0&&arguments[0]!==i?arguments[0]:{};e.options=n||{},f(e,t)},{lastCameraStream:r,callback:t,webcamVideoElement:a,crossOrigin:n.crossOrigin}),void 0):t(C.validate())}function v(e,t){if(t=w.isFunction(e)?e:t,e=w.isObject(e)?e:{},w.isFunction(t)){var r=w.mergeOptions(x,e)||{},i=e.cameraStream,n=r.images,o=n?n.length:0,a=r.video,s=r.webcamVideoElement;r=w.mergeOptions(r,{gifWidth:Math.floor(r.gifWidth),gifHeight:Math.floor(r.gifHeight)}),o?m({images:n,imagesLength:o,callback:t,options:r}):a?h({existingVideo:a,callback:t,options:r}):p({lastCameraStream:i,callback:t,webcamVideoElement:s,options:r})}}function b(e,t){if(t=w.isFunction(e)?e:t,e=w.isObject(e)?e:{},w.isFunction(t)){var r=w.mergeOptions(x,e),i=w.mergeOptions(r,{interval:.1,numFrames:1,gifWidth:Math.floor(r.gifWidth),gifHeight:Math.floor(r.gifHeight)});v(i,t)}}var w={URL:e.URL||e.webkitURL||e.mozURL||e.msURL,getUserMedia:function(){var e=r.getUserMedia||r.webkitGetUserMedia||r.mozGetUserMedia||r.msGetUserMedia;return e?e.bind(r):e}(),requestAnimFrame:e.requestAnimationFrame||e.webkitRequestAnimationFrame||e.mozRequestAnimationFrame||e.oRequestAnimationFrame||e.msRequestAnimationFrame,requestTimeout:function(e,t){if(e=e||w.noop,t=t||0,!w.requestAnimFrame){ return setTimeout(e,t); }var r=(new Date).getTime(),i=new Object,n=w.requestAnimFrame,o=function a(){var o=(new Date).getTime(),s=o-r;s>=t?e.call():i.value=n(a)};return i.value=n(o),i},Blob:e.Blob||e.BlobBuilder||e.WebKitBlobBuilder||e.MozBlobBuilder||e.MSBlobBuilder,btoa:function(){var t=e.btoa||function(e){for(var t=\"\",r=0,i=e.length,n=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",o=void 0,a=void 0,s=void 0,d=void 0,c=void 0,l=void 0,u=void 0;i>r;){ o=e.charCodeAt(r++),a=e.charCodeAt(r++),s=e.charCodeAt(r++),d=o>>2,c=(3&o)<<4|a>>4,l=(15&a)<<2|s>>6,u=63&s,isNaN(a)?l=u=64:isNaN(s)&&(u=64),t=t+n.charAt(d)+n.charAt(c)+n.charAt(l)+n.charAt(u); }return t};return t?t.bind(e):w.noop}(),isObject:function(e){return e&&\"[object Object]\"===Object.prototype.toString.call(e)},isEmptyObject:function(e){return w.isObject(e)&&!Object.keys(e).length},isArray:function(e){return e&&Array.isArray(e)},isFunction:function(e){return e&&\"function\"==typeof e},isElement:function(e){return e&&1===e.nodeType},isString:function(e){return\"string\"==typeof e||\"[object String]\"===Object.prototype.toString.call(e)},isSupported:{canvas:function(){var e=t.createElement(\"canvas\");return e&&e.getContext&&e.getContext(\"2d\")},webworkers:function(){return e.Worker},blob:function(){return w.Blob},Uint8Array:function(){return e.Uint8Array},Uint32Array:function(){return e.Uint32Array},videoCodecs:function(){var e=t.createElement(\"video\"),r={mp4:!1,h264:!1,ogv:!1,ogg:!1,webm:!1};try{e&&e.canPlayType&&(r.mp4=\"\"!==e.canPlayType('video/mp4; codecs=\"mp4v.20.8\"'),r.h264=\"\"!==(e.canPlayType('video/mp4; codecs=\"avc1.42E01E\"')||e.canPlayType('video/mp4; codecs=\"avc1.42E01E, mp4a.40.2\"')),r.ogv=\"\"!==e.canPlayType('video/ogg; codecs=\"theora\"'),r.ogg=\"\"!==e.canPlayType('video/ogg; codecs=\"theora\"'),r.webm=-1!==e.canPlayType('video/webm; codecs=\"vp8, vorbis\"'))}catch(i){}return r}()},noop:function(){},each:function(e,t){var r=void 0,i=void 0;if(w.isArray(e)){ for(r=-1,i=e.length;++r<i&&t(r,e[r])!==!1;){ ; } }else if(w.isObject(e)){ for(r in e){ if(e.hasOwnProperty(r)&&t(r,e[r])===!1){ break } } }},mergeOptions:function(e,t){if(w.isObject(e)&&w.isObject(t)&&Object.keys){var r={};return w.each(e,function(t){r[t]=e[t]}),w.each(t,function(i){var n=t[i];r[i]=w.isObject(n)?e[i]?w.mergeOptions(e[i],n):n:n}),r}},setCSSAttr:function(e,t,r){w.isElement(e)&&(w.isString(t)&&w.isString(r)?e.style[t]=r:w.isObject(t)&&w.each(t,function(t,r){e.style[t]=r}))},removeElement:function(e){w.isElement(e)&&e.parentNode&&e.parentNode.removeChild(e)},createWebWorker:function(e){if(!w.isString(e)){ return{}; }try{var t=new w.Blob([e],{type:\"text/javascript\"}),r=w.URL.createObjectURL(t),i=new Worker(r);return{objectUrl:r,worker:i}}catch(n){return\"\"+n}},getExtension:function(e){return e.substr(e.lastIndexOf(\".\")+1,e.length)},getFontSize:function(){var e=arguments.length>0&&arguments[0]!==i?arguments[0]:{};if(!t.body||e.resizeFont===!1){ return e.fontSize; }var r=e.text,n=e.gifWidth,o=parseInt(e.fontSize,10),a=parseInt(e.minFontSize,10),s=t.createElement(\"div\"),d=t.createElement(\"span\");for(s.setAttribute(\"width\",n),s.appendChild(d),d.innerHTML=r,d.style.fontSize=o+\"px\",d.style.textIndent=\"-9999px\",d.style.visibility=\"hidden\",t.body.appendChild(d);d.offsetWidth>n&&o>=a;){ d.style.fontSize=--o+\"px\"; }return t.body.removeChild(d),o+\"px\"},webWorkerError:!1},y=Object.freeze({\"default\":w}),C={validate:function(e){e=w.isObject(e)?e:{};var t={};return w.each(C.validators,function(r,i){var n=i.errorCode;return e[n]||i.condition?void 0:(t=i,t.error=!0,!1)}),delete t.condition,t},isValid:function R(e){var t=C.validate(e),R=t.error!==!0?!0:!1;return R},validators:[{condition:w.isFunction(w.getUserMedia),errorCode:\"getUserMedia\",errorMsg:\"The getUserMedia API is not supported in your browser\"},{condition:w.isSupported.canvas(),errorCode:\"canvas\",errorMsg:\"Canvas elements are not supported in your browser\"},{condition:w.isSupported.webworkers(),errorCode:\"webworkers\",errorMsg:\"The Web Workers API is not supported in your browser\"},{condition:w.isFunction(w.URL),errorCode:\"window.URL\",errorMsg:\"The window.URL API is not supported in your browser\"},{condition:w.isSupported.blob(),errorCode:\"window.Blob\",errorMsg:\"The window.Blob File API is not supported in your browser\"},{condition:w.isSupported.Uint8Array(),errorCode:\"window.Uint8Array\",errorMsg:\"The window.Uint8Array function constructor is not supported in your browser\"},{condition:w.isSupported.Uint32Array(),errorCode:\"window.Uint32Array\",errorMsg:\"The window.Uint32Array function constructor is not supported in your browser\"}],messages:{videoCodecs:{errorCode:\"videocodec\",errorMsg:\"The video codec you are trying to use is not supported in your browser\"}}},k=Object.freeze({\"default\":C}),S=function(){},x={sampleInterval:10,numWorkers:2,filter:\"\",gifWidth:200,gifHeight:200,interval:.1,numFrames:10,frameDuration:1,keepCameraOn:!1,images:[],video:null,webcamVideoElement:null,cameraStream:null,text:\"\",fontWeight:\"normal\",fontSize:\"16px\",minFontSize:\"10px\",resizeFont:!1,fontFamily:\"sans-serif\",fontColor:\"#ffffff\",textAlign:\"center\",textBaseline:\"bottom\",textXCoordinate:null,textYCoordinate:null,progressCallback:S,completeCallback:S,saveRenderingContexts:!1,savedRenderingContexts:[],showFrameText:!0,crossOrigin:\"Anonymous\",waterMark:null,waterMarkHeight:null,waterMarkWidth:null,waterMarkXCoordinate:1,waterMarkYCoordinate:1},F=Object.freeze({\"default\":x}),W=function(){},O=function(e){this.canvas=null,this.ctx=null,this.repeat=0,this.frames=[],this.numRenderedFrames=0,this.onRenderCompleteCallback=W,this.onRenderProgressCallback=W,this.workers=[],this.availableWorkers=[],this.generatingGIF=!1,this.options=e,this.initializeWebWorkers(e)};O.prototype={workerMethods:c(),initializeWebWorkers:function(e){var r=this,i=d.toString()+\"(\"+c.toString()+\"());\",n=void 0,o=void 0,a=void 0,s=void 0,l=-1,u=\"\";for(s=e.numWorkers;++l<s;){ n=w.createWebWorker(i),w.isObject(n)?(o=n.objectUrl,a=n.worker,r.workers.push({worker:a,objectUrl:o}),r.availableWorkers.push(a)):(u=n,w.webWorkerError=!!n); }this.workerError=u,this.canvas=t.createElement(\"canvas\"),this.canvas.width=e.gifWidth,this.canvas.height=e.gifHeight,this.ctx=this.canvas.getContext(\"2d\"),this.frames=[]},getWorker:function(){return this.availableWorkers.pop()},freeWorker:function(e){this.availableWorkers.push(e)},byteMap:function(){for(var e=[],t=0;256>t;t++){ e[t]=String.fromCharCode(t); }return e}(),bufferToString:function(e){for(var t=e.length,r=\"\",i=-1;++i<t;){ r+=this.byteMap[e[i]]; }return r},onFrameFinished:function(e){var t=this,r=t.frames,i=t.options,n=!!(i.images||[]).length,o=r.every(function(e){return!e.beingProcessed&&e.done});t.numRenderedFrames++,n&&e(t.numRenderedFrames/r.length),t.onRenderProgressCallback(.75*t.numRenderedFrames/r.length),o?t.generatingGIF||t.generateGIF(r,t.onRenderCompleteCallback):w.requestTimeout(function(){t.processNextFrame()},1)},processFrame:function(e){var t=this,r=(this.options,this.options),n=r.progressCallback,o=r.sampleInterval,a=this.frames,s=void 0,d=void 0,c=function(){var e=arguments.length>0&&arguments[0]!==i?arguments[0]:{},r=e.data;delete s.data,s.pixels=Array.prototype.slice.call(r.pixels),s.palette=Array.prototype.slice.call(r.palette),s.done=!0,s.beingProcessed=!1,t.freeWorker(d),t.onFrameFinished(n)};return s=a[e],s.beingProcessed||s.done?(this.onFrameFinished(),void 0):(s.sampleInterval=o,s.beingProcessed=!0,s.gifshot=!0,d=this.getWorker(),d?(d.onmessage=c,d.postMessage(s)):c({data:t.workerMethods.run(s)}),void 0)},startRendering:function(e){this.onRenderCompleteCallback=e;for(var t=0;t<this.options.numWorkers&&t<this.frames.length;t++){ this.processFrame(t) }},processNextFrame:function(){for(var e=-1,t=0;t<this.frames.length;t++){var r=this.frames[t];if(!r.done&&!r.beingProcessed){e=t;break}}e>=0&&this.processFrame(e)},generateGIF:function(e,t){var r=[],i={loop:this.repeat},n=this.options,o=n.interval,a=n.frameDuration,s=n.images,d=!!s.length,c=n.gifHeight,u=n.gifWidth,m=new l(r,u,c,i),g=this.onRenderProgressCallback,f=d?100*o:0,h=void 0,p=void 0;this.generatingGIF=!0,w.each(e,function(t,r){var i=r.palette;g(.75+.25*r.position*1/e.length);for(var n=0;a>n;n++){ m.addFrame(0,0,u,c,r.pixels,{palette:i,delay:f}) }}),m.end(),g(1),this.frames=[],this.generatingGIF=!1,w.isFunction(t)&&(h=this.bufferToString(r),p=\"data:image/gif;base64,\"+w.btoa(h),t(p))},setRepeat:function(e){this.repeat=e},addFrame:function(e,t,r){t=w.isObject(t)?t:{};var i=this,n=i.ctx,o=i.options,a=o.gifWidth,s=o.gifHeight,d=w.getFontSize(t),c=t,l=c.filter,u=c.fontColor,m=c.fontFamily,g=c.fontWeight,f=(c.gifHeight,c.gifWidth,c.text),h=c.textAlign,p=c.textBaseline,v=c.waterMark,b=c.waterMarkHeight,y=c.waterMarkWidth,C=c.waterMarkXCoordinate,k=c.waterMarkYCoordinate,S=t.textXCoordinate?t.textXCoordinate:\"left\"===h?1:\"right\"===h?a:a/2,x=t.textYCoordinate?t.textYCoordinate:\"top\"===p?1:\"center\"===p?s/2:s,F=g+\" \"+d+\" \"+m,W=r&&t.showFrameText?r:f,O=void 0;try{n.filter=l,n.drawImage(e,0,0,a,s),W&&(n.font=F,n.fillStyle=u,n.textAlign=h,n.textBaseline=p,n.fillText(W,S,x)),v&&n.drawImage(v,C,k,y,b),O=n.getImageData(0,0,a,s),i.addFrameImageData(O)}catch(E){return\"\"+E}},addFrameImageData:function(){var e=arguments.length>0&&arguments[0]!==i?arguments[0]:{},t=this.frames,r=e.data;this.frames.push({data:r,width:e.width,height:e.height,palette:null,dithering:null,done:!1,beingProcessed:!1,position:t.length})},onRenderProgress:function(e){this.onRenderProgressCallback=e},isRendering:function(){return this.generatingGIF},getBase64GIF:function(e){var t=this,r=function(r){t.destroyWorkers(),w.requestTimeout(function(){e(r)},0)};t.startRendering(r)},destroyWorkers:function(){if(!this.workerError){var e=this.workers;w.each(e,function(e,t){var r=t.worker,i=t.objectUrl;r.terminate(),w.URL.revokeObjectURL(i)})}}};var E=function(){},M={getGIF:function(){var e=arguments.length>0&&arguments[0]!==i?arguments[0]:{},r=arguments[1];r=w.isFunction(r)?r:E;var n=t.createElement(\"canvas\"),o=void 0,a=e.images,s=!!a.length,d=e.cameraStream,c=e.crop,l=e.filter,u=e.fontColor,m=e.fontFamily,g=e.fontWeight,f=e.keepCameraOn,h=(e.numWorkers,e.progressCallback),p=e.saveRenderingContexts,v=e.savedRenderingContexts,b=e.text,y=e.textAlign,C=e.textBaseline,k=e.videoElement,S=e.videoHeight,x=e.videoWidth,F=e.webcamVideoElement,W=e.waterMark,M=e.waterMarkHeight,A=e.waterMarkWidth,U=e.waterMarkXCoordinate,R=e.waterMarkYCoordinate,T=Number(e.gifWidth),I=Number(e.gifHeight),j=Number(e.interval),V=(Number(e.sampleInterval),s?0:1e3*j),H=[],z=v.length?v.length:e.numFrames,L=z,B=new O(e),P=w.getFontSize(e),G=e.textXCoordinate?e.textXCoordinate:\"left\"===y?1:\"right\"===y?T:T/2,D=e.textYCoordinate?e.textYCoordinate:\"top\"===C?1:\"center\"===C?I/2:I,N=g+\" \"+P+\" \"+m,q=c?Math.floor(c.scaledWidth/2):0,X=c?x-c.scaledWidth:0,Y=c?Math.floor(c.scaledHeight/2):0,Q=c?S-c.scaledHeight:0,_=function K(){function e(){try{X>x&&(X=x),Q>S&&(Q=S),0>q&&(q=0),0>Y&&(Y=0),o.filter=l,o.drawImage(k,q,Y,X,Q,0,0,T,I),t()}catch(r){if(\"NS_ERROR_NOT_AVAILABLE\"!==r.name){ throw r; }w.requestTimeout(e,100)}}function t(){var e=void 0;p&&H.push(o.getImageData(0,0,T,I)),W&&o.drawImage(W,U,R,A,M),b&&(o.font=N,o.fillStyle=u,o.textAlign=y,o.textBaseline=C,o.fillText(b,G,D)),e=o.getImageData(0,0,T,I),B.addFrameImageData(e),L=i,h((z-L)/z),i>0&&w.requestTimeout(K,V),L||B.getBase64GIF(function(e){r({error:!1,errorCode:\"\",errorMsg:\"\",image:e,cameraStream:d,videoElement:k,webcamVideoElement:F,savedRenderingContexts:H,keepCameraOn:f})})}var i=L-1;v.length?(o.putImageData(v[z-L],0,0),t()):e()};z=z!==i?z:10,j=j!==i?j:.1,n.width=T,n.height=I,o=n.getContext(\"2d\"),function J(){return v.length||0!==k.currentTime?(_(),void 0):(w.requestTimeout(J,100),void 0)}()},getCropDimensions:function(){var e=arguments.length>0&&arguments[0]!==i?arguments[0]:{},t=e.videoWidth,r=e.videoHeight,n=e.gifWidth,o=e.gifHeight,a={width:0,height:0,scaledWidth:0,scaledHeight:0};return t>r?(a.width=Math.round(t*(o/r))-n,a.scaledWidth=Math.round(a.width*(r/o))):(a.height=Math.round(r*(n/t))-o,a.scaledHeight=Math.round(a.height*(t/n))),a}},A={loadedData:!1,defaultVideoDimensions:{width:640,height:480},findVideoSize:function T(e){T.attempts=T.attempts||0;var t=e.cameraStream,r=e.completedCallback,i=e.videoElement;i&&(i.videoWidth>0&&i.videoHeight>0?(i.removeEventListener(\"loadeddata\",A.findVideoSize),r({videoElement:i,cameraStream:t,videoWidth:i.videoWidth,videoHeight:i.videoHeight})):T.attempts<10?(T.attempts+=1,w.requestTimeout(function(){A.findVideoSize(e)},400)):r({videoElement:i,cameraStream:t,videoWidth:A.defaultVideoDimensions.width,videoHeight:A.defaultVideoDimensions.height}))},onStreamingTimeout:function(e){w.isFunction(e)&&e({error:!0,errorCode:\"getUserMedia\",errorMsg:\"There was an issue with the getUserMedia API - Timed out while trying to start streaming\",image:null,cameraStream:{}})},stream:function(e){var t=w.isArray(e.existingVideo)?e.existingVideo[0]:e.existingVideo,r=e.cameraStream,i=e.completedCallback,n=e.streamedCallback,o=e.videoElement;if(w.isFunction(n)&&n(),t){if(w.isString(t)){ o.src=t,o.innerHTML='<source src=\"'+t+'\" type=\"video/'+w.getExtension(t)+'\" />'; }else if(t instanceof Blob){try{o.src=w.URL.createObjectURL(t)}catch(a){}o.innerHTML='<source src=\"'+t+'\" type=\"'+t.type+'\" />'}}else if(o.mozSrcObject){ o.mozSrcObject=r; }else if(w.URL){ try{o.srcObject=r,o.src=w.URL.createObjectURL(r)}catch(a$1){o.srcObject=r} }o.play(),w.requestTimeout(function s(){s.count=s.count||0,A.loadedData===!0?(A.findVideoSize({videoElement:o,cameraStream:r,completedCallback:i}),A.loadedData=!1):(s.count+=1,s.count>10?A.findVideoSize({videoElement:o,cameraStream:r,completedCallback:i}):s())},0)},startStreaming:function(e){var r=w.isFunction(e.error)?e.error:w.noop,i=w.isFunction(e.streamed)?e.streamed:w.noop,n=w.isFunction(e.completed)?e.completed:w.noop,o=e.crossOrigin,a=e.existingVideo,s=e.lastCameraStream,d=e.options,c=e.webcamVideoElement,l=w.isElement(a)?a:c?c:t.createElement(\"video\");o&&(l.crossOrigin=d.crossOrigin),l.autoplay=!0,l.loop=!0,l.muted=!0,l.addEventListener(\"loadeddata\",function(){A.loadedData=!0,d.offset&&(l.currentTime=d.offset)}),a?A.stream({videoElement:l,existingVideo:a,completedCallback:n}):s?A.stream({videoElement:l,cameraStream:s,streamedCallback:i,completedCallback:n}):w.getUserMedia({video:!0},function(e){A.stream({videoElement:l,cameraStream:e,streamedCallback:i,completedCallback:n})},r)},startVideoStreaming:function(e){var t=arguments.length>1&&arguments[1]!==i?arguments[1]:{},r=t.timeout!==i?t.timeout:0,n=t.callback,o=t.webcamVideoElement,a=void 0;r>0&&(a=w.requestTimeout(function(){A.onStreamingTimeout(n)},1e4)),A.startStreaming({error:function(){n({error:!0,errorCode:\"getUserMedia\",errorMsg:\"There was an issue with the getUserMedia API - the user probably denied permission\",image:null,cameraStream:{}})},streamed:function(){clearTimeout(a)},completed:function(){var t=arguments.length>0&&arguments[0]!==i?arguments[0]:{},r=t.cameraStream,n=t.videoElement,o=t.videoHeight,a=t.videoWidth;e({cameraStream:r,videoElement:n,videoHeight:o,videoWidth:a})},lastCameraStream:t.lastCameraStream,webcamVideoElement:o,crossOrigin:t.crossOrigin,options:t})},stopVideoStreaming:function(e){e=w.isObject(e)?e:{};var t=e,r=t.keepCameraOn,i=t.videoElement,n=t.webcamVideoElement,o=e.cameraStream||{},a=o.getTracks?o.getTracks()||[]:[],s=!!a.length,d=a[0];!r&&s&&w.isFunction(d.stop)&&d.stop(),w.isElement(i)&&!n&&(i.pause(),w.isFunction(w.URL.revokeObjectURL)&&!w.webWorkerError&&i.src&&w.URL.revokeObjectURL(i.src),w.removeElement(i))}},U={utils:y,error:k,defaultOptions:F,createGIF:v,takeSnapShot:b,stopVideoStreaming:g,isSupported:n,isWebCamGIFSupported:o,isExistingVideoGIFSupported:s,isExistingImagesGIFSupported:a,VERSION:\"0.4.5\"};\"function\"==typeof define&&define.amd?define([],function(){return U}):\"undefined\"!=typeof exports?module.exports=U:e.gifshot=U}(\"undefined\"!=typeof window?window:{},\"undefined\"!=typeof document?document:{createElement:function(){}},\"undefined\"!=typeof window?window.navigator:{});\n(function (global, factory) {\n if(typeof exports === 'object' && typeof module !== 'undefined') {\n module.exports = factory();\n module.exports.default = factory();\n }\n\telse if(typeof define === 'function' && define.amd) {\n define(factory);\n }\n else {\n (global = global || self, global.heic2any = factory())\n }\n}(this, function () { 'use strict';\nvar workerString = \"\\nvar Module=void 0!==Module?Module:{};(function(){var d={print:function(A){A=Array.prototype.slice.call(arguments).join(\\\" \\\"),console.log(A)},printErr:function(A){A=Array.prototype.slice.call(arguments).join(\\\" \\\"),console.error(A)},canvas:{},noInitialRun:!0},A={};for(Sr in d)d.hasOwnProperty(Sr)&&(A[Sr]=d[Sr]);var i,f,e=!1,l=!1,o=!1,r=!1;if(d.ENVIRONMENT)if(\\\"WEB\\\"===d.ENVIRONMENT)e=!0;else if(\\\"WORKER\\\"===d.ENVIRONMENT)l=!0;else if(\\\"NODE\\\"===d.ENVIRONMENT)o=!0;else{if(\\\"SHELL\\\"!==d.ENVIRONMENT)throw new Error(\\\"The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.\\\");r=!0}else e=\\\"object\\\"==typeof window,l=\\\"function\\\"==typeof importScripts,o=\\\"object\\\"==typeof process&&\\\"function\\\"==typeof require&&!e&&!l,r=!e&&!o&&!l;if(o)d.print||(d.print=console.log),d.printErr||(d.printErr=console.warn),d.read=function(A,e){var r;return(r=vr(A))||(i=i||require(\\\"fs\\\"),A=(f=f||require(\\\"path\\\")).normalize(A),r=i.readFileSync(A)),e?r:r.toString()},d.readBinary=function(A){var e=d.read(A,!0);return e.buffer||(e=new Uint8Array(e)),h(e.buffer),e},d.thisProgram||(1<process.argv.length?d.thisProgram=process.argv[1].replace(/\\\\\\\\/g,\\\"/\\\"):d.thisProgram=\\\"unknown-program\\\"),d.arguments=process.argv.slice(2),\\\"undefined\\\"!=typeof module&&(module.exports=d),process.on(\\\"uncaughtException\\\",function(A){if(!(A instanceof Yr))throw A}),process.on(\\\"unhandledRejection\\\",function(A,e){process.exit(1)}),d.inspect=function(){return\\\"[Emscripten Module object]\\\"};else if(r)d.print||(d.print=print),\\\"undefined\\\"!=typeof printErr&&(d.printErr=printErr),\\\"undefined\\\"!=typeof read?d.read=function(A){var e=vr(A);return e?kr(e):read(A)}:d.read=function(){throw\\\"no read() available\\\"},d.readBinary=function(A){var e;return(e=vr(A))?e:\\\"function\\\"==typeof readbuffer?new Uint8Array(readbuffer(A)):(h(\\\"object\\\"==typeof(e=read(A,\\\"binary\\\"))),e)},\\\"undefined\\\"!=typeof scriptArgs?d.arguments=scriptArgs:void 0!==arguments&&(d.arguments=arguments),\\\"function\\\"==typeof quit&&(d.quit=function(A,e){quit(A)});else{if(!e&&!l)throw new Error(\\\"Unknown runtime environment. Where are we?\\\");if(d.read=function(e){try{var A=new XMLHttpRequest;return A.open(\\\"GET\\\",e,!1),A.send(null),A.responseText}catch(A){var r=vr(e);if(r)return kr(r);throw A}},l&&(d.readBinary=function(e){try{var A=new XMLHttpRequest;return A.open(\\\"GET\\\",e,!1),A.responseType=\\\"arraybuffer\\\",A.send(null),new Uint8Array(A.response)}catch(A){var r=vr(e);if(r)return r;throw A}}),d.readAsync=function(e,r,i){var f=new XMLHttpRequest;f.open(\\\"GET\\\",e,!0),f.responseType=\\\"arraybuffer\\\",f.onload=function(){if(200==f.status||0==f.status&&f.response)r(f.response);else{var A=vr(e);A?r(A.buffer):i()}},f.onerror=i,f.send(null)},void 0!==arguments&&(d.arguments=arguments),\\\"undefined\\\"!=typeof console)d.print||(d.print=function(A){console.log(A)}),d.printErr||(d.printErr=function(A){console.warn(A)});else{d.print||(d.print=function(A){})}void 0===d.setWindowTitle&&(d.setWindowTitle=function(A){document.title=A})}for(Sr in d.print||(d.print=function(){}),d.printErr||(d.printErr=d.print),d.arguments||(d.arguments=[]),d.thisProgram||(d.thisProgram=\\\"./this.program\\\"),d.quit||(d.quit=function(A,e){throw e}),d.print=d.print,d.printErr=d.printErr,d.preRun=[],d.postRun=[],A)A.hasOwnProperty(Sr)&&(d[Sr]=A[Sr]);A=void 0;var k={setTempRet0:function(A){return tempRet0=A},getTempRet0:function(){return tempRet0},stackSave:function(){return _},stackRestore:function(A){_=A},getNativeTypeSize:function(A){switch(A){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(\\\"*\\\"===A[A.length-1])return k.QUANTUM_SIZE;if(\\\"i\\\"!==A[0])return 0;var e=parseInt(A.substr(1));return h(e%8==0),e/8}},getNativeFieldSize:function(A){return Math.max(k.getNativeTypeSize(A),k.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(A,e){return\\\"double\\\"===e||\\\"i64\\\"===e?7&A&&(h(4==(7&A)),A+=4):h(0==(3&A)),A},getAlignSize:function(A,e,r){return r||\\\"i64\\\"!=A&&\\\"double\\\"!=A?A?Math.min(e||(A?k.getNativeFieldSize(A):0),k.QUANTUM_SIZE):Math.min(e,8):8},dynCall:function(A,e,r){return r&&r.length?d[\\\"dynCall_\\\"+A].apply(null,[e].concat(r)):d[\\\"dynCall_\\\"+A].call(null,e)},functionPointers:[],addFunction:function(A){for(var e=0;e<k.functionPointers.length;e++)if(!k.functionPointers[e])return k.functionPointers[e]=A,2*(1+e);throw\\\"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.\\\"},removeFunction:function(A){k.functionPointers[(A-2)/2]=null},warnOnce:function(A){k.warnOnce.shown||(k.warnOnce.shown={}),k.warnOnce.shown[A]||(k.warnOnce.shown[A]=1,d.printErr(A))},funcWrappers:{},getFuncWrapper:function(e,r){if(e){h(r),k.funcWrappers[r]||(k.funcWrappers[r]={});var A=k.funcWrappers[r];return A[e]||(1===r.length?A[e]=function(){return k.dynCall(r,e)}:2===r.length?A[e]=function(A){return k.dynCall(r,e,[A])}:A[e]=function(){return k.dynCall(r,e,Array.prototype.slice.call(arguments))}),A[e]}},getCompilerSetting:function(A){throw\\\"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work\\\"},stackAlloc:function(A){var e=_;return _=(_=_+A|0)+15&-16,e},staticAlloc:function(A){var e=R;return R=(R=R+A|0)+15&-16,e},dynamicAlloc:function(A){var e=I[D>>2],r=-16&(e+A+15|0);if((I[D>>2]=r,H<=r)&&!z())return I[D>>2]=e,0;return e},alignMemory:function(A,e){return A=Math.ceil(A/(e||16))*(e||16)},makeBigInt:function(A,e,r){return r?+(A>>>0)+4294967296*(e>>>0):+(A>>>0)+4294967296*(0|e)},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};d.Runtime=k;var n=0;function h(A,e){A||Mr(\\\"Assertion failed: \\\"+e)}function w(A,e,r){switch(\\\"*\\\"===(r=r||\\\"i8\\\").charAt(r.length-1)&&(r=\\\"i32\\\"),r){case\\\"i1\\\":case\\\"i8\\\":B[A>>0]=e;break;case\\\"i16\\\":X[A>>1]=e;break;case\\\"i32\\\":I[A>>2]=e;break;case\\\"i64\\\":tempI64=[e>>>0,(tempDouble=e,1<=+iA(tempDouble)?0<tempDouble?(0|tA(+nA(tempDouble/4294967296),4294967295))>>>0:~~+fA((tempDouble-(~~tempDouble>>>0))/4294967296)>>>0:0)],I[A>>2]=tempI64[0],I[A+4>>2]=tempI64[1];break;case\\\"float\\\":G[A>>2]=e;break;case\\\"double\\\":V[A>>3]=e;break;default:Mr(\\\"invalid type for setValue: \\\"+r)}}var t=0,v=2,m=4;function a(A,e,r,i){var f,n;n=\\\"number\\\"==typeof A?(f=!0,A):(f=!1,A.length);var t,o=\\\"string\\\"==typeof e?e:null;if(t=r==m?i:[\\\"function\\\"==typeof Gr?Gr:k.staticAlloc,k.stackAlloc,k.staticAlloc,k.dynamicAlloc][void 0===r?v:r](Math.max(n,o?1:e.length)),f){var a;for(h(0==(3&(i=t))),a=t+(-4&n);i<a;i+=4)I[i>>2]=0;for(a=t+n;i<a;)B[i++>>0]=0;return t}if(\\\"i8\\\"===o)return A.subarray||A.slice?E.set(A,t):E.set(new Uint8Array(A),t),t;for(var c,l,u,b=0;b<n;){var s=A[b];\\\"function\\\"==typeof s&&(s=k.getFunctionIndex(s)),0!==(c=o||e[b])?(\\\"i64\\\"==c&&(c=\\\"i32\\\"),w(t+b,s,c),u!==c&&(l=k.getNativeTypeSize(c),u=c),b+=l):b++}return t}function g(A,e){if(0===e||!A)return\\\"\\\";for(var r,i=0,f=0;i|=r=E[A+f>>0],(0!=r||e)&&(f++,!e||f!=e););e=e||f;var n=\\\"\\\";if(i<128){for(var t;0<e;)t=String.fromCharCode.apply(String,E.subarray(A,A+Math.min(e,1024))),n=n?n+t:t,A+=1024,e-=1024;return n}return c(E,A)}d.ALLOC_NORMAL=t,d.ALLOC_STACK=1,d.ALLOC_STATIC=v,d.ALLOC_DYNAMIC=3,d.ALLOC_NONE=m,d.getMemory=function(A){return N?AA?Gr(A):k.dynamicAlloc(A):k.staticAlloc(A)};var u=\\\"undefined\\\"!=typeof TextDecoder?new TextDecoder(\\\"utf8\\\"):void 0;function c(A,e){for(var r=e;A[r];)++r;if(16<r-e&&A.subarray&&u)return u.decode(A.subarray(e,r));for(var i,f,n,t,o,a=\\\"\\\";;){if(!(i=A[e++]))return a;if(128&i)if(f=63&A[e++],192!=(224&i))if(n=63&A[e++],(i=224==(240&i)?(15&i)<<12|f<<6|n:(t=63&A[e++],240==(248&i)?(7&i)<<18|f<<12|n<<6|t:(o=63&A[e++],248==(252&i)?(3&i)<<24|f<<18|n<<12|t<<6|o:(1&i)<<30|f<<24|n<<18|t<<12|o<<6|63&A[e++])))<65536)a+=String.fromCharCode(i);else{var c=i-65536;a+=String.fromCharCode(55296|c>>10,56320|1023&c)}else a+=String.fromCharCode((31&i)<<6|f);else a+=String.fromCharCode(i)}}function b(A,e,r,i){if(!(0<i))return 0;for(var f=r,n=r+i-1,t=0;t<A.length;++t){var o=A.charCodeAt(t);if(55296<=o&&o<=57343&&(o=65536+((1023&o)<<10)|1023&A.charCodeAt(++t)),o<=127){if(n<=r)break;e[r++]=o}else if(o<=2047){if(n<=r+1)break;e[r++]=192|o>>6,e[r++]=128|63&o}else if(o<=65535){if(n<=r+2)break;e[r++]=224|o>>12,e[r++]=128|o>>6&63,e[r++]=128|63&o}else if(o<=2097151){if(n<=r+3)break;e[r++]=240|o>>18,e[r++]=128|o>>12&63,e[r++]=128|o>>6&63,e[r++]=128|63&o}else if(o<=67108863){if(n<=r+4)break;e[r++]=248|o>>24,e[r++]=128|o>>18&63,e[r++]=128|o>>12&63,e[r++]=128|o>>6&63,e[r++]=128|63&o}else{if(n<=r+5)break;e[r++]=252|o>>30,e[r++]=128|o>>24&63,e[r++]=128|o>>18&63,e[r++]=128|o>>12&63,e[r++]=128|o>>6&63,e[r++]=128|63&o}}return e[r]=0,r-f}function s(A,e,r){return b(A,E,e,r)}function Z(A){for(var e=0,r=0;r<A.length;++r){var i=A.charCodeAt(r);55296<=i&&i<=57343&&(i=65536+((1023&i)<<10)|1023&A.charCodeAt(++r)),i<=127?++e:e+=i<=2047?2:i<=65535?3:i<=2097151?4:i<=67108863?5:6}return e}\\\"undefined\\\"!=typeof TextDecoder&&new TextDecoder(\\\"utf-16le\\\");function p(){var A=function(){var e=new Error;if(!e.stack){try{throw new Error(0)}catch(A){e=A}if(!e.stack)return\\\"(no stack trace available)\\\"}return e.stack.toString()}();return d.extraStackTrace&&(A+=\\\"\\\\n\\\"+d.extraStackTrace()),A.replace(/__Z[\\\\w\\\\d_]+/g,function(A){var e=A;return A===e?A:A+\\\" [\\\"+e+\\\"]\\\"})}var y,B,E,X,W,I,C,G,V,F,R,N,_,Y,Q,D,J,M=65536,T=16777216,U=16777216;function S(A,e){return 0<A%e&&(A+=e-A%e),A}function O(){d.HEAP8=B=new Int8Array(y),d.HEAP16=X=new Int16Array(y),d.HEAP32=I=new Int32Array(y),d.HEAPU8=E=new Uint8Array(y),d.HEAPU16=W=new Uint16Array(y),d.HEAPU32=C=new Uint32Array(y),d.HEAPF32=G=new Float32Array(y),d.HEAPF64=V=new Float64Array(y)}function z(){var A=d.usingWasm?M:T,e=2147483648-A;if(I[D>>2]>e)return!1;var r=H;for(H=Math.max(H,U);H<I[D>>2];)H=H<=536870912?S(2*H,A):Math.min(S((3*H+2147483648)/4,A),e);var i,f=d.reallocBuffer(H);return f&&f.byteLength==H?(i=f,d.buffer=y=i,O(),!0):(H=r,!1)}R=_=D=0,N=!1,d.reallocBuffer||(d.reallocBuffer=function(A){var e;try{if(ArrayBuffer.transfer)e=ArrayBuffer.transfer(y,A);else{var r=B;e=new ArrayBuffer(A),new Int8Array(e).set(r)}}catch(A){return!1}return!!Ir(e)&&e});try{(J=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,\\\"byteLength\\\").get))(new ArrayBuffer(4))}catch(Or){J=function(A){return A.byteLength}}var j=d.TOTAL_STACK||5242880,H=d.TOTAL_MEMORY||16777216;if(H<j&&d.printErr(\\\"TOTAL_MEMORY should be larger than TOTAL_STACK, was \\\"+H+\\\"! (TOTAL_STACK=\\\"+j+\\\")\\\"),y=d.buffer?d.buffer:new ArrayBuffer(H),O(),I[0]=1668509029,X[1]=25459,115!==E[2]||99!==E[3])throw\\\"Runtime error: expected the system to be little-endian!\\\";function x(A){for(;0<A.length;){var e=A.shift();if(\\\"function\\\"!=typeof e){var r=e.func;\\\"number\\\"==typeof r?void 0===e.arg?d.dynCall_v(r):d.dynCall_vi(r,e.arg):r(void 0===e.arg?null:e.arg)}else e()}}d.HEAP=void 0,d.buffer=y,d.HEAP8=B,d.HEAP16=X,d.HEAP32=I,d.HEAPU8=E,d.HEAPU16=W,d.HEAPU32=C,d.HEAPF32=G,d.HEAPF64=V;var P=[],L=[],K=[],q=[],$=[],AA=!1;function eA(A,e){B.set(A,e)}function rA(A,e,r){for(var i=0;i<A.length;++i)B[e++>>0]=A.charCodeAt(i);r||(B[e>>0]=0)}Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(A,e){var r=65535&A,i=65535&e;return r*i+((A>>>16)*i+r*(e>>>16)<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(A){A>>>=0;for(var e=0;e<32;e++)if(A&1<<31-e)return e;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(A){return A<0?Math.ceil(A):Math.floor(A)}),Math.trunc=Math.trunc;var iA=Math.abs,fA=(Math.cos,Math.sin,Math.tan,Math.acos,Math.asin,Math.atan,Math.atan2,Math.exp,Math.log,Math.sqrt,Math.ceil),nA=Math.floor,tA=(Math.pow,Math.imul,Math.fround,Math.round,Math.min),oA=(Math.clz32,Math.trunc,0),aA=null,cA=null;function lA(A){oA++,d.monitorRunDependencies&&d.monitorRunDependencies(oA)}function uA(A){if(oA--,d.monitorRunDependencies&&d.monitorRunDependencies(oA),0==oA&&(null!==aA&&(clearInterval(aA),aA=null),cA)){var e=cA;cA=null,e()}}d.addRunDependency=lA,d.removeRunDependency=uA,d.preloadedImages={},d.preloadedAudios={};var bA=null;F=k.GLOBAL_BASE,R=F+79664,L.push({func:function(){Zr()}},{func:function(){yr()}},{func:function(){Br()}},{func:function(){Er()}},{func:function(){pr()}},{func:function(){Xr()}});var sA=R;function dA(){return!!dA.uncaught_exception}R+=16;var kA={last:0,caught:[],infos:{},deAdjust:function(A){if(!A||kA.infos[A])return A;for(var e in kA.infos){if(kA.infos[e].adjusted===A)return e}return A},addRef:function(A){A&&kA.infos[A].refcount++},decRef:function(A){if(A){var e=kA.infos[A];h(0<e.refcount),e.refcount--,0!==e.refcount||e.rethrown||(e.destructor&&d.dynCall_vi(e.destructor,A),delete kA.infos[A],___cxa_free_exception(A))}},clearRef:function(A){A&&(kA.infos[A].refcount=0)}};var hA={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function wA(A){return d.___errno_location&&(I[d.___errno_location()>>2]=A),A}var vA={0:\\\"Success\\\",1:\\\"Not super-user\\\",2:\\\"No such file or directory\\\",3:\\\"No such process\\\",4:\\\"Interrupted system call\\\",5:\\\"I/O error\\\",6:\\\"No such device or address\\\",7:\\\"Arg list too long\\\",8:\\\"Exec format error\\\",9:\\\"Bad file number\\\",10:\\\"No children\\\",11:\\\"No more processes\\\",12:\\\"Not enough core\\\",13:\\\"Permission denied\\\",14:\\\"Bad address\\\",15:\\\"Block device required\\\",16:\\\"Mount device busy\\\",17:\\\"File exists\\\",18:\\\"Cross-device link\\\",19:\\\"No such device\\\",20:\\\"Not a directory\\\",21:\\\"Is a directory\\\",22:\\\"Invalid argument\\\",23:\\\"Too many open files in system\\\",24:\\\"Too many open files\\\",25:\\\"Not a typewriter\\\",26:\\\"Text file busy\\\",27:\\\"File too large\\\",28:\\\"No space left on device\\\",29:\\\"Illegal seek\\\",30:\\\"Read only file system\\\",31:\\\"Too many links\\\",32:\\\"Broken pipe\\\",33:\\\"Math arg out of domain of func\\\",34:\\\"Math result not representable\\\",35:\\\"File locking deadlock error\\\",36:\\\"File or path name too long\\\",37:\\\"No record locks available\\\",38:\\\"Function not implemented\\\",39:\\\"Directory not empty\\\",40:\\\"Too many symbolic links\\\",42:\\\"No message of desired type\\\",43:\\\"Identifier removed\\\",44:\\\"Channel number out of range\\\",45:\\\"Level 2 not synchronized\\\",46:\\\"Level 3 halted\\\",47:\\\"Level 3 reset\\\",48:\\\"Link number out of range\\\",49:\\\"Protocol driver not attached\\\",50:\\\"No CSI structure available\\\",51:\\\"Level 2 halted\\\",52:\\\"Invalid exchange\\\",53:\\\"Invalid request descriptor\\\",54:\\\"Exchange full\\\",55:\\\"No anode\\\",56:\\\"Invalid request code\\\",57:\\\"Invalid slot\\\",59:\\\"Bad font file fmt\\\",60:\\\"Device not a stream\\\",61:\\\"No data (for no delay io)\\\",62:\\\"Timer expired\\\",63:\\\"Out of streams resources\\\",64:\\\"Machine is not on the network\\\",65:\\\"Package not installed\\\",66:\\\"The object is remote\\\",67:\\\"The link has been severed\\\",68:\\\"Advertise error\\\",69:\\\"Srmount error\\\",70:\\\"Communication error on send\\\",71:\\\"Protocol error\\\",72:\\\"Multihop attempted\\\",73:\\\"Cross mount point (not really error)\\\",74:\\\"Trying to read unreadable message\\\",75:\\\"Value too large for defined data type\\\",76:\\\"Given log. name not unique\\\",77:\\\"f.d. invalid for this operation\\\",78:\\\"Remote address changed\\\",79:\\\"Can access a needed shared lib\\\",80:\\\"Accessing a corrupted shared lib\\\",81:\\\".lib section in a.out corrupted\\\",82:\\\"Attempting to link in too many libs\\\",83:\\\"Attempting to exec a shared library\\\",84:\\\"Illegal byte sequence\\\",86:\\\"Streams pipe error\\\",87:\\\"Too many users\\\",88:\\\"Socket operation on non-socket\\\",89:\\\"Destination address required\\\",90:\\\"Message too long\\\",91:\\\"Protocol wrong type for socket\\\",92:\\\"Protocol not available\\\",93:\\\"Unknown protocol\\\",94:\\\"Socket type not supported\\\",95:\\\"Not supported\\\",96:\\\"Protocol family not supported\\\",97:\\\"Address family not supported by protocol family\\\",98:\\\"Address already in use\\\",99:\\\"Address not available\\\",100:\\\"Network interface is not configured\\\",101:\\\"Network is unreachable\\\",102:\\\"Connection reset by network\\\",103:\\\"Connection aborted\\\",104:\\\"Connection reset by peer\\\",105:\\\"No buffer space available\\\",106:\\\"Socket is already connected\\\",107:\\\"Socket is not connected\\\",108:\\\"Can't send after socket shutdown\\\",109:\\\"Too many references\\\",110:\\\"Connection timed out\\\",111:\\\"Connection refused\\\",112:\\\"Host is down\\\",113:\\\"Host is unreachable\\\",114:\\\"Socket already connected\\\",115:\\\"Connection already in progress\\\",116:\\\"Stale file handle\\\",122:\\\"Quota exceeded\\\",123:\\\"No medium (in tape drive)\\\",125:\\\"Operation canceled\\\",130:\\\"Previous owner died\\\",131:\\\"State not recoverable\\\"},mA={splitPath:function(A){return/^(\\\\/?|)([\\\\s\\\\S]*?)((?:\\\\.{1,2}|[^\\\\/]+?|)(\\\\.[^.\\\\/]*|))(?:[\\\\/]*)$/.exec(A).slice(1)},normalizeArray:function(A,e){for(var r=0,i=A.length-1;0<=i;i--){var f=A[i];\\\".\\\"===f?A.splice(i,1):\\\"..\\\"===f?(A.splice(i,1),r++):r&&(A.splice(i,1),r--)}if(e)for(;r;r--)A.unshift(\\\"..\\\");return A},normalize:function(A){var e=\\\"/\\\"===A.charAt(0),r=\\\"/\\\"===A.substr(-1);return(A=mA.normalizeArray(A.split(\\\"/\\\").filter(function(A){return!!A}),!e).join(\\\"/\\\"))||e||(A=\\\".\\\"),A&&r&&(A+=\\\"/\\\"),(e?\\\"/\\\":\\\"\\\")+A},dirname:function(A){var e=mA.splitPath(A),r=e[0],i=e[1];return r||i?r+(i=i&&i.substr(0,i.length-1)):\\\".\\\"},basename:function(A){if(\\\"/\\\"===A)return\\\"/\\\";var e=A.lastIndexOf(\\\"/\\\");return-1===e?A:A.substr(e+1)},extname:function(A){return mA.splitPath(A)[3]},join:function(){var A=Array.prototype.slice.call(arguments,0);return mA.normalize(A.join(\\\"/\\\"))},join2:function(A,e){return mA.normalize(A+\\\"/\\\"+e)},resolve:function(){for(var A=\\\"\\\",e=!1,r=arguments.length-1;-1<=r&&!e;r--){var i=0<=r?arguments[r]:EA.cwd();if(\\\"string\\\"!=typeof i)throw new TypeError(\\\"Arguments to path.resolve must be strings\\\");if(!i)return\\\"\\\";A=i+\\\"/\\\"+A,e=\\\"/\\\"===i.charAt(0)}return(e?\\\"/\\\":\\\"\\\")+(A=mA.normalizeArray(A.split(\\\"/\\\").filter(function(A){return!!A}),!e).join(\\\"/\\\"))||\\\".\\\"},relative:function(A,e){function r(A){for(var e=0;e<A.length&&\\\"\\\"===A[e];e++);for(var r=A.length-1;0<=r&&\\\"\\\"===A[r];r--);return r<e?[]:A.slice(e,r-e+1)}A=mA.resolve(A).substr(1),e=mA.resolve(e).substr(1);for(var i=r(A.split(\\\"/\\\")),f=r(e.split(\\\"/\\\")),n=Math.min(i.length,f.length),t=n,o=0;o<n;o++)if(i[o]!==f[o]){t=o;break}var a=[];for(o=t;o<i.length;o++)a.push(\\\"..\\\");return(a=a.concat(f.slice(t))).join(\\\"/\\\")}},gA={ttys:[],init:function(){},shutdown:function(){},register:function(A,e){gA.ttys[A]={input:[],output:[],ops:e},EA.registerDevice(A,gA.stream_ops)},stream_ops:{open:function(A){var e=gA.ttys[A.node.rdev];if(!e)throw new EA.ErrnoError(hA.ENODEV);A.tty=e,A.seekable=!1},close:function(A){A.tty.ops.flush(A.tty)},flush:function(A){A.tty.ops.flush(A.tty)},read:function(A,e,r,i,f){if(!A.tty||!A.tty.ops.get_char)throw new EA.ErrnoError(hA.ENXIO);for(var n=0,t=0;t<i;t++){var o;try{o=A.tty.ops.get_char(A.tty)}catch(A){throw new EA.ErrnoError(hA.EIO)}if(void 0===o&&0===n)throw new EA.ErrnoError(hA.EAGAIN);if(null==o)break;n++,e[r+t]=o}return n&&(A.node.timestamp=Date.now()),n},write:function(A,e,r,i,f){if(!A.tty||!A.tty.ops.put_char)throw new EA.ErrnoError(hA.ENXIO);for(var n=0;n<i;n++)try{A.tty.ops.put_char(A.tty,e[r+n])}catch(A){throw new EA.ErrnoError(hA.EIO)}return i&&(A.node.timestamp=Date.now()),n}},default_tty_ops:{get_char:function(A){if(!A.input.length){var e=null;if(o){var r=new Buffer(256),i=0,f=\\\"win32\\\"!=process.platform,n=process.stdin.fd;if(f){var t=!1;try{n=ur.openSync(\\\"/dev/stdin\\\",\\\"r\\\"),t=!0}catch(A){}}try{i=ur.readSync(n,r,0,256,null)}catch(A){if(-1==A.toString().indexOf(\\\"EOF\\\"))throw A;i=0}t&&ur.closeSync(n),e=0<i?r.slice(0,i).toString(\\\"utf-8\\\"):null}else\\\"undefined\\\"!=typeof window&&\\\"function\\\"==typeof window.prompt?null!==(e=window.prompt(\\\"Input: \\\"))&&(e+=\\\"\\\\n\\\"):\\\"function\\\"==typeof readline&&null!==(e=readline())&&(e+=\\\"\\\\n\\\");if(!e)return null;A.input=dr(e,!0)}return A.input.shift()},put_char:function(A,e){null===e||10===e?(d.print(c(A.output,0)),A.output=[]):0!=e&&A.output.push(e)},flush:function(A){A.output&&0<A.output.length&&(d.print(c(A.output,0)),A.output=[])}},default_tty1_ops:{put_char:function(A,e){null===e||10===e?(d.printErr(c(A.output,0)),A.output=[]):0!=e&&A.output.push(e)},flush:function(A){A.output&&0<A.output.length&&(d.printErr(c(A.output,0)),A.output=[])}}},ZA={ops_table:null,mount:function(A){return ZA.createNode(null,\\\"/\\\",16895,0)},createNode:function(A,e,r,i){if(EA.isBlkdev(r)||EA.isFIFO(r))throw new EA.ErrnoError(hA.EPERM);ZA.ops_table||(ZA.ops_table={dir:{node:{getattr:ZA.node_ops.getattr,setattr:ZA.node_ops.setattr,lookup:ZA.node_ops.lookup,mknod:ZA.node_ops.mknod,rename:ZA.node_ops.rename,unlink:ZA.node_ops.unlink,rmdir:ZA.node_ops.rmdir,readdir:ZA.node_ops.readdir,symlink:ZA.node_ops.symlink},stream:{llseek:ZA.stream_ops.llseek}},file:{node:{getattr:ZA.node_ops.getattr,setattr:ZA.node_ops.setattr},stream:{llseek:ZA.stream_ops.llseek,read:ZA.stream_ops.read,write:ZA.stream_ops.write,allocate:ZA.stream_ops.allocate,mmap:ZA.stream_ops.mmap,msync:ZA.stream_ops.msync}},link:{node:{getattr:ZA.node_ops.getattr,setattr:ZA.node_ops.setattr,readlink:ZA.node_ops.readlink},stream:{}},chrdev:{node:{getattr:ZA.node_ops.getattr,setattr:ZA.node_ops.setattr},stream:EA.chrdev_stream_ops}});var f=EA.createNode(A,e,r,i);return EA.isDir(f.mode)?(f.node_ops=ZA.ops_table.dir.node,f.stream_ops=ZA.ops_table.dir.stream,f.contents={}):EA.isFile(f.mode)?(f.node_ops=ZA.ops_table.file.node,f.stream_ops=ZA.ops_table.file.stream,f.usedBytes=0,f.contents=null):EA.isLink(f.mode)?(f.node_ops=ZA.ops_table.link.node,f.stream_ops=ZA.ops_table.link.stream):EA.isChrdev(f.mode)&&(f.node_ops=ZA.ops_table.chrdev.node,f.stream_ops=ZA.ops_table.chrdev.stream),f.timestamp=Date.now(),A&&(A.contents[e]=f),f},getFileDataAsRegularArray:function(A){if(A.contents&&A.contents.subarray){for(var e=[],r=0;r<A.usedBytes;++r)e.push(A.contents[r]);return e}return A.contents},getFileDataAsTypedArray:function(A){return A.contents?A.contents.subarray?A.contents.subarray(0,A.usedBytes):new Uint8Array(A.contents):new Uint8Array},expandFileStorage:function(A,e){if(A.contents&&A.contents.subarray&&e>A.contents.length&&(A.contents=ZA.getFileDataAsRegularArray(A),A.usedBytes=A.contents.length),!A.contents||A.contents.subarray){var r=A.contents?A.contents.length:0;if(e<=r)return;e=Math.max(e,r*(r<1048576?2:1.125)|0),0!=r&&(e=Math.max(e,256));var i=A.contents;return A.contents=new Uint8Array(e),void(0<A.usedBytes&&A.contents.set(i.subarray(0,A.usedBytes),0))}for(!A.contents&&0<e&&(A.contents=[]);A.contents.length<e;)A.contents.push(0)},resizeFileStorage:function(A,e){if(A.usedBytes!=e){if(0==e)return A.contents=null,void(A.usedBytes=0);if(!A.contents||A.contents.subarray){var r=A.contents;return A.contents=new Uint8Array(new ArrayBuffer(e)),r&&A.contents.set(r.subarray(0,Math.min(e,A.usedBytes))),void(A.usedBytes=e)}if(A.contents||(A.contents=[]),A.contents.length>e)A.contents.length=e;else for(;A.contents.length<e;)A.contents.push(0);A.usedBytes=e}},node_ops:{getattr:function(A){var e={};return e.dev=EA.isChrdev(A.mode)?A.id:1,e.ino=A.id,e.mode=A.mode,e.nlink=1,e.uid=0,e.gid=0,e.rdev=A.rdev,EA.isDir(A.mode)?e.size=4096:EA.isFile(A.mode)?e.size=A.usedBytes:EA.isLink(A.mode)?e.size=A.link.length:e.size=0,e.atime=new Date(A.timestamp),e.mtime=new Date(A.timestamp),e.ctime=new Date(A.timestamp),e.blksize=4096,e.blocks=Math.ceil(e.size/e.blksize),e},setattr:function(A,e){void 0!==e.mode&&(A.mode=e.mode),void 0!==e.timestamp&&(A.timestamp=e.timestamp),void 0!==e.size&&ZA.resizeFileStorage(A,e.size)},lookup:function(A,e){throw EA.genericErrors[hA.ENOENT]},mknod:function(A,e,r,i){return ZA.createNode(A,e,r,i)},rename:function(A,e,r){if(EA.isDir(A.mode)){var i;try{i=EA.lookupNode(e,r)}catch(A){}if(i)for(var f in i.contents)throw new EA.ErrnoError(hA.ENOTEMPTY)}delete A.parent.contents[A.name],A.name=r,(e.contents[r]=A).parent=e},unlink:function(A,e){delete A.contents[e]},rmdir:function(A,e){var r=EA.lookupNode(A,e);for(var i in r.contents)throw new EA.ErrnoError(hA.ENOTEMPTY);delete A.contents[e]},readdir:function(A){var e=[\\\".\\\",\\\"..\\\"];for(var r in A.contents)A.contents.hasOwnProperty(r)&&e.push(r);return e},symlink:function(A,e,r){var i=ZA.createNode(A,e,41471,0);return i.link=r,i},readlink:function(A){if(!EA.isLink(A.mode))throw new EA.ErrnoError(hA.EINVAL);return A.link}},stream_ops:{read:function(A,e,r,i,f){var n=A.node.contents;if(f>=A.node.usedBytes)return 0;var t=Math.min(A.node.usedBytes-f,i);if(h(0<=t),8<t&&n.subarray)e.set(n.subarray(f,f+t),r);else for(var o=0;o<t;o++)e[r+o]=n[f+o];return t},write:function(A,e,r,i,f,n){if(!i)return 0;var t=A.node;if(t.timestamp=Date.now(),e.subarray&&(!t.contents||t.contents.subarray)){if(n)return t.contents=e.subarray(r,r+i),t.usedBytes=i;if(0===t.usedBytes&&0===f)return t.contents=new Uint8Array(e.subarray(r,r+i)),t.usedBytes=i;if(f+i<=t.usedBytes)return t.contents.set(e.subarray(r,r+i),f),i}if(ZA.expandFileStorage(t,f+i),t.contents.subarray&&e.subarray)t.contents.set(e.subarray(r,r+i),f);else for(var o=0;o<i;o++)t.contents[f+o]=e[r+o];return t.usedBytes=Math.max(t.usedBytes,f+i),i},llseek:function(A,e,r){var i=e;if(1===r?i+=A.position:2===r&&EA.isFile(A.node.mode)&&(i+=A.node.usedBytes),i<0)throw new EA.ErrnoError(hA.EINVAL);return i},allocate:function(A,e,r){ZA.expandFileStorage(A.node,e+r),A.node.usedBytes=Math.max(A.node.usedBytes,e+r)},mmap:function(A,e,r,i,f,n,t){if(!EA.isFile(A.node.mode))throw new EA.ErrnoError(hA.ENODEV);var o,a,c=A.node.contents;if(2&t||c.buffer!==e&&c.buffer!==e.buffer){if((0<f||f+i<A.node.usedBytes)&&(c=c.subarray?c.subarray(f,f+i):Array.prototype.slice.call(c,f,f+i)),a=!0,!(o=Gr(i)))throw new EA.ErrnoError(hA.ENOMEM);e.set(c,o)}else a=!1,o=c.byteOffset;return{ptr:o,allocated:a}},msync:function(A,e,r,i,f){if(!EA.isFile(A.node.mode))throw new EA.ErrnoError(hA.ENODEV);if(2&f)return 0;ZA.stream_ops.write(A,e,0,i,r,!1);return 0}}},pA={dbs:{},indexedDB:function(){if(\\\"undefined\\\"!=typeof indexedDB)return indexedDB;var A=null;return\\\"object\\\"==typeof window&&(A=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB),h(A,\\\"IDBFS used, but indexedDB not supported\\\"),A},DB_VERSION:21,DB_STORE_NAME:\\\"FILE_DATA\\\",mount:function(A){return ZA.mount.apply(null,arguments)},syncfs:function(e,n,t){pA.getLocalSet(e,function(A,f){if(A)return t(A);pA.getRemoteSet(e,function(A,e){if(A)return t(A);var r=n?e:f,i=n?f:e;pA.reconcile(r,i,t)})})},getDB:function(A,e){var r,i=pA.dbs[A];if(i)return e(null,i);try{r=pA.indexedDB().open(A,pA.DB_VERSION)}catch(A){return e(A)}if(!r)return e(\\\"Unable to connect to IndexedDB\\\");r.onupgradeneeded=function(A){var e,r=A.target.result,i=A.target.transaction;(e=r.objectStoreNames.contains(pA.DB_STORE_NAME)?i.objectStore(pA.DB_STORE_NAME):r.createObjectStore(pA.DB_STORE_NAME)).indexNames.contains(\\\"timestamp\\\")||e.createIndex(\\\"timestamp\\\",\\\"timestamp\\\",{unique:!1})},r.onsuccess=function(){i=r.result,pA.dbs[A]=i,e(null,i)},r.onerror=function(A){e(this.error),A.preventDefault()}},getLocalSet:function(A,e){var r={};function i(A){return\\\".\\\"!==A&&\\\"..\\\"!==A}function f(e){return function(A){return mA.join2(e,A)}}for(var n=EA.readdir(A.mountpoint).filter(i).map(f(A.mountpoint));n.length;){var t,o=n.pop();try{t=EA.stat(o)}catch(A){return e(A)}EA.isDir(t.mode)&&n.push.apply(n,EA.readdir(o).filter(i).map(f(o))),r[o]={timestamp:t.mtime}}return e(null,{type:\\\"local\\\",entries:r})},getRemoteSet:function(A,i){var f={};pA.getDB(A.mountpoint,function(A,r){if(A)return i(A);try{var e=r.transaction([pA.DB_STORE_NAME],\\\"readonly\\\");e.onerror=function(A){i(this.error),A.preventDefault()},e.objectStore(pA.DB_STORE_NAME).index(\\\"timestamp\\\").openKeyCursor().onsuccess=function(A){var e=A.target.result;if(!e)return i(null,{type:\\\"remote\\\",db:r,entries:f});f[e.primaryKey]={timestamp:e.key},e.continue()}}catch(A){return i(A)}})},loadLocalEntry:function(A,e){var r,i;try{i=EA.lookupPath(A).node,r=EA.stat(A)}catch(A){return e(A)}return EA.isDir(r.mode)?e(null,{timestamp:r.mtime,mode:r.mode}):EA.isFile(r.mode)?(i.contents=ZA.getFileDataAsTypedArray(i),e(null,{timestamp:r.mtime,mode:r.mode,contents:i.contents})):e(new Error(\\\"node type not supported\\\"))},storeLocalEntry:function(A,e,r){try{if(EA.isDir(e.mode))EA.mkdir(A,e.mode);else{if(!EA.isFile(e.mode))return r(new Error(\\\"node type not supported\\\"));EA.writeFile(A,e.contents,{encoding:\\\"binary\\\",canOwn:!0})}EA.chmod(A,e.mode),EA.utime(A,e.timestamp,e.timestamp)}catch(A){return r(A)}r(null)},removeLocalEntry:function(A,e){try{EA.lookupPath(A);var r=EA.stat(A);EA.isDir(r.mode)?EA.rmdir(A):EA.isFile(r.mode)&&EA.unlink(A)}catch(A){return e(A)}e(null)},loadRemoteEntry:function(A,e,r){var i=A.get(e);i.onsuccess=function(A){r(null,A.target.result)},i.onerror=function(A){r(this.error),A.preventDefault()}},storeRemoteEntry:function(A,e,r,i){var f=A.put(r,e);f.onsuccess=function(){i(null)},f.onerror=function(A){i(this.error),A.preventDefault()}},removeRemoteEntry:function(A,e,r){var i=A.delete(e);i.onsuccess=function(){r(null)},i.onerror=function(A){r(this.error),A.preventDefault()}},reconcile:function(i,f,e){var n=0,t=[];Object.keys(i.entries).forEach(function(A){var e=i.entries[A],r=f.entries[A];(!r||e.timestamp>r.timestamp)&&(t.push(A),n++)});var r=[];if(Object.keys(f.entries).forEach(function(A){f.entries[A];i.entries[A]||(r.push(A),n++)}),!n)return e(null);var o=0,A=(\\\"remote\\\"===i.type?i.db:f.db).transaction([pA.DB_STORE_NAME],\\\"readwrite\\\"),a=A.objectStore(pA.DB_STORE_NAME);function c(A){return A?c.errored?void 0:(c.errored=!0,e(A)):++o>=n?e(null):void 0}A.onerror=function(A){c(this.error),A.preventDefault()},t.sort().forEach(function(r){\\\"local\\\"===f.type?pA.loadRemoteEntry(a,r,function(A,e){if(A)return c(A);pA.storeLocalEntry(r,e,c)}):pA.loadLocalEntry(r,function(A,e){if(A)return c(A);pA.storeRemoteEntry(a,r,e,c)})}),r.sort().reverse().forEach(function(A){\\\"local\\\"===f.type?pA.removeLocalEntry(A,c):pA.removeRemoteEntry(a,A,c)})}},yA={isWindows:!(bA=\\\"data:application/octet-stream;base64,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xQAAALkAAADJAAAAbgAAAJoAAAB6AAAAiQAAAIsAAACNAAAAnQAAAGsAAACLAAAAfgAAAGsAAACLAAAAfgAAAD8AAACYAAAAmAAAAG8AAACNAAAAmQAAAG8AAABbAAAAqwAAAIYAAACNAAAAeQAAAIwAAAA9AAAAmgAAAHkAAACMAAAAPQAAAJoAAABvAAAAbwAAAH0AAABuAAAAbgAAAF4AAAB8AAAAbAAAAHwAAABrAAAAfQAAAI0AAACzAAAAmQAAAH0AAABrAAAAfQAAAI0AAACzAAAAmQAAAH0AAABrAAAAfQAAAI0AAACzAAAAmQAAAH0AAACMAAAAiwAAALYAAAC2AAAAmAAAAIgAAACYAAAAiAAAAJkAAACIAAAAiwAAAG8AAACIAAAAiwAAAG8AAACbAAAAmgAAAIsAAACZAAAAiwAAAHsAAAB7AAAAPwAAAJkAAACmAAAAtwAAAIwAAACIAAAAmQAAAJoAAACmAAAAtwAAAIwAAACIAAAAmQAAAJoAAACmAAAAtwAAAIwAAACIAAAAmQAAAJoAAACqAAAAmQAAAHsAAAB7AAAAawAAAHkAAABrAAAAeQAAAKcAAACXAAAAtwAAAIwAAACXAAAAtwAAAIwAAACqAAAAmgAAAIsAAACZAAAAiwAAAHsAAAB7AAAAPwAAAHwAAACmAAAAtwAAAIwAAACIAAAAmQAAAJoAAACmAAAAtwAAAIwAAACIAAAAmQAAAJoAAACmAAAAtwAAAIwAAACIAAAAmQAAAJoAAACqAAAAmQAAAIoAAACKAAAAegAAAHkAAAB6AAAAeQAAAKcAAACXAAAAtwAAAIwAAACXAAAAtwAAAIwAAACNAAAAbwAAAIwAAACMAAAAjAAAAIwAAACKAAAAmQAAAIgAAACnAAAAmAAAAJgAAABrAAAApwAAAFsAAAB6AAAAawAAAKcAAABrAAAApwAAAFsAAABrAAAAawAAAKcAAACZAAAAmQAAAJkAAADIAAAAuQAAAKAAAACaAAAAmgAAAJoAAACMAAAAXAAAAIkAAACKAAAAjAAAAJgAAACKAAAAiwAAAJkAAABKAAAAlQAAAFwAAACLAAAAawAAAHoAAACYAAAAjAAAALMAAACmAAAAtgAAAIwAAADjAAAAegAAAMUAAACaAAAAxAAAAMQAAACnAAAAmgAAAJgAAACnAAAAtgAAALYAAACGAAAAlQAAAIgAAACZAAAAeQAAAIgAAACJAAAAqQAAAMIAAACmAAAApwAAAJoAAACnAAAAiQAAALYAAACaAAAAxAAAAKcAAACnAAAAmgAAAJgAAACnAAAAtgAAALYAAACGAAAAlQAAAIgAAACZAAAAeQAAAIgAAAB6AAAAqQAAANAAAACmAAAApwAAAJoAAACYAAAApwAAALYAAABuAAAAbgAAAHwAAAB9AAAAjAAAAJkAAAB9AAAAfwAAAIwAAABtAAAAbwAAAI8AAAB/AAAAbwAAAE8AAABsAAAAewAAAD8AAAB9AAAAbgAAAF4AAABuAAAAXwAAAE8AAAB9AAAAbwAAAG4AAABOAAAAbgAAAG8AAABvAAAAXwAAAF4AAABsAAAAewAAAGwAAAB9AAAAbgAAAHwAAABuAAAAXwAAAF4AAAB9AAAAbwAAAG8AAABPAAAAfQAAAH4AAABvAAAAbwAAAE8AAABsAAAAewAAAF0AAACZAAAAigAAAIoAAAB8AAAAigAAAF4AAADgAAAApwAAAHoAAABeAAAAigAAALYAAACaAAAAlQAAAGsAAACnAAAAmgAAAJUAAABcAAAApwAAAJoAAAC4AAAAmgAAALcAAAC4AAAAmgAAAIsAAACaAAAAmgAAAJoAAACLAAAAmgAAAJoAAACMAAAAxgAAAKkAAADGAAAAlQAAAIYAAAAAAAAAEAkAAEsBAABSAQAAUwEAAAYAAAAAAAAAAAAAACAAAAAaAAAAFQAAABEAAAANAAAACQAAAAUAAAACAAAAAAAAAP7////7////9/////P////v////6////+b////g////5v///+v////v////8/////f////7/////v///wAAAAACAAAABQAAAAkAAAANAAAAEQAAABUAAAAaAAAAIAAAAADw//+a+f//cvz//4r9//8e/v//ev7//8X+//8A////xf7//3r+//8e/v//iv3//3L8//+a+f//APD//wAAAAADAAAAAwAAAAIAAAAAAAAAAwAAAAQAAAAEAAAAAAAAAAEAAAAAAAAAAgAAAAEAAAACAAAAAAAAAAMAAAABAAAAAwAAAAIAAAADAAAAAQAAAAAAAAACAAAAAAAAAAIAAAABAAAAAwAAAAAAAAADAAAAAQAAAAMAAAACAAAAAgAAwAMAAMAEAADA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QQAAAEIAAABDAAAARAAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAAEsAAABMAAAATQAAAE4AAABPAAAAUAAAAFEAAABSAAAAUwAAAFQAAABVAAAAVgAAAFcAAABYAAAAWQAAAFoAAABbAAAAXAAAAF0AAABeAAAAXwAAAGAAAABBAAAAQgAAAEMAAABEAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAFIAAABTAAAAVAAAAFUAAABWAAAAVwAAAFgAAABZAAAAWgAAAHsAAAB8AAAAfQAAAH4AAAB/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8MgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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ZXJzaW9uOiAAZmxhZ3M6IABOU3QzX18yMTViYXNpY19zdHJpbmdidWZJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQBOU3QzX18yMTliYXNpY19vc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUATjRoZWlmOUJveEhlYWRlckUAbV91dWlkX3R5cGUuc2l6ZSgpID09IDE2AGJveC5jYwBwcmVwZW5kX2hlYWRlcgAobV9mbGFncyAmIH4weDAwRkZGRkZGKSA9PSAwAE40aGVpZjNCb3hFAGZ0eXAgYm94IHRvbyBzbWFsbCAobGVzcyB0aGFuIDggYnl0ZXMpAG1ham9yIGJyYW5kOiAAbWlub3IgdmVyc2lvbjogAGNvbXBhdGlibGUgYnJhbmRzOiAATjRoZWlmOEJveF9mdHlwRQBNYXhpbXVtIG51bWJlciBvZiBjaGlsZCBib3hlcyAAIGV4Y2VlZGVkLgBOU3QzX18yMThiYXNpY19zdHJpbmdzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQBCb3ggc2l6ZSAoACBieXRlcykgc21hbGxlciB0aGFuIGhlYWRlciBzaXplICgAIGJ5dGVzKQBTZWN1cml0eSBsaW1pdCBmb3IgbWF4aW11bSBuZXN0aW5nIG9mIGJveGVzIGhhcyBiZWVuIGV4Y2VlZGVkAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU40aGVpZjNCb3hFTlNfOWFsbG9jYXRvcklTMl9FRUVFAHdyaXRlAGJpdHNfcGVyX2NoYW5uZWw6IAAsAE40aGVpZjhCb3hfcGl4aUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjRoZWlmOEJveF9waXhpRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQBwcm9maWxlIHNpemU6IABONGhlaWYxN2NvbG9yX3Byb2ZpbGVfcmF3RQBONGhlaWYxM2NvbG9yX3Byb2ZpbGVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU40aGVpZjE3Y29sb3JfcHJvZmlsZV9yYXdFTlNfOWFsbG9jYXRvcklTMl9FRUVFAGNvbG91cl9wcmltYXJpZXM6IAB0cmFuc2Zlcl9jaGFyYWN0ZXJpc3RpY3M6IABtYXRyaXhfY29lZmZpY2llbnRzOiAAZnVsbF9yYW5nZV9mbGFnOiAATjRoZWlmMThjb2xvcl9wcm9maWxlX25jbHhFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU40aGVpZjE4Y29sb3JfcHJvZmlsZV9uY2x4RU5TXzlhbGxvY2F0b3JJUzJfRUVFRQBtX2NvbG9yX3Byb2ZpbGUAY29sb3VyX3R5cGU6IABubyBjb2xvciBwcm9maWxlCgBONGhlaWY4Qm94X2NvbHJFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU40aGVpZjhCb3hfY29sckVOU185YWxsb2NhdG9ySVMyX0VFRUUAbG9jYXRpb246IABONGhlaWY3Qm94X3VybEUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjRoZWlmN0JveF91cmxFTlNfOWFsbG9jYXRvcklTMl9FRUVFAE40aGVpZjhCb3hfZHJlZkUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjRoZWlmOEJveF9kcmVmRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQBONGhlaWY4Qm94X2RpbmZFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU40aGVpZjhCb3hfZGluZkVOU185YWxsb2NhdG9ySVMyX0VFRUUAZ3JvdXAgdHlwZTogAHwgZ3JvdXAgaWQ6IAB8IGVudGl0eSBJRHM6IAAgAE40aGVpZjhCb3hfZ3JwbEUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjRoZWlmOEJveF9ncnBsRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQBudW1iZXIgb2YgZGF0YSBieXRlczogAE40aGVpZjhCb3hfaWRhdEUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjRoZWlmOEJveF9pZGF0RU5TXzlhbGxvY2F0b3JJUzJfRUVFRQBzZXFfcHJvZmlsZTogAHNlcV9sZXZlbF9pZHhfMDogAGhpZ2hfYml0ZGVwdGg6IAB0d2VsdmVfYml0OiAAY2hyb21hX3N1YnNhbXBsaW5nX3g6IABjaHJvbWFfc3Vic2FtcGxpbmdfeTogAGNocm9tYV9zYW1wbGVfcG9zaXRpb246IABpbml0aWFsX3ByZXNlbnRhdGlvbl9kZWxheTogAG5vdCBwcmVzZW50CgBjb25maWcgT0JVczoATjRoZWlmOEJveF9hdjFDRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlONGhlaWY4Qm94X2F2MUNFTlNfOWFsbG9jYXRvcklTMl9FRUVFAGNvbmZpZ3VyYXRpb25fdmVyc2lvbjogAGdlbmVyYWxfcHJvZmlsZV9zcGFjZTogAGdlbmVyYWxfdGllcl9mbGFnOiAAZ2VuZXJhbF9wcm9maWxlX2lkYzogAGdlbmVyYWxfcHJvZmlsZV9jb21wYXRpYmlsaXR5X2ZsYWdzOiAAZ2VuZXJhbF9jb25zdHJhaW50X2luZGljYXRvcl9mbGFnczogAGdlbmVyYWxfbGV2ZWxfaWRjOiAAbWluX3NwYXRpYWxfc2VnbWVudGF0aW9uX2lkYzogAHBhcmFsbGVsaXNtX3R5cGU6IABjaHJvbWFfZm9ybWF0OiAAYml0X2RlcHRoX2x1bWE6IABiaXRfZGVwdGhfY2hyb21hOiAAYXZnX2ZyYW1lX3JhdGU6IABjb25zdGFudF9mcmFtZV9yYXRlOiAAbnVtX3RlbXBvcmFsX2xheWVyczogAHRlbXBvcmFsX2lkX25lc3RlZDogAGxlbmd0aF9zaXplOiAAPGFycmF5PgoAYXJyYXlfY29tcGxldGVuZXNzOiAATkFMX3VuaXRfdHlwZTogAE40aGVpZjhCb3hfaHZjQ0UATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjRoZWlmOEJveF9odmNDRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQByZWZlcmVuY2Ugd2l0aCB0eXBlICcAJwAgZnJvbSBJRDogACB0byBJRHM6IABONGhlaWY4Qm94X2lyZWZFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU40aGVpZjhCb3hfaXJlZkVOU185YWxsb2NhdG9ySVMyX0VFRUUAY2xlYW5fYXBlcnR1cmU6IAAvACB4IABvZmZzZXQ6IAAgOyAATjRoZWlmOEJveF9jbGFwRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlONGhlaWY4Qm94X2NsYXBFTlNfOWFsbG9jYXRvcklTMl9FRUVFAG1pcnJvciBheGlzOiAAdmVydGljYWwKAGhvcml6b250YWwKAE40aGVpZjhCb3hfaW1pckUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjRoZWlmOEJveF9pbWlyRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQByb3RhdGlvbjogACBkZWdyZWVzIChDQ1cpCgBONGhlaWY4Qm94X2lyb3RFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU40aGVpZjhCb3hfaXJvdEVOU185YWxsb2NhdG9ySVMyX0VFRUUAYXV4IHR5cGU6IABhdXggc3VidHlwZXM6IABONGhlaWY4Qm94X2F1eENFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU40aGVpZjhCb3hfYXV4Q0VOU185YWxsb2NhdG9ySVMyX0VFRUUAaW1hZ2Ugd2lkdGg6IABpbWFnZSBoZWlnaHQ6IABONGhlaWY4Qm94X2lzcGVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU40aGVpZjhCb3hfaXNwZUVOU185YWxsb2NhdG9ySVMyX0VFRUUAYXNzb2NpYXRpb25zIGZvciBpdGVtIElEOiAAcHJvcGVydHkgaW5kZXg6IAAgKGVzc2VudGlhbDogAE40aGVpZjhCb3hfaXBtYUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjRoZWlmOEJveF9pcG1hRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQBONGhlaWY4Qm94X2lwY29FAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU40aGVpZjhCb3hfaXBjb0VOU185YWxsb2NhdG9ySVMyX0VFRUUATjRoZWlmOEJveF9pcHJwRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlONGhlaWY4Qm94X2lwcnBFTlNfOWFsbG9jYXRvcklTMl9FRUVFAG1pbWUAdXJpIABpdGVtX0lEOiAAaXRlbV9wcm90ZWN0aW9uX2luZGV4OiAAaXRlbV90eXBlOiAAaXRlbV9uYW1lOiAAY29udGVudF90eXBlOiAAY29udGVudF9lbmNvZGluZzogAGl0ZW0gdXJpIHR5cGU6IABoaWRkZW4gaXRlbTogAE40aGVpZjhCb3hfaW5mZUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjRoZWlmOEJveF9pbmZlRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQBONGhlaWY4Qm94X2lpbmZFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU40aGVpZjhCb3hfaWluZkVOU185YWxsb2NhdG9ySVMyX0VFRUUAaWxvYyBib3ggY29udGFpbnMgACBpdGVtcywgd2hpY2ggZXhjZWVkcyB0aGUgc2VjdXJpdHkgbGltaXQgb2YgACBpdGVtcy4ATnVtYmVyIG9mIGV4dGVudHMgaW4gaWxvYyBib3ggKAApIGV4Y2VlZHMgc2VjdXJpdHkgbGltaXQgKABpdGVtIElEOiAAICBjb25zdHJ1Y3Rpb24gbWV0aG9kOiAAICBkYXRhX3JlZmVyZW5jZV9pbmRleDogACAgYmFzZV9vZmZzZXQ6IAAgIGV4dGVudHM6IAA7aW5kZXg9AE40aGVpZjhCb3hfaWxvY0UATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjRoZWlmOEJveF9pbG9jRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQBtX2l0ZW1fSUQgPD0gMHhGRkZGAE40aGVpZjhCb3hfcGl0bUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjRoZWlmOEJveF9waXRtRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQBwcmVfZGVmaW5lZDogAGhhbmRsZXJfdHlwZTogAG5hbWU6IABONGhlaWY4Qm94X2hkbHJFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU40aGVpZjhCb3hfaGRsckVOU185YWxsb2NhdG9ySVMyX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjRoZWlmOEJveF9tZXRhRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlONGhlaWY4Qm94X2Z0eXBFTlNfOWFsbG9jYXRvcklTMl9FRUVFAEJveCBzaXplIAAgZXhjZWVkcyBzZWN1cml0eSBsaW1pdC4ATjRoZWlmOEJveF9tZXRhRQBpbG9jIGJveCBjb250YWluZWQgACBieXRlcywgdG90YWwgbWVtb3J5IHNpemUgd291bGQgYmUgACBieXRlcywgZXhjZWVkaW5nIHRoZSBzZWN1cml0eSBsaW1pdCBvZiAAIGJ5dGVzAGlsb2MgZGF0YSBwb2ludGVycyBvdXQgb2YgYWxsb3dlZCByYW5nZQBFeHRlbnQgaW4gaWxvYyBib3ggcmVmZXJlbmNlcyBkYXRhIG91dHNpZGUgb2YgZmlsZSBib3VuZHMgAChwb2ludHMgdG8gZmlsZSBwb3NpdGlvbiAAc3VjY2VzcwByZWFkX2RhdGEAaWRhdCBib3ggcmVmZXJlbmNlZCBpbiBpcmVmIGJveCBpcyBub3QgcHJlc2VudCBpbiBmaWxlAEl0ZW0gY29uc3RydWN0aW9uIG1ldGhvZCAAIG5vdCBpbXBsZW1lbnRlZABpZGF0IGJveCBjb250YWluZWQgAEl0ZW0gKElEPQApIGhhcyBubyBwcm9wZXJ0aWVzIGFzc2lnbmVkIHRvIGl0IGluIGlwbWEgYm94AE5vbmV4aXN0aW5nIHByb3BlcnR5IChpbmRleD0AKSBmb3IgaXRlbSAAIElEPQAgcmVmZXJlbmNlZCBpbiBpcG1hIGJveABVbmtub3duIGVycm9yAGVycm9yLmNjAGdldF9lcnJvcl9zdHJpbmcAQ29sb3IgcHJvZmlsZSBkb2VzIG5vdCBleGlzdABFcnJvciBkdXJpbmcgZW5jb2Rpbmcgb3Igd3JpdGluZyBvdXRwdXQgZmlsZQBFbmNvZGVyIHBsdWdpbiBnZW5lcmF0ZWQgYW4gZXJyb3IARGVjb2RlciBwbHVnaW4gZ2VuZXJhdGVkIGFuIGVycm9yAE1lbW9yeSBhbGxvY2F0aW9uIGVycm9yAFVzYWdlIGVycm9yAFVuc3VwcG9ydGVkIGZlYXR1cmUAVW5zdXBwb3J0ZWQgZmlsZS10eXBlAEludmFsaWQgaW5wdXQASW5wdXQgZmlsZSBkb2VzIG5vdCBleGlzdABDYW5ub3Qgd3JpdGUgb3V0cHV0IGRhdGEAVW5zdXBwb3J0ZWQgYml0IGRlcHRoAFVuc3VwcG9ydGVkIGl0ZW0gY29uc3RydWN0aW9uIG1ldGhvZABVbnN1cHBvcnRlZCBjb2xvciBjb252ZXJzaW9uAFVuc3VwcG9ydGVkIGRhdGEgdmVyc2lvbgBVbnN1cHBvcnRlZCBpbWFnZSB0eXBlAFVuc3VwcG9ydGVkIGNvZGVjAEludmFsaWQgcGFyYW1ldGVyIHZhbHVlAFVuc3VwcG9ydGVkIHBhcmFtZXRlcgBUaGUgdmVyc2lvbiBvZiB0aGUgcGFzc2VkIHdyaXRlciBpcyBub3Qgc3VwcG9ydGVkAFRoZSB2ZXJzaW9uIG9mIHRoZSBwYXNzZWQgcGx1Z2luIGlzIG5vdCBzdXBwb3J0ZWQATm9uLWV4aXN0aW5nIGltYWdlIGNoYW5uZWwgcmVmZXJlbmNlZABOVUxMIGFyZ3VtZW50IHJlY2VpdmVkAE5vbi1leGlzdGluZyBpdGVtIElEIHJlZmVyZW5jZWQAU2VjdXJpdHkgbGltaXQgZXhjZWVkZWQASW52YWxpZCBwaXhpIGJveABJbnZhbGlkIGltYWdlIHNpemUASW52YWxpZCBmcmFjdGlvbmFsIG51bWJlcgBXcm9uZyB0aWxlIGltYWdlIGNocm9tYSBmb3JtYXQAVW5rbm93biBjb2xvciBwcm9maWxlIHR5cGUATm8gb3IgaW52YWxpZCBwcmltYXJ5IGl0ZW0AVHlwZSBvZiBhdXhpbGlhcnkgaW1hZ2UgdW5zcGVjaWZpZWQAT3ZlcmxheSBpbWFnZSBvdXRzaWRlIG9mIGNhbnZhcyBhcmVhAEludmFsaWQgb3ZlcmxheSBkYXRhAEludmFsaWQgY2xlYW4tYXBlcnR1cmUgc3BlY2lmaWNhdGlvbgBJdGVtIGhhcyBubyBkYXRhAE5vIHByb3BlcnRpZXMgYXNzaWduZWQgdG8gaXRlbQAnaXBtYScgYm94IHJlZmVyZW5jZXMgYSBub24tZXhpc3RpbmcgcHJvcGVydHkATm90IGEgJ3BpY3QnIGhhbmRsZXIATm8gJ2luZmUnIGJveABObyAnaXJlZicgYm94AE5vICdpcHJwJyBib3gATm8gJ2lpbmYnIGJveABObyAnaWxvYycgYm94AE5vICdpcG1hJyBib3gATm8gJ2lwY28nIGJveABObyAncGl0bScgYm94AE5vICdhdjFDJyBib3gATm8gJ2h2Y0MnIGJveABObyAnaGRscicgYm94AE5vICdtZXRhJyBib3gATm8gJ2lkYXQnIGJveABObyAnZnR5cCcgYm94AE1pc3NpbmcgZ3JpZCBpbWFnZXMASW52YWxpZCBncmlkIGRhdGEASW52YWxpZCBib3ggc2l6ZQBVbmV4cGVjdGVkIGVuZCBvZiBmaWxlAFVuc3BlY2lmaWVkADogAEZpbGUgZG9lcyBub3QgaW5jbHVkZSBhbnkgc3VwcG9ydGVkIGJyYW5kcy4KAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU40aGVpZjE5U3RyZWFtUmVhZGVyX21lbW9yeUVOU185YWxsb2NhdG9ySVMyX0VFRUUAaGVpZl9maWxlLmNjAEl0ZW0gd2l0aCBJRCAAIGhhcyBubyBjb21wcmVzc2VkIGRhdGEAZ2V0X2NvbXByZXNzZWRfaW1hZ2VfZGF0YQBoZWlmX2ltYWdlLmNjAGNocm9tYV9oX3N1YnNhbXBsaW5nAGNocm9tYV92X3N1YnNhbXBsaW5nAG51bV9pbnRlcmxlYXZlZF9waXhlbHNfcGVyX3BsYW5lAHdpZHRoID49IDAAYWxsb2MAaGVpZ2h0ID49IDAAYml0X2RlcHRoID49IDEAYml0X2RlcHRoIDw9IDMyAG1fYml0X2RlcHRoIDw9IDE2AGJwcCA8PSAyNTUAZ2V0X3N0b3JhZ2VfYml0c19wZXJfcGl4ZWwAaXNfY2hyb21hX3dpdGhfYWxwaGEATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjRoZWlmMTRIZWlmUGl4ZWxJbWFnZUVOU185YWxsb2NhdG9ySVMyX0VFRUUAQ2FuIGN1cnJlbnRseSBvbmx5IG1pcnJvciBpbWFnZXMgd2l0aCA4IGJpdHMgcGVyIHBpeGVsAENhbiBjdXJyZW50bHkgb25seSBmaWxsIGltYWdlcyB3aXRoIDggYml0cyBwZXIgcGl4ZWwAZmlsbF9SR0JfMTZiaXQAaW5fdyA+PSAwAG92ZXJsYXkAaW5faCA+PSAwAG91dF93ID49IDAAb3V0X2ggPj0gMABPdmVybGF5IGltYWdlIG91dHNpZGUgb2YgcmlnaHQgb3IgYm90dG9tIGNhbnZhcyBib3JkZXIAT3ZlcmxheSBpbWFnZSBvdXRzaWRlIG9mIGxlZnQgb3IgdG9wIGNhbnZhcyBib3JkZXIAaGVpZl9nZXRfdmVyc2lvbgBpaQBoZWlmX2dldF92ZXJzaW9uX251bWJlcgBoZWlmX2NvbnRleHRfYWxsb2MAaGVpZl9jb250ZXh0X2ZyZWUAdmlpAGhlaWZfY29udGV4dF9yZWFkX2Zyb21fbWVtb3J5AGlpaWkAaGVpZl9jb250ZXh0X2dldF9udW1iZXJfb2ZfdG9wX2xldmVsX2ltYWdlcwBpaWkAaGVpZl9qc19jb250ZXh0X2dldF9saXN0X29mX3RvcF9sZXZlbF9pbWFnZV9JRHMAaGVpZl9qc19jb250ZXh0X2dldF9pbWFnZV9oYW5kbGUAaGVpZl9qc19kZWNvZGVfaW1hZ2UAaWlpaWkAaGVpZl9pbWFnZV9oYW5kbGVfcmVsZWFzZQBoZWlmX2Vycm9yX2NvZGUAaGVpZl9lcnJvcl9PawBoZWlmX2Vycm9yX0lucHV0X2RvZXNfbm90X2V4aXN0AGhlaWZfZXJyb3JfSW52YWxpZF9pbnB1dABoZWlmX2Vycm9yX1Vuc3VwcG9ydGVkX2ZpbGV0eXBlAGhlaWZfZXJyb3JfVW5zdXBwb3J0ZWRfZmVhdHVyZQBoZWlmX2Vycm9yX1VzYWdlX2Vycm9yAGhlaWZfZXJyb3JfTWVtb3J5X2FsbG9jYXRpb25fZXJyb3IAaGVpZl9lcnJvcl9EZWNvZGVyX3BsdWdpbl9lcnJvcgBoZWlmX2Vycm9yX0VuY29kZXJfcGx1Z2luX2Vycm9yAGhlaWZfZXJyb3JfRW5jb2RpbmdfZXJyb3IAaGVpZl9lcnJvcl9Db2xvcl9wcm9maWxlX2RvZXNfbm90X2V4aXN0AGhlaWZfc3ViZXJyb3JfY29kZQBoZWlmX3N1YmVycm9yX1Vuc3BlY2lmaWVkAGhlaWZfc3ViZXJyb3JfQ2Fubm90X3dyaXRlX291dHB1dF9kYXRhAGhlaWZfc3ViZXJyb3JfRW5kX29mX2RhdGEAaGVpZl9zdWJlcnJvcl9JbnZhbGlkX2JveF9zaXplAGhlaWZfc3ViZXJyb3JfTm9fZnR5cF9ib3gAaGVpZl9zdWJlcnJvcl9Ob19pZGF0X2JveABoZWlmX3N1YmVycm9yX05vX21ldGFfYm94AGhlaWZfc3ViZXJyb3JfTm9faGRscl9ib3gAaGVpZl9zdWJlcnJvcl9Ob19odmNDX2JveABoZWlmX3N1YmVycm9yX05vX3BpdG1fYm94AGhlaWZfc3ViZXJyb3JfTm9faXBjb19ib3gAaGVpZl9zdWJlcnJvcl9Ob19pcG1hX2JveABoZWlmX3N1YmVycm9yX05vX2lsb2NfYm94AGhlaWZfc3ViZXJyb3JfTm9faWluZl9ib3gAaGVpZl9zdWJlcnJvcl9Ob19pcHJwX2JveABoZWlmX3N1YmVycm9yX05vX2lyZWZfYm94AGhlaWZfc3ViZXJyb3JfTm9fcGljdF9oYW5kbGVyAGhlaWZfc3ViZXJyb3JfSXBtYV9ib3hfcmVmZXJlbmNlc19ub25leGlzdGluZ19wcm9wZXJ0eQBoZWlmX3N1YmVycm9yX05vX3Byb3BlcnRpZXNfYXNzaWduZWRfdG9faXRlbQBoZWlmX3N1YmVycm9yX05vX2l0ZW1fZGF0YQBoZWlmX3N1YmVycm9yX0ludmFsaWRfZ3JpZF9kYXRhAGhlaWZfc3ViZXJyb3JfTWlzc2luZ19ncmlkX2ltYWdlcwBoZWlmX3N1YmVycm9yX05vX2F2MUNfYm94AGhlaWZfc3ViZXJyb3JfSW52YWxpZF9jbGVhbl9hcGVydHVyZQBoZWlmX3N1YmVycm9yX0ludmFsaWRfb3ZlcmxheV9kYXRhAGhlaWZfc3ViZXJyb3JfT3ZlcmxheV9pbWFnZV9vdXRzaWRlX29mX2NhbnZhcwBoZWlmX3N1YmVycm9yX0F1eGlsaWFyeV9pbWFnZV90eXBlX3Vuc3BlY2lmaWVkAGhlaWZfc3ViZXJyb3JfTm9fb3JfaW52YWxpZF9wcmltYXJ5X2l0ZW0AaGVpZl9zdWJlcnJvcl9Ob19pbmZlX2JveABoZWlmX3N1YmVycm9yX1NlY3VyaXR5X2xpbWl0X2V4Y2VlZGVkAGhlaWZfc3ViZXJyb3JfVW5rbm93bl9jb2xvcl9wcm9maWxlX3R5cGUAaGVpZl9zdWJlcnJvcl9Xcm9uZ190aWxlX2ltYWdlX2Nocm9tYV9mb3JtYXQAaGVpZl9zdWJlcnJvcl9JbnZhbGlkX2ZyYWN0aW9uYWxfbnVtYmVyAGhlaWZfc3ViZXJyb3JfSW52YWxpZF9pbWFnZV9zaXplAGhlaWZfc3ViZXJyb3JfTm9uZXhpc3RpbmdfaXRlbV9yZWZlcmVuY2VkAGhlaWZfc3ViZXJyb3JfTnVsbF9wb2ludGVyX2FyZ3VtZW50AGhlaWZfc3ViZXJyb3JfTm9uZXhpc3RpbmdfaW1hZ2VfY2hhbm5lbF9yZWZlcmVuY2VkAGhlaWZfc3ViZXJyb3JfVW5zdXBwb3J0ZWRfcGx1Z2luX3ZlcnNpb24AaGVpZl9zdWJlcnJvcl9VbnN1cHBvcnRlZF93cml0ZXJfdmVyc2lvbgBoZWlmX3N1YmVycm9yX1Vuc3VwcG9ydGVkX3BhcmFtZXRlcgBoZWlmX3N1YmVycm9yX0ludmFsaWRfcGFyYW1ldGVyX3ZhbHVlAGhlaWZfc3ViZXJyb3JfSW52YWxpZF9waXhpX2JveABoZWlmX3N1YmVycm9yX1Vuc3VwcG9ydGVkX2NvZGVjAGhlaWZfc3ViZXJyb3JfVW5zdXBwb3J0ZWRfaW1hZ2VfdHlwZQBoZWlmX3N1YmVycm9yX1Vuc3VwcG9ydGVkX2RhdGFfdmVyc2lvbgBoZWlmX3N1YmVycm9yX1Vuc3VwcG9ydGVkX2NvbG9yX2NvbnZlcnNpb24AaGVpZl9zdWJlcnJvcl9VbnN1cHBvcnRlZF9pdGVtX2NvbnN0cnVjdGlvbl9tZXRob2QAaGVpZl9zdWJlcnJvcl9VbnN1cHBvcnRlZF9iaXRfZGVwdGgAaGVpZl9jb21wcmVzc2lvbl9mb3JtYXQAaGVpZl9jb21wcmVzc2lvbl91bmRlZmluZWQAaGVpZl9jb21wcmVzc2lvbl9IRVZDAGhlaWZfY29tcHJlc3Npb25fQVZDAGhlaWZfY29tcHJlc3Npb25fSlBFRwBoZWlmX2NvbXByZXNzaW9uX0FWMQBoZWlmX2Nocm9tYQBoZWlmX2Nocm9tYV91bmRlZmluZWQAaGVpZl9jaHJvbWFfbW9ub2Nocm9tZQBoZWlmX2Nocm9tYV80MjAAaGVpZl9jaHJvbWFfNDIyAGhlaWZfY2hyb21hXzQ0NABoZWlmX2Nocm9tYV9pbnRlcmxlYXZlZF9SR0IAaGVpZl9jaHJvbWFfaW50ZXJsZWF2ZWRfUkdCQQBoZWlmX2Nocm9tYV9pbnRlcmxlYXZlZF9SUkdHQkJfQkUAaGVpZl9jaHJvbWFfaW50ZXJsZWF2ZWRfUlJHR0JCQUFfQkUAaGVpZl9jaHJvbWFfaW50ZXJsZWF2ZWRfUlJHR0JCX0xFAGhlaWZfY2hyb21hX2ludGVybGVhdmVkX1JSR0dCQkFBX0xFAGhlaWZfY2hyb21hX2ludGVybGVhdmVkXzI0Yml0AGhlaWZfY2hyb21hX2ludGVybGVhdmVkXzMyYml0AGhlaWZfY29sb3JzcGFjZQBoZWlmX2NvbG9yc3BhY2VfdW5kZWZpbmVkAGhlaWZfY29sb3JzcGFjZV9ZQ2JDcgBoZWlmX2NvbG9yc3BhY2VfUkdCAGhlaWZfY29sb3JzcGFjZV9tb25vY2hyb21lAGhlaWZfY2hhbm5lbABoZWlmX2NoYW5uZWxfWQBoZWlmX2NoYW5uZWxfQ3IAaGVpZl9jaGFubmVsX0NiAGhlaWZfY2hhbm5lbF9SAGhlaWZfY2hhbm5lbF9HAGhlaWZfY2hhbm5lbF9CAGhlaWZfY2hhbm5lbF9BbHBoYQBoZWlmX2NoYW5uZWxfaW50ZXJsZWF2ZWQAaGVpZl9jb250ZXh0AHYAdmkAaGVpZl9pbWFnZV9oYW5kbGUAaGVpZl9pbWFnZQBoZWlmX2Vycm9yAGkAY29kZQB2aWlpAHN1YmNvZGUAMTBoZWlmX2Vycm9yAFBLMTBoZWlmX2ltYWdlAFAxMGhlaWZfaW1hZ2UAMTBoZWlmX2ltYWdlAFBLMTdoZWlmX2ltYWdlX2hhbmRsZQBQMTdoZWlmX2ltYWdlX2hhbmRsZQAxN2hlaWZfaW1hZ2VfaGFuZGxlAFBLMTJoZWlmX2NvbnRleHQAUDEyaGVpZl9jb250ZXh0ADEyaGVpZl9jb250ZXh0ADEyaGVpZl9jaGFubmVsADE1aGVpZl9jb2xvcnNwYWNlADExaGVpZl9jaHJvbWEAMjNoZWlmX2NvbXByZXNzaW9uX2Zvcm1hdAAxOGhlaWZfc3ViZXJyb3JfY29kZQAxNWhlaWZfZXJyb3JfY29kZQBOMTBlbXNjcmlwdGVuM3ZhbEUAaXNfcHJpbWFyeQB0aHVtYm5haWxzAHdpZHRoAGhlaWdodABjaHJvbWEAY29sb3JzcGFjZQBoZWlmX2ltYWdlX2dldF9jaHJvbWFfZm9ybWF0KGltYWdlKSA9PSBoZWlmX2Nocm9tYV9pbnRlcmxlYXZlZF8yNGJpdAAuL2hlaWZfZW1zY3JpcHRlbi5oAGhlaWZfaW1hZ2VfZ2V0X2Nocm9tYV9mb3JtYXQoaW1hZ2UpID09IGhlaWZfY2hyb21hX21vbm9jaHJvbWUAZGF0YQBOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQBOU3QzX18yMjFfX2Jhc2ljX3N0cmluZ19jb21tb25JTGIxRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU40aGVpZjExSGVpZkNvbnRleHRFTlNfOWFsbG9jYXRvcklTMl9FRUVFADEuMTAuMABTdWNjZXNzAExlc3MgdGhhbiA4IGJ5dGVzIG9mIGRhdGEAR3JpZCBpbWFnZSBkYXRhIGluY29tcGxldGUACgBPdmVybGF5IGltYWdlIGRhdGEgaW5jb21wbGV0ZQBPdmVybGF5IGltYWdlIGRhdGEgdmVyc2lvbiAAIGlzIG5vdCBpbXBsZW1lbnRlZCB5ZXQAeABpbWFnZV9pbmRleCA8IG1fb2Zmc2V0cy5zaXplKCkAaGVpZl9jb250ZXh0LmNjAGdldF9vZmZzZXQATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjRoZWlmOEhlaWZGaWxlRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQBodmMxAGdyaWQAaWRlbgBpb3ZsAGF2MDEAJ3BpdG0nIGJveCByZWZlcmVuY2VzIGEgbm9uLWV4aXN0aW5nIGltYWdlAEltYWdlIHNpemUgACBleGNlZWRzIHRoZSBtYXhpbXVtIGltYWdlIHNpemUgAFRvbyBtYW55IHRodW1ibmFpbCByZWZlcmVuY2VzAFRodW1ibmFpbCByZWZlcmVuY2VzIGEgbm9uLWV4aXN0aW5nIGltYWdlAFRodW1ibmFpbCByZWZlcmVuY2VzIGFub3RoZXIgdGh1bWJuYWlsAFJlY3Vyc2l2ZSB0aHVtYm5haWwgaW1hZ2UgZGV0ZWN0ZWQATm8gYXV4QyBwcm9wZXJ0eSBmb3IgaW1hZ2UgAFRvbyBtYW55IGF1eGlsaWFyeSBpbWFnZSByZWZlcmVuY2VzAHVybjptcGVnOmF2YzoyMDE1OmF1eGlkOjEAdXJuOm1wZWc6aGV2YzoyMDE1OmF1eGlkOjEAdXJuOm1wZWc6bXBlZ0I6Y2ljcDpzeXN0ZW1zOmF1eGlsaWFyeTphbHBoYQBOb24tZXhpc3RpbmcgYWxwaGEgaW1hZ2UgcmVmZXJlbmNlZABSZWN1cnNpdmUgYWxwaGEgaW1hZ2UgZGV0ZWN0ZWQAdXJuOm1wZWc6aGV2YzoyMDE1OmF1eGlkOjIAdXJuOm1wZWc6bXBlZ0I6Y2ljcDpzeXN0ZW1zOmF1eGlsaWFyeTpkZXB0aABOb24tZXhpc3RpbmcgZGVwdGggaW1hZ2UgcmVmZXJlbmNlZABSZWN1cnNpdmUgZGVwdGggaW1hZ2UgZGV0ZWN0ZWQATm9uLWV4aXN0aW5nIGF1eCBpbWFnZSByZWZlcmVuY2VkAFJlY3Vyc2l2ZSBhdXggaW1hZ2UgZGV0ZWN0ZWQATm8gaHZjQyBwcm9wZXJ0eSBpbiBodmMxIHR5cGUgaW1hZ2UATWV0YWRhdGEgbm90IGNvcnJlY3RseSBhc3NpZ25lZCB0byBpbWFnZQBNZXRhZGF0YSBhc3NpZ25lZCB0byBub24tZXhpc3RpbmcgaW1hZ2UATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjRoZWlmMTNJbWFnZU1ldGFkYXRhRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQBONGhlaWYzNlNFSU1lc3NhZ2VfZGVwdGhfcmVwcmVzZW50YXRpb25faW5mb0UAMzBoZWlmX2RlcHRoX3JlcHJlc2VudGF0aW9uX2luZm8ATjRoZWlmMTBTRUlNZXNzYWdlRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlONGhlaWYxMUhlaWZDb250ZXh0NUltYWdlRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQBpbWdpbmZvAGRlY29kZV9pbWFnZV9wbGFuYXIAaW1nX3dpZHRoID49IDAAaW1nX2hlaWdodCA+PSAwAE5vIGlyZWYgYm94IGF2YWlsYWJsZSwgYnV0IG5lZWRlZCBmb3IgaW92bCBpbWFnZQBOdW1iZXIgb2YgaW1hZ2Ugb2Zmc2V0cyBkb2VzIG5vdCBtYXRjaCB0aGUgbnVtYmVyIG9mIGltYWdlIHJlZmVyZW5jZXMATm8gaXJlZiBib3ggYXZhaWxhYmxlLCBidXQgbmVlZGVkIGZvciBpZGVuIGltYWdlACdpZGVuJyBpbWFnZSB3aXRoIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIGltYWdlAE5vIGlyZWYgYm94IGF2YWlsYWJsZSwgYnV0IG5lZWRlZCBmb3IgZ3JpZCBpbWFnZQBtX3Jvd3MgPD0gMjU2AGdldF9yb3dzAG1fY29sdW1ucyA8PSAyNTYAZ2V0X2NvbHVtbnMAVGlsZWQgaW1hZ2Ugd2l0aCAAPQAgdGlsZXMsIGJ1dCBvbmx5IAAgdGlsZSBpbWFnZXMgaW4gZmlsZQBUaWxlIGltYWdlIElEPQAgaXMgbm90IGEgcHJvcGVyIGltYWdlLgAhaW1hZ2VfcmVmZXJlbmNlcy5lbXB0eSgpAGRlY29kZV9mdWxsX2dyaWRfaW1hZ2UATm8gcGl4aSBpbmZvcm1hdGlvbiBmb3IgbHVtYSBjaGFubmVsLgBEaWZmZXJlbnQgbnVtYmVyIG9mIGJpdHMgcGVyIHBpeGVsIGluIGVhY2ggY2hhbm5lbC4AVW5leGlzdGluZyBncmlkIGltYWdlIHJlZmVyZW5jZWQAc3JjX3dpZHRoID49IDAAZGVjb2RlX2FuZF9wYXN0ZV90aWxlX2ltYWdlAHNyY19oZWlnaHQgPj0gMABJbWFnZSB0aWxlIGhhcyBkaWZmZXJlbnQgY2hyb21hIGZvcm1hdCB0aGFuIGNvbWJpbmVkIGltYWdlAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU40aGVpZjM2U0VJTWVzc2FnZV9kZXB0aF9yZXByZXNlbnRhdGlvbl9pbmZvRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQBTdWNjZXNzAHdhbnRfYWxwaGEgJiYgIWhhc19hbHBoYQBoZWlmX2NvbG9yY29udmVyc2lvbi5jYwBjb252ZXJ0X2NvbG9yc3BhY2UAMThPcF9SR0JfdG9fUkdCMjRfMzIATjRoZWlmMjRDb2xvckNvbnZlcnNpb25PcGVyYXRpb25FADIwT3BfWUNiQ3I0MjBfdG9fUkdCMjQAMjBPcF9ZQ2JDcjQyMF90b19SR0IzMgAyNU9wX1JHQl9IRFJfdG9fUlJHR0JCYWFfQkUAMjFPcF9SR0JfdG9fUlJHR0JCYWFfQkUAMjVPcF9SUkdHQkJhYV9CRV90b19SR0JfSERSADI3T3BfUlJHR0JCYWFfc3dhcF9lbmRpYW5uZXNzADE5T3BfbW9ub190b19ZQ2JDcjQyMAAxOU9wX21vbm9fdG9fUkdCMjRfMzIAMjBPcF9SR0IyNF8zMl90b19ZQ2JDcgB0YXJnZXRfc3RhdGUubmNseF9wcm9maWxlAHRhcmdldF9zdGF0ZS5uY2x4X3Byb2ZpbGUtPmdldF9tYXRyaXhfY29lZmZpY2llbnRzKCkgPT0gMAAyN09wX1JHQjI0XzMyX3RvX1lDYkNyNDQ0X0dCUgAxOU9wX2Ryb3BfYWxwaGFfcGxhbmUAMTZPcF90b19oZHJfcGxhbmVzADE2T3BfdG9fc2RyX3BsYW5lcwAyN09wX1JSR0dCQnh4X0hEUl90b19ZQ2JDcjQyMAAyM09wX1lDYkNyNDIwX3RvX1JSR0dCQmFhAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTI3T3BfUlJHR0JCeHhfSERSX3RvX1lDYkNyNDIwTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTE2T3BfdG9fc2RyX3BsYW5lc05TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUkxNk9wX3RvX2hkcl9wbGFuZXNOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJMTlPcF9kcm9wX2FscGhhX3BsYW5lTlNfOWFsbG9jYXRvcklTMV9FRUVFADE1T3BfUkdCX3RvX1lDYkNySXRFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTE1T3BfUkdCX3RvX1lDYkNySXRFTlNfOWFsbG9jYXRvcklTMl9FRUVFADE1T3BfUkdCX3RvX1lDYkNySWhFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTE1T3BfUkdCX3RvX1lDYkNySWhFTlNfOWFsbG9jYXRvcklTMl9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTI3T3BfUkdCMjRfMzJfdG9fWUNiQ3I0NDRfR0JSTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTIwT3BfUkdCMjRfMzJfdG9fWUNiQ3JOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJMjVPcF9SUkdHQkJhYV9CRV90b19SR0JfSERSTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTI3T3BfUlJHR0JCYWFfc3dhcF9lbmRpYW5uZXNzTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTE5T3BfbW9ub190b19SR0IyNF8zMk5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUkxOU9wX21vbm9fdG9fWUNiQ3I0MjBOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJMjFPcF9SR0JfdG9fUlJHR0JCYWFfQkVOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJMjVPcF9SR0JfSERSX3RvX1JSR0dCQmFhX0JFTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTIzT3BfWUNiQ3I0MjBfdG9fUlJHR0JCYWFOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJMjBPcF9ZQ2JDcjQyMF90b19SR0IzMk5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUkyME9wX1lDYkNyNDIwX3RvX1JHQjI0TlNfOWFsbG9jYXRvcklTMV9FRUVFADE1T3BfWUNiQ3JfdG9fUkdCSWhFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTE1T3BfWUNiQ3JfdG9fUkdCSWhFTlNfOWFsbG9jYXRvcklTMl9FRUVFADE1T3BfWUNiQ3JfdG9fUkdCSXRFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTE1T3BfWUNiQ3JfdG9fUkdCSXRFTlNfOWFsbG9jYXRvcklTMl9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTE4T3BfUkdCX3RvX1JHQjI0XzMyTlNfOWFsbG9jYXRvcklTMV9FRUVFACFjaGFubmVscy5lbXB0eSgpAFN1Y2Nlc3MAQ2Fubm90IGFsbG9jYXRlIG1lbW9yeSBmb3IgaW1hZ2UgcGxhbmUAQ2hhbm5lbHMgd2l0aCBkaWZmZXJlbnQgbnVtYmVyIG9mIGJpdHMgcGVyIHBpeGVsIGFyZSBub3Qgc3VwcG9ydGVkAGxpYmRlMjY1IEhFVkMgZGVjb2RlcgAsIHZlcnNpb24gADEuMC4yAGRlMjY1LmNjAGRlMjY1X3NldF9wYXJhbWV0ZXJfYm9vbABjaGFubmVsPj0wICYmIGNoYW5uZWwgPD0gMgBkZTI2NV9nZXRfaW1hZ2VfcGxhbmUAMTVkZWNvZGVyX2NvbnRleHQAMTJiYXNlX2NvbnRleHQAMTFlcnJvcl9xdWV1ZQB0aHJlYWRfY29udGV4dHM9PU5VTEwAZGVjY3R4LmNjAGFsbG9jYXRlX3RocmVhZF9jb250ZXh0cwBkZWNvZGVfc2xpY2VfdW5pdF9wYXJhbGxlbABpbWctPm51bV90aHJlYWRzX2FjdGl2ZSgpID09IDAAZGVjb2RlX3NsaWNlX3VuaXRfdGlsZXMAbiA8IG5UaHJlYWRDb250ZXh0cwAuL2RlY2N0eC5oAGdldF90aHJlYWRfY29udGV4dABkZWNvZGVfc2xpY2VfdW5pdF9XUFAAUFBTICVkIGhhcyBub3QgYmVlbiByZWFkCgBwcm9jZXNzX3NsaWNlX3NlZ21lbnRfaGVhZGVyAGhkci0+bnVtX3JlZl9pZHhfbDBfYWN0aXZlIDw9IDE2AGNvbnN0cnVjdF9yZWZlcmVuY2VfcGljdHVyZV9saXN0cwBoZHItPm51bV9yZWZfaWR4X2wxX2FjdGl2ZSA8PSAxNgBjdHgtPmRwYi5oYXNfZnJlZV9kcGJfcGljdHVyZSh0cnVlKQBnZW5lcmF0ZV91bmF2YWlsYWJsZV9yZWZlcmVuY2VfcGljdHVyZQBpZHg+PTAAbmFsAGRlY29kZQBmYWxsYmFjay1kY3QuY2MAdHJhbnNmb3JtX3NraXBfOF9mYWxsYmFjawB0cmFuc2Zvcm1fc2tpcF8xNl9mYWxsYmFjawBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFpaWFVSTklDPTYuJh8WDQT88+rh2tLKw723sq6rqKamWldQRjkrGQn359XHurCppqapsLrH1ef3CRkrOUZQV1paUkMuFvzhyrerpqiyw9rzDSY9TlhaVUk2HwTq0r2upllLMhLuzrWnp7XO7hIyS1lZSzIS7s61p6e1zu4SMktZWEMf88quprLS/CZJWlU9FurDq6a32gQuTlpSNg3hvahXOQnVsKa65xlGWlAr98epqcf3K1BaRhnnuqaw1Qk5V1Uu872mt+omUlg2/MOmsuEfTlo9BMqortoWSVpDDdKrUyTcra3cJFNTJNytrdwkU1Mk3K2t3CRTUyTcra3cJFNSFsqmww1OVR/Spr0ESVgm2qi3/ENaLuGrsvM9WjbqrlAJuqnnOVor1abHGVdG97Cw90ZXGcem1StaOeepuglQTvyutw1VQ+qowx9aNtqm0i5aJsqm4T1YFr2r80lSBLJL7qfOMlkStbUSWTLOp+5LS+6nzjJZErW1ElkyzqfuS0nhpupOQ9qm81I90qj8VTbKqwRYLsOuDVomvbIWWh+3RtWpCVoZsMc5UOem91crurorV/em51A5x7AZWgmp1UZDyrImVeqmBFoNqOFSLrfDPUnSrh9Y86b8Whar2k42vUDAwEBAwMBAQMDAQEDAwEBAwMBAQMDAQEDAwEBAwMBAPbfSUh+o81r8phZV2rI2Q73KTiar6loEpg1Y4a4uScM5sOda96krRrrVVwmmGVDHx1AZpglX1bpGK6n3WuewOTar/FjSw1INpiZDsupa4bdJH6YWTr3aWvOuPS6oBFXKMqcSS7XuWc7OWe61SxKnMjKnEku17lnOzlnutUsSpzIupiY2ph89qBZDqw1JrgROsvxSt/NVvepYw+Faytpa0iumORmpRgmwUPe6V+fHWtXVWsfnV7r3ULAJRqkZOaYrJqhJ/L1a0uFVsg09pjYWrlLqylrD806rHy6mQwS3WNokrVPc3FOtJCStU9zcU60kJK1T3NxTrSQkrVPc3FOtJB+yWsMENqhS2upJpkPz0lWrLg29WrcWJq5Yyvw9pk7hGbpasCsJx1epOffVUKZG5+dGplDV9zmpV8cJK7BauhkWw1WmSdr8LrJarjbz4UOoWL0fDcpSpk7SBCa3Wqs96hLOS6dZtTLu7jK1WadLzhISzkunWbUy7u4ytVmnS84SDdo9slimVbc24QQW0kOuWqZSvS7q/B/KSataqE7DJvMJ5yvHRrBXplqpULo51Rn39xnVObpQqVqmV7BGxyvnCQTzFuEm0jbDQ7dOrlWoWqZaplirUrJJvT3KLtof6g38KHdpZHRoJjEpPT0wAGZhbGxiYWNrLW1vdGlvbi5jYwBwdXRfdW53ZWlnaHRlZF9wcmVkXzhfZmFsbGJhY2sAbG9nMldEPj0xAHB1dF93ZWlnaHRlZF9wcmVkXzhfZmFsbGJhY2sAcHV0X3dlaWdodGVkX2JpcHJlZF84X2ZhbGxiYWNrAHB1dF93ZWlnaHRlZF9wcmVkX2F2Z184X2ZhbGxiYWNrAHB1dF91bndlaWdodGVkX3ByZWRfMTZfZmFsbGJhY2sAcHV0X3dlaWdodGVkX3ByZWRfMTZfZmFsbGJhY2sAcHV0X3dlaWdodGVkX2JpcHJlZF8xNl9mYWxsYmFjawBwdXRfd2VpZ2h0ZWRfcHJlZF9hdmdfMTZfZmFsbGJhY2sAIXJlb3JkZXJfb3V0cHV0X3F1ZXVlLmVtcHR5KCkAZHBiLmNjAG91dHB1dF9uZXh0X3BpY3R1cmVfaW5fcmVvcmRlcl9idWZmZXIAbmV3X2ltYWdlAGltZy0+c3BzLkJpdERlcHRoX1kgPj0gOCAmJiBpbWctPnNwcy5CaXREZXB0aF9ZIDw9IDE2AGltYWdlLmNjAGRlMjY1X2ltYWdlX2dldF9idWZmZXIAaW1nLT5zcHMuQml0RGVwdGhfQyA+PSA4ICYmIGltZy0+c3BzLkJpdERlcHRoX0MgPD0gMTYAc3BzAGFsbG9jX2ltYWdlAGZpcnN0ICUgMiA9PSAwAGNvcHlfbGluZXNfZnJvbQBlbmQgJSAyID09IDAAblRocmVhZHNSdW5uaW5nID49IDAAdGhyZWFkX2ZpbmlzaGVzAC4vaW1hZ2UuaABwZW5kaW5nX2lucHV0X05BTCA9PSBOVUxMAG5hbC1wYXJzZXIuY2MAcHVzaF9OQUwALS0tLS0tLS0tLSBQUFMgcmFuZ2UtZXh0ZW5zaW9uIC0tLS0tLS0tLS0KAGxvZzJfbWF4X3RyYW5zZm9ybV9za2lwX2Jsb2NrX3NpemUgICAgICA6ICVkCgBjcm9zc19jb21wb25lbnRfcHJlZGljdGlvbl9lbmFibGVkX2ZsYWcgOiAlZAoAY2hyb21hX3FwX29mZnNldF9saXN0X2VuYWJsZWRfZmxhZyAgICAgIDogJWQKAGRpZmZfY3VfY2hyb21hX3FwX29mZnNldF9kZXB0aCAgICAgICAgICA6ICVkCgBjaHJvbWFfcXBfb2Zmc2V0X2xpc3RfbGVuICAgICAgICAgICAgICAgOiAlZAoAY2JfcXBfb2Zmc2V0X2xpc3RbJWRdICAgICAgICAgICAgICAgICAgICA6ICVkCgBjcl9xcF9vZmZzZXRfbGlzdFslZF0gICAgICAgICAgICAgICAgICAgIDogJWQKAGxvZzJfc2FvX29mZnNldF9zY2FsZV9sdW1hICAgICAgICAgICAgICA6ICVkCgBsb2cyX3Nhb19vZmZzZXRfc2NhbGVfY2hyb21hICAgICAgICAgICAgOiAlZAoAdGlsZVg+PTAgJiYgdGlsZVk+PTAAcHBzLmNjAHNldF9kZXJpdmVkX3ZhbHVlcwAtLS0tLS0tLS0tLS0tLS0tLSBQUFMgLS0tLS0tLS0tLS0tLS0tLS0KAHBpY19wYXJhbWV0ZXJfc2V0X2lkICAgICAgIDogJWQKAHNlcV9wYXJhbWV0ZXJfc2V0X2lkICAgICAgIDogJWQKAGRlcGVuZGVudF9zbGljZV9zZWdtZW50c19lbmFibGVkX2ZsYWcgOiAlZAoAc2lnbl9kYXRhX2hpZGluZ19mbGFnICAgICAgOiAlZAoAY2FiYWNfaW5pdF9wcmVzZW50X2ZsYWcgICAgOiAlZAoAbnVtX3JlZl9pZHhfbDBfZGVmYXVsdF9hY3RpdmUgOiAlZAoAbnVtX3JlZl9pZHhfbDFfZGVmYXVsdF9hY3RpdmUgOiAlZAoAcGljX2luaXRfcXAgICAgICAgICAgICAgICAgOiAlZAoAY29uc3RyYWluZWRfaW50cmFfcHJlZF9mbGFnOiAlZAoAdHJhbnNmb3JtX3NraXBfZW5hYmxlZF9mbGFnOiAlZAoAY3VfcXBfZGVsdGFfZW5hYmxlZF9mbGFnICAgOiAlZAoAZGlmZl9jdV9xcF9kZWx0YV9kZXB0aCAgICAgOiAlZAoAcGljX2NiX3FwX29mZnNldCAgICAgICAgICAgICA6ICVkCgBwaWNfY3JfcXBfb2Zmc2V0ICAgICAgICAgICAgIDogJWQKAHBwc19zbGljZV9jaHJvbWFfcXBfb2Zmc2V0c19wcmVzZW50X2ZsYWcgOiAlZAoAd2VpZ2h0ZWRfcHJlZF9mbGFnICAgICAgICAgICA6ICVkCgB3ZWlnaHRlZF9iaXByZWRfZmxhZyAgICAgICAgIDogJWQKAG91dHB1dF9mbGFnX3ByZXNlbnRfZmxhZyAgICAgOiAlZAoAdHJhbnNxdWFudF9ieXBhc3NfZW5hYmxlX2ZsYWc6ICVkCgB0aWxlc19lbmFibGVkX2ZsYWcgICAgICAgICAgIDogJWQKAGVudHJvcHlfY29kaW5nX3N5bmNfZW5hYmxlZF9mbGFnOiAlZAoAbnVtX3RpbGVfY29sdW1ucyAgICA6ICVkCgBudW1fdGlsZV9yb3dzICAgICAgIDogJWQKAHVuaWZvcm1fc3BhY2luZ19mbGFnOiAlZAoAdGlsZSBjb2x1bW4gYm91bmRhcmllczogAHRpbGUgcm93IGJvdW5kYXJpZXM6IAAqJWQgAGxvb3BfZmlsdGVyX2Fjcm9zc190aWxlc19lbmFibGVkX2ZsYWcgOiAlZAoAcHBzX2xvb3BfZmlsdGVyX2Fjcm9zc19zbGljZXNfZW5hYmxlZF9mbGFnOiAlZAoAZGVibG9ja2luZ19maWx0ZXJfY29udHJvbF9wcmVzZW50X2ZsYWc6ICVkCgBkZWJsb2NraW5nX2ZpbHRlcl9vdmVycmlkZV9lbmFibGVkX2ZsYWc6ICVkCgBwaWNfZGlzYWJsZV9kZWJsb2NraW5nX2ZpbHRlcl9mbGFnOiAlZAoAYmV0YV9vZmZzZXQ6ICAlZAoAdGNfb2Zmc2V0OiAgICAlZAoAcGljX3NjYWxpbmdfbGlzdF9kYXRhX3ByZXNlbnRfZmxhZzogJWQKAGxpc3RzX21vZGlmaWNhdGlvbl9wcmVzZW50X2ZsYWc6ICVkCgBsb2cyX3BhcmFsbGVsX21lcmdlX2xldmVsICAgICAgOiAlZAoAbnVtX2V4dHJhX3NsaWNlX2hlYWRlcl9iaXRzICAgIDogJWQKAHNsaWNlX3NlZ21lbnRfaGVhZGVyX2V4dGVuc2lvbl9wcmVzZW50X2ZsYWcgOiAlZAoAcHBzX2V4dGVuc2lvbl9mbGFnICAgICAgICAgICAgOiAlZAoAcHBzX3JhbmdlX2V4dGVuc2lvbl9mbGFnICAgICAgOiAlZAoAcHBzX211bHRpbGF5ZXJfZXh0ZW5zaW9uX2ZsYWcgOiAlZAoAcHBzX2V4dGVuc2lvbl82Yml0cyAgICAgICAgICAgOiAlZAoATG9nMk1pbkN1UXBEZWx0YVNpemUgICAgICAgICAgOiAlZAoATG9nMk1pbkN1Q2hyb21hUXBPZmZzZXRTaXplIChSRXh0KSA6ICVkCgBMb2cyTWF4VHJhbnNmb3JtU2tpcFNpemUgICAgKFJFeHQpIDogJWQKAHNhby0lZAAxNXRocmVhZF90YXNrX3NhbwAxMXRocmVhZF90YXNrAFNFSSBkZWNvZGVkIHBpY3R1cmUgTUQ1IG1pc21hdGNoIChQT0M9JWQpCgBTRUkgZGVjb2RlZCBwaWN0dXJlIGhhc2g6ICUwNHgsIGRlY29kZWQgcGljdHVyZTogJTA0eCAoUE9DPSVkKQoAc2xpY2Utc2VnbWVudC0lZDslZABpbml0VHlwZSA+PSAwICYmIGluaXRUeXBlIDw9IDIAc2xpY2UuY2MAaW5pdGlhbGl6ZV9DQUJBQ19tb2RlbHMAZGVjb2RlX3BhcnRfbW9kZQAAAQICAgIDBQcICgwNDxESExQVFhcXGBgZGRobGxwcHR0eH3JlYWRfY29kaW5nX3VuaXQAUHJlZE1vZGUgPT0gY3VQcmVkTW9kZQByZWFkX3RyYW5zZm9ybV90cmVlAGNvbnRleHQgPj0gMCAmJiBjb250ZXh0IDw9IDIAZGVjb2RlX3NwbGl0X3RyYW5zZm9ybV9mbGFnACEodHJhZm9EZXB0aD09MCAmJiBsb2cyVHJhZm9TaXplPT0yKQBjYmZfY2IgIT0gLTEAcmVhZF90cmFuc2Zvcm1fdW5pdABjYmZfY3IgIT0gLTEAY2JmX2x1bWEgIT0gLTEAeDxzcHMuUGljV2lkdGhJbk1pblBVcwBzZXRfSW50cmFQcmVkTW9kZUMAeTxzcHMuUGljSGVpZ2h0SW5NaW5QVXMAaWR4PGludHJhUHJlZE1vZGVDLmRhdGFfc2l6ZQAyNXRocmVhZF90YXNrX3NsaWNlX3NlZ21lbnQAY3RiLXJvdy0lZAAxOXRocmVhZF90YXNrX2N0Yl9yb3cAcHBzLT5wcHNfcmVhZABkdW1wX3NsaWNlX3NlZ21lbnRfaGVhZGVyAHNwcy0+c3BzX3JlYWQALS0tLS0tLS0tLS0tLS0tLS0gU0xJQ0UgLS0tLS0tLS0tLS0tLS0tLS0KAGZpcnN0X3NsaWNlX3NlZ21lbnRfaW5fcGljX2ZsYWcgICAgICA6ICVkCgBub19vdXRwdXRfb2ZfcHJpb3JfcGljc19mbGFnICAgICAgICAgOiAlZAoAc2xpY2VfcGljX3BhcmFtZXRlcl9zZXRfaWQgICAgICAgICAgIDogJWQKAGRlcGVuZGVudF9zbGljZV9zZWdtZW50X2ZsYWcgICAgICAgICA6ICVkCgBzbGljZV9zZWdtZW50X2FkZHJlc3MgICAgICAgICAgICAgICAgOiAlZAoAc2xpY2VfdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJWMKAHBpY19vdXRwdXRfZmxhZyAgICAgICAgICAgICAgICAgICAgICA6ICVkCgBjb2xvdXJfcGxhbmVfaWQgICAgICAgICAgICAgICAgICAgICAgOiAlZAoAc2xpY2VfcGljX29yZGVyX2NudF9sc2IgICAgICAgICAgICAgIDogJWQKAHNob3J0X3Rlcm1fcmVmX3BpY19zZXRfc3BzX2ZsYWcgICAgICA6ICVkCgBzaG9ydF90ZXJtX3JlZl9waWNfc2V0X2lkeCAgICAgICAgICAgOiAlZAoAbnVtX2xvbmdfdGVybV9zcHMgICAgICAgICAgICAgICAgICAgICAgICA6ICVkCgBudW1fbG9uZ190ZXJtX3BpY3MgICAgICAgICAgICAgICAgICAgICAgIDogJWQKAHNsaWNlX3RlbXBvcmFsX212cF9lbmFibGVkX2ZsYWcgOiAlZAoAc2xpY2Vfc2FvX2x1bWFfZmxhZyAgICAgICAgICAgICA6ICVkCgBzbGljZV9zYW9fY2hyb21hX2ZsYWcgICAgICAgICAgIDogJWQKAG51bV9yZWZfaWR4X2FjdGl2ZV9vdmVycmlkZV9mbGFnIDogJWQKAChmcm9tIFBQUykAbnVtX3JlZl9pZHhfbDBfYWN0aXZlICAgICAgICAgIDogJWQgJXMKAG51bV9yZWZfaWR4X2wxX2FjdGl2ZSAgICAgICAgICA6ICVkICVzCgByZWZfcGljX2xpc3RfbW9kaWZpY2F0aW9uX2ZsYWdfbDAgOiAlZAoAICAlZDogJWQKAHJlZl9waWNfbGlzdF9tb2RpZmljYXRpb25fZmxhZ19sMSA6ICVkCgBtdmRfbDFfemVyb19mbGFnICAgICAgICAgICAgICAgOiAlZAoAY2FiYWNfaW5pdF9mbGFnICAgICAgICAgICAgICAgIDogJWQKAGNvbGxvY2F0ZWRfZnJvbV9sMF9mbGFnICAgICAgICA6ICVkCgBjb2xsb2NhdGVkX3JlZl9pZHggICAgICAgICAgICAgOiAlZAoAbHVtYV9sb2cyX3dlaWdodF9kZW5vbSAgICAgICAgIDogJWQKAENocm9tYUxvZzJXZWlnaHREZW5vbSAgICAgICAgICA6ICVkCgBMdW1hV2VpZ2h0X0wlZFslZF0gICAgICAgICAgICAgOiAlZAoAbHVtYV9vZmZzZXRfbCVkWyVkXSAgICAgICAgICAgIDogJWQKAENocm9tYVdlaWdodF9MJWRbJWRdWyVkXSAgICAgICAgOiAlZAoAQ2hyb21hT2Zmc2V0X0wlZFslZF1bJWRdICAgICAgICA6ICVkCgBmaXZlX21pbnVzX21heF9udW1fbWVyZ2VfY2FuZCAgOiAlZAoAc2xpY2VfcXBfZGVsdGEgICAgICAgICA6ICVkCgBzbGljZV9jYl9xcF9vZmZzZXQgICAgIDogJWQKAHNsaWNlX2NyX3FwX29mZnNldCAgICAgOiAlZAoAZGVibG9ja2luZ19maWx0ZXJfb3ZlcnJpZGVfZmxhZyA6ICVkCgAob3ZlcnJpZGUpAChmcm9tIHBwcykAc2xpY2VfZGVibG9ja2luZ19maWx0ZXJfZGlzYWJsZWRfZmxhZyA6ICVkICVzCgBzbGljZV9iZXRhX29mZnNldCAgOiAlZAoAc2xpY2VfdGNfb2Zmc2V0ICAgIDogJWQKAHNsaWNlX2xvb3BfZmlsdGVyX2Fjcm9zc19zbGljZXNfZW5hYmxlZF9mbGFnIDogJWQKAG51bV9lbnRyeV9wb2ludF9vZmZzZXRzICAgIDogJWQKAG9mZnNldF9sZW4gICAgICAgICAgICAgICAgIDogJWQKAGVudHJ5IHBvaW50IFslaV0gOiAlZAoAAAEEBQIDBAUGBggIBwcIY2N0eElkeExvb2t1cFtsb2cydy0yXVtjSWR4XVtzY2FuSWR4XVtwcmV2Q3NiZl1beEMrKHlDPDxsb2cydyldID09IGN0eElkeEluYwBhbGxvY19hbmRfaW5pdF9zaWduaWZpY2FudF9jb2VmZl9jdHhJZHhfbG9va3VwVGFibGUAcmVmPDcAc3BzLmNjABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQERAREBESERISERIVExQVFBMVGBYWGBgWFhgZGRseGxkZHR8jIx8dJCksKSQvNjYvQUZBWFhzEBAQEBAQEBAQEBEREREREhISEhISFBQUFBQUFBgYGBgYGBgYGRkZGRkZGRwcHBwcHCEhISEhKSkpKTY2NkdHW2ZpbGxfc2NhbGluZ19mYWN0b3IAc2NhbGluZ19saXN0X3ByZWRfbWF0cml4X2lkX2RlbHRhPT0xAHJlYWRfc2NhbGluZ19saXN0AC0tLS0tLS0tLS0tLS0tLS0tIFNQUyAtLS0tLS0tLS0tLS0tLS0tLQoAdmlkZW9fcGFyYW1ldGVyX3NldF9pZCAgOiAlZAoAc3BzX21heF9zdWJfbGF5ZXJzICAgICAgOiAlZAoAc3BzX3RlbXBvcmFsX2lkX25lc3RpbmdfZmxhZyA6ICVkCgBzZXFfcGFyYW1ldGVyX3NldF9pZCAgICA6ICVkCgA0OjQ6NAB1bmtub3duAG1vbm9jaHJvbWUANDoyOjAANDoyOjIAY2hyb21hX2Zvcm1hdF9pZGMgICAgICAgOiAlZCAoJXMpCgBzZXBhcmF0ZV9jb2xvdXJfcGxhbmVfZmxhZyA6ICVkCgBwaWNfd2lkdGhfaW5fbHVtYV9zYW1wbGVzICA6ICVkCgBwaWNfaGVpZ2h0X2luX2x1bWFfc2FtcGxlcyA6ICVkCgBjb25mb3JtYW5jZV93aW5kb3dfZmxhZyAgICA6ICVkCgBjb25mX3dpbl9sZWZ0X29mZnNldCAgOiAlZAoAY29uZl93aW5fcmlnaHRfb2Zmc2V0IDogJWQKAGNvbmZfd2luX3RvcF9vZmZzZXQgICA6ICVkCgBjb25mX3dpbl9ib3R0b21fb2Zmc2V0OiAlZAoAYml0X2RlcHRoX2x1bWEgICA6ICVkCgBiaXRfZGVwdGhfY2hyb21hIDogJWQKAGxvZzJfbWF4X3BpY19vcmRlcl9jbnRfbHNiIDogJWQKAHNwc19zdWJfbGF5ZXJfb3JkZXJpbmdfaW5mb19wcmVzZW50X2ZsYWcgOiAlZAoAbG9nMl9taW5fbHVtYV9jb2RpbmdfYmxvY2tfc2l6ZSA6ICVkCgBsb2cyX2RpZmZfbWF4X21pbl9sdW1hX2NvZGluZ19ibG9ja19zaXplIDogJWQKAGxvZzJfbWluX3RyYW5zZm9ybV9ibG9ja19zaXplICAgOiAlZAoAbG9nMl9kaWZmX21heF9taW5fdHJhbnNmb3JtX2Jsb2NrX3NpemUgOiAlZAoAbWF4X3RyYW5zZm9ybV9oaWVyYXJjaHlfZGVwdGhfaW50ZXIgOiAlZAoAbWF4X3RyYW5zZm9ybV9oaWVyYXJjaHlfZGVwdGhfaW50cmEgOiAlZAoAc2NhbGluZ19saXN0X2VuYWJsZV9mbGFnIDogJWQKAExheWVyICVkCgAgIHNwc19tYXhfZGVjX3BpY19idWZmZXJpbmcgICAgICA6ICVkCgAgIHNwc19tYXhfbnVtX3Jlb3JkZXJfcGljcyAgICAgICA6ICVkCgAgIHNwc19tYXhfbGF0ZW5jeV9pbmNyZWFzZV9wbHVzMSA6ICVkCgBzcHNfc2NhbGluZ19saXN0X2RhdGFfcHJlc2VudF9mbGFnIDogJWQKAHNjYWxpbmcgbGlzdCBsb2dnaW5nIG91dHB1dCBub3QgaW1wbGVtZW50ZWQAYW1wX2VuYWJsZWRfZmxhZyAgICAgICAgICAgICAgICAgICAgOiAlZAoAc2FtcGxlX2FkYXB0aXZlX29mZnNldF9lbmFibGVkX2ZsYWcgOiAlZAoAcGNtX2VuYWJsZWRfZmxhZyAgICAgICAgICAgICAgICAgICAgOiAlZAoAcGNtX3NhbXBsZV9iaXRfZGVwdGhfbHVtYSAgICAgOiAlZAoAcGNtX3NhbXBsZV9iaXRfZGVwdGhfY2hyb21hICAgOiAlZAoAbG9nMl9taW5fcGNtX2x1bWFfY29kaW5nX2Jsb2NrX3NpemUgOiAlZAoAbG9nMl9kaWZmX21heF9taW5fcGNtX2x1bWFfY29kaW5nX2Jsb2NrX3NpemUgOiAlZAoAcGNtX2xvb3BfZmlsdGVyX2Rpc2FibGVfZmxhZyAgOiAlZAoAbnVtX3Nob3J0X3Rlcm1fcmVmX3BpY19zZXRzIDogJWQKAGxvbmdfdGVybV9yZWZfcGljc19wcmVzZW50X2ZsYWcgOiAlZAoAcmVmX3BpY19zZXRbICUyZCBdOiAAbnVtX2xvbmdfdGVybV9yZWZfcGljc19zcHMgOiAlZAoAbHRfcmVmX3BpY19wb2NfbHNiX3Nwc1slZF0gOiAlZCAgICh1c2VkX2J5X2N1cnJfcGljX2x0X3Nwc19mbGFnPSVkKQoAc3BzX3RlbXBvcmFsX212cF9lbmFibGVkX2ZsYWcgICAgICA6ICVkCgBzdHJvbmdfaW50cmFfc21vb3RoaW5nX2VuYWJsZV9mbGFnIDogJWQKAHZ1aV9wYXJhbWV0ZXJzX3ByZXNlbnRfZmxhZyAgICAgICAgOiAlZAoAc3BzX2V4dGVuc2lvbl9wcmVzZW50X2ZsYWcgICAgOiAlZAoAc3BzX3JhbmdlX2V4dGVuc2lvbl9mbGFnICAgICAgOiAlZAoAc3BzX211bHRpbGF5ZXJfZXh0ZW5zaW9uX2ZsYWcgOiAlZAoAc3BzX2V4dGVuc2lvbl82Yml0cyAgICAgICAgICAgOiAlZAoAQ3RiU2l6ZVkgICAgIDogJWQKAE1pbkNiU2l6ZVkgICA6ICVkCgBNYXhDYlNpemVZICAgOiAlZAoATWluVEJTaXplWSAgIDogJWQKAE1heFRCU2l6ZVkgICA6ICVkCgBQaWNXaWR0aEluQ3Ric1kgICAgICAgICA6ICVkCgBQaWNIZWlnaHRJbkN0YnNZICAgICAgICA6ICVkCgBTdWJXaWR0aEMgICAgICAgICAgICAgICA6ICVkCgBTdWJIZWlnaHRDICAgICAgICAgICAgICA6ICVkCgAtLS0tLS0tLS0tLS0tLS0tLSBTUFMtcmFuZ2UtZXh0ZW5zaW9uIC0tLS0tLS0tLS0tLS0tLS0tCgB0cmFuc2Zvcm1fc2tpcF9yb3RhdGlvbl9lbmFibGVkX2ZsYWcgICAgOiAlZAoAdHJhbnNmb3JtX3NraXBfY29udGV4dF9lbmFibGVkX2ZsYWcgICAgIDogJWQKAGltcGxpY2l0X3JkcGNtX2VuYWJsZWRfZmxhZyAgICAgICAgICAgICA6ICVkCgBleHBsaWNpdF9yZHBjbV9lbmFibGVkX2ZsYWcgICAgICAgICAgICAgOiAlZAoAZXh0ZW5kZWRfcHJlY2lzaW9uX3Byb2Nlc3NpbmdfZmxhZyAgICAgIDogJWQKAGludHJhX3Ntb290aGluZ19kaXNhYmxlZF9mbGFnICAgICAgICAgICA6ICVkCgBoaWdoX3ByZWNpc2lvbl9vZmZzZXRzX2VuYWJsZWRfZmxhZyAgICAgOiAlZAoAcGVyc2lzdGVudF9yaWNlX2FkYXB0YXRpb25fZW5hYmxlZF9mbGFnIDogJWQKAGNhYmFjX2J5cGFzc19hbGlnbm1lbnRfZW5hYmxlZF9mbGFnICAgICA6ICVkCgB0cmFuc2Zvcm0uY2MAMABzY2FsZV9jb2VmZmljaWVudHNfaW50ZXJuYWwAcmRwY21Nb2RlPT0wAEVSUjogAElORk86IAB2cHMuY2MAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBmaXJzdExheWVyUmVhZCA8IE1BWF9URU1QT1JBTF9TVUJMQVlFUlMAcmVhZAAtLS0tLS0tLS0tLS0tLS0tLSBWUFMgLS0tLS0tLS0tLS0tLS0tLS0KAHZpZGVvX3BhcmFtZXRlcl9zZXRfaWQgICAgICAgICAgICAgICAgOiAlZAoAdnBzX21heF9sYXllcnMgICAgICAgICAgICAgICAgICAgICAgICA6ICVkCgB2cHNfbWF4X3N1Yl9sYXllcnMgICAgICAgICAgICAgICAgICAgIDogJWQKAHZwc190ZW1wb3JhbF9pZF9uZXN0aW5nX2ZsYWcgICAgICAgICAgOiAlZAoAICBQcm9maWxlL1RpZXIvTGV2ZWwgW0xheWVyICVkXQoAdnBzX3N1Yl9sYXllcl9vcmRlcmluZ19pbmZvX3ByZXNlbnRfZmxhZyA6ICVkCgBsYXllciAlZDogdnBzX21heF9kZWNfcGljX2J1ZmZlcmluZyA9ICVkCgAgICAgICAgICB2cHNfbWF4X251bV9yZW9yZGVyX3BpY3MgID0gJWQKACAgICAgICAgIHZwc19tYXhfbGF0ZW5jeV9pbmNyZWFzZSAgPSAlZAoAbGF5ZXIgKGFsbCk6IHZwc19tYXhfZGVjX3BpY19idWZmZXJpbmcgPSAlZAoAICAgICAgICAgICAgIHZwc19tYXhfbnVtX3Jlb3JkZXJfcGljcyAgPSAlZAoAICAgICAgICAgICAgIHZwc19tYXhfbGF0ZW5jeV9pbmNyZWFzZSAgPSAlZAoAdnBzX21heF9sYXllcl9pZCAgID0gJWQKAHZwc19udW1fbGF5ZXJfc2V0cyA9ICVkCgB2cHNfdGltaW5nX2luZm9fcHJlc2VudF9mbGFnID0gJWQKAGxheWVyX2lkX2luY2x1ZGVkX2ZsYWdbJWRdWyVkXSA9ICVkCgB2cHNfbnVtX3VuaXRzX2luX3RpY2sgPSAlZAoAdnBzX3RpbWVfc2NhbGUgICAgICAgID0gJWQKAHZwc19wb2NfcHJvcG9ydGlvbmFsX3RvX3RpbWluZ19mbGFnID0gJWQKAHZwc19udW1fdGlja3NfcG9jX2RpZmZfb25lID0gJWQKAHZwc19udW1faHJkX3BhcmFtZXRlcnMgICAgID0gJWQKAGhyZF9sYXllcl9zZXRfaWR4WyVkXSA9ICVkCgB2cHNfZXh0ZW5zaW9uX2ZsYWcgPSAlZAoAZ2VuZXJhbABzdWJfbGF5ZXIAICAlc19wcm9maWxlX3NwYWNlICAgICA6ICVkCgAgICVzX3RpZXJfZmxhZyAgICAgICAgIDogJWQKACh1bmtub3duKQBGb3JtYXRSYW5nZUV4dGVuc2lvbnMATWFpblN0aWxsUGljdHVyZQBNYWluMTAATWFpbgAgICVzX3Byb2ZpbGVfaWRjICAgICAgIDogJXMKACAgJXNfcHJvZmlsZV9jb21wYXRpYmlsaXR5X2ZsYWdzOiAAKgoAICAgICVzX3Byb2dyZXNzaXZlX3NvdXJjZV9mbGFnIDogJWQKACAgICAlc19pbnRlcmxhY2VkX3NvdXJjZV9mbGFnIDogJWQKACAgICAlc19ub25fcGFja2VkX2NvbnN0cmFpbnRfZmxhZyA6ICVkCgAgICAgJXNfZnJhbWVfb25seV9jb25zdHJhaW50X2ZsYWcgOiAlZAoAKiwAKiVkACAgJXNfbGV2ZWxfaWRjICAgICAgICAgOiAlZCAoJTQuMmYpCgB1bnNwZWNpZmllZABNQUMAU0VDQU0ATlRTQwBQQUwAY29tcG9uZW50AC0tLS0tLS0tLS0tLS0tLS0tIFZVSSAtLS0tLS0tLS0tLS0tLS0tLQoAc2FtcGxlIGFzcGVjdCByYXRpbyAgICAgICAgOiAlZDolZAoAb3ZlcnNjYW5faW5mb19wcmVzZW50X2ZsYWcgOiAlZAoAb3ZlcnNjYW5fYXBwcm9wcmlhdGVfZmxhZyAgOiAlZAoAdmlkZW9fc2lnbmFsX3R5cGVfcHJlc2VudF9mbGFnOiAlZAoAICB2aWRlb19mb3JtYXQgICAgICAgICAgICAgICAgOiAlcwoAICB2aWRlb19mdWxsX3JhbmdlX2ZsYWcgICAgICAgOiAlZAoAICBjb2xvdXJfZGVzY3JpcHRpb25fcHJlc2VudF9mbGFnIDogJWQKACAgY29sb3VyX3ByaW1hcmllcyAgICAgICAgICAgIDogJWQKACAgdHJhbnNmZXJfY2hhcmFjdGVyaXN0aWNzICAgIDogJWQKACAgbWF0cml4X2NvZWZmcyAgICAgICAgICAgICAgIDogJWQKAGNocm9tYV9sb2NfaW5mb19wcmVzZW50X2ZsYWc6ICVkCgAgIGNocm9tYV9zYW1wbGVfbG9jX3R5cGVfdG9wX2ZpZWxkICAgOiAlZAoAICBjaHJvbWFfc2FtcGxlX2xvY190eXBlX2JvdHRvbV9maWVsZDogJWQKAG5ldXRyYWxfY2hyb21hX2luZGljYXRpb25fZmxhZzogJWQKAGZpZWxkX3NlcV9mbGFnICAgICAgICAgICAgICAgIDogJWQKAGZyYW1lX2ZpZWxkX2luZm9fcHJlc2VudF9mbGFnIDogJWQKAGRlZmF1bHRfZGlzcGxheV93aW5kb3dfZmxhZyAgIDogJWQKACAgZGVmX2Rpc3Bfd2luX2xlZnRfb2Zmc2V0ICAgIDogJWQKACAgZGVmX2Rpc3Bfd2luX3JpZ2h0X29mZnNldCAgIDogJWQKACAgZGVmX2Rpc3Bfd2luX3RvcF9vZmZzZXQgICAgIDogJWQKACAgZGVmX2Rpc3Bfd2luX2JvdHRvbV9vZmZzZXQgIDogJWQKAHZ1aV90aW1pbmdfaW5mb19wcmVzZW50X2ZsYWcgIDogJWQKACAgdnVpX251bV91bml0c19pbl90aWNrICAgICAgIDogJWQKACAgdnVpX3RpbWVfc2NhbGUgICAgICAgICAgICAgIDogJWQKAHZ1aV9wb2NfcHJvcG9ydGlvbmFsX3RvX3RpbWluZ19mbGFnIDogJWQKAHZ1aV9udW1fdGlja3NfcG9jX2RpZmZfb25lICAgICAgICAgIDogJWQKAHZ1aV9ocmRfcGFyYW1ldGVyc19wcmVzZW50X2ZsYWcgOiAlZAoAYml0c3RyZWFtX3Jlc3RyaWN0aW9uX2ZsYWcgICAgICAgICA6ICVkCgAgIHRpbGVzX2ZpeGVkX3N0cnVjdHVyZV9mbGFnICAgICAgIDogJWQKACAgbW90aW9uX3ZlY3RvcnNfb3Zlcl9waWNfYm91bmRhcmllc19mbGFnIDogJWQKACAgcmVzdHJpY3RlZF9yZWZfcGljX2xpc3RzX2ZsYWcgICAgOiAlZAoAICBtaW5fc3BhdGlhbF9zZWdtZW50YXRpb25faWRjICAgICA6ICVkCgAgIG1heF9ieXRlc19wZXJfcGljX2Rlbm9tICAgICAgICAgIDogJWQKACAgbWF4X2JpdHNfcGVyX21pbl9jdV9kZW5vbSAgICAgICAgOiAlZAoAICBsb2cyX21heF9tdl9sZW5ndGhfaG9yaXpvbnRhbCAgICA6ICVkCgAgIGxvZzJfbWF4X212X2xlbmd0aF92ZXJ0aWNhbCAgICAgIDogJWQKAGJpdHN0cmVhbS5jYwB2YWx1ZT4wAGdldF91dmxjAICw0PCAp8XjgJ672HuWss10jqnDb4eguWmAmK9kepCmX3SJnlpugpZVaHuOUWN1h01eb4BJWWl6RVVkdEJQX24+TFpoO0hWYzhFUV41QU1ZMz5JVTA7RVAuOEJMKzU/SCkyO0UnMDhBJS02PiMrMzshKTA4ICcuNR4lKzIdIykwGyEnLRofJSsYHiMpFxwhJxYbICUVGh4jFBgdIRMXGx8SFhoeERUZHBAUFxsPExYZDhIVGA4RFBcNEBMWDA8SFQwOERQLDhATCw0PEgoMDxEKDA4QCQsNDwkLDA4ICgwOCAkLDQcJCwwHCQoMBwgKCwYICQsGBwkKBgcICQICAgIGBQQEAwMDAwICAgICAgICAQEBAQEBAQEBAQEBAQEBAQAAAQICBAQFBgcICQkLCwwNDQ8PEBASEhMTFRUWFhcYGBkaGhsbHB0dHh4eHyAgISEhIiIjIyMkJCQlJSUmJj8BAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj4/Y2FiYWMuY2MAbGVuZ3RoID49IDAAaW5pdF9DQUJBQ19kZWNvZGVyACVwIGMndG9yID0gJXAKACVwIGRlc3RydWN0b3IKAG1mcmVlICVwCgAlcCBpbml0CgAqcmVmY250PjEAY29udGV4dG1vZGVsLmNjAGRlY291cGxlX29yX2FsbG9jX3dpdGhfZW1wdHlfZGF0YQAlcCAoYWxsb2MpCgBtb2RlbFtpXS5zdGF0ZSA8PSA2MgBzZXRfaW5pdFZhbHVlACVwIHJlbGVhc2UgJXAKACVwIGRlY291cGxlICglcCkKAHJlZmNudABkZWNvdXBsZQAlcCBhc3NpZ24gPSAlcAoAZGVibG9jay0lZAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQECAgICAwMDAwQEBAUFBgYHCAkKCw0OEBIUFhgAAAAAAAAAAAAAAAAAAAAABgcICQoLDA0ODxAREhQWGBocHiAiJCYoKiwuMDI0Njg6PD5AcmVmUGljUTA9PXJlZlBpY1ExAGRlYmxvY2suY2MAZGVyaXZlX2JvdW5kYXJ5U3RyZW5ndGgAMjZ0aHJlYWRfdGFza19kZWJsb2NrX0NUQlJvdwBpbnRyYXByZWQuY2MAaW50cmFQcmVkTW9kZTwzNQBpbnRyYV9wcmVkaWN0aW9uX2FuZ3VsYXIAaW50cmFQcmVkTW9kZT49MgBpbnRyYV9wcmVkaWN0aW9uX3NhbXBsZV9maWx0ZXJpbmcAc2hkci0+c2xpY2VfdHlwZSA9PSBTTElDRV9UWVBFX0IAbW90aW9uLmNjAGdlbmVyYXRlX2ludGVyX3ByZWRpY3Rpb25fc2FtcGxlcwBtY19jaHJvbWEAdW5pdFggPj0gMCAmJiB1bml0WCA8IHdpZHRoX2luX3VuaXRzAC4uL2xpYmRlMjY1L2ltYWdlLmgAZ2V0AHVuaXRZID49IDAgJiYgdW5pdFkgPCBoZWlnaHRfaW5fdW5pdHMAY3R4LT5oYXNfaW1hZ2UoY29sUGljKQBkZXJpdmVfY29sbG9jYXRlZF9tb3Rpb25fdmVjdG9ycwBkZXJpdmVfY29tYmluZWRfYmlwcmVkaWN0aXZlX21lcmdpbmdfY2FuZGlkYXRlcwByZWZQaWNMaXN0Pj0wAGRlcml2ZV9zcGF0aWFsX2x1bWFfdmVjdG9yX3ByZWRpY3Rpb24AbnVtTVZQQ2FuZExYPT0yAGZpbGxfbHVtYV9tb3Rpb25fdmVjdG9yX3ByZWRpY3RvcnMAUklkeD49MAByZWZwaWMuY2MAcmVhZF9zaG9ydF90ZXJtX3JlZl9waWNfc2V0AFJJZHggPj0gMCAmJiBSSWR4IDwgc2V0cy5zaXplKCkAaj49MCAmJiBqIDwgTUFYX05VTV9SRUZfUElDUwAqJWQlYyAAKiVzCgB2b2lkAGJvb2wAY2hhcgBzaWduZWQgY2hhcgB1bnNpZ25lZCBjaGFyAHNob3J0AHVuc2lnbmVkIHNob3J0AGludAB1bnNpZ25lZCBpbnQAbG9uZwB1bnNpZ25lZCBsb25nAGZsb2F0AGRvdWJsZQBzdGQ6OnN0cmluZwBzdGQ6OmJhc2ljX3N0cmluZzx1bnNpZ25lZCBjaGFyPgBzdGQ6OndzdHJpbmcAZW1zY3JpcHRlbjo6dmFsAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgc2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgaW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZmxvYXQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZyBkb3VibGU+AE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWVFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lkRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZkVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SW1FRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lsRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJakVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWlFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l0RUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJc0VFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWhFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lhRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJY0VFAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0l3TlNfMTFjaGFyX3RyYWl0c0l3RUVOU185YWxsb2NhdG9ySXdFRUVFAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0loTlNfMTFjaGFyX3RyYWl0c0loRUVOU185YWxsb2NhdG9ySWhFRUVFABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBOQU4AMDEyMzQ1Njc4OUFCQ0RFRi4AVCEiGQ0BAgMRSxwMEAQLHRIeJ2hub3BxYiAFBg8TFBUaCBYHKCQXGAkKDhsfJSODgn0mKis8PT4/Q0dKTVhZWltcXV5fYGFjZGVmZ2lqa2xyc3R5ent8AElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAAD/////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wABAgQHAwYFAGluZmluaXR5AG5hbgBMQ19BTEwATENfQ1RZUEUAAAAATENfTlVNRVJJQwAATENfVElNRQAAAAAATENfQ09MTEFURQAATENfTU9ORVRBUlkATENfTUVTU0FHRVMATEFORwBDLlVURi04AFBPU0lYAE1VU0xfTE9DUEFUSABOU3QzX18yOGlvc19iYXNlRQBOU3QzX18yOWJhc2ljX2lvc0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBOU3QzX18yOWJhc2ljX2lvc0l3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTViYXNpY19zdHJlYW1idWZJY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjE1YmFzaWNfc3RyZWFtYnVmSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAE5TdDNfXzIxM2Jhc2ljX2lzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjEzYmFzaWNfaXN0cmVhbUl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTNiYXNpY19vc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxM2Jhc2ljX29zdHJlYW1Jd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjE0YmFzaWNfaW9zdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjExX19zdGRvdXRidWZJd0VFAE5TdDNfXzIxMV9fc3Rkb3V0YnVmSWNFRQB1bnN1cHBvcnRlZCBsb2NhbGUgZm9yIHN0YW5kYXJkIGlucHV0AE5TdDNfXzIxMF9fc3RkaW5idWZJd0VFAE5TdDNfXzIxMF9fc3RkaW5idWZJY0VFAE5TdDNfXzI3Y29sbGF0ZUljRUUATlN0M19fMjZsb2NhbGU1ZmFjZXRFAE5TdDNfXzI3Y29sbGF0ZUl3RUUAMDEyMzQ1Njc4OWFiY2RlZkFCQ0RFRnhYKy1wUGlJbk4AJXAAQwBOU3QzX18yN251bV9nZXRJY05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzI5X19udW1fZ2V0SWNFRQBOU3QzX18yMTRfX251bV9nZXRfYmFzZUUATlN0M19fMjdudW1fZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yOV9fbnVtX2dldEl3RUUAJXAAAAAATABsbAAlAAAAAABsAE5TdDNfXzI3bnVtX3B1dEljTlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFRUUATlN0M19fMjlfX251bV9wdXRJY0VFAE5TdDNfXzIxNF9fbnVtX3B1dF9iYXNlRQBOU3QzX18yN251bV9wdXRJd05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzI5X19udW1fcHV0SXdFRQAlSDolTTolUwAlbS8lZC8leQAlSTolTTolUyAlcAAlYSAlYiAlZCAlSDolTTolUyAlWQBBTQBQTQBKYW51YXJ5AEZlYnJ1YXJ5AE1hcmNoAEFwcmlsAE1heQBKdW5lAEp1bHkAQXVndXN0AFNlcHRlbWJlcgBPY3RvYmVyAE5vdmVtYmVyAERlY2VtYmVyAEphbgBGZWIATWFyAEFwcgBKdW4ASnVsAEF1ZwBTZXAAT2N0AE5vdgBEZWMAU3VuZGF5AE1vbmRheQBUdWVzZGF5AFdlZG5lc2RheQBUaHVyc2RheQBGcmlkYXkAU2F0dXJkYXkAU3VuAE1vbgBUdWUAV2VkAFRodQBGcmkAU2F0ACVtLyVkLyV5JVktJW0tJWQlSTolTTolUyAlcCVIOiVNJUg6JU06JVMlSDolTTolU05TdDNfXzI4dGltZV9nZXRJY05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIyMF9fdGltZV9nZXRfY19zdG9yYWdlSWNFRQBOU3QzX18yOXRpbWVfYmFzZUUATlN0M19fMjh0aW1lX2dldEl3TlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjIwX190aW1lX2dldF9jX3N0b3JhZ2VJd0VFAE5TdDNfXzI4dGltZV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMF9fdGltZV9wdXRFAE5TdDNfXzI4dGltZV9wdXRJd05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIxMG1vbmV5cHVuY3RJY0xiMEVFRQBOU3QzX18yMTBtb25leV9iYXNlRQBOU3QzX18yMTBtb25leXB1bmN0SWNMYjFFRUUATlN0M19fMjEwbW9uZXlwdW5jdEl3TGIwRUVFAE5TdDNfXzIxMG1vbmV5cHVuY3RJd0xiMUVFRQAwMTIzNDU2Nzg5ACVMZgBOU3QzX18yOW1vbmV5X2dldEljTlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFRUUATlN0M19fMjExX19tb25leV9nZXRJY0VFADAxMjM0NTY3ODkATlN0M19fMjltb25leV9nZXRJd05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfZ2V0SXdFRQAlLjBMZgBOU3QzX18yOW1vbmV5X3B1dEljTlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFRUUATlN0M19fMjExX19tb25leV9wdXRJY0VFAE5TdDNfXzI5bW9uZXlfcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X3B1dEl3RUUATlN0M19fMjhtZXNzYWdlc0ljRUUATlN0M19fMjEzbWVzc2FnZXNfYmFzZUUATlN0M19fMjE3X193aWRlbl9mcm9tX3V0ZjhJTGozMkVFRQBOU3QzX18yN2NvZGVjdnRJRGljMTFfX21ic3RhdGVfdEVFAE5TdDNfXzIxMmNvZGVjdnRfYmFzZUUATlN0M19fMjE2X19uYXJyb3dfdG9fdXRmOElMajMyRUVFAE5TdDNfXzI4bWVzc2FnZXNJd0VFAE5TdDNfXzI3Y29kZWN2dEljYzExX19tYnN0YXRlX3RFRQBOU3QzX18yN2NvZGVjdnRJd2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjdjb2RlY3Z0SURzYzExX19tYnN0YXRlX3RFRQBOU3QzX18yNmxvY2FsZTVfX2ltcEUATlN0M19fMjVjdHlwZUljRUUATlN0M19fMjEwY3R5cGVfYmFzZUUATlN0M19fMjVjdHlwZUl3RUUAZmFsc2UAdHJ1ZQBOU3QzX18yOG51bXB1bmN0SWNFRQBOU3QzX18yOG51bXB1bmN0SXdFRQBOU3QzX18yMTRfX3NoYXJlZF9jb3VudEUATlN0M19fMjE5X19zaGFyZWRfd2Vha19jb3VudEUAYmFkX3dlYWtfcHRyAE5TdDNfXzIxMmJhZF93ZWFrX3B0ckUAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlczogJXMAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGZvcmVpZ24gZXhjZXB0aW9uAHRlcm1pbmF0aW5nAHVuY2F1Z2h0AFN0OWV4Y2VwdGlvbgBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQBTdDl0eXBlX2luZm8ATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQBwdGhyZWFkX29uY2UgZmFpbHVyZSBpbiBfX2N4YV9nZXRfZ2xvYmFsc19mYXN0KCkAY2Fubm90IGNyZWF0ZSBwdGhyZWFkIGtleSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQBjYW5ub3QgemVybyBvdXQgdGhyZWFkIHZhbHVlIGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FAHYARG4AYgBjAGgAYQBzAHQAaQBqAG0AZgBkAE4xMF9fY3h4YWJpdjExNl9fZW51bV90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0U=\\\"),staticInit:function(){yA.isWindows=!!process.platform.match(/^win/)},mount:function(A){return h(o),yA.createNode(null,\\\"/\\\",yA.getMode(A.opts.root),0)},createNode:function(A,e,r,i){if(!EA.isDir(r)&&!EA.isFile(r)&&!EA.isLink(r))throw new EA.ErrnoError(hA.EINVAL);var f=EA.createNode(A,e,r);return f.node_ops=yA.node_ops,f.stream_ops=yA.stream_ops,f},getMode:function(A){var e;try{e=ur.lstatSync(A),yA.isWindows&&(e.mode=e.mode|(146&e.mode)>>1)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(hA[A.code])}return e.mode},realPath:function(A){for(var e=[];A.parent!==A;)e.push(A.name),A=A.parent;return e.push(A.mount.opts.root),e.reverse(),mA.join.apply(null,e)},flagsToPermissionStringMap:{0:\\\"r\\\",1:\\\"r+\\\",2:\\\"r+\\\",64:\\\"r\\\",65:\\\"r+\\\",66:\\\"r+\\\",129:\\\"rx+\\\",193:\\\"rx+\\\",514:\\\"w+\\\",577:\\\"w\\\",578:\\\"w+\\\",705:\\\"wx\\\",706:\\\"wx+\\\",1024:\\\"a\\\",1025:\\\"a\\\",1026:\\\"a+\\\",1089:\\\"a\\\",1090:\\\"a+\\\",1153:\\\"ax\\\",1154:\\\"ax+\\\",1217:\\\"ax\\\",1218:\\\"ax+\\\",4096:\\\"rs\\\",4098:\\\"rs+\\\"},flagsToPermissionString:function(A){if(A&=-2097153,A&=-2049,A&=-32769,(A&=-524289)in yA.flagsToPermissionStringMap)return yA.flagsToPermissionStringMap[A];throw new EA.ErrnoError(hA.EINVAL)},node_ops:{getattr:function(A){var e,r=yA.realPath(A);try{e=ur.lstatSync(r)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(hA[A.code])}return yA.isWindows&&!e.blksize&&(e.blksize=4096),yA.isWindows&&!e.blocks&&(e.blocks=(e.size+e.blksize-1)/e.blksize|0),{dev:e.dev,ino:e.ino,mode:e.mode,nlink:e.nlink,uid:e.uid,gid:e.gid,rdev:e.rdev,size:e.size,atime:e.atime,mtime:e.mtime,ctime:e.ctime,blksize:e.blksize,blocks:e.blocks}},setattr:function(A,e){var r=yA.realPath(A);try{if(void 0!==e.mode&&(ur.chmodSync(r,e.mode),A.mode=e.mode),void 0!==e.timestamp){var i=new Date(e.timestamp);ur.utimesSync(r,i,i)}void 0!==e.size&&ur.truncateSync(r,e.size)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(hA[A.code])}},lookup:function(A,e){var r=mA.join2(yA.realPath(A),e),i=yA.getMode(r);return yA.createNode(A,e,i)},mknod:function(A,e,r,i){var f=yA.createNode(A,e,r,i),n=yA.realPath(f);try{EA.isDir(f.mode)?ur.mkdirSync(n,f.mode):ur.writeFileSync(n,\\\"\\\",{mode:f.mode})}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(hA[A.code])}return f},rename:function(A,e,r){var i=yA.realPath(A),f=mA.join2(yA.realPath(e),r);try{ur.renameSync(i,f)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(hA[A.code])}},unlink:function(A,e){var r=mA.join2(yA.realPath(A),e);try{ur.unlinkSync(r)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(hA[A.code])}},rmdir:function(A,e){var r=mA.join2(yA.realPath(A),e);try{ur.rmdirSync(r)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(hA[A.code])}},readdir:function(A){var e=yA.realPath(A);try{return ur.readdirSync(e)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(hA[A.code])}},symlink:function(A,e,r){var i=mA.join2(yA.realPath(A),e);try{ur.symlinkSync(r,i)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(hA[A.code])}},readlink:function(A){var e=yA.realPath(A);try{return e=ur.readlinkSync(e),e=br.relative(br.resolve(A.mount.opts.root),e)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(hA[A.code])}}},stream_ops:{open:function(A){var e=yA.realPath(A.node);try{EA.isFile(A.node.mode)&&(A.nfd=ur.openSync(e,yA.flagsToPermissionString(A.flags)))}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(hA[A.code])}},close:function(A){try{EA.isFile(A.node.mode)&&A.nfd&&ur.closeSync(A.nfd)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(hA[A.code])}},read:function(A,e,r,i,f){if(0===i)return 0;var n,t=new Buffer(i);try{n=ur.readSync(A.nfd,t,0,i,f)}catch(A){throw new EA.ErrnoError(hA[A.code])}if(0<n)for(var o=0;o<n;o++)e[r+o]=t[o];return n},write:function(A,e,r,i,f){var n,t=new Buffer(e.subarray(r,r+i));try{n=ur.writeSync(A.nfd,t,0,i,f)}catch(A){throw new EA.ErrnoError(hA[A.code])}return n},llseek:function(A,e,r){var i=e;if(1===r)i+=A.position;else if(2===r&&EA.isFile(A.node.mode))try{i+=ur.fstatSync(A.nfd).size}catch(A){throw new EA.ErrnoError(hA[A.code])}if(i<0)throw new EA.ErrnoError(hA.EINVAL);return i}}},BA={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(A){h(l),BA.reader||(BA.reader=new FileReaderSync);var n=BA.createNode(null,\\\"/\\\",BA.DIR_MODE,0),t={};function i(A){for(var e=A.split(\\\"/\\\"),r=n,i=0;i<e.length-1;i++){var f=e.slice(0,i+1).join(\\\"/\\\");t[f]||(t[f]=BA.createNode(r,e[i],BA.DIR_MODE,0)),r=t[f]}return r}function f(A){var e=A.split(\\\"/\\\");return e[e.length-1]}return Array.prototype.forEach.call(A.opts.files||[],function(A){BA.createNode(i(A.name),f(A.name),BA.FILE_MODE,0,A,A.lastModifiedDate)}),(A.opts.blobs||[]).forEach(function(A){BA.createNode(i(A.name),f(A.name),BA.FILE_MODE,0,A.data)}),(A.opts.packages||[]).forEach(function(r){r.metadata.files.forEach(function(A){var e=A.filename.substr(1);BA.createNode(i(e),f(e),BA.FILE_MODE,0,r.blob.slice(A.start,A.end))})}),n},createNode:function(A,e,r,i,f,n){var t=EA.createNode(A,e,r);return t.mode=r,t.node_ops=BA.node_ops,t.stream_ops=BA.stream_ops,t.timestamp=(n||new Date).getTime(),h(BA.FILE_MODE!==BA.DIR_MODE),r===BA.FILE_MODE?(t.size=f.size,t.contents=f):(t.size=4096,t.contents={}),A&&(A.contents[e]=t),t},node_ops:{getattr:function(A){return{dev:1,ino:void 0,mode:A.mode,nlink:1,uid:0,gid:0,rdev:void 0,size:A.size,atime:new Date(A.timestamp),mtime:new Date(A.timestamp),ctime:new Date(A.timestamp),blksize:4096,blocks:Math.ceil(A.size/4096)}},setattr:function(A,e){void 0!==e.mode&&(A.mode=e.mode),void 0!==e.timestamp&&(A.timestamp=e.timestamp)},lookup:function(A,e){throw new EA.ErrnoError(hA.ENOENT)},mknod:function(A,e,r,i){throw new EA.ErrnoError(hA.EPERM)},rename:function(A,e,r){throw new EA.ErrnoError(hA.EPERM)},unlink:function(A,e){throw new EA.ErrnoError(hA.EPERM)},rmdir:function(A,e){throw new EA.ErrnoError(hA.EPERM)},readdir:function(A){var e=[\\\".\\\",\\\"..\\\"];for(var r in A.contents)A.contents.hasOwnProperty(r)&&e.push(r);return e},symlink:function(A,e,r){throw new EA.ErrnoError(hA.EPERM)},readlink:function(A){throw new EA.ErrnoError(hA.EPERM)}},stream_ops:{read:function(A,e,r,i,f){if(f>=A.node.size)return 0;var n=A.node.contents.slice(f,f+i),t=BA.reader.readAsArrayBuffer(n);return e.set(new Uint8Array(t),r),n.size},write:function(A,e,r,i,f){throw new EA.ErrnoError(hA.EIO)},llseek:function(A,e,r){var i=e;if(1===r?i+=A.position:2===r&&EA.isFile(A.node.mode)&&(i+=A.node.size),i<0)throw new EA.ErrnoError(hA.EINVAL);return i}}};R+=16,R+=16,R+=16;var EA={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:\\\"/\\\",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(A){if(!(A instanceof EA.ErrnoError))throw A+\\\" : \\\"+p();return wA(A.errno)},lookupPath:function(A,e){if(e=e||{},!(A=mA.resolve(EA.cwd(),A)))return{path:\\\"\\\",node:null};var r={follow_mount:!0,recurse_count:0};for(var i in r)void 0===e[i]&&(e[i]=r[i]);if(8<e.recurse_count)throw new EA.ErrnoError(hA.ELOOP);for(var f=mA.normalizeArray(A.split(\\\"/\\\").filter(function(A){return!!A}),!1),n=EA.root,t=\\\"/\\\",o=0;o<f.length;o++){var a=o===f.length-1;if(a&&e.parent)break;if(n=EA.lookupNode(n,f[o]),t=mA.join2(t,f[o]),EA.isMountpoint(n)&&(!a||a&&e.follow_mount)&&(n=n.mounted.root),!a||e.follow)for(var c=0;EA.isLink(n.mode);){var l=EA.readlink(t);if(t=mA.resolve(mA.dirname(t),l),n=EA.lookupPath(t,{recurse_count:e.recurse_count}).node,40<c++)throw new EA.ErrnoError(hA.ELOOP)}}return{path:t,node:n}},getPath:function(A){for(var e;;){if(EA.isRoot(A)){var r=A.mount.mountpoint;return e?\\\"/\\\"!==r[r.length-1]?r+\\\"/\\\"+e:r+e:r}e=e?A.name+\\\"/\\\"+e:A.name,A=A.parent}},hashName:function(A,e){for(var r=0,i=0;i<e.length;i++)r=(r<<5)-r+e.charCodeAt(i)|0;return(A+r>>>0)%EA.nameTable.length},hashAddNode:function(A){var e=EA.hashName(A.parent.id,A.name);A.name_next=EA.nameTable[e],EA.nameTable[e]=A},hashRemoveNode:function(A){var e=EA.hashName(A.parent.id,A.name);if(EA.nameTable[e]===A)EA.nameTable[e]=A.name_next;else for(var r=EA.nameTable[e];r;){if(r.name_next===A){r.name_next=A.name_next;break}r=r.name_next}},lookupNode:function(A,e){var r=EA.mayLookup(A);if(r)throw new EA.ErrnoError(r,A);for(var i=EA.hashName(A.id,e),f=EA.nameTable[i];f;f=f.name_next){var n=f.name;if(f.parent.id===A.id&&n===e)return f}return EA.lookup(A,e)},createNode:function(A,e,r,i){if(!EA.FSNode){EA.FSNode=function(A,e,r,i){A=A||this,this.parent=A,this.mount=A.mount,this.mounted=null,this.id=EA.nextInode++,this.name=e,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=i},EA.FSNode.prototype={};Object.defineProperties(EA.FSNode.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(A){A?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(A){A?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return EA.isDir(this.mode)}},isDevice:{get:function(){return EA.isChrdev(this.mode)}}})}var f=new EA.FSNode(A,e,r,i);return EA.hashAddNode(f),f},destroyNode:function(A){EA.hashRemoveNode(A)},isRoot:function(A){return A===A.parent},isMountpoint:function(A){return!!A.mounted},isFile:function(A){return 32768==(61440&A)},isDir:function(A){return 16384==(61440&A)},isLink:function(A){return 40960==(61440&A)},isChrdev:function(A){return 8192==(61440&A)},isBlkdev:function(A){return 24576==(61440&A)},isFIFO:function(A){return 4096==(61440&A)},isSocket:function(A){return 49152==(49152&A)},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(A){var e=EA.flagModes[A];if(void 0===e)throw new Error(\\\"Unknown file open mode: \\\"+A);return e},flagsToPermissionString:function(A){var e=[\\\"r\\\",\\\"w\\\",\\\"rw\\\"][3&A];return 512&A&&(e+=\\\"w\\\"),e},nodePermissions:function(A,e){return EA.ignorePermissions||(-1===e.indexOf(\\\"r\\\")||292&A.mode)&&(-1===e.indexOf(\\\"w\\\")||146&A.mode)&&(-1===e.indexOf(\\\"x\\\")||73&A.mode)?0:hA.EACCES},mayLookup:function(A){var e=EA.nodePermissions(A,\\\"x\\\");return e||(A.node_ops.lookup?0:hA.EACCES)},mayCreate:function(A,e){try{EA.lookupNode(A,e);return hA.EEXIST}catch(A){}return EA.nodePermissions(A,\\\"wx\\\")},mayDelete:function(A,e,r){var i;try{i=EA.lookupNode(A,e)}catch(A){return A.errno}var f=EA.nodePermissions(A,\\\"wx\\\");if(f)return f;if(r){if(!EA.isDir(i.mode))return hA.ENOTDIR;if(EA.isRoot(i)||EA.getPath(i)===EA.cwd())return hA.EBUSY}else if(EA.isDir(i.mode))return hA.EISDIR;return 0},mayOpen:function(A,e){return A?EA.isLink(A.mode)?hA.ELOOP:EA.isDir(A.mode)&&(\\\"r\\\"!==EA.flagsToPermissionString(e)||512&e)?hA.EISDIR:EA.nodePermissions(A,EA.flagsToPermissionString(e)):hA.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(A,e){A=A||0,e=e||EA.MAX_OPEN_FDS;for(var r=A;r<=e;r++)if(!EA.streams[r])return r;throw new EA.ErrnoError(hA.EMFILE)},getStream:function(A){return EA.streams[A]},createStream:function(A,e,r){EA.FSStream||(EA.FSStream=function(){},EA.FSStream.prototype={},Object.defineProperties(EA.FSStream.prototype,{object:{get:function(){return this.node},set:function(A){this.node=A}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}}));var i=new EA.FSStream;for(var f in A)i[f]=A[f];A=i;var n=EA.nextfd(e,r);return A.fd=n,EA.streams[n]=A},closeStream:function(A){EA.streams[A]=null},chrdev_stream_ops:{open:function(A){var e=EA.getDevice(A.node.rdev);A.stream_ops=e.stream_ops,A.stream_ops.open&&A.stream_ops.open(A)},llseek:function(){throw new EA.ErrnoError(hA.ESPIPE)}},major:function(A){return A>>8},minor:function(A){return 255&A},makedev:function(A,e){return A<<8|e},registerDevice:function(A,e){EA.devices[A]={stream_ops:e}},getDevice:function(A){return EA.devices[A]},getMounts:function(A){for(var e=[],r=[A];r.length;){var i=r.pop();e.push(i),r.push.apply(r,i.mounts)}return e},syncfs:function(e,r){\\\"function\\\"==typeof e&&(r=e,e=!1),EA.syncFSRequests++,1<EA.syncFSRequests&&console.log(\\\"warning: \\\"+EA.syncFSRequests+\\\" FS.syncfs operations in flight at once, probably just doing extra work\\\");var i=EA.getMounts(EA.root.mount),f=0;function n(A){return h(0<EA.syncFSRequests),EA.syncFSRequests--,r(A)}function t(A){if(A)return t.errored?void 0:(t.errored=!0,n(A));++f>=i.length&&n(null)}i.forEach(function(A){if(!A.type.syncfs)return t(null);A.type.syncfs(A,e,t)})},mount:function(A,e,r){var i,f=\\\"/\\\"===r,n=!r;if(f&&EA.root)throw new EA.ErrnoError(hA.EBUSY);if(!f&&!n){var t=EA.lookupPath(r,{follow_mount:!1});if(r=t.path,i=t.node,EA.isMountpoint(i))throw new EA.ErrnoError(hA.EBUSY);if(!EA.isDir(i.mode))throw new EA.ErrnoError(hA.ENOTDIR)}var o={type:A,opts:e,mountpoint:r,mounts:[]},a=A.mount(o);return(a.mount=o).root=a,f?EA.root=a:i&&(i.mounted=o,i.mount&&i.mount.mounts.push(o)),a},unmount:function(A){var e=EA.lookupPath(A,{follow_mount:!1});if(!EA.isMountpoint(e.node))throw new EA.ErrnoError(hA.EINVAL);var r=e.node,i=r.mounted,f=EA.getMounts(i);Object.keys(EA.nameTable).forEach(function(A){for(var e=EA.nameTable[A];e;){var r=e.name_next;-1!==f.indexOf(e.mount)&&EA.destroyNode(e),e=r}}),r.mounted=null;var n=r.mount.mounts.indexOf(i);h(-1!==n),r.mount.mounts.splice(n,1)},lookup:function(A,e){return A.node_ops.lookup(A,e)},mknod:function(A,e,r){var i=EA.lookupPath(A,{parent:!0}).node,f=mA.basename(A);if(!f||\\\".\\\"===f||\\\"..\\\"===f)throw new EA.ErrnoError(hA.EINVAL);var n=EA.mayCreate(i,f);if(n)throw new EA.ErrnoError(n);if(!i.node_ops.mknod)throw new EA.ErrnoError(hA.EPERM);return i.node_ops.mknod(i,f,e,r)},create:function(A,e){return e=void 0!==e?e:438,e&=4095,e|=32768,EA.mknod(A,e,0)},mkdir:function(A,e){return e=void 0!==e?e:511,e&=1023,e|=16384,EA.mknod(A,e,0)},mkdirTree:function(A,e){for(var r=A.split(\\\"/\\\"),i=\\\"\\\",f=0;f<r.length;++f)if(r[f]){i+=\\\"/\\\"+r[f];try{EA.mkdir(i,e)}catch(A){if(A.errno!=hA.EEXIST)throw A}}},mkdev:function(A,e,r){return void 0===r&&(r=e,e=438),e|=8192,EA.mknod(A,e,r)},symlink:function(A,e){if(!mA.resolve(A))throw new EA.ErrnoError(hA.ENOENT);var r=EA.lookupPath(e,{parent:!0}).node;if(!r)throw new EA.ErrnoError(hA.ENOENT);var i=mA.basename(e),f=EA.mayCreate(r,i);if(f)throw new EA.ErrnoError(f);if(!r.node_ops.symlink)throw new EA.ErrnoError(hA.EPERM);return r.node_ops.symlink(r,i,A)},rename:function(e,r){var A,i,f=mA.dirname(e),n=mA.dirname(r),t=mA.basename(e),o=mA.basename(r);try{A=EA.lookupPath(e,{parent:!0}).node,i=EA.lookupPath(r,{parent:!0}).node}catch(A){throw new EA.ErrnoError(hA.EBUSY)}if(!A||!i)throw new EA.ErrnoError(hA.ENOENT);if(A.mount!==i.mount)throw new EA.ErrnoError(hA.EXDEV);var a,c=EA.lookupNode(A,t),l=mA.relative(e,n);if(\\\".\\\"!==l.charAt(0))throw new EA.ErrnoError(hA.EINVAL);if(\\\".\\\"!==(l=mA.relative(r,f)).charAt(0))throw new EA.ErrnoError(hA.ENOTEMPTY);try{a=EA.lookupNode(i,o)}catch(A){}if(c!==a){var u=EA.isDir(c.mode),b=EA.mayDelete(A,t,u);if(b)throw new EA.ErrnoError(b);if(b=a?EA.mayDelete(i,o,u):EA.mayCreate(i,o))throw new EA.ErrnoError(b);if(!A.node_ops.rename)throw new EA.ErrnoError(hA.EPERM);if(EA.isMountpoint(c)||a&&EA.isMountpoint(a))throw new EA.ErrnoError(hA.EBUSY);if(i!==A&&(b=EA.nodePermissions(A,\\\"w\\\")))throw new EA.ErrnoError(b);try{EA.trackingDelegate.willMovePath&&EA.trackingDelegate.willMovePath(e,r)}catch(A){console.log(\\\"FS.trackingDelegate['willMovePath']('\\\"+e+\\\"', '\\\"+r+\\\"') threw an exception: \\\"+A.message)}EA.hashRemoveNode(c);try{A.node_ops.rename(c,i,o)}catch(A){throw A}finally{EA.hashAddNode(c)}try{EA.trackingDelegate.onMovePath&&EA.trackingDelegate.onMovePath(e,r)}catch(A){console.log(\\\"FS.trackingDelegate['onMovePath']('\\\"+e+\\\"', '\\\"+r+\\\"') threw an exception: \\\"+A.message)}}},rmdir:function(e){var A=EA.lookupPath(e,{parent:!0}).node,r=mA.basename(e),i=EA.lookupNode(A,r),f=EA.mayDelete(A,r,!0);if(f)throw new EA.ErrnoError(f);if(!A.node_ops.rmdir)throw new EA.ErrnoError(hA.EPERM);if(EA.isMountpoint(i))throw new EA.ErrnoError(hA.EBUSY);try{EA.trackingDelegate.willDeletePath&&EA.trackingDelegate.willDeletePath(e)}catch(A){console.log(\\\"FS.trackingDelegate['willDeletePath']('\\\"+e+\\\"') threw an exception: \\\"+A.message)}A.node_ops.rmdir(A,r),EA.destroyNode(i);try{EA.trackingDelegate.onDeletePath&&EA.trackingDelegate.onDeletePath(e)}catch(A){console.log(\\\"FS.trackingDelegate['onDeletePath']('\\\"+e+\\\"') threw an exception: \\\"+A.message)}},readdir:function(A){var e=EA.lookupPath(A,{follow:!0}).node;if(!e.node_ops.readdir)throw new EA.ErrnoError(hA.ENOTDIR);return e.node_ops.readdir(e)},unlink:function(e){var A=EA.lookupPath(e,{parent:!0}).node,r=mA.basename(e),i=EA.lookupNode(A,r),f=EA.mayDelete(A,r,!1);if(f)throw new EA.ErrnoError(f);if(!A.node_ops.unlink)throw new EA.ErrnoError(hA.EPERM);if(EA.isMountpoint(i))throw new EA.ErrnoError(hA.EBUSY);try{EA.trackingDelegate.willDeletePath&&EA.trackingDelegate.willDeletePath(e)}catch(A){console.log(\\\"FS.trackingDelegate['willDeletePath']('\\\"+e+\\\"') threw an exception: \\\"+A.message)}A.node_ops.unlink(A,r),EA.destroyNode(i);try{EA.trackingDelegate.onDeletePath&&EA.trackingDelegate.onDeletePath(e)}catch(A){console.log(\\\"FS.trackingDelegate['onDeletePath']('\\\"+e+\\\"') threw an exception: \\\"+A.message)}},readlink:function(A){var e=EA.lookupPath(A).node;if(!e)throw new EA.ErrnoError(hA.ENOENT);if(!e.node_ops.readlink)throw new EA.ErrnoError(hA.EINVAL);return mA.resolve(EA.getPath(e.parent),e.node_ops.readlink(e))},stat:function(A,e){var r=EA.lookupPath(A,{follow:!e}).node;if(!r)throw new EA.ErrnoError(hA.ENOENT);if(!r.node_ops.getattr)throw new EA.ErrnoError(hA.EPERM);return r.node_ops.getattr(r)},lstat:function(A){return EA.stat(A,!0)},chmod:function(A,e,r){var i;\\\"string\\\"==typeof A?i=EA.lookupPath(A,{follow:!r}).node:i=A;if(!i.node_ops.setattr)throw new EA.ErrnoError(hA.EPERM);i.node_ops.setattr(i,{mode:4095&e|-4096&i.mode,timestamp:Date.now()})},lchmod:function(A,e){EA.chmod(A,e,!0)},fchmod:function(A,e){var r=EA.getStream(A);if(!r)throw new EA.ErrnoError(hA.EBADF);EA.chmod(r.node,e)},chown:function(A,e,r,i){var f;\\\"string\\\"==typeof A?f=EA.lookupPath(A,{follow:!i}).node:f=A;if(!f.node_ops.setattr)throw new EA.ErrnoError(hA.EPERM);f.node_ops.setattr(f,{timestamp:Date.now()})},lchown:function(A,e,r){EA.chown(A,e,r,!0)},fchown:function(A,e,r){var i=EA.getStream(A);if(!i)throw new EA.ErrnoError(hA.EBADF);EA.chown(i.node,e,r)},truncate:function(A,e){if(e<0)throw new EA.ErrnoError(hA.EINVAL);var r;\\\"string\\\"==typeof A?r=EA.lookupPath(A,{follow:!0}).node:r=A;if(!r.node_ops.setattr)throw new EA.ErrnoError(hA.EPERM);if(EA.isDir(r.mode))throw new EA.ErrnoError(hA.EISDIR);if(!EA.isFile(r.mode))throw new EA.ErrnoError(hA.EINVAL);var i=EA.nodePermissions(r,\\\"w\\\");if(i)throw new EA.ErrnoError(i);r.node_ops.setattr(r,{size:e,timestamp:Date.now()})},ftruncate:function(A,e){var r=EA.getStream(A);if(!r)throw new EA.ErrnoError(hA.EBADF);if(0==(2097155&r.flags))throw new EA.ErrnoError(hA.EINVAL);EA.truncate(r.node,e)},utime:function(A,e,r){var i=EA.lookupPath(A,{follow:!0}).node;i.node_ops.setattr(i,{timestamp:Math.max(e,r)})},open:function(e,A,r,i,f){if(\\\"\\\"===e)throw new EA.ErrnoError(hA.ENOENT);var n;if(r=void 0===r?438:r,r=64&(A=\\\"string\\\"==typeof A?EA.modeStringToFlags(A):A)?4095&r|32768:0,\\\"object\\\"==typeof e)n=e;else{e=mA.normalize(e);try{n=EA.lookupPath(e,{follow:!(131072&A)}).node}catch(A){}}var t=!1;if(64&A)if(n){if(128&A)throw new EA.ErrnoError(hA.EEXIST)}else n=EA.mknod(e,r,0),t=!0;if(!n)throw new EA.ErrnoError(hA.ENOENT);if(EA.isChrdev(n.mode)&&(A&=-513),65536&A&&!EA.isDir(n.mode))throw new EA.ErrnoError(hA.ENOTDIR);if(!t){var o=EA.mayOpen(n,A);if(o)throw new EA.ErrnoError(o)}512&A&&EA.truncate(n,0),A&=-641;var a=EA.createStream({node:n,path:EA.getPath(n),flags:A,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1},i,f);a.stream_ops.open&&a.stream_ops.open(a),!d.logReadFiles||1&A||(EA.readFiles||(EA.readFiles={}),e in EA.readFiles||(EA.readFiles[e]=1,d.printErr(\\\"read file: \\\"+e)));try{if(EA.trackingDelegate.onOpenFile){var c=0;1!=(2097155&A)&&(c|=EA.tracking.openFlags.READ),0!=(2097155&A)&&(c|=EA.tracking.openFlags.WRITE),EA.trackingDelegate.onOpenFile(e,c)}}catch(A){console.log(\\\"FS.trackingDelegate['onOpenFile']('\\\"+e+\\\"', flags) threw an exception: \\\"+A.message)}return a},close:function(A){A.getdents&&(A.getdents=null);try{A.stream_ops.close&&A.stream_ops.close(A)}catch(A){throw A}finally{EA.closeStream(A.fd)}},llseek:function(A,e,r){if(!A.seekable||!A.stream_ops.llseek)throw new EA.ErrnoError(hA.ESPIPE);return A.position=A.stream_ops.llseek(A,e,r),A.ungotten=[],A.position},read:function(A,e,r,i,f){if(i<0||f<0)throw new EA.ErrnoError(hA.EINVAL);if(1==(2097155&A.flags))throw new EA.ErrnoError(hA.EBADF);if(EA.isDir(A.node.mode))throw new EA.ErrnoError(hA.EISDIR);if(!A.stream_ops.read)throw new EA.ErrnoError(hA.EINVAL);var n=!0;if(void 0===f)f=A.position,n=!1;else if(!A.seekable)throw new EA.ErrnoError(hA.ESPIPE);var t=A.stream_ops.read(A,e,r,i,f);return n||(A.position+=t),t},write:function(A,e,r,i,f,n){if(i<0||f<0)throw new EA.ErrnoError(hA.EINVAL);if(0==(2097155&A.flags))throw new EA.ErrnoError(hA.EBADF);if(EA.isDir(A.node.mode))throw new EA.ErrnoError(hA.EISDIR);if(!A.stream_ops.write)throw new EA.ErrnoError(hA.EINVAL);1024&A.flags&&EA.llseek(A,0,2);var t=!0;if(void 0===f)f=A.position,t=!1;else if(!A.seekable)throw new EA.ErrnoError(hA.ESPIPE);var o=A.stream_ops.write(A,e,r,i,f,n);t||(A.position+=o);try{A.path&&EA.trackingDelegate.onWriteToFile&&EA.trackingDelegate.onWriteToFile(A.path)}catch(A){console.log(\\\"FS.trackingDelegate['onWriteToFile']('\\\"+path+\\\"') threw an exception: \\\"+A.message)}return o},allocate:function(A,e,r){if(e<0||r<=0)throw new EA.ErrnoError(hA.EINVAL);if(0==(2097155&A.flags))throw new EA.ErrnoError(hA.EBADF);if(!EA.isFile(A.node.mode)&&!EA.isDir(A.node.mode))throw new EA.ErrnoError(hA.ENODEV);if(!A.stream_ops.allocate)throw new EA.ErrnoError(hA.EOPNOTSUPP);A.stream_ops.allocate(A,e,r)},mmap:function(A,e,r,i,f,n,t){if(1==(2097155&A.flags))throw new EA.ErrnoError(hA.EACCES);if(!A.stream_ops.mmap)throw new EA.ErrnoError(hA.ENODEV);return A.stream_ops.mmap(A,e,r,i,f,n,t)},msync:function(A,e,r,i,f){return A&&A.stream_ops.msync?A.stream_ops.msync(A,e,r,i,f):0},munmap:function(A){return 0},ioctl:function(A,e,r){if(!A.stream_ops.ioctl)throw new EA.ErrnoError(hA.ENOTTY);return A.stream_ops.ioctl(A,e,r)},readFile:function(A,e){if((e=e||{}).flags=e.flags||\\\"r\\\",e.encoding=e.encoding||\\\"binary\\\",\\\"utf8\\\"!==e.encoding&&\\\"binary\\\"!==e.encoding)throw new Error('Invalid encoding type \\\"'+e.encoding+'\\\"');var r,i=EA.open(A,e.flags),f=EA.stat(A).size,n=new Uint8Array(f);return EA.read(i,n,0,f,0),\\\"utf8\\\"===e.encoding?r=c(n,0):\\\"binary\\\"===e.encoding&&(r=n),EA.close(i),r},writeFile:function(A,e,r){if((r=r||{}).flags=r.flags||\\\"w\\\",r.encoding=r.encoding||\\\"utf8\\\",\\\"utf8\\\"!==r.encoding&&\\\"binary\\\"!==r.encoding)throw new Error('Invalid encoding type \\\"'+r.encoding+'\\\"');var i=EA.open(A,r.flags,r.mode);if(\\\"utf8\\\"===r.encoding){var f=new Uint8Array(Z(e)+1),n=b(e,f,0,f.length);EA.write(i,f,0,n,0,r.canOwn)}else\\\"binary\\\"===r.encoding&&EA.write(i,e,0,e.length,0,r.canOwn);EA.close(i)},cwd:function(){return EA.currentPath},chdir:function(A){var e=EA.lookupPath(A,{follow:!0});if(null===e.node)throw new EA.ErrnoError(hA.ENOENT);if(!EA.isDir(e.node.mode))throw new EA.ErrnoError(hA.ENOTDIR);var r=EA.nodePermissions(e.node,\\\"x\\\");if(r)throw new EA.ErrnoError(r);EA.currentPath=e.path},createDefaultDirectories:function(){EA.mkdir(\\\"/tmp\\\"),EA.mkdir(\\\"/home\\\"),EA.mkdir(\\\"/home/web_user\\\")},createDefaultDevices:function(){var A;if(EA.mkdir(\\\"/dev\\\"),EA.registerDevice(EA.makedev(1,3),{read:function(){return 0},write:function(A,e,r,i,f){return i}}),EA.mkdev(\\\"/dev/null\\\",EA.makedev(1,3)),gA.register(EA.makedev(5,0),gA.default_tty_ops),gA.register(EA.makedev(6,0),gA.default_tty1_ops),EA.mkdev(\\\"/dev/tty\\\",EA.makedev(5,0)),EA.mkdev(\\\"/dev/tty1\\\",EA.makedev(6,0)),\\\"undefined\\\"!=typeof crypto){var e=new Uint8Array(1);A=function(){return crypto.getRandomValues(e),e[0]}}else A=o?function(){return require(\\\"crypto\\\").randomBytes(1)[0]}:function(){return 256*Math.random()|0};EA.createDevice(\\\"/dev\\\",\\\"random\\\",A),EA.createDevice(\\\"/dev\\\",\\\"urandom\\\",A),EA.mkdir(\\\"/dev/shm\\\"),EA.mkdir(\\\"/dev/shm/tmp\\\")},createSpecialDirectories:function(){EA.mkdir(\\\"/proc\\\"),EA.mkdir(\\\"/proc/self\\\"),EA.mkdir(\\\"/proc/self/fd\\\"),EA.mount({mount:function(){var A=EA.createNode(\\\"/proc/self\\\",\\\"fd\\\",16895,73);return A.node_ops={lookup:function(A,e){var r=+e,i=EA.getStream(r);if(!i)throw new EA.ErrnoError(hA.EBADF);var f={parent:null,mount:{mountpoint:\\\"fake\\\"},node_ops:{readlink:function(){return i.path}}};return f.parent=f}},A}},{},\\\"/proc/self/fd\\\")},createStandardStreams:function(){d.stdin?EA.createDevice(\\\"/dev\\\",\\\"stdin\\\",d.stdin):EA.symlink(\\\"/dev/tty\\\",\\\"/dev/stdin\\\"),d.stdout?EA.createDevice(\\\"/dev\\\",\\\"stdout\\\",null,d.stdout):EA.symlink(\\\"/dev/tty\\\",\\\"/dev/stdout\\\"),d.stderr?EA.createDevice(\\\"/dev\\\",\\\"stderr\\\",null,d.stderr):EA.symlink(\\\"/dev/tty1\\\",\\\"/dev/stderr\\\");var A=EA.open(\\\"/dev/stdin\\\",\\\"r\\\");h(0===A.fd,\\\"invalid handle for stdin (\\\"+A.fd+\\\")\\\");var e=EA.open(\\\"/dev/stdout\\\",\\\"w\\\");h(1===e.fd,\\\"invalid handle for stdout (\\\"+e.fd+\\\")\\\");var r=EA.open(\\\"/dev/stderr\\\",\\\"w\\\");h(2===r.fd,\\\"invalid handle for stderr (\\\"+r.fd+\\\")\\\")},ensureErrnoError:function(){EA.ErrnoError||(EA.ErrnoError=function(A,e){this.node=e,this.setErrno=function(A){for(var e in this.errno=A,hA)if(hA[e]===A){this.code=e;break}},this.setErrno(A),this.message=vA[A],this.stack&&Object.defineProperty(this,\\\"stack\\\",{value:(new Error).stack})},EA.ErrnoError.prototype=new Error,EA.ErrnoError.prototype.constructor=EA.ErrnoError,[hA.ENOENT].forEach(function(A){EA.genericErrors[A]=new EA.ErrnoError(A),EA.genericErrors[A].stack=\\\"<generic error, no stack>\\\"}))},staticInit:function(){EA.ensureErrnoError(),EA.nameTable=new Array(4096),EA.mount(ZA,{},\\\"/\\\"),EA.createDefaultDirectories(),EA.createDefaultDevices(),EA.createSpecialDirectories(),EA.filesystems={MEMFS:ZA,IDBFS:pA,NODEFS:yA,WORKERFS:BA}},init:function(A,e,r){h(!EA.init.initialized,\\\"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)\\\"),EA.init.initialized=!0,EA.ensureErrnoError(),d.stdin=A||d.stdin,d.stdout=e||d.stdout,d.stderr=r||d.stderr,EA.createStandardStreams()},quit:function(){EA.init.initialized=!1;var A=d._fflush;A&&A(0);for(var e=0;e<EA.streams.length;e++){var r=EA.streams[e];r&&EA.close(r)}},getMode:function(A,e){var r=0;return A&&(r|=365),e&&(r|=146),r},joinPath:function(A,e){var r=mA.join.apply(null,A);return e&&\\\"/\\\"==r[0]&&(r=r.substr(1)),r},absolutePath:function(A,e){return mA.resolve(e,A)},standardizePath:function(A){return mA.normalize(A)},findObject:function(A,e){var r=EA.analyzePath(A,e);return r.exists?r.object:(wA(r.error),null)},analyzePath:function(A,e){try{A=(i=EA.lookupPath(A,{follow:!e})).path}catch(A){}var r={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var i=EA.lookupPath(A,{parent:!0});r.parentExists=!0,r.parentPath=i.path,r.parentObject=i.node,r.name=mA.basename(A),i=EA.lookupPath(A,{follow:!e}),r.exists=!0,r.path=i.path,r.object=i.node,r.name=i.node.name,r.isRoot=\\\"/\\\"===i.path}catch(A){r.error=A.errno}return r},createFolder:function(A,e,r,i){var f=mA.join2(\\\"string\\\"==typeof A?A:EA.getPath(A),e),n=EA.getMode(r,i);return EA.mkdir(f,n)},createPath:function(A,e,r,i){A=\\\"string\\\"==typeof A?A:EA.getPath(A);for(var f=e.split(\\\"/\\\").reverse();f.length;){var n=f.pop();if(n){var t=mA.join2(A,n);try{EA.mkdir(t)}catch(A){}A=t}}return t},createFile:function(A,e,r,i,f){var n=mA.join2(\\\"string\\\"==typeof A?A:EA.getPath(A),e),t=EA.getMode(i,f);return EA.create(n,t)},createDataFile:function(A,e,r,i,f,n){var t=e?mA.join2(\\\"string\\\"==typeof A?A:EA.getPath(A),e):A,o=EA.getMode(i,f),a=EA.create(t,o);if(r){if(\\\"string\\\"==typeof r){for(var c=new Array(r.length),l=0,u=r.length;l<u;++l)c[l]=r.charCodeAt(l);r=c}EA.chmod(a,146|o);var b=EA.open(a,\\\"w\\\");EA.write(b,r,0,r.length,0,n),EA.close(b),EA.chmod(a,o)}return a},createDevice:function(A,e,a,t){var r=mA.join2(\\\"string\\\"==typeof A?A:EA.getPath(A),e),i=EA.getMode(!!a,!!t);EA.createDevice.major||(EA.createDevice.major=64);var f=EA.makedev(EA.createDevice.major++,0);return EA.registerDevice(f,{open:function(A){A.seekable=!1},close:function(A){t&&t.buffer&&t.buffer.length&&t(10)},read:function(A,e,r,i,f){for(var n=0,t=0;t<i;t++){var o;try{o=a()}catch(A){throw new EA.ErrnoError(hA.EIO)}if(void 0===o&&0===n)throw new EA.ErrnoError(hA.EAGAIN);if(null==o)break;n++,e[r+t]=o}return n&&(A.node.timestamp=Date.now()),n},write:function(A,e,r,i,f){for(var n=0;n<i;n++)try{t(e[r+n])}catch(A){throw new EA.ErrnoError(hA.EIO)}return i&&(A.node.timestamp=Date.now()),n}}),EA.mkdev(r,i,f)},createLink:function(A,e,r,i,f){var n=mA.join2(\\\"string\\\"==typeof A?A:EA.getPath(A),e);return EA.symlink(r,n)},forceLoadFile:function(A){if(A.isDevice||A.isFolder||A.link||A.contents)return!0;var e=!0;if(\\\"undefined\\\"!=typeof XMLHttpRequest)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.\\\");if(!d.read)throw new Error(\\\"Cannot load without read() or XMLHttpRequest.\\\");try{A.contents=dr(d.read(A.url),!0),A.usedBytes=A.contents.length}catch(A){e=!1}return e||wA(hA.EIO),e},createLazyFile:function(A,e,o,r,i){function f(){this.lengthKnown=!1,this.chunks=[]}if(f.prototype.get=function(A){if(!(A>this.length-1||A<0)){var e=A%this.chunkSize,r=A/this.chunkSize|0;return this.getter(r)[e]}},f.prototype.setDataGetter=function(A){this.getter=A},f.prototype.cacheLength=function(){var A=new XMLHttpRequest;if(A.open(\\\"HEAD\\\",o,!1),A.send(null),!(200<=A.status&&A.status<300||304===A.status))throw new Error(\\\"Couldn't load \\\"+o+\\\". Status: \\\"+A.status);var e,i=Number(A.getResponseHeader(\\\"Content-length\\\")),r=(e=A.getResponseHeader(\\\"Accept-Ranges\\\"))&&\\\"bytes\\\"===e,f=(e=A.getResponseHeader(\\\"Content-Encoding\\\"))&&\\\"gzip\\\"===e,n=1048576;r||(n=i);var t=this;t.setDataGetter(function(A){var e=A*n,r=(A+1)*n-1;if(r=Math.min(r,i-1),void 0===t.chunks[A]&&(t.chunks[A]=function(A,e){if(e<A)throw new Error(\\\"invalid range (\\\"+A+\\\", \\\"+e+\\\") or no bytes requested!\\\");if(i-1<e)throw new Error(\\\"only \\\"+i+\\\" bytes available! programmer error!\\\");var r=new XMLHttpRequest;if(r.open(\\\"GET\\\",o,!1),i!==n&&r.setRequestHeader(\\\"Range\\\",\\\"bytes=\\\"+A+\\\"-\\\"+e),\\\"undefined\\\"!=typeof Uint8Array&&(r.responseType=\\\"arraybuffer\\\"),r.overrideMimeType&&r.overrideMimeType(\\\"text/plain; charset=x-user-defined\\\"),r.send(null),!(200<=r.status&&r.status<300||304===r.status))throw new Error(\\\"Couldn't load \\\"+o+\\\". Status: \\\"+r.status);return void 0!==r.response?new Uint8Array(r.response||[]):dr(r.responseText||\\\"\\\",!0)}(e,r)),void 0===t.chunks[A])throw new Error(\\\"doXHR failed!\\\");return t.chunks[A]}),!f&&i||(n=i=1,i=this.getter(0).length,n=i,console.log(\\\"LazyFiles on gzip forces download of the whole file when length is accessed\\\")),this._length=i,this._chunkSize=n,this.lengthKnown=!0},\\\"undefined\\\"!=typeof XMLHttpRequest){if(!l)throw\\\"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\\\";var n=new f;Object.defineProperties(n,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var t={isDevice:!1,contents:n}}else t={isDevice:!1,url:o};var a=EA.createFile(A,e,t,r,i);t.contents?a.contents=t.contents:t.url&&(a.contents=null,a.url=t.url),Object.defineProperties(a,{usedBytes:{get:function(){return this.contents.length}}});var c={};return Object.keys(a.stream_ops).forEach(function(A){var e=a.stream_ops[A];c[A]=function(){if(!EA.forceLoadFile(a))throw new EA.ErrnoError(hA.EIO);return e.apply(null,arguments)}}),c.read=function(A,e,r,i,f){if(!EA.forceLoadFile(a))throw new EA.ErrnoError(hA.EIO);var n=A.node.contents;if(f>=n.length)return 0;var t=Math.min(n.length-f,i);if(h(0<=t),n.slice)for(var o=0;o<t;o++)e[r+o]=n[f+o];else for(o=0;o<t;o++)e[r+o]=n.get(f+o);return t},a.stream_ops=c,a},createPreloadedFile:function(f,n,A,t,o,a,c,l,u,b){Browser.init();var s=n?mA.resolve(mA.join2(f,n)):f;function e(e){function r(A){b&&b(),l||EA.createDataFile(f,n,A,t,o,u),a&&a(),uA()}var i=!1;d.preloadPlugins.forEach(function(A){i||A.canHandle(s)&&(A.handle(e,s,r,function(){c&&c(),uA()}),i=!0)}),i||r(e)}lA(),\\\"string\\\"==typeof A?Browser.asyncLoad(A,function(A){e(A)},c):e(A)},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(e,o,a){o=o||function(){},a=a||function(){};var A=EA.indexedDB();try{var c=A.open(EA.DB_NAME(),EA.DB_VERSION)}catch(A){return a(A)}c.onupgradeneeded=function(){console.log(\\\"creating db\\\"),c.result.createObjectStore(EA.DB_STORE_NAME)},c.onsuccess=function(){var A=c.result.transaction([EA.DB_STORE_NAME],\\\"readwrite\\\"),r=A.objectStore(EA.DB_STORE_NAME),i=0,f=0,n=e.length;function t(){(0==f?o:a)()}e.forEach(function(A){var e=r.put(EA.analyzePath(A).object.contents,A);e.onsuccess=function(){++i+f==n&&t()},e.onerror=function(){i+ ++f==n&&t()}}),A.onerror=a},c.onerror=a},loadFilesFromDB:function(o,a,c){a=a||function(){},c=c||function(){};var A=EA.indexedDB();try{var l=A.open(EA.DB_NAME(),EA.DB_VERSION)}catch(A){return c(A)}l.onupgradeneeded=c,l.onsuccess=function(){var A=l.result;try{var e=A.transaction([EA.DB_STORE_NAME],\\\"readonly\\\")}catch(A){return void c(A)}var r=e.objectStore(EA.DB_STORE_NAME),i=0,f=0,n=o.length;function t(){(0==f?a:c)()}o.forEach(function(A){var e=r.get(A);e.onsuccess=function(){EA.analyzePath(A).exists&&EA.unlink(A),EA.createDataFile(mA.dirname(A),mA.basename(A),e.result,!0,!0,!0),++i+f==n&&t()},e.onerror=function(){i+ ++f==n&&t()}}),e.onerror=c},l.onerror=c}},XA={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function(A,e){if(\\\"/\\\"!==e[0]){var r;if(-100===A)r=EA.cwd();else{var i=EA.getStream(A);if(!i)throw new EA.ErrnoError(hA.EBADF);r=i.path}e=mA.join2(r,e)}return e},doStat:function(A,e,r){try{var i=A(e)}catch(A){if(A&&A.node&&mA.normalize(e)!==mA.normalize(EA.getPath(A.node)))return-hA.ENOTDIR;throw A}return I[r>>2]=i.dev,I[r+4>>2]=0,I[r+8>>2]=i.ino,I[r+12>>2]=i.mode,I[r+16>>2]=i.nlink,I[r+20>>2]=i.uid,I[r+24>>2]=i.gid,I[r+28>>2]=i.rdev,I[r+32>>2]=0,I[r+36>>2]=i.size,I[r+40>>2]=4096,I[r+44>>2]=i.blocks,I[r+48>>2]=i.atime.getTime()/1e3|0,I[r+52>>2]=0,I[r+56>>2]=i.mtime.getTime()/1e3|0,I[r+60>>2]=0,I[r+64>>2]=i.ctime.getTime()/1e3|0,I[r+68>>2]=0,I[r+72>>2]=i.ino,0},doMsync:function(A,e,r,i){var f=new Uint8Array(E.subarray(A,A+r));EA.msync(e,f,0,r,i)},doMkdir:function(A,e){return\\\"/\\\"===(A=mA.normalize(A))[A.length-1]&&(A=A.substr(0,A.length-1)),EA.mkdir(A,e,0),0},doMknod:function(A,e,r){switch(61440&e){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-hA.EINVAL}return EA.mknod(A,e,r),0},doReadlink:function(A,e,r){if(r<=0)return-hA.EINVAL;var i=EA.readlink(A),f=Math.min(r,Z(i)),n=B[e+f];return s(i,e,r+1),B[e+f]=n,f},doAccess:function(A,e){if(-8&e)return-hA.EINVAL;var r;r=EA.lookupPath(A,{follow:!0}).node;var i=\\\"\\\";return 4&e&&(i+=\\\"r\\\"),2&e&&(i+=\\\"w\\\"),1&e&&(i+=\\\"x\\\"),i&&EA.nodePermissions(r,i)?-hA.EACCES:0},doDup:function(A,e,r){var i=EA.getStream(r);return i&&EA.close(i),EA.open(A,e,0,r,r).fd},doReadv:function(A,e,r,i){for(var f=0,n=0;n<r;n++){var t=I[e+8*n>>2],o=I[e+(8*n+4)>>2],a=EA.read(A,B,t,o,i);if(a<0)return-1;if(f+=a,a<o)break}return f},doWritev:function(A,e,r,i){for(var f=0,n=0;n<r;n++){var t=I[e+8*n>>2],o=I[e+(8*n+4)>>2],a=EA.write(A,B,t,o,i);if(a<0)return-1;f+=a}return f},varargs:0,get:function(A){return XA.varargs+=4,I[XA.varargs-4>>2]},getStr:function(){return g(XA.get())},getStreamFromFD:function(){var A=EA.getStream(XA.get());if(!A)throw new EA.ErrnoError(hA.EBADF);return A},getSocketFromFD:function(){var A=SOCKFS.getSocket(XA.get());if(!A)throw new EA.ErrnoError(hA.EBADF);return A},getSocketAddress:function(A){var e=XA.get(),r=XA.get();if(A&&0===e)return null;var i=__read_sockaddr(e,r);if(i.errno)throw new EA.ErrnoError(i.errno);return i.addr=DNS.lookup_addr(i.addr)||i.addr,i},get64:function(){var A=XA.get(),e=XA.get();return h(0<=A?0===e:-1===e),A},getZero:function(){h(0===XA.get())}};var WA=a([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],\\\"i8\\\",v);var IA={};function CA(A){for(;A.length;){var e=A.pop();A.pop()(e)}}function GA(A){return this.fromWireType(C[A>>2])}var VA={},FA={},RA={},NA=48,_A=57;function YA(A){if(void 0===A)return\\\"_unknown\\\";var e=(A=A.replace(/[^a-zA-Z0-9_]/g,\\\"$\\\")).charCodeAt(0);return NA<=e&&e<=_A?\\\"_\\\"+A:A}function QA(A,e){return A=YA(A),new Function(\\\"body\\\",\\\"return function \\\"+A+'() {\\\\n \\\"use strict\\\"; return body.apply(this, arguments);\\\\n};\\\\n')(e)}function DA(A,r){var e=QA(r,function(A){this.name=r,this.message=A;var e=new Error(A).stack;void 0!==e&&(this.stack=this.toString()+\\\"\\\\n\\\"+e.replace(/^Error(:[^\\\\n]*)?\\\\n/,\\\"\\\"))});return e.prototype=Object.create(A.prototype),(e.prototype.constructor=e).prototype.toString=function(){return void 0===this.message?this.name:this.name+\\\": \\\"+this.message},e}var JA=void 0;function MA(A){throw new JA(A)}function TA(i,e,f){function r(A){var e=f(A);e.length!==i.length&&MA(\\\"Mismatched type converter count\\\");for(var r=0;r<i.length;++r)xA(i[r],e[r])}i.forEach(function(A){RA[A]=e});var n=new Array(e.length),t=[],o=0;e.forEach(function(A,e){FA.hasOwnProperty(A)?n[e]=FA[A]:(t.push(A),VA.hasOwnProperty(A)||(VA[A]=[]),VA[A].push(function(){n[e]=FA[A],++o===t.length&&r(n)}))}),0===t.length&&r(n)}function UA(A){switch(A){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(\\\"Unknown type size: \\\"+A)}}function SA(){for(var A=new Array(256),e=0;e<256;++e)A[e]=String.fromCharCode(e);OA=A}var OA=void 0;function zA(A){for(var e=\\\"\\\",r=A;E[r];)e+=OA[E[r++]];return e}var jA=void 0;function HA(A){throw new jA(A)}function xA(A,e,r){if(r=r||{},!(\\\"argPackAdvance\\\"in e))throw new TypeError(\\\"registerType registeredInstance requires argPackAdvance\\\");var i=e.name;if(A||HA('type \\\"'+i+'\\\" must have a positive integer typeid pointer'),FA.hasOwnProperty(A)){if(r.ignoreDuplicateRegistrations)return;HA(\\\"Cannot register type '\\\"+i+\\\"' twice\\\")}if(FA[A]=e,delete RA[A],VA.hasOwnProperty(A)){var f=VA[A];delete VA[A],f.forEach(function(A){A()})}}function PA(A){if(!(this instanceof oe))return!1;if(!(A instanceof oe))return!1;for(var e=this.$$.ptrType.registeredClass,r=this.$$.ptr,i=A.$$.ptrType.registeredClass,f=A.$$.ptr;e.baseClass;)r=e.upcast(r),e=e.baseClass;for(;i.baseClass;)f=i.upcast(f),i=i.baseClass;return e===i&&r===f}function LA(A){return{count:A.count,deleteScheduled:A.deleteScheduled,preservePointerOnDelete:A.preservePointerOnDelete,ptr:A.ptr,ptrType:A.ptrType,smartPtr:A.smartPtr,smartPtrType:A.smartPtrType}}function KA(A){HA(A.$$.ptrType.registeredClass.name+\\\" instance already deleted\\\")}function qA(){if(this.$$.ptr||KA(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var A=Object.create(Object.getPrototypeOf(this),{$$:{value:LA(this.$$)}});return A.$$.count.value+=1,A.$$.deleteScheduled=!1,A}function $A(A){var e=A.$$;e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)}function Ae(){this.$$.ptr||KA(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&HA(\\\"Object already scheduled for deletion\\\"),--this.$$.count.value,0===this.$$.count.value&&$A(this),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function ee(){return!this.$$.ptr}var re=void 0,ie=[];function fe(){for(;ie.length;){var A=ie.pop();A.$$.deleteScheduled=!1,A.delete()}}function ne(){return this.$$.ptr||KA(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&HA(\\\"Object already scheduled for deletion\\\"),ie.push(this),1===ie.length&&re&&re(fe),this.$$.deleteScheduled=!0,this}function te(){oe.prototype.isAliasOf=PA,oe.prototype.clone=qA,oe.prototype.delete=Ae,oe.prototype.isDeleted=ee,oe.prototype.deleteLater=ne}function oe(){}var ae={};function ce(A,e,r){if(void 0===A[e].overloadTable){var i=A[e];A[e]=function(){return A[e].overloadTable.hasOwnProperty(arguments.length)||HA(\\\"Function '\\\"+r+\\\"' called with an invalid number of arguments (\\\"+arguments.length+\\\") - expects one of (\\\"+A[e].overloadTable+\\\")!\\\"),A[e].overloadTable[arguments.length].apply(this,arguments)},A[e].overloadTable=[],A[e].overloadTable[i.argCount]=i}}function le(A,e,r){d.hasOwnProperty(A)?((void 0===r||void 0!==d[A].overloadTable&&void 0!==d[A].overloadTable[r])&&HA(\\\"Cannot register public name '\\\"+A+\\\"' twice\\\"),ce(d,A,A),d.hasOwnProperty(r)&&HA(\\\"Cannot register multiple overloads of a function with the same number of arguments (\\\"+r+\\\")!\\\"),d[A].overloadTable[r]=e):(d[A]=e,void 0!==r&&(d[A].numArguments=r))}function ue(A,e,r,i,f,n,t,o){this.name=A,this.constructor=e,this.instancePrototype=r,this.rawDestructor=i,this.baseClass=f,this.getActualType=n,this.upcast=t,this.downcast=o,this.pureVirtualFunctions=[]}function be(A,e,r){for(;e!==r;)e.upcast||HA(\\\"Expected null or instance of \\\"+r.name+\\\", got an instance of \\\"+e.name),A=e.upcast(A),e=e.baseClass;return A}function se(A,e){if(null===e)return this.isReference&&HA(\\\"null is not a valid \\\"+this.name),0;e.$$||HA('Cannot pass \\\"'+ze(e)+'\\\" as a '+this.name),e.$$.ptr||HA(\\\"Cannot pass deleted object as a pointer of type \\\"+this.name);var r=e.$$.ptrType.registeredClass;return be(e.$$.ptr,r,this.registeredClass)}function de(A,e){var r;if(null===e)return this.isReference&&HA(\\\"null is not a valid \\\"+this.name),this.isSmartPointer?(r=this.rawConstructor(),null!==A&&A.push(this.rawDestructor,r),r):0;e.$$||HA('Cannot pass \\\"'+ze(e)+'\\\" as a '+this.name),e.$$.ptr||HA(\\\"Cannot pass deleted object as a pointer of type \\\"+this.name),!this.isConst&&e.$$.ptrType.isConst&&HA(\\\"Cannot convert argument of type \\\"+(e.$$.smartPtrType?e.$$.smartPtrType.name:e.$$.ptrType.name)+\\\" to parameter type \\\"+this.name);var i=e.$$.ptrType.registeredClass;if(r=be(e.$$.ptr,i,this.registeredClass),this.isSmartPointer)switch(void 0===e.$$.smartPtr&&HA(\\\"Passing raw pointer to smart pointer is illegal\\\"),this.sharingPolicy){case 0:e.$$.smartPtrType===this?r=e.$$.smartPtr:HA(\\\"Cannot convert argument of type \\\"+(e.$$.smartPtrType?e.$$.smartPtrType.name:e.$$.ptrType.name)+\\\" to parameter type \\\"+this.name);break;case 1:r=e.$$.smartPtr;break;case 2:if(e.$$.smartPtrType===this)r=e.$$.smartPtr;else{var f=e.clone();r=this.rawShare(r,Ue(function(){f.delete()})),null!==A&&A.push(this.rawDestructor,r)}break;default:HA(\\\"Unsupporting sharing policy\\\")}return r}function ke(A,e){if(null===e)return this.isReference&&HA(\\\"null is not a valid \\\"+this.name),0;e.$$||HA('Cannot pass \\\"'+ze(e)+'\\\" as a '+this.name),e.$$.ptr||HA(\\\"Cannot pass deleted object as a pointer of type \\\"+this.name),e.$$.ptrType.isConst&&HA(\\\"Cannot convert argument of type \\\"+e.$$.ptrType.name+\\\" to parameter type \\\"+this.name);var r=e.$$.ptrType.registeredClass;return be(e.$$.ptr,r,this.registeredClass)}function he(A){return this.rawGetPointee&&(A=this.rawGetPointee(A)),A}function we(A){this.rawDestructor&&this.rawDestructor(A)}function ve(A){null!==A&&A.delete()}function me(A,e,r){if(e===r)return A;if(void 0===r.baseClass)return null;var i=me(A,e,r.baseClass);return null===i?null:r.downcast(i)}function ge(){return Object.keys(Be).length}function Ze(){var A=[];for(var e in Be)Be.hasOwnProperty(e)&&A.push(Be[e]);return A}function pe(A){re=A,ie.length&&re&&re(fe)}function ye(){d.getInheritedInstanceCount=ge,d.getLiveInheritedInstances=Ze,d.flushPendingDeletes=fe,d.setDelayFunction=pe}var Be={};function Ee(A,e){for(void 0===e&&HA(\\\"ptr should not be undefined\\\");A.baseClass;)e=A.upcast(e),A=A.baseClass;return e}function Xe(A,e){return e=Ee(A,e),Be[e]}function We(A,e){return e.ptrType&&e.ptr||MA(\\\"makeClassHandle requires ptr and ptrType\\\"),!!e.smartPtrType!=!!e.smartPtr&&MA(\\\"Both smartPtrType and smartPtr must be specified\\\"),e.count={value:1},Object.create(A,{$$:{value:e}})}function Ie(A){var e=this.getPointee(A);if(!e)return this.destructor(A),null;var r=Xe(this.registeredClass,e);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=e,r.$$.smartPtr=A,r.clone();var i=r.clone();return this.destructor(A),i}function f(){return this.isSmartPointer?We(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:e,smartPtrType:this,smartPtr:A}):We(this.registeredClass.instancePrototype,{ptrType:this,ptr:A})}var n,t=this.registeredClass.getActualType(e),o=ae[t];if(!o)return f.call(this);n=this.isConst?o.constPointerType:o.pointerType;var a=me(e,this.registeredClass,n.registeredClass);return null===a?f.call(this):this.isSmartPointer?We(n.registeredClass.instancePrototype,{ptrType:n,ptr:a,smartPtrType:this,smartPtr:A}):We(n.registeredClass.instancePrototype,{ptrType:n,ptr:a})}function Ce(){Ge.prototype.getPointee=he,Ge.prototype.destructor=we,Ge.prototype.argPackAdvance=8,Ge.prototype.readValueFromPointer=GA,Ge.prototype.deleteObject=ve,Ge.prototype.fromWireType=Ie}function Ge(A,e,r,i,f,n,t,o,a,c,l){this.name=A,this.registeredClass=e,this.isReference=r,this.isConst=i,this.isSmartPointer=f,this.pointeeType=n,this.sharingPolicy=t,this.rawGetPointee=o,this.rawConstructor=a,this.rawShare=c,this.rawDestructor=l,f||void 0!==e.baseClass?this.toWireType=de:(this.toWireType=i?se:ke,this.destructorFunction=null)}function Ve(A,e,r){d.hasOwnProperty(A)||MA(\\\"Replacing nonexistant public symbol\\\"),void 0!==d[A].overloadTable&&void 0!==r?d[A].overloadTable[r]=e:(d[A]=e,d[A].argCount=r)}function Fe(f,n){var A;if(f=zA(f),void 0!==d[\\\"FUNCTION_TABLE_\\\"+f])A=d[\\\"FUNCTION_TABLE_\\\"+f][n];else if(\\\"undefined\\\"!=typeof FUNCTION_TABLE)A=FUNCTION_TABLE[n];else{var e=d.asm[\\\"dynCall_\\\"+f];void 0===e&&void 0===(e=d.asm[\\\"dynCall_\\\"+f.replace(/f/g,\\\"d\\\")])&&HA(\\\"No dynCall invoker for signature: \\\"+f),A=function(A){for(var e=[],r=1;r<f.length;++r)e.push(\\\"a\\\"+r);var i=\\\"return function \\\"+(\\\"dynCall_\\\"+f+\\\"_\\\"+n)+\\\"(\\\"+e.join(\\\", \\\")+\\\") {\\\\n\\\";return i+=\\\" return dynCall(rawFunction\\\"+(e.length?\\\", \\\":\\\"\\\")+e.join(\\\", \\\")+\\\");\\\\n\\\",i+=\\\"};\\\\n\\\",new Function(\\\"dynCall\\\",\\\"rawFunction\\\",i)(A,n)}(e)}return\\\"function\\\"!=typeof A&&HA(\\\"unknown function pointer with signature \\\"+f+\\\": \\\"+n),A}var Re=void 0;function Ne(A){var e=Wr(A),r=zA(e);return Cr(e),r}function _e(A,e){var r=[],i={};throw e.forEach(function A(e){i[e]||FA[e]||(RA[e]?RA[e].forEach(A):(r.push(e),i[e]=!0))}),new Re(A+\\\": \\\"+r.map(Ne).join([\\\", \\\"]))}var Ye=[],Qe=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function De(A){4<A&&0==--Qe[A].refcount&&(Qe[A]=void 0,Ye.push(A))}function Je(){for(var A=0,e=5;e<Qe.length;++e)void 0!==Qe[e]&&++A;return A}function Me(){for(var A=5;A<Qe.length;++A)if(void 0!==Qe[A])return Qe[A];return null}function Te(){d.count_emval_handles=Je,d.get_first_emval=Me}function Ue(A){switch(A){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var e=Ye.length?Ye.pop():Qe.length;return Qe[e]={refcount:1,value:A},e}}function Se(A,e,r){switch(e){case 0:return function(A){var e=r?B:E;return this.fromWireType(e[A])};case 1:return function(A){var e=r?X:W;return this.fromWireType(e[A>>1])};case 2:return function(A){var e=r?I:C;return this.fromWireType(e[A>>2])};default:throw new TypeError(\\\"Unknown integer type: \\\"+A)}}function Oe(A,e){var r=FA[A];return void 0===r&&HA(e+\\\" has unknown type \\\"+Ne(A)),r}function ze(A){if(null===A)return\\\"null\\\";var e=typeof A;return\\\"object\\\"==e||\\\"array\\\"==e||\\\"function\\\"==e?A.toString():\\\"\\\"+A}function je(A,e){switch(e){case 2:return function(A){return this.fromWireType(G[A>>2])};case 3:return function(A){return this.fromWireType(V[A>>3])};default:throw new TypeError(\\\"Unknown float type: \\\"+A)}}function He(A,e){if(!(A instanceof Function))throw new TypeError(\\\"new_ called with constructor type \\\"+typeof A+\\\" which is not a function\\\");var r=QA(A.name||\\\"unknownFunctionName\\\",function(){});r.prototype=A.prototype;var i=new r,f=A.apply(i,e);return f instanceof Object?f:i}function xe(A,e,r,i,f){var n=e.length;n<2&&HA(\\\"argTypes array size mismatch! Must at least get return value and 'this' types!\\\");for(var t=null!==e[1]&&null!==r,o=!1,a=1;a<e.length;++a)if(null!==e[a]&&void 0===e[a].destructorFunction){o=!0;break}var c=\\\"void\\\"!==e[0].name,l=\\\"\\\",u=\\\"\\\";for(a=0;a<n-2;++a)l+=(0!==a?\\\", \\\":\\\"\\\")+\\\"arg\\\"+a,u+=(0!==a?\\\", \\\":\\\"\\\")+\\\"arg\\\"+a+\\\"Wired\\\";var b=\\\"return function \\\"+YA(A)+\\\"(\\\"+l+\\\") {\\\\nif (arguments.length !== \\\"+(n-2)+\\\") {\\\\nthrowBindingError('function \\\"+A+\\\" called with ' + arguments.length + ' arguments, expected \\\"+(n-2)+\\\" args!');\\\\n}\\\\n\\\";o&&(b+=\\\"var destructors = [];\\\\n\\\");var s=o?\\\"destructors\\\":\\\"null\\\",d=[\\\"throwBindingError\\\",\\\"invoker\\\",\\\"fn\\\",\\\"runDestructors\\\",\\\"retType\\\",\\\"classParam\\\"],k=[HA,i,f,CA,e[0],e[1]];t&&(b+=\\\"var thisWired = classParam.toWireType(\\\"+s+\\\", this);\\\\n\\\");for(a=0;a<n-2;++a)b+=\\\"var arg\\\"+a+\\\"Wired = argType\\\"+a+\\\".toWireType(\\\"+s+\\\", arg\\\"+a+\\\"); // \\\"+e[a+2].name+\\\"\\\\n\\\",d.push(\\\"argType\\\"+a),k.push(e[a+2]);if(t&&(u=\\\"thisWired\\\"+(0<u.length?\\\", \\\":\\\"\\\")+u),b+=(c?\\\"var rv = \\\":\\\"\\\")+\\\"invoker(fn\\\"+(0<u.length?\\\", \\\":\\\"\\\")+u+\\\");\\\\n\\\",o)b+=\\\"runDestructors(destructors);\\\\n\\\";else for(a=t?1:2;a<e.length;++a){var h=1===a?\\\"thisWired\\\":\\\"arg\\\"+(a-2)+\\\"Wired\\\";null!==e[a].destructorFunction&&(b+=h+\\\"_dtor(\\\"+h+\\\"); // \\\"+e[a].name+\\\"\\\\n\\\",d.push(h+\\\"_dtor\\\"),k.push(e[a].destructorFunction))}return c&&(b+=\\\"var ret = retType.fromWireType(rv);\\\\nreturn ret;\\\\n\\\"),b+=\\\"}\\\\n\\\",d.push(b),He(Function,d).apply(null,k)}function Pe(A,e){for(var r=[],i=0;i<A;i++)r.push(I[(e>>2)+i]);return r}function Le(A,e,r){switch(e){case 0:return r?function(A){return B[A]}:function(A){return E[A]};case 1:return r?function(A){return X[A>>1]}:function(A){return W[A>>1]};case 2:return r?function(A){return I[A>>2]}:function(A){return C[A>>2]};default:throw new TypeError(\\\"Unknown integer type: \\\"+A)}}var Ke={};function qe(A){var e=Ke[A];return void 0===e?zA(A):e}function $e(A){return A||HA(\\\"Cannot use deleted val. handle = \\\"+A),Qe[A].value}var Ar=R;function er(A){var e,r;er.called?(r=I[Ar>>2],e=I[r>>2]):(er.called=!0,rr.USER=rr.LOGNAME=\\\"web_user\\\",rr.PATH=\\\"/\\\",rr.PWD=\\\"/\\\",rr.HOME=\\\"/home/web_user\\\",rr.LANG=\\\"C.UTF-8\\\",rr._=d.thisProgram,e=a(1024,\\\"i8\\\",v),r=a(256,\\\"i8*\\\",v),I[r>>2]=e,I[Ar>>2]=r);var i=[],f=0;for(var n in A)if(\\\"string\\\"==typeof A[n]){var t=n+\\\"=\\\"+A[n];i.push(t),f+=t.length}if(1024<f)throw new Error(\\\"Environment size exceeded TOTAL_ENV_SIZE!\\\");for(var o=0;o<i.length;o++){rA(t=i[o],e),I[r+4*o>>2]=e,e+=t.length+1}I[r+4*i.length>>2]=0}R+=16;var rr={};var ir={};var fr=1;function nr(A){return A%4==0&&(A%100!=0||A%400==0)}function tr(A,e){for(var r=0,i=0;i<=e;r+=A[i++]);return r}var or=[31,29,31,30,31,30,31,31,30,31,30,31],ar=[31,28,31,30,31,30,31,31,30,31,30,31];function cr(A,e){for(var r=new Date(A.getTime());0<e;){var i=nr(r.getFullYear()),f=r.getMonth(),n=(i?or:ar)[f];if(!(e>n-r.getDate()))return r.setDate(r.getDate()+e),r;e-=n-r.getDate()+1,r.setDate(1),f<11?r.setMonth(f+1):(r.setMonth(0),r.setFullYear(r.getFullYear()+1))}return r}function lr(A,e,r,i){var f=I[i+40>>2],n={tm_sec:I[i>>2],tm_min:I[i+4>>2],tm_hour:I[i+8>>2],tm_mday:I[i+12>>2],tm_mon:I[i+16>>2],tm_year:I[i+20>>2],tm_wday:I[i+24>>2],tm_yday:I[i+28>>2],tm_isdst:I[i+32>>2],tm_gmtoff:I[i+36>>2],tm_zone:f?g(f):\\\"\\\"},t=g(r),o={\\\"%c\\\":\\\"%a %b %d %H:%M:%S %Y\\\",\\\"%D\\\":\\\"%m/%d/%y\\\",\\\"%F\\\":\\\"%Y-%m-%d\\\",\\\"%h\\\":\\\"%b\\\",\\\"%r\\\":\\\"%I:%M:%S %p\\\",\\\"%R\\\":\\\"%H:%M\\\",\\\"%T\\\":\\\"%H:%M:%S\\\",\\\"%x\\\":\\\"%m/%d/%y\\\",\\\"%X\\\":\\\"%H:%M:%S\\\"};for(var a in o)t=t.replace(new RegExp(a,\\\"g\\\"),o[a]);var c=[\\\"Sunday\\\",\\\"Monday\\\",\\\"Tuesday\\\",\\\"Wednesday\\\",\\\"Thursday\\\",\\\"Friday\\\",\\\"Saturday\\\"],l=[\\\"January\\\",\\\"February\\\",\\\"March\\\",\\\"April\\\",\\\"May\\\",\\\"June\\\",\\\"July\\\",\\\"August\\\",\\\"September\\\",\\\"October\\\",\\\"November\\\",\\\"December\\\"];function u(A,e,r){for(var i=\\\"number\\\"==typeof A?A.toString():A||\\\"\\\";i.length<e;)i=r[0]+i;return i}function b(A,e){return u(A,e,\\\"0\\\")}function s(A,e){function r(A){return A<0?-1:0<A?1:0}var i;return 0===(i=r(A.getFullYear()-e.getFullYear()))&&0===(i=r(A.getMonth()-e.getMonth()))&&(i=r(A.getDate()-e.getDate())),i}function d(A){switch(A.getDay()){case 0:return new Date(A.getFullYear()-1,11,29);case 1:return A;case 2:return new Date(A.getFullYear(),0,3);case 3:return new Date(A.getFullYear(),0,2);case 4:return new Date(A.getFullYear(),0,1);case 5:return new Date(A.getFullYear()-1,11,31);case 6:return new Date(A.getFullYear()-1,11,30)}}function k(A){var e=cr(new Date(A.tm_year+1900,0,1),A.tm_yday),r=new Date(e.getFullYear(),0,4),i=new Date(e.getFullYear()+1,0,4),f=d(r),n=d(i);return s(f,e)<=0?s(n,e)<=0?e.getFullYear()+1:e.getFullYear():e.getFullYear()-1}var h={\\\"%a\\\":function(A){return c[A.tm_wday].substring(0,3)},\\\"%A\\\":function(A){return c[A.tm_wday]},\\\"%b\\\":function(A){return l[A.tm_mon].substring(0,3)},\\\"%B\\\":function(A){return l[A.tm_mon]},\\\"%C\\\":function(A){return b((A.tm_year+1900)/100|0,2)},\\\"%d\\\":function(A){return b(A.tm_mday,2)},\\\"%e\\\":function(A){return u(A.tm_mday,2,\\\" \\\")},\\\"%g\\\":function(A){return k(A).toString().substring(2)},\\\"%G\\\":function(A){return k(A)},\\\"%H\\\":function(A){return b(A.tm_hour,2)},\\\"%I\\\":function(A){var e=A.tm_hour;return 0==e?e=12:12<e&&(e-=12),b(e,2)},\\\"%j\\\":function(A){return b(A.tm_mday+tr(nr(A.tm_year+1900)?or:ar,A.tm_mon-1),3)},\\\"%m\\\":function(A){return b(A.tm_mon+1,2)},\\\"%M\\\":function(A){return b(A.tm_min,2)},\\\"%n\\\":function(){return\\\"\\\\n\\\"},\\\"%p\\\":function(A){return 0<=A.tm_hour&&A.tm_hour<12?\\\"AM\\\":\\\"PM\\\"},\\\"%S\\\":function(A){return b(A.tm_sec,2)},\\\"%t\\\":function(){return\\\"\\\\t\\\"},\\\"%u\\\":function(A){return new Date(A.tm_year+1900,A.tm_mon+1,A.tm_mday,0,0,0,0).getDay()||7},\\\"%U\\\":function(A){var e=new Date(A.tm_year+1900,0,1),r=0===e.getDay()?e:cr(e,7-e.getDay()),i=new Date(A.tm_year+1900,A.tm_mon,A.tm_mday);if(s(r,i)<0){var f=tr(nr(i.getFullYear())?or:ar,i.getMonth()-1)-31,n=31-r.getDate()+f+i.getDate();return b(Math.ceil(n/7),2)}return 0===s(r,e)?\\\"01\\\":\\\"00\\\"},\\\"%V\\\":function(A){var e,r=new Date(A.tm_year+1900,0,4),i=new Date(A.tm_year+1901,0,4),f=d(r),n=d(i),t=cr(new Date(A.tm_year+1900,0,1),A.tm_yday);return s(t,f)<0?\\\"53\\\":s(n,t)<=0?\\\"01\\\":(e=f.getFullYear()<A.tm_year+1900?A.tm_yday+32-f.getDate():A.tm_yday+1-f.getDate(),b(Math.ceil(e/7),2))},\\\"%w\\\":function(A){return new Date(A.tm_year+1900,A.tm_mon+1,A.tm_mday,0,0,0,0).getDay()},\\\"%W\\\":function(A){var e=new Date(A.tm_year,0,1),r=1===e.getDay()?e:cr(e,0===e.getDay()?1:7-e.getDay()+1),i=new Date(A.tm_year+1900,A.tm_mon,A.tm_mday);if(s(r,i)<0){var f=tr(nr(i.getFullYear())?or:ar,i.getMonth()-1)-31,n=31-r.getDate()+f+i.getDate();return b(Math.ceil(n/7),2)}return 0===s(r,e)?\\\"01\\\":\\\"00\\\"},\\\"%y\\\":function(A){return(A.tm_year+1900).toString().substring(2)},\\\"%Y\\\":function(A){return A.tm_year+1900},\\\"%z\\\":function(A){var e=A.tm_gmtoff,r=0<=e;return e=(e=Math.abs(e)/60)/60*100+e%60,(r?\\\"+\\\":\\\"-\\\")+String(\\\"0000\\\"+e).slice(-4)},\\\"%Z\\\":function(A){return A.tm_zone},\\\"%%\\\":function(){return\\\"%\\\"}};for(var a in h)0<=t.indexOf(a)&&(t=t.replace(new RegExp(a,\\\"g\\\"),h[a](n)));var w=dr(t,!1);return w.length>e?0:(eA(w,A),w.length-1)}if(EA.staticInit(),L.unshift(function(){d.noFSInit||EA.init.initialized||EA.init()}),K.push(function(){EA.ignorePermissions=!1}),q.push(function(){EA.quit()}),d.FS_createFolder=EA.createFolder,d.FS_createPath=EA.createPath,d.FS_createDataFile=EA.createDataFile,d.FS_createPreloadedFile=EA.createPreloadedFile,d.FS_createLazyFile=EA.createLazyFile,d.FS_createLink=EA.createLink,d.FS_createDevice=EA.createDevice,d.FS_unlink=EA.unlink,L.unshift(function(){gA.init()}),q.push(function(){gA.shutdown()}),o){var ur=require(\\\"fs\\\"),br=require(\\\"path\\\");yA.staticInit()}JA=d.InternalError=DA(Error,\\\"InternalError\\\"),SA(),jA=d.BindingError=DA(Error,\\\"BindingError\\\"),te(),Ce(),ye(),Re=d.UnboundTypeError=DA(Error,\\\"UnboundTypeError\\\"),Te(),er(rr),D=k.staticAlloc(4),Y=(_=k.alignMemory(R))+j,Q=k.alignMemory(Y),I[D>>2]=Q;var sr=!(N=!0);function dr(A,e,r){var i=0<r?r:Z(A)+1,f=new Array(i),n=b(A,f,0,f.length);return e&&(f.length=n),f}function kr(A){for(var e=[],r=0;r<A.length;r++){var i=A[r];255<i&&(sr&&h(!1,\\\"Character code \\\"+i+\\\" (\\\"+String.fromCharCode(i)+\\\") at offset \\\"+r+\\\" not in 0x00-0xFF.\\\"),i&=255),e.push(String.fromCharCode(i))}return e.join(\\\"\\\")}var hr=\\\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\\\",wr=\\\"function\\\"==typeof atob?atob:function(A){var e,r,i,f,n,t,o=\\\"\\\",a=0;for(A=A.replace(/[^A-Za-z0-9\\\\+\\\\/\\\\=]/g,\\\"\\\");e=hr.indexOf(A.charAt(a++))<<2|(f=hr.indexOf(A.charAt(a++)))>>4,r=(15&f)<<4|(n=hr.indexOf(A.charAt(a++)))>>2,i=(3&n)<<6|(t=hr.indexOf(A.charAt(a++))),o+=String.fromCharCode(e),64!==n&&(o+=String.fromCharCode(r)),64!==t&&(o+=String.fromCharCode(i)),a<A.length;);return o};function vr(A){var e=\\\"data:application/octet-stream;base64,\\\";if(String.prototype.startsWith?A.startsWith(e):0===A.indexOf(e))return function(e){if(\\\"boolean\\\"==typeof o&&o){var r;try{r=Buffer.from(e,\\\"base64\\\")}catch(A){r=new Buffer(e,\\\"base64\\\")}return new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}try{for(var A=wr(e),i=new Uint8Array(A.length),f=0;f<A.length;++f)i[f]=A.charCodeAt(f);return i}catch(A){throw new Error(\\\"Converting base64 string to bytes failed.\\\")}}(A.slice(e.length))}d.asmGlobalArg={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:1/0,byteLength:J},d.asmLibraryArg={abort:Mr,assert:h,enlargeMemory:z,getTotalMemory:function(){return H},abortOnCannotGrowMemory:function(){Mr(\\\"Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value \\\"+H+\\\", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 \\\")},invoke_i:function(A){try{return d.dynCall_i(A)}catch(A){if(\\\"number\\\"!=typeof A&&\\\"longjmp\\\"!==A)throw A;d.setThrew(1,0)}},invoke_ii:function(A,e){try{return d.dynCall_ii(A,e)}catch(A){if(\\\"number\\\"!=typeof A&&\\\"longjmp\\\"!==A)throw A;d.setThrew(1,0)}},invoke_iii:function(A,e,r){try{return d.dynCall_iii(A,e,r)}catch(A){if(\\\"number\\\"!=typeof A&&\\\"longjmp\\\"!==A)throw A;d.setThrew(1,0)}},invoke_iiii:function(A,e,r,i){try{return d.dynCall_iiii(A,e,r,i)}catch(A){if(\\\"number\\\"!=typeof A&&\\\"longjmp\\\"!==A)throw A;d.setThrew(1,0)}},invoke_iiiii:function(A,e,r,i,f){try{return d.dynCall_iiiii(A,e,r,i,f)}catch(A){if(\\\"number\\\"!=typeof A&&\\\"longjmp\\\"!==A)throw A;d.setThrew(1,0)}},invoke_iiiiid:function(A,e,r,i,f,n){try{return d.dynCall_iiiiid(A,e,r,i,f,n)}catch(A){if(\\\"number\\\"!=typeof A&&\\\"longjmp\\\"!==A)throw A;d.setThrew(1,0)}},invoke_iiiiii:function(A,e,r,i,f,n){try{return d.dynCall_iiiiii(A,e,r,i,f,n)}catch(A){if(\\\"number\\\"!=typeof A&&\\\"longjmp\\\"!==A)throw A;d.setThrew(1,0)}},invoke_iiiiiid:function(A,e,r,i,f,n,t){try{return d.dynCall_iiiiiid(A,e,r,i,f,n,t)}catch(A){if(\\\"number\\\"!=typeof A&&\\\"longjmp\\\"!==A)throw A;d.setThrew(1,0)}},invoke_iiiiiii:function(A,e,r,i,f,n,t){try{return d.dynCall_iiiiiii(A,e,r,i,f,n,t)}catch(A){if(\\\"number\\\"!=typeof A&&\\\"longjmp\\\"!==A)throw A;d.setThrew(1,0)}},invoke_iiiiiiii:function(A,e,r,i,f,n,t,o){try{return d.dynCall_iiiiiiii(A,e,r,i,f,n,t,o)}catch(A){if(\\\"number\\\"!=typeof A&&\\\"longjmp\\\"!==A)throw A;d.setThrew(1,0)}},invoke_iiiiiiiii:function(A,e,r,i,f,n,t,o,a){try{return d.dynCall_iiiiiiiii(A,e,r,i,f,n,t,o,a)}catch(A){if(\\\"number\\\"!=typeof A&&\\\"longjmp\\\"!==A)throw A;d.setThrew(1,0)}},invoke_v:function(A){try{d.dynCall_v(A)}catch(A){if(\\\"number\\\"!=typeof A&&\\\"longjmp\\\"!==A)throw A;d.setThrew(1,0)}},invoke_vi:function(A,e){try{d.dynCall_vi(A,e)}catch(A){if(\\\"number\\\"!=typeof A&&\\\"longjmp\\\"!==A)throw A;d.setThrew(1,0)}},invoke_vii:function(A,e,r){try{d.dynCall_vii(A,e,r)}catch(A){if(\\\"number\\\"!=typeof A&&\\\"longjmp\\\"!==A)throw A;d.setThrew(1,0)}},invoke_viii:function(A,e,r,i){try{d.dynCall_viii(A,e,r,i)}catch(A){if(\\\"number\\\"!=typeof A&&\\\"longjmp\\\"!==A)throw A;d.setThrew(1,0)}},invoke_viiii:function(A,e,r,i,f){try{d.dynCall_viiii(A,e,r,i,f)}catch(A){if(\\\"number\\\"!=typeof A&&\\\"longjmp\\\"!==A)throw A;d.setThrew(1,0)}},invoke_viiiii:function(A,e,r,i,f,n){try{d.dynCall_viiiii(A,e,r,i,f,n)}catch(A){if(\\\"number\\\"!=typeof A&&\\\"longjmp\\\"!==A)throw A;d.setThrew(1,0)}},invoke_viiiiii:function(A,e,r,i,f,n,t){try{d.dynCall_viiiiii(A,e,r,i,f,n,t)}catch(A){if(\\\"number\\\"!=typeof A&&\\\"longjmp\\\"!==A)throw A;d.setThrew(1,0)}},invoke_viiiiiii:function(A,e,r,i,f,n,t,o){try{d.dynCall_viiiiiii(A,e,r,i,f,n,t,o)}catch(A){if(\\\"number\\\"!=typeof A&&\\\"longjmp\\\"!==A)throw A;d.setThrew(1,0)}},invoke_viiiiiiii:function(A,e,r,i,f,n,t,o,a){try{d.dynCall_viiiiiiii(A,e,r,i,f,n,t,o,a)}catch(A){if(\\\"number\\\"!=typeof A&&\\\"longjmp\\\"!==A)throw A;d.setThrew(1,0)}},invoke_viiiiiiiii:function(A,e,r,i,f,n,t,o,a,c){try{d.dynCall_viiiiiiiii(A,e,r,i,f,n,t,o,a,c)}catch(A){if(\\\"number\\\"!=typeof A&&\\\"longjmp\\\"!==A)throw A;d.setThrew(1,0)}},invoke_viiiiiiiiii:function(A,e,r,i,f,n,t,o,a,c,l){try{d.dynCall_viiiiiiiiii(A,e,r,i,f,n,t,o,a,c,l)}catch(A){if(\\\"number\\\"!=typeof A&&\\\"longjmp\\\"!==A)throw A;d.setThrew(1,0)}},invoke_viiiiiiiiiiii:function(A,e,r,i,f,n,t,o,a,c,l,u,b){try{d.dynCall_viiiiiiiiiiii(A,e,r,i,f,n,t,o,a,c,l,u,b)}catch(A){if(\\\"number\\\"!=typeof A&&\\\"longjmp\\\"!==A)throw A;d.setThrew(1,0)}},invoke_viiiiiiiiiiiii:function(A,e,r,i,f,n,t,o,a,c,l,u,b,s){try{d.dynCall_viiiiiiiiiiiii(A,e,r,i,f,n,t,o,a,c,l,u,b,s)}catch(A){if(\\\"number\\\"!=typeof A&&\\\"longjmp\\\"!==A)throw A;d.setThrew(1,0)}},ClassHandle:oe,ClassHandle_clone:qA,ClassHandle_delete:Ae,ClassHandle_deleteLater:ne,ClassHandle_isAliasOf:PA,ClassHandle_isDeleted:ee,RegisteredClass:ue,RegisteredPointer:Ge,RegisteredPointer_deleteObject:ve,RegisteredPointer_destructor:we,RegisteredPointer_fromWireType:Ie,RegisteredPointer_getPointee:he,__ZSt18uncaught_exceptionv:dA,___assert_fail:function(A,e,r,i){throw n=!0,\\\"Assertion failed: \\\"+g(A)+\\\", at: \\\"+[e?g(e):\\\"unknown filename\\\",r,i?g(i):\\\"unknown function\\\"]+\\\" at \\\"+p()},___buildEnvironment:er,___cxa_allocate_exception:function(A){return Gr(A)},___cxa_begin_catch:function(A){var e=kA.infos[A];return e&&!e.caught&&(e.caught=!0,dA.uncaught_exception--),e&&(e.rethrown=!1),kA.caught.push(A),kA.addRef(kA.deAdjust(A)),A},___cxa_find_matching_catch:function A(){var e=kA.last;if(!e)return 0|(k.setTempRet0(0),0);var r=kA.infos[e],i=r.type;if(!i)return 0|(k.setTempRet0(0),e);var f=Array.prototype.slice.call(arguments);d.___cxa_is_pointer_type(i);A.buffer||(A.buffer=Gr(4)),I[A.buffer>>2]=e,e=A.buffer;for(var n=0;n<f.length;n++)if(f[n]&&d.___cxa_can_catch(f[n],i,e))return e=I[e>>2],r.adjusted=e,0|(k.setTempRet0(f[n]),e);return e=I[e>>2],0|(k.setTempRet0(i),e)},___cxa_pure_virtual:function(){throw n=!0,\\\"Pure virtual function called!\\\"},___cxa_throw:function(A,e,r){throw kA.infos[A]={ptr:A,adjusted:A,type:e,destructor:r,refcount:0,caught:!1,rethrown:!1},kA.last=A,\\\"uncaught_exception\\\"in dA?dA.uncaught_exception++:dA.uncaught_exception=1,A+\\\" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.\\\"},___gxx_personality_v0:function(){},___lock:function(){},___map_file:function(A,e){return wA(hA.EPERM),-1},___resumeException:function(A){throw kA.last||(kA.last=A),A+\\\" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.\\\"},___setErrNo:wA,___syscall140:function(A,e){XA.varargs=e;try{var r=XA.getStreamFromFD(),i=(XA.get(),XA.get()),f=XA.get(),n=XA.get(),t=i;return EA.llseek(r,t,n),I[f>>2]=r.position,r.getdents&&0===t&&0===n&&(r.getdents=null),0}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||Mr(A),-A.errno}},___syscall145:function(A,e){XA.varargs=e;try{var r=XA.getStreamFromFD(),i=XA.get(),f=XA.get();return XA.doReadv(r,i,f)}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||Mr(A),-A.errno}},___syscall146:function(A,e){XA.varargs=e;try{var r=XA.getStreamFromFD(),i=XA.get(),f=XA.get();return XA.doWritev(r,i,f)}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||Mr(A),-A.errno}},___syscall54:function(A,e){XA.varargs=e;try{var r=XA.getStreamFromFD(),i=XA.get();switch(i){case 21505:case 21506:return r.tty?0:-hA.ENOTTY;case 21519:if(!r.tty)return-hA.ENOTTY;var f=XA.get();return I[f>>2]=0;case 21520:return r.tty?-hA.EINVAL:-hA.ENOTTY;case 21531:f=XA.get();return EA.ioctl(r,i,f);case 21523:return r.tty?0:-hA.ENOTTY;default:Mr(\\\"bad ioctl syscall \\\"+i)}}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||Mr(A),-A.errno}},___syscall6:function(A,e){XA.varargs=e;try{var r=XA.getStreamFromFD();return EA.close(r),0}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||Mr(A),-A.errno}},___syscall91:function(A,e){XA.varargs=e;try{var r=XA.get(),i=XA.get(),f=XA.mappings[r];if(!f)return 0;if(i===f.len){var n=EA.getStream(f.fd);XA.doMsync(r,n,i,f.flags),EA.munmap(n),XA.mappings[r]=null,f.allocated&&Cr(f.malloc)}return 0}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||Mr(A),-A.errno}},___unlock:function(){},__addDays:cr,__arraySum:tr,__embind_finalize_value_object:function(A){var e=IA[A];delete IA[A];var f=e.rawConstructor,n=e.rawDestructor,u=e.fields;TA([A],u.map(function(A){return A.getterReturnType}).concat(u.map(function(A){return A.setterArgumentType})),function(c){var l={};return u.forEach(function(A,e){var r=A.fieldName,i=c[e],f=A.getter,n=A.getterContext,t=c[e+u.length],o=A.setter,a=A.setterContext;l[r]={read:function(A){return i.fromWireType(f(n,A))},write:function(A,e){var r=[];o(a,A,t.toWireType(r,e)),CA(r)}}}),[{name:e.name,fromWireType:function(A){var e={};for(var r in l)e[r]=l[r].read(A);return n(A),e},toWireType:function(A,e){for(var r in l)if(!(r in e))throw new TypeError(\\\"Missing field\\\");var i=f();for(r in l)l[r].write(i,e[r]);return null!==A&&A.push(n,i),i},argPackAdvance:8,readValueFromPointer:GA,destructorFunction:n}]})},__embind_register_bool:function(A,r,i,f,n){var t=UA(i);xA(A,{name:r=zA(r),fromWireType:function(A){return!!A},toWireType:function(A,e){return e?f:n},argPackAdvance:8,readValueFromPointer:function(A){var e;if(1===i)e=B;else if(2===i)e=X;else{if(4!==i)throw new TypeError(\\\"Unknown boolean type size: \\\"+r);e=I}return this.fromWireType(e[A>>t])},destructorFunction:null})},__embind_register_class:function(c,A,e,l,r,u,i,b,f,s,d,n,k){d=zA(d),u=Fe(r,u),b=b&&Fe(i,b),s=s&&Fe(f,s),k=Fe(n,k);var h=YA(d);le(h,function(){_e(\\\"Cannot construct \\\"+d+\\\" due to unbound types\\\",[l])}),TA([c,A,e],l?[l]:[],function(A){var e,r;A=A[0],r=l?(e=A.registeredClass).instancePrototype:oe.prototype;var i=QA(h,function(){if(Object.getPrototypeOf(this)!==f)throw new jA(\\\"Use 'new' to construct \\\"+d);if(void 0===n.constructor_body)throw new jA(d+\\\" has no accessible constructor\\\");var A=n.constructor_body[arguments.length];if(void 0===A)throw new jA(\\\"Tried to invoke ctor of \\\"+d+\\\" with invalid number of parameters (\\\"+arguments.length+\\\") - expected (\\\"+Object.keys(n.constructor_body).toString()+\\\") parameters instead!\\\");return A.apply(this,arguments)}),f=Object.create(r,{constructor:{value:i}});i.prototype=f;var n=new ue(d,i,f,k,e,u,b,s),t=new Ge(d,n,!0,!1,!1),o=new Ge(d+\\\"*\\\",n,!1,!1,!1),a=new Ge(d+\\\" const*\\\",n,!1,!0,!1);return ae[c]={pointerType:o,constPointerType:a},Ve(h,i),[t,o,a]})},__embind_register_emval:function(A,e){xA(A,{name:e=zA(e),fromWireType:function(A){var e=Qe[A].value;return De(A),e},toWireType:function(A,e){return Ue(e)},argPackAdvance:8,readValueFromPointer:GA,destructorFunction:null})},__embind_register_enum:function(A,e,r,i){var f=UA(r);function n(){}e=zA(e),n.values={},xA(A,{name:e,constructor:n,fromWireType:function(A){return this.constructor.values[A]},toWireType:function(A,e){return e.value},argPackAdvance:8,readValueFromPointer:Se(e,f,i),destructorFunction:null}),le(e,n)},__embind_register_enum_value:function(A,e,r){var i=Oe(A,\\\"enum\\\");e=zA(e);var f=i.constructor,n=Object.create(i.constructor.prototype,{value:{value:r},constructor:{value:QA(i.name+\\\"_\\\"+e,function(){})}});f.values[r]=n,f[e]=n},__embind_register_float:function(A,e,r){var i=UA(r);xA(A,{name:e=zA(e),fromWireType:function(A){return A},toWireType:function(A,e){if(\\\"number\\\"!=typeof e&&\\\"boolean\\\"!=typeof e)throw new TypeError('Cannot convert \\\"'+ze(e)+'\\\" to '+this.name);return e},argPackAdvance:8,readValueFromPointer:je(e,i),destructorFunction:null})},__embind_register_function:function(r,i,A,e,f,n){var t=Pe(i,A);r=zA(r),f=Fe(e,f),le(r,function(){_e(\\\"Cannot call \\\"+r+\\\" due to unbound types\\\",t)},i-1),TA([],t,function(A){var e=[A[0],null].concat(A.slice(1));return Ve(r,xe(r,e,null,f,n),i-1),[]})},__embind_register_integer:function(A,r,e,i,f){r=zA(r),-1===f&&(f=4294967295);var n=UA(e),t=function(A){return A};if(0===i){var o=32-8*e;t=function(A){return A<<o>>>o}}var a=-1!=r.indexOf(\\\"unsigned\\\");xA(A,{name:r,fromWireType:t,toWireType:function(A,e){if(\\\"number\\\"!=typeof e&&\\\"boolean\\\"!=typeof e)throw new TypeError('Cannot convert \\\"'+ze(e)+'\\\" to '+this.name);if(e<i||f<e)throw new TypeError('Passing a number \\\"'+ze(e)+'\\\" from JS side to C/C++ side to an argument of type \\\"'+r+'\\\", which is outside the valid range ['+i+\\\", \\\"+f+\\\"]!\\\");return a?e>>>0:0|e},argPackAdvance:8,readValueFromPointer:Le(r,n,0!==i),destructorFunction:null})},__embind_register_memory_view:function(A,e,r){var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][e];function f(A){var e=C[A>>=2],r=C[A+1];return new i(C.buffer,r,e)}xA(A,{name:r=zA(r),fromWireType:f,argPackAdvance:8,readValueFromPointer:f},{ignoreDuplicateRegistrations:!0})},__embind_register_std_string:function(A,e){xA(A,{name:e=zA(e),fromWireType:function(A){for(var e=C[A>>2],r=new Array(e),i=0;i<e;++i)r[i]=String.fromCharCode(E[A+4+i]);return Cr(A),r.join(\\\"\\\")},toWireType:function(A,e){function r(A,e){return A[e]}var i;e instanceof ArrayBuffer&&(e=new Uint8Array(e)),e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Int8Array?i=r:\\\"string\\\"==typeof e?i=function(A,e){return A.charCodeAt(e)}:HA(\\\"Cannot pass non-string to std::string\\\");var f=e.length,n=Gr(4+f);C[n>>2]=f;for(var t=0;t<f;++t){var o=i(e,t);255<o&&(Cr(n),HA(\\\"String has UTF-16 code units that do not fit in 8 bits\\\")),E[n+4+t]=o}return null!==A&&A.push(Cr,n),n},argPackAdvance:8,readValueFromPointer:GA,destructorFunction:function(A){Cr(A)}})},__embind_register_std_wstring:function(A,o,e){var a,c;e=zA(e),2===o?(a=function(){return W},c=1):4===o&&(a=function(){return C},c=2),xA(A,{name:e,fromWireType:function(A){for(var e=a(),r=C[A>>2],i=new Array(r),f=A+4>>c,n=0;n<r;++n)i[n]=String.fromCharCode(e[f+n]);return Cr(A),i.join(\\\"\\\")},toWireType:function(A,e){var r=a(),i=e.length,f=Gr(4+i*o);C[f>>2]=i;for(var n=f+4>>c,t=0;t<i;++t)r[n+t]=e.charCodeAt(t);return null!==A&&A.push(Cr,f),f},argPackAdvance:8,readValueFromPointer:GA,destructorFunction:function(A){Cr(A)}})},__embind_register_value_object:function(A,e,r,i,f,n){IA[A]={name:zA(e),rawConstructor:Fe(r,i),rawDestructor:Fe(f,n),fields:[]}},__embind_register_value_object_field:function(A,e,r,i,f,n,t,o,a,c){IA[A].fields.push({fieldName:zA(e),getterReturnType:r,getter:Fe(i,f),getterContext:n,setterArgumentType:t,setter:Fe(o,a),setterContext:c})},__embind_register_void:function(A,e){xA(A,{isVoid:!0,name:e=zA(e),argPackAdvance:0,fromWireType:function(){},toWireType:function(A,e){}})},__emval_decref:De,__emval_incref:function(A){4<A&&(Qe[A].refcount+=1)},__emval_new_array:function(){return Ue([])},__emval_new_cstring:function(A){return Ue(qe(A))},__emval_new_object:function(){return Ue({})},__emval_register:Ue,__emval_set_property:function(A,e,r){A=$e(A),e=$e(e),r=$e(r),A[e]=r},__emval_take_value:function(A,e){return Ue((A=Oe(A,\\\"_emval_take_value\\\")).readValueFromPointer(e))},__isLeapYear:nr,_abort:function(){d.abort()},_embind_repr:ze,_emscripten_memcpy_big:function(A,e,r){return E.set(E.subarray(e,e+r),A),A},_getenv:function A(e){return 0===e?0:(e=g(e),rr.hasOwnProperty(e)?(A.ret&&Cr(A.ret),A.ret=a(dr(rr[e]),\\\"i8\\\",t)):0)},_pthread_cond_destroy:function(){return 0},_pthread_cond_init:function(){return 0},_pthread_cond_signal:function(){return 0},_pthread_cond_wait:function(){return 0},_pthread_getspecific:function(A){return ir[A]||0},_pthread_join:function(){},_pthread_key_create:function(A,e){return 0==A?hA.EINVAL:(I[A>>2]=fr,ir[fr]=0,fr++,0)},_pthread_mutex_destroy:function(){},_pthread_mutex_init:function(){},_pthread_once:function A(e,r){A.seen||(A.seen={}),e in A.seen||(d.dynCall_v(r),A.seen[e]=1)},_pthread_setspecific:function(A,e){return A in ir?(ir[A]=e,0):hA.EINVAL},_strftime:lr,_strftime_l:function(A,e,r,i){return lr(A,e,r,i)},constNoSmartPtrRawPointerToWireType:se,count_emval_handles:Je,craftInvokerFunction:xe,createNamedFunction:QA,downcastPointer:me,embind_init_charCodes:SA,ensureOverloadTable:ce,enumReadValueFromPointer:Se,exposePublicSymbol:le,extendError:DA,floatReadValueFromPointer:je,flushPendingDeletes:fe,genericPointerToWireType:de,getBasestPointer:Ee,getInheritedInstance:Xe,getInheritedInstanceCount:ge,getLiveInheritedInstances:Ze,getShiftFromSize:UA,getStringOrSymbol:qe,getTypeName:Ne,get_first_emval:Me,heap32VectorToArray:Pe,init_ClassHandle:te,init_RegisteredPointer:Ce,init_embind:ye,init_emval:Te,integerReadValueFromPointer:Le,makeClassHandle:We,makeLegalFunctionName:YA,new_:He,nonConstNoSmartPtrRawPointerToWireType:ke,readLatin1String:zA,registerType:xA,replacePublicSymbol:Ve,requireFunction:Fe,requireHandle:$e,requireRegisteredType:Oe,runDestructor:$A,runDestructors:CA,setDelayFunction:pe,shallowCopyInternalPointer:LA,simpleReadValueFromPointer:GA,throwBindingError:HA,throwInstanceAlreadyDeleted:KA,throwInternalError:MA,throwUnboundTypeError:_e,upcastPointer:be,whenDependentTypesAreResolved:TA,DYNAMICTOP_PTR:D,tempDoublePtr:sA,ABORT:n,STACKTOP:_,STACK_MAX:Y,cttz_i8:WA};var mr,gr=function(A,e,r){var i=A.Int8Array,tr=new i(r),f=A.Int16Array,or=new f(r),n=A.Int32Array,ar=new n(r),t=A.Uint8Array,cr=new t(r),o=A.Uint16Array,lr=new o(r),a=A.Uint32Array,c=(new a(r),A.Float32Array),gA=new c(r),l=A.Float64Array,Q=new l(r),u=A.byteLength,b=0|e.DYNAMICTOP_PTR,d=0|e.tempDoublePtr,ur=(e.ABORT,0|e.STACKTOP),s=(e.STACK_MAX,0|e.cttz_i8),k=0,h=A.NaN,w=A.Infinity,D=0,v=A.Math.floor,V=A.Math.abs,m=(A.Math.sqrt,A.Math.pow,A.Math.cos,A.Math.sin,A.Math.tan,A.Math.acos,A.Math.asin,A.Math.atan,A.Math.atan2,A.Math.exp,A.Math.log,A.Math.ceil),br=A.Math.imul,g=(A.Math.min,A.Math.max,A.Math.clz32),Z=e.abort,p=(e.assert,e.enlargeMemory),y=e.getTotalMemory,B=e.abortOnCannotGrowMemory,E=(e.invoke_i,e.invoke_ii,e.invoke_iii,e.invoke_iiii,e.invoke_iiiii,e.invoke_iiiiid,e.invoke_iiiiii,e.invoke_iiiiiid,e.invoke_iiiiiii,e.invoke_iiiiiiii,e.invoke_iiiiiiiii,e.invoke_v,e.invoke_vi,e.invoke_vii,e.invoke_viii,e.invoke_viiii,e.invoke_viiiii,e.invoke_viiiiii,e.invoke_viiiiiii,e.invoke_viiiiiiii,e.invoke_viiiiiiiii,e.invoke_viiiiiiiiii,e.invoke_viiiiiiiiiiii,e.invoke_viiiiiiiiiiiii,e.ClassHandle,e.ClassHandle_clone,e.ClassHandle_delete,e.ClassHandle_deleteLater,e.ClassHandle_isAliasOf,e.ClassHandle_isDeleted,e.RegisteredClass,e.RegisteredPointer,e.RegisteredPointer_deleteObject,e.RegisteredPointer_destructor,e.RegisteredPointer_fromWireType,e.RegisteredPointer_getPointee,e.__ZSt18uncaught_exceptionv),sr=e.___assert_fail,X=(e.___buildEnvironment,e.___cxa_allocate_exception),W=(e.___cxa_begin_catch,e.___cxa_find_matching_catch,e.___cxa_pure_virtual),I=e.___cxa_throw,C=(e.___gxx_personality_v0,e.___lock),G=e.___map_file,F=(e.___resumeException,e.___setErrNo),R=e.___syscall140,N=e.___syscall145,_=e.___syscall146,Y=e.___syscall54,J=e.___syscall6,M=e.___syscall91,T=e.___unlock,U=(e.__addDays,e.__arraySum,e.__embind_finalize_value_object),S=e.__embind_register_bool,O=e.__embind_register_class,z=e.__embind_register_emval,j=e.__embind_register_enum,H=e.__embind_register_enum_value,x=e.__embind_register_float,P=e.__embind_register_function,L=e.__embind_register_integer,K=e.__embind_register_memory_view,q=e.__embind_register_std_string,$=e.__embind_register_std_wstring,AA=e.__embind_register_value_object,eA=e.__embind_register_value_object_field,rA=e.__embind_register_void,iA=e.__emval_decref,fA=e.__emval_incref,nA=e.__emval_new_array,tA=e.__emval_new_cstring,oA=e.__emval_new_object,aA=(e.__emval_register,e.__emval_set_property),cA=e.__emval_take_value,lA=(e.__isLeapYear,e._abort),uA=(e._embind_repr,e._emscripten_memcpy_big),bA=e._getenv,sA=e._pthread_cond_destroy,dA=e._pthread_cond_init,kA=e._pthread_cond_signal,hA=e._pthread_cond_wait,wA=e._pthread_getspecific,vA=e._pthread_join,mA=e._pthread_key_create,ZA=e._pthread_mutex_destroy,pA=e._pthread_mutex_init,yA=e._pthread_once,BA=e._pthread_setspecific,EA=(e._strftime,e._strftime_l);e.constNoSmartPtrRawPointerToWireType,e.count_emval_handles,e.craftInvokerFunction,e.createNamedFunction,e.downcastPointer,e.embind_init_charCodes,e.ensureOverloadTable,e.enumReadValueFromPointer,e.exposePublicSymbol,e.extendError,e.floatReadValueFromPointer,e.flushPendingDeletes,e.genericPointerToWireType,e.getBasestPointer,e.getInheritedInstance,e.getInheritedInstanceCount,e.getLiveInheritedInstances,e.getShiftFromSize,e.getStringOrSymbol,e.getTypeName,e.get_first_emval,e.heap32VectorToArray,e.init_ClassHandle,e.init_RegisteredPointer,e.init_embind,e.init_emval,e.integerReadValueFromPointer,e.makeClassHandle,e.makeLegalFunctionName,e.new_,e.nonConstNoSmartPtrRawPointerToWireType,e.readLatin1String,e.registerType,e.replacePublicSymbol,e.requireFunction,e.requireHandle,e.requireRegisteredType,e.runDestructor,e.runDestructors,e.setDelayFunction,e.shallowCopyInternalPointer,e.simpleReadValueFromPointer,e.throwBindingError,e.throwInstanceAlreadyDeleted,e.throwInternalError,e.throwUnboundTypeError,e.upcastPointer,e.whenDependentTypesAreResolved;function XA(A){ar[(A|=0)>>2]=4232,(A=0|ar[A+24>>2])&&mu(A)}function WA(A,e,r,i,f){e|=0,r|=0,i|=0,f|=0;var n,t,o,a=0;n=(A|=0)+4|0,t=A+8|0,o=A+12|0,tr[A+24>>0]=0,ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0,ar[A+12>>2]=0,ar[(a=A+16|0)>>2]=r,ar[a+4>>2]=i,a=0|ar[e>>2],(i=r=0|ar[e+4>>2])?(bu(r),r=0|ar[n>>2],ar[A>>2]=a,ar[n>>2]=i,0|r&&du(r)):(ar[A>>2]=a,ar[n>>2]=i),(ar[t>>2]=f)&&(ar[o>>2]=1+(0|ar[f+12>>2]))}function IA(A){var e,r,i,f,n=0;return ur=(f=ur)+16|0,e=f,0|CA(A|=0,1,0)?(r=0|ar[A>>2],(n=0==(0|(i=0|ar[A+4>>2])))||bu(i),A=0|xb[63&ar[16+(0|ar[r>>2])>>2]](r,e,1)?0|tr[e>>0]:(GA(A),0),n||du(i),ur=f,0|(n=A)):(ur=f,(n=0)|n)}function CA(A,e,r){A|=0,e|=0;var i=0,f=0,n=0,t=0,o=0,a=0,c=0;if((0|(r|=0))<0&&sr(55739,47382,290,18687),a=0|ar[(i=c=A+16|0)>>2],!((0|(i=0|ar[i+4>>2]))<(0|r)|(0|i)==(0|r)&a>>>0<e>>>0)){f=0|ar[A+8>>2];do{if(f){if(0|CA(f,e,r)){f=0|ar[(i=c)>>2],i=0|ar[i+4>>2];break}return(c=0)|c}f=a}while(0);return a=0|ob(0|f,0|i,0|e,0|r),ar[c>>2]=a,ar[c+4>>2]=D,0|(c=1)}if(0<(0|i)|0==(0|i)&0<a>>>0){f=0|ar[A+8>>2];do{if(f){for(;;){if(r=0|ar[(n=e=f+16|0)>>2],(0|(n=0|ar[n+4>>2]))<(0|i)|(0|n)==(0|i)&r>>>0<a>>>0){i=7;break}if(r=0|ob(0|r,0|n,0|a,0|i),ar[(n=e)>>2]=r,ar[n+4>>2]=D,!(f=0|ar[f+8>>2])){i=9;break}}if(7==(0|i))sr(18700,47382,327,18717);else if(9==(0|i)){t=0|ar[(o=c)>>2],o=0|ar[o+4>>2];break}}else t=a,o=i}while(0);n=0|ar[A>>2],a=0|ar[n>>2],r=0|ar[a+20>>2],a=0|tb(0|(a=0|jb[127&ar[a+8>>2]](n)),0|D,0|t,0|o),xb[63&r](n,a,D),ar[c>>2]=0,ar[c+4>>2]=0}return tr[A+24>>0]=1,(c=0)|c}function GA(A){var e=0;ar[(e=(A|=0)+16|0)>>2]=0,(e=(ar[e+4>>2]=0)|ar[A+8>>2])&&GA(e),tr[(e=A+24|0)>>0]=1}function VA(A){var e,r,i,f,n=0;return ur=(f=ur)+16|0,e=f,0|CA(A|=0,2,0)?(r=0|ar[A>>2],(n=0==(0|(i=0|ar[A+4>>2])))||bu(i),A=0|xb[63&ar[16+(0|ar[r>>2])>>2]](r,e,2)?65535&((0|cr[e>>0])<<8|0|cr[e+1>>0]):(GA(A),0),n||du(i),ur=f,0|(n=A)):(ur=f,(n=0)|n)}function FA(A){var e,r,i,f,n=0;return ur=(f=ur)+16|0,e=f,0|CA(A|=0,4,0)?(r=0|ar[A>>2],(n=0==(0|(i=0|ar[A+4>>2])))||bu(i),A=0|xb[63&ar[16+(0|ar[r>>2])>>2]](r,e,4)?(0|cr[e+1>>0])<<16|(0|cr[e>>0])<<24|(0|cr[e+2>>0])<<8|0|cr[e+3>>0]:(GA(A),0),n||du(i),ur=f,0|(n=A)):(ur=f,(n=0)|n)}function RA(A,e){A|=0,e|=0;var r,i,f,n=0,t=0,o=0,a=0;ur=(f=ur)+16|0,r=(i=f)+12|0,ar[i>>2]=0,ar[i+4>>2]=0,a=e+16|(ar[i+8>>2]=0);A:do{if(0==(0|ar[a>>2])&0==(0|ar[a+4>>2]))ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0;else{t=e+4|0;e:for(;;){if(!(0|CA(e,1,0))){n=5;break}switch(n=0|ar[e>>2],(a=0==(0|(o=0|ar[t>>2])))||bu(o),n=0|xb[63&ar[16+(0|ar[n>>2])>>2]](n,r,1)?(n=0|tr[r>>0])<<24>>24?(_u(i,n),0):2:(GA(e),ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0,1),a||du(o),3&n){case 0:break;case 2:n=15;break e;default:break A}}if(5==(0|n)){ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0;break}if(15==(0|n)){ar[A>>2]=ar[i>>2],ar[A+4>>2]=ar[i+4>>2],ar[A+8>>2]=ar[i+8>>2],ar[i>>2]=0,ar[i+4>>2]=0,ar[i+8>>2]=0;break}}}while(0);ur=(0<=(0|tr[i+11>>0])||vu(0|ar[i>>2]),f)}function NA(A,e,r){e|=0,r|=0;var i=0;return i=0|ar[(A|=0)>>2],r=0|tb(0|(i=0|jb[127&ar[8+(0|ar[i>>2])>>2]](i)),0|D,0|e,0|r),e=0|ar[A>>2],0|xb[63&ar[12+(0|ar[e>>2])>>2]](e,r,D)}function _A(A,e,r){A|=0,e|=0,r|=0;for(var i=0,f=0,n=0;;){if(f=0|ar[(n=i=A+16|0)>>2],(0|(n=0|ar[n+4>>2]))<(0|r)|(0|n)==(0|r)&f>>>0<e>>>0){A=3;break}if(f=0|ob(0|f,0|n,0|e,0|r),ar[(n=i)>>2]=f,ar[n+4>>2]=D,!(A=0|ar[A+8>>2])){A=5;break}}if(3==(0|A))sr(18700,47382,327,18717);else if(5==(0|A))return}function YA(A,e,r){e|=0,r|=0;var i,f=0,n=0,t=0,o=0,a=0,c=0,l=0;return ar[(A|=0)>>2]=e,ar[A+4>>2]=r,ar[(i=A+8|0)>>2]=r,ar[(a=c=A+16|0)>>2]=0,ar[a+4>>2]=0,ar[(a=A+24|0)>>2]=0,r?(f=e+1|0,ar[A>>2]=f,n=0|cr[e>>0],o=r+-1|0,ar[i>>2]=o,n=0|db(0|n,0,56),t=D,ar[(l=c)>>2]=n,ar[l+4>>2]=t,o?(o=e+2|0,ar[A>>2]=o,f=0|cr[f>>0],l=r+-2|0,ar[i>>2]=l,f=0|db(0|f,0,48),f|=n,n=t|D,ar[(t=c)>>2]=f,ar[t+4>>2]=n,l?(t=e+3|0,ar[A>>2]=t,o=0|cr[o>>0],l=r+-3|0,ar[i>>2]=l,o=0|db(0|o,0,40),o|=f,f=n|D,ar[(n=c)>>2]=o,ar[n+4>>2]=f,l?(n=e+4|0,ar[A>>2]=n,t=0|cr[t>>0],l=r+-4|0,ar[i>>2]=l,f|=t,ar[(t=c)>>2]=o,ar[t+4>>2]=f,l?(t=e+5|0,ar[A>>2]=t,n=0|cr[n>>0],l=r+-5|0,ar[i>>2]=l,n=0|db(0|n,0,24),n|=o,f|=D,ar[(o=c)>>2]=n,ar[o+4>>2]=f,l?(o=e+6|0,ar[A>>2]=o,t=0|cr[t>>0],l=r+-6|0,ar[i>>2]=l,n|=t=0|db(0|t,0,16),f|=D,ar[(t=c)>>2]=n,ar[t+4>>2]=f,l?(t=e+7|0,ar[A>>2]=t,o=0|cr[o>>0],l=r+-7|0,ar[i>>2]=l,n|=o=0|db(0|o,0,8),f|=D,ar[(o=c)>>2]=n,ar[o+4>>2]=f,l=l?(ar[A>>2]=e+8,e=0|cr[t>>0],ar[i>>2]=r+-8,ar[(l=c)>>2]=n|e,ar[l+4>>2]=f,64-(l=0)|0):64-(l=8)|0,void(ar[a>>2]=l)):(l=64-(l=16)|0,void(ar[a>>2]=l))):(l=64-(l=24)|0,void(ar[a>>2]=l))):(l=64-(l=32)|0,void(ar[a>>2]=l))):(l=64-(l=40)|0,void(ar[a>>2]=l))):(l=64-(l=48)|0,void(ar[a>>2]=l))):(l=64-(l=56)|0,void(ar[a>>2]=l))):(c=(c=64)-c|0,void(ar[a>>2]=c))}function QA(A,e){e|=0;var r,i=0,f=0,n=0,t=0,o=0,a=0,c=0,l=0;if((0|(i=0|ar[(r=(A|=0)+24|0)>>2]))<(0|e)){i=64-i|0,n=A+8|0;A:do{if(7<(0|i)){t=A+16|0,f=0|ar[n>>2];do{if(!f)break A;c=0|ar[A>>2],ar[A>>2]=c+1,c=0|cr[c>>0],f=f+-1|0,ar[n>>2]=f,c=0|db(0|c,0,0|(i=i+-8|0)),a=ar[(l=t)+4>>2]|D,ar[(o=t)>>2]=ar[l>>2]|c,ar[o+4>>2]=a}while(7<(0|i))}}while(0);i=64-i|0,ar[r>>2]=i}return l=0|sb(0|(o=0|ar[(a=c=A+16|0)>>2]),0|(a=0|ar[a+4>>2]),64-e|0),a=0|db(0|o,0|a,0|e),ar[c>>2]=a,ar[c+4>>2]=D,ar[r>>2]=i-e,0|l}function DA(A,e){e|=0;var r,i,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0;for(c=(A|=0)+8|0,i=A+16|0,f=(l=0)|ar[(r=A+24|0)>>2];;){if((0|f)<1){f=64-f|0;A:do{if(7<(0|f)){n=0|ar[c>>2];do{if(!n)break A;u=0|ar[A>>2],ar[A>>2]=u+1,u=0|cr[u>>0],n=n+-1|0,ar[c>>2]=n,u=0|db(0|u,0,0|(f=f+-8|0)),t=ar[(b=i)+4>>2]|D,ar[(o=i)>>2]=ar[b>>2]|u,ar[o+4>>2]=t}while(7<(0|f))}}while(0);o=64-f|0,ar[r>>2]=o}else o=f;if(t=0|db(0|(b=0|ar[(u=i)>>2]),0|(u=0|ar[u+4>>2]),1),n=D,ar[(f=i)>>2]=t,ar[f+4>>2]=n,f=o+-1|0,ar[r>>2]=f,!(-1<(0|u)|-1==(0|u)&4294967295<b>>>0))break;if(19<(0|l)){f=0,a=20;break}l=l+1|0}if(20==(0|a))return 0|f;if(!l)return(ar[e>>2]=0)|(b=1);if((0|o)<=(0|l)){f=65-o|0;A:do{if(7<(0|f)){o=0|ar[c>>2];do{if(!o)break A;b=0|ar[A>>2],ar[A>>2]=b+1,b=0|cr[b>>0],o=o+-1|0,ar[c>>2]=o,t|=b=0|db(0|b,0,0|(f=f+-8|0)),n|=D,ar[(b=i)>>2]=t,ar[b+4>>2]=n}while(7<(0|f))}}while(0);f=64-f|0,ar[r>>2]=f}return b=0|sb(0|t,0|n,64-l|0),c=0|db(0|t,0|n,0|l),ar[(u=i)>>2]=c,ar[u+4>>2]=D,ar[r>>2]=f-l,b=b+(1<<l)|0,ar[e>>2]=b+-1,1<(0|b)?0|(b=1):(sr(18749,47382,427,47403),0)}function JA(A,e){e|=0;var r,i,f,n,t=0,o=0,a=0,c=0,l=0,u=0;if((0|(t=0|ar[(r=(A|=0)+12|0)>>2]))!=((o=u=0|ar[(i=A+4|0)>>2])-(n=f=0|ar[A>>2])|0))return ar[r>>2]=t+1,void(tr[n+t>>0]=e);(0|o)==(0|(t=0|ar[(u=A+8|0)>>2]))?((0|(t=(l=t-f|0)+1|0))<0&&zl(),o=l<<1,c=(o=l>>>0<1073741823?o>>>0<t>>>0?t:o:2147483647)?0|hu(o):0,tr[(a=c+l|0)>>0]=e,t=a+(0-l)|0,0<(0|l)&&hb(0|t,0|n,0|l),ar[A>>2]=t,ar[i>>2]=a+1,ar[u>>2]=c+o,0|f&&vu(n)):(tr[o>>0]=e,ar[i>>2]=1+(0|ar[i>>2])),ar[r>>2]=1+(0|ar[r>>2])}function MA(A,e){e|=0;var r,i,f=0,n=0,t=0;t=(n=0|ar[(i=(A|=0)+12|0)>>2])+2|0,f=0|ar[A>>2],(r=(0|ar[A+4>>2])-f|0)>>>0<t>>>0?(TA(A,t-r|0),t=A,n=0|ar[i>>2],f=0|ar[A>>2]):t=A,ar[i>>2]=n+1,tr[f+n>>0]=(65535&e)>>>8,A=0|ar[i>>2],ar[i>>2]=A+1,tr[(0|ar[t>>2])+A>>0]=e}function TA(A,e){var r,i,f=0,n=0,t=0,o=0,a=0;if((e|=0)>>>0<=((t=0|ar[(r=(A|=0)+8|0)>>2])-(f=0|ar[(i=A+4|0)>>2])|0)>>>0)for(;f=1+((tr[f>>0]=0)|ar[i>>2])|0,ar[i>>2]=f,0!=(0|(e=e+-1|0)););else{for((0|(f=(o=f-(n=0|ar[A>>2])|0)+e|0))<0&&zl(),a=(t=t-n|0)<<1,a=(n=(f=t>>>0<1073741823?a>>>0<f>>>0?f:a:2147483647)?0|hu(f):0)+o|0,o=n+f|0,f=t=a;t=f=t+1|(tr[f>>0]=0),0!=(0|(e=e+-1|0)););e=0|ar[A>>2],f=a+(0-(n=(0|ar[i>>2])-e|0))|0,0<(0|n)&&hb(0|f,0|e,0|n),ar[A>>2]=f,ar[i>>2]=t,ar[r>>2]=o,e&&vu(e)}}function UA(A,e){e|=0;var r,i,f=0,n=0,t=0;t=(n=0|ar[(i=(A|=0)+12|0)>>2])+4|0,f=0|ar[A>>2],(r=(0|ar[A+4>>2])-f|0)>>>0<t>>>0?(TA(A,t-r|0),t=A,n=0|ar[i>>2],f=0|ar[A>>2]):t=A,ar[i>>2]=n+1,tr[f+n>>0]=e>>>24,A=0|ar[i>>2],ar[i>>2]=A+1,tr[(0|ar[t>>2])+A>>0]=e>>>16,A=0|ar[i>>2],ar[i>>2]=A+1,tr[(0|ar[t>>2])+A>>0]=e>>>8,A=0|ar[i>>2],ar[i>>2]=A+1,tr[(0|ar[t>>2])+A>>0]=e}function SA(A,e,r,i){A|=0,r|=0,i|=0;var f=0,n=0,t=0;switch(0|(e|=0)){case 1:return i>>>0<0|0==(0|i)&r>>>0<256||sr(18760,47382,543,19563),void JA(A,255&r);case 2:return i>>>0<0|0==(0|i)&r>>>0<65536||sr(18774,47382,547,19563),i=(n=0|ar[(t=A+12|0)>>2])+2|0,e=0|ar[A>>2],(f=(0|ar[A+4>>2])-e|0)>>>0<i>>>0?(TA(A,i-f|0),f=A,i=0|ar[t>>2],e=0|ar[A>>2]):(f=A,i=n),ar[t>>2]=i+1,tr[e+i>>0]=(65535&r)>>>8,A=0|ar[t>>2],ar[t>>2]=A+1,void(tr[(0|ar[f>>2])+A>>0]=r);case 4:return i>>>0<1|1==(0|i)&r>>>0<0||sr(18790,47382,551,19563),i=(n=0|ar[(t=A+12|0)>>2])+4|0,e=0|ar[A>>2],(f=(0|ar[A+4>>2])-e|0)>>>0<i>>>0?(TA(A,i-f|0),f=A,i=0|ar[t>>2],e=0|ar[A>>2]):(f=A,i=n),ar[t>>2]=i+1,tr[e+i>>0]=r>>>24,A=0|ar[t>>2],ar[t>>2]=A+1,tr[(0|ar[f>>2])+A>>0]=r>>>16,A=0|ar[t>>2],ar[t>>2]=A+1,tr[(0|ar[f>>2])+A>>0]=r>>>8,A=0|ar[t>>2],ar[t>>2]=A+1,void(tr[(0|ar[f>>2])+A>>0]=r);case 8:return void function(A,e,r){e|=0,r|=0;var i,f=0,n=0,t=0,o=0;t=(n=0|ar[(i=(A|=0)+12|0)>>2])+8|0,f=0|ar[A>>2],(o=(0|ar[A+4>>2])-f|0)>>>0<t>>>0?(TA(A,t-o|0),t=A,n=0|ar[i>>2],f=0|ar[A>>2]):t=A,A=0|sb(0|e,0|r,56),ar[i>>2]=n+1,tr[f+n>>0]=A,A=0|sb(0|e,0|r,48),o=0|ar[i>>2],ar[i>>2]=o+1,tr[(0|ar[t>>2])+o>>0]=A,o=0|sb(0|e,0|r,40),A=0|ar[i>>2],ar[i>>2]=A+1,tr[(0|ar[t>>2])+A>>0]=o,A=0|ar[i>>2],ar[i>>2]=A+1,A=0|sb(0|e,0|(tr[(0|ar[t>>2])+A>>0]=r),24),o=0|ar[i>>2],ar[i>>2]=o+1,tr[(0|ar[t>>2])+o>>0]=A,o=0|sb(0|e,0|r,16),A=0|ar[i>>2],ar[i>>2]=A+1,tr[(0|ar[t>>2])+A>>0]=o,A=0|sb(0|e,0|r,8),r=0|ar[i>>2],ar[i>>2]=r+1,tr[(0|ar[t>>2])+r>>0]=A,r=0|ar[i>>2],ar[i>>2]=r+1,tr[(0|ar[t>>2])+r>>0]=e}(A,r,i);default:sr(55739,47382,558,19563)}}function OA(A,e){var r=0,i=0,f=0,n=0,t=0,o=0,a=0;if(a=(A|=0)+12|0,n=0|tr[(t=(e|=0)+11|0)>>0],r=0|ar[(o=e+4|0)>>2],i=1+(0|ar[a>>2])+(n<<24>>24<0?r:255&n)|0,(f=(0|ar[A+4>>2])-(0|ar[A>>2])|0)>>>0<i>>>0?(TA(A,i-f|0),f=0|tr[t>>0],r=0|ar[o>>2]):f=n,!(0|(f<<24>>24<0?r:255&f)))return t=A,e=(o=0|ar[a>>2])+1|0,ar[a>>2]=e,a=0|ar[t>>2],void(tr[(a=a+o|0)>>0]=0);for(i=0,r=f;f=0|tr[(r<<24>>24<0?0|ar[e>>2]:e)+i>>0],n=0|ar[a>>2],ar[a>>2]=n+1,tr[(0|ar[A>>2])+n>>0]=f,(i=i+1|0)>>>0<((r=0|tr[t>>0])<<24>>24<0?0|ar[o>>2]:255&r)>>>0;);t=(o=0|ar[a>>2])+1|0,ar[a>>2]=t,a=0|ar[A>>2],tr[(a=a+o|0)>>0]=0}function zA(A,e){e|=0;var r,i,f,n,t=0,o=0,a=0,c=0;a=0|ar[(f=(A|=0)+12|0)>>2],i=(t=0|ar[(n=e+4|0)>>2])-(o=0|ar[e>>2])+a|0,c=0|ar[A>>2],(r=(0|ar[A+4>>2])-c|0)>>>0<i>>>0&&(TA(A,i-r|0),c=0|ar[A>>2],a=0|ar[f>>2],o=0|ar[e>>2],t=0|ar[n>>2]),hb(c+a|0,0|o,t-o|0),ar[f>>2]=(0|ar[n>>2])-(0|ar[e>>2])+(0|ar[f>>2])}function jA(A,e){e|=0;var r,i,f,n,t,o=0,a=0;(0|(o=0|ar[(t=(A|=0)+12|0)>>2]))!=((r=0|ar[(f=A+4|0)>>2])-(i=0|ar[A>>2])|0)&&sr(18810,47382,610,18838),(n=o+e|0)>>>0<=o>>>0?n>>>0<o>>>0&&(0|r)!=(0|(a=i+n|0))&&(ar[f>>2]=a):(TA(A,e),o=0|ar[t>>2]),ar[t>>2]=o+e}function HA(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o,a,c=0,l=0,u=0,b=0;if(ur=(o=ur)+160|0,l=o+136|0,n=(f=o)+56|0,t=f+4|0,ar[f>>2]=292,ar[n>>2]=312,Jf(f+56|0,t),ar[f+128>>2]=0,ar[f+132>>2]=-1,ar[f>>2]=4304,ar[n>>2]=4324,Sf(t),ar[t>>2]=4340,ar[(i=f+36|0)>>2]=0,ar[4+i>>2]=0,ar[8+i>>2]=0,ar[12+i>>2]=0,ar[f+52>>2]=16,ar[l>>2]=0,ar[l+4>>2]=0,ar[l+8>>2]=0,Xe(t,l),(0|tr[l+11>>0])<0&&vu(0|ar[l>>2]),0<(0|ar[r>>2]))for(c=0;We(f,18862,2),(0|(c=c+1|0))<(0|ar[r>>2]););if(b=0|We(f,18865,5),xA(l,e),We(0|We(b,(u=(a=0|tr[(c=l+11|0)>>0])<<24>>24<0)?0|ar[l>>2]:l,u?0|ar[l+4>>2]:255&a),18871,7),(0|tr[c>>0])<0&&vu(0|ar[l>>2]),0<(0|ar[r>>2]))for(c=0;We(f,18862,2),(0|(c=c+1|0))<(0|ar[r>>2]););if(u=0|We(f,18879,6),b=0|We(0|Kf(u,0|ar[(b=e+8|0)>>2],0|ar[b+4>>2]),18886,17),We(0|Lf(b,0|ar[e+16>>2]),18904,2),0|tr[e+36>>0]){if(0<(0|ar[r>>2]))for(c=0;We(f,18862,2),(0|(c=c+1|0))<(0|ar[r>>2]););if(l=0|We(f,18907,9),l=0|We(0|Pf(l,0|cr[e+37>>0]),30086,1),0<(0|ar[r>>2]))for(c=0;We(l,18862,2),(0|(c=c+1|0))<(0|ar[r>>2]););u=(b=0|We(l,18917,7))+(0|ar[(0|ar[b>>2])-12>>2])+4|0,ar[u>>2]=-75&ar[u>>2]|8,We(0|Lf(b,0|ar[e+40>>2]),30086,1)}if(Ie(A,t),ar[f>>2]=4304,ar[n>>2]=4324,ar[t>>2]=4340,0<=(0|tr[11+i>>0]))return kf(t),Gf(),bf(n),void(ur=o);vu(0|ar[i>>2]),kf(t),Gf(),bf(n),ur=o}function Xe(A,e){var r,i,f=0,n=0,t=0,o=0;Eu(r=(A|=0)+32|0,e|=0),8&(t=(ar[(o=A+44|0)>>2]=0)|ar[(i=A+48|0)>>2])|0&&(e=(e=0|tr[11+r>>0])<<24>>24<0?(n=f=e=0|ar[r>>2])+(0|ar[A+36>>2])|0:(n=f=r)+(255&e)|0,ar[o>>2]=e,ar[A+8>>2]=f,ar[A+12>>2]=n,ar[A+16>>2]=e),16&t&&(o=(e=(e=0|tr[(f=11+r|0)>>0])<<24>>24<0?(t=0|ar[A+36>>2],ar[o>>2]=(0|ar[r>>2])+t,(2147483647&ar[A+40>>2])-1|0):(t=255&e,ar[o>>2]=r+t,10),t),Vu(r,e,0),(e=0|tr[f>>0])<<24>>24<0?(t=f=0|ar[r>>2],n=0|ar[A+36>>2]):(n=255&e,f=t=r),ar[(e=A+24|0)>>2]=f,ar[A+20>>2]=f,ar[A+28>>2]=t+n,3&ar[i>>2]&&(ar[e>>2]=f+o))}function We(A,e,r){e|=0,r|=0;var i,f,n,t,o,a,c=0,l=0;return ur=(a=ur)+16|0,n=a+12|0,l=(o=a)+8|0,zf(o,A|=0),0|tr[o>>0]?(c=(0|ar[A>>2])-12|0,ar[l>>2]=ar[A+(0|ar[c>>2])+24>>2],c=A+(0|ar[c>>2])|0,t=0|ar[c+4>>2],f=e+r|0,-1==(0|(r=0|ar[(i=c+76|0)>>2]))&&(Tf(n,c),r=0|un(n,59232),r=0|Hb[31&ar[28+(0|ar[r>>2])>>2]](r,32),bn(n),r=r<<24>>24,ar[i>>2]=r),ar[n>>2]=ar[l>>2],ur=(0|PA(n,e,32==(176&t|0)?f:e,f,c,255&r)||Df(l=A+(0|ar[(0|ar[A>>2])-12>>2])|0,5|ar[l+16>>2]),jf(o),a),0|A):(jf(o),ur=a,0|A)}function xA(A,e){A|=0;var r,i,f,n,t,o,a=0;if(ur=(o=ur)+160|0,n=o+136|0,t=o,1970628964!=(0|(a=0|ar[(e|=0)+20>>2])))return ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0,tr[A+11>>0]=4,tr[A+4>>0]=0,tr[A>>0]=a>>>24,tr[A+1>>0]=a>>>16,tr[A+2>>0]=a>>>8,tr[A+3>>0]=a,void(ur=o);i=t+56|0,f=t+4|0,ar[t>>2]=292,ar[i>>2]=312,Jf(t+56|0,f),ar[t+128>>2]=0,ar[t+132>>2]=-1,ar[t>>2]=4304,ar[i>>2]=4324,Sf(f),ar[f>>2]=4340,ar[(r=t+36|0)>>2]=0,ar[4+r>>2]=0,ar[8+r>>2]=0,ar[12+r>>2]=0,ar[t+52>>2]=16,ar[n>>2]=0,ar[4+n>>2]=0,ar[8+n>>2]=0,Xe(f,n),(0|tr[11+n>>0])<0&&vu(0|ar[n>>2]),a=t+(0|ar[(0|ar[t>>2])-12>>2])+4|0,ar[a>>2]=-75&ar[a>>2]|8,ar[t+(0|ar[(0|ar[t>>2])-12>>2])+76>>2]=48,ar[t+(0|ar[(0|ar[t>>2])-12>>2])+12>>2]=2,e=e+24|0,a=0;do{switch(0|a){case 4:case 6:case 8:case 10:tr[n>>0]=45,We(t,n,1)}Pf(t,0|cr[(0|ar[e>>2])+a>>0]),a=a+1|0}while((0|a)<16);Ie(A,f),ar[t>>2]=4304,ar[i>>2]=4324,ar[f>>2]=4340,(0|tr[11+r>>0])<0&&vu(0|ar[r>>2]),kf(f),Gf(),bf(i),ur=o}function Ie(A,e){A|=0;var r=0,i=0,f=0,n=0;if(16&(r=0|ar[(e|=0)+48>>2])|0){if((i=0|ar[(r=e+44|0)>>2])>>>0<(f=0|ar[e+24>>2])>>>0&&(i=ar[r>>2]=f),r=0|ar[e+20>>2],ar[A>>2]=0,ar[A+4>>2]=0,4294967279<(e=i-r|(ar[A+8>>2]=0))>>>0&&pu(),e>>>0<11?tr[A+11>>0]=e:(f=0|hu(n=e+16&-16),ar[A>>2]=f,ar[A+8>>2]=-2147483648|n,ar[A+4>>2]=e,A=f),(0|r)!=(0|i)){for(f=A;tr[f>>0]=0|tr[r>>0],(0|(r=r+1|0))!=(0|i);)f=f+1|0;A=A+e|0}tr[A>>0]=0}else{if(!(8&r))return ar[A>>2]=0,ar[A+4>>2]=0,void(ar[A+8>>2]=0);if(r=0|ar[e+8>>2],f=0|ar[e+16>>2],ar[A>>2]=0,ar[A+4>>2]=0,4294967279<(e=f-r|(ar[A+8>>2]=0))>>>0&&pu(),e>>>0<11?tr[A+11>>0]=e:(n=0|hu(i=e+16&-16),ar[A>>2]=n,ar[A+8>>2]=-2147483648|i,ar[A+4>>2]=e,A=n),(0|r)!=(0|f)){for(i=A;tr[i>>0]=0|tr[r>>0],(0|(r=r+1|0))!=(0|f);)i=i+1|0;A=A+e|0}tr[A>>0]=0}}function PA(A,e,r,i,f,n){e|=0,r|=0,i|=0,f|=0,n|=0;var t,o,a,c=0,l=0,u=0,b=0;if(ur=(a=ur)+16|0,o=a,!(b=0|ar[(A|=0)>>2]))return ur=a,(b=0)|b;if(l=(0|(l=i-(c=e)|0))<(0|(u=0|ar[(t=f+12|0)>>2]))?u-l|0:0,0<(0|(f=(u=r)-c|0))&&(0|xb[63&ar[48+(0|ar[b>>2])>>2]](b,e,f))!=(0|f))return ar[A>>2]=0,ur=a,(b=0)|b;do{if(0<(0|l)){if(ar[o>>2]=0,ar[o+4>>2]=0,c=l>>>(ar[o+8>>2]=0)<11?(tr[(e=o+11|0)>>0]=l,f=o):(f=0|hu(e=l+16&-16),ar[o>>2]=f,ar[o+8>>2]=-2147483648|e,ar[o+4>>2]=l,e=o+11|0,o),vb(0|f,0|n,0|l),((tr[f+l>>0]=0)|xb[63&ar[48+(0|ar[b>>2])>>2]](b,(0|tr[e>>0])<0?0|ar[c>>2]:o,l))!=(0|l))return((ar[A>>2]=0)|tr[e>>0])<0&&vu(0|ar[c>>2]),ur=a,(b=0)|b;(0|tr[e>>0])<0&&vu(0|ar[c>>2]);break}}while(0);return 0<(0|(i=i-u|0))&&(0|xb[63&ar[48+(0|ar[b>>2])>>2]](b,r,i))!=(0|i)?(ar[A>>2]=0,ur=a,(b=0)|b):(ar[t>>2]=0,ur=a,0|b)}function LA(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o,a,c;if(ur=(a=ur)+160|0,f=a+136|0,t=(n=a)+56|0,o=n+4|0,ar[n>>2]=292,ar[t>>2]=312,Jf(n+56|0,o),ar[n+128>>2]=0,ar[n+132>>2]=-1,ar[n>>2]=4304,ar[t>>2]=4324,Sf(o),ar[o>>2]=4340,ar[(i=n+36|0)>>2]=0,ar[4+i>>2]=0,ar[8+i>>2]=0,ar[12+i>>2]=0,ar[n+52>>2]=16,ar[f>>2]=0,ar[4+f>>2]=0,ar[8+f>>2]=0,Xe(o,f),(0|tr[11+f>>0])<0&&vu(0|ar[f>>2]),HA(f,e,r),We(n,(c=(e=0|tr[(r=11+f|0)>>0])<<24>>24<0)?0|ar[f>>2]:f,c?0|ar[4+f>>2]:255&e),(0|tr[r>>0])<0&&vu(0|ar[f>>2]),Ie(A,o),ar[n>>2]=4304,ar[t>>2]=4324,ar[o>>2]=4340,0<=(0|tr[11+i>>0]))return kf(o),Gf(),bf(t),void(ur=a);vu(0|ar[i>>2]),kf(o),Gf(),bf(t),ur=a}function KA(A,e,r,i){A|=0,r|=0,i|=0;var f,n,t,o,a=0,c=0,l=0;c=0|tr[(f=(e|=0)+36|0)>>0]?12:8,l=1970628964==(0|ar[(o=e+20|0)>>2])?16|c:c,a=(0|ar[(n=r+4|0)>>2])-i-c-(0|ar[r>>2])+l|0,ar[(t=r+12|0)>>2]=i,function(A,e){A|=0;var r,i,f,n,t=0,o=0,a=0,c=0;(0|(e|=0))<=-1&&sr(18843,47382,618,18855),e&&(n=0|ar[(f=A+4|0)>>2],a=c=0|ar[A>>2],(i=(r=(o=n)-c|0)+e|0)>>>0<=r>>>0?i>>>0<r>>>0&&(0|o)!=(0|(t=a+i|0))?ar[f>>2]=t:t=n:(TA(A,e),c=a=0|ar[A>>2],t=0|ar[f>>2]),(t=t-c-e|0)>>>0<=(o=0|ar[A+12>>2])>>>0||wb((A=a+o|0)+e|0,0|A,t-o|0))}(r,l-c|0),UA(r,a),UA(r,0|ar[o>>2]);do{if(1970628964==(0|ar[o>>2])){if(i=e+24|0,16==((0|ar[e+28>>2])-(0|ar[i>>2])|0)){zA(r,i);break}sr(19079,19104,309,19111)}}while(0);do{if(0|tr[f>>0]){if((i=0|ar[e+40>>2])>>>0<16777216){UA(r,cr[e+37>>0]<<24|i);break}sr(19126,19104,314,19111)}}while(0);ar[t>>2]=(0|ar[n>>2])-(0|ar[r>>2]),c=0|ar[(a=56592)+4>>2],ar[(l=A)>>2]=ar[a>>2],ar[l+4>>2]=c,yu(A+8|0,56600)}function Ce(A,e){e|=0;var r,i,f,n,t,o=0,a=0,c=0,l=0;f=(A|=0)+4|0,n=0|ar[A>>2],1073741823<(o=1+(i=(t=(0|ar[f>>2])-n|0)>>2)|0)>>>0&&zl(),a=(c=(0|ar[(l=A+8|0)>>2])-n|0)>>1,a=c>>2>>>0<536870911?a>>>0<o>>>0?o:a:1073741823;do{if(a){if(!(1073741823<a>>>0)){c=0|hu(a<<2);break}Zu(l=0|X(8),44519),ar[l>>2]=17660,I(0|l,4016,428)}else c=0}while(0);ar[(r=c+(i<<2)|0)>>2]=ar[e>>2],o=r+(0-i<<2)|0,0<(0|t)&&hb(0|o,0|n,0|t),ar[A>>2]=o,ar[f>>2]=4+r,ar[l>>2]=c+(a<<2),n&&vu(n)}function qA(A,e,r){A|=0,e|=0;var i,f=0,n=0;if(ur=(i=ur)+16|0,f=i,n=0|FA(r|=0),tr[e+37>>0]=n>>>24,ar[e+40>>2]=16777215&n,tr[e+36>>0]=1,ar[(e=e+16|0)>>2]=4+(0|ar[e>>2]),!(0|tr[r+24>>0]))return f=0|ar[(r=56592)+4>>2],ar[(n=A)>>2]=ar[r>>2],ar[n+4>>2]=f,yu(A+8|0,56600),void(ur=i);ar[f>>2]=0,ar[f+4>>2]=0,ar[f+8>>2]=0,oo(A,2,100,f),ur=(0<=(0|tr[f+11>>0])||vu(0|ar[f>>2]),i)}function $A(A,e,r,i){var f,n,t,o,a,c,l,u,b,s,d,k,h,w,v,m,g,Z,p,y,B,E,X,W,I,C,G,V,F=0,R=0,N=0,_=0,Y=0;ur=(V=ur)+208|0,N=(r|=0)+16|0,c=r+24|0,l=4+(W=V+184|0)|0,u=(e|=0)+44|0,b=e+48|0,k=12+(C=(I=V)+24|0)|0,h=4+C|0,w=s=64+C|0,v=136+C|0,m=140+C|0,Z=60+C|0,p=11+(X=V+192|0)|0,y=d=8+C|0,B=11+(G=V+168|0)|0,E=11+(g=44+C|0)|0,f=e+52|0,n=-1!=(0|(i|=0)),o=11+(t=I+8|0)|0,a=(A|=0)+8|0,e=0;A:for(;!(0==(0|ar[(R=N)>>2])&0==(0|ar[R+4>>2])||0|tr[c>>0]);){ar[W>>2]=0,ar[l>>2]=0,Ae(I,r,W);do{if((0|ar[I>>2])==(0|ar[14148])){if((R=F=0|ar[b>>2])-(0|ar[u>>2])>>3>>>0<=2e4){R>>>0<(0|ar[f>>2])>>>0?(ar[F>>2]=ar[W>>2],ar[R+4>>2]=ar[l>>2],ar[W>>2]=0,ar[l>>2]=0,ar[b>>2]=R+8):ee(u,W),R=(n&(0|(e=e+1|0))==(0|i))<<31>>31;break}ar[d>>2]=4524,ar[C>>2]=188,ar[s>>2]=208,ar[h>>2]=0,Jf(w,k),ar[v>>2]=0,ar[m>>2]=-1,ar[C>>2]=4504,ar[s>>2]=4544,ar[d>>2]=4524,Sf(k),ar[k>>2]=4340,ar[g>>2]=0,ar[4+g>>2]=0,ar[8+g>>2]=0,ar[12+g>>2]=0,ar[Z>>2]=24,ar[X>>2]=0,ar[4+X>>2]=0,ar[8+X>>2]=0,Xe(k,X),(0|tr[p>>0])<0&&vu(0|ar[X>>2]),We(0|Lf(0|We(y,19273,30),2e4),19304,10),Ie(G,k),oo(A,6,1e3,G),(0|tr[B>>0])<0&&vu(0|ar[G>>2]),ar[C>>2]=4504,ar[s>>2]=4544,ar[y>>2]=4524,ar[k>>2]=4340,(0|tr[E>>0])<0&&vu(0|ar[g>>2]),kf(k),_f(),bf(s),R=1}else F=0|ar[(Y=I)+4>>2],ar[(R=A)>>2]=ar[Y>>2],ar[R+4>>2]=F,ar[a>>2]=ar[t>>2],ar[4+a>>2]=ar[4+t>>2],ar[8+a>>2]=ar[8+t>>2],ar[t>>2]=0,ar[4+t>>2]=0,ar[8+t>>2]=0,R=1}while(0);switch((0|tr[o>>0])<0&&vu(0|ar[t>>2]),0|(F=0|ar[l>>2])&&du(F),3&R){case 0:break;case 3:break A;default:_=28;break A}}ur=(28!=(0|_)&&(0|tr[c>>0]?(ar[X>>2]=0,ar[4+X>>2]=0,ar[8+X>>2]=0,oo(A,2,100,X),(0|tr[11+X>>0])<0&&vu(0|ar[X>>2])):(_=0|ar[(N=56592)+4>>2],ar[(Y=A)>>2]=ar[N>>2],ar[Y+4>>2]=_,yu(a,56600))),V)}function Ae(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o,a,c,l,u,b,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0;ur=(b=ur)+320|0,p=b+216|0,l=b+144|0,a=(Z=b)+304|0,n=b+292|0,i=b+280|0,f=b+268|0,t=b+256|0,c=b+248|0,ar[(u=b+168|0)>>2]=4264,o=8+u|0,ar[40+u>>2]=0,ar[o>>2]=0,ar[4+o>>2]=0,ar[8+o>>2]=0,ar[12+o>>2]=0,ar[16+o>>2]=0,ar[20+o>>2]=0,ar[24+o>>2]=0,or[28+o>>1]=0,re(l,u,e);A:do{if(0|ar[l>>2])B=0|ar[(p=l)+4>>2],ar[(y=A)>>2]=ar[p>>2],ar[y+4>>2]=B,B=8+l|0,ar[(y=A+8|0)>>2]=ar[B>>2],ar[y+4>>2]=ar[B+4>>2],ar[y+8>>2]=ar[B+8>>2],ar[B>>2]=0,ar[B+4>>2]=0,ar[B+8>>2]=0;else{if(0|tr[e+24>>0]){ar[p>>2]=0,ar[p+4>>2]=0,ar[p+8>>2]=0,oo(A,2,100,p),(0|tr[p+11>>0])<0&&vu(0|ar[p>>2]);break}s=0|ar[20+u>>2];e:do{if((0|s)<1768714083){if((0|s)<1718909296){if((0|s)<1668246642){if((0|s)<1635135811){switch(0|s){case 1635088451:break;default:g=133;break e}s=0|hu(96),ar[s+4>>2]=0,ar[s+8>>2]=0,ar[s>>2]=5196,ar[(m=s+16|0)>>2]=4264,ar[(d=s+24|0)>>2]=ar[o>>2],ar[d+4>>2]=ar[4+o>>2],ar[d+8>>2]=ar[8+o>>2],ar[d+12>>2]=ar[12+o>>2],ar[(d=s+40|0)>>2]=0,ar[(k=s+44|0)>>2]=0,v=(ar[(h=s+48|0)>>2]=0)|ar[24+u>>2],w=(0|ar[28+u>>2])-v|0;do{if(0|w){if(!((0|w)<0)){y=0|hu(w),ar[k>>2]=y,d=(ar[d>>2]=y)+w|0,ar[h>>2]=d,hb(0|y,0|v,0|w),ar[k>>2]=d;break}zl()}}while(0);v=0|ar[(w=36+u|0)+4>>2],ar[(y=s+52|0)>>2]=ar[w>>2],ar[y+4>>2]=v,ar[s+60>>2]=0,ar[s+64>>2]=0,ar[s+68>>2]=0,ar[m>>2]=5224,ar[(y=s+72|0)>>2]=0,ar[y+4>>2]=0,ar[y+8>>2]=0,ar[y+12>>2]=0,ar[y+16>>2]=0,ar[y+20>>2]=0;break}if((0|s)<1668047216){switch(0|s){case 1635135811:break;default:g=133;break e}s=0|hu(96),ar[s+4>>2]=0,ar[s+8>>2]=0,ar[s>>2]=5556,ar[(m=s+16|0)>>2]=4264,ar[(d=s+24|0)>>2]=ar[o>>2],ar[d+4>>2]=ar[4+o>>2],ar[d+8>>2]=ar[8+o>>2],ar[d+12>>2]=ar[12+o>>2],ar[(d=s+40|0)>>2]=0,ar[(k=s+44|0)>>2]=0,v=(ar[(h=s+48|0)>>2]=0)|ar[24+u>>2],w=(0|ar[28+u>>2])-v|0;do{if(0|w){if(!((0|w)<0)){B=0|hu(w),ar[k>>2]=B,y=(ar[d>>2]=B)+w|0,ar[h>>2]=y,hb(0|B,0|v,0|w),ar[k>>2]=y;break}zl()}}while(0);for(w=0|ar[(B=36+u|0)+4>>2],ar[(h=s+52|0)>>2]=ar[B>>2],ar[h+4>>2]=w,ar[s+60>>2]=0,ar[s+64>>2]=0,ar[s+68>>2]=0,ar[m>>2]=5584,tr[s+72>>0]=1,w=(h=s+73|0)+23|0;(0|(h=h+1|(tr[h>>0]=0)))<(0|w););break}switch(0|s){case 1668047216:break;default:g=133;break e}s=0|hu(104),ar[s+4>>2]=0,ar[s+8>>2]=0,ar[s>>2]=5376,ar[(m=s+16|0)>>2]=4264,ar[(d=s+24|0)>>2]=ar[o>>2],ar[d+4>>2]=ar[4+o>>2],ar[d+8>>2]=ar[8+o>>2],ar[d+12>>2]=ar[12+o>>2],ar[(d=s+40|0)>>2]=0,ar[(k=s+44|0)>>2]=0,v=(ar[(h=s+48|0)>>2]=0)|ar[24+u>>2],w=(0|ar[28+u>>2])-v|0;do{if(0|w){if(!((0|w)<0)){y=0|hu(w),ar[k>>2]=y,B=(ar[d>>2]=y)+w|0,ar[h>>2]=B,hb(0|y,0|v,0|w),ar[k>>2]=B;break}zl()}}while(0);y=0|ar[(v=36+u|0)+4>>2],ar[(B=s+52|0)>>2]=ar[v>>2],ar[B+4>>2]=y,ar[s+60>>2]=0,ar[s+64>>2]=0,ar[s+68>>2]=0,ar[m>>2]=5404,ar[s+72>>2]=0,ar[s+76>>2]=1,ar[s+80>>2]=0,ar[s+84>>2]=1,ar[s+88>>2]=0,ar[s+92>>2]=1,ar[s+96>>2]=0,ar[s+100>>2]=1;break}if((0|s)<1684631142){switch(0|s){case 1668246642:break;default:g=133;break e}s=0|hu(80),ar[s+4>>2]=0,ar[s+8>>2]=0,ar[s>>2]=5916,ar[(m=s+16|0)>>2]=4264,ar[(d=s+24|0)>>2]=ar[o>>2],ar[d+4>>2]=ar[4+o>>2],ar[d+8>>2]=ar[8+o>>2],ar[d+12>>2]=ar[12+o>>2],ar[(d=s+40|0)>>2]=0,ar[(k=s+44|0)>>2]=0,v=(ar[(h=s+48|0)>>2]=0)|ar[24+u>>2],w=(0|ar[28+u>>2])-v|0;do{if(0|w){if(!((0|w)<0)){y=0|hu(w),ar[k>>2]=y,B=(ar[d>>2]=y)+w|0,ar[h>>2]=B,hb(0|y,0|v,0|w),ar[k>>2]=B;break}zl()}}while(0);y=0|ar[(v=36+u|0)+4>>2],ar[(B=s+52|0)>>2]=ar[v>>2],ar[B+4>>2]=y,ar[s+60>>2]=0,ar[s+64>>2]=0,ar[s+68>>2]=0,ar[m>>2]=5944,ar[s+72>>2]=0,ar[s+76>>2]=0;break}if((0|s)<1685218662){switch(0|s){case 1684631142:break;default:g=133;break e}s=0|hu(72),ar[s+4>>2]=0,ar[s+8>>2]=0,ar[s>>2]=5736,ar[(m=s+16|0)>>2]=4264,ar[(d=s+24|0)>>2]=ar[o>>2],ar[d+4>>2]=ar[4+o>>2],ar[d+8>>2]=ar[8+o>>2],ar[d+12>>2]=ar[12+o>>2],ar[(d=s+40|0)>>2]=0,ar[(k=s+44|0)>>2]=0,v=(ar[(h=s+48|0)>>2]=0)|ar[24+u>>2],w=(0|ar[28+u>>2])-v|0;do{if(0|w){if(!((0|w)<0)){y=0|hu(w),ar[k>>2]=y,B=(ar[d>>2]=y)+w|0,ar[h>>2]=B,hb(0|y,0|v,0|w),ar[k>>2]=B;break}zl()}}while(0);y=0|ar[(v=36+u|0)+4>>2],ar[(B=s+52|0)>>2]=ar[v>>2],ar[B+4>>2]=y,ar[s+60>>2]=0,ar[s+64>>2]=0,ar[s+68>>2]=0,ar[m>>2]=5764;break}switch(0|s){case 1685218662:break;default:g=133;break e}s=0|hu(72),ar[s+4>>2]=0,ar[s+8>>2]=0,ar[s>>2]=5796,ar[(m=s+16|0)>>2]=4264,ar[(d=s+24|0)>>2]=ar[o>>2],ar[d+4>>2]=ar[4+o>>2],ar[d+8>>2]=ar[8+o>>2],ar[d+12>>2]=ar[12+o>>2],ar[(d=s+40|0)>>2]=0,ar[(k=s+44|0)>>2]=0,v=(ar[(h=s+48|0)>>2]=0)|ar[24+u>>2],w=(0|ar[28+u>>2])-v|0;do{if(0|w){if(!((0|w)<0)){y=0|hu(w),ar[k>>2]=y,B=(ar[d>>2]=y)+w|0,ar[h>>2]=B,hb(0|y,0|v,0|w),ar[k>>2]=B;break}zl()}}while(0);y=0|ar[(v=36+u|0)+4>>2],ar[(B=s+52|0)>>2]=ar[v>>2],ar[B+4>>2]=y,ar[s+60>>2]=0,ar[s+64>>2]=0,ar[s+68>>2]=0,ar[m>>2]=5824;break}if((0|s)<1752589123){if((0|s)<1735553132){switch(0|s){case 1718909296:break;default:g=133;break e}s=0|hu(96),ar[s+4>>2]=0,ar[s+8>>2]=0,ar[s>>2]=4600,ar[(m=s+16|0)>>2]=4264,ar[(d=s+24|0)>>2]=ar[o>>2],ar[d+4>>2]=ar[4+o>>2],ar[d+8>>2]=ar[8+o>>2],ar[d+12>>2]=ar[12+o>>2],ar[(d=s+40|0)>>2]=0,ar[(k=s+44|0)>>2]=0,v=(ar[(h=s+48|0)>>2]=0)|ar[24+u>>2],w=(0|ar[28+u>>2])-v|0;do{if(0|w){if(!((0|w)<0)){y=0|hu(w),ar[k>>2]=y,B=(ar[d>>2]=y)+w|0,ar[h>>2]=B,hb(0|y,0|v,0|w),ar[k>>2]=B;break}zl()}}while(0);y=0|ar[(v=36+u|0)+4>>2],ar[(B=s+52|0)>>2]=ar[v>>2],ar[B+4>>2]=y,ar[s+60>>2]=0,ar[s+64>>2]=0,ar[s+68>>2]=0,ar[m>>2]=4436,ar[(B=s+72|0)>>2]=0,ar[B+4>>2]=0,ar[B+8>>2]=0,ar[B+12>>2]=0,ar[B+16>>2]=0;break}if((0|s)<1751411826){switch(0|s){case 1735553132:break;default:g=133;break e}s=0|hu(88),ar[s+4>>2]=0,ar[s+8>>2]=0,ar[s>>2]=5676,ar[(m=s+16|0)>>2]=4264,ar[(d=s+24|0)>>2]=ar[o>>2],ar[d+4>>2]=ar[4+o>>2],ar[d+8>>2]=ar[8+o>>2],ar[d+12>>2]=ar[12+o>>2],ar[(d=s+40|0)>>2]=0,ar[(k=s+44|0)>>2]=0,v=(ar[(h=s+48|0)>>2]=0)|ar[24+u>>2],w=(0|ar[28+u>>2])-v|0;do{if(0|w){if(!((0|w)<0)){y=0|hu(w),ar[k>>2]=y,B=(ar[d>>2]=y)+w|0,ar[h>>2]=B,hb(0|y,0|v,0|w),ar[k>>2]=B;break}zl()}}while(0);y=0|ar[(v=36+u|0)+4>>2],ar[(B=s+52|0)>>2]=ar[v>>2],ar[B+4>>2]=y,ar[s+60>>2]=0,ar[s+64>>2]=0,ar[s+68>>2]=0,ar[m>>2]=5704,ar[s+72>>2]=0,ar[s+76>>2]=0,ar[s+80>>2]=0;break}switch(0|s){case 1751411826:break;default:g=133;break e}s=0|hu(104),ar[s+4>>2]=0,ar[s+8>>2]=0,ar[s>>2]=4656,ar[(m=s+16|0)>>2]=4264,ar[(d=s+24|0)>>2]=ar[o>>2],ar[d+4>>2]=ar[4+o>>2],ar[d+8>>2]=ar[8+o>>2],ar[d+12>>2]=ar[12+o>>2],ar[(d=s+40|0)>>2]=0,ar[(k=s+44|0)>>2]=0,v=(ar[(h=s+48|0)>>2]=0)|ar[24+u>>2],w=(0|ar[28+u>>2])-v|0;do{if(0|w){if(!((0|w)<0)){y=0|hu(w),ar[k>>2]=y,B=(ar[d>>2]=y)+w|0,ar[h>>2]=B,hb(0|y,0|v,0|w),ar[k>>2]=B;break}zl()}}while(0);y=0|ar[(v=36+u|0)+4>>2],ar[(B=s+52|0)>>2]=ar[v>>2],ar[B+4>>2]=y,ar[s+60>>2]=0,ar[s+64>>2]=0,ar[s+68>>2]=0,ar[m>>2]=4684,ar[s+72>>2]=0,ar[s+76>>2]=1885954932,ar[(B=s+80|0)>>2]=0,ar[B+4>>2]=0,ar[B+8>>2]=0,ar[B+12>>2]=0,ar[B+16>>2]=0,ar[B+20>>2]=0;break}if((0|s)<1768186228){switch(0|s){case 1752589123:break;default:g=133;break e}s=0|hu(120),ar[s+4>>2]=0,ar[s+8>>2]=0,ar[s>>2]=5496,ar[(m=s+16|0)>>2]=4264,ar[(d=s+24|0)>>2]=ar[o>>2],ar[d+4>>2]=ar[4+o>>2],ar[d+8>>2]=ar[8+o>>2],ar[d+12>>2]=ar[12+o>>2],ar[(d=s+40|0)>>2]=0,ar[(k=s+44|0)>>2]=0,v=(ar[(h=s+48|0)>>2]=0)|ar[24+u>>2],w=(0|ar[28+u>>2])-v|0;do{if(0|w){if(!((0|w)<0)){y=0|hu(w),ar[k>>2]=y,B=(ar[d>>2]=y)+w|0,ar[h>>2]=B,hb(0|y,0|v,0|w),ar[k>>2]=B;break}zl()}}while(0);y=0|ar[(v=36+u|0)+4>>2],ar[(B=s+52|0)>>2]=ar[v>>2],ar[B+4>>2]=y,ar[s+60>>2]=0,ar[s+64>>2]=0,ar[s+68>>2]=0,ar[m>>2]=5524,ar[s+80>>2]=0,ar[s+84>>2]=0,tr[s+104>>0]=4,ar[s+108>>2]=0,ar[s+112>>2]=0,ar[s+116>>2]=0;break}if((0|s)<1768517222){switch(0|s){case 1768186228:break;default:g=133;break e}s=0|hu(104),ar[s+4>>2]=0,ar[s+8>>2]=0,ar[s>>2]=5616,ar[(m=s+16|0)>>2]=4264,ar[(d=s+24|0)>>2]=ar[o>>2],ar[d+4>>2]=ar[4+o>>2],ar[d+8>>2]=ar[8+o>>2],ar[d+12>>2]=ar[12+o>>2],ar[(d=s+40|0)>>2]=0,ar[(k=s+44|0)>>2]=0,v=(ar[(h=s+48|0)>>2]=0)|ar[24+u>>2],w=(0|ar[28+u>>2])-v|0;do{if(0|w){if(!((0|w)<0)){y=0|hu(w),ar[k>>2]=y,B=(ar[d>>2]=y)+w|0,ar[h>>2]=B,hb(0|y,0|v,0|w),ar[k>>2]=B;break}zl()}}while(0);y=0|ar[(v=36+u|0)+4>>2],ar[(B=s+52|0)>>2]=ar[v>>2],ar[B+4>>2]=y,ar[s+60>>2]=0,ar[s+64>>2]=0,ar[s+68>>2]=0,ar[m>>2]=5644,ar[(B=s+72|0)>>2]=0,ar[B+4>>2]=0,ar[B+8>>2]=0,ar[B+12>>2]=0,ar[B+16>>2]=0,ar[B+20>>2]=0,ar[B+24>>2]=0;break}switch(0|s){case 1768517222:break;default:g=133;break e}s=0|hu(72),ar[s+4>>2]=0,ar[s+8>>2]=0,ar[s>>2]=4836,ar[(m=s+16|0)>>2]=4264,ar[(d=s+24|0)>>2]=ar[o>>2],ar[d+4>>2]=ar[4+o>>2],ar[d+8>>2]=ar[8+o>>2],ar[d+12>>2]=ar[12+o>>2],ar[(d=s+40|0)>>2]=0,ar[(k=s+44|0)>>2]=0,v=(ar[(h=s+48|0)>>2]=0)|ar[24+u>>2],w=(0|ar[28+u>>2])-v|0;do{if(0|w){if(!((0|w)<0)){y=0|hu(w),ar[k>>2]=y,B=(ar[d>>2]=y)+w|0,ar[h>>2]=B,hb(0|y,0|v,0|w),ar[k>>2]=B;break}zl()}}while(0);y=0|ar[(v=36+u|0)+4>>2],ar[(B=s+52|0)>>2]=ar[v>>2],ar[B+4>>2]=y,ar[s+60>>2]=0,ar[s+64>>2]=0,ar[s+68>>2]=0,ar[m>>2]=4864;break}if((0|s)<1769104742){if(1768973167<=(0|s)){if((0|s)<1768975713){switch(0|s){case 1768973167:break;default:g=133;break e}s=0|hu(72),ar[s+4>>2]=0,ar[s+8>>2]=0,ar[s>>2]=5016,ar[(m=s+16|0)>>2]=4264,ar[(d=s+24|0)>>2]=ar[o>>2],ar[d+4>>2]=ar[4+o>>2],ar[d+8>>2]=ar[8+o>>2],ar[d+12>>2]=ar[12+o>>2],ar[(d=s+40|0)>>2]=0,ar[(k=s+44|0)>>2]=0,v=(ar[(h=s+48|0)>>2]=0)|ar[24+u>>2],w=(0|ar[28+u>>2])-v|0;do{if(0|w){if(!((0|w)<0)){y=0|hu(w),ar[k>>2]=y,B=(ar[d>>2]=y)+w|0,ar[h>>2]=B,hb(0|y,0|v,0|w),ar[k>>2]=B;break}zl()}}while(0);y=0|ar[(v=36+u|0)+4>>2],ar[(B=s+52|0)>>2]=ar[v>>2],ar[B+4>>2]=y,ar[s+60>>2]=0,ar[s+64>>2]=0,ar[s+68>>2]=0,ar[m>>2]=5044;break}switch(0|s){case 1768977008:s=0|hu(72),ar[s+4>>2]=0,ar[s+8>>2]=0,ar[s>>2]=4956,ar[(m=s+16|0)>>2]=4264,ar[(d=s+24|0)>>2]=ar[o>>2],ar[d+4>>2]=ar[4+o>>2],ar[d+8>>2]=ar[8+o>>2],ar[d+12>>2]=ar[12+o>>2],ar[(d=s+40|0)>>2]=0,ar[(k=s+44|0)>>2]=0,v=(ar[(h=s+48|0)>>2]=0)|ar[24+u>>2],w=(0|ar[28+u>>2])-v|0;do{if(0|w){if(!((0|w)<0)){y=0|hu(w),ar[k>>2]=y,B=(ar[d>>2]=y)+w|0,ar[h>>2]=B,hb(0|y,0|v,0|w),ar[k>>2]=B;break}zl()}}while(0);y=0|ar[(v=36+u|0)+4>>2],ar[(B=s+52|0)>>2]=ar[v>>2],ar[B+4>>2]=y,ar[s+60>>2]=0,ar[s+64>>2]=0,ar[s+68>>2]=0,ar[m>>2]=4984;break e;case 1768975713:s=0|hu(88),ar[s+4>>2]=0,ar[s+8>>2]=0,ar[s>>2]=5076,ar[(m=s+16|0)>>2]=4264,ar[(d=s+24|0)>>2]=ar[o>>2],ar[d+4>>2]=ar[4+o>>2],ar[d+8>>2]=ar[8+o>>2],ar[d+12>>2]=ar[12+o>>2],ar[(d=s+40|0)>>2]=0,ar[(k=s+44|0)>>2]=0,v=(ar[(h=s+48|0)>>2]=0)|ar[24+u>>2],w=(0|ar[28+u>>2])-v|0;do{if(0|w){if(!((0|w)<0)){y=0|hu(w),ar[k>>2]=y,B=(ar[d>>2]=y)+w|0,ar[h>>2]=B,hb(0|y,0|v,0|w),ar[k>>2]=B;break}zl()}}while(0);y=0|ar[(v=36+u|0)+4>>2],ar[(B=s+52|0)>>2]=ar[v>>2],ar[B+4>>2]=y,ar[s+60>>2]=0,ar[s+64>>2]=0,ar[s+68>>2]=0,ar[m>>2]=5104,ar[s+72>>2]=0,ar[s+76>>2]=0,ar[s+80>>2]=0;break e;default:g=133;break e}}if((0|s)<1768778098){switch(0|s){case 1768714083:break;default:g=133;break e}s=0|hu(104),ar[s+4>>2]=0,ar[s+8>>2]=0,ar[s>>2]=4776,ar[(m=s+16|0)>>2]=4264,ar[(d=s+24|0)>>2]=ar[o>>2],ar[d+4>>2]=ar[4+o>>2],ar[d+8>>2]=ar[8+o>>2],ar[d+12>>2]=ar[12+o>>2],ar[(d=s+40|0)>>2]=0,ar[(k=s+44|0)>>2]=0,v=(ar[(h=s+48|0)>>2]=0)|ar[24+u>>2],w=(0|ar[28+u>>2])-v|0;do{if(0|w){if(!((0|w)<0)){y=0|hu(w),ar[k>>2]=y,B=(ar[d>>2]=y)+w|0,ar[h>>2]=B,hb(0|y,0|v,0|w),ar[k>>2]=B;break}zl()}}while(0);y=0|ar[(v=36+u|0)+4>>2],ar[(B=s+52|0)>>2]=ar[v>>2],ar[B+4>>2]=y,ar[s+60>>2]=0,ar[s+64>>2]=0,ar[s+68>>2]=0,ar[m>>2]=4804,B=s+72|0,ar[s+96>>2]=0,ar[B>>2]=0,ar[B+4>>2]=0,ar[B+8>>2]=0,ar[B+12>>2]=0,ar[B+16>>2]=0,tr[B+20>>0]=0;break}if((0|s)<1768842853){switch(0|s){case 1768778098:break;default:g=133;break e}s=0|hu(80),ar[s+4>>2]=0,ar[s+8>>2]=0,ar[s>>2]=5316,ar[(m=s+16|0)>>2]=4264,ar[(d=s+24|0)>>2]=ar[o>>2],ar[d+4>>2]=ar[4+o>>2],ar[d+8>>2]=ar[8+o>>2],ar[d+12>>2]=ar[12+o>>2],ar[(d=s+40|0)>>2]=0,ar[(k=s+44|0)>>2]=0,v=(ar[(h=s+48|0)>>2]=0)|ar[24+u>>2],w=(0|ar[28+u>>2])-v|0;do{if(0|w){if(!((0|w)<0)){y=0|hu(w),ar[k>>2]=y,B=(ar[d>>2]=y)+w|0,ar[h>>2]=B,hb(0|y,0|v,0|w),ar[k>>2]=B;break}zl()}}while(0);y=0|ar[(v=36+u|0)+4>>2],ar[(B=s+52|0)>>2]=ar[v>>2],ar[B+4>>2]=y,ar[s+60>>2]=0,ar[s+64>>2]=0,ar[s+68>>2]=0,ar[m>>2]=5344,tr[s+72>>0]=0;break}switch(0|s){case 1768842853:break;default:g=133;break e}s=0|hu(144),ar[s+4>>2]=0,ar[s+8>>2]=0,ar[s>>2]=4896,ar[(m=s+16|0)>>2]=4264,ar[(d=s+24|0)>>2]=ar[o>>2],ar[d+4>>2]=ar[4+o>>2],ar[d+8>>2]=ar[8+o>>2],ar[d+12>>2]=ar[12+o>>2],ar[(d=s+40|0)>>2]=0,ar[(k=s+44|0)>>2]=0,v=(ar[(h=s+48|0)>>2]=0)|ar[24+u>>2],w=(0|ar[28+u>>2])-v|0;do{if(0|w){if(!((0|w)<0)){y=0|hu(w),ar[k>>2]=y,B=(ar[d>>2]=y)+w|0,ar[h>>2]=B,hb(0|y,0|v,0|w),ar[k>>2]=B;break}zl()}}while(0);for(h=0|ar[(w=36+u|0)+4>>2],ar[(d=s+52|0)>>2]=ar[w>>2],ar[d+4>>2]=h,ar[s+60>>2]=0,ar[s+64>>2]=0,ar[s+68>>2]=0,ar[m>>2]=4924,ar[s+72>>2]=0,w=(h=d=s+80|(or[s+76>>1]=0))+60|0;(0|(h=h+4|(ar[h>>2]=0)))<(0|w););tr[d+60>>0]=0;break}if((0|s)<1835365473){if((0|s)<1769107316){switch(0|s){case 1769104742:break;default:g=133;break e}s=0|hu(88),ar[s+4>>2]=0,ar[s+8>>2]=0,ar[s>>2]=5436,ar[(m=s+16|0)>>2]=4264,ar[(d=s+24|0)>>2]=ar[o>>2],ar[d+4>>2]=ar[4+o>>2],ar[d+8>>2]=ar[8+o>>2],ar[d+12>>2]=ar[12+o>>2],ar[(d=s+40|0)>>2]=0,ar[(k=s+44|0)>>2]=0,v=(ar[(h=s+48|0)>>2]=0)|ar[24+u>>2],w=(0|ar[28+u>>2])-v|0;do{if(0|w){if(!((0|w)<0)){y=0|hu(w),ar[k>>2]=y,B=(ar[d>>2]=y)+w|0,ar[h>>2]=B,hb(0|y,0|v,0|w),ar[k>>2]=B;break}zl()}}while(0);y=0|ar[(v=36+u|0)+4>>2],ar[(B=s+52|0)>>2]=ar[v>>2],ar[B+4>>2]=y,ar[s+60>>2]=0,ar[s+64>>2]=0,ar[s+68>>2]=0,ar[m>>2]=5464,ar[s+72>>2]=0,ar[s+76>>2]=0,ar[s+80>>2]=0;break}if((0|s)<1769173093){switch(0|s){case 1769107316:break;default:g=133;break e}s=0|hu(80),ar[s+4>>2]=0,ar[s+8>>2]=0,ar[s>>2]=5256,ar[(m=s+16|0)>>2]=4264,ar[(d=s+24|0)>>2]=ar[o>>2],ar[d+4>>2]=ar[4+o>>2],ar[d+8>>2]=ar[8+o>>2],ar[d+12>>2]=ar[12+o>>2],ar[(d=s+40|0)>>2]=0,ar[(k=s+44|0)>>2]=0,v=(ar[(h=s+48|0)>>2]=0)|ar[24+u>>2],w=(0|ar[28+u>>2])-v|0;do{if(0|w){if(!((0|w)<0)){y=0|hu(w),ar[k>>2]=y,B=(ar[d>>2]=y)+w|0,ar[h>>2]=B,hb(0|y,0|v,0|w),ar[k>>2]=B;break}zl()}}while(0);y=0|ar[(v=36+u|0)+4>>2],ar[(B=s+52|0)>>2]=ar[v>>2],ar[B+4>>2]=y,ar[s+60>>2]=0,ar[s+64>>2]=0,ar[s+68>>2]=0,ar[m>>2]=5284,ar[s+72>>2]=0;break}switch(0|s){case 1769173093:break;default:g=133;break e}s=0|hu(80),ar[s+4>>2]=0,ar[s+8>>2]=0,ar[s>>2]=5136,ar[(m=s+16|0)>>2]=4264,ar[(d=s+24|0)>>2]=ar[o>>2],ar[d+4>>2]=ar[4+o>>2],ar[d+8>>2]=ar[8+o>>2],ar[d+12>>2]=ar[12+o>>2],ar[(d=s+40|0)>>2]=0,ar[(k=s+44|0)>>2]=0,v=(ar[(h=s+48|0)>>2]=0)|ar[24+u>>2],w=(0|ar[28+u>>2])-v|0;do{if(0|w){if(!((0|w)<0)){y=0|hu(w),ar[k>>2]=y,B=(ar[d>>2]=y)+w|0,ar[h>>2]=B,hb(0|y,0|v,0|w),ar[k>>2]=B;break}zl()}}while(0);y=0|ar[(v=36+u|0)+4>>2],ar[(B=s+52|0)>>2]=ar[v>>2],ar[B+4>>2]=y,ar[s+60>>2]=0,ar[s+64>>2]=0,ar[s+68>>2]=0,ar[m>>2]=5164,ar[s+72>>2]=0,ar[s+76>>2]=0;break}if((0|s)<1885960297){if((0|s)<1885959277){switch(0|s){case 1835365473:break;default:g=133;break e}s=0|hu(72),ar[s+4>>2]=0,ar[s+8>>2]=0,ar[s>>2]=4628,ar[(m=s+16|0)>>2]=4264,ar[(d=s+24|0)>>2]=ar[o>>2],ar[d+4>>2]=ar[4+o>>2],ar[d+8>>2]=ar[8+o>>2],ar[d+12>>2]=ar[12+o>>2],ar[(d=s+40|0)>>2]=0,ar[(k=s+44|0)>>2]=0,v=(ar[(h=s+48|0)>>2]=0)|ar[24+u>>2],w=(0|ar[28+u>>2])-v|0;do{if(0|w){if(!((0|w)<0)){y=0|hu(w),ar[k>>2]=y,B=(ar[d>>2]=y)+w|0,ar[h>>2]=B,hb(0|y,0|v,0|w),ar[k>>2]=B;break}zl()}}while(0);y=0|ar[(v=36+u|0)+4>>2],ar[(B=s+52|0)>>2]=ar[v>>2],ar[B+4>>2]=y,ar[s+60>>2]=0,ar[s+64>>2]=0,ar[s+68>>2]=0,ar[m>>2]=4468;break}switch(0|s){case 1885959277:break;default:g=133;break e}s=0|hu(80),ar[s+4>>2]=0,ar[s+8>>2]=0,ar[s>>2]=4716,ar[(m=s+16|0)>>2]=4264,ar[(d=s+24|0)>>2]=ar[o>>2],ar[d+4>>2]=ar[4+o>>2],ar[d+8>>2]=ar[8+o>>2],ar[d+12>>2]=ar[12+o>>2],ar[(d=s+40|0)>>2]=0,ar[(k=s+44|0)>>2]=0,v=(ar[(h=s+48|0)>>2]=0)|ar[24+u>>2],w=(0|ar[28+u>>2])-v|0;do{if(0|w){if(!((0|w)<0)){y=0|hu(w),ar[k>>2]=y,B=(ar[d>>2]=y)+w|0,ar[h>>2]=B,hb(0|y,0|v,0|w),ar[k>>2]=B;break}zl()}}while(0);y=0|ar[(v=36+u|0)+4>>2],ar[(B=s+52|0)>>2]=ar[v>>2],ar[B+4>>2]=y,ar[s+60>>2]=0,ar[s+64>>2]=0,ar[s+68>>2]=0,ar[m>>2]=4744,ar[s+72>>2]=0;break}if((0|s)<1970433056){switch(0|s){case 1885960297:break;default:g=133;break e}s=0|hu(88),ar[s+4>>2]=0,ar[s+8>>2]=0,ar[s>>2]=5976,ar[(m=s+16|0)>>2]=4264,ar[(d=s+24|0)>>2]=ar[o>>2],ar[d+4>>2]=ar[4+o>>2],ar[d+8>>2]=ar[8+o>>2],ar[d+12>>2]=ar[12+o>>2],ar[(d=s+40|0)>>2]=0,ar[(k=s+44|0)>>2]=0,v=(ar[(h=s+48|0)>>2]=0)|ar[24+u>>2],w=(0|ar[28+u>>2])-v|0;do{if(0|w){if(!((0|w)<0)){y=0|hu(w),ar[k>>2]=y,B=(ar[d>>2]=y)+w|0,ar[h>>2]=B,hb(0|y,0|v,0|w),ar[k>>2]=B;break}zl()}}while(0);y=0|ar[(v=36+u|0)+4>>2],ar[(B=s+52|0)>>2]=ar[v>>2],ar[B+4>>2]=y,ar[s+60>>2]=0,ar[s+64>>2]=0,ar[s+68>>2]=0,ar[m>>2]=6004,ar[s+72>>2]=0,ar[s+76>>2]=0,ar[s+80>>2]=0;break}switch(0|s){case 1970433056:break;default:g=133;break e}s=0|hu(88),ar[s+4>>2]=0,ar[s+8>>2]=0,ar[s>>2]=5856,ar[(m=s+16|0)>>2]=4264,ar[(d=s+24|0)>>2]=ar[o>>2],ar[d+4>>2]=ar[4+o>>2],ar[d+8>>2]=ar[8+o>>2],ar[d+12>>2]=ar[12+o>>2],ar[(d=s+40|0)>>2]=0,ar[(k=s+44|0)>>2]=0,v=(ar[(h=s+48|0)>>2]=0)|ar[24+u>>2],w=(0|ar[28+u>>2])-v|0;do{if(0|w){if(!((0|w)<0)){y=0|hu(w),ar[k>>2]=y,B=(ar[d>>2]=y)+w|0,ar[h>>2]=B,hb(0|y,0|v,0|w),ar[k>>2]=B;break}zl()}}while(0);y=0|ar[(v=36+u|0)+4>>2],ar[(B=s+52|0)>>2]=ar[v>>2],ar[B+4>>2]=y,ar[s+60>>2]=0,ar[s+64>>2]=0,ar[s+68>>2]=0,ar[m>>2]=5884,ar[(B=s+72|0)>>2]=0,ar[B+4>>2]=0,ar[B+8>>2]=0;break}while(0);if(133==(0|g)){s=0|hu(72),ar[s+4>>2]=0,ar[s+8>>2]=0,ar[s>>2]=6036,ar[(m=s+16|0)>>2]=4264,ar[(d=s+24|0)>>2]=ar[o>>2],ar[d+4>>2]=ar[4+o>>2],ar[d+8>>2]=ar[8+o>>2],ar[d+12>>2]=ar[12+o>>2],ar[(d=s+40|0)>>2]=0,ar[(k=s+44|0)>>2]=0,v=(ar[(h=s+48|0)>>2]=0)|ar[24+u>>2],w=(0|ar[28+u>>2])-v|0;do{if(0|w){if(!((0|w)<0)){y=0|hu(w),ar[k>>2]=y,B=(ar[d>>2]=y)+w|0,ar[h>>2]=B,hb(0|y,0|v,0|w),ar[k>>2]=B;break}zl()}}while(0);y=0|ar[(g=36+u|0)+4>>2],ar[(B=s+52|0)>>2]=ar[g>>2],ar[B+4>>2]=y,ar[m>>2]=4404,ar[s+60>>2]=0,ar[s+64>>2]=0,ar[s+68>>2]=0}g=m,d=0|ar[(k=o)>>2],k=0|ar[k+4>>2],h=0|ar[(v=16+u|0)>>2];do{if(k>>>0<0|0==(0|k)&d>>>0<h>>>0)k=Z+64|0,ar[(w=Z+8|0)>>2]=4524,h=Z+12|0,ar[Z>>2]=188,ar[k>>2]=208,Jf(Z+64|(ar[Z+4>>2]=0),h),ar[Z+136>>2]=0,ar[Z+140>>2]=-1,ar[Z>>2]=4504,ar[k>>2]=4544,ar[w>>2]=4524,Sf(h),ar[h>>2]=4340,ar[(w=Z+44|0)>>2]=0,ar[w+4>>2]=0,ar[w+8>>2]=0,ar[w+12>>2]=0,ar[Z+60>>2]=24,ar[p>>2]=0,ar[p+4>>2]=0,ar[p+8>>2]=0,Xe(h,p),(0|tr[p+11>>0])<0&&vu(0|ar[p>>2]),y=0|We(d=Z+8|0,19384,10),B=0|We(0|Kf(y,0|ar[(B=o)>>2],0|ar[B+4>>2]),19395,34),We(0|Lf(B,0|ar[v>>2]),19430,7),Ie(a,h),oo(A,2,101,a),(0|tr[11+a>>0])<0&&vu(0|ar[a>>2]),ar[Z>>2]=4504,ar[k>>2]=4544,ar[d>>2]=4524,ar[h>>2]=4340,(0|tr[w+11>>0])<0&&vu(0|ar[w>>2]),kf(h),_f(),bf(k);else{if(20<(0|ar[e+12>>2])){for(ar[n>>2]=0,ar[4+n>>2]=0,d=(ar[8+n>>2]=0)|hu(64),ar[n>>2]=d,ar[8+n>>2]=-2147483584,k=19438,w=(h=d)+(ar[4+n>>2]=61)|0;tr[h>>0]=0|tr[k>>0],k=k+1|0,(0|(h=h+1|0))<(0|w););if(tr[d+61>>0]=0,oo(A,6,1e3,n),0<=(0|tr[11+n>>0]))break;vu(0|ar[n>>2]);break}if(0|NA(e,B=0|ob(0|d,0|k,0|h,0),D)){if(ar[i>>2]=0,ar[4+i>>2]=0,ar[8+i>>2]=0,oo(A,2,100,i),0<=(0|tr[11+i>>0]))break;vu(0|ar[i>>2]);break}if(d=0|ar[(k=o)>>2],(0|(k=0|ar[k+4>>2]))<0){if(ar[f>>2]=0,ar[4+f>>2]=0,ar[8+f>>2]=0,oo(A,2,101,f),0<=(0|tr[11+f>>0]))break;vu(0|ar[f>>2]);break}if(h=0|ob(0|d,0|k,0|ar[v>>2],0),w=D,(0|(y=0|ar[(B=e+16|0)+4>>2]))<(0|w)|((0|y)==(0|w)?(0|ar[B>>2])>>>0<h>>>0:0)){if(ar[t>>2]=0,ar[4+t>>2]=0,ar[8+t>>2]=0,oo(A,2,101,t),0<=(0|tr[11+t>>0]))break;vu(0|ar[t>>2]);break}if(ar[c>>2]=ar[e>>2],d=4+c|0,k=0|ar[e+4>>2],0|(ar[d>>2]=k)&&bu(k),WA(p,c,h,w,e),0|(d=0|ar[d>>2])&&du(d),ns[127&ar[20+(0|ar[m>>2])>>2]](Z,m,p),d=0|ar[(k=Z)+4>>2],ar[(v=l)>>2]=ar[k>>2],ar[v+4>>2]=d,d=Z+8|0,(0|tr[(k=(v=8+l|0)+11|0)>>0])<0?(tr[ar[v>>2]>>0]=0,ar[12+l>>2]=0):(tr[v>>0]=0,tr[k>>0]=0),Cu(v,0),ar[v>>2]=ar[d>>2],ar[v+4>>2]=ar[d+4>>2],ar[v+8>>2]=ar[d+8>>2],(0|ar[l>>2])==(0|ar[14148])&&(ar[r>>2]=g,d=0|ar[(B=r+4|0)>>2],ar[B>>2]=s,s=(d&&du(d),0)),k=0|ar[(d=w=p+16|0)>>2],0<(0|(d=0|ar[d+4>>2]))|0==(0|d)&0<k>>>0&&((h=0|ar[p+8>>2])&&(_A(h,k,d),k=0|ar[(d=w)>>2],d=0|ar[d+4>>2]),y=0|ar[p>>2],B=0|ar[y>>2],Z=0|ar[B+20>>2],B=0|tb(0|(B=0|jb[127&ar[B+8>>2]](y)),0|D,0|k,0|d),xb[63&Z](y,B,D),ar[(B=w)>>2]=0,ar[B+4>>2]=0),B=0|ar[(y=l)+4>>2],ar[(d=A)>>2]=ar[y>>2],ar[d+4>>2]=B,ar[(d=A+8|0)>>2]=ar[v>>2],ar[d+4>>2]=ar[v+4>>2],ar[d+8>>2]=ar[v+8>>2],ar[v>>2]=0,ar[v+4>>2]=0,(ar[v+8>>2]=0)|(d=0|ar[p+4>>2])&&du(d),!s)break A}}while(0);du(s)}}while(0);(0|tr[(s=8+l|0)+11>>0])<0&&vu(0|ar[s>>2]),ar[u>>2]=4264,ur=((d=0|ar[24+u>>2])&&((0|ar[(s=28+u|0)>>2])!=(0|d)&&(ar[s>>2]=d),vu(d)),b)}function ee(A,e){e|=0;var r,i,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0;t=0|ar[(b=(A|=0)+4|0)>>2],r=o=0|ar[A>>2],536870911<(f=(l=t-o>>3)+1|0)>>>0&&zl(),a=(u=(0|ar[(i=A+8|0)>>2])-o|0)>>2,a=u>>3>>>0<268435455?a>>>0<f>>>0?f:a:536870911;do{if(a){if(!(536870911<a>>>0)){c=0|hu(a<<3);break}Zu(b=0|X(8),44519),ar[b>>2]=17660,I(0|b,4016,428)}else c=0}while(0);if(u=c+(a<<3)|0,ar[(f=n=c+(l<<3)|0)>>2]=ar[e>>2],a=e+4|0,ar[c+(l<<3)+4>>2]=ar[a>>2],ar[e>>2]=0,a=n+8|(ar[a>>2]=0),(0|t)!=(0|r)){for(;t=(l=t)+-8|0,ar[n+-8>>2]=ar[t>>2],l=l+-4|0,ar[n+-4>>2]=ar[l>>2],ar[t>>2]=0,f=n=f+-8|(ar[l>>2]=0),(0|t)!=(0|r););o=0|ar[A>>2]}if(ar[A>>2]=f,f=0|ar[b>>2],ar[b>>2]=a,ar[i>>2]=u,(0|f)!=(0|(t=o)))for(;n=0|ar[f+-4>>2],f=f+-8|0,0|n&&du(n),(0|f)!=(0|t););o&&vu(o)}function re(A,e,r){A|=0,e|=0;var i,f,n,t,o,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0;if(ur=(o=ur)+208|0,k=o+196|0,a=o+184|0,c=o+24|0,i=o+40|0,f=o+12|0,n=o,0|NA(r|=0,8,0))return ar[a>>2]=0,ar[a+4>>2]=0,ar[a+8>>2]=0,oo(A,2,100,a),0<=(0|tr[a+11>>0])||vu(0|ar[a>>2]),void(ur=o);s=0|FA(r),ar[(a=b=e+8|0)>>2]=s,a=(ar[a+4>>2]=0)|FA(r),ar[(s=e+20|0)>>2]=a,ar[(t=e+16|0)>>2]=8,u=b;do{if(1==(0|ar[u>>2])&0==(0|ar[u+4>>2])){if(0|NA(r,8,0))return ar[c>>2]=0,ar[c+4>>2]=0,ar[c+8>>2]=0,oo(A,2,100,c),0<=(0|tr[c+11>>0])||vu(0|ar[c>>2]),void(ur=o);if(l=0|FA(r),c=0|FA(r),ar[(a=b)>>2]=c,ar[a+4>>2]=l,ar[t>>2]=8+(0|ar[t>>2]),a=64+i|0,ar[(l=8+i|0)>>2]=4524,c=12+i|0,ar[i>>2]=188,ar[a>>2]=208,Jf(64+i|(ar[4+i>>2]=0),c),ar[136+i>>2]=0,ar[140+i>>2]=-1,ar[i>>2]=4504,ar[a>>2]=4544,ar[l>>2]=4524,Sf(c),ar[c>>2]=4340,ar[(l=44+i|0)>>2]=0,ar[l+4>>2]=0,ar[l+8>>2]=0,ar[l+12>>2]=0,ar[60+i>>2]=24,ar[k>>2]=0,ar[k+4>>2]=0,ar[k+8>>2]=0,Xe(c,k),(0|tr[k+11>>0])<0&&vu(0|ar[k>>2]),w=0|We(u=8+i|0,23427,9),We(0|Kf(w,0|ar[(h=b)>>2],0|ar[h+4>>2]),23437,24),268435455<(h=0|ar[b+4>>2])>>>0|268435455==(0|h)&4294967295<(0|ar[b>>2])>>>0)return Ie(f,c),oo(A,6,1e3,f),(0|tr[11+f>>0])<0&&vu(0|ar[f>>2]),ar[i>>2]=4504,ar[a>>2]=4544,ar[u>>2]=4524,ar[c>>2]=4340,(0|tr[l+11>>0])<0&&vu(0|ar[l>>2]),kf(c),_f(),bf(a),void(ur=o);ar[i>>2]=4504,ar[a>>2]=4544,ar[u>>2]=4524,ar[c>>2]=4340,(0|tr[l+11>>0])<0&&vu(0|ar[l>>2]),kf(c),_f(),bf(a),a=0|ar[s>>2];break}}while(0);if(1970628964==(0|a)){if(0|NA(r,16,0))return ar[n>>2]=0,ar[n+4>>2]=0,ar[n+8>>2]=0,oo(A,2,100,n),0<=(0|tr[n+11>>0])||vu(0|ar[n>>2]),void(ur=o);do{if(0|CA(r,16,0)){if(b=e+24|0,16<=(c=(u=0|ar[(a=e+28|0)>>2])-(l=0|ar[b>>2])|0)>>>0?16!=(0|c)&&(0|u)!=(0|(d=l+16|0))&&(ar[a>>2]=d):TA(b,16-c|0),a=0|ar[r>>2],c=0|ar[r+4>>2]){bu(c),xb[63&ar[16+(0|ar[a>>2])>>2]](a,0|ar[b>>2],16),du(c);break}xb[63&ar[16+(0|ar[a>>2])>>2]](a,0|ar[b>>2],16);break}}while(0);ar[t>>2]=16+(0|ar[t>>2])}0|tr[r+24>>0]?(ar[k>>2]=0,ar[k+4>>2]=0,ar[k+8>>2]=0,oo(A,2,100,k),(0|tr[k+11>>0])<0&&vu(0|ar[k>>2])):(h=0|ar[(k=56592)+4>>2],ar[(w=A)>>2]=ar[k>>2],ar[w+4>>2]=h,yu(A+8|0,56600)),ur=o}function ie(A,e,r){A|=0,e|=0;var i,f=0;if(ur=(i=ur)+16|0,f=i,!(0|NA(r|=0,7,0)))return f=0|VA(r),or[e+4>>1]=f,f=0|VA(r),or[e+6>>1]=f,f=0|VA(r),or[e+8>>1]=f,r=(255&(0|IA(r)))>>>7,tr[e+10>>0]=r,r=0|ar[(e=56592)+4>>2],ar[(f=A)>>2]=ar[e>>2],ar[f+4>>2]=r,yu(A+8|0,56600),void(ur=i);ar[f>>2]=0,ar[f+4>>2]=0,ar[f+8>>2]=0,oo(A,2,100,f),ur=(0<=(0|tr[f+11>>0])||vu(0|ar[f>>2]),i)}function fe(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o=0,a=0,c=0,l=0,u=0,b=0,s=0;ur=(t=ur)+16|0,o=t,n=0|hu(32),ar[4+n>>2]=0,ar[8+n>>2]=0,ar[n>>2]=6120,a=0|ar[e>>2],ar[o>>2]=0,ar[(f=o+4|0)>>2]=0,c=(ar[o+8>>2]=0)|ar[r>>2],e=(0|ar[r+4>>2])-c|0,r=c;do{if(e){if(!((0|e)<0)){b=0|hu(e),s=(ar[o>>2]=b)+e|0,ar[o+8>>2]=s,hb(0|b,0|r,0|e),l=b,u=ar[f>>2]=s;break}zl()}else s=b=u=l=0}while(0);if(ar[(c=12+n|0)>>2]=6148,ar[16+n>>2]=a,ar[(r=20+n|0)>>2]=0,ar[(i=24+n|0)>>2]=0,(ar[(o=28+n|0)>>2]=0)|(e=u-l|0)&&((0|e)<0&&zl(),a=0|hu(e),ar[i>>2]=a,ar[r>>2]=a,ar[o>>2]=a+e,0<(0|(e=u-b|0))&&(hb(0|a,0|b,0|e),ar[i>>2]=a+e)),!b)return s=A+4|0,ar[A>>2]=c,ar[s>>2]=n,void(ur=t);(0|s)!=(0|b)&&(ar[f>>2]=b),vu(b),s=A+4|0,ar[A>>2]=c,ar[s>>2]=n,ur=t}function ne(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o,a,c,l=0,u=0,b=0,s=0;if(ur=(c=ur)+160|0,f=c+136|0,o=(t=c)+56|0,a=t+4|0,ar[t>>2]=292,ar[o>>2]=312,Jf(t+56|0,a),ar[t+128>>2]=0,ar[t+132>>2]=-1,ar[t>>2]=4304,ar[o>>2]=4324,Sf(a),ar[a>>2]=4340,ar[(n=t+36|0)>>2]=0,ar[4+n>>2]=0,ar[8+n>>2]=0,ar[12+n>>2]=0,ar[t+52>>2]=16,ar[f>>2]=0,ar[4+f>>2]=0,ar[8+f>>2]=0,Xe(a,f),(0|tr[11+f>>0])<0&&vu(0|ar[f>>2]),l=1+(0|ar[r>>2])|0,ar[r>>2]=l,(0|(u=0|ar[e+44>>2]))!=(0|(i=0|ar[e+48>>2]))){for(b=11+f|0,s=4+f|0,l=1,e=u;;){if(!l){if(0<(0|ar[r>>2]))for(l=0;We(t,18862,2),(0|(l=l+1|0))<(0|ar[r>>2]););We(t,30086,1)}if(u=0|ar[e>>2],ns[127&ar[8+(0|ar[u>>2])>>2]](f,u,r),We(t,(l=(u=0|tr[b>>0])<<24>>24<0)?0|ar[f>>2]:f,l?0|ar[s>>2]:255&u),(0|tr[b>>0])<0&&vu(0|ar[f>>2]),(0|(e=e+8|0))==(0|i))break;l=0}l=0|ar[r>>2]}if(ar[r>>2]=(0|l)<1?0:l+-1|0,Ie(A,a),ar[t>>2]=4304,ar[o>>2]=4324,ar[a>>2]=4340,0<=(0|tr[11+n>>0]))return kf(a),Gf(),bf(o),void(ur=c);vu(0|ar[n>>2]),kf(a),Gf(),bf(o),ur=c}function te(A){var e,r=0,i=0,f=0,n=0,t=0,o=0,a=0;if(ar[(A|=0)>>2]=5704,0|(r=0|ar[(e=A+56|0)>>2])){if((0|(i=0|ar[(a=A+60|0)>>2]))!=(0|r)){for(;o=i+-64|0,ar[a>>2]=o,0|(f=0|ar[i+-12>>2])&&((0|(t=0|ar[(n=i+-8|0)>>2]))!=(0|f)&&(ar[n>>2]=t+(~((t+-4-f|0)>>>2)<<2)),vu(f)),ar[o>>2]=4264,0|(f=0|ar[i+-40>>2])&&((0|ar[(i=i+-36|0)>>2])!=(0|f)&&(ar[i>>2]=f),vu(f)),(0|(i=0|ar[a>>2]))!=(0|r););r=0|ar[e>>2]}vu(r)}if(ar[A>>2]=4404,0|(r=0|ar[(n=A+44|0)>>2])){if((0|(i=0|ar[(t=A+48|0)>>2]))!=(0|r)){for(;f=i+-8|0,ar[t>>2]=f,(0|(i=(i=0|ar[i+-4>>2])?(du(i),0|ar[t>>2]):f))!=(0|r););r=0|ar[n>>2]}vu(r)}ar[A>>2]=4264,(i=0|ar[A+24>>2])&&((0|ar[(r=A+28|0)>>2])!=(0|i)&&(ar[r>>2]=i),vu(i))}function oe(A,e){e|=0;var r=0,i=0,f=0,n=0,t=0,o=0;ar[(A|=0)>>2]=4264,f=e+8|0,ar[(i=A+8|0)>>2]=ar[f>>2],ar[i+4>>2]=ar[f+4>>2],ar[i+8>>2]=ar[f+8>>2],ar[i+12>>2]=ar[f+12>>2],f=e+24|0,ar[(i=A+24|0)>>2]=0,ar[(o=A+28|0)>>2]=0,(ar[A+32>>2]=0)|(r=(0|ar[(n=e+28|0)>>2])-(0|ar[f>>2])|0)&&((0|r)<0&&zl(),t=0|hu(r),ar[o>>2]=t,ar[i>>2]=t,ar[A+32>>2]=t+r,i=0|ar[f>>2],0<(0|(r=(0|ar[n>>2])-i|0))&&(hb(0|t,0|i,0|r),ar[o>>2]=t+r)),t=0|ar[(n=e+36|0)+4>>2],ar[(o=A+36|0)>>2]=ar[n>>2],ar[o+4>>2]=t,ar[A+48>>2]=ar[e+48>>2],Ge(A+52|0,e+52|0)}function ae(A,e){e|=0;var r,i,f=0,n=0,t=0,o=0,a=0,c=0,l=0;i=(A|=0)+4|0,f=0|ar[A>>2],67108863<(n=(t=(0|ar[i>>2])-f>>6)+1|0)>>>0&&zl(),f=(c=(0|ar[(l=A+8|0)>>2])-f|0)>>5,f=c>>6>>>0<33554431?f>>>0<n>>>0?n:f:67108863;do{if(f){if(!(67108863<f>>>0)){n=0|hu(f<<6);break}Zu(l=0|X(8),44519),ar[l>>2]=17660,I(0|l,4016,428)}else n=0}while(0);if(r=n+(f<<6)|0,oe(t=o=n+(t<<6)|0,e),a=o+64|0,e=0|ar[A>>2],(0|(f=0|ar[i>>2]))==(0|e))f=t,n=c=e;else{for(n=o;oe(n+-64|0,f=f+-64|0),t=n=t+-64|0,(0|f)!=(0|e););f=t,c=0|ar[A>>2],n=0|ar[i>>2]}if(ar[A>>2]=f,ar[i>>2]=a,ar[l>>2]=r,(0|n)!=(0|(a=c)))for(o=n;o=(e=o)+-64|0,0|(f=0|ar[e+-12>>2])&&((0|(t=0|ar[(n=e+-8|0)>>2]))!=(0|f)&&(ar[n>>2]=t+(~((t+-4-f|0)>>>2)<<2)),vu(f)),ar[o>>2]=4264,0|(n=0|ar[e+-40>>2])&&((0|ar[(f=e+-36|0)>>2])!=(0|n)&&(ar[f>>2]=n),vu(n)),(0|o)!=(0|a););c&&vu(c)}function Ge(A,e){e|=0;var r,i,f,n,t=0;ar[(A|=0)>>2]=0,ar[(n=A+4|0)>>2]=0,(r=(t=((ar[A+8>>2]=0)|ar[(f=e+4|0)>>2])-(0|ar[e>>2])|0)>>2)&&(1073741823<r>>>0&&zl(),i=0|hu(t),ar[n>>2]=i,ar[A>>2]=i,ar[A+8>>2]=i+(r<<2),A=0|ar[e>>2],(0|(t=(0|ar[f>>2])-A|0))<=0||(hb(0|i,0|A,0|t),ar[n>>2]=i+(t>>>2<<2)))}function ce(A){var e,r=0,i=0,f=0,n=0,t=0,o=0,a=0,c=0;if(ar[(A|=0)>>2]=5524,0|(r=0|ar[(e=A+92|0)>>2])){if((0|(i=0|ar[(c=A+96|0)>>2]))!=(0|r)){for(f=i;;){if(i=f+-16|0,ar[c>>2]=i,o=0|ar[(a=f+-12|0)>>2]){if((0|(i=0|ar[(t=f+-8|0)>>2]))==(0|o))i=o;else{for(;f=i+-12|0,ar[t>>2]=f,(0|(i=(n=0|ar[f>>2])?((0|ar[(i=i+-8|0)>>2])!=(0|n)&&(ar[i>>2]=n),vu(n),0|ar[t>>2]):f))!=(0|o););i=0|ar[a>>2]}vu(i),i=0|ar[c>>2]}if((0|i)==(0|r))break;f=i}r=0|ar[e>>2]}vu(r)}if(ar[A>>2]=4404,0|(r=0|ar[(n=A+44|0)>>2])){if((0|(i=0|ar[(t=A+48|0)>>2]))!=(0|r)){for(;f=i+-8|0,ar[t>>2]=f,(0|(i=(i=0|ar[i+-4>>2])?(du(i),0|ar[t>>2]):f))!=(0|r););r=0|ar[n>>2]}vu(r)}ar[A>>2]=4264,(i=0|ar[A+24>>2])&&((0|ar[(r=A+28|0)>>2])!=(0|i)&&(ar[r>>2]=i),vu(i))}function le(A,e){e|=0;var r,i=0,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0;r=(A|=0)+4|0,i=0|ar[A>>2],268435455<(f=(o=(0|ar[r>>2])-i>>4)+1|0)>>>0&&zl(),i=(c=(0|ar[(l=A+8|0)>>2])-i|0)>>3,i=c>>4>>>0<134217727?i>>>0<f>>>0?f:i:268435455;do{if(i){if(!(268435455<i>>>0)){t=0|hu(i<<4);break}Zu(l=0|X(8),44519),ar[l>>2]=17660,I(0|l,4016,428)}else t=0}while(0);if(a=t+(i<<4)|0,or[(n=f=t+(o<<4)|0)>>1]=0|or[e>>1],i=e+4|0,ar[t+(o<<4)+12>>2]=0,ar[t+(o<<4)+4>>2]=ar[i>>2],c=e+8|0,ar[t+(o<<4)+8>>2]=ar[c>>2],e=e+12|0,ar[t+(o<<4)+12>>2]=ar[e>>2],ar[e>>2]=0,ar[c>>2]=0,e=f+16|(ar[i>>2]=0),t=0|ar[A>>2],(0|(i=0|ar[r>>2]))==(0|t))i=n,f=c=t;else{for(;i=(u=i)+-16|0,or[f+-16>>1]=0|or[i>>1],c=u+-12|0,ar[(o=f+-12|0)>>2]=0,ar[(b=f+-8|0)>>2]=0,ar[f+-4>>2]=0,ar[o>>2]=ar[c>>2],o=u+-8|0,ar[b>>2]=ar[o>>2],u=u+-4|0,ar[f+-4>>2]=ar[u>>2],ar[u>>2]=0,ar[o>>2]=0,n=f=n+-16|(ar[c>>2]=0),(0|i)!=(0|t););i=n,c=0|ar[A>>2],f=0|ar[r>>2]}if(ar[A>>2]=i,ar[r>>2]=e,ar[l>>2]=a,(0|f)!=(0|(A=c))){a=f;do{if(0|(i=0|ar[(e=a+-12|0)>>2])){if((0|(f=0|ar[(o=a+-8|0)>>2]))!=(0|i)){for(;n=f+-12|0,ar[o>>2]=n,(0|(f=(t=0|ar[n>>2])?((0|ar[(f=f+-8|0)>>2])!=(0|t)&&(ar[f>>2]=t),vu(t),0|ar[o>>2]):n))!=(0|i););i=0|ar[e>>2]}vu(i)}a=a+-16|0}while((0|a)!=(0|A))}c&&vu(A)}function ue(A,e){e|=0;var r,i=0,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0;r=(A|=0)+4|0,i=0|ar[A>>2],357913941<(f=(o=((0|ar[r>>2])-i|0)/12|0)+1|0)>>>0&&zl(),i=(a=((0|ar[(c=A+8|0)>>2])-i|0)/12|0)<<1,i=a>>>0<178956970?i>>>0<f>>>0?f:i:357913941;do{if(i){if(!(357913941<i>>>0)){t=0|hu(12*i|0);break}Zu(c=0|X(8),44519),ar[c>>2]=17660,I(0|c,4016,428)}else t=0}while(0);if(n=f=t+(12*o|0)|0,a=t+(12*i|0)|0,ar[t+(12*o|0)+8>>2]=0,ar[f>>2]=ar[e>>2],i=e+4|0,ar[t+(12*o|0)+4>>2]=ar[i>>2],l=e+8|0,ar[t+(12*o|0)+8>>2]=ar[l>>2],ar[l>>2]=0,ar[i>>2]=0,o=f+12|(ar[e>>2]=0),t=0|ar[A>>2],(0|(i=0|ar[r>>2]))==(0|t))i=n,f=e=t;else{for(;i=(e=i)+-12|0,ar[(l=f+-12|0)>>2]=0,ar[(u=f+-8|0)>>2]=0,ar[f+-4>>2]=0,ar[l>>2]=ar[i>>2],l=e+-8|0,ar[u>>2]=ar[l>>2],e=e+-4|0,ar[f+-4>>2]=ar[e>>2],ar[e>>2]=0,ar[l>>2]=0,n=f=n+-12|(ar[i>>2]=0),(0|i)!=(0|t););i=n,e=0|ar[A>>2],f=0|ar[r>>2]}if(ar[A>>2]=i,ar[r>>2]=o,ar[c>>2]=a,(0|f)!=(0|(t=e)))for(;0|(n=0|ar[(f=(i=f)+-12|0)>>2])&&((0|ar[(i=i+-8|0)>>2])!=(0|n)&&(ar[i>>2]=n),vu(n)),(0|f)!=(0|t););e&&vu(e)}function be(A){var e,r=0,i=0,f=0,n=0,t=0,o=0,a=0;if(ar[(A|=0)>>2]=5464,0|(r=0|ar[(e=A+56|0)>>2])){if((0|(i=0|ar[(a=A+60|0)>>2]))!=(0|r)){for(;o=i+-64|0,ar[a>>2]=o,0|(f=0|ar[i+-12>>2])&&((0|(t=0|ar[(n=i+-8|0)>>2]))!=(0|f)&&(ar[n>>2]=t+(~((t+-4-f|0)>>>2)<<2)),vu(f)),ar[o>>2]=4264,0|(f=0|ar[i+-40>>2])&&((0|ar[(i=i+-36|0)>>2])!=(0|f)&&(ar[i>>2]=f),vu(f)),(0|(i=0|ar[a>>2]))!=(0|r););r=0|ar[e>>2]}vu(r)}if(ar[A>>2]=4404,0|(r=0|ar[(n=A+44|0)>>2])){if((0|(i=0|ar[(t=A+48|0)>>2]))!=(0|r)){for(;f=i+-8|0,ar[t>>2]=f,(0|(i=(i=0|ar[i+-4>>2])?(du(i),0|ar[t>>2]):f))!=(0|r););r=0|ar[n>>2]}vu(r)}ar[A>>2]=4264,(i=0|ar[A+24>>2])&&((0|ar[(r=A+28|0)>>2])!=(0|i)&&(ar[r>>2]=i),vu(i))}function se(A,e){e|=0;var r=0,i=0,f=0,n=0,t=0,o=0;ar[(A|=0)>>2]=4264,f=e+8|0,ar[(i=A+8|0)>>2]=ar[f>>2],ar[i+4>>2]=ar[f+4>>2],ar[i+8>>2]=ar[f+8>>2],ar[i+12>>2]=ar[f+12>>2],f=e+24|0,ar[(i=A+24|0)>>2]=0,ar[(o=A+28|0)>>2]=0,(ar[A+32>>2]=0)|(r=(0|ar[(n=e+28|0)>>2])-(0|ar[f>>2])|0)&&((0|r)<0&&zl(),t=0|hu(r),ar[o>>2]=t,ar[i>>2]=t,ar[A+32>>2]=t+r,i=0|ar[f>>2],0<(0|(r=(0|ar[n>>2])-i|0))&&(hb(0|t,0|i,0|r),ar[o>>2]=t+r)),t=0|ar[(n=e+36|0)+4>>2],ar[(o=A+36|0)>>2]=ar[n>>2],ar[o+4>>2]=t,ar[A+48>>2]=ar[e+48>>2],Ge(A+52|0,e+52|0)}function de(A,e){e|=0;var r,i,f=0,n=0,t=0,o=0,a=0,c=0,l=0;i=(A|=0)+4|0,f=0|ar[A>>2],67108863<(n=(t=(0|ar[i>>2])-f>>6)+1|0)>>>0&&zl(),f=(c=(0|ar[(l=A+8|0)>>2])-f|0)>>5,f=c>>6>>>0<33554431?f>>>0<n>>>0?n:f:67108863;do{if(f){if(!(67108863<f>>>0)){n=0|hu(f<<6);break}Zu(l=0|X(8),44519),ar[l>>2]=17660,I(0|l,4016,428)}else n=0}while(0);if(r=n+(f<<6)|0,se(t=o=n+(t<<6)|0,e),a=o+64|0,e=0|ar[A>>2],(0|(f=0|ar[i>>2]))==(0|e))f=t,n=c=e;else{for(n=o;se(n+-64|0,f=f+-64|0),t=n=t+-64|0,(0|f)!=(0|e););f=t,c=0|ar[A>>2],n=0|ar[i>>2]}if(ar[A>>2]=f,ar[i>>2]=a,ar[l>>2]=r,(0|n)!=(0|(a=c)))for(o=n;o=(e=o)+-64|0,0|(f=0|ar[e+-12>>2])&&((0|(t=0|ar[(n=e+-8|0)>>2]))!=(0|f)&&(ar[n>>2]=t+(~((t+-4-f|0)>>>2)<<2)),vu(f)),ar[o>>2]=4264,0|(n=0|ar[e+-40>>2])&&((0|ar[(f=e+-36|0)>>2])!=(0|n)&&(ar[f>>2]=n),vu(n)),(0|o)!=(0|a););c&&vu(c)}function ke(A,e){e|=0;var r,i,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0;t=0|ar[(b=(A|=0)+4|0)>>2],r=o=0|ar[A>>2],536870911<(f=(l=t-o>>3)+1|0)>>>0&&zl(),a=(u=(0|ar[(i=A+8|0)>>2])-o|0)>>2,a=u>>3>>>0<268435455?a>>>0<f>>>0?f:a:536870911;do{if(a){if(!(536870911<a>>>0)){c=0|hu(a<<3);break}Zu(b=0|X(8),44519),ar[b>>2]=17660,I(0|b,4016,428)}else c=0}while(0);if(u=c+(a<<3)|0,ar[(f=n=c+(l<<3)|0)>>2]=ar[e>>2],a=e+4|0,ar[c+(l<<3)+4>>2]=ar[a>>2],ar[e>>2]=0,a=n+8|(ar[a>>2]=0),(0|t)!=(0|r)){for(;t=(l=t)+-8|0,ar[n+-8>>2]=ar[t>>2],l=l+-4|0,ar[n+-4>>2]=ar[l>>2],ar[t>>2]=0,f=n=f+-8|(ar[l>>2]=0),(0|t)!=(0|r););o=0|ar[A>>2]}if(ar[A>>2]=f,f=0|ar[b>>2],ar[b>>2]=a,ar[i>>2]=u,(0|f)!=(0|(t=o)))for(;n=0|ar[f+-4>>2],f=f+-8|0,0|n&&du(n),(0|f)!=(0|t););o&&vu(o)}function he(A,e){e|=0;var r,i,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0;l=0|ar[(b=(A|=0)+4|0)>>2],r=f=0|ar[A>>2],89478485<(n=(c=((t=l)-f|0)/48|0)+1|0)>>>0&&zl(),o=(u=((0|ar[(i=A+8|0)>>2])-f|0)/48|0)<<1,o=u>>>0<44739242?o>>>0<n>>>0?n:o:89478485;do{if(o){if(!(89478485<o>>>0)){a=0|hu(48*o|0);break}Zu(b=0|X(8),44519),ar[b>>2]=17660,I(0|b,4016,428)}else a=0}while(0);if(u=a+(48*o|0)|0,ar[(f=n=a+(48*c|0)|0)>>2]=ar[e>>2],o=e+4|0,ar[a+(48*c|0)+4>>2]=ar[o>>2],s=e+8|0,ar[a+(48*c|0)+8>>2]=ar[s>>2],ar[o>>2]=0,o=e+12|(ar[s>>2]=0),ar[(s=a+(48*c|0)+12|0)>>2]=ar[o>>2],ar[s+4>>2]=ar[o+4>>2],ar[s+8>>2]=ar[o+8>>2],ar[s+12>>2]=ar[o+12>>2],s=e+28|0,ar[a+(48*c|0)+28>>2]=ar[s>>2],o=e+32|0,ar[a+(48*c|0)+32>>2]=ar[o>>2],ar[s>>2]=0,a=a+(48*c|(ar[o>>2]=0))+36|0,c=e+36|0,ar[a>>2]=ar[c>>2],ar[a+4>>2]=ar[c+4>>2],ar[a+8>>2]=ar[c+8>>2],a=n+48|0,(0|t)==(0|r))o=l;else{for(;t=(l=t)+-48|0,ar[n+-48>>2]=ar[t>>2],s=l+-44|0,ar[n+-44>>2]=ar[s>>2],c=l+-40|0,ar[n+-40>>2]=ar[c>>2],ar[s>>2]=0,s=l+-36|(ar[c>>2]=0),ar[(c=n+-36|0)>>2]=ar[s>>2],ar[c+4>>2]=ar[s+4>>2],ar[c+8>>2]=ar[s+8>>2],ar[c+12>>2]=ar[s+12>>2],c=l+-20|0,ar[n+-20>>2]=ar[c>>2],s=l+-16|0,ar[n+-16>>2]=ar[s>>2],ar[c>>2]=0,l=l+-12|(ar[s>>2]=0),ar[(s=n+-12|0)>>2]=ar[l>>2],ar[s+4>>2]=ar[l+4>>2],ar[s+8>>2]=ar[l+8>>2],f=n=f+-48|0,(0|t)!=(0|r););o=0|ar[A>>2]}if(ar[A>>2]=f,n=0|ar[b>>2],ar[b>>2]=a,ar[i>>2]=u,(0|n)!=(0|(t=o)))for(;0|(f=0|ar[n+-16>>2])&&du(f),f=0|ar[n+-40>>2],n=n+-48|0,0|f&&du(f),(0|n)!=(0|t););o&&vu(o)}function we(A,e){e|=0;var r,i=0,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0;r=(A|=0)+4|0,i=0|ar[A>>2],89478485<(f=(o=((0|ar[r>>2])-i|0)/48|0)+1|0)>>>0&&zl(),i=(a=((0|ar[(c=A+8|0)>>2])-i|0)/48|0)<<1,i=a>>>0<44739242?i>>>0<f>>>0?f:i:89478485;do{if(i){if(!(89478485<i>>>0)){t=0|hu(48*i|0);break}Zu(c=0|X(8),44519),ar[c>>2]=17660,I(0|c,4016,428)}else t=0}while(0);if(a=t+(48*i|0)|0,ar[(n=f=t+(48*o|0)|0)>>2]=ar[e>>2],ar[t+(48*o|0)+4>>2]=ar[e+4>>2],i=0|ar[e+8>>2],0|(ar[t+(48*o|0)+8>>2]=i)&&bu(i),l=e+12|0,ar[(i=t+(48*o|0)+12|0)>>2]=ar[l>>2],ar[i+4>>2]=ar[l+4>>2],ar[i+8>>2]=ar[l+8>>2],ar[i+12>>2]=ar[l+12>>2],ar[t+(48*o|0)+28>>2]=ar[e+28>>2],i=0|ar[e+32>>2],0|(ar[t+(48*o|0)+32>>2]=i)&&bu(i),e=e+36|0,ar[(o=t+(48*o|0)+36|0)>>2]=ar[e>>2],ar[o+4>>2]=ar[e+4>>2],ar[o+8>>2]=ar[e+8>>2],o=f+48|0,e=0|ar[A>>2],(0|(i=0|ar[r>>2]))==(0|e))i=n,f=t=e;else{for(;i=(t=i)+-48|0,ar[f+-48>>2]=ar[i>>2],l=t+-44|0,ar[f+-44>>2]=ar[l>>2],u=t+-40|0,ar[f+-40>>2]=ar[u>>2],ar[l>>2]=0,l=t+-36|(ar[u>>2]=0),ar[(u=f+-36|0)>>2]=ar[l>>2],ar[u+4>>2]=ar[l+4>>2],ar[u+8>>2]=ar[l+8>>2],ar[u+12>>2]=ar[l+12>>2],u=t+-20|0,ar[f+-20>>2]=ar[u>>2],l=t+-16|0,ar[f+-16>>2]=ar[l>>2],ar[u>>2]=0,t=t+-12|(ar[l>>2]=0),ar[(l=f+-12|0)>>2]=ar[t>>2],ar[l+4>>2]=ar[t+4>>2],ar[l+8>>2]=ar[t+8>>2],n=f=n+-48|0,(0|i)!=(0|e););i=n,t=0|ar[A>>2],f=0|ar[r>>2]}if(ar[A>>2]=i,ar[r>>2]=o,ar[c>>2]=a,(0|f)!=(0|(n=t)))for(;0|(i=0|ar[f+-16>>2])&&du(i),i=0|ar[f+-40>>2],f=f+-48|0,0|i&&du(i),(0|f)!=(0|n););t&&vu(t)}function ve(A,e){var r,i,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0;if((e|=0)>>>0<=(t=0|ar[(i=(A|=0)+8|0)>>2])-(f=n=0|ar[(u=A+4|0)>>2])>>3>>>0)return vb(0|n,0,e<<3|0),void(ar[u>>2]=f+(e<<3));r=l=0|ar[A>>2],536870911<(n=(a=n-l>>3)+e|0)>>>0&&zl(),o=(c=t-l|0)>>2,o=c>>3>>>0<268435455?o>>>0<n>>>0?n:o:536870911;do{if(o){if(!(536870911<o>>>0)){c=0|hu(o<<3);break}Zu(u=0|X(8),44519),ar[u>>2]=17660,I(0|u,4016,428)}else c=0}while(0);if(n=c+(a<<3)|0,c=c+(o<<3)|0,vb(0|(t=n),0,e<<3|0),a=n+(e<<3)|0,(0|f)==(0|r))o=l;else{for(;f=(l=f)+-8|0,ar[n+-8>>2]=ar[f>>2],l=l+-4|0,ar[n+-4>>2]=ar[l>>2],ar[f>>2]=0,t=n=t+-8|(ar[l>>2]=0),(0|f)!=(0|r););o=0|ar[A>>2],f=0|ar[u>>2]}if(ar[A>>2]=t,ar[u>>2]=a,ar[i>>2]=c,(0|f)!=(0|(t=o)))for(;n=0|ar[f+-4>>2],f=f+-8|0,0|n&&du(n),(0|f)!=(0|t););o&&vu(o)}function me(A,e,r,i,f,n){A|=0,r|=0,i|=0,f|=0,n|=0;var t,o,a,c,l,u,b,s,d,k,h,w,v,m,g,Z,p,y=0,B=0,E=0,X=0;ur=(p=ur)+128|0,u=p+108|0,b=p+115|0,Z=p+96|0,s=p+112|0,g=p+56|0,k=p+32|0,h=p+8|0,d=p,X=0|ar[(e|=0)>>2],y=0|ar[X+24>>2],B=0|ar[X+28>>2];do{if(0|Eo(X,6)){if((0|Xo(0|ar[e>>2],6))==(0|y)&&(0|Wo(0|ar[e>>2],6))==(0|B))break;return ar[A>>2]=0,ar[A+4>>2]=0,void(ur=p)}}while(0);if(0==(0|r)&3<i>>>0)return ar[A>>2]=0,ar[A+4>>2]=0,void(ur=p);if(X=0|ar[e>>2],a=0|ar[X+32>>2],c=0|ar[X+36>>2],E=0|Eo(X,6)?1:0|tl(0|ar[36+(0|ar[e>>2])>>2]),y=0|ar[e>>2],l=0|ar[y+40>>2],(X=0==(0|(m=0|ar[y+44>>2])))||(bu(m),y=0|ar[e>>2]),Io(Z,y),0|ar[8+Z>>2]||sr(34377,32248,3067,32272),t=255&(0|Vo(0|ar[e>>2],0|ar[16+(0|ar[Z>>2])>>2])),tr[s>>0]=0|tr[b>>0],tr[1+s>>0]=0|tr[1+b>>0],tr[2+s>>0]=0|tr[2+b>>0],X||bu(m),o=0|ar[f>>2],(v=0==(0|(w=0|ar[f+4>>2])))||bu(w),X||du(m),B=1<(0|function(A){var e=0;switch(0|(A|=0)){case 3:case 2:case 1:case 0:case 99:e=1;break;case 14:case 12:case 10:e=3;break;case 15:case 13:case 11:e=4;break;default:sr(55739,25597,118,25653)}return 0|e}(i))?0|tl(i):E,y=11==(1|i)?8:0==(0|n)?t:n,ar[g>>2]=0,ar[(n=4+g|0)>>2]=0,ar[8+g>>2]=0,ar[12+g>>2]=99,ar[16+g>>2]=99,tr[20+g>>0]=0,ar[24+g>>2]=8,ar[28+g>>2]=0,ar[(f=32+g|0)>>2]=0,ar[36+g>>2]=3,ar[k>>2]=a,ar[4+k>>2]=c,tr[8+k>>0]=1&E,tr[(E=9+k|0)>>0]=0|tr[b>>0],tr[E+1>>0]=0|tr[1+b>>0],tr[E+2>>0]=0|tr[2+b>>0],ar[12+k>>2]=t,ar[16+k>>2]=l,ar[20+k>>2]=m,X||bu(m),ar[h>>2]=r,ar[4+h>>2]=i,tr[8+h>>0]=1&B,tr[(r=9+h|0)>>0]=0|tr[s>>0],tr[r+1>>0]=0|tr[1+s>>0],tr[r+2>>0]=0|tr[2+s>>0],ar[12+h>>2]=12==(-4&i|0)&(0|y)<9?10:y,ar[16+h>>2]=o,ar[20+h>>2]=w,v||bu(w),ar[d>>2]=3,ar[u>>2]=ar[d>>2],y=0|function(A,e,r,i){e|=0,r|=0,i|=0;var f,n,t,o,a,c,l,u,b,s,d,k,h,w,v,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0,C=0,G=0,V=0,F=0,R=0,N=0,_=0,Y=0,Q=0,D=0,J=0,M=0,T=0,U=0,S=0,O=0,z=0,j=0,H=0,x=0,P=0,L=0,K=0,q=0,$=0,AA=0,eA=0,rA=0,iA=0,fA=0,nA=0,tA=0,oA=0,aA=0,cA=0,lA=0,uA=0,bA=0,sA=0,dA=0,kA=0,hA=0,wA=0,vA=0,mA=0;if(ur=(v=ur)+256|0,o=v+96|0,mA=v+232|0,w=v+168|0,h=v+156|0,R=v+80|0,s=v+144|0,d=v+208|0,k=v+184|0,b=v+180|0,c=(l=v)+244|0,u=v+64|0,a=v+48|0,Z=0|ar[(A|=0)>>2],(0|(m=0|ar[(wA=A+4|0)>>2]))!=(0|Z))for(;g=m+-8|0,ar[wA>>2]=g,(0|(m=(m=0|ar[m+-4>>2])?(du(m),0|ar[wA>>2]):g))!=(0|Z););if(ar[(kA=A+12|0)>>2]=ar[r>>2],ar[kA+4>>2]=ar[r+4>>2],ar[kA+8>>2]=ar[r+8>>2],ar[kA+12>>2]=ar[r+12>>2],m=0|ar[(kA=r+16|0)>>2],0|(g=0|ar[(t=r+20|0)>>2])&&bu(g),ar[A+28>>2]=m,m=0|ar[(vA=A+32|0)>>2],ar[vA>>2]=g,0|m&&du(m),ar[A+36>>2]=ar[i>>2],(0|ar[e>>2])==(0|ar[r>>2])&&(0|ar[e+4>>2])==(0|ar[r+4>>2])&&(0|tr[e+8>>0])==(0|tr[r+8>>0])&&(0|ar[e+12>>2])==(0|ar[r+12>>2]))return ur=v,0|(mA=1);ar[mA>>2]=0,ar[(vA=mA+4|0)>>2]=0,y=(ar[mA+8>>2]=0)|hu(16),ar[y+4>>2]=0,ar[y+8>>2]=0,ar[y>>2]=6932,ar[(m=y+12|0)>>2]=6492,ar[o>>2]=m,ar[(m=4+o|0)>>2]=y,y=mA+8|0,ke(mA,o),0|(m=0|ar[m>>2])&&du(m),g=0|hu(16),ar[g+4>>2]=0,ar[g+8>>2]=0,ar[g>>2]=6960,ar[(m=g+12|0)>>2]=6988,ar[o>>2]=m,ar[(Z=4+o|0)>>2]=g,(p=0|ar[vA>>2])>>>0>=(0|ar[y>>2])>>>0?(ke(mA,o),0|(m=0|ar[Z>>2])&&du(m)):(ar[p>>2]=m,ar[p+4>>2]=g,ar[o>>2]=0,ar[Z>>2]=0,ar[vA>>2]=p+8),g=0|hu(16),ar[g+4>>2]=0,ar[g+8>>2]=0,ar[g>>2]=7012,ar[(m=g+12|0)>>2]=7040,ar[o>>2]=m,ar[(Z=4+o|0)>>2]=g,(p=0|ar[vA>>2])>>>0>=(0|ar[y>>2])>>>0?(ke(mA,o),0|(m=0|ar[Z>>2])&&du(m)):(ar[p>>2]=m,ar[p+4>>2]=g,ar[o>>2]=0,ar[Z>>2]=0,ar[vA>>2]=p+8),g=0|hu(16),ar[g+4>>2]=0,ar[g+8>>2]=0,ar[g>>2]=7064,ar[(m=g+12|0)>>2]=6516,ar[o>>2]=m,ar[(Z=4+o|0)>>2]=g,(p=0|ar[vA>>2])>>>0>=(0|ar[y>>2])>>>0?(ke(mA,o),0|(m=0|ar[Z>>2])&&du(m)):(ar[p>>2]=m,ar[p+4>>2]=g,ar[o>>2]=0,ar[Z>>2]=0,ar[vA>>2]=p+8),g=0|hu(16),ar[g+4>>2]=0,ar[g+8>>2]=0,ar[g>>2]=7092,ar[(m=g+12|0)>>2]=6540,ar[o>>2]=m,ar[(Z=4+o|0)>>2]=g,(p=0|ar[vA>>2])>>>0>=(0|ar[y>>2])>>>0?(ke(mA,o),0|(m=0|ar[Z>>2])&&du(m)):(ar[p>>2]=m,ar[p+4>>2]=g,ar[o>>2]=0,ar[Z>>2]=0,ar[vA>>2]=p+8),g=0|hu(16),ar[g+4>>2]=0,ar[g+8>>2]=0,ar[g>>2]=7120,ar[(m=g+12|0)>>2]=6908,ar[o>>2]=m,ar[(Z=4+o|0)>>2]=g,(p=0|ar[vA>>2])>>>0>=(0|ar[y>>2])>>>0?(ke(mA,o),0|(m=0|ar[Z>>2])&&du(m)):(ar[p>>2]=m,ar[p+4>>2]=g,ar[o>>2]=0,ar[Z>>2]=0,ar[vA>>2]=p+8),g=0|hu(16),ar[g+4>>2]=0,ar[g+8>>2]=0,ar[g>>2]=7148,ar[(m=g+12|0)>>2]=6564,ar[o>>2]=m,ar[(Z=4+o|0)>>2]=g,(p=0|ar[vA>>2])>>>0>=(0|ar[y>>2])>>>0?(ke(mA,o),0|(m=0|ar[Z>>2])&&du(m)):(ar[p>>2]=m,ar[p+4>>2]=g,ar[o>>2]=0,ar[Z>>2]=0,ar[vA>>2]=p+8),g=0|hu(16),ar[g+4>>2]=0,ar[g+8>>2]=0,ar[g>>2]=7176,ar[(m=g+12|0)>>2]=6588,ar[o>>2]=m,ar[(Z=4+o|0)>>2]=g,(p=0|ar[vA>>2])>>>0>=(0|ar[y>>2])>>>0?(ke(mA,o),0|(m=0|ar[Z>>2])&&du(m)):(ar[p>>2]=m,ar[p+4>>2]=g,ar[o>>2]=0,ar[Z>>2]=0,ar[vA>>2]=p+8),g=0|hu(16),ar[g+4>>2]=0,ar[g+8>>2]=0,ar[g>>2]=7204,ar[(m=g+12|0)>>2]=6660,ar[o>>2]=m,ar[(Z=4+o|0)>>2]=g,(p=0|ar[vA>>2])>>>0>=(0|ar[y>>2])>>>0?(ke(mA,o),0|(m=0|ar[Z>>2])&&du(m)):(ar[p>>2]=m,ar[p+4>>2]=g,ar[o>>2]=0,ar[Z>>2]=0,ar[vA>>2]=p+8),g=0|hu(16),ar[g+4>>2]=0,ar[g+8>>2]=0,ar[g>>2]=7232,ar[(m=g+12|0)>>2]=6684,ar[o>>2]=m,ar[(Z=4+o|0)>>2]=g,(p=0|ar[vA>>2])>>>0>=(0|ar[y>>2])>>>0?(ke(mA,o),0|(m=0|ar[Z>>2])&&du(m)):(ar[p>>2]=m,ar[p+4>>2]=g,ar[o>>2]=0,ar[Z>>2]=0,ar[vA>>2]=p+8),g=0|hu(16),ar[g+4>>2]=0,ar[g+8>>2]=0,ar[g>>2]=7260,ar[(m=g+12|0)>>2]=6636,ar[o>>2]=m,ar[(Z=4+o|0)>>2]=g,(p=0|ar[vA>>2])>>>0>=(0|ar[y>>2])>>>0?(ke(mA,o),0|(m=0|ar[Z>>2])&&du(m)):(ar[p>>2]=m,ar[p+4>>2]=g,ar[o>>2]=0,ar[Z>>2]=0,ar[vA>>2]=p+8),g=0|hu(16),ar[g+4>>2]=0,ar[g+8>>2]=0,ar[g>>2]=7288,ar[(m=g+12|0)>>2]=6612,ar[o>>2]=m,ar[(Z=4+o|0)>>2]=g,(p=0|ar[vA>>2])>>>0>=(0|ar[y>>2])>>>0?(ke(mA,o),0|(m=0|ar[Z>>2])&&du(m)):(ar[p>>2]=m,ar[p+4>>2]=g,ar[o>>2]=0,ar[Z>>2]=0,ar[vA>>2]=p+8),g=0|hu(16),ar[g+4>>2]=0,ar[g+8>>2]=0,ar[g>>2]=7316,ar[(m=g+12|0)>>2]=6708,ar[o>>2]=m,ar[(Z=4+o|0)>>2]=g,(p=0|ar[vA>>2])>>>0>=(0|ar[y>>2])>>>0?(ke(mA,o),0|(m=0|ar[Z>>2])&&du(m)):(ar[p>>2]=m,ar[p+4>>2]=g,ar[o>>2]=0,ar[Z>>2]=0,ar[vA>>2]=p+8),g=0|hu(16),ar[g+4>>2]=0,ar[g+8>>2]=0,ar[g>>2]=7344,ar[(m=g+12|0)>>2]=6732,ar[o>>2]=m,ar[(Z=4+o|0)>>2]=g,(p=0|ar[vA>>2])>>>0>=(0|ar[y>>2])>>>0?(ke(mA,o),0|(m=0|ar[Z>>2])&&du(m)):(ar[p>>2]=m,ar[p+4>>2]=g,ar[o>>2]=0,ar[Z>>2]=0,ar[vA>>2]=p+8),g=0|hu(16),ar[g+4>>2]=0,ar[g+8>>2]=0,ar[g>>2]=7372,ar[(m=g+12|0)>>2]=7400,ar[o>>2]=m,ar[(Z=4+o|0)>>2]=g,p=0|ar[vA>>2];do{if(p>>>0<(0|ar[y>>2])>>>0)ar[p>>2]=m,ar[p+4>>2]=g,ar[o>>2]=0,ar[Z>>2]=0,ar[vA>>2]=p+8;else{if(ke(mA,o),!(m=0|ar[Z>>2]))break;du(m)}}while(0);g=0|hu(16),ar[g+4>>2]=0,ar[g+8>>2]=0,ar[g>>2]=7424,ar[(m=g+12|0)>>2]=7452,ar[o>>2]=m,ar[(Z=4+o|0)>>2]=g,p=0|ar[vA>>2];do{if(p>>>0<(0|ar[y>>2])>>>0)ar[p>>2]=m,ar[p+4>>2]=g,ar[o>>2]=0,ar[Z>>2]=0,ar[vA>>2]=p+8;else{if(ke(mA,o),!(m=0|ar[Z>>2]))break;du(m)}}while(0);g=0|hu(16),ar[g+4>>2]=0,ar[g+8>>2]=0,ar[g>>2]=7476,ar[(m=g+12|0)>>2]=6756,ar[o>>2]=m,ar[(Z=4+o|0)>>2]=g,p=0|ar[vA>>2];do{if(p>>>0<(0|ar[y>>2])>>>0)ar[p>>2]=m,ar[p+4>>2]=g,ar[o>>2]=0,ar[Z>>2]=0,ar[vA>>2]=p+8;else{if(ke(mA,o),!(m=0|ar[Z>>2]))break;du(m)}}while(0);g=0|hu(16),ar[g+4>>2]=0,ar[g+8>>2]=0,ar[g>>2]=7504,ar[(m=g+12|0)>>2]=6780,ar[o>>2]=m,ar[(Z=4+o|0)>>2]=g,p=0|ar[vA>>2];do{if(p>>>0<(0|ar[y>>2])>>>0)ar[p>>2]=m,ar[p+4>>2]=g,ar[o>>2]=0,ar[Z>>2]=0,ar[vA>>2]=p+8;else{if(ke(mA,o),!(m=0|ar[Z>>2]))break;du(m)}}while(0);g=0|hu(16),ar[g+4>>2]=0,ar[g+8>>2]=0,ar[g>>2]=7532,ar[(m=g+12|0)>>2]=6832,ar[o>>2]=m,ar[(Z=4+o|0)>>2]=g,p=0|ar[vA>>2];do{if(p>>>0<(0|ar[y>>2])>>>0)ar[p>>2]=m,ar[p+4>>2]=g,ar[o>>2]=0,ar[Z>>2]=0,ar[vA>>2]=p+8;else{if(ke(mA,o),!(m=0|ar[Z>>2]))break;du(m)}}while(0);g=0|hu(16),ar[g+4>>2]=0,ar[g+8>>2]=0,ar[g>>2]=7560,ar[(m=g+12|0)>>2]=6884,ar[o>>2]=m,ar[(Z=4+o|0)>>2]=g,p=0|ar[vA>>2];do{if(p>>>0<(0|ar[y>>2])>>>0)ar[p>>2]=m,ar[p+4>>2]=g,ar[o>>2]=0,ar[Z>>2]=0,ar[vA>>2]=p+8;else{if(ke(mA,o),!(m=0|ar[Z>>2]))break;du(m)}}while(0);ar[w>>2]=0,ar[(n=4+w|0)>>2]=0,ar[8+w>>2]=0,ar[h>>2]=0,ar[(f=4+h|0)>>2]=0,ar[8+h>>2]=0,ar[R>>2]=ar[e>>2],ar[R+4>>2]=ar[e+4>>2],ar[R+8>>2]=ar[e+8>>2],ar[R+12>>2]=ar[e+12>>2],p=0|ar[e+16>>2],(I=0==(0|(W=0|ar[e+20>>2])))||bu(W),B=4+o|0,X=8+o|0,E=12+o|0,ar[(e=28+o|0)>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,ar[e+12>>2]=0,ar[e+16>>2]=0,ar[o>>2]=-1,ar[B>>2]=0,ar[X>>2]=0,ar[E>>2]=ar[R>>2],ar[E+4>>2]=ar[R+4>>2],ar[E+8>>2]=ar[R+8>>2],ar[E+12>>2]=ar[R+12>>2],e=28+o|0,g=W;do{if(I)dA=32+o|0,ar[e>>2]=p,ar[dA>>2]=g,y=e,g=p=dA;else{if(bu(W),m=0|ar[(Z=32+o|0)>>2],ar[e>>2]=p,ar[Z>>2]=g,!m){y=e,g=p=Z;break}du(m),y=e,g=p=Z}}while(0);gA[36+o>>2]=0,gA[40+o>>2]=0,m=(gA[44+o>>2]=0)|ar[f>>2],dA=8+h|0;do{if(m>>>0<(0|ar[dA>>2])>>>0)ar[m>>2]=ar[o>>2],ar[m+4>>2]=ar[B>>2],ar[m+8>>2]=ar[X>>2],ar[B>>2]=0,ar[X>>2]=0,ar[(sA=m+12|0)>>2]=ar[E>>2],ar[sA+4>>2]=ar[E+4>>2],ar[sA+8>>2]=ar[E+8>>2],ar[sA+12>>2]=ar[E+12>>2],ar[m+28>>2]=ar[y>>2],ar[m+32>>2]=ar[g>>2],ar[e>>2]=0,bA=36+o|(ar[p>>2]=0),ar[(sA=m+36|0)>>2]=ar[bA>>2],ar[sA+4>>2]=ar[bA+4>>2],ar[sA+8>>2]=ar[bA+8>>2],ar[f>>2]=m+48;else{if(he(h,o),!(m=0|ar[p>>2]))break;du(m)}}while(0);0|(m=0|ar[X>>2])&&du(m),I||du(W),m=0|ar[h>>2],g=0|ar[f>>2];A:do{if((0|m)==(0|g))p=0;else{P=8+w|0,L=r+4|0,K=r+8|0,q=r+12|0,$=16+d|0,AA=20+d|0,eA=16+k|0,rA=20+k|0,iA=4+s|0,fA=l+4|0,nA=l+8|0,tA=l+12|0,oA=l+16|0,aA=l+20|0,cA=l+24|0,uA=lA=l+28|0,bA=l+32|0,H=l+40|0,x=l+44|0,sA=j=l+36|0,C=0;e:for(;;){if((0|g)==(0|m))g=-1;else for(p=(g-m|0)/48|0,g=-1,Z=0;C=(z=0==(0|Z)|(F=.30000001192092896*gA[m+(48*Z|0)+36>>2]+.6000000238418579*gA[m+(48*Z|0)+40>>2]+.10000000149011612*gA[m+(48*Z|0)+44>>2])<C)?F:C,g=z?Z:g,(Z=Z+1|0)>>>0<p>>>0;);for(Z=m+(48*g|0)|0,(0|(p=0|ar[n>>2]))==(0|ar[P>>2])?we(w,Z):(ar[p>>2]=ar[Z>>2],ar[p+4>>2]=ar[m+(48*g|0)+4>>2],Z=0|ar[m+(48*g|0)+8>>2],0|(ar[p+8>>2]=Z)&&bu(Z),z=m+(48*g|0)+12|0,ar[(Z=p+12|0)>>2]=ar[z>>2],ar[Z+4>>2]=ar[z+4>>2],ar[Z+8>>2]=ar[z+8>>2],ar[Z+12>>2]=ar[z+12>>2],ar[p+28>>2]=ar[m+(48*g|0)+28>>2],Z=0|ar[m+(48*g|0)+32>>2],0|(ar[p+32>>2]=Z)&&bu(Z),O=m+(48*g|0)+36|0,ar[(z=p+36|0)>>2]=ar[O>>2],ar[z+4>>2]=ar[O+4>>2],ar[z+8>>2]=ar[O+8>>2],ar[n>>2]=48+(0|ar[n>>2])),p=0|ar[f>>2],y=0|ar[h>>2],ar[y+(48*g|0)>>2]=ar[p+-48>>2],m=0|ar[p+-44>>2],0|(Z=0|ar[p+-40>>2])&&bu(Z),ar[y+(48*g|0)+4>>2]=m,m=0|ar[(z=y+(48*g|0)+8|0)>>2],ar[z>>2]=Z,0|m&&du(m),Z=p+-36|0,ar[(m=y+(48*g|0)+12|0)>>2]=ar[Z>>2],ar[m+4>>2]=ar[Z+4>>2],ar[m+8>>2]=ar[Z+8>>2],ar[m+12>>2]=ar[Z+12>>2],m=0|ar[p+-20>>2],0|(Z=0|ar[p+-16>>2])&&bu(Z),ar[y+(48*g|0)+28>>2]=m,m=0|ar[(z=y+(48*g|0)+32|0)>>2],ar[z>>2]=Z,0|m&&du(m),m=y+(48*g|0)+36|0,g=p+-12|0,ar[m>>2]=ar[g>>2],ar[m+4>>2]=ar[g+4>>2],ar[m+8>>2]=ar[g+8>>2],g=(m=0|ar[f>>2])+-48|0;ar[f>>2]=m+-48,0|(Z=0|ar[m+-16>>2])&&du(Z),0|(m=0|ar[m+-40>>2])&&du(m),(0|(m=0|ar[f>>2]))!=(0|g););Z=0|ar[n>>2];do{if((0|ar[Z+-36>>2])==(0|ar[r>>2])){if((0|ar[Z+-32>>2])!=(0|ar[L>>2]))break;if((0|tr[Z+-28>>0])!=(0|tr[K>>0]))break;if((0|ar[Z+-24>>2])==(0|ar[q>>2]))break e}}while(0);if((0|(m=0|ar[mA>>2]))!=(0|(z=0|ar[vA>>2]))){for(;;){if(p=0|ar[m>>2],y=0|ar[8+(0|ar[p>>2])>>2],g=Z+-36|0,ar[d>>2]=ar[g>>2],ar[4+d>>2]=ar[g+4>>2],ar[8+d>>2]=ar[g+8>>2],ar[12+d>>2]=ar[g+12>>2],ar[$>>2]=ar[Z+-20>>2],g=0|ar[Z+-16>>2],0|(ar[AA>>2]=g)&&bu(g),ar[k>>2]=ar[r>>2],ar[4+k>>2]=ar[r+4>>2],ar[8+k>>2]=ar[r+8>>2],ar[12+k>>2]=ar[r+12>>2],ar[eA>>2]=ar[kA>>2],g=0|ar[t>>2],0|(ar[rA>>2]=g)&&bu(g),ar[b>>2]=ar[i>>2],ar[o>>2]=ar[b>>2],os[63&y](s,p,d,k,o),0|(g=0|ar[rA>>2])&&du(g),0|(g=0|ar[AA>>2])&&du(g),(0|(g=0|ar[s>>2]))!=(0|(S=0|ar[iA>>2]))){O=m+4|0;do{if((0|(y=p=0|ar[w>>2]))!=(0|(U=W=0|ar[n>>2]))){e=0|ar[g>>2],B=g+4|0,E=g+8|0,X=g+12|0,Z=0;r:do{do{if((0|ar[p+12>>2])==(0|e)){if((0|ar[p+16>>2])!=(0|ar[B>>2]))break;if((0|tr[p+20>>0])!=(0|tr[E>>0]))break;if(Z|=T=(0|ar[p+24>>2])==(0|ar[X>>2]),T)break r}}while(0);p=p+48|0}while((0|p)!=(0|W));Z||(hA=182)}else hA=182;r:do{if(182==(0|hA)){Z=(hA=0)|ar[h>>2],p=0|ar[f>>2];i:do{if((0|Z)!=(0|p)){T=0|ar[g>>2],e=g+4|0,B=g+8|0,E=g+12|0;f:for(;;){N=Z+12|0;do{if((0|ar[N>>2])==(0|T)){if((0|(Y=0|ar[(_=Z+16|0)>>2]))!=(0|ar[e>>2]))break;if((D=0|tr[(Q=Z+20|0)>>0])<<24>>24!=(0|tr[B>>0]))break;if((0|(M=0|ar[(J=Z+24|0)>>2]))==(0|ar[E>>2]))break f}}while(0);if((0|(Z=Z+48|0))==(0|p))break i}if(V=+gA[(p=g+24|0)>>2]+ +gA[W+-12>>2],F=+gA[g+28>>2]+ +gA[W+-8>>2],G=+gA[g+32>>2]+ +gA[W+-4>>2],X=Z+40|0,W=Z+44|0,!(.30000001192092896*gA[(E=Z+36|0)>>2]+.6000000238418579*gA[X>>2]+.10000000149011612*gA[W>>2]>.30000001192092896*V+.6000000238418579*F+.10000000149011612*G))break r;B=g+9|0,tr[c>>0]=0|tr[B>>0],tr[1+c>>0]=0|tr[B+1>>0],tr[2+c>>0]=0|tr[B+2>>0],B=0|ar[g+16>>2],(R=0==(0|(I=0|ar[g+20>>2])))||bu(I),ar[u>>2]=ar[p>>2],ar[4+u>>2]=ar[p+4>>2],ar[8+u>>2]=ar[p+8>>2],ar[l>>2]=0,ar[l+4>>2]=0,p=(ar[l+8>>2]=0)|ar[m>>2],0|(e=0|ar[O>>2])&&bu(e),tr[o>>0]=0|tr[c>>0],tr[1+o>>0]=0|tr[1+c>>0],tr[2+o>>0]=0|tr[2+c>>0],R||bu(I),ar[l>>2]=ar[u>>2],ar[l+4>>2]=ar[4+u>>2],ar[l+8>>2]=ar[8+u>>2],ar[Z>>2]=((U-y|0)/48|0)-1,ar[Z+4>>2]=p,p=0|ar[(U=Z+8|0)>>2],ar[U>>2]=e,0|p&&du(p),ar[N>>2]=T,ar[_>>2]=Y,tr[Q>>0]=D,tr[(U=Z+21|0)>>0]=0|tr[o>>0],tr[U+1>>0]=0|tr[1+o>>0],tr[U+2>>0]=0|tr[2+o>>0],ar[J>>2]=M,ar[Z+28>>2]=B,p=0|ar[(U=Z+32|0)>>2],ar[U>>2]=I,0|p&&du(p),ar[E>>2]=ar[l>>2],ar[E+4>>2]=ar[l+4>>2],ar[E+8>>2]=ar[l+8>>2],R||du(I),gA[Z+36>>2]=V,gA[X>>2]=F,gA[W>>2]=G;break r}}while(0);ar[o>>2]=ar[g>>2],ar[4+o>>2]=ar[g+4>>2],ar[8+o>>2]=ar[g+8>>2],ar[12+o>>2]=ar[g+12>>2],e=0|ar[g+16>>2],(E=0==(0|(B=0|ar[g+20>>2])))?(p=W,Z=U):(bu(B),p=Z=0|ar[n>>2],y=0|ar[w>>2]),V=+gA[g+24>>2]+ +gA[p+-12>>2],F=+gA[g+28>>2]+ +gA[p+-8>>2],G=+gA[g+32>>2]+ +gA[p+-4>>2],ar[a>>2]=ar[o>>2],ar[4+a>>2]=ar[4+o>>2],ar[8+a>>2]=ar[8+o>>2],ar[12+a>>2]=ar[12+o>>2],E||bu(B),ar[fA>>2]=0,ar[nA>>2]=0,ar[tA>>2]=99,ar[oA>>2]=99,tr[aA>>0]=0,ar[cA>>2]=8,ar[lA>>2]=0,ar[lA+4>>2]=0,ar[lA+8>>2]=0,ar[lA+12>>2]=0,ar[lA+16>>2]=0,ar[l>>2]=((Z-y|0)/48|0)-1,p=0|ar[m>>2],y=Z=0|ar[O>>2];do{if(Z){if(bu(Z),Z=0|ar[nA>>2],ar[fA>>2]=p,ar[nA>>2]=y,!Z)break;du(Z)}else ar[fA>>2]=p,ar[nA>>2]=y}while(0);ar[tA>>2]=ar[a>>2],ar[tA+4>>2]=ar[4+a>>2],ar[tA+8>>2]=ar[8+a>>2],ar[tA+12>>2]=ar[12+a>>2],E||bu(B),ar[uA>>2]=e,Z=0|ar[bA>>2],ar[bA>>2]=B,0|Z&&du(Z),gA[j>>2]=V,gA[H>>2]=F,gA[x>>2]=G,Z=0|ar[f>>2];do{if(Z>>>0<(0|ar[dA>>2])>>>0)ar[Z>>2]=ar[l>>2],ar[Z+4>>2]=ar[fA>>2],ar[Z+8>>2]=ar[nA>>2],ar[fA>>2]=0,ar[nA>>2]=0,ar[(U=Z+12|0)>>2]=ar[tA>>2],ar[U+4>>2]=ar[tA+4>>2],ar[U+8>>2]=ar[tA+8>>2],ar[U+12>>2]=ar[tA+12>>2],ar[Z+28>>2]=ar[uA>>2],ar[Z+32>>2]=ar[bA>>2],ar[uA>>2]=0,ar[bA>>2]=0,ar[(U=Z+36|0)>>2]=ar[sA>>2],ar[U+4>>2]=ar[sA+4>>2],ar[U+8>>2]=ar[sA+8>>2],ar[f>>2]=Z+48;else{if(he(h,l),!(Z=0|ar[bA>>2]))break;du(Z)}}while(0);0|(Z=0|ar[nA>>2])&&du(Z),E||(du(B),du(B))}}while(0);g=g+36|0}while((0|g)!=(0|S));g=0|ar[s>>2]}if(0|g){if((0|(Z=0|ar[iA>>2]))!=(0|g)){for(;p=Z+-36|0,ar[iA>>2]=p,(0|(Z=(Z=0|ar[Z+-16>>2])?(du(Z),0|ar[iA>>2]):p))!=(0|g););g=0|ar[s>>2]}vu(g)}if((0|(m=m+8|0))==(0|z))break;Z=0|ar[n>>2]}g=0|ar[f>>2]}if((0|(m=0|ar[h>>2]))==(0|g)){p=0;break A}}if(m=((Z-(hA=0|ar[w>>2])|0)/48|0)-1|0,Z=hA,m)for(g=0;g=g+1|0,0!=(0|(m=0|ar[Z+(48*m|0)>>2])););else g=0;m=(p=0|ar[wA>>2])-(Z=0|ar[A>>2])>>3;do{if(m>>>0<g>>>0)ve(A,g-m|0);else{if(m>>>0<=g>>>0)break;if((0|p)==(0|(y=Z+(g<<3)|0)))break;for(Z=p;m=Z+-8|0,ar[wA>>2]=m,(Z=0|ar[Z+-4>>2])&&(du(Z),m=0|ar[wA>>2]),(0|m)!=(0|y);)Z=m}}while(0);if(Z=0|ar[w>>2],0|(m=(((0|ar[n>>2])-Z|0)/48|0)-1|0))for(B=g+-1|0,e=0;g=B-e|0,p=0|ar[A>>2],y=0|ar[Z+(48*m|0)+4>>2],0|(Z=0|ar[Z+(48*m|0)+8>>2])&&bu(Z),ar[p+(g<<3)>>2]=y,g=0|ar[(wA=p+(g<<3)+4|0)>>2],ar[wA>>2]=Z,0|g&&du(g),Z=0|ar[w>>2],m=0|ar[Z+(48*m|0)>>2];)e=e+1|0;p=1,m=0|ar[h>>2]}}while(0);if(0|m){if((0|(g=0|ar[f>>2]))!=(0|m)){for(;ar[f>>2]=g+-48,0|(Z=0|ar[g+-16>>2])&&du(Z),0|(g=0|ar[g+-40>>2])&&du(g),(0|(g=0|ar[f>>2]))!=(0|m););m=0|ar[h>>2]}vu(m)}if(0|(m=0|ar[w>>2])){if((0|(g=0|ar[n>>2]))!=(0|m)){for(;ar[n>>2]=g+-48,0|(Z=0|ar[g+-16>>2])&&du(Z),0|(g=0|ar[g+-40>>2])&&du(g),(0|(g=0|ar[n>>2]))!=(0|m););m=0|ar[w>>2]}vu(m)}if(0|(m=0|ar[mA>>2])){if((0|(g=0|ar[vA>>2]))!=(0|m)){for(;Z=g+-8|0,ar[vA>>2]=Z,(0|(g=(g=0|ar[g+-4>>2])?(du(g),0|ar[vA>>2]):Z))!=(0|m););m=0|ar[mA>>2]}vu(m)}return ur=v,0|(mA=p)}(g,k,h,u),v||du(w),X||du(m),y?function(A,e,r){A|=0,e|=0;var i,f,n,t,o,a,c,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0;ur=(c=ur)+64|0,f=c+48|0,n=c+40|0,t=c+32|0,o=c+8|0,a=c,l=0|ar[(r|=0)>>2],0|(r=u=0|ar[r+4>>2])&&(bu(u),bu(u)),u=0|ar[e>>2],i=0|ar[e+4>>2];A:do{if((0|u)!=(0|i)){for(g=4+t|0,Z=e+12|0,p=16+o|0,y=e+28|0,B=20+o|0,E=e+32|0,v=e+36|0,m=4+n|0,d=l;l=0|ar[u>>2],e=0|ar[12+(0|ar[l>>2])>>2],ar[t>>2]=d,h=r,ar[g>>2]=h,(w=0==(0|r))||bu(h),ar[o>>2]=ar[Z>>2],ar[4+o>>2]=ar[Z+4>>2],ar[8+o>>2]=ar[Z+8>>2],ar[12+o>>2]=ar[Z+12>>2],ar[p>>2]=ar[y>>2],b=0|ar[E>>2],0|(ar[B>>2]=b)&&bu(b),ar[a>>2]=ar[v>>2],ar[f>>2]=ar[a>>2],os[63&e](n,l,t,o,f),l=0|ar[n>>2],k=0|ar[m>>2],ar[n>>2]=0,ar[m>>2]=0,!w&&(du(h),0|(X=0|ar[m>>2]))&&du(X),0|(e=0|ar[B>>2])&&du(e),0|(e=0|ar[g>>2])&&du(e),s=l;){if(r=0|ar[y>>2],(b=0==(0|(e=0|ar[E>>2])))||(bu(e),bu(e)),ar[s+40>>2]=r,r=0|ar[(I=s+44|0)>>2],ar[I>>2]=e,0|r&&du(r),b||du(e),r=0|ar[(e=d)+48>>2],(b=0==(0|(e=0|ar[e+52>>2])))||(bu(e),bu(e)),ar[s+48>>2]=r,r=0|ar[(I=s+52|0)>>2],ar[I>>2]=e,0|r&&du(r),b||du(e),0|k&&bu(k),w||du(h),(0|(u=u+8|0))==(0|i)){r=k,W=34;break A}d=l,r=k}ar[A>>2]=0,ar[A+4>>2]=0,k&&du(k)}else W=34}while(0);34==(0|W)&&(ar[A>>2]=l,ar[A+4>>2]=r),ur=(r&&du(r),c)}(A,g,e):(ar[A>>2]=0,ar[A+4>>2]=0),0|(y=0|ar[f>>2])&&du(y),0|(y=0|ar[g>>2])){if((0|(B=0|ar[n>>2]))!=(0|y)){for(;f=B+-8|0,ar[n>>2]=f,(0|(B=(B=0|ar[B+-4>>2])?(du(B),0|ar[n>>2]):f))!=(0|y););y=0|ar[g>>2]}vu(y)}v||du(w),Co(Z,0|ar[4+Z>>2]),X||du(m),ur=p}function ge(A,e,r){e|=0,r|=0;var i,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0;switch(gA[(A|=0)>>2]=0,gA[(i=A+4|0)>>2]=0,e<<16>>16){case 13:case 12:switch(r<<16>>16){case 1:f=.30000001192092896,n=.6000000238418579,t=.15000000596046448,o=.05999999865889549,a=.6399999856948853,c=.33000001311302185,l=.3127000033855438,u=.32899999618530273;break;case 4:f=.20999999344348907,n=.7099999785423279,t=.14000000059604645,o=.07999999821186066,a=.6700000166893005,c=.33000001311302185,l=.3100000023841858,u=.3160000145435333;break;case 5:f=.28999999165534973,n=.6000000238418579,t=.15000000596046448,o=.05999999865889549,a=.6399999856948853,c=.33000001311302185,l=.3127000033855438,u=.32899999618530273;break;case 7:case 6:f=.3100000023841858,n=.5950000286102295,t=.1550000011920929,o=.07000000029802322,a=.6299999952316284,c=.3400000035762787,l=.3127000033855438,u=.32899999618530273;break;case 8:f=.24300000071525574,n=.6919999718666077,t=.14499999582767487,o=.04899999871850014,a=.6809999942779541,c=.3190000057220459,l=.3100000023841858,u=.3160000145435333;break;case 9:f=.17000000178813934,n=.796999990940094,t=.13099999725818634,o=.04600000008940697,a=.7080000042915344,c=.2919999957084656,l=.3127000033855438,u=.32899999618530273;break;case 10:a=n=1,c=o=t=f=0,l=.33333298563957214,u=.3333300054073334;break;case 11:f=.26499998569488525,n=.6899999976158142,t=.15000000596046448,o=.05999999865889549,a=.6800000071525574,c=.3199999928474426,l=.3140000104904175,u=.35100001096725464;break;case 12:f=.26499998569488525,n=.6899999976158142,t=.15000000596046448,o=.05999999865889549,a=.6800000071525574,c=.3199999928474426,l=.3127000033855438,u=.32899999618530273;break;case 22:f=.29499998688697815,n=.6050000190734863,t=.1550000011920929,o=.07699999958276749,a=.6299999952316284,c=.3400000035762787,l=.3127000033855438,u=.32899999618530273;break;default:u=l=c=a=o=t=n=f=0}h=1-(u+l),b=u*(t*(k=c*(s=1-(n+f))-(d=1-(c+a))*n)+(f*(o*d-c*(w=1-(o+t)))+a*(v=n*w-o*s))),gA[A>>2]=c*(h*(o*f-t*n)+(l*v+u*(t*s-f*w)))/b,f=o*(h*(a*n-c*f)+(l*k+u*(d*f-a*s)))/b;break;case 1:gA[A>>2]=.2125999927520752,f=.0722000002861023;break;case 4:gA[A>>2]=.30000001192092896,f=.10999999940395355;break;case 6:case 5:gA[A>>2]=.29899999499320984,f=.11400000005960464;break;case 7:gA[A>>2]=.21199999749660492,f=.08699999749660492;break;case 10:case 9:gA[A>>2]=.26269999146461487,f=.059300001710653305;break;default:return}gA[i>>2]=f}function Ze(A){tr[(A|=0)>>0]=1,gA[A+4>>2]=1.4019999504089355,gA[A+8>>2]=-.34413599967956543,gA[A+12>>2]=-.714136004447937,gA[A+16>>2]=1.7719999551773071}function pe(A,e,r){e|=0,r|=0;var i,f,n,t,o=0,a=0,c=0,l=0,u=0;ur=(n=ur)+16|0,t=n,tr[(A|=0)>>0]=0,ar[(i=A+4|0)>>2]=0,ar[4+i>>2]=0,ar[8+i>>2]=0,ar[12+i>>2]=0,ge(t,e,r),f=+gA[t+4>>2],o=+gA[t>>2],tr[A>>0]=1,o=0!=f|0!=o?(a=1-o,gA[i>>2]=2*a,c=2*(u=1-f),a=2*o*a/(l=o+f+-1),2*f*u/l):(gA[i>>2]=1.4019999504089355,c=1.7719999551773071,a=-.714136004447937,-.34413599967956543),gA[A+8>>2]=o,gA[A+12>>2]=a,gA[A+16>>2]=c,ur=n}function ye(A,e,r){e|=0,r|=0;var i,f,n,t,o=0,a=0,c=0,l=0,u=0,b=0,s=0;for(ur=(t=ur)+16|0,f=t,i=(c=n=(A|=0)+4|(tr[A>>0]=0))+36|0;(0|(c=c+4|(ar[c>>2]=0)))<(0|i););ge(f,e,r),o=+gA[f+4>>2],a=+gA[f>>2],tr[A>>0]=1,0!=o|0!=a?(b=(u=1-(gA[n>>2]=a))-o,l=-o/u*.5,u=(b=-(gA[A+8>>2]=b))/u*.5,b=b/(s=1-o)*.5,a=-a/s*.5):(gA[n>>2]=.29899999499320984,gA[A+8>>2]=.5870000123977661,l=-.08131200075149536,u=-.41868799924850464,b=-.3312639892101288,a=-.16873499751091003,o=.11400000005960464),gA[A+12>>2]=o,gA[A+16>>2]=a,gA[A+20>>2]=b,gA[A+24>>2]=.5,gA[A+28>>2]=.5,gA[A+32>>2]=u,gA[A+36>>2]=l,ur=t}function Be(A){tr[(A|=0)>>0]=1,gA[A+4>>2]=.29899999499320984,gA[A+8>>2]=.5870000123977661,gA[A+12>>2]=.11400000005960464,gA[A+16>>2]=-.16873499751091003,gA[A+20>>2]=-.3312639892101288,gA[A+24>>2]=.5,gA[A+28>>2]=.5,gA[A+32>>2]=-.41868799924850464,gA[A+36>>2]=-.08131200075149536}function Ee(A,e){return 0|function(A,e){e|=0;var r,i,f,n,t,o=0,a=0,c=0;ur=(t=ur)+16|0,n=t,a=548+(A|=0)|0,i=0==(0|ar[(r=A+580|0)>>2]),f=0|tr[a>>0];do{if(i){if(f<<24>>24==0&&0==(0|tr[A+549>>0])){c=8;break}if((0|ar[A+377216>>2])==(0|ar[A+377220>>2]))return ra(A+376148|0),ur=(e&&(ar[e>>2]=ar[A+376200>>2]),t),(c=0)|c;c=7}else c=7}while(0);7==(0|c)&&f<<24>>24==0&&(c=8);if(8==(0|c)&&!(0!=(0|tr[A+549>>0])|1^i))return ur=(e&&(ar[e>>2]=1),t),0|(c=13);if(!(0|Lo(A+376148|0,0)))return ur=(e&&(ar[e>>2]=1),t),0|(c=9);tr[n>>0]=0;do{if(0|ar[r>>2]){if(a=0|ya(a)){o=0|Uo(A,a),tr[n>>0]=1,c=23;break}sr(35126,34700,1314,35130)}else{if(0|tr[A+549>>0]&&(0|ar[A+377216>>2])==(0|ar[A+377220>>2])){if(!e){o=13;break}ar[e>>2]=1,o=13;break}o=0|Yo(A,n),c=23}}while(0);23==(0|c)&&e&&(ar[e>>2]=0==(0|o)&0!=(1&tr[n>>0])&1);return ur=t,0|(c=o)}(A|=0,e|=0)}function Ve(A,e,r,i,f,n){return 0|function(A,e,r,i,f,n){e|=0,r|=0,i|=0,f|=0,n|=0;var t,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0;ur=(t=ur)+16|0,d=t,0|ar[8+(A|=0)>>2]&&sr(36856,36882,375,36896);tr[A+1>>0]=0,k=0|function(A,e){e|=0;var r,i,f,n,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0;if(ur=(n=ur)+16|0,i=n,f=40+(A|=0)|0,(0|(t=0|ar[(s=A+44|0)>>2]))==(0|ar[f>>2])){for(t=0|hu(48),tr[t>>0]=0,tr[t+1>>0]=0,tr[t+2>>0]=0,ar[(a=t+32|0)>>2]=0,ar[(o=t+36|0)>>2]=0,ar[(l=t+40|0)>>2]=0,c=0|hu(64),ar[a>>2]=c,a=c+64|0,ar[l>>2]=a,l=c+64|0;((ar[c>>2]=0)|(c=c+4|0))<(0|l););ar[o>>2]=a,ar[(b=t+8|0)>>2]=0,ar[b+4>>2]=0,ar[b+8>>2]=0,ar[b+12>>2]=0,ar[b+16>>2]=0,ar[b+20>>2]=0,b=t}else b=0|ar[(u=t+-4|0)>>2],ar[s>>2]=u;tr[b>>0]=0,tr[b+1>>0]=0,tr[b+2>>0]=0,ar[(l=b+8|0)>>2]=0,ar[l+4>>2]=0,ar[b+16>>2]=0,ar[(l=b+24|0)>>2]=0,t=0|ar[(r=b+32|0)>>2],(0|(o=0|ar[(u=b+36|0)>>2]))!=(0|t)&&(ar[u>>2]=o+(~((o+-4-t|0)>>>2)<<2));if((0|ar[(a=b+28|0)>>2])>=(0|e))return ur=n,0|(s=b);if(0|(c=0|yc(e)))return 0|(o=0|ar[(t=b+20|0)>>2])&&(hb(0|c,0|o,0|ar[l>>2]),Bc(o)),ar[t>>2]=c,ar[a>>2]=e,ur=n,0|(s=b);ar[i>>2]=b,t=b,o=0|ar[s>>2];do{if(o-(0|ar[f>>2])>>2>>>0<16){if((0|o)==(0|ar[A+48>>2])){pa(f,i);break}ar[o>>2]=t,ar[s>>2]=4+(0|ar[s>>2]);break}Bc(0|ar[b+20>>2]),0|(t=0|ar[r>>2])&&((0|(o=0|ar[u>>2]))!=(0|t)&&(ar[u>>2]=o+(~((o+-4-t|0)>>>2)<<2)),vu(t)),vu(b)}while(0);return ur=n,(s=0)|s}(A,r);A:do{if(k){a=k+28|0;do{if((0|ar[a>>2])<(0|r)){if(0|(o=0|yc(r))){0|(l=0|ar[(c=k+20|0)>>2])&&(hb(0|o,0|l,0|ar[k+24>>2]),Bc(l)),ar[c>>2]=o,ar[a>>2]=r;break}if(ar[d>>2]=k,o=k,a=A+40|0,(l=0|ar[(c=A+44|0)>>2])-(0|ar[a>>2])>>2>>>0<16){if((0|l)==(0|ar[A+48>>2])){pa(a,d);break A}ar[l>>2]=o,ar[c>>2]=4+(0|ar[c>>2]);break A}Bc(0|ar[k+20>>2]),0|(o=0|ar[k+32>>2])&&((0|(c=0|ar[(a=k+36|0)>>2]))!=(0|o)&&(ar[a>>2]=c+(~((c+-4-o|0)>>>2)<<2)),vu(o)),vu(k);break A}o=0|ar[k+20>>2]}while(0);hb(0|o,0|e,0|r),ar[(s=k+24|0)>>2]=r,ar[(u=k+8|0)>>2]=i,ar[u+4>>2]=f,ar[k+16>>2]=n;e:do{if(2<(0|r))for(f=k+32|0,n=k+36|0,u=k+40|0,o=0|ar[k+20>>2],i=0,l=r;;){switch((a=0|tr[(e=o+2|0)>>0])<<24>>24){case 0:case 3:0==(0|tr[o>>0])&&a<<24>>24==3&0==(0|tr[(b=o+1|0)>>0])?(c=0|ar[n>>2],a=i+2+(c-(0|ar[f>>2])>>2)|0,ar[d>>2]=a,(0|c)==(0|ar[u>>2])?ga(f,d):(ar[c>>2]=a,ar[n>>2]=c+4),wb(0|e,o+3|0,-3-i+(0|ar[s>>2])|0),a=(0|ar[s>>2])-1|0,ar[s>>2]=a,c=i+1|0,o=b):(c=i,a=l);break;default:c=i+2|0,o=e,a=l}if((a+-2|0)<=(0|(i=c+1|0)))break e;o=o+1|0,l=a}}while(0);return o=0|ar[(e=A+16|0)>>2],d=(0|ar[A+20>>2])-o|0,c=0|ar[(a=A+28|0)>>2],l=0|ar[(i=A+32|0)>>2],(0|(0==(0|d)?0:(d<<8)-1|0))==(l+c|0)?(Ea(A+12|0),c=0|ar[a>>2],a=0|ar[i>>2],o=0|ar[e>>2]):a=l,ar[(0|ar[o+((d=a+c|0)>>>10<<2)>>2])+((1023&d)<<2)>>2]=k,ar[i>>2]=a+1,ar[(k=A+36|0)>>2]=(0|ar[k>>2])+(0|ar[s>>2]),ur=t,(k=0)|k}ar[d>>2]=0}while(0);return ur=t,0|(k=7)}((A|=0)+548|0,e|=0,r|=0,i|=0,f|=0,n|=0)}function Fe(A){var e=0;return(0|ar[(A|=0)+376200>>2])<=0?(e=0)|e:(e=0|ar[A+376196>>2],(e=0|ar[(0|ar[(0|ar[A+376184>>2])+(e>>>10<<2)>>2])+((1023&e)<<2)>>2])?(fa(A+376148|(tr[e+100>>0]=0)),0|e):(e=0)|e)}function Re(A){var e;0|ar[(A|=0)+376200>>2]&&(e=0|ar[A+376196>>2],fa(A+376148|(tr[100+(0|ar[(0|ar[(0|ar[A+376184>>2])+(e>>>10<<2)>>2])+((1023&e)<<2)>>2])>>0]=0)))}function Ne(A,e,r){switch(A|=0,r|=0,0|(e|=0)){case 0:return void(tr[A+512>>0]=0!=(0|r)&1);case 6:return void(tr[A+514>>0]=0!=(0|r)&1);case 7:return void(tr[A+532>>0]=0!=(0|r)&1);case 8:return void(tr[A+533>>0]=0!=(0|r)&1);default:sr(55739,34548,503,34557)}}function _e(A,e){switch(A|=0,0|(e|=0)){case 0:A=A+72|0;break;case 2:case 1:A=A+80|0;break;default:return(e=0)|e}return 0|(e=0|ar[A>>2])}function Ye(A,e){switch(A|=0,0|(e|=0)){case 0:A=A+76|0;break;case 2:case 1:A=A+84|0;break;default:return(e=0)|e}return 0|(e=0|ar[A>>2])}function Qe(A,e){switch(A|=0,0|(e|=0)){case 0:A=A+5760|0;break;case 2:case 1:A=A+5768|0;break;default:return(e=0)|e}return 0|(e=0|ar[A>>2])}function De(A){return 0|ar[(A|=0)+20>>2]}function Je(A,e,r){A|=0,r|=0;var i,f,n=0;if(3<=(e|=0)>>>0&&sr(34582,34548,639,34609),f=0|ar[A+60+(e<<2)>>2],!r)return 0|f;switch(i=0|ar[(0==(0|e)?A+40|0:A+44|0)>>2],0|e){case 0:A=A+5760|0,n=7;break;case 2:case 1:A=A+5768|0,n=7;break;default:A=0}return 7==(0|n)&&(A=(7+(0|ar[A>>2])|0)/8|0),n=0|br(A,i),ar[r>>2]=n,0|f}function Me(A){var e,r=0,i=0,f=0,n=0,t=0,o=0;if(ar[(A|=0)>>2]=7696,(0|(r=0|ar[(n=A+377216|0)>>2]))!=(0|(i=0|ar[(t=A+377220|0)>>2])))for(;(f=0|ar[i+-4>>2])&&(Te(f),vu(f),i=0|ar[t>>2],r=0|ar[n>>2]),i=i+-4|0,(0|r)!=(0|(ar[t>>2]=i)););0|r&&vu(r),function(A){var e,r,i,f,n,t,o=0,a=0,c=0,l=0,u=0,b=0,s=0;if(n=8+(A|=0)|0,a=0|ar[(t=A+12|0)>>2],o=0|ar[n>>2],(0|a)!=(0|o))for(l=0;(c=0|ar[o+(l<<2)>>2])&&(aa(c),vu(c),o=0|ar[n>>2],a=0|ar[t>>2]),(l=l+1|0)>>>0<a-o>>2>>>0;);a=0|ar[(i=A+36|0)>>2],o=0|ar[(r=A+48|0)>>2],c=a+(o>>>10<<2)|0,b=0|ar[(f=A+40|0)>>2],o=(0|(l=b))==(0|(e=a))?(b=A+52|(u=0),0):(u=(0|ar[(b=A+52|0)>>2])+o|0,u=(0|ar[a+(u>>>10<<2)>>2])+((1023&u)<<2)|0,(0|ar[c>>2])+((1023&o)<<2)|0);A:for(;;){do{if((0|o)==(0|u))break A;o=o+4|0}while(4096!=(o-(0|ar[c>>2])|0));o=0|ar[(c=o=c+4|0)>>2]}if(ar[b>>2]=0,2<(o=l-e>>2)>>>0)for(;vu(0|ar[a>>2]),a=4+(0|ar[i>>2])|0,ar[i>>2]=a,o=(0|ar[f>>2])-a>>2,2<o>>>0;);switch(0|o){case 1:o=512,s=14;break;case 2:o=1024,s=14}14==(0|s)&&(ar[r>>2]=o);if(o=0|ar[i>>2],a=0|ar[f>>2],(0|o)!=(0|a)){for(;vu(0|ar[o>>2]),(0|(o=o+4|0))!=(0|a););o=0|ar[i>>2],(0|(a=0|ar[f>>2]))!=(0|o)&&(ar[f>>2]=a+(~((a+-4-o|0)>>>2)<<2))}0|(o=0|ar[A+32>>2])&&vu(o);0|(c=0|ar[A+20>>2])&&((0|(a=0|ar[(o=A+24|0)>>2]))!=(0|c)&&(ar[o>>2]=a+(~((a+-4-c|0)>>>2)<<2)),vu(c));if(!(o=0|ar[n>>2]))return;(0|(a=0|ar[t>>2]))!=(0|o)&&(ar[t>>2]=a+(~((a+-4-o|0)>>>2)<<2));vu(o)}(A+376148|0),function(A){var e,r,i,f,n,t=0,o=0,a=0,c=0,l=0,u=0;o=0|ar[(f=8+(A|=0)|0)>>2],t=0|ar[(i=A+20|0)>>2],a=o+(t>>>10<<2)|0,l=0|ar[(n=A+12|0)>>2],t=(0|(e=l))==(0|(r=o))?(l=A+24|(c=0),0):(c=(0|ar[(l=A+24|0)>>2])+t|0,c=(0|ar[o+(c>>>10<<2)>>2])+((1023&c)<<2)|0,(0|ar[a>>2])+((1023&t)<<2)|0);A:for(;;){do{if((0|t)==(0|c))break A;t=t+4|0}while(4096!=(t-(0|ar[a>>2])|0));t=0|ar[(a=t=a+4|0)>>2]}if(ar[l>>2]=0,2<(t=e-r>>2)>>>0)for(;vu(0|ar[o>>2]),o=4+(0|ar[f>>2])|0,ar[f>>2]=o,t=(0|ar[n>>2])-o>>2,2<t>>>0;);switch(0|t){case 1:t=512,u=13;break;case 2:t=1024,u=13}13==(0|u)&&(ar[i>>2]=t);if(t=0|ar[f>>2],o=0|ar[n>>2],(0|t)!=(0|o)){for(;vu(0|ar[t>>2]),(0|(t=t+4|0))!=(0|o););t=0|ar[f>>2],(0|(o=0|ar[n>>2]))!=(0|t)&&(ar[n>>2]=o+(~((o+-4-t|0)>>>2)<<2))}if(!(t=0|ar[A+4>>2]))return;vu(t)}(A+375396|0),Ga(A+370984|0),Ga(A+366584|0),Ga(A+362184|0),Ga(A+357784|0),Ga(A+353384|0),Ga(A+348984|0),Ga(A+344584|0),Ga(A+340184|0),Ga(A+335784|0),Ga(A+331384|0),Ga(A+326984|0),Ga(A+322584|0),Ga(A+318184|0),Ga(A+313784|0),Ga(A+309384|0),Ga(A+304984|0),Ga(A+300584|0),Ga(A+296184|0),Ga(A+291784|0),Ga(A+287384|0),Ga(A+282984|0),Ga(A+278584|0),Ga(A+274184|0),Ga(A+269784|0),Ga(A+265384|0),Ga(A+260984|0),Ga(A+256584|0),Ga(A+252184|0),Ga(A+247784|0),Ga(A+243384|0),Ga(A+238984|0),Ga(A+234584|0),Ga(A+230184|0),Ga(A+225784|0),Ga(A+221384|0),Ga(A+216984|0),Ga(A+212584|0),Ga(A+208184|0),Ga(A+203784|0),Ga(A+199384|0),Ga(A+194984|0),Ga(A+190584|0),Ga(A+186184|0),Ga(A+181784|0),Ga(A+177384|0),Ga(A+172984|0),Ga(A+168584|0),Ga(A+164184|0),Ga(A+159784|0),Ga(A+155384|0),Ga(A+150984|0),Ga(A+146584|0),Ga(A+142184|0),Ga(A+137784|0),Ga(A+133384|0),Ga(A+128984|0),Ga(A+124584|0),Ga(A+120184|0),Ga(A+115784|0),Ga(A+111384|0),Ga(A+106984|0),Ga(A+102584|0),Ga(A+98184|0),Ga(A+93784|0),Ac(A+88616|0),Ac(A+83448|0),Ac(A+78280|0),Ac(A+73112|0),Ac(A+67944|0),Ac(A+62776|0),Ac(A+57608|0),Ac(A+52440|0),Ac(A+47272|0),Ac(A+42104|0),Ac(A+36936|0),Ac(A+31768|0),Ac(A+26600|0),Ac(A+21432|0),Ac(A+16264|0),Ac(A+11096|0),e=A+600|0,o=A+11096|0;do{if(0|(r=0|ar[o+-16>>2])&&((0|ar[(i=o+-12|0)>>2])!=(0|r)&&(ar[i>>2]=r),vu(r)),0|(r=0|ar[o+-28>>2])&&((0|(f=0|ar[(i=o+-24|0)>>2]))!=(0|r)&&(ar[i>>2]=f+(~((f+-2-r|0)>>>1)<<1)),vu(r)),0|(r=0|ar[(n=o+-64|0)>>2])){if((0|(i=0|ar[(t=o+-60|0)>>2]))!=(0|r)){for(;i=i+-12|0,ar[t>>2]=i,(f=0|ar[i>>2])&&(vu(f),i=0|ar[t>>2]),(0|i)!=(0|r););r=0|ar[n>>2]}vu(r)}o=o+-656|0}while((0|o)!=(0|e));!function(A){var e,r,i,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0;ur=(i=ur)+16|0,e=i,f=0|ar[(r=32+(A|=0)|0)>>2];A:do{if(0|f){c=A+16|0,l=A+28|0,u=A+36|0,b=A+40|0,s=A+44|0,a=A+48|0;do{if(n=0|ar[c>>2],t=0|ar[l>>2],o=0|ar[(0|ar[n+(t>>>10<<2)>>2])+((1023&t)<<2)>>2],ar[r>>2]=f+-1,t=t+1|0,2047<(ar[l>>2]=t)>>>0&&(vu(0|ar[n>>2]),ar[c>>2]=4+(0|ar[c>>2]),ar[l>>2]=(0|ar[l>>2])-1024),ar[u>>2]=(0|ar[u>>2])-(0|ar[o+24>>2]),!o)break A;ar[e>>2]=o,f=o,n=0|ar[s>>2];do{if(n-(0|ar[b>>2])>>2>>>0<16){if((0|n)==(0|ar[a>>2])){pa(b,e);break}ar[n>>2]=f,ar[s>>2]=4+(0|ar[s>>2]);break}Bc(0|ar[o+20>>2]),0|(f=0|ar[o+32>>2])&&((0|(t=0|ar[(n=o+36|0)>>2]))!=(0|f)&&(ar[n>>2]=t+(~((t+-4-f|0)>>>2)<<2)),vu(f)),vu(o)}while(0);f=0|ar[r>>2]}while(0!=(0|f))}}while(0);if(o=0|ar[A+8>>2]){ar[e>>2]=o,f=o,c=A+40|0,n=0|ar[(a=A+44|0)>>2];do{if(n-(0|ar[c>>2])>>2>>>0<16){if((0|n)==(0|ar[A+48>>2])){pa(c,e);break}ar[n>>2]=f,ar[a>>2]=4+(0|ar[a>>2]);break}Bc(0|ar[o+20>>2]),0|(f=0|ar[o+32>>2])&&((0|(t=0|ar[(n=o+36|0)>>2]))!=(0|f)&&(ar[n>>2]=t+(~((t+-4-f|0)>>>2)<<2)),vu(f)),vu(o)}while(0);u=b=a}else b=u=A+44|0,c=A+40|0;if(t=0|ar[u>>2],o=0|ar[c>>2],(0|(f=t))!=(0|(n=o)))for(l=0;(a=0|ar[n+(l<<2)>>2])&&(Bc(0|ar[a+20>>2]),0|(f=0|ar[a+32>>2])&&((0|(t=0|ar[(n=a+36|0)>>2]))!=(0|f)&&(ar[n>>2]=t+(~((t+-4-f|0)>>>2)<<2)),vu(f)),vu(a),f=0|ar[u>>2],o=0|ar[c>>2],t=f),(l=l+1|0)>>>0<t-(n=o)>>2>>>0;);0|n&&((0|f)!=(0|n)&&(ar[b>>2]=f+(~((f+-4-n|0)>>>2)<<2)),vu(n));f=0|ar[(b=A+16|0)>>2],n=0|ar[(u=A+28|0)>>2],o=f+(n>>>10<<2)|0,t=0|ar[(s=A+20|0)>>2],n=(0|(a=t))==(0|(c=f))?l=0:(l=(0|ar[r>>2])+n|0,l=(0|ar[f+(l>>>10<<2)>>2])+((1023&l)<<2)|0,(0|ar[o>>2])+((1023&n)<<2)|0);A:for(;;){do{if((0|n)==(0|l))break A;n=n+4|0}while(4096!=(n-(0|ar[o>>2])|0));n=0|ar[(o=n=o+4|0)>>2]}if(ar[r>>2]=0,2<(n=a-c>>2)>>>0)for(;vu(0|ar[f>>2]),f=4+(0|ar[b>>2])|0,ar[b>>2]=f,t=0|ar[s>>2],n=t-f>>2,2<n>>>0;);switch(0|n){case 1:n=512,d=45;break;case 2:n=1024,d=45}45==(0|d)&&(ar[u>>2]=n);if((0|f)!=(0|t)){for(;vu(0|ar[f>>2]),(0|(f=f+4|0))!=(0|t););f=0|ar[b>>2],(0|(n=0|ar[s>>2]))!=(0|f)&&(ar[s>>2]=n+(~((n+-4-f|0)>>>2)<<2))}(f=0|ar[A+12>>2])&&vu(f),ur=i}(A+548|0)}function Te(A){var e,r,i,f=0,n=0,t=0,o=0,a=0,c=0,l=0;if(i=(A|=0)+10632|0,(0|(n=0|ar[(l=A+10636|0)>>2]))!=(0|(f=0|ar[i>>2]))){a=0;do{if(o=0|ar[f+(a<<2)>>2]){if(Ba(548+(0|ar[o+144>>2])|0,0|ar[o>>2]),0|(n=0|ar[o+136>>2])){if(0|(f=0|ar[(t=n+-16|0)+12>>2]))for(f=n+(18624*f|0)|0;kt(f+-44|0),(0|(f=f+-18624|0))!=(0|n););mu(t)}Jn(o+44|0),vu(o),f=0|ar[i>>2],n=0|ar[l>>2]}a=a+1|0}while(a>>>0<n-f>>2>>>0)}if(e=A+10664|0,(0|(f=0|ar[(r=A+10668|0)>>2]))!=(0|(n=t=0|ar[e>>2])))for(c=0,a=n,o=t;(t=0|ar[a+(c<<2)>>2])?(is[511&ar[4+(0|ar[t>>2])>>2]](t),n=t=0|ar[e>>2],f=0|ar[r>>2]):t=o,!(f-t>>2>>>0<=(c=c+1|0)>>>0);)o=a=t;if(f=0|ar[(o=A+10676|0)>>2]){if((0|(n=0|ar[(t=A+10680|0)>>2]))!=(0|f)){for(;c=n+-8|0,kt(ar[t>>2]=c),(0|(n=0|ar[t>>2]))!=(0|f););f=0|ar[o>>2]}vu(f),f=0|ar[e>>2]}else f=n;0|f&&((0|(n=0|ar[r>>2]))!=(0|f)&&(ar[r>>2]=n+(~((n+-4-f|0)>>>2)<<2)),vu(f)),0|(f=0|ar[A+10644>>2])&&((0|(t=0|ar[(n=A+10648|0)>>2]))!=(0|f)&&(ar[n>>2]=t+(80*~(((t+-80-f|0)>>>0)/80|0)|0)),vu(f)),(f=0|ar[i>>2])&&((0|(n=0|ar[l>>2]))!=(0|f)&&(ar[l>>2]=n+(~((n+-4-f|0)>>>2)<<2)),vu(f)),aa(l=A+8|0)}function Ue(A,e){e|=0;var r,i,f=0,n=0,t=0,o=0,a=0,c=0;if(0|ar[(i=(A|=0)+136|0)>>2]&&sr(34678,34700,169,34710),n=0|wu(230614<e>>>0|4294967279<(n=18624*e|0)>>>0?-1:n+16|0),ar[n+12>>2]=e,n=n+16|0,!e)return ar[i>>2]=n,void(ar[(n=A+140|0)>>2]=e);for(r=n+(18624*e|0)|0,f=n;st(f+18580|0),o=f+18592|0,t=0==(0|(t=15&(c=f+48|0)))?c:c+(16-t)|0,ar[(a=f+18508|0)>>2]=0,ar[a+4>>2]=0,ar[a+8>>2]=0,ar[a+12>>2]=0,ar[a+16>>2]=0,ar[o>>2]=0,ar[o+4>>2]=0,ar[o+8>>2]=0,ar[o+12>>2]=0,vb((ar[o+16>>2]=0)|(ar[f+2112>>2]=t),0,2048),(0|(f=f+18624|0))!=(0|r););ar[i>>2]=n,ar[(c=A+140|0)>>2]=e}function Se(A,e){A|=0;var r,i=0,f=0,n=0,t=0;vb((e|=0)+48|0,0,2064),ar[e+18532>>2]=-1,ar[e+18536>>2]=-1,r=0|ar[e+18596>>2],(0|(A=0|ar[16+(0|ar[e+18600>>2])>>2]))<=0||(A=(1+((0|(n=0|ar[(0|ar[10284+r>>2])+((0|ar[(0|ar[10272+r>>2])+(A<<2)>>2])-1<<2)>>2]))%(0|(t=0|ar[5820+r>>2]))|0)<<(f=0|ar[5804+r>>2]))-1|0,f=(1+((0|n)/(0|t)|0)<<f)-1|0,t=(0|ar[1248+r>>2])-1|0,n=(0|ar[1252+r>>2])-1|0,A=((0|t)<(0|A)?t:A)>>(i=0|ar[10368+r>>2]),i=((0|n)<(0|f)?n:f)>>i,(0|A)<=-1&&sr(48482,48519,118,48539),(0|(f=0|ar[10372+r>>2]))<=(0|A)&&sr(48482,48519,118,48539),(0|i)<=-1&&sr(48543,48519,119,48539),(0|i)>=(0|ar[10376+r>>2])&&sr(48543,48519,119,48539),t=(0|ar[10360+r>>2])+(3*((0|br(f,i))+A|0)|0)+2|0,ar[e+18528>>2]=tr[t>>0])}function Oe(A,e){e|=0;var r,i,f,n,t,o=0,a=0,c=0,l=0;f=(A|=0)+4|0,n=0|ar[A>>2],1073741823<(o=1+(i=(t=(0|ar[f>>2])-n|0)>>2)|0)>>>0&&zl(),a=(c=(0|ar[(l=A+8|0)>>2])-n|0)>>1,a=c>>2>>>0<536870911?a>>>0<o>>>0?o:a:1073741823;do{if(a){if(!(1073741823<a>>>0)){c=0|hu(a<<2);break}Zu(l=0|X(8),44519),ar[l>>2]=17660,I(0|l,4016,428)}else c=0}while(0);ar[(r=c+(i<<2)|0)>>2]=ar[e>>2],o=r+(0-i<<2)|0,0<(0|t)&&hb(0|o,0|n,0|t),ar[A>>2]=o,ar[f>>2]=4+r,ar[l>>2]=c+(a<<2),n&&vu(n)}function ze(A,e){A|=0,e|=0;var r,i,f,n=0,t=0,o=0;if(ur=(f=ur)+656|0,ar[(n=(r=f)+592|0)>>2]=0,ar[(i=r+596|0)>>2]=0,ar[r+600>>2]=0,ar[(t=r+628|0)>>2]=0,ar[t+4>>2]=0,ar[t+8>>2]=0,ar[t+12>>2]=0,ar[t+16>>2]=0,o=(e=(ar[t+20>>2]=0)|function(A,e,r){A|=0,e|=0;var i=0,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0;if(l=0|At(r|=0,4),15<(0|(ar[A>>2]=l)))return 0|(r=8);if(et(r,2),l=0|At(r,6),ar[A+4>>2]=l+1,62<(0|l))return 0|(r=8);if(l=0|At(r,3),ar[(t=A+8|0)>>2]=l+1,6<(0|l))return 0|(r=8);l=0|At(r,1),ar[A+12>>2]=l,et(r,16),Ln(A+16|0,r,0|ar[t>>2]),l=0|At(r,1),ar[(o=A+484|0)>>2]=l,i=0|ar[t>>2],l?0<(0|i)&&(a=0,f=7):(a=i+-1|0,f=7);do{if(7==(0|f)){for(i=a;;){if(n=0|it(r),ar[(l=A+488+(12*i|0)|0)>>2]=n,n=0|it(r),ar[(f=A+488+(12*i|0)+4|0)>>2]=n,n=0|it(r),ar[A+488+(12*i|0)+8>>2]=n,-99999==(0|ar[l>>2])){i=8,f=48;break}if(i=i+1|0,-99999==(0|n)|-99999==(0|ar[f>>2])){i=8,f=48;break}if((0|i)>=(0|ar[t>>2])){f=11;break}}if(11==(0|f)){if(0|ar[o>>2])break;if(8<=(0|a)&&sr(44587,44512,144,44627),(0|a)<=0)break;for(f=A+488+(12*a|0)|0,n=A+488+(12*a|0)+4|0,t=A+488+(12*a|0)+8|0,i=0;ar[A+488+(12*i|0)>>2]=ar[f>>2],ar[A+488+(12*i|0)+4>>2]=ar[n>>2],ar[A+488+(12*i|0)+8>>2]=ar[t>>2],(0|(i=i+1|0))!=(0|a););}else if(48==(0|f))return 0|i}}while(0);if(a=255&(0|At(r,6)),tr[(c=A+584|0)>>0]=a,a=0|it(r),-99999==(0|(ar[(l=A+588|0)>>2]=a))|1023<(t=a+1|0)>>>0)return er(e,8,0),0|(r=8);if(ar[l>>2]=t,a=A+592|0,i=0|ar[(o=A+596|0)>>2],n=0|ar[a>>2],t>>>0<=(f=(i-n|0)/12|0)>>>0){if(t>>>0<f>>>0&&(0|i)!=(0|(u=n+(12*t|0)|0)))for(;i=i+-12|0,ar[o>>2]=i,(f=0|ar[i>>2])&&(vu(f),i=0|ar[o>>2]),(0|i)!=(0|u););}else!function(A,e){e|=0;var r,i,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0;if(t=0|ar[(i=8+(A|=0)|0)>>2],n=0|ar[(u=A+4|0)>>2],((t-(f=n)|0)/12|0)>>>0>=e>>>0)return vb(0|n,0,12*e|0),ar[u>>2]=f+(12*e|0);l=0|ar[A>>2],357913941<(n=(a=(n-(r=l)|0)/12|0)+e|0)>>>0&&zl();o=(c=(t-l|0)/12|0)<<1,o=c>>>0<178956970?o>>>0<n>>>0?n:o:357913941;do{if(o){if(!(357913941<o>>>0)){c=0|hu(12*o|0);break}Zu(u=0|X(8),44519),ar[u>>2]=17660,I(0|u,4016,428)}else c=0}while(0);if(n=c+(12*a|0)|0,c=c+(12*o|0)|0,vb(0|(t=n),0,12*e|0),a=n+(12*e|0)|0,(0|f)==(0|r))o=l;else{for(;f=(l=f)+-12|0,ar[n+-12>>2]=ar[f>>2],e=l+-8|0,ar[n+-8>>2]=ar[e>>2],l=l+-4|0,ar[n+-4>>2]=ar[l>>2],ar[f>>2]=0,ar[e>>2]=0,ar[l>>2]=0,t=n=t+-12|0,(0|f)!=(0|r););o=0|ar[A>>2],f=0|ar[u>>2]}if(ar[A>>2]=t,ar[u>>2]=a,ar[i>>2]=c,(0|f)!=(0|(t=o)))for(;0|(n=0|ar[(f=f+-12|0)>>2])&&vu(n),(0|f)!=(0|t););if(!o)return;vu(o)}(a,t-f|0);if(1<(0|ar[l>>2]))for(f=1,n=0|ar[a>>2],i=0|tr[c>>0];;){for(Kn(n+(12*f|0)|0,1+(255&i)|0,0),n=0;o=0!=(0|At(r,1)),t=0|ar[a>>2],i=(0|ar[t+(12*f|0)>>2])+(n>>>5<<2)|0,u=1<<(31&n),e=0|ar[i>>2],ar[i>>2]=o?e|u:e&~u,i=0|tr[c>>0],(0|n)<(255&i|0);)n=n+1|0;if(!((0|(f=f+1|0))<(0|ar[l>>2])))break;n=t}if(u=255&(0|At(r,1)),(tr[A+604>>0]=u)<<24>>24&&(u=0|At(r,32),ar[A+608>>2]=u,u=0|At(r,32),ar[A+612>>2]=u,u=255&(0|At(r,1)),(tr[A+616>>0]=u)<<24>>24)&&(i=1+(0|it(r))|0,ar[A+620>>2]=i,i=0|it(r),1023<(0|(ar[(e=A+624|0)>>2]=i))&&sr(55739,44512,189,44627),c=A+628|0,o=0|ar[(f=A+632|0)>>2],t=0|ar[c>>2],i>>>0<=(n=o-t>>1)>>>0?i>>>0<n>>>0&&(0|o)!=(0|(b=t+(i<<1)|0))&&(ar[f>>2]=o+(~((o+-2-b|0)>>>1)<<1)):(function(A,e){e|=0;var r,i,f,n,t,o=0,a=0,c=0,l=0;if(a=0|ar[(t=8+(A|=0)|0)>>2],o=0|ar[(l=A+4|0)>>2],e>>>0<=a-o>>1>>>0)return vb(0|o,0,e<<1|0),ar[l>>2]=o+(e<<1);n=0|ar[A>>2],(0|(o=(i=(f=o-n|0)>>1)+e|0))<0&&zl();a=(a=a-n|0)>>1>>>0<1073741823?a>>>0<o>>>0?o:a:2147483647;do{if(a){if(!((0|a)<0)){c=0|hu(a<<1);break}Zu(l=0|X(8),44519),ar[l>>2]=17660,I(0|l,4016,428)}else c=0}while(0);vb(0|(r=c+(i<<1)|0),0,e<<1|0),o=r+(0-i<<1)|0,0<(0|f)&&hb(0|o,0|n,0|f);if(ar[A>>2]=o,ar[l>>2]=r+(e<<1),ar[t>>2]=c+(a<<1),!n)return;vu(n)}(c,i-n|0),i=0|ar[e>>2]),f=A+640|0,a=0|ar[(n=A+644|0)>>2],o=0|ar[f>>2],i>>>0<=(t=a-o|0)>>>0?i>>>0<t>>>0&&(0|a)!=(0|(s=o+i|0))&&(ar[n>>2]=s):(function(A,e){e|=0;var r,i,f=0,n=0,t=0,o=0,a=0;if(t=0|ar[(r=8+(A|=0)|0)>>2],f=0|ar[(i=A+4|0)>>2],e>>>0<=(t-f|0)>>>0){for(;tr[f>>0]=0,f=1+(0|ar[i>>2])|0,ar[i>>2]=f,0!=(0|(e=e+-1|0)););return}n=0|ar[A>>2],(0|(f=(o=f-n|0)+e|0))<0&&zl();a=(t=t-n|0)<<1,n=(f=t>>>0<1073741823?a>>>0<f>>>0?f:a:2147483647)?0|hu(f):0;a=n+o|0,o=n+f|0,f=t=a;for(;tr[f>>0]=0,t=f=t+1|0,e=e+-1|0,0!=(0|e););e=0|ar[A>>2],n=(0|ar[i>>2])-e|0,f=a+(0-n)|0,0<(0|n)&&hb(0|f,0|e,0|n);if(ar[A>>2]=f,ar[i>>2]=t,ar[r>>2]=o,!e)return;vu(e)}(f,i-t|0),i=0|ar[e>>2]),0<(0|i)))return r=65535&(0|it(r)),or[ar[c>>2]>>1]=r,(r=0)|r;return r=255&(0|At(r,1)),tr[A+652>>0]=r,(r=0)|r}(r,A+4|0,e))||(-1<(0|(e=0|ar[A+520>>2]))&&function(A,e){A|=0;var r,i,f,n,t,o,a,c,l,u,b,s,d,k,h,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0;switch(ur=(h=ur)+208|0,I=h+192|0,k=h+184|0,d=h+176|0,W=h+168|0,s=h+160|0,X=h+152|0,b=h+144|0,E=h+128|0,u=h+120|0,B=h+112|0,a=h+104|0,y=h+96|0,f=h+88|0,i=h+80|0,o=h+72|0,t=h+64|0,n=h+56|0,r=h+48|0,p=h+40|0,Z=h+32|0,g=h+24|0,m=h+16|0,v=h+8|0,l=(w=h)+200|0,0|(e|=0)){case 1:e=10172;break;case 2:e=10676;break;default:return ur=h}if(Pn(c=0|ar[e>>2],44632,w),ar[v>>2]=ar[A>>2],Pn(c,44673,v),ar[m>>2]=ar[A+4>>2],Pn(c,44717,m),v=A+8|0,ar[g>>2]=ar[v>>2],Pn(c,44761,g),ar[Z>>2]=ar[A+12>>2],Pn(c,44805,Z),Z=0|ar[v>>2],$n(A+16|0,1,c),w=Z+-1|0,1<(0|Z))for(e=0;ar[p>>2]=e,Pn(c,44849,p),$n(A+68+(52*e|0)|0,0,c),(0|(e=e+1|0))!=(0|w););if(p=A+484|0,ar[r>>2]=ar[p>>2],Pn(c,44882,r),0|ar[p>>2]){if(0<(0|ar[v>>2]))for(e=0;y=0|ar[A+488+(12*e|0)>>2],ar[n>>2]=e,ar[4+n>>2]=y,Pn(c,44929,n),ar[t>>2]=ar[A+488+(12*e|0)+4>>2],Pn(c,44971,t),ar[o>>2]=ar[A+488+(12*e|0)+8>>2],Pn(c,45012,o),(0|(e=e+1|0))<(0|ar[v>>2]););}else ar[i>>2]=ar[A+488>>2],Pn(c,45053,i),ar[f>>2]=ar[A+492>>2],Pn(c,45098,f),ar[y>>2]=ar[A+496>>2],Pn(c,45143,y);if(Z=A+584|0,ar[a>>2]=cr[Z>>0],Pn(c,45188,a),g=A+588|0,ar[B>>2]=ar[g>>2],Pn(c,45213,B),1<(0|ar[g>>2])){v=A+592|0,m=4+l|0,w=1;do{for(e=0;ar[l>>2]=(0|ar[(0|ar[v>>2])+(12*w|0)>>2])+(e>>>5<<2),ar[m>>2]=1<<(31&e),ar[E>>2]=w,ar[E+4>>2]=e,tr[(B=E+8|0)>>0]=0|tr[l>>0],tr[B+1>>0]=0|tr[1+l>>0],tr[B+2>>0]=0|tr[2+l>>0],tr[B+3>>0]=0|tr[3+l>>0],tr[B+4>>0]=0|tr[4+l>>0],tr[B+5>>0]=0|tr[5+l>>0],tr[B+6>>0]=0|tr[6+l>>0],tr[B+7>>0]=0|tr[7+l>>0],Pn(c,45273,E),(0|e)<(0|cr[Z>>0]);)e=e+1|0;w=w+1|0}while((0|w)<(0|ar[g>>2]))}if(E=A+604|0,ar[u>>2]=tr[E>>0],Pn(c,45238,u),0|tr[E>>0]&&(ar[b>>2]=ar[A+608>>2],Pn(c,45310,b),ar[X>>2]=ar[A+612>>2],Pn(c,45338,X),X=A+616|0,ar[s>>2]=tr[X>>0],Pn(c,45366,s),0|tr[X>>0])&&(ar[W>>2]=ar[A+620>>2],Pn(c,45408,W),W=A+624|0,ar[d>>2]=ar[W>>2],Pn(c,45441,d),0<(0|ar[W>>2])))return I=0|lr[ar[A+628>>2]>>1],ar[k>>2]=0,ar[4+k>>2]=I,Pn(c,45474,k),ur=h;ar[I>>2]=tr[A+652>>0],Pn(c,45502,I),ur=h}(r,e),hb(0|(o=A+600+(656*(e=0|ar[r>>2])|0)|0),0|r,592),(0|o)==(0|r)?(n=r+604|0,ar[(o=A+600+(656*e|0)+604|0)>>2]=ar[n>>2],ar[o+4>>2]=ar[n+4>>2],ar[o+8>>2]=ar[n+8>>2],ar[o+12>>2]=ar[n+12>>2],ar[o+16>>2]=ar[n+16>>2],ar[o+20>>2]=ar[n+20>>2]):(je(A+600+(656*e|0)+592|0,0|ar[n>>2],0|ar[i>>2]),n=r+604|0,ar[(o=A+600+(656*e|0)+604|0)>>2]=ar[n>>2],ar[o+4>>2]=ar[n+4>>2],ar[o+8>>2]=ar[n+8>>2],ar[o+12>>2]=ar[n+12>>2],ar[o+16>>2]=ar[n+16>>2],ar[o+20>>2]=ar[n+20>>2],He(A+600+(656*e|0)+628|0,0|ar[t>>2],0|ar[r+632>>2]),xe(A+600+(656*e|0)+640|0,0|ar[r+640>>2],0|ar[r+644>>2])),tr[A+600+(656*e|0)+652>>0]=0|tr[r+652>>0],0),0|(e=0|ar[r+640>>2])&&((0|ar[(A=r+644|0)>>2])!=(0|e)&&(ar[A>>2]=e),vu(e)),0|(e=0|ar[t>>2])&&((0|(n=0|ar[(A=r+632|0)>>2]))!=(0|e)&&(ar[A>>2]=n+(~((n+-2-e|0)>>>1)<<1)),vu(e)),!(e=0|ar[(t=r+592|0)>>2]))return ur=f,0|o;if((0|(A=0|ar[i>>2]))!=(0|e)){for(;A=A+-12|0,ar[i>>2]=A,(n=0|ar[A>>2])&&(vu(n),A=0|ar[i>>2]),(0|A)!=(0|e););e=0|ar[t>>2]}return vu(e),ur=f,0|o}function je(A,e,r){var i,f,n,t,o,a,c,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0;if(ur=(c=ur)+32|0,t=c+24|0,n=c+16|0,o=c+8|0,a=c,f=((r|=0)-(e|=0)|0)/12|0,(((u=0|ar[(d=(A|=0)+8|0)>>2])-(l=i=0|ar[A>>2])|0)/12|0)>>>0<f>>>0){if(i){if((0|(u=0|ar[(s=A+4|0)>>2]))==(0|l))u=i;else{for(;u=u+-12|0,ar[s>>2]=u,(b=0|ar[u>>2])&&(vu(b),u=0|ar[s>>2]),(0|u)!=(0|l););u=0|ar[A>>2]}vu(u),ar[d>>2]=0,ar[s>>2]=0,u=ar[A>>2]=0}if(357913941<f>>>0&&zl(),u=(m=(0|u)/12|0)<<1,357913941<(u=m>>>0<178956970?u>>>0<f>>>0?f:u:357913941)>>>0&&zl(),b=0|hu(12*u|0),ar[(m=A+4|0)>>2]=b,ar[A>>2]=b,ar[d>>2]=b+(12*u|0),(0|e)==(0|r))return void(ur=c);for(w=4+o|0,v=a+4|0,h=e;;){if(ar[b>>2]=0,ar[(u=b+4|0)>>2]=0,(ar[(s=b+8|0)>>2]=0)|(k=0|ar[(d=h+4|0)>>2])){if((0|k)<0){u=42;break}Z=0|hu((k=1+((k+-1|0)>>>5)|0)<<2),ar[b>>2]=Z,ar[u>>2]=0,ar[s>>2]=k,s=0|ar[h>>2],ar[o>>2]=s,k=(ar[w>>2]=0)|ar[d>>2],ar[a>>2]=s+(k>>>5<<2),ar[v>>2]=31&k,ar[n>>2]=ar[o>>2],ar[4+n>>2]=ar[4+o>>2],ar[t>>2]=ar[a>>2],ar[4+t>>2]=ar[a+4>>2],Pe(b,n,t)}if(h=h+12|0,u=12+(0|ar[m>>2])|0,ar[m>>2]=u,(0|h)==(0|r)){u=45;break}b=u}if(42==(0|u))zl();else if(45==(0|u))return void(ur=c)}w=(d=((0|ar[(v=A+4|0)>>2])-i|0)/12|0)>>>0<f>>>0,d=e+(12*d|0)|0,h=w?d:r;A:do{if((0|h)==(0|e))g=l;else{for(;;){if((0|l)!=(0|e)){if(u=0|ar[(k=e+4|0)>>2]){if(u>>>0>ar[(s=l+8|0)>>2]<<5>>>0){if((b=0|ar[l>>2])&&(vu(b),ar[l>>2]=0,ar[s>>2]=0,u=(ar[l+4>>2]=0)|ar[k>>2]),(0|u)<0)break;b=0|hu((u=1+((u+-1|0)>>>5)|0)<<2),ar[l>>2]=b,ar[l+4>>2]=0,ar[s>>2]=u,u=0|ar[k>>2]}else b=0|ar[l>>2];wb(0|b,0|ar[e>>2],4+((u+-1|0)>>>5<<2)|0),u=0|ar[k>>2]}else u=0;ar[l+4>>2]=u}if(l=l+12|0,(0|(e=e+12|0))==(0|h)){g=l;break A}}zl()}}while(0);if(w)if((0|h)!=(0|r)){for(k=4+o|0,e=a+4|0,h=0|ar[v>>2];;){if(ar[h>>2]=0,ar[(l=h+4|0)>>2]=0,(ar[(u=h+8|0)>>2]=0)|(s=0|ar[(b=d+4|0)>>2])){if((0|s)<0){u=20;break}Z=0|hu((g=1+((s+-1|0)>>>5)|0)<<2),ar[h>>2]=Z,ar[l>>2]=0,ar[u>>2]=g,g=0|ar[d>>2],ar[o>>2]=g,Z=(ar[k>>2]=0)|ar[b>>2],ar[a>>2]=g+(Z>>>5<<2),ar[e>>2]=31&Z,ar[n>>2]=ar[o>>2],ar[4+n>>2]=ar[4+o>>2],ar[t>>2]=ar[a>>2],ar[4+t>>2]=ar[a+4>>2],Pe(h,n,t)}if(d=d+12|0,l=12+(0|ar[v>>2])|0,ar[v>>2]=l,(0|d)==(0|r)){u=45;break}h=l}if(20==(0|u))zl();else if(45==(0|u))return void(ur=c)}else ur=c;else{if((0|(l=0|ar[v>>2]))==(0|g))return void(ur=c);for(;l=l+-12|0,ar[v>>2]=l,(u=0|ar[l>>2])&&(vu(u),l=0|ar[v>>2]),(0|l)!=(0|g););ur=c}}function He(A,e,r){var i,f,n,t,o=0,a=0,c=0,l=0;if((c=(l=(i=r|=0)-(e|=0)|0)>>1)>>>0<=(o=0|ar[(f=(A|=0)+8|0)>>2])-(n=t=0|ar[A>>2])>>1>>>0)return 0|(r=(o=(a=c=(A=(a=(0|ar[(l=A+4|0)>>2])-t>>1)>>>0<c>>>0)?e+(a<<1)|0:r)-e|0)>>1)&&wb(0|t,0|e,0|o),r=n+(r<<1)|0,A?!((0|(o=i-a|0))<=0)&&(hb(0|ar[l>>2],0|c,0|o),void(ar[l>>2]=(0|ar[l>>2])+(o>>>1<<1))):(0|(o=0|ar[l>>2]))!=(0|r)&&void(ar[l>>2]=o+(~((o+-2-r|0)>>>1)<<1));(a=t)&&((0|(r=0|ar[(o=A+4|0)>>2]))!=(0|n)&&(ar[o>>2]=r+(~((r+-2-t|0)>>>1)<<1)),vu(a),ar[f>>2]=0,ar[o>>2]=0,o=ar[A>>2]=0),(0|l)<0&&zl(),(0|(o=o>>1>>>0<1073741823?o>>>0<c>>>0?c:o:2147483647))<0&&zl(),r=0|hu(o<<1),ar[(a=A+4|0)>>2]=r,ar[A>>2]=r,ar[f>>2]=r+(o<<1),(0|l)<=0||(hb(0|r,0|e,0|l),ar[a>>2]=r+(l>>>1<<1))}function xe(A,e,r){var i,f,n=0,t=0,o=0,a=0,c=0;return f=(c=r|=0)-(i=e|=0)|0,((n=0|ar[(o=(A|=0)+8|0)>>2])-(a=t=0|ar[A>>2])|0)>>>0<f>>>0?(t&&((0|ar[(n=A+4|0)>>2])!=(0|a)&&(ar[n>>2]=a),vu(a),ar[o>>2]=0,ar[n>>2]=0,n=ar[A>>2]=0),(0|f)<0&&zl(),c=n<<1,(0|(n=n>>>0<1073741823?c>>>0<f>>>0?f:c:2147483647))<0&&zl(),a=0|hu(n),ar[(c=A+4|0)>>2]=a,ar[A>>2]=a,ar[o>>2]=a+n,hb(0|a,0|e,0|f),void(ar[c>>2]=a+f)):(0|(n=(t=r=(A=(t=(0|ar[(o=A+4|0)>>2])-t|0)>>>0<f>>>0)?e+t|0:r)-i|0)&&wb(0|a,0|e,0|n),n=a+n|0,A?!((0|(n=c-t|0))<=0)&&(hb(0|ar[o>>2],0|r,0|n),void(ar[o>>2]=(0|ar[o>>2])+n)):(0|ar[o>>2])!=(0|n)&&void(ar[o>>2]=n))}function Pe(A,e,r){e|=0,r|=0;var i,f,n,t,o,a,c,l,u,b=0,s=0,d=0,k=0,h=0;if(ur=(u=ur)+48|0,a=u+40|0,o=u+32|0,f=u+8|0,t=(n=u)+24|0,l=u+16|0,h=0|ar[(d=(A|=0)+4|0)>>2],c=0|ar[(b=e)>>2],b=0|ar[b+4>>2],s=0|ar[(k=r)>>2],k=0|ar[k+4>>2],i=s-c<<3,ar[d>>2]=h-b+k+i,e=d=(0|ar[A>>2])+(h>>>5<<2)|0,(0|b)!=(0|(r=31&h)))return ar[(h=f)>>2]=c,ar[h+4>>2]=b,ar[(h=n)>>2]=s,ar[h+4>>2]=k,ar[t>>2]=e,ar[4+t>>2]=r,ar[o>>2]=ar[f>>2],ar[4+o>>2]=ar[4+f>>2],ar[a>>2]=ar[n>>2],ar[4+a>>2]=ar[n+4>>2],function(A,e,r,i){A|=0,r|=0,i|=0;var f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0;if(d=0|ar[(e|=0)>>2],u=0|ar[e+4>>2],o=((0|ar[r>>2])-d<<3)+(0|ar[r+4>>2])-u|0,r=d,(0|o)<=0)return e=i+4|0,i=0|ar[i>>2],ar[A>>2]=i,i=A+4|0,A=0|ar[e>>2],ar[i>>2]=A;u?(t=-1>>>((t=32-u|0)-(l=(0|o)<(0|t)?o:t)|0)&-1<<u&ar[r>>2],f=0|ar[(b=i+4|0)>>2],n=(c=32-f|0)>>>0<l>>>0?c:l,a=0|ar[i>>2],f=ar[a>>2]&~(-1>>>(c-n|0)&-1<<f),ar[a>>2]=f,c=0|ar[b>>2],ar[a>>2]=(u>>>0<c>>>0?t<<c-u:t>>>(u-c|0))|f,f=(0|ar[b>>2])+n|0,a=a+(f>>>5<<2)|0,ar[i>>2]=a,f&=31,ar[b>>2]=f,0<(0|(c=l-n|0))&&(ar[a>>2]=t>>>(u+n|0)|ar[a>>2]&~(-1>>>(32-c|0)),ar[b>>2]=c,f=c),r=r+4|0,ar[e>>2]=r,o=o-l|0):f=0|ar[(b=f=i+4|0)>>2];if(d=32-f|0,c=-1<<f,31<(0|o)){for(l=~c,a=0|ar[i>>2],u=(s=(f=o+-32|0)>>>5)+1|0,s=f-(s<<5)|0,f=r,n=0|ar[a>>2],t=a;k=0|ar[f>>2],h=n&l,ar[t>>2]=h,ar[t>>2]=k<<ar[b>>2]|h,n=ar[(t=t+4|0)>>2]&c|k>>>d,ar[t>>2]=n,!((0|(o=o+-32|0))<=31);)f=f+4|0;r=r+(u<<2)|0,ar[e>>2]=r,ar[i>>2]=a+(u<<2),o=s}if((0|o)<=0)return k=b,h=0|ar[i>>2],ar[A>>2]=h,h=A+4|0,k=0|ar[k>>2],ar[h>>2]=k;if(t=ar[r>>2]&-1>>>(32-o|0),n=(0|d)<(0|o)?d:o,f=0|ar[i>>2],r=ar[f>>2]&~(-1<<ar[b>>2]&-1>>>(d-n|0)),ar[f>>2]=r,ar[f>>2]=r|t<<ar[b>>2],r=(0|ar[b>>2])+n|0,f=f+(r>>>5<<2)|0,ar[i>>2]=f,ar[b>>2]=31&r,(0|(r=o-n|0))<=0)return k=b,h=0|ar[i>>2],ar[A>>2]=h,h=A+4|0,k=0|ar[k>>2],ar[h>>2]=k;ar[f>>2]=ar[f>>2]&~(-1>>>(32-r|0))|t>>>n,ar[b>>2]=r,k=b,h=0|ar[i>>2],ar[A>>2]=h,h=A+4|0,k=0|ar[k>>2],ar[h>>2]=k}(l,o,a,t),void(ur=u);r=k-b+i|0,k=c,0<(0|r)&&(e=b?(e=-1>>>((e=32-b|0)-(h=(0|r)<(0|e)?r:e)|0)&-1<<b,ar[d>>2]=ar[d>>2]&~e|ar[k>>2]&e,r=r-h|0,b=31&(e=h+b|0),d=d+(e>>>5<<2)|0,k=k+4|0):(b=0,c),wb(0|d,0|e,(s=(0|r)/32|0)<<2|0),A=r-(s<<5)|0,e=r=d+(s<<2)|0,0<(0|A)&&(b=-1>>>(32-A|0),ar[r>>2]=ar[r>>2]&~b|ar[k+(s<<2)>>2]&b,b=A)),ar[l>>2]=e,ar[4+l>>2]=b,ur=u}function Le(A,e){A|=0,e|=0;var r,i,f=0;return ur=(i=ur)+5168|0,$a(r=i),0|(e=0|function(A,e,r){A|=0,e|=0;var i=0,f=0,n=0,t=0,o=0,a=0,c=0,l=0;if(c=255&(0|At(r|=0,4)),tr[A+1>>0]=c,c=1+(0|At(r,3))|0,117440512<((tr[(o=A+2|0)>>0]=c)<<24|0))return 0|(A=8);if(i=255&(0|At(r,1)),tr[A+3>>0]=i,Ln(A+4|0,r,0|tr[o>>0]),-99999==(0|(i=0|it(r))))return er(e,8,0),0|(A=8);if(15<(0|(ar[A+472>>2]=i)))return 0|(A=8);if(-99999==(0|(i=0|it(r))))return er(e,8,0),0|(A=8);3==(0|(ar[(f=A+476|0)>>2]=i))?(n=255&(0|At(r,1)),i=0|ar[f>>2]):n=0;if(tr[A+480>>0]=n,ar[A+5012>>2]=n<<24>>24==0?i:0,3<i>>>0)return er(e,1019,0),0|(A=8);if(-99999==(0|(i=0|it(r))))return er(e,8,0),0|(A=8);if(ar[(f=A+484|0)>>2]=i,-99999==(0|(n=0|it(r))))return er(e,8,0),0|(A=8);if(ar[A+488>>2]=n,i=0|ar[f>>2],0==(0|n)|0==(0|i))return 0|(A=8);if(7e4<(0|n)|7e4<(0|i))return 0|(A=8);if(c=255&(0|At(r,1)),(tr[A+492>>0]=c)<<24>>24){if(-99999==(0|(i=0|it(r))))return er(e,8,0),0|(A=8);if(ar[A+496>>2]=i,-99999==(0|(i=0|it(r))))return er(e,8,0),0|(A=8);if(ar[A+500>>2]=i,-99999==(0|(i=0|it(r))))return er(e,8,0),0|(A=8);if(ar[A+504>>2]=i,-99999==(0|(i=0|it(r))))return er(e,8,0),0|(A=8)}else ar[A+496>>2]=0,ar[A+500>>2]=0,ar[A+504>>2]=0,i=0;if(ar[A+508>>2]=i,-99999==(0|(i=0|it(r))))return er(e,8,0),0|(A=8);if(ar[A+512>>2]=i+8,-99999==(0|(i=0|it(r))))return er(e,8,0),0|(A=8);if(ar[A+516>>2]=i+8,-99999==(0|(i=0|it(r))))return er(e,8,0),0|(A=8);a=i+4|0,ar[(c=A+520|0)>>2]=a,ar[A+5032>>2]=1<<a,a=255&(0|At(r,1)),(tr[(t=A+524|0)>>0]=a)<<24>>24?(i=0,l=35):(n=0|tr[o>>0],i=(n<<24>>24)-1|0);for(;;){if(35==(0|l)&&(n=0|tr[o>>0]),(0|(f=n<<24>>24))<=(0|i)){l=44;break}if(-99999==(0|(f=0|it(r)))|15<(0|f)){l=38;break}if(ar[A+528+(i<<2)>>2]=f+1,-99999==(0|(f=0|it(r)))){l=40;break}if(ar[(n=A+556+(i<<2)|0)>>2]=f,-99999==(0|(f=0|it(r)))){l=42;break}ar[A+584+(i<<2)>>2]=f,ar[A+5128+(i<<2)>>2]=f+-1+(0|ar[n>>2]),i=i+1|0,l=35}{if(38==(0|l))return er(e,8,0),0|(A=8);if(40==(0|l))return er(e,8,0),0|(A=8);if(42==(0|l))return er(e,8,0),0|(A=8);if(44==(0|l)){if(0|tr[t>>0]&&(i=f+-1|0,8<=n<<24>>24&&sr(41633,41639,317,44627),1<n<<24>>24))for(n=A+528+(i<<2)|0,t=A+556+(i<<2)|0,f=A+584+(i<<2)|0,i=0;ar[A+528+(i<<2)>>2]=ar[n>>2],ar[A+556+(i<<2)>>2]=ar[t>>2],ar[A+584+(i<<2)>>2]=ar[f>>2],(0|(i=i+1|0))<((0|tr[o>>0])-1|0););if(-99999==(0|(i=0|it(r))))return er(e,8,0),0|(A=8);if(ar[(t=A+612|0)>>2]=i+3,-99999==(0|(i=0|it(r))))return er(e,8,0),0|(A=8);if(ar[(o=A+616|0)>>2]=i,-99999==(0|(i=0|it(r))))return er(e,8,0),0|(A=8);if(ar[(f=A+620|0)>>2]=i+2,-99999==(0|(i=0|it(r))))return er(e,8,0),0|(A=8);if(ar[(n=A+624|0)>>2]=i,-99999==(0|(i=0|it(r))))return er(e,8,0),0|(A=8);if(ar[A+628>>2]=i,-99999==(0|(i=0|it(r))))return er(e,8,0),0|(A=8);if(ar[A+632>>2]=i,6<(0|(i=0|ar[t>>2])))return 0|(A=8);if(6<((0|ar[o>>2])+i|0))return 0|(A=8);if(5<(0|(i=0|ar[f>>2])))return 0|(A=8);if(5<((0|ar[n>>2])+i|0))return 0|(A=8);a=255&(0|At(r,1)),tr[A+636>>0]=a;do{if(a<<24>>24){if(a=255&(0|At(r,1)),tr[A+637>>0]=a,i=A+638|0,!(a<<24>>24)){rc(i);break}if(!(i=0|ec(r,0,i,0)))break;return 0|i}}while(0);a=255&(0|At(r,1)),tr[A+4702>>0]=a,a=255&(0|At(r,1)),tr[A+4703>>0]=a,a=255&(0|At(r,1)),tr[A+4704>>0]=a;do{if(a<<24>>24){if(i=1+(0|At(r,4))&255,tr[A+4705>>0]=i,i=1+(0|At(r,4))&255,tr[A+4706>>0]=i,-99999==(0|(i=0|it(r))))return er(e,8,0),0|(A=8);if(ar[A+4708>>2]=i+3,-99999==(0|(i=0|it(r))))return er(e,8,0),0|(A=8);ar[A+4712>>2]=i,i=255&(0|At(r,1));break}tr[A+4705>>0]=0,tr[A+4706>>0]=0,ar[A+4708>>2]=0,ar[A+4712>>2]=0,i=0}while(0);if(tr[A+4716>>0]=i,-99999==(0|(o=0|it(r))))return er(e,8,0),0|(A=8);if(64<o>>>0)return er(e,1014,0),0|(A=8);if(a=A+4720|0,t=0|ar[(n=A+4724|0)>>2],f=0|ar[a>>2],o>>>0<=(i=(t-f|0)/100|0)>>>0){do{if(o>>>0<i>>>0){if((0|t)==(0|(i=f+(100*o|0)|0)))break;ar[n>>2]=t+(100*~(((t+-100-i|0)>>>0)/100|0)|0)}}while(0);0<(0|o)&&(l=87)}else!function(A,e){e|=0;var r,i=0,f=0,n=0,t=0,o=0,a=0;if(n=0|ar[(r=8+(A|=0)|0)>>2],i=0|ar[(a=A+4|0)>>2],e>>>0<=((n-i|0)/100|0)>>>0){do{for(f=i+100|0;((or[i>>1]=0)|(i=i+2|0))<(0|f););i=100+(0|ar[a>>2])|0,ar[a>>2]=i,e=e+-1|0}while(0!=(0|e));return}f=0|ar[A>>2],42949672<(i=(t=(i-f|0)/100|0)+e|0)>>>0&&zl();o=(n=(n-f|0)/100|0)<<1,i=n>>>0<21474836?o>>>0<i>>>0?i:o:42949672;do{if(i){if(!(42949672<i>>>0)){f=0|hu(100*i|0);break}Zu(a=0|X(8),44519),ar[a>>2]=17660,I(0|a,4016,428)}else f=0}while(0);o=f+(100*t|0)|0,t=f+(100*i|0)|0,n=i=o;do{for(f=i+100|0;((or[i>>1]=0)|(i=i+2|0))<(0|f););n=i=n+100|0,e=e+-1|0}while(0!=(0|e));e=0|ar[A>>2],f=(0|ar[a>>2])-e|0,i=o+(100*((0|f)/-100|0)|0)|0,0<(0|f)&&hb(0|i,0|e,0|f);if(ar[A>>2]=i,ar[a>>2]=n,ar[r>>2]=t,!e)return;vu(e)}(a,o-i|0),l=87;A:do{if(87==(0|l)){for(i=0;;){if(!(0|Zc(e,A,r,(0|ar[a>>2])+(100*i|0)|0,i,a,0))){i=1005;break}if((0|o)<=(0|(i=i+1|0)))break A}return 0|i}}while(0);l=255&(0|At(r,1)),tr[A+4732>>0]=l;do{if(l<<24>>24){if(-99999==(0|(i=0|it(r))))return er(e,8,0),0|(A=8);if(32<(0|(ar[(f=A+4736|0)>>2]=i)))return 0|(A=8);if(!(0<(0|i)))break;for(i=0;l=0|At(r,0|ar[c>>2]),ar[A+4740+(i<<2)>>2]=l,l=255&(0|At(r,1)),tr[A+4868+i>>0]=l,(0|(i=i+1|0))<(0|ar[f>>2]););}else ar[A+4736>>2]=0}while(0);l=255&(0|At(r,1)),tr[A+4900>>0]=l,l=255&(0|At(r,1)),tr[A+4901>>0]=l,l=255&(0|At(r,1)),(tr[A+4902>>0]=l)<<24>>24&&function(A,e,r,i){A|=0,e|=0,i|=0;var f,n,t=0,o=0,a=0,c=0;o=0!=(0|At(r|=0,1)),tr[A>>0]=1&o;do{if(o){if((0|(i=0|At(r,8)))<18){or[A+2>>1]=0|or[17796+(i<<2)>>1],i=0|or[17796+(i<<2)+2>>1];break}if(255==(0|i)){i=65535&(0|At(r,16)),or[A+2>>1]=i,i=65535&(0|At(r,16));break}or[A+2>>1]=0,i=0;break}or[A+2>>1]=0,i=0}while(0);or[A+4>>1]=i,o=0!=(0|At(r,1)),tr[A+6>>0]=1&o,o&&(o=0!=(0|At(r,1))&1,tr[A+7>>0]=o);if(ar[(i=A+12|0)>>2]=5,tr[(t=A+16|0)>>0]=0,tr[(f=A+18|0)>>0]=2,tr[(n=A+19|0)>>0]=2,tr[(o=A+20|0)>>0]=2,c=0!=(0|At(r,1)),tr[A+8>>0]=1&c,c&&(c=0|At(r,3),ar[i>>2]=(0|c)<5?c:5,c=0!=(0|At(r,1))&1,tr[t>>0]=c,c=0!=(0|At(r,1)),tr[A+17>>0]=1&c,c)){switch(i=0|At(r,8),c=255&i,(tr[f>>0]=c)<<24>>24){case 3:case 0:a=14;break;default:10<(255&i)>>>0&&(a=14)}switch(14==(0|a)&&(tr[f>>0]=2),i=0|At(r,8),c=255&i,(tr[n>>0]=c)<<24>>24){case 3:case 0:a=17;break;default:17<(254&i)>>>0&&(a=17)}17==(0|a)&&(tr[n>>0]=2),c=0|At(r,8),tr[o>>0]=9<((255&c)-1|0)>>>0?2:255&c}c=0!=(0|At(r,1)),tr[A+21>>0]=1&c;do{if(c){if(-99999==(0|(i=0|it(r))))return er(e,8,0),c=8;if(tr[A+22>>0]=i,-99999==(0|(i=0|it(r))))return er(e,8,0),c=8;i&=255;break}tr[A+22>>0]=0,i=0}while(0);if(tr[A+23>>0]=i,c=0!=(0|At(r,1))&1,tr[A+24>>0]=c,c=0!=(0|At(r,1))&1,tr[A+25>>0]=c,c=0!=(0|At(r,1))&1,tr[A+26>>0]=c,c=0!=(0|At(r,1)),tr[A+27>>0]=1&c,c){if(-99999==(0|(i=0|it(r))))return er(e,8,0),c=8;if(ar[A+28>>2]=i,-99999==(0|(i=0|it(r))))return er(e,8,0),c=8;if(ar[A+32>>2]=i,-99999==(0|(i=0|it(r))))return er(e,8,0),c=8;if(ar[A+36>>2]=i,-99999==(0|(i=0|it(r))))return er(e,8,0),c=8}else ar[A+28>>2]=0,ar[A+32>>2]=0,ar[A+36>>2]=0,i=0;ar[A+40>>2]=i,c=0!=(0|At(r,1)),tr[A+44>>0]=1&c,c&&(c=0|At(r,32),ar[A+48>>2]=c,c=0|At(r,32),ar[A+52>>2]=c);if(i=0!=(0|At(r,1))&1,tr[A+56>>0]=i,-99999==(0|(i=0|it(r))))return er(e,8,0),c=8;if(ar[A+60>>2]=i+1,c=0!=(0|At(r,1)),tr[A+64>>0]=1&c,c)return c=502;c=0!=(0|At(r,1)),tr[A+65>>0]=1&c;do{if(c){if(i=0!=(0|At(r,1))&1,tr[A+66>>0]=i,i=0!=(0|At(r,1))&1,tr[A+67>>0]=i,i=0!=(0|At(r,1))&1,tr[A+68>>0]=i,-99999==(0|(i=0|it(r))))return er(e,8,0),c=8;if(4095<(61440&(or[(t=A+70|0)>>1]=i))>>>0&&(er(e,8,0),or[t>>1]=0),-99999==(0|(i=0|it(r))))return er(e,8,0),c=8;if(16<(255&(tr[(t=A+72|0)>>0]=i))>>>0&&(er(e,8,0),tr[t>>0]=2),-99999==(0|(i=0|it(r))))return er(e,8,0),c=8;if(16<(255&(tr[(t=A+73|0)>>0]=i))>>>0&&(er(e,8,0),tr[t>>0]=1),-99999==(0|(i=0|it(r))))return er(e,8,0),c=8;if(15<(240&(tr[(t=A+74|0)>>0]=i))>>>0&&(er(e,8,0),tr[t>>0]=15),-99999==(0|(t=0|it(r))))return er(e,8,0),c=8;if(15<(240&(tr[(i=A+75|0)>>0]=t))>>>0){er(e,8,0);break}return c=0}tr[A+66>>0]=0,tr[A+67>>0]=1,tr[A+68>>0]=0,or[A+70>>1]=0,tr[A+72>>0]=2,tr[A+73>>0]=1,tr[A+74>>0]=15,i=A+75|0}while(0);tr[i>>0]=15,c=0}(A+4904|0,e,r,A),e=255&(0|At(r,1)),tr[A+4980>>0]=e;do{if(e<<24>>24){if(l=255&(0|At(r,1)),tr[(e=A+4981|0)>>0]=l,l=255&(0|At(r,1)),tr[A+4982>>0]=l,l=255&(0|At(r,6)),tr[A+4983>>0]=l,!(0|tr[e>>0]))break;ic(A+4984|0,0,r)}else tr[A+4981>>0]=0}while(0);return 0|(i=0|function(A){var e,r,i,f,n,t,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0;s=0|ar[476+(A|=0)>>2],a=0|ar[7988+(s<<2)>>2],ar[A+5016>>2]=a,c=0|ar[8004+(s<<2)>>2],ar[A+5020>>2]=c,d=0==(0|ar[A+5012>>2]),ar[A+5024>>2]=d?1:a,ar[A+5028>>2]=d?1:c,d=0|ar[A+512>>2],ar[A+4996>>2]=d,ar[A+5e3>>2]=(6*d|0)-48,e=0|ar[A+516>>2],ar[A+5004>>2]=e,ar[A+5008>>2]=(6*e|0)-48,r=0|ar[A+612>>2],ar[A+5036>>2]=r,i=(0|ar[A+616>>2])+r|0,ar[A+5040>>2]=i,f=1<<r,ar[A+5044>>2]=f,o=1<<i,ar[A+5048>>2]=o,n=0|ar[A+484>>2],b=(f-1+n|0)/(0|f)|0,ar[A+5052>>2]=b,l=(n-1+o|0)/(0|o)|0,ar[A+5056>>2]=l,t=0|ar[A+488>>2],k=((u=t-1|0)+f|0)/(0|f)|0,ar[A+5060>>2]=k,u=(u+o|0)/(0|o)|0,ar[A+5064>>2]=u,b=0|br(k,b),ar[A+5068>>2]=b,b=0|br(u,l),ar[A+5072>>2]=b,b=0|br(t,n),ar[A+5076>>2]=b,o=0!=(0|s)&&0==(0|tr[A+480>>0])?(ar[A+5080>>2]=(0|o)/(0|a)|0,(0|o)/(0|c)|0):(ar[A+5080>>2]=0,0);if(ar[A+5084>>2]=o,b=0|ar[A+620>>2],ar[A+5100>>2]=b,s=(0|ar[A+624>>2])+b|0,ar[A+5104>>2]=s,o=i-b|0,(0|ar[A+628>>2])>(0|o))return 0|(k=8);if((0|ar[A+632>>2])>(0|o))return 0|(k=8);k=r-1|0,ar[A+5108>>2]=k,k=i-k|0,ar[A+5112>>2]=l<<k,ar[A+5116>>2]=u<<k,k=0|ar[A+4708>>2],ar[A+5120>>2]=k,ar[A+5124>>2]=(0|ar[A+4712>>2])+k,k=l<<o,ar[A+5088>>2]=k,u<<=o,ar[A+5092>>2]=u,k=0|br(u,k),ar[A+5096>>2]=k,l=0|tr[A+4990>>0]?(a=o=0,c=1<<e-1,1<<d+-1):(o=248+e&255,a=d+248&255,c=128);if(tr[A+5156>>0]=a,tr[A+5157>>0]=o,ar[A+5160>>2]=l,ar[A+5164>>2]=c,(0|n)%(0|f)|0)return 0|(k=8);if(0!=((0|t)%(0|f)|0)|(0|r)<(0|b))return 0|(k=8);if((0|((0|i)<5?i:5))<(0|s)|8<(d+-8|0)>>>0|8<(e-8|0)>>>0)return 0|(k=8);return tr[A>>0]=1,(k=0)|k}(A))?0|(A=i):(tr[A>>0]=1,(A=0)|A)}}return 0}(r,A+4|0,e))?(A=e,Ac(r),ur=i,0|A):(-1<(0|(e=0|ar[A+516>>2]))&&function(A,e){A|=0;var r,i,f,n,t,o,a,c,l,u,b,s,d,k,h,w,v,m,g,Z,p,y,B,E,X,W,I,C,G,V,F,R,N,_,Y,Q,D,J,M,T,U,S,O,z,j,H,x,P,L,K=0,q=0,$=0,AA=0,eA=0,rA=0,iA=0,fA=0,nA=0,tA=0,oA=0,aA=0,cA=0,lA=0,uA=0,bA=0;switch(ur=(L=ur)+496|0,P=L+480|0,x=L+472|0,H=L+464|0,j=L+456|0,z=L+448|0,O=L+440|0,S=L+432|0,U=L+424|0,T=L+416|0,M=L+408|0,J=L+400|0,D=L+392|0,bA=L+384|0,Q=L+376|0,Y=L+368|0,_=L+360|0,N=L+344|0,lA=L+336|0,cA=L+328|0,F=L+320|0,V=L+312|0,y=L+304|0,p=L+296|0,Z=L+288|0,g=L+280|0,G=L+272|0,C=L+264|0,aA=L+256|0,I=L+248|0,W=L+240|0,X=L+232|0,h=L+224|0,k=L+216|0,d=L+208|0,s=L+200|0,oA=L+192|0,tA=L+184|0,E=L+176|0,B=L+168|0,m=L+160|0,v=L+152|0,w=L+144|0,nA=L+136|0,b=L+128|0,u=L+120|0,l=L+112|0,c=L+104|0,a=L+96|0,o=L+88|0,t=L+80|0,n=L+72|0,fA=L+64|0,f=L+56|0,i=L+48|0,r=L+40|0,rA=L+32|0,eA=L+24|0,AA=L+16|0,$=L+8|0,q=L,0|(e|=0)){case 1:K=10172;break;case 2:K=10676;break;default:return ur=L}switch(Pn(R=0|ar[K>>2],41865,q),ar[$>>2]=tr[A+1>>0],Pn(R,41906,$),iA=A+2|0,ar[AA>>2]=tr[iA>>0],Pn(R,41936,AA),ar[eA>>2]=tr[A+3>>0],Pn(R,41966,eA),function(A,e,r){e|=0;var i,f,n;{if(ur=(n=ur)+16|0,f=n,$n(A|=0,1,r|=0),i=e+-1|0,!(1<(0|e)))return ur=n;e=0}for(;ar[f>>2]=e,Pn(r,44849,f),$n(A+52+(52*e|0)|0,0,r),e=e+1|0,(0|e)!=(0|i););ur=n}(A+4|0,0|tr[iA>>0],R),ar[rA>>2]=ar[A+472>>2],Pn(R,42001,rA),0|(q=0|ar[(K=A+476|0)>>2])){case 0:$=42045;break;case 1:$=42056;break;case 2:$=42062;break;default:$=3==(0|q)?42031:42037}ar[r>>2]=q,ar[4+r>>2]=$,Pn(R,42068,r),3==(0|ar[K>>2])&&(ar[i>>2]=tr[A+480>>0],Pn(R,42103,i));ar[f>>2]=ar[A+484>>2],Pn(R,42136,f),ar[fA>>2]=ar[A+488>>2],Pn(R,42169,fA),fA=A+492|0,ar[n>>2]=tr[fA>>0],Pn(R,42202,n),0|tr[fA>>0]&&(ar[t>>2]=ar[A+496>>2],Pn(R,42235,t),ar[o>>2]=ar[A+500>>2],Pn(R,42263,o),ar[a>>2]=ar[A+504>>2],Pn(R,42291,a),ar[c>>2]=ar[A+508>>2],Pn(R,42319,c));if(ar[l>>2]=ar[A+512>>2],Pn(R,42347,l),ar[u>>2]=ar[A+516>>2],Pn(R,42370,u),ar[b>>2]=ar[A+520>>2],Pn(R,42393,b),K=A+524|0,ar[nA>>2]=tr[K>>0],Pn(R,42426,nA),nA=0|tr[iA>>0],(0|(K=0==(0|tr[K>>0])?(nA<<24>>24)-1|0:0))<(nA<<24>>24|0))for(;ar[s>>2]=K,Pn(R,42756,s),ar[d>>2]=ar[A+528+(K<<2)>>2],Pn(R,42766,d),ar[k>>2]=ar[A+556+(K<<2)>>2],Pn(R,42805,k),ar[h>>2]=ar[A+584+(K<<2)>>2],Pn(R,42844,h),K=K+1|0,(0|K)<(0|tr[iA>>0]););iA=A+612|0,ar[w>>2]=ar[iA>>2],Pn(R,42473,w),rA=A+616|0,ar[v>>2]=ar[rA>>2],Pn(R,42511,v),eA=A+620|0,ar[m>>2]=ar[eA>>2],Pn(R,42558,m),AA=A+624|0,ar[B>>2]=ar[AA>>2],Pn(R,42596,B),ar[E>>2]=ar[A+628>>2],Pn(R,42641,E),ar[tA>>2]=ar[A+632>>2],Pn(R,42683,tA),tA=A+636|0,ar[oA>>2]=tr[tA>>0],Pn(R,42725,oA),0|tr[tA>>0]&&(oA=A+637|0,ar[X>>2]=tr[oA>>0],Pn(R,42883,X),0|tr[oA>>0])&&Pn(R,42924,W);ar[I>>2]=tr[A+4702>>0],Pn(R,42968,I),ar[aA>>2]=tr[A+4703>>0],Pn(R,43010,aA),aA=A+4704|0,ar[C>>2]=tr[aA>>0],Pn(R,43052,C),0|tr[aA>>0]&&(ar[G>>2]=tr[A+4705>>0],Pn(R,43094,G),ar[g>>2]=tr[A+4706>>0],Pn(R,43130,g),ar[Z>>2]=ar[A+4708>>2],Pn(R,43166,Z),ar[p>>2]=ar[A+4712>>2],Pn(R,43208,p),ar[y>>2]=tr[A+4716>>0],Pn(R,43259,y));if(q=A+4720|0,$=A+4724|0,ar[V>>2]=((0|ar[$>>2])-(0|ar[q>>2])|0)/100|0,Pn(R,43295,V),(0|ar[$>>2])!=(0|ar[q>>2]))for(K=0;ar[cA>>2]=K,Pn(R,43367,cA),pc((0|ar[q>>2])+(100*K|0)|0,16,R),(K=K+1|0)>>>0<(((0|ar[$>>2])-(0|ar[q>>2])|0)/100|0)>>>0;);if(cA=A+4732|0,ar[F>>2]=tr[cA>>0],Pn(R,43329,F),0|tr[cA>>0]&&(uA=A+4736|0,ar[lA>>2]=ar[uA>>2],Pn(R,43388,lA),0<(0|ar[uA>>2])))for(K=0;cA=0|ar[A+4740+(K<<2)>>2],lA=0|tr[A+4868+K>>0],ar[N>>2]=K,ar[4+N>>2]=cA,ar[8+N>>2]=lA,Pn(R,43421,N),(0|(K=K+1|0))<(0|ar[uA>>2]););ar[_>>2]=tr[A+4900>>0],Pn(R,43490,_),ar[Y>>2]=tr[A+4901>>0],Pn(R,43531,Y),K=A+4902|0,ar[Q>>2]=tr[K>>0],Pn(R,43572,Q),ar[bA>>2]=tr[A+4980>>0],Pn(R,43613,bA),bA=A+4981|0,ar[D>>2]=tr[bA>>0],Pn(R,43649,D),ar[J>>2]=tr[A+4982>>0],Pn(R,43685,J),ar[M>>2]=tr[A+4983>>0],Pn(R,43721,M),ar[T>>2]=ar[A+5048>>2],Pn(R,43757,T),ar[U>>2]=ar[A+5044>>2],Pn(R,43776,U),ar[S>>2]=1<<(0|ar[rA>>2])+(0|ar[iA>>2]),Pn(R,43795,S),ar[O>>2]=1<<ar[eA>>2],Pn(R,43814,O),ar[z>>2]=1<<(0|ar[AA>>2])+(0|ar[eA>>2]),Pn(R,43833,z),ar[j>>2]=ar[A+5056>>2],Pn(R,43852,j),ar[H>>2]=ar[A+5064>>2],Pn(R,43882,H),ar[x>>2]=ar[A+5016>>2],Pn(R,43912,x),ar[P>>2]=ar[A+5020>>2],Pn(R,43942,P),0|tr[bA>>0]&&function(A,e){A|=0;var r,i,f,n,t,o,a,c,l,u,b;switch(ur=(b=ur)+80|0,a=b+72|0,o=b+64|0,t=b+56|0,n=b+48|0,f=b+40|0,u=b+32|0,l=b+24|0,c=b+16|0,i=b+8|0,r=b,0|(e|=0)){case 1:e=10172;break;case 2:e=10676;break;default:return ur=b}Pn(e=0|ar[e>>2],43972,r),ar[i>>2]=cr[A>>0],Pn(e,44029,i),ar[c>>2]=cr[A+1>>0],Pn(e,44075,c),ar[l>>2]=cr[A+2>>0],Pn(e,44121,l),ar[u>>2]=cr[A+3>>0],Pn(e,44167,u),ar[f>>2]=cr[A+4>>0],Pn(e,44213,f),ar[n>>2]=cr[A+5>>0],Pn(e,44259,n),ar[t>>2]=cr[A+6>>0],Pn(e,44305,t),ar[o>>2]=cr[A+7>>0],Pn(e,44351,o),ar[a>>2]=cr[A+8>>0],Pn(e,44397,a),ur=b}(A+4984|0,e);0|tr[K>>0]&&function(A,e){A|=0;var r,i,f,n,t,o,a,c,l,u,b,s,d,k,h,w,v,m,g,Z,p,y,B,E,X,W,I,C,G,V,F,R,N,_,Y=0,Q=0,D=0,J=0,M=0;switch(ur=(_=ur)+304|0,a=_+288|0,o=_+280|0,t=_+272|0,N=_+264|0,R=_+256|0,F=_+248|0,V=_+240|0,G=_+232|0,C=_+224|0,M=_+216|0,I=_+208|0,W=_+200|0,X=_+192|0,E=_+184|0,B=_+176|0,J=_+168|0,y=_+160|0,p=_+152|0,Z=_+144|0,g=_+136|0,m=_+128|0,v=_+120|0,w=_+112|0,h=_+104|0,k=_+96|0,d=_+88|0,D=_+80|0,s=_+72|0,b=_+64|0,u=_+56|0,l=_+48|0,c=_+40|0,f=_+32|0,Q=_+24|0,n=_+16|0,i=_+8|0,Y=_,0|(e|=0)){case 1:e=10172;break;case 2:e=10676;break;default:return ur=_}if(Pn(r=0|ar[e>>2],45969,Y),Y=0|lr[A+4>>1],ar[i>>2]=lr[A+2>>1],ar[4+i>>2]=Y,Pn(r,46010,i),ar[n>>2]=cr[A+6>>0],Pn(r,46046,n),ar[Q>>2]=cr[A+7>>0],Pn(r,46079,Q),Q=A+8|0,ar[f>>2]=cr[Q>>0],Pn(r,46112,f),0|tr[Q>>0]){switch(0|ar[A+12>>2]){case 0:e=45959;break;case 1:e=45955;break;case 2:e=45950;break;case 3:e=45944;break;case 4:e=45940;break;default:e=45928}ar[c>>2]=e,Pn(r,46148,c),ar[l>>2]=cr[A+16>>0],Pn(r,46184,l),ar[u>>2]=cr[A+17>>0],Pn(r,46220,u),ar[b>>2]=cr[A+18>>0],Pn(r,46260,b),ar[s>>2]=cr[A+19>>0],Pn(r,46296,s),ar[D>>2]=cr[A+20>>0],Pn(r,46332,D)}D=A+21|0,ar[d>>2]=cr[D>>0],Pn(r,46368,d),0|tr[D>>0]&&(ar[k>>2]=cr[A+22>>0],Pn(r,46402,k),ar[h>>2]=cr[A+23>>0],Pn(r,46445,h));ar[w>>2]=cr[A+24>>0],Pn(r,46488,w),ar[v>>2]=cr[A+25>>0],Pn(r,46524,v),ar[m>>2]=cr[A+26>>0],Pn(r,46560,m),ar[g>>2]=cr[A+27>>0],Pn(r,46596,g),ar[Z>>2]=ar[A+28>>2],Pn(r,46632,Z),ar[p>>2]=ar[A+32>>2],Pn(r,46668,p),ar[y>>2]=ar[A+36>>2],Pn(r,46704,y),ar[J>>2]=ar[A+40>>2],Pn(r,46740,J),J=A+44|0,ar[B>>2]=cr[J>>0],Pn(r,46776,B),0|tr[J>>0]&&(ar[E>>2]=ar[A+48>>2],Pn(r,46812,E),ar[X>>2]=ar[A+52>>2],Pn(r,46848,X));ar[W>>2]=cr[A+56>>0],Pn(r,46884,W),ar[I>>2]=ar[A+60>>2],Pn(r,46926,I),ar[M>>2]=cr[A+64>>0],Pn(r,46968,M),M=A+65|0,ar[C>>2]=cr[M>>0],Pn(r,47006,C),0|tr[M>>0]&&(ar[G>>2]=cr[A+66>>0],Pn(r,47047,G),ar[V>>2]=cr[A+67>>0],Pn(r,47088,V),ar[F>>2]=cr[A+68>>0],Pn(r,47136,F),ar[R>>2]=lr[A+70>>1],Pn(r,47177,R),ar[N>>2]=cr[A+72>>0],Pn(r,47218,N),ar[t>>2]=cr[A+73>>0],Pn(r,47259,t),ar[o>>2]=cr[A+74>>0],Pn(r,47300,o),ar[a>>2]=cr[A+75>>0],Pn(r,47341,a)),ur=_}(A+4904|0,e),ur=L}(r,e),hb(0|(f=A+11096+(5168*(e=0|ar[r+472>>2])|0)|0),0|r,4717),(0|f)!=(0|r)&&Ke(A+11096+(5168*e|0)+4720|0,0|ar[r+4720>>2],0|ar[r+4724>>2]),hb(A+11096+(5168*e|0)+4732|0,r+4732|0,436),f=0,Ac(r),ur=i,0|f)}function Ke(A,e,r){var i,f,n,t=0,o=0,a=0,c=0,l=0;if((a=(0|(c=(i=r|=0)-(e|=0)|0))/100|0)>>>0<=(((t=0|ar[(f=(A|=0)+8|0)>>2])-(n=l=0|ar[A>>2])|0)/100|0)>>>0)return 0|(t=(o=a=(A=(o=((0|ar[(c=A+4|0)>>2])-l|0)/100|0)>>>0<a>>>0)?e+(100*o|0)|0:r)-e|0)&&wb(0|l,0|e,0|t),r=n+(100*((0|t)/100|0)|0)|0,A?!((0|(t=i-o|0))<=0)&&(hb(0|ar[c>>2],0|a,0|t),void(ar[c>>2]=(0|ar[c>>2])+(100*((t>>>0)/100|0)|0))):(0|(t=0|ar[c>>2]))!=(0|r)&&void(ar[c>>2]=t+(100*~(((t+-100-r|0)>>>0)/100|0)|0));(o=l)&&((0|(r=0|ar[(t=A+4|0)>>2]))!=(0|n)&&(ar[t>>2]=r+(100*~(((r+-100-l|0)>>>0)/100|0)|0)),vu(o),ar[f>>2]=0,ar[t>>2]=0,t=ar[A>>2]=0),42949672<a>>>0&&zl(),t=(l=(0|t)/100|0)<<1,42949672<(t=l>>>0<21474836?t>>>0<a>>>0?a:t:42949672)>>>0&&zl(),r=0|hu(100*t|0),ar[(o=A+4|0)>>2]=r,ar[A>>2]=r,ar[f>>2]=r+(100*t|0),(0|c)<=0||(hb(0|r,0|e,0|c),ar[o>>2]=r+(100*((c>>>0)/100|0)|0))}function qe(A,e){A|=0,e|=0;var r,i,f,n=0;return ur=(f=ur)+4400|0,Ia(i=f),r=0|function(A,e,r){e|=0,r|=0;var i=0,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0;if(Ca(A|=0,0),u=0|it(e),63<(0|(tr[A+1>>0]=u))|-99999==(0|u))return er(r+4|0,1009,0),(r=0)|r;if(u=0|it(e),63<(0|(tr[(n=A+2|0)>>0]=u))|-99999==(0|u))return er(r+4|0,1010,0),(r=0)|r;if(u=255&(0|At(e,1)),tr[A+3>>0]=u,u=255&(0|At(e,1)),tr[A+31>>0]=u,u=255&(0|At(e,3)),tr[A+4132>>0]=u,u=255&(0|At(e,1)),tr[A+4>>0]=u,u=255&(0|At(e,1)),tr[A+5>>0]=u,u=0|it(e),i=255&u,tr[(f=A+6|0)>>0]=i,-99999==(0|u))return er(r+4|0,1006,0),(r=0)|r;if(tr[f>>0]=i+1<<24>>24,u=0|it(e),i=255&u,tr[(f=A+7|0)>>0]=i,-99999==(0|u))return er(r+4|0,1006,0),(r=0)|r;if(tr[f>>0]=i+1<<24>>24,l=0|tr[n>>0],!(0|tr[(u=r+11096+(5168*l|0)|0)>>0]))return er(r+4|0,1010,0),(r=0)|r;if(i=0|ft(e),-99999==(0|(ar[(f=A+8|0)>>2]=i)))return er(r+4|0,1006,0),(r=0)|r;if(ar[f>>2]=i+26,c=255&(0|At(e,1)),tr[A+12>>0]=c,c=255&(0|At(e,1)),tr[A+13>>0]=c,c=255&(0|At(e,1)),(tr[A+14>>0]=c)<<24>>24){if(c=0|it(e),-99999==(0|(ar[A+16>>2]=c)))return er(r+4|0,1006,0),(r=0)|r}else ar[A+16>>2]=0;if(c=0|ft(e),-99999==(0|(ar[A+20>>2]=c)))return er(r+4|0,1006,0),(r=0)|r;if(c=0|ft(e),-99999==(0|(ar[A+24>>2]=c)))return er(r+4|0,1006,0),(r=0)|r;if(a=255&(0|At(e,1)),tr[A+28>>0]=a,a=255&(0|At(e,1)),tr[A+29>>0]=a,a=255&(0|At(e,1)),tr[A+30>>0]=a,a=255&(0|At(e,1)),tr[A+32>>0]=a,a=255&(0|At(e,1)),tr[(c=A+34|0)>>0]=a,a=255&(0|At(e,1)),tr[A+33>>0]=a,0|tr[c>>0]){if(i=0|it(e),-99999==(0|(ar[(a=A+36|0)>>2]=i))|9<(0|i))return er(r+4|0,1006,0),(r=0)|r;if(ar[a>>2]=i+1,i=0|it(e),-99999==(0|(ar[(c=A+40|0)>>2]=i))|9<(0|i))return er(r+4|0,1006,0),(r=0)|r;ar[c>>2]=i+1,o=0|At(e,1),tr[A+44>>0]=o;do{if(!(255&o)){n=0|ar[r+11096+(5168*l|0)+5056>>2],f=0|ar[r+11096+(5168*l|0)+5064>>2],o=0|ar[a>>2],i=o+-1|0;A:do{if(1<(0|o)){for(o=0;i=0|it(e),-99999!=(0|(ar[(t=A+4172+(o<<2)|0)>>2]=i));)if(i=i+1|0,ar[t>>2]=i,n=n-i|0,o=o+1|0,(0|(i=(0|ar[a>>2])-1|0))<=(0|o))break A;return er(r+4|0,1006,0),(r=0)|r}}while(0);if((0|n)<1)return(r=0)|r;ar[A+4172+(i<<2)>>2]=n,a=0|ar[c>>2],i=a+-1|0;A:do{if(1<(0|a)){for(t=0;i=0|it(e),-99999!=(0|(ar[(n=A+4212+(t<<2)|0)>>2]=i));)if(i=i+1|0,ar[n>>2]=i,f=f-i|0,t=t+1|0,(0|(i=(0|ar[c>>2])-1|0))<=(0|t))break A;return er(r+4|0,1006,0),(r=0)|r}}while(0);if((0|f)<1)return(r=0)|r;ar[A+4212+(i<<2)>>2]=f;break}}while(0);i=255&(0|At(e,1))}else ar[A+36>>2]=1,ar[A+40>>2]=1,tr[A+44>>0]=1,i=0;tr[A+45>>0]=i,ar[(i=A+52|0)>>2]=0,ar[(n=A+56|0)>>2]=0,c=255&(0|At(e,1)),tr[A+46>>0]=c,c=255&(0|At(e,1)),tr[A+47>>0]=c;do{if(c<<24>>24){if(c=255&(0|At(e,1)),tr[A+48>>0]=c,c=255&(0|At(e,1)),!((tr[A+49>>0]=c)<<24>>24)){if(f=0|ft(e),-99999==(0|(ar[i>>2]=f)))return er(r+4|0,1006,0),(r=0)|r;if(ar[i>>2]=f<<1,i=0|ft(e),-99999==(0|(ar[n>>2]=i)))return er(r+4|0,1006,0),(r=0)|r;ar[n>>2]=i<<1;break}}else tr[A+48>>0]=0,tr[A+49>>0]=0}while(0);if(c=0|At(e,1),i=255&c,tr[A+60>>0]=i,0!=(255&c|0)&&0==(0|tr[r+11096+(5168*l|0)+636>>0]))return er(r+4|0,1006,0),(r=0)|r;if(i<<24>>24){if(0|(i=0|ec(e,u,A+61|0,1)))return er(r+4|0,i,0),(r=0)|r}else hb(A+61|0,r+11096+(5168*l|0)+638|0,4064);if(i=255&(0|At(e,1)),tr[A+4125>>0]=i,i=0|it(e),-99999==(0|(ar[(f=A+4128|0)>>2]=i)))return er(r+4|0,1006,0),(r=0)|r;if(ar[f>>2]=i+2,(0|i)>((0|ar[r+11096+(5168*l|0)+612>>2])-2+(0|ar[r+11096+(5168*l|0)+616>>2])|0))return(r=0)|r;return l=255&(0|At(e,1)),tr[A+4133>>0]=l,l=255&(0|At(e,1)),!((tr[A+4134>>0]=l)<<24>>24&&(c=255&(0|At(e,1)),tr[(l=A+4135|0)>>0]=c,c=255&(0|At(e,1)),tr[A+4136>>0]=c,c=255&(0|At(e,6)),tr[A+4137>>0]=c,0|tr[l>>0]))||0|function(A,e,r,i){A|=0,e|=0,r|=0;var f,n=0,t=0,o=0;f=0|tr[2+(i|=0)>>0],0|tr[i+13>>0]&&(t=2+(0|it(e))&255,tr[A>>0]=t);t=0!=(0|At(e,1)),tr[A+1>>0]=1&t,3==(0|ar[(n=r+11096+(5168*f|0)+5012|0)>>2])|1^t||er(r+4|0,1006,0);o=0!=(0|At(e,1)),i=1&o,tr[(t=A+2|0)>>0]=i,0!=(0|ar[n>>2])|1^o||(er(r+4|0,1006,0),i=0|tr[t>>0]);A:do{if(i<<24>>24){if(-99999!=(0|(i=0|it(e)))&&(0|i)<=(0|ar[r+11096+(5168*f|0)+616>>2])){if(tr[A+3>>0]=i,-99999==(0|(i=0|it(e)))|5<(0|i))return er(r+4|0,1006,0),(o=0)|o;if(o=i+1|0,!(255&(tr[(t=A+4|0)>>0]=o)))break;for(n=0;;){if(24<((i=0|ft(e))+12|0)>>>0){i=15;break}if(tr[A+5+n>>0]=i,24<((i=0|ft(e))+12|0)>>>0){i=17;break}if(tr[A+11+n>>0]=i,(0|(n=n+1|0))>=(0|cr[t>>0]))break A}if(15==(0|i))return er(r+4|0,1006,0),(o=0)|o;if(17==(0|i))return er(r+4|0,1006,0),(o=0)|o}return er(r+4|0,1006,0),(o=0)|o}}while(0);if(-99999!=(0|(i=0|it(e)))&&(o=0|ar[r+11096+(5168*f|0)+4996>>2],(0|i)<=(0|((0|o)<10?0:o+-10|0))))return tr[A+17>>0]=i,-99999!=(0|(i=0|it(e)))&&(o=0|ar[r+11096+(5168*f|0)+5004>>2],(0|i)<=(0|((0|o)<10?0:o+-10|0)))?(tr[A+18>>0]=i,0|(o=1)):(er(r+4|0,1006,0),(o=0)|o);return er(r+4|0,1006,0),(o=0)|o}(A+4138|0,e,r,A)?(function(A,e){A|=0;var r,i,f,n,t,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0;if(t=ur,y=0|ar[(n=5040+(e|=0)|0)>>2],ar[A+4160>>2]=y-(0|ar[A+16>>2]),ar[A+4164>>2]=y-(0|cr[A+4141>>0]),ar[A+4168>>2]=cr[A+4138>>0],y=A+36|0,0|tr[A+44>>0]){if(a=0|ar[y>>2],ur=(l=ur)+(15+(4+(a<<2)|0)&-16)|0,0<=(0|a)){for(c=0|ar[e+5056>>2],o=0;B=(0|br(c,o))/(0|a)|0,ar[l+(o<<2)>>2]=B,(0|o)!=(0|a);)o=o+1|0;if(0<(0|a))for(a=(o=0)|ar[l>>2];p=a,a=0|ar[l+((o=(B=o)+1|0)<<2)>>2],ar[A+4172+(B<<2)>>2]=a-p,(0|o)<(0|ar[y>>2]););}if(a=0|ar[(l=A+40|0)>>2],ur=(u=ur)+(15+(4+(a<<2)|0)&-16)|0,0<=(0|a)){for(c=0|ar[e+5064>>2],o=0;B=(0|br(c,o))/(0|a)|0,ar[u+(o<<2)>>2]=B,(0|o)!=(0|a);)o=o+1|0;if(0<(0|a))for(a=(o=0)|ar[u>>2];p=a,a=0|ar[u+((o=(B=o)+1|0)<<2)>>2],ar[A+4212+(B<<2)>>2]=a-p,(0|o)<(0|ar[l>>2]););}}if(ar[A+4252>>2]=0,0<(0|ar[y>>2]))for(a=o=0;a=(0|ar[A+4172+(o<<2)>>2])+a|0,ar[A+4252+((o=o+1|0)<<2)>>2]=a,(0|o)<(0|ar[y>>2]););if(ar[A+4296>>2]=0,0<(0|ar[(p=A+40|0)>>2]))for(a=o=0;o=(0|ar[A+4212+(a<<2)>>2])+o|0,ar[A+4296+((a=a+1|0)<<2)>>2]=o,(0|a)<(0|ar[p>>2]););B=A+4340|0,a=0|ar[(v=e+5072|0)>>2],u=0|ar[(o=A+4344|0)>>2],l=0|ar[B>>2],a>>>0<=(c=u-l>>2)>>>0?a>>>0<c>>>0&&(0|u)!=(0|(b=l+(a<<2)|0))&&(ar[o>>2]=u+(~((u+-4-b|0)>>>2)<<2)):(Va(B,a-c|0),a=0|ar[v>>2]);w=A+4352|0,l=0|ar[(u=A+4356|0)>>2],c=0|ar[w>>2],a>>>0<=(o=l-c>>2)>>>0?a>>>0<o>>>0&&(0|l)!=(0|(s=c+(a<<2)|0))&&(ar[u>>2]=l+(~((l+-4-s|0)>>>2)<<2)):(Va(w,a-o|0),a=0|ar[v>>2]);i=A+4364|0,u=0|ar[(o=A+4368|0)>>2],l=0|ar[i>>2],a>>>0<=(c=u-l>>2)>>>0?a>>>0<c>>>0&&(0|u)!=(0|(d=l+(a<<2)|0))&&(ar[o>>2]=u+(~((u+-4-d|0)>>>2)<<2)):(Va(i,a-c|0),a=0|ar[v>>2]);r=A+4376|0,u=0|ar[(o=A+4380|0)>>2],l=0|ar[r>>2],a>>>0<=(c=u-l>>2)>>>0?a>>>0<c>>>0&&(0|u)!=(0|(k=l+(a<<2)|0))&&(ar[o>>2]=u+(~((u+-4-k|0)>>>2)<<2)):Va(r,a-c|0);f=A+4388|0,o=0|ar[e+5096>>2],u=0|ar[(a=A+4392|0)>>2],l=0|ar[f>>2],o>>>0<=(c=u-l>>2)>>>0?o>>>0<c>>>0&&(0|u)!=(0|(h=l+(o<<2)|0))&&(ar[a>>2]=u+(~((u+-4-h|0)>>>2)<<2)):Va(f,o-c|0);A:do{if(0<(0|ar[v>>2])){for(d=e+5056|0,s=0;;){if(h=0|ar[d>>2],k=(0|s)%(0|h)|0,h=(0|s)/(0|h)|0,0<(0|(c=0|ar[y>>2])))for(a=0,o=-1;o=(0|k)<(0|ar[A+4252+(a<<2)>>2])?o:a,(0|(a=a+1|0))<(0|c););else o=-1;if(0<(0|(l=0|ar[p>>2])))for(c=0,a=-1;a=(0|h)<(0|ar[A+4296+(c<<2)>>2])?a:c,(0|(c=c+1|0))<(0|l););else a=-1;if(b=(0|ar[B>>2])+(s<<2)|0,(ar[b>>2]=0)<(0|o))for(u=A+4212+(a<<2)|0,c=l=0;c=c+(0|br(0|ar[A+4172+(l<<2)>>2],0|ar[u>>2]))|0,ar[b>>2]=c,(0|(l=l+1|0))!=(0|o););else c=0;if(0<(0|a))for(l=0;c=c+(0|br(0|ar[A+4212+(l<<2)>>2],0|ar[d>>2]))|0,ar[b>>2]=c,(0|(l=l+1|0))!=(0|a););if((a|o|0)<=-1)break;if(Z=c+(0|br(h-(0|ar[A+4296+(a<<2)>>2])|0,0|ar[A+4172+(o<<2)>>2]))|0,ar[b>>2]=Z,Z=k-(0|ar[A+4252+(o<<2)>>2])+Z|0,ar[b>>2]=Z,(0|(s=(ar[(0|ar[w>>2])+(Z<<2)>>2]=s)+1|0))>=(0|ar[v>>2]))break A}sr(37364,37385,618,37392)}}while(0);if(0<(0|(o=0|ar[p>>2]))){Z=e+5056|0,a=(c=l=0)|ar[y>>2];do{if(0<(0|a)){g=A+4296+(c<<2)|0,w=l,o=(v=0)|ar[(m=A+4296+((c=c+1|0)<<2)|0)>>2];do{if(u=0|ar[g>>2],v=(l=v)+1|0,(0|u)<(0|o)){k=A+4252+(l<<2)|0,a=0|ar[(h=A+4252+(v<<2)|0)>>2];do{if((0|(d=0|ar[k>>2]))<(0|a)){for(l=0|ar[B>>2],b=0|ar[i>>2],s=0|ar[r>>2],o=d;a=l+((0|br(0|ar[Z>>2],u))+o<<2)|0,ar[b+(ar[a>>2]<<2)>>2]=w,a=s+((0|br(0|ar[Z>>2],u))+o<<2)|0,ar[a>>2]=w,o=o+1|0,a=0|ar[h>>2],(0|o)<(0|a););o=0|ar[m>>2]}u=u+1|0}while((0|u)<(0|o));a=0|ar[y>>2]}w=w+1|0}while((0|v)<(0|a));l=w,o=0|ar[p>>2]}else c=c+1|0}while((0|c)<(0|o))}if((0|(o=0|ar[(k=e+5092|0)>>2]))<=0)return ur=t;w=e+5100|0,d=e+5056|0,a=0|ar[(h=e+5088|(s=0))>>2];do{if(0<(0|a)){u=0|ar[B>>2],b=0|ar[f>>2],l=0;do{if(e=0|ar[w>>2],A=0|ar[n>>2],y=u+((0|br(0|ar[d>>2],s<<e>>A))+(l<<e>>A)<<2)|0,o=b+((0|br(a,s))+l<<2)|0,ar[o>>2]=ar[y>>2]<<(A-e<<1),o=0|ar[n>>2],(0|(a=0|ar[w>>2]))<(0|o))for(c=o-a|0,o=a=0;o=(0==((e=1<<a)&s|0)?0:e<<1<<a)+o+(0==(e&l|0)?0:e<<a)|0,(0|(a=a+1|0))<(0|c););else o=0;a=b+((0|br(0|ar[h>>2],s))+l<<2)|0,ar[a>>2]=(0|ar[a>>2])+o,l=l+1|0,a=0|ar[h>>2]}while((0|l)<(0|a));o=0|ar[k>>2]}s=s+1|0}while((0|s)<(0|o));ur=t}(A,u),tr[A>>0]=1,0|(r=1)):(r=0)|r}(i,e,A),-1<(0|(e=0|ar[A+524>>2]))&&function(A,e){A|=0;var r,i,f,n,t,o,a,c,l,u,b,s,d,k,h,w,v,m,g,Z,p,y,B,E,X,W,I,C,G,V,F,R,N,_,Y,Q,D,J,M,T,U,S,O,z,j,H,x,P=0,L=0,K=0,q=0,$=0,AA=0;switch(ur=(x=ur)+400|0,U=x+392|0,T=x+384|0,M=x+376|0,J=x+368|0,D=x+360|0,Q=x+352|0,Y=x+344|0,_=x+336|0,N=x+328|0,R=x+320|0,F=x+312|0,V=x+304|0,G=x+296|0,C=x+288|0,AA=x+280|0,H=x+272|0,j=x+264|0,$=x+256|0,z=x+248|0,O=x+240|0,S=x+232|0,I=x+224|0,W=x+216|0,X=x+208|0,B=x+200|0,y=x+192|0,p=x+184|0,Z=x+176|0,g=x+168|0,v=x+160|0,w=x+152|0,h=x+144|0,k=x+136|0,d=x+128|0,s=x+120|0,b=x+112|0,u=x+104|0,l=x+96|0,c=x+88|0,o=x+80|0,t=x+72|0,n=x+64|0,f=x+56|0,i=x+48|0,r=x+40|0,q=x+32|0,m=x+24|0,a=x+16|0,K=x+8|0,L=x,0|(e|=0)){case 1:P=10172;break;case 2:P=10676;break;default:return ur=x}Pn(E=0|ar[P>>2],37411,L),ar[K>>2]=tr[A+1>>0],Pn(E,37452,K),ar[a>>2]=tr[A+2>>0],Pn(E,37485,a),ar[m>>2]=tr[A+3>>0],Pn(E,37518,m),ar[q>>2]=tr[A+4>>0],Pn(E,37562,q),ar[r>>2]=tr[A+5>>0],Pn(E,37595,r),ar[i>>2]=tr[A+6>>0],Pn(E,37628,i),ar[f>>2]=tr[A+7>>0],Pn(E,37664,f),ar[n>>2]=ar[A+8>>2],Pn(E,37700,n),ar[t>>2]=tr[A+12>>0],Pn(E,37733,t),ar[o>>2]=tr[A+13>>0],Pn(E,37766,o),q=A+14|0,ar[c>>2]=tr[q>>0],Pn(E,37799,c),0|tr[q>>0]&&(ar[l>>2]=ar[A+16>>2],Pn(E,37832,l));if(ar[u>>2]=ar[A+20>>2],Pn(E,37865,u),ar[b>>2]=ar[A+24>>2],Pn(E,37900,b),ar[s>>2]=tr[A+28>>0],Pn(E,37935,s),ar[d>>2]=tr[A+29>>0],Pn(E,37982,d),ar[k>>2]=tr[A+30>>0],Pn(E,38017,k),ar[h>>2]=tr[A+31>>0],Pn(E,38052,h),ar[w>>2]=tr[A+32>>0],Pn(E,38087,w),q=A+34|0,ar[v>>2]=tr[q>>0],Pn(E,38122,v),ar[g>>2]=tr[A+33>>0],Pn(E,38157,g),0|tr[q>>0]){if(L=A+36|0,ar[Z>>2]=ar[L>>2],Pn(E,38195,Z),K=A+40|0,ar[p>>2]=ar[K>>2],Pn(E,38221,p),ar[y>>2]=tr[A+44>>0],Pn(E,38247,y),Pn(E,38273,B),0<=(0|ar[L>>2]))for(P=0;ar[I>>2]=ar[A+4252+(P<<2)>>2],Pn(E,38320,I),(0|P)<(0|ar[L>>2]);)P=P+1|0;if(Pn(E,45728,X),Pn(E,38298,W),0<=(0|ar[K>>2]))for(P=0;ar[z>>2]=ar[A+4296+(P<<2)>>2],Pn(E,38320,z),(0|P)<(0|ar[K>>2]);)P=P+1|0;Pn(E,45728,S),ar[O>>2]=tr[A+45>>0],Pn(E,38325,O)}ar[$>>2]=tr[A+46>>0],Pn(E,38369,$),$=A+47|0,ar[j>>2]=tr[$>>0],Pn(E,38417,j),0|tr[$>>0]&&(ar[H>>2]=tr[A+48>>0],Pn(E,38461,H),ar[AA>>2]=tr[A+49>>0],Pn(E,38506,AA),ar[C>>2]=ar[A+52>>2],Pn(E,38546,C),ar[G>>2]=ar[A+56>>2],Pn(E,38564,G));ar[V>>2]=tr[A+60>>0],Pn(E,38582,V),ar[F>>2]=tr[A+4125>>0],Pn(E,38622,F),ar[R>>2]=ar[A+4128>>2],Pn(E,38659,R),ar[N>>2]=tr[A+4132>>0],Pn(E,38696,N),ar[_>>2]=tr[A+4133>>0],Pn(E,38733,_),ar[Y>>2]=tr[A+4134>>0],Pn(E,38783,Y),AA=A+4135|0,ar[Q>>2]=tr[AA>>0],Pn(E,38819,Q),ar[D>>2]=tr[A+4136>>0],Pn(E,38855,D),ar[J>>2]=tr[A+4137>>0],Pn(E,38891,J),ar[M>>2]=ar[A+4160>>2],Pn(E,38927,M),ar[T>>2]=ar[A+4164>>2],Pn(E,38963,T),ar[U>>2]=ar[A+4168>>2],Pn(E,39004,U),0|tr[AA>>0]&&function(A,e){A|=0;var r,i,f,n,t,o,a,c,l,u,b=0,s=0,d=0;switch(ur=(u=ur)+80|0,l=u+72|0,c=u+64|0,a=u+56|0,o=u+48|0,n=u+40|0,s=u+32|0,t=u+24|0,b=u+16|0,f=u+8|0,i=u,0|(e|=0)){case 1:e=10172;break;case 2:e=10676;break;default:return ur=u}if(Pn(r=0|ar[e>>2],36905,i),ar[f>>2]=cr[A>>0],Pn(r,36948,f),ar[b>>2]=cr[A+1>>0],Pn(r,36994,b),b=A+2|0,ar[t>>2]=cr[b>>0],Pn(r,37040,t),0|tr[b>>0]&&(ar[s>>2]=cr[A+3>>0],Pn(r,37086,s),d=A+4|0,ar[n>>2]=cr[d>>0],Pn(r,37132,n),0|tr[d>>0]))for(e=0;s=0|tr[A+5+e>>0],ar[o>>2]=e,ar[4+o>>2]=s,Pn(r,37178,o),s=0|tr[A+11+e>>0],ar[a>>2]=e,ar[4+a>>2]=s,Pn(r,37225,a),(0|(e=e+1|0))<(0|cr[d>>0]););ar[c>>2]=cr[A+17>>0],Pn(r,37272,c),ar[l>>2]=cr[A+18>>0],Pn(r,37318,l),ur=u}(A+4138|0,e),ur=x}(i,e),r?(hb(0|(n=A+93784+(4400*(e=0|tr[i+1>>0])|0)|0),0|i,4340),ur=(n=((0|n)==(0|i)||($e(A+93784+(4400*e|0)+4340|0,0|ar[i+4340>>2],0|ar[i+4344>>2]),$e(A+93784+(4400*e|0)+4352|0,0|ar[i+4352>>2],0|ar[i+4356>>2]),$e(A+93784+(4400*e|0)+4364|0,0|ar[i+4364>>2],0|ar[i+4368>>2]),$e(A+93784+(4400*e|0)+4376|0,0|ar[i+4376>>2],0|ar[i+4380>>2]),$e(A+93784+(4400*e|0)+4388|0,0|ar[i+4388>>2],0|ar[i+4392>>2])),r?0:1006),Ga(i),f),0|n):(A=r?0:1006,Ga(i),ur=f,0|A)}function $e(A,e,r){var i,f,n,t=0,o=0,a=0,c=0,l=0;if((a=(c=(i=r|=0)-(e|=0)|0)>>2)>>>0<=(t=0|ar[(f=(A|=0)+8|0)>>2])-(n=l=0|ar[A>>2])>>2>>>0)return 0|(r=(t=(o=a=(A=(o=(0|ar[(c=A+4|0)>>2])-l>>2)>>>0<a>>>0)?e+(o<<2)|0:r)-e|0)>>2)&&wb(0|l,0|e,0|t),r=n+(r<<2)|0,A?!((0|(t=i-o|0))<=0)&&(hb(0|ar[c>>2],0|a,0|t),void(ar[c>>2]=(0|ar[c>>2])+(t>>>2<<2))):(0|(t=0|ar[c>>2]))!=(0|r)&&void(ar[c>>2]=t+(~((t+-4-r|0)>>>2)<<2));(o=l)&&((0|(r=0|ar[(t=A+4|0)>>2]))!=(0|n)&&(ar[t>>2]=r+(~((r+-4-l|0)>>>2)<<2)),vu(o),ar[f>>2]=0,ar[t>>2]=0,t=ar[A>>2]=0),1073741823<a>>>0&&zl(),l=t>>1,1073741823<(t=t>>2>>>0<536870911?l>>>0<a>>>0?a:l:1073741823)>>>0&&zl(),r=0|hu(t<<2),ar[(o=A+4|0)>>2]=r,ar[A>>2]=r,ar[f>>2]=r+(t<<2),(0|c)<=0||(hb(0|r,0|e,0|c),ar[o>>2]=r+(c>>>2<<2))}function Ar(A,e){e|=0;var r,i,f,n=0,t=0,o=0,a=0,c=0,l=0;r=(A|=0)+4|0,i=0|ar[A>>2],53687091<(n=(o=(0|(f=(0|ar[r>>2])-i|0))/80|0)+1|0)>>>0&&zl(),c=(a=((0|ar[(l=A+8|0)>>2])-i|0)/80|0)<<1,n=a>>>0<26843545?c>>>0<n>>>0?n:c:53687091;do{if(n){if(!(53687091<n>>>0)){t=0|hu(80*n|0);break}Zu(l=0|X(8),44519),ar[l>>2]=17660,I(0|l,4016,428)}else t=0}while(0);for(a=t+(80*n|0)|0,n=e,t=(o=c=t+(80*o|0)|0)+80|0;ar[o>>2]=ar[n>>2],n=n+4|0,(0|(o=o+4|0))<(0|t););n=c+(80*((0|f)/-80|0)|0)|0,0<(0|f)&&hb(0|n,0|i,0|f),ar[A>>2]=n,ar[r>>2]=c+80,ar[l>>2]=a,i&&vu(i)}function er(A,e,r){A|=0,e|=0,r|=0;var i=0,f=0;A:do{if(r){f=0|ar[(i=A+164|0)>>2];do{if(0<(0|f)){for(r=0;;){if((0|ar[A+84+(r<<2)>>2])==(0|e)){r=10;break}if((0|f)<=(0|(r=r+1|0))){r=5;break}}if(5==(0|r)){if((0|f)<20)break;break A}if(10==(0|r))return}}while(0);ar[i>>2]=f+1,ar[A+84+(f<<2)>>2]=e}}while(0);20==(0|(r=0|ar[(i=A+80|0)>>2]))?(e=1001,r=19):ar[i>>2]=r+1,ar[A+(r<<2)>>2]=e}function rr(A,e,r,i){A|=0,e|=0,r|=0,i|=0;var f,n,t,o,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0;if(ur=(t=ur)+16|0,f=t+4|0,b=t+8|0,n=t,s=0|hu(1356),o=s,ar[776+(o|=0)>>2]=0,ar[o+780>>2]=0,ar[o+784>>2]=0,st(o+1332|0),ar[o+1344>>2]=0,ar[o+1348>>2]=0,ar[o+1352>>2]=0,La(o),l=0|function(A,e,r,i){A|=0,e|=0,r|=0;var f,n,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0;tr[(i|=0)>>0]=0,La(A),tr[(l=A+12|0)>>0]=0,w=255&(0|At(e,1)),tr[(c=A+4|0)>>0]=w,0|tr[r+377214>>0]&&(w=255&(0|At(e,1)),tr[A+5>>0]=w);if(w=0|it(e),64<(0|(ar[A+8>>2]=w))|-99999==(0|w))return er(r+4|0,1009,0),(i=0)|i;if(!(0|tr[r+93784+(4400*w|0)>>0]))return er(r+4|0,1009,0),(i=0)|i;if(n=0|tr[r+93784+(4400*w|0)+2>>0],!(0|tr[(u=r+11096+(5168*n|0)|0)>>0]))return er(r+4|0,1010,0),tr[i>>0]=0,(i=0)|i;if(0|tr[c>>0])o=t=0,h=23;else{for(t=0|tr[r+93784+(4400*w|0)+3>>0]?255&(0|At(e,1)):0,tr[l>>0]=t,o=0|ar[r+11096+(5168*n|0)+5072>>2],t=0;(1<<t|0)<(0|o);)t=t+1|0;if(t=0|At(e,t),0|tr[l>>0]){if(!t)return tr[i>>0]=0,er(r+4|0,1021,0),(i=0)|i;if(!(o=0|ar[r+376228>>2]))return 0|(i=16);hb(0|A,0|o,776),(a=(0|o)==(0|A))||$e(A+776|0,0|ar[o+776>>2],0|ar[o+780>>2]),hb(A+788|0,o+788|0,544),gt(A+1332|0,o+1332|0),tr[A+1340>>0]=0|tr[o+1340>>0],a||$e(A+1344|0,0|ar[o+1344>>2],0|ar[o+1348>>2]),tr[c>>0]=0,o=1,h=23}else o=0}23==(0|h)&&(tr[l>>0]=o);if(0<=(0|(ar[(f=A+16|0)>>2]=t))&&(0|t)<(0|ar[r+11096+(5168*n|0)+5072>>2])){if(!(o<<24>>24)){if(0<(0|tr[(o=r+93784+(4400*w|0)+4132|0)>>0]))for(t=0;et(e,1),(0|(t=t+1|0))<(0|tr[o>>0]););if(s=0|it(e),2<(0|(ar[(d=A+20|0)>>2]=s))|-99999==(0|s))return er(r+4|0,1007,0),tr[i>>0]=0,(i=0)|i;if(t=0|tr[r+93784+(4400*w|0)+31>>0]?255&(0|At(e,1)):1,tr[A+24>>0]=t,1==(0|tr[r+11096+(5168*n|0)+480>>0])&&(s=255&(0|At(e,2)),tr[A+25>>0]=s),ar[(t=A+28|0)>>2]=0,(((tr[(o=A+32|0)>>0]=0)|tr[r+377212>>0])-19&255)<2)ar[t>>2]=0,ar[A+140>>2]=0,ar[A+144>>2]=0,t=0;else{b=0|At(e,0|ar[(s=r+11096+(5168*n|0)+520|0)>>2]),ar[t>>2]=b,b=255&(0|At(e,1)),tr[o>>0]=b;do{if(b<<24>>24){for(a=r+11096+(5168*n|0)+4720|0,t=0|ar[(u=r+11096+(5168*n|0)+4724|0)>>2],c=0|ar[a>>2],l=(t-c|0)/100|0,o=0;(1<<o|0)<(0|l);)o=o+1|0;if(0<(0|o)?(c=0|At(e,o),o=0|ar[a>>2],t=0|ar[u>>2]):(o=c,c=0),(0|(ar[A+136>>2]=c))<((t-o|0)/100|0)){for(ar[A+808>>2]=c,t=o+(100*c|0)|0,o=(a=A+812|0)+100|0;or[a>>1]=0|or[t>>1],t=t+2|0,(0|(a=a+2|0))<(0|o););break}return er(r+4|0,1015,0),0|(i=8)}for(a=r+11096+(5168*n|0)+4720|0,Zc(r+4|0,u,e,t=A+34|0,((0|ar[(o=r+11096+(5168*n|0)+4724|0)>>2])-(0|ar[a>>2])|0)/100|0,a,1),ar[A+808>>2]=((0|ar[o>>2])-(0|ar[a>>2])|0)/100|0,o=(a=A+812|0)+100|0;or[a>>1]=0|or[t>>1],t=t+2|0,(0|(a=a+2|0))<(0|o););}while(0);A:do{if(0|tr[r+11096+(5168*n|0)+4732>>0]){l=r+11096+(5168*n|0)+4736|0;do{if(0<(0|ar[l>>2])){if(b=0|it(e),-99999!=(0|(ar[A+140>>2]=b)))break;return 0|(t=8)}ar[A+140>>2]=0}while(0);if(t=0|it(e),-99999==(0|(ar[(u=A+144|0)>>2]=t)))return 0|(i=8);if(o=0|ar[(b=A+140|0)>>2],((t=o+t|0)+(0|cr[A+908>>0])+(0|cr[A+909>>0])|0)>(0|ar[r+11096+(5168*n|0)+528+((0|tr[r+11096+(5168*n|0)+2>>0])-1<<2)>>2]))return er(r+4|0,1018,0),tr[i>>0]=0,(i=0)|i;if(!(0<(0|t))){t=0;break}for(c=t=0;;){if((0|c)<(0|o)){for(a=0|ar[l>>2],o=0;(1<<o|0)<(0|a);)o=o+1|0;if(a=0|At(e,o),tr[(o=A+148+c|0)>>0]=a,(0|(a&=255))>=(0|ar[l>>2]))break;ar[r+376232+(c<<2)>>2]=ar[r+11096+(5168*n|0)+4740+(a<<2)>>2],o=(0|cr[o>>0])+(r+11096+(5168*n|0)+4868)|0}else v=0|At(e,0|ar[s>>2]),ar[(a=A+164+(c<<2)|0)>>2]=v,v=255&(0|At(e,1)),tr[(o=A+228+c|0)>>0]=v,ar[r+376232+(c<<2)>>2]=ar[a>>2];if(v=0|tr[o>>0],ar[r+376296+(c<<2)>>2]=v<<24>>24,t=(v<<24>>24!=0&1)+t|0,v=255&(0|At(e,1)),(tr[A+244+c>>0]=v)<<24>>24){if(o=0|it(e),-99999==(0|(ar[A+260+(c<<2)>>2]=o))){t=8,h=189;break}}else ar[A+260+(c<<2)>>2]=0,o=0;do{if(c){if((0|c)==(0|ar[b>>2]))break;o=(0|ar[r+376360+(c+-1<<2)>>2])+o|0}}while(0);if(ar[r+376360+(c<<2)>>2]=o,c=c+1|0,o=0|ar[b>>2],(0|c)>=((0|ar[u>>2])+o|0))break A}return 189==(0|h)?0|t:(er(r+4|0,1023,0),tr[i>>0]=0,(v=0)|v)}ar[A+140>>2]=0,ar[A+144>>2]=0,t=0}while(0);o=0|tr[r+11096+(5168*n|0)+4900>>0]?255&(0|At(e,1)):0,tr[A+324>>0]=o}o=0|tr[r+11096+(5168*n|0)+4703>>0]?(v=255&(0|At(e,1)),tr[A+325>>0]=v,0|ar[r+11096+(5168*n|0)+5012>>2]?255&(0|At(e,1)):0):tr[A+325>>0]=0,tr[(u=A+326|0)>>0]=o,ar[(c=A+328|0)>>2]=0,ar[(l=A+332|0)>>2]=0;do{if((0|ar[d>>2])>>>0<2){v=255&(0|At(e,1)),tr[A+327>>0]=v;do{if(v<<24>>24){if(o=0|it(e),-99999==(0|(ar[c>>2]=o)))return er(r+4|0,1007,0),0|(v=8);if(o=o+1|0,ar[c>>2]=o,0|ar[d>>2])break;if(a=0|it(e),-99999==(0|(ar[l>>2]=a)))return er(r+4|0,1007,0),0|(v=8);o=0|ar[c>>2],a=a+1|0,h=86;break}o=0|tr[r+93784+(4400*w|0)+6>>0],ar[c>>2]=o,a=0|tr[r+93784+(4400*w|0)+7>>0],h=86}while(0);if(86==(0|h)&&(ar[l>>2]=a),16<(0|o))return 0|(v=8);if(16<(0|ar[l>>2]))return 0|(v=8);t=(0|cr[A+911>>0])+t|0,ar[A+912>>2]=t;do{if(1<(0|t)&&0!=(0|tr[r+93784+(4400*w|0)+4125>>0])){for(o=0;(1<<o|0)<(0|t);)o=o+1|0;v=255&(0|At(e,1)),tr[A+336>>0]=v;do{if(v<<24>>24){if(!(0<(0|ar[c>>2])))break;for(t=0;v=255&(0|At(e,o)),tr[A+338+t>>0]=v,(0|(t=t+1|0))<(0|ar[c>>2]););}}while(0);if(0|ar[d>>2]){tr[A+337>>0]=0;break}if(v=255&(0|At(e,1)),!((tr[A+337>>0]=v)<<24>>24))break;if(!(0<(0|ar[l>>2])))break;for(t=0;v=255&(0|At(e,o)),tr[A+354+t>>0]=v,(0|(t=t+1|0))<(0|ar[l>>2]););}else tr[A+336>>0]=0,tr[A+337>>0]=0}while(0);0|ar[d>>2]||(v=255&(0|At(e,1)),tr[A+370>>0]=v),t=0|tr[r+93784+(4400*w|0)+5>>0]?255&(0|At(e,1)):0,tr[A+371>>0]=t;do{if(0|tr[A+324>>0]){do{if(0|ar[d>>2])tr[(o=A+372|0)>>0]=1,t=1,h=108;else{if(t=255&(0|At(e,1)),(tr[(o=A+372|0)>>0]=t)<<24>>24){h=108;break}h=1<(0|ar[l>>2])?110:(t=0,113)}}while(0);108==(0|h)&&(h=1<(0|ar[c>>2])?110:113);do{if(110==(0|h)){if(a=0|it(e),-99999==(0|(ar[A+376>>2]=a)))return er(r+4|0,1007,0),0|(v=8);t=0|tr[o>>0];break}113==(0|h)&&(ar[A+376>>2]=0,a=0)}while(0);if(t<<24>>24){if((0|a)<(0|ar[c>>2]))break}else if((0|a)<(0|ar[l>>2]))break;return er(r+4|0,8,0),0|(v=8)}}while(0);h=0!=(0|tr[r+93784+(4400*w|0)+29>>0])&&1==(0|ar[d>>2])?122:120;do{if(120==(0|h)){if(!(0|tr[r+93784+(4400*w|0)+30>>0]))break;0|ar[d>>2]||(h=122)}}while(0);do{if(122==(0|h)){if(0|Pa(e,A,r))break;return er(r+4|0,8,0),0|(v=8)}}while(0);if(t=0|it(e),-99999==(0|(ar[A+736>>2]=t)))return er(r+4|0,1007,0),0|(v=8);ar[A+804>>2]=5-t;break}}while(0);if(v=0|ft(e),-99999==(0|(ar[A+740>>2]=v)))return er(r+4|0,1007,0),0|(v=8);do{if(0|tr[r+93784+(4400*w|0)+28>>0]){if(v=0|ft(e),-99999==(0|(ar[A+744>>2]=v)))return er(r+4|0,1007,0),0|(v=8);if(v=0|ft(e),-99999!=(0|(ar[A+748>>2]=v)))break;return er(r+4|0,1007,0),0|(v=8)}ar[A+744>>2]=0,ar[A+748>>2]=0}while(0);0|tr[r+93784+(4400*w|0)+4140>>0]&&(v=255&(0|At(e,1)),tr[A+752>>0]=v),t=0|tr[r+93784+(4400*w|0)+48>>0]?255&(0|At(e,1)):0,tr[A+753>>0]=t,ar[(o=A+756|0)>>2]=ar[r+93784+(4400*w|0)+52>>2],ar[(a=A+760|0)>>2]=ar[r+93784+(4400*w|0)+56>>2];do{if(t<<24>>24){if(v=255&(0|At(e,1)),(tr[A+754>>0]=v)<<24>>24)break;if(t=0|ft(e),-99999==(0|(ar[o>>2]=t)))return er(r+4|0,1007,0),0|(v=8);if(ar[o>>2]=t<<1,t=0|ft(e),-99999==(0|(ar[a>>2]=t)))return er(r+4|0,1007,0),0|(v=8);ar[a>>2]=t<<1;break}tr[A+754>>0]=0|tr[r+93784+(4400*w|0)+49>>0]}while(0);t=0|tr[r+93784+(4400*w|0)+46>>0];A:do{if(t<<24>>24){do{if(!(0|tr[A+325>>0])){if(0|tr[u>>0])break;if(0|tr[A+754>>0])break A}}while(0);t=255&(0|At(e,1))}else t=0}while(0);tr[A+764>>0]=t}0==(0|tr[(o=r+93784+(4400*w|0)+34|0)>>0])&&0==(0|tr[r+93784+(4400*w|0)+33>>0])?ar[A+768>>2]=0:h=155;A:do{if(155==(0|h)){if(t=0|it(e),-99999==(0|(ar[(b=A+768|0)>>2]=t)))return er(r+4|0,1007,0),0|(v=8);if(0|tr[r+93784+(4400*w|0)+33>>0]&&(((0|ar[f>>2])/(0|ar[r+11096+(5168*n|0)+5056>>2])|0)+t|0)>=(0|ar[r+11096+(5168*n|0)+5064>>2]))return er(r+4|0,1007,0),0|(v=8);if(0|tr[o>>0]&&(0|t)>(0|br(0|ar[r+93784+(4400*w|0)+40>>2],0|ar[r+93784+(4400*w|0)+36>>2])))return er(r+4|0,1007,0),0|(v=8);if(u=A+776|0,l=0|ar[(o=A+780|0)>>2],c=0|ar[u>>2],t>>>0<=(a=l-c>>2)>>>0?t>>>0<a>>>0&&(0|l)!=(0|(k=c+(t<<2)|0))&&(ar[o>>2]=l+(~((l+-4-k|0)>>>2)<<2)):(Va(u,t-a|0),t=0|ar[b>>2]),0<(0|t)){if(t=0|it(e),-99999==(0|(ar[(l=A+772|0)>>2]=t)))return er(r+4|0,1007,0),0|(v=8);if(o=t+1|0,ar[l>>2]=o,31<(0|t))return 0|(v=8);if(0<(0|ar[b>>2]))for(t=0;;){if(o=1+(0|At(e,o))|0,a=0|ar[u>>2],ar[(c=a+(t<<2)|0)>>2]=o,0<(0|t)&&(ar[c>>2]=o+(0|ar[a+(t+-1<<2)>>2])),(0|(t=t+1|0))>=(0|ar[b>>2]))break A;o=0|ar[l>>2]}}}}while(0);do{if(0|tr[r+93784+(4400*w|0)+4133>>0]){if(t=0|it(e),-99999==(0|(ar[(o=A+788|0)>>2]=t))|1e3<(0|t))return er(r+4|0,1007,0),0|(v=8);if(!(0<(0|t)))break;for(t=0;At(e,8),(0|(t=t+1|0))<(0|ar[o>>2]););}}while(0);switch(ar[A+792>>2]=(0|ar[A+740>>2])+(0|ar[r+93784+(4400*w|0)+8>>2]),0|ar[A+20>>2]){case 2:t=0,h=187;break;case 1:t=1+(0|tr[A+371>>0])|0,h=187;break;case 0:t=2-(0|tr[A+371>>0])|0,h=187}return 187==(0|h)&&(ar[A+796>>2]=t),ar[A+804>>2]=5-(0|ar[A+736>>2]),tr[i>>0]=1,(v=0)|v}return er(r+4|0,1020,0),0|(v=8)}(s,e,A,b),ar[n>>2]=l,!(0|tr[b>>0]))return 0|(a=0|ar[A+376224>>2])&&(tr[a+10516>>0]=2),Ba(A+548|0,r),0|(a=0|ar[s+1344>>2])&&((0|(c=0|ar[(i=s+1348|0)>>2]))!=(0|a)&&(ar[i>>2]=c+(~((c+-4-a|0)>>>2)<<2)),vu(a)),kt(s+1332|0),0|(a=0|ar[s+776>>2])&&((0|(c=0|ar[(i=s+780|0)>>2]))!=(0|a)&&(ar[i>>2]=c+(~((c+-4-a|0)>>>2)<<2)),vu(a)),vu(s),ur=t,0|(s=l);if(-1<(0|(a=0|ar[A+528>>2]))&&function(A,e,r){A|=0,e|=0;var i,f,n,t,o,a,c,l,u,b,s,d,k,h,w,v,m,g,Z,p,y,B,E,X,W,I,C,G,V,F,R,N,_,Y,Q,D,J=0,M=0,T=0,U=0,S=0,O=0,z=0,j=0,H=0,x=0,P=0,L=0,K=0,q=0,$=0,AA=0,eA=0,rA=0,iA=0;switch(ur=(D=ur)+448|0,Q=D+432|0,iA=D+424|0,Y=D+416|0,N=D+408|0,R=D+400|0,F=D+392|0,V=D+384|0,rA=D+376|0,I=D+368|0,W=D+360|0,X=D+352|0,E=D+344|0,B=D+328|0,y=D+312|0,p=D+296|0,Z=D+280|0,G=D+264|0,C=D+248|0,eA=D+240|0,m=D+232|0,v=D+224|0,w=D+216|0,h=D+208|0,k=D+200|0,d=D+192|0,$=D+184|0,q=D+176|0,K=D+168|0,L=D+160|0,P=D+152|0,x=D+144|0,b=D+136|0,u=D+128|0,l=D+120|0,c=D+112|0,a=D+104|0,o=D+96|0,H=D+88|0,t=D+80|0,j=D+72|0,n=D+64|0,f=D+56|0,i=D+48|0,U=D+40|0,z=D+32|0,O=D+24|0,S=D+16|0,T=D+8|0,J=D,0|(r|=0)){case 1:r=10172;break;case 2:r=10676;break;default:return ur=D}_=0|ar[r>>2],g=0|ar[(M=A+8|0)>>2],0|tr[e+93784+(4400*g|0)>>0]||sr(39698,39242,1278,39712);s=0|tr[e+93784+(4400*g|0)+2>>0],0|tr[e+11096+(5168*s|0)>>0]||sr(39738,39242,1281,39712);Pn(_,39752,J),r=A+4|0,ar[T>>2]=tr[r>>0],Pn(_,39795,T),(-8&tr[(J=e+377212|0)>>0])<<24>>24==16&&(ar[S>>2]=tr[A+5>>0],Pn(_,39838,S));ar[O>>2]=ar[M>>2],Pn(_,39881,O),0|tr[r>>0]||(ar[z>>2]=tr[A+12>>0],Pn(_,39924,z),ar[U>>2]=ar[A+16>>2],Pn(_,39967,U));z=0|ar[(O=A+20|0)>>2],ar[i>>2]=0==(0|z)?66:1==(0|z)?80:73,Pn(_,40010,i),0|tr[e+93784+(4400*g|0)+31>>0]&&(ar[f>>2]=tr[A+24>>0],Pn(_,40053,f));1==(0|tr[e+11096+(5168*s|0)+480>>0])&&(ar[n>>2]=tr[A+25>>0],Pn(_,40096,n));ar[j>>2]=ar[A+28>>2],Pn(_,40139,j),2<=((0|tr[J>>0])-19&255)&&(j=A+32|0,ar[t>>2]=tr[j>>0],Pn(_,40182,t),r=e+11096+(5168*s|0)+4720|0,J=(0|ar[e+11096+(5168*s|0)+4724>>2])-(0|ar[r>>2])|0,0|tr[j>>0]?100<(0|J)&&(H=A+136|0,ar[o>>2]=ar[H>>2],Pn(_,40225,o),pc((0|ar[r>>2])+(100*(0|ar[H>>2])|0)|0,16,_)):(ar[H>>2]=(0|J)/100|0,Pn(_,43367,H),pc(A+34|0,16,_)),0|tr[e+11096+(5168*s|0)+4732>>0]&&(0<(0|ar[e+11096+(5168*s|0)+4736>>2])&&(ar[a>>2]=ar[A+140>>2],Pn(_,40268,a)),ar[c>>2]=ar[A+144>>2],Pn(_,40315,c)),0|tr[e+11096+(5168*s|0)+4900>>0]&&(ar[l>>2]=tr[A+324>>0],Pn(_,40362,l)));0|tr[e+11096+(5168*s|0)+4703>>0]&&(ar[u>>2]=tr[A+325>>0],Pn(_,40400,u),ar[b>>2]=tr[A+326>>0],Pn(_,40438,b));if((0|ar[O>>2])>>>0<2){if(r=A+327|0,ar[x>>2]=tr[r>>0],Pn(_,40476,x),S=A+328|0,x=0|tr[r>>0]?79659:40515,ar[P>>2]=ar[S>>2],ar[P+4>>2]=x,Pn(_,40526,P),0|ar[O>>2]||(P=0|tr[r>>0]?79659:40515,ar[L>>2]=ar[A+332>>2],ar[L+4>>2]=P,Pn(_,40566,L)),0|tr[e+93784+(4400*g|0)+4125>>0]&&1<(0|ar[A+912>>2])){if(L=A+336|0,ar[K>>2]=tr[L>>0],Pn(_,40606,K),0|tr[L>>0]&&0<(0|ar[S>>2]))for(r=0;K=0|cr[A+338+r>>0],ar[q>>2]=r,ar[q+4>>2]=K,Pn(_,40646,q),(0|(r=r+1|0))<(0|ar[S>>2]););if(q=A+337|0,ar[$>>2]=tr[q>>0],Pn(_,40656,$),0|tr[q>>0]&&0<(0|ar[(AA=A+332|0)>>2]))for(r=0;$=0|cr[A+354+r>>0],ar[d>>2]=r,ar[4+d>>2]=$,Pn(_,40646,d),(0|(r=r+1|0))<(0|ar[AA>>2]););}0|ar[O>>2]||(ar[k>>2]=tr[A+370>>0],Pn(_,40696,k)),ar[h>>2]=tr[A+371>>0],Pn(_,40733,h),0|tr[A+324>>0]&&(ar[w>>2]=tr[A+372>>0],Pn(_,40770,w),ar[v>>2]=ar[A+376>>2],Pn(_,40807,v)),45==(0|(U=0!=(0|tr[e+93784+(4400*g|0)+29>>0])&&1==(0|ar[O>>2])?47:45))&&0|tr[e+93784+(4400*g|0)+30>>0]&&0==(0|ar[O>>2])&&(U=47);A:do{if(47==(0|U)){ar[m>>2]=cr[A+380>>0],Pn(_,40844,m),0|ar[e+11096+(5168*s|0)+476>>2]&&(ar[eA>>2]=cr[A+381>>0],Pn(_,40881,eA)),T=A+332|0,M=0;do{r=0==(0|M);do{if(r)U=53;else{if(1!=(0|M))break;if(0|ar[O>>2])break A;U=53}}while(0);do{if(53==(0|U)){if(!((U=0)<(0|(J=0|ar[(r?S:T)>>2]))))break;for(r=0;eA=0|or[A+446+(M<<5)+(r<<1)>>1],ar[C>>2]=M,ar[4+C>>2]=r,ar[8+C>>2]=eA,Pn(_,40918,C),eA=0|tr[A+510+(M<<4)+r>>0],ar[G>>2]=M,ar[4+G>>2]=r,ar[8+G>>2]=eA,Pn(_,40955,G),eA=0|or[A+542+(M<<6)+(r<<2)>>1],ar[Z>>2]=M,ar[4+Z>>2]=r,ar[8+Z>>2]=0,ar[12+Z>>2]=eA,Pn(_,40992,Z),eA=0|tr[A+670+(M<<5)+(r<<1)>>0],ar[p>>2]=M,ar[4+p>>2]=r,ar[8+p>>2]=0,ar[12+p>>2]=eA,Pn(_,41030,p),eA=0|or[A+542+(M<<6)+(r<<2)+2>>1],ar[y>>2]=M,ar[4+y>>2]=r,ar[8+y>>2]=1,ar[12+y>>2]=eA,Pn(_,40992,y),eA=0|tr[A+670+(M<<5)+(r<<1)+1>>0],ar[B>>2]=M,ar[4+B>>2]=r,ar[8+B>>2]=1,ar[12+B>>2]=eA,Pn(_,41030,B),(0|(r=r+1|0))!=(0|J););}}while(0);M=M+1|0}while(2!=(0|M))}}while(0);ar[E>>2]=ar[A+736>>2],Pn(_,41068,E)}ar[X>>2]=ar[A+740>>2],Pn(_,41105,X),0|tr[e+93784+(4400*g|0)+28>>0]&&(ar[W>>2]=ar[A+744>>2],Pn(_,41134,W),ar[I>>2]=ar[A+748>>2],Pn(_,41163,I));J=A+753|0,0|tr[e+93784+(4400*g|0)+48>>0]&&(ar[rA>>2]=tr[J>>0],Pn(_,41192,rA));r=A+754|0,rA=0|tr[J>>0]?41230:41241,ar[V>>2]=tr[r>>0],ar[4+V>>2]=rA,Pn(_,41252,V),0|tr[J>>0]&&0==(0|tr[r>>0])&&(ar[F>>2]=ar[A+756>>2],Pn(_,41299,F),ar[R>>2]=ar[A+760>>2],Pn(_,41324,R));do{if(0|tr[e+93784+(4400*g|0)+46>>0]){if(0==(0|tr[A+325>>0])&&0==(0|tr[A+326>>0])&&0|tr[r>>0])break;ar[N>>2]=tr[A+764>>0],Pn(_,41349,N)}}while(0);if(0==(0|tr[e+93784+(4400*g|0)+34>>0])&&0==(0|tr[e+93784+(4400*g|0)+33>>0]))return ur=D;if(M=A+768|0,ar[Y>>2]=ar[M>>2],Pn(_,41400,Y),(0|ar[M>>2])<=0)return ur=D;if(ar[iA>>2]=ar[A+772>>2],Pn(_,41433,iA),(0|ar[M>>2])<=0)return ur=D;J=A+776|0,r=0;for(;iA=0|ar[(0|ar[J>>2])+(r<<2)>>2],ar[Q>>2]=r,ar[4+Q>>2]=iA,Pn(_,41466,Q),r=r+1|0,(0|r)<(0|ar[M>>2]););ur=D}(s,A,a),u=0|function(A,e,r,i,f,n,t,o){A|=0,e|=0,r|=0,f|=0,n|=0,t|=0,o|=0;var a,c,l=0,u=0,b=0,s=0,d=0;ur=(c=ur)+16|0,l=c,ar[(i|=0)>>2]=0,tr[A+377228>>0]=0,u=0|ar[r+8>>2],0|tr[(b=e+93784+(4400*u|0)|0)>>0]||(ar[l>>2]=u,function(A,e,r){A|=0,e|=0,r|=0;var i,f,n;if(ur=(n=ur)+16|0,i=n,!(-9999<=(0|ar[14391])&!0))return ur=n;f=42==(0|tr[e>>0]),A=0|ar[2543],f||Ui(44499,5,1,A);ar[i>>2]=r,Qc(A,e+(1&f)|0,i),Oi(A),ur=n}(1,34889,l),sr(55739,34700,1987,34915));if(ar[(s=e+375392|0)>>2]=b,d=0|tr[e+93784+(4400*u|0)+2>>0],ar[(l=e+375388|0)>>2]=e+11096+(5168*d|0),ar[(a=e+375384|0)>>2]=e+600+(656*(0|tr[e+11096+(5168*d|0)+1>>0])|0),function(A){var e=0,r=0,i=0,f=0,n=0,t=0,o=0,a=0,c=0;r=0|ar[375388+(A|=0)>>2],e=(i=0==(0|r))?(e=0|ar[A+375384>>2])?(0|ar[e+8>>2])-1|0:6:(0|tr[r+2>>0])-1|0;do{if((0|tr[A+376116>>0])!=(0|e)){if(i?(e=0|ar[A+375384>>2])?(e=0|ar[e+8>>2],f=10):e=6:(e=0|tr[r+2>>0],f=10),10==(0|f)){if(!(0<(0|e)))break;e=e+-1|0}for(t=e+1|0,o=A+375896|0;;){if((0|(i=(0|(n=100*e|0))/(0|t)|0))<=(0|(n=(n+100|0)/(0|t)|0)))for(f=n-i|0,r=i;c=0|ar[o>>2],e=(a=(0|c)<(0|e))?c:e,tr[A+375916+(r<<1)>>0]=e,tr[A+375916+(r<<1)+1>>0]=a?100:255&((100*(r-i|0)|0)/(0|f)|0),(0|r)<(0|n);)r=r+1|0;if(ar[A+376120+(e<<2)>>2]=n,!(0<(0|e)))break;e=e+-1|0}}}while(0);a=0|ar[A+375900>>2],c=0|tr[A+375916+(a<<1)>>0],ar[A+375904>>2]=c,ar[A+375908>>2]=tr[A+375916+(a<<1)+1>>0],ar[A+375912>>2]=c}(A),0|tr[(d=r+4|0)>>0]){if(ar[e+376204>>2]=ar[r+28>>2],l=0|ar[l>>2],u=0|tr[l+4703>>0]?0!=(0|tr[e+533>>0]):1,-1==(0|(u=0|ia(e+376148|0,l,A,f,n,o,u))))return ar[i>>2]=9,ur=c,(r=0)|r;l=0|ar[e+376156>>2],u=(0|ar[e+376160>>2])-l>>2>>>0>u>>>0?0|ar[l+(u<<2)>>2]:0,tr[(b=u+10518|0)>>0]=0|tr[t>>0],tr[b+1>>0]=0|tr[t+1>>0],tr[b+2>>0]=0|tr[t+2>>0],ar[(b=e+376224|0)>>2]=u,l=0|ar[a>>2],hb(0|(t=u+108|0),0|l,592),(0|t)==(0|l)?(i=l+604|0,ar[(t=u+712|0)>>2]=ar[i>>2],ar[t+4>>2]=ar[i+4>>2],ar[t+8>>2]=ar[i+8>>2],ar[t+12>>2]=ar[i+12>>2],ar[t+16>>2]=ar[i+16>>2],ar[t+20>>2]=ar[i+20>>2]):(je(u+700|0,0|ar[l+592>>2],0|ar[l+596>>2]),i=l+604|0,ar[(t=u+712|0)>>2]=ar[i>>2],ar[t+4>>2]=ar[i+4>>2],ar[t+8>>2]=ar[i+8>>2],ar[t+12>>2]=ar[i+12>>2],ar[t+16>>2]=ar[i+16>>2],ar[t+20>>2]=ar[i+20>>2],He(u+736|0,0|ar[l+628>>2],0|ar[l+632>>2]),xe(u+748|0,0|ar[l+640>>2],0|ar[l+644>>2])),tr[u+760>>0]=0|tr[l+652>>0],l=0|ar[s>>2],hb(0|(s=u+5932|0),0|l,4340),(0|s)!=(0|l)&&($e(u+10272|0,0|ar[l+4340>>2],0|ar[l+4344>>2]),$e(u+10284|0,0|ar[l+4352>>2],0|ar[l+4356>>2]),$e(u+10296|0,0|ar[l+4364>>2],0|ar[l+4368>>2]),$e(u+10308|0,0|ar[l+4376>>2],0|ar[l+4380>>2]),$e(u+10320|0,0|ar[l+4388>>2],0|ar[l+4392>>2])),ar[u+10332>>2]=e,function(A){var e,r=0;0|(r=0|ar[10360+(A|=0)>>2])&&vb(0|r,0,3*(0|ar[A+10364>>2])|0);0|(r=0|ar[A+10340>>2])&&vb(0|r,0,24*(0|ar[A+10344>>2])|0);0|(r=0|ar[A+10460>>2])&&vb(0|r,0,0|ar[A+10464>>2]);if((0|(e=0|ar[A+10344>>2]))<=0)return;A=0|ar[A+10524>>2],r=0;for(;ar[A+(80*r|0)>>2]=0,r=r+1|0,(0|r)<(0|e););}(u),l=e+377212|0;do{if(0|ma(0|tr[l>>0])){if(!(0|ha(0|tr[l>>0])||0|wa(0|tr[l>>0])||0!=(0|tr[e+376208>>0]))&&0==(0|tr[e+376211>>0])){tr[e+376209>>0]=0,tr[e+376210>>0]=0;break}tr[e+376209>>0]=1,tr[e+376211>>0]=0}}while(0);0|va(0|tr[l>>0])&&0!=(0|tr[e+376209>>0])?tr[100+(0|ar[b>>2])>>0]=0:tr[100+(0|ar[b>>2])>>0]=0!=(0|tr[r+24>>0])&1,function(A,e,r){A|=0,r|=0;var i,f=0,n=0,t=0;0|ma(0|tr[(i=377212+(e|=0)|0)>>0])&&0!=(0|tr[e+376209>>0])?(ar[(n=e+376212|0)>>2]=0,tr[A+377228>>0]=1,A=r+28|0,A=(r=0)|ar[(f=A)>>2]):(n=0|ar[5032+(0|ar[e+375388>>2])>>2],A=0|ar[(t=r+28|0)>>2],f=0|ar[e+376216>>2],r=0|ar[e+376220>>2],(0|A)<(0|f)&&((0|n)/2|0)<=(f-A|0)?r=r+n|0:(0|f)<(0|A)&&(r=r-(((0|n)/2|0)<(A-f|0)?n:0)|0),ar[(n=e+376212|0)>>2]=r,f=t);if(t=0|ar[e+376224>>2],ar[t+92>>2]=A+r,ar[t+88>>2]=A,0|tr[t+10520>>0])return;if(0|function(A){return(255&(A|=0))<15?0==(1&A)|0:0}(0|tr[i>>0]))return;if(0|va(0|tr[i>>0]))return;if(0|function(A){return(1|(A|=0))<<24>>24==7|0}(0|tr[i>>0]))return;ar[e+376216>>2]=ar[f>>2],ar[e+376220>>2]=ar[n>>2]}(A,e,r),l=u+96|0,0|tr[d>>0]&&(ar[l>>2]=1,function(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o,a,c,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0;if(ur=(c=ur)+32|0,t=c+4|0,ar[(o=(f=c)+16|0)>>2]=0,ar[(a=4+o|0)>>2]=0,ar[8+o>>2]=0,i=0|ar[ar[(n=e+376224|0)>>2]>>2],0|ma(0|tr[(h=e+377212|0)>>0])&&0|tr[e+376209>>0]&&(u=0|ar[n>>2],w=0|ar[u+92>>2],v=A+376156|0,b=0|ar[(m=A+376160|0)>>2],l=0|ar[v>>2],0<(b-l|0)))for(g=e+376156|0,Z=e+376160|0,p=8+o|0,k=0,d=b;b=0|ar[g>>2],b=(0|ar[Z>>2])-b>>2>>>0>k>>>0?0|ar[b+(k<<2)>>2]:0,0!=(0|ar[b+96>>2])&&(0|ar[b+92>>2])<(0|w)&&(0|ar[(y=b+104|0)>>2])>>>0>(0|ar[u>>2])>>>0?(b=0|ar[b>>2],ar[t>>2]=b,(s=0|ar[a>>2])>>>0<(0|ar[p>>2])>>>0?(ar[s>>2]=b,ar[a>>2]=s+4,b=d):(Mo(o,t),b=0|ar[m>>2],l=0|ar[v>>2],u=0|ar[n>>2]),ar[y>>2]=ar[u>>2]):b=d,!((b-l>>2|0)<=(0|(k=k+1|0)));)d=b;if(0|ha(0|tr[h>>0]))ar[e+376552>>2]=0,ar[e+376556>>2]=0,ar[e+376560>>2]=0,u=l=0;else{if((l=0|tr[r+908>>0])<<24>>24)for(k=255&l,d=s=b=0;y=0==(0|tr[r+876+b>>0]),l=(1&y)+d|0,u=(1&(1^y))+s|0,ar[(y?e+376700+(d<<2)|0:e+376572+(s<<2)|0)>>2]=(0|or[r+812+(b<<1)>>1])+(0|ar[92+(0|ar[n>>2])>>2]),!((0|k)<=(0|(b=b+1|0)));)s=u,d=l;else l=u=0;if(ar[e+376552>>2]=u,(u=0|tr[r+909>>0])<<24>>24)for(k=255&u,s=b=0;;){if(y=0==(0|tr[r+892+b>>0]),d=(1&y)+l|0,u=(1&(1^y))+s|0,ar[(y?e+376700+(l<<2)|0:e+376636+(s<<2)|0)>>2]=(0|or[r+844+(b<<1)>>1])+(0|ar[92+(0|ar[n>>2])>>2]),(0|k)<=(0|(b=b+1|0))){l=d;break}s=u,l=d}else u=0;if(ar[e+376556>>2]=u,ar[e+376560>>2]=l,k=r+140|0,0<((0|ar[(h=r+144|0)>>2])+(0|ar[k>>2])|0))for(w=r+28|0,v=e+375388|0,u=l=d=0;b=0|ar[e+376232+(d<<2)>>2],0|tr[(s=r+244+d|0)>>0]&&(b=(0|ar[92+(0|ar[n>>2])>>2])+b-(0|ar[w>>2])-(0|br(0|ar[5032+(0|ar[v>>2])>>2],0|ar[e+376360+(d<<2)>>2]))|0),0|ar[e+376296+(d<<2)>>2]?(ar[e+376764+(l<<2)>>2]=b,ar[e+376424+(l<<2)>>2]=tr[s>>0],l=l+1|0):(ar[e+376828+(u<<2)>>2]=b,ar[e+376488+(u<<2)>>2]=tr[s>>0],u=u+1|0),(0|(d=d+1|0))<((0|ar[h>>2])+(0|ar[k>>2])|0););else u=l=0}ar[(v=e+376564|0)>>2]=l,ar[(w=e+376568|0)>>2]=u,m=A+376156|0,l=(0|ar[(g=A+376160|0)>>2])-(0|ar[m>>2])|0,u=l>>2,ar[t>>2]=0,ar[(b=4+t|0)>>2]=0,ar[(s=8+t|0)>>2]=0,0|u&&((0|l)<0&&zl(),p=0|hu((y=1+((u+-1|0)>>>5)|0)<<2),ar[t>>2]=p,ar[s>>2]=y,ar[b>>2]=u,vb(0|p,0,(y=u>>>5)<<2|0),l=u-(y<<5)|0,u=p+(y<<2)|0,0|l&&(ar[u>>2]=ar[u>>2]&~(-1>>>(32-l|0))));if(0<(0|(l=0|ar[v>>2])))for(d=e+376148|0,k=e+376156|0,h=e+375388|0,s=0;l=0|ar[(b=e+376764+(s<<2)|0)>>2],l=0|ar[e+376424+(s<<2)>>2]?0|Ko(d,l,i,1):0|qo(d,l,i,1),(0|(ar[(u=e+377084+(s<<2)|0)>>2]=l))<=-1&&(l=0|To(A,e,0|ar[h>>2],0|ar[b>>2],1),ar[u>>2]=l),y=(0|ar[t>>2])+(l>>>5<<2)|0,ar[y>>2]=ar[y>>2]|1<<(31&l),0|tr[10516+(0|ar[(0|ar[k>>2])+(l<<2)>>2])>>0]&&(tr[10516+(0|ar[n>>2])>>0]=4),s=s+1|0,l=0|ar[v>>2],(0|s)<(0|l););if(0<(0|(u=0|ar[w>>2]))){for(k=e+376148|0,h=e+375388|0,d=0;l=0|ar[(b=e+376828+(d<<2)|0)>>2],l=0|ar[e+376488+(d<<2)>>2]?0|Ko(k,l,i,1):0|qo(k,l,i,1),(0|(ar[(u=e+377148+(d<<2)|0)>>2]=l))<=-1&&(l=0|To(A,e,0|ar[h>>2],0|ar[b>>2],1),ar[u>>2]=l),s=(0|ar[t>>2])+(l>>>5<<2)|0,ar[s>>2]=ar[s>>2]|1<<(31&l),d=d+1|0,s=0|ar[w>>2],(0|d)<(0|s););l=0|ar[v>>2]}else s=u;if(0<(0|l))for(b=0|ar[e+376156>>2],u=0;ar[96+(0|ar[b+(ar[e+377084+(u<<2)>>2]<<2)>>2])>>2]=2,(0|(u=u+1|0))<(0|l););if(0<(0|s))for(u=0|ar[e+376156>>2],l=0;ar[96+(0|ar[u+(ar[e+377148+(l<<2)>>2]<<2)>>2])>>2]=2,(0|(l=l+1|0))<(0|s););if(0<(0|ar[(d=e+376552|0)>>2]))for(k=e+376148|0,h=e+376156|0,w=e+375388|0,s=0;l=0|Ko(k,0|ar[(u=e+376572+(s<<2)|0)>>2],i,0),(0|(ar[(b=e+376892+(s<<2)|0)>>2]=l))<=-1&&(l=0|To(A,e,0|ar[w>>2],0|ar[u>>2],0),ar[b>>2]=l),y=(0|ar[t>>2])+(l>>>5<<2)|0,ar[y>>2]=ar[y>>2]|1<<(31&l),0|tr[10516+(0|ar[(0|ar[h>>2])+(l<<2)>>2])>>0]&&(tr[10516+(0|ar[n>>2])>>0]=4),(0|(s=s+1|0))<(0|ar[d>>2]););if(0<(0|ar[(d=e+376556|0)>>2]))for(k=e+376148|0,h=e+376156|0,w=e+375388|0,s=0;l=0|Ko(k,0|ar[(u=e+376636+(s<<2)|0)>>2],i,0),(0|(ar[(b=e+376956+(s<<2)|0)>>2]=l))<=-1&&(l=0|To(A,e,0|ar[w>>2],0|ar[u>>2],0),ar[b>>2]=l),y=(0|ar[t>>2])+(l>>>5<<2)|0,ar[y>>2]=ar[y>>2]|1<<(31&l),0|tr[10516+(0|ar[(0|ar[h>>2])+(l<<2)>>2])>>0]&&(tr[10516+(0|ar[n>>2])>>0]=4),(0|(s=s+1|0))<(0|ar[d>>2]););if(0<(0|ar[(u=e+376560|0)>>2]))for(b=e+376148|0,l=0;s=0|Ko(b,0|ar[e+376700+(l<<2)>>2],i,0),-1<(0|(ar[e+377020+(l<<2)>>2]=s))&&(A=(0|ar[t>>2])+(s>>>5<<2)|0,ar[A>>2]=ar[A>>2]|1<<(31&s)),(0|(l=l+1|0))<(0|ar[u>>2]););if(u=0|ar[g>>2],l=0|ar[m>>2],0<(u-l|0))for(v=e+376156|0,h=e+376160|0,w=8+o|0,k=0,d=u;!(((u=ar[(0|ar[t>>2])+(k>>>5<<2)>>2]&1<<(31&k)?d:(u=0|ar[v>>2],b=(0|ar[h>>2])-u>>2>>>0>k>>>0?0|ar[u+(k<<2)>>2]:0,u=0|ar[n>>2],(0|b)!=(0|u)&&(0|ar[(B=b+104|0)>>2])>>>0>(0|ar[u>>2])>>>0&&0!=(0|ar[b+96>>2])?(b=0|ar[b>>2],ar[f>>2]=b,(s=0|ar[a>>2])>>>0<(0|ar[w>>2])>>>0?(ar[s>>2]=b,ar[a>>2]=s+4,b=d):(Mo(o,f),b=0|ar[g>>2],l=0|ar[m>>2],u=0|ar[n>>2]),ar[B>>2]=ar[u>>2],b):d))-l>>2|0)<=(0|(k=k+1|0)));)d=u;(0|(l=r+1344|0))!=(0|o)&&$e(l,0|ar[o>>2],0|ar[a>>2]);0|(l=0|ar[t>>2])&&vu(l);if(!(l=0|ar[o>>2]))return ur=c;(0|(u=0|ar[a>>2]))!=(0|l)&&(ar[a>>2]=u+(~((u+-4-l|0)>>>2)<<2));vu(l),ur=c}(A,e,r)),ar[l>>2]=1,function(A){A|=0,ar[14391]=A}(0|ar[92+(0|ar[b>>2])>>2]),tr[A+376208>>0]=0}else if(!(0|ar[e+376224>>2]))return ur=c,(r=0)|r;if((0|ar[r+20>>2])>>>0<2&&!(0|function(A,e,r){A|=0,e|=0;var i,f,n,t,o,a,c,l,u,b,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0;ur=(b=ur)+480|0,v=b+192|0,u=(l=b)+384|0,m=0|ar[912+(r|=0)>>2],h=0|ar[(i=r+328|0)>>2],k=(0|m)<(0|h)?h:m,s=96+(A=u)|0;for(;tr[A>>0]=0,A=A+1|0,(0|A)<(0|s););f=e+376552|0,n=e+376556|0,t=e+376564|0,o=e+376892|0,a=e+376956|0,c=e+377084|0,A=0;for(;!((0|k)<=(0|A));){if(0<(0|(d=0|ar[f>>2])))for(hb(v+(A<<2)|0,0|o,0|br((s=A-k|0)>>>0<(w=0-d|0)>>>0?w:s,-4)),s=0;(0|(A=A+1|0))<(0|k)&(0|(s=s+1|0))<(0|d););if(d=0|ar[n>>2],(0|A)<(0|k)&0<(0|d))for(hb(v+(A<<2)|0,0|a,0|br((s=A-k|0)>>>0<(w=0-(1<(0|d)?d:1)|0)>>>0?w:s,-4)),s=0;(0|(A=A+1|0))<(0|k)&(0|(s=s+1|0))<(0|d););if(d=0|ar[t>>2],(0|A)<(0|k)&0<(0|d))for(vb(u+A|0,1,0-(s=(s=A-k|0)>>>0<(w=0-(1<(0|d)?d:1)|0)>>>0?w:s)|0),hb(v+(A<<2)|0,0|c,0|br(s,-4)),s=0;(0|(A=A+1|0))<(0|k)&(0|(s=s+1|0))<(0|d););if(!A){Z=13;break}}if(13==(0|Z))return 20==(0|(A=0|ar[(s=e+84|0)>>2]))?(s=1001,A=19):(ar[s>>2]=A+1,s=1016),ar[e+4+(A<<2)>>2]=s,ur=b,(e=0)|e;17<=(0|h)&&sr(34944,34700,1781,34977);A:do{if(0<(0|h)){for(k=r+336|0,h=e+376156|0,w=e+376160|0,d=0;;){if(A=0|tr[k>>0]?0|cr[r+338+d>>0]:d,ar[(s=r+916+(d<<2)|0)>>2]=ar[v+(A<<2)>>2],tr[r+1300+d>>0]=0|tr[u+A>>0],A=0|ar[s>>2],s=0|ar[h>>2],(0|ar[w>>2])-s>>2>>>0<=A>>>0){A=0,Z=54;break}if(!(A=0|ar[s+(A<<2)>>2])){A=0,Z=54;break}if(ar[r+1044+(d<<2)>>2]=ar[A+92>>2],ar[r+1172+(d<<2)>>2]=ar[A+96>>2],d=d+1|0,(0|(A=0|ar[i>>2]))<=(0|d)){g=A;break A}}if(54==(0|Z))return ur=b,0|A}else g=h}while(0);if(0|ar[r+20>>2])return ur=b,0|(e=1);h=0|ar[(v=r+332|0)>>2],k=(0|m)<(0|h)?h:m,A=0;for(;!((0|k)<=(0|A));){if(0<(0|(d=0|ar[n>>2])))for(hb(l+(A<<2)|0,0|a,0|br((s=A-k|0)>>>0<(m=0-d|0)>>>0?m:s,-4)),s=0;(0|(A=A+1|0))<(0|k)&(0|(s=s+1|0))<(0|d););if(d=0|ar[f>>2],(0|A)<(0|k)&0<(0|d))for(hb(l+(A<<2)|0,0|o,0|br((s=A-k|0)>>>0<(m=0-(1<(0|d)?d:1)|0)>>>0?m:s,-4)),s=0;(0|(A=A+1|0))<(0|k)&(0|(s=s+1|0))<(0|d););if(d=0|ar[t>>2],(0|A)<(0|k)&0<(0|d))for(vb(48+u+A|0,1,0-(s=(s=A-k|0)>>>0<(m=0-(1<(0|d)?d:1)|0)>>>0?m:s)|0),hb(l+(A<<2)|0,0|c,0|br(s,-4)),s=0;(0|(A=A+1|0))<(0|k)&(0|(s=s+1|0))<(0|d););if(!A){Z=38;break}}if(38==(0|Z))return 20==(0|(A=0|ar[(s=e+84|0)>>2]))?(s=1001,A=19):(ar[s>>2]=A+1,s=1016),ar[e+4+(A<<2)>>2]=s,ur=b,(e=0)|e;if(16<(0|g))return 20==(0|(A=0|ar[(s=e+84|0)>>2]))?(s=1001,A=19):(ar[s>>2]=A+1,s=1012),ar[e+4+(A<<2)>>2]=s,ur=b,(e=0)|e;17<=(0|h)&&sr(35011,34700,1834,34977);if((0|h)<=0)return ur=b,0|(e=1);h=r+337|0,w=e+376156|0,k=e+376160|0,d=0;for(;;){if(A=0|tr[h>>0]?0|cr[r+354+d>>0]:d,ar[(s=r+980+(d<<2)|0)>>2]=ar[l+(A<<2)>>2],tr[r+1316+d>>0]=0|tr[48+u+A>>0],A=0|ar[s>>2],s=0|ar[w>>2],(0|ar[k>>2])-s>>2>>>0<=A>>>0){A=0,Z=54;break}if(!(A=0|ar[s+(A<<2)>>2])){A=0,Z=54;break}if(ar[r+1108+(d<<2)>>2]=ar[A+92>>2],ar[r+1236+(d<<2)>>2]=ar[A+96>>2],(0|(d=d+1|0))>=(0|ar[v>>2])){A=1,Z=54;break}}return 54!=(0|Z)?0:(ur=b,0|A)}(0,e,r)))return ur=c,(r=0)|r;u=0|tr[r+12>>0]?800+(0|ar[(l=u=e+376228|0)>>2])|0:(l=e+376228|0,r+16|0);return ar[r+800>>2]=ar[u>>2],ar[l>>2]=r,ur=c,0|(r=1)}(A,A,s,n,0|ar[(u=r+8|0)>>2],0|ar[u+4>>2],i,0|ar[r+16>>2]),a=0|ar[(b=A+376224|0)>>2],!u)return 0|a&&(tr[a+10516>>0]=2),Ba(A+548|0,r),0|(a=0|ar[s+1344>>2])&&((0|(c=0|ar[(i=s+1348|0)>>2]))!=(0|a)&&(ar[i>>2]=c+(~((c+-4-a|0)>>>2)<<2)),vu(a)),kt(s+1332|0),0|(a=0|ar[s+776>>2])&&((0|(c=0|ar[(i=s+780|0)>>2]))!=(0|a)&&(ar[i>>2]=c+(~((c+-4-a|0)>>>2)<<2)),vu(a)),vu(s),s=0|ar[n>>2],ur=t,0|s;if(ar[f>>2]=s,i=a+48|0,l=0|ar[(c=a+52|0)>>2],ar[s>>2]=l-(0|ar[i>>2])>>2,(0|l)==(0|ar[a+56>>2])?function(A,e){e|=0;var r,i,f,n,t,o=0,a=0,c=0,l=0;f=4+(A|=0)|0,n=0|ar[A>>2],t=(0|ar[f>>2])-n|0,1073741823<(o=1+(i=t>>2)|0)>>>0&&zl();c=(0|ar[(l=A+8|0)>>2])-n|0,a=c>>1,a=c>>2>>>0<536870911?a>>>0<o>>>0?o:a:1073741823;do{if(a){if(!(1073741823<a>>>0)){c=0|hu(a<<2);break}Zu(l=0|X(8),44519),ar[l>>2]=17660,I(0|l,4016,428)}else c=0}while(0);ar[(r=c+(i<<2)|0)>>2]=ar[e>>2],o=r+(0-i<<2)|0,0<(0|t)&&hb(0|o,0|n,0|t);if(ar[A>>2]=o,ar[f>>2]=4+r,ar[l>>2]=c+(a<<2),!n)return;vu(n)}(i,f):(ar[l>>2]=s,ar[c>>2]=4+(0|ar[c>>2])),et(e,1),rt(e),l=(0|ar[e>>2])-(0|ar[r+20>>2])|0,0<(0|ar[(u=s+768|0)>>2]))for(c=(a=0)|ar[(i=s+776|0)>>2];k=0|Za(r,0|ar[c+(a<<2)>>2],l),c=0|ar[i>>2],ar[(d=c+(a<<2)|0)>>2]=(0|ar[d>>2])-k,(0|(a=a+1|0))<(0|ar[u>>2]););if(0|tr[s+4>>0]){for(na((c=0|hu(10688))+8|0),i=(a=c+10632|0)+56|0;(0|(a=a+4|(ar[a>>2]=0)))<(0|i););ar[f>>2]=c,ar[c>>2]=ar[b>>2],(0|(i=0|ar[(a=A+377220|0)>>2]))==(0|ar[A+377224>>2])?function(A,e){e|=0;var r,i,f,n,t,o=0,a=0,c=0,l=0;f=4+(A|=0)|0,n=0|ar[A>>2],t=(0|ar[f>>2])-n|0,1073741823<(o=1+(i=t>>2)|0)>>>0&&zl();c=(0|ar[(l=A+8|0)>>2])-n|0,a=c>>1,a=c>>2>>>0<536870911?a>>>0<o>>>0?o:a:1073741823;do{if(a){if(!(1073741823<a>>>0)){c=0|hu(a<<2);break}Zu(l=0|X(8),44519),ar[l>>2]=17660,I(0|l,4016,428)}else c=0}while(0);ar[(r=c+(i<<2)|0)>>2]=ar[e>>2],o=r+(0-i<<2)|0,0<(0|t)&&hb(0|o,0|n,0|t);if(ar[A>>2]=o,ar[f>>2]=4+r,ar[l>>2]=c+(a<<2),!n)return;vu(n)}(A+377216|0,f):(ar[i>>2]=c,ar[a>>2]=4+(0|ar[a>>2]))}else a=A+377220|0;return(0|ar[A+377216>>2])!=(0|ar[a>>2])&&(l=0|hu(152),ar[l>>2]=0,ar[(i=l+4|0)>>2]=0,ar[l+32>>2]=0,Dn(l+44|(tr[l+36>>0]=0)),ar[l+124>>2]=0,ar[l+128>>2]=-1,ar[l+132>>2]=-1,ar[l+136>>2]=0,ar[l+144>>2]=A,ar[l+40>>2]=0,ar[l+140>>2]=0,ar[f>>2]=l,ar[l>>2]=r,ar[i>>2]=s,ar[(i=l+8|0)>>2]=ar[e>>2],ar[i+4>>2]=ar[e+4>>2],ar[i+8>>2]=ar[e+8>>2],ar[i+12>>2]=ar[e+12>>2],ar[i+16>>2]=ar[e+16>>2],ar[i+20>>2]=ar[e+20>>2],tr[l+36>>0]=0|tr[A+377228>>0],a=0|ar[(0|ar[a>>2])-4>>2],(0|(c=0|ar[(i=a+10636|0)>>2]))==(0|ar[a+10640>>2])?function(A,e){e|=0;var r,i,f,n,t,o=0,a=0,c=0,l=0;f=4+(A|=0)|0,n=0|ar[A>>2],t=(0|ar[f>>2])-n|0,1073741823<(o=1+(i=t>>2)|0)>>>0&&zl();c=(0|ar[(l=A+8|0)>>2])-n|0,a=c>>1,a=c>>2>>>0<536870911?a>>>0<o>>>0?o:a:1073741823;do{if(a){if(!(1073741823<a>>>0)){c=0|hu(a<<2);break}Zu(l=0|X(8),44519),ar[l>>2]=17660,I(0|l,4016,428)}else c=0}while(0);ar[(r=c+(i<<2)|0)>>2]=ar[e>>2],o=r+(0-i<<2)|0,0<(0|t)&&hb(0|o,0|n,0|t);if(ar[A>>2]=o,ar[f>>2]=4+r,ar[l>>2]=c+(a<<2),!n)return;vu(n)}(a+10632|0,f):(ar[c>>2]=l,ar[i>>2]=4+(0|ar[i>>2]))),k=0|Yo(A,f),ar[n>>2]=k,ur=t,(k=0)|k}function ir(A,e,r,i,f,n,t){A|=0,e|=0,f|=0,n|=0,t|=0;var o,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0;for(c=ur=(o=ur)+31&-32,ur=ur+112|0,100<(l=((i|=0)-(r|=0)|0)/12|0)>>>0?(c=0|yc(l))?g=a=c:gu():(a=c,g=0),c=0,b=r,s=a;(0|b)!=(0|i);)(u=0|tr[b+8+3>>0])<<24>>24<0?u=0|ar[b+4>>2]:u&=255,u?tr[s>>0]=1:(tr[s>>0]=2,c=c+1|0,l=l+-1|0),b=b+12|0,s=s+1|0;m=0,w=c;A:for(;;){c=0|ar[A>>2];do{if(c){if(0|Uf(c=(0|(u=0|ar[c+12>>2]))==(0|ar[c+16>>2])?0|jb[127&ar[36+(0|ar[c>>2])>>2]](c):0|gf(0|ar[u>>2]),-1)){ar[A>>2]=0,s=1;break}s=0==(0|ar[A>>2]);break}s=1}while(0);if(c=(u=0|ar[e>>2])?0|Uf(c=(0|(c=0|ar[u+12>>2]))==(0|ar[u+16>>2])?0|jb[127&ar[36+(0|ar[u>>2])>>2]](u):0|gf(0|ar[c>>2]),-1)?(u=ar[e>>2]=0,1):0:(u=0,1),b=0|ar[A>>2],!(0!=(0|l)&(s^c)))break;for(c=(0|(c=0|ar[b+12>>2]))==(0|ar[b+16>>2])?0|jb[127&ar[36+(0|ar[b>>2])>>2]](b):0|gf(0|ar[c>>2]),t||(c=0|Hb[31&ar[28+(0|ar[f>>2])>>2]](f,c)),v=m+1|0,k=r,d=0,h=a;(0|k)!=(0|i);){do{if(1==(0|tr[h>>0])){if(u=(0|tr[(b=k+8+3|0)>>0])<0?0|ar[k>>2]:k,u=0|ar[u+(m<<2)>>2],t||(u=0|Hb[31&ar[28+(0|ar[f>>2])>>2]](f,u)),s=l+-1|0,(0|c)!=(0|u)){tr[h>>0]=0,u=d,b=w,l=s;break}(u=0|tr[b>>0])<<24>>24<0?u=0|ar[k+4>>2]:u&=255,(0|u)==(0|v)?(tr[h>>0]=2,b=w+(u=1)|0,l=s):(u=1,b=w)}else u=d,b=w}while(0);k=k+12|0,d=u,h=h+1|0,w=b}if(d)if(c=0|ar[A>>2],(0|(b=0|ar[(u=c+12|0)>>2]))==(0|ar[c+16>>2])?jb[127&ar[40+(0|ar[c>>2])>>2]](c):(ar[u>>2]=b+4,gf(0|ar[b>>2])),1<(w+l|0)>>>0)for(b=r,s=a,c=w;;){if((0|b)==(0|i)){m=v,w=c;continue A}2==(0|tr[s>>0])&&((u=0|tr[b+8+3>>0])<<24>>24<0?u=0|ar[b+4>>2]:u&=255,(0|u)!=(0|v)&&(c=c+-1|(tr[s>>0]=0))),b=b+12|0,s=s+1|0}else m=v;else m=v}do{if(b){if(0|Uf(c=(0|(c=0|ar[b+12>>2]))==(0|ar[b+16>>2])?0|jb[127&ar[36+(0|ar[b>>2])>>2]](b):0|gf(0|ar[c>>2]),-1)){ar[A>>2]=0,l=1;break}l=0==(0|ar[A>>2]);break}l=1}while(0);do{if(u){if(0|Uf(c=(0|(c=0|ar[u+12>>2]))==(0|ar[u+16>>2])?0|jb[127&ar[36+(0|ar[u>>2])>>2]](u):0|gf(0|ar[c>>2]),-1)){ar[e>>2]=0,Z=41;break}if(l)break;Z=77;break}Z=41}while(0);for(41==(0|Z)&&l&&(Z=77),77==(0|Z)&&(ar[n>>2]=2|ar[n>>2]);;){if((0|r)==(0|i)){Z=81;break}if(2==(0|tr[a>>0]))break;r=r+12|0,a=a+1|0}return 81==(0|Z)&&(ar[n>>2]=4|ar[n>>2],r=i),Bc(g),ur=o,0|r}function fr(A,e,r,i,f){A|=0,e|=0,r|=0,i|=0,f|=0;var n,t;return t=ur=(n=ur)+31&-32,ur=ur+16|0,ar[t>>2]=f,f=0|rf(r),r=0|Yc(A,e,i,t),0|f&&rf(f),ur=n,0|r}function nr(A,e,r){A|=0,e|=0,r|=0;var i=0;A:do{switch((176&ar[r+4>>2])<<24>>24){case 16:switch(i=A+1|0,(r=0|tr[A>>0])<<24>>24){case 43:case 45:A=i;break A}if(1<(e-A|0)&r<<24>>24==48){switch(0|tr[i>>0]){case 88:case 120:break;default:0;break A}A=A+2|0}else 0;break;case 32:A=e;break;default:0}}while(0);return 0|A}function dr(A,e,r){A|=0,e|=0;var i,f,n,t=0;for(2048&(r|=0)&&(tr[A>>0]=43,A=A+1|0),1024&r&&(tr[A>>0]=35,A=A+1|0),i=0!=(16384&r|0),(f=260==(0|(n=260&r)))?t=0:(tr[A>>0]=46,tr[A+1>>0]=42,t=1,A=A+2|0);(r=0|tr[e>>0])<<24>>24;)tr[A>>0]=r,e=e+1|0,A=A+1|0;A:do{switch(511&n){case 4:r=i?70:102;break;case 256:r=i?69:101;break;default:if(f){r=i?65:97;break A}r=i?71:103;break A}}while(0);return tr[A>>0]=r,0|t}function kr(A,e,r,i){A|=0,e|=0,r|=0,i|=0;var f,n;return n=ur=(f=ur)+31&-32,ur=ur+16|0,ar[n>>2]=i,i=0|rf(e),e=0|function(A,e,r){A|=0,e|=0,r|=0;var i,f=0,n=0,t=0;f=ur=(i=ur)+31&-32,ur=ur+16|0,ar[f>>2]=ar[r>>2],A=0<=(0|(f=0|Yc(0,0,e,f)))&&(t=0|yc(n=f+1|0),0!=(0|(ar[A>>2]=t)))?0|Yc(t,n,e,r):-1;return ur=i,0|A}(A,r,n),0|i&&rf(i),ur=f,0|e}function hr(A,e,r,i,f,n,t){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var o,a,c,l,u,b,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0;switch(l=ur=(b=ur)+31&-32,ur=ur+16|0,u=0|un(t|=0,59232),c=0|un(t,59248),fs[63&ar[20+(0|ar[c>>2])>>2]](l,c),ar[n>>2]=i,(t=0|tr[A>>0])<<24>>24){case 43:case 45:v=0|Hb[31&ar[28+(0|ar[u>>2])>>2]](u,t),s=0|ar[n>>2],ar[n>>2]=s+1,tr[s>>0]=v,s=A+1|0;break;default:s=A}v=r;A:do{if(1<(v-s|0)&&48==(0|tr[s>>0])){switch(0|tr[(t=s+1|0)>>0]){case 88:case 120:break;default:t=s,m=10;break A}for(h=0|Hb[31&ar[28+(0|ar[u>>2])>>2]](u,48),w=0|ar[n>>2],ar[n>>2]=w+1,tr[w>>0]=h,s=s+2|0,w=0|Hb[31&ar[28+(0|ar[u>>2])>>2]](u,0|tr[t>>0]),t=0|ar[n>>2],ar[n>>2]=t+1,tr[t>>0]=w,t=s;;){if(r>>>0<=t>>>0)break A;if(!(0|lf(w=0|tr[t>>0],dn())))break A;t=t+1|0}}else t=s,m=10}while(0);A:do{if(10==(0|m))for(;;){if(r>>>(m=0)<=t>>>0)break A;if(!(0|af(w=0|tr[t>>0],dn())))break A;t=t+1|0,m=10}}while(0);k=0|tr[(o=11+l|0)>>0],a=4+l|0,h=s,w=A;A:do{if(0|(k<<24>>24<0?0|ar[a>>2]:255&k)){e:do{if((0|s)!=(0|t))for(A=t,d=s;;){if((A=A+-1|0)>>>0<=d>>>0)break e;k=0|tr[d>>0],tr[d>>0]=0|tr[A>>0],tr[A>>0]=k,d=d+1|0}}while(0);for(k=0|jb[127&ar[16+(0|ar[c>>2])>>2]](c),A=d=0;!(t>>>0<=s>>>0);)0<(g=0|tr[((0|tr[o>>0])<0?0|ar[l>>2]:l)+A>>0])<<24>>24&(0|d)==(g<<24>>24|0)&&(d=0|ar[n>>2],ar[n>>2]=d+1,tr[d>>0]=k,A=(A>>>0<(((d=0|tr[o>>0])<<24>>24<0?0|ar[a>>2]:255&d)-1|0)>>>0&1)+A|0,d=0),Z=0|Hb[31&ar[28+(0|ar[u>>2])>>2]](u,0|tr[s>>0]),g=0|ar[n>>2],ar[n>>2]=g+1,tr[g>>0]=Z,s=s+1|0,d=d+1|0;if((0|(A=i+(h-w)|0))==(0|(s=0|ar[n>>2])))A=u;else for(;;){if((s=s+-1|0)>>>0<=A>>>0){A=u;break A}Z=0|tr[A>>0],tr[A>>0]=0|tr[s>>0],tr[s>>0]=Z,A=A+1|0}}else Pb[7&ar[32+(0|ar[u>>2])>>2]](u,s,t,0|ar[n>>2]),ar[n>>2]=(0|ar[n>>2])+(t-h),A=u}while(0);for(;!(r>>>0<=t>>>0);){if(s=0|tr[t>>0],t=t+1|0,s<<24>>24==46){m=29;break}g=0|Hb[31&ar[28+(0|ar[A>>2])>>2]](u,s),Z=0|ar[n>>2],ar[n>>2]=Z+1,tr[Z>>0]=g}29==(0|m)&&(g=0|jb[127&ar[12+(0|ar[c>>2])>>2]](c),Z=0|ar[n>>2],ar[n>>2]=Z+1,tr[Z>>0]=g),Pb[7&ar[32+(0|ar[u>>2])>>2]](u,t,r,0|ar[n>>2]),Z=(0|ar[n>>2])+(v-t)|0,ar[n>>2]=Z,ar[f>>2]=(0|e)==(0|r)?Z:i+(e-w)|0,Bu(l),ur=b}function wr(A,e,r,i){A|=0,e|=0,r|=0;var f=0;for(2048&(i|=0)&&(tr[A>>0]=43,A=A+1|0),f=512&i?(tr[A>>0]=35,A+1|0):A;(A=0|tr[e>>0])<<24>>24;)tr[f>>0]=A,e=e+1|0,f=f+1|0;switch(74&i){case 64:A=111;break;case 8:A=16384&i|0?88:120;break;default:A=r?100:117}tr[f>>0]=A}function vr(A,e,r,i,f,n,t){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var o,a,c,l,u,b,s=0,d=0,k=0,h=0,w=0;if(u=ur=(b=ur)+31&-32,ur=ur+16|0,c=0|un(t|=0,59232),d=0|un(t,59248),fs[63&ar[20+(0|ar[d>>2])>>2]](u,d),a=4+u|0,l=A,s=r,0|((k=0|tr[(o=11+u|0)>>0])<<24>>24<0?0|ar[a>>2]:255&k)){switch(ar[n>>2]=i,(t=0|tr[A>>0])<<24>>24){case 43:case 45:t=0|Hb[31&ar[28+(0|ar[c>>2])>>2]](c,t),k=0|ar[n>>2],ar[n>>2]=k+1,tr[k>>0]=t,A=A+1|0}A:do{if(1<(s-A|0)&&48==(0|tr[A>>0])){switch(0|tr[(t=A+1|0)>>0]){case 88:case 120:break;default:break A}k=0|Hb[31&ar[28+(0|ar[c>>2])>>2]](c,48),s=0|ar[n>>2],ar[n>>2]=s+1,tr[s>>0]=k,s=0|Hb[31&ar[28+(0|ar[c>>2])>>2]](c,0|tr[t>>0]),k=0|ar[n>>2],ar[n>>2]=k+1,tr[k>>0]=s,A=A+2|0}}while(0);A:do{if((0|A)!=(0|r))for(t=r,s=A;;){if((t=t+-1|0)>>>0<=s>>>0)break A;k=0|tr[s>>0],tr[s>>0]=0|tr[t>>0],tr[t>>0]=k,s=s+1|0}}while(0);for(k=0|jb[127&ar[16+(0|ar[d>>2])>>2]](d),d=A,s=t=0;!(r>>>0<=d>>>0);)(h=0|tr[((0|tr[o>>0])<0?0|ar[u>>2]:u)+t>>0])<<24>>24!=0&(0|s)==(h<<24>>24|0)&&(s=0|ar[n>>2],ar[n>>2]=s+1,tr[s>>0]=k,t=(t>>>0<(((s=0|tr[o>>0])<<24>>24<0?0|ar[a>>2]:255&s)-1|0)>>>0&1)+t|0,s=0),w=0|Hb[31&ar[28+(0|ar[c>>2])>>2]](c,0|tr[d>>0]),h=0|ar[n>>2],ar[n>>2]=h+1,tr[h>>0]=w,d=d+1|0,s=s+1|0;if((0|(t=i+(A-l)|0))!=(0|(A=0|ar[n>>2]))){for(;!((A=A+-1|0)>>>0<=t>>>0);)w=0|tr[t>>0],tr[t>>0]=0|tr[A>>0],tr[A>>0]=w,t=t+1|0;t=0|ar[n>>2]}}else Pb[7&ar[32+(0|ar[c>>2])>>2]](c,A,r,i),t=i+(s-l)|0,ar[n>>2]=t;ar[f>>2]=(0|e)==(0|r)?t:i+(e-l)|0,Bu(u),ur=b}function mr(A,e,r,i,f,n){e|=0,r|=0,i|=0,f|=0,n|=0;var t,o,a,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0;o=ur=(a=ur)+31&-32,ur=ur+16|0,t=12+o|0,c=0|ar[(A|=0)>>2];A:do{if(c){if(l=(0|(l=i-(h=e)>>2))<(0|(u=0|ar[(b=f+12|0)>>2]))?u-l|0:0,f=(h=(u=r)-h|0)>>2,0<(0|h)&&(0|xb[63&ar[48+(0|ar[c>>2])>>2]](c,e,f))!=(0|f)){c=ar[A>>2]=0;break}do{if(0<(0|l)){ar[o>>2]=0,ar[4+o>>2]=0,1073741807<l>>>(ar[8+o>>2]=0)&&pu();do{if(2<=l>>>0){if(!(1073741823<(f=l+4&2147483644)>>>0)){s=0|hu(f<<2),ar[o>>2]=s,ar[(d=8+o|0)>>2]=-2147483648|f,ar[4+o>>2]=l,d=d+3|0,k=o;break}lA()}else tr[(d=8+o+3|0)>>0]=l,k=s=o}while(0);if(gr(s,l,n),ln(s+(l<<2)|(ar[t>>2]=0),t),(0|xb[63&ar[48+(0|ar[c>>2])>>2]](c,(0|tr[d>>0])<0?0|ar[o>>2]:k,l))==(0|l)){Qu(o);break}ar[A>>2]=0,Qu(o),c=0;break A}}while(0);if(i=(h=i-u|0)>>2,0<(0|h)&&(0|xb[63&ar[48+(0|ar[c>>2])>>2]](c,r,i))!=(0|i)){c=ar[A>>2]=0;break}ar[b>>2]=0}else c=0}while(0);return ur=a,0|c}function gr(A,e,r){return A|=0,r|=0,(e|=0)&&function(A,e,r){A|=0,e|=0;var i=0;if(0|(r|=0))for(i=A;r=r+-1|0,ar[i>>2]=e,r;)i=i+4|0}(A,r,e),0|A}function Zr(A,e,r,i,f,n,t){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var o,a,c,l,u,b,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0;switch(l=ur=(b=ur)+31&-32,ur=ur+16|0,u=0|un(t|=0,59264),c=0|un(t,59272),fs[63&ar[20+(0|ar[c>>2])>>2]](l,c),ar[n>>2]=i,(t=0|tr[A>>0])<<24>>24){case 43:case 45:g=0|Hb[31&ar[44+(0|ar[u>>2])>>2]](u,t),t=0|ar[n>>2],ar[n>>2]=t+4,ar[t>>2]=g,t=A+1|0;break;default:t=A}g=r;A:do{if(1<(g-t|0)&&48==(0|tr[t>>0])){switch(0|tr[(s=t+1|0)>>0]){case 88:case 120:break;default:s=t,Z=10;break A}for(v=0|Hb[31&ar[44+(0|ar[u>>2])>>2]](u,48),m=0|ar[n>>2],ar[n>>2]=m+4,ar[m>>2]=v,t=t+2|0,m=0|Hb[31&ar[44+(0|ar[u>>2])>>2]](u,0|tr[s>>0]),s=0|ar[n>>2],ar[n>>2]=s+4,ar[s>>2]=m,s=t;;){if(r>>>0<=s>>>0)break A;if(!(0|lf(m=0|tr[s>>0],dn())))break A;s=s+1|0}}else s=t,Z=10}while(0);A:do{if(10==(0|Z))for(;;){if(r>>>(Z=0)<=s>>>0)break A;if(!(0|af(m=0|tr[s>>0],dn())))break A;s=s+1|0,Z=10}}while(0);w=0|tr[(o=11+l|0)>>0],a=4+l|0,v=t,m=A;A:do{if(0|(w<<24>>24<0?0|ar[a>>2]:255&w)){e:do{if((0|t)!=(0|s))for(A=s,d=t;;){if((A=A+-1|0)>>>0<=d>>>0)break e;w=0|tr[d>>0],tr[d>>0]=0|tr[A>>0],tr[A>>0]=w,d=d+1|0}}while(0);for(w=0|jb[127&ar[16+(0|ar[c>>2])>>2]](c),d=A=0;!(s>>>0<=t>>>0);)k=0|tr[o>>0],0<(p=0|tr[((h=k<<24>>24<0)?0|ar[l>>2]:l)+A>>0])<<24>>24&(0|d)==(p<<24>>24|0)&&(d=0|ar[n>>2],ar[n>>2]=d+4,ar[d>>2]=w,A=(A>>>0<((h?0|ar[a>>2]:255&k)-1|0)>>>0&1)+A|0,d=0),h=0|Hb[31&ar[44+(0|ar[u>>2])>>2]](u,0|tr[t>>0]),p=0|ar[n>>2],ar[n>>2]=p+4,ar[p>>2]=h,t=t+1|0,d=d+1|0;if((0|(t=i+(v-m<<2)|0))==(0|(d=0|ar[n>>2])))A=u;else for(A=d;;){if((A=A+-4|0)>>>0<=t>>>0){A=u,t=d;break A}p=0|ar[t>>2],ar[t>>2]=ar[A>>2],ar[A>>2]=p,t=t+4|0}}else Pb[7&ar[48+(0|ar[u>>2])>>2]](u,t,s,0|ar[n>>2]),t=(0|ar[n>>2])+(s-v<<2)|0,ar[n>>2]=t,A=u}while(0);for(;!(r>>>0<=s>>>0);){if(t=0|tr[s>>0],s=s+1|0,t<<24>>24==46){Z=29;break}v=0|Hb[31&ar[44+(0|ar[A>>2])>>2]](u,t),t=(p=0|ar[n>>2])+4|0,ar[n>>2]=t,ar[p>>2]=v}29==(0|Z)&&(Z=0|jb[127&ar[12+(0|ar[c>>2])>>2]](c),t=(p=0|ar[n>>2])+4|0,ar[n>>2]=t,ar[p>>2]=Z),Pb[7&ar[48+(0|ar[u>>2])>>2]](u,s,r,t),p=(0|ar[n>>2])+(g-s<<2)|0,ar[n>>2]=p,ar[f>>2]=(0|e)==(0|r)?p:i+(e-m<<2)|0,Bu(l),ur=b}function pr(A,e,r,i,f,n,t){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var o,a,c,l,u,b,s=0,d=0,k=0,h=0,w=0,v=0;if(u=ur=(b=ur)+31&-32,ur=ur+16|0,c=0|un(t|=0,59264),d=0|un(t,59272),fs[63&ar[20+(0|ar[d>>2])>>2]](u,d),a=4+u|0,l=A,s=r,0|((w=0|tr[(o=11+u|0)>>0])<<24>>24<0?0|ar[a>>2]:255&w)){switch(ar[n>>2]=i,(t=0|tr[A>>0])<<24>>24){case 43:case 45:h=0|Hb[31&ar[44+(0|ar[c>>2])>>2]](c,t),w=0|ar[n>>2],ar[n>>2]=w+4,ar[w>>2]=h,A=A+1|0}A:do{if(1<(s-A|0)&&48==(0|tr[A>>0])){switch(0|tr[(t=A+1|0)>>0]){case 88:case 120:break;default:break A}w=0|Hb[31&ar[44+(0|ar[c>>2])>>2]](c,48),h=0|ar[n>>2],ar[n>>2]=h+4,ar[h>>2]=w,h=0|Hb[31&ar[44+(0|ar[c>>2])>>2]](c,0|tr[t>>0]),w=0|ar[n>>2],ar[n>>2]=w+4,ar[w>>2]=h,A=A+2|0}}while(0);A:do{if((0|A)!=(0|r))for(t=r,s=A;;){if((t=t+-1|0)>>>0<=s>>>0)break A;w=0|tr[s>>0],tr[s>>0]=0|tr[t>>0],tr[t>>0]=w,s=s+1|0}}while(0);for(w=0|jb[127&ar[16+(0|ar[d>>2])>>2]](d),h=A,s=t=0;!(r>>>0<=h>>>0);)d=0|tr[o>>0],(v=0|tr[((k=d<<24>>24<0)?0|ar[u>>2]:u)+t>>0])<<24>>24!=0&(0|s)==(v<<24>>24|0)&&(s=0|ar[n>>2],ar[n>>2]=s+4,ar[s>>2]=w,t=(t>>>0<((k?0|ar[a>>2]:255&d)-1|0)>>>0&1)+t|0,s=0),k=0|Hb[31&ar[44+(0|ar[c>>2])>>2]](c,0|tr[h>>0]),v=0|ar[n>>2],ar[n>>2]=v+4,ar[v>>2]=k,h=h+1|0,s=s+1|0;if((0|(t=i+(A-l<<2)|0))!=(0|(A=0|ar[n>>2]))){for(;!((A=A+-4|0)>>>0<=t>>>0);)v=0|ar[t>>2],ar[t>>2]=ar[A>>2],ar[A>>2]=v,t=t+4|0;t=0|ar[n>>2]}}else Pb[7&ar[48+(0|ar[c>>2])>>2]](c,A,r,i),t=i+(s-l<<2)|0,ar[n>>2]=t;ar[f>>2]=(0|e)==(0|r)?t:i+(e-l<<2)|0,Bu(u),ur=b}function yr(A,e,r,i,f,n){e|=0,r|=0,i|=0,f|=0,n|=0;var t,o,a;a=ur=(t=ur)+31&-32,ur=ur+16|0,o=4+a|0,A=0|jb[127&ar[ar[(A=(A|=0)+8|0)>>2]>>2]](A),ar[a>>2]=ar[i>>2],ar[o>>2]=ar[a>>2],(0|(A=(0|Vn(r,o,A,A+168|0,n,f,0))-A|0))<168&&(ar[e>>2]=((0|A)/12|0)%7|0),ur=t}function Br(A,e,r,i,f,n){e|=0,r|=0,i|=0,f|=0,n|=0;var t,o,a;a=ur=(t=ur)+31&-32,ur=ur+16|0,o=4+a|0,A=0|jb[127&ar[4+(0|ar[(A=(A|=0)+8|0)>>2])>>2]](A),ar[a>>2]=ar[i>>2],ar[o>>2]=ar[a>>2],(0|(A=(0|Vn(r,o,A,A+288|0,n,f,0))-A|0))<288&&(ar[e>>2]=((0|A)/12|0)%12|0),ur=t}function Er(A,e,r,i,f,n,t,o){A|=0,e|=0,r|=0,f|=0,n|=0,t|=0,o|=0;var a,c,l,u,b,s,d,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0;s=ur=(d=ur)+31&-32,ur=ur+16|0,a=8+s|0,b=4+s|0,Tf(c=12+s|0,i|=0),l=0|un(c,59232),bn(c),u=8+l|(ar[f>>2]=0),k=0;A:for(;;){for(Z=(0|t)!=(0|o),h=k;;){if(k=0|ar[e>>2],!(Z&0==(0|h)))break A;g=(w=k)?0|Mf(h=(0|(h=0|ar[k+12>>2]))==(0|ar[k+16>>2])?0|jb[127&ar[36+(0|ar[k>>2])>>2]](k):0|hf(0|tr[h>>0]),-1)?(m=1,k=ar[e>>2]=0):(m=0,w):(k=0,m=1,w),h=v=0|ar[r>>2];do{if(v){if(0|Mf(w=(0|(w=0|ar[v+12>>2]))==(0|ar[v+16>>2])?0|jb[127&ar[36+(0|ar[v>>2])>>2]](v):0|hf(0|tr[w>>0]),-1)){h=ar[r>>2]=0,y=16;break}if(m)break;y=61;break A}y=16}while(0);if(16==(0|y)){if(y=0,m){y=61;break A}v=0}if((0|xb[63&ar[36+(0|ar[l>>2])>>2]](l,0|tr[t>>0],0))<<24>>24==37){y=19;break}if(-1<(h=0|tr[t>>0])<<24>>24&&(p=0|ar[u>>2],8192&or[p+(h<<24>>24<<1)>>1])){y=27;break}if(h=(0|(h=0|ar[(w=k+12|0)>>2]))==(0|ar[(v=k+16|0)>>2])?0|jb[127&ar[36+(0|ar[k>>2])>>2]](k):0|hf(0|tr[h>>0]),(g=0|Hb[31&ar[12+(0|ar[l>>2])>>2]](l,255&h))<<24>>24==(0|Hb[31&ar[12+(0|ar[l>>2])>>2]](l,0|tr[t>>0]))<<24>>24){y=57;break}h=ar[f>>2]=4}e:do{if(19==(0|y)){if(((y=0)|(m=t+1|0))==(0|o)){y=61;break A}switch((w=0|xb[63&ar[36+(0|ar[l>>2])>>2]](l,0|tr[m>>0],0))<<24>>24){case 48:case 69:if((0|(t=t+2|0))==(0|o)){y=61;break A}v=w,k=0|xb[63&ar[36+(0|ar[l>>2])>>2]](l,0|tr[t>>0],0),t=m;break;default:v=0,k=w}Z=0|ar[36+(0|ar[A>>2])>>2],ar[b>>2]=g,ar[s>>2]=h,ar[a>>2]=ar[b>>2],ar[c>>2]=ar[s>>2],Z=0|es[15&Z](A,a,c,i,f,n,k,v),ar[e>>2]=Z,t=t+2|0}else if(27==(0|y)){for(;;){if(((y=0)|(t=t+1|0))==(0|o)){t=o;break}if((h=0|tr[t>>0])<<24>>24<=-1)break;if(!(8192&or[p+(h<<24>>24<<1)>>1]))break;y=27}for(h=v;;){k?0|Mf(w=(0|(w=0|ar[k+12>>2]))==(0|ar[k+16>>2])?0|jb[127&ar[36+(0|ar[k>>2])>>2]](k):0|hf(0|tr[w>>0]),-1)?(m=1,k=ar[e>>2]=0):m=0:(m=1,k=0);do{if(v){if(0|Mf(w=(0|(w=0|ar[v+12>>2]))==(0|ar[v+16>>2])?0|jb[127&ar[36+(0|ar[v>>2])>>2]](v):0|hf(0|tr[w>>0]),-1)){h=ar[r>>2]=0,y=43;break}if(m^0==(0|h)){v=g=h;break}break e}y=43}while(0);if(43==(0|y)){if(y=0,m)break e;g=h,v=0}if((255&(h=(0|(h=0|ar[(w=k+12|0)>>2]))==(0|ar[(m=k+16|0)>>2])?0|jb[127&ar[36+(0|ar[k>>2])>>2]](k):0|hf(0|tr[h>>0])))<<24>>24<=-1)break e;if(!(8192&or[(0|ar[u>>2])+(h<<24>>24<<1)>>1]))break e;(0|(h=0|ar[w>>2]))!=(0|ar[m>>2])?(ar[w>>2]=h+1,hf(0|tr[h>>0]),h=g):(jb[127&ar[40+(0|ar[k>>2])>>2]](k),h=g)}}else if(57==(0|y)){if(t=t+1|(y=0),(0|(h=0|ar[w>>2]))==(0|ar[v>>2])){jb[127&ar[40+(0|ar[k>>2])>>2]](k);break}ar[w>>2]=h+1,hf(0|tr[h>>0]);break}}while(0);k=0|ar[f>>2]}61==(0|y)&&(ar[f>>2]=4),w=k?0|Mf(t=(0|(t=0|ar[k+12>>2]))==(0|ar[k+16>>2])?0|jb[127&ar[36+(0|ar[k>>2])>>2]](k):0|hf(0|tr[t>>0]),-1)?(k=ar[e>>2]=0,1):0:(k=0,1),t=0|ar[r>>2];do{if(t){if(0|Mf(t=(0|(h=0|ar[t+12>>2]))==(0|ar[t+16>>2])?0|jb[127&ar[36+(0|ar[t>>2])>>2]](t):0|hf(0|tr[h>>0]),-1)){ar[r>>2]=0,y=74;break}if(w)break;y=76;break}y=74}while(0);return 74==(0|y)&&w&&(y=76),76==(0|y)&&(ar[f>>2]=2|ar[f>>2]),ur=d,0|k}function Xr(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var t,o;o=ur=(t=ur)+31&-32,ur=ur+16|0,A=4+o|0,ar[o>>2]=ar[i>>2],ar[A>>2]=ar[o>>2],((A=0|Jr(r,A,f,n,2))+-1|0)>>>0<31&0==(4&(r=0|ar[f>>2])|0)?ar[e>>2]=A:ar[f>>2]=4|r,ur=t}function Wr(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var t,o;o=ur=(t=ur)+31&-32,ur=ur+16|0,A=4+o|0,ar[o>>2]=ar[i>>2],ar[A>>2]=ar[o>>2],(0|(A=0|Jr(r,A,f,n,2)))<24&0==(4&(r=0|ar[f>>2])|0)?ar[e>>2]=A:ar[f>>2]=4|r,ur=t}function Ir(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var t,o;o=ur=(t=ur)+31&-32,ur=ur+16|0,A=4+o|0,ar[o>>2]=ar[i>>2],ar[A>>2]=ar[o>>2],((A=0|Jr(r,A,f,n,2))+-1|0)>>>0<12&0==(4&(r=0|ar[f>>2])|0)?ar[e>>2]=A:ar[f>>2]=4|r,ur=t}function Cr(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var t,o;o=ur=(t=ur)+31&-32,ur=ur+16|0,A=4+o|0,ar[o>>2]=ar[i>>2],ar[A>>2]=ar[o>>2],(0|(A=0|Jr(r,A,f,n,3)))<366&0==(4&(r=0|ar[f>>2])|0)?ar[e>>2]=A:ar[f>>2]=4|r,ur=t}function Gr(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var t,o;o=ur=(t=ur)+31&-32,ur=ur+16|0,A=4+o|0,ar[o>>2]=ar[i>>2],ar[A>>2]=ar[o>>2],(0|(A=0|Jr(r,A,f,n,2)))<13&0==(4&(r=0|ar[f>>2])|0)?ar[e>>2]=A+-1:ar[f>>2]=4|r,ur=t}function Vr(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var t,o;o=ur=(t=ur)+31&-32,ur=ur+16|0,A=4+o|0,ar[o>>2]=ar[i>>2],ar[A>>2]=ar[o>>2],(0|(A=0|Jr(r,A,f,n,2)))<60&0==(4&(r=0|ar[f>>2])|0)?ar[e>>2]=A:ar[f>>2]=4|r,ur=t}function Fr(A,e,r,i,f){A|=0,e|=0,r|=0,i|=0;var n,t=0,o=0;n=(f|=0)+8|0;A:for(;;){A=0|ar[e>>2];do{if(A){if(0|Mf(A=(0|(f=0|ar[A+12>>2]))==(0|ar[A+16>>2])?0|jb[127&ar[36+(0|ar[A>>2])>>2]](A):0|hf(0|tr[f>>0]),-1)){ar[e>>2]=0,t=1;break}t=0==(0|ar[e>>2]);break}t=1}while(0);f=0|ar[r>>2];do{if(f){if(0|Mf(A=(0|(A=0|ar[f+12>>2]))==(0|ar[f+16>>2])?0|jb[127&ar[36+(0|ar[f>>2])>>2]](f):0|hf(0|tr[A>>0]),-1)){ar[r>>2]=0,o=15;break}if(t){t=f;break}t=f;break A}o=15}while(0);if(15==(0|o)){if(o=0,t){t=0;break}t=0}if(A=0|ar[e>>2],(255&(A=(0|(f=0|ar[A+12>>2]))==(0|ar[A+16>>2])?0|jb[127&ar[36+(0|ar[A>>2])>>2]](A):0|hf(0|tr[f>>0])))<<24>>24<=-1)break;if(!(8192&or[(0|ar[n>>2])+(A<<24>>24<<1)>>1]))break;A=0|ar[e>>2],(0|(t=0|ar[(f=A+12|0)>>2]))!=(0|ar[A+16>>2])?(ar[f>>2]=t+1,hf(0|tr[t>>0])):jb[127&ar[40+(0|ar[A>>2])>>2]](A)}A=0|ar[e>>2];do{if(A){if(0|Mf(A=(0|(f=0|ar[A+12>>2]))==(0|ar[A+16>>2])?0|jb[127&ar[36+(0|ar[A>>2])>>2]](A):0|hf(0|tr[f>>0]),-1)){ar[e>>2]=0,f=1;break}f=0==(0|ar[e>>2]);break}f=1}while(0);do{if(t){if(0|Mf(A=(0|(A=0|ar[t+12>>2]))==(0|ar[t+16>>2])?0|jb[127&ar[36+(0|ar[t>>2])>>2]](t):0|hf(0|tr[A>>0]),-1)){ar[r>>2]=0,o=38;break}if(f)break;o=40;break}o=38}while(0);38==(0|o)&&f&&(o=40),40==(0|o)&&(ar[i>>2]=2|ar[i>>2])}function Rr(A,e,r,i,f,n){e|=0,r|=0,i|=0,f|=0,n|=0;var t,o,a,c=0,l=0;o=ur=(a=ur)+31&-32,ur=ur+16|0,t=4+o|0,l=0|jb[127&ar[8+(0|ar[(l=(A|=0)+8|0)>>2])>>2]](l),c=(A=0|tr[l+11>>0])<<24>>24<0?0|ar[l+4>>2]:255&A,(A=0|tr[l+12+11>>0])<<24>>24<0?A=0|ar[l+16>>2]:A&=255;do{if((0|c)!=(0-A|0)){if(ar[o>>2]=ar[i>>2],ar[t>>2]=ar[o>>2],A=(0|Vn(r,t,l,l+24|0,n,f,0))-l|0,12==(0|(c=0|ar[e>>2]))&0==(0|A)){ar[e>>2]=0;break}(0|c)<12&12==(0|A)&&(ar[e>>2]=c+12)}else ar[f>>2]=4|ar[f>>2]}while(0);ur=a}function Nr(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var t,o;o=ur=(t=ur)+31&-32,ur=ur+16|0,A=4+o|0,ar[o>>2]=ar[i>>2],ar[A>>2]=ar[o>>2],(0|(A=0|Jr(r,A,f,n,2)))<61&0==(4&(r=0|ar[f>>2])|0)?ar[e>>2]=A:ar[f>>2]=4|r,ur=t}function _r(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var t,o;o=ur=(t=ur)+31&-32,ur=ur+16|0,A=4+o|0,ar[o>>2]=ar[i>>2],ar[A>>2]=ar[o>>2],(0|(A=0|Jr(r,A,f,n,1)))<7&0==(4&(r=0|ar[f>>2])|0)?ar[e>>2]=A:ar[f>>2]=4|r,ur=t}function Yr(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var t,o;o=ur=(t=ur)+31&-32,ur=ur+16|0,A=4+o|0,ar[o>>2]=ar[i>>2],ar[A>>2]=ar[o>>2],A=0|Jr(r,A,f,n,4),4&ar[f>>2]||(A=(0|A)<69?A+2e3|0:(0|A)<100?A+1900|0:A,ar[e>>2]=A+-1900),ur=t}function Qr(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var t,o;o=ur=(t=ur)+31&-32,ur=ur+16|0,A=4+o|0,ar[o>>2]=ar[i>>2],ar[A>>2]=ar[o>>2],A=0|Jr(r,A,f,n,4),4&ar[f>>2]||(ar[e>>2]=A+-1900),ur=t}function Dr(A,e,r,i,f){A|=0,r|=0,i|=0,f|=0;var n=0,t=0,o=0,a=0;A=0|ar[(e|=0)>>2];do{if(A){if(0|Mf(A=(0|(n=0|ar[A+12>>2]))==(0|ar[A+16>>2])?0|jb[127&ar[36+(0|ar[A>>2])>>2]](A):0|hf(0|tr[n>>0]),-1)){ar[e>>2]=0,t=1;break}t=0==(0|ar[e>>2]);break}t=1}while(0);n=0|ar[r>>2];do{if(n){if(0|Mf(A=(0|(A=0|ar[n+12>>2]))==(0|ar[n+16>>2])?0|jb[127&ar[36+(0|ar[n>>2])>>2]](n):0|hf(0|tr[A>>0]),-1)){ar[r>>2]=0,a=14;break}if(t){o=n,a=16;break}A=6,a=38;break}a=14}while(0);14==(0|a)&&(a=t?(A=6,38):(o=0,16));A:do{if(16==(0|a))if(A=0|ar[e>>2],A=(0|(n=0|ar[A+12>>2]))==(0|ar[A+16>>2])?0|jb[127&ar[36+(0|ar[A>>2])>>2]](A):0|hf(0|tr[n>>0]),(0|xb[63&ar[36+(0|ar[f>>2])>>2]](f,255&A,0))<<24>>24==37){A=0|ar[e>>2],(0|(t=0|ar[(n=A+12|0)>>2]))==(0|ar[A+16>>2])?jb[127&ar[40+(0|ar[A>>2])>>2]](A):(ar[n>>2]=t+1,hf(0|tr[t>>0])),A=0|ar[e>>2];do{if(A){if(0|Mf(A=(0|(n=0|ar[A+12>>2]))==(0|ar[A+16>>2])?0|jb[127&ar[36+(0|ar[A>>2])>>2]](A):0|hf(0|tr[n>>0]),-1)){ar[e>>2]=0,n=1;break}n=0==(0|ar[e>>2]);break}n=1}while(0);do{if(0|o){if(0|Mf(A=(0|(A=0|ar[o+12>>2]))==(0|ar[o+16>>2])?0|jb[127&ar[36+(0|ar[o>>2])>>2]](o):0|hf(0|tr[A>>0]),-1)){ar[r>>2]=0;break}if(n)break A;A=2,a=38;break A}}while(0);n&&(A=2,a=38)}else A=4,a=38}while(0);38==(0|a)&&(ar[i>>2]=ar[i>>2]|A)}function Jr(A,e,r,i,f){e|=0,r|=0,i|=0,f|=0;var n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0;n=0|ar[(A|=0)>>2];do{if(n){if(0|Mf(n=(0|(t=0|ar[n+12>>2]))==(0|ar[n+16>>2])?0|jb[127&ar[36+(0|ar[n>>2])>>2]](n):0|hf(0|tr[t>>0]),-1)){ar[A>>2]=0,o=1;break}o=0==(0|ar[A>>2]);break}o=1}while(0);t=0|ar[e>>2];do{if(t){if(0|Mf(n=(0|(n=0|ar[t+12>>2]))==(0|ar[t+16>>2])?0|jb[127&ar[36+(0|ar[t>>2])>>2]](t):0|hf(0|tr[n>>0]),-1)){ar[e>>2]=0,k=14;break}if(o){k=17;break}k=16;break}k=14}while(0);14==(0|k)&&(k=o?16:(t=0,17));A:do{if(16==(0|k))ar[r>>2]=6|ar[r>>2],n=0;else if(17==(0|k)){if(n=0|ar[A>>2],-1<(o=255&(n=(0|(o=0|ar[n+12>>2]))==(0|ar[n+16>>2])?0|jb[127&ar[36+(0|ar[n>>2])>>2]](n):0|hf(0|tr[o>>0])))<<24>>24&&2048&or[(0|ar[(d=i+8|0)>>2])+(n<<24>>24<<1)>>1]){for(n=(0|xb[63&ar[36+(0|ar[i>>2])>>2]](i,o,0))<<24>>24,o=0|ar[A>>2],a=l=((0|(c=0|ar[(a=o+12|0)>>2]))==(0|ar[o+16>>2])?jb[127&ar[40+(0|ar[o>>2])>>2]](o):(ar[a>>2]=c+1,hf(0|tr[c>>0])),t);;){n=n+-48|0,s=f+-1|0,t=0|ar[A>>2];do{if(t){if(0|Mf(t=(0|(o=0|ar[t+12>>2]))==(0|ar[t+16>>2])?0|jb[127&ar[36+(0|ar[t>>2])>>2]](t):0|hf(0|tr[o>>0]),-1)){ar[A>>2]=0,c=1;break}c=0==(0|ar[A>>2]);break}c=1}while(0);do{if(a){if(0|Mf(t=(0|(t=0|ar[a+12>>2]))==(0|ar[a+16>>2])?0|jb[127&ar[36+(0|ar[a>>2])>>2]](a):0|hf(0|tr[t>>0]),-1)){t=1,u=b=ar[e>>2]=0;break}t=0==(0|(b=l)),u=l;break}b=l,t=1,u=0}while(0);if(o=0|ar[A>>2],!(1<(0|f)&(c^t)))break;if((o=255&(t=(0|(t=0|ar[o+12>>2]))==(0|ar[o+16>>2])?0|jb[127&ar[36+(0|ar[o>>2])>>2]](o):0|hf(0|tr[t>>0])))<<24>>24<=-1)break A;if(!(2048&or[(0|ar[d>>2])+(t<<24>>24<<1)>>1]))break A;n=((0|xb[63&ar[36+(0|ar[i>>2])>>2]](i,o,0))<<24>>24)+(10*n|0)|0,t=0|ar[A>>2],(0|(a=0|ar[(o=t+12|0)>>2]))!=(0|ar[t+16>>2])?(ar[o>>2]=a+1,hf(0|tr[a>>0]),f=s,l=b,a=u):(jb[127&ar[40+(0|ar[t>>2])>>2]](t),f=s,l=b,a=u)}do{if(o){if(0|Mf(t=(0|(t=0|ar[o+12>>2]))==(0|ar[o+16>>2])?0|jb[127&ar[36+(0|ar[o>>2])>>2]](o):0|hf(0|tr[t>>0]),-1)){ar[A>>2]=0,o=1;break}o=0==(0|ar[A>>2]);break}o=1}while(0);do{if(b){if(0|Mf(t=(0|(t=0|ar[b+12>>2]))==(0|ar[b+16>>2])?0|jb[127&ar[36+(0|ar[b>>2])>>2]](b):0|hf(0|tr[t>>0]),-1)){ar[e>>2]=0,k=62;break}if(o)break A;break}k=62}while(0);if(62==(0|k)&&!o)break;ar[r>>2]=2|ar[r>>2];break}ar[r>>2]=4|ar[r>>2],n=0}}while(0);return 0|n}function Mr(A){return 0|function(A){var e=0;e=A|=0;for(;0|ar[e>>2];)e=e+4|0;return e-A>>2|0}(A|=0)}function Tr(A,e,r,i,f,n){e|=0,r|=0,i|=0,f|=0,n|=0;var t,o,a;a=ur=(t=ur)+31&-32,ur=ur+16|0,o=4+a|0,A=0|jb[127&ar[ar[(A=(A|=0)+8|0)>>2]>>2]](A),ar[a>>2]=ar[i>>2],ar[o>>2]=ar[a>>2],(0|(A=(0|ir(r,o,A,A+168|0,n,f,0))-A|0))<168&&(ar[e>>2]=((0|A)/12|0)%7|0),ur=t}function Ur(A,e,r,i,f,n){e|=0,r|=0,i|=0,f|=0,n|=0;var t,o,a;a=ur=(t=ur)+31&-32,ur=ur+16|0,o=4+a|0,A=0|jb[127&ar[4+(0|ar[(A=(A|=0)+8|0)>>2])>>2]](A),ar[a>>2]=ar[i>>2],ar[o>>2]=ar[a>>2],(0|(A=(0|ir(r,o,A,A+288|0,n,f,0))-A|0))<288&&(ar[e>>2]=((0|A)/12|0)%12|0),ur=t}function Sr(A,e,r,i,f,n,t,o){A|=0,e|=0,r|=0,f|=0,n|=0,t|=0,o|=0;var a,c,l,u,b,s,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0;b=ur=(s=ur)+31&-32,ur=ur+16|0,a=8+b|0,u=4+b|0,Tf(c=12+b|0,i|=0),l=0|un(c,59264),bn(c),d=ar[f>>2]=0;A:for(;;){for(g=(0|t)!=(0|o),k=d;;){if(d=0|ar[e>>2],!(g&0==(0|k)))break A;m=(h=d)?0|Uf(k=(0|(k=0|ar[d+12>>2]))==(0|ar[d+16>>2])?0|jb[127&ar[36+(0|ar[d>>2])>>2]](d):0|gf(0|ar[k>>2]),-1)?(v=1,d=ar[e>>2]=0):(v=0,h):(d=0,v=1,h),k=w=0|ar[r>>2];do{if(w){if(0|Uf(h=(0|(h=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|gf(0|ar[h>>2]),-1)){k=ar[r>>2]=0,Z=16;break}if(v)break;Z=58;break A}Z=16}while(0);if(16==(0|Z)){if(Z=0,v){Z=58;break A}w=0}if((0|xb[63&ar[52+(0|ar[l>>2])>>2]](l,0|ar[t>>2],0))<<24>>24==37){Z=19;break}if(0|xb[63&ar[12+(0|ar[l>>2])>>2]](l,8192,0|ar[t>>2])){Z=26;break}if(k=(0|(k=0|ar[(h=d+12|0)>>2]))==(0|ar[(w=d+16|0)>>2])?0|jb[127&ar[36+(0|ar[d>>2])>>2]](d):0|gf(0|ar[k>>2]),(0|(m=0|Hb[31&ar[28+(0|ar[l>>2])>>2]](l,k)))==(0|Hb[31&ar[28+(0|ar[l>>2])>>2]](l,0|ar[t>>2]))){Z=54;break}k=ar[f>>2]=4}e:do{if(19==(0|Z)){if(((Z=0)|(v=t+4|0))==(0|o)){Z=58;break A}switch((h=0|xb[63&ar[52+(0|ar[l>>2])>>2]](l,0|ar[v>>2],0))<<24>>24){case 48:case 69:if((0|(t=t+8|0))==(0|o)){Z=58;break A}w=h,d=0|xb[63&ar[52+(0|ar[l>>2])>>2]](l,0|ar[t>>2],0),t=v;break;default:w=0,d=h}g=0|ar[36+(0|ar[A>>2])>>2],ar[u>>2]=m,ar[b>>2]=k,ar[a>>2]=ar[u>>2],ar[c>>2]=ar[b>>2],g=0|es[15&g](A,a,c,i,f,n,d,w),ar[e>>2]=g,t=t+8|0}else if(26==(0|Z)){for(;;){if(((Z=0)|(t=t+4|0))==(0|o)){t=o;break}if(!(0|xb[63&ar[12+(0|ar[l>>2])>>2]](l,8192,0|ar[t>>2])))break;Z=26}for(k=w;;){d?0|Uf(h=(0|(h=0|ar[d+12>>2]))==(0|ar[d+16>>2])?0|jb[127&ar[36+(0|ar[d>>2])>>2]](d):0|gf(0|ar[h>>2]),-1)?(v=1,d=ar[e>>2]=0):v=0:(v=1,d=0);do{if(w){if(0|Uf(h=(0|(h=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|gf(0|ar[h>>2]),-1)){k=ar[r>>2]=0,Z=41;break}if(v^0==(0|k)){w=m=k;break}break e}Z=41}while(0);if(41==(0|Z)){if(Z=0,v)break e;m=k,w=0}if(k=(0|(k=0|ar[(h=d+12|0)>>2]))==(0|ar[(v=d+16|0)>>2])?0|jb[127&ar[36+(0|ar[d>>2])>>2]](d):0|gf(0|ar[k>>2]),!(0|xb[63&ar[12+(0|ar[l>>2])>>2]](l,8192,k)))break e;(0|(k=0|ar[h>>2]))!=(0|ar[v>>2])?(ar[h>>2]=k+4,gf(0|ar[k>>2]),k=m):(jb[127&ar[40+(0|ar[d>>2])>>2]](d),k=m)}}else if(54==(0|Z)){if(t=t+4|(Z=0),(0|(k=0|ar[h>>2]))==(0|ar[w>>2])){jb[127&ar[40+(0|ar[d>>2])>>2]](d);break}ar[h>>2]=k+4,gf(0|ar[k>>2]);break}}while(0);d=0|ar[f>>2]}58==(0|Z)&&(ar[f>>2]=4),h=d?0|Uf(t=(0|(t=0|ar[d+12>>2]))==(0|ar[d+16>>2])?0|jb[127&ar[36+(0|ar[d>>2])>>2]](d):0|gf(0|ar[t>>2]),-1)?(d=ar[e>>2]=0,1):0:(d=0,1),t=0|ar[r>>2];do{if(t){if(0|Uf(t=(0|(k=0|ar[t+12>>2]))==(0|ar[t+16>>2])?0|jb[127&ar[36+(0|ar[t>>2])>>2]](t):0|gf(0|ar[k>>2]),-1)){ar[r>>2]=0,Z=71;break}if(h)break;Z=73;break}Z=71}while(0);return 71==(0|Z)&&h&&(Z=73),73==(0|Z)&&(ar[f>>2]=2|ar[f>>2]),ur=s,0|d}function Or(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var t,o;o=ur=(t=ur)+31&-32,ur=ur+16|0,A=4+o|0,ar[o>>2]=ar[i>>2],ar[A>>2]=ar[o>>2],((A=0|ii(r,A,f,n,2))+-1|0)>>>0<31&0==(4&(r=0|ar[f>>2])|0)?ar[e>>2]=A:ar[f>>2]=4|r,ur=t}function zr(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var t,o;o=ur=(t=ur)+31&-32,ur=ur+16|0,A=4+o|0,ar[o>>2]=ar[i>>2],ar[A>>2]=ar[o>>2],(0|(A=0|ii(r,A,f,n,2)))<24&0==(4&(r=0|ar[f>>2])|0)?ar[e>>2]=A:ar[f>>2]=4|r,ur=t}function jr(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var t,o;o=ur=(t=ur)+31&-32,ur=ur+16|0,A=4+o|0,ar[o>>2]=ar[i>>2],ar[A>>2]=ar[o>>2],((A=0|ii(r,A,f,n,2))+-1|0)>>>0<12&0==(4&(r=0|ar[f>>2])|0)?ar[e>>2]=A:ar[f>>2]=4|r,ur=t}function Hr(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var t,o;o=ur=(t=ur)+31&-32,ur=ur+16|0,A=4+o|0,ar[o>>2]=ar[i>>2],ar[A>>2]=ar[o>>2],(0|(A=0|ii(r,A,f,n,3)))<366&0==(4&(r=0|ar[f>>2])|0)?ar[e>>2]=A:ar[f>>2]=4|r,ur=t}function xr(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var t,o;o=ur=(t=ur)+31&-32,ur=ur+16|0,A=4+o|0,ar[o>>2]=ar[i>>2],ar[A>>2]=ar[o>>2],(0|(A=0|ii(r,A,f,n,2)))<13&0==(4&(r=0|ar[f>>2])|0)?ar[e>>2]=A+-1:ar[f>>2]=4|r,ur=t}function Pr(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var t,o;o=ur=(t=ur)+31&-32,ur=ur+16|0,A=4+o|0,ar[o>>2]=ar[i>>2],ar[A>>2]=ar[o>>2],(0|(A=0|ii(r,A,f,n,2)))<60&0==(4&(r=0|ar[f>>2])|0)?ar[e>>2]=A:ar[f>>2]=4|r,ur=t}function Lr(A,e,r,i,f){A|=0,e|=0,r|=0,i|=0,f|=0;var n=0,t=0,o=0;A:for(;;){A=0|ar[e>>2];do{if(A){if(0|Uf(A=(0|(n=0|ar[A+12>>2]))==(0|ar[A+16>>2])?0|jb[127&ar[36+(0|ar[A>>2])>>2]](A):0|gf(0|ar[n>>2]),-1)){ar[e>>2]=0,t=1;break}t=0==(0|ar[e>>2]);break}t=1}while(0);n=0|ar[r>>2];do{if(n){if(0|Uf(A=(0|(A=0|ar[n+12>>2]))==(0|ar[n+16>>2])?0|jb[127&ar[36+(0|ar[n>>2])>>2]](n):0|gf(0|ar[A>>2]),-1)){ar[r>>2]=0,o=15;break}if(t){t=n;break}t=n;break A}o=15}while(0);if(15==(0|o)){if(o=0,t){t=0;break}t=0}if(A=0|ar[e>>2],A=(0|(n=0|ar[A+12>>2]))==(0|ar[A+16>>2])?0|jb[127&ar[36+(0|ar[A>>2])>>2]](A):0|gf(0|ar[n>>2]),!(0|xb[63&ar[12+(0|ar[f>>2])>>2]](f,8192,A)))break;A=0|ar[e>>2],(0|(t=0|ar[(n=A+12|0)>>2]))!=(0|ar[A+16>>2])?(ar[n>>2]=t+4,gf(0|ar[t>>2])):jb[127&ar[40+(0|ar[A>>2])>>2]](A)}A=0|ar[e>>2];do{if(A){if(0|Uf(A=(0|(n=0|ar[A+12>>2]))==(0|ar[A+16>>2])?0|jb[127&ar[36+(0|ar[A>>2])>>2]](A):0|gf(0|ar[n>>2]),-1)){ar[e>>2]=0,n=1;break}n=0==(0|ar[e>>2]);break}n=1}while(0);do{if(t){if(0|Uf(A=(0|(A=0|ar[t+12>>2]))==(0|ar[t+16>>2])?0|jb[127&ar[36+(0|ar[t>>2])>>2]](t):0|gf(0|ar[A>>2]),-1)){ar[r>>2]=0,o=37;break}if(n)break;o=39;break}o=37}while(0);37==(0|o)&&n&&(o=39),39==(0|o)&&(ar[i>>2]=2|ar[i>>2])}function Kr(A,e,r,i,f,n){e|=0,r|=0,i|=0,f|=0,n|=0;var t,o,a,c=0,l=0;o=ur=(a=ur)+31&-32,ur=ur+16|0,t=4+o|0,l=0|jb[127&ar[8+(0|ar[(l=(A|=0)+8|0)>>2])>>2]](l),c=(A=0|tr[l+8+3>>0])<<24>>24<0?0|ar[l+4>>2]:255&A,(A=0|tr[l+20+3>>0])<<24>>24<0?A=0|ar[l+16>>2]:A&=255;do{if((0|c)!=(0-A|0)){if(ar[o>>2]=ar[i>>2],ar[t>>2]=ar[o>>2],A=(0|ir(r,t,l,l+24|0,n,f,0))-l|0,12==(0|(c=0|ar[e>>2]))&0==(0|A)){ar[e>>2]=0;break}(0|c)<12&12==(0|A)&&(ar[e>>2]=c+12)}else ar[f>>2]=4|ar[f>>2]}while(0);ur=a}function qr(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var t,o;o=ur=(t=ur)+31&-32,ur=ur+16|0,A=4+o|0,ar[o>>2]=ar[i>>2],ar[A>>2]=ar[o>>2],(0|(A=0|ii(r,A,f,n,2)))<61&0==(4&(r=0|ar[f>>2])|0)?ar[e>>2]=A:ar[f>>2]=4|r,ur=t}function $r(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var t,o;o=ur=(t=ur)+31&-32,ur=ur+16|0,A=4+o|0,ar[o>>2]=ar[i>>2],ar[A>>2]=ar[o>>2],(0|(A=0|ii(r,A,f,n,1)))<7&0==(4&(r=0|ar[f>>2])|0)?ar[e>>2]=A:ar[f>>2]=4|r,ur=t}function Ai(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var t,o;o=ur=(t=ur)+31&-32,ur=ur+16|0,A=4+o|0,ar[o>>2]=ar[i>>2],ar[A>>2]=ar[o>>2],A=0|ii(r,A,f,n,4),4&ar[f>>2]||(A=(0|A)<69?A+2e3|0:(0|A)<100?A+1900|0:A,ar[e>>2]=A+-1900),ur=t}function ei(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var t,o;o=ur=(t=ur)+31&-32,ur=ur+16|0,A=4+o|0,ar[o>>2]=ar[i>>2],ar[A>>2]=ar[o>>2],A=0|ii(r,A,f,n,4),4&ar[f>>2]||(ar[e>>2]=A+-1900),ur=t}function ri(A,e,r,i,f){A|=0,r|=0,i|=0,f|=0;var n=0,t=0,o=0,a=0;A=0|ar[(e|=0)>>2];do{if(A){if(0|Uf(A=(0|(n=0|ar[A+12>>2]))==(0|ar[A+16>>2])?0|jb[127&ar[36+(0|ar[A>>2])>>2]](A):0|gf(0|ar[n>>2]),-1)){ar[e>>2]=0,t=1;break}t=0==(0|ar[e>>2]);break}t=1}while(0);n=0|ar[r>>2];do{if(n){if(0|Uf(A=(0|(A=0|ar[n+12>>2]))==(0|ar[n+16>>2])?0|jb[127&ar[36+(0|ar[n>>2])>>2]](n):0|gf(0|ar[A>>2]),-1)){ar[r>>2]=0,a=14;break}if(t){o=n,a=16;break}A=6,a=38;break}a=14}while(0);14==(0|a)&&(a=t?(A=6,38):(o=0,16));A:do{if(16==(0|a))if(A=0|ar[e>>2],A=(0|(n=0|ar[A+12>>2]))==(0|ar[A+16>>2])?0|jb[127&ar[36+(0|ar[A>>2])>>2]](A):0|gf(0|ar[n>>2]),(0|xb[63&ar[52+(0|ar[f>>2])>>2]](f,A,0))<<24>>24==37){A=0|ar[e>>2],(0|(t=0|ar[(n=A+12|0)>>2]))==(0|ar[A+16>>2])?jb[127&ar[40+(0|ar[A>>2])>>2]](A):(ar[n>>2]=t+4,gf(0|ar[t>>2])),A=0|ar[e>>2];do{if(A){if(0|Uf(A=(0|(n=0|ar[A+12>>2]))==(0|ar[A+16>>2])?0|jb[127&ar[36+(0|ar[A>>2])>>2]](A):0|gf(0|ar[n>>2]),-1)){ar[e>>2]=0,n=1;break}n=0==(0|ar[e>>2]);break}n=1}while(0);do{if(0|o){if(0|Uf(A=(0|(A=0|ar[o+12>>2]))==(0|ar[o+16>>2])?0|jb[127&ar[36+(0|ar[o>>2])>>2]](o):0|gf(0|ar[A>>2]),-1)){ar[r>>2]=0;break}if(n)break A;A=2,a=38;break A}}while(0);n&&(A=2,a=38)}else A=4,a=38}while(0);38==(0|a)&&(ar[i>>2]=ar[i>>2]|A)}function ii(A,e,r,i,f){e|=0,r|=0,i|=0,f|=0;var n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0;n=0|ar[(A|=0)>>2];do{if(n){if(0|Uf(n=(0|(t=0|ar[n+12>>2]))==(0|ar[n+16>>2])?0|jb[127&ar[36+(0|ar[n>>2])>>2]](n):0|gf(0|ar[t>>2]),-1)){ar[A>>2]=0,o=1;break}o=0==(0|ar[A>>2]);break}o=1}while(0);t=0|ar[e>>2];do{if(t){if(0|Uf(n=(0|(n=0|ar[t+12>>2]))==(0|ar[t+16>>2])?0|jb[127&ar[36+(0|ar[t>>2])>>2]](t):0|gf(0|ar[n>>2]),-1)){ar[e>>2]=0,d=14;break}if(o){d=17;break}d=16;break}d=14}while(0);14==(0|d)&&(d=o?16:(t=0,17));A:do{if(16==(0|d))ar[r>>2]=6|ar[r>>2],n=0;else if(17==(0|d)){if(n=0|ar[A>>2],n=(0|(o=0|ar[n+12>>2]))==(0|ar[n+16>>2])?0|jb[127&ar[36+(0|ar[n>>2])>>2]](n):0|gf(0|ar[o>>2]),!(0|xb[63&ar[12+(0|ar[i>>2])>>2]](i,2048,n))){ar[r>>2]=4|ar[r>>2],n=0;break}for(n=(0|xb[63&ar[52+(0|ar[i>>2])>>2]](i,n,0))<<24>>24,o=0|ar[A>>2],a=l=((0|(c=0|ar[(a=o+12|0)>>2]))==(0|ar[o+16>>2])?jb[127&ar[40+(0|ar[o>>2])>>2]](o):(ar[a>>2]=c+4,gf(0|ar[c>>2])),t);;){n=n+-48|0,s=f+-1|0,t=0|ar[A>>2];do{if(t){if(0|Uf(t=(0|(o=0|ar[t+12>>2]))==(0|ar[t+16>>2])?0|jb[127&ar[36+(0|ar[t>>2])>>2]](t):0|gf(0|ar[o>>2]),-1)){ar[A>>2]=0,c=1;break}c=0==(0|ar[A>>2]);break}c=1}while(0);do{if(a){if(0|Uf(t=(0|(t=0|ar[a+12>>2]))==(0|ar[a+16>>2])?0|jb[127&ar[36+(0|ar[a>>2])>>2]](a):0|gf(0|ar[t>>2]),-1)){t=1,u=b=ar[e>>2]=0;break}t=0==(0|(b=l)),u=l;break}b=l,t=1,u=0}while(0);if(o=0|ar[A>>2],!(1<(0|f)&(c^t)))break;if(t=(0|(t=0|ar[o+12>>2]))==(0|ar[o+16>>2])?0|jb[127&ar[36+(0|ar[o>>2])>>2]](o):0|gf(0|ar[t>>2]),!(0|xb[63&ar[12+(0|ar[i>>2])>>2]](i,2048,t)))break A;n=((0|xb[63&ar[52+(0|ar[i>>2])>>2]](i,t,0))<<24>>24)+(10*n|0)|0,t=0|ar[A>>2],(0|(a=0|ar[(o=t+12|0)>>2]))!=(0|ar[t+16>>2])?(ar[o>>2]=a+4,gf(0|ar[a>>2]),f=s,l=b,a=u):(jb[127&ar[40+(0|ar[t>>2])>>2]](t),f=s,l=b,a=u)}do{if(o){if(0|Uf(t=(0|(t=0|ar[o+12>>2]))==(0|ar[o+16>>2])?0|jb[127&ar[36+(0|ar[o>>2])>>2]](o):0|gf(0|ar[t>>2]),-1)){ar[A>>2]=0,o=1;break}o=0==(0|ar[A>>2]);break}o=1}while(0);do{if(b){if(0|Uf(t=(0|(t=0|ar[b+12>>2]))==(0|ar[b+16>>2])?0|jb[127&ar[36+(0|ar[b>>2])>>2]](b):0|gf(0|ar[t>>2]),-1)){ar[e>>2]=0,d=60;break}if(o)break A;break}d=60}while(0);if(60==(0|d)&&!o)break;ar[r>>2]=2|ar[r>>2]}}while(0);return 0|n}function fi(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var t,o,a,c,l,u=0;t=ur=(a=ur)+31&-32,ur=ur+16|0,tr[t>>0]=37,tr[(o=1+t|0)>>0]=f,tr[(u=2+t|0)>>0]=n,tr[3+t>>0]=0,n<<24>>24&&(tr[o>>0]=n,tr[u>>0]=f),u=0|(c=e,l=0|ar[r>>2],(l|=0)-(c|=0)|0),u=e+(0|EA(0|e,0|u,0|t,0|i,0|ar[A>>2]))|0,ar[r>>2]=u,ur=a}function ni(A){(0|(0|ar[(A|=0)>>2]))!=(0|dn())&&of(0|ar[A>>2])}function ti(){lA()}function oi(A,e,r){return A|=0,r|=0,0|(e|=0)&&vb(0|A,255&(0|hf(r))|0,0|e),0|A}function ai(A,e,r,i,f,n,t,o,a,c,l){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,a|=0,c|=0,l|=0;var u,b,s,d,k,h,w,v,m,g,Z,p,y,B,E,X,W,I,C,G,V,F,R,N,_,Y,Q,D,J,M=0,T=0,U=0,S=0,O=0,z=0,j=0,H=0;for(V=ur=(J=ur)+31&-32,ur=ur+512|0,j=96+V|0,D=80+V|0,G=72+V|0,E=68+V|0,X=500+V|0,W=497+V|0,I=496+V|0,F=56+V|0,R=44+V|0,N=32+V|0,_=20+V|0,Y=8+V|0,C=4+V|0,ar[(B=88+V|0)>>2]=l,ar[D>>2]=j,ar[(Q=4+D|0)>>2]=444,ar[G>>2]=j,ar[E>>2]=j+400,ar[F>>2]=0,ar[4+F>>2]=0,l=ar[8+F>>2]=0;3!=(0|l);)l=l+1|(ar[F+(l<<2)>>2]=0);for(ar[R>>2]=0,ar[4+R>>2]=0,l=ar[8+R>>2]=0;3!=(0|l);)l=l+1|(ar[R+(l<<2)>>2]=0);for(ar[N>>2]=0,ar[4+N>>2]=0,l=ar[8+N>>2]=0;3!=(0|l);)l=l+1|(ar[N+(l<<2)>>2]=0);for(ar[_>>2]=0,ar[4+_>>2]=0,l=ar[8+_>>2]=0;3!=(0|l);)l=l+1|(ar[_+(l<<2)>>2]=0);for(ar[Y>>2]=0,ar[4+Y>>2]=0,l=ar[8+Y>>2]=0;3!=(0|l);)l=l+1|(ar[Y+(l<<2)>>2]=0);!function(A,e,r,i,f,n,t,o,a,c){e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,a|=0,c|=0;var l,u,b;if(u=ur=(b=ur)+31&-32,ur=ur+16|0,l=12+u|0,A|=0){for(e=0|un(e,60952),fs[63&ar[44+(0|ar[e>>2])>>2]](l,e),A=0|ar[l>>2],tr[r>>0]=A,tr[r+1>>0]=A>>8,tr[r+2>>0]=A>>16,tr[r+3>>0]=A>>24,fs[63&ar[32+(0|ar[e>>2])>>2]](u,e),A=((0|tr[(A=a+11|0)>>0])<0?(A=0|ar[a>>2],tr[l>>0]=0,Qf(A,l),ar[a+4>>2]=0):(tr[l>>0]=0,Qf(a,l),tr[A>>0]=0),a),Cu(a,0),ar[A>>2]=ar[u>>2],ar[A+4>>2]=ar[4+u>>2],ar[A+8>>2]=ar[8+u>>2],A=0;3!=(0|A);)ar[u+(A<<2)>>2]=0,A=A+1|0;for(Bu(u),fs[63&ar[28+(0|ar[e>>2])>>2]](u,e),A=((0|tr[(A=o+11|0)>>0])<0?(A=0|ar[o>>2],tr[l>>0]=0,Qf(A,l),ar[o+4>>2]=0):(tr[l>>0]=0,Qf(o,l),tr[A>>0]=0),o),Cu(o,0),ar[A>>2]=ar[u>>2],ar[A+4>>2]=ar[4+u>>2],ar[A+8>>2]=ar[8+u>>2],A=0;3!=(0|A);)ar[u+(A<<2)>>2]=0,A=A+1|0;for(Bu(u),A=0|jb[127&ar[12+(0|ar[e>>2])>>2]](e),tr[i>>0]=A,A=0|jb[127&ar[16+(0|ar[e>>2])>>2]](e),tr[f>>0]=A,fs[63&ar[20+(0|ar[e>>2])>>2]](u,e),A=((0|tr[(A=n+11|0)>>0])<0?(A=0|ar[n>>2],tr[l>>0]=0,Qf(A,l),ar[n+4>>2]=0):(tr[l>>0]=0,Qf(n,l),tr[A>>0]=0),n),Cu(n,0),ar[A>>2]=ar[u>>2],ar[A+4>>2]=ar[4+u>>2],ar[A+8>>2]=ar[8+u>>2],A=0;3!=(0|A);)ar[u+(A<<2)>>2]=0,A=A+1|0;for(Bu(u),fs[63&ar[24+(0|ar[e>>2])>>2]](u,e),A=((0|tr[(A=t+11|0)>>0])<0?(A=0|ar[t>>2],tr[l>>0]=0,Qf(A,l),ar[t+4>>2]=0):(tr[l>>0]=0,Qf(t,l),tr[A>>0]=0),t),Cu(t,0),ar[A>>2]=ar[u>>2],ar[A+4>>2]=ar[4+u>>2],ar[A+8>>2]=ar[8+u>>2],A=0;3!=(0|A);)ar[u+(A<<2)>>2]=0,A=A+1|0;Bu(u),A=0|jb[127&ar[36+(0|ar[e>>2])>>2]](e)}else{for(e=0|un(e,60944),fs[63&ar[44+(0|ar[e>>2])>>2]](l,e),A=0|ar[l>>2],tr[r>>0]=A,tr[r+1>>0]=A>>8,tr[r+2>>0]=A>>16,tr[r+3>>0]=A>>24,fs[63&ar[32+(0|ar[e>>2])>>2]](u,e),A=((0|tr[(A=a+11|0)>>0])<0?(A=0|ar[a>>2],tr[l>>0]=0,Qf(A,l),ar[a+4>>2]=0):(tr[l>>0]=0,Qf(a,l),tr[A>>0]=0),a),Cu(a,0),ar[A>>2]=ar[u>>2],ar[A+4>>2]=ar[4+u>>2],ar[A+8>>2]=ar[8+u>>2],A=0;3!=(0|A);)ar[u+(A<<2)>>2]=0,A=A+1|0;for(Bu(u),fs[63&ar[28+(0|ar[e>>2])>>2]](u,e),A=((0|tr[(A=o+11|0)>>0])<0?(A=0|ar[o>>2],tr[l>>0]=0,Qf(A,l),ar[o+4>>2]=0):(tr[l>>0]=0,Qf(o,l),tr[A>>0]=0),o),Cu(o,0),ar[A>>2]=ar[u>>2],ar[A+4>>2]=ar[4+u>>2],ar[A+8>>2]=ar[8+u>>2],A=0;3!=(0|A);)ar[u+(A<<2)>>2]=0,A=A+1|0;for(Bu(u),A=0|jb[127&ar[12+(0|ar[e>>2])>>2]](e),tr[i>>0]=A,A=0|jb[127&ar[16+(0|ar[e>>2])>>2]](e),tr[f>>0]=A,fs[63&ar[20+(0|ar[e>>2])>>2]](u,e),A=((0|tr[(A=n+11|0)>>0])<0?(A=0|ar[n>>2],tr[l>>0]=0,Qf(A,l),ar[n+4>>2]=0):(tr[l>>0]=0,Qf(n,l),tr[A>>0]=0),n),Cu(n,0),ar[A>>2]=ar[u>>2],ar[A+4>>2]=ar[4+u>>2],ar[A+8>>2]=ar[8+u>>2],A=0;3!=(0|A);)ar[u+(A<<2)>>2]=0,A=A+1|0;for(Bu(u),fs[63&ar[24+(0|ar[e>>2])>>2]](u,e),A=((0|tr[(A=t+11|0)>>0])<0?(A=0|ar[t>>2],tr[l>>0]=0,Qf(A,l),ar[t+4>>2]=0):(tr[l>>0]=0,Qf(t,l),tr[A>>0]=0),t),Cu(t,0),ar[A>>2]=ar[u>>2],ar[A+4>>2]=ar[4+u>>2],ar[A+8>>2]=ar[8+u>>2],A=0;3!=(0|A);)ar[u+(A<<2)>>2]=0,A=A+1|0;Bu(u),A=0|jb[127&ar[36+(0|ar[e>>2])>>2]](e)}ar[c>>2]=A,ur=b}(r,i,X,W,I,F,R,N,_,C),ar[c>>2]=ar[a>>2],m=o+8|0,g=11+N|0,Z=4+N|0,p=11+_|0,y=4+_|0,u=0!=(512&f|0),b=11+R|0,s=4+R|0,d=11+Y|0,k=4+Y|0,h=3+X|0,w=11+F|0,v=4+F|0,z=j=0;A:for(;;){if(o=0!=(0|j),4<=z>>>0){H=234;break}l=0|ar[A>>2];do{if(l){if(0|Mf(l=(0|(r=0|ar[l+12>>2]))==(0|ar[l+16>>2])?0|jb[127&ar[36+(0|ar[l>>2])>>2]](l):0|hf(0|tr[r>>0]),-1)){ar[A>>2]=0,i=1;break}i=0==(0|ar[A>>2]);break}i=1}while(0);r=0|ar[e>>2];do{if(r){if(0|Mf(l=(0|(l=0|ar[r+12>>2]))==(0|ar[r+16>>2])?0|jb[127&ar[36+(0|ar[r>>2])>>2]](r):0|hf(0|tr[l>>0]),-1)){ar[e>>2]=0,H=31;break}if(i){O=r;break}H=234;break A}H=31}while(0);if(31==(0|H)){if(H=0,i){H=234;break}O=0}l=3!=(0|z);e:do{switch(0|tr[X+z>>0]){case 1:if(l){if(l=0|ar[A>>2],(255&(l=(0|(r=0|ar[l+12>>2]))==(0|ar[l+16>>2])?0|jb[127&ar[36+(0|ar[l>>2])>>2]](l):0|hf(0|tr[r>>0])))<<24>>24<=-1){H=44;break A}if(!(8192&or[(0|ar[m>>2])+(l<<24>>24<<1)>>1])){H=44;break A}l=0|ar[A>>2],_u(Y,255&(l=(0|(i=0|ar[(r=l+12|0)>>2]))==(0|ar[l+16>>2])?0|jb[127&ar[40+(0|ar[l>>2])>>2]](l):(ar[r>>2]=i+1,0|hf(0|tr[i>>0])))),o=l=O,H=46}else l=j;break;case 0:l?(o=l=O,H=46):l=j;break;case 3:if((0|(l=(l=0|tr[g>>0])<<24>>24<0?0|ar[Z>>2]:255&l))==(0-(o=(o=0|tr[p>>0])<<24>>24<0?0|ar[y>>2]:255&o)|0))l=j;else{if(f=0==(0|l),l=0|ar[A>>2],i=(0|(r=0|ar[l+12>>2]))==(0|ar[l+16>>2]),f|0==(0|o)){if(l=i?0|jb[127&ar[36+(0|ar[l>>2])>>2]](l):0|hf(0|tr[r>>0]),l&=255,f){if(l<<24>>24!=(0|tr[((0|tr[p>>0])<0?0|ar[_>>2]:_)>>0])){l=j;break e}l=0|ar[A>>2],(0|(i=0|ar[(r=l+12|0)>>2]))==(0|ar[l+16>>2])?jb[127&ar[40+(0|ar[l>>2])>>2]](l):(ar[r>>2]=i+1,hf(0|tr[i>>0])),l=(tr[t>>0]=1)<((l=0|tr[p>>0])<<24>>24<0?0|ar[y>>2]:255&l)>>>0?_:j;break e}if(l<<24>>24!=(0|tr[((0|tr[g>>0])<0?0|ar[N>>2]:N)>>0])){tr[t>>0]=1,l=j;break e}l=0|ar[A>>2],(0|(i=0|ar[(r=l+12|0)>>2]))==(0|ar[l+16>>2])?jb[127&ar[40+(0|ar[l>>2])>>2]](l):(ar[r>>2]=i+1,hf(0|tr[i>>0])),l=1<((l=0|tr[g>>0])<<24>>24<0?0|ar[Z>>2]:255&l)>>>0?N:j;break e}if(l=i?0|jb[127&ar[36+(0|ar[l>>2])>>2]](l):0|hf(0|tr[r>>0]),r=0|ar[A>>2],f=(0|(o=0|ar[(i=r+12|0)>>2]))==(0|ar[r+16>>2]),(255&l)<<24>>24==(0|tr[((0|tr[g>>0])<0?0|ar[N>>2]:N)>>0])){f?jb[127&ar[40+(0|ar[r>>2])>>2]](r):(ar[i>>2]=o+1,hf(0|tr[o>>0])),l=1<((l=0|tr[g>>0])<<24>>24<0?0|ar[Z>>2]:255&l)>>>0?N:j;break e}if((255&(l=f?0|jb[127&ar[36+(0|ar[r>>2])>>2]](r):0|hf(0|tr[o>>0])))<<24>>24!=(0|tr[((0|tr[p>>0])<0?0|ar[_>>2]:_)>>0])){H=103;break A}l=0|ar[A>>2],(0|(i=0|ar[(r=l+12|0)>>2]))==(0|ar[l+16>>2])?jb[127&ar[40+(0|ar[l>>2])>>2]](l):(ar[r>>2]=i+1,hf(0|tr[i>>0])),l=(tr[t>>0]=1)<((l=0|tr[p>>0])<<24>>24<0?0|ar[y>>2]:255&l)>>>0?_:j}break;case 2:if(!(z>>>0<2|o)&&!(u|2==(0|z)&0!=(0|tr[h>>0]))){l=0;break e}l=(r=0|tr[b>>0])<<24>>24<0,U=0|ar[R>>2],T=i=l?U:R;r:do{if(0!=(0|z)&&(0|cr[X+(z+-1)>>0])<2){for(l=i+(l?0|ar[s>>2]:255&r)|0,M=T;(0|(o=M))!=(0|l)&&!((f=0|tr[o>>0])<<24>>24<=-1)&&8192&or[(0|ar[m>>2])+(f<<24>>24<<1)>>1];)M=o+1|0;if((f=M-T|0)>>>0<=(o=(l=(o=0|tr[d>>0])<<24>>24<0)?0|ar[k>>2]:255&o)>>>0)for(l=(o=(l?0|ar[Y>>2]:Y)+o|0)+(0-f)|0;;){if((0|l)==(0|o)){i=M,l=U,o=S=O;break r}if((0|tr[l>>0])!=(0|tr[i>>0])){i=T,l=U,o=S=O;break r}i=i+1|0,l=l+1|0}else i=T,l=U,o=S=O}else i=T,l=U,o=S=O}while(0);r:for(;l=((M=r<<24>>24<0)?l:R)+(M?0|ar[s>>2]:255&r)|0,(0|(M=i))!=(0|l);){l=0|ar[A>>2];do{if(l){if(0|Mf(l=(0|(r=0|ar[l+12>>2]))==(0|ar[l+16>>2])?0|jb[127&ar[36+(0|ar[l>>2])>>2]](l):0|hf(0|tr[r>>0]),-1)){ar[A>>2]=0,r=1;break}r=0==(0|ar[A>>2]);break}r=1}while(0);do{if(o){if(0|Mf(l=(0|(l=0|ar[o+12>>2]))==(0|ar[o+16>>2])?0|jb[127&ar[36+(0|ar[o>>2])>>2]](o):0|hf(0|tr[l>>0]),-1)){l=ar[e>>2]=0,H=132;break}if(r^0==(0|S)){f=l=S;break}l=M;break r}l=S,H=132}while(0);if(132==(0|H)){if(H=0,r){l=M;break}f=0}if(r=0|ar[A>>2],(255&(r=(0|(i=0|ar[r+12>>2]))==(0|ar[r+16>>2])?0|jb[127&ar[36+(0|ar[r>>2])>>2]](r):0|hf(0|tr[i>>0])))<<24>>24!=(0|tr[M>>0])){l=M;break}r=0|ar[A>>2],(0|(o=0|ar[(i=r+12|0)>>2]))==(0|ar[r+16>>2])?jb[127&ar[40+(0|ar[r>>2])>>2]](r):(ar[i>>2]=o+1,hf(0|tr[o>>0])),S=l,i=M+1|0,r=0|tr[b>>0],l=0|ar[R>>2],o=f}if(u&&(0|l)!=(((S=(O=0|tr[b>>0])<<24>>24<0)?0|ar[R>>2]:R)+(S?0|ar[s>>2]:255&O)|0)){H=144;break A}l=j;break;case 4:T=0,o=l=O;r:for(;;){r=0|ar[A>>2];do{if(r){if(0|Mf(r=(0|(i=0|ar[r+12>>2]))==(0|ar[r+16>>2])?0|jb[127&ar[36+(0|ar[r>>2])>>2]](r):0|hf(0|tr[i>>0]),-1)){ar[A>>2]=0,i=1;break}i=0==(0|ar[A>>2]);break}i=1}while(0);do{if(o){if(0|Mf(r=(0|(r=0|ar[o+12>>2]))==(0|ar[o+16>>2])?0|jb[127&ar[36+(0|ar[o>>2])>>2]](o):0|hf(0|tr[r>>0]),-1)){l=ar[e>>2]=0,H=158;break}if(i^0==(0|l)){M=f=l;break}o=l;break r}H=158}while(0);if(158==(0|H)){if(H=0,i){o=l;break}f=l,M=0}if(l=0|ar[A>>2],-1<(r=255&(l=(0|(r=0|ar[l+12>>2]))==(0|ar[l+16>>2])?0|jb[127&ar[36+(0|ar[l>>2])>>2]](l):0|hf(0|tr[r>>0])))<<24>>24&&0!=(2048&or[(0|ar[m>>2])+(l<<24>>24<<1)>>1]))(0|(l=0|ar[c>>2]))==(0|ar[B>>2])&&(li(a,c,B),l=0|ar[c>>2]),ar[c>>2]=l+1,tr[l>>0]=r,l=T+1|0;else{if(O=0|tr[w>>0],!(r<<24>>24==(0|tr[I>>0])&(0|T?0!=(0|(O<<24>>24<0?0|ar[v>>2]:255&O)):0))){o=f;break}(0|(l=0|ar[G>>2]))==(0|ar[E>>2])&&(ui(D,G,E),l=0|ar[G>>2]),ar[G>>2]=l+4,ar[l>>2]=T,l=0}r=0|ar[A>>2],(0|(o=0|ar[(i=r+12|0)>>2]))!=(0|ar[r+16>>2])?(ar[i>>2]=o+1,hf(0|tr[o>>0]),T=l,l=f,o=M):(jb[127&ar[40+(0|ar[r>>2])>>2]](r),T=l,l=f,o=M)}l=0|ar[G>>2],0|T&&(0|ar[D>>2])!=(0|l)&&((0|l)==(0|ar[E>>2])&&(ui(D,G,E),l=0|ar[G>>2]),ar[G>>2]=l+4,ar[l>>2]=T);r:do{if(0<(0|ar[C>>2])){l=0|ar[A>>2];do{if(l){if(0|Mf(l=(0|(r=0|ar[l+12>>2]))==(0|ar[l+16>>2])?0|jb[127&ar[36+(0|ar[l>>2])>>2]](l):0|hf(0|tr[r>>0]),-1)){ar[A>>2]=0,r=1;break}r=0==(0|ar[A>>2]);break}r=1}while(0);do{if(o){if(0|Mf(l=(0|(l=0|ar[o+12>>2]))==(0|ar[o+16>>2])?0|jb[127&ar[36+(0|ar[o>>2])>>2]](o):0|hf(0|tr[l>>0]),-1)){ar[e>>2]=0,H=193;break}if(r)break;H=232;break A}H=193}while(0);if(193==(0|H)){if(H=0,r){H=232;break A}o=0}if(l=0|ar[A>>2],(255&(l=(0|(r=0|ar[l+12>>2]))==(0|ar[l+16>>2])?0|jb[127&ar[36+(0|ar[l>>2])>>2]](l):0|hf(0|tr[r>>0])))<<24>>24!=(0|tr[W>>0])){H=232;break A}for(l=0|ar[A>>2],l=((0|(i=0|ar[(r=l+12|0)>>2]))==(0|ar[l+16>>2])?jb[127&ar[40+(0|ar[l>>2])>>2]](l):(ar[r>>2]=i+1,hf(0|tr[i>>0])),o);;){if((0|ar[C>>2])<=0)break r;r=0|ar[A>>2];do{if(r){if(0|Mf(r=(0|(i=0|ar[r+12>>2]))==(0|ar[r+16>>2])?0|jb[127&ar[36+(0|ar[r>>2])>>2]](r):0|hf(0|tr[i>>0]),-1)){ar[A>>2]=0,i=1;break}i=0==(0|ar[A>>2]);break}i=1}while(0);do{if(o){if(0|Mf(r=(0|(r=0|ar[o+12>>2]))==(0|ar[o+16>>2])?0|jb[127&ar[36+(0|ar[o>>2])>>2]](o):0|hf(0|tr[r>>0]),-1)){l=ar[e>>2]=0,H=216;break}if(i^0==(0|l)){o=f=l;break}H=232;break A}H=216}while(0);if(216==(0|H)){if(H=0,i){H=232;break A}f=l,o=0}if(l=0|ar[A>>2],(255&(l=(0|(r=0|ar[l+12>>2]))==(0|ar[l+16>>2])?0|jb[127&ar[36+(0|ar[l>>2])>>2]](l):0|hf(0|tr[r>>0])))<<24>>24<=-1){H=232;break A}if(!(2048&or[(0|ar[m>>2])+(l<<24>>24<<1)>>1])){H=232;break A}(0|ar[c>>2])==(0|ar[B>>2])&&li(a,c,B),l=0|ar[A>>2],l=(0|(r=0|ar[l+12>>2]))==(0|ar[l+16>>2])?0|jb[127&ar[36+(0|ar[l>>2])>>2]](l):0|hf(0|tr[r>>0]),r=0|ar[c>>2],ar[c>>2]=r+1,tr[r>>0]=l,ar[C>>2]=(0|ar[C>>2])-1,l=0|ar[A>>2],(0|(i=0|ar[(r=l+12|0)>>2]))!=(0|ar[l+16>>2])?(ar[r>>2]=i+1,hf(0|tr[i>>0]),l=f):(jb[127&ar[40+(0|ar[l>>2])>>2]](l),l=f)}}}while(0);if((0|ar[c>>2])==(0|ar[a>>2])){H=232;break A}l=j;break;default:l=j}}while(0);e:do{if(46==(0|H))for(;;){r=(H=0)|ar[A>>2];do{if(r){if(0|Mf(r=(0|(i=0|ar[r+12>>2]))==(0|ar[r+16>>2])?0|jb[127&ar[36+(0|ar[r>>2])>>2]](r):0|hf(0|tr[i>>0]),-1)){ar[A>>2]=0,i=1;break}i=0==(0|ar[A>>2]);break}i=1}while(0);do{if(o){if(0|Mf(r=(0|(r=0|ar[o+12>>2]))==(0|ar[o+16>>2])?0|jb[127&ar[36+(0|ar[o>>2])>>2]](o):0|hf(0|tr[r>>0]),-1)){l=ar[e>>2]=0,H=59;break}if(i^0==(0|l)){o=f=l;break}l=j;break e}H=59}while(0);if(59==(0|H)){if(H=0,i){l=j;break e}f=l,o=0}if(l=0|ar[A>>2],(255&(l=(0|(r=0|ar[l+12>>2]))==(0|ar[l+16>>2])?0|jb[127&ar[36+(0|ar[l>>2])>>2]](l):0|hf(0|tr[r>>0])))<<24>>24<=-1){l=j;break e}if(!(8192&or[(0|ar[m>>2])+(l<<24>>24<<1)>>1])){l=j;break e}l=0|ar[A>>2],_u(Y,255&(l=(0|(i=0|ar[(r=l+12|0)>>2]))==(0|ar[l+16>>2])?0|jb[127&ar[40+(0|ar[l>>2])>>2]](l):(ar[r>>2]=i+1,0|hf(0|tr[i>>0])))),l=f,H=46}}while(0);j=l,z=z+1|0}A:do{if(44==(0|H))ar[n>>2]=4|ar[n>>2],r=0;else if(103==(0|H))ar[n>>2]=4|ar[n>>2],r=0;else if(144==(0|H))ar[n>>2]=4|ar[n>>2],r=0;else if(232==(0|H))ar[n>>2]=4|ar[n>>2],r=0;else if(234==(0|H)){e:do{if(o){f=j+11|0,M=j+4|0,o=1;r:for(;;){if((l=0|tr[f>>0])<<24>>24<0?l=0|ar[M>>2]:l&=255,l>>>0<=o>>>0)break e;l=0|ar[A>>2];do{if(l){if(0|Mf(l=(0|(r=0|ar[l+12>>2]))==(0|ar[l+16>>2])?0|jb[127&ar[36+(0|ar[l>>2])>>2]](l):0|hf(0|tr[r>>0]),-1)){ar[A>>2]=0,i=1;break}i=0==(0|ar[A>>2]);break}i=1}while(0);l=0|ar[e>>2];do{if(l){if(0|Mf(l=(0|(r=0|ar[l+12>>2]))==(0|ar[l+16>>2])?0|jb[127&ar[36+(0|ar[l>>2])>>2]](l):0|hf(0|tr[r>>0]),-1)){ar[e>>2]=0,H=253;break}if(i)break;break r}H=253}while(0);if(253==(0|H)&&(H=0,i))break;if(l=0|ar[A>>2],l=(0|(r=0|ar[l+12>>2]))==(0|ar[l+16>>2])?0|jb[127&ar[36+(0|ar[l>>2])>>2]](l):0|hf(0|tr[r>>0]),r=(0|tr[f>>0])<0?0|ar[j>>2]:j,(255&l)<<24>>24!=(0|tr[r+o>>0]))break;l=o+1|0,r=0|ar[A>>2],(0|(o=0|ar[(i=r+12|0)>>2]))!=(0|ar[r+16>>2])?(ar[i>>2]=o+1,hf(0|tr[o>>0]),o=l):(jb[127&ar[40+(0|ar[r>>2])>>2]](r),o=l)}ar[n>>2]=4|ar[n>>2],r=0;break A}}while(0);if((0|(r=0|ar[D>>2]))!=(0|(l=0|ar[G>>2]))){if(ar[V>>2]=0,gn(F,r,l,V),0|ar[V>>2]){ar[n>>2]=4|ar[n>>2],r=0;break}r=1;break}r=1}}while(0);return Bu(Y),Bu(_),Bu(N),Bu(R),Bu(F),l=0|ar[D>>2],(ar[D>>2]=0)|l&&is[511&ar[Q>>2]](l),ur=J,0|r}function ci(A,e,r){return(e|=0)>>>0<=(A|=0)>>>0&A>>>0<(r|=0)>>>0|0}function li(A,e,r){e|=0,r|=0;var i,f,n=0,t=0,o=0;t=444!=(0|ar[(f=(A|=0)+4|0)>>2]),n=0|ar[A>>2],o=0==(0|(o=(o=(0|ar[r>>2])-n|0)>>>0<2147483647?o<<1:-1))?1:o,i=(0|ar[e>>2])-n|0,(n=0|Ec(t?n:0,o))||gu(),t?ar[A>>2]=n:(t=0|ar[A>>2],ar[A>>2]=n,t&&(is[511&ar[f>>2]](t),n=0|ar[A>>2])),ar[f>>2]=445,ar[e>>2]=n+i,ar[r>>2]=(0|ar[A>>2])+o}function ui(A,e,r){e|=0,r|=0;var i,f,n=0,t=0,o=0;t=444!=(0|ar[(f=(A|=0)+4|0)>>2]),n=0|ar[A>>2],o=0==(0|(o=(o=(0|ar[r>>2])-n|0)>>>0<2147483647?o<<1:-1))?4:o,i=(0|ar[e>>2])-n>>2,(n=0|Ec(t?n:0,o))||gu(),t?ar[A>>2]=n:(t=0|ar[A>>2],ar[A>>2]=n,t&&(is[511&ar[f>>2]](t),n=0|ar[A>>2])),ar[f>>2]=445,ar[e>>2]=n+(i<<2),ar[r>>2]=(0|ar[A>>2])+(o>>>2<<2)}function bi(A,e,r,i,f,n,t,o,a,c,l){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,a|=0,c|=0,l|=0;var u,b,s,d,k,h,w,v,m,g,Z,p,y,B,E,X,W,I,C,G,V,F,R,N,_,Y,Q,D,J=0,M=0,T=0,U=0,S=0,O=0,z=0,j=0;for(G=ur=(D=ur)+31&-32,ur=ur+512|0,z=104+G|0,Q=88+G|0,C=80+G|0,B=76+G|0,E=504+G|0,X=72+G|0,W=68+G|0,V=56+G|0,F=44+G|0,R=32+G|0,N=20+G|0,_=8+G|0,I=4+G|0,ar[(y=96+G|0)>>2]=l,ar[Q>>2]=z,ar[(Y=4+Q|0)>>2]=444,ar[C>>2]=z,ar[B>>2]=z+400,ar[V>>2]=0,ar[4+V>>2]=0,l=ar[8+V>>2]=0;3!=(0|l);)l=l+1|(ar[V+(l<<2)>>2]=0);for(ar[F>>2]=0,ar[4+F>>2]=0,l=ar[8+F>>2]=0;3!=(0|l);)l=l+1|(ar[F+(l<<2)>>2]=0);for(ar[R>>2]=0,ar[4+R>>2]=0,l=ar[8+R>>2]=0;3!=(0|l);)l=l+1|(ar[R+(l<<2)>>2]=0);for(ar[N>>2]=0,ar[4+N>>2]=0,l=ar[8+N>>2]=0;3!=(0|l);)l=l+1|(ar[N+(l<<2)>>2]=0);for(ar[_>>2]=0,ar[4+_>>2]=0,l=ar[8+_>>2]=0;3!=(0|l);)l=l+1|(ar[_+(l<<2)>>2]=0);!function(A,e,r,i,f,n,t,o,a,c){e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,a|=0,c|=0;var l,u,b;if(u=ur=(b=ur)+31&-32,ur=ur+16|0,l=12+u|0,A|=0){for(e=0|un(e,60968),fs[63&ar[44+(0|ar[e>>2])>>2]](l,e),A=0|ar[l>>2],tr[r>>0]=A,tr[r+1>>0]=A>>8,tr[r+2>>0]=A>>16,tr[r+3>>0]=A>>24,fs[63&ar[32+(0|ar[e>>2])>>2]](u,e),(0|tr[(A=a+8+3|0)>>0])<0?(r=0|ar[a>>2],ar[l>>2]=0,ln(r,l),ar[a+4>>2]=0):(ar[l>>2]=0,ln(a,l),tr[A>>0]=0),Mu(a,0),ar[a>>2]=ar[u>>2],ar[a+4>>2]=ar[4+u>>2],ar[a+8>>2]=ar[8+u>>2],A=0;3!=(0|A);)ar[u+(A<<2)>>2]=0,A=A+1|0;for(Qu(u),fs[63&ar[28+(0|ar[e>>2])>>2]](u,e),(0|tr[(A=o+8+3|0)>>0])<0?(a=0|ar[o>>2],ar[l>>2]=0,ln(a,l),ar[o+4>>2]=0):(ar[l>>2]=0,ln(o,l),tr[A>>0]=0),Mu(o,0),ar[o>>2]=ar[u>>2],ar[o+4>>2]=ar[4+u>>2],ar[o+8>>2]=ar[8+u>>2],A=0;3!=(0|A);)ar[u+(A<<2)>>2]=0,A=A+1|0;for(Qu(u),A=0|jb[127&ar[12+(0|ar[e>>2])>>2]](e),ar[i>>2]=A,A=0|jb[127&ar[16+(0|ar[e>>2])>>2]](e),ar[f>>2]=A,fs[63&ar[20+(0|ar[e>>2])>>2]](u,e),A=((0|tr[(A=n+11|0)>>0])<0?(A=0|ar[n>>2],tr[l>>0]=0,Qf(A,l),ar[n+4>>2]=0):(tr[l>>0]=0,Qf(n,l),tr[A>>0]=0),n),Cu(n,0),ar[A>>2]=ar[u>>2],ar[A+4>>2]=ar[4+u>>2],ar[A+8>>2]=ar[8+u>>2],A=0;3!=(0|A);)ar[u+(A<<2)>>2]=0,A=A+1|0;for(Bu(u),fs[63&ar[24+(0|ar[e>>2])>>2]](u,e),(0|tr[(A=t+8+3|0)>>0])<0?(n=0|ar[t>>2],ar[l>>2]=0,ln(n,l),ar[t+4>>2]=0):(ar[l>>2]=0,ln(t,l),tr[A>>0]=0),Mu(t,0),ar[t>>2]=ar[u>>2],ar[t+4>>2]=ar[4+u>>2],ar[t+8>>2]=ar[8+u>>2],A=0;3!=(0|A);)ar[u+(A<<2)>>2]=0,A=A+1|0;Qu(u),A=0|jb[127&ar[36+(0|ar[e>>2])>>2]](e)}else{for(e=0|un(e,60960),fs[63&ar[44+(0|ar[e>>2])>>2]](l,e),A=0|ar[l>>2],tr[r>>0]=A,tr[r+1>>0]=A>>8,tr[r+2>>0]=A>>16,tr[r+3>>0]=A>>24,fs[63&ar[32+(0|ar[e>>2])>>2]](u,e),(0|tr[(A=a+8+3|0)>>0])<0?(r=0|ar[a>>2],ar[l>>2]=0,ln(r,l),ar[a+4>>2]=0):(ar[l>>2]=0,ln(a,l),tr[A>>0]=0),Mu(a,0),ar[a>>2]=ar[u>>2],ar[a+4>>2]=ar[4+u>>2],ar[a+8>>2]=ar[8+u>>2],A=0;3!=(0|A);)ar[u+(A<<2)>>2]=0,A=A+1|0;for(Qu(u),fs[63&ar[28+(0|ar[e>>2])>>2]](u,e),(0|tr[(A=o+8+3|0)>>0])<0?(a=0|ar[o>>2],ar[l>>2]=0,ln(a,l),ar[o+4>>2]=0):(ar[l>>2]=0,ln(o,l),tr[A>>0]=0),Mu(o,0),ar[o>>2]=ar[u>>2],ar[o+4>>2]=ar[4+u>>2],ar[o+8>>2]=ar[8+u>>2],A=0;3!=(0|A);)ar[u+(A<<2)>>2]=0,A=A+1|0;for(Qu(u),A=0|jb[127&ar[12+(0|ar[e>>2])>>2]](e),ar[i>>2]=A,A=0|jb[127&ar[16+(0|ar[e>>2])>>2]](e),ar[f>>2]=A,fs[63&ar[20+(0|ar[e>>2])>>2]](u,e),A=((0|tr[(A=n+11|0)>>0])<0?(A=0|ar[n>>2],tr[l>>0]=0,Qf(A,l),ar[n+4>>2]=0):(tr[l>>0]=0,Qf(n,l),tr[A>>0]=0),n),Cu(n,0),ar[A>>2]=ar[u>>2],ar[A+4>>2]=ar[4+u>>2],ar[A+8>>2]=ar[8+u>>2],A=0;3!=(0|A);)ar[u+(A<<2)>>2]=0,A=A+1|0;for(Bu(u),fs[63&ar[24+(0|ar[e>>2])>>2]](u,e),(0|tr[(A=t+8+3|0)>>0])<0?(n=0|ar[t>>2],ar[l>>2]=0,ln(n,l),ar[t+4>>2]=0):(ar[l>>2]=0,ln(t,l),tr[A>>0]=0),Mu(t,0),ar[t>>2]=ar[u>>2],ar[t+4>>2]=ar[4+u>>2],ar[t+8>>2]=ar[8+u>>2],A=0;3!=(0|A);)ar[u+(A<<2)>>2]=0,A=A+1|0;Qu(u),A=0|jb[127&ar[36+(0|ar[e>>2])>>2]](e)}ar[c>>2]=A,ur=b}(r,i,E,X,W,V,F,R,N,I),ar[c>>2]=ar[a>>2],m=8+R+3|0,g=4+R|0,Z=8+N+3|0,p=4+N|0,u=0!=(512&f|0),b=8+F+3|0,s=4+F|0,d=8+_+3|0,k=4+_|0,h=3+E|0,w=11+V|0,v=4+V|0,O=z=0;A:for(;;){if(f=0!=(0|z),4<=O>>>0){j=229;break}l=0|ar[A>>2];do{if(l){if(0|Uf(l=(0|(r=0|ar[l+12>>2]))==(0|ar[l+16>>2])?0|jb[127&ar[36+(0|ar[l>>2])>>2]](l):0|gf(0|ar[r>>2]),-1)){ar[A>>2]=0,i=1;break}i=0==(0|ar[A>>2]);break}i=1}while(0);r=0|ar[e>>2];do{if(r){if(0|Uf(l=(0|(l=0|ar[r+12>>2]))==(0|ar[r+16>>2])?0|jb[127&ar[36+(0|ar[r>>2])>>2]](r):0|gf(0|ar[l>>2]),-1)){ar[e>>2]=0,j=31;break}if(i){S=r;break}j=229;break A}j=31}while(0);if(31==(0|j)){if(j=0,i){j=229;break}S=0}l=3!=(0|O);e:do{switch(0|tr[E+O>>0]){case 1:if(l){if(l=0|ar[A>>2],l=(0|(r=0|ar[l+12>>2]))==(0|ar[l+16>>2])?0|jb[127&ar[36+(0|ar[l>>2])>>2]](l):0|gf(0|ar[r>>2]),!(0|xb[63&ar[12+(0|ar[o>>2])>>2]](o,8192,l))){j=43;break A}l=0|ar[A>>2],Ou(_,l=(0|(i=0|ar[(r=l+12|0)>>2]))==(0|ar[l+16>>2])?0|jb[127&ar[40+(0|ar[l>>2])>>2]](l):(ar[r>>2]=i+4,0|gf(0|ar[i>>2]))),f=l=S,j=45}else l=z;break;case 0:l?(f=l=S,j=45):l=z;break;case 3:if((0|(l=(l=0|tr[m>>0])<<24>>24<0?0|ar[g>>2]:255&l))==(0-(f=(f=0|tr[Z>>0])<<24>>24<0?0|ar[p>>2]:255&f)|0))l=z;else{if(J=0==(0|l),l=0|ar[A>>2],i=(0|(r=0|ar[l+12>>2]))==(0|ar[l+16>>2]),J|0==(0|f)){if(l=i?0|jb[127&ar[36+(0|ar[l>>2])>>2]](l):0|gf(0|ar[r>>2]),J){if((0|l)!=(0|ar[((0|tr[Z>>0])<0?0|ar[N>>2]:N)>>2])){l=z;break e}l=0|ar[A>>2],(0|(i=0|ar[(r=l+12|0)>>2]))==(0|ar[l+16>>2])?jb[127&ar[40+(0|ar[l>>2])>>2]](l):(ar[r>>2]=i+4,gf(0|ar[i>>2])),l=(tr[t>>0]=1)<((l=0|tr[Z>>0])<<24>>24<0?0|ar[p>>2]:255&l)>>>0?N:z;break e}if((0|l)!=(0|ar[((0|tr[m>>0])<0?0|ar[R>>2]:R)>>2])){tr[t>>0]=1,l=z;break e}l=0|ar[A>>2],(0|(i=0|ar[(r=l+12|0)>>2]))==(0|ar[l+16>>2])?jb[127&ar[40+(0|ar[l>>2])>>2]](l):(ar[r>>2]=i+4,gf(0|ar[i>>2])),l=1<((l=0|tr[m>>0])<<24>>24<0?0|ar[g>>2]:255&l)>>>0?R:z;break e}if(l=i?0|jb[127&ar[36+(0|ar[l>>2])>>2]](l):0|gf(0|ar[r>>2]),r=0|ar[A>>2],J=(0|(f=0|ar[(i=r+12|0)>>2]))==(0|ar[r+16>>2]),(0|l)==(0|ar[((0|tr[m>>0])<0?0|ar[R>>2]:R)>>2])){J?jb[127&ar[40+(0|ar[r>>2])>>2]](r):(ar[i>>2]=f+4,gf(0|ar[f>>2])),l=1<((l=0|tr[m>>0])<<24>>24<0?0|ar[g>>2]:255&l)>>>0?R:z;break e}if((0|(l=J?0|jb[127&ar[36+(0|ar[r>>2])>>2]](r):0|gf(0|ar[f>>2])))!=(0|ar[((0|tr[Z>>0])<0?0|ar[N>>2]:N)>>2])){j=101;break A}l=0|ar[A>>2],(0|(i=0|ar[(r=l+12|0)>>2]))==(0|ar[l+16>>2])?jb[127&ar[40+(0|ar[l>>2])>>2]](l):(ar[r>>2]=i+4,gf(0|ar[i>>2])),l=(tr[t>>0]=1)<((l=0|tr[Z>>0])<<24>>24<0?0|ar[p>>2]:255&l)>>>0?N:z}break;case 2:if(!(O>>>0<2|f)&&!(u|2==(0|O)&0!=(0|tr[h>>0]))){l=0;break e}i=0|tr[b>>0],f=0|ar[F>>2],l=i<<24>>24<0?f:F;r:do{if(0!=(0|O)&&(0|cr[E+(O+-1)>>0])<2){for(;(0|(r=l))!=(((U=i<<24>>24<0)?f:F)+((U?0|ar[s>>2]:255&i)<<2)|0);){if(!(0|xb[63&ar[12+(0|ar[o>>2])>>2]](o,8192,0|ar[r>>2]))){j=108;break}l=r+4|0,i=0|tr[b>>0],f=0|ar[F>>2]}if(108==(0|j)&&(i=(j=0)|tr[b>>0],f=0|ar[F>>2]),T=l-(U=J=i<<24>>24<0?f:F)>>2,(M=(r=(M=0|tr[d>>0])<<24>>24<0)?0|ar[k>>2]:255&M)>>>0<T>>>0)r=U,J=T=S;else for(r=(M=(r?0|ar[_>>2]:_)+(M<<2)|0)+(0-T<<2)|0;;){if((0|r)==(0|M)){r=l,J=T=S;break r}if((0|ar[r>>2])!=(0|ar[J>>2])){r=U,J=T=S;break r}J=J+4|0,r=r+4|0}}else r=l,J=T=S}while(0);r:for(;(0|(M=r))!=(0|(l=((l=i<<24>>24<0)?f:F)+((l?0|ar[s>>2]:255&i)<<2)|0));){l=0|ar[A>>2];do{if(l){if(0|Uf(l=(0|(r=0|ar[l+12>>2]))==(0|ar[l+16>>2])?0|jb[127&ar[36+(0|ar[l>>2])>>2]](l):0|gf(0|ar[r>>2]),-1)){ar[A>>2]=0,r=1;break}r=0==(0|ar[A>>2]);break}r=1}while(0);do{if(J){if(0|Uf(l=(0|(l=0|ar[J+12>>2]))==(0|ar[J+16>>2])?0|jb[127&ar[36+(0|ar[J>>2])>>2]](J):0|gf(0|ar[l>>2]),-1)){l=ar[e>>2]=0,j=129;break}if(r^0==(0|T)){J=l=T;break}l=M;break r}l=T,j=129}while(0);if(129==(0|j)){if(j=0,r){l=M;break}J=0}if(r=0|ar[A>>2],(0|(r=(0|(i=0|ar[r+12>>2]))==(0|ar[r+16>>2])?0|jb[127&ar[36+(0|ar[r>>2])>>2]](r):0|gf(0|ar[i>>2])))!=(0|ar[M>>2])){l=M;break}r=0|ar[A>>2],(0|(f=0|ar[(i=r+12|0)>>2]))==(0|ar[r+16>>2])?jb[127&ar[40+(0|ar[r>>2])>>2]](r):(ar[i>>2]=f+4,gf(0|ar[f>>2])),T=l,r=M+4|0,i=0|tr[b>>0],f=0|ar[F>>2]}if(u&&(0|l)!=(((U=(S=0|tr[b>>0])<<24>>24<0)?0|ar[F>>2]:F)+((U?0|ar[s>>2]:255&S)<<2)|0)){j=141;break A}l=z;break;case 4:T=0,f=l=S;r:for(;;){r=0|ar[A>>2];do{if(r){if(0|Uf(r=(0|(i=0|ar[r+12>>2]))==(0|ar[r+16>>2])?0|jb[127&ar[36+(0|ar[r>>2])>>2]](r):0|gf(0|ar[i>>2]),-1)){ar[A>>2]=0,i=1;break}i=0==(0|ar[A>>2]);break}i=1}while(0);do{if(f){if(0|Uf(r=(0|(r=0|ar[f+12>>2]))==(0|ar[f+16>>2])?0|jb[127&ar[36+(0|ar[f>>2])>>2]](f):0|gf(0|ar[r>>2]),-1)){l=ar[e>>2]=0,j=155;break}if(i^0==(0|l)){M=J=l;break}f=l;break r}j=155}while(0);if(155==(0|j)){if(j=0,i){f=l;break}J=l,M=0}if(l=0|ar[A>>2],r=(0|(r=0|ar[l+12>>2]))==(0|ar[l+16>>2])?0|jb[127&ar[36+(0|ar[l>>2])>>2]](l):0|gf(0|ar[r>>2]),0|xb[63&ar[12+(0|ar[o>>2])>>2]](o,2048,r))(0|(l=0|ar[c>>2]))==(0|ar[y>>2])&&(di(a,c,y),l=0|ar[c>>2]),ar[c>>2]=l+4,ar[l>>2]=r,l=T+1|0;else{if(S=0|tr[w>>0],!((0|r)==(0|ar[W>>2])&(0|T?0!=(0|(S<<24>>24<0?0|ar[v>>2]:255&S)):0))){f=J;break}(0|(l=0|ar[C>>2]))==(0|ar[B>>2])&&(ui(Q,C,B),l=0|ar[C>>2]),ar[C>>2]=l+4,ar[l>>2]=T,l=0}r=0|ar[A>>2],(0|(f=0|ar[(i=r+12|0)>>2]))!=(0|ar[r+16>>2])?(ar[i>>2]=f+4,gf(0|ar[f>>2]),T=l,l=J,f=M):(jb[127&ar[40+(0|ar[r>>2])>>2]](r),T=l,l=J,f=M)}l=0|ar[C>>2],0|T&&(0|ar[Q>>2])!=(0|l)&&((0|l)==(0|ar[B>>2])&&(ui(Q,C,B),l=0|ar[C>>2]),ar[C>>2]=l+4,ar[l>>2]=T);r:do{if(0<(0|ar[I>>2])){l=0|ar[A>>2];do{if(l){if(0|Uf(l=(0|(r=0|ar[l+12>>2]))==(0|ar[l+16>>2])?0|jb[127&ar[36+(0|ar[l>>2])>>2]](l):0|gf(0|ar[r>>2]),-1)){ar[A>>2]=0,r=1;break}r=0==(0|ar[A>>2]);break}r=1}while(0);do{if(f){if(0|Uf(l=(0|(l=0|ar[f+12>>2]))==(0|ar[f+16>>2])?0|jb[127&ar[36+(0|ar[f>>2])>>2]](f):0|gf(0|ar[l>>2]),-1)){ar[e>>2]=0,j=189;break}if(r)break;j=227;break A}j=189}while(0);if(189==(0|j)){if(j=0,r){j=227;break A}f=0}if(l=0|ar[A>>2],(0|(l=(0|(r=0|ar[l+12>>2]))==(0|ar[l+16>>2])?0|jb[127&ar[36+(0|ar[l>>2])>>2]](l):0|gf(0|ar[r>>2])))!=(0|ar[X>>2])){j=227;break A}for(l=0|ar[A>>2],l=((0|(i=0|ar[(r=l+12|0)>>2]))==(0|ar[l+16>>2])?jb[127&ar[40+(0|ar[l>>2])>>2]](l):(ar[r>>2]=i+4,gf(0|ar[i>>2])),f);;){if((0|ar[I>>2])<=0)break r;r=0|ar[A>>2];do{if(r){if(0|Uf(r=(0|(i=0|ar[r+12>>2]))==(0|ar[r+16>>2])?0|jb[127&ar[36+(0|ar[r>>2])>>2]](r):0|gf(0|ar[i>>2]),-1)){ar[A>>2]=0,i=1;break}i=0==(0|ar[A>>2]);break}i=1}while(0);do{if(f){if(0|Uf(r=(0|(r=0|ar[f+12>>2]))==(0|ar[f+16>>2])?0|jb[127&ar[36+(0|ar[f>>2])>>2]](f):0|gf(0|ar[r>>2]),-1)){l=ar[e>>2]=0,j=212;break}if(i^0==(0|l)){f=J=l;break}j=227;break A}j=212}while(0);if(212==(0|j)){if(j=0,i){j=227;break A}J=l,f=0}if(l=0|ar[A>>2],l=(0|(r=0|ar[l+12>>2]))==(0|ar[l+16>>2])?0|jb[127&ar[36+(0|ar[l>>2])>>2]](l):0|gf(0|ar[r>>2]),!(0|xb[63&ar[12+(0|ar[o>>2])>>2]](o,2048,l))){j=227;break A}(0|ar[c>>2])==(0|ar[y>>2])&&di(a,c,y),l=0|ar[A>>2],l=(0|(r=0|ar[l+12>>2]))==(0|ar[l+16>>2])?0|jb[127&ar[36+(0|ar[l>>2])>>2]](l):0|gf(0|ar[r>>2]),r=0|ar[c>>2],ar[c>>2]=r+4,ar[r>>2]=l,ar[I>>2]=(0|ar[I>>2])-1,l=0|ar[A>>2],(0|(i=0|ar[(r=l+12|0)>>2]))!=(0|ar[l+16>>2])?(ar[r>>2]=i+4,gf(0|ar[i>>2]),l=J):(jb[127&ar[40+(0|ar[l>>2])>>2]](l),l=J)}}}while(0);if((0|ar[c>>2])==(0|ar[a>>2])){j=227;break A}l=z;break;default:l=z}}while(0);e:do{if(45==(0|j))for(;;){r=(j=0)|ar[A>>2];do{if(r){if(0|Uf(r=(0|(i=0|ar[r+12>>2]))==(0|ar[r+16>>2])?0|jb[127&ar[36+(0|ar[r>>2])>>2]](r):0|gf(0|ar[i>>2]),-1)){ar[A>>2]=0,i=1;break}i=0==(0|ar[A>>2]);break}i=1}while(0);do{if(f){if(0|Uf(r=(0|(r=0|ar[f+12>>2]))==(0|ar[f+16>>2])?0|jb[127&ar[36+(0|ar[f>>2])>>2]](f):0|gf(0|ar[r>>2]),-1)){l=ar[e>>2]=0,j=58;break}if(i^0==(0|l)){f=J=l;break}l=z;break e}j=58}while(0);if(58==(0|j)){if(j=0,i){l=z;break e}J=l,f=0}if(l=0|ar[A>>2],l=(0|(r=0|ar[l+12>>2]))==(0|ar[l+16>>2])?0|jb[127&ar[36+(0|ar[l>>2])>>2]](l):0|gf(0|ar[r>>2]),!(0|xb[63&ar[12+(0|ar[o>>2])>>2]](o,8192,l))){l=z;break e}l=0|ar[A>>2],Ou(_,l=(0|(i=0|ar[(r=l+12|0)>>2]))==(0|ar[l+16>>2])?0|jb[127&ar[40+(0|ar[l>>2])>>2]](l):(ar[r>>2]=i+4,0|gf(0|ar[i>>2]))),l=J,j=45}}while(0);z=l,O=O+1|0}A:do{if(43==(0|j))ar[n>>2]=4|ar[n>>2],r=0;else if(101==(0|j))ar[n>>2]=4|ar[n>>2],r=0;else if(141==(0|j))ar[n>>2]=4|ar[n>>2],r=0;else if(227==(0|j))ar[n>>2]=4|ar[n>>2],r=0;else if(229==(0|j)){e:do{if(f){J=z+8+3|0,M=z+4|0,f=1;r:for(;;){if((l=0|tr[J>>0])<<24>>24<0?l=0|ar[M>>2]:l&=255,l>>>0<=f>>>0)break e;l=0|ar[A>>2];do{if(l){if(0|Uf(l=(0|(r=0|ar[l+12>>2]))==(0|ar[l+16>>2])?0|jb[127&ar[36+(0|ar[l>>2])>>2]](l):0|gf(0|ar[r>>2]),-1)){ar[A>>2]=0,i=1;break}i=0==(0|ar[A>>2]);break}i=1}while(0);l=0|ar[e>>2];do{if(l){if(0|Uf(l=(0|(r=0|ar[l+12>>2]))==(0|ar[l+16>>2])?0|jb[127&ar[36+(0|ar[l>>2])>>2]](l):0|gf(0|ar[r>>2]),-1)){ar[e>>2]=0,j=248;break}if(i)break;break r}j=248}while(0);if(248==(0|j)&&(j=0,i))break;if(l=0|ar[A>>2],l=(0|(r=0|ar[l+12>>2]))==(0|ar[l+16>>2])?0|jb[127&ar[36+(0|ar[l>>2])>>2]](l):0|gf(0|ar[r>>2]),r=(0|tr[J>>0])<0?0|ar[z>>2]:z,(0|l)!=(0|ar[r+(f<<2)>>2]))break;l=f+1|0,r=0|ar[A>>2],(0|(f=0|ar[(i=r+12|0)>>2]))!=(0|ar[r+16>>2])?(ar[i>>2]=f+4,gf(0|ar[f>>2]),f=l):(jb[127&ar[40+(0|ar[r>>2])>>2]](r),f=l)}ar[n>>2]=4|ar[n>>2],r=0;break A}}while(0);if((0|(r=0|ar[Q>>2]))!=(0|(l=0|ar[C>>2]))){if(ar[G>>2]=0,gn(V,r,l,G),0|ar[G>>2]){ar[n>>2]=4|ar[n>>2],r=0;break}r=1;break}r=1}}while(0);return Qu(_),Qu(N),Qu(R),Qu(F),Bu(V),l=0|ar[Q>>2],(ar[Q>>2]=0)|l&&is[511&ar[Y>>2]](l),ur=D,0|r}function si(A,e,r){return(e|=0)>>>0<=(A|=0)>>>0&A>>>0<(r|=0)>>>0|0}function di(A,e,r){e|=0,r|=0;var i,f,n=0,t=0,o=0;t=444!=(0|ar[(f=(A|=0)+4|0)>>2]),n=0|ar[A>>2],o=0==(0|(o=(o=(0|ar[r>>2])-n|0)>>>0<2147483647?o<<1:-1))?4:o,i=(0|ar[e>>2])-n>>2,(n=0|Ec(t?n:0,o))||gu(),t?ar[A>>2]=n:(t=0|ar[A>>2],ar[A>>2]=n,t&&(is[511&ar[f>>2]](t),n=0|ar[A>>2])),ar[f>>2]=445,ar[e>>2]=n+(i<<2),ar[r>>2]=(0|ar[A>>2])+(o>>>2<<2)}function ki(A,e,r,i,f,n,t,o,a,c){e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,a|=0,c|=0;var l,u,b,s=0;if(u=ur=(b=ur)+31&-32,ur=ur+16|0,l=12+u|0,A|=0){if(s=0|un(r,60952),e){for(fs[63&ar[44+(0|ar[s>>2])>>2]](l,s),A=0|ar[l>>2],tr[i>>0]=A,tr[i+1>>0]=A>>8,tr[i+2>>0]=A>>16,tr[i+3>>0]=A>>24,fs[63&ar[32+(0|ar[s>>2])>>2]](u,s),A=((0|tr[(A=a+11|0)>>0])<0?(A=0|ar[a>>2],tr[l>>0]=0,Qf(A,l),ar[a+4>>2]=0):(tr[l>>0]=0,Qf(a,l),tr[A>>0]=0),a),Cu(a,0),ar[A>>2]=ar[u>>2],ar[A+4>>2]=ar[4+u>>2],ar[A+8>>2]=ar[8+u>>2],A=0;3!=(0|A);)A=A+1|(ar[u+(A<<2)>>2]=0);Bu(u),r=s}else{for(fs[63&ar[40+(0|ar[s>>2])>>2]](l,s),A=0|ar[l>>2],tr[i>>0]=A,tr[i+1>>0]=A>>8,tr[i+2>>0]=A>>16,tr[i+3>>0]=A>>24,fs[63&ar[28+(0|ar[s>>2])>>2]](u,s),A=((0|tr[(A=a+11|0)>>0])<0?(A=0|ar[a>>2],tr[l>>0]=0,Qf(A,l),ar[a+4>>2]=0):(tr[l>>0]=0,Qf(a,l),tr[A>>0]=0),a),Cu(a,0),ar[A>>2]=ar[u>>2],ar[A+4>>2]=ar[4+u>>2],ar[A+8>>2]=ar[8+u>>2],A=0;3!=(0|A);)A=A+1|(ar[u+(A<<2)>>2]=0);Bu(u),r=s}for(A=0|jb[127&ar[12+(0|ar[s>>2])>>2]](s),tr[f>>0]=A,A=0|jb[127&ar[16+(0|ar[s>>2])>>2]](s),tr[n>>0]=A,fs[63&ar[20+(0|ar[r>>2])>>2]](u,s),A=((0|tr[(A=t+11|0)>>0])<0?(A=0|ar[t>>2],tr[l>>0]=0,Qf(A,l),ar[t+4>>2]=0):(tr[l>>0]=0,Qf(t,l),tr[A>>0]=0),t),Cu(t,0),ar[A>>2]=ar[u>>2],ar[A+4>>2]=ar[4+u>>2],ar[A+8>>2]=ar[8+u>>2],A=0;3!=(0|A);)A=A+1|(ar[u+(A<<2)>>2]=0);for(Bu(u),fs[63&ar[24+(0|ar[r>>2])>>2]](u,s),A=((0|tr[(A=o+11|0)>>0])<0?(A=0|ar[o>>2],tr[l>>0]=0,Qf(A,l),ar[o+4>>2]=0):(tr[l>>0]=0,Qf(o,l),tr[A>>0]=0),o),Cu(o,0),ar[A>>2]=ar[u>>2],ar[A+4>>2]=ar[4+u>>2],ar[A+8>>2]=ar[8+u>>2],A=0;3!=(0|A);)A=A+1|(ar[u+(A<<2)>>2]=0);Bu(u),A=0|jb[127&ar[36+(0|ar[s>>2])>>2]](s)}else{if(s=0|un(r,60944),e){for(fs[63&ar[44+(0|ar[s>>2])>>2]](l,s),A=0|ar[l>>2],tr[i>>0]=A,tr[i+1>>0]=A>>8,tr[i+2>>0]=A>>16,tr[i+3>>0]=A>>24,fs[63&ar[32+(0|ar[s>>2])>>2]](u,s),A=((0|tr[(A=a+11|0)>>0])<0?(A=0|ar[a>>2],tr[l>>0]=0,Qf(A,l),ar[a+4>>2]=0):(tr[l>>0]=0,Qf(a,l),tr[A>>0]=0),a),Cu(a,0),ar[A>>2]=ar[u>>2],ar[A+4>>2]=ar[4+u>>2],ar[A+8>>2]=ar[8+u>>2],A=0;3!=(0|A);)A=A+1|(ar[u+(A<<2)>>2]=0);Bu(u),r=s}else{for(fs[63&ar[40+(0|ar[s>>2])>>2]](l,s),A=0|ar[l>>2],tr[i>>0]=A,tr[i+1>>0]=A>>8,tr[i+2>>0]=A>>16,tr[i+3>>0]=A>>24,fs[63&ar[28+(0|ar[s>>2])>>2]](u,s),A=((0|tr[(A=a+11|0)>>0])<0?(A=0|ar[a>>2],tr[l>>0]=0,Qf(A,l),ar[a+4>>2]=0):(tr[l>>0]=0,Qf(a,l),tr[A>>0]=0),a),Cu(a,0),ar[A>>2]=ar[u>>2],ar[A+4>>2]=ar[4+u>>2],ar[A+8>>2]=ar[8+u>>2],A=0;3!=(0|A);)A=A+1|(ar[u+(A<<2)>>2]=0);Bu(u),r=s}for(A=0|jb[127&ar[12+(0|ar[s>>2])>>2]](s),tr[f>>0]=A,A=0|jb[127&ar[16+(0|ar[s>>2])>>2]](s),tr[n>>0]=A,fs[63&ar[20+(0|ar[r>>2])>>2]](u,s),A=((0|tr[(A=t+11|0)>>0])<0?(A=0|ar[t>>2],tr[l>>0]=0,Qf(A,l),ar[t+4>>2]=0):(tr[l>>0]=0,Qf(t,l),tr[A>>0]=0),t),Cu(t,0),ar[A>>2]=ar[u>>2],ar[A+4>>2]=ar[4+u>>2],ar[A+8>>2]=ar[8+u>>2],A=0;3!=(0|A);)A=A+1|(ar[u+(A<<2)>>2]=0);for(Bu(u),fs[63&ar[24+(0|ar[r>>2])>>2]](u,s),A=((0|tr[(A=o+11|0)>>0])<0?(A=0|ar[o>>2],tr[l>>0]=0,Qf(A,l),ar[o+4>>2]=0):(tr[l>>0]=0,Qf(o,l),tr[A>>0]=0),o),Cu(o,0),ar[A>>2]=ar[u>>2],ar[A+4>>2]=ar[4+u>>2],ar[A+8>>2]=ar[8+u>>2],A=0;3!=(0|A);)A=A+1|(ar[u+(A<<2)>>2]=0);Bu(u),A=0|jb[127&ar[36+(0|ar[s>>2])>>2]](s)}ar[c>>2]=A,ur=b}function hi(A,e,r,i,f,n,t,o,a,c,l,u,b,s,d){A|=0,e|=0,i|=0,f|=0,n|=0,t|=0,o|=0,a|=0,c|=0,l|=0,u|=0,b|=0,s|=0,d|=0;var k,h,w,v,m,g,Z,p,y,B=0,E=0,X=0,W=0,I=0,C=0,G=0,V=0,F=0;for(ar[(r|=0)>>2]=A,k=s+11|0,y=s+4|0,h=b+11|0,w=b+4|0,v=0==(512&i|0),m=t+8|0,g=0<(0|d),Z=u+11|0,p=u+4|0,G=0;4!=(0|G);){A:do{switch(0|tr[a+G>>0]){case 0:ar[e>>2]=ar[r>>2];break;case 1:ar[e>>2]=ar[r>>2],I=0|Hb[31&ar[28+(0|ar[t>>2])>>2]](t,32),C=0|ar[r>>2],ar[r>>2]=C+1,tr[C>>0]=I;break;case 3:0|((B=(C=0|tr[k>>0])<<24>>24<0)?0|ar[y>>2]:255&C)&&(I=0|tr[(B?0|ar[s>>2]:s)>>0],C=0|ar[r>>2],ar[r>>2]=C+1,tr[C>>0]=I);break;case 2:if(!(v|0==(0|(E=(B=(E=0|tr[h>>0])<<24>>24<0)?0|ar[w>>2]:255&E)))){for(X=(C=B?0|ar[b>>2]:b)+E|0,B=0|ar[r>>2],E=C;(0|E)!=(0|X);)tr[B>>0]=0|tr[E>>0],B=B+1|0,E=E+1|0;ar[r>>2]=B}break;case 4:for(E=0|ar[r>>2],X=f=o?f+1|0:f;!(n>>>0<=X>>>0)&&!((B=0|tr[X>>0])<<24>>24<=-1)&&2048&or[(0|ar[m>>2])+(B<<24>>24<<1)>>1];)X=X+1|0;if(g){for(W=d;f>>>0<X>>>0&(B=0<(0|W));)B=0|tr[(C=X+-1|0)>>0],I=0|ar[r>>2],ar[r>>2]=I+1,tr[I>>0]=B,W=W+-1|0,X=C;for(I=B?0|Hb[31&ar[28+(0|ar[t>>2])>>2]](t,48):0,B=W;W=0|ar[r>>2],ar[r>>2]=W+1,!((0|B)<=0);)tr[W>>0]=I,B=B+-1|0;tr[W>>0]=c}e:do{if((0|X)==(0|f))I=0|Hb[31&ar[28+(0|ar[t>>2])>>2]](t,48),C=0|ar[r>>2],ar[r>>2]=C+1,tr[C>>0]=I;else for(C=W=(I=0|((B=(C=0|tr[Z>>0])<<24>>24<0)?0|ar[p>>2]:255&C)?0|tr[(B?0|ar[u>>2]:u)>>0]:-1,0);;){if((0|X)==(0|f))break e;B=(0|C)==(0|I)?(I=0|ar[r>>2],ar[r>>2]=I+1,tr[I>>0]=l,I=(W=W+1|0)>>>0<((B=(I=0|tr[Z>>0])<<24>>24<0)?0|ar[p>>2]:255&I)>>>0?(I=0|tr[(B?0|ar[u>>2]:u)+W>>0])<<24>>24==127?-1:I<<24>>24:C,0):C,F=0|tr[(V=X+-1|0)>>0],C=0|ar[r>>2],ar[r>>2]=C+1,tr[C>>0]=F,C=B+1|0,X=V}}while(0);if((0|E)!=(0|(B=0|ar[r>>2])))for(;;){if((B=B+-1|0)>>>0<=E>>>0)break A;F=0|tr[E>>0],tr[E>>0]=0|tr[B>>0],tr[B>>0]=F,E=E+1|0}}}while(0);G=G+1|0}if(1<(f=(B=(f=0|tr[k>>0])<<24>>24<0)?0|ar[y>>2]:255&f)>>>0){for(E=(F=B?0|ar[s>>2]:s)+f|0,B=0|ar[r>>2],f=F;(0|(f=f+1|0))!=(0|E);)tr[B>>0]=0|tr[f>>0],B=B+1|0;ar[r>>2]=B}switch((176&i)<<24>>24){case 32:ar[e>>2]=ar[r>>2];break;case 16:break;default:ar[e>>2]=A}}function wi(A,e,r,i,f){A|=0,e|=0,r|=0,i|=0,f|=0;var n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0;A:do{if(36<e>>>0)ar[(f=10364)>>2]=22,i=f=0;else{for(d=A+4|0,s=A+100|0;0!=(0|mi(n=(n=0|ar[d>>2])>>>0<(0|ar[s>>2])>>>0?(ar[d>>2]=n+1,0|cr[n>>0]):0|vi(A))););e:do{switch(0|n){case 43:case 45:if(n=(45==(0|n))<<31>>31,(t=0|ar[d>>2])>>>0<(0|ar[s>>2])>>>0){ar[d>>2]=t+1,b=n,n=0|cr[t>>0];break e}b=n,n=0|vi(A);break e;default:b=0}}while(0);t=0==(0|e);do{if(16==(16|e)&48==(0|n)){if(120!=(32|(n=(n=0|ar[d>>2])>>>0<(0|ar[s>>2])>>>0?(ar[d>>2]=n+1,0|cr[n>>0]):0|vi(A)))){if(t){e=8,l=46;break}l=32;break}if(n=(n=0|ar[d>>2])>>>0<(0|ar[s>>2])>>>0?(ar[d>>2]=n+1,0|cr[n>>0]):0|vi(A),15<(0|cr[52625+n>>0])){if((i=0!=(0|ar[s>>2]))&&(ar[d>>2]=(0|ar[d>>2])-1),!r){nl(A,0),i=f=0;break A}if(!i){i=f=0;break A}ar[d>>2]=(0|ar[d>>2])-1,i=f=0;break A}e=16,l=46}else{if(e=t?10:e,!((0|cr[52625+n>>0])>>>0<e>>>0)){0|ar[s>>2]&&(ar[d>>2]=(0|ar[d>>2])-1),nl(A,0),ar[(f=10364)>>2]=22,i=f=0;break A}l=32}}while(0);e:do{if(32==(0|l))if(10==(0|e)){if((e=n+-48|0)>>>0<10){for(n=0,t=e;n=(10*n|0)+t|0,(t=(e=(e=0|ar[d>>2])>>>0<(0|ar[s>>2])>>>0?(ar[d>>2]=e+1,0|cr[e>>0]):0|vi(A))+-48|0)>>>0<10&n>>>0<429496729;);r=0}else e=n,r=n=0;if((o=e+-48|0)>>>0<10){t=e;do{if(e=0|nb(0|n,0|r,10,0),(u=~(c=((0|o)<0)<<31>>31))>>>0<(a=D)>>>0|(0|a)==(0|u)&~o>>>0<e>>>0){e=10,l=72;break e}n=0|tb(0|e,0|a,0|o,0|c),r=D,o=(t=(e=0|ar[d>>2])>>>0<(0|ar[s>>2])>>>0?(ar[d>>2]=e+1,0|cr[e>>0]):0|vi(A))+-48|0}while(o>>>0<10&(r>>>0<429496729|429496729==(0|r)&n>>>0<2576980378));9<o>>>0?(t=b,e=r):(e=10,l=72)}else t=b,e=r}else l=46}while(0);e:do{if(46==(0|l)){if(!(e+-1&e)){if(l=0|tr[52881+((23*e|0)>>>5&7)>>0],(t=255&(r=0|tr[52625+n>>0]))>>>0<e>>>0){for(n=0,o=t;n=o|n<<l,t=(t=0|ar[d>>2])>>>0<(0|ar[s>>2])>>>0?(ar[d>>2]=t+1,0|cr[t>>0]):0|vi(A),n>>>0<134217728&(o=255&(r=0|tr[52625+t>>0]))>>>0<e>>>0;);o=0}else t=n,n=o=0;if(a=0|sb(-1,-1,0|l),e>>>0<=(255&r)>>>0|(c=D)>>>0<o>>>0|(0|o)==(0|c)&a>>>0<n>>>0){r=o,l=72;break}for(t=o;;){if(n=0|db(0|n,0|t,0|l),o=D,n|=255&r,t=(t=0|ar[d>>2])>>>0<(0|ar[s>>2])>>>0?(ar[d>>2]=t+1,0|cr[t>>0]):0|vi(A),e>>>0<=(255&(r=0|tr[52625+t>>0]))>>>0|c>>>0<o>>>0|(0|o)==(0|c)&a>>>0<n>>>0){r=o,l=72;break e}t=o}}if((t=255&(r=0|tr[52625+n>>0]))>>>0<e>>>0){for(n=0,o=t;n=o+(0|br(n,e))|0,t=(t=0|ar[d>>2])>>>0<(0|ar[s>>2])>>>0?(ar[d>>2]=t+1,0|cr[t>>0]):0|vi(A),n>>>0<119304647&(o=255&(r=0|tr[52625+t>>0]))>>>0<e>>>0;);o=0}else t=n,o=n=0;if((255&r)>>>0<e>>>0)for(l=0|lb(-1,-1,0|e,0),u=D,c=o;;){if(u>>>0<c>>>0|(0|c)==(0|u)&l>>>0<n>>>0){r=c,l=72;break e}if(o=0|nb(0|n,0|c,0|e,0),4294967295<(a=D)>>>0|-1==(0|a)&~(r&=255)>>>0<o>>>0){r=c,l=72;break e}if(n=0|tb(0|r,0,0|o,0|a),o=D,t=(t=0|ar[d>>2])>>>0<(0|ar[s>>2])>>>0?(ar[d>>2]=t+1,0|cr[t>>0]):0|vi(A),e>>>0<=(255&(r=0|tr[52625+t>>0]))>>>0){r=o,l=72;break}c=o}else r=o,l=72}}while(0);if(72==(0|l))if((0|cr[52625+t>>0])>>>0<e>>>0){for(;n=(n=0|ar[d>>2])>>>0<(0|ar[s>>2])>>>0?(ar[d>>2]=n+1,0|cr[n>>0]):0|vi(A),(0|cr[52625+n>>0])>>>0<e>>>0;);ar[(t=10364)>>2]=34,t=0==(1&i|0)&!0?b:0,e=f,n=i}else t=b,e=r;if(0|ar[s>>2]&&(ar[d>>2]=(0|ar[d>>2])-1),!(e>>>0<f>>>0|(0|e)==(0|f)&n>>>0<i>>>0)){if(!(0!=(1&i|0)|!1|0!=(0|t))){ar[(d=10364)>>2]=34,i=0|tb(0|i,0|f,-1,-1),f=D;break}if(f>>>0<e>>>0|(0|e)==(0|f)&i>>>0<n>>>0){ar[(d=10364)>>2]=34;break}}i=0|ob(n^t|0,e^(i=((0|t)<0)<<31>>31)|0,0|t,0|i),f=D}}while(0);return D=f,0|i}function vi(A){var e=0,r=0,i=0,f=0,n=0,t=0,o=0;return!(0!=(0|(t=0|ar[(r=(A|=0)+104|0)>>2]))&&(0|ar[A+108>>2])>=(0|t))&&0<=(0|(e=0|gi(A)))?(i=0|ar[r>>2],r=A+8|0,i?i=((t=n=0|ar[r>>2])-(r=0|ar[A+4>>2])|0)<(0|(i=i-(0|ar[(f=A+108|0)>>2])|0))?n=t:(n=r+(i+-1)|0,t):(f=A+108|0,n=i=0|ar[r>>2],r=0|ar[A+4>>2]),ar[A+100>>2]=n,0|i&&(ar[f>>2]=i+1-r+(0|ar[f>>2])),(0|cr[(r=r+-1|0)>>0])!=(0|e)&&(tr[r>>0]=e)):o=4,4==(0|o)&&(ar[A+100>>2]=0,e=-1),0|e}function mi(A){return 1&(32==(0|(A|=0))|(A+-9|0)>>>0<5)|0}function gi(A){var e,r;return e=ur=(r=ur)+31&-32,ur=ur+16|0,A=0==(0|Zi(A|=0))&&1==(0|xb[63&ar[A+32>>2]](A,e,1))?0|cr[e>>0]:-1,ur=r,0|A}function Zi(A){var e=0,r=0;return r=0|tr[(e=(A|=0)+74|0)>>0],tr[e>>0]=r+255|r,r=A+28|0,(0|ar[(e=A+20|0)>>2])>>>0>(0|ar[r>>2])>>>0&&xb[63&ar[A+36>>2]](A,0,0),ar[A+16>>2]=0,ar[r>>2]=0,(ar[e>>2]=0)|(e=4&(e=0|ar[A>>2])?(ar[A>>2]=32|e,-1):(r=(0|ar[A+44>>2])+(0|ar[A+48>>2])|0,ar[A+8>>2]=r,ar[A+4>>2]=r,e<<27>>31))}function pi(A,e,r){var i,f,n;return 0|(0|(i=A|=0,f=e|=0,n=r|=0,0|(n=0|fl(i|=0,f|=0,n|=0,0,-2147483648))))}function yi(){return 0|(0|ar[ar[2622]>>2]?4:1)}function Bi(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o;return f=ur=(i=ur)+31&-32,ur=ur+16|0,ar[f>>2]=r,r=0|(n=A,t=e,o=f,0|Yc(n|=0,2147483647,t|=0,o|=0)),ur=i,0|r}function Ei(A,e){A|=0,e|=0;var r,i;return i=ur=(r=ur)+31&-32,ur=ur+16|0,ar[i>>2]=A,ar[4+i>>2]=e,e=0|Ic(0|M(91,0|i)),ur=r,0|e}function Xi(A,e,r,i){A|=0,r|=0,i|=0;var f=0,n=0,t=0,o=0,a=0;f=0|ar[(e|=0)>>2],a=0!=(0|i)&&0!=(0|(n=0|ar[i>>2]))?A?(ar[i>>2]=0,o=r,t=f,43):(t=f,i=r,25):5;A:do{if(5==(0|a)){if(i=0!=(0|A),0|ar[ar[(a=10488)>>2]>>2]){if(i){i=r,a=15;break}i=r,a=14;break}if(!i){r=0|Vc(f),a=59;break}e:do{if(r){for(i=r;(n=0|tr[f>>0])<<24>>24;){if(f=f+1|0,ar[A>>2]=n<<24>>24&57343,!(i=i+-1|0))break e;A=A+4|0}ar[A>>2]=0,r=r-i|(ar[e>>2]=0),a=59;break A}}while(0);ar[e>>2]=f,a=59}}while(0);A:for(;;){e:do{if(14==(0|a)){for(;;){if(((255&(n=0|tr[f>>0]))-1|0)>>>0<127&&0==(3&f|0)&&(n=255&(a=0|ar[f>>2]),!(-2139062144&(a+-16843009|a)))){for(;i=i+-4|0,!(-2139062144&((n=0|ar[(f=f+4|0)>>2])+-16843009|n)|0););n&=255}if(127<=((n&=255)+-1|0)>>>0)break;f=f+1|0,i=i+-1|0}if(!(50<(n=n+-194|0)>>>0)){n=0|ar[9896+(n<<2)>>2],t=f+1|0,a=25;continue A}a=53}else{if(15==(0|a)){r:do{if(i){for(;;){n=0|tr[f>>0];do{if(((255&n)-1|0)>>>0<127&&4<i>>>0&0==(3&f|0)){for(;;){if(-2139062144&((n=0|ar[f>>2])+-16843009|n)|0){a=38;break}if(ar[A>>2]=255&n,ar[A+4>>2]=cr[f+1>>0],ar[A+8>>2]=cr[f+2>>0],t=f+4|0,n=A+16|0,ar[A+12>>2]=cr[f+3>>0],!(4<(i=i+-4|0)>>>0)){a=37;break}A=n,f=t}if(37==(0|a)){A=n,n=0|tr[(f=t)>>0];break}if(38==(0|a)){n&=255;break}}}while(0);if(127<=((n&=255)+-1|0)>>>0)break;if(f=f+1|0,ar[A>>2]=n,!(i=i+-1|0))break r;A=A+4|0}if(50<(n=n+-194|0)>>>0){a=53;break e}n=0|ar[9896+(n<<2)>>2],o=i,t=f+1|0,a=43;continue A}}while(0);ar[e>>2]=f,a=59;continue A}if(25==(0|a)){if(!(7<((a=(0|cr[t>>0])>>>3)+-16|a+(n>>26))>>>0)){if(f=t+1|0,33554432&n){if((-64&tr[f>>0])<<24>>24!=-128){f=t,a=52;break}if(f=t+2|0,524288&n){if((-64&tr[f>>0])<<24>>24!=-128){f=t,a=52;break}f=t+3|0}}i=i+-1|0,a=14;continue A}f=t,a=52}else if(43==(0|a)){if(!(7<((f=(i=(a=0)|cr[t>>0])>>>3)+-16|f+(n>>26))>>>0)){f=t+1|0,i=i+-128|n<<6;do{if((0|i)<0){if(63<(n=(0|cr[f>>0])-128|0)>>>0){f=t+-1|0,r=A;break e}if(f=t+2|0,(0|(i=n|i<<6))<0){if(63<(n=(0|cr[f>>0])-128|0)>>>0){f=t+-1|0,r=A;break e}f=t+3|0,i=n|i<<6;break}}}while(0);ar[A>>2]=i,A=A+4|0,i=o+-1|0,a=15;continue A}f=t,i=o,a=52}else if(59==(0|a))return 0|r}}while(0);if(52==(0|a)&&(f=f+-1|(a=0),n?r=A:a=53),53==(0|a)){if(!(0|tr[f>>0])){0|A&&(ar[A>>2]=0,ar[e>>2]=0),r=r-i|0,a=59;continue}r=A}ar[(a=10364)>>2]=84,r?(ar[e>>2]=f,r=-1,a=59):(r=-1,a=59)}return 0}function Wi(A){var e=0,r=0,i=0;0<=(0|ar[(A|=0)+76>>2])&&0!=(0|Jc())?e=(r=0|ar[(e=A+4|0)>>2])>>>0<(0|ar[A+8>>2])>>>0?(ar[e>>2]=r+1,0|cr[r>>0]):0|gi(A):i=3;do{if(3==(0|i)){if((r=0|ar[(e=A+4|0)>>2])>>>0<(0|ar[A+8>>2])>>>0){ar[e>>2]=r+1,e=0|cr[r>>0];break}e=0|gi(A);break}}while(0);return 0|e}function Ii(A,e,r){A|=0,e|=0,r|=0;var i,f;return f=ur=(i=ur)+31&-32,ur=ur+16|0,ar[f>>2]=r,r=0|Qc(A,e,f),ur=i,0|r}function Ci(A,e,r,i){A|=0,e|=0,r|=0,i|=0;var f,n,t=0,o=0;f=ur=(n=ur)+31&-32,ur=ur+16|0;A:do{if(A){e:do{if(3<r>>>0){for(i=r,t=0|ar[e>>2];;){if(126<((o=0|ar[t>>2])+-1|0)>>>0){if(!o)break;if(-1==(0|(o=0|$c(A,o)))){r=-1;break A}A=A+o|0,i=i-o|0}else tr[A>>0]=o,A=A+1|0,i=i+-1|0,t=0|ar[e>>2];if(t=t+4|0,ar[e>>2]=t,i>>>0<=3)break e}tr[A>>0]=0,r=r-i|(ar[e>>2]=0);break A}i=r}while(0);if(i){for(t=0|ar[e>>2];;){if(126<((o=0|ar[t>>2])+-1|0)>>>0){if(!o){t=19;break}if(-1==(0|(o=0|$c(f,o)))){r=-1;break A}if(i>>>0<o>>>0){t=22;break}$c(A,0|ar[t>>2]),A=A+o|0,i=i-o|0}else tr[A>>0]=o,A=A+1|0,i=i+-1|0,t=0|ar[e>>2];if(t=t+4|0,ar[e>>2]=t,!i)break A}if(19==(0|t)){tr[A>>0]=0,r=r-i|(ar[e>>2]=0);break}if(22==(0|t)){r=r-i|0;break}}}else if(r=0|ar[e>>2],i=0|ar[r>>2]){A=r,r=0;do{if(127<i>>>0){if(-1==(0|(i=0|$c(f,i)))){r=-1;break A}}else i=1;r=i+r|0,i=0|ar[(A=A+4|0)>>2]}while(0!=(0|i))}else r=0}while(0);return ur=n,0|r}function Gi(A,e,r,i){A|=0,e|=0,r|=0;var f,n,t=0,o=0,a=0,c=0;t=ur=(n=ur)+31&-32,ur=ur+16|0,i=0|ar[(f=0==(0|(i|=0))?58152:i)>>2];A:do{if(e)if(o=0==(0|A)?t:A,r){if(i)t=r,a=11;else{if(-1<(i=0|tr[e>>0])<<24>>24){ar[o>>2]=255&i,i=i<<24>>24!=0&1;break}if(t=10488,i=0|tr[e>>0],!(0|ar[ar[t>>2]>>2])){ar[o>>2]=i<<24>>24&57343,i=1;break}if(50<(i=(255&i)-194|0)>>>0){a=17;break}i=0|ar[9896+(i<<2)>>2],(t=r+-1|0)&&(e=e+1|0,a=11)}e:do{if(11==(0|a)){if(7<((c=(255&(A=0|tr[e>>0]))>>>3)+-16|c+(i>>26))>>>0){a=17;break A}for(;e=e+1|0,t=t+-1|0,!(0<=(0|(i=(255&A)-128|i<<6)));){if(!t)break e;if((-64&(A=0|tr[e>>0]))<<24>>24!=-128){a=17;break A}}ar[f>>2]=0,ar[o>>2]=i,i=r-t|0;break A}}while(0);ar[f>>2]=i,i=-2}else i=-2;else i?a=17:i=0}while(0);return 17==(0|a)&&(ar[f>>2]=0,ar[(i=10364)>>2]=84,i=-1),ur=n,0|i}function Vi(A,e,r,i,f){A|=0,r|=0,i|=0,f|=0;var n,t,o,a,c=0,l=0,u=0,b=0;t=ur=(a=ur)+31&-32,ur=ur+1040|0,n=8+t|0,b=0|ar[(e|=0)>>2],l=(o=0!=(0|A))?i:256,A=o?A:n,c=ar[t>>2]=b;A:do{if(0!=(0|l)&0!=(0|b)){for(i=0,b=r;;){if(!(131<b>>>0|(r=l>>>0<=(u=b>>>2)>>>0))){r=b;break A}if(r=b-(c=r?l:u)|0,-1==(0|(c=0|Xi(A,t,c,f))))break;if(A=(b=(0|A)==(0|n))?A:A+(c<<2)|0,i=c+i|0,!(0!=(0|(l=l-(b?0:c)|0))&0!=(0|(c=0|ar[t>>2]))))break A;b=r}i=-1,c=(l=0)|ar[t>>2]}else i=0}while(0);A:do{if(0!=(0|c)&&0!=(0|l)&0!=(0|r)){for(u=A;!(((A=0|Gi(u,c,r,f))+2|0)>>>0<3);){if(c=(0|ar[t>>2])+A|0,ar[t>>2]=c,i=i+1|0,!(0!=(0|(l=l+-1|0))&0!=(0|(r=r-A|0))))break A;u=u+4|0}switch(0|A){case-1:i=-1;break A;case 0:ar[t>>2]=0;break A;default:ar[f>>2]=0;break A}}}while(0);return o&&(ar[e>>2]=ar[t>>2]),ur=a,0|i}function Fi(A,e,r,i,f){A|=0,r|=0,i|=0,f|=0;var n,t,o,a,c=0,l=0;t=ur=(a=ur)+31&-32,ur=ur+272|0,n=8+t|0,l=0|ar[(e|=0)>>2],c=(o=0!=(0|A))?i:256,A=o?A:n,i=ar[t>>2]=l;A:do{if(0!=(0|c)&0!=(0|l)){for(f=0,l=i;;){if(!((i=c>>>0<=r>>>0)|32<r>>>0)){i=l;break A}if(r=r-(i=i?c:r)|0,-1==(0|(i=0|Ci(A,t,i,0))))break;if(A=(l=(0|A)==(0|n))?A:A+i|0,f=i+f|0,!(0!=(0|(c=c-(l?0:i)|0))&0!=(0|(i=0|ar[t>>2]))))break A;l=i}f=-1,i=(c=0)|ar[t>>2]}else f=0}while(0);A:do{if(0!=(0|i)&&0!=(0|c)&0!=(0|r)){for(l=A;!(((A=0|$c(l,0|ar[i>>2]))+1|0)>>>0<2);){if(i=4+(0|ar[t>>2])|0,ar[t>>2]=i,f=A+f|0,!(0!=(0|(c=c-A|0))&0!=(0|(r=r+-1|0))))break A;l=l+A|0}A?f=-1:ar[t>>2]=0}}while(0);return o&&(ar[e>>2]=ar[t>>2]),ur=a,0|f}function Ri(A,e,r){A|=0,r|=0;var i=0,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0;switch(0|(e|=0)){case 0:a=-149,c=24,t=4;break;case 1:case 2:a=-1074,c=53,t=4;break;default:i=0}A:do{if(4==(0|t)){for(u=A+4|0,l=A+100|0;0!=(0|mi(e=(e=0|ar[u>>2])>>>0<(0|ar[l>>2])>>>0?(ar[u>>2]=e+1,0|cr[e>>0]):0|vi(A))););e:do{switch(0|e){case 43:case 45:if(n=1-((45==(0|e)&1)<<1)|0,(e=0|ar[u>>2])>>>0<(0|ar[l>>2])>>>0){ar[u>>2]=e+1,f=0|cr[e>>0];break e}f=0|vi(A);break e;default:f=e,n=1}}while(0);e=0;do{if((32|f)!=(0|tr[52890+e>>0]))break;do{if(e>>>0<7){if((f=0|ar[u>>2])>>>0<(0|ar[l>>2])>>>0){ar[u>>2]=f+1,f=0|cr[f>>0];break}f=0|vi(A);break}}while(0);e=e+1|0}while(e>>>0<8);e:do{switch(0|e){case 8:break;case 3:t=23;break;default:if((o=0!=(0|r))&3<e>>>0){if(8==(0|e))break e;t=23;break e}r:do{if(!e){e=0;do{if((32|f)!=(0|tr[52899+e>>0]))break r;do{if(e>>>0<2){if((f=0|ar[u>>2])>>>0<(0|ar[l>>2])>>>0){ar[u>>2]=f+1,f=0|cr[f>>0];break}f=0|vi(A);break}}while(0);e=e+1|0}while(e>>>0<3)}}while(0);switch(0|e){case 3:if(40!=(0|(e=(e=0|ar[u>>2])>>>0<(0|ar[l>>2])>>>0?(ar[u>>2]=e+1,0|cr[e>>0]):0|vi(A)))){if(!(0|ar[l>>2])){i=h;break A}ar[u>>2]=(0|ar[u>>2])-1,i=h;break A}for(e=1;((f=(f=0|ar[u>>2])>>>0<(0|ar[l>>2])>>>0?(ar[u>>2]=f+1,0|cr[f>>0]):0|vi(A))+-48|0)>>>0<10|(f+-65|0)>>>0<26||95==(0|f)|(f+-97|0)>>>0<26;)e=e+1|0;if(41==(0|f)){i=h;break A}if((f=0==(0|ar[l>>2]))||(ar[u>>2]=(0|ar[u>>2])-1),!o){ar[(u=10364)>>2]=22,nl(A,0),i=0;break A}if(!e){i=h;break A}for(;;)if(e=e+-1|0,f||(ar[u>>2]=(0|ar[u>>2])-1),!e){i=h;break A}case 0:if(48==(0|f)){if(120==(32|(e=(e=0|ar[u>>2])>>>0<(0|ar[l>>2])>>>0?(ar[u>>2]=e+1,0|cr[e>>0]):0|vi(A)))){i=+Ni(A,c,a,n,r);break A}e=(0|ar[l>>2]&&(ar[u>>2]=(0|ar[u>>2])-1),48)}else e=f;i=+_i(A,e,c,a,n,r);break A;default:0|ar[l>>2]&&(ar[u>>2]=(0|ar[u>>2])-1),ar[(u=10364)>>2]=22,nl(A,0),i=0;break A}}}while(0);if(23==(0|t)&&((f=0==(0|ar[l>>2]))||(ar[u>>2]=(0|ar[u>>2])-1),0!=(0|r)&3<e>>>0))for(;f||(ar[u>>2]=(0|ar[u>>2])-1),3<(e=e+-1|0)>>>0;);i=(0|n)*w}}while(0);return+i}function Ni(A,e,r,i,f){e|=0,r|=0,i|=0,f|=0;var n,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0;a=(o=(o=0|ar[(g=(A|=0)+4|0)>>2])>>>0<(0|ar[(n=A+100|0)>>2])>>>0?(ar[g>>2]=o+1,0|cr[o>>0]):0|vi(A),0);A:for(;;){switch(0|o){case 46:b=8;break A;case 48:break;default:d=1,h=a,l=u=k=a=m=t=v=w=0;break A}(o=0|ar[g>>2])>>>0<(0|ar[n>>2])>>>0?(ar[g>>2]=o+1,o=0|cr[o>>0],a=1):(o=0|vi(A),a=1)}if(8==(0|b))if(48==(0|(o=(o=0|ar[g>>2])>>>0<(0|ar[n>>2])>>>0?(ar[g>>2]=o+1,0|cr[o>>0]):0|vi(A)))){for(a=l=0;o=(o=0|ar[g>>2])>>>0<(0|ar[n>>2])>>>0?(ar[g>>2]=o+1,0|cr[o>>0]):0|vi(A),l=0|tb(0|l,0|a,-1,-1),a=D,48==(0|o););h=d=w=1,u=k=m=t=v=0}else d=w=1,h=a,l=u=k=a=m=t=v=0;for(;s=46==(0|o),!(10<=(b=o+-48|0)>>>0)||s|((32|o)-97|0)>>>0<6;){if(s){if(w){o=46;break}w=1,b=v,c=d,o=m,l=u,a=k}else{o=57<(0|o)?(32|o)-87|0:b;do{if(!((0|k)<0|0==(0|k)&u>>>0<8)){if((0|k)<0|0==(0|k)&u>>>0<14){b=v,t+=(c=d*=.0625)*(0|o),o=m;break}b=(o=0!=(0|v)|0==(0|o))?v:1,c=d,t=o?t:t+.5*d,o=m;break}b=v,c=d,o=o+(m<<4)|0}while(0);u=0|tb(0|u,0|k,1,0),h=1,k=D}o=(s=0|ar[g>>2])>>>0<(0|ar[n>>2])>>>0?(ar[g>>2]=s+1,v=b,d=c,m=o,0|cr[s>>0]):(v=b,d=c,m=o,0|vi(A))}do{if(h){if(s=(b=0==(0|w))?u:l,b=b?k:a,(0|k)<0|0==(0|k)&u>>>0<8){for(a=m,l=k;a<<=4,u=0|tb(0|u,0|l,1,0),(0|(l=D))<0|0==(0|l)&u>>>0<8;);u=a}else u=m;if(112==(32|o)){if(0==(0|(a=0|Yi(A,f)))&-2147483648==(0|(o=D))){if(!f){nl(A,0),t=0;break}o=a=(0|ar[n>>2]&&(ar[g>>2]=(0|ar[g>>2])-1),0)}}else o=a=(0|ar[n>>2]&&(ar[g>>2]=(0|ar[g>>2])-1),0);if(l=0|tb(0|(l=0|db(0|s,0|b,2)),0|D,-32,-1),l=0|tb(0|l,0|D,0|a,0|o),o=D,!u){t=0*(0|i);break}if((0|(f=((0|(g=0-r|0))<0)<<31>>31))<(0|o)|(0|o)==(0|f)&g>>>0<l>>>0){ar[(e=10364)>>2]=34,t=17976931348623157e292*(0|i)*17976931348623157e292;break}if((0|o)<(0|(f=((0|(g=r+-106|0))<0)<<31>>31))|(0|o)==(0|f)&l>>>0<g>>>0){ar[(e=10364)>>2]=34,t=22250738585072014e-324*(0|i)*22250738585072014e-324;break}if(-1<(0|u)){for(a=u;a=a<<1|1&(1^(g=!(.5<=t))),t+=g?t:t+-1,l=0|tb(0|l,0|o,-1,-1),o=D,-1<(0|a););d=t,u=a}else d=t;o=0|tb(0|(r=0|ob(32,0,0|r,((0|r)<0)<<31>>31|0)),0|D,0|l,0|o),59==(0|(b=(0|(r=D))<(0|(g=((0|e)<0)<<31>>31))|(0|g)==(0|r)&o>>>0<e>>>0?0<(0|o)?59:(a=0,o=84,61):(o=e,59)))&&((0|o)<53?(o=84-(a=o)|0,b=61):t=+((c=0)|i)),61==(0|b)&&(t=+(0|i),c=+Di(+Qi(1,o),t),o=a),0==(t=t*((i=0==(1&u|0)&0!=d&(0|o)<32)?0:d)+(c+t*(((1&i)+u|0)>>>0))-c)&&(ar[(i=10364)>>2]=34),t=+Mi(t,l)}else(a=0!=(0|(o=0|ar[n>>2])))&&(ar[g>>2]=(0|ar[g>>2])-1),f?(a&&(ar[g>>2]=(0|ar[g>>2])-1),0==(0|w)|0==(0|o)||(ar[g>>2]=(0|ar[g>>2])-1)):nl(A,0),t=0*(0|i)}while(0);return+t}function _i(A,e,r,i,f,n){e|=0,f|=0,n|=0;var t,o,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0,C=0,G=0;t=ur=(o=ur)+31&-32,ur=ur+512|0,G=0-(C=(i|=0)+(r|=0)|0)|0,X=(A|=0)+4|0,W=A+100|0,l=0;A:for(;;){switch(0|e){case 46:B=6;break A;case 48:break;default:d=l,s=k=g=0;break A}(e=0|ar[X>>2])>>>0<(0|ar[W>>2])>>>0?(ar[X>>2]=e+1,e=0|cr[e>>0],l=1):(e=0|vi(A),l=1)}if(6==(0|B))if(48==(0|(e=(e=0|ar[X>>2])>>>0<(0|ar[W>>2])>>>0?(ar[X>>2]=e+1,0|cr[e>>0]):0|vi(A))))for(e=l=0;;){if(l=0|tb(0|l,0|e,-1,-1),s=D,48!=(0|(e=(e=0|ar[X>>2])>>>0<(0|ar[W>>2])>>>0?(ar[X>>2]=e+1,0|cr[e>>0]):0|vi(A)))){d=g=1,k=l;break}e=s}else g=1,d=l,s=k=0;b=e+-48|(ar[t>>2]=0),u=46==(0|e);A:do{if(u|b>>>0<10){E=496+t|0,p=g,y=d,B=b,b=d=m=l=Z=0;e:for(;;){do{if(u){if(p)break e;p=1,k=d,s=b}else{if(d=0|tb(0|d,0|b,1,0),b=D,g=48!=(0|e),125<=(0|l)){if(!g)break;ar[E>>2]=1|ar[E>>2];break}u=t+(l<<2)|0,e=Z?e+-48+(10*(0|ar[u>>2])|0)|0:B,ar[u>>2]=e,Z=(y=9==(0|(Z=Z+1|0)))?0:Z,l=(1&y)+l|0,m=g?d:m,y=1}}while(0);if(!((u=46==(0|(e=(e=0|ar[X>>2])>>>0<(0|ar[W>>2])>>>0?(ar[X>>2]=e+1,0|cr[e>>0]):0|vi(A))))|(B=e+-48|0)>>>0<10)){g=p,u=y,B=29;break A}}e=Z,u=0!=(0|y),B=37}else u=d,b=d=m=l=Z=0,B=29}while(0);do{if(29==(0|B)){if(k=(E=0==(0|g))?d:k,s=E?b:s,!((u=0!=(0|u))&101==(32|e))){if(-1<(0|e)){e=Z,B=37;break}e=Z,B=39;break}if(0==(0|(u=0|Yi(A,n)))&-2147483648==(0|(e=D))){if(!n){nl(A,0),a=0;break}e=u=(0|ar[W>>2]&&(ar[X>>2]=(0|ar[X>>2])-1),0)}y=0|tb(0|u,0|e,0|k,0|s),e=Z,s=D,B=41}}while(0);37==(0|B)&&(B=0|ar[W>>2]?(ar[X>>2]=(0|ar[X>>2])-1,u?(y=k,41):40):39),39==(0|B)&&(B=u?(y=k,41):40);do{if(40==(0|B))ar[(G=10364)>>2]=22,nl(A,0),a=0;else if(41==(0|B)){if(!(u=0|ar[t>>2])){a=0*(0|f);break}if((0|y)==(0|d)&(0|s)==(0|b)&((0|b)<0|0==(0|b)&d>>>0<10)&&30<(0|r)|0==(u>>>r|0)){a=(0|f)*(u>>>0);break}if((0|(W=((0|(A=(0|i)/-2|0))<0)<<31>>31))<(0|s)|(0|s)==(0|W)&A>>>0<y>>>0){ar[(G=10364)>>2]=34,a=17976931348623157e292*(0|f)*17976931348623157e292;break}if((0|s)<(0|(W=((0|(A=i+-106|0))<0)<<31>>31))|(0|s)==(0|W)&y>>>0<A>>>0){ar[(G=10364)>>2]=34,a=22250738585072014e-324*(0|f)*22250738585072014e-324;break}if(e){if((0|e)<9){for(u=0|ar[(b=t+(l<<2)|0)>>2];u=10*u|0,9!=(0|(e=e+1|0)););ar[b>>2]=u}l=l+1|0}if((0|m)<9&&(0|m)<=(0|y)&(0|y)<18){if(e=0|ar[t>>2],9==(0|y)){a=(0|f)*(e>>>0);break}if((0|y)<9){a=(0|f)*(e>>>0)/(0|ar[14012+(8-y<<2)>>2]);break}if(30<(0|(A=r+27+(0|br(y,-3))|0))|0==(e>>>A|0)){a=(0|f)*(e>>>0)*(0|ar[14012+(y+-10<<2)>>2]);break}}if(e=(0|y)%9|0){if(d=0|ar[14012+(8-(m=-1<(0|y)?e:e+9|0)<<2)>>2],l){for(k=1e9/(0|d)|0,u=y,e=s=b=0;A=(((W=0|ar[(X=t+(e<<2)|0)>>2])>>>0)/(d>>>0)|0)+b|0,ar[X>>2]=A,b=0|br(k,(W>>>0)%(d>>>0)|0),u=(A=(0|e)==(0|s)&0==(0|A))?u+-9|0:u,s=A?s+1&127:s,(0|(e=e+1|0))!=(0|l););b?(ar[t+(l<<2)>>2]=b,b=s,l=l+1|0):b=s}else l=b=0,u=y;y=9-m+u|(e=0)}else b=e=0;A:for(;;){for(m=(0|y)<18,g=18==(0|y),Z=t+(b<<2)|0;;){if(!m){if(!g){u=y;break A}if(9007199<=(0|ar[Z>>2])>>>0){u=18;break A}}for(l=(p=l)+127|(u=0);l=0|tb(0|(l=0|db(0|ar[(d=t+((s=127&l)<<2)|0)>>2],0,29)),0|D,0|u,0),0<(u=D)>>>0|0==(0|u)&1e9<l>>>0?(k=0|lb(0|l,0|u,1e9,0),l=0|ub(0|l,0|u,1e9,0)):k=0,p=0==(0|(ar[d>>2]=l))&(1^((0|s)!=(p+127&127|0)|(A=(0|s)==(0|b))))?s:p,!A;)u=k,l=s+-1|0;if(e=e+-29|0,0|k)break;l=p}l=p+127&127,u=t+((p+126&127)<<2)|0,(0|(b=b+127&127))==(0|p)?ar[u>>2]=ar[u>>2]|ar[t+(l<<2)>>2]:l=p,ar[t+(b<<2)>>2]=k,y=y+9|0}A:for(;;){for(Z=l+1&127,p=t+((l+127&127)<<2)|0;;){for(k=18==(0|u),g=27<(0|u)?9:1,y=b;;){for(b=0;;){if((0|(s=b+y&127))==(0|l)){I=2,B=88;break}if((s=0|ar[t+(s<<2)>>2])>>>0<(d=0|ar[14044+(b<<2)>>2])>>>0){I=2,B=88;break}if(d>>>0<s>>>0)break;if(2<=(0|(b=b+1|0))){I=b,B=88;break}}if(88==(0|B)&&k&2==((B=0)|I)){s=a=0;break A}if(e=g+e|0,(0|y)!=(0|l))break;y=l}for(k=(1<<g)-1|0,m=1e9>>>g,d=0,s=b=y;A=((W=0|ar[(X=t+(s<<2)|0)>>2])>>>g)+d|0,ar[X>>2]=A,d=0|br(W&k,m),u=(A=(0|s)==(0|b)&0==(0|A))?u+-9|0:u,b=A?b+1&127:b,(0|(s=s+1&127))!=(0|l););if(d){if((0|Z)!=(0|b))break;ar[p>>2]=1|ar[p>>2]}}ar[t+(l<<2)>>2]=d,l=Z}for(;u=l+1&127,(0|(b=s+y&127))==(0|l)&&(ar[t+(u+-1<<2)>>2]=0,l=u),a=1e9*a+ +((0|ar[t+(b<<2)>>2])>>>0),2!=(0|(s=s+1|0)););if(c=(v=+(0|f))*a,h=(0|(b=(k=(0|(d=(s=e+53|0)-i|0))<(0|r))?0<(0|d)?d:0:r))<53?(w=+Di(+Qi(1,105-b|0),c))+(c-(a=h=+Ji(c,+Qi(1,53-b|0)))):(a=w=0,c),(0|(u=y+2&127))!=(0|l)){u=0|ar[t+(u<<2)>>2];do{if(5e8<=u>>>0){if(5e8!=(0|u)){a=.75*v+a;break}if((y+3&127|0)==(0|l)){a=.5*v+a;break}a=.75*v+a;break}if(0==(0|u)&&(y+3&127|0)==(0|l))break;a=.25*v+a}while(0);c=1<(53-b|0)&&0==+Ji(a,1)?a+1:a}else c=a;a=h+c-w;do{if((-2-C|0)<(2147483647&s|0)){if(a=(C=!(9007199254740992<=+V(+a)))?a:.5*a,((e=(1&(1^C))+e|0)+50|0)<=(0|G)&&!(0!=c&k&((0|b)!=(0|d)|C)))break;ar[(G=10364)>>2]=34}}while(0);a=+Mi(a,e)}}while(0);return ur=o,+a}function Yi(A,e){e|=0;var r,i=0,f=0,n=0,t=0,o=0,a=0;switch(0|(i=(i=0|ar[(a=(A|=0)+4|0)>>2])>>>0<(0|ar[(r=A+100|0)>>2])>>>0?(ar[a>>2]=i+1,0|cr[i>>0]):0|vi(A))){case 43:case 45:f=45==(0|i)&1,0!=(0|e)&9<((i=(i=0|ar[a>>2])>>>0<(0|ar[r>>2])>>>0?(ar[a>>2]=i+1,0|cr[i>>0]):0|vi(A))+-48|0)>>>0&&0!=(0|ar[r>>2])&&(ar[a>>2]=(0|ar[a>>2])-1);break;default:f=0}if(9<(i+-48|0)>>>0)i=(f=(0|ar[r>>2]&&(ar[a>>2]=(0|ar[a>>2])-1),-2147483648),0);else{for(n=0;n=i+-48+(10*n|0)|0,((i=(i=0|ar[a>>2])>>>0<(0|ar[r>>2])>>>0?(ar[a>>2]=i+1,0|cr[i>>0]):0|vi(A))+-48|0)>>>0<10&(0|n)<214748364;);if(e=((0|n)<0)<<31>>31,(i+-48|0)>>>0<10){for(;e=0|nb(0|n,0|e,10,0),n=D,i=0|tb(0|i,((0|i)<0)<<31>>31|0,-48,-1),n=0|tb(0|i,0|D,0|e,0|n),e=D,((i=(i=0|ar[a>>2])>>>0<(0|ar[r>>2])>>>0?(ar[a>>2]=i+1,0|cr[i>>0]):0|vi(A))+-48|0)>>>0<10&((0|e)<21474836|21474836==(0|e)&n>>>0<2061584302););t=i,o=n}else t=i,o=n;if(i=0|ar[r>>2],(t+-48|0)>>>0<10)for(;(n=0|ar[a>>2])>>>0<i>>>0?(ar[a>>2]=n+1,n=0|cr[n>>0]):(n=0|vi(A),i=0|ar[r>>2]),(n+-48|0)>>>0<10;);0|i&&(ar[a>>2]=(0|ar[a>>2])-1),i=0|ob(0,0,0|o,0|e),f=(a=0!=(0|f))?D:e,i=a?i:o}return D=f,0|i}function Qi(A,e){A=+A;var r=0,i=0;return(0|(e|=0))<=1023?(0|e)<-1022&&(A*=22250738585072014e-324,r=e+1022|0,e=e+2044|0,A=(i=(0|r)<-1022)?22250738585072014e-324*A:A,e=i?-1022<(0|e)?e:-1022:r):(A*=898846567431158e293,i=e+-1023|0,e=e+-2046|0,A=(r=1023<(0|i))?898846567431158e293*A:A,e=r?(0|e)<1023?e:1023:i),r=0|db(e+1023|0,0,52),i=D,ar[d>>2]=r,ar[d+4>>2]=i,+(A*Q[d>>3])}function Di(A,e){return+ +function(A,e){A=+A,e=+e;var r,i=0;return Q[d>>3]=A,r=0|ar[d>>2],i=0|ar[d+4>>2],Q[d>>3]=e,i=-2147483648&ar[d+4>>2]|2147483647&i,ar[d>>2]=r,ar[d+4>>2]=i,+ +Q[d>>3]}(A=+A,e=+e)}function Ji(A,e){return+ +function(A,e){A=+A,e=+e;var r,i=0,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0;Q[d>>3]=A,o=0|ar[d>>2],c=0|ar[d+4>>2],Q[d>>3]=e,u=0|ar[d>>2],b=0|ar[d+4>>2],f=2047&(f=0|sb(0|o,0|c,52)),l=2047&(l=0|sb(0|u,0|b,52)),r=-2147483648&c,t=0|db(0|u,0|b,1),a=D;A:do{if(0==(0|t)&0==(0|a)||(n=0|Ti(e),i=2147483647&D,2047==(0|f)|2146435072<i>>>0|2146435072==(0|i)&0<n>>>0))s=3;else{if(i=0|db(0|o,0|c,1),!(a>>>0<(n=D)>>>0|(0|n)==(0|a)&t>>>0<i>>>0))return+((0|i)==(0|t)&(0|n)==(0|a)?0*A:A);if(f)t=1048575&c|1048576;else{if(i=0|db(0|o,0|c,12),-1<(0|(n=D))|-1==(0|n)&4294967295<i>>>0)for(f=0;f=f+-1|0,i=0|db(0|i,0|n,1),-1<(0|(n=D))|-1==(0|n)&4294967295<i>>>0;);else f=0;o=0|db(0|o,0|c,1-f|0),t=D}if(l)c=1048575&b|1048576;else{if(n=0|db(0|u,0|b,12),-1<(0|(a=D))|-1==(0|a)&4294967295<n>>>0)for(i=0;i=i+-1|0,n=0|db(0|n,0|a,1),-1<(0|(a=D))|-1==(0|a)&4294967295<n>>>0;);else i=0;u=0|db(0|u,0|b,1-i|0),l=i,c=D}n=0|ob(0|o,0|t,0|u,0|c),a=-1<(0|(i=D))|-1==(0|i)&4294967295<n>>>0;e:do{if((0|l)<(0|f)){for(;;){if(a){if(0==(0|n)&0==(0|i))break}else n=o,i=t;if(o=0|db(0|n,0|i,1),n=0|ob(0|o,0|(t=D),0|u,0|c),a=-1<(0|(i=D))|-1==(0|i)&4294967295<n>>>0,(0|(f=f+-1|0))<=(0|l))break e}e=0*A;break A}}while(0);if(a){if(0==(0|n)&0==(0|i)){e=0*A;break}}else i=t,n=o;if(i>>>0<1048576|1048576==(0|i)&n>>>0<0)for(;n=0|db(0|n,0|i,1),f=f+-1|0,(i=D)>>>0<1048576|1048576==(0|i)&n>>>0<0;);0<(0|f)?(b=0|tb(0|n,0|i,0,-1048576),i=D,f=0|db(0|f,0,52),i|=D,f|=b):(f=0|sb(0|n,0|i,1-f|0),i=D),ar[d>>2]=f,ar[d+4>>2]=i|r,e=+Q[d>>3]}}while(0);3==(0|s)&&(e*=A,e/=e);return+e}(A=+A,e=+e)}function Mi(A,e){return+ +Qi(A=+A,e|=0)}function Ti(A){A=+A;var e;return Q[d>>3]=A,e=0|ar[d>>2],D=0|ar[d+4>>2],0|e}function Ui(A,e,r,i){A|=0,i|=0;var f,n=0;return f=0|br(r|=0,e|=0),r=0==(0|e)?0:r,-1<(0|ar[i+76>>2])?(n=0==(0|Jc()),A=0|el(A,f,i),n||Mc()):A=0|el(A,f,i),(0|A)!=(0|f)&&(r=(A>>>0)/(e>>>0)|0),0|r}function Si(A,e){A|=0;var r,i,f,n=0,t=0,o=0,a=0;r=ur=(f=ur)+31&-32,ur=ur+16|0,i=255&(e|=0),tr[r>>0]=i,(o=0|ar[(t=A+16|0)>>2])?a=4:0|rl(A)?n=-1:(o=0|ar[t>>2],a=4);do{if(4==(0|a)){if((t=0|ar[(a=A+20|0)>>2])>>>0<o>>>0&&(0|(n=255&e))!=(0|tr[A+75>>0])){ar[a>>2]=t+1,tr[t>>0]=i;break}n=1==(0|xb[63&ar[A+36>>2]](A,r,1))?0|cr[r>>0]:-1}}while(0);return ur=f,0|n}function Oi(A){A|=0;var e=0,r=0;do{if(A){if((0|ar[A+76>>2])<=-1){e=0|zi(A);break}r=0==(0|Jc()),e=0|zi(A),r||Mc()}else{if(e=0|ar[2636]?0|Oi(0|ar[2636]):0,A=0|(C(58160),58168),A=0|ar[A>>2])for(;r=-1<(0|ar[A+76>>2])?0|Jc():0,(0|ar[A+20>>2])>>>0>(0|ar[A+28>>2])>>>0&&(e=0|zi(A)|e),0|r&&Mc(),0!=(0|(A=0|ar[A+56>>2])););T(58160)}}while(0);return 0|e}function zi(A){var e,r,i=0,f=0,n=0,t=0;return r=(A|=0)+28|0,0|(A=(0|ar[(e=A+20|0)>>2])>>>0>(0|ar[r>>2])>>>0&&(xb[63&ar[A+36>>2]](A,0,0),0==(0|ar[e>>2]))?-1:((f=0|ar[(i=A+4|0)>>2])>>>0<(t=0|ar[(n=A+8|0)>>2])>>>0&&xb[63&ar[A+40>>2]](A,f-t|0,1),ar[A+16>>2]=0,ar[r>>2]=0,ar[e>>2]=0,ar[n>>2]=0,ar[i>>2]=0))}function ji(A,e,r){A|=0,e|=0,r|=0;var i,f;return f=ur=(i=ur)+31&-32,ur=ur+16|0,ar[f>>2]=r,r=0|Hi(A,e,f),ur=i,0|r}function Hi(A,e,r){A|=0,e|=0,r|=0;var i,f,n=0,t=0;for(i=ur=(f=ur)+31&-32,ur=ur+128|0,t=(n=i)+124|0;(0|(n=n+4|(ar[n>>2]=0)))<(0|t););return ar[32+i>>2]=34,ar[44+i>>2]=A,ar[76+i>>2]=-1,ar[84+i>>2]=A,t=0|function(A,e,r){e|=0,r|=0;var i,f,n,t,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0,C=0,G=0,V=0,F=0,R=0,N=0,_=0;R=ur=(t=ur)+31&-32,ur=ur+288|0,i=R+8|0,f=R+17|0,R=(n=R)+16|0,_=-1<(0|ar[76+(A|=0)>>2])?0|Jc():0;o=0|tr[e>>0];A:do{if(o<<24>>24){y=A+4|0,B=A+100|0,E=A+108|0,X=A+8|0,W=10+f|0,I=33+f|0,p=4+i|0,C=46+f|0,G=94+f|0,F=V=1+f|0,l=e,a=c=e=v=0;e:for(;;){r:do{if(0|mi(255&o)){for(;0|mi(0|cr[(o=l+1|0)>>0]);)l=o;for(nl(A,0);0!=(0|mi(o=(o=0|ar[y>>2])>>>0<(0|ar[B>>2])>>>0?(ar[y>>2]=o+1,0|cr[o>>0]):0|vi(A))););0|ar[B>>2]?(o=(0|ar[y>>2])-1|0,ar[y>>2]=o):o=0|ar[y>>2],u=(0|ar[E>>2])+v+o-(0|ar[X>>2])|0}else{o=o<<24>>24==37;i:do{if(o){u=0|tr[(s=l+1|0)>>0];f:do{switch(u<<24>>24){case 37:break i;case 42:l=l+2|(Z=0);break;default:if((o=(255&u)-48|0)>>>0<10&&36==(0|tr[l+2>>0])){Z=0|xi(r,o),l=l+3|0;break f}l=3+(0|ar[r>>2])&-4,Z=0|ar[l>>2],ar[r>>2]=l+4,l=s}}while(0);if(o=0|tr[l>>0],((u=255&o)+-48|0)>>>0<10)for(s=0;s=(10*s|0)-48+u|0,o=0|tr[(l=l+1|0)>>0],((u=255&o)+-48|0)>>>0<10;);else s=0;switch(c=(o=o<<24>>24==109)?0:c,a=o?0:a,l=o?l+1|0:l,o&=g=0!=(0|Z),u=l+1|0,0|tr[l>>0]){case 104:m=104==(0|tr[u>>0]),d=m?-2:-1,l=m?l+2|0:u;break;case 108:m=108==(0|tr[u>>0]),d=m?3:1,l=m?l+2|0:u;break;case 106:d=3,l=u;break;case 116:case 122:d=1,l=u;break;case 76:d=2,l=u;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:d=0;break;default:N=137;break e}switch(h=0|cr[l>>0],h=(w=3==(47&h|0))?32|h:h,w=w?1:d,(k=255&h)<<24>>24){case 99:s=1<(0|s)?s:1;break;case 91:break;case 110:Pi(Z,w,v,((0|v)<0)<<31>>31),u=v;break r;default:for(nl(A,0);0!=(0|mi(u=(u=0|ar[y>>2])>>>0<(0|ar[B>>2])>>>0?(ar[y>>2]=u+1,0|cr[u>>0]):0|vi(A))););0|ar[B>>2]?(u=(0|ar[y>>2])-1|0,ar[y>>2]=u):u=0|ar[y>>2],v=(0|ar[E>>2])+v+u-(0|ar[X>>2])|0}if(nl(A,s),u=0|ar[y>>2],d=0|ar[B>>2],u>>>0<d>>>0)ar[y>>2]=u+1;else{if((0|vi(A))<0){N=137;break e}d=0|ar[B>>2]}0|d&&(ar[y>>2]=(0|ar[y>>2])-1);f:do{switch(k<<24>>24){case 91:case 99:case 115:m=99==(0|h);n:do{if(115==(16|h))vb(0|V,-1,256),115==((tr[f>>0]=0)|h)&&(tr[I>>0]=0,tr[W>>0]=0,tr[W+1>>0]=0,tr[W+2>>0]=0,tr[W+3>>0]=0,tr[W+4>>0]=0);else{switch(h=94==(0|tr[(u=l+1|0)>>0]),l=h?l+2|0:u,vb(0|F,(k=1&h)|0,256),(tr[f>>0]=0)|tr[l>>0]){case 45:u=C,N=64;break;case 93:u=G,N=64;break;default:h=255&(1^k)}for(64==(0|N)&&(h=255&(1^k),tr[u>>(N=0)]=h,l=l+1|0);;){u=0|tr[l>>0];t:do{switch(u<<24>>24){case 0:N=137;break e;case 93:break n;case 45:switch((u=0|tr[(k=l+1|0)>>0])<<24>>24){case 93:case 0:u=45;break t}if((255&(l=0|tr[l+-1>>0]))<(255&u)){for(l&=255;tr[f+(l=l+1|0)>>0]=h,u=0|tr[k>>0],(0|l)<(255&u|0););l=k}else l=k}}while(0);tr[1+(255&u)+f>>0]=h,l=l+1|0}}}while(0);u=m?s+1|0:31,h=1==(0|w);n:do{if(h){if(o){if(!(a=0|yc(u<<2))){a=c=0,o=1,N=137;break e}}else a=Z;ar[i>>2]=0,ar[p>>2]=0,k=u,c=0;t:for(;;){d=0==(0|a);do{o:for(;;){if(u=(u=0|ar[y>>2])>>>0<(0|ar[B>>2])>>>0?(ar[y>>2]=u+1,0|cr[u>>0]):0|vi(A),!(0|tr[f+(u+1)>>0]))break t;switch(tr[R>>0]=u,0|Gi(n,R,1,i)){case-1:c=0,N=137;break e;case-2:break;default:break o}}d||(ar[a+(c<<2)>>2]=ar[n>>2],c=c+1|0)}while(!(o&(0|c)==(0|k)));if(!(u=0|Ec(a,(c=k<<1|1)<<2))){c=0,o=1,N=137;break e}w=k,k=c,a=u,c=w}if(!(0|(Y=i,1&(Y=(Y|=0)?0==(0|ar[Y>>2]):1)|0))){c=0,N=137;break e}u=c,c=0,k=a}else{if(o){if(!(c=0|yc(u))){a=c=0,o=1,N=137;break e}for(d=u,a=0;;){do{if(u=(u=0|ar[y>>2])>>>0<(0|ar[B>>2])>>>0?(ar[y>>2]=u+1,0|cr[u>>0]):0|vi(A),!(0|tr[f+(u+1)>>0])){u=a,a=k=0;break n}tr[c+a>>0]=u,a=a+1|0}while((0|a)!=(0|d));if(!(u=0|Ec(c,a=d<<1|1))){a=0,o=1,N=137;break e}w=d,d=a,c=u,a=w}}if(Z)for(u=0,c=d;;){if(a=(a=0|ar[y>>2])>>>0<c>>>0?(ar[y>>2]=a+1,0|cr[a>>0]):0|vi(A),!(0|tr[f+(a+1)>>0])){c=Z,a=k=0;break n}tr[Z+u>>0]=a,u=u+1|0,c=0|ar[B>>2]}else for(c=d;;){if(a=(a=0|ar[y>>2])>>>0<c>>>0?(ar[y>>2]=a+1,0|cr[a>>0]):0|vi(A),!(0|tr[f+(a+1)>>0])){a=k=c=u=0;break n}c=0|ar[B>>2]}}}while(0);if(0|ar[B>>2]?(d=(0|ar[y>>2])-1|0,ar[y>>2]=d):d=0|ar[y>>2],!(d=d-(0|ar[X>>2])+(0|ar[E>>2])|0)){N=139;break e}if(!((0|d)==(0|s)|1^m)){N=139;break e}do{if(o){if(h){ar[Z>>2]=k;break}ar[Z>>2]=c;break}}while(0);if(!m){if(0|k&&(ar[k+(u<<2)>>2]=0),!c){c=0;break f}tr[c+u>>0]=0}break;case 120:case 88:case 112:u=16,N=125;break;case 111:u=8,N=125;break;case 117:case 100:u=10,N=125;break;case 105:u=0,N=125;break;case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:if(b=+Ri(A,w,0),(0|ar[E>>2])==((0|ar[X>>2])-(0|ar[y>>2])|0)){N=139;break e}if(Z)switch(0|w){case 0:gA[Z>>2]=b;break f;case 1:case 2:Q[Z>>3]=b;break f;default:break f}}}while(0);do{if(125==(0|N)){if(u=(N=0)|wi(A,u,0,-1,-1),(0|ar[E>>2])==((0|ar[X>>2])-(0|ar[y>>2])|0)){N=139;break e}if(g&112==(0|h)){ar[Z>>2]=u;break}Pi(Z,w,u,D);break}}while(0);e=(1&g)+e|0,u=(0|ar[E>>2])+v+(0|ar[y>>2])-(0|ar[X>>2])|0;break r}}while(0);if(l=l+(1&o)|0,nl(A,0),(0|(o=(o=0|ar[y>>2])>>>0<(0|ar[B>>2])>>>0?(ar[y>>2]=o+1,0|cr[o>>0]):0|vi(A)))!=(0|cr[l>>0])){N=22;break e}u=v+1|0}}while(0);if(!((o=0|tr[(l=l+1|0)>>0])<<24>>24))break A;v=u}if(22==(0|N)){if(0|ar[B>>2]&&(ar[y>>2]=(0|ar[y>>2])-1),0!=(0|e)|-1<(0|o))break;o=0,N=138}else 137==(0|N)?(o&=1,e||(N=138)):139==(0|N)&&(o&=1);138==(0|N)&&(e=-1),o&&(Bc(c),Bc(a))}else e=0}while(0);var Y;0|_&&Mc();return ur=t,0|e}(i,e,r),ur=f,0|t}function xi(A,e){A|=0,e|=0;var r,i,f=0;for(r=ur=(i=ur)+31&-32,ur=ur+16|0,ar[r>>2]=ar[A>>2];f=3+(0|ar[r>>2])&-4,A=0|ar[f>>2],ar[r>>2]=f+4,1<e>>>0;)e=e+-1|0;return ur=i,0|A}function Pi(A,e,r,i){A|=0,e|=0,r|=0,i|=0;A:do{if(0|A)switch(0|e){case-2:tr[A>>0]=r;break A;case-1:or[A>>1]=r;break A;case 0:case 1:ar[A>>2]=r;break A;case 3:ar[(e=A)>>2]=r,ar[e+4>>2]=i;break A;default:break A}}while(0)}function Li(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t=0,o=0;for(f=ur=(n=ur)+31&-32,ur=ur+128|0,o=(t=f)+124|0;(0|(t=t+4|(ar[t>>2]=0)))<(0|o););return ar[(t=4+f|0)>>2]=A,ar[(o=8+f|0)>>2]=-1,ar[44+f>>2]=A,ar[76+f>>2]=-1,nl(f,0),i=+Ri(f,r,1),r=(0|ar[t>>2])-(0|ar[o>>2])+(0|ar[108+f>>2])|0,0|e&&(ar[e>>2]=0|r?A+r|0:A),ur=n,+i}function Ki(A,e){return r=A|=0,i=e|=0,+ + + +Li(r|=0,i|=0,0);var r,i}function qi(A,e){return r=A|=0,i=e|=0,+ + + +Li(r|=0,i|=0,1);var r,i}function $i(A,e){return r=A|=0,i=e|=0,+ + + +Li(r|=0,i|=0,2);var r,i}function Af(A,e){return+ +Qi(A=+A,e|=0)}function ef(A){return 0|~~+pb(+(A=+A))}function rf(A){A|=0;var e;return e=0|ar[2622],0|A&&(ar[2622]=-1==(0|A)?58104:A),0|(58104==(0|e)?-1:e)}function ff(A,e){A|=0,e|=0;var r,i,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0;b=ur=(i=ur)+31&-32,ur=ur+272|0,r=b+8|0;do{if(!(0|tr[e>>0])){if(0|(e=0|bA(52903))&&0|tr[e>>0])break;if(0|(e=0|bA(52910+(12*A|0)|0))&&0|tr[e>>0])break;if(0|(e=0|bA(52982))&&0|tr[e>>0])break;e=52987}}while(0);f=0;A:do{switch(0|tr[e+f>>0]){case 47:case 0:break A}f=f+1|0}while(f>>>0<15);15==(0|(u=(n=0|tr[e>>0])<<24>>24!=46&&0==(0|tr[e+f>>0])?n<<24>>24==67?15:(l=e,16):(e=52987,15)))&&(u=0|tr[e+1>>0]?(l=e,16):18);A:do{if(16==(0|u))if(0!=(0|Fc(l,52987))&&0!=(0|Fc(l,52995))){if(0|(e=0|ar[14543]))do{if(!(0|Fc(l,e+8|0)))break A;e=0|ar[e+24>>2]}while(0!=(0|e));C(58176),e=0|ar[14543];e:do{if(0|e){for(;0|Fc(l,e+8|0);)if(!(e=0|ar[e+24>>2]))break e;T(58176);break A}}while(0);e:do{if(0==(0|ar[14518])&&0!=(0|(t=0|bA(53001)))&&0!=(0|tr[t>>0])){for(a=254-f|0,c=f+1|0,n=t;;){if((t=(o=0|Nc(n,58))-n+(((e=0|tr[o>>0])<<24>>24!=0)<<31>>31)|0)>>>0<a>>>0){if(hb(0|r,0|n,0|t),tr[(n=r+t|0)>>0]=47,hb(n+1|0,0|l,0|f),(tr[r+(c+t)>>0]=0)|(t=0|G(0|r,0|b)))break;e=0|tr[o>>0]}if(!(0|tr[(n=o+(e<<24>>24!=0&1)|0)>>0])){u=41;break e}}if(e=0|yc(28),n=0|ar[b>>2],e){ar[e>>2]=t,ar[e+4>>2]=n,hb(0|(b=e+8|0),0|l,0|f),tr[b+f>>0]=0,ar[e+24>>2]=ar[14543],ar[14543]=e;break}Ei(t,n),u=41;break}u=41}while(0);41==(0|u)&&(e=0|yc(28))&&(ar[e>>2]=ar[2525],ar[e+4>>2]=ar[2526],hb(0|(b=e+8|0),0|l,0|f),tr[b+f>>0]=0,ar[e+24>>2]=ar[14543],ar[14543]=e),T(58176),e=0==(0|A)&0==(0|e)?10100:e}else e=l,u=18}while(0);do{if(18==(0|u)){if(0==(0|A)&&46==(0|tr[e+1>>0])){e=10100;break}e=0}}while(0);return ur=i,0|e}function nf(A){return 10148!=(0|(A|=0))&0!=(0|A)&58128!=(0|A)&1|0}function tf(A,e,r,i){return 0|(i|=0)}function of(A){0|nf(A|=0)&&Bc(A)}function af(A){return((A|=0)+-48|0)>>>0<10|0}function cf(){return-1}function lf(A){return 0|(e=A|=0,1&(((e|=0)-48|0)>>>0<10|((32|e)-97|0)>>>0<6)|0);var e}function uf(A,e){A|=0,e|=0;var r=0,i=0,f=0,n=0,t=0;do{if(-1!=(0|A)){if(f=-1<(0|ar[e+76>>2])?0|Jc():0,(r=0|ar[(n=e+4|0)>>2])?(i=r,r=0!=(0|f),t=7):(Zi(e),r=0!=(0|f),(i=0|ar[n>>2])?t=7:A=r),7==(0|t)){if(i>>>0>((0|ar[e+44>>2])-8|0)>>>0){if(t=i+-1|0,ar[n>>2]=t,tr[t>>0]=A,ar[e>>2]=-17&ar[e>>2],!r)break;Mc();break}A=r}A=(A&&Mc(),-1)}else A=-1}while(0);return 0|A}function bf(A){sf(A|=0)}function sf(A){ar[(A|=0)>>2]=14060,function(A,e){e|=0;var r,i,f=0,n=0;r=32+(A|=0)|0,i=A+36|0,f=0|ar[A+40>>2];for(;f;)n=f+-1|0,ns[127&ar[(0|ar[r>>2])+(n<<2)>>2]](e,A,0|ar[(0|ar[i>>2])+(n<<2)>>2]),f=n}(A,0),bn(A+28|0),Bc(0|ar[A+32>>2]),Bc(0|ar[A+36>>2]),Bc(0|ar[A+48>>2]),Bc(0|ar[A+60>>2])}function df(A){sf(A|=0)}function kf(A){ar[(A|=0)>>2]=14076,bn(A+4|0)}function hf(A){return 255&(A|=0)|0}function wf(A,e,r){return A|=0,e|=0,0|(r|=0)&&hb(0|A,0|e,0|r),0|A}function vf(A){return 255&(A|=0)|0}function mf(A){ar[(A|=0)>>2]=14140,bn(A+4|0)}function gf(A){return 0|(A|=0)}function Zf(A,e,r){return A|=0,e|=0,(r|=0)&&function(A,e,r){A|=0,e|=0;var i=0;if(0|(r|=0))for(i=A;r=r+-1|0,ar[i>>2]=ar[e>>2],r;)e=e+4|0,i=i+4|0}(A,e,r),0|A}function pf(A){return 0|(A|=0)}function yf(A){Ef(A|=0),bf(A+8|0)}function Bf(A){yf(A|=0),vu(A)}function Ef(){}function Xf(A){df((A|=0)+8|0)}function Wf(A){Xf(A|=0),vu(A)}function If(A){Gf(A|=0),bf(A+4|0)}function Cf(A){If(A|=0),vu(A)}function Gf(){}function Vf(A){df((A|=0)+4|0)}function Ff(A){Vf(A|=0),vu(A)}function Rf(A){_f(A|=0),bf(A+12|0)}function Nf(A){Rf(A|=0),vu(A)}function _f(){}function Yf(A){return 0|Vc(A|=0)}function Qf(A,e){e|=0,tr[(A|=0)>>0]=0|tr[e>>0]}function Df(A,e){e|=0,ar[(A|=0)+16>>2]=0==(0|ar[A+24>>2])|e}function Jf(A,e){e|=0;var r;for(ar[(A|=0)+24>>2]=e,ar[A+16>>2]=0==(0|e)&1,ar[A+20>>2]=0,ar[A+4>>2]=4098,ar[A+12>>2]=0,ar[A+8>>2]=6,r=A+28|0,A=(e=A+32|0)+40|0;(0|(e=e+4|(ar[e>>2]=0)))<(0|A););fu(r)}function Mf(A,e){return(0|(A|=0))==(0|(e|=0))|0}function Tf(A,e){ru(A|=0,(e|=0)+28|0)}function Uf(A,e){return(0|(A|=0))==(0|(e|=0))|0}function Sf(A){ar[(A|=0)>>2]=14076,fu(A+4|0),ar[(A=A+8|0)>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0,ar[A+12>>2]=0,ar[A+16>>2]=0,ar[A+20>>2]=0}function Of(A){ar[(A|=0)>>2]=14140,fu(A+4|0),ar[(A=A+8|0)>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0,ar[A+12>>2]=0,ar[A+16>>2]=0,ar[A+20>>2]=0}function zf(A,e){var r,i,f,n;e|=0,tr[(A|=0)>>0]=0,e=(ar[A+4>>2]=e)+(0|ar[(0|ar[e>>2])-12>>2])|0,0|ar[e+16>>2]||(0|(e=0|ar[e+72>>2])&&(r=e,i=ur=(f=ur)+31&-32,ur=ur+16|(n=0),0|ar[(r|=0)+(0|ar[(0|ar[r>>2])-12>>2])+24>>2]&&(zf(i,r),0|tr[i>>0]&&(n=0|ar[r+(0|ar[(0|ar[r>>2])-12>>2])+24>>2],-1==(0|jb[127&ar[24+(0|ar[n>>2])>>2]](n)))&&Df(n=r+(0|ar[(0|ar[r>>2])-12>>2])|0,1|ar[n+16>>2]),jf(i)),ur=f),tr[A>>0]=1)}function jf(A){var e=0;e=(e=0|ar[(A=(A|=0)+4|0)>>2])+(0|ar[(0|ar[e>>2])-12>>2])|0,0|ar[e+24>>2]&&0==(0|ar[e+16>>2])&&8192&ar[e+4>>2]|0&&!(0|E())&&(e=0|ar[A>>2],e=0|ar[e+(0|ar[(0|ar[e>>2])-12>>2])+24>>2],-1==(0|jb[127&ar[24+(0|ar[e>>2])>>2]](e)))&&Df(e=(e=0|ar[A>>2])+(0|ar[(0|ar[e>>2])-12>>2])|0,1|ar[e+16>>2])}function Hf(A,e){e|=0;var r,i,f,n,t=0,o=0,a=0,c=0,l=0;return f=ur=(n=ur)+31&-32,ur=ur+16|0,r=12+f|0,i=8+f|0,zf(f,A|=0),0|tr[f>>0]&&(Tf(r,A+(0|ar[(0|ar[A>>2])-12>>2])|0),o=0|un(r,59288),bn(r),a=A+(0|ar[(0|ar[A>>2])-12>>2])|0,c=0|ar[a+24>>2],t=0|Mf(l=-1,0|ar[(t=a+76|0)>>2])?(Tf(r,a),l=0|un(r,59232),l=0|Hb[31&ar[28+(0|ar[l>>2])>>2]](l,32),bn(r),l=l<<24>>24,ar[t>>2]=l):0|ar[t>>2],l=0|ar[12+(0|ar[o>>2])>>2],ar[i>>2]=c,ar[r>>2]=ar[i>>2],0|Kb[31&l](o,r,a,255&t,e)||Df(l=A+(0|ar[(0|ar[A>>2])-12>>2])|0,5|ar[l+16>>2])),jf(f),ur=n,0|A}function xf(A,e){e|=0;var r,i,f,n,t=0,o=0,a=0,c=0,l=0;return f=ur=(n=ur)+31&-32,ur=ur+16|0,r=12+f|0,i=8+f|0,zf(f,A|=0),0|tr[f>>0]&&(Tf(r,A+(0|ar[(0|ar[A>>2])-12>>2])|0),o=0|un(r,59288),bn(r),a=A+(0|ar[(0|ar[A>>2])-12>>2])|0,c=0|ar[a+24>>2],t=0|Mf(l=-1,0|ar[(t=a+76|0)>>2])?(Tf(r,a),l=0|un(r,59232),l=0|Hb[31&ar[28+(0|ar[l>>2])>>2]](l,32),bn(r),l=l<<24>>24,ar[t>>2]=l):0|ar[t>>2],l=0|ar[24+(0|ar[o>>2])>>2],ar[i>>2]=c,ar[r>>2]=ar[i>>2],0|Kb[31&l](o,r,a,255&t,65535&e)||Df(l=A+(0|ar[(0|ar[A>>2])-12>>2])|0,5|ar[l+16>>2])),jf(f),ur=n,0|A}function Pf(A,e){e|=0;var r,i,f,n,t=0,o=0,a=0,c=0,l=0;return f=ur=(n=ur)+31&-32,ur=ur+16|0,r=12+f|0,i=8+f|0,zf(f,A|=0),0|tr[f>>0]&&(Tf(r,A+(0|ar[(0|ar[A>>2])-12>>2])|0),o=0|un(r,59288),bn(r),a=A+(0|ar[(0|ar[A>>2])-12>>2])|0,c=0|ar[a+24>>2],t=0|Mf(l=-1,0|ar[(t=a+76|0)>>2])?(Tf(r,a),l=0|un(r,59232),l=0|Hb[31&ar[28+(0|ar[l>>2])>>2]](l,32),bn(r),l=l<<24>>24,ar[t>>2]=l):0|ar[t>>2],l=0|ar[16+(0|ar[o>>2])>>2],ar[i>>2]=c,ar[r>>2]=ar[i>>2],0|Kb[31&l](o,r,a,255&t,e)||Df(l=A+(0|ar[(0|ar[A>>2])-12>>2])|0,5|ar[l+16>>2])),jf(f),ur=n,0|A}function Lf(A,e){e|=0;var r,i,f,n,t=0,o=0,a=0,c=0,l=0;return f=ur=(n=ur)+31&-32,ur=ur+16|0,r=12+f|0,i=8+f|0,zf(f,A|=0),0|tr[f>>0]&&(Tf(r,A+(0|ar[(0|ar[A>>2])-12>>2])|0),o=0|un(r,59288),bn(r),a=A+(0|ar[(0|ar[A>>2])-12>>2])|0,c=0|ar[a+24>>2],t=0|Mf(l=-1,0|ar[(t=a+76|0)>>2])?(Tf(r,a),l=0|un(r,59232),l=0|Hb[31&ar[28+(0|ar[l>>2])>>2]](l,32),bn(r),l=l<<24>>24,ar[t>>2]=l):0|ar[t>>2],l=0|ar[24+(0|ar[o>>2])>>2],ar[i>>2]=c,ar[r>>2]=ar[i>>2],0|Kb[31&l](o,r,a,255&t,e)||Df(l=A+(0|ar[(0|ar[A>>2])-12>>2])|0,5|ar[l+16>>2])),jf(f),ur=n,0|A}function Kf(A,e,r){e|=0,r|=0;var i,f,n,t,o=0,a=0,c=0,l=0,u=0;return n=ur=(t=ur)+31&-32,ur=ur+16|0,i=12+n|0,f=8+n|0,zf(n,A|=0),0|tr[n>>0]&&(Tf(i,A+(0|ar[(0|ar[A>>2])-12>>2])|0),a=0|un(i,59288),bn(i),c=A+(0|ar[(0|ar[A>>2])-12>>2])|0,l=0|ar[c+24>>2],o=0|Mf(u=-1,0|ar[(o=c+76|0)>>2])?(Tf(i,c),u=0|un(i,59232),u=0|Hb[31&ar[28+(0|ar[u>>2])>>2]](u,32),bn(i),u=u<<24>>24,ar[o>>2]=u):0|ar[o>>2],u=0|ar[28+(0|ar[a>>2])>>2],ar[f>>2]=l,ar[i>>2]=ar[f>>2],0|$b[63&u](a,i,c,255&o,e,r)||Df(u=A+(0|ar[(0|ar[A>>2])-12>>2])|0,5|ar[u+16>>2])),jf(n),ur=t,0|A}function qf(A,e,r){e|=0,r|=0;var i,f;f=ur=(i=ur)+31&-32,ur=ur+16|0,Sf(A|=0),ar[A>>2]=14508,ar[A+32>>2]=e,ru(f,A+4|0),e=0|un(f,61024),bn(f),ar[A+36>>2]=e,ar[A+40>>2]=r,r=1&(0|jb[127&ar[28+(0|ar[e>>2])>>2]](e)),tr[A+44>>0]=r,ur=i}function $f(A,e,r){e|=0,r|=0;var i,f;f=ur=(i=ur)+31&-32,ur=ur+16|0,Of(A|=0),ar[A>>2]=14444,ar[A+32>>2]=e,ru(f,A+4|0),e=0|un(f,61032),bn(f),ar[A+36>>2]=e,ar[A+40>>2]=r,r=1&(0|jb[127&ar[28+(0|ar[e>>2])>>2]](e)),tr[A+44>>0]=r,ur=i}function An(A){mf(A|=0)}function en(A){kf(A|=0)}function rn(A){mf(A|=0)}function fn(A,e){e|=0;var r,i,f,n,t,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0;if(i=ur=(t=ur)+31&-32,ur=ur+32|0,f=16+i|0,k=8+i|0,r=4+i|0,n=(A|=0)+48|0,0|tr[(a=A+52|0)>>0])o=0|ar[n>>2],e&&(k=-1,ar[n>>2]=k,tr[a>>0]=0);else{for(o=1<(0|(o=0|ar[A+44>>2]))?o:1,d=A+32|0,a=0;;){if((0|o)<=(0|a)){s=9;break}if(-1==(0|(c=0|Wi(0|ar[d>>2])))){s=8;break}tr[f+a>>0]=c,a=a+1|0}if(8==(0|s))o=-1;else if(9==(0|s)){do{if(0|tr[A+53>>0])ar[k>>2]=tr[f>>0],s=19;else{b=A+40|0,l=A+36|0,u=k+4|0;A:for(;;){switch(h=0|ar[b>>2],a=0|ar[(c=h)>>2],c=0|ar[c+4>>2],w=0|ar[l>>2],A=f+o|0,0|es[15&ar[16+(0|ar[w>>2])>>2]](w,h,f,A,r,k,u,i)){case 3:s=16;break A;case 2:s=18;break A;case 1:break;default:break A}if(w=0|ar[b>>2],ar[w>>2]=a,ar[w+4>>2]=c,8==(0|o)){s=18;break}if(-1==(0|(a=0|Wi(0|ar[d>>2])))){s=18;break}tr[A>>0]=a,o=o+1|0}if(16==(0|s))ar[k>>2]=tr[f>>0];else if(18==(0|s)){o=-1;break}s=19}}while(0);A:do{if(19==(0|s)){e:do{if(!e){do{if((0|o)<=0)break e;w=0|gf(0|tr[f+(o=o+-1|0)>>0])}while(-1!=(0|uf(w,0|ar[d>>2])));o=-1;break A}w=0|gf(0|ar[k>>2]),ar[n>>2]=w}while(0);o=0|gf(0|ar[k>>2])}}while(0)}}return ur=t,0|o}function nn(A){kf(A|=0)}function tn(A,e){e|=0;var r,i,f,n,t,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0;if(i=ur=(t=ur)+31&-32,ur=ur+32|0,f=16+i|0,k=8+i|0,r=4+i|0,n=(A|=0)+48|0,0|tr[(a=A+52|0)>>0])o=0|ar[n>>2],e&&(k=-1,ar[n>>2]=k,tr[a>>0]=0);else{for(o=1<(0|(o=0|ar[A+44>>2]))?o:1,d=A+32|0,a=0;;){if((0|o)<=(0|a)){s=9;break}if(-1==(0|(c=0|Wi(0|ar[d>>2])))){s=8;break}tr[f+a>>0]=c,a=a+1|0}if(8==(0|s))o=-1;else if(9==(0|s)){do{if(0|tr[A+53>>0])tr[k>>0]=0|tr[f>>0],s=19;else{b=A+40|0,l=A+36|0,u=k+1|0;A:for(;;){switch(h=0|ar[b>>2],a=0|ar[(c=h)>>2],c=0|ar[c+4>>2],w=0|ar[l>>2],A=f+o|0,0|es[15&ar[16+(0|ar[w>>2])>>2]](w,h,f,A,r,k,u,i)){case 3:s=16;break A;case 2:s=18;break A;case 1:break;default:break A}if(w=0|ar[b>>2],ar[w>>2]=a,ar[w+4>>2]=c,8==(0|o)){s=18;break}if(-1==(0|(a=0|Wi(0|ar[d>>2])))){s=18;break}tr[A>>0]=a,o=o+1|0}if(16==(0|s))tr[k>>0]=0|tr[f>>0];else if(18==(0|s)){o=-1;break}s=19}}while(0);A:do{if(19==(0|s)){e:do{if(!e){do{if((0|o)<=0)break e;w=0|hf(0|tr[f+(o=o+-1|0)>>0])}while(-1!=(0|uf(w,0|ar[d>>2])));o=-1;break A}w=0|hf(0|tr[k>>0]),ar[n>>2]=w}while(0);o=0|hf(0|tr[k>>0])}}while(0)}}return ur=t,0|o}function on(A){an(A|=0)}function an(A){0}function cn(A){an()}function ln(A,e){e|=0,ar[(A|=0)>>2]=ar[e>>2]}function un(A,e){return e|=0,A=0|ar[(A|=0)>>2],0|(r=A,i=0|hn(e),i|=0,0|ar[(0|ar[8+(r|=0)>>2])+(i<<2)>>2]);var r,i}function bn(A){lu(0|ar[(A|=0)>>2])}function sn(A,e,r,i,f,n,t,o,a,c){A|=0,e|=0,r|=0,f|=0,n|=0,t|=0,o|=0,a|=0,c|=0;var l,u,b=0,s=0;u=(0|(l=0|ar[(i|=0)>>2]))==(0|r);do{if(u){if(!(b=(0|tr[c+24>>0])==A<<24>>24)&&(0|tr[c+25>>0])!=A<<24>>24){s=5;break}ar[i>>2]=r+1,tr[r>>0]=b?43:45,b=ar[f>>2]=0}else s=5}while(0);A:do{if(5==(0|s)){if(s=0|tr[t+11>>0],A<<24>>24==n<<24>>24&&0!=(0|(s<<24>>24<0?0|ar[t+4>>2]:255&s))){if(160<=((b=0|ar[a>>2])-o|0)){b=0;break}i=0|ar[f>>2],ar[a>>2]=b+4,ar[b>>2]=i,b=ar[f>>2]=0;break}for(t=c+26|0,n=0;;){if(b=c+n|0,26==(0|n)){b=t;break}if((0|tr[b>>0])==A<<24>>24)break;n=n+1|0}if(23<(0|(b=b-c|0)))b=-1;else{switch(n=53648+b|0,0|e){case 10:case 8:if((0|e)<=(0|b)){b=-1;break A}break;case 16:if(22<=(0|b)){if(u){b=-1;break A}if(3<=(l-r|0)){b=-1;break A}if(48!=(0|tr[l-1>>0])){b=-1;break A}b=(ar[f>>2]=0)|tr[n>>0],ar[i>>2]=1+l,tr[l>>0]=b,b=0;break A}}b=0|tr[n>>0],ar[i>>2]=1+l,tr[l>>0]=b,ar[f>>2]=1+(0|ar[f>>2]),b=0}}}while(0);return 0|b}function dn(){var A=0;return 0==(0|tr[56624])&&0|ib(56624)&&(A=0|function(A,e,r){A|=0,e|=0,r|=0;var i,f,n=0,t=0,o=0,a=0;i=ur=(f=ur)+31&-32,ur=ur+32|0;A:do{if(0|nf(r))for(n=0;1<<n&A|0&&(a=0|ff(n,e),ar[r+(n<<2)>>2]=a),6!=(0|(n=n+1|0)););else{for(a=0==(0|r),o=t=0;t=(0!=(0|(n=a|(n=0!=(1<<o&A|0))?0|ff(o,n?e:79659):0|ar[r+(o<<2)>>2]))&1)+t|0,ar[i+(o<<2)>>2]=n,6!=(0|(o=o+1|0)););switch(0|t){case 0:r=58128;break A;case 1:if(10100!=(0|ar[i>>2]))break;r=10148;break A}}}while(0);return ur=f,0|r}(2147483647,53684,0),ar[14810]=A),0|ar[14810]}function kn(A,e,r,i){A|=0,e|=0,r|=0,i|=0;var f,n;return n=ur=(f=ur)+31&-32,ur=ur+16|0,ar[n>>2]=i,i=0|rf(e),e=0|Hi(A,r,n),0|i&&rf(i),ur=f,0|e}function hn(A){A|=0;var e,r,i,f,n=0;return n=ur=(f=ur)+31&-32,ur=ur+48|0,e=n+32|0,r=n+24|0,ar[(n=(i=n)+16|0)>>2]=442,ar[n+4>>2]=0,ar[e>>2]=ar[n>>2],ar[4+e>>2]=ar[n+4>>2],function(A,e,r){A|=0,r|=0;var i;i=0|ar[(e=e|0)>>2],e=0|ar[e+4>>2],ar[A>>2]=r,ar[A+4>>2]=i,ar[A+8>>2]=e}(i,e,A),-1!=(0|ar[A>>2])&&(ar[e>>2]=i,ar[r>>2]=e,function(A,e,r){A|=0,e|=0,r|=0,gb();for(;1==(0|ar[A>>2]);)hA(61100,61072);0|ar[A>>2]?Zb():(ar[A>>2]=1,Zb(),is[511&r](e),gb(),ar[A>>2]=-1,Zb(),mb())}(A,r,443)),ur=f,(0|ar[A+4>>2])-1|0}function wn(A,e,r,i,f){A|=0,r|=0,i|=0,f|=0;var n,t;t=ur=(n=ur)+31&-32,ur=ur+16|0,Tf(t,e|=0),e=0|un(t,59232),Pb[7&ar[32+(0|ar[e>>2])>>2]](e,53648,53680,r),r=0|un(t,59248),e=0|jb[127&ar[12+(0|ar[r>>2])>>2]](r),tr[i>>0]=e,i=0|jb[127&ar[16+(0|ar[r>>2])>>2]](r),tr[f>>0]=i,fs[63&ar[20+(0|ar[r>>2])>>2]](A,r),bn(t),ur=n}function vn(A,e,r,i,f,n,t,o,a,c,l,u){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,c|=0,l|=0,u|=0;var b,s=0,d=0;b=a|=0;A:do{if(A<<24>>24==n<<24>>24)a=0|tr[e>>0]?(r=(tr[e>>0]=0)|ar[f>>2],ar[f>>2]=r+1,tr[r>>0]=46,0!=(0|((f=0|tr[o+11>>0])<<24>>24<0?0|ar[o+4>>2]:255&f))&&((s=0|ar[c>>2])-b|0)<160&&(a=0|ar[l>>2],ar[c>>2]=s+4,ar[s>>2]=a),0):-1;else{if(A<<24>>24==t<<24>>24&&0|((t=0|tr[o+11>>0])<<24>>24<0?0|ar[o+4>>2]:255&t)){if(!(0|tr[e>>0])){a=-1;break}if(160<=((a=0|ar[c>>2])-b|0)){a=0;break}f=0|ar[l>>2],ar[c>>2]=a+4,ar[a>>2]=f,a=ar[l>>2]=0;break}for(n=u+32|0,s=0;;){if(a=u+s|0,32==(0|s)){a=n;break}if((0|tr[a>>0])==A<<24>>24)break;s=s+1|0}if(31<(0|(s=a-u|0)))a=-1;else switch(n=0|tr[53648+s>>0],0|s){case 24:case 25:if((0|(a=0|ar[f>>2]))!=(0|i)&&(95&tr[a+-1>>0])!=(127&tr[r>>0])){a=-1;break A}ar[f>>2]=a+1,tr[a>>0]=n,a=0;break A;case 23:case 22:tr[r>>0]=80,a=0|ar[f>>2],ar[f>>2]=a+1,tr[a>>0]=n,a=0;break A;default:if((0|(a=95&n))==(0|tr[r>>0])&&(tr[r>>0]=128|a,0|tr[e>>0])&&(tr[e>>0]=0)|((r=0|tr[o+11>>0])<<24>>24<0?0|ar[o+4>>2]:255&r)&&((d=0|ar[c>>2])-b|0)<160&&(r=0|ar[l>>2],ar[c>>2]=d+4,ar[d>>2]=r),c=0|ar[f>>2],ar[f>>2]=c+1,tr[c>>0]=n,21<(0|s)){a=0;break A}ar[l>>2]=1+(0|ar[l>>2]),a=0;break A}}}while(0);return 0|a}function mn(A,e,r){r|=0;var i,f,n=0,t=0,o=0;return i=ur=(f=ur)+31&-32,ur=ur+16|0,(0|(A|=0))==(0|(e|=0))?(ar[r>>2]=4,n=0):(t=0|ar[(t=10364)>>2],ar[10364>>2]=0,n=+$i(A,i,dn()),(A=0|ar[(A=10364)>>2])||(ar[10364>>2]=t),(0|ar[i>>2])==(0|e)?34==(0|A)&&(o=6):(n=0,o=6),6==(0|o)&&(ar[r>>2]=4)),ur=f,+n}function gn(A,e,r,i){e|=0,r|=0,i|=0;var f,n=0,t=0,o=0,a=0,c=0,l=0;f=(a=0|tr[(A|=0)+11>>0])<<24>>24<0,n=0|ar[(o=A+4|0)>>2],a&=255;do{if(0|(f?n:a)){if((0|e)!=(0|r)){for(n=r,t=e;!((n=n+-4|0)>>>0<=t>>>0);)l=0|ar[t>>2],ar[t>>2]=ar[n>>2],ar[n>>2]=l,t=t+4|0;n=0|ar[o>>2]}for(r=r+-4|0,A=(l=f?0|ar[A>>2]:A)+(f?n:a)|0,n=l;o=0<(t=0|tr[n>>0])<<24>>24&t<<24>>24!=127,!(r>>>0<=e>>>0);){if(o&&(t<<24>>24|0)!=(0|ar[e>>2])){c=10;break}e=e+4|0,n=1<(A-n|0)?n+1|0:n}if(10==(0|c)){ar[i>>2]=4;break}o&&((0|ar[r>>2])-1|0)>>>0>=t<<24>>24>>>0&&(ar[i>>2]=4)}}while(0)}function Zn(A,e,r){r|=0;var i,f,n=0,t=0,o=0;return i=ur=(f=ur)+31&-32,ur=ur+16|0,(0|(A|=0))==(0|(e|=0))?(ar[r>>2]=4,n=0):(t=0|ar[(t=10364)>>2],ar[10364>>2]=0,n=+qi(A,i,dn()),(A=0|ar[(A=10364)>>2])||(ar[10364>>2]=t),(0|ar[i>>2])==(0|e)?34==(0|A)&&(o=6):(n=0,o=6),6==(0|o)&&(ar[r>>2]=4)),ur=f,+n}function pn(A,e,r){r|=0;var i,f,n=0,t=0,o=0;return i=ur=(f=ur)+31&-32,ur=ur+16|0,(0|(A|=0))==(0|(e|=0))?(ar[r>>2]=4,n=0):(t=0|ar[(t=10364)>>2],ar[10364>>2]=0,n=+Ki(A,i,dn()),(A=0|ar[(A=10364)>>2])||(ar[10364>>2]=t),(0|ar[i>>2])==(0|e)?34==(0|A)&&(o=6):(n=0,o=6),6==(0|o)&&(ar[r>>2]=4)),ur=f,+n}function yn(A){switch(74&ar[(A|=0)+4>>2]){case 64:A=8;break;case 8:A=16;break;case 0:A=0;break;default:A=10}return 0|A}function Bn(A,e,r,i){A|=0,r|=0,i|=0;var f,n;n=ur=(f=ur)+31&-32,ur=ur+16|0,Tf(n,e|=0),e=0|un(n,59232),Pb[7&ar[32+(0|ar[e>>2])>>2]](e,53648,53674,r),r=0|un(n,59248),e=0|jb[127&ar[16+(0|ar[r>>2])>>2]](r),tr[i>>0]=e,fs[63&ar[20+(0|ar[r>>2])>>2]](A,r),bn(n),ur=f}function En(A,e,r,i){A|=0,e|=0,r|=0,i|=0;var f,n,t=0,o=0,a=0;f=ur=(n=ur)+31&-32,ur=ur+16|0;do{if((0|A)==(0|e))ar[r>>2]=4,A=i=0;else{if(45==(0|tr[A>>0])){ar[r>>2]=4,A=i=0;break}o=0|ar[(o=10364)>>2],A=(ar[(t=10364)>>2]=0)|il(A,f,i,dn()),i=D,(t=0|ar[(t=10364)>>2])||(ar[10364>>2]=o),(0|ar[f>>2])==(0|e)?34==(0|t)&&(i=A=-1,a=8):(i=A=0,a=8),8==(0|a)&&(ar[r>>2]=4)}}while(0);return D=i,ur=n,0|A}function Xn(A,e,r,i){A|=0,e|=0,r|=0,i|=0;var f,n,t=0,o=0;f=ur=(n=ur)+31&-32,ur=ur+16|0;do{if((0|A)==(0|e))ar[r>>2]=4,A=0;else{if(45==(0|tr[A>>0])){ar[r>>2]=4,A=0;break}o=0|ar[(o=10364)>>2],A=(ar[(t=10364)>>2]=0)|il(A,f,i,dn()),i=D,(t=0|ar[(t=10364)>>2])||(ar[10364>>2]=o);do{if((0|ar[f>>2])==(0|e)){if(0<i>>>0|0==(0|i)&4294967295<A>>>0|34==(0|t)){ar[r>>2]=4,A=-1;break}break}ar[r>>2]=4,A=0}while(0)}}while(0);return ur=n,0|A}function Wn(A,e,r,i){A|=0,e|=0,r|=0,i|=0;var f,n,t=0,o=0;f=ur=(n=ur)+31&-32,ur=ur+16|0;do{if((0|A)==(0|e))ar[r>>2]=4,A=0;else{if(45==(0|tr[A>>0])){ar[r>>2]=4,A=0;break}o=0|ar[(o=10364)>>2],A=(ar[(t=10364)>>2]=0)|il(A,f,i,dn()),i=D,(t=0|ar[(t=10364)>>2])||(ar[10364>>2]=o);do{if((0|ar[f>>2])==(0|e)){if(0<i>>>0|0==(0|i)&4294967295<A>>>0|34==(0|t)){ar[r>>2]=4,A=-1;break}break}ar[r>>2]=4,A=0}while(0)}}while(0);return ur=n,0|A}function In(A,e,r,i){A|=0,e|=0,r|=0,i|=0;var f,n,t=0,o=0;f=ur=(n=ur)+31&-32,ur=ur+16|0;do{if((0|A)==(0|e))ar[r>>2]=4,A=0;else{if(45==(0|tr[A>>0])){ar[r>>2]=4,A=0;break}o=0|ar[(o=10364)>>2],A=(ar[(t=10364)>>2]=0)|il(A,f,i,dn()),i=D,(t=0|ar[(t=10364)>>2])||(ar[10364>>2]=o);do{if((0|ar[f>>2])==(0|e)){if(0<i>>>0|0==(0|i)&65535<A>>>0|34==(0|t)){ar[r>>2]=4,A=-1;break}A&=65535;break}ar[r>>2]=4,A=0}while(0)}}while(0);return ur=n,0|A}function Cn(A,e,r,i){r|=0,i|=0;var f,n,t=0,o=0;return f=ur=(n=ur)+31&-32,ur=ur+16|0,(0|(A|=0))==(0|(e|=0))?(ar[r>>2]=4,A=i=0):(o=0|ar[(o=10364)>>2],A=(ar[(t=10364)>>2]=0)|pi(A,f,i,dn()),i=D,(t=0|ar[(t=10364)>>2])||(ar[10364>>2]=o),(0|ar[f>>2])==(0|e)?34==(0|t)&&(ar[r>>2]=4,A=(i=0<(0|i)|0==(0|i)&0<A>>>0)?-1:0,i=i?2147483647:-2147483648):(ar[r>>2]=4,i=A=0)),D=i,ur=n,0|A}function Gn(A,e,r,i){r|=0,i|=0;var f,n,t=0,o=0;if(f=ur=(n=ur)+31&-32,ur=ur+16|0,(0|(A|=0))==(0|(e|=0)))ar[r>>2]=4,A=0;else{o=0|ar[(o=10364)>>2],A=(ar[(t=10364)>>2]=0)|pi(A,f,i,dn()),i=D,(t=0|ar[(t=10364)>>2])||(ar[10364>>2]=o);A:do{if((0|ar[f>>2])==(0|e)){do{if(34!=(0|t)){if((0|i)<-1|-1==(0|i)&A>>>0<2147483648){ar[r>>2]=4;break}if(0<(0|i)|0==(0|i)&2147483647<A>>>0){ar[r>>2]=4,A=2147483647;break A}break A}if(ar[r>>2]=4,0<(0|i)|0==(0|i)&0<A>>>0){A=2147483647;break A}}while(0);A=-2147483648}else ar[r>>2]=4,A=0}while(0)}return ur=n,0|A}function Vn(A,e,r,i,f,n,t){A|=0,e|=0,f|=0,n|=0,t|=0;var o,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0;for(c=ur=(o=ur)+31&-32,ur=ur+112|0,100<(l=((i|=0)-(r|=0)|0)/12|0)>>>0?(c=0|yc(l))?g=a=c:gu():(a=c,g=0),b=r,s=a,c=0;(0|b)!=(0|i);)(u=0|tr[b+11>>0])<<24>>24<0?u=0|ar[b+4>>2]:u&=255,u?tr[s>>0]=1:(tr[s>>0]=2,l=l+-1|0,c=c+1|0),b=b+12|0,s=s+1|0;m=0,w=c;A:for(;;){c=0|ar[A>>2];do{if(c){if(0|Mf(c=(0|(u=0|ar[c+12>>2]))==(0|ar[c+16>>2])?0|jb[127&ar[36+(0|ar[c>>2])>>2]](c):0|hf(0|tr[u>>0]),-1)){ar[A>>2]=0,s=1;break}s=0==(0|ar[A>>2]);break}s=1}while(0);if(c=(u=0|ar[e>>2])?0|Mf(c=(0|(c=0|ar[u+12>>2]))==(0|ar[u+16>>2])?0|jb[127&ar[36+(0|ar[u>>2])>>2]](u):0|hf(0|tr[c>>0]),-1)?(u=ar[e>>2]=0,1):0:(u=0,1),b=0|ar[A>>2],!(0!=(0|l)&(s^c)))break;for(c=(0|(c=0|ar[b+12>>2]))==(0|ar[b+16>>2])?0|jb[127&ar[36+(0|ar[b>>2])>>2]](b):0|hf(0|tr[c>>0]),c&=255,t||(c=0|Hb[31&ar[12+(0|ar[f>>2])>>2]](f,c)),v=m+1|0,k=r,d=0,h=a;(0|k)!=(0|i);){do{if(1==(0|tr[h>>0])){if(u=(0|tr[(b=k+11|0)>>0])<0?0|ar[k>>2]:k,u=0|tr[u+m>>0],t||(u=0|Hb[31&ar[12+(0|ar[f>>2])>>2]](f,u)),s=l+-1|0,c<<24>>24!=u<<24>>24){tr[h>>0]=0,u=d,b=w,l=s;break}(u=0|tr[b>>0])<<24>>24<0?u=0|ar[k+4>>2]:u&=255,(0|u)==(0|v)?(tr[h>>0]=2,b=w+(u=1)|0,l=s):(u=1,b=w)}else u=d,b=w}while(0);k=k+12|0,d=u,h=h+1|0,w=b}if(d)if(c=0|ar[A>>2],(0|(b=0|ar[(u=c+12|0)>>2]))==(0|ar[c+16>>2])?jb[127&ar[40+(0|ar[c>>2])>>2]](c):(ar[u>>2]=b+1,hf(0|tr[b>>0])),1<(w+l|0)>>>0)for(b=r,s=a,c=w;;){if((0|b)==(0|i)){m=v,w=c;continue A}2==(0|tr[s>>0])&&((u=0|tr[b+11>>0])<<24>>24<0?u=0|ar[b+4>>2]:u&=255,(0|u)!=(0|v)&&(c=c+-1|(tr[s>>0]=0))),b=b+12|0,s=s+1|0}else m=v;else m=v}do{if(b){if(0|Mf(c=(0|(c=0|ar[b+12>>2]))==(0|ar[b+16>>2])?0|jb[127&ar[36+(0|ar[b>>2])>>2]](b):0|hf(0|tr[c>>0]),-1)){ar[A>>2]=0,l=1;break}l=0==(0|ar[A>>2]);break}l=1}while(0);do{if(u){if(0|Mf(c=(0|(c=0|ar[u+12>>2]))==(0|ar[u+16>>2])?0|jb[127&ar[36+(0|ar[u>>2])>>2]](u):0|hf(0|tr[c>>0]),-1)){ar[e>>2]=0,Z=41;break}if(l)break;Z=77;break}Z=41}while(0);for(41==(0|Z)&&l&&(Z=77),77==(0|Z)&&(ar[n>>2]=2|ar[n>>2]);;){if((0|r)==(0|i)){Z=81;break}if(2==(0|tr[a>>0]))break;r=r+12|0,a=a+1|0}return 81==(0|Z)&&(ar[n>>2]=4|ar[n>>2],r=i),Bc(g),ur=o,0|r}function Fn(A,e,r,i,f,n,t,o,a,c){A|=0,e|=0,r|=0,f|=0,n|=0,t|=0,o|=0,a|=0,c|=0;var l,u,b=0,s=0;u=(0|(l=0|ar[(i|=0)>>2]))==(0|r);do{if(u){if(!(b=(0|ar[c+96>>2])==(0|A))&&(0|ar[c+100>>2])!=(0|A)){s=5;break}ar[i>>2]=r+1,tr[r>>0]=b?43:45,b=ar[f>>2]=0}else s=5}while(0);A:do{if(5==(0|s)){if(s=0|tr[t+11>>0],(0|A)==(0|n)&&0!=(0|(s<<24>>24<0?0|ar[t+4>>2]:255&s))){if(160<=((b=0|ar[a>>2])-o|0)){b=0;break}i=0|ar[f>>2],ar[a>>2]=b+4,ar[b>>2]=i,b=ar[f>>2]=0;break}for(t=c+104|0,n=0;;){if(b=c+(n<<2)|0,26==(0|n)){b=t;break}if((0|ar[b>>2])==(0|A))break;n=n+1|0}if(n=(b=b-c|0)>>2,92<(0|b))b=-1;else{switch(t=53648+n|0,0|e){case 10:case 8:if((0|e)<=(0|n)){b=-1;break A}break;case 16:if(88<=(0|b)){if(u){b=-1;break A}if(3<=(l-r|0)){b=-1;break A}if(48!=(0|tr[l-1>>0])){b=-1;break A}b=(ar[f>>2]=0)|tr[t>>0],ar[i>>2]=1+l,tr[l>>0]=b,b=0;break A}}b=0|tr[t>>0],ar[i>>2]=1+l,tr[l>>0]=b,ar[f>>2]=1+(0|ar[f>>2]),b=0}}}while(0);return 0|b}function Rn(A,e,r,i,f){A|=0,r|=0,i|=0,f|=0;var n,t;t=ur=(n=ur)+31&-32,ur=ur+16|0,Tf(t,e|=0),e=0|un(t,59264),Pb[7&ar[48+(0|ar[e>>2])>>2]](e,53648,53680,r),r=0|un(t,59272),e=0|jb[127&ar[12+(0|ar[r>>2])>>2]](r),ar[i>>2]=e,i=0|jb[127&ar[16+(0|ar[r>>2])>>2]](r),ar[f>>2]=i,fs[63&ar[20+(0|ar[r>>2])>>2]](A,r),bn(t),ur=n}function Nn(A,e,r,i,f,n,t,o,a,c,l,u){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,c|=0,l|=0,u|=0;var b,s=0,d=0;b=a|=0;A:do{if((0|A)==(0|n))a=0|tr[e>>0]?(r=(tr[e>>0]=0)|ar[f>>2],ar[f>>2]=r+1,tr[r>>0]=46,0!=(0|((f=0|tr[o+11>>0])<<24>>24<0?0|ar[o+4>>2]:255&f))&&((s=0|ar[c>>2])-b|0)<160&&(a=0|ar[l>>2],ar[c>>2]=s+4,ar[s>>2]=a),0):-1;else{if((0|A)==(0|t)&&0|((t=0|tr[o+11>>0])<<24>>24<0?0|ar[o+4>>2]:255&t)){if(!(0|tr[e>>0])){a=-1;break}if(160<=((a=0|ar[c>>2])-b|0)){a=0;break}f=0|ar[l>>2],ar[c>>2]=a+4,ar[a>>2]=f,a=ar[l>>2]=0;break}for(n=u+128|0,s=0;;){if(a=u+(s<<2)|0,32==(0|s)){a=n;break}if((0|ar[a>>2])==(0|A))break;s=s+1|0}if(a=(s=a-u|0)>>2,(0|s)<=124){switch(n=0|tr[53648+a>>0],0|a){case 24:case 25:if((0|(a=0|ar[f>>2]))!=(0|i)&&(95&tr[a+-1>>0])!=(127&tr[r>>0])){a=-1;break A}ar[f>>2]=a+1,tr[a>>0]=n,a=0;break A;case 23:case 22:tr[r>>0]=80;break;default:(0|(a=95&n))==(0|tr[r>>0])&&(tr[r>>0]=128|a,0|tr[e>>0])&&(tr[e>>0]=0)|((r=0|tr[o+11>>0])<<24>>24<0?0|ar[o+4>>2]:255&r)&&((d=0|ar[c>>2])-b|0)<160&&(r=0|ar[l>>2],ar[c>>2]=d+4,ar[d>>2]=r)}c=0|ar[f>>2],ar[f>>2]=c+1,tr[c>>0]=n,a=(84<(0|s)||(ar[l>>2]=1+(0|ar[l>>2])),0)}else a=-1}}while(0);return 0|a}function _n(A,e,r,i){A|=0,r|=0,i|=0;var f,n;n=ur=(f=ur)+31&-32,ur=ur+16|0,Tf(n,e|=0),e=0|un(n,59264),Pb[7&ar[48+(0|ar[e>>2])>>2]](e,53648,53674,r),r=0|un(n,59272),e=0|jb[127&ar[16+(0|ar[r>>2])>>2]](r),ar[i>>2]=e,fs[63&ar[20+(0|ar[r>>2])>>2]](A,r),bn(n),ur=f}function Yn(A){gb(A|=0)}function Qn(A){Zb(A|=0)}function Dn(A){ar[(A|=0)>>2]=0,pA(A+4|0,0),dA(A+32|0,0)}function Jn(A){ZA((A|=0)+4|0),sA(A+32|0)}function Mn(A,e){e|=0;var r,i=0;if(!((0|ar[(A|=0)>>2])>=(0|e))){if(gb(r=A+4|0),(0|ar[A>>2])<(0|e))for(i=A+32|0;hA(0|i,0|r),(0|ar[A>>2])<(0|e););Zb()}}function Tn(A,e){e|=0;var r;gb(r=(A|=0)+4|0),(0|ar[A>>2])>=(0|e)||(ar[A>>2]=e,mb()),Zb()}function Un(A,e){e|=0;var r;gb(r=(A|=0)+4|0),ar[A>>2]=(0|ar[A>>2])+e,mb(),Zb()}function Sn(A,e){e|=0;var r,i,f,n,t=0,o=0,a=0,c=0;gb(n=(A|=0)+420|0),0|tr[A>>0]||(t=0|ar[(i=A+8|0)>>2],c=(0|ar[A+12>>2])-t|0,a=0|ar[(o=A+20|0)>>2],(0|(0==(0|c)?0:(c<<8)-1|0))==((r=0|ar[(f=A+24|0)>>2])+a|0)?(function(A){var e=0,r=0,i=0,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0;if(ur=(s=ur)+32|0,c=s+4|0,a=s,1023<(r=0|ar[(e=16+(A|=0)|0)>>2])>>>0){ar[e>>2]=r+-1024,c=0|ar[(l=A+4|0)>>2],b=0|ar[c>>2],c=c+4|0,ar[l>>2]=c,o=0|ar[(u=A+8|0)>>2],t=0|ar[(a=A+12|0)>>2],e=t,n=o;do{if((0|o)==(0|t)){if(r=0|ar[A>>2],(i=r)>>>0<c>>>0){f=(e=c)+((i=(1+(e-i>>2)|0)/-2|0)<<2)|0,e=(r=(e=n-e|0)>>2)?(wb(0|f,0|c,0|e),0|ar[l>>2]):c,A=f+(r<<2)|0,ar[u>>2]=A,ar[l>>2]=e+(i<<2),e=A;break}if(1073741823<(e=0==(0|(e=e-i>>1))?1:e)>>>0&&(Zu(s=0|X(8),44519),ar[s>>2]=17660,I(0|s,4016,428)),f=0|hu(e<<2),t=i=(n=f)+(e>>>2<<2)|0,f=f+(e<<2)|0,(0|c)==(0|o))e=t;else{for(e=t,r=c;ar[i>>2]=ar[r>>2],e=i=e+4|0,(0|(r=r+4|0))!=(0|o););r=0|ar[A>>2]}ar[A>>2]=n,ar[l>>2]=t,ar[u>>2]=e,ar[a>>2]=f,r&&(vu(r),e=0|ar[u>>2])}else e=o}while(0);return ar[e>>2]=b,ar[u>>2]=4+(0|ar[u>>2]),ur=s}if(e=0|ar[(b=A+8|0)>>2],f=e-(0|ar[(u=A+4|0)>>2])|0,r=0|ar[(l=A+12|0)>>2],i=r-(0|ar[A>>2])|0,i>>>0<=f>>>0){for(e=0==(0|(e=i>>1))?1:e,ar[c+12>>2]=0,ar[c+16>>2]=A+12,1073741823<e>>>0&&(Zu(s=0|X(8),44519),ar[s>>2]=17660,I(0|s,4016,428)),i=0|hu(e<<2),ar[c>>2]=i,t=i+(f>>2<<2)|0,ar[(o=c+8|0)>>2]=t,ar[(n=c+4|0)>>2]=t,ar[(t=c+12|0)>>2]=i+(e<<2),f=0|hu(4096),ar[a>>2]=f,function(A,e){e|=0;var r,i,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0;r=0|ar[(b=8+(A|=0)|0)>>2],u=0|ar[(i=A+12|0)>>2],t=u,a=r;do{if((0|r)==(0|u)){if(l=0|ar[(u=A+4|0)>>2],n=0|ar[A>>2],(f=n)>>>0<l>>>0){o=(n=l)+((t=(1+(n-f>>2)|0)/-2|0)<<2)|0,f=(n=(f=a-n|0)>>2)?(wb(0|o,0|l,0|f),0|ar[u>>2]):l,l=o+(n<<2)|0,ar[b>>2]=l,ar[u>>2]=f+(t<<2),f=l;break}if(1073741823<(f=0==(0|(f=t-f>>1))?1:f)>>>0&&(Zu(b=0|X(8),44519),ar[b>>2]=17660,I(0|b,4016,428)),o=0|hu(f<<2),c=t=(a=o)+(f>>>2<<2)|0,o=o+(f<<2)|0,(0|l)==(0|r))f=c;else{for(f=c,n=l;ar[t>>2]=ar[n>>2],f=t=f+4|0,(0|(n=n+4|0))!=(0|r););n=0|ar[A>>2]}ar[A>>2]=a,ar[u>>2]=c,ar[b>>2]=f,ar[i>>2]=o,n&&(vu(n),f=0|ar[b>>2])}else f=r}while(0);ar[f>>2]=ar[e>>2],ar[b>>2]=4+(0|ar[b>>2])}(c,a),f=0|ar[b>>2];e=0|ar[u>>2],(0|f)!=(0|e);)On(c,a=f+-4|0),f=a;return r=e,i=0|ar[A>>2],ar[A>>2]=ar[c>>2],ar[c>>2]=i,ar[u>>2]=ar[n>>2],ar[n>>2]=r,e=0|ar[b>>2],ar[b>>2]=ar[o>>2],ar[o>>2]=e,A=0|ar[l>>2],ar[l>>2]=ar[t>>2],ar[t>>2]=A,(0|e)!=(0|f)&&(ar[o>>2]=e+(~((e+-4-r|0)>>>2)<<2)),0|i&&vu(i),ur=s}if((0|r)!=(0|e))return b=0|hu(4096),ar[c>>2]=b,function(A,e){e|=0;var r,i,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0;r=0|ar[(b=8+(A|=0)|0)>>2],u=0|ar[(i=A+12|0)>>2],t=u,a=r;do{if((0|r)==(0|u)){if(l=0|ar[(u=A+4|0)>>2],n=0|ar[A>>2],(f=n)>>>0<l>>>0){o=(n=l)+((t=(1+(n-f>>2)|0)/-2|0)<<2)|0,f=(n=(f=a-n|0)>>2)?(wb(0|o,0|l,0|f),0|ar[u>>2]):l,l=o+(n<<2)|0,ar[b>>2]=l,ar[u>>2]=f+(t<<2),f=l;break}if(1073741823<(f=0==(0|(f=t-f>>1))?1:f)>>>0&&(Zu(b=0|X(8),44519),ar[b>>2]=17660,I(0|b,4016,428)),o=0|hu(f<<2),c=t=(a=o)+(f>>>2<<2)|0,o=o+(f<<2)|0,(0|l)==(0|r))f=c;else{for(f=c,n=l;ar[t>>2]=ar[n>>2],f=t=f+4|0,(0|(n=n+4|0))!=(0|r););n=0|ar[A>>2]}ar[A>>2]=a,ar[u>>2]=c,ar[b>>2]=f,ar[i>>2]=o,n&&(vu(n),f=0|ar[b>>2])}else f=r}while(0);ar[f>>2]=ar[e>>2],ar[b>>2]=4+(0|ar[b>>2])}(A,c),ur=s;a=0|hu(4096),ar[c>>2]=a,function(A,e){e|=0;var r,i=0,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0;r=0|ar[(s=4+(A|=0)|0)>>2],b=0|ar[A>>2],n=b;do{if((0|r)==(0|b)){if(f=0|ar[(b=A+8|0)>>2],l=0|ar[(u=A+12|0)>>2],f>>>0<(i=l)>>>0){t=(i=(n=f)+((o=(1+(i-n>>2)|0)/2|0)<<2)|0)+(0-(u=(n=n-r|0)>>2)<<2)|0,u&&(wb(0|t,0|r,0|n),i=t,f=0|ar[b>>2]),ar[s>>2]=i,ar[b>>2]=f+(o<<2);break}if(1073741823<(n=0==(0|(n=i-n>>1))?1:n)>>>0&&(Zu(s=0|X(8),44519),ar[s>>2]=17660,I(0|s,4016,428)),a=0|hu(n<<2),l=i=(c=a)+((n+3|0)>>>2<<2)|0,a=a+(n<<2)|0,(0|r)==(0|f))n=l,f=r;else{for(o=i,n=l,t=r;ar[o>>2]=ar[t>>2],n=o=n+4|0,(0|(t=t+4|0))!=(0|f););f=0|ar[A>>2]}ar[A>>2]=c,ar[s>>2]=l,ar[b>>2]=n,ar[u>>2]=a,f&&(vu(f),i=0|ar[s>>2])}else i=r}while(0);ar[i+-4>>2]=ar[e>>2],ar[s>>2]=(0|ar[s>>2])-4}(A,c),a=0|ar[u>>2],c=0|ar[a>>2],a=a+4|0,ar[u>>2]=a,o=0|ar[b>>2],t=0|ar[l>>2],e=t,n=o;do{if((0|o)==(0|t)){if(r=0|ar[A>>2],(i=r)>>>0<a>>>0){f=(e=a)+((i=(1+(e-i>>2)|0)/-2|0)<<2)|0,e=(r=(e=n-e|0)>>2)?(wb(0|f,0|a,0|e),0|ar[u>>2]):a,A=f+(r<<2)|0,ar[b>>2]=A,ar[u>>2]=e+(i<<2),e=A;break}if(1073741823<(e=0==(0|(e=e-i>>1))?1:e)>>>0&&(Zu(s=0|X(8),44519),ar[s>>2]=17660,I(0|s,4016,428)),f=0|hu(e<<2),t=i=(n=f)+(e>>>2<<2)|0,f=f+(e<<2)|0,(0|a)==(0|o))e=t;else{for(e=t,r=a;ar[i>>2]=ar[r>>2],e=i=e+4|0,(0|(r=r+4|0))!=(0|o););r=0|ar[A>>2]}ar[A>>2]=n,ar[u>>2]=t,ar[b>>2]=e,ar[l>>2]=f,r&&(vu(r),e=0|ar[b>>2])}else e=o}while(0);ar[e>>2]=c,ar[b>>2]=4+(0|ar[b>>2]),ur=s}(A+4|0),a=0|ar[o>>2],o=0|ar[f>>2],t=0|ar[i>>2]):o=r,ar[(0|ar[t+((c=o+a|0)>>>10<<2)>>2])+((1023&c)<<2)>>2]=e,ar[f>>2]=o+1,kA(A+448|0)),Zb()}function On(A,e){e|=0;var r,i=0,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0;r=0|ar[(s=(A|=0)+4|0)>>2],n=b=0|ar[A>>2];do{if((0|r)==(0|b)){if((f=0|ar[(b=A+8|0)>>2])>>>0<(i=l=0|ar[(u=A+12|0)>>2])>>>0){t=(i=(n=f)+((o=(1+(i-n>>2)|0)/2|0)<<2)|0)+(0-(u=(n=n-r|0)>>2)<<2)|0,u&&(wb(0|t,0|r,0|n),i=t,f=0|ar[b>>2]),ar[s>>2]=i,ar[b>>2]=f+(o<<2);break}if(1073741823<(n=0==(0|(n=i-n>>1))?1:n)>>>0&&(Zu(s=0|X(8),44519),ar[s>>2]=17660,I(0|s,4016,428)),l=i=(c=a=0|hu(n<<2))+((n+3|0)>>>2<<2)|0,a=a+(n<<2)|0,(0|r)==(0|f))n=l,f=r;else{for(o=i,n=l,t=r;ar[o>>2]=ar[t>>2],n=o=n+4|0,(0|(t=t+4|0))!=(0|f););f=0|ar[A>>2]}ar[A>>2]=c,ar[s>>2]=l,ar[b>>2]=n,ar[u>>2]=a,f&&(vu(f),i=0|ar[s>>2])}else i=r}while(0);ar[i+-4>>2]=ar[e>>2],ar[s>>2]=(0|ar[s>>2])-4}function zn(A,e,r,i,f){e|=0,r|=0,i|=0,f|=0;var n,t,o,a,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0;u=5932+(o=0|ar[(a=(A|=0)+18596|0)>>2])|0,t=0|ar[(b=A+18600|0)>>2],n=(h=-1<<ar[10092+o>>2])&i,h&=f,r=A+18536|0,(0|n)==(0|ar[(e=A+18532|0)>>2])&&(0|h)==(0|ar[r>>2])||(ar[A+18540>>2]=ar[A+18528>>2],ar[e>>2]=n,ar[r>>2]=h),k=5804+o|0,l=n?0:0==((1<<ar[k>>2])-1&h|0),e=0|ar[800+t>>2],r=0|ar[5820+o>>2],c=0|ar[5812+o>>2],r=(0|br(c,(0|e)%(0|r)|0))==(0|n)?(0|br((0|e)/(0|r)|0,c))==(0|h):0,e=0!=(0|tr[5966+o>>0])&&0==((1<<(s=0|ar[k>>2]))-1&(n|h)|0)?0|Fa(u,n>>s,h>>s):0;do{if(r|e)d=14;else{if(l&&0|tr[5965+o>>0]){d=14;break}e=A+18540|0}}while(0);14==(0|d)&&(e=792+(0|ar[b>>2])|0),u=0|ar[e>>2],e=n-1|0;do{if(0|da(0|ar[a>>2],n,h,e,h)&&(d=0|ar[5864+o>>2],s=(0|br(h>>d,0|ar[5852+o>>2]))+(e>>d)|0,(ar[(0|ar[10320+o>>2])+(s<<2)>>2]>>((0|ar[k>>2])-d<<1)|0)==(0|ar[A+4>>2]))){if(l=0|ar[a>>2],e>>=r=0|ar[l+10368>>2],r=h>>r,(0|e)<=-1&&sr(48482,48519,118,48539),(0|(c=0|ar[l+10372>>2]))<=(0|e)&&sr(48482,48519,118,48539),(0|r)<=-1&&sr(48543,48519,119,48539),(0|r)<(0|ar[l+10376>>2])){w=(0|ar[l+10360>>2])+(3*((0|br(c,r))+e|0)|0)+2|0,w=0|tr[w>>0];break}sr(48543,48519,119,48539)}else w=u}while(0);e=h+-1|0;do{if(0|da(0|ar[a>>2],n,h,n,e)&&(h=0|ar[5864+o>>2],d=(0|br(e>>h,0|ar[5852+o>>2]))+(n>>h)|0,(ar[(0|ar[10320+o>>2])+(d<<2)>>2]>>((0|ar[k>>2])-h<<1)|0)==(0|ar[A+4>>2]))){if(l=0|ar[a>>2],e>>=h=0|ar[l+10368>>2],(0|(c=n>>h))<=-1&&sr(48482,48519,118,48539),(0|(r=0|ar[l+10372>>2]))<=(0|c)&&sr(48482,48519,118,48539),(0|e)<=-1&&sr(48543,48519,119,48539),(0|e)<(0|ar[l+10376>>2])){v=(0|ar[l+10360>>2])+(3*((0|br(r,e))+c|0)|0)+2|0,v=0|tr[v>>0];break}sr(48543,48519,119,48539)}else v=u}while(0);h=0|ar[5764+o>>2],h=(e=(52+(0|ar[A+18512>>2])+(w+1+v>>1)+(h<<1)|0)%(h+52|0)|0)-h|0,ar[A+18544>>2]=e,e=(0|(e=(0|ar[5952+o>>2])+h+(0|ar[744+t>>2])+(0|ar[A+18520>>2])|0))<(0|(v=0-(c=0|ar[5772+o>>2])|0))?v:(0|e)<57?e:57,r=(0|(r=(0|ar[5956+o>>2])+h+(0|ar[748+t>>2])+(0|ar[A+18524>>2])|0))<(0|v)?v:(0|r)<57?r:57;do{if(1==(0|ar[5776+o>>2])){do{if(30<=(0|e)){if(42<(0|e)){e=e+-6|0;break}e=0|ar[8020+(e+-30<<2)>>2];break}}while(0);if(30<=(0|r)){if(42<(0|r)){r=r+-6|0;break}r=0|ar[8020+(r+-30<<2)>>2];break}}}while(0);if(ar[A+18548>>2]=c+e,ar[A+18552>>2]=c+r,e=0|ar[a>>2],c=f>>(r=0|ar[e+10368>>2]),(0|(k=i>>r))<=-1&&sr(48482,48519,118,48539),(0|(d=0|ar[e+10372>>2]))<=(0|k)&&sr(48482,48519,118,48539),(0|c)<=-1&&sr(48543,48519,119,48539),(0|c)>=(0|ar[e+10376>>2])&&sr(48543,48519,119,48539),f=(s=0|ar[e+10360>>2])+(3*((0|br(d,c))+k|0)|0)|0,b=(e=1<<(f=(3<(f=7&(cr[f>>0]|cr[f+1>>0]<<8))>>>0?f:3)-r|0))+c|0,31!=(0|f)){l=e+k|0,u=255&h,e=c;do{for(c=0|br(e,d),r=k;tr[s+(3*(r+c|0)|0)+2>>0]=u,(0|(r=r+1|0))<(0|l););e=e+1|0}while((0|e)<(0|b));ar[(A=A+18528|0)>>2]=h}else ar[(A=A+18528|0)>>2]=h}function jn(A,e,r,i,f,n,t,o,a,c){e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,a|=0,c|=0;var l;return l=0|ar[(A|=0)+18596>>2],8<(0|ar[(0==(0|t)?5760+l|0:5768+l|0)>>2])?void function(A,e,r,i,f,n,t,o,a,c){e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,a|=0,c|=0;var l,u,b,s,d,k,h,w,v,m,g,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0,C=0,G=0,V=0,F=0,R=0,N=0;switch(ur=(g=ur)+4096|0,s=g,b=0|ar[(k=18596+(A|=0)|0)>>2],0|t){case 0:Z=A+18544|0;break;case 1:Z=A+18548|0;break;case 2:Z=A+18552|0;break;default:sr(44456,44443,367,44458)}X=0|ar[Z>>2],i=0|ar[(m=A+2112|0)>>2],h=0|ar[((d=0==(0|t))?40+b|0:44+b|0)>>2],v=(0|ar[4+b+(t<<2)>>2])+((0|br(h,r))+e<<1)|0,w=0|ar[(d?5760+b|0:5768+b|0)>>2],f=0|ar[10368+b>>2],e>>=f,f=r>>f,(0|e)<=-1&&sr(48482,48519,118,48539);Z=0|ar[10372+b>>2],(0|Z)<=(0|e)&&sr(48482,48519,118,48539);(0|f)<=-1&&sr(48543,48519,119,48539);(0|f)>=(0|ar[10376+b>>2])&&sr(48543,48519,119,48539);I=(0|ar[10360+b>>2])+(3*((0|br(Z,f))+e|0)|0)|0,I=(65535&(cr[I>>0]|cr[I+1>>0]<<8))>>>8&3,l=65535&I,I=(u=4==(0|n))&0!=(0|tr[5748+b>>0])&I<<16>>16==0;A:do{if(0|tr[A+32>>0]){if(r=d?A+14412|0:s,0<(0|or[(Z=A+14404+(t<<1)|0)>>1]))for(f=0;or[i+(or[A+8260+(t<<11)+(f<<1)>>1]<<1)>>1]=0|or[A+2116+(t<<11)+(f<<1)>>1],(0|(f=f+1|0))<(0|or[Z>>1]););I&&fs[63&ar[432+(0|ar[A+18592>>2])>>2]](i,4);do{if(c){if(f=0|ar[A+18592>>2],2==(0|c)){ns[127&ar[f+368>>2]](r,i,n);break}ns[127&ar[f+372>>2]](r,i,n);break}ns[127&ar[364+(0|ar[A+18592>>2])>>2]](r,i,n)}while(0);if(!d&&0|ar[(p=A+28|0)>>2]&&(B=0|ar[k>>2],y=0|ar[B+5768>>2],B=0|ar[B+5760>>2],0<(0|n))){f=0;do{for(e=0|br(f,n),Z=0;R=(0|br(ar[A+14412+((N=Z+e|0)<<2)>>2]<<y>>B,0|ar[p>>2]))>>3,ar[(N=r+(N<<2)|0)>>2]=R+(0|ar[N>>2]),(0|(Z=Z+1|0))!=(0|n););f=f+1|0}while((0|f)!=(0|n))}if(os[63&ar[460+(0|ar[A+18592>>2])>>2]](v,h,r,n,w),I)for(f=i+32|0;((or[i>>1]=0)|(i=i+2|0))<(0|f););}else{if(E=1<(0|n))for(Z=n,f=0;f=f+1|0,3<Z>>>0;)Z>>>=1;else f=0;if(B=(f=f+w|0)+-5|0,0|tr[1400+b>>0]){y=1<<f+-6;do{if(!a){if((0|n)<32){f=t+3|0;break}f=t+1|0;break}f=t}while(0);switch((a=n+-4|0)>>>2|a<<30|0){case 0:W=5993+b+(f<<4)|0;break;case 1:W=6089+b+(f<<6)|0;break;case 3:W=6473+b+(f<<8)|0;break;case 7:W=8009+b+(f<<10)|0;break;default:sr(44456,44443,492,44458)}if(0<(0|or[(r=A+14404+(t<<1)|0)>>1]))for(p=0|ar[8072+(((0|X)%6|0)<<2)>>2],Z=(0|X)/6|0,e=((0|y)<0)<<31>>31,f=0;X=0|or[A+8260+(t<<11)+(f<<1)>>1],R=(0|br(0|cr[W+X>>0],p))<<Z,a=0|or[A+2116+(t<<11)+(f<<1)>>1],a=0|bb(0|(a=0|tb(0|(a=0|nb(0|R,((0|R)<0)<<31>>31|0,0|a,((0|a)<0)<<31>>31|0)),0|D,0|y,0|e)),0|D,0|B),F=(0|(R=D))<-1|-1==(0|R)&a>>>0<4294934528,a=(N=(0|R)<0|0==(0|R)&a>>>0<32767)?a:32767,or[i+(X<<1)>>1]=F?-32768:65535&a,(0|(f=f+1|0))<(0|or[r>>1]););}else if(p=f+-9|0,r=1<<f+-10,Z=ar[8072+(((0|X)%6|0)<<2)>>2]<<((0|X)/6|0),0<(0|or[(e=A+14404+(t<<1)|0)>>1]))for(f=0;W=(0|br(0|or[A+2116+(t<<11)+(f<<1)>>1],Z))+r>>p,or[i+(or[A+8260+(t<<11)+(f<<1)>>1]<<1)>>1]=(0|W)<-32768?-32768:65535&((0|W)<32767?W:32767),(0|(f=f+1|0))<(0|or[e>>1]););if(p=0<(0|n),!o){if(Z=u&0==(l|t|0),0|c&&sr(44486,44443,591,44458),0|tr[10071+b>>0]){xn(A,i,n,n,1&Z,v,h,w,t);break}if(f=0|ar[A+18592>>2],Z){ts[31&ar[f+412>>2]](v,i,h,w);break}switch(0|n){case 4:ts[31&ar[f+416>>2]](v,i,h,w);break A;case 8:ts[31&ar[f+420>>2]](v,i,h,w);break A;case 16:ts[31&ar[f+424>>2]](v,i,h,w);break A;default:ts[31&ar[f+428>>2]](v,i,h,w);break A}}if(E){for(f=n,Z=0;3<f>>>0;)f>>>=1,Z=Z+1|0;Z=Z+6|0}else Z=5;e=0<(0|(e=20-w|0))?e:0,I&&fs[63&ar[432+(0|ar[A+18592>>2])>>2]](i,4),r=d?A+14412|0:s;do{if(c){if(f=0|ar[A+18592>>2],2==(0|c)){os[63&ar[f+464>>2]](r,i,n,Z,e);break}os[63&ar[f+468>>2]](r,i,n,Z,e);break}os[63&ar[472+(0|ar[A+18592>>2])>>2]](r,i,n,Z,e)}while(0);if(!d&&0|ar[(C=A+28|0)>>2]&&(V=0|ar[k>>2],G=0|ar[V+5768>>2],V=0|ar[V+5760>>2],p)){f=0;do{for(e=0|br(f,n),Z=0;R=(0|br(ar[A+14412+((N=Z+e|0)<<2)>>2]<<G>>V,0|ar[C>>2]))>>3,ar[(N=r+(N<<2)|0)>>2]=R+(0|ar[N>>2]),(0|(Z=Z+1|0))!=(0|n););f=f+1|0}while((0|f)!=(0|n))}if(os[63&ar[460+(0|ar[A+18592>>2])>>2]](v,h,r,n,w),I)for(f=i+32|0;((or[i>>1]=0)|(i=i+2|0))<(0|f););}}while(0);if((0|or[(Z=A+14404+(t<<1)|0)>>1])<=0)return ur=g;f=0|ar[m>>2],i=0;for(;or[f+(or[A+8260+(t<<11)+(i<<1)>>1]<<1)>>1]=0,i=i+1|0,(0|i)<(0|or[Z>>1]););ur=g}(A,e,r,i,f,n,t,o,a,c):void function(A,e,r,i,f,n,t,o,a,c){e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,a|=0,c|=0;var l,u,b,s,d,k,h,w,v,m,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0,C=0,G=0,V=0,F=0,R=0;switch(ur=(m=ur)+4096|0,s=m,b=0|ar[(k=18596+(A|=0)|0)>>2],0|t){case 0:g=A+18544|0;break;case 1:g=A+18548|0;break;case 2:g=A+18552|0;break;default:sr(44456,44443,367,44458)}E=0|ar[g>>2],i=0|ar[(v=A+2112|0)>>2],h=0|ar[((d=0==(0|t))?40+b|0:44+b|0)>>2],w=(0|ar[4+b+(t<<2)>>2])+((0|br(h,r))+e)|0,f=0|ar[10368+b>>2],e>>=f,f=r>>f,(0|e)<=-1&&sr(48482,48519,118,48539);g=0|ar[10372+b>>2],(0|g)<=(0|e)&&sr(48482,48519,118,48539);(0|f)<=-1&&sr(48543,48519,119,48539);(0|f)>=(0|ar[10376+b>>2])&&sr(48543,48519,119,48539);W=(0|ar[10360+b>>2])+(3*((0|br(g,f))+e|0)|0)|0,W=(65535&(cr[W>>0]|cr[W+1>>0]<<8))>>>8&3,l=65535&W,W=(u=4==(0|n))&0!=(0|tr[5748+b>>0])&W<<16>>16==0;A:do{if(0|tr[A+32>>0]){if(r=d?A+14412|0:s,0<(0|or[(g=A+14404+(t<<1)|0)>>1]))for(f=0;or[i+(or[A+8260+(t<<11)+(f<<1)>>1]<<1)>>1]=0|or[A+2116+(t<<11)+(f<<1)>>1],(0|(f=f+1|0))<(0|or[g>>1]););W&&fs[63&ar[432+(0|ar[A+18592>>2])>>2]](i,4);do{if(c){if(f=0|ar[A+18592>>2],2==(0|c)){ns[127&ar[f+368>>2]](r,i,n);break}ns[127&ar[f+372>>2]](r,i,n);break}ns[127&ar[364+(0|ar[A+18592>>2])>>2]](r,i,n)}while(0);if(!d&&0|ar[(Z=A+28|0)>>2]&&(y=0|ar[k>>2],p=0|ar[y+5768>>2],y=0|ar[y+5760>>2],0<(0|n))){f=0;do{for(e=0|br(f,n),g=0;F=(0|br(ar[A+14412+((R=g+e|0)<<2)>>2]<<p>>y,0|ar[Z>>2]))>>3,ar[(R=r+(R<<2)|0)>>2]=F+(0|ar[R>>2]),(0|(g=g+1|0))!=(0|n););f=f+1|0}while((0|f)!=(0|n))}if(os[63&ar[456+(0|ar[A+18592>>2])>>2]](w,h,r,n,8),W)for(f=i+32|0;((or[i>>1]=0)|(i=i+2|0))<(0|f););}else{if(e=0|ar[(d?5760+b|0:5768+b|0)>>2],B=1<(0|n))for(g=n,f=0;f=f+1|0,3<g>>>0;)g>>>=1;else f=0;if(y=(f=f+e|0)+-5|0,0|tr[1400+b>>0]){p=1<<f+-6;do{if(!a){if((0|n)<32){f=t+3|0;break}f=t+1|0;break}f=t}while(0);switch((a=n+-4|0)>>>2|a<<30|0){case 0:X=5993+b+(f<<4)|0;break;case 1:X=6089+b+(f<<6)|0;break;case 3:X=6473+b+(f<<8)|0;break;case 7:X=8009+b+(f<<10)|0;break;default:sr(44456,44443,492,44458)}if(0<(0|or[(r=A+14404+(t<<1)|0)>>1]))for(Z=0|ar[8072+(((0|E)%6|0)<<2)>>2],g=(0|E)/6|0,e=((0|p)<0)<<31>>31,f=0;E=0|or[A+8260+(t<<11)+(f<<1)>>1],F=(0|br(0|cr[X+E>>0],Z))<<g,a=0|or[A+2116+(t<<11)+(f<<1)>>1],a=0|bb(0|(a=0|tb(0|(a=0|nb(0|F,((0|F)<0)<<31>>31|0,0|a,((0|a)<0)<<31>>31|0)),0|D,0|p,0|e)),0|D,0|y),V=(0|(F=D))<-1|-1==(0|F)&a>>>0<4294934528,a=(R=(0|F)<0|0==(0|F)&a>>>0<32767)?a:32767,or[i+(E<<1)>>1]=V?-32768:65535&a,(0|(f=f+1|0))<(0|or[r>>1]););}else if(Z=f+-9|0,r=1<<f+-10,g=ar[8072+(((0|E)%6|0)<<2)>>2]<<((0|E)/6|0),0<(0|or[(e=A+14404+(t<<1)|0)>>1]))for(f=0;X=(0|br(0|or[A+2116+(t<<11)+(f<<1)>>1],g))+r>>Z,or[i+(or[A+8260+(t<<11)+(f<<1)>>1]<<1)>>1]=(0|X)<-32768?-32768:65535&((0|X)<32767?X:32767),(0|(f=f+1|0))<(0|or[e>>1]););if(e=0<(0|n),!o){if(g=u&0==(l|t|0),0|c&&sr(44486,44443,591,44458),0|tr[10071+b>>0]){Hn(A,i,n,n,1&g,w,h,8,t);break}if(f=0|ar[A+18592>>2],g){ns[127&ar[f+388>>2]](w,i,h);break}switch(0|n){case 4:ns[127&ar[f+392>>2]](w,i,h);break A;case 8:ns[127&ar[f+396>>2]](w,i,h);break A;case 16:ns[127&ar[f+400>>2]](w,i,h);break A;default:ns[127&ar[f+404>>2]](w,i,h);break A}}if(B){for(f=n,g=0;3<f>>>0;)f>>>=1,g=g+1|0;g=g+6|0}else g=5;W&&fs[63&ar[432+(0|ar[A+18592>>2])>>2]](i,4),r=d?A+14412|0:s;do{if(c){if(f=0|ar[A+18592>>2],2==(0|c)){os[63&ar[f+464>>2]](r,i,n,g,12);break}os[63&ar[f+468>>2]](r,i,n,g,12);break}os[63&ar[472+(0|ar[A+18592>>2])>>2]](r,i,n,g,12)}while(0);if(!d&&0|ar[(I=A+28|0)>>2]&&(G=0|ar[k>>2],C=0|ar[G+5768>>2],G=0|ar[G+5760>>2],e)){f=0;do{for(e=0|br(f,n),g=0;F=(0|br(ar[A+14412+((R=g+e|0)<<2)>>2]<<C>>G,0|ar[I>>2]))>>3,ar[(R=r+(R<<2)|0)>>2]=F+(0|ar[R>>2]),(0|(g=g+1|0))!=(0|n););f=f+1|0}while((0|f)!=(0|n))}if(os[63&ar[456+(0|ar[A+18592>>2])>>2]](w,h,r,n,8),W)for(f=i+32|0;((or[i>>1]=0)|(i=i+2|0))<(0|f););}}while(0);if((0|or[(g=A+14404+(t<<1)|0)>>1])<=0)return ur=m;f=0|ar[v>>2],i=0;for(;or[f+(or[A+8260+(t<<11)+(i<<1)>>1]<<1)>>1]=0,i=i+1|0,(0|i)<(0|or[g>>1]););ur=m}(A,e,r,i,f,n,t,o,a,c)}function Hn(A,e,r,i,f,n,t,o,a){e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,a|=0;var c,l,u,b=0,s=0,d=0,k=0;ur=(u=ur)+4096|0,l=0|ar[(A|=0)+18592>>2],c=(r=0==(0|a))?A+14412|0:u,a=20-o|0;A:do{if(1==(0|f))ts[31&ar[436+l>>2]](c,e,a,15);else switch(0|i){case 4:ts[31&ar[440+l>>2]](c,e,a,15);break A;case 8:ts[31&ar[444+l>>2]](c,e,a,15);break A;case 16:ts[31&ar[448+l>>2]](c,e,a,15);break A;default:ts[31&ar[452+l>>2]](c,e,a,15);break A}}while(0);if(!r&&0|ar[(b=A+28|0)>>2]&&(d=0|ar[A+18596>>2],s=0|ar[d+5768>>2],d=0|ar[d+5760>>2],0<(0|i))){r=0;do{for(e=0|br(r,i),a=0;k=(0|br(ar[A+14412+((f=a+e|0)<<2)>>2]<<s>>d,0|ar[b>>2]))>>3,ar[(f=c+(f<<2)|0)>>2]=k+(0|ar[f>>2]),(0|(a=a+1|0))!=(0|i););r=r+1|0}while((0|r)!=(0|i))}os[63&ar[456+l>>2]](n,t,c,i,o),ur=u}function xn(A,e,r,i,f,n,t,o,a){e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,a|=0;var c,l,u,b=0,s=0,d=0,k=0;ur=(u=ur)+4096|0,l=0|ar[(A|=0)+18592>>2],c=(r=0==(0|a))?A+14412|0:u,a=20-o|0;A:do{if(1==(0|f))ts[31&ar[436+l>>2]](c,e,a,15);else switch(0|i){case 4:ts[31&ar[440+l>>2]](c,e,a,15);break A;case 8:ts[31&ar[444+l>>2]](c,e,a,15);break A;case 16:ts[31&ar[448+l>>2]](c,e,a,15);break A;default:ts[31&ar[452+l>>2]](c,e,a,15);break A}}while(0);if(!r&&0|ar[(b=A+28|0)>>2]&&(d=0|ar[A+18596>>2],s=0|ar[d+5768>>2],d=0|ar[d+5760>>2],0<(0|i))){r=0;do{for(e=0|br(r,i),a=0;k=(0|br(ar[A+14412+((f=a+e|0)<<2)>>2]<<s>>d,0|ar[b>>2]))>>3,ar[(f=c+(f<<2)|0)>>2]=k+(0|ar[f>>2]),(0|(a=a+1|0))!=(0|i););r=r+1|0}while((0|r)!=(0|i))}os[63&ar[460+l>>2]](n,t,c,i,o),ur=u}function Pn(A,e,r){A|=0,r|=0;var i,f,n,t;ur=(t=ur)+16|0,f=t,n=42==(0|tr[(e|=0)>>0]),i=0|ar[2543],n||Ui(44505,6,1,i),ar[f>>2]=r,Qc(A,e+(1&n)|0,f),Oi(i),ur=t}function Ln(A,e,r){e|=0,r|=0;var i,f,n=0,t=0;if(tr[(A|=0)>>0]=1,tr[A+44>>0]=1,qn(A,e),f=r+-1|0,i=1<(0|r))for(n=0;t=255&(0|At(e,1)),tr[A+52+(52*n|0)>>0]=t,t=255&(0|At(e,1)),tr[A+52+(52*n|0)+44>>0]=t,(0|(n=n+1|0))!=(0|f););if((r+-2|0)>>>0<7)for(n=f;et(e,2),(0|(n=n+1|0))<8;);if(i)for(n=0;qn(A+52+(52*n|0)|0,e),(0|(n=n+1|0))!=(0|f););}function Kn(A,e,r){r|=0;var i,f,n,t,o,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0;return ur=(o=ur)+32|0,f=o+8|0,i=o,(e|=0)>>>0<=(c=0|ar[(n=(A|=0)+4|0)>>2])>>>0?(ar[n>>2]=e,void(ur=o)):((l=(u=0|ar[(t=A+8|0)>>2])<<5)>>>0<(a=e-c|0)>>>0|(l-a|0)>>>0<c>>>0?(ar[f>>2]=0,ar[(s=4+f|0)>>2]=0,((ar[(d=8+f|0)>>2]=0)|e)<0&&zl(),c=u<<6,u=e+31&-32,function(A,e){e|=0;var r,i,f,n,t,o=0,a=0,c=0,l=0;if(ur=(t=ur)+32|0,o=t+16|0,r=t+8|0,i=t,ar[(n=8+(A|=0)|0)>>2]<<5>>>0>=e>>>0)return ur=t;ar[o>>2]=0,ar[(a=o+4|0)>>2]=0,ar[(f=o+8|0)>>2]=0,(0|e)<0&&zl();c=0|hu((l=1+((e+-1|0)>>>5)|0)<<2),ar[o>>2]=c,ar[a>>2]=0,ar[f>>2]=l,l=0|ar[A>>2],ar[r>>2]=l,ar[4+r>>2]=0,e=0|ar[(c=A+4|0)>>2],ar[i>>2]=l+(e>>>5<<2),ar[i+4>>2]=31&e,function(A,e,r){e|=0,r|=0;var i,f,n,t,o,a,c,l=0,u=0,b=0,s=0,d=0;if(ur=(c=ur)+32|0,f=c+24|0,n=c+16|0,t=c+8|0,a=c,d=0|ar[(u=4+(A|=0)|0)>>2],o=0|ar[e>>2],l=0|ar[e+4>>2],i=0|ar[r>>2],b=0|ar[r+4>>2],s=i-o<<3,ar[u>>2]=d-l+b+s,u=(0|ar[A>>2])+(d>>>5<<2)|0,e=u,(0|l)!=(0|(r=31&d)))return ar[f>>2]=o,ar[4+f>>2]=l,ar[n>>2]=i,ar[4+n>>2]=b,ar[t>>2]=e,ar[4+t>>2]=r,function(A,e,r,i){A|=0,r|=0,i|=0;var f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0;if(l=0|ar[(e|=0)>>2],f=0|ar[(u=e+4|0)>>2],o=((0|ar[r>>2])-l<<3)+(0|ar[r+4>>2])-f|0,r=l,(0|o)<=0)return e=i+4|0,i=0|ar[i>>2],ar[A>>2]=i,i=A+4|0,A=0|ar[e>>2],ar[i>>2]=A;f?(n=-1>>>((n=32-f|0)-(l=(0|o)<(0|n)?o:n)|0)&-1<<f&ar[r>>2],f=0|ar[(c=i+4|0)>>2],r=(a=32-f|0)>>>0<l>>>0?a:l,t=0|ar[i>>2],f=ar[t>>2]&~(-1>>>(a-r|0)&-1<<f),ar[t>>2]=f,a=0|ar[c>>2],b=0|ar[u>>2],ar[t>>2]=(b>>>0<a>>>0?n<<a-b:n>>>(b-a|0))|f,f=(0|ar[c>>2])+r|0,t=t+(f>>>5<<2)|0,ar[i>>2]=t,f&=31,ar[c>>2]=f,0<(0|(a=l-r|0))&&(f=ar[t>>2]&~(-1>>>(32-a|0)),ar[t>>2]=f,ar[t>>2]=n>>>((0|ar[u>>2])+r|0)|f,ar[c>>2]=a,f=a),r=4+(0|ar[e>>2])|0,ar[e>>2]=r,o=o-l|0):f=0|ar[(c=f=i+4|0)>>2];if(a=32-f|0,n=-1<<f,31<(0|o)){for(t=~n,f=o;u=0|ar[r>>2],b=0|ar[i>>2],l=ar[b>>2]&t,ar[b>>2]=l,ar[b>>2]=u<<ar[c>>2]|l,b=b+4|0,ar[i>>2]=b,ar[b>>2]=ar[b>>2]&n|u>>>a,f=f+-32|0,r=4+(0|ar[e>>2])|0,ar[e>>2]=r,31<(0|f););o&=31}if((0|o)<=0)return e=c,b=0|ar[i>>2],ar[A>>2]=b,b=A+4|0,i=0|ar[e>>2],ar[b>>2]=i;if(t=ar[r>>2]&-1>>>(32-o|0),n=(0|a)<(0|o)?a:o,f=0|ar[i>>2],r=ar[f>>2]&~(-1<<ar[c>>2]&-1>>>(a-n|0)),ar[f>>2]=r,ar[f>>2]=r|t<<ar[c>>2],r=(0|ar[c>>2])+n|0,f=f+(r>>>5<<2)|0,ar[i>>2]=f,ar[c>>2]=31&r,(0|(r=o-n|0))<=0)return e=c,b=0|ar[i>>2],ar[A>>2]=b,b=A+4|0,i=0|ar[e>>2],ar[b>>2]=i;ar[f>>2]=ar[f>>2]&~(-1>>>(32-r|0))|t>>>n,ar[c>>2]=r,e=c,b=0|ar[i>>2],ar[A>>2]=b,b=A+4|0,i=0|ar[e>>2],ar[b>>2]=i}(a,f,n,t),ur=c;r=b-l+s|0,s=o,0<(0|r)&&(e=l?(d=-1>>>((d=32-l|0)-(e=(0|r)<(0|d)?r:d)|0)&-1<<l,ar[u>>2]=ar[u>>2]&~d|ar[s>>2]&d,r=r-e|0,u=u+((l=e+l|0)>>>5<<2)|0,l&=31,s=s+4|0):(l=0,o),wb(0|u,0|e,(b=(0|r)/32|0)<<2|0),A=r-(b<<5)|0,e=r=u+(b<<2)|0,0<(0|A)&&(l=-1>>>(32-A|0),ar[r>>2]=ar[r>>2]&~l|ar[s+(b<<2)>>2]&l,l=A));ar[a>>2]=e,ar[a+4>>2]=l,ur=c}(o,r,i),e=0|ar[A>>2],ar[A>>2]=ar[o>>2],ar[o>>2]=e,o=0|ar[c>>2],ar[c>>2]=ar[a>>2],ar[a>>2]=o,a=0|ar[n>>2],ar[n>>2]=ar[f>>2],ar[f>>2]=a,0|e&&vu(e);ur=t}(f,l>>>0<1073741823?c>>>0<u>>>0?u:c:2147483647),l=0|ar[n>>2],ar[s>>2]=l+a,u=c=0|ar[A>>2],e=0|ar[f>>2],0<(0|(l=(u+(l>>>5<<2)-c<<3)+(31&l)|0))?(wb(0|e,0|c,(b=l>>>5)<<2|0),c=l-(b<<5)|0,e=l=e+(b<<2)|0,0<(0|c)?(k=-1>>>(32-c|0),ar[l>>2]=ar[l>>2]&~k|ar[u+(b<<2)>>2]&k):c=0):c=0,ar[i>>2]=e,ar[i+4>>2]=c,e=0|ar[(l=i)>>2],l=0|ar[l+4>>2],c=0|ar[A>>2],ar[A>>2]=ar[f>>2],ar[f>>2]=c,k=0|ar[n>>2],ar[n>>2]=ar[s>>2],ar[s>>2]=k,k=0|ar[t>>2],ar[t>>2]=ar[d>>2],ar[d>>2]=k,0|c&&vu(c)):(l=(0|ar[A>>2])+(c>>>5<<2)|0,ar[n>>2]=e,e=l,l=31&c),a?(u=0==(0|l),c=e,r?(u||(e=a>>>0<(k=32-l|0)>>>0?a:k,ar[c>>2]=ar[c>>2]|-1>>>(k-e|0)&-1<<l,a=a-e|0,e=c=c+4|0),vb(0|e,-1,(k=a>>>5)<<2|0),(a=a-(k<<5)|0)&&(ar[(e=c+(k<<2)|0)>>2]=ar[e>>2]|-1>>>(32-a|0)),void(ur=o)):(u||(e=a>>>0<(k=32-l|0)>>>0?a:k,ar[c>>2]=ar[c>>2]&~(-1>>>(k-e|0)&-1<<l),a=a-e|0,e=c=c+4|0),vb(0|e,0,(k=a>>>5)<<2|0),(a=a-(k<<5)|0)&&(ar[(e=c+(k<<2)|0)>>2]=ar[e>>2]&~(-1>>>(32-a|0))),void(ur=o))):void(ur=o))}function qn(A,e){e|=0;var r=0,i=0;if(0|tr[(A|=0)>>0]){for(r=255&(0|At(e,2)),tr[A+1>>0]=r,r=255&(0|At(e,1)),tr[A+2>>0]=r,r=0|At(e,5),ar[A+4>>2]=r,i=255&((r=0)|At(e,1));tr[A+8+r>>0]=i,r=r+1|0,i=255&(0|At(e,1)),32!=(0|r););tr[A+40>>0]=i,i=255&(0|At(e,1)),tr[A+41>>0]=i,i=255&(0|At(e,1)),tr[A+42>>0]=i,i=255&(0|At(e,1)),tr[A+43>>0]=i,et(e,44)}0|tr[A+44>>0]&&(i=0|At(e,8),ar[A+48>>2]=i)}function $n(A,e,r){r|=0;var i,f,n,t,o,a,c,l,u,b,s,d,k=0,h=0;if(ur=(d=ur)+112|0,s=d+88|0,h=d+80|0,b=d+72|0,u=d+64|0,l=d+56|0,c=d+48|0,a=d+40|0,o=d+32|0,n=d+24|0,t=d+16|0,i=d+8|0,k=d,f=(e|=0)?45527:45535,0|tr[(A|=0)>>0]){switch(e=0|tr[A+1>>0],ar[k>>2]=f,ar[k+4>>2]=e,Pn(r,45545,k),k=0|tr[A+2>>0],ar[i>>2]=f,ar[4+i>>2]=k,Pn(r,45574,i),0|ar[A+4>>2]){case 1:e=45659;break;case 2:e=45652;break;case 3:e=45635;break;case 4:e=45613;break;default:e=45603}for(ar[t>>2]=f,ar[4+t>>2]=e,Pn(r,45664,t),ar[n>>2]=f,Pn(r,45693,n),e=0;0|e&&Pn(r,45884,b),ar[h>>2]=tr[A+8+e>>0],Pn(r,45887,h),32!=(0|(e=e+1|0)););Pn(r,45728,o),h=0|tr[A+40>>0],ar[a>>2]=f,ar[4+a>>2]=h,Pn(r,45731,a),h=0|tr[A+41>>0],ar[c>>2]=f,ar[4+c>>2]=h,Pn(r,45768,c),h=0|tr[A+42>>0],ar[l>>2]=f,ar[4+l>>2]=h,Pn(r,45804,l),h=0|tr[A+43>>0],ar[u>>2]=f,ar[4+u>>2]=h,Pn(r,45844,u)}ur=(0|tr[A+44>>0]&&(h=0|ar[A+48>>2],ar[s>>2]=f,ar[4+s>>2]=h,Q[8+s>>3]=(0|h)/30,Pn(r,45891,s)),d)}function At(A,e){e|=0;var r,i=0,f=0,n=0,t=0,o=0,a=0,c=0,l=0;if((0|(i=0|ar[(r=(A|=0)+16|0)>>2]))<(0|e)){i=64-i|0,n=A+4|0;A:do{if(7<(0|i)){t=A+8|0,f=0|ar[n>>2];do{if(!f)break A;c=0|ar[A>>2],ar[A>>2]=c+1,c=0|cr[c>>0],f=f+-1|0,ar[n>>2]=f,c=0|db(0|c,0,0|(i=i+-8|0)),a=ar[(l=t)+4>>2]|D,ar[(o=t)>>2]=ar[l>>2]|c,ar[o+4>>2]=a}while(7<(0|i))}}while(0);i=64-i|0,ar[r>>2]=i}return l=0|sb(0|(o=0|ar[(a=c=A+8|0)>>2]),0|(a=0|ar[a+4>>2]),64-e|0),a=0|db(0|o,0|a,0|e),ar[c>>2]=a,ar[c+4>>2]=D,ar[r>>2]=i-e,0|l}function et(A,e){e|=0;var r,i=0,f=0,n=0,t=0,o=0,a=0,c=0,l=0;if((0|(i=0|ar[(r=(A|=0)+16|0)>>2]))<(0|e)){i=64-i|0,n=A+4|0;A:do{if(7<(0|i)){t=A+8|0,f=0|ar[n>>2];do{if(!f)break A;c=0|ar[A>>2],ar[A>>2]=c+1,c=0|cr[c>>0],f=f+-1|0,ar[n>>2]=f,c=0|db(0|c,0,0|(i=i+-8|0)),a=ar[(l=t)+4>>2]|D,ar[(o=t)>>2]=ar[l>>2]|c,ar[o+4>>2]=a}while(7<(0|i))}}while(0);i=64-i|0,ar[r>>2]=i}c=0|db(0|ar[(c=l=A+8|0)>>2],0|ar[c+4>>2],0|e),ar[l>>2]=c,ar[l+4>>2]=D,ar[r>>2]=i-e}function rt(A){var e,r,i;i=(-8&ar[(e=(A|=0)+16|0)>>2]|0)/8|0,ar[A>>2]=(0|ar[A>>2])+(0-i),ar[(r=A+4|0)>>2]=(0|ar[r>>2])+i,ar[(A=A+8|0)>>2]=0,ar[A+4>>2]=0,ar[e>>2]=0}function it(A){var e,r,i=0,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0;for(a=(A|=0)+4|0,r=A+8|0,i=(c=0)|ar[(e=A+16|0)>>2];;){if((0|i)<1){i=64-i|0;A:do{if(7<(0|i)){f=0|ar[a>>2];do{if(!f)break A;l=0|ar[A>>2],ar[A>>2]=l+1,l=0|cr[l>>0],f=f+-1|0,ar[a>>2]=f,l=0|db(0|l,0,0|(i=i+-8|0)),n=ar[(u=r)+4>>2]|D,ar[(t=r)>>2]=ar[u>>2]|l,ar[t+4>>2]=n}while(7<(0|i))}}while(0);t=64-i|0,ar[e>>2]=t}else t=i;if(n=0|db(0|(u=0|ar[(l=r)>>2]),0|(l=0|ar[l+4>>2]),1),f=D,ar[(i=r)>>2]=n,ar[i+4>>2]=f,i=t+-1|0,ar[e>>2]=i,!(-1<(0|l)|-1==(0|l)&4294967295<u>>>0))break;if(19<(0|c)){i=-99999,o=20;break}c=c+1|0}if(20==(0|o))return 0|i;if(!c)return(u=0)|u;if((0|t)<=(0|c)){i=65-t|0;A:do{if(7<(0|i)){t=0|ar[a>>2];do{if(!t)break A;u=0|ar[A>>2],ar[A>>2]=u+1,u=0|cr[u>>0],t=t+-1|0,ar[a>>2]=t,n|=u=0|db(0|u,0,0|(i=i+-8|0)),f|=D,ar[(u=r)>>2]=n,ar[u+4>>2]=f}while(7<(0|i))}}while(0);i=64-i|0,ar[e>>2]=i}return u=0|sb(0|n,0|f,64-c|0),a=0|db(0|n,0|f,0|c),ar[(l=r)>>2]=a,ar[l+4>>2]=D,ar[e>>2]=i-c,(0|(i=u+(1<<c)|0))<=1&&sr(47395,47382,146,47403),0|(u=i+-1|0)}function ft(A){A=0|it(A|=0);A:do{if((0|A)<0){switch(0|A){case-99999:break;default:break A}return 0|(A=-99999)}switch(0|A){case 0:A=0;break;default:break A}return 0|A}while(0);return 0|(A=(0|(0==(1&A|0)?0-A|0:A+1|0))/2|0)}function nt(A,e,r){if(A|=0,e|=0,-1<(0|(r|=0)))return ar[A>>2]=e,ar[A+4>>2]=e,void(ar[A+8>>2]=e+r);sr(47837,47828,138,47849)}function tt(A){var e,r,i,f,n,t;f=0|ar[(i=(A|=0)+4|0)>>2],n=(0|ar[A+8>>2])-f|0,ar[A+12>>2]=510,or[(t=A+20|0)>>1]=8,((ar[(r=A+16|0)>>2]=0)|n)<=0||(A=1+f|0,ar[i>>2]=A,e=(0|cr[f>>0])<<8,ar[r>>2]=e,1!=((or[t>>1]=0)|n)&&(ar[i>>2]=2+f,ar[r>>2]=0|e|cr[A>>0],or[t>>1]=-8))}function ot(A,e){e|=0;var r=0,i=0,f=0,n=0,t=0,o=0,a=0;return i=(i=0|ar[(t=(A|=0)+12|0)>>2])-(r=0|cr[(i>>>6)-4+(47412+(((0|cr[e>>0])>>>1&255)<<2))>>0])|0,n=(ar[t>>2]=i)<<7,(f=0|ar[(a=A+16|0)>>2])>>>0<n>>>0?(o=255&(f=1&(r=0|tr[e>>0])),tr[e>>0]=tr[47764+((255&r)>>>1&255)>>0]<<1&255|f,32768<=n>>>0?0|(a=o):(ar[t>>2]=i<<1&67108862,f=ar[a>>2]<<1,ar[a>>2]=f,e=1+(0|or[(r=A+20|0)>>1])<<16>>16,(or[r>>1]=e)<<16>>16?0|(a=o):(or[r>>1]=-8,(i=0|ar[(r=A+4|0)>>2])>>>0>=(0|ar[A+8>>2])>>>0||(ar[r>>2]=i+1,ar[a>>2]=0|f|cr[i>>0]),0|(a=o)))):(o=0|cr[47668+(r>>>3)>>0],ar[a>>2]=f-n<<o,ar[t>>2]=r<<o,t=255&(i=1&(r=0|tr[e>>0])^1),(255&r)<2&&(r=i|-2&r,tr[e>>0]=r),tr[e>>0]=tr[47700+((255&r)>>>1&255)>>0]<<1&255|1&r,r=(0|lr[(n=A+20|0)>>1])+o|0,32768&(or[n>>1]=r)|0||(r=r<<16>>16,(f=0|ar[(i=A+4|0)>>2])>>>0<(0|ar[A+8>>2])>>>0&&(ar[i>>2]=f+1,ar[a>>2]=(0|cr[f>>0])<<r|ar[a>>2]),or[n>>1]=r+65528),0|(a=t))}function at(A){var e=0,r=0,i=0,f=0,n=0;return r=(0|ar[(e=(A|=0)+12|0)>>2])-2|0,(i=(ar[e>>2]=r)<<7)>>>0<=(f=0|ar[(n=A+16|0)>>2])>>>0?0|(n=1):32768<=i>>>0?(n=0)|n:(ar[e>>2]=r<<1&67108862,i=f<<1,ar[n>>2]=i,f=1+(0|or[(e=A+20|0)>>1])<<16>>16,(or[e>>1]=f)<<16>>16?(n=0)|n:(or[e>>1]=-8,(r=0|ar[(e=A+4|0)>>2])>>>0>=(0|ar[A+8>>2])>>>0||(ar[e>>2]=r+1,ar[n>>2]=i+(0|cr[r>>0])),(n=0)|n))}function ct(A){var e,r,i=0,f=0,n=0,t=0;return f=ar[(r=(A|=0)+16|0)>>2]<<1,ar[r>>2]=f,t=1+(0|or[(e=A+20|0)>>1])<<16>>16,-1<(or[e>>1]=t)<<16>>16&&(n=0|ar[(i=A+4|0)>>2],(0|ar[A+8>>2])>>>0>n>>>0)&&(or[e>>1]=-8,ar[i>>2]=n+1,f=0|f|cr[n>>0],ar[r>>2]=f),f>>>0<(i=ar[A+12>>2]<<7)>>>0?(t=0)|t:(ar[r>>2]=f-i,0|(t=1))}function lt(A,e){var r,i,f,n,t=0,o=0,a=0,c=0,l=0;if((0|(e|=0))<=0)return 0|(l=e);for(i=(A|=0)+16|0,f=A+20|0,n=A+8|0,l=A+4|0,r=A+12|0,t=(A=0)|or[f>>1],o=0|ar[i>>2];;){if(o<<=1,ar[i>>2]=o,t=t+1<<16>>16,-1<(or[f>>1]=t)<<16>>16&&(c=0|ar[l>>2],(0|ar[n>>2])>>>0>c>>>0)?(or[f>>1]=-8,ar[l>>2]=c+1,a=0|cr[c>>0]|o,ar[i>>2]=a,t=-8):a=o,a>>>0<(o=ar[r>>2]<<7)>>>0){t=8;break}if(o=a-o|0,ar[i>>2]=o,(0|e)<=(0|(A=A+1|0))){A=e,t=8;break}}return 8==(0|t)?0|A:0}function ut(A,e){A|=0;var r,i=0,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0;if((0|(e|=0))<9)return e?(i=ar[(t=A+16|0)>>2]<<e,ar[t>>2]=i,f=(0|lr[(n=A+20|0)>>1])+e|0,0==(32768&(or[n>>1]=f)|0)&&(a=0|ar[(o=A+4|0)>>2],(0|ar[A+8>>2])>>>0>a>>>0)&&(ar[o>>2]=a+1,u=f<<16>>16,b=(0|cr[a>>0])<<u,or[n>>1]=u+65528,i|=b,ar[t>>2]=i),u=ar[A+12>>2]<<7,u=i-(0|br(b=(0|(l=(i>>>0)/(u>>>0)|0))<(0|(b=1<<e))?l:b+-1|0,u))|0,ar[t>>2]=u,0|b):(b=0)|b;if(i=ar[(l=A+16|0)>>2]<<8,ar[l>>2]=i,n=65535&(f=8+(0|lr[(u=A+20|0)>>1])|0),or[u>>1]=n,0==(32768&f|0)&&(c=0|ar[(t=A+4|0)>>2],(0|ar[A+8>>2])>>>0>c>>>0)?(ar[t>>2]=c+1,n=f<<16>>16,f=(0|cr[c>>0])<<n,n=n+65528&65535,or[u>>1]=n,f|=i,ar[l>>2]=f):f=i,r=ar[A+12>>2]<<7,t=f-(0|br(i=(0|(i=(f>>>0)/(r>>>0)|0))<255?i:255,r))|0,ar[l>>2]=t,!(f=e+-8|0))return 0|(b=i);for(e=A+8|0,c=A+4|0;f=f+-1|0,a=i<<1,i=t<<1,ar[l>>2]=i,n=n+1<<16>>16,-1<(or[u>>1]=n)<<16>>16&&(b=0|ar[c>>2],(0|ar[e>>2])>>>0>b>>>0)&&(or[u>>1]=-8,ar[c>>2]=b+1,i=0|cr[b>>0]|i,ar[l>>2]=i,n=-8),i>>>0<r>>>0?(t=0,o=i):(o=i-r|0,ar[l>>2]=o,t=1),i=t|a,f;)t=o;return 0|i}function bt(A,e){var r,i,f,n,t,o,a=0,c=0,l=0,u=0,b=0,s=0;for(r=(A|=0)+16|0,f=A+8|0,n=A+4|0,t=A+12|0,o=(e|=0)+31|0,a=(u=0)|or[(i=A+20|0)>>1],c=0|ar[r>>2];c<<=1,ar[r>>2]=c,a=a+1<<16>>16,-1<(or[i>>1]=a)<<16>>16&&(b=0|ar[n>>2],(0|ar[f>>2])>>>0>b>>>0)?(or[i>>1]=-8,ar[n>>2]=b+1,l=0|cr[b>>0]|c,ar[r>>2]=l,a=-8):l=c,!(l>>>0<(c=ar[t>>2]<<7)>>>0);){if(c=l-c|0,ar[r>>2]=c,(0|e)==(0|o)){e=0,s=8;break}u=u+(1<<e)|0,e=e+1|0}return 8==(0|s)?0|e:0|(s=(0|ut(A,e))+u|0)}function st(A){ar[(A|=0)>>2]=0,ar[A+4>>2]=0}function dt(A,e){A|=0;var r,i=0;ur=(r=ur)+16|0,i=r,0|(i=0|ar[(e|=0)+4>>2])&&(ar[i>>2]=1+(0|ar[i>>2])),ar[A+4>>2]=i,ar[A>>2]=ar[e>>2],ur=r}function kt(A){var e,r,i,f=0;ur=(r=ur)+16|0,f=r,ur=((f=0|ar[(e=(A|=0)+4|0)>>2])&&(i=(0|ar[f>>2])-1|0,ar[f>>2]=i,0|i||(0|(f=0|ar[A>>2])&&mu(f),(f=0|ar[e>>2])&&vu(f))),r)}function ht(A,e,r){e|=0,r|=0;var i,f,n=0,t=0,o=0;ur=(f=ur)+16|0,o=f+8|0,n=f,i=0|ar[(n=(A|=0)+4|0)>>2];do{if(0|i){if(1==(0|(t=0|ar[i>>2])))return wt(o=0|ar[A>>2],e,r),void(ur=f);if(1<(0|t)){ar[i>>2]=t+-1;break}sr(47917,47927,177,47943)}}while(0);o=0|wu(172),ar[A>>2]=o,A=0|hu(4),ar[n>>2]=A,ar[A>>2]=1,wt(o,e,r),ur=f}function wt(A,e,r){A|=0,e|=0,r|=0;var i=0,f=0,n=0,t=0,o=0,a=0,c=0,l=0;do{if(0<(0|e)){if(o=(0|r)<0?0:(0|r)<51?r:51,i=A+5|0,f=(255&(a=(f=63<(0|(a=(0|(a=((a=0|ar[8096+(12*(n=e+-1|0)|0)>>2])<<3&120)-16+((0|br((5*(a>>4)|0)-45|0,o))>>4)|0))<1?1:(0|a)<126?a:126)))?a+64|0:63-a|0))<<1&255|1&f,63<=(127&a)>>>0&&(t=f,tr[(a=i)>>0]=t,sr(47989,47927,210,48010)),vb(0|i,0|f,1),i=A+6|0,f=(255&(a=(f=63<(0|(a=(0|(a=((a=0|ar[8096+(12*n|0)+4>>2])<<3&120)-16+((0|br((5*(a>>4)|0)-45|0,o))>>4)|0))<1?1:(0|a)<126?a:126)))?a+64|0:63-a|0))<<1&255|1&f,63<=(127&a)>>>0&&(t=f,tr[(a=i)>>0]=t,sr(47989,47927,210,48010)),vb(0|i,0|f,1),i=A+7|0,f=(255&(a=(f=63<(0|(a=(0|(a=((a=0|ar[8096+(12*n|0)+8>>2])<<3&120)-16+((0|br((5*(a>>4)|0)-45|0,o))>>4)|0))<1?1:(0|a)<126?a:126)))?a+64|0:63-a|0))<<1&255|1&f,63<=(127&a)>>>0&&(t=f,tr[(a=i)>>0]=t,sr(47989,47927,210,48010)),vb(0|i,0|f,1),f=A+149|0,i=(255&(a=(i=63<(0|(a=(0|(a=((a=0|ar[9536+(n<<2)>>2])<<3&120)-16+((0|br((5*(a>>4)|0)-45|0,o))>>4)|0))<1?1:(0|a)<126?a:126)))?a+64|0:63-a|0))<<1&255|1&i,63<=(127&a)>>>0&&(tr[f>>0]=i,sr(47989,47927,210,48010)),vb(0|f,0|i,1),i=A+147|0,f=(255&(a=(f=63<(0|(a=(0|(a=((a=0|ar[8120+(n<<2)>>2])<<3&120)-16+((0|br((5*(a>>4)|0)-45|0,o))>>4)|0))<1?1:(0|a)<126?a:126)))?a+64|0:63-a|0))<<1&255|1&f,63<=(127&a)>>>0&&(tr[i>>0]=f,sr(47989,47927,210,48010)),vb(0|i,0|f,1),f=A+148|0,i=(255&(a=(i=63<(0|(a=(0|(a=((a=0|ar[8128+(n<<2)>>2])<<3&120)-16+((0|br((5*(a>>4)|0)-45|0,o))>>4)|0))<1?1:(0|a)<126?a:126)))?a+64|0:63-a|0))<<1&255|1&i,63<=(127&a)>>>0&&(tr[f>>0]=i,sr(47989,47927,210,48010)),vb(0|f,0|i,1),i=A+156|0,f=(255&(a=(f=63<(0|(a=(0|(a=104+((0|br(o,-20))>>4)|0))<1?1:(0|a)<126?a:126)))?a+64|0:63-a|0))<<1&255|1&f,63<=(127&a)>>>0&&(t=f,tr[(a=i)>>0]=t,sr(47989,47927,210,48010)),vb(0|i,0|f,1),i=A+157|0,t=(255&(a=(t=63<(0|(a=(0|(a=104+((0|br(o,-25))>>4)|0))<1?1:(0|a)<126?a:126)))?a+64|0:63-a|0))<<1&255|1&t,63<=(127&a)>>>0&&(n=t,tr[(a=i)>>0]=n,sr(47989,47927,210,48010)),vb(0|i,0|t,1),i=A+158|0,f=(255&(a=(f=63<(0|(a=(0|(a=104+((0|br(o,-30))>>4)|0))<1?1:(0|a)<126?a:126)))?a+64|0:63-a|0))<<1&255|1&f,63<=(127&a)>>>0&&(n=f,tr[(a=i)>>0]=n,sr(47989,47927,210,48010)),vb(0|i,0|f,1),i=A+159|0,f=(255&(a=(f=63<(0|(a=(0|(a=104+((0|br(o,-40))>>4)|0))<1?1:(0|a)<126?a:126)))?a+64|0:63-a|0))<<1&255|1&f,63<=(127&a)>>>0&&(n=f,tr[(a=i)>>0]=n,sr(47989,47927,210,48010)),vb(0|i,0|f,1),vb(A+160|0,0|f,1),tr[A+154>>0]=14,tr[A+155>>0]=14,i=A+150|0,f=(255&(a=(f=63<(0|(a=(0|(a=((a=0|ar[(n=9520+((1==(0|e)?0:2)<<2)|0)>>2])<<3&120)-16+((0|br((5*(a>>4)|0)-45|0,o))>>4)|0))<1?1:(0|a)<126?a:126)))?a+64|0:63-a|0))<<1&255|1&f,63<=(127&a)>>>0&&(l=f,tr[(a=i)>>0]=l,sr(47989,47927,210,48010)),vb(0|i,0|f,1),i=A+151|0,f=(255&(l=(f=63<(0|(l=(0|(l=((l=0|ar[n+4>>2])<<3&120)-16+((0|br((5*(l>>4)|0)-45|0,o))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&f,63<=(127&l)>>>0&&(a=f,tr[(l=i)>>0]=a,sr(47989,47927,210,48010)),vb(0|i,0|f,1),i=(255&(l=(i=63<(0|(l=(0|(l=48+(5*o>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&i,f=A+152|0,63<=(127&l)>>>0&&(tr[f>>0]=i,sr(47989,47927,210,48010)),vb(0|f,0|i,1),vb(A+153|0,0|t,1),f=A+143|0,i=(255&(l=(i=63<(0|(l=(0|(l=72+((0|br(o,-5))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&i,(127&l)>>>0<63){vb(0|f,0|i,4);break}tr[f>>0]=i,sr(47989,47927,210,48010)}}while(0);a=(0|r)<0?0:(0|r)<51?r:51,i=A+2|0,f=(255&(l=(f=63<(0|(l=(0|(l=((l=0|ar[8136+(12*e|0)>>2])<<3&120)-16+((0|br((5*(l>>4)|0)-45|0,a))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&f,63<=(127&l)>>>0&&(r=f,tr[(l=i)>>0]=r,sr(47989,47927,210,48010)),vb(0|i,0|f,1),i=A+3|0,f=(255&(l=(f=63<(0|(l=(0|(l=((l=0|ar[8136+(12*e|0)+4>>2])<<3&120)-16+((0|br((5*(l>>4)|0)-45|0,a))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&f,63<=(127&l)>>>0&&(r=f,tr[(l=i)>>0]=r,sr(47989,47927,210,48010)),vb(0|i,0|f,1),i=A+4|0,f=(255&(l=(f=63<(0|(l=(0|(l=((l=0|ar[8136+(12*e|0)+8>>2])<<3&120)-16+((0|br((5*(l>>4)|0)-45|0,a))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&f,63<=(127&l)>>>0&&(r=f,tr[(l=i)>>0]=r,sr(47989,47927,210,48010)),vb(0|i,0|f,1),i=A+8|0,f=(255&(l=(f=63<(0|(l=(0|(l=((l=0|ar[(n=9484+((2!=(0|e)?e:5)<<2)|0)>>2])<<3&120)-16+((0|br((5*(l>>4)|0)-45|0,a))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&f,63<=(127&l)>>>0&&(r=f,tr[(l=i)>>0]=r,sr(47989,47927,210,48010)),vb(0|i,0|f,1),i=A+9|0,f=(255&(l=(f=63<(0|(l=(0|(l=((l=0|ar[n+4>>2])<<3&120)-16+((0|br((5*(l>>4)|0)-45|0,a))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&f,63<=(127&l)>>>0&&(r=f,tr[(l=i)>>0]=r,sr(47989,47927,210,48010)),vb(0|i,0|f,1),i=A+10|0,f=(255&(l=(f=63<(0|(l=(0|(l=((l=0|ar[n+8>>2])<<3&120)-16+((0|br((5*(l>>4)|0)-45|0,a))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&f,63<=(127&l)>>>0&&(r=f,tr[(l=i)>>0]=r,sr(47989,47927,210,48010)),vb(0|i,0|f,1),i=A+11|0,f=(255&(l=(f=63<(0|(l=(0|(l=((l=0|ar[n+12>>2])<<3&120)-16+((0|br((5*(l>>4)|0)-45|0,a))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&f,63<=(127&l)>>>0&&(r=f,tr[(l=i)>>0]=r,sr(47989,47927,210,48010)),vb(0|i,0|f,1),f=A+12|0,i=(255&(l=(i=63<(0|(l=(0|(l=((l=0|ar[9472+(e<<2)>>2])<<3&120)-16+((0|br((5*(l>>4)|0)-45|0,a))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&i,63<=(127&l)>>>0&&(tr[f>>0]=i,sr(47989,47927,210,48010)),vb(0|f,0|i,1),i=A+13|0,f=(255&(l=(f=63<(0|(l=(0|(l=((l=0|ar[8172+(e<<2)>>2])<<3&120)-16+((0|br((5*(l>>4)|0)-45|0,a))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&f,63<=(127&l)>>>0&&(tr[i>>0]=f,sr(47989,47927,210,48010)),vb(0|i,0|f,1),f=A+14|0,n=(255&(l=(n=63<(0|(l=(0|(l=((l=0|ar[(i=8184+((0==(0|e)?0:2)<<2)|0)>>2])<<3&120)-16+((0|br((5*(l>>4)|0)-45|0,a))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&n,63<=(127&l)>>>0&&(r=n,tr[(l=f)>>0]=r,sr(47989,47927,210,48010)),vb(0|f,0|n,1),l=0|ar[i+4>>2],i=A+15|0,f=(255&(l=(f=63<(0|(l=(0|(l=(l<<3&120)-16+((0|br((5*(l>>4)|0)-45|0,a))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&f,63<=(127&l)>>>0&&(r=f,tr[(l=i)>>0]=r,sr(47989,47927,210,48010)),vb(0|i,0|f,1),i=A+16|0,f=(255&(l=(f=63<(0|(l=(0|(l=((l=0|ar[(n=9424+((r=e<<2)<<2)|0)>>2])<<3&120)-16+((0|br((5*(l>>4)|0)-45|0,a))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&f,63<=(127&l)>>>0&&(o=f,tr[(l=i)>>0]=o,sr(47989,47927,210,48010)),vb(0|i,0|f,1),i=A+17|0,f=(255&(l=(f=63<(0|(l=(0|(l=((l=0|ar[n+4>>2])<<3&120)-16+((0|br((5*(l>>4)|0)-45|0,a))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&f,63<=(127&l)>>>0&&(o=f,tr[(l=i)>>0]=o,sr(47989,47927,210,48010)),vb(0|i,0|f,1),i=A+18|0,f=(255&(l=(f=63<(0|(l=(0|(l=((l=0|ar[n+8>>2])<<3&120)-16+((0|br((5*(l>>4)|0)-45|0,a))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&f,63<=(127&l)>>>0&&(o=f,tr[(l=i)>>0]=o,sr(47989,47927,210,48010)),vb(0|i,0|f,1),i=A+19|0,f=(255&(l=(f=63<(0|(l=(0|(l=((l=0|ar[n+12>>2])<<3&120)-16+((0|br((5*(l>>4)|0)-45|0,a))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&f,63<=(127&l)>>>0&&(o=f,tr[(l=i)>>0]=o,sr(47989,47927,210,48010)),vb(0|i,0|f,1),i=A+20|0,f=(255&(l=(f=63<(0|(l=(0|(l=((l=0|ar[(n=9388+(3*e<<2)|0)>>2])<<3&120)-16+((0|br((5*(l>>4)|0)-45|0,a))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&f,63<=(127&l)>>>0&&(o=f,tr[(l=i)>>0]=o,sr(47989,47927,210,48010)),vb(0|i,0|f,1),i=A+21|0,f=(255&(l=(f=63<(0|(l=(0|(l=((l=0|ar[n+4>>2])<<3&120)-16+((0|br((5*(l>>4)|0)-45|0,a))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&f,63<=(127&l)>>>0&&(o=f,tr[(l=i)>>0]=o,sr(47989,47927,210,48010)),vb(0|i,0|f,1),i=A+22|0,f=(255&(l=(f=63<(0|(l=(0|(l=((l=0|ar[n+8>>2])<<3&120)-16+((0|br((5*(l>>4)|0)-45|0,a))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&f,63<=(127&l)>>>0&&(o=f,tr[(l=i)>>0]=o,sr(47989,47927,210,48010)),vb(0|i,0|f,1),n=A+25|0,o=9172+(18*e<<2)|0,i=0;do{if(f=n+i|0,t=(255&(l=(t=63<(0|(l=(0|(l=((l=0|ar[o+(i<<2)>>2])<<3&120)-16+((0|br((5*(l>>4)|0)-45|0,a))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&t,63<=(127&l)>>>0){c=35;break}vb(0|f,0|t,1),i=i+1|0}while((0|i)<18);35==(0|c)&&(tr[f>>0]=t,sr(47989,47927,210,48010)),f=A+43|0,i=0;do{if(n=f+i|0,t=(255&(l=(t=63<(0|(l=(0|(l=((l=0|ar[o+(i<<2)>>2])<<3&120)-16+((0|br((5*(l>>4)|0)-45|0,a))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&t,63<=(127&l)>>>0){c=39;break}vb(0|n,0|t,1),i=i+1|0}while((0|i)<18);39==(0|c)&&(tr[n>>0]=t,sr(47989,47927,210,48010)),i=A+61|0,f=(255&(l=(f=63<(0|(l=(0|(l=((l=0|ar[(n=8200+(r<<2)|0)>>2])<<3&120)-16+((0|br((5*(l>>4)|0)-45|0,a))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&f,63<=(127&l)>>>0&&(r=f,tr[(l=i)>>0]=r,sr(47989,47927,210,48010)),vb(0|i,0|f,1),i=A+62|0,f=(255&(l=(f=63<(0|(l=(0|(l=((l=0|ar[n+4>>2])<<3&120)-16+((0|br((5*(l>>4)|0)-45|0,a))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&f,63<=(127&l)>>>0&&(r=f,tr[(l=i)>>0]=r,sr(47989,47927,210,48010)),vb(0|i,0|f,1),i=A+63|0,f=(255&(l=(f=63<(0|(l=(0|(l=((l=0|ar[n+8>>2])<<3&120)-16+((0|br((5*(l>>4)|0)-45|0,a))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&f,63<=(127&l)>>>0&&(r=f,tr[(l=i)>>0]=r,sr(47989,47927,210,48010)),vb(0|i,0|f,1),i=A+64|0,f=(255&(l=(f=63<(0|(l=(0|(l=((l=0|ar[n+12>>2])<<3&120)-16+((0|br((5*(l>>4)|0)-45|0,a))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&f,63<=(127&l)>>>0&&(r=f,tr[(l=i)>>0]=r,sr(47989,47927,210,48010)),vb(0|i,0|f,1),n=A+65|0,i=0;do{if(f=n+i|0,t=(255&(l=(t=63<(0|(l=(0|(l=((l=0|ar[8248+(168*e|0)+(i<<2)>>2])<<3&120)-16+((0|br((5*(l>>4)|0)-45|0,a))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&t,63<=(127&l)>>>0){c=45;break}vb(0|f,0|t,1),i=i+1|0}while((0|i)<42);45==(0|c)&&(tr[f>>0]=t,sr(47989,47927,210,48010)),i=A+107|0,f=(255&(l=(f=63<(0|(l=(0|(l=((l=0|ar[8752+(e<<3)>>2])<<3&120)-16+((0|br((5*(l>>4)|0)-45|0,a))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&f,63<=(127&l)>>>0&&(r=f,tr[(l=i)>>0]=r,sr(47989,47927,210,48010)),vb(0|i,0|f,1),i=A+108|0,f=(255&(l=(f=63<(0|(l=(0|(l=((l=0|ar[8752+(e<<3)+4>>2])<<3&120)-16+((0|br((5*(l>>4)|0)-45|0,a))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&f,63<=(127&l)>>>0&&(r=f,tr[(l=i)>>0]=r,sr(47989,47927,210,48010)),vb(0|i,0|f,1),t=A+109|0,f=8884+(24*e<<2)|0,i=0;do{if(n=t+i|0,o=(255&(l=(o=63<(0|(l=(0|(l=((l=0|ar[f+(i<<2)>>2])<<3&120)-16+((0|br((5*(l>>4)|0)-45|0,a))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&o,63<=(127&l)>>>0){c=51;break}vb(0|n,0|o,1),i=i+1|0}while((0|i)<24);51==(0|c)&&(tr[n>>0]=o,sr(47989,47927,210,48010)),f=A+133|0,n=8776+(6*e<<2)|0,i=0;do{if(t=f+i|0,o=(255&(l=(o=63<(0|(l=(0|(l=((l=0|ar[n+(i<<2)>>2])<<3&120)-16+((0|br((5*(l>>4)|0)-45|0,a))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&o,63<=(127&l)>>>0){c=55;break}vb(0|t,0|o,1),i=i+1|0}while((0|i)<6);if(55==(0|c)&&(tr[t>>0]=o,sr(47989,47927,210,48010)),i=(255&(l=(i=63<(0|(l=(0|(l=((l=0|ar[8848+(e<<2)>>2])<<3&120)-16+((0|br((5*(l>>4)|0)-45|0,a))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&i,63<=(127&l)>>>0&&(tr[A>>0]=i,sr(47989,47927,210,48010)),vb(0|A,0|i,1),i=A+1|0,f=(255&(l=(f=63<(0|(l=(0|(l=((l=0|ar[8860+(e<<2)>>2])<<3&120)-16+((0|br((5*(l>>4)|0)-45|0,a))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&f,63<=(127&l)>>>0&&(tr[i>>0]=f,sr(47989,47927,210,48010)),vb(0|i,0|f,1),tr[A+139>>0]=1,tr[A+140>>0]=1,f=A+141|0,i=(255&(l=(i=63<(0|(l=(0|(l=72+((0|br(a,-5))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&i,63<=(127&l)>>>0&&(tr[f>>0]=i,sr(47989,47927,210,48010)),vb(0|f,0|i,1),vb(A+142|0,0|i,1),f=A+161|0,i=(255&(l=(i=63<(0|(l=(0|(l=((l=0|ar[8872+(e<<2)>>2])<<3&120)-16+((0|br((5*(l>>4)|0)-45|0,a))>>4)|0))<1?1:(0|l)<126?l:126)))?l+64|0:63-l|0))<<1&255|1&i,(127&l)>>>0<63)return vb(0|f,0|i,1),tr[(e=l=A+162|0)>>0]=1,tr[e+1>>0]=1,tr[e+2>>0]=1,tr[e+3>>0]=1,tr[(l=l+4|0)>>0]=1,tr[l+1>>0]=1,tr[l+2>>0]=1,tr[l+3>>0]=1,tr[(l=A+170|0)>>0]=1,tr[l+1>>0]=1,tr[A+23>>0]=1,void(tr[A+24>>0]=1);tr[f>>0]=i,sr(47989,47927,210,48010)}function vt(A){var e,r,i=0;ur=(r=ur)+16|0,i=r,ur=((i=0|ar[(e=(A|=0)+4|0)>>2])&&(ar[i>>2]=(0|ar[i>>2])-1,ar[A>>2]=0,ar[e>>2]=0),r)}function mt(A){var e,r,i=0,f=0;ur=(r=ur)+16|0,i=r,(i=0|ar[(e=(A|=0)+4|0)>>2])||sr(48057,47927,95,48064),ur=((0|(f=0|ar[i>>2]))<=1||(ar[i>>2]=f+-1,f=0|ar[A>>2],i=0|wu(172),ar[A>>2]=i,A=0|hu(4),ar[e>>2]=A,ar[A>>2]=1,hb(0|i,0|f,172)),r)}function gt(A,e){A|=0;var r,i,f=0,n=0;return ur=(i=ur)+32|0,f=i,f=0|ar[(r=(e|=0)+4|0)>>2],ur=(f?(ar[f>>2]=1+(0|ar[f>>2]),0|(f=0|ar[(n=A+4|0)>>2])&&(ar[f>>2]=(0|ar[f>>2])-1,ar[A>>2]=0,ar[n>>2]=0),ar[A>>2]=ar[e>>2],ar[n>>2]=ar[r>>2]):(f=0|ar[(n=A+4|0)>>2])&&(ar[f>>2]=(0|ar[f>>2])-1,ar[A>>2]=0,ar[n>>2]=0),i),0|A}function Zt(A,e){e|=0;var r,i,f,n,t,o,a,c,l,u,b,s,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0,C=0,G=0,V=0,F=0,R=0,N=0,_=0,Y=0,Q=0,D=0,J=0,M=0;if(b=0|ar[(A|=0)+5808>>2],J=(1<<(s=0|ar[A+5804>>2]))-1|0,M=0|ar[A+5820>>2],d=e<<s>>(Q=0|ar[A+5800>>2]),Q=e+1<<s>>Q,(0|(Q=(0|(D=0|ar[A+5824>>2]))<(0|Q)?D:Q))<=(0|d))return(M=0)|(M&=J=1);i=A+10372|0,f=A+10360|0,n=A+10348|0,t=A+10352|0,o=A+10356|0,a=A+10340|0,c=A+48|0,l=A+52|0,u=A+5977|0,D=A+10308|0,k=(e=0)|ar[(r=A+5816|0)>>2];A:for(;;){if(0<(0|k)){G=0==(0|(F=0|br(d,b)))?0:32,R=0|br(F>>s,M),Y=0!=(0|F)&0==(F&J|0),_=0|br((N=F+-1|0)>>s,M),V=0;do{if(C=(0|br(0|ar[i>>2],d))+V|0,C=(0|ar[f>>2])+(3*C|0)|0,I=65535&(C=7&(cr[C>>0]|cr[C+1>>0]<<8)),C<<16>>16){if(y=(C=0|br(V,b))>>s,h=F>>(Z=0|ar[n>>2]),(0|(B=C>>Z))<=-1){d=8;break A}if((0|(E=0|ar[t>>2]))<=(0|B)){d=8;break A}if((0|h)<=-1){d=11;break A}if((0|(X=0|ar[o>>2]))<=(0|h)){d=11;break A}if(W=0|ar[a>>2],v=0|br(E,h),w=0|lr[W+(24*(v+B|0)|0)+2>>1],h=0|ar[c>>2],(p=(0|ar[l>>2])-h>>2)>>>0<=w>>>0){k=0,d=33;break A}g=0|ar[(m=h)+(w<<2)>>2],h=0==(0|C)?0:16;do{if(0!=(0|C)&0==(C&J|0)){if(!(0|tr[g+764>>0])){if(!(-1<(0|(w=C+-1>>Z))&(0|w)<(0|E))){d=16;break A}if((v=0|lr[W+(24*(v+w|0)|0)+2>>1])>>>0<p>>>0&&(0|ar[g+800>>2])!=(0|ar[800+(0|ar[m+(v<<2)>>2])>>2])){w=0;break}}w=0|tr[u>>0]?h:(w=0|ar[D>>2],(0|ar[w+(y+R<<2)>>2])==(0|ar[w+((C+-1>>s)+R<<2)>>2])?h:0)}else w=h}while(0);do{if(Y){if(!(0|tr[g+764>>0])){if(!(-1<(0|(h=N>>Z))&(0|h)<(0|X))){d=24;break A}if(W=W+(24*((0|br(E,h))+B|0)|0)+2|0,(W=0|lr[W>>1])>>>0<p>>>0&&(0|ar[g+800>>2])!=(0|ar[800+(0|ar[m+(W<<2)>>2])>>2])){h=0;break}}h=0|tr[u>>0]?G:(h=0|ar[D>>2],(0|ar[h+(y+R<<2)>>2])==(0|ar[h+(y+_<<2)>>2])?G:0)}else h=G}while(0);0|tr[g+754>>0]||(Wt(A,C,F,I,0,255&w,255&h),It(A,C,F,I,0,0),e=1,k=0|ar[r>>2])}V=V+1|0}while((0|V)<(0|k))}if((0|Q)<=(0|(d=d+1|0))){k=1,d=33;break}}if(8==(0|d))sr(48482,48519,118,48539);else if(11==(0|d))sr(48543,48519,119,48539);else if(16==(0|d))sr(48482,48519,118,48539);else if(24==(0|d))sr(48543,48519,119,48539);else if(33==(0|d))return 0|(M=k&e);return 0}function pt(A,e,r,i,f,n){r|=0,i|=0,f|=0;var t,o,a,c,l,u,b,s,d,k,h,w,v,m,g,Z,p,y,B,E,X,W,I,C,G,V,F,R,N,_=0,Y=0,Q=0,D=0,J=0,M=0,T=0,U=0,S=0,O=0,z=0,j=0,H=0,x=0,P=0,L=0,K=0,q=0,$=0,AA=0,eA=0,rA=0,iA=0,fA=0,nA=0;if(V=(e|=0)?2:1,F=e?1:2,R=1&e,N=1&(1^e),G=e?80:160,I=e?16:32,nA=(0|(n|=0))<(0|(nA=0|ar[(C=(A|=0)+10472|0)>>2]))?n:nA,!((0|(fA=(0|i)<(0|(fA=0|ar[A+10476>>2]))?i:fA))<=(0|r))){o=(0|f)<(0|nA),a=A+10460|0,c=A+10368|0,l=A+10372|0,u=A+10376|0,b=A+10360|0,s=A+10388|0,d=A+10392|0,k=A+10396|0,h=A+10380|0,w=A+10348|0,v=A+10352|0,m=A+10356|0,g=A+10340|0,Z=A+48|0,p=A+52|0,y=A+10332|0,B=A+10516|0,E=A+10448|0,X=A+10452|0,W=A+10456|0,t=A+10440|0;A:for(;;){if(o){eA=(0|(AA=r<<2))/4|0,rA=AA-N|0,$=f;do{if(iA=(0|(M=$<<2))/4|0,e=(0|br(0|ar[C>>2],eA))+iA|0,e=(0|ar[a>>2])+e|0,(D=255&(n=0|tr[e>>0]))&G){if(J=M-R|0,n=rA>>(A=0|ar[c>>2]),(0|(e=J>>A))<=-1){e=10;break A}if((0|(_=0|ar[l>>2]))<=(0|e)){e=10;break A}if((0|n)<=-1){e=13;break A}if((0|(Y=0|ar[u>>2]))<=(0|n)){e=13;break A}if(n=(Q=0|ar[b>>2])+(3*((0|br(_,n))+e|0)|0)|0,e=AA>>A,!(-1<(0|(i=M>>A))&(0|i)<(0|_))){e=15;break A}if(!(-1<(0|e)&(0|e)<(0|Y))){e=17;break A}q=Q+(3*((0|br(_,e))+i|0)|0)|0;e:do{if(0!=(768&(cr[n>>0]|cr[n+1>>0]<<8))&&0!=(768&(cr[q>>0]|cr[q+1>>0]<<8))){if(D&I|0){if(n=AA>>(i=0|ar[E>>2]),(0|(e=M>>i))<=-1){e=22;break A}if((0|(A=0|ar[X>>2]))<=(0|e)){e=22;break A}if((0|n)<=-1){e=25;break A}if((0|(_=0|ar[W>>2]))<=(0|n)){e=25;break A}if(q=(Y=0|ar[t>>2])+((0|br(A,n))+e)|0,(0|tr[q>>0])<=-1){e=1;break}if(e=rA>>i,!(-1<(0|(n=J>>i))&(0|n)<(0|A))){e=28;break A}if(!(-1<(0|e)&(0|e)<(0|_))){e=30;break A}if(q=Y+((0|br(A,e))+n)|0,(0|tr[q>>0])<=-1){e=1;break}}if(n=rA>>(i=0|ar[s>>2]),(0|(e=J>>i))<=-1){e=34;break A}if((0|(A=0|ar[d>>2]))<=(0|e)){e=34;break A}if((0|n)<=-1){e=37;break A}if((0|(_=0|ar[k>>2]))<=(0|n)){e=37;break A}if(q=0|ar[h>>2],K=(0|br(A,n))+e|0,e=AA>>i,!(-1<(0|(n=M>>i))&(0|n)<(0|A))){e=39;break A}if(!(-1<(0|e)&(0|e)<(0|_))){e=41;break A}if(L=(0|br(A,e))+n|0,n=rA>>(_=0|ar[w>>2]),(0|(e=J>>_))<=-1){e=44;break A}if((0|(Y=0|ar[v>>2]))<=(0|e)){e=44;break A}if((0|n)<=-1){e=47;break A}if((0|(Q=0|ar[m>>2]))<=(0|n)){e=47;break A}if(e=(D=0|ar[g>>2])+(24*((0|br(Y,n))+e|0)|0)+2|0,e=0|lr[e>>1],i=0|ar[Z>>2],J=e>>>0<(A=(0|ar[p>>2])-i>>2)>>>0?0|ar[i+(e<<2)>>2]:0,e=AA>>_,!(-1<(0|(n=M>>_))&(0|n)<(0|Y))){e=51;break A}if(!(-1<(0|e)&(0|e)<(0|Q))){e=53;break A}if(e=D+(24*((0|br(Y,e))+n|0)|0)+2|0,e=(e=0|lr[e>>1])>>>0<A>>>0?0|ar[i+(e<<2)>>2]:0,x=(n=(j=0|tr[q+(12*K|0)>>0])<<24>>24==0)?-1:0|ar[J+916+(tr[q+(12*K|0)+2>>0]<<2)>>2],O=(i=(H=0|tr[q+(12*K|0)+1>>0])<<24>>24==0)?-1:0|ar[J+980+(tr[q+(12*K|0)+3>>0]<<2)>>2],!((U=(0|x)==(0|(S=(A=(M=0|tr[q+(12*L|0)>>0])<<24>>24==0)?-1:0|ar[e+916+(tr[q+(12*L|0)+2>>0]<<2)>>2])))&(0|O)==(0|(J=(D=(T=0|tr[q+(12*L|0)+1>>0])<<24>>24==0)?-1:0|ar[e+980+(tr[q+(12*L|0)+3>>0]<<2)>>2])))&&!((0|O)==(0|S)&(0|x)==(0|J))){e=1;break}if(P=n?0:0|or[q+(12*K|0)+6>>1],e=n?0:0|or[q+(12*K|0)+4>>1],z=i?0:0|or[q+(12*K|0)+10>>1],Q=i?0:0|or[q+(12*K|0)+8>>1],Y=A?0:0|or[q+(12*L|0)+6>>1],A=A?0:0|or[q+(12*L|0)+4>>1],_=D?0:0|or[q+(12*L|0)+10>>1],i=D?0:0|or[q+(12*L|0)+8>>1],((255&H)+(255&j)|0)!=((255&T)+(255&M)|0)&&(er(4+(0|ar[y>>2])|0,1013,0),tr[B>>0]=3),(0|x)==(0|O)){if((0|S)!=(0|J)){e=81;break A}q=(n=e<<16>>16)-(e=A<<16>>16)|0;do{if((0|((0|q)<0?0-q|0:q))<=3){if(3<(0|((0|(q=(P<<16>>16)-(Y<<16>>16)|0))<0?0-q|0:q)))break;if(3<(0|((0|(q=(Q<<16>>16)-(i<<16>>16)|0))<0?0-q|0:q)))break;if((0|((0|(q=(z<<16>>16)-(_<<16>>16)|0))<0?0-q|0:q))<=3){e=0;break e}}}while(0);q=n-(i<<16>>16)|0;do{if((0|((0|q)<0?0-q|0:q))<=3){if(3<(0|((0|(q=(P<<16>>16)-(_<<16>>16)|0))<0?0-q|0:q)))break;if(3<(0|((0|(q=(Q<<16>>16)-e|0))<0?0-q|0:q)))break;if((0|((0|(q=(z<<16>>16)-(Y<<16>>16)|0))<0?0-q|0:q))<=3){e=0;break e}}}while(0);e=1;break}if(e=e<<16>>16,U){q=e-(A<<16>>16)|0;do{if((0|((0|q)<0?0-q|0:q))<=3){if(3<(0|((0|(q=(P<<16>>16)-(Y<<16>>16)|0))<0?0-q|0:q)))break;if(3<(0|((0|(q=(Q<<16>>16)-(i<<16>>16)|0))<0?0-q|0:q)))break;if((0|((0|(q=(z<<16>>16)-(_<<16>>16)|0))<0?0-q|0:q))<=3){e=0;break e}}}while(0);e=1;break}q=e-(i<<16>>16)|0;do{if((0|((0|q)<0?0-q|0:q))<=3){if(3<(0|((0|(q=(P<<16>>16)-(_<<16>>16)|0))<0?0-q|0:q)))break;if(3<(0|((0|(q=(Q<<16>>16)-(A<<16>>16)|0))<0?0-q|0:q)))break;if((0|((0|(q=(z<<16>>16)-(Y<<16>>16)|0))<0?0-q|0:q))<=3){e=0;break e}}}while(0);e=1;break}e=2}while(0);iA=(0|br(0|ar[C>>2],eA))+iA|0,iA=(0|ar[a>>2])+iA|0,tr[iA>>0]=-4&tr[iA>>0]|e}else tr[e>>0]=-4&n;$=$+V|0}while((0|$)<(0|nA))}if((0|fA)<=(0|(r=r+F|0))){e=5;break}}switch(0|e){case 5:return;case 10:sr(48482,48519,118,48539);break;case 13:sr(48543,48519,119,48539);break;case 15:sr(48482,48519,118,48539);break;case 17:sr(48543,48519,119,48539);break;case 22:sr(48482,48519,118,48539);break;case 25:sr(48543,48519,119,48539);break;case 28:sr(48482,48519,118,48539);break;case 30:sr(48543,48519,119,48539);break;case 34:sr(48482,48519,118,48539);break;case 37:sr(48543,48519,119,48539);break;case 39:sr(48482,48519,118,48539);break;case 41:sr(48543,48519,119,48539);break;case 44:sr(48482,48519,118,48539);break;case 47:sr(48543,48519,119,48539);break;case 51:sr(48482,48519,118,48539);break;case 53:sr(48543,48519,119,48539);break;case 81:sr(48206,48225,343,48236)}}}function yt(A,e,r,i,f,n){r|=0,i|=0,f|=0,n|=0;var t,o,a,c,l,u,b,s,d,k,h,w,v,m,g,Z,p,y,B,E,X,W,I,C,G,V,F,R,N,_,Y,Q,D,J,M,T,U,S,O,z,j,H,x,P,L,K,q,$,AA,eA,rA,iA,fA,nA,tA,oA,aA,cA,lA,uA,bA,sA,dA,kA,hA,wA,vA,mA,gA,ZA,pA,yA,BA,EA,XA,WA,IA,CA,GA,VA,FA,RA,NA,_A,YA,QA,DA,JA,MA,TA,UA,SA,OA,zA,jA,HA,xA,PA,LA,KA,qA,$A,Ae,ee,re,ie,fe,ne,te,oe,ae,ce,le,ue,be,se,de,ke,he,we,ve,me,ge,Ze,pe,ye=0,Be=0,Ee=0,Xe=0,We=0,Ie=0,Ce=0,Ge=0,Ve=0,Fe=0,Re=0,Ne=0,_e=0,Ye=0,Qe=0,De=0,Je=0,Me=0,Te=0,Ue=0,Se=0,Oe=0,ze=0,je=0,He=0,xe=0,Pe=0,Le=0,Ke=0,qe=0,$e=0,Ar=0,er=0,rr=0,ir=0,fr=0,nr=0;if(ur=(pe=ur)+80|0,me=(ve=pe)+40|0,ge=pe+32|0,Ze=(e|=0)?2:1,ke=e?1:2,de=0|ar[(he=(A|=0)+40|0)>>2],ye=0|ar[A+5760>>2],nr=(0|n)<(0|(nr=0|ar[(we=A+10472|0)>>2]))?n:nr,(0|(fr=(0|i)<(0|(fr=0|ar[A+10476>>2]))?i:fr))<=(0|r))ur=pe;else{TA=(0|f)<(0|nr),UA=A+10460|0,SA=A+4|0,OA=A+10368|0,zA=A+10372|0,jA=A+10376|0,HA=A+10360|0,xA=A+10348|0,PA=A+10352|0,LA=A+10356|0,KA=A+10340|0,qA=A+48|0,$A=ye+-8|0,Ae=4+me|0,ee=2+me|0,re=28+me|0,ie=26+me|0,fe=24+me|0,ne=ve+4|0,te=ve+2|0,oe=ve+28|0,ae=ve+26|0,ce=ve+24|0,le=6+me|0,ue=ve+6|0,be=30+me|0,se=ve+30|0,DA=A+5480|0,JA=2+ge|0,MA=4+ge|0,x=65535+(H=1<<ye)|0,YA=ve+8|0,L=de-1|0,y=8+me|0,K=de-2|0,Z=10+me|0,q=de-3|0,B=12+me|0,$=de-4|0,W=14+me|0,QA=ve+16|0,AA=de<<2,eA=(rr=P=de<<1)+-1|0,X=16+me|0,rA=rr+-2|0,p=18+me|0,iA=rr+-3|0,E=20+me|0,rr=rr+-4|0,I=22+me|0,fA=6*de|0,nA=(ir=3*de|0)+-1|0,tA=ir+-2|0,oA=ir+-3|0,ir=ir+-4|0,aA=de<<1,cA=0|br(de,-3),lA=de<<1,uA=0|br(de,-3),kA=0-de|0,hA=ve+2|0,wA=0-(sA=bA=de<<1)|0,t=2+me|0,vA=ve+4|0,mA=0-(dA=3*de|0)|0,u=4+me|0,gA=ve+6|0,ZA=0-(er=de<<2)|0,h=6+me|0,pA=ve+8|0,yA=1-de|0,l=8+me|0,BA=1+de|0,EA=ve+10|0,XA=1-sA|0,o=10+me|0,WA=1|sA,IA=ve+12|0,CA=1-dA|0,b=12+me|0,GA=1+dA|0,VA=ve+14|0,FA=1-er|0,w=14+me|0,RA=ve+16|0,NA=2-de|0,k=16+me|0,_A=2+de|0,C=ve+18|0,G=2-sA|0,a=18+me|0,V=2+sA|0,F=ve+20|0,R=2-dA|0,s=20+me|0,N=2+dA|0,_=ve+22|0,Y=2-er|0,v=22+me|0,Q=ve+24|0,D=3-de|0,g=24+me|0,J=3+de|0,M=ve+26|0,T=3-sA|0,c=26+me|0,U=3+sA|0,S=ve+28|0,O=3-dA|0,d=28+me|0,z=3+dA|0,j=ve+30|0,er=3-er|0,m=30+me|0;A:for(;;){if(TA){Le=(0|(Pe=r<<2))/4|0,Ke=Pe+-1|0,xe=e?Pe:Ke,He=f;do{if(Xe=He<<2,We=(0|br(0|ar[we>>2],Le))+((0|Xe)/4|0)|0,(We=3&tr[(0|ar[UA>>2])+We>>0])<<24>>24){if(Ar=(qe=0|ar[SA>>2])+($e=(0|br(0|ar[he>>2],Pe))+Xe<<1)|0,Ee=e?(i=lr[(i=(A=i=Ar)+4|0)>>1]|lr[i+2>>1]<<16,ar[(n=ve)>>2]=lr[A>>1]|lr[A+2>>1]<<16,ar[n+4>>2]=i,or[me>>1]=0|or[Ar+-2>>1],or[ee>>1]=0|or[Ar+-4>>1],or[Ae>>1]=0|or[Ar+-6>>1],or[le>>1]=0|or[Ar+-8>>1],n=lr[(n=(i=n=qe+($e+P)|0)+4|0)>>1]|lr[n+2>>1]<<16,ar[(A=YA)>>2]=lr[i>>1]|lr[i+2>>1]<<16,ar[A+4>>2]=n,or[y>>1]=0|or[Ar+(L<<1)>>1],or[Z>>1]=0|or[Ar+(K<<1)>>1],or[B>>1]=0|or[Ar+(q<<1)>>1],or[W>>1]=0|or[Ar+($<<1)>>1],A=lr[(A=(n=A=qe+($e+AA)|0)+4|0)>>1]|lr[A+2>>1]<<16,ar[(i=QA)>>2]=lr[n>>1]|lr[n+2>>1]<<16,ar[i+4>>2]=A,or[X>>1]=0|or[Ar+(eA<<1)>>1],or[p>>1]=0|or[Ar+(rA<<1)>>1],or[E>>1]=0|or[Ar+(iA<<1)>>1],or[I>>1]=0|or[Ar+(rr<<1)>>1],i=lr[(i=(A=i=qe+($e+fA)|0)+4|0)>>1]|lr[i+2>>1]<<16,ar[(n=ce)>>2]=lr[A>>1]|lr[A+2>>1]<<16,ar[n+4>>2]=i,or[fe>>1]=0|or[Ar+(nA<<1)>>1],n=ie,i=be,A=tA,ye=ir,Be=re,oA):(or[ve>>1]=0|or[Ar>>1],or[me>>1]=0|or[Ar+(kA<<1)>>1],or[hA>>1]=0|or[Ar+(de<<1)>>1],or[t>>1]=0|or[Ar+(wA<<1)>>1],or[vA>>1]=0|or[Ar+(sA<<1)>>1],or[u>>1]=0|or[Ar+(mA<<1)>>1],or[gA>>1]=0|or[Ar+(dA<<1)>>1],or[h>>1]=0|or[Ar+(ZA<<1)>>1],or[pA>>1]=0|or[Ar+2>>1],or[l>>1]=0|or[Ar+(yA<<1)>>1],or[EA>>1]=0|or[Ar+(BA<<1)>>1],or[o>>1]=0|or[Ar+(XA<<1)>>1],or[IA>>1]=0|or[Ar+(WA<<1)>>1],or[b>>1]=0|or[Ar+(CA<<1)>>1],or[VA>>1]=0|or[Ar+(GA<<1)>>1],or[w>>1]=0|or[Ar+(FA<<1)>>1],or[RA>>1]=0|or[Ar+4>>1],or[k>>1]=0|or[Ar+(NA<<1)>>1],or[C>>1]=0|or[Ar+(_A<<1)>>1],or[a>>1]=0|or[Ar+(G<<1)>>1],or[F>>1]=0|or[Ar+(V<<1)>>1],or[s>>1]=0|or[Ar+(R<<1)>>1],or[_>>1]=0|or[Ar+(N<<1)>>1],or[v>>1]=0|or[Ar+(Y<<1)>>1],or[Q>>1]=0|or[Ar+6>>1],or[g>>1]=0|or[Ar+(D<<1)>>1],or[M>>1]=0|or[Ar+(J<<1)>>1],or[c>>1]=0|or[Ar+(T<<1)>>1],or[S>>1]=0|or[Ar+(U<<1)>>1],n=d,i=m,A=O,ye=er,Be=j,z),or[n>>1]=0|or[Ar+(A<<1)>>1],or[Be>>1]=0|or[Ar+(Ee<<1)>>1],or[i>>1]=0|or[Ar+(ye<<1)>>1],n=Pe>>(Ve=0|ar[OA>>2]),(0|(Re=Xe>>Ve))<=-1){n=13;break A}if((0|(_e=0|ar[zA>>2]))<=(0|Re)){n=13;break A}if((0|n)<=-1){n=16;break A}if((0|(Ne=0|ar[jA>>2]))<=(0|n)){n=16;break A}if(Qe=0|ar[HA>>2],Ye=(Fe=0|br(_e,n))+Re|0,Ge=Xe+-1|0,i=xe>>Ve,!(-1<(0|(n=(e?Ge:Xe)>>Ve))&(0|n)<(0|_e))){n=18;break A}if(!(-1<(0|i)&(0|i)<(0|Ne))){n=20;break A}if(ye=Qe+(3*((0|br(_e,i))+n|0)|0)+2|0,ye=1+(0|tr[Qe+(3*Ye|0)+2>>0])+(0|tr[ye>>0])>>1,n=Xe>>(i=0|ar[xA>>2]),i=Pe>>i,(0|n)<=-1){n=23;break A}if((0|(A=0|ar[PA>>2]))<=(0|n)){n=23;break A}if((0|i)<=-1){n=26;break A}if((0|i)>=(0|ar[LA>>2])){n=26;break A}je=(0|ar[KA>>2])+(24*((0|br(A,i))+n|0)|0)+2|0,je=0|ar[(0|ar[qA>>2])+(lr[je>>1]<<2)>>2],Ce=(0|ar[je+756>>2])+ye|0,Ce=cr[48154+((0|Ce)<0?0:(0|Ce)<51?Ce:51)>>0]<<$A,je=(We<<1&255)-2+ye+(0|ar[je+760>>2])|0,je=cr[48100+((0|je)<0?0:(0|je)<53?je:53)>>0]<<$A,Je=(0|(Je=(65535&(Te=0|or[Ae>>1]))-((65535&(Ue=0|or[ee>>1]))<<1)+(n=65535&(ye=0|or[me>>1]))|0))<0?0-Je|0:Je,Be=0|lr[fe>>1],De=(0|(De=(0|lr[re>>1])-(lr[ie>>1]<<1)+Be|0))<0?0-De|0:De,Me=(0|(Me=(65535&(Ie=0|or[ne>>1]))-((65535&(Oe=0|or[te>>1]))<<1)+(i=65535&(Se=0|or[ve>>1]))|0))<0?0-Me|0:Me,Ee=0|lr[ce>>1],A=Me+Je|0,Xe=(ze=(0|(ze=(0|lr[oe>>1])-(lr[ae>>1]<<1)+Ee|0))<0?0-ze|0:ze)+De|0,Je=De+Je|0,Me=ze+Me|0;e:do{if((Xe+A|0)<(0|Ce)){We=Ce>>2;do{if((A<<1|0)<(0|We)){if(ze=(0|lr[le>>1])-n|0,(Ce>>3|0)<=(((0|(De=i-(0|lr[ue>>1])|0))<0?0-De|0:De)+((0|ze)<0?0-ze|0:ze)|0)){i=0;break}i=(0|((0|(i=n-i|0))<0?0-i|0:i))<(1+(5*je|0)>>1|0)}else i=0}while(0);do{if((Xe<<1|0)<(0|We)){if(ze=(0|lr[be>>1])-Be|0,(Ce>>3|0)<=(((0|(De=Ee-(0|lr[se>>1])|0))<0?0-De|0:De)+((0|ze)<0?0-ze|0:ze)|0)){n=0;break}n=(0|((0|(n=Be-Ee|0))<0?0-n|0:n))<(1+(5*je|0)>>1|0)}else n=0}while(0);if(ze=i&n,Ee=(Ce>>1)+Ce>>3,A=(Be=0|tr[DA>>0])<<24>>24!=0,e){if(n=-1<(0|(i=Ge>>Ve)),A){if(!(n&(0|i)<(0|_e))){n=37;break A}A=(65535&(cr[(A=Qe+(3*(Fe+i|0)|0)|0)>>0]|cr[A+1>>0]<<8))>>>10&1^1}else{if(!n){n=41;break A}A=1}if((0|_e)<=(0|i)){n=41;break A}i=Qe+(3*(Fe+i|0)|0)|0,De=(n=Be<<24>>24?0==(1024&(cr[(n=Qe+(3*Ye|0)|0)>>0]|cr[n+1>>0]<<8)):1)&0==(2048&(cr[(De=Qe+(3*Ye|0)|0)>>0]|cr[De+1>>0]<<8)),Ne=A<<24>>24?0==(2048&(cr[i>>0]|cr[i+1>>0]<<8)):0}else{if(n=-1<(0|(i=Ke>>Ve)),A){if(!(n&(0|i)<(0|Ne))){n=47;break A}A=Qe+(3*((0|br(_e,i))+Re|0)|0)|0,A=0==(1024&(cr[A>>0]|cr[A+1>>0]<<8))}else{if(!n){n=51;break A}A=1}if((0|Ne)<=(0|i)){n=51;break A}i=Qe+(3*((0|br(_e,i))+Re|0)|0)|0,De=(n=Be<<24>>24?0==(1024&(cr[(n=Qe+(3*Ye|0)|0)>>0]|cr[n+1>>0]<<8)):1)&0==(2048&(cr[(De=Qe+(3*Ye|0)|0)>>0]|cr[De+1>>0]<<8)),Ne=A&0==(2048&(cr[i>>0]|cr[i+1>>0]<<8))}for(_e=je<<1,Ye=10*je|0,Qe=0-je|0,Re=(0|Ee)<=(0|Je)|1^Ne,Fe=(0|Ee)<=(0|Me)|1^De,Ve=0-(Ge=je>>1)|0,Ce=0,Xe=Te,Ee=Ue,i=Se,A=Oe;;){We=qe+($e+(0|br(P,Ce)))|0;do{if(ze){Se=0|or[ve+(Ce<<3)+6>>1],Me=65535&Ee,Ue=65535&A,Ee=(Te=65535&ye)+_e|0,Be=65535&((0|(Be=(A=4+(Te<<1)|0)+(Me<<1)+(Oe=65535&Xe)+(n=(i&=65535)<<1)+Ue>>3))<(0|(Je=Te-_e|0))?Je:(0|Ee)<(0|Be)?Ee:Be),Xe=Me+_e|0,Ee=65535&((0|(Ee=(Te+2+Me+Oe+i|0)>>>2))<(0|(Je=Me-_e|0))?Je:(0|Xe)<(0|Ee)?Xe:Ee),Xe=(Te+4+Me+(3*Oe|0)+i+(lr[me+(Ce<<3)+6>>1]<<1)|0)>>>3,Je=Oe-_e|0,Oe=Oe+_e|0,Xe=65535&((0|Xe)<(0|Je)?Je:(0|Oe)<(0|Xe)?Oe:Xe),n=A+Me+n+(Ue<<1)+(Oe=65535&Ie)>>3,A=i+_e|0,n=65535&((0|n)<(0|(Me=i-_e|0))?Me:(0|A)<(0|n)?A:n),or[ge>>1]=n,A=i+Te+Ue|0,Te=Ue-_e|0,Ue=Ue+_e|0,i=65535&((0|(i=(Oe+2+A|0)>>>2))<(0|Te)?Te:(0|Ue)<(0|i)?Ue:i),or[JA>>1]=i,A=(A+4+(3*Oe|0)+((65535&Se)<<1)|0)>>>3,Se=Oe-_e|0,Oe=Oe+_e|0,A=65535&((0|A)<(0|Se)?Se:(0|Oe)<(0|A)?Oe:A),or[MA>>1]=A;do{if(e){if(ye=0|br(Ce,de),!Ne){if(!De)break;or[We>>1]=0|or[ge>>1],or[We+2>>1]=0|or[2+ge>>1],or[We+4>>1]=0|or[4+ge>>1];break}if(or[Ar+(ye+-1<<1)>>1]=Be,De){or[Ar+(ye<<1)>>1]=n,or[Ar+(ye+-2<<1)>>1]=Ee,or[Ar+(ye+1<<1)>>1]=i,or[Ar+(ye+-3<<1)>>1]=Xe,or[Ar+(ye+2<<1)>>1]=A;break}or[Ar+(ye+-2<<1)>>1]=Ee,or[Ar+(ye+-3<<1)>>1]=Xe;break}if(!Ne){if(!De)break;or[Ar+(Ce<<1)>>1]=n,or[Ar+(de+Ce<<1)>>1]=i,or[Ar+(bA+Ce<<1)>>1]=A;break}if(or[Ar+(Ce-de<<1)>>1]=Be,De){or[Ar+(Ce<<1)>>1]=n,or[Ar+(Ce-aA<<1)>>1]=Ee,or[Ar+(de+Ce<<1)>>1]=i,or[Ar+(Ce+cA<<1)>>1]=Xe,or[Ar+(aA+Ce<<1)>>1]=A;break}or[Ar+(Ce-lA<<1)>>1]=Ee,or[Ar+(Ce+uA<<1)>>1]=Xe;break}while(0)}else{if((0|Ye)<=(0|((0|(n=8+(9*((Be=65535&i)-(ye&=65535)|0)|0)+(0|br((A&=65535)-(i=65535&Ee)|0,-3))>>4))<0?0-n|0:n)))break;n=(0|n)<(0|Qe)?Qe:(0|je)<(0|n)?je:n;do{if(e){if(Ne&&(Se=n+ye|0,Oe=Ar+((0|br(Ce,de))-1<<1)|0,or[Oe>>1]=(0|Se)<0?0:65535&((0|Se)<(0|H)?Se:x)),!De)break;Se=Be-n|0,Oe=Ar+((0|br(Ce,de))<<1)|0,or[Oe>>1]=(0|Se)<0?0:65535&((0|Se)<(0|H)?Se:x)}else{if(Ne&&(Oe=n+ye|0,or[Ar+(Ce-de<<1)>>1]=(0|Oe)<0?0:65535&((0|Oe)<(0|H)?Oe:x)),!De)break;Oe=Be-n|0,or[Ar+(Ce<<1)>>1]=(0|Oe)<0?0:65535&((0|Oe)<(0|H)?Oe:x)}}while(0);if(Re||(Se=((0|(Oe=(Se=n+(((ye+1+(65535&Xe)|0)>>>1)-i)|0)>>1))<(0|Ve)?Ve:((0|Ge)<(0|Oe)?je:Se)>>1)+i|0,Oe=(0|br(Ce,de))-2|0,or[Ar+((e?Oe:Ce-P|0)<<1)>>1]=(0|Se)<0?0:65535&((0|Se)<(0|H)?Se:x)),Fe)break;Se=((0|(Oe=(Se=((Be+1+(65535&Ie)|0)>>>1)-A-n|0)>>1))<(0|Ve)?Ve:((0|Ge)<(0|Oe)?je:Se)>>1)+A|0,Oe=0|br(e?Ce:1,de),or[Ar+(Oe+(e?1:Ce)<<1)>>1]=(0|Se)<0?0:65535&((0|Se)<(0|H)?Se:x)}}while(0);if(4==(0|(n=Ce+1|0)))break e;Xe=0|or[me+((Ce=n)<<3)+4>>1],Ee=0|or[me+(n<<3)+2>>1],ye=0|or[me+(n<<3)>>1],i=0|or[ve+(n<<3)>>1],A=0|or[ve+(n<<3)+2>>1],Ie=0|or[ve+(n<<3)+4>>1]}}}while(0)}He=He+Ze|0}while((0|He)<(0|nr))}if((0|fr)<=(0|(r=r+ke|0))){n=5;break}}switch(0|n){case 5:return void(ur=pe);case 13:sr(48482,48519,118,48539);break;case 16:sr(48543,48519,119,48539);break;case 18:sr(48482,48519,118,48539);break;case 20:sr(48543,48519,119,48539);break;case 23:sr(48482,48519,118,48539);break;case 26:sr(48543,48519,119,48539);break;case 37:case 41:sr(48482,48519,118,48539);break;case 47:case 51:sr(48543,48519,119,48539)}}}function Bt(A,e,r,i,f,n){r|=0,i|=0,f|=0,n|=0;var t,o,a,c,l,u,b,s,d,k,h,w,v,m,g,Z,p,y,B,E,X,W,I,C,G,V,F,R,N,_,Y,Q,D,J,M,T,U,S,O,z,j,H,x,P,L,K,q,$,AA,eA,rA,iA,fA,nA,tA,oA,aA,cA,lA,uA,bA,sA,dA,kA,hA,wA,vA,mA,gA,ZA,pA,yA,BA,EA,XA,WA,IA,CA,GA,VA,FA,RA,NA,_A,YA,QA,DA,JA,MA,TA,UA=0,SA=0,OA=0,zA=0,jA=0,HA=0,xA=0,PA=0,LA=0,KA=0,qA=0,$A=0,Ae=0,ee=0,re=0,ie=0,fe=0,ne=0,te=0,oe=0,ae=0,ce=0,le=0,ue=0,be=0,se=0,de=0,ke=0,he=0,we=0,ve=0,me=0,ge=0,Ze=0,pe=0,ye=0,Be=0,Ee=0,Xe=0,We=0,Ie=0;if(ur=(TA=ur)+48|0,QA=TA+24|0,DA=TA+8|0,JA=TA,MA=(e|=0)?2:1,NA=e?1:2,RA=0|ar[(_A=(A|=0)+40|0)>>2],UA=0|ar[A+5760>>2],Ie=(0|n)<(0|(Ie=0|ar[(YA=A+10472|0)>>2]))?n:Ie,(0|(We=(0|i)<(0|(We=0|ar[A+10476>>2]))?i:We))<=(0|r))ur=TA;else{tA=(0|f)<(0|Ie),oA=A+10460|0,aA=A+4|0,cA=A+10368|0,lA=A+10372|0,uA=A+10376|0,bA=A+10360|0,sA=A+10348|0,dA=A+10352|0,kA=A+10356|0,hA=A+10340|0,wA=A+48|0,vA=UA+-8|0,mA=2+DA|0,gA=1+DA|0,ZA=14+DA|0,pA=13+DA|0,yA=12+DA|0,BA=2+QA|0,EA=1+QA|0,XA=14+QA|0,WA=13+QA|0,IA=12+QA|0,CA=3+DA|0,GA=3+QA|0,VA=15+DA|0,FA=15+QA|0,iA=A+5480|0,fA=JA+1|0,nA=JA+2|0,L=255+(P=1<<UA)|0,pe=3*RA|0,q=ye=K=RA<<1,$=0|br(RA,-3),AA=RA<<1,eA=0|br(RA,-3),Be=rA=RA<<1,Ee=3*RA|0,Xe=RA<<2,a=e?-1:0-RA|0,t=e?1:RA,c=e?-2:0-Be|0,l=e?2:Be,u=e?-3:0-Ee|0,b=e?3:Ee,s=e?-4:0-Xe|0,o=e?RA:1,d=4+QA|0,k=e?RA-1|0:1-RA|0,S=4+DA|0,h=1+RA|0,w=5+QA|0,v=e?RA-2|0:1-Be|0,T=5+DA|0,m=e?2+RA|0:1|Be,g=6+QA|0,Z=e?RA-3|0:1-Ee|0,O=6+DA|0,p=e?3+RA|0:Ee+1|0,y=7+QA|0,B=e?RA-4|0:1-Xe|0,H=7+DA|0,E=e?ye:2,X=8+QA|0,W=e?ye+-1|0:2-RA|0,j=8+DA|0,I=e?1|ye:2+RA|0,C=9+QA|0,G=e?ye+-2|0:2-Be|0,U=9+DA|0,V=(e?ye:Be)+2|0,F=10+QA|0,R=e?ye+-3|0:2-Ee|0,z=10+DA|0,N=e?ye+3|0:Ee+2|0,_=11+QA|0,ye=e?ye+-4|0:2-Xe|0,x=11+DA|0,Y=e?pe:3,Q=e?pe+-1|0:3-RA|0,D=e?pe+1|0:3+RA|0,J=e?pe+-2|0:3-Be|0,Be=e?pe+2|0:Be+3|0,M=e?pe+-3|0:3-Ee|0,Ee=(e?pe:Ee)+3|0,Xe=e?pe+-4|0:3-Xe|0;A:for(;;){if(tA){ve=(0|(we=r<<2))/4|0,me=we+-1|0,he=e?we:me,ke=f;do{if(A=ke<<2,SA=(0|br(0|ar[YA>>2],ve))+((0|A)/4|0)|0,(SA=3&tr[(0|ar[oA>>2])+SA>>0])<<24>>24){if(pe=(ge=0|ar[aA>>2])+(Ze=(0|br(0|ar[_A>>2],we))+A|0)|0,tr[QA>>0]=0|tr[pe>>0],tr[DA>>0]=0|tr[pe+a>>0],tr[EA>>0]=0|tr[pe+t>>0],tr[gA>>0]=0|tr[pe+c>>0],tr[BA>>0]=0|tr[pe+l>>0],tr[mA>>0]=0|tr[pe+u>>0],tr[GA>>0]=0|tr[pe+b>>0],tr[CA>>0]=0|tr[pe+s>>0],tr[d>>0]=0|tr[pe+o>>0],tr[S>>0]=0|tr[pe+k>>0],tr[w>>0]=0|tr[pe+h>>0],tr[T>>0]=0|tr[pe+v>>0],tr[g>>0]=0|tr[pe+m>>0],tr[O>>0]=0|tr[pe+Z>>0],tr[y>>0]=0|tr[pe+p>>0],tr[H>>0]=0|tr[pe+B>>0],tr[X>>0]=0|tr[pe+E>>0],tr[j>>0]=0|tr[pe+W>>0],tr[C>>0]=0|tr[pe+I>>0],tr[U>>0]=0|tr[pe+G>>0],tr[F>>0]=0|tr[pe+V>>0],tr[z>>0]=0|tr[pe+R>>0],tr[_>>0]=0|tr[pe+N>>0],tr[x>>0]=0|tr[pe+ye>>0],KA=0|tr[pe+Y>>0],tr[IA>>0]=KA,zA=0|tr[pe+Q>>0],tr[yA>>0]=zA,qA=0|tr[pe+D>>0],tr[WA>>0]=qA,jA=0|tr[pe+J>>0],tr[pA>>0]=jA,$A=0|tr[pe+Be>>0],tr[XA>>0]=$A,HA=0|tr[pe+M>>0],tr[ZA>>0]=HA,re=0|tr[pe+Ee>>0],tr[FA>>0]=re,ee=0|tr[pe+Xe>>0],tr[VA>>0]=ee,n=we>>(fe=0|ar[cA>>2]),(0|(te=A>>fe))<=-1){n=10;break A}if((0|(ae=0|ar[lA>>2]))<=(0|te)){n=10;break A}if((0|n)<=-1){n=13;break A}if((0|(oe=0|ar[uA>>2]))<=(0|n)){n=13;break A}if(le=0|ar[bA>>2],ce=(ne=0|br(ae,n))+te|0,ie=A+-1|0,i=he>>fe,!(-1<(0|(n=(e?ie:A)>>fe))&(0|n)<(0|ae))){n=15;break A}if(!(-1<(0|i)&(0|i)<(0|oe))){n=17;break A}if(UA=le+(3*((0|br(ae,i))+n|0)|0)+2|0,UA=1+(0|tr[le+(3*ce|0)+2>>0])+(0|tr[UA>>0])>>1,n=A>>(i=0|ar[sA>>2]),i=we>>i,(0|n)<=-1){n=20;break A}if((0|(A=0|ar[dA>>2]))<=(0|n)){n=20;break A}if((0|i)<=-1){n=23;break A}if((0|i)>=(0|ar[kA>>2])){n=23;break A}de=(0|ar[hA>>2])+(24*((0|br(A,i))+n|0)|0)+2|0,de=0|ar[(0|ar[wA>>2])+(lr[de>>1]<<2)>>2],Ae=(0|ar[de+756>>2])+UA|0,Ae=cr[48154+((0|Ae)<0?0:(0|Ae)<51?Ae:51)>>0]<<vA,de=(SA<<1&255)-2+UA+(0|ar[de+760>>2])|0,de=cr[48100+((0|de)<0?0:(0|de)<53?de:53)>>0]<<vA,SA=(0|(SA=(255&(xA=0|tr[mA>>0]))-((255&(OA=0|tr[gA>>0]))<<1)+(PA=255&(UA=0|tr[DA>>0]))|0))<0?0-SA|0:SA,HA=(0|(HA=(255&HA)-((255&jA)<<1)+(LA=255&zA)|0))<0?0-HA|0:HA,n=(se=(0|(se=(255&(jA=0|tr[BA>>0]))-((255&(be=0|tr[EA>>0]))<<1)+(i=255&(ue=0|tr[QA>>0]))|0))<0?0-se|0:se)+SA|0,A=(KA=(0|(KA=(255&$A)-((255&qA)<<1)+(zA=255&KA)|0))<0?0-KA|0:KA)+HA|0,HA=HA+SA|0,KA=KA+se|0;e:do{if((A+n|0)<(0|Ae)){SA=Ae>>2;do{if((n<<1|0)<(0|SA)){if(se=(0|cr[CA>>0])-PA|0,(Ae>>3|0)<=(((0|($A=i-(0|cr[GA>>0])|0))<0?0-$A|0:$A)+((0|se)<0?0-se|0:se)|0)){i=0;break}i=(0|((0|(i=PA-i|0))<0?0-i|0:i))<(1+(5*de|0)>>1|0)}else i=0}while(0);do{if((A<<1|0)<(0|SA)){if((Ae>>3|0)<=(((0|(re=zA-(255&re)|0))<0?0-re|0:re)+((0|(se=(255&ee)-LA|0))<0?0-se|0:se)|0)){n=0;break}n=(0|((0|(n=LA-zA|0))<0?0-n|0:n))<(1+(5*de|0)>>1|0)}else n=0}while(0);if(se=i&n,zA=(Ae>>1)+Ae>>3,A=(SA=0|tr[iA>>0])<<24>>24!=0,e){if(n=-1<(0|(i=ie>>fe)),A){if(!(n&(0|i)<(0|ae))){n=34;break A}A=(65535&(cr[(A=le+(3*(ne+i|0)|0)|0)>>0]|cr[A+1>>0]<<8))>>>10&1^1}else{if(!n){n=38;break A}A=1}if((0|ae)<=(0|i)){n=38;break A}i=le+(3*(ne+i|0)|0)|0,fe=(n=SA<<24>>24?0==(1024&(cr[(n=le+(3*ce|0)|0)>>0]|cr[n+1>>0]<<8)):1)&0==(2048&(cr[(fe=le+(3*ce|0)|0)>>0]|cr[fe+1>>0]<<8)),Ae=A<<24>>24?0==(2048&(cr[i>>0]|cr[i+1>>0]<<8)):0}else{if(n=-1<(0|(i=me>>fe)),A){if(!(n&(0|i)<(0|oe))){n=44;break A}A=le+(3*((0|br(ae,i))+te|0)|0)|0,A=0==(1024&(cr[A>>0]|cr[A+1>>0]<<8))}else{if(!n){n=48;break A}A=1}if((0|oe)<=(0|i)){n=48;break A}i=le+(3*((0|br(ae,i))+te|0)|0)|0,fe=(n=SA<<24>>24?0==(1024&(cr[(n=le+(3*ce|0)|0)>>0]|cr[n+1>>0]<<8)):1)&0==(2048&(cr[(fe=le+(3*ce|0)|0)>>0]|cr[fe+1>>0]<<8)),Ae=A&0==(2048&(cr[i>>0]|cr[i+1>>0]<<8))}for(ee=de<<1,re=10*de|0,ie=0-de|0,$A=(0|zA)<=(0|HA)|1^Ae,qA=(0|zA)<=(0|KA)|1^fe,KA=0-(LA=de>>1)|0,PA=0,i=ue,A=be;;){zA=ge+(Ze+(HA=0|br(RA,PA)))|0;do{if(se){ue=0|tr[QA+(PA<<2)+3>>0],le=255&A,SA=(ce=255&UA)+ee|0,UA=255&((0|(UA=(A=4+(ce<<1)|0)+((ae=255&OA)<<1)+(be=255&xA)+(n=(i&=255)<<1)+le>>3))<(0|(oe=ce-ee|0))?oe:(0|SA)<(0|UA)?SA:UA),OA=ae+ee|0,SA=255&((0|(SA=(ce+2+ae+be+i|0)>>>2))<(0|(oe=ae-ee|0))?oe:(0|OA)<(0|SA)?OA:SA),OA=(ce+4+ae+(3*be|0)+i+(cr[DA+(PA<<2)+3>>0]<<1)|0)>>>3,oe=be-ee|0,be=be+ee|0,OA=255&((0|OA)<(0|oe)?oe:(0|be)<(0|OA)?be:OA),n=A+ae+n+(le<<1)+(be=255&jA)>>3,A=i+ee|0,n=255&((0|n)<(0|(ae=i-ee|0))?ae:(0|A)<(0|n)?A:n),tr[JA>>0]=n,A=i+ce+le|0,ce=le-ee|0,le=le+ee|0,i=255&((0|(i=(be+2+A|0)>>>2))<(0|ce)?ce:(0|le)<(0|i)?le:i),tr[fA>>0]=i,A=(A+4+(3*be|0)+((255&ue)<<1)|0)>>>3,ue=be-ee|0,be=be+ee|0,A=255&((0|A)<(0|ue)?ue:(0|be)<(0|A)?be:A),tr[nA>>0]=A;do{if(e){if(!Ae){if(!fe)break;tr[zA>>0]=0|tr[JA>>0],tr[zA+1>>0]=0|tr[JA+1>>0],tr[zA+2>>0]=0|tr[JA+2>>0];break}if(tr[pe+(HA+-1)>>0]=UA,fe){tr[pe+HA>>0]=n,tr[pe+(HA+-2)>>0]=SA,tr[pe+(HA+1)>>0]=i,tr[pe+(HA+-3)>>0]=OA,tr[pe+(HA+2)>>0]=A;break}tr[pe+(HA+-2)>>0]=SA,tr[pe+(HA+-3)>>0]=OA;break}if(!Ae){if(!fe)break;tr[pe+PA>>0]=n,tr[pe+(RA+PA)>>0]=i,tr[pe+(rA+PA)>>0]=A;break}if(tr[pe+(PA-RA)>>0]=UA,fe){tr[pe+PA>>0]=n,tr[pe+(PA-q)>>0]=SA,tr[pe+(RA+PA)>>0]=i,tr[pe+(PA+$)>>0]=OA,tr[pe+(q+PA)>>0]=A;break}tr[pe+(PA-AA)>>0]=SA,tr[pe+(PA+eA)>>0]=OA;break}while(0)}else{if((0|re)<=(0|((0|(n=8+(9*((SA=255&i)-(UA&=255)|0)|0)+(0|br((A&=255)-(i=255&OA)|0,-3))>>4))<0?0-n|0:n)))break;n=(0|n)<(0|ie)?ie:(0|de)<(0|n)?de:n;do{if(e){if(Ae&&(be=n+UA|0,tr[pe+(HA+-1)>>0]=(0|be)<0?0:255&((0|be)<(0|P)?be:L)),!fe)break;be=SA-n|0,tr[pe+HA>>0]=(0|be)<0?0:255&((0|be)<(0|P)?be:L)}else{if(Ae&&(be=n+UA|0,tr[pe+(PA-RA)>>0]=(0|be)<0?0:255&((0|be)<(0|P)?be:L)),!fe)break;be=SA-n|0,tr[pe+PA>>0]=(0|be)<0?0:255&((0|be)<(0|P)?be:L)}}while(0);if($A||(be=((0|(ue=(be=n+(((UA+1+(255&xA)|0)>>>1)-i)|0)>>1))<(0|KA)?KA:((0|LA)<(0|ue)?de:be)>>1)+i|0,tr[pe+(e?HA+-2|0:PA-K|0)>>0]=(0|be)<0?0:255&((0|be)<(0|P)?be:L)),qA)break;ue=((0|(be=(ue=((SA+1+(255&jA)|0)>>>1)-A-n|0)>>1))<(0|KA)?KA:((0|LA)<(0|be)?de:ue)>>1)+A|0,be=0|br(e?PA:1,RA),tr[pe+(be+(e?1:PA))>>0]=(0|ue)<0?0:255&((0|ue)<(0|P)?ue:L)}}while(0);if(4==(0|(n=PA+1|0)))break e;xA=0|tr[DA+((PA=n)<<2)+2>>0],OA=0|tr[DA+(n<<2)+1>>0],UA=0|tr[DA+(n<<2)>>0],i=0|tr[QA+(n<<2)>>0],A=0|tr[QA+(n<<2)+1>>0],jA=0|tr[QA+(n<<2)+2>>0]}}}while(0)}ke=ke+MA|0}while((0|ke)<(0|Ie))}if((0|We)<=(0|(r=r+NA|0))){n=5;break}}switch(0|n){case 5:return void(ur=TA);case 10:sr(48482,48519,118,48539);break;case 13:sr(48543,48519,119,48539);break;case 15:sr(48482,48519,118,48539);break;case 17:sr(48543,48519,119,48539);break;case 20:sr(48482,48519,118,48539);break;case 23:sr(48543,48519,119,48539);break;case 34:case 38:sr(48482,48519,118,48539);break;case 44:case 48:sr(48543,48519,119,48539)}}}function Et(A,e,r,i,f,n){e|=0,r|=0,i|=0,f|=0,n|=0;var t,o,a,c,l,u,b,s,d,k,h,w,v,m,g,Z,p,y,B,E,X,W,I,C,G,V,F,R,N,_,Y,Q,D,J,M,T,U,S,O,z,j,H,x,P,L,K,q,$,AA,eA,rA,iA,fA,nA,tA,oA,aA,cA,lA,uA,bA,sA,dA,kA,hA,wA,vA,mA,gA,ZA,pA,yA,BA,EA,XA,WA,IA,CA,GA,VA,FA,RA,NA,_A,YA,QA,DA,JA,MA,TA=0,UA=0,SA=0,OA=0,zA=0,jA=0,HA=0,xA=0,PA=0,LA=0,KA=0,qA=0,$A=0,Ae=0,ee=0,re=0,ie=0,fe=0,ne=0,te=0,oe=0,ae=0,ce=0,le=0,ue=0;if(ur=(MA=ur)+32|0,QA=MA+16|0,DA=MA,JA=0|ar[(A|=0)+5780>>2],FA=0|ar[A+5784>>2],RA=0|br(JA,e?2:1),NA=0|br(FA,e?1:2),VA=0|ar[(_A=A+44|0)>>2],ue=(0|n)<(0|(ue=0|ar[(YA=A+10472|0)>>2]))?n:ue,s=A+5768|0,(0|(le=(0|i)<(0|(le=0|ar[A+10476>>2]))?i:le))<=(0|r))ur=MA;else{d=(0|f)<(0|ue),k=3-JA|0,h=3-FA|0,w=A+10460|0,v=A+5956|0,m=A+5952|0,g=A+10368|0,Z=A+10372|0,p=A+10376|0,y=A+10360|0,B=A+5776|0,E=A+10348|0,X=A+10352|0,W=A+10356|0,I=A+10340|0,C=A+48|0,G=A+5480|0,F=65535+(V=1<<ar[s>>2])|0,R=VA<<1,N=0|br(VA,-2),Y=VA-1|0,J=(Q=VA<<1)-1|0,U=(M=3*VA|0)-1|0,O=1+VA|0,j=VA-2|0,H=1|Q,P=Q-2|0,L=1+M|0,q=M-2|0,cA=VA<<1,dA=3*VA|0,wA=eA=_=DA+2|0,vA=rA=t=2+QA|0,mA=iA=o=10+QA|0,gA=fA=z=DA+10|0,ZA=nA=D=DA+4|0,pA=tA=c=4+QA|0,yA=oA=l=12+QA|0,BA=aA=x=DA+12|0,EA=lA=T=DA+6|0,XA=uA=u=6+QA|0,WA=bA=b=14+QA|0,IA=sA=K=DA+14|0,GA=kA=$=a=8+QA|0,CA=hA=AA=S=DA+8|0;A:for(;;){if(d){ae=(0|(oe=0|br(te=r<<h,FA)))/4|0,ce=oe+-1|0,re=e?oe:ce,Ae=f;do{if(fe=0|br(ie=Ae<<k,JA),n=(0|br(0|ar[YA>>2],ae))+((0|fe)/4|0)|0,1<(255&(n=3&tr[(0|ar[w>>2])+n>>0]))){ne=fe+-1|0,ee=e?ne:fe,qA=(n<<1&255)-2|0,KA=0;do{if(TA=0|ar[(0==(0|KA)?m:v)>>2],$A=(n=0|ar[A+4+((KA=KA+1|0)<<2)>>2])+(i=(0|br(0|ar[_A>>2],te))+ie<<1)|0,e?(or[DA>>1]=0|or[$A>>1],or[QA>>1]=0|or[$A+-2>>1],or[_>>1]=0|or[$A+(VA<<1)>>1],or[t>>1]=0|or[$A+(Y<<1)>>1],or[D>>1]=0|or[$A+(Q<<1)>>1],or[c>>1]=0|or[$A+(J<<1)>>1],or[T>>1]=0|or[$A+(M<<1)>>1],or[u>>1]=0|or[$A+(U<<1)>>1],or[S>>1]=0|or[$A+2>>1],or[a>>1]=0|or[$A+-4>>1],or[z>>1]=0|or[$A+(O<<1)>>1],or[o>>1]=0|or[$A+(j<<1)>>1],or[x>>1]=0|or[$A+(H<<1)>>1],or[l>>1]=0|or[$A+(P<<1)>>1],or[K>>1]=0|or[$A+(L<<1)>>1],or[b>>1]=0|or[$A+(q<<1)>>1]):(PA=N+i|0,xA=lr[(xA=(LA=xA=$A)+4|0)>>1]|lr[xA+2>>1]<<16,ar[(HA=DA)>>2]=lr[LA>>1]|lr[LA+2>>1]<<16,ar[HA+4>>2]=xA,HA=lr[(HA=(xA=HA=n+PA|0)+4|0)>>1]|lr[HA+2>>1]<<16,ar[(LA=QA)>>2]=lr[xA>>1]|lr[xA+2>>1]<<16,ar[LA+4>>2]=HA,LA=lr[(LA=(HA=LA=n+(i+R)|0)+4|0)>>1]|lr[LA+2>>1]<<16,ar[(xA=CA)>>2]=lr[HA>>1]|lr[HA+2>>1]<<16,ar[xA+4>>2]=LA,PA=lr[(PA=(xA=PA=n+(PA+N)|0)+4|0)>>1]|lr[PA+2>>1]<<16,ar[(LA=GA)>>2]=lr[xA>>1]|lr[xA+2>>1]<<16,ar[LA+4>>2]=PA),n=oe>>(SA=0|ar[g>>2]),(0|(zA=fe>>SA))<=-1){n=14;break A}if((0|(HA=0|ar[Z>>2]))<=(0|zA)){n=14;break A}if((0|n)<=-1){n=17;break A}if((0|(jA=0|ar[p>>2]))<=(0|n)){n=17;break A}if(PA=0|ar[y>>2],xA=(OA=0|br(HA,n))+zA|0,i=re>>SA,!(-1<(0|(n=ee>>SA))&(0|n)<(0|HA))){n=19;break A}if(!(-1<(0|i)&(0|i)<(0|jA))){n=21;break A}n=PA+(3*((0|br(HA,i))+n|0)|0)+2|0,n=(1+(0|tr[PA+(3*xA|0)+2>>0])+(0|tr[n>>0])>>1)+TA|0;do{if(1==(0|ar[B>>2])){if(30<=(0|n)){if(42<(0|n)){n=n+-6|0;break}n=0|ar[8020+(n+-30<<2)>>2];break}}else n=(0|n)<51?n:51}while(0);if(i=fe>>(TA=0|ar[E>>2]),TA=oe>>TA,(0|i)<=-1){n=30;break A}if((0|(UA=0|ar[X>>2]))<=(0|i)){n=30;break A}if((0|TA)<=-1){n=33;break A}if((0|TA)>=(0|ar[W>>2])){n=33;break A}LA=(0|ar[I>>2])+(24*((0|br(UA,TA))+i|0)|0)+2|0,LA=qA+n+(0|ar[760+(0|ar[(0|ar[C>>2])+(lr[LA>>1]<<2)>>2])>>2])|0,LA=cr[48100+((0|LA)<0?0:(0|LA)<53?LA:53)>>0]<<(0|ar[s>>2])-8,UA=0==(0|tr[G>>0]);e:do{if(e){if(n=-1<(0|(i=ne>>SA)),UA){if(!n){n=41;break A}TA=1}else{if(!(n&(0|i)<(0|HA))){n=37;break A}TA=0==(1024&(cr[(TA=PA+(3*(OA+i|0)|0)|0)>>0]|cr[TA+1>>0]<<8))}if((0|HA)<=(0|i)){n=41;break A}if(i=PA+(3*(OA+i|0)|0)|0,SA=(n=UA?1:0==(1024&(cr[(n=PA+(3*xA|0)|0)>>0]|cr[n+1>>0]<<8)))&0==(2048&(cr[(SA=PA+(3*xA|0)|0)>>0]|cr[SA+1>>0]<<8)),OA=0-LA|0,TA&0==(2048&(cr[i>>0]|cr[i+1>>0]<<8)))for(n=0;;)if(i=DA+(n<<1)|0,PA=0|lr[QA+(n<<1)>>1],PA=(TA=(0|(TA=4+(0|lr[8+QA+(n<<1)>>1])+((0|lr[i>>1])-PA<<2)-(0|lr[DA+8+(n<<1)>>1])>>3))<(0|OA)?OA:(0|LA)<(0|TA)?LA:TA)+PA|0,UA=0|br(n,VA),or[$A+(UA+-1<<1)>>1]=(0|PA)<0?0:65535&((0|PA)<(0|V)?PA:F),SA&&(PA=(0|lr[i>>1])-TA|0,or[$A+(UA<<1)>>1]=(0|PA)<0?0:65535&((0|PA)<(0|V)?PA:F)),4==(0|(n=n+1|0)))break e;if(n=0|lr[DA>>1],i=4+(0|lr[$>>1])+(n-(0|lr[QA>>1])<<2)-(0|lr[AA>>1])>>3,SA&&(PA=n-((0|i)<(0|OA)?OA:(0|LA)<(0|i)?LA:i)|0,or[$A>>1]=(0|PA)<0?0:65535&((0|PA)<(0|V)?PA:F)),n=0|lr[eA>>1],i=4+(0|lr[iA>>1])+(n-(0|lr[rA>>1])<<2)-(0|lr[fA>>1])>>3,SA&&(PA=n-((0|i)<(0|OA)?OA:(0|LA)<(0|i)?LA:i)|0,or[$A+(VA<<1)>>1]=(0|PA)<0?0:65535&((0|PA)<(0|V)?PA:F)),n=0|lr[nA>>1],i=4+(0|lr[oA>>1])+(n-(0|lr[tA>>1])<<2)-(0|lr[aA>>1])>>3,SA&&(PA=n-((0|i)<(0|OA)?OA:(0|LA)<(0|i)?LA:i)|0,or[$A+(cA<<1)>>1]=(0|PA)<0?0:65535&((0|PA)<(0|V)?PA:F)),n=0|lr[lA>>1],i=4+(0|lr[bA>>1])+(n-(0|lr[uA>>1])<<2)-(0|lr[sA>>1])>>3,!SA)break;LA=n-((0|i)<(0|OA)?OA:(0|LA)<(0|i)?LA:i)|0,or[$A+(dA<<1)>>1]=(0|LA)<0?0:65535&((0|LA)<(0|V)?LA:F)}else{if(n=-1<(0|(i=ce>>SA)),UA){if(!n){n=57;break A}TA=1}else{if(!(n&(0|i)<(0|jA))){n=53;break A}TA=PA+(3*((0|br(HA,i))+zA|0)|0)|0,TA=0==(1024&(cr[TA>>0]|cr[TA+1>>0]<<8))}if((0|jA)<=(0|i)){n=57;break A}if(i=PA+(3*((0|br(HA,i))+zA|0)|0)|0,UA=(n=UA?1:0==(1024&(cr[(n=PA+(3*xA|0)|0)>>0]|cr[n+1>>0]<<8)))&0==(2048&(cr[(UA=PA+(3*xA|0)|0)>>0]|cr[UA+1>>0]<<8)),SA=0-LA|0,!(TA&0==(2048&(cr[i>>0]|cr[i+1>>0]<<8)))){if(!UA)break;xA=(PA=0|lr[DA>>1])-((0|(xA=4+(0|lr[kA>>1])+(PA-(0|lr[QA>>1])<<2)-(0|lr[hA>>1])>>3))<(0|SA)?SA:(0|LA)<(0|xA)?LA:xA)|0,or[$A>>1]=(0|xA)<0?0:65535&((0|xA)<(0|V)?xA:F),PA=(xA=0|lr[wA>>1])-((0|(PA=4+(0|lr[mA>>1])+(xA-(0|lr[vA>>1])<<2)-(0|lr[gA>>1])>>3))<(0|SA)?SA:(0|LA)<(0|PA)?LA:PA)|0,or[$A+2>>1]=(0|PA)<0?0:65535&((0|PA)<(0|V)?PA:F),xA=(PA=0|lr[ZA>>1])-((0|(xA=4+(0|lr[yA>>1])+(PA-(0|lr[pA>>1])<<2)-(0|lr[BA>>1])>>3))<(0|SA)?SA:(0|LA)<(0|xA)?LA:xA)|0,or[$A+4>>1]=(0|xA)<0?0:65535&((0|xA)<(0|V)?xA:F),LA=(xA=0|lr[EA>>1])-((0|(PA=4+(0|lr[WA>>1])+(xA-(0|lr[XA>>1])<<2)-(0|lr[IA>>1])>>3))<(0|SA)?SA:(0|LA)<(0|PA)?LA:PA)|0,or[$A+6>>1]=(0|LA)<0?0:65535&((0|LA)<(0|V)?LA:F);break}for(n=0;i=DA+(n<<1)|0,PA=0|lr[QA+(n<<1)>>1],PA=(TA=(0|(TA=4+(0|lr[8+QA+(n<<1)>>1])+((0|lr[i>>1])-PA<<2)-(0|lr[DA+8+(n<<1)>>1])>>3))<(0|SA)?SA:(0|LA)<(0|TA)?LA:TA)+PA|0,or[$A+(n-VA<<1)>>1]=(0|PA)<0?0:65535&((0|PA)<(0|V)?PA:F),UA&&(PA=(0|lr[i>>1])-TA|0,or[$A+(n<<1)>>1]=(0|PA)<0?0:65535&((0|PA)<(0|V)?PA:F)),4!=(0|(n=n+1|0)););}}while(0)}while((0|KA)<2)}Ae=Ae+RA|0}while((0|Ae)<(0|ue))}if((0|le)<=(0|(r=r+NA|0))){n=5;break}}switch(0|n){case 5:return void(ur=MA);case 14:sr(48482,48519,118,48539);break;case 17:sr(48543,48519,119,48539);break;case 19:sr(48482,48519,118,48539);break;case 21:sr(48543,48519,119,48539);break;case 30:sr(48482,48519,118,48539);break;case 33:sr(48543,48519,119,48539);break;case 37:case 41:sr(48482,48519,118,48539);break;case 53:case 57:sr(48543,48519,119,48539)}}}function Xt(A,e,r,i,f,n){e|=0,r|=0,i|=0,f|=0,n|=0;var t,o,a,c,l,u,b,s,d,k,h,w,v,m,g,Z,p,y,B,E,X,W,I,C,G,V,F,R,N,_,Y,Q,D,J,M,T,U,S,O,z,j,H,x,P,L,K,q,$,AA,eA,rA,iA,fA,nA,tA,oA,aA,cA,lA,uA,bA,sA,dA,kA,hA,wA,vA,mA,gA,ZA,pA,yA,BA,EA,XA,WA,IA,CA,GA,VA,FA,RA,NA,_A,YA,QA,DA,JA,MA,TA,UA,SA,OA,zA,jA,HA,xA,PA,LA,KA,qA,$A,Ae,ee,re,ie,fe,ne,te,oe,ae,ce,le,ue,be,se,de,ke,he,we,ve,me,ge,Ze,pe=0,ye=0,Be=0,Ee=0,Xe=0,We=0,Ie=0,Ce=0,Ge=0,Ve=0,Fe=0,Re=0,Ne=0,_e=0,Ye=0,Qe=0,De=0,Je=0,Me=0,Te=0,Ue=0,Se=0,Oe=0,ze=0,je=0,He=0;if(ur=(Ze=ur)+16|0,ve=Ze+8|0,me=Ze,ge=0|ar[(A|=0)+5780>>2],se=0|ar[A+5784>>2],de=0|br(ge,e?2:1),ke=0|br(se,e?1:2),be=0|ar[(he=A+44|0)>>2],He=(0|n)<(0|(He=0|ar[(we=A+10472|0)>>2]))?n:He,O=A+5768|0,(0|(je=(0|i)<(0|(je=0|ar[A+10476>>2]))?i:je))<=(0|r))ur=Ze;else{z=(0|f)<(0|He),j=3-ge|0,H=3-se|0,x=A+10460|0,P=A+5956|0,L=A+5952|0,K=A+10368|0,q=A+10372|0,$=A+10376|0,AA=A+10360|0,eA=A+5776|0,rA=A+10348|0,iA=A+10352|0,fA=A+10356|0,nA=A+10340|0,tA=A+48|0,oA=A+5480|0,cA=255+(aA=1<<ar[O>>2])|0,lA=0-be|0,kA=(sA=be<<1)-1|0,vA=(hA=3*be|0)-1|0,gA=1+be|0,pA=be-2|0,yA=1|sA,EA=sA-2|0,XA=1+hA|0,IA=hA-2|0,_A=bA=be-1|0,TA=(MA=be<<1)-1|0,HA=(jA=3*be|0)-1|0,fe=be<<1,ce=3*be|0,m=1-be|0,B=2-be|0,C=3-be|0,F=k=LA=VA=uA=me+1|0,R=h=KA=FA=t=1+ve|0,N=w=qA=RA=o=5+ve|0,_=v=$A=NA=ZA=me+5|0,Y=g=Ae=YA=dA=me+2|0,Q=Z=ee=QA=c=2+ve|0,D=p=re=DA=l=6+ve|0,J=y=ie=JA=BA=me+6|0,M=E=ne=UA=wA=me+3|0,T=X=te=SA=u=3+ve|0,U=W=oe=OA=b=7+ve|0,S=I=ae=zA=WA=me+7|0,ue=G=s=xA=CA=a=4+ve|0,le=V=d=PA=GA=mA=me+4|0;A:for(;;){if(z){Te=(0|(Me=0|br(Je=r<<H,se)))/4|0,Ue=Me+-1|0,De=e?Me:Ue,Ye=f;do{if(Oe=0|br(Se=Ye<<j,ge),n=(0|br(0|ar[we>>2],Te))+((0|Oe)/4|0)|0,1<(255&(n=3&tr[(0|ar[x>>2])+n>>0]))){ze=Oe+-1|0,Qe=e?ze:Oe,Re=(n<<1&255)-2|0,Ne=Se-be|0,Fe=0;do{if(ye=0|ar[(0==(0|Fe)?L:P)>>2],_e=(n=0|ar[A+4+((Fe=Fe+1|0)<<2)>>2])+(pe=(i=0|br(0|ar[he>>2],Je))+Se|0)|0,e?(tr[me>>0]=0|tr[_e>>0],tr[ve>>0]=0|tr[_e+-1>>0],tr[uA>>0]=0|tr[_e+be>>0],tr[t>>0]=0|tr[_e+bA>>0],tr[dA>>0]=0|tr[_e+sA>>0],tr[c>>0]=0|tr[_e+kA>>0],tr[wA>>0]=0|tr[_e+hA>>0],tr[u>>0]=0|tr[_e+vA>>0],tr[mA>>0]=0|tr[_e+1>>0],tr[a>>0]=0|tr[_e+-2>>0],tr[ZA>>0]=0|tr[_e+gA>>0],tr[o>>0]=0|tr[_e+pA>>0],tr[BA>>0]=0|tr[_e+yA>>0],tr[l>>0]=0|tr[_e+EA>>0],tr[WA>>0]=0|tr[_e+XA>>0],tr[b>>0]=0|tr[_e+IA>>0]):(Ge=n+(Ve=Ne+i|0)|0,ar[me>>2]=cr[_e>>0]|cr[_e+1>>0]<<8|cr[_e+2>>0]<<16|cr[_e+3>>0]<<24,ar[ve>>2]=cr[Ge>>0]|cr[Ge+1>>0]<<8|cr[Ge+2>>0]<<16|cr[Ge+3>>0]<<24,Ve=n+(Ve-be)|0,Ge=n+(pe+be)|0,ar[le>>2]=cr[Ge>>0]|cr[Ge+1>>0]<<8|cr[Ge+2>>0]<<16|cr[Ge+3>>0]<<24,ar[ue>>2]=cr[Ve>>0]|cr[Ve+1>>0]<<8|cr[Ve+2>>0]<<16|cr[Ve+3>>0]<<24),n=Me>>(Be=0|ar[K>>2]),(0|(Xe=Oe>>Be))<=-1){n=14;break A}if((0|(Ie=0|ar[q>>2]))<=(0|Xe)){n=14;break A}if((0|n)<=-1){n=17;break A}if((0|(We=0|ar[$>>2]))<=(0|n)){n=17;break A}if(Ge=0|ar[AA>>2],Ce=(Ee=0|br(Ie,n))+Xe|0,i=De>>Be,!(-1<(0|(n=Qe>>Be))&(0|n)<(0|Ie))){n=19;break A}if(!(-1<(0|i)&(0|i)<(0|We))){n=21;break A}n=Ge+(3*((0|br(Ie,i))+n|0)|0)+2|0,n=(1+(0|tr[Ge+(3*Ce|0)+2>>0])+(0|tr[n>>0])>>1)+ye|0;do{if(1==(0|ar[eA>>2])){if(30<=(0|n)){if(42<(0|n)){n=n+-6|0;break}n=0|ar[8020+(n+-30<<2)>>2];break}}else n=(0|n)<51?n:51}while(0);if(i=Oe>>(pe=0|ar[rA>>2]),pe=Me>>pe,(0|i)<=-1){n=30;break A}if((0|(ye=0|ar[iA>>2]))<=(0|i)){n=30;break A}if((0|pe)<=-1){n=33;break A}if((0|pe)>=(0|ar[fA>>2])){n=33;break A}Ve=(0|ar[nA>>2])+(24*((0|br(ye,pe))+i|0)|0)+2|0,Ve=Re+n+(0|ar[760+(0|ar[(0|ar[tA>>2])+(lr[Ve>>1]<<2)>>2])>>2])|0,Ve=cr[48100+((0|Ve)<0?0:(0|Ve)<53?Ve:53)>>0]<<(0|ar[O>>2])-8,pe=0==(0|tr[oA>>0]);do{if(e){if(n=-1<(0|(i=ze>>Be)),pe){if(!n){n=41;break A}Be=1}else{if(!(n&(0|i)<(0|Ie))){n=37;break A}Be=0==(1024&(cr[(Be=Ge+(3*(Ee+i|0)|0)|0)>>0]|cr[Be+1>>0]<<8))}if((0|Ie)<=(0|i)){n=41;break A}if(ye=Ge+(3*(Ee+i|0)|0)|0,pe=(n=pe?1:0==(1024&(cr[(n=Ge+(3*Ce|0)|0)>>0]|cr[n+1>>0]<<8)))&0==(2048&(cr[(pe=Ge+(3*Ce|0)|0)>>0]|cr[pe+1>>0]<<8)),i=0-Ve|0,!(Be&0==(2048&(cr[ye>>0]|cr[ye+1>>0]<<8)))){if(!pe)break;Ce=(Ge=0|cr[me>>0])-((0|(Ce=4+(0|cr[xA>>0])+(Ge-(0|cr[ve>>0])<<2)-(0|cr[PA>>0])>>3))<(0|i)?i:(0|Ve)<(0|Ce)?Ve:Ce)|0,tr[_e>>0]=(0|Ce)<0?0:255&((0|Ce)<(0|aA)?Ce:cA),Ge=(Ce=0|cr[LA>>0])-((0|(Ge=4+(0|cr[qA>>0])+(Ce-(0|cr[KA>>0])<<2)-(0|cr[$A>>0])>>3))<(0|i)?i:(0|Ve)<(0|Ge)?Ve:Ge)|0,tr[_e+be>>0]=(0|Ge)<0?0:255&((0|Ge)<(0|aA)?Ge:cA),Ce=(Ge=0|cr[Ae>>0])-((0|(Ce=4+(0|cr[re>>0])+(Ge-(0|cr[ee>>0])<<2)-(0|cr[ie>>0])>>3))<(0|i)?i:(0|Ve)<(0|Ce)?Ve:Ce)|0,tr[_e+fe>>0]=(0|Ce)<0?0:255&((0|Ce)<(0|aA)?Ce:cA),Ve=(Ce=0|cr[ne>>0])-((0|(Ge=4+(0|cr[oe>>0])+(Ce-(0|cr[te>>0])<<2)-(0|cr[ae>>0])>>3))<(0|i)?i:(0|Ve)<(0|Ge)?Ve:Ge)|0,tr[_e+ce>>0]=(0|Ve)<0?0:255&((0|Ve)<(0|aA)?Ve:cA);break}if(Ge=0|cr[ve>>0],Ge=(n=(0|(n=4+(0|cr[CA>>0])+((0|cr[me>>0])-Ge<<2)-(0|cr[GA>>0])>>3))<(0|i)?i:(0|Ve)<(0|n)?Ve:n)+Ge|0,tr[_e+-1>>0]=(0|Ge)<0?0:255&((0|Ge)<(0|aA)?Ge:cA),pe&&(Ge=(0|cr[me>>0])-n|0,tr[_e>>0]=(0|Ge)<0?0:255&((0|Ge)<(0|aA)?Ge:cA)),Ge=0|cr[FA>>0],Ge=(n=(0|(n=4+(0|cr[RA>>0])+((0|cr[VA>>0])-Ge<<2)-(0|cr[NA>>0])>>3))<(0|i)?i:(0|Ve)<(0|n)?Ve:n)+Ge|0,tr[_e+_A>>0]=(0|Ge)<0?0:255&((0|Ge)<(0|aA)?Ge:cA),pe&&(Ge=(0|cr[VA>>0])-n|0,tr[_e+be>>0]=(0|Ge)<0?0:255&((0|Ge)<(0|aA)?Ge:cA)),Ge=0|cr[QA>>0],Ge=(n=(0|(n=4+(0|cr[DA>>0])+((0|cr[YA>>0])-Ge<<2)-(0|cr[JA>>0])>>3))<(0|i)?i:(0|Ve)<(0|n)?Ve:n)+Ge|0,tr[_e+TA>>0]=(0|Ge)<0?0:255&((0|Ge)<(0|aA)?Ge:cA),pe&&(Ge=(0|cr[YA>>0])-n|0,tr[_e+MA>>0]=(0|Ge)<0?0:255&((0|Ge)<(0|aA)?Ge:cA)),Ge=0|cr[SA>>0],Ve=(n=(0|(n=4+(0|cr[OA>>0])+((0|cr[UA>>0])-Ge<<2)-(0|cr[zA>>0])>>3))<(0|i)?i:(0|Ve)<(0|n)?Ve:n)+Ge|0,tr[_e+HA>>0]=(0|Ve)<0?0:255&((0|Ve)<(0|aA)?Ve:cA),!pe)break;Ve=(0|cr[UA>>0])-n|0,tr[_e+jA>>0]=(0|Ve)<0?0:255&((0|Ve)<(0|aA)?Ve:cA)}else{if(n=-1<(0|(i=Ue>>Be)),pe){if(!n){n=56;break A}Be=1}else{if(!(n&(0|i)<(0|We))){n=52;break A}Be=Ge+(3*((0|br(Ie,i))+Xe|0)|0)|0,Be=0==(1024&(cr[Be>>0]|cr[Be+1>>0]<<8))}if((0|We)<=(0|i)){n=56;break A}if(ye=Ge+(3*((0|br(Ie,i))+Xe|0)|0)|0,pe=(n=pe?1:0==(1024&(cr[(n=Ge+(3*Ce|0)|0)>>0]|cr[n+1>>0]<<8)))&0==(2048&(cr[(pe=Ge+(3*Ce|0)|0)>>0]|cr[pe+1>>0]<<8)),i=0-Ve|0,!(Be&0==(2048&(cr[ye>>0]|cr[ye+1>>0]<<8)))){if(!pe)break;Ce=(Ge=0|cr[me>>0])-((0|(Ce=4+(0|cr[G>>0])+(Ge-(0|cr[ve>>0])<<2)-(0|cr[V>>0])>>3))<(0|i)?i:(0|Ve)<(0|Ce)?Ve:Ce)|0,tr[_e>>0]=(0|Ce)<0?0:255&((0|Ce)<(0|aA)?Ce:cA),Ge=(Ce=0|cr[F>>0])-((0|(Ge=4+(0|cr[N>>0])+(Ce-(0|cr[R>>0])<<2)-(0|cr[_>>0])>>3))<(0|i)?i:(0|Ve)<(0|Ge)?Ve:Ge)|0,tr[_e+1>>0]=(0|Ge)<0?0:255&((0|Ge)<(0|aA)?Ge:cA),Ce=(Ge=0|cr[Y>>0])-((0|(Ce=4+(0|cr[D>>0])+(Ge-(0|cr[Q>>0])<<2)-(0|cr[J>>0])>>3))<(0|i)?i:(0|Ve)<(0|Ce)?Ve:Ce)|0,tr[_e+2>>0]=(0|Ce)<0?0:255&((0|Ce)<(0|aA)?Ce:cA),Ve=(Ce=0|cr[M>>0])-((0|(Ge=4+(0|cr[U>>0])+(Ce-(0|cr[T>>0])<<2)-(0|cr[S>>0])>>3))<(0|i)?i:(0|Ve)<(0|Ge)?Ve:Ge)|0,tr[_e+3>>0]=(0|Ve)<0?0:255&((0|Ve)<(0|aA)?Ve:cA);break}if(Ge=0|cr[ve>>0],Ge=(n=(0|(n=4+(0|cr[s>>0])+((0|cr[me>>0])-Ge<<2)-(0|cr[d>>0])>>3))<(0|i)?i:(0|Ve)<(0|n)?Ve:n)+Ge|0,tr[_e+lA>>0]=(0|Ge)<0?0:255&((0|Ge)<(0|aA)?Ge:cA),pe&&(Ge=(0|cr[me>>0])-n|0,tr[_e>>0]=(0|Ge)<0?0:255&((0|Ge)<(0|aA)?Ge:cA)),Ge=0|cr[h>>0],Ge=(n=(0|(n=4+(0|cr[w>>0])+((0|cr[k>>0])-Ge<<2)-(0|cr[v>>0])>>3))<(0|i)?i:(0|Ve)<(0|n)?Ve:n)+Ge|0,tr[_e+m>>0]=(0|Ge)<0?0:255&((0|Ge)<(0|aA)?Ge:cA),pe&&(Ge=(0|cr[k>>0])-n|0,tr[_e+1>>0]=(0|Ge)<0?0:255&((0|Ge)<(0|aA)?Ge:cA)),Ge=0|cr[Z>>0],Ge=(n=(0|(n=4+(0|cr[p>>0])+((0|cr[g>>0])-Ge<<2)-(0|cr[y>>0])>>3))<(0|i)?i:(0|Ve)<(0|n)?Ve:n)+Ge|0,tr[_e+B>>0]=(0|Ge)<0?0:255&((0|Ge)<(0|aA)?Ge:cA),pe&&(Ge=(0|cr[g>>0])-n|0,tr[_e+2>>0]=(0|Ge)<0?0:255&((0|Ge)<(0|aA)?Ge:cA)),Ge=0|cr[X>>0],Ve=(n=(0|(n=4+(0|cr[W>>0])+((0|cr[E>>0])-Ge<<2)-(0|cr[I>>0])>>3))<(0|i)?i:(0|Ve)<(0|n)?Ve:n)+Ge|0,tr[_e+C>>0]=(0|Ve)<0?0:255&((0|Ve)<(0|aA)?Ve:cA),!pe)break;Ve=(0|cr[E>>0])-n|0,tr[_e+3>>0]=(0|Ve)<0?0:255&((0|Ve)<(0|aA)?Ve:cA)}}while(0)}while((0|Fe)<2)}Ye=Ye+de|0}while((0|Ye)<(0|He))}if((0|je)<=(0|(r=r+ke|0))){n=5;break}}switch(0|n){case 5:return void(ur=Ze);case 14:sr(48482,48519,118,48539);break;case 17:sr(48543,48519,119,48539);break;case 19:sr(48482,48519,118,48539);break;case 21:sr(48543,48519,119,48539);break;case 30:sr(48482,48519,118,48539);break;case 33:sr(48543,48519,119,48539);break;case 37:case 41:sr(48482,48519,118,48539);break;case 52:case 56:sr(48543,48519,119,48539)}}}function Wt(A,e,r,i,f,n,t){r|=0,i|=0,f|=0,n|=0,t|=0;var o,a,c,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0;for((0|(l=(e|=0)>>(u=0|ar[(d=(A|=0)+10448|0)>>2])))<=-1&&sr(48482,48519,118,48539),o=A+10452|0,a=A+10456|0,c=A+10440|0,v=e,b=i,s=n,h=t,i=(w=r)>>u;;){if((0|(e=0|ar[o>>2]))<=(0|l)){e=4;break}if((0|i)<=-1){e=7;break}if((0|i)>=(0|ar[a>>2])){e=7;break}if(u=(0|ar[c>>2])+((0|br(e,i))+l)|0,k=1<<b,!((0|cr[u>>0])&1<<f)){e=9;break}if(i=(n=k>>1)+v|0,n=n+w|0,Wt(A,v,w,e=b+-1|0,f=f+1|0,s,h),Wt(A,i,w,e,f,16,h),Wt(A,v,n,e,f,s,32),(0|(l=i>>(t=0|ar[d>>2])))<=-1){e=4;break}v=i,b=e,s=16,h=32,i=(w=n)>>t}if(4==(0|e))sr(48482,48519,118,48539);else if(7==(0|e))sr(48543,48519,119,48539);else if(9==(0|e)){if(b=31==(0|b))return;for(i=255&s,f=(0|v)/4|0,n=A+10472|0,t=A+10476|0,l=A+10460|0,e=0;r=(e+w|0)/4|0,(0|f)<(0|(u=0|ar[n>>2]))&&(0|r)<(0|ar[t>>2])&&(d=(0|br(u,r))+f|0,d=(0|ar[l>>2])+d|0,tr[d>>0]=tr[d>>0]|i),(0|(e=e+4|0))<(0|k););if(b)return;for(u=255&h,t=(0|w)/4|0,l=A+10472|0,r=A+10476|0,i=A+10460|0,e=0;(0|(f=(e+v|0)/4|0))<(0|(n=0|ar[l>>2]))&&(0|t)<(0|ar[r>>2])&&(A=(0|br(n,t))+f|0,A=(0|ar[i>>2])+A|0,tr[A>>0]=tr[A>>0]|u),(0|(e=e+4|0))<(0|k););return}}function It(A,e,r,i,f,n){r|=0,i|=0,f|=0,n|=0;var t,o=0,a=0,c=0,l=0,u=0;switch(n=(e|=0)>>(o=0|ar[(A|=0)+10368>>2]),o=r>>o,(0|n)<=-1&&sr(48482,48519,118,48539),(0|(f=0|ar[A+10372>>2]))<=(0|n)&&sr(48482,48519,118,48539),(0|o)<=-1&&sr(48543,48519,119,48539),(0|o)>=(0|ar[A+10376>>2])&&sr(48543,48519,119,48539),u=(0|ar[A+10360>>2])+(3*((0|br(f,o))+n|0)|0)|0,t=1<<i,n=1<<i+-1,f=1<<i+-2,(65535&(cr[u>>0]|cr[u+1>>0]<<8))>>>3&7){case 3:if(31==(0|i))return;for(c=(n+e|0)/4|0,l=A+10472|0,u=A+10476|0,a=A+10460|0,i=(n+r|0)/4|0,o=0;f=(o+r|0)/4|0,(0|c)<(0|(n=0|ar[l>>2]))&&(0|f)<(0|ar[u>>2])&&(n=(0|br(n,f))+c|0,n=(0|ar[a>>2])+n|0,tr[n>>0]=64|tr[n>>0],n=0|ar[l>>2]),(0|(f=(o+e|0)/4|0))<(0|n)&&(0|i)<(0|ar[u>>2])&&(A=(0|br(n,i))+f|0,A=(0|ar[a>>2])+A|0,tr[A>>0]=-128|tr[A>>0]),(0|(o=o+1|0))<(0|t););return;case 2:if(31==(0|i))return;for(a=(n+e|0)/4|0,c=A+10472|0,l=A+10476|0,i=A+10460|0,f=0;n=(f+r|0)/4|0,(0|a)<(0|(o=0|ar[c>>2]))&&(0|n)<(0|ar[l>>2])&&(e=(0|br(o,n))+a|0,e=(0|ar[i>>2])+e|0,tr[e>>0]=64|tr[e>>0]),(0|(f=f+1|0))<(0|t););return;case 1:if(31==(0|i))return;for(a=(n+r|0)/4|0,c=A+10472|0,l=A+10476|0,i=A+10460|0,f=0;(0|(n=(f+e|0)/4|0))<(0|(o=0|ar[c>>2]))&&(0|a)<(0|ar[l>>2])&&(r=(0|br(o,a))+n|0,r=(0|ar[i>>2])+r|0,tr[r>>0]=-128|tr[r>>0]),(0|(f=f+1|0))<(0|t););return;case 6:if(31==(0|i))return;for(a=(f+e|0)/4|0,c=A+10472|0,l=A+10476|0,i=A+10460|0,f=0;n=(f+r|0)/4|0,(0|a)<(0|(o=0|ar[c>>2]))&&(0|n)<(0|ar[l>>2])&&(e=(0|br(o,n))+a|0,e=(0|ar[i>>2])+e|0,tr[e>>0]=64|tr[e>>0]),(0|(f=f+1|0))<(0|t););return;case 7:if(31==(0|i))return;for(a=(n+e+f|0)/4|0,c=A+10472|0,l=A+10476|0,i=A+10460|0,f=0;n=(f+r|0)/4|0,(0|a)<(0|(o=0|ar[c>>2]))&&(0|n)<(0|ar[l>>2])&&(e=(0|br(o,n))+a|0,e=(0|ar[i>>2])+e|0,tr[e>>0]=64|tr[e>>0]),(0|(f=f+1|0))<(0|t););return;case 4:if(31==(0|i))return;for(a=(f+r|0)/4|0,c=A+10472|0,l=A+10476|0,i=A+10460|0,f=0;(0|(n=(f+e|0)/4|0))<(0|(o=0|ar[c>>2]))&&(0|a)<(0|ar[l>>2])&&(r=(0|br(o,a))+n|0,r=(0|ar[i>>2])+r|0,tr[r>>0]=-128|tr[r>>0]),(0|(f=f+1|0))<(0|t););return;case 5:if(31==(0|i))return;for(a=(n+r+f|0)/4|0,c=A+10472|0,l=A+10476|0,i=A+10460|0,f=0;(0|(n=(f+e|0)/4|0))<(0|(o=0|ar[c>>2]))&&(0|a)<(0|ar[l>>2])&&(r=(0|br(o,a))+n|0,r=(0|ar[i>>2])+r|0,tr[r>>0]=-128|tr[r>>0]),(0|(f=f+1|0))<(0|t););return;default:return}}function Ct(A,e,r,i,f,n,t){A|=0,e|=0,r|=0,i|=0,n|=0,t|=0;var o=0,a=0,c=0;return t=(0|(c=(f|=0)?(f=e+-1>>(o=0|ar[t+10368>>2]),o=r>>o,(0|f)<=-1&&sr(48482,48519,118,48539),(0|(a=0|ar[t+10372>>2]))<=(0|f)&&sr(48482,48519,118,48539),(0|o)<=-1&&sr(48543,48519,119,48539),(0|o)>=(0|ar[t+10376>>2])&&sr(48543,48519,119,48539),c=(0|ar[t+10360>>2])+(3*((0|br(a,o))+f|0)|0)|0,1792&(cr[c>>0]|cr[c+1>>0]<<8)?1:0|cr[(0|ar[t+10400>>2])+(i+-1)>>0]):1))!=(0|(f=n?(f=e>>(o=0|ar[t+10368>>2]),o=r+-1>>o,(0|f)<=-1&&sr(48482,48519,118,48539),(0|(a=0|ar[t+10372>>2]))<=(0|f)&&sr(48482,48519,118,48539),(0|o)<=-1&&sr(48543,48519,119,48539),(0|o)>=(0|ar[t+10376>>2])&&sr(48543,48519,119,48539),n=(0|ar[t+10360>>2])+(3*((0|br(a,o))+f|0)|0)|0,0==(1792&(cr[n>>0]|cr[n+1>>0]<<8))&&(r>>(n=0|ar[t+5804>>2])<<n|0)<(0|r)?0|cr[(0|ar[t+10400>>2])+(i-(0|ar[t+5876>>2]))>>0]:1):1))?0!=(0|(ar[A>>2]=c))&0!=(0|(ar[A+4>>2]=f))?0:1!=(0|c)&1!=(0|f)?1:26:c>>>0<2?(ar[A>>2]=0,ar[A+4>>2]=1,26):(ar[A>>2]=c,ar[A+4>>2]=2+(c+29&31),2+((c+-1|0)%32|0)|0),void(ar[(A=A+8|0)>>2]=t)}function Gt(A,e,r,i,f,n){return A|=0,e|=0,r|=0,i|=0,f|=0,8<(0|ar[(0==(0|(n|=0))?A+5760|0:A+5768|0)>>2])?void function(A,e,r,i,f,n){i|=0;var t,o,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0;ur=(o=ur)+272|0,function(A,e,r,i,f,n){e|=0,r|=0,i|=0,n|=0;var t,o,a,c,l,u,b,s,d,k,h,w,v,m,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0,C=0,G=0,V=0,F=0,R=0,N=0,_=0,Y=0,Q=0,D=0,J=0,M=0,T=0,U=0,S=0,O=0,z=0,j=0,H=0,x=0,P=0,L=0,K=0,q=0,$=0,AA=0;ur=(m=ur)+144|0,v=(h=m)+64|0,w=0|ar[4+(A|=0)+((f|=0)<<2)>>2],c=0|ar[((f=0==(0|f))?A+40|0:A+44|0)>>2],L=f?q=1:(q=0|ar[A+5780>>2],0|ar[A+5784>>2]);k=0|ar[(f?A+5760|0:A+5768|0)>>2],Q=0|br(q,e),Y=0|br(L,r),C=0|ar[A+5804>>2],W=0|ar[A+5820>>2],F=(M=0!=(0|Q))&(V=1^(y=0==(0|Y))),I=Q+(0|br(q,i))|0,D=0|ar[A+1248>>2],N=(0|I)<(0|D)&V,B=Q>>C,p=Y>>C,E=Q+-1>>C,I>>=C,C=Y+-1>>C,g=0|ar[A+10352>>2],f=0|br(g,p),Z=0|ar[A+10340>>2],o=0|lr[Z+(24*(f+B|0)|0)>>1],J=M?0|lr[Z+(24*(f+E|0)|0)>>1]:-1;G=y?-1:(G=Z+(24*((0|br(g,C))+B|0)|0)|0,0|lr[G>>1]);R=N?(R=Z+(24*((0|br(g,C))+I|0)|0)|0,0|lr[R>>1]):-1;X=F?(X=Z+(24*((0|br(g,C))+E|0)|0)|0,0|lr[X>>1]):-1;f=0|br(p,W),p=0|ar[A+10308>>2],t=0|ar[p+(f+B<<2)>>2],_=M?0|ar[p+(f+E<<2)>>2]:-1;g=y?-1:(g=p+((0|br(C,W))+B<<2)|0,0|ar[g>>2]);Z=F?(Z=p+((0|br(C,W))+E<<2)|0,0|ar[Z>>2]):-1;f=N?(f=p+((0|br(C,W))+I<<2)|0,0|ar[f>>2]):-1;d=(0|G)==(0|o)&(0|g)==(0|t)&V,F=F&(0|X)==(0|o)&(0|Z)==(0|t),l=N&(0|R)==(0|o)&(0|f)==(0|t),u=0|ar[A+5864>>2],a=0|ar[A+5852>>2],K=(0|br(Y>>u,a))+(Q>>u)|0,b=0|ar[A+10320>>2],K=0|ar[b+(K<<2)>>2],f=(L+-1-Y+(0|ar[A+1252>>2])|0)/(0|L)|0,Y=(0|f)>(0|(s=i<<1))?s:f,Q=(0|(Q=(q+-1-Q+D|0)/(0|q)|0))>(0|s)?s:Q,vb(0-s+v|0,0,0|(D=i<<2|1)),g=Y+-1|0;A:do{if(0<(0|Y)&&(T=e+-1|0,U=0|br(q,T),S=A+10368|0,O=A+10372|0,z=A+10376|0,j=A+10360|0,M&(0|J)==(0|o)&(0|_)==(0|t))){for(C=64-((0|f)<(0|s)?f:s)|0,G=U>>u,V=0==(0|tr[A+5944>>0]),W=g,I=g=f=0;;){if(X=h+(C+(I<<2))|0,Z=0|br(E=W+r|0,L),y=b+((0|br(Z>>u,a))+G<<2)|0,y=(0|ar[y>>2])<=(0|K),V)y&&(H=29);else{if(M=0|ar[S>>2],Z>>=M,(0|(B=U>>M))<=-1){H=34;break}if((0|(p=0|ar[O>>2]))<=(0|B)){H=34;break}if((0|Z)<=-1){H=35;break}if((0|Z)>=(0|ar[z>>2])){H=35;break}M=(0|ar[j>>2])+(3*((0|br(p,Z))+B|0)|0)|0,y&0==(768&(cr[M>>0]|cr[M+1>>0]<<8))&&(H=29)}if(29==(0|H)&&(Z=w+(((H=0)|br(E,c))+T<<1)|0,g||(f=0|or[Z>>1]),tr[X>>0]=1,tr[X+1>>0]=1,tr[X+2>>0]=1,tr[X+3>>0]=1,or[n+(~W<<1)>>1]=0|or[Z>>1],M=w+((0|br(E+-1|0,c))+T<<1)|0,or[n+(1-W-1<<1)>>1]=0|or[M>>1],M=w+((0|br(E+-2|0,c))+T<<1)|0,or[n+(2-W-1<<1)>>1]=0|or[M>>1],M=w+((0|br(E+-3|0,c))+T<<1)|0,or[n+(3-W-1<<1)>>1]=0|or[M>>1],g=g+4|0),(0|(W=W+-4|0))<=-1){x=f,P=g;break A}I=I+1|0}34==(0|H)?sr(48482,48519,118,48539):35==(0|H)&&sr(48543,48519,119,48539)}else P=x=0}while(0);A:do{if(F){f=0|br(q,p=e+-1|0),g=0|br(L,y=r+-1|0),B=b+((0|br(g>>u,a))+(f>>u)<<2)|0,B=(0|ar[B>>2])<=(0|K);do{if(0|tr[A+5944>>0]){if(H=0|ar[A+10368>>2],Z=f>>H,f=g>>H,(0|Z)<=-1&&sr(48482,48519,118,48539),(0|(g=0|ar[A+10372>>2]))<=(0|Z)&&sr(48482,48519,118,48539),(0|f)<=-1&&sr(48543,48519,119,48539),(0|f)<(0|ar[A+10376>>2])){if(H=(0|ar[A+10360>>2])+(3*((0|br(g,f))+Z|0)|0)|0,B&0==(768&(cr[H>>0]|cr[H+1>>0]<<8)))break;g=P,f=x;break A}sr(48543,48519,119,48539)}else if(!B){g=P,f=x;break A}}while(0);g=w+((0|br(c,y))+p<<1)|0,f=P?x:0|or[g>>1],or[n>>1]=0|or[g>>1],tr[v>>0]=1,g=P+1|0}else g=P,f=x}while(0);A:do{if(0<(0|Q)){_=0|br(L,V=r+-1|0),Y=A+5944|0,V=0|br(c,V),F=A+10368|0,R=A+10372|0,N=A+10376|0,G=A+10360|0,C=0|br(_>>u,a),W=I=0;e:for(;;){X=h+(65+(W<<2))|0;do{if((0|I)<(0|i)?d:l){if(Z=0|br(B=I+e|0,q),E=(0|ar[b+(C+(Z>>u)<<2)>>2])<=(0|K),0|tr[Y>>0]){if(p=0|ar[F>>2],Z>>=p,p=_>>p,(0|Z)<=-1){H=55;break e}if((0|(y=0|ar[R>>2]))<=(0|Z)){H=55;break e}if((0|p)<=-1){H=58;break e}if((0|p)>=(0|ar[N>>2])){H=58;break e}if(A=(0|ar[G>>2])+(3*((0|br(y,p))+Z|0)|0)|0,!(E&0==(768&(cr[A>>0]|cr[A+1>>0]<<8))))break}else if(!E)break;p=w+((Z=B+V|0)<<1)|0,g||(f=0|or[p>>1]),A=1|I,tr[X>>0]=1,tr[X+1>>0]=1,tr[X+2>>0]=1,tr[X+3>>0]=1,or[n+(A<<1)>>1]=0|or[p>>1],or[n+(A+1<<1)>>1]=0|or[w+(Z+1<<1)>>1],or[n+((3|I)<<1)>>1]=0|or[w+(Z+2<<1)>>1],or[n+(A+3<<1)>>1]=0|or[w+(Z+3<<1)>>1],g=g+4|0}}while(0);if((0|Q)<=(0|(I=I+4|0))){$=g,AA=f;break A}W=W+1|0}55==(0|H)?sr(48482,48519,118,48539):58==(0|H)&&sr(48543,48519,119,48539)}else $=g,AA=f}while(0);if((0|$)==(0|D))return ur=m;if(f=0|br(i,-2),!$){if((0|s)<(0|f))return ur=m;for(g=1<<k-1&65535;or[n+(f<<1)>>1]=g,(0|f)<(0|s);)f=f+1|0;return ur=m}0|tr[v+f>>0]||(or[n+(f<<1)>>1]=AA);if((0|(f|=1))>(0|s))return ur=m;for(;0|tr[v+f>>0]||(or[n+(f<<1)>>1]=0|or[n+(f+-1<<1)>>1]),(0|f)<(0|s);)f=f+1|0;ur=m}(A|=0,e|=0,r|=0,f|=0,n|=0,t=o+128|0);do{if(!(0|tr[A+5753>>0])){if(0|n&&3!=(0|ar[A+5776>>2]))break;tc(A,t,f,n,i)}}while(0);switch(0|i){case 0:if(s=0|ar[(0==(0|n)?A+40|0:A+44|0)>>2],b=(0|ar[A+4+(n<<2)>>2])+((0|br(s,r))+e<<1)|0,1<(0|f)){for(i=f,A=0;3<i>>>0;)i>>>=1,A=A+1|0;i=A+2|0}else i=1;if((0|f)<=0)return ur=o;r=f+-1|0,n=t+(f+1<<1)|0,a=t+(~f<<1)|0,e=0;do{for(c=t+(~e<<1)|0,l=r-e|0,u=0|br(e,s),e=e+1|0,A=0;w=0|br(0|lr[c>>1],r-A|0),A=(d=A)+1|0,h=0|br(0|lr[n>>1],A),k=0|br(0|lr[t+(A<<1)>>1],l),k=w+f+h+k+(0|br(0|lr[a>>1],e))>>i&65535,or[b+(d+u<<1)>>1]=k,(0|A)!=(0|f););}while((0|e)!=(0|f));return ur=o;case 1:return function(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,n|=0;var t,o,a,c,l=0;if(c=0|ar[((o=0==(0|(f|=0)))?A+40|0:A+44|0)>>2],a=(0|ar[A+4+(f<<2)>>2])+((0|br(c,r))+e<<1)|0,t=1<(0|i)){for(A=i,e=0;3<A>>>0;)A>>>=1,e=e+1|0;r=e+2|0}else r=1;if(f=0<(0|i))for(A=e=0;A=(0|lr[n+((e=(l=e)+1|0)<<1)>>1])+A+(0|lr[n+(~l<<1)>>1])|0,(0|e)!=(0|i););else A=0;if(r=A+i>>r,!((0|i)<32&o)){if(!f)return;r&=65535,e=0;do{for(f=0|br(e,c),A=0;or[a+(A+f<<1)>>1]=r,(0|(A=A+1|0))!=(0|i););e=e+1|0}while((0|e)!=(0|i));return}if(or[a>>1]=(2+(r<<1)+(0|lr[n+-2>>1])+(0|lr[n+2>>1])|0)>>>2,!t)return;e=2+(3*r|0)|0,A=1;for(;A=(l=A)+1|0,or[a+(l<<1)>>1]=(e+(0|lr[n+(A<<1)>>1])|0)>>>2,(0|A)!=(0|i););if(!t)return;e=2+(3*r|0)|0,A=1;for(;l=a+((0|br(A,c))<<1)|0,or[l>>1]=(e+(0|lr[n+(~A<<1)>>1])|0)>>>2,A=A+1|0,(0|A)!=(0|i););if(!t)return;r&=65535,A=1;do{for(f=0|br(A,c),e=1;or[a+(e+f<<1)>>1]=r,(0|(e=e+1|0))!=(0|i););A=A+1|0}while((0|A)!=(0|i))}(A,e,r,f,n,t),ur=o;default:(function(A,e,r,i,f,n,t){A|=0,e|=0,r|=0,i|=0,f|=0,t|=0;var o,a,c,l,u,b,s,d,k,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0;ur=(k=ur)+272|0,l=(w=k)+128|0,s=0|ar[((u=0==(0|(n|=0)))?A+40|0:A+44|0)>>2],o=0|ar[A+4+(n<<2)>>2],a=(0|br(s,r))+e<<1,d=o+a|0,b=0|ar[(u?A+5760|0:A+5768|0)>>2],35<=(0|i)&&sr(48302,48289,596,48319);(0|i)<=1&&sr(48344,48289,597,48319);c=0|ar[9568+(i<<2)>>2];do{if(0|tr[A+5750>>0]){if(n=0|ar[A+10368>>2],h=e>>n,n=r>>n,(0|h)<=-1&&sr(48482,48519,118,48539),(0|(e=0|ar[A+10372>>2]))<=(0|h)&&sr(48482,48519,118,48539),(0|n)<=-1&&sr(48543,48519,119,48539),(0|n)<(0|ar[A+10376>>2])){p=(0|ar[A+10360>>2])+(3*((0|br(e,n))+h|0)|0)|0,p=0==(2048&(cr[p>>0]|cr[p+1>>0]<<8));break}sr(48543,48519,119,48539)}else p=1}while(0);{if(n=(0|f)<0,17<(0|i)){if(n||hb(0|l,0|t,2+(f<<1)|0),(n=i+-11|0)>>>0<15){if(e=0|ar[9708+(n<<2)>>2],(0|(n=(0|br(c,f))>>5))<-1)for(;Z=t+(0-(128+(0|br(n,e))>>8)<<1)|0,or[l+(n<<1)>>1]=0|or[Z>>1],(0|n)<-1;)n=n+1|0}else(0|f)<(0|(n=f<<1))&&hb(w+(f+65<<1)|0,t+(f+1<<1)|0,0|n);if(!(g=0<(0|f)))return ur=k;Z=s<<1,m=w+130|0,r=f<<1,e=0;do{if(A=0|br(e=(n=e)+1|0,c),h=A>>5,A&=31,w=0|br(n,s),v=32-A|0,A)for(n=0;y=((B=0|br(0|lr[l+((y=n+h|0)+1<<1)>>1],v))+16+(0|br(0|lr[l+(y+2<<1)>>1],A))|0)>>>5&65535,or[d+(n+w<<1)>>1]=y,(0|(n=n+1|0))!=(0|f););else hb(o+(a+(0|br(Z,n)))|0,m+(h<<1)|0,0|r)}while((0|e)!=(0|f));if(!((0|f)<32&26==(0|i)&u&p&g))return ur=k;for(h=t+2|0,r=(e=1<<b)+65535|0,n=0;y=((0|lr[t+(~n<<1)>>1])-(0|lr[t>>1])>>1)+(0|lr[h>>1])|0,B=d+((0|br(n,s))<<1)|0,or[B>>1]=(0|y)<0?0:65535&((0|y)<(0|e)?y:r),(0|(n=n+1|0))!=(0|f););return ur=k}if(!n)for(n=0;or[l+(n<<1)>>1]=0|or[t+(0-n<<1)>>1],(0|n)!=(0|f);)n=n+1|0;if((n=i+-11|0)>>>0<15){if(e=0|ar[9708+(n<<2)>>2],(0|(n=(0|br(c,f))>>5))<-1)for(;B=t+(128+(0|br(n,e))>>8<<1)|0,or[l+(n<<1)>>1]=0|or[B>>1],(0|n)<-1;)n=n+1|0}else if((0|f)<(0|(e=f<<1)))for(n=f;or[l+((n=(B=n)+1|0)<<1)>>1]=0|or[t+(~B<<1)>>1],(0|n)!=(0|e););if(!(v=0<(0|f)))return ur=k;w=0;do{for(m=0|br(w,s),h=0;r=0|br(h=(A=h)+1|0,c),e=31&r,n=0|or[l+((r=(r>>5)+w|0)+1<<1)>>1],e&&(n=((n=0|br(65535&n,32-e|0))+16+(0|br(0|lr[l+(r+2<<1)>>1],e))|0)>>>5&65535),or[d+(A+m<<1)>>1]=n,(0|h)!=(0|f););w=w+1|0}while((0|w)!=(0|f));if(!((0|f)<32&10==(0|i)&u&p&v))return ur=k;for(h=t+-2|0,r=(e=1<<b)+65535|0,n=0;y=((0|lr[t+((n=(B=n)+1|0)<<1)>>1])-(0|lr[t>>1])>>1)+(0|lr[h>>1])|0,or[d+(B<<1)>>1]=(0|y)<0?0:65535&((0|y)<(0|e)?y:r),(0|n)!=(0|f););ur=k}})(A,e,r,i,f,n,t),ur=o}}(A,e,r,i,f,n):void function(A,e,r,i,f,n){i|=0;var t,o,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0;ur=(o=ur)+144|0,function(A,e,r,i,f,n){e|=0,r|=0,i|=0,n|=0;var t,o,a,c,l,u,b,s,d,k,h,w,v,m,g,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0,C=0,G=0,V=0,F=0,R=0,N=0,_=0,Y=0,Q=0,D=0,J=0,M=0,T=0,U=0,S=0,O=0,z=0,j=0,H=0,x=0,P=0,L=0,K=0,q=0,$=0,AA=0,eA=0,rA=0;ur=(g=ur)+144|0,m=(w=g)+64|0,v=0|ar[4+(A|=0)+((f|=0)<<2)>>2],s=0|ar[((f=0==(0|f))?A+40|0:A+44|0)>>2],q=f?AA=1:(AA=0|ar[A+5780>>2],0|ar[A+5784>>2]);h=0|ar[(f?A+5760|0:A+5768|0)>>2],D=0|br(AA,e),Y=0|br(q,r),G=0|ar[A+5804>>2],I=0|ar[A+5820>>2],R=(T=0!=(0|D))&(F=1^(B=0==(0|Y))),C=D+(0|br(AA,i))|0,J=0|ar[A+1248>>2],_=(0|C)<(0|J)&F,E=D>>G,y=Y>>G,X=D+-1>>G,C>>=G,G=Y+-1>>G,Z=0|ar[A+10352>>2],f=0|br(Z,y),p=0|ar[A+10340>>2],o=0|lr[p+(24*(f+E|0)|0)>>1],M=T?0|lr[p+(24*(f+X|0)|0)>>1]:-1;V=B?-1:(V=p+(24*((0|br(Z,G))+E|0)|0)|0,0|lr[V>>1]);N=_?(N=p+(24*((0|br(Z,G))+C|0)|0)|0,0|lr[N>>1]):-1;W=R?(W=p+(24*((0|br(Z,G))+X|0)|0)|0,0|lr[W>>1]):-1;f=0|br(y,I),y=0|ar[A+10308>>2],t=0|ar[y+(f+E<<2)>>2],Q=T?0|ar[y+(f+X<<2)>>2]:-1;Z=B?-1:(Z=y+((0|br(G,I))+E<<2)|0,0|ar[Z>>2]);p=R?(p=y+((0|br(G,I))+X<<2)|0,0|ar[p>>2]):-1;f=_?(f=y+((0|br(G,I))+C<<2)|0,0|ar[f>>2]):-1;k=(0|V)==(0|o)&(0|Z)==(0|t)&F,F=R&(0|W)==(0|o)&(0|p)==(0|t),c=_&(0|N)==(0|o)&(0|f)==(0|t),E=0|ar[(l=A+5864|0)>>2],B=0|ar[(u=A+5852|0)>>2],$=(0|br(Y>>E,B))+(D>>E)|0,y=0|ar[(b=A+10320|0)>>2],$=0|ar[y+($<<2)>>2],Z=(q+-1-Y+(0|ar[A+1252>>2])|0)/(0|q)|0,Y=(0|Z)>(0|(d=i<<1))?d:Z,D=(0|(D=(AA+-1-D+J|0)/(0|AA)|0))>(0|d)?d:D,vb(m+(J=0-d|0)|0,0,0|(a=i<<2|1)),f=Y+-1|0;A:do{if(0<(0|Y)&&(U=e+-1|0,S=0|br(AA,U),O=A+5944|0,z=A+10368|0,j=A+10372|0,H=A+10376|0,x=A+10360|0,T&(0|M)==(0|o)&(0|Q)==(0|t))){for(V=64-((0|Z)<(0|d)?Z:d)|0,G=p=Z=0;;){if(C=w+(V+(G<<2))|0,W=0|br(I=f+r|0,q),E=y+((0|br(W>>E,B))+(S>>E)<<2)|0,E=(0|ar[E>>2])<=(0|$),0|tr[O>>0]){if(y=0|ar[z>>2],X=S>>y,y=W>>y,(0|X)<=-1){P=35;break}if((0|(B=0|ar[j>>2]))<=(0|X)){P=35;break}if((0|y)<=-1){P=36;break}if((0|y)>=(0|ar[H>>2])){P=36;break}T=(0|ar[x>>2])+(3*((0|br(B,y))+X|0)|0)|0,E&0==(768&(cr[T>>0]|cr[T+1>>0]<<8))&&(P=29)}else E&&(P=29);if(29==(0|P)&&(y=v+(((P=0)|br(I,s))+U)|0,p||(Z=0|tr[y>>0]),tr[C>>0]=1,tr[C+1>>0]=1,tr[C+2>>0]=1,tr[C+3>>0]=1,tr[n+~f>>0]=0|tr[y>>0],T=v+((0|br(I+-1|0,s))+U)|0,tr[n+(1-f-1)>>0]=0|tr[T>>0],T=v+((0|br(I+-2|0,s))+U)|0,tr[n+(2-f-1)>>0]=0|tr[T>>0],T=v+((0|br(I+-3|0,s))+U)|0,tr[n+(3-f-1)>>0]=0|tr[T>>0],p=p+4|0),(0|(f=f+-4|0))<=-1){L=Z,K=p;break A}E=0|ar[l>>2],B=0|ar[u>>2],y=0|ar[b>>2],G=G+1|0}35==(0|P)?sr(48482,48519,118,48539):36==(0|P)&&sr(48543,48519,119,48539)}else K=L=0}while(0);A:do{if(F){f=0|br(AA,y=e+-1|0),E=0|ar[l>>2],Z=0|br(q,B=r+-1|0),E=(0|br(Z>>E,0|ar[u>>2]))+(f>>E)|0,E=(0|ar[(0|ar[b>>2])+(E<<2)>>2])<=(0|$);do{if(0|tr[A+5944>>0]){if(P=0|ar[A+10368>>2],p=f>>P,f=Z>>P,(0|p)<=-1&&sr(48482,48519,118,48539),(0|(Z=0|ar[A+10372>>2]))<=(0|p)&&sr(48482,48519,118,48539),(0|f)<=-1&&sr(48543,48519,119,48539),(0|f)<(0|ar[A+10376>>2])){if(P=(0|ar[A+10360>>2])+(3*((0|br(Z,f))+p|0)|0)|0,E&0==(768&(cr[P>>0]|cr[P+1>>0]<<8)))break;Z=K,f=L;break A}sr(48543,48519,119,48539)}else if(!E){Z=K,f=L;break A}}while(0);Z=v+((0|br(s,B))+y)|0,f=K?L:0|tr[Z>>0],tr[n>>0]=0|tr[Z>>0],tr[m>>0]=1,Z=K+1|0}else Z=K,f=L}while(0);A:do{if(0<(0|D)){_=0|br(q,V=r+-1|0),Y=A+5944|0,V=0|br(s,V),F=A+10368|0,R=A+10372|0,N=A+10376|0,G=A+10360|0,I=C=0;e:for(;;){W=w+(65+(I<<2))|0;do{if((0|C)<(0|i)?k:c){if(p=0|br(E=C+e|0,AA),X=0|ar[l>>2],X=(0|br(_>>X,0|ar[u>>2]))+(p>>X)|0,X=(0|ar[(0|ar[b>>2])+(X<<2)>>2])<=(0|$),0|tr[Y>>0]){if(y=0|ar[F>>2],p>>=y,y=_>>y,(0|p)<=-1){P=56;break e}if((0|(B=0|ar[R>>2]))<=(0|p)){P=56;break e}if((0|y)<=-1){P=59;break e}if((0|y)>=(0|ar[N>>2])){P=59;break e}if(A=(0|ar[G>>2])+(3*((0|br(B,y))+p|0)|0)|0,!(X&0==(768&(cr[A>>0]|cr[A+1>>0]<<8))))break}else if(!X)break;y=v+(p=E+V|0)|0,Z||(f=0|tr[y>>0]),A=1|C,tr[W>>0]=1,tr[W+1>>0]=1,tr[W+2>>0]=1,tr[W+3>>0]=1,tr[n+A>>0]=0|tr[y>>0],tr[n+(A+1)>>0]=0|tr[v+(p+1)>>0],tr[n+(3|C)>>0]=0|tr[v+(p+2)>>0],tr[n+(A+3)>>0]=0|tr[v+(p+3)>>0],Z=Z+4|0}}while(0);if((0|D)<=(0|(C=C+4|0))){eA=Z,rA=f;break A}I=I+1|0}56==(0|P)?sr(48482,48519,118,48539):59==(0|P)&&sr(48543,48519,119,48539)}else eA=Z,rA=f}while(0);if((0|eA)==(0|a))return ur=g;if(!eA)return vb(n+J|0,1<<h-1&255|0,0|a),ur=g;f=0|br(i,-2),0|tr[m+f>>0]||(tr[n+f>>0]=rA);if((0|(f|=1))>(0|d))return ur=g;for(;0|tr[m+f>>0]||(tr[n+f>>0]=0|tr[n+(f+-1)>>0]),(0|f)<(0|d);)f=f+1|0;ur=g}(A|=0,e|=0,r|=0,f|=0,n|=0,t=o+64|0);do{if(!(0|tr[A+5753>>0])){if(0|n&&3!=(0|ar[A+5776>>2]))break;nc(A,t,f,n,i)}}while(0);switch(0|i){case 0:if(s=0|ar[(0==(0|n)?A+40|0:A+44|0)>>2],b=(0|ar[A+4+(n<<2)>>2])+((0|br(s,r))+e)|0,1<(0|f)){for(i=f,A=0;3<i>>>0;)i>>>=1,A=A+1|0;i=A+2|0}else i=1;if((0|f)<=0)return ur=o;r=f+-1|0,n=t+(f+1)|0,a=t+~f|0,e=0;do{for(c=t+~e|0,l=r-e|0,u=0|br(e,s),e=e+1|0,A=0;w=0|br(0|cr[c>>0],r-A|0),A=(d=A)+1|0,h=0|br(0|cr[n>>0],A),k=0|br(0|cr[t+A>>0],l),k=w+f+h+k+(0|br(0|cr[a>>0],e))>>i&255,tr[b+(d+u)>>0]=k,(0|A)!=(0|f););}while((0|e)!=(0|f));return ur=o;case 1:return function(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,n|=0;var t,o,a,c,l,u,b=0,s=0,d=0;if(u=0|ar[((o=0==(0|(f|=0)))?A+40|0:A+44|0)>>2],l=0|ar[A+4+(f<<2)>>2],t=(0|br(u,r))+e|0,a=l+t|0,c=1<(0|i)){for(A=i,f=0;3<A>>>0;)A>>>=1,f=f+1|0;b=f+2|0}else b=1;if(s=0<(0|i))for(A=f=0;A=(0|cr[n+(f=(d=f)+1|0)>>0])+A+(0|cr[n+~d>>0])|0,(0|f)!=(0|i););else A=0;if(b=A+i>>b,!((0|i)<32&o)){if(!s)return;for(f=255&b,A=0;vb(l+(t+(0|br(u,A)))|0,0|f,0|i),(0|(A=A+1|0))!=(0|i););return}if(tr[a>>0]=(2+(b<<1)+(0|cr[n+-1>>0])+(0|cr[n+1>>0])|0)>>>2,!c)return;f=2+(3*b|0)|0,A=1;for(;A=(d=A)+1|0,tr[a+d>>0]=(f+(0|cr[n+A>>0])|0)>>>2,(0|A)!=(0|i););if(!c)return;f=2+(3*b|0)|0,A=1;for(;d=a+(0|br(A,u))|0,tr[d>>0]=(f+(0|cr[n+~A>>0])|0)>>>2,A=A+1|0,(0|A)!=(0|i););if(!c)return;s=255&b,b=(0|br(u,r+1|0))+e+1|0,A=i+-1|0,f=0;for(;vb(l+(b+(0|br(u,f)))|0,0|s,0|A),f=f+1|0,(0|f)!=(0|A););}(A,e,r,f,n,t),ur=o;default:(function(A,e,r,i,f,n,t){A|=0,e|=0,r|=0,i|=0,f|=0,t|=0;var o,a,c,l,u,b,s,d,k,h=0,w=0,v=0,m=0,g=0,Z=0,p=0;ur=(k=ur)+144|0,l=(w=k)+64|0,s=0|ar[((u=0==(0|(n|=0)))?A+40|0:A+44|0)>>2],o=0|ar[A+4+(n<<2)>>2],a=(0|br(s,r))+e|0,d=o+a|0,b=0|ar[(u?A+5760|0:A+5768|0)>>2],35<=(0|i)&&sr(48302,48289,596,48319);(0|i)<=1&&sr(48344,48289,597,48319);c=0|ar[9568+(i<<2)>>2];do{if(0|tr[A+5750>>0]){if(n=0|ar[A+10368>>2],h=e>>n,n=r>>n,(0|h)<=-1&&sr(48482,48519,118,48539),(0|(e=0|ar[A+10372>>2]))<=(0|h)&&sr(48482,48519,118,48539),(0|n)<=-1&&sr(48543,48519,119,48539),(0|n)<(0|ar[A+10376>>2])){g=(0|ar[A+10360>>2])+(3*((0|br(e,n))+h|0)|0)|0,g=0==(2048&(cr[g>>0]|cr[g+1>>0]<<8));break}sr(48543,48519,119,48539)}else g=1}while(0);{if(n=(0|f)<0,17<(0|i)){if(n||hb(0|l,0|t,f+1|0),(n=i+-11|0)>>>0<15){if(e=0|ar[9708+(n<<2)>>2],(0|(n=(0|br(c,f))>>5))<-1)for(;m=t+(0-(128+(0|br(n,e))>>8))|0,tr[l+n>>0]=0|tr[m>>0],(0|n)<-1;)n=n+1|0}else(0|f)<(f<<1|0)&&hb(w+(f+65)|0,t+(f+1)|0,0|f);if(!(m=0<(0|f)))return ur=k;v=w+65|0,n=0;do{if(r=0|br(s,n),A=0|br(n=n+1|0,c),h=A>>5,w=32-(A&=31)|0,A)for(e=0;Z=((p=0|br(0|cr[l+((Z=e+h|0)+1)>>0],w))+16+(0|br(0|cr[l+(Z+2)>>0],A))|0)>>>5&255,tr[d+(e+r)>>0]=Z,(0|(e=e+1|0))!=(0|f););else hb(o+(a+r)|0,v+h|0,0|f)}while((0|n)!=(0|f));if(!((0|f)<32&26==(0|i)&u&g&m))return ur=k;for(h=t+1|0,e=(r=1<<b)+255|0,n=0;Z=((0|cr[t+~n>>0])-(0|cr[t>>0])>>1)+(0|cr[h>>0])|0,p=d+(0|br(n,s))|0,tr[p>>0]=(0|Z)<0?0:255&((0|Z)<(0|r)?Z:e),(0|(n=n+1|0))!=(0|f););return ur=k}if(!n)for(n=0;tr[l+n>>0]=0|tr[t+(0-n)>>0],(0|n)!=(0|f);)n=n+1|0;if((n=i+-11|0)>>>0<15){if(e=0|ar[9708+(n<<2)>>2],(0|(n=(0|br(c,f))>>5))<-1)for(;p=t+(128+(0|br(n,e))>>8)|0,tr[l+n>>0]=0|tr[p>>0],(0|n)<-1;)n=n+1|0}else if((0|f)<(0|(e=f<<1)))for(n=f;tr[l+(n=(p=n)+1|0)>>0]=0|tr[t+~p>>0],(0|n)!=(0|e););if(!(v=0<(0|f)))return ur=k;w=0;do{for(m=0|br(w,s),h=0;r=0|br(h=(A=h)+1|0,c),e=31&r,n=0|tr[l+((r=(r>>5)+w|0)+1)>>0],e&&(n=((n=0|br(255&n,32-e|0))+16+(0|br(0|cr[l+(r+2)>>0],e))|0)>>>5&255),tr[d+(A+m)>>0]=n,(0|h)!=(0|f););w=w+1|0}while((0|w)!=(0|f));if(!((0|f)<32&10==(0|i)&u&g&v))return ur=k;for(h=t+-1|0,r=(e=1<<b)+255|0,n=0;Z=((0|cr[t+(n=(p=n)+1|0)>>0])-(0|cr[t>>0])>>1)+(0|cr[h>>0])|0,tr[d+p>>0]=(0|Z)<0?0:255&((0|Z)<(0|e)?Z:r),(0|n)!=(0|f););ur=k}})(A,e,r,i,f,n,t),ur=o}}(A,e,r,i,f,n)}function Vt(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=5196,ar[(r=A+16|0)>>2]=5224,0|(i=0|ar[A+84>>2])&&((0|ar[(f=A+88|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i)),(0|tr[(i=A+72|0)+11>>0])<0&&vu(0|ar[i>>2]),ar[r>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(;n=f+-8|0,ar[t>>2]=n,(0|(f=(f=0|ar[f+-4>>2])?(du(f),0|ar[t>>2]):n))!=(0|i););i=0|ar[e>>2]}vu(i)}ar[r>>2]=4264,(i=0|ar[A+40>>2])&&((0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i)),tu()}function Ft(A){var e=0,r=0,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=5104,0|(e=0|ar[(n=A+56|0)>>2])){if((0|(r=0|ar[(t=A+60|0)>>2]))!=(0|e)){for(i=r;r=i+-16|0,ar[t>>2]=r,(f=0|ar[i+-12>>2])&&((0|(i=0|ar[(r=i+-8|0)>>2]))!=(0|f)&&(ar[r>>2]=i+(~((i+-4-f|0)>>>2)<<2)),vu(f),r=0|ar[t>>2]),(0|r)!=(0|e);)i=r;e=0|ar[n>>2]}vu(e)}if(ar[A>>2]=4404,0|(e=0|ar[(f=A+44|0)>>2])){if((0|(r=0|ar[(n=A+48|0)>>2]))!=(0|e)){for(;i=r+-8|0,ar[n>>2]=i,(0|(r=(r=0|ar[r+-4>>2])?(du(r),0|ar[n>>2]):i))!=(0|e););e=0|ar[f>>2]}vu(e)}ar[A>>2]=4264,(r=0|ar[A+24>>2])&&((0|ar[(e=A+28|0)>>2])!=(0|r)&&(ar[e>>2]=r),vu(r))}function Rt(A,e){e|=0;var r,i=0,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0;r=(A|=0)+4|0,i=0|ar[A>>2],268435455<(f=(o=(0|ar[r>>2])-i>>4)+1|0)>>>0&&zl(),i=(a=(0|ar[(c=A+8|0)>>2])-i|0)>>3,i=a>>4>>>0<134217727?i>>>0<f>>>0?f:i:268435455;do{if(i){if(!(268435455<i>>>0)){t=0|hu(i<<4);break}Zu(c=0|X(8),44519),ar[c>>2]=17660,I(0|c,4016,428)}else t=0}while(0);if(a=t+(i<<4)|0,ar[(n=f=t+(o<<4)|0)>>2]=ar[e>>2],function(A,e){e|=0;var r,i,f,n,t=0;if(ar[(A|=0)>>2]=0,ar[(n=A+4|0)>>2]=0,ar[A+8>>2]=0,t=(0|ar[(f=e+4|0)>>2])-(0|ar[e>>2])|0,!(r=t>>2))return;1073741823<r>>>0&&zl();if(i=0|hu(t),ar[n>>2]=i,ar[A>>2]=i,ar[A+8>>2]=i+(r<<2),A=0|ar[e>>2],(0|(t=(0|ar[f>>2])-A|0))<=0)return;hb(0|i,0|A,0|t),ar[n>>2]=i+(t>>>2<<2)}(t+(o<<4)+4|0,e+4|0),e=f+16|0,t=0|ar[A>>2],(0|(i=0|ar[r>>2]))==(0|t))f=n,i=o=t;else{for(;i=(u=i)+-16|0,ar[f+-16>>2]=ar[i>>2],o=u+-12|0,ar[(l=f+-12|0)>>2]=0,ar[(b=f+-8|0)>>2]=0,ar[f+-4>>2]=0,ar[l>>2]=ar[o>>2],l=u+-8|0,ar[b>>2]=ar[l>>2],u=u+-4|0,ar[f+-4>>2]=ar[u>>2],ar[u>>2]=0,ar[l>>2]=0,n=f=n+-16|(ar[o>>2]=0),(0|i)!=(0|t););f=n,o=0|ar[A>>2],i=0|ar[r>>2]}if(ar[A>>2]=f,ar[r>>2]=e,ar[c>>2]=a,(0|i)!=(0|(e=o)))for(;0|(f=0|ar[i+-12>>2])&&((0|(t=0|ar[(n=i+-8|0)>>2]))!=(0|f)&&(ar[n>>2]=t+(~((t+-4-f|0)>>>2)<<2)),vu(f)),(0|(i=i+-16|0))!=(0|e););o&&vu(o)}function Nt(A,e){e|=0;var r,i,f,n,t,o,a=0,c=0,l=0,u=0;n=(A|=0)+4|0,u=t=0|ar[A>>2],1073741823<(a=1+(i=(o=(0|ar[n>>2])-t|0)>>2)|0)>>>0&&zl(),c=(l=(0|ar[(f=A+8|0)>>2])-t|0)>>1,c=l>>2>>>0<536870911?c>>>0<a>>>0?a:c:1073741823;do{if(c){if(!(1073741823<c>>>0)){l=0|hu(c<<2);break}Zu(u=0|X(8),44519),ar[u>>2]=17660,I(0|u,4016,428)}else l=0}while(0);r=l+(i<<2)|0,a=lr[e>>1]|lr[e+2>>1]<<16,or[r>>1]=a,or[2+r>>1]=a>>>16,a=r+(0-i<<2)|0,0<(0|o)&&hb(0|a,0|u,0|o),ar[A>>2]=a,ar[n>>2]=4+r,ar[f>>2]=l+(c<<2),t&&vu(u)}function _t(A){var e,r=0,i=0,f=0,n=0;if(ar[(A|=0)>>2]=4924,(0|tr[(r=A+112|0)+11>>0])<0&&vu(0|ar[r>>2]),(0|tr[(r=A+100|0)+11>>0])<0&&vu(0|ar[r>>2]),(0|tr[(r=A+88|0)+11>>0])<0&&vu(0|ar[r>>2]),(0|tr[(r=A+76|0)+11>>0])<0&&vu(0|ar[r>>2]),(0|tr[(r=A+64|0)+11>>0])<0&&vu(0|ar[r>>2]),ar[A>>2]=4404,0|(r=0|ar[(e=A+44|0)>>2])){if((0|(i=0|ar[(n=A+48|0)>>2]))!=(0|r)){for(;f=i+-8|0,ar[n>>2]=f,(0|(i=(i=0|ar[i+-4>>2])?(du(i),0|ar[n>>2]):f))!=(0|r););r=0|ar[e>>2]}vu(r)}ar[A>>2]=4264,(i=0|ar[A+24>>2])&&((0|ar[(r=A+28|0)>>2])!=(0|i)&&(ar[r>>2]=i),vu(i))}function Yt(A){var e,r=0,i=0,f=0,n=0,t=0,o=0,a=0,c=0;if(ar[(A|=0)>>2]=4804,0|(r=0|ar[(e=A+56|0)>>2])){if((0|(i=0|ar[(c=A+60|0)>>2]))!=(0|r)){for(f=i;;){if(i=f+-32|0,ar[c>>2]=i,o=0|ar[(a=f+-16|0)>>2]){if((0|(i=0|ar[(t=f+-12|0)>>2]))==(0|o))i=o;else{for(;f=i+-40|0,ar[t>>2]=f,(0|(i=(n=0|ar[i+-16>>2])?((0|ar[(i=i+-12|0)>>2])!=(0|n)&&(ar[i>>2]=n),vu(n),0|ar[t>>2]):f))!=(0|o););i=0|ar[a>>2]}vu(i),i=0|ar[c>>2]}if((0|i)==(0|r))break;f=i}r=0|ar[e>>2]}vu(r)}if(ar[A>>2]=4404,0|(r=0|ar[(n=A+44|0)>>2])){if((0|(i=0|ar[(t=A+48|0)>>2]))!=(0|r)){for(;f=i+-8|0,ar[t>>2]=f,(0|(i=(i=0|ar[i+-4>>2])?(du(i),0|ar[t>>2]):f))!=(0|r););r=0|ar[n>>2]}vu(r)}ar[A>>2]=4264,(i=0|ar[A+24>>2])&&((0|ar[(r=A+28|0)>>2])!=(0|i)&&(ar[r>>2]=i),vu(i))}function Qt(A,e){e|=0;var r,i,f,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0;b=0|ar[(d=(A|=0)+4|0)>>2],n=t=0|ar[A>>2],107374182<(o=(u=((a=b)-t|0)/40|0)+1|0)>>>0&&zl(),c=(s=((0|ar[(f=A+8|0)>>2])-t|0)/40|0)<<1,c=s>>>0<53687091?c>>>0<o>>>0?o:c:107374182;do{if(c){if(!(107374182<c>>>0)){l=0|hu(40*c|0);break}Zu(d=0|X(8),44519),ar[d>>2]=17660,I(0|d,4016,428)}else l=0}while(0);s=l+(40*c|0)|0,ar[(o=t=l+(40*u|0)|0)>>2]=ar[e>>2],ar[t+4>>2]=ar[e+4>>2],ar[t+8>>2]=ar[e+8>>2],ar[t+12>>2]=ar[e+12>>2],ar[t+16>>2]=ar[e+16>>2],ar[t+20>>2]=ar[e+20>>2],ar[(r=l+(40*u|0)+24|0)>>2]=0,ar[(i=l+(40*u|0)+28|0)>>2]=0,k=(ar[l+(40*u|0)+32>>2]=0)|ar[e+24>>2],c=(0|ar[e+28>>2])-k|0,e=k;do{if(0|c){if(!((0|c)<0)){h=0|hu(c),ar[i>>2]=h,k=(ar[r>>2]=h)+c|0,ar[l+(40*u|0)+32>>2]=k,hb(0|h,0|e,0|c),ar[i>>2]=k;break}zl()}}while(0);if(e=t+40|0,(0|a)==(0|n))c=b;else{for(;a=(b=a)+-40|0,ar[(k=t+-40|0)>>2]=ar[a>>2],ar[k+4>>2]=ar[a+4>>2],ar[k+8>>2]=ar[a+8>>2],ar[k+12>>2]=ar[a+12>>2],ar[k+16>>2]=ar[a+16>>2],ar[k+20>>2]=ar[a+20>>2],h=b+-16|0,ar[(k=t+-16|0)>>2]=0,ar[(u=t+-12|0)>>2]=0,ar[t+-8>>2]=0,ar[k>>2]=ar[h>>2],k=b+-12|0,ar[u>>2]=ar[k>>2],b=b+-8|0,ar[t+-8>>2]=ar[b>>2],ar[b>>2]=0,ar[k>>2]=0,o=t=o+-40|(ar[h>>2]=0),(0|a)!=(0|n););c=0|ar[A>>2],n=0|ar[d>>2]}if(ar[A>>2]=o,ar[d>>2]=e,ar[f>>2]=s,(0|n)!=(0|(a=c)))for(;0|(t=0|ar[n+-16>>2])&&((0|ar[(o=n+-12|0)>>2])!=(0|t)&&(ar[o>>2]=t),vu(t)),(0|(n=n+-40|0))!=(0|a););c&&vu(c)}function Dt(A,e){e|=0;var r,i,f,n=0;ar[(A|=0)>>2]=0,ar[(r=A+4|0)>>2]=0,f=((ar[A+8>>2]=0)|(n=(0|ar[(i=e+4|0)>>2])-(0|ar[e>>2])|0))/40|0,n&&(107374182<f>>>0&&zl(),n=0|hu(n),ar[r>>2]=n,ar[A>>2]=n,ar[A+8>>2]=n+(40*f|0),function(A,e,r,i){i|=0;var f,n=0,t=0,o=0,a=0,c=0;if(f=4+(A|=0)|0,(0|(e|=0))==(0|(r|=0)))return;i=0|ar[f>>2];for(;;){if(ar[i>>2]=ar[e>>2],ar[i+4>>2]=ar[e+4>>2],ar[i+8>>2]=ar[e+8>>2],ar[i+12>>2]=ar[e+12>>2],ar[i+16>>2]=ar[e+16>>2],ar[i+20>>2]=ar[e+20>>2],n=e+24|0,ar[(o=i+24|0)>>2]=0,ar[(c=i+28|0)>>2]=0,(ar[i+32>>2]=0)|(A=(0|ar[(t=e+28|0)>>2])-(0|ar[n>>2])|0)){if((0|A)<0){A=5;break}a=0|hu(A),ar[c>>2]=a,ar[o>>2]=a,ar[i+32>>2]=a+A,i=0|ar[n>>2],0<(0|(A=(0|ar[t>>2])-i|0))&&(hb(0|a,0|i,0|A),ar[c>>2]=a+A)}if(e=e+40|0,i=40+(0|ar[f>>2])|0,ar[f>>2]=i,(0|e)==(0|r)){A=9;break}}if(5==(0|A))zl();else if(9==(0|A));}(A,0|ar[e>>2],0|ar[i>>2],f))}function Jt(A,e){e|=0;var r,i=0,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0;r=(A|=0)+4|0,i=0|ar[A>>2],134217727<(f=(o=(0|ar[r>>2])-i>>5)+1|0)>>>0&&zl(),i=(c=(0|ar[(l=A+8|0)>>2])-i|0)>>4,i=c>>5>>>0<67108863?i>>>0<f>>>0?f:i:134217727;do{if(i){if(!(134217727<i>>>0)){t=0|hu(i<<5);break}Zu(l=0|X(8),44519),ar[l>>2]=17660,I(0|l,4016,428)}else t=0}while(0);if(a=t+(i<<5)|0,ar[(n=f=t+(o<<5)|0)>>2]=ar[e>>2],ar[f+4>>2]=ar[e+4>>2],ar[f+8>>2]=ar[e+8>>2],ar[f+12>>2]=ar[e+12>>2],Dt(t+(o<<5)+16|0,e+16|0),e=f+32|0,t=0|ar[A>>2],(0|(i=0|ar[r>>2]))==(0|t))i=n,f=c=t;else{for(;i=(u=i)+-32|0,ar[(o=f+-32|0)>>2]=ar[i>>2],ar[o+4>>2]=ar[i+4>>2],ar[o+8>>2]=ar[i+8>>2],ar[o+12>>2]=ar[i+12>>2],c=u+-16|0,ar[(o=f+-16|0)>>2]=0,ar[(b=f+-12|0)>>2]=0,ar[f+-8>>2]=0,ar[o>>2]=ar[c>>2],o=u+-12|0,ar[b>>2]=ar[o>>2],u=u+-8|0,ar[f+-8>>2]=ar[u>>2],ar[u>>2]=0,ar[o>>2]=0,n=f=n+-32|(ar[c>>2]=0),(0|i)!=(0|t););i=n,c=0|ar[A>>2],f=0|ar[r>>2]}if(ar[A>>2]=i,ar[r>>2]=e,ar[l>>2]=a,(0|f)!=(0|(A=c))){a=f;do{if(0|(i=0|ar[(e=a+-16|0)>>2])){if((0|(f=0|ar[(o=a+-12|0)>>2]))!=(0|i)){for(;n=f+-40|0,ar[o>>2]=n,(0|(f=(t=0|ar[f+-16>>2])?((0|ar[(f=f+-12|0)>>2])!=(0|t)&&(ar[f>>2]=t),vu(t),0|ar[o>>2]):n))!=(0|i););i=0|ar[e>>2]}vu(i)}a=a+-32|0}while((0|a)!=(0|A))}c&&vu(c)}function Mt(A){var e;ar[(A|=0)>>2]=4264,e=A+8|0,ar[A+40>>2]=0,ar[e>>2]=0,ar[4+e>>2]=0,ar[8+e>>2]=0,ar[12+e>>2]=0,ar[16+e>>2]=0,ar[20+e>>2]=0,ar[24+e>>2]=0,or[28+e>>1]=0}function Tt(A,e,r){A|=0,r|=0;var i,f=0;f=0|ar[(e|=0)+44>>2],i=0|ar[e+48>>2];A:do{if((0|f)!=(0|i)){for(e=f;f=0|ar[e>>2],(0|ar[f+20>>2])!=(0|r);)if((0|(e=e+8|0))==(0|i))break A;return(ar[A>>2]=f,e=0|ar[e+4>>2],ar[A+4>>2]=e)?void bu(e):void 0}}while(0);ar[A>>2]=0,ar[A+4>>2]=0}function Ut(A,e){e|=0;var r,i,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0;f=0|ar[(u=(A|=0)+4|0)>>2],c=n=0|ar[A>>2],536870911<(t=1+(r=f-n>>3)|0)>>>0&&zl(),o=(l=(0|ar[(i=A+8|0)>>2])-n|0)>>2,o=l>>3>>>0<268435455?o>>>0<t>>>0?t:o:536870911;do{if(o){if(!(536870911<o>>>0)){a=0|hu(o<<3);break}Zu(u=0|X(8),44519),ar[u>>2]=17660,I(0|u,4016,428)}else a=0}while(0);if(l=a+(o<<3)|0,ar[(t=n=a+(r<<3)|0)>>2]=ar[e>>2],o=0|ar[e+4>>2],o=(ar[a+(r<<3)+4>>2]=o)?(bu(o),f=0|ar[u>>2],0|ar[A>>2]):c,a=n+8|0,(0|f)!=(0|o)){for(;f=(c=f)+-8|0,ar[n+-8>>2]=ar[f>>2],c=c+-4|0,ar[n+-4>>2]=ar[c>>2],ar[f>>2]=0,t=n=t+-8|(ar[c>>2]=0),(0|f)!=(0|o););o=0|ar[A>>2],f=0|ar[u>>2]}if(ar[A>>2]=t,ar[u>>2]=a,ar[i>>2]=l,(0|f)!=(0|(t=o)))for(;n=0|ar[f+-4>>2],f=f+-8|0,0|n&&du(n),(0|f)!=(0|t););o&&vu(o)}function St(A,e){e|=0;var r=0;if((0|(r=0|ar[(A|=0)+64>>2]))==(0|(A=0|ar[A+68>>2])))return(e=0)|e;for(;;){if((0|ar[r>>2])==(0|e)){r=1,A=4;break}if((0|(r=r+4|0))==(0|A)){r=0,A=4;break}}return 4==(0|A)?0|r:0}function Ot(A,e,r,i,f,n){A|=0,e|=0,i|=0,f|=0,n|=0;var t,o,a,c,l,u,b,s,d,k,h,w,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0,C=0,G=0,V=0,F=0,R=0,N=0,_=0,Y=0;ur=(w=ur)+272|0,k=w+252|0,h=w+72|0,b=w+240|0,s=w+228|0,d=w+216|0,c=w+56|0,l=w+44|0,t=w+24|0,o=w+16|0,u=w,e=0|ar[(r|=0)+16>>2],a=0|ar[r+20>>2];A:do{if((0|e)!=(0|a)){F=r+4|0,V=n+4|0,R=r+8|0,E=4+o|0,X=i+4|0,I=(W=8+t|0)+11|0;e:for(;;){switch(0|tr[F>>0]){case 0:if(C=(0|ar[V>>2])-(0|ar[n>>2])|0,m=0|ar[(g=B=e+16|0)>>2],0<(g=0|ar[g+4>>2])>>>0|0==(0|g)&(536870912-C|0)>>>0<m>>>0){e=5;break e}if(Z=0|ar[(p=y=e+8|0)>>2],8388607<(p=0|ar[p+4>>2])>>>0|8388607==(0|p)&4294967295<Z>>>0){e=14;break e}if(r=0|ar[(v=R)>>2],8388607<(N=(v=0|ar[v+4>>2])|g)>>>0|8388607==(0|N)&4294967295<(r|m)>>>0){e=14;break e}switch(_=0|ar[i>>2],Y=0|ar[12+(0|ar[_>>2])>>2],N=0|tb(0|tb(0|Z,0|p,0|m,0|g),0|D,0|r,0|v),0|xb[63&Y](_,N,D)){case 2:e=17;break e;case 1:e=26;break e}if(_=0|ar[i>>2],N=0|ar[20+(0|ar[_>>2])>>2],Y=y,Y=0|tb(0|ar[(y=R)>>2],0|ar[y+4>>2],0|ar[Y>>2],0|ar[Y+4>>2]),!(0|xb[63&N](_,Y,D))){e=29;break e}if((m=0|tb(0|(v=0|ar[(m=B)>>2]),0|ar[m+4>>2],0|C,0))>>>0<=(g=(Z=0|ar[V>>2])-(r=0|ar[n>>2])|0)>>>0?m>>>0<g>>>0&&(0|Z)!=(0|(G=r+m|0))&&(ar[V>>2]=G):(TA(n,m-g|0),v=0|ar[B>>2],r=0|ar[n>>2]),Y=0|ar[i>>2],0|xb[63&ar[16+(0|ar[Y>>2])>>2]](Y,r+C|0,v))break;e=36;break e;case 1:if(!(r=0|ar[f>>2])){e=38;break e}ar[o>>2]=ar[i>>2],v=0|ar[X>>2],(m=0==(0|(ar[E>>2]=v)))||bu(v),_=e+8|0,Y=e+16|0,zt(t,r,o,0|tb(0|ar[(N=R)>>2],0|ar[N+4>>2],0|ar[_>>2],0|ar[_+4>>2]),D,0|ar[Y>>2],0|ar[Y+4>>2],n),(0|tr[I>>0])<0&&vu(0|ar[W>>2]),m||du(v);break;default:e=46;break e}if((0|(e=e+40|0))==(0|a))break A}if(5==(0|e))return r=64+h|0,ar[(m=8+h|0)>>2]=4524,v=12+h|0,ar[h>>2]=188,ar[r>>2]=208,Jf(64+h|(ar[4+h>>2]=0),v),ar[136+h>>2]=0,ar[140+h>>2]=-1,ar[h>>2]=4504,ar[r>>2]=4544,ar[m>>2]=4524,Sf(v),ar[v>>2]=4340,ar[(m=44+h|0)>>2]=0,ar[m+4>>2]=0,ar[m+8>>2]=0,ar[m+12>>2]=0,ar[60+h>>2]=24,ar[k>>2]=0,ar[4+k>>2]=0,ar[8+k>>2]=0,Xe(v,k),(0|tr[11+k>>0])<0&&vu(0|ar[k>>2]),Y=0|We(e=8+h|0,23479,19),_=0|We(0|Kf(Y,0|ar[(_=B)>>2],0|ar[_+4>>2]),23499,35),We(0|Pf(0|We(0|Kf(_,Y=0|tb(0|ar[(Y=B)>>2],0|ar[Y+4>>2],0|C,0),D),23535,40),536870912),23576,6),Ie(b,v),oo(A,6,1e3,b),(0|tr[11+b>>0])<0&&vu(0|ar[b>>2]),ar[h>>2]=4504,ar[r>>2]=4544,ar[e>>2]=4524,ar[v>>2]=4340,(0|tr[m+11>>0])<0&&vu(0|ar[m>>2]),kf(v),bf(r),void(ur=w);if(14==(0|e)){for(e=0|hu(48),ar[s>>2]=e,ar[8+s>>2]=-2147483600,v=23583,m=(r=e)+(ar[4+s>>2]=39)|0;tr[r>>0]=0|tr[v>>0],v=v+1|0,(0|(r=r+1|0))<(0|m););return(tr[e+39>>0]=0,oo(A,2,1e3,s),0<=(0|tr[11+s>>0]))?void(ur=w):(vu(0|ar[s>>2]),void(ur=w))}if(17==(0|e))return e=0|ar[n>>2],(0|ar[V>>2])!=(0|e)&&(ar[V>>2]=e),r=64+h|0,ar[(m=8+h|0)>>2]=4524,v=12+h|0,ar[h>>2]=188,ar[r>>2]=208,Jf(64+h|(ar[4+h>>2]=0),v),ar[136+h>>2]=0,ar[140+h>>2]=-1,ar[h>>2]=4504,ar[r>>2]=4544,ar[m>>2]=4524,Sf(v),ar[v>>2]=4340,ar[(m=44+h|0)>>2]=0,ar[m+4>>2]=0,ar[m+8>>2]=0,ar[m+12>>2]=0,ar[60+h>>2]=24,ar[k>>2]=0,ar[4+k>>2]=0,ar[8+k>>2]=0,Xe(v,k),(0|tr[11+k>>0])<0&&vu(0|ar[k>>2]),_=0|We(0|We(e=8+h|0,23623,58),23682,25),Y=y,We(0|Kf(_,Y=0|tb(0|ar[(N=R)>>2],0|ar[N+4>>2],0|ar[Y>>2],0|ar[Y+4>>2]),D),18904,2),Ie(d,v),oo(A,2,100,d),(0|tr[11+d>>0])<0&&vu(0|ar[d>>2]),ar[h>>2]=4504,ar[r>>2]=4544,ar[e>>2]=4524,ar[v>>2]=4340,(0|tr[m+11>>0])<0&&vu(0|ar[m>>2]),kf(v),bf(r),void(ur=w);if(26==(0|e))return ar[c>>2]=0,ar[4+c>>2]=0,ar[8+c>>2]=0,oo(A,2,100,c),0<=(0|tr[11+c>>0])||vu(0|ar[c>>2]),void(ur=w);if(29==(0|e))sr(23708,19104,1114,23716);else if(36==(0|e))sr(23708,19104,1122,23716);else{if(38==(0|e)){for(e=0|hu(64),ar[l>>2]=e,ar[8+l>>2]=-2147483584,v=23726,m=(r=e)+(ar[4+l>>2]=54)|0;tr[r>>0]=0|tr[v>>0],v=v+1|0,(0|(r=r+1|0))<(0|m););return(tr[e+54>>0]=0,oo(A,2,103,l),0<=(0|tr[11+l>>0]))?void(ur=w):(vu(0|ar[l>>2]),void(ur=w))}if(46==(0|e))return e=64+h|0,ar[(v=8+h|0)>>2]=4524,r=12+h|0,ar[h>>2]=188,ar[e>>2]=208,Jf(64+h|(ar[4+h>>2]=0),r),ar[136+h>>2]=0,ar[140+h>>2]=-1,ar[h>>2]=4504,ar[e>>2]=4544,ar[v>>2]=4524,Sf(r),ar[r>>2]=4340,ar[(v=44+h|0)>>2]=0,ar[v+4>>2]=0,ar[v+8>>2]=0,ar[v+12>>2]=0,ar[60+h>>2]=24,ar[k>>2]=0,ar[4+k>>2]=0,ar[8+k>>2]=0,Xe(r,k),(0|tr[11+k>>0])<0&&vu(0|ar[k>>2]),Y=0|We(m=8+h|0,23781,25),tr[k>>0]=0|tr[F>>0],We(0|We(Y,k,1),23807,16),Ie(u,r),oo(A,4,103,u),(0|tr[u+11>>0])<0&&vu(0|ar[u>>2]),ar[h>>2]=4504,ar[e>>2]=4544,ar[m>>2]=4524,ar[r>>2]=4340,(0|tr[v+11>>0])<0&&vu(0|ar[v>>2]),kf(r),bf(e),void(ur=w)}}}while(0);_=0|ar[(N=56592)+4>>2],ar[(Y=A)>>2]=ar[N>>2],ar[Y+4>>2]=_,yu(A+8|0,56600),ur=w}function zt(A,e,r,i,f,n,t,o){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var a,c,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0;return ur=(c=ur)+208|0,s=c+192|0,k=c+48|0,d=c+36|0,l=c+24|0,h=c+12|0,w=c,0<(t|=0)>>>0|0==(0|t)&(536870912-(m=(0|ar[(a=(o|=0)+4|0)>>2])-(0|ar[o>>2])|0)|0)>>>0<n>>>0?(l=k+64|0,ar[(b=k+8|0)>>2]=4524,u=k+12|0,ar[k>>2]=188,ar[l>>2]=208,Jf(k+64|(ar[k+4>>2]=0),u),ar[k+136>>2]=0,ar[k+140>>2]=-1,ar[k>>2]=4504,ar[l>>2]=4544,ar[b>>2]=4524,Sf(u),ar[u>>2]=4340,ar[(b=k+44|0)>>2]=0,ar[b+4>>2]=0,ar[b+8>>2]=0,ar[b+12>>2]=0,ar[k+60>>2]=24,ar[s>>2]=0,ar[s+4>>2]=0,ar[s+8>>2]=0,Xe(u,s),(0|tr[s+11>>0])<0&&vu(0|ar[s>>2]),r=0|We(0|Kf(0|We(e=k+8|0,23824,19),n,t),23499,35),We(0|Pf(0|We(0|Kf(r,n=0|tb(0|m,0,0|n,0|t),D),23535,40),536870912),23576,6),Ie(d,u),oo(A,6,1e3,d),(0|tr[d+11>>0])<0&&vu(0|ar[d>>2]),ar[k>>2]=4504,ar[l>>2]=4544,ar[e>>2]=4524,ar[u>>2]=4340,(0|tr[b+11>>0])<0&&vu(0|ar[b>>2]),kf(u),bf(l),void(ur=c)):(d=0|ar[(k=s=e+64|0)>>2],k=0|ar[k+4>>2],e=0|tb(0|(u=0|ar[(b=e+8|0)>>2]),0|(b=0|ar[b+4>>2]),0|d,0|k),(g=D)>>>0<f>>>0|(0|g)==(0|f)&e>>>0<i>>>0?(ar[l>>2]=0,ar[l+4>>2]=0,ar[l+8>>2]=0,oo(A,2,100,l),0<=(0|tr[l+11>>0])||vu(0|ar[l>>2]),void(ur=c)):(e=0|tb(0|n,0|t,0|i,0|f),b>>>0<t>>>0|(0|b)==(0|t)&u>>>0<n>>>0|b>>>0<(l=D)>>>0|(0|l)==(0|b)&u>>>0<e>>>0?(ar[h>>2]=0,ar[h+4>>2]=0,ar[h+8>>2]=0,oo(A,2,100,h),0<=(0|tr[h+11>>0])||vu(0|ar[h>>2]),void(ur=c)):(h=0|ar[r>>2],b=0|ar[12+(0|ar[h>>2])>>2],g=0|tb(0|e,0|l,0|d,0|k),((0|xb[63&b](h,g,D))-1|0)>>>0<2?(ar[w>>2]=0,ar[w+4>>2]=0,ar[w+8>>2]=0,oo(A,2,100,w),0<=(0|tr[w+11>>0])||vu(0|ar[w>>2]),void(ur=c)):(w=0|ar[r>>2],h=0|ar[20+(0|ar[w>>2])>>2],g=0|tb(0|ar[(g=s)>>2],0|ar[g+4>>2],0|i,0|f),0|xb[63&h](w,g,D)||sr(23708,19104,3031,23716),0==(0|n)&0==(0|t)||((l=0|tb(0|m,0,0|n,0|t))>>>0<=(u=(b=0|ar[a>>2])-(e=0|ar[o>>2])|0)>>>0?l>>>0<u>>>0&&(0|b)!=(0|(v=e+l|0))&&(ar[a>>2]=v):(TA(o,l-u|0),e=0|ar[o>>2]),g=0|ar[r>>2],0|xb[63&ar[16+(0|ar[g>>2])>>2]](g,e+m|0,n)||sr(23708,19104,3040,23716)),n=0|ar[(m=56592)+4>>2],ar[(g=A)>>2]=ar[m>>2],ar[g+4>>2]=n,yu(A+8|0,56600),void(ur=c)))))}function jt(A){or[(A|=0)+4>>1]=2,or[A+6>>1]=2,or[A+8>>1]=6,tr[A+10>>0]=1}function Ht(A,e,r,i,f){A|=0,e|=0,r|=0,f|=0;var n,t,o,a,c,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0;ur=(c=ur)+336|0,o=c+316|0,a=c+160|0,b=c+304|0,t=(n=c)+144|0,u=0|ar[(i|=0)>>2],i=0|ar[u+56>>2],u=0|ar[u+60>>2];A:do{if((0|i)!=(0|u)){for(;l=i+16|0,(0|ar[i>>2])!=(0|r);){if((0|l)==(0|u))break A;i=l}xt(a,e+44|0),l=0|ar[i+4>>2],s=0|ar[i+8>>2];e:do{if((0|l)==(0|s))g=34;else{for(d=4+a|0,h=8+o|0,w=k=4+o|0,v=f+4|0,m=f+8|0;u=65535&(i=0|or[(b=l+2|0)>>1]),e=Z=0|ar[a>>2],!(u>>>0>(0|ar[d>>2])-Z>>3>>>0);){ar[k>>2]=0,ar[h>>2]=0,tr[o>>0]=0|tr[l>>0];do{if(i<<16>>16){if(b=0|ar[e+((i=u+-1|0)<<3)>>2],(u=i=0|ar[e+(i<<3)+4>>2])?(bu(i),i=0|ar[h>>2],ar[w>>2]=b,ar[h>>2]=u,0|i&&du(i)):(ar[w>>2]=b,ar[h>>2]=u),(0|(i=0|ar[v>>2]))==(0|ar[m>>2])){Pt(f,o);break}tr[i>>0]=0|tr[o>>0],ar[i+4>>2]=ar[w>>2],u=0|ar[h>>2],(ar[i+8>>2]=u)&&(bu(u),i=0|ar[v>>2]),ar[v>>2]=i+12}}while(0);if(0|(i=0|ar[h>>2])&&du(i),(0|(l=l+4|0))==(0|s)){g=34;break e}}l=n+64|0,ar[(e=n+8|0)>>2]=4524,u=n+12|0,ar[n>>2]=188,ar[l>>2]=208,Jf(n+64|(ar[n+4>>2]=0),u),ar[n+136>>2]=0,ar[n+140>>2]=-1,ar[n>>2]=4504,ar[l>>2]=4544,ar[e>>2]=4524,Sf(u),ar[u>>2]=4340,ar[(e=n+44|0)>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,ar[e+12>>2]=0,ar[n+60>>2]=24,ar[o>>2]=0,ar[4+o>>2]=0,ar[8+o>>2]=0,Xe(u,o),(0|tr[11+o>>0])<0&&vu(0|ar[o>>2]),Z=0|We(i=n+8|0,23901,28),We(0|Lf(0|We(0|We(0|xf(Z,0|or[b>>1]),23930,11),23942,4),r),23947,23),Ie(t,u),oo(A,2,115,t),(0|tr[11+t>>0])<0&&vu(0|ar[t>>2]),ar[n>>2]=4504,ar[l>>2]=4544,ar[i>>2]=4524,ar[u>>2]=4340,(0|tr[e+11>>0])<0&&vu(0|ar[e>>2]),kf(u),bf(l),i=a}}while(0);if(34==(0|g)&&(Z=0|ar[(r=56592)+4>>2],ar[(i=A)>>2]=ar[r>>2],ar[i+4>>2]=Z,yu(A+8|0,56600),i=a),0|(i=0|ar[i>>2])){if((0|(l=0|ar[(e=4+a|0)>>2]))!=(0|i)){for(;u=l+-8|0,ar[e>>2]=u,(0|(l=(l=0|ar[l+-4>>2])?(du(l),0|ar[e>>2]):u))!=(0|i););i=0|ar[a>>2]}vu(i)}return void(ur=c)}}while(0);l=64+a|0,ar[(e=8+a|0)>>2]=4524,u=12+a|0,ar[a>>2]=188,ar[l>>2]=208,Jf(64+a|(ar[4+a>>2]=0),u),ar[136+a>>2]=0,ar[140+a>>2]=-1,ar[a>>2]=4504,ar[l>>2]=4544,ar[e>>2]=4524,Sf(u),ar[u>>2]=4340,ar[(e=44+a|0)>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,ar[e+12>>2]=0,ar[60+a>>2]=24,ar[o>>2]=0,ar[4+o>>2]=0,ar[8+o>>2]=0,Xe(u,o),(0|tr[11+o>>0])<0&&vu(0|ar[o>>2]),We(0|Lf(0|We(i=8+a|0,23844,9),r),23854,46),Ie(b,u),oo(A,2,116,b),(0|tr[b+11>>0])<0&&vu(0|ar[b>>2]),ar[a>>2]=4504,ar[l>>2]=4544,ar[i>>2]=4524,ar[u>>2]=4340,(0|tr[e+11>>0])<0&&vu(0|ar[e>>2]),kf(u),bf(l),ur=c}function xt(A,e){e|=0;var r,i,f,n=0,t=0;if(ar[(A|=0)>>2]=0,ar[(f=A+4|0)>>2]=0,(r=(n=((ar[A+8>>2]=0)|ar[(i=e+4|0)>>2])-(0|ar[e>>2])|0)>>3)&&(536870911<r>>>0&&zl(),t=0|hu(n),ar[f>>2]=t,ar[A>>2]=t,ar[A+8>>2]=t+(r<<3),(0|(n=0|ar[e>>2]))!=(0|(e=0|ar[i>>2]))))for(;ar[t>>2]=ar[n>>2],A=0|ar[n+4>>2],0|(ar[t+4>>2]=A)&&bu(A),n=n+8|0,t=8+(0|ar[f>>2])|0,ar[f>>2]=t,(0|n)!=(0|e););}function Pt(A,e){e|=0;var r,i=0,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0;n=0|ar[(u=(A|=0)+4|0)>>2],c=i=0|ar[A>>2],357913941<(f=(a=(n-i|0)/12|0)+1|0)>>>0&&zl(),t=(l=((0|ar[(r=A+8|0)>>2])-i|0)/12|0)<<1,t=l>>>0<178956970?t>>>0<f>>>0?f:t:357913941;do{if(t){if(!(357913941<t>>>0)){o=0|hu(12*t|0);break}Zu(u=0|X(8),44519),ar[u>>2]=17660,I(0|u,4016,428)}else o=0}while(0);if(l=o+(12*t|0)|0,tr[(f=i=o+(12*a|0)|0)>>0]=0|tr[e>>0],ar[o+(12*a|0)+4>>2]=ar[e+4>>2],t=0|ar[e+8>>2],t=(ar[o+(12*a|0)+8>>2]=t)?(bu(t),n=0|ar[u>>2],0|ar[A>>2]):c,o=i+12|0,(0|n)==(0|t))i=t=n;else{for(;n=(c=n)+-12|0,tr[i+-12>>0]=0|tr[n>>0],a=c+-8|0,ar[i+-8>>2]=ar[a>>2],c=c+-4|0,ar[i+-4>>2]=ar[c>>2],ar[a>>2]=0,f=i=f+-12|(ar[c>>2]=0),(0|n)!=(0|t););t=0|ar[A>>2],i=0|ar[u>>2]}if(ar[A>>2]=f,ar[u>>2]=o,ar[r>>2]=l,(0|i)!=(0|(n=t)))for(;f=0|ar[i+-4>>2],i=i+-12|0,0|f&&du(f),(0|i)!=(0|n););t&&vu(n)}function Lt(A,e,r,i,f){A|=0,e|=0,r|=0,f|=0;var n,t,o=0,a=0,c=0,l=0,u=0,b=0;ur=(t=ur)+16|0,n=t,a=0|ar[(i|=0)>>2],i=0|ar[a+56>>2],a=0|ar[a+60>>2];A:do{if((0|i)!=(0|a)){for(;o=i+16|0,(0|ar[i>>2])!=(0|r);){if((0|o)==(0|a))break A;i=o}xt(n,e+44|0),a=0|ar[i+4>>2],c=0|ar[i+8>>2];e:do{if((0|a)==(0|c))o=A+4|0,i=n,u=15;else{for(l=n+4|0,o=A+4|0;;){if(i=65535&(b=0|or[a+2>>1]),e=r=0|ar[n>>2],b<<16>>16==0||i>>>0>(0|ar[l>>2])-r>>3>>>0){i=n,u=15;break e}if(r=0|ar[e+((i=i+-1|0)<<3)>>2],0|(i=0|ar[e+(i<<3)+4>>2])&&bu(i),(0|ar[r+20>>2])==(0|f))break;if(0|i&&du(i),(0|(a=a+4|0))==(0|c)){i=n,u=15;break e}}ar[A>>2]=r,ar[o>>2]=i,i=n}}while(0);if(15==(0|u)&&(ar[A>>2]=0,ar[o>>2]=0),0|(i=0|ar[i>>2])){if((0|(o=0|ar[(e=n+4|0)>>2]))!=(0|i)){for(;a=o+-8|0,ar[e>>2]=a,(0|(o=(o=0|ar[o+-4>>2])?(du(o),0|ar[e>>2]):a))!=(0|i););i=0|ar[n>>2]}vu(i)}return void(ur=t)}}while(0);ar[A>>2]=0,ar[A+4>>2]=0,ur=t}function Kt(A,e){A|=0;var r=0,i=0,f=0;if(r=(e|=0)+-1|0,131072<(e+65535|0)>>>0)for(e=2;e=(0|e)/2|0,131072<((r=(0|r)/2|0)+65536|0)>>>0;);else e=2;if(f=0|ar[A+76>>2],i=0|ar[A+72>>2],(0|f)==(0|e)){if(r=i+r|0,131072<(e+65536|0)>>>0)for(;r=(0|r)/2|0,131072<((e=(0|e)/2|0)+65536|0)>>>0;);if(131072<(r+65536|0)>>>0)for(;e=(0|e)/2|0,131072<((r=(0|r)/2|0)+65536|0)>>>0;);}else{if(r=(0|br(i,e))+(0|br(f,r))|0,131072<((e=0|br(f,e))+65536|0)>>>0)for(;r=(0|r)/2|0,131072<((e=(0|e)/2|0)+65536|0)>>>0;);if(131072<(r+65536|0)>>>0)for(;e=(0|e)/2|0,131072<((r=(0|r)/2|0)+65536|0)>>>0;);}if(i=0|ar[A+60>>2],f=(0|ar[A+56>>2])-i|0,131072<(i+65536|0)>>>0)for(;f=(0|f)/2|0,131072<((i=(0|i)/2|0)+65536|0)>>>0;);if(131072<(f+65536|0)>>>0)for(;i=(0|i)/2|0,131072<((f=(0|f)/2|0)+65536|0)>>>0;);if(131072<((i<<=1)+65536|0)>>>0)for(;f=(0|f)/2|0,131072<((i=(0|i)/2|0)+65536|0)>>>0;);if(131072<(f+65536|0)>>>0)for(;i=(0|i)/2|0,131072<((f=(0|f)/2|0)+65536|0)>>>0;);if((0|e)==(0|i)){if(r=r-f|0,131072<(e+65536|0)>>>0)for(;r=(0|r)/2|0,131072<((e=(0|e)/2|0)+65536|0)>>>0;);if((r+65536|0)>>>0<=131072)return 0|(A=(0|(f=r))/(0|(A=e))|0);for(;e=(0|e)/2|0,131072<((r=(0|r)/2|0)+65536|0)>>>0;);return 0|(A=(0|r)/(0|e)|0)}if(r=(0|br(i,r))-(0|br(f,e))|0,131072<((e=0|br(i,e))+65536|0)>>>0)for(;r=(0|r)/2|0,131072<((e=(0|e)/2|0)+65536|0)>>>0;);if((r+65536|0)>>>0<=131072)return 0|(A=(0|(f=r))/(0|(A=e))|0);for(;e=(0|e)/2|0,131072<((r=(0|r)/2|0)+65536|0)>>>0;);return 0|(A=(0|r)/(0|e)|0)}function qt(A,e){e|=0;var r=0,i=0;if(r=0|ar[(A|=0)+60>>2],i=(0|ar[A+56>>2])-r|0,131072<(r+65536|0)>>>0)for(;i=(0|i)/2|0,131072<((r=(0|r)/2|0)+65536|0)>>>0;);if(131072<(i+65536|0)>>>0)for(;r=(0|r)/2|0,131072<((i=(0|i)/2|0)+65536|0)>>>0;);if(i=(0|br(0|Kt(A,e),r))+i|0,131072<(r+65536|0)>>>0)for(;i=(0|i)/2|0,131072<((r=(0|r)/2|0)+65536|0)>>>0;);if((i+65536|0)>>>0<=131072)return A=i,0|(e=(0|(A=(i=(0|(e=r))/2|0)+A|0))/(0|e)|0);for(;r=(0|r)/2|0,131072<((i=(0|i)/2|0)+65536|0)>>>0;);return 0|(e=(0|(e=(e=(0|r)/2|0)+i|0))/(0|r)|0)}function $t(A,e){A|=0;var r=0,i=0,f=0;if(r=(e|=0)+-1|0,131072<(e+65535|0)>>>0)for(e=2;e=(0|e)/2|0,131072<((r=(0|r)/2|0)+65536|0)>>>0;);else e=2;if(f=0|ar[A+84>>2],i=0|ar[A+80>>2],(0|f)==(0|e)){if(r=i+r|0,131072<(e+65536|0)>>>0)for(;r=(0|r)/2|0,131072<((e=(0|e)/2|0)+65536|0)>>>0;);if(131072<(r+65536|0)>>>0)for(;e=(0|e)/2|0,131072<((r=(0|r)/2|0)+65536|0)>>>0;);}else{if(r=(0|br(i,e))+(0|br(f,r))|0,131072<((e=0|br(f,e))+65536|0)>>>0)for(;r=(0|r)/2|0,131072<((e=(0|e)/2|0)+65536|0)>>>0;);if(131072<(r+65536|0)>>>0)for(;e=(0|e)/2|0,131072<((r=(0|r)/2|0)+65536|0)>>>0;);}if(i=0|ar[A+68>>2],f=(0|ar[A+64>>2])-i|0,131072<(i+65536|0)>>>0)for(;f=(0|f)/2|0,131072<((i=(0|i)/2|0)+65536|0)>>>0;);if(131072<(f+65536|0)>>>0)for(;i=(0|i)/2|0,131072<((f=(0|f)/2|0)+65536|0)>>>0;);if(131072<((i<<=1)+65536|0)>>>0)for(;f=(0|f)/2|0,131072<((i=(0|i)/2|0)+65536|0)>>>0;);if(131072<(f+65536|0)>>>0)for(;i=(0|i)/2|0,131072<((f=(0|f)/2|0)+65536|0)>>>0;);if((0|e)==(0|i)){if(r=r-f|0,131072<(e+65536|0)>>>0)for(;r=(0|r)/2|0,131072<((e=(0|e)/2|0)+65536|0)>>>0;);if((r+65536|0)>>>0<=131072)return 0|(A=(0|(f=(i=(0|(A=e))/2|0)+(f=r)|0))/(0|A)|0);for(;e=(0|e)/2|0,131072<((r=(0|r)/2|0)+65536|0)>>>0;);return 0|(A=(0|(A=(A=(0|e)/2|0)+r|0))/(0|e)|0)}if(r=(0|br(i,r))-(0|br(f,e))|0,131072<((e=0|br(i,e))+65536|0)>>>0)for(;r=(0|r)/2|0,131072<((e=(0|e)/2|0)+65536|0)>>>0;);if((r+65536|0)>>>0<=131072)return 0|(A=(0|(f=(i=(0|(A=e))/2|0)+(f=r)|0))/(0|A)|0);for(;e=(0|e)/2|0,131072<((r=(0|r)/2|0)+65536|0)>>>0;);return 0|(A=(0|(A=(A=(0|e)/2|0)+r|0))/(0|e)|0)}function Ao(A,e){e|=0;var r=0,i=0;if(r=0|ar[(A|=0)+68>>2],i=(0|ar[A+64>>2])-r|0,131072<(r+65536|0)>>>0)for(;i=(0|i)/2|0,131072<((r=(0|r)/2|0)+65536|0)>>>0;);if(131072<(i+65536|0)>>>0)for(;r=(0|r)/2|0,131072<((i=(0|i)/2|0)+65536|0)>>>0;);if(i=(0|br(0|$t(A,e),r))+i|0,131072<(r+65536|0)>>>0)for(;i=(0|i)/2|0,131072<((r=(0|r)/2|0)+65536|0)>>>0;);if((i+65536|0)>>>0<=131072)return A=i,0|(e=(0|(A=(i=(0|(e=r))/2|0)+A|0))/(0|e)|0);for(;r=(0|r)/2|0,131072<((i=(0|i)/2|0)+65536|0)>>>0;);return 0|(e=(0|(e=(e=(0|r)/2|0)+i|0))/(0|r)|0)}function eo(A){var e=0,r=0,i=0,f=0,n=0;if(n=0|ar[(A|=0)+60>>2],e=(0|ar[A+56>>2])-n|0,f=131072<(n+65536|0)>>>0)for(r=e,A=n;r=(0|r)/2|0,131072<((A=(0|A)/2|0)+65536|0)>>>0;);else r=e,A=n;if(131072<(r+65536|0)>>>0)for(;A=(0|A)/2|0,131072<((r=(0|r)/2|0)+65536|0)>>>0;);if(131072<((A<<=1)+65536|0)>>>0)for(;r=(0|r)/2|0,131072<((A=(0|A)/2|0)+65536|0)>>>0;);if(131072<(r+65536|0)>>>0)for(;A=(0|A)/2|0,131072<((r=(0|r)/2|0)+65536|0)>>>0;);if(i=0-r|0,1==(0|A))if(131072<(65536-r|0)>>>0)for(A=1;A=(0|A)/2|0,131072<((i=(0|i)/2|0)+65536|0)>>>0;);else A=1;else{if(131072<(A+65536|0)>>>0)for(;i=(0|i)/2|0,131072<((A=(0|A)/2|0)+65536|0)>>>0;);if(131072<(i+65536|0)>>>0)for(;A=(0|A)/2|0,131072<((i=(0|i)/2|0)+65536|0)>>>0;);}if(r=(((0|A)/2|0)+i|0)/(0|A)|0,f)for(A=n;e=(0|e)/2|0,131072<((A=(0|A)/2|0)+65536|0)>>>0;);else A=n;if(131072<(e+65536|0)>>>0)for(;A=(0|A)/2|0,131072<((e=(0|e)/2|0)+65536|0)>>>0;);if(131072<((A<<=1)+65536|0)>>>0)for(;e=(0|e)/2|0,131072<((A=(0|A)/2|0)+65536|0)>>>0;);if((e+65536|0)>>>0<=131072)return n=(0|(f=(i=(0|(n=A))/2|0)+(f=e)|0))/(0|n)|0,0|(n=(f=1-r|0)+n|0);for(;A=(0|A)/2|0,131072<((e=(0|e)/2|0)+65536|0)>>>0;);return 0|(n=(f=1-r|0)+(n=(0|(n=(n=(0|A)/2|0)+e|0))/(0|A)|0)|0)}function ro(A){var e=0,r=0,i=0,f=0,n=0;if(n=0|ar[(A|=0)+68>>2],e=(0|ar[A+64>>2])-n|0,f=131072<(n+65536|0)>>>0)for(r=e,A=n;r=(0|r)/2|0,131072<((A=(0|A)/2|0)+65536|0)>>>0;);else r=e,A=n;if(131072<(r+65536|0)>>>0)for(;A=(0|A)/2|0,131072<((r=(0|r)/2|0)+65536|0)>>>0;);if(131072<((A<<=1)+65536|0)>>>0)for(;r=(0|r)/2|0,131072<((A=(0|A)/2|0)+65536|0)>>>0;);if(131072<(r+65536|0)>>>0)for(;A=(0|A)/2|0,131072<((r=(0|r)/2|0)+65536|0)>>>0;);if(i=0-r|0,1==(0|A))if(131072<(65536-r|0)>>>0)for(A=1;A=(0|A)/2|0,131072<((i=(0|i)/2|0)+65536|0)>>>0;);else A=1;else{if(131072<(A+65536|0)>>>0)for(;i=(0|i)/2|0,131072<((A=(0|A)/2|0)+65536|0)>>>0;);if(131072<(i+65536|0)>>>0)for(;A=(0|A)/2|0,131072<((i=(0|i)/2|0)+65536|0)>>>0;);}if(r=(((0|A)/2|0)+i|0)/(0|A)|0,f)for(A=n;e=(0|e)/2|0,131072<((A=(0|A)/2|0)+65536|0)>>>0;);else A=n;if(131072<(e+65536|0)>>>0)for(;A=(0|A)/2|0,131072<((e=(0|e)/2|0)+65536|0)>>>0;);if(131072<((A<<=1)+65536|0)>>>0)for(;e=(0|e)/2|0,131072<((A=(0|A)/2|0)+65536|0)>>>0;);if((e+65536|0)>>>0<=131072)return n=(0|(f=(i=(0|(n=A))/2|0)+(f=e)|0))/(0|n)|0,0|(n=(f=1-r|0)+n|0);for(;A=(0|A)/2|0,131072<((e=(0|e)/2|0)+65536|0)>>>0;);return 0|(n=(f=1-r|0)+(n=(0|(n=(n=(0|A)/2|0)+e|0))/(0|A)|0)|0)}function io(A,e,r){e|=0,r|=0;var i,f,n,t=0;if(ar[(A|=0)>>2]=0,ar[(n=A+4|0)>>2]=0,((ar[A+8>>2]=0)|(t=0|ar[e+56>>2]))!=(0|(f=0|ar[e+60>>2]))){i=A+8|0,e=t;do{do{if((0|ar[e+48>>2])==(0|r)){if((0|(t=0|ar[n>>2]))==(0|ar[i>>2])){de(A,e);break}se(t,e),ar[n>>2]=64+(0|ar[n>>2]);break}}while(0);e=e+64|0}while((0|e)!=(0|f))}}function fo(A,e,r,i){A|=0,r|=0,i|=0;var f=0;f=0|ar[(e|=0)+56>>2],e=0|ar[e+60>>2];A:do{if((0|f)!=(0|e)){for(;(0|ar[f+48>>2])!=(0|r)||(0|ar[f+20>>2])!=(0|i);)if((0|(f=f+64|0))==(0|e))break A;return void Ge(A,f+52|0)}}while(0);ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0}function no(A,e){e|=0;var r,i,f,n,t,o,a,c,l,u,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0;if(ur=(u=ur)+32|0,o=u+20|0,t=u+16|0,n=u+12|0,a=u+8|0,c=u+4|0,l=u,(0|(b=0|ar[(A|=0)+92>>2]))==(0|(f=0|ar[A+96>>2])))return ur=u,1;r=e+4|0,i=e+8|0;A:for(;;){if((0|(A=0|ar[b+4>>2]))!=(0|(p=0|ar[b+8>>2])))do{if(w=((0|ar[(Z=A+4|0)>>2])-(0|ar[A>>2])|0)>>>24&255,s=0|ar[r>>2],(d=g=0|ar[i>>2])>>>0<=s>>>0){if(m=g=0|ar[e>>2],(0|(s=(v=s-g|0)+1|0))<0){A=9;break A}k=(h=d-g|0)<<1,h=(k=h>>>0<1073741823?k>>>0<s>>>0?s:k:2147483647)?0|hu(k):0,tr[(d=h+v|0)>>0]=w,s=d+1|0,d=d+(0-v)|0,0<(0|v)&&hb(0|d,0|m,0|v),ar[e>>2]=d,ar[r>>2]=s,ar[i>>2]=h+k,g&&(vu(m),s=0|ar[r>>2])}else tr[s>>0]=w,s=1+(0|ar[r>>2])|0,ar[r>>2]=s;if(w=((0|ar[Z>>2])-(0|ar[A>>2])|0)>>>16&255,(d=g=0|ar[i>>2])>>>0<=s>>>0){if(m=g=0|ar[e>>2],(0|(s=(v=s-g|0)+1|0))<0){A=19;break A}k=(h=d-g|0)<<1,h=(k=h>>>0<1073741823?k>>>0<s>>>0?s:k:2147483647)?0|hu(k):0,tr[(d=h+v|0)>>0]=w,s=d+1|0,d=d+(0-v)|0,0<(0|v)&&hb(0|d,0|m,0|v),ar[e>>2]=d,ar[r>>2]=s,ar[i>>2]=h+k,g&&(vu(m),s=0|ar[r>>2])}else tr[s>>0]=w,s=1+(0|ar[r>>2])|0,ar[r>>2]=s;if(w=((0|ar[Z>>2])-(0|ar[A>>2])|0)>>>8&255,(d=g=0|ar[i>>2])>>>0<=s>>>0){if(m=g=0|ar[e>>2],(0|(s=(v=s-g|0)+1|0))<0){A=29;break A}k=(h=d-g|0)<<1,h=(k=h>>>0<1073741823?k>>>0<s>>>0?s:k:2147483647)?0|hu(k):0,tr[(d=h+v|0)>>0]=w,s=d+1|0,d=d+(0-v)|0,0<(0|v)&&hb(0|d,0|m,0|v),ar[e>>2]=d,ar[r>>2]=s,ar[i>>2]=h+k,g&&(vu(m),s=0|ar[r>>2])}else tr[s>>0]=w,s=1+(0|ar[r>>2])|0,ar[r>>2]=s;if(w=(0|ar[Z>>2])-(0|ar[A>>2])&255,(d=g=0|ar[i>>2])>>>0<=s>>>0){if(m=g=0|ar[e>>2],(0|(s=(v=s-g|0)+1|0))<0){A=39;break A}k=(h=d-g|0)<<1,h=(k=h>>>0<1073741823?k>>>0<s>>>0?s:k:2147483647)?0|hu(k):0,tr[(d=h+v|0)>>0]=w,s=d+1|0,d=d+(0-v)|0,0<(0|v)&&hb(0|d,0|m,0|v),ar[e>>2]=d,ar[r>>2]=s,ar[i>>2]=h+k,g&&(vu(m),s=0|ar[r>>2])}else tr[s>>0]=w,s=1+(0|ar[r>>2])|0,ar[r>>2]=s;ar[a>>2]=s,ar[c>>2]=ar[A>>2],ar[l>>2]=ar[Z>>2],ar[n>>2]=ar[a>>2],ar[t>>2]=ar[c>>2],ar[o>>2]=ar[l>>2],to(e,n,t,o),A=A+12|0}while((0|A)!=(0|p));if((0|(b=b+16|0))==(0|f)){A=3;break}}return 3==(0|A)?(ur=u,1):(9!=(0|A)&&19!=(0|A)&&29!=(0|A)&&39!=(0|A)||zl(),0)}function to(A,e,r,i){e|=0,r|=0,i|=0;var f,n,t,o,a=0,c=0,l=0,u=0,b=0,s=0,d=0;if(e=(u=f=0|ar[(A|=0)>>2])+(b=(0|ar[e>>2])-u|0)|0,a=0|ar[r>>2],t=c=0|ar[i>>2],(0|(s=c-a|0))<=0)return 0|(d=e);if((0|s)<=((l=0|ar[(o=A+8|0)>>2])-(i=n=0|ar[(d=A+4|0)>>2])|0)){if((0|(l=i-e|0))<(0|s)){if((0|(c=i=a+l|0))==(0|t))i=n;else{for(a=n;tr[a>>0]=0|tr[i>>0],i=i+1|0,a=1+(0|ar[d>>2])|0,ar[d>>2]=a,(0|i)!=(0|t););i=a}if(!(0<(0|l)))return 0|(d=e);u=i}else u=n;if((i=e+(l=u-(e+s)|0)|0)>>>0<n>>>0)for(a=u;tr[a>>0]=0|tr[i>>0],i=i+1|0,a=1+(0|ar[d>>2])|0,ar[d>>2]=a,(0|i)!=(0|n););if(0|l&&wb(u+(0-l)|0,0|e,0|l),(0|(i=0|ar[r>>2]))==(0|c))return 0|(d=e);for(a=e;tr[a>>0]=0|tr[i>>0],(0|(i=i+1|0))!=(0|c);)a=a+1|0;return 0|e}if((0|(i=i-u+s|0))<0&&zl(),c=(u=l-u|0)<<1,c=u>>>0<1073741823?c>>>0<i>>>0?i:c:2147483647,u=e,i=s=(l=c?0|hu(c):0)+b|0,b=l+c|0,(0|a)==(0|t))c=f;else{for(c=s;tr[c>>0]=0|tr[a>>0],i=c=i+1|0,(0|(a=a+1|0))!=(0|t););c=0|ar[A>>2]}return l=s+(0-(a=u-c|0))|0,0<(0|a)&&hb(0|l,0|c,0|a),e=0<(0|(a=(0|ar[d>>2])-u|0))?(hb(0|i,0|e,0|a),i=i+a|0,0|ar[A>>2]):c,ar[A>>2]=l,ar[d>>2]=i,ar[o>>2]=b,e&&vu(e),0|(d=s)}function oo(A,e,r,i){e|=0,r|=0,i|=0,ar[(A|=0)>>2]=e,ar[A+4>>2]=r,yu(A+8|0,i)}function ao(A,e,r){A|=0,r|=0;var i,f,n,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0;if(ur=(n=ur)+176|0,o=n+160|0,i=n+16|0,f=n,t=0|ar[(e|=0)>>2],!r)return ar[A>>2]=t,ar[A+4>>2]=ar[e+4>>2],e=0|ar[(e=6168)>>2],ar[(A=A+8|0)>>2]=e,void(ur=n);if(t){switch(u=64+i|0,ar[(s=8+i|0)>>2]=4524,b=12+i|0,ar[i>>2]=188,ar[u>>2]=208,Jf(64+i|(ar[4+i>>2]=0),b),ar[136+i>>2]=0,ar[140+i>>2]=-1,ar[i>>2]=4504,ar[u>>2]=4544,ar[s>>2]=4524,Sf(b),ar[b>>2]=4340,ar[(s=44+i|0)>>2]=0,ar[s+4>>2]=0,ar[s+8>>2]=0,ar[s+12>>2]=0,ar[60+i>>2]=24,ar[o>>2]=0,ar[o+4>>2]=0,ar[o+8>>2]=0,Xe(b,o),(0|tr[o+11>>0])<0&&vu(0|ar[o>>2]),l=8+i|0,0|ar[e>>2]){case 0:a=32215;break;case 1:a=24245;break;case 2:a=24231;break;case 3:a=24209;break;case 4:a=24189;break;case 5:a=24177;break;case 6:a=24153;break;case 7:a=24119;break;case 8:a=24085;break;case 9:a=24040;break;case 10:a=24011;break;default:sr(55739,23985,74,23994)}c=0|We(0|We(l,a,0|Vc(a)),25392,2),We(c,a=0|function(A){var e=0;switch(0|(A|=0)){case 0:e=25380;break;case 100:e=25357;break;case 101:e=25340;break;case 118:e=25322;break;case 119:e=25302;break;case 102:e=25288;break;case 103:e=25274;break;case 104:e=25260;break;case 105:e=25246;break;case 106:e=25232;break;case 131:e=25218;break;case 107:e=25204;break;case 108:e=25190;break;case 109:e=25176;break;case 110:e=25162;break;case 111:e=25148;break;case 112:e=25134;break;case 113:e=25120;break;case 125:e=25106;break;case 114:e=25085;break;case 115:e=25039;break;case 116:e=25008;break;case 117:e=24991;break;case 120:e=24954;break;case 121:e=24933;break;case 122:e=24896;break;case 123:e=24860;break;case 124:e=24833;break;case 126:e=24806;break;case 127:e=24775;break;case 128:e=24749;break;case 129:e=24730;break;case 130:e=24713;break;case 1e3:e=24689;break;case 2e3:e=24657;break;case 2001:e=24634;break;case 2002:e=24596;break;case 2003:e=24546;break;case 2004:e=24496;break;case 2005:e=24474;break;case 2006:e=24450;break;case 3e3:e=24432;break;case 3001:e=24409;break;case 3002:e=24384;break;case 3003:e=24355;break;case 3004:e=24318;break;case 4e3:e=24296;break;case 5e3:e=24271;break;default:sr(55739,23985,198,23994)}return 0|e}(0|ar[(o=e+4|0)>>2]),0|Vc(a)),(t=0|tr[(c=(a=e+8|0)+11|0)>>0])<<24>>24<0?t=0|ar[e+12>>2]:t&=255,0|t&&(d=0|We(l,25392,2),We(d,(t=(c=0|tr[c>>0])<<24>>24<0)?0|ar[a>>2]:a,t?0|ar[e+12>>2]:255&c)),Ie(f,b),Eu(r,f),t=(0|tr[r+11>>0])<0?0|ar[r>>2]:r,ar[(a=r+12|0)>>2]=t,(0|tr[f+11>>0])<0&&vu(0|ar[f>>2]),ar[i>>2]=4504,ar[u>>2]=4544,ar[l>>2]=4524,ar[b>>2]=4340,(0|tr[s+11>>0])<0&&vu(0|ar[s>>2]),kf(b),bf(u),t=0|ar[e>>2]}else ar[(a=r+12|0)>>2]=32215,o=e+4|0,t=0;ar[A>>2]=t,ar[A+4>>2]=ar[o>>2],e=0|ar[(e=a)>>2],ar[(d=A+8|0)>>2]=e,ur=n}function co(A){var e,r,i;for(ar[(A|=0)+112>>2]=0,r=A+112|(ar[A+116>>2]=0),e=i=A+108|0;(0|(A=A+4|(ar[A>>2]=0)))<(0|e););ar[i>>2]=r}function lo(A){var e,r=0,i=0,f=0,n=0;if(uo((A|=0)+108|0,0|ar[A+112>>2]),0|(r=0|ar[A+104>>2])&&du(r),0|(r=0|ar[A+96>>2])&&du(r),0|(r=0|ar[A+88>>2])&&du(r),0|(r=0|ar[A+80>>2])&&du(r),0|(r=0|ar[A+72>>2])&&du(r),0|(r=0|ar[A+64>>2])&&du(r),0|(r=0|ar[A+56>>2])&&du(r),0|(r=0|ar[A+48>>2])&&du(r),0|(r=0|ar[A+40>>2])&&du(r),0|(r=0|ar[A+32>>2])&&du(r),0|(r=0|ar[A+24>>2])&&du(r),0|(r=0|ar[(e=A+8|0)>>2])){if((0|(i=0|ar[(n=A+12|0)>>2]))!=(0|r)){for(;f=i+-8|0,ar[n>>2]=f,(0|(i=(i=0|ar[i+-4>>2])?(du(i),0|ar[n>>2]):f))!=(0|r););r=0|ar[e>>2]}vu(r)}(r=0|ar[A+4>>2])&&du(r)}function uo(A,e){A|=0,(e|=0)&&(uo(A,0|ar[e>>2]),uo(A,0|ar[e+4>>2]),0|(A=0|ar[e+24>>2])&&du(A),vu(e))}function bo(A,e,r){A|=0,e|=0;var i,f,n,t,o,a=0;ur=(o=ur)+48|0,n=(t=o)+32|0,f=0|ar[(r|=0)>>2],0|(a=0|ar[r+4>>2])&&bu(a),ar[e>>2]=f,r=0|ar[(i=e+4|0)>>2],ar[i>>2]=a,r?(du(r),r=0|ar[e>>2],a=0|ar[i>>2]):r=f,ar[n>>2]=r,0|(ar[(r=4+n|0)>>2]=a)&&bu(a),WA(t,n,-1,2147483647,0),0|(r=0|ar[r>>2])&&du(r),function(A,e,r){A|=0;var i,f,n,t,o,a,c,l,u,b,s,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0,C=0,G=0,V=0,F=0,R=0,N=0,_=0,Y=0,Q=0,D=0;ur=(s=ur)+288|0,t=s+264|0,C=s+108|0,o=s+96|0,c=s+84|0,l=s+72|0,u=s+60|0,R=s+48|0,N=s+36|0,_=s+24|0,Q=s+12|0,i=4+(b=(D=s)+276|0)|0,w=24+(r|=0)|0,v=r+16|0,m=12+(e|=0)|0,g=e+16|0,Z=e+8|0,p=e+36|0,y=e+40|0,B=e+20|0,E=e+24|0,n=11+(f=8+(a=s+120|0)|0)|0;for(;;){if(ar[b>>2]=0,ar[i>>2]=0,Ae(a,r,b),(0|ar[a>>2])!=(0|ar[14148])){Y=40;break}if(0|tr[w>>0]){Y=35;break}if(0==(0|ar[(Y=v)>>2])&0==(0|ar[Y+4>>2])){Y=30;break}(0|(d=0|ar[m>>2]))==(0|ar[g>>2])?Ut(Z,b):(ar[d>>2]=ar[b>>2],k=0|ar[i>>2],(ar[d+4>>2]=k)&&(bu(k),d=0|ar[m>>2]),ar[m>>2]=d+8),k=0|ar[b>>2],1835365473==(0|(d=0|ar[k+20>>2]))&&(0!=(0|k)&&0!=(0|(X=0|qu(k,128,160,0)))?(d=X,h=0|ar[i>>2],(k=h)&&bu(h)):k=d=0,ar[p>>2]=d,d=0|ar[y>>2],ar[y>>2]=k,0|d&&du(d),k=0|ar[b>>2],d=0|ar[k+20>>2]),1718909296==(0|d)&&(0!=(0|k)&&0!=(0|(W=0|qu(k,128,144,0)))?(d=W,h=0|ar[i>>2],(k=h)&&bu(h)):k=d=0,ar[B>>2]=d,d=0|ar[E>>2],ar[E>>2]=k,0|d&&du(d)),(0|tr[n>>0])<0&&vu(0|ar[f>>2]),0|(d=0|ar[i>>2])&&du(d)}30!=(0|Y)&&35!=(0|Y)&&40!=(0|Y)||((0|tr[n>>0])<0&&vu(0|ar[f>>2]),0|(d=0|ar[i>>2])&&du(d));if(!(k=0|ar[(d=e+20|0)>>2]))return ar[t>>2]=0,ar[4+t>>2]=0,ar[8+t>>2]=0,oo(A,2,102,t),0<=(0|tr[11+t>>0])||vu(0|ar[t>>2]),ur=s;if(!(0|St(k,1751476579)||0|St(0|ar[d>>2],1751476600)||0|St(0|ar[d>>2],1835623985))&&!(0|St(0|ar[d>>2],1635150182)))return k=64+a|0,ar[(w=8+a|0)>>2]=4524,h=12+a|0,ar[a>>2]=188,ar[k>>2]=208,ar[4+a>>2]=0,Jf(64+a|0,h),ar[136+a>>2]=0,ar[140+a>>2]=-1,ar[a>>2]=4504,ar[k>>2]=4544,ar[w>>2]=4524,Sf(h),ar[h>>2]=4340,ar[(w=44+a|0)>>2]=0,ar[w+4>>2]=0,ar[w+8>>2]=0,ar[w+12>>2]=0,ar[60+a>>2]=24,ar[b>>2]=0,ar[4+b>>2]=0,ar[8+b>>2]=0,Xe(h,b),(0|tr[11+b>>0])<0&&vu(0|ar[b>>2]),We(d=8+a|0,25395,44),Ie(C,h),oo(A,3,0,C),(0|tr[C+11>>0])<0&&vu(0|ar[C>>2]),ar[a>>2]=4504,ar[k>>2]=4544,ar[d>>2]=4524,ar[h>>2]=4340,(0|tr[w+11>>0])<0&&vu(0|ar[w>>2]),kf(h),bf(k),ur=s;if(!(d=0|ar[(v=e+36|0)>>2]))return ar[o>>2]=0,ar[4+o>>2]=0,ar[8+o>>2]=0,oo(A,2,104,o),0<=(0|tr[11+o>>0])||vu(0|ar[o>>2]),ur=s;Tt(b,d,1751411826),k=0!=(0|(d=0|ar[b>>2]))&&0!=(0|(I=0|qu(d,128,1128,0)))?(d=I,k=0|ar[4+b>>2],(h=k)&&bu(k),h):d=0;ar[(h=e+28|0)>>2]=d,d=0|ar[(C=e+32|0)>>2],ar[C>>2]=k,0|d&&du(d);0|(d=0|ar[4+b>>2])&&du(d);if(0|(C=0|ar[h>>2])&&1885954932!=(0|ar[C+60>>2]))return ar[c>>2]=0,ar[4+c>>2]=0,ar[8+c>>2]=0,oo(A,2,114,c),0<=(0|tr[11+c>>0])||vu(0|ar[c>>2]),ur=s;Tt(b,0|ar[v>>2],1885959277),k=0!=(0|(d=0|ar[b>>2]))&&0!=(0|(G=0|qu(d,128,1096,0)))?(d=G,k=0|ar[4+b>>2],(h=k)&&bu(k),h):d=0;ar[(h=e+84|0)>>2]=d,d=0|ar[(G=e+88|0)>>2],ar[G>>2]=k,0|d&&du(d);0|(d=0|ar[4+b>>2])&&du(d);if(!(0|ar[h>>2]))return ar[l>>2]=0,ar[4+l>>2]=0,ar[8+l>>2]=0,oo(A,2,107,l),0<=(0|tr[11+l>>0])||vu(0|ar[l>>2]),ur=s;Tt(b,0|ar[v>>2],1768977008),k=0!=(0|(d=0|ar[b>>2]))&&0!=(0|(V=0|qu(d,128,968,0)))?(d=V,k=0|ar[4+b>>2],(h=k)&&bu(k),h):d=0;ar[(w=e+100|0)>>2]=d,d=0|ar[(V=e+104|0)>>2],ar[V>>2]=k,0|d&&du(d);0|(d=0|ar[4+b>>2])&&du(d);if(!(d=0|ar[w>>2]))return ar[u>>2]=0,ar[4+u>>2]=0,ar[8+u>>2]=0,oo(A,2,112,u),0<=(0|tr[11+u>>0])||vu(0|ar[u>>2]),ur=s;Tt(b,d,1768973167),k=0!=(0|(d=0|ar[b>>2]))&&0!=(0|(F=0|qu(d,128,936,0)))?(d=F,k=0|ar[4+b>>2],(h=k)&&bu(k),h):d=0;ar[(h=e+44|0)>>2]=d,d=0|ar[(F=e+48|0)>>2],ar[F>>2]=k,0|d&&du(d);0|(d=0|ar[4+b>>2])&&du(d);if(!(0|ar[h>>2]))return ar[R>>2]=0,ar[R+4>>2]=0,ar[R+8>>2]=0,oo(A,2,108,R),0<=(0|tr[R+11>>0])||vu(0|ar[R>>2]),ur=s;Tt(b,0|ar[w>>2],1768975713),d=0|ar[b>>2];do{if(d){if(!(d=0|qu(d,128,904,0))){k=d=0;break}if(k=0|ar[4+b>>2],!(h=k)){k=h;break}bu(k),k=h}else k=d=0}while(0);ar[(h=e+52|0)>>2]=d,d=0|ar[(R=e+56|0)>>2],ar[R>>2]=k,0|d&&du(d);0|(d=0|ar[4+b>>2])&&du(d);if(!(0|ar[h>>2]))return ar[N>>2]=0,ar[N+4>>2]=0,ar[N+8>>2]=0,oo(A,2,109,N),0<=(0|tr[N+11>>0])||vu(0|ar[N>>2]),ur=s;Tt(b,0|ar[v>>2],1768714083),d=0|ar[b>>2];do{if(d){if(!(d=0|qu(d,128,1064,0))){k=d=0;break}if(k=0|ar[4+b>>2],!(h=k)){k=h;break}bu(k),k=h}else k=d=0}while(0);ar[(h=e+60|0)>>2]=d,d=0|ar[(N=e+64|0)>>2],ar[N>>2]=k,0|d&&du(d);0|(d=0|ar[4+b>>2])&&du(d);if(!(0|ar[h>>2]))return ar[_>>2]=0,ar[_+4>>2]=0,ar[_+8>>2]=0,oo(A,2,110,_),0<=(0|tr[_+11>>0])||vu(0|ar[_>>2]),ur=s;Tt(b,0|ar[v>>2],1768186228),d=0|ar[b>>2];do{if(d){if(!(d=0|qu(d,128,616,0))){k=d=0;break}if(h=0|ar[4+b>>2],!(k=h))break;bu(h)}else k=d=0}while(0);ar[e+68>>2]=d,d=0|ar[(_=e+72|0)>>2],ar[_>>2]=k,0|d&&du(d);0|(d=0|ar[4+b>>2])&&du(d);Tt(b,0|ar[v>>2],1769104742),d=0|ar[b>>2];do{if(d){if(!(d=0|qu(d,128,712,0))){k=d=0;break}if(h=0|ar[4+b>>2],!(k=h))break;bu(h)}else k=d=0}while(0);ar[e+76>>2]=d,d=0|ar[(_=e+80|0)>>2],ar[_>>2]=k,0|d&&du(d);0|(d=0|ar[4+b>>2])&&du(d);Tt(b,0|ar[v>>2],1768517222),d=0|ar[b>>2];do{if(d){if(!(d=0|qu(d,128,1032,0))){k=d=0;break}if(k=0|ar[4+b>>2],!(h=k)){k=h;break}bu(k),k=h}else k=d=0}while(0);ar[(h=e+92|0)>>2]=d,d=0|ar[(_=e+96|0)>>2],ar[_>>2]=k,0|d&&du(d);0|(d=0|ar[4+b>>2])&&du(d);if(!(d=0|ar[h>>2]))return ar[Q>>2]=0,ar[Q+4>>2]=0,ar[Q+8>>2]=0,oo(A,2,111,Q),0<=(0|tr[Q+11>>0])||vu(0|ar[Q>>2]),ur=s;(function(A,e,r){e|=0,r|=0;var i,f,n,t=0,o=0;if(ar[(A|=0)>>2]=0,ar[(n=A+4|0)>>2]=0,((ar[A+8>>2]=0)|(t=0|ar[e+44>>2]))!=(0|(f=0|ar[e+48>>2]))){i=A+8|0;do{o=e=0|ar[t>>2];do{if((0|ar[e+20>>2])==(0|r)){if((0|(e=0|ar[n>>2]))==(0|ar[i>>2])){Ut(A,t);break}ar[e>>2]=o,o=0|ar[t+4>>2],(ar[e+4>>2]=o)&&(bu(o),e=0|ar[n>>2]),ar[n>>2]=e+8}}while(0);t=t+8|0}while((0|t)!=(0|f))}})(b,d,1768842853),d=0|ar[b>>2],p=0|ar[(W=4+b|0)>>2];A:do{if((0|d)==(0|p))Y=186;else for(y=D+11|0,B=e+108|0,X=E=e+112|0,Z=e+116|0;;){k=0|ar[d>>2];do{if(k){if(!(h=0|qu(k,128,1e3,0))){k=0,Y=164;break}if(g=h,(k=0|ar[d+4>>2])?bu(k):k=0,!h){Y=164;break}m=0|ar[h+56>>2],0|(r=k)&&bu(k),h=0|ar[E>>2];do{if(h){for(v=X;;)if(w=0|ar[h+16>>2],m>>>0<w>>>0){if(!(w=0|ar[h>>2])){Y=172;break}v=h,h=w}else{if(m>>>0<=w>>>0){Y=176;break}if(!(w=0|ar[(v=h+4|0)>>2])){Y=175;break}h=w}if(172==(0|Y)){Y=0,v=w=h;break}if(175==(0|Y)){Y=0,w=h;break}if(176==(0|Y)){Y=0,w=h;break}}else v=w=E}while(0);if(0|ar[v>>2]){if(!k){h=0;break}du(k),h=0;break}h=0|hu(28),ar[h+16>>2]=m,ar[h+20>>2]=g,ar[h+24>>2]=r,ar[h>>2]=0,ar[h+4>>2]=0,ar[h+8>>2]=w,ar[v>>2]=h,(w=0|ar[ar[B>>2]>>2])&&(ar[B>>2]=w,h=0|ar[v>>2]),so(0|ar[X>>2],h),ar[Z>>2]=1+(0|ar[Z>>2]),h=0}else k=0,Y=164}while(0);do{if(164==(0|Y)){if(Y=0,ar[D>>2]=0,ar[D+4>>2]=0,ar[D+8>>2]=0,oo(A,2,125,D),0<=(0|tr[y>>0])){h=1;break}vu(0|ar[D>>2]),h=1}}while(0);if(0|k&&du(k),d=d+8|0,0|h)break A;if((0|d)==(0|p)){Y=186;break}}}while(0);186==(0|Y)&&(e=0|ar[(Q=56592)+4>>2],ar[(D=A)>>2]=ar[Q>>2],ar[D+4>>2]=e,yu(A+8|0,56600));if(0|(d=0|ar[b>>2])){if((0|(k=0|ar[W>>2]))!=(0|d)){for(;h=k+-8|0,ar[W>>2]=h,(0|(k=(k=0|ar[k+-4>>2])?(du(k),0|ar[W>>2]):h))!=(0|d););d=0|ar[b>>2]}vu(d)}ur=s}(A,e,t),ur=((r=0|ar[t+4>>2])&&du(r),o)}function so(A,e){var r=0,i=0,f=0,n=0,t=0;if(t=(0|(e|=0))==(0|(A|=0)),tr[e+12>>0]=1&t,!t){for(;;){if(t=0|ar[e+8>>2],0|tr[(f=t+12|0)>>0]){r=23;break}if(i=0|ar[(n=t+8|0)>>2],(0|(r=0|ar[i>>2]))==(0|t)){if(!(r=0|ar[i+4>>2])){r=7;break}if(0|tr[(r=r+12|0)>>0]){r=7;break}e=r}else{if(!r){r=16;break}if(0|tr[(r=r+12|0)>>0]){r=16;break}e=r}if(tr[f>>0]=1,t=(0|i)==(0|A),tr[i+12>>0]=1&t,tr[e>>0]=1,t){r=23;break}e=i}if(7==(0|r))return f=(0|ar[t>>2])==(0|e)?(e=t,i):(r=0|ar[(A=t+4|0)>>2],e=0|ar[r>>2],e=(ar[A>>2]=e)?(ar[e+8>>2]=t,0|ar[n>>2]):i,ar[r+8>>2]=e,e=0|ar[n>>2],ar[((0|ar[e>>2])==(0|t)?e:e+4|0)>>2]=r,ar[r>>2]=t,ar[n>>2]=r,0|ar[(e=r)+8>>2]),tr[e+12>>0]=1,e=(tr[f+12>>0]=0)|ar[f>>2],i=0|ar[(r=e+4|0)>>2],0|(ar[f>>2]=i)&&(ar[i+8>>2]=f),t=f+8|0,ar[e+8>>2]=ar[t>>2],n=0|ar[t>>2],ar[((0|ar[n>>2])==(0|f)?n:n+4|0)>>2]=e,ar[r>>2]=f,void(ar[t>>2]=e);if(16==(0|r))return(0|ar[t>>2])==(0|e)?(f=0|ar[t>>2],e=0|ar[(r=f+4|0)>>2],(ar[t>>2]=e)&&(ar[e+8>>2]=t,i=0|ar[n>>2]),ar[f+8>>2]=i,e=0|ar[n>>2],ar[((0|ar[e>>2])==(0|t)?e:e+4|0)>>2]=f,ar[r>>2]=t,ar[n>>2]=f,i=0|ar[(e=f)+8>>2]):e=t,tr[e+12>>0]=1,e=(tr[i+12>>0]=0)|ar[(t=i+4|0)>>2],r=0|ar[e>>2],0|(ar[t>>2]=r)&&(ar[r+8>>2]=i),t=i+8|0,ar[e+8>>2]=ar[t>>2],n=0|ar[t>>2],ar[((0|ar[n>>2])==(0|i)?n:n+4|0)>>2]=e,ar[e>>2]=i,void(ar[t>>2]=e)}}function ko(A,e,r,i,f){A|=0,e|=0,r|=0,i|=0,f|=0;var n,t,o,a;ur=(n=ur)+16|0,o=n,t=0|hu(48),ar[4+t>>2]=0,ar[8+t>>2]=0,ar[t>>2]=6180,function(A,e,r,i,f){e|=0,r|=0,i|=0,f|=0;var n=0;if(ar[(A|=0)>>2]=4232,ar[(n=A+8|0)>>2]=r,ar[n+4>>2]=i,ar[(n=A+16|0)>>2]=0,ar[n+4>>2]=0,ar[(n=A+24|0)>>2]=0,!f)return i=e,ar[(f=A+4|0)>>2]=i;i=0|wu(f=i>>>0<0|0==(0|i)&r>>>0<4294967295?r:-1),hb(0|(ar[n>>2]=i),0|e,0|r),ar[(f=A+4|0)>>2]=i}(a=16+t|0,r,i,0,f),ar[o>>2]=a,bu(ar[o+4>>2]=t),bo(A,e,o),du(t),du(t),ur=n}function ho(A,e,r){A|=0,r|=0;var i,f=0,n=0,t=0;if(f=0|ar[(i=(e|=0)+112|0)>>2]){e=i,n=f;A:for(;;){for(f=n;!((0|ar[f+16>>2])>>>0>=r>>>0);)if(!(f=0|ar[f+4>>2]))break A;if(!(n=0|ar[f>>2])){e=f;break}e=f}(0|e)!=(0|i)&&(0|ar[e+16>>2])>>>0<=r>>>0?(f=0|ar[e+20>>2],(e=0|ar[e+24>>2])?bu(e):e=0,f?yu(A,f+64|0):t=11):(e=0,t=11)}else e=0,t=11;11==(0|t)&&(ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0),e&&du(e)}function wo(A,e,r){A|=0,r|=0;var i,f=0,n=0,t=0;if(f=0|ar[(i=(e|=0)+112|0)>>2]){e=i,n=f;A:for(;;){for(f=n;!((0|ar[f+16>>2])>>>0>=r>>>0);)if(!(f=0|ar[f+4>>2]))break A;if(!(n=0|ar[f>>2])){e=f;break}e=f}(0|e)!=(0|i)&&(0|ar[e+16>>2])>>>0<=r>>>0?(f=0|ar[e+20>>2],(e=0|ar[e+24>>2])?bu(e):e=0,f?yu(A,f+88|0):t=11):(e=0,t=11)}else e=0,t=11;11==(0|t)&&(ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0),e&&du(e)}function vo(A,e,r,i){A|=0,r|=0,i|=0;var f,n,t,o;return ur=(o=ur)+32|0,f=o+12|0,n=o,(t=0|ar[(e|=0)+44>>2])?0|ar[(e=e+52|0)>>2]?(Ht(A,t,r,e,i),void(ur=o)):(ar[n>>2]=0,ar[n+4>>2]=0,ar[n+8>>2]=0,oo(A,2,109,n),void(ur=(0<=(0|tr[n+11>>0])||vu(0|ar[n>>2]),o))):(ar[f>>2]=0,ar[4+f>>2]=0,ar[8+f>>2]=0,oo(A,2,108,f),0<=(0|tr[11+f>>0])||vu(0|ar[f>>2]),void(ur=o))}function mo(A,e,r,i){A|=0,r|=0,i|=0;var f,n,t,o,a,c,l,u,b,s,d,k,h,w,v,m,g,Z,p,y,B,E=0,X=0,W=0,I=0,C=0,G=0,V=0,F=0,R=0,N=0,_=0,Y=0,Q=0,D=0,J=0,M=0,T=0,U=0,S=0;if(ur=(d=ur)+352|0,l=d+192|0,C=d+328|0,V=d+304|0,b=d+340|0,s=d+316|0,u=d+292|0,T=d+48|0,R=d+280|0,F=d+268|0,M=d+24|0,n=d+256|0,t=(c=d)+248|0,o=d+232|0,a=d+224|0,f=d+216|0,0|(W=0|ar[(G=(e|=0)+112|0)>>2])){E=G,I=W;A:for(;;){for(X=I;!((0|ar[X+16>>2])>>>0>=r>>>0);)if(!(X=0|ar[X+4>>2]))break A;if(!(I=0|ar[X>>2])){E=X;break}E=X}if((0|E)!=(0|G)&&(0|ar[E+16>>2])>>>0<=r>>>0){E=G;A:for(;;){for(X=W;!((0|ar[X+16>>2])>>>0>=r>>>0);)if(!(X=0|ar[X+4>>2]))break A;if(!(W=0|ar[X>>2])){E=X;break}E=X}if((0|E)!=(0|G)&&(0|ar[E+16>>2])>>>0<=r>>>0)if(W=0|ar[E+20>>2],(E=0|ar[E+24>>2])?bu(E):E=0,X=W){if(yu(b,X+64|0),yu(s,X+88|0),function(A,e){e|=0;var r,i,f,n=0;if(ar[(A|=0)>>2]=0,ar[(f=A+4|0)>>2]=0,ar[A+8>>2]=0,n=(0|ar[(i=e+4|0)>>2])-(0|ar[e>>2])|0,!(r=n>>5))return;134217727<r>>>0&&zl();if(n=0|hu(n),ar[f>>2]=n,ar[A>>2]=n,ar[A+8>>2]=n+(r<<5),A=0|ar[e>>2],e=0|ar[i>>2],(0|A)==(0|e))return;for(;ar[n>>2]=ar[A>>2],ar[n+4>>2]=ar[A+4>>2],ar[n+8>>2]=ar[A+8>>2],ar[n+12>>2]=ar[A+12>>2],Dt(n+16|0,A+16|0),A=A+32|0,n=32+(0|ar[f>>2])|0,ar[f>>2]=n,(0|A)!=(0|e););}(u,56+(0|ar[(Q=e+60|0)>>2])|0),(0|(X=0|ar[u>>2]))!=(0|(W=0|ar[(U=4+u|0)>>2]))){for(J=0;J=(V=(0|ar[X>>2])==(0|r))?X:J,!(V|(0|(X=X+32|0))==(0|W)););if(J){ar[F>>2]=0,ar[F+4>>2]=0,ar[F+8>>2]=0,oo(l,4,3e3,F),(0|tr[F+11>>0])<0&&vu(0|ar[F>>2]),W=0|tr[(I=11+b|0)>>0],X=0|ar[(C=4+b|0)>>2];do{if(4==(0|(W<<24>>24<0?X:255&W))){if(0|Yu(b,0,-1,30298,4)){W=0|tr[I>>0],X=0|ar[C>>2],S=72;break}ar[T>>2]=0,ar[(G=T+4|0)>>2]=0,Ht(M,(ar[T+8>>2]=0)|ar[e+44>>2],r,e+52|0,T);do{if(0|ar[M>>2])C=0|ar[(e=M)+4>>2],ar[(i=A)>>2]=ar[e>>2],ar[i+4>>2]=C,C=M+8|0,ar[(i=A+8|0)>>2]=ar[C>>2],ar[i+4>>2]=ar[C+4>>2],ar[i+8>>2]=ar[C+8>>2],ar[C>>2]=0,ar[C+4>>2]=0,ar[C+8>>2]=0,C=1;else{for((0|(X=0|ar[T>>2]))==(0|(C=0|ar[G>>2]))?sr(55739,25520,565,25571):(Y=X,_=0);;){if(X=0|ar[Y+4>>2],1752589123==(0|ar[X+20>>2])){do{if(X){if(!(X=0|qu(X,128,680,0))){D=N=0;break}if(!(I=W=0|ar[Y+8>>2])){N=X,D=I;break}bu(W),N=X,D=I}else D=N=0}while(0);if(0|_&&du(_),N)break;X=D}else X=_;if((0|(Y=Y+12|0))==(0|C)){S=48;break}_=X}48==(0|S)&&sr(55739,25520,565,25571);do{if(0|no(N,i))X=0|ar[Q>>2],ar[t>>2]=ar[e>>2],C=4+t|0,W=0|ar[e+4>>2],0|(ar[C>>2]=W)&&bu(W),Ot(c,X,J,t,e+68|0,i),X=0|ar[(W=c)+4>>2],ar[(I=l)>>2]=ar[W>>2],ar[I+4>>2]=X,X=c+8|0,(0|tr[(W=(I=8+l|0)+11|0)>>0])<0?(tr[ar[I>>2]>>0]=0,ar[12+l>>2]=0):(tr[I>>0]=0,tr[W>>0]=0),Cu(I,0),ar[I>>2]=ar[X>>2],ar[I+4>>2]=ar[X+4>>2],ar[I+8>>2]=ar[X+8>>2],ar[X>>2]=0,ar[X+4>>2]=0,(ar[X+8>>2]=0)|(X=0|ar[C>>2])&&du(X),X=0;else{if(ar[n>>2]=0,ar[4+n>>2]=0,ar[8+n>>2]=0,oo(A,2,117,n),0<=(0|tr[11+n>>0])){X=1;break}vu(0|ar[n>>2]),X=1}}while(0);if(!D){C=X;break}du(D),C=X}}while(0);if((0|tr[(X=M+8|0)+11>>0])<0&&vu(0|ar[X>>2]),0|(X=0|ar[T>>2])){if((0|(W=0|ar[G>>2]))!=(0|X)){for(;I=W+-12|0,ar[G>>2]=I,(0|(W=(W=0|ar[W+-4>>2])?(du(W),0|ar[G>>2]):I))!=(0|X););X=0|ar[T>>2]}vu(X)}C||(S=118)}else S=72}while(0);do{if(72==(0|S)){if(4==(0|(W<<24>>24<0?X:255&W))&&0==(0|Yu(b,0,-1,30318,4))){ar[T>>2]=0,ar[(R=T+4|0)>>2]=0,Ht(M,(ar[T+8>>2]=0)|ar[e+44>>2],r,e+52|0,T);do{if(0|ar[M>>2])C=0|ar[(e=M)+4>>2],ar[(i=A)>>2]=ar[e>>2],ar[i+4>>2]=C,C=M+8|0,ar[(i=A+8|0)>>2]=ar[C>>2],ar[i+4>>2]=ar[C+4>>2],ar[i+8>>2]=ar[C+8>>2],ar[C>>2]=0,ar[C+4>>2]=0,ar[C+8>>2]=0,C=1;else{X=0|ar[T>>2],V=0|ar[R>>2];A:do{if((0|X)==(0|V))X=0,S=86;else{for(G=X,X=0;;){if(W=0|ar[G+4>>2],1635135811==(0|ar[W+20>>2])){do{if(W){if(!(W=0|qu(W,128,648,0))){F=W=0;break}if(!(C=I=0|ar[G+8>>2])){F=C;break}bu(I),F=C}else F=W=0}while(0);if(0|X&&du(X),W)break;X=F}if((0|(G=G+12|0))==(0|V)){S=86;break A}}(0|(W=(X=W)+68|0))!=(0|i)&&(k=i,h=0|ar[W>>2],w=0|ar[X+72>>2],B=y=p=Z=g=m=v=void 0,m=(B=w|=B=y=p=Z=g=0)-(v=h|=0)|0,((g=0|ar[(p=8+(k|=0)|0)>>2])-(y=Z=0|ar[k>>2])|0)>>>0<m>>>0?(Z&&((0|ar[(g=k+4|0)>>2])!=(0|y)&&(ar[g>>2]=y),vu(y),ar[p>>2]=0,ar[g>>2]=0,g=ar[k>>2]=0),(0|m)<0&&zl(),B=g<<1,(0|(g=g>>>0<1073741823?B>>>0<m>>>0?m:B:2147483647))<0&&zl(),y=0|hu(g),ar[(B=k+4|0)>>2]=y,ar[k>>2]=y,ar[p>>2]=y+g,hb(0|y,0|h,0|m),ar[B>>2]=y+m):(0|(g=(Z=w=(k=(Z=(0|ar[(p=k+4|0)>>2])-Z|0)>>>0<m>>>0)?h+Z|0:w)-v|0)&&wb(0|y,0|h,0|g),g=y+g|0,k?(0|(g=B-Z|0))<=0||(hb(0|ar[p>>2],0|w,0|g),ar[p>>2]=(0|ar[p>>2])+g):(0|ar[p>>2])!=(0|g)&&(ar[p>>2]=g))),X=0|ar[Q>>2],ar[a>>2]=ar[e>>2],C=4+a|0,W=0|ar[e+4>>2],0|(ar[C>>2]=W)&&bu(W),Ot(c,X,J,a,e+68|0,i),X=0|ar[(W=c)+4>>2],ar[(I=l)>>2]=ar[W>>2],ar[I+4>>2]=X,X=c+8|0,(0|tr[(W=(I=8+l|0)+11|0)>>0])<0?(tr[ar[I>>2]>>0]=0,ar[12+l>>2]=0):(tr[I>>0]=0,tr[W>>0]=0),Cu(I,0),ar[I>>2]=ar[X>>2],ar[I+4>>2]=ar[X+4>>2],ar[I+8>>2]=ar[X+8>>2],ar[X>>2]=0,ar[X+4>>2]=0,(ar[X+8>>2]=0)|(X=0|ar[C>>2])&&du(X),W=0,X=F}}while(0);do{if(86==(0|S)){if(ar[o>>2]=0,ar[4+o>>2]=0,ar[8+o>>2]=0,oo(A,2,131,o),0<=(0|tr[11+o>>0])){W=1;break}vu(0|ar[o>>2]),W=1}}while(0);if(!X){C=W;break}du(X),C=W}}while(0);if((0|tr[(X=M+8|0)+11>>0])<0&&vu(0|ar[X>>2]),0|(X=0|ar[T>>2])){if((0|(W=0|ar[R>>2]))!=(0|X)){for(;I=W+-12|0,ar[R>>2]=I,(0|(W=(W=0|ar[W+-4>>2])?(du(W),0|ar[R>>2]):I))!=(0|X););X=0|ar[T>>2]}vu(X)}if(C)break;S=118;break}X=0|ar[Q>>2],ar[f>>2]=ar[e>>2],C=4+f|0,W=0|ar[e+4>>2],0|(ar[C>>2]=W)&&bu(W),Ot(T,X,J,f,e+68|0,i),X=0|ar[(W=T)+4>>2],ar[(I=l)>>2]=ar[W>>2],ar[I+4>>2]=X,X=T+8|0,(0|tr[(W=(I=8+l|0)+11|0)>>0])<0?(tr[ar[I>>2]>>0]=0,ar[12+l>>2]=0):(tr[I>>0]=0,tr[W>>0]=0),Cu(I,0),ar[I>>2]=ar[X>>2],ar[I+4>>2]=ar[X+4>>2],ar[I+8>>2]=ar[X+8>>2],ar[X>>2]=0,ar[X+4>>2]=0,(ar[X+8>>2]=0)|(X=0|ar[C>>2])&&du(X),S=118}}while(0);do{if(118==(0|S)){if((0|ar[l>>2])==(0|ar[14148])){M=0|ar[(i=56592)+4>>2],ar[(T=A)>>2]=ar[i>>2],ar[T+4>>2]=M,yu(A+8|0,56600);break}M=0|ar[(i=l)+4>>2],ar[(T=A)>>2]=ar[i>>2],ar[T+4>>2]=M,T=A+8|0,A=8+l|0,ar[T>>2]=ar[A>>2],ar[T+4>>2]=ar[A+4>>2],ar[T+8>>2]=ar[A+8>>2],ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0;break}}while(0);(0|tr[(X=8+l|0)+11>>0])<0&&vu(0|ar[X>>2])}else S=24}else S=24;if(24==(0|S)&&(W=T+64|0,ar[(C=T+8|0)>>2]=4524,I=T+12|0,ar[T>>2]=188,ar[W>>2]=208,Jf(T+64|(ar[T+4>>2]=0),I),ar[T+136>>2]=0,ar[T+140>>2]=-1,ar[T>>2]=4504,ar[W>>2]=4544,ar[C>>2]=4524,Sf(I),ar[I>>2]=4340,ar[(C=T+44|0)>>2]=0,ar[C+4>>2]=0,ar[C+8>>2]=0,ar[C+12>>2]=0,ar[T+60>>2]=24,ar[l>>2]=0,ar[4+l>>2]=0,ar[8+l>>2]=0,Xe(I,l),(0|tr[11+l>>0])<0&&vu(0|ar[l>>2]),We(0|Lf(0|We(X=T+8|0,25533,13),r),25547,23),Ie(R,I),oo(A,2,117,R),(0|tr[R+11>>0])<0&&vu(0|ar[R>>2]),ar[T>>2]=4504,ar[W>>2]=4544,ar[X>>2]=4524,ar[I>>2]=4340,(0|tr[C+11>>0])<0&&vu(0|ar[C>>2]),kf(I),bf(W)),0|(X=0|ar[u>>2])){if((0|(W=0|ar[U>>2]))!=(0|X)){do{if(I=W+-32|0,ar[U>>2]=I,F=0|ar[(V=W+-16|0)>>2]){if((0|(W=0|ar[(G=W+-12|0)>>2]))==(0|F))W=F;else{for(;I=W+-40|0,ar[G>>2]=I,(0|(W=(C=0|ar[W+-16>>2])?((0|ar[(W=W+-12|0)>>2])!=(0|C)&&(ar[W>>2]=C),vu(C),0|ar[G>>2]):I))!=(0|F););W=0|ar[V>>2]}vu(W),W=0|ar[U>>2]}else W=I}while((0|W)!=(0|X));X=0|ar[u>>2]}vu(X)}(0|tr[11+s>>0])<0&&vu(0|ar[s>>2]),(0|tr[11+b>>0])<0&&vu(0|ar[b>>2])}else S=19;else E=0,S=19;return(19==(0|S)&&(ar[V>>2]=0,ar[V+4>>2]=0,ar[V+8>>2]=0,oo(A,5,2e3,V),(0|tr[V+11>>0])<0&&vu(0|ar[V>>2])),E)?(du(E),void(ur=d)):void(ur=d)}}ar[C>>2]=0,ar[C+4>>2]=0,ar[C+8>>2]=0,oo(A,5,2e3,C),ur=(0<=(0|tr[C+11>>0])||vu(0|ar[C>>2]),d)}function go(A){return(A|=0)>>>0<4?16908801>>>(A<<3)&255|0:(sr(55739,25597,47,25611),0)}function Zo(A){return(A|=0)>>>0<4?16843265>>>(A<<3)&255|0:(sr(55739,25597,66,25632),0)}function po(A){var e,r,i=0,f=0,n=0;if((0|(i=0|ar[(e=(A|=0)+56|0)>>2]))!=(0|(r=A+60|0)))for(n=i;;){if(0|(i=0|ar[n+44>>2])&&mu(i),i=0|ar[n+4>>2])for(;f=0|ar[i>>2];)i=f;else if(i=0|ar[(f=n+8|0)>>2],(0|ar[i>>2])!=(0|n))for(;n=0|ar[f>>2],i=0|ar[(f=n+8|0)>>2],(0|ar[i>>2])!=(0|n););if((0|i)==(0|r))break;n=i}!function A(e,r){e|=0;r|=0;return r?(A(e,0|ar[r>>2]),A(e,0|ar[r+4>>2]),void vu(r)):void 0}(e,0|ar[r>>2]),0|(i=0|ar[A+52>>2])&&du(i),0|(i=0|ar[A+44>>2])&&du(i),(0|tr[(i=A+8|0)+11>>0])<0&&vu(0|ar[i>>2]),(i=0|ar[A+4>>2])&&ku(i)}function yo(A,e,r,i,f){e|=0,r|=0,i|=0,f|=0,ar[(A|=0)+24>>2]=e,ar[A+28>>2]=r,ar[A+32>>2]=i,ar[A+36>>2]=f}function Bo(A,e,r,i,f){A|=0,e|=0,r|=0,i|=0,f|=0;var n,t,o=0,a=0;if(ur=(t=ur)+64|0,tr[(o=(n=t)+32|0)>>0]=0,ar[(a=o+4|0)>>2]=0,ar[a+4>>2]=0,ar[a+8>>2]=0,ar[a+12>>2]=0,ar[a+16>>2]=0,ar[a+20>>2]=0,!((ar[a+24>>2]=0)|function(A,e,r,i,f){A|=0,r|=0,i|=0,f|=0;var n=0,t=0;(0|(e|=0))<=-1&&sr(25686,25597,157,25697);(0|r)<=-1&&sr(25703,25597,158,25697);(0|i)<=0&&sr(25715,25597,159,25697);33<=(0|i)&&sr(25730,25597,160,25697);ar[A+4>>2]=e,ar[A+8>>2]=r,n=64<(n=e+1&-2)>>>0?n:64,ar[A+12>>2]=n,r=64<(r=r+1&-2)>>>0?r:64,ar[A+16>>2]=r,e=11==(0|f)&32==(0|(e=24==(0|i)&10==(0|f)?8:i))?8:e,17<=(0|cr[A>>0])&&sr(25746,25597,181,25697);switch(e=(7+(255&(tr[A>>0]=e))|0)>>>3,0|f){case 3:case 2:case 1:case 0:case 99:t=1;break;case 14:case 12:case 10:t=3;break;case 15:case 13:case 11:t=4;break;default:sr(55739,25597,118,25653)}return t=15+(0|br(0|br(t,e),n))&-16,ar[A+28>>2]=t,t=0|wu(15|br(t,r)),ar[A+24>>2]=t,f=15&t,ar[A+20>>2]=0==(0|f)?t:t+(16-f)|0,1}(o,r,i,f,0|ar[A+36>>2])))return ur=t,(A=0)|A;a=A+56|0,ar[n>>2]=ar[o>>2],ar[n+4>>2]=ar[o+4>>2],ar[n+8>>2]=ar[o+8>>2],ar[n+12>>2]=ar[o+12>>2],ar[n+16>>2]=ar[o+16>>2],ar[n+20>>2]=ar[o+20>>2],ar[n+24>>2]=ar[o+24>>2],ar[n+28>>2]=ar[o+28>>2],r=0|ar[(i=A+60|0)>>2];do{if(r){for(f=A+60|0;;)if((0|e)<(0|(i=0|ar[r+16>>2]))){if(!(i=0|ar[r>>2])){i=7;break}f=r,r=i}else{if((0|e)<=(0|i)){i=11;break}if(!(i=0|ar[(f=r+4|0)>>2])){i=10;break}r=i}if(7==(0|i)){f=o=r;break}if(10==(0|i)){o=r;break}if(11==(0|i)){o=r;break}}else f=o=i}while(0);return 0|ar[f>>2]||(r=0|hu(52),ar[r+16>>2]=e,ar[(i=r+20|0)>>2]=ar[n>>2],ar[i+4>>2]=ar[n+4>>2],ar[i+8>>2]=ar[n+8>>2],ar[i+12>>2]=ar[n+12>>2],ar[i+16>>2]=ar[n+16>>2],ar[i+20>>2]=ar[n+20>>2],ar[i+24>>2]=ar[n+24>>2],ar[i+28>>2]=ar[n+28>>2],ar[r>>2]=0,ar[r+4>>2]=0,ar[r+8>>2]=o,ar[f>>2]=r,(i=0|ar[ar[a>>2]>>2])&&(ar[a>>2]=i,r=0|ar[f>>2]),so(0|ar[A+60>>2],r),ar[(A=A+64|0)>>2]=1+(0|ar[A>>2])),ur=t,0|(A=1)}function Eo(A,e){e|=0;var r,i=0,f=0;if(0|(i=0|ar[(r=(A|=0)+60|0)>>2])){A=r,f=i;A:for(;;){for(i=f;!((0|ar[i+16>>2])>=(0|e));)if(!(i=0|ar[i+4>>2]))break A;if(!(f=0|ar[i>>2])){A=i;break}A=i}if((0|A)!=(0|r)&&(0|ar[A+16>>2])<=(0|e))return 0|(e=(0|(e=A))!=(0|r))}return 0|(e=(0|(e=r))!=(0|r))}function Xo(A,e){e|=0;var r,i=0,f=0;if(!(i=0|ar[(r=(A|=0)+60|0)>>2]))return 0|(e=-1);A=r,f=i;A:for(;;){for(i=f;!((0|ar[i+16>>2])>=(0|e));)if(!(i=0|ar[i+4>>2]))break A;if(!(f=0|ar[i>>2])){A=i;break}A=i}return(0|A)==(0|r)||(0|ar[A+16>>2])>(0|e)?0|(e=-1):0|(e=0|ar[A+24>>2])}function Wo(A,e){e|=0;var r,i=0,f=0;if(!(i=0|ar[(r=(A|=0)+60|0)>>2]))return 0|(e=-1);A=r,f=i;A:for(;;){for(i=f;!((0|ar[i+16>>2])>=(0|e));)if(!(i=0|ar[i+4>>2]))break A;if(!(f=0|ar[i>>2])){A=i;break}A=i}return(0|A)==(0|r)||(0|ar[A+16>>2])>(0|e)?0|(e=-1):0|(e=0|ar[A+28>>2])}function Io(A,e){e|=0;var r,i,f,n,t=0,o=0,a=0,c=0,l=0;if(ar[(i=(A|=0)+4|0)>>2]=0,n=A+4|(ar[(f=A+8|0)>>2]=0),ar[A>>2]=n,(0|(t=0|ar[e+56>>2]))!=(0|(r=e+60|0)))for(l=t,e=0;;){c=l+16|0;do{if(e){for(a=0|ar[c>>2],o=i;;){if((0|a)<(0|(t=0|ar[e+16>>2]))){if(!(t=0|ar[e>>2])){t=9;break}}else{if((0|a)<=(0|t)){t=13;break}if(!(t=0|ar[(o=e+4|0)>>2])){t=12;break}e=o}o=e,e=t}if(9==(0|t)){o=a=e;break}if(12==(0|t)){a=e;break}if(13==(0|t)){a=e;break}}else o=a=n}while(0);if(0|ar[o>>2]||(e=0|hu(20),ar[e+16>>2]=ar[c>>2],ar[e>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=a,ar[o>>2]=e,(t=0|ar[ar[A>>2]>>2])&&(ar[A>>2]=t,e=0|ar[o>>2]),so(0|ar[i>>2],e),ar[f>>2]=1+(0|ar[f>>2])),e=0|ar[l+4>>2])for(;t=0|ar[e>>2];)e=t;else if(e=0|ar[(t=l+8|0)>>2],(0|ar[e>>2])!=(0|l))for(;l=0|ar[t>>2],e=0|ar[(t=l+8|0)>>2],(0|ar[e>>2])!=(0|l););if((0|e)==(0|r))break;l=e,e=0|ar[n>>2]}}function Co(A,e){return A|=0,(e|=0)&&(Co(A,0|ar[e>>2]),Co(A,0|ar[e+4>>2]),void vu(e))}function Go(A,e){A|=0;var r,i=0,f=0;if(10==(0|(e|=0)))switch(0|ar[A+36>>2]){case 11:return 0|(e=32);case 14:case 12:return 0|(e=48);case 15:case 13:return 0|(e=64);case 10:return 0|(e=24);default:return 0|(e=-1)}if(i=0|ar[(r=A+60|0)>>2]){A=r,f=i;A:for(;;){for(i=f;!((0|ar[i+16>>2])>=(0|e));)if(!(i=0|ar[i+4>>2]))break A;if(!(f=0|ar[i>>2])){A=i;break}A=i}A=(0|A)!=(0|r)&&(0|ar[A+16>>2])<=(0|e)?0|tr[A+20>>0]:-1}else A=-1;return 256<=(A=7+(255&A)&504)>>>0&&sr(25764,25597,362,25775),0|(e=255&A)}function Vo(A,e){e|=0;var r,i=0,f=0;if(!(i=0|ar[(r=(A|=0)+60|0)>>2]))return 0|(e=-1);A=r,f=i;A:for(;;){for(i=f;!((0|ar[i+16>>2])>=(0|e));)if(!(i=0|ar[i+4>>2]))break A;if(!(f=0|ar[i>>2])){A=i;break}A=i}return(0|A)==(0|r)||(0|ar[A+16>>2])>(0|e)?0|(e=-1):0|(e=0|tr[A+20>>0])}function Fo(A,e,r){e|=0,r|=0;var i,f=0,n=0;if(!(f=0|ar[(i=(A|=0)+60|0)>>2]))return(r=0)|r;A=i,n=f;A:for(;;){for(f=n;!((0|ar[f+16>>2])>=(0|e));)if(!(f=0|ar[f+4>>2]))break A;if(!(n=0|ar[f>>2])){A=f;break}A=f}return(0|A)==(0|i)||(0|ar[A+16>>2])>(0|e)?(r=0)|r:(0|r&&(ar[r>>2]=ar[A+48>>2]),0|(r=0|ar[A+40>>2]))}function Ro(A,e,r){e|=0,r|=0;var i,f=0,n=0;if(!(f=0|ar[(i=(A|=0)+60|0)>>2]))return(r=0)|r;A=i,n=f;A:for(;;){for(f=n;!((0|ar[f+16>>2])>=(0|e));)if(!(f=0|ar[f+4>>2]))break A;if(!(n=0|ar[f>>2])){A=f;break}A=f}return(0|A)==(0|i)||(0|ar[A+16>>2])>(0|e)?(r=0)|r:(0|r&&(ar[r>>2]=ar[A+48>>2]),0|(r=0|ar[A+40>>2]))}function No(A,e,r,i){A|=0,r|=0,i|=0;var f,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0;if(b=60+(0|ar[(e|=0)>>2])|0,l=0==(0|(u=0|ar[b>>2])))d=n=s=-1;else{n=b,o=u;A:for(;;){for(t=o;!((0|ar[t+16>>2])>=(0|r));)if(!(t=0|ar[t+4>>2]))break A;if(!(o=0|ar[t>>2])){n=t;break}n=t}if(c=(0|n)!=(0|b)&&(0|ar[n+16>>2])<=(0|r)?0|ar[n+24>>2]:-1,l)s=c,d=n=-1;else{n=b,o=u;A:for(;;){for(t=o;!((0|ar[t+16>>2])>=(0|r));)if(!(t=0|ar[t+4>>2]))break A;if(!(o=0|ar[t>>2])){n=t;break}n=t}if(a=(0|n)!=(0|b)&&(0|ar[n+16>>2])<=(0|r)?0|ar[n+28>>2]:-1,l)s=c,n=-1,d=a;else{n=b,o=u;A:for(;;){for(t=o;!((0|ar[t+16>>2])>=(0|r));)if(!(t=0|ar[t+4>>2]))break A;if(!(o=0|ar[t>>2])){n=t;break}n=t}d=(n=(0|n)!=(0|b)&&(0|ar[n+16>>2])<=(0|r)?(s=c,0|tr[n+20>>0]):(s=c,-1),a)}}}if(Bo(A,i,s,d,255&n),l=0|ar[e>>2],u=0==(0|(o=0|ar[(f=l+60|0)>>2])))b=e=0;else{n=f,a=o;A:for(;;){for(t=a;!((0|ar[t+16>>2])>=(0|r));)if(!(t=0|ar[t+4>>2]))break A;if(!(a=0|ar[t>>2])){n=t;break}n=t}b=(0|n)!=(0|f)&&(0|ar[n+16>>2])<=(0|r)?(e=0|ar[n+40>>2],0|ar[n+48>>2]):e=0}if(t=0|ar[(c=A+60|0)>>2]){n=c;A:for(;;){for(a=t;!((0|ar[a+16>>2])>=(0|i));){if(!(t=0|ar[a+4>>2]))break A;a=t}if(!(t=0|ar[a>>2])){n=a;break}n=a}a=(0|n)!=(0|c)&&(0|ar[n+16>>2])<=(0|i)?(c=0|ar[n+40>>2],0|ar[n+48>>2]):c=0}else a=c=0;A:do{if(10!=(0|r)){if(u)n=-1;else{n=f;e:for(;;){for(t=o;!((0|ar[t+16>>2])>=(0|r));)if(!(t=0|ar[t+4>>2]))break e;if(!(o=0|ar[t>>2])){n=t;break}n=t}n=(0|n)!=(0|f)&&(0|ar[n+16>>2])<=(0|r)?0|tr[n+20>>0]:-1}if((n=7+(255&n)|0)>>>0<256){k=(255&n)>>>3;break}sr(25764,25597,362,25775)}else switch(0|ar[l+36>>2]){case 10:k=3;break A;case 11:k=4;break A;case 14:case 12:k=6;break A;case 15:case 13:k=8;break A;default:k=31;break A}}while(0);if(t=0|br(255&k,s),0<(0|d))for(n=0;hb(c+(0|br(n,a))|0,e+(0|br(n,b))|0,0|t),(0|(n=n+1|0))!=(0|d););}function _o(A,e,r,i){A|=0,r|=0,i|=0;var f,n,t,o=0,a=0,c=0,l=0,u=0,b=0,s=0;ur=(t=ur)+64|0,f=t+32|0,n=t,u=(s=0|ar[(e|=0)>>2])+56|0,b=0|ar[(o=s+60|0)>>2];do{if(b){for(c=s+60|0,o=b;;)if((0|r)<(0|(a=0|ar[o+16>>2]))){if(!(a=0|ar[o>>2])){a=6;break}c=o,o=a}else{if((0|r)<=(0|a)){a=10;break}if(!(a=0|ar[(c=o+4|0)>>2])){a=9;break}o=a}if(6==(0|a)){c=l=o;break}if(9==(0|a)){l=o;break}if(10==(0|a)){l=o;break}}else c=l=o}while(0);if((o=0|ar[c>>2])||(a=0|hu(52),ar[a+16>>2]=r,ar[(o=a+20|0)>>2]=0,ar[o+4>>2]=0,ar[o+8>>2]=0,ar[o+12>>2]=0,ar[o+16>>2]=0,ar[o+20>>2]=0,ar[o+24>>2]=0,ar[o+28>>2]=0,ar[a>>2]=0,ar[a+4>>2]=0,ar[a+8>>2]=l,ar[c>>2]=a,o=(o=0|ar[ar[u>>2]>>2])?(ar[u>>2]=o,0|ar[c>>2]):a,so(0|ar[s+60>>2],o),ar[(b=s+64|0)>>2]=1+(0|ar[b>>2]),b=0|ar[e>>2],o=a,b=0|ar[(s=b)+60>>2]),u=o+20|0,ar[f>>2]=ar[u>>2],ar[4+f>>2]=ar[u+4>>2],ar[8+f>>2]=ar[u+8>>2],ar[12+f>>2]=ar[u+12>>2],ar[16+f>>2]=ar[u+16>>2],ar[20+f>>2]=ar[u+20>>2],ar[24+f>>2]=ar[u+24>>2],ar[28+f>>2]=ar[u+28>>2],u=s+56|0,l=s+60|0,0|b){c=l,a=b;A:for(;;){for(o=a;!((0|ar[o+16>>2])>=(0|r));)if(!(o=0|ar[o+4>>2]))break A;if(!(a=0|ar[o>>2])){c=o;break}c=o}if((0|c)!=(0|l)&&(0|ar[c+16>>2])<=(0|r)){if(o=0|ar[c+4>>2])for(;a=0|ar[o>>2];)o=a;else if(o=0|ar[(a=c+8|0)>>2],(0|ar[o>>2])!=(0|c))for(;r=0|ar[a>>2],o=0|ar[(a=r+8|0)>>2],(0|ar[o>>2])!=(0|r););(0|ar[u>>2])==(0|c)&&(ar[u>>2]=o),ar[(r=s+64|0)>>2]=(0|ar[r>>2])-1,function(A,e){A|=0;var r,i,f,n=0,t=0,o=0,a=0,c=0,l=0,u=0;if(t=0|ar[(e|=0)>>2])if(n=0|ar[e+4>>2])for(;;){if(!(t=0|ar[n>>2])){t=0;break}n=t}else n=e;else n=e,t=0;r=n+4|0,i=0|ar[(0|t?n:r)>>2],l=n+8|0,(f=0!=(0|i))&&(ar[8+i>>2]=ar[l>>2]);t=0|ar[l>>2],(0|ar[t>>2])==(0|n)?(ar[t>>2]=i,(0|n)==(0|A)?(A=i,c=0):(t=t+4|0,u=10)):(ar[t+4>>2]=i,u=10);10==(0|u)&&(c=0|ar[t>>2]);a=0!=(0|tr[(o=n+12|0)>>0]),(0|n)!=(0|e)&&(t=0|ar[(u=e+8|0)>>2],ar[l>>2]=t,ar[((0|ar[ar[u>>2]>>2])==(0|e)?t:t+4|0)>>2]=n,t=0|ar[e>>2],ar[n>>2]=t,ar[t+8>>2]=n,t=0|ar[e+4>>2],0|(ar[r>>2]=t)&&(ar[t+8>>2]=n),tr[o>>0]=0|tr[e+12>>0],A=(0|A)==(0|e)?n:A);if(!(a&0!=(0|A)))return;if(f)return tr[12+i>>0]=1;for(;;){if(a=0|ar[c+8>>2],t=0!=(0|tr[(n=c+12|0)>>0]),(0|ar[a>>2])==(0|c)){if(t?l=c:(tr[n>>0]=1,tr[a+12>>0]=0,n=0|ar[a>>2],o=0|ar[(t=n+4|0)>>2],0|(ar[a>>2]=o)&&(ar[o+8>>2]=a),u=a+8|0,ar[n+8>>2]=ar[u>>2],l=0|ar[u>>2],ar[((0|ar[l>>2])==(0|a)?l:l+4|0)>>2]=n,ar[t>>2]=a,ar[u>>2]=n,u=0|ar[c+4>>2],l=0|ar[u>>2],A=(0|A)==(0|u)?c:A),n=0|ar[l>>2],!(o=0==(0|n))&&0==(0|tr[n+12>>0])){A=l,u=55;break}if(0|(a=0|ar[(t=l+4|0)>>2])&&0==(0|tr[a+12>>0])){u=49;break}if(((tr[l+12>>0]=0)|(n=0|ar[l+8>>2]))==(0|A)|0==(0|tr[(t=n+12|0)>>0])){u=48;break}}else{if(t?o=c:(tr[n>>0]=1,tr[a+12>>0]=0,n=0|ar[(u=a+4|0)>>2],t=0|ar[n>>2],0|(ar[u>>2]=t)&&(ar[t+8>>2]=a),u=a+8|0,ar[n+8>>2]=ar[u>>2],o=0|ar[u>>2],ar[((0|ar[o>>2])==(0|a)?o:o+4|0)>>2]=n,ar[n>>2]=a,ar[u>>2]=n,u=0|ar[c>>2],o=0|ar[u+4>>2],A=(0|A)==(0|u)?c:A),0|(t=0|ar[o>>2])&&0==(0|tr[t+12>>0])){u=31;break}if(0|(n=0|ar[o+4>>2])&&0==(0|tr[n+12>>0])){A=n,u=32;break}if(((tr[o+12>>0]=0)|(n=0|ar[o+8>>2]))==(0|A)){u=30;break}if(!(0|tr[n+12>>0])){A=n,u=30;break}}c=0|ar[n+8>>2],c=0|ar[((0|ar[c>>2])==(0|n)?c+4|0:c)>>2]}do{if(30==(0|u))return tr[A+12>>0]=1;if(31==(0|u))A=0|ar[o+4>>2],u=A?32:33;else{if(48==(0|u))return tr[t>>0]=1;if(49==(0|u)){if(o)A=a;else{if(!(0|tr[n+12>>0])){A=l,u=55;break}A=0|ar[(t=A=l+4|0)>>2]}tr[A+12>>0]=1,tr[l+12>>0]=0,n=0|ar[A>>2],0|(ar[t>>2]=n)&&(ar[n+8>>2]=l),n=l+8|0,ar[A+8>>2]=ar[n>>2],u=0|ar[n>>2],ar[((0|ar[u>>2])==(0|l)?u:u+4|0)>>2]=A,ar[A>>2]=l,ar[n>>2]=A,n=l,u=55}}}while(0);if(32==(0|u))0|tr[A+12>>0]?u=33:n=o;else if(55==(0|u))return o=0|ar[A+8>>2],t=o+12|0,tr[A+12>>0]=0|tr[t>>0],tr[t>>0]=1,tr[n+12>>0]=1,A=0|ar[o>>2],t=0|ar[(n=A+4|0)>>2],0|(ar[o>>2]=t)&&(ar[t+8>>2]=o),u=o+8|0,ar[A+8>>2]=ar[u>>2],e=0|ar[u>>2],ar[((0|ar[e>>2])==(0|o)?e:e+4|0)>>2]=A,ar[n>>2]=o,ar[u>>2]=A;33==(0|u)&&(tr[t+12>>0]=1,tr[o+12>>0]=0,n=0|ar[(A=t+4|0)>>2],0|(ar[o>>2]=n)&&(ar[n+8>>2]=o),n=o+8|0,ar[t+8>>2]=ar[n>>2],u=0|ar[n>>2],ar[((0|ar[u>>2])==(0|o)?u:u+4|0)>>2]=t,ar[A>>2]=o,ar[n>>2]=t,n=t,A=o);t=0|ar[n+8>>2],u=t+12|0,tr[n+12>>0]=0|tr[u>>0],tr[u>>0]=1,tr[A+12>>0]=1,A=0|ar[(u=t+4|0)>>2],n=0|ar[A>>2],0|(ar[u>>2]=n)&&(ar[n+8>>2]=t);u=t+8|0,ar[A+8>>2]=ar[u>>2],e=0|ar[u>>2],ar[((0|ar[e>>2])==(0|t)?e:e+4|0)>>2]=A,ar[A>>2]=t,ar[u>>2]=A}(b,c),vu(c)}}u=A+56|0,ar[n>>2]=ar[f>>2],ar[n+4>>2]=ar[4+f>>2],ar[n+8>>2]=ar[8+f>>2],ar[n+12>>2]=ar[12+f>>2],ar[n+16>>2]=ar[16+f>>2],ar[n+20>>2]=ar[20+f>>2],ar[n+24>>2]=ar[24+f>>2],ar[n+28>>2]=ar[28+f>>2],o=0|ar[(a=A+60|0)>>2];do{if(o){for(c=A+60|0;;)if((0|i)<(0|(a=0|ar[o+16>>2]))){if(!(a=0|ar[o>>2])){a=36;break}c=o,o=a}else{if((0|i)<=(0|a)){a=40;break}if(!(a=0|ar[(c=o+4|0)>>2])){a=39;break}o=a}if(36==(0|a)){c=l=o;break}if(39==(0|a)){l=o;break}if(40==(0|a)){l=o;break}}else c=l=a}while(0);ur=(0|ar[c>>2]||(o=0|hu(52),ar[o+16>>2]=i,ar[(a=o+20|0)>>2]=ar[n>>2],ar[a+4>>2]=ar[n+4>>2],ar[a+8>>2]=ar[n+8>>2],ar[a+12>>2]=ar[n+12>>2],ar[a+16>>2]=ar[n+16>>2],ar[a+20>>2]=ar[n+20>>2],ar[a+24>>2]=ar[n+24>>2],ar[a+28>>2]=ar[n+28>>2],ar[o>>2]=0,ar[o+4>>2]=0,ar[o+8>>2]=l,ar[c>>2]=o,(a=0|ar[ar[u>>2]>>2])&&(ar[u>>2]=a,o=0|ar[c>>2]),so(0|ar[A+60>>2],o),ar[(A=A+64|0)>>2]=1+(0|ar[A>>2])),t)}function Yo(A,e){A|=0;var r,i,f,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0;if(ur=(f=ur)+16|0,r=f,((tr[(e|=0)>>0]=0)|(t=n=0|ar[(i=A+377216|0)>>2]))==(0|(o=b=0|ar[(d=A+377220|0)>>2])))return ur=f,(d=0)|d;u=0|ar[n>>2],a=0|ar[u+10636>>2],b=c=0|ar[u+10632>>2];A:do{if((0|a)!=(0|c)){for(c=a-c>>2,a=0;l=0|ar[b+(a<<2)>>2],a=a+1|0,0|ar[l+40>>2];)if(c>>>0<=a>>>0)break A;if(l){if(0|tr[l+36>>0]&&ra(A+376148|0),tr[e>>0]=1,n=0|Qo(A,u,l))return ur=f,0|(d=n);t=n=0|ar[i>>2],o=0|ar[d>>2];break}}}while(0);if(1<o-t>>2>>>0?(u=0|ar[n>>2],(0|(b=0|ar[u+10636>>2]))!=(0|ar[u+10632>>2])&&0==(0|ar[40+(0|ar[b+-4>>2])>>2])&&(s=14)):s=14,14==(0|s)){if((0|o)==(0|(n=s=0|ar[i>>2])))return ur=f,(d=0)|d;if(b=0|ar[n>>2],(0|(s=0|ar[b+10636>>2]))!=(0|ar[b+10632>>2])&&0==(0|ar[40+(0|ar[s+-4>>2])>>2]))return ur=f,(d=0)|d;if((0!=(0|ar[A+556>>2])|0)!=(0-(0|ar[A+580>>2])|0))return ur=f,(d=0)|d;if(0==(0|tr[A+548>>0])&&0==(0|tr[A+549>>0]))return ur=f,(d=0)|d}if(c=0|ar[n>>2],tr[e>>0]=1,n=0|ar[c>>2],0<(0|ar[(o=n+10344|0)>>2])){for(t=n+10524|0,n=0;Tn((0|ar[t>>2])+(80*n|0)|0,1),(0|(n=n+1|0))<(0|ar[o>>2]););a=0|ar[c>>2]}else a=n;n=0|ar[(o=a+10332|0)>>2],t=0==(0|tr[n+532>>0]),0|ar[375892+(0|ar[10332+(0|ar[A+376224>>2])>>2])>>2]?(t?(function(A){var e,r,i,f,n,t,o,a=0,c=0,l=0;if(ur=(o=ur)+16|0,r=o,i=0|ar[(A|=0)>>2],l=0|ar[10332+i>>2],ca(i,ar[(f=5828+i|0)>>2]<<1),n=A+10668|0,t=A+10672|0,l=l+375396|0,e=A+10664|0,0<(0|ar[f>>2])){for(c=0;A=0|hu(20),ar[A+4>>2]=0,ar[A>>2]=9552,ar[A+8>>2]=i,ar[A+12>>2]=c,tr[A+16>>0]=1,ar[r>>2]=A,(a=0|ar[n>>2])>>>0<(0|ar[t>>2])>>>0?(ar[a>>2]=A,ar[n>>2]=4+(0|ar[n>>2])):Oe(e,r),Sn(l,A),(0|(c=c+1|0))<(0|(A=0|ar[f>>2])););if(0<(0|A)){for(A=0;a=0|hu(20),ar[a+4>>2]=0,ar[a>>2]=9552,ar[a+8>>2]=i,ar[a+12>>2]=A,tr[a+16>>0]=0,ar[r>>2]=a,(c=0|ar[n>>2])>>>0<(0|ar[t>>2])>>>0?(ar[c>>2]=a,ar[n>>2]=4+(0|ar[n>>2])):Oe(e,r),Sn(l,a),(0|(A=A+1|0))<(0|ar[f>>2]););ur=o}else ur=o}else ur=o}(c),t=3,n=0|ar[o>>2]):t=1,0|tr[n+533>>0]||function(A,e){e|=0;var r,i,f,n,t=0,o=0,a=0,c=0,l=0,u=0,b=0;if(ur=(n=ur)+16|0,f=n,b=0|ar[(A|=0)>>2],!(0|tr[b+5467>>0]))return ur=n,b=0;if(o=0|ar[(t=b+10332|0)>>2],u=b+10480|0,0|ta(i=A+8|0,0|ar[b+24>>2],0|ar[b+28>>2],0|ar[b+20>>2],b+764|0,0,o,0|ar[b+10336>>2],0|ar[u>>2],0|ar[u+4>>2],0|ar[b+10488>>2],1))return er(4+(0|ar[t>>2])|0,1024,0),ur=n,b=0;if(r=0|ar[b+5828>>2],ca(b,r),0<(0|r))for(l=A+10668|0,u=A+10672|0,c=o+375396|0,o=A+10664|0,t=0;A=0|hu(28),ar[A+4>>2]=0,ar[A>>2]=7752,ar[A+16>>2]=b,ar[A+20>>2]=i,ar[A+12>>2]=b,ar[A+8>>2]=t,ar[A+24>>2]=e,ar[f>>2]=A,(a=0|ar[l>>2])>>>0<(0|ar[u>>2])>>>0?(ar[a>>2]=A,ar[l>>2]=4+(0|ar[l>>2])):Oe(o,f),Sn(c,A),(0|(t=t+1|0))!=(0|r););sa(b),function(A,e){var r,i=0,f=0,n=0;n=(e=e|0)+4|0,f=0|ar[(i=(A=A|0)+4|0)>>2],ar[i>>2]=ar[n>>2],ar[n>>2]=f,f=e+60|0,i=0|ar[(n=A+60|0)>>2],ar[n>>2]=ar[f>>2],ar[f>>2]=i,i=e+10492|0,n=0|ar[(f=A+10492|0)>>2],ar[f>>2]=ar[i>>2],ar[i>>2]=n,n=e+8|0,f=0|ar[(i=A+8|0)>>2],ar[i>>2]=ar[n>>2],ar[n>>2]=f,f=e+64|0,i=0|ar[(n=A+64|0)>>2],ar[n>>2]=ar[f>>2],ar[f>>2]=i,i=e+10496|0,n=0|ar[(f=A+10496|0)>>2],ar[f>>2]=ar[i>>2],ar[i>>2]=n,n=e+12|0,f=0|ar[(i=A+12|0)>>2],ar[i>>2]=ar[n>>2],ar[n>>2]=f,f=e+68|0,i=0|ar[(n=A+68|0)>>2],ar[n>>2]=ar[f>>2],ar[f>>2]=i,i=e+10500|0,n=0|ar[(f=A+10500|0)>>2],ar[f>>2]=ar[i>>2],ar[i>>2]=n,n=e+40|0,f=0|ar[(i=A+40|0)>>2],ar[i>>2]=ar[n>>2],ar[n>>2]=f,f=e+44|0,i=0|ar[(n=A+44|0)>>2],ar[n>>2]=ar[f>>2],ar[f>>2]=i,e=e+10504|0,i=0|ar[(A=f=A+10504|0)>>2],A=0|ar[A+4>>2],r=0|ar[(n=e)+4>>2],ar[f>>2]=ar[n>>2],ar[f+4>>2]=r,ar[e>>2]=i,ar[e+4>>2]=A}(b,i),ur=n,b=1}(c,t),sa(a)):(t&&(function(A){var e,r,i,f=0,n=0,t=0;if(0<(0|ar[(t=(A|=0)+5828|0)>>2])){for(n=f=0;f=0|f|Zt(A,n),(0|(n=n+1|0))<(0|ar[t>>2]););if(f){i=A+10472|0,pt(A,1,0,0|ar[(r=A+10476|0)>>2],0,0|ar[i>>2]),f=0|ar[r>>2],n=0|ar[i>>2],(8<(0|ar[(e=A+5760|0)>>2])?yt:Bt)(A,1,0,f,0,n),t=A+5776|0;do{if(0|ar[t>>2]){if(f=0|ar[r>>2],n=0|ar[i>>2],8<(0|ar[A+5768>>2])){Et(A,1,0,f,0,n);break}Xt(A,1,0,f,0,n);break}}while(0);if(pt(A,0,0,0|ar[r>>2],0,0|ar[i>>2]),f=0|ar[r>>2],n=0|ar[i>>2],(8<(0|ar[e>>2])?yt:Bt)(A,0,0,f,0,n),0|ar[t>>2])n=0|ar[r>>2],f=0|ar[i>>2],8<(0|ar[A+5768>>2])?Et(A,0,0,n,0,f):Xt(A,0,0,n,0,f)}}}(a),n=0|ar[o>>2]),0|tr[n+533>>0]||function(A){var e,r,i,f,n,t,o,a,c,l,u,b,s,d,k,h,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0,C=0,G=0,V=0;if(!(0|tr[5467+(A|=0)>>0]))return;d=A+40|0,C=0|br(0|ar[(k=A+28|0)>>2],0|ar[d>>2]),C=0|br(C,(7+(0|ar[(h=A+5760|0)>>2])|0)/8|0),e=A+44|0,V=0|br(0|ar[(r=A+36|0)>>2],0|ar[e>>2]),V=0|br(V,(7+(0|ar[(i=A+5768|0)>>2])|0)/8|0),V=0|wu(-1<(0|(V=(0|V)<(0|C)?C:V))?V:-1),C=0==(0|ar[A+5776>>2])?1:3,n=A+5820|0,t=A+10352|0,o=A+10340|0,a=A+48|0,c=A+52|0,l=A+5804|0,u=A+4|0,b=A+5780|0,s=A+5784|0,w=0|ar[(f=A+5828|(G=0))>>2];A:for(;;){if(B=0|ar[(X=(W=0==(0|G))?d:e)>>2],I=A+4+(G<<2)|0,y=0|br(0|ar[(W?k:r)>>2],B),E=W?h:i,hb(0|V,0|ar[I>>2],0|br(y,(7+(0|ar[E>>2])|0)/8|0)),0<(0|w))for(w=(y=0)|ar[n>>2];;){if(0<(0|w))for(p=0;;){if(w=(0|br(0|ar[t>>2],y))+p|0,w=0|lr[(0|ar[o>>2])+(24*w|0)+2>>1],v=0|ar[a>>2],w>>>0>=(0|ar[c>>2])-v>>2>>>0){w=21;break A}if(!(Z=0|ar[v+(w<<2)>>2])){w=21;break A}do{if(W){if(0|tr[Z+325>>0]){if(v=1<<ar[l>>2],m=0|ar[u>>2],w=0|ar[d>>2],8<(0|ar[h>>2])){Ra(A,p,y,Z,0,v,v,V,B,m,w);break}Na(A,p,y,Z,0,v,v,V,B,m,w);break}}else if(0|tr[Z+326>>0]){if(m=1<<ar[l>>2],v=(0|m)/(0|ar[b>>2])|0,m=(0|m)/(0|ar[s>>2])|0,g=0|ar[I>>2],w=0|ar[X>>2],8<(0|ar[E>>2])){Ra(A,p,y,Z,G,v,m,V,B,g,w);break}Na(A,p,y,Z,G,v,m,V,B,g,w);break}}while(0);if(p=p+1|0,(0|(w=0|ar[n>>2]))<=(0|p)){v=w;break}}else v=w;if(y=y+1|0,(0|(w=0|ar[f>>2]))<=(0|y))break;w=v}if((0|C)<=(0|(G=G+1|0))){w=20;break}}{if(20==(0|w))return mu(V);if(21==(0|w));}}(a)),a=c+10648|0,n=0|ar[(o=c+10644|0)>>2];A:do{if((0|ar[a>>2])==(0|n))a=0;else for(t=0;;){if(n=0|Qa(n+(80*t|0)|0,0|ar[c>>2]),t=t+1|0,0|n){a=n;break A}if(n=0|ar[o>>2],t>>>0>=(((0|ar[a>>2])-n|0)/80|0)>>>0){a=0;break}}}while(0);if(0|(n=0|ar[c>>2])){do{if(0|tr[n+100>>0]){if(0|tr[n+10516>>0]&&0|tr[A+514>>0])break;ar[r>>2]=n,(0|(o=0|ar[(t=A+376172|0)>>2]))==(0|ar[A+376176>>2])?Do(A+376168|0,r):(ar[o>>2]=n,ar[t>>2]=4+(0|ar[t>>2]))}}while(0);((0|ar[A+376172>>2])-(0|ar[A+376168>>2])>>2|0)>(0|ar[n+596+(12*((0|ar[n+116>>2])-1|0)|0)+4>>2])&&Aa(A+376148|0)}if(Te(c),vu(c),1<(n=0|ar[d>>2])-(t=0|ar[i>>2])>>2>>>0)for(o=1;ar[(n=t)+(o+-1<<2)>>2]=ar[n+(o<<2)>>2],(o=o+1|0)>>>0<(n=0|ar[d>>2])-(t=0|ar[i>>2])>>2>>>0;);return ar[d>>2]=n+-4,ur=f,0|(d=a)}function Qo(A,e,r){A|=0,e|=0;var i,f,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0;if(l=(u=0|ar[(f=(r|=0)+4|0)>>2])+1344|0,u=u+1348|0,t=0|ar[l>>2],(0|ar[u>>2])!=(0|t))for(a=A+376148|0,c=A+376156|0,o=0;-1<(0|(t=0|$o(a,0|ar[t+(o<<2)>>2])))&&(ar[96+(0|ar[(0|ar[c>>2])+(t<<2)>>2])>>2]=0),o=o+1|0,t=0|ar[l>>2],o>>>0<(0|ar[u>>2])-t>>2>>>0;);u=0|ar[e>>2],ar[(i=r+40|0)>>2]=1,c=0|ar[u+10332>>2];A:do{if(0<(0|ar[c+375892>>2]))if(l=(k=0|tr[u+5965>>0])<<24>>24!=0,t=(h=0|tr[u+5966>>0])<<24>>24!=0,(k|h)<<24>>24)d=t;else{if(0<(0|(a=0|ar[(o=c+168|0)>>2]))){t=0;do{if(1e3==(0|ar[c+88+(t<<2)>>2])){d=0;break A}t=t+1|0}while((0|t)<(0|a));(0|a)<20&&(v=12)}else v=12;12==(0|v)&&(ar[o>>2]=a+1,ar[c+88+(a<<2)>>2]=1e3),20==(0|(t=0|ar[(o=c+84|0)>>2]))?(o=1001,t=19):(ar[o>>2]=t+1,o=1e3),ar[c+4+(t<<2)>>2]=o,d=0}else l=d=0}while(0);if(k=e+10632|0,(0|(t=0|ar[(h=e+10636|0)>>2]))!=(0|(o=0|ar[k>>2]))){if((0|ar[o>>2])==(0|r)&&0<(0|(b=0|ar[16+(0|ar[f>>2])>>2]))){for(o=u+10524|0,t=0;Tn((0|ar[o>>2])+(80*t|0)|0,1),(0|(t=t+1|0))!=(0|b););o=0|ar[k>>2],t=0|ar[h>>2]}}else o=t;a=t-o>>2;A:do{if(1<a>>>0){for(t=1;(0|ar[o+(t<<2)>>2])!=(0|r);)if(a>>>0<=(t=t+1|0)>>>0)break A;if(0|(c=0|ar[o+(t+-1<<2)>>2])&&2==(0|ar[c+40>>2])){a=a+-1|0,t=0;do{if(a>>>0<=t>>>0)break A;t=(b=t)+1|0}while((0|ar[o+(b<<2)>>2])!=(0|c));if(0|(t=0|ar[o+(t<<2)>>2])&&(0|(n=0|ar[16+(0|ar[c+4>>2])>>2]))<(0|ar[16+(0|ar[(s=t+4|0)>>2])>>2]))do{if(t=0|ar[e>>2],(0|n)>=(0|ar[t+10344>>2]))break A;Tn((0|ar[t+10524>>2])+(80*n|0)|0,1),n=n+1|0}while((0|n)<(0|ar[16+(0|ar[s>>2])>>2]))}}}while(0);if(!(l|d)){a=0|function(A,e,r){A|=0,e|=0;var i,f,n,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0;if(ur=(n=ur)+18624|0,f=n,t=0|ar[(i=4+(r|=0)|0)>>2],b=t+1348|0,o=0|ar[(u=t+1344|0)>>2],(0|ar[b>>2])!=(0|o)){for(c=A+376148|0,l=A+376156|0,a=0,t=o;-1<(0|(t=0|$o(c,0|ar[t+(a<<2)>>2])))&&(ar[96+(0|ar[(0|ar[l>>2])+(t<<2)>>2])>>2]=0),a=a+1|0,t=0|ar[u>>2],a>>>0<(0|ar[b>>2])-t>>2>>>0;);t=0|ar[i>>2]}if(b=0|ar[e>>2],(0|ar[t+16>>2])>>>0>=(0|ar[b+10276>>2])-(0|ar[b+10272>>2])>>2>>>0)return ur=n,0|(s=6);if(st(b=f+18580|0),t=f+48|0,ar[(u=f+18508|0)>>2]=0,ar[u+4>>2]=0,ar[u+8>>2]=0,ar[u+12>>2]=0,ar[u+16>>2]=0,vb(0|(ar[f+2112>>2]=t),0,2048),t=0|ar[i>>2],ar[f+18600>>2]=t,u=0|ar[e>>2],ar[f+18596>>2]=u,ar[f+18592>>2]=A,ar[f+18604>>2]=e,ar[f+18608>>2]=r,ar[f+4>>2]=ar[(0|ar[u+10272>>2])+(ar[t+16>>2]<<2)>>2],Se(ar[f+18612>>2]=0,f),(0|(t=0|ar[r+12>>2]))<1)t=17;else{nt(f+18556|0,0|ar[r+8>>2],t);do{if(0|tr[A+93817>>0]&&0|tr[4+(0|ar[i>>2])>>0]){if(u=e+10676|0,c=(0|ar[5828+(0|ar[A+376224>>2])>>2])-1|0,t=0|ar[(l=e+10680|0)>>2],o=0|ar[u>>2],(a=t-o>>3)>>>0<c>>>0){Jo(u,c-a|0);break}if(c>>>0<a>>>0&&(0|t)!=(0|(s=o+(c<<3)|0)))for(;e=t+-8|0,kt(ar[l>>2]=e),(0|(t=0|ar[l>>2]))!=(0|s););}}while(0);ar[r+124>>2]=1,t=0|function(A){var e,r,i,f,n,t,o=0,a=0,c=0,l=0,u=0,b=0;l=0|ar[18596+(A|=0)>>2],a=0|ar[A+4>>2],o=0|ar[l+5836>>2],c=0|ar[l+5820>>2],(0|a)<(0|o)&&(o=0|ar[(0|ar[l+10284>>2])+(a<<2)>>2]);if(ar[A>>2]=o,ar[A+8>>2]=(0|o)%(0|c)|0,ar[A+12>>2]=(0|o)/(0|c)|0,a=0|ar[(i=A+18600|0)>>2],!(0|Da(A)))return 0|(A=18);tt(f=A+18556|0),n=A+18560|0,t=A+18592|0,l=l+5966|0,e=A+18580|0,r=A+18588|0,a=0==(0|tr[a+12>>(o=0)]);for(;;){do{if(0<(0|o)){if(c=o+-1|0,b=0|ar[i>>2],u=0|ar[b+776>>2],c>>>0<(0|ar[b+780>>2])-u>>2>>>0&&((0|ar[n>>2])-2-(0|ar[f>>2])|0)==(0|ar[u+(c<<2)>>2]))break;er(4+(0|ar[t>>2])|0,1003,1)}}while(0);if(o=o+1|0,2==(2|Ja(A,0,a))){o=0,a=14;break}if(0|tr[l>>0]){if(a=0|ar[i>>2],3<=(c=0|ar[a+796>>2])>>>0){a=12;break}ht(e,c,0|ar[a+792>>2]),tr[r>>0]=0,tr[1+r>>0]=0,tr[2+r>>0]=0,tr[3+r>>0]=0,a=0}else a=0}if(12==(0|a))sr(39211,39242,1508,39251);else if(14==(0|a))return 0|o;return 0}(f),Tn(r+44|0,1)}return kt(b),ur=n,0|(s=t)}(A,e,r),ar[i>>2]=2,o=0|ar[k>>2],t=((0|ar[h>>2])-o>>2)-1|0,n=0;do{if(t>>>0<=n>>>0){w=a,v=60;break}n=(s=n)+1|0}while((0|ar[o+(s<<2)>>2])!=(0|r));if(60==(0|v))return 0|w;if(!(n=0|ar[o+(n<<2)>>2]))return 0|(e=a);if(!((0|(t=0|ar[16+(0|ar[f>>2])>>2]))<(0|ar[16+(0|ar[(o=n+4|0)>>2])>>2])))return 0|(e=a);for(n=t;;){if(t=0|ar[e>>2],(0|n)>=(0|ar[t+10344>>2])){w=a,v=60;break}if(Tn((0|ar[t+10524>>2])+(80*n|0)|0,1),(0|(n=n+1|0))>=(0|ar[16+(0|ar[o>>2])>>2])){w=a,v=60;break}}if(60==(0|v))return 0|w}if(l&d)return 0|(e=1006);if(l){!function(A,e,r){A|=0,r|=0;var i,f,n,t,o,a,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0;ur=(a=ur)+16|0,t=a,o=0|ar[(e|=0)>>2],n=0|ar[r+4>>2],f=0|ar[768+n>>2],h=1+f|0,i=0|ar[5820+o>>2],(0|ar[10536+o>>2])!=(0-(0|ar[10532+o>>2])|0)&&sr(34762,34700,989,34867);do{if(0|tr[4+n>>0]){if(l=e+10676|0,u=(0|ar[5828+o>>2])-1|0,c=0|ar[(d=e+10680|0)>>2],b=0|ar[l>>2],(s=c-b>>3)>>>0<u>>>0){Jo(l,u-s|0);break}if(u>>>0<s>>>0&&(0|c)!=(0|(k=b+(u<<3)|0)))for(;X=c+-8|0,kt(ar[d>>2]=X),(0|(c=0|ar[d>>2]))!=(0|k););}}while(0);Ue(r,h),c=0|ar[16+n>>2],s=(0|c)/(0|i)|0;A:do{if(0<=(0|f)){if(m=r+140|0,g=r+136|0,Z=10332+o|0,p=10272+o|0,y=r+12|0,B=r+8|0,E=r+124|0,X=A+375396|0,v=776+n|0,!f){if((0|ar[m>>2])<=0&&sr(34817,34837,170,34848),u=0|ar[g>>2],ar[u+18600>>2]=n,ar[u+18592>>2]=ar[Z>>2],ar[u+18596>>2]=o,ar[(l=u+18604|0)>>2]=e,ar[u+18608>>2]=r,ar[u+4>>2]=ar[(0|ar[p>>2])+(c<<2)>>2],Se(0,u),(0|(c=0|ar[y>>2]))<=0)break;nt(u+18556|0,0|ar[B>>2],c),ca(o,1),ar[E>>2]=1+(0|ar[E>>2]),b=0|hu(20),ar[b+4>>2]=0,ar[b>>2]=7972,tr[b+8>>0]=1,ar[b+16>>2]=u,ar[b+12>>2]=s,ar[u+18612>>2]=b,Sn(X,b),c=0|ar[l>>2],ar[t>>2]=b,(u=0|ar[(l=c+10668|0)>>2])>>>0<(0|ar[c+10672>>2])>>>0?(ar[u>>2]=b,ar[l>>2]=4+(0|ar[l>>2])):Oe(c+10664|0,t);break}for(l=s,w=0;;){if((0|w)<=0){if((0|c)%(0|i)|0)break A}else c=0|br(l=c=l+1|0,i);if((0|ar[m>>2])<=(0|w))break;if(s=0|ar[g>>2],d=s+(18624*w|0)|0,ar[s+(18624*w|0)+18600>>2]=n,ar[s+(18624*w|0)+18592>>2]=ar[Z>>2],ar[s+(18624*w|0)+18596>>2]=o,ar[(k=s+(18624*w|0)+18604|0)>>2]=e,ar[s+(18624*w|0)+18608>>2]=r,ar[s+(18624*w|0)+4>>2]=ar[(0|ar[p>>2])+(c<<2)>>2],Se(0,d),b=(h=0==(0|w))?0:0|ar[(0|ar[v>>2])+(w+-1<<2)>>2],u=(0|w)==(0|f)?y:(0|ar[v>>2])+(w<<2)|0,u=0|ar[u>>2],(0|b)<0)break A;if(!((0|b)<(0|u)&&(0|u)<=(0|ar[y>>2])))break A;if(nt(s+(18624*w|0)+18556|0,(0|ar[B>>2])+b|0,u-b|0),ca(o,1),ar[E>>2]=1+(0|ar[E>>2]),A=0|hu(20),ar[A+4>>2]=0,ar[A>>2]=7972,tr[A+8>>0]=1&h,ar[A+16>>2]=d,ar[A+12>>2]=l,ar[s+(18624*w|0)+18612>>2]=A,Sn(X,A),s=0|ar[k>>2],ar[t>>2]=A,(b=0|ar[(u=s+10668|0)>>2])>>>0<(0|ar[s+10672>>2])>>>0?(ar[b>>2]=A,ar[u>>2]=4+(0|ar[u>>2])):Oe(s+10664|0,t),!((0|w)<(0|f)))break A;w=w+1|0}sr(34817,34837,170,34848)}}while(0);if(sa(o),d=e+10664|0,l=0|ar[(k=e+10668|0)>>2],b=0|ar[d>>2],(0|(c=l))!=(0|(u=b))){for(s=0;(u=0|ar[u+(s<<2)>>2])&&(is[511&ar[4+(0|ar[u>>2])>>2]](u),c=0|ar[k>>2],b=0|ar[d>>2],l=c),(s=s+1|0)>>>0<l-(u=b)>>2>>>0;);l=b}ur=((0|c)!=(0|u)&&(ar[k>>2]=c+(~((c+-4-l|0)>>>2)<<2)),a)}(A,e,r),ar[i>>2]=2,o=0|ar[k>>2],t=((0|ar[h>>2])-o>>2)-1|0,n=0;do{if(t>>>0<=n>>>0){w=0,v=60;break}n=(s=n)+1|0}while((0|ar[o+(s<<2)>>2])!=(0|r));if(60==(0|v))return 0|w;if(!(n=0|ar[o+(n<<2)>>2]))return(e=0)|e;if(!((0|(t=0|ar[16+(0|ar[f>>2])>>2]))<(0|ar[16+(0|ar[(o=n+4|0)>>2])>>2])))return(e=0)|e;for(n=t;;){if(t=0|ar[e>>2],(0|n)>=(0|ar[t+10344>>2])){w=0,v=60;break}if(Tn((0|ar[t+10524>>2])+(80*n|0)|0,1),(0|(n=n+1|0))>=(0|ar[16+(0|ar[o>>2])>>2])){w=0,v=60;break}}if(60==(0|v))return 0|w}d||sr(55739,34700,971,34735),a=0|function(A,e,r){A|=0,r|=0;var i,f,n,t,o,a,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0,C=0;ur=(a=ur)+16|0,f=a,n=0|ar[(e|=0)>>2],t=0|ar[r+4>>2],o=0|ar[768+t>>2],i=0|ar[5820+n>>2],(0|ar[10536+n>>2])!=(0-(0|ar[10532+n>>2])|0)&&sr(34762,34700,1103,34793);Ue(r,1+o|0),c=0|ar[16+t>>2];A:do{if((0|o)<0)C=0;else{for(g=5968+n|0,Z=5972+n|0,p=r+140|0,y=r+136|0,B=10332+n|0,E=10272+n|0,X=r+12|0,W=r+8|0,I=r+124|0,v=A+375396|0,m=776+t|0,l=c,A=0|ar[(0|ar[10308+n>>2])+(c<<2)>>2],w=0;;){if(0<(0|w)){if(c=A+1|0,A=0|ar[g>>2],(0|c)>=(0|br(0|ar[Z>>2],A))){C=1007;break A}l=(0|br(0|ar[10228+n+(((0|c)/(0|A)|0)<<2)>>2],i))+(0|ar[10184+n+(((0|c)%(0|A)|0)<<2)>>2])|0,A=c}if((0|ar[p>>2])<=(0|w))break;if(b=0|ar[y>>2],s=b+(18624*w|0)|0,ar[b+(18624*w|0)+18600>>2]=t,ar[b+(18624*w|0)+18592>>2]=ar[B>>2],ar[b+(18624*w|0)+18596>>2]=n,ar[(d=b+(18624*w|0)+18604|0)>>2]=e,ar[b+(18624*w|0)+18608>>2]=r,ar[b+(18624*w|0)+4>>2]=ar[(0|ar[E>>2])+(l<<2)>>2],Se(0,s),u=(k=0==(0|w))?0:0|ar[(0|ar[m>>2])+(w+-1<<2)>>2],c=(0|w)==(0|o)?X:(0|ar[m>>2])+(w<<2)|0,c=0|ar[c>>2],(0|u)<0){C=17;break A}if(!((0|u)<(0|c)&&(0|c)<=(0|ar[X>>2]))){C=17;break A}if(nt(b+(18624*w|0)+18556|0,(0|ar[W>>2])+u|0,c-u|0),ca(n,1),ar[I>>2]=1+(0|ar[I>>2]),h=0|hu(24),ar[h+4>>2]=0,ar[h>>2]=7932,tr[h+8>>0]=1&k,ar[h+20>>2]=s,ar[h+12>>2]=(0|l)%(0|i)|0,ar[h+16>>2]=(0|l)/(0|i)|0,ar[b+(18624*w|0)+18612>>2]=h,Sn(v,h),c=0|ar[d>>2],ar[f>>2]=h,(b=0|ar[(u=c+10668|0)>>2])>>>0<(0|ar[c+10672>>2])>>>0?(ar[b>>2]=h,ar[u>>2]=4+(0|ar[u>>2])):Oe(c+10664|0,f),!((0|w)<(0|o))){C=0;break A}w=w+1|0}sr(34817,34837,170,34848)}}while(0);if(sa(n),s=e+10664|0,c=0|ar[(d=e+10668|0)>>2],u=0|ar[s>>2],(0|(A=c))!=(0|(l=u))){for(b=0;(l=0|ar[l+(b<<2)>>2])&&(is[511&ar[4+(0|ar[l>>2])>>2]](l),A=0|ar[d>>2],u=0|ar[s>>2],c=A),(b=b+1|0)>>>0<c-(l=u)>>2>>>0;);c=u}return ur=((0|A)!=(0|l)&&(ar[d>>2]=A+(~((A+-4-c|0)>>>2)<<2)),a),0|C}(A,e,r),ar[i>>2]=2,o=0|ar[k>>2],t=((0|ar[h>>2])-o>>2)-1|0,n=0;do{if(t>>>0<=n>>>0){w=a,v=60;break}n=(A=n)+1|0}while((0|ar[o+(A<<2)>>2])!=(0|r));if(60==(0|v))return 0|w;if(!(t=0|ar[o+(n<<2)>>2]))return 0|(e=a);if((0|(n=0|ar[16+(0|ar[f>>2])>>2]))>=(0|ar[16+(0|ar[(o=t+4|0)>>2])>>2]))return 0|(e=a);for(;;){if(t=0|ar[e>>2],(0|n)>=(0|ar[t+10344>>2])){w=a,v=60;break}if(Tn((0|ar[t+10524>>2])+(80*n|0)|0,1),(0|(n=n+1|0))>=(0|ar[16+(0|ar[o>>2])>>2])){w=a,v=60;break}}return 60==(0|v)?0|w:0}function Do(A,e){e|=0;var r,i,f,n,t,o=0,a=0,c=0,l=0;f=(A|=0)+4|0,n=0|ar[A>>2],1073741823<(o=1+(i=(t=(0|ar[f>>2])-n|0)>>2)|0)>>>0&&zl(),a=(c=(0|ar[(l=A+8|0)>>2])-n|0)>>1,a=c>>2>>>0<536870911?a>>>0<o>>>0?o:a:1073741823;do{if(a){if(!(1073741823<a>>>0)){c=0|hu(a<<2);break}Zu(l=0|X(8),44519),ar[l>>2]=17660,I(0|l,4016,428)}else c=0}while(0);ar[(r=c+(i<<2)|0)>>2]=ar[e>>2],o=r+(0-i<<2)|0,0<(0|t)&&hb(0|o,0|n,0|t),ar[A>>2]=o,ar[f>>2]=4+r,ar[l>>2]=c+(a<<2),n&&vu(n)}function Jo(A,e){var r,i,f=0,n=0,t=0,o=0,a=0,c=0,l=0;if((e|=0)>>>0<=(t=0|ar[(i=(A|=0)+8|0)>>2])-(f=0|ar[(l=A+4|0)>>2])>>3>>>0)for(;st(f),f=8+(0|ar[l>>2])|0,ar[l>>2]=f,0!=(0|(e=e+-1|0)););else{536870911<(f=(o=f-(n=0|ar[A>>2])>>3)+e|0)>>>0&&zl(),c=(a=t-n|0)>>2,f=a>>3>>>0<268435455?c>>>0<f>>>0?f:c:536870911;do{if(f){if(!(536870911<f>>>0)){n=0|hu(f<<3);break}Zu(l=0|X(8),44519),ar[l>>2]=17660,I(0|l,4016,428)}else n=0}while(0);for(c=n+(f<<3)|0,a=o=r=n+(o<<3)|0,f=r;st(f),a=f=a+8|0,0!=(0|(e=e+-1|0)););if(t=0|ar[A>>2],(0|(f=0|ar[l>>2]))==(0|t))e=o,f=n=t;else{for(n=o,e=r;dt(e+-8|0,f=f+-8|0),n=e=n+-8|0,(0|f)!=(0|t););e=n,n=0|ar[A>>2],f=0|ar[l>>2]}if(ar[A>>2]=e,ar[l>>2]=a,ar[i>>2]=c,(0|f)!=(0|(e=n)))for(;kt(f=f+-8|0),(0|f)!=(0|e););n&&vu(n)}}function Mo(A,e){e|=0;var r,i,f,n,t,o=0,a=0,c=0,l=0;f=(A|=0)+4|0,n=0|ar[A>>2],1073741823<(o=1+(i=(t=(0|ar[f>>2])-n|0)>>2)|0)>>>0&&zl(),a=(c=(0|ar[(l=A+8|0)>>2])-n|0)>>1,a=c>>2>>>0<536870911?a>>>0<o>>>0?o:a:1073741823;do{if(a){if(!(1073741823<a>>>0)){c=0|hu(a<<2);break}Zu(l=0|X(8),44519),ar[l>>2]=17660,I(0|l,4016,428)}else c=0}while(0);ar[(r=c+(i<<2)|0)>>2]=ar[e>>2],o=r+(0-i<<2)|0,0<(0|t)&&hb(0|o,0|n,0|t),ar[A>>2]=o,ar[f>>2]=4+r,ar[l>>2]=c+(a<<2),n&&vu(n)}function To(A,e,r,i,f){A|=0,r|=0,i|=0,f|=0;var n,t=0,o=0,a=0,c=0;if(0|Lo(t=(e|=0)+376148|0,1)||sr(35044,34700,1433,35080),(0|(n=0|ia(t,0|ar[e+375388>>2],A,0,0,0,0)))<=-1&&sr(35119,34700,1436,35080),A=0|ar[e+376156>>2],A=(0|ar[e+376160>>2])-A>>2>>>0>n>>>0?0|ar[A+(n<<2)>>2]:0,e=1<<(0|ar[r+5004>>2])-1,function(A,e,r,i){A|=0,r|=0,i|=0,-1<(0|(e|=0))&&vb(0|ar[A+4>>2],255&e|0,0|br(0|ar[A+28>>2],0|ar[A+40>>2]));-1<(0|r)&&vb(0|ar[A+8>>2],255&r|0,0|br(0|ar[A+36>>2],0|ar[A+44>>2]));if((0|i)<=-1)return;vb(0|ar[A+12>>2],255&i|0,0|br(0|ar[A+36>>2],0|ar[A+44>>2]))}(A,1<<(0|ar[r+4996>>2])-1,e,e),0<(0|ar[(e=A+10364|0)>>2]))for(o=A+10360|0,t=0;a=(0|ar[o>>2])+(3*t|0)|0,c=-769&(cr[a>>0]|cr[a+1>>0]<<8),tr[a>>0]=c,tr[a+1>>0]=c>>8,(0|(t=t+1|0))<(0|ar[e>>2]););return ar[A+92>>2]=i,ar[A+88>>2]=(0|ar[r+5032>>2])-1&i,tr[A+100>>0]=0,ar[A+96>>2]=f?2:1,tr[A+10516>>0]=1,0|n}function Uo(A,e){A|=0;var r,i,f=0,n=0,t=0,o=0,a=0;if(ur=(i=ur)+112|0,r=i+24|0,t=(o=i)+104|0,function(A,e,r){e|=0,r|=0;var i,f=0,n=0,t=0,o=0,a=0,c=0,l=0;ar[(A|=0)>>2]=e,ar[(i=A+4|0)>>2]=r,ar[(c=a=A+8|0)>>2]=0,ar[c+4>>2]=0,ar[(c=A+16|0)>>2]=0,r?(f=e+1|0,ar[A>>2]=f,n=0|cr[e>>0],o=r+-1|0,ar[i>>2]=o,n=0|db(0|n,0,56),t=D,ar[(l=a)>>2]=n,ar[l+4>>2]=t,o?(o=e+2|0,ar[A>>2]=o,f=0|cr[f>>0],l=r+-2|0,ar[i>>2]=l,f=0|db(0|f,0,48),f|=n,n=t|D,ar[(t=a)>>2]=f,ar[t+4>>2]=n,l?(t=e+3|0,ar[A>>2]=t,o=0|cr[o>>0],l=r+-3|0,ar[i>>2]=l,o=0|db(0|o,0,40),o|=f,f=n|D,ar[(n=a)>>2]=o,ar[n+4>>2]=f,l?(n=e+4|0,ar[A>>2]=n,t=0|cr[t>>0],l=r+-4|0,ar[i>>2]=l,f|=t,ar[(t=a)>>2]=o,ar[t+4>>2]=f,l?(t=e+5|0,ar[A>>2]=t,n=0|cr[n>>0],l=r+-5|0,ar[i>>2]=l,n=0|db(0|n,0,24),n|=o,f|=D,ar[(o=a)>>2]=n,ar[o+4>>2]=f,l?(o=e+6|0,ar[A>>2]=o,t=0|cr[t>>0],l=r+-6|0,ar[i>>2]=l,n|=t=0|db(0|t,0,16),f|=D,ar[(t=a)>>2]=n,ar[t+4>>2]=f,l?(t=e+7|0,ar[A>>2]=t,o=0|cr[o>>0],l=r+-7|0,ar[i>>2]=l,n|=o=0|db(0|o,0,8),f|=D,ar[(o=a)>>2]=n,ar[o+4>>2]=f,l=l?(ar[A>>2]=e+8,e=0|cr[t>>0],ar[i>>2]=r+-8,ar[(l=a)>>2]=n|e,ar[l+4>>2]=f,64-(l=0)|0):64-(l=8)|0,ar[c>>2]=l):(l=64-(l=16)|0,ar[c>>2]=l)):(l=64-(l=24)|0,ar[c>>2]=l)):(l=64-(l=32)|0,ar[c>>2]=l)):(l=64-(l=40)|0,ar[c>>2]=l)):(l=64-(l=48)|0,ar[c>>2]=l)):(l=64-(l=56)|0,ar[c>>2]=l)):(a=(a=64)-a|0,ar[c>>2]=a)}(o,0|ar[(e|=0)+20>>2],0|ar[e+24>>2]),tr[t>>0]=0,tr[(a=t+1|0)>>0]=0,tr[(f=t+2|0)>>0]=0,function(A,e){A|=0;var r=0;et(e=e|0,1),r=255&(0|At(e,6)),tr[A>>0]=r,r=255&(0|At(e,6)),tr[A+1>>0]=r,e=255+(0|At(e,3))&255,tr[A+2>>0]=e}(t,o),n=0|tr[t>>0],tr[A+377212>>0]=n,tr[A+377213>>0]=(n+-19&255)<2&1,tr[A+377214>>0]=(-8&n)<<24>>24==16&1,0|tr[a>>0])return Ba(A+548|0,e),ur=i,(e=0)|e;if((0|cr[f>>0])>(0|ar[A+375912>>2]))return Ba(A+548|0,e),ur=i,(e=0)|e;if((255&n)<32)return e=0|rr(A,o,e,t),ur=i,0|e;switch(n<<24>>24){case 32:return a=0|ze(A,o),Ba(A+548|0,e),ur=i,0|(e=a);case 33:return a=0|Le(A,o),Ba(A+548|0,e),ur=i,0|(e=a);case 34:return a=0|qe(A,o),Ba(A+548|0,e),ur=i,0|(e=a);case 40:case 39:a=0|function(A,e,r,i){A|=0,e|=0,r|=0,i|=0;var f=0,n=0;r=0;for(;n=0|At(A,8),r=n+r|0,255==(0|n););f=0;for(;n=0|At(A,8),f=n+f|0,255==(0|n););if(ar[e>>2]=r,ar[e+4>>2]=f,132!=(0|r))return(e=0)|e;if(f=0|At(A,8),ar[(n=e+8|0)>>2]=f,!i)return 0|(e=1025);i=0==(0|ar[i+476>>2])?1:3,r=0;for(;;){switch(0|f){case 0:f=255&(0|At(A,8)),tr[e+12+(r<<4)>>0]=f,f=255&(0|At(A,8)),tr[e+12+(r<<4)+1>>0]=f,f=255&(0|At(A,8)),tr[e+12+(r<<4)+2>>0]=f,f=255&(0|At(A,8)),tr[e+12+(r<<4)+3>>0]=f,f=255&(0|At(A,8)),tr[e+12+(r<<4)+4>>0]=f,f=255&(0|At(A,8)),tr[e+12+(r<<4)+5>>0]=f,f=255&(0|At(A,8)),tr[e+12+(r<<4)+6>>0]=f,f=255&(0|At(A,8)),tr[e+12+(r<<4)+7>>0]=f,f=255&(0|At(A,8)),tr[e+12+(r<<4)+8>>0]=f,f=255&(0|At(A,8)),tr[e+12+(r<<4)+9>>0]=f,f=255&(0|At(A,8)),tr[e+12+(r<<4)+10>>0]=f,f=255&(0|At(A,8)),tr[e+12+(r<<4)+11>>0]=f,f=255&(0|At(A,8)),tr[e+12+(r<<4)+12>>0]=f,f=255&(0|At(A,8)),tr[e+12+(r<<4)+13>>0]=f,f=255&(0|At(A,8)),tr[e+12+(r<<4)+14>>0]=f,f=255&(0|At(A,8)),tr[e+12+(r<<4)+15>>0]=f;break;case 1:f=65535&(0|At(A,16)),or[e+60+(r<<1)>>1]=f;break;case 2:f=0|At(A,32),ar[e+68+(r<<2)>>2]=f}if((0|i)<=(0|(r=r+1|0))){r=0;break}f=0|ar[n>>2]}return 0|r}(o,r,n=n<<24>>24==40,0|ar[A+375388>>2]);do{if(a)20==(0|(f=0|ar[(n=A+84|0)>>2]))?(n=1001,f=19):(ar[n>>2]=f+1,n=a),ar[A+4+(f<<2)>>2]=n;else if(f=0|ar[A+377220>>2],!((0|ar[A+377216>>2])==(0|f)|1^n)){if(f=0|ar[f+-4>>2],(0|(n=0|ar[(o=f+10648|0)>>2]))==(0|ar[f+10652>>2])){Ar(f+10644|0,r);break}for(f=r,t=n+80|0;ar[n>>2]=ar[f>>2],f=f+4|0,(0|(n=n+4|0))<(0|t););ar[o>>2]=80+(0|ar[o>>2]);break}}while(0);return Ba(A+548|0,e),ur=i,0|(e=a);case 36:return tr[A+376211>>0]=1,Ba(A+548|0,e),ur=i,(e=0)|e;default:return Ba(A+548|0,e),ur=i,(e=0)|e}return 0}function So(A,e,r,i,f){A|=0,r|=0,i|=0,f|=0;var n,t,o,a,c,l,u,b=0,s=0,d=0,k=0,h=0,w=0,v=0;if(ur=(u=ur)+2048|0,l=u,1<(0|(e|=0)))for(s=e,b=0;b=b+1|0,3<s>>>0;)s>>>=1;else b=0;if(a=5-b|0,c=1<<i+-1,n=(w=1<<f)+65535|0,t=0-w|0,o=0<(0|e)){h=65535&(31==(0|f)?t:31!=(0|f)?0:n),k=0;do{for(d=e;;){if(b=d+-1|0,(0|d)<=0){b=0,s=8;break}if(f=r+((0|br(b,e))+k<<1)|0,0|or[f>>1]){f=0,s=10;break}d=b}if(8==(0|s))for(;d=l+((0|br(b,e))+k<<1)|0,or[d>>1]=h,(0|(b=b+1|0))!=(0|e);)s=8;else if(10==(0|s))for(;;){for(s=b=0;v=r+((0|br(b,e))+k<<1)|0,s=(0|br(0|or[v>>1],0|tr[35206+(b<<a<<5)+f>>0]))+s|0,(0|(b=b+1|0))!=(0|d););if(s=s+64>>7,v=l+((0|br(f,e))+k<<1)|0,or[v>>1]=(0|s)<(0|t)?t:(0|s)<(0|w)?s:n,(0|(f=f+1|0))==(0|e))break;s=10}k=k+1|0}while((0|k)!=(0|e));if(o){h=c>>i,k=0;do{for(w=0|br(k,e),d=e;;){if(b=d+-1|0,(0|d)<=0){b=0,s=18;break}if(0|or[l+(b+w<<1)>>1]){f=0,s=20;break}d=b}if(18==(0|s))for(;ar[A+(b+w<<2)>>2]=h,(0|(b=b+1|0))!=(0|e);)s=18;else if(20==(0|s))for(;;){for(s=b=0;s=(0|br(0|or[l+(b+w<<1)>>1],0|tr[35206+(b<<a<<5)+f>>0]))+s|0,(0|(b=b+1|0))!=(0|d););if(ar[A+(f+w<<2)>>2]=s+c>>i,(0|(f=f+1|0))==(0|e))break;s=20}k=k+1|0}while((0|k)!=(0|e));ur=u}else ur=u}else ur=u}function Oo(A,e,r,i,f){A|=0,e|=0,i|=0;var n,t,o,a,c,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0;if(ur=(c=ur)+2048|0,t=c,a=1<<(o=20-(f|=0)|0)-1,1<(0|(r|=0)))for(u=r,l=0;l=l+1|0,3<u>>>0;)u>>>=1;else l=0;if(n=5-l|0,k=0<(0|r)){d=0;do{for(s=r;;){if(l=s+-1|0,(0|s)<=0){l=0,u=7;break}if(w=i+((0|br(l,r))+d<<1)|0,0|or[w>>1]){b=0,u=9;break}s=l}if(7==(0|u))for(;w=t+((0|br(l,r))+d<<1)|0,((or[w>>1]=0)|(l=l+1|0))!=(0|r);)u=7;else if(9==(0|u))for(;;){for(u=l=0;w=i+((0|br(l,r))+d<<1)|0,u=(0|br(0|or[w>>1],0|tr[35206+(l<<n<<5)+b>>0]))+u|0,(0|(l=l+1|0))!=(0|s););if(h=u+64>>7,w=t+((0|br(b,r))+d<<1)|0,or[w>>1]=(0|h)<-32768?-32768:65535&((0|h)<32767?h:32767),(0|(b=b+1|0))==(0|r))break;u=9}d=d+1|0}while((0|d)!=(0|r));if(k){h=(f=1<<f)+255|0,w=a>>o,i=0;do{for(k=0|br(i,r),d=r;;){if(l=d+-1|0,(0|d)<=0){u=18;break}if(0|or[t+(l+k<<1)>>1]){u=19;break}d=l}if(18==(0|u))for(u=0|br(i,e),l=0;d=(0|cr[(k=A+(l+u)|0)>>0])+w|0,tr[k>>0]=(0|d)<0?0:255&((0|d)<(0|f)?d:h),(0|(l=l+1|0))!=(0|r););else if(19==(0|u)){s=0|br(i,e),b=0;do{for(u=l=0;u=(0|br(0|or[t+(l+k<<1)>>1],0|tr[35206+(l<<n<<5)+b>>0]))+u|0,(0|(l=l+1|0))!=(0|d););u=(0|cr[(l=A+(b+s)|0)>>0])+(u+a>>o)|0,tr[l>>0]=(0|u)<0?0:255&((0|u)<(0|f)?u:h),b=b+1|0}while((0|b)!=(0|r))}i=i+1|0}while((0|i)!=(0|r));ur=c}else ur=c}else ur=c}function zo(A,e,r,i,f){A|=0,e|=0,i|=0;var n,t,o,a,c,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0;if(ur=(c=ur)+2048|0,t=c,a=1<<(o=20-(f|=0)|0)-1,1<(0|(r|=0)))for(u=r,l=0;l=l+1|0,3<u>>>0;)u>>>=1;else l=0;if(n=5-l|0,k=0<(0|r)){d=0;do{for(s=r;;){if(l=s+-1|0,(0|s)<=0){l=0,u=7;break}if(w=i+((0|br(l,r))+d<<1)|0,0|or[w>>1]){b=0,u=9;break}s=l}if(7==(0|u))for(;w=t+((0|br(l,r))+d<<1)|0,((or[w>>1]=0)|(l=l+1|0))!=(0|r);)u=7;else if(9==(0|u))for(;;){for(u=l=0;w=i+((0|br(l,r))+d<<1)|0,u=(0|br(0|or[w>>1],0|tr[35206+(l<<n<<5)+b>>0]))+u|0,(0|(l=l+1|0))!=(0|s););if(h=u+64>>7,w=t+((0|br(b,r))+d<<1)|0,or[w>>1]=(0|h)<-32768?-32768:65535&((0|h)<32767?h:32767),(0|(b=b+1|0))==(0|r))break;u=9}d=d+1|0}while((0|d)!=(0|r));if(k){h=(f=1<<f)+65535|0,w=a>>o,i=0;do{for(k=0|br(i,r),d=r;;){if(l=d+-1|0,(0|d)<=0){u=18;break}if(0|or[t+(l+k<<1)>>1]){u=19;break}d=l}if(18==(0|u))for(u=0|br(i,e),l=0;d=(0|lr[(k=A+(l+u<<1)|0)>>1])+w|0,or[k>>1]=(0|d)<0?0:65535&((0|d)<(0|f)?d:h),(0|(l=l+1|0))!=(0|r););else if(19==(0|u)){s=0|br(i,e),b=0;do{for(u=l=0;u=(0|br(0|or[t+(l+k<<1)>>1],0|tr[35206+(l<<n<<5)+b>>0]))+u|0,(0|(l=l+1|0))!=(0|d););u=(0|lr[(l=A+(b+s<<1)|0)>>1])+(u+a>>o)|0,or[l>>1]=(0|u)<0?0:65535&((0|u)<(0|f)?u:h),b=b+1|0}while((0|b)!=(0|r))}i=i+1|0}while((0|i)!=(0|r));ur=c}else ur=c}else ur=c}function jo(A,e,r,i){A|=0,r|=0,i|=0;var f,n,t,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0;if(ur=(t=ur)+2048|0,n=t,1<(0|(e|=0))){for(o=e,u=0;;){if(!(3<o>>>0)){o=e,a=0;break}o>>>=1,u=u+1|0}for(;3<o>>>0;)o>>>=1,a=a+1|0;for(b=a+7|0,c=1<<u+-1,l=1<<a+6,a=e,o=0;;){if(o=o+1|0,!(3<a>>>0)){d=u,h=l,k=b;break}a>>>=1}}else c=o=0,d=-1,h=32,k=6;if(f=5-o|0,b=0<(0|e)){o=0;do{u=0;do{for(s=u<<f,l=a=0;w=r+((0|br(a,i))+o<<1)|0,l=(0|br(0|or[w>>1],0|tr[35206+(s<<5)+a>>0]))+l|0,(0|(a=a+1|0))!=(0|e););w=n+((0|br(u,e))+o<<1)|0,or[w>>1]=l+c>>d,u=u+1|0}while((0|u)!=(0|e));o=o+1|0}while((0|o)!=(0|e));if(b){l=0;do{u=0|br(l,e),c=0;do{for(b=c<<f,a=o=0;a=(0|br(0|or[n+(o+u<<1)>>1],0|tr[35206+(b<<5)+o>>0]))+a|0,(0|(o=o+1|0))!=(0|e););or[A+(c+u<<1)>>1]=a+h>>k,c=c+1|0}while((0|c)!=(0|e));l=l+1|0}while((0|l)!=(0|e));ur=t}else ur=t}else ur=t}function Ho(A,e,r,i){A|=0,r|=0,i|=0;var f,n,t,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0;if(ur=(t=ur)+2176|0,n=t+128|0,f=0<(0|(e|=0))){for(w=0==(0|(h=e>>>1)),v=e>>>2,m=7<e>>>0,b=(l=t)+64|(k=0);;){if(a=0|br(k,i),!w)for(c=b,o=0;u=r+(o+a<<1)|0,s=r+((d=o+h|0)+a<<1)|0,or[c+(o<<1)>>1]=(0|lr[s>>1])+(0|lr[u>>1]),or[c+(d<<1)>>1]=(0|lr[u>>1])-(0|lr[s>>1]),(0|(o=o+1|0))!=(0|h););if(m)for(s=v,d=h,u=l,l=b;;){c=l,b=u,a=0;do{for(o=0;p=c+((y=o+a|0)<<1)|0,Z=c+((g=y+s|0)<<1)|0,or[b+(y<<1)>>1]=(0|lr[Z>>1])+(0|lr[p>>1]),or[b+(g<<1)>>1]=(0|lr[p>>1])-(0|lr[Z>>1]),(0|(o=o+1|0))!=(0|s););a=a+d|0}while((0|a)<(0|e));if((0|(s>>=1))<=1)break;y=l,d>>=1,l=u,u=y}else u=b;for(a=u,c=0|br(k,e),o=0;Z=0|or[a+(o<<1)>>1],p=0|or[a+((y=1|o)<<1)>>1],or[n+(o+c<<1)>>1]=p+Z,or[n+(y+c<<1)>>1]=Z-p,(0|(o=o+2|0))<(0|e););if((0|(k=k+1|0))==(0|e))break;b=u}if(f){for(w=0==(0|(h=e>>>1)),v=e>>>2,m=7<e>>>0,k=0;;){if(!w)for(a=u,o=0;Z=n+((0|br(o,e))+k<<1)|0,Z=0|or[Z>>1],p=n+((0|br(y=o+h|0,e))+k<<1)|0,p=0|or[p>>1],or[a+(o<<1)>>1]=p+Z,or[a+(y<<1)>>1]=Z-p,(0|(o=o+1|0))!=(0|h););if(m)for(s=v,d=h,c=l,l=u;;){u=l,b=c,a=0;do{for(o=0;Z=u+((g=o+a|0)<<1)|0,p=u+((y=g+s|0)<<1)|0,or[b+(g<<1)>>1]=(0|lr[p>>1])+(0|lr[Z>>1]),or[b+(y<<1)>>1]=(0|lr[Z>>1])-(0|lr[p>>1]),(0|(o=o+1|0))!=(0|s););a=a+d|0}while((0|a)<(0|e));if((0|(s>>=1))<=1)break;y=l,d>>=1,l=c,c=y}else c=u;for(a=c,o=0;Z=a+(o<<1)|0,p=a+((y=1|o)<<1)|0,g=A+((0|br(o,e))+k<<1)|0,or[g>>1]=(0|lr[p>>1])+(0|lr[Z>>1]),y=A+((0|br(y,e))+k<<1)|0,or[y>>1]=(0|lr[Z>>1])-(0|lr[p>>1]),(0|(o=o+2|0))<(0|e););if((0|(k=k+1|0))==(0|e))break;u=c}ur=t}else ur=t}else ur=t}function xo(A,e,r,i,f,n,t,o,a,c){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,a|=0,c|=0;var l,u,b,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0;switch(d=0|ar[9768+((o|=0)<<2)>>2],b=(u=0|ar[9768+(a<<2)>>2])+n+(s=0|ar[9784+(a<<2)>>2])|0,l=c+-8|0,0|o){case 0:if((0|(c=0-u|0))<(0|(h=s+n|0))&&(v=0-d|0,0<(0|f)))do{for(d=t+(c+u<<1)|(s=0),k=r+(0|br(c,i))+v|0;or[d>>1]=0|cr[k>>0],(0|(s=s+1|0))!=(0|f);)d=d+(b<<1)|0,k=k+1|0;c=c+1|0}while((0|c)!=(0|h));break;case 1:if((0|(c=0-u|0))<(0|(h=s+n|0))&&(m=0-d|0,0<(0|f)))do{for(d=t+(c+u<<1)|(s=0),k=r+(0|br(c,i))+m|0;v=(v=(cr[(k=(g=k)+1|0)>>0]<<2)-(0|cr[g>>0])+(0|br(0|cr[g+2>>0],-10))|0)+(58*(0|cr[g+3>>0])|0)+(17*(0|cr[g+4>>0])|0)+(0|br(0|cr[g+5>>0],-5))|0,or[d>>1]=v+(0|cr[g+6>>0])>>l,(0|(s=s+1|0))!=(0|f);)d=d+(b<<1)|0;c=c+1|0}while((0|c)!=(0|h));break;case 2:if((0|(c=0-u|0))<(0|(h=s+n|0))&&(g=0-d|0,0<(0|f)))do{for(d=t+(c+u<<1)|(s=0),k=r+(0|br(c,i))+g|0;m=(cr[(k=(m=k)+1|0)>>0]<<2)-(0|cr[m>>0])+(40*((0|cr[m+4>>0])+(0|cr[m+3>>0])|0)|0)+(cr[m+6>>0]<<2)-(0|cr[m+7>>0])+(0|br((0|cr[m+5>>0])+(0|cr[m+2>>0])|0,-11))>>l&65535,or[d>>1]=m,(0|(s=s+1|0))!=(0|f);)d=d+(b<<1)|0;c=c+1|0}while((0|c)!=(0|h));break;case 3:if((0|(c=0-u|0))<(0|(h=s+n|0))&&(w=0-d|0,0<(0|f)))do{for(d=t+(c+u<<1)|(s=0),k=r+(0|br(c,i))+w|0;m=(m=(0|br(0|cr[(k=(g=k)+1|0)>>0],-5))+(0|cr[g>>0])|0)+(17*(0|cr[g+2>>0])|0)+(58*(0|cr[g+3>>0])|0)+(0|br(0|cr[g+4>>0],-10))|0,or[d>>1]=m+(cr[g+5>>0]<<2)-(0|cr[g+6>>0])>>l,(0|(s=s+1|0))!=(0|f);)d=d+(b<<1)|0;c=c+1|0}while((0|c)!=(0|h))}switch(h=0==(0|o)?l:6,0|a){case 0:if(!(0<(0|f)&0<(0|n)))return;k=0;do{for(s=A+(k<<1)|(c=0),d=t+((0|br(k,b))<<1)|0;or[s>>1]=0|or[d>>1],(0|(c=c+1|0))!=(0|n);)s=s+(e<<1)|0,d=d+2|0;k=k+1|0}while((0|k)!=(0|f));return;case 1:if(!(0<(0|f)&0<(0|n)))return;k=0;do{for(s=A+(k<<1)|(c=0),d=t+((0|br(k,b))<<1)|0;o=(o=(or[(d=(a=d)+2|0)>>1]<<2)-(0|or[a>>1])+(0|br(0|or[a+4>>1],-10))|0)+(58*(0|or[a+6>>1])|0)+(17*(0|or[a+8>>1])|0)+(0|br(0|or[a+10>>1],-5))|0,or[s>>1]=o+(0|or[a+12>>1])>>h,(0|(c=c+1|0))!=(0|n);)s=s+(e<<1)|0;k=k+1|0}while((0|k)!=(0|f));return;case 2:if(!(0<(0|f)&0<(0|n)))return;k=0;do{for(s=A+(k<<1)|(c=0),d=t+((0|br(k,b))<<1)|0;a=(or[(d=(a=d)+2|0)>>1]<<2)-(0|or[a>>1])+(40*((0|or[a+8>>1])+(0|or[a+6>>1])|0)|0)+(or[a+12>>1]<<2)-(0|or[a+14>>1])+(0|br((0|or[a+10>>1])+(0|or[a+4>>1])|0,-11))>>h&65535,or[s>>1]=a,(0|(c=c+1|0))!=(0|n);)s=s+(e<<1)|0;k=k+1|0}while((0|k)!=(0|f));return;case 3:if(!(0<(0|f)&0<(0|n)))return;k=0;do{for(s=A+(k<<1)|(c=0),d=t+((0|br(k,b))<<1)|0;o=(o=(0|br(0|or[(d=(a=d)+2|0)>>1],-5))+(0|or[a>>1])|0)+(17*(0|or[a+4>>1])|0)+(58*(0|or[a+6>>1])|0)+(0|br(0|or[a+8>>1],-10))|0,or[s>>1]=o+(or[a+10>>1]<<2)-(0|or[a+12>>1])>>h,(0|(c=c+1|0))!=(0|n);)s=s+(e<<1)|0;k=k+1|0}while((0|k)!=(0|f));return;default:return}}function Po(A,e,r,i,f,n,t,o,a,c){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,a|=0,c|=0;var l,u,b,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0;switch(d=0|ar[9768+((o|=0)<<2)>>2],b=(u=0|ar[9768+(a<<2)>>2])+n+(s=0|ar[9784+(a<<2)>>2])|0,l=c+-8|0,0|o){case 0:if((0|(c=0-u|0))<(0|(h=s+n|0))&&(v=0-d|0,0<(0|f)))do{for(d=t+(c+u<<1)|(s=0),k=r+((0|br(c,i))<<1)+(v<<1)|0;or[d>>1]=0|or[k>>1],(0|(s=s+1|0))!=(0|f);)d=d+(b<<1)|0,k=k+2|0;c=c+1|0}while((0|c)!=(0|h));break;case 1:if((0|(c=0-u|0))<(0|(h=s+n|0))&&(m=0-d|0,0<(0|f)))do{for(d=t+(c+u<<1)|(s=0),k=r+((0|br(c,i))<<1)+(m<<1)|0;v=(v=(lr[(k=(g=k)+2|0)>>1]<<2)-(0|lr[g>>1])+(0|br(0|lr[g+4>>1],-10))|0)+(58*(0|lr[g+6>>1])|0)+(17*(0|lr[g+8>>1])|0)+(0|br(0|lr[g+10>>1],-5))|0,or[d>>1]=v+(0|lr[g+12>>1])>>l,(0|(s=s+1|0))!=(0|f);)d=d+(b<<1)|0;c=c+1|0}while((0|c)!=(0|h));break;case 2:if((0|(c=0-u|0))<(0|(h=s+n|0))&&(g=0-d|0,0<(0|f)))do{for(d=t+(c+u<<1)|(s=0),k=r+((0|br(c,i))<<1)+(g<<1)|0;m=(lr[(k=(m=k)+2|0)>>1]<<2)-(0|lr[m>>1])+(40*((0|lr[m+8>>1])+(0|lr[m+6>>1])|0)|0)+(lr[m+12>>1]<<2)-(0|lr[m+14>>1])+(0|br((0|lr[m+10>>1])+(0|lr[m+4>>1])|0,-11))>>l&65535,or[d>>1]=m,(0|(s=s+1|0))!=(0|f);)d=d+(b<<1)|0;c=c+1|0}while((0|c)!=(0|h));break;case 3:if((0|(c=0-u|0))<(0|(h=s+n|0))&&(w=0-d|0,0<(0|f)))do{for(d=t+(c+u<<1)|(s=0),k=r+((0|br(c,i))<<1)+(w<<1)|0;m=(m=(0|br(0|lr[(k=(g=k)+2|0)>>1],-5))+(0|lr[g>>1])|0)+(17*(0|lr[g+4>>1])|0)+(58*(0|lr[g+6>>1])|0)+(0|br(0|lr[g+8>>1],-10))|0,or[d>>1]=m+(lr[g+10>>1]<<2)-(0|lr[g+12>>1])>>l,(0|(s=s+1|0))!=(0|f);)d=d+(b<<1)|0;c=c+1|0}while((0|c)!=(0|h))}switch(h=0==(0|o)?l:6,0|a){case 0:if(!(0<(0|f)&0<(0|n)))return;k=0;do{for(s=A+(k<<1)|(c=0),d=t+((0|br(k,b))<<1)|0;or[s>>1]=0|or[d>>1],(0|(c=c+1|0))!=(0|n);)s=s+(e<<1)|0,d=d+2|0;k=k+1|0}while((0|k)!=(0|f));return;case 1:if(!(0<(0|f)&0<(0|n)))return;k=0;do{for(s=A+(k<<1)|(c=0),d=t+((0|br(k,b))<<1)|0;o=(o=(or[(d=(a=d)+2|0)>>1]<<2)-(0|or[a>>1])+(0|br(0|or[a+4>>1],-10))|0)+(58*(0|or[a+6>>1])|0)+(17*(0|or[a+8>>1])|0)+(0|br(0|or[a+10>>1],-5))|0,or[s>>1]=o+(0|or[a+12>>1])>>h,(0|(c=c+1|0))!=(0|n);)s=s+(e<<1)|0;k=k+1|0}while((0|k)!=(0|f));return;case 2:if(!(0<(0|f)&0<(0|n)))return;k=0;do{for(s=A+(k<<1)|(c=0),d=t+((0|br(k,b))<<1)|0;a=(or[(d=(a=d)+2|0)>>1]<<2)-(0|or[a>>1])+(40*((0|or[a+8>>1])+(0|or[a+6>>1])|0)|0)+(or[a+12>>1]<<2)-(0|or[a+14>>1])+(0|br((0|or[a+10>>1])+(0|or[a+4>>1])|0,-11))>>h&65535,or[s>>1]=a,(0|(c=c+1|0))!=(0|n);)s=s+(e<<1)|0;k=k+1|0}while((0|k)!=(0|f));return;case 3:if(!(0<(0|f)&0<(0|n)))return;k=0;do{for(s=A+(k<<1)|(c=0),d=t+((0|br(k,b))<<1)|0;o=(o=(0|br(0|or[(d=(a=d)+2|0)>>1],-5))+(0|or[a>>1])|0)+(17*(0|or[a+4>>1])|0)+(58*(0|or[a+6>>1])|0)+(0|br(0|or[a+8>>1],-10))|0,or[s>>1]=o+(or[a+10>>1]<<2)-(0|or[a+12>>1])>>h,(0|(c=c+1|0))!=(0|n);)s=s+(e<<1)|0;k=k+1|0}while((0|k)!=(0|f));return;default:return}}function Lo(A,e){var r,i=0,f=0;if(e|=0)return 0|(f=1);if(e=0|ar[(A|=0)+12>>2],r=i=0|ar[A+8>>2],(f=e-i>>2)>>>0<(0|ar[A>>2])>>>0)return 0|(f=1);if((0|e)==(0|i))return(f=0)|f;for(e=0;;){if(A=0|ar[r+(e<<2)>>2],0==(0|tr[A+100>>0])&&0==(0|ar[A+96>>2])){e=1,i=7;break}if(f>>>0<=(e=e+1|0)>>>0){e=0,i=7;break}}return 7==(0|i)?0|e:0}function Ko(A,e,r,i){A|=0,e|=0,r|=0,i|=0;var f=0,n=0,t=0,o=0,a=0;A:do{if(i){if(n=A+8|0,(0|(t=0|ar[A+12>>2]))==(0|(A=o=0|ar[n>>2])))return 0|(r=-1);for(f=t-o>>2,i=0;a=0|ar[A+(i<<2)>>2],!((0|ar[a+92>>2])==(0|e)&&(0|ar[a+104>>2])>(0|r)&&2==(0|ar[a+96>>2]));)if(f>>>0<=(i=i+1|0)>>>0){f=t,i=o;break A}return 0|i}a=0|ar[(n=A+8|0)>>2],f=0|ar[A+12>>2],A=i=a}while(0);if((0|f)==(0|i))return 0|(a=-1);for(i=0;;){if(a=0|ar[A+(i<<2)>>2],(0|ar[a+92>>2])==(0|e)&&(0|ar[a+104>>2])>(0|r)&&0|ar[a+96>>2]){A=14;break}if((i=i+1|0)>>>0>=f-(0|ar[n>>2])>>2>>>0){i=-1,A=14;break}}return 14==(0|A)?0|i:0}function qo(A,e,r,i){A|=0,e|=0,r|=0,i|=0;var f=0,n=0,t=0,o=0,a=0;A:do{if(i){if(n=A+8|0,(0|(t=0|ar[A+12>>2]))==(0|(A=o=0|ar[n>>2])))return 0|(r=-1);for(f=t-o>>2,i=0;a=0|ar[A+(i<<2)>>2],!((0|ar[a+88>>2])==(0|e)&&(0|ar[a+104>>2])>(0|r)&&2==(0|ar[a+96>>2]));)if(f>>>0<=(i=i+1|0)>>>0){f=t,i=o;break A}return 0|i}a=0|ar[(n=A+8|0)>>2],f=0|ar[A+12>>2],A=i=a}while(0);if((0|f)==(0|i))return 0|(a=-1);for(i=0;;){if(a=0|ar[A+(i<<2)>>2],(0|ar[a+88>>2])==(0|e)&&(0|ar[a+104>>2])>(0|r)&&0|ar[a+96>>2]){A=14;break}if((i=i+1|0)>>>0>=f-(0|ar[n>>2])>>2>>>0){i=-1,A=14;break}}return 14==(0|A)?0|i:0}function $o(A,e){e|=0;var r,i=0;if((0|(i=0|ar[(A|=0)+12>>2]))==(0|(r=A=0|ar[A+8>>2])))return 0|(e=-1);for(i=i-A>>2,A=0;;){if((0|ar[ar[r+(A<<2)>>2]>>2])==(0|e)){i=5;break}if(i>>>0<=(A=A+1|0)>>>0){A=-1,i=5;break}}return 5==(0|i)?0|A:0}function Aa(A){var e,r,i,f,n=0,t=0,o=0,a=0,c=0,l=0,u=0;if((0|(i=0|ar[(r=(A|=0)+20|0)>>2]))==(0|(n=0|ar[(f=A+24|0)>>2]))&&sr(36524,36554,147,36561),1<(l=n-i>>2)>>>0)for(t=(n=0)|ar[92+(0|ar[i>>2])>>2],o=1;;){if(n=(c=(0|(a=0|ar[92+(0|ar[i+(o<<2)>>2])>>2]))<(0|t))?o:n,l>>>0<=(o=o+1|0)>>>0){l=n;break}t=c?a:t}else l=0;n=0|ar[(c=A+36|0)>>2],u=(0|ar[A+40>>2])-n|0,a=0|ar[(o=A+48|0)>>2],(0|(0==(0|u)?0:(u<<8)-1|0))==((t=0|ar[(e=A+52|0)>>2])+a|0)&&(function(A){var e=0,r=0,i=0,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0;if(ur=(s=ur)+32|0,c=s+4|0,a=s,1023<(r=0|ar[(e=16+(A|=0)|0)>>2])>>>0){ar[e>>2]=r+-1024,c=0|ar[(l=A+4|0)>>2],b=0|ar[c>>2],c=c+4|0,ar[l>>2]=c,o=0|ar[(u=A+8|0)>>2],t=0|ar[(a=A+12|0)>>2],e=t,n=o;do{if((0|o)==(0|t)){if(r=0|ar[A>>2],(i=r)>>>0<c>>>0){f=(e=c)+((i=(1+(e-i>>2)|0)/-2|0)<<2)|0,e=(r=(e=n-e|0)>>2)?(wb(0|f,0|c,0|e),0|ar[l>>2]):c,A=f+(r<<2)|0,ar[u>>2]=A,ar[l>>2]=e+(i<<2),e=A;break}if(1073741823<(e=0==(0|(e=e-i>>1))?1:e)>>>0&&(Zu(s=0|X(8),44519),ar[s>>2]=17660,I(0|s,4016,428)),f=0|hu(e<<2),t=i=(n=f)+(e>>>2<<2)|0,f=f+(e<<2)|0,(0|c)==(0|o))e=t;else{for(e=t,r=c;ar[i>>2]=ar[r>>2],e=i=e+4|0,(0|(r=r+4|0))!=(0|o););r=0|ar[A>>2]}ar[A>>2]=n,ar[l>>2]=t,ar[u>>2]=e,ar[a>>2]=f,r&&(vu(r),e=0|ar[u>>2])}else e=o}while(0);return ar[e>>2]=b,ar[u>>2]=4+(0|ar[u>>2]),ur=s}if(e=0|ar[(b=A+8|0)>>2],f=e-(0|ar[(u=A+4|0)>>2])|0,r=0|ar[(l=A+12|0)>>2],i=r-(0|ar[A>>2])|0,i>>>0<=f>>>0){for(e=0==(0|(e=i>>1))?1:e,ar[c+12>>2]=0,ar[c+16>>2]=A+12,1073741823<e>>>0&&(Zu(s=0|X(8),44519),ar[s>>2]=17660,I(0|s,4016,428)),i=0|hu(e<<2),ar[c>>2]=i,t=i+(f>>2<<2)|0,ar[(o=c+8|0)>>2]=t,ar[(n=c+4|0)>>2]=t,ar[(t=c+12|0)>>2]=i+(e<<2),f=0|hu(4096),ar[a>>2]=f,function(A,e){e|=0;var r,i,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0;r=0|ar[(b=8+(A|=0)|0)>>2],u=0|ar[(i=A+12|0)>>2],t=u,a=r;do{if((0|r)==(0|u)){if(l=0|ar[(u=A+4|0)>>2],n=0|ar[A>>2],(f=n)>>>0<l>>>0){o=(n=l)+((t=(1+(n-f>>2)|0)/-2|0)<<2)|0,f=(n=(f=a-n|0)>>2)?(wb(0|o,0|l,0|f),0|ar[u>>2]):l,l=o+(n<<2)|0,ar[b>>2]=l,ar[u>>2]=f+(t<<2),f=l;break}if(1073741823<(f=0==(0|(f=t-f>>1))?1:f)>>>0&&(Zu(b=0|X(8),44519),ar[b>>2]=17660,I(0|b,4016,428)),o=0|hu(f<<2),c=t=(a=o)+(f>>>2<<2)|0,o=o+(f<<2)|0,(0|l)==(0|r))f=c;else{for(f=c,n=l;ar[t>>2]=ar[n>>2],f=t=f+4|0,(0|(n=n+4|0))!=(0|r););n=0|ar[A>>2]}ar[A>>2]=a,ar[u>>2]=c,ar[b>>2]=f,ar[i>>2]=o,n&&(vu(n),f=0|ar[b>>2])}else f=r}while(0);ar[f>>2]=ar[e>>2],ar[b>>2]=4+(0|ar[b>>2])}(c,a),f=0|ar[b>>2];e=0|ar[u>>2],(0|f)!=(0|e);)ea(c,a=f+-4|0),f=a;return r=e,i=0|ar[A>>2],ar[A>>2]=ar[c>>2],ar[c>>2]=i,ar[u>>2]=ar[n>>2],ar[n>>2]=r,e=0|ar[b>>2],ar[b>>2]=ar[o>>2],ar[o>>2]=e,A=0|ar[l>>2],ar[l>>2]=ar[t>>2],ar[t>>2]=A,(0|e)!=(0|f)&&(ar[o>>2]=e+(~((e+-4-r|0)>>>2)<<2)),0|i&&vu(i),ur=s}if((0|r)!=(0|e))return b=0|hu(4096),ar[c>>2]=b,function(A,e){e|=0;var r,i,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0;r=0|ar[(b=8+(A|=0)|0)>>2],u=0|ar[(i=A+12|0)>>2],t=u,a=r;do{if((0|r)==(0|u)){if(l=0|ar[(u=A+4|0)>>2],n=0|ar[A>>2],(f=n)>>>0<l>>>0){o=(n=l)+((t=(1+(n-f>>2)|0)/-2|0)<<2)|0,f=(n=(f=a-n|0)>>2)?(wb(0|o,0|l,0|f),0|ar[u>>2]):l,l=o+(n<<2)|0,ar[b>>2]=l,ar[u>>2]=f+(t<<2),f=l;break}if(1073741823<(f=0==(0|(f=t-f>>1))?1:f)>>>0&&(Zu(b=0|X(8),44519),ar[b>>2]=17660,I(0|b,4016,428)),o=0|hu(f<<2),c=t=(a=o)+(f>>>2<<2)|0,o=o+(f<<2)|0,(0|l)==(0|r))f=c;else{for(f=c,n=l;ar[t>>2]=ar[n>>2],f=t=f+4|0,(0|(n=n+4|0))!=(0|r););n=0|ar[A>>2]}ar[A>>2]=a,ar[u>>2]=c,ar[b>>2]=f,ar[i>>2]=o,n&&(vu(n),f=0|ar[b>>2])}else f=r}while(0);ar[f>>2]=ar[e>>2],ar[b>>2]=4+(0|ar[b>>2])}(A,c),ur=s;a=0|hu(4096),ar[c>>2]=a,function(A,e){e|=0;var r,i=0,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0;r=0|ar[(s=4+(A|=0)|0)>>2],b=0|ar[A>>2],n=b;do{if((0|r)==(0|b)){if(f=0|ar[(b=A+8|0)>>2],l=0|ar[(u=A+12|0)>>2],f>>>0<(i=l)>>>0){t=(i=(n=f)+((o=(1+(i-n>>2)|0)/2|0)<<2)|0)+(0-(u=(n=n-r|0)>>2)<<2)|0,u&&(wb(0|t,0|r,0|n),i=t,f=0|ar[b>>2]),ar[s>>2]=i,ar[b>>2]=f+(o<<2);break}if(1073741823<(n=0==(0|(n=i-n>>1))?1:n)>>>0&&(Zu(s=0|X(8),44519),ar[s>>2]=17660,I(0|s,4016,428)),a=0|hu(n<<2),l=i=(c=a)+((n+3|0)>>>2<<2)|0,a=a+(n<<2)|0,(0|r)==(0|f))n=l,f=r;else{for(o=i,n=l,t=r;ar[o>>2]=ar[t>>2],n=o=n+4|0,(0|(t=t+4|0))!=(0|f););f=0|ar[A>>2]}ar[A>>2]=c,ar[s>>2]=l,ar[b>>2]=n,ar[u>>2]=a,f&&(vu(f),i=0|ar[s>>2])}else i=r}while(0);ar[i+-4>>2]=ar[e>>2],ar[s>>2]=(0|ar[s>>2])-4}(A,c),a=0|ar[u>>2],c=0|ar[a>>2],a=a+4|0,ar[u>>2]=a,o=0|ar[b>>2],t=0|ar[l>>2],e=t,n=o;do{if((0|o)==(0|t)){if(r=0|ar[A>>2],(i=r)>>>0<a>>>0){f=(e=a)+((i=(1+(e-i>>2)|0)/-2|0)<<2)|0,e=(r=(e=n-e|0)>>2)?(wb(0|f,0|a,0|e),0|ar[u>>2]):a,A=f+(r<<2)|0,ar[b>>2]=A,ar[u>>2]=e+(i<<2),e=A;break}if(1073741823<(e=0==(0|(e=e-i>>1))?1:e)>>>0&&(Zu(s=0|X(8),44519),ar[s>>2]=17660,I(0|s,4016,428)),f=0|hu(e<<2),t=i=(n=f)+(e>>>2<<2)|0,f=f+(e<<2)|0,(0|a)==(0|o))e=t;else{for(e=t,r=a;ar[i>>2]=ar[r>>2],e=i=e+4|0,(0|(r=r+4|0))!=(0|o););r=0|ar[A>>2]}ar[A>>2]=n,ar[u>>2]=t,ar[b>>2]=e,ar[l>>2]=f,r&&(vu(r),e=0|ar[b>>2])}else e=o}while(0);ar[e>>2]=c,ar[b>>2]=4+(0|ar[b>>2]),ur=s}(A+32|0),a=0|ar[o>>2],t=0|ar[e>>2],n=0|ar[c>>2]),ar[(0|ar[n+((u=t+a|0)>>>10<<2)>>2])+((1023&u)<<2)>>2]=ar[i+(l<<2)>>2],ar[e>>2]=t+1,ar[(0|ar[r>>2])+(l<<2)>>2]=ar[(0|ar[f>>2])-4>>2],ar[f>>2]=(0|ar[f>>2])-4}function ea(A,e){e|=0;var r,i=0,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0;r=0|ar[(s=(A|=0)+4|0)>>2],n=b=0|ar[A>>2];do{if((0|r)==(0|b)){if((f=0|ar[(b=A+8|0)>>2])>>>0<(i=l=0|ar[(u=A+12|0)>>2])>>>0){t=(i=(n=f)+((o=(1+(i-n>>2)|0)/2|0)<<2)|0)+(0-(u=(n=n-r|0)>>2)<<2)|0,u&&(wb(0|t,0|r,0|n),i=t,f=0|ar[b>>2]),ar[s>>2]=i,ar[b>>2]=f+(o<<2);break}if(1073741823<(n=0==(0|(n=i-n>>1))?1:n)>>>0&&(Zu(s=0|X(8),44519),ar[s>>2]=17660,I(0|s,4016,428)),l=i=(c=a=0|hu(n<<2))+((n+3|0)>>>2<<2)|0,a=a+(n<<2)|0,(0|r)==(0|f))n=l,f=r;else{for(o=i,n=l,t=r;ar[o>>2]=ar[t>>2],n=o=n+4|0,(0|(t=t+4|0))!=(0|f););f=0|ar[A>>2]}ar[A>>2]=c,ar[s>>2]=l,ar[b>>2]=n,ar[u>>2]=a,f&&(vu(f),i=0|ar[s>>2])}else i=r}while(0);ar[i+-4>>2]=ar[e>>2],ar[s>>2]=(0|ar[s>>2])-4}function ra(A){var e,r=0;if(r=(A|=0)+24|0,(0|ar[(e=A+20|0)>>2])==(0|ar[r>>2]))return(r=0)|r;for(;Aa(A),(0|ar[e>>2])!=(0|ar[r>>2]););return 0|(A=1)}function ia(A,e,r,i,f,n,t){e|=0,r|=0,i|=0,f|=0,n|=0,t|=0;var o,a,c,l,u,b=0,s=0,d=0,k=0,h=0,w=0,v=0;ur=(u=ur)+16|0,a=u,l=(A|=0)+8|0,s=0|ar[(c=A+12|0)>>2],o=k=0|ar[l>>2],b=s;A:do{if((0|s)==(0|k))d=-1,k=s;else{for(w=s-k>>2,d=0;h=0|ar[o+(d<<2)>>2],0!=(0|tr[h+100>>0])||0!=(0|ar[h+96>>2]);)if(w>>>0<=(d=d+1|0)>>>0){d=-1;break A}oa(h),b=0|ar[c>>2],k=0|ar[l>>2],s=b}}while(0);return(0|d)==((w=s-k>>2)+-1|0)||w>>>0<=(0|ar[A+4>>2])>>>0||(v=0|ar[b+-4>>2],0!=(0|tr[v+100>>0]))||0!=(0|ar[v+96>>2])?b=s:((s=0|ar[b+-4>>2])&&(aa(s),vu(s),b=0|ar[c>>2]),b=b+-4|0,ar[c>>2]=b),-1==(0|d)&&(d=b-(0|ar[l>>2])>>2,na(b=0|hu(10624)),ar[a>>2]=b,(s=0|ar[c>>2])>>>0<(0|ar[A+16>>2])>>>0?(ar[s>>2]=b,ar[c>>2]=4+(0|ar[c>>2])):function(A,e){e|=0;var r,i,f,n,t,o=0,a=0,c=0,l=0;f=4+(A|=0)|0,n=0|ar[A>>2],t=(0|ar[f>>2])-n|0,1073741823<(o=1+(i=t>>2)|0)>>>0&&zl();c=(0|ar[(l=A+8|0)>>2])-n|0,a=c>>1,a=c>>2>>>0<536870911?a>>>0<o>>>0?o:a:1073741823;do{if(a){if(!(1073741823<a>>>0)){c=0|hu(a<<2);break}Zu(l=0|X(8),44519),ar[l>>2]=17660,I(0|l,4016,428)}else c=0}while(0);ar[(r=c+(i<<2)|0)>>2]=ar[e>>2],o=r+(0-i<<2)|0,0<(0|t)&&hb(0|o,0|n,0|t);if(ar[A>>2]=o,ar[f>>2]=4+r,ar[l>>2]=c+(a<<2),!n)return;vu(n)}(l,a)),b=0|ar[(0|ar[l>>2])+(d<<2)>>2],(s=0|ar[e+476>>2])>>>0<4?(ta(b,0|ar[e+484>>2],0|ar[e+488>>2],s,e,1,r,0,i,f,n,t),tr[b+10516>>0]=0,ur=u,0|d):(sr(44456,36554,259,36599),0)}function fa(A){var e,r;e=(A|=0)+36|0,r=A+48|0,ar[(A=A+52|0)>>2]=(0|ar[A>>2])-1,A=1+(0|ar[r>>2])|0,(ar[r>>2]=A)>>>0<=2047||(vu(0|ar[ar[e>>2]>>2]),ar[e>>2]=4+(0|ar[e>>2]),ar[r>>2]=(0|ar[r>>2])-1024)}function na(A){var e,r,i=0;ar[(A|=0)+48>>2]=0,ar[A+52>>2]=0,ar[A+56>>2]=0,ar[A+700>>2]=0,ar[A+704>>2]=0,ar[A+708>>2]=0,ar[(i=A+736|0)>>2]=0,ar[i+4>>2]=0,ar[i+8>>2]=0,ar[i+12>>2]=0,ar[i+16>>2]=0,$a(A+764|(ar[i+20>>2]=0)),Ia(A+5932|0),tr[A+10518>>0]=0,tr[A+10519>>0]=0,vb(A+10340|(tr[A+10520>>0]=0),0,140),ar[A>>2]=-1,ar[A+104>>2]=0,ar[A+10332>>2]=0,ar[A+10336>>2]=0,ar[A+10512>>2]=0,ar[A+4>>2]=0,ar[A+60>>2]=0,ar[A+8>>2]=0,ar[A+64>>2]=0,ar[A+12>>2]=0,ar[A+68>>2]=0,ar[A+28>>2]=0,i=A+10480|(ar[A+24>>2]=0),ar[A+10524>>2]=0,ar[i>>2]=0,ar[i+4>>2]=0,ar[i+8>>2]=0,ar[i+12>>2]=0,ar[i+16>>2]=0,ar[i+20>>2]=0,tr[A+10516>>0]=2,ar[A+88>>2]=-1,ar[A+92>>2]=-1,ar[A+96>>2]=0,tr[A+100>>0]=0,ar[(i=A+10528|0)>>2]=0,ar[i+4>>2]=0,ar[i+8>>2]=0,ar[i+12>>2]=0,ar[i+16>>2]=0,e=A+10548|0,pA(0|(e|=0),0),r=A+10576|0,dA(0|(r|=0),0)}function ta(A,e,r,i,f,n,t,o,a,c,l,u){A|=0,e|=0,r|=0,i|=0,n|=0,t|=0,o|=0,a|=0,c|=0,l|=0,u|=0;var b,s,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0;switch(ur=(s=ur)+48|0,b=s,(f|=0)||sr(36749,36663,240,36753),hb(0|(h=A+764|0),0|f,4717),(0|h)!=(0|f)&&Ke(A+5484|0,0|ar[f+4720>>2],0|ar[f+4724>>2]),hb(A+5496|0,f+4732|0,436),oa(A),k=0|ar[14326],ar[14326]=k+1,ar[A>>2]=k,ar[A+104>>2]=2147483647,ar[A+10332>>2]=t,ar[A+10336>>2]=o,ar[A+20>>2]=i,ar[A+24>>2]=e,ar[A+28>>2]=r,ar[(k=A+32|0)>>2]=e,ar[(h=A+36|0)>>2]=r,ar[A+10488>>2]=l,ar[(l=A+10480|0)>>2]=a,ar[l+4>>2]=c,0|i){case 3:case 0:d=m=1;break;case 1:d=2,p=8;break;case 2:d=1,p=8;break;default:sr(44456,36663,276,36753)}switch(8==(0|p)&&(m=2),0|i){case 1:w=(e+1|0)/(ar[b>>2]=2)|0,ar[k>>2]=w,v=(r+1|0)/2|0,ar[h>>2]=v;break;case 2:ar[b>>2]=3,w=(e+1|0)/2|0,ar[k>>2]=w,v=r;break;case 3:ar[b>>2]=4,w=e,v=r;break;case 0:ar[b>>2]=1,ar[k>>2]=0,v=w=ar[h>>2]=0;break;default:sr(55739,36663,302,36753)}ar[b+4>>2]=e,ar[b+8>>2]=r,ar[b+12>>2]=16,i=0|ar[f+496>>2],a=0|ar[f+500>>2],k=0|ar[f+504>>2],h=0|ar[f+508>>2],e=e-(0|br(y=a+i|0,m))|0,ar[A+72>>2]=e,l=r-(0|br(c=h+k|0,d))|0,ar[A+76>>2]=l,ar[A+80>>2]=w-y,ar[A+84>>2]=v-c,c=0|br(i,m),ar[b+16>>2]=c,a=0|br(a,m),ar[b+20>>2]=a,a=0|br(k,d),ar[b+24>>2]=a,m=0|br(h,d),ar[b+28>>2]=m,ar[b+32>>2]=e,ar[b+36>>2]=l,tr[A+16>>0]=8<(0|ar[f+4996>>2])&1,l=8<(0|ar[f+5004>>2])&1,tr[A+17>>0]=l,tr[A+18>>0]=l,d=(l=0==(0|t))?0:0|ar[t+544>>2];do{if(o){if(d=0|ar[o+3060>>2],u){if(y=0|ar[o+3064>>2],l=A+10504|0,ar[A+10512>>2]=y){ar[l>>2]=0,ar[A+10508>>2]=0;break}Z=0|ar[(p=7736)>>2],p=0|ar[p+4>>2],ar[(g=l)>>2]=Z,ar[g+4>>2]=p,g=d,p=25;break}p=24}else p=l|1^u?24:(Z=0|ar[(p=t+536|0)>>2],p=0|ar[p+4>>2],ar[(g=A+10504|0)>>2]=Z,ar[g+4>>2]=p,g=d,25)}while(0);if(24==(0|p)&&(Z=0|ar[(y=7736)>>2],y=0|ar[y+4>>2],ar[(g=A+10504|0)>>2]=Z,ar[g+4>>2]=y,g=d,p=25),25==(0|p)&&0|Z&&(y=0==(0|Pb[7&Z](t,b,A,g)),t=(0|ar[A+4>>2])+c+(0|br(0|ar[A+40>>2],a))|0,ar[A+60>>2]=t,t=0|br(0|ar[A+44>>2],k),ar[A+64>>2]=(0|ar[A+8>>2])+i+t,ar[A+68>>2]=(0|ar[A+12>>2])+i+t,y))return ur=s,0|(y=7);do{if(n){i=0|ar[(e=f+5112|0)>>2],k=0|ar[(w=f+5116|0)>>2],h=0|ar[(v=f+5108|0)>>2],a=0|br(k,i),c=A+10404|0,d=0|ar[(l=A+10400|0)>>2];do{if((0|a)!=(0|ar[c>>2])){if(Bc(d),d=0|yc(a),ar[l>>2]=d){ar[c>>2]=a,p=32;break}r=ar[c>>2]=0;break}p=32}while(0);32==(0|p)&&(ar[A+10412>>2]=i,ar[A+10416>>2]=k,ar[A+10408>>2]=h,r=0!=(0|d)),h=0|ar[e>>2],k=0|ar[w>>2],i=0|ar[v>>2],a=0|br(k,h),c=A+10424|0,d=0|ar[(l=A+10420|0)>>2];do{if((0|a)!=(0|ar[c>>2])){if(Bc(d),d=0|yc(a),ar[l>>2]=d){ar[c>>2]=a,p=37;break}d=ar[c>>2]=0;break}p=37}while(0);37==(0|p)&&(ar[A+10432>>2]=h,ar[A+10436>>2]=k,ar[A+10428>>2]=i,d=0!=(0|d)),e=r&d,l=A+10360|0,i=0|ar[(r=f+5052|0)>>2],k=0|ar[(v=f+5060|0)>>2],h=0|ar[(w=f+5036|0)>>2],a=0|br(k,i),c=A+10364|0;do{if((0|a)!=(0|ar[c>>2])){if(Bc(0|ar[l>>2]),d=0|yc(3*a|0),ar[l>>2]=d){ar[c>>2]=a,p=43;break}d=ar[c>>2]=0;break}d=0|ar[l>>2],p=43}while(0);43==(0|p)&&(ar[A+10372>>2]=i,ar[A+10376>>2]=k,ar[A+10368>>2]=h,d=0!=(0|d)),h=e&d,i=(0|ar[w>>2])-2|0,k=ar[r>>2]<<i,i=ar[v>>2]<<i,l=A+10380|0,a=0|br(i,k),c=A+10384|0;do{if((0|a)!=(0|ar[c>>2])){if(Bc(0|ar[l>>2]),d=0|yc(12*a|0),ar[l>>2]=d){ar[c>>2]=a,p=49;break}d=ar[c>>2]=0;break}d=0|ar[l>>2],p=49}while(0);49==(0|p)&&(ar[A+10392>>2]=k,ar[A+10396>>2]=i,ar[A+10388>>2]=2,d=0!=(0|d)),e=h&d,i=0|ar[f+5088>>2],k=0|ar[f+5092>>2],h=0|ar[f+5100>>2],a=0|br(k,i),c=A+10444|0,d=0|ar[(l=A+10440|0)>>2];do{if((0|a)!=(0|ar[c>>2])){if(Bc(d),d=0|yc(a),ar[l>>2]=d){ar[c>>2]=a,p=54;break}d=ar[c>>2]=0;break}p=54}while(0);54==(0|p)&&(ar[A+10452>>2]=i,ar[A+10456>>2]=k,ar[A+10448>>2]=h,d=0!=(0|d)),h=e&d,i=(3+(0|ar[f+484>>2])|0)/4|0,k=(3+(0|ar[f+488>>2])|0)/4|0,a=0|br(k,i),c=A+10464|0,d=0|ar[(l=A+10460|0)>>2];do{if((0|a)!=(0|ar[c>>2])){if(Bc(d),d=0|yc(a),ar[l>>2]=d){ar[c>>2]=a,p=59;break}d=ar[c>>2]=0;break}p=59}while(0);if(59==(0|p)&&(ar[A+10472>>2]=i,ar[A+10476>>2]=k,ar[A+10468>>2]=2,d=0!=(0|d)),r=h&d,h=A+10340|0,(0|(d=0|ar[(e=A+10344|0)>>2]))==(0|ar[f+5072>>2])){if(r)break;return ur=s,0|(d=7)}if(a=0|ar[(w=A+10524|0)>>2]){if(0|(d=0|ar[(l=a+-4|0)>>2]))for(d=a+(80*d|0)|0;Jn(d=d+-80|0),(0|d)!=(0|a););mu(l),d=0|ar[e>>2]}i=0|ar[f+5056>>2],k=0|ar[f+5064>>2],c=0|ar[f+5040>>2],l=0|br(k,i);do{if((0|l)!=(0|d)){if(Bc(0|ar[h>>2]),d=0|yc(24*l|0),ar[h>>2]=d){ar[e>>2]=l,a=d,p=71;break}l=d=ar[e>>2]=0;break}a=0|ar[h>>2],l=d,p=71}while(0);if(71==(0|p)&&(ar[A+10352>>2]=i,ar[A+10356>>2]=k,ar[A+10348>>2]=c,d=0!=(0|a)),a=r&d,c=0|wu(53687091<l>>>0|4294967291<(c=80*l|0)>>>0?-1:c+4|0),ar[c>>2]=l,c=c+4|0,0|l)for(d=c+(80*l|0)|0,l=c;Dn(l),(0|(l=l+80|0))!=(0|d););if(ar[w>>2]=c,!a)return ur=s,0|(y=7)}}while(0);return ur=s,(y=0)|y}function oa(A){var e,r=0,i=0,f=0,n=0,t=0,o=0;if(0|ar[(f=(A|=0)+4|0)>>2]&&((r=0|ar[A+10512>>2])?(o=0|ar[A+10336>>2],ns[127&r](o,A,0|ar[o+3060>>2])):(i=(r=0|ar[A+10332>>2])?0|ar[r+544>>2]:0,ns[127&ar[A+10508>>2]](r,A,i)),ar[f>>2]=0,ar[A+60>>2]=0,ar[A+8>>2]=0,ar[A+64>>2]=0,ar[A+12>>2]=0,ar[A+68>>2]=0),e=A+48|0,(0|(r=i=0|ar[(o=A+52|0)>>2]))!=(0|(f=A=0|ar[e>>2]))){for(t=0;(n=0|ar[f+(t<<2)>>2])&&(0|(r=0|ar[n+1344>>2])&&((0|(f=0|ar[(i=n+1348|0)>>2]))!=(0|r)&&(ar[i>>2]=f+(~((f+-4-r|0)>>>2)<<2)),vu(r)),kt(n+1332|0),0|(r=0|ar[n+776>>2])&&((0|(f=0|ar[(i=n+780|0)>>2]))!=(0|r)&&(ar[i>>2]=f+(~((f+-4-r|0)>>>2)<<2)),vu(r)),vu(n),r=0|ar[o>>2],A=0|ar[e>>2],i=r),(t=t+1|0)>>>0<i-(f=A)>>2>>>0;);i=A}(0|r)!=(0|f)&&(ar[o>>2]=r+(~((r+-4-i|0)>>>2)<<2))}function aa(A){var e,r,i,f=0,n=0,t=0,o=0;if(oa(A|=0),0|(n=0|ar[A+10524>>2])){if(0|(f=0|ar[(t=n+-4|0)>>2]))for(f=n+(80*f|0)|0;Jn(f=f+-80|0),(0|f)!=(0|n););mu(t)}if(r=A+10576|0,sA(0|(r|=0)),i=A+10548|0,ZA(0|(i|=0)),Bc(0|ar[A+10460>>2]),Bc(0|ar[A+10440>>2]),Bc(0|ar[A+10420>>2]),Bc(0|ar[A+10400>>2]),Bc(0|ar[A+10380>>2]),Bc(0|ar[A+10360>>2]),Bc(0|ar[A+10340>>2]),Ga(A+5932|0),Ac(A+764|0),0|(f=0|ar[A+748>>2])&&((0|ar[(n=A+752|0)>>2])!=(0|f)&&(ar[n>>2]=f),vu(f)),0|(f=0|ar[A+736>>2])&&((0|(t=0|ar[(n=A+740|0)>>2]))!=(0|f)&&(ar[n>>2]=t+(~((t+-2-f|0)>>>1)<<1)),vu(f)),0|(f=0|ar[(e=A+700|0)>>2])){if((0|(n=0|ar[(o=A+704|0)>>2]))!=(0|f)){for(;n=n+-12|0,ar[o>>2]=n,(t=0|ar[n>>2])&&(vu(t),n=0|ar[o>>2]),(0|n)!=(0|f););f=0|ar[e>>2]}vu(f)}(t=0|ar[A+48>>2])&&((0|(n=0|ar[(f=A+52|0)>>2]))!=(0|t)&&(ar[f>>2]=n+(~((n+-4-t|0)>>>2)<<2)),vu(t))}function ca(A,e){e|=0;var r,i;Yn(r=(A|=0)+10548|0),ar[(i=A+10528|0)>>2]=(0|ar[i>>2])+e,ar[(A=A+10544|0)>>2]=(0|ar[A>>2])+e,Qn(r)}function la(A,e){e|=0;var r;Yn(e=(A|=0)+10548|0),ar[(r=A+10528|0)>>2]=(0|ar[r>>2])-1,ar[(A=A+10532|0)>>2]=1+(0|ar[A>>2]),Qn(e)}function ua(A,e){e|=0;var r,i,f,n=0;(Yn(e=(A|=0)+10548|0),i=0|ar[(n=A+10532|0)>>2],ar[n>>2]=i-1,r=1+(0|ar[(n=A+10540|0)>>2])|0,ar[n>>2]=r,(0|i)<=0&&sr(36809,36663,642,36830),(0|r)==(0|ar[A+10544>>2]))?(f=A+10576|0,mb(f|=0),Qn(e)):Qn(e)}function ba(A,e,r,i,f){r|=0,i|=0,f|=0,function(A,e,r,i){A|=0,r|=0,i|=0;var f,n;if(!(e|=0))return;if((0|function(A){return 0|ar[(A|=0)>>2]}(r=(0|ar[A+10524>>2])+(80*r|0)|0))>=(0|i))return;Yn(f=A+10548|0),ar[(n=A+10532|0)>>2]=(0|ar[n>>2])-1,ar[(A=A+10536|0)>>2]=1+(0|ar[A>>2]),Qn(f),ar[(e=e+4|0)>>2]=2,Mn(r,i),ar[e>>2]=1,Yn(f),ar[A>>2]=(0|ar[A>>2])-1,ar[n>>2]=1+(0|ar[n>>2]),Qn(f)}(A|=0,e|=0,(0|br(0|ar[A+5820>>2],i))+r|0,f)}function sa(A){var e,r,i;if(Yn(e=(A|=0)+10548|0),i=A+10544|0,(0|ar[(r=A+10540|0)>>2])!=(0|ar[i>>2])){for(A=A+10576|0;f=A,n=e,hA(0|(f|=0),0|(n|=0)),(0|ar[r>>2])!=(0|ar[i>>2]););var f,n;Qn(e)}else Qn(e)}function da(A,e,r,i,f){A|=0,e|=0,r|=0;var n=0,t=0,o=0,a=0;return((f|=0)|(i|=0)|0)<0||(0|ar[A+1248>>2])<=(0|i)||(0|ar[A+1252>>2])<=(0|f)?(A=0)|A:(t=0|ar[A+5864>>2],a=0|ar[A+5852>>2],n=(0|br(f>>t,a))+(i>>t)|0,t=(o=0|ar[A+10320>>2])+((0|br(r>>t,a))+(e>>t)<<2)|0,(0|ar[o+(n<<2)>>2])>(0|ar[t>>2])?(a=0)|a:(t=e>>(a=0|ar[A+5804>>2]),n=r>>a,r=i>>a,e=f>>a,a=0|ar[A+10352>>2],o=(0|br(a,n))+t|0,a=(f=0|ar[A+10340>>2])+(24*((0|br(a,e))+r|0)|0)|0,(0|or[f+(24*o|0)>>1])!=(0|or[a>>1])?(a=0)|a:(a=0|ar[A+5820>>2],o=(0|br(a,n))+t|0,a=(A=0|ar[A+10308>>2])+((0|br(a,e))+r<<2)|0,0|(a=(0|ar[A+(o<<2)>>2])==(0|ar[a>>2])))))}function ka(A,e,r,i,f,n,t,o,a,c,l){if(A|=0,f|=0,n|=0,t|=0,o|=0,a|=0,(0|(l|=0))<((i|=0)+(r|=0)|0)&(1^((i+(e|=0)|0)<=(0|(c|=0))|(0|c)<(0|e)|(0|l)<(0|r)))){if((t<<1|0)==(0|i)&&!((t+e|0)<=(0|c)|1!=(0|a)|(o<<1|0)!=(0|i)|(0|l)<(o+r|0)))return 0}else{if((l|c|0)<0)return 0;if((0|ar[A+1248>>2])<=(0|c))return 0;if((0|ar[A+1252>>2])<=(0|l))return 0;if(a=0|ar[A+5864>>2],i=0|ar[A+5852>>2],o=(0|br(l>>a,i))+(c>>a)|0,a=(t=0|ar[A+10320>>2])+((0|br(n>>a,i))+(f>>a)<<2)|0,(0|ar[t+(o<<2)>>2])>(0|ar[a>>2]))return 0;if(f>>=i=0|ar[A+5804>>2],e=n>>i,r=c>>i,i=l>>i,n=0|ar[A+10352>>2],a=(0|br(n,e))+f|0,n=(o=0|ar[A+10340>>2])+(24*((0|br(n,i))+r|0)|0)|0,(0|or[o+(24*a|0)>>1])!=(0|or[n>>1]))return 0;if(n=0|ar[A+5820>>2],a=(0|br(n,e))+f|0,n=(o=0|ar[A+10308>>2])+((0|br(n,i))+r<<2)|0,(0|ar[o+(a<<2)>>2])!=(0|ar[n>>2]))return 0}return i=c>>(e=0|ar[A+10368>>2]),e=l>>e,(0|i)<=-1&&sr(48482,36846,118,48539),(0|(r=0|ar[A+10372>>2]))<=(0|i)&&sr(48482,36846,118,48539),(0|e)<=-1&&sr(48543,36846,119,48539),(0|e)<(0|ar[A+10376>>2])?(A=(0|ar[A+10360>>2])+(3*((0|br(r,e))+i|0)|0)|0,0!=(768&(cr[A>>0]|cr[A+1>>0]<<8))|0):(sr(48543,36846,119,48539),0)}function ha(A){return((A|=0)+-19&255)<2|0}function wa(A){return((A|=0)+-16&255)<3|0}function va(A){return(1|(A|=0))<<24>>24==9|0}function ma(A){return(-8&(A|=0))<<24>>24==16|0}function ga(A,e){e|=0;var r,i,f,n,t,o=0,a=0,c=0,l=0;f=(A|=0)+4|0,n=0|ar[A>>2],1073741823<(o=1+(i=(t=(0|ar[f>>2])-n|0)>>2)|0)>>>0&&zl(),a=(c=(0|ar[(l=A+8|0)>>2])-n|0)>>1,a=c>>2>>>0<536870911?a>>>0<o>>>0?o:a:1073741823;do{if(a){if(!(1073741823<a>>>0)){c=0|hu(a<<2);break}Zu(l=0|X(8),44519),ar[l>>2]=17660,I(0|l,4016,428)}else c=0}while(0);ar[(r=c+(i<<2)|0)>>2]=ar[e>>2],o=r+(0-i<<2)|0,0<(0|t)&&hb(0|o,0|n,0|t),ar[A>>2]=o,ar[f>>2]=4+r,ar[l>>2]=c+(a<<2),n&&vu(n)}function Za(A,e,r){e|=0,r|=0;var i,f=0;for(i=f=0|ar[(A|=0)+32>>2],A=(0|ar[A+36>>2])-f>>2;;){if(f=A+-1|0,(0|A)<=0){A=0,f=4;break}if(!(((0|ar[i+(f<<2)>>2])-r|0)>(0|e))){f=4;break}A=f}return 4==(0|f)?0|A:0}function pa(A,e){e|=0;var r,i,f,n,t,o=0,a=0,c=0,l=0;f=(A|=0)+4|0,n=0|ar[A>>2],1073741823<(o=1+(i=(t=(0|ar[f>>2])-n|0)>>2)|0)>>>0&&zl(),a=(c=(0|ar[(l=A+8|0)>>2])-n|0)>>1,a=c>>2>>>0<536870911?a>>>0<o>>>0?o:a:1073741823;do{if(a){if(!(1073741823<a>>>0)){c=0|hu(a<<2);break}Zu(l=0|X(8),44519),ar[l>>2]=17660,I(0|l,4016,428)}else c=0}while(0);ar[(r=c+(i<<2)|0)>>2]=ar[e>>2],o=r+(0-i<<2)|0,0<(0|t)&&hb(0|o,0|n,0|t),ar[A>>2]=o,ar[f>>2]=4+r,ar[l>>2]=c+(a<<2),n&&vu(n)}function ya(A){var e,r,i,f,n=0,t=0,o=0;return(n=0|ar[(e=(A|=0)+32|0)>>2])?(f=0|ar[(i=A+16|0)>>2],o=0|ar[(t=A+28|0)>>2],r=0|ar[(0|ar[f+(o>>>10<<2)>>2])+((1023&o)<<2)>>2],ar[e>>2]=n+-1,n=o+1|0,2047<(ar[t>>2]=n)>>>0&&(vu(0|ar[f>>2]),ar[i>>2]=4+(0|ar[i>>2]),ar[t>>2]=(0|ar[t>>2])-1024),ar[(o=A+36|0)>>2]=(0|ar[o>>2])-(0|ar[24+r>>2]),0|(o=r)):(t=0)|t}function Ba(A,e){A|=0,e|=0;var r,i,f,n,t=0,o=0;if(ur=(n=ur)+16|0,o=ar[(t=n)>>2]=e){if(r=A+40|0,(f=0|ar[(i=A+44|0)>>2])-(0|ar[r>>2])>>2>>>0<16)return(0|f)==(0|ar[A+48>>2])?pa(r,t):(ar[f>>2]=o,ar[i>>2]=4+(0|ar[i>>2])),void(ur=n);Bc(0|ar[e+20>>2]),0|(A=0|ar[e+32>>2])&&((0|(o=0|ar[(t=e+36|0)>>2]))!=(0|A)&&(ar[t>>2]=o+(~((o+-4-A|0)>>>2)<<2)),vu(A)),vu(e),ur=n}else ur=n}function Ea(A){var e=0,r=0,i=0,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0;if(ur=(s=ur)+32|0,c=s+4|0,a=s,1023<(r=0|ar[(e=(A|=0)+16|0)>>2])>>>0){ar[e>>2]=r+-1024,c=0|ar[(l=A+4|0)>>2],b=0|ar[c>>2],c=c+4|0,ar[l>>2]=c,o=0|ar[(u=A+8|0)>>2],e=t=0|ar[(a=A+12|0)>>2],n=o;do{if((0|o)==(0|t)){if((i=r=0|ar[A>>2])>>>0<c>>>0){f=(e=c)+((i=(1+(e-i>>2)|0)/-2|0)<<2)|0,e=(r=(e=n-e|0)>>2)?(wb(0|f,0|c,0|e),0|ar[l>>2]):c,A=f+(r<<2)|0,ar[u>>2]=A,ar[l>>2]=e+(i<<2),e=A;break}if(1073741823<(e=0==(0|(e=e-i>>1))?1:e)>>>0&&(Zu(s=0|X(8),44519),ar[s>>2]=17660,I(0|s,4016,428)),t=i=(n=f=0|hu(e<<2))+(e>>>2<<2)|0,f=f+(e<<2)|0,(0|c)==(0|o))e=t;else{for(e=t,r=c;ar[i>>2]=ar[r>>2],e=i=e+4|0,(0|(r=r+4|0))!=(0|o););r=0|ar[A>>2]}ar[A>>2]=n,ar[l>>2]=t,ar[u>>2]=e,ar[a>>2]=f,r&&(vu(r),e=0|ar[u>>2])}else e=o}while(0);return ar[e>>2]=b,ar[u>>2]=4+(0|ar[u>>2]),void(ur=s)}if(f=(e=0|ar[(b=A+8|0)>>2])-(0|ar[(u=A+4|0)>>2])|0,(i=(r=0|ar[(l=A+12|0)>>2])-(0|ar[A>>2])|0)>>>0<=f>>>0){for(e=0==(0|(e=i>>1))?1:e,ar[c+12>>2]=0,ar[c+16>>2]=A+12,1073741823<e>>>0&&(Zu(s=0|X(8),44519),ar[s>>2]=17660,I(0|s,4016,428)),i=0|hu(e<<2),t=(ar[c>>2]=i)+(f>>2<<2)|0,ar[(o=c+8|0)>>2]=t,ar[(n=c+4|0)>>2]=t,ar[(t=c+12|0)>>2]=i+(e<<2),f=0|hu(4096),ar[a>>2]=f,function(A,e){e|=0;var r,i,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0;r=0|ar[(b=8+(A|=0)|0)>>2],u=0|ar[(i=A+12|0)>>2],t=u,a=r;do{if((0|r)==(0|u)){if(l=0|ar[(u=A+4|0)>>2],n=0|ar[A>>2],(f=n)>>>0<l>>>0){o=(n=l)+((t=(1+(n-f>>2)|0)/-2|0)<<2)|0,f=(n=(f=a-n|0)>>2)?(wb(0|o,0|l,0|f),0|ar[u>>2]):l,l=o+(n<<2)|0,ar[b>>2]=l,ar[u>>2]=f+(t<<2),f=l;break}if(1073741823<(f=0==(0|(f=t-f>>1))?1:f)>>>0&&(Zu(b=0|X(8),44519),ar[b>>2]=17660,I(0|b,4016,428)),o=0|hu(f<<2),c=t=(a=o)+(f>>>2<<2)|0,o=o+(f<<2)|0,(0|l)==(0|r))f=c;else{for(f=c,n=l;ar[t>>2]=ar[n>>2],f=t=f+4|0,(0|(n=n+4|0))!=(0|r););n=0|ar[A>>2]}ar[A>>2]=a,ar[u>>2]=c,ar[b>>2]=f,ar[i>>2]=o,n&&(vu(n),f=0|ar[b>>2])}else f=r}while(0);ar[f>>2]=ar[e>>2],ar[b>>2]=4+(0|ar[b>>2])}(c,a),f=0|ar[b>>2];(0|f)!=(0|(e=0|ar[u>>2]));)Xa(c,a=f+-4|0),f=a;return r=e,i=0|ar[A>>2],ar[A>>2]=ar[c>>2],ar[c>>2]=i,ar[u>>2]=ar[n>>2],ar[n>>2]=r,e=0|ar[b>>2],ar[b>>2]=ar[o>>2],ar[o>>2]=e,A=0|ar[l>>2],ar[l>>2]=ar[t>>2],ar[t>>2]=A,(0|e)!=(0|f)&&(ar[o>>2]=e+(~((e+-4-r|0)>>>2)<<2)),0|i&&vu(i),void(ur=s)}if((0|r)!=(0|e))return b=0|hu(4096),ar[c>>2]=b,function(A,e){e|=0;var r,i,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0;r=0|ar[(b=8+(A|=0)|0)>>2],u=0|ar[(i=A+12|0)>>2],t=u,a=r;do{if((0|r)==(0|u)){if(l=0|ar[(u=A+4|0)>>2],n=0|ar[A>>2],(f=n)>>>0<l>>>0){o=(n=l)+((t=(1+(n-f>>2)|0)/-2|0)<<2)|0,f=(n=(f=a-n|0)>>2)?(wb(0|o,0|l,0|f),0|ar[u>>2]):l,l=o+(n<<2)|0,ar[b>>2]=l,ar[u>>2]=f+(t<<2),f=l;break}if(1073741823<(f=0==(0|(f=t-f>>1))?1:f)>>>0&&(Zu(b=0|X(8),44519),ar[b>>2]=17660,I(0|b,4016,428)),o=0|hu(f<<2),c=t=(a=o)+(f>>>2<<2)|0,o=o+(f<<2)|0,(0|l)==(0|r))f=c;else{for(f=c,n=l;ar[t>>2]=ar[n>>2],f=t=f+4|0,(0|(n=n+4|0))!=(0|r););n=0|ar[A>>2]}ar[A>>2]=a,ar[u>>2]=c,ar[b>>2]=f,ar[i>>2]=o,n&&(vu(n),f=0|ar[b>>2])}else f=r}while(0);ar[f>>2]=ar[e>>2],ar[b>>2]=4+(0|ar[b>>2])}(A,c),void(ur=s);a=0|hu(4096),ar[c>>2]=a,function(A,e){e|=0;var r,i=0,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0;r=0|ar[(s=4+(A|=0)|0)>>2],b=0|ar[A>>2],n=b;do{if((0|r)==(0|b)){if(f=0|ar[(b=A+8|0)>>2],l=0|ar[(u=A+12|0)>>2],f>>>0<(i=l)>>>0){t=(i=(n=f)+((o=(1+(i-n>>2)|0)/2|0)<<2)|0)+(0-(u=(n=n-r|0)>>2)<<2)|0,u&&(wb(0|t,0|r,0|n),i=t,f=0|ar[b>>2]),ar[s>>2]=i,ar[b>>2]=f+(o<<2);break}if(1073741823<(n=0==(0|(n=i-n>>1))?1:n)>>>0&&(Zu(s=0|X(8),44519),ar[s>>2]=17660,I(0|s,4016,428)),a=0|hu(n<<2),l=i=(c=a)+((n+3|0)>>>2<<2)|0,a=a+(n<<2)|0,(0|r)==(0|f))n=l,f=r;else{for(o=i,n=l,t=r;ar[o>>2]=ar[t>>2],n=o=n+4|0,(0|(t=t+4|0))!=(0|f););f=0|ar[A>>2]}ar[A>>2]=c,ar[s>>2]=l,ar[b>>2]=n,ar[u>>2]=a,f&&(vu(f),i=0|ar[s>>2])}else i=r}while(0);ar[i+-4>>2]=ar[e>>2],ar[s>>2]=(0|ar[s>>2])-4}(A,c),a=0|ar[u>>2],c=0|ar[a>>2],a=a+4|0,ar[u>>2]=a,o=0|ar[b>>2],e=t=0|ar[l>>2],n=o;do{if((0|o)==(0|t)){if((i=r=0|ar[A>>2])>>>0<a>>>0){f=(e=a)+((i=(1+(e-i>>2)|0)/-2|0)<<2)|0,e=(r=(e=n-e|0)>>2)?(wb(0|f,0|a,0|e),0|ar[u>>2]):a,A=f+(r<<2)|0,ar[b>>2]=A,ar[u>>2]=e+(i<<2),e=A;break}if(1073741823<(e=0==(0|(e=e-i>>1))?1:e)>>>0&&(Zu(s=0|X(8),44519),ar[s>>2]=17660,I(0|s,4016,428)),t=i=(n=f=0|hu(e<<2))+(e>>>2<<2)|0,f=f+(e<<2)|0,(0|a)==(0|o))e=t;else{for(e=t,r=a;ar[i>>2]=ar[r>>2],e=i=e+4|0,(0|(r=r+4|0))!=(0|o););r=0|ar[A>>2]}ar[A>>2]=n,ar[u>>2]=t,ar[b>>2]=e,ar[l>>2]=f,r&&(vu(r),e=0|ar[b>>2])}else e=o}while(0);ar[e>>2]=c,ar[b>>2]=4+(0|ar[b>>2]),ur=s}function Xa(A,e){e|=0;var r,i=0,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0;r=0|ar[(s=(A|=0)+4|0)>>2],n=b=0|ar[A>>2];do{if((0|r)==(0|b)){if((f=0|ar[(b=A+8|0)>>2])>>>0<(i=l=0|ar[(u=A+12|0)>>2])>>>0){t=(i=(n=f)+((o=(1+(i-n>>2)|0)/2|0)<<2)|0)+(0-(u=(n=n-r|0)>>2)<<2)|0,u&&(wb(0|t,0|r,0|n),i=t,f=0|ar[b>>2]),ar[s>>2]=i,ar[b>>2]=f+(o<<2);break}if(1073741823<(n=0==(0|(n=i-n>>1))?1:n)>>>0&&(Zu(s=0|X(8),44519),ar[s>>2]=17660,I(0|s,4016,428)),l=i=(c=a=0|hu(n<<2))+((n+3|0)>>>2<<2)|0,a=a+(n<<2)|0,(0|r)==(0|f))n=l,f=r;else{for(o=i,n=l,t=r;ar[o>>2]=ar[t>>2],n=o=n+4|0,(0|(t=t+4|0))!=(0|f););f=0|ar[A>>2]}ar[A>>2]=c,ar[s>>2]=l,ar[b>>2]=n,ar[u>>2]=a,f&&(vu(f),i=0|ar[s>>2])}else i=r}while(0);ar[i+-4>>2]=ar[e>>2],ar[s>>2]=(0|ar[s>>2])-4}function Wa(A){var e,r,i=0,f=0,n=0,t=0,o=0,a=0,c=0,l=0;if(!(r=0|ar[(e=(A|=0)+8|0)>>2]))return(l=0)|l;if(6==(0|(i=0|ar[(l=A+4|0)>>2]))){if(a=(i=0|ar[(c=24+r|0)>>2])+1|0,(0|ar[(t=28+r|0)>>2])>(0|i))f=0|ar[20+r>>2];else{if(!(f=0|yc(a)))return 0|(l=7);(n=0|ar[(o=20+r|0)>>2])&&(hb(0|f,0|n,0|i),Bc(n),i=0|ar[c>>2]),ar[o>>2]=f,ar[t>>2]=a}tr[f+i>>0]=0,ar[c>>2]=1+(0|ar[c>>2]),i=0|ar[l>>2]}if(7==(0|i)){if(t=(i=0|ar[(c=24+r|0)>>2])+2|0,(0|ar[(o=28+r|0)>>2])<(0|t)){if(!(f=0|yc(t)))return 0|(l=7);(n=0|ar[(a=20+r|0)>>2])&&(hb(0|f,0|n,0|i),Bc(n),i=0|ar[c>>2]),ar[a>>2]=f,ar[o>>2]=t}else f=0|ar[20+r>>2];tr[(i=f+i|0)>>0]=0,tr[i+1>>0]=0,ar[c>>2]=2+(0|ar[c>>2]),i=0|ar[l>>2]}return 4<(0|i)&&(i=0|ar[(o=A+16|0)>>2],c=(0|ar[A+20>>2])-i|0,n=0|ar[(f=A+28|0)>>2],(0|(0==(0|c)?0:(c<<8)-1|0))==((t=0|ar[(a=A+32|0)>>2])+n|0)?(Ea(A+12|0),n=0|ar[f>>2],f=0|ar[a>>2],i=0|ar[o>>2]):f=t,ar[(0|ar[i+((c=f+n|0)>>>10<<2)>>2])+((1023&c)<<2)>>2]=r,ar[a>>2]=f+1,ar[(A=A+36|0)>>2]=(0|ar[A>>2])+(0|ar[24+r>>2]),ar[e>>2]=0),(l=ar[l>>2]=0)|l}function Ia(A){var e,r=0;for(tr[(A|=0)+4138>>0]=2,r=A+4139|0,tr[A+4155>>0]=0,tr[A+4156>>0]=0,tr[r>>0]=0,tr[r+1>>0]=0,tr[r+2>>0]=0,e=(r=A+4340|(tr[r+3>>0]=0))+60|0;(0|(r=r+4|(ar[r>>2]=0)))<(0|e););Ca(A,0)}function Ca(A,e){e|=0;var r=0,i=0;if(ar[(A|=0)>>2]=0,or[A+4>>1]=0,tr[A+6>>0]=1,tr[A+7>>0]=1,ar[A+8>>2]=27,tr[A+12>>0]=0,tr[A+13>>0]=0,tr[A+14>>0]=0,ar[(e=A+16|0)>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,ar[e+12>>2]=0,or[e+16>>1]=0,tr[e+18>>0]=0,ar[A+36>>2]=1,ar[A+40>>2]=1,tr[A+44>>0]=1,tr[A+45>>0]=1,tr[A+46>>0]=1,vb(A+4172|0,0,168),e=0|ar[A+4340>>2],(0|(i=0|ar[(r=A+4344|0)>>2]))!=(0|e)&&(ar[r>>2]=i+(~((i+-4-e|0)>>>2)<<2)),e=0|ar[A+4352>>2],(0|(i=0|ar[(r=A+4356|0)>>2]))!=(0|e)&&(ar[r>>2]=i+(~((i+-4-e|0)>>>2)<<2)),e=0|ar[A+4364>>2],(0|(i=0|ar[(r=A+4368|0)>>2]))!=(0|e)&&(ar[r>>2]=i+(~((i+-4-e|0)>>>2)<<2)),e=0|ar[A+4376>>2],(0|(i=0|ar[(r=A+4380|0)>>2]))!=(0|e)&&(ar[r>>2]=i+(~((i+-4-e|0)>>>2)<<2)),e=0|ar[A+4388>>2],(0|(i=0|ar[(r=A+4392|0)>>2]))==(0|e))return ar[(i=A+4160|0)>>2]=0,tr[(i=A+47|0)>>0]=0,tr[(i=A+48|0)>>0]=0,tr[(i=A+49|0)>>0]=0,ar[(i=A+52|0)>>2]=0,ar[(i=A+56|0)>>2]=0,tr[(i=A+60|0)>>0]=0,tr[(i=A+4125|0)>>0]=0,ar[(i=A+4128|0)>>2]=2,ar[(A=A+4132|0)>>2]=0,void(or[A+4>>1]=0);ar[r>>2]=i+(~((i+-4-e|0)>>>2)<<2),ar[(i=A+4160|0)>>2]=0,tr[(i=A+47|0)>>0]=0,tr[(i=A+48|0)>>0]=0,tr[(i=A+49|0)>>0]=0,ar[(i=A+52|0)>>2]=0,ar[(i=A+56|0)>>2]=0,tr[(i=A+60|0)>>0]=0,tr[(i=A+4125|0)>>0]=0,ar[(i=A+4128|0)>>2]=2,ar[(A=A+4132|0)>>2]=0,or[A+4>>1]=0}function Ga(A){var e=0,r=0,i=0;0|(e=0|ar[(A|=0)+4388>>2])&&((0|(i=0|ar[(r=A+4392|0)>>2]))!=(0|e)&&(ar[r>>2]=i+(~((i+-4-e|0)>>>2)<<2)),vu(e)),0|(e=0|ar[A+4376>>2])&&((0|(i=0|ar[(r=A+4380|0)>>2]))!=(0|e)&&(ar[r>>2]=i+(~((i+-4-e|0)>>>2)<<2)),vu(e)),0|(e=0|ar[A+4364>>2])&&((0|(i=0|ar[(r=A+4368|0)>>2]))!=(0|e)&&(ar[r>>2]=i+(~((i+-4-e|0)>>>2)<<2)),vu(e)),0|(e=0|ar[A+4352>>2])&&((0|(i=0|ar[(r=A+4356|0)>>2]))!=(0|e)&&(ar[r>>2]=i+(~((i+-4-e|0)>>>2)<<2)),vu(e)),(i=0|ar[A+4340>>2])&&((0|(r=0|ar[(e=A+4344|0)>>2]))!=(0|i)&&(ar[e>>2]=r+(~((r+-4-i|0)>>>2)<<2)),vu(i))}function Va(A,e){var r,i,f,n,t,o=0,a=0,c=0,l=0;if((e|=0)>>>0<=(a=0|ar[(t=(A|=0)+8|0)>>2])-(o=0|ar[(l=A+4|0)>>2])>>2>>>0)return vb(0|o,0,e<<2|0),void(ar[l>>2]=o+(e<<2));1073741823<(o=(i=(f=o-(n=0|ar[A>>2])|0)>>2)+e|0)>>>0&&zl(),a=(c=a-n|0)>>1,a=c>>2>>>0<536870911?a>>>0<o>>>0?o:a:1073741823;do{if(a){if(!(1073741823<a>>>0)){c=0|hu(a<<2);break}Zu(l=0|X(8),44519),ar[l>>2]=17660,I(0|l,4016,428)}else c=0}while(0);vb(0|(r=c+(i<<2)|0),0,e<<2|0),o=r+(0-i<<2)|0,0<(0|f)&&hb(0|o,0|n,0|f),ar[A>>2]=o,ar[l>>2]=r+(e<<2),ar[t>>2]=c+(a<<2),n&&vu(n)}function Fa(A,e,r){e|=0,r|=0;var i,f=0;if(!(0|tr[(A|=0)+34>>0]))return 0==(r|e|0)|0;i=0|ar[A+36>>2];A:do{if(0<(0|i)){for(f=0;(0|ar[A+4252+(f<<2)>>2])!=(0|e);)if((0|i)<=(0|(f=f+1|0))){e=f=0;break A}if(0<(0|(e=0|ar[A+40>>2])))for(f=0;;){if((0|ar[A+4296+(f<<2)>>2])==(0|r)){e=f=1;break A}if((0|e)<=(0|(f=f+1|0))){f=1,e=0;break}}else f=1,e=0}else e=f=0}while(0);return e&f|0}function Ra(A,e,r,i,f,n,t,o,a,c,l){e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,a|=0,c|=0,l|=0;var u,b,s,d,k,h,w,v,m,g,Z,p,y,B,E,X,W,I,C,G,V,F,R,N,_,Y,Q,D,J,M,T,U,S=0,O=0,z=0,j=0,H=0,x=0,P=0,L=0,K=0,q=0,$=0,AA=0,eA=0,rA=0,iA=0,fA=0,nA=0,tA=0,oA=0,aA=0,cA=0,lA=0;if(ur=(U=ur)+144|0,D=U+8|0,F=(V=U)+136|0,S=0|ar[(R=(A|=0)+10352|0)>>2],iA=(0|br(S,r))+e|0,J=0|ar[A+10340>>2],z=f<<1,j=(0|cr[J+(24*iA|0)+4>>0])>>>z&3)if(T=(M=1<<(P=0|ar[((O=0==(0|f))?A+5760|0:A+5768|0)>>2]))-1|0,Q=0|br(n,e),Y=0|br(t,r),W=0|ar[(O?A+24|0:A+32|0)>>2],I=0|ar[(O?A+28|0:A+36|0)>>2],e=Y>>(C=0|ar[A+10348>>2]),-1<(0|(i=Q>>C))&(0|i)<(0|S)||sr(48482,48519,118,48539),(0|e)<=-1&&sr(48543,48519,119,48539),(0|(G=0|ar[A+10356>>2]))<=(0|e)&&sr(48543,48519,119,48539),nA=J+(24*((0|br(e,S))+i|0)|0)+2|0,p=A+52|0,y=0|ar[A+48>>2],nA=0|ar[800+(0|ar[y+(lr[nA>>1]<<2)>>2])>>2],B=0|ar[A+5820>>2],E=y,cA=O?aA=0:(aA=(0|ar[A+5780>>2])-1|0,(0|ar[A+5784>>2])-1|0),Z=(fA=0|ar[A+5804>>2])-aA|0,fA=fA-cA|0,_=(0|W)<(Q+n|0)?W-Q|0:n,N=(0|I)<(Y+t|0)?I-Y|0:t,X=0!=(0|tr[J+(24*iA|0)+22>>0]),2==(0|j)){switch((0|cr[J+(24*iA|0)+5>>0])>>>z&3){case 0:H=x=0,tA=-1,oA=1;break;case 1:H=-(x=1),oA=tA=0;break;case 2:tA=H=-(x=1),oA=1;break;case 3:H=-(x=1),oA=-(tA=1)}if(ar[D>>2]=tA,ar[4+D>>2]=oA,ar[V>>2]=H,ar[V+4>>2]=x,g=0|br(H,a),m=0-x&a,tr[F>>0]=0|tr[J+(24*iA|0)+9+(f<<2)>>0],tr[1+F>>0]=0|tr[J+(24*iA|0)+9+(f<<2)+1>>0],tr[2+F>>0]=0,tr[3+F>>0]=0|tr[J+(24*iA|0)+9+(f<<2)+2>>0],tr[4+F>>0]=0|tr[J+(24*iA|0)+9+(f<<2)+3>>0],(0|N)<=0)ur=U;else{f=0<(0|_),u=A+5480|0,b=A+10368|0,s=A+10372|0,d=A+10376|0,k=A+10360|0,h=_+-1|0,w=N+-1|0,v=A+5977|0,P=A+10308|0,L=(0|br(Y>>fA,B))+(Q>>Z)|0,H=0;A:for(;;){if(K=o+((0|br(A=H+Y|0,a))+Q<<1)|0,q=c+((0|br(A,l))+Q<<1)|0,f){AA=0==(0|H),eA=(0|H)==(0|w),iA=(0|(rA=($=A<<cA)>>C))<0|(0|G)<=(0|rA),x=0;do{if(X&&0!=(0|tr[u>>0])){if(i=x+Q<<aA>>(e=0|ar[b>>2]),e=$>>e,(0|i)<=-1){lA=23;break A}if((0|(r=0|ar[s>>2]))<=(0|i)){lA=23;break A}if((0|e)<=-1){lA=26;break A}if((0|e)>=(0|ar[d>>2])){lA=26;break A}j=(0|ar[k>>2])+(3*((0|br(r,e))+i|0)|0)|0,1024&(cr[j>>0]|cr[j+1>>0]<<8)||(lA=28)}else lA=28;e:do{if(28==(0|lA)){if(e=(i=(j=x+Q|(lA=0))<<aA)>>(r=0|ar[b>>2]),r=$>>r,(0|e)<=-1){lA=30;break A}if((0|(S=0|ar[s>>2]))<=(0|e)){lA=30;break A}if((0|r)<=-1){lA=33;break A}if((0|r)>=(0|ar[d>>2])){lA=33;break A}if(z=(0|ar[k>>2])+(3*((0|br(S,r))+e|0)|0)|0,!(2048&(cr[z>>0]|cr[z+1>>0]<<8))){if(eA|(0|x)==(0|h)|AA|0==(0|x)){O=-1<(0|(S=i>>C)),r=0;do{if(n=(0|ar[D+(r<<2)>>2])+j|0,!((0|(t=(0|ar[V+(r<<2)>>2])+A|0))<(0|I)&(0|n)<(0|W)&-1<(t|n|0)))break e;if(e=t<<cA>>C,(0|(i=n<<aA>>C))<=-1){lA=40;break A}if((0|(z=0|ar[R>>2]))<=(0|i)){lA=40;break A}if(!(-1<(0|e)&(0|e)<(0|G))){lA=42;break A}if(e=J+(24*((0|br(z,e))+i|0)|0)+2|0,(e=0|lr[e>>1])>>>0>=(0|ar[p>>2])-E>>2>>>0){lA=59;break A}if(!(i=0|ar[y+(e<<2)>>2])){lA=59;break A}if((0|(i=0|ar[i+800>>2]))<(0|nA)){if(!(O&(0|S)<(0|z))){lA=47;break A}if(iA){lA=49;break A}if(z=J+(24*((0|br(z,rA))+S|0)|0)+2|0,!(0|tr[764+(0|ar[y+(lr[z>>1]<<2)>>2])>>0]))break e}if((0|nA)<(0|i)&&0==(0|tr[764+(0|ar[y+(e<<2)>>2])>>0]))break e;if(0==(0|tr[v>>0])&&(t=(0|br(t>>fA,B))+(n>>Z)|0,z=0|ar[P>>2],(0|ar[z+(t<<2)>>2])!=(0|ar[z+(L<<2)>>2])))break e;r=r+1|0}while((0|r)<2)}t=(j=0|lr[K+(x<<1)>>1])-(0|lr[K+(x+g+tA<<1)>>1])|0,z=j-(0|lr[K+(x+m+oA<<1)>>1])|0,j=(0|tr[((0|t)<0?1:0|t?3:2)+((0|z)<0?-1:0!=(0|z)&1)+F>>0])+j|0,or[q+(x<<1)>>1]=(0|j)<0?0:65535&((0|j)<(0|M)?j:T)}}}while(0);x=x+1|0}while((0|x)<(0|_))}if((0|N)<=(0|(H=H+1|0))){lA=59;break}}if(23==(0|lA))sr(48482,48519,118,48539);else if(26==(0|lA))sr(48543,48519,119,48539);else if(30==(0|lA))sr(48482,48519,118,48539);else if(33==(0|lA))sr(48543,48519,119,48539);else if(40==(0|lA))sr(48482,48519,118,48539);else if(42==(0|lA))sr(48543,48519,119,48539);else if(47==(0|lA))sr(48482,48519,118,48539);else if(49==(0|lA))sr(48543,48519,119,48539);else if(59==(0|lA))return void(ur=U)}}else{for(i=0|cr[J+(24*iA|0)+6+f>>0],r=(e=D)+128|0;(0|(e=e+4|(ar[e>>2]=0)))<(0|r););ar[D+((31&i)<<2)>>2]=1,ar[D+((i+1&31)<<2)>>2]=2,ar[D+((i+2&31)<<2)>>2]=3,ar[D+((i+3&31)<<2)>>2]=4,rA=P+-5|0,i=0<(0|N);A:do{if(X){if(i){K=0<(0|_),q=A+5480|0,$=A+10368|0,AA=A+10372|0,eA=A+10376|0,P=A+10360|0,L=7<(0|rA),x=0;e:for(;;){r:do{if(K){if(H=(z=x+Y|0)<<cA,t=0|br(z,a),z=0|br(z,l),A=0==(0|tr[q>>0]),L)for(j=-1<(0|(z=H>>(t=0|ar[$>>2]))),n=-1<(0|(O=H>>t)),S=0;;){if(i=S+Q<<aA,A)lA=79;else{if((0|(e=i>>t))<=-1){lA=88;break e}if((0|(r=0|ar[AA>>2]))<=(0|e)){lA=88;break e}if(!n){lA=91;break e}if((0|O)>=(0|ar[eA>>2])){lA=91;break e}oA=(0|ar[P>>2])+(3*((0|br(r,O))+e|0)|0)|0,1024&(cr[oA>>0]|cr[oA+1>>0]<<8)||(lA=79)}if(79==(0|lA)){if(((lA=0)|(i>>=t))<=-1){lA=95;break e}if((0|i)>=(0|ar[AA>>2])){lA=95;break e}if(!j){lA=98;break e}if((0|z)>=(0|ar[eA>>2])){lA=98;break e}}if((0|_)<=(0|(S=S+1|0)))break r}else n=0;do{if(i=(j=n+Q|0)<<aA,O=0|ar[$>>2],A)lA=93;else{if(r=H>>O,(0|(e=i>>O))<=-1){lA=88;break e}if((0|(S=0|ar[AA>>2]))<=(0|e)){lA=88;break e}if((0|r)<=-1){lA=91;break e}if((0|r)>=(0|ar[eA>>2])){lA=91;break e}oA=(0|ar[P>>2])+(3*((0|br(S,r))+e|0)|0)|0,1024&(cr[oA>>0]|cr[oA+1>>0]<<8)||(lA=93)}do{if(93==(0|lA)){if(r=i>>O,i=H>>O,((lA=0)|r)<=-1){lA=95;break e}if((0|(e=0|ar[AA>>2]))<=(0|r)){lA=95;break e}if((0|i)<=-1){lA=98;break e}if((0|i)>=(0|ar[eA>>2])){lA=98;break e}if(oA=(0|ar[P>>2])+(3*((0|br(e,i))+r|0)|0)|0,2048&(cr[oA>>0]|cr[oA+1>>0]<<8))break;if(i=0|lr[o+(j+t<<1)>>1],(0|(e=0|ar[D+(i>>>rA<<2)>>2]))<=0)break;oA=(0|tr[e+-1+(J+(24*iA|0)+9+(f<<2))>>0])+i|0,or[c+(j+z<<1)>>1]=(0|oA)<0?0:65535&((0|oA)<(0|M)?oA:T)}}while(0);n=n+1|0}while((0|n)<(0|_))}}while(0);if((0|N)<=(0|(x=x+1|0)))break A}88==(0|lA)?sr(48482,48519,118,48539):91==(0|lA)?sr(48543,48519,119,48539):95==(0|lA)?sr(48482,48519,118,48539):98==(0|lA)&&sr(48543,48519,119,48539)}}else if(i&&(L=7<(0|rA),0<(0|_))){e=0;do{if(r=0|br(S=e+Y|0,a),S=0|br(S,l),!L)for(i=0;n=0|lr[o+((O=i+Q|0)+r<<1)>>1],0<(0|(t=0|ar[D+(n>>>rA<<2)>>2]))&&(lA=(0|tr[t+-1+(J+(24*iA|0)+9+(f<<2))>>0])+n|0,or[c+(O+S<<1)>>1]=(0|lA)<0?0:65535&((0|lA)<(0|M)?lA:T)),(0|(i=i+1|0))<(0|_););e=e+1|0}while((0|e)<(0|N))}}while(0);ur=U}else ur=U}function Na(A,e,r,i,f,n,t,o,a,c,l){e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,a|=0,c|=0,l|=0;var u,b,s,d,k,h,w,v,m,g,Z,p,y,B,E,X,W,I,C,G,V,F,R,N,_,Y,Q,D,J,M,T,U,S=0,O=0,z=0,j=0,H=0,x=0,P=0,L=0,K=0,q=0,$=0,AA=0,eA=0,rA=0,iA=0,fA=0,nA=0,tA=0,oA=0,aA=0,cA=0,lA=0,uA=0,bA=0;if(ur=(U=ur)+144|0,J=U+8|0,F=(V=U)+136|0,S=0|ar[(R=(A|=0)+10352|0)>>2],iA=(0|br(S,r))+e|0,fA=0|ar[(N=A+10340|0)>>2],z=f<<1,j=(0|cr[fA+(24*iA|0)+4>>0])>>>z&3)if(T=(M=1<<(P=0|ar[((O=0==(0|f))?A+5760|0:A+5768|0)>>2]))-1|0,D=0|br(n,e),Q=0|br(t,r),W=0|ar[(O?A+24|0:A+32|0)>>2],I=0|ar[(O?A+28|0:A+36|0)>>2],i=D>>(e=0|ar[(C=A+10348|0)>>2]),e=Q>>e,-1<(0|i)&(0|i)<(0|S)||sr(48482,48519,118,48539),(0|e)<=-1&&sr(48543,48519,119,48539),(0|e)>=(0|ar[(G=A+10356|0)>>2])&&sr(48543,48519,119,48539),oA=fA+(24*((0|br(e,S))+i|0)|0)+2|0,B=A+52|0,oA=0|ar[800+(0|ar[(0|ar[(y=A+48|0)>>2])+(lr[oA>>1]<<2)>>2])>>2],E=0|ar[A+5820>>2],uA=O?lA=0:(lA=(0|ar[A+5780>>2])-1|0,(0|ar[A+5784>>2])-1|0),p=(tA=0|ar[A+5804>>2])-lA|0,tA=tA-uA|0,Y=(0|W)<(D+n|0)?W-D|0:n,_=(0|I)<(Q+t|0)?I-Q|0:t,X=0!=(0|tr[fA+(24*iA|0)+22>>0]),2==(0|j)){switch((0|cr[fA+(24*iA|0)+5>>0])>>>z&3){case 0:H=x=0,aA=-1,cA=1;break;case 1:H=-(x=1),cA=aA=0;break;case 2:aA=H=-(x=1),cA=1;break;case 3:H=-(x=1),cA=-(aA=1)}if(ar[J>>2]=aA,ar[4+J>>2]=cA,ar[V>>2]=H,ar[V+4>>2]=x,Z=0|br(H,a),g=0-x&a,tr[F>>0]=0|tr[fA+(24*iA|0)+9+(f<<2)>>0],tr[1+F>>0]=0|tr[fA+(24*iA|0)+9+(f<<2)+1>>0],tr[2+F>>0]=0,tr[3+F>>0]=0|tr[fA+(24*iA|0)+9+(f<<2)+2>>0],tr[4+F>>0]=0|tr[fA+(24*iA|0)+9+(f<<2)+3>>0],(0|_)<=0)ur=U;else{u=0<(0|Y),b=A+5480|0,s=A+10368|0,d=A+10372|0,k=A+10376|0,h=A+10360|0,w=Y+-1|0,v=_+-1|0,m=A+5977|0,$=A+10308|0,AA=(0|br(Q>>tA,E))+(D>>p)|0,K=0;A:for(;;){if(rA=o+((0|br(eA=K+Q|0,a))+D)|0,iA=c+((0|br(eA,l))+D)|0,u){fA=eA<<uA,f=0==(0|K),nA=(0|K)==(0|v),q=0;do{if(X&&0!=(0|tr[b>>0])){if(i=q+D<<lA>>(e=0|ar[s>>2]),e=fA>>e,(0|i)<=-1){bA=23;break A}if((0|(r=0|ar[d>>2]))<=(0|i)){bA=23;break A}if((0|e)<=-1){bA=26;break A}if((0|e)>=(0|ar[k>>2])){bA=26;break A}A=(0|ar[h>>2])+(3*((0|br(r,e))+i|0)|0)|0,1024&(cr[A>>0]|cr[A+1>>0]<<8)||(bA=28)}else bA=28;e:do{if(28==(0|bA)){if(i=(A=(L=q+D|(bA=0))<<lA)>>(e=0|ar[s>>2]),e=fA>>e,(0|i)<=-1){bA=30;break A}if((0|(r=0|ar[d>>2]))<=(0|i)){bA=30;break A}if((0|e)<=-1){bA=33;break A}if((0|e)>=(0|ar[k>>2])){bA=33;break A}if(P=(0|ar[h>>2])+(3*((0|br(r,e))+i|0)|0)|0,!(2048&(cr[P>>0]|cr[P+1>>0]<<8))){if(nA|(0|q)==(0|w)|f|0==(0|q)){t=0;do{if(z=(0|ar[J+(t<<2)>>2])+L|0,!((0|(j=(0|ar[V+(t<<2)>>2])+eA|0))<(0|I)&(0|z)<(0|W)&-1<(j|z|0)))break e;if(e=j<<uA>>(n=0|ar[C>>2]),(0|(i=z<<lA>>n))<=-1){bA=39;break A}if((0|(H=0|ar[R>>2]))<=(0|i)){bA=39;break A}if((0|e)<=-1){bA=42;break A}if((0|(x=0|ar[G>>2]))<=(0|e)){bA=42;break A}if(i=(P=0|ar[N>>2])+(24*((0|br(H,e))+i|0)|0)+2|0,i=0|lr[i>>1],O=S=0|ar[y>>2],i>>>0>=(0|ar[B>>2])-S>>2>>>0){bA=59;break A}if(!(e=0|ar[O+(i<<2)>>2])){bA=59;break A}if((0|(r=0|ar[e+800>>2]))<(0|oA)){if(i=fA>>n,!(-1<(0|(S=A>>n))&(0|S)<(0|H))){bA=47;break A}if(!(-1<(0|i)&(0|i)<(0|x))){bA=49;break A}if(P=P+(24*((0|br(H,i))+S|0)|0)+2|0,!(0|tr[764+(0|ar[O+(lr[P>>1]<<2)>>2])>>0]))break e}if((0|oA)<(0|r)&&0==(0|tr[e+764>>0]))break e;if(0==(0|tr[m>>0])&&(x=(0|br(j>>tA,E))+(z>>p)|0,P=0|ar[$>>2],(0|ar[P+(x<<2)>>2])!=(0|ar[P+(AA<<2)>>2])))break e;t=t+1|0}while((0|t)<2)}P=(A=0|cr[rA+q>>0])-(0|cr[rA+(q+Z+aA)>>0])|0,L=A-(0|cr[rA+(q+g+cA)>>0])|0,A=(0|tr[((0|P)<0?1:0|P?3:2)+((0|L)<0?-1:0!=(0|L)&1)+F>>0])+A|0,tr[iA+q>>0]=(0|A)<0?0:255&((0|A)<(0|M)?A:T)}}}while(0);q=q+1|0}while((0|q)<(0|Y))}if((0|_)<=(0|(K=K+1|0))){bA=59;break}}if(23==(0|bA))sr(48482,48519,118,48539);else if(26==(0|bA))sr(48543,48519,119,48539);else if(30==(0|bA))sr(48482,48519,118,48539);else if(33==(0|bA))sr(48543,48519,119,48539);else if(39==(0|bA))sr(48482,48519,118,48539);else if(42==(0|bA))sr(48543,48519,119,48539);else if(47==(0|bA))sr(48482,48519,118,48539);else if(49==(0|bA))sr(48543,48519,119,48539);else if(59==(0|bA))return void(ur=U)}}else{for(i=0|cr[fA+(24*iA|0)+6+f>>0],r=(e=J)+128|0;(0|(e=e+4|(ar[e>>2]=0)))<(0|r););ar[J+((31&i)<<2)>>2]=1,ar[J+((i+1&31)<<2)>>2]=2,ar[J+((i+2&31)<<2)>>2]=3,ar[J+((i+3&31)<<2)>>2]=4,rA=P+-5|0,i=0<(0|_);A:do{if(X){if(i){K=0<(0|Y),q=A+5480|0,$=A+10368|0,AA=A+10372|0,eA=A+10376|0,L=A+10360|0,A=7<(0|rA),P=0;e:for(;;){r:do{if(K){if(x=(z=P+Q|0)<<uA,t=0|br(z,a),z=0|br(z,l),A)for(z=0==(0|tr[q>>0]),H=-1<(0|(j=x>>(t=0|ar[$>>2]))),n=-1<(0|(O=x>>t)),S=0;;){if(i=S+D<<lA,z)bA=79;else{if((0|(e=i>>t))<=-1){bA=88;break e}if((0|(r=0|ar[AA>>2]))<=(0|e)){bA=88;break e}if(!n){bA=91;break e}if((0|O)>=(0|ar[eA>>2])){bA=91;break e}cA=(0|ar[L>>2])+(3*((0|br(r,O))+e|0)|0)|0,1024&(cr[cA>>0]|cr[cA+1>>0]<<8)||(bA=79)}if(79==(0|bA)){if(((bA=0)|(i>>=t))<=-1){bA=95;break e}if((0|i)>=(0|ar[AA>>2])){bA=95;break e}if(!H){bA=98;break e}if((0|j)>=(0|ar[eA>>2])){bA=98;break e}}if((0|Y)<=(0|(S=S+1|0)))break r}else n=0;do{if(i=(j=n+D|0)<<lA,O=0|ar[$>>2],0|tr[q>>0]){if(r=x>>O,(0|(e=i>>O))<=-1){bA=88;break e}if((0|(S=0|ar[AA>>2]))<=(0|e)){bA=88;break e}if((0|r)<=-1){bA=91;break e}if((0|r)>=(0|ar[eA>>2])){bA=91;break e}cA=(0|ar[L>>2])+(3*((0|br(S,r))+e|0)|0)|0,1024&(cr[cA>>0]|cr[cA+1>>0]<<8)||(bA=93)}else bA=93;do{if(93==(0|bA)){if(r=i>>O,i=x>>O,((bA=0)|r)<=-1){bA=95;break e}if((0|(e=0|ar[AA>>2]))<=(0|r)){bA=95;break e}if((0|i)<=-1){bA=98;break e}if((0|i)>=(0|ar[eA>>2])){bA=98;break e}if(cA=(0|ar[L>>2])+(3*((0|br(e,i))+r|0)|0)|0,2048&(cr[cA>>0]|cr[cA+1>>0]<<8))break;if(i=0|cr[o+(j+t)>>0],(0|(e=0|ar[J+(i>>>rA<<2)>>2]))<=0)break;cA=(0|tr[e+-1+(fA+(24*iA|0)+9+(f<<2))>>0])+i|0,tr[c+(j+z)>>0]=(0|cA)<0?0:255&((0|cA)<(0|M)?cA:T)}}while(0);n=n+1|0}while((0|n)<(0|Y))}}while(0);if((0|_)<=(0|(P=P+1|0)))break A}88==(0|bA)?sr(48482,48519,118,48539):91==(0|bA)?sr(48543,48519,119,48539):95==(0|bA)?sr(48482,48519,118,48539):98==(0|bA)&&sr(48543,48519,119,48539)}}else if(i&&(L=7<(0|rA),0<(0|Y))){e=0;do{if(r=0|br(S=e+Q|0,a),S=0|br(S,l),!L)for(i=0;n=0|cr[o+((O=i+D|0)+r)>>0],0<(0|(t=0|ar[J+(n>>>rA<<2)>>2]))&&(bA=(0|tr[t+-1+(fA+(24*iA|0)+9+(f<<2))>>0])+n|0,tr[c+(O+S)>>0]=(0|bA)<0?0:255&((0|bA)<(0|M)?bA:T)),(0|(i=i+1|0))<(0|Y););e=e+1|0}while((0|e)<(0|_))}}while(0);ur=U}else ur=U}function _a(A,e){A|=0;var r=0;switch(0|(e|=0)){case 0:e=7796,r=4;break;case 1:e=7824,r=4;break;case 2:e=7768,r=4;break;default:e=0}return 4==(0|r)&&(e=0|ar[e+(A<<2)>>2]),0|e}function Ya(){var A=0,e=0,r=0,i=0,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0;t=1;do{for(f=0|ar[7824+(t<<2)>>2],o=1<<t,e=A=0;;){for(n=255&A,r=0,i=e;tr[f+(i<<1)>>0]=r,tr[f+(i<<1)+1>>0]=n,(0|(r=r+1|0))!=(0|o);)i=i+1|0;if((0|(A=A+1|0))==(0|o))break;e=e+o|0}for(f=0|ar[7768+(t<<2)>>2],e=A=0;;){for(n=255&A,r=0,i=e;tr[f+(i<<1)>>0]=n,(0|(r=(tr[f+(i<<1)+1>>0]=r)+1|0))!=(0|o);)i=i+1|0;if((0|(A=A+1|0))==(0|o))break;e=e+o|0}f=0|ar[7796+(t<<2)>>2],n=o<<t,A=e=0;do{if(-1<(0|e))for(i=0,r=e;(0|r)<(0|o)&(0|i)<(0|o)&&(tr[f+(A<<1)>>0]=i,tr[f+(A<<1)+1>>0]=r,A=A+1|0),e=i+1|0,0<(0|r);)i=e,r=r+-1|0;else e=0}while((0|A)<(0|n));t=t+1|0}while(6!=(0|t));a=2;do{c=1<<a,l=(1<<(s=a+-2|0)<<s)-1|0,u=7768+(s<<2)|0,b=7796+(s<<2)|0,s=7824+(s<<2)|0,o=0;do{d=0|ar[7852+(24*o|0)+(a<<2)>>2],n=(h=2==(0|o))?66707:0,t=0;do{switch(k=t<<a,0|o){case 0:i=0|ar[b>>2],r=0;do{for(A=16,e=l;A=(f=0==(0|A))?15:A+-1|0,(((0|cr[i+((e=(f<<31>>31)+e|0)<<1)>>0])<<2)+(0|cr[63979+(A<<1)>>0])|0)!=(0|r)||(((0|cr[i+(e<<1)+1>>0])<<2)+(0|cr[63979+(A<<1)+1>>0])|0)!=(0|t););tr[d+((f=r+k|0)<<1)>>0]=e,tr[d+(f<<1)+1>>0]=A,r=r+1|0}while((0|r)<(0|c));break;case 1:i=0|ar[s>>2],r=0;do{for(A=16,e=l;A=(f=0==(0|A))?15:A+-1|0,(((0|cr[i+((e=(f<<31>>31)+e|0)<<1)>>0])<<2)+(0|cr[61251+(A<<1)>>0])|0)!=(0|r)||(((0|cr[i+(e<<1)+1>>0])<<2)+(0|cr[61251+(A<<1)+1>>0])|0)!=(0|t););tr[d+((f=r+k|0)<<1)>>0]=e,tr[d+(f<<1)+1>>0]=A,r=r+1|0}while((0|r)<(0|c));break;default:i=0;do{for(f=i+k|0,e=h?0|ar[u>>2]:0,A=16,r=l;A=(w=0==(0|A))?15:A+-1|0,(((0|cr[e+((r=(w<<31>>31)+r|0)<<1)>>0])<<2)+(0|cr[n+(A<<1)>>0])|0)!=(0|i)||(((0|cr[e+(r<<1)+1>>0])<<2)+(0|cr[n+(A<<1)+1>>0])|0)!=(0|t););tr[d+(f<<1)>>0]=r,tr[d+(f<<1)+1>>0]=A,i=i+1|0}while((0|i)<(0|c))}t=t+1|0}while((0|t)<(0|c));o=o+1|0}while(3!=(0|o));a=a+1|0}while(6!=(0|a))}function Qa(A,e){e|=0;var r,i,f,n,t,o,a,c,l,u,b,s,d,k,h,w,v,m,g,Z,p,y,B,E,X,W,I,C,G,V,F=0,R=0,N=0,_=0,Y=0,Q=0,D=0,J=0,M=0,T=0,U=0,S=0,O=0,z=0,j=0,H=0,x=0,P=0;if(ur=(V=ur)+208|0,H=V+24|0,G=V+8|0,t=(C=V)+40|0,w=V+192|0,132!=(0|ar[(A|=0)>>2]))return ur=V,(H=0)|H;if(!(0|tr[512+(0|ar[e+10332>>2])>>0]))return ur=V,(H=0)|H;if(!(0|tr[e+100>>0]))return ur=V,(H=0)|H;r=0==(0|ar[e+1240>>2])?1:3,i=e+32|0,f=e+24|0,n=e+36|0,o=e+28|0,a=e+40|0,c=e+44|0,l=A+8|0,u=e+5760|0,b=e+5768|0,s=1+w|0,d=2+w|0,k=3+w|0,h=4+w|0,v=5+w|0,m=6+w|0,g=7+w|0,Z=8+w|0,p=9+w|0,y=10+w|0,B=11+w|0,E=12+w|0,X=13+w|0,W=14+w|0,I=15+w|0,j=0;A:for(;;){switch(U=0|ar[((R=0==(0|j))?f:i)>>2],O=0|ar[(R?o:n)>>2],S=0|ar[e+4+(j<<2)>>2],T=0|ar[(R?a:c)>>2],0|ar[l>>2]){case 0:F=0|ar[(R?u:b)>>2],oc(t);e:do{if(0<(0|O)){if(D=U<<1,J=(0|U)<0?-1:D,(0|F)<=8)for(F=0;;)if(ac(t,S+(0|br(F,T))|0,U),(0|O)<=(0|(F=F+1|0))){F=0;break e}if(0<(0|U))F=Q=0;else for(F=R=0;;)if(ac(t,N=F||(F=0|wu(J)),D),(0|O)<=(0|(R=R+1|0)))break e;do{for(N=F||(F=0|wu(J)),_=0|br(Q,T),Y=F,R=0;x=S+(R+_<<1)|0,tr[N+(M=R<<1)>>0]=or[x>>1],tr[Y+(1|M)>>0]=(0|lr[x>>1])>>>8,(0|(R=R+1|0))!=(0|U);)N=Y;ac(t,Y,D),Q=Q+1|0}while((0|Q)<(0|O))}else F=0}while(0);if(lc(w,t),0|F&&mu(F),(0|tr[w>>0])!=(0|tr[A+12+(j<<4)>>0])){z=22;break A}if((0|tr[s>>0])!=(0|tr[A+12+(j<<4)+1>>0])){z=22;break A}if((0|tr[d>>0])!=(0|tr[A+12+(j<<4)+2>>0])){z=22;break A}if((0|tr[k>>0])!=(0|tr[A+12+(j<<4)+3>>0])){z=22;break A}if((0|tr[h>>0])!=(0|tr[A+12+(j<<4)+4>>0])){z=22;break A}if((0|tr[v>>0])!=(0|tr[A+12+(j<<4)+5>>0])){z=22;break A}if((0|tr[m>>0])!=(0|tr[A+12+(j<<4)+6>>0])){z=22;break A}if((0|tr[g>>0])!=(0|tr[A+12+(j<<4)+7>>0])){z=22;break A}if((0|tr[Z>>0])!=(0|tr[A+12+(j<<4)+8>>0])){z=22;break A}if((0|tr[p>>0])!=(0|tr[A+12+(j<<4)+9>>0])){z=22;break A}if((0|tr[y>>0])!=(0|tr[A+12+(j<<4)+10>>0])){z=22;break A}if((0|tr[B>>0])!=(0|tr[A+12+(j<<4)+11>>0])){z=22;break A}if((0|tr[E>>0])!=(0|tr[A+12+(j<<4)+12>>0])){z=22;break A}if((0|tr[X>>0])!=(0|tr[A+12+(j<<4)+13>>0])){z=22;break A}if((0|tr[W>>0])!=(0|tr[A+12+(j<<4)+14>>0])){z=22;break A}if((0|tr[I>>0])==(0|tr[A+12+(j<<4)+15>>0]))break;z=22;break A;case 1:e:do{if(0<(0|O)){if(J=U<<1,M=(0|U)<0?-1:J,F=0<(0|U),(0|ar[(R?u:b)>>2])<=8){if(!F){F=7439,z=39;break}for(R=0,F=7439;;){for(_=S+(0|br(R,T))|0,N=0;z=65535&F,x=cr[_+N>>0]^z>>>8,F=((x^=x>>>4)|z<<8)^x<<5^x<<12,(0|(N=N+1|0))!=(0|U););if((0|(R=R+1|0))==(0|O)){z=39;break e}}}if(F){F=7439,R=D=0;do{for(_=R||(R=0|wu(M)),Y=0|br(D,T),Q=R,N=0;;){if(P=S+(N+Y<<1)|0,tr[_+(x=N<<1)>>0]=or[P>>1],tr[Q+(1|x)>>0]=(0|lr[P>>1])>>>8,(0|(N=N+1|0))==(0|U)){N=0;break}_=Q}for(;x=65535&F,P=cr[Q+N>>0]^x>>>8,F=((P^=P>>>4)|x<<8)^P<<5^P<<12,(0|(N=N+1|0))<(0|J););D=D+1|0}while((0|D)!=(0|O))}else{for(R=F=0;R=R||0|wu(M),(0|(F=F+1|0))!=(0|O););F=7439}F&=65535,R&&mu(R)}else F=7439,z=39}while(0);if(39==(0|z)&&(z=0,F&=65535),(0|F)==(0|(R=0|lr[A+60+(j<<1)>>1])))break;z=43;break A;case 2:if(F=0<(0|U)&0<(0|O),(0|ar[(R?u:b)>>2])<9)if(F){F=R=0;do{for(_=R>>>8^R,Y=0|br(R,T),N=0;F=(255&(_^N^N>>>8)^cr[S+(N+Y)>>0])+F|0,(0|(N=N+1|0))!=(0|U););R=R+1|0}while((0|R)!=(0|O))}else F=0;else if(F){F=N=0;do{for(_=N>>>8^N,Y=0|br(N,T),R=0;F=(P=255&(_^R^R>>>8))+F+(P^cr[S+(R+Y)>>0])|0,(0|(R=R+1|0))!=(0|U););N=N+1|0}while((0|N)!=(0|O))}else F=0;if((0|F)==(0|(R=0|ar[A+68+(j<<2)>>2])))break;z=54;break A}if((0|r)<=(0|(j=j+1|0))){F=0,z=71;break}}return 22==(0|z)?(P=0|ar[2669],ar[C>>2]=ar[e+92>>2],Ii(P,39084,C),ur=V,0|(P=5)):43==(0|z)?(P=0|ar[2669],x=0|ar[e+92>>2],ar[G>>2]=R,ar[4+G>>2]=F,ar[8+G>>2]=x,Ii(P,39127,G),ur=V,0|(P=5)):54==(0|z)?(P=0|ar[2669],x=0|ar[e+92>>2],ar[H>>2]=R,ar[H+4>>2]=F,ar[H+8>>2]=x,Ii(P,39127,H),ur=V,0|(P=5)):71==(0|z)?(ur=V,0|F):0}function Da(A){var e,r,i,f=0,n=0,t=0,o=0,a=0;if(e=(o=0|ar[(A|=0)+18596>>2])+5932|0,n=0|ar[(r=A+18600|0)>>2],!(0|tr[n+12>>0]))return 3<=(f=0|ar[n+796>>2])>>>0&&sr(39211,39242,1508,39251),ht(A+18580|0,f,0|ar[n+792>>2]),tr[(A=A+18588|0)>>0]=0,tr[A+1>>0]=0,tr[A+2>>0]=0,(tr[A+3>>0]=0)|(A=1);if(t=0|ar[n+16>>2],f=0|lr[(0|ar[o+10340>>2])+(24*(0|ar[(0|ar[o+10284>>2])+((0|ar[(0|ar[o+10272>>2])+(t<<2)>>2])-1<<2)>>2])|0)+2>>1],n=0|ar[o+48>>2],f>>>0>=(0|ar[o+52>>2])-n>>2>>>0)return(A=0)|A;if(i=0|ar[n+(f<<2)>>2],0|Fa(e,(0|t)%(0|(o=0|ar[o+5820>>2]))|0,(0|t)/(0|o)|0))return f=0|ar[r>>2],3<=(n=0|ar[f+796>>2])>>>0&&sr(39211,39242,1508,39251),ht(A+18580|0,n,0|ar[f+792>>2]),tr[(A=A+18588|0)>>0]=0,tr[A+1>>0]=0,tr[A+2>>0]=0,(tr[A+3>>0]=0)|(A=1);if(t=0|ar[A+18604>>2],n=0|ar[A+18608>>2],o=0|ar[t+10632>>2],!(1<(t=(0|ar[t+10636>>2])-o>>2)>>>0))return(A=0)|A;for(f=1;(0|ar[o+(f<<2)>>2])!=(0|n);)if(t>>>0<=(f=f+1|0)>>>0){f=0,a=16;break}return 16==(0|a)?0|f:(f=0|ar[o+(f+-1<<2)>>2])?(Mn(f+44|0,0|ar[f+124>>2]),0|tr[1340+i>>0]?(gt(A+18580|0,a=1332+i|0),vt(a),0|(A=1)):(A=0)|A):(A=0)|A}function Ja(A,e,r){e|=0,r|=0;var i,f,n,t,o,a,c,l,u,b,s,d,k,h,w,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0,C=0;m=0|ar[(C=(A|=0)+18596|0)>>2],h=0|ar[m+5820>>2],v=0|ar[(w=A+12|0)>>2],k=m+5965|0;do{if(!r&&0<(0|v)&0!=(0|tr[k>>0])&&0==(0|ar[A+8>>2])){if(r=v+-1|0,1<(0|h)){if(I=0|ar[(v=A+18604|0)>>2],r>>>0<(0|ar[I+10680>>2])-(0|ar[I+10676>>2])>>3>>>0){ba(m,0|ar[A+18612>>2],1,r,1),gt(A+18580|0,(0|ar[10676+(0|ar[v>>2])>>2])+((0|ar[w>>2])-1<<3)|0),vt((0|ar[10676+(0|ar[v>>2])>>2])+((0|ar[w>>2])-1<<3)|0);break}return 0|(C=2)}if(ba(m,0|ar[A+18612>>2],0,r,1),r=0|ar[A+18600>>2],(v=0|ar[r+796>>2])>>>0<3){ht(A+18580|0,v,0|ar[r+792>>2]),tr[(I=A+18588|0)>>0]=0,tr[I+1>>0]=0,tr[I+2>>0]=0,tr[I+3>>0]=0;break}sr(39211,39242,1508,39251)}}while(0);for(f=A+8|0,n=h-1|0,t=A+18612|0,o=A+18580|0,a=A+18584|0,c=m+5828|0,l=A+18604|0,I=A+18556|0,u=m+5935|0,b=A+18600|0,s=A+4|0,d=m+5966|0,i=m+10296|0,X=0|ar[w>>2],p=0|ar[f>>2],W=0|ar[C>>2];;){if((v=(0|br(X,h))+p|0)>>>0>=(0|ar[W+10276>>2])-(0|ar[W+10272>>2])>>2>>>0){r=2,v=35;break}if((0|p)>=(0|ar[W+5820>>2])){r=2,v=35;break}if((0|X)>=(0|ar[W+5828>>2])){r=2,v=35;break}if((0|p)<(0|n)&0<(0|X)&e&&ba(W,0|ar[t>>2],p+1|0,X+-1|0,1),!(0|ar[a>>2])){r=2,v=35;break}if(Ma(A),1==(0|p)&0!=(0|tr[k>>0])&&(0|X)<((0|ar[c>>2])-1|0)){if(W=0|ar[l>>2],r=0|ar[W+10676>>2],(0|ar[W+10680>>2])-r>>3>>>0<=X>>>0){r=2,v=35;break}gt(r+(X<<3)|0,o),mt((0|ar[10676+(0|ar[l>>2])>>2])+(X<<3)|0)}if((B=0!=(0|(y=0|at(I))))&&0|tr[u>>0]&&(gt(1332+(0|ar[b>>2])|0,o),mt(1332+(0|ar[b>>2])|0),tr[1340+(0|ar[b>>2])>>0]=1),Tn((0|ar[10524+(0|ar[C>>2])>>2])+(80*v|0)|0,1),E=0|ar[w>>2],Z=(g=0|ar[s>>2])+1|0,ar[s>>2]=Z,W=0|ar[C>>2],r=0|ar[W+5836>>2],v=0|ar[W+5820>>2],(0|Z)<(0|r)?r=(m=0)|ar[(0|ar[W+10284>>2])+(Z<<2)>>2]:m=1,X=(0|r)/(0|v)|0,p=(0|r)%(0|v)|0,ar[A>>2]=r,ar[f>>2]=p,ar[w>>2]=X,0==(0|y)&m){v=27;break}if(B){r=0,v=35;break}if((r=0|tr[d>>0]?(r=0|ar[i>>2],(0|ar[r+(Z<<2)>>2])!=(0|ar[r+(g<<2)>>2])):0)|(0|E)!=(0|X)&0!=(0|tr[k>>0])){v=32;break}}return 27==(0|v)?(er(4+(0|ar[A+18592>>2])|0,1004,0),tr[10516+(0|ar[C>>2])>>0]=3,0|(C=2)):32==(0|v)?0|at(I)?(tt(I),0|(C=1)):(er(4+(0|ar[A+18592>>2])|0,1017,0),tr[10516+(0|ar[C>>2])>>0]=3,0|(C=2)):35==(0|v)?0|r:0}function Ma(A){var e,r,i,f,n,t,o,a,c=0,l=0,u=0,b=0,s=0;n=0|ar[(A|=0)+18600>>2],b=0|ar[A+18596>>2],a=(0|(c=0|ar[A>>2]))%(0|(s=0|ar[b+5820>>2]))|0,s=(0|c)/(0|s)|0,r=a<<(e=0|ar[(c=b+5804|0)>>2]),i=s<<e,f=0|ar[b+10352>>2],l=(0|br(f,s))+a|0,t=0|ar[b+10340>>2],or[t+(24*l|0)>>1]=ar[800+n>>2],l=65535&ar[n>>2],o=r>>(u=0|ar[b+10348>>2]),u=i>>u,-1<(0|o)&(0|o)<(0|f)||sr(48482,48519,128,48539),(0|u)<=-1&&sr(48543,48519,129,48539),(0|u)>=(0|ar[b+10356>>2])&&sr(48543,48519,129,48539),b=t+(24*((0|br(f,u))+o|0)|0)+2|0,or[b>>1]=l,0!=(0|tr[325+n>>0])||0!=(0|tr[326+n>>0])?(function(A,e,r,i){e|=0,r|=0,i|=0;var f,n,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0,C=0,G=0;ur=(n=ur)+32|0,i=n,a=0|ar[18600+(A|=0)>>2],f=0|ar[A+18596>>2],o=(t=i)+17|0;for(;tr[t>>0]=0,t=t+1|0,(0|t)<(0|o););t=0<(0|e)&&(C=0|br(0|ar[5820+f>>2],r),I=0|ar[10308+f>>2],(0|ar[A>>2])>(0|ar[a+800>>2])&&(0|ar[I+(C+e<<2)>>2])==(0|ar[I+(e+-1+C<<2)>>2]))?255&(0|ot(A+18556|0,0|ar[A+18580>>2])):0;o=0<(0|r)&(I=t<<24>>24==0)&&(E=0|ar[5820+f>>2],W=(0|br(E,r))+e|0,X=0|ar[10308+f>>2],C=X+((0|br(E,r+-1|0))+e<<2)|0,((0|ar[A>>2])-E|0)>=(0|ar[a+800>>2])&&(0|ar[X+(W<<2)>>2])==(0|ar[C>>2]))?255&(0|ot(A+18556|0,0|ar[A+18580>>2])):0;if(C=o<<24>>24==0,!((o|t)<<24>>24)){E=0==(0|ar[5776+f>>2])?1:3,X=a+325|0,W=A+18556|0,m=A+18580|0,g=5760+f|0,Z=5768+f|0,p=10087+f|0,y=10088+f|0,B=i+1|0,v=a+326|0,t=o=w=0;do{if((b=0==(0|w))&0!=(0|tr[X>>0])||0<(0|w)&0!=(0|tr[v>>0])){do{if(b)o=0|ot(W,1+(0|ar[m>>2])|0)?(o=0==(0|ct(W)))?1:2:0,a=o,o&=255;else{if(1!=(0|w)){a=(255&o)>>>(w<<1)&3;break}A=0|ot(W,1+(0|ar[m>>2])|0)?(A=0==(0|ct(W)))?1:2:0,o=255&((a=A)<<4|A<<2|255&o)}}while(0);if(A=255&a){a=0|ar[(u=b?g:Z)>>2],a=255&(0|lt(W,(1<<((0|a)<10?a:10)+-5)-1|0)),tr[(s=i+5+(w<<2)|0)>>0]=a,c=0|ar[u>>2],c=255&(0|lt(W,(1<<((0|c)<10?c:10)+-5)-1|0)),tr[(d=i+5+(w<<2)+1|0)>>0]=c,l=0|ar[u>>2],l=255&(0|lt(W,(1<<((0|l)<10?l:10)+-5)-1|0)),tr[(k=i+5+(w<<2)+2|0)>>0]=l,u=0|ar[u>>2],u=255&(0|lt(W,(1<<((0|u)<10?u:10)+-5)-1|0)),tr[(h=i+5+(w<<2)+3|0)>>0]=u;do{if(1==(0|A))A=a<<24>>24?(A=0!=(0|ct(W)))?-1:1:0,c=c<<24>>24?(c=0!=(0|ct(W)))?-1:1:0,l=l<<24>>24?(l=0!=(0|ct(W)))?-1:1:0,a=u<<24>>24?(a=0!=(0|ct(W)))?-1:1:0,u=255&(0|ut(W,5)),tr[i+2+w>>0]=u,b?u=p:G=30;else{if(b){u=p,a=l=-(c=A=1),t=255&(0|ut(W,2));break}G=(1==(0|w)?(G=255&(0|ut(W,2)),l=a=-1,A=c=1,t=255&(255&t|G<<2|G<<4)):(l=a=-1,A=c=1),30)}}while(0);30==(0|G)&&(G=0,u=y),b=0|cr[u>>0],u=255&(0|br(tr[s>>0]<<b,A)),tr[s>>0]=u,s=255&(0|br(tr[d>>0]<<b,c)),tr[d>>0]=s,d=255&(0|br(tr[k>>0]<<b,l)),tr[k>>0]=d,k=255&(0|br(tr[h>>0]<<b,a)),tr[h>>0]=k}}w=w+1|0}while((0|w)<(0|E));for(tr[i>>0]=o,tr[B>>0]=t,t=(0|br(0|ar[10352+f>>2],r))+e|0,t=(0|ar[10340+f>>2])+(24*t|0)+4|0,o=t+17|0;tr[t>>0]=0|tr[i>>0],i=i+1|0,(0|(t=t+1|0))<(0|o););}if(!I)for(i=0|br(0|ar[10352+f>>2],r),o=0|ar[10340+f>>2],t=o+(24*(i+e|0)|0)+4|0,i=o+(24*(e+-1+i|0)|0)+4|0,o=t+17|0;tr[t>>0]=0|tr[i>>0],i=i+1|0,(0|(t=t+1|0))<(0|o););if(C)return ur=n;t=0|ar[10352+f>>2],i=(0|br(t,r+-1|0))+e|0,o=0|ar[10340+f>>2],t=o+(24*((0|br(t,r))+e|0)|0)+4|0,i=o+(24*i|0)+4|0,o=t+17|0;for(;tr[t>>0]=0|tr[i>>0],t=t+1|0,i=i+1|0,(0|t)<(0|o););ur=n}(A,a,s,0),Ta(A,r,i,s=0|ar[c>>2],0)):Ta(A,r,i,s=e,0)}function Ta(A,e,r,i,f){var n,t,o,a,c,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0;for(t=(A|=0)+18596|0,o=A+18600|0,a=A+18516|0,c=A+18508|0,m=A+18512|0,s=A+18556|0,n=A+18580|0,B=e|=0,y=r|=0,Z=i|=0,p=f|=0;;){if(g=0|ar[t>>2],((e=1<<Z)+B|0)<=(0|(r=0|ar[(b=g+1248|0)>>2]))&&(e+y|0)<=(0|(d=0|ar[g+1252>>2]))&&(0|ar[g+5800>>2])<(0|Z)){if(e=-1<((i=B+-1|0)|y|0)&(0|B)<=(0|r)&(0|y)<(0|d)&&(h=0|ar[g+5804>>2],k=(u=0|br(y>>h,0|ar[g+5820>>2]))+(B>>h)|0,h=u+(i>>h)|0,u=0|ar[g+10340>>2],(0|or[u+(24*k|0)>>1])==(0|or[u+(24*h|0)>>1]))?(e=0|ar[g+10308>>2],(0|ar[e+(k<<2)>>2])==(0|ar[e+(h<<2)>>2])&1):0,l=(0|r)<=(0|B)|((u=y+-1|0)|B|0)<0|(0|d)<(0|y)||(f=0|ar[g+5804>>2],l=0|ar[g+5820>>2],v=B>>f,w=(0|br(y>>f,l))+v|0,v=(0|br(u>>f,l))+v|0,l=0|ar[g+10340>>2],(0|or[l+(24*w|0)>>1])!=(0|or[l+(24*v|0)>>1]))?0:(l=0|ar[g+10308>>2],(0|ar[l+(w<<2)>>2])==(0|ar[l+(v<<2)>>2])&1),e){if(e=i>>(r=0|ar[g+10368>>2]),r=y>>r,(0|e)<=-1){e=14;break}if((0|(i=0|ar[g+10372>>2]))<=(0|e)){e=14;break}if((0|r)<=-1){e=17;break}if((0|r)>=(0|ar[g+10376>>2])){e=17;break}f=(0|ar[g+10360>>2])+(3*((0|br(i,r))+e|0)|0)|0,f=((65535&(cr[f>>0]|cr[f+1>>0]<<8))>>>6&3|0)>(0|p)?3:2}else f=2;if(l){if(i=B>>(r=0|ar[g+10368>>2]),r=u>>r,(0|i)<=-1){e=22;break}if((0|(e=0|ar[g+10372>>2]))<=(0|i)){e=22;break}if((0|r)<=-1){e=25;break}if((0|r)>=(0|ar[g+10376>>2])){e=25;break}e=(0|ar[g+10360>>2])+(3*((0|br(e,r))+i|0)|0)|0,e=((65535&(cr[e>>0]|cr[e+1>>0]<<8))>>>6&3|0)>(0|p)&1}else e=0;e=0|ot(s,(0|ar[n>>2])+(e+f)|0)}else e=(0|ar[g+5800>>2])<(0|Z)&1;if(0|tr[g+5946>>0]&&(0|ar[g+10092>>2])<=(0|Z)&&(ar[c>>2]=0,ar[m>>2]=0),0|tr[752+(0|ar[o>>2])>>0]&&(0|ar[g+10096>>2])<=(0|Z)&&(ar[a>>2]=0),!e){e=42;break}if(i=(f=1<<(r=Z+-1|0))+B|0,f=f+y|0,Ta(A,B,y,r,l=p+1|0),(0|i)<(0|ar[b>>2])&&Ta(A,i,y,r,l),(0|f)<(0|ar[(e=g+1252|0)>>2])&&Ta(A,B,f,r,l),(0|i)>=(0|ar[b>>2])){e=48;break}if(!((0|f)<(0|ar[e>>2]))){e=48;break}B=i,y=f,Z=r,p=l}if(14==(0|e))sr(48482,48519,118,48539);else if(17==(0|e))sr(48543,48519,119,48539);else if(22==(0|e))sr(48482,48519,118,48539);else if(25==(0|e))sr(48543,48519,119,48539);else{if(42==(0|e)){if(b=B>>(m=0|ar[g+10368>>2]),r=y>>m,s=(e=1<<(m=Z-m|0))+r|0,31!=(0|m)){l=e+b|0,u=g+10372|0,i=g+10360|0,f=(65535&p)<<6&192,e=r;do{for(r=b;g=(0|br(0|ar[u>>2],e))+r|0,g=(0|ar[i>>2])+(3*g|0)|0,m=-193&(cr[g>>0]|cr[g+1>>0]<<8)|f,tr[g>>0]=m,tr[g+1>>0]=m>>8,(0|(r=r+1|0))<(0|l););e=e+1|0}while((0|e)<(0|s))}return void function(A,e,r,i,f){e|=0,r|=0,i|=0,f|=0;var n,t,o,a,c,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0,C=0,G=0,V=0,F=0,R=0,N=0,_=0,Y=0,Q=0,D=0,J=0;if(ur=(c=ur)+80|0,n=(D=c)+56|0,t=c+40|0,o=c+24|0,a=0|ar[(C=18596+(A|=0)|0)>>2],v=0|ar[(E=A+18600|0)>>2],function(A,e,r,i,f){e|=0,r|=0,i|=0;var n,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0;if(n=10368+(A|=0)|0,(f|=0)&&(c=0|ar[n>>2],b=e>>c,l=r>>c,u=(t=1<<(c=i-c|0))+l|0,31!=(0|c))){o=t+b|0,a=A+10372|0,c=A+10360|0,t=l;do{for(f=b;l=(0|br(0|ar[a>>2],t))+f|0,l=(0|ar[c>>2])+(3*l|0)|0,s=-8&(cr[l>>0]|cr[l+1>>0]<<8),tr[l>>0]=s,tr[l+1>>0]=s>>8,(0|(f=f+1|0))<(0|o););t=t+1|0}while((0|t)<(0|u))}t=0|ar[n>>2],o=e>>t,t=r>>t,(0|o)<=-1&&sr(48482,48519,128,48539);f=0|ar[A+10372>>2],(0|f)<=(0|o)&&sr(48482,48519,128,48539);(0|t)<=-1&&sr(48543,48519,129,48539);{if((0|t)<(0|ar[A+10376>>2]))return s=(0|ar[A+10360>>2])+(3*((0|br(f,t))+o|0)|0)|0,i=-8&(cr[s>>0]|cr[s+1>>0]<<8)|7&i,tr[s>>0]=i,tr[s+1>>0]=i>>8;sr(48543,48519,129,48539)}}(a,e,r,i,1),J=0|ar[10448+a>>2],h=e>>J,u=r>>J,w=(l=1<<(J=i-J|0))+u|0,31!=(0|J)){b=l+h|0,d=10452+a|0,k=10440+a|0,l=u;do{for(u=h;J=(0|br(0|ar[d>>2],l))+u|0,((tr[(0|ar[k>>2])+J>>0]=0)|(u=u+1|0))<(0|b););l=l+1|0}while((0|l)<(0|w))}J=1<<i,zn(A,e,r,e,r),0|tr[5964+a>>0]?(Q=0|ot(A+18556|0,161+(0|ar[A+18580>>2])|0),0|(tr[A+32>>0]=Q)&&function(A,e,r,i,f){e|=0,r|=0,i|=0,f|=0;var n,t,o=0,a=0,c=0,l=0,u=0,b=0;if(l=0|ar[10368+(A|=0)>>2],t=e>>l,u=r>>l,n=(i=1<<(l=i-l|0))+u|0,31!=(0|l)){a=i+t|0,c=A+10372|0,l=A+10360|0,o=(1&f)<<11&65535,i=u;do{for(f=t;u=(0|br(0|ar[c>>2],i))+f|0,u=(0|ar[l>>2])+(3*u|0)|0,b=-2049&(cr[u>>0]|cr[u+1>>0]<<8)|o,tr[u>>0]=b,tr[u+1>>0]=b>>8,(0|(f=f+1|0))<(0|a););i=i+1|0}while((0|i)<(0|n))}i=0|ar[A+10348>>2],o=e>>i,i=r>>i,(0|o)<=-1&&sr(48482,48519,128,48539);f=0|ar[A+10352>>2],(0|f)<=(0|o)&&sr(48482,48519,128,48539);(0|i)<=-1&&sr(48543,48519,129,48539);{if((0|i)<(0|ar[A+10356>>2]))return b=(0|ar[A+10340>>2])+(24*((0|br(f,i))+o|0)|0)+22|0,tr[b>>0]=1;sr(48543,48519,129,48539)}}(a,e,r,i,1)):tr[A+32>>0]=0;w=v+20|0;do{if(2!=(0|ar[w>>2])){h=0|ar[C>>2],l=0<=((u=e+-1|0)|r|0)&&(0|ar[h+1248>>2])>=(0|e)&&(0|ar[h+1252>>2])>(0|r)&&(g=0|ar[h+5804>>2],Q=0|br(r>>g,0|ar[h+5820>>2]),m=Q+(e>>g)|0,g=Q+(u>>g)|0,Q=0|ar[h+10340>>2],(0|or[Q+(24*m|0)>>1])==(0|or[Q+(24*g|0)>>1]))?(l=0|ar[h+10308>>2],(0|ar[l+(m<<2)>>2])==(0|ar[l+(g<<2)>>2])&1):0,d=0<=((k=r+-1|0)|e|0)&&(0|ar[h+1248>>2])>(0|e)&&(0|ar[h+1252>>2])>=(0|r)&&(Y=0|ar[h+5804>>2],Q=0|ar[h+5820>>2],p=e>>Y,Z=(0|br(r>>Y,Q))+p|0,p=(0|br(k>>Y,Q))+p|0,Q=0|ar[h+10340>>2],(0|or[Q+(24*Z|0)>>1])==(0|or[Q+(24*p|0)>>1]))?(d=0|ar[h+10308>>2],(0|ar[d+(Z<<2)>>2])==(0|ar[d+(p<<2)>>2])&1):0;do{if(l){if(Q=0|ar[h+10368>>2],l=u>>Q,u=r>>Q,(0|l)<=-1&&sr(48482,48519,118,48539),(0|(b=0|ar[h+10372>>2]))<=(0|l)&&sr(48482,48519,118,48539),(0|u)<=-1&&sr(48543,48519,119,48539),(0|u)<(0|ar[h+10376>>2])){y=(0|ar[h+10360>>2])+(3*((0|br(b,u))+l|0)|0)|0,y=512==(768&(cr[y>>0]|cr[y+1>>0]<<8))?6:5;break}sr(48543,48519,119,48539)}else y=5}while(0);do{if(d){if(l=0|ar[h+10368>>2],b=e>>l,l=k>>l,(0|b)<=-1&&sr(48482,48519,118,48539),(0|(u=0|ar[h+10372>>2]))<=(0|b)&&sr(48482,48519,118,48539),(0|l)<=-1&&sr(48543,48519,119,48539),(0|l)<(0|ar[h+10376>>2])){B=(0|ar[h+10360>>2])+(3*((0|br(u,l))+b|0)|0)|0,B=512==(768&(cr[B>>0]|cr[B+1>>0]<<8))&1;break}sr(48543,48519,119,48539)}else B=0}while(0);if(!((255&(0|ot(u=A+18556|0,(0|ar[(l=A+18580|0)>>2])+(B+y)|0)))<<24>>24)){if(2==(0|ar[w>>2])){Q=0;break}Q=0==(0|ot(u,149+(0|ar[l>>2])|0))&1;break}A:do{if(2<=(0|ar[804+(0|ar[E>>2])>>2])&&0!=(0|ot(u,148+(0|ar[l>>2])|0)))if(1<((0|ar[804+(0|ar[E>>2])>>2])-1|0)){l=1;do{if(!(0|ct(u)))break A;l=l+1|0}while((0|l)<((0|ar[804+(0|ar[E>>2])>>2])-1|0))}else l=1;else l=0}while(0);if(tr[(b=A+26|0)>>0]=15&tr[b>>0]|(255&l)<<5&255|16,b=0|ar[(l=10368+a|0)>>2],u=e>>b,b=r>>b,(0|u)<=-1&&sr(48482,48519,128,48539),(0|(s=0|ar[(h=10372+a|0)>>2]))<=(0|u)&&sr(48482,48519,128,48539),(0|b)<=-1&&sr(48543,48519,129,48539),(0|b)>=(0|ar[10376+a>>2])&&sr(48543,48519,129,48539),D=(0|ar[(k=10360+a|0)>>2])+(3*((0|br(s,b))+u|0)|0)|0,d=-57&(cr[D>>0]|cr[D+1>>0]<<8),tr[D>>0]=d,tr[D+1>>0]=d>>8,D=0|ar[l>>2],d=e>>D,u=r>>D,s=(l=1<<(D=i-D|0))+u|0,31!=(0|D)){b=l+d|0,l=u;do{for(u=d;D=(0|br(0|ar[h>>2],l))+u|0,D=(0|ar[k>>2])+(3*D|0)|0,i=-769&(cr[D>>0]|cr[D+1>>0]<<8)|512,tr[D>>0]=i,tr[D+1>>0]=i>>8,(0|(u=u+1|0))<(0|b););l=l+1|0}while((0|l)<(0|s))}return mc(0|ar[A+18592>>2],0|ar[E>>2],0|ar[C>>2],A+16|0,e,r,0,0,J,J,J,0),ur=c}Q=0}while(0);if(Y=0|ar[(m=10368+a|0)>>2],w=e>>Y,u=r>>Y,v=(l=1<<(Y=i-Y|0))+u|0,31!=(0|Y)){b=l+w|0,d=10372+a|0,k=10360+a|0,h=(65535&Q)<<8&65535,l=u;do{for(u=w;Y=(0|br(0|ar[d>>2],l))+u|0,Y=(0|ar[k>>2])+(3*Y|0)|0,_=-769&(cr[Y>>0]|cr[Y+1>>0]<<8)|h,tr[Y>>0]=_,tr[Y+1>>0]=_>>8,(0|(u=u+1|0))<(0|b););l=l+1|0}while((0|l)<(0|v))}if((Y=0!=(0|Q))||(0|ar[5800+a>>2])==(0|i)){u=0|ar[C>>2],h=0==(0|Q),l=0|ot(b=A+18556|0,8+(0|ar[(d=A+18580|0)>>2])|0);do{if(h)s=0|l?0:3;else if(l)s=0;else{if(k=0|ot(b,9+(0|ar[d>>2])|0),(0|ar[u+5800>>2])>=(0|i)){if(0|k){s=1;break}if(3==(0|i)){s=2;break}s=3-(0|ot(b,10+(0|ar[d>>2])|0))|0;break}if(!(0|tr[u+5466>>0])){s=0|k?1:2;break}if(0|ot(b,11+(0|ar[d>>2])|0)){s=0|k?1:2;break}l=0|ct(b),0!=(0|k)&(u=0!=(0|l))?s=5:(b=0==(0|k))|u?l|k?b&u?s=7:sr(55739,39242,1760,39275):s=6:s=4}}while(0);_=h&3==(0|s)&1}else s=_=0;u=0|ar[m>>2],l=e>>u,u=r>>u,(0|l)<=-1&&sr(48482,48519,128,48539);b=0|ar[10372+a>>2],(0|b)<=(0|l)&&sr(48482,48519,128,48539);(0|u)<=-1&&sr(48543,48519,129,48539);(0|u)>=(0|ar[10376+a>>2])&&sr(48543,48519,129,48539);R=(0|ar[10360+a>>2])+(3*((0|br(b,u))+l|0)|0)|0,N=-57&(cr[R>>0]|cr[R+1>>0]<<8)|(65535&s)<<3&56,tr[R>>0]=N,tr[R+1>>0]=N>>8,R=0==(0|Q),N=0==(0|s);A:do{if(R){if(N&&0|tr[5468+a>>0]&&(0|ar[5884+a>>2])<=(0|i)&&(0|ar[5888+a>>2])>=(0|i)&&0|at(G=A+18556|0)){if(Ua(a,e,r,i,1),l=0|ar[(Z=A+18560|0)>>2],ar[D>>2]=l,ar[D+4>>2]=(0|ar[A+18564>>2])-l,ar[(l=D+8|0)>>2]=0,ar[l+4>>2]=0,ar[D+16>>2]=0,l=0|ar[C>>2],b=0|ar[l+5760>>2],h=0|tr[l+5469>>0],k=0|ar[l+40>>2],l=0|ar[l+4>>2],u=(0|br(k,r))+e|0,8<(0|b)){if(d=l+(u<<1)|0,s=b-h|0,31!=(0|i)){u=0;do{for(b=0|br(u,k),l=0;i=(0|At(D,h))<<s&65535,or[d+(l+b<<1)>>1]=i,(0|(l=l+1|0))!=(0|J););u=u+1|0}while((0|u)!=(0|J))}}else if(d=l+u|0,s=b-h|0,31!=(0|i)){u=0;do{for(b=0|br(u,k),l=0;i=(0|At(D,h))<<s&255,tr[d+(l+b)>>0]=i,(0|(l=l+1|0))!=(0|J););u=u+1|0}while((0|u)!=(0|J))}u=0|ar[C>>2];do{if(0|ar[u+5776>>2])if(w=0|ar[u+5768>>2],k=0|ar[u+5780>>2],h=(0|J)/(0|k)|0,b=0|ar[u+5784>>2],v=(0|J)/(0|b)|0,l=0|tr[u+5470>>0],g=l<<24>>24,m=0|ar[u+44>>2],s=0|ar[u+8>>2],d=(0|br(m,(0|r)/(0|b)|0))+((0|e)/(0|k)|0)|0,8<(0|w)){if(s=s+(d<<1)|0,d=w-g|0,0<(0|h)&0<(0|v)){u=0;do{for(b=0|br(u,m),l=0;i=(0|At(D,g))<<d&65535,or[s+(l+b<<1)>>1]=i,(0|(l=l+1|0))!=(0|h););u=u+1|0}while((0|u)!=(0|v));u=0|ar[C>>2],m=0|ar[u+44>>2],w=0|ar[u+5768>>2],s=0|ar[u+5780>>2],b=0|ar[u+5784>>2],l=0|tr[u+5470>>0]}else s=k;if(v=(0|J)/(0|s)|0,h=(0|J)/(0|b)|0,k=l<<24>>24,d=(0|ar[u+12>>2])+((0|br((0|r)/(0|b)|0,m))+((0|e)/(0|s)|0)<<1)|0,b=w-k|0,!(0<(0|v)&0<(0|h)))break;u=0;do{for(s=0|br(u,m),l=0;r=(0|At(D,k))<<b&65535,or[d+(l+s<<1)>>1]=r,(0|(l=l+1|0))!=(0|v););u=u+1|0}while((0|u)!=(0|h))}else{if(s=s+d|0,d=w-g|0,0<(0|h)&0<(0|v)){u=0;do{for(b=0|br(u,m),l=0;i=(0|At(D,g))<<d&255,tr[s+(l+b)>>0]=i,(0|(l=l+1|0))!=(0|h););u=u+1|0}while((0|u)!=(0|v));u=0|ar[C>>2],m=0|ar[u+44>>2],w=0|ar[u+5768>>2],s=0|ar[u+5780>>2],b=0|ar[u+5784>>2],l=0|tr[u+5470>>0]}else s=k;if(v=(0|J)/(0|s)|0,h=(0|J)/(0|b)|0,k=l<<24>>24,d=(0|ar[u+12>>2])+((0|br((0|r)/(0|b)|0,m))+((0|e)/(0|s)|0))|0,b=w-k|0,!(0<(0|v)&0<(0|h)))break;u=0;do{for(s=0|br(u,m),l=0;r=(0|At(D,k))<<b&255,tr[d+(l+s)>>0]=r,(0|(l=l+1|0))!=(0|v););u=u+1|0}while((0|u)!=(0|h))}}while(0);return rt(D),ar[Z>>2]=ar[D>>2],tt(G),ur=c}if(G=(V=3==(0|s))?(0|J)/2|0:J,V=(V<<31>>31)+i|0,!(C=31==(0|i))){s=A+18556|0,d=A+18580|0,u=l=0;do{for(b=0;E=0|ot(s,12+(0|ar[d>>2])|0),l=(f=l)+1|0,ar[D+(f<<2)>>2]=E,(0|(b=b+G|0))<(0|J););u=u+G|0}while((0|u)<(0|J))}if(u=0<=((l=e+-1|0)|r|0)&&(0|ar[1248+a>>2])>=(0|e)&&(0|ar[1252+a>>2])>(0|r)&&(W=0|ar[5804+a>>2],f=0|br(r>>W,0|ar[5820+a>>2]),X=f+(e>>W)|0,W=f+(l>>W)|0,f=0|ar[10340+a>>2],(0|or[f+(24*X|0)>>1])==(0|or[f+(24*W|0)>>1]))?(u=0|ar[10308+a>>2],(0|ar[u+(X<<2)>>2])==(0|ar[u+(W<<2)>>2])&1):0,l=0<=((l=r+-1|0)|e|0)&&(0|ar[1248+a>>2])>(0|e)&&(0|ar[1252+a>>2])>=(0|r)&&(X=0|ar[5804+a>>2],W=0|ar[5820+a>>2],F=e>>X,I=(0|br(r>>X,W))+F|0,F=(0|br(l>>X,W))+F|0,W=0|ar[10340+a>>2],(0|or[W+(24*I|0)>>1])==(0|or[W+(24*F|0)>>1]))?(l=0|ar[10308+a>>2],(0|ar[l+(I<<2)>>2])==(0|ar[l+(F<<2)>>2])&1):0,!C){I=A+18556|0,W=0!=(0|u),v=0!=(0|l),m=5872+a|0,g=5876+a|0,Z=10408+a|0,p=10412+a|0,y=10400+a|0,B=4+o|0,E=8+o|0,l=h=0;do{f=h+r|0,X=v|0<(0|h),w=0;do{if(s=0|ar[D+(l<<2)>>2],b=s?(u=n,0|lt(I,2)):(u=t,0|ut(I,5)),ar[u+(l<<2)>>2]=b,F=w+e|0,k=0|ar[m>>2],k=(0|br(f>>k,0|ar[g>>2]))+(F>>k)|0,Ct(o,F,f,k,W|0<(0|w),X,a),u=1==(0|s)?0|ar[o+(ar[n+(l<<2)>>2]<<2)>>2]:(u=0|ar[o>>2],(0|(b=0|ar[B>>2]))<(0|u)?(ar[o>>2]=b,ar[B>>2]=u,s=b):(s=u,u=b),(0|(b=0|ar[E>>2]))<(0|s)?(ar[o>>2]=b,ar[E>>2]=s,d=s):(d=b,b=s),(0|d)<(0|u)?(ar[B>>2]=d,ar[E>>2]=u,s=d):(s=u,u=d),F=0|ar[t+(l<<2)>>2],((0|u)<=(0|(F=((0|s)<=(0|(F=((0|b)<=(0|F)&1)+F|0))&1)+F|0))&1)+F|0),F=V-(0|ar[Z>>2])|0,d=1<<F,31!=(0|F)){s=255&u,u=0;do{for(b=0;F=b+k+(0|br(0|ar[p>>2],u))|0,tr[(0|ar[y>>2])+F>>0]=s,(0|(b=b+1|0))<(0|d););u=u+1|0}while((0|u)<(0|d))}l=l+1|0,w=w+G|0}while((0|w)<(0|J));h=h+G|0}while((0|h)<(0|J))}d=5776+a|0;e:do{switch(0|ar[d>>2]){case 3:if(!C){h=A+18556|0,w=A+18580|0,v=10408+a|0,m=10412+a|0,g=10416+a|0,Z=10400+a|0,k=0;r:for(;;){p=k+r|0,d=0;do{if(y=d+e|0,s=0|ot(h,13+(0|ar[w>>2])|0)?0|ut(h,2):4,u=0|ar[v>>2],l=y>>u,u=p>>u,(0|l)<=-1){l=174;break r}if((0|(b=0|ar[m>>2]))<=(0|l)){l=174;break r}if((0|u)<=-1){l=175;break r}if((0|u)>=(0|ar[g>>2])){l=175;break r}l=(0|ar[Z>>2])+((0|br(b,u))+l)|0,l=0|cr[l>>0],(u=4==(0|s))||(D=0|ar[7948+(s<<2)>>2],l=(0|D)==(0|l)?34:D),Sa(a,y,p,V,l,u),d=d+G|0}while((0|d)<(0|J));if((0|J)<=(0|(k=k+G|0)))break e}174==(0|l)?sr(48482,48519,118,48539):175==(0|l)&&sr(48543,48519,119,48539)}break;case 0:break;default:s=0|ot(l=A+18556|0,13+(0|ar[A+18580>>2])|0)?0|ut(l,2):4,u=0|ar[10408+a>>2],l=e>>u,u=r>>u,(0|l)<=-1&&sr(48482,48519,118,48539),(0|(b=0|ar[10412+a>>2]))<=(0|l)&&sr(48482,48519,118,48539),(0|u)<=-1&&sr(48543,48519,119,48539),(0|u)>=(0|ar[10416+a>>2])&&sr(48543,48519,119,48539),l=(0|ar[10400+a>>2])+((0|br(b,u))+l)|0,l=0|cr[l>>0],(u=4==(0|s))||(J=0|ar[7948+(s<<2)>>2],l=(0|J)==(0|l)?34:J),2==(0|ar[d>>2])&&(l=0|cr[39292+l>>0]),Sa(a,e,r,i,l,u)}}while(0)}else{if(N){Oa(A,e,r,0,0,J,J,f,J,0);break}switch(0|s){case 1:Oa(A,e,r,0,0,J,D=(0|J)/2|0,f,J,0),Oa(A,e,r,0,D,J,D,f,J,1);break A;case 2:Oa(A,e,r,0,0,D=(0|J)/2|0,J,f,J,0),Oa(A,e,r,D,0,D,J,f,J,1);break A;case 4:Oa(A,e,r,0,0,J,D=(0|J)/4|0,f,J,0),Oa(A,e,r,0,D,J,(3<<i|0)/4|0,f,J,1);break A;case 5:Oa(A,e,r,0,0,J,D=(3<<i|0)/4|0,f,J,0),Oa(A,e,r,0,D,J,(0|J)/4|0,f,J,1);break A;case 6:Oa(A,e,r,0,0,D=(0|J)/4|0,J,f,J,0),Oa(A,e,r,D,0,(3<<i|0)/4|0,J,f,J,1);break A;case 7:Oa(A,e,r,0,0,D=(3<<i|0)/4|0,J,f,J,0),Oa(A,e,r,D,0,(0|J)/4|0,J,f,J,1);break A;case 3:Oa(A,e,r,0,0,D=(0|J)/2|0,D,f,J,0),Oa(A,e,r,D,0,D,D,f,J,1),Oa(A,e,r,0,D,D,D,f,J,2),Oa(A,e,r,D,D,D,D,f,J,3);break A;default:sr(44456,39242,4511,39327)}}}while(0);if(Y&&!(N&0!=(16&tr[A+26>>0]))&&0==(0|ot(A+18556|0,153+(0|ar[A+18580>>2])|0)))return ur=c;l=R?(0|ar[1396+a>>2])+_|0:0|ar[1392+a>>2];J=0!=(0|ar[5776+a>>2])&1,function A(e,r,i,f,n,t,o,a,c,l,u,b,s,d,k){e|=0;r|=0;i|=0;f|=0;n|=0;t|=0;o|=0;a|=0;c|=0;l|=0;u|=0;b|=0;s|=0;d|=0;k|=0;var h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0,C=0,G=0,V=0;X=e+18596|0;w=0|ar[X>>2];h=0|ar[w+10368>>2];v=r>>h;(0|v)<=-1&&sr(48482,48519,118,48539);W=1==(0|b);I=e+18556|0;C=e+18580|0;G=0!=(0|b);E=i;y=f;p=n;B=a;Z=l;g=w;m=v;f=i>>h;for(;;){if((0|(l=0|ar[g+10372>>2]))<=(0|m)){V=4;break}if((0|f)<=-1){V=7;break}if((0|(w=0|ar[g+10376>>2]))<=(0|f)){V=7;break}if(v=0|ar[g+10360>>2],i=v+(3*((0|br(l,f))+m|0)|0)|0,(65535&(i=(65535&(cr[i>>0]|cr[i+1>>0]<<8))>>>8&3)|0)!=(0|s)){V=9;break}if((n=(0|ar[g+5868>>2])<(0|B))||((0|u)<=(0|c)?1:(0|ar[g+5864>>2])>=(0|B))|G&0==(0|c)){if(f=E>>h,!(-1<(0|(a=r>>h))&(0|a)<(0|l))){V=16;break}if(!(-1<(0|f)&(0|f)<(0|w))){V=18;break}l=v+(3*((0|br(l,f))+a|0)|0)|0,l=1&(W&0==(0|c)|n|0!=(56&(cr[l>>0]|cr[l+1>>0]<<8))&(i<<16>>16==1?0==(ar[g+1392>>2]|c|0):0))}else{if(3<=(f=5-B|0)>>>0){V=13;break}l=0|ot(I,(0|ar[C>>2])+(f+20)|0)}if(w=0!=(0|l)){if(n=0|ar[g+10448>>2],f=r>>n,n=E>>n,(0|f)<=-1){V=23;break}if((0|(h=0|ar[g+10452>>2]))<=(0|f)){V=23;break}if((0|n)<=-1){V=26;break}if((0|n)>=(0|ar[g+10456>>2])){V=26;break}m=(0|ar[g+10440>>2])+((0|br(h,n))+f)|0,tr[m>>0]=0|cr[m>>0]|1<<c}if(3==(0|(g=0|ar[(a=g+5776|0)>>2]))|2<(0|B)&0!=(0|g)?(d<<24>>24?(f=c+16|0,n=0|ot(I,(0|ar[C>>2])+f|0),2==(0|ar[a>>2])&&3==(0|B)|0==(0|l)&&(n=(0|ot(I,(0|ar[C>>2])+f|0))<<1|n)):n=-1,k<<24>>24?(h=c+16|0,f=0|ot(I,(0|ar[C>>2])+h|0),2==(0|ar[a>>2])&&3==(0|B)|0==(0|l)&&(f=(0|ot(I,(0|ar[C>>2])+h|0))<<1|f)):f=-1,(0|n)<0?V=38:l=n):(f=-1,V=38),38==(0|V)){if((n=2==((V=0)|B))&0==(0|c)){V=39;break}l=n&0<(0|c)?255&d:0}if(h=(0|f)<0?2==(0|B)&0<(0|c)?255&k:0:f,!w){V=43;break}if(n=(a=1<<(f=B+-1|0))+r|0,a=a+E|0,A(e,r,E,r,E,t,o,f,c=c+1|0,0,u,b,s,d=255&l,k=255&h),A(e,n,E,r,E,t,o,f,c,1,u,b,s,d,k),A(e,r,a,r,E,t,o,f,c,2,u,b,s,d,k),g=0|ar[X>>2],h=0|ar[g+10368>>2],(0|(m=n>>h))<=-1){V=4;break}p=E,y=r,r=n,B=f,Z=3,f=(E=a)>>h}switch(0|V){case 4:sr(48482,48519,118,48539);break;case 7:sr(48543,48519,119,48539);break;case 9:sr(39344,39242,3827,39367);break;case 13:sr(39387,39242,1820,39416);break;case 16:sr(48482,48519,118,48539);break;case 18:sr(48543,48519,119,48539);break;case 23:sr(48482,48519,128,48539);break;case 26:sr(48543,48519,129,48539);break;case 39:sr(39444,39242,3894,39367);break;case 43:return i<<16>>16==0|0!=(l|c|h|0)?(V=0|ot(I,(0|ar[C>>2])+(0==(0|c)?15:14)|0),void za(e,r,E,y,p,t,o,B,0,Z,V,l,h)):void za(e,r,E,y,p,t,o,B,0,Z,V=1,l,h)}}(A,e,r,e,r,e,r,i,0,0,l,_,Q,J,J),ur=c}(A,B,y,Z,p)}if(48==(0|e))return}}function Ua(A,e,r,i,f){r|=0,i|=0,f|=0;var n,t,o=0,a=0,c=0,l=0,u=0,b=0;if(t=(e|=0)>>(l=0|ar[(A|=0)+10368>>2]),u=r>>l,n=(i=1<<(l=i-l|0))+u|0,31!=(0|l)){a=i+t|0,c=A+10372|0,l=A+10360|0,o=(1&f)<<10&65535,i=u;do{for(f=t;u=(0|br(0|ar[c>>2],i))+f|0,u=(0|ar[l>>2])+(3*u|0)|0,b=-1025&(cr[u>>0]|cr[u+1>>0]<<8)|o,tr[u>>0]=b,tr[u+1>>0]=b>>8,(0|(f=f+1|0))<(0|a););i=i+1|0}while((0|i)<(0|n))}if(o=e>>(i=0|ar[A+10348>>2]),i=r>>i,(0|o)<=-1&&sr(48482,48519,128,48539),(0|(f=0|ar[A+10352>>2]))<=(0|o)&&sr(48482,48519,128,48539),(0|i)<=-1&&sr(48543,48519,129,48539),(0|i)<(0|ar[A+10356>>2]))return b=(0|ar[A+10340>>2])+(24*((0|br(f,i))+o|0)|0)+22|0,void(tr[b>>0]=1);sr(48543,48519,129,48539)}function Sa(A,e,r,i,f,n){e|=0,r|=0,f|=0;var t,o,a,c,l=0,u=0;if(c=255&((n|=0)?128|f:f),o=1<<(u=(i|=0)-(0|ar[(A|=0)+10408>>2])|0),l=0|ar[A+5872>>2],r=(0|br(r>>l,0|ar[(a=A+5876|0)>>2]))+(e>>l)|0,31!=(0|u)){t=A+5880|0,l=A+10432|0,u=A+10424|0,i=A+10420|0,n=0;A:for(;;){f=0;do{if((0|f)>=(0|ar[a>>2])){f=10;break A}if((0|n)>=(0|ar[t>>2])){f=11;break A}if((0|(e=r+f+(0|br(0|ar[l>>2],n))|0))>=(0|ar[u>>2])){f=12;break A}tr[(0|ar[i>>2])+e>>0]=c,f=f+1|0}while((0|f)<(0|o));if((0|o)<=(0|(n=n+1|0))){f=9;break}}9!=(0|f)&&(10==(0|f)?sr(39542,48519,659,39565):11==(0|f)?sr(39584,48519,660,39565):12==(0|f)&&sr(39608,48519,663,39565))}}function Oa(A,e,r,i,f,n,t,o,a,c){e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,a|=0,c|=0;var l,u,b,s=0,d=0,k=0,h=0,w=0,v=0;if(l=0|ar[(w=(A|=0)+18600|0)>>2],k=0|ot(h=A+18556|0,147+(0|ar[(u=A+18580|0)>>2])|0),b=A+16|0,tr[(v=A+26|0)>>0]=(255&k)<<4&16|-17&tr[v>>0],k){A:do{if(2<=(0|ar[804+(0|ar[w>>2])>>2])&&0!=(0|ot(h,148+(0|ar[u>>2])|0)))if(1<((0|ar[804+(0|ar[w>>2])>>2])-1|0)){s=1;do{if(!(0|ct(h)))break A;s=s+1|0}while((0|s)<((0|ar[804+(0|ar[w>>2])>>2])-1|0))}else s=1;else s=0}while(0);o=31&tr[v>>0],s=(255&s)<<5&255}else{do{if(0|ar[20+l>>2])k=1;else{if(s=0|ar[u>>2],12!=(t+n|0)&&0|ot(h,s+156+o|0)){k=3;break}k=1+(0|ot(h,s+160|0))|0}}while(0);if(tr[v>>0]=-4&tr[v>>0]|3&k,2!=(0|k)){s=(0|ar[328+l>>2])-1|0;A:do{if(0!=(0|s)&&0!=(0|ot(h,154+(0|ar[u>>2])|0)))for(o=0;;){if((0|(d=o+1|0))==(0|s))break A;if(!(o=o?0|ct(h):0|ot(h,155+(0|ar[u>>2])|0))){s=d;break}o=d}else s=0}while(0);if(tr[b>>0]=s,xa(A,0,0,0),d=255&(0|ot(h,152+(0|ar[u>>2])|0)),tr[v>>0]=d<<2&4|-5&tr[v>>0],1==(0|k))return void mc(h=0|ar[(h=A+18592|0)>>2],w=0|ar[w>>2],v=0|ar[(v=A+18596|0)>>2],b,e,r,i,f,a,n,t,c)}d=(0|ar[332+l>>2])-1|0;A:do{if(0!=(0|d)&&0!=(0|ot(h,154+(0|ar[u>>2])|0)))for(o=0;;){if((0|(s=o+1|0))==(0|d)){s=d;break A}if(!(o=o?0|ct(h):0|ot(h,155+(0|ar[u>>2])|0)))break;o=s}else s=0}while(0);tr[A+17>>0]=s,3==(0|k)&0!=(0|tr[370+l>>0])?(or[A+22>>1]=0,or[A+24>>1]=0):xa(A,0,0,1),s=255&(0|ot(h,152+(0|ar[u>>2])|0)),o=-9&tr[v>>0],s=s<<3&8}tr[v>>0]=o|s,mc(h=0|ar[(h=A+18592|0)>>2],w=0|ar[w>>2],v=0|ar[(v=A+18596|0)>>2],b,e,r,i,f,a,n,t,c)}function za(A,e,r,i,f,n,t,o,a,c,l,u,b){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,a|=0,c|=0,l|=0,b|=0;var s,d,k,h,w,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0;-1==(0|(u|=0))&&sr(39481,39242,3547,39494),-1==(0|b)&&sr(39514,39242,3548,39494),-1==(0|l)&&sr(39527,39242,3549,39494),g=0|ar[(w=A+18596|0)>>2],X=2<(0|(X=((1^(d=3==(0|(k=0|ar[g+5776>>2]))))<<31>>31)+o|0))?X:2,Z=b|u,tr[(v=A+33|0)>>0]=0,tr[v+1>>0]=0,tr[v+2>>0]=0,a=e>>(v=(tr[v+3>>0]=0)|ar[g+10368>>2]),v=r>>v,(0|a)<=-1&&sr(48482,48519,118,48539),(0|(m=0|ar[g+10372>>2]))<=(0|a)&&sr(48482,48519,118,48539),(0|v)<=-1&&sr(48543,48519,119,48539),(0|v)>=(0|ar[g+10376>>2])&&sr(48543,48519,119,48539),E=(0|ar[g+10360>>2])+(3*((0|br(m,v))+a|0)|0)|0,h=65535&(E=(65535&(cr[E>>0]|cr[E+1>>0]<<8))>>>8&3),s=0!=(0|l),m=0!=(0|Z);do{if(Z|l|0){if(0!=(0|tr[g+5946>>0])&&0==(0|ar[(p=A+18508|0)>>2])){v=A+18556|0,a=A+18580|0;do{if(0|ot(v,139+(0|ar[a>>2])|0)){if(0|ot(v,140+(0|ar[a>>2])|0))if(0|ot(v,140+(0|ar[a>>2])|0))if(0|ot(v,140+(0|ar[a>>2])|0))if(0|ot(v,140+(0|ar[a>>2])|0)){if(!(a=5+(0|bt(v,0))|0)){a=v=0;break}}else a=4;else a=3;else a=2;else a=1;v=0|ct(v)}else a=v=0}while(0);ar[p>>2]=1,g=0|br(1-(v<<1)|0,a),ar[A+18512>>2]=g,g=1}else g=0;if(m&0!=(0|tr[752+(0|ar[A+18600>>2])>>0])&&0==(0|tr[A+32>>0])&&0==(0|ar[(y=A+18516|0)>>2])?(p=0|ot(v=A+18556|0,23+(0|ar[(a=A+18580|0)>>2])|0),m=0|ar[w>>2],a=p?(a=1<(0|cr[m+10074>>0])?0|ot(v,24+(0|ar[a>>2])|0):0,ar[y>>2]=1,ar[A+18520>>2]=tr[m+10075+a>>0],0|tr[m+10081+a>>0]):(ar[y>>2]=1,ar[A+18520>>2]=0),ar[A+18524>>2]=a):B=33,33==(0|B)&&!g)break;zn(A,e,r,n,t)}}while(0);if(m=1<<o,p=1<<X,B=0|ar[w>>2],y=0|ar[B+5780>>2],B=0|ar[B+5784>>2],ar[(l=A+28|0)>>2]=0,s&&ja(A,e,r,o,0),Ha(A,e,r,n,t,m,0,h,s),!(2<(0|o)|d))return 3!=(0|c)?0:((a=0!=(1&u|0))&&ja(A,i,f,o,1),0|ar[5776+(0|ar[w>>2])>>2]&&Ha(A,(0|i)/(0|y)|0,(0|f)/(0|B)|0,(0|n)/(0|y)|0,(0|t)/(0|B)|0,m,1,h,a),(a=0!=(2&u|0))&&ja(A,i,m+f|0,o,1),(v=2==(0|k))&&Ha(A,(0|i)/(0|y)|0,((0|f)/(0|B)|0)+m|0,(0|n)/(0|y)|0,(0|t)/(0|B)|0,m,1,h,a),(a=0!=(1&b|0))&&ja(A,i,f,o,2),0|ar[5776+(0|ar[w>>2])>>2]&&Ha(A,(0|i)/(0|y)|0,(0|f)/(0|B)|0,(0|n)/(0|y)|0,(0|t)/(0|B)|0,m,2,h,a),(a=0!=(2&b|0))&&ja(A,i,p+f|0,o,2),v&&Ha(A,(0|i)/(0|y)|0,((0|f)/(0|B)|0)+m|0,(0|n)/(0|y)|0,(0|t)/(0|B)|0,m,2,h,a),0);g=0|ar[w>>2];A:do{if(s&0!=(0|tr[g+10071>>0])){do{if(E<<16>>16!=1){if(a=e>>(v=0|ar[g+10428>>2]),v=r>>v,(0|a)<=-1&&sr(48482,48519,118,48539),(0|(m=0|ar[g+10432>>2]))<=(0|a)&&sr(48482,48519,118,48539),(0|v)<=-1&&sr(48543,48519,119,48539),(0|v)<(0|ar[g+10436>>2])){if(o=(0|ar[g+10420>>2])+((0|br(m,v))+a)|0,(0|tr[o>>0])<0)break;v=a=0;break A}sr(48543,48519,119,48539)}}while(0);for(m=A+18556|0,g=A+18580|0,v=a=0;v=(1&(o=0!=(0|ot(m,(0|ar[g>>2])+(a+162)|0))))+v|0,(0|(a=a+1|0))<4&o;);v=(a=v?1-((0|ot(m,170+(0|ar[g>>2])|0))<<1)<<v+-1:0,1)}else v=a=0}while(0);if(ar[l>>2]=a,(a=0!=(1&u|0))&&ja(A,e,r,X,1),0|ar[5776+(0|ar[w>>2])>>2]&&Ha(A,(0|e)/(0|y)|0,(0|r)/(0|B)|0,(0|n)/(0|y)|0,(0|t)/(0|B)|0,p,1,h,a),(Z=2==(0|k))&&((a=0!=(2&u|0))&&ja(A,e,(B<<X)+r|0,X,1),Ha(A,(0|e)/(0|y)|0,((0|r)/(0|B)|0)+p|0,(0|n)/(0|y)|0,((0|t)/(0|B)|0)+p|0,p,1,h,a)),v){for(m=A+18556|0,g=A+18580|0,v=a=0;v=(1&(u=0!=(0|ot(m,(0|ar[g>>2])+(a+166)|0))))+v|0,(0|(a=a+1|0))<4&u;);a=v?1-((0|ot(m,171+(0|ar[g>>2])|0))<<1)<<v+-1:0}else a=0;return ar[l>>2]=a,(a=0!=(1&b|0))&&ja(A,e,r,X,2),0|ar[5776+(0|ar[w>>2])>>2]&&Ha(A,(0|e)/(0|y)|0,(0|r)/(0|B)|0,(0|n)/(0|y)|0,(0|t)/(0|B)|0,p,2,h,a),Z&&((a=0!=(2&b|0))&&ja(A,e,(B<<X)+r|0,X,2),Ha(A,(0|e)/(0|y)|0,((0|r)/(0|B)|0)+p|0,(0|n)/(0|y)|0,((0|t)/(0|B)|0)+p|0,p,2,h,a)),0}function ja(A,e,r,i,f){e|=0,r|=0,i|=0,f|=0;var n,t,o,a,c,l,u,b,s,d,k,h,w,v,m,g,Z,p,y,B,E,X,W,I,C,G,V,F,R,N,_,Y,Q,D,J,M,T,U,S,O,z=0,j=0,H=0,x=0,P=0,L=0,K=0,q=0,$=0,AA=0,eA=0,rA=0,iA=0,fA=0,nA=0,tA=0,oA=0,aA=0,cA=0,lA=0,uA=0,bA=0;if(ur=(J=ur)+160|0,iA=J+144|0,_=J+80|0,Q=(Y=J)+64|0,D=J+48|0,N=J+32|0,rA=(fA=0|ar[(A|=0)+18596>>2])+764|0,z=e>>(j=0|ar[fA+10368>>2]),j=r>>j,(0|z)<=-1&&sr(48482,48519,118,48539),(0|(H=0|ar[fA+10372>>2]))<=(0|z)&&sr(48482,48519,118,48539),(0|j)<=-1&&sr(48543,48519,119,48539),(0|j)>=(0|ar[fA+10376>>2])&&sr(48543,48519,119,48539),AA=(0|ar[fA+10360>>2])+(3*((0|br(H,j))+z|0)|0)|0,AA=(65535&(cr[AA>>0]|cr[AA+1>>0]<<8))>>>8&3,(R=0==(0|f))&&(K=e>>(uA=0|ar[fA+10448>>2]),L=r>>uA,q=(x=1<<(uA=i-uA|0))+L|0,31!=(0|uA))){H=x+K|0,x=fA+10452|0,P=fA+10440|0,z=L;do{for(j=K;uA=(0|br(0|ar[x>>2],z))+j|0,uA=(0|ar[P>>2])+uA|0,tr[uA>>0]=-128|tr[uA>>0],(0|(j=j+1|0))<(0|H););z=z+1|0}while((0|z)<(0|q))}z=0!=(0|tr[fA+5945>>0])&&0==(0|tr[A+32>>0])&&(0|ar[fA+10100>>2])>=(0|i)?255&(0|ot(A+18556|0,(0|ar[A+18580>>2])+(0|f?142:141)|0)):0,tr[(uA=A+33+f|0)>>0]=z,tr[(F=A+36|0)>>0]=0;do{if(AA<<16>>16==1&&0!=(0|tr[fA+5751>>0])){if(0==(0|tr[uA>>0])&&0==(0|tr[A+32>>0])){bA=23;break}H=0!=(0|f)&1,lA=255&(0|ot(j=A+18556|0,143+(0|ar[(z=A+18580|0)>>2])+H|0)),(tr[F>>0]=lA)<<24>>24&&(lA=255&(0|ot(j,145+(0|ar[z>>2])+H|0)),tr[A+37>>0]=lA)}else bA=23}while(0);if(23==(0|bA)&&(tr[F>>0]=0),z=R?2:0,0==(0|tr[uA>>0])&&0==(0|tr[A+32>>0])||(z|=1),x=25+(0|ar[(V=A+18580|0)>>2])|0,$=(cA=i<<1)+-1|0,lA=i+-2|0,L=R?i+1>>2:lA,K=R?(3*lA|0)+(i+-1>>2)|0:15,1<(0|cA)){for(q=A+18556|0,j=$,H=0;j=(cA=0==(0|ot(q,x+((H>>L)+K)|0)))?H:j,(0|(H=H+1|0))<(0|$)&(1^cA););for(P=43+(0|ar[V>>2])|0,x=$,H=0;x=(cA=0==(0|ot(q,P+((H>>L)+K)|0)))?H:x,(0|(H=H+1|0))<(0|$)&(1^cA););}else j=x=$;if(H=(j>>1)-1|0,3<(0|j)&&(j=(0|ut(A+18556|0,H))+((1&j|2)<<H)|0),H=(x>>1)-1|0,L=3<(0|x)?(0|ut(A+18556|0,H))+((1&x|2)<<H)|0:x,cA=AA<<16>>16==0){do{if(R){if(H=e>>(x=0|ar[fA+10408>>2]),x=r>>x,(0|H)<=-1&&sr(48482,48519,118,48539),(0|(P=0|ar[fA+10412>>2]))<=(0|H)&&sr(48482,48519,118,48539),(0|x)<=-1&&sr(48543,48519,119,48539),(0|x)<(0|ar[fA+10416>>2])){eA=(0|ar[fA+10400>>2])+((0|br(P,x))+H)|0,eA=0|tr[eA>>0];break}sr(48543,48519,119,48539)}else{if(H=e>>(x=0|ar[fA+10428>>2]),x=r>>x,(0|H)<=-1&&sr(48482,48519,118,48539),(0|(P=0|ar[fA+10432>>2]))<=(0|H)&&sr(48482,48519,118,48539),(0|x)<=-1&&sr(48543,48519,119,48539),(0|x)<(0|ar[fA+10436>>2])){eA=(0|ar[fA+10420>>2])+((0|br(P,x))+H)|0,eA=63&tr[eA>>0];break}sr(48543,48519,119,48539)}}while(0);H=(aA=2==(0|(x=0|function(A,e,r,i){e|=0,r|=0,i|=0;var f=0;switch(0|(A|=0)){case 2:break;case 3:f=2;break;default:return 0}return 2==(0|f)&&0|r&&3!=(0|ar[i+5012>>2])?0:0|((e+-6|0)>>>0<9?2:(e+-22|0)>>>0<9&1)}(i,255&eA,f,rA))))?j:L,j=aA?L:j}else x=0,H=L;G=0|_a(lA,x),aA=0|_a(2,x),M=iA,T=j,U=H,S=x,O=i,M|=0,T|=0,U|=0,O=(0|ar[7852+(24*(S|=0)|0)+((O|=0)<<2)>>2])+((U<<O)+T<<1)|0,O=cr[O>>0]|cr[O+1>>0]<<8,tr[M>>0]=O,tr[M+1>>0]=O>>8,C=0|tr[iA+1>>0],E=0|cr[iA>>0],vb(0|_,0,1<<lA<<lA|0),W=A+18556|(or[(X=A+14404+(f<<1)|0)>>1]=0),I=0!=(0|f)&1,u=0!=(0|x)&1,b=(255&C)-1|0,s=fA+5749|0,d=A+32|0,k=R?42:43,h=C<<24>>24!=0,w=0<(0|f),v=fA+10408|0,m=fA+10412|0,g=fA+10416|0,Z=fA+10400|0,p=fA+5750|0,y=fA+5936|0,B=fA+5755|0,o=A+18588+z|0,a=fA+10428|0,c=fA+10432|0,l=fA+10436|0,n=fA+10420|0,t=1<(255&C),z=1,oA=E,j=AA=0;A:for(;;){K=0|tr[G+(oA<<1)>>0],q=0|tr[G+(oA<<1)+1>>0],(0|oA)<(0|E)&0!=(0|oA)?(tA=1&(tA=0|cr[_+((x=(H=255&q)<<lA)+(P=255&K))>>0])|tA>>>1,0|ot(W,(0|ar[V>>2])+((R?tA:tA+2|0)+61)|0)?(L=1,bA=59):(x=1,H=0)):0==(0|oA)|(0|oA)==(0|E)?(L=0,H=x=255&q,x<<=lA,P=255&K,bA=59):H=x=0,59==(0|bA)&&(x=_+(P+-1+x)|(bA=0),K<<24>>24&&(tr[x>>0]=1|tr[x>>0]),H=_+((H+-1<<lA)+P)|0,H=(x=(q<<24>>24&&(tr[H>>0]=2|tr[H>>0]),L),1));do{if(H){if(tA=($=255&K)<<2,nA=(q&=255)<<2,q=0|ar[57308+(lA<<6)+(I<<5)+(u<<4)+(cr[_+((q<<lA)+$)>>0]<<2)>>2],($=(0|oA)==(0|E))?(or[Y>>1]=1,tr[N>>0]=1,tr[Q>>0]=C,t?(K=b,H=x,x=1,bA=67):(H=x,x=1)):(K=15,H=x,x=0,bA=67),67==(0|bA))for(;;){P=((bA=0)|cr[aA+(K<<1)>>0])+tA|0,L=(0|cr[aA+(K<<1)+1>>0])+nA|0;do{if(0|tr[s>>0]){if(0|tr[d>>0]){P=k;break}0|tr[uA>>0]?P=k:bA=70}else bA=70}while(0);if(70==(0|bA)&&(P=(bA=0)|cr[q+(P+(L<<i))>>0]),0|ot(W,(0|ar[V>>2])+(P+65)|0)&&(or[Y+(x<<1)>>1]=1,tr[N+x>>0]=1,tr[Q+x>>0]=K,x=x+1|(H=0)),!(1<(0|K)))break;K=K+-1|0,bA=67}do{if(h|1^$){if(0|H){or[Y+(x<<1)>>1]=1,fA=x+(tr[N+x>>0]=1)|(tr[Q+x>>0]=0);break}do{if(0|tr[s>>0]){if(0|tr[d>>0]){H=k;break}0|tr[uA>>0]?H=k:bA=78}else bA=78}while(0);if(78==(0|bA)&&(H=(bA=0)|cr[q+((nA<<i)+tA)>>0]),!(0|ot(W,(0|ar[V>>2])+(H+65)|0))){fA=x;break}or[Y+(x<<1)>>1]=1,fA=x+(tr[N+x>>0]=1)|(tr[Q+x>>0]=0)}else fA=x}while(0);if(fA){q=0==(0|z)|(w|0==(0|oA)?0:2),L=(0|fA)<8?fA:8,$=0<(0|fA);do{if($){if(K=q<<2,w)for(P=0,x=-1,z=1,H=AA;j=P?0<(0|j)?1==(0|H)?0:j+1|0:j:1,z=(H=0|ot(W,(0|ar[V>>2])+(((0|j)<3?j:3)+K+125)|0))?(or[(z=Y+(P<<1)|0)>>1]=1+(0|or[z>>1])<<16>>16,x=-1==(0|x)?P:x,0):((z+-1|(tr[N+P>>0]=0))>>>0<2&1)+z|0,(0|(P=P+1|0))<(0|L););else for(P=0,x=-1,z=1,H=AA;j=P?0<(0|j)?1==(0|H)?0:j+1|0:j:1,z=(H=0|ot(W,(0|ar[V>>2])+(((0|j)<3?j:3)+K+109)|0))?(or[(z=Y+(P<<1)|0)>>1]=1+(0|or[z>>1])<<16>>16,x=-1==(0|x)?P:x,0):((z+-1|(tr[N+P>>0]=0))>>>0<2&1)+z|0,(0|(P=P+1|0))<(0|L););if(-1==(0|x))break;iA=0|ot(W,(0|ar[V>>2])+((w?4|q:q)+133)|0),or[(rA=Y+(x<<1)|0)>>1]=(0|lr[rA>>1])+iA,tr[N+x>>0]=iA}else z=1,H=AA}while(0);if(R){if(x=e>>(P=0|ar[v>>2]),P=r>>P,(0|x)<=-1){bA=102;break A}if((0|(L=0|ar[m>>2]))<=(0|x)){bA=102;break A}if((0|P)<=-1){bA=105;break A}if((0|P)>=(0|ar[g>>2])){bA=105;break A}x=(0|ar[Z>>2])+((0|br(L,P))+x)|0,x=0|tr[x>>0]}else{if(x=e>>(P=0|ar[a>>2]),P=r>>P,(0|x)<=-1){bA=109;break A}if((0|(L=0|ar[c>>2]))<=(0|x)){bA=109;break A}if((0|P)<=-1){bA=112;break A}if((0|P)>=(0|ar[l>>2])){bA=112;break A}x=(0|ar[n>>2])+((0|br(L,P))+x)|0,x=63&tr[x>>0]}e:do{if(0|tr[d>>0])P=0;else{do{if(cA){if(!(0|tr[p>>0]))break;if((16|x)<<24>>24==26&0!=(0|tr[uA>>0])){P=0;break e}}}while(0);if(0|tr[F>>0]){P=0;break}P=3<((0|tr[Q>>0])-(0|tr[Q+(fA+-1)>>0])|0)&1}}while(0);if(iA=fA+-1|0,1<(0|fA))for(x=0;rA=255&(0|ct(W)),tr[D+x>>0]=rA,(0|(x=x+1|0))!=(0|iA););if(x=(rA=0!=(0|P))&0!=(0|tr[y>>0])?0:255&(0|ct(W)),tr[D+iA>>0]=x,x=0|tr[B>>0]?(0|cr[o>>0])>>>2&255:0,!$)break;$=1,P=eA=0;do{AA=0|or[Y+(eA<<1)>>1];do{if(0|tr[N+eA>>0]){for(K=-1;;){if(L=K+1|0,q=0|ct(W),63<(0|K)){q=0;break}if(!q){bA=130;break}K=L}if(130==(0|bA)&&(((bA=0)|L)<4?K=0|ut(W,x):(K=0|ut(W,(L=K+-2|0)+x|0),L=2+(1<<L)|0),q=(L<<x)+K|0),K=0==(0|tr[B>>0]),L=x+1|0,x=(3<<x|0)<(q+AA|0)?!K||(0|L)<4?L:4:x,K|1^$){$=0;break}if((3<<(K=(255&(L=0|tr[o>>0]))>>>2&255)|0)<=(0|q)){tr[o>>0]=L+1<<24>>24,$=0;break}if(L<<24>>24==0|(1<<K|0)<=(q<<1|0)){$=0;break}tr[o>>0]=L+-1<<24>>24,$=0}else q=0}while(0);K=q+AA|0,L=65535&(q=0==(0|tr[D+eA>>0])?K:0-(65535&K)|0);do{if(rA&0!=(0|tr[y>>0])){if((0|eA)!=(0|iA)|0==(1&(P=K+P|0)|0))break;L=0-q&65535}}while(0);AA=0|tr[Q+eA>>0],q=(0|cr[aA+(AA<<1)>>0])+tA|0,AA=(0|cr[aA+(AA<<1)+1>>0])+nA|0,or[A+2116+(f<<11)+(or[X>>1]<<1)>>1]=L,or[A+8260+(f<<11)+(or[X>>1]<<1)>>1]=q+(AA<<i),or[X>>1]=1+(0|or[X>>1])<<16>>16,eA=eA+1|0}while((0|eA)!=(0|fA))}else H=AA}else H=AA}while(0);if(!(0<(0|oA))){bA=54;break}oA=oA+-1|0,AA=H}return 54==(0|bA)?ur=J:102==(0|bA)?sr(48482,48519,118,48539):105==(0|bA)?sr(48543,48519,119,48539):109==(0|bA)?sr(48482,48519,118,48539):112==(0|bA)&&sr(48543,48519,119,48539),0}function Ha(A,e,r,i,f,n,t,o,a){e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,a|=0;var c,l,u,b=0,s=0,d=0;if(c=0|ar[(l=(A|=0)+18596|0)>>2],u=0==(0|o)){do{if(t){if(o=0|br(0|ar[5780+c>>2],e),s=0|br(0|ar[5784+c>>2],r),o>>=b=0|ar[10428+c>>2],b=s>>b,(0|o)<=-1&&sr(48482,48519,118,48539),(0|(s=0|ar[10432+c>>2]))<=(0|o)&&sr(48482,48519,118,48539),(0|b)<=-1&&sr(48543,48519,119,48539),(0|b)<(0|ar[10436+c>>2])){d=(0|ar[10420+c>>2])+((0|br(s,b))+o)|0,d=63&tr[d>>0];break}sr(48543,48519,119,48539)}else{if(o=e>>(b=0|ar[10408+c>>2]),b=r>>b,(0|o)<=-1&&sr(48482,48519,118,48539),(0|(s=0|ar[10412+c>>2]))<=(0|o)&&sr(48482,48519,118,48539),(0|b)<=-1&&sr(48543,48519,119,48539),(0|b)<(0|ar[10416+c>>2])){d=(0|ar[10400+c>>2])+((0|br(s,b))+o)|0,d=0|tr[d>>0];break}sr(48543,48519,119,48539)}}while(0);Gt(c,e,r,b=34<(255&d)?1:255&d,n,t);do{if(0|tr[5750+(0|ar[l>>2])>>0]){if(0==(0|tr[A+32>>0])&&0==(0|tr[A+33+t>>0])){o=0;break}o=26==(16|b)}else o=0}while(0);o=26==(0|b)&o?2:1&o}else o=0|tr[A+36>>0]?0|tr[A+37>>0]?2:1:0;a?jn(A,e,r,i,f,n,t,0!=(0|tr[A+33+t>>0]),u,o):t&&0|ar[A+28>>2]&&jn(A,e,r,i,f,n,t,(or[A+14404+(t<<1)>>1]=0)!=(0|tr[A+33+t>>0]),u,0)}function xa(A,e,r,i){e|=0,r|=0,i|=0;var f,n,t=0,o=0,a=0,c=0,l=0,u=0;ur=(n=ur)+16|0,l=n,t=0|ot(c=(A|=0)+18556|0,150+(0|ar[(r=A+18580|0)>>2])|0),e=0|ot(c,150+(0|ar[r>>2])|0),o=(t=0==(0|t))?0:0|ot(c,151+(0|ar[r>>2])|0),a=(f=0==(0|e))?0:0|ot(c,151+(0|ar[r>>2])|0),t?(r=l,e=0,u=11):(t=o?0|bt(c,1):-1,o=0|ct(c),e=t+2|0,ar[l>>2]=e,o?(r=l,e=-2-t|0,u=11):o=e),11==(0|u)&&(o=ar[r>>2]=e);do{if(!f){if(t=a?0|bt(c,1):-1,u=0|ct(c),e=t+2|0,ar[(r=l+4|0)>>2]=e,u){e=-2-t|0;break}return u=e,c=65535&o,or[(l=A+18+(i<<2)|0)>>1]=c,u&=65535,or[(i=A+18+(i<<2)+2|0)>>1]=u,void(ur=n)}r=l+4|0,e=0}while(0);u=ar[r>>2]=e,c=65535&o,or[(l=A+18+(i<<2)|0)>>1]=c,u&=65535,or[(i=A+18+(i<<2)+2|0)>>1]=u,ur=n}function Pa(A,e,r){A|=0;var i,f,n,t,o,a,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0;if(l=0|tr[(r|=0)+93784+(4400*(0|ar[(e|=0)+8>>2])|0)+2>>0],d=0|it(A),7<(tr[(a=e+380|0)>>0]=d)>>>0)return(w=0)|w;d=r+11096+(5168*l|0)+476|0;do{if(0|ar[d>>2]){if(c=0|ft(A),7<(c=(0|cr[a>>0])+c|0)>>>0)return(w=0)|w;tr[(s=e+381|0)>>0]=c;break}s=e+381|0}while(0);n=e+332|0,t=e+328|0,o=r+11096+(5168*l|0)+5164|0,i=r+11096+(5168*l|0)+5160|0,f=e+20|0,b=0;A:for(;;){if(c=0==(0|b))w=10;else if(1==(0|b)){if(0|ar[f>>2]){c=1,w=27;break}w=10}if(10==(0|w)&&(h=(w=0)<(0|(k=0|ar[(c?t:n)>>2])))){for(c=0;u=255&(0|At(A,1)),tr[e+382+(b<<4)+c>>0]=u,(0|(c=c+1|0))!=(0|k););if(0!=(0|ar[d>>2])&h)for(c=0;u=255&(0|At(A,1)),tr[e+414+(b<<4)+c>>0]=u,(0|(c=c+1|0))!=(0|k););if(h){u=0;do{if(0|tr[e+382+(b<<4)+u>>0]){if(255<((c=0|ft(A))+128|0)>>>0){c=0,w=27;break A}if(or[e+446+(b<<5)+(u<<1)>>1]=(1<<cr[a>>0])+c,c=0|ft(A),!((0-(l=0|ar[i>>2])|0)<=(0|c)&(0|c)<(0|l))){c=0,w=27;break A}c&=255}else or[e+446+(b<<5)+(u<<1)>>1]=1<<cr[a>>0],c=0;if(tr[e+510+(b<<4)+u>>0]=c,0|tr[e+414+(b<<4)+u>>0]){if(255<((c=0|ft(A))+128|0)>>>0){c=0,w=27;break A}if(or[(l=e+542+(b<<6)+(u<<2)|0)>>1]=(1<<cr[s>>0])+c,c=0|ft(A),r=0|ar[o>>2],!((0|c)>=(0|br(r,-4))&(0|c)<(r<<2|0))){c=0,w=27;break A}if(c=r+c-((l=0|br(0|or[l>>1],r))>>cr[s>>0])|0,l=0-r|0,tr[e+670+(b<<5)+(u<<1)>>0]=(0|c)<(0|l)?l:(0|c)<(0|r)?c:r+255|0,255<((c=0|ft(A))+128|0)>>>0){c=0,w=27;break A}if(or[(l=e+542+(b<<6)+(u<<2)+2|0)>>1]=(1<<cr[s>>0])+c,c=0|ft(A),r=0|ar[o>>2],!((0|c)>=(0|br(r,-4))&(0|c)<(r<<2|0))){c=0,w=27;break A}c=255&((0|(c=r+c-((l=0|br(0|or[l>>1],r))>>cr[s>>0])|0))<(0|(l=0-r|0))?l:(0|c)<(0|r)?c:r+255|0)}else c=1<<cr[s>>0]&65535,or[e+542+(b<<6)+(u<<2)>>1]=c,tr[e+670+(b<<5)+(u<<1)>>0]=0,or[e+542+(b<<6)+(u<<2)+2>>1]=c,c=0;tr[e+670+(b<<5)+(u<<1)+1>>0]=c,u=u+1|0}while((0|u)<(0|k))}}if(2<=(0|(b=b+1|0))){c=1,w=27;break}}return 27==(0|w)?0|c:0}function La(A){var e=0,r=0,i=0;for(ar[(A|=0)>>2]=0,tr[A+4>>0]=0,tr[A+5>>0]=0,ar[A+8>>2]=0,e=A+16|(tr[A+12>>0]=0),ar[A+28>>2]=0,tr[A+32>>0]=0,ar[e>>2]=0,ar[e+4>>2]=0,gc(A+34|(or[e+8>>1]=0)),ar[A+136>>2]=0,ar[A+140>>2]=0,e=ar[A+144>>2]=0;tr[A+148+e>>0]=0,ar[A+164+(e<<2)>>2]=0,tr[A+228+e>>0]=0,16!=((tr[A+244+e>>0]=0)|(e=e+1|(ar[A+260+(e<<2)>>2]=0))););for(e=A+324|0,ar[A+376>>2]=0,tr[A+380>>0]=0,i=(r=e)+48|(tr[A+381>>0]=0);(0|(r=r+4|(ar[r>>2]=0)))<(0|i););for(e=tr[e+48>>0]=0;tr[A+382+e>>0]=0,tr[A+414+e>>0]=0,or[A+446+(e<<1)>>1]=0,tr[A+510+e>>0]=0,or[A+542+(e<<2)+2>>1]=0,or[A+542+(e<<2)>>1]=0,16!=((tr[A+670+(e<<1)+1>>0]=0)|(e=e+1|(tr[A+670+(e<<1)>>0]=0))););for(e=0;tr[A+398+e>>0]=0,tr[A+430+e>>0]=0,or[A+478+(e<<1)>>1]=0,tr[A+526+e>>0]=0,or[A+606+(e<<2)+2>>1]=0,or[A+606+(e<<2)>>1]=0,16!=((tr[A+702+(e<<1)+1>>0]=0)|(e=e+1|(tr[A+702+(e<<1)>>0]=0))););for(r=A+736|0,ar[A+756>>2]=0,ar[A+760>>2]=0,tr[A+764>>0]=0,ar[A+768>>2]=0,ar[A+772>>2]=0,ar[r>>2]=0,ar[r+4>>2]=0,ar[r+8>>2]=0,ar[r+12>>2]=0,or[r+16>>1]=0,r=(tr[r+18>>0]=0)|ar[A+776>>2],(0|(e=0|ar[(i=A+780|0)>>2]))!=(0|r)&&(ar[i>>2]=e+(~((e+-4-r|0)>>>2)<<2)),ar[(e=A+788|0)>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,ar[e+12>>2]=0,ar[e+16>>2]=0,gc(A+812|(ar[e+20>>2]=0)),e=ar[A+912>>2]=0;ar[A+916+(e<<6)>>2]=0,ar[A+1044+(e<<6)>>2]=0,ar[A+1172+(e<<6)>>2]=0,tr[A+1300+(e<<4)>>0]=0,ar[A+916+(e<<6)+4>>2]=0,ar[A+1044+(e<<6)+4>>2]=0,ar[A+1172+(e<<6)+4>>2]=0,tr[A+1300+(e<<4)+1>>0]=0,ar[A+916+(e<<6)+8>>2]=0,ar[A+1044+(e<<6)+8>>2]=0,ar[A+1172+(e<<6)+8>>2]=0,tr[A+1300+(e<<4)+2>>0]=0,ar[A+916+(e<<6)+12>>2]=0,ar[A+1044+(e<<6)+12>>2]=0,ar[A+1172+(e<<6)+12>>2]=0,tr[A+1300+(e<<4)+3>>0]=0,ar[A+916+(e<<6)+16>>2]=0,ar[A+1044+(e<<6)+16>>2]=0,ar[A+1172+(e<<6)+16>>2]=0,tr[A+1300+(e<<4)+4>>0]=0,ar[A+916+(e<<6)+20>>2]=0,ar[A+1044+(e<<6)+20>>2]=0,ar[A+1172+(e<<6)+20>>2]=0,tr[A+1300+(e<<4)+5>>0]=0,ar[A+916+(e<<6)+24>>2]=0,ar[A+1044+(e<<6)+24>>2]=0,ar[A+1172+(e<<6)+24>>2]=0,tr[A+1300+(e<<4)+6>>0]=0,ar[A+916+(e<<6)+28>>2]=0,ar[A+1044+(e<<6)+28>>2]=0,ar[A+1172+(e<<6)+28>>2]=0,tr[A+1300+(e<<4)+7>>0]=0,ar[A+916+(e<<6)+32>>2]=0,ar[A+1044+(e<<6)+32>>2]=0,ar[A+1172+(e<<6)+32>>2]=0,tr[A+1300+(e<<4)+8>>0]=0,ar[A+916+(e<<6)+36>>2]=0,ar[A+1044+(e<<6)+36>>2]=0,ar[A+1172+(e<<6)+36>>2]=0,tr[A+1300+(e<<4)+9>>0]=0,ar[A+916+(e<<6)+40>>2]=0,ar[A+1044+(e<<6)+40>>2]=0,ar[A+1172+(e<<6)+40>>2]=0,tr[A+1300+(e<<4)+10>>0]=0,ar[A+916+(e<<6)+44>>2]=0,ar[A+1044+(e<<6)+44>>2]=0,ar[A+1172+(e<<6)+44>>2]=0,tr[A+1300+(e<<4)+11>>0]=0,ar[A+916+(e<<6)+48>>2]=0,ar[A+1044+(e<<6)+48>>2]=0,ar[A+1172+(e<<6)+48>>2]=0,tr[A+1300+(e<<4)+12>>0]=0,ar[A+916+(e<<6)+52>>2]=0,ar[A+1044+(e<<6)+52>>2]=0,ar[A+1172+(e<<6)+52>>2]=0,tr[A+1300+(e<<4)+13>>0]=0,ar[A+916+(e<<6)+56>>2]=0,ar[A+1044+(e<<6)+56>>2]=0,ar[A+1172+(e<<6)+56>>2]=0,tr[A+1300+(e<<4)+14>>0]=0,ar[A+916+(e<<6)+60>>2]=0,ar[A+1044+(e<<6)+60>>2]=0,2!=((ar[A+1172+(e<<6)+60>>2]=0)|(e=e+1|(tr[A+1300+(e<<4)+15>>0]=0))););e=0|ar[A+1344>>2],(0|(i=0|ar[(r=A+1348|0)>>2]))!=(0|e)&&(ar[r>>2]=i+(~((i+-4-e|0)>>>2)<<2)),tr[(A=A+1340|0)>>0]=0}function Ka(){var A=0,e=0,r=0,i=0,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0;if(!(A=0|yc(11296)))return(g=0)|g;vb(0|A,-1,11296),ar[14327]=A,ar[14328]=A,ar[14329]=A,ar[14330]=A,ar[14331]=A,ar[14332]=A,ar[14333]=A,b=(ar[14334]=A)+16|0,ar[14335]=b,ar[14336]=b,ar[14337]=b,ar[14338]=b,ar[14339]=b,ar[14340]=b,ar[14341]=b,ar[14342]=b,ar[14343]=A+32,ar[14344]=A+96,ar[14345]=A+160,ar[14346]=A+224,ar[14347]=A+288,ar[14348]=A+352,ar[14349]=A+416,ar[14350]=A+480,ar[14351]=A+544,ar[14352]=A+608,ar[14353]=A+672,ar[14354]=A+736,ar[14355]=A+800,ar[14356]=A+864,ar[14357]=A+928,ar[14358]=A+992,b=A+1056|0,ar[14359]=b,ar[14363]=b,b=A+1312|0,ar[14360]=b,ar[14364]=b,b=A+1568|0,ar[14361]=b,ar[14365]=b,b=A+1824|0,ar[14362]=b,ar[14366]=b,b=A+2080|0,ar[14367]=b,ar[14371]=b,b=A+2336|0,ar[14368]=b,ar[14372]=b,b=A+2592|0,ar[14369]=b,ar[14373]=b,b=A+2848|0,ar[14370]=b,ar[14374]=b,b=A+3104|0,ar[14375]=b,ar[14379]=b,b=A+4128|0,ar[14376]=b,ar[14380]=b,b=A+5152|0,ar[14377]=b,ar[14381]=b,b=A+6176|0,ar[14378]=b,ar[14382]=b,b=A+7200|0,ar[14383]=b,ar[14387]=b,b=A+8224|0,ar[14384]=b,ar[14388]=b,b=A+9248|0,ar[14385]=b,ar[14389]=b,b=A+10272|0,ar[14386]=b,ar[14390]=b,b=2;A:for(;;){d=1==(0|(h=(s=1<<b)>>2)),k=b+-2|0,h=2==(0|h),u=0;do{w=0==(0|u),l=0;do{v=0==(0|l)?9:15,c=0;do{m=57308+(k<<6)+(u<<5)+(l<<4)+(c<<2)|0,a=0;do{if(i=a<<2,g=a<<b,f=0-a|0,n=a>>2,o=0==(0|(t=3&a))?2:1==(0|t)&1,d){e=0;do{if(A=0|cr[41489+(e+i)>>0],A=w?A:A+27|0,r=(0|ar[m>>2])+(e+g)|0,!((o=0|tr[r>>0])<<24>>24==-1|(255&o|0)==(0|A))){e=28;break A}tr[r>>0]=A,e=e+1|0}while((0|e)<(0|s))}else{r=0;do{do{if((0|r)!=(0|f)){switch(e=r>>2,A=3&r,0|c){case 0:A=2<(A=A+t|0)>>>0?0:0|A?1:2;break;case 1:A=o;break;case 2:A=0==(0|A)?2:1==(0|A)&1;break;default:A=2}if(w){if(A=0<(e+n|0)?A+3|0:A,h){A=A+v|0;break}A=A+21|0;break}if(h){A=A+9|0;break}A=A+12|0;break}A=0}while(0);if(A=w?A:A+27|0,e=(0|ar[m>>2])+(r+g)|0,!((i=0|tr[e>>0])<<24>>24==-1|(255&i|0)==(0|A))){e=28;break A}tr[e>>0]=A,r=r+1|0}while((0|r)<(0|s))}a=a+1|0}while((0|a)<(0|s));c=c+1|0}while((0|c)<4);l=l+1|0}while((0|l)<2);u=u+1|0}while((0|u)<2);if(6<=(0|(b=b+1|0))){A=1,e=30;break}}if(28==(0|e))sr(41505,39242,2100,41581);else if(30==(0|e))return 0|A;return 0}function qa(){Bc(0|ar[14327]),ar[14327]=0}function $a(A){var e,r=0;for(ar[(A|=0)+4720>>2]=0,ar[A+4724>>2]=0,function(A){var e,r=0,i=0;for(tr[(A|=0)>>0]=0,or[(r=A+2|0)>>1]=0,or[r+2>>1]=0,or[r+4>>1]=0,tr[r+6>>0]=0,ar[A+12>>2]=5,tr[A+16>>0]=0,tr[A+17>>0]=0,tr[A+18>>0]=2,tr[A+19>>0]=2,tr[A+20>>0]=2,ar[A+48>>2]=0,ar[A+52>>2]=0,r=A+60|(tr[A+56>>0]=0),e=(i=A+21|0)+24|0;(0|(i=i+1|(tr[i>>0]=0)))<(0|e););ar[r>>2]=1,tr[A+64>>0]=0,tr[A+65>>0]=0,tr[A+66>>0]=0,tr[A+67>>0]=1,tr[A+68>>0]=0,or[A+70>>1]=0,tr[A+72>>0]=2,tr[A+73>>0]=1,tr[A+74>>0]=15,tr[A+75>>0]=15}(A+4904|(ar[A+4728>>2]=0)),e=(r=A+4984|0)+9|0;(0|(r=r+1|(tr[r>>0]=0)))<(0|e););tr[A>>0]=0}function Ac(A){var e,r;(r=0|ar[(A|=0)+4720>>2])&&((0|(e=0|ar[(A=A+4724|0)>>2]))!=(0|r)&&(ar[A>>2]=e+(100*~(((e-100-r|0)>>>0)/100|0)|0)),vu(r))}function ec(A,e,r,i){A|=0,e|=0,r|=0,i|=0;var f,n,t,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0;ur=(t=ur)+6240|0,n=(f=t)+96|0,l=0;A:for(;;){k=(d=3==(0|l))?2:6,w=3!=(0|l),b=(h=0==(0|l))?16:64,s=1<(0|l),u=0;do{c=n+(u<<10)|0,o=d&1==(0|u);do{if(!((255&(0|At(A,1)))<<24>>24)){if(-99999==(0|(e=0|it(A)))|(0|u)<(0|e)){a=31;break A}if(ar[(i=f+(24*l|0)+(u<<2)|0)>>2]=16,0|e){if(!(w|1==(0|e))){a=13;break A}hb(0|c,n+((o=u-e|0)<<10)|0,0|b),o=0|ar[f+(24*l|0)+(o<<2)>>2],ar[i>>2]=o,a=21;break}if(h){for(i=41646,o=(e=c)+16|0;tr[e>>0]=0|tr[i>>0],i=i+1|0,(0|(e=e+1|0))<(0|o););a=22;break}if((0|u)<3&(1^o)){for(i=41662,o=(e=c)+64|0;tr[e>>0]=0|tr[i>>0],i=i+1|0,(0|(e=e+1|0))<(0|o););o=16,a=21;break}for(i=41726,o=(e=c)+64|0;tr[e>>0]=0|tr[i>>0],i=i+1|0,(0|(e=e+1|0))<(0|o););o=16,a=21;break}if(s){if(254<((e=0|ft(A))+7|0)>>>0){a=31;break A}o=e+8|0,e=ar[f+(24*l|0)+(u<<2)>>2]=o}else e=8,o=16;for(a=0;;){if(255<((i=0|ft(A))+128|0)>>>0){a=31;break A}if(e=(e+256+i|0)%256|0,tr[n+(u<<10)+a>>0]=e,(0|b)<=(0|(a=a+1|0))){a=21;break}}}while(0);e:do{if(21==(0|a))switch((a=0)|l){case 0:a=22;break e;case 1:for(i=0|_a(3,0),e=0;tr[((0|cr[i+(e<<1)+1>>0])<<3)+(0|cr[i+(e<<1)>>0])+(r+96+(u<<6))>>0]=0|tr[n+(u<<10)+e>>0],64!=(0|(e=e+1|0)););break;case 2:for(i=0|_a(3,0),e=0;c=i+(e<<1)|0,v=i+(e<<1)+1|0,m=0|tr[n+(u<<10)+e>>0],tr[((0|cr[v>>0])<<5)+((0|cr[c>>0])<<1)+(r+480+(u<<8))>>0]=m,tr[((0|cr[c>>0])<<1|1)+((0|cr[v>>0])<<5)+(r+480+(u<<8))>>0]=m,tr[((0|cr[v>>0])<<5|16)+((0|cr[c>>0])<<1)+(r+480+(u<<8))>>0]=m,tr[((0|cr[v>>0])<<5|16)+((0|cr[c>>0])<<1|1)+(r+480+(u<<8))>>0]=m,64!=(0|(e=e+1|0)););tr[r+480+(u<<8)>>0]=o;break e;case 3:fc(m=r+2016+(u<<10)|0,c,3),tr[m>>0]=o;break e;default:break e}}while(0);if(22==(0|a))for(i=0|_a(2,0),e=0;tr[((0|cr[i+(e<<1)+1>>0])<<2)+(0|cr[i+(e<<1)>>0])+(r+(u<<4))>>0]=0|tr[n+(u<<10)+e>>0],16!=(0|(e=e+1|0)););u=u+1|0}while((0|u)<(0|k));if(4<=(0|(l=l+1|0))){e=0,a=32;break}}if(13==(0|a))sr(41810,41639,873,41847);else{if(31==(0|a))return ur=t,0|(m=8);if(32==(0|a))return ur=t,0|e}return 0}function rc(A){A|=0;var e=0,r=0,i=0,f=0,n=0,t=0,o=0;for(r=0|_a(2,0),e=0;tr[A+(((0|cr[r+(e<<1)+1>>0])<<2)+(0|cr[r+(e<<1)>>0]))>>0]=0|tr[41646+e>>0],16!=(0|(e=e+1|0)););for(r=0|_a(2,0),e=0;tr[((0|cr[r+(e<<1)+1>>0])<<2)+(0|cr[r+(e<<1)>>0])+(A+16)>>0]=0|tr[41646+e>>0],16!=(0|(e=e+1|0)););for(r=0|_a(2,0),e=0;tr[((0|cr[r+(e<<1)+1>>0])<<2)+(0|cr[r+(e<<1)>>0])+(A+32)>>0]=0|tr[41646+e>>0],16!=(0|(e=e+1|0)););for(r=0|_a(2,0),e=0;tr[((0|cr[r+(e<<1)+1>>0])<<2)+(0|cr[r+(e<<1)>>0])+(A+48)>>0]=0|tr[41646+e>>0],16!=(0|(e=e+1|0)););for(r=0|_a(2,0),e=0;tr[((0|cr[r+(e<<1)+1>>0])<<2)+(0|cr[r+(e<<1)>>0])+(A+64)>>0]=0|tr[41646+e>>0],16!=(0|(e=e+1|0)););for(r=0|_a(2,0),e=0;tr[((0|cr[r+(e<<1)+1>>0])<<2)+(0|cr[r+(e<<1)>>0])+(A+80)>>0]=0|tr[41646+e>>0],16!=(0|(e=e+1|0)););for(r=0|_a(3,0),e=0;tr[((0|cr[r+(e<<1)+1>>0])<<3)+(0|cr[r+(e<<1)>>0])+(A+96)>>0]=0|tr[41662+e>>0],64!=(0|(e=e+1|0)););for(r=0|_a(3,0),e=0;tr[((0|cr[r+(e<<1)+1>>0])<<3)+(0|cr[r+(e<<1)>>0])+(A+288)>>0]=0|tr[41726+e>>0],64!=(0|(e=e+1|0)););for(r=0|_a(3,0),e=0;tr[((0|cr[r+(e<<1)+1>>0])<<3)+(0|cr[r+(e<<1)>>0])+(A+160)>>0]=0|tr[41662+e>>0],64!=(0|(e=e+1|0)););for(r=0|_a(3,0),e=0;tr[((0|cr[r+(e<<1)+1>>0])<<3)+(0|cr[r+(e<<1)>>0])+(A+352)>>0]=0|tr[41726+e>>0],64!=(0|(e=e+1|0)););for(r=0|_a(3,0),e=0;tr[((0|cr[r+(e<<1)+1>>0])<<3)+(0|cr[r+(e<<1)>>0])+(A+224)>>0]=0|tr[41662+e>>0],64!=(0|(e=e+1|0)););for(r=0|_a(3,0),e=0;tr[((0|cr[r+(e<<1)+1>>0])<<3)+(0|cr[r+(e<<1)>>0])+(A+416)>>0]=0|tr[41726+e>>0],64!=(0|(e=e+1|0)););f=0;do{for(r=0|_a(3,0),e=0;i=r+(e<<1)|0,t=41662+e|0,tr[((0|cr[(n=r+(e<<1)+1|0)>>0])<<5)+((0|cr[i>>0])<<1)+(A+480+(f<<8))>>0]=0|tr[t>>0],tr[((0|cr[i>>0])<<1|1)+((0|cr[n>>0])<<5)+(A+480+(f<<8))>>0]=0|tr[t>>0],tr[((0|cr[n>>0])<<5|16)+((0|cr[i>>0])<<1)+(A+480+(f<<8))>>0]=0|tr[t>>0],tr[((0|cr[n>>0])<<5|16)+((0|cr[i>>0])<<1|1)+(A+480+(f<<8))>>0]=0|tr[t>>0],64!=(0|(e=e+1|0)););for(r=f+3|0,i=0|_a(3,0),e=0;t=i+(e<<1)|0,o=41726+e|0,tr[((0|cr[(n=i+(e<<1)+1|0)>>0])<<5)+((0|cr[t>>0])<<1)+(A+480+(r<<8))>>0]=0|tr[o>>0],tr[((0|cr[t>>0])<<1|1)+((0|cr[n>>0])<<5)+(A+480+(r<<8))>>0]=0|tr[o>>0],tr[((0|cr[n>>0])<<5|16)+((0|cr[t>>0])<<1)+(A+480+(r<<8))>>0]=0|tr[o>>0],tr[((0|cr[n>>0])<<5|16)+((0|cr[t>>0])<<1|1)+(A+480+(r<<8))>>0]=0|tr[o>>0],64!=(0|(e=e+1|0)););f=f+1|0}while(3!=(0|f));fc(A+2016|0,41662,3),fc(A+3040|0,41726,3)}function ic(A,e,r){return A|=0,e|=0,e=255&(0|At(r|=0,1)),tr[A>>0]=e,e=255&(0|At(r,1)),tr[A+1>>0]=e,e=255&(0|At(r,1)),tr[A+2>>0]=e,e=255&(0|At(r,1)),tr[A+3>>0]=e,e=255&(0|At(r,1)),tr[A+4>>0]=e,e=255&(0|At(r,1)),tr[A+5>>0]=e,e=255&(0|At(r,1)),tr[A+6>>0]=e,e=255&(0|At(r,1)),tr[A+7>>0]=e,r=255&(0|At(r,1)),tr[A+8>>0]=r,0}function fc(A,e,r){A|=0,e|=0;var i=0,f=0,n=0,t=0,o=0;switch(0|(r|=0)){case 0:for(i=0|_a(2,0),r=0;tr[A+(((0|cr[i+(r<<1)+1>>0])<<2)+(0|cr[i+(r<<1)>>0]))>>0]=0|tr[e+r>>0],16!=(0|(r=r+1|0)););return;case 1:for(i=0|_a(3,0),r=0;tr[A+(((0|cr[i+(r<<1)+1>>0])<<3)+(0|cr[i+(r<<1)>>0]))>>0]=0|tr[e+r>>0],64!=(0|(r=r+1|0)););return;case 2:for(i=0|_a(3,0),r=0;o=i+(r<<1)+1|0,n=e+r|0,tr[A+(((0|cr[(t=i+(r<<1)|0)>>0])<<1)+((0|cr[o>>0])<<5))>>0]=0|tr[n>>0],tr[A+(((0|cr[t>>0])<<1|1)+((0|cr[o>>0])<<5))>>0]=0|tr[n>>0],tr[A+(((0|cr[t>>0])<<1)+((0|cr[o>>0])<<5|16))>>0]=0|tr[n>>0],tr[A+(((0|cr[t>>0])<<1|1)+((0|cr[o>>0])<<5|16))>>0]=0|tr[n>>0],64!=(0|(r=r+1|0)););return;case 3:f=0|_a(3,0),i=0;do{for(n=f+(i<<1)|0,t=f+(i<<1)+1|0,o=e+i|0,r=0;tr[A+(((0|cr[n>>0])<<2)+(((0|cr[t>>0])<<2)+r<<5))>>0]=0|tr[o>>0],tr[A+(((0|cr[n>>0])<<2|1)+(((0|cr[t>>0])<<2)+r<<5))>>0]=0|tr[o>>0],tr[A+(((0|cr[n>>0])<<2|2)+(((0|cr[t>>0])<<2)+r<<5))>>0]=0|tr[o>>0],tr[A+(((0|cr[n>>0])<<2|3)+(((0|cr[t>>0])<<2)+r<<5))>>0]=0|tr[o>>0],4!=(0|(r=r+1|0)););i=i+1|0}while(64!=(0|i));return;default:sr(44456,41639,810,41790)}}function nc(A,e,r,i,f){A|=0,e|=0,i|=0;var n,t=0,o=0,a=0,c=0,l=0;if(ur=(n=ur)+144|0,c=n,4==(0|(r|=0))|1==(0|(f|=0)))ur=n;else{switch(f=(0|(l=(0|f)<26?26-f|0:f+-26|0))<(0|(f=(0|f)<10?10-f|0:f+-10|0))?l:f,0|r){case 8:t=7;break;case 16:t=1;break;case 32:t=0;break;default:sr(55739,48289,518,48361)}if((0|f)<=(0|t))ur=n;else{if(f=32==(0|r)&(0==(0|i)&0!=(0|tr[A+5665>>0]))&&(o=0|cr[e>>0],(0|((0|(l=(0|cr[e+64>>0])+o-(cr[e+32>>0]<<1)|0))<0?0-l|0:l))<(0|(a=1<<(0|ar[A+1276>>2])-5)))?(0|((0|(f=(0|cr[e+-64>>0])+o-(cr[e+-32>>0]<<1)|0))<0?0-f|0:f))<(0|a):0,i=c+64|0,a=0|br(r,-2),tr[i+a>>0]=0|tr[e+a>>0],tr[i+(a=r<<1)>>0]=0|tr[e+a>>0],f)for(t=0|tr[e>>0],tr[i>>0]=t,t&=255,A=(0|cr[e+-64>>0])-t|0,o=(0|cr[e+64>>0])-t|0,f=1;l=((32+(0|br(A,f))|0)>>>6)+t&255,tr[i+(0-f)>>0]=l,l=((32+(0|br(o,f))|0)>>>6)+t&255,tr[i+f>>0]=l,64!=(0|(f=f+1|0)););else if((0|(f=1-a|0))<(0|a))for(f=0|tr[e+(t=f)>>0];c=f,f=0|tr[e+(t=(l=t)+1|0)>>0],tr[i+l>>0]=(2+(255&f)+((255&c)<<1)+(0|cr[e+(l+-1)>>0])|0)>>>2,(0|t)!=(0|a););hb(e+(l=0-a|0)|0,i+l|0,r<<2|1),ur=n}}}function tc(A,e,r,i,f){A|=0,e|=0,i|=0;var n,t=0,o=0,a=0,c=0,l=0;if(ur=(n=ur)+272|0,c=n,4==(0|(r|=0))|1==(0|(f|=0)))ur=n;else{switch(f=(0|(l=(0|f)<26?26-f|0:f+-26|0))<(0|(f=(0|f)<10?10-f|0:f+-10|0))?l:f,0|r){case 8:t=7;break;case 16:t=1;break;case 32:t=0;break;default:sr(55739,48289,518,48361)}if((0|f)<=(0|t))ur=n;else{if(f=32==(0|r)&(0==(0|i)&0!=(0|tr[A+5665>>0]))&&(o=0|lr[e>>1],(0|((0|(l=(0|lr[e+128>>1])+o-(lr[e+64>>1]<<1)|0))<0?0-l|0:l))<(0|(a=1<<(0|ar[A+1276>>2])-5)))?(0|((0|(f=(0|lr[e+-128>>1])+o-(lr[e+-64>>1]<<1)|0))<0?0-f|0:f))<(0|a):0,i=c+128|0,a=0|br(r,-2),or[i+(a<<1)>>1]=0|or[e+(a<<1)>>1],or[i+((a=r<<1)<<1)>>1]=0|or[e+(a<<1)>>1],f)for(t=0|or[e>>1],or[i>>1]=t,t&=65535,A=(0|lr[e+-128>>1])-t|0,o=(0|lr[e+128>>1])-t|0,f=1;l=((32+(0|br(A,f))|0)>>>6)+t&65535,or[i+(0-f<<1)>>1]=l,l=((32+(0|br(o,f))|0)>>>6)+t&65535,or[i+(f<<1)>>1]=l,64!=(0|(f=f+1|0)););else if((0|(f=1-a|0))<(0|a))for(f=0|or[e+((t=f)<<1)>>1];c=f,f=0|or[e+((t=(l=t)+1|0)<<1)>>1],or[i+(l<<1)>>1]=(2+(65535&f)+((65535&c)<<1)+(0|lr[e+(l+-1<<1)>>1])|0)>>>2,(0|t)!=(0|a););hb(e+((l=0-a|0)<<1)|0,i+(l<<1)|0,r<<3|2),ur=n}}}function oc(A){ar[(A|=0)+8>>2]=1732584193,ar[A+12>>2]=-271733879,ar[A+16>>2]=-1732584194,ar[A+20>>2]=271733878,ar[A>>2]=0,ar[A+4>>2]=0}function ac(A,e,r){e|=0,r|=0;var i,f,n=0,t=0;f=(t=0|ar[(A|=0)>>2])+r&536870911,ar[A>>2]=f,n=0|ar[(i=A+4|0)>>2],f>>>0<t>>>0&&(n=n+1|0,ar[i>>2]=n),ar[i>>2]=n+(r>>>29),n=63&t;do{if(n){if(t=64-n|0,n=A+24+n|0,t>>>0<=r>>>0){hb(0|n,0|e,0|t),cc(A,A+24|0,64),e=e+t|0,r=r-t|0;break}return void hb(0|n,0|e,0|r)}}while(0);63<r>>>0&&(e=0|cc(A,e,-64&r),r&=63),hb(A+24|0,0|e,0|r)}function cc(A,e,r){e|=0,r|=0;var i,f,n,t,o,a,c,l,u,b,s,d,k,h,w,v,m,g,Z,p,y=0,B=0,E=0,X=0,W=0,I=0,C=0,G=0,V=0,F=0,R=0,N=0,_=0,Y=0,Q=0,D=0,J=0,M=0,T=0,U=0,S=0,O=0,z=0,j=0;for(g=(A|=0)+12|0,Z=A+16|0,p=A+20|0,f=A+88|0,n=A+92|0,t=A+96|0,o=A+100|0,a=A+104|0,c=A+108|0,l=A+112|0,u=A+116|0,b=A+120|0,s=A+124|0,d=A+128|0,k=A+132|0,h=A+136|0,w=A+140|0,v=A+144|0,i=A+148|0,A=0|ar[(m=A+8|0)>>2],y=0|ar[g>>2],B=0|ar[p>>2],E=0|ar[Z>>2];X=(0|cr[e+1>>0])<<8|0|cr[e>>0]|(0|cr[e+2>>0])<<16|(0|cr[e+3>>0])<<24,X=((X=A+-680876936+(y&(B^E)^B)+(ar[f>>2]=X)|0)<<7|X>>>25)+y|0,W=(0|cr[e+5>>0])<<8|0|cr[e+4>>0]|(0|cr[e+6>>0])<<16|(0|cr[e+7>>0])<<24,W=((W=B+-389564586+(ar[n>>2]=W)+(X&(y^E)^E)|0)<<12|W>>>20)+X|0,I=(0|cr[e+9>>0])<<8|0|cr[e+8>>0]|(0|cr[e+10>>0])<<16|(0|cr[e+11>>0])<<24,I=((I=E+606105819+(ar[t>>2]=I)+(W&(X^y)^y)|0)<<17|I>>>15)+W|0,j=(0|cr[e+13>>0])<<8|0|cr[e+12>>0]|(0|cr[e+14>>0])<<16|(0|cr[e+15>>0])<<24,j=((j=y+-1044525330+(ar[o>>2]=j)+(I&(W^X)^X)|0)<<22|j>>>10)+I|0,Y=(0|cr[e+17>>0])<<8|0|cr[e+16>>0]|(0|cr[e+18>>0])<<16|(0|cr[e+19>>0])<<24,Y=((Y=X+-176418897+(ar[a>>2]=Y)+(j&(I^W)^W)|0)<<7|Y>>>25)+j|0,X=(0|cr[e+21>>0])<<8|0|cr[e+20>>0]|(0|cr[e+22>>0])<<16|(0|cr[e+23>>0])<<24,X=((X=W+1200080426+(ar[c>>2]=X)+(Y&(j^I)^I)|0)<<12|X>>>20)+Y|0,W=(0|cr[e+25>>0])<<8|0|cr[e+24>>0]|(0|cr[e+26>>0])<<16|(0|cr[e+27>>0])<<24,W=((W=I+-1473231341+(ar[l>>2]=W)+(X&(Y^j)^j)|0)<<17|W>>>15)+X|0,I=(0|cr[e+29>>0])<<8|0|cr[e+28>>0]|(0|cr[e+30>>0])<<16|(0|cr[e+31>>0])<<24,I=((I=j+-45705983+(ar[u>>2]=I)+(W&(X^Y)^Y)|0)<<22|I>>>10)+W|0,j=(0|cr[e+33>>0])<<8|0|cr[e+32>>0]|(0|cr[e+34>>0])<<16|(0|cr[e+35>>0])<<24,j=((j=Y+1770035416+(ar[b>>2]=j)+(I&(W^X)^X)|0)<<7|j>>>25)+I|0,Y=(0|cr[e+37>>0])<<8|0|cr[e+36>>0]|(0|cr[e+38>>0])<<16|(0|cr[e+39>>0])<<24,X=((X=(ar[s>>2]=Y)+-1958414417+X+(j&(I^W)^W)|0)<<12|X>>>20)+j|0,Y=(0|cr[e+41>>0])<<8|0|cr[e+40>>0]|(0|cr[e+42>>0])<<16|(0|cr[e+43>>0])<<24,W=((W=(ar[d>>2]=Y)+-42063+W+(X&(j^I)^I)|0)<<17|W>>>15)+X|0,Y=(0|cr[e+45>>0])<<8|0|cr[e+44>>0]|(0|cr[e+46>>0])<<16|(0|cr[e+47>>0])<<24,I=((I=(ar[k>>2]=Y)+-1990404162+I+(W&(X^j)^j)|0)<<22|I>>>10)+W|0,Y=(0|cr[e+49>>0])<<8|0|cr[e+48>>0]|(0|cr[e+50>>0])<<16|(0|cr[e+51>>0])<<24,j=((j=(ar[h>>2]=Y)+1804603682+j+(I&(W^X)^X)|0)<<7|j>>>25)+I|0,Y=(0|cr[e+53>>0])<<8|0|cr[e+52>>0]|(0|cr[e+54>>0])<<16|(0|cr[e+55>>0])<<24,X=((X=(ar[w>>2]=Y)+-40341101+X+(j&(I^W)^W)|0)<<12|X>>>20)+j|0,Y=(0|cr[e+57>>0])<<8|0|cr[e+56>>0]|(0|cr[e+58>>0])<<16|(0|cr[e+59>>0])<<24,W=((W=(ar[v>>2]=Y)+-1502002290+W+(X&(j^I)^I)|0)<<17|W>>>15)+X|0,Y=(0|cr[e+61>>0])<<8|0|cr[e+60>>0]|(0|cr[e+62>>0])<<16|(0|cr[e+63>>0])<<24,I=((I=(ar[i>>2]=Y)+1236535329+I+(W&(X^j)^j)|0)<<22|I>>>10)+W|0,j=((j=(D=0|ar[n>>2])+-165796510+j+((I^W)&X^W)|0)<<5|j>>>27)+I|0,X=((X=(_=0|ar[l>>2])+-1069501632+X+((j^I)&W^I)|0)<<9|X>>>23)+j|0,W=((W=(F=0|ar[k>>2])+643717713+W+((X^j)&I^j)|0)<<14|W>>>18)+X|0,I=((I=(z=0|ar[f>>2])+-373897302+I+((W^X)&j^X)|0)<<20|I>>>12)+W|0,j=((j=(U=0|ar[c>>2])+-701558691+j+((I^W)&X^W)|0)<<5|j>>>27)+I|0,W=((W=Y+-660478335+W+(((X=((X=(J=0|ar[d>>2])+38016083+X+((j^I)&W^I)|0)<<9|X>>>23)+j|0)^j)&I^j)|0)<<14|W>>>18)+X|0,I=((I=(R=0|ar[a>>2])+-405537848+I+((W^X)&j^X)|0)<<20|I>>>12)+W|0,j=((j=(G=0|ar[s>>2])+568446438+j+((I^W)&X^W)|0)<<5|j>>>27)+I|0,X=((X=(S=0|ar[v>>2])+-1019803690+X+((j^I)&W^I)|0)<<9|X>>>23)+j|0,W=((W=(M=0|ar[o>>2])+-187363961+W+((X^j)&I^j)|0)<<14|W>>>18)+X|0,I=((I=(Q=0|ar[b>>2])+1163531501+I+((W^X)&j^X)|0)<<20|I>>>12)+W|0,j=((j=(N=0|ar[w>>2])+-1444681467+j+((I^W)&X^W)|0)<<5|j>>>27)+I|0,X=((X=(V=0|ar[t>>2])+-51403784+X+((j^I)&W^I)|0)<<9|X>>>23)+j|0,C=(W=((W=(O=0|ar[u>>2])+1735328473+W+((X^j)&I^j)|0)<<14|W>>>18)+X|0)^X,A=(C=((C=R+-145523070+(C=((C=Q+1873313359+(C=((C=(T=0|ar[h>>2])+1700485571+(C=((C=z+-198630844+(C=((C=G+-640364487+(C=((C=N+681279174+(C=((C=D+-1530992060+(C=((C=U+-378558+j+(C^(I=((I=T+-1926607734+I+(C&j^X)|0)<<20|I>>>12)+W|0))|0)<<4|C>>>28)+I|0)+((W=((W=F+1839030562+W+(C^I^(X=((X=Q+-2022574463+X+(I^W^C)|0)<<11|X>>>21)+C|0))|0)<<16|W>>>16)+X|0)^X^(I=((I=S+-35309556+I+(X^C^W)|0)<<23|I>>>9)+W|0))|0)<<4|C>>>28)+I|0)+((W=((W=O+-155497632+W+(C^I^(X=((X=R+1272893353+X+(I^W^C)|0)<<11|X>>>21)+C|0))|0)<<16|W>>>16)+X|0)^X^(I=((I=J+-1094730640+I+(X^C^W)|0)<<23|I>>>9)+W|0))|0)<<4|C>>>28)+I|0)+((W=((W=M+-722521979+W+(C^I^(X=((X=z+-358537222+X+(I^W^C)|0)<<11|X>>>21)+C|0))|0)<<16|W>>>16)+X|0)^X^(I=((I=_+76029189+I+(X^C^W)|0)<<23|I>>>9)+W|0))|0)<<4|C>>>28)+I|0)+(((I=((I=V+-995338651+I+((X=((X=T+-421815835+X+(I^W^C)|0)<<11|X>>>21)+C|0)^C^(W=((W=Y+530742520+W+(C^I^X)|0)<<16|W>>>16)+X|0))|0)<<23|I>>>9)+W|0)|~X)^W)|0)<<6|C>>>26)+I|0)+(((I=((I=U+-57434055+I+(((W=((W=S+-1416354905+W+(((X=((X=O+1126891415+X+((C|~W)^I)|0)<<10|X>>>22)+C|0)|~I)^C)|0)<<15|W>>>17)+X|0)|~C)^X)|0)<<21|I>>>11)+W|0)|~X)^W)|0)<<6|C>>>26)+I|0)+(((I=((I=D+-2054922799+I+(((W=((W=J+-1051523+W+(((X=((X=M+-1894986606+X+((C|~W)^I)|0)<<10|X>>>22)+C|0)|~I)^C)|0)<<15|W>>>17)+X|0)|~C)^X)|0)<<21|I>>>11)+W|0)|~X)^W)|0)<<6|C>>>26)+I|0)+(((I=((I=N+1309151649+I+(((W=((W=_+-1560198380+W+(((X=((X=Y+-30611744+X+((C|~W)^I)|0)<<10|X>>>22)+C|0)|~I)^C)|0)<<15|W>>>17)+X|0)|~C)^X)|0)<<21|I>>>11)+W|0)|~X)^W)|0)<<6|C>>>26)+I|0)+A|0,y=(W=((W=V+718787259+W+(((X=((X=F+-1120210379+X+((C|~W)^I)|0)<<10|X>>>22)+C|0)|~I)^C)|0)<<15|W>>>17)+X|0)+y+((I=G+-343485551+I+((W|~C)^X)|0)<<21|I>>>11)|0,E=W+E|0,B=X+B|0,e=e+64|0,0!=(0|(r=r+-64|0)););return ar[m>>2]=A,ar[g>>2]=y,ar[Z>>2]=E,ar[p>>2]=B,0|e}function lc(A,e){A|=0;var r=0,i=0,f=0;r=(i=63&ar[(e|=0)>>2])+1|0,tr[e+24+i>>0]=-128,f=e+24|0,(i^=63)>>>0<8?(vb(e+24+r|0,0,0|i),cc(e,f,64),i=56,r=0):i=i+-8|0,vb(e+24+r|0,0,0|i),r=(i=0|ar[e>>2])<<3,ar[e>>2]=r,tr[e+80>>0]=r,tr[e+81>>0]=i>>>5,tr[e+82>>0]=i>>>13,tr[e+83>>0]=i>>>21,i=0|ar[e+4>>2],tr[e+84>>0]=i,tr[e+85>>0]=i>>>8,tr[e+86>>0]=i>>>16,tr[e+87>>0]=i>>>24,cc(e,f,64),f=e+8|0,tr[A>>0]=ar[f>>2],tr[A+1>>0]=(0|ar[f>>2])>>>8,tr[A+2>>0]=(0|ar[f>>2])>>>16,tr[A+3>>0]=(0|ar[f>>2])>>>24,f=e+12|0,tr[A+4>>0]=ar[f>>2],tr[A+5>>0]=(0|ar[f>>2])>>>8,tr[A+6>>0]=(0|ar[f>>2])>>>16,tr[A+7>>0]=(0|ar[f>>2])>>>24,f=e+16|0,tr[A+8>>0]=ar[f>>2],tr[A+9>>0]=(0|ar[f>>2])>>>8,tr[A+10>>0]=(0|ar[f>>2])>>>16,tr[A+11>>0]=(0|ar[f>>2])>>>24,f=e+20|0,tr[A+12>>0]=ar[f>>2],tr[A+13>>0]=(0|ar[f>>2])>>>8,tr[A+14>>0]=(0|ar[f>>2])>>>16,tr[A+15>>0]=(0|ar[f>>2])>>>24,vb(0|e,0,152)}function uc(A,e,r,i,f,n,t,o,a,c,l,u,b){A|=0,t|=0,o|=0,a|=0,c|=0,l|=0,u|=0,b|=0;var s,d,k,h,w,v,m,g,Z,p=0,y=0,B=0,E=0,X=0,W=0,I=0;if(ur=(Z=ur)+20448|0,d=(W=Z)+9088|0,k=3&(r|=0),h=3&(i|=0),g=(r>>2)+(f|=0)|0,m=(i>>2)+(n|=0)|0,y=14-(0|ar[(e|=0)+4996>>2])|0,v=0|ar[e+484>>2],w=0|ar[e+488>>2],3&(i|r)){if(y=0|ar[9768+(k<<2)>>2],n=0|ar[9784+(k<<2)>>2],s=0|ar[9768+(h<<2)>>2],f=0|ar[9784+(h<<2)>>2],p=0-y|0,-1<(m-s|g-y|0)&&(g+l+n|0)<(0|v)&&(m+u+f|0)<(0|w))f=a+((0|br(m,n=c))+g<<1)|0;else{if((0|(e=0-s|0))<(0|(i=f+u|0))&&(E=v-1|0,X=w-1|0,(0|p)<(0|(B=n+l|0))))do{for(n=0|br((0|(n=e+m|0))<0?0:(0|n)<(0|w)?n:X,c),r=(80*(e+s|0)|0)+y|0,f=p;I=f+g|0,or[d+(r+f<<1)>>1]=0|or[a+(((0|I)<0?0:(0|I)<(0|v)?I:E)+n<<1)>>1],(0|(f=f+1|0))!=(0|B););e=e+1|0}while((0|e)!=(0|i));f=d+(((n=80)*s|0)+y<<1)|0}(0|b)<9?cs[31&ar[A+220+(k<<4)+(h<<2)>>2]](t,o,f,n,l,u,W):ls[31&ar[A+300+(k<<4)+(h<<2)>>2]](t,o,f,n,l,u,W,b),ur=Z}else{if(!((m|g|0)<0|(0|v)<(g+l|0)|(0|w)<(m+u|0)))return f=a+((0|br(m,c))+g<<1)|0,(0|b)<9?cs[31&ar[A+220>>2]](t,o,f,c,l,u,W):ls[31&ar[A+300>>2]](t,o,f,c,l,u,W,b),void(ur=Z);if((0|u)<=0)return void(ur=Z);if(e=v-1|0,r=w-1|0,!(0<(0|l)))return void(ur=Z);f=0;do{for(i=0|br((0|(i=f+m|0))<0?0:(0|i)<(0|w)?i:r,c),p=0|br(f,o),n=0;W=n+g|0,or[t+(n+p<<1)>>1]=(0|lr[a+(((0|W)<0?0:(0|W)<(0|v)?W:e)+i<<1)>>1])<<y,(0|(n=n+1|0))!=(0|l););f=f+1|0}while((0|f)!=(0|u));ur=Z}}function bc(A,e,r,i,f,n,t,o,a,c,l,u,b){A|=0,t|=0,o|=0,a|=0,c|=0,l|=0,u|=0,b|=0;var s,d,k,h,w,v,m,g,Z,p=0,y=0,B=0,E=0,X=0,W=0,I=0;if(ur=(Z=ur)+14768|0,d=(W=Z)+9088|0,k=3&(r|=0),h=3&(i|=0),g=(r>>2)+(f|=0)|0,m=(i>>2)+(n|=0)|0,y=14-(0|ar[(e|=0)+4996>>2])|0,v=0|ar[e+484>>2],w=0|ar[e+488>>2],3&(i|r)){if(y=0|ar[9768+(k<<2)>>2],n=0|ar[9784+(k<<2)>>2],s=0|ar[9768+(h<<2)>>2],f=0|ar[9784+(h<<2)>>2],p=0-y|0,-1<(m-s|g-y|0)&&(g+l+n|0)<(0|v)&&(m+u+f|0)<(0|w))f=a+((0|br(m,n=c))+g)|0;else{if((0|(e=0-s|0))<(0|(i=f+u|0))&&(E=v-1|0,X=w-1|0,(0|p)<(0|(B=n+l|0))))do{for(n=0|br((0|(n=e+m|0))<0?0:(0|n)<(0|w)?n:X,c),r=(80*(e+s|0)|0)+y|0,f=p;I=f+g|0,tr[d+(r+f)>>0]=0|tr[a+(((0|I)<0?0:(0|I)<(0|v)?I:E)+n)>>0],(0|(f=f+1|0))!=(0|B););e=e+1|0}while((0|e)!=(0|i));f=d+(((n=80)*s|0)+y)|0}(0|b)<9?cs[31&ar[A+220+(k<<4)+(h<<2)>>2]](t,o,f,n,l,u,W):ls[31&ar[A+300+(k<<4)+(h<<2)>>2]](t,o,f,n,l,u,W,b),ur=Z}else{if(!((m|g|0)<0|(0|v)<(g+l|0)|(0|w)<(m+u|0)))return f=a+((0|br(m,c))+g)|0,(0|b)<9?cs[31&ar[A+220>>2]](t,o,f,c,l,u,W):ls[31&ar[A+300>>2]](t,o,f,c,l,u,W,b),void(ur=Z);if((0|u)<=0)return void(ur=Z);if(e=v-1|0,r=w-1|0,!(0<(0|l)))return void(ur=Z);f=0;do{for(i=0|br((0|(i=f+m|0))<0?0:(0|i)<(0|w)?i:r,c),p=0|br(f,o),n=0;W=n+g|0,or[t+(n+p<<1)>>1]=(0|cr[a+(((0|W)<0?0:(0|W)<(0|v)?W:e)+i)>>0])<<y,(0|(n=n+1|0))!=(0|l););f=f+1|0}while((0|f)!=(0|u));ur=Z}}function sc(A,e,r,i,f,n,t,o,a,c,l,u,b){A|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,a|=0,c|=0,l|=0,u|=0,b|=0;var s,d,k,h,w,v,m=0,g=0,Z=0,p=0,y=0,B=0,E=0;if(m=ur=(v=ur)+31&-32,ur=ur+19808|0,m=(k=m)+9088|0,y=14-(0|ar[(e|=0)+5004>>2])|0,E=0|ar[e+5016>>2],w=(0|ar[e+484>>2])/(0|E)|0,B=0|ar[e+5020>>2],h=(0|ar[e+488>>2])/(0|B)|0,s=7&(r=0|br(2/(0|E)|0,r)),d=7&(i=0|br(2/(0|B)|0,i)),E=((0|f)/(0|E)|0)+(r>>3)|0,B=((0|n)/(0|B)|0)+(i>>3)|0,7&(i|r)){if(0<(0|E)&&(E+l|0)<=(w-2|0)&0<(0|B)&&(B+u|0)<=(h-2|0))f=a+((0|br(B,c))+E<<1)|0,e=c;else{if(-1<(0|(i=u+2|0))&&(Z=w-1|0,p=h-1|0,-1<(0|(g=l+2|0)))){r=-1;do{for(f=0|br((0|(f=r+B|0))<0?0:(0|f)<(0|h)?f:p,c),n=80+(80*r|0)|0,e=-1;y=e+E|0,or[m+(n+(e=e+1|0)<<1)>>1]=0|or[a+(((0|y)<0?0:(0|y)<(0|w)?y:Z)+f<<1)>>1],(0|e)!=(0|g););r=r+1|0}while((0|r)!=(0|i))}f=m+162|0,e=80}r=0!=(0|s),i=0!=(0|d);do{if(r&i){if((0|b)<9){bs[7&ar[A+216>>2]](t,o,f,e,l,u,s,d,k,b);break}bs[7&ar[A+296>>2]](t,o,f,e,l,u,s,d,k,b);break}if(r){if((0|b)<9){bs[7&ar[A+208>>2]](t,o,f,e,l,u,s,d,k,b);break}bs[7&ar[A+288>>2]](t,o,f,e,l,u,s,d,k,b);break}if(i||sr(55739,48428,268,48472),(0|b)<9){bs[7&ar[A+212>>2]](t,o,f,e,l,u,0,d,k,b);break}bs[7&ar[A+292>>2]](t,o,f,e,l,u,0,d,k,b);break}while(0);ur=v}else{if(-1<(0|E)&&!((0|B)<0|(0|w)<(E+l|0)|(0|h)<(B+u|0)))return e=a+((0|br(B,c))+E<<1)|0,(0|b)<9?us[3&ar[A+204>>2]](t,o,e,c,l,u,0,0,0):bs[7&ar[A+284>>2]](t,o,e,c,l,u,0,0,0,b),void(ur=v);if((0|u)<=0)return void(ur=v);if(i=w-1|0,f=h-1|0,!(0<(0|l)))return void(ur=v);r=0;do{for(n=0|br((0|(n=r+B|0))<0?0:(0|n)<(0|h)?n:f,c),m=0|br(r,o),e=0;b=e+E|0,or[t+(e+m<<1)>>1]=(0|lr[a+(((0|b)<0?0:(0|b)<(0|w)?b:i)+n<<1)>>1])<<y,(0|(e=e+1|0))!=(0|l););r=r+1|0}while((0|r)!=(0|u));ur=v}}function dc(A,e,r,i,f,n,t,o,a,c,l,u,b){A|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,a|=0,c|=0,l|=0,u|=0,b|=0;var s,d,k,h,w,v,m=0,g=0,Z=0,p=0,y=0,B=0,E=0;if(m=ur=(v=ur)+31&-32,ur=ur+14448|0,m=(k=m)+9088|0,y=14-(0|ar[(e|=0)+5004>>2])|0,E=0|ar[e+5016>>2],w=(0|ar[e+484>>2])/(0|E)|0,B=0|ar[e+5020>>2],h=(0|ar[e+488>>2])/(0|B)|0,s=7&(r=0|br(2/(0|E)|0,r)),d=7&(i=0|br(2/(0|B)|0,i)),E=((0|f)/(0|E)|0)+(r>>3)|0,B=((0|n)/(0|B)|0)+(i>>3)|0,7&(i|r)){if(0<(0|E)&&(E+l|0)<=(w-2|0)&0<(0|B)&&(B+u|0)<=(h-2|0))f=a+((0|br(B,c))+E)|0,e=c;else{if(-1<(0|(i=u+2|0))&&(Z=w-1|0,p=h-1|0,-1<(0|(g=l+2|0)))){r=-1;do{for(f=0|br((0|(f=r+B|0))<0?0:(0|f)<(0|h)?f:p,c),n=80+(80*r|0)|0,e=-1;y=e+E|0,tr[m+(n+(e=e+1|0))>>0]=0|tr[a+(((0|y)<0?0:(0|y)<(0|w)?y:Z)+f)>>0],(0|e)!=(0|g););r=r+1|0}while((0|r)!=(0|i))}f=m+81|0,e=80}r=0!=(0|s),i=0!=(0|d);do{if(r&i){if((0|b)<9){bs[7&ar[A+216>>2]](t,o,f,e,l,u,s,d,k,b);break}bs[7&ar[A+296>>2]](t,o,f,e,l,u,s,d,k,b);break}if(r){if((0|b)<9){bs[7&ar[A+208>>2]](t,o,f,e,l,u,s,d,k,b);break}bs[7&ar[A+288>>2]](t,o,f,e,l,u,s,d,k,b);break}if(i||sr(55739,48428,268,48472),(0|b)<9){bs[7&ar[A+212>>2]](t,o,f,e,l,u,0,d,k,b);break}bs[7&ar[A+292>>2]](t,o,f,e,l,u,0,d,k,b);break}while(0);ur=v}else{if(-1<(0|E)&&!((0|B)<0|(0|w)<(E+l|0)|(0|h)<(B+u|0)))return e=a+((0|br(B,c))+E)|0,(0|b)<9?us[3&ar[A+204>>2]](t,o,e,c,l,u,0,0,0):bs[7&ar[A+284>>2]](t,o,e,c,l,u,0,0,0,b),void(ur=v);if((0|u)<=0)return void(ur=v);if(i=w-1|0,f=h-1|0,!(0<(0|l)))return void(ur=v);r=0;do{for(n=0|br((0|(n=r+B|0))<0?0:(0|n)<(0|h)?n:f,c),m=0|br(r,o),e=0;b=e+E|0,or[t+(e+m<<1)>>1]=(0|cr[a+(((0|b)<0?0:(0|b)<(0|w)?b:i)+n)>>0])<<y,(0|(e=e+1|0))!=(0|l););r=r+1|0}while((0|r)!=(0|u));ur=v}}function kc(A,e,r,i,f,n,t,o,a,c,l,u){e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,a|=0,c|=0,l|=0,u|=0;var b,s=0,d=0,k=0,h=0,w=0;if(0|Hb[31&ar[12+(0|ar[(A|=0)>>2])>>2]](A,n)||sr(48581,48428,1074,48604),b=0|Hb[31&ar[8+(0|ar[A>>2])>>2]](A,n),(0|ar[24+b>>2])>(0|t)&&(0|ar[28+b>>2])>(0|o)){if(i=t>>(f=0|ar[10368+b>>2]),f=o>>f,(0|i)<=-1&&sr(48482,48519,118,48539),(0|(n=0|ar[10372+b>>2]))<=(0|i)&&sr(48482,48519,118,48539),(0|f)<=-1&&sr(48543,48519,119,48539),(0|f)>=(0|ar[10376+b>>2])&&sr(48543,48519,119,48539),w=(0|ar[10360+b>>2])+(3*((0|br(n,f))+i|0)|0)|0,!(768&(cr[w>>0]|cr[w+1>>0]<<8)))return or[l>>1]=0,or[l+2>>1]=0,void(tr[u>>0]=0);if(1==(0|tr[10516+b>>0]))return or[l>>1]=0,or[l+2>>1]=0,void(tr[u>>0]=0);if(i=t>>(f=0|ar[10388+b>>2]),f=o>>f,(0|i)<=-1&&sr(48482,48519,118,48539),(0|(n=0|ar[10392+b>>2]))<=(0|i)&&sr(48482,48519,118,48539),(0|f)<=-1&&sr(48543,48519,119,48539),(0|f)>=(0|ar[10396+b>>2])&&sr(48543,48519,119,48539),w=0|ar[10380+b>>2],h=(0|br(n,f))+i|0,0|tr[w+(12*h|0)>>0])if(0|tr[w+(12*h|0)+1>>0]){if(s=0|ar[e+92>>2],0<(0|ar[(n=r+332|0)>>2]))for(f=0;i=92+(0|Hb[31&ar[8+(0|ar[A>>2])>>2]](A,0|ar[r+980+(f<<2)>>2]))|0,(i=(0|ar[i>>2])<=(0|s))&(0|(f=f+1|0))<(0|ar[n>>2]););else i=1;if(i&0<(0|ar[(n=r+328|0)>>2]))for(f=0;i=92+(0|Hb[31&ar[8+(0|ar[A>>2])>>2]](A,0|ar[r+916+(f<<2)>>2]))|0,(i=(0|ar[i>>2])<=(0|s))&(0|(f=f+1|0))<(0|ar[n>>2]););d=i?c:0|tr[r+372>>0]}else d=0;else d=1;return(k=lr[(k=w+(12*h|0)+4+(d<<2)|0)>>1]|lr[k+2>>1]<<16,s=0|tr[w+(12*h|0)+2+d>>0],n=t>>(i=0|ar[10348+b>>2]),i=o>>i,(0|n)<=-1&&sr(48482,48519,118,48539),(0|(f=0|ar[10352+b>>2]))<=(0|n)&&sr(48482,48519,118,48539),(0|i)<=-1&&sr(48543,48519,119,48539),(0|i)>=(0|ar[10356+b>>2])&&sr(48543,48519,119,48539),i=(0|ar[10340+b>>2])+(24*((0|br(f,i))+n|0)|0)+2|0,i=0|ar[(0|ar[48+b>>2])+(lr[i>>1]<<2)>>2],(0|tr[(n=r+1300+(c<<4)+a|0)>>0])!=(0|tr[i+1300+(d<<4)+s>>0]))?(tr[u>>0]=0,or[l>>1]=0,void(or[l+2>>1]=0)):(tr[u>>0]=1,i=(0|ar[92+b>>2])-(0|ar[i+1044+(d<<6)+(s<<2)>>2])|0,f=(0|ar[e+92>>2])-(0|ar[r+1044+(c<<6)+(a<<2)>>2])|0,0!=(0|tr[n>>0])|(0|i)==(0|f)?(or[l>>1]=k,void(or[l+2>>1]=k>>>16)):(i=(0|i)<-128?-128:(0|i)<127?i:127)?(e=32+(0|br((16384+(((0|i)<0?0-i|0:i)>>1)|0)/(0|i)|0,(0|f)<-128?-128:(0|f)<127?f:127))>>6,A=0|br(e=(0|e)<-4096?-4096:(0|e)<4095?e:4095,k<<16>>16),A=0|br(((c=(0|A)<0)?0-A|0:A)+127>>8,c?-1:0!=(0|A)&1),or[l>>1]=(0|A)<-32768?-32768:65535&((0|A)<32767?A:32767),e=0|br(e,k>>16),e=0|br(((A=(0|e)<0)?0-e|0:e)+127>>8,A?-1:0!=(0|e)&1),void(or[l+2>>1]=(0|e)<-32768?-32768:65535&((0|e)<32767?e:32767))):(or[l>>1]=k,or[l+2>>1]=k>>>16,er(A+4|0,1008,0),void(tr[e+10516>>0]=3)))}er(A+4|0,1026,0),tr[u>>0]=0}function hc(A,e,r,i,f,n,t,o,a,c,l){A|=0,e|=0,i|=0,f|=0,n|=0,t|=0,o|=0,a|=0,c|=0,l|=0;var u,b,s,d=0;if(!(0|tr[(r|=0)+324>>0]))return or[c>>1]=0,or[c+2>>1]=0,void(tr[l>>0]=0);if(s=0|ar[e+5804>>2],d=0|ar[r+20>>2]?0:0==(0|tr[r+372>>0])&1,d=0|ar[r+916+(d<<6)+(ar[r+376>>2]<<2)>>2],!(0|Hb[31&ar[12+(0|ar[A>>2])>>2]](A,d)))return or[c>>1]=0,or[c+2>>1]=0,void er(A+4|(tr[l>>0]=0),1012,0);if(b=n+i|0,(f>>s|0)==((u=t+f|0)>>s|0)&&(0|b)<(0|ar[e+1248>>2])&&(0|u)<(0|ar[e+1252>>2])){if(kc(A,e,r,0,0,d,-16&b,-16&u,o,a,c,l),0|tr[l>>0])return}else or[c>>1]=0,or[c+2>>1]=0,tr[l>>0]=0;kc(A,e,r,0,0,d,(n>>1)+i&-16,(t>>1)+f&-16,o,a,c,l)}function wc(A,e,r,i,f,n,t,o,a,c,l,u,b){A|=0,e|=0,n|=0,t|=0,a|=0,c|=0,l|=0,u|=0,b|=0;var s,d,k,h,w,v,m=0,g=0,Z=0;if(g=ur=(v=ur)+31&-32,ur=ur+16|0,w=g+8|0,g=(m=g)+12|0,t=0|function(A,e,r,i,f,n,t,o,a,c,l,u){e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,a|=0,c|=0,l|=0,u|=0;var b,s,d,k,h,w,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0;w=0|ar[(A|=0)+10060>>2],t=e>>(m=0|ar[A+10368>>2]),m=r>>m,(0|t)<=-1&&sr(48482,48519,118,48539),(0|(g=0|ar[A+10372>>2]))<=(0|t)&&sr(48482,48519,118,48539),(0|m)<=-1&&sr(48543,48519,119,48539),(0|m)>=(0|ar[A+10376>>2])&&sr(48543,48519,119,48539),Z=(0|ar[A+10360>>2])+(3*((0|br(g,m))+t|0)|0)|0,Z=(65535&(cr[Z>>0]|cr[Z+1>>0]<<8))>>>3,t=(d=a+n|0)-1|0,(h=(0|(s=f>>w))==((k=f+-1|0)>>w|0))&&(n>>w|0)==(t>>w|0)?v=I=0:E=9;A:do{if(9==(0|E)){if(1==(0|c))switch(7&Z){case 2:case 6:case 7:v=I=0;break A}if(0|ka(A,e,r,i,f,n,o,a,c,k,t)){if(t>>=X=0|ar[A+10388>>2],(0|(g=k>>X))<=-1&&sr(48482,48519,118,48539),(0|(m=0|ar[A+10392>>2]))<=(0|g)&&sr(48482,48519,118,48539),(0|t)<=-1&&sr(48543,48519,119,48539),(0|t)<(0|ar[A+10396>>2])){I=(0|ar[A+10380>>2])+(12*((0|br(m,t))+g|0)|0)|0,or[l>>1]=0|or[I>>1],or[l+2>>1]=0|or[I+2>>1],or[l+4>>1]=0|or[I+4>>1],or[l+6>>1]=0|or[I+6>>1],or[l+8>>1]=0|or[I+8>>1],or[l+10>>1]=0|or[I+10>>1],v=I=1;break}sr(48543,48519,119,48539)}else v=I=0}}while(0);if((0|u)<=(0|v))return 0|(l=v);X=n+-1|0,(0|s)==((t=(b=o+f|0)-1|0)>>w|0)&&(n>>w|0)==(X>>w|0)?B=p=0:E=22;A:do{if(22==(0|E)){if(1==(0|c))switch(7&Z){case 1:case 4:case 5:B=p=0;break A}if(0|ka(A,e,r,i,f,n,o,a,c,t,X)){t>>=m=0|ar[A+10388>>2],m=X>>m,(0|t)<=-1&&sr(48482,48519,118,48539),(0|(g=0|ar[A+10392>>2]))<=(0|t)&&sr(48482,48519,118,48539),(0|m)<=-1&&sr(48543,48519,119,48539),(0|m)>=(0|ar[A+10396>>2])&&sr(48543,48519,119,48539),t=(Z=0|ar[A+10380>>2])+(12*(g=(0|br(g,m))+t|0)|0)|0;do{if(I&&(p=0|tr[l>>0])<<24>>24==(0|tr[t>>0])){if(p<<24>>24){if((0|or[l+4>>1])!=(0|or[Z+(12*g|0)+4>>1]))break;if((0|or[l+6>>1])!=(0|or[Z+(12*g|0)+6>>1]))break;if((0|tr[l+2>>0])!=(0|tr[Z+(12*g|0)+2>>0]))break}if((m=0|tr[l+1>>0])<<24>>24==(0|tr[Z+(12*g|0)+1>>0])){if(!(m<<24>>24)){p=1,B=0;break A}if((0|or[l+8>>1])!=(0|or[Z+(12*g|0)+8>>1]))break;if((0|or[l+10>>1])!=(0|or[Z+(12*g|0)+10>>1]))break;if((0|tr[l+3>>0])==(0|tr[Z+(12*g|0)+3>>0])){p=1,B=0;break A}}}}while(0);or[(p=l+(12*v|0)|0)>>1]=0|or[t>>1],or[p+2>>1]=0|or[t+2>>1],or[p+4>>1]=0|or[t+4>>1],or[p+6>>1]=0|or[t+6>>1],or[p+8>>1]=0|or[t+8>>1],or[p+10>>1]=0|or[t+10>>1],v=(B=v)+(p=1)|0}else B=p=0}}while(0);if((0|u)<=(0|v))return 0|(l=v);(0|s)==(b>>w|0)&&(n>>w|0)==(X>>w|0)||(E=47);A:do{if(47==(0|E)&&0|ka(A,e,r,i,f,n,o,a,c,b,X)){t=b>>(m=0|ar[A+10388>>2]),m=X>>m,(0|t)<=-1&&sr(48482,48519,118,48539),(0|(g=0|ar[A+10392>>2]))<=(0|t)&&sr(48482,48519,118,48539),(0|m)<=-1&&sr(48543,48519,119,48539),(0|m)>=(0|ar[A+10396>>2])&&sr(48543,48519,119,48539),t=(Z=0|ar[A+10380>>2])+(12*(g=(0|br(g,m))+t|0)|0)|0;do{if(p&&(y=0|tr[l+(12*B|0)>>0])<<24>>24==(0|tr[t>>0])){if(y<<24>>24){if((0|or[l+(12*B|0)+4>>1])!=(0|or[Z+(12*g|0)+4>>1]))break;if((0|or[l+(12*B|0)+6>>1])!=(0|or[Z+(12*g|0)+6>>1]))break;if((0|tr[l+(12*B|0)+2>>0])!=(0|tr[Z+(12*g|0)+2>>0]))break}if((m=0|tr[l+(12*B|0)+1>>0])<<24>>24==(0|tr[Z+(12*g|0)+1>>0])){if(!(m<<24>>24))break A;if((0|or[l+(12*B|0)+8>>1])!=(0|or[Z+(12*g|0)+8>>1]))break;if((0|or[l+(12*B|0)+10>>1])!=(0|or[Z+(12*g|0)+10>>1]))break;if((0|tr[l+(12*B|0)+3>>0])==(0|tr[Z+(12*g|0)+3>>0]))break A}}}while(0);or[(y=l+(12*v|0)|0)>>1]=0|or[t>>1],or[y+2>>1]=0|or[t+2>>1],or[y+4>>1]=0|or[t+4>>1],or[y+6>>1]=0|or[t+6>>1],or[y+8>>1]=0|or[t+8>>1],or[y+10>>1]=0|or[t+10>>1],v=v+1|0}}while(0);if((0|u)<=(0|v))return 0|(l=v);h&&(n>>w|0)==(d>>w|0)||(E=70);A:do{if(70==(0|E)&&0|ka(A,e,r,i,f,n,o,a,c,k,d)){g=k>>(t=0|ar[A+10388>>2]),t=d>>t,(0|g)<=-1&&sr(48482,48519,118,48539),(0|(m=0|ar[A+10392>>2]))<=(0|g)&&sr(48482,48519,118,48539),(0|t)<=-1&&sr(48543,48519,119,48539),(0|t)>=(0|ar[A+10396>>2])&&sr(48543,48519,119,48539),t=(Z=0|ar[A+10380>>2])+(12*(g=(0|br(m,t))+g|0)|0)|0;do{if(I&&(W=0|tr[l>>0])<<24>>24==(0|tr[t>>0])){if(W<<24>>24){if((0|or[l+4>>1])!=(0|or[Z+(12*g|0)+4>>1]))break;if((0|or[l+6>>1])!=(0|or[Z+(12*g|0)+6>>1]))break;if((0|tr[l+2>>0])!=(0|tr[Z+(12*g|0)+2>>0]))break}if((m=0|tr[l+1>>0])<<24>>24!=(0|tr[Z+(12*g|0)+1>>0]))break;if(!(m<<24>>24))break A;if((0|or[l+8>>1])!=(0|or[Z+(12*g|0)+8>>1]))break;if((0|or[l+10>>1])!=(0|or[Z+(12*g|0)+10>>1]))break;if((0|tr[l+3>>0])==(0|tr[Z+(12*g|0)+3>>0]))break A}}while(0);or[(W=l+(12*v|0)|0)>>1]=0|or[t>>1],or[W+2>>1]=0|or[t+2>>1],or[W+4>>1]=0|or[t+4>>1],or[W+6>>1]=0|or[t+6>>1],or[W+8>>1]=0|or[t+8>>1],or[W+10>>1]=0|or[t+10>>1],v=v+1|0}}while(0);if((0|u)<=(0|v)|4==(0|v))return 0|(l=v);if(h&&(n>>w|0)==(X>>w|0))return 0|(l=v);if(!(0|ka(A,e,r,i,f,n,o,a,c,k,X)))return 0|(l=v);g=k>>(t=0|ar[A+10388>>2]),t=X>>t,(0|g)<=-1&&sr(48482,48519,118,48539),(0|(m=0|ar[A+10392>>2]))<=(0|g)&&sr(48482,48519,118,48539),(0|t)<=-1&&sr(48543,48519,119,48539),(0|t)>=(0|ar[A+10396>>2])&&sr(48543,48519,119,48539),t=(Z=0|ar[A+10380>>2])+(12*(g=(0|br(m,t))+g|0)|0)|0;do{if(p){if((m=0|tr[l+(12*B|0)>>0])<<24>>24!=(0|tr[t>>0]))break;if(m<<24>>24){if((0|or[l+(12*B|0)+4>>1])!=(0|or[Z+(12*g|0)+4>>1]))break;if((0|or[l+(12*B|0)+6>>1])!=(0|or[Z+(12*g|0)+6>>1]))break;if((0|tr[l+(12*B|0)+2>>0])!=(0|tr[Z+(12*g|0)+2>>0]))break}if((m=0|tr[l+(12*B|0)+1>>0])<<24>>24!=(0|tr[Z+(12*g|0)+1>>0]))break;if(!(m<<24>>24))return 0|(l=v);if((0|or[l+(12*B|0)+8>>1])!=(0|or[Z+(12*g|0)+8>>1]))break;if((0|or[l+(12*B|0)+10>>1])!=(0|or[Z+(12*g|0)+10>>1]))break;if((0|tr[l+(12*B|0)+3>>0])!=(0|tr[Z+(12*g|0)+3>>0]))break;return 0|v}}while(0);do{if(I){if((m=0|tr[l>>0])<<24>>24!=(0|tr[t>>0]))break;if(m<<24>>24){if((0|or[l+4>>1])!=(0|or[Z+(12*g|0)+4>>1]))break;if((0|or[l+6>>1])!=(0|or[Z+(12*g|0)+6>>1]))break;if((0|tr[l+2>>0])!=(0|tr[Z+(12*g|0)+2>>0]))break}if((m=0|tr[l+1>>0])<<24>>24!=(0|tr[Z+(12*g|0)+1>>0]))break;if(!(m<<24>>24))return 0|(l=v);if((0|or[l+8>>1])!=(0|or[Z+(12*g|0)+8>>1]))break;if((0|or[l+10>>1])!=(0|or[Z+(12*g|0)+10>>1]))break;if((0|tr[l+3>>0])!=(0|tr[Z+(12*g|0)+3>>0]))break;return 0|v}}while(0);return or[(l=l+(12*v|0)|0)>>1]=0|or[t>>1],or[l+2>>1]=0|or[t+2>>1],or[l+4>>1]=0|or[t+4>>1],or[l+6>>1]=0|or[t+6>>1],or[l+8>>1]=0|or[t+8>>1],or[l+10>>1]=0|or[t+10>>1],0|(l=v+1|0)}(r|=0,i|=0,f|=0,o|=0,n=(Z=8==(0|o)?2<(0|ar[r+10060>>2]):0)?i:n,s=Z?f:t,0,d=Z?o:a,k=Z?o:c,Z?0:l,b,h=u+1|0),(0|u)<(0|(ar[w>>2]=t))?i=e+20|0:(hc(A,r,e,n,s,d,k,0,0,m,g),c=0|tr[g>>0],(tr[(a=g+1|0)>>0]=0)|ar[(i=e+20|0)>>2]?a=0:(hc(A,r,e,n,s,d,k,0,1,m+4|0,a),c|=a=0|tr[a>>0]),c<<24>>24&&(ar[w>>2]=t+1,Z=b+(12*t|0)+4|0,r=0|ar[m>>2],or[Z>>1]=r,or[Z+2>>1]=r>>>16,Z=b+(12*t|0)+8|0,m=0|ar[m+4>>2],or[Z>>1]=m,or[Z+2>>1]=m>>>16,tr[b+(12*t|0)>>0]=0|tr[g>>0],tr[b+(12*t|0)+1>>0]=a,tr[b+(12*t|0)+2>>0]=0,tr[b+(12*t|0)+3>>0]=0)),(c=0|ar[i>>2])||(function(A,e,r,i,f){A|=0,e|=0,r|=0,f|=0;var n,t,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0;if(1<(0|(n=0|ar[(i|=0)>>2]))&(0|n)<(0|f)){for(t=0|br(n-1|0,n),u=0;;){if(!((0|(b=0|ar[9800+(u<<2)>>2]))<(0|n)&(0|(s=0|ar[9848+(u<<2)>>2]))<(0|n))){o=4;break}if(d=0|tr[(o=r+(12*b|0)|0)>>0]?0|Hb[31&ar[8+(0|ar[A>>2])>>2]](A,0|ar[e+916+(tr[r+(12*b|0)+2>>0]<<2)>>2]):0,k=0|tr[(a=r+(12*s|0)+1|0)>>0]?0|Hb[31&ar[8+(0|ar[A>>2])>>2]](A,0|ar[e+980+(tr[r+(12*s|0)+3>>0]<<2)>>2]):0,!(0!=(0|d)|(l=(c=0|tr[o>>0])<<24>>24==0))){o=18;break}if(!(0!=(0|k)|(a=(o=0|tr[a>>0])<<24>>24==0))){o=18;break}do{if(!(l|a)){if((0|ar[d+92>>2])==(0|ar[k+92>>2])&&(0|or[r+(12*b|0)+4>>1])==(0|or[r+(12*s|0)+8>>1])&&(0|or[r+(12*b|0)+6>>1])==(0|or[r+(12*s|0)+10>>1]))break;k=0|ar[i>>2],tr[r+(12*k|0)+2>>0]=0|tr[r+(12*b|0)+2>>0],tr[r+(12*k|0)+3>>0]=0|tr[r+(12*s|0)+3>>0],tr[r+(12*k|0)>>0]=c,tr[r+(12*k|0)+1>>0]=o,d=r+(12*k|0)+4|0,b=lr[(b=r+(12*b|0)+4|0)>>1]|lr[b+2>>1]<<16,or[d>>1]=b,or[d+2>>1]=b>>>16,k=r+(12*k|0)+8|0,d=lr[(d=r+(12*s|0)+8|0)>>1]|lr[d+2>>1]<<16,or[k>>1]=d,or[k+2>>1]=d>>>16,ar[i>>2]=1+(0|ar[i>>2])}}while(0);if((0|(u=u+1|0))==(0|t)){o=18;break}if((0|ar[i>>2])==(0|f)){o=18;break}}if(4==(0|o))sr(55739,48428,1360,48637);else if(18==(0|o));}}(A,e,b,w,h),c=0|ar[i>>2]),t=0|ar[(a=e+328|0)>>2],1!=(0|c)&&(t=0|ar[((0|t)<(0|ar[(Z=e+332|0)>>2])?a:Z)>>2]),(0|u)<(0|(a=0|ar[w>>2])))ur=v;else{for(l=0;n=1==(0|c),Z=(0|l)<(0|t)?255&l:0,tr[b+(12*a|0)+2>>0]=Z,tr[b+(12*a|0)+3>>0]=n?-1:Z,tr[b+(12*a|0)>>0]=1,tr[b+(12*a|0)+1>>0]=1&(1^n),or[(Z=n=b+(12*a|0)+4|0)>>1]=0,or[Z+2>>1]=0,or[(n=n+4|0)>>1]=0,n=a+1|(or[n+2>>1]=0),!((0|u)<=(0|a));)l=l+1|0,c=0|ar[i>>2],a=n;ar[w>>2]=n,ur=v}}function vc(A,e,r,i,f,n,t,o,a,c,l,u,b,s){s|=0;var d,k=0,h=0,w=0,v=0,m=0;if(m=ur=(d=ur)+31&-32,ur=ur+32|0,v=m+16|0,function(A,e,r,i,f,n,t,o,a,c,l,u,b,s,d){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,o|=0,a|=0,c|=0,l|=0,u|=0,b|=0,d|=0;var k,h,w,v,m,g,Z,p,y,B,E,X,W,I,C,G,V,F=0,R=0,N=0,_=0,Y=0,Q=0,D=0,J=0,M=0,T=0,U=0,S=0,O=0,z=0,j=0,H=0,x=0,P=0,L=0,K=0,q=0;if(P=ur=(V=ur)+31&-32,ur=ur+48|0,v=P+32|0,m=P+24|0,g=P+44|0,I=P+12|0,P=(C=P)+40|0,Z=(t|=0)+-1|(tr[(G=(s|=0)+1|0)>>0]=0),ar[v>>2]=Z,x=c+o|0,ar[m>>2]=x,ar[4+v>>2]=Z,L=x+-1|0,ar[4+m>>2]=L,tr[s>>0]=0,or[d>>1]=0,R=1&(x=(or[(S=d+2|0)>>1]=0)|ka(e,i,f,n,t,o,a,c,b,Z,x)),tr[g>>0]=R,L=0|ka(e,i,f,n,t,o,a,c,b,Z,L),tr[1+g>>0]=1&L,x|=L,L=r+916+(l<<6)+(u<<2)|0,F=0|Hb[31&ar[8+(0|ar[A>>2])>>2]](A,0|ar[L>>2])){p=0|ar[F+92>>2],M=e+10368|0,k=e+10372|0,h=e+10376|0,w=e+10360|0,y=1-l|0,B=e+10388|0,E=e+10392|0,X=e+10396|0,W=e+10380|0,D=-1,J=0,F=R;A:for(;;){do{if(F<<24>>24!=0&&0==(0|tr[s>>0])){if(F=0|ar[v+(J<<2)>>2],Y=0|ar[m+(J<<2)>>2],R=F>>(N=0|ar[M>>2]),N=Y>>N,(0|R)<=-1){F=8;break A}if((0|(_=0|ar[k>>2]))<=(0|R)){F=8;break A}if((0|N)<=-1){F=11;break A}if((0|N)>=(0|ar[h>>2])){F=11;break A}if(H=(0|ar[w>>2])+(3*((0|br(_,N))+R|0)|0)|0,768&(cr[H>>0]|cr[H+1>>0]<<8)){if(N=F>>(H=0|ar[B>>2]),F=Y>>H,(0|N)<=-1){F=15;break A}if((0|(R=0|ar[E>>2]))<=(0|N)){F=15;break A}if((0|F)<=-1){F=18;break A}if((0|F)>=(0|ar[X>>2])){F=18;break A}if(Q=0|ar[W>>2],_=(0|br(R,F))+N|0,F=0|tr[(Y=Q+(12*_|0)+l|0)>>0]?0|Hb[31&ar[8+(0|ar[A>>2])>>2]](A,0|ar[r+916+(l<<6)+(tr[Q+(12*_|0)+2+l>>0]<<2)>>2]):0,R=0|tr[(N=Q+(12*_|0)+y|0)>>0]?0|Hb[31&ar[8+(0|ar[A>>2])>>2]](A,0|ar[r+916+(y<<6)+(tr[Q+(12*_|0)+2+y>>0]<<2)>>2]):0,0!=(0|F)&0!=(0|tr[Y>>0])&&(0|ar[F+92>>2])==(0|p)){tr[s>>0]=1,R=lr[(R=Q+(12*_|0)+4+(l<<2)|0)>>1]|lr[R+2>>1]<<16,or[d>>1]=R,or[d+2>>1]=R>>>16,R=0|tr[Q+(12*_|0)+2+l>>0];break}R=0!=(0|R)&0!=(0|tr[N>>0])&&(0|ar[R+92>>2])==(0|p)?(tr[s>>0]=1,R=lr[(R=Q+(12*_|0)+4+(y<<2)|0)>>1]|lr[R+2>>1]<<16,or[d>>1]=R,or[d+2>>1]=R>>>16,0|tr[Q+(12*_|0)+2+y>>0]):D}else R=D}else R=D}while(0);if(2<=(0|(F=J+1|0))){F=3;break}D=R,F=0|tr[g+(J=F)>>0]}if(3==(0|F)){O=r+1300+(l<<4)+u|0,z=e+92|0,j=A+4|0,H=e+10516|0,D=0,_=R;A:for(;;){if(0|tr[s>>0]){F=62;break}do{if(0|tr[g+D>>0]){if(F=0|ar[v+(D<<2)>>2],Q=0|ar[m+(D<<2)>>2],R=F>>(N=0|ar[M>>2]),N=Q>>N,(0|R)<=-1){F=35;break A}if((0|(Y=0|ar[k>>2]))<=(0|R)){F=35;break A}if((0|N)<=-1){F=38;break A}if((0|N)>=(0|ar[h>>2])){F=38;break A}if(u=(0|ar[w>>2])+(3*((0|br(Y,N))+R|0)|0)|0,768&(cr[u>>0]|cr[u+1>>0]<<8)){if(N=F>>(u=0|ar[B>>2]),F=Q>>u,(0|N)<=-1){F=42;break A}if((0|(R=0|ar[E>>2]))<=(0|N)){F=42;break A}if((0|F)<=-1){F=45;break A}if((0|F)>=(0|ar[X>>2])){F=45;break A}if(Y=0|ar[W>>2],F=(0|br(R,F))+N|0,1==(0|tr[Y+(12*F|0)+l>>0])&&(T=Y+(12*F|0)+2+l|0,(0|tr[O>>0])==(0|tr[(0|tr[T>>0])+(r+1300+(l<<4))>>0]))){tr[s>>0]=1,R=lr[(R=Y+(12*F|0)+4+(l<<2)|0)>>1]|lr[R+2>>1]<<16,or[d>>1]=R,or[d+2>>1]=R>>>16,R=l,_=0|tr[T>>0];break}1==(0|tr[Y+(12*F|0)+y>>0])&&(U=Y+(12*F|0)+2+y|0,(0|tr[O>>0])==(0|tr[(0|tr[U>>0])+(r+1300+(y<<4))>>0]))?(tr[s>>0]=1,R=lr[(R=Y+(12*F|0)+4+(y<<2)|0)>>1]|lr[R+2>>1]<<16,or[d>>1]=R,or[d+2>>1]=R>>>16,R=y,_=0|tr[U>>0]):R=-1}else R=-1}else R=-1}while(0);do{if(1==(0|tr[s>>0])){if((0|_)<0){F=61;break A}if((0|R)<=-1){F=55;break A}if(F=0|Hb[31&ar[8+(0|ar[A>>2])>>2]](A,0|ar[r+916+(R<<6)+(_<<2)>>2]),Hb[31&ar[8+(0|ar[A>>2])>>2]](A,0|ar[L>>2]),!((tr[O>>0]|tr[r+1300+(R<<4)+_>>0])<<24>>24)){if(N=(R=0|ar[z>>2])-(0|ar[F+92>>2])|0,F=R-p|0,R=lr[d>>1]|lr[d+2>>1]<<16,N=(0|N)<-128?-128:(0|N)<127?N:127){u=32+(0|br((16384+(((0|N)<0?0-N|0:N)>>1)|0)/(0|N)|0,(0|F)<-128?-128:(0|F)<127?F:127))>>6,J=0|br(u=(0|u)<-4096?-4096:(0|u)<4095?u:4095,R<<16>>16),J=0|br(((Q=(0|J)<0)?0-J|0:J)+127>>8,Q?-1:0!=(0|J)&1),or[d>>1]=(0|J)<-32768?-32768:65535&((0|J)<32767?J:32767),u=0|br(u,R>>16),u=0|br(((J=(0|u)<0)?0-u|0:u)+127>>8,J?-1:0!=(0|u)&1),or[S>>1]=(0|u)<-32768?-32768:65535&((0|u)<32767?u:32767);break}er(j,1008,0),tr[H>>0]=3;break}}}while(0);if(2<=(0|(D=D+1|0))){F=62;break}}if(35==(0|F))sr(48482,48519,118,48539);else if(38==(0|F))sr(48543,48519,119,48539);else if(42==(0|F))sr(48482,48519,118,48539);else if(45==(0|F))sr(48543,48519,119,48539);else if(55==(0|F))sr(48685,48428,1698,48699);else{if(61==(0|F))return tr[G>>0]=0,tr[s>>0]=0,ur=V;if(62==(0|F)){F=a+t|0,ar[I>>2]=F,R=o+-1|0,ar[C>>2]=R,ar[4+I>>2]=F+-1,ar[C+4>>2]=R,ar[8+I>>2]=Z,ar[C+8>>2]=R,tr[G>>0]=0,or[(u=d+4|0)>>1]=0,Y=-1,J=or[(M=d+6|0)>>1]=0;A:for(;;){S=0|ka(e,i,f,n,t,o,a,c,b,F,R),tr[P+J>>0]=1&S;do{if(S&&0==(0|tr[G>>0])){if(N=F>>(S=0|ar[B>>2]),F=R>>S,(0|N)<=-1){F=68;break A}if((0|(R=0|ar[E>>2]))<=(0|N)){F=68;break A}if((0|F)<=-1){F=71;break A}if((0|F)>=(0|ar[X>>2])){F=71;break A}if(D=0|ar[W>>2],N=(0|br(R,F))+N|0,R=0|tr[(_=D+(12*N|0)+l|0)>>0]?0|Hb[31&ar[8+(0|ar[A>>2])>>2]](A,0|ar[r+916+(l<<6)+(tr[D+(12*N|0)+2+l>>0]<<2)>>2]):0,F=0|tr[(Q=D+(12*N|0)+y|0)>>0]?0|Hb[31&ar[8+(0|ar[A>>2])>>2]](A,0|ar[r+916+(y<<6)+(tr[D+(12*N|0)+2+y>>0]<<2)>>2]):0,0!=(0|R)&0!=(0|tr[_>>0])&&(0|ar[R+92>>2])==(0|p)){tr[G>>0]=1,Y=lr[(Y=D+(12*N|0)+4+(l<<2)|0)>>1]|lr[Y+2>>1]<<16,or[u>>1]=Y,or[u+2>>1]=Y>>>16,Y=0|tr[D+(12*N|0)+2+l>>0];break}0!=(0|F)&0!=(0|tr[Q>>0])&&(0|ar[F+92>>2])==(0|p)&&(tr[G>>0]=1,Y=lr[(Y=D+(12*N|0)+4+(y<<2)|0)>>1]|lr[Y+2>>1]<<16,or[u>>1]=Y,or[u+2>>1]=Y>>>16,Y=0|tr[D+(12*N|0)+2+y>>0])}}while(0);if(3<=(0|(R=J+1|0))){F=63;break}F=0|ar[I+((J=R)<<2)>>2],R=0|ar[C+(R<<2)>>2]}if(63==(0|F)){A:do{if(!x){0|tr[G>>0]&&(tr[s>>0]=1,x=lr[u>>1]|lr[u+2>>1]<<16,or[d>>1]=x,or[d+2>>1]=x>>>16),D=e+10332|(tr[G>>0]=0),Q=0;e:for(;;){do{if(0|tr[P+Q>>0]){if(R=0|ar[B>>2],F=ar[I+(Q<<2)>>2]>>R,R=ar[C+(Q<<2)>>2]>>R,(0|F)<=-1){F=90;break e}if((0|(N=0|ar[E>>2]))<=(0|F)){F=90;break e}if((0|R)<=-1){F=93;break e}if((0|R)>=(0|ar[X>>2])){F=93;break e}if(_=0|ar[W>>2],F=(0|br(N,R))+F|0,1==(0|tr[_+(12*F|0)+l>>0])&&(K=_+(12*F|0)+2+l|0,(0|tr[O>>0])==(0|tr[(0|tr[K>>0])+(r+1300+(l<<4))>>0]))){tr[G>>0]=1,N=lr[(N=_+(12*F|0)+4+(l<<2)|0)>>1]|lr[N+2>>1]<<16,or[u>>1]=N,or[u+2>>1]=N>>>16,N=l,Y=0|tr[K>>0];break}1==(0|tr[_+(12*F|0)+y>>0])&&(q=_+(12*F|0)+2+y|0,(0|tr[O>>0])==(0|tr[(0|tr[q>>0])+(r+1300+(y<<4))>>0]))?(tr[G>>0]=1,N=lr[(N=_+(12*F|0)+4+(y<<2)|0)>>1]|lr[N+2>>1]<<16,or[u>>1]=N,or[u+2>>1]=N>>>16,N=y,Y=0|tr[q>>0]):N=-1}else N=-1}while(0);do{if(1==(0|tr[G>>0])){if((0|Y)<0){F=110;break e}if((0|N)<=-1){F=103;break e}if(0==(0|(F=0|Hb[31&ar[8+(0|ar[A>>2])>>2]](A,0|ar[r+916+(N<<6)+(Y<<2)>>2])))|0==(0|(R=0|Hb[31&ar[8+(0|ar[A>>2])>>2]](A,0|ar[L>>2])))){er(4+(0|ar[D>>2])|0,1012,0),tr[H>>0]=3;break}if((0|(F=0|ar[F+92>>2]))!=(0|ar[R+92>>2])&&(tr[r+1300+(N<<4)+Y>>0]|tr[O>>0])<<24>>24==0){if(N=(R=0|ar[z>>2])-F|0,F=R-p|0,R=lr[u>>1]|lr[u+2>>1]<<16,N=(0|N)<-128?-128:(0|N)<127?N:127){x=32+(0|br((16384+(((0|N)<0?0-N|0:N)>>1)|0)/(0|N)|0,(0|F)<-128?-128:(0|F)<127?F:127))>>6,c=0|br(x=(0|x)<-4096?-4096:(0|x)<4095?x:4095,R<<16>>16),c=0|br(((a=(0|c)<0)?0-c|0:c)+127>>8,a?-1:0!=(0|c)&1),or[u>>1]=(0|c)<-32768?-32768:65535&((0|c)<32767?c:32767),x=0|br(x,R>>16),x=0|br(((c=(0|x)<0)?0-x|0:x)+127>>8,c?-1:0!=(0|x)&1),or[M>>1]=(0|x)<-32768?-32768:65535&((0|x)<32767?x:32767);break}er(j,1008,0),tr[H>>0]=3;break}}}while(0);if(3<=(0|(Q=Q+1|0)))break A;if(0|tr[G>>0])break A}if(90==(0|F))sr(48482,48519,118,48539);else if(93==(0|F))sr(48543,48519,119,48539);else if(103==(0|F))sr(48685,48428,1839,48699);else if(110==(0|F)){tr[G>>0]=0,tr[s>>0]=0;break}}}while(0);return ur=V}68==(0|F)?sr(48482,48519,118,48539):71==(0|F)&&sr(48543,48519,119,48539)}}}else 8==(0|F)?sr(48482,48519,118,48539):11==(0|F)?sr(48543,48519,119,48539):15==(0|F)?sr(48482,48519,118,48539):18==(0|F)&&sr(48543,48519,119,48539)}else ur=V}(A|=0,r|=0,e|=0,i|=0,f|=0,n|=0,t|=0,o|=0,a|=0,c|=0,l|=0,u|=0,b|=0,h=m+18|0,w=m+8|0),0|tr[h>>0]){do{if(0|tr[h+1>>0]){if((0|or[w>>1])==(0|or[w+4>>1])&&(0|or[w+2>>1])==(0|or[w+6>>1])){k=6;break}tr[v>>0]=0}else k=6}while(0);6==(0|k)&&hc(A,r,e,t,o,a,c,u,l,m,v),A=0|ar[w>>2],or[s>>1]=A,or[s+2>>1]=A>>>16,e=A=1}else hc(A,r,e,t,o,a,c,u,l,m,v),e=A=0;do{if(0|tr[h+1>>0]){if(e&&(0|or[w>>1])==(0|or[w+4>>1])&&(0|or[w+2>>1])==(0|or[w+6>>1]))break;h=s+(A<<2)|0,w=0|ar[w+4>>2],or[h>>1]=w,or[h+2>>1]=w>>>16,A=A+1|0}}while(0);if(0|tr[v>>0]&&(v=s+(A<<2)|0,m=0|ar[m>>2],or[v>>1]=m,or[v+2>>1]=m>>>16,A=A+1|0),(0|A)<2)return vb(s+(A<<2)|0,0,8-(A<<2)|0),void(ur=d);2!=(0|A)?sr(48737,48428,1943,48753):ur=d}function mc(A,e,r,i,f,n,t,o,a,c,l,u){var b,s;s=ur=(b=ur)+31&-32,ur=ur+16|0,function(A,e,r,i,f,n,t,o,a,c,l,u,b){A|=0,e|=0,i|=0,a|=0,c|=0,l|=0,u|=0,b|=0;var s,d,k,h,w,v=0,m=0,g=0;switch(d=ur=(w=ur)+31&-32,ur=ur+80|0,h=8+d|0,k=(t|=0)+(f|=0)|0,s=(o|=0)+(n|=0)|0,t=f>>(o=0|ar[(r|=0)+10368>>2]),o=n>>o,(0|t)<=-1&&sr(48482,48519,118,48539),(0|(v=0|ar[r+10372>>2]))<=(0|t)&&sr(48482,48519,118,48539),(0|o)<=-1&&sr(48543,48519,119,48539),(0|o)>=(0|ar[r+10376>>2])&&sr(48543,48519,119,48539),v=(0|ar[r+10360>>2])+(3*((0|br(v,o))+t|0)|0)|0,(65535&(cr[v>>0]|cr[v+1>>0]<<8))>>>8&3){case 2:t=0|tr[i+10>>0],g=11;break;case 1:16&(t=0|tr[(o=i+10|0)>>0])?g=11:t=o;break;default:t=i+10|0}if(11==(0|g))return wc(A,e,r,f,n,k,s,a,c,l,u,g=(255&t)>>>5&255,h),g=h+(12*g|0)|0,or[b>>1]=0|or[g>>1],or[b+2>>1]=0|or[g+2>>1],or[b+4>>1]=0|or[g+4>>1],or[b+6>>1]=0|or[g+6>>1],or[b+8>>1]=0|or[g+8>>1],or[b+10>>1]=0|or[g+10>>1],0|tr[b>>0]&&12==(l+c|0)&0!=(0|tr[(m=b+1|0)>>0])&&(tr[b+3>>0]=-1,tr[m>>0]=0),ur=w;switch(3&tr[t>>0]){case 1:case 3:v=0|tr[i>>0],tr[b+2>>0]=v,tr[b>>0]=1,g=0|lr[i+4>>1],m=0|lr[i+2>>1],vc(A,e,r,f,n,a,k,s,c,l,0,v<<24>>24,u,h),v=h+(((0|cr[t>>0])>>>2&1)<<2)|0,v=lr[v>>1]|lr[v+2>>1]<<16,ar[d>>2]=v,g=(0|lr[2+d>>1])+g|0,or[b+4>>1]=v+m,or[b+6>>1]=g;break;default:tr[b+2>>0]=-1,tr[b>>0]=0}((3&tr[t>>0])-2&255)<2?(v=0|tr[i+1>>0],tr[b+3>>0]=v,tr[b+1>>0]=1,g=0|lr[i+8>>1],m=0|lr[i+6>>1],vc(A,e,r,f,n,a,k,s,c,l,1,v<<24>>24,u,h),c=h+(((0|cr[t>>0])>>>3&1)<<2)|0,c=lr[c>>1]|lr[c+2>>1]<<16,ar[4+d>>2]=c,g=(0|lr[6+d>>1])+g|0,or[b+8>>1]=c+m,or[b+10>>1]=g):(tr[b+3>>0]=-1,tr[b+1>>0]=0),ur=w}(A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,a|=0,c|=0,l|=0,u|=0,s),function(A,e,r,i,f,n,t,o,a,c,l){A|=0,e|=0,o|=0,a|=0,c|=0,l|=0;var u,b,s,d,k,h,w,v,m,g,Z,p,y,B,E=0,X=0,W=0,I=0,C=0,G=0,V=0,F=0,R=0,N=0,_=0,Y=0,Q=0,D=0,J=0,M=0,T=0,U=0;ur=(B=ur)+49168|0,w=B+32768|0,Y=(y=B)+49152|0,N=(n|=0)+(i|=0)|0,V=(t|=0)+(f|=0)|0,F=(r|=0)+764|0,v=0|ar[r+5780>>2],m=0|ar[r+5784>>2],k=0|ar[r+40>>2],J=(0|br(k,V))+N|0,J=(0|ar[r+4>>2])+(J<<cr[r+16>>0])|0,g=0|ar[r+44>>2],M=(0|br(g,(0|V)/(0|m)|0))+((0|N)/(0|v)|0)|0,Z=(0|ar[r+8>>2])+(M<<cr[r+17>>0])|0,M=(0|ar[r+12>>2])+(M<<cr[r+18>>0])|0,f=255&(u=0|tr[l>>0]),ar[Y>>2]=f,i=255&(D=0|tr[l+1>>0]),ar[(n=Y+4|0)>>2]=i,h=0|ar[(R=r+5760|0)>>2],p=0|ar[(_=r+5768|0)>>2],d=u<<24>>24==0,D<<24>>24==0|0!=(0|tr[(b=r+5961|0)>>0])|d||(0|or[l+4>>1])!=(0|or[l+8>>1])||(0|or[l+6>>1])!=(0|or[l+10>>1])||(0|ar[e+916+(tr[l+2>>0]<<2)>>2])!=(0|ar[e+980+(tr[l+3>>0]<<2)>>2])||(i=ar[n>>2]=0),s=r+10516|0,D=A+4|0,G=0,n=f;A:for(;;){do{if(0|n){if(15<(n=0|tr[l+2+G>>0])<<24>>24){Q=9;break A}if(C=0|Hb[31&ar[8+(0|ar[A>>2])>>2]](A,0|ar[e+916+(G<<6)+(n<<24>>24<<2)>>2]),!(0|ar[C+96>>2])){tr[s>>0]=3,er(D,1012,0);break}if(n=0|or[(W=l+4+(G<<2)|0)>>1],f=0|or[(I=l+4+(G<<2)+2|0)>>1],t=w+(G<<13)|0,E=0|ar[C+4>>2],X=0|ar[C+40>>2],(8<(0|ar[R>>2])?uc:bc)(A,F,n,f,N,V,t,o,E,X,a,c,h),n=0|or[W>>1],f=0|or[I>>1],t=y+(G<<13)|0,E=0|ar[C+8>>2],8<(0|ar[R>>2])){T=(0|a)/(0|v)|0,X=(0|c)/(0|m)|0,sc(A,F,n,f,N,V,t,o,E,0|ar[(U=C+44|0)>>2],T,X,p),sc(A,F,0|or[W>>1],0|or[I>>1],N,V,y+16384+(G<<13)|0,o,0|ar[C+12>>2],0|ar[U>>2],T,X,p);break}T=(0|a)/(0|v)|0,U=(0|c)/(0|m)|0,dc(A,F,n,f,N,V,t,o,E,0|ar[(X=C+44|0)>>2],T,U,p),dc(A,F,0|or[W>>1],0|or[I>>1],N,V,y+16384+(G<<13)|0,o,0|ar[C+12>>2],0|ar[X>>2],T,U,p);break}}while(0);if(2<=(0|(n=G+1|0)))break;n=0|ar[Y+((G=n)<<2)>>2]}if(9==(0|Q))return tr[s>>0]=3,er(D,1012,0),ur=B;switch(f=2<(0|(f=14-(0|ar[R>>2])|0))?f:2,V=0|cr[r+5920>>0],W=2<(0|(W=14-(0|ar[_>>2])|0))?W:2,Y=0|cr[r+5921>>0],0|ar[e+20>>2]){case 1:return i=u<<24>>24==1&0==(0|i),0|tr[b>>0]?i?(U=0|tr[l+2>>0],t=(0|cr[e+380>>0])+f|0,I=(0|cr[e+381>>0])+W|0,n=0|or[e+446+(U<<1)>>1],i=tr[e+510+U>>0]<<V,E=0|or[e+542+(U<<2)>>1],X=tr[e+670+(U<<1)>>0]<<Y,W=0|or[e+542+(U<<2)+2>>1],f=tr[e+670+(U<<1)+1>>0]<<Y,(0|h)<9?us[3&ar[A+180>>2]](J,k,w,o,a,c,n,i,t):bs[7&ar[A+196>>2]](J,k,w,o,a,c,n,i,t,h),n=(0|a)/(0|v)|0,i=(0|c)/(0|m)|0,(0|p)<9?(us[3&ar[(U=A+180|0)>>2]](Z,g,y,o,n,i,E,X,I),us[3&ar[U>>2]](M,g,y+16384|0,o,n,i,W,f,I)):(bs[7&ar[(U=A+196|0)>>2]](Z,g,y,o,n,i,E,X,I,p),bs[7&ar[U>>2]](M,g,y+16384|0,o,n,i,W,f,I,p))):(er(D,1011,0),tr[s>>0]=3):i?((0|h)<9?as[15&ar[A+176>>2]](J,k,w,o,a,c):cs[31&ar[A+192>>2]](J,k,w,o,a,c,h),n=(0|a)/(0|v)|0,i=(0|c)/(0|m)|0,(0|p)<9?(as[15&ar[(U=A+176|0)>>2]](Z,g,y,o,n,i),as[15&ar[U>>2]](M,g,y+16384|0,o,n,i)):(cs[31&ar[(U=A+192|0)>>2]](Z,g,y,o,n,i,p),cs[31&ar[U>>2]](M,g,y+16384|0,o,n,i,p))):(er(D,1011,0),tr[s>>0]=3),ur=B;case 0:return(n=u<<24>>24==1)&(i=1==(0|i))?0|tr[r+5962>>0]?(F=0|tr[l+2>>0],i=0|tr[l+3>>0],X=(0|cr[e+380>>0])+f|0,_=(0|cr[e+381>>0])+W|0,f=0|or[e+446+(F<<1)>>1],t=tr[e+510+F>>0]<<V,E=0|or[e+478+(i<<1)>>1],n=tr[e+526+i>>0]<<V,I=0|or[e+542+(F<<2)>>1],C=tr[e+670+(F<<1)>>0]<<Y,G=0|or[e+542+(F<<2)+2>>1],V=tr[e+670+(F<<1)+1>>0]<<Y,F=0|or[e+606+(i<<2)>>1],R=tr[e+702+(i<<1)>>0]<<Y,N=0|or[e+606+(i<<2)+2>>1],W=tr[e+702+(i<<1)+1>>0]<<Y,i=8192+w|0,(0|h)<9?ss[1&ar[A+184>>2]](J,k,w,i,o,a,c,f,t,E,n,X):ds[1&ar[A+200>>2]](J,k,w,i,o,a,c,f,t,E,n,X,h),f=y+8192|0,t=y+16384|0,E=y+24576|0,n=(0|a)/(0|v)|0,i=(0|c)/(0|m)|0,(0|p)<9?(ss[1&ar[(U=A+184|0)>>2]](Z,g,y,f,o,n,i,I,C,F,R,_),ss[1&ar[U>>2]](M,g,t,E,o,n,i,G,V,N,W,_)):(ds[1&ar[(U=A+200|0)>>2]](Z,g,y,f,o,n,i,I,C,F,R,_,p),ds[1&ar[U>>2]](M,g,t,E,o,n,i,G,V,N,W,_,p))):(i=8192+w|0,X=A+172|0,(0|h)<9?cs[31&ar[X>>2]](J,k,w,i,o,a,c):ls[31&ar[A+188>>2]](J,k,w,i,o,a,c,h),f=y+8192|0,t=y+16384|0,E=y+24576|0,n=(0|a)/(0|v)|0,i=(0|c)/(0|m)|0,(0|p)<9?(cs[31&ar[X>>2]](Z,g,y,f,o,n,i),cs[31&ar[X>>2]](M,g,t,E,o,n,i)):(ls[31&ar[(U=A+188|0)>>2]](Z,g,y,f,o,n,i,p),ls[31&ar[U>>2]](M,g,t,E,o,n,i,p))):n|i?(G=1&d,0|tr[r+5962>>0]?(t=0|tr[l+2+G>>0],E=(0|cr[e+380>>0])+f|0,C=(0|cr[e+381>>0])+W|0,f=0|or[e+446+(G<<5)+(t<<1)>>1],n=tr[e+510+(G<<4)+t>>0]<<V,X=0|or[e+542+(G<<6)+(t<<2)>>1],W=tr[e+670+(G<<5)+(t<<1)>>0]<<Y,I=0|or[e+542+(G<<6)+(t<<2)+2>>1],t=tr[e+670+(G<<5)+(t<<1)+1>>0]<<Y,i=w+(G<<13)|0,(0|h)<9?us[3&ar[A+180>>2]](J,k,i,o,a,c,f,n,E):bs[7&ar[A+196>>2]](J,k,i,o,a,c,f,n,E,h),f=y+(G<<13)|0,n=(0|a)/(0|v)|0,i=(0|c)/(0|m)|0,(0|p)<9?(us[3&ar[(U=A+180|0)>>2]](Z,g,f,o,n,i,X,W,C),us[3&ar[U>>2]](M,g,y+16384+(G<<13)|0,o,n,i,I,t,C)):(bs[7&ar[(U=A+196|0)>>2]](Z,g,f,o,n,i,X,W,C,p),bs[7&ar[U>>2]](M,g,y+16384+(G<<13)|0,o,n,i,I,t,C,p))):(i=w+(G<<13)|0,(0|h)<9?as[15&ar[A+176>>2]](J,k,i,o,a,c):cs[31&ar[A+192>>2]](J,k,i,o,a,c,h),f=y+(G<<13)|0,n=(0|a)/(0|v)|0,i=(0|c)/(0|m)|0,(0|p)<9?(as[15&ar[(U=A+176|0)>>2]](Z,g,f,o,n,i),as[15&ar[U>>2]](M,g,y+16384+(G<<13)|0,o,n,i)):(cs[31&ar[(U=A+192|0)>>2]](Z,g,f,o,n,i,p),cs[31&ar[U>>2]](M,g,y+16384+(G<<13)|0,o,n,i,p)))):(er(D,1011,0),tr[s>>0]=3),ur=B;default:sr(48395,48428,489,48438)}}(A,e,r,f,n,t,o,a,c,l,s),function(A,e,r,i,f,n){var t,o,a,c,l;if(n|=0,l=(e|=0)>>2,c=(r|=0)>>2,a=(i|=0)>>2,o=(f|=0)>>2,t=0|ar[(A|=0)+10392>>2],!((0|o)<=0)&&(i=A+10380|0,0<(0|a))){e=0;do{for(f=(0|br(e+c|0,t))+l|0,r=0;A=(0|ar[i>>2])+(12*(f+r|0)|0)|0,or[A>>1]=0|or[n>>1],or[A+2>>1]=0|or[n+2>>1],or[A+4>>1]=0|or[n+4>>1],or[A+6>>1]=0|or[n+6>>1],or[A+8>>1]=0|or[n+8>>1],or[A+10>>1]=0|or[n+10>>1],(0|(r=r+1|0))!=(0|a););e=e+1|0}while((0|e)!=(0|o))}}(r,t+f|0,o+n|0,c,l,s),ur=b}function gc(A){var e;for(e=(A|=0)+100|0;(0|(A=A+2|(or[A>>1]=0)))<(0|e););}function Zc(A,e,r,i,f,n,t){A|=0,e|=0,r|=0,i|=0,n|=0,t|=0;var o,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0;if(o=ur,0!=(0|(f|=0))&&(255&(0|At(r,1)))<<24>>24!=0){do{if(t){if(-99999!=(0|(t=0|it(r)))&(0|t)<(0|f)){t=t+1|0;break}return ur=o,(i=0)|i}t=1}while(0);if((0|(X=f-t|0))<=-1&&sr(48788,48796,129,48806),l=0|At(r,1),-99999==(0|(t=0|it(r))))return ur=o,(i=0)|i;for(u=t+1|0,a=~t,y=0|cr[(0|ar[n>>2])+(100*X|0)+98>>0],ur=(E=ur=(B=ur)+(15+(0|+(c=y+1|0))&-16)|0)+(15+(0|+c)&-16)|0,t=0;p=255&(0|At(r,1)),f=(tr[B+t>>0]=p)<<24>>24?1:255&(0|At(r,1)),tr[E+t>>0]=f,(0|(t=t+1|0))!=(0|c););g=0|l?a:u,t=0|ar[n>>2],Z=255&(u=0|tr[t+(100*X|0)+96>>0]),p=255&(w=0|tr[t+(100*X|0)+97>>0]),w=w<<24>>24==0;A:do{if(w)d=0;else{X>>>0<(((0|ar[(l=n+4|0)>>2])-t|0)/100|0)>>>0?(b=p,k=0,s=t):sr(48834,48796,174,48806);e:for(;;){for(t=b;;){if(a=t+-1|0,17<=(0|t)){I=18;break e}if((0|(f=(0|or[s+(100*X|0)+32+(a<<1)>>1])+g|0))<0&&0|tr[E+(h=a+Z|0)>>0])break;if(!(1<(0|t))){d=k;break A}t=a}if(15<(0|k)){v=0,I=74;break}if(c=k+1|0,or[i+(k<<1)>>1]=f,tr[i+64+k>>0]=0|tr[B+h>>0],(0|t)<=1){d=c;break A}if(t=0|ar[n>>2],!(X>>>0<(((0|ar[l>>2])-t|0)/100|0)>>>0)){I=17;break}b=a,k=c,s=t}if(17==(0|I))sr(48834,48796,174,48806);else if(18==(0|I))sr(48866,48796,175,48806);else if(74==(0|I))return ur=o,0|v}}while(0);do{if((0|g)<0&&0!=(0|tr[E+y>>0])){if(15<(0|d))return ur=o,(i=0)|i;or[i+(d<<1)>>1]=g,tr[i+64+d>>0]=0|tr[B+y>>0],t=d+1|0;break}t=d}while(0);c=u<<24>>24==0;A:do{if(c)tr[(u=i+96|0)>>0]=t,t=0;else{for(a=0;;){if((0|(f=(0|or[(0|ar[n>>2])+(100*X|0)+(a<<1)>>1])+g|0))<0&&0!=(0|tr[E+a>>0])){if(15<(0|t)){v=0,I=74;break}or[i+(t<<1)>>1]=f,tr[i+64+t>>0]=0|tr[B+a>>0],m=t+1|0}else m=t;if((0|Z)<=(0|(a=a+1|0)))break;t=m}if(74==(0|I))return ur=o,0|v;if(tr[(u=i+96|0)>>0]=m,!c){for(f=Z,t=0;;){for(c=0|ar[n>>2],a=f;!(0<(0|(l=(0|or[c+(100*X|0)+((f=a+-1|0)<<1)>>1])+g|0))&&0|tr[E+f>>0]);){if(!(1<(0|a)))break A;a=f}if(15<(0|t)){v=0;break}if(c=t+1|0,or[i+32+(t<<1)>>1]=l,tr[i+80+t>>0]=0|tr[B+f>>0],!(1<(0|a))){t=c;break A}t=c}return ur=o,0|v}t=0}}while(0);do{if(0<(0|g)&&0!=(0|tr[E+y>>0])){if(15<(0|t))return ur=o,(i=0)|i;or[i+32+(t<<1)>>1]=g,tr[i+80+t>>0]=0|tr[B+y>>0],t=t+1|0;break}}while(0);A:do{if(!w){for(a=0;;){if(0<(0|(f=(0|or[(0|ar[n>>2])+(100*X|0)+32+(a<<1)>>1])+g|0))&&0!=(0|tr[E+(W=a+Z|0)>>0])){if(15<(0|t)){v=0;break}or[i+32+(t<<1)>>1]=f,tr[i+80+t>>0]=0|tr[B+W>>0],t=t+1|0}if((0|p)<=(0|(a=a+1|0)))break A}return ur=o,0|v}}while(0);tr[i+97>>0]=t}else I=54;A:do{if(54==(0|I)){if(l=0|it(r),((b=0|it(r))+l|0)>(0|ar[e+528+((0|tr[e+2>>0])-1<<2)>>2]))return or[(i=i+96|0)>>1]=0,er(A,1018,or[i+2>>1]=0),ur=o,(i=0)|i;if(16<(0|l)|16<(0|b))return er(A,1018,0),ur=o,(i=0)|i;tr[(u=i+96|0)>>0]=l,tr[i+97>>0]=b;e:do{if(0<(0|l)){for(f=t=0;;){if(-99999==(0|(a=0|it(r)))){v=0;break}if(e=255&(0|At(r,1)),or[(c=i+(t<<1)|0)>>1]=f+65535-a,tr[i+64+t>>0]=e,(0|l)<=(0|(t=t+1|0)))break e;f=0|or[c>>1]}return ur=o,0|v}}while(0);if(0<(0|b)){for(f=t=0;;){if(-99999==(0|(a=0|it(r)))){v=0;break}if(e=255&(0|At(r,1)),or[(c=i+32+(t<<1)|0)>>1]=f+1+a,tr[i+80+t>>0]=e,(0|b)<=(0|(t=t+1|0)))break A;f=0|or[c>>1]}return ur=o,0|v}}}while(0);if((l=(tr[(b=i+99|0)>>0]=0)|tr[u>>0])<<24>>24)for(c=255&l,f=a=0;t=f+1<<24>>24,0|tr[i+64+a>>0]?tr[b>>0]=t:t=f,(0|(a=a+1|0))!=(0|c);)f=t;else t=0;if(c=255&(r=0|tr[i+97>>0]),r<<24>>24)for(a=0;f=t+1<<24>>24,0|tr[i+80+a>>0]&&(t=tr[b>>0]=f),(0|(a=a+1|0))!=(0|c););return tr[i+98>>0]=c+(255&l),ur=o,0|(i=1)}function pc(A,e,r){A|=0,r|=0;var i,f,n,t,o,a=0,c=0,l=0,u=0,b=0;if(t=16+(i=ur=(o=ur)+31&-32)|0,n=8+i|0,ur=(f=ur=ur+32|0)+(15+((a=(e|=0)<<1)+2|0)&-16)|0,(tr[f+(a|=1)>>0]=0)<(0|a)&&vb(0|f,46,0|a),tr[f+e>>0]=124,(a=0|tr[A+96>>0])<<24>>24)for(b=0-e|0,a&=255;u=0|or[A+((a=(c=a)+-1|0)<<1)>>1],l=0|tr[A+64+a>>0]?88:111,(0|u)<(0|b)?(ar[i>>2]=u,ar[4+i>>2]=255&l,Pn(r,48895,i)):tr[f+(u+e)>>0]=l,1<(0|c););if(!((a=0|tr[A+97>>0])<<24>>24))return ar[n>>2]=f,Pn(r,48902,n),void(ur=o);for(a&=255;u=0|or[A+32+((a=(c=a)+-1|0)<<1)>>1],l=0|tr[A+80+a>>0]?88:111,(0|e)<(0|u)?(ar[t>>2]=u,ar[4+t>>2]=255&l,Pn(r,48895,t)):tr[f+(u+e)>>0]=l,1<(0|c););ar[n>>2]=f,Pn(r,48902,n),ur=o}function yc(A){A|=0;var e,r=0,i=0,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0;s=ur=(e=ur)+31&-32,ur=ur+16|0;do{if(A>>>0<245){if(A=(l=A>>>0<11?16:A+11&-8)>>>3,3&(i=(b=0|ar[14392])>>>A)|0)return f=0|ar[(i=(A=57608+((r=(1&i^1)+A|0)<<1<<2)|0)+8|0)>>2],(0|A)==(0|(t=0|ar[(n=f+8|0)>>2]))?ar[14392]=b&~(1<<r):(ar[t+12>>2]=A,ar[i>>2]=t),Z=r<<3,ar[f+4>>2]=3|Z,ar[(Z=f+Z+4|0)>>2]=1|ar[Z>>2],ur=e,0|(Z=n);if((u=0|ar[14394])>>>0<l>>>0){if(0|i)return r=((r=i<<A&((r=2<<A)|0-r))&0-r)-1|0,n=0|ar[(A=(r=57608+((f=((i=(r>>>=o=r>>>12&16)>>>5&8)|o|(n=(r>>>=i)>>>2&4)|(A=(r>>>=n)>>>1&2)|(f=(r>>>=A)>>>1&1))+(r>>>f)|0)<<1<<2)|0)+8|0)>>2],(0|r)==(0|(i=0|ar[(o=n+8|0)>>2]))?(A=b&~(1<<f),ar[14392]=A):(ar[i+12>>2]=r,ar[A>>2]=i,A=b),t=(f<<3)-l|0,ar[n+4>>2]=3|l,ar[(f=n+l|0)+4>>2]=1|t,ar[f+t>>2]=t,0|u&&(n=0|ar[14397],i=57608+((r=u>>>3)<<1<<2)|0,A&(r=1<<r)?r=0|ar[(A=i+8|0)>>2]:(ar[14392]=A|r,A=(r=i)+8|0),ar[A>>2]=n,ar[r+12>>2]=n,ar[n+8>>2]=r,ar[n+12>>2]=i),ar[14394]=t,ar[14397]=f,ur=e,0|(Z=o);if(a=0|ar[14393]){if(i=(a&0-a)-1|0,A=0|ar[57872+(((t=(i>>>=o=i>>>12&16)>>>5&8)|o|(c=(i>>>=t)>>>2&4)|(f=(i>>>=c)>>>1&2)|(A=(i>>>=f)>>>1&1))+(i>>>A)<<2)>>2],i=(-8&ar[A+4>>2])-l|0,f=0|ar[A+16+((0==(0|ar[A+16>>2])&1)<<2)>>2]){for(;i=(c=(o=(-8&ar[f+4>>2])-l|0)>>>0<i>>>0)?o:i,A=c?f:A,0!=(0|(f=0|ar[f+16+((0==(0|ar[f+16>>2])&1)<<2)>>2])););c=A,t=i}else c=A,t=i;if(c>>>0<(o=c+l|0)>>>0){n=0|ar[c+24>>2],r=0|ar[c+12>>2];do{if((0|r)==(0|c)){if(!(r=0|ar[(A=c+20|0)>>2])&&!(r=0|ar[(A=c+16|0)>>2])){i=0;break}for(;;)if(0|(f=0|ar[(i=r+20|0)>>2]))r=f,A=i;else{if(!(f=0|ar[(i=r+16|0)>>2]))break;r=f,A=i}ar[A>>2]=0,i=r}else i=0|ar[c+8>>2],ar[i+12>>2]=r,ar[r+8>>2]=i,i=r}while(0);do{if(0|n){if(r=0|ar[c+28>>2],(0|c)==(0|ar[(A=57872+(r<<2)|0)>>2])){if(!(ar[A>>2]=i)){ar[14393]=a&~(1<<r);break}}else if(!(ar[n+16+(((0|ar[n+16>>2])!=(0|c)&1)<<2)>>2]=i))break;ar[i+24>>2]=n,0|(r=0|ar[c+16>>2])&&(ar[i+16>>2]=r,ar[r+24>>2]=i),0|(r=0|ar[c+20>>2])&&(ar[i+20>>2]=r,ar[r+24>>2]=i)}}while(0);return t>>>0<16?(Z=t+l|0,ar[c+4>>2]=3|Z,ar[(Z=c+Z+4|0)>>2]=1|ar[Z>>2]):(ar[c+4>>2]=3|l,ar[o+4>>2]=1|t,ar[o+t>>2]=t,0|u&&(f=0|ar[14397],i=57608+((r=u>>>3)<<1<<2)|0,b&(r=1<<r)?r=0|ar[(A=i+8|0)>>2]:(ar[14392]=b|r,A=(r=i)+8|0),ar[A>>2]=f,ar[r+12>>2]=f,ar[f+8>>2]=r,ar[f+12>>2]=i),ar[14394]=t,ar[14397]=o),ur=e,0|(Z=c+8|0)}b=l}else b=l}else b=l}else if(A>>>0<=4294967231)if(l=-8&(A=A+11|0),c=0|ar[14393]){f=0-l|0,a=(A>>>=8)?16777215<l>>>0?31:l>>>((a=14-((u=((g=A<<(b=(A+1048320|0)>>>16&8))+520192|0)>>>16&4)|b|(a=((g<<=u)+245760|0)>>>16&2))+(g<<a>>>15)|0)+7|0)&1|a<<1:0,i=0|ar[57872+(a<<2)>>2];A:do{if(i)for(o=l<<(31==((A=0)|a)?0:25-(a>>>1)|0),t=0;;){if((n=(-8&ar[i+4>>2])-l|0)>>>0<f>>>0){if(!n){f=0,n=A=i,g=61;break A}A=i,f=n}if(t=0==(0|(n=0|ar[i+20>>2]))|(0|n)==(0|(i=0|ar[i+16+(o>>>31<<2)>>2]))?t:n,n=0==(0|i)){i=t,g=57;break}o<<=1&(1^n)}else A=i=0,g=57}while(0);if(57==(0|g)){if(0==(0|i)&0==(0|A)){if(!(A=c&((A=2<<a)|0-A))){b=l;break}b=(A&0-A)-1|0,i=(A=0)|ar[57872+(((t=(b>>>=o=b>>>12&16)>>>5&8)|o|(a=(b>>>=t)>>>2&4)|(u=(b>>>=a)>>>1&2)|(i=(b>>>=u)>>>1&1))+(b>>>i)<<2)>>2]}i?(n=i,g=61):(a=A,o=f)}if(61==(0|g))for(;;){if(g=0,i=(b=(i=(-8&ar[n+4>>2])-l|0)>>>0<f>>>0)?i:f,A=b?n:A,!(n=0|ar[n+16+((0==(0|ar[n+16>>2])&1)<<2)>>2])){a=A,o=i;break}f=i,g=61}if(0!=(0|a)&&o>>>0<((0|ar[14394])-l|0)>>>0){if((t=a+l|0)>>>0<=a>>>0)return ur=e,(Z=0)|Z;n=0|ar[a+24>>2],r=0|ar[a+12>>2];do{if((0|r)==(0|a)){if(!(r=0|ar[(A=a+20|0)>>2])&&!(r=0|ar[(A=a+16|0)>>2])){r=0;break}for(;;)if(0|(f=0|ar[(i=r+20|0)>>2]))r=f,A=i;else{if(!(f=0|ar[(i=r+16|0)>>2]))break;r=f,A=i}ar[A>>2]=0}else Z=0|ar[a+8>>2],ar[Z+12>>2]=r,ar[r+8>>2]=Z}while(0);do{if(n){if(A=0|ar[a+28>>2],(0|a)==(0|ar[(i=57872+(A<<2)|0)>>2])){if(!(ar[i>>2]=r)){f=c&~(1<<A),ar[14393]=f;break}}else if(!(ar[n+16+(((0|ar[n+16>>2])!=(0|a)&1)<<2)>>2]=r)){f=c;break}ar[r+24>>2]=n,0|(A=0|ar[a+16>>2])&&(ar[r+16>>2]=A,ar[A+24>>2]=r),f=((A=0|ar[a+20>>2])&&(ar[r+20>>2]=A,ar[A+24>>2]=r),c)}else f=c}while(0);do{if(16<=o>>>0){if(ar[a+4>>2]=3|l,ar[t+4>>2]=1|o,r=(ar[t+o>>2]=o)>>>3,o>>>0<256){i=57608+(r<<1<<2)|0,(A=0|ar[14392])&(r=1<<r)?r=0|ar[(A=i+8|0)>>2]:(ar[14392]=A|r,A=(r=i)+8|0),ar[A>>2]=t,ar[r+12>>2]=t,ar[t+8>>2]=r,ar[t+12>>2]=i;break}if(i=57872+((r=(r=o>>>8)?16777215<o>>>0?31:o>>>((r=14-((m=((Z=r<<(g=(r+1048320|0)>>>16&8))+520192|0)>>>16&4)|g|(r=((Z<<=m)+245760|0)>>>16&2))+(Z<<r>>>15)|0)+7|0)&1|r<<1:0)<<2)|0,ar[t+28>>2]=r,ar[(A=t+16|0)+4>>2]=0,ar[A>>2]=0,!(f&(A=1<<r))){ar[14393]=f|A,ar[i>>2]=t,ar[t+24>>2]=i,ar[t+12>>2]=t,ar[t+8>>2]=t;break}for(A=o<<(31==(0|r)?0:25-(r>>>1)|0),i=0|ar[i>>2];;){if((-8&ar[i+4>>2]|0)==(0|o)){g=97;break}if(!(r=0|ar[(f=i+16+(A>>>31<<2)|0)>>2])){g=96;break}A<<=1,i=r}if(96==(0|g)){ar[f>>2]=t,ar[t+24>>2]=i,ar[t+12>>2]=t,ar[t+8>>2]=t;break}if(97==(0|g)){Z=0|ar[(g=i+8|0)>>2],ar[Z+12>>2]=t,ar[g>>2]=t,ar[t+8>>2]=Z,ar[t+12>>2]=i,ar[t+24>>2]=0;break}}else Z=o+l|0,ar[a+4>>2]=3|Z,ar[(Z=a+Z+4|0)>>2]=1|ar[Z>>2]}while(0);return ur=e,0|(Z=a+8|0)}b=l}else b=l;else b=-1}while(0);if(b>>>0<=(i=0|ar[14394])>>>0)return r=i-b|0,A=0|ar[14397],15<r>>>0?(Z=A+b|0,ar[14397]=Z,ar[14394]=r,ar[Z+4>>2]=1|r,ar[Z+r>>2]=r,ar[A+4>>2]=3|b):(ar[14394]=0,ar[14397]=0,ar[A+4>>2]=3|i,ar[(Z=A+i+4|0)>>2]=1|ar[Z>>2]),ur=e,0|(Z=A+8|0);if(b>>>0<(o=0|ar[14395])>>>0)return m=o-b|0,ar[14395]=m,g=(Z=0|ar[14398])+b|0,ar[14398]=g,ar[g+4>>2]=1|m,ar[Z+4>>2]=3|b,ur=e,0|(Z=Z+8|0);if(a=b+48|0,(l=(t=(A=0|ar[14510]?0|ar[14512]:(ar[14512]=4096,ar[14511]=4096,ar[14513]=-1,ar[14514]=-1,ar[14515]=0,ar[14503]=0,A=-16&s^1431655768,ar[s>>2]=A,ar[14510]=A,4096))+(c=b+47|0)|0)&(n=0-A|0))>>>0<=b>>>0)return ur=e,(Z=0)|Z;if(0|(A=0|ar[14502])&&(s=(u=0|ar[14500])+l|0)>>>0<=u>>>0|A>>>0<s>>>0)return ur=e,(Z=0)|Z;A:do{if(4&ar[14503])r=0,g=133;else{i=0|ar[14398];e:do{if(i){for(f=58016;!((A=0|ar[f>>2])>>>0<=i>>>0&&(A+(0|ar[(h=f+4|0)>>2])|0)>>>0>i>>>0);){if(!(A=0|ar[f+8>>2])){g=118;break e}f=A}if((r=t-o&n)>>>0<2147483647)if((0|(A=0|yb(0|r)))==((0|ar[f>>2])+(0|ar[h>>2])|0)){if(-1!=(0|A)){o=r,t=A,g=135;break A}}else f=A,g=126;else r=0}else g=118}while(0);do{if(118==(0|g))if(-1!=(0|(i=0|yb(0)))&&(r=i,k=(r=(0==((k=(d=0|ar[14511])+-1|0)&r|0)?0:(k+r&0-d)-r|0)+l|0)+(d=0|ar[14500])|0,b>>>0<r>>>0&r>>>0<2147483647)){if(0|(h=0|ar[14502])&&k>>>0<=d>>>0|h>>>0<k>>>0){r=0;break}if((0|(A=0|yb(0|r)))==(0|i)){o=r,t=i,g=135;break A}f=A,g=126}else r=0}while(0);do{if(126==(0|g)){if(i=0-r|0,!(r>>>0<a>>>0&r>>>0<2147483647&-1!=(0|f))){if(-1==(0|f)){r=0;break}o=r,t=f,g=135;break A}if(2147483647<=(A=c-r+(A=0|ar[14512])&0-A)>>>0){o=r,t=f,g=135;break A}if(-1==(0|yb(0|A))){yb(0|i),r=0;break}o=A+r|0,t=f,g=135;break A}}while(0);ar[14503]=4|ar[14503],g=133}}while(0);if(133==(0|g)&&l>>>0<2147483647&&!(-1==(0|(m=0|yb(0|l)))|1^(v=(b+40|0)>>>0<(w=(h=0|yb(0))-m|0)>>>0)|m>>>0<h>>>0&-1!=(0|m)&-1!=(0|h)^1)&&(o=v?w:r,t=m,g=135),135==(0|g)){r=(0|ar[14500])+o|0,(ar[14500]=r)>>>0>(0|ar[14501])>>>0&&(ar[14501]=r),c=0|ar[14398];do{if(c){for(r=58016;;){if((0|t)==((A=0|ar[r>>2])+(f=0|ar[(i=r+4|0)>>2])|0)){g=145;break}if(!(n=0|ar[r+8>>2]))break;r=n}if(145==(0|g)&&0==(8&ar[r+12>>2]|0)&&c>>>0<t>>>0&A>>>0<=c>>>0){ar[i>>2]=f+o,g=c+(Z=0==(7&(Z=c+8|0)|0)?0:0-Z&7)|0,Z=(0|ar[14395])+(o-Z)|0,ar[14398]=g,ar[14395]=Z,ar[g+4>>2]=1|Z,ar[g+Z+4>>2]=40,ar[14399]=ar[14514];break}for(t>>>0<(0|ar[14396])>>>0&&(ar[14396]=t),i=t+o|0,r=58016;;){if((0|ar[r>>2])==(0|i)){g=153;break}if(!(A=0|ar[r+8>>2]))break;r=A}if(153==(0|g)&&0==(8&ar[r+12>>2]|0)){ar[r>>2]=t,ar[(u=r+4|0)>>2]=(0|ar[u>>2])+o,l=(u=t+(0==(7&(u=t+8|0)|0)?0:0-u&7)|0)+b|0,a=(r=i+(0==(7&(r=i+8|0)|0)?0:0-r&7)|0)-u-b|0,ar[u+4>>2]=3|b;do{if((0|r)!=(0|c)){if((0|r)==(0|ar[14397])){Z=(0|ar[14394])+a|0,ar[14394]=Z,ar[14397]=l,ar[l+4>>2]=1|Z,ar[l+Z>>2]=Z;break}if(1==(3&(A=0|ar[r+4>>2])|0)){o=-8&A,f=A>>>3;A:do{if(A>>>0<256){if(A=0|ar[r+8>>2],(0|(i=0|ar[r+12>>2]))==(0|A)){ar[14392]=ar[14392]&~(1<<f);break}ar[A+12>>2]=i,ar[i+8>>2]=A;break}t=0|ar[r+24>>2],A=0|ar[r+12>>2];do{if((0|A)==(0|r)){if(!(A=0|ar[(i=(f=r+16|0)+4|0)>>2])){if(!(A=0|ar[f>>2])){A=0;break}i=f}for(;;)if(0|(n=0|ar[(f=A+20|0)>>2]))A=n,i=f;else{if(!(n=0|ar[(f=A+16|0)>>2]))break;A=n,i=f}ar[i>>2]=0}else Z=0|ar[r+8>>2],ar[Z+12>>2]=A,ar[A+8>>2]=Z}while(0);if(!t)break;f=57872+((i=0|ar[r+28>>2])<<2)|0;do{if((0|r)==(0|ar[f>>2])){if(0|(ar[f>>2]=A))break;ar[14393]=ar[14393]&~(1<<i);break A}if(!(ar[t+16+(((0|ar[t+16>>2])!=(0|r)&1)<<2)>>2]=A))break A}while(0);if(ar[A+24>>2]=t,0|(f=0|ar[(i=r+16|0)>>2])&&(ar[A+16>>2]=f,ar[f+24>>2]=A),!(i=0|ar[i+4>>2]))break;ar[A+20>>2]=i,ar[i+24>>2]=A}while(0);r=r+o|0,n=o+a|0}else n=a;if(ar[(r=r+4|0)>>2]=-2&ar[r>>2],ar[l+4>>2]=1|n,r=(ar[l+n>>2]=n)>>>3,n>>>0<256){i=57608+(r<<1<<2)|0,(A=0|ar[14392])&(r=1<<r)?r=0|ar[(A=i+8|0)>>2]:(ar[14392]=A|r,A=(r=i)+8|0),ar[A>>2]=l,ar[r+12>>2]=l,ar[l+8>>2]=r,ar[l+12>>2]=i;break}r=n>>>8;do{if(r){if(16777215<n>>>0){r=31;break}r=n>>>((r=14-((m=((Z=r<<(g=(r+1048320|0)>>>16&8))+520192|0)>>>16&4)|g|(r=((Z<<=m)+245760|0)>>>16&2))+(Z<<r>>>15)|0)+7|0)&1|r<<1}else r=0}while(0);if(f=57872+(r<<2)|0,ar[l+28>>2]=r,ar[(A=l+16|0)+4>>2]=0,!((A=(ar[A>>2]=0)|ar[14393])&(i=1<<r))){ar[14393]=A|i,ar[f>>2]=l,ar[l+24>>2]=f,ar[l+12>>2]=l,ar[l+8>>2]=l;break}for(A=n<<(31==(0|r)?0:25-(r>>>1)|0),i=0|ar[f>>2];;){if((-8&ar[i+4>>2]|0)==(0|n)){g=194;break}if(!(r=0|ar[(f=i+16+(A>>>31<<2)|0)>>2])){g=193;break}A<<=1,i=r}if(193==(0|g)){ar[f>>2]=l,ar[l+24>>2]=i,ar[l+12>>2]=l,ar[l+8>>2]=l;break}if(194==(0|g)){Z=0|ar[(g=i+8|0)>>2],ar[Z+12>>2]=l,ar[g>>2]=l,ar[l+8>>2]=Z,ar[l+12>>2]=i,ar[l+24>>2]=0;break}}else Z=(0|ar[14395])+a|0,ar[14395]=Z,ar[14398]=l,ar[l+4>>2]=1|Z}while(0);return ur=e,0|(Z=u+8|0)}for(r=58016;!((A=0|ar[r>>2])>>>0<=c>>>0&&c>>>0<(Z=A+(0|ar[r+4>>2])|0)>>>0);)r=0|ar[r+8>>2];for(r=(A=(A=(n=Z+-47|0)+(0==(7&(A=n+8|0)|0)?0:0-A&7)|0)>>>0<(n=c+16|0)>>>0?c:A)+8|0,g=t+(i=0==(7&(i=t+8|0)|0)?0:0-i&7)|0,i=o+-40-i|0,ar[14398]=g,ar[14395]=i,ar[g+4>>2]=1|i,ar[g+i+4>>2]=40,ar[14399]=ar[14514],ar[(i=A+4|0)>>2]=27,ar[r>>2]=ar[14504],ar[r+4>>2]=ar[14505],ar[r+8>>2]=ar[14506],ar[r+12>>2]=ar[14507],ar[14504]=t,ar[14505]=o,ar[14507]=0,ar[14506]=r,r=A+24|0;ar[(r=(g=r)+4|0)>>2]=7,(g+8|0)>>>0<Z>>>0;);if((0|A)!=(0|c)){if(t=A-c|0,ar[i>>2]=-2&ar[i>>2],ar[c+4>>2]=1|t,r=(ar[A>>2]=t)>>>3,t>>>0<256){i=57608+(r<<1<<2)|0,(A=0|ar[14392])&(r=1<<r)?r=0|ar[(A=i+8|0)>>2]:(ar[14392]=A|r,A=(r=i)+8|0),ar[A>>2]=c,ar[r+12>>2]=c,ar[c+8>>2]=r,ar[c+12>>2]=i;break}if(f=57872+((i=(r=t>>>8)?16777215<t>>>0?31:t>>>((i=14-((m=((Z=r<<(g=(r+1048320|0)>>>16&8))+520192|0)>>>16&4)|g|(i=((Z<<=m)+245760|0)>>>16&2))+(Z<<i>>>15)|0)+7|0)&1|i<<1:0)<<2)|0,ar[c+28>>2]=i,ar[c+20>>2]=0,!((r=(ar[n>>2]=0)|ar[14393])&(A=1<<i))){ar[14393]=r|A,ar[f>>2]=c,ar[c+24>>2]=f,ar[c+12>>2]=c,ar[c+8>>2]=c;break}for(A=t<<(31==(0|i)?0:25-(i>>>1)|0),i=0|ar[f>>2];;){if((-8&ar[i+4>>2]|0)==(0|t)){g=216;break}if(!(r=0|ar[(f=i+16+(A>>>31<<2)|0)>>2])){g=215;break}A<<=1,i=r}if(215==(0|g)){ar[f>>2]=c,ar[c+24>>2]=i,ar[c+12>>2]=c,ar[c+8>>2]=c;break}if(216==(0|g)){Z=0|ar[(g=i+8|0)>>2],ar[Z+12>>2]=c,ar[g>>2]=c,ar[c+8>>2]=Z,ar[c+12>>2]=i,ar[c+24>>2]=0;break}}}else{for(0==(0|(Z=0|ar[14396]))|t>>>0<Z>>>0&&(ar[14396]=t),ar[14504]=t,ar[14505]=o,ar[14507]=0,ar[14401]=ar[14510],ar[14400]=-1,r=0;ar[(Z=57608+(r<<1<<2)|0)+12>>2]=Z,ar[Z+8>>2]=Z,32!=(0|(r=r+1|0)););g=t+(Z=0==(7&(Z=t+8|0)|0)?0:0-Z&7)|0,Z=o+-40-Z|0,ar[14398]=g,ar[14395]=Z,ar[g+4>>2]=1|Z,ar[g+Z+4>>2]=40,ar[14399]=ar[14514]}}while(0);if(b>>>0<(r=0|ar[14395])>>>0)return m=r-b|0,ar[14395]=m,g=(Z=0|ar[14398])+b|0,ar[14398]=g,ar[g+4>>2]=1|m,ar[Z+4>>2]=3|b,ur=e,0|(Z=Z+8|0)}return ar[(Z=10364)>>2]=12,ur=e,(Z=0)|Z}function Bc(A){var e=0,r=0,i=0,f=0,n=0,t=0,o=0,a=0;if(A|=0){r=A+-8|0,f=0|ar[14396],a=r+(e=-8&(A=0|ar[A+-4>>2]))|0;do{if(1&A)t=o=r;else{if(i=0|ar[r>>2],!(3&A))return;if(n=i+e|0,(t=r+(0-i)|0)>>>0<f>>>0)return;if((0|t)==(0|ar[14397])){if(3==(3&(e=0|ar[(A=a+4|0)>>2])|0))return ar[14394]=n,ar[A>>2]=-2&e,ar[t+4>>2]=1|n,void(ar[t+n>>2]=n);o=t,e=n;break}if(r=i>>>3,i>>>0<256){if(A=0|ar[t+8>>2],(0|(e=0|ar[t+12>>2]))==(0|A)){ar[14392]=ar[14392]&~(1<<r),o=t,e=n;break}ar[A+12>>2]=e,ar[e+8>>2]=A,o=t,e=n;break}f=0|ar[t+24>>2],A=0|ar[t+12>>2];do{if((0|A)==(0|t)){if(!(A=0|ar[(e=(r=t+16|0)+4|0)>>2])){if(!(A=0|ar[r>>2])){A=0;break}e=r}for(;;)if(0|(i=0|ar[(r=A+20|0)>>2]))A=i,e=r;else{if(!(i=0|ar[(r=A+16|0)>>2]))break;A=i,e=r}ar[e>>2]=0}else o=0|ar[t+8>>2],ar[o+12>>2]=A,ar[A+8>>2]=o}while(0);if(f){if(e=0|ar[t+28>>2],(0|t)==(0|ar[(r=57872+(e<<2)|0)>>2])){if(!(ar[r>>2]=A)){ar[14393]=ar[14393]&~(1<<e),o=t,e=n;break}}else if(!(ar[f+16+(((0|ar[f+16>>2])!=(0|t)&1)<<2)>>2]=A)){o=t,e=n;break}ar[A+24>>2]=f,0|(r=0|ar[(e=t+16|0)>>2])&&(ar[A+16>>2]=r,ar[r+24>>2]=A),e=(o=((e=0|ar[e+4>>2])&&(ar[A+20>>2]=e,ar[e+24>>2]=A),t),n)}else o=t,e=n}}while(0);if(!(a>>>0<=t>>>0)&&1&(i=0|ar[(A=a+4|0)>>2])){if(2&i)ar[A>>2]=-2&i,ar[o+4>>2]=1|e,f=ar[t+e>>2]=e;else{if(A=0|ar[14397],(0|a)==(0|ar[14398])){if(a=(0|ar[14395])+e|0,ar[14395]=a,ar[14398]=o,ar[o+4>>2]=1|a,(0|o)!=(0|A))return;return ar[14397]=0,void(ar[14394]=0)}if((0|a)==(0|A))return a=(0|ar[14394])+e|0,ar[14394]=a,ar[14397]=t,ar[o+4>>2]=1|a,void(ar[t+a>>2]=a);f=(-8&i)+e|0,r=i>>>3;do{if(i>>>0<256){if(e=0|ar[a+8>>2],(0|(A=0|ar[a+12>>2]))==(0|e)){ar[14392]=ar[14392]&~(1<<r);break}ar[e+12>>2]=A,ar[A+8>>2]=e;break}n=0|ar[a+24>>2],A=0|ar[a+12>>2];do{if((0|A)==(0|a)){if(!(A=0|ar[(e=(r=a+16|0)+4|0)>>2])){if(!(A=0|ar[r>>2])){r=0;break}e=r}for(;;)if(0|(i=0|ar[(r=A+20|0)>>2]))A=i,e=r;else{if(!(i=0|ar[(r=A+16|0)>>2]))break;A=i,e=r}ar[e>>2]=0,r=A}else r=0|ar[a+8>>2],ar[r+12>>2]=A,ar[A+8>>2]=r,r=A}while(0);if(0|n){if(A=0|ar[a+28>>2],(0|a)==(0|ar[(e=57872+(A<<2)|0)>>2])){if(!(ar[e>>2]=r)){ar[14393]=ar[14393]&~(1<<A);break}}else if(!(ar[n+16+(((0|ar[n+16>>2])!=(0|a)&1)<<2)>>2]=r))break;ar[r+24>>2]=n,0|(e=0|ar[(A=a+16|0)>>2])&&(ar[r+16>>2]=e,ar[e+24>>2]=r),0|(A=0|ar[A+4>>2])&&(ar[r+20>>2]=A,ar[A+24>>2]=r)}}while(0);if(ar[o+4>>2]=1|f,ar[t+f>>2]=f,(0|o)==(0|ar[14397]))return void(ar[14394]=f)}if(A=f>>>3,f>>>0<256)return r=57608+(A<<1<<2)|0,(e=0|ar[14392])&(A=1<<A)?A=0|ar[(e=r+8|0)>>2]:(ar[14392]=e|A,e=(A=r)+8|0),ar[e>>2]=o,ar[A+12>>2]=o,ar[o+8>>2]=A,void(ar[o+12>>2]=r);i=57872+((A=(A=f>>>8)?16777215<f>>>0?31:f>>>((A=14-((n=((a=A<<(t=(A+1048320|0)>>>16&8))+520192|0)>>>16&4)|t|(A=((a<<=n)+245760|0)>>>16&2))+(a<<A>>>15)|0)+7|0)&1|A<<1:0)<<2)|0,ar[o+28>>2]=A,ar[o+20>>2]=0,e=(ar[o+16>>2]=0)|ar[14393],r=1<<A;do{if(e&r){for(e=f<<(31==(0|A)?0:25-(A>>>1)|0),r=0|ar[i>>2];;){if((-8&ar[r+4>>2]|0)==(0|f)){A=73;break}if(!(A=0|ar[(i=r+16+(e>>>31<<2)|0)>>2])){A=72;break}e<<=1,r=A}if(72==(0|A)){ar[i>>2]=o,ar[o+24>>2]=r,ar[o+12>>2]=o,ar[o+8>>2]=o;break}if(73==(0|A)){a=0|ar[(t=r+8|0)>>2],ar[a+12>>2]=o,ar[t>>2]=o,ar[o+8>>2]=a,ar[o+12>>2]=r,ar[o+24>>2]=0;break}}else ar[14393]=e|r,ar[i>>2]=o,ar[o+24>>2]=i,ar[o+12>>2]=o,ar[o+8>>2]=o}while(0);if(a=(0|ar[14400])-1|0,!(ar[14400]=a)){for(A=58024;A=0|ar[A>>2];)A=A+8|0;ar[14400]=-1}}}}function Ec(A,e){e|=0;var r=0,i=0;return(A|=0)?4294967231<e>>>0?(ar[(e=10364)>>2]=12,(e=0)|e):0|(r=0|function(A,e){e|=0;var r,i,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0;if(l=0|ar[(u=4+(A|=0)|0)>>2],r=A+(f=-8&l)|0,!(3&l))return!(e>>>0<256)&&(e+4|0)>>>0<=f>>>0&&(f-e|0)>>>0<=ar[14512]<<1>>>0?0|A:(A=0)|A;if(e>>>0<=f>>>0)return(f=f-e|0)>>>0<=15||(c=A+e|0,ar[u>>2]=1&l|e|2,ar[c+4>>2]=3|f,ar[(u=c+f+4|0)>>2]=1|ar[u>>2],Xc(c,f)),0|A;if((0|r)==(0|ar[14398]))return c=(0|ar[14395])+f|0,f=c-e|0,n=A+e|0,c>>>0<=e>>>0?(A=0)|A:(ar[u>>2]=1&l|e|2,ar[n+4>>2]=1|f,ar[14398]=n,ar[14395]=f,0|A);if((0|r)==(0|ar[14397]))return(t=(0|ar[14394])+f|0)>>>0<e>>>0?(A=0)|A:(n=1&l,15<(f=t-e|0)>>>0?(c=(l=A+e|0)+f|0,ar[u>>2]=n|e|2,ar[l+4>>2]=1|f,ar[c>>2]=f,ar[(n=c+4|0)>>2]=-2&ar[n>>2],n=l):(ar[u>>2]=n|t|2,ar[(n=A+t+4|0)>>2]=1|ar[n>>2],f=n=0),ar[14394]=f,ar[14397]=n,0|A);if(2&(n=0|ar[4+r>>2])|0)return(A=0)|A;if((i=(-8&n)+f|0)>>>0<e>>>0)return(A=0)|A;c=i-e|0,t=n>>>3;do{if(n>>>0<256){if(n=0|ar[8+r>>2],(0|(f=0|ar[12+r>>2]))==(0|n)){ar[14392]=ar[14392]&~(1<<t);break}ar[n+12>>2]=f,ar[f+8>>2]=n;break}a=0|ar[24+r>>2],f=0|ar[12+r>>2];do{if((0|f)==(0|r)){if(f=0|ar[(n=(t=16+r|0)+4|0)>>2])o=n;else{if(!(f=0|ar[t>>2])){t=0;break}o=t}for(;;)if(0|(n=0|ar[(t=f+20|0)>>2]))f=n,o=t;else{if(!(t=0|ar[(n=f+16|0)>>2]))break;f=t,o=n}ar[o>>2]=0,t=f}else t=0|ar[8+r>>2],ar[t+12>>2]=f,ar[f+8>>2]=t,t=f}while(0);if(0|a){if(f=0|ar[28+r>>2],(0|r)==(0|ar[(n=57872+(f<<2)|0)>>2])){if(!(ar[n>>2]=t)){ar[14393]=ar[14393]&~(1<<f);break}}else if(!(ar[a+16+(((0|ar[a+16>>2])!=(0|r)&1)<<2)>>2]=t))break;ar[t+24>>2]=a,0|(n=0|ar[(f=16+r|0)>>2])&&(ar[t+16>>2]=n,ar[n+24>>2]=t),0|(f=0|ar[f+4>>2])&&(ar[t+20>>2]=f,ar[f+24>>2]=t)}}while(0);return f=1&l,c>>>0<16?(ar[u>>2]=i|f|2,ar[(u=A+i+4|0)>>2]=1|ar[u>>2]):(l=A+e|0,ar[u>>2]=f|e|2,ar[l+4>>2]=3|c,ar[(u=l+c+4|0)>>2]=1|ar[u>>2],Xc(l,c)),0|A}(A+-8|0,e>>>0<11?16:e+11&-8))?0|(e=r+8|0):(r=0|yc(e))?(hb(0|r,0|A,0|((i=(-8&(i=0|ar[A+-4>>2]))-(0==(3&i|0)?8:4)|0)>>>0<e>>>0?i:e)),Bc(A),0|(e=r)):(e=0)|e:0|(e=0|yc(e))}function Xc(A,e){var r=0,i=0,f=0,n=0,t=0,o=0,a=0;a=(A|=0)+(e|=0)|0,r=0|ar[A+4>>2];do{if(1&r)o=A,r=e;else{if(i=0|ar[A>>2],!(3&r))return;if(t=i+e|0,(0|(n=A+(0-i)|0))==(0|ar[14397])){if(3==(3&(r=0|ar[(A=a+4|0)>>2])|0))return ar[14394]=t,ar[A>>2]=-2&r,ar[n+4>>2]=1|t,void(ar[n+t>>2]=t);o=n,r=t;break}if(e=i>>>3,i>>>0<256){if(A=0|ar[n+8>>2],(0|(r=0|ar[n+12>>2]))==(0|A)){ar[14392]=ar[14392]&~(1<<e),o=n,r=t;break}ar[A+12>>2]=r,ar[r+8>>2]=A,o=n,r=t;break}f=0|ar[n+24>>2],A=0|ar[n+12>>2];do{if((0|A)==(0|n)){if(!(A=0|ar[(r=(e=n+16|0)+4|0)>>2])){if(!(A=0|ar[e>>2])){A=0;break}r=e}for(;;)if(0|(i=0|ar[(e=A+20|0)>>2]))A=i,r=e;else{if(!(i=0|ar[(e=A+16|0)>>2]))break;A=i,r=e}ar[r>>2]=0}else o=0|ar[n+8>>2],ar[o+12>>2]=A,ar[A+8>>2]=o}while(0);if(f){if(r=0|ar[n+28>>2],(0|n)==(0|ar[(e=57872+(r<<2)|0)>>2])){if(!(ar[e>>2]=A)){ar[14393]=ar[14393]&~(1<<r),o=n,r=t;break}}else if(!(ar[f+16+(((0|ar[f+16>>2])!=(0|n)&1)<<2)>>2]=A)){o=n,r=t;break}ar[A+24>>2]=f,0|(e=0|ar[(r=n+16|0)>>2])&&(ar[A+16>>2]=e,ar[e+24>>2]=A),r=(o=((r=0|ar[r+4>>2])&&(ar[A+20>>2]=r,ar[r+24>>2]=A),n),t)}else o=n,r=t}}while(0);if(2&(i=0|ar[(A=a+4|0)>>2]))ar[A>>2]=-2&i,ar[o+4>>2]=1|r,ar[o+r>>2]=r;else{if(A=0|ar[14397],(0|a)==(0|ar[14398]))return a=(0|ar[14395])+r|0,ar[14395]=a,ar[14398]=o,ar[o+4>>2]=1|a,(0|o)==(0|A)&&(ar[14397]=0,void(ar[14394]=0));if((0|a)==(0|A))return a=(0|ar[14394])+r|0,ar[14394]=a,ar[14397]=o,ar[o+4>>2]=1|a,void(ar[o+a>>2]=a);n=(-8&i)+r|0,e=i>>>3;do{if(i>>>0<256){if(r=0|ar[a+8>>2],(0|(A=0|ar[a+12>>2]))==(0|r)){ar[14392]=ar[14392]&~(1<<e);break}ar[r+12>>2]=A,ar[A+8>>2]=r;break}f=0|ar[a+24>>2],A=0|ar[a+12>>2];do{if((0|A)==(0|a)){if(!(A=0|ar[(r=(e=a+16|0)+4|0)>>2])){if(!(A=0|ar[e>>2])){e=0;break}r=e}for(;;)if(0|(i=0|ar[(e=A+20|0)>>2]))A=i,r=e;else{if(!(i=0|ar[(e=A+16|0)>>2]))break;A=i,r=e}ar[r>>2]=0,e=A}else e=0|ar[a+8>>2],ar[e+12>>2]=A,ar[A+8>>2]=e,e=A}while(0);if(0|f){if(A=0|ar[a+28>>2],(0|a)==(0|ar[(r=57872+(A<<2)|0)>>2])){if(!(ar[r>>2]=e)){ar[14393]=ar[14393]&~(1<<A);break}}else if(!(ar[f+16+(((0|ar[f+16>>2])!=(0|a)&1)<<2)>>2]=e))break;ar[e+24>>2]=f,0|(r=0|ar[(A=a+16|0)>>2])&&(ar[e+16>>2]=r,ar[r+24>>2]=e),0|(A=0|ar[A+4>>2])&&(ar[e+20>>2]=A,ar[A+24>>2]=e)}}while(0);if(ar[o+4>>2]=1|n,ar[o+n>>2]=n,(0|o)==(0|ar[14397]))return void(ar[14394]=n);r=n}if(A=r>>>3,r>>>0<256)return e=57608+(A<<1<<2)|0,(r=0|ar[14392])&(A=1<<A)?A=0|ar[(r=e+8|0)>>2]:(ar[14392]=r|A,r=(A=e)+8|0),ar[r>>2]=o,ar[A+12>>2]=o,ar[o+8>>2]=A,void(ar[o+12>>2]=e);if(f=57872+((A=(A=r>>>8)?16777215<r>>>0?31:r>>>((A=14-((n=((a=A<<(t=(A+1048320|0)>>>16&8))+520192|0)>>>16&4)|t|(A=((a<<=n)+245760|0)>>>16&2))+(a<<A>>>15)|0)+7|0)&1|A<<1:0)<<2)|0,ar[o+28>>2]=A,ar[o+20>>2]=0,!((e=(ar[o+16>>2]=0)|ar[14393])&(i=1<<A)))return ar[14393]=e|i,ar[f>>2]=o,ar[o+24>>2]=f,ar[o+12>>2]=o,void(ar[o+8>>2]=o);for(e=r<<(31==(0|A)?0:25-(A>>>1)|0),i=0|ar[f>>2];;){if((-8&ar[i+4>>2]|0)==(0|r)){A=69;break}if(!(A=0|ar[(f=i+16+(e>>>31<<2)|0)>>2])){A=68;break}e<<=1,i=A}return 68==(0|A)?(ar[f>>2]=o,ar[o+24>>2]=i,ar[o+12>>2]=o,void(ar[o+8>>2]=o)):69==(0|A)&&(a=0|ar[(t=i+8|0)>>2],ar[a+12>>2]=o,ar[t>>2]=o,ar[o+8>>2]=a,ar[o+12>>2]=i,void(ar[o+24>>2]=0))}function Wc(A,e){return e|=0,(A|=0)>>>0<9?0|(e=0|yc(e)):0|(e=0|function(A,e){e|=0;var r,i=0,f=0,n=0,t=0,o=0;if((A=16<(A|=0)>>>0?A:16)+-1&A)for(i=16;;){if(!(i>>>0<A>>>0)){A=i;break}i<<=1}if((-64-A|0)>>>0<=e>>>0)return ar[(t=10364)>>2]=12,(t=0)|t;if(!(i=0|yc(12+(n=e>>>0<11?16:e+11&-8)+A|0)))return(t=0)|t;r=i+-8|0;do{if(i&A+-1){if(e=(f=15<((f=(i+A+-1&0-A)-8|0)-(e=r)|0)>>>0?f:f+A|0)-e|0,o=0|ar[(A=i+-4|0)>>2],i=(-8&o)-e|0,3&o){ar[(o=f+4|0)>>2]=i|1&ar[o>>2]|2,ar[(i=f+i+4|0)>>2]=1|ar[i>>2],ar[A>>2]=e|1&ar[A>>2]|2,ar[o>>2]=1|ar[o>>2],Xc(r,e),e=A=f;break}ar[f>>2]=(0|ar[r>>2])+e,ar[f+4>>2]=i,e=A=f;break}e=A=r}while(0);3&(i=0|ar[(A=A+4|0)>>2])|0&&(t=-8&i)>>>0>(n+16|0)>>>0&&(o=t-n|0,t=e+n|0,ar[A>>2]=n|1&i|2,ar[t+4>>2]=3|o,ar[(n=t+o+4|0)>>2]=1|ar[n>>2],Xc(t,o));return 0|(o=e+8|0)}(A,e))}function Ic(A){return 4294963200<(A|=0)>>>0&&(ar[10364>>2]=0-A,A=-1),0|A}function Cc(){return 10364}function Gc(A,e,r){e|=0,r|=0;var i,f,n,t,o,a=0,c=0,l=0,u=0,b=0,s=0;c=ur=(o=ur)+31&-32,ur=ur+48|0,t=c+16|0,c=(l=c)+32|0,a=0|ar[(f=(A|=0)+28|0)>>2],ar[c>>2]=a,a=(0|ar[(n=A+20|0)>>2])-a|0,ar[c+4>>2]=a,ar[c+8>>2]=e,a=a+(ar[c+12>>2]=r)|0,i=A+60|0,ar[l>>2]=ar[i>>2],ar[l+4>>2]=c,ar[l+8>>2]=2,l=0|Ic(0|_(146,0|l));A:do{if((0|a)!=(0|l)){for(e=2;!((0|l)<0);)if(a=a-l|0,e=((b=(s=0|ar[c+4>>2])>>>0<l>>>0)<<31>>31)+e|0,s=l-(b?s:0)|0,ar[(c=b?c+8|0:c)>>2]=(0|ar[c>>2])+s,ar[(b=c+4|0)>>2]=(0|ar[b>>2])-s,ar[t>>2]=ar[i>>2],ar[4+t>>2]=c,ar[8+t>>2]=e,(0|a)==(0|(l=0|Ic(0|_(146,0|t))))){u=3;break A}ar[A+16>>2]=0,ar[f>>2]=0,ar[n>>2]=0,ar[A>>2]=32|ar[A>>2],r=2==(0|e)?0:r-(0|ar[c+4>>2])|0}else u=3}while(0);return 3==(0|u)&&(s=0|ar[A+44>>2],ar[A+16>>2]=s+(0|ar[A+48>>2]),ar[f>>2]=s,ar[n>>2]=s),ur=o,0|r}function Vc(A){var e,r=0,i=0;e=A|=0;A:do{if(3&e)for(r=e;;){if(!(0|tr[A>>0])){A=r;break A}if(!(3&(r=A=A+1|0))){i=4;break}}else i=4}while(0);if(4==(0|i)){for(;!((-2139062144&(r=0|ar[A>>2])^-2139062144)&r+-16843009);)A=A+4|0;if((255&r)<<24>>24)for(;0!=(0|tr[(A=A+1|0)>>0]););}return A-e|0}function Fc(A,e){e|=0;var r=0,i=0;if(r=0|tr[(A|=0)>>0],i=0|tr[e>>0],r<<24>>24==0||r<<24>>24!=i<<24>>24)A=i;else{for(;e=e+1|0,r=0|tr[(A=A+1|0)>>0],i=0|tr[e>>0],r<<24>>24!=0&&r<<24>>24==i<<24>>24;);A=i}return(255&r)-(255&A)|0}function Rc(A,e,r){A|=0;var i=0,f=0,n=0,t=0;n=255&(e|=0),i=0!=(0|(r|=0));A:do{if(i&0!=(3&A|0))for(f=255&e;;){if((0|tr[A>>0])==f<<24>>24){t=6;break A}if(!((i=0!=(0|(r=r+-1|0)))&0!=(3&(A=A+1|0)|0))){t=5;break}}else t=5}while(0);5==(0|t)&&(i?t=6:r=0);A:do{if(6==(0|t)&&(f=255&e,(0|tr[A>>0])!=f<<24>>24)){i=0|br(n,16843009);e:do{if(3<r>>>0){for(;!((-2139062144&(n=ar[A>>2]^i)^-2139062144)&n+-16843009|0);)if(A=A+4|0,(r=r+-4|0)>>>0<=3){t=11;break e}}else t=11}while(0);if(11==(0|t)&&!r){r=0;break}for(;;){if((0|tr[A>>0])==f<<24>>24)break A;if(A=A+1|0,!(r=r+-1|0)){r=0;break}}}}while(0);return 0|(0|r?A:0)}function Nc(A,e){A|=0;var r=0,i=0,f=0;i=255&(e|=0);A:do{if(i){if(3&A){r=255&e;do{if((f=0|tr[A>>0])<<24>>24==0||f<<24>>24==r<<24>>24)break A;A=A+1|0}while(0!=(3&A|0))}i=0|br(i,16843009),r=0|ar[A>>2];e:do{if(!((-2139062144&r^-2139062144)&r+-16843009))do{if((-2139062144&(f=r^i)^-2139062144)&f+-16843009|0)break e;r=0|ar[(A=A+4|0)>>2]}while(!((-2139062144&r^-2139062144)&r+-16843009|0))}while(0);for(r=255&e;(f=0|tr[A>>0])<<24>>24!=0&&f<<24>>24!=r<<24>>24;)A=A+1|0}else A=A+(0|Vc(A))|0}while(0);return 0|A}function _c(A,e,r,i){A|=0,e|=0,r|=0,i|=0;var f,n;return n=ur=(f=ur)+31&-32,ur=ur+16|0,ar[n>>2]=i,i=0|Yc(A,e,r,n),ur=f,0|i}function Yc(A,e,r,i){A|=0,e|=0,r|=0,i|=0;var f,n,t=0,o=0,a=0,c=0,l=0;for(l=ur=(n=ur)+31&-32,ur=ur+128|0,t=l+124|0,a=10804,f=(o=l)+124|0;ar[o>>2]=ar[a>>2],a=a+4|0,(0|(o=o+4|0))<(0|f););return 2147483646<(e+-1|0)>>>0?e?(ar[(e=10364)>>2]=75,e=-1):(A=t,e=1,c=4):c=4,4==(0|c)&&(c=(c=-2-A|0)>>>0<e>>>0?c:e,ar[l+48>>2]=c,ar[(t=l+20|0)>>2]=A,e=(ar[l+44>>2]=A)+c|0,ar[(A=l+16|0)>>2]=e,ar[l+28>>2]=e,e=0|Qc(l,r,i),c&&(l=0|ar[t>>2],tr[l+(((0|l)==(0|ar[A>>2]))<<31>>31)>>0]=0)),ur=n,0|e}function Qc(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0;for(k=ur=(t=ur)+31&-32,ur=ur+224|0,i=k+120|0,f=k+80|0,k=(n=k)+136|0,a=(o=f)+40|0;(0|(o=o+4|(ar[o>>2]=0)))<(0|a););return ar[i>>2]=ar[r>>2],r=(0|Dc(0,e,i,n,f))<0?-1:(d=-1<(0|ar[A+76>>2])?0|Jc():0,s=32&(r=0|ar[A>>2]),(0|tr[A+74>>0])<1&&(ar[A>>2]=-33&r),0|ar[(o=A+48|0)>>2]?r=0|Dc(A,e,i,n,f):(c=0|ar[(a=A+44|0)>>2],ar[a>>2]=k,ar[(l=A+28|0)>>2]=k,ar[(u=A+20|0)>>2]=k,ar[o>>2]=80,ar[(b=A+16|0)>>2]=k+80,r=0|Dc(A,e,i,n,f),c&&(xb[63&ar[A+36>>2]](A,0,0),r=0==(0|ar[u>>2])?-1:r,ar[a>>2]=c,ar[o>>2]=0,ar[b>>2]=0,ar[l>>2]=0,ar[u>>2]=0)),o=0|ar[A>>2],ar[A>>2]=o|s,0|d&&Mc(),0==(32&o|0)?r:-1),ur=t,0|r}function Dc(A,e,r,i,f){A|=0,e|=0,r|=0,i|=0,f|=0;var n,t,o,a,c,l,u,b,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0;W=ur=(b=ur)+31&-32,ur=ur+64|0,c=W+16|0,X=(l=W)+24|0,u=W+8|0,W=W+20|0,ar[c>>2]=e,n=0!=(0|A),o=t=X+40|0,X=X+39|0,a=4+u|0,v=s=d=0;A:for(;;){do{if(-1<(0|s)){if((2147483647-s|0)<(0|d)){ar[(s=10364)>>2]=75,s=-1;break}s=d+s|0;break}}while(0);if(!((d=0|tr[e>>0])<<24>>24)){E=87;break}k=e;e:for(;;){switch(d<<24>>24){case 37:d=k,E=9;break e;case 0:d=k;break e}B=k+1|0,ar[c>>2]=B,d=0|tr[B>>0],k=B}e:do{if(9==(0|E))for(;;){if(37!=((E=0)|tr[k+1>>0]))break e;if(d=d+1|0,k=k+2|0,ar[c>>2]=k,37!=(0|tr[k>>0]))break;E=9}}while(0);if(d=d-e|0,n&&Tc(A,e,d),0|d)e=k;else{(d=(0|tr[(h=k+1|0)>>0])-48|0)>>>0<10?(y=(B=36==(0|tr[k+2>>0]))?d:-1,v=B?1:v,h=B?k+3|0:h):y=-1,ar[c>>2]=h,k=((d=0|tr[h>>0])<<24>>24)-32|0;e:do{if(k>>>0<32)for(w=0,m=d;;){if(!(75913&(d=1<<k))){d=m;break e}if(w|=d,h=h+1|0,ar[c>>2]=h,32<=(k=((d=0|tr[h>>0])<<24>>24)-32|0)>>>0)break;m=d}else w=0}while(0);if(d<<24>>24==42){if((d=(0|tr[(k=h+1|0)>>0])-48|0)>>>0<10&&36==(0|tr[h+2>>0]))ar[f+(d<<2)>>2]=10,d=0|ar[i+((0|tr[k>>0])-48<<3)>>2],v=1,h=h+3|0;else{if(0|v){s=-1;break}h=(v=n?(v=3+(0|ar[r>>2])&-4,d=0|ar[v>>2],ar[r>>2]=v+4,0):d=0,k)}ar[c>>2]=h,d=(B=(0|d)<0)?0-d|0:d,w=B?8192|w:w}else{if((0|(d=0|Uc(c)))<0){s=-1;break}h=0|ar[c>>2]}do{if(46==(0|tr[h>>0])){if(42!=(0|tr[h+1>>0])){ar[c>>2]=h+1,k=0|Uc(c),h=0|ar[c>>2];break}if((k=(0|tr[(m=h+2|0)>>0])-48|0)>>>0<10&&36==(0|tr[h+3>>0])){ar[f+(k<<2)>>2]=10,k=0|ar[i+((0|tr[m>>0])-48<<3)>>2],h=h+4|0,ar[c>>2]=h;break}if(0|v){s=-1;break A}n?(B=3+(0|ar[r>>2])&-4,k=0|ar[B>>2],ar[r>>2]=B+4):k=0,h=ar[c>>2]=m}else k=-1}while(0);for(p=0;;){if(57<((0|tr[h>>0])-65|0)>>>0){s=-1;break A}if(B=h+1|0,ar[c>>2]=B,!(((g=255&(m=0|tr[(0|tr[h>>0])-65+(50202+(58*p|0))>>0]))+-1|0)>>>0<8))break;p=g,h=B}if(!(m<<24>>24)){s=-1;break}Z=-1<(0|y);do{if(m<<24>>24==19){if(Z){s=-1;break A}E=49}else{if(Z){ar[f+(y<<2)>>2]=g,y=0|ar[(Z=i+(y<<3)|0)+4>>2],ar[(E=l)>>2]=ar[Z>>2],ar[E+4>>2]=y,E=49;break}if(!n){s=0;break A}Sc(l,g,r)}}while(0);if(49!=(0|E)||(E=0,n)){h=0!=(0|p)&3==(15&(h=0|tr[h>>0])|0)?-33&h:h,Z=-65537&w,y=0==(8192&w|0)?w:Z;e:do{switch(0|h){case 110:switch((255&p)<<24>>24){case 0:case 1:ar[ar[l>>2]>>2]=s,d=0,e=B;continue A;case 2:d=0|ar[l>>2],ar[d>>2]=s,ar[d+4>>2]=((0|s)<0)<<31>>31,d=0,e=B;continue A;case 3:or[ar[l>>2]>>1]=s,d=0,e=B;continue A;case 4:tr[ar[l>>2]>>0]=s,d=0,e=B;continue A;case 6:ar[ar[l>>2]>>2]=s,d=0,e=B;continue A;case 7:d=0|ar[l>>2],ar[d>>2]=s,ar[d+4>>2]=((0|s)<0)<<31>>31,d=0,e=B;continue A;default:d=0,e=B;continue A}case 112:h=120,k=8<k>>>0?k:8,e=8|y,E=61;break;case 88:case 120:e=y,E=61;break;case 111:m=50666,k=(w=0)==(8&y|0)|(0|(Z=o-(g=0|zc(e=0|ar[(h=l)>>2],h=0|ar[h+4>>2],t))|0))<(0|k)?k:Z+1|0,Z=y,E=67;break;case 105:case 100:if(e=0|ar[(h=l)>>2],(0|(h=0|ar[h+4>>2]))<0){e=0|ob(0,0,0|e,0|h),h=D,ar[(w=l)>>2]=e,ar[w+4>>2]=h,w=1,m=50666,E=66;break e}w=0!=(2049&y|0)&1,m=0==(2048&y|0)?0==(1&y|0)?50666:50668:50667,E=66;break e;case 117:m=50666,e=(w=0)|ar[(h=l)>>2],h=0|ar[h+4>>2],E=66;break;case 99:tr[X>>0]=ar[l>>2],e=X,w=0,m=50666,g=t,h=1,k=Z;break;case 109:h=0|Hc(0|ar[(h=10364)>>2]),E=71;break;case 115:h=0|(h=0|ar[l>>2])?h:50676,E=71;break;case 67:ar[u>>2]=ar[l>>2],ar[a>>2]=0,g=-1,h=ar[l>>2]=u,E=75;break;case 83:e=0|ar[l>>2],E=k?(g=k,h=e,75):(xc(A,32,d,0,y),e=0,84);break;case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:d=0|Lc(A,+Q[l>>3],d,k,y,h),e=B;continue A;default:w=0,m=50666,g=t,h=k,k=y}}while(0);e:do{if(61==(0|E))g=0|Oc(p=0|ar[(y=l)>>2],y=0|ar[y+4>>2],t,32&h),w=(m=0==(8&e|0)|0==(0|p)&0==(0|y))?0:2,m=m?50666:50666+(h>>4)|0,Z=e,e=p,h=y,E=67;else if(66==(0|E))g=0|jc(e,h,t),Z=y,E=67;else if(71==(0|E))w=E=0,m=50666,g=(p=0==(0|(y=0|Rc(e=h,0,k))))?h+k|0:y,h=p?k:y-h|0,k=Z;else if(75==(0|E)){for(m=h,k=e=E=0;(w=0|ar[m>>2])&&!((0|(k=0|Pc(W,w)))<0|(g-e|0)>>>0<k>>>0)&&(e=k+e|0)>>>0<g>>>0;)m=m+4|0;if((0|k)<0){s=-1;break A}if(xc(A,32,d,e,y),e)for(w=0;;){if(!(k=0|ar[h>>2])){E=84;break e}if((0|e)<(0|(w=(k=0|Pc(W,k))+w|0))){E=84;break e}if(Tc(A,W,k),e>>>0<=w>>>0){E=84;break}h=h+4|0}else e=0,E=84}}while(0);if(67==(0|E))y=(E=0)!=(0|k)|(h=0!=(0|e)|0!=(0|h)),h=o-g+(1&(1^h))|0,e=y?g:t,g=t,h=!y||(0|h)<(0|k)?k:h,k=-1<(0|k)?-65537&Z:Z;else if(84==(0|E)){E=0,xc(A,32,d,e,8192^y),d=(0|e)<(0|d)?d:e,e=B;continue}xc(A,32,d=(0|d)<(0|(y=(Z=(0|h)<(0|(p=g-e|0))?p:h)+w|0))?y:d,y,k),Tc(A,m,w),xc(A,48,d,y,65536^k),xc(A,48,Z,p,0),Tc(A,e,p),xc(A,32,d,y,8192^k),e=B}else d=0,e=B}}A:do{if(87==(0|E)&&!A)if(v){for(s=1;e=0|ar[f+(s<<2)>>2];)if(Sc(i+(s<<3)|0,e,r),10<=(0|(s=s+1|0))){s=1;break A}for(;;){if(0|ar[f+(s<<2)>>2]){s=-1;break A}if(10<=(0|(s=s+1|0))){s=1;break}}}else s=0}while(0);return ur=b,0|s}function Jc(){return 0}function Mc(){0}function Tc(A,e,r){e|=0,r|=0,32&ar[(A|=0)>>2]||el(e,r,A)}function Uc(A){var e=0,r=0,i=0;if(r=0|ar[(A|=0)>>2],(i=(0|tr[r>>0])-48|0)>>>0<10)for(e=0;e=i+(10*e|0)|0,r=r+1|0,ar[A>>2]=r,(i=(0|tr[r>>0])-48|0)>>>0<10;);else e=0;return 0|e}function Sc(A,e,r){A|=0,e|=0,r|=0;var i=0,f=0,n=0;A:do{if(e>>>0<=20){switch(0|e){case 9:i=3+(0|ar[r>>2])&-4,e=0|ar[i>>2],ar[r>>2]=i+4,ar[A>>2]=e;break A;case 10:i=3+(0|ar[r>>2])&-4,e=0|ar[i>>2],ar[r>>2]=i+4,ar[(i=A)>>2]=e,ar[i+4>>2]=((0|e)<0)<<31>>31;break A;case 11:i=3+(0|ar[r>>2])&-4,e=0|ar[i>>2],ar[r>>2]=i+4,ar[(i=A)>>2]=e,ar[i+4>>2]=0;break A;case 12:i=7+(0|ar[r>>2])&-8,f=0|ar[(e=i)>>2],e=0|ar[e+4>>2],ar[r>>2]=i+8,ar[(i=A)>>2]=f,ar[i+4>>2]=e;break A;case 13:f=3+(0|ar[r>>2])&-4,i=0|ar[f>>2],ar[r>>2]=f+4,i=(65535&i)<<16>>16,ar[(f=A)>>2]=i,ar[f+4>>2]=((0|i)<0)<<31>>31;break A;case 14:f=3+(0|ar[r>>2])&-4,i=0|ar[f>>2],ar[r>>2]=f+4,ar[(f=A)>>2]=65535&i,ar[f+4>>2]=0;break A;case 15:f=3+(0|ar[r>>2])&-4,i=0|ar[f>>2],ar[r>>2]=f+4,i=(255&i)<<24>>24,ar[(f=A)>>2]=i,ar[f+4>>2]=((0|i)<0)<<31>>31;break A;case 16:f=3+(0|ar[r>>2])&-4,i=0|ar[f>>2],ar[r>>2]=f+4,ar[(f=A)>>2]=255&i,ar[f+4>>2]=0;break A;case 17:case 18:f=7+(0|ar[r>>2])&-8,n=+Q[f>>3],ar[r>>2]=f+8,Q[A>>3]=n;break A;default:break A}}}while(0)}function Oc(A,e,r,i){if(r|=0,i|=0,!(0==(0|(A|=0))&0==(0|(e|=0))))for(;tr[(r=r+-1|0)>>0]=0|cr[50714+(15&A)>>0]|i,!(0==(0|(A=0|sb(0|A,0|e,4)))&0==(0|(e=D))););return 0|r}function zc(A,e,r){if(r|=0,!(0==(0|(A|=0))&0==(0|(e|=0))))for(;tr[(r=r+-1|0)>>0]=7&A|48,!(0==(0|(A=0|sb(0|A,0|e,3)))&0==(0|(e=D))););return 0|r}function jc(A,e,r){r|=0;var i=0;if(0<(e|=0)>>>0|0==(0|e)&4294967295<(A|=0)>>>0){for(;i=0|ub(0|A,0|e,10,0),tr[(r=r+-1|0)>>0]=255&i|48,A=0|lb(0|(i=A),0|e,10,0),9<e>>>0|9==(0|e)&4294967295<i>>>0;)e=D;e=A}else e=A;if(e)for(;tr[(r=r+-1|0)>>0]=(e>>>0)%10|48,!(e>>>0<10);)e=(e>>>0)/10|0;return 0|r}function Hc(A){return 0|function(A,e){A|=0,e|=0;var r=0,i=0;i=0;for(;;){if((0|cr[50732+i>>0])==(0|A)){A=2;break}if(87==(0|(r=i+1|0))){r=50820,i=87,A=5;break}i=r}2==(0|A)&&(i?(r=50820,A=5):r=50820);if(5==(0|A))for(;;){for(;r=(A=r)+1|0,0!=(0|tr[A>>0]););if(!(i=i+-1|0))break;A=5}return 0|function(A,e){return 0|function(A,e){A|=0,e=(e|=0)?0|function(A,e,r){e|=0,r|=0;var i,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0;i=1794895138+(0|ar[(A|=0)>>2])|0,t=0|Al(0|ar[A+8>>2],i),f=0|Al(0|ar[A+12>>2],i),n=0|Al(0|ar[A+16>>2],i);A:do{if(t>>>0<e>>>2>>>0&&(b=e-(t<<2)|0,f>>>0<b>>>0&n>>>0<b>>>0)&&0==(3&(n|f)|0)){for(b=f>>>2,u=n>>>2,l=0;;){if(f=0|Al(0|ar[A+((n=(o=(c=l+(a=t>>>1)|0)<<1)+b|0)<<2)>>2],i),!((n=0|Al(0|ar[A+(n+1<<2)>>2],i))>>>0<e>>>0&f>>>0<(e-n|0)>>>0)){f=0;break A}if(0|tr[A+(n+f)>>0]){f=0;break A}if(!(f=0|Fc(r,A+n|0)))break;if(f=(0|f)<0,1==(0|t)){f=0;break A}l=f?l:c,t=f?a:t-a|0}n=0|Al(0|ar[A+((f=o+u|0)<<2)>>2],i),f=(f=0|Al(0|ar[A+(f+1<<2)>>2],i))>>>0<e>>>0&n>>>0<(e-f|0)>>>0&&0==(0|tr[A+(f+n)>>0])?A+f|0:0}else f=0}while(0);return 0|f}(0|ar[e>>2],0|ar[e+4>>2],A):0;return 0|(0|e?e:A)}(A|=0,e|=0)}(r,0|ar[e+20>>2])}(A|=0,0|ar[2622])}function xc(A,e,r,i,f){A|=0,e|=0;var n,t;if(n=ur=(t=ur)+31&-32,ur=ur+256|0,(0|(i|=0))<(0|(r|=0))&0==(73728&(f|=0)|0)){if(vb(0|n,0|e,0|((f=r-i|0)>>>0<256?f:256)),255<f>>>0){for(e=r-i|0;Tc(A,n,256),255<(f=f+-256|0)>>>0;);f=255&e}Tc(A,n,f)}ur=t}function Pc(A,e){return e|=0,0|(A=(A|=0)?0|$c(A,e):0)}function Lc(A,e,r,i,f,n){A|=0,e=+e,r|=0,i|=0,f|=0,n|=0;var t,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0;l=ur=(t=ur)+31&-32,ur=ur+560|0,c=l+8|0,W=I=(w=l)+524|0,X=(l=l+512|0)+12|(ar[w>>2]=0),Kc(e),y=(0|D)<0?(e=-e,B=1,50683):(B=0!=(2049&f|0)&1,0==(2048&f|0)?0==(1&f|0)?50684:50689:50686),Kc(e),E=2146435072&D;do{if(E>>>0<2146435072|2146435072==(0|E)&!1){if((o=0!=(d=2*qc(e,w)))&&(ar[w>>2]=(0|ar[w>>2])-1),97==(0|(m=32|n))){s=0==(0|(k=32&n))?y:y+9|0,b=2|B,o=12-i|0;do{if(!(11<i>>>0|0==(0|o))){for(e=8;e*=16,0!=(0|(o=o+-1|0)););if(45==(0|tr[s>>0])){e=-(e+(-d-e));break}e=d+e-e;break}e=d}while(0);for((0|(o=0|jc(o=(0|(a=0|ar[w>>2]))<0?0-a|0:a,((0|o)<0)<<31>>31,X)))==(0|X)&&(tr[(o=l+11|0)>>0]=48),tr[o+-1>>0]=43+(a>>31&2),tr[(u=o+-2|0)>>0]=n+15,l=(0|i)<1,c=0==(8&f|0),o=I;E=~~e,a=o+1|0,tr[o>>0]=cr[50714+E>>0]|k,e=16*(e-(0|E)),o=1!=(a-W|0)||c&l&0==e?a:(tr[a>>0]=46,o+2|0),0!=e;);E=o-W|0,xc(A,32,r,o=(W=X-u|0)+b+(X=0!=(0|i)&(E+-2|0)<(0|i)?i+2|0:E)|0,f),Tc(A,s,b),xc(A,48,r,o,65536^f),Tc(A,I,E),xc(A,48,X-E|0,0,0),Tc(A,u,W),xc(A,32,r,o,8192^f);break}for(a=(0|i)<0?6:i,o?(o=(0|ar[w>>2])-28|0,ar[w>>2]=o,e=268435456*d):(e=d,o=0|ar[w>>2]),c=E=(0|o)<0?c:c+288|0;Z=~~e>>>0,ar[c>>2]=Z,c=c+4|0,0!=(e=1e9*(e-(Z>>>0))););if(0<(0|o))for(l=E,b=c;;){if(u=(0|o)<29?o:29,l>>>0<=(o=b+-4|0)>>>0){for(c=0;v=0|ub(0|(g=0|tb(0|(g=0|db(0|ar[o>>2],0,0|u)),0|D,0|c,0)),0|(Z=D),1e9,0),ar[o>>2]=v,c=0|lb(0|g,0|Z,1e9,0),l>>>0<=(o=o+-4|0)>>>0;);c&&(ar[(l=l+-4|0)>>2]=c)}for(c=b;!(c>>>0<=l>>>0||0|ar[(o=c+-4|0)>>2]);)c=o;if(o=(0|ar[w>>2])-u|0,!(0<(0|(ar[w>>2]=o))))break;b=c}else l=E;if((0|o)<0){i=1+((a+25|0)/9|0)|0,h=102==(0|m);do{if(k=(0|(k=0-o|0))<9?k:9,l>>>0<c>>>0){for(u=(1<<k)-1|0,b=1e9>>>k,s=0,o=l;Z=0|ar[o>>2],ar[o>>2]=(Z>>>k)+s,s=0|br(Z&u,b),(o=o+4|0)>>>0<c>>>0;);o=0==(0|ar[l>>2])?l+4|0:l,o=s?(ar[c>>2]=s,l=o,c+4|0):(l=o,c)}else l=0==(0|ar[l>>2])?l+4|0:l,o=c;c=(0|i)<(o-(c=h?E:l)>>2|0)?c+(i<<2)|0:o,o=(0|ar[w>>2])+k|0,ar[w>>2]=o}while((0|o)<0);o=l,i=c}else o=l,i=c;if(Z=E,o>>>0<i>>>0){if(c=9*(Z-o>>2)|0,10<=(u=0|ar[o>>2])>>>0)for(l=10;c=c+1|0,(l=10*l|0)>>>0<=u>>>0;);}else c=0;if((0|(l=a-(102!=(0|m)?c:0)+(((v=0!=(0|a))&(h=103==(0|m)))<<31>>31)|0))<((9*(i-Z>>2)|0)-9|0)){if(k=E+4+(((0|(l=l+9216|0))/9|0)-1024<<2)|0,(0|(l=1+((0|l)%9|0)|0))<9)for(u=10;u=10*u|0,9!=(0|(l=l+1|0)););else u=10;if((l=(k+4|0)==(0|i))&0==(0|(s=((b=0|ar[k>>2])>>>0)%(u>>>0)|0)))l=k;else if(d=0==(1&((b>>>0)/(u>>>0)|0)|0)?9007199254740992:9007199254740994,e=s>>>0<(g=(0|u)/2|0)>>>0?.5:l&(0|s)==(0|g)?1:1.5,B&&(e=(g=45==(0|tr[y>>0]))?-e:e,d=g?-d:d),l=b-s|0,ar[k>>2]=l,d+e!=d){if(g=l+u|0,999999999<(ar[k>>2]=g)>>>0)for(c=k;(l=c+-4|0)>>>(ar[c>>2]=0)<o>>>0&&(ar[(o=o+-4|0)>>2]=0),g=1+(0|ar[l>>2])|0,999999999<(ar[l>>2]=g)>>>0;)c=l;else l=k;if(c=9*(Z-o>>2)|0,10<=(b=0|ar[o>>2])>>>0)for(u=10;c=c+1|0,(u=10*u|0)>>>0<=b>>>0;);}else l=k;l=(l=l+4|0)>>>0<i>>>0?l:i,g=o}else l=i,g=o;for(m=l;;){if(m>>>0<=g>>>0){w=0;break}if(0|ar[(o=m+-4|0)>>2]){w=1;break}m=o}i=0-c|0;do{if(h){if(a=(0|c)<(0|(o=(1&(1^v))+a|0))&-5<(0|c)?(u=n+-1|0,o+-1-c|0):(u=n+-2|0,o+-1|0),!(o=8&f)){if(w&&0!=(0|(p=0|ar[m+-4>>2])))if((p>>>0)%10|0)l=0;else for(l=0,o=10;l=l+1|0,!((p>>>0)%((o=10*o|0)>>>0)|0););else l=9;if(o=(9*(m-Z>>2)|0)-9|0,102==(32|u)){a=(0|a)<(0|(k=0<(0|(k=o-l|0))?k:0))?a:k,k=0;break}a=(0|a)<(0|(k=0<(0|(k=o+c-l|0))?k:0))?a:k,k=0;break}k=o}else u=n,k=8&f}while(0);if(b=0!=(0|(h=a|k))&1,s=102==(32|u))o=(v=0)<(0|c)?c:0;else{if(((l=X)-(o=0|jc(o=(0|c)<0?i:c,((0|o)<0)<<31>>31,X))|0)<2)for(;tr[(o=o+-1|0)>>0]=48,(l-o|0)<2;);tr[o+-1>>0]=43+(c>>31&2),tr[(o=o+-2|0)>>0]=u,o=l-(v=o)|0}if(xc(A,32,r,o=B+1+a+b+o|0,f),Tc(A,y,B),xc(A,48,r,o,65536^f),s){b=k=I+9|0,s=I+8|0,l=u=E>>>0<g>>>0?E:g;do{if(c=0|jc(0|ar[l>>2],0,k),(0|l)==(0|u))(0|c)==(0|k)&&(tr[s>>0]=48,c=s);else if(I>>>0<c>>>0)for(vb(0|I,48,c-W|0);I>>>0<(c=c+-1|0)>>>0;);Tc(A,c,b-c|0),l=l+4|0}while(l>>>0<=E>>>0);if(0|h&&Tc(A,50730,1),l>>>0<m>>>0&0<(0|a))for(;;){if(I>>>0<(c=0|jc(0|ar[l>>2],0,k))>>>0)for(vb(0|I,48,c-W|0);I>>>0<(c=c+-1|0)>>>0;);if(Tc(A,c,(0|a)<9?a:9),c=a+-9|0,!((l=l+4|0)>>>0<m>>>0&9<(0|a))){a=c;break}a=c}xc(A,48,a+9|0,9,0)}else{if(h=w?m:g+4|0,-1<(0|a)){k=0==(0|k),i=w=I+9|0,b=0-W|0,s=I+8|0,u=g;do{(0|(c=0|jc(0|ar[u>>2],0,w)))==(0|w)&&(tr[s>>0]=48,c=s);do{if((0|u)==(0|g)){if(l=c+1|0,Tc(A,c,1),k&(0|a)<1){c=l;break}Tc(A,50730,1),c=l}else{if(c>>>0<=I>>>0)break;for(vb(0|I,48,c+b|0);I>>>0<(c=c+-1|0)>>>0;);}}while(0);Tc(A,c,(0|(W=i-c|0))<(0|a)?W:a),a=a-W|0,u=u+4|0}while(u>>>0<h>>>0&-1<(0|a))}xc(A,48,a+18|0,18,0),Tc(A,v,X-v|0)}xc(A,32,r,o,8192^f)}else I=0!=(32&n|0),xc(A,32,r,o=B+3|0,-65537&f),Tc(A,y,B),Tc(A,e!=e|!1?I?52899:50710:I?50702:50706,3),xc(A,32,r,o,8192^f)}while(0);return ur=t,0|((0|o)<(0|r)?r:o)}function Kc(A){A=+A;var e;return Q[d>>3]=A,e=0|ar[d>>2],D=0|ar[d+4>>2],0|e}function qc(A,e){return+ +function A(e,r){e=+e;r|=0;var i=0,f=0,n=0;Q[d>>3]=e;i=0|ar[d>>2];f=0|ar[d+4>>2];n=0|sb(0|i,0|f,52);switch(2047&n){case 0:i=0!=e?(e=+A(0x10000000000000000*e,r),(0|ar[r>>2])-64|0):0,ar[r>>2]=i;break;case 2047:break;default:ar[r>>2]=(2047&n)-1022,ar[d>>2]=i,ar[d+4>>2]=-2146435073&f|1071644672,e=+Q[d>>3]}return+e}(A=+A,e|=0)}function $c(A,e){A|=0,e|=0;do{if(A){if(e>>>0<128){tr[A>>0]=e,A=1;break}if(!(0|ar[ar[10488>>2]>>2])){if(57216==(-128&e|0)){tr[A>>0]=e,A=1;break}ar[(A=10364)>>2]=84,A=-1;break}if(e>>>0<2048){tr[A>>0]=e>>>6|192,tr[A+1>>0]=63&e|128,A=2;break}if(e>>>0<55296|57344==(-8192&e|0)){tr[A>>0]=e>>>12|224,tr[A+1>>0]=e>>>6&63|128,tr[A+2>>0]=63&e|128,A=3;break}if((e+-65536|0)>>>0<1048576){tr[A>>0]=e>>>18|240,tr[A+1>>0]=e>>>12&63|128,tr[A+2>>0]=e>>>6&63|128,tr[A+3>>0]=63&e|128,A=4;break}ar[(A=10364)>>2]=84,A=-1;break}A=1}while(0);return 0|A}function Al(A,e){var r;return r=0|kb(0|(A|=0)),0|(0==(0|(e|=0))?A:r)}function el(A,e,r){A|=0,e|=0;var i=0,f=0,n=0,t=0,o=0;(f=0|ar[(i=(r|=0)+16|0)>>2])?n=5:0|rl(r)?i=0:(f=0|ar[i>>2],n=5);A:do{if(5==(0|n)){if((f-(i=t=0|ar[(o=r+20|0)>>2])|0)>>>0<e>>>0){i=0|xb[63&ar[r+36>>2]](r,A,e);break}e:do{if(-1<(0|tr[r+75>>0])){for(t=e;;){if(!t){n=0,f=A;break e}if(10==(0|tr[A+(f=t+-1|0)>>0]))break;t=f}if((i=0|xb[63&ar[r+36>>2]](r,A,t))>>>0<t>>>0)break A;f=A+(n=t)|0,e=e-t|0,i=0|ar[o>>2]}else n=0,f=A}while(0);hb(0|i,0|f,0|e),ar[o>>2]=(0|ar[o>>2])+e,i=n+e|0}}while(0);return 0|i}function rl(A){var e=0,r=0;return r=0|tr[(e=(A|=0)+74|0)>>0],tr[e>>0]=r+255|r,0|(A=8&(e=0|ar[A>>2])?(ar[A>>2]=32|e,-1):(ar[A+8>>2]=0,r=(ar[A+4>>2]=0)|ar[A+44>>2],ar[A+28>>2]=r,ar[A+20>>2]=r,ar[A+16>>2]=r+(0|ar[A+48>>2]),0))}function il(A,e,r){var i,f,n;return 0|(0|(i=A|=0,f=e|=0,n=r|=0,0|(n=0|fl(i|=0,f|=0,n|=0,-1,-1))))}function fl(A,e,r,i,f){A|=0,e|=0,r|=0,i|=0,f|=0;var n,t,o,a;return t=ur=(a=ur)+31&-32,ur=ur+128|0,ar[t>>2]=0,ar[(o=4+t|0)>>2]=A,ar[44+t>>2]=A,ar[(n=8+t|0)>>2]=(0|A)<0?-1:A+2147483647|0,ar[76+t>>2]=-1,nl(t,0),r=0|wi(t,r,1,i,f),0|e&&(ar[e>>2]=A+((0|ar[o>>2])+(0|ar[108+t>>2])-(0|ar[n>>2]))),ur=a,0|r}function nl(A,e){e|=0;var r,i,f;ar[(A|=0)+104>>2]=e,f=(r=0|ar[A+8>>2])-(i=0|ar[A+4>>2])|0,ar[A+108>>2]=f,ar[A+100>>2]=0!=(0|e)&(0|e)<(0|f)?i+e|0:r}function tl(A){switch(0|(A|=0)){case 15:case 13:case 11:return 0|(A=1);case 14:case 12:case 10:case 3:case 2:case 1:case 0:case 99:return(A=0)|A;default:sr(55739,25597,495,25802)}return 0}function ol(A,e,r,i){A|=0,e|=0,i|=0;var f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0;if(!(r|=0))return t=0|ar[e>>2],(f=0|ar[e+4>>2])||(A=0|X(4),ar[A>>2]=17536,I(0|A,3920,421)),(n=0|function(A){var e,r=0,i=0;r=0|ar[(e=4+(A|=0)|0)>>2];for(;;){if(-1==(0|r)){A=0;break}if((0|(i=0|ar[e>>2]))==(0|r)&&(ar[e>>2]=r+1),(0|i)==(0|r))break;r=i}return 0|A}(f))||(A=0|X(4),ar[A>>2]=17536,I(0|A,3920,421)),ar[i>>2]=t,f=0|ar[(e=i+4|0)>>2],ar[e>>2]=n,0|f&&du(f),Z=0|ar[(g=56592)+4>>2],ar[(e=A)>>2]=ar[g>>2],ar[e+4>>2]=Z,void yu(A+8|0,56600);switch(f=0|ar[e+24>>2],n=0|ar[e+28>>2],g=90==(0|r),Z=270==(0|r),0|r){case 90:case 270:l=n;break;default:l=f,f=n}o=0|hu(80),ar[o+4>>2]=0,ar[o+8>>2]=0,ar[o>>2]=6208,ar[(n=o+12|0)>>2]=0,ar[n+4>>2]=0,ar[n+8>>2]=0,ar[n+12>>2]=0,ar[n+16>>2]=0,ar[o+32>>2]=32215,ar[o+36>>2]=0,ar[o+40>>2]=0,ar[o+44>>2]=99,ar[o+48>>2]=99,c=o+52|0,ar[(a=o+72|0)>>2]=0,ar[o+76>>2]=0,ar[c>>2]=0,ar[c+4>>2]=0,ar[c+8>>2]=0,ar[c+12>>2]=0,ar[o+68>>2]=a,a=n,m=(c=o)+16|0,bu(o),su(o),t=0|ar[m>>2],ar[n>>2]=a,ar[m>>2]=c,0|t&&ku(t),du(o),ar[i>>2]=a,t=0|ar[(m=i+4|0)>>2],ar[m>>2]=c,t?(du(t),n=0|ar[(m=i)>>2]):m=i,v=0|ar[e+32>>2],w=0|ar[e+36>>2],ar[n+24>>2]=l,ar[n+28>>2]=f,ar[n+32>>2]=v,ar[n+36>>2]=w,f=0|ar[e+56>>2],w=e+60|0;A:do{if((0|f)!=(0|w))for(v=180==(0|r),h=f;;){switch(c=0|ar[h+16>>2],f=0|ar[(o=h+24|0)>>2],n=0|ar[(a=h+28|0)>>2],0|r){case 90:case 270:t=f,f=n;break;default:t=n}if(l=h+20|0,Bo(0|ar[m>>2],c,f,t,0|cr[l>>0]),k=0|ar[o>>2],b=0|ar[a>>2],s=0|ar[h+48>>2],d=0|ar[h+40>>2],o=60+(0|ar[m>>2])|0,n=0|ar[o>>2]){f=o;e:for(;;){for(t=n;!((0|ar[t+16>>2])>=(0|c));){if(!(n=0|ar[t+4>>2]))break e;t=n}if(!(n=0|ar[t>>2])){f=t;break}f=t}i=(0|f)!=(0|o)&&(0|ar[f+16>>2])<=(0|c)?(u=0|ar[f+40>>2],0|ar[f+48>>2]):u=0}else i=u=0;f=0<(0|b);e:do{if(8==(0|tr[l>>0])){if(Z){if(!f)break;if(t=b+-1|0,!(0<(0|k)))break;for(n=0;;){for(o=0|br(t-n|0,s),f=0;l=u+((0|br(f,i))+n)|0,tr[l>>0]=0|tr[d+(f+o)>>0],(0|(f=f+1|0))!=(0|k););if((0|(n=n+1|0))==(0|b))break e}}if(v){if(!f)break;if(t=b+-1|0,o=k+-1|0,!(0<(0|k)))break;n=0;do{for(a=o+(0|br(t-n|0,s))|0,c=0|br(n,i),f=0;tr[u+(f+c)>>0]=0|tr[d+(a-f)>>0],(0|(f=f+1|0))!=(0|k););n=n+1|0}while((0|n)!=(0|b))}else{if(!(g&f))break;if(t=k+-1|0,!(0<(0|k)))break;n=0;do{for(o=t+(0|br(n,s))|0,f=0;l=u+((0|br(f,i))+n)|0,tr[l>>0]=0|tr[d+(o-f)>>0],(0|(f=f+1|0))!=(0|k););n=n+1|0}while((0|n)!=(0|b))}}else{if(Z){if(!f)break;if(t=b+-1|0,!(0<(0|k)))break;for(n=0;;){for(o=0|br(t-n|0,s),a=n<<1,f=0;c=(f<<1)+o|0,l=(0|br(f,i))+a|0,tr[u+l>>0]=0|tr[d+c>>0],tr[u+(l+1)>>0]=0|tr[d+(c+1)>>0],(0|(f=f+1|0))!=(0|k););if((0|(n=n+1|0))==(0|b))break e}}if(v){if(!f)break;if(t=b+-1|0,o=k+-1|0,!(0<(0|k)))break;n=0;do{for(a=0|br(t-n|0,s),c=0|br(n,i),f=0;p=(o-f<<1)+a|0,tr[u+(l=(f<<1)+c|0)>>0]=0|tr[d+p>>0],tr[u+(l+1)>>0]=0|tr[d+(p+1)>>0],(0|(f=f+1|0))!=(0|k););n=n+1|0}while((0|n)!=(0|b))}else{if(!(g&f))break;if(t=k+-1|0,!(0<(0|k)))break;f=0;do{for(o=0|br(f,s),a=f<<1,n=0;l=(t-n<<1)+o|0,p=(0|br(n,i))+a|0,tr[u+p>>0]=0|tr[d+l>>0],tr[u+(p+1)>>0]=0|tr[d+(l+1)>>0],(0|(n=n+1|0))!=(0|k););f=f+1|0}while((0|f)!=(0|b))}}}while(0);if(f=0|ar[h+4>>2])for(;n=0|ar[f>>2];)f=n;else if(f=0|ar[(n=h+8|0)>>2],(0|ar[f>>2])!=(0|h))for(;p=0|ar[n>>2],f=0|ar[(n=p+8|0)>>2],(0|ar[f>>2])!=(0|p););if((0|f)==(0|w))break A;h=f}}while(0);f=0|ar[m>>2],n=0|ar[e+40>>2],(o=0==(0|(t=0|ar[e+44>>2])))||(bu(t),bu(t)),ar[f+40>>2]=n,f=0|ar[(p=f+44|0)>>2],ar[p>>2]=t,0|f&&du(f),o||du(t),f=0|ar[m>>2],n=0|ar[e+48>>2],(o=0==(0|(t=0|ar[e+52>>2])))||(bu(t),bu(t)),ar[f+48>>2]=n,f=0|ar[(p=f+52|0)>>2],ar[p>>2]=t,0|f&&du(f),o||du(t),e=0|ar[(Z=56592)+4>>2],ar[(p=A)>>2]=ar[Z>>2],ar[p+4>>2]=e,yu(A+8|0,56600)}function al(A,e,r){A|=0,r|=0;var i,f,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0;ur=(f=ur)+16|0,w=f,n=0|ar[(e|=0)+56>>2],i=e+60|0;A:do{if((0|n)!=(0|i)){for(;8==(0|tr[n+20>>0]);){if(c=0|ar[n+24>>2],l=0|ar[n+28>>2],b=0|ar[n+48>>2],s=0|ar[n+40>>2],r){if(0<(0|l)&&(k=(0|c)/2|0,h=c+-1|0,1<(0|c))){t=0;do{for(a=h+(o=0|br(t,b))|0,e=0;u=s+(a-e)|0,c=0|tr[(v=s+(e+o)|0)>>0],tr[v>>0]=0|tr[u>>0],tr[u>>0]=c,(0|(e=e+1|0))<(0|k););t=t+1|0}while((0|t)!=(0|l))}}else if(u=(0|l)/2|0,1<(0|l)&&(d=l+-1|0,0<(0|c))){e=0;do{for(o=0|br(e,b),a=0|br(d-e|0,b),t=0;v=s+(t+a)|0,l=0|tr[(m=s+(t+o)|0)>>0],tr[m>>0]=0|tr[v>>0],tr[v>>0]=l,(0|(t=t+1|0))!=(0|c););e=e+1|0}while((0|e)<(0|u))}if(e=0|ar[n+4>>2])for(;n=0|ar[e>>2];)e=n;else if(e=0|ar[(t=n+8|0)>>2],(0|ar[e>>2])!=(0|n))for(n=t;m=0|ar[n>>2],e=0|ar[(n=m+8|0)>>2],(0|ar[e>>2])!=(0|m););if((0|e)==(0|i))break A;n=e}for(e=0|hu(64),ar[w>>2]=e,ar[w+8>>2]=-2147483584,t=25898,o=(n=e)+(ar[w+4>>2]=54)|0;tr[n>>0]=0|tr[t>>0],t=t+1|0,(0|(n=n+1|0))<(0|o););return(oo(A,4,tr[e+54>>0]=0,w),0<=(0|tr[w+11>>0]))?void(ur=f):(vu(0|ar[w>>2]),void(ur=f))}}while(0);v=0|ar[(w=56592)+4>>2],ar[(m=A)>>2]=ar[w>>2],ar[m+4>>2]=v,yu(A+8|0,56600),ur=f}function cl(A,e,r,i,f,n,t){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0;var o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0;if(l=0|hu(80),ar[l+4>>2]=0,ar[l+8>>2]=0,ar[l>>2]=6208,ar[(o=l+12|0)>>2]=0,ar[o+4>>2]=0,ar[o+8>>2]=0,ar[o+12>>2]=0,ar[o+16>>2]=0,ar[l+32>>2]=32215,ar[l+36>>2]=0,ar[l+40>>2]=0,ar[l+44>>2]=99,ar[l+48>>2]=99,u=l+52|0,ar[(c=l+72|0)>>2]=0,ar[l+76>>2]=0,ar[u>>2]=0,ar[u+4>>2]=0,ar[u+8>>2]=0,ar[u+12>>2]=0,ar[l+68>>2]=c,c=o,p=(u=l)+16|0,bu(l),su(l),a=0|ar[p>>2],ar[o>>2]=c,ar[p>>2]=u,0|a&&ku(a),du(l),ar[t>>2]=c,a=0|ar[(p=t+4|0)>>2],ar[p>>2]=u,a?(du(a),o=0|ar[(p=t)>>2]):p=t,Z=0|ar[e+32>>2],m=0|ar[e+36>>2],ar[o+24>>2]=1-r+i,ar[o+28>>2]=1-f+n,ar[o+32>>2]=Z,ar[o+36>>2]=m,(0|(o=0|ar[e+56>>2]))!=(0|(m=e+60|0)))for(g=e+24|0,Z=e+28|0,v=o;;){if(u=0|ar[v+16>>2],h=0|ar[v+24>>2],t=0|ar[v+28>>2],b=(0|(b=0|br(h,r)))/(0|(s=0|ar[g>>2]))|0,s=(0|br(h,i))/(0|s)|0,h=(0|(h=0|br(t,f)))/(0|(w=0|ar[Z>>2]))|0,w=(0|br(t,n))/(0|w)|0,s=s-b+1|0,t=v+20|0,Bo(0|ar[p>>2],u,s,1-h+w|0,0|cr[t>>0]),d=0|ar[v+48>>2],k=0|ar[v+40>>2],l=60+(0|ar[p>>2])|0,a=0|ar[l>>2]){o=l;A:for(;;){for(c=a;!((0|ar[c+16>>2])>=(0|u));){if(!(a=0|ar[c+4>>2]))break A;c=a}if(!(a=0|ar[c>>2])){o=c;break}o=c}l=(0|o)!=(0|l)&&(0|ar[o+16>>2])<=(0|u)?(u=0|ar[o+40>>2],0|ar[o+48>>2]):u=0}else l=u=0;if(o=(0|w)<(0|h),8==(0|tr[t>>0])){if(!o)for(o=h;hb(u+(0|br(o-h|0,l))|0,k+((0|br(o,d))+b)|0,0|s),(0|o)<(0|w);)o=o+1|0}else if(!o)for(c=b<<1,a=s<<1,o=h;hb(u+(0|br(o-h|0,l))|0,k+((0|br(o,d))+c)|0,0|a),(0|o)<(0|w);)o=o+1|0;if(o=0|ar[v+4>>2])for(;a=0|ar[o>>2];)o=a;else if(o=0|ar[(a=v+8|0)>>2],(0|ar[o>>2])!=(0|v))for(;v=0|ar[a>>2],o=0|ar[(a=v+8|0)>>2],(0|ar[o>>2])!=(0|v););if((0|o)==(0|m))break;v=o}if(o=0|ar[p>>2],a=0|ar[e+40>>2],(l=0==(0|(c=0|ar[e+44>>2])))||(bu(c),bu(c)),ar[o+40>>2]=a,o=0|ar[(n=o+44|0)>>2],ar[n>>2]=c,0|o&&du(o),l||du(c),o=0|ar[p>>2],a=0|ar[e+48>>2],(l=0==(0|(c=0|ar[e+52>>2])))||(bu(c),bu(c)),ar[o+48>>2]=a,o=0|ar[(e=o+52|0)>>2],ar[e>>2]=c,0|o&&du(o),l)return i=0|ar[(i=n=56592)>>2],n=0|ar[(n=n+4|0)>>2],ar[(f=e=A)>>2]=i,ar[(e=e+4|0)>>2]=n,void yu(A=A+8|0,56600);du(c),i=0|ar[(i=n=56592)>>2],n=0|ar[(n=n+4|0)>>2],ar[(f=e=A)>>2]=i,ar[(e=e+4|0)>>2]=n,yu(A=A+8|0,56600)}function ll(A,e,r,i,f,n){A|=0;var t,o,a,c,l,u,b=0,s=0,d=0,k=0;ur=(u=ur)+32|0,s=u+12|0,k=u,l=(e|=0)+60|0,c=(65535&(i|=0))>>>8&255,a=(65535&(r|=0))>>>8&255,o=(65535&(f|=0))>>>8&255,t=(65535&(n|=0))>>>8&255,n=6228;A:for(;;){if(e=0|ar[l>>2],b=0|ar[n>>2],e){r=l,i=e;e:for(;;){for(e=i;!((0|ar[e+16>>2])>=(0|b));)if(!(e=0|ar[e+4>>2])){e=r;break e}if(!(i=0|ar[e>>2]))break;r=e}if((0|e)!=(0|l)&&(0|b)>=(0|ar[e+16>>2])){if(8!=(0|tr[e+20>>0])){d=13;break}switch(r=0|ar[e+28>>2],f=0|ar[e+48>>2],i=0|ar[e+40>>2],0|b){case 3:e=a;break;case 4:e=c;break;case 5:e=o;break;case 6:e=t;break;default:d=19;break A}vb(0|i,0|e,0|br(f,r))}else d=9}else d=9;if(9==(0|d)&&6!=((d=0)|b)){d=10;break}if(6244==(0|(n=n+4|0))){d=22;break}}if(10==(0|d))return ar[s>>2]=0,ar[s+4>>2]=0,ar[s+8>>2]=0,oo(A,5,2002,s),0<=(0|tr[s+11>>0])||vu(0|ar[s>>2]),void(ur=u);if(13==(0|d)){for(e=0|hu(64),ar[k>>2]=e,ar[k+8>>2]=-2147483584,r=25953,f=(i=e)+(ar[k+4>>2]=52)|0;tr[i>>0]=0|tr[r>>0],r=r+1|0,(0|(i=i+1|0))<(0|f););return(oo(A,4,tr[e+52>>0]=0,k),0<=(0|tr[k+11>>0]))?void(ur=u):(vu(0|ar[k>>2]),void(ur=u))}if(19==(0|d))sr(55739,25597,756,26006);else if(22==(0|d))return d=0|ar[(s=56592)+4>>2],ar[(k=A)>>2]=ar[s>>2],ar[k+4>>2]=d,yu(A+8|0,56600),void(ur=u)}function ul(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t,o,a,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0;if(ur=(a=ur)+48|0,W=a+12|0,Io(o=(I=a)+24|0,0|ar[(r|=0)>>2]),k=60+(0|ar[r>>2])|0,s=0==(0|(u=0|ar[k>>2])))d=8;else{c=k,b=u;A:for(;;){for(l=b;!(6<=(0|ar[l+16>>2]));)if(!(l=0|ar[l+4>>2]))break A;if(!(b=0|ar[l>>2])){c=l;break}c=l}(0|c)!=(0|k)&&(0|ar[c+16>>2])<=6||(d=8)}if(8==(0|d)&&(c=k),t=(0|c)==(0|k),s)X=0;else{c=k;A:for(;;){for(l=u;!(6<=(0|ar[l+16>>2]));)if(!(l=0|ar[l+4>>2]))break A;if(!(u=0|ar[l>>2])){c=l;break}c=l}X=(0|c)!=(0|k)&&(0|ar[c+16>>2])<=6?0|ar[c+40>>2]:0}c=0|ar[o>>2],n=4+o|0;A:do{if((0|c)!=(0|n)){E=e+60|0,y=(B=(0|i)<0)?0-i|0:0,B=B?0:i,p=(0|f)<0?0-f|0:0,Z=c;e:for(;;){v=0|ar[Z+16>>2],h=0|ar[E>>2];r:do{if(0|h){c=E,u=h;i:for(;;){for(l=u;!((0|ar[l+16>>2])>=(0|v));)if(!(l=0|ar[l+4>>2]))break i;if(!(u=0|ar[l>>2])){c=l;break}c=l}if((0|c)!=(0|E)&&(0|ar[c+16>>2])<=(0|v)){if(k=60+(0|ar[r>>2])|0,b=0==(0|(s=0|ar[k>>2])))g=m=0;else{c=k,u=s;i:for(;;){for(l=u;!((0|ar[l+16>>2])>=(0|v));)if(!(l=0|ar[l+4>>2]))break i;if(!(u=0|ar[l>>2])){c=l;break}c=l}g=(0|c)!=(0|k)&&(0|ar[c+16>>2])<=(0|v)?(m=0|ar[c+40>>2],0|ar[c+48>>2]):m=0}c=E,u=h;i:for(;;){for(l=u;!((0|ar[l+16>>2])>=(0|v));)if(!(l=0|ar[l+4>>2]))break i;if(!(u=0|ar[l>>2])){c=l;break}c=l}if(e=(0|c)!=(0|E)&&(0|ar[c+16>>2])<=(0|v)?(w=0|ar[c+48>>2],0|ar[c+40>>2]):w=0,b){d=59;break e}c=k,u=s;i:for(;;){for(l=u;!((0|ar[l+16>>2])>=(0|v));)if(!(l=0|ar[l+4>>2]))break i;if(!(u=0|ar[l>>2])){c=l;break}c=l}if(d=(0|c)!=(0|k)&&(0|ar[c+16>>2])<=(0|v)?0|ar[c+24>>2]:-1,b)s=-1;else{c=k,u=s;i:for(;;){for(l=u;!((0|ar[l+16>>2])>=(0|v));)if(!(l=0|ar[l+4>>2]))break i;if(!(u=0|ar[l>>2])){c=l;break}c=l}s=(0|c)!=(0|k)&&(0|ar[c+16>>2])<=(0|v)?0|ar[c+28>>2]:-1}if((0|d)<=-1){d=59;break e}if(!(-1<(0|s))){d=61;break e}c=E,u=h;i:for(;;){for(l=u;!((0|ar[l+16>>2])>=(0|v));)if(!(l=0|ar[l+4>>2]))break i;if(!(u=0|ar[l>>2])){c=l;break}c=l}b=(0|c)!=(0|E)&&(0|ar[c+16>>2])<=(0|v)?0|ar[c+24>>2]:-1,c=E,u=h;i:for(;;){for(l=u;!((0|ar[l+16>>2])>=(0|v));)if(!(l=0|ar[l+4>>2]))break i;if(!(u=0|ar[l>>2])){c=l;break}c=l}if(c=(0|c)!=(0|E)&&(0|ar[c+16>>2])<=(0|v)?0|ar[c+28>>2]:-1,(0|b)<=-1){d=78;break e}if((0|c)<=-1){d=80;break e}if(((s=(0|c)<(s+f|0)?c-f|0:s)|(d=(0|b)<(d+i|0)?b-i|0:d)|0)<0){d=82;break e}if(!((0|y)<(0|d)&(0|p)<(0|s))){d=90;break e}if(l=e+B|0,u=m+y|0,b=d-y|0,t){for(c=p;;)if(hb(l+(0|br(c+f|0,w))|0,u+(0|br(c,g))|0,0|b),(0|s)<=(0|(c=c+1|0)))break r}else l=p;do{for(u=(0|br(l+f|0,w))+B|0,b=(0|br(l,g))+y|0,c=y;v=e+(u+c)|0,k=0|cr[X+(h=b+c|0)>>0],h=0|br(k,0|cr[m+h>>0]),h=255&((((0|br(0|cr[v>>0],255^k))+h|0)>>>0)/255|0),tr[v>>0]=h,(0|(c=c+1|0))<(0|d););l=l+1|0}while((0|l)<(0|s))}}}while(0);if(c=0|ar[Z+4>>2])for(;l=0|ar[c>>2];)c=l;else if(c=0|ar[(l=Z+8|0)>>2],(0|ar[c>>2])!=(0|Z))for(;Z=0|ar[l>>2],c=0|ar[(l=Z+8|0)>>2],(0|ar[c>>2])!=(0|Z););if((0|c)==(0|n))break A;Z=c}if(59==(0|d))sr(26021,25597,795,26031);else if(61==(0|d))sr(26039,25597,796,26031);else if(78==(0|d))sr(26049,25597,800,26031);else if(80==(0|d))sr(26060,25597,801,26031);else{if(82==(0|d)){for(ar[W>>2]=0,ar[W+4>>2]=0,c=(ar[W+8>>2]=0)|hu(64),ar[W>>2]=c,ar[W+8>>2]=-2147483584,u=26071,b=(l=c)+(ar[W+4>>2]=54)|0;tr[l>>0]=0|tr[u>>0],u=u+1|0,(0|(l=l+1|0))<(0|b););return(tr[c+54>>0]=0,oo(A,2,122,W),0<=(0|tr[W+11>>0]))?(Co(o,A=0|ar[n>>2]),void(ur=a)):(vu(0|ar[W>>2]),Co(o,A=0|ar[n>>2]),void(ur=a))}if(90==(0|d)){for(ar[I>>2]=0,ar[I+4>>2]=0,c=(ar[I+8>>2]=0)|hu(64),ar[I>>2]=c,ar[I+8>>2]=-2147483584,u=26126,b=(l=c)+(ar[I+4>>2]=50)|0;tr[l>>0]=0|tr[u>>0],u=u+1|0,(0|(l=l+1|0))<(0|b););return(tr[c+50>>0]=0,oo(A,2,122,I),0<=(0|tr[I+11>>0]))?(Co(o,A=0|ar[n>>2]),void(ur=a)):(vu(0|ar[I>>2]),Co(o,A=0|ar[n>>2]),void(ur=a))}}}}while(0);W=0|ar[(f=56592)+4>>2],ar[(I=A)>>2]=ar[f>>2],ar[I+4>>2]=W,yu(A+8|0,56600),Co(o,A=0|ar[n>>2]),ur=a}function bl(A,e,r){e|=0,r|=0;var i,f;ur=(i=ur)+16|0,f=i,A=0|ar[(A|=0)>>2],e=0|tA(0|e),ar[f>>2]=ar[r>>2],r=0|cA(4144,0|f),aA(0|A,0|e,0|r),iA(0|r),iA(0|e),ur=i}function sl(A,e){e|=0;var r,i,f,n=0,t=0;if(ar[(A|=0)>>2]=0,ar[(f=A+4|0)>>2]=0,(r=(n=((ar[A+8>>2]=0)|ar[(i=e+4|0)>>2])-(0|ar[e>>2])|0)>>3)&&(536870911<r>>>0&&zl(),t=0|hu(n),ar[f>>2]=t,ar[A>>2]=t,ar[A+8>>2]=t+(r<<3),(0|(n=0|ar[e>>2]))!=(0|(e=0|ar[i>>2]))))for(;ar[t>>2]=ar[n>>2],A=0|ar[n+4>>2],0|(ar[t+4>>2]=A)&&bu(A),n=n+8|0,t=8+(0|ar[f>>2])|0,ar[f>>2]=t,(0|n)!=(0|e););}function dl(A,e,r){e|=0,r|=0;var i,f;ur=(i=ur)+16|0,f=i,A=0|ar[(A|=0)>>2],ar[f>>2]=ar[e>>2],e=0|cA(4144,0|f),ar[f>>2]=ar[r>>2],r=0|cA(4152,0|f),aA(0|A,0|e,0|r),iA(0|r),iA(0|e),ur=i}function kl(A,e){e|=0;var r,i,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0;f=0|ar[(u=(A|=0)+4|0)>>2],c=n=0|ar[A>>2],536870911<(t=1+(r=f-n>>3)|0)>>>0&&zl(),o=(l=(0|ar[(i=A+8|0)>>2])-n|0)>>2,o=l>>3>>>0<268435455?o>>>0<t>>>0?t:o:536870911;do{if(o){if(!(536870911<o>>>0)){a=0|hu(o<<3);break}Zu(u=0|X(8),44519),ar[u>>2]=17660,I(0|u,4016,428)}else a=0}while(0);if(l=a+(o<<3)|0,ar[(t=n=a+(r<<3)|0)>>2]=ar[e>>2],o=0|ar[e+4>>2],o=(ar[a+(r<<3)+4>>2]=o)?(bu(o),f=0|ar[u>>2],0|ar[A>>2]):c,a=n+8|0,(0|f)!=(0|o)){for(;f=(c=f)+-8|0,ar[n+-8>>2]=ar[f>>2],c=c+-4|0,ar[n+-4>>2]=ar[c>>2],ar[f>>2]=0,t=n=t+-8|(ar[c>>2]=0),(0|f)!=(0|o););o=0|ar[A>>2],f=0|ar[u>>2]}if(ar[A>>2]=t,ar[u>>2]=a,ar[i>>2]=l,(0|f)!=(0|(t=o)))for(;n=0|ar[f+-4>>2],f=f+-8|0,0|n&&du(n),(0|f)!=(0|t););o&&vu(o)}function hl(A){var e;(A|=0)&&(0|(e=0|ar[A+4>>2])&&du(e),vu(A))}function wl(A,e){var r=0,i=0,f=0,n=0,t=0,o=0,a=0;if((e|=0)>>>0<=(f=0|ar[(o=(A|=0)+8|0)>>2])-(r=0|ar[(a=A+4|0)>>2])>>3>>>0)for(;ar[(o=r)>>2]=0,r=8+((ar[o+4>>2]=0)|ar[a>>2])|0,ar[a>>2]=r,0!=(0|(e=e+-1|0)););else{536870911<(r=(n=r-(i=0|ar[A>>2])>>3)+e|0)>>>0&&zl(),t=(f=f-i|0)>>2,r=f>>3>>>0<268435455?t>>>0<r>>>0?r:t:536870911;do{if(r){if(!(536870911<r>>>0)){i=0|hu(r<<3);break}Zu(a=0|X(8),44519),ar[a>>2]=17660,I(0|a,4016,428)}else i=0}while(0);for(t=i+(n<<3)|0,n=i+(r<<3)|0,f=r=t;ar[(i=r)>>2]=0,f=r=f+8|(ar[i+4>>2]=0),0!=(0|(e=e+-1|0)););e=0|ar[A>>2],r=t+(0-((i=(0|ar[a>>2])-e|0)>>3)<<3)|0,0<(0|i)&&hb(0|r,0|e,0|i),ar[A>>2]=r,ar[a>>2]=f,ar[o>>2]=n,e&&vu(e)}}function vl(A,e){A|=0,(e|=0)&&(vl(A,0|ar[e>>2]),vl(A,0|ar[e+4>>2]),0|(A=0|ar[e+24>>2])&&du(A),vu(e))}function ml(A,e){return A|=0,(e|=0)&&(ml(A,0|ar[e>>2]),ml(A,0|ar[e+4>>2]),void vu(e))}function gl(A){var e,r,i,f,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0;if(ur=(f=ur)+16|0,e=f,(0|(n=0|ar[(r=(A|=0)+28|0)>>2]))!=(0|(i=A+32|0)))for(s=b=e+4|0,u=n;;){if(a=0|ar[u+20>>2],(l=0==(0|(c=0|ar[u+24>>2])))||bu(c),sl(e,a+48|0),o=0|ar[e>>2],(0|(n=0|ar[b>>2]))==(0|o))n=o;else{for(;t=n+-8|0,ar[b>>2]=t,(0|(n=(n=0|ar[n+-4>>2])?(du(n),0|ar[b>>2]):t))!=(0|o););n=0|ar[e>>2]}if(0|n){if((0|o)!=(0|n)){for(;t=o+-8|0,ar[b>>2]=t,(o=0|ar[o+-4>>2])&&(du(o),t=0|ar[b>>2]),(0|t)!=(0|n);)o=t;n=0|ar[e>>2]}vu(n)}if(n=(ar[a+68>>2]=0)|ar[(o=a+72|0)>>2],(ar[o>>2]=0)|n&&du(n),n=(ar[a+84>>2]=0)|ar[(o=a+88|0)>>2],(ar[o>>2]=0)|n&&du(n),sl(e,a+172|0),o=0|ar[e>>2],(0|(n=0|ar[s>>2]))==(0|o))n=o;else{for(;t=n+-8|0,ar[s>>2]=t,(0|(n=(n=0|ar[n+-4>>2])?(du(n),0|ar[s>>2]):t))!=(0|o););n=0|ar[e>>2]}if(0|n){if((0|o)!=(0|n)){for(;t=o+-8|0,ar[s>>2]=t,(o=0|ar[o+-4>>2])&&(du(o),t=0|ar[s>>2]),(0|t)!=(0|n);)o=t;n=0|ar[e>>2]}vu(n)}if(l||du(c),n=0|ar[u+4>>2])for(;t=0|ar[n>>2];)n=t;else if(n=0|ar[(t=u+8|0)>>2],(0|ar[n>>2])!=(0|u))for(;u=0|ar[t>>2],n=0|ar[(t=u+8|0)>>2],(0|ar[n>>2])!=(0|u););if((0|n)==(0|i))break;u=n}if(0|(n=0|ar[A+64>>2])&&du(n),0|(n=0|ar[A+56>>2])&&du(n),0|(n=0|ar[(a=A+40|0)>>2])){if((0|(t=0|ar[(c=A+44|0)>>2]))!=(0|n)){for(;o=t+-8|0,ar[c>>2]=o,(0|(t=(t=0|ar[t+-4>>2])?(du(t),0|ar[c>>2]):o))!=(0|n););n=0|ar[a>>2]}vu(n)}vl(r,0|ar[i>>2]),ml(A+16|0,0|ar[A+20>>2]),ur=(0<=(0|tr[A+11>>0])||vu(0|ar[A>>2]),f)}function Zl(A,e){A|=0;var r=0,i=0,f=0,n=0,t=0;if(r=0|ar[(e|=0)>>2]){n=(r=0|qu(r,416,400,0))?(0|(f=i=0|ar[e+4>>2])&&bu(i),r?(ar[A+204>>2]=r,r=0|ar[(n=A+208|0)>>2],ar[n>>2]=f,r&&du(r),0):f):0,r=0|ar[e>>2];do{if(0|r&&0|(t=0|qu(r,416,440,0))){if(i=t,0|(f=r=0|ar[e+4>>2])&&bu(r),t){if(ar[A+196>>2]=i,r=0|ar[(t=A+200|0)>>2],ar[t>>2]=f,!r)break;du(r);break}if(!r)break;du(r);break}}while(0);n&&du(n)}}function pl(A,e){A|=0,e|=0;var r,i,f,n,t,o,a=0,c=0,l=0,u=0;if(ur=(o=ur)+32|0,ar[(n=(i=o)+8|0)>>2]=0,ar[(t=4+n|0)>>2]=0,((ar[8+n>>2]=0)|(a=0|ar[(f=A+40|0)>>2]))!=(0|(r=0|ar[A+44>>2]))){l=i+4|0,u=8+n|0;do{c=0|ar[a>>2],ar[i>>2]=c,A=0|ar[a+4>>2],A=(ar[l>>2]=A)?(bu(A),c=0|ar[i>>2]):c;do{if((0|A)!=(0|ar[e>>2])){if((0|(A=0|ar[t>>2]))==(0|ar[u>>2])){kl(n,i);break}ar[A>>2]=c,c=0|ar[l>>2],(ar[A+4>>2]=c)&&(bu(c),A=0|ar[t>>2]),ar[t>>2]=A+8}}while(0);0|(A=0|ar[l>>2])&&du(A),a=a+8|0}while((0|a)!=(0|r))}if((0|f)!=(0|n)&&function(A,e,r){var i=0,f=0,n=0,t=0,o=0,a=0,c=0;if(o=(r|=0)-(e|=0)>>3,i=0|ar[(a=8+(A|=0)|0)>>2],n=0|ar[A>>2],o>>>0>i-(f=n)>>3>>>0){if(n){if((0|(i=0|ar[(t=A+4|0)>>2]))==(0|f))i=n;else{for(n=i;i=n+-8|0,ar[t>>2]=i,(n=0|ar[n+-4>>2])&&(du(n),i=0|ar[t>>2]),(0|i)!=(0|f);)n=i;i=0|ar[A>>2]}vu(i),ar[a>>2]=0,ar[t>>2]=0,ar[A>>2]=0,i=0}if(536870911<o>>>0&&zl(),f=i>>2,536870911<(f=i>>3>>>0<268435455?f>>>0<o>>>0?o:f:536870911)>>>0&&zl(),i=0|hu(f<<3),ar[(n=A+4|0)>>2]=i,ar[A>>2]=i,ar[a>>2]=i+(f<<3),(0|e)==(0|r))return;for(;ar[i>>2]=ar[e>>2],f=0|ar[e+4>>2],0|(ar[i+4>>2]=f)&&bu(f),e=e+8|0,i=8+(0|ar[n>>2])|0,ar[n>>2]=i,(0|e)!=(0|r););return}if(i=(0|ar[(a=A+4|0)>>2])-n>>3,A=i>>>0<o>>>0,i=e+(i<<3)|0,(0|(o=A?i:r))==(0|e))e=f;else{for(;n=0|ar[e>>2],0|(t=0|ar[e+4>>2])&&bu(t),ar[f>>2]=n,n=0|ar[(c=f+4|0)>>2],ar[c>>2]=t,0|n&&du(n),f=f+8|0,(0|(e=e+8|0))!=(0|o););e=f}if(!A){if((0|(i=0|ar[a>>2]))==(0|e))return;for(;f=i+-8|0,ar[a>>2]=f,(0|(i=(i=0|ar[i+-4>>2])?(du(i),0|ar[a>>2]):f))!=(0|e););return}if((0|o)==(0|r))return;f=0|ar[a>>2];for(;ar[f>>2]=ar[i>>2],e=0|ar[i+4>>2],0|(ar[f+4>>2]=e)&&bu(e),i=i+8|0,f=8+(0|ar[a>>2])|0,ar[a>>2]=f,(0|i)!=(0|r););}(f,0|ar[n>>2],0|ar[t>>2]),A=0|ar[n>>2]){if((0|(a=0|ar[t>>2]))!=(0|A)){for(;c=a+-8|0,ar[t>>2]=c,(0|(a=(a=0|ar[a+-4>>2])?(du(a),0|ar[t>>2]):c))!=(0|A););A=0|ar[n>>2]}vu(A),ur=o}else ur=o}function yl(A,e){e|=0;var r,i,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0;t=0|ar[(b=(A|=0)+4|0)>>2],r=o=0|ar[A>>2],536870911<(f=(l=t-o>>3)+1|0)>>>0&&zl(),a=(u=(0|ar[(i=A+8|0)>>2])-o|0)>>2,a=u>>3>>>0<268435455?a>>>0<f>>>0?f:a:536870911;do{if(a){if(!(536870911<a>>>0)){c=0|hu(a<<3);break}Zu(b=0|X(8),44519),ar[b>>2]=17660,I(0|b,4016,428)}else c=0}while(0);if(u=c+(a<<3)|0,ar[(f=n=c+(l<<3)|0)>>2]=ar[e>>2],a=e+4|0,ar[c+(l<<3)+4>>2]=ar[a>>2],ar[e>>2]=0,a=n+8|(ar[a>>2]=0),(0|t)!=(0|r)){for(;t=(l=t)+-8|0,ar[n+-8>>2]=ar[t>>2],l=l+-4|0,ar[n+-4>>2]=ar[l>>2],ar[t>>2]=0,f=n=f+-8|(ar[l>>2]=0),(0|t)!=(0|r););o=0|ar[A>>2]}if(ar[A>>2]=f,f=0|ar[b>>2],ar[b>>2]=a,ar[i>>2]=u,(0|f)!=(0|(t=o)))for(;n=0|ar[f+-4>>2],f=f+-8|0,0|n&&du(n),(0|f)!=(0|t););o&&vu(o)}function Bl(A,e){e|=0;var r,i,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0;t=0|ar[(b=(A|=0)+4|0)>>2],r=o=0|ar[A>>2],536870911<(f=(l=t-o>>3)+1|0)>>>0&&zl(),a=(u=(0|ar[(i=A+8|0)>>2])-o|0)>>2,a=u>>3>>>0<268435455?a>>>0<f>>>0?f:a:536870911;do{if(a){if(!(536870911<a>>>0)){c=0|hu(a<<3);break}Zu(b=0|X(8),44519),ar[b>>2]=17660,I(0|b,4016,428)}else c=0}while(0);if(u=c+(a<<3)|0,ar[(f=n=c+(l<<3)|0)>>2]=ar[e>>2],a=e+4|0,ar[c+(l<<3)+4>>2]=ar[a>>2],ar[e>>2]=0,a=n+8|(ar[a>>2]=0),(0|t)!=(0|r)){for(;t=(l=t)+-8|0,ar[n+-8>>2]=ar[t>>2],l=l+-4|0,ar[n+-4>>2]=ar[l>>2],ar[t>>2]=0,f=n=f+-8|(ar[l>>2]=0),(0|t)!=(0|r););o=0|ar[A>>2]}if(ar[A>>2]=f,f=0|ar[b>>2],ar[b>>2]=a,ar[i>>2]=u,(0|f)!=(0|(t=o)))for(;n=0|ar[f+-4>>2],f=f+-8|0,0|n&&du(n),(0|f)!=(0|t););o&&vu(o)}function El(A){var e=0,r=0,i=0,f=0,n=0;if(0|(e=0|ar[(A|=0)+208>>2])&&du(e),0|(e=0|ar[A+200>>2])&&du(e),0|(e=0|ar[(n=A+184|0)>>2])){if((0|(r=0|ar[(f=A+188|0)>>2]))!=(0|e)){for(;i=r+-8|0,ar[f>>2]=i,(0|(r=(r=0|ar[r+-4>>2])?(du(r),0|ar[f>>2]):i))!=(0|e););e=0|ar[n>>2]}vu(e)}if(0|(e=0|ar[(f=A+172|0)>>2])){if((0|(r=0|ar[(n=A+176|0)>>2]))!=(0|e)){for(;i=r+-8|0,ar[n>>2]=i,(0|(r=(r=0|ar[r+-4>>2])?(du(r),0|ar[n>>2]):i))!=(0|e););e=0|ar[f>>2]}vu(e)}if((0|tr[(e=A+160|0)+11>>0])<0&&vu(0|ar[e>>2]),0|(e=0|ar[A+88>>2])&&du(e),0|(e=0|ar[A+72>>2])&&du(e),0|(e=0|ar[(f=A+48|0)>>2])){if((0|(r=0|ar[(n=A+52|0)>>2]))!=(0|e)){for(;i=r+-8|0,ar[n>>2]=i,(0|(r=(r=0|ar[r+-4>>2])?(du(r),0|ar[n>>2]):i))!=(0|e););e=0|ar[f>>2]}vu(e)}0<=(0|tr[A+11>>0])||vu(0|ar[A>>2])}function Xl(A,e,r,i,f,n){A|=0,r|=0,i|=0,f|=0,n|=0;var t,o,a,c,l,u,b,s,d,k,h,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0,C=0,G=0,V=0,F=0,R=0,N=0,_=0,Y=0,Q=0,D=0,J=0,M=0,T=0,U=0,S=0;ur=(k=ur)+272|0,s=k+96|0,B=k+236|0,U=k+72|0,S=k+48|0,t=k+24|0,I=k+224|0,C=(o=k)+200|0,F=k+212|0,G=k+188|0,W=k+176|0,V=k+168|0,R=k+152|0,y=k+140|0,a=k+128|0,b=k+116|0,ho(d=k+248|0,0|ar[(N=(e|=0)+60|0)>>2],r),(Z=0|ar[(c=e+32|0)>>2])?(v=c,g=Z):sr(31354,30203,1047,31362);A:for(;;){for(m=g;!((0|ar[m+16>>2])>>>0>=r>>>0);)if(!(m=0|ar[m+4>>2]))break A;if(!(g=0|ar[m>>2])){v=m;break}v=m}(0|v)==(0|c)&&sr(31354,30203,1047,31362),(0|ar[v+16>>2])>>>0>r>>>0?sr(31354,30203,1047,31362):(w=c,p=Z);A:for(;;){for(v=p;!((0|ar[v+16>>2])>>>0>=r>>>0);)if(!(v=0|ar[v+4>>2]))break A;if(!(p=0|ar[v>>2])){w=v;break}w=v}(0|w)!=(0|c)&&(0|ar[w+16>>2])>>>0<=r>>>0||(w=c),v=0|ar[w+20>>2],0|(u=0|ar[w+24>>2])&&bu(u),(E=v)||sr(31354,30203,1047,31362),h=s,ar[(h|=0)>>2]=0,ar[h+4>>2]=0,ar[h+8>>2]=0,ar[h+12>>2]=0,v=(ar[h+16>>2]=0)|tr[(l=11+d|0)>>0],w=0|ar[(m=4+d|0)>>2],M=4==(0|(v<<24>>24<0?w:255&v))?0|Yu(d,0,-1,30298,4)?(v=0|tr[l>>0],w=0|ar[m>>2],22):25:22;A:do{if(22==(0|M)){if(4==(0|(v<<24>>24<0?w:255&v))){if(!(0|Yu(d,0,-1,30318,4))){M=25;break}v=0|tr[l>>0],w=0|ar[m>>2]}do{if(4==(0|(v<<24>>24<0?w:255&v))){if(0|Yu(d,0,-1,30303,4)){v=0|tr[l>>0],w=0|ar[m>>2];break}if(ar[U>>2]=0,ar[(g=U+4|0)>>2]=0,mo(S,(ar[U+8>>2]=0)|ar[N>>2],r,U),w=0|ar[(m=S)+4>>2],ar[(v=s)>>2]=ar[m>>2],ar[v+4>>2]=w,w=S+8|0,(0|tr[(m=(v=8+s|0)+11|0)>>0])<0?(tr[ar[v>>2]>>0]=0,ar[12+s>>2]=0):(tr[v>>0]=0,tr[m>>0]=0),Cu(v,0),ar[v>>2]=ar[w>>2],ar[v+4>>2]=ar[w+4>>2],ar[v+8>>2]=ar[w+8>>2],0|ar[s>>2]){S=0|ar[(i=s)+4>>2],ar[(w=A)>>2]=ar[i>>2],ar[w+4>>2]=S,ar[(w=A+8|0)>>2]=ar[v>>2],ar[w+4>>2]=ar[v+4>>2],ar[w+8>>2]=ar[v+8>>2],ar[v>>2]=0,ar[v+4>>2]=0,(ar[v+8>>2]=0)|(w=0|ar[U>>2])&&((0|ar[g>>2])!=(0|w)&&(ar[g>>2]=w),vu(w));break A}if(Wl(S,e,r,i,U),J=0|ar[(D=S)+4>>2],ar[(w=s)>>2]=ar[D>>2],ar[w+4>>2]=J,w=S+8|0,(0|tr[m>>0])<0?(tr[ar[v>>2]>>0]=0,ar[12+s>>2]=0):(tr[v>>0]=0,tr[m>>0]=0),Cu(v,0),ar[v>>2]=ar[w>>2],ar[v+4>>2]=ar[w+4>>2],ar[v+8>>2]=ar[w+8>>2],0|ar[s>>2]){S=0|ar[(i=s)+4>>2],ar[(w=A)>>2]=ar[i>>2],ar[w+4>>2]=S,ar[(w=A+8|0)>>2]=ar[v>>2],ar[w+4>>2]=ar[v+4>>2],ar[w+8>>2]=ar[v+8>>2],ar[v>>2]=0,ar[v+4>>2]=0,(ar[v+8>>2]=0)|(w=0|ar[U>>2])&&((0|ar[g>>2])!=(0|w)&&(ar[g>>2]=w),vu(w));break A}0|(w=0|ar[U>>2])&&((0|ar[g>>2])!=(0|w)&&(ar[g>>2]=w),vu(w)),M=178;break A}}while(0);do{if(4==(0|(v<<24>>24<0?w:255&v))){if(0|Yu(d,0,-1,30308,4)){v=0|tr[l>>0],w=0|ar[m>>2];break}if(Il(U,e,r,i),v=0|ar[(m=U)+4>>2],ar[(w=s)>>2]=ar[m>>2],ar[w+4>>2]=v,v=U+8|0,(0|tr[(m=(w=8+s|0)+11|0)>>0])<0?(tr[ar[w>>2]>>0]=0,ar[12+s>>2]=0):(tr[w>>0]=0,tr[m>>0]=0),Cu(w,0),ar[w>>2]=ar[v>>2],ar[w+4>>2]=ar[v+4>>2],ar[w+8>>2]=ar[v+8>>2],!(0|ar[s>>2])){M=178;break A}U=0|ar[(i=s)+4>>2],ar[(S=A)>>2]=ar[i>>2],ar[S+4>>2]=U,ar[(A=A+8|0)>>2]=ar[w>>2],ar[A+4>>2]=ar[w+4>>2],ar[A+8>>2]=ar[w+8>>2],ar[w>>2]=0,ar[w+4>>2]=0,ar[w+8>>2]=0;break A}}while(0);if(4==(0|(v<<24>>24<0?w:255&v))&&0==(0|Yu(d,0,-1,30313,4))){if(ar[U>>2]=0,ar[(g=U+4|0)>>2]=0,mo(S,(ar[U+8>>2]=0)|ar[N>>2],r,U),w=0|ar[(m=S)+4>>2],ar[(v=s)>>2]=ar[m>>2],ar[v+4>>2]=w,w=S+8|0,(0|tr[(m=(v=8+s|0)+11|0)>>0])<0?(tr[ar[v>>2]>>0]=0,ar[12+s>>2]=0):(tr[v>>0]=0,tr[m>>0]=0),Cu(v,0),ar[v>>2]=ar[w>>2],ar[v+4>>2]=ar[w+4>>2],ar[v+8>>2]=ar[w+8>>2],0|ar[s>>2]){S=0|ar[(i=s)+4>>2],ar[(w=A)>>2]=ar[i>>2],ar[w+4>>2]=S,ar[(w=A+8|0)>>2]=ar[v>>2],ar[w+4>>2]=ar[v+4>>2],ar[w+8>>2]=ar[v+8>>2],ar[v>>2]=0,ar[v+4>>2]=0,(ar[v+8>>2]=0)|(w=0|ar[U>>2])&&((0|ar[g>>2])!=(0|w)&&(ar[g>>2]=w),vu(w));break}if(Cl(S,e,r,i,U),J=0|ar[(D=S)+4>>2],ar[(w=s)>>2]=ar[D>>2],ar[w+4>>2]=J,w=S+8|0,(0|tr[m>>0])<0?(tr[ar[v>>2]>>0]=0,ar[12+s>>2]=0):(tr[v>>0]=0,tr[m>>0]=0),Cu(v,0),ar[v>>2]=ar[w>>2],ar[v+4>>2]=ar[w+4>>2],ar[v+8>>2]=ar[w+8>>2],0|ar[s>>2]){S=0|ar[(i=s)+4>>2],ar[(w=A)>>2]=ar[i>>2],ar[w+4>>2]=S,ar[(w=A+8|0)>>2]=ar[v>>2],ar[w+4>>2]=ar[v+4>>2],ar[w+8>>2]=ar[v+8>>2],ar[v>>2]=0,ar[v+4>>2]=0,(ar[v+8>>2]=0)|(w=0|ar[U>>2])&&((0|ar[g>>2])!=(0|w)&&(ar[g>>2]=w),vu(w));break}0|(w=0|ar[U>>2])&&((0|ar[g>>2])!=(0|w)&&(ar[g>>2]=w),vu(w)),M=178;break}ar[y>>2]=0,ar[y+4>>2]=0,ar[y+8>>2]=0,oo(A,4,3001,y),(0|tr[y+11>>0])<0&&vu(0|ar[y>>2])}}while(0);do{if(25==(0|M)){if(v=0|tr[l>>0],w=0|ar[m>>2],4==(0|(v<<24>>24<0?w:255&v))?0|Yu(d,0,-1,30298,4)?(v=0|tr[l>>0],w=0|ar[m>>2],M=28):p=1:M=28,28==(0|M)&&(p=4==(0|(v<<24>>24<0?w:255&v))&&(p=0==(0|Yu(d,0,-1,30318,4)))?4:0),m=(w=0|Rl(p))?0|jb[127&ar[w+16>>2]](p):0,(0|(v=0|ar[e+16>>2]))==(0|(y=e+20|0)))g=w;else{do{if(D=0|ar[v+16>>2],w=(J=(0|m)<(0|(g=0|jb[127&ar[D+16>>2]](p))))?D:w,m=J?g:m,g=0|ar[v+4>>2])for(v=g;g=0|ar[v>>2];)v=g;else if(Z=0|ar[(g=v+8|0)>>2],(0|ar[Z>>2])==(0|v))v=Z;else for(;J=0|ar[g>>2],v=0|ar[(g=J+8|0)>>2],(0|ar[v>>2])!=(0|J););}while((0|v)!=(0|y));g=w}if(!g){if(ar[B>>2]=0,ar[B+4>>2]=0,ar[B+8>>2]=0,oo(A,4,3e3,B),0<=(0|tr[B+11>>0]))break;vu(0|ar[B>>2]);break}if(ar[U>>2]=0,ar[(X=U+4|0)>>2]=0,mo(S,(ar[U+8>>2]=0)|ar[N>>2],r,U),v=0|ar[(m=S)+4>>2],ar[(w=s)>>2]=ar[m>>2],ar[w+4>>2]=v,v=S+8|0,(0|tr[(m=(w=8+s|0)+11|0)>>0])<0?(tr[ar[w>>2]>>0]=0,ar[12+s>>2]=0):(tr[w>>0]=0,tr[m>>0]=0),Cu(w,0),ar[w>>2]=ar[v>>2],ar[w+4>>2]=ar[v+4>>2],ar[w+8>>2]=ar[v+8>>2],0|ar[s>>2])D=0|ar[(Q=s)+4>>2],ar[(J=A)>>2]=ar[Q>>2],ar[J+4>>2]=D,ar[(J=A+8|0)>>2]=ar[w>>2],ar[J+4>>2]=ar[w+4>>2],ar[J+8>>2]=ar[w+8>>2],ar[w>>2]=0,ar[w+4>>2]=0,ar[w+8>>2]=0,w=1;else{fs[63&ar[g+20>>2]](t,S),Z=0|ar[t>>2];do{if(Z)m=0|ar[4+t>>2],v=0|ar[8+t>>2],ar[I>>2]=0,ar[I+4>>2]=0,4294967279<(g=(ar[I+8>>2]=0)|Vc(v))>>>0&&pu(),g>>>0<11?(tr[I+11>>0]=g)?(w=I,M=53):w=I:(w=0|hu(M=g+16&-16),ar[I>>2]=w,ar[I+8>>2]=-2147483648|M,ar[I+4>>2]=g,M=53),53==(0|M)&&hb(0|w,0|v,0|g),tr[w+g>>0]=0,oo(A,Z,m,I),w=((0|tr[I+11>>0])<0&&vu(0|ar[I>>2]),1);else{if(J=0|ar[U>>2],ts[31&ar[g+28>>2]](o,0|ar[S>>2],J,(0|ar[X>>2])-J|0),ar[t>>2]=ar[o>>2],ar[4+t>>2]=ar[o+4>>2],ar[8+t>>2]=ar[o+8>>2],0|ar[t>>2]){if(is[511&ar[g+24>>2]](0|ar[S>>2]),m=0|ar[t>>2],g=0|ar[4+t>>2],v=0|ar[8+t>>2],ar[C>>2]=0,ar[C+4>>2]=0,4294967279<(Z=(ar[C+8>>2]=0)|Vc(v))>>>0&&pu(),Z>>>0<11?(tr[C+11>>0]=Z)?(w=C,M=62):w=C:(w=0|hu(M=Z+16&-16),ar[C>>2]=w,ar[C+8>>2]=-2147483648|M,ar[C+4>>2]=Z,M=62),62==(0|M)&&hb(0|w,0|v,0|Z),tr[w+Z>>0]=0,oo(A,m,g,C),0<=(0|tr[C+11>>0])){w=1;break}vu(0|ar[C>>2]),w=1;break}ar[o>>2]=0,ns[127&ar[g+32>>2]](F,0|ar[S>>2],o),ar[t>>2]=ar[F>>2],ar[4+t>>2]=ar[F+4>>2],ar[8+t>>2]=ar[F+8>>2];do{if(0|ar[t>>2]){if(is[511&ar[g+24>>2]](0|ar[S>>2]),m=0|ar[t>>2],g=0|ar[4+t>>2],v=0|ar[8+t>>2],ar[G>>2]=0,ar[G+4>>2]=0,4294967279<(Z=(ar[G+8>>2]=0)|Vc(v))>>>0&&pu(),Z>>>0<11?(tr[G+11>>0]=Z)?(w=G,M=71):w=G:(w=0|hu(M=Z+16&-16),ar[G>>2]=w,ar[G+8>>2]=-2147483648|M,ar[G+4>>2]=Z,M=71),71==(0|M)&&hb(0|w,0|v,0|Z),tr[w+Z>>0]=0,oo(A,m,g,G),0<=(0|tr[G+11>>0])){w=1;break}vu(0|ar[G>>2]),w=1}else{if(!(w=0|ar[o>>2])){if(is[511&ar[g+24>>2]](0|ar[S>>2]),ar[W>>2]=0,ar[W+4>>2]=0,oo(A,7,ar[W+8>>2]=0,W),0<=(0|tr[W+11>>0])){w=1;break}vu(0|ar[W>>2]),w=1;break}p=0|ar[w>>2],J=0|ar[(D=w+4|0)>>2],ar[w>>2]=0,ar[D>>2]=0,ar[i>>2]=p,w=0|ar[(p=i+4|0)>>2],ar[p>>2]=J,0|w&&du(w),hl(0|ar[o>>2]),is[511&ar[g+24>>2]](0|ar[S>>2]),w=0|ar[E+196>>2],(B=0==(0|(y=0|ar[E+200>>2])))||bu(y);do{if(0|w){if(v=0|ar[i>>2],B||(bu(y),bu(y)),ar[v+40>>2]=w,w=0|ar[(J=v+44|0)>>2],ar[J>>2]=y,0|w&&du(w),B)break;du(y)}}while(0);v=0|ar[E+204>>2],(Z=0==(0|(g=0|ar[E+208>>2])))||bu(g);do{if(0|v){if(w=0|ar[i>>2],Z||(bu(g),bu(g)),ar[w+48>>2]=v,w=0|ar[(J=w+52|0)>>2],ar[J>>2]=g,0|w&&du(w),Z)break;du(g)}}while(0);J=0|ar[i>>2],D=0|ar[J+32>>2],v=2==(0|(w=0==(0|(w=99==(0|f)?D:f))?1:w))?0:3;do{if((0|w)==(0|D)&&(0|v)==(0|ar[J+36>>2]))w=0;else{ar[V>>2]=0,me(F,i,w,v,V,ar[(m=V+4|0)>>2]=0),w=0|ar[F>>2],J=0|ar[(v=F+4|0)>>2],ar[F>>2]=0,ar[v>>2]=0,ar[i>>2]=w,w=0|ar[p>>2],ar[p>>2]=J;do{if(0|w){if(du(w),!(w=0|ar[v>>2]))break;du(w)}}while(0);if(0|(w=0|ar[m>>2])&&du(w),0|ar[i>>2]){w=0;break}if(ar[R>>2]=0,ar[R+4>>2]=0,ar[R+8>>2]=0,oo(A,4,3003,R),0<=(0|tr[R+11>>0])){w=1;break}vu(0|ar[R>>2]),w=1}}while(0);if(Z||du(g),B)break;du(y)}}while(0)}}while(0)}0|(v=0|ar[U>>2])&&((0|ar[X>>2])!=(0|v)&&(ar[X>>2]=v),vu(v)),w||(M=178)}}while(0);do{if(178==(0|M)){if(0==(0|n)||0==(0|tr[n+1>>0])){ar[U>>2]=0,ar[(J=U+4|0)>>2]=0,w=(ar[U+8>>2]=0)|ar[N>>2],v=0|ar[w+44>>2],(D=0==(0|(Q=0|ar[w+48>>2])))||(bu(Q),w=0|ar[N>>2]),ar[S>>2]=ar[w+52>>2],Y=S+4|0,w=0|ar[w+56>>2],0|(ar[Y>>2]=w)&&bu(w),Ht(t,v,r,S,U),w=0|ar[(_=t)+4>>2],ar[(N=s)>>2]=ar[_>>2],ar[N+4>>2]=w,w=8+t|0,(0|tr[(_=(N=8+s|0)+11|0)>>0])<0?(tr[ar[N>>2]>>0]=0,ar[12+s>>2]=0):(tr[N>>0]=0,tr[_>>0]=0),Cu(N,0),ar[N>>2]=ar[w>>2],ar[N+4>>2]=ar[w+4>>2],ar[N+8>>2]=ar[w+8>>2],w=0|ar[U>>2],X=0|ar[J>>2];A:do{if((0|w)!=(0|X)){W=11+a|0,G=12+s|0,f=i+4|0,V=A+8|0,F=8+t|0,R=I=4+t|0,n=C=o+8|0;e:for(;;){v=0|ar[(Z=w+4|0)>>2];r:do{if(v){if(m=0|qu(v,128,808,0)){(v=0|ar[w+8>>2])?bu(v):v=0,ar[t>>2]=0,ol(o,(ar[R>>2]=0)|ar[i>>2],0|ar[m+56>>2],t),B=0|ar[(y=o)+4>>2],ar[(E=s)>>2]=ar[y>>2],ar[E+4>>2]=B,(0|tr[_>>0])<0?(tr[ar[N>>2]>>0]=0,ar[G>>2]=0):(tr[N>>0]=0,tr[_>>0]=0),Cu(N,0),ar[N>>2]=ar[n>>2],ar[N+4>>2]=ar[n+4>>2],ar[N+8>>2]=ar[n+8>>2];do{if(0|ar[s>>2])E=0|ar[(B=s)+4>>2],ar[(m=A)>>2]=ar[B>>2],ar[m+4>>2]=E,ar[V>>2]=ar[N>>2],ar[V+4>>2]=ar[N+4>>2],ar[V+8>>2]=ar[N+8>>2],ar[N>>2]=0,ar[N+4>>2]=0,ar[N+8>>2]=0,m=1;else{if(m=0|ar[t>>2],0|(g=0|ar[R>>2])&&bu(g),ar[i>>2]=m,m=0|ar[f>>2],ar[f>>2]=g,!m){m=0;break}du(m),m=0}}while(0);if(0|(g=0|ar[R>>2])&&du(g),m){m=1;break}E=v}else E=0;if(v=0|ar[Z>>2]){m=0|qu(v,128,776,0);do{if(m){if((v=0|ar[w+8>>2])?bu(v):v=0,al(t,0|ar[i>>2],1==(0|tr[m+56>>0])),B=0|ar[(y=t)+4>>2],ar[(M=s)>>2]=ar[y>>2],ar[M+4>>2]=B,(0|tr[_>>0])<0?(tr[ar[N>>2]>>0]=0,ar[G>>2]=0):(tr[N>>0]=0,tr[_>>0]=0),Cu(N,0),ar[N>>2]=ar[F>>2],ar[N+4>>2]=ar[F+4>>2],ar[N+8>>2]=ar[F+8>>2],!(0|ar[s>>2])){B=v;break}g=0|ar[(M=s)+4>>2],ar[(m=A)>>2]=ar[M>>2],ar[m+4>>2]=g,ar[V>>2]=ar[N>>2],ar[V+4>>2]=ar[N+4>>2],ar[V+8>>2]=ar[N+8>>2],ar[N>>2]=0,ar[N+4>>2]=0,ar[N+8>>2]=0,m=1,g=v,v=E,M=241;break r}B=0}while(0);if(!(v=0|ar[Z>>2])){Z=0,g=B,v=E,M=238;break}if(!(m=0|qu(v,128,744,0))){Z=0,g=B,v=E,M=238;break}if((v=0|ar[w+8>>2])?bu(v):v=0,y=0|ar[i>>2],g=0|ar[y+24>>2],y=0|ar[y+28>>2],(0|g)<=-1){M=220;break e}if((0|y)<=-1){M=222;break e}if(p=0|Kt(m,g),M=0|qt(m,g),Z=0|$t(m,y),(0|(g=(0|M)<(0|g)?M:g+-1|0))<(0|(p=0<(0|p)?p:0))|(0|(m=(0|(m=0|Ao(m,y)))<(0|y)?m:y+-1|0))<(0|(Z=0<(0|Z)?Z:0))){if(ar[a>>2]=0,ar[4+a>>2]=0,ar[8+a>>2]=0,oo(A,2,120,a),0<=(0|tr[W>>0])){m=1,Z=v,g=B,v=E,M=239;break}vu(0|ar[a>>2]),m=1,Z=v,g=B,v=E,M=239;break}ar[t>>2]=0,cl(o,(ar[I>>2]=0)|ar[i>>2],p,g,Z,m,t),y=0|ar[(p=o)+4>>2],ar[(M=s)>>2]=ar[p>>2],ar[M+4>>2]=y,(0|tr[_>>0])<0?(tr[ar[N>>2]>>0]=0,ar[G>>2]=0):(tr[N>>0]=0,tr[_>>0]=0),Cu(N,0),ar[N>>2]=ar[C>>2],ar[N+4>>2]=ar[C+4>>2],ar[N+8>>2]=ar[C+8>>2];do{if(0|ar[s>>2])M=0|ar[(y=s)+4>>2],ar[(m=A)>>2]=ar[y>>2],ar[m+4>>2]=M,ar[V>>2]=ar[N>>2],ar[V+4>>2]=ar[N+4>>2],ar[V+8>>2]=ar[N+8>>2],ar[N>>2]=0,ar[N+4>>2]=0,ar[N+8>>2]=0,m=1;else{if(m=0|ar[t>>2],0|(g=0|ar[I>>2])&&bu(g),ar[i>>2]=m,m=0|ar[f>>2],ar[f>>2]=g,!m){m=0;break}du(m),m=0}}while(0);0|(g=0|ar[I>>2])&&du(g),M=m?(m=1,Z=v,g=B,v=E,239):(Z=v,g=B,v=E,238)}else g=Z=0,v=E,M=238}else v=g=Z=0,M=238}while(0);if(238==(0|M)&&(m=0,M=239),239==(0|M)&&(M=(Z&&du(Z),241)),241==(0|M)&&(M=0,g&&du(g)),0|v&&du(v),w=w+12|0,0|m){T=m;break A}if((0|w)==(0|X)){T=2;break A}}220==(0|M)?sr(31382,30203,1221,31362):222==(0|M)&&sr(31397,30203,1222,31362)}else T=2}while(0);if(0|(w=0|ar[Y>>2])&&du(w),D||du(Q),0|(w=0|ar[U>>2])){if((0|(v=0|ar[J>>2]))!=(0|w)){for(;m=v+-12|0,ar[J>>2]=m,(0|(v=(v=0|ar[v+-4>>2])?(du(v),0|ar[J>>2]):m))!=(0|w););w=0|ar[U>>2]}vu(w)}if(2!=(2|T))break}if(0|(m=0|ar[c>>2])){w=c,g=m;A:for(;;){for(v=g;!((0|ar[v+16>>2])>>>0>=r>>>0);)if(!(v=0|ar[v+4>>2]))break A;if(!(g=0|ar[v>>2])){w=v;break}w=v}if((0|w)!=(0|c)&&(0|ar[w+16>>2])>>>0<=r>>>0){w=c;A:for(;;){for(v=m;!((0|ar[v+16>>2])>>>0>=r>>>0);)if(!(v=0|ar[v+4>>2]))break A;if(!(m=0|ar[v>>2])){w=v;break}w=v}if((0|w)!=(0|c)&&(0|ar[w+16>>2])>>>0<=r>>>0||(w=c),v=0|ar[w+20>>2],(y=0==(0|(p=0|ar[w+24>>2])))||bu(p),w=0|ar[v+68>>2],(Z=0==(0|(g=0|ar[v+72>>2])))||bu(g),w){ar[U>>2]=0,Xl(S,e,(ar[(m=U+4|0)>>2]=0)|ar[w+20>>2],U,99,0);A:do{if(0|ar[S>>2])w=0|ar[(i=S)+4>>2],ar[(U=A)>>2]=ar[i>>2],ar[U+4>>2]=w,w=S+8|0,ar[(U=A+8|0)>>2]=ar[w>>2],ar[U+4>>2]=ar[w+4>>2],ar[U+8>>2]=ar[w+8>>2],ar[w>>2]=0,ar[w+4>>2]=0,ar[w+8>>2]=0,w=1;else{switch(0|ar[32+(0|ar[U>>2])>>2]){case 2:case 0:w=0;break;case 1:w=3;break;default:if(ar[b>>2]=0,ar[4+b>>2]=0,ar[8+b>>2]=0,oo(A,2,3003,b),0<=(0|tr[11+b>>0])){w=1;break A}vu(0|ar[b>>2]),w=1;break A}_o(0|ar[i>>2],U,w,6),w=0}}while(0);(0|tr[(v=S+8|0)+11>>0])<0&&vu(0|ar[v>>2]),0|(v=0|ar[m>>2])&&du(v),w||(M=289)}else M=289;if(289==(0|M)&&(w=0),Z||du(g),y||du(p),0|w)break}}U=0|ar[(i=56592)+4>>2],ar[(S=A)>>2]=ar[i>>2],ar[S+4>>2]=U,yu(A+8|0,56600)}}while(0);(0|tr[(w=8+s|0)+11>>0])<0&&vu(0|ar[w>>2]),0|u&&du(u),ur=(0<=(0|tr[l>>0])||vu(0|ar[d>>2]),k)}function Wl(A,e,r,i,f){A|=0,e|=0,r|=0,i|=0,f|=0;var n,t,o,a,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0,C=0,G=0,V=0,F=0,R=0,N=0,_=0,Y=0,Q=0,D=0,J=0,M=0,T=0,U=0;if(ur=(a=ur)+480|0,J=a+24|0,s=(o=a)+460|0,c=a+436|0,Z=a+280|0,k=a+424|0,v=a+264|0,t=a+256|0,p=a+96|0,y=a+240|0,B=a+80|0,E=a+68|0,Q=a+56|0,n=a+48|0,ar[(g=a+448|0)>>2]=0,ar[g+4>>2]=0,ar[g+8>>2]=0,function(A,e,r){A|=0,e|=0;var i,f=0,n=0,t=0,o=0;if(ur=(i=ur)+32|0,t=i+12|0,o=i,n=0|ar[(r|=0)>>2],(r=(0|ar[r+4>>2])-n|0)>>>0<8){for(r=0|hu(32),ar[t>>2]=r,ar[t+8>>2]=-2147483616,n=30033,e=(f=r)+(ar[t+4>>2]=25)|0;tr[f>>0]=0|tr[n>>0],n=n+1|0,(0|(f=f+1|0))<(0|e););return(tr[r+25>>0]=0,oo(A,2,118,t),0<=(0|tr[t+11>>0]))?ur=i:(vu(0|ar[t>>2]),ur=i)}t=0==(1&tr[n+1>>0]),or[e>>1]=1+(0|cr[n+2>>0]),or[e+2>>1]=1+(0|cr[n+3>>0]);do{if(!t){if(12<=r>>>0){ar[e+4>>2]=cr[n+5>>0]<<16|cr[n+4>>0]<<24|cr[n+6>>0]<<8|cr[n+7>>0],r=11,f=cr[n+9>>0]<<16|cr[n+8>>0]<<24|cr[n+10>>0]<<8;break}for(r=0|hu(32),ar[o>>2]=r,ar[o+8>>2]=-2147483616,n=30059,e=(f=r)+(ar[o+4>>2]=26)|0;tr[f>>0]=0|tr[n>>0],n=n+1|0,(0|(f=f+1|0))<(0|e););return(tr[r+26>>0]=0,oo(A,2,118,o),0<=(0|tr[o+11>>0]))?ur=i:(vu(0|ar[o>>2]),ur=i)}ar[e+4>>2]=cr[n+4>>0]<<8|cr[n+5>>0],r=7,f=cr[n+6>>0]<<8}while(0);ar[e+8>>2]=cr[n+r>>0]|f,t=0|ar[(e=56592)+4>>2],ar[(o=A)>>2]=ar[e>>2],ar[o+4>>2]=t,yu(A+8|0,56600),ur=i}(o,g,f),0|ar[o>>2])U=0|ar[(M=o)+4>>2],ar[(T=A)>>2]=ar[M>>2],ar[T+4>>2]=U,U=o+8|0,ar[(T=A+8|0)>>2]=ar[U>>2],ar[T+4>>2]=ar[U+4>>2],ar[T+8>>2]=ar[U+8>>2],ar[U>>2]=0,ar[U+4>>2]=0,ar[U+8>>2]=0;else{if(T=0|ar[(w=e+60|0)>>2],f=0|ar[T+76>>2],(U=0==(0|(T=0|ar[T+80>>2])))||bu(T),f){fo(c,f,r,1684630887),f=0|ar[(M=c+4|0)>>2],u=l=0|ar[c>>2],h=f,257<=(65535&(G=0|or[g>>1]))&&sr(31678,30203,133,31692),257<=(65535&(s=0|or[g+2>>1]))&&sr(31701,30203,139,31718),d=0|br(Y=65535&s,_=65535&G);A:do{if((f-l>>2|0)==(0|d)){e:do{if((0|u)!=(0|h)){d=0|ar[e+28>>2],k=e+32|0;r:do{if((0|d)==(0|k))s=0|ar[u>>2];else for(b=u;;){for(s=0|ar[b>>2],u=d;(0|ar[u+16>>2])!=(0|s);){if(f=0|ar[u+4>>2])for(;l=0|ar[f>>2];)f=l;else if(f=0|ar[(l=u+8|0)>>2],(0|ar[f>>2])!=(0|u))for(;N=0|ar[l>>2],f=0|ar[(l=N+8|0)>>2],(0|ar[f>>2])!=(0|N););if((0|f)==(0|k))break r;u=f}if((0|(b=b+4|0))==(0|h))break e}}while(0);l=Z+64|0,ar[(b=Z+8|0)>>2]=4524,u=Z+12|0,ar[Z>>2]=188,ar[l>>2]=208,Jf(Z+64|(ar[Z+4>>2]=0),u),ar[Z+136>>2]=0,ar[Z+140>>2]=-1,ar[Z>>2]=4504,ar[l>>2]=4544,ar[b>>2]=4524,Sf(u),ar[u>>2]=4340,ar[(b=Z+44|0)>>2]=0,ar[b+4>>2]=0,ar[b+8>>2]=0,ar[b+12>>2]=0,ar[Z+60>>2]=24,ar[J>>2]=0,ar[J+4>>2]=0,ar[J+8>>2]=0,Xe(u,J),(0|tr[J+11>>0])<0&&vu(0|ar[J>>2]),We(0|Lf(0|We(f=Z+8|0,31789,14),s),31804,23),Ie(v,u),oo(A,2,119,v),(0|tr[v+11>>0])<0&&vu(0|ar[v>>2]),ar[Z>>2]=4504,ar[l>>2]=4544,ar[f>>2]=4524,ar[u>>2]=4340,(0|tr[b+11>>0])<0&&vu(0|ar[b>>2]),kf(u),bf(l);break A}}while(0);f=0|ar[w>>2],ar[Z>>2]=ar[f+52>>2],N=Z+4|0,l=0|ar[f+56>>2],(ar[N>>2]=l)&&(bu(l),f=0|ar[w>>2]),l=0|ar[f+44>>2],(R=0==(0|(F=0|ar[f+48>>2])))||bu(F),Lt(t,l,r,Z,1885960297),V=0!=(0|(f=0|ar[t>>2]))&&0!=(0|(m=0|qu(f,128,352,0)))?(f=0|ar[4+t>>2])?(bu(f),d=m,f):(d=m,0):d=0,h=0|ar[g+4>>2],k=0|ar[g+8>>2],(0|ar[c>>2])==(0|ar[M>>2])&&sr(31828,30203,1359,31854),s=e+72|0;e:do{if(h>>>0<(0|ar[s>>2])>>>0&&k>>>0<(0|ar[e+76>>2])>>>0){u=0|hu(80),ar[u+4>>2]=0,ar[u+8>>2]=0,ar[u>>2]=6208,ar[(f=u+12|0)>>2]=0,ar[f+4>>2]=0,ar[f+8>>2]=0,ar[f+12>>2]=0,ar[f+16>>2]=0,ar[u+32>>2]=30025,ar[u+36>>2]=0,ar[u+40>>2]=0,ar[u+44>>2]=99,ar[u+48>>2]=99,s=u+52|0,ar[(b=u+72|0)>>2]=0,ar[u+76>>2]=0,ar[s>>2]=0,ar[s+4>>2]=0,ar[s+8>>2]=0,ar[s+12>>2]=0,ar[u+68>>2]=b,b=f,C=(s=u)+16|0,bu(u),su(u),l=0|ar[C>>2],ar[f>>2]=b,ar[C>>2]=s,0|l&&ku(l),du(u),ar[i>>2]=b,l=0|ar[(C=i+4|0)>>2],ar[C>>2]=s,l?(du(l),f=0|ar[(b=i)>>2]):b=i,yo(f,h,k,1,3),u=0!=(0|d);do{if(u){if(f=0|ar[d+56>>2],1<=((0|ar[d+60>>2])-f|0)){l=0|cr[f>>0];break}for(ar[B>>2]=0,ar[B+4>>2]=0,f=(ar[B+8>>2]=0)|hu(48),ar[B>>2]=f,ar[B+8>>2]=-2147483600,u=31877,b=(l=f)+(ar[B+4>>2]=37)|0;tr[l>>0]=0|tr[u>>0],u=u+1|0,(0|(l=l+1|0))<(0|b););if(tr[f+37>>0]=0,oo(A,2,130,B),0<=(0|tr[B+11>>0]))break e;vu(0|ar[B>>2]);break e}l=8}while(0);Bo(0|ar[b>>2],3,h,k,l);do{if(u){if(f=I=0|ar[d+56>>2],3!=((0|ar[d+60>>2])-I|0))break;if((0|cr[f+1>>0])==(0|l)&&(0|cr[f+2>>0])==(0|l))break;for(ar[E>>2]=0,ar[E+4>>2]=0,f=(ar[E+8>>2]=0)|hu(64),ar[E>>2]=f,ar[E+8>>2]=-2147483584,u=31915,b=(l=f)+(ar[E+4>>2]=51)|0;tr[l>>0]=0|tr[u>>0],u=u+1|0,(0|(l=l+1|0))<(0|b););if(tr[f+51>>0]=0,oo(A,2,130,E),0<=(0|tr[E+11>>0]))break e;vu(0|ar[E>>2]);break e}}while(0);Bo(0|ar[b>>2],4,h,k,l),Bo(0|ar[b>>2],5,h,k,l),Z=e+32|0,p=4+n|0,B=(y=J+8|0)+11|0,E=A+8|0,X=Q+8|0,W=Q+4|0,I=Q+11|0;r:do{if(G<<16>>16){g=f=m=0;i:for(;;){for(v=w=r=0;!((0|Y)<=(0|r));){if(d=0|ar[(0|ar[c>>2])+(f<<2)>>2],!(u=0|ar[Z>>2]))break i;l=Z;f:for(;;){for(b=u;!((0|ar[b+16>>2])>>>0>=d>>>0);){if(!(u=0|ar[b+4>>2]))break f;b=u}if(!(u=0|ar[b>>2])){l=b;break}l=b}if((0|l)==(0|Z))break i;if(d>>>0<(0|ar[l+16>>2])>>>0)break i;u=0|ar[l+20>>2],(h=0==(0|(k=0|ar[l+24>>2])))||bu(k),s=0|ar[u+24>>2],b=0|ar[u+28>>2],ar[n>>2]=ar[i>>2],l=0|ar[C>>2],(ar[p>>2]=l)?(bu(l),Gl(J,e,d,n,v,g),du(l)):Gl(J,e,d,n,v,g);do{if(0|ar[J>>2])u=0|ar[(l=J)+4>>2],ar[(b=A)>>2]=ar[l>>2],ar[b+4>>2]=u,ar[E>>2]=ar[y>>2],ar[E+4>>2]=ar[y+4>>2],ar[E+8>>2]=ar[y+8>>2],ar[y>>2]=0,ar[y+4>>2]=0,ar[y+8>>2]=0,b=w,u=v,l=1;else{if(l=s+v|0,f=f+1|0,0<=(0|tr[B>>0])){u=l,l=0;break}vu(0|ar[y>>2]),u=l,l=0}}while(0);if(h||du(k),l)break e;r=r+1|0,w=b,v=u}if((0|_)<=(0|(m=m+1|0)))break r;g=w+g|0}for(ar[Q>>2]=0,ar[Q+4>>2]=0,f=(ar[Q+8>>2]=0)|hu(48),ar[Q>>2]=f,ar[X>>2]=-2147483600,u=31967,b=(l=f)+(ar[W>>2]=32)|0;tr[l>>0]=0|tr[u>>0],u=u+1|0,(0|(l=l+1|0))<(0|b););if(tr[f+32>>0]=0,oo(A,2,119,Q),0<=(0|tr[I>>0]))break e;vu(0|ar[Q>>2]);break e}}while(0);J=0|ar[(Q=56592)+4>>2],ar[A>>2]=ar[Q>>2],ar[A+4>>2]=J,yu(E,56600)}else D=51}while(0);51==(0|D)&&(l=p+64|0,ar[(b=p+8|0)>>2]=4524,u=p+12|0,ar[p>>2]=188,ar[l>>2]=208,Jf(p+64|(ar[p+4>>2]=0),u),ar[p+136>>2]=0,ar[p+140>>2]=-1,ar[p>>2]=4504,ar[l>>2]=4544,ar[b>>2]=4524,Sf(u),ar[u>>2]=4340,ar[(b=p+44|0)>>2]=0,ar[b+4>>2]=0,ar[b+8>>2]=0,ar[b+12>>2]=0,ar[p+60>>2]=24,ar[J>>2]=0,ar[J+4>>2]=0,ar[J+8>>2]=0,Xe(u,J),(0|tr[J+11>>0])<0&&vu(0|ar[J>>2]),J=0|We(0|Lf(0|We(0|Lf(0|We(f=p+8|0,30366,11),h),30170,1),k),30378,32),J=0|We(0|Lf(J,0|ar[s>>2]),30170,1),We(0|Lf(J,0|ar[e+76>>2]),30086,1),Ie(y,u),oo(A,6,1e3,y),(0|tr[y+11>>0])<0&&vu(0|ar[y>>2]),ar[p>>2]=4504,ar[l>>2]=4544,ar[f>>2]=4524,ar[u>>2]=4340,(0|tr[b+11>>0])<0&&vu(0|ar[b>>2]),kf(u),bf(l)),0|V&&du(V),0|(f=0|ar[4+t>>2])&&du(f),R||du(F),0|(f=0|ar[N>>2])&&du(f)}else l=Z+64|0,ar[(b=Z+8|0)>>2]=4524,u=Z+12|0,ar[Z>>2]=188,ar[l>>2]=208,Jf(Z+64|(ar[Z+4>>2]=0),u),ar[Z+136>>2]=0,ar[Z+140>>2]=-1,ar[Z>>2]=4504,ar[l>>2]=4544,ar[b>>2]=4524,Sf(u),ar[u>>2]=4340,ar[(b=Z+44|0)>>2]=0,ar[b+4>>2]=0,ar[b+8>>2]=0,ar[b+12>>2]=0,ar[Z+60>>2]=24,ar[J>>2]=0,ar[J+4>>2]=0,ar[J+8>>2]=0,Xe(u,J),(0|tr[J+11>>0])<0&&vu(0|ar[J>>2]),J=0|We(0|Pf(0|We(0|xf(0|We(0|xf(0|We(f=Z+8|0,31730,17),G),30170,1),s),31748,1),d),31750,17),We(0|Lf(J,(0|ar[M>>2])-(0|ar[c>>2])>>2),31768,20),Ie(k,u),oo(A,2,119,k),(0|tr[k+11>>0])<0&&vu(0|ar[k>>2]),ar[Z>>2]=4504,ar[l>>2]=4544,ar[f>>2]=4524,ar[u>>2]=4340,(0|tr[b+11>>0])<0&&vu(0|ar[b>>2]),kf(u),bf(l)}while(0);0|(c=0|ar[c>>2])&&((0|(f=0|ar[M>>2]))!=(0|c)&&(ar[M>>2]=f+(~((f+-4-c|0)>>>2)<<2)),vu(c))}else{for(ar[s>>2]=0,ar[s+4>>2]=0,c=(ar[s+8>>2]=0)|hu(64),ar[s>>2]=c,ar[s+8>>2]=-2147483584,u=31629,b=(l=c)+(ar[s+4>>2]=48)|0;tr[l>>0]=0|tr[u>>0],u=u+1|0,(0|(l=l+1|0))<(0|b););tr[c+48>>0]=0,oo(A,2,113,s),(0|tr[s+11>>0])<0&&vu(0|ar[s>>2])}U||du(T)}ur=(0<=(0|tr[(c=o+8|0)+11>>0])||vu(0|ar[c>>2]),a)}function Il(A,e,r,i){A|=0,r|=0,i|=0;var f,n,t,o,a=0,c=0,l=0,u=0;if(ur=(o=ur)+64|0,c=o+32|0,n=o+44|0,l=o+20|0,f=o,u=0|ar[(e|=0)+60>>2],a=0|ar[u+76>>2],(t=0==(0|(u=0|ar[u+80>>2])))||bu(u),a){if(fo(n,a,r,1684630887),c=4+n|0,a=0|ar[n>>2],4!=((0|ar[c>>2])-a|0)){for(ar[l>>2]=0,ar[l+4>>2]=0,a=(ar[l+8>>2]=0)|hu(48),ar[l>>2]=a,ar[l+8>>2]=-2147483600,e=31581,i=(r=a)+(ar[l+4>>2]=47)|0;tr[r>>0]=0|tr[e>>0],e=e+1|0,(0|(r=r+1|0))<(0|i););tr[a+47>>0]=0,oo(A,2,119,l),(0|tr[l+11>>0])<0&&vu(0|ar[l>>2])}else Xl(f,e,0|ar[a>>2],i,1,0),i=0|ar[(e=f)+4>>2],ar[(l=A)>>2]=ar[e>>2],ar[l+4>>2]=i,l=f+8|0,ar[(A=A+8|0)>>2]=ar[l>>2],ar[A+4>>2]=ar[l+4>>2],ar[A+8>>2]=ar[l+8>>2];0|(a=0|ar[n>>2])&&((0|(r=0|ar[c>>2]))!=(0|a)&&(ar[c>>2]=r+(~((r+-4-a|0)>>>2)<<2)),vu(a))}else{for(ar[c>>2]=0,ar[c+4>>2]=0,a=(ar[c+8>>2]=0)|hu(64),ar[c>>2]=a,ar[c+8>>2]=-2147483584,e=31532,i=(r=a)+(ar[c+4>>2]=48)|0;tr[r>>0]=0|tr[e>>0],e=e+1|0,(0|(r=r+1|0))<(0|i););tr[a+48>>0]=0,oo(A,2,113,c),(0|tr[c+11>>0])<0&&vu(0|ar[c>>2])}ur=(t||du(u),o)}function Cl(A,e,r,i,f){A|=0,r|=0,i|=0,f|=0;var n,t,o,a,c,l,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0,C=0,G=0,V=0,F=0;if(ur=(l=ur)+288|0,X=l+168|0,s=l+264|0,a=l+276|0,w=l+232|0,o=l+144|0,d=l+220|0,k=(W=l)+208|0,n=l+200|0,t=l+188|0,V=0|ar[(e|=0)+60>>2],u=0|ar[V+76>>2],(c=0==(0|(V=0|ar[V+80>>2])))||bu(V),u){fo(a,u,r,1684630887),ar[(I=w+20|0)>>2]=0,ar[(C=w+24|0)>>2]=0,function(A,e,r,i){A|=0,e|=0,r|=0,i|=0;var f,n,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0;for(ur=(n=ur)+208|0,u=n+192|0,t=(f=n)+32|0,b=n+48|0,s=n+20|0,o=0|hu(32),ar[t>>2]=o,ar[t+8>>2]=-2147483616,c=30088,l=(a=o)+(ar[t+4>>2]=29)|0;tr[a>>0]=0|tr[c>>0],c=c+1|0,(0|(a=a+1|0))<(0|l););tr[o+29>>0]=0,oo(f,2,118,t),(0|tr[t+11>>0])<0&&vu(0|ar[t>>2]),l=0|ar[i>>2],o=(0|ar[i+4>>2])-l|0;do{if(o>>>0<10)w=0|ar[(i=f)+4>>2],ar[(r=A)>>2]=ar[i>>2],ar[r+4>>2]=w,r=A+8|0,A=f+8|0,ar[r>>2]=ar[A>>2],ar[r+4>>2]=ar[A+4>>2],ar[r+8>>2]=ar[A+8>>2],ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0;else{if(w=0|tr[l>>0],tr[e>>0]=w,t=0|tr[l+1>>0],tr[e+1>>0]=t,w<<24>>24){o=b+64|0,ar[(c=b+8|0)>>2]=4524,a=b+12|0,ar[b>>2]=188,ar[o>>2]=208,Jf(b+64|(ar[b+4>>2]=0),a),ar[b+136>>2]=0,ar[b+140>>2]=-1,ar[b>>2]=4504,ar[o>>2]=4544,ar[c>>2]=4524,Sf(a),ar[a>>2]=4340,ar[(c=b+44|0)>>2]=0,ar[c+4>>2]=0,ar[c+8>>2]=0,ar[c+12>>2]=0,ar[b+60>>2]=24,ar[u>>2]=0,ar[u+4>>2]=0,ar[u+8>>2]=0,Xe(a,u),(0|tr[u+11>>0])<0&&vu(0|ar[u>>2]),r=0|We(t=b+8|0,30118,27),We(0|Pf(r,0|cr[e>>0]),30146,23),Ie(s,a),oo(A,4,3002,s),(0|tr[s+11>>0])<0&&vu(0|ar[s>>2]),ar[b>>2]=4504,ar[o>>2]=4544,ar[t>>2]=4524,ar[a>>2]=4340,(0|tr[c+11>>0])<0&&vu(0|ar[c>>2]),kf(a),bf(o);break}if(((10+((u=(b=t<<1&2)+2<<24>>24)<<1&255)&255)+(0|br(r<<1,w=255&u))|0)>>>0>o>>>0){w=0|ar[(i=f)+4>>2],ar[(r=A)>>2]=ar[i>>2],ar[r+4>>2]=w,r=A+8|0,A=f+8|0,ar[r>>2]=ar[A>>2],ar[r+4>>2]=ar[A+4>>2],ar[r+8>>2]=ar[A+8>>2],ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0;break}for(or[e+2>>1]=cr[l+3>>0]|cr[l+2>>0]<<8,or[e+4>>1]=cr[l+5>>0]|cr[l+4>>0]<<8,or[e+6>>1]=cr[l+7>>0]|cr[l+6>>0]<<8,or[e+8>>1]=cr[l+9>>0]|cr[l+8>>0]<<8,a=255&b,t=0,o=w,c=10;o=o+-1|0,t=cr[l+c>>0]|t<<8,o;)c=c+1|0;for(k=12|a,ar[e+12>>2]=t,o=k+a|0,c=0,t=w,a=k;t=t+-1|0,c=cr[l+a>>0]|c<<8,t;)a=a+1|0;if(l=o+2|0,ar[e+16>>2]=c,k=e+20|0,r>>>0<=(o=(c=0|ar[(t=e+24|0)>>2])-(a=0|ar[k>>2])>>3)>>>0?(r>>>0<o>>>0&&(0|c)!=(0|(d=a+(r<<3)|0))&&(ar[t>>2]=c+(~((c+-8-d|0)>>>3)<<3)),0|r&&(h=25)):(wl(k,r-o|0),h=25),25==(0|h))for(d=~(e=128<<(u<<3&255)-8),s=4+(b<<1&255)&255,b=0|ar[i>>2],u=0;;){for(a=0,t=w,o=l;t=t+-1|0,a=cr[b+o>>0]|a<<8,t;)o=o+1|0;for(c=0|ar[k>>2],ar[c+(u<<3)>>2]=(a&d)-(0==(a&e|0)?0:e),a=(o=w)+l|(t=0);o=o+-1|0,t=cr[b+a>>0]|t<<8,o;)a=a+1|0;if(ar[c+(u<<3)+4>>2]=(t&d)-(0==(t&e|0)?0:e),(0|(u=u+1|0))==(0|r))break;l=s+l|0}w=0|ar[(i=56592)+4>>2],ar[(r=A)>>2]=ar[i>>2],ar[r+4>>2]=w,yu(A+8|0,56600)}}while(0);ur=(0<=(0|tr[(t=f+8|0)+11>>0])||vu(0|ar[t>>2]),n)}(o,w,((ar[w+28>>2]=0)|ar[(G=4+a|0)>>2])-(0|ar[a>>2])>>2,f);A:do{if(0|ar[o>>2])W=0|ar[(e=o)+4>>2],ar[(F=A)>>2]=ar[e>>2],ar[F+4>>2]=W,F=8+o|0,ar[(A=A+8|0)>>2]=ar[F>>2],ar[A+4>>2]=ar[F+4>>2],ar[A+8>>2]=ar[F+8>>2],ar[F>>2]=0,ar[F+4>>2]=0,ar[F+8>>2]=0;else{if(y=w+20|0,((0|ar[G>>2])-(0|ar[a>>2])>>2|0)!=((0|ar[C>>2])-(0|ar[y>>2])>>3|0)){for(ar[d>>2]=0,ar[d+4>>2]=0,u=(ar[d+8>>2]=0)|hu(80),ar[d>>2]=u,ar[d+8>>2]=-2147483568,f=31462,b=(r=u)+(ar[d+4>>2]=69)|0;tr[r>>0]=0|tr[f>>0],f=f+1|0,(0|(r=r+1|0))<(0|b););if(tr[u+69>>0]=0,oo(A,2,121,d),0<=(0|tr[d+11>>0]))break;vu(0|ar[d>>2]);break}if(d=0|ar[w+12>>2],h=0|ar[w+16>>2],d>>>0<(0|ar[(s=e+72|0)>>2])>>>0&&h>>>0<(0|ar[e+76>>2])>>>0){if(f=0|hu(80),ar[f+4>>2]=0,ar[f+8>>2]=0,ar[f>>2]=6208,ar[(u=f+12|0)>>2]=0,ar[u+4>>2]=0,ar[u+8>>2]=0,ar[u+12>>2]=0,ar[u+16>>2]=0,ar[f+32>>2]=30025,ar[f+36>>2]=0,ar[f+40>>2]=0,ar[f+44>>2]=99,ar[f+48>>2]=99,s=f+52|0,ar[(b=f+72|0)>>2]=0,ar[f+76>>2]=0,ar[s>>2]=0,ar[s+4>>2]=0,ar[s+8>>2]=0,ar[s+12>>2]=0,ar[f+68>>2]=b,b=u,p=(s=f)+16|0,bu(f),su(f),r=0|ar[p>>2],ar[u>>2]=b,ar[p>>2]=s,0|r&&ku(r),du(f),ar[i>>2]=b,r=0|ar[(p=i+4|0)>>2],ar[p>>2]=s,r?(du(r),u=0|ar[(p=i)>>2]):p=i,yo(u,d,h,1,3),Bo(0|ar[p>>2],3,d,h,8),Bo(0|ar[p>>2],4,d,h,8),Bo(0|ar[p>>2],5,d,h,8),ll(X,0|ar[p>>2],0|or[w+2>>1],0|or[w+4>>1],0|or[w+6>>1],0|or[w+8>>1]),u=0|ar[(Z=X)+4>>2],ar[(g=o)>>2]=ar[Z>>2],ar[g+4>>2]=u,u=X+8|0,(0|tr[(Z=(g=8+o|0)+11|0)>>0])<0?(tr[ar[g>>2]>>0]=0,ar[12+o>>2]=0):(tr[g>>0]=0,tr[Z>>0]=0),Cu(g,0),ar[g>>2]=ar[u>>2],ar[g+4>>2]=ar[u+4>>2],ar[g+8>>2]=ar[u+8>>2],0|ar[o>>2]){e=0|ar[(X=o)+4>>2],ar[(W=A)>>2]=ar[X>>2],ar[W+4>>2]=e,ar[(A=A+8|0)>>2]=ar[g>>2],ar[A+4>>2]=ar[g+4>>2],ar[A+8>>2]=ar[g+8>>2],ar[g>>2]=0,ar[g+4>>2]=0,ar[g+8>>2]=0;break}u=0|ar[a>>2];e:do{if((0|ar[G>>2])==(0|u))E=(B=A)+8|0;else{b=X+4|0,d=12+o|0,k=4+n|0,i=W+4|0,h=11+t|0,w=s=W+8|0,v=A+8|0,m=4+o|0,f=0;r:for(;;){ar[X>>2]=0,Xl(W,e,(ar[b>>2]=0)|ar[u+(f<<2)>>2],X,1,0),u=0|ar[(F=W)+4>>2],ar[(r=o)>>2]=ar[F>>2],ar[r+4>>2]=u,(0|tr[Z>>0])<0?(tr[ar[g>>2]>>0]=0,ar[d>>2]=0):(tr[g>>0]=0,tr[Z>>0]=0),Cu(g,0),ar[g>>2]=ar[s>>2],ar[g+4>>2]=ar[s+4>>2],ar[g+8>>2]=ar[s+8>>2];i:do{if((0|ar[o>>2])==(0|ar[14148])){ar[n>>2]=0,me(W,X,1,3,n,ar[k>>2]=0),u=0|ar[W>>2],F=0|ar[i>>2],ar[W>>2]=0,ar[i>>2]=0,ar[X>>2]=u,u=0|ar[b>>2],ar[b>>2]=F;do{if(0|u){if(du(u),!(u=0|ar[i>>2]))break;du(u)}}while(0);if(0|(u=0|ar[k>>2])&&du(u),!(0|ar[X>>2])){if(ar[t>>2]=0,ar[4+t>>2]=0,ar[8+t>>2]=0,oo(A,4,3003,t),0<=(0|tr[h>>0])){u=1;break}vu(0|ar[t>>2]),u=1;break}if(u=F=0|ar[y>>2],(0|ar[C>>2])-F>>3>>>0<=f>>>0)break r;ul(W,0|ar[p>>2],X,0|ar[u+(f<<3)>>2],0|ar[u+(f<<3)+4>>2]),r=0|ar[(u=W)+4>>2],ar[(F=o)>>2]=ar[u>>2],ar[F+4>>2]=r,(0|tr[Z>>0])<0?(tr[ar[g>>2]>>0]=0,ar[d>>2]=0):(tr[g>>0]=0,tr[Z>>0]=0),Cu(g,0),ar[g>>2]=ar[w>>2],ar[g+4>>2]=ar[w+4>>2],ar[g+8>>2]=ar[w+8>>2];f:do{switch(0|ar[o>>2]){case 0:u=0;break i;case 2:if(122!=(0|ar[m>>2]))break f;F=0|ar[(r=56592)+4>>2],ar[(u=o)>>2]=ar[r>>2],ar[u+4>>2]=F,Eu(g,56600),u=0;break i}}while(0);F=0|ar[(r=o)+4>>2],ar[(u=A)>>2]=ar[r>>2],ar[u+4>>2]=F,ar[v>>2]=ar[g>>2],ar[v+4>>2]=ar[g+4>>2],ar[v+8>>2]=ar[g+8>>2],ar[g>>2]=0,ar[g+4>>2]=0,ar[g+8>>2]=0,u=1}else F=0|ar[(r=o)+4>>2],ar[(u=A)>>2]=ar[r>>2],ar[u+4>>2]=F,ar[v>>2]=ar[g>>2],ar[v+4>>2]=ar[g+4>>2],ar[v+8>>2]=ar[g+8>>2],ar[g>>2]=0,ar[g+4>>2]=0,ar[g+8>>2]=0,u=1}while(0);if(0|(r=0|ar[b>>2])&&du(r),f=f+1|0,0|u)break A;if(u=0|ar[a>>2],f>>>0>=(0|ar[G>>2])-u>>2>>>0){B=A,E=v;break e}}sr(30172,30203,382,30219)}}while(0);A=0|ar[(W=o)+4>>2],ar[(F=B)>>2]=ar[W>>2],ar[F+4>>2]=A,ar[E>>2]=ar[g>>2],ar[E+4>>2]=ar[g+4>>2],ar[E+8>>2]=ar[g+8>>2],ar[g>>2]=0,ar[g+4>>2]=0,ar[g+8>>2]=0;break}r=W+64|0,ar[(b=W+8|0)>>2]=4524,f=W+12|0,ar[W>>2]=188,ar[r>>2]=208,Jf(W+64|(ar[W+4>>2]=0),f),ar[W+136>>2]=0,ar[W+140>>2]=-1,ar[W>>2]=4504,ar[r>>2]=4544,ar[b>>2]=4524,Sf(f),ar[f>>2]=4340,ar[(b=W+44|0)>>2]=0,ar[b+4>>2]=0,ar[b+8>>2]=0,ar[b+12>>2]=0,ar[W+60>>2]=24,ar[X>>2]=0,ar[X+4>>2]=0,ar[X+8>>2]=0,Xe(f,X),(0|tr[X+11>>0])<0&&vu(0|ar[X>>2]),F=0|We(0|Lf(0|We(0|Lf(0|We(u=W+8|0,30366,11),d),30170,1),h),30378,32),F=0|We(0|Lf(F,0|ar[s>>2]),30170,1),We(0|Lf(F,0|ar[e+76>>2]),30086,1),Ie(k,f),oo(A,6,1e3,k),(0|tr[k+11>>0])<0&&vu(0|ar[k>>2]),ar[W>>2]=4504,ar[r>>2]=4544,ar[u>>2]=4524,ar[f>>2]=4340,(0|tr[b+11>>0])<0&&vu(0|ar[b>>2]),kf(f),bf(r)}}while(0);(0|tr[(u=8+o|0)+11>>0])<0&&vu(0|ar[u>>2]),0|(u=0|ar[I>>2])&&((0|(r=0|ar[C>>2]))!=(0|u)&&(ar[C>>2]=r+(~((r+-8-u|0)>>>3)<<3)),vu(u)),0|(u=0|ar[a>>2])&&((0|(r=0|ar[G>>2]))!=(0|u)&&(ar[G>>2]=r+(~((r+-4-u|0)>>>2)<<2)),vu(u))}else{for(ar[s>>2]=0,ar[s+4>>2]=0,u=(ar[s+8>>2]=0)|hu(64),ar[s>>2]=u,ar[s+8>>2]=-2147483584,f=31413,b=(r=u)+(ar[s+4>>2]=48)|0;tr[r>>0]=0|tr[f>>0],f=f+1|0,(0|(r=r+1|0))<(0|b););tr[u+48>>0]=0,oo(A,2,113,s),(0|tr[s+11>>0])<0&&vu(0|ar[s>>2])}ur=(c||du(V),l)}function Gl(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var t,o,a,c,l,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0;if(ur=(l=ur)+80|0,Z=(c=l)+52|0,k=l+36|0,t=l+48|0,o=l+32|0,h=l+20|0,ar[(g=l+64|0)>>2]=0,Xl(c,e,r,g,(ar[(a=g+4|0)>>2]=0)|ar[32+(0|ar[i>>2])>>2],0),(0|ar[c>>2])==(0|ar[14148])){e=0|ar[i>>2],s=0|ar[e+24>>2],d=0|ar[e+28>>2],r=0|ar[g>>2],u=0|ar[r+24>>2],r=0|ar[r+28>>2],(0|u)<=-1&&sr(32e3,30203,1540,32015),(0|r)<=-1&&sr(32043,30203,1541,32015),m=0|ar[e+36>>2],Io(Z,e),e=0|ar[g>>2];A:do{if((0|m)!=(0|ar[e+36>>2])){for(ar[k>>2]=0,ar[k+4>>2]=0,e=(ar[k+8>>2]=0)|hu(64),ar[k>>2]=e,ar[k+8>>2]=-2147483584,u=32059,b=(r=e)+(ar[k+4>>2]=58)|0;tr[r>>0]=0|tr[u>>0],u=u+1|0,(0|(r=r+1|0))<(0|b););tr[e+58>>0]=0,oo(A,2,127,k),(0|tr[k+11>>0])<0&&vu(0|ar[k>>2])}else{b=0|ar[Z>>2],m=Z+4|0;e:do{if((0|b)!=(0|m)){if(k=(0|(k=s-f|0))<(0|u)?k:u,w=0<(0|(v=(0|(v=d-n|0))<(0|r)?v:r)),!((0|f)<(0|s)&(0|n)<(0|d))){Fo(e,g=0|ar[b+16>>2],t),Fo(0|ar[i>>2],g,o),ar[h>>2]=0,ar[h+4>>2]=0,ar[h+8>>2]=0,oo(A,2,118,h),(0|tr[h+11>>0])<0&&vu(0|ar[h>>2]);break A}for(;;){if(u=0|Fo(e,s=0|ar[b+16>>2],t),e=0|Fo(0|ar[i>>2],s,o),s=0|br((255&(0|Go(0|ar[g>>2],3)))>>>3&255,k),r=0|Go(0|ar[g>>2],3),w)for(r=e+(0|br((255&r)>>>3&255,f))|0,e=0;hb(0|(h=r+(0|br(0|ar[o>>2],e+n|0))|0),u+(0|br(0|ar[t>>2],e))|0,0|s),(0|(e=e+1|0))<(0|v););if(e=0|ar[b+4>>2])for(;r=0|ar[e>>2];)e=r;else if(e=0|ar[(r=b+8|0)>>2],(0|ar[e>>2])!=(0|b))for(;h=0|ar[r>>2],e=0|ar[(r=h+8|0)>>2],(0|ar[e>>2])!=(0|h););if((0|e)==(0|m))break e;b=e,e=0|ar[g>>2]}}}while(0);n=0|ar[(f=56592)+4>>2],ar[(g=A)>>2]=ar[f>>2],ar[g+4>>2]=n,yu(A+8|0,56600)}}while(0);Co(Z,0|ar[Z+4>>2]),(0|tr[c+8+11>>0])<0&&vu(0|ar[c+8>>2])}else g=0|ar[(n=c)+4>>2],ar[(Z=A)>>2]=ar[n>>2],ar[Z+4>>2]=g,Z=c+8|0,ar[(A=A+8|0)>>2]=ar[Z>>2],ar[A+4>>2]=ar[Z+4>>2],ar[A+8>>2]=ar[Z+8>>2],ar[Z>>2]=0,ar[Z+4>>2]=0,ar[Z+8>>2]=0;ur=((e=0|ar[a>>2])&&du(e),l)}function Vl(A,e,r){A|=0,r|=0;var i,f,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0;if(ur=(f=ur)+80|0,i=f+76|0,b=f+72|0,d=(s=f)+64|0,YA(n=f+32|0,u=0|ar[(e|=0)>>2],(0|ar[(t=e+4|0)>>2])-u|0),(0|(u=0|QA(n,32)))<=(0|(n=((0|ar[n+24>>2])/-8|0)+((0|ar[n+4>>2])-(0|ar[n+8>>2]))|0)))return b=0|ar[(b=r=56592)>>2],r=0|ar[(r=r+4|0)>>2],ar[(s=d=A)>>2]=b,ar[(d=d+4|0)>>2]=r,yu(A=A+8|0,56600),void(ur=f);if(YA(s,(u=0|ar[e>>2])+n|0,(0|ar[t>>2])-(u+n)|0),QA(s,32),u=(0|QA(s,8))>>>1,function(A,e){e|=0;var r,i=0,f=0,n=0,t=0,o=0,a=0,c=0,l=0;if((0|(i=0|ar[(r=(A|=0)+24|0)>>2]))<(0|e)){i=64-i|0,n=A+8|0;A:do{if(7<(0|i)){t=A+16|0,f=0|ar[n>>2];do{if(!f)break A;c=0|ar[A>>2],ar[A>>2]=c+1,c=0|cr[c>>0],f=f+-1|0,ar[n>>2]=f,c=0|db(0|c,0,0|(i=i+-8|0)),a=ar[(l=t)+4>>2]|D,ar[(o=t)>>2]=ar[l>>2]|c,ar[o+4>>2]=a}while(7<(0|i))}}while(0);i=64-i|0,ar[r>>2]=i}c=0|db(0|ar[(c=l=A+16|0)>>2],0|ar[c+4>>2],0|e),ar[l>>2]=c,ar[l+4>>2]=D,ar[r>>2]=i-e}(s,8),((255&u)-39|0)>>>0<2&&(u=0|QA(s,8),QA(s,8),177==(255&u|0))){for(u=0|hu(80),ar[u+4>>2]=0,ar[u+8>>2]=0,ar[u>>2]=6448,t=(n=e=u+16|0)+64|0;(0|(n=n+4|(ar[n>>2]=0)))<(0|t););ar[e>>2]=6476,l=e,tr[(c=u)+24>>0]=1,ar[(e=u+68|0)>>2]=0,ar[u+72>>2]=0,k=255&((ar[u+76>>2]=0)|QA(s,1)),tr[(n=u+25|0)>>0]=k,k=255&(0|QA(s,1)),tr[(t=u+26|0)>>0]=k,k=255&(0|QA(s,1)),tr[(o=u+27|0)>>0]=k,k=255&(0|QA(s,1)),tr[(a=u+28|0)>>0]=k,DA(s,i),ar[u+64>>2]=ar[i>>2],(0!=(0|tr[o>>0])||0|tr[a>>0])&&(DA(s,b),ar[e>>2]=ar[b>>2]),0|tr[n>>0]&&(h=+Fl(s),Q[u+32>>3]=h),0|tr[t>>0]&&(h=+Fl(s),Q[u+40>>3]=h),0|tr[o>>0]&&(h=+Fl(s),Q[u+48>>3]=h),0|tr[a>>0]&&(h=+Fl(s),Q[u+56>>3]=h),ar[d>>2]=l,ar[(t=d+4|0)>>2]=c,(0|(n=0|ar[(e=r+4|0)>>2]))==(0|ar[r+8>>2])?function(A,e){e|=0;var r,i,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0;f=0|ar[(u=4+(A|=0)|0)>>2],n=0|ar[A>>2],536870911<(t=1+(r=f-(c=n)>>3)|0)>>>0&&zl();l=(0|ar[(i=A+8|0)>>2])-n|0,o=l>>2,o=l>>3>>>0<268435455?o>>>0<t>>>0?t:o:536870911;do{if(o){if(!(536870911<o>>>0)){a=0|hu(o<<3);break}Zu(u=0|X(8),44519),ar[u>>2]=17660,I(0|u,4016,428)}else a=0}while(0);l=a+(o<<3)|0,ar[(t=n=a+(r<<3)|0)>>2]=ar[e>>2],o=0|ar[e+4>>2],o=(ar[a+(r<<3)+4>>2]=o)?(bu(o),f=0|ar[u>>2],0|ar[A>>2]):c;if(a=n+8|0,(0|f)!=(0|o)){for(;f=(c=f)+-8|0,ar[n+-8>>2]=ar[f>>2],c=c+-4|0,ar[n+-4>>2]=ar[c>>2],ar[f>>2]=0,ar[c>>2]=0,t=n=t+-8|0,(0|f)!=(0|o););o=0|ar[A>>2],f=0|ar[u>>2]}if(ar[A>>2]=t,ar[u>>2]=a,ar[i>>2]=l,(0|f)!=(0|(t=o)))for(;n=0|ar[f+-4>>2],f=f+-8|0,0|n&&du(n),(0|f)!=(0|t););if(!o)return;vu(o)}(r,d):(ar[n>>2]=l,bu(ar[n+4>>2]=u),ar[e>>2]=8+(0|ar[e>>2])),0|(e=0|ar[t>>2])&&du(e)}s=0|ar[(s=d=56592)>>2],d=0|ar[(d=d+4|0)>>2],ar[(r=k=A)>>2]=s,ar[(k=k+4|0)>>2]=d,yu(k=A+8|0,56600),ur=f}function Fl(A){var e,r,i,f=0,n=0,t=0;return e=0|QA(A|=0,1),r=0|QA(A,7),i=0|QA(A,5),A=0|QA(A,f=1+i|0),0<(0|r)?(t=+Af(1,r-31|0),n=-(t*=(0|A)/Af(1,f)+1),+(n=(f=0==(0|e))?t:n)):(t=-(n=(0|A)*Af(1,-31-i|0)),+(t=(f=0==(0|e))?n:t))}function Rl(A){A|=0;var e=0,r=0,i=0,f=0,n=0,t=0;if(57284==(0|(r=0|ar[14320])))return(A=0)|A;n=e=0;do{if(t=0|ar[r+16>>2],e=(f=(0|n)<(0|(i=0|jb[127&ar[t+16>>2]](A))))?t:e,n=f?i:n,i=0|ar[r+4>>2])for(r=i;i=0|ar[r>>2];)r=i;else if(f=0|ar[(i=r+8|0)>>2],(0|ar[f>>2])==(0|r))r=f;else for(;t=0|ar[i>>2],r=0|ar[(i=t+8|0)>>2],(0|ar[r>>2])!=(0|t););}while(57284!=(0|r));return 0|e}function Nl(A,e){e|=0;var r,i,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0;o=0|ar[(b=(A|=0)+4|0)>>2],r=f=0|ar[A>>2],119304647<(n=(l=((t=o)-f|0)/36|0)+1|0)>>>0&&zl(),a=(u=((0|ar[(i=A+8|0)>>2])-f|0)/36|0)<<1,a=u>>>0<59652323?a>>>0<n>>>0?n:a:119304647;do{if(a){if(!(119304647<a>>>0)){c=0|hu(36*a|0);break}Zu(b=0|X(8),44519),ar[b>>2]=17660,I(0|b,4016,428)}else c=0}while(0);if(u=c+(36*a|0)|0,ar[(f=n=c+(36*l|0)|0)>>2]=ar[e>>2],ar[n+4>>2]=ar[e+4>>2],ar[n+8>>2]=ar[e+8>>2],ar[n+12>>2]=ar[e+12>>2],s=e+16|0,ar[c+(36*l|0)+16>>2]=ar[s>>2],a=e+20|0,ar[c+(36*l|0)+20>>2]=ar[a>>2],ar[s>>2]=0,a=c+(36*l|(ar[a>>2]=0))+24|0,l=e+24|0,ar[a>>2]=ar[l>>2],ar[a+4>>2]=ar[l+4>>2],ar[a+8>>2]=ar[l+8>>2],a=n+36|0,(0|t)!=(0|r)){for(;t=(l=t)+-36|0,ar[(e=n+-36|0)>>2]=ar[t>>2],ar[e+4>>2]=ar[t+4>>2],ar[e+8>>2]=ar[t+8>>2],ar[e+12>>2]=ar[t+12>>2],e=l+-20|0,ar[n+-20>>2]=ar[e>>2],s=l+-16|0,ar[n+-16>>2]=ar[s>>2],ar[e>>2]=0,l=l+-12|(ar[s>>2]=0),ar[(s=n+-12|0)>>2]=ar[l>>2],ar[s+4>>2]=ar[l+4>>2],ar[s+8>>2]=ar[l+8>>2],f=n=f+-36|0,(0|t)!=(0|r););o=0|ar[A>>2]}if(ar[A>>2]=f,f=0|ar[b>>2],ar[b>>2]=a,ar[i>>2]=u,(0|f)!=(0|(t=o)))for(;n=0|ar[f+-16>>2],f=f+-36|0,0|n&&du(n),(0|f)!=(0|t););o&&vu(o)}function _l(A,e,r,i,f,n,t,o,a,c){e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,a|=0,c|=0;var l,u,b;if(u=ur=(b=ur)+31&-32,ur=ur+16|0,l=12+u|0,A|=0){if(r=0|un(r,60968),e){for(fs[63&ar[44+(0|ar[r>>2])>>2]](l,r),A=0|ar[l>>2],tr[i>>0]=A,tr[i+1>>0]=A>>8,tr[i+2>>0]=A>>16,tr[i+3>>0]=A>>24,fs[63&ar[32+(0|ar[r>>2])>>2]](u,r),(0|tr[(A=a+8+3|0)>>0])<0?(i=0|ar[a>>2],ar[l>>2]=0,ln(i,l),ar[a+4>>2]=0):(ar[l>>2]=0,ln(a,l),tr[A>>0]=0),Mu(a,0),ar[a>>2]=ar[u>>2],ar[a+4>>2]=ar[4+u>>2],ar[a+8>>2]=ar[8+u>>2],A=0;3!=(0|A);)A=A+1|(ar[u+(A<<2)>>2]=0);Qu(u)}else{for(fs[63&ar[40+(0|ar[r>>2])>>2]](l,r),A=0|ar[l>>2],tr[i>>0]=A,tr[i+1>>0]=A>>8,tr[i+2>>0]=A>>16,tr[i+3>>0]=A>>24,fs[63&ar[28+(0|ar[r>>2])>>2]](u,r),(0|tr[(A=a+8+3|0)>>0])<0?(i=0|ar[a>>2],ar[l>>2]=0,ln(i,l),ar[a+4>>2]=0):(ar[l>>2]=0,ln(a,l),tr[A>>0]=0),Mu(a,0),ar[a>>2]=ar[u>>2],ar[a+4>>2]=ar[4+u>>2],ar[a+8>>2]=ar[8+u>>2],A=0;3!=(0|A);)A=A+1|(ar[u+(A<<2)>>2]=0);Qu(u)}for(A=0|jb[127&ar[12+(0|ar[r>>2])>>2]](r),ar[f>>2]=A,A=0|jb[127&ar[16+(0|ar[r>>2])>>2]](r),ar[n>>2]=A,fs[63&ar[20+(0|ar[r>>2])>>2]](u,r),A=((0|tr[(A=t+11|0)>>0])<0?(A=0|ar[t>>2],tr[l>>0]=0,Qf(A,l),ar[t+4>>2]=0):(tr[l>>0]=0,Qf(t,l),tr[A>>0]=0),t),Cu(t,0),ar[A>>2]=ar[u>>2],ar[A+4>>2]=ar[4+u>>2],ar[A+8>>2]=ar[8+u>>2],A=0;3!=(0|A);)A=A+1|(ar[u+(A<<2)>>2]=0);for(Bu(u),fs[63&ar[24+(0|ar[r>>2])>>2]](u,r),(0|tr[(A=o+8+3|0)>>0])<0?(t=0|ar[o>>2],ar[l>>2]=0,ln(t,l),ar[o+4>>2]=0):(ar[l>>2]=0,ln(o,l),tr[A>>0]=0),Mu(o,0),ar[o>>2]=ar[u>>2],ar[o+4>>2]=ar[4+u>>2],ar[o+8>>2]=ar[8+u>>2],A=0;3!=(0|A);)A=A+1|(ar[u+(A<<2)>>2]=0);Qu(u),A=0|jb[127&ar[36+(0|ar[r>>2])>>2]](r)}else{if(r=0|un(r,60960),e){for(fs[63&ar[44+(0|ar[r>>2])>>2]](l,r),A=0|ar[l>>2],tr[i>>0]=A,tr[i+1>>0]=A>>8,tr[i+2>>0]=A>>16,tr[i+3>>0]=A>>24,fs[63&ar[32+(0|ar[r>>2])>>2]](u,r),(0|tr[(A=a+8+3|0)>>0])<0?(i=0|ar[a>>2],ar[l>>2]=0,ln(i,l),ar[a+4>>2]=0):(ar[l>>2]=0,ln(a,l),tr[A>>0]=0),Mu(a,0),ar[a>>2]=ar[u>>2],ar[a+4>>2]=ar[4+u>>2],ar[a+8>>2]=ar[8+u>>2],A=0;3!=(0|A);)A=A+1|(ar[u+(A<<2)>>2]=0);Qu(u)}else{for(fs[63&ar[40+(0|ar[r>>2])>>2]](l,r),A=0|ar[l>>2],tr[i>>0]=A,tr[i+1>>0]=A>>8,tr[i+2>>0]=A>>16,tr[i+3>>0]=A>>24,fs[63&ar[28+(0|ar[r>>2])>>2]](u,r),(0|tr[(A=a+8+3|0)>>0])<0?(i=0|ar[a>>2],ar[l>>2]=0,ln(i,l),ar[a+4>>2]=0):(ar[l>>2]=0,ln(a,l),tr[A>>0]=0),Mu(a,0),ar[a>>2]=ar[u>>2],ar[a+4>>2]=ar[4+u>>2],ar[a+8>>2]=ar[8+u>>2],A=0;3!=(0|A);)A=A+1|(ar[u+(A<<2)>>2]=0);Qu(u)}for(A=0|jb[127&ar[12+(0|ar[r>>2])>>2]](r),ar[f>>2]=A,A=0|jb[127&ar[16+(0|ar[r>>2])>>2]](r),ar[n>>2]=A,fs[63&ar[20+(0|ar[r>>2])>>2]](u,r),A=((0|tr[(A=t+11|0)>>0])<0?(A=0|ar[t>>2],tr[l>>0]=0,Qf(A,l),ar[t+4>>2]=0):(tr[l>>0]=0,Qf(t,l),tr[A>>0]=0),t),Cu(t,0),ar[A>>2]=ar[u>>2],ar[A+4>>2]=ar[4+u>>2],ar[A+8>>2]=ar[8+u>>2],A=0;3!=(0|A);)A=A+1|(ar[u+(A<<2)>>2]=0);for(Bu(u),fs[63&ar[24+(0|ar[r>>2])>>2]](u,r),(0|tr[(A=o+8+3|0)>>0])<0?(t=0|ar[o>>2],ar[l>>2]=0,ln(t,l),ar[o+4>>2]=0):(ar[l>>2]=0,ln(o,l),tr[A>>0]=0),Mu(o,0),ar[o>>2]=ar[u>>2],ar[o+4>>2]=ar[4+u>>2],ar[o+8>>2]=ar[8+u>>2],A=0;3!=(0|A);)A=A+1|(ar[u+(A<<2)>>2]=0);Qu(u),A=0|jb[127&ar[36+(0|ar[r>>2])>>2]](r)}ar[c>>2]=A,ur=b}function Yl(A,e,r,i,f,n,t,o,a,c,l,u,b,s,d){A|=0,e|=0,i|=0,f|=0,n|=0,t|=0,o|=0,a|=0,c|=0,l|=0,u|=0,b|=0,s|=0,d|=0;var k,h,w,v,m,g,Z,p,y=0,B=0,E=0,X=0,W=0,I=0,C=0,G=0,V=0,F=0,R=0;for(ar[(r|=0)>>2]=A,k=s+8+3|0,p=s+4|0,h=b+8+3|0,w=b+4|0,v=0==(512&i|0),m=0<(0|d),g=u+11|0,Z=u+4|0,F=0;4!=(0|F);){A:do{switch(0|tr[a+F>>0]){case 0:ar[e>>2]=ar[r>>2];break;case 1:ar[e>>2]=ar[r>>2],G=0|Hb[31&ar[44+(0|ar[t>>2])>>2]](t,32),V=0|ar[r>>2],ar[r>>2]=V+4,ar[V>>2]=G;break;case 3:0|((y=(V=0|tr[k>>0])<<24>>24<0)?0|ar[p>>2]:255&V)&&(G=0|ar[(y?0|ar[s>>2]:s)>>2],V=0|ar[r>>2],ar[r>>2]=V+4,ar[V>>2]=G);break;case 2:if(!(v|0==(0|(W=(y=(W=0|tr[h>>0])<<24>>24<0)?0|ar[w>>2]:255&W)))){for(B=(X=y?0|ar[b>>2]:b)+(W<<2)|0,y=E=0|ar[r>>2];(0|X)!=(0|B);)ar[y>>2]=ar[X>>2],y=y+4|0,X=X+4|0;ar[r>>2]=E+(W<<2)}break;case 4:for(B=0|ar[r>>2],y=f=o?f+4|0:f;!(n>>>0<=y>>>0)&&0|xb[63&ar[12+(0|ar[t>>2])>>2]](t,2048,0|ar[y>>2]);)y=y+4|0;if(m){for(X=d;f>>>0<y>>>0&(E=0<(0|X));)C=0|ar[(V=y+-4|0)>>2],G=0|ar[r>>2],ar[r>>2]=G+4,ar[G>>2]=C,X=X+-1|0,y=V;for(I=E?0|Hb[31&ar[44+(0|ar[t>>2])>>2]](t,48):0,W=0|ar[r>>2];E=W+4|0,!((0|X)<=0);)ar[W>>2]=I,X=X+-1|0,W=E;ar[r>>2]=E,ar[W>>2]=c}if((0|y)==(0|f))G=0|Hb[31&ar[44+(0|ar[t>>2])>>2]](t,48),y=(V=0|ar[r>>2])+4|0,ar[r>>2]=y,ar[V>>2]=G;else{for(G=(V=0|tr[g>>0])<<24>>24<0,V&=255,I=E=(W=0|(G?0|ar[Z>>2]:V)?0|tr[(G?0|ar[u>>2]:u)>>0]:-1,0);(0|y)!=(0|f);)X=0|ar[r>>2],(0|I)==(0|W)&&(C=X+4|0,ar[r>>2]=C,ar[X>>2]=l,X=(I=(W=(E=E+1|0)>>>0<(G?0|ar[Z>>2]:V)>>>0?(W=0|tr[(G?0|ar[u>>2]:u)+E>>0])<<24>>24==127?-1:W<<24>>24:I,0),C)),R=0|ar[(C=y+-4|0)>>2],ar[r>>2]=X+4,ar[X>>2]=R,I=I+1|0,y=C;y=0|ar[r>>2]}if((0|B)!=(0|y))for(;;){if((y=y+-4|0)>>>0<=B>>>0)break A;R=0|ar[B>>2],ar[B>>2]=ar[y>>2],ar[y>>2]=R,B=B+4|0}}}while(0);F=F+1|0}if(1<(f=(y=(f=0|tr[k>>0])<<24>>24<0)?0|ar[p>>2]:255&f)>>>0){for(X=(y=y?0|ar[s>>2]:s)+4|0,E=(y=y+(f<<2)|0)-X|0,f=B=0|ar[r>>2];(0|X)!=(0|y);)ar[f>>2]=ar[X>>2],f=f+4|0,X=X+4|0;ar[r>>2]=B+(E>>>2<<2)}switch((176&i)<<24>>24){case 32:ar[e>>2]=ar[r>>2];break;case 16:break;default:ar[e>>2]=A}}function Ql(A){var e;ar[(A|=0)>>2]=16988,(0|(0|ar[(e=A+8|0)>>2]))!=(0|dn())&&of(0|ar[e>>2]),an()}function Dl(A){var e,r,i=0,f=0;for(ar[(A|=0)>>2]=17036,e=A+8|0,r=A+12|0,f=0;i=0|ar[e>>2],!(f>>>0>=(0|ar[r>>2])-i>>2>>>0);)0|(i=0|ar[i+(f<<2)>>2])&&lu(i),f=f+1|0;Bu(A+144|0),function(A){var e,r=0,i=0,f=0;e=0|ar[(A|=0)>>2];do{if(0|e){for(i=0|ar[(r=A+4|0)>>2];(0|i)!=(0|e);)f=i+-4|0,ar[r>>2]=f,i=f;if((A+16|0)==(0|e)){tr[A+128>>0]=0;break}vu(e);break}}while(0)}(e),an()}function Jl(A){var e;ar[(A|=0)>>2]=17056,0|(e=0|ar[A+8>>2])&&0|tr[A+12>>0]&&mu(e),an()}function Ml(){return 0|ar[3118]}function Tl(){return 0|ar[2733]}function Ul(){return 0|ar[2732]}function Sl(A){ar[(A|=0)>>2]=17108,Bu(A+12|0),an()}function Ol(A){ar[(A|=0)>>2]=17148,Bu(A+16|0),an()}function zl(){lA()}function jl(A,e){e|=0;var r,i,f,n,t,o,a,c,l,u,b,s,d,k,h,w,v,m,g,Z,p,y,B,E,X,W,I,C,G,V,F,R,N,_,Y,Q,D,J,M,T,U,S,O,z,j,H,x,P,L,K,q,$,AA,eA,rA,iA,fA,nA,tA,oA,aA,cA,lA=0,uA=0,bA=0,sA=0;for(r=ur=(i=ur)+31&-32,ur=ur+16|0,ar[(A|=0)+4>>2]=e+-1,ar[A>>2]=17036,f=lA=A+8|0,n=28,n|=0,ar[(f|=0)>>2]=0,ar[f+4>>2]=0,ar[f+8>>2]=0,(tr[f+128>>0]=0)|n&&(function(A,e){var r=0;(0|Ll(A|=0))>>>0<(e|=0)>>>0&&zl();r=e>>>0<29&0==(0|tr[(r=A+128|0)>>0])?(tr[r>>0]=1,A+16|0):0|hu(e<<2);ar[A+4>>2]=r,ar[A>>2]=r,ar[A+8>>2]=r+(e<<2)}(f,n),Pl(f,n)),ar[(e=A+144|0)>>2]=0,ar[e+4>>2]=0,4294967279<(uA=(ar[e+8>>2]=0)|Yf(53684))>>>0&&pu(),uA>>>0<11?tr[e+11>>0]=uA:(bA=0|hu(sA=uA+16&-16),ar[e>>2]=bA,ar[A+152>>2]=-2147483648|sA,ar[A+148>>2]=uA,e=bA),wf(e,53684,uA),Qf(e+uA|(tr[r>>0]=0),r),e=0|ar[lA>>2],uA=0|ar[(lA=A+12|0)>>2];(0|uA)!=(0|e);)sA=uA+-4|0,uA=ar[lA>>2]=sA;ar[14199]=0,ar[14198]=14700,t=A,o=56792,Hl(t|=0,o|=0,0|hn(59216)),ar[14201]=0,ar[14200]=14732,a=A,c=56800,Hl(a|=0,c|=0,0|hn(59224)),function(A,e,r,i){e|=0,r|=0,i|=0,ar[4+(A|=0)>>2]=i+-1,ar[A>>2]=17056,ar[(i=A+8|0)>>2]=e,tr[A+12>>0]=1&r,e||(r=0|Ul(),ar[i>>2]=r)}(56808,0,0,1),l=A,u=56808,Hl(l|=0,u|=0,0|hn(59232)),ar[14207]=0,ar[14206]=17252,b=A,s=56824,Hl(b|=0,s|=0,0|hn(59264)),ar[14209]=0,ar[14208]=17320,d=A,k=56832,Hl(d|=0,k|=0,0|hn(61024)),function(A,e){e|=0,ar[4+(A|=0)>>2]=e+-1,ar[A>>2]=16988,e=0|dn(),ar[A+8>>2]=e}(56840,1),h=A,w=56840,Hl(h|=0,w|=0,0|hn(61032)),ar[14215]=0,ar[14214]=17368,v=A,m=56856,Hl(v|=0,m|=0,0|hn(61040)),ar[14217]=0,ar[14216]=17416,g=A,Z=56864,Hl(g|=0,Z|=0,0|hn(61048)),function(A,e){for(e|=0,ar[4+(A|=0)>>2]=e+-1,ar[A>>2]=17108,tr[A+8>>0]=46,tr[A+9>>0]=44,ar[(e=A+12|0)>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,A=0;3!=(0|A);)ar[e+(A<<2)>>2]=0,A=A+1|0}(56872,1),p=A,y=56872,Hl(p|=0,y|=0,0|hn(59248)),function(A,e){for(e|=0,ar[4+(A|=0)>>2]=e+-1,ar[A>>2]=17148,ar[A+8>>2]=46,ar[A+12>>2]=44,ar[(e=A+16|0)>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,A=0;3!=(0|A);)ar[e+(A<<2)>>2]=0,A=A+1|0}(56896,1),B=A,E=56896,Hl(B|=0,E|=0,0|hn(59272)),ar[14233]=0,ar[14232]=14764,X=A,W=56928,Hl(X|=0,W|=0,0|hn(59256)),ar[14235]=0,ar[14234]=14828,I=A,C=56936,Hl(I|=0,C|=0,0|hn(59280)),ar[14237]=0,ar[14236]=14892,G=A,V=56944,Hl(G|=0,V|=0,0|hn(59288)),ar[14239]=0,ar[14238]=14944,F=A,R=56952,Hl(F|=0,R|=0,0|hn(59296)),ar[14241]=0,ar[14240]=16492,N=A,_=56960,Hl(N|=0,_|=0,0|hn(60944)),ar[14243]=0,ar[14242]=16548,Y=A,Q=56968,Hl(Y|=0,Q|=0,0|hn(60952)),ar[14245]=0,ar[14244]=16604,D=A,J=56976,Hl(D|=0,J|=0,0|hn(60960)),ar[14247]=0,ar[14246]=16660,M=A,T=56984,Hl(M|=0,T|=0,0|hn(60968)),ar[14249]=0,ar[14248]=16716,U=A,S=56992,Hl(U|=0,S|=0,0|hn(60976)),ar[14251]=0,ar[14250]=16744,O=A,z=57e3,Hl(O|=0,z|=0,0|hn(60984)),ar[14253]=0,ar[14252]=16772,j=A,H=57008,Hl(j|=0,H|=0,0|hn(60992)),ar[14255]=0,ar[14254]=16800,x=A,P=57016,Hl(x|=0,P|=0,0|hn(61e3)),ar[14257]=0,ar[14256]=17232,function(A){ar[(A|=0)>>2]=17464}(57032),ar[14256]=14996,ar[14258]=15044,L=A,K=57024,Hl(L|=0,K|=0,0|hn(60108)),ar[14261]=0,ar[14260]=17232,function(A){ar[(A|=0)>>2]=17500}(57048),ar[14260]=15080,ar[14262]=15128,q=A,$=57040,Hl(q|=0,$|=0,0|hn(60920)),ar[14265]=0,ar[14264]=17232,AA=0|dn(),ar[14266]=AA,ar[14264]=16444,eA=A,rA=57056,Hl(eA|=0,rA|=0,0|hn(60928)),ar[14269]=0,ar[14268]=17232,iA=0|dn(),ar[14270]=iA,ar[14268]=16468,fA=A,nA=57072,Hl(fA|=0,nA|=0,0|hn(60936)),ar[14273]=0,ar[14272]=16828,tA=A,oA=57088,Hl(tA|=0,oA|=0,0|hn(61008)),ar[14275]=0,ar[14274]=16860,aA=A,cA=57096,Hl(aA|=0,cA|=0,0|hn(61016)),ur=i}function Hl(A,e,r){A|=0,r|=0;var i,f=0;au(e|=0),f=0|ar[(i=A+8|0)>>2],(0|ar[A+12>>2])-f>>2>>>0>r>>>0?A=i:(function(A,e){e|=0;var r,i,f=0,n=0;f=0|ar[(i=4+(A|=0)|0)>>2],n=0|ar[A>>2],r=f-n>>2;A:do{if(e>>>0<=r>>>0){if(e>>>0<r>>>0)for(A=n+(e<<2)|0;;){if((0|f)==(0|A))break A;n=f+-4|0,ar[i>>2]=n,f=n}}else xl(A,e-r|0)}while(0)}(i,r+1|0),f=0|ar[(A=i)>>2]),0|(f=0|ar[f+(r<<2)>>2])&&lu(f),ar[(0|ar[A>>2])+(r<<2)>>2]=e}function xl(A,e){e|=0;var r,i,f,n=0,t=0,o=0,a=0,c=0;r=ur=(f=ur)+31&-32,ur=ur+32|0,o=(A|=0)+8|0,n=0|ar[(i=A+4|0)>>2];do{if((0|ar[o>>2])-n>>2>>>0<e>>>0){if(n=(n-(0|ar[A>>2])>>2)+e|0,!((t=0|Ll())>>>0<n>>>0)){a=0|ar[A>>2],o=(c=(0|ar[o>>2])-a|0)>>1,Kl(r,c>>2>>>0<t>>>1>>>0?o>>>0<n>>>0?n:o:t,(0|ar[i>>2])-a>>2,A+16|0),ql(r,e),$l(A,r),Au(r);break}zl()}else Pl(A,e)}while(0);ur=f}function Pl(A,e){var r;for(r=(A|=0)+4|0,A=e|=0,e=0|ar[r>>2];e=4+((ar[e>>2]=0)|ar[r>>2])|0,ar[r>>2]=e,0!=(0|(A=A+-1|0)););}function Ll(){return 1073741823}function Kl(A,e,r,i){e|=0,r|=0,i|=0;var f=0;ar[(A|=0)+12>>2]=0,ar[A+16>>2]=i;do{if(e){if(e>>>0<29&0==(0|tr[(f=i+112|0)>>0])){tr[f>>0]=1;break}i=0|hu(e<<2);break}i=0}while(0);r=(ar[A>>2]=i)+(r<<2)|0,ar[A+8>>2]=r,ar[A+4>>2]=r,ar[A+12>>2]=i+(e<<2)}function ql(A,e){var r;for(r=(A|=0)+8|0,A=e|=0,e=0|ar[r>>2];e=4+((ar[e>>2]=0)|ar[r>>2])|0,ar[r>>2]=e,0!=(0|(A=A+-1|0)););}function $l(A,e){e|=0;var r=0,i=0,f=0,n=0,t=0;i=0|ar[(A|=0)>>2],n=e+4|0,f=(0|ar[(t=A+4|0)>>2])-i|0,r=(0|ar[n>>2])+(0-(f>>2)<<2)|0,ar[n>>2]=r,0<(0|f)?(hb(0|r,0|i,0|f),r=0|ar[(i=n)>>2]):i=n,n=0|ar[A>>2],ar[A>>2]=r,ar[i>>2]=n,n=e+8|0,f=0|ar[t>>2],ar[t>>2]=ar[n>>2],ar[n>>2]=f,t=e+12|0,A=0|ar[(n=A+8|0)>>2],ar[n>>2]=ar[t>>2],ar[t>>2]=A,ar[e>>2]=ar[i>>2]}function Au(A){var e=0,r=0,i=0,f=0;for(e=0|ar[(A|=0)+4>>2],i=0|ar[(r=A+8|0)>>2];(0|i)!=(0|e);)f=i+-4|0,i=ar[r>>2]=f;r=0|ar[A>>2];do{if(0|r){if((0|(e=0|ar[A+16>>2]))==(0|r)){tr[e+112>>0]=0;break}vu(r);break}}while(0)}function eu(){return 0==(0|tr[57104])&&0|ib(57104)&&(jl(57112,1),ar[15264]=57112,ar[15265]=61056),0|ar[15265]}function ru(A,e){A|=0,e=0|ar[(e|=0)>>2],au(ar[A>>2]=e)}function iu(){return 0==(0|tr[57272])&&0|ib(57272)&&(ru(61064,0|eu()),ar[15267]=61064),0|ar[15267]}function fu(A){A|=0;var e=0;e=0|iu(),e=0|ar[e>>2],au(ar[A>>2]=e)}function nu(A,e,r){return A|=0,e|=0,0|(A=(r|=0)?0|function(A,e,r){A|=0,e|=0,r|=0;var i=0,f=0;A:do{if(r){for(;(i=0|tr[A>>0])<<24>>24==(f=0|tr[e>>0])<<24>>24;){if(!(r=r+-1|0)){A=0;break A}A=A+1|0,e=e+1|0}A=(255&i)-(255&f)|0}else A=0}while(0);return 0|A}(A,e,r):0)}function tu(){0}function ou(A){0}function au(A){cu((A|=0)+4|0)}function cu(A){ar[(A|=0)>>2]=1+(0|ar[A>>2])}function lu(A){return 0|(A=-1==(0|uu((A|=0)+4|0))?(is[511&ar[8+(0|ar[A>>2])>>2]](A),1):0)}function uu(A){var e;return e=0|ar[(A|=0)>>2],ar[A>>2]=e-1,e-1|0}function bu(A){au(A|=0)}function su(A){cu((A|=0)+8|0)}function du(A){0|lu(A|=0)&&ku(A)}function ku(A){var e;0!=(0|ar[(e=(A|=0)+8|0)>>2])&&-1!=(0|uu(e))||is[511&ar[16+(0|ar[A>>2])>>2]](A)}function hu(A){var e;for(e=0==(0|(A|=0))?1:A;!(0|(A=0|yc(e)));){if(!(A=0|fb())){A=0;break}rs[7&A]()}return 0|A}function wu(A){return 0|hu(A|=0)}function vu(A){Bc(A|=0)}function mu(A){vu(A|=0)}function gu(){lA()}function Zu(A,e){e|=0,ar[(A|=0)>>2]=17640,function(A,e){A|=0;var r,i,f=0;f=0|hu(13+(r=0|Vc(e|=0))|0),ar[f>>2]=r,ar[f+4>>2]=r,hb((ar[f+8>>2]=0)|(f=0|(i=f,12+(i|=0)|0)),0|e,1+r|0),ar[A>>2]=f}(A+4|0,e)}function pu(){lA()}function yu(A,e){e|=0;var r,i,f=0,n=0,t=0;r=ur=(i=ur)+31&-32,ur=ur+16|0,ar[(A|=0)>>2]=0,ar[A+4>>2]=0,((ar[A+8>>2]=0)|tr[e+11>>0])<0?(f=0|ar[e>>2],4294967279<(e=0|ar[e+4>>2])>>>0&&pu(),e>>>0<11?tr[A+11>>0]=e:(n=0|hu(t=e+16&-16),ar[A>>2]=n,ar[A+8>>2]=-2147483648|t,ar[A+4>>2]=e,A=n),wf(A,f,e),Qf(A+e|(tr[r>>0]=0),r)):(ar[A>>2]=ar[e>>2],ar[A+4>>2]=ar[e+4>>2],ar[A+8>>2]=ar[e+8>>2]),ur=i}function Bu(A){(0|tr[(A|=0)+11>>0])<0&&vu(0|ar[A>>2])}function Eu(A,e){var r=0,i=0;return(0|(A|=0))!=(0|(e|=0))&&Xu(A,(i=(r=0|tr[e+11>>0])<<24>>24<0)?0|ar[e>>2]:e,i?0|ar[e+4>>2]:255&r),0|A}function Xu(A,e,r){e|=0,r|=0;var i,f,n,t,o=0,a=0;f=ur=(t=ur)+31&-32,ur=ur+16|0,a=(i=(o=0|tr[(n=(A|=0)+11|0)>>0])<<24>>24<0)?(2147483647&ar[A+8>>2])-1|0:10;do{if(r>>>0<=a>>>0){if(Wu(o=i?0|ar[A>>2]:A,e,r),Qf(o+r|(tr[f>>0]=0),f),(0|tr[n>>0])<0){ar[A+4>>2]=r;break}tr[n>>0]=r;break}i?o=0|ar[A+4>>2]:o&=255,Iu(A,a,r-a|0,o,0,o,r,e)}while(0);return ur=t,0|A}function Wu(A,e,r){return A|=0,e|=0,0|(r|=0)&&wb(0|A,0|e,0|r),0|A}function Iu(A,e,r,i,f,n,t,o){A|=0,i|=0,f|=0,n|=0,t|=0,o|=0;var a,c,l=0,u=0,b=0;a=ur=(c=ur)+31&-32,ur=ur+16|0,(-18-(e|=0)|0)>>>0<(r|=0)>>>0&&pu(),b=(0|tr[A+11>>0])<0?0|ar[A>>2]:A,u=0|hu(l=e>>>0<2147483623?(l=(l=r+e|0)>>>0<(u=e<<1)>>>0?u:l)>>>0<11?11:l+16&-16:-17),0|f&&wf(u,b,f),0|t&&wf(u+f|0,o,t),0|(i=(r=i-n|0)-f|0)&&wf(u+f+t|0,b+f+n|0,i),10!=(0|e)&&vu(b),ar[A>>2]=u,ar[A+8>>2]=-2147483648|l,t=r+t|0,Qf(u+(ar[A+4>>2]=t)|(tr[a>>0]=0),a),ur=c}function Cu(A,e){A|=0;var r,i=0,f=0,n=0,t=0,o=0;4294967279<(e|=0)>>>0&&pu(),i=(n=(f=0|tr[(r=A+11|0)>>0])<<24>>24<0)?(o=0|ar[A+4>>2],(2147483647&ar[A+8>>2])-1|0):(o=255&f,10),t=(e=(t=e>>>0<o>>>0?o:e)>>>0<11)?10:(t+16&-16)-1|0;do{if((0|t)!=(0|i)){do{if(!e){if(e=0|hu(t+1|0),n){n=1,i=0|ar[A>>2],f=13;break}wf(e,A,1+(255&f)|0),f=14;break}e=0|ar[A>>2],f=n?(n=0,i=e,e=A,13):(wf(A,e,1+(255&f)|0),vu(e),15)}while(0);if(13==(0|f)&&(wf(e,i,1+(0|ar[A+4>>2])|0),vu(i),f=n?14:15),14==(0|f)){ar[A+8>>2]=t+1|-2147483648,ar[A+4>>2]=o,ar[A>>2]=e;break}if(15==(0|f)){tr[r>>0]=o;break}}}while(0)}function Gu(A,e){return 0|Xu(A|=0,e|=0,0|Yf(e))}function Vu(A,e,r){e|=0,r|=0;var i,f,n,t=0,o=0;i=ur=(n=ur)+31&-32,ur=ur+16|0,(o=(t=0|tr[(f=(A|=0)+11|0)>>0])<<24>>24<0)?t=0|ar[A+4>>2]:t&=255;do{if(e>>>0<=t>>>0){if(o){o=(0|ar[A>>2])+e|0,tr[i>>0]=0,Qf(o,i),ar[A+4>>2]=e;break}Qf(A+e|(tr[i>>0]=0),i),tr[f>>0]=e;break}Fu(A,e-t|0,r)}while(0);ur=n}function Fu(A,e,r){A|=0,r|=0;var i,f,n=0,t=0,o=0,a=0,c=0;return i=ur=(f=ur)+31&-32,ur=ur+16|0,0|(e|=0)&&(t=(n=0|tr[(c=A+11|0)>>0])<<24>>24<0?(o=0|ar[A+4>>2],(2147483647&ar[A+8>>2])-1|0):(o=255&n,10),a=o+e|0,(t-o|0)>>>0<e>>>0&&(Ru(A,t,a-t|0,o,o,0,0),n=0|tr[c>>0]),oi((n=n<<24>>24<0?0|ar[A>>2]:A)+o|0,e,r),(0|tr[c>>0])<0?ar[A+4>>2]=a:tr[c>>0]=a,Qf(n+a|(tr[i>>0]=0),i)),ur=f,0|A}function Ru(A,e,r,i,f,n,t){A|=0,i|=0,f|=0,n|=0,t|=0;var o=0,a=0,c=0;(-17-(e|=0)|0)>>>0<(r|=0)>>>0&&pu(),c=(0|tr[A+11>>0])<0?0|ar[A>>2]:A,a=0|hu(o=e>>>0<2147483623?(o=(o=r+e|0)>>>0<(a=e<<1)>>>0?a:o)>>>0<11?11:o+16&-16:-17),0|f&&wf(a,c,f),0|(r=i-n-f|0)&&wf(a+f+t|0,c+f+n|0,r),10!=(0|e)&&vu(c),ar[A>>2]=a,ar[A+8>>2]=-2147483648|o}function Nu(A,e,r){e|=0,r|=0;var i,f,n,t,o,a=0,c=0;return n=ur=(o=ur)+31&-32,ur=ur+16|0,a=(f=(a=0|tr[(t=(A|=0)+11|0)>>0])<<24>>24<0)?(c=0|ar[A+4>>2],(2147483647&ar[A+8>>2])-1|0):(c=255&a,10),i=c+r|0,r>>>0<=(a-c|0)>>>0?0|r&&(wf((a=f?0|ar[A>>2]:A)+c|0,e,r),(0|tr[t>>0])<0?ar[A+4>>2]=i:tr[t>>0]=i,Qf(a+i|(tr[n>>0]=0),n)):Iu(A,a,i-a|0,c,c,0,r,e),ur=o,0|A}function _u(A,e){A|=0,e|=0;var r,i,f=0,n=0,t=0,o=0;o=ur=(i=ur)+31&-32,ur=ur+16|0,o=(r=o)+1|0,tr[r>>0]=e,e=(f=(e=0|tr[(n=A+11|0)>>0])<<24>>24<0)?(t=0|ar[A+4>>2],(2147483647&ar[A+8>>2])-1|0):(t=255&e,10),7==(0|(f=(0|t)==(0|e)?(Ru(A,e,1,e,e,0,0),e=e+1|0,(0|tr[n>>0])<0?8:7):(e=t+1|0,f?8:7)))?(tr[n>>0]=e,e=A):8==(0|f)&&(n=0|ar[A>>2],ar[A+4>>2]=e,e=n),Qf(A=e+t|0,r),Qf(A+1|(tr[o>>0]=0),o),ur=i}function Yu(A,e,r,i,f){e|=0,r|=0,i|=0,f|=0;var n,t=0;return(n=(t=0|tr[(A|=0)+11>>0])<<24>>24<0)?t=0|ar[A+4>>2]:t&=255,-1==(0|f)|t>>>0<e>>>0&&lA(),r=(t=t-e|0)>>>0<r>>>0?t:r,n&&(A=0|ar[A>>2]),(A=0|nu(A+e|0,i,(t=f>>>0<r>>>0)?f:r))?0|A:0|(r>>>0<f>>>0?-1:1&t)}function Qu(A){(0|tr[(A|=0)+8+3>>0])<0&&vu(0|ar[A>>2])}function Du(A,e,r){return A|=0,e|=0,(r|=0)&&function(A,e,r){var i=0;if((r|=0)>>>0<=(A|=0)-(e|=0)>>2>>>0){if(0|r)for(i=A;r=r+-1|0,ar[i>>2]=ar[e>>2],r;)e=e+4|0,i=i+4|0}else for(;ar[A+((r=r+-1|0)<<2)>>2]=ar[e+(r<<2)>>2],0!=(0|r););}(A,e,r),0|A}function Ju(A,e,r,i,f,n,t,o){A|=0,i|=0,f|=0,n|=0,t|=0,o|=0;var a,c,l,u=0,b=0,s=0;c=ur=(l=ur)+31&-32,ur=ur+16|0,(1073741806-(e|=0)|0)>>>0<(r|=0)>>>0&&pu(),s=(0|tr[3+(a=A+8|0)>>0])<0?0|ar[A>>2]:A,e>>>0<536870887?1073741823<(r=(r=(r=r+e|0)>>>0<(u=e<<1)>>>0?u:r)>>>0<2?2:r+4&-4)>>>0?lA():b=r:b=1073741807,u=0|hu(b<<2),0|f&&Zf(u,s,f),0|t&&Zf(u+(f<<2)|0,o,t),0|(i=(r=i-n|0)-f|0)&&Zf(u+(f<<2)+(t<<2)|0,s+(f<<2)+(n<<2)|0,i),1!=(0|e)&&vu(s),ar[A>>2]=u,ar[a>>2]=-2147483648|b,t=r+t|0,ln(u+((ar[A+4>>2]=t)<<2)|(ar[c>>2]=0),c),ur=l}function Mu(A,e){A|=0;var r,i,f=0,n=0,t=0,o=0,a=0;1073741807<(e|=0)>>>0&&pu(),f=(t=(n=0|tr[(r=3+(i=A+8|0)|0)>>0])<<24>>24<0)?(a=0|ar[A+4>>2],(2147483647&ar[i>>2])-1|0):(a=255&n,1),o=(e=(o=e>>>0<a>>>0?a:e)>>>0<2)?1:(o+4&-4)-1|0;do{if((0|o)!=(0|f)){do{if(!e){if(1073741823<(e=o+1|0)>>>0&&lA(),e=0|hu(e<<2),t){t=1,f=0|ar[A>>2],n=15;break}Zf(e,A,1+(255&n)|0),n=16;break}e=0|ar[A>>2],n=t?(t=0,f=e,e=A,15):(Zf(A,e,1+(255&n)|0),vu(e),17)}while(0);if(15==(0|n)&&(Zf(e,f,1+(0|ar[A+4>>2])|0),vu(f),n=t?16:17),16==(0|n)){ar[i>>2]=o+1|-2147483648,ar[A+4>>2]=a,ar[A>>2]=e;break}if(17==(0|n)){tr[r>>0]=a;break}}}while(0)}function Tu(A,e){return 0|function(A,e,r){e|=0,r|=0;var i,f,n,t,o,a=0,c=0;n=ur=(o=ur)+31&-32,ur=ur+16|0,c=(f=(i=0|tr[(t=(a=(A|=0)+8|0)+3|0)>>0])<<24>>24<0)?(2147483647&ar[a>>2])-1|0:1;do{if(r>>>0<=c>>>0){if(Du(a=f?0|ar[A>>2]:A,e,r),ln(a+(r<<2)|(ar[n>>2]=0),n),(0|tr[t>>0])<0){ar[A+4>>2]=r;break}tr[t>>0]=r;break}Ju(A,c,r-c|0,a=f?0|ar[A+4>>2]:255&i,0,a,r,e)}while(0);return ur=o,0|A}(A|=0,e|=0,0|Mr(e))}function Uu(A,e,r,i,f,n,t){A|=0,i|=0,f|=0,n|=0,t|=0;var o,a=0,c=0,l=0;(1073741807-(e|=0)|0)>>>0<(r|=0)>>>0&&pu(),l=(0|tr[3+(o=A+8|0)>>0])<0?0|ar[A>>2]:A,e>>>0<536870887?1073741823<(r=(r=(r=r+e|0)>>>0<(a=e<<1)>>>0?a:r)>>>0<2?2:r+4&-4)>>>0?lA():c=r:c=1073741807,a=0|hu(c<<2),0|f&&Zf(a,l,f),0|(r=i-n-f|0)&&Zf(a+(f<<2)+(t<<2)|0,l+(f<<2)+(n<<2)|0,r),1!=(0|e)&&vu(l),ar[A>>2]=a,ar[o>>2]=-2147483648|c}function Su(A,e,r){e|=0,r|=0;var i,f,n,t,o=0,a=0,c=0;return f=ur=(t=ur)+31&-32,ur=ur+16|0,o=(i=(o=0|tr[(n=(a=(A|=0)+8|0)+3|0)>>0])<<24>>24<0)?(c=0|ar[A+4>>2],(2147483647&ar[a>>2])-1|0):(c=255&o,1),a=c+r|0,r>>>0<=(o-c|0)>>>0?0|r&&(Zf((o=i?0|ar[A>>2]:A)+(c<<2)|0,e,r),(0|tr[n>>0])<0?ar[A+4>>2]=a:tr[n>>0]=a,ln(o+(a<<2)|(ar[f>>2]=0),f)):Ju(A,o,a-o|0,c,c,0,r,e),ur=t,0|A}function Ou(A,e){A|=0,e|=0;var r,i,f,n=0,t=0,o=0,a=0;a=ur=(f=ur)+31&-32,ur=ur+16|0,a=(i=a)+4|0,ar[i>>2]=e,e=(r=(e=0|tr[(t=(n=A+8|0)+3|0)>>0])<<24>>24<0)?(o=0|ar[A+4>>2],(2147483647&ar[n>>2])-1|0):(o=255&e,1),7==(0|(n=(0|o)==(0|e)?(Uu(A,e,1,e,e,0,0),e=e+1|0,(0|tr[t>>0])<0?8:7):(e=o+1|0,r?8:7)))?(tr[t>>0]=e,e=A):8==(0|n)&&(t=0|ar[A>>2],ar[A+4>>2]=e,e=t),ln(A=e+(o<<2)|0,i),ln(A+4|(ar[a>>2]=0),a),ur=f}function zu(){var A,e=0;return e=ur=(A=ur)+31&-32,ur=ur+16|0,0|yA(61148,5)?(ju(56158,e),0):(e=0|wA(0|ar[15288]),ur=A,0|e)}function ju(A,e){A|=0,e|=0;var r;r=ur=ur+31&-32,ur=ur+16|0,ar[r>>2]=e,Qc(e=0|ar[2669],A,r),function(A,e){var r,i=0,f=0,n=0,t=0,o=0,a=0;i=r=255&(A|=0),0<=(0|ar[(e|=0)+76>>2])&&0!=(0|Jc())?((0|i)!=(0|tr[e+75>>0])&&(o=0|ar[(t=e+20|0)>>2])>>>0<(0|ar[e+16>>2])>>>0?(ar[t>>2]=o+1,tr[o>>0]=r):i=0|Si(e,A),Mc()):a=3;do{if(3==(0|a)){if((0|i)!=(0|tr[e+75>>0])&&(n=0|ar[(f=e+20|0)>>2])>>>0<(0|ar[e+16>>2])>>>0){ar[f>>2]=n+1,tr[n>>0]=r;break}i=0|Si(e,A)}}while(0)}(10,e),lA()}function Hu(A){0}function xu(A,e){return(0|(A|=0))==(0|(e|=0))|0}function Pu(A,e,r,i){A|=0,r|=0,i|=0;var f,n,t;f=0|ar[(A=(e|=0)+16|0)>>2],n=e+36|0,t=e+24|0;do{if(f){if((0|f)!=(0|r)){ar[n>>2]=1+(0|ar[n>>2]),ar[t>>2]=2,tr[e+54>>0]=1;break}2==(0|ar[t>>2])&&(ar[t>>2]=i)}else ar[A>>2]=r,ar[t>>2]=i,ar[n>>2]=1}while(0)}function Lu(A,e,r,i){r|=0,i|=0;var f=0;(0|ar[(e|=0)+4>>2])==(0|r)&&1!=(0|ar[(f=e+28|0)>>2])&&(ar[f>>2]=i)}function Ku(A,e,r,i,f){A|=0,r|=0,i|=0,f|=0;var n=0,t=0,o=0,a=0;tr[(e|=0)+53>>0]=1;do{if((0|ar[e+4>>2])==(0|i)){if(tr[e+52>>0]=1,o=e+54|0,a=e+48|0,t=e+24|0,A=e+36|0,!(n=0|ar[(i=e+16|0)>>2])){if(ar[i>>2]=r,ar[t>>2]=f,!((ar[A>>2]=1)==(0|ar[a>>2])&1==(0|f)))break;tr[o>>0]=1;break}if((0|n)!=(0|r)){ar[A>>2]=1+(0|ar[A>>2]),tr[o>>0]=1;break}2==(0|(A=0|ar[t>>2]))&&(A=ar[t>>2]=f),1==(0|ar[a>>2])&1==(0|A)&&(tr[o>>0]=1)}}while(0)}function qu(A,e,r,i){e|=0,r|=0,i|=0;var f,n,t,o,a,c,l,u=0,b=0;for(a=ur=(l=ur)+31&-32,ur=ur+64|0,b=0|ar[(A|=0)>>2],c=A+(0|ar[b+-8>>2])|0,b=0|ar[b+-4>>2],ar[a>>2]=r,ar[4+a>>2]=A,ar[8+a>>2]=e,ar[12+a>>2]=i,e=20+a|0,i=24+a|0,f=28+a|0,n=32+a|0,t=40+a|0,o=(u=A=16+a|0)+36|0;(0|(u=u+4|(ar[u>>2]=0)))<(0|o););or[A+36>>1]=0,tr[A+38>>0]=0;A:do{if(0|xu(b,r))ar[48+a>>2]=1,as[15&ar[20+(0|ar[b>>2])>>2]](b,a,c,c,1,0),A=1==(0|ar[i>>2])?c:0;else{switch(os[63&ar[24+(0|ar[b>>2])>>2]](b,a,c,1,0),0|ar[36+a>>2]){case 0:A=1==(0|ar[t>>2])&1==(0|ar[f>>2])&1==(0|ar[n>>2])?0|ar[e>>2]:0;break A;case 1:break;default:A=0;break A}if(1!=(0|ar[i>>2])&&!(0==(0|ar[t>>2])&1==(0|ar[f>>2])&1==(0|ar[n>>2]))){A=0;break}A=0|ar[A>>2]}}while(0);return ur=l,0|A}function $u(A){var e,r,i;ar[(A|=0)>>2]=17640,e=A+4|0,(i=r=0)|(e|=0,1)&&(r=0|function(A){return(A|=0)+-12|0}(0|ar[e>>2]),e=0|ar[(i=r+8|0)>>2],ar[i>>2]=e+-1,(e+-1|0)<0)&&vu(r)}function Ab(A,e,r,i){e|=0,r|=0,i|=0;var f,n=0;n=(f=0|ar[(A|=0)+4>>2])>>8,1&f&&(n=0|ar[(0|ar[r>>2])+n>>2]),A=0|ar[A>>2],ts[31&ar[28+(0|ar[A>>2])>>2]](A,e,r+n|0,2&f|0?i:2)}function eb(A,e,r,i,f,n){e|=0,r|=0,i|=0,f|=0,n|=0;var t,o=0;o=(t=0|ar[(A|=0)+4>>2])>>8,1&t&&(o=0|ar[(0|ar[i>>2])+o>>2]),A=0|ar[A>>2],as[15&ar[20+(0|ar[A>>2])>>2]](A,e,r,i+o|0,2&t|0?f:2,n)}function rb(A,e,r,i,f){e|=0,r|=0,i|=0,f|=0;var n,t=0;t=(n=0|ar[(A|=0)+4>>2])>>8,1&n&&(t=0|ar[(0|ar[r>>2])+t>>2]),A=0|ar[A>>2],os[63&ar[24+(0|ar[A>>2])>>2]](A,e,r+t|0,2&n|0?i:2,f)}function ib(A){return 0|(A=1==(0|tr[(A|=0)>>0])?0:tr[A>>0]=1)}function fb(){var A;return A=0|ar[15289],0|(ar[15289]=A)}function nb(A,e,r,i){e|=0,i|=0;var f,n,t,o,a,c,l,u;return r=0|(t=f=A|=0,o=n=r|=0,t=((a=(u=0)|br(u=65535&(o|=0),l=65535&(t|=0)))>>>16)+(0|br(u,c=t>>>16))|0,o=0|br(u=o>>>16,l),0|(D=(t>>>16)+(0|br(u,c))+(((65535&t)+o|0)>>>16)|0,t+o<<16|65535&a|0)),A=D,0|(D=(0|br(e,n))+(0|br(i,f))+A|0&A,0|r)}function tb(A,e,r,i){return 0|(D=(e|=0)+(i|=0)+((r=(A|=0)+(r|=0)>>>0)>>>0<A>>>0|0)>>>0,0|r)}function ob(A,e,r,i){return 0|(D=i=(e|=0)-(i|=0)-((A|=0)>>>0<(r|=0)>>>0|0)>>>0,A-r>>>0|0)}function ab(A){var e=0;return(0|(e=0|tr[s+(255&(A|=0))>>0]))<8?0|e:(0|(e=0|tr[s+(A>>8&255)>>0]))<8?e+8|0:(0|(e=0|tr[s+(A>>16&255)>>0]))<8?e+16|0:24+(0|tr[s+(A>>>24)>>0])|0}function cb(A,e,r,i,f){f|=0;var n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0;if(l=A|=0,t=r|=0,o=b=i|=0,!(c=a=e|=0))return n=0!=(0|f),o?(n&&(ar[f>>2]=0|A,ar[f+4>>2]=0&e),(f=b=0)|(D=b,f)):(n&&(ar[f>>2]=(l>>>0)%(t>>>0),ar[f+4>>2]=0),(b=0)|(D=b,f=(l>>>0)/(t>>>0)>>>0));n=0==(0|o);do{if(t){if(!n){if((n=(0|g(0|o))-(0|g(0|c))|0)>>>0<=31){A=l>>>((t=u=n+1|0)>>>0)&(e=n-31>>31)|c<<(o=31-n|0),e&=c>>>(u>>>0),n=0,o=l<<o;break}return f?(ar[f>>2]=0|A,ar[f+4>>2]=a|0&e,(f=b=0)|(D=b,f)):(f=b=0)|(D=b,f)}if((n=t-1|0)&t|0){A=(u=32-(o=33+(0|g(0|t))-(0|g(0|c))|0)|0)-1>>31&c>>>((s=o-32|0)>>>0)|(c<<u|l>>>((t=o)>>>0))&(e=s>>31),e&=c>>>(o>>>0),n=l<<(d=64-o|0)&(a=u>>31),o=(c<<d|l>>>(s>>>0))&a|l<<u&o-33>>31;break}return 0|f&&(ar[f>>2]=n&l,ar[f+4>>2]=0),1==(0|t)?0|(D=s=a|0&e,d=0|A):(d=0|ab(0|t),0|(D=s=c>>>(d>>>0)|0,d=c<<32-d|l>>>(d>>>0)|0))}if(n)return 0|f&&(ar[f>>2]=(c>>>0)%(t>>>0),ar[f+4>>2]=0),(s=0)|(D=s,d=(c>>>0)/(t>>>0)>>>0);if(!l)return 0|f&&(ar[f>>2]=0,ar[f+4>>2]=(c>>>0)%(o>>>0)),(s=0)|(D=s,d=(c>>>0)/(o>>>0)>>>0);if(!((n=o-1|0)&o))return 0|f&&(ar[f>>2]=0|A,ar[f+4>>2]=n&c|0&e),d=c>>>(((s=0)|ab(0|o))>>>0),0|(D=s,d);if((n=(0|g(0|o))-(0|g(0|c))|0)>>>0<=30){A=c<<(o=31-n|0)|l>>>((t=e=n+1|0)>>>0),e=c>>>(e>>>0),n=0,o=l<<o;break}return f&&(ar[f>>2]=0|A,ar[f+4>>2]=a|0&e),(d=s=0)|(D=s,d)}while(0);if(t){for(c=0|tb(0|(u=0|r),0|(l=b|0&i),-1,-1),r=D,a=o,o=0;a=n>>>31|(i=a)<<1,n=o|n<<1,ob(0|c,0|r,0|(i=A<<1|i>>>31|0),0|(b=A>>>31|e<<1|0)),o=1&(s=(d=D)>>31|((0|d)<0?-1:0)<<1),A=0|ob(0|i,0|b,s&u|0,(((0|d)<0?-1:0)>>31|((0|d)<0?-1:0)<<1)&l|0),e=D,0!=(0|(t=t-1|0)););c=a,a=0}else c=o,o=a=0;return(t=0)|f&&(ar[f>>2]=A,ar[f+4>>2]=e),0|(D=s=(0|n)>>>31|(c|t)<<1|0&(t<<1|n>>>31)|a,d=-2&(n<<1|0)|o)}function lb(A,e,r,i){return 0|cb(A|=0,e|=0,r|=0,i|=0,0)}function ub(A,e,r,i){var f,n;return ur=(n=ur)+16|0,cb(A|=0,e|=0,r|=0,i|=0,f=0|n),ur=n,0|(D=0|ar[4+f>>2],0|ar[f>>2])}function bb(A,e,r){return A|=0,e|=0,(0|(r|=0))<32?(D=e>>r,A>>>r|(e&(1<<r)-1)<<32-r):(D=(0|e)<0?-1:0,e>>r-32|0)}function sb(A,e,r){return A|=0,e|=0,(0|(r|=0))<32?(D=e>>>r,A>>>r|(e&(1<<r)-1)<<32-r):e>>>r-32|(D=0)}function db(A,e,r){return A|=0,e|=0,(0|(r|=0))<32?(D=e<<r|(A&(1<<r)-1<<32-r)>>>32-r,A<<r):(D=A<<r-32,0)}function kb(A){return(255&(A|=0))<<24|(A>>8&255)<<16|(A>>16&255)<<8|A>>>24|0}function hb(A,e,r){A|=0,e|=0;var i,f,n=0;if(8192<=(0|(r|=0)))return 0|uA(0|A,0|e,0|r);if(f=0|A,i=A+r|0,(3&A)==(3&e)){for(;3&A;){if(!r)return 0|f;tr[A>>0]=0|tr[e>>0],A=A+1|0,e=e+1|0,r=r-1|0}for(n=(r=-4&i|0)-64|0;(0|A)<=(0|n);)ar[A>>2]=ar[e>>2],ar[A+4>>2]=ar[e+4>>2],ar[A+8>>2]=ar[e+8>>2],ar[A+12>>2]=ar[e+12>>2],ar[A+16>>2]=ar[e+16>>2],ar[A+20>>2]=ar[e+20>>2],ar[A+24>>2]=ar[e+24>>2],ar[A+28>>2]=ar[e+28>>2],ar[A+32>>2]=ar[e+32>>2],ar[A+36>>2]=ar[e+36>>2],ar[A+40>>2]=ar[e+40>>2],ar[A+44>>2]=ar[e+44>>2],ar[A+48>>2]=ar[e+48>>2],ar[A+52>>2]=ar[e+52>>2],ar[A+56>>2]=ar[e+56>>2],ar[A+60>>2]=ar[e+60>>2],A=A+64|0,e=e+64|0;for(;(0|A)<(0|r);)ar[A>>2]=ar[e>>2],A=A+4|0,e=e+4|0}else for(r=i-4|0;(0|A)<(0|r);)tr[A>>0]=0|tr[e>>0],tr[A+1>>0]=0|tr[e+1>>0],tr[A+2>>0]=0|tr[e+2>>0],tr[A+3>>0]=0|tr[e+3>>0],A=A+4|0,e=e+4|0;for(;(0|A)<(0|i);)tr[A>>0]=0|tr[e>>0],A=A+1|0,e=e+1|0;return 0|f}function wb(A,e,r){var i=0;if((0|(e|=0))<(0|(A|=0))&(0|A)<(e+(r|=0)|0)){for(e=e+r|0,A=(i=A)+r|0;0<(0|r);)e=e-1|0,r=r-1|0,tr[(A=A-1|0)>>0]=0|tr[e>>0];A=i}else hb(A,e,r);return 0|A}function vb(A,e,r){e|=0;var i,f=0,n=0,t=0;if(i=(A|=0)+(r|=0)|0,e&=255,67<=(0|r)){for(;3&A;)tr[A>>0]=e,A=A+1|0;for(n=(f=-4&i|0)-64|0,t=e|e<<8|e<<16|e<<24;(0|A)<=(0|n);)ar[A>>2]=t,ar[A+4>>2]=t,ar[A+8>>2]=t,ar[A+12>>2]=t,ar[A+16>>2]=t,ar[A+20>>2]=t,ar[A+24>>2]=t,ar[A+28>>2]=t,ar[A+32>>2]=t,ar[A+36>>2]=t,ar[A+40>>2]=t,ar[A+44>>2]=t,ar[A+48>>2]=t,ar[A+52>>2]=t,ar[A+56>>2]=t,ar[A+60>>2]=t,A=A+64|0;for(;(0|A)<(0|f);)ar[A>>2]=t,A=A+4|0}for(;(0|A)<(0|i);)tr[A>>0]=e,A=A+1|0;return i-r|0}function mb(A){return 0}function gb(A){return 0}function Zb(A){return 0}function pb(A){return 0<=(A=+A)?+v(A+.5):+m(A-.5)}function yb(A){var e,r;return 0<(0|(r=(A|=0)+15&-16|0))&(0|(A=(e=0|ar[b>>2])+r|0))<(0|e)|(0|A)<0?(B(),F(12),-1):(0|(ar[b>>2]=A))>(0|y())&&0==(0|p())?(ar[b>>2]=e,F(12),-1):0|e}function Bb(){return Z(0),0}function Eb(A){return Z(1),0}function Xb(A,e){return Z(2),0}function Wb(A,e,r){return Z(3),0}function Ib(A,e,r,i,f){return Z(5),0}function Cb(A,e,r,i,f){return Z(6),0}function Gb(A,e,r,i,f,n){return Z(7),0}function Vb(A,e,r,i,f,n){return Z(8),0}function Fb(A,e,r,i,f,n,t){return Z(9),0}function Rb(A,e,r,i,f,n,t,o){return Z(10),0}function Nb(){Z(11)}function _b(A){Z(12)}function Yb(A,e){Z(13)}function Qb(A,e,r){Z(14)}function Db(A,e,r,i){Z(15)}function Jb(A,e,r,i,f){Z(16)}function Mb(A,e,r,i,f,n){Z(17)}function Tb(A,e,r,i,f,n,t){Z(18)}function Ub(A,e,r,i,f,n,t,o){Z(19)}function Sb(A,e,r,i,f,n,t,o,a){Z(20)}function Ob(A,e,r,i,f,n,t,o,a,c){Z(21)}var zb=[Bb,function(){var A,e,r=0,i=0,f=0;for(i=34509,f=(r=61161)+22|0;tr[r>>0]=0|tr[i>>0],i=i+1|0,(0|(r=r+1|0))<(0|f););if(80<=(10+(0|Vc(34542))|0)>>>0)return 61161;for(i=34531,f=(r=61161+(0|Vc(61161))|0)+11|0;tr[r>>0]=0|tr[i>>0],i=i+1|0,(0|(r=r+1|0))<(0|f););return A=61161,e=34542,e|=0,function(A,e){!function(A,e){A|=0;var r=0,i=0;r=e|=0;A:do{if(3&(r^A))i=8;else{if(3&r)do{if(r=0|tr[e>>0],!((tr[A>>0]=r)<<24>>24))break A;e=e+1|0,A=A+1|0}while(0!=(3&e|0));if(!((-2139062144&(r=0|ar[e>>2])^-2139062144)&r+-16843009))for(i=A;e=e+4|0,A=i+4|0,ar[i>>2]=r,!((-2139062144&(r=0|ar[e>>2])^-2139062144)&r+-16843009|0);)i=A;i=8}}while(0);if(8==(0|i)&&(i=0|tr[e>>0],(tr[A>>0]=i)<<24>>24))for(;A=A+1|0,i=0|tr[(e=e+1|0)>>0],(tr[A>>0]=i)<<24>>24!=0;);}(A|=0,e|=0)}((A|=0)+(0|Vc(A))|0,e),61161},function(){return 17432576},function(){var A,e,r,i,f,n;return A=0|hu(8),ar[A>>2]=0,r=(ar[(e=4+A|0)>>2]=0)|hu(92),ar[4+r>>2]=0,ar[8+r>>2]=0,ar[r>>2]=6336,f=i=12+r|0,ar[(f|=0)>>2]=0,ar[f+4>>2]=0,ar[f+8>>2]=0,ar[f+12>>2]=30025,ar[f+20>>2]=0,ar[f+24>>2]=0,ar[f+16>>2]=f+20,ar[f+32>>2]=0,ar[f+36>>2]=0,ar[f+28>>2]=f+32,ar[(n=f+40|0)>>2]=0,ar[4+n>>2]=0,ar[8+n>>2]=0,ar[12+n>>2]=0,ar[16+n>>2]=0,ar[20+n>>2]=0,ar[24+n>>2]=0,ar[f+68>>2]=4,ar[f+72>>2]=32768,ar[f+76>>2]=32768,function(A){A|=0;var e=0,r=0,i=0,f=0,n=0;if(n=0|hu(132),ar[n+4>>2]=0,ar[n+8>>2]=0,ar[n>>2]=6364,co(e=n+12|0),ar[(r=A+60|0)>>2]=e,i=0|ar[(f=A+64|0)>>2],ar[f>>2]=n,i&&(du(i),e=0|ar[r>>2]),function(A){var e,r,i,f,n,t,o,a,c,l,u,b,s,d,k,h,w,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0,C=0,G=0,V=0,F=0,R=0,N=0;if(ur=(w=ur)+64|0,f=w+48|0,t=w+40|0,o=w+32|0,a=w+24|0,l=w+16|0,b=w+8|0,h=(d=w)+56|0,v=(ar[(A|=0)>>2]=0)|ar[(N=A+4|0)>>2],(ar[N>>2]=0)|v&&du(v),g=0|ar[(k=A+8|0)>>2],(0|(v=0|ar[(N=A+12|0)>>2]))!=(0|g))for(;m=v+-8|0,ar[N>>2]=m,(0|(v=(v=0|ar[v+-4>>2])?(du(v),0|ar[N>>2]):m))!=(0|g););R=0|hu(96),ar[R+4>>2]=0,ar[R+8>>2]=0,ar[R>>2]=4600,Mt(F=R+16|0),ar[R+60>>2]=0,ar[R+64>>2]=0,ar[R+68>>2]=0,ar[F>>2]=4436,ar[(V=R+72|0)>>2]=0,ar[V+4>>2]=0,ar[V+8>>2]=0,ar[V+12>>2]=0,ar[V+16>>2]=0,ar[R+36>>2]=1718909296,tr[R+52>>0]=0,ar[(V=A+20|0)>>2]=F,v=0|ar[(F=A+24|0)>>2],ar[F>>2]=R,0|v&&du(v),R=0|hu(104),ar[R+4>>2]=0,ar[R+8>>2]=0,ar[R>>2]=4656,Mt(g=R+16|0),ar[R+60>>2]=0,ar[R+64>>2]=0,ar[R+68>>2]=0,ar[g>>2]=4684,ar[R+72>>2]=0,ar[R+76>>2]=1885954932,ar[(m=R+80|0)>>2]=0,ar[m+4>>2]=0,ar[m+8>>2]=0,ar[m+12>>2]=0,ar[m+16>>2]=0,ar[m+20>>2]=0,ar[R+36>>2]=1751411826,tr[R+52>>0]=1,ar[(m=A+28|0)>>2]=g,v=0|ar[(g=A+32|0)>>2],ar[g>>2]=R,0|v&&du(v),G=0|hu(72),ar[G+4>>2]=0,ar[G+8>>2]=0,ar[G>>2]=4628,Mt(R=G+16|0),ar[G+60>>2]=0,ar[G+64>>2]=0,ar[G+68>>2]=0,ar[R>>2]=4468,ar[G+36>>2]=1835365473,tr[G+52>>0]=1,ar[(s=A+36|0)>>2]=R,v=0|ar[(R=A+40|0)>>2],ar[R>>2]=G,0|v&&du(v),G=0|hu(72),ar[G+4>>2]=0,ar[G+8>>2]=0,ar[G>>2]=5016,Mt(I=G+16|0),ar[G+60>>2]=0,ar[G+64>>2]=0,ar[G+68>>2]=0,ar[I>>2]=5044,ar[G+36>>2]=1768973167,tr[G+52>>0]=0,ar[(c=A+44|0)>>2]=I,v=0|ar[(I=A+48|0)>>2],ar[I>>2]=G,0|v&&du(v),C=0|hu(88),ar[C+4>>2]=0,ar[C+8>>2]=0,ar[C>>2]=5076,Mt(G=C+16|0),ar[C+60>>2]=0,ar[C+64>>2]=0,ar[C+68>>2]=0,ar[G>>2]=5104,ar[C+72>>2]=0,ar[C+76>>2]=0,ar[C+80>>2]=0,ar[C+36>>2]=1768975713,tr[C+52>>0]=1,ar[(u=A+52|0)>>2]=G,v=0|ar[(G=A+56|0)>>2],ar[G>>2]=C,0|v&&du(v),C=0|hu(104),ar[C+4>>2]=0,ar[C+8>>2]=0,ar[C>>2]=4776,Mt(E=C+16|0),ar[C+60>>2]=0,ar[C+64>>2]=0,ar[C+68>>2]=0,ar[E>>2]=4804,B=C+72|0,ar[C+96>>2]=0,ar[B>>2]=0,ar[B+4>>2]=0,ar[B+8>>2]=0,ar[B+12>>2]=0,ar[B+16>>2]=0,tr[B+20>>0]=0,ar[C+36>>2]=1768714083,tr[C+52>>0]=1,ar[(B=A+60|0)>>2]=E,v=0|ar[(E=A+64|0)>>2],ar[E>>2]=C,0|v&&du(v),C=0|hu(72),ar[C+4>>2]=0,ar[C+8>>2]=0,ar[C>>2]=4836,Mt(X=C+16|0),ar[C+60>>2]=0,ar[C+64>>2]=0,ar[C+68>>2]=0,ar[X>>2]=4864,ar[C+36>>2]=1768517222,tr[C+52>>0]=1,ar[(n=A+92|0)>>2]=X,v=0|ar[(X=A+96|0)>>2],ar[X>>2]=C,0|v&&du(v),y=0|hu(72),ar[y+4>>2]=0,ar[y+8>>2]=0,ar[y>>2]=4956,Mt(W=y+16|0),ar[y+60>>2]=0,ar[y+64>>2]=0,ar[y+68>>2]=0,ar[W>>2]=4984,ar[y+36>>2]=1768977008,tr[y+52>>0]=0,ar[(C=A+100|0)>>2]=W,v=0|ar[(W=A+104|0)>>2],ar[W>>2]=y,0|v&&du(v),p=0|hu(80),ar[p+4>>2]=0,ar[p+8>>2]=0,ar[p>>2]=4716,Mt(y=p+16|0),ar[p+60>>2]=0,ar[p+64>>2]=0,ar[p+68>>2]=0,ar[y>>2]=4744,ar[p+72>>2]=0,ar[p+36>>2]=1885959277,tr[p+52>>0]=1,ar[(i=A+84|0)>>2]=y,v=0|ar[(y=A+88|0)>>2],ar[y>>2]=p,0|v&&du(v),r=0|ar[s>>2],Z=0|ar[m>>2],ar[f>>2]=Z,p=4+f|0,m=0|ar[g>>2],(g=0==(0|(ar[p>>2]=m)))||bu(m),(0|(v=0|ar[(e=48+r|0)>>2]))==(0|ar[52+r>>2])?Ut(44+r|0,f):(ar[v>>2]=Z,ar[v+4>>2]=m,g||(bu(m),v=0|ar[e>>2]),ar[e>>2]=v+8),0|(v=0|ar[p>>2])&&du(v),m=0|ar[s>>2],ar[t>>2]=ar[i>>2],Z=4+t|0,v=0|ar[y>>2],0|(ar[Z>>2]=v)&&bu(v),(0|(v=0|ar[(g=m+48|0)>>2]))==(0|ar[m+52>>2])?Ut(m+44|0,t):(ar[v>>2]=ar[t>>2],m=0|ar[Z>>2],(ar[v+4>>2]=m)&&(bu(m),v=0|ar[g>>2]),ar[g>>2]=v+8),0|(v=0|ar[Z>>2])&&du(v),m=0|ar[s>>2],ar[o>>2]=ar[B>>2],Z=4+o|0,v=0|ar[E>>2],0|(ar[Z>>2]=v)&&bu(v),(0|(v=0|ar[(g=m+48|0)>>2]))==(0|ar[m+52>>2])?Ut(m+44|0,o):(ar[v>>2]=ar[o>>2],m=0|ar[Z>>2],(ar[v+4>>2]=m)&&(bu(m),v=0|ar[g>>2]),ar[g>>2]=v+8),0|(v=0|ar[Z>>2])&&du(v),m=0|ar[s>>2],ar[a>>2]=ar[n>>2],Z=4+a|0,v=0|ar[X>>2],0|(ar[Z>>2]=v)&&bu(v),(0|(v=0|ar[(g=m+48|0)>>2]))==(0|ar[m+52>>2])?Ut(m+44|0,a):(ar[v>>2]=ar[a>>2],m=0|ar[Z>>2],(ar[v+4>>2]=m)&&(bu(m),v=0|ar[g>>2]),ar[g>>2]=v+8),0|(v=0|ar[Z>>2])&&du(v),m=0|ar[s>>2],ar[l>>2]=ar[C>>2],Z=4+l|0,v=0|ar[W>>2],0|(ar[Z>>2]=v)&&bu(v),(0|(v=0|ar[(g=m+48|0)>>2]))==(0|ar[m+52>>2])?Ut(m+44|0,l):(ar[v>>2]=ar[l>>2],m=0|ar[Z>>2],(ar[v+4>>2]=m)&&(bu(m),v=0|ar[g>>2]),ar[g>>2]=v+8),0|(v=0|ar[Z>>2])&&du(v),m=0|ar[C>>2],ar[b>>2]=ar[c>>2],Z=4+b|0,v=0|ar[I>>2],0|(ar[Z>>2]=v)&&bu(v),(0|(v=0|ar[(g=m+48|0)>>2]))==(0|ar[m+52>>2])?Ut(m+44|0,b):(ar[v>>2]=ar[b>>2],m=0|ar[Z>>2],(ar[v+4>>2]=m)&&(bu(m),v=0|ar[g>>2]),ar[g>>2]=v+8),0|(v=0|ar[Z>>2])&&du(v),m=0|ar[C>>2],ar[d>>2]=ar[u>>2],Z=d+4|0,v=0|ar[G>>2],0|(ar[Z>>2]=v)&&bu(v),(0|(v=0|ar[(g=m+48|0)>>2]))==(0|ar[m+52>>2])?Ut(m+44|0,d):(ar[v>>2]=ar[d>>2],m=0|ar[Z>>2],(ar[v+4>>2]=m)&&(bu(m),v=0|ar[g>>2]),ar[g>>2]=v+8),0|(v=0|ar[Z>>2])&&du(v),uo(v=A+108|0,0|ar[(m=A+112|0)>>2]),ar[A+116>>2]=0,ar[v>>2]=m,ar[m>>2]=0,ar[h>>2]=ar[V>>2],m=4+h|0,v=0|ar[F>>2],0|(ar[m>>2]=v)&&bu(v),v=0|ar[N>>2],g=A+16|0;do{if(v>>>0<(0|ar[g>>2])>>>0)ar[v>>2]=ar[h>>2],ar[v+4>>2]=ar[m>>2],ar[h>>2]=0,ar[m>>2]=0,ar[N>>2]=v+8;else{if(ee(k,h),!(v=0|ar[m>>2]))break;du(v)}}while(0);if(ar[h>>2]=ar[s>>2],m=4+h|0,v=0|ar[R>>2],0|(ar[m>>2]=v)&&bu(v),(v=0|ar[N>>2])>>>0<(0|ar[g>>2])>>>0)return ar[v>>2]=ar[h>>2],ar[v+4>>2]=ar[m>>2],ar[h>>2]=0,ar[m>>2]=0,ar[N>>2]=v+8,ur=w;ee(k,h),(v=0|ar[m>>2])&&du(v),ur=w}(e),vl(f=A+28|0,0|ar[(i=A+32|0)>>2]),ar[A+36>>2]=0,ar[f>>2]=i,ar[i>>2]=0,i=0|ar[A+40>>2],(0|(e=0|ar[(f=A+44|0)>>2]))!=(0|i))for(;r=e+-8|0,ar[f>>2]=r,(0|(e=(e=0|ar[e+-4>>2])?(du(e),0|ar[f>>2]):r))!=(0|i););ar[A+52>>2]=0,e=0|ar[(n=A+56|0)>>2],ar[n>>2]=0,e&&du(e)}(f),ar[A>>2]=i,ar[e>>2]=r,0|A},function(){var A;return A=0|hu(12),ar[A>>2]=0,ar[4+A>>2]=0,(ar[8+A>>2]=0)|A},Bb,Bb,Bb],jb=[Eb,function(A){return D=0|ar[(A=(A|=0)+16|0)+4>>2],0|ar[A>>2]},function(A){return 0},function(A){return 0},function(A){var e=0,r=0,i=0;return(i=0|ar[(e=(A|=0)+44|0)>>2])>>>0<(r=0|ar[A+24>>2])>>>0&&(i=ar[e>>2]=r),8&ar[A+48>>2]?((r=0|ar[(e=A+16|0)>>2])>>>0<i>>>0&&(r=ar[e>>2]=i),r>>>0<=(e=0|ar[A+12>>2])>>>0?0|(A=-1):0|(A=0|cr[e>>0])):0|(A=-1)},function(A){var e=0;return 0|(A=-1==(0|(e=0|jb[127&ar[36+(0|ar[(A|=0)>>2])>>2]](A)))?-1:(A=0|ar[(e=A+12|0)>>2],ar[e>>2]=A+1,0|hf(0|tr[A>>0])))},function(A){return 1852009592},function(A){return 0|ar[(A|=0)+4>>2]},function(A){return 0|(1==(0|(A|=0))?100:0)},function(A){var e,r,i;return r=ur=(e=ur)+31&-32,ur=ur+16|0,A=0|(i=0|ar[(A|=0)+60>>2],0|(i|=0)),ar[r>>2]=A,A=0|Ic(0|J(6,0|r)),ur=e,0|A},function(A){return-1},function(A){return 0},function(A){return 0},function(A){return-1},function(A){var e=0;return 0|(A=-1==(0|(e=0|jb[127&ar[36+(0|ar[(A|=0)>>2])>>2]](A)))?-1:(A=0|ar[(e=A+12|0)>>2],ar[e>>2]=A+4,0|gf(0|ar[A>>2])))},function(A){var e,r,i,f,n,t,o,a,c=0,l=0;i=ur=(a=ur)+31&-32,ur=ur+16|0,f=(A|=0)+36|0,n=A+40|0,t=8+(r=8+i|0)|0,o=r,e=A+32|0;A:for(;;){if(A=0|ar[f>>2],A=0|Kb[31&ar[20+(0|ar[A>>2])>>2]](A,0|ar[n>>2],r,t,i),(0|Ui(r,1,l=(0|ar[i>>2])-o|0,0|ar[e>>2]))!=(0|l)){A=-1;break}switch(0|A){case 1:break;case 2:A=-1;break A;default:c=4;break A}}return 4==(0|c)&&(A=(0!=(0|Oi(0|ar[e>>2])))<<31>>31),ur=a,0|A},function(A){var e,r,i,f,n,t,o,a,c=0,l=0;i=ur=(a=ur)+31&-32,ur=ur+16|0,f=(A|=0)+36|0,n=A+40|0,t=8+(r=8+i|0)|0,o=r,e=A+32|0;A:for(;;){if(A=0|ar[f>>2],A=0|Kb[31&ar[20+(0|ar[A>>2])>>2]](A,0|ar[n>>2],r,t,i),(0|Ui(r,1,l=(0|ar[i>>2])-o|0,0|ar[e>>2]))!=(0|l)){A=-1;break}switch(0|A){case 1:break;case 2:A=-1;break A;default:c=4;break A}}return 4==(0|c)&&(A=(0!=(0|Oi(0|ar[e>>2])))<<31>>31),ur=a,0|A},function(A){return 0|fn(A|=0,0)},function(A){return 0|fn(A|=0,1)},function(A){return 0|tn(A|=0,0)},function(A){return 0|tn(A|=0,1)},function(A){return 2},function(A){return 0==(0|tr[56696])&&0|ib(56696)&&(function(){var A=0,e=0;if(0==(0|tr[56704])&&0|ib(56704)){e=59936;do{for(ar[e>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,A=0;3!=(0|A);)ar[e+(A<<2)>>2]=0,A=A+1|0;e=e+12|0}while(60104!=(0|e))}Gu(59936,54302),Gu(59948,54309),Gu(59960,54316),Gu(59972,54324),Gu(59984,54334),Gu(59996,54343),Gu(60008,54350),Gu(60020,54359),Gu(60032,54363),Gu(60044,54367),Gu(60056,54371),Gu(60068,54375),Gu(60080,54379),Gu(60092,54383)}(),ar[15026]=59936),0|ar[15026]},function(A){return 0==(0|tr[56680])&&0|ib(56680)&&(function(){var A=0,e=0;if(0==(0|tr[56688])&&0|ib(56688)){e=59644;do{for(ar[e>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,A=0;3!=(0|A);)ar[e+(A<<2)>>2]=0,A=A+1|0;e=e+12|0}while(59932!=(0|e))}Gu(59644,54172),Gu(59656,54180),Gu(59668,54189),Gu(59680,54195),Gu(59692,54201),Gu(59704,54205),Gu(59716,54210),Gu(59728,54215),Gu(59740,54222),Gu(59752,54232),Gu(59764,54240),Gu(59776,54249),Gu(59788,54258),Gu(59800,54262),Gu(59812,54266),Gu(59824,54270),Gu(59836,54201),Gu(59848,54274),Gu(59860,54278),Gu(59872,54282),Gu(59884,54286),Gu(59896,54290),Gu(59908,54294),Gu(59920,54298)}(),ar[14983]=59644),0|ar[14983]},function(A){return 0==(0|tr[56664])&&0|ib(56664)&&(function(){var A=0,e=0;if(0==(0|tr[56672])&&0|ib(56672)){e=59352;do{for(ar[e>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,A=0;3!=(0|A);)ar[e+(A<<2)>>2]=0,A=A+1|0;e=e+12|0}while(59640!=(0|e))}Gu(59352,54166),Gu(59364,54169)}(),ar[14910]=59352),0|ar[14910]},function(A){A|=0;var e,r,i=0,f=0;return e=ur=(r=ur)+31&-32,ur=ur+16|0,0==(0|tr[56656])&&0|ib(56656)&&(ar[14835]=0,ar[14836]=0,4294967279<(i=(ar[14837]=0)|Yf(54145))>>>0&&pu(),i>>>0<11?(tr[59351]=i,A=59340):(A=0|hu(f=i+16&-16),ar[14835]=A,ar[14837]=-2147483648|f,ar[14836]=i),wf(A,54145,i),Qf(A+i|(tr[e>>0]=0),e)),ur=r,59340},function(A){A|=0;var e,r,i=0,f=0;return e=ur=(r=ur)+31&-32,ur=ur+16|0,0==(0|tr[56648])&&0|ib(56648)&&(ar[14832]=0,ar[14833]=0,4294967279<(i=(ar[14834]=0)|Yf(54133))>>>0&&pu(),i>>>0<11?(tr[59339]=i,A=59328):(A=0|hu(f=i+16&-16),ar[14832]=A,ar[14834]=-2147483648|f,ar[14833]=i),wf(A,54133,i),Qf(A+i|(tr[e>>0]=0),e)),ur=r,59328},function(A){A|=0;var e,r,i=0,f=0;return e=ur=(r=ur)+31&-32,ur=ur+16|0,0==(0|tr[56640])&&0|ib(56640)&&(ar[14829]=0,ar[14830]=0,4294967279<(i=(ar[14831]=0)|Yf(54124))>>>0&&pu(),i>>>0<11?(tr[59327]=i,A=59316):(A=0|hu(f=i+16&-16),ar[14829]=A,ar[14831]=-2147483648|f,ar[14830]=i),wf(A,54124,i),Qf(A+i|(tr[e>>0]=0),e)),ur=r,59316},function(A){A|=0;var e,r,i=0,f=0;return e=ur=(r=ur)+31&-32,ur=ur+16|0,0==(0|tr[56632])&&0|ib(56632)&&(ar[14826]=0,ar[14827]=0,4294967279<(i=(ar[14828]=0)|Yf(54115))>>>0&&pu(),i>>>0<11?(tr[59315]=i,A=59304):(A=0|hu(f=i+16&-16),ar[14826]=A,ar[14828]=-2147483648|f,ar[14827]=i),wf(A,54115,i),Qf(A+i|(tr[e>>0]=0),e)),ur=r,59304},function(A){return 2},function(A){return 0==(0|tr[56776])&&0|ib(56776)&&(function(){var A=0,e=0;if(0==(0|tr[56784])&&0|ib(56784)){e=60748;do{for(ar[e>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,A=0;3!=(0|A);)ar[e+(A<<2)>>2]=0,A=A+1|0;e=e+12|0}while(60916!=(0|e))}Tu(60748,15904),Tu(60760,15932),Tu(60772,15960),Tu(60784,15992),Tu(60796,16032),Tu(60808,16068),Tu(60820,16096),Tu(60832,16132),Tu(60844,16148),Tu(60856,16164),Tu(60868,16180),Tu(60880,16196),Tu(60892,16212),Tu(60904,16228)}(),ar[15229]=60748),0|ar[15229]},function(A){return 0==(0|tr[56760])&&0|ib(56760)&&(function(){var A=0,e=0;if(0==(0|tr[56768])&&0|ib(56768)){e=60456;do{for(ar[e>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,A=0;3!=(0|A);)ar[e+(A<<2)>>2]=0,A=A+1|0;e=e+12|0}while(60744!=(0|e))}Tu(60456,15384),Tu(60468,15416),Tu(60480,15452),Tu(60492,15476),Tu(60504,15500),Tu(60516,15516),Tu(60528,15536),Tu(60540,15556),Tu(60552,15584),Tu(60564,15624),Tu(60576,15656),Tu(60588,15692),Tu(60600,15728),Tu(60612,15744),Tu(60624,15760),Tu(60636,15776),Tu(60648,15500),Tu(60660,15792),Tu(60672,15808),Tu(60684,15824),Tu(60696,15840),Tu(60708,15856),Tu(60720,15872),Tu(60732,15888)}(),ar[15186]=60456),0|ar[15186]},function(A){return 0==(0|tr[56744])&&0|ib(56744)&&(function(){var A=0,e=0;if(0==(0|tr[56752])&&0|ib(56752)){e=60164;do{for(ar[e>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,A=0;3!=(0|A);)ar[e+(A<<2)>>2]=0,A=A+1|0;e=e+12|0}while(60452!=(0|e))}Tu(60164,15360),Tu(60176,15372)}(),ar[15113]=60164),0|ar[15113]},function(A){A|=0;var e,r=0,i=0,f=0;if(A=ur=(e=ur)+31&-32,ur=ur+16|0,0==(0|tr[56736])&&0|ib(56736)){ar[15038]=0,ar[15039]=0,1073741807<(i=(ar[15040]=0)|Mr(15276))>>>0&&pu();do{if(2<=i>>>0){if(!(1073741823<(r=i+4&-4)>>>0)){f=0|hu(r<<2),ar[15038]=f,ar[15040]=-2147483648|r,ar[15039]=i;break}lA()}else tr[60163]=i,f=60152}while(0);Zf(f,15276,i),ln(f+(i<<2)|(ar[A>>2]=0),A)}return ur=e,60152},function(A){A|=0;var e,r=0,i=0,f=0;if(A=ur=(e=ur)+31&-32,ur=ur+16|0,0==(0|tr[56728])&&0|ib(56728)){ar[15035]=0,ar[15036]=0,1073741807<(i=(ar[15037]=0)|Mr(15228))>>>0&&pu();do{if(2<=i>>>0){if(!(1073741823<(r=i+4&-4)>>>0)){f=0|hu(r<<2),ar[15035]=f,ar[15037]=-2147483648|r,ar[15036]=i;break}lA()}else tr[60151]=i,f=60140}while(0);Zf(f,15228,i),ln(f+(i<<2)|(ar[A>>2]=0),A)}return ur=e,60140},function(A){A|=0;var e,r=0,i=0,f=0;if(A=ur=(e=ur)+31&-32,ur=ur+16|0,0==(0|tr[56720])&&0|ib(56720)){ar[15032]=0,ar[15033]=0,1073741807<(i=(ar[15034]=0)|Mr(15192))>>>0&&pu();do{if(2<=i>>>0){if(!(1073741823<(r=i+4&-4)>>>0)){f=0|hu(r<<2),ar[15032]=f,ar[15034]=-2147483648|r,ar[15033]=i;break}lA()}else tr[60139]=i,f=60128}while(0);Zf(f,15192,i),ln(f+(i<<2)|(ar[A>>2]=0),A)}return ur=e,60128},function(A){A|=0;var e,r=0,i=0,f=0;if(A=ur=(e=ur)+31&-32,ur=ur+16|0,0==(0|tr[56712])&&0|ib(56712)){ar[15029]=0,ar[15030]=0,1073741807<(i=(ar[15031]=0)|Mr(15156))>>>0&&pu();do{if(2<=i>>>0){if(!(1073741823<(r=i+4&-4)>>>0)){f=0|hu(r<<2),ar[15029]=f,ar[15031]=-2147483648|r,ar[15030]=i;break}lA()}else tr[60127]=i,f=60116}while(0);Zf(f,15156,i),ln(f+(i<<2)|(ar[A>>2]=0),A)}return ur=e,60116},function(A){return 127},function(A){return 127},function(A){return 0},function(A){return 127},function(A){return 127},function(A){return 0},function(A){return 2147483647},function(A){return 2147483647},function(A){return 0},function(A){return 2147483647},function(A){return 2147483647},function(A){return 0},function(A){return 0},function(A){return 0},function(A){return 4},function(A){var e,r=0;if(r=0|rf(0|ar[(A=(A|=0)+8|0)>>2]),e=0|function(A,e,r){A|=0,e|=0,r|=0;var i,f=0,n=0,t=0;f=ur=(i=ur)+31&-32,ur=ur+16|0;A:do{if(e){do{if(0|r){if(t=0==(0|A)?f:A,-1<(A=0|tr[e>>0])<<24>>24){ar[t>>2]=255&A,A=A<<24>>24!=0&1;break A}if(n=10488,A=0|tr[e>>0],!(0|ar[ar[n>>2]>>2])){ar[t>>2]=A<<24>>24&57343,A=1;break A}if((A=(255&A)-194|0)>>>0<=50){if(f=e+1|0,n=0|ar[9896+(A<<2)>>2],r>>>0<4&&n&-2147483648>>>((6*r|0)-6|0)|0)break;if(((r=(A=0|cr[f>>0])>>>3)+-16|r+(n>>26))>>>0<=7){if(0<=(0|(A=A+-128|n<<6))){ar[t>>2]=A,A=2;break A}if((f=(0|cr[e+2>>0])-128|0)>>>0<=63){if(0<=(0|(f|=A<<6))){ar[t>>2]=f,A=3;break A}if((A=(0|cr[e+3>>0])-128|0)>>>0<=63){ar[t>>2]=A|f<<6,A=4;break A}}}}}}while(0);ar[(A=10364)>>2]=84,A=-1}else A=0}while(0);return ur=i,0|A}(0,0,4),0|r&&rf(r),e)A=-1;else{if(A=0|ar[A>>2])return r=0|rf(A),A=0|yi(),0|r&&rf(r),1==(0|A)|0;A=1}return 0|A},function(A){return 0},function(A){var e=0;return(A=0|ar[(A|=0)+8>>2])?(e=0|rf(A),A=0|yi(),e&&rf(e)):A=1,0|A},function(A){return 0|tr[(A|=0)+8>>0]},function(A){return 0|tr[(A|=0)+9>>0]},function(A){return 0|ar[(A|=0)+8>>2]},function(A){return 0|ar[(A|=0)+12>>2]},function(A){return 1},function(A){return 1},function(A){return 1},function(A){return 0},function(A){return 0},function(A){return 4},function(A){return 55847},function(A){return 0|(e=(A|=0)+4|0,0|ar[(e|=0)>>2]);var e},function(A){var e,r,i,f,n=0;return ur=(r=ur)+16|0,f=r,is[511&(A|=0)](f),A=0|yc((n=(i=(n=0|tr[f+11>>0])<<24>>24<0)?0|ar[f+4>>2]:255&n)+4|0),ar[A>>2]=n,e=0|ar[f>>2],hb(A+4|0,0|(i?e:f),0|n),ur=(i&&vu(e),r),0|A},function(A){return 0|zb[7&(A|=0)]()},function(A){return 0|zb[7&(A|=0)]()},function(A){var e,r,i,f,n,t=0;if(ur=(n=ur)+16|0,sl(i=n,40+(0|ar[(A|=0)>>2])|0),f=(t=0|ar[(r=i+4|0)>>2])-(A=0|ar[i>>2])>>3,!(e=A))return ur=n,0|f;if((0|t)!=(0|e)){for(;A=t+-8|0,ar[r>>2]=A,(t=0|ar[t+-4>>2])&&(du(t),A=0|ar[r>>2]),(0|A)!=(0|e);)t=A;A=0|ar[i>>2]}return vu(A),ur=n,0|f},function(A){return 1272},function(A){return 1312},function(A){return 1352},Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb,Eb],Hb=[Xb,function(A,e){e|=0;var r,i=0,f=0,n=0;if((i=0|ar[(f=(A|=0)+44|0)>>2])>>>0<(n=0|ar[A+24>>2])>>>0&&(i=ar[f>>2]=n),f=0|ar[(r=A+12|0)>>2],(0|ar[A+8>>2])>>>0>=f>>>0)return 0|(e=-1);if(-1==(0|e))return ar[r>>2]=f+-1,ar[A+16>>2]=i,(e=0)|e;if(16&ar[A+48>>2])n=255&e,f=f+-1|0;else if((n=255&e)<<24>>24!=(0|tr[(f=f+-1|0)>>0]))return 0|(e=-1);return ar[r>>2]=f,ar[A+16>>2]=i,tr[f>>0]=n,0|e},function(A,e){var r,i,f,n,t,o,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0;if(ur=(o=ur)+16|0,i=o,-1==(0|(e|=0)))return ur=o,(w=0)|w;if(n=(A|=0)+8|0,t=(0|ar[(f=A+12|0)>>2])-(0|ar[n>>2])|0,(0|(d=0|ar[(w=A+24|0)>>2]))==(0|(a=0|ar[(r=A+28|0)>>2]))){if(!(16&ar[(s=A+48|0)>>2]))return ur=o,0|(w=-1);b=0|ar[(u=A+20|0)>>2],k=(0|ar[(h=A+44|0)>>2])-b|0,_u(l=A+32|0,0),Vu(l,c=(0|tr[(a=l+11|0)>>0])<0?(2147483647&ar[A+40>>2])-1|0:10,0),(a=0|tr[a>>0])<<24>>24<0?(c=0|ar[l>>2],a=0|ar[A+36>>2]):(c=l,a&=255),a=c+a|0,ar[u>>2]=c,ar[r>>2]=a,d=c+(d-b)|0,ar[w>>2]=d,c=c+k|0,ar[h>>2]=c,l=k=h,b=a}else s=A+48|0,c=0|ar[(l=k=c=A+44|0)>>2],b=a;return u=d+1|0,ar[i>>2]=u,c=0|ar[(u>>>0<c>>>0?l:i)>>2],ar[k>>2]=c,8&ar[s>>2]|0&&((0|tr[(a=A+32|0)+11>>0])<0&&(a=0|ar[a>>2]),ar[n>>2]=a,ar[f>>2]=a+t,ar[A+16>>2]=c),(0|d)==(0|b)?(w=0|Hb[31&ar[52+(0|ar[A>>2])>>2]](A,255&e),ur=o,0|w):(ar[w>>2]=u,tr[d>>0]=e,ur=o,0|(w=255&e))},function(A,e){return 0},function(A,e){e|=0;var r=0;return r=0|ar[(A|=0)+376156>>2],(0|ar[A+376160>>2])-r>>2>>>0<=e>>>0?(r=0)|r:0|(r=0|ar[r+(e<<2)>>2])},function(A,e){return(0|(e|=0))<=-1?(e=0)|e:0|(e=((0|ar[(A|=0)+376160>>2])-(0|ar[A+376156>>2])>>2|0)>(0|e))},function(A,e){return-1},function(A,e){return-1},function(A,e){return-1},function(A,e){return-1},function(A,e){A|=0,e|=0;var r,i,f,n,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0;f=ur=(n=ur)+31&-32,ur=ur+32|0,r=16+f|0,o=8+f|0,i=4+f|0;do{if(0|Uf(e,-1))t=15;else{if(s=0|pf(e),ar[o>>2]=s,s=A+32|0,0|tr[A+44>>0]){if(1==(0|Ui(o,4,1,0|ar[s>>2]))){t=15;break}A=-1;break}for(u=o+4|0,b=A+36|0,a=A+40|0,c=8+(ar[i>>2]=r)|0,l=r,A=o;;){if(t=0|ar[b>>2],o=1==(0|(t=0|es[15&ar[12+(0|ar[t>>2])>>2]](t,0|ar[a>>2],A,u,f,r,c,i))),(0|ar[f>>2])==(0|A)){t=14;break}if(3==(0|t)){if(1!=(0|Ui(A,1,1,0|ar[s>>2]))){t=14;break}}else{if(1!=(1|t)){t=14;break}if((0|Ui(r,1,t=(0|ar[i>>2])-l|0,0|ar[s>>2]))!=(0|t)){t=14;break}A=o?0|ar[f>>2]:A}if(!o){t=13;break}}if(13==(0|t)){t=15;break}if(14==(0|t)){A=-1;break}}}while(0);return 15==(0|t)&&(A=0|function(A){0|Uf(A|=0,-1)&&(A=0);return 0|A}(e)),ur=n,0|A},function(A,e){A|=0,e|=0;var r,i,f,n,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0;f=ur=(n=ur)+31&-32,ur=ur+32|0,r=16+f|0,o=8+f|0,i=4+f|0;do{if(0|Mf(e,-1))t=15;else{if(s=0|vf(e),tr[o>>0]=s,s=A+32|0,0|tr[A+44>>0]){if(1==(0|Ui(o,1,1,0|ar[s>>2]))){t=15;break}A=-1;break}for(u=o+1|0,b=A+36|0,a=A+40|0,c=8+(ar[i>>2]=r)|0,l=r,A=o;;){if(t=0|ar[b>>2],o=1==(0|(t=0|es[15&ar[12+(0|ar[t>>2])>>2]](t,0|ar[a>>2],A,u,f,r,c,i))),(0|ar[f>>2])==(0|A)){t=14;break}if(3==(0|t)){if(1!=(0|Ui(A,1,1,0|ar[s>>2]))){t=14;break}}else{if(1!=(1|t)){t=14;break}if((0|Ui(r,1,t=(0|ar[i>>2])-l|0,0|ar[s>>2]))!=(0|t)){t=14;break}A=o?0|ar[f>>2]:A}if(!o){t=13;break}}if(13==(0|t)){t=15;break}if(14==(0|t)){A=-1;break}}}while(0);return 15==(0|t)&&(A=0|function(A){0|Mf(A|=0,-1)&&(A=0);return 0|A}(e)),ur=n,0|A},function(A,e){var r,i,f,n,t,o=0,a=0,c=0,l=0;c=ur=(t=ur)+31&-32,ur=ur+32|0,r=c+16|0,i=c+8|0,a=c+4|0,l=0|Uf(e|=0,-1),o=0!=(0|tr[(n=(A|=0)+52|0)>>0]),f=A+48|0;do{if(l)o?o=e:(l=1&(1^(0|Uf(o=0|ar[f>>2],-1))),tr[n>>0]=l);else{if(o){switch(l=0|pf(0|ar[f>>2]),ar[a>>2]=l,l=0|ar[A+36>>2],0|es[15&ar[12+(0|ar[l>>2])>>2]](l,0|ar[A+40>>2],a,a+4|0,c,r,8+r|0,i)){case 1:case 2:c=10;break;case 3:tr[r>>0]=ar[f>>2],ar[i>>2]=1+r,c=7;break;default:c=7}A:do{if(7==(0|c))for(o=A+32|0;;){if((a=0|ar[i>>2])>>>0<=r>>>0){a=1,o=0;break A}if(l=a+-1|0,ar[i>>2]=l,-1==(0|uf(0|tr[l>>0],0|ar[o>>2]))){c=10;break}}}while(0);if(10==(0|c)&&(a=0,o=-1),!a)break}ar[f>>2]=e,tr[n>>0]=1,o=e}}while(0);return ur=t,0|o},function(A,e){var r,i,f,n,t,o=0,a=0,c=0,l=0;c=ur=(t=ur)+31&-32,ur=ur+32|0,r=c+16|0,i=c+4|0,a=c+8|0,l=0|Mf(e|=0,-1),o=0!=(0|tr[(n=(A|=0)+52|0)>>0]),f=A+48|0;do{if(l)o?o=e:(l=1&(1^(0|Mf(o=0|ar[f>>2],-1))),tr[n>>0]=l);else{if(o){switch(l=0|vf(0|ar[f>>2]),tr[a>>0]=l,l=0|ar[A+36>>2],0|es[15&ar[12+(0|ar[l>>2])>>2]](l,0|ar[A+40>>2],a,a+1|0,c,r,8+r|0,i)){case 1:case 2:c=10;break;case 3:tr[r>>0]=ar[f>>2],ar[i>>2]=1+r,c=7;break;default:c=7}A:do{if(7==(0|c))for(o=A+32|0;;){if((a=0|ar[i>>2])>>>0<=r>>>0){a=1,o=0;break A}if(l=a+-1|0,ar[i>>2]=l,-1==(0|uf(0|tr[l>>0],0|ar[o>>2]))){c=10;break}}}while(0);if(10==(0|c)&&(a=0,o=-1),!a)break}ar[f>>2]=e,tr[n>>0]=1,o=e}}while(0);return ur=t,0|o},function(A,e){return-1<(e|=0)<<24>>24&&(e=(0|Tl())+((255&e)<<2)|0,e=255&ar[e>>2]),0|e},function(A,e){return-1<(e|=0)<<24>>24&&(e=(0|Ml())+(e<<24>>24<<2)|0,e=255&ar[e>>2]),0|e},function(A,e){return 0|(e|=0)},function(A,e){return(e|=0)>>>0<128&&(e=(0|Tl())+(e<<2)|0,e=0|ar[e>>2]),0|e},function(A,e){return(e|=0)>>>0<128&&(e=(0|Ml())+(e<<2)|0,e=0|ar[e>>2]),0|e},function(A,e){return(e|=0)<<24>>24|0},function(A,e){return e|=0,0|jb[127&(A|=0)](e)},function(A,e){var r,i;return e|=0,ur=(r=ur)+16|0,i=r,fs[63&(A|=0)](i,e),fA(0|ar[i>>2]),e=0|ar[i>>2],iA(0|e),ur=r,0|e},function(A,e){return 0|ar[(e|=0)+(0|ar[(A|=0)>>2])>>2]},function(A,e){return 0|ar[(e|=0)+(0|ar[(A|=0)>>2])>>2]},Xb,Xb,Xb,Xb,Xb,Xb,Xb,Xb],xb=[Wb,function(A,e,r){var i;return e|=0,r|=0,0|((0|(i=0|ar[(A=(A|=0)+8|0)+4>>2]))<(0|r)|((0|i)==(0|r)?(0|ar[A>>2])>>>0<e>>>0:0)?2:0)},function(A,e,r){e|=0,r|=0;var i,f,n,t=0,o=0,a=0;return t=0|tb(0|(f=0|ar[(t=i=(A|=0)+16|0)>>2]),0|ar[t+4>>2],0|r,0),a=D,(0|(o=0|ar[4+(n=A+8|0)>>2]))<(0|a)|((0|a)==(0|o)?t>>>0>(0|ar[n>>2])>>>0:0)?(a=0)|a:(hb(0|e,(0|ar[A+4>>2])+f|0,0|r),o=0|tb(0|ar[(o=i)>>2],0|ar[o+4>>2],0|r,0),ar[(a=i)>>2]=o,ar[a+4>>2]=D,0|(a=1))},function(A,e,r){e|=0;var i,f=0;return(0|(r|=0))<0|((0|(f=0|ar[4+(i=(A|=0)+8|0)>>2]))<(0|r)|((0|f)==(0|r)?(0|ar[i>>2])>>>0<e>>>0:0))?(f=0)|f:(ar[(f=A+16|0)>>2]=e,ar[f+4>>2]=r,0|(f=1))},function(A,e,r){return 0|(A|=0)},function(A,e,r){e|=0,r|=0;var i,f,n=0,t=0,o=0,a=0;for(i=(A|=0)+12|0,f=A+16|0,o=0;!((0|r)<=(0|o));)if((n=0|ar[i>>2])>>>0<(t=0|ar[f>>2])>>>0)wf(e,n,t=(0|(a=r-o|0))<(0|(t=t-n|0))?a:t),ar[i>>2]=(0|ar[i>>2])+t,e=e+t|0,o=t+o|0;else{if(-1==(0|(n=0|jb[127&ar[40+(0|ar[A>>2])>>2]](A))))break;a=0|vf(n),tr[e>>0]=a,e=e+1|0,o=o+1|0}return 0|o},function(A,e,r){e|=0,r|=0;var i,f,n=0,t=0,o=0,a=0;for(i=(A|=0)+24|0,f=A+28|0,n=0;!((0|r)<=(0|n));)if((t=0|ar[i>>2])>>>0<(o=0|ar[f>>2])>>>0)wf(t,e,o=(0|(a=r-n|0))<(0|(o=o-t|0))?a:o),ar[i>>2]=(0|ar[i>>2])+o,e=e+o|0,n=o+n|0;else{if(o=0|ar[52+(0|ar[A>>2])>>2],a=0|hf(0|tr[e>>0]),-1==(0|Hb[31&o](A,a)))break;e=e+1|0,n=n+1|0}return 0|n},function(A,e,r){e|=0,r|=0;var i,f,n=0;return n=ur=(f=ur)+31&-32,ur=ur+32|0,i=n,ar[(A|=0)+36>>2]=10,0==(64&ar[A>>2]|0)&&(ar[i>>2]=ar[A+60>>2],ar[i+4>>2]=21523,ar[i+8>>2]=n+16,0|Y(54,0|i))&&(tr[A+75>>0]=-1),n=0|Gc(A,e,r),ur=f,0|n},function(A,e,r){A|=0,e|=0,r|=0;var i,f,n=0;return n=ur=(i=ur)+31&-32,ur=ur+32|0,n=(f=n)+20|0,ar[f>>2]=ar[A+60>>2],ar[f+4>>2]=0,ar[f+8>>2]=e,ar[f+12>>2]=n,ar[f+16>>2]=r,A=(0|Ic(0|R(140,0|f)))<0?ar[n>>2]=-1:0|ar[n>>2],ur=i,0|A},function(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t=0,o=0,a=0,c=0;return c=ur=(f=ur)+31&-32,ur=ur+32|0,ar[(c=(t=c)+16|0)>>2]=e,o=c+4|0,n=0|ar[(i=A+48|0)>>2],ar[o>>2]=r-(0!=(0|n)&1),a=A+44|0,ar[c+8>>2]=ar[a>>2],ar[c+12>>2]=n,ar[t>>2]=ar[A+60>>2],ar[t+4>>2]=c,ar[t+8>>2]=2,1<=(0|(t=0|Ic(0|N(145,0|t))))?(c=0|ar[o>>2])>>>0<t>>>0&&(o=0|ar[a>>2],ar[(a=A+4|0)>>2]=o,ar[A+8>>2]=o+(t-c),t=(0|ar[i>>2]&&(ar[a>>2]=o+1,tr[e+(r+-1)>>0]=0|tr[o>>0]),r)):ar[A>>2]=ar[A>>2]|48&t^16,ur=f,0|t},Gc,function(A,e,r){var i,f;return e|=0,r|=0,hb(0|(f=0|ar[(i=(A|=0)+20|0)>>2]),0|e,0|(A=r>>>0<(A=(0|ar[A+16>>2])-f|0)>>>0?r:A)),ar[i>>2]=(0|ar[i>>2])+A,0|r},function(A,e,r){return 0|(A|=0)},function(A,e,r){e|=0,r|=0;var i,f,n=0,t=0,o=0,a=0;for(i=(A|=0)+12|0,f=A+16|0,o=0;!((0|r)<=(0|o));)if((n=0|ar[i>>2])>>>0<(t=0|ar[f>>2])>>>0)Zf(e,n,t=(0|(a=r-o|0))<(0|(t=t-n>>2))?a:t),ar[i>>2]=(0|ar[i>>2])+(t<<2),e=e+(t<<2)|0,o=t+o|0;else{if(-1==(0|(n=0|jb[127&ar[40+(0|ar[A>>2])>>2]](A))))break;a=0|pf(n),ar[e>>2]=a,e=e+4|0,o=o+1|0}return 0|o},function(A,e,r){e|=0,r|=0;var i,f,n=0,t=0,o=0,a=0;for(i=(A|=0)+24|0,f=A+28|0,n=0;!((0|r)<=(0|n));)if((t=0|ar[i>>2])>>>0<(o=0|ar[f>>2])>>>0)Zf(t,e,o=(0|(a=r-n|0))<(0|(o=o-t>>2))?a:o),ar[i>>2]=(0|ar[i>>2])+(o<<2),e=e+(o<<2)|0,n=o+n|0;else{if(o=0|ar[52+(0|ar[A>>2])>>2],a=0|gf(0|ar[e>>2]),-1==(0|Hb[31&o](A,a)))break;e=e+4|0,n=n+1|0}return 0|n},function(A,e,r){A|=0,e|=0,r|=0;var i=0,f=0,n=0;A:do{if(0|tr[A+44>>0])i=0|Ui(e,4,r,0|ar[A+32>>2]);else for(i=0;;){if((0|r)<=(0|i))break A;if(n=0|ar[52+(0|ar[A>>2])>>2],f=0|gf(0|ar[e>>2]),-1==(0|(f=0|Hb[31&n](A,f))))break A;i=i+1|0,e=e+4|0}}while(0);return 0|i},function(A,e,r){A|=0,e|=0,r|=0;var i=0,f=0,n=0;A:do{if(0|tr[A+44>>0])i=0|Ui(e,1,r,0|ar[A+32>>2]);else for(i=0;;){if((0|r)<=(0|i))break A;if(n=0|ar[52+(0|ar[A>>2])>>2],f=0|hf(0|tr[e>>0]),-1==(0|(f=0|Hb[31&n](A,f))))break A;i=i+1|0,e=e+1|0}}while(0);return 0|i},function(A,e,r){A|=0,e|=0,r|=0;var i=0,f=0;for(A=0;(0|e)!=(0|r);)A=((f=-268435456&(i=(0|tr[e>>0])+(A<<4)|0))>>>24|f)^i,e=e+1|0;return 0|A},function(A,e,r){A|=0,e|=0,r|=0;var i=0,f=0;for(A=0;(0|e)!=(0|r);)A=((f=-268435456&(i=(0|ar[e>>2])+(A<<4)|0))>>>24|f)^i,e=e+4|0;return 0|A},function(A,e,r){return r|=0,(r=0|cf((0|tr[(e|=0)+11>>0])<0&&ar[e>>2]))>>>(-1!=(0|r)&1)|0},function(A,e,r){return r|=0,(r=0|cf((0|tr[(e|=0)+11>>0])<0&&ar[e>>2]))>>>(-1!=(0|r)&1)|0},function(A,e,r){for(A|=0,e|=0,r|=0;(0|e)!=(0|r);)-1<(A=0|tr[e>>0])<<24>>24&&(A=0|Tl(),A=255&ar[A+(tr[e>>0]<<2)>>2]),tr[e>>0]=A,e=e+1|0;return 0|r},function(A,e,r){for(A|=0,e|=0,r|=0;(0|e)!=(0|r);)-1<(A=0|tr[e>>0])<<24>>24&&(A=0|Ml(),A=255&ar[A+(tr[e>>0]<<2)>>2]),tr[e>>0]=A,e=e+1|0;return 0|r},function(A,e,r){return r|=0,0|(-1<(e|=0)<<24>>24?e:r)},function(A,e,r){return A|=0,e|=0,0|(A=(r|=0)>>>0<128?(A=(0|Ul())+(r<<1)|0,(or[A>>1]&e)<<16>>16!=0):0)},function(A,e,r){for(A|=0,e|=0,r|=0;(0|e)!=(0|r);)(A=0|ar[e>>2])>>>0<128&&(A=0|Tl(),A=0|ar[A+(ar[e>>2]<<2)>>2]),ar[e>>2]=A,e=e+4|0;return 0|r},function(A,e,r){for(A|=0,e|=0,r|=0;(0|e)!=(0|r);)(A=0|ar[e>>2])>>>0<128&&(A=0|Ml(),A=0|ar[A+(ar[e>>2]<<2)>>2]),ar[e>>2]=A,e=e+4|0;return 0|r},function(A,e,r){return r|=0,0|((e|=0)>>>0<128?255&e:r)},function(A,e,r){r|=0;var i,f,n=0,t=0;if(i=ur=(f=ur)+31&-32,ur=ur+64|0,0|xu(A|=0,e|=0))e=1;else if(0!=(0|e)&&0!=(0|(t=0|qu(e,3960,3944,0)))){for(n=(e=4+i|0)+52|0;(0|(e=e+4|(ar[e>>2]=0)))<(0|n););ar[i>>2]=t,ar[8+i>>2]=A,ar[12+i>>2]=-1,ar[48+i>>2]=1,ts[31&ar[28+(0|ar[t>>2])>>2]](t,i,0|ar[r>>2],1),e=1==(0|ar[24+i>>2])?(ar[r>>2]=ar[16+i>>2],1):0}else e=0;return ur=f,0|e},function(A,e,r){return 0|xu(A|=0,e|=0)},function(A,e,r){A|=0,e|=0;var i,f,n=0,t=0,o=0,a=0;if(i=ur=(f=ur)+31&-32,ur=ur+64|0,ar[(r|=0)>>2]=ar[ar[r>>2]>>2],0|function(A,e){A=0|xu(A|=0,e|=0)?1:0|xu(e,4088);return 0|A}(A,e))A=1;else if(0!=(0|e)&&0!=(0|(n=0|qu(e,3960,4048,0)))&&0==(ar[n+8>>2]&~ar[A+8>>2]|0))if(e=n+12|0,0|xu(0|ar[(A=A+12|0)>>2],0|ar[e>>2])||0|xu(0|ar[A>>2],4080))A=1;else if(0!=(0|(A=0|ar[A>>2]))&&0!=(0|(o=0|qu(A,3960,3944,0)))&&0!=(0|(t=0|ar[e>>2]))&&0!=(0|(a=0|qu(t,3960,3944,0)))){for(e=(A=4+i|0)+52|0;(0|(A=A+4|(ar[A>>2]=0)))<(0|e););ar[i>>2]=a,ar[8+i>>2]=o,ar[12+i>>2]=-1,ar[48+i>>2]=1,ts[31&ar[28+(0|ar[a>>2])>>2]](a,i,0|ar[r>>2],1),A=1==(0|ar[24+i>>2])?(ar[r>>2]=ar[16+i>>2],1):0}else A=0;else A=0;return ur=f,0|A},function(A,e,r){return 0|xu(A|=0,e|=0)},function(A,e,r){A|=0,e|=0;var i,f,n,t,o,a=0;return ur=(o=ur)+32|0,n=o+12|0,t=o,i=(r|=0)+4|0,f=0|ar[r>>2],ar[t>>2]=0,ar[t+4>>2]=0,4294967279<f>>>(ar[t+8>>2]=0)&&pu(),f>>>0<11?(tr[t+11>>0]=f)?(r=t,a=6):r=t:(r=0|hu(a=16+f&-16),ar[t>>2]=r,ar[t+8>>2]=-2147483648|a,ar[t+4>>2]=f,a=6),6==(0|a)&&hb(0|r,0|i,0|f),tr[r+f>>0]=0,ns[127&A](n,e,t),r=0|hu(12),ar[r>>2]=ar[n>>2],ar[r+4>>2]=ar[4+n>>2],ar[r+8>>2]=ar[8+n>>2],ur=(0<=(0|tr[t+11>>0])||vu(0|ar[t>>2]),o),0|r},function(A,e,r){var i,f;return e|=0,r|=0,ur=(i=ur)+16|0,f=i,ns[127&(A|=0)](f,e,r),fA(0|ar[f>>2]),r=0|ar[f>>2],iA(0|r),ur=i,0|r},function(A,e,r){return 0|function(A,e,r){e|=0,r|=0;var i,f,n,t=0;return f=0|ar[(i=(A=A|0)+84|0)>>2],t=0|Rc(f,0,n=r+256|0),hb(0|e,0|f,0|(r=(t=0==(0|t)?n:t-f|0)>>>0<r>>>0?t:r)),ar[A+4>>2]=f+r,e=f+t|0,ar[A+8>>2]=e,ar[i>>2]=e,0|r}(A|=0,e|=0,r|=0)},Wb,Wb,Wb,Wb,Wb,Wb,Wb,Wb,Wb,Wb,Wb,Wb,Wb,Wb,Wb,Wb,Wb,Wb,Wb,Wb,Wb,Wb,Wb,Wb,Wb,Wb,Wb,Wb,Wb],Pb=[function(A,e,r,i){return Z(4),0},function(A,e,r,i){A|=0,r|=0,i|=0;var f,n,t,o=0,a=0,c=0;if(A=0|ar[(e|=0)+4>>2],a=(0|(i=0|ar[e+8>>2]))/(0|ar[r+5784>>2])|0,c=(c=A+-1+(e=0|ar[e+12>>2])|0)-((0|c)%(0|e)|0)|0,e=(A=((0|A)/(0|ar[r+5780>>2])|0)-1+e|0)-((0|A)%(0|e)|0)|0,9<=((A=0|ar[r+5760>>2])+-8|0)>>>0&&sr(36609,36663,115,36672),9<=((o=0|ar[r+5768>>2])+-8|0)>>>0&&sr(36695,36663,116,36672),n=0==(0|(f=0|Wc(16,0|br(0|br(c,i),(A+7|0)/8|0)))),t=f,0|ar[r+20>>2]){if(0==(0|(i=o=0|Wc(16,a=0|br(0|br(e,a),(o+7|0)/8|0))))|0==(0|(A=a=0|Wc(16,a)))|n)return n||Bc(f),0|o&&Bc(o),a&&Bc(a),(r=0)|r}else{if(n)return(r=0)|r;A=i=e=0}return ar[r+4>>2]=t,ar[r+10492>>2]=0,ar[r+40>>2]=c,ar[r+8>>2]=i,ar[r+10496>>2]=0,ar[r+12>>2]=A,ar[r+10500>>2]=0,ar[r+44>>2]=e,0|(r=1)},function(A,e,r,i){for(e|=0,r|=0,i|=0;(0|e)!=(0|r);)tr[i>>0]=0|tr[e>>0],i=i+1|0,e=e+1|0;return 0|r},function(A,e,r,i){for(A|=0,e|=0,r|=0,i|=0;(0|e)!=(0|r);)A=(0|ar[e>>2])>>>0<128?(A=0|Ul(),0|lr[A+(ar[e>>2]<<1)>>1]):0,or[i>>1]=A,i=i+2|0,e=e+4|0;return 0|r},function(A,e,r,i){for(A|=0,e|=0,r|=0,i|=0;;){if((0|r)==(0|i)){r=i;break}if((0|ar[r>>2])>>>0<128&&(A=0|Ul(),(or[A+(ar[r>>2]<<1)>>1]&e)<<16>>16))break;r=r+4|0}return 0|r},function(A,e,r,i){for(A|=0,e|=0,r|=0,i|=0;;){if((0|r)==(0|i)){r=i;break}if(128<=(0|ar[r>>2])>>>0)break;if(A=0|Ul(),!((or[A+(ar[r>>2]<<1)>>1]&e)<<16>>16))break;r=r+4|0}return 0|r},function(A,e,r,i){for(e|=0,r|=0,i|=0;(0|e)!=(0|r);)ar[i>>2]=tr[e>>0],i=i+4|0,e=e+1|0;return 0|r},function(A,e,r,i){var f,n;return e|=0,r|=0,i|=0,ur=(f=ur)+16|0,n=f,ts[31&(A|=0)](n,e,r,i),fA(0|ar[n>>2]),i=0|ar[n>>2],iA(0|i),ur=f,0|i}],Lb=[Ib,function(A,e,r,i,f){A|=0,e|=0,r|=0,i|=0,f=+f;var n,t,o,a,c,l,u,b,s,d,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0;return m=ur=(d=ur)+31&-32,ur=ur+176|0,u=m+72|0,o=m+48|0,t=m+32|0,h=m+24|0,k=m+8|0,c=(n=m)+134|0,a=m+68|0,l=m+76|0,s=m+64|0,b=m+60|0,m=m+56|0,ar[(w=n)>>2]=37,w=(ar[w+4>>2]=0)|dr(n+1|0,79659,0|ar[r+4>>2]),ar[a>>2]=c,A=0|dn(),29<(0|(A=w?(ar[k>>2]=ar[r+8>>2],Q[k+8>>3]=f,0|fr(c,30,A,n,k)):(Q[h>>3]=f,0|fr(c,30,A,n,h))))?(A=0|dn(),k=w?(ar[t>>2]=ar[r+8>>2],Q[8+t>>3]=f,0|kr(a,A,n,t)):(Q[o>>3]=f,0|kr(a,A,n,o)),(A=0|ar[a>>2])?(v=k,y=p=A):gu()):(v=A,y=(p=0)|ar[a>>2]),h=0|nr(y,k=y+v|0,r),(0|y)!=(0|c)?(A=0|yc(v<<1))?Z=g=A:gu():(g=l,Z=0),Tf(u,r),hr(y,h,k,g,s,b,u),bn(u),ar[m>>2]=ar[e>>2],e=0|ar[s>>2],y=0|ar[b>>2],ar[u>>2]=ar[m>>2],y=0|PA(u,g,e,y,r,i),Bc(Z),Bc(p),ur=d,0|y},function(A,e,r,i,f){A|=0,e|=0,r|=0,i|=0,f=+f;var n,t,o,a,c,l,u,b,s,d,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0;return m=ur=(d=ur)+31&-32,ur=ur+176|0,u=m+72|0,o=m+48|0,t=m+32|0,h=m+24|0,k=m+8|0,c=(n=m)+134|0,a=m+68|0,l=m+76|0,s=m+64|0,b=m+60|0,m=m+56|0,ar[(w=n)>>2]=37,w=(ar[w+4>>2]=0)|dr(n+1|0,53897,0|ar[r+4>>2]),ar[a>>2]=c,A=0|dn(),29<(0|(A=w?(ar[k>>2]=ar[r+8>>2],Q[k+8>>3]=f,0|fr(c,30,A,n,k)):(Q[h>>3]=f,0|fr(c,30,A,n,h))))?(A=0|dn(),k=w?(ar[t>>2]=ar[r+8>>2],Q[8+t>>3]=f,0|kr(a,A,n,t)):(Q[o>>3]=f,0|kr(a,A,n,o)),(A=0|ar[a>>2])?(v=k,y=p=A):gu()):(v=A,y=(p=0)|ar[a>>2]),h=0|nr(y,k=y+v|0,r),(0|y)!=(0|c)?(A=0|yc(v<<1))?Z=g=A:gu():(g=l,Z=0),Tf(u,r),hr(y,h,k,g,s,b,u),bn(u),ar[m>>2]=ar[e>>2],e=0|ar[s>>2],y=0|ar[b>>2],ar[u>>2]=ar[m>>2],y=0|PA(u,g,e,y,r,i),Bc(Z),Bc(p),ur=d,0|y},function(A,e,r,i,f){A|=0,e|=0,r|=0,i|=0,f=+f;var n,t,o,a,c,l,u,b,s,d,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0;m=ur=(d=ur)+31&-32,ur=ur+336|0,u=m+300|0,o=m+48|0,t=m+32|0,h=m+24|0,k=m+8|0,c=(n=m)+304|0,a=m+296|0,l=m+68|0,s=m+64|0,b=m+60|0,m=m+56|0,ar[(w=n)>>2]=37,w=(ar[w+4>>2]=0)|dr(n+1|0,79659,0|ar[r+4>>2]),ar[a>>2]=c,A=0|dn(),29<(0|(A=w?(ar[k>>2]=ar[r+8>>2],Q[k+8>>3]=f,0|fr(c,30,A,n,k)):(Q[h>>3]=f,0|fr(c,30,A,n,h))))?(A=0|dn(),k=w?(ar[t>>2]=ar[r+8>>2],Q[8+t>>3]=f,0|kr(a,A,n,t)):(Q[o>>3]=f,0|kr(a,A,n,o)),(A=0|ar[a>>2])?(v=k,Z=y=A):gu()):(v=A,Z=(y=0)|ar[a>>2]),h=0|nr(Z,k=Z+v|0,r);do{if((0|Z)!=(0|c)){if(A=0|yc(v<<3)){p=0,B=g=A;break}gu()}else g=l,p=1,B=0}while(0);return Tf(u,r),Zr(Z,h,k,g,s,b,u),bn(u),ar[m>>2]=ar[e>>2],Z=0|ar[s>>2],A=0|ar[b>>2],ar[u>>2]=ar[m>>2],A=0|mr(u,g,Z,A,r,i),ar[e>>2]=A,p||Bc(B),Bc(y),ur=d,0|A},function(A,e,r,i,f){A|=0,e|=0,r|=0,i|=0,f=+f;var n,t,o,a,c,l,u,b,s,d,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0;m=ur=(d=ur)+31&-32,ur=ur+336|0,u=m+300|0,o=m+48|0,t=m+32|0,h=m+24|0,k=m+8|0,c=(n=m)+304|0,a=m+296|0,l=m+68|0,s=m+64|0,b=m+60|0,m=m+56|0,ar[(w=n)>>2]=37,w=(ar[w+4>>2]=0)|dr(n+1|0,53897,0|ar[r+4>>2]),ar[a>>2]=c,A=0|dn(),29<(0|(A=w?(ar[k>>2]=ar[r+8>>2],Q[k+8>>3]=f,0|fr(c,30,A,n,k)):(Q[h>>3]=f,0|fr(c,30,A,n,h))))?(A=0|dn(),k=w?(ar[t>>2]=ar[r+8>>2],Q[8+t>>3]=f,0|kr(a,A,n,t)):(Q[o>>3]=f,0|kr(a,A,n,o)),(A=0|ar[a>>2])?(v=k,Z=y=A):gu()):(v=A,Z=(y=0)|ar[a>>2]),h=0|nr(Z,k=Z+v|0,r);do{if((0|Z)!=(0|c)){if(A=0|yc(v<<3)){p=0,B=g=A;break}gu()}else g=l,p=1,B=0}while(0);return Tf(u,r),Zr(Z,h,k,g,s,b,u),bn(u),ar[m>>2]=ar[e>>2],Z=0|ar[s>>2],A=0|ar[b>>2],ar[u>>2]=ar[m>>2],A=0|mr(u,g,Z,A,r,i),ar[e>>2]=A,p||Bc(B),Bc(y),ur=d,0|A},Ib,Ib,Ib],Kb=[Cb,function(A,e,r,i,f){A|=0,r|=0,i|=0,f|=0;var n=0,t=0;for(A=e|=0;;){if((0|i)==(0|f)){t=7;break}if((0|A)==(0|r)){A=-1;break}if((e=0|tr[A>>0])<<24>>24<(n=0|tr[i>>0])<<24>>24){A=-1;break}if(n<<24>>24<e<<24>>24){A=1;break}i=i+1|0,A=A+1|0}return 7==(0|t)&&(A=(0|A)!=(0|r)&1),0|A},function(A,e,r,i,f){A|=0,r|=0,i|=0,f|=0;var n=0,t=0;for(A=e|=0;;){if((0|i)==(0|f)){t=7;break}if((0|A)==(0|r)){A=-1;break}if((0|(e=0|ar[A>>2]))<(0|(n=0|ar[i>>2]))){A=-1;break}if((0|n)<(0|e)){A=1;break}i=i+4|0,A=A+4|0}return 7==(0|t)&&(A=(0|A)!=(0|r)&1),0|A},function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t,o=0,a=0,c=0;if(o=ur=(t=ur)+31&-32,ur=ur+16|0,n=o+4|0,1&ar[(r|=0)+4>>2]){for(Tf(n,r),A=0|un(n,59248),bn(n),r=0|ar[A>>2],f?fs[63&ar[r+24>>2]](n,A):fs[63&ar[r+28>>2]](n,A),(A=0|tr[(a=11+n|0)>>0])<<24>>24<0?(r=A,A=0|ar[n>>2],c=8):f=n;8==(0|c)&&(f=A,A=r),(0|f)!=(((c=A<<24>>24<0)?0|ar[n>>2]:n)+(c?0|ar[4+n>>2]:255&A)|0);)A=0|tr[f>>0],0|(r=0|ar[e>>2])&&0|Mf(A=(0|(o=0|ar[(i=r+24|0)>>2]))==(0|ar[r+28>>2])?(c=0|ar[52+(0|ar[r>>2])>>2],A=0|hf(A),0|Hb[31&c](r,A)):(ar[i>>2]=o+1,0|hf(tr[o>>0]=A)),-1)&&(ar[e>>2]=0),r=0|tr[a>>0],A=f+1|0,c=8;A=0|ar[e>>2],Bu(n)}else c=0|ar[24+(0|ar[A>>2])>>2],ar[o>>2]=ar[e>>2],ar[n>>2]=ar[o>>2],A=0|Kb[31&c](A,n,r,i,1&f);return ur=t,0|A},function(A,e,r,i,f){A|=0,e|=0,r|=0,i|=0,f|=0;var n,t,o,a,c,l,u=0,b=0;return u=ur=(A=ur)+31&-32,ur=ur+64|0,b=(t=u)+52|0,c=u+39|0,n=u+16|0,a=u+12|0,o=u+4|0,u=u+8|0,tr[b>>0]=0|tr[53902],tr[b+1>>0]=0|tr[53903],tr[b+2>>0]=0|tr[53904],tr[b+3>>0]=0|tr[53905],tr[b+4>>0]=0|tr[53906],tr[b+5>>0]=0|tr[53907],wr(b+1|0,53908,1,0|ar[r+4>>2]),l=0|dn(),ar[t>>2]=f,b=0|nr(c,f=c+(0|fr(c,13,l,b,t))|0,r),Tf(t,r),vr(c,b,f,n,a,o,t),bn(t),ar[u>>2]=ar[e>>2],e=0|ar[a>>2],f=0|ar[o>>2],ar[t>>2]=ar[u>>2],f=0|PA(t,n,e,f,r,i),ur=A,0|f},function(A,e,r,i,f){A|=0,e|=0,r|=0,i|=0,f|=0;var n,t,o,a,c,l,u=0,b=0;return u=ur=(A=ur)+31&-32,ur=ur+64|0,b=(t=u)+52|0,c=u+40|0,n=u+16|0,a=u+12|0,o=u+4|0,u=u+8|0,tr[b>>0]=0|tr[53902],tr[b+1>>0]=0|tr[53903],tr[b+2>>0]=0|tr[53904],tr[b+3>>0]=0|tr[53905],tr[b+4>>0]=0|tr[53906],tr[b+5>>0]=0|tr[53907],wr(b+1|0,53908,0,0|ar[r+4>>2]),l=0|dn(),ar[t>>2]=f,b=0|nr(c,f=c+(0|fr(c,12,l,b,t))|0,r),Tf(t,r),vr(c,b,f,n,a,o,t),bn(t),ar[u>>2]=ar[e>>2],e=0|ar[a>>2],f=0|ar[o>>2],ar[t>>2]=ar[u>>2],f=0|PA(t,n,e,f,r,i),ur=A,0|f},function(A,e,r,i,f){A|=0,e|=0,r|=0,i|=0,f|=0;var n,t,o,a,c=0,l=0,u=0;return u=ur=(A=ur)+31&-32,ur=ur+80|0,l=(o=u)+68|0,n=u+48|0,t=u+8|0,u=u+4|0,tr[l>>0]=0|tr[53891],tr[l+1>>0]=0|tr[53892],tr[l+2>>0]=0|tr[53893],tr[l+3>>0]=0|tr[53894],tr[l+4>>0]=0|tr[53895],tr[l+5>>0]=0|tr[53896],c=0|dn(),ar[o>>2]=f,c=0|nr(n,l=n+(f=0|fr(n,20,c,l,o))|0,r),Tf(o,r),a=0|un(o,59232),bn(o),Pb[7&ar[32+(0|ar[a>>2])>>2]](a,n,l,t),f=t+f|0,ar[u>>2]=ar[e>>2],ar[o>>2]=ar[u>>2],f=0|PA(o,t,(0|c)==(0|l)?f:c-n+t|0,f,r,i),ur=A,0|f},function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t,o=0,a=0,c=0;if(o=ur=(t=ur)+31&-32,ur=ur+16|0,n=o+4|0,1&ar[(r|=0)+4>>2]){for(Tf(n,r),A=0|un(n,59272),bn(n),r=0|ar[A>>2],f?fs[63&ar[r+24>>2]](n,A):fs[63&ar[r+28>>2]](n,A),A=0|tr[(a=8+n+3|0)>>0],r=0|ar[n>>2],c=4+n|0,f=A<<24>>24<0?r:n;(0|f)!=(((o=A<<24>>24<0)?r:n)+((o?0|ar[c>>2]:255&A)<<2)|0);)A=0|ar[f>>2],0|(r=0|ar[e>>2])&&0|Uf(A=(0|(o=0|ar[(i=r+24|0)>>2]))==(0|ar[r+28>>2])?(o=0|ar[52+(0|ar[r>>2])>>2],A=0|gf(A),0|Hb[31&o](r,A)):(ar[i>>2]=o+4,0|gf(ar[o>>2]=A)),-1)&&(ar[e>>2]=0),f=f+4|0,A=0|tr[a>>0],r=0|ar[n>>2];A=0|ar[e>>2],Qu(n)}else c=0|ar[24+(0|ar[A>>2])>>2],ar[o>>2]=ar[e>>2],ar[n>>2]=ar[o>>2],A=0|Kb[31&c](A,n,r,i,1&f);return ur=t,0|A},function(A,e,r,i,f){A|=0,e|=0,r|=0,i|=0,f|=0;var n,t,o,a,c,l,u=0,b=0;return u=ur=(A=ur)+31&-32,ur=ur+128|0,b=(t=u)+122|0,c=u+108|0,n=u+16|0,a=u+12|0,o=u+4|0,u=u+8|0,tr[b>>0]=0|tr[53902],tr[b+1>>0]=0|tr[53903],tr[b+2>>0]=0|tr[53904],tr[b+3>>0]=0|tr[53905],tr[b+4>>0]=0|tr[53906],tr[b+5>>0]=0|tr[53907],wr(b+1|0,53908,1,0|ar[r+4>>2]),l=0|dn(),ar[t>>2]=f,b=0|nr(c,f=c+(0|fr(c,13,l,b,t))|0,r),Tf(t,r),pr(c,b,f,n,a,o,t),bn(t),ar[u>>2]=ar[e>>2],e=0|ar[a>>2],f=0|ar[o>>2],ar[t>>2]=ar[u>>2],f=0|mr(t,n,e,f,r,i),ur=A,0|f},function(A,e,r,i,f){A|=0,e|=0,r|=0,i|=0,f|=0;var n,t,o,a,c,l,u=0,b=0;return u=ur=(A=ur)+31&-32,ur=ur+128|0,b=(t=u)+112|0,c=u+100|0,n=u+16|0,a=u+12|0,o=u+4|0,u=u+8|0,tr[b>>0]=0|tr[53902],tr[b+1>>0]=0|tr[53903],tr[b+2>>0]=0|tr[53904],tr[b+3>>0]=0|tr[53905],tr[b+4>>0]=0|tr[53906],tr[b+5>>0]=0|tr[53907],wr(b+1|0,53908,0,0|ar[r+4>>2]),l=0|dn(),ar[t>>2]=f,b=0|nr(c,f=c+(0|fr(c,12,l,b,t))|0,r),Tf(t,r),pr(c,b,f,n,a,o,t),bn(t),ar[u>>2]=ar[e>>2],e=0|ar[a>>2],f=0|ar[o>>2],ar[t>>2]=ar[u>>2],f=0|mr(t,n,e,f,r,i),ur=A,0|f},function(A,e,r,i,f){A|=0,e|=0,r|=0,i|=0,f|=0;var n,t,o,a,c=0,l=0,u=0;return u=ur=(A=ur)+31&-32,ur=ur+192|0,l=(o=u)+176|0,n=u+156|0,t=u+4|0,u=u+152|0,tr[l>>0]=0|tr[53891],tr[l+1>>0]=0|tr[53892],tr[l+2>>0]=0|tr[53893],tr[l+3>>0]=0|tr[53894],tr[l+4>>0]=0|tr[53895],tr[l+5>>0]=0|tr[53896],c=0|dn(),ar[o>>2]=f,c=0|nr(n,l=n+(f=0|fr(n,20,c,l,o))|0,r),Tf(o,r),a=0|un(o,59264),bn(o),Pb[7&ar[48+(0|ar[a>>2])>>2]](a,n,l,t),f=t+(f<<2)|0,ar[u>>2]=ar[e>>2],ar[o>>2]=ar[u>>2],f=0|mr(o,t,(0|c)==(0|l)?f:t+(c-n<<2)|0,f,r,i),ur=A,0|f},function(A,e,r,i,f){return r|=0,ar[(f|=0)>>2]=r,3},function(A,e,r,i,f){return 0|function(A,e,r,i,f){r|=0,i|=0;var n,t,o=0,a=0,c=0,l=0,u=0,b=0,s=0;2<((n=e|=0)-(t=A|=0)|0)&0!=(4&(f|=0)|0)&&-17==(0|tr[A>>0])&&-69==(0|tr[A+1>>0])?A=-65==((s=0)|tr[A+2>>0])?A+3|0:A:s=0;A:for(;;){if(!(s>>>0<r>>>0&A>>>0<e>>>0)){0;break}l=0|tr[A>>0],b=255&l,o=A+1|0;do{if(-1<l<<24>>24){if(i>>>0<b>>>0){0;break A}A=o}else{if((255&l)<194){0;break A}if(a=A+2|0,f=n-(u=A)|0,(255&l)<224){if((0|f)<2){0;break A}if(128!=(192&(f=0|cr[o>>0])|0)){0;break A}if(i>>>0<(63&f|b<<6&1984)>>>0){0;break A}A=a;break}if(c=A+3|0,(255&l)<240){if((0|f)<3){0;break A}switch(a=0|tr[a>>0],o=0|cr[o>>0],f=224&o,l<<24>>24){case-32:if(160==(0|f))break;A=u;break A;case-19:if(128==(0|f))break;A=u;break A;default:if(128!=(192&o|0)){A=u;break A}}if(128!=(192&(f=255&a)|0)){0;break A}if(i>>>0<(o<<6&4032|b<<12&61440|63&f)>>>0){0;break A}A=c;break}if((0|f)<4|244<(255&l)){0;break A}switch(o=0|tr[o>>0],f=0|tr[a>>0],a=0|tr[c>>0],c=255&o,l<<24>>24){case-16:if(48<=(o+112&255)){A=u;break A}break;case-12:if(128==(240&c|0))break;A=u;break A;default:if(128!=(192&c|0)){A=u;break A}}if(128!=(192&(o=255&f)|0)){0;break A}if(128!=(192&(f=255&a)|0)){0;break A}if(i>>>0<(c<<12&258048|b<<18&1835008|o<<6&4032|63&f)>>>0){0;break A}A=A+4|0}}while(0);s=s+1|0}return A-t|0}(r|=0,i|=0,f|=0,1114111,0)},function(A,e,r,i,f){A|=0,e|=0,r|=0,i|=0;var n,t=0;t=ur=(n=ur)+31&-32,ur=ur+16|0,ar[(f|=0)>>2]=r,r=0|rf(0|ar[A+8>>2]),A=0|$c(t,0),0|r&&rf(r);A:do{switch(0|A){case 0:case-1:A=2;break;default:if((A=A+-1|0)>>>0>(i-(0|ar[f>>2])|0)>>>0)A=1;else for(;;){if(!A){A=0;break A}e=0|tr[t>>0],i=0|ar[f>>2],ar[f>>2]=i+1,tr[i>>0]=e,t=t+1|0,A=A+-1|0}}}while(0);return ur=n,0|A},function(A,e,r,i,f){e|=0,r|=0,f|=0;var n,t,o,a,c,l=0,u=0,b=0;t=i|=0,n=(A|=0)+8|0,b=u=0;A:for(;!((0|r)==(0|i)|f>>>0<=u>>>0);){switch(l=0|rf(0|ar[n>>2]),A=0|(a=t-(o=r)|0,c=e,0|Gi(0,o|=0,a|=0,0|(c|=0)?c:58156)),0|l&&rf(l),0|A){case-2:case-1:break A;case 0:A=1}u=u+1|0,b=A+b|0,r=r+A|0}return 0|b},function(A,e,r,i,f){for(A|=0,e|=0,r|=0,i|=0,f|=0;(0|e)!=(0|r);)A=0|tr[e>>0],tr[f>>0]=-1<A<<24>>24?A:i,f=f+1|0,e=e+1|0;return 0|r},function(A,e,r,i,f){A|=0,i|=0;var n,t=0;for(n=((r|=0)-(e|=0)|0)>>>2,A=f|=0,f=e;(0|f)!=(0|r);)t=0|ar[f>>2],tr[A>>0]=t>>>0<128?255&t:i,A=A+1|0,f=f+4|0;return e+(n<<2)|0},function(A,e,r,i,f){return r|=0,ar[(f|=0)>>2]=r,3},function(A,e,r,i,f){return 0|((i=(i|=0)-(r|=0)|0)>>>0<(f|=0)>>>0?i:f)},function(A,e,r,i,f){return r|=0,ar[(f|=0)>>2]=r,3},function(A,e,r,i,f){return 0|function(A,e,r,i,f){r|=0,i|=0;var n,t,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0;2<((n=e|=0)-(t=A|=0)|0)&0!=(4&(f|=0)|0)&&-17==(0|tr[A>>0])&&-69==(0|tr[A+1>>0])?A=-65==((d=0)|tr[A+2>>0])?A+3|0:A:d=0;A:for(;;){if(!(d>>>0<r>>>0&A>>>0<e>>>0)){0;break}if(l=0|tr[A>>0],i>>>0<(s=255&l)>>>0){0;break}a=A+1|0;do{if(l<<24>>24<=-1){if((255&l)<194){0;break A}if(c=A+2|0,f=n-(u=A)|0,(255&l)<224){if((0|f)<2){0;break A}if(128!=(192&(f=0|cr[a>>0])|0)){0;break A}if(i>>>0<(63&f|s<<6&1984)>>>0){0;break A}f=d,A=c;break}if(b=A+3|0,(255&l)<240){if((0|f)<3){0;break A}switch(o=0|tr[c>>0],a=0|cr[a>>0],f=224&a,l<<24>>24){case-32:if(160==(0|f))break;A=u;break A;case-19:if(128==(0|f))break;A=u;break A;default:if(128!=(192&a|0)){A=u;break A}}if(128!=(192&(f=255&o)|0)){0;break A}if(i>>>0<(a<<6&4032|s<<12&61440|63&f)>>>0){0;break A}f=d,A=b;break}if(245<=(255&l)){0;break A}if((r-d|0)>>>0<2|(0|f)<4){0;break A}switch(o=0|tr[a>>0],f=0|tr[c>>0],a=0|tr[b>>0],c=255&o,l<<24>>24){case-16:if(48<=(o+112&255)){A=u;break A}break;case-12:if(128==(240&c|0))break;A=u;break A;default:if(128!=(192&c|0)){A=u;break A}}if(128!=(192&(o=255&f)|0)){0;break A}if(128!=(192&(f=255&a)|0)){0;break A}if(i>>>0<(c<<12&258048|s<<18&1835008|o<<6&4032|63&f)>>>0){0;break A}f=d+1|0,A=A+4|0}else f=d,A=a}while(0);d=f+1|0}return A-t|0}(r|=0,i|=0,f|=0,1114111,0)},Cb,Cb,Cb,Cb,Cb,Cb,Cb,Cb,Cb,Cb,Cb],qb=[Gb,function(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,f|=0,n=+n;var t,o,a,c,l,u,b,s,d,k,h,w,v,m,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0,C=0,G=0;for(B=ur=(m=ur)+31&-32,ur=ur+384|0,c=B+8|0,A=(Z=B)+284|0,p=B+72|0,g=B+184|0,v=B+68|0,l=B+180|0,u=B+177|0,b=B+176|0,k=B+56|0,h=B+44|0,w=B+32|0,o=B+28|0,a=B+76|0,s=B+24|0,d=B+16|0,B=B+20|0,ar[p>>2]=A,Q[c>>3]=n,99<(A=0|_c(A,100,55168,c))>>>0?(A=0|dn(),Q[Z>>3]=n,A=0|kr(p,A,55168,Z),(g=0|ar[p>>2])||gu(),(Z=0|yc(A))?(W=A,C=E=Z,G=g):gu()):(E=g,W=A,G=C=0),Tf(v,i),t=0|un(v,59232),y=0|ar[p>>2],Pb[7&ar[32+(0|ar[t>>2])>>2]](t,y,y+W|0,E),y=W?45==(0|tr[ar[p>>2]>>0]):0,ar[k>>2]=0,ar[4+k>>2]=0,A=ar[8+k>>2]=0;3!=(0|A);)A=A+1|(ar[k+(A<<2)>>2]=0);for(ar[h>>2]=0,ar[4+h>>2]=0,A=ar[8+h>>2]=0;3!=(0|A);)A=A+1|(ar[h+(A<<2)>>2]=0);for(ar[w>>2]=0,ar[4+w>>2]=0,A=ar[8+w>>2]=0;3!=(0|A);)A=A+1|(ar[w+(A<<2)>>2]=0);return ki(r,y,v,l,u,b,k,h,w,o),100<(A=(Z=(0|(p=0|ar[o>>2]))<(0|W)?(g=0|tr[11+w>>0],Z=0|tr[11+h>>0],A=1,g=(g<<24>>24<0?0|ar[4+w>>2]:255&g)+(W-p<<1)|0,Z<<24>>24<0?0|ar[4+h>>2]:255&Z):(Z=0|tr[11+w>>0],A=2,g=(g=0|tr[11+h>>0])<<24>>24<0?0|ar[4+h>>2]:255&g,Z<<24>>24<0?0|ar[4+w>>2]:255&Z))+p+g+A|0)>>>0?(A=0|yc(A))?I=X=A:gu():(X=a,I=0),hi(X,s,d,0|ar[i+4>>2],E,E+W|0,t,y,l,0|tr[u>>0],0|tr[b>>0],k,h,w,p),ar[B>>2]=ar[e>>2],e=0|ar[s>>2],A=0|ar[d>>2],ar[c>>2]=ar[B>>2],A=0|PA(c,X,e,A,i,f),0|I&&Bc(I),Bu(w),Bu(h),Bu(k),bn(v),0|C&&Bc(C),0|G&&Bc(G),ur=m,0|A},function(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,f|=0,n=+n;var t,o,a,c,l,u,b,s,d,k,h,w,v,m,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0,C=0,G=0;for(B=ur=(m=ur)+31&-32,ur=ur+1008|0,c=B+8|0,A=(Z=B)+896|0,p=B+888|0,g=B+488|0,v=B+480|0,l=B+892|0,u=B+476|0,b=B+472|0,k=B+460|0,h=B+448|0,w=B+436|0,o=B+432|0,a=B+32|0,s=B+24|0,d=B+16|0,B=B+20|0,ar[p>>2]=A,Q[c>>3]=n,99<(A=0|_c(A,100,55168,c))>>>0?(A=0|dn(),Q[Z>>3]=n,A=0|kr(p,A,55168,Z),(g=0|ar[p>>2])||gu(),(Z=0|yc(A<<2))?(W=A,C=E=Z,G=g):gu()):(E=g,W=A,G=C=0),Tf(v,i),t=0|un(v,59264),y=0|ar[p>>2],Pb[7&ar[48+(0|ar[t>>2])>>2]](t,y,y+W|0,E),y=W?45==(0|tr[ar[p>>2]>>0]):0,ar[k>>2]=0,ar[4+k>>2]=0,A=ar[8+k>>2]=0;3!=(0|A);)A=A+1|(ar[k+(A<<2)>>2]=0);for(ar[h>>2]=0,ar[4+h>>2]=0,A=ar[8+h>>2]=0;3!=(0|A);)A=A+1|(ar[h+(A<<2)>>2]=0);for(ar[w>>2]=0,ar[4+w>>2]=0,A=ar[8+w>>2]=0;3!=(0|A);)A=A+1|(ar[w+(A<<2)>>2]=0);return _l(r,y,v,l,u,b,k,h,w,o),100<(A=(Z=(0|(p=0|ar[o>>2]))<(0|W)?(g=0|tr[8+w+3>>0],Z=0|tr[8+h+3>>0],A=1,g=(g<<24>>24<0?0|ar[4+w>>2]:255&g)+(W-p<<1)|0,Z<<24>>24<0?0|ar[4+h>>2]:255&Z):(Z=0|tr[8+w+3>>0],A=2,g=(g=0|tr[8+h+3>>0])<<24>>24<0?0|ar[4+h>>2]:255&g,Z<<24>>24<0?0|ar[4+w>>2]:255&Z))+p+g+A|0)>>>0?(A=0|yc(A<<2))?I=X=A:gu():(X=a,I=0),Yl(X,s,d,0|ar[i+4>>2],E,E+(W<<2)|0,t,y,l,0|ar[u>>2],0|ar[b>>2],k,h,w,p),ar[B>>2]=ar[e>>2],e=0|ar[s>>2],A=0|ar[d>>2],ar[c>>2]=ar[B>>2],A=0|mr(c,X,e,A,i,f),0|I&&Bc(I),Qu(w),Qu(h),Bu(k),bn(v),0|C&&Bc(C),0|G&&Bc(G),ur=m,0|A},Gb],$b=[Vb,function(A,e,r,i,f,n){A|=0,e|=0,r|=0,f|=0,n|=0;var t,o,a,c=0,l=0,u=0,b=0;if(u=ur=(a=ur)+31&-32,ur=ur+48|0,c=u+40|0,b=u+16|0,t=u+8|0,o=u+12|0,l=u+4|0,1&ar[(i|=0)+4>>2])for(Tf(c,i),l=0|un(c,59232),bn(c),Tf(c,i),A=0|un(c,59248),bn(c),fs[63&ar[24+(0|ar[A>>2])>>2]](b,A),fs[63&ar[28+(0|ar[A>>2])>>2]](b+12|0,A),ar[u>>2]=ar[r>>2],A=b+24|0,ar[c>>2]=ar[u>>2],c=(0|Vn(e,c,b,A,l,f,1))==(0|b)&1,tr[n>>0]=c,c=0|ar[e>>2];Bu(A=A+-12|0),(0|A)!=(0|b););else{switch(ar[t>>2]=-1,u=0|ar[16+(0|ar[A>>2])>>2],ar[o>>2]=ar[e>>2],ar[l>>2]=ar[r>>2],ar[b>>2]=ar[o>>2],ar[c>>2]=ar[l>>2],b=0|$b[63&u](A,b,c,i,f,t),ar[e>>2]=b,0|ar[t>>2]){case 0:tr[n>>0]=0;break;case 1:tr[n>>0]=1;break;default:tr[n>>0]=1,ar[f>>2]=4}c=0|ar[e>>2]}return ur=a,0|c},function(A,e,r,i,f,n){var t,o,a,c,l;return A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,c=ur=(t=ur)+31&-32,ur=ur+16|0,o=12+c|0,a=8+c|0,ar[(l=4+c|0)>>2]=ar[e>>2],ar[c>>2]=ar[r>>2],ar[a>>2]=ar[l>>2],ar[o>>2]=ar[c>>2],n=0|function(A,e,r,i,f,n){A|=0,e|=0,r|=0,f|=0,n|=0;var t,o,a,c,l,u,b,s,d,k,h,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0;y=ur=(h=ur)+31&-32,ur=ur+224|0,c=y+198|0,p=y+196|0,d=y+184|0,k=y+172|0,l=y+168|0,u=y+8|0,b=y+4|0,s=0|yn(i|=0),Bn(d,i,c,p),ar[k>>2]=0,ar[4+k>>2]=0,ar[8+k>>2]=0,A=0;for(;3!=(0|A);)ar[k+(A<<2)>>2]=0,A=A+1|0;a=8+k|0,A=(0|tr[(o=11+k|0)>>0])<0?(2147483647&ar[a>>2])-1|0:10;Vu(k,A,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[l>>2]=A,ar[b>>2]=u,ar[y>>2]=0,t=4+k|0,v=0|ar[e>>2],w=v;A:for(;;){m=w?0|Mf(i=(0|(i=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|hf(0|tr[i>>0]),-1)?(ar[e>>2]=0,v=Z=0,1):(Z=w,0):(v=Z=0,1),w=0|ar[r>>2];do{if(w){if(0|Mf(i=(0|(i=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|hf(0|tr[i>>0]),-1)){ar[r>>2]=0,E=19;break}if(m)break;break A}E=19}while(0);if(19==(0|E)){if(E=0,m){w=0;break}w=0}if(i=(i=0|tr[o>>0])<<24>>24<0?0|ar[t>>2]:255&i,(0|ar[l>>2])==(A+i|0)&&(Vu(k,i<<1,0),A=(0|tr[o>>0])<0?(2147483647&ar[a>>2])-1|0:10,Vu(k,A,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[l>>2]=A+i),0|sn(255&(i=(0|(i=0|ar[(m=Z+12|0)>>2]))==(0|ar[(g=Z+16|0)>>2])?0|jb[127&ar[36+(0|ar[Z>>2])>>2]](Z):0|hf(0|tr[i>>0])),s,A,l,y,0|tr[p>>0],d,u,b,c))break;(0|(i=0|ar[m>>2]))!=(0|ar[g>>2])?(ar[m>>2]=i+1,hf(0|tr[i>>0]),w=Z):(jb[127&ar[40+(0|ar[Z>>2])>>2]](Z),w=Z)}0|((p=0|tr[11+d>>0])<<24>>24<0?0|ar[4+d>>2]:255&p)&&((B=0|ar[b>>2])-u|0)<160&&(y=0|ar[y>>2],ar[b>>2]=B+4,ar[B>>2]=y);B=0|Gn(A,0|ar[l>>2],f,s),ar[n>>2]=B,gn(d,u,0|ar[b>>2],f),i=Z?(A=(0|(A=0|ar[Z+12>>2]))==(0|ar[Z+16>>2])?0|jb[127&ar[36+(0|ar[v>>2])>>2]](Z):0|hf(0|tr[A>>0]),0|Mf(A,-1)?(ar[e>>2]=0,1):0):1;do{if(w){if(0|Mf(A=(0|(A=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|hf(0|tr[A>>0]),-1)){ar[r>>2]=0,E=47;break}if(i)break;E=49;break}E=47}while(0);47==(0|E)&&i&&(E=49);49==(0|E)&&(ar[f>>2]=2|ar[f>>2]);return E=0|ar[e>>2],Bu(k),Bu(d),ur=h,0|E}(A,a,o,i,f,n),ur=t,0|n},function(A,e,r,i,f,n){var t,o,a,c,l;return A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,c=ur=(t=ur)+31&-32,ur=ur+16|0,o=12+c|0,a=8+c|0,ar[(l=4+c|0)>>2]=ar[e>>2],ar[c>>2]=ar[r>>2],ar[a>>2]=ar[l>>2],ar[o>>2]=ar[c>>2],n=0|function(A,e,r,i,f,n){A|=0,e|=0,r|=0,f|=0,n|=0;var t,o,a,c,l,u,b,s,d,k,h,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0;y=ur=(h=ur)+31&-32,ur=ur+224|0,c=y+198|0,p=y+196|0,d=y+184|0,k=y+172|0,l=y+168|0,u=y+8|0,b=y+4|0,s=0|yn(i|=0),Bn(d,i,c,p),ar[k>>2]=0,ar[4+k>>2]=0,ar[8+k>>2]=0,A=0;for(;3!=(0|A);)ar[k+(A<<2)>>2]=0,A=A+1|0;a=8+k|0,A=(0|tr[(o=11+k|0)>>0])<0?(2147483647&ar[a>>2])-1|0:10;Vu(k,A,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[l>>2]=A,ar[b>>2]=u,ar[y>>2]=0,t=4+k|0,v=0|ar[e>>2],w=v;A:for(;;){m=w?0|Mf(i=(0|(i=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|hf(0|tr[i>>0]),-1)?(ar[e>>2]=0,v=Z=0,1):(Z=w,0):(v=Z=0,1),w=0|ar[r>>2];do{if(w){if(0|Mf(i=(0|(i=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|hf(0|tr[i>>0]),-1)){ar[r>>2]=0,E=19;break}if(m)break;break A}E=19}while(0);if(19==(0|E)){if(E=0,m){w=0;break}w=0}if(i=(i=0|tr[o>>0])<<24>>24<0?0|ar[t>>2]:255&i,(0|ar[l>>2])==(A+i|0)&&(Vu(k,i<<1,0),A=(0|tr[o>>0])<0?(2147483647&ar[a>>2])-1|0:10,Vu(k,A,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[l>>2]=A+i),0|sn(255&(i=(0|(i=0|ar[(m=Z+12|0)>>2]))==(0|ar[(g=Z+16|0)>>2])?0|jb[127&ar[36+(0|ar[Z>>2])>>2]](Z):0|hf(0|tr[i>>0])),s,A,l,y,0|tr[p>>0],d,u,b,c))break;(0|(i=0|ar[m>>2]))!=(0|ar[g>>2])?(ar[m>>2]=i+1,hf(0|tr[i>>0]),w=Z):(jb[127&ar[40+(0|ar[Z>>2])>>2]](Z),w=Z)}0|((p=0|tr[11+d>>0])<<24>>24<0?0|ar[4+d>>2]:255&p)&&((B=0|ar[b>>2])-u|0)<160&&(y=0|ar[y>>2],ar[b>>2]=B+4,ar[B>>2]=y);B=0|Cn(A,0|ar[l>>2],f,s),ar[n>>2]=B,ar[n+4>>2]=D,gn(d,u,0|ar[b>>2],f),i=Z?(A=(0|(A=0|ar[Z+12>>2]))==(0|ar[Z+16>>2])?0|jb[127&ar[36+(0|ar[v>>2])>>2]](Z):0|hf(0|tr[A>>0]),0|Mf(A,-1)?(ar[e>>2]=0,1):0):1;do{if(w){if(0|Mf(A=(0|(A=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|hf(0|tr[A>>0]),-1)){ar[r>>2]=0,E=47;break}if(i)break;E=49;break}E=47}while(0);47==(0|E)&&i&&(E=49);49==(0|E)&&(ar[f>>2]=2|ar[f>>2]);return E=0|ar[e>>2],Bu(k),Bu(d),ur=h,0|E}(A,a,o,i,f,n),ur=t,0|n},function(A,e,r,i,f,n){var t,o,a,c,l;return A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,c=ur=(t=ur)+31&-32,ur=ur+16|0,o=12+c|0,a=8+c|0,ar[(l=4+c|0)>>2]=ar[e>>2],ar[c>>2]=ar[r>>2],ar[a>>2]=ar[l>>2],ar[o>>2]=ar[c>>2],n=0|function(A,e,r,i,f,n){A|=0,e|=0,r|=0,f|=0,n|=0;var t,o,a,c,l,u,b,s,d,k,h,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0;y=ur=(h=ur)+31&-32,ur=ur+224|0,c=y+198|0,p=y+196|0,d=y+184|0,k=y+172|0,l=y+168|0,u=y+8|0,b=y+4|0,s=0|yn(i|=0),Bn(d,i,c,p),ar[k>>2]=0,ar[4+k>>2]=0,ar[8+k>>2]=0,A=0;for(;3!=(0|A);)ar[k+(A<<2)>>2]=0,A=A+1|0;a=8+k|0,A=(0|tr[(o=11+k|0)>>0])<0?(2147483647&ar[a>>2])-1|0:10;Vu(k,A,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[l>>2]=A,ar[b>>2]=u,ar[y>>2]=0,t=4+k|0,v=0|ar[e>>2],w=v;A:for(;;){m=w?0|Mf(i=(0|(i=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|hf(0|tr[i>>0]),-1)?(ar[e>>2]=0,v=Z=0,1):(Z=w,0):(v=Z=0,1),w=0|ar[r>>2];do{if(w){if(0|Mf(i=(0|(i=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|hf(0|tr[i>>0]),-1)){ar[r>>2]=0,E=19;break}if(m)break;break A}E=19}while(0);if(19==(0|E)){if(E=0,m){w=0;break}w=0}if(i=(i=0|tr[o>>0])<<24>>24<0?0|ar[t>>2]:255&i,(0|ar[l>>2])==(A+i|0)&&(Vu(k,i<<1,0),A=(0|tr[o>>0])<0?(2147483647&ar[a>>2])-1|0:10,Vu(k,A,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[l>>2]=A+i),0|sn(255&(i=(0|(i=0|ar[(m=Z+12|0)>>2]))==(0|ar[(g=Z+16|0)>>2])?0|jb[127&ar[36+(0|ar[Z>>2])>>2]](Z):0|hf(0|tr[i>>0])),s,A,l,y,0|tr[p>>0],d,u,b,c))break;(0|(i=0|ar[m>>2]))!=(0|ar[g>>2])?(ar[m>>2]=i+1,hf(0|tr[i>>0]),w=Z):(jb[127&ar[40+(0|ar[Z>>2])>>2]](Z),w=Z)}0|((p=0|tr[11+d>>0])<<24>>24<0?0|ar[4+d>>2]:255&p)&&((B=0|ar[b>>2])-u|0)<160&&(y=0|ar[y>>2],ar[b>>2]=B+4,ar[B>>2]=y);B=0|In(A,0|ar[l>>2],f,s),or[n>>1]=B,gn(d,u,0|ar[b>>2],f),i=Z?(A=(0|(A=0|ar[Z+12>>2]))==(0|ar[Z+16>>2])?0|jb[127&ar[36+(0|ar[v>>2])>>2]](Z):0|hf(0|tr[A>>0]),0|Mf(A,-1)?(ar[e>>2]=0,1):0):1;do{if(w){if(0|Mf(A=(0|(A=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|hf(0|tr[A>>0]),-1)){ar[r>>2]=0,E=47;break}if(i)break;E=49;break}E=47}while(0);47==(0|E)&&i&&(E=49);49==(0|E)&&(ar[f>>2]=2|ar[f>>2]);return E=0|ar[e>>2],Bu(k),Bu(d),ur=h,0|E}(A,a,o,i,f,n),ur=t,0|n},function(A,e,r,i,f,n){var t,o,a,c,l;return A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,c=ur=(t=ur)+31&-32,ur=ur+16|0,o=12+c|0,a=8+c|0,ar[(l=4+c|0)>>2]=ar[e>>2],ar[c>>2]=ar[r>>2],ar[a>>2]=ar[l>>2],ar[o>>2]=ar[c>>2],n=0|function(A,e,r,i,f,n){A|=0,e|=0,r|=0,f|=0,n|=0;var t,o,a,c,l,u,b,s,d,k,h,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0;y=ur=(h=ur)+31&-32,ur=ur+224|0,c=y+198|0,p=y+196|0,d=y+184|0,k=y+172|0,l=y+168|0,u=y+8|0,b=y+4|0,s=0|yn(i|=0),Bn(d,i,c,p),ar[k>>2]=0,ar[4+k>>2]=0,ar[8+k>>2]=0,A=0;for(;3!=(0|A);)ar[k+(A<<2)>>2]=0,A=A+1|0;a=8+k|0,A=(0|tr[(o=11+k|0)>>0])<0?(2147483647&ar[a>>2])-1|0:10;Vu(k,A,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[l>>2]=A,ar[b>>2]=u,ar[y>>2]=0,t=4+k|0,v=0|ar[e>>2],w=v;A:for(;;){m=w?0|Mf(i=(0|(i=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|hf(0|tr[i>>0]),-1)?(ar[e>>2]=0,v=Z=0,1):(Z=w,0):(v=Z=0,1),w=0|ar[r>>2];do{if(w){if(0|Mf(i=(0|(i=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|hf(0|tr[i>>0]),-1)){ar[r>>2]=0,E=19;break}if(m)break;break A}E=19}while(0);if(19==(0|E)){if(E=0,m){w=0;break}w=0}if(i=(i=0|tr[o>>0])<<24>>24<0?0|ar[t>>2]:255&i,(0|ar[l>>2])==(A+i|0)&&(Vu(k,i<<1,0),A=(0|tr[o>>0])<0?(2147483647&ar[a>>2])-1|0:10,Vu(k,A,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[l>>2]=A+i),0|sn(255&(i=(0|(i=0|ar[(m=Z+12|0)>>2]))==(0|ar[(g=Z+16|0)>>2])?0|jb[127&ar[36+(0|ar[Z>>2])>>2]](Z):0|hf(0|tr[i>>0])),s,A,l,y,0|tr[p>>0],d,u,b,c))break;(0|(i=0|ar[m>>2]))!=(0|ar[g>>2])?(ar[m>>2]=i+1,hf(0|tr[i>>0]),w=Z):(jb[127&ar[40+(0|ar[Z>>2])>>2]](Z),w=Z)}0|((p=0|tr[11+d>>0])<<24>>24<0?0|ar[4+d>>2]:255&p)&&((B=0|ar[b>>2])-u|0)<160&&(y=0|ar[y>>2],ar[b>>2]=B+4,ar[B>>2]=y);B=0|Wn(A,0|ar[l>>2],f,s),ar[n>>2]=B,gn(d,u,0|ar[b>>2],f),i=Z?(A=(0|(A=0|ar[Z+12>>2]))==(0|ar[Z+16>>2])?0|jb[127&ar[36+(0|ar[v>>2])>>2]](Z):0|hf(0|tr[A>>0]),0|Mf(A,-1)?(ar[e>>2]=0,1):0):1;do{if(w){if(0|Mf(A=(0|(A=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|hf(0|tr[A>>0]),-1)){ar[r>>2]=0,E=47;break}if(i)break;E=49;break}E=47}while(0);47==(0|E)&&i&&(E=49);49==(0|E)&&(ar[f>>2]=2|ar[f>>2]);return E=0|ar[e>>2],Bu(k),Bu(d),ur=h,0|E}(A,a,o,i,f,n),ur=t,0|n},function(A,e,r,i,f,n){var t,o,a,c,l;return A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,c=ur=(t=ur)+31&-32,ur=ur+16|0,o=12+c|0,a=8+c|0,ar[(l=4+c|0)>>2]=ar[e>>2],ar[c>>2]=ar[r>>2],ar[a>>2]=ar[l>>2],ar[o>>2]=ar[c>>2],n=0|function(A,e,r,i,f,n){A|=0,e|=0,r|=0,f|=0,n|=0;var t,o,a,c,l,u,b,s,d,k,h,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0;y=ur=(h=ur)+31&-32,ur=ur+224|0,c=y+198|0,p=y+196|0,d=y+184|0,k=y+172|0,l=y+168|0,u=y+8|0,b=y+4|0,s=0|yn(i|=0),Bn(d,i,c,p),ar[k>>2]=0,ar[4+k>>2]=0,ar[8+k>>2]=0,A=0;for(;3!=(0|A);)ar[k+(A<<2)>>2]=0,A=A+1|0;a=8+k|0,A=(0|tr[(o=11+k|0)>>0])<0?(2147483647&ar[a>>2])-1|0:10;Vu(k,A,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[l>>2]=A,ar[b>>2]=u,ar[y>>2]=0,t=4+k|0,v=0|ar[e>>2],w=v;A:for(;;){m=w?0|Mf(i=(0|(i=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|hf(0|tr[i>>0]),-1)?(ar[e>>2]=0,v=Z=0,1):(Z=w,0):(v=Z=0,1),w=0|ar[r>>2];do{if(w){if(0|Mf(i=(0|(i=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|hf(0|tr[i>>0]),-1)){ar[r>>2]=0,E=19;break}if(m)break;break A}E=19}while(0);if(19==(0|E)){if(E=0,m){w=0;break}w=0}if(i=(i=0|tr[o>>0])<<24>>24<0?0|ar[t>>2]:255&i,(0|ar[l>>2])==(A+i|0)&&(Vu(k,i<<1,0),A=(0|tr[o>>0])<0?(2147483647&ar[a>>2])-1|0:10,Vu(k,A,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[l>>2]=A+i),0|sn(255&(i=(0|(i=0|ar[(m=Z+12|0)>>2]))==(0|ar[(g=Z+16|0)>>2])?0|jb[127&ar[36+(0|ar[Z>>2])>>2]](Z):0|hf(0|tr[i>>0])),s,A,l,y,0|tr[p>>0],d,u,b,c))break;(0|(i=0|ar[m>>2]))!=(0|ar[g>>2])?(ar[m>>2]=i+1,hf(0|tr[i>>0]),w=Z):(jb[127&ar[40+(0|ar[Z>>2])>>2]](Z),w=Z)}0|((p=0|tr[11+d>>0])<<24>>24<0?0|ar[4+d>>2]:255&p)&&((B=0|ar[b>>2])-u|0)<160&&(y=0|ar[y>>2],ar[b>>2]=B+4,ar[B>>2]=y);B=0|Xn(A,0|ar[l>>2],f,s),ar[n>>2]=B,gn(d,u,0|ar[b>>2],f),i=Z?(A=(0|(A=0|ar[Z+12>>2]))==(0|ar[Z+16>>2])?0|jb[127&ar[36+(0|ar[v>>2])>>2]](Z):0|hf(0|tr[A>>0]),0|Mf(A,-1)?(ar[e>>2]=0,1):0):1;do{if(w){if(0|Mf(A=(0|(A=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|hf(0|tr[A>>0]),-1)){ar[r>>2]=0,E=47;break}if(i)break;E=49;break}E=47}while(0);47==(0|E)&&i&&(E=49);49==(0|E)&&(ar[f>>2]=2|ar[f>>2]);return E=0|ar[e>>2],Bu(k),Bu(d),ur=h,0|E}(A,a,o,i,f,n),ur=t,0|n},function(A,e,r,i,f,n){var t,o,a,c,l;return A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,c=ur=(t=ur)+31&-32,ur=ur+16|0,o=12+c|0,a=8+c|0,ar[(l=4+c|0)>>2]=ar[e>>2],ar[c>>2]=ar[r>>2],ar[a>>2]=ar[l>>2],ar[o>>2]=ar[c>>2],n=0|function(A,e,r,i,f,n){A|=0,e|=0,r|=0,f|=0,n|=0;var t,o,a,c,l,u,b,s,d,k,h,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0;y=ur=(h=ur)+31&-32,ur=ur+224|0,c=y+198|0,p=y+196|0,d=y+184|0,k=y+172|0,l=y+168|0,u=y+8|0,b=y+4|0,s=0|yn(i|=0),Bn(d,i,c,p),ar[k>>2]=0,ar[4+k>>2]=0,ar[8+k>>2]=0,A=0;for(;3!=(0|A);)ar[k+(A<<2)>>2]=0,A=A+1|0;a=8+k|0,A=(0|tr[(o=11+k|0)>>0])<0?(2147483647&ar[a>>2])-1|0:10;Vu(k,A,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[l>>2]=A,ar[b>>2]=u,ar[y>>2]=0,t=4+k|0,v=0|ar[e>>2],w=v;A:for(;;){m=w?0|Mf(i=(0|(i=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|hf(0|tr[i>>0]),-1)?(ar[e>>2]=0,v=Z=0,1):(Z=w,0):(v=Z=0,1),w=0|ar[r>>2];do{if(w){if(0|Mf(i=(0|(i=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|hf(0|tr[i>>0]),-1)){ar[r>>2]=0,E=19;break}if(m)break;break A}E=19}while(0);if(19==(0|E)){if(E=0,m){w=0;break}w=0}if(i=(i=0|tr[o>>0])<<24>>24<0?0|ar[t>>2]:255&i,(0|ar[l>>2])==(A+i|0)&&(Vu(k,i<<1,0),A=(0|tr[o>>0])<0?(2147483647&ar[a>>2])-1|0:10,Vu(k,A,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[l>>2]=A+i),0|sn(255&(i=(0|(i=0|ar[(m=Z+12|0)>>2]))==(0|ar[(g=Z+16|0)>>2])?0|jb[127&ar[36+(0|ar[Z>>2])>>2]](Z):0|hf(0|tr[i>>0])),s,A,l,y,0|tr[p>>0],d,u,b,c))break;(0|(i=0|ar[m>>2]))!=(0|ar[g>>2])?(ar[m>>2]=i+1,hf(0|tr[i>>0]),w=Z):(jb[127&ar[40+(0|ar[Z>>2])>>2]](Z),w=Z)}0|((p=0|tr[11+d>>0])<<24>>24<0?0|ar[4+d>>2]:255&p)&&((B=0|ar[b>>2])-u|0)<160&&(y=0|ar[y>>2],ar[b>>2]=B+4,ar[B>>2]=y);B=0|En(A,0|ar[l>>2],f,s),ar[n>>2]=B,ar[n+4>>2]=D,gn(d,u,0|ar[b>>2],f),i=Z?(A=(0|(A=0|ar[Z+12>>2]))==(0|ar[Z+16>>2])?0|jb[127&ar[36+(0|ar[v>>2])>>2]](Z):0|hf(0|tr[A>>0]),0|Mf(A,-1)?(ar[e>>2]=0,1):0):1;do{if(w){if(0|Mf(A=(0|(A=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|hf(0|tr[A>>0]),-1)){ar[r>>2]=0,E=47;break}if(i)break;E=49;break}E=47}while(0);47==(0|E)&&i&&(E=49);49==(0|E)&&(ar[f>>2]=2|ar[f>>2]);return E=0|ar[e>>2],Bu(k),Bu(d),ur=h,0|E}(A,a,o,i,f,n),ur=t,0|n},function(A,e,r,i,f,n){var t,o,a,c,l;return A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,c=ur=(t=ur)+31&-32,ur=ur+16|0,o=12+c|0,a=8+c|0,ar[(l=4+c|0)>>2]=ar[e>>2],ar[c>>2]=ar[r>>2],ar[a>>2]=ar[l>>2],ar[o>>2]=ar[c>>2],n=0|function(A,e,r,i,f,n){A|=0,e|=0,r|=0,f|=0,n|=0;var t,o,a,c,l,u,b,s,d,k,h,w,v,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0;B=ur=(w=ur)+31&-32,ur=ur+240|0,c=B+200|0,l=B+199|0,E=B+198|0,h=B+184|0,k=B+172|0,u=B+168|0,b=B+8|0,s=B+4|0,X=(d=B)+197|0,B=B+196|0,wn(h,i|=0,c,l,E),ar[k>>2]=0,ar[4+k>>2]=0,ar[8+k>>2]=0,A=0;for(;3!=(0|A);)ar[k+(A<<2)>>2]=0,A=A+1|0;a=8+k|0,A=(0|tr[(o=11+k|0)>>0])<0?(2147483647&ar[a>>2])-1|0:10;Vu(k,A,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[u>>2]=A,ar[s>>2]=b,ar[d>>2]=0,tr[X>>0]=1,tr[B>>0]=69,t=4+k|0,g=0|ar[e>>2],m=g;A:for(;;){Z=m?0|Mf(i=(0|(i=0|ar[m+12>>2]))==(0|ar[m+16>>2])?0|jb[127&ar[36+(0|ar[m>>2])>>2]](m):0|hf(0|tr[i>>0]),-1)?(ar[e>>2]=0,g=y=0,1):(y=m,0):(g=y=0,1),m=0|ar[r>>2];do{if(m){if(0|Mf(i=(0|(i=0|ar[m+12>>2]))==(0|ar[m+16>>2])?0|jb[127&ar[36+(0|ar[m>>2])>>2]](m):0|hf(0|tr[i>>0]),-1)){ar[r>>2]=0,I=19;break}if(Z)break;break A}I=19}while(0);if(19==(0|I)){if(I=0,Z){m=0;break}m=0}if(i=(i=0|tr[o>>0])<<24>>24<0?0|ar[t>>2]:255&i,(0|ar[u>>2])==(A+i|0)&&(Vu(k,i<<1,0),A=(0|tr[o>>0])<0?(2147483647&ar[a>>2])-1|0:10,Vu(k,A,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[u>>2]=A+i),0|vn(255&(i=(0|(i=0|ar[(Z=y+12|0)>>2]))==(0|ar[(p=y+16|0)>>2])?0|jb[127&ar[36+(0|ar[y>>2])>>2]](y):0|hf(0|tr[i>>0])),X,B,A,u,0|tr[l>>0],0|tr[E>>0],h,b,s,d,c))break;(0|(i=0|ar[Z>>2]))!=(0|ar[p>>2])?(ar[Z>>2]=i+1,hf(0|tr[i>>0]),m=y):(jb[127&ar[40+(0|ar[y>>2])>>2]](y),m=y)}E=0|tr[11+h>>0],0!=(0|tr[X>>0])&&0!=(0|(E<<24>>24<0?0|ar[4+h>>2]:255&E))&&((W=0|ar[s>>2])-b|0)<160&&(X=0|ar[d>>2],ar[s>>2]=W+4,ar[W>>2]=X);v=+pn(A,0|ar[u>>2],f),gA[n>>2]=v,gn(h,b,0|ar[s>>2],f),i=y?(A=(0|(A=0|ar[y+12>>2]))==(0|ar[y+16>>2])?0|jb[127&ar[36+(0|ar[g>>2])>>2]](y):0|hf(0|tr[A>>0]),0|Mf(A,-1)?(ar[e>>2]=0,1):0):1;do{if(m){if(0|Mf(A=(0|(A=0|ar[m+12>>2]))==(0|ar[m+16>>2])?0|jb[127&ar[36+(0|ar[m>>2])>>2]](m):0|hf(0|tr[A>>0]),-1)){ar[r>>2]=0,I=47;break}if(i)break;I=49;break}I=47}while(0);47==(0|I)&&i&&(I=49);49==(0|I)&&(ar[f>>2]=2|ar[f>>2]);return I=0|ar[e>>2],Bu(k),Bu(h),ur=w,0|I}(A,a,o,i,f,n),ur=t,0|n},function(A,e,r,i,f,n){var t,o,a,c,l;return A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,c=ur=(t=ur)+31&-32,ur=ur+16|0,o=12+c|0,a=8+c|0,ar[(l=4+c|0)>>2]=ar[e>>2],ar[c>>2]=ar[r>>2],ar[a>>2]=ar[l>>2],ar[o>>2]=ar[c>>2],n=0|function(A,e,r,i,f,n){A|=0,e|=0,r|=0,f|=0,n|=0;var t,o,a,c,l,u,b,s,d,k,h,w,v,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0;B=ur=(w=ur)+31&-32,ur=ur+240|0,c=B+200|0,l=B+199|0,E=B+198|0,h=B+184|0,k=B+172|0,u=B+168|0,b=B+8|0,s=B+4|0,X=(d=B)+197|0,B=B+196|0,wn(h,i|=0,c,l,E),ar[k>>2]=0,ar[4+k>>2]=0,ar[8+k>>2]=0,A=0;for(;3!=(0|A);)ar[k+(A<<2)>>2]=0,A=A+1|0;a=8+k|0,A=(0|tr[(o=11+k|0)>>0])<0?(2147483647&ar[a>>2])-1|0:10;Vu(k,A,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[u>>2]=A,ar[s>>2]=b,ar[d>>2]=0,tr[X>>0]=1,tr[B>>0]=69,t=4+k|0,g=0|ar[e>>2],m=g;A:for(;;){Z=m?0|Mf(i=(0|(i=0|ar[m+12>>2]))==(0|ar[m+16>>2])?0|jb[127&ar[36+(0|ar[m>>2])>>2]](m):0|hf(0|tr[i>>0]),-1)?(ar[e>>2]=0,g=y=0,1):(y=m,0):(g=y=0,1),m=0|ar[r>>2];do{if(m){if(0|Mf(i=(0|(i=0|ar[m+12>>2]))==(0|ar[m+16>>2])?0|jb[127&ar[36+(0|ar[m>>2])>>2]](m):0|hf(0|tr[i>>0]),-1)){ar[r>>2]=0,I=19;break}if(Z)break;break A}I=19}while(0);if(19==(0|I)){if(I=0,Z){m=0;break}m=0}if(i=(i=0|tr[o>>0])<<24>>24<0?0|ar[t>>2]:255&i,(0|ar[u>>2])==(A+i|0)&&(Vu(k,i<<1,0),A=(0|tr[o>>0])<0?(2147483647&ar[a>>2])-1|0:10,Vu(k,A,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[u>>2]=A+i),0|vn(255&(i=(0|(i=0|ar[(Z=y+12|0)>>2]))==(0|ar[(p=y+16|0)>>2])?0|jb[127&ar[36+(0|ar[y>>2])>>2]](y):0|hf(0|tr[i>>0])),X,B,A,u,0|tr[l>>0],0|tr[E>>0],h,b,s,d,c))break;(0|(i=0|ar[Z>>2]))!=(0|ar[p>>2])?(ar[Z>>2]=i+1,hf(0|tr[i>>0]),m=y):(jb[127&ar[40+(0|ar[y>>2])>>2]](y),m=y)}E=0|tr[11+h>>0],0!=(0|tr[X>>0])&&0!=(0|(E<<24>>24<0?0|ar[4+h>>2]:255&E))&&((W=0|ar[s>>2])-b|0)<160&&(X=0|ar[d>>2],ar[s>>2]=W+4,ar[W>>2]=X);v=+Zn(A,0|ar[u>>2],f),Q[n>>3]=v,gn(h,b,0|ar[s>>2],f),i=y?(A=(0|(A=0|ar[y+12>>2]))==(0|ar[y+16>>2])?0|jb[127&ar[36+(0|ar[g>>2])>>2]](y):0|hf(0|tr[A>>0]),0|Mf(A,-1)?(ar[e>>2]=0,1):0):1;do{if(m){if(0|Mf(A=(0|(A=0|ar[m+12>>2]))==(0|ar[m+16>>2])?0|jb[127&ar[36+(0|ar[m>>2])>>2]](m):0|hf(0|tr[A>>0]),-1)){ar[r>>2]=0,I=47;break}if(i)break;I=49;break}I=47}while(0);47==(0|I)&&i&&(I=49);49==(0|I)&&(ar[f>>2]=2|ar[f>>2]);return I=0|ar[e>>2],Bu(k),Bu(h),ur=w,0|I}(A,a,o,i,f,n),ur=t,0|n},function(A,e,r,i,f,n){var t,o,a,c,l;return A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,c=ur=(t=ur)+31&-32,ur=ur+16|0,o=12+c|0,a=8+c|0,ar[(l=4+c|0)>>2]=ar[e>>2],ar[c>>2]=ar[r>>2],ar[a>>2]=ar[l>>2],ar[o>>2]=ar[c>>2],n=0|function(A,e,r,i,f,n){A|=0,e|=0,r|=0,f|=0,n|=0;var t,o,a,c,l,u,b,s,d,k,h,w,v,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0;B=ur=(w=ur)+31&-32,ur=ur+240|0,c=B+200|0,l=B+199|0,E=B+198|0,h=B+184|0,k=B+172|0,u=B+168|0,b=B+8|0,s=B+4|0,X=(d=B)+197|0,B=B+196|0,wn(h,i|=0,c,l,E),ar[k>>2]=0,ar[4+k>>2]=0,ar[8+k>>2]=0,A=0;for(;3!=(0|A);)ar[k+(A<<2)>>2]=0,A=A+1|0;a=8+k|0,A=(0|tr[(o=11+k|0)>>0])<0?(2147483647&ar[a>>2])-1|0:10;Vu(k,A,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[u>>2]=A,ar[s>>2]=b,ar[d>>2]=0,tr[X>>0]=1,tr[B>>0]=69,t=4+k|0,g=0|ar[e>>2],m=g;A:for(;;){Z=m?0|Mf(i=(0|(i=0|ar[m+12>>2]))==(0|ar[m+16>>2])?0|jb[127&ar[36+(0|ar[m>>2])>>2]](m):0|hf(0|tr[i>>0]),-1)?(ar[e>>2]=0,g=y=0,1):(y=m,0):(g=y=0,1),m=0|ar[r>>2];do{if(m){if(0|Mf(i=(0|(i=0|ar[m+12>>2]))==(0|ar[m+16>>2])?0|jb[127&ar[36+(0|ar[m>>2])>>2]](m):0|hf(0|tr[i>>0]),-1)){ar[r>>2]=0,I=19;break}if(Z)break;break A}I=19}while(0);if(19==(0|I)){if(I=0,Z){m=0;break}m=0}if(i=(i=0|tr[o>>0])<<24>>24<0?0|ar[t>>2]:255&i,(0|ar[u>>2])==(A+i|0)&&(Vu(k,i<<1,0),A=(0|tr[o>>0])<0?(2147483647&ar[a>>2])-1|0:10,Vu(k,A,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[u>>2]=A+i),0|vn(255&(i=(0|(i=0|ar[(Z=y+12|0)>>2]))==(0|ar[(p=y+16|0)>>2])?0|jb[127&ar[36+(0|ar[y>>2])>>2]](y):0|hf(0|tr[i>>0])),X,B,A,u,0|tr[l>>0],0|tr[E>>0],h,b,s,d,c))break;(0|(i=0|ar[Z>>2]))!=(0|ar[p>>2])?(ar[Z>>2]=i+1,hf(0|tr[i>>0]),m=y):(jb[127&ar[40+(0|ar[y>>2])>>2]](y),m=y)}E=0|tr[11+h>>0],0!=(0|tr[X>>0])&&0!=(0|(E<<24>>24<0?0|ar[4+h>>2]:255&E))&&((W=0|ar[s>>2])-b|0)<160&&(X=0|ar[d>>2],ar[s>>2]=W+4,ar[W>>2]=X);v=+mn(A,0|ar[u>>2],f),Q[n>>3]=v,gn(h,b,0|ar[s>>2],f),i=y?(A=(0|(A=0|ar[y+12>>2]))==(0|ar[y+16>>2])?0|jb[127&ar[36+(0|ar[g>>2])>>2]](y):0|hf(0|tr[A>>0]),0|Mf(A,-1)?(ar[e>>2]=0,1):0):1;do{if(m){if(0|Mf(A=(0|(A=0|ar[m+12>>2]))==(0|ar[m+16>>2])?0|jb[127&ar[36+(0|ar[m>>2])>>2]](m):0|hf(0|tr[A>>0]),-1)){ar[r>>2]=0,I=47;break}if(i)break;I=49;break}I=47}while(0);47==(0|I)&&i&&(I=49);49==(0|I)&&(ar[f>>2]=2|ar[f>>2]);return I=0|ar[e>>2],Bu(k),Bu(h),ur=w,0|I}(A,a,o,i,f,n),ur=t,0|n},function(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var t,o,a,c,l,u,b,s,d,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0;for(g=ur=(d=ur)+31&-32,ur=ur+240|0,Z=(u=g)+204|0,b=g+192|0,s=g+180|0,p=g+176|0,c=g+16|0,l=g+8|0,g=g+4|0,ar[b>>2]=0,ar[4+b>>2]=0,A=ar[8+b>>2]=0;3!=(0|A);)A=A+1|(ar[b+(A<<2)>>2]=0);for(Tf(s,i),A=0|un(s,59232),Pb[7&ar[32+(0|ar[A>>2])>>2]](A,53648,53674,Z),bn(s),ar[s>>2]=0,ar[4+s>>2]=0,A=ar[8+s>>2]=0;3!=(0|A);)A=A+1|(ar[s+(A<<2)>>2]=0);o=8+s|0,Vu(s,A=(0|tr[(a=11+s|0)>>0])<0?(2147483647&ar[o>>2])-1|0:10,0),A=(0|tr[a>>0])<0?0|ar[s>>2]:s,ar[p>>2]=A,ar[l>>2]=c,t=4+s|(ar[g>>2]=0),k=h=0|ar[e>>2];A:for(;;){w=k?0|Mf(i=(0|(i=0|ar[k+12>>2]))==(0|ar[k+16>>2])?0|jb[127&ar[36+(0|ar[k>>2])>>2]](k):0|hf(0|tr[i>>0]),-1)?(h=m=ar[e>>2]=0,1):(m=k,0):(h=m=0,1),k=0|ar[r>>2];do{if(k){if(0|Mf(i=(0|(i=0|ar[k+12>>2]))==(0|ar[k+16>>2])?0|jb[127&ar[36+(0|ar[k>>2])>>2]](k):0|hf(0|tr[i>>0]),-1)){ar[r>>2]=0,y=22;break}if(w)break;break A}y=22}while(0);if(22==(0|y)){if(y=0,w){k=0;break}k=0}if(i=(i=0|tr[a>>0])<<24>>24<0?0|ar[t>>2]:255&i,(0|ar[p>>2])==(A+i|0)&&(Vu(s,i<<1,0),Vu(s,A=(0|tr[a>>0])<0?(2147483647&ar[o>>2])-1|0:10,0),A=(0|tr[a>>0])<0?0|ar[s>>2]:s,ar[p>>2]=A+i),0|sn(255&(i=(0|(i=0|ar[(w=m+12|0)>>2]))==(0|ar[(v=m+16|0)>>2])?0|jb[127&ar[36+(0|ar[m>>2])>>2]](m):0|hf(0|tr[i>>0])),16,A,p,g,0,b,c,l,Z))break;(0|(i=0|ar[w>>2]))!=(0|ar[v>>2])?(ar[w>>2]=i+1,hf(0|tr[i>>0]),k=m):(jb[127&ar[40+(0|ar[m>>2])>>2]](m),k=m)}Vu(s,(0|ar[p>>2])-A|0,0),Z=(0|tr[a>>0])<0?0|ar[s>>2]:s,p=0|dn(),ar[u>>2]=n,1!=(0|kn(Z,p,53681,u))&&(ar[f>>2]=4),i=m?0|Mf(A=(0|(A=0|ar[m+12>>2]))==(0|ar[m+16>>2])?0|jb[127&ar[36+(0|ar[h>>2])>>2]](m):0|hf(0|tr[A>>0]),-1)?(ar[e>>2]=0,1):0:1;do{if(k){if(0|Mf(A=(0|(A=0|ar[k+12>>2]))==(0|ar[k+16>>2])?0|jb[127&ar[36+(0|ar[k>>2])>>2]](k):0|hf(0|tr[A>>0]),-1)){ar[r>>2]=0,y=49;break}if(i)break;y=51;break}y=49}while(0);return 49==(0|y)&&i&&(y=51),51==(0|y)&&(ar[f>>2]=2|ar[f>>2]),y=0|ar[e>>2],Bu(s),Bu(b),ur=d,0|y},function(A,e,r,i,f,n){A|=0,e|=0,r|=0,f|=0,n|=0;var t,o,a,c=0,l=0,u=0,b=0;if(u=ur=(a=ur)+31&-32,ur=ur+48|0,c=u+40|0,b=u+16|0,t=u+8|0,o=u+12|0,l=u+4|0,1&ar[(i|=0)+4>>2])for(Tf(c,i),l=0|un(c,59264),bn(c),Tf(c,i),A=0|un(c,59272),bn(c),fs[63&ar[24+(0|ar[A>>2])>>2]](b,A),fs[63&ar[28+(0|ar[A>>2])>>2]](b+12|0,A),ar[u>>2]=ar[r>>2],A=b+24|0,ar[c>>2]=ar[u>>2],c=(0|ir(e,c,b,A,l,f,1))==(0|b)&1,tr[n>>0]=c,c=0|ar[e>>2];Qu(A=A+-12|0),(0|A)!=(0|b););else{switch(ar[t>>2]=-1,u=0|ar[16+(0|ar[A>>2])>>2],ar[o>>2]=ar[e>>2],ar[l>>2]=ar[r>>2],ar[b>>2]=ar[o>>2],ar[c>>2]=ar[l>>2],b=0|$b[63&u](A,b,c,i,f,t),ar[e>>2]=b,0|ar[t>>2]){case 0:tr[n>>0]=0;break;case 1:tr[n>>0]=1;break;default:tr[n>>0]=1,ar[f>>2]=4}c=0|ar[e>>2]}return ur=a,0|c},function(A,e,r,i,f,n){var t,o,a,c,l;return A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,c=ur=(t=ur)+31&-32,ur=ur+16|0,o=12+c|0,a=8+c|0,ar[(l=4+c|0)>>2]=ar[e>>2],ar[c>>2]=ar[r>>2],ar[a>>2]=ar[l>>2],ar[o>>2]=ar[c>>2],n=0|function(A,e,r,i,f,n){A|=0,e|=0,r|=0,f|=0,n|=0;var t,o,a,c,l,u,b,s,d,k,h,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0;for(y=ur=(h=ur)+31&-32,ur=ur+304|0,c=y+200|0,p=y+196|0,d=y+184|0,k=y+172|0,l=y+168|0,u=y+8|0,b=y+4|0,s=0|yn(i|=0),_n(d,i,c,p),ar[k>>2]=0,ar[4+k>>2]=0,A=ar[8+k>>2]=0;3!=(0|A);)A=A+1|(ar[k+(A<<2)>>2]=0);a=8+k|0,Vu(k,A=(0|tr[(o=11+k|0)>>0])<0?(2147483647&ar[a>>2])-1|0:10,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[l>>2]=A,ar[b>>2]=u,t=4+k|(ar[y>>2]=0),w=v=0|ar[e>>2];A:for(;;){m=w?0|Uf(i=(0|(i=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|gf(0|ar[i>>2]),-1)?(v=Z=ar[e>>2]=0,1):(Z=w,0):(v=Z=0,1),w=0|ar[r>>2];do{if(w){if(0|Uf(i=(0|(i=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|gf(0|ar[i>>2]),-1)){ar[r>>2]=0,E=19;break}if(m)break;break A}E=19}while(0);if(19==(0|E)){if(E=0,m){w=0;break}w=0}if(i=(i=0|tr[o>>0])<<24>>24<0?0|ar[t>>2]:255&i,(0|ar[l>>2])==(A+i|0)&&(Vu(k,i<<1,0),Vu(k,A=(0|tr[o>>0])<0?(2147483647&ar[a>>2])-1|0:10,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[l>>2]=A+i),0|Fn(i=(0|(i=0|ar[(m=Z+12|0)>>2]))==(0|ar[(g=Z+16|0)>>2])?0|jb[127&ar[36+(0|ar[Z>>2])>>2]](Z):0|gf(0|ar[i>>2]),s,A,l,y,0|ar[p>>2],d,u,b,c))break;(0|(i=0|ar[m>>2]))!=(0|ar[g>>2])?(ar[m>>2]=i+4,gf(0|ar[i>>2]),w=Z):(jb[127&ar[40+(0|ar[Z>>2])>>2]](Z),w=Z)}0|((p=0|tr[11+d>>0])<<24>>24<0?0|ar[4+d>>2]:255&p)&&((B=0|ar[b>>2])-u|0)<160&&(y=0|ar[y>>2],ar[b>>2]=B+4,ar[B>>2]=y),B=0|Gn(A,0|ar[l>>2],f,s),ar[n>>2]=B,gn(d,u,0|ar[b>>2],f),i=Z?0|Uf(A=(0|(A=0|ar[Z+12>>2]))==(0|ar[Z+16>>2])?0|jb[127&ar[36+(0|ar[v>>2])>>2]](Z):0|gf(0|ar[A>>2]),-1)?(ar[e>>2]=0,1):0:1;do{if(w){if(0|Uf(A=(0|(A=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|gf(0|ar[A>>2]),-1)){ar[r>>2]=0,E=47;break}if(i)break;E=49;break}E=47}while(0);return 47==(0|E)&&i&&(E=49),49==(0|E)&&(ar[f>>2]=2|ar[f>>2]),E=0|ar[e>>2],Bu(k),Bu(d),ur=h,0|E}(A,a,o,i,f,n),ur=t,0|n},function(A,e,r,i,f,n){var t,o,a,c,l;return A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,c=ur=(t=ur)+31&-32,ur=ur+16|0,o=12+c|0,a=8+c|0,ar[(l=4+c|0)>>2]=ar[e>>2],ar[c>>2]=ar[r>>2],ar[a>>2]=ar[l>>2],ar[o>>2]=ar[c>>2],n=0|function(A,e,r,i,f,n){A|=0,e|=0,r|=0,f|=0,n|=0;var t,o,a,c,l,u,b,s,d,k,h,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0;for(y=ur=(h=ur)+31&-32,ur=ur+304|0,c=y+200|0,p=y+196|0,d=y+184|0,k=y+172|0,l=y+168|0,u=y+8|0,b=y+4|0,s=0|yn(i|=0),_n(d,i,c,p),ar[k>>2]=0,ar[4+k>>2]=0,A=ar[8+k>>2]=0;3!=(0|A);)A=A+1|(ar[k+(A<<2)>>2]=0);a=8+k|0,Vu(k,A=(0|tr[(o=11+k|0)>>0])<0?(2147483647&ar[a>>2])-1|0:10,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[l>>2]=A,ar[b>>2]=u,t=4+k|(ar[y>>2]=0),w=v=0|ar[e>>2];A:for(;;){m=w?0|Uf(i=(0|(i=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|gf(0|ar[i>>2]),-1)?(v=Z=ar[e>>2]=0,1):(Z=w,0):(v=Z=0,1),w=0|ar[r>>2];do{if(w){if(0|Uf(i=(0|(i=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|gf(0|ar[i>>2]),-1)){ar[r>>2]=0,E=19;break}if(m)break;break A}E=19}while(0);if(19==(0|E)){if(E=0,m){w=0;break}w=0}if(i=(i=0|tr[o>>0])<<24>>24<0?0|ar[t>>2]:255&i,(0|ar[l>>2])==(A+i|0)&&(Vu(k,i<<1,0),Vu(k,A=(0|tr[o>>0])<0?(2147483647&ar[a>>2])-1|0:10,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[l>>2]=A+i),0|Fn(i=(0|(i=0|ar[(m=Z+12|0)>>2]))==(0|ar[(g=Z+16|0)>>2])?0|jb[127&ar[36+(0|ar[Z>>2])>>2]](Z):0|gf(0|ar[i>>2]),s,A,l,y,0|ar[p>>2],d,u,b,c))break;(0|(i=0|ar[m>>2]))!=(0|ar[g>>2])?(ar[m>>2]=i+4,gf(0|ar[i>>2]),w=Z):(jb[127&ar[40+(0|ar[Z>>2])>>2]](Z),w=Z)}0|((p=0|tr[11+d>>0])<<24>>24<0?0|ar[4+d>>2]:255&p)&&((B=0|ar[b>>2])-u|0)<160&&(y=0|ar[y>>2],ar[b>>2]=B+4,ar[B>>2]=y),B=0|Cn(A,0|ar[l>>2],f,s),ar[n>>2]=B,ar[n+4>>2]=D,gn(d,u,0|ar[b>>2],f),i=Z?0|Uf(A=(0|(A=0|ar[Z+12>>2]))==(0|ar[Z+16>>2])?0|jb[127&ar[36+(0|ar[v>>2])>>2]](Z):0|gf(0|ar[A>>2]),-1)?(ar[e>>2]=0,1):0:1;do{if(w){if(0|Uf(A=(0|(A=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|gf(0|ar[A>>2]),-1)){ar[r>>2]=0,E=47;break}if(i)break;E=49;break}E=47}while(0);return 47==(0|E)&&i&&(E=49),49==(0|E)&&(ar[f>>2]=2|ar[f>>2]),E=0|ar[e>>2],Bu(k),Bu(d),ur=h,0|E}(A,a,o,i,f,n),ur=t,0|n},function(A,e,r,i,f,n){var t,o,a,c,l;return A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,c=ur=(t=ur)+31&-32,ur=ur+16|0,o=12+c|0,a=8+c|0,ar[(l=4+c|0)>>2]=ar[e>>2],ar[c>>2]=ar[r>>2],ar[a>>2]=ar[l>>2],ar[o>>2]=ar[c>>2],n=0|function(A,e,r,i,f,n){A|=0,e|=0,r|=0,f|=0,n|=0;var t,o,a,c,l,u,b,s,d,k,h,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0;for(y=ur=(h=ur)+31&-32,ur=ur+304|0,c=y+200|0,p=y+196|0,d=y+184|0,k=y+172|0,l=y+168|0,u=y+8|0,b=y+4|0,s=0|yn(i|=0),_n(d,i,c,p),ar[k>>2]=0,ar[4+k>>2]=0,A=ar[8+k>>2]=0;3!=(0|A);)A=A+1|(ar[k+(A<<2)>>2]=0);a=8+k|0,Vu(k,A=(0|tr[(o=11+k|0)>>0])<0?(2147483647&ar[a>>2])-1|0:10,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[l>>2]=A,ar[b>>2]=u,t=4+k|(ar[y>>2]=0),w=v=0|ar[e>>2];A:for(;;){m=w?0|Uf(i=(0|(i=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|gf(0|ar[i>>2]),-1)?(v=Z=ar[e>>2]=0,1):(Z=w,0):(v=Z=0,1),w=0|ar[r>>2];do{if(w){if(0|Uf(i=(0|(i=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|gf(0|ar[i>>2]),-1)){ar[r>>2]=0,E=19;break}if(m)break;break A}E=19}while(0);if(19==(0|E)){if(E=0,m){w=0;break}w=0}if(i=(i=0|tr[o>>0])<<24>>24<0?0|ar[t>>2]:255&i,(0|ar[l>>2])==(A+i|0)&&(Vu(k,i<<1,0),Vu(k,A=(0|tr[o>>0])<0?(2147483647&ar[a>>2])-1|0:10,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[l>>2]=A+i),0|Fn(i=(0|(i=0|ar[(m=Z+12|0)>>2]))==(0|ar[(g=Z+16|0)>>2])?0|jb[127&ar[36+(0|ar[Z>>2])>>2]](Z):0|gf(0|ar[i>>2]),s,A,l,y,0|ar[p>>2],d,u,b,c))break;(0|(i=0|ar[m>>2]))!=(0|ar[g>>2])?(ar[m>>2]=i+4,gf(0|ar[i>>2]),w=Z):(jb[127&ar[40+(0|ar[Z>>2])>>2]](Z),w=Z)}0|((p=0|tr[11+d>>0])<<24>>24<0?0|ar[4+d>>2]:255&p)&&((B=0|ar[b>>2])-u|0)<160&&(y=0|ar[y>>2],ar[b>>2]=B+4,ar[B>>2]=y),B=0|In(A,0|ar[l>>2],f,s),or[n>>1]=B,gn(d,u,0|ar[b>>2],f),i=Z?0|Uf(A=(0|(A=0|ar[Z+12>>2]))==(0|ar[Z+16>>2])?0|jb[127&ar[36+(0|ar[v>>2])>>2]](Z):0|gf(0|ar[A>>2]),-1)?(ar[e>>2]=0,1):0:1;do{if(w){if(0|Uf(A=(0|(A=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|gf(0|ar[A>>2]),-1)){ar[r>>2]=0,E=47;break}if(i)break;E=49;break}E=47}while(0);return 47==(0|E)&&i&&(E=49),49==(0|E)&&(ar[f>>2]=2|ar[f>>2]),E=0|ar[e>>2],Bu(k),Bu(d),ur=h,0|E}(A,a,o,i,f,n),ur=t,0|n},function(A,e,r,i,f,n){var t,o,a,c,l;return A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,c=ur=(t=ur)+31&-32,ur=ur+16|0,o=12+c|0,a=8+c|0,ar[(l=4+c|0)>>2]=ar[e>>2],ar[c>>2]=ar[r>>2],ar[a>>2]=ar[l>>2],ar[o>>2]=ar[c>>2],n=0|function(A,e,r,i,f,n){A|=0,e|=0,r|=0,f|=0,n|=0;var t,o,a,c,l,u,b,s,d,k,h,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0;y=ur=(h=ur)+31&-32,ur=ur+304|0,c=y+200|0,p=y+196|0,d=y+184|0,k=y+172|0,l=y+168|0,u=y+8|0,b=y+4|0,s=0|yn(i|=0),_n(d,i,c,p),ar[k>>2]=0,ar[4+k>>2]=0,ar[8+k>>2]=0,A=0;for(;3!=(0|A);)ar[k+(A<<2)>>2]=0,A=A+1|0;a=8+k|0,A=(0|tr[(o=11+k|0)>>0])<0?(2147483647&ar[a>>2])-1|0:10;Vu(k,A,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[l>>2]=A,ar[b>>2]=u,ar[y>>2]=0,t=4+k|0,v=0|ar[e>>2],w=v;A:for(;;){m=w?0|Uf(i=(0|(i=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|gf(0|ar[i>>2]),-1)?(ar[e>>2]=0,v=Z=0,1):(Z=w,0):(v=Z=0,1),w=0|ar[r>>2];do{if(w){if(0|Uf(i=(0|(i=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|gf(0|ar[i>>2]),-1)){ar[r>>2]=0,E=19;break}if(m)break;break A}E=19}while(0);if(19==(0|E)){if(E=0,m){w=0;break}w=0}if(i=(i=0|tr[o>>0])<<24>>24<0?0|ar[t>>2]:255&i,(0|ar[l>>2])==(A+i|0)&&(Vu(k,i<<1,0),A=(0|tr[o>>0])<0?(2147483647&ar[a>>2])-1|0:10,Vu(k,A,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[l>>2]=A+i),0|Fn(i=(0|(i=0|ar[(m=Z+12|0)>>2]))==(0|ar[(g=Z+16|0)>>2])?0|jb[127&ar[36+(0|ar[Z>>2])>>2]](Z):0|gf(0|ar[i>>2]),s,A,l,y,0|ar[p>>2],d,u,b,c))break;(0|(i=0|ar[m>>2]))!=(0|ar[g>>2])?(ar[m>>2]=i+4,gf(0|ar[i>>2]),w=Z):(jb[127&ar[40+(0|ar[Z>>2])>>2]](Z),w=Z)}0|((p=0|tr[11+d>>0])<<24>>24<0?0|ar[4+d>>2]:255&p)&&((B=0|ar[b>>2])-u|0)<160&&(y=0|ar[y>>2],ar[b>>2]=B+4,ar[B>>2]=y);B=0|Wn(A,0|ar[l>>2],f,s),ar[n>>2]=B,gn(d,u,0|ar[b>>2],f),i=Z?(A=(0|(A=0|ar[Z+12>>2]))==(0|ar[Z+16>>2])?0|jb[127&ar[36+(0|ar[v>>2])>>2]](Z):0|gf(0|ar[A>>2]),0|Uf(A,-1)?(ar[e>>2]=0,1):0):1;do{if(w){if(0|Uf(A=(0|(A=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|gf(0|ar[A>>2]),-1)){ar[r>>2]=0,E=47;break}if(i)break;E=49;break}E=47}while(0);47==(0|E)&&i&&(E=49);49==(0|E)&&(ar[f>>2]=2|ar[f>>2]);return E=0|ar[e>>2],Bu(k),Bu(d),ur=h,0|E}(A,a,o,i,f,n),ur=t,0|n},function(A,e,r,i,f,n){var t,o,a,c,l;return A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,c=ur=(t=ur)+31&-32,ur=ur+16|0,o=12+c|0,a=8+c|0,ar[(l=4+c|0)>>2]=ar[e>>2],ar[c>>2]=ar[r>>2],ar[a>>2]=ar[l>>2],ar[o>>2]=ar[c>>2],n=0|function(A,e,r,i,f,n){A|=0,e|=0,r|=0,f|=0,n|=0;var t,o,a,c,l,u,b,s,d,k,h,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0;y=ur=(h=ur)+31&-32,ur=ur+304|0,c=y+200|0,p=y+196|0,d=y+184|0,k=y+172|0,l=y+168|0,u=y+8|0,b=y+4|0,s=0|yn(i|=0),_n(d,i,c,p),ar[k>>2]=0,ar[4+k>>2]=0,ar[8+k>>2]=0,A=0;for(;3!=(0|A);)ar[k+(A<<2)>>2]=0,A=A+1|0;a=8+k|0,A=(0|tr[(o=11+k|0)>>0])<0?(2147483647&ar[a>>2])-1|0:10;Vu(k,A,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[l>>2]=A,ar[b>>2]=u,ar[y>>2]=0,t=4+k|0,v=0|ar[e>>2],w=v;A:for(;;){m=w?0|Uf(i=(0|(i=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|gf(0|ar[i>>2]),-1)?(ar[e>>2]=0,v=Z=0,1):(Z=w,0):(v=Z=0,1),w=0|ar[r>>2];do{if(w){if(0|Uf(i=(0|(i=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|gf(0|ar[i>>2]),-1)){ar[r>>2]=0,E=19;break}if(m)break;break A}E=19}while(0);if(19==(0|E)){if(E=0,m){w=0;break}w=0}if(i=(i=0|tr[o>>0])<<24>>24<0?0|ar[t>>2]:255&i,(0|ar[l>>2])==(A+i|0)&&(Vu(k,i<<1,0),A=(0|tr[o>>0])<0?(2147483647&ar[a>>2])-1|0:10,Vu(k,A,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[l>>2]=A+i),0|Fn(i=(0|(i=0|ar[(m=Z+12|0)>>2]))==(0|ar[(g=Z+16|0)>>2])?0|jb[127&ar[36+(0|ar[Z>>2])>>2]](Z):0|gf(0|ar[i>>2]),s,A,l,y,0|ar[p>>2],d,u,b,c))break;(0|(i=0|ar[m>>2]))!=(0|ar[g>>2])?(ar[m>>2]=i+4,gf(0|ar[i>>2]),w=Z):(jb[127&ar[40+(0|ar[Z>>2])>>2]](Z),w=Z)}0|((p=0|tr[11+d>>0])<<24>>24<0?0|ar[4+d>>2]:255&p)&&((B=0|ar[b>>2])-u|0)<160&&(y=0|ar[y>>2],ar[b>>2]=B+4,ar[B>>2]=y);B=0|Xn(A,0|ar[l>>2],f,s),ar[n>>2]=B,gn(d,u,0|ar[b>>2],f),i=Z?(A=(0|(A=0|ar[Z+12>>2]))==(0|ar[Z+16>>2])?0|jb[127&ar[36+(0|ar[v>>2])>>2]](Z):0|gf(0|ar[A>>2]),0|Uf(A,-1)?(ar[e>>2]=0,1):0):1;do{if(w){if(0|Uf(A=(0|(A=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|gf(0|ar[A>>2]),-1)){ar[r>>2]=0,E=47;break}if(i)break;E=49;break}E=47}while(0);47==(0|E)&&i&&(E=49);49==(0|E)&&(ar[f>>2]=2|ar[f>>2]);return E=0|ar[e>>2],Bu(k),Bu(d),ur=h,0|E}(A,a,o,i,f,n),ur=t,0|n},function(A,e,r,i,f,n){var t,o,a,c,l;return A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,c=ur=(t=ur)+31&-32,ur=ur+16|0,o=12+c|0,a=8+c|0,ar[(l=4+c|0)>>2]=ar[e>>2],ar[c>>2]=ar[r>>2],ar[a>>2]=ar[l>>2],ar[o>>2]=ar[c>>2],n=0|function(A,e,r,i,f,n){A|=0,e|=0,r|=0,f|=0,n|=0;var t,o,a,c,l,u,b,s,d,k,h,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0;y=ur=(h=ur)+31&-32,ur=ur+304|0,c=y+200|0,p=y+196|0,d=y+184|0,k=y+172|0,l=y+168|0,u=y+8|0,b=y+4|0,s=0|yn(i|=0),_n(d,i,c,p),ar[k>>2]=0,ar[4+k>>2]=0,ar[8+k>>2]=0,A=0;for(;3!=(0|A);)ar[k+(A<<2)>>2]=0,A=A+1|0;a=8+k|0,A=(0|tr[(o=11+k|0)>>0])<0?(2147483647&ar[a>>2])-1|0:10;Vu(k,A,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[l>>2]=A,ar[b>>2]=u,ar[y>>2]=0,t=4+k|0,v=0|ar[e>>2],w=v;A:for(;;){m=w?0|Uf(i=(0|(i=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|gf(0|ar[i>>2]),-1)?(ar[e>>2]=0,v=Z=0,1):(Z=w,0):(v=Z=0,1),w=0|ar[r>>2];do{if(w){if(0|Uf(i=(0|(i=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|gf(0|ar[i>>2]),-1)){ar[r>>2]=0,E=19;break}if(m)break;break A}E=19}while(0);if(19==(0|E)){if(E=0,m){w=0;break}w=0}if(i=(i=0|tr[o>>0])<<24>>24<0?0|ar[t>>2]:255&i,(0|ar[l>>2])==(A+i|0)&&(Vu(k,i<<1,0),A=(0|tr[o>>0])<0?(2147483647&ar[a>>2])-1|0:10,Vu(k,A,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[l>>2]=A+i),0|Fn(i=(0|(i=0|ar[(m=Z+12|0)>>2]))==(0|ar[(g=Z+16|0)>>2])?0|jb[127&ar[36+(0|ar[Z>>2])>>2]](Z):0|gf(0|ar[i>>2]),s,A,l,y,0|ar[p>>2],d,u,b,c))break;(0|(i=0|ar[m>>2]))!=(0|ar[g>>2])?(ar[m>>2]=i+4,gf(0|ar[i>>2]),w=Z):(jb[127&ar[40+(0|ar[Z>>2])>>2]](Z),w=Z)}0|((p=0|tr[11+d>>0])<<24>>24<0?0|ar[4+d>>2]:255&p)&&((B=0|ar[b>>2])-u|0)<160&&(y=0|ar[y>>2],ar[b>>2]=B+4,ar[B>>2]=y);B=0|En(A,0|ar[l>>2],f,s),ar[n>>2]=B,ar[n+4>>2]=D,gn(d,u,0|ar[b>>2],f),i=Z?(A=(0|(A=0|ar[Z+12>>2]))==(0|ar[Z+16>>2])?0|jb[127&ar[36+(0|ar[v>>2])>>2]](Z):0|gf(0|ar[A>>2]),0|Uf(A,-1)?(ar[e>>2]=0,1):0):1;do{if(w){if(0|Uf(A=(0|(A=0|ar[w+12>>2]))==(0|ar[w+16>>2])?0|jb[127&ar[36+(0|ar[w>>2])>>2]](w):0|gf(0|ar[A>>2]),-1)){ar[r>>2]=0,E=47;break}if(i)break;E=49;break}E=47}while(0);47==(0|E)&&i&&(E=49);49==(0|E)&&(ar[f>>2]=2|ar[f>>2]);return E=0|ar[e>>2],Bu(k),Bu(d),ur=h,0|E}(A,a,o,i,f,n),ur=t,0|n},function(A,e,r,i,f,n){var t,o,a,c,l;return A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,c=ur=(t=ur)+31&-32,ur=ur+16|0,o=12+c|0,a=8+c|0,ar[(l=4+c|0)>>2]=ar[e>>2],ar[c>>2]=ar[r>>2],ar[a>>2]=ar[l>>2],ar[o>>2]=ar[c>>2],n=0|function(A,e,r,i,f,n){A|=0,e|=0,r|=0,f|=0,n|=0;var t,o,a,c,l,u,b,s,d,k,h,w,v,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0;B=ur=(w=ur)+31&-32,ur=ur+352|0,c=B+208|0,l=B+200|0,E=B+196|0,h=B+184|0,k=B+172|0,u=B+168|0,b=B+8|0,s=B+4|0,X=(d=B)+337|0,B=B+336|0,Rn(h,i|=0,c,l,E),ar[k>>2]=0,ar[4+k>>2]=0,ar[8+k>>2]=0,A=0;for(;3!=(0|A);)ar[k+(A<<2)>>2]=0,A=A+1|0;a=8+k|0,A=(0|tr[(o=11+k|0)>>0])<0?(2147483647&ar[a>>2])-1|0:10;Vu(k,A,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[u>>2]=A,ar[s>>2]=b,ar[d>>2]=0,tr[X>>0]=1,tr[B>>0]=69,t=4+k|0,g=0|ar[e>>2],m=g;A:for(;;){Z=m?0|Uf(i=(0|(i=0|ar[m+12>>2]))==(0|ar[m+16>>2])?0|jb[127&ar[36+(0|ar[m>>2])>>2]](m):0|gf(0|ar[i>>2]),-1)?(ar[e>>2]=0,g=y=0,1):(y=m,0):(g=y=0,1),m=0|ar[r>>2];do{if(m){if(0|Uf(i=(0|(i=0|ar[m+12>>2]))==(0|ar[m+16>>2])?0|jb[127&ar[36+(0|ar[m>>2])>>2]](m):0|gf(0|ar[i>>2]),-1)){ar[r>>2]=0,I=19;break}if(Z)break;break A}I=19}while(0);if(19==(0|I)){if(I=0,Z){m=0;break}m=0}if(i=(i=0|tr[o>>0])<<24>>24<0?0|ar[t>>2]:255&i,(0|ar[u>>2])==(A+i|0)&&(Vu(k,i<<1,0),A=(0|tr[o>>0])<0?(2147483647&ar[a>>2])-1|0:10,Vu(k,A,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[u>>2]=A+i),0|Nn(i=(0|(i=0|ar[(Z=y+12|0)>>2]))==(0|ar[(p=y+16|0)>>2])?0|jb[127&ar[36+(0|ar[y>>2])>>2]](y):0|gf(0|ar[i>>2]),X,B,A,u,0|ar[l>>2],0|ar[E>>2],h,b,s,d,c))break;(0|(i=0|ar[Z>>2]))!=(0|ar[p>>2])?(ar[Z>>2]=i+4,gf(0|ar[i>>2]),m=y):(jb[127&ar[40+(0|ar[y>>2])>>2]](y),m=y)}E=0|tr[11+h>>0],0!=(0|tr[X>>0])&&0!=(0|(E<<24>>24<0?0|ar[4+h>>2]:255&E))&&((W=0|ar[s>>2])-b|0)<160&&(X=0|ar[d>>2],ar[s>>2]=W+4,ar[W>>2]=X);v=+pn(A,0|ar[u>>2],f),gA[n>>2]=v,gn(h,b,0|ar[s>>2],f),i=y?(A=(0|(A=0|ar[y+12>>2]))==(0|ar[y+16>>2])?0|jb[127&ar[36+(0|ar[g>>2])>>2]](y):0|gf(0|ar[A>>2]),0|Uf(A,-1)?(ar[e>>2]=0,1):0):1;do{if(m){if(0|Uf(A=(0|(A=0|ar[m+12>>2]))==(0|ar[m+16>>2])?0|jb[127&ar[36+(0|ar[m>>2])>>2]](m):0|gf(0|ar[A>>2]),-1)){ar[r>>2]=0,I=47;break}if(i)break;I=49;break}I=47}while(0);47==(0|I)&&i&&(I=49);49==(0|I)&&(ar[f>>2]=2|ar[f>>2]);return I=0|ar[e>>2],Bu(k),Bu(h),ur=w,0|I}(A,a,o,i,f,n),ur=t,0|n},function(A,e,r,i,f,n){var t,o,a,c,l;return A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,c=ur=(t=ur)+31&-32,ur=ur+16|0,o=12+c|0,a=8+c|0,ar[(l=4+c|0)>>2]=ar[e>>2],ar[c>>2]=ar[r>>2],ar[a>>2]=ar[l>>2],ar[o>>2]=ar[c>>2],n=0|function(A,e,r,i,f,n){A|=0,e|=0,r|=0,f|=0,n|=0;var t,o,a,c,l,u,b,s,d,k,h,w,v,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0;B=ur=(w=ur)+31&-32,ur=ur+352|0,c=B+208|0,l=B+200|0,E=B+196|0,h=B+184|0,k=B+172|0,u=B+168|0,b=B+8|0,s=B+4|0,X=(d=B)+337|0,B=B+336|0,Rn(h,i|=0,c,l,E),ar[k>>2]=0,ar[4+k>>2]=0,ar[8+k>>2]=0,A=0;for(;3!=(0|A);)ar[k+(A<<2)>>2]=0,A=A+1|0;a=8+k|0,A=(0|tr[(o=11+k|0)>>0])<0?(2147483647&ar[a>>2])-1|0:10;Vu(k,A,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[u>>2]=A,ar[s>>2]=b,ar[d>>2]=0,tr[X>>0]=1,tr[B>>0]=69,t=4+k|0,g=0|ar[e>>2],m=g;A:for(;;){Z=m?0|Uf(i=(0|(i=0|ar[m+12>>2]))==(0|ar[m+16>>2])?0|jb[127&ar[36+(0|ar[m>>2])>>2]](m):0|gf(0|ar[i>>2]),-1)?(ar[e>>2]=0,g=y=0,1):(y=m,0):(g=y=0,1),m=0|ar[r>>2];do{if(m){if(0|Uf(i=(0|(i=0|ar[m+12>>2]))==(0|ar[m+16>>2])?0|jb[127&ar[36+(0|ar[m>>2])>>2]](m):0|gf(0|ar[i>>2]),-1)){ar[r>>2]=0,I=19;break}if(Z)break;break A}I=19}while(0);if(19==(0|I)){if(I=0,Z){m=0;break}m=0}if(i=(i=0|tr[o>>0])<<24>>24<0?0|ar[t>>2]:255&i,(0|ar[u>>2])==(A+i|0)&&(Vu(k,i<<1,0),A=(0|tr[o>>0])<0?(2147483647&ar[a>>2])-1|0:10,Vu(k,A,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[u>>2]=A+i),0|Nn(i=(0|(i=0|ar[(Z=y+12|0)>>2]))==(0|ar[(p=y+16|0)>>2])?0|jb[127&ar[36+(0|ar[y>>2])>>2]](y):0|gf(0|ar[i>>2]),X,B,A,u,0|ar[l>>2],0|ar[E>>2],h,b,s,d,c))break;(0|(i=0|ar[Z>>2]))!=(0|ar[p>>2])?(ar[Z>>2]=i+4,gf(0|ar[i>>2]),m=y):(jb[127&ar[40+(0|ar[y>>2])>>2]](y),m=y)}E=0|tr[11+h>>0],0!=(0|tr[X>>0])&&0!=(0|(E<<24>>24<0?0|ar[4+h>>2]:255&E))&&((W=0|ar[s>>2])-b|0)<160&&(X=0|ar[d>>2],ar[s>>2]=W+4,ar[W>>2]=X);v=+Zn(A,0|ar[u>>2],f),Q[n>>3]=v,gn(h,b,0|ar[s>>2],f),i=y?(A=(0|(A=0|ar[y+12>>2]))==(0|ar[y+16>>2])?0|jb[127&ar[36+(0|ar[g>>2])>>2]](y):0|gf(0|ar[A>>2]),0|Uf(A,-1)?(ar[e>>2]=0,1):0):1;do{if(m){if(0|Uf(A=(0|(A=0|ar[m+12>>2]))==(0|ar[m+16>>2])?0|jb[127&ar[36+(0|ar[m>>2])>>2]](m):0|gf(0|ar[A>>2]),-1)){ar[r>>2]=0,I=47;break}if(i)break;I=49;break}I=47}while(0);47==(0|I)&&i&&(I=49);49==(0|I)&&(ar[f>>2]=2|ar[f>>2]);return I=0|ar[e>>2],Bu(k),Bu(h),ur=w,0|I}(A,a,o,i,f,n),ur=t,0|n},function(A,e,r,i,f,n){var t,o,a,c,l;return A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,c=ur=(t=ur)+31&-32,ur=ur+16|0,o=12+c|0,a=8+c|0,ar[(l=4+c|0)>>2]=ar[e>>2],ar[c>>2]=ar[r>>2],ar[a>>2]=ar[l>>2],ar[o>>2]=ar[c>>2],n=0|function(A,e,r,i,f,n){A|=0,e|=0,r|=0,f|=0,n|=0;var t,o,a,c,l,u,b,s,d,k,h,w,v,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0;B=ur=(w=ur)+31&-32,ur=ur+352|0,c=B+208|0,l=B+200|0,E=B+196|0,h=B+184|0,k=B+172|0,u=B+168|0,b=B+8|0,s=B+4|0,X=(d=B)+337|0,B=B+336|0,Rn(h,i|=0,c,l,E),ar[k>>2]=0,ar[4+k>>2]=0,ar[8+k>>2]=0,A=0;for(;3!=(0|A);)ar[k+(A<<2)>>2]=0,A=A+1|0;a=8+k|0,A=(0|tr[(o=11+k|0)>>0])<0?(2147483647&ar[a>>2])-1|0:10;Vu(k,A,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[u>>2]=A,ar[s>>2]=b,ar[d>>2]=0,tr[X>>0]=1,tr[B>>0]=69,t=4+k|0,g=0|ar[e>>2],m=g;A:for(;;){Z=m?0|Uf(i=(0|(i=0|ar[m+12>>2]))==(0|ar[m+16>>2])?0|jb[127&ar[36+(0|ar[m>>2])>>2]](m):0|gf(0|ar[i>>2]),-1)?(ar[e>>2]=0,g=y=0,1):(y=m,0):(g=y=0,1),m=0|ar[r>>2];do{if(m){if(0|Uf(i=(0|(i=0|ar[m+12>>2]))==(0|ar[m+16>>2])?0|jb[127&ar[36+(0|ar[m>>2])>>2]](m):0|gf(0|ar[i>>2]),-1)){ar[r>>2]=0,I=19;break}if(Z)break;break A}I=19}while(0);if(19==(0|I)){if(I=0,Z){m=0;break}m=0}if(i=(i=0|tr[o>>0])<<24>>24<0?0|ar[t>>2]:255&i,(0|ar[u>>2])==(A+i|0)&&(Vu(k,i<<1,0),A=(0|tr[o>>0])<0?(2147483647&ar[a>>2])-1|0:10,Vu(k,A,0),A=(0|tr[o>>0])<0?0|ar[k>>2]:k,ar[u>>2]=A+i),0|Nn(i=(0|(i=0|ar[(Z=y+12|0)>>2]))==(0|ar[(p=y+16|0)>>2])?0|jb[127&ar[36+(0|ar[y>>2])>>2]](y):0|gf(0|ar[i>>2]),X,B,A,u,0|ar[l>>2],0|ar[E>>2],h,b,s,d,c))break;(0|(i=0|ar[Z>>2]))!=(0|ar[p>>2])?(ar[Z>>2]=i+4,gf(0|ar[i>>2]),m=y):(jb[127&ar[40+(0|ar[y>>2])>>2]](y),m=y)}E=0|tr[11+h>>0],0!=(0|tr[X>>0])&&0!=(0|(E<<24>>24<0?0|ar[4+h>>2]:255&E))&&((W=0|ar[s>>2])-b|0)<160&&(X=0|ar[d>>2],ar[s>>2]=W+4,ar[W>>2]=X);v=+mn(A,0|ar[u>>2],f),Q[n>>3]=v,gn(h,b,0|ar[s>>2],f),i=y?(A=(0|(A=0|ar[y+12>>2]))==(0|ar[y+16>>2])?0|jb[127&ar[36+(0|ar[g>>2])>>2]](y):0|gf(0|ar[A>>2]),0|Uf(A,-1)?(ar[e>>2]=0,1):0):1;do{if(m){if(0|Uf(A=(0|(A=0|ar[m+12>>2]))==(0|ar[m+16>>2])?0|jb[127&ar[36+(0|ar[m>>2])>>2]](m):0|gf(0|ar[A>>2]),-1)){ar[r>>2]=0,I=47;break}if(i)break;I=49;break}I=47}while(0);47==(0|I)&&i&&(I=49);49==(0|I)&&(ar[f>>2]=2|ar[f>>2]);return I=0|ar[e>>2],Bu(k),Bu(h),ur=w,0|I}(A,a,o,i,f,n),ur=t,0|n},function(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var t,o,a,c,l,u,b,s,d,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0;for(g=ur=(d=ur)+31&-32,ur=ur+320|0,Z=(u=g)+208|0,b=g+192|0,s=g+180|0,p=g+176|0,c=g+16|0,l=g+8|0,g=g+4|0,ar[b>>2]=0,ar[4+b>>2]=0,A=ar[8+b>>2]=0;3!=(0|A);)A=A+1|(ar[b+(A<<2)>>2]=0);for(Tf(s,i),A=0|un(s,59264),Pb[7&ar[48+(0|ar[A>>2])>>2]](A,53648,53674,Z),bn(s),ar[s>>2]=0,ar[4+s>>2]=0,A=ar[8+s>>2]=0;3!=(0|A);)A=A+1|(ar[s+(A<<2)>>2]=0);o=8+s|0,Vu(s,A=(0|tr[(a=11+s|0)>>0])<0?(2147483647&ar[o>>2])-1|0:10,0),A=(0|tr[a>>0])<0?0|ar[s>>2]:s,ar[p>>2]=A,ar[l>>2]=c,t=4+s|(ar[g>>2]=0),k=h=0|ar[e>>2];A:for(;;){w=k?0|Uf(i=(0|(i=0|ar[k+12>>2]))==(0|ar[k+16>>2])?0|jb[127&ar[36+(0|ar[k>>2])>>2]](k):0|gf(0|ar[i>>2]),-1)?(h=m=ar[e>>2]=0,1):(m=k,0):(h=m=0,1),k=0|ar[r>>2];do{if(k){if(0|Uf(i=(0|(i=0|ar[k+12>>2]))==(0|ar[k+16>>2])?0|jb[127&ar[36+(0|ar[k>>2])>>2]](k):0|gf(0|ar[i>>2]),-1)){ar[r>>2]=0,y=22;break}if(w)break;break A}y=22}while(0);if(22==(0|y)){if(y=0,w){k=0;break}k=0}if(i=(i=0|tr[a>>0])<<24>>24<0?0|ar[t>>2]:255&i,(0|ar[p>>2])==(A+i|0)&&(Vu(s,i<<1,0),Vu(s,A=(0|tr[a>>0])<0?(2147483647&ar[o>>2])-1|0:10,0),A=(0|tr[a>>0])<0?0|ar[s>>2]:s,ar[p>>2]=A+i),0|Fn(i=(0|(i=0|ar[(w=m+12|0)>>2]))==(0|ar[(v=m+16|0)>>2])?0|jb[127&ar[36+(0|ar[m>>2])>>2]](m):0|gf(0|ar[i>>2]),16,A,p,g,0,b,c,l,Z))break;(0|(i=0|ar[w>>2]))!=(0|ar[v>>2])?(ar[w>>2]=i+4,gf(0|ar[i>>2]),k=m):(jb[127&ar[40+(0|ar[m>>2])>>2]](m),k=m)}Vu(s,(0|ar[p>>2])-A|0,0),Z=(0|tr[a>>0])<0?0|ar[s>>2]:s,p=0|dn(),ar[u>>2]=n,1!=(0|kn(Z,p,53681,u))&&(ar[f>>2]=4),i=m?0|Uf(A=(0|(A=0|ar[m+12>>2]))==(0|ar[m+16>>2])?0|jb[127&ar[36+(0|ar[h>>2])>>2]](m):0|gf(0|ar[A>>2]),-1)?(ar[e>>2]=0,1):0:1;do{if(k){if(0|Uf(A=(0|(A=0|ar[k+12>>2]))==(0|ar[k+16>>2])?0|jb[127&ar[36+(0|ar[k>>2])>>2]](k):0|gf(0|ar[A>>2]),-1)){ar[r>>2]=0,y=49;break}if(i)break;y=51;break}y=49}while(0);return 49==(0|y)&&i&&(y=51),51==(0|y)&&(ar[f>>2]=2|ar[f>>2]),y=0|ar[e>>2],Bu(s),Bu(b),ur=d,0|y},function(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var t,o,a,c,l,u,b,s=0,d=0;return s=ur=(A=ur)+31&-32,ur=ur+96|0,o=s+8|0,l=(u=s)+71|0,t=s+28|0,c=s+24|0,a=s+16|0,s=s+20|0,ar[(d=u)>>2]=37,wr(u+1|(ar[d+4>>2]=0),53899,1,0|ar[r+4>>2]),d=0|dn(),ar[(b=o)>>2]=f,ar[4+b>>2]=n,n=0|nr(l,f=l+(0|fr(l,23,d,u,o))|0,r),Tf(o,r),vr(l,n,f,t,c,a,o),bn(o),ar[s>>2]=ar[e>>2],f=0|ar[c>>2],n=0|ar[a>>2],ar[o>>2]=ar[s>>2],n=0|PA(o,t,f,n,r,i),ur=A,0|n},function(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var t,o,a,c,l,u,b,s=0,d=0;return s=ur=(A=ur)+31&-32,ur=ur+96|0,o=s+8|0,l=(u=s)+71|0,t=s+28|0,c=s+24|0,a=s+16|0,s=s+20|0,ar[(d=u)>>2]=37,wr(u+1|(ar[d+4>>2]=0),53899,0,0|ar[r+4>>2]),d=0|dn(),ar[(b=o)>>2]=f,ar[4+b>>2]=n,n=0|nr(l,f=l+(0|fr(l,23,d,u,o))|0,r),Tf(o,r),vr(l,n,f,t,c,a,o),bn(o),ar[s>>2]=ar[e>>2],f=0|ar[c>>2],n=0|ar[a>>2],ar[o>>2]=ar[s>>2],n=0|PA(o,t,f,n,r,i),ur=A,0|n},function(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var t,o,a,c,l,u,b,s=0,d=0;return s=ur=(A=ur)+31&-32,ur=ur+224|0,o=s+8|0,l=(u=s)+200|0,t=s+28|0,c=s+24|0,a=s+16|0,s=s+20|0,ar[(d=u)>>2]=37,wr(u+1|(ar[d+4>>2]=0),53899,1,0|ar[r+4>>2]),d=0|dn(),ar[(b=o)>>2]=f,ar[4+b>>2]=n,n=0|nr(l,f=l+(0|fr(l,23,d,u,o))|0,r),Tf(o,r),pr(l,n,f,t,c,a,o),bn(o),ar[s>>2]=ar[e>>2],f=0|ar[c>>2],n=0|ar[a>>2],ar[o>>2]=ar[s>>2],n=0|mr(o,t,f,n,r,i),ur=A,0|n},function(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var t,o,a,c,l,u,b,s=0,d=0;return s=ur=(A=ur)+31&-32,ur=ur+224|0,o=s+8|0,l=(u=s)+200|0,t=s+28|0,c=s+24|0,a=s+16|0,s=s+20|0,ar[(d=u)>>2]=37,wr(u+1|(ar[d+4>>2]=0),53899,0,0|ar[r+4>>2]),d=0|dn(),ar[(b=o)>>2]=f,ar[4+b>>2]=n,n=0|nr(l,f=l+(0|fr(l,23,d,u,o))|0,r),Tf(o,r),pr(l,n,f,t,c,a,o),bn(o),ar[s>>2]=ar[e>>2],f=0|ar[c>>2],n=0|ar[a>>2],ar[o>>2]=ar[s>>2],n=0|mr(o,t,f,n,r,i),ur=A,0|n},function(A,e,r,i,f,n){var t,o,a,c,l;return A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,c=ur=(t=ur)+31&-32,ur=ur+16|0,o=12+c|0,a=8+c|0,ar[(l=4+c|0)>>2]=ar[e>>2],ar[c>>2]=ar[r>>2],ar[a>>2]=ar[l>>2],ar[o>>2]=ar[c>>2],n=0|Er(A,a,o,i,f,n,54427,54435),ur=t,0|n},function(A,e,r,i,f,n){e|=0,r|=0,i|=0,f|=0,n|=0;var t,o,a,c,l,u,b=0;return c=ur=(t=ur)+31&-32,ur=ur+16|0,o=12+c|0,a=8+c|0,l=4+c|0,b=0|jb[127&ar[20+(0|ar[(b=(A|=0)+8|0)>>2])>>2]](b),ar[l>>2]=ar[e>>2],ar[c>>2]=ar[r>>2],r=(e=(u=(r=0|tr[b+11>>0])<<24>>24<0)?0|ar[b>>2]:b)+(u?0|ar[b+4>>2]:255&r)|0,ar[a>>2]=ar[l>>2],ar[o>>2]=ar[c>>2],n=0|Er(A,a,o,i,f,n,e,r),ur=t,0|n},function(A,e,r,i,f,n){var t,o,a;return A|=0,e|=0,r|=0,f|=0,n|=0,a=ur=(t=ur)+31&-32,ur=ur+16|0,Tf(o=4+a|0,i|=0),i=0|un(o,59232),bn(o),ar[a>>2]=ar[r>>2],ar[o>>2]=ar[a>>2],yr(A,n+24|0,e,o,f,i),ur=t,0|ar[e>>2]},function(A,e,r,i,f,n){var t,o,a;return A|=0,e|=0,r|=0,f|=0,n|=0,a=ur=(t=ur)+31&-32,ur=ur+16|0,Tf(o=4+a|0,i|=0),i=0|un(o,59232),bn(o),ar[a>>2]=ar[r>>2],ar[o>>2]=ar[a>>2],Br(A,n+16|0,e,o,f,i),ur=t,0|ar[e>>2]},function(A,e,r,i,f,n){var t,o,a;return A|=0,e|=0,r|=0,f|=0,n|=0,a=ur=(t=ur)+31&-32,ur=ur+16|0,Tf(o=4+a|0,i|=0),i=0|un(o,59232),bn(o),ar[a>>2]=ar[r>>2],ar[o>>2]=ar[a>>2],Yr(A,n+20|0,e,o,f,i),ur=t,0|ar[e>>2]},function(A,e,r,i,f,n){var t,o,a,c,l;return A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,c=ur=(t=ur)+31&-32,ur=ur+16|0,o=12+c|0,a=8+c|0,ar[(l=4+c|0)>>2]=ar[e>>2],ar[c>>2]=ar[r>>2],ar[a>>2]=ar[l>>2],ar[o>>2]=ar[c>>2],n=0|Sr(A,a,o,i,f,n,16404,16436),ur=t,0|n},function(A,e,r,i,f,n){e|=0,r|=0,i|=0,f|=0,n|=0;var t,o,a,c,l,u,b=0;return c=ur=(t=ur)+31&-32,ur=ur+16|0,o=12+c|0,a=8+c|0,l=4+c|0,b=0|jb[127&ar[20+(0|ar[(b=(A|=0)+8|0)>>2])>>2]](b),ar[l>>2]=ar[e>>2],ar[c>>2]=ar[r>>2],r=(e=(u=(r=0|tr[b+8+3>>0])<<24>>24<0)?0|ar[b>>2]:b)+((u?0|ar[b+4>>2]:255&r)<<2)|0,ar[a>>2]=ar[l>>2],ar[o>>2]=ar[c>>2],n=0|Sr(A,a,o,i,f,n,e,r),ur=t,0|n},function(A,e,r,i,f,n){var t,o,a;return A|=0,e|=0,r|=0,f|=0,n|=0,a=ur=(t=ur)+31&-32,ur=ur+16|0,Tf(o=4+a|0,i|=0),i=0|un(o,59264),bn(o),ar[a>>2]=ar[r>>2],ar[o>>2]=ar[a>>2],Tr(A,n+24|0,e,o,f,i),ur=t,0|ar[e>>2]},function(A,e,r,i,f,n){var t,o,a;return A|=0,e|=0,r|=0,f|=0,n|=0,a=ur=(t=ur)+31&-32,ur=ur+16|0,Tf(o=4+a|0,i|=0),i=0|un(o,59264),bn(o),ar[a>>2]=ar[r>>2],ar[o>>2]=ar[a>>2],Ur(A,n+16|0,e,o,f,i),ur=t,0|ar[e>>2]},function(A,e,r,i,f,n){var t,o,a;return A|=0,e|=0,r|=0,f|=0,n|=0,a=ur=(t=ur)+31&-32,ur=ur+16|0,Tf(o=4+a|0,i|=0),i=0|un(o,59264),bn(o),ar[a>>2]=ar[r>>2],ar[o>>2]=ar[a>>2],Ai(A,n+20|0,e,o,f,i),ur=t,0|ar[e>>2]},function(A,e,r,i,f,n){A|=0,e|=0,r|=0,f|=0,n|=0;var t,o,a,c,l,u,b,s,d,k,h,w,v,m,g,Z,p=0,y=0,B=0,E=0,X=0,W=0;for(b=ur=(Z=ur)+31&-32,ur=ur+176|0,c=56+b|0,d=164+b|0,k=161+b|0,h=160+b|0,w=40+b|0,v=28+b|0,m=16+b|0,t=12+b|0,a=60+b|0,l=8+b|0,u=4+b|0,Tf(g=52+b|0,i|=0),s=0|un(g,59232),y=n+4|0,E=0|((A=(E=0|tr[(p=n+11|0)>>0])<<24>>24<0)?0|ar[y>>2]:255&E)?(E=0|tr[(A?0|ar[n>>2]:n)>>0])<<24>>24==(0|Hb[31&ar[28+(0|ar[s>>2])>>2]](s,45))<<24>>24:0,ar[w>>2]=0,ar[4+w>>2]=0,A=ar[8+w>>2]=0;3!=(0|A);)A=A+1|(ar[w+(A<<2)>>2]=0);for(ar[v>>2]=0,ar[4+v>>2]=0,A=ar[8+v>>2]=0;3!=(0|A);)A=A+1|(ar[v+(A<<2)>>2]=0);for(ar[m>>2]=0,ar[4+m>>2]=0,A=ar[8+m>>2]=0;3!=(0|A);)A=A+1|(ar[m+(A<<2)>>2]=0);return ki(r,E,g,d,k,h,w,v,m,t),B=(o=(B=0|tr[p>>0])<<24>>24<0)?0|ar[y>>2]:255&B,100<(A=(r=(0|(y=0|ar[t>>2]))<(0|B)?(p=0|tr[11+m>>0],r=0|tr[11+v>>0],A=1,p=(p<<24>>24<0?0|ar[4+m>>2]:255&p)+(B-y<<1)|0,r<<24>>24<0?0|ar[4+v>>2]:255&r):(r=0|tr[11+m>>0],A=2,p=(p=0|tr[11+v>>0])<<24>>24<0?0|ar[4+v>>2]:255&p,r<<24>>24<0?0|ar[4+m>>2]:255&r))+y+p+A|0)>>>0?(A=0|yc(A))?W=X=A:gu():(X=a,W=0),n=o?0|ar[n>>2]:n,hi(X,l,u,0|ar[i+4>>2],n,n+B|0,s,E,d,0|tr[k>>0],0|tr[h>>0],w,v,m,y),ar[b>>2]=ar[e>>2],n=0|ar[l>>2],A=0|ar[u>>2],ar[c>>2]=ar[b>>2],A=0|PA(c,X,n,A,i,f),0|W&&Bc(W),Bu(m),Bu(v),Bu(w),bn(g),ur=Z,0|A},function(A,e,r,i,f,n){A|=0,e|=0,r|=0,f|=0,n|=0;var t,o,a,c,l,u,b,s,d,k,h,w,v,m,g,Z,p=0,y=0,B=0,E=0,X=0,W=0;for(b=ur=(Z=ur)+31&-32,ur=ur+480|0,c=468+b|0,d=472+b|0,k=460+b|0,h=456+b|0,w=444+b|0,v=432+b|0,m=420+b|0,t=416+b|0,a=16+b|0,l=8+b|0,u=4+b|0,Tf(g=464+b|0,i|=0),s=0|un(g,59264),y=n+4|0,E=0|((A=(E=0|tr[(p=n+8+3|0)>>0])<<24>>24<0)?0|ar[y>>2]:255&E)?(0|(E=0|ar[(A?0|ar[n>>2]:n)>>2]))==(0|Hb[31&ar[44+(0|ar[s>>2])>>2]](s,45)):0,ar[w>>2]=0,ar[4+w>>2]=0,A=ar[8+w>>2]=0;3!=(0|A);)A=A+1|(ar[w+(A<<2)>>2]=0);for(ar[v>>2]=0,ar[4+v>>2]=0,A=ar[8+v>>2]=0;3!=(0|A);)A=A+1|(ar[v+(A<<2)>>2]=0);for(ar[m>>2]=0,ar[4+m>>2]=0,A=ar[8+m>>2]=0;3!=(0|A);)A=A+1|(ar[m+(A<<2)>>2]=0);return _l(r,E,g,d,k,h,w,v,m,t),B=(o=(B=0|tr[p>>0])<<24>>24<0)?0|ar[y>>2]:255&B,100<(A=(r=(0|(y=0|ar[t>>2]))<(0|B)?(p=0|tr[8+m+3>>0],r=0|tr[8+v+3>>0],A=1,p=(p<<24>>24<0?0|ar[4+m>>2]:255&p)+(B-y<<1)|0,r<<24>>24<0?0|ar[4+v>>2]:255&r):(r=0|tr[8+m+3>>0],A=2,p=(p=0|tr[8+v+3>>0])<<24>>24<0?0|ar[4+v>>2]:255&p,r<<24>>24<0?0|ar[4+m>>2]:255&r))+y+p+A|0)>>>0?(A=0|yc(A<<2))?W=X=A:gu():(X=a,W=0),n=o?0|ar[n>>2]:n,Yl(X,l,u,0|ar[i+4>>2],n,n+(B<<2)|0,s,E,d,0|ar[k>>2],0|ar[h>>2],w,v,m,y),ar[b>>2]=ar[e>>2],n=0|ar[l>>2],A=0|ar[u>>2],ar[c>>2]=ar[b>>2],A=0|mr(c,X,n,A,i,f),0|W&&Bc(W),Qu(m),Qu(v),Bu(w),bn(g),ur=Z,0|A},Vb,Vb,Vb,Vb,Vb,Vb,Vb,Vb,Vb,Vb,Vb,Vb,Vb,Vb,Vb,Vb,Vb,Vb,Vb,Vb,Vb,Vb,Vb,Vb,Vb],As=[Fb,function(A,e,r,i,f,n,t){var o;for(A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,i=ur=(o=ur)+31&-32,ur=ur+112|0,r=i+4|0,ar[i>>2]=r+100,fi(A+8|0,r,i,f,n,t),t=0|ar[i>>2],n=r,r=0|ar[e>>2];(0|n)!=(0|t);)i=0|tr[n>>0],r=!r||(e=0|Mf(i=(0|(f=0|ar[(A=r+24|0)>>2]))==(0|ar[r+28>>2])?(e=0|ar[52+(0|ar[r>>2])>>2],i=0|hf(i),0|Hb[31&e](r,i)):(ar[A>>2]=f+1,0|hf(tr[f>>0]=i)),-1))?0:r,n=n+1|0;return ur=o,0|r},function(A,e,r,i,f,n,t){var o;for(A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,i=ur=(o=ur)+31&-32,ur=ur+416|0,r=i+8|0,ar[i>>2]=r+400,function(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var t,o,a,c,l=0;l=ur=(t=ur)+31&-32,ur=ur+128|0,a=l+16|0,c=l+12|0,l=(o=l)+8|0,ar[c>>2]=100+a,fi(A,a,c,i,f,n),ar[(i=o)>>2]=0,ar[i+4>>2]=0,ar[l>>2]=a,i=0|function(A,e){return(e|=0)-(A|=0)>>2|0}(e,0|ar[r>>2]),A=0|rf(0|ar[A>>2]),i=0|Xi(e,l,i,o),0|A&&rf(A);{if(-1!=(0|i))return ar[r>>2]=e+(i<<2),ur=t;ti()}}(A+8|0,r,i,f,n,t),t=0|ar[i>>2],n=r,r=0|ar[e>>2];(0|n)!=(0|t);)i=0|ar[n>>2],r=!r||(e=0|Uf(i=(0|(f=0|ar[(A=r+24|0)>>2]))==(0|ar[r+28>>2])?(e=0|ar[52+(0|ar[r>>2])>>2],i=0|gf(i),0|Hb[31&e](r,i)):(ar[A>>2]=f+4,0|gf(ar[f>>2]=i)),-1))?0:r,n=n+4|0;return ur=o,0|r},function(A,e,r,i,f,n,t){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0;var o,a,c,l,u,b,s,d,k=0,h=0,w=0,v=0,m=0,g=0,Z=0;if(m=ur=(s=ur)+31&-32,ur=ur+240|0,o=m+24|0,v=(c=m)+140|0,b=m+16|0,a=m+12|0,l=m+8|0,k=m+136|0,d=m+4|0,m=m+36|0,ar[b>>2]=v,ar[(u=4+b|0)>>2]=444,Tf(l,f),A=0|un(l,59232),tr[k>>0]=0,ar[d>>2]=ar[r>>2],w=0|ar[f+4>>2],ar[o>>2]=ar[d>>2],0|ai(e,o,i,l,w,n,k,A,b,a,v+100|0)){for(Pb[7&ar[32+(0|ar[A>>2])>>2]](A,54952,54962,o),98<(0|(A=(w=0|ar[a>>2])-(i=0|ar[b>>2])|0))?(A=0|yc(A+2|0))?g=h=A:gu():(h=m,g=0),A=0|tr[k>>0]?(tr[h>>0]=45,h+1|0):h,h=10+o|0,v=o,k=i,f=A,A=w;!(A>>>0<=k>>>0);){for(i=0|tr[k>>0],A=o;;){if((0|A)==(0|h)){A=h;break}if((0|tr[A>>0])==i<<24>>24)break;A=A+1|0}tr[f>>0]=0|tr[A-v+54952>>0],k=k+1|0,f=f+1|0,A=0|ar[a>>2]}tr[f>>0]=0,ar[c>>2]=t,1!=(0|ji(m,54963,c))&&ti(),0|g&&Bc(g)}A=0|ar[e>>2];do{if(A){if(0|Mf(A=(0|(i=0|ar[A+12>>2]))==(0|ar[A+16>>2])?0|jb[127&ar[36+(0|ar[A>>2])>>2]](A):0|hf(0|tr[i>>0]),-1)){ar[e>>2]=0,f=1;break}f=0==(0|ar[e>>2]);break}f=1}while(0);A=0|ar[r>>2];do{if(A){if(0|Mf(A=(0|(i=0|ar[A+12>>2]))==(0|ar[A+16>>2])?0|jb[127&ar[36+(0|ar[A>>2])>>2]](A):0|hf(0|tr[i>>0]),-1)){ar[r>>2]=0,Z=32;break}if(f)break;Z=34;break}Z=32}while(0);return 32==(0|Z)&&f&&(Z=34),34==(0|Z)&&(ar[n>>2]=2|ar[n>>2]),i=0|ar[e>>2],bn(l),A=0|ar[b>>2],(ar[b>>2]=0)|A&&is[511&ar[u>>2]](A),ur=s,0|i},function(A,e,r,i,f,n,t){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0;var o,a,c,l,u,b,s,d=0,k=0,h=0,w=0;if(h=ur=(s=ur)+31&-32,ur=ur+144|0,d=h+24|0,A=h+32|0,b=h+16|0,a=h+8|0,k=(l=h)+28|0,h=h+4|0,ar[b>>2]=A,ar[(u=4+b|0)>>2]=444,Tf(l,f),o=0|un(l,59232),c=(tr[k>>0]=0)|ar[r>>2],ar[h>>2]=c,f=0|ar[f+4>>2],ar[d>>2]=ar[h>>2],h=c,0|ai(e,d,i,l,f,n,k,o,b,a,A+100|0)){for((0|tr[(A=t+11|0)>>0])<0?(i=0|ar[t>>2],tr[d>>0]=0,Qf(i,d),ar[t+4>>2]=0):(tr[d>>0]=0,Qf(t,d),tr[A>>0]=0),0|tr[k>>0]&&_u(t,0|Hb[31&ar[28+(0|ar[o>>2])>>2]](o,45)),k=0|Hb[31&ar[28+(0|ar[o>>2])>>2]](o,48),d=(f=0|ar[a>>2])+-1|0,A=0|ar[b>>2];!(d>>>0<=A>>>0)&&(0|tr[A>>0])==k<<24>>24;)A=A+1|0;!function(A,e,r){r|=0;var i,f,n,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0;c=ur=(n=ur)+31&-32,ur=ur+16|0,i=e|=0,s=c+12|0,o=0|tr[(b=11+(A|=0)|0)>>0],l=(t=o<<24>>24<0)?(u=0|ar[A+4>>2],(2147483647&ar[A+8>>2])-1|0):(u=255&o,10);f=r-i|0;do{if(0|f){if(t?(o=0|ar[A>>2],a=o,t=0|ar[A+4>>2]):(t=255&o,o=a=A),0|ci(e,o,a+t|0)){for(ar[c>>2]=0,ar[c+4>>2]=0,ar[c+8>>2]=0,4294967279<f>>>0&&pu(),f>>>0<11?(tr[c+11>>0]=f,o=c):(o=0|hu(b=16+f&-16),ar[c>>2]=o,ar[c+8>>2]=-2147483648|b,ar[c+4>>2]=f),t=o;(0|e)!=(0|r);)Qf(t,e),e=e+1|0,t=t+1|0;tr[s>>0]=0,Qf(o+f|0,s),s=0|tr[c+11>>0],Nu(A,(r=s<<24>>24<0)?0|ar[c>>2]:c,r?0|ar[c+4>>2]:255&s),Bu(c);break}for(c=u+f|0,(l-u|0)>>>0<f>>>0&&Ru(A,l,c-l|0,u,u,0,0),a=(0|tr[b>>0])<0?0|ar[A>>2]:A,o=r+(u-i)|0,t=a+u|0;(0|e)!=(0|r);)Qf(t,e),t=t+1|0,e=e+1|0;if(tr[s>>0]=0,Qf(a+o|0,s),(0|tr[b>>0])<0){ar[A+4>>2]=c;break}tr[b>>0]=c;break}}while(0);ur=n}(t,A,f)}A=0|ar[e>>2];do{if(A){if(0|Mf(A=(0|(f=0|ar[A+12>>2]))==(0|ar[A+16>>2])?0|jb[127&ar[36+(0|ar[A>>2])>>2]](A):0|hf(0|tr[f>>0]),-1)){ar[e>>2]=0,f=1;break}f=0==(0|ar[e>>2]);break}f=1}while(0);do{if(c){if(0|Mf(A=(0|(A=0|ar[h+12>>2]))==(0|ar[h+16>>2])?0|jb[127&ar[36+(0|ar[c>>2])>>2]](h):0|hf(0|tr[A>>0]),-1)){ar[r>>2]=0,w=25;break}if(f)break;w=27;break}w=25}while(0);return 25==(0|w)&&f&&(w=27),27==(0|w)&&(ar[n>>2]=2|ar[n>>2]),f=0|ar[e>>2],bn(l),A=0|ar[b>>2],(ar[b>>2]=0)|A&&is[511&ar[u>>2]](A),ur=s,0|f},function(A,e,r,i,f,n,t){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0;var o,a,c,l,u,b,s,d,k=0,h=0,w=0,v=0,m=0,g=0,Z=0;if(m=ur=(s=ur)+31&-32,ur=ur+576|0,o=m+424|0,v=(c=m)+24|0,b=m+16|0,a=m+12|0,l=m+8|0,k=m+564|0,d=m+4|0,m=m+464|0,ar[b>>2]=v,ar[(u=4+b|0)>>2]=444,Tf(l,f),A=0|un(l,59264),tr[k>>0]=0,ar[d>>2]=ar[r>>2],w=0|ar[f+4>>2],ar[o>>2]=ar[d>>2],0|bi(e,o,i,l,w,n,k,A,b,a,v+400|0)){for(Pb[7&ar[48+(0|ar[A>>2])>>2]](A,55062,55072,o),392<(0|(A=(w=0|ar[a>>2])-(i=0|ar[b>>2])|0))?(A=0|yc(2+(A>>>2)|0))?g=h=A:gu():(h=m,g=0),A=0|tr[k>>0]?(tr[h>>0]=45,h+1|0):h,h=40+o|0,v=o,k=i,f=A,A=w;!(A>>>0<=k>>>0);){for(i=0|ar[k>>2],A=o;;){if((0|A)==(0|h)){A=h;break}if((0|ar[A>>2])==(0|i))break;A=A+4|0}tr[f>>0]=0|tr[55062+(A-v>>2)>>0],k=k+4|0,f=f+1|0,A=0|ar[a>>2]}tr[f>>0]=0,ar[c>>2]=t,1!=(0|ji(m,54963,c))&&ti(),0|g&&Bc(g)}A=0|ar[e>>2];do{if(A){if(0|Uf(A=(0|(i=0|ar[A+12>>2]))==(0|ar[A+16>>2])?0|jb[127&ar[36+(0|ar[A>>2])>>2]](A):0|gf(0|ar[i>>2]),-1)){ar[e>>2]=0,f=1;break}f=0==(0|ar[e>>2]);break}f=1}while(0);A=0|ar[r>>2];do{if(A){if(0|Uf(A=(0|(i=0|ar[A+12>>2]))==(0|ar[A+16>>2])?0|jb[127&ar[36+(0|ar[A>>2])>>2]](A):0|gf(0|ar[i>>2]),-1)){ar[r>>2]=0,Z=32;break}if(f)break;Z=34;break}Z=32}while(0);return 32==(0|Z)&&f&&(Z=34),34==(0|Z)&&(ar[n>>2]=2|ar[n>>2]),i=0|ar[e>>2],bn(l),A=0|ar[b>>2],(ar[b>>2]=0)|A&&is[511&ar[u>>2]](A),ur=s,0|i},function(A,e,r,i,f,n,t){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0;var o,a,c,l,u,b,s,d=0,k=0,h=0,w=0;if(h=ur=(s=ur)+31&-32,ur=ur+432|0,d=h+424|0,A=h+24|0,b=h+16|0,a=h+8|0,k=(l=h)+428|0,h=h+4|0,ar[b>>2]=A,ar[(u=4+b|0)>>2]=444,Tf(l,f),o=0|un(l,59264),c=(tr[k>>0]=0)|ar[r>>2],ar[h>>2]=c,f=0|ar[f+4>>2],ar[d>>2]=ar[h>>2],h=c,0|bi(e,d,i,l,f,n,k,o,b,a,A+400|0)){for((0|tr[(A=t+8+3|0)>>0])<0?(i=0|ar[t>>2],ar[d>>2]=0,ln(i,d),ar[t+4>>2]=0):(ar[d>>2]=0,ln(t,d),tr[A>>0]=0),0|tr[k>>0]&&Ou(t,0|Hb[31&ar[44+(0|ar[o>>2])>>2]](o,45)),k=0|Hb[31&ar[44+(0|ar[o>>2])>>2]](o,48),d=(f=0|ar[a>>2])+-4|0,A=0|ar[b>>2];!(d>>>0<=A>>>0)&&(0|ar[A>>2])==(0|k);)A=A+4|0;!function(A,e,r){e|=0,r|=0;var i,f,n,t,o,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0;n=ur=(o=ur)+31&-32,ur=ur+16|0,k=12+n|0,i=0|tr[(t=3+(a=8+(A|=0)|0)|0)>>0],u=(c=i<<24>>24<0)?(d=0|ar[A+4>>2],(2147483647&ar[a>>2])-1|0):(d=255&i,1);f=r-e>>2;do{if(0|f){if(c?(c=0|ar[A>>2],l=c,a=0|ar[A+4>>2]):(a=255&i,c=l=A),0|si(e,c,l+(a<<2)|0)){ar[n>>2]=0,ar[4+n>>2]=0,ar[8+n>>2]=0,1073741807<f>>>0&&pu();do{if(2<=f>>>0){if(!(1073741823<(a=4+f&-4)>>>0)){s=0|hu(a<<2),ar[n>>2]=s,ar[8+n>>2]=-2147483648|a,ar[4+n>>2]=f,b=e;break}lA()}else tr[8+n+3>>0]=f,b=e,s=n}while(0);for(;(0|b)!=(0|r);)ln(s,b),b=b+4|0,s=s+4|0;ar[k>>2]=0,ln(s,k),k=0|tr[8+n+3>>0],Su(A,(r=k<<24>>24<0)?0|ar[n>>2]:n,r?0|ar[4+n>>2]:255&k),Qu(n);break}for(c=d+f|0,(u-d|0)>>>0<f>>>0&&Uu(A,u,c-u|0,d,d,0,0),a=(a=(0|tr[t>>0])<0?0|ar[A>>2]:A)+(d<<2)|0;(0|e)!=(0|r);)ln(a,e),a=a+4|0,e=e+4|0;if(ar[k>>2]=0,ln(a,k),(0|tr[t>>0])<0){ar[A+4>>2]=c;break}tr[t>>0]=c;break}}while(0);ur=o}(t,A,f)}A=0|ar[e>>2];do{if(A){if(0|Uf(A=(0|(f=0|ar[A+12>>2]))==(0|ar[A+16>>2])?0|jb[127&ar[36+(0|ar[A>>2])>>2]](A):0|gf(0|ar[f>>2]),-1)){ar[e>>2]=0,f=1;break}f=0==(0|ar[e>>2]);break}f=1}while(0);do{if(c){if(0|Uf(A=(0|(A=0|ar[h+12>>2]))==(0|ar[h+16>>2])?0|jb[127&ar[36+(0|ar[c>>2])>>2]](h):0|gf(0|ar[A>>2]),-1)){ar[r>>2]=0,w=25;break}if(f)break;w=27;break}w=25}while(0);return 25==(0|w)&&f&&(w=27),27==(0|w)&&(ar[n>>2]=2|ar[n>>2]),f=0|ar[e>>2],bn(l),A=0|ar[b>>2],(ar[b>>2]=0)|A&&is[511&ar[u>>2]](A),ur=s,0|f},Fb],es=[Rb,function(A,e,r,i,f,n,t,o){A|=0,e|=0,r|=0,i|=0,n|=0,t|=0,o|=0;var a,c,l,u,b,s,d,k,h,w,v,m,g,Z,p,y,B,E,X,W,I,C,G,V,F,R,N,_,Y,Q,D,J,M,T,U,S,O,z,j=0,H=0;switch(Q=ur=(z=ur)+31&-32,ur=ur+144|0,a=128+Q|0,o=112+Q|0,O=124+Q|0,j=120+Q|0,c=116+Q|0,l=108+Q|0,u=104+Q|0,b=100+Q|0,s=96+Q|0,d=92+Q|0,k=88+Q|0,h=84+Q|0,w=80+Q|0,v=76+Q|0,m=72+Q|0,g=68+Q|0,Z=64+Q|0,p=60+Q|0,y=56+Q|0,B=52+Q|0,E=48+Q|0,X=44+Q|0,W=40+Q|0,I=36+Q|0,C=32+Q|0,G=28+Q|0,V=24+Q|0,F=20+Q|0,R=16+Q|0,N=12+Q|0,_=8+Q|0,Y=4+Q|0,ar[(f|=0)>>2]=0,Tf(a,i),D=0|un(a,59232),bn(a),J=n+8|0,M=n+20|0,T=n+16|0,U=n+24|0,S=A+8|0,t<<24>>24|0){case 65:case 97:ar[O>>2]=ar[r>>2],ar[a>>2]=ar[O>>2],yr(A,U,e,a,f,D),H=26;break;case 104:case 66:case 98:ar[j>>2]=ar[r>>2],ar[a>>2]=ar[j>>2],Br(A,T,e,a,f,D),H=26;break;case 99:j=0|jb[127&ar[12+(0|ar[S>>2])>>2]](S),ar[c>>2]=ar[e>>2],ar[l>>2]=ar[r>>2],H=(t=(r=(H=0|tr[j+11>>0])<<24>>24<0)?0|ar[j>>2]:j)+(r?0|ar[j+4>>2]:255&H)|0,ar[o>>2]=ar[c>>2],ar[a>>2]=ar[l>>2],H=0|Er(A,o,a,i,f,n,t,H),ar[e>>2]=H,H=26;break;case 101:case 100:ar[u>>2]=ar[r>>2],ar[a>>2]=ar[u>>2],Xr(A,n+12|0,e,a,f,D),H=26;break;case 68:ar[b>>2]=ar[e>>2],ar[s>>2]=ar[r>>2],ar[o>>2]=ar[b>>2],ar[a>>2]=ar[s>>2],H=0|Er(A,o,a,i,f,n,54387,54395),ar[e>>2]=H,H=26;break;case 70:ar[d>>2]=ar[e>>2],ar[k>>2]=ar[r>>2],ar[o>>2]=ar[d>>2],ar[a>>2]=ar[k>>2],H=0|Er(A,o,a,i,f,n,54395,54403),ar[e>>2]=H,H=26;break;case 72:ar[h>>2]=ar[r>>2],ar[a>>2]=ar[h>>2],Wr(A,J,e,a,f,D),H=26;break;case 73:ar[w>>2]=ar[r>>2],ar[a>>2]=ar[w>>2],Ir(A,J,e,a,f,D),H=26;break;case 106:ar[v>>2]=ar[r>>2],ar[a>>2]=ar[v>>2],Cr(A,n+28|0,e,a,f,D),H=26;break;case 109:ar[m>>2]=ar[r>>2],ar[a>>2]=ar[m>>2],Gr(A,T,e,a,f,D),H=26;break;case 77:ar[g>>2]=ar[r>>2],ar[a>>2]=ar[g>>2],Vr(A,n+4|0,e,a,f,D),H=26;break;case 116:case 110:ar[Z>>2]=ar[r>>2],ar[a>>2]=ar[Z>>2],Fr(A,e,a,f,D),H=26;break;case 112:ar[p>>2]=ar[r>>2],ar[a>>2]=ar[p>>2],Rr(A,J,e,a,f,D),H=26;break;case 114:ar[y>>2]=ar[e>>2],ar[B>>2]=ar[r>>2],ar[o>>2]=ar[y>>2],ar[a>>2]=ar[B>>2],H=0|Er(A,o,a,i,f,n,54403,54414),ar[e>>2]=H,H=26;break;case 82:ar[E>>2]=ar[e>>2],ar[X>>2]=ar[r>>2],ar[o>>2]=ar[E>>2],ar[a>>2]=ar[X>>2],H=0|Er(A,o,a,i,f,n,54414,54419),ar[e>>2]=H,H=26;break;case 83:ar[W>>2]=ar[r>>2],ar[a>>2]=ar[W>>2],Nr(A,n,e,a,f,D),H=26;break;case 84:ar[I>>2]=ar[e>>2],ar[C>>2]=ar[r>>2],ar[o>>2]=ar[I>>2],ar[a>>2]=ar[C>>2],H=0|Er(A,o,a,i,f,n,54419,54427),ar[e>>2]=H,H=26;break;case 119:ar[G>>2]=ar[r>>2],ar[a>>2]=ar[G>>2],_r(A,U,e,a,f,D),H=26;break;case 120:t=0|ar[20+(0|ar[A>>2])>>2],ar[V>>2]=ar[e>>2],ar[F>>2]=ar[r>>2],ar[o>>2]=ar[V>>2],ar[a>>2]=ar[F>>2],o=0|$b[63&t](A,o,a,i,f,n);break;case 88:j=0|jb[127&ar[24+(0|ar[S>>2])>>2]](S),ar[R>>2]=ar[e>>2],ar[N>>2]=ar[r>>2],H=(t=(r=(H=0|tr[j+11>>0])<<24>>24<0)?0|ar[j>>2]:j)+(r?0|ar[j+4>>2]:255&H)|0,ar[o>>2]=ar[R>>2],ar[a>>2]=ar[N>>2],H=0|Er(A,o,a,i,f,n,t,H),ar[e>>2]=H,H=26;break;case 121:ar[_>>2]=ar[r>>2],ar[a>>2]=ar[_>>2],Yr(A,M,e,a,f,D),H=26;break;case 89:ar[Y>>2]=ar[r>>2],ar[a>>2]=ar[Y>>2],Qr(A,M,e,a,f,D),H=26;break;case 37:ar[Q>>2]=ar[r>>2],ar[a>>2]=ar[Q>>2],Dr(A,e,a,f,D),H=26;break;default:ar[f>>2]=4|ar[f>>2],H=26}return 26==(0|H)&&(o=0|ar[e>>2]),ur=z,0|o},function(A,e,r,i,f,n,t,o){A|=0,e|=0,r|=0,i|=0,n|=0,t|=0,o|=0;var a,c,l,u,b,s,d,k,h,w,v,m,g,Z,p,y,B,E,X,W,I,C,G,V,F,R,N,_,Y,Q,D,J,M,T,U,S,O,z,j=0,H=0;switch(Q=ur=(z=ur)+31&-32,ur=ur+144|0,a=128+Q|0,o=112+Q|0,O=124+Q|0,j=120+Q|0,c=116+Q|0,l=108+Q|0,u=104+Q|0,b=100+Q|0,s=96+Q|0,d=92+Q|0,k=88+Q|0,h=84+Q|0,w=80+Q|0,v=76+Q|0,m=72+Q|0,g=68+Q|0,Z=64+Q|0,p=60+Q|0,y=56+Q|0,B=52+Q|0,E=48+Q|0,X=44+Q|0,W=40+Q|0,I=36+Q|0,C=32+Q|0,G=28+Q|0,V=24+Q|0,F=20+Q|0,R=16+Q|0,N=12+Q|0,_=8+Q|0,Y=4+Q|0,ar[(f|=0)>>2]=0,Tf(a,i),D=0|un(a,59264),bn(a),J=n+8|0,M=n+20|0,T=n+16|0,U=n+24|0,S=A+8|0,t<<24>>24|0){case 65:case 97:ar[O>>2]=ar[r>>2],ar[a>>2]=ar[O>>2],Tr(A,U,e,a,f,D),H=26;break;case 104:case 66:case 98:ar[j>>2]=ar[r>>2],ar[a>>2]=ar[j>>2],Ur(A,T,e,a,f,D),H=26;break;case 99:j=0|jb[127&ar[12+(0|ar[S>>2])>>2]](S),ar[c>>2]=ar[e>>2],ar[l>>2]=ar[r>>2],H=(t=(r=(H=0|tr[j+8+3>>0])<<24>>24<0)?0|ar[j>>2]:j)+((r?0|ar[j+4>>2]:255&H)<<2)|0,ar[o>>2]=ar[c>>2],ar[a>>2]=ar[l>>2],H=0|Sr(A,o,a,i,f,n,t,H),ar[e>>2]=H,H=26;break;case 101:case 100:ar[u>>2]=ar[r>>2],ar[a>>2]=ar[u>>2],Or(A,n+12|0,e,a,f,D),H=26;break;case 68:ar[b>>2]=ar[e>>2],ar[s>>2]=ar[r>>2],ar[o>>2]=ar[b>>2],ar[a>>2]=ar[s>>2],H=0|Sr(A,o,a,i,f,n,16244,16276),ar[e>>2]=H,H=26;break;case 70:ar[d>>2]=ar[e>>2],ar[k>>2]=ar[r>>2],ar[o>>2]=ar[d>>2],ar[a>>2]=ar[k>>2],H=0|Sr(A,o,a,i,f,n,16276,16308),ar[e>>2]=H,H=26;break;case 72:ar[h>>2]=ar[r>>2],ar[a>>2]=ar[h>>2],zr(A,J,e,a,f,D),H=26;break;case 73:ar[w>>2]=ar[r>>2],ar[a>>2]=ar[w>>2],jr(A,J,e,a,f,D),H=26;break;case 106:ar[v>>2]=ar[r>>2],ar[a>>2]=ar[v>>2],Hr(A,n+28|0,e,a,f,D),H=26;break;case 109:ar[m>>2]=ar[r>>2],ar[a>>2]=ar[m>>2],xr(A,T,e,a,f,D),H=26;break;case 77:ar[g>>2]=ar[r>>2],ar[a>>2]=ar[g>>2],Pr(A,n+4|0,e,a,f,D),H=26;break;case 116:case 110:ar[Z>>2]=ar[r>>2],ar[a>>2]=ar[Z>>2],Lr(A,e,a,f,D),H=26;break;case 112:ar[p>>2]=ar[r>>2],ar[a>>2]=ar[p>>2],Kr(A,J,e,a,f,D),H=26;break;case 114:ar[y>>2]=ar[e>>2],ar[B>>2]=ar[r>>2],ar[o>>2]=ar[y>>2],ar[a>>2]=ar[B>>2],H=0|Sr(A,o,a,i,f,n,16308,16352),ar[e>>2]=H,H=26;break;case 82:ar[E>>2]=ar[e>>2],ar[X>>2]=ar[r>>2],ar[o>>2]=ar[E>>2],ar[a>>2]=ar[X>>2],H=0|Sr(A,o,a,i,f,n,16352,16372),ar[e>>2]=H,H=26;break;case 83:ar[W>>2]=ar[r>>2],ar[a>>2]=ar[W>>2],qr(A,n,e,a,f,D),H=26;break;case 84:ar[I>>2]=ar[e>>2],ar[C>>2]=ar[r>>2],ar[o>>2]=ar[I>>2],ar[a>>2]=ar[C>>2],H=0|Sr(A,o,a,i,f,n,16372,16404),ar[e>>2]=H,H=26;break;case 119:ar[G>>2]=ar[r>>2],ar[a>>2]=ar[G>>2],$r(A,U,e,a,f,D),H=26;break;case 120:t=0|ar[20+(0|ar[A>>2])>>2],ar[V>>2]=ar[e>>2],ar[F>>2]=ar[r>>2],ar[o>>2]=ar[V>>2],ar[a>>2]=ar[F>>2],o=0|$b[63&t](A,o,a,i,f,n);break;case 88:j=0|jb[127&ar[24+(0|ar[S>>2])>>2]](S),ar[R>>2]=ar[e>>2],ar[N>>2]=ar[r>>2],H=(t=(r=(H=0|tr[j+8+3>>0])<<24>>24<0)?0|ar[j>>2]:j)+((r?0|ar[j+4>>2]:255&H)<<2)|0,ar[o>>2]=ar[R>>2],ar[a>>2]=ar[N>>2],H=0|Sr(A,o,a,i,f,n,t,H),ar[e>>2]=H,H=26;break;case 121:ar[_>>2]=ar[r>>2],ar[a>>2]=ar[_>>2],Ai(A,M,e,a,f,D),H=26;break;case 89:ar[Y>>2]=ar[r>>2],ar[a>>2]=ar[Y>>2],ei(A,M,e,a,f,D),H=26;break;case 37:ar[Q>>2]=ar[r>>2],ar[a>>2]=ar[Q>>2],ri(A,e,a,f,D),H=26;break;default:ar[f>>2]=4|ar[f>>2],H=26}return 26==(0|H)&&(o=0|ar[e>>2]),ur=z,0|o},function(A,e,r,i,f,n,t,o){var a;return A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,A=ur=(e=ur)+31&-32,ur=ur+16|0,t=0|function(A,e,r,i,f,n,t,o){A|=0,e|=0,i|=0,f|=0,n|=0,t|=0,o|=0;var a=0,c=0,l=0;ar[(r|=0)>>2]=A,ar[n>>2]=i,2&o?(f-i|0)<3?A=1:(ar[n>>2]=i+1,tr[i>>0]=-17,a=0|ar[n>>2],ar[n>>2]=a+1,tr[a>>0]=-69,a=0|ar[n>>2],ar[n>>2]=a+1,tr[a>>0]=-65,a=4):a=4;A:do{if(4==(0|a))for(A=0|ar[r>>2];;){if(e>>>0<=A>>>0){A=0;break A}if(l=0|ar[A>>2],t>>>0<l>>>0|55296==(-2048&l|0)){A=2;break A}do{if(128<=l>>>0){if(c=255&(63&l|128),l>>>0<2048){if(A=0|ar[n>>2],(f-A|0)<2){A=1;break A}ar[n>>2]=A+1,tr[A>>0]=l>>>6|192,l=0|ar[n>>2],ar[n>>2]=l+1,tr[l>>0]=c;break}if(A=0|ar[n>>2],i=f-A|0,o=A+1|0,a=255&(l>>>6&63|128),l>>>0<65536){if((0|i)<3){A=1;break A}ar[n>>2]=o,tr[A>>0]=l>>>12|224,l=0|ar[n>>2],ar[n>>2]=l+1,tr[l>>0]=a,l=0|ar[n>>2],ar[n>>2]=l+1,tr[l>>0]=c;break}if((0|i)<4){A=1;break A}ar[n>>2]=o,tr[A>>0]=l>>>18|240,o=0|ar[n>>2],ar[n>>2]=o+1,tr[o>>0]=l>>>12&63|128,l=0|ar[n>>2],ar[n>>2]=l+1,tr[l>>0]=a,l=0|ar[n>>2],ar[n>>2]=l+1,tr[l>>0]=c;break}if(A=0|ar[n>>2],(f-A|0)<1){A=1;break A}ar[n>>2]=A+1,tr[A>>0]=l}while(0);A=4+(0|ar[r>>2])|0,ar[r>>2]=A}}while(0);return 0|A}(ar[(a=A+4|0)>>2]=r,i,a,ar[A>>2]=n,t,A,1114111,0),ar[f>>2]=ar[a>>2],ar[o>>2]=ar[A>>2],ur=e,0|t},function(A,e,r,i,f,n,t,o){var a;return A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,A=ur=(e=ur)+31&-32,ur=ur+16|0,t=0|function(A,e,r,i,f,n,t,o){A|=0,e|=0,i|=0,f|=0,n|=0,t|=0,o|=0;var a,c=0,l=0,u=0,b=0,s=0;ar[(r|=0)>>2]=A,ar[n>>2]=i,a=e,4&o|0&&(c=0|ar[r>>2],2<(a-c|0))&&-17==(0|tr[c>>0])&&-69==(0|tr[c+1>>0])&&-65==(0|tr[c+2>>0])&&(ar[r>>2]=c+3);A:for(;;){if(l=0|ar[r>>2],e>>>0<=l>>>0){A=0;break}if(s=0|ar[n>>2],f>>>0<=s>>>0){A=1;break}u=0|tr[l>>0],b=255&u,A=l+1|0;do{if(-1<u<<24>>24){if(t>>>0<b>>>0){A=2;break A}ar[s>>2]=b}else{if((255&u)<194){A=2;break A}if(c=l+2|0,i=a-l|0,(255&u)<224){if((0|i)<2){A=1;break A}if(128!=(192&(A=0|cr[A>>0])|0)){A=2;break A}if(t>>>0<(A=63&A|b<<6&1984)>>>0){A=2;break A}ar[s>>2]=A,A=c;break}if(o=l+3|0,(255&u)<240){if((0|i)<3){A=1;break A}switch(i=0|tr[c>>0],c=0|cr[A>>0],A=224&c,u<<24>>24){case-32:if(160==(0|A))break;A=2;break A;case-19:if(128==(0|A))break;A=2;break A;default:if(128!=(192&c|0)){A=2;break A}}if(128!=(192&(A=255&i)|0)){A=2;break A}if(t>>>0<(A=c<<6&4032|b<<12&61440|63&A)>>>0){A=2;break A}ar[s>>2]=A,A=o;break}if(245<=(255&u)){A=2;break A}if((0|i)<4){A=1;break A}switch(i=0|tr[A>>0],A=0|tr[c>>0],c=0|tr[o>>0],o=255&i,u<<24>>24){case-16:if(48<=(i+112&255)){A=2;break A}break;case-12:if(128==(240&o|0))break;A=2;break A;default:if(128!=(192&o|0)){A=2;break A}}if(128!=(192&(i=255&A)|0)){A=2;break A}if(128!=(192&(A=255&c)|0)){A=2;break A}if(t>>>0<(A=o<<12&258048|b<<18&1835008|i<<6&4032|63&A)>>>0){A=2;break A}ar[s>>2]=A,A=l+4|0}}while(0);ar[r>>2]=A,ar[n>>2]=4+(0|ar[n>>2])}return 0|A}(ar[(a=A+4|0)>>2]=r,i,a,ar[A>>2]=n,t,A,1114111,0),ar[f>>2]=ar[a>>2],ar[o>>2]=ar[A>>2],ur=e,0|t},function(A,e,r,i,f,n,t,o){A|=0,e|=0,i|=0,f|=0,n|=0,t|=0,o|=0;var a,c,l,u,b=0,s=0,d=0,k=0;for(d=ur=(u=ur)+31&-32,ur=ur+16|0,d=(l=d)+8|0,b=r|=0;;){if((0|b)==(0|i)){b=i;break}if(!(0|ar[b>>2]))break;b=b+4|0}ar[o>>2]=n,ar[f>>2]=r,a=t,c=A+8|0;A:for(;;){if((0|n)==(0|t)|(0|r)==(0|i)){b=35;break}switch(s=0|ar[(k=e)+4>>2],ar[(A=l)>>2]=ar[k>>2],ar[A+4>>2]=s,A=0|rf(0|ar[c>>2]),s=0|Fi(n,f,b-r>>2,a-n|0,e),0|A&&rf(A),0|s){case-1:b=10;break A;case 0:r=1,b=32;break A}if(n=(0|ar[o>>2])+s|0,(0|(ar[o>>2]=n))==(0|t)){b=33;break}if((0|b)==(0|i))b=i,r=0|ar[f>>2];else{if(n=0|rf(0|ar[c>>2]),r=0|$c(d,0),0|n&&rf(n),-1==(0|r)){r=2,b=31;break}if(r>>>0>(a-(0|ar[o>>2])|0)>>>0){r=1,b=31;break}for(n=d;r;)s=0|tr[n>>0],k=0|ar[o>>2],ar[o>>2]=k+1,tr[k>>0]=s,n=n+1|0,r=r+-1|0;for(r=4+(0|ar[f>>2])|0,b=ar[f>>2]=r;;){if((0|b)==(0|i)){b=i;break}if(!(0|ar[b>>2]))break;b=b+4|0}n=0|ar[o>>2]}}if(10==(0|b)){for(ar[o>>2]=n;(0|r)!=(0|ar[f>>2])&&(k=0|ar[r>>2],b=0|rf(0|ar[c>>2]),n=0|$c(n,k),0|b&&rf(b),-1!=(0|n));)n=(0|ar[o>>2])+n|0,ar[o>>2]=n,r=r+4|0;ar[f>>2]=r,r=2,b=32}else 31==(0|b)?b=32:33==(0|b)&&(r=0|ar[f>>2],b=35);return 32!=(0|b)&&35==(0|b)&&(r=(0|r)!=(0|i)&1),ur=u,0|r},function(A,e,r,i,f,n,t,o){A|=0,e|=0,i|=0,f|=0,n|=0,t|=0,o|=0;var a,c,l,u,b=0,s=0,d=0;for(l=ur=(u=ur)+31&-32,ur=ur+16|0,b=r|=0;;){if((0|b)==(0|i)){b=i;break}if(!(0|tr[b>>0]))break;b=b+1|0}for(ar[o>>2]=n,ar[f>>2]=r,a=t,c=A+8|0,A=n;;){if((0|A)==(0|t)|(0|r)==(0|i)){A=32;break}if(n=0|ar[(s=e)+4>>2],ar[(d=l)>>2]=ar[s>>2],ar[d+4>>2]=n,d=b,n=0|rf(0|ar[c>>2]),s=0|Vi(A,f,d-r|0,a-A>>2,e),0|n&&rf(n),-1==(0|s)){b=A,A=10;break}if(A=(0|ar[o>>2])+(s<<2)|0,(0|(ar[o>>2]=A))==(0|t)){A=29;break}if(r=0|ar[f>>2],(0|b)==(0|i))b=i;else{if(b=0|rf(0|ar[c>>2]),r=0|Gi(A,r,1,e),0|b&&rf(b),0|r){r=2,A=28;break}for(ar[o>>2]=4+(0|ar[o>>2]),r=1+(0|ar[f>>2])|0,b=ar[f>>2]=r;;){if((0|b)==(0|i)){b=i;break}if(!(0|tr[b>>0]))break;b=b+1|0}A=0|ar[o>>2]}}do{if(10==(0|A)){A:for(;;){if(ar[o>>2]=b,(0|r)==(0|ar[f>>2])){A=18;break}switch(A=0|rf(0|ar[c>>2]),b=0|Gi(b,r,d-r|0,l),0|A&&rf(A),0|b){case-1:A=15;break A;case-2:A=16;break A;case 0:b=1}r=r+b|0,b=4+(0|ar[o>>2])|0,A=10}if(15==(0|A)){ar[f>>2]=r,r=2,A=28;break}if(16==(0|A)){ar[f>>2]=r,r=1,A=28;break}if(18==(0|A)){r=(0|(ar[f>>2]=r))!=(0|i)&1,A=28;break}}else 29==(0|A)&&(r=0|ar[f>>2],A=32)}while(0);return 28!=(0|A)&&32==(0|A)&&(r=(0|r)!=(0|i)&1),ur=u,0|r},function(A,e,r,i,f,n,t,o){return r|=0,n|=0,o|=0,ar[(f|=0)>>2]=r,ar[o>>2]=n,3},function(A,e,r,i,f,n,t,o){return r|=0,n|=0,o|=0,ar[(f|=0)>>2]=r,ar[o>>2]=n,3},function(A,e,r,i,f,n,t,o){var a;return A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,A=ur=(e=ur)+31&-32,ur=ur+16|0,t=0|function(A,e,r,i,f,n,t,o){A|=0,e|=0,i|=0,f|=0,n|=0,t|=0,o|=0;var a=0,c=0,l=0,u=0,b=0;ar[(r|=0)>>2]=A,ar[n>>2]=i,2&o?(f-i|0)<3?A=1:(ar[n>>2]=i+1,tr[i>>0]=-17,a=0|ar[n>>2],ar[n>>2]=a+1,tr[a>>0]=-69,a=0|ar[n>>2],ar[n>>2]=a+1,tr[a>>0]=-65,a=4):a=4;A:do{if(4==(0|a))for(b=e,A=0|ar[r>>2];;){if(e>>>0<=A>>>0){A=0;break A}if(i=0|or[A>>1],t>>>0<(u=65535&i)>>>0){A=2;break A}do{if((65535&i)<128){if(A=0|ar[n>>2],(f-A|0)<1){A=1;break A}ar[n>>2]=A+1,tr[A>>0]=i}else{if(l=255&(128|(c=63&u)),(65535&i)<2048){if(A=0|ar[n>>2],(f-A|0)<2){A=1;break A}ar[n>>2]=A+1,tr[A>>0]=u>>>6|192,u=0|ar[n>>2],ar[n>>2]=u+1,tr[u>>0]=l;break}if(o=255&(u>>>12|224),a=255&(u>>>6&63|128),(65535&i)<55296){if(A=0|ar[n>>2],(f-A|0)<3){A=1;break A}ar[n>>2]=A+1,tr[A>>0]=o,u=0|ar[n>>2],ar[n>>2]=u+1,tr[u>>0]=a,u=0|ar[n>>2],ar[n>>2]=u+1,tr[u>>0]=l;break}if(56320<=(65535&i)){if((65535&i)<57344){A=2;break A}if(A=0|ar[n>>2],(f-A|0)<3){A=1;break A}ar[n>>2]=A+1,tr[A>>0]=o,u=0|ar[n>>2],ar[n>>2]=u+1,tr[u>>0]=a,u=0|ar[n>>2],ar[n>>2]=u+1,tr[u>>0]=l;break}if((b-A|0)<4){A=1;break A}if(56320!=(64512&(i=0|lr[(A=A+2|0)>>1])|0)){A=2;break A}if((f-(0|ar[n>>2])|0)<4){A=1;break A}if(t>>>0<(65536+((o=960&u)<<10)|c<<10|1023&i)>>>0){A=2;break A}ar[r>>2]=A,c=1+(o>>>6)|0,l=0|ar[n>>2],ar[n>>2]=l+1,tr[l>>0]=c>>>2|240,l=0|ar[n>>2],ar[n>>2]=l+1,tr[l>>0]=u>>>2&15|c<<4&48|128,l=0|ar[n>>2],ar[n>>2]=l+1,tr[l>>0]=u<<4&48|i>>>6&15|128,u=0|ar[n>>2],ar[n>>2]=u+1,tr[u>>0]=63&i|128}}while(0);A=2+(0|ar[r>>2])|0,ar[r>>2]=A}}while(0);return 0|A}(ar[(a=A+4|0)>>2]=r,i,a,ar[A>>2]=n,t,A,1114111,0),ar[f>>2]=ar[a>>2],ar[o>>2]=ar[A>>2],ur=e,0|t},function(A,e,r,i,f,n,t,o){var a;return A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,A=ur=(e=ur)+31&-32,ur=ur+16|0,t=0|function(A,e,r,i,f,n,t,o){A|=0,e|=0,i|=0,f|=0,n|=0,t|=0,o|=0;var a,c,l=0,u=0,b=0,s=0,d=0,k=0;ar[(r|=0)>>2]=A,ar[n>>2]=i,c=e,4&o|0&&(l=0|ar[r>>2],2<(c-l|0))&&-17==(0|tr[l>>0])&&-69==(0|tr[l+1>>0])&&-65==(0|tr[l+2>>0])&&(ar[r>>2]=l+3);a=f;A:for(;;){if(i=0|ar[r>>2],!(A=i>>>0<e>>>0)){k=40;break}if(d=0|ar[n>>2],f>>>0<=d>>>0){k=40;break}if(b=0|tr[i>>0],t>>>0<(s=255&b)>>>0){A=2;break}A=i+1|0;do{if(-1<b<<24>>24)or[d>>1]=255&b;else{if((255&b)<194){A=2;break A}if(l=c-i|0,o=i+2|0,(255&b)<224){if((0|l)<2){A=1;break A}if(128!=(192&(A=0|cr[A>>0])|0)){A=2;break A}if(t>>>0<(A=63&A|s<<6&1984)>>>0){A=2;break A}or[d>>1]=A,A=o;break}if(u=i+3|0,(255&b)<240){if((0|l)<3){A=1;break A}switch(i=0|tr[o>>0],l=0|cr[A>>0],A=224&l,b<<24>>24){case-32:if(160==(0|A))break;A=2;break A;case-19:if(128==(0|A))break;A=2;break A;default:if(128!=(192&l|0)){A=2;break A}}if(128!=(192&(A=255&i)|0)){A=2;break A}if(t>>>0<(65535&(A=l<<6&4032|s<<12|63&A))>>>0){A=2;break A}or[d>>1]=A,A=u;break}if(245<=(255&b)){A=2;break A}if((0|l)<4){A=1;break A}switch(l=0|tr[A>>0],A=0|tr[o>>0],i=0|tr[u>>0],u=255&l,b<<24>>24){case-16:if(48<=(l+112&255)){A=2;break A}break;case-12:if(128==(240&u|0))break;A=2;break A;default:if(128!=(192&u|0)){A=2;break A}}if(128!=(192&(o=255&A)|0)){A=2;break A}if(128!=(192&(A=255&i)|0)){A=2;break A}if((a-d|0)<4){A=1;break A}if(t>>>0<(u<<12&258048|(i=7&s)<<18|4032&(l=o<<6)|(A&=63))>>>0){A=2;break A}or[d>>1]=u<<2&60|o>>>4&3|16320+((u>>>4&3|i<<2)<<6)|55296,d=d+2|0,ar[n>>2]=d,or[d>>1]=A|960&l|56320,A=4+(0|ar[r>>2])|0}}while(0);ar[r>>2]=A,ar[n>>2]=2+(0|ar[n>>2])}40==(0|k)&&(A&=1);return 0|A}(ar[(a=A+4|0)>>2]=r,i,a,ar[A>>2]=n,t,A,1114111,0),ar[f>>2]=ar[a>>2],ar[o>>2]=ar[A>>2],ur=e,0|t},Rb,Rb,Rb,Rb,Rb],rs=[Nb,function(){!function(){var A=0;if(A=0|ar[14154],ar[14154]=A+1,1<(A+1|0))return A=0;if(Ya(),0|Ka())return A=0;ar[14154]=(0|ar[14154])-1,A=11}()},function(){!function(){var A=0;if(A=0|ar[14154],ar[14154]=A-1,(0|(A=A+-1|0))<0)return ar[14154]=1+(0|ar[14154]),A=12;if(0|A)return A=0;qa(),A=0}()},function(){W()},function(){var A,e,r,i=0,f=0,n=0,t=0,o=0;t=ur=ur+31&-32,ur=ur+48|0,r=t+32|0,A=t+24|0,o=t+16|0,t=(e=t)+36|0,0|(i=0|zu())&&0|(n=0|ar[i>>2])&&(1126902528==(-256&(f=0|ar[(i=n+48|0)>>2])|0)&1129074247==(0|(i=0|ar[i+4>>2]))||(ar[A>>2]=56019,ju(55969,A)),i=1126902529==(0|f)&1129074247==(0|i)?0|ar[n+44>>2]:n+80|0,ar[t>>2]=i,n=0|ar[n>>2],i=0|ar[n+4>>2],0|xb[63&ar[16+(0|ar[984])>>2]](3936,n,t)?(o=0|ar[t>>2],o=0|jb[127&ar[8+(0|ar[o>>2])>>2]](o),ar[e>>2]=56019,ar[e+4>>2]=i,ar[e+8>>2]=o,ju(55883,e)):(ar[o>>2]=56019,ar[o+4>>2]=i,ju(55928,o))),ju(56007,r)},function(){var A,e;e=ur=(A=ur)+31&-32,ur=ur+16|0,0|mA(61152,446)?ju(56207,e):ur=A},Nb,Nb],is=[_b,XA,function(A){var e;ar[(A|=0)>>2]=4232,(e=0|ar[A+24>>2])&&mu(e),vu(A)},function(A){var e;ar[(A|=0)>>2]=4264,(e=0|ar[A+24>>2])&&((0|ar[(A=A+28|0)>>2])!=(0|e)&&(ar[A>>2]=e),vu(e))},function(A){var e,r;ar[(A|=0)>>2]=4264,(e=0|ar[A+24>>2])&&((0|ar[(r=A+28|0)>>2])!=(0|e)&&(ar[r>>2]=e),vu(e)),vu(A)},function(A){var e,r,i;ar[(A|=0)>>2]=4304,ar[(e=A+56|0)>>2]=4324,ar[(r=A+4|0)>>2]=4340,(0|tr[11+(i=A+36|0)>>0])<0&&vu(0|ar[i>>2]),kf(r),Gf(),bf(e)},function(A){var e,r,i;ar[(A|=0)>>2]=4304,ar[(e=A+56|0)>>2]=4324,ar[(r=A+4|0)>>2]=4340,(0|tr[11+(i=A+36|0)>>0])<0&&vu(0|ar[i>>2]),kf(r),Gf(),bf(e),vu(A)},function(A){var e,r,i;A=(A|=0)+(0|ar[(0|ar[A>>2])-12>>2])|0,ar[A>>2]=4304,ar[(e=A+56|0)>>2]=4324,ar[(r=A+4|0)>>2]=4340,(0|tr[11+(i=A+36|0)>>0])<0&&vu(0|ar[i>>2]),kf(r),Gf(),bf(e)},function(A){var e,r,i;A=(A|=0)+(0|ar[(0|ar[A>>2])-12>>2])|0,ar[A>>2]=4304,ar[(e=A+56|0)>>2]=4324,ar[(r=A+4|0)>>2]=4340,(0|tr[11+(i=A+36|0)>>0])<0&&vu(0|ar[i>>2]),kf(r),Gf(),bf(e),vu(A)},function(A){var e;ar[(A|=0)>>2]=4340,(0|tr[11+(e=A+32|0)>>0])<0&&vu(0|ar[e>>2]),kf(A)},function(A){var e;ar[(A|=0)>>2]=4340,(0|tr[11+(e=A+32|0)>>0])<0&&vu(0|ar[e>>2]),kf(A),vu(A)},function(A){var e,r=0,i=0,f=0,n=0;if(ar[(A|=0)>>2]=4404,0|(r=0|ar[(e=A+44|0)>>2])){if((0|(i=0|ar[(n=A+48|0)>>2]))!=(0|r)){for(f=i;i=f+-8|0,ar[n>>2]=i,(f=0|ar[f+-4>>2])&&(du(f),i=0|ar[n>>2]),(0|i)!=(0|r);)f=i;r=0|ar[e>>2]}vu(r)}ar[A>>2]=4264,(i=0|ar[A+24>>2])&&((0|ar[(r=A+28|0)>>2])!=(0|i)&&(ar[r>>2]=i),vu(i))},function(A){var e,r=0,i=0,f=0,n=0;if(ar[(A|=0)>>2]=4404,0|(r=0|ar[(e=A+44|0)>>2])){if((0|(i=0|ar[(n=A+48|0)>>2]))!=(0|r)){for(f=i;i=f+-8|0,ar[n>>2]=i,(f=0|ar[f+-4>>2])&&(du(f),i=0|ar[n>>2]),(0|i)!=(0|r);)f=i;r=0|ar[e>>2]}vu(r)}ar[A>>2]=4264,(r=0|ar[A+24>>2])&&((0|ar[(i=A+28|0)>>2])!=(0|r)&&(ar[i>>2]=r),vu(r)),vu(A)},function(A){tr[(A|=0)+37>>0]=0},function(A){var e,r=0,i=0,f=0,n=0;if(ar[(A|=0)>>2]=4436,0|(r=0|ar[A+64>>2])&&((0|(f=0|ar[(i=A+68|0)>>2]))!=(0|r)&&(ar[i>>2]=f+(~((f+-4-r|0)>>>2)<<2)),vu(r)),ar[A>>2]=4404,0|(r=0|ar[(e=A+44|0)>>2])){if((0|(i=0|ar[(n=A+48|0)>>2]))!=(0|r)){for(;f=i+-8|0,ar[n>>2]=f,(0|(i=(i=0|ar[i+-4>>2])?(du(i),0|ar[n>>2]):f))!=(0|r););r=0|ar[e>>2]}vu(r)}ar[A>>2]=4264,(i=0|ar[A+24>>2])&&((0|ar[(r=A+28|0)>>2])!=(0|i)&&(ar[r>>2]=i),vu(i))},function(A){var e,r=0,i=0,f=0,n=0;if(ar[(A|=0)>>2]=4436,0|(r=0|ar[A+64>>2])&&((0|(f=0|ar[(i=A+68|0)>>2]))!=(0|r)&&(ar[i>>2]=f+(~((f+-4-r|0)>>>2)<<2)),vu(r)),ar[A>>2]=4404,0|(r=0|ar[(e=A+44|0)>>2])){if((0|(i=0|ar[(n=A+48|0)>>2]))!=(0|r)){for(;f=i+-8|0,ar[n>>2]=f,(0|(i=(i=0|ar[i+-4>>2])?(du(i),0|ar[n>>2]):f))!=(0|r););r=0|ar[e>>2]}vu(r)}ar[A>>2]=4264,(r=0|ar[A+24>>2])&&((0|ar[(i=A+28|0)>>2])!=(0|r)&&(ar[i>>2]=r),vu(r)),vu(A)},function(A){var e,r=0,i=0,f=0,n=0;if(ar[(A|=0)>>2]=4404,0|(r=0|ar[(e=A+44|0)>>2])){if((0|(i=0|ar[(n=A+48|0)>>2]))!=(0|r)){for(f=i;i=f+-8|0,ar[n>>2]=i,(f=0|ar[f+-4>>2])&&(du(f),i=0|ar[n>>2]),(0|i)!=(0|r);)f=i;r=0|ar[e>>2]}vu(r)}ar[A>>2]=4264,(r=0|ar[A+24>>2])&&((0|ar[(i=A+28|0)>>2])!=(0|r)&&(ar[i>>2]=r),vu(r)),vu(A)},function(A){var e,r,i;ar[(A|=0)>>2]=4504,ar[(e=A+64|0)>>2]=4544,ar[A+8>>2]=4524,ar[(r=A+12|0)>>2]=4340,(0|tr[11+(i=A+44|0)>>0])<0&&vu(0|ar[i>>2]),kf(r),_f(),bf(e)},function(A){var e,r,i;ar[(A|=0)>>2]=4504,ar[(e=A+64|0)>>2]=4544,ar[A+8>>2]=4524,ar[(r=A+12|0)>>2]=4340,(0|tr[11+(i=A+44|0)>>0])<0&&vu(0|ar[i>>2]),kf(r),_f(),bf(e),vu(A)},function(A){var e,r,i;ar[(A=(A|=0)+-8|0)>>2]=4504,ar[(e=A+64|0)>>2]=4544,ar[A+8>>2]=4524,ar[(r=A+12|0)>>2]=4340,(0|tr[11+(i=A+44|0)>>0])<0&&vu(0|ar[i>>2]),kf(r),_f(),bf(e)},function(A){var e,r,i;ar[(A=(A|=0)+-8|0)>>2]=4504,ar[(e=A+64|0)>>2]=4544,ar[A+8>>2]=4524,ar[(r=A+12|0)>>2]=4340,(0|tr[11+(i=A+44|0)>>0])<0&&vu(0|ar[i>>2]),kf(r),_f(),bf(e),vu(A)},function(A){var e,r,i;A=(A|=0)+(0|ar[(0|ar[A>>2])-12>>2])|0,ar[A>>2]=4504,ar[(e=A+64|0)>>2]=4544,ar[A+8>>2]=4524,ar[(r=A+12|0)>>2]=4340,(0|tr[11+(i=A+44|0)>>0])<0&&vu(0|ar[i>>2]),kf(r),_f(),bf(e)},function(A){var e,r,i;A=(A|=0)+(0|ar[(0|ar[A>>2])-12>>2])|0,ar[A>>2]=4504,ar[(e=A+64|0)>>2]=4544,ar[A+8>>2]=4524,ar[(r=A+12|0)>>2]=4340,(0|tr[11+(i=A+44|0)>>0])<0&&vu(0|ar[i>>2]),kf(r),_f(),bf(e),vu(A)},yf,Bf,function(A){yf((A|=0)+(0|ar[(0|ar[A>>2])-12>>2])|0)},function(A){Bf((A|=0)+(0|ar[(0|ar[A>>2])-12>>2])|0)},Rf,Nf,function(A){Rf((A|=0)+-8|0)},function(A){Nf((A|=0)+-8|0)},function(A){Rf((A|=0)+(0|ar[(0|ar[A>>2])-12>>2])|0)},function(A){Nf((A|=0)+(0|ar[(0|ar[A>>2])-12>>2])|0)},If,Cf,function(A){If((A|=0)+(0|ar[(0|ar[A>>2])-12>>2])|0)},function(A){Cf((A|=0)+(0|ar[(0|ar[A>>2])-12>>2])|0)},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=4600,ar[(r=A+16|0)>>2]=4436,0|(i=0|ar[A+80>>2])&&((0|(n=0|ar[(f=A+84|0)>>2]))!=(0|i)&&(ar[f>>2]=n+(~((n+-4-i|0)>>>2)<<2)),vu(i)),ar[r>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(;n=f+-8|0,ar[t>>2]=n,(0|(f=(f=0|ar[f+-4>>2])?(du(f),0|ar[t>>2]):n))!=(0|i););i=0|ar[e>>2]}vu(i)}ar[r>>2]=4264,(i=0|ar[A+40>>2])&&((0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i)),tu()},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=4600,ar[(r=A+16|0)>>2]=4436,0|(i=0|ar[A+80>>2])&&((0|(n=0|ar[(f=A+84|0)>>2]))!=(0|i)&&(ar[f>>2]=n+(~((n+-4-i|0)>>>2)<<2)),vu(i)),ar[r>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(;n=f+-8|0,ar[t>>2]=n,(0|(f=(f=0|ar[f+-4>>2])?(du(f),0|ar[t>>2]):n))!=(0|i););i=0|ar[e>>2]}vu(i)}if(ar[r>>2]=4264,!(i=0|ar[A+40>>2]))return tu(),void vu(A);(0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i),tu(),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+16|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=4628,ar[(r=A+16|0)>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(n=f;f=n+-8|0,ar[t>>2]=f,(n=0|ar[n+-4>>2])&&(du(n),f=0|ar[t>>2]),(0|f)!=(0|i);)n=f;i=0|ar[e>>2]}vu(i)}ar[r>>2]=4264,(i=0|ar[A+40>>2])&&((0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i)),tu()},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=4628,ar[(r=A+16|0)>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(n=f;f=n+-8|0,ar[t>>2]=f,(n=0|ar[n+-4>>2])&&(du(n),f=0|ar[t>>2]),(0|f)!=(0|i);)n=f;i=0|ar[e>>2]}vu(i)}if(ar[r>>2]=4264,!(i=0|ar[A+40>>2]))return tu(),void vu(A);(0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i),tu(),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+16|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=4656,ar[(r=A+16|0)>>2]=4684,(0|tr[(i=A+92|0)+11>>0])<0&&vu(0|ar[i>>2]),ar[r>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(;n=f+-8|0,ar[t>>2]=n,(0|(f=(f=0|ar[f+-4>>2])?(du(f),0|ar[t>>2]):n))!=(0|i););i=0|ar[e>>2]}vu(i)}ar[r>>2]=4264,(i=0|ar[A+40>>2])&&((0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i)),tu()},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=4656,ar[(r=A+16|0)>>2]=4684,(0|tr[(i=A+92|0)+11>>0])<0&&vu(0|ar[i>>2]),ar[r>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(;n=f+-8|0,ar[t>>2]=n,(0|(f=(f=0|ar[f+-4>>2])?(du(f),0|ar[t>>2]):n))!=(0|i););i=0|ar[e>>2]}vu(i)}if(ar[r>>2]=4264,!(i=0|ar[A+40>>2]))return tu(),void vu(A);(0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i),tu(),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+16|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){var e,r=0,i=0,f=0,n=0;if(ar[(A|=0)>>2]=4684,(0|tr[(r=A+76|0)+11>>0])<0&&vu(0|ar[r>>2]),ar[A>>2]=4404,0|(r=0|ar[(e=A+44|0)>>2])){if((0|(i=0|ar[(n=A+48|0)>>2]))!=(0|r)){for(;f=i+-8|0,ar[n>>2]=f,(0|(i=(i=0|ar[i+-4>>2])?(du(i),0|ar[n>>2]):f))!=(0|r););r=0|ar[e>>2]}vu(r)}ar[A>>2]=4264,(i=0|ar[A+24>>2])&&((0|ar[(r=A+28|0)>>2])!=(0|i)&&(ar[r>>2]=i),vu(i))},function(A){var e,r=0,i=0,f=0,n=0;if(ar[(A|=0)>>2]=4684,(0|tr[(r=A+76|0)+11>>0])<0&&vu(0|ar[r>>2]),ar[A>>2]=4404,0|(r=0|ar[(e=A+44|0)>>2])){if((0|(i=0|ar[(n=A+48|0)>>2]))!=(0|r)){for(;f=i+-8|0,ar[n>>2]=f,(0|(i=(i=0|ar[i+-4>>2])?(du(i),0|ar[n>>2]):f))!=(0|r););r=0|ar[e>>2]}vu(r)}ar[A>>2]=4264,(r=0|ar[A+24>>2])&&((0|ar[(i=A+28|0)>>2])!=(0|r)&&(ar[i>>2]=r),vu(r)),vu(A)},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=4716,ar[(r=A+16|0)>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(n=f;f=n+-8|0,ar[t>>2]=f,(n=0|ar[n+-4>>2])&&(du(n),f=0|ar[t>>2]),(0|f)!=(0|i);)n=f;i=0|ar[e>>2]}vu(i)}ar[r>>2]=4264,(i=0|ar[A+40>>2])&&((0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i)),tu()},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=4716,ar[(r=A+16|0)>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(n=f;f=n+-8|0,ar[t>>2]=f,(n=0|ar[n+-4>>2])&&(du(n),f=0|ar[t>>2]),(0|f)!=(0|i);)n=f;i=0|ar[e>>2]}vu(i)}if(ar[r>>2]=4264,!(i=0|ar[A+40>>2]))return tu(),void vu(A);(0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i),tu(),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+16|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){var e,r=0,i=0,f=0,n=0;if(ar[(A|=0)>>2]=4404,0|(r=0|ar[(e=A+44|0)>>2])){if((0|(i=0|ar[(n=A+48|0)>>2]))!=(0|r)){for(f=i;i=f+-8|0,ar[n>>2]=i,(f=0|ar[f+-4>>2])&&(du(f),i=0|ar[n>>2]),(0|i)!=(0|r);)f=i;r=0|ar[e>>2]}vu(r)}ar[A>>2]=4264,(r=0|ar[A+24>>2])&&((0|ar[(i=A+28|0)>>2])!=(0|r)&&(ar[i>>2]=r),vu(r)),vu(A)},function(A){tr[(A|=0)+37>>0]=65535<(0|ar[A+56>>2])>>>0&1},function(A){ar[(A|=0)>>2]=4776,Yt(A+16|0),tu()},function(A){ar[(A|=0)>>2]=4776,Yt(A+16|0),tu(),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+16|0)>>2]>>2]](A)},function(A){vu(A|=0)},Yt,function(A){Yt(A|=0),vu(A)},function(A){var e,r,i=0,f=0,n=0,t=0,o=0;if(i=0|cr[(A|=0)+72>>0],i=!(65535<(n=0|ar[A+60>>2])-(f=0|ar[A+56>>2])>>5>>>0)||2<i>>>0?i:2,r=A+74|0,t=A+75|0,o=A+76|0,tr[(e=A+73|0)>>0]=0,tr[1+e>>0]=0,tr[2+e>>0]=0,((tr[3+e>>0]=0)|f)==(0|n))return n=i,tr[e>>0]=4,tr[r>>0]=4,tr[t>>0]=4,tr[o>>0]=0,t=255&n,void(tr[(o=A+37|0)>>0]=t);for(;i=!(65535<(0|ar[f>>2])>>>0)||2<(0|i)?i:2,i=0==(0|tr[f+4>>0])|1<(0|i)?i:1,(0|(f=f+32|0))!=(0|n););tr[e>>0]=4,tr[r>>0]=4,tr[t>>0]=4,tr[o>>0]=0,t=255&i,tr[(o=A+37|0)>>0]=t},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=4836,ar[(r=A+16|0)>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(n=f;f=n+-8|0,ar[t>>2]=f,(n=0|ar[n+-4>>2])&&(du(n),f=0|ar[t>>2]),(0|f)!=(0|i);)n=f;i=0|ar[e>>2]}vu(i)}ar[r>>2]=4264,(i=0|ar[A+40>>2])&&((0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i)),tu()},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=4836,ar[(r=A+16|0)>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(n=f;f=n+-8|0,ar[t>>2]=f,(n=0|ar[n+-4>>2])&&(du(n),f=0|ar[t>>2]),(0|f)!=(0|i);)n=f;i=0|ar[e>>2]}vu(i)}if(ar[r>>2]=4264,!(i=0|ar[A+40>>2]))return tu(),void vu(A);(0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i),tu(),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+16|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){var e,r=0,i=0,f=0,n=0;if(ar[(A|=0)>>2]=4404,0|(r=0|ar[(e=A+44|0)>>2])){if((0|(i=0|ar[(n=A+48|0)>>2]))!=(0|r)){for(f=i;i=f+-8|0,ar[n>>2]=i,(f=0|ar[f+-4>>2])&&(du(f),i=0|ar[n>>2]),(0|i)!=(0|r);)f=i;r=0|ar[e>>2]}vu(r)}ar[A>>2]=4264,(r=0|ar[A+24>>2])&&((0|ar[(i=A+28|0)>>2])!=(0|r)&&(ar[i>>2]=r),vu(r)),vu(A)},function(A){tr[(A|=0)+37>>0]=65535<(0|ar[A+48>>2])-(0|ar[A+44>>2])>>3>>>0&1},function(A){ar[(A|=0)>>2]=4896,_t(A+16|0),tu()},function(A){ar[(A|=0)>>2]=4896,_t(A+16|0),tu(),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+16|0)>>2]>>2]](A)},function(A){vu(A|=0)},_t,function(A){_t(A|=0),vu(A)},function(A){var e,r=0,i=0,f=0;if(r=(e=65535<(0|ar[(A|=0)+56>>2])>>>0)?3:0==(0|tr[A+124>>0])?0:2,0==(0|((f=0|tr[(i=A+64|0)+11>>0])<<24>>24<0?0|ar[A+68>>2]:255&f))&&(f=0==(0|Yu(i,0,-1,79659,0))))return i=r,i&=255,void(tr[(f=A+37|0)>>0]=i);i=r=e?3:2,i&=255,tr[(f=A+37|0)>>0]=i},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=4956,ar[(r=A+16|0)>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(n=f;f=n+-8|0,ar[t>>2]=f,(n=0|ar[n+-4>>2])&&(du(n),f=0|ar[t>>2]),(0|f)!=(0|i);)n=f;i=0|ar[e>>2]}vu(i)}ar[r>>2]=4264,(i=0|ar[A+40>>2])&&((0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i)),tu()},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=4956,ar[(r=A+16|0)>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(n=f;f=n+-8|0,ar[t>>2]=f,(n=0|ar[n+-4>>2])&&(du(n),f=0|ar[t>>2]),(0|f)!=(0|i);)n=f;i=0|ar[e>>2]}vu(i)}if(ar[r>>2]=4264,!(i=0|ar[A+40>>2]))return tu(),void vu(A);(0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i),tu(),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+16|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){var e,r=0,i=0,f=0,n=0;if(ar[(A|=0)>>2]=4404,0|(r=0|ar[(e=A+44|0)>>2])){if((0|(i=0|ar[(n=A+48|0)>>2]))!=(0|r)){for(f=i;i=f+-8|0,ar[n>>2]=i,(f=0|ar[f+-4>>2])&&(du(f),i=0|ar[n>>2]),(0|i)!=(0|r);)f=i;r=0|ar[e>>2]}vu(r)}ar[A>>2]=4264,(r=0|ar[A+24>>2])&&((0|ar[(i=A+28|0)>>2])!=(0|r)&&(ar[i>>2]=r),vu(r)),vu(A)},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=5016,ar[(r=A+16|0)>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(n=f;f=n+-8|0,ar[t>>2]=f,(n=0|ar[n+-4>>2])&&(du(n),f=0|ar[t>>2]),(0|f)!=(0|i);)n=f;i=0|ar[e>>2]}vu(i)}ar[r>>2]=4264,(i=0|ar[A+40>>2])&&((0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i)),tu()},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=5016,ar[(r=A+16|0)>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(n=f;f=n+-8|0,ar[t>>2]=f,(n=0|ar[n+-4>>2])&&(du(n),f=0|ar[t>>2]),(0|f)!=(0|i);)n=f;i=0|ar[e>>2]}vu(i)}if(ar[r>>2]=4264,!(i=0|ar[A+40>>2]))return tu(),void vu(A);(0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i),tu(),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+16|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){var e,r=0,i=0,f=0,n=0;if(ar[(A|=0)>>2]=4404,0|(r=0|ar[(e=A+44|0)>>2])){if((0|(i=0|ar[(n=A+48|0)>>2]))!=(0|r)){for(f=i;i=f+-8|0,ar[n>>2]=i,(f=0|ar[f+-4>>2])&&(du(f),i=0|ar[n>>2]),(0|i)!=(0|r);)f=i;r=0|ar[e>>2]}vu(r)}ar[A>>2]=4264,(r=0|ar[A+24>>2])&&((0|ar[(i=A+28|0)>>2])!=(0|r)&&(ar[i>>2]=r),vu(r)),vu(A)},function(A){ar[(A|=0)>>2]=5076,Ft(A+16|0),tu()},function(A){ar[(A|=0)>>2]=5076,Ft(A+16|0),tu(),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+16|0)>>2]>>2]](A)},function(A){vu(A|=0)},Ft,function(A){Ft(A|=0),vu(A)},function(A){var e=0,r=0,i=0,f=0,n=0,t=0;if((0|(r=0|ar[(A|=0)+56>>2]))==(0|(t=0|ar[A+60>>2])))return tr[(t=A+37|(n=f=0))>>0]=f,n&=1,void(ar[(t=A+40|0)>>2]=n);n=e=0;do{if(n=65535<(0|ar[r>>2])>>>0?1:n,(0|(i=0|ar[r+4>>2]))!=(0|(f=0|ar[r+8>>2])))for(;e|=127<(0|lr[i+2>>1]),(0|(i=i+4|0))!=(0|f););r=r+16|0}while((0|r)!=(0|t));f=255&n,n=e,tr[(t=A+37|0)>>0]=f,n&=1,ar[(t=A+40|0)>>2]=n},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=5136,ar[(r=A+16|0)>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(n=f;f=n+-8|0,ar[t>>2]=f,(n=0|ar[n+-4>>2])&&(du(n),f=0|ar[t>>2]),(0|f)!=(0|i);)n=f;i=0|ar[e>>2]}vu(i)}ar[r>>2]=4264,(i=0|ar[A+40>>2])&&((0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i)),tu()},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=5136,ar[(r=A+16|0)>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(n=f;f=n+-8|0,ar[t>>2]=f,(n=0|ar[n+-4>>2])&&(du(n),f=0|ar[t>>2]),(0|f)!=(0|i);)n=f;i=0|ar[e>>2]}vu(i)}if(ar[r>>2]=4264,!(i=0|ar[A+40>>2]))return tu(),void vu(A);(0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i),tu(),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+16|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){var e,r=0,i=0,f=0,n=0;if(ar[(A|=0)>>2]=4404,0|(r=0|ar[(e=A+44|0)>>2])){if((0|(i=0|ar[(n=A+48|0)>>2]))!=(0|r)){for(f=i;i=f+-8|0,ar[n>>2]=i,(f=0|ar[f+-4>>2])&&(du(f),i=0|ar[n>>2]),(0|i)!=(0|r);)f=i;r=0|ar[e>>2]}vu(r)}ar[A>>2]=4264,(r=0|ar[A+24>>2])&&((0|ar[(i=A+28|0)>>2])!=(0|r)&&(ar[i>>2]=r),vu(r)),vu(A)},Vt,function(A){Vt(A|=0),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+16|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){var e,r=0,i=0,f=0,n=0;if(ar[(A|=0)>>2]=5224,0|(r=0|ar[A+68>>2])&&((0|ar[(i=A+72|0)>>2])!=(0|r)&&(ar[i>>2]=r),vu(r)),(0|tr[(r=A+56|0)+11>>0])<0&&vu(0|ar[r>>2]),ar[A>>2]=4404,0|(r=0|ar[(e=A+44|0)>>2])){if((0|(i=0|ar[(n=A+48|0)>>2]))!=(0|r)){for(;f=i+-8|0,ar[n>>2]=f,(0|(i=(i=0|ar[i+-4>>2])?(du(i),0|ar[n>>2]):f))!=(0|r););r=0|ar[e>>2]}vu(r)}ar[A>>2]=4264,(i=0|ar[A+24>>2])&&((0|ar[(r=A+28|0)>>2])!=(0|i)&&(ar[r>>2]=i),vu(i))},function(A){var e,r=0,i=0,f=0,n=0;if(ar[(A|=0)>>2]=5224,0|(r=0|ar[A+68>>2])&&((0|ar[(i=A+72|0)>>2])!=(0|r)&&(ar[i>>2]=r),vu(r)),(0|tr[(r=A+56|0)+11>>0])<0&&vu(0|ar[r>>2]),ar[A>>2]=4404,0|(r=0|ar[(e=A+44|0)>>2])){if((0|(i=0|ar[(n=A+48|0)>>2]))!=(0|r)){for(;f=i+-8|0,ar[n>>2]=f,(0|(i=(i=0|ar[i+-4>>2])?(du(i),0|ar[n>>2]):f))!=(0|r););r=0|ar[e>>2]}vu(r)}ar[A>>2]=4264,(r=0|ar[A+24>>2])&&((0|ar[(i=A+28|0)>>2])!=(0|r)&&(ar[i>>2]=r),vu(r)),vu(A)},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=5256,ar[(r=A+16|0)>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(n=f;f=n+-8|0,ar[t>>2]=f,(n=0|ar[n+-4>>2])&&(du(n),f=0|ar[t>>2]),(0|f)!=(0|i);)n=f;i=0|ar[e>>2]}vu(i)}ar[r>>2]=4264,(i=0|ar[A+40>>2])&&((0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i)),tu()},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=5256,ar[(r=A+16|0)>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(n=f;f=n+-8|0,ar[t>>2]=f,(n=0|ar[n+-4>>2])&&(du(n),f=0|ar[t>>2]),(0|f)!=(0|i);)n=f;i=0|ar[e>>2]}vu(i)}if(ar[r>>2]=4264,!(i=0|ar[A+40>>2]))return tu(),void vu(A);(0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i),tu(),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+16|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){var e,r=0,i=0,f=0,n=0;if(ar[(A|=0)>>2]=4404,0|(r=0|ar[(e=A+44|0)>>2])){if((0|(i=0|ar[(n=A+48|0)>>2]))!=(0|r)){for(f=i;i=f+-8|0,ar[n>>2]=i,(f=0|ar[f+-4>>2])&&(du(f),i=0|ar[n>>2]),(0|i)!=(0|r);)f=i;r=0|ar[e>>2]}vu(r)}ar[A>>2]=4264,(r=0|ar[A+24>>2])&&((0|ar[(i=A+28|0)>>2])!=(0|r)&&(ar[i>>2]=r),vu(r)),vu(A)},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=5316,ar[(r=A+16|0)>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(n=f;f=n+-8|0,ar[t>>2]=f,(n=0|ar[n+-4>>2])&&(du(n),f=0|ar[t>>2]),(0|f)!=(0|i);)n=f;i=0|ar[e>>2]}vu(i)}ar[r>>2]=4264,(i=0|ar[A+40>>2])&&((0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i)),tu()},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=5316,ar[(r=A+16|0)>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(n=f;f=n+-8|0,ar[t>>2]=f,(n=0|ar[n+-4>>2])&&(du(n),f=0|ar[t>>2]),(0|f)!=(0|i);)n=f;i=0|ar[e>>2]}vu(i)}if(ar[r>>2]=4264,!(i=0|ar[A+40>>2]))return tu(),void vu(A);(0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i),tu(),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+16|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){var e,r=0,i=0,f=0,n=0;if(ar[(A|=0)>>2]=4404,0|(r=0|ar[(e=A+44|0)>>2])){if((0|(i=0|ar[(n=A+48|0)>>2]))!=(0|r)){for(f=i;i=f+-8|0,ar[n>>2]=i,(f=0|ar[f+-4>>2])&&(du(f),i=0|ar[n>>2]),(0|i)!=(0|r);)f=i;r=0|ar[e>>2]}vu(r)}ar[A>>2]=4264,(r=0|ar[A+24>>2])&&((0|ar[(i=A+28|0)>>2])!=(0|r)&&(ar[i>>2]=r),vu(r)),vu(A)},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=5376,ar[(r=A+16|0)>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(n=f;f=n+-8|0,ar[t>>2]=f,(n=0|ar[n+-4>>2])&&(du(n),f=0|ar[t>>2]),(0|f)!=(0|i);)n=f;i=0|ar[e>>2]}vu(i)}ar[r>>2]=4264,(i=0|ar[A+40>>2])&&((0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i)),tu()},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=5376,ar[(r=A+16|0)>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(n=f;f=n+-8|0,ar[t>>2]=f,(n=0|ar[n+-4>>2])&&(du(n),f=0|ar[t>>2]),(0|f)!=(0|i);)n=f;i=0|ar[e>>2]}vu(i)}if(ar[r>>2]=4264,!(i=0|ar[A+40>>2]))return tu(),void vu(A);(0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i),tu(),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+16|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){var e,r=0,i=0,f=0,n=0;if(ar[(A|=0)>>2]=4404,0|(r=0|ar[(e=A+44|0)>>2])){if((0|(i=0|ar[(n=A+48|0)>>2]))!=(0|r)){for(f=i;i=f+-8|0,ar[n>>2]=i,(f=0|ar[f+-4>>2])&&(du(f),i=0|ar[n>>2]),(0|i)!=(0|r);)f=i;r=0|ar[e>>2]}vu(r)}ar[A>>2]=4264,(r=0|ar[A+24>>2])&&((0|ar[(i=A+28|0)>>2])!=(0|r)&&(ar[i>>2]=r),vu(r)),vu(A)},function(A){ar[(A|=0)>>2]=5436,be(A+16|0),tu()},function(A){ar[(A|=0)>>2]=5436,be(A+16|0),tu(),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+16|0)>>2]>>2]](A)},function(A){vu(A|=0)},be,function(A){be(A|=0),vu(A)},function(A){var e=0,r=0,i=0,f=0,n=0,t=0;if((0|(r=0|ar[(A|=0)+56>>2]))!=(0|(n=0|ar[A+60>>2]))){for(e=0;;){if(65535<(0|ar[r+48>>2])>>>0){e=1,r=6;break}if((0|(i=0|ar[r+52>>2]))!=(0|(f=0|ar[r+56>>2])))for(;e=(t=65535<(0|ar[i>>2])>>>0)?1:e,!(t|(0|(i=i+4|0))==(0|f)););if((0|(r=r+64|0))==(0|n)){r=6;break}}6!=(0|r)||(tr[(t=A+37|0)>>0]=e)}else tr[(A=A+37|(n=0))>>0]=n},function(A){ar[(A|=0)>>2]=5496,ce(A+16|0),tu()},function(A){ar[(A|=0)>>2]=5496,ce(A+16|0),tu(),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+16|0)>>2]>>2]](A)},function(A){vu(A|=0)},ce,function(A){ce(A|=0),vu(A)},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=5556,ar[(r=A+16|0)>>2]=5584,0|(i=0|ar[A+84>>2])&&((0|ar[(f=A+88|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i)),ar[r>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(;n=f+-8|0,ar[t>>2]=n,(0|(f=(f=0|ar[f+-4>>2])?(du(f),0|ar[t>>2]):n))!=(0|i););i=0|ar[e>>2]}vu(i)}ar[r>>2]=4264,(i=0|ar[A+40>>2])&&((0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i)),tu()},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=5556,ar[(r=A+16|0)>>2]=5584,0|(i=0|ar[A+84>>2])&&((0|ar[(f=A+88|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i)),ar[r>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(;n=f+-8|0,ar[t>>2]=n,(0|(f=(f=0|ar[f+-4>>2])?(du(f),0|ar[t>>2]):n))!=(0|i););i=0|ar[e>>2]}vu(i)}if(ar[r>>2]=4264,!(i=0|ar[A+40>>2]))return tu(),void vu(A);(0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i),tu(),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+16|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){var e,r=0,i=0,f=0,n=0;if(ar[(A|=0)>>2]=5584,0|(r=0|ar[A+68>>2])&&((0|ar[(i=A+72|0)>>2])!=(0|r)&&(ar[i>>2]=r),vu(r)),ar[A>>2]=4404,0|(r=0|ar[(e=A+44|0)>>2])){if((0|(i=0|ar[(n=A+48|0)>>2]))!=(0|r)){for(;f=i+-8|0,ar[n>>2]=f,(0|(i=(i=0|ar[i+-4>>2])?(du(i),0|ar[n>>2]):f))!=(0|r););r=0|ar[e>>2]}vu(r)}ar[A>>2]=4264,(i=0|ar[A+24>>2])&&((0|ar[(r=A+28|0)>>2])!=(0|i)&&(ar[r>>2]=i),vu(i))},function(A){var e,r=0,i=0,f=0,n=0;if(ar[(A|=0)>>2]=5584,0|(r=0|ar[A+68>>2])&&((0|ar[(i=A+72|0)>>2])!=(0|r)&&(ar[i>>2]=r),vu(r)),ar[A>>2]=4404,0|(r=0|ar[(e=A+44|0)>>2])){if((0|(i=0|ar[(n=A+48|0)>>2]))!=(0|r)){for(;f=i+-8|0,ar[n>>2]=f,(0|(i=(i=0|ar[i+-4>>2])?(du(i),0|ar[n>>2]):f))!=(0|r););r=0|ar[e>>2]}vu(r)}ar[A>>2]=4264,(r=0|ar[A+24>>2])&&((0|ar[(i=A+28|0)>>2])!=(0|r)&&(ar[i>>2]=r),vu(r)),vu(A)},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=5616,ar[(r=A+16|0)>>2]=5644,0|(i=0|ar[A+88>>2])&&((0|ar[(f=A+92|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i)),ar[r>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(;n=f+-8|0,ar[t>>2]=n,(0|(f=(f=0|ar[f+-4>>2])?(du(f),0|ar[t>>2]):n))!=(0|i););i=0|ar[e>>2]}vu(i)}ar[r>>2]=4264,(i=0|ar[A+40>>2])&&((0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i)),tu()},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=5616,ar[(r=A+16|0)>>2]=5644,0|(i=0|ar[A+88>>2])&&((0|ar[(f=A+92|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i)),ar[r>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(;n=f+-8|0,ar[t>>2]=n,(0|(f=(f=0|ar[f+-4>>2])?(du(f),0|ar[t>>2]):n))!=(0|i););i=0|ar[e>>2]}vu(i)}if(ar[r>>2]=4264,!(i=0|ar[A+40>>2]))return tu(),void vu(A);(0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i),tu(),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+16|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){var e,r=0,i=0,f=0,n=0;if(ar[(A|=0)>>2]=5644,0|(r=0|ar[A+72>>2])&&((0|ar[(i=A+76|0)>>2])!=(0|r)&&(ar[i>>2]=r),vu(r)),ar[A>>2]=4404,0|(r=0|ar[(e=A+44|0)>>2])){if((0|(i=0|ar[(n=A+48|0)>>2]))!=(0|r)){for(;f=i+-8|0,ar[n>>2]=f,(0|(i=(i=0|ar[i+-4>>2])?(du(i),0|ar[n>>2]):f))!=(0|r););r=0|ar[e>>2]}vu(r)}ar[A>>2]=4264,(i=0|ar[A+24>>2])&&((0|ar[(r=A+28|0)>>2])!=(0|i)&&(ar[r>>2]=i),vu(i))},function(A){var e,r=0,i=0,f=0,n=0;if(ar[(A|=0)>>2]=5644,0|(r=0|ar[A+72>>2])&&((0|ar[(i=A+76|0)>>2])!=(0|r)&&(ar[i>>2]=r),vu(r)),ar[A>>2]=4404,0|(r=0|ar[(e=A+44|0)>>2])){if((0|(i=0|ar[(n=A+48|0)>>2]))!=(0|r)){for(;f=i+-8|0,ar[n>>2]=f,(0|(i=(i=0|ar[i+-4>>2])?(du(i),0|ar[n>>2]):f))!=(0|r););r=0|ar[e>>2]}vu(r)}ar[A>>2]=4264,(r=0|ar[A+24>>2])&&((0|ar[(i=A+28|0)>>2])!=(0|r)&&(ar[i>>2]=r),vu(r)),vu(A)},function(A){ar[(A|=0)>>2]=5676,te(A+16|0),tu()},function(A){ar[(A|=0)>>2]=5676,te(A+16|0),tu(),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+16|0)>>2]>>2]](A)},function(A){vu(A|=0)},te,function(A){te(A|=0),vu(A)},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=5736,ar[(r=A+16|0)>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(n=f;f=n+-8|0,ar[t>>2]=f,(n=0|ar[n+-4>>2])&&(du(n),f=0|ar[t>>2]),(0|f)!=(0|i);)n=f;i=0|ar[e>>2]}vu(i)}ar[r>>2]=4264,(i=0|ar[A+40>>2])&&((0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i)),tu()},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=5736,ar[(r=A+16|0)>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(n=f;f=n+-8|0,ar[t>>2]=f,(n=0|ar[n+-4>>2])&&(du(n),f=0|ar[t>>2]),(0|f)!=(0|i);)n=f;i=0|ar[e>>2]}vu(i)}if(ar[r>>2]=4264,!(i=0|ar[A+40>>2]))return tu(),void vu(A);(0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i),tu(),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+16|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){var e,r=0,i=0,f=0,n=0;if(ar[(A|=0)>>2]=4404,0|(r=0|ar[(e=A+44|0)>>2])){if((0|(i=0|ar[(n=A+48|0)>>2]))!=(0|r)){for(f=i;i=f+-8|0,ar[n>>2]=i,(f=0|ar[f+-4>>2])&&(du(f),i=0|ar[n>>2]),(0|i)!=(0|r);)f=i;r=0|ar[e>>2]}vu(r)}ar[A>>2]=4264,(r=0|ar[A+24>>2])&&((0|ar[(i=A+28|0)>>2])!=(0|r)&&(ar[i>>2]=r),vu(r)),vu(A)},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=5796,ar[(r=A+16|0)>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(n=f;f=n+-8|0,ar[t>>2]=f,(n=0|ar[n+-4>>2])&&(du(n),f=0|ar[t>>2]),(0|f)!=(0|i);)n=f;i=0|ar[e>>2]}vu(i)}ar[r>>2]=4264,(i=0|ar[A+40>>2])&&((0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i)),tu()},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=5796,ar[(r=A+16|0)>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(n=f;f=n+-8|0,ar[t>>2]=f,(n=0|ar[n+-4>>2])&&(du(n),f=0|ar[t>>2]),(0|f)!=(0|i);)n=f;i=0|ar[e>>2]}vu(i)}if(ar[r>>2]=4264,!(i=0|ar[A+40>>2]))return tu(),void vu(A);(0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i),tu(),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+16|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){var e,r=0,i=0,f=0,n=0;if(ar[(A|=0)>>2]=4404,0|(r=0|ar[(e=A+44|0)>>2])){if((0|(i=0|ar[(n=A+48|0)>>2]))!=(0|r)){for(f=i;i=f+-8|0,ar[n>>2]=i,(f=0|ar[f+-4>>2])&&(du(f),i=0|ar[n>>2]),(0|i)!=(0|r);)f=i;r=0|ar[e>>2]}vu(r)}ar[A>>2]=4264,(r=0|ar[A+24>>2])&&((0|ar[(i=A+28|0)>>2])!=(0|r)&&(ar[i>>2]=r),vu(r)),vu(A)},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=5856,ar[(r=A+16|0)>>2]=5884,(0|tr[(i=A+72|0)+11>>0])<0&&vu(0|ar[i>>2]),ar[r>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(;n=f+-8|0,ar[t>>2]=n,(0|(f=(f=0|ar[f+-4>>2])?(du(f),0|ar[t>>2]):n))!=(0|i););i=0|ar[e>>2]}vu(i)}ar[r>>2]=4264,(i=0|ar[A+40>>2])&&((0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i)),tu()},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=5856,ar[(r=A+16|0)>>2]=5884,(0|tr[(i=A+72|0)+11>>0])<0&&vu(0|ar[i>>2]),ar[r>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(;n=f+-8|0,ar[t>>2]=n,(0|(f=(f=0|ar[f+-4>>2])?(du(f),0|ar[t>>2]):n))!=(0|i););i=0|ar[e>>2]}vu(i)}if(ar[r>>2]=4264,!(i=0|ar[A+40>>2]))return tu(),void vu(A);(0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i),tu(),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+16|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){var e,r=0,i=0,f=0,n=0;if(ar[(A|=0)>>2]=5884,(0|tr[(r=A+56|0)+11>>0])<0&&vu(0|ar[r>>2]),ar[A>>2]=4404,0|(r=0|ar[(e=A+44|0)>>2])){if((0|(i=0|ar[(n=A+48|0)>>2]))!=(0|r)){for(;f=i+-8|0,ar[n>>2]=f,(0|(i=(i=0|ar[i+-4>>2])?(du(i),0|ar[n>>2]):f))!=(0|r););r=0|ar[e>>2]}vu(r)}ar[A>>2]=4264,(i=0|ar[A+24>>2])&&((0|ar[(r=A+28|0)>>2])!=(0|i)&&(ar[r>>2]=i),vu(i))},function(A){var e,r=0,i=0,f=0,n=0;if(ar[(A|=0)>>2]=5884,(0|tr[(r=A+56|0)+11>>0])<0&&vu(0|ar[r>>2]),ar[A>>2]=4404,0|(r=0|ar[(e=A+44|0)>>2])){if((0|(i=0|ar[(n=A+48|0)>>2]))!=(0|r)){for(;f=i+-8|0,ar[n>>2]=f,(0|(i=(i=0|ar[i+-4>>2])?(du(i),0|ar[n>>2]):f))!=(0|r););r=0|ar[e>>2]}vu(r)}ar[A>>2]=4264,(r=0|ar[A+24>>2])&&((0|ar[(i=A+28|0)>>2])!=(0|r)&&(ar[i>>2]=r),vu(r)),vu(A)},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=5916,ar[(r=A+16|0)>>2]=5944,0|(i=0|ar[A+76>>2])&&du(i),ar[r>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(n=f;f=n+-8|0,ar[t>>2]=f,(n=0|ar[n+-4>>2])&&(du(n),f=0|ar[t>>2]),(0|f)!=(0|i);)n=f;i=0|ar[e>>2]}vu(i)}ar[r>>2]=4264,(i=0|ar[A+40>>2])&&((0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i)),tu()},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=5916,ar[(r=A+16|0)>>2]=5944,0|(i=0|ar[A+76>>2])&&du(i),ar[r>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(n=f;f=n+-8|0,ar[t>>2]=f,(n=0|ar[n+-4>>2])&&(du(n),f=0|ar[t>>2]),(0|f)!=(0|i);)n=f;i=0|ar[e>>2]}vu(i)}if(ar[r>>2]=4264,!(i=0|ar[A+40>>2]))return tu(),void vu(A);(0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i),tu(),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+16|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){var e,r=0,i=0,f=0,n=0;if(ar[(A|=0)>>2]=5944,0|(r=0|ar[A+60>>2])&&du(r),ar[A>>2]=4404,0|(r=0|ar[(e=A+44|0)>>2])){if((0|(i=0|ar[(n=A+48|0)>>2]))!=(0|r)){for(f=i;i=f+-8|0,ar[n>>2]=i,(f=0|ar[f+-4>>2])&&(du(f),i=0|ar[n>>2]),(0|i)!=(0|r);)f=i;r=0|ar[e>>2]}vu(r)}ar[A>>2]=4264,(i=0|ar[A+24>>2])&&((0|ar[(r=A+28|0)>>2])!=(0|i)&&(ar[r>>2]=i),vu(i))},function(A){var e,r=0,i=0,f=0,n=0;if(ar[(A|=0)>>2]=5944,0|(r=0|ar[A+60>>2])&&du(r),ar[A>>2]=4404,0|(r=0|ar[(e=A+44|0)>>2])){if((0|(i=0|ar[(n=A+48|0)>>2]))!=(0|r)){for(f=i;i=f+-8|0,ar[n>>2]=i,(f=0|ar[f+-4>>2])&&(du(f),i=0|ar[n>>2]),(0|i)!=(0|r);)f=i;r=0|ar[e>>2]}vu(r)}ar[A>>2]=4264,(r=0|ar[A+24>>2])&&((0|ar[(i=A+28|0)>>2])!=(0|r)&&(ar[i>>2]=r),vu(r)),vu(A)},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=5976,ar[(r=A+16|0)>>2]=6004,0|(i=0|ar[A+72>>2])&&((0|ar[(f=A+76|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i)),ar[r>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(;n=f+-8|0,ar[t>>2]=n,(0|(f=(f=0|ar[f+-4>>2])?(du(f),0|ar[t>>2]):n))!=(0|i););i=0|ar[e>>2]}vu(i)}ar[r>>2]=4264,(i=0|ar[A+40>>2])&&((0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i)),tu()},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=5976,ar[(r=A+16|0)>>2]=6004,0|(i=0|ar[A+72>>2])&&((0|ar[(f=A+76|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i)),ar[r>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(;n=f+-8|0,ar[t>>2]=n,(0|(f=(f=0|ar[f+-4>>2])?(du(f),0|ar[t>>2]):n))!=(0|i););i=0|ar[e>>2]}vu(i)}if(ar[r>>2]=4264,!(i=0|ar[A+40>>2]))return tu(),void vu(A);(0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i),tu(),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+16|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){var e,r=0,i=0,f=0,n=0;if(ar[(A|=0)>>2]=6004,0|(r=0|ar[A+56>>2])&&((0|ar[(i=A+60|0)>>2])!=(0|r)&&(ar[i>>2]=r),vu(r)),ar[A>>2]=4404,0|(r=0|ar[(e=A+44|0)>>2])){if((0|(i=0|ar[(n=A+48|0)>>2]))!=(0|r)){for(;f=i+-8|0,ar[n>>2]=f,(0|(i=(i=0|ar[i+-4>>2])?(du(i),0|ar[n>>2]):f))!=(0|r););r=0|ar[e>>2]}vu(r)}ar[A>>2]=4264,(i=0|ar[A+24>>2])&&((0|ar[(r=A+28|0)>>2])!=(0|i)&&(ar[r>>2]=i),vu(i))},function(A){var e,r=0,i=0,f=0,n=0;if(ar[(A|=0)>>2]=6004,0|(r=0|ar[A+56>>2])&&((0|ar[(i=A+60|0)>>2])!=(0|r)&&(ar[i>>2]=r),vu(r)),ar[A>>2]=4404,0|(r=0|ar[(e=A+44|0)>>2])){if((0|(i=0|ar[(n=A+48|0)>>2]))!=(0|r)){for(;f=i+-8|0,ar[n>>2]=f,(0|(i=(i=0|ar[i+-4>>2])?(du(i),0|ar[n>>2]):f))!=(0|r););r=0|ar[e>>2]}vu(r)}ar[A>>2]=4264,(r=0|ar[A+24>>2])&&((0|ar[(i=A+28|0)>>2])!=(0|r)&&(ar[i>>2]=r),vu(r)),vu(A)},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=6036,ar[(r=A+16|0)>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(n=f;f=n+-8|0,ar[t>>2]=f,(n=0|ar[n+-4>>2])&&(du(n),f=0|ar[t>>2]),(0|f)!=(0|i);)n=f;i=0|ar[e>>2]}vu(i)}ar[r>>2]=4264,(i=0|ar[A+40>>2])&&((0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i)),tu()},function(A){var e,r,i=0,f=0,n=0,t=0;if(ar[(A|=0)>>2]=6036,ar[(r=A+16|0)>>2]=4404,0|(i=0|ar[(e=A+60|0)>>2])){if((0|(f=0|ar[(t=A+64|0)>>2]))!=(0|i)){for(n=f;f=n+-8|0,ar[t>>2]=f,(n=0|ar[n+-4>>2])&&(du(n),f=0|ar[t>>2]),(0|f)!=(0|i);)n=f;i=0|ar[e>>2]}vu(i)}if(ar[r>>2]=4264,!(i=0|ar[A+40>>2]))return tu(),void vu(A);(0|ar[(f=A+44|0)>>2])!=(0|i)&&(ar[f>>2]=i),vu(i),tu(),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+16|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){tu(A|=0)},function(A){tu(A|=0),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+12|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){0},function(A){vu(A|=0)},function(A){var e,r;ar[(A|=0)>>2]=6120,ar[A+12>>2]=6148,(e=0|ar[A+20>>2])&&((0|ar[(r=A+24|0)>>2])!=(0|e)&&(ar[r>>2]=e),vu(e)),tu()},function(A){var e,r;if(ar[(A|=0)>>2]=6120,ar[A+12>>2]=6148,!(e=0|ar[A+20>>2]))return tu(),void vu(A);(0|ar[(r=A+24|0)>>2])!=(0|e)&&(ar[r>>2]=e),vu(e),tu(),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+12|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){var e;ar[(A|=0)>>2]=6148,(e=0|ar[A+8>>2])&&((0|ar[(A=A+12|0)>>2])!=(0|e)&&(ar[A>>2]=e),vu(e))},function(A){var e,r;ar[(A|=0)>>2]=6148,(e=0|ar[A+8>>2])&&((0|ar[(r=A+12|0)>>2])!=(0|e)&&(ar[r>>2]=e),vu(e)),vu(A)},function(A){ar[(A|=0)>>2]=6180,XA(A+16|0),tu()},function(A){ar[(A|=0)>>2]=6180,XA(A+16|0),tu(),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+16|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){ar[(A|=0)>>2]=6208,po(A+12|0),tu()},function(A){ar[(A|=0)>>2]=6208,po(A+12|0),tu(),vu(A)},function(A){po((A|=0)+12|0)},function(A){vu(A|=0)},function(A){ar[(A|=0)>>2]=6336,gl(A+12|0),tu()},function(A){ar[(A|=0)>>2]=6336,gl(A+12|0),tu(),vu(A)},function(A){gl((A|=0)+12|0)},function(A){vu(A|=0)},function(A){ar[(A|=0)>>2]=6364,lo(A+12|0),tu()},function(A){ar[(A|=0)>>2]=6364,lo(A+12|0),tu(),vu(A)},function(A){lo((A|=0)+12|0)},function(A){vu(A|=0)},function(A){ar[(A|=0)>>2]=6392,El(A+16|0),tu()},function(A){ar[(A|=0)>>2]=6392,El(A+16|0),tu(),vu(A)},function(A){El((A|=0)+16|0)},function(A){vu(A|=0)},function(A){var e=0,r=0;ar[(A|=0)>>2]=6420,0|(e=0|ar[A+40>>2])&&((0|ar[(r=A+44|0)>>2])!=(0|e)&&(ar[r>>2]=e),vu(e)),(0|tr[(e=A+28|0)+11>>0])<0&&vu(0|ar[e>>2]),0<=(0|tr[(e=A+16|0)+11>>0])||vu(0|ar[e>>2]),tu()},function(A){var e=0,r=0;if(ar[(A|=0)>>2]=6420,0|(e=0|ar[A+40>>2])&&((0|ar[(r=A+44|0)>>2])!=(0|e)&&(ar[r>>2]=e),vu(e)),(0|tr[(e=A+28|0)+11>>0])<0&&vu(0|ar[e>>2]),0<=(0|tr[(e=A+16|0)+11>>0]))return tu(),void vu(A);vu(0|ar[e>>2]),tu(),vu(A)},function(A){var e=0,r=0;0|(e=0|ar[(A|=0)+40>>2])&&((0|ar[(r=A+44|0)>>2])!=(0|e)&&(ar[r>>2]=e),vu(e)),(0|tr[(e=A+28|0)+11>>0])<0&&vu(0|ar[e>>2]),0<=(0|tr[(e=A+16|0)+11>>0])||vu(0|ar[e>>2])},function(A){vu(A|=0)},function(A){tu(A|=0)},function(A){tu(A|=0),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+16|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){0},function(A){vu(A|=0)},function(A){0},function(A){vu(A|=0)},function(A){vu(A|=0)},function(A){vu(A|=0)},function(A){vu(A|=0)},function(A){vu(A|=0)},function(A){vu(A|=0)},function(A){vu(A|=0)},function(A){vu(A|=0)},function(A){vu(A|=0)},function(A){vu(A|=0)},function(A){vu(A|=0)},function(A){vu(A|=0)},function(A){vu(A|=0)},function(A){vu(A|=0)},function(A){vu(A|=0)},function(A){vu(A|=0)},function(A){tu(A|=0)},function(A){tu(A|=0),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+12|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){tu(A|=0)},function(A){tu(A|=0),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+12|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){vu(A|=0)},function(A){tu(A|=0)},function(A){tu(A|=0),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+12|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){vu(A|=0)},function(A){tu(A|=0)},function(A){tu(A|=0),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+12|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){tu(A|=0)},function(A){tu(A|=0),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+12|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){tu(A|=0)},function(A){tu(A|=0),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+12|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){tu(A|=0)},function(A){tu(A|=0),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+12|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){tu(A|=0)},function(A){tu(A|=0),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+12|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){tu(A|=0)},function(A){tu(A|=0),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+12|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){tu(A|=0)},function(A){tu(A|=0),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+12|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){tu(A|=0)},function(A){tu(A|=0),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+12|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){tu(A|=0)},function(A){tu(A|=0),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+12|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){tu(A|=0)},function(A){tu(A|=0),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+12|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){tu(A|=0)},function(A){tu(A|=0),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+12|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){tu(A|=0)},function(A){tu(A|=0),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+12|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){vu(A|=0)},function(A){tu(A|=0)},function(A){tu(A|=0),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+12|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){vu(A|=0)},function(A){tu(A|=0)},function(A){tu(A|=0),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+12|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){tu(A|=0)},function(A){tu(A|=0),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+12|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){tu(A|=0)},function(A){tu(A|=0),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+12|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){tu(A|=0)},function(A){tu(A|=0),vu(A)},function(A){is[511&ar[ar[(A=(A|=0)+12|0)>>2]>>2]](A)},function(A){vu(A|=0)},function(A){(function(A){(function(A){if((0|ar[375892+(A|=0)>>2])<=0)return;!function(A){var e,r,i,f=0;{if(gb(e=420+(A|=0)|0),tr[A>>0]=1,Zb(),mb(r=A+448|0),!(0<(0|ar[(i=A+156|0)>>2])))return ZA(0|e),sA(0|r);f=0}for(;vA(0|ar[A+28+(f<<2)>>2],0),f=f+1|0,(0|f)<(0|ar[i>>2]););ZA(0|e),sA(0|r)}(A+375396|0)})(A|=0),0|A&&is[511&ar[4+(0|ar[A>>2])>>2]](A);if(A=0|ar[14154],ar[14154]=A-1,(0|(A=A+-1|0))<0)return ar[14154]=1+(0|ar[14154]),A=12;if(0|A)return A=0;qa(),A=0})(0|ar[(A|=0)>>2]),A&&vu(A)},Me,function(A){Me(A|=0),vu(A)},function(A){0},function(A){vu(A|=0)},function(A){0},function(A){vu(A|=0)},function(A){var e,r,i,f,n,t,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0;ar[(t=(A|=0)+4|0)>>2]=1,la(0|ar[(n=A+12|0)>>2],A),o=0|ar[n>>2],u=(w=0|ar[o+5820>>2])+-1|0,i=1<<(b=0|ar[o+5804>>2]),l=A+24|0,ba(o,A,u,0|ar[(f=A+8|0)>>2],0|ar[l>>2]),0<(0|(o=0|ar[f>>2]))&&(ba(0|ar[n>>2],A,u,o+-1|0,0|ar[l>>2]),o=0|ar[f>>2]),a=o+1|0,c=0|ar[n>>2],(0|a)<(0|ar[c+5828>>2])&&(ba(c,A,u,a,0|ar[l>>2]),o=0|ar[f>>2]),r=A+16|0,function(A,e,r,i){A|=0,r|=0,i|=0;var f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0;if(c=(0|(c=0|ar[(e|=0)+28>>2]))<(0|i)?c:i,1&r|0&&sr(36765,36663,535,36780),1&c|0&&sr(36796,36663,536,36780),n=(7+(0|ar[A+5760>>2])|0)/8|0,s=(7+(0|ar[A+5768>>2])|0)/8|0,(0|(i=0|ar[(t=e+40|0)>>2]))!=(0|(f=0|ar[(o=A+40|0)>>2]))){if((0|r)<(0|c)&&(l=A+4|0,u=e+4|0,b=e+24|0,a=0|br(n,r),hb(0|(f=(0|ar[l>>2])+(0|br(a,f))|0),0|(a=(0|ar[u>>2])+(0|br(a,i))|0),0|br(0|ar[b>>2],n)),(0|(a=r+1|0))<(0|c)))for(i=a;a=0|br(i,n),hb(0|(f=(0|ar[l>>2])+(0|br(a,0|ar[o>>2]))|0),0|(a=(0|ar[u>>2])+(0|br(a,0|ar[t>>2]))|0),0|br(0|ar[b>>2],n)),(0|(i=i+1|0))<(0|c););}else hb(0|(b=(0|ar[A+4>>2])+(0|br(0|br(n,r),i))|0),(0|ar[e+4>>2])+(0|br(0|br(i,r),n))|0,0|br(0|br(n,c-r|0),i));if(i=(0|r)/(0|(a=0|ar[e+5784>>2]))|0,a=(0|c)/(0|a)|0,0|ar[e+20>>2]){if((0|(f=0|ar[(c=e+44|0)>>2]))==(0|(n=0|ar[(r=A+44|0)>>2])))return u=0|br(i,s),l=0|br(u,f),b=0|br(a-i|0,s),hb((0|ar[A+8>>2])+l|0,(0|ar[e+8>>2])+l|0,0|br(b,f)),s=0|ar[r>>2],u=0|br(u,s),hb((0|ar[A+12>>2])+u|0,(0|ar[e+12>>2])+u|0,0|br(b,s));if(!((0|a)<=(0|i)))for(l=A+8|0,u=e+8|0,b=e+32|0,o=A+12|0,t=e+12|0;e=0|br(i,s),hb(0|(n=(0|ar[l>>2])+(0|br(e,n))|0),0|(A=(0|ar[u>>2])+(0|br(e,f))|0),0|br(0|ar[b>>2],s)),hb(0|(A=(0|ar[o>>2])+(0|br(e,0|ar[r>>2]))|0),0|(e=(0|ar[t>>2])+(0|br(e,0|ar[c>>2]))|0),0|br(0|ar[b>>2],s)),(0|(i=i+1|0))!=(0|a);)n=0|ar[r>>2],f=0|ar[c>>2]}}(0|ar[(e=A+20|0)>>2],0|ar[r>>2],o<<b,o+1<<b),o=0|ar[n>>2];A:do{if(0<(0|ar[o+5820>>2])){h=0;do{if(b=0|ar[f>>2],a=(0|br(0|ar[o+10352>>2],b))+h|0,a=0|lr[(0|ar[o+10340>>2])+(24*a|0)+2>>1],c=0|ar[o+48>>2],a>>>0>=(0|ar[o+52>>2])-c>>2>>>0)break A;if(!(k=0|ar[c+(a<<2)>>2]))break A;do{if(0|tr[k+325>>0]){if(a=0|ar[r>>2],l=0|ar[a+4>>2],a=0|ar[a+40>>2],c=0|ar[e>>2],u=0|ar[c+4>>2],c=0|ar[c+40>>2],8<(0|ar[o+5760>>2])){Ra(o,h,b,k,0,i,i,l,a,u,c);break}Na(o,h,b,k,0,i,i,l,a,u,c);break}}while(0);do{if(0|tr[k+326>>0]){if(c=0|ar[n>>2],s=(0|i)/(0|ar[c+5780>>2])|0,d=(0|i)/(0|ar[c+5784>>2])|0,l=0|ar[f>>2],a=0|ar[r>>2],u=0|ar[a+8>>2],a=0|ar[a+44>>2],o=0|ar[e>>2],b=0|ar[o+8>>2],o=0|ar[o+44>>2],(8<(0|ar[c+5768>>2])?Ra:Na)(c,h,l,k,1,s,d,u,a,b,o),u=0|ar[n>>2],b=0|ar[f>>2],a=0|ar[r>>2],c=0|ar[a+12>>2],a=0|ar[a+44>>2],o=0|ar[e>>2],l=0|ar[o+12>>2],o=0|ar[o+44>>2],8<(0|ar[u+5768>>2])){Ra(u,h,b,k,2,s,d,c,a,l,o);break}Na(u,h,b,k,2,s,d,c,a,l,o);break}}while(0);h=h+1|0,o=0|ar[n>>2]}while((0|h)<(0|ar[o+5820>>2]))}}while(0);if(!(0<(0|w)))return w=o,ar[t>>2]=3,void ua(w,A);for(a=0;Tn((0|ar[o+10524>>2])+(80*((0|br(0|ar[f>>2],0|ar[o+5820>>2]))+a|0)|0)|0,4),a=a+1|0,o=0|ar[n>>2],(0|a)!=(0|w););ar[t>>2]=3,ua(o,A)},function(A){vu(A|=0)},function(A){var e,r,i,f=0,n=0,t=0,o=0;e=0|ar[(A|=0)+20>>2],r=0|ar[(n=18596+e|0)>>2],ar[(i=A+4|0)>>2]=1,la(r,A),n=0|ar[n>>2],t=0|ar[4+e>>2],f=0|ar[n+5836>>2],o=0|ar[n+5820>>2],(0|t)<(0|f)&&(f=0|ar[(0|ar[n+10284>>2])+(t<<2)>>2]),ar[e>>2]=f,ar[8+e>>2]=(0|f)%(0|o)|0,ar[12+e>>2]=(0|f)/(0|o)|0,f=A+8|0;do{if(0|tr[f>>0]){if(!(0|Da(e)))return ar[i>>2]=3,Un(44+(0|ar[18608+e>>2])|0,1),void ua(r,A)}else{if(n=0|ar[18600+e>>2],(t=0|ar[n+796>>2])>>>0<3){ht(18580+e|0,t,0|ar[n+792>>2]),tr[(o=18588+e|0)>>0]=0,tr[o+1>>0]=0,tr[o+2>>0]=0,tr[o+3>>0]=0;break}sr(39211,39242,1508,39251)}}while(0);tt(18556+e|0),Ja(e,0,0!=(0|tr[f>>0])),ar[i>>2]=3,Un(44+(0|ar[18608+e>>2])|0,1),ua(r,A)},function(A){vu(A|=0)},function(A){var e,r,i,f,n,t,o=0,a=0,c=0,l=0,u=0,b=0;if(f=0|ar[(A|=0)+16>>2],n=0|ar[(l=18596+f|0)>>2],r=0|ar[(i=5820+n|0)>>2],ar[(t=A+4|0)>>2]=1,la(n,A),l=0|ar[l>>2],c=0|ar[4+f>>2],a=0|ar[l+5836>>2],u=0|ar[l+5820>>2],(0|c)<(0|a)&&(a=0|ar[(0|ar[l+10284>>2])+(c<<2)>>2]),ar[f>>2]=a,ar[(c=8+f|0)>>2]=(0|a)%(0|u)|0,ar[(l=12+f|0)>>2]=(0|a)/(0|u)|0,e=(0|a)/(0|r)|0,0|tr[(a=A+8|0)>>0]&&!(0|Da(f))){if(0<(0|r))for(c=10524+n|0,a=0|br(e,r),o=0;Tn((0|ar[c>>2])+(80*(o+a|0)|0)|0,1),(0|(o=o+1|0))!=(0|r););return ar[t>>2]=3,Un(44+(0|ar[18608+f>>2])|0,1),void ua(n,A)}tt(18556+f|0),Ja(f,1,a=0|tr[a>>0]?0==(0|tr[12+(0|ar[18600+f>>2])>>0]):0);A:do{if((0|ar[l>>2])==(0|e)&&(b=0|ar[i>>2],o=0|ar[c>>2],(0|o)<(0|b)))for(u=5828+n|0,c=0|br(e,r),l=10524+n|0,a=b;;){if((0|o)<(0|a)&&(0|e)<(0|ar[u>>2])&&Tn((0|ar[l>>2])+(80*(o+c|0)|0)|0,1),(0|(o=o+1|0))==(0|b))break A;a=0|ar[i>>2]}}while(0);ar[t>>2]=3,Un(44+(0|ar[18608+f>>2])|0,1),ua(n,A)},function(A){vu(A|=0)},function(A){var e,r,i,f,n,t,o,a,c=0,l=0,u=0,b=0,s=0,d=0,k=0;ar[(a=(A|=0)+4|0)>>2]=1,la(0|ar[(t=A+8|0)>>2],A),e=0|ar[t>>2],i=0|ar[10472+e>>2],d=(0|ar[5812+e>>2])/4|0,c=0|ar[(n=A+12|0)>>2],r=0|br(c,d),d=0|br(l=c+1|0,d),d=(0|(s=0|ar[10476+e>>2]))<(0|d)?s:d,f=(k=0!=(0|tr[(s=A+16|0)>>0]))?2:3,u=(o=0|ar[5820+e>>2])-1|0,k?ba(e,A,u,(0|(k=(0|ar[5828+e>>2])-1|0))<(0|l)?k:l,1):(0<(0|c)?(ba(e,A,u,c+-1|0,2),l=0|ar[t>>2],c=0|ar[n>>2]):l=e,ba(l,A,u,c,2),c=1+(0|ar[n>>2])|0,l=0|ar[t>>2],(0|c)<(0|ar[l+5828>>2])&&ba(l,A,u,c,2)),c=0|ar[t>>2],l=0|ar[n>>2],0|tr[s>>0]?(k=0|Zt(c,l),c=0|ar[t>>2],u=0|br(0|ar[c+10352>>2],0|ar[n>>2]),tr[(0|ar[c+10340>>2])+(24*u|0)+21>>0]=1&k,k&&(l=0!=(0|tr[s>>0]),b=11)):(k=0|br(0|ar[c+10352>>2],l),0|tr[(0|ar[c+10340>>2])+(24*k|0)+21>>0]&&(l=0,b=11));do{if(11==(0|b)&&(pt(c,l,r,d,0,i),c=0|ar[t>>2],l=0!=(0|tr[s>>0]),(8<(0|ar[c+5760>>2])?yt:Bt)(c,l,r,d,0,i),l=0|ar[t>>2],0|ar[l+5776>>2])){if(c=0!=(0|tr[s>>0]),8<(0|ar[l+5768>>2])){Et(l,c,r,d,0,i);break}Xt(l,c,r,d,0,i);break}}while(0);if(c=0|ar[t>>2],!(0<(0|o)))return k=c,ar[a>>2]=3,void ua(k,A);for(l=0;Tn((0|ar[c+10524>>2])+(80*((0|br(0|ar[n>>2],0|ar[c+5820>>2]))+l|0)|0)|0,f),l=l+1|0,c=0|ar[t>>2],(0|l)!=(0|o););ar[a>>2]=3,ua(c,A)},sf,function(A){sf(A|=0),vu(A)},kf,function(A){kf(A|=0),vu(A)},mf,function(A){mf(A|=0),vu(A)},Xf,Wf,function(A){Xf((A|=0)+(0|ar[(0|ar[A>>2])-12>>2])|0)},function(A){Wf((A|=0)+(0|ar[(0|ar[A>>2])-12>>2])|0)},Vf,Ff,function(A){Vf((A|=0)+(0|ar[(0|ar[A>>2])-12>>2])|0)},function(A){Ff((A|=0)+(0|ar[(0|ar[A>>2])-12>>2])|0)},An,function(A){An(A|=0),vu(A)},en,function(A){en(A|=0),vu(A)},rn,function(A){rn(A|=0),vu(A)},nn,function(A){nn(A|=0),vu(A)},on,function(A){on(A|=0),vu(A)},function(A){0|(A|=0)&&is[511&ar[4+(0|ar[A>>2])>>2]](A)},cn,function(A){cn(),vu(A|=0)},function(A){an()},function(A){an(),vu(A|=0)},function(A){an()},function(A){an(),vu(A|=0)},function(A){an(A|=0)},function(A){an(A|=0),vu(A)},function(A){an(A|=0)},function(A){an(A|=0),vu(A)},function(A){an(A|=0)},function(A){an(A|=0),vu(A)},function(A){an(A|=0)},function(A){an(A|=0),vu(A)},function(A){ni((A|=0)+8|0),an()},function(A){ni((A|=0)+8|0),an(),vu(A)},function(A){ni((A|=0)+8|0),an()},function(A){ni((A|=0)+8|0),an(),vu(A)},function(A){an(A|=0)},function(A){an(A|=0),vu(A)},function(A){an(A|=0)},function(A){an(A|=0),vu(A)},function(A){an(A|=0)},function(A){an(A|=0),vu(A)},function(A){an(A|=0)},function(A){an(A|=0),vu(A)},function(A){an(A|=0)},function(A){an(A|=0),vu(A)},function(A){an(A|=0)},function(A){an(A|=0),vu(A)},function(A){an(A|=0)},function(A){an(A|=0),vu(A)},function(A){an(A|=0)},function(A){an(A|=0),vu(A)},function(A){an()},function(A){an(),vu(A|=0)},function(A){an()},function(A){an(),vu(A|=0)},an,function(A){an(),vu(A|=0)},function(A){an(),vu(A|=0)},Ql,function(A){Ql(A|=0),vu(A)},Dl,function(A){Dl(A|=0),vu(A)},Jl,function(A){Jl(A|=0),vu(A)},Sl,function(A){Sl(A|=0),vu(A)},Ol,function(A){Ol(A|=0),vu(A)},function(A){an(),vu(A|=0)},function(A){an(),vu(A|=0)},function(A){an(),vu(A|=0)},function(A){an(),vu(A|=0)},function(A){an(),vu(A|=0)},ou,function(A){ou(),vu(A|=0)},Hu,function(A){Hu(),vu(A|=0)},function(A){0},function(A){0},function(A){Hu(),vu(A|=0)},$u,function(A){$u(A|=0),vu(A)},function(A){$u(A|=0),vu(A)},function(A){Hu(),vu(A|=0)},function(A){Hu(),vu(A|=0)},function(A){Hu(),vu(A|=0)},function(A){Hu(),vu(A|=0)},function(A){ar[(A|=0)>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0,tr[A+11>>0]=6,tr[A>>0]=0|tr[30018],tr[A+1>>0]=0|tr[30019],tr[A+2>>0]=0|tr[30020],tr[A+3>>0]=0|tr[30021],tr[A+4>>0]=0|tr[30022],tr[A+5>>0]=0|tr[30023],tr[A+6>>0]=0},function(A){var e;(A|=0)&&(0|(e=0|ar[A+4>>2])&&du(e),vu(A))},function(A){var e=0;(A|=0)&&(0|(e=0|ar[A+12>>2])&&du(e),0|(e=0|ar[A+4>>2])&&du(e),vu(A))},function(A){var e;(A|=0)&&(0|(e=0|ar[A+4>>2])&&du(e),vu(A))},function(A){var e=0;(A|=0)&&(0|(e=0|ar[A+12>>2])&&du(e),0|(e=0|ar[A+4>>2])&&du(e),vu(A))},function(A){var e;(A|=0)&&(0|(e=0|ar[A+4>>2])&&du(e),vu(A))},function(A){(A|=0)&&vu(A)},function(A){var e;A|=0,e=0|ar[14811],ar[14811]=1+e,ar[A+4>>2]=1+e},function(A){!function(A){var e,r,i;e=0|ar[4+(A|=0)>>2],i=0|ar[A+8>>2],r=(0|ar[A>>2])+(i>>1)|0,A=1&i?0|ar[(0|ar[r>>2])+e>>2]:e;is[511&A](r)}(0|ar[ar[(A|=0)>>2]>>2])},function(A){0},Bc,function(A){var e,r;r=ur=(e=ur)+31&-32,ur=ur+16|0,Bc(A|=0),0|BA(0|ar[15288],0)?ju(56257,r):ur=e},_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b,_b],fs=[Yb,function(A,e){},function(A,e){var r,i;A|=0,e|=0,r=0|hu(4),ar[r>>2]=0,ar[A>>2]=ar[1904],ar[A+4>>2]=ar[1905],ar[A+8>>2]=ar[1906],A=0|(i=(i=0)|ar[14154],ar[14154]=i+1,!((i+1|0)<=1)||(Ya(),0|Ka())?(function(A){var e=0,r=0,i=0,f=0,n=0,t=0,o=0,a=0;for(ar[84+(A|=0)>>2]=0,ar[A+168>>2]=0,ar[A>>2]=7720,function(A){ar[(A|=0)>>2]=1,ar[A+4>>2]=9,ar[A+8>>2]=1,ar[A+12>>2]=1,ar[A+16>>2]=1,ar[A+20>>2]=2,ar[A+24>>2]=1,ar[A+28>>2]=1,ar[A+32>>2]=2,ar[A+36>>2]=2,ar[A+40>>2]=2,ar[A+44>>2]=2,ar[A+48>>2]=3,ar[A+52>>2]=4,ar[A+56>>2]=5,ar[A+60>>2]=6,ar[A+64>>2]=7,ar[A+68>>2]=8,ar[A+72>>2]=9,ar[A+76>>2]=10,ar[A+80>>2]=11,ar[A+84>>2]=12,ar[A+88>>2]=13,ar[A+92>>2]=14,ar[A+96>>2]=15,ar[A+100>>2]=16,ar[A+104>>2]=17,ar[A+108>>2]=18,ar[A+112>>2]=3,ar[A+116>>2]=4,ar[A+120>>2]=4,ar[A+124>>2]=4,ar[A+128>>2]=2,ar[A+132>>2]=3,ar[A+136>>2]=4,ar[A+140>>2]=5,ar[A+144>>2]=6,ar[A+148>>2]=7,ar[A+152>>2]=8,ar[A+156>>2]=9,ar[A+160>>2]=10,ar[A+164>>2]=11,ar[A+168>>2]=12,ar[A+172>>2]=13,ar[A+176>>2]=14,ar[A+180>>2]=15,ar[A+184>>2]=16,ar[A+188>>2]=17,ar[A+204>>2]=81,ar[A+212>>2]=11,ar[A+208>>2]=12,ar[A+192>>2]=82,ar[A+200>>2]=83,ar[A+196>>2]=84,ar[A+216>>2]=85,ar[A+220>>2]=86,ar[A+224>>2]=87,ar[A+228>>2]=88,ar[A+232>>2]=89,ar[A+236>>2]=13,ar[A+240>>2]=14,ar[A+244>>2]=15,ar[A+248>>2]=16,ar[A+252>>2]=17,ar[A+256>>2]=18,ar[A+260>>2]=47,ar[A+284>>2]=44,ar[A+288>>2]=45,ar[A+296>>2]=46,ar[A+292>>2]=47,ar[A+300>>2]=48,ar[A+264>>2]=19,ar[A+268>>2]=20,ar[A+272>>2]=21,ar[A+276>>2]=22,ar[A+280>>2]=23,ar[A+304>>2]=90,ar[A+308>>2]=91,ar[A+312>>2]=92,ar[A+316>>2]=93,ar[A+320>>2]=94,ar[A+324>>2]=95,ar[A+328>>2]=96,ar[A+332>>2]=97,ar[A+336>>2]=98}(A+172|0),ar[A>>2]=7696,function(A){var e;for(tr[(A|=0)>>0]=0,tr[A+1>>0]=0,e=48+(A=A+4|0)|0;((ar[A>>2]=0)|(A=A+4|0))<(0|e););}(A+548|0),ar[A+1192>>2]=0,ar[A+1196>>2]=0,ar[A+1200>>2]=0,ar[(e=A+1228|0)>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,ar[e+12>>2]=0,ar[e+16>>2]=0,ar[e+20>>2]=0,ar[A+1848>>2]=0,ar[A+1852>>2]=0,ar[A+1856>>2]=0,ar[(e=A+1884|0)>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,ar[e+12>>2]=0,ar[e+16>>2]=0,ar[e+20>>2]=0,ar[A+2504>>2]=0,ar[A+2508>>2]=0,ar[A+2512>>2]=0,ar[(e=A+2540|0)>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,ar[e+12>>2]=0,ar[e+16>>2]=0,ar[e+20>>2]=0,ar[A+3160>>2]=0,ar[A+3164>>2]=0,ar[A+3168>>2]=0,ar[(e=A+3196|0)>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,ar[e+12>>2]=0,ar[e+16>>2]=0,ar[e+20>>2]=0,ar[A+3816>>2]=0,ar[A+3820>>2]=0,ar[A+3824>>2]=0,ar[(e=A+3852|0)>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,ar[e+12>>2]=0,ar[e+16>>2]=0,ar[e+20>>2]=0,ar[A+4472>>2]=0,ar[A+4476>>2]=0,ar[A+4480>>2]=0,ar[(e=A+4508|0)>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,ar[e+12>>2]=0,ar[e+16>>2]=0,ar[e+20>>2]=0,ar[A+5128>>2]=0,ar[A+5132>>2]=0,ar[A+5136>>2]=0,ar[(e=A+5164|0)>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,ar[e+12>>2]=0,ar[e+16>>2]=0,ar[e+20>>2]=0,ar[A+5784>>2]=0,ar[A+5788>>2]=0,ar[A+5792>>2]=0,ar[(e=A+5820|0)>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,ar[e+12>>2]=0,ar[e+16>>2]=0,ar[e+20>>2]=0,ar[A+6440>>2]=0,ar[A+6444>>2]=0,ar[A+6448>>2]=0,ar[(e=A+6476|0)>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,ar[e+12>>2]=0,ar[e+16>>2]=0,ar[e+20>>2]=0,ar[A+7096>>2]=0,ar[A+7100>>2]=0,ar[A+7104>>2]=0,ar[(e=A+7132|0)>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,ar[e+12>>2]=0,ar[e+16>>2]=0,ar[e+20>>2]=0,ar[A+7752>>2]=0,ar[A+7756>>2]=0,ar[A+7760>>2]=0,ar[(e=A+7788|0)>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,ar[e+12>>2]=0,ar[e+16>>2]=0,ar[e+20>>2]=0,ar[A+8408>>2]=0,ar[A+8412>>2]=0,ar[A+8416>>2]=0,ar[(e=A+8444|0)>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,ar[e+12>>2]=0,ar[e+16>>2]=0,ar[e+20>>2]=0,ar[A+9064>>2]=0,ar[A+9068>>2]=0,ar[A+9072>>2]=0,ar[(e=A+9100|0)>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,ar[e+12>>2]=0,ar[e+16>>2]=0,ar[e+20>>2]=0,ar[A+9720>>2]=0,ar[A+9724>>2]=0,ar[A+9728>>2]=0,ar[(e=A+9756|0)>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,ar[e+12>>2]=0,ar[e+16>>2]=0,ar[e+20>>2]=0,ar[A+10376>>2]=0,ar[A+10380>>2]=0,ar[A+10384>>2]=0,ar[(e=A+10412|0)>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,ar[e+12>>2]=0,ar[e+16>>2]=0,ar[e+20>>2]=0,ar[A+11032>>2]=0,ar[A+11036>>2]=0,ar[A+11040>>2]=0,ar[(e=A+11068|0)>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,ar[e+12>>2]=0,ar[e+16>>2]=0,ar[e+20>>2]=0,$a(A+11096|0),$a(A+16264|0),$a(A+21432|0),$a(A+26600|0),$a(A+31768|0),$a(A+36936|0),$a(A+42104|0),$a(A+47272|0),$a(A+52440|0),$a(A+57608|0),$a(A+62776|0),$a(A+67944|0),$a(A+73112|0),$a(A+78280|0),$a(A+83448|0),$a(A+88616|0),e=0;Ia(A+93784+(4400*e|0)|0),64!=(0|(e=e+1|0)););for(ar[(n=A+375400|0)>>2]=0,ar[n+4>>2]=0,ar[n+8>>2]=0,ar[n+12>>2]=0,ar[n+16>>2]=0,ar[n+20>>2]=0,function(A){var e,r=0;for(e=48+(r=8+(A|=0)|0)|0;((ar[r>>2]=0)|(r=r+4|0))<(0|e););ar[A>>2]=30,ar[A+4>>2]=30}(A+376148|0),ar[A+377216>>2]=0,ar[A+377220>>2]=0,ar[A+377224>>2]=0,tr[A+512>>0]=0,tr[A+513>>0]=1,tr[A+514>>0]=0,tr[A+532>>0]=0,tr[A+533>>0]=0,ar[(n=A+516|0)>>2]=-1,ar[n+4>>2]=-1,ar[n+8>>2]=-1,ar[n+12>>2]=-1,e=0|ar[4+(n=7736)>>2],ar[(t=A+536|0)>>2]=ar[n>>2],ar[t+4>>2]=e,ar[A+544>>2]=0,ar[A+375384>>2]=0,ar[A+375388>>2]=0,ar[A+375392>>2]=0,ar[A+375892>>2]=0,ar[(t=A+375896|0)>>2]=6,ar[A+375900>>2]=100,ar[A+375904>>2]=6,ar[A+375912>>2]=6,ar[A+375908>>2]=100,e=6;;){if((0|(i=(0|(n=100*e|0))/7|0))<=(0|(n=(n+100|0)/7|0)))for(f=n-i|0,r=i;a=0|ar[t>>2],e=(o=(0|a)<(0|e))?a:e,tr[A+375916+(r<<1)>>0]=e,tr[A+375916+(r<<1)+1>>0]=o?100:255&((100*(r-i|0)|0)/(0|f)|0),(0|r)<(0|n);)r=r+1|0;if(ar[A+376120+(e<<2)>>2]=n,!(0<(0|e)))break;e=e+-1|0}ar[(a=A+376204|0)>>2]=0,ar[a+4>>2]=0,ar[a+8>>2]=0,ar[a+12>>2]=0,ar[a+16>>2]=0,ar[a+20>>2]=0,tr[A+376208>>0]=1,ar[a>>2]=-1}(i=0|hu(377232)),0|i):(ar[14154]=(0|ar[14154])-1,(i=0)|i)),Ne(ar[r>>2]=A,7,1),Ne(A,8,1),ar[e>>2]=r},function(A,e){A|=0,e|=0;var r,i,f=0,n=0;if(ur=(i=ur)+112|0,r=(f=i)+4|0,ar[f>>2]=ar[e+8>>2],Bi(r,39045,f),ar[A>>2]=0,ar[A+4>>2]=0,4294967279<(e=(ar[A+8>>2]=0)|Vc(r))>>>0&&pu(),e>>>0<11){if(!(tr[A+11>>0]=e))return tr[(f=(f=A)+e|0)>>0]=0,void(ur=i)}else f=0|hu(n=e+16&-16),ar[A>>2]=f,ar[A+8>>2]=-2147483648|n,ar[A+4>>2]=e,A=f;hb(0|A,0|r,0|e),tr[(n=(n=A)+e|0)>>0]=0,ur=i},function(A,e){A|=0;var r,i,f=0,n=0;if(ur=(i=ur)+112|0,r=(f=i)+8|0,n=0|ar[(e|=0)+16>>2],ar[f>>2]=ar[e+12>>2],ar[f+4>>2]=n,Bi(r,39191,f),ar[A>>2]=0,ar[A+4>>2]=0,4294967279<(e=(ar[A+8>>2]=0)|Vc(r))>>>0&&pu(),e>>>0<11){if(!(tr[A+11>>0]=e))return tr[(n=(n=A)+e|0)>>0]=0,void(ur=i)}else n=0|hu(f=e+16&-16),ar[A>>2]=n,ar[A+8>>2]=-2147483648|f,ar[A+4>>2]=e,A=n;hb(0|A,0|r,0|e),tr[(n=(n=A)+e|0)>>0]=0,ur=i},function(A,e){A|=0,e|=0;var r,i,f=0,n=0;if(ur=(i=ur)+112|0,r=(f=i)+4|0,ar[f>>2]=ar[e+12>>2],Bi(r,39665,f),ar[A>>2]=0,ar[A+4>>2]=0,4294967279<(e=(ar[A+8>>2]=0)|Vc(r))>>>0&&pu(),e>>>0<11){if(!(tr[A+11>>0]=e))return tr[(f=(f=A)+e|0)>>0]=0,void(ur=i)}else f=0|hu(n=e+16&-16),ar[A>>2]=f,ar[A+8>>2]=-2147483648|n,ar[A+4>>2]=e,A=f;hb(0|A,0|r,0|e),tr[(n=(n=A)+e|0)>>0]=0,ur=i},function(A,e){A|=0,e|=0;var r,i,f=0,n=0;if(ur=(i=ur)+112|0,r=(f=i)+4|0,ar[f>>2]=ar[e+12>>2],Bi(r,48089,f),ar[A>>2]=0,ar[A+4>>2]=0,4294967279<(e=(ar[A+8>>2]=0)|Vc(r))>>>0&&pu(),e>>>0<11){if(!(tr[A+11>>0]=e))return tr[(f=(f=A)+e|0)>>0]=0,void(ur=i)}else f=0|hu(n=e+16&-16),ar[A>>2]=f,ar[A+8>>2]=-2147483648|n,ar[A+4>>2]=e,A=f;hb(0|A,0|r,0|e),tr[(n=(n=A)+e|0)>>0]=0,ur=i},function(A,e){},function(A,e){e|=0,jb[127&ar[24+(0|ar[(A|=0)>>2])>>2]](A),e=0|un(e,61032),ar[A+36>>2]=e,e=1&(0|jb[127&ar[28+(0|ar[e>>2])>>2]](e)),tr[A+44>>0]=e},function(A,e){e|=0,jb[127&ar[24+(0|ar[(A|=0)>>2])>>2]](A),e=0|un(e,61024),ar[A+36>>2]=e,e=1&(0|jb[127&ar[28+(0|ar[e>>2])>>2]](e)),tr[A+44>>0]=e},function(A,e){A|=0;var r=0,i=0;i=0|un(e|=0,61032),ar[(r=A+36|0)>>2]=i,i=0|jb[127&ar[24+(0|ar[i>>2])>>2]](i),ar[(e=A+44|0)>>2]=i,r=0|ar[r>>2],r=1&(0|jb[127&ar[28+(0|ar[r>>2])>>2]](r)),tr[A+53>>0]=r,8<(0|ar[e>>2])&&ti()},function(A,e){A|=0;var r=0,i=0;i=0|un(e|=0,61024),ar[(r=A+36|0)>>2]=i,i=0|jb[127&ar[24+(0|ar[i>>2])>>2]](i),ar[(e=A+44|0)>>2]=i,r=0|ar[r>>2],r=1&(0|jb[127&ar[28+(0|ar[r>>2])>>2]](r)),tr[A+53>>0]=r,8<(0|ar[e>>2])&&ti()},function(A,e){for(e|=0,ar[(A|=0)>>2]=0,ar[A+4>>2]=0,e=ar[A+8>>2]=0;3!=(0|e);)e=e+1|(ar[A+(e<<2)>>2]=0)},function(A,e){for(e|=0,ar[(A|=0)>>2]=0,ar[A+4>>2]=0,e=ar[A+8>>2]=0;3!=(0|e);)e=e+1|(ar[A+(e<<2)>>2]=0)},function(A,e){for(e|=0,ar[(A|=0)>>2]=0,ar[A+4>>2]=0,e=ar[A+8>>2]=0;3!=(0|e);)e=e+1|(ar[A+(e<<2)>>2]=0)},function(A,e){var r;e|=0,r=ur=(e=ur)+31&-32,ur=ur+16|0,ar[(A|=0)>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0,oi(A,tr[A+11>>0]=1,45),Qf(A+1|(tr[r>>0]=0),r),ur=e},function(A,e){tr[(A|=0)>>0]=2,tr[A+1>>0]=3,tr[A+2>>0]=0,tr[A+3>>0]=4},function(A,e){tr[(A|=0)>>0]=2,tr[A+1>>0]=3,tr[A+2>>0]=0,tr[A+3>>0]=4},function(A,e){for(e|=0,ar[(A|=0)>>2]=0,ar[A+4>>2]=0,e=ar[A+8>>2]=0;3!=(0|e);)e=e+1|(ar[A+(e<<2)>>2]=0)},function(A,e){for(e|=0,ar[(A|=0)>>2]=0,ar[A+4>>2]=0,e=ar[A+8>>2]=0;3!=(0|e);)e=e+1|(ar[A+(e<<2)>>2]=0)},function(A,e){for(e|=0,ar[(A|=0)>>2]=0,ar[A+4>>2]=0,e=ar[A+8>>2]=0;3!=(0|e);)e=e+1|(ar[A+(e<<2)>>2]=0)},function(A,e){var r;e|=0,r=ur=(e=ur)+31&-32,ur=ur+16|0,ar[(A|=0)>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0,oi(A,tr[A+11>>0]=1,45),Qf(A+1|(tr[r>>0]=0),r),ur=e},function(A,e){tr[(A|=0)>>0]=2,tr[A+1>>0]=3,tr[A+2>>0]=0,tr[A+3>>0]=4},function(A,e){tr[(A|=0)>>0]=2,tr[A+1>>0]=3,tr[A+2>>0]=0,tr[A+3>>0]=4},function(A,e){for(e|=0,ar[(A|=0)>>2]=0,ar[A+4>>2]=0,e=ar[A+8>>2]=0;3!=(0|e);)e=e+1|(ar[A+(e<<2)>>2]=0)},function(A,e){for(e|=0,ar[(A|=0)>>2]=0,ar[A+4>>2]=0,e=ar[A+8>>2]=0;3!=(0|e);)e=e+1|(ar[A+(e<<2)>>2]=0)},function(A,e){for(e|=0,ar[(A|=0)>>2]=0,ar[A+4>>2]=0,e=ar[A+8>>2]=0;3!=(0|e);)e=e+1|(ar[A+(e<<2)>>2]=0)},function(A,e){var r;e|=0,r=ur=(e=ur)+31&-32,ur=ur+16|0,ar[(A|=0)>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0,gr(A,tr[A+8+3>>0]=1,45),ln(A+4|(ar[r>>2]=0),r),ur=e},function(A,e){tr[(A|=0)>>0]=2,tr[A+1>>0]=3,tr[A+2>>0]=0,tr[A+3>>0]=4},function(A,e){tr[(A|=0)>>0]=2,tr[A+1>>0]=3,tr[A+2>>0]=0,tr[A+3>>0]=4},function(A,e){for(e|=0,ar[(A|=0)>>2]=0,ar[A+4>>2]=0,e=ar[A+8>>2]=0;3!=(0|e);)e=e+1|(ar[A+(e<<2)>>2]=0)},function(A,e){for(e|=0,ar[(A|=0)>>2]=0,ar[A+4>>2]=0,e=ar[A+8>>2]=0;3!=(0|e);)e=e+1|(ar[A+(e<<2)>>2]=0)},function(A,e){for(e|=0,ar[(A|=0)>>2]=0,ar[A+4>>2]=0,e=ar[A+8>>2]=0;3!=(0|e);)e=e+1|(ar[A+(e<<2)>>2]=0)},function(A,e){var r;e|=0,r=ur=(e=ur)+31&-32,ur=ur+16|0,ar[(A|=0)>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0,gr(A,tr[A+8+3>>0]=1,45),ln(A+4|(ar[r>>2]=0),r),ur=e},function(A,e){tr[(A|=0)>>0]=2,tr[A+1>>0]=3,tr[A+2>>0]=0,tr[A+3>>0]=4},function(A,e){tr[(A|=0)>>0]=2,tr[A+1>>0]=3,tr[A+2>>0]=0,tr[A+3>>0]=4},function(A,e){},function(A,e){},function(A,e){yu(A|=0,(e|=0)+12|0)},function(A,e){e|=0;var r,i,f,n=0;r=ur=(f=ur)+31&-32,ur=ur+16|0,ar[(A|=0)>>2]=0,ar[A+4>>2]=0,4294967279<(i=(ar[A+8>>2]=0)|Yf(55745))>>>0&&pu(),i>>>0<11?(tr[A+11>>0]=i,e=A):(e=0|hu(n=16+i&-16),ar[A>>2]=e,ar[A+8>>2]=-2147483648|n,ar[A+4>>2]=i),wf(e,55745,i),Qf(e+i|(tr[r>>0]=0),r),ur=f},function(A,e){e|=0;var r,i,f,n=0;r=ur=(f=ur)+31&-32,ur=ur+16|0,ar[(A|=0)>>2]=0,ar[A+4>>2]=0,4294967279<(i=(ar[A+8>>2]=0)|Yf(55739))>>>0&&pu(),i>>>0<11?(tr[A+11>>0]=i,e=A):(e=0|hu(n=16+i&-16),ar[A>>2]=e,ar[A+8>>2]=-2147483648|n,ar[A+4>>2]=i),wf(e,55739,i),Qf(e+i|(tr[r>>0]=0),r),ur=f},function(A,e){yu(A|=0,(e|=0)+16|0)},function(A,e){e|=0;var r,i,f,n=0;r=ur=(f=ur)+31&-32,ur=ur+16|0,ar[(A|=0)>>2]=0,ar[A+4>>2]=0,1073741807<(i=(ar[A+8>>2]=0)|Mr(17204))>>>0&&pu();do{if(2<=i>>>0){if(!(1073741823<(e=4+i&-4)>>>0)){n=0|hu(e<<2),ar[A>>2]=n,ar[A+8>>2]=-2147483648|e,ar[A+4>>2]=i;break}lA()}else tr[A+8+3>>0]=i,n=A}while(0);Zf(n,17204,i),ln(n+(i<<2)|(ar[r>>2]=0),r),ur=f},function(A,e){e|=0;var r,i,f,n=0;r=ur=(f=ur)+31&-32,ur=ur+16|0,ar[(A|=0)>>2]=0,ar[A+4>>2]=0,1073741807<(i=(ar[A+8>>2]=0)|Mr(17180))>>>0&&pu();do{if(2<=i>>>0){if(!(1073741823<(e=4+i&-4)>>>0)){n=0|hu(e<<2),ar[A>>2]=n,ar[A+8>>2]=-2147483648|e,ar[A+4>>2]=i;break}lA()}else tr[A+8+3>>0]=i,n=A}while(0);Zf(n,17180,i),ln(n+(i<<2)|(ar[r>>2]=0),r),ur=f},function(A,e){e|=0,is[511&(A|=0)](e)},function(A,e){A|=0,e|=0;var r,i=0,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0;if(ur=(r=ur)+16|0,u=(l=r)+12|0,i=0|nA(),ar[u>>2]=i,!e)return ar[A>>2]=i,ar[u>>2]=0,iA((u=0)|u),void(ur=r);if(sl(l,40+(0|ar[e>>2])|0),a=(o=(f=0|ar[(t=l+4|0)>>2])-(i=0|ar[l>>2])|0)>>3,0|(n=i)){if((0|f)!=(0|n)){for(;i=f+-8|0,ar[t>>2]=i,(f=0|ar[f+-4>>2])&&(du(f),i=0|ar[t>>2]),(0|i)!=(0|n);)f=i;i=0|ar[l>>2]}vu(i)}if((0|o)<8)return ar[A>>2]=ar[u>>2],ar[u>>2]=0,iA((u=0)|u),void(ur=r);if(!(c=0|yc(o>>>1)))return c=0|hu(12),ar[c>>2]=6,ar[c+4>>2]=1e3,ar[l>>2]=c,l=0|cA(1392,0|l),ar[A>>2]=l,u=0|ar[u>>2],iA(0|u),void(ur=r);if(sl(l,40+(0|ar[e>>2])|0),f=0|ar[(o=l+4|0)>>2],t=i=0|ar[l>>2],e=0<(0|(a=(0|(e=f-i>>3))<(0|a)?e:a)))for(n=0;ar[c+(n<<2)>>2]=ar[20+(0|ar[t+(n<<3)>>2])>>2],(0|(n=n+1|0))<(0|a););if(0|i){if((0|f)!=(0|t)){for(;i=f+-8|0,ar[o>>2]=i,(f=0|ar[f+-4>>2])&&(du(f),i=0|ar[o>>2]),(0|i)!=(0|t);)f=i;i=0|ar[l>>2]}vu(i)}if(!a)return Bc(c),ar[A>>2]=ar[u>>2],ar[u>>2]=0,iA((u=0)|u),void(ur=r);if(ar[l>>2]=0,e)for(i=0;dl(u,l,c+(i<<2)|0),i=1+(0|ar[l>>2])|0,(0|(ar[l>>2]=i))<(0|a););Bc(c),ar[A>>2]=ar[u>>2],ar[u>>2]=0,iA((u=0)|u),ur=r},function(A,e){e|=0,is[511&(A|=0)](e)},function(A,e){A|=0;var r,i,f=0,n=0,t=0,o=0,a=0,c=0,l=0;if(r=(0|(e|=0))/2|0,!((0|e)<=1)){i=e+-1|0,f=0;do{for(t=0|br(f,e),o=i+(0|br(i-f|0,e))|0,n=0;a=A+(o-n<<1)|0,c=0|or[(l=A+(n+t<<1)|0)>>1],or[l>>1]=0|or[a>>1],or[a>>1]=c,(0|(n=n+1|0))!=(0|e););f=f+1|0}while((0|f)<(0|r))}},Yb,Yb,Yb,Yb,Yb,Yb,Yb,Yb,Yb,Yb,Yb,Yb,Yb,Yb,Yb,Yb],ns=[Qb,HA,LA,function(A,e,r){A|=0,e|=0;var i,f,n,t,o=0,a=0,c=0,l=0,u=0;ur=(t=ur)+32|0,f=t,n=0|ar[(r|=0)+12>>2],jA(r,0|tr[e+36>>0]?12:8),a=0|ar[e+44>>2],i=0|ar[e+48>>2];A:do{if((0|a)==(0|i))o=A+8|0,l=8;else for(c=(o=A+8|0)+11|0;;){if(u=0|ar[a>>2],ns[127&ar[12+(0|ar[u>>2])>>2]](A,u,r),0|ar[A>>2])break A;if((0|tr[c>>0])<0&&vu(0|ar[o>>2]),(0|(a=a+8|0))==(0|i)){l=8;break}}}while(0);8==(0|l)&&(l=0|ar[(c=56592)+4>>2],ar[(u=A)>>2]=ar[c>>2],ar[u+4>>2]=l,yu(o,56600)),KA(f,e,r,n),ur=(0<=(0|tr[(o=f+8|0)+11>>0])||vu(0|ar[o>>2]),t)},function(A,e,r){A|=0,r|=0;var i,f,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0;ur=(f=ur)+32|0,i=f+12|0,o=f,t=0|ar[(n=c=(e|=0)+8|0)>>2],n=0|ar[n+4>>2];do{if(0==(0|t)&0==(0|n))for(e=r;(ar[(b=e+16|0)>>2]=0)!=(0|(e=(ar[b+4>>2]=0)|ar[e+8>>2])););else if(0|CA(r,e=0|ob(0|t,0|n,0|ar[(a=e+16|0)>>2],0),n=D)){if(0<n>>>0|0==(0|n)&2147483647<e>>>0)return ar[o>>2]=0,ar[o+4>>2]=0,ar[o+8>>2]=0,oo(A,2,101,o),0<=(0|tr[o+11>>0])||vu(0|ar[o>>2]),void(ur=f);if(e=0|ar[r>>2],(t=0==(0|(n=0|ar[r+4>>2])))||bu(n),b=0|ar[(u=c)>>2],u=0|ar[u+4>>2],l=0|ar[a>>2],o=0|ar[e>>2],a=0|ar[o+20>>2],o=0|jb[127&ar[o+8>>2]](e),c=D,c=0|tb(0|(l=0|ob(0|b,0|u,0|l,0)),0|D,0|o,0|c),xb[63&a](e,c,D),t)break;du(n);break}}while(0);0|tr[r+24>>0]?(ar[i>>2]=0,ar[4+i>>2]=0,ar[8+i>>2]=0,oo(A,2,100,i),(0|tr[11+i>>0])<0&&vu(0|ar[i>>2])):(u=0|ar[(l=56592)+4>>2],ar[(b=A)>>2]=ar[l>>2],ar[b+4>>2]=u,yu(A+8|0,56600)),ur=f},function(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o,a,c=0,l=0,u=0,b=0,s=0,d=0,k=0;if(ur=(a=ur)+160|0,f=a+136|0,t=(n=a)+56|0,o=n+4|0,ar[n>>2]=292,ar[t>>2]=312,Jf(n+56|0,o),ar[n+128>>2]=0,ar[n+132>>2]=-1,ar[n>>2]=4304,ar[t>>2]=4324,Sf(o),ar[o>>2]=4340,ar[(i=n+36|0)>>2]=0,ar[4+i>>2]=0,ar[8+i>>2]=0,ar[12+i>>2]=0,ar[n+52>>2]=16,ar[f>>2]=0,ar[4+f>>2]=0,ar[8+f>>2]=0,Xe(o,f),(0|tr[11+f>>0])<0&&vu(0|ar[f>>2]),HA(f,e,r),We(n,(s=(d=0|tr[(k=11+f|0)>>0])<<24>>24<0)?0|ar[f>>2]:f,s?0|ar[4+f>>2]:255&d),(0|tr[k>>0])<0&&vu(0|ar[f>>2]),0<(0|ar[r>>2]))for(c=0;We(n,18862,2),(0|(c=c+1|0))<(0|ar[r>>2]););if(l=0|We(n,19206,13),k=0|ar[e+56>>2],ar[f>>2]=0,ar[4+f>>2]=0,ar[8+f>>2]=0,tr[(u=11+f|0)>>0]=4,tr[4+f>>0]=0,tr[f>>0]=k>>>24,tr[1+f>>0]=k>>>16,tr[2+f>>0]=k>>>8,tr[3+f>>0]=k,l=0|We(0|We(l,f,4),30086,1),0<(0|ar[r>>2]))for(c=0;We(l,18862,2),(0|(c=c+1|0))<(0|ar[r>>2]););if(l=0|We(l,19220,15),l=0|We(0|Lf(l,0|ar[e+60>>2]),30086,1),0<(0|ar[r>>2]))for(c=0;We(l,18862,2),(0|(c=c+1|0))<(0|ar[r>>2]););if(We(l,19236,19),(0|tr[u>>0])<0&&vu(0|ar[f>>2]),(0|(c=0|ar[e+64>>2]))!=(0|(r=0|ar[e+68>>2])))for(e=11+f|0,b=4+f|0,s=1+f|0,d=2+f|0,k=3+f|0,u=1;l=0|ar[c>>2],u||(tr[f>>0]=44,We(n,f,1)),ar[f>>2]=0,ar[4+f>>2]=0,ar[8+f>>2]=0,tr[e>>0]=4,tr[b>>0]=0,tr[f>>0]=l>>>24,tr[s>>0]=l>>>16,tr[d>>0]=l>>>8,tr[k>>0]=l,We(n,f,4),(0|tr[e>>0])<0&&vu(0|ar[f>>2]),(0|(c=c+4|0))!=(0|r);)u=0;if(We(n,30086,1),Ie(A,o),ar[n>>2]=4304,ar[t>>2]=4324,ar[o>>2]=4340,0<=(0|tr[11+i>>0]))return kf(o),Gf(),bf(t),void(ur=a);vu(0|ar[i>>2]),kf(o),Gf(),bf(t),ur=a},function(A,e,r){A|=0,e|=0;var i,f,n=0,t=0,o=0;if(ur=(f=ur)+32|0,t=f,o=0|ar[(r|=0)+12>>2],jA(r,0|tr[e+36>>0]?12:8),UA(r,0|ar[e+56>>2]),UA(r,0|ar[e+60>>2]),(0|(n=0|ar[e+64>>2]))!=(0|(i=0|ar[e+68>>2])))for(;UA(r,0|ar[n>>2]),(0|(n=n+4|0))!=(0|i););KA(t,e,r,o),(0|tr[(n=t+8|0)+11>>0])<0&&vu(0|ar[n>>2]),t=0|ar[(r=56592)+4>>2],ar[(o=A)>>2]=ar[r>>2],ar[o+4>>2]=t,yu(A+8|0,56600),ur=f},function(A,e,r){A|=0,e|=0;var i,f,n,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0;if(ur=(n=ur)+32|0,s=n+12|0,c=n,o=0|FA(r|=0),ar[e+56>>2]=o,o=0|FA(r),ar[e+60>>2]=o,t=0|ar[(o=e+8|0)>>2],!(0<(o=0|ar[o+4>>2])>>>0|0==(0|o)&((a=0|ar[e+16>>2])+8|0)>>>0<t>>>0)){for(t=0|hu(48),ar[c>>2]=t,ar[c+8>>2]=-2147483600,a=19167,e=(o=t)+(ar[c+4>>2]=38)|0;tr[o>>0]=0|tr[a>>0],a=a+1|0,(0|(o=o+1|0))<(0|e););return(tr[t+38>>0]=0,oo(A,2,101,c),0<=(0|tr[c+11>>0]))?void(ur=n):(vu(0|ar[c>>2]),void(ur=n))}l=0|sb(0|(l=0|ob(0|(l=0|tb(0|t,0|o,-8,-1)),0|D,0|a,0)),0|D,2),i=D,f=r+24|0;A:do{if(!(0==(0|l)&0==(0|i))){u=e+68|0,b=e+72|0,t=e+64|0,c=e=0;do{if(0|tr[f>>0])break A;o=0|FA(r),ar[s>>2]=o,(a=0|ar[u>>2])>>>0<(0|ar[b>>2])>>>0?(ar[a>>2]=o,ar[u>>2]=a+4):Ce(t,s),e=0|tb(0|e,0|c,1,0),c=D}while(c>>>0<i>>>0|(0|c)==(0|i)&e>>>0<l>>>0)}}while(0);0|tr[f>>0]?(ar[s>>2]=0,ar[s+4>>2]=0,ar[s+8>>2]=0,oo(A,2,100,s),(0|tr[s+11>>0])<0&&vu(0|ar[s>>2])):(r=0|ar[(b=56592)+4>>2],ar[(s=A)>>2]=ar[b>>2],ar[s+4>>2]=r,yu(A+8|0,56600)),ur=n},function(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o,a,c=0,l=0,u=0;if(ur=(a=ur)+160|0,f=a+136|0,t=(n=a)+56|0,o=n+4|0,ar[n>>2]=292,ar[t>>2]=312,Jf(n+56|0,o),ar[n+128>>2]=0,ar[n+132>>2]=-1,ar[n>>2]=4304,ar[t>>2]=4324,Sf(o),ar[o>>2]=4340,ar[(i=n+36|0)>>2]=0,ar[4+i>>2]=0,ar[8+i>>2]=0,ar[12+i>>2]=0,ar[n+52>>2]=16,ar[f>>2]=0,ar[4+f>>2]=0,ar[8+f>>2]=0,Xe(o,f),(0|tr[11+f>>0])<0&&vu(0|ar[f>>2]),LA(f,e,r),We(n,(u=(l=0|tr[(c=11+f|0)>>0])<<24>>24<0)?0|ar[f>>2]:f,u?0|ar[4+f>>2]:255&l),(0|tr[c>>0])<0&&vu(0|ar[f>>2]),ne(f,e,r),We(n,(c=(l=0|tr[(u=11+f|0)>>0])<<24>>24<0)?0|ar[f>>2]:f,c?0|ar[4+f>>2]:255&l),(0|tr[u>>0])<0&&vu(0|ar[f>>2]),Ie(A,o),ar[n>>2]=4304,ar[t>>2]=4324,ar[o>>2]=4340,0<=(0|tr[11+i>>0]))return kf(o),Gf(),bf(t),void(ur=a);vu(0|ar[i>>2]),kf(o),Gf(),bf(t),ur=a},function(A,e,r){A|=0;var i,f=0;ur=(i=ur)+32|0,qA(f=i,e|=0,r|=0),(0|tr[(f=f+8|0)+11>>0])<0&&vu(0|ar[f>>2]),$A(A,e,r,-1),ur=i},function(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o,a,c,l=0,u=0,b=0;if(ur=(a=ur)+160|0,f=a+136|0,t=(n=a)+56|0,o=n+4|0,ar[n>>2]=292,ar[t>>2]=312,Jf(n+56|0,o),ar[n+128>>2]=0,ar[n+132>>2]=-1,ar[n>>2]=4304,ar[t>>2]=4324,Sf(o),ar[o>>2]=4340,ar[(i=n+36|0)>>2]=0,ar[4+i>>2]=0,ar[8+i>>2]=0,ar[12+i>>2]=0,ar[n+52>>2]=16,ar[f>>2]=0,ar[4+f>>2]=0,ar[8+f>>2]=0,Xe(o,f),(0|tr[11+f>>0])<0&&vu(0|ar[f>>2]),LA(f,e,r),We(n,(l=(u=0|tr[(b=11+f|0)>>0])<<24>>24<0)?0|ar[f>>2]:f,l?0|ar[4+f>>2]:255&u),(0|tr[b>>0])<0&&vu(0|ar[f>>2]),0<(0|ar[r>>2]))for(l=0;We(n,18862,2),(0|(l=l+1|0))<(0|ar[r>>2]););if(u=0|We(n,23170,13),u=0|We(0|Lf(u,0|ar[e+56>>2]),30086,1),0<(0|ar[r>>2]))for(l=0;We(u,18862,2),(0|(l=l+1|0))<(0|ar[r>>2]););if(b=0|We(u,23184,14),l=0|ar[e+60>>2],ar[f>>2]=0,ar[4+f>>2]=0,ar[8+f>>2]=0,tr[(u=11+f|0)>>0]=4,tr[4+f>>0]=0,tr[f>>0]=l>>>24,tr[1+f>>0]=l>>>16,tr[2+f>>0]=l>>>8,tr[3+f>>0]=l,b=0|We(0|We(b,f,4),30086,1),0<(0|ar[r>>2]))for(l=0;We(b,18862,2),(0|(l=l+1|0))<(0|ar[r>>2]););if(c=0|We(b,23199,6),We(0|We(c,(b=(r=0|tr[(l=e+76|0)+11>>0])<<24>>24<0)?0|ar[l>>2]:l,b?0|ar[e+80>>2]:255&r),30086,1),(0|tr[u>>0])<0&&vu(0|ar[f>>2]),Ie(A,o),ar[n>>2]=4304,ar[t>>2]=4324,ar[o>>2]=4340,0<=(0|tr[11+i>>0]))return kf(o),bf(t),void(ur=a);vu(0|ar[i>>2]),kf(o),bf(t),ur=a},function(A,e,r){A|=0,e|=0;var i,f=0,n=0;ur=(i=ur)+32|0,f=i,n=0|ar[(r|=0)+12>>2],jA(r,0|tr[e+36>>0]?12:8),UA(r,0|ar[e+56>>2]),UA(r,0|ar[e+60>>2]),UA(r,0|ar[e+64>>2]),UA(r,0|ar[e+68>>2]),UA(r,0|ar[e+72>>2]),OA(r,e+76|0),KA(f,e,r,n),(0|tr[(e=f+8|0)+11>>0])<0&&vu(0|ar[e>>2]),f=0|ar[(r=56592)+4>>2],ar[(n=A)>>2]=ar[r>>2],ar[n+4>>2]=f,yu(A+8|0,56600),ur=i},function(A,e,r){A|=0;var i,f,n=0,t=0;if(ur=(f=ur)+32|0,t=f+20|0,qA(n=f,e|=0,r|=0),(0|tr[(n=n+8|0)+11>>0])<0&&vu(0|ar[n>>2]),n=0|FA(r),ar[e+56>>2]=n,n=0|FA(r),ar[e+60>>2]=n,n=0|FA(r),ar[e+64>>2]=n,n=0|FA(r),ar[e+68>>2]=n,n=0|FA(r),ar[e+72>>2]=n,RA(t,r),(0|tr[(i=(n=e+76|0)+11|0)>>0])<0?(tr[ar[n>>2]>>0]=0,ar[e+80>>2]=0):(tr[n>>0]=0,tr[i>>0]=0),Cu(n,0),ar[n>>2]=ar[t>>2],ar[n+4>>2]=ar[t+4>>2],ar[n+8>>2]=ar[t+8>>2],!(0|tr[r+24>>0]))return r=0|ar[(e=56592)+4>>2],ar[(t=A)>>2]=ar[e>>2],ar[t+4>>2]=r,yu(A+8|0,56600),void(ur=f);ar[t>>2]=0,ar[t+4>>2]=0,ar[t+8>>2]=0,oo(A,2,100,t),ur=(0<=(0|tr[t+11>>0])||vu(0|ar[t>>2]),f)},function(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o,a,c,l=0,u=0;if(ur=(o=ur)+160|0,l=o+136|0,n=(f=o)+56|0,t=f+4|0,ar[f>>2]=292,ar[n>>2]=312,Jf(f+56|0,t),ar[f+128>>2]=0,ar[f+132>>2]=-1,ar[f>>2]=4304,ar[n>>2]=4324,Sf(t),ar[t>>2]=4340,ar[(i=f+36|0)>>2]=0,ar[4+i>>2]=0,ar[8+i>>2]=0,ar[12+i>>2]=0,ar[f+52>>2]=16,ar[l>>2]=0,ar[l+4>>2]=0,ar[l+8>>2]=0,Xe(t,l),(0|tr[l+11>>0])<0&&vu(0|ar[l>>2]),LA(l,e,r),We(f,(u=(c=0|tr[(a=l+11|0)>>0])<<24>>24<0)?0|ar[l>>2]:l,u?0|ar[l+4>>2]:255&c),(0|tr[a>>0])<0&&vu(0|ar[l>>2]),0<(0|ar[r>>2]))for(l=0;We(f,18862,2),(0|(l=l+1|0))<(0|ar[r>>2]););if(u=0|We(f,22462,9),We(0|Lf(u,0|ar[e+56>>2]),30086,1),Ie(A,t),ar[f>>2]=4304,ar[n>>2]=4324,ar[t>>2]=4340,0<=(0|tr[11+i>>0]))return kf(t),bf(n),void(ur=o);vu(0|ar[i>>2]),kf(t),bf(n),ur=o},function(A,e,r){A|=0,e|=0;var i,f,n=0,t=0;ur=(f=ur)+32|0,n=f,t=0|ar[(r|=0)+12>>2],jA(r,0|tr[e+36>>0]?12:8),i=0|ar[e+56>>2];do{if(0|tr[e+37>>0])UA(r,i);else{if(i>>>0<65536){MA(r,65535&i);break}sr(23065,19104,891,19563)}}while(0);KA(n,e,r,t),(0|tr[(e=n+8|0)+11>>0])<0&&vu(0|ar[e>>2]),n=0|ar[(r=56592)+4>>2],ar[(t=A)>>2]=ar[r>>2],ar[t+4>>2]=n,yu(A+8|0,56600),ur=f},function(A,e,r){A|=0;var i,f=0,n=0;if(ur=(i=ur)+32|0,n=i+20|0,qA(f=i,e|=0,r|=0),(0|tr[(f=f+8|0)+11>>0])<0&&vu(0|ar[f>>2]),f=0|tr[e+37>>0]?0|FA(r):65535&(0|VA(r)),ar[e+56>>2]=f,!(0|tr[r+24>>0]))return r=0|ar[(e=56592)+4>>2],ar[(n=A)>>2]=ar[e>>2],ar[n+4>>2]=r,yu(A+8|0,56600),void(ur=i);ar[n>>2]=0,ar[n+4>>2]=0,ar[n+8>>2]=0,oo(A,2,100,n),ur=(0<=(0|tr[n+11>>0])||vu(0|ar[n>>2]),i)},function(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o,a=0,c=0,l=0,u=0,b=0;if(ur=(o=ur)+160|0,a=o+136|0,n=(f=o)+56|0,t=f+4|0,ar[f>>2]=292,ar[n>>2]=312,Jf(f+56|0,t),ar[f+128>>2]=0,ar[f+132>>2]=-1,ar[f>>2]=4304,ar[n>>2]=4324,Sf(t),ar[t>>2]=4340,ar[(i=f+36|0)>>2]=0,ar[4+i>>2]=0,ar[8+i>>2]=0,ar[12+i>>2]=0,ar[f+52>>2]=16,ar[a>>2]=0,ar[a+4>>2]=0,ar[a+8>>2]=0,Xe(t,a),(0|tr[a+11>>0])<0&&vu(0|ar[a>>2]),LA(a,e,r),We(f,(u=(c=0|tr[(l=a+11|0)>>0])<<24>>24<0)?0|ar[a>>2]:a,u?0|ar[a+4>>2]:255&c),(0|tr[l>>0])<0&&vu(0|ar[a>>2]),(0|(a=0|ar[e+56>>2]))!=(0|(l=0|ar[e+60>>2]))){c=a;do{if(0<(0|ar[r>>2]))for(a=0;We(f,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(e=0|We(f,22885,9),e=0|We(0|Lf(e,0|ar[c>>2]),30086,1),0<(0|ar[r>>2]))for(a=0;We(e,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(e=0|We(e,22895,23),e=0|We(0|Pf(e,0|cr[c+4>>0]),30086,1),0<(0|ar[r>>2]))for(a=0;We(e,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(u=(e=0|We(e,22919,24))+(0|ar[(0|ar[e>>2])-12>>2])+4|0,ar[u>>2]=-75&ar[u>>2]|8,u=(e=0|xf(e,0|or[c+6>>1]))+(0|ar[(0|ar[e>>2])-12>>2])+4|0,ar[u>>2]=-75&ar[u>>2]|2,e=0|We(e,30086,1),0<(0|ar[r>>2]))for(a=0;We(e,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(e=0|We(e,22944,15),We(0|Kf(e,0|ar[(u=c+8|0)>>2],0|ar[u+4>>2]),30086,1),0<(0|ar[r>>2]))for(a=0;We(f,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(We(f,22960,11),(0|(a=0|ar[c+16>>2]))!=(0|(e=0|ar[c+20>>2])))for(;b=0|We(0|Kf(f,0|ar[(b=a+8|0)>>2],0|ar[b+4>>2]),19588,1),Kf(b,0|ar[(u=a+16|0)>>2],0|ar[u+4>>2]),0==(0|ar[(u=a)>>2])&0==(0|ar[u+4>>2])||Kf(u=0|We(f,22972,7),0|ar[(b=a)>>2],0|ar[b+4>>2]),We(f,20449,1),(0|(a=a+40|0))!=(0|e););We(f,30086,1),c=c+32|0}while((0|c)!=(0|l))}if(Ie(A,t),ar[f>>2]=4304,ar[n>>2]=4324,ar[t>>2]=4340,0<=(0|tr[11+i>>0]))return kf(t),bf(n),void(ur=o);vu(0|ar[i>>2]),kf(t),bf(n),ur=o},function(A,e,r){A|=0,r|=0;var i,f,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0;if(ur=(f=ur)+32|0,p=f,(0|(o=0|ar[(k=(e|=0)+56|0)>>2]))!=(0|(u=0|ar[(h=e+60|0)>>2]))){n=0;do{if(1==(0|tr[o+4>>0])&&(0|(c=0|ar[o+16>>2]))!=(0|(l=0|ar[o+20>>2])))for(a=c;n=(0|ar[a+28>>2])+n-(0|ar[a+24>>2])|0,(0|(a=a+40|0))!=(0|l););o=o+32|0}while((0|o)!=(0|u));if(0|n&&(UA(r,n+8|0),UA(r,1768186228),(0|(t=0|ar[k>>2]))!=(0|(b=0|ar[h>>2]))))do{if(1==(0|tr[t+4>>0])&&(0|(s=0|ar[t+16>>2]))!=(0|(d=0|ar[t+20>>2])))for(n=s;zA(r,n+24|0),(0|(n=n+40|0))!=(0|d););t=t+32|0}while((0|t)!=(0|b))}if(Z=0|ar[(a=r+12|0)>>2],jA(r,0|tr[e+36>>0]?12:8),ar[e+68>>2]=ar[a>>2],n=(t=(255&(a=0|tr[e+37>>0]))<2)?4:6,(0|(o=0|ar[k>>2]))!=(0|(i=0|ar[h>>2]))){w=e+73|0,v=e+74|0,m=e+76|0,g=(d=t?2:4)+(k=a<<24>>24?2:0)+(h=0|cr[e+75>>0])+4|0,t=a;do{l=n+4+h+d+k|0,c=a=0|ar[o+16>>2],s=0|ar[o+20>>2];do{if((0|a)==(0|s))n=l;else{if(u=0|cr[w>>0],b=0|cr[v>>0],!(t<<24>>24)){n=g+n+(0|br(((s+-40-c|0)>>>0)/40|0,u+b|0))+u+b|0,t=0;break}for(c=0|cr[m>>0],n=l;n=u+(c+n)+b|0,(0|(a=a+40|0))!=(0|s););}}while(0);o=o+32|0}while((0|o)!=(0|i))}if(jA(r,n),KA(p,e,r,Z),0<=(0|tr[(n=p+8|0)+11>>0]))return Z=0|ar[(Z=r=56592)>>2],r=0|ar[(r=r+4|0)>>2],ar[(e=p=A)>>2]=Z,ar[(p=p+4|0)>>2]=r,yu(A=A+8|0,56600),void(ur=f);vu(0|ar[n>>2]),Z=0|ar[(Z=r=56592)>>2],r=0|ar[(r=r+4|0)>>2],ar[(e=p=A)>>2]=Z,ar[(p=p+4|0)>>2]=r,yu(A=A+8|0,56600),ur=f},function(A,e,r){A|=0;var i,f,n,t,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0,C=0,G=0,V=0,F=0,R=0,N=0,_=0,Y=0,Q=0,D=0,J=0,M=0,T=0,U=0,S=0,O=0,z=0,j=0,H=0,x=0,P=0,L=0,K=0,q=0,$=0;if(ur=(t=ur)+384|0,q=t+144|0,l=($=t)+340|0,f=t+184|0,n=t+328|0,qA(o=t+352|0,e|=0,r|=0),(0|tr[(o=o+8|0)+11>>0])<0&&vu(0|ar[o>>2]),a=0|VA(r),o=1<(255&(K=0|tr[(i=e+37|0)>>0]))?15&a:0,2e4<(0|(K=(255&K)<2?65535&(0|VA(r)):0|FA(r))))return e=$+64|0,ar[(c=$+8|0)>>2]=4524,a=$+12|0,ar[$>>2]=188,ar[e>>2]=208,Jf($+64|(ar[$+4>>2]=0),a),ar[$+136>>2]=0,ar[$+140>>2]=-1,ar[$>>2]=4504,ar[e>>2]=4544,ar[c>>2]=4524,Sf(a),ar[a>>2]=4340,ar[(c=$+44|0)>>2]=0,ar[c+4>>2]=0,ar[c+8>>2]=0,ar[c+12>>2]=0,ar[$+60>>2]=24,ar[q>>2]=0,ar[q+4>>2]=0,ar[q+8>>2]=0,Xe(a,q),(0|tr[q+11>>0])<0&&vu(0|ar[q>>2]),We(0|Pf(0|We(0|Pf(0|We(o=$+8|0,22754,18),K),22773,44),2e4),22818,7),Ie(l,a),oo(A,6,1e3,l),(0|tr[l+11>>0])<0&&vu(0|ar[l>>2]),ar[$>>2]=4504,ar[e>>2]=4544,ar[o>>2]=4524,ar[a>>2]=4340,(0|tr[c+11>>0])<0&&vu(0|ar[c>>2]),kf(a),bf(e),void(ur=t);A:do{if(0<(0|K)){W=$+4|0,I=$+6|0,C=$+8|0,x=(65535&a)>>>4&255,F=12+f|0,R=4+f|0,N=G=64+f|0,_=136+f|0,Y=140+f|0,D=60+f|0,J=q+11|0,M=V=8+f|0,T=11+n|0,U=(Q=44+f|0)+11|0,O=$+20|0,z=r+24|0,j=e+60|0,H=e+64|0,B=e+56|0,E=S=$+16|0,X=0!=(0|o),y=255&o,g=q+8|0,p=(65535&a)>>>12&255,Z=q+16|0,m=(65535&a)>>>8&255,k=$+24|0,w=q+28|0,v=h=q+24|0,d=0;e:for(;;){for(ar[$>>2]=0,e=(o=I)+22|(tr[W>>0]=0);(0|(o=o+2|(or[o>>1]=0)))<(0|e););switch(o=(0|cr[i>>0])<2?65535&(0|VA(r)):0|FA(r),ar[$>>2]=o,0|tr[i>>0]&&(s=15&(0|VA(r)),tr[W>>0]=s),s=0|VA(r),or[I>>1]=s,ar[(s=C)>>2]=0,ar[s+4>>2]=0,15&x){case 4:o=0|FA(r),e=0,L=26;break;case 8:o=0|FA(r),ar[(e=C)>>2]=0,ar[e+4>>2]=o,e=C,o=0|FA(r)|ar[e>>2],e=0|ar[e+4>>2],L=26}26==(0|L)&&(L=0,ar[(s=C)>>2]=o,ar[s+4>>2]=e),s=65535&(o=0|VA(r));do{if((65535&o)<=32){r:do{if(o<<16>>16)for(b=0;;){for(e=(o=q)+36|0;(0|(o=o+4|(ar[o>>2]=0)))<(0|e););i:do{if(X&1<(0|cr[i>>0]))switch(15&y){case 4:l=0|FA(r),ar[(u=q)>>2]=l,ar[u+4>>2]=0;break i;case 8:a=0|FA(r),ar[(c=q)>>2]=0,ar[c+4>>2]=a,c=0|FA(r),l=0|ar[(a=q)+4>>2],ar[(u=q)>>2]=ar[a>>2]|c,ar[u+4>>2]=l;break i;default:break i}}while(0);switch(ar[(u=g)>>2]=0,ar[u+4>>2]=0,15&p){case 4:o=0|FA(r),e=0,L=44;break;case 8:o=0|FA(r),ar[(e=g)>>2]=0,ar[e+4>>2]=o,e=g,o=0|FA(r)|ar[e>>2],e=0|ar[e+4>>2],L=44}switch(44==(0|L)&&(L=0,ar[(u=g)>>2]=o,ar[u+4>>2]=e),ar[(u=Z)>>2]=0,ar[u+4>>2]=0,15&m){case 4:o=0|FA(r),e=0,L=48;break;case 8:o=0|FA(r),ar[(e=Z)>>2]=0,ar[e+4>>2]=o,e=Z,o=0|FA(r)|ar[e>>2],e=0|ar[e+4>>2],L=48}if(48==(0|L)&&(L=0,ar[(u=Z)>>2]=o,ar[u+4>>2]=e),(0|(e=0|ar[O>>2]))==(0|ar[k>>2]))Qt(E,q),o=0|ar[h>>2];else{if(ar[e>>2]=ar[q>>2],ar[e+4>>2]=ar[q+4>>2],ar[e+8>>2]=ar[q+8>>2],ar[e+12>>2]=ar[q+12>>2],ar[e+16>>2]=ar[q+16>>2],ar[e+20>>2]=ar[q+20>>2],ar[(a=e+24|0)>>2]=0,ar[(u=e+28|0)>>2]=0,o=(ar[e+32>>2]=0)|ar[v>>2],c=(0|ar[w>>2])-o|0){if((0|c)<0){L=52;break e}l=0|hu(c),ar[u>>2]=l,ar[a>>2]=l,ar[e+32>>2]=l+c,o=0|ar[v>>2],0<(0|(e=(0|ar[w>>2])-o|0))&&(hb(0|l,0|o,0|e),ar[u>>2]=l+e)}ar[O>>2]=40+(0|ar[O>>2])}if(0|o&&((0|ar[w>>2])!=(0|o)&&(ar[w>>2]=o),vu(o)),(0|s)<=(0|(b=b+1|0)))break r}}while(0);if(!(0|tr[z>>0])){if((0|(o=0|ar[j>>2]))==(0|ar[H>>2])){Jt(B,$),l=0;break}ar[o>>2]=ar[$>>2],ar[o+4>>2]=ar[$+4>>2],ar[o+8>>2]=ar[$+8>>2],ar[o+12>>2]=ar[$+12>>2],Dt(o+16|0,E),ar[j>>2]=32+(0|ar[j>>2]),l=0;break}l=0}else ar[V>>2]=4524,ar[f>>2]=188,ar[G>>2]=208,ar[R>>2]=0,Jf(N,F),ar[_>>2]=0,ar[Y>>2]=-1,ar[f>>2]=4504,ar[G>>2]=4544,ar[V>>2]=4524,Sf(F),ar[F>>2]=4340,ar[Q>>2]=0,ar[Q+4>>2]=0,ar[Q+8>>2]=0,ar[Q+12>>2]=0,ar[D>>2]=24,ar[q>>2]=0,ar[q+4>>2]=0,ar[q+8>>2]=0,Xe(F,q),(0|tr[J>>0])<0&&vu(0|ar[q>>2]),We(0|Pf(0|We(0|Pf(0|We(M,22826,31),s),22858,26),32),18904,2),Ie(n,F),oo(A,6,1e3,n),(0|tr[T>>0])<0&&vu(0|ar[n>>2]),ar[f>>2]=4504,ar[G>>2]=4544,ar[M>>2]=4524,ar[F>>2]=4340,(0|tr[U>>0])<0&&vu(0|ar[Q>>2]),kf(F),bf(G),l=1}while(0);if(0|(o=0|ar[S>>2])){if((0|(e=0|ar[O>>2]))!=(0|o)){for(;a=e+-40|0,ar[O>>2]=a,(0|(e=(c=0|ar[e+-16>>2])?((0|ar[(e=e+-12|0)>>2])!=(0|c)&&(ar[e>>2]=c),vu(c),0|ar[O>>2]):a))!=(0|o););o=0|ar[S>>2]}vu(o)}if(d=d+1|0,0|l){L=80;break}if((0|K)<=(0|d)){P=z;break A}}if(52==(0|L))zl();else if(80==(0|L))return void(ur=t)}else P=r+24|0}while(0);0|tr[P>>0]?(ar[q>>2]=0,ar[q+4>>2]=0,ar[q+8>>2]=0,oo(A,2,100,q),(0|tr[q+11>>0])<0&&vu(0|ar[q>>2])):(q=0|ar[(K=56592)+4>>2],ar[($=A)>>2]=ar[K>>2],ar[$+4>>2]=q,yu(A+8|0,56600)),ur=t},function(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o,a,c=0,l=0,u=0;if(ur=(a=ur)+160|0,f=a+136|0,t=(n=a)+56|0,o=n+4|0,ar[n>>2]=292,ar[t>>2]=312,Jf(n+56|0,o),ar[n+128>>2]=0,ar[n+132>>2]=-1,ar[n>>2]=4304,ar[t>>2]=4324,Sf(o),ar[o>>2]=4340,ar[(i=n+36|0)>>2]=0,ar[4+i>>2]=0,ar[8+i>>2]=0,ar[12+i>>2]=0,ar[n+52>>2]=16,ar[f>>2]=0,ar[4+f>>2]=0,ar[8+f>>2]=0,Xe(o,f),(0|tr[11+f>>0])<0&&vu(0|ar[f>>2]),LA(f,e,r),We(n,(u=(l=0|tr[(c=11+f|0)>>0])<<24>>24<0)?0|ar[f>>2]:f,u?0|ar[4+f>>2]:255&l),(0|tr[c>>0])<0&&vu(0|ar[f>>2]),ne(f,e,r),We(n,(c=(l=0|tr[(u=11+f|0)>>0])<<24>>24<0)?0|ar[f>>2]:f,c?0|ar[4+f>>2]:255&l),(0|tr[u>>0])<0&&vu(0|ar[f>>2]),Ie(A,o),ar[n>>2]=4304,ar[t>>2]=4324,ar[o>>2]=4340,0<=(0|tr[11+i>>0]))return kf(o),bf(t),void(ur=a);vu(0|ar[i>>2]),kf(o),bf(t),ur=a},function(A,e,r){A|=0,e|=0;var i,f,n,t=0,o=0,a=0,c=0,l=0,u=0;ur=(n=ur)+32|0,i=n,f=0|ar[(r|=0)+12>>2],jA(r,0|tr[e+36>>0]?12:8),a=e+48|0,SA(r,0|tr[e+37>>0]?4:2,(0|ar[a>>2])-(0|ar[e+44>>2])>>3,0),o=0|ar[e+44>>2],a=0|ar[a>>2];A:do{if((0|o)==(0|a))t=A+8|0,l=8;else for(c=(t=A+8|0)+11|0;;){if(u=0|ar[o>>2],ns[127&ar[12+(0|ar[u>>2])>>2]](A,u,r),0|ar[A>>2])break A;if((0|tr[c>>0])<0&&vu(0|ar[t>>2]),(0|(o=o+8|0))==(0|a)){l=8;break}}}while(0);8==(0|l)&&(l=0|ar[(c=56592)+4>>2],ar[(u=A)>>2]=ar[c>>2],ar[u+4>>2]=l,yu(t,56600)),KA(i,e,r,f),ur=(0<=(0|tr[(t=i+8|0)+11>>0])||vu(0|ar[t>>2]),n)},function(A,e,r){A|=0;var i,f=0;return ur=(i=ur)+32|0,qA(f=i,e|=0,r|=0),(0|tr[(f=f+8|0)+11>>0])<0&&vu(0|ar[f>>2]),(f=0|tr[e+37>>0]?0|FA(r):65535&(0|VA(r)))?$A(A,e,r,-1):(e=0|ar[(f=56592)+4>>2],ar[(r=A)>>2]=ar[f>>2],ar[r+4>>2]=e,yu(A+8|0,56600)),void(ur=i)},function(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o,a=0,c=0,l=0,u=0;if(ur=(o=ur)+160|0,a=o+136|0,n=(f=o)+56|0,t=f+4|0,ar[f>>2]=292,ar[n>>2]=312,Jf(f+56|0,t),ar[f+128>>2]=0,ar[f+132>>2]=-1,ar[f>>2]=4304,ar[n>>2]=4324,Sf(t),ar[t>>2]=4340,ar[(i=f+36|0)>>2]=0,ar[4+i>>2]=0,ar[8+i>>2]=0,ar[12+i>>2]=0,ar[f+52>>2]=16,ar[a>>2]=0,ar[a+4>>2]=0,ar[a+8>>2]=0,Xe(t,a),(0|tr[a+11>>0])<0&&vu(0|ar[a>>2]),LA(a,e,r),We(f,(u=(l=0|tr[(c=a+11|0)>>0])<<24>>24<0)?0|ar[a>>2]:a,u?0|ar[a+4>>2]:255&l),(0|tr[c>>0])<0&&vu(0|ar[a>>2]),0<(0|ar[r>>2]))for(a=0;We(f,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(c=0|We(f,22462,9),c=0|We(0|Lf(c,0|ar[e+56>>2]),30086,1),0<(0|ar[r>>2]))for(a=0;We(c,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(c=0|We(c,22472,23),c=0|We(0|xf(c,0|or[e+60>>1]),30086,1),0<(0|ar[r>>2]))for(a=0;We(c,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(a=0|We(c,22496,11),c=0|We(0|We(a,(u=(c=0|tr[(l=e+64|0)+11>>0])<<24>>24<0)?0|ar[l>>2]:l,u?0|ar[e+68>>2]:255&c),30086,1),0<(0|ar[r>>2]))for(a=0;We(c,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(a=0|We(c,22508,11),c=0|We(0|We(a,(u=(c=0|tr[(l=e+76|0)+11>>0])<<24>>24<0)?0|ar[l>>2]:l,u?0|ar[e+80>>2]:255&c),30086,1),0<(0|ar[r>>2]))for(a=0;We(c,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(a=0|We(c,22520,14),c=0|We(0|We(a,(u=(c=0|tr[(l=e+88|0)+11>>0])<<24>>24<0)?0|ar[l>>2]:l,u?0|ar[e+92>>2]:255&c),30086,1),0<(0|ar[r>>2]))for(a=0;We(c,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(a=0|We(c,22535,18),c=0|We(0|We(a,(u=(c=0|tr[(l=e+100|0)+11>>0])<<24>>24<0)?0|ar[l>>2]:l,u?0|ar[e+104>>2]:255&c),30086,1),0<(0|ar[r>>2]))for(a=0;We(c,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(a=0|We(c,22554,15),c=0|We(0|We(a,(u=(c=0|tr[(l=e+112|0)+11>>0])<<24>>24<0)?0|ar[l>>2]:l,u?0|ar[e+116>>2]:255&c),30086,1),0<(0|ar[r>>2]))for(a=0;We(c,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(l=(u=0|We(c,22570,13))+(0|ar[(0|ar[u>>2])-12>>2])+4|0,ar[l>>2]=1|ar[l>>2],We(0|Hf(u,0!=(0|tr[e+124>>0])),30086,1),Ie(A,t),ar[f>>2]=4304,ar[n>>2]=4324,ar[t>>2]=4340,0<=(0|tr[11+i>>0]))return kf(t),bf(n),void(ur=o);vu(0|ar[i>>2]),kf(t),bf(n),ur=o},function(A,e,r){A|=0,e|=0;var i,f=0,n=0,t=0,o=0,a=0,c=0,l=0;ur=(i=ur)+32|0,c=i,l=0|ar[(r|=0)+12>>2],jA(r,0|tr[e+36>>0]?12:8),(255&(f=0|tr[(n=e+37|0)>>0]))<2?(MA(r,65535&ar[e+56>>2]),MA(r,0|or[e+60>>1]),OA(r,e+76|0),OA(r,e+88|0),OA(r,e+100|0),1<(255&(f=0|tr[n>>0]))&&(t=3)):t=3;A:do{if(3==(0|t)){switch(f<<24>>24){case 2:MA(r,65535&ar[e+56>>2]);break;case 3:UA(r,0|ar[e+56>>2])}MA(r,0|or[e+60>>1]),(n=(f=0|tr[(o=(a=e+64|0)+11|0)>>0])<<24>>24<0)?f=0|ar[e+68>>2]:f&=255,f?(f=n?0|ar[a>>2]:a,UA(r,tr[f+1>>0]<<16|cr[f>>0]<<24|tr[f+2>>0]<<8|tr[f+3>>0])):UA(r,0),OA(r,e+76|0),n=0|tr[o>>0],f=0|ar[(t=e+68|0)>>2];do{if(4==(0|(n<<24>>24<0?f:255&n))){if(0|Yu(a,0,-1,22452,4)){n=0|tr[o>>0],f=0|ar[t>>2];break}OA(r,e+88|0),OA(r,e+100|0);break A}}while(0);4==(0|(n<<24>>24<0?f:255&n))&&0==(0|Yu(a,0,-1,22457,4))&&OA(r,e+112|0)}}while(0);if(KA(c,e,r,l),0<=(0|tr[(f=c+8|0)+11>>0]))return e=0|ar[(e=c=56592)>>2],c=0|ar[(c=c+4|0)>>2],ar[(r=l=A)>>2]=e,ar[(l=l+4|0)>>2]=c,yu(A=A+8|0,56600),void(ur=i);vu(0|ar[f>>2]),e=0|ar[(e=c=56592)>>2],c=0|ar[(c=c+4|0)>>2],ar[(r=l=A)>>2]=e,ar[(l=l+4|0)>>2]=c,yu(A=A+8|0,56600),ur=i},function(A,e,r){A|=0;var i,f=0,n=0,t=0,o=0,a=0;ur=(i=ur)+32|0,a=i+20|0,qA(f=i,e|=0,r|=0),(0|tr[(f=f+8|0)+11>>0])<0&&vu(0|ar[f>>2]),(255&(f=0|tr[(t=e+37|0)>>0]))<2?(f=65535&(0|VA(r)),ar[e+56>>2]=f,f=0|VA(r),or[e+60>>1]=f,RA(a,r),(0|tr[(n=(f=e+76|0)+11|0)>>0])<0?(tr[ar[f>>2]>>0]=0,ar[e+80>>2]=0):(tr[f>>0]=0,tr[n>>0]=0),Cu(f,0),ar[f>>2]=ar[a>>2],ar[f+4>>2]=ar[a+4>>2],ar[f+8>>2]=ar[a+8>>2],RA(a,r),(0|tr[(n=(f=e+88|0)+11|0)>>0])<0?(tr[ar[f>>2]>>0]=0,ar[e+92>>2]=0):(tr[f>>0]=0,tr[n>>0]=0),Cu(f,0),ar[f>>2]=ar[a>>2],ar[f+4>>2]=ar[a+4>>2],ar[f+8>>2]=ar[a+8>>2],RA(a,r),(0|tr[(n=(f=e+100|0)+11|0)>>0])<0?(tr[ar[f>>2]>>0]=0,ar[e+104>>2]=0):(tr[f>>0]=0,tr[n>>0]=0),Cu(f,0),ar[f>>2]=ar[a>>2],ar[f+4>>2]=ar[a+4>>2],ar[f+8>>2]=ar[a+8>>2],1<(255&(f=0|tr[t>>0]))&&(o=14)):o=14;A:do{if(14==(0|o)){if(tr[e+124>>0]=1&ar[e+40>>2],f=f<<24>>24==2?65535&(0|VA(r)):0|FA(r),ar[e+56>>2]=f,o=0|VA(r),or[e+60>>1]=o,0|(o=0|FA(r))&&(tr[a>>0]=0,tr[a+1>>0]=0,tr[a+2>>0]=0,tr[a+3>>0]=0,tr[a+4>>0]=0,f=(tr[a+5>>0]=0)|kb(0|o),(0|tr[(t=(n=e+64|0)+11|0)>>0])<0?(tr[ar[n>>2]>>0]=0,ar[e+68>>2]=0):(tr[n>>0]=0,tr[t>>0]=0),Cu(n,0),ar[e+64>>2]=f,tr[e+68>>0]=0,tr[(t=e+69|0)>>0]=0|tr[a>>0],tr[t+1>>0]=0|tr[a+1>>0],tr[t+2>>0]=0|tr[a+2>>0],tr[t+3>>0]=0|tr[a+3>>0],tr[t+4>>0]=0|tr[a+4>>0],tr[t+5>>0]=0|tr[a+5>>0],tr[e+75>>0]=4),RA(a,r),(0|tr[(n=(f=e+76|0)+11|0)>>0])<0?(tr[ar[f>>2]>>0]=0,ar[e+80>>2]=0):(tr[f>>0]=0,tr[n>>0]=0),Cu(f,0),ar[f>>2]=ar[a>>2],ar[f+4>>2]=ar[a+4>>2],ar[f+8>>2]=ar[a+8>>2],1970432288<=(0|o)){switch(0|o){case 1970432288:break;default:break A}RA(a,r),(0|tr[(n=(f=e+112|0)+11|0)>>0])<0?(tr[ar[f>>2]>>0]=0,ar[e+116>>2]=0):(tr[f>>0]=0,tr[n>>0]=0),Cu(f,0),ar[f>>2]=ar[a>>2],ar[f+4>>2]=ar[a+4>>2],ar[f+8>>2]=ar[a+8>>2];break}switch(0|o){case 1835625829:break;default:break A}RA(a,r),(0|tr[(n=(f=e+88|0)+11|0)>>0])<0?(tr[ar[f>>2]>>0]=0,ar[e+92>>2]=0):(tr[f>>0]=0,tr[n>>0]=0),Cu(f,0),ar[f>>2]=ar[a>>2],ar[f+4>>2]=ar[a+4>>2],ar[f+8>>2]=ar[a+8>>2],RA(a,r),(0|tr[(n=(f=e+100|0)+11|0)>>0])<0?(tr[ar[f>>2]>>0]=0,ar[e+104>>2]=0):(tr[f>>0]=0,tr[n>>0]=0),Cu(f,0),ar[f>>2]=ar[a>>2],ar[f+4>>2]=ar[a+4>>2],ar[f+8>>2]=ar[a+8>>2]}}while(0);if(!(0|tr[r+24>>0]))return r=0|ar[(e=56592)+4>>2],ar[(a=A)>>2]=ar[e>>2],ar[a+4>>2]=r,yu(A+8|0,56600),void(ur=i);ar[a>>2]=0,ar[a+4>>2]=0,ar[a+8>>2]=0,oo(A,2,100,a),ur=(0<=(0|tr[a+11>>0])||vu(0|ar[a>>2]),i)},function(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o,a,c=0,l=0,u=0;if(ur=(a=ur)+160|0,f=a+136|0,t=(n=a)+56|0,o=n+4|0,ar[n>>2]=292,ar[t>>2]=312,Jf(n+56|0,o),ar[n+128>>2]=0,ar[n+132>>2]=-1,ar[n>>2]=4304,ar[t>>2]=4324,Sf(o),ar[o>>2]=4340,ar[(i=n+36|0)>>2]=0,ar[4+i>>2]=0,ar[8+i>>2]=0,ar[12+i>>2]=0,ar[n+52>>2]=16,ar[f>>2]=0,ar[4+f>>2]=0,ar[8+f>>2]=0,Xe(o,f),(0|tr[11+f>>0])<0&&vu(0|ar[f>>2]),LA(f,e,r),We(n,(u=(l=0|tr[(c=11+f|0)>>0])<<24>>24<0)?0|ar[f>>2]:f,u?0|ar[4+f>>2]:255&l),(0|tr[c>>0])<0&&vu(0|ar[f>>2]),ne(f,e,r),We(n,(c=(l=0|tr[(u=11+f|0)>>0])<<24>>24<0)?0|ar[f>>2]:f,c?0|ar[4+f>>2]:255&l),(0|tr[u>>0])<0&&vu(0|ar[f>>2]),Ie(A,o),ar[n>>2]=4304,ar[t>>2]=4324,ar[o>>2]=4340,0<=(0|tr[11+i>>0]))return kf(o),bf(t),void(ur=a);vu(0|ar[i>>2]),kf(o),bf(t),ur=a},function(A,e,r){$A(A|=0,e|=0,r|=0,-1)},function(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o,a,c=0,l=0,u=0;if(ur=(a=ur)+160|0,f=a+136|0,t=(n=a)+56|0,o=n+4|0,ar[n>>2]=292,ar[t>>2]=312,Jf(n+56|0,o),ar[n+128>>2]=0,ar[n+132>>2]=-1,ar[n>>2]=4304,ar[t>>2]=4324,Sf(o),ar[o>>2]=4340,ar[(i=n+36|0)>>2]=0,ar[4+i>>2]=0,ar[8+i>>2]=0,ar[12+i>>2]=0,ar[n+52>>2]=16,ar[f>>2]=0,ar[4+f>>2]=0,ar[8+f>>2]=0,Xe(o,f),(0|tr[11+f>>0])<0&&vu(0|ar[f>>2]),LA(f,e,r),We(n,(u=(l=0|tr[(c=11+f|0)>>0])<<24>>24<0)?0|ar[f>>2]:f,u?0|ar[4+f>>2]:255&l),(0|tr[c>>0])<0&&vu(0|ar[f>>2]),ne(f,e,r),We(n,(c=(l=0|tr[(u=11+f|0)>>0])<<24>>24<0)?0|ar[f>>2]:f,c?0|ar[4+f>>2]:255&l),(0|tr[u>>0])<0&&vu(0|ar[f>>2]),Ie(A,o),ar[n>>2]=4304,ar[t>>2]=4324,ar[o>>2]=4340,0<=(0|tr[11+i>>0]))return kf(o),bf(t),void(ur=a);vu(0|ar[i>>2]),kf(o),bf(t),ur=a},function(A,e,r){$A(A|=0,e|=0,r|=0,-1)},function(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o,a=0,c=0,l=0,u=0,b=0;if(ur=(o=ur)+160|0,a=o+136|0,n=(f=o)+56|0,t=f+4|0,ar[f>>2]=292,ar[n>>2]=312,Jf(f+56|0,t),ar[f+128>>2]=0,ar[f+132>>2]=-1,ar[f>>2]=4304,ar[n>>2]=4324,Sf(t),ar[t>>2]=4340,ar[(i=f+36|0)>>2]=0,ar[4+i>>2]=0,ar[8+i>>2]=0,ar[12+i>>2]=0,ar[f+52>>2]=16,ar[a>>2]=0,ar[a+4>>2]=0,ar[a+8>>2]=0,Xe(t,a),(0|tr[a+11>>0])<0&&vu(0|ar[a>>2]),LA(a,e,r),We(f,(c=(l=0|tr[(u=a+11|0)>>0])<<24>>24<0)?0|ar[a>>2]:a,c?0|ar[a+4>>2]:255&l),(0|tr[u>>0])<0&&vu(0|ar[a>>2]),(0|(a=0|ar[e+56>>2]))!=(0|(u=0|ar[e+60>>2]))){l=a,a=0|ar[r>>2];do{if(0<(0|a))for(a=0;We(f,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(a=0|We(f,22139,26),We(0|Lf(a,0|ar[l>>2]),30086,1),a=1+(0|ar[r>>2])|0,ar[r>>2]=a,(0|(e=0|ar[l+4>>2]))!=(0|(c=0|ar[l+8>>2])))do{if(0<(0|a))for(a=0;We(f,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););a=0|We(f,22166,16),b=(a=0|We(0|xf(a,0|or[e+2>>1]),22183,13))+(0|ar[(0|ar[a>>2])-12>>2])+4|0,ar[b>>2]=1|ar[b>>2],We(0|Hf(a,0!=(0|tr[e>>0])),18904,2),e=e+4|0,a=0|ar[r>>2]}while((0|e)!=(0|c));a=(0|a)<1?0:a+-1|0,ar[r>>2]=a,l=l+16|0}while((0|l)!=(0|u))}if(Ie(A,t),ar[f>>2]=4304,ar[n>>2]=4324,ar[t>>2]=4340,0<=(0|tr[11+i>>0]))return kf(t),bf(n),void(ur=o);vu(0|ar[i>>2]),kf(t),bf(n),ur=o},function(A,e,r){A|=0,e|=0;var i,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0;if(ur=(i=ur)+32|0,b=i,s=0|ar[(r|=0)+12>>2],jA(r,0|tr[e+36>>0]?12:8),f=e+56|0,UA(r,(0|ar[(c=e+60|0)>>2])-(0|ar[f>>2])>>4),(0|(f=0|ar[f>>2]))!=(0|(c=0|ar[c>>2]))){l=e+37|0,u=e+40|0;do{if(n=0|ar[f>>2],0|tr[l>>0]?UA(r,n):MA(r,65535&n),n=f+4|0,JA(r,((0|ar[(a=f+8|0)>>2])-(0|ar[n>>2])|0)>>>2&255),(0|(n=0|ar[n>>2]))!=(0|(a=0|ar[a>>2])))for(;t=0!=(0|tr[n>>0]),o=0|lr[n+2>>1],1&ar[u>>2]?MA(r,65535&(32767&o|(t?32768:0))):JA(r,255&(127&o|(t?128:0))),(0|(n=n+4|0))!=(0|a););f=f+16|0}while((0|f)!=(0|c))}if(KA(b,e,r,s),0<=(0|tr[(f=b+8|0)+11>>0]))return r=0|ar[(r=b=56592)>>2],b=0|ar[(b=b+4|0)>>2],ar[(u=s=A)>>2]=r,ar[(s=s+4|0)>>2]=b,yu(A=A+8|0,56600),void(ur=i);vu(0|ar[f>>2]),r=0|ar[(r=b=56592)>>2],b=0|ar[(b=b+4|0)>>2],ar[(u=s=A)>>2]=r,ar[(s=s+4|0)>>2]=b,yu(A=A+8|0,56600),ur=i},function(A,e,r){A|=0;var i,f,n,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0;ur=(n=ur)+48|0,E=n+24|0,qA(t=(X=n)+4|0,e|=0,r|=0),(0|tr[(t=t+8|0)+11>>0])<0&&vu(0|ar[t>>2]),i=0|FA(r),f=r+24|0;A:do{if(0<(0|i)){for(h=r+16|0,v=E+8|0,g=e+37|0,Z=e+60|0,p=e+64|0,y=e+56|0,B=w=E+4|0,s=e+40|0,d=X+2|0,k=m=E+12|0,b=0;;){if(0|tr[f>>0])break A;if(0==(0|ar[(u=h)>>2])&0==(0|ar[u+4>>2]))break A;if(ar[w>>2]=0,ar[v>>2]=0,t=(ar[m>>2]=0)|tr[g>>0]?0|FA(r):65535&(0|VA(r)),ar[E>>2]=t,c=255&(u=0|IA(r)),u<<24>>24)for(a=0;1&ar[s>>2]?(t=(65535&(o=0|VA(r)))>>>15&255,e=32767):(t=(255&(o=0|IA(r)))>>>7,e=127,o&=255),tr[X>>0]=t,or[d>>1]=65535&o&e,(0|(t=0|ar[v>>2]))==(0|ar[k>>2])?Nt(B,X):(u=0|ar[X>>2],or[t>>1]=u,or[t+2>>1]=u>>>16,ar[v>>2]=4+(0|ar[v>>2])),(0|(a=a+1|0))<(0|c););if((0|(o=0|ar[Z>>2]))==(0|ar[p>>2]))Rt(y,E),t=0|ar[w>>2];else{if(ar[o>>2]=ar[E>>2],ar[(a=o+4|0)>>2]=0,ar[(u=o+8|0)>>2]=0,t=(ar[o+12>>2]=0)|ar[B>>2],c=(e=(0|ar[v>>2])-t|0)>>2){if(1073741823<c>>>0)break;l=0|hu(e),ar[u>>2]=l,ar[a>>2]=l,ar[o+12>>2]=l+(c<<2),t=0|ar[B>>2],0<(0|(e=(0|ar[v>>2])-t|0))&&(hb(0|l,0|t,0|e),ar[u>>2]=l+(e>>>2<<2))}ar[Z>>2]=16+(0|ar[Z>>2])}if(0|t&&((0|(e=0|ar[v>>2]))!=(0|t)&&(ar[v>>2]=e+(~((e+-4-t|0)>>>2)<<2)),vu(t)),(0|i)<=(0|(b=b+1|0)))break A}zl()}}while(0);if(!(0|tr[f>>0]))return E=0|ar[(r=56592)+4>>2],ar[(X=A)>>2]=ar[r>>2],ar[X+4>>2]=E,yu(A+8|0,56600),void(ur=n);ar[E>>2]=0,ar[E+4>>2]=0,ar[E+8>>2]=0,oo(A,2,100,E),ur=(0<=(0|tr[E+11>>0])||vu(0|ar[E>>2]),n)},function(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o,a,c=0,l=0,u=0;if(ur=(o=ur)+160|0,c=o+136|0,n=(f=o)+56|0,t=f+4|0,ar[f>>2]=292,ar[n>>2]=312,Jf(f+56|0,t),ar[f+128>>2]=0,ar[f+132>>2]=-1,ar[f>>2]=4304,ar[n>>2]=4324,Sf(t),ar[t>>2]=4340,ar[(i=f+36|0)>>2]=0,ar[4+i>>2]=0,ar[8+i>>2]=0,ar[12+i>>2]=0,ar[f+52>>2]=16,ar[c>>2]=0,ar[c+4>>2]=0,ar[c+8>>2]=0,Xe(t,c),(0|tr[c+11>>0])<0&&vu(0|ar[c>>2]),LA(c,e,r),We(f,(u=(a=0|tr[(l=c+11|0)>>0])<<24>>24<0)?0|ar[c>>2]:c,u?0|ar[c+4>>2]:255&a),(0|tr[l>>0])<0&&vu(0|ar[c>>2]),0<(0|ar[r>>2]))for(c=0;We(f,18862,2),(0|(c=c+1|0))<(0|ar[r>>2]););if(l=0|We(f,22025,13),l=0|We(0|Lf(l,0|ar[e+56>>2]),30086,1),0<(0|ar[r>>2]))for(c=0;We(l,18862,2),(0|(c=c+1|0))<(0|ar[r>>2]););if(u=0|We(l,22039,14),We(0|Lf(u,0|ar[e+60>>2]),30086,1),Ie(A,t),ar[f>>2]=4304,ar[n>>2]=4324,ar[t>>2]=4340,0<=(0|tr[11+i>>0]))return kf(t),bf(n),void(ur=o);vu(0|ar[i>>2]),kf(t),bf(n),ur=o},function(A,e,r){A|=0,e|=0;var i,f=0,n=0;ur=(i=ur)+32|0,f=i,n=0|ar[(r|=0)+12>>2],jA(r,0|tr[e+36>>0]?12:8),UA(r,0|ar[e+56>>2]),UA(r,0|ar[e+60>>2]),KA(f,e,r,n),(0|tr[(e=f+8|0)+11>>0])<0&&vu(0|ar[e>>2]),f=0|ar[(r=56592)+4>>2],ar[(n=A)>>2]=ar[r>>2],ar[n+4>>2]=f,yu(A+8|0,56600),ur=i},function(A,e,r){A|=0;var i,f=0,n=0;if(ur=(i=ur)+32|0,f=i+20|0,qA(n=i,e|=0,r|=0),(0|tr[(n=n+8|0)+11>>0])<0&&vu(0|ar[n>>2]),n=0|FA(r),ar[e+56>>2]=n,n=0|FA(r),ar[e+60>>2]=n,!(0|tr[r+24>>0]))return f=0|ar[(r=56592)+4>>2],ar[(n=A)>>2]=ar[r>>2],ar[n+4>>2]=f,yu(A+8|0,56600),void(ur=i);ar[f>>2]=0,ar[f+4>>2]=0,ar[f+8>>2]=0,oo(A,2,100,f),ur=(0<=(0|tr[f+11>>0])||vu(0|ar[f>>2]),i)},function(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o,a=0,c=0,l=0,u=0;if(ur=(o=ur)+160|0,a=o+136|0,n=(f=o)+56|0,t=f+4|0,ar[f>>2]=292,ar[n>>2]=312,Jf(f+56|0,t),ar[f+128>>2]=0,ar[f+132>>2]=-1,ar[f>>2]=4304,ar[n>>2]=4324,Sf(t),ar[t>>2]=4340,ar[(i=f+36|0)>>2]=0,ar[4+i>>2]=0,ar[8+i>>2]=0,ar[12+i>>2]=0,ar[f+52>>2]=16,ar[a>>2]=0,ar[a+4>>2]=0,ar[a+8>>2]=0,Xe(t,a),(0|tr[a+11>>0])<0&&vu(0|ar[a>>2]),LA(a,e,r),We(f,(u=(l=0|tr[(c=a+11|0)>>0])<<24>>24<0)?0|ar[a>>2]:a,u?0|ar[a+4>>2]:255&l),(0|tr[c>>0])<0&&vu(0|ar[a>>2]),0<(0|ar[r>>2]))for(a=0;We(f,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(a=0|We(f,21914,10),c=0|We(0|We(a,(u=(c=0|tr[(l=e+56|0)+11>>0])<<24>>24<0)?0|ar[l>>2]:l,u?0|ar[e+60>>2]:255&c),30086,1),0<(0|ar[r>>2]))for(a=0;We(c,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(We(c,21925,14),(0|(a=0|ar[e+68>>2]))!=(0|(c=0|ar[e+72>>2])))for(;u=0|tr[a>>0],l=f+(0|ar[(0|ar[f>>2])-12>>2])+4|0,ar[l>>2]=-75&ar[l>>2]|8,ar[f+(0|ar[(0|ar[f>>2])-12>>2])+12>>2]=2,ar[f+(0|ar[(0|ar[f>>2])-12>>2])+76>>2]=48,We(0|Pf(f,255&u),20449,1),(0|(a=a+1|0))!=(0|c););if(We(f,30086,1),Ie(A,t),ar[f>>2]=4304,ar[n>>2]=4324,ar[t>>2]=4340,0<=(0|tr[11+i>>0]))return kf(t),bf(n),void(ur=o);vu(0|ar[i>>2]),kf(t),bf(n),ur=o},function(A,e,r){A|=0,e|=0;var i,f,n=0,t=0,o=0;if(ur=(f=ur)+32|0,t=f,o=0|ar[(r|=0)+12>>2],jA(r,0|tr[e+36>>0]?12:8),OA(r,e+56|0),(0|(n=0|ar[e+68>>2]))!=(0|(i=0|ar[e+72>>2])))for(;JA(r,0|tr[n>>0]),(0|(n=n+1|0))!=(0|i););KA(t,e,r,o),(0|tr[(n=t+8|0)+11>>0])<0&&vu(0|ar[n>>2]),t=0|ar[(r=56592)+4>>2],ar[(o=A)>>2]=ar[r>>2],ar[o+4>>2]=t,yu(A+8|0,56600),ur=f},function(A,e,r){A|=0;var i,f,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0;ur=(f=ur)+32|0,k=f+20|0,qA(n=f,e|=0,r|=0),(0|tr[(n=n+8|0)+11>>0])<0&&vu(0|ar[n>>2]),RA(k,r),(0|tr[(t=(n=e+56|0)+11|0)>>0])<0?(tr[ar[n>>2]>>0]=0,ar[e+60>>2]=0):(tr[n>>0]=0,tr[t>>0]=0),Cu(n,0),ar[n>>2]=ar[k>>2],ar[n+4>>2]=ar[k+4>>2],ar[n+8>>2]=ar[k+8>>2],d=i=r+16|0;A:do{if(!(0==(0|ar[d>>2])&0==(0|ar[d+4>>2]))){for(s=e+68|0,d=e+72|0,u=e+76|0;;){if(a=0|IA(r),n=0|ar[d>>2],(t=b=0|ar[u>>2])>>>0<=n>>>0){if(l=b=0|ar[s>>2],(0|(n=(c=n-b|0)+1|0))<0)break;t=(o=t-b|0)<<1,o=(t=o>>>0<1073741823?t>>>0<n>>>0?n:t:2147483647)?0|hu(t):0,tr[(e=o+c|0)>>0]=a,n=e+(0-c)|0,0<(0|c)&&hb(0|n,0|l,0|c),ar[s>>2]=n,ar[d>>2]=e+1,ar[u>>2]=o+t,0|b&&vu(l)}else tr[n>>0]=a,ar[d>>2]=1+(0|ar[d>>2]);if(0==(0|ar[(b=i)>>2])&0==(0|ar[b+4>>2]))break A}zl()}}while(0);if(!(0|tr[r+24>>0]))return r=0|ar[(d=56592)+4>>2],ar[(k=A)>>2]=ar[d>>2],ar[k+4>>2]=r,yu(A+8|0,56600),void(ur=f);ar[k>>2]=0,ar[k+4>>2]=0,ar[k+8>>2]=0,oo(A,2,100,k),ur=(0<=(0|tr[k+11>>0])||vu(0|ar[k>>2]),f)},function(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o,a,c,l=0,u=0;if(ur=(o=ur)+160|0,l=o+136|0,n=(f=o)+56|0,t=f+4|0,ar[f>>2]=292,ar[n>>2]=312,Jf(f+56|0,t),ar[f+128>>2]=0,ar[f+132>>2]=-1,ar[f>>2]=4304,ar[n>>2]=4324,Sf(t),ar[t>>2]=4340,ar[(i=f+36|0)>>2]=0,ar[4+i>>2]=0,ar[8+i>>2]=0,ar[12+i>>2]=0,ar[f+52>>2]=16,ar[l>>2]=0,ar[l+4>>2]=0,ar[l+8>>2]=0,Xe(t,l),(0|tr[l+11>>0])<0&&vu(0|ar[l>>2]),LA(l,e,r),We(f,(u=(c=0|tr[(a=l+11|0)>>0])<<24>>24<0)?0|ar[l>>2]:l,u?0|ar[l+4>>2]:255&c),(0|tr[a>>0])<0&&vu(0|ar[l>>2]),0<(0|ar[r>>2]))for(l=0;We(f,18862,2),(0|(l=l+1|0))<(0|ar[r>>2]););if(u=0|We(f,21802,10),We(0|Pf(u,0|ar[e+56>>2]),21813,15),Ie(A,t),ar[f>>2]=4304,ar[n>>2]=4324,ar[t>>2]=4340,0<=(0|tr[11+i>>0]))return kf(t),bf(n),void(ur=o);vu(0|ar[i>>2]),kf(t),bf(n),ur=o},function(A,e,r){A|=0,e|=0;var i,f=0,n=0;if(ur=(i=ur)+16|0,f=i,n=90*(3&(0|IA(r|=0)))|0,ar[e+56>>2]=n,!(0|tr[r+24>>0]))return f=0|ar[(r=56592)+4>>2],ar[(n=A)>>2]=ar[r>>2],ar[n+4>>2]=f,yu(A+8|0,56600),void(ur=i);ar[f>>2]=0,ar[f+4>>2]=0,ar[f+8>>2]=0,oo(A,2,100,f),ur=(0<=(0|tr[f+11>>0])||vu(0|ar[f>>2]),i)},function(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o,a,c,l,u=0;if(ur=(o=ur)+160|0,u=o+136|0,n=(f=o)+56|0,t=f+4|0,ar[f>>2]=292,ar[n>>2]=312,Jf(f+56|0,t),ar[f+128>>2]=0,ar[f+132>>2]=-1,ar[f>>2]=4304,ar[n>>2]=4324,Sf(t),ar[t>>2]=4340,ar[(i=f+36|0)>>2]=0,ar[4+i>>2]=0,ar[8+i>>2]=0,ar[12+i>>2]=0,ar[f+52>>2]=16,ar[u>>2]=0,ar[u+4>>2]=0,ar[u+8>>2]=0,Xe(t,u),(0|tr[u+11>>0])<0&&vu(0|ar[u>>2]),LA(u,e,r),We(f,(l=(c=0|tr[(a=u+11|0)>>0])<<24>>24<0)?0|ar[u>>2]:u,l?0|ar[u+4>>2]:255&c),(0|tr[a>>0])<0&&vu(0|ar[u>>2]),0<(0|ar[r>>2]))for(u=0;We(f,18862,2),(0|(u=u+1|0))<(0|ar[r>>2]););switch(We(f,21681,13),0|tr[e+56>>0]){case 0:We(f,21695,9);break;case 1:We(f,21705,11)}if(Ie(A,t),ar[f>>2]=4304,ar[n>>2]=4324,ar[t>>2]=4340,0<=(0|tr[11+i>>0]))return kf(t),Gf(),bf(n),void(ur=o);vu(0|ar[i>>2]),kf(t),Gf(),bf(n),ur=o},function(A,e,r){A|=0,e|=0;var i,f=0,n=0;if(ur=(i=ur)+16|0,f=i,n=1&(0|IA(r|=0)),tr[e+56>>0]=n,!(0|tr[r+24>>0]))return f=0|ar[(r=56592)+4>>2],ar[(n=A)>>2]=ar[r>>2],ar[n+4>>2]=f,yu(A+8|0,56600),void(ur=i);ar[f>>2]=0,ar[f+4>>2]=0,ar[f+8>>2]=0,oo(A,2,100,f),ur=(0<=(0|tr[f+11>>0])||vu(0|ar[f>>2]),i)},function(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o,a,c,l=0,u=0;if(ur=(o=ur)+160|0,l=o+136|0,n=(f=o)+56|0,t=f+4|0,ar[f>>2]=292,ar[n>>2]=312,Jf(f+56|0,t),ar[f+128>>2]=0,ar[f+132>>2]=-1,ar[f>>2]=4304,ar[n>>2]=4324,Sf(t),ar[t>>2]=4340,ar[(i=f+36|0)>>2]=0,ar[4+i>>2]=0,ar[8+i>>2]=0,ar[12+i>>2]=0,ar[f+52>>2]=16,ar[l>>2]=0,ar[l+4>>2]=0,ar[l+8>>2]=0,Xe(t,l),(0|tr[l+11>>0])<0&&vu(0|ar[l>>2]),LA(l,e,r),We(f,(u=(c=0|tr[(a=l+11|0)>>0])<<24>>24<0)?0|ar[l>>2]:l,u?0|ar[l+4>>2]:255&c),(0|tr[a>>0])<0&&vu(0|ar[l>>2]),0<(0|ar[r>>2]))for(l=0;We(f,18862,2),(0|(l=l+1|0))<(0|ar[r>>2]););if(u=0|We(f,21560,16),u=0|We(0|Pf(u,0|ar[e+56>>2]),21577,1),u=0|We(0|Pf(u,0|ar[e+60>>2]),21579,3),u=0|We(0|Pf(u,0|ar[e+64>>2]),21577,1),We(0|Pf(u,0|ar[e+68>>2]),30086,1),0<(0|ar[r>>2]))for(l=0;We(f,18862,2),(0|(l=l+1|0))<(0|ar[r>>2]););if(u=0|We(f,21583,8),u=0|We(0|Pf(u,0|ar[e+72>>2]),21577,1),u=0|We(0|Pf(u,0|ar[e+76>>2]),21592,3),u=0|We(0|Pf(u,0|ar[e+80>>2]),21577,1),We(0|Pf(u,0|ar[e+84>>2]),30086,1),Ie(A,t),ar[f>>2]=4304,ar[n>>2]=4324,ar[t>>2]=4340,0<=(0|tr[11+i>>0]))return kf(t),Gf(),bf(n),void(ur=o);vu(0|ar[i>>2]),kf(t),Gf(),bf(n),ur=o},function(A,e,r){A|=0,e|=0;var i,f=0,n=0;ur=(i=ur)+32|0,f=i,n=0|ar[(r|=0)+12>>2],jA(r,0|tr[e+36>>0]?12:8),UA(r,0|ar[e+56>>2]),UA(r,0|ar[e+60>>2]),UA(r,0|ar[e+64>>2]),UA(r,0|ar[e+68>>2]),UA(r,0|ar[e+72>>2]),UA(r,0|ar[e+76>>2]),UA(r,0|ar[e+80>>2]),UA(r,0|ar[e+84>>2]),KA(f,e,r,n),(0|tr[(e=f+8|0)+11>>0])<0&&vu(0|ar[e>>2]),f=0|ar[(r=56592)+4>>2],ar[(n=A)>>2]=ar[r>>2],ar[n+4>>2]=f,yu(A+8|0,56600),ur=i},function(A,e,r){A|=0,e|=0;var i,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0;if(ur=(i=ur)+32|0,b=i+12|0,s=i,l=0|FA(r|=0),u=0|FA(r),a=0|FA(r),c=0|FA(r),t=0|FA(r),o=0|FA(r),n=0|FA(r),f=0|FA(r),131072<(u+65536|0)>>>0)for(;l=(0|l)/2|0,131072<((u=(0|u)/2|0)+65536|0)>>>0;);if(131072<(l+65536|0)>>>0)for(;u=(0|u)/2|0,131072<((l=(0|l)/2|0)+65536|0)>>>0;);if(ar[(d=e+56|0)>>2]=l,ar[d+4>>2]=u,131072<(c+65536|0)>>>0)for(;a=(0|a)/2|0,131072<((c=(0|c)/2|0)+65536|0)>>>0;);if(131072<(a+65536|0)>>>0)for(;c=(0|c)/2|0,131072<((a=(0|a)/2|0)+65536|0)>>>0;);if(ar[(d=e+64|0)>>2]=a,ar[d+4>>2]=c,131072<(o+65536|0)>>>0)for(;t=(0|t)/2|0,131072<((o=(0|o)/2|0)+65536|0)>>>0;);if(131072<(t+65536|0)>>>0)for(;o=(0|o)/2|0,131072<((t=(0|t)/2|0)+65536|0)>>>0;);if(ar[(d=e+72|0)>>2]=t,ar[d+4>>2]=o,131072<(f+65536|0)>>>0)for(;n=(0|n)/2|0,131072<((f=(0|f)/2|0)+65536|0)>>>0;);if(131072<(n+65536|0)>>>0)for(;f=(0|f)/2|0,131072<((n=(0|n)/2|0)+65536|0)>>>0;);if(ar[(d=e+80|0)>>2]=n,0==(0|u)|0==(0|c)|0==(0|o)|0==(0|(ar[d+4>>2]=f)))return ar[s>>2]=0,ar[s+4>>2]=0,ar[s+8>>2]=0,oo(A,2,128,s),0<=(0|tr[s+11>>0])||vu(0|ar[s>>2]),void(ur=i);0|tr[r+24>>0]?(ar[b>>2]=0,ar[b+4>>2]=0,ar[b+8>>2]=0,oo(A,2,100,b),(0|tr[b+11>>0])<0&&vu(0|ar[b>>2])):(s=0|ar[(b=56592)+4>>2],ar[(d=A)>>2]=ar[b>>2],ar[d+4>>2]=s,yu(A+8|0,56600)),ur=i},function(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o,a,c=0,l=0,u=0,b=0,s=0,d=0;if(ur=(a=ur)+160|0,f=a+136|0,t=(n=a)+56|0,o=n+4|0,ar[n>>2]=292,ar[t>>2]=312,Jf(n+56|0,o),ar[n+128>>2]=0,ar[n+132>>2]=-1,ar[n>>2]=4304,ar[t>>2]=4324,Sf(o),ar[o>>2]=4340,ar[(i=n+36|0)>>2]=0,ar[4+i>>2]=0,ar[8+i>>2]=0,ar[12+i>>2]=0,ar[n+52>>2]=16,ar[f>>2]=0,ar[4+f>>2]=0,ar[8+f>>2]=0,Xe(o,f),(0|tr[11+f>>0])<0&&vu(0|ar[f>>2]),LA(f,e,r),We(n,(u=(b=0|tr[(s=11+f|0)>>0])<<24>>24<0)?0|ar[f>>2]:f,u?0|ar[4+f>>2]:255&b),(0|tr[s>>0])<0&&vu(0|ar[f>>2]),(0|(c=0|ar[e+56>>2]))!=(0|(u=0|ar[e+60>>2]))){b=11+f|0,s=4+f|0;do{if(0<(0|ar[r>>2]))for(e=0;We(n,18862,2),(0|(e=e+1|0))<(0|ar[r>>2]););if(d=0|We(n,21430,21),xA(f,c),l=0|We(0|We(0|We(d,(e=(l=0|tr[b>>0])<<24>>24<0)?0|ar[f>>2]:f,e?0|ar[s>>2]:255&l),21452,1),21454,10),We(0|Lf(l,0|ar[c+48>>2]),21465,9),(0|tr[b>>0])<0&&vu(0|ar[f>>2]),(0|(e=0|ar[c+52>>2]))!=(0|(l=0|ar[c+56>>2])))for(;We(0|Lf(n,0|ar[e>>2]),20449,1),(0|(e=e+4|0))!=(0|l););We(n,30086,1),c=c+64|0}while((0|c)!=(0|u))}if(Ie(A,o),ar[n>>2]=4304,ar[t>>2]=4324,ar[o>>2]=4340,0<=(0|tr[11+i>>0]))return kf(o),Gf(),bf(t),void(ur=a);vu(0|ar[i>>2]),kf(o),Gf(),bf(t),ur=a},function(A,e,r){A|=0,e|=0;var i,f,n=0,t=0,o=0,a=0,c=0,l=0;if(ur=(f=ur)+32|0,c=f,l=0|ar[(r|=0)+12>>2],jA(r,0|tr[e+36>>0]?12:8),i=0==(0|tr[e+37>>0])?2:4,(0|(n=0|ar[e+56>>2]))!=(0|(a=0|ar[e+60>>2])))do{if(t=n+52|0,UA(r,10+(0|br(1+((0|ar[(o=n+56|0)>>2])-(0|ar[t>>2])>>2)|0,i))|0),UA(r,0|ar[n+20>>2]),SA(r,i,0|ar[n+48>>2],0),MA(r,((0|ar[o>>2])-(0|ar[t>>2])|0)>>>2&65535),(0|(t=0|ar[t>>2]))!=(0|(o=0|ar[o>>2])))for(;SA(r,i,0|ar[t>>2],0),(0|(t=t+4|0))!=(0|o););n=n+64|0}while((0|n)!=(0|a));if(KA(c,e,r,l),0<=(0|tr[(n=c+8|0)+11>>0]))return a=0|ar[(a=c=56592)>>2],c=0|ar[(c=c+4|0)>>2],ar[(r=l=A)>>2]=a,ar[(l=l+4|0)>>2]=c,yu(A=A+8|0,56600),void(ur=f);vu(0|ar[n>>2]),a=0|ar[(a=c=56592)>>2],c=0|ar[(c=c+4|0)>>2],ar[(r=l=A)>>2]=a,ar[(l=l+4|0)>>2]=c,yu(A=A+8|0,56600),ur=f},function(A,e,r){A|=0;var i,f,n,t,o,a,c,l,u,b,s,d,k,h,w,v,m,g,Z=0,p=0,y=0,B=0,E=0,X=0;for(ur=(g=ur)+96|0,E=(B=g)+64|0,qA(Z=g+68|0,e|=0,r|=0),(0|tr[(Z=Z+8|0)+11>>0])<0&&vu(0|ar[Z>>2]),a=r+16|0,c=B+8|0,l=B+40|0,b=B+56|0,d=e+37|0,k=B+48|0,h=s=B+60|0,w=u=B+52|0,v=e+60|0,m=e+64|0,i=e+56|0,n=11+(f=A+8|0)|0,t=B+24|0,o=B+28|0;!(0==(0|ar[(y=a)>>2])&0==(0|ar[y+4>>2]));){if(ar[B>>2]=4264,ar[l>>2]=0,ar[c>>2]=0,ar[4+c>>2]=0,ar[8+c>>2]=0,ar[12+c>>2]=0,ar[16+c>>2]=0,ar[20+c>>2]=0,ar[24+c>>2]=0,or[28+c>>1]=0,ar[u>>2]=0,ar[b>>2]=0,ar[s>>2]=0,re(A,B,r),(0|ar[A>>2])==(0|ar[14148])){if(0|tr[d>>0]){if(y=0|FA(r),ar[k>>2]=y,e=65535&(y=0|VA(r)),y<<16>>16)for(Z=0;p=0|FA(r),ar[E>>2]=p,(y=0|ar[b>>2])>>>0<(0|ar[h>>2])>>>0?(ar[y>>2]=p,ar[b>>2]=y+4):Ce(w,E),Z=Z+1|0,(0!=(0|ar[(y=a)>>2])|0!=(0|ar[y+4>>2]))&(0|Z)<(0|e););}else if(y=65535&(0|VA(r)),ar[k>>2]=y,e=65535&(y=0|VA(r)),y<<16>>16)for(Z=0;p=65535&(0|VA(r)),ar[E>>2]=p,(y=0|ar[b>>2])>>>0<(0|ar[h>>2])>>>0?(ar[y>>2]=p,ar[b>>2]=y+4):Ce(w,E),Z=Z+1|0,(0!=(0|ar[(y=a)>>2])|0!=(0|ar[y+4>>2]))&(0|Z)<(0|e););(0|(Z=0|ar[v>>2]))==(0|ar[m>>2])?de(i,B):(se(Z,B),ar[v>>2]=64+(0|ar[v>>2])),p=((0|tr[n>>0])<0&&vu(0|ar[f>>2]),0)}else p=1;if(0|(Z=0|ar[u>>2])&&((0|(e=0|ar[b>>2]))!=(0|Z)&&(ar[b>>2]=e+(~((e+-4-Z|0)>>>2)<<2)),vu(Z)),ar[B>>2]=4264,0|(Z=0|ar[t>>2])&&((0|ar[o>>2])!=(0|Z)&&(ar[o>>2]=Z),vu(Z)),1==(0|p)){X=36;break}}ur=(36!=(0|X)&&(0|tr[r+24>>0]?(ar[B>>2]=0,ar[B+4>>2]=0,ar[B+8>>2]=0,oo(A,2,100,B),(0|tr[B+11>>0])<0&&vu(0|ar[B>>2])):(E=0|ar[(B=56592)+4>>2],ar[(X=A)>>2]=ar[B>>2],ar[X+4>>2]=E,yu(f,56600))),g)},function(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o,a=0,c=0,l=0,u=0,b=0,s=0,d=0;if(ur=(o=ur)+160|0,l=o+136|0,n=(f=o)+56|0,t=f+4|0,ar[f>>2]=292,ar[n>>2]=312,Jf(f+56|0,t),ar[f+128>>2]=0,ar[f+132>>2]=-1,ar[f>>2]=4304,ar[n>>2]=4324,Sf(t),ar[t>>2]=4340,ar[(i=f+36|0)>>2]=0,ar[4+i>>2]=0,ar[8+i>>2]=0,ar[12+i>>2]=0,ar[f+52>>2]=16,ar[l>>2]=0,ar[l+4>>2]=0,ar[l+8>>2]=0,Xe(t,l),(0|tr[l+11>>0])<0&&vu(0|ar[l>>2]),LA(l,e,r),We(f,(c=(u=0|tr[(b=l+11|0)>>0])<<24>>24<0)?0|ar[l>>2]:l,c?0|ar[l+4>>2]:255&u),(0|tr[b>>0])<0&&vu(0|ar[l>>2]),0<(0|ar[r>>2]))for(a=0;We(f,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(c=0|We(f,20916,23),c=0|We(0|Pf(c,0|cr[e+56>>0]),30086,1),0<(0|ar[r>>2]))for(a=0;We(c,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(c=0|We(c,20940,23),c=0|We(0|Pf(c,0|cr[e+57>>0]),30086,1),0<(0|ar[r>>2]))for(a=0;We(c,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(c=0|We(c,20964,19),c=0|We(0|Hf(c,0!=(0|tr[e+58>>0])),30086,1),0<(0|ar[r>>2]))for(a=0;We(c,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(b=0|We(c,20984,21),We(0|Pf(b,0|cr[e+59>>0]),30086,1),0<(0|ar[r>>2]))for(a=0;We(f,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););for(We(f,21006,37),c=e+60|0,a=0;Lf(f,(0|ar[c>>2])>>>(31-a|0)&1),7!=((0|a)%8|0)?3==((0|a)%4|0)&&(tr[l>>0]=46,We(f,l,1)):(tr[l>>0]=32,We(f,l,1)),(0|(a=a+1|0))<32;);if(We(f,30086,1),0<(0|ar[r>>2]))for(a=0;We(f,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););for(We(f,21044,36),a=0;Pf(f,0!=(ar[e+64+(a>>>5<<2)>>2]&1<<(31&a)|0)&1),7&(a=a+1|0)||(tr[l>>0]=32,We(f,l,1)),(0|a)<48;);if(We(f,30086,1),0<(0|ar[r>>2]))for(a=0;We(f,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(c=0|We(f,21081,19),c=0|We(0|Pf(c,0|cr[e+72>>0]),30086,1),0<(0|ar[r>>2]))for(a=0;We(c,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(c=0|We(c,21101,30),c=0|We(0|xf(c,0|or[e+74>>1]),30086,1),0<(0|ar[r>>2]))for(a=0;We(c,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(c=0|We(c,21132,18),c=0|We(0|Pf(c,0|cr[e+76>>0]),30086,1),0<(0|ar[r>>2]))for(a=0;We(c,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(c=0|We(c,21151,15),c=0|We(0|Pf(c,0|cr[e+77>>0]),30086,1),0<(0|ar[r>>2]))for(a=0;We(c,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(c=0|We(c,21167,16),c=0|We(0|Pf(c,0|cr[e+78>>0]),30086,1),0<(0|ar[r>>2]))for(a=0;We(c,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(c=0|We(c,21184,18),c=0|We(0|Pf(c,0|cr[e+79>>0]),30086,1),0<(0|ar[r>>2]))for(a=0;We(c,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(c=0|We(c,21203,16),c=0|We(0|xf(c,0|or[e+80>>1]),30086,1),0<(0|ar[r>>2]))for(a=0;We(c,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(c=0|We(c,21220,21),c=0|We(0|Pf(c,0|cr[e+82>>0]),30086,1),0<(0|ar[r>>2]))for(a=0;We(c,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(c=0|We(c,21242,21),c=0|We(0|Pf(c,0|cr[e+83>>0]),30086,1),0<(0|ar[r>>2]))for(a=0;We(c,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(c=0|We(c,21264,20),c=0|We(0|Pf(c,0|cr[e+84>>0]),30086,1),0<(0|ar[r>>2]))for(a=0;We(c,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(a=0|We(c,21285,13),We(0|Pf(a,0|cr[e+88>>0]),30086,1),(0|(a=0|ar[e+92>>2]))!=(0|(b=0|ar[e+96>>2]))){u=a,a=0|ar[r>>2];do{if(0<(0|a))for(a=0;We(f,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(We(f,21299,8),e=0|ar[r>>2],ar[r>>2]=e+1,-1<(0|e))for(a=0;We(f,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(c=0|We(f,21308,20),c=0|We(0|Pf(c,0|cr[u>>0]),30086,1),0<(0|ar[r>>2]))for(a=0;We(c,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(c=0|We(c,21329,15),We(0|Pf(c,0|cr[u+1>>0]),30086,1),c=0|ar[u+4>>2],e=0|ar[u+8>>2],a=0|ar[r>>2],(0|c)!=(0|e))do{if(0<(0|a))for(a=0;We(f,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if((0|(a=0|ar[c>>2]))!=(0|(l=0|ar[c+4>>2])))for(;s=0|tr[a>>0],ar[f+(0|ar[(0|ar[f>>2])-12>>2])+76>>2]=48,ar[f+(0|ar[(0|ar[f>>2])-12>>2])+12>>2]=2,d=f+(0|ar[(0|ar[f>>2])-12>>2])+4|0,ar[d>>2]=-75&ar[d>>2]|8,We(0|Pf(f,255&s),20449,1),(0|(a=a+1|0))!=(0|l););We(f,30086,1),a=f+(0|ar[(0|ar[f>>2])-12>>2])+4|0,ar[a>>2]=-75&ar[a>>2]|2,c=c+12|0,a=0|ar[r>>2]}while((0|c)!=(0|e));a=(0|a)<1?0:a+-1|0,ar[r>>2]=a,u=u+16|0}while((0|u)!=(0|b))}if(Ie(A,t),ar[f>>2]=4304,ar[n>>2]=4324,ar[t>>2]=4340,0<=(0|tr[11+i>>0]))return kf(t),Gf(),bf(n),void(ur=o);vu(0|ar[i>>2]),kf(t),Gf(),bf(n),ur=o},function(A,e,r){A|=0,e|=0;var i,f=0,n=0,t=0,o=0,a=0,c=0;for(ur=(i=ur)+32|0,a=i,c=0|ar[(r|=0)+12>>2],jA(r,0|tr[e+36>>0]?12:8),JA(r,0|tr[e+56>>0]),JA(r,tr[e+58>>0]<<5&255|tr[e+57>>0]<<6&255|31&tr[e+59>>0]),UA(r,0|ar[e+60>>2]),f=0;o=f<<3,JA(r,(0!=(ar[e+64+((f>>>2&134217727)<<2)>>2]&1<<(24&o|7)|0)|(0!=(ar[e+64+((f>>>2&134217727)<<2)>>2]&1<<(24&o|6)|0)|(0!=(ar[e+64+((f>>>2&134217727)<<2)>>2]&1<<(24&o|5)|0)|(0!=(ar[e+64+((f>>>2&134217727)<<2)>>2]&1<<(24&o|4)|0)|(0!=(ar[e+64+((f>>>2&134217727)<<2)>>2]&1<<(24&o|3)|0)|(0!=(ar[e+64+((f>>>2&134217727)<<2)>>2]&1<<(24&o|2)|0)|(0!=(ar[e+64+((f>>>2&134217727)<<2)>>2]&1<<(24&o|1)|0)&1)<<1)<<1)<<1&14)<<1&30)<<1&62)<<1&126)<<1&255),6!=(0|(f=f+1|0)););if(JA(r,0|tr[e+72>>0]),MA(r,-4096|or[e+74>>1]),JA(r,-4|tr[e+76>>0]),JA(r,-4|tr[e+77>>0]),JA(r,-8|tr[e+78>>0]),JA(r,-8|tr[e+79>>0]),MA(r,0|or[e+80>>1]),JA(r,255&(255&(tr[e+83>>0]<<3&56|tr[e+82>>0]<<6&255|tr[e+84>>0]<<2&4)|3+(0|cr[e+88>>0])&3)),f=e+92|0,JA(r,((0|ar[(o=e+96|0)>>2])-(0|ar[f>>2])|0)>>>4&255),(0|(f=0|ar[f>>2]))!=(0|(o=0|ar[o>>2])))do{if(JA(r,tr[f>>0]<<6&64|63&tr[f+1>>0]),n=f+4|0,MA(r,65535&(((0|ar[(t=f+8|0)>>2])-(0|ar[n>>2])|0)/12|0)),(0|(n=0|ar[n>>2]))!=(0|(t=0|ar[t>>2])))for(;MA(r,(0|ar[n+4>>2])-(0|ar[n>>2])&65535),zA(r,n),(0|(n=n+12|0))!=(0|t););f=f+16|0}while((0|f)!=(0|o));if(KA(a,e,r,c),0<=(0|tr[(f=a+8|0)+11>>0]))return e=0|ar[(e=a=56592)>>2],a=0|ar[(a=a+4|0)>>2],ar[(r=c=A)>>2]=e,ar[(c=c+4|0)>>2]=a,yu(A=A+8|0,56600),void(ur=i);vu(0|ar[f>>2]),e=0|ar[(e=a=56592)>>2],a=0|ar[(a=a+4|0)>>2],ar[(r=c=A)>>2]=e,ar[(c=c+4|0)>>2]=a,yu(A=A+8|0,56600),ur=i},function(A,e,r){A|=0,e|=0;var i,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0;for(ur=(i=ur)+32|0,I=i+16|0,W=i,n=0|IA(r|=0),tr[e+56>>0]=n,f=255&(n=0|IA(r)),tr[e+57>>0]=(255&n)>>>6,tr[e+58>>0]=f>>>5&1,tr[e+59>>0]=31&f,f=0|FA(r),ar[e+60>>2]=f,n=(f=0)|IA(r);p=255&n,y=1<<(24&(B=f<<3)),Z=0|ar[(E=e+64+((f>>>2&134217727)<<2)|0)>>2],ar[E>>2]=128&p|0?Z|y:Z&~y,y=1<<(24&B|1),Z=0|ar[(E=e+64+((f>>>2&134217727)<<2)|0)>>2],ar[E>>2]=64&p|0?Z|y:Z&~y,y=1<<(24&B|2),Z=0|ar[(E=e+64+((f>>>2&134217727)<<2)|0)>>2],ar[E>>2]=32&p|0?Z|y:Z&~y,y=1<<(24&B|3),Z=0|ar[(E=e+64+((f>>>2&134217727)<<2)|0)>>2],ar[E>>2]=16&p|0?Z|y:Z&~y,y=1<<(24&B|4),Z=0|ar[(E=e+64+((f>>>2&134217727)<<2)|0)>>2],ar[E>>2]=8&p|0?Z|y:Z&~y,y=1<<(24&B|5),Z=0|ar[(E=e+64+((f>>>2&134217727)<<2)|0)>>2],ar[E>>2]=4&p|0?Z|y:Z&~y,y=1<<(24&B|6),Z=0|ar[(E=e+64+((f>>>2&134217727)<<2)|0)>>2],ar[E>>2]=2&p|0?Z|y:Z&~y,B=1<<(24&B|7),y=0|ar[(E=e+64+((f>>>2&134217727)<<2)|0)>>2],ar[E>>2]=1&p|0?y|B:y&~B,f=f+1|0,n=0|IA(r),6!=(0|f););tr[e+72>>0]=n,k=4095&(0|VA(r)),or[e+74>>1]=k,k=3&(0|IA(r)),tr[e+76>>0]=k,k=3&(0|IA(r)),tr[e+77>>0]=k,k=7&(0|IA(r))|8,tr[e+78>>0]=k,k=7&(0|IA(r))|8,tr[e+79>>0]=k,k=0|VA(r),or[e+80>>1]=k,E=255&(k=0|IA(r)),tr[e+82>>0]=(255&k)>>>6,tr[e+83>>0]=E>>>3&7,tr[e+84>>0]=E>>>2&1,tr[e+88>>0]=1+(3&E),k=255&(E=0|IA(r));A:do{if(E<<24>>24){h=r+24|0,v=I+8|0,g=I+1|0,Z=e+96|0,p=e+100|0,B=m=I+12|0,E=y=w=I+4|0,l=e+92|0,u=W+4|0,s=r+4|0,d=b=W+8|0,c=0;do{if(0|tr[h>>0])break A;o=0|IA(r),ar[w>>2]=0,ar[v>>2]=0,ar[m>>2]=0,o&=255,tr[I>>0]=o>>>6&1,tr[g>>0]=63&o,a=65535&(o=0|VA(r));e:do{if(o<<16>>16){o=0;do{if(0|tr[h>>0])break e;ar[W>>2]=0,ar[u>>2]=0,t=65535&(f=(ar[b>>2]=0)|VA(r));do{if(f<<16>>16){do{if(0|CA(r,65535&f,0)){if(t>>>0<=(f=(e=0|ar[u>>2])-(n=0|ar[W>>2])|0)>>>0?t>>>0<f>>>0&&(0|e)!=(0|(X=n+t|0))&&(ar[u>>2]=X):TA(W,t-f|0),f=0|ar[r>>2],n=0|ar[s>>2]){bu(n),xb[63&ar[16+(0|ar[f>>2])>>2]](f,0|ar[W>>2],t),du(n);break}xb[63&ar[16+(0|ar[f>>2])>>2]](f,0|ar[W>>2],t);break}}while(0);if((f=0|ar[v>>2])>>>0<(0|ar[B>>2])>>>0){ar[f>>2]=0,ar[(t=f+4|0)>>2]=0,ar[f+8>>2]=0,ar[f>>2]=ar[W>>2],ar[t>>2]=ar[u>>2],ar[f+8>>2]=ar[d>>2],ar[d>>2]=0,ar[u>>2]=0,ar[W>>2]=0,ar[v>>2]=12+(0|ar[v>>2]);break}ue(y,W);break}}while(0);0|(f=0|ar[W>>2])&&((0|ar[u>>2])!=(0|f)&&(ar[u>>2]=f),vu(f)),o=o+1|0}while((0|o)<(0|a))}}while(0);if((f=0|ar[Z>>2])>>>0>=(0|ar[p>>2])>>>0){if(le(l,I),0|(f=0|ar[E>>2])){if((0|(n=0|ar[v>>2]))!=(0|f)){for(;e=n+-12|0,ar[v>>2]=e,(0|(n=(t=0|ar[e>>2])?((0|ar[(n=n+-8|0)>>2])!=(0|t)&&(ar[n>>2]=t),vu(t),0|ar[v>>2]):e))!=(0|f););f=0|ar[E>>2]}vu(f)}}else or[f>>1]=0|or[I>>1],ar[(o=f+4|0)>>2]=0,ar[(a=f+8|0)>>2]=0,ar[f+12>>2]=0,ar[o>>2]=ar[y>>2],ar[a>>2]=ar[v>>2],ar[f+12>>2]=ar[B>>2],ar[B>>2]=0,ar[v>>2]=0,ar[y>>2]=0,ar[Z>>2]=16+(0|ar[Z>>2]);c=c+1|0}while((0|c)<(0|k))}}while(0);if(n=0|ar[(f=t=r+16|0)>>2],0<(0|(f=0|ar[f+4>>2]))|0==(0|f)&0<n>>>0&&((e=0|ar[r+8>>2])&&(_A(e,n,f),n=0|ar[(f=t)>>2],f=0|ar[f+4>>2]),X=0|ar[r>>2],W=0|ar[X>>2],E=0|ar[W+20>>2],W=0|tb(0|(W=0|jb[127&ar[W+8>>2]](X)),0|D,0|n,0|f),xb[63&E](X,W,D),ar[(W=t)>>2]=0,ar[W+4>>2]=0),!(0|tr[r+24>>0]))return r=0|ar[(W=56592)+4>>2],ar[(I=A)>>2]=ar[W>>2],ar[I+4>>2]=r,yu(A+8|0,56600),void(ur=i);ar[I>>2]=0,ar[I+4>>2]=0,ar[I+8>>2]=0,oo(A,2,100,I),ur=(0<=(0|tr[I+11>>0])||vu(0|ar[I>>2]),i)},function(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o,a=0,c=0,l=0,u=0;if(ur=(o=ur)+160|0,a=o+136|0,n=(f=o)+56|0,t=f+4|0,ar[f>>2]=292,ar[n>>2]=312,Jf(f+56|0,t),ar[f+128>>2]=0,ar[f+132>>2]=-1,ar[f>>2]=4304,ar[n>>2]=4324,Sf(t),ar[t>>2]=4340,ar[(i=f+36|0)>>2]=0,ar[4+i>>2]=0,ar[8+i>>2]=0,ar[12+i>>2]=0,ar[f+52>>2]=16,ar[a>>2]=0,ar[a+4>>2]=0,ar[a+8>>2]=0,Xe(t,a),(0|tr[a+11>>0])<0&&vu(0|ar[a>>2]),LA(a,e,r),We(f,(u=(l=0|tr[(c=a+11|0)>>0])<<24>>24<0)?0|ar[a>>2]:a,u?0|ar[a+4>>2]:255&l),(0|tr[c>>0])<0&&vu(0|ar[a>>2]),0<(0|ar[r>>2]))for(a=0;We(f,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(c=0|We(f,18907,9),c=0|We(0|Pf(c,0|cr[e+56>>0]),30086,1),0<(0|ar[r>>2]))for(a=0;We(c,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(c=0|We(c,20644,13),c=0|We(0|Pf(c,0|cr[e+57>>0]),30086,1),0<(0|ar[r>>2]))for(a=0;We(c,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(c=0|We(c,20658,17),c=0|We(0|Pf(c,0|cr[e+58>>0]),30086,1),0<(0|ar[r>>2]))for(a=0;We(c,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(c=0|We(c,20676,15),c=0|We(0|Pf(c,0|cr[e+60>>0]),30086,1),0<(0|ar[r>>2]))for(a=0;We(c,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(c=0|We(c,20692,12),c=0|We(0|Pf(c,0|cr[e+61>>0]),30086,1),0<(0|ar[r>>2]))for(a=0;We(c,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(c=0|We(c,20705,22),c=0|We(0|Pf(c,0|cr[e+63>>0]),30086,1),0<(0|ar[r>>2]))for(a=0;We(c,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(c=0|We(c,20728,22),c=0|We(0|Pf(c,0|cr[e+64>>0]),30086,1),0<(0|ar[r>>2]))for(a=0;We(c,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(c=0|We(c,20751,24),c=0|We(0|Pf(c,0|cr[e+65>>0]),30086,1),0<(0|ar[r>>2]))for(a=0;We(c,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(We(c,20776,28),0|tr[e+66>>0]?We(0|Pf(f,1+(0|cr[e+67>>0])|0),30086,1):We(f,20805,12),0<(0|ar[r>>2]))for(a=0;We(f,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(We(f,20818,12),r=e+68|0,(0|ar[(c=e+72|0)>>2])!=(0|ar[r>>2]))for(a=0;l=(u=0|We(f,20449,1))+(0|ar[(0|ar[u>>2])-12>>2])+4|0,ar[l>>2]=-75&ar[l>>2]|8,ar[u+(0|ar[(0|ar[u>>2])-12>>2])+76>>2]=48,ar[u+(0|ar[(0|ar[u>>2])-12>>2])+12>>2]=2,Pf(u,0|cr[(0|ar[r>>2])+a>>0]),(a=a+1|0)>>>0<((0|ar[c>>2])-(0|ar[r>>2])|0)>>>0;);if(u=f+(0|ar[(0|ar[f>>2])-12>>2])+4|0,ar[u>>2]=-75&ar[u>>2]|2,We(f,30086,1),Ie(A,t),ar[f>>2]=4304,ar[n>>2]=4324,ar[t>>2]=4340,0<=(0|tr[11+i>>0]))return kf(t),Gf(),bf(n),void(ur=o);vu(0|ar[i>>2]),kf(t),Gf(),bf(n),ur=o},function(A,e,r){A|=0,e|=0;var i,f=0,n=0;if(ur=(i=ur)+32|0,f=i,n=0|ar[(r|=0)+12>>2],jA(r,0|tr[e+36>>0]?12:8),JA(r,-128|tr[e+56>>0]),JA(r,31&tr[e+58>>0]|tr[e+57>>0]<<5&255),JA(r,255&((0|tr[e+60>>0]?64:0)|(0|tr[e+59>>0]?128:0)|(0|tr[e+61>>0]?32:0)|(0|tr[e+62>>0]?16:0)|(0|tr[e+63>>0]?8:0)|(0|tr[e+64>>0]?4:0)|3&tr[e+65>>0])),JA(r,0),KA(f,e,r,n),0<=(0|tr[(e=f+8|0)+11>>0]))return e=0|ar[(e=f=56592)>>2],f=0|ar[(f=f+4|0)>>2],ar[(r=n=A)>>2]=e,ar[(n=n+4|0)>>2]=f,yu(n=A+8|0,56600),void(ur=i);vu(0|ar[e>>2]),e=0|ar[(e=f=56592)>>2],f=0|ar[(f=f+4|0)>>2],ar[(r=n=A)>>2]=e,ar[(n=n+4|0)>>2]=f,yu(n=A+8|0,56600),ur=i},function(A,e,r){A|=0,e|=0;var i,f,n,t,o,a,c,l,u,b,s,d=0,k=0,h=0,w=0;if(ur=(o=ur)+16|0,w=o,k=127&(0|IA(r|=0)),tr[e+56>>0]=k,k=0|IA(r),tr[e+57>>0]=(255&k)>>>5,tr[e+58>>0]=31&k,d=255&(k=0|IA(r)),tr[e+59>>0]=(255&k)>>>7,tr[e+60>>0]=d>>>6&1,tr[e+61>>0]=d>>>5&1,tr[e+62>>0]=d>>>4&1,tr[e+63>>0]=d>>>3&1,tr[e+64>>0]=d>>>2&1,tr[e+65>>0]=3&d,k=(d=255&(0|IA(r)))>>>4&1,(tr[e+66>>0]=k)<<24>>24&&(tr[e+67>>0]=15&d),t=0|ar[(k=r+16|0)>>2],k=0|ar[k+4>>2],n=e+68|0,t>>>0<=(i=(f=0|ar[(e=e+72|0)>>2])-(d=0|ar[n>>2])|0)>>>0?t>>>0<i>>>0&&(0|f)!=(0|(h=d+t|0))&&(ar[e>>2]=h):(TA(n,t-i|0),d=0|ar[n>>2]),a=r,c=d,l=t,u=k,c|=0,a=0|CA(a|=0,l|=0,u|=0)?(u=0|ar[a>>2],(s=0==(0|(b=0|ar[a+4>>2])))||bu(b),(u=0|xb[63&ar[16+(0|ar[u>>2])>>2]](u,c,l))||GA(a),s||du(b),u):0,!(0|tr[r+24>>0]))return r=0|ar[(h=56592)+4>>2],ar[(w=A)>>2]=ar[h>>2],ar[w+4>>2]=r,yu(A+8|0,56600),void(ur=o);ar[w>>2]=0,ar[w+4>>2]=0,ar[w+8>>2]=0,oo(A,2,100,w),ur=(0<=(0|tr[w+11>>0])||vu(0|ar[w>>2]),o)},function(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o,a,c=0,l=0,u=0;if(ur=(o=ur)+160|0,c=o+136|0,n=(f=o)+56|0,t=f+4|0,ar[f>>2]=292,ar[n>>2]=312,Jf(f+56|0,t),ar[f+128>>2]=0,ar[f+132>>2]=-1,ar[f>>2]=4304,ar[n>>2]=4324,Sf(t),ar[t>>2]=4340,ar[(i=f+36|0)>>2]=0,ar[4+i>>2]=0,ar[8+i>>2]=0,ar[12+i>>2]=0,ar[f+52>>2]=16,ar[c>>2]=0,ar[c+4>>2]=0,ar[c+8>>2]=0,Xe(t,c),(0|tr[c+11>>0])<0&&vu(0|ar[c>>2]),LA(c,e,r),We(f,(u=(l=0|tr[(a=c+11|0)>>0])<<24>>24<0)?0|ar[c>>2]:c,u?0|ar[c+4>>2]:255&l),(0|tr[a>>0])<0&&vu(0|ar[c>>2]),0<(0|ar[r>>2]))for(c=0;We(f,18862,2),(0|(c=c+1|0))<(0|ar[r>>2]););if(l=0|We(f,20536,22),We(0|Kf(l,u=0|ob(0|ar[(u=e+8|0)>>2],0|ar[u+4>>2],0|ar[e+16>>2],0),D),30086,1),Ie(A,t),ar[f>>2]=4304,ar[n>>2]=4324,ar[t>>2]=4340,0<=(0|tr[11+i>>0]))return kf(t),Gf(),bf(n),void(ur=o);vu(0|ar[i>>2]),kf(t),Gf(),bf(n),ur=o},function(A,e,r){A|=0,e|=0;var i,f=0,n=0;ur=(i=ur)+32|0,f=i,n=0|ar[(r|=0)+12>>2],jA(r,0|tr[e+36>>0]?12:8),zA(r,e+72|0),KA(f,e,r,n),(0|tr[(e=f+8|0)+11>>0])<0&&vu(0|ar[e>>2]),f=0|ar[(r=56592)+4>>2],ar[(n=A)>>2]=ar[r>>2],ar[n+4>>2]=f,yu(A+8|0,56600),ur=i},function(A,e,r){A|=0,e|=0;var i,f,n=0,t=0,o=0;if(ur=(f=ur)+16|0,i=f,n=0|ar[(r|=0)>>2],(t=0|ar[r+4>>2])?(bu(t),o=0|jb[127&ar[8+(0|ar[n>>2])>>2]](n),ar[(n=e+56|0)>>2]=0,ar[n+4>>2]=0,ar[(n=e+64|0)>>2]=o,ar[n+4>>2]=D,du(t)):(n=0|jb[127&ar[8+(0|ar[n>>2])>>2]](n),ar[(t=e+56|0)>>2]=0,ar[t+4>>2]=0,ar[(t=e+64|0)>>2]=n,ar[t+4>>2]=D),!(0|tr[r+24>>0]))return t=0|ar[(n=56592)+4>>2],ar[(o=A)>>2]=ar[n>>2],ar[o+4>>2]=t,yu(A+8|0,56600),void(ur=f);ar[i>>2]=0,ar[i+4>>2]=0,ar[i+8>>2]=0,oo(A,2,100,i),ur=(0<=(0|tr[i+11>>0])||vu(0|ar[i>>2]),f)},function(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o,a,c=0,l=0,u=0,b=0,s=0,d=0;if(ur=(a=ur)+160|0,f=a+136|0,t=(n=a)+56|0,o=n+4|0,ar[n>>2]=292,ar[t>>2]=312,Jf(n+56|0,o),ar[n+128>>2]=0,ar[n+132>>2]=-1,ar[n>>2]=4304,ar[t>>2]=4324,Sf(o),ar[o>>2]=4340,ar[(i=n+36|0)>>2]=0,ar[4+i>>2]=0,ar[8+i>>2]=0,ar[12+i>>2]=0,ar[n+52>>2]=16,ar[f>>2]=0,ar[4+f>>2]=0,ar[8+f>>2]=0,Xe(o,f),(0|tr[11+f>>0])<0&&vu(0|ar[f>>2]),LA(f,e,r),We(n,(u=(b=0|tr[(s=11+f|0)>>0])<<24>>24<0)?0|ar[f>>2]:f,u?0|ar[4+f>>2]:255&b),(0|tr[s>>0])<0&&vu(0|ar[f>>2]),(0|(c=0|ar[e+56>>2]))!=(0|(u=0|ar[e+60>>2]))){b=11+f|0,s=4+f|0;do{if(0<(0|ar[r>>2]))for(e=0;We(n,18862,2),(0|(e=e+1|0))<(0|ar[r>>2]););if(d=0|We(n,20408,12),xA(f,c),l=0|We(0|We(d,(e=(l=0|tr[b>>0])<<24>>24<0)?0|ar[f>>2]:f,e?0|ar[s>>2]:255&l),30086,1),0<(0|ar[r>>2]))for(e=0;We(l,18862,2),(0|(e=e+1|0))<(0|ar[r>>2]););if(l=0|We(l,20421,12),l=0|We(0|Lf(l,0|ar[c+48>>2]),30086,1),0<(0|ar[r>>2]))for(e=0;We(l,18862,2),(0|(e=e+1|0))<(0|ar[r>>2]););if(We(l,20434,14),(0|tr[b>>0])<0&&vu(0|ar[f>>2]),(0|(e=0|ar[c+52>>2]))!=(0|(l=0|ar[c+56>>2])))for(;We(0|Lf(n,0|ar[e>>2]),20449,1),(0|(e=e+4|0))!=(0|l););We(n,30086,1),c=c+64|0}while((0|c)!=(0|u))}if(Ie(A,o),ar[n>>2]=4304,ar[t>>2]=4324,ar[o>>2]=4340,0<=(0|tr[11+i>>0]))return kf(o),Gf(),bf(t),void(ur=a);vu(0|ar[i>>2]),kf(o),Gf(),bf(t),ur=a},function(A,e,r){var i,f,n,t,o,a,c,l,u,b,s,d,k,h,w,v,m,g,Z,p=0,y=0,B=0,E=0,X=0,W=0;for(ur=(Z=ur)+96|0,v=(r|=0)+16|0,m=8+(h=Z+24|0)|0,g=40+h|0,X=56+h|0,l=(w=Z)+8|0,u=11+(c=(A|=0)+8|0)|0,b=A+12|0,s=48+h|0,d=(e|=0)+60|0,k=e+64|0,i=e+56|0,f=a=60+h|0,n=E=52+h|0,t=24+h|0,o=28+h|0;!(0==(0|ar[(B=v)>>2])&0==(0|ar[B+4>>2]));){if(ar[h>>2]=4264,ar[g>>2]=0,ar[m>>2]=0,ar[4+m>>2]=0,ar[8+m>>2]=0,ar[12+m>>2]=0,ar[16+m>>2]=0,ar[20+m>>2]=0,ar[24+m>>2]=0,or[28+m>>1]=0,ar[E>>2]=0,ar[X>>2]=0,ar[a>>2]=0,re(A,h,r),(0|ar[A>>2])==(0|ar[14148]))if(qA(w,h,r),y=0|ar[(p=w)+4>>2],ar[(B=A)>>2]=ar[p>>2],ar[B+4>>2]=y,(0|tr[u>>0])<0?(tr[ar[c>>2]>>0]=0,ar[b>>2]=0):(tr[c>>0]=0,tr[u>>0]=0),Cu(c,0),ar[c>>2]=ar[l>>2],ar[4+c>>2]=ar[4+l>>2],ar[8+c>>2]=ar[8+l>>2],(0|ar[A>>2])==(0|ar[14148])){p=0|FA(r),ar[s>>2]=p,p=0|FA(r);A:do{if(0<(0|p)){e=0;do{if(0==(0|ar[(B=v)>>2])&0==(0|ar[B+4>>2]))break A;y=0|FA(r),ar[w>>2]=y,(B=0|ar[X>>2])>>>0<(0|ar[f>>2])>>>0?(ar[B>>2]=y,ar[X>>2]=B+4):Ce(n,w),e=e+1|0}while((0|e)<(0|p))}}while(0);(0|(e=0|ar[d>>2]))==(0|ar[k>>2])?ae(i,h):(oe(e,h),ar[d>>2]=64+(0|ar[d>>2])),y=((0|tr[u>>0])<0&&vu(0|ar[c>>2]),0)}else y=1;else y=1;if(0|(e=0|ar[E>>2])&&((0|(p=0|ar[X>>2]))!=(0|e)&&(ar[X>>2]=p+(~((p+-4-e|0)>>>2)<<2)),vu(e)),ar[h>>2]=4264,0|(e=0|ar[t>>2])&&((0|ar[o>>2])!=(0|e)&&(ar[o>>2]=e),vu(e)),1==(0|y)){W=33;break}}ur=(33!=(0|W)&&(0|tr[r+24>>0]?(ar[h>>2]=0,ar[4+h>>2]=0,ar[8+h>>2]=0,oo(A,2,100,h),(0|tr[11+h>>0])<0&&vu(0|ar[h>>2])):(X=0|ar[(E=56592)+4>>2],ar[(W=A)>>2]=ar[E>>2],ar[W+4>>2]=X,yu(c,56600))),Z)},function(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o,a,c=0,l=0,u=0;if(ur=(a=ur)+160|0,f=a+136|0,t=(n=a)+56|0,o=n+4|0,ar[n>>2]=292,ar[t>>2]=312,Jf(n+56|0,o),ar[n+128>>2]=0,ar[n+132>>2]=-1,ar[n>>2]=4304,ar[t>>2]=4324,Sf(o),ar[o>>2]=4340,ar[(i=n+36|0)>>2]=0,ar[4+i>>2]=0,ar[8+i>>2]=0,ar[12+i>>2]=0,ar[n+52>>2]=16,ar[f>>2]=0,ar[4+f>>2]=0,ar[8+f>>2]=0,Xe(o,f),(0|tr[11+f>>0])<0&&vu(0|ar[f>>2]),LA(f,e,r),We(n,(u=(l=0|tr[(c=11+f|0)>>0])<<24>>24<0)?0|ar[f>>2]:f,u?0|ar[4+f>>2]:255&l),(0|tr[c>>0])<0&&vu(0|ar[f>>2]),ne(f,e,r),We(n,(c=(l=0|tr[(u=11+f|0)>>0])<<24>>24<0)?0|ar[f>>2]:f,c?0|ar[4+f>>2]:255&l),(0|tr[u>>0])<0&&vu(0|ar[f>>2]),Ie(A,o),ar[n>>2]=4304,ar[t>>2]=4324,ar[o>>2]=4340,0<=(0|tr[11+i>>0]))return kf(o),Gf(),bf(t),void(ur=a);vu(0|ar[i>>2]),kf(o),Gf(),bf(t),ur=a},function(A,e,r){$A(A|=0,e|=0,r|=0,-1)},function(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o,a,c=0,l=0,u=0;if(ur=(a=ur)+160|0,f=a+136|0,t=(n=a)+56|0,o=n+4|0,ar[n>>2]=292,ar[t>>2]=312,Jf(n+56|0,o),ar[n+128>>2]=0,ar[n+132>>2]=-1,ar[n>>2]=4304,ar[t>>2]=4324,Sf(o),ar[o>>2]=4340,ar[(i=n+36|0)>>2]=0,ar[4+i>>2]=0,ar[8+i>>2]=0,ar[12+i>>2]=0,ar[n+52>>2]=16,ar[f>>2]=0,ar[4+f>>2]=0,ar[8+f>>2]=0,Xe(o,f),(0|tr[11+f>>0])<0&&vu(0|ar[f>>2]),LA(f,e,r),We(n,(u=(l=0|tr[(c=11+f|0)>>0])<<24>>24<0)?0|ar[f>>2]:f,u?0|ar[4+f>>2]:255&l),(0|tr[c>>0])<0&&vu(0|ar[f>>2]),ne(f,e,r),We(n,(c=(l=0|tr[(u=11+f|0)>>0])<<24>>24<0)?0|ar[f>>2]:f,c?0|ar[4+f>>2]:255&l),(0|tr[u>>0])<0&&vu(0|ar[f>>2]),Ie(A,o),ar[n>>2]=4304,ar[t>>2]=4324,ar[o>>2]=4340,0<=(0|tr[11+i>>0]))return kf(o),Gf(),bf(t),void(ur=a);vu(0|ar[i>>2]),kf(o),Gf(),bf(t),ur=a},function(A,e,r){A|=0;var i,f=0;ur=(i=ur)+32|0,qA(f=i,e|=0,r|=0),(0|tr[(f=f+8|0)+11>>0])<0&&vu(0|ar[f>>2]),$A(A,e,r,0|FA(r)),ur=i},function(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o,a=0,c=0,l=0,u=0;if(ur=(o=ur)+160|0,a=o+136|0,n=(f=o)+56|0,t=f+4|0,ar[f>>2]=292,ar[n>>2]=312,Jf(f+56|0,t),ar[f+128>>2]=0,ar[f+132>>2]=-1,ar[f>>2]=4304,ar[n>>2]=4324,Sf(t),ar[t>>2]=4340,ar[(i=f+36|0)>>2]=0,ar[4+i>>2]=0,ar[8+i>>2]=0,ar[12+i>>2]=0,ar[f+52>>2]=16,ar[a>>2]=0,ar[a+4>>2]=0,ar[a+8>>2]=0,Xe(t,a),(0|tr[a+11>>0])<0&&vu(0|ar[a>>2]),LA(a,e,r),We(f,(u=(l=0|tr[(c=a+11|0)>>0])<<24>>24<0)?0|ar[a>>2]:a,u?0|ar[a+4>>2]:255&l),(0|tr[c>>0])<0&&vu(0|ar[a>>2]),0<(0|ar[r>>2]))for(a=0;We(f,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(r=0|We(f,20144,10),We(0|We(r,(l=(u=0|tr[(c=e+56|0)+11>>0])<<24>>24<0)?0|ar[c>>2]:c,l?0|ar[e+60>>2]:255&u),30086,1),Ie(A,t),ar[f>>2]=4304,ar[n>>2]=4324,ar[t>>2]=4340,0<=(0|tr[11+i>>0]))return kf(t),Gf(),bf(n),void(ur=o);vu(0|ar[i>>2]),kf(t),Gf(),bf(n),ur=o},function(A,e,r){A|=0;var i,f,n=0,t=0;if(ur=(f=ur)+32|0,t=f+20|0,qA(n=f,e|=0,r|=0),(0|tr[(n=n+8|0)+11>>0])<0&&vu(0|ar[n>>2]),RA(t,r),(0|tr[(i=(n=e+56|0)+11|0)>>0])<0?(tr[ar[n>>2]>>0]=0,ar[e+60>>2]=0):(tr[n>>0]=0,tr[i>>0]=0),Cu(n,0),ar[n>>2]=ar[t>>2],ar[n+4>>2]=ar[t+4>>2],ar[n+8>>2]=ar[t+8>>2],!(0|tr[r+24>>0]))return r=0|ar[(e=56592)+4>>2],ar[(t=A)>>2]=ar[e>>2],ar[t+4>>2]=r,yu(A+8|0,56600),void(ur=f);ar[t>>2]=0,ar[t+4>>2]=0,ar[t+8>>2]=0,oo(A,2,100,t),ur=(0<=(0|tr[t+11>>0])||vu(0|ar[t>>2]),f)},function(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o,a,c=0,l=0,u=0;if(ur=(a=ur)+160|0,f=a+136|0,t=(n=a)+56|0,o=n+4|0,ar[n>>2]=292,ar[t>>2]=312,Jf(n+56|0,o),ar[n+128>>2]=0,ar[n+132>>2]=-1,ar[n>>2]=4304,ar[t>>2]=4324,Sf(o),ar[o>>2]=4340,ar[(i=n+36|0)>>2]=0,ar[4+i>>2]=0,ar[8+i>>2]=0,ar[12+i>>2]=0,ar[n+52>>2]=16,ar[f>>2]=0,ar[4+f>>2]=0,ar[8+f>>2]=0,Xe(o,f),(0|tr[11+f>>0])<0&&vu(0|ar[f>>2]),LA(f,e,r),We(n,(u=(l=0|tr[(c=11+f|0)>>0])<<24>>24<0)?0|ar[f>>2]:f,u?0|ar[4+f>>2]:255&l),(0|tr[c>>0])<0&&vu(0|ar[f>>2]),0<(0|ar[r>>2]))for(c=0;We(n,18862,2),(0|(c=c+1|0))<(0|ar[r>>2]););if(l=0|We(n,20027,13),e=0|ar[(c=e+56|0)>>2],e=0|jb[127&ar[8+(0|ar[e>>2])>>2]](e),ar[f>>2]=0,ar[4+f>>2]=0,ar[8+f>>2]=0,tr[(u=11+f|0)>>0]=4,tr[4+f>>0]=0,tr[f>>0]=e>>>24,tr[1+f>>0]=e>>>16,tr[2+f>>0]=e>>>8,tr[3+f>>0]=e,We(0|We(l,f,4),30086,1),(0|tr[u>>0])<0&&vu(0|ar[f>>2]),(c=0|ar[c>>2])?(ns[127&ar[12+(0|ar[c>>2])>>2]](f,c,r),We(n,(r=(l=0|tr[(u=11+f|0)>>0])<<24>>24<0)?0|ar[f>>2]:f,r?0|ar[4+f>>2]:255&l),(0|tr[u>>0])<0&&vu(0|ar[f>>2])):We(n,20041,17),Ie(A,o),ar[n>>2]=4304,ar[t>>2]=4324,ar[o>>2]=4340,0<=(0|tr[11+i>>0]))return kf(o),Gf(),bf(t),void(ur=a);vu(0|ar[i>>2]),kf(o),Gf(),bf(t),ur=a},function(A,e,r){A|=0,e|=0;var i,f,n=0,t=0,o=0,a=0;if(ur=(f=ur)+48|0,t=(a=f)+20|0,o=0|ar[(r|=0)+12>>2],jA(r,0|tr[e+36>>0]?12:8),(n=0|ar[(i=e+56|0)>>2])||sr(20011,19104,1857,19563),UA(r,0|jb[127&ar[8+(0|ar[n>>2])>>2]](n)),n=0|ar[i>>2],ns[127&ar[16+(0|ar[n>>2])>>2]](a,n,r),0|ar[a>>2])return t=0|ar[(r=a)+4>>2],ar[(o=A)>>2]=ar[r>>2],ar[o+4>>2]=t,a=a+8|0,ar[(A=A+8|0)>>2]=ar[a>>2],ar[A+4>>2]=ar[a+4>>2],ar[A+8>>2]=ar[a+8>>2],ar[a>>2]=0,ar[a+4>>2]=0,ar[a+8>>2]=0,void(ur=f);KA(t,e,r,o),(0|tr[(e=t+8|0)+11>>0])<0&&vu(0|ar[e>>2]),t=0|ar[(r=56592)+4>>2],ar[(o=A)>>2]=ar[r>>2],ar[o+4>>2]=t,yu(A+8|0,56600),ur=(0<=(0|tr[a+8+11>>0])||vu(0|ar[a+8>>2]),f)},function(A,e,r){A|=0,e|=0;var i,f,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0;ur=(f=ur)+64|0,b=f+40|0,l=f+36|0,o=f+24|0,i=f+16|0,n=f,t=0|FA(r|=0),ar[l>>2]=t;A:do{if(1886547814<=(0|t)){if((0|t)<1917403971)switch(0|t){case 1886547814:break;default:s=26;break A}else switch(0|t){case 1917403971:break;default:s=26;break A}if(0|NA(r,a=0|tb(0|(a=0|ob(0|ar[(a=e+8|0)>>2],0|ar[a+4>>2],0|ar[e+16>>2],0)),0|D,-4,-1),c=D))return ar[o>>2]=0,ar[o+4>>2]=0,ar[o+8>>2]=0,oo(A,2,100,o),0<=(0|tr[o+11>>0])||vu(0|ar[o>>2]),void(ur=f);if(ar[b>>2]=0,ar[(o=b+4|0)>>2]=0,(ar[b+8>>2]=0)|a)for((0|a)<0&&zl(),t=0|hu(a),ar[o>>2]=t,ar[b>>2]=t,ar[b+8>>2]=t+a,n=a;t=1+((tr[t>>0]=0)|ar[o>>2])|0,ar[o>>2]=t,0!=(0|(n=n+-1|0)););if(!(0==(0|a)&0==(0|c)))for(n=0;t=0|IA(r),tr[(0|ar[b>>2])+n>>0]=t,0<c>>>0|0==(0|c)&(n=n+1|0)>>>0<a>>>0;);fe(i,l,b),n=0|ar[i>>2],l=0|ar[(t=4+i|0)>>2],ar[i>>2]=0,ar[t>>2]=0,ar[e+56>>2]=n,n=0|ar[(e=e+60|0)>>2],ar[e>>2]=l,0|n&&(du(n),0|(u=0|ar[t>>2]))&&du(u),0|(n=0|ar[b>>2])&&((0|ar[o>>2])!=(0|n)&&(ar[o>>2]=n),vu(n))}else{switch(0|t){case 1852009592:break;default:s=26;break A}if(o=0|hu(24),ar[o+4>>2]=0,ar[o+8>>2]=0,ar[o>>2]=6064,ar[(t=o+12|0)>>2]=6092,or[o+16>>1]=2,or[o+18>>1]=2,or[o+20>>1]=6,tr[o+22>>0]=1,bu(o),ar[e+56>>2]=t,n=0|ar[(e=e+60|0)>>2],ar[e>>2]=o,0|n&&du(n),ie(A,t,r),0|ar[A>>2])return du(o),void(ur=f);(0|tr[(n=A+8|0)+11>>0])<0&&vu(0|ar[n>>2]),du(o)}}while(0);if(26==(0|s))return ar[n>>2]=0,ar[n+4>>2]=0,ar[n+8>>2]=0,oo(A,2,126,n),0<=(0|tr[n+11>>0])||vu(0|ar[n>>2]),void(ur=f);0|tr[r+24>>0]?(ar[b>>2]=0,ar[b+4>>2]=0,ar[b+8>>2]=0,oo(A,2,100,b),(0|tr[b+11>>0])<0&&vu(0|ar[b>>2])):(b=0|ar[(r=56592)+4>>2],ar[(s=A)>>2]=ar[r>>2],ar[s+4>>2]=b,yu(A+8|0,56600)),ur=f},function(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o,a,c,l=0,u=0;if(ur=(o=ur)+160|0,l=o+136|0,n=(f=o)+56|0,t=f+4|0,ar[f>>2]=292,ar[n>>2]=312,Jf(f+56|0,t),ar[f+128>>2]=0,ar[f+132>>2]=-1,ar[f>>2]=4304,ar[n>>2]=4324,Sf(t),ar[t>>2]=4340,ar[(i=f+36|0)>>2]=0,ar[4+i>>2]=0,ar[8+i>>2]=0,ar[12+i>>2]=0,ar[f+52>>2]=16,ar[l>>2]=0,ar[l+4>>2]=0,ar[l+8>>2]=0,Xe(t,l),(0|tr[l+11>>0])<0&&vu(0|ar[l>>2]),LA(l,e,r),We(f,(c=(a=0|tr[(u=l+11|0)>>0])<<24>>24<0)?0|ar[l>>2]:l,c?0|ar[l+4>>2]:255&a),(0|tr[u>>0])<0&&vu(0|ar[l>>2]),0<(0|ar[r>>2]))for(l=0;We(f,18862,2),(0|(l=l+1|0))<(0|ar[r>>2]););if(We(f,19569,18),u=e+56|0,e=e+60|0,l=0|ar[u>>2],(0|ar[e>>2])!=(0|l))for(r=0;r&&(We(f,19588,1),l=0|ar[u>>2]),Pf(f,0|cr[l+r>>0]),r=r+1|0,l=0|ar[u>>2],r>>>0<((0|ar[e>>2])-l|0)>>>0;);if(We(f,30086,1),Ie(A,t),ar[f>>2]=4304,ar[n>>2]=4324,ar[t>>2]=4340,0<=(0|tr[11+i>>0]))return kf(t),Gf(),bf(n),void(ur=o);vu(0|ar[i>>2]),kf(t),Gf(),bf(n),ur=o},function(A,e,r){A|=0,e|=0;var i,f,n,t,o=0,a=0,c=0,l=0;if(ur=(t=ur)+32|0,c=t,l=0|ar[(r|=0)+12>>2],jA(r,0|tr[e+36>>0]?12:8),f=e+56|0,255<(i=(o=0|ar[(n=e+60|0)>>2])-(a=0|ar[f>>2])|0)>>>0&&sr(55739,19104,1919,19563),(0|a)==(0|o)&&sr(55739,19104,1919,19563),JA(r,255&i),o=0|ar[f>>2],(0|ar[n>>2])!=(0|o))for(a=0;JA(r,0|tr[o+a>>0]),a=a+1|0,o=0|ar[f>>2],a>>>0<((0|ar[n>>2])-o|0)>>>0;);KA(c,e,r,l),(0|tr[(o=c+8|0)+11>>0])<0&&vu(0|ar[o>>2]),c=0|ar[(r=56592)+4>>2],ar[(l=A)>>2]=ar[r>>2],ar[l+4>>2]=c,yu(A+8|0,56600),ur=t},function(A,e,r){A|=0;var i,f,n,t,o,a=0,c=0,l=0,u=0;if(ur=(o=ur)+48|0,u=o+32|0,qA(a=(c=o)+12|0,e|=0,r|=0),(0|tr[(a=a+8|0)+11>>0])<0&&vu(0|ar[a>>2]),0|NA(r,255&(f=0|IA(r)),0))return ar[c>>2]=0,ar[c+4>>2]=0,ar[c+8>>2]=0,oo(A,2,100,c),0<=(0|tr[c+11>>0])||vu(0|ar[c>>2]),void(ur=o);if(n=e+56|0,(t=255&f)>>>0<=(c=(i=0|ar[(a=e+60|0)>>2])-(e=0|ar[n>>2])|0)>>>0?t>>>0<c>>>0&&(0|i)!=(0|(l=e+t|0))&&(ar[a>>2]=l):TA(n,t-c|0),f<<24>>24)for(a=0;l=0|IA(r),tr[(0|ar[n>>2])+a>>0]=l,(0|(a=a+1|0))!=(0|t););0|tr[r+24>>0]?(ar[u>>2]=0,ar[u+4>>2]=0,ar[u+8>>2]=0,oo(A,2,100,u),(0|tr[u+11>>0])<0&&vu(0|ar[u>>2])):(r=0|ar[(l=56592)+4>>2],ar[(u=A)>>2]=ar[l>>2],ar[u+4>>2]=r,yu(A+8|0,56600)),ur=o},function(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o,a=0,c=0;if(ur=(o=ur)+160|0,a=o+136|0,n=(f=o)+56|0,t=f+4|0,ar[f>>2]=292,ar[n>>2]=312,Jf(f+56|0,t),ar[f+128>>2]=0,ar[f+132>>2]=-1,ar[f>>2]=4304,ar[n>>2]=4324,Sf(t),ar[t>>2]=4340,ar[(i=f+36|0)>>2]=0,ar[4+i>>2]=0,ar[8+i>>2]=0,ar[12+i>>2]=0,ar[f+52>>2]=16,ar[a>>2]=0,ar[a+4>>2]=0,ar[a+8>>2]=0,Xe(t,a),(0|tr[a+11>>0])<0&&vu(0|ar[a>>2]),0<(0|ar[r>>2]))for(a=0;We(f,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(c=0|We(f,19818,18),c=0|We(0|xf(c,0|or[e+4>>1]),30086,1),0<(0|ar[r>>2]))for(a=0;We(c,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(c=0|We(c,19837,26),c=0|We(0|xf(c,0|or[e+6>>1]),30086,1),0<(0|ar[r>>2]))for(a=0;We(c,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(c=0|We(c,19864,21),c=0|We(0|xf(c,0|or[e+8>>1]),30086,1),0<(0|ar[r>>2]))for(a=0;We(c,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(r=0|We(c,19886,17),We(0|Hf(r,0!=(0|tr[e+10>>0])),30086,1),Ie(A,t),ar[f>>2]=4304,ar[n>>2]=4324,ar[t>>2]=4340,0<=(0|tr[11+i>>0]))return kf(t),Gf(),bf(n),void(ur=o);vu(0|ar[i>>2]),kf(t),Gf(),bf(n),ur=o},function(A,e,r){A|=0,MA(r|=0,0|or[(e|=0)+4>>1]),MA(r,0|or[e+6>>1]),MA(r,0|or[e+8>>1]),JA(r,0|tr[e+10>>0]?-128:0),e=0|ar[14149],ar[(r=A)>>2]=ar[14148],ar[r+4>>2]=e,yu(A+8|0,56600)},function(A,e,r){A|=0,e|=0,r|=0;var i,f,n,t,o,a=0;if(ur=(o=ur)+160|0,a=o+136|0,n=(f=o)+56|0,t=f+4|0,ar[f>>2]=292,ar[n>>2]=312,Jf(f+56|0,t),ar[f+128>>2]=0,ar[f+132>>2]=-1,ar[f>>2]=4304,ar[n>>2]=4324,Sf(t),ar[t>>2]=4340,ar[(i=f+36|0)>>2]=0,ar[4+i>>2]=0,ar[8+i>>2]=0,ar[12+i>>2]=0,ar[f+52>>2]=16,ar[a>>2]=0,ar[a+4>>2]=0,ar[a+8>>2]=0,Xe(t,a),(0|tr[a+11>>0])<0&&vu(0|ar[a>>2]),0<(0|ar[r>>2]))for(a=0;We(f,18862,2),(0|(a=a+1|0))<(0|ar[r>>2]););if(r=0|We(f,19675,14),We(0|Lf(r,(0|ar[e+12>>2])-(0|ar[e+8>>2])|0),30086,1),Ie(A,t),ar[f>>2]=4304,ar[n>>2]=4324,ar[t>>2]=4340,0<=(0|tr[11+i>>0]))return kf(t),Gf(),bf(n),void(ur=o);vu(0|ar[i>>2]),kf(t),Gf(),bf(n),ur=o},function(A,e,r){A|=0,zA(r|=0,(e|=0)+8|0),e=0|ar[14149],ar[(r=A)>>2]=ar[14148],ar[r+4>>2]=e,yu(A+8|0,56600)},function(A,e,r){e|=0,r|=0;var i,f,n,t,o,a,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0;for(ur=(o=ur)+32|0,i=o+20|0,f=o+16|0,n=o+12|0,t=o,ar[(A|=0)>>2]=ar[1904],ar[A+4>>2]=ar[1905],ar[A+8>>2]=ar[1906],a=0|ar[e>>2],Wa(a=548+(a|=0)|0),Wa(a),tr[a>>0]=1,ar[r>>2]=0;;){if((ar[n>>2]=0)|Ee(0|ar[e>>2],n)){l=28;break}if(0|(m=0|Fe(0|ar[e>>2]))){for(0|(c=0|ar[r>>2])&&hl(c),l=0==(0|De(m)),Z=0|hu(80),ar[Z+4>>2]=0,ar[Z+8>>2]=0,ar[Z>>2]=6208,ar[(v=Z+12|0)>>2]=0,ar[v+4>>2]=0,ar[v+8>>2]=0,ar[v+12>>2]=0,ar[v+16>>2]=0,ar[Z+32>>2]=34395,ar[Z+36>>2]=0,ar[Z+40>>2]=0,ar[Z+44>>2]=99,ar[Z+48>>2]=99,w=Z+52|0,ar[(g=Z+72|0)>>2]=0,ar[Z+76>>2]=0,ar[w>>2]=0,ar[w+4>>2]=0,ar[w+8>>2]=0,ar[w+12>>2]=0,ar[Z+68>>2]=g,g=v,w=Z+16|0,bu(p=Z),su(Z),c=0|ar[w>>2],ar[v>>2]=g,ar[w>>2]=p,0|c&&ku(c),du(Z),yo(v,d=0|_e(m,0),s=0|Ye(m,0),l?2:0,w=0|De(m)),s=l?1:3,d=((w=0|Qe(m,0))+7|0)/8|0,b=0;;){if((0|Qe(m,b))!=(0|w)){l=10;break}if(k=0|Je(m,b,i),(0|(l=0|_e(m,b)))<1|(0|(h=0|Ye(m,b)))<1){l=12;break}if(!(0|Bo(v,c=0|ar[7628+(b<<2)>>2],l,h,w))){l=14;break}if(u=0|Fo(v,c,f),0<(0|h))for(l=0|br(l,d),c=0;hb(0|(y=u+(0|br(0|ar[f>>2],c))|0),k+(0|br(0|ar[i>>2],c))|0,0|l),(0|(c=c+1|0))!=(0|h););if((0|s)<=(0|(b=b+1|0))){l=20;break}}if(10==(0|l)?(l=0,ar[t>>2]=ar[1910],ar[t+4>>2]=ar[1911],ar[t+8>>2]=ar[1912]):12==(0|l)?(ar[t>>2]=ar[1913],ar[t+4>>2]=ar[1914],ar[t+8>>2]=ar[1915],l=18):14==(0|l)?(ar[t>>2]=ar[1916],ar[t+4>>2]=ar[1917],ar[t+8>>2]=ar[1918],l=18):20==(0|l)&&(c=(l=0)|hu(8),ar[c>>2]=0,ar[(y=c+4|0)>>2]=0,ar[r>>2]=c,bu(Z),ar[c>>2]=g,c=0|ar[y>>2],ar[y>>2]=p,0|c&&du(c),ar[t>>2]=ar[1904],ar[t+4>>2]=ar[1905],ar[t+8>>2]=ar[1906]),du(Z),ar[A>>2]=ar[t>>2],ar[A+4>>2]=ar[t+4>>2],ar[A+8>>2]=ar[t+8>>2],0|ar[A>>2]){l=28;break}c=0|hu(24),ar[c+4>>2]=0,ar[c+8>>2]=0,ar[c>>2]=6064,ar[(l=c+12|0)>>2]=6092,or[c+16>>1]=0,or[c+18>>1]=0,or[c+20>>1]=0,tr[c+22>>0]=1,jt(l),y=0|ar[ar[r>>2]>>2],bu(c),bu(c),ar[y+40>>2]=l,l=0|ar[(y=y+44|0)>>2],ar[y>>2]=c,0|l&&du(l),du(c),Re(0|ar[e>>2]),du(c)}if(!(0|ar[n>>2])){l=28;break}}28!=(0|l)||(ur=o)},function(A,e,r){A|=0,0|(A=0|ar[(e|=0)+4>>2])&&Bc(A),0|(A=0|ar[e+8>>2])&&Bc(A),(A=0|ar[e+12>>2])&&Bc(A)},function(A,e,r){var i,f,n,t;A|=0,e|=0,ur=(i=ur)+32|0,f=i,t=(n=0|tr[(r|=0)+11>>0])<<24>>24<0,function(A,e,r,i,f){A|=0,e|=0,r|=0,i|=0,f|=0;var n,t,o,a,c=0,l=0,u=0;ur=(a=ur)+32|0,o=a,u=0|hu(132),ar[u+4>>2]=0,ar[u+8>>2]=0,ar[u>>2]=6364,co(c=u+12|0),ar[(n=e+60|0)>>2]=c,t=0|ar[(l=e+64|0)>>2],ar[l>>2]=u,t&&(du(t),c=0|ar[n>>2]);if(ko(o,c,r,i,f),0|ar[o>>2])return u=0|ar[(f=o)+4>>2],ar[(l=A)>>2]=ar[f>>2],ar[l+4>>2]=u,u=o+8|0,ar[(l=A+8|0)>>2]=ar[u>>2],ar[l+4>>2]=ar[u+4>>2],ar[l+8>>2]=ar[u+8>>2],ar[u>>2]=0,ar[u+4>>2]=0,ar[u+8>>2]=0,ur=a;if(function(A,e){A|=0;var r,i,f,n,t,o,a,c,l,u,b,s,d,k,h,w,v,m,g,Z,p,y,B,E,X,W,I,C,G=0,V=0,F=0,R=0,N=0,_=0,Y=0,Q=0,D=0,J=0,M=0,T=0,U=0,S=0,O=0,z=0,j=0,H=0,x=0,P=0,L=0,K=0,q=0,$=0,AA=0,eA=0,rA=0,iA=0,fA=0,nA=0,tA=0,oA=0,aA=0,cA=0,lA=0,uA=0,bA=0,sA=0,dA=0,kA=0,hA=0,wA=0,vA=0,mA=0,gA=0,ZA=0,pA=0,yA=0,BA=0,EA=0,XA=0,WA=0,IA=0,CA=0,GA=0,VA=0,FA=0,RA=0,NA=0,_A=0,YA=0,QA=0,DA=0,JA=0,MA=0,TA=0,UA=0,SA=0,OA=0,zA=0,jA=0,HA=0,xA=0,PA=0,LA=0,KA=0,qA=0,$A=0,Ae=0,ee=0,re=0,ie=0,fe=0,ne=0,te=0,oe=0,ae=0,ce=0,le=0,ue=0,be=0,se=0,de=0,ke=0,he=0,we=0,ve=0,me=0,ge=0,Ze=0,pe=0,ye=0,Be=0,Ee=0;if(ur=(C=ur)+656|0,y=C+640|0,I=C+616|0,q=C+628|0,ye=C+604|0,Be=C+144|0,lA=(Ee=C)+592|0,uA=C+584|0,r=C+572|0,i=C+560|0,f=C+548|0,n=C+536|0,t=C+384|0,p=C+392|0,o=C+372|0,a=C+348|0,c=C+360|0,l=C+328|0,u=C+316|0,b=C+304|0,s=C+292|0,d=C+280|0,k=C+268|0,h=C+256|0,w=C+248|0,de=C+240|0,v=C+232|0,m=C+216|0,Ze=C+208|0,pe=C+200|0,B=C+188|0,E=C+176|0,X=C+168|0,vl(ge=28+(e|=0)|0,0|ar[(W=e+32|0)>>2]),ar[(P=e+36|0)>>2]=0,ar[ge>>2]=W,ar[W>>2]=0,F=0|ar[(L=e+40|0)>>2],(0|(G=0|ar[(K=e+44|0)>>2]))!=(0|F))for(;V=G+-8|0,ar[K>>2]=V,G=(G=0|ar[G+-4>>2])?(du(G),0|ar[K>>2]):V,(0|G)!=(0|F););ar[(H=e+52|0)>>2]=0,G=0|ar[(x=e+56|0)>>2],ar[x>>2]=0,0|G&&du(G);if(function(A,e){e|=0;var r,i,f,n,t,o=0,a=0,c=0;if(ur=(t=ur)+16|0,f=t,ar[(A|=0)>>2]=0,ar[(n=A+4|0)>>2]=0,((ar[A+8>>2]=0)|(o=0|ar[e+108>>2]))!=(0|(r=e+112|0))){for(i=A+8|0,c=o,a=o=0;;){if(e=0|ar[56+(0|ar[c+20>>2])>>2],ar[f>>2]=e,o>>>0<a>>>0?(ar[o>>2]=e,ar[n>>2]=o+4):Ce(A,f),e=0|ar[c+4>>2])for(;o=0|ar[e>>2];)e=o;else if(e=0|ar[(o=c+8|0)>>2],(0|ar[e>>2])!=(0|c))for(;c=0|ar[o>>2],e=0|ar[(o=c+8|0)>>2],(0|ar[e>>2])!=(0|c););if((0|e)==(0|r))break;c=e,o=0|ar[n>>2],a=0|ar[i>>2]}ur=t}else ur=t}(I,0|ar[(g=e+60|0)>>2]),G=0|ar[I>>2],M=0|ar[(Z=4+I|0)>>2],(0|G)!=(0|M)){T=11+y|0,O=U=4+y|0,z=(S=e)+32|0,j=e+48|0;do{J=0|ar[G>>2],N=112+(0|ar[g>>2])|0,F=0|ar[N>>2];do{if(0|F){V=N;A:for(;;){for(R=F;!((0|ar[R+16>>2])>>>0>=J>>>0);){if(!(F=0|ar[R+4>>2]))break A;R=F}if(!(F=0|ar[R>>2])){V=R;break}V=R}if((0|V)!=(0|N)&&(0|ar[V+16>>2])>>>0<=J>>>0){if(F=0|ar[V+20>>2],V=0|ar[V+24>>2],D=V?(bu(V),V):0,!(Q=F)){if(!D)break;du(D);break}yu(y,Q+64|0),F=0|tr[T>>0],V=0|ar[U>>2],4==(0|(F<<24>>24<0?V:255&F))?0|Yu(y,0,-1,30298,4)?(F=0|tr[T>>0],V=0|ar[U>>2],me=23):V=1:me=23;do{if(23==(0|me)){if(4==((me=0)|(F<<24>>24<0?V:255&F))){if(!(0|Yu(y,0,-1,30303,4))){V=1;break}F=0|tr[T>>0],V=0|ar[U>>2]}if(4==(0|(F<<24>>24<0?V:255&F))){if(!(0|Yu(y,0,-1,30308,4))){V=1;break}F=0|tr[T>>0],V=0|ar[U>>2]}if(4==(0|(F<<24>>24<0?V:255&F))){if(!(0|Yu(y,0,-1,30313,4))){V=1;break}F=0|tr[T>>0],V=0|ar[U>>2]}V=4==(0|(F<<24>>24<0?V:255&F))?0==(0|Yu(y,0,-1,30318,4)):0}}while(0);if((0|tr[T>>0])<0&&vu(0|ar[y>>2]),V){for(Y=0|hu(232),ar[Y+4>>2]=0,ar[Y+8>>2]=0,ar[Y>>2]=6392,ar[(V=Y+16|0)>>2]=0,ar[V+4>>2]=0,ar[V+8>>2]=0,ar[Y+28>>2]=30025,ar[Y+32>>2]=S,ar[Y+36>>2]=J,ve=Y+60|0,rA=Y+80|0,iA=Y+96|0,F=Y+176|0,R=Y+112|0,ar[(we=Y+40|0)>>2]=0,ar[we+4>>2]=0,ar[we+8>>2]=0,ar[we+12>>2]=0,or[we+16>>1]=0,ar[ve>>2]=0,ar[ve+4>>2]=0,ar[ve+8>>2]=0,ar[ve+12>>2]=0,or[ve+16>>1]=0,ar[rA>>2]=0,ar[rA+4>>2]=0,ar[rA+8>>2]=0,tr[rA+12>>0]=0,ar[iA>>2]=0,ar[iA+4>>2]=0,ar[iA+8>>2]=0,tr[iA+12>>0]=0,rA=(iA=R)+60|0;((ar[iA>>2]=0)|(iA=iA+4|0))<(0|rA););for(tr[R+60>>0]=0,rA=(iA=F)+52|0;((ar[iA>>2]=0)|(iA=iA+4|0))<(0|rA););ar[y>>2]=V,ar[O>>2]=Y,N=V,bu(_=Y),V=0|ar[W>>2];do{if(V){for(R=z;;)if(F=0|ar[V+16>>2],J>>>0<F>>>0){if(!(F=0|ar[V>>2])){me=41;break}R=V,V=F}else{if(J>>>0<=F>>>0){me=45;break}if(!(F=0|ar[(R=V+4|0)>>2])){me=44;break}V=F}if(41==(0|me)){me=0,R=F=V;break}if(44==(0|me)){me=0,F=V;break}if(45==(0|me)){me=0,F=V;break}}else R=F=W}while(0);0|ar[R>>2]?du(Y):(V=0|hu(28),ar[V+16>>2]=J,ar[V+20>>2]=N,ar[V+24>>2]=_,ar[V>>2]=0,ar[V+4>>2]=0,ar[V+8>>2]=F,ar[R>>2]=V,(F=0|ar[ar[ge>>2]>>2])&&(ar[ge>>2]=F,V=0|ar[R>>2]),so(0|ar[z>>2],V),ar[P>>2]=1+(0|ar[P>>2]));do{if(!(0|tr[Q+124>>0])){do{if((0|J)==(0|ar[56+(0|ar[84+(0|ar[g>>2])>>2])>>2])){if(V=0|ar[y>>2],tr[V+40>>0]=1,0|(F=0|ar[O>>2])&&bu(F),ar[H>>2]=V,V=0|ar[x>>2],ar[x>>2]=F,!V)break;du(V)}}while(0);if((0|(V=0|ar[K>>2]))==(0|ar[j>>2])){kl(L,y);break}ar[V>>2]=ar[y>>2],F=0|ar[O>>2],(ar[V+4>>2]=F)&&(bu(F),V=0|ar[K>>2]),ar[K>>2]=V+8}}while(0);0|(V=0|ar[O>>2])&&du(V)}0|D&&du(D)}}}while(0);G=G+4|0}while((0|G)!=(0|M))}A:do{if(0|ar[H>>2]){if((0|(G=0|ar[ge>>2]))!=(0|W))for(M=ye+4|0,T=ye+8|0,U=uA+4|0,S=e+72|0,j=Ee+12|0,H=Ee+4|0,x=O=Ee+64|0,P=Ee+136|0,L=Ee+140|0,q=Ee+60|0,$=11+y|0,AA=z=Ee+8|0,eA=e+76|0,rA=lA+11|0,iA=(K=Ee+44|0)+11|0,nA=(fA=Be+8|0)+11|0,tA=A+8|0,J=G;;){if(Q=J+20|0,ar[ye>>2]=0,ar[M>>2]=0,ar[T>>2]=0,vo(Be,0|ar[g>>2],0|ar[J+16>>2],ye),0|ar[Be>>2])ve=0|ar[(we=Be)+4>>2],ar[(G=A)>>2]=ar[we>>2],ar[G+4>>2]=ve,ar[tA>>2]=ar[fA>>2],ar[tA+4>>2]=ar[fA+4>>2],ar[tA+8>>2]=ar[fA+8>>2],ar[fA>>2]=0,ar[fA+4>>2]=0,ar[fA+8>>2]=0,G=1;else{G=0|ar[ye>>2],D=0|ar[M>>2];e:do{if((0|G)==(0|D))G=6;else for(N=0;;){V=0|ar[(_=G+4|0)>>2];do{if(0!=(0|V)&&0!=(0|(oA=0|qu(V,128,872,0)))){if((V=0|ar[G+8>>2])?bu(V):V=0,F=0|ar[oA+56>>2],R=0|ar[oA+60>>2],F>>>0<=(0|ar[S>>2])>>>0&&R>>>0<=(0|ar[eA>>2])>>>0){Y=0|ar[Q>>2],ar[Y+24>>2]=F,ar[Y+28>>2]=R,ar[Y+32>>2]=F,ar[Y+36>>2]=R,Y=V,me=94;break}ar[z>>2]=4524,ar[Ee>>2]=188,ar[O>>2]=208,ar[H>>2]=0,Jf(x,j),ar[P>>2]=0,ar[L>>2]=-1,ar[Ee>>2]=4504,ar[O>>2]=4544,ar[z>>2]=4524,Sf(j),ar[j>>2]=4340,ar[K>>2]=0,ar[K+4>>2]=0,ar[K+8>>2]=0,ar[K+12>>2]=0,ar[q>>2]=24,ar[y>>2]=0,ar[4+y>>2]=0,ar[8+y>>2]=0,Xe(j,y),(0|tr[$>>0])<0&&vu(0|ar[y>>2]),ve=0|We(0|Lf(0|We(0|Lf(0|We(AA,30366,11),F),30170,1),R),30378,32),ve=0|We(0|Lf(ve,0|ar[S>>2]),30170,1),We(0|Lf(ve,0|ar[eA>>2]),30086,1),Ie(lA,j),oo(A,6,1e3,lA),(0|tr[rA>>0])<0&&vu(0|ar[lA>>2]),ar[Ee>>2]=4504,ar[O>>2]=4544,ar[AA>>2]=4524,ar[j>>2]=4340,(0|tr[iA>>0])<0&&vu(0|ar[K>>2]),kf(j),bf(O),R=1,F=N}else me=83}while(0);if(83==(0|me)&&(me=N?(Y=0,94):(Y=F=0,109)),94==(0|me))if(V=(me=0)|ar[_>>2]){F=(F=0|qu(V,128,744,0))?((V=0|ar[G+8>>2])?bu(V):V=0,me=0|ar[Q>>2],ve=0|eo(F),F=0|ro(F),ar[me+24>>2]=ve,ar[me+28>>2]=F,V):0,V=0|ar[_>>2];do{if(0|V&&0|(aA=0|qu(V,128,808,0))){switch((V=0|ar[G+8>>2])?bu(V):V=0,0|ar[aA+56>>2]){case 270:case 90:we=0|ar[Q>>2],me=we+28|0,ve=0|ar[(we=we+24|0)>>2],ar[we>>2]=ar[me>>2],ar[me>>2]=ve}if(!V)break;du(V)}}while(0);me=(F=(F&&du(F),1),109)}else R=0,F=1,V=Y;do{if(109==(0|me))if((me=0)!=(0|(V=0|ar[_>>2]))&&0!=(0|(cA=0|qu(V,128,384,0)))){if((V=0|ar[G+8>>2])?bu(V):V=0,R=0|ar[cA+56>>2],N=0|ar[cA+60>>2],Zl(R=((_=0==(0|N))?(ve=0|ar[Q>>2],ar[uA>>2]=R,ar[U>>2]=0):(bu(N),ve=0|ar[Q>>2],ar[uA>>2]=R,bu(ar[U>>2]=N)),ve),uA),0|(R=0|ar[U>>2])&&du(R),_||du(N),!V){R=0,V=Y;break}du(V),R=0,V=Y}else R=0,V=Y}while(0);if(0|V&&du(V),G=G+12|0,0|R){G=1;break e}if((0|G)==(0|D)){G=6;break}N=F}}while(0);G=6==(0|G)?0:G,(0|tr[nA>>0])<0&&vu(0|ar[fA>>2])}if(0|(V=0|ar[ye>>2])){if((0|(F=0|ar[M>>2]))!=(0|V)){for(;R=F+-12|0,ar[M>>2]=R,(0|(F=(F=0|ar[F+-4>>2])?(du(F),0|ar[M>>2]):R))!=(0|V););V=0|ar[ye>>2]}vu(V)}if(0|G)break A;if(G=0|ar[J+4>>2])for(;V=0|ar[G>>2];)G=V;else if(G=0|ar[(V=J+8|0)>>2],(0|ar[G>>2])!=(0|J))for(;ve=0|ar[V>>2],G=0|ar[(V=ve+8|0)>>2],(0|ar[G>>2])!=(0|ve););if((0|G)==(0|W))break;J=G}we=0|ar[g>>2],ke=0|ar[we+76>>2],we=0|ar[we+80>>2],(ve=0==(0|we))||bu(we),he=0!=(0|ke);e:do{if(he&&(bA=0|ar[ge>>2],(0|bA)!=(0|W))){S=ye+4|0,z=8+i|0,j=4+i|0,H=11+i|0,x=8+n|0,P=4+n|0,L=11+n|0,K=4+t|0,q=8+f|0,$=4+f|0,AA=11+f|0,fA=8+r|0,nA=4+r|0,tA=11+r|0,oA=Be+4|0,aA=Be+8|0,uA=12+p|0,dA=cA=64+p|0,kA=136+p|0,hA=140+p|0,vA=60+p|0,mA=11+y|0,ZA=11+o|0,pA=(wA=44+p|0)+11|0,yA=O=4+y|0,XA=8+u|0,WA=4+u|0,IA=11+u|0,CA=8+b|0,GA=4+b|0,VA=11+b|0,NA=8+s|0,_A=4+s|0,YA=11+s|0,QA=8+d|0,DA=4+d|0,JA=11+d|0,MA=RA=EA=sA=4+p|0,SA=8+c|0,zA=(OA=8+l|0)+11|0,jA=TA=gA=lA=8+p|0,HA=FA=BA=11+p|0,xA=8+k|0,PA=4+k|0,LA=11+k|0,KA=8+h|0,qA=4+h|0,$A=11+h|0,Ae=4+w|0,ee=de+4|0,fe=re=11+c|0,ne=ie=UA=4+c|0,te=11+l|0,oe=4+l|0,ae=8+a|0,ce=4+a|0,le=11+a|0,be=(ue=Ee+8|0)+11|0,se=A+8|0;r:for(;;){if(io(ye,ke,0|ar[20+(0|ar[(M=bA+20|0)>>2])>>2]),V=0|ar[ye>>2],T=0|ar[S>>2],(0|V)==(0|T))G=10;else{U=bA+24|0;i:for(;;){G=0|ar[V+20>>2];f:do{if((0|G)<1953000802){switch(0|G){case 1635088492:break;default:break f}if(ar[Be>>2]=0,ar[oA>>2]=0,ar[aA>>2]=0,vo(Ee,0|ar[g>>2],0|ar[20+(0|ar[M>>2])>>2],Be),0|ar[Ee>>2])iA=0|ar[(rA=Ee)+4>>2],ar[(G=A)>>2]=ar[rA>>2],ar[G+4>>2]=iA,ar[se>>2]=ar[ue>>2],ar[se+4>>2]=ar[ue+4>>2],ar[se+8>>2]=ar[ue+8>>2],ar[ue>>2]=0,ar[ue+4>>2]=0,ar[ue+8>>2]=0,G=1;else{G=0|ar[Be>>2],Q=0|ar[oA>>2];do{if((0|G)==(0|Q))F=0,me=197;else{for(F=Y=0;;){R=0|ar[G+4>>2];do{if(R){if(!(_=0|qu(R,128,840,0))){R=Y;break}R=_,(N=0|ar[G+8>>2])?bu(N):N=0;do{if(_){if(0|(_=N)&&bu(N),!F){F=_;break}du(F),F=_}else R=Y}while(0);if(!N)break;du(N)}else R=Y}while(0);if((0|(G=G+12|0))==(0|Q))break;Y=R}if(!(D=R)){me=197;break}Ge(y,V+52|0);n:do{if(4==((0|ar[yA>>2])-(0|ar[y>>2])|0)){yu(p,J=D+56|0),25==(0|((iA=0|tr[BA>>0])<<24>>24<0?0|ar[EA>>2]:255&iA))&&0==(0|Yu(p,0,-1,30621,25))?G=1:(yu(c,J),26==(0|((iA=0|tr[fe>>0])<<24>>24<0?0|ar[ne>>2]:255&iA))&&0==(0|Yu(c,0,-1,30647,26))?G=1:(yu(l,J),43==(0|((R=0|tr[te>>0])<<24>>24<0?0|ar[oe>>2]:255&R))?(G=0==(0|Yu(l,0,-1,30674,43)),R=0|tr[te>>0]):G=0,R<<24>>24<0&&vu(0|ar[l>>2])),(0|tr[fe>>0])<0&&vu(0|ar[c>>2])),(0|tr[BA>>0])<0&&vu(0|ar[p>>2]);t:do{if(G){R=0|ar[W>>2];do{if(0|R){_=0|ar[ar[y>>2]>>2],G=W;o:for(;;){for(N=R;!((0|ar[N+16>>2])>>>0>=_>>>0);){if(!(R=0|ar[N+4>>2]))break o;N=R}if(!(R=0|ar[N>>2])){G=N;break}G=N}if((0|G)==(0|W))break;if(_>>>0<(0|ar[G+16>>2])>>>0)break;_=0|ar[G+20>>2],Y=0|ar[G+24>>2],(Q=0==(0|Y))||bu(Y),G=0|ar[M>>2],R=G;do{if((0|G)==(0|_)){for(ar[b>>2]=0,ar[4+b>>2]=0,ar[8+b>>2]=0,G=0|hu(32),ar[b>>2]=G,ar[CA>>2]=-2147483616,ar[GA>>2]=30,eA=30754,rA=(iA=G)+30|0;tr[iA>>0]=0|tr[eA>>0],eA=eA+1|0,(0|(iA=iA+1|0))<(0|rA););if(tr[G+30>>0]=0,oo(A,2,2e3,b),0<=(0|tr[VA>>0])){G=1;break}vu(0|ar[b>>2]),G=1}else{if((0|ar[G+24>>2])!=(0|ar[_+24>>2])){G=0;break}if((0|ar[G+28>>2])!=(0|ar[_+28>>2])){G=0;break}if(N=0|ar[ar[y>>2]>>2],tr[G+60>>0]=1,ar[G+64>>2]=N,tr[G+61>>0]=1,0|(N=0|ar[U>>2])&&bu(N),ar[_+68>>2]=R,G=0|ar[(iA=_+72|0)>>2],ar[iA>>2]=N,!G){G=0;break}du(G),G=0}}while(0);if(Q||du(Y),G){G=1;break n}break t}}while(0);for(ar[u>>2]=0,ar[4+u>>2]=0,ar[8+u>>2]=0,G=0|hu(48),ar[u>>2]=G,ar[XA>>2]=-2147483600,ar[WA>>2]=35,eA=30718,rA=(iA=G)+35|0;tr[iA>>0]=0|tr[eA>>0],eA=eA+1|0,(0|(iA=iA+1|0))<(0|rA););if(tr[G+35>>0]=0,oo(A,2,2e3,u),0<=(0|tr[IA>>0])){G=1;break n}vu(0|ar[u>>2]),G=1;break n}}while(0);yu(p,J),26==(0|((iA=0|tr[FA>>0])<<24>>24<0?0|ar[RA>>2]:255&iA))&&0==(0|Yu(p,0,-1,30785,26))?G=1:(yu(c,J),43==(0|((R=0|tr[re>>0])<<24>>24<0?0|ar[ie>>2]:255&R))?(G=0==(0|Yu(c,0,-1,30812,43)),R=0|tr[re>>0]):G=0,R<<24>>24<0&&vu(0|ar[c>>2])),(0|tr[FA>>0])<0&&vu(0|ar[p>>2]);t:do{if(G){Y=0|ar[M>>2],G=0|ar[y>>2],N=0|ar[G>>2],tr[Y+76>>0]=1,ar[Y+80>>2]=N,N=0|ar[W>>2],Q=Y;do{if(0|N){_=0|ar[G>>2],G=W;o:for(;;){for(R=N;!((0|ar[R+16>>2])>>>0>=_>>>0);)if(!(R=0|ar[R+4>>2]))break o;if(!(N=0|ar[R>>2])){G=R;break}G=R}if((0|G)==(0|W))break;if(_>>>0<(0|ar[G+16>>2])>>>0)break;if(G=0|ar[G+20>>2],(0|Y)==(0|G)){for(ar[d>>2]=0,ar[4+d>>2]=0,ar[8+d>>2]=0,G=0|hu(32),ar[d>>2]=G,ar[QA>>2]=-2147483616,ar[DA>>2]=30,eA=30892,rA=(iA=G)+30|0;tr[iA>>0]=0|tr[eA>>0],eA=eA+1|0,(0|(iA=iA+1|0))<(0|rA););if(tr[G+30>>0]=0,oo(A,2,2e3,d),0<=(0|tr[JA>>0])){G=1;break n}vu(0|ar[d>>2]),G=1;break n}if(0|(R=0|ar[U>>2])&&bu(R),ar[G+84>>2]=Q,G=0|ar[(iA=G+88|0)>>2],ar[iA>>2]=R,0|G&&du(G),ar[p>>2]=0,ar[MA>>2]=0,ar[TA>>2]=0,R=0|ar[D+68>>2],0|(G=(0|ar[D+72>>2])-R|0)){if((0|G)<0)break r;rA=0|hu(G),ar[MA>>2]=rA,ar[p>>2]=rA,iA=rA+G|0,ar[jA>>2]=iA,hb(0|rA,0|R,0|G),ar[MA>>2]=iA}if(ar[c>>2]=0,ar[UA>>2]=0,ar[SA>>2]=0,Vl(l,p,c),G=0|ar[c>>2],_=0|ar[UA>>2],(0|G)!=(0|_))do{R=0|ar[G>>2];do{if(0|R){if(!(N=0|qu(R,1472,1480,0)))break;for((R=0|ar[G+4>>2])?bu(R):R=0,iA=0|ar[M>>2],tr[iA+92>>0]=1,eA=N+8|0,rA=(iA=iA+96|0)+56|0;ar[iA>>2]=ar[eA>>2],eA=eA+4|0,(0|(iA=iA+4|0))<(0|rA););if(!R)break;du(R)}}while(0);G=G+8|0}while((0|G)!=(0|_));if((0|tr[zA>>0])<0&&vu(0|ar[OA>>2]),0|(G=0|ar[c>>2])){if((0|(R=0|ar[UA>>2]))!=(0|G)){for(;N=R+-8|0,ar[UA>>2]=N,(0|(R=(R=0|ar[R+-4>>2])?(du(R),0|ar[UA>>2]):N))!=(0|G););G=0|ar[c>>2]}vu(G)}0|(G=0|ar[p>>2])&&((0|ar[MA>>2])!=(0|G)&&(ar[MA>>2]=G),vu(G));break t}}while(0);for(ar[s>>2]=0,ar[4+s>>2]=0,ar[8+s>>2]=0,G=0|hu(48),ar[s>>2]=G,ar[NA>>2]=-2147483600,ar[_A>>2]=35,eA=30856,rA=(iA=G)+35|0;tr[iA>>0]=0|tr[eA>>0],eA=eA+1|0,(0|(iA=iA+1|0))<(0|rA););if(tr[G+35>>0]=0,oo(A,2,2e3,s),0<=(0|tr[YA>>0])){G=1;break n}vu(0|ar[s>>2]),G=1;break n}}while(0);iA=0|ar[M>>2],rA=0|ar[ar[y>>2]>>2],yu(p,J),tr[iA+156>>0]=1,ar[iA+152>>2]=rA,Eu(iA+160|0,p),(0|tr[HA>>0])<0&&vu(0|ar[p>>2]),R=0|ar[W>>2];do{if(0|R){_=0|ar[ar[y>>2]>>2],G=W;t:for(;;){for(N=R;!((0|ar[N+16>>2])>>>0>=_>>>0);){if(!(R=0|ar[N+4>>2]))break t;N=R}if(!(R=0|ar[N>>2])){G=N;break}G=N}if((0|G)==(0|W))break;if(_>>>0<(0|ar[G+16>>2])>>>0)break;if(R=0|ar[M>>2],N=0|ar[G+20>>2],(0|R)==(0|N)){for(ar[h>>2]=0,ar[4+h>>2]=0,ar[8+h>>2]=0,G=0|hu(32),ar[h>>2]=G,ar[KA>>2]=-2147483616,ar[qA>>2]=28,eA=30957,rA=(iA=G)+28|0;tr[iA>>0]=0|tr[eA>>0],eA=eA+1|0,(0|(iA=iA+1|0))<(0|rA););if(tr[G+28>>0]=0,oo(A,2,2e3,h),0<=(0|tr[$A>>0])){G=1;break n}vu(0|ar[h>>2]),G=1;break n}ar[w>>2]=R,G=0|ar[U>>2],0|(ar[Ae>>2]=G)&&bu(G),R=0|ar[(G=N+176|0)>>2];do{if(R>>>0<(0|ar[N+180>>2])>>>0)ar[R>>2]=ar[w>>2],ar[R+4>>2]=ar[Ae>>2],ar[w>>2]=0,ar[Ae>>2]=0,ar[G>>2]=R+8;else{if(yl(N+172|0,w),!(G=0|ar[Ae>>2]))break;du(G)}}while(0);if(ar[de>>2]=ar[M>>2],G=0|ar[U>>2],ar[ee>>2]=G){bu(G),pl(e,de),du(G),G=0;break n}pl(e,de),G=0;break n}}while(0);for(ar[k>>2]=0,ar[4+k>>2]=0,ar[8+k>>2]=0,G=0|hu(48),ar[k>>2]=G,ar[xA>>2]=-2147483600,ar[PA>>2]=33,eA=30923,rA=(iA=G)+33|0;tr[iA>>0]=0|tr[eA>>0],eA=eA+1|0,(0|(iA=iA+1|0))<(0|rA););if(tr[G+33>>0]=0,oo(A,2,2e3,k),0<=(0|tr[LA>>0])){G=1;break}vu(0|ar[k>>2]),G=1}else{for(ar[a>>2]=0,ar[4+a>>2]=0,ar[8+a>>2]=0,G=0|hu(48),ar[a>>2]=G,ar[ae>>2]=-2147483600,ar[ce>>2]=35,eA=30585,rA=(iA=G)+35|0;tr[iA>>0]=0|tr[eA>>0],eA=eA+1|0,(0|(iA=iA+1|0))<(0|rA););if(tr[G+35>>0]=0,oo(A,2,0,a),0<=(0|tr[le>>0])){G=1;break}vu(0|ar[a>>2]),G=1}}while(0);0|(R=0|ar[y>>2])&&((0|(N=0|ar[yA>>2]))!=(0|R)&&(ar[yA>>2]=N+(~((N+-4-R|0)>>>2)<<2)),vu(R))}}while(0);197==(0|me)&&(me=0,ar[lA>>2]=4524,ar[p>>2]=188,ar[cA>>2]=208,ar[sA>>2]=0,Jf(dA,uA),ar[kA>>2]=0,ar[hA>>2]=-1,ar[p>>2]=4504,ar[cA>>2]=4544,ar[lA>>2]=4524,Sf(uA),ar[uA>>2]=4340,ar[wA>>2]=0,ar[wA+4>>2]=0,ar[wA+8>>2]=0,ar[wA+12>>2]=0,ar[vA>>2]=24,ar[y>>2]=0,ar[4+y>>2]=0,ar[8+y>>2]=0,Xe(uA,y),(0|tr[mA>>0])<0&&vu(0|ar[y>>2]),Lf(iA=0|We(gA,30557,27),0|ar[20+(0|ar[M>>2])>>2]),Ie(o,uA),oo(A,2,123,o),(0|tr[ZA>>0])<0&&vu(0|ar[o>>2]),ar[p>>2]=4504,ar[cA>>2]=4544,ar[gA>>2]=4524,ar[uA>>2]=4340,(0|tr[pA>>0])<0&&vu(0|ar[wA>>2]),kf(uA),bf(cA),G=1),F&&du(F)}if((0|tr[be>>0])<0&&vu(0|ar[ue>>2]),0|(F=0|ar[Be>>2])){if((0|(R=0|ar[oA>>2]))!=(0|F)){for(;N=R+-12|0,ar[oA>>2]=N,(0|(R=(R=0|ar[R+-4>>2])?(du(R),0|ar[oA>>2]):N))!=(0|F););F=0|ar[Be>>2]}vu(F)}if(0|G)break i}else{switch(0|G){case 1953000802:break;default:break f}Ge(y,V+52|0),iA=0|ar[y>>2],G=iA;n:do{if(4==((0|ar[O>>2])-iA|0)){_=0|ar[M>>2],R=0|ar[G>>2],tr[_+41>>0]=1,ar[_+44>>2]=R,R=0|ar[W>>2],Y=_;do{if(0|R){N=0|ar[G>>2],G=W;t:for(;;){for(F=R;!((0|ar[F+16>>2])>>>0>=N>>>0);)if(!(F=0|ar[F+4>>2]))break t;if(!(R=0|ar[F>>2])){G=F;break}G=F}if((0|G)==(0|W))break;if(N>>>0<(0|ar[G+16>>2])>>>0)break;if(F=0|ar[G+20>>2],0|tr[F+41>>0]){for(ar[f>>2]=0,ar[4+f>>2]=0,ar[8+f>>2]=0,G=0|hu(48),ar[f>>2]=G,ar[q>>2]=-2147483600,ar[$>>2]=38,eA=30483,rA=(iA=G)+38|0;tr[iA>>0]=0|tr[eA>>0],eA=eA+1|0,(0|(iA=iA+1|0))<(0|rA););if(tr[G+38>>0]=0,oo(A,2,2e3,f),0<=(0|tr[AA>>0])){G=1;break n}vu(0|ar[f>>2]),G=1;break n}if((0|_)==(0|F)){for(ar[n>>2]=0,ar[4+n>>2]=0,ar[8+n>>2]=0,G=0|hu(48),ar[n>>2]=G,ar[x>>2]=-2147483600,ar[P>>2]=34,eA=30522,rA=(iA=G)+34|0;tr[iA>>0]=0|tr[eA>>0],eA=eA+1|0,(0|(iA=iA+1|0))<(0|rA););if(tr[G+34>>0]=0,oo(A,2,2e3,n),0<=(0|tr[L>>0])){G=1;break n}vu(0|ar[n>>2]),G=1;break n}if((0|(G=0|ar[(R=F+52|0)>>2]))==(0|ar[F+56>>2])?kl(F+48|0,M):(ar[G>>2]=Y,F=0|ar[U>>2],(ar[G+4>>2]=F)&&(bu(F),G=0|ar[R>>2]),ar[R>>2]=G+8),ar[t>>2]=ar[M>>2],G=0|ar[U>>2],ar[K>>2]=G){bu(G),pl(e,t),du(G),G=0;break n}pl(e,t),G=0;break n}}while(0);for(ar[i>>2]=0,ar[4+i>>2]=0,ar[8+i>>2]=0,G=0|hu(48),ar[i>>2]=G,ar[z>>2]=-2147483600,ar[j>>2]=41,eA=30441,rA=(iA=G)+41|0;tr[iA>>0]=0|tr[eA>>0],eA=eA+1|0,(0|(iA=iA+1|0))<(0|rA););tr[G+41>>0]=0,oo(A,2,2e3,i),G=((0|tr[H>>0])<0&&vu(0|ar[i>>2]),1)}else{for(ar[r>>2]=0,ar[4+r>>2]=0,ar[8+r>>2]=0,G=0|hu(32),ar[r>>2]=G,ar[fA>>2]=-2147483616,ar[nA>>2]=29,eA=30411,rA=(iA=G)+29|0;tr[iA>>0]=0|tr[eA>>0],eA=eA+1|0,(0|(iA=iA+1|0))<(0|rA););tr[G+29>>0]=0,oo(A,2,0,r),G=((0|tr[tA>>0])<0&&vu(0|ar[r>>2]),1)}}while(0);if(0|(F=0|ar[y>>2])&&((0|(R=0|ar[O>>2]))!=(0|F)&&(ar[O>>2]=R+(~((R+-4-F|0)>>>2)<<2)),vu(F)),0|G){G=1;break i}}}while(0);if((0|(V=V+64|0))==(0|T)){G=10;break}}V=0|ar[ye>>2]}if(Y=10==(0|G)?0:G,0|V){if((0|(G=0|ar[S>>2]))==(0|V))G=V;else{for(;F=G+-64|0,ar[S>>2]=F,0|(R=0|ar[G+-12>>2])&&((0|(_=0|ar[(N=G+-8|0)>>2]))!=(0|R)&&(ar[N>>2]=_+(~((_+-4-R|0)>>>2)<<2)),vu(R)),ar[F>>2]=4264,0|(F=0|ar[G+-40>>2])&&((0|ar[(G=G+-36|0)>>2])!=(0|F)&&(ar[G>>2]=F),vu(F)),(0|(G=0|ar[S>>2]))!=(0|V););G=0|ar[ye>>2]}vu(G)}switch(0|Y){case 8:me=362;break e;case 0:break;default:break e}if(G=0|ar[bA+4>>2])for(;V=0|ar[G>>2];)G=V;else if(G=0|ar[(V=bA+8|0)>>2],(0|ar[G>>2])!=(0|bA))for(;bA=0|ar[V>>2],G=0|ar[(V=bA+8|0)>>2],(0|ar[G>>2])!=(0|bA););if((0|G)==(0|W)){me=362;break e}bA=G}zl()}else me=362}while(0);e:do{if(362==(0|me)){G=0|ar[ge>>2];r:do{if((0|G)!=(0|W)){for(Q=11+y|0,J=D=4+y|0,M=4+v|0,T=8+m|0,U=4+m|0,S=11+m|0,Y=G;;){if(R=0|ar[20+(0|ar[(_=Y+20|0)>>2])>>2],N=112+(0|ar[g>>2])|0,G=0|ar[N>>2]){V=N;i:for(;;){for(F=G;!((0|ar[F+16>>2])>>>0>=R>>>0);){if(!(G=0|ar[F+4>>2]))break i;F=G}if(!(G=0|ar[F>>2])){V=F;break}V=F}N=(0|V)!=(0|N)&&(0|ar[V+16>>2])>>>0<=R>>>0?(G=0|ar[V+20>>2],(V=0|ar[V+24>>2])?(bu(V),V):0):G=0}else N=G=0;if(yu(y,G+64|0),4==(0|((G=0|tr[Q>>0])<<24>>24<0?0|ar[D>>2]:255&G))?(V=0==(0|Yu(y,0,-1,30298,4)),G=0|tr[Q>>0]):V=0,G<<24>>24<0&&vu(0|ar[y>>2]),V){G=0|ar[g>>2],ar[y>>2]=ar[G+52>>2],V=0|ar[G+56>>2],(ar[J>>2]=V)&&(bu(V),G=0|ar[g>>2]),V=0|ar[G+44>>2],F=0|ar[G+48>>2],(R=0==(0|F))||bu(F),Lt(v,V,0|ar[20+(0|ar[_>>2])>>2],y,1752589123),G=0==(0|ar[v>>2]),0|(V=0|ar[M>>2])&&du(V);do{if(G){for(ar[m>>2]=0,ar[4+m>>2]=0,ar[8+m>>2]=0,G=0|hu(48),ar[m>>2]=G,ar[T>>2]=-2147483600,ar[U>>2]=35,eA=30986,rA=(iA=G)+35|0;tr[iA>>0]=0|tr[eA>>0],eA=eA+1|0,(0|(iA=iA+1|0))<(0|rA););if(tr[G+35>>0]=0,oo(A,2,106,m),0<=(0|tr[S>>0])){G=1;break}vu(0|ar[m>>2]),G=1}else G=0}while(0);R||du(F),0|(V=0|ar[J>>2])&&du(V),G||(me=392)}else me=392;if(392==(0|me)&&(G=me=0),0|N&&du(N),0|G)break e;G=0|ar[Y+4>>2];do{if(G)for(;V=0|ar[G>>2];)G=V;else{if(G=0|ar[(V=Y+8|0)>>2],(0|ar[G>>2])==(0|Y))break;for(;de=0|ar[V>>2],G=0|ar[(V=de+8|0)>>2],(0|ar[G>>2])!=(0|de););}}while(0);if((0|G)==(0|W))break;Y=G}if((0|(G=0|ar[ge>>2]))!=(0|W)){M=1^he,T=11+y|0,S=U=4+y|0,O=Ze+4|0,z=pe+4|0;do{if(D=G+20|0,_=0|ar[G+16>>2],N=112+(0|ar[g>>2])|0,0|(F=0|ar[N>>2])){V=N;i:for(;;){for(R=F;!((0|ar[R+16>>2])>>>0>=_>>>0);){if(!(F=0|ar[R+4>>2]))break i;R=F}if(!(F=0|ar[R>>2])){V=R;break}V=R}if((0|V)!=(0|N)&&(0|ar[V+16>>2])>>>0<=_>>>0){F=0|ar[V+20>>2],V=0|ar[V+24>>2],J=V?(bu(V),V):0,V=0==(0|F);do{if(V|M)V=V?19:18;else{if(yu(y,F+64|0),4==(0|((V=0|tr[T>>0])<<24>>24<0?0|ar[U>>2]:255&V))?(F=0==(0|Yu(y,0,-1,30303,4)),V=0|tr[T>>0]):F=0,V<<24>>24<0&&vu(0|ar[y>>2]),F){if(fo(y,ke,_,1684630887),(0|(F=0|ar[y>>2]))==(0|ar[S>>2]))V=19;else{N=0|ar[F>>2],F=0|ar[W>>2];do{if(F){V=W;i:for(;;){for(R=F;!((0|ar[R+16>>2])>>>0>=N>>>0);){if(!(F=0|ar[R+4>>2]))break i;R=F}if(!(F=0|ar[R>>2])){V=R;break}V=R}if((0|V)==(0|W)){V=19;break}if(N>>>0<(0|ar[V+16>>2])>>>0){V=19;break}_=0|ar[V+20>>2],Y=0|ar[V+24>>2],(Q=0==(0|Y))||bu(Y),R=0|ar[D>>2],V=0|ar[R+204>>2],R=0|ar[R+208>>2],(N=0==(0|R))||bu(R);do{if(!V){if(V=0|ar[(F=_)+204>>2],F=0|ar[F+208>>2]){bu(F),du(F),V=0!=(0|V);break}V=0!=(0|V);break}V=0}while(0);N||du(R);do{if(V){if(V=0|ar[D>>2],F=0|ar[(R=_)+204>>2],0|(R=0|ar[R+208>>2])&&bu(R),ar[Ze>>2]=F,ar[O>>2]=R,Zl(V,Ze),!(V=0|ar[O>>2]))break;du(V)}}while(0);R=0|ar[D>>2],V=0|ar[R+196>>2],R=0|ar[R+200>>2],(N=0==(0|R))||bu(R);do{if(!V){if(V=0|ar[(F=_)+196>>2],F=0|ar[F+200>>2]){bu(F),du(F),V=0!=(0|V);break}V=0!=(0|V);break}V=0}while(0);N||du(R);do{if(V){if(R=0|ar[D>>2],V=0|ar[(F=_)+196>>2],0|(F=0|ar[F+200>>2])&&bu(F),ar[pe>>2]=V,ar[z>>2]=F,Zl(R,pe),!(V=0|ar[z>>2]))break;du(V)}}while(0);if(Q){V=0;break}du(Y),V=0}else V=19}while(0);F=0|ar[y>>2]}if(0|F&&((0|(R=0|ar[S>>2]))!=(0|F)&&(ar[S>>2]=R+(~((R+-4-F|0)>>>2)<<2)),vu(F)),0|V)break}V=0}}while(0);switch(0|J&&du(J),0|V){case 19:case 0:break;default:break r}}}if(V=0|ar[G+4>>2])for(G=V;V=0|ar[G>>2];)G=V;else if(F=0|ar[(V=G+8|0)>>2],(0|ar[F>>2])==(0|G))G=F;else for(;ge=0|ar[V>>2],G=0|ar[(V=ge+8|0)>>2],(0|ar[G>>2])!=(0|ge););}while((0|G)!=(0|W))}}}while(0);if(V=0|ar[I>>2],T=0|ar[Z>>2],(0|V)==(0|T))G=A+8|0;else{U=Ee+4|0,S=4+p|0,O=8+E|0,z=4+E|0,j=11+E|0,H=4+X|0,x=8+B|0,P=4+B|0,L=11+B|0,q=(K=Be+8|0)+11|0,$=ye+11|0,AA=11+y|0,G=A+8|0;do{for(F=0|ar[V>>2],ho(y,0|ar[g>>2],F),wo(ye,0|ar[g>>2],F),M=0|hu(52),ar[M+4>>2]=0,ar[M+8>>2]=0,ar[M>>2]=6420,R=M+12|0,rA=(iA=M+16|0)+36|0;((ar[iA>>2]=0)|(iA=iA+4|0))<(0|rA););ar[(D=R)>>2]=F,Eu(M+16|0,y),Eu(M+28|0,ye),mo(Be,0|ar[g>>2],F,M+40|0);do{if(0|ar[Be>>2])pe=0|ar[(Ze=Be)+4>>2],ar[(F=A)>>2]=ar[Ze>>2],ar[F+4>>2]=pe,ar[G>>2]=ar[K>>2],ar[G+4>>2]=ar[K+4>>2],ar[G+8>>2]=ar[K+8>>2],ar[K>>2]=0,ar[K+4>>2]=0,ar[K+8>>2]=0,F=1;else{if(he){if(io(Ee,ke,F),R=0|ar[Ee>>2],Q=0|ar[U>>2],(0|R)==(0|Q))F=22;else{for(;;){if(1667527523==(0|ar[R+20>>2])){Ge(p,R+52|0),F=0|ar[p>>2];r:do{if(4==((0|ar[S>>2])-F|0)){Y=0|ar[F>>2],N=0|ar[W>>2];do{if(0|N){F=W;i:for(;;){for(_=N;!((0|ar[_+16>>2])>>>0>=Y>>>0);){if(!(N=0|ar[_+4>>2]))break i;_=N}if(!(N=0|ar[_>>2])){F=_;break}F=_}if((0|F)==(0|W))break;if(Y>>>0<(0|ar[F+16>>2])>>>0)break;if(F=0|ar[F+20>>2],ar[X>>2]=D,bu(ar[H>>2]=M),(_=0|ar[(N=F+188|0)>>2])>>>0<(0|ar[F+192>>2])>>>0){ar[_>>2]=ar[X>>2],ar[_+4>>2]=ar[H>>2],ar[X>>2]=0,ar[H>>2]=0,ar[N>>2]=_+8,F=0;break r}if(Bl(F+184|0,X),!(F=0|ar[H>>2])){F=0;break r}du(F),F=0;break r}}while(0);for(ar[E>>2]=0,ar[4+E>>2]=0,ar[8+E>>2]=0,F=0|hu(48),ar[E>>2]=F,ar[O>>2]=-2147483600,ar[z>>2]=39,eA=31063,rA=(iA=F)+39|0;tr[iA>>0]=0|tr[eA>>0],eA=eA+1|0,(0|(iA=iA+1|0))<(0|rA););if(tr[F+39>>0]=0,oo(A,2,2e3,E),0<=(0|tr[j>>0])){F=1;break}vu(0|ar[E>>2]),F=1}else{for(ar[B>>2]=0,ar[4+B>>2]=0,ar[8+B>>2]=0,F=0|hu(48),ar[B>>2]=F,ar[x>>2]=-2147483600,ar[P>>2]=40,eA=31022,rA=(iA=F)+40|0;tr[iA>>0]=0|tr[eA>>0],eA=eA+1|0,(0|(iA=iA+1|0))<(0|rA););if(tr[F+40>>0]=0,oo(A,2,0,B),0<=(0|tr[L>>0])){F=1;break}vu(0|ar[B>>2]),F=1}}while(0);if(0|(N=0|ar[p>>2])&&((0|(_=0|ar[S>>2]))!=(0|N)&&(ar[S>>2]=_+(~((_+-4-N|0)>>>2)<<2)),vu(N)),0|F){F=1;break}}if((0|(R=R+64|0))==(0|Q)){F=22;break}}R=0|ar[Ee>>2]}if(J=22==(0|F),0|R){if((0|(N=0|ar[U>>2]))!=(0|R)){for(;_=N+-64|0,ar[U>>2]=_,0|(Y=0|ar[N+-12>>2])&&((0|(D=0|ar[(Q=N+-8|0)>>2]))!=(0|Y)&&(ar[Q>>2]=D+(~((D+-4-Y|0)>>>2)<<2)),vu(Y)),ar[_>>2]=4264,0|(_=0|ar[N+-40>>2])&&((0|ar[(N=N+-36|0)>>2])!=(0|_)&&(ar[N>>2]=_),vu(_)),(0|(N=0|ar[U>>2]))!=(0|R););R=0|ar[Ee>>2]}vu(R)}if(!J)break}F=0}}while(0);if((0|tr[q>>0])<0&&vu(0|ar[K>>2]),du(M),(0|tr[$>>0])<0&&vu(0|ar[ye>>2]),(0|tr[AA>>0])<0&&vu(0|ar[y>>2]),V=V+4|0,0|F)break e}while((0|V)!=(0|T))}Be=0|ar[(ye=56592)+4>>2],ar[(Ee=A)>>2]=ar[ye>>2],ar[Ee+4>>2]=Be,yu(G,56600)}}while(0);ve||du(we)}else{for(ar[q>>2]=0,ar[q+4>>2]=0,ar[q+8>>2]=0,G=0|hu(48),ar[q>>2]=G,ar[q+8>>2]=-2147483600,ar[q+4>>2]=42,eA=30323,rA=(iA=G)+42|0;tr[iA>>0]=0|tr[eA>>0],eA=eA+1|0,(0|(iA=iA+1|0))<(0|rA););tr[G+42>>0]=0,oo(A,2,2e3,q),(0|tr[q+11>>0])<0&&vu(0|ar[q>>2])}}while(0);if(!(A=0|ar[I>>2]))return ur=C;(0|(G=0|ar[Z>>2]))!=(0|A)&&(ar[Z>>2]=G+(~((G+-4-A|0)>>>2)<<2));vu(A),ur=C}(A,e),0<=(0|tr[o+8+11>>0]))return ur=a;vu(0|ar[o+8>>2]),ur=a}(f,0|ar[e>>2],t?0|ar[r>>2]:r,t?0|ar[r+4>>2]:255&n,1),ao(A,f,0|ar[e>>2]),ur=(0<=(0|tr[(A=f+8|0)+11>>0])||vu(0|ar[A>>2]),i)},function(A,e,r){A|=0,e|=0,r|=0;var i,f,n=0,t=0,o=0;if(ur=(f=ur)+32|0,n=(i=f)+20|0,t=f+8|0,o=0|oA(),!e)return ar[A>>2]=o,iA((o=0)|o),void(ur=f);!function(A,e,r,i){A|=0,e|=0,r|=0;var f,n,t,o,a=0,c=0,l=0,u=0,b=0,s=0;if(ur=(o=ur)+64|0,t=o+44|0,a=o+32|0,f=o+12|0,b=o,!(i|=0))return ar[a>>2]=0,ar[a+4>>2]=0,ar[a+8>>2]=0,oo(t,5,2001,a),(0|tr[a+11>>0])<0&&vu(0|ar[a>>2]),ao(A,t,0|ar[e>>2]),(0|tr[(a=8+t|0)+11>>0])<0&&vu(0|ar[a>>2]),ur=o;sl(t,40+(0|ar[e>>2])|0),a=0|ar[t>>2],c=0|ar[(n=4+t|0)>>2];A:do{if((0|a)!=(0|c)){for(;l=0|ar[a>>2],(0|ar[l+20>>2])!=(0|r);)if((0|(a=a+8|0))==(0|c)){a=0,s=13;break A}u=l,c=0|ar[a+4>>2],0|(a=c)&&bu(c),l?(r=0|hu(16),ar[r>>2]=0,ar[r+4>>2]=0,ar[r+8>>2]=0,ar[r+12>>2]=0,ar[i>>2]=r,c?(bu(c),c=0|ar[(b=r+4|0)>>2],ar[r>>2]=u,ar[b>>2]=a,0|c&&du(c)):(ar[r>>2]=u,ar[r+4>>2]=a),c=0|ar[i>>2],r=0|ar[e>>2],0|(l=0|ar[e+4>>2])&&bu(l),ar[c+8>>2]=r,c=0|ar[(i=c+12|0)>>2],ar[i>>2]=l,0|c&&du(c),ao(A,56592,0|ar[e>>2])):s=13}else a=0,s=13}while(0);13==(0|s)&&(ar[b>>2]=0,ar[b+4>>2]=0,ar[b+8>>2]=0,oo(f,5,2e3,b),(0|tr[b+11>>0])<0&&vu(0|ar[b>>2]),ao(A,f,0|ar[e>>2]),(0|tr[(c=8+f|0)+11>>0])<0&&vu(0|ar[c>>2]));0|a&&du(a);if(0|(a=0|ar[t>>2])){if((0|(c=0|ar[n>>2]))!=(0|a)){for(;r=c+-8|0,ar[n>>2]=r,(0|(c=(c=0|ar[c+-4>>2])?(du(c),0|ar[n>>2]):r))!=(0|a););a=0|ar[t>>2]}vu(a)}ur=o}(t,e,r,n),t=0|ar[t>>2]?(n=0|hu(12),ar[n>>2]=ar[t>>2],ar[n+4>>2]=ar[t+4>>2],ar[n+8>>2]=ar[t+8>>2],ar[i>>2]=n,0|cA(1392,0|i)):(ar[i>>2]=ar[n>>2],0|cA(1320,0|i)),ar[A>>2]=t,iA(0|o),ur=f},function(A,e,r){r|=0,ar[(e|=0)+(0|ar[(A|=0)>>2])>>2]=r},function(A,e,r){r|=0,ar[(e|=0)+(0|ar[(A|=0)>>2])>>2]=r},function(A,e,r){sr(44456,35137,51,35153)},function(A,e,r){A|=0,e|=0;var i=0,f=0,n=0,t=0;if(0<(0|(r|=0))){f=0;do{for(n=0|br(f,r),i=0;ar[A+((t=i+n|0)<<2)>>2]=or[e+(t<<1)>>1],(0|(i=i+1|0))!=(0|r););f=f+1|0}while((0|f)!=(0|r))}},function(A,e,r){A|=0,e|=0;var i=0,f=0,n=0,t=0,o=0;if(0<(0|(r|=0))){f=0;do{for(t=0|br(f,r),n=i=0;i=(0|or[e+((o=n+t|0)<<1)>>1])+i|0,ar[A+(o<<2)>>2]=i,(0|(n=n+1|0))!=(0|r););f=f+1|0}while((0|f)!=(0|r))}},function(A,e,r){A|=0,e|=0;var i=0,f=0,n=0,t=0;if(0<(0|(r|=0))){f=0;do{for(n=i=0;t=(0|br(n,r))+f|0,i=(0|or[e+(t<<1)>>1])+i|0,ar[A+(t<<2)>>2]=i,(0|(n=n+1|0))!=(0|r););f=f+1|0}while((0|f)!=(0|r))}},function(A,e,r){A|=0,e|=0,r|=0;var i,f,n=0,t=0,o=0,a=0,c=0,l=0,u=0;for(ur=(f=ur)+32|0,i=f,n=0;t=0|or[e+(n<<1)>>1],l=(74*(o=0|or[e+(n+4<<1)>>1])|0)+(29*t|0)+(84*(a=0|or[e+(n+8<<1)>>1])|0)+(55*(c=0|or[e+(n+12<<1)>>1])|0)+64>>7,or[i+(n<<1)>>1]=(0|l)<-32768?-32768:65535&((0|l)<32767?l:32767),l=(0|br(c,-84))+((0|br(a,-29))+((74*o|0)+(55*t|0)))+64>>7,or[i+8+(n<<1)>>1]=(0|l)<-32768?-32768:65535&((0|l)<32767?l:32767),l=(74*c|0)+((0|br(a,-74))+(74*t|0))+64>>7,or[i+16+(n<<1)>>1]=(0|l)<-32768?-32768:65535&((0|l)<32767?l:32767),t=(0|br(c,-29))+((55*a|0)+((0|br(o,-74))+(84*t|0)))+64>>7,or[i+24+(n<<1)>>1]=(0|t)<-32768?-32768:65535&((0|t)<32767?t:32767),4!=(0|(n=n+1|0)););for(n=0;l=0|br(n,r),c=0|or[i+(n<<3)>>1],u=(74*(a=0|or[i+(n<<3)+2>>1])|0)+(29*c|0)+(84*(o=0|or[i+(n<<3)+4>>1])|0)+(55*(t=0|or[i+(n<<3)+6>>1])|0)+2048>>12,u=(0|cr[(e=A+l|0)>>0])+((0|u)<-32768?-32768:(0|u)<32767?u:32767)|0,tr[e>>0]=(0|u)<0?0:255&((0|u)<255?u:255),e=(0|br(t,-84))+((0|br(o,-29))+((74*a|0)+(55*c|0)))+2048>>12,e=(0|cr[(u=A+(l+1)|0)>>0])+((0|e)<-32768?-32768:(0|e)<32767?e:32767)|0,tr[u>>0]=(0|e)<0?0:255&((0|e)<255?e:255),u=(74*t|0)+((0|br(o,-74))+(74*c|0))+2048>>12,u=(0|cr[(e=A+(l+2)|0)>>0])+((0|u)<-32768?-32768:(0|u)<32767?u:32767)|0,tr[e>>0]=(0|u)<0?0:255&((0|u)<255?u:255),c=(0|br(t,-29))+((55*o|0)+((0|br(a,-74))+(84*c|0)))+2048>>12,c=(0|cr[(l=A+(l+3)|0)>>0])+((0|c)<-32768?-32768:(0|c)<32767?c:32767)|0,tr[l>>0]=(0|c)<0?0:255&((0|c)<255?c:255),4!=(0|(n=n+1|0)););ur=f},function(A,e,r){Oo(A|=0,r|=0,4,e|=0,8)},function(A,e,r){Oo(A|=0,r|=0,8,e|=0,8)},function(A,e,r){Oo(A|=0,r|=0,16,e|=0,8)},function(A,e,r){Oo(A|=0,r|=0,32,e|=0,8)},function(A,e,r){A|=0,e|=0;var i,f,n,t,o=0,a=0,c=0,l=0,u=0,b=0,s=0;for(ur=(t=ur)+32|0,n=t,i=(r|=0)<<1,f=3*r|0,o=0;a=0|or[e+(o<<1)>>1],s=(55*(c=0|or[e+(o+r<<1)>>1])|0)+(29*a|0)+(74*(l=0|or[e+(i+o<<1)>>1])|0)+(84*(u=0|or[e+(f+o<<1)>>1])|0)+1>>1,or[n+(o<<1)>>1]=(0|s)<-32768?-32768:65535&((0|s)<32767?s:32767),b=(s=(0|br(u,-74))+(74*(c+a|0)|0)|0)>>1,or[n+(o+4<<1)>>1]=(0|s)<-65536?-32768:65535&((0|b)<32767?b:32767),b=(55*u|0)+((0|br(l,-74))+((0|br(c,-29))+(84*a|0)))+1>>1,or[n+(o+8<<1)>>1]=(0|b)<-32768?-32768:65535&((0|b)<32767?b:32767),a=(0|br(u,-29))+((74*l|0)+((0|br(c,-84))+(55*a|0)))+1>>1,or[n+(o+12<<1)>>1]=(0|a)<-32768?-32768:65535&((0|a)<32767?a:32767),4!=(0|(o=o+1|0)););for(o=0;b=0|or[n+((s=o<<2)<<1)>>1],u=0|or[n+((1|s)<<1)>>1],l=0|or[n+((2|s)<<1)>>1],c=0|or[n+((3|s)<<1)>>1],or[A+(s<<1)>>1]=((55*u|0)+(29*b|0)+(74*l|0)+(84*c|0)+128|0)>>>8,a=((0|br(c,-74))+(74*(u+b|0)|0)+128|0)>>>8&65535,or[A+((1|s)<<1)>>1]=a,a=((55*c|0)+((0|br(l,-74))+((0|br(u,-29))+(84*b|0)))+128|0)>>>8&65535,or[A+((2|s)<<1)>>1]=a,b=((0|br(c,-29))+((74*l|0)+((0|br(u,-84))+(55*b|0)))+128|0)>>>8&65535,or[A+((3|s)<<1)>>1]=b,4!=(0|(o=o+1|0)););ur=t},function(A,e,r){jo(A|=0,4,e|=0,r|=0)},function(A,e,r){jo(A|=0,8,e|=0,r|=0)},function(A,e,r){jo(A|=0,16,e|=0,r|=0)},function(A,e,r){jo(A|=0,32,e|=0,r|=0)},function(A,e,r){A|=0,r|=0;var i,f=0,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0;ur=(i=ur)+32|0,w=i,n=0|or[(e|=0)>>1],o=0|or[e+4>>1],c=0|or[e+2>>1],m=o+n<<16>>16,a=(f=0|or[e+6>>1])+c<<16>>16,or[w>>1]=a+m,or[(s=w+2|0)>>1]=m-a,o=n-o<<16>>16,f=c-f<<16>>16,or[(c=w+4|0)>>1]=f+o,or[(n=w+6|0)>>1]=o-f,f=0|or[e+(r<<1)>>1],o=0|or[e+(r+2<<1)>>1],a=0|or[e+(r+1<<1)>>1],t=o+f<<16>>16,g=(m=0|or[e+(r+3<<1)>>1])+a<<16>>16,or[(h=w+8|0)>>1]=g+t,or[(b=w+10|0)>>1]=t-g,o=f-o<<16>>16,m=a-m<<16>>16,or[(a=w+12|0)>>1]=m+o,or[(f=w+14|0)>>1]=o-m,o=0|or[e+((m=r<<1)<<1)>>1],g=0|or[e+(m+2<<1)>>1],t=0|or[e+((1|m)<<1)>>1],d=(l=(m=0|or[e+(m+3<<1)>>1])+t<<16>>16)+(v=g+o<<16>>16)|0,or[w+16>>1]=d,l=v-l|0,or[w+18>>1]=l,g=o-g<<16>>16,m=t-m<<16>>16,or[(t=w+20|0)>>1]=m+g,or[(o=w+22|0)>>1]=g-m,g=0|or[e+((m=3*r|0)<<1)>>1],v=0|or[e+(m+2<<1)>>1],r=0|or[e+(m+1<<1)>>1],k=(u=(m=0|or[e+(m+3<<1)>>1])+r<<16>>16)+(e=v+g<<16>>16)|0,or[w+24>>1]=k,u=e-u|0,or[w+26>>1]=u,e=(m=r-m<<16>>16)+(v=g-v<<16>>16)|0,or[w+28>>1]=e,or[(r=w+30|0)>>1]=v-m,m=(d=d<<16>>16)+(w=0|or[w>>1])<<16>>16,v=(k=k<<16>>16)+(h=0|or[h>>1])<<16>>16,or[A>>1]=v+m,or[A+8>>1]=m-v,d=w-d<<16>>16,k=h-k<<16>>16,or[A+16>>1]=k+d,or[A+24>>1]=d-k,k=(l=l<<16>>16)+(s=0|or[s>>1])<<16>>16,d=(u=u<<16>>16)+(b=0|or[b>>1])<<16>>16,or[A+2>>1]=d+k,or[A+10>>1]=k-d,l=s-l<<16>>16,u=b-u<<16>>16,or[A+18>>1]=u+l,or[A+26>>1]=l-u,c=0|or[c>>1],u=(t=0|or[t>>1])+c<<16>>16,l=(e=e<<16>>16)+(a=0|or[a>>1])<<16>>16,or[A+4>>1]=l+u,or[A+12>>1]=u-l,t=c-t<<16>>16,e=a-e<<16>>16,or[A+20>>1]=e+t,or[A+28>>1]=t-e,n=0|or[n>>1],e=0|or[o>>1],f=0|or[f>>1],o=e+n<<16>>16,t=(r=0|or[r>>1])+f<<16>>16,or[A+6>>1]=t+o,or[A+14>>1]=o-t,e=n-e<<16>>16,r=f-r<<16>>16,or[A+22>>1]=r+e,or[A+30>>1]=e-r,ur=i},function(A,e,r){A|=0,e|=0,r|=0;var i,f,n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0;for(ur=(f=ur)+128|0,i=f,n=0;o=0|br(n,r),w=0|or[e+(o<<1)>>1],l=0|or[e+(o+4<<1)>>1],k=0|or[e+(o+1<<1)>>1],c=0|or[e+(o+5<<1)>>1],t=0|or[e+(o+2<<1)>>1],a=0|or[e+(o+6<<1)>>1],h=0|or[e+(o+3<<1)>>1],d=l+w<<16>>16,u=a+t<<16>>16,s=c+k<<16>>16,b=(o=0|or[e+(o+7<<1)>>1])+h<<16>>16,l=w-l<<16>>16,a=t-a<<16>>16,c=k-c<<16>>16,o=h-o<<16>>16,h=u+d<<16>>16,k=b+s<<16>>16,or[i+((t=n<<3)<<1)>>1]=k+h,or[i+((1|t)<<1)>>1]=h-k,u=d-u<<16>>16,b=s-b<<16>>16,or[i+((2|t)<<1)>>1]=b+u,or[i+((3|t)<<1)>>1]=u-b,b=a+l<<16>>16,u=o+c<<16>>16,or[i+((4|t)<<1)>>1]=u+b,or[i+((5|t)<<1)>>1]=b-u,a=l-a<<16>>16,o=c-o<<16>>16,or[i+((6|t)<<1)>>1]=o+a,or[i+((7|t)<<1)>>1]=a-o,8!=(0|(n=n+1|0)););for(n=0;p=0|or[i+(n<<1)>>1],b=0|or[i+((a=n+32|0)<<1)>>1],m=0|or[i+((v=n+8|0)<<1)>>1],s=0|or[i+((u=n+40|0)<<1)>>1],Z=0|or[i+((t=n+16|0)<<1)>>1],k=0|or[i+((d=n+48|0)<<1)>>1],g=0|or[i+((c=n+24|0)<<1)>>1],e=b+p<<16>>16,o=k+Z<<16>>16,r=s+m<<16>>16,l=(h=0|or[i+((w=n+56|0)<<1)>>1])+g<<16>>16,b=p-b<<16>>16,k=Z-k<<16>>16,s=m-s<<16>>16,h=g-h<<16>>16,g=o+e<<16>>16,m=l+r<<16>>16,or[A+(n<<1)>>1]=m+g,or[A+(v<<1)>>1]=g-m,o=e-o<<16>>16,l=r-l<<16>>16,or[A+(t<<1)>>1]=l+o,or[A+(c<<1)>>1]=o-l,c=k+b<<16>>16,l=h+s<<16>>16,or[A+(a<<1)>>1]=l+c,or[A+(u<<1)>>1]=c-l,k=b-k<<16>>16,h=s-h<<16>>16,or[A+(d<<1)>>1]=h+k,or[A+(w<<1)>>1]=k-h,8!=(0|(n=n+1|0)););ur=f},function(A,e,r){Ho(A|=0,16,e|=0,r|=0)},function(A,e,r){Ho(A|=0,32,e|=0,r|=0)},Qb,Qb,Qb,Qb,Qb,Qb,Qb,Qb,Qb,Qb,Qb,Qb,Qb,Qb,Qb,Qb,Qb,Qb,Qb,Qb,Qb,Qb,Qb,Qb,Qb,Qb,Qb,Qb,Qb],ts=[Db,function(A,e,r,i){A|=0,i|=0,r=(r|=0)+8|0,as[15&ar[16+(0|ar[(e|=0)>>2])>>2]](A,e,0|ar[r>>2],0|ar[r+4>>2],0,i)},function(A,e,r,i){A|=0,e|=0,r|=0,i|=0;var f=0,n=0;A:do{if(0|i){for(f=0;;){if((i-f|0)>>>0<4){f=4;break}if(n=(0|cr[r+(f+1)>>0])<<16|(0|cr[r+f>>0])<<24|(0|cr[r+(f+2)>>0])<<8|0|cr[r+(f+3)>>0],(i-(f=f+4|0)|0)>>>0<n>>>0){f=7;break}if(Ve(0|ar[e>>2],r+f|0,n,0,0,0),i>>>0<=(f=n+f|0)>>>0)break A}if(4==(0|f))return ar[A>>2]=ar[1919],ar[A+4>>2]=ar[1920],void(ar[A+8>>2]=ar[1921]);if(7==(0|f))return ar[A>>2]=ar[1919],ar[A+4>>2]=ar[1920],void(ar[A+8>>2]=ar[1921])}}while(0);ar[A>>2]=ar[1904],ar[A+4>>2]=ar[1905],ar[A+8>>2]=ar[1906]},function(A,e,r,i){i|=0,ar[(i=A|=0)>>2]=0,ar[i+4>>2]=0,ar[(i=A+8|0)>>2]=-1,ar[i+4>>2]=-1},function(A,e,r,i){i|=0,ar[(i=A|=0)>>2]=0,ar[i+4>>2]=0,ar[(i=A+8|0)>>2]=-1,ar[i+4>>2]=-1},function(A,e,r,i){e|=0,r|=0,i|=0;var f,n,t,o=0;for(f=ur=(t=ur)+31&-32,ur=ur+16|0,ar[(A|=0)>>2]=0,ar[A+4>>2]=0,4294967279<(n=i-r|(ar[A+8>>2]=0))>>>0&&pu(),n>>>0<11?(tr[A+11>>0]=n,o=A):(o=0|hu(e=16+n&-16),ar[A>>2]=o,ar[A+8>>2]=-2147483648|e,ar[A+4>>2]=n),e=r,A=o;(0|e)!=(0|i);)Qf(A,e),e=e+1|0,A=A+1|0;Qf(o+n|(tr[f>>0]=0),f),ur=t},function(A,e,r,i){e|=0,r|=0,i|=0;var f,n,t,o=0,a=0;f=ur=(t=ur)+31&-32,ur=ur+16|0,ar[(A|=0)>>2]=0,ar[A+4>>2]=0,1073741807<(n=i-r>>2)>>>(ar[A+8>>2]=0)&&pu();do{if(2<=n>>>0){if(!(1073741823<(e=4+n&-4)>>>0)){a=0|hu(e<<2),ar[A>>2]=a,ar[A+8>>2]=-2147483648|e,ar[A+4>>2]=n,o=r;break}lA()}else tr[A+8+3>>0]=n,o=r,a=A}while(0);for(;(0|o)!=(0|i);)ln(a,o),o=o+4|0,a=a+4|0;ar[f>>2]=0,ln(a,f),ur=t},function(A,e,r,i){r|=0,i|=0,0|xu(A|=0,0|ar[(e|=0)+8>>2])&&Pu(0,e,r,i)},function(A,e,r,i){r|=0,i|=0,0|xu(A|=0,0|ar[(e|=0)+8>>2])?Pu(0,e,r,i):(A=0|ar[A+8>>2],ts[31&ar[28+(0|ar[A>>2])>>2]](A,e,r,i))},function(A,e,r,i){A|=0,e|=0,r|=0,i|=0;var f=0,n=0;A:do{if(0|xu(A,0|ar[e+8>>2]))Pu(0,e,r,i);else if(f=A+16+((n=0|ar[A+12>>2])<<3)|0,Ab(A+16|0,e,r,i),1<(0|n)){n=e+54|0,A=A+24|0;do{if(Ab(A,e,r,i),0|tr[n>>0])break A;A=A+8|0}while(A>>>0<f>>>0)}}while(0)},function(A,e,r,i){A|=0,e|=0,r|=0,i|=0;var f,n,t,o,a,c,l,u,b=0,s=0,d=0,k=0,h=0,w=0,v=0;if(ur=(u=ur)+64|0,l=(o=u)+56|0,c=u+52|0,s=u+40|0,a=u+36|0,v=u+24|0,n=u+20|0,f=u+16|0,t=u+12|0,b=0|oA(),ar[l>>2]=b,!e)return ar[A>>2]=b,ar[l>>2]=0,iA((v=0)|v),void(ur=u);if(!function(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0;var t,o,a,c;ur=(c=ur)+32|0,ar[(t=(o=c)+24|0)>>2]=0,ar[(a=4+t|0)>>2]=0,function(A,e,r,i,f,n,t){A|=0,n|=0,t|=0;var o,a,c=0,l=0,u=0,b=0,s=0,d=0;ur=(a=ur)+48|0,b=(o=a)+40|0,u=a+32|0,d=a+20|0,Xl(o,e|=0,r|=0,i|=0,f|=0,0);do{if(0|ar[o>>2])i=0|ar[(s=o)+4>>2],ar[(d=A)>>2]=ar[s>>2],ar[d+4>>2]=i,i=o+8|0,ar[(d=A+8|0)>>2]=ar[i>>2],ar[d+4>>2]=ar[i+4>>2],ar[d+8>>2]=ar[i+8>>2],ar[i>>2]=0,ar[i+4>>2]=0,ar[i+8>>2]=0;else{if(99==(0|f)&&(f=0|ar[32+(0|ar[i>>2])>>2]),c=0|ar[i>>2],l=0|ar[c+36>>2],r=99==(0|n)?l:n,e=t&&0|tr[t+20>>0]?8:0,!((0|r)==(0|l)&&(0|f)==(0|ar[c+32>>2])||(ar[u>>2]=0,ar[(c=u+4|0)>>2]=0,me(b,i,f,r,u,e),e=0|ar[b>>2],u=0|ar[(r=b+4|0)>>2],ar[b>>2]=0,ar[r>>2]=0,ar[i>>2]=e,e=0|ar[(b=i+4|0)>>2],ar[b>>2]=u,0|e&&(du(e),0|(s=0|ar[r>>2]))&&du(s),0|(e=0|ar[c>>2])&&du(e),0|ar[i>>2]))){if(ar[d>>2]=0,ar[d+4>>2]=0,ar[d+8>>2]=0,oo(A,4,3003,d),0<=(0|tr[d+11>>0]))break;vu(0|ar[d>>2]);break}d=0|ar[(s=56592)+4>>2],ar[(i=A)>>2]=ar[s>>2],ar[i+4>>2]=d,yu(A+8|0,56600)}}while(0);if(0<=(0|tr[11+(e=o+8|0)>>0]))return ur=a;vu(0|ar[e>>2]),ur=a}(o,0|ar[e+8>>2],0|ar[20+(0|ar[e>>2])>>2],t,i,f,n),0|ar[o>>2]?ao(A,o,0|ar[e>>2]):(n=0|hu(8),ar[r>>2]=n,i=0|ar[t>>2],f=0|ar[a>>2],ar[t>>2]=0,ar[a>>2]=0,ar[n>>2]=i,ar[n+4>>2]=f,ao(A,56592,0|ar[e>>2]));(0|tr[11+(A=o+8|0)>>0])<0&&vu(0|ar[A>>2]);(A=0|ar[a>>2])&&du(A),ur=c}(s,e,c,r,i,0),0|ar[s>>2])v=0|hu(12),ar[v>>2]=ar[s>>2],ar[v+4>>2]=ar[s+4>>2],ar[v+8>>2]=ar[s+8>>2],ar[o>>2]=v,v=0|cA(1392,0|o),ar[A>>2]=v;else{if(ar[o>>2]=cr[40+(0|ar[e>>2])>>0],bl(l,29636,o),sl(o,48+(0|ar[e>>2])|0),s=(b=0|ar[(i=o+4|0)>>2])-(e=0|ar[o>>2])>>3,0|(r=e)){if((0|b)!=(0|r)){for(;e=b+-8|0,ar[i>>2]=e,(b=0|ar[b+-4>>2])&&(du(b),e=0|ar[i>>2]),(0|e)!=(0|r);)b=e;e=0|ar[o>>2]}vu(e)}switch(ar[a>>2]=s,bl(l,29647,a),b=0|ar[c>>2],e=0|Xo(0|ar[b>>2],0),ar[o>>2]=e,function(A,e,r){e|=0,r|=0;var i,f;ur=(i=ur)+16|0,f=i,A=0|ar[(A=A|0)>>2],e=0|tA(0|e),ar[f>>2]=ar[r>>2],r=0|cA(4144,0|f),aA(0|A,0|e,0|r),iA(0|r),iA(0|e),ur=i}(l,29658,o),e=0|Wo(0|ar[b>>2],0),ar[a>>2]=e,function(A,e,r){e|=0,r|=0;var i,f;ur=(i=ur)+16|0,f=i,A=0|ar[(A=A|0)>>2],e=0|tA(0|e),ar[f>>2]=ar[r>>2],r=0|cA(4144,0|f),aA(0|A,0|e,0|r),iA(0|r),iA(0|e),ur=i}(l,29664,a),ar[v>>2]=0,ar[v+4>>2]=0,ar[v+8>>2]=0,ar[n>>2]=ar[36+(0|ar[b>>2])>>2],function(A,e,r){e|=0,r|=0;var i,f;ur=(i=ur)+16|0,f=i,A=0|ar[(A=A|0)>>2],e=0|tA(0|e),ar[f>>2]=ar[r>>2],r=0|cA(1248,0|f),aA(0|A,0|e,0|r),iA(0|r),iA(0|e),ur=i}(l,29671,n),ar[n>>2]=ar[32+(0|ar[b>>2])>>2],function(A,e,r){e|=0,r|=0;var i,f;ur=(i=ur)+16|0,f=i,A=0|ar[(A=A|0)>>2],e=0|tA(0|e),ar[f>>2]=ar[r>>2],r=0|cA(1256,0|f),aA(0|A,0|e,0|r),iA(0|r),iA(0|e),ur=i}(l,29678,n),e=0|ar[b>>2],0|ar[e+32>>2]){case 0:if(r=e?0|Fo(e,0,n):ar[n>>2]=0,h=(e=0|ar[b>>2])?0|Fo(e,1,f):ar[f>>2]=0,e=(e=0|ar[b>>2])?0|Fo(e,2,t):ar[t>>2]=0,w=0|ar[o>>2],d=0|ar[a>>2],Vu(v,(0|br(~~(.5*(0|w)+.5)<<1,~~(.5*(0|d)+.5)))+(0|br(d,w))|0,0),w=(0|tr[v+11>>0])<0?0|ar[v>>2]:v,d=0|ar[o>>2],k=0|ar[a>>2],(0|d)!=(0|(s=0|ar[n>>2]))){if(0<(0|k))for(i=w,b=r,r=0;hb(0|i,0|b,0|s),(0|(r=r+1|0))!=(0|k);)i=i+d|0,b=b+s|0}else hb(0|w,0|r,0|br(k,d));if(d=0|ar[o>>2],k=0|ar[a>>2],b=w+(0|br(k,d))|0,k=~~(.5*(0|k)+.5),(0|(d=~~(.5*(0|d)+.5)))!=(0|(s=0|ar[f>>2]))){if(0<(0|k))for(i=b,b=h,r=0;hb(0|i,0|b,0|s),(0|(r=r+1|0))!=(0|k);)i=i+d|0,b=b+s|0}else hb(0|b,0|h,0|br(k,d));if(r=0|ar[o>>2],i=0|ar[a>>2],b=0|br(d=~~(.5*(0|i)+.5),s=~~(.5*(0|r)+.5)),r=w+(0|br(i,r))+b|0,(0|s)!=(0|(i=0|ar[t>>2]))){if(0<(0|d))for(b=0;hb(0|r,0|e,0|i),(0|(b=b+1|0))!=(0|d);)r=r+s|0,e=e+i|0}else hb(0|r,0|e,0|b);break;case 1:if(10!=(0|ar[e+36>>2])&&sr(29689,29758,140,26426),e=0|Fo(e,10,n),Vu(v,0|br(3*(0|ar[o>>2])|0,0|ar[a>>2]),0),r=(0|tr[v+11>>0])<0?0|ar[v>>2]:v,d=3*(0|ar[o>>2])|0,s=0|ar[a>>2],(0|d)!=(0|(i=0|ar[n>>2]))){if(0<(0|s))for(b=0;hb(0|r,0|e,0|i),(0|(b=b+1|0))!=(0|s);)r=r+d|0,e=e+i|0}else hb(0|r,0|e,0|br(s,d));break;case 2:if(0|ar[e+36>>2]&&sr(29778,29758,151,26426),e=0|Fo(e,0,n),Vu(v,0|br(0|ar[a>>2],0|ar[o>>2]),0),r=(0|tr[v+11>>0])<0?0|ar[v>>2]:v,d=0|ar[o>>2],s=0|ar[a>>2],(0|d)!=(0|(i=0|ar[n>>2]))){if(0<(0|s))for(b=0;hb(0|r,0|e,0|i),(0|(b=b+1|0))!=(0|s);)r=r+d|0,e=e+i|0}else hb(0|r,0|e,0|br(s,d))}!function(A,e,r){e|=0,r|=0;var i,f,n,t,o=0;ur=(i=ur)+16|0,f=i,A=0|ar[(A=A|0)>>2],e=0|tA(0|e),o=0|tr[r+11>>0],o=(t=o<<24>>24<0)?0|ar[r+4>>2]:255&o,n=0|yc(o+4|0),ar[n>>2]=o,hb(4+n|0,0|(t?0|ar[r>>2]:r),0|o),ar[f>>2]=n,r=0|cA(1408,0|f),aA(0|A,0|e,0|r),iA(0|r),iA(0|e),ur=i}(l,29840,v),0|(e=0|ar[c>>2])&&(0|(b=0|ar[e+4>>2])&&du(b),vu(e)),ar[A>>2]=ar[l>>2],((ar[l>>2]=0)|tr[v+11>>0])<0&&vu(0|ar[v>>2])}v=0|ar[l>>2],iA(0|v),ur=u},function(A,e,r,i){A|=0,e|=0,i|=0;var f,n,t=0,o=0,a=0,c=0,l=0,u=0,b=0;if(f=(r|=0)+5|0,n=1<<r,31!=(0|r)){a=0;do{for(c=a<<r,l=0|br(a,i),o=t=0;b=(o=(2048+(or[e+(t+c<<1)>>1]<<f)>>12)+o|0)+(0|cr[(u=A+(t+l)|0)>>0])|0,tr[u>>0]=(0|b)<0?0:255&((0|b)<255?b:255),(0|(t=t+1|0))<(0|n););a=a+1|0}while((0|a)<(0|n))}},function(A,e,r,i){A|=0,e|=0,i|=0;var f,n,t=0,o=0,a=0,c=0,l=0;if(f=(r|=0)+5|0,n=1<<r,31!=(0|r)){a=0;do{for(o=t=0;o=(2048+(or[e+((t<<r)+a<<1)>>1]<<f)>>12)+o|0,c=A+((0|br(t,i))+a)|0,l=o+(0|cr[c>>0])|0,tr[c>>0]=(0|l)<0?0:255&((0|l)<255?l:255),(0|(t=t+1|0))<(0|n););a=a+1|0}while((0|a)<(0|n))}},function(A,e,r,i){sr(44456,35137,68,35179)},function(A,e,r,i){A|=0,e|=0,r|=0;var f,n,t,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0;for(ur=(t=ur)+32|0,f=t,a=(n=20-(i|=0)|0)-1|0,o=0;c=0|or[e+(o<<1)>>1],s=(74*(l=0|or[e+(o+4<<1)>>1])|0)+(29*c|0)+(84*(u=0|or[e+(o+8<<1)>>1])|0)+(55*(b=0|or[e+(o+12<<1)>>1])|0)+64>>7,or[f+(o<<1)>>1]=(0|s)<-32768?-32768:65535&((0|s)<32767?s:32767),s=(0|br(b,-84))+((0|br(u,-29))+((74*l|0)+(55*c|0)))+64>>7,or[f+8+(o<<1)>>1]=(0|s)<-32768?-32768:65535&((0|s)<32767?s:32767),s=(74*b|0)+((0|br(u,-74))+(74*c|0))+64>>7,or[f+16+(o<<1)>>1]=(0|s)<-32768?-32768:65535&((0|s)<32767?s:32767),c=(0|br(b,-29))+((55*u|0)+((0|br(l,-74))+(84*c|0)))+64>>7,or[f+24+(o<<1)>>1]=(0|c)<-32768?-32768:65535&((0|c)<32767?c:32767),4!=(0|(o=o+1|0)););for(c=1<<a,a=(e=1<<i)+65535|0,o=0;s=0|br(o,r),b=0|or[f+(o<<3)>>1],k=(74*(u=0|or[f+(o<<3)+2>>1])|0)+(29*b|0)+(84*(l=0|or[f+(o<<3)+4>>1])|0)+(55*(i=0|or[f+(o<<3)+6>>1])|0)+c>>n,k=(0|lr[(d=A+(s<<1)|0)>>1])+((0|k)<-32768?-32768:(0|k)<32767?k:32767)|0,or[d>>1]=(0|k)<0?0:65535&((0|k)<(0|e)?k:a),d=(0|br(i,-84))+((0|br(l,-29))+((74*u|0)+(55*b|0)))+c>>n,d=(0|lr[(k=A+(s+1<<1)|0)>>1])+((0|d)<-32768?-32768:(0|d)<32767?d:32767)|0,or[k>>1]=(0|d)<0?0:65535&((0|d)<(0|e)?d:a),k=(74*i|0)+((0|br(l,-74))+(74*b|0))+c>>n,k=(0|lr[(d=A+(s+2<<1)|0)>>1])+((0|k)<-32768?-32768:(0|k)<32767?k:32767)|0,or[d>>1]=(0|k)<0?0:65535&((0|k)<(0|e)?k:a),b=(0|br(i,-29))+((55*l|0)+((0|br(u,-74))+(84*b|0)))+c>>n,b=(0|lr[(s=A+(s+3<<1)|0)>>1])+((0|b)<-32768?-32768:(0|b)<32767?b:32767)|0,or[s>>1]=(0|b)<0?0:65535&((0|b)<(0|e)?b:a),4!=(0|(o=o+1|0)););ur=t},function(A,e,r,i){zo(A|=0,r|=0,4,e|=0,i|=0)},function(A,e,r,i){zo(A|=0,r|=0,8,e|=0,i|=0)},function(A,e,r,i){zo(A|=0,r|=0,16,e|=0,i|=0)},function(A,e,r,i){zo(A|=0,r|=0,32,e|=0,i|=0)},function(A,e,r,i){A|=0,e|=0;var f,n,t,o,a=0,c=0,l=0,u=0,b=0,s=0,d=0;for(ur=(o=ur)+32|0,t=o,c=(r|=0)+-1|0,f=(a=1<<(i|=0))+65535|0,n=0-a|0,i=0;l=0|or[e+(i<<1)>>1],d=(74*(u=0|or[e+(i+4<<1)>>1])|0)+(29*l|0)+(84*(b=0|or[e+(i+8<<1)>>1])|0)+(55*(s=0|or[e+(i+12<<1)>>1])|0)+64>>7,or[t+(i<<1)>>1]=(0|d)<(0|n)?n:(0|d)<(0|a)?d:f,d=(0|br(s,-84))+((0|br(b,-29))+((74*u|0)+(55*l|0)))+64>>7,or[t+8+(i<<1)>>1]=(0|d)<(0|n)?n:(0|d)<(0|a)?d:f,d=(74*s|0)+((0|br(b,-74))+(74*l|0))+64>>7,or[t+16+(i<<1)>>1]=(0|d)<(0|n)?n:(0|d)<(0|a)?d:f,l=(0|br(s,-29))+((55*b|0)+((0|br(u,-74))+(84*l|0)))+64>>7,or[t+24+(i<<1)>>1]=(0|l)<(0|n)?n:(0|l)<(0|a)?l:f,4!=(0|(i=i+1|0)););for(a=1<<c,i=0;d=i<<2,s=0|or[t+(i<<3)>>1],c=74*(b=0|or[t+(i<<3)+2>>1])|0,u=0|or[t+(i<<3)+4>>1],l=0|or[t+(i<<3)+6>>1],ar[A+(d<<2)>>2]=(55*l|0)+((84*u|0)+(c+(29*s|0)))+a>>r,c=(0|br(l,-84))+((0|br(u,-29))+(c+(55*s|0)))+a>>r,ar[A+((1|d)<<2)>>2]=c,c=(74*l|0)+((0|br(u,-74))+(74*s|0))+a>>r,ar[A+((2|d)<<2)>>2]=c,s=(0|br(l,-29))+((55*u|0)+((0|br(b,-74))+(84*s|0)))+a>>r,ar[A+((3|d)<<2)>>2]=s,4!=(0|(i=i+1|0)););ur=o},function(A,e,r,i){So(A|=0,4,e|=0,r|=0,i|=0)},function(A,e,r,i){So(A|=0,8,e|=0,r|=0,i|=0)},function(A,e,r,i){So(A|=0,16,e|=0,r|=0,i|=0)},function(A,e,r,i){So(A|=0,32,e|=0,r|=0,i|=0)},Db,Db,Db,Db,Db,Db,Db,Db],os=[Jb,function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t,o,a=0,c=0,l=0,u=0,b=0;if(ur=(o=ur)+64|0,t=o+36|0,n=o+48|0,u=o,1==(0|ar[(r|=0)>>2])&&3==(0|ar[r+4>>2])&&8==(0|ar[r+12>>2]))return ar[t>>2]=0,ar[(b=4+t|0)>>2]=0,a=(ar[8+t>>2]=0)==(0|tr[(f=r+8|0)>>0])&&0==(0|tr[i+8>>0])?.25:0,ar[u>>2]=1,ar[u+4>>2]=11,tr[u+8>>0]=1,tr[(e=u+9|0)>>0]=0|tr[n>>0],tr[e+1>>0]=0|tr[1+n>>0],tr[e+2>>0]=0|tr[2+n>>0],ar[u+12>>2]=8,ar[u+16>>2]=0,ar[(e=u+20|0)>>2]=0,gA[u+24>>2]=.10000000149011612,gA[u+28>>2]=0,gA[u+32>>2]=a,l=8+t|0,Nl(t,u),0|(e=0|ar[e>>2])&&du(e),0!=(0|tr[f>>0])&&0!=(0|tr[i+8>>0])?c=.10000000149011612:(c=.20000000298023224,a=0),ar[u>>2]=1,ar[u+4>>2]=10,tr[u+8>>0]=0,tr[(f=u+9|0)>>0]=0|tr[n>>0],tr[f+1>>0]=0|tr[1+n>>0],tr[f+2>>0]=0|tr[2+n>>0],ar[u+12>>2]=8,ar[(f=u+16|0)>>2]=0,ar[(r=u+20|0)>>2]=0,gA[u+24>>2]=c,gA[u+28>>2]=0,gA[u+32>>2]=a,(e=0|ar[b>>2])>>>0>=(0|ar[l>>2])>>>0?(Nl(t,u),0|(e=0|ar[r>>2])&&du(e)):(ar[e>>2]=ar[u>>2],ar[e+4>>2]=ar[u+4>>2],ar[e+8>>2]=ar[u+8>>2],ar[e+12>>2]=ar[u+12>>2],ar[e+16>>2]=ar[f>>2],ar[e+20>>2]=ar[r>>2],ar[f>>2]=0,u=u+24|(ar[r>>2]=0),ar[(i=e+24|0)>>2]=ar[u>>2],ar[i+4>>2]=ar[u+4>>2],ar[i+8>>2]=ar[u+8>>2],ar[b>>2]=e+36),ar[A>>2]=ar[t>>2],ar[A+4>>2]=ar[b>>2],ar[A+8>>2]=ar[l>>2],void(ur=o);ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0,ur=o},function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t,o,a,c,l,u,b,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0;if(ur=(b=ur)+32|0,o=b+16|0,a=b+12|0,c=b+8|0,l=b+4|0,u=b,t=0|Eo(0|ar[(r|=0)>>2],6),n=0!=(0|tr[i+8>>0]),(0|Vo(0|ar[r>>2],3))<<24>>24==8&&(0|Vo(0|ar[r>>2],4))<<24>>24==8&&(0|Vo(0|ar[r>>2],5))<<24>>24==8){if(t&&(0|Vo(0|ar[r>>2],6))<<24>>24!=8)return ar[A>>2]=0,ar[A+4>>2]=0,void(ur=b);f=0|hu(80),ar[f+4>>2]=0,ar[f+8>>2]=0,ar[f>>2]=6208,ar[(i=f+12|0)>>2]=0,ar[i+4>>2]=0,ar[i+8>>2]=0,ar[i+12>>2]=0,ar[i+16>>2]=0,ar[f+32>>2]=32215,ar[f+36>>2]=0,ar[f+40>>2]=0,ar[f+44>>2]=99,ar[f+48>>2]=99,Z=f+52|0,ar[(g=f+72|0)>>2]=0,ar[f+76>>2]=0,ar[Z>>2]=0,ar[Z+4>>2]=0,ar[Z+8>>2]=0,ar[Z+12>>2]=0,ar[f+68>>2]=g,g=i,m=(Z=f)+16|0,bu(f),su(f),e=0|ar[m>>2],ar[i>>2]=g,ar[m>>2]=Z,0|e&&ku(e),du(f),h=0|ar[r>>2],yo(i,k=0|ar[h+24>>2],h=0|ar[h+28>>2],1,n?11:10),Bo(i,10,k,h,8),ar[o>>2]=0,ar[a>>2]=0,ar[c>>2]=0,ar[l>>2]=0,w=(ar[u>>2]=0)|Ro(0|ar[r>>2],3,o),v=0|Ro(0|ar[r>>2],4,a),m=0|Ro(0|ar[r>>2],5,c),d=0|Fo(i,10,u),f=t?0|Ro(0|ar[r>>2],6,l):0;A:do{if(0<(0|h)){s=t&n,r=0<(0|k),i=0;e:for(;;){r:do{if(s){if(r)for(e=0;B=w+((0|br(0|ar[o>>2],i))+e)|0,p=e<<2,y=d+((0|br(0|ar[u>>2],i))+p)|0,tr[y>>0]=0|tr[B>>0],y=v+((0|br(0|ar[a>>2],i))+e)|0,B=d+((1|p)+(0|br(0|ar[u>>2],i)))|0,tr[B>>0]=0|tr[y>>0],B=m+((0|br(0|ar[c>>2],i))+e)|0,y=d+((2|p)+(0|br(0|ar[u>>2],i)))|0,tr[y>>0]=0|tr[B>>0],y=f+((0|br(0|ar[l>>2],i))+e)|0,p=d+((3|p)+(0|br(0|ar[u>>2],i)))|0,tr[p>>0]=0|tr[y>>0],(0|(e=e+1|0))!=(0|k););}else{if(!n){if(!r)break;for(e=0;;)if(y=w+((0|br(0|ar[o>>2],i))+e)|0,B=3*e|0,p=d+((0|br(0|ar[u>>2],i))+B)|0,tr[p>>0]=0|tr[y>>0],p=v+((0|br(0|ar[a>>2],i))+e)|0,y=d+(B+1+(0|br(0|ar[u>>2],i)))|0,tr[y>>0]=0|tr[p>>0],y=m+((0|br(0|ar[c>>2],i))+e)|0,B=d+(B+2+(0|br(0|ar[u>>2],i)))|0,tr[B>>0]=0|tr[y>>0],(0|(e=e+1|0))==(0|k))break r}if(t)break e;if(r)for(e=0;p=w+((0|br(0|ar[o>>2],i))+e)|0,B=e<<2,y=d+((0|br(0|ar[u>>2],i))+B)|0,tr[y>>0]=0|tr[p>>0],y=v+((0|br(0|ar[a>>2],i))+e)|0,p=d+((1|B)+(0|br(0|ar[u>>2],i)))|0,tr[p>>0]=0|tr[y>>0],p=m+((0|br(0|ar[c>>2],i))+e)|0,y=d+((2|B)+(0|br(0|ar[u>>2],i)))|0,tr[y>>0]=0|tr[p>>0],B=d+((3|B)+(0|br(0|ar[u>>2],i)))|0,tr[B>>0]=-1,(0|(e=e+1|0))!=(0|k););}}while(0);if((0|h)<=(0|(i=i+1|0)))break A}sr(32223,32248,281,32272)}}while(0);return ar[A>>2]=g,ar[A+4>>2]=Z,void(ur=b)}ar[A>>2]=0,ar[A+4>>2]=0,ur=b},function(A,e,r,i,f){var n,t;if(A|=0,e|=0,i|=0,f|=0,ur=(t=ur)+48|0,n=t+36|0,f=t,0==(0|ar[(r|=0)>>2])&&1==(0|ar[r+4>>2])&&8==(0|ar[r+12>>2])&&0==(0|tr[r+8>>0])){if(0|(e=0|ar[r+16>>2])){switch(0|or[e+8>>1]){case 0:case 8:case 11:case 14:return ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0,void(ur=t)}if(!(0|tr[e+10>>0]))return ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0,void(ur=t)}return ar[n>>2]=0,ar[(i=4+n|0)>>2]=0,ar[8+n>>2]=0,ar[f>>2]=1,ar[f+4>>2]=10,tr[f+8>>0]=0,ar[f+12>>2]=8,ar[f+16>>2]=0,ar[(e=f+20|0)>>2]=0,gA[f+24>>2]=.5,gA[f+28>>2]=0,gA[f+32>>2]=0,Nl(n,f),0|(e=0|ar[e>>2])&&du(e),ar[A>>2]=ar[n>>2],ar[A+4>>2]=ar[i>>2],ar[A+8>>2]=ar[8+n>>2],void(ur=t)}ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0,ur=t},function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t,o,a,c,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0;if(ur=(c=ur)+64|0,f=c+32|0,n=c+12|0,t=c+8|0,o=c+4|0,a=c,(0|Vo(0|ar[(r|=0)>>2],0))<<24>>24==8&&(0|Vo(0|ar[r>>2],1))<<24>>24==8&&(0|Vo(0|ar[r>>2],2))<<24>>24==8){if(i=0|hu(80),ar[i+4>>2]=0,ar[i+8>>2]=0,ar[i>>2]=6208,ar[(l=i+12|0)>>2]=0,ar[l+4>>2]=0,ar[l+8>>2]=0,ar[l+12>>2]=0,ar[l+16>>2]=0,ar[i+32>>2]=32215,ar[i+36>>2]=0,ar[i+40>>2]=0,ar[i+44>>2]=99,ar[i+48>>2]=99,p=i+52|0,ar[(Z=i+72|0)>>2]=0,ar[i+76>>2]=0,ar[p>>2]=0,ar[p+4>>2]=0,ar[p+8>>2]=0,ar[p+12>>2]=0,ar[i+68>>2]=Z,Z=l,g=(p=i)+16|0,bu(i),su(i),e=0|ar[g>>2],ar[l>>2]=Z,ar[g>>2]=p,0|e&&ku(e),du(i),v=0|ar[r>>2],yo(l,w=0|ar[v+24>>2],v=0|ar[v+28>>2],1,10),Bo(l,10,w,v,8),m=0|ar[r>>2],e=0|ar[m+40>>2],(g=0==(0|(m=0|ar[m+44>>2])))||bu(m),Ze(f),0|e&&(pe(n,0|or[e+8>>1],0|or[e+4>>1]),ar[f>>2]=ar[n>>2],ar[f+4>>2]=ar[4+n>>2],ar[f+8>>2]=ar[8+n>>2],ar[f+12>>2]=ar[12+n>>2],ar[f+16>>2]=ar[16+n>>2]),d=0|ef(256*gA[f+4>>2]),k=0|ef(256*gA[f+12>>2]),h=0|ef(256*gA[f+8>>2]),u=0|ef(256*gA[f+16>>2]),ar[n>>2]=0,ar[t>>2]=0,ar[o>>2]=0,b=(ar[a>>2]=0)|Ro(0|ar[r>>2],0,n),s=0|Ro(0|ar[r>>2],1,t),r=0|Ro(0|ar[r>>2],2,o),f=0|Fo(l,10,a),0<(0|v)&0<(0|w)){i=0;do{for(l=(0|i)/2|0,e=0;B=b+((0|br(0|ar[n>>2],i))+e)|0,B=0|cr[B>>0],W=(0|e)/2|0,E=s+((0|br(0|ar[t>>2],l))+W)|0,E=(0|cr[E>>0])-128|0,W=r+((0|br(0|ar[o>>2],l))+W)|0,W=(0|cr[W>>0])-128|0,I=(128+(0|br(W,d))>>8)+B|0,y=3*e|0,X=f+((0|br(0|ar[a>>2],i))+y)|0,tr[X>>0]=(0|I)<0?0:255<(0|I)?-1:255&I,W=(128+(0|br(E,h))+(0|br(W,k))>>8)+B|0,X=f+(y+1+(0|br(0|ar[a>>2],i)))|0,tr[X>>0]=(0|W)<0?0:255<(0|W)?-1:255&W,B=(128+(0|br(E,u))>>8)+B|0,y=f+(y+2+(0|br(0|ar[a>>2],i)))|0,tr[y>>0]=(0|B)<0?0:255<(0|B)?-1:255&B,(0|(e=e+1|0))!=(0|w););i=i+1|0}while((0|i)!=(0|v))}return(ar[A>>2]=Z,ar[A+4>>2]=p,g)?void(ur=c):(du(m),void(ur=c))}ar[A>>2]=0,ar[A+4>>2]=0,ur=c},function(A,e,r,i,f){var n,t;if(A|=0,e|=0,i|=0,f|=0,ur=(t=ur)+48|0,n=t+36|0,f=t,0==(0|ar[(r|=0)>>2])&&1==(0|ar[r+4>>2])&&8==(0|ar[r+12>>2])){if(0|(e=0|ar[r+16>>2])){switch(0|or[e+8>>1]){case 0:case 8:case 11:case 14:return ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0,void(ur=t)}if(!(0|tr[e+10>>0]))return ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0,void(ur=t)}return ar[n>>2]=0,ar[(i=4+n|0)>>2]=0,ar[8+n>>2]=0,ar[f>>2]=1,ar[f+4>>2]=11,tr[f+8>>0]=1,ar[f+12>>2]=8,ar[f+16>>2]=0,ar[(e=f+20|0)>>2]=0,gA[f+24>>2]=.5,gA[f+28>>2]=0,gA[f+32>>2]=0,Nl(n,f),0|(e=0|ar[e>>2])&&du(e),ar[A>>2]=ar[n>>2],ar[A+4>>2]=ar[i>>2],ar[A+8>>2]=ar[8+n>>2],void(ur=t)}ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0,ur=t},function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t,o,a,c,l,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0,C=0,G=0,V=0,F=0;if(ur=(l=ur)+64|0,f=l+36|0,t=l+16|0,o=l+12|0,a=l+8|0,c=l+4|0,n=l,(0|Vo(0|ar[(r|=0)>>2],0))<<24>>24==8&&(0|Vo(0|ar[r>>2],1))<<24>>24==8&&(0|Vo(0|ar[r>>2],2))<<24>>24==8){if(i=0|hu(80),ar[i+4>>2]=0,ar[i+8>>2]=0,ar[i>>2]=6208,ar[(u=i+12|0)>>2]=0,ar[u+4>>2]=0,ar[u+8>>2]=0,ar[u+12>>2]=0,ar[u+16>>2]=0,ar[i+32>>2]=32215,ar[i+36>>2]=0,ar[i+40>>2]=0,ar[i+44>>2]=99,ar[i+48>>2]=99,X=i+52|0,ar[(E=i+72|0)>>2]=0,ar[i+76>>2]=0,ar[X>>2]=0,ar[X+4>>2]=0,ar[X+8>>2]=0,ar[X+12>>2]=0,ar[i+68>>2]=E,E=u,B=(X=i)+16|0,bu(i),su(i),e=0|ar[B>>2],ar[u>>2]=E,ar[B>>2]=X,0|e&&ku(e),du(i),p=0|ar[r>>2],yo(u,Z=0|ar[p+24>>2],p=0|ar[p+28>>2],1,11),Bo(u,10,Z,p,8),y=0|ar[r>>2],e=0|ar[y+40>>2],(B=0==(0|(y=0|ar[y+44>>2])))||bu(y),Ze(f),0|e&&(pe(t,0|or[e+8>>1],0|or[e+4>>1]),ar[f>>2]=ar[t>>2],ar[f+4>>2]=ar[4+t>>2],ar[f+8>>2]=ar[8+t>>2],ar[f+12>>2]=ar[12+t>>2],ar[f+16>>2]=ar[16+t>>2]),v=0|ef(256*gA[f+4>>2]),m=0|ef(256*gA[f+12>>2]),g=0|ef(256*gA[f+8>>2]),s=0|ef(256*gA[f+16>>2]),d=0|Eo(0|ar[r>>2],6),ar[t>>2]=0,ar[o>>2]=0,ar[a>>2]=0,ar[c>>2]=0,k=(ar[n>>2]=0)|Ro(0|ar[r>>2],0,t),h=0|Ro(0|ar[r>>2],1,o),w=0|Ro(0|ar[r>>2],2,a),b=d?0|Ro(0|ar[r>>2],6,c):0,f=0|Fo(u,10,n),0<(0|p)){u=0<(0|Z),i=0;do{if(u)if(r=(0|i)/2|0,d)for(e=0;C=k+((0|br(0|ar[t>>2],i))+e)|0,C=0|cr[C>>0],V=(0|e)/2|0,W=h+((0|br(0|ar[o>>2],r))+V)|0,W=(0|cr[W>>0])-128|0,V=w+((0|br(0|ar[a>>2],r))+V)|0,V=(0|cr[V>>0])-128|0,F=(128+(0|br(V,v))>>8)+C|0,I=e<<2,G=f+((0|br(0|ar[n>>2],i))+I)|0,tr[G>>0]=(0|F)<0?0:255<(0|F)?-1:255&F,V=(128+(0|br(W,g))+(0|br(V,m))>>8)+C|0,G=f+((1|I)+(0|br(0|ar[n>>2],i)))|0,tr[G>>0]=(0|V)<0?0:255<(0|V)?-1:255&V,C=(128+(0|br(W,s))>>8)+C|0,W=f+((2|I)+(0|br(0|ar[n>>2],i)))|0,tr[W>>0]=(0|C)<0?0:255<(0|C)?-1:255&C,W=0|br(0|ar[n>>2],i),C=b+((0|br(0|ar[c>>2],i))+e)|0,tr[f+((3|I)+W)>>0]=0|tr[C>>0],(0|(e=e+1|0))!=(0|Z););else for(e=0;G=k+((0|br(0|ar[t>>2],i))+e)|0,G=0|cr[G>>0],I=(0|e)/2|0,V=h+((0|br(0|ar[o>>2],r))+I)|0,V=(0|cr[V>>0])-128|0,I=w+((0|br(0|ar[a>>2],r))+I)|0,I=(0|cr[I>>0])-128|0,W=(128+(0|br(I,v))>>8)+G|0,F=e<<2,C=f+((0|br(0|ar[n>>2],i))+F)|0,tr[C>>0]=(0|W)<0?0:255<(0|W)?-1:255&W,I=(128+(0|br(V,g))+(0|br(I,m))>>8)+G|0,C=f+((1|F)+(0|br(0|ar[n>>2],i)))|0,tr[C>>0]=(0|I)<0?0:255<(0|I)?-1:255&I,G=(128+(0|br(V,s))>>8)+G|0,V=f+((2|F)+(0|br(0|ar[n>>2],i)))|0,tr[V>>0]=(0|G)<0?0:255<(0|G)?-1:255&G,F=f+((3|F)+(0|br(0|ar[n>>2],i)))|0,tr[F>>0]=-1,(0|(e=e+1|0))!=(0|Z););i=i+1|0}while((0|i)!=(0|p))}return(ar[A>>2]=E,ar[A+4>>2]=X,B)?void(ur=l):(du(y),void(ur=l))}ar[A>>2]=0,ar[A+4>>2]=0,ur=l},function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t,o=0,a=0,c=0,l=0,u=0,b=0;if(ur=(t=ur)+64|0,n=t+36|0,c=t+48|0,u=t,1==(0|ar[(r|=0)>>2])&&3==(0|ar[r+4>>2])&&8!=(0|(o=0|ar[(a=r+12|0)>>2])))return ar[n>>2]=0,ar[(b=4+n|0)>>2]=0,(ar[8+n>>2]=0)|tr[r+8>>0]?(l=8+n|0,e=o,r=f=o=0):(ar[u>>2]=1,ar[u+4>>2]=12,tr[u+8>>0]=0,tr[(e=u+9|0)>>0]=0|tr[c>>0],tr[e+1>>0]=0|tr[c+1>>0],tr[e+2>>0]=0|tr[c+2>>0],ar[u+12>>2]=o,ar[u+16>>2]=0,ar[(e=u+20|0)>>2]=0,gA[u+24>>2]=.5,gA[u+28>>2]=0,i=8+n|(gA[u+32>>2]=0),Nl(n,u),0|(e=0|ar[e>>2])&&du(e),r=0|ar[b>>2],l=i,e=0|ar[a>>2],o=r,f=0|ar[i>>2]),ar[u>>2]=1,ar[u+4>>2]=13,tr[u+8>>0]=1,tr[(i=u+9|0)>>0]=0|tr[c>>0],tr[i+1>>0]=0|tr[c+1>>0],tr[i+2>>0]=0|tr[c+2>>0],ar[u+12>>2]=e,ar[(e=u+16|0)>>2]=0,ar[(i=u+20|0)>>2]=0,gA[u+24>>2]=.5,gA[u+28>>2]=0,f>>>(gA[u+32>>2]=0)<=o>>>0?(Nl(n,u),0|(e=0|ar[i>>2])&&du(e)):(ar[r>>2]=ar[u>>2],ar[r+4>>2]=ar[u+4>>2],ar[r+8>>2]=ar[u+8>>2],ar[r+12>>2]=ar[u+12>>2],ar[o+16>>2]=ar[e>>2],ar[o+20>>2]=ar[i>>2],ar[e>>2]=0,u=u+24|(ar[i>>2]=0),ar[(c=o+24|0)>>2]=ar[u>>2],ar[c+4>>2]=ar[u+4>>2],ar[c+8>>2]=ar[u+8>>2],ar[b>>2]=o+36),ar[A>>2]=ar[n>>2],ar[A+4>>2]=ar[b>>2],ar[A+8>>2]=ar[l>>2],ar[l>>2]=0,void(ur=t);ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0,ur=t},function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t,o,a,c,l,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0;if(ur=(l=ur)+32|0,n=l+16|0,t=l+12|0,o=l+8|0,a=l+4|0,c=l,(0|Vo(0|ar[(r|=0)>>2],3))<<24>>24!=8&&(0|Vo(0|ar[r>>2],4))<<24>>24!=8&&(0|Vo(0|ar[r>>2],5))<<24>>24!=8){v=0|Eo(0|ar[r>>2],6);do{if(v){if((0|Vo(0|ar[r>>2],6))<<24>>24==8)return ar[A>>2]=0,ar[A+4>>2]=0,void(ur=l);if((0|(g=0|Xo(0|ar[r>>2],6)))==(0|Xo(0|ar[r>>2],4))&&(0|(g=0|Wo(0|ar[r>>2],6)))==(0|Wo(0|ar[r>>2],4)))break;return ar[A>>2]=0,ar[A+4>>2]=0,void(ur=l)}}while(0);if(f=0|hu(80),ar[f+4>>2]=0,ar[f+8>>2]=0,ar[f>>2]=6208,ar[(u=f+12|0)>>2]=0,ar[u+4>>2]=0,ar[u+8>>2]=0,ar[u+12>>2]=0,ar[u+16>>2]=0,ar[f+32>>2]=32215,ar[f+36>>2]=0,ar[f+40>>2]=0,ar[f+44>>2]=99,ar[f+48>>2]=99,g=f+52|0,ar[(m=f+72|0)>>2]=0,ar[f+76>>2]=0,ar[g>>2]=0,ar[g+4>>2]=0,ar[g+8>>2]=0,ar[g+12>>2]=0,ar[f+68>>2]=m,m=u,w=(g=f)+16|0,bu(f),su(f),e=0|ar[w>>2],ar[u>>2]=m,ar[w>>2]=g,0|e&&ku(e),du(f),w=0|ar[r>>2],yo(u,h=0|ar[w+24>>2],w=0|ar[w+28>>2],1,0|tr[i+8>>0]?13:12),Bo(u,10,h,w,255&(0|Vo(0|ar[r>>2],3))),ar[n>>2]=0,ar[t>>2]=0,ar[o>>2]=0,ar[a>>2]=0,s=(ar[c>>2]=0)|Ro(0|ar[r>>2],3,n),d=0|Ro(0|ar[r>>2],4,t),k=0|Ro(0|ar[r>>2],5,o),b=0|Fo(u,10,c),e=v?(u=0|Ro(0|ar[r>>2],6,a),(0|ar[a>>2])/2|0):u=0,ar[n>>2]=(0|ar[n>>2])/2|0,ar[t>>2]=(0|ar[t>>2])/2|0,ar[o>>2]=(0|ar[o>>2])/2|0,ar[a>>2]=e,0<(0|w)){i=0<(0|h),f=0;do{if(v){if(i)for(e=0;E=s+((0|br(0|ar[n>>2],f))+e<<1)|0,E=0|or[E>>1],B=d+((0|br(0|ar[t>>2],f))+e<<1)|0,B=0|or[B>>1],y=k+((0|br(0|ar[o>>2],f))+e<<1)|0,y=0|or[y>>1],Z=u+((0|br(0|ar[a>>2],f))+e<<1)|0,Z=0|or[Z>>1],r=e<<3,p=b+((0|br(0|ar[c>>2],f))+r)|0,tr[p>>0]=(65535&E)>>>8,p=b+((1|r)+(0|br(0|ar[c>>2],f)))|0,tr[p>>0]=E,p=b+((2|r)+(0|br(0|ar[c>>2],f)))|0,tr[p>>0]=(65535&B)>>>8,p=b+((3|r)+(0|br(0|ar[c>>2],f)))|0,tr[p>>0]=B,p=b+((4|r)+(0|br(0|ar[c>>2],f)))|0,tr[p>>0]=(65535&y)>>>8,p=b+((5|r)+(0|br(0|ar[c>>2],f)))|0,tr[p>>0]=y,p=b+((6|r)+(0|br(0|ar[c>>2],f)))|0,tr[p>>0]=(65535&Z)>>>8,r=b+((7|r)+(0|br(0|ar[c>>2],f)))|0,tr[r>>0]=Z,(0|(e=e+1|0))!=(0|h););}else if(i)for(e=0;Z=s+((0|br(0|ar[n>>2],f))+e<<1)|0,Z=0|or[Z>>1],p=d+((0|br(0|ar[t>>2],f))+e<<1)|0,p=0|or[p>>1],B=k+((0|br(0|ar[o>>2],f))+e<<1)|0,B=0|or[B>>1],E=6*e|0,y=b+((0|br(0|ar[c>>2],f))+E)|0,tr[y>>0]=(65535&Z)>>>8,y=b+((1|E)+(0|br(0|ar[c>>2],f)))|0,tr[y>>0]=Z,y=b+(E+2+(0|br(0|ar[c>>2],f)))|0,tr[y>>0]=(65535&p)>>>8,y=b+(E+3+(0|br(0|ar[c>>2],f)))|0,tr[y>>0]=p,y=b+(E+4+(0|br(0|ar[c>>2],f)))|0,tr[y>>0]=(65535&B)>>>8,E=b+(E+5+(0|br(0|ar[c>>2],f)))|0,tr[E>>0]=B,(0|(e=e+1|0))!=(0|h););f=f+1|0}while((0|f)!=(0|w))}return ar[A>>2]=m,ar[A+4>>2]=g,void(ur=l)}ar[A>>2]=0,ar[A+4>>2]=0,ur=l},function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t,o=0,a=0,c=0,l=0,u=0;if(ur=(t=ur)+64|0,n=t+36|0,a=t+48|0,l=t,1==(0|ar[(r|=0)>>2])&&3==(0|ar[r+4>>2])&&8==(0|ar[(o=r+12|0)>>2]))return ar[n>>2]=0,ar[(u=4+n|0)>>2]=0,(ar[8+n>>2]=0)|tr[r+8>>0]?(c=8+n|0,e=8,r=f=o=0):(ar[l>>2]=1,ar[l+4>>2]=12,tr[l+8>>0]=0,tr[(e=l+9|0)>>0]=0|tr[a>>0],tr[e+1>>0]=0|tr[a+1>>0],tr[e+2>>0]=0|tr[a+2>>0],ar[l+12>>2]=8,ar[l+16>>2]=0,ar[(e=l+20|0)>>2]=0,gA[l+24>>2]=.5,gA[l+28>>2]=0,i=8+n|(gA[l+32>>2]=0),Nl(n,l),0|(e=0|ar[e>>2])&&du(e),r=0|ar[u>>2],c=i,e=0|ar[o>>2],o=r,f=0|ar[i>>2]),ar[l>>2]=1,ar[l+4>>2]=13,tr[l+8>>0]=1,tr[(i=l+9|0)>>0]=0|tr[a>>0],tr[i+1>>0]=0|tr[a+1>>0],tr[i+2>>0]=0|tr[a+2>>0],ar[l+12>>2]=e,ar[(e=l+16|0)>>2]=0,ar[(i=l+20|0)>>2]=0,gA[l+24>>2]=.5,gA[l+28>>2]=0,f>>>(gA[l+32>>2]=0)<=o>>>0?(Nl(n,l),0|(e=0|ar[i>>2])&&du(e)):(ar[r>>2]=ar[l>>2],ar[r+4>>2]=ar[l+4>>2],ar[r+8>>2]=ar[l+8>>2],ar[r+12>>2]=ar[l+12>>2],ar[o+16>>2]=ar[e>>2],ar[o+20>>2]=ar[i>>2],ar[e>>2]=0,l=l+24|(ar[i>>2]=0),ar[(a=o+24|0)>>2]=ar[l>>2],ar[a+4>>2]=ar[l+4>>2],ar[a+8>>2]=ar[l+8>>2],ar[u>>2]=o+36),ar[A>>2]=ar[n>>2],ar[A+4>>2]=ar[u>>2],ar[A+8>>2]=ar[c>>2],ar[c>>2]=0,void(ur=t);ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0,ur=t},function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t,o,a,c,l,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0;if(ur=(l=ur)+32|0,n=l+16|0,t=l+12|0,o=l+8|0,a=l+4|0,c=l,(0|Vo(0|ar[(r|=0)>>2],3))<<24>>24==8&&(0|Vo(0|ar[r>>2],4))<<24>>24==8&&(0|Vo(0|ar[r>>2],5))<<24>>24==8){if((v=0|Eo(0|ar[r>>2],6))&&(0|Vo(0|ar[r>>2],6))<<24>>24!=8)return ar[A>>2]=0,ar[A+4>>2]=0,void(ur=l);if(f=0|hu(80),ar[f+4>>2]=0,ar[f+8>>2]=0,ar[f>>2]=6208,ar[(u=f+12|0)>>2]=0,ar[u+4>>2]=0,ar[u+8>>2]=0,ar[u+12>>2]=0,ar[u+16>>2]=0,ar[f+32>>2]=32215,ar[f+36>>2]=0,ar[f+40>>2]=0,ar[f+44>>2]=99,ar[f+48>>2]=99,g=f+52|0,ar[(m=f+72|0)>>2]=0,ar[f+76>>2]=0,ar[g>>2]=0,ar[g+4>>2]=0,ar[g+8>>2]=0,ar[g+12>>2]=0,ar[f+68>>2]=m,m=u,w=(g=f)+16|0,bu(f),su(f),e=0|ar[w>>2],ar[u>>2]=m,ar[w>>2]=g,0|e&&ku(e),du(f),w=0|ar[r>>2],yo(u,h=0|ar[w+24>>2],w=0|ar[w+28>>2],1,0|tr[i+8>>0]?13:12),Bo(u,10,h,w,255&(0|Vo(0|ar[r>>2],3))),ar[n>>2]=0,ar[t>>2]=0,ar[o>>2]=0,ar[a>>2]=0,s=(ar[c>>2]=0)|Ro(0|ar[r>>2],3,n),d=0|Ro(0|ar[r>>2],4,t),k=0|Ro(0|ar[r>>2],5,o),b=0|Fo(u,10,c),f=v?0|Ro(0|ar[r>>2],6,a):0,0<(0|w)){u=0<(0|h),i=0;do{if(v){if(u)for(e=0;r=e<<3,p=b+((0|br(0|ar[c>>2],i))+r)|0,p=s+(((tr[p>>0]=0)|br(0|ar[n>>2],i))+e)|0,Z=b+((1|r)+(0|br(0|ar[c>>2],i)))|0,tr[Z>>0]=0|tr[p>>0],Z=b+((2|r)+(0|br(0|ar[c>>2],i)))|0,Z=d+(((tr[Z>>0]=0)|br(0|ar[t>>2],i))+e)|0,p=b+((3|r)+(0|br(0|ar[c>>2],i)))|0,tr[p>>0]=0|tr[Z>>0],p=b+((4|r)+(0|br(0|ar[c>>2],i)))|0,p=k+(((tr[p>>0]=0)|br(0|ar[o>>2],i))+e)|0,Z=b+((5|r)+(0|br(0|ar[c>>2],i)))|0,tr[Z>>0]=0|tr[p>>0],Z=b+((6|r)+(0|br(0|ar[c>>2],i)))|0,Z=f+(((tr[Z>>0]=0)|br(0|ar[a>>2],i))+e)|0,r=b+((7|r)+(0|br(0|ar[c>>2],i)))|0,tr[r>>0]=0|tr[Z>>0],(0|(e=e+1|0))!=(0|h););}else if(u)for(e=0;p=e<<3,Z=b+((0|br(0|ar[c>>2],i))+p)|0,Z=s+(((tr[Z>>0]=0)|br(0|ar[n>>2],i))+e)|0,r=b+((1|p)+(0|br(0|ar[c>>2],i)))|0,tr[r>>0]=0|tr[Z>>0],r=b+((2|p)+(0|br(0|ar[c>>2],i)))|0,r=d+(((tr[r>>0]=0)|br(0|ar[t>>2],i))+e)|0,Z=b+((3|p)+(0|br(0|ar[c>>2],i)))|0,tr[Z>>0]=0|tr[r>>0],Z=b+((4|p)+(0|br(0|ar[c>>2],i)))|0,Z=k+(((tr[Z>>0]=0)|br(0|ar[o>>2],i))+e)|0,p=b+((5|p)+(0|br(0|ar[c>>2],i)))|0,tr[p>>0]=0|tr[Z>>0],(0|(e=e+1|0))!=(0|h););i=i+1|0}while((0|i)!=(0|w))}return ar[A>>2]=m,ar[A+4>>2]=g,void(ur=l)}ar[A>>2]=0,ar[A+4>>2]=0,ur=l},function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t=0,o=0;if(ur=(n=ur)+48|0,f=n+36|0,e=n,1==(0|ar[(r|=0)>>2])&&12==(-2&(t=0|ar[r+4>>2])|0)&&8!=(0|(o=0|ar[r+12>>2])))return ar[f>>2]=0,ar[(i=f+4|0)>>2]=0,ar[f+8>>2]=0,ar[e>>2]=1,ar[e+4>>2]=3,tr[e+8>>0]=15==(2|t)&1,ar[e+12>>2]=o,ar[e+16>>2]=0,ar[(o=e+20|0)>>2]=0,gA[e+24>>2]=.20000000298023224,gA[e+28>>2]=0,gA[e+32>>2]=0,Nl(f,e),0|(e=0|ar[o>>2])&&du(e),ar[A>>2]=ar[f>>2],ar[A+4>>2]=ar[i>>2],ar[A+8>>2]=ar[f+8>>2],void(ur=n);ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0,ur=n},function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t,o,a,c,l,u,b,s,d,k,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0;if(ur=(k=ur)+32|0,d=k+16|0,h=k+12|0,w=k+8|0,v=k+4|0,m=k,s=15==(2|ar[36+(0|ar[(r|=0)>>2])>>2]),i=0|hu(80),ar[i+4>>2]=0,ar[i+8>>2]=0,ar[i>>2]=6208,ar[(f=i+12|0)>>2]=0,ar[f+4>>2]=0,ar[f+8>>2]=0,ar[f+12>>2]=0,ar[f+16>>2]=0,ar[i+32>>2]=32215,ar[i+36>>2]=0,ar[i+40>>2]=0,ar[i+44>>2]=99,ar[i+48>>2]=99,e=i+52|0,ar[(y=i+72|0)>>2]=0,ar[i+76>>2]=0,ar[e>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,ar[e+12>>2]=0,ar[i+68>>2]=y,ar[A>>2]=f,y=(ar[A+4>>2]=i)+16|0,bu(i),su(i),e=0|ar[y>>2],ar[f>>2]=f,ar[y>>2]=i,0|e&&ku(e),du(i),p=0|ar[r>>2],yo(f,b=0|ar[p+24>>2],p=0|ar[p+28>>2],1,3),Bo(f,3,b,p,255&(0|Vo(0|ar[r>>2],10))),Bo(f,4,b,p,255&(0|Vo(0|ar[r>>2],10))),Bo(f,5,b,p,255&(0|Vo(0|ar[r>>2],10))),s&&Bo(f,6,b,p,255&(0|Vo(0|ar[r>>2],10))),ar[d>>2]=0,y=s?8:6,ar[h>>2]=0,ar[w>>2]=0,ar[v>>2]=0,a=(ar[m>>2]=0)|Ro(0|ar[r>>2],10,d),c=0|Fo(f,3,h),l=0|Fo(f,4,w),u=0|Fo(f,5,v),Z=s?(g=0|Fo(f,6,m),(0|ar[m>>2])/2|0):g=0,o=(0|ar[h>>2])/2|0,ar[h>>2]=o,t=(0|ar[w>>2])/2|0,ar[w>>2]=t,n=(0|ar[v>>2])/2|0,ar[v>>2]=n,ar[m>>2]=Z,(0|p)<=0)ur=k;else{A=0<(0|b),f=0;do{A:do{if(A){if(r=0|br(0|ar[d>>2],f),h=0|br(o,f),w=0|br(t,f),v=0|br(n,f),!s)for(e=0;;)if(B=r+(0|br(e,y))|0,i=65535&((0|cr[a+(B+2)>>0])<<8|0|cr[a+(B+3)>>0]),m=65535&((0|cr[a+(B+4)>>0])<<8|0|cr[a+(B+5)>>0]),or[c+(h+e<<1)>>1]=(0|cr[a+B>>0])<<8|0|cr[a+(B+1)>>0],or[l+(w+e<<1)>>1]=i,or[u+(v+e<<1)>>1]=m,(0|(e=e+1|0))==(0|b))break A;for(i=0|br(Z,f),e=0;E=r+(0|br(e,y))|0,m=65535&((0|cr[a+(E+2)>>0])<<8|0|cr[a+(E+3)>>0]),B=65535&((0|cr[a+(E+4)>>0])<<8|0|cr[a+(E+5)>>0]),or[c+(h+e<<1)>>1]=(0|cr[a+E>>0])<<8|0|cr[a+(E+1)>>0],or[l+(w+e<<1)>>1]=m,or[u+(v+e<<1)>>1]=B,B=r+(e<<3)|0,or[g+(i+e<<1)>>1]=(0|cr[a+(B+6)>>0])<<8|0|cr[a+(B+7)>>0],(0|(e=e+1|0))!=(0|b););}}while(0);f=f+1|0}while((0|f)!=(0|p));ur=k}},function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t,o=0,a=0,c=0,l=0;if(ur=(t=ur)+64|0,n=t+36|0,i=t+48|0,c=t,1==(0|ar[(r|=0)>>2])&&12==(-4&(o=0|ar[(a=r+4|0)>>2])|0)){switch(ar[n>>2]=0,ar[(l=4+n|0)>>2]=0,(ar[8+n>>2]=0)|o){case 12:case 14:e=0|ar[r+12>>2],ar[c>>2]=1,ar[c+4>>2]=14==(0|o)?12:14,tr[c+8>>0]=0,tr[(o=c+9|0)>>0]=0|tr[i>>0],tr[o+1>>0]=0|tr[i+1>>0],tr[o+2>>0]=0|tr[i+2>>0],ar[c+12>>2]=e,ar[c+16>>2]=0,ar[(e=c+20|0)>>2]=0,gA[c+24>>2]=.10000000149011612,gA[c+28>>2]=0,gA[c+32>>2]=0,Nl(n,c),0|(e=0|ar[e>>2])&&du(e),e=0|ar[a>>2];break;default:e=o}switch(0|e){case 13:case 15:f=0|ar[r+12>>2],ar[c>>2]=1,ar[c+4>>2]=15==(0|e)?13:15,tr[c+8>>0]=1,tr[(o=c+9|0)>>0]=0|tr[i>>0],tr[o+1>>0]=0|tr[i+1>>0],tr[o+2>>0]=0|tr[i+2>>0],ar[c+12>>2]=f,ar[(i=c+16|0)>>2]=0,ar[(f=c+20|0)>>2]=0,gA[c+24>>2]=.10000000149011612,gA[c+28>>2]=0,(o=(gA[c+32>>2]=0)|ar[l>>2])>>>0>=(0|ar[(e=8+n|0)>>2])>>>0?(Nl(n,c),0|(i=0|ar[f>>2])&&du(i)):(ar[o>>2]=ar[c>>2],ar[o+4>>2]=ar[c+4>>2],ar[o+8>>2]=ar[c+8>>2],ar[o+12>>2]=ar[c+12>>2],ar[o+16>>2]=ar[i>>2],ar[o+20>>2]=ar[f>>2],ar[i>>2]=0,c=c+24|(ar[f>>2]=0),ar[(r=o+24|0)>>2]=ar[c>>2],ar[r+4>>2]=ar[c+4>>2],ar[r+8>>2]=ar[c+8>>2],ar[l>>2]=o+36);break;default:e=8+n|0}return ar[A>>2]=ar[n>>2],ar[A+4>>2]=ar[l>>2],ar[A+8>>2]=ar[e>>2],ar[e>>2]=0,void(ur=t)}ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0,ur=t},function(A,e,r,i,f){A|=0,e|=0,r|=0,i|=0,f|=0;var n,t,o,a=0,c=0,l=0,u=0,b=0,s=0,d=0;switch(ur=(o=ur)+16|0,n=o+4|0,t=o,a=0|hu(80),ar[a+4>>2]=0,ar[a+8>>2]=0,ar[a>>2]=6208,ar[(i=a+12|0)>>2]=0,ar[i+4>>2]=0,ar[i+8>>2]=0,ar[i+12>>2]=0,ar[i+16>>2]=0,ar[a+32>>2]=32215,ar[a+36>>2]=0,ar[a+40>>2]=0,ar[a+44>>2]=99,ar[a+48>>2]=99,u=a+52|0,ar[(l=a+72|0)>>2]=0,ar[a+76>>2]=0,ar[u>>2]=0,ar[u+4>>2]=0,ar[u+8>>2]=0,ar[u+12>>2]=0,ar[a+68>>2]=l,l=i,c=(u=a)+16|0,bu(a),su(a),e=0|ar[c>>2],ar[i>>2]=l,ar[c>>2]=u,0|e&&ku(e),du(a),e=0|ar[r>>2],f=0|ar[e+24>>2],c=0|ar[e+28>>2],0|ar[e+36>>2]){case 14:yo(i,f,c,1,12),e=i;break;case 12:yo(i,f,c,1,14),e=i;break;case 15:yo(i,f,c,1,13),e=i;break;case 13:yo(i,f,c,1,15),e=i;break;default:return ar[A>>2]=0,ar[A+4>>2]=0,du(a),void(ur=o)}if(Bo(e,10,f,c,255&(0|Vo(0|ar[r>>2],10))),ar[n>>2]=0,r=(ar[t>>2]=0)|Ro(0|ar[r>>2],10,n),f=0|Fo(e,10,t),0<(0|c)&0<(0|(a=(0|(i=0|ar[t>>2]))<(0|(a=0|ar[n>>2]))?i:a))){i=0;do{for(e=0;d=r+((b=1|e)+(0|br(0|ar[n>>2],i)))|0,s=f+((0|br(0|ar[t>>2],i))+e)|0,tr[s>>0]=0|tr[d>>0],s=r+((0|br(0|ar[n>>2],i))+e)|0,b=f+(b+(0|br(0|ar[t>>2],i)))|0,tr[b>>0]=0|tr[s>>0],(0|(e=e+2|0))<(0|a););i=i+1|0}while((0|i)!=(0|c))}ar[A>>2]=l,ar[A+4>>2]=u,ur=o},function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t=0;if(ur=(n=ur)+48|0,f=n+36|0,e=n,2==(0|ar[(r|=0)>>2])&&0==(0|ar[r+4>>2]))return ar[f>>2]=0,ar[(i=f+4|0)>>2]=0,t=(ar[f+8>>2]=0)|tr[r+8>>0],r=0|ar[r+12>>2],ar[e>>2]=0,ar[e+4>>2]=1,tr[e+8>>0]=t,ar[e+12>>2]=r,ar[e+16>>2]=0,ar[(r=e+20|0)>>2]=0,gA[e+24>>2]=.10000000149011612,gA[e+28>>2]=0,gA[e+32>>2]=0,Nl(f,e),0|(e=0|ar[r>>2])&&du(e),ar[A>>2]=ar[f>>2],ar[A+4>>2]=ar[i>>2],ar[A+8>>2]=ar[f+8>>2],void(ur=n);ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0,ur=n},function(A,e,r,i,f){A|=0,e|=0,r|=0,i|=0,f|=0;var n,t,o,a,c,l,u,b,s,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0;if(ur=(s=ur)+16|0,u=s+12|0,b=s+8|0,a=s+4|0,c=s,i=0|hu(80),ar[i+4>>2]=0,ar[i+8>>2]=0,ar[i>>2]=6208,ar[(l=i+12|0)>>2]=0,ar[4+l>>2]=0,ar[8+l>>2]=0,ar[12+l>>2]=0,ar[16+l>>2]=0,ar[i+32>>2]=32215,ar[i+36>>2]=0,ar[i+40>>2]=0,ar[i+44>>2]=99,ar[i+48>>2]=99,e=i+52|0,ar[(B=i+72|0)>>2]=0,ar[i+76>>2]=0,ar[e>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,ar[e+12>>2]=0,ar[i+68>>2]=B,ar[A>>2]=l,B=(ar[A+4>>2]=i)+16|0,bu(i),su(i),e=0|ar[B>>2],ar[l>>2]=l,ar[B>>2]=i,0|e&&ku(e),du(i),B=0|ar[r>>2],yo(l,o=0|ar[B+24>>2],B=0|ar[B+28>>2],0,1),n=(1+o|0)/2|0,p=(B+1|0)/2|0,Bo(l,0,o,B,i=255&(e=0|Vo(0|ar[r>>2],0))),Bo(l,1,n,p,i),Bo(l,2,n,p,i),(t=0|Eo(0|ar[r>>2],6))?Bo(l,6,o,B,y=255&(0|Vo(0|ar[r>>2],6))):y=0,e<<24>>24==8){if(ar[u>>2]=0,ar[b>>2]=0,ar[a>>2]=0,i=(ar[c>>2]=0)|Ro(0|ar[r>>2],0,c),f=0|Fo(l,0,a),g=0|Fo(l,1,u),Z=0|Fo(l,2,b),vb(0|g,-128,0|br(0|ar[u>>2],p)),vb(0|Z,-128,0|br(0|ar[b>>2],p)),0<(0|B))for(e=0;hb(0|(p=f+(0|br(0|ar[a>>2],e))|0),i+(0|br(0|ar[c>>2],e))|0,0|o),(0|(e=e+1|0))!=(0|B););}else{ar[u>>2]=0,ar[b>>2]=0,ar[a>>2]=0,g=(ar[c>>2]=0)|Ro(0|ar[r>>2],0,c),Z=0|Fo(l,0,a),k=0|Fo(l,1,u),h=0|Fo(l,2,b),ar[c>>2]=(0|ar[c>>2])/2|0,ar[a>>2]=(0|ar[a>>2])/2|0,w=(0|ar[u>>2])/2|0,ar[u>>2]=w,v=(0|ar[b>>2])/2|0,ar[b>>2]=v,m=0<(0|B);do{if(m){if(f=128<<i+-8&65535,0<(0|o)){i=0;do{for(A=0|br(w,i),d=0|br(v,i),e=0;or[k+(A+e<<1)>>1]=f,or[h+(d+e<<1)>>1]=f,(0|(e=e+1|0))<(0|n););i=i+1|0}while((0|i)<(0|p));if(!m)break}if(hb(0|Z,0|g,0|(e=o<<1)),1!=(0|B))for(i=1;hb(Z+((0|br(0|ar[a>>2],i))<<1)|0,g+((0|br(0|ar[c>>2],i))<<1)|0,0|e),(0|(i=i+1|0))!=(0|B););}}while(0)}if(t){if(ar[u>>2]=0,A=(ar[b>>2]=0)|Ro(0|ar[r>>2],6,u),f=0|Fo(l,6,b),i=o<<(8<y>>>0&1),0<(0|B))for(e=0;hb(0|(r=f+(0|br(0|ar[b>>2],e))|0),A+(0|br(0|ar[u>>2],e))|0,0|i),(0|(e=e+1|0))!=(0|B););ur=s}else ur=s},function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t,o=0,a=0,c=0,l=0,u=0;switch(ur=(t=ur)+64|0,n=t+36|0,o=t+48|0,l=t,0|ar[(r|=0)>>2]){case 0:case 2:if(0==(0|ar[r+4>>2])&&8==(0|ar[r+12>>2]))return ar[n>>2]=0,ar[(u=4+n|0)>>2]=0,(ar[8+n>>2]=0)|tr[r+8>>0]?(c=8+n|0,r=f=a=0):(ar[l>>2]=1,ar[l+4>>2]=10,tr[l+8>>0]=0,tr[(e=l+9|0)>>0]=0|tr[o>>0],tr[e+1>>0]=0|tr[o+1>>0],tr[e+2>>0]=0|tr[o+2>>0],ar[l+12>>2]=8,ar[l+16>>2]=0,ar[(e=l+20|0)>>2]=0,gA[l+24>>2]=.10000000149011612,gA[l+28>>2]=0,i=8+n|(gA[l+32>>2]=0),Nl(n,l),0|(e=0|ar[e>>2])&&du(e),a=r=0|ar[u>>2],f=0|ar[(c=i)>>2]),ar[l>>2]=1,ar[l+4>>2]=11,tr[l+8>>0]=1,tr[(e=l+9|0)>>0]=0|tr[o>>0],tr[e+1>>0]=0|tr[o+1>>0],tr[e+2>>0]=0|tr[o+2>>0],ar[l+12>>2]=8,ar[(e=l+16|0)>>2]=0,ar[(i=l+20|0)>>2]=0,gA[l+24>>2]=.15000000596046448,gA[l+28>>2]=0,f>>>(gA[l+32>>2]=0)<=a>>>0?(Nl(n,l),0|(e=0|ar[i>>2])&&du(e)):(ar[r>>2]=ar[l>>2],ar[r+4>>2]=ar[l+4>>2],ar[r+8>>2]=ar[l+8>>2],ar[r+12>>2]=ar[l+12>>2],ar[a+16>>2]=ar[e>>2],ar[a+20>>2]=ar[i>>2],ar[e>>2]=0,l=l+24|(ar[i>>2]=0),ar[(o=a+24|0)>>2]=ar[l>>2],ar[o+4>>2]=ar[l+4>>2],ar[o+8>>2]=ar[l+8>>2],ar[u>>2]=a+36),ar[A>>2]=ar[n>>2],ar[A+4>>2]=ar[u>>2],ar[A+8>>2]=ar[c>>2],ar[c>>2]=0,void(ur=t)}ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0,ur=t},function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t,o,a,c,l,u,b=0,s=0,d=0,k=0,h=0,w=0,v=0;if(ur=(u=ur)+16|0,c=u+8|0,t=u+4|0,l=u,k=0|ar[(r|=0)>>2],o=0|ar[k+24>>2],a=0|ar[k+28>>2],(0|Vo(k,0))<<24>>24!=8)return ar[A>>2]=0,ar[A+4>>2]=0,void(ur=u);if(f=0|hu(80),ar[f+4>>2]=0,ar[f+8>>2]=0,ar[f>>2]=6208,ar[(b=f+12|0)>>2]=0,ar[b+4>>2]=0,ar[b+8>>2]=0,ar[b+12>>2]=0,ar[b+16>>2]=0,ar[f+32>>2]=32215,ar[f+36>>2]=0,ar[f+40>>2]=0,ar[f+44>>2]=99,ar[f+48>>2]=99,k=f+52|0,ar[(d=f+72|0)>>2]=0,ar[f+76>>2]=0,ar[k>>2]=0,ar[k+4>>2]=0,ar[k+8>>2]=0,ar[k+12>>2]=0,ar[f+68>>2]=d,d=b,s=(k=f)+16|0,bu(f),su(f),e=0|ar[s>>2],ar[b>>2]=d,ar[s>>2]=k,0|e&&ku(e),du(f),e=0|Eo(0|ar[r>>2],6),0|tr[(n=i+8|0)>>0]?yo(b,o,a,1,11):yo(b,o,a,1,10),Bo(b,10,o,a,8),ar[c>>2]=0,s=(ar[l>>2]=0)|Ro(0|ar[r>>2],0,c),i=e?0|Ro(0|ar[r>>2],6,t):0,b=0|Fo(b,10,l),0<(0|a))if(r=0<(0|o),e){f=0;do{if(0|tr[n>>0]){if(r)for(e=0;h=s+((0|br(0|ar[c>>2],f))+e)|0,h=0|tr[h>>0],v=e<<2,w=b+((0|br(0|ar[l>>2],f))+v)|0,tr[w>>0]=h,w=b+((1|v)+(0|br(0|ar[l>>2],f)))|0,tr[w>>0]=h,w=b+((2|v)+(0|br(0|ar[l>>2],f)))|0,tr[w>>0]=h,w=i+((0|br(0|ar[t>>2],f))+e)|0,v=b+((3|v)+(0|br(0|ar[l>>2],f)))|0,tr[v>>0]=0|tr[w>>0],(0|(e=e+1|0))!=(0|o););}else if(r)for(e=0;w=s+((0|br(0|ar[c>>2],f))+e)|0,w=0|tr[w>>0],h=3*e|0,v=b+((0|br(0|ar[l>>2],f))+h)|0,tr[v>>0]=w,v=b+(h+1+(0|br(0|ar[l>>2],f)))|0,tr[v>>0]=w,h=b+(h+2+(0|br(0|ar[l>>2],f)))|0,tr[h>>0]=w,(0|(e=e+1|0))!=(0|o););f=f+1|0}while((0|f)!=(0|a))}else{f=0;do{if(0|tr[n>>0]){if(r)for(e=0;h=s+((0|br(0|ar[c>>2],f))+e)|0,h=0|tr[h>>0],v=e<<2,w=b+((0|br(0|ar[l>>2],f))+v)|0,tr[w>>0]=h,w=b+((1|v)+(0|br(0|ar[l>>2],f)))|0,tr[w>>0]=h,w=b+((2|v)+(0|br(0|ar[l>>2],f)))|0,tr[w>>0]=h,v=b+((3|v)+(0|br(0|ar[l>>2],f)))|0,tr[v>>0]=-1,(0|(e=e+1|0))!=(0|o););}else if(r)for(e=0;w=s+((0|br(0|ar[c>>2],f))+e)|0,w=0|tr[w>>0],v=3*e|0,h=b+((0|br(0|ar[l>>2],f))+v)|0,tr[h>>0]=w,h=b+(v+1+(0|br(0|ar[l>>2],f)))|0,tr[h>>0]=w,v=b+(v+2+(0|br(0|ar[l>>2],f)))|0,tr[v>>0]=w,(0|(e=e+1|0))!=(0|o););f=f+1|0}while((0|f)!=(0|a))}ar[A>>2]=d,ar[A+4>>2]=k,ur=u},function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t,o,a=0,c=0,l=0,u=0;if(ur=(o=ur)+64|0,t=o+36|0,n=o+48|0,u=o,1==(0|ar[(r|=0)>>2])&&10==(-2&(a=0|ar[(c=r+4|0)>>2])|0))return 3<=((e=0|ar[(f=i+4|0)>>2])+-1|0)>>>0||0|(l=0|ar[i+16>>2])&&0==(0|or[l+8>>1])?(ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0):(ar[t>>2]=0,ar[(l=4+t|0)>>2]=0,11==((ar[8+t>>2]=0)|(e=10==(0|a)?(ar[u>>2]=0,ar[u+4>>2]=e,tr[u+8>>0]=0,tr[(e=u+9|0)>>0]=0|tr[n>>0],tr[e+1>>0]=0|tr[1+n>>0],tr[e+2>>0]=0|tr[2+n>>0],ar[u+12>>2]=8,ar[u+16>>2]=0,ar[(e=u+20|0)>>2]=0,gA[u+24>>2]=.75,gA[u+28>>2]=.5,gA[u+32>>2]=0,Nl(t,u),0|(e=0|ar[e>>2])&&du(e),0|ar[c>>2]):a))?(f=0|ar[f>>2],ar[u>>2]=0,ar[u+4>>2]=f,tr[u+8>>0]=1,tr[(f=u+9|0)>>0]=0|tr[n>>0],tr[f+1>>0]=0|tr[1+n>>0],tr[f+2>>0]=0|tr[2+n>>0],ar[u+12>>2]=8,ar[(f=u+16|0)>>2]=0,ar[(r=u+20|0)>>2]=0,gA[u+24>>2]=.75,gA[u+28>>2]=.5,(i=(gA[u+32>>2]=0)|ar[l>>2])>>>0>=(0|ar[(e=8+t|0)>>2])>>>0?(Nl(t,u),0|(f=0|ar[r>>2])&&du(f)):(ar[i>>2]=ar[u>>2],ar[i+4>>2]=ar[u+4>>2],ar[i+8>>2]=ar[u+8>>2],ar[i+12>>2]=ar[u+12>>2],ar[i+16>>2]=ar[f>>2],ar[i+20>>2]=ar[r>>2],ar[f>>2]=0,u=u+24|(ar[r>>2]=0),ar[(c=i+24|0)>>2]=ar[u>>2],ar[c+4>>2]=ar[u+4>>2],ar[c+8>>2]=ar[u+8>>2],ar[l>>2]=i+36)):e=8+t|0,ar[A>>2]=ar[t>>2],ar[A+4>>2]=ar[l>>2],ar[A+8>>2]=ar[e>>2],ar[e>>2]=0),void(ur=o);ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0,ur=o},function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t,o,a,c,l,u,b,s,d=0,k=0,h=0,w=0,v=0,m=0,g=0,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0,C=0,G=0,V=0,F=0,R=0,N=0;if(ur=(s=ur)+112|0,G=s+96|0,V=s+92|0,p=s+88|0,u=s+84|0,b=s+80|0,E=s+40|0,k=s,F=0|ar[(r|=0)>>2],l=0|ar[F+24>>2],F=0|ar[F+28>>2],f=0|hu(80),ar[f+4>>2]=0,ar[f+8>>2]=0,ar[f>>2]=6208,ar[(d=f+12|0)>>2]=0,ar[d+4>>2]=0,ar[d+8>>2]=0,ar[d+12>>2]=0,ar[d+16>>2]=0,ar[f+32>>2]=32215,ar[f+36>>2]=0,ar[f+40>>2]=0,ar[f+44>>2]=99,ar[f+48>>2]=99,e=f+52|0,ar[(C=f+72|0)>>2]=0,ar[f+76>>2]=0,ar[e>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,ar[e+12>>2]=0,ar[f+68>>2]=C,ar[A>>2]=d,C=(ar[A+4>>2]=f)+16|0,bu(f),su(f),e=0|ar[C>>2],ar[d>>2]=d,ar[C>>2]=f,0|e&&ku(e),du(f),W=0|go(X=0|ar[i+4>>2]),I=0|Zo(X),yo(d,l,F,0,X),X=(l-1+(W&=255)|0)/(0|W)|0,C=(F+-1+(I&=255)|0)/(0|I)|0,c=11==(0|ar[36+(0|ar[r>>2])>>2]),Bo(d,0,l,F,8),Bo(d,1,X,C,8),Bo(d,2,X,C,8),c&&Bo(d,6,l,F,8),ar[G>>2]=0,ar[V>>2]=0,ar[p>>2]=0,ar[u>>2]=0,C=(ar[b>>2]=0)|Ro(0|ar[r>>2],10,b),Z=0|Fo(d,0,p),o=0|Fo(d,1,G),a=0|Fo(d,2,V),X=c?0|Fo(d,6,u):0,Be(E),e=0|ar[i+16>>2])for(A=0|tr[e+10>>0],ye(k,0|or[e+8>>1],0|or[e+4>>1]),A=A<<24>>24!=0,e=k,f=(r=E)+40|0;ar[r>>2]=ar[e>>2],e=e+4|0,(0|(r=r+4|0))<(0|f););else A=1;if(g=c?4:3,t=0<(0|F)){i=0<(0|l),k=E+4|0,v=E+8|0,m=E+12|0,d=0;do{e=C+(0|br(0|ar[b>>2],d))|0;A:do{if(i){if(A)r=0;else for(f=0;;){if(y=0|ef(.8554700016975403*((0|cr[e>>0])*gA[k>>2]+(0|cr[e+1>>0])*gA[v>>2]+(0|cr[e+2>>0])*gA[m>>2])),B=Z+((0|br(0|ar[p>>2],d))+f)|0,tr[B>>0]=(0|y)<0?16:((0|y)<219?y:219)+16&255,(0|(f=f+1|0))==(0|l))break A;e=e+g|0}for(;f=(0|(f=0|ef((0|cr[e>>0])*gA[k>>2]+(0|cr[e+1>>0])*gA[v>>2]+(0|cr[e+2>>0])*gA[m>>2])))<0?0:255<(0|f)?-1:255&f,B=Z+((0|br(0|ar[p>>2],d))+r)|0,tr[B>>0]=f,(0|(r=r+1|0))!=(0|l);)e=e+g|0}}while(0);d=d+1|0}while((0|d)!=(0|F));if(t){B=0<(0|l),m=0|br(g,W),g=E+16|0,Z=E+20|0,p=E+24|0,n=E+28|0,y=E+32|0,v=E+36|0,k=0;do{if(B)for(i=C+((d=0)|br(0|ar[b>>2],k))|0;N=+(0|cr[i>>0]),R=+(0|cr[i+1>>0]),w=+(0|cr[i+2>>0]),h=N*gA[g>>2]+R*gA[Z>>2]+w*gA[p>>2],w=N*gA[n>>2]+R*gA[y>>2]+w*gA[v>>2],r=(f=A?(E=0|ef(h+128),r=(0|k)/(0|I)|0,e=(0|d)/(0|W)|0,f=o+((0|br(0|ar[G>>2],r))+e)|0,tr[f>>0]=(0|E)<0?0:255<(0|E)?-1:255&E,(0|(f=0|ef(w+128)))<0?0:255<(0|f)?-1:255&f):(E=0|ef(.875*h+128),r=(0|k)/(0|I)|0,e=(0|d)/(0|W)|0,f=o+((0|br(0|ar[G>>2],r))+e)|0,tr[f>>0]=(0|E)<0?0:255<(0|E)?-1:255&E,(0|(f=0|ef(.875*w+128)))<0?0:255<(0|f)?-1:255&f),0|br(0|ar[V>>2],r)),tr[a+(e+r)>>0]=f,!((0|l)<=(0|(d=d+W|0)));)i=i+m|0;k=k+I|0}while((0|k)<(0|F));if(c&t&0<(0|l)){e=0;do{for(f=0;G=C+((f<<2|3)+(0|br(0|ar[b>>2],e)))|0,V=X+((0|br(0|ar[u>>2],e))+f)|0,tr[V>>0]=0|tr[G>>0],(0|(f=f+1|0))!=(0|l););e=e+1|0}while((0|e)!=(0|F));ur=s}else ur=s}else ur=s}else ur=s},function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t,o=0,a=0,c=0,l=0;if(ur=(t=ur)+64|0,n=t+36|0,f=t+48|0,l=t,1==(0|ar[(r|=0)>>2])&&10==(-2&(o=0|ar[(a=r+4|0)>>2])|0))return!(e=0|ar[i+16>>2])||0|or[e+8>>1]||0|(c=0|ar[r+16>>2])&&0==(0|tr[c+10>>0])?(ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0):(ar[n>>2]=0,ar[(c=4+n|0)>>2]=0,11==((ar[8+n>>2]=0)|(e=10==(0|o)?(ar[l>>2]=0,ar[l+4>>2]=3,tr[l+8>>0]=0,tr[(e=l+9|0)>>0]=0|tr[f>>0],tr[e+1>>0]=0|tr[f+1>>0],tr[e+2>>0]=0|tr[f+2>>0],ar[l+12>>2]=8,ar[l+16>>2]=0,ar[(e=l+20|0)>>2]=0,gA[l+24>>2]=.75,gA[l+28>>2]=.5,gA[l+32>>2]=0,Nl(n,l),0|(e=0|ar[e>>2])&&du(e),0|ar[a>>2]):o))?(ar[l>>2]=0,ar[l+4>>2]=3,tr[l+8>>0]=1,tr[(i=l+9|0)>>0]=0|tr[f>>0],tr[i+1>>0]=0|tr[f+1>>0],tr[i+2>>0]=0|tr[f+2>>0],ar[l+12>>2]=8,ar[(f=l+16|0)>>2]=0,ar[(i=l+20|0)>>2]=0,gA[l+24>>2]=.75,gA[l+28>>2]=.5,(r=(gA[l+32>>2]=0)|ar[c>>2])>>>0>=(0|ar[(e=8+n|0)>>2])>>>0?(Nl(n,l),0|(f=0|ar[i>>2])&&du(f)):(ar[r>>2]=ar[l>>2],ar[r+4>>2]=ar[l+4>>2],ar[r+8>>2]=ar[l+8>>2],ar[r+12>>2]=ar[l+12>>2],ar[r+16>>2]=ar[f>>2],ar[r+20>>2]=ar[i>>2],ar[f>>2]=0,l=l+24|(ar[i>>2]=0),ar[(a=r+24|0)>>2]=ar[l>>2],ar[a+4>>2]=ar[l+4>>2],ar[a+8>>2]=ar[l+8>>2],ar[c>>2]=r+36)):e=8+n|0,ar[A>>2]=ar[n>>2],ar[A+4>>2]=ar[c>>2],ar[A+8>>2]=ar[e>>2],ar[e>>2]=0),void(ur=t);ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0,ur=t},function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t,o,a,c,l,u,b,s=0,d=0,k=0,h=0,w=0,v=0,m=0;if(ur=(b=ur)+32|0,a=b+16|0,c=b+12|0,l=b+8|0,k=b+4|0,u=b,h=0|ar[(r|=0)>>2],o=0|ar[h+24>>2],h=0|ar[h+28>>2],f=0|hu(80),ar[f+4>>2]=0,ar[f+8>>2]=0,ar[f>>2]=6208,ar[(s=f+12|0)>>2]=0,ar[s+4>>2]=0,ar[s+8>>2]=0,ar[s+12>>2]=0,ar[s+16>>2]=0,ar[f+32>>2]=32215,ar[f+36>>2]=0,ar[f+40>>2]=0,ar[f+44>>2]=99,ar[f+48>>2]=99,e=f+52|0,ar[(d=f+72|0)>>2]=0,ar[f+76>>2]=0,ar[e>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,ar[e+12>>2]=0,ar[f+68>>2]=d,ar[A>>2]=s,d=(ar[A+4>>2]=f)+16|0,bu(f),su(f),e=0|ar[d>>2],ar[s>>2]=s,ar[d>>2]=f,0|e&&ku(e),du(f),yo(s,o,h,0,3),f=11==(0|ar[36+(0|ar[r>>2])>>2]),Bo(s,0,o,h,8),Bo(s,1,o,h,8),Bo(s,2,o,h,8),f&&Bo(s,6,o,h,8),ar[a>>2]=0,ar[c>>2]=0,ar[l>>2]=0,ar[k>>2]=0,r=(ar[u>>2]=0)|Ro(0|ar[r>>2],10,u),n=0|Fo(s,0,l),t=0|Fo(s,1,a),d=0|Fo(s,2,c),A=f?0|Fo(s,6,k):0,(e=0|ar[i+16>>2])||sr(32569,32248,2161,32272),0|or[e+8>>1]&&sr(32595,32248,2162,32272),e=0<(0|h)&0<(0|o),f){if(!e)return void(ur=b);f=0;do{for(e=0;m=(0|br(0|ar[u>>2],f))+(e<<2)|0,w=0|tr[r+m>>0],v=0|tr[r+(m+2)>>0],s=0|tr[r+(m+3)>>0],i=n+((0|br(0|ar[l>>2],f))+e)|0,tr[i>>0]=0|tr[r+(m+1)>>0],i=t+((0|br(0|ar[a>>2],f))+e)|0,tr[i>>0]=v,i=d+((0|br(0|ar[c>>2],f))+e)|0,tr[i>>0]=w,i=A+((0|br(0|ar[k>>2],f))+e)|0,tr[i>>0]=s,(0|(e=e+1|0))!=(0|o););f=f+1|0}while((0|f)!=(0|h));ur=b}else if(e){e=0;do{for(f=0;k=(0|br(0|ar[u>>2],e))+(3*f|0)|0,v=0|tr[r+k>>0],w=0|tr[r+(k+2)>>0],m=n+((0|br(0|ar[l>>2],e))+f)|0,tr[m>>0]=0|tr[r+(k+1)>>0],m=t+((0|br(0|ar[a>>2],e))+f)|0,tr[m>>0]=w,m=d+((0|br(0|ar[c>>2],e))+f)|0,tr[m>>0]=v,(0|(f=f+1|0))!=(0|o););e=e+1|0}while((0|e)!=(0|h));ur=b}else ur=b},function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t,o,a,c,l=0,u=0;if(ur=(c=ur)+64|0,a=c+36|0,n=c+48|0,o=c,(t=0|ar[(r|=0)+4>>2])>>>0<4&&0|tr[r+8>>0]&&0==(0|tr[i+8>>0])){if(ar[a>>2]=0,ar[(u=4+a|0)>>2]=0,e=(ar[8+a>>2]=0)|ar[r>>2],f=r+9|0,tr[n>>0]=0|tr[f>>0],tr[1+n>>0]=0|tr[f+1>>0],tr[2+n>>0]=0|tr[f+2>>0],f=0|ar[r+12>>2],i=0|ar[r+16>>2],(l=0==(0|(r=0|ar[r+20>>2])))||bu(r),ar[o>>2]=e,ar[o+4>>2]=t,tr[o+8>>0]=0,tr[(e=o+9|0)>>0]=0|tr[n>>0],tr[e+1>>0]=0|tr[1+n>>0],tr[e+2>>0]=0|tr[2+n>>0],ar[o+12>>2]=f,ar[o+16>>2]=i,ar[(e=o+20|0)>>2]=r,l||bu(r),gA[o+24>>2]=.10000000149011612,gA[o+28>>2]=0,f=8+a|(gA[o+32>>2]=0),Nl(a,o),0|(e=0|ar[e>>2])&&du(e),ar[A>>2]=ar[a>>2],ar[A+4>>2]=ar[u>>2],ar[A+8>>2]=ar[f>>2],ar[f>>2]=0,ar[u>>2]=0,ar[a>>2]=0,!l&&(du(r),0|(e=0|ar[a>>2]))){if((0|(f=0|ar[u>>2]))!=(0|e)){for(;i=f+-36|0,ar[u>>2]=i,(0|(f=(f=0|ar[f+-16>>2])?(du(f),0|ar[u>>2]):i))!=(0|e););e=0|ar[a>>2]}vu(e)}ur=c}else ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0,ur=c},function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t=0,o=0;t=0|ar[(r|=0)>>2],n=0|ar[t+24>>2],t=0|ar[t+28>>2],i=0|hu(80),ar[i+4>>2]=0,ar[i+8>>2]=0,ar[i>>2]=6208,ar[(f=i+12|0)>>2]=0,ar[f+4>>2]=0,ar[f+8>>2]=0,ar[f+12>>2]=0,ar[f+16>>2]=0,ar[i+32>>2]=32215,ar[i+36>>2]=0,ar[i+40>>2]=0,ar[i+44>>2]=99,ar[i+48>>2]=99,o=i+52|0,ar[(e=i+72|0)>>2]=0,ar[i+76>>2]=0,ar[o>>2]=0,ar[o+4>>2]=0,ar[o+8>>2]=0,ar[o+12>>2]=0,ar[i+68>>2]=e,ar[A>>2]=f,A=(ar[A+4>>2]=i)+16|0,bu(i),su(i),e=0|ar[A>>2],ar[f>>2]=f,ar[A>>2]=i,0|e&&ku(e),du(i),o=0|ar[r>>2],yo(f,n,t,0|ar[o+32>>2],0|ar[o+36>>2]),0|Eo(0|ar[r>>2],0)&&No(f,r,0,0),0|Eo(0|ar[r>>2],1)&&No(f,r,1,1),0|Eo(0|ar[r>>2],2)&&No(f,r,2,2),0|Eo(0|ar[r>>2],3)&&No(f,r,3,3),0|Eo(0|ar[r>>2],4)&&No(f,r,4,4),0|Eo(0|ar[r>>2],5)&&No(f,r,5,5)},function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t,o,a,c=0,l=0,u=0,b=0;if(ur=(a=ur)+64|0,o=a+36|0,c=a+48|0,t=a,(n=0|ar[(r|=0)+4>>2])>>>0<4&&8==(0|ar[r+12>>2])){if(ar[o>>2]=0,ar[(b=4+o|0)>>2]=0,e=(ar[8+o>>2]=0)|ar[r>>2],f=0|tr[r+8>>0],l=r+9|0,tr[c>>0]=0|tr[l>>0],tr[c+1>>0]=0|tr[l+1>>0],tr[c+2>>0]=0|tr[l+2>>0],l=0|ar[r+16>>2],(u=0==(0|(r=0|ar[r+20>>2])))||bu(r),i=0|ar[i+12>>2],ar[t>>2]=e,ar[t+4>>2]=n,tr[t+8>>0]=f,tr[(e=t+9|0)>>0]=0|tr[c>>0],tr[e+1>>0]=0|tr[c+1>>0],tr[e+2>>0]=0|tr[c+2>>0],ar[t+12>>2]=i,ar[t+16>>2]=l,ar[(e=t+20|0)>>2]=r,u||bu(r),gA[t+24>>2]=.20000000298023224,gA[t+28>>2]=0,gA[t+32>>2]=.5,f=8+o|0,Nl(o,t),0|(e=0|ar[e>>2])&&du(e),ar[A>>2]=ar[o>>2],ar[A+4>>2]=ar[b>>2],ar[A+8>>2]=ar[f>>2],ar[f>>2]=0,ar[b>>2]=0,ar[o>>2]=0,!u&&(du(r),0|(e=0|ar[o>>2]))){if((0|(f=0|ar[b>>2]))!=(0|e)){for(;c=f+-36|0,ar[b>>2]=c,(0|(f=(f=0|ar[f+-16>>2])?(du(f),0|ar[b>>2]):c))!=(0|e););e=0|ar[o>>2]}vu(e)}ur=a}else ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0,ur=a},function(A,e,r,i,f){A|=0,e|=0,r|=0,i|=0,f|=0;var n,t,o,a,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0,w=0,v=0,m=0;ur=(a=ur)+16|0,t=a+4|0,o=a,f=0|hu(80),ar[f+4>>2]=0,ar[f+8>>2]=0,ar[f>>2]=6208,ar[(n=f+12|0)>>2]=0,ar[4+n>>2]=0,ar[8+n>>2]=0,ar[12+n>>2]=0,ar[16+n>>2]=0,ar[f+32>>2]=32215,ar[f+36>>2]=0,ar[f+40>>2]=0,ar[f+44>>2]=99,ar[f+48>>2]=99,e=f+52|0,ar[(u=f+72|0)>>2]=0,ar[f+76>>2]=0,ar[e>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,ar[e+12>>2]=0,ar[f+68>>2]=u,ar[A>>2]=n,u=(ar[A+4>>2]=f)+16|0,bu(f),su(f),e=0|ar[u>>2],ar[n>>2]=n,ar[u>>2]=f,0|e&&ku(e),du(f),u=0|ar[r>>2],yo(n,0|ar[u+24>>2],0|ar[u+28>>2],0|ar[u+32>>2],0|ar[u+36>>2]),u=i+12|0,l=6796;do{if(e=0|ar[l>>2],0|Eo(0|ar[r>>2],e)&&(Bo(n,e,b=0|Xo(0|ar[r>>2],e),s=0|Wo(0|ar[r>>2],e),0|ar[u>>2]),d=255&(0|Vo(0|ar[r>>2],e)),k=8-(d=(0|ar[u>>2])-d|0)|0,h=0|Ro(0|ar[r>>2],e,t),w=0|Fo(n,e,o),v=(0|ar[o>>2])/2|0,ar[o>>2]=v,0<(0|s)&0<(0|b))){A=0|ar[t>>2],f=0;do{for(i=0|br(A,f),c=0|br(v,f),e=0;m=0|cr[h+(i+e)>>0],or[w+(c+e<<1)>>1]=m<<d|m>>>k,(0|(e=e+1|0))!=(0|b););f=f+1|0}while((0|f)!=(0|s))}l=l+4|0}while(6824!=(0|l));ur=a},function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t,o,a,c=0,l=0,u=0;if(ur=(a=ur)+64|0,o=a+36|0,f=a+48|0,t=a,(n=0|ar[(r|=0)+4>>2])>>>0<4&&8!=(0|ar[r+12>>2])){if(ar[o>>2]=0,ar[(u=4+o|0)>>2]=0,e=(ar[8+o>>2]=0)|ar[r>>2],i=0|tr[r+8>>0],c=r+9|0,tr[f>>0]=0|tr[c>>0],tr[f+1>>0]=0|tr[c+1>>0],tr[f+2>>0]=0|tr[c+2>>0],c=0|ar[r+16>>2],(l=0==(0|(r=0|ar[r+20>>2])))||bu(r),ar[t>>2]=e,ar[t+4>>2]=n,tr[t+8>>0]=i,tr[(e=t+9|0)>>0]=0|tr[f>>0],tr[e+1>>0]=0|tr[f+1>>0],tr[e+2>>0]=0|tr[f+2>>0],ar[t+12>>2]=8,ar[t+16>>2]=c,ar[(e=t+20|0)>>2]=r,l||bu(r),gA[t+24>>2]=.20000000298023224,gA[t+28>>2]=0,gA[t+32>>2]=.5,i=8+o|0,Nl(o,t),0|(e=0|ar[e>>2])&&du(e),ar[A>>2]=ar[o>>2],ar[A+4>>2]=ar[u>>2],ar[A+8>>2]=ar[i>>2],ar[i>>2]=0,ar[u>>2]=0,ar[o>>2]=0,!l&&(du(r),0|(e=0|ar[o>>2]))){if((0|(i=0|ar[u>>2]))!=(0|e)){for(;f=i+-36|0,ar[u>>2]=f,(0|(i=(i=0|ar[i+-16>>2])?(du(i),0|ar[u>>2]):f))!=(0|e););e=0|ar[o>>2]}vu(e)}ur=a}else ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0,ur=a},function(A,e,r,i,f){A|=0,e|=0,r|=0,i|=0,f|=0;var n,t,o,a,c=0,l=0,u=0,b=0,s=0,d=0;ur=(a=ur)+16|0,t=a+4|0,o=a,i=0|hu(80),ar[i+4>>2]=0,ar[i+8>>2]=0,ar[i>>2]=6208,ar[(n=i+12|0)>>2]=0,ar[4+n>>2]=0,ar[8+n>>2]=0,ar[12+n>>2]=0,ar[16+n>>2]=0,ar[i+32>>2]=32215,ar[i+36>>2]=0,ar[i+40>>2]=0,ar[i+44>>2]=99,ar[i+48>>2]=99,f=i+52|0,ar[(e=i+72|0)>>2]=0,ar[i+76>>2]=0,ar[f>>2]=0,ar[f+4>>2]=0,ar[f+8>>2]=0,ar[f+12>>2]=0,ar[i+68>>2]=e,ar[A>>2]=n,A=(ar[A+4>>2]=i)+16|0,bu(i),su(i),e=0|ar[A>>2],ar[n>>2]=n,ar[A>>2]=i,0|e&&ku(e),du(i),f=0|ar[r>>2],yo(n,0|ar[f+24>>2],0|ar[f+28>>2],0|ar[f+32>>2],0|ar[f+36>>2]),f=6848;do{if(e=0|ar[f>>2],0|Eo(0|ar[r>>2],e)&&(Bo(n,e,c=0|Xo(0|ar[r>>2],e),l=0|Wo(0|ar[r>>2],e),8),u=(255&(0|Vo(0|ar[r>>2],e)))-8|0,b=0|Ro(0|ar[r>>2],e,t),ar[t>>2]=(0|ar[t>>2])/2|0,s=0|Fo(n,e,o),0<(0|l)&0<(0|c))){e=0;do{for(i=0;d=b+((0|br(0|ar[t>>2],e))+i<<1)|0,A=s+((0|br(0|ar[o>>2],e))+i)|0,tr[A>>0]=(0|lr[d>>1])>>>u,(0|(i=i+1|0))!=(0|c););e=e+1|0}while((0|e)!=(0|l))}f=f+4|0}while(6876!=(0|f));ur=a},function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t,o=0;if(ur=(t=ur)+48|0,n=t+36|0,f=t,1==(0|ar[(r|=0)>>2])&&12==(-4&ar[r+4>>2]|0)&&8!=(0|(o=0|ar[r+12>>2]))){if(0|(e=0|ar[r+16>>2])){switch(0|or[e+8>>1]){case 0:case 8:case 11:case 14:return ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0,void(ur=t)}if(!(0|tr[e+10>>0]))return ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0,void(ur=t)}return ar[n>>2]=0,ar[(i=4+n|0)>>2]=0,e=(ar[8+n>>2]=0)|tr[r+8>>0],ar[f>>2]=0,ar[f+4>>2]=1,tr[f+8>>0]=e,ar[f+12>>2]=o,ar[f+16>>2]=0,ar[(e=f+20|0)>>2]=0,gA[f+24>>2]=.5,gA[f+28>>2]=0,gA[f+32>>2]=0,Nl(n,f),0|(e=0|ar[e>>2])&&du(e),ar[A>>2]=ar[n>>2],ar[A+4>>2]=ar[i>>2],ar[A+8>>2]=ar[8+n>>2],void(ur=t)}ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0,ur=t},function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t,o,a,c,l,u,b,s,d,k,h,w,v,m,g,Z,p,y,B=0,E=0,X=0,W=0,I=0,C=0,G=0,V=0,F=0,R=0,N=0,_=0,Y=0,Q=0,D=0,J=0,M=0,T=0,U=0,S=0,O=0,z=0,j=0,H=0,x=0,P=0,L=0,K=0,q=0;if(ur=(y=ur)+112|0,g=y+96|0,a=y+92|0,Z=y+88|0,p=y+84|0,c=y+80|0,b=y+40|0,X=y,E=0|ar[(r|=0)>>2],v=0|ar[E+24>>2],m=0|ar[E+28>>2],E=255&(0|Vo(E,10)),o=15==(2|ar[36+(0|ar[r>>2])>>2]),f=0|hu(80),ar[f+4>>2]=0,ar[f+8>>2]=0,ar[f>>2]=6208,ar[(B=f+12|0)>>2]=0,ar[B+4>>2]=0,ar[B+8>>2]=0,ar[B+12>>2]=0,ar[B+16>>2]=0,ar[f+32>>2]=32215,ar[f+36>>2]=0,ar[f+40>>2]=0,ar[f+44>>2]=99,ar[f+48>>2]=99,e=f+52|0,ar[(K=f+72|0)>>2]=0,ar[f+76>>2]=0,ar[e>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,ar[e+12>>2]=0,ar[f+68>>2]=K,ar[A>>2]=B,K=(ar[A+4>>2]=f)+16|0,bu(f),su(f),e=0|ar[K>>2],ar[B>>2]=B,ar[K>>2]=f,0|e&&ku(e),du(f),yo(B,v,m,0,1),h=o?8:6,L=(1+v|0)/2|0,K=(1+m|0)/2|0,Bo(B,0,v,m,E),Bo(B,1,L,K,E),Bo(B,2,L,K,E),o&&Bo(B,6,v,m,E),ar[g>>2]=0,ar[a>>2]=0,ar[Z>>2]=0,ar[p>>2]=0,w=(ar[c>>2]=0)|Ro(0|ar[r>>2],10,g),n=0|Fo(B,0,a),L=0|Fo(B,1,Z),K=0|Fo(B,2,p),x=o?0|Fo(B,6,c):0,ar[a>>2]=(0|ar[a>>2])/2|0,ar[Z>>2]=(0|ar[Z>>2])/2|0,ar[p>>2]=(0|ar[p>>2])/2|0,ar[c>>2]=(0|ar[c>>2])/2|0,l=1<<E+-1,u=(k=1<<E)-1|0,P=0|ar[r>>2],s=1&(t=15==(1|ar[P+36>>2])),e=0|ar[P+40>>2],(d=0==(0|(P=0|ar[P+44>>2])))||bu(P),Be(b),e)for(A=0|tr[10+(0|ar[i+16>>2])>>0],ye(X,0|or[e+8>>1],0|or[e+4>>1]),A=A<<24>>24!=0,e=X,f=(B=b)+40|0;ar[B>>2]=ar[e>>2],e=e+4|0,(0|(B=B+4|0))<(0|f););else A=1;if(r=0<(0|m)){X=0<(0|v),i=1^s,G=t?3:2,V=3^s,F=t?5:4,R=5-s|0,N=4+b|0,_=8+b|0,Y=12+b|0,Q=t?7:6,D=7^s,J=65535&u,E=0;do{if(X)if(W=+gA[N>>2],I=+gA[_>>2],C=+gA[Y>>2],M=0|br(0|ar[g>>2],E),A)for(f=0;B=w+(M+(0|br(f,h)))|0,e=(0|(e=0|ef(((0|cr[B+s>>0])<<8|0|cr[B+i>>0]|0)*W+((0|cr[B+G>>0])<<8|0|cr[B+V>>0]|0)*I+((0|cr[B+F>>0])<<8|0|cr[B+R>>0]|0)*C)))<0?0:(0|e)<(0|k)?65535&e:J,q=n+((0|br(0|ar[a>>2],E))+f<<1)|0,or[q>>1]=e,o&&(q=x+((0|br(0|ar[c>>2],E))+f<<1)|0,or[q>>1]=(0|cr[B+Q>>0])<<8|0|cr[B+D>>0]),(0|(f=f+1|0))!=(0|v););else for(f=0;B=w+(M+(0|br(f,h)))|0,e=(0|(e=0|ef(.8554700016975403*(((0|cr[B+s>>0])<<8|0|cr[B+i>>0]|0)*W+((0|cr[B+G>>0])<<8|0|cr[B+V>>0]|0)*I+((0|cr[B+F>>0])<<8|0|cr[B+R>>0]|0)*C)+16)))<0?0:(0|e)<(0|k)?65535&e:J,q=n+((0|br(0|ar[a>>2],E))+f<<1)|0,or[q>>1]=e,o&&(q=x+((0|br(0|ar[c>>2],E))+f<<1)|0,or[q>>1]=(0|cr[B+Q>>0])<<8|0|cr[B+D>>0]),(0|(f=f+1|0))!=(0|v););E=E+1|0}while((0|E)!=(0|m));if(r){D=0<(0|v),J=1^s,M=t?3:2,x=3^s,V=t?5:4,F=5-s|0,R=16+b|0,N=20+b|0,_=24+b|0,Y=28+b|0,Q=32+b|0,G=36+b|0,H=+(65535&l|0),r=65535&u,E=0;do{if(D)if(X=(0|E)/2|0,T=+gA[R>>2],U=+gA[N>>2],S=+gA[_>>2],O=+gA[Y>>2],z=+gA[Q>>2],j=+gA[G>>2],i=0|br(0|ar[g>>2],E),A)for(B=0;e=w+(i+(0|br(B,h)))|0,e=(0|(e=0|ef(H+((W=+((0|cr[e+s>>0])<<8|0|cr[e+J>>0]|0))*T+(I=+((0|cr[e+M>>0])<<8|0|cr[e+x>>0]|0))*U+(C=+((0|cr[e+V>>0])<<8|0|cr[e+F>>0]|0))*S))))<0?0:(0|e)<(0|k)?65535&e:r,f=(0|B)/2|0,q=L+((0|br(0|ar[Z>>2],X))+f<<1)|0,or[q>>1]=e,e=(0|(e=0|ef(H+(W*O+I*z+C*j))))<0?0:(0|e)<(0|k)?65535&e:r,q=K+((0|br(0|ar[p>>2],X))+f<<1)|0,or[q>>1]=e,(0|(B=B+2|0))<(0|v););else for(B=0;e=w+(i+(0|br(B,h)))|0,e=(0|(e=0|ef(H+.8554700016975403*((W=+((0|cr[e+s>>0])<<8|0|cr[e+J>>0]|0))*T+(I=+((0|cr[e+M>>0])<<8|0|cr[e+x>>0]|0))*U+(C=+((0|cr[e+V>>0])<<8|0|cr[e+F>>0]|0))*S))))<0?0:(0|e)<(0|k)?65535&e:r,f=(0|B)/2|0,q=L+((0|br(0|ar[Z>>2],X))+f<<1)|0,or[q>>1]=e,e=(0|(e=0|ef(H+.8554700016975403*(W*O+I*z+C*j))))<0?0:(0|e)<(0|k)?65535&e:r,q=K+((0|br(0|ar[p>>2],X))+f<<1)|0,or[q>>1]=e,(0|(B=B+2|0))<(0|v););E=E+2|0}while((0|E)<(0|m))}}ur=(d||du(P),y)},function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t,o=0,a=0,c=0,l=0;if(ur=(t=ur)+64|0,n=t+36|0,f=t+48|0,l=t,0==(0|ar[(r|=0)>>2])&&1==(0|ar[r+4>>2])&&8!=(0|(o=0|ar[(a=r+12|0)>>2]))){e=0|ar[r+16>>2];A:do{if(0|e){switch(0|or[e+8>>1]){case 0:case 8:case 11:case 14:break;default:break A}return ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0,void(ur=t)}}while(0);return ar[n>>2]=0,ar[(c=4+n|0)>>2]=0,e=(ar[8+n>>2]=0)|tr[(i=r+8|0)>>0],ar[l>>2]=1,ar[l+4>>2]=e<<24>>24?15:14,tr[l+8>>0]=e,ar[l+12>>2]=o,ar[l+16>>2]=0,ar[(e=l+20|0)>>2]=0,gA[l+24>>2]=.5,gA[l+28>>2]=0,r=8+n|(gA[l+32>>2]=0),Nl(n,l),0|(e=0|ar[e>>2])&&du(e),i=0|tr[i>>0],e=0|ar[a>>2],ar[l>>2]=1,ar[l+4>>2]=i<<24>>24?13:12,tr[l+8>>0]=i,tr[(i=l+9|0)>>0]=0|tr[f>>0],tr[i+1>>0]=0|tr[f+1>>0],tr[i+2>>0]=0|tr[f+2>>0],ar[l+12>>2]=e,ar[(e=l+16|0)>>2]=0,ar[(i=l+20|0)>>2]=0,gA[l+24>>2]=.5,gA[l+28>>2]=0,(f=(gA[l+32>>2]=0)|ar[c>>2])>>>0>=(0|ar[r>>2])>>>0?(Nl(n,l),0|(e=0|ar[i>>2])&&du(e)):(ar[f>>2]=ar[l>>2],ar[f+4>>2]=ar[l+4>>2],ar[f+8>>2]=ar[l+8>>2],ar[f+12>>2]=ar[l+12>>2],ar[f+16>>2]=ar[e>>2],ar[f+20>>2]=ar[i>>2],ar[e>>2]=0,l=l+24|(ar[i>>2]=0),ar[(a=f+24|0)>>2]=ar[l>>2],ar[a+4>>2]=ar[l+4>>2],ar[a+8>>2]=ar[l+8>>2],ar[c>>2]=f+36),ar[A>>2]=ar[n>>2],ar[A+4>>2]=ar[c>>2],ar[A+8>>2]=ar[r>>2],void(ur=t)}ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0,ur=t},function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t,o,a,c,l,u,b,s,d,k,h,w,v,m,g,Z=0,p=0,y=0,B=0,E=0,X=0,W=0,I=0,C=0,G=0,V=0,F=0,R=0,N=0,_=0,Y=0,Q=0,D=0,J=0,M=0,T=0,U=0,S=0,O=0,z=0,j=0,H=0,x=0;if(ur=(g=ur)+64|0,k=g+56|0,h=g+52|0,w=g+48|0,v=g+44|0,m=g+40|0,B=g+20|0,p=g,y=0|ar[(r|=0)>>2],b=0|ar[y+24>>2],s=0|ar[y+28>>2],y=255&(0|Vo(y,0)),d=0|Eo(0|ar[r>>2],6),u=1&(X=15==(1|ar[(f=i+4|0)>>2])),W=X<<31>>31,i=0|hu(80),ar[i+4>>2]=0,ar[i+8>>2]=0,ar[i>>2]=6208,ar[(Z=i+12|0)>>2]=0,ar[Z+4>>2]=0,ar[Z+8>>2]=0,ar[Z+12>>2]=0,ar[Z+16>>2]=0,ar[i+32>>2]=32215,ar[i+36>>2]=0,ar[i+40>>2]=0,ar[i+44>>2]=99,ar[i+48>>2]=99,e=i+52|0,ar[(j=i+72|0)>>2]=0,ar[i+76>>2]=0,ar[e>>2]=0,ar[e+4>>2]=0,ar[e+8>>2]=0,ar[e+12>>2]=0,ar[i+68>>2]=j,ar[A>>2]=Z,j=(ar[A+4>>2]=i)+16|0,bu(i),su(i),e=0|ar[j>>2],ar[Z>>2]=Z,ar[j>>2]=i,0|e&&ku(e),du(i),yo(Z,b,s,1,0|ar[f>>2]),j=d?8:6,Bo(Z,10,b,s,y),d&&Bo(Z,6,b,s,y),ar[k>>2]=0,ar[h>>2]=0,ar[w>>2]=0,ar[v>>2]=0,t=(ar[m>>2]=0)|Fo(Z,10,k),o=0|Ro(0|ar[r>>2],0,h),a=0|Ro(0|ar[r>>2],1,w),c=0|Ro(0|ar[r>>2],2,v),z=d?0|Ro(0|ar[r>>2],6,m):0,f=(l=1<<y)-1|0,Ze(B),O=0|ar[r>>2],e=0|ar[O+40>>2],(n=0==(0|(O=0|ar[O+44>>2])))||bu(O),U=e?(U=0|tr[e+10>>0],pe(p,0|or[e+8>>1],0|or[e+4>>1]),ar[B>>2]=ar[p>>2],ar[B+4>>2]=ar[p+4>>2],ar[B+8>>2]=ar[p+8>>2],ar[B+12>>2]=ar[p+12>>2],ar[B+16>>2]=ar[p+16>>2],U<<24>>24!=0):1,0<(0|s)){S=0<(0|b),D=1<<y+-1,J=B+4|0,M=B+8|0,T=B+12|0,F=B+16|0,R=X?3:2,N=X?5:4,_=W+1|0,Y=W+3|0,Q=W+5|0,V=X?7:6,W=W+7|0,G=255&f,X=(65535&f)>>>8&255,y=0;do{if(S)for(B=(0|y)/2|0,p=0;e=o+(((0|br(0|ar[h>>2],y))/2|0)+p<<1)|0,I=+(0|lr[e>>1]),e=(0|p)/2|0,r=a+(((0|br(0|ar[w>>2],B))/2|0)+e<<1)|0,C=+((0|lr[r>>1])-D|0),e=c+(((0|br(0|ar[v>>2],B))/2|0)+e<<1)|0,E=+((0|lr[e>>1])-D|0),C=U?C:1.142899990081787*C,E=U?E:1.142899990081787*E,A=0<=(0|(e=0|ef((I=U?I:1.1689000129699707*(I+-16))+gA[J>>2]*E)))?(0|e)<(0|l)?(r=255&e,(65535&e)>>>8&255):(r=G,X):r=0,i=0<=(0|(e=0|ef(I+C*gA[M>>2]-E*gA[T>>2])))?(0|e)<(0|l)?(Z=255&e,(65535&e)>>>8&255):(Z=G,X):Z=0,e=0<=(0|(e=0|ef(I+C*gA[F>>2])))?(0|e)<(0|l)?(f=255&e,(65535&e)>>>8&255):(f=G,X):f=0,x=t+(((H=0|br(p,j))|u)+(0|br(0|ar[k>>2],y)))|0,tr[x>>0]=A,A=t+(R+H+(0|br(0|ar[k>>2],y)))|0,tr[A>>0]=i,A=t+(N+H+(0|br(0|ar[k>>2],y)))|0,tr[A>>0]=e,A=t+(_+H+(0|br(0|ar[k>>2],y)))|0,tr[A>>0]=r,r=t+(Y+H+(0|br(0|ar[k>>2],y)))|0,tr[r>>0]=Z,r=t+(Q+H+(0|br(0|ar[k>>2],y)))|0,tr[r>>0]=f,d&&(r=z+(((0|br(0|ar[m>>2],y))/2|0)+p<<1)|0,H=t+((V|(x=p<<3))+(0|br(0|ar[k>>2],y)))|0,tr[H>>0]=(0|lr[r>>1])>>>8,H=z+(((0|br(0|ar[m>>2],y))/2|0)+p<<1)|0,x=t+(W+x+(0|br(0|ar[k>>2],y)))|0,tr[x>>0]=or[H>>1]),(0|(p=p+1|0))!=(0|b););y=y+1|0}while((0|y)!=(0|s))}ur=(n||du(O),g)},function(A,e,r,i,f){var n,t;return A|=0,e|=0,i|=0,f|=0,ur=(t=ur)+48|0,n=t+36|0,e=t,8==(0|(i=0|ar[(r|=0)+12>>2]))||0|ar[r>>2]?(ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0):(ar[n>>2]=0,ar[(f=4+n|0)>>2]=0,r=(ar[8+n>>2]=0)|tr[r+8>>0],ar[e>>2]=1,ar[e+4>>2]=3,tr[e+8>>0]=r,ar[e+12>>2]=i,ar[e+16>>2]=0,ar[(r=e+20|0)>>2]=0,gA[e+24>>2]=.5,gA[e+28>>2]=0,gA[e+32>>2]=0,Nl(n,e),0|(e=0|ar[r>>2])&&du(e),ar[A>>2]=ar[n>>2],ar[A+4>>2]=ar[f>>2],ar[A+8>>2]=ar[8+n>>2]),void(ur=t)},function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t,o,a,c,l,u,b,s,d,k,h,w,v,m,g,Z,p,y,B,E,X,W,I=0,C=0,G=0,V=0,F=0,R=0,N=0,_=0,Y=0,Q=0,D=0,J=0,M=0,T=0,U=0,S=0,O=0,z=0,j=0,H=0,x=0,P=0,L=0,K=0,q=0,$=0,AA=0,eA=0,rA=0,iA=0,fA=0,nA=0;if(ur=(W=ur)+80|0,p=W+68|0,y=W+64|0,B=W+60|0,E=W+56|0,X=W+52|0,v=W+48|0,m=W+44|0,g=W+40|0,R=W+20|0,V=W,e=0|ar[(r|=0)>>2],G=0|ar[e+36>>2],F=255&(e=0|Vo(e,0)),i=0|Vo(0|ar[r>>2],1),f=0|Vo(0|ar[r>>2],2),I=(Z=0|Eo(0|ar[r>>2],6))?255&(0|Vo(0|ar[r>>2],6)):0,e<<24>>24==8|i<<24>>24==8|f<<24>>24==8)return ar[A>>2]=0,ar[A+4>>2]=0,void(ur=W);if(e<<24>>24!=i<<24>>24||e<<24>>24!=f<<24>>24)return ar[A>>2]=0,ar[A+4>>2]=0,void(ur=W);if(e=0|ar[r>>2],C=0|ar[e+40>>2],(w=0==(0|(h=0|ar[e+44>>2])))||(bu(h),e=0|ar[r>>2]),k=0|ar[e+24>>2],d=0|ar[e+28>>2],i=0|hu(80),ar[i+4>>2]=0,ar[i+8>>2]=0,ar[i>>2]=6208,ar[(f=i+12|0)>>2]=0,ar[f+4>>2]=0,ar[f+8>>2]=0,ar[f+12>>2]=0,ar[f+16>>2]=0,ar[i+32>>2]=32215,ar[i+36>>2]=0,ar[i+40>>2]=0,ar[i+44>>2]=99,ar[i+48>>2]=99,nA=i+52|0,ar[(fA=i+72|0)>>2]=0,ar[i+76>>2]=0,ar[nA>>2]=0,ar[nA+4>>2]=0,ar[nA+8>>2]=0,ar[nA+12>>2]=0,ar[i+68>>2]=fA,fA=f,iA=(nA=i)+16|0,bu(i),su(i),e=0|ar[iA>>2],ar[f>>2]=fA,ar[iA>>2]=nA,0|e&&ku(e),du(i),yo(f,k,d,1,3),Bo(f,3,k,d,F),Bo(f,4,k,d,F),Bo(f,5,k,d,F),Z&&Bo(f,6,k,d,I),ar[p>>2]=0,ar[y>>2]=0,ar[B>>2]=0,ar[E>>2]=0,ar[X>>2]=0,ar[v>>2]=0,ar[m>>2]=0,c=(ar[g>>2]=0)|Ro(0|ar[r>>2],0,p),l=0|Ro(0|ar[r>>2],1,y),u=0|Ro(0|ar[r>>2],2,B),b=0|Fo(f,3,X),s=0|Fo(f,4,v),iA=0|Fo(f,5,m),eA=Z?(rA=0|Ro(0|ar[r>>2],6,E),0|Fo(f,6,g)):rA=0,o=(t=1<<F)-1|0,a=(255&(0|go(G)))-1|0,n=(255&(0|Zo(G)))-1|0,ar[p>>2]=(0|ar[p>>2])/2|0,ar[y>>2]=(0|ar[y>>2])/2|0,ar[B>>2]=(0|ar[B>>2])/2|0,ar[E>>2]=(0|ar[E>>2])/2|0,ar[X>>2]=(0|ar[X>>2])/2|0,ar[v>>2]=(0|ar[v>>2])/2|0,ar[m>>2]=(0|ar[m>>2])/2|0,ar[g>>2]=(0|ar[g>>2])/2|0,Ze(R),C?(e=0|or[C+8>>1],K=0|tr[C+10>>0],pe(V,e,0|or[C+4>>1]),ar[R>>2]=ar[V>>2],ar[R+4>>2]=ar[V+4>>2],ar[R+8>>2]=ar[V+8>>2],ar[R+12>>2]=ar[V+12>>2],ar[R+16>>2]=ar[V+16>>2],K=K<<24>>24!=0,e&=65535):(K=1,e=2),0<(0|d)){q=0<(0|k),$=k<<1,AA=0==(0|e),L=8==(0|e),j=1<<F+-1&65535,H=R+4|0,x=R+8|0,P=R+12|0,F=R+16|0,G=0;do{if(q){D=G>>n,R=0|br(0|ar[y>>2],D),Q=0|br(0|ar[p>>2],G),D=0|br(0|ar[B>>2],D),J=0|br(0|ar[X>>2],G),M=0|br(0|ar[m>>2],G),T=0|br(0|ar[v>>2],G),U=+gA[H>>2],S=+gA[x>>2],O=+gA[P>>2],z=+gA[F>>2],V=0;do{C=R+(e=V>>a)|0,r=Q+V|0,e=0|or[u+(D+e<<1)>>1];do{if(AA){if(i=M+V|0,f=J+V|0,I=T+V|0,K){or[b+(f<<1)>>1]=e,or[s+(I<<1)>>1]=0|or[c+(r<<1)>>1],e=0|or[l+(C<<1)>>1];break}or[b+(f<<1)>>1]=16+((128+(219*(65535&e)|0)|0)>>>8),or[s+(I<<1)>>1]=16+((128+(219*(0|lr[c+(r<<1)>>1])|0)|0)>>>8),e=16+((128+(219*(0|lr[l+(C<<1)>>1])|0)|0)>>>8)&65535;break}if(f=(65535&e)-j|0,i=0|or[c+(r<<1)>>1],e=(0|lr[l+(C<<1)>>1])-j|0,L){r=(i=(C=65535&i)-e|0)+f|0,or[b+(J+V<<1)>>1]=(0|r)<0?0:255<(0|r)?255:255&r,e=C+e|0,or[s+(T+V<<1)>>1]=(0|e)<0?0:255<(0|e)?255:255&e,e=(0|(e=i-f|0))<0?0:255<(0|e)?255:255&e,i=M+V|0;break}_=+(65535&i),Y=+(0|e),N=+(0|f),Y=K?Y:1.142899990081787*Y,e=(0|(e=0|ef((_=K?_:1.1689000129699707*(_+-16))+(N=K?N:1.142899990081787*N)*U)))<0?0:65535&((0|e)<(0|t)?e:o),or[b+(J+V<<1)>>1]=e,e=(0|(e=0|ef(_+Y*S+N*O)))<0?0:65535&((0|e)<(0|t)?e:o),or[s+(T+V<<1)>>1]=e,e=(0|(e=0|ef(_+Y*z)))<0?0:65535&((0|e)<(0|t)?e:o),i=M+V|0}while(0);or[iA+(i<<1)>>1]=e,V=V+1|0}while((0|V)!=(0|k))}Z&&hb(0|(T=eA+((0|br(0|ar[g>>2],G))<<1)|0),rA+((0|br(0|ar[E>>2],G))<<1)|0,0|$),G=G+1|0}while((0|G)!=(0|d))}ar[A>>2]=fA,ar[A+4>>2]=nA,ur=(w||du(h),W)},function(A,e,r,i,f){var n;return A|=0,e|=0,i|=0,f|=0,ur=(n=ur)+48|0,f=n+36|0,e=n,8!=(0|ar[(r|=0)+12>>2])||0|ar[r>>2]?(ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0):(ar[f>>2]=0,ar[(i=f+4|0)>>2]=0,r=(ar[f+8>>2]=0)|tr[r+8>>0],ar[e>>2]=1,ar[e+4>>2]=3,tr[e+8>>0]=r,ar[e+12>>2]=8,ar[e+16>>2]=0,ar[(r=e+20|0)>>2]=0,gA[e+24>>2]=.5,gA[e+28>>2]=0,gA[e+32>>2]=0,Nl(f,e),0|(e=0|ar[r>>2])&&du(e),ar[A>>2]=ar[f>>2],ar[A+4>>2]=ar[i>>2],ar[A+8>>2]=ar[f+8>>2]),void(ur=n)},function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t,o,a,c,l,u,b,s,d,k,h,w,v,m,g,Z,p,y,B,E,X,W,I=0,C=0,G=0,V=0,F=0,R=0,N=0,_=0,Y=0,Q=0,D=0,J=0,M=0,T=0,U=0,S=0,O=0,z=0,j=0,H=0,x=0,P=0,L=0;if(ur=(W=ur)+80|0,p=W+68|0,y=W+64|0,B=W+60|0,E=W+56|0,X=W+52|0,v=W+48|0,m=W+44|0,g=W+40|0,Y=W+20|0,V=W,e=0|ar[(r|=0)>>2],G=0|ar[e+36>>2],_=255&(e=0|Vo(e,0)),i=0|Vo(0|ar[r>>2],1),f=0|Vo(0|ar[r>>2],2),I=(Z=0|Eo(0|ar[r>>2],6))?255&(0|Vo(0|ar[r>>2],6)):0,e<<24>>24!=8|i<<24>>24!=8|f<<24>>24!=8)return ar[A>>2]=0,ar[A+4>>2]=0,void(ur=W);if(e=0|ar[r>>2],C=0|ar[e+40>>2],(w=0==(0|(h=0|ar[e+44>>2])))||(bu(h),e=0|ar[r>>2]),k=0|ar[e+24>>2],d=0|ar[e+28>>2],i=0|hu(80),ar[i+4>>2]=0,ar[i+8>>2]=0,ar[i>>2]=6208,ar[(f=i+12|0)>>2]=0,ar[f+4>>2]=0,ar[f+8>>2]=0,ar[f+12>>2]=0,ar[f+16>>2]=0,ar[i+32>>2]=32215,ar[i+36>>2]=0,ar[i+40>>2]=0,ar[i+44>>2]=99,ar[i+48>>2]=99,P=i+52|0,ar[(x=i+72|0)>>2]=0,ar[i+76>>2]=0,ar[P>>2]=0,ar[P+4>>2]=0,ar[P+8>>2]=0,ar[P+12>>2]=0,ar[i+68>>2]=x,x=f,H=(P=i)+16|0,bu(i),su(i),e=0|ar[H>>2],ar[f>>2]=x,ar[H>>2]=P,0|e&&ku(e),du(i),yo(f,k,d,1,3),Bo(f,3,k,d,_),Bo(f,4,k,d,_),Bo(f,5,k,d,_),Z&&Bo(f,6,k,d,I),ar[p>>2]=0,ar[y>>2]=0,ar[B>>2]=0,ar[E>>2]=0,ar[X>>2]=0,ar[v>>2]=0,ar[m>>2]=0,c=(ar[g>>2]=0)|Ro(0|ar[r>>2],0,p),l=0|Ro(0|ar[r>>2],1,y),u=0|Ro(0|ar[r>>2],2,B),b=0|Fo(f,3,X),s=0|Fo(f,4,v),H=0|Fo(f,5,m),z=Z?(j=0|Ro(0|ar[r>>2],6,E),0|Fo(f,6,g)):j=0,o=(t=1<<_)-1|0,a=(255&(0|go(G)))-1|0,n=(255&(0|Zo(G)))-1|0,Ze(Y),C?(e=0|or[C+8>>1],T=0|tr[C+10>>0],pe(V,e,0|or[C+4>>1]),ar[Y>>2]=ar[V>>2],ar[Y+4>>2]=ar[V+4>>2],ar[Y+8>>2]=ar[V+8>>2],ar[Y+12>>2]=ar[V+12>>2],ar[Y+16>>2]=ar[V+16>>2],T=T<<24>>24!=0,e&=65535):(T=1,e=2),0<(0|d)){U=0<(0|k),S=k<<1,O=0==(0|e),M=8==(0|e),Q=1<<_+-1&65535,D=Y+4|0,J=Y+8|0,_=Y+12|0,G=Y+16|0,r=0;do{if(U){V=r>>n,C=0;do{i=C>>a,f=u+((0|br(0|ar[B>>2],V))+i)|0,f=0|tr[f>>0];do{if(O){if(e=(0|br(0|ar[X>>2],r))+C|0,T){tr[b+e>>0]=f,Y=c+((0|br(0|ar[p>>2],r))+C)|0,e=s+((0|br(0|ar[v>>2],r))+C)|0,tr[e>>0]=0|tr[Y>>0],e=l+((0|br(0|ar[y>>2],V))+i)|0,e=0|tr[e>>0];break}tr[b+e>>0]=16+((128+(219*(255&f)|0)|0)>>>8),Y=c+((0|br(0|ar[p>>2],r))+C)|0,e=s+((0|br(0|ar[v>>2],r))+C)|0,tr[e>>0]=16+((128+(219*(0|cr[Y>>0])|0)|0)>>>8),e=l+((0|br(0|ar[y>>2],V))+i)|0,e=16+((128+(219*(0|cr[e>>0])|0)|0)>>>8)&255;break}if(e=0|br(0|ar[y>>2],V),I=c+((0|br(0|ar[p>>2],r))+C)|0,I=0|tr[I>>0],i=(0|cr[l+(e+i)>>0])-Q|0,e=(255&f)-Q|0,M){L=(Y=(f=255&I)-i|0)+e|0,I=b+((0|br(0|ar[X>>2],r))+C)|0,tr[I>>0]=(0|L)<0?0:255<(0|L)?-1:255&L,f=i+f|0,I=s+((0|br(0|ar[v>>2],r))+C)|0,tr[I>>0]=(0|f)<0?0:255<(0|f)?-1:255&f,e=(0|(e=Y-e|0))<0?0:255<(0|e)?-1:255&e;break}R=+(255&I),N=+(0|i),F=+(0|e),N=T?N:1.142899990081787*N,e=(0|(e=0|ef((R=T?R:1.1689000129699707*(R+-16))+(F=T?F:1.142899990081787*F)*gA[D>>2])))<0?0:255&((0|e)<(0|t)?e:o),L=b+((0|br(0|ar[X>>2],r))+C)|0,tr[L>>0]=e,e=(0|(e=0|ef(R+N*gA[J>>2]+F*gA[_>>2])))<0?0:255&((0|e)<(0|t)?e:o),L=s+((0|br(0|ar[v>>2],r))+C)|0,tr[L>>0]=e,e=(0|(e=0|ef(R+N*gA[G>>2])))<0?0:255&((0|e)<(0|t)?e:o)}while(0);L=H+((0|br(0|ar[m>>2],r))+C)|0,tr[L>>0]=e,C=C+1|0}while((0|C)!=(0|k))}Z&&hb(0|(L=z+(0|br(0|ar[g>>2],r))|0),j+(0|br(0|ar[E>>2],r))|0,0|S),r=r+1|0}while((0|r)!=(0|d))}ar[A>>2]=x,ar[A+4>>2]=P,ur=(w||du(h),W)},function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t,o=0;return ur=(t=ur)+48|0,n=t+36|0,e=t,8==(0|ar[(r|=0)+12>>2])&&1==(0|ar[r>>2])&&3==(0|ar[r+4>>2])?(ar[n>>2]=0,ar[(f=4+n|0)>>2]=0,o=(ar[8+n>>2]=0)|ar[i+4>>2],i=0|tr[r+8>>0],ar[e>>2]=0,ar[e+4>>2]=o,tr[e+8>>0]=i,ar[e+12>>2]=8,ar[e+16>>2]=0,ar[(i=e+20|0)>>2]=0,gA[e+24>>2]=.75,gA[e+28>>2]=.5,gA[e+32>>2]=0,Nl(n,e),0|(e=0|ar[i>>2])&&du(e),ar[A>>2]=ar[n>>2],ar[A+4>>2]=ar[f>>2],ar[A+8>>2]=ar[8+n>>2]):(ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0),void(ur=t)},function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t,o,a,c,l,u,b,s,d,k,h,w,v,m,g,Z,p,y=0,B=0,E=0,X=0,W=0,I=0,C=0,G=0,V=0,F=0,R=0,N=0,_=0,Y=0,Q=0,D=0,J=0,M=0,T=0,U=0,S=0,O=0,z=0,j=0,H=0,x=0;if(ur=(p=ur)+112|0,w=p+108|0,v=p+104|0,T=p+100|0,Z=p+96|0,F=p+92|0,b=p+88|0,s=p+84|0,m=p+80|0,Y=p+40|0,X=p,U=0|ar[(r|=0)>>2],g=0|ar[U+24>>2],U=0|ar[U+28>>2],d=255&(0|go(f=0|ar[i+4>>2])),k=255&(0|Zo(f)),E=255&(O=0|Vo(0|ar[r>>2],3)),O<<24>>24!=8)return ar[A>>2]=0,ar[A+4>>2]=0,void(ur=p);if((h=0|Eo(0|ar[r>>2],6))&&(0|Vo(0|ar[r>>2],6))<<24>>24!=8)return ar[A>>2]=0,ar[A+4>>2]=0,void(ur=p);if(y=0|hu(80),ar[y+4>>2]=0,ar[y+8>>2]=0,ar[y>>2]=6208,ar[(B=y+12|0)>>2]=0,ar[B+4>>2]=0,ar[B+8>>2]=0,ar[B+12>>2]=0,ar[B+16>>2]=0,ar[y+32>>2]=32215,ar[y+36>>2]=0,ar[y+40>>2]=0,ar[y+44>>2]=99,ar[y+48>>2]=99,O=y+52|0,ar[(S=y+72|0)>>2]=0,ar[y+76>>2]=0,ar[O>>2]=0,ar[O+4>>2]=0,ar[O+8>>2]=0,ar[O+12>>2]=0,ar[y+68>>2]=S,S=B,M=(O=y)+16|0,bu(y),su(y),e=0|ar[M>>2],ar[B>>2]=S,ar[M>>2]=O,0|e&&ku(e),du(y),yo(B,g,U,0,f),J=(g-1+d|0)/(0|d)|0,M=(U+-1+k|0)/(0|k)|0,Bo(B,0,g,U,E),Bo(B,1,J,M,E),Bo(B,2,J,M,E),h&&Bo(B,6,g,U,E),ar[w>>2]=0,ar[v>>2]=0,ar[T>>2]=0,ar[Z>>2]=0,ar[F>>2]=0,ar[b>>2]=0,ar[s>>2]=0,c=(ar[m>>2]=0)|Ro(0|ar[r>>2],3,w),l=0|Ro(0|ar[r>>2],4,v),u=0|Ro(0|ar[r>>2],5,T),G=0|Fo(B,0,F),J=0|Fo(B,1,b),M=0|Fo(B,2,s),Q=h?(D=0|Ro(0|ar[r>>2],6,Z),0|Fo(B,6,m)):D=0,n=1<<E+-1,a=(o=1<<E)-1|0,Be(Y),e=0|ar[i+16>>2])for(r=0|tr[e+10>>0],ye(X,y=0|or[e+8>>1],0|or[e+4>>1]),r=r<<24>>24!=0,y&=65535,e=X,f=(B=Y)+40|0;ar[B>>2]=ar[e>>2],e=e+4|0,(0|(B=B+4|0))<(0|f););else y=2,r=1;if(t=0<(0|U)){E=0<(0|g),i=0==(0|y),X=Y+4|0,I=Y+8|0,C=Y+12|0,B=0;do{A:do{if(E){if(i)f=0;else for(f=0;;)if(_=l+((0|br(0|ar[v>>2],B))+f)|0,N=c+((0|br(0|ar[w>>2],B))+f)|0,e=u+((0|br(0|ar[T>>2],B))+f)|0,V=(0|cr[N>>0])*gA[X>>2]+(0|cr[_>>0])*gA[I>>2]+(0|cr[e>>0])*gA[C>>2],e=(0|(e=0|ef(r?V:219*V*.00390625+16)))<0?0:255&((0|e)<(0|o)?e:a),_=G+((0|br(0|ar[F>>2],B))+f)|0,tr[_>>0]=e,(0|(f=f+1|0))==(0|g))break A;for(;e=l+((0|br(0|ar[v>>2],B))+f)|0,e=0|tr[e>>0],r||(e=(0|(e=0|ef(219*(255&e)*.00390625+16)))<0?0:255&((0|e)<(0|o)?e:a)),_=G+((0|br(0|ar[F>>2],B))+f)|0,tr[_>>0]=e,(0|(f=f+1|0))!=(0|g););}}while(0);B=B+1|0}while((0|B)!=(0|U));if(t){_=0<(0|g),I=0==(0|y),C=Y+16|0,G=Y+20|0,F=Y+24|0,R=Y+28|0,N=Y+32|0,X=Y+36|0,V=+(65535&n|0),i=0;do{if(_)for(E=0;e=I?(e=u+((0|br(0|ar[T>>2],i))+E)|0,e=0|tr[e>>0],y=(e=r?(y=(0|i)/(0|k)|0,f=(0|E)/(0|d)|0,Y=J+((0|br(0|ar[b>>2],y))+f)|0,tr[Y>>0]=e,e=c+((0|br(0|ar[T>>2],i))+E)|0,0|tr[e>>0]):(e=(0|(e=0|ef(219*(255&e)*.00390625+16)))<0?0:255&((0|e)<(0|o)?e:a),y=(0|i)/(0|k)|0,f=(0|E)/(0|d)|0,Y=J+((0|br(0|ar[b>>2],y))+f)|0,tr[Y>>0]=e,e=c+((0|br(0|ar[T>>2],i))+E)|0,(0|(e=0|ef(219*(0|cr[e>>0])*.00390625+16)))<0?0:255&((0|e)<(0|o)?e:a)),0|br(0|ar[b>>2],y)),B=e,y+f|0):(e=c+((0|br(0|ar[w>>2],i))+E)|0,x=+(0|cr[e>>0]),e=l+((0|br(0|ar[v>>2],i))+E)|0,H=+(0|cr[e>>0]),e=u+((0|br(0|ar[T>>2],i))+E)|0,W=+(0|cr[e>>0]),z=224*(j=x*gA[C>>2]+H*gA[G>>2]+W*gA[F>>2])*.00390625,W=r?x*gA[R>>2]+H*gA[N>>2]+W*gA[X>>2]:224*z*.00390625,e=(0|(e=0|ef(V+(r?j:z))))<0?0:255&((0|e)<(0|o)?e:a),f=(0|i)/(0|k)|0,y=(0|E)/(0|d)|0,Y=J+((0|br(0|ar[b>>2],f))+y)|0,tr[Y>>0]=e,B=e=(0|(e=0|ef(V+W)))<0?0:255&((0|e)<(0|o)?e:a),(0|br(0|ar[s>>2],f))+y|0),tr[M+e>>0]=B,(0|(E=E+d|0))<(0|g););i=i+k|0}while((0|i)<(0|U));if(h&t)for(e=0;hb(0|(T=Q+(0|br(0|ar[m>>2],e))|0),D+(0|br(0|ar[Z>>2],e))|0,0|g),(0|(e=e+1|0))!=(0|U););}}ar[A>>2]=S,ar[A+4>>2]=O,ur=p},function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t,o=0,a=0;return ur=(t=ur)+48|0,n=t+36|0,e=t,8!=(0|(f=0|ar[(r|=0)+12>>2]))&&1==(0|ar[r>>2])&&3==(0|ar[r+4>>2])?(ar[n>>2]=0,ar[(o=4+n|0)>>2]=0,a=(ar[8+n>>2]=0)|ar[i+4>>2],i=0|tr[r+8>>0],ar[e>>2]=0,ar[e+4>>2]=a,tr[e+8>>0]=i,ar[e+12>>2]=f,ar[e+16>>2]=0,ar[(i=e+20|0)>>2]=0,gA[e+24>>2]=.75,gA[e+28>>2]=.5,gA[e+32>>2]=0,Nl(n,e),0|(e=0|ar[i>>2])&&du(e),ar[A>>2]=ar[n>>2],ar[A+4>>2]=ar[o>>2],ar[A+8>>2]=ar[8+n>>2]):(ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=0),void(ur=t)},function(A,e,r,i,f){A|=0,e|=0,i|=0,f|=0;var n,t,o,a,c,l,u,b,s,d,k,h,w,v,m,g,Z,p,y=0,B=0,E=0,X=0,W=0,I=0,C=0,G=0,V=0,F=0,R=0,N=0,_=0,Y=0,Q=0,D=0,J=0,M=0,T=0,U=0,S=0,O=0,z=0,j=0,H=0,x=0,P=0,L=0,K=0,q=0,$=0,AA=0,eA=0,rA=0,iA=0;if(ur=(p=ur)+112|0,o=p+108|0,a=p+104|0,n=p+100|0,Z=p+96|0,V=p+92|0,t=p+88|0,H=p+84|0,g=p+80|0,l=p+40|0,X=p,eA=0|ar[(r|=0)>>2],w=0|ar[eA+24>>2],eA=0|ar[eA+28>>2],v=255&(0|go(y=0|ar[i+4>>2])),m=255&(0|Zo(y)),E=255&(e=0|Vo(0|ar[r>>2],3)),e<<24>>24==8)return ar[A>>2]=0,ar[A+4>>2]=0,void(ur=p);if((q=0|Eo(0|ar[r>>2],6))&&(0|Vo(0|ar[r>>2],6))<<24>>24!=e<<24>>24)return ar[A>>2]=0,ar[A+4>>2]=0,void(ur=p);if(f=0|hu(80),ar[f+4>>2]=0,ar[f+8>>2]=0,ar[f>>2]=6208,ar[(B=f+12|0)>>2]=0,ar[B+4>>2]=0,ar[B+8>>2]=0,ar[B+12>>2]=0,ar[B+16>>2]=0,ar[f+32>>2]=32215,ar[f+36>>2]=0,ar[f+40>>2]=0,ar[f+44>>2]=99,ar[f+48>>2]=99,AA=f+52|0,ar[($=f+72|0)>>2]=0,ar[f+76>>2]=0,ar[AA>>2]=0,ar[AA+4>>2]=0,ar[AA+8>>2]=0,ar[AA+12>>2]=0,ar[f+68>>2]=$,$=B,K=(AA=f)+16|0,bu(f),su(f),e=0|ar[K>>2],ar[B>>2]=$,ar[K>>2]=AA,0|e&&ku(e),du(f),yo(B,w,eA,0,y),L=(w-1+v|0)/(0|v)|0,K=(eA+-1+m|0)/(0|m)|0,Bo(B,0,w,eA,E),Bo(B,1,L,K,E),Bo(B,2,L,K,E),q&&Bo(B,6,w,eA,E),ar[o>>2]=0,ar[a>>2]=0,ar[n>>2]=0,ar[Z>>2]=0,ar[V>>2]=0,ar[t>>2]=0,ar[H>>2]=0,d=(ar[g>>2]=0)|Ro(0|ar[r>>2],3,o),k=0|Ro(0|ar[r>>2],4,a),h=0|Ro(0|ar[r>>2],5,n),J=0|Fo(B,0,V),L=0|Fo(B,1,t),K=0|Fo(B,2,H),x=q?(P=0|Ro(0|ar[r>>2],6,Z),0|Fo(B,6,g)):P=0,ar[o>>2]=(0|ar[o>>2])/2|0,ar[a>>2]=(0|ar[a>>2])/2|0,ar[n>>2]=(0|ar[n>>2])/2|0,ar[Z>>2]=(0|ar[Z>>2])/2|0,ar[V>>2]=(0|ar[V>>2])/2|0,ar[t>>2]=(0|ar[t>>2])/2|0,ar[H>>2]=(0|ar[H>>2])/2|0,ar[g>>2]=(0|ar[g>>2])/2|0,c=1<<E+-1,s=(b=1<<E)-1|0,Be(l),e=0|ar[i+16>>2])for(r=0|tr[e+10>>0],ye(X,y=0|or[e+8>>1],0|or[e+4>>1]),r=r<<24>>24!=0,y&=65535,e=X,f=(B=l)+40|0;ar[B>>2]=ar[e>>2],e=e+4|0,(0|(B=B+4|0))<(0|f););else y=2,r=1;if(u=0<(0|eA)){_=0<(0|w),Y=0==(0|y),Q=0|ar[a>>2],X=0|ar[V>>2],V=0|ar[o>>2],F=0|ar[n>>2],W=+gA[4+l>>2],I=+gA[8+l>>2],C=+gA[12+l>>2],i=0;do{A:do{if(_){if(R=0|br(Q,i),N=0|br(X,i),B=0|br(V,i),E=0|br(F,i),Y)f=0;else for(f=0;;)if(z=(0|lr[d+(B+f<<1)>>1])*W+(0|lr[k+(R+f<<1)>>1])*I+(0|lr[h+(E+f<<1)>>1])*C,e=(0|(e=0|ef(r?z:219*z*.00390625+16)))<0?0:65535&((0|e)<(0|b)?e:s),or[J+(N+f<<1)>>1]=e,(0|(f=f+1|0))==(0|w))break A;for(;e=0|or[k+(R+f<<1)>>1],r||(e=(0|(e=0|ef(219*(65535&e)*.00390625+16)))<0?0:65535&((0|e)<(0|b)?e:s)),or[J+(N+f<<1)>>1]=e,(0|(f=f+1|0))!=(0|w););}}while(0);i=i+1|0}while((0|i)!=(0|eA));if(u){j=0<(0|w),J=0==(0|y),Q=0|ar[n>>2],Y=0|ar[t>>2],_=0|ar[o>>2],N=0|ar[a>>2],T=+gA[16+l>>2],U=+gA[20+l>>2],S=+gA[24+l>>2],O=+gA[28+l>>2],z=+gA[32+l>>2],M=+gA[36+l>>2],D=+(65535&c|0),X=0|ar[H>>2],i=0;do{if(j)for(V=0|br(Q,i),F=0|br(_,i),R=0|br(N,i),E=0;e=0|or[h+((f=V+E|0)<<1)>>1],e=J?(e=r?(y=0|br(Y,(0|i)/(0|m)|0),or[L+(y+(H=(0|E)/(0|v)|0)<<1)>>1]=e,f=0|or[d+(f<<1)>>1],H):(e=(0|(e=0|ef(219*(65535&e)*.00390625+16)))<0?0:65535&((0|e)<(0|b)?e:s),y=0|br(Y,(0|i)/(0|m)|0),or[L+(y+(B=(0|E)/(0|v)|0)<<1)>>1]=e,f=(0|(e=0|ef(219*(0|lr[d+(f<<1)>>1])*.00390625+16)))<0?0:65535&((0|e)<(0|b)?e:s),B),y+e|0):(I=224*(iA=(C=+(0|lr[d+(F+E<<1)>>1]))*T+(G=+(0|lr[k+(R+E<<1)>>1]))*U+(W=+(65535&e))*S)*.00390625,e=(0|(e=0|ef(D+(r?iA:I))))<0?0:65535&((0|e)<(0|b)?e:s),B=(0|E)/(0|v)|0,H=L+((0|br(Y,y=(0|i)/(0|m)|0))+B<<1)|0,or[H>>1]=e,f=e=(0|(e=0|ef(D+(r?C*O+G*z+W*M:224*I*.00390625))))<0?0:65535&((0|e)<(0|b)?e:s),(0|br(X,y))+B|0),or[K+(e<<1)>>1]=f,(0|(E=E+v|0))<(0|w););i=i+m|0}while((0|i)<(0|eA))}}if(q&&(rA=w<<1,u))for(e=0;hb(0|(q=x+((0|br(0|ar[g>>2],e))<<1)|0),P+((0|br(0|ar[Z>>2],e))<<1)|0,0|rA),(0|(e=e+1|0))!=(0|eA););ar[A>>2]=$,ar[A+4>>2]=AA,ur=p},function(A,e,r,i,f){A|=0,e|=0,r|=0,i|=0,f|=0;var n=0;do{if(0|xu(A,0|ar[e+8>>2]))Lu(0,e,r,i);else if(0|xu(A,0|ar[e>>2])){if(A=e+32|0,(0|ar[e+16>>2])!=(0|r)&&(0|ar[(n=e+20|0)>>2])!=(0|r)){ar[A>>2]=i,ar[n>>2]=r,ar[(i=e+40|0)>>2]=1+(0|ar[i>>2]),1==(0|ar[e+36>>2])&&2==(0|ar[e+24>>2])&&(tr[e+54>>0]=1),ar[e+44>>2]=4;break}1==(0|i)&&(ar[A>>2]=1)}}while(0)},function(A,e,r,i,f){A|=0,e|=0,r|=0,i|=0,f|=0;var n=0,t=0,o=0,a=0;do{if(0|xu(A,0|ar[e+8>>2]))Lu(0,e,r,i);else{if(n=A+8|0,!(0|xu(A,0|ar[e>>2]))){o=0|ar[n>>2],os[63&ar[24+(0|ar[o>>2])>>2]](o,e,r,i,f);break}if(A=e+32|0,(0|ar[e+16>>2])!=(0|r)&&(0|ar[(t=e+20|0)>>2])!=(0|r)){if(ar[A>>2]=i,4==(0|ar[(i=e+44|0)>>2]))break;tr[(A=e+52|0)>>0]=0,n=(tr[(a=e+53|0)>>0]=0)|ar[n>>2],as[15&ar[20+(0|ar[n>>2])>>2]](n,e,r,r,1,f),0|tr[a>>0]?0|tr[A>>0]?A=3:(A=3,o=11):(A=4,o=11),11==(0|o)&&(ar[t>>2]=r,ar[(a=e+40|0)>>2]=1+(0|ar[a>>2]),1==(0|ar[e+36>>2])&&2==(0|ar[e+24>>2])&&(tr[e+54>>0]=1)),ar[i>>2]=A;break}1==(0|i)&&(ar[A>>2]=1)}}while(0)},function(A,e,r,i,f){A|=0,e|=0,r|=0,i|=0,f|=0;var n=0,t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0,d=0,k=0,h=0;A:do{if(0|xu(A,0|ar[e+8>>2]))Lu(0,e,r,i);else{if(t=A+12|0,d=e+24|0,k=e+36|0,h=e+54|0,b=A+8|0,l=A+16|0,!(0|xu(A,0|ar[e>>2]))){if(o=A+16+((s=0|ar[t>>2])<<3)|0,rb(l,e,r,i,f),n=A+24|0,(0|s)<=1)break;if(0==(2&(t=0|ar[b>>2])|0)&&1!=(0|ar[k>>2])){if(!(1&t))for(;;){if(0|tr[h>>0])break A;if(1==(0|ar[k>>2]))break A;if(rb(n,e,r,i,f),o>>>0<=(n=n+8|0)>>>0)break A}for(;;){if(0|tr[h>>0])break A;if(1==(0|ar[k>>2])&&1==(0|ar[d>>2]))break A;if(rb(n,e,r,i,f),o>>>0<=(n=n+8|0)>>>0)break A}}for(;;){if(0|tr[h>>0])break A;if(rb(n,e,r,i,f),o>>>0<=(n=n+8|0)>>>0)break A}}if(n=e+32|0,(0|ar[e+16>>2])!=(0|r)&&(0|ar[(s=e+20|0)>>2])!=(0|r)){if(ar[n>>2]=i,4==(0|ar[(u=e+44|0)>>2]))break;i=A+16+(ar[t>>2]<<3)|0,a=e+52|0,c=e+53|0,A=l,o=n=0;e:for(;;){if(i>>>0<=A>>>0){t=18;break}if(tr[a>>0]=0,tr[c>>0]=0,eb(A,e,r,r,1,f),0|tr[h>>0]){t=18;break}do{if(0|tr[c>>0]){if(!(0|tr[a>>0])){if(1&ar[b>>2]){n=1,t=o;break}n=1,t=18;break e}if(1==(0|ar[d>>2])){t=23;break e}if(!(2&ar[b>>2])){t=23;break e}t=n=1}else t=o}while(0);A=A+8|0,o=t}do{if(18==(0|t)){if(!o&&(ar[s>>2]=r,ar[(r=e+40|0)>>2]=1+(0|ar[r>>2]),1==(0|ar[k>>2]))&&2==(0|ar[d>>2])){if(tr[h>>0]=1,n){t=23;break}n=4;break}n?t=23:n=4}}while(0);23==(0|t)&&(n=3),ar[u>>2]=n;break}1==(0|i)&&(ar[n>>2]=1)}}while(0)},function(A,e,r,i,f){A|=0,e|=0,r|=0,f|=0;var n,t,o=0,a=0,c=0,l=0,u=0;if(!((0|(i|=0))<=0)){t=255+(n=1<<f)|0,f=0;do{for(a=0|br(f,e),c=0|br(f,i),o=0;u=(0|cr[(l=A+(o+a)|0)>>0])+(0|ar[r+(o+c<<2)>>2])|0,tr[l>>0]=(0|u)<0?0:255&((0|u)<(0|n)?u:t),(0|(o=o+1|0))!=(0|i););f=f+1|0}while((0|f)!=(0|i))}},function(A,e,r,i,f){A|=0,e|=0,r|=0,f|=0;var n,t,o=0,a=0,c=0,l=0,u=0;if(!((0|(i|=0))<=0)){t=65535+(n=1<<f)|0,f=0;do{for(a=0|br(f,e),c=0|br(f,i),o=0;u=(0|lr[(l=A+(o+a<<1)|0)>>1])+(0|ar[r+(o+c<<2)>>2])|0,or[l>>1]=(0|u)<0?0:65535&((0|u)<(0|n)?u:t),(0|(o=o+1|0))!=(0|i););f=f+1|0}while((0|f)!=(0|i))}},function(A,e,r,i,f){A|=0,e|=0,i|=0;var n,t=0,o=0,a=0,c=0,l=0;if(n=1<<(f|=0)+-1,0<(0|(r|=0))){a=0;do{for(c=0|br(a,r),o=t=0;o=((or[e+((l=t+c|0)<<1)>>1]<<i)+n>>f)+o|0,ar[A+(l<<2)>>2]=o,(0|(t=t+1|0))!=(0|r););a=a+1|0}while((0|a)!=(0|r))}},function(A,e,r,i,f){A|=0,e|=0,i|=0;var n,t=0,o=0,a=0,c=0;if(n=1<<(f|=0)+-1,0<(0|(r|=0))){a=0;do{for(o=t=0;c=(0|br(t,r))+a|0,o=((or[e+(c<<1)>>1]<<i)+n>>f)+o|0,ar[A+(c<<2)>>2]=o,(0|(t=t+1|0))!=(0|r););a=a+1|0}while((0|a)!=(0|r))}},function(A,e,r,i,f){A|=0,e|=0,i|=0;var n,t=0,o=0,a=0,c=0;if(n=1<<(f|=0)+-1,0<(0|(r|=0))){o=0;do{for(a=0|br(o,r),t=0;ar[A+((c=t+a|0)<<2)>>2]=(or[e+(c<<1)>>1]<<i)+n>>f,(0|(t=t+1|0))!=(0|r););o=o+1|0}while((0|o)!=(0|r))}},Jb,Jb,Jb,Jb,Jb,Jb,Jb,Jb,Jb,Jb,Jb,Jb,Jb,Jb,Jb],as=[Mb,function(A,e,r,i,f,n){A|=0,r|=0,i|=0,f|=0,n|=0;var t,o=0,a=0,c=0,l=0,u=0;l=(a=0|ar[(o=(e|=0)+44|0)>>2])>>>0<(c=u=0|ar[(t=e+24|0)>>2])>>>0?(ar[o>>2]=u,c):a,a=24&n;A:do{if(0==(0|a)||1==(0|f)&24==(0|a))o=a=-1;else{e:do{switch(0|f){case 0:a=o=0;break;case 1:if(8&n){a=((0|(o=a=(0|ar[e+12>>2])-(0|ar[e+8>>2])|0))<0)<<31>>31;break e}a=((0|(o=a=c-(0|ar[e+20>>2])|0))<0)<<31>>31;break e;case 2:(0|tr[(o=e+32|0)+11>>0])<0&&(o=0|ar[o>>2]),a=((0|(o=a=l-o|0))<0)<<31>>31;break;default:o=a=-1;break A}}while(0);if(a=0|tb(0|o,0|a,0|r,0|i),0<=(0|(o=D)))if((0|tr[(c=e+32|0)+11>>0])<0&&(c=0|ar[c>>2]),(0|(r=((0|(i=l-c|0))<0)<<31>>31))<(0|o)|(0|r)==(0|o)&i>>>0<a>>>0)o=a=-1;else{if(c=8&n,!(0==(0|a)&0==(0|o))){if(0|c&&0==(0|ar[e+12>>2])){o=a=-1;break}if(0!=(16&n|0)&0==(0|u)){o=a=-1;break}}0|c&&(ar[e+12>>2]=(0|ar[e+8>>2])+a,ar[e+16>>2]=l),16&n&&(ar[t>>2]=(0|ar[e+20>>2])+a)}else o=a=-1}}while(0);ar[(u=A)>>2]=0,ar[u+4>>2]=0,ar[(A=A+8|0)>>2]=a,ar[A+4>>2]=o},function(A,e,r,i,f,n){n|=0,ar[(n=A|=0)>>2]=0,ar[n+4>>2]=0,ar[(n=A+8|0)>>2]=-1,ar[n+4>>2]=-1},function(A,e,r,i,f,n){n|=0,ar[(n=A|=0)>>2]=0,ar[n+4>>2]=0,ar[(n=A+8|0)>>2]=-1,ar[n+4>>2]=-1},function(A,e,r,i,f,n){var t,o,a,c;for(A|=0,e|=0,r|=0,n|=0,t=ur=(o=ur)+31&-32,ur=ur+16|0,ar[t>>2]=0,ar[4+t>>2]=0,e=ar[8+t>>2]=0;3!=(0|e);)e=e+1|(ar[t+(e<<2)>>2]=0);for(n=(e=(c=(a=0|tr[n+11>>0])<<24>>24<0)?0|ar[n>>2]:n)+(c?0|ar[n+4>>2]:255&a)|0;!(n>>>0<=e>>>0);)_u(t,0|tr[e>>0]),e=e+1|0;for(r=0|tf(0,0,0,e=(0|tr[11+t>>0])<0?0|ar[t>>2]:t),ar[A>>2]=0,ar[A+4>>2]=0,n=ar[A+8>>2]=0;3!=(0|n);)n=n+1|(ar[A+(n<<2)>>2]=0);for(n=e+(0|Vc(r))|0;!(n>>>0<=e>>>0);)_u(A,0|tr[e>>0]),e=e+1|0;Bu(t),ur=o},function(A,e,r,i,f,n){A|=0,e|=0,n|=0;var t,o,a,c,l,u,b=0,s=0,d=0,k=0,h=0,w=0;for(w=ur=(u=ur)+31&-32,ur=ur+176|0,o=w+168|0,a=w+40|0,c=w+36|0,l=w+32|0,k=(t=w)+24|0,w=w+16|0,ar[t>>2]=0,ar[t+4>>2]=0,e=ar[t+8>>2]=0;3!=(0|e);)e=e+1|(ar[t+(e<<2)>>2]=0);for(ar[k+4>>2]=0,ar[k>>2]=16892,s=(e=(d=(s=0|tr[n+8+3>>0])<<24>>24<0)?0|ar[n>>2]:n)+((d?0|ar[n+4>>2]:255&s)<<2)|0,d=32+a|0,n=e,e=0;2!=(0|e)&n>>>0<s>>>0;){if(ar[l>>2]=n,2==(0|(b=0|es[15&ar[12+(0|ar[k>>2])>>2]](k,o,n,s,l,a,d,c)))||(0|ar[l>>2])==(0|n)){h=7;break}for(e=a;!(e>>>0>=(0|ar[c>>2])>>>0);)_u(t,0|tr[e>>0]),e=e+1|0;n=0|ar[l>>2],e=b}for(7==(0|h)&&ti(),an(),n=0|tf(0,0,0,b=(0|tr[t+11>>0])<0?0|ar[t>>2]:t),ar[A>>2]=0,ar[A+4>>2]=0,e=ar[A+8>>2]=0;3!=(0|e);)e=e+1|(ar[A+(e<<2)>>2]=0);for(ar[w+4>>2]=0,ar[w>>2]=16940,d=s=b+(0|Vc(n))|0,k=128+a|0,n=b,e=0;;){if(!(2!=(0|e)&n>>>0<s>>>0)){h=21;break}if(ar[l>>2]=n,2==(0|(b=0|es[15&ar[16+(0|ar[w>>2])>>2]](w,o,n,32<(d-n|0)?n+32|0:s,l,a,k,c)))||(0|ar[l>>2])==(0|n)){h=17;break}for(e=a;!(e>>>0>=(0|ar[c>>2])>>>0);)Ou(A,0|ar[e>>2]),e=e+4|0;n=0|ar[l>>2],e=b}if(17==(0|h))ti();else if(21==(0|h))return an(),Bu(t),void(ur=u)},function(A,e,r,i,f,n){r|=0,i|=0,f|=0,n|=0,0|xu(A|=0,0|ar[(e|=0)+8>>2])&&Ku(0,e,r,i,f)},function(A,e,r,i,f,n){r|=0,i|=0,f|=0,n|=0,0|xu(A|=0,0|ar[(e|=0)+8>>2])?Ku(0,e,r,i,f):(A=0|ar[A+8>>2],as[15&ar[20+(0|ar[A>>2])>>2]](A,e,r,i,f,n))},function(A,e,r,i,f,n){r|=0,i|=0,f|=0,n|=0;var t=0,o=0,a=0,c=0,l=0,u=0,b=0,s=0;if(0|xu(A|=0,0|ar[(e|=0)+8>>2]))Ku(0,e,r,i,f);else{t=0|tr[(s=e+52|0)>>0],a=0|tr[(o=e+53|0)>>0],c=A+16+((b=0|ar[A+12>>2])<<3)|0,tr[s>>0]=0,eb(A+16|(tr[o>>0]=0),e,r,i,f,n);A:do{if(1<(0|b)){l=e+24|0,u=e+54|0,b=A+8|0,A=A+24|0;do{if(0|tr[u>>0])break A;if(0|tr[s>>0]){if(1==(0|ar[l>>2]))break A;if(!(2&ar[b>>2]))break A}else if(0|tr[o>>0]&&0==(1&ar[b>>2]|0))break A;tr[s>>0]=0,tr[o>>0]=0,eb(A,e,r,i,f,n),A=A+8|0}while(A>>>0<c>>>0)}}while(0);tr[s>>0]=t,tr[o>>0]=a}},function(A,e,r,i,f,n){A|=0,e|=0,r|=0,i|=0,n|=0;var t=0,o=0,a=0,c=0,l=0;if(1&(f|=0)|0&&sr(36230,36243,40,36262),0<(0|n)&0<(0|f)){a=0;do{for(t=A+(0|br(a,e))|0,o=r+((0|br(a,i))<<1)|0,c=0;l=32+(0|or[o>>1])>>6,tr[t>>0]=(0|l)<0?0:255&((0|l)<255?l:255),l=32+(0|or[o+2>>1])>>6,tr[t+1>>0]=(0|l)<0?0:255&((0|l)<255?l:255),!((0|f)<=(0|(c=c+2|0)));)t=t+2|0,o=o+4|0;a=a+1|0}while((0|a)!=(0|n))}},Mb,Mb,Mb,Mb,Mb,Mb],cs=[Tb,function(A,e,r,i,f,n,t){A|=0,e|=0,r|=0,i|=0,f|=0,t|=0;var o=0,a=0,c=0,l=0,u=0,b=0;if(1&(n|=0)|0&&sr(36230,36243,105,36363),0<(0|t)&0<(0|n)){l=0;do{for(c=0|br(l,f),o=A+(0|br(l,e))|0,a=i+(c<<1)|0,c=r+(c<<1)|0,u=0;b=64+(0|or[c>>1])+(0|or[a>>1])>>7,tr[o>>0]=(0|b)<0?0:255&((0|b)<255?b:255),b=64+(0|or[c+2>>1])+(0|or[a+2>>1])>>7,tr[o+1>>0]=(0|b)<0?0:255&((0|b)<255?b:255),!((0|n)<=(0|(u=u+2|0)));)o=o+2|0,a=a+4|0,c=c+4|0;l=l+1|0}while((0|l)!=(0|t))}},function(A,e,r,i,f,n,t){A|=0,e|=0,r|=0,i|=0,n|=0;var o,a,c,l,u=0,b=0,s=0,d=0;if(c=0<(0|(l=14-(t|=0)|0))?1<<l-1:0,1&(f|=0)|0&&sr(36230,36243,172,36396),!((0|n)<=0)&&(a=65535+(o=1<<t)|0,0<(0|f))){b=0;do{for(t=A+((0|br(b,e))<<1)|0,u=r+((0|br(b,i))<<1)|0,s=0;d=(0|or[u>>1])+c>>l,or[t>>1]=(0|d)<0?0:65535&((0|d)<(0|o)?d:a),d=(0|or[u+2>>1])+c>>l,or[t+2>>1]=(0|d)<0?0:65535&((0|d)<(0|o)?d:a),!((0|f)<=(0|(s=s+2|0)));)t=t+4|0,u=u+4|0;b=b+1|0}while((0|b)!=(0|n))}},function(A,e,r,i,f,n,t){A|=0,e|=0,r|=0,i|=0,t|=0;var o=0,a=0,c=0,l=0,u=0,b=0;if(0<(0|(n|=0))&0<(0|(f|=0))){c=0;do{for(t=r+(0|br(c,i))|0,o=A+((0|br(c,e))<<1)|0,a=0;b=(0|cr[t+1>>0])<<6&65535,u=(0|cr[t+2>>0])<<6&65535,l=(0|cr[t+3>>0])<<6&65535,or[o>>1]=(0|cr[t>>0])<<6,or[o+2>>1]=b,or[o+4>>1]=u,or[o+6>>1]=l,!((0|f)<=(0|(a=a+4|0)));)t=t+4|0,o=o+8|0;c=c+1|0}while((0|c)!=(0|n))}},function(A,e,r,i,f,n,t){xo(A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,0,1,8)},function(A,e,r,i,f,n,t){xo(A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,0,2,8)},function(A,e,r,i,f,n,t){xo(A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,0,3,8)},function(A,e,r,i,f,n,t){xo(A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,1,0,8)},function(A,e,r,i,f,n,t){xo(A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,1,1,8)},function(A,e,r,i,f,n,t){xo(A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,1,2,8)},function(A,e,r,i,f,n,t){xo(A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,1,3,8)},function(A,e,r,i,f,n,t){xo(A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,2,0,8)},function(A,e,r,i,f,n,t){xo(A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,2,1,8)},function(A,e,r,i,f,n,t){xo(A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,2,2,8)},function(A,e,r,i,f,n,t){xo(A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,2,3,8)},function(A,e,r,i,f,n,t){xo(A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,3,0,8)},function(A,e,r,i,f,n,t){xo(A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,3,1,8)},function(A,e,r,i,f,n,t){xo(A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,3,2,8)},function(A,e,r,i,f,n,t){xo(A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,3,3,8)},Tb,Tb,Tb,Tb,Tb,Tb,Tb,Tb,Tb,Tb,Tb,Tb,Tb],ls=[Ub,function(A,e,r,i,f,n,t,o){A|=0,e|=0,r|=0,i|=0,f|=0,t|=0;var a,c,l,u,b=0,s=0,d=0,k=0,h=0;if(l=1<<(u=15-(o|=0)|0)-1,1&(n|=0)|0&&sr(36230,36243,238,36490),!((0|t)<=0)&&(c=65535+(a=1<<o)|0,0<(0|n))){d=0;do{for(s=0|br(d,f),o=A+((0|br(d,e))<<1)|0,b=i+(s<<1)|0,s=r+(s<<1)|0,k=0;h=(0|or[s>>1])+l+(0|or[b>>1])>>u,or[o>>1]=(0|h)<0?0:65535&((0|h)<(0|a)?h:c),h=(0|or[s+2>>1])+l+(0|or[b+2>>1])>>u,or[o+2>>1]=(0|h)<0?0:65535&((0|h)<(0|a)?h:c),!((0|n)<=(0|(k=k+2|0)));)o=o+4|0,b=b+4|0,s=s+4|0;d=d+1|0}while((0|d)!=(0|t))}},function(A,e,r,i,f,n,t,o){A|=0,e|=0,r|=0,i|=0,t|=0;var a,c=0,l=0;if(a=14-(o|=0)|0,0<(0|(n|=0))&0<(0|(f|=0))){c=0;do{for(t=A+((0|br(c,e))<<1)|0,o=r+((0|br(c,i))<<1)|0,l=0;or[t>>1]=(0|lr[o>>1])<<a,(0|(l=l+1|0))!=(0|f);)t=t+2|0,o=o+2|0;c=c+1|0}while((0|c)!=(0|n))}},function(A,e,r,i,f,n,t,o){Po(A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,0,1,o|=0)},function(A,e,r,i,f,n,t,o){Po(A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,0,2,o|=0)},function(A,e,r,i,f,n,t,o){Po(A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,0,3,o|=0)},function(A,e,r,i,f,n,t,o){Po(A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,1,0,o|=0)},function(A,e,r,i,f,n,t,o){Po(A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,1,1,o|=0)},function(A,e,r,i,f,n,t,o){Po(A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,1,2,o|=0)},function(A,e,r,i,f,n,t,o){Po(A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,1,3,o|=0)},function(A,e,r,i,f,n,t,o){Po(A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,2,0,o|=0)},function(A,e,r,i,f,n,t,o){Po(A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,2,1,o|=0)},function(A,e,r,i,f,n,t,o){Po(A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,2,2,o|=0)},function(A,e,r,i,f,n,t,o){Po(A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,2,3,o|=0)},function(A,e,r,i,f,n,t,o){Po(A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,3,0,o|=0)},function(A,e,r,i,f,n,t,o){Po(A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,3,1,o|=0)},function(A,e,r,i,f,n,t,o){Po(A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,3,2,o|=0)},function(A,e,r,i,f,n,t,o){Po(A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,3,3,o|=0)},Ub,Ub,Ub,Ub,Ub,Ub,Ub,Ub,Ub,Ub,Ub,Ub,Ub,Ub],us=[Sb,function(A,e,r,i,f,n,t,o,a){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0;var c,l=0,u=0,b=0,s=0,d=0;if((0|(a|=0))<=0&&sr(36293,36243,60,36303),c=1<<a+-1,0<(0|n)&0<(0|f)){b=0;do{for(l=A+(0|br(b,e))|0,u=r+((0|br(b,i))<<1)|0,s=0;d=((0|br(0|or[u>>1],t))+c>>a)+o|0,tr[l>>0]=(0|d)<0?0:255&((0|d)<255?d:255),(0|(s=s+1|0))!=(0|f);)l=l+1|0,u=u+2|0;b=b+1|0}while((0|b)!=(0|n))}},function(A,e,r,i,f,n,t,o,a){A|=0,e|=0,r|=0,i|=0,t|=0,o|=0,a|=0;var c=0;if(0<(0|(n|=0))&0<(0|(f|=0))){a=0;do{for(t=r+(0|br(a,i))|0,o=A+((0|br(a,e))<<1)|0,c=0;or[o>>1]=(0|cr[t>>0])<<6,(0|(c=c+1|0))!=(0|f);)t=t+1|0,o=o+2|0;a=a+1|0}while((0|a)!=(0|n))}},Sb],bs=[Ob,function(A,e,r,i,f,n,t,o,a,c){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,c|=0;var l,u,b,s=0,d=0,k=0,h=0;if((0|(a|=0))<=0&&sr(36293,36243,193,36428),b=1<<a+-1,!((0|n)<=0)&&(u=65535+(l=1<<c)|0,0<(0|f))){d=0;do{for(c=A+((0|br(d,e))<<1)|0,s=r+((0|br(d,i))<<1)|0,k=0;h=((0|br(0|or[s>>1],t))+b>>a)+o|0,or[c>>1]=(0|h)<0?0:65535&((0|h)<(0|l)?h:u),(0|(k=k+1|0))!=(0|f);)c=c+2|0,s=s+2|0;d=d+1|0}while((0|d)!=(0|n))}},function(A,e,r,i,f,n,t,o,a,c){A|=0,e|=0,r|=0,i|=0,t|=0,o|=0,a|=0;var l,u,b,s=0,d=0,k=0,h=0,w=0,v=0;if(b=ur,k=(c|=0)+-8|0,h=0|br((f|=0)<<1,l=(n|=0)+3|0),ur=(u=ur)+(15+(0|+h)&-16)|0,-1<(0|(h=n+2|0))){w=0<(0|f),a=-1;do{A:do{if(w)for(d=a+1|0,a=r+(((s=0)|br(a,i))-1)|0;;){switch(0|t){case 0:c=0|cr[(a=a+1|0)>>0];break;case 1:v=a+1|0,c=(0|br(0|cr[a>>0],-2))+(58*(0|cr[v>>0])|0)+(10*(0|cr[a+2>>0])|0)-(cr[a+3>>0]<<1)>>k&65535,a=v;break;case 2:v=a+1|0,c=(0|br(0|cr[a>>0],-4))+(54*(0|cr[v>>0])|0)+(cr[a+2>>0]<<4)-(cr[a+3>>0]<<1)>>k&65535,a=v;break;case 3:v=a+1|0,c=(0|br(0|cr[a>>0],-6))+(46*(0|cr[v>>0])|0)+(28*(0|cr[a+2>>0])|0)-(cr[a+3>>0]<<2)>>k&65535,a=v;break;case 4:v=a+1|0,c=(0|br(0|cr[a>>0],-4))-(cr[a+3>>0]<<2)+(36*((0|cr[a+2>>0])+(0|cr[v>>0])|0)|0)>>k&65535,a=v;break;case 5:v=a+1|0,c=(0|br(0|cr[a>>0],-4))+(28*(0|cr[v>>0])|0)+(46*(0|cr[a+2>>0])|0)+(0|br(0|cr[a+3>>0],-6))>>k&65535,a=v;break;case 6:v=a+1|0,c=(0|br(0|cr[a>>0],-2))+(cr[v>>0]<<4)+(54*(0|cr[a+2>>0])|0)-(cr[a+3>>0]<<2)>>k&65535,a=v;break;default:v=a+1|0,c=(0|br(0|cr[a>>0],-2))+(10*(0|cr[v>>0])|0)+(58*(0|cr[a+2>>0])|0)-(cr[a+3>>0]<<1)>>k&65535,a=v}if(v=u+(d+(0|br(s,l))<<1)|0,or[v>>1]=c,(0|(s=s+1|0))==(0|f)){a=d;break A}}else a=a+1|0}while(0)}while((0|a)!=(0|h))}if(k=0==(0|t)?k:6,(0|f)<=0)ur=b;else{h=0<(0|n),d=0;do{A:do{if(h)for(a=u+(((s=0)|br(d,l))<<1)|0;;){switch(0|o){case 0:c=0|or[(a=a+2|0)>>1];break;case 1:v=a+2|0,c=(0|br(0|or[a>>1],-2))+(58*(0|or[v>>1])|0)+(10*(0|or[a+4>>1])|0)-(or[a+6>>1]<<1)>>k&65535,a=v;break;case 2:v=a+2|0,c=(0|br(0|or[a>>1],-4))+(54*(0|or[v>>1])|0)+(or[a+4>>1]<<4)-(or[a+6>>1]<<1)>>k&65535,a=v;break;case 3:v=a+2|0,c=(0|br(0|or[a>>1],-6))+(46*(0|or[v>>1])|0)+(28*(0|or[a+4>>1])|0)-(or[a+6>>1]<<2)>>k&65535,a=v;break;case 4:v=a+2|0,c=(0|br(0|or[a>>1],-4))-(or[a+6>>1]<<2)+(36*((0|or[a+4>>1])+(0|or[v>>1])|0)|0)>>k&65535,a=v;break;case 5:v=a+2|0,c=(0|br(0|or[a>>1],-4))+(28*(0|or[v>>1])|0)+(46*(0|or[a+4>>1])|0)+(0|br(0|or[a+6>>1],-6))>>k&65535,a=v;break;case 6:v=a+2|0,c=(0|br(0|or[a>>1],-2))+(or[v>>1]<<4)+(54*(0|or[a+4>>1])|0)-(or[a+6>>1]<<2)>>k&65535,a=v;break;default:v=a+2|0,c=(0|br(0|or[a>>1],-2))+(10*(0|or[v>>1])|0)+(58*(0|or[a+4>>1])|0)-(or[a+6>>1]<<1)>>k&65535,a=v}if(v=A+((0|br(s,e))+d<<1)|0,or[v>>1]=c,(0|(s=s+1|0))==(0|n))break A}}while(0);d=d+1|0}while((0|d)!=(0|f));ur=b}},function(A,e,r,i,f,n,t,o,a,c){var l;if(A|=0,e|=0,r|=0,i|=0,t|=0,o|=0,a|=0,l=14-(c|=0)|0,0<(0|(n|=0))&0<(0|(f|=0))){a=0;do{for(t=r+((0|br(a,i))<<1)|0,o=A+((0|br(a,e))<<1)|0,c=0;or[o>>1]=(0|lr[t>>1])<<l,(0|(c=c+1|0))!=(0|f);)t=t+2|0,o=o+2|0;a=a+1|0}while((0|a)!=(0|n))}},function(A,e,r,i,f,n,t,o,a,c){A|=0,e|=0,r|=0,i|=0,t|=0,o|=0,a|=0;var l,u,b,s=0,d=0,k=0,h=0,w=0,v=0;if(b=ur,k=(c|=0)+-8|0,h=0|br((f|=0)<<1,l=(n|=0)+3|0),ur=(u=ur)+(15+(0|+h)&-16)|0,-1<(0|(h=n+2|0))){w=0<(0|f),a=-1;do{A:do{if(w)for(d=a+1|0,a=r+(((s=0)|br(a,i))-1<<1)|0;;){switch(0|t){case 0:c=0|or[(a=a+2|0)>>1];break;case 1:v=a+2|0,c=(0|br(0|lr[a>>1],-2))+(58*(0|lr[v>>1])|0)+(10*(0|lr[a+4>>1])|0)-(lr[a+6>>1]<<1)>>k&65535,a=v;break;case 2:v=a+2|0,c=(0|br(0|lr[a>>1],-4))+(54*(0|lr[v>>1])|0)+(lr[a+4>>1]<<4)-(lr[a+6>>1]<<1)>>k&65535,a=v;break;case 3:v=a+2|0,c=(0|br(0|lr[a>>1],-6))+(46*(0|lr[v>>1])|0)+(28*(0|lr[a+4>>1])|0)-(lr[a+6>>1]<<2)>>k&65535,a=v;break;case 4:v=a+2|0,c=(0|br(0|lr[a>>1],-4))-(lr[a+6>>1]<<2)+(36*((0|lr[a+4>>1])+(0|lr[v>>1])|0)|0)>>k&65535,a=v;break;case 5:v=a+2|0,c=(0|br(0|lr[a>>1],-4))+(28*(0|lr[v>>1])|0)+(46*(0|lr[a+4>>1])|0)+(0|br(0|lr[a+6>>1],-6))>>k&65535,a=v;break;case 6:v=a+2|0,c=(0|br(0|lr[a>>1],-2))+(lr[v>>1]<<4)+(54*(0|lr[a+4>>1])|0)-(lr[a+6>>1]<<2)>>k&65535,a=v;break;default:v=a+2|0,c=(0|br(0|lr[a>>1],-2))+(10*(0|lr[v>>1])|0)+(58*(0|lr[a+4>>1])|0)-(lr[a+6>>1]<<1)>>k&65535,a=v}if(v=u+(d+(0|br(s,l))<<1)|0,or[v>>1]=c,(0|(s=s+1|0))==(0|f)){a=d;break A}}else a=a+1|0}while(0)}while((0|a)!=(0|h))}if(k=0==(0|t)?k:6,(0|f)<=0)ur=b;else{h=0<(0|n),d=0;do{A:do{if(h)for(a=u+(((s=0)|br(d,l))<<1)|0;;){switch(0|o){case 0:c=0|or[(a=a+2|0)>>1];break;case 1:v=a+2|0,c=(0|br(0|or[a>>1],-2))+(58*(0|or[v>>1])|0)+(10*(0|or[a+4>>1])|0)-(or[a+6>>1]<<1)>>k&65535,a=v;break;case 2:v=a+2|0,c=(0|br(0|or[a>>1],-4))+(54*(0|or[v>>1])|0)+(or[a+4>>1]<<4)-(or[a+6>>1]<<1)>>k&65535,a=v;break;case 3:v=a+2|0,c=(0|br(0|or[a>>1],-6))+(46*(0|or[v>>1])|0)+(28*(0|or[a+4>>1])|0)-(or[a+6>>1]<<2)>>k&65535,a=v;break;case 4:v=a+2|0,c=(0|br(0|or[a>>1],-4))-(or[a+6>>1]<<2)+(36*((0|or[a+4>>1])+(0|or[v>>1])|0)|0)>>k&65535,a=v;break;case 5:v=a+2|0,c=(0|br(0|or[a>>1],-4))+(28*(0|or[v>>1])|0)+(46*(0|or[a+4>>1])|0)+(0|br(0|or[a+6>>1],-6))>>k&65535,a=v;break;case 6:v=a+2|0,c=(0|br(0|or[a>>1],-2))+(or[v>>1]<<4)+(54*(0|or[a+4>>1])|0)-(or[a+6>>1]<<2)>>k&65535,a=v;break;default:v=a+2|0,c=(0|br(0|or[a>>1],-2))+(10*(0|or[v>>1])|0)+(58*(0|or[a+4>>1])|0)-(or[a+6>>1]<<1)>>k&65535,a=v}if(v=A+((0|br(s,e))+d<<1)|0,or[v>>1]=c,(0|(s=s+1|0))==(0|n))break A}}while(0);d=d+1|0}while((0|d)!=(0|f));ur=b}},Ob,Ob,Ob],ss=[function(A,e,r,i,f,n,t,o,a,c,l,u){Z(22)},function(A,e,r,i,f,n,t,o,a,c,l,u){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,a|=0,c|=0,l|=0;var b,s,d=0,k=0,h=0;if((0|(u|=0))<=0&&sr(36293,36243,80,36332),s=a+1+l<<u,!((0|t)<=0)&&(b=u+1|0,0<(0|n))){d=0;do{for(u=0|br(d,f),l=A+(0|br(d,e))|0,a=i+(u<<1)|0,u=r+(u<<1)|0,k=0;h=(h=0|br(0|or[u>>1],o))+s+(0|br(0|or[a>>1],c))>>b,tr[l>>0]=(0|h)<0?0:255&((0|h)<255?h:255),(0|(k=k+1|0))!=(0|n);)l=l+1|0,a=a+2|0,u=u+2|0;d=d+1|0}while((0|d)!=(0|t))}}],ds=[function(A,e,r,i,f,n,t,o,a,c,l,u,b){Z(23)},function(A,e,r,i,f,n,t,o,a,c,l,u,b){A|=0,e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,a|=0,c|=0,l|=0,b|=0;var s,d,k,h,w=0,v=0;if((0|(u|=0))<=0&&sr(36293,36243,213,36458),h=a+1+l<<u,!((0|t)<=0)&&(k=u+1|0,d=65535+(s=1<<b)|0,0<(0|n))){b=0;do{for(u=0|br(b,f),l=A+((0|br(b,e))<<1)|0,a=i+(u<<1)|0,u=r+(u<<1)|0,w=0;v=(v=0|br(0|or[u>>1],o))+h+(0|br(0|or[a>>1],c))>>k,or[l>>1]=(0|v)<0?0:65535&((0|v)<(0|s)?v:d),(0|(w=w+1|0))!=(0|n);)l=l+2|0,a=a+2|0,u=u+2|0;b=b+1|0}while((0|b)!=(0|t))}}];return{__GLOBAL__I_000101:function(){!function(A){A|=0;var e=0;(function(A,e,r){var i,f;e|=0,r|=0,f=ur=(i=ur)+31&-32,ur=ur+16|0,Sf(A|=0),ar[A>>2]=14636,ar[A+32>>2]=e,ar[A+40>>2]=r,r=-1,ar[A+48>>2]=r,tr[A+52>>0]=0,r=0|ar[8+(0|ar[A>>2])>>2],ru(f,A+4|0),fs[63&r](A,f),bn(f),ur=i})(58864,A=0|ar[2637],58920),ar[14546]=14208,ar[14548]=14228,ar[14547]=0,Jf(58192,58864),ar[14566]=0,e=-1,ar[14567]=e,function(A,e,r){var i,f;e|=0,r|=0,f=ur=(i=ur)+31&-32,ur=ur+16|0,Of(A|=0),ar[A>>2]=14572,ar[A+32>>2]=e,ar[A+40>>2]=r,r=-1,ar[A+48>>2]=r,tr[A+52>>0]=0,r=0|ar[8+(0|ar[A>>2])>>2],ru(f,A+4|0),fs[63&r](A,f),bn(f),ur=i}(58928,A,58984),ar[14568]=14256,ar[14570]=14276,ar[14569]=0,Jf(58280,58928),ar[14588]=0,A=-1,ar[14589]=A,qf(58992,A=0|ar[2543],59040),ar[14590]=28,ar[14591]=48,Jf(58364,58992),ar[14609]=0,e=-1,ar[14610]=e,$f(59048,A,59096),ar[14611]=14312,ar[14612]=14332,Jf(58448,59048),ar[14630]=0,A=-1,ar[14631]=A,qf(59104,A=0|ar[2669],59152),ar[14632]=28,ar[14633]=48,Jf(58532,59104),ar[14651]=0,e=-1,ar[14652]=e,e=0|ar[58528+(0|ar[(0|ar[14632])-12>>2])+24>>2],ar[14674]=28,ar[14675]=48,Jf(58700,e),ar[14693]=0,e=-1,ar[14694]=e,$f(59160,A,59208),ar[14653]=14312,ar[14654]=14332,Jf(58616,59160),ar[14672]=0,A=-1,ar[14673]=A,A=0|ar[58612+(0|ar[(0|ar[14653])-12>>2])+24>>2],ar[14695]=14312,ar[14696]=14332,Jf(58784,A),ar[14714]=0,A=-1,ar[14715]=A,ar[58184+(0|ar[(0|ar[14546])-12>>2])+72>>2]=58360,ar[58272+(0|ar[(0|ar[14568])-12>>2])+72>>2]=58444,A=58528+(0|ar[(0|ar[14632])-12>>2])+4|0,ar[A>>2]=8192|ar[A>>2],A=58612+(0|ar[(0|ar[14653])-12>>2])+4|0,ar[A>>2]=8192|ar[A>>2],ar[58528+(0|ar[(0|ar[14632])-12>>2])+72>>2]=58360,ar[58612+(0|ar[(0|ar[14653])-12>>2])+72>>2]=58444}(0)},__GLOBAL__sub_I_bind_cpp:function(){rA(4080,48907),S(4096,48912,1,1,0),L(4104,48917,1,-128,127),L(4120,48922,1,-128,127),L(4112,48934,1,0,255),L(4128,48948,2,-32768,32767),L(4136,48954,2,0,65535),L(4144,48969,4,-2147483648,2147483647),L(4152,48973,4,0,-1),L(4160,48986,4,-2147483648,2147483647),L(4168,48991,4,0,-1),x(4176,49005,4),x(4184,49011,8),q(1408,49018),q(2336,49030),$(2360,4,49063),z(1400,49076),K(2384,0,49092),K(2392,0,49122),K(2400,1,49159),K(2408,2,49198),K(2416,3,49229),K(2424,4,49269),K(2432,5,49298),K(2440,4,49336),K(2448,5,49366),K(2392,0,49405),K(2400,1,49437),K(2408,2,49470),K(2416,3,49503),K(2424,4,49537),K(2432,5,49570),K(2456,6,49604),K(2464,7,49635),K(2472,7,49667)},__GLOBAL__sub_I_box_cc:function(){var A,e;ur=(e=ur)+16|0,ar[(A=e)>>2]=0,ar[A+4>>2]=0,oo(56592,ar[A+8>>2]=0,0,A),ur=(0<=(0|tr[A+11>>0])||vu(0|ar[A>>2]),e)},__GLOBAL__sub_I_heif_cc:function(){!function(A){A|=0;var e=0;P(26177,1,6244,26194,67,435),P(26197,1,6248,26194,68,2),P(26221,1,6252,26194,69,3),P(26240,2,6256,26258,44,436),P(26262,3,6264,26292,32,77),P(26297,2,6276,26341,20,70),P(26345,2,6284,26341,21,45),P(26393,3,6292,26292,33,78),P(26426,4,6304,26447,7,10),P(26453,2,6320,26258,46,437),j(1224,26479,4,0),H(1224,26495,0),H(1224,26509,1),H(1224,26541,2),H(1224,26566,3),H(1224,26598,4),H(1224,26629,5),H(1224,26652,6),H(1224,26687,7),H(1224,26719,8),H(1224,26751,9),H(1224,26777,10),j(1232,26817,4,0),H(1232,26836,0),H(1232,26862,5e3),H(1232,26901,100),H(1232,26927,101),H(1232,26958,102),H(1232,26984,103),H(1232,27010,104),H(1232,27036,105),H(1232,27062,106),H(1232,27088,107),H(1232,27114,108),H(1232,27140,109),H(1232,27166,110),H(1232,27192,111),H(1232,27218,112),H(1232,27244,113),H(1232,27270,114),H(1232,27300,115),H(1232,27355,116),H(1232,27400,117),H(1232,27427,118),H(1232,27459,119),H(1232,27493,131),H(1232,27519,120),H(1232,27556,121),H(1232,27591,122),H(1232,27637,123),H(1232,27684,124),H(1232,27725,125),H(1232,27751,1e3),H(1232,27789,126),H(1232,27830,127),H(1232,27875,128),H(1232,27915,129),H(1232,27948,2e3),H(1232,27990,2001),H(1232,28026,2002),H(1232,28077,2003),H(1232,28118,2004),H(1232,28159,2005),H(1232,28195,2006),H(1232,28233,130),H(1232,28264,3e3),H(1232,28296,3001),H(1232,28333,3002),H(1232,28372,3003),H(1232,28415,3004),H(1232,28466,4e3),j(1240,28502,4,0),H(1240,28526,0),H(1240,28553,1),H(1240,28575,2),H(1240,28596,3),H(1240,28618,4),j(1248,28639,4,0),H(1248,28651,99),H(1248,28673,0),H(1248,28696,1),H(1248,28712,2),H(1248,28728,3),H(1248,28744,10),H(1248,28772,11),H(1248,28801,12),H(1248,28835,13),H(1248,28871,14),H(1248,28905,15),H(1248,28941,10),H(1248,28971,11),j(1256,29001,4,0),H(1256,29017,99),H(1256,29043,0),H(1256,29065,1),H(1256,29085,2),j(1264,29112,4,0),H(1264,29125,0),H(1264,29140,2),H(1264,29156,1),H(1264,29172,3),H(1264,29187,4),H(1264,29202,5),H(1264,29217,6),H(1264,29236,10),O(1272,1280,1296,0,26194,71,29274,0,29274,0,29261,29276,438),O(1312,1320,1336,0,26194,72,29274,0,29274,0,29279,29276,439),O(1352,1360,1376,0,26194,73,29274,0,29274,0,29297,29276,440),AA(1392,29308,29319,4,29276,441),A=0|hu(4),ar[A>>2]=0,e=0|hu(4),ar[e>>2]=0,eA(1392,29321,1224,26341,22,0|A,1224,29326,79,0|e),e=0|hu(4),ar[e>>2]=4,A=0|hu(4),ar[A>>2]=4,eA(1392,29331,1232,26341,23,0|e,1232,29326,80,0|A),U(1392)}(0)},__GLOBAL__sub_I_heif_plugin_registry_cc:function(){ar[14321]=0,ar[14322]=0,ar[14320]=57284,ar[14324]=0,ar[14325]=0,ar[14323]=57296,function(A){A|=0;var e,r=0,i=0,f=0;f=7580,0|(A=0|ar[(e=f)+8>>2])&&rs[7&A]();A=0|ar[14321];do{if(A){for(i=57284;;){if(r=0|ar[A+16>>2],f>>>0<r>>>0){if(!(r=0|ar[A>>2])){r=7;break}}else{if(f>>>0<=r>>>0){r=11;break}if(!(r=0|ar[(i=A+4|0)>>2])){r=10;break}A=i}i=A,A=r}if(7==(0|r)){i=f=A;break}if(10==(0|r)){f=A;break}if(11==(0|r)){f=A;break}}else i=f=57284}while(0);if(0|ar[i>>2])return;A=0|hu(20),ar[A+16>>2]=e,ar[A>>2]=0,ar[A+4>>2]=0,ar[A+8>>2]=f,ar[i>>2]=A,(r=0|ar[ar[14320]>>2])&&(ar[14320]=r,A=0|ar[i>>2]);so(0|ar[14321],A),ar[14322]=1+(0|ar[14322])}(61160)},__GLOBAL__sub_I_iostream_cpp:function(){},___cxa_can_catch:function(A,e,r){var i,f;return A|=0,e|=0,r|=0,i=ur=(f=ur)+31&-32,ur=ur+16|0,ar[i>>2]=ar[r>>2],(A=0|xb[63&ar[16+(0|ar[A>>2])>>2]](A,e,i))&&(ar[r>>2]=ar[i>>2]),ur=f,1&A|0},___cxa_is_pointer_type:function(A){return 1&(A=(A|=0)?0!=(0|qu(A,3960,4048,0)):0)|0},___errno_location:Cc,___getTypeName:function(A){return 0|(e=0|ar[(A|=0)+4>>2],(i=(i=0)|yc(r=1+(0|Vc(e|=0))|0))?hb(0|i,0|e,0|r):i=0,0|i);var e,r,i},___muldi3:nb,___udivdi3:lb,___uremdi3:ub,_bitshift64Ashr:bb,_bitshift64Lshr:sb,_bitshift64Shl:db,_emscripten_get_global_libc:function(){return 58064},_emscripten_replace_memory:function(A){return!(16777215&u(A)||u(A)<=16777215||2147483648<u(A))&&(tr=new i(A),or=new f(A),ar=new n(A),cr=new t(A),lr=new o(A),new a(A),gA=new c(A),Q=new l(A),r=A,!0)},_free:Bc,_i64Add:tb,_i64Subtract:ob,_llvm_bswap_i32:kb,_malloc:yc,_memcpy:hb,_memmove:wb,_memset:vb,_pthread_cond_broadcast:mb,_pthread_mutex_lock:gb,_pthread_mutex_unlock:Zb,_roundf:pb,_sbrk:yb,dynCall_i:function(A){return 0|zb[7&(A|=0)]()},dynCall_ii:function(A,e){return e|=0,0|jb[127&(A|=0)](0|e)},dynCall_iii:function(A,e,r){return e|=0,r|=0,0|Hb[31&(A|=0)](0|e,0|r)},dynCall_iiii:function(A,e,r,i){return e|=0,r|=0,i|=0,0|xb[63&(A|=0)](0|e,0|r,0|i)},dynCall_iiiii:function(A,e,r,i,f){return e|=0,r|=0,i|=0,f|=0,0|Pb[7&(A|=0)](0|e,0|r,0|i,0|f)},dynCall_iiiiid:function(A,e,r,i,f,n){return e|=0,r|=0,i|=0,f|=0,n=+n,0|Lb[7&(A|=0)](0|e,0|r,0|i,0|f,+n)},dynCall_iiiiii:function(A,e,r,i,f,n){return e|=0,r|=0,i|=0,f|=0,n|=0,0|Kb[31&(A|=0)](0|e,0|r,0|i,0|f,0|n)},dynCall_iiiiiid:function(A,e,r,i,f,n,t){return e|=0,r|=0,i|=0,f|=0,n|=0,t=+t,0|qb[3&(A|=0)](0|e,0|r,0|i,0|f,0|n,+t)},dynCall_iiiiiii:function(A,e,r,i,f,n,t){return e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,0|$b[63&(A|=0)](0|e,0|r,0|i,0|f,0|n,0|t)},dynCall_iiiiiiii:function(A,e,r,i,f,n,t,o){return e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,0|As[7&(A|=0)](0|e,0|r,0|i,0|f,0|n,0|t,0|o)},dynCall_iiiiiiiii:function(A,e,r,i,f,n,t,o,a){return e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,a|=0,0|es[15&(A|=0)](0|e,0|r,0|i,0|f,0|n,0|t,0|o,0|a)},dynCall_v:function(A){rs[7&(A|=0)]()},dynCall_vi:function(A,e){e|=0,is[511&(A|=0)](0|e)},dynCall_vii:function(A,e,r){e|=0,r|=0,fs[63&(A|=0)](0|e,0|r)},dynCall_viii:function(A,e,r,i){e|=0,r|=0,i|=0,ns[127&(A|=0)](0|e,0|r,0|i)},dynCall_viiii:function(A,e,r,i,f){e|=0,r|=0,i|=0,f|=0,ts[31&(A|=0)](0|e,0|r,0|i,0|f)},dynCall_viiiii:function(A,e,r,i,f,n){e|=0,r|=0,i|=0,f|=0,n|=0,os[63&(A|=0)](0|e,0|r,0|i,0|f,0|n)},dynCall_viiiiii:function(A,e,r,i,f,n,t){e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,as[15&(A|=0)](0|e,0|r,0|i,0|f,0|n,0|t)},dynCall_viiiiiii:function(A,e,r,i,f,n,t,o){e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,cs[31&(A|=0)](0|e,0|r,0|i,0|f,0|n,0|t,0|o)},dynCall_viiiiiiii:function(A,e,r,i,f,n,t,o,a){e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,a|=0,ls[31&(A|=0)](0|e,0|r,0|i,0|f,0|n,0|t,0|o,0|a)},dynCall_viiiiiiiii:function(A,e,r,i,f,n,t,o,a,c){e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,a|=0,c|=0,us[3&(A|=0)](0|e,0|r,0|i,0|f,0|n,0|t,0|o,0|a,0|c)},dynCall_viiiiiiiiii:function(A,e,r,i,f,n,t,o,a,c,l){e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,a|=0,c|=0,l|=0,bs[7&(A|=0)](0|e,0|r,0|i,0|f,0|n,0|t,0|o,0|a,0|c,0|l)},dynCall_viiiiiiiiiiii:function(A,e,r,i,f,n,t,o,a,c,l,u,b){e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,a|=0,c|=0,l|=0,u|=0,b|=0,ss[1&(A|=0)](0|e,0|r,0|i,0|f,0|n,0|t,0|o,0|a,0|c,0|l,0|u,0|b)},dynCall_viiiiiiiiiiiii:function(A,e,r,i,f,n,t,o,a,c,l,u,b,s){e|=0,r|=0,i|=0,f|=0,n|=0,t|=0,o|=0,a|=0,c|=0,l|=0,u|=0,b|=0,s|=0,ds[1&(A|=0)](0|e,0|r,0|i,0|f,0|n,0|t,0|o,0|a,0|c,0|l,0|u,0|b,0|s)},establishStackSpace:function(A,e){ur=A|=0,e|=0},getTempRet0:function(){return 0|D},runPostSets:function(){},setTempRet0:function(A){D=A|=0},setThrew:function(A,e){A|=0,e|=0,k||(k=A,0)},stackAlloc:function(A){var e;return ur=(ur=(e=ur)+(A|=0)|0)+15&-16,0|e},stackRestore:function(A){ur=A|=0},stackSave:function(){return 0|ur}}}(d.asmGlobalArg,d.asmLibraryArg,y),Zr=d.__GLOBAL__I_000101=gr.__GLOBAL__I_000101,pr=d.__GLOBAL__sub_I_bind_cpp=gr.__GLOBAL__sub_I_bind_cpp,yr=d.__GLOBAL__sub_I_box_cc=gr.__GLOBAL__sub_I_box_cc,Br=d.__GLOBAL__sub_I_heif_cc=gr.__GLOBAL__sub_I_heif_cc,Er=d.__GLOBAL__sub_I_heif_plugin_registry_cc=gr.__GLOBAL__sub_I_heif_plugin_registry_cc,Xr=d.__GLOBAL__sub_I_iostream_cpp=gr.__GLOBAL__sub_I_iostream_cpp,Wr=(d.___cxa_can_catch=gr.___cxa_can_catch,d.___cxa_is_pointer_type=gr.___cxa_is_pointer_type,d.___errno_location=gr.___errno_location,d.___getTypeName=gr.___getTypeName),Ir=(d.___muldi3=gr.___muldi3,d.___udivdi3=gr.___udivdi3,d.___uremdi3=gr.___uremdi3,d._bitshift64Ashr=gr._bitshift64Ashr,d._bitshift64Lshr=gr._bitshift64Lshr,d._bitshift64Shl=gr._bitshift64Shl,d._emscripten_get_global_libc=gr._emscripten_get_global_libc,d._emscripten_replace_memory=gr._emscripten_replace_memory),Cr=d._free=gr._free,Gr=(d._i64Add=gr._i64Add,d._i64Subtract=gr._i64Subtract,d._llvm_bswap_i32=gr._llvm_bswap_i32,d._malloc=gr._malloc);d._memcpy=gr._memcpy,d._memmove=gr._memmove,d._memset=gr._memset,d._pthread_cond_broadcast=gr._pthread_cond_broadcast,d._pthread_mutex_lock=gr._pthread_mutex_lock,d._pthread_mutex_unlock=gr._pthread_mutex_unlock,d._roundf=gr._roundf,d._sbrk=gr._sbrk,d.establishStackSpace=gr.establishStackSpace,d.getTempRet0=gr.getTempRet0,d.runPostSets=gr.runPostSets,d.setTempRet0=gr.setTempRet0,d.setThrew=gr.setThrew,d.stackAlloc=gr.stackAlloc,d.stackRestore=gr.stackRestore,d.stackSave=gr.stackSave,d.dynCall_i=gr.dynCall_i,d.dynCall_ii=gr.dynCall_ii,d.dynCall_iii=gr.dynCall_iii,d.dynCall_iiii=gr.dynCall_iiii,d.dynCall_iiiii=gr.dynCall_iiiii,d.dynCall_iiiiid=gr.dynCall_iiiiid,d.dynCall_iiiiii=gr.dynCall_iiiiii,d.dynCall_iiiiiid=gr.dynCall_iiiiiid,d.dynCall_iiiiiii=gr.dynCall_iiiiiii,d.dynCall_iiiiiiii=gr.dynCall_iiiiiiii,d.dynCall_iiiiiiiii=gr.dynCall_iiiiiiiii,d.dynCall_v=gr.dynCall_v,d.dynCall_vi=gr.dynCall_vi,d.dynCall_vii=gr.dynCall_vii,d.dynCall_viii=gr.dynCall_viii,d.dynCall_viiii=gr.dynCall_viiii,d.dynCall_viiiii=gr.dynCall_viiiii,d.dynCall_viiiiii=gr.dynCall_viiiiii,d.dynCall_viiiiiii=gr.dynCall_viiiiiii,d.dynCall_viiiiiiii=gr.dynCall_viiiiiiii,d.dynCall_viiiiiiiii=gr.dynCall_viiiiiiiii,d.dynCall_viiiiiiiiii=gr.dynCall_viiiiiiiiii,d.dynCall_viiiiiiiiiiii=gr.dynCall_viiiiiiiiiiii,d.dynCall_viiiiiiiiiiiii=gr.dynCall_viiiiiiiiiiiii;if(k.stackAlloc=d.stackAlloc,k.stackSave=d.stackSave,k.stackRestore=d.stackRestore,k.establishStackSpace=d.establishStackSpace,k.setTempRet0=d.setTempRet0,k.getTempRet0=d.getTempRet0,d.asm=gr,bA)if(\\\"function\\\"==typeof d.locateFile?bA=d.locateFile(bA):d.memoryInitializerPrefixURL&&(bA=d.memoryInitializerPrefixURL+bA),o||r){var Vr=d.readBinary(bA);E.set(Vr,k.GLOBAL_BASE)}else{lA();var Fr=function(A){A.byteLength&&(A=new Uint8Array(A)),E.set(A,k.GLOBAL_BASE),d.memoryInitializerRequest&&delete d.memoryInitializerRequest.response,uA()};function Rr(){d.readAsync(bA,Fr,function(){throw\\\"could not load memory initializer \\\"+bA})}var Nr=vr(bA);if(Nr)Fr(Nr.buffer);else if(d.memoryInitializerRequest){function _r(){var A=d.memoryInitializerRequest,e=A.response;if(200!==A.status&&0!==A.status){var r=vr(d.memoryInitializerRequestURL);if(!r)return console.warn(\\\"a problem seems to have happened with Module.memoryInitializerRequest, status: \\\"+A.status+\\\", retrying \\\"+bA),void Rr();e=r.buffer}Fr(e)}d.memoryInitializerRequest.response?setTimeout(_r,0):d.memoryInitializerRequest.addEventListener(\\\"load\\\",_r)}else Rr()}function Yr(A){this.name=\\\"ExitStatus\\\",this.message=\\\"Program terminated with exit(\\\"+A+\\\")\\\",this.status=A}(Yr.prototype=new Error).constructor=Yr;var Qr=null;function Dr(A){function e(){d.calledRun||(d.calledRun=!0,n||(AA||(AA=!0,x(L)),x(K),d.onRuntimeInitialized&&d.onRuntimeInitialized(),function(){if(d.postRun)for(\\\"function\\\"==typeof d.postRun&&(d.postRun=[d.postRun]);d.postRun.length;)A=d.postRun.shift(),$.unshift(A);var A;x($)}()))}A=A||d.arguments,null===Qr&&(Qr=Date.now()),0<oA||(function(){if(d.preRun)for(\\\"function\\\"==typeof d.preRun&&(d.preRun=[d.preRun]);d.preRun.length;)A=d.preRun.shift(),P.unshift(A);var A;x(P)}(),0<oA||d.calledRun||(d.setStatus?(d.setStatus(\\\"Running...\\\"),setTimeout(function(){setTimeout(function(){d.setStatus(\\\"\\\")},1),e()},1)):e()))}cA=function A(){d.calledRun||Dr(),d.calledRun||(cA=A)},d.run=Dr,d.exit=function(A,e){e&&d.noExitRuntime&&0===A||(d.noExitRuntime||(n=!0,_=mr,x(q),d.onExit&&d.onExit(A)),o&&process.exit(A),d.quit(A,new Yr(A)))};var Jr=[];function Mr(e){d.onAbort&&d.onAbort(e),e=void 0!==e?(d.print(e),d.printErr(e),JSON.stringify(e)):\\\"\\\",n=!0,0;var r=\\\"abort(\\\"+e+\\\") at \\\"+p()+\\\"\\\\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.\\\";throw Jr&&Jr.forEach(function(A){r=A(r,e)}),r}if(d.abort=Mr,d.preInit)for(\\\"function\\\"==typeof d.preInit&&(d.preInit=[d.preInit]);0<d.preInit.length;)d.preInit.pop()();d.noExitRuntime=!0,Dr();function Tr(A){this.handle=A,this.img=null}Tr.prototype.free=function(){this.handle&&(zr.heif_image_handle_release(this.handle),this.handle=null)},Tr.prototype._ensureImage=function(){if(!this.img){var A=zr.heif_js_decode_image(this.handle,zr.heif_colorspace_YCbCr,zr.heif_chroma_420);A&&!A.code?(this.data=new Uint8Array(function(A){for(var e=new ArrayBuffer(A.length),r=new Uint8Array(e),i=0,f=A.length;i<f;i++)r[i]=A.charCodeAt(i);return e}(A.data)),delete A.data,this.img=A):console.log(\\\"Decoding image failed\\\",this.handle,A)}},Tr.prototype.get_width=function(){return this._ensureImage(),this.img.width},Tr.prototype.get_height=function(){return this._ensureImage(),this.img.height},Tr.prototype.is_primary=function(){return this._ensureImage(),!!this.img.is_primary},Tr.prototype.display=function(m,g){var Z=this.get_width(),p=this.get_height();setTimeout(function(){if(this._ensureImage(),this.img){for(var A,e,r,i,f=0,n=0,t=0,o=0,a=0,c=0,l=Z*p,u=Z,b=Math.ceil(Z/2),s=Math.ceil(Z/2),d=Math.ceil(p/2),k=this.data,h=this.data.subarray(u*p,u*p+b*d),w=this.data.subarray(u*p+b*d,u*p+b*d+s*d),v=m.data;c<l;)i=f>>1,A=1.164*(k[t+f]-16),e=h[o+i]-128,r=w[a+i]-128,v[c<<2]=A+1.596*r,v[1+(c<<2)]=A-.813*r-.391*e,v[2+(c<<2)]=A+2.018*e,v[3+(c<<2)]=255,c++,++f<Z&&(A=1.164*(k[t+f]-16),v[c<<2]=A+1.596*r,v[1+(c<<2)]=A-.813*r-.391*e,v[2+(c<<2)]=A+2.018*e,v[3+(c<<2)]=255,c++,f++),f===Z&&(f=0,t+=u,o=(++n>>1)*b,a=(n>>1)*s);g(m)}else g(null)}.bind(this),0)};function Ur(){this.decoder=null}Ur.prototype.decode=function(A){if(this.decoder&&zr.heif_context_free(this.decoder),this.decoder=zr.heif_context_alloc(),!this.decoder)return console.log(\\\"Could not create HEIF context\\\"),[];var e=zr.heif_context_read_from_memory(this.decoder,A);if(e.code!==zr.heif_error_Ok)return console.log(\\\"Could not parse HEIF file\\\",e),[];var r=zr.heif_js_context_get_list_of_top_level_image_IDs(this.decoder);if(!r||r.code)return console.log(\\\"Error loading image ids\\\",r),[];if(!r.length)return console.log(\\\"No images found\\\"),[];for(var i=[],f=0;f<r.length;f++){var n=zr.heif_js_context_get_image_handle(this.decoder,r[f]);n&&!n.code?i.push(new Tr(n)):console.log(\\\"Could not get image data for id\\\",r[f],n)}return i};var Sr,Or,zr={HeifDecoder:Ur,fourcc:function(A){return A.charCodeAt(0)<<24|A.charCodeAt(1)<<16|A.charCodeAt(2)<<8|A.charCodeAt(3)}},jr={heif_error_code:!0,heif_suberror_code:!0,heif_compression_format:!0,heif_chroma:!0,heif_colorspace:!0,heif_channel:!0};for(Or in jr)if(jr.hasOwnProperty(Or))for(Sr in d[Or])d[Or].hasOwnProperty(Sr)&&\\\"values\\\"!==Sr&&(zr[Sr]=d[Or][Sr]);for(Sr in d)jr.hasOwnProperty(Sr)||0!==Sr.indexOf(\\\"heif_\\\")||(zr[Sr]=d[Sr]);function QA(A,e){return A=YA(A=A||\\\"function_\\\"+new Date),new Function(\\\"body\\\",\\\"return function \\\"+A+'() {\\\\n \\\"use strict\\\"; return body.apply(this, arguments);\\\\n};\\\\n')(e)}delete this.Module;\\\"undefined\\\"!=typeof exports?(\\\"undefined\\\"!=typeof module&&module.exports&&(exports=module.exports=zr),exports.libheif=zr):this.libheif=zr,\\\"function\\\"==typeof define&&define.amd&&define([],function(){return zr})}).call(this);\\n;\\nfunction processSingleImage(image) {\\n return new Promise((resolve, reject) => {\\n const w = image.get_width();\\n const h = image.get_height();\\n const whiteImage = new ImageData(w, h);\\n for (let i = 0; i < w * h; i++) {\\n whiteImage.data[i * 4 + 3] = 255;\\n }\\n image.display(whiteImage, (imageData) => {\\n if (!imageData) {\\n return reject(\\\"ERR_LIBHEIF Error while processing single image and generating image data, could not ensure image\\\");\\n }\\n resolve(imageData);\\n });\\n });\\n}\\nonmessage = (message) => {\\n const id = message.data.id;\\n try {\\n const decoder = new libheif.HeifDecoder();\\n let imagesArr = decoder.decode(message.data.buffer);\\n if (!imagesArr || !imagesArr.length) {\\n throw \\\"ERR_LIBHEIF format not supported\\\";\\n }\\n imagesArr = imagesArr.filter((x) => {\\n let valid = true;\\n try {\\n /*\\n sometimes the heic container is valid\\n yet the images themselves are corrupt\\n */\\n x.get_height();\\n }\\n catch (e) {\\n valid = false;\\n }\\n return valid;\\n });\\n if (!imagesArr.length) {\\n throw \\\"ERR_LIBHEIF Heic doesn't contain valid images\\\";\\n }\\n Promise.all(imagesArr.map((image) => processSingleImage(image)))\\n .then((imageDataArr) => {\\n postMessage({ id, imageDataArr, error: \\\"\\\" });\\n })\\n .catch((e) => {\\n postMessage({\\n id,\\n imageDataArr: [],\\n error: e && e.toString ? e.toString() : e,\\n });\\n });\\n }\\n catch (e) {\\n postMessage({\\n id,\\n imageDataArr: [],\\n error: e && e.toString ? e.toString() : e,\\n });\\n }\\n};\\n\\n\";\nvar blob = new Blob([workerString], {type: 'application/javascript'});\nwindow.__heic2any__worker = new Worker(URL.createObjectURL(blob));\"use strict\";\r\n;\r\n;\r\n;\r\nvar supportedMIMETypes = [\"image/png\", \"image/jpeg\", \"image/gif\"];\r\nvar utils = {\r\n blobToDataURL: function (blob) {\r\n return new Promise(function (resolve, reject) {\r\n var reader = new FileReader();\r\n reader.onerror = function () {\r\n reject(\"ERR_DOM Error on converting blob to data URL\");\r\n };\r\n reader.onload = function (e) {\r\n resolve(reader.result);\r\n };\r\n reader.readAsDataURL(blob);\r\n });\r\n },\r\n dataURItoBlob: function (dataURI) {\r\n try {\r\n var byteString = atob(dataURI.split(\",\")[1]);\r\n var mimeString = dataURI.split(\",\")[0].split(\":\")[1].split(\";\")[0];\r\n var ab = new ArrayBuffer(byteString.length);\r\n var ia = new Uint8Array(ab);\r\n for (var i = 0; i < byteString.length; i++) {\r\n ia[i] = byteString.charCodeAt(i);\r\n }\r\n var blob = new Blob([ab], { type: mimeString });\r\n return blob;\r\n }\r\n catch (e) {\r\n return \"ERR_DOM Error on converting data URI to blob \" + e &&\r\n e.toString\r\n ? e.toString()\r\n : e;\r\n }\r\n },\r\n imageDataToBlob: function (ref) {\n var imageData = ref.imageData;\n var toType = ref.toType; if ( toType === void 0 ) toType = \"image/png\";\n var quality = ref.quality; if ( quality === void 0 ) quality = 0.92;\n\r\n // normalize quality\r\n if (quality > 1 || quality < 0) {\r\n quality = 0.92;\r\n }\r\n // normalize MIME type\r\n if (supportedMIMETypes.indexOf(toType) === -1) {\r\n toType = \"image/png\";\r\n }\r\n return new Promise(function (resolve, reject) {\r\n var canvas = null;\r\n try {\r\n canvas = document.createElement(\"canvas\");\r\n }\r\n catch (e) { }\r\n if (!canvas) {\r\n return reject(\"ERR_CANVAS Error on converting imagedata to blob: Could not create canvas element\");\r\n }\r\n canvas.width = imageData.width;\r\n canvas.height = imageData.height;\r\n var ctx = canvas.getContext(\"2d\");\r\n if (!ctx) {\r\n return reject(\"ERR_CANVAS Error on converting imagedata to blob: Could not get canvas context\");\r\n }\r\n ctx.putImageData(imageData, 0, 0);\r\n canvas.toBlob(function (blob) {\r\n if (!blob) {\r\n return reject(\"ERR_CANVAS Error on converting imagedata to blob: Could not get blob from canvas\");\r\n }\r\n return resolve(blob);\r\n }, toType, quality);\r\n });\r\n },\r\n imagesToGif: function (ref) {\n var images = ref.images;\n var interval = ref.interval;\n var gifHeight = ref.gifHeight;\n var gifWidth = ref.gifWidth;\n\r\n return new Promise(function (resolve, reject) {\r\n gifshot.createGIF({\r\n images: images,\r\n interval: interval,\r\n gifHeight: gifHeight,\r\n gifWidth: gifWidth,\r\n }, function (res) {\r\n if (res.error) {\r\n reject((\"ERR_GIF \" + (res.errorCode) + \" \" + (res.errorMessage)));\r\n }\r\n return resolve(res.image);\r\n });\r\n });\r\n },\r\n otherImageType: function (buffer) {\r\n /**\r\n * Some confusion might arise when passing a regular image\r\n * like jpeg/png/gif and getting \"format is not supported\"\r\n * so to solve this, we should detect if the image is\r\n * already browser-readable.\r\n */\r\n var arr = new Uint8Array(buffer).subarray(0, 4);\r\n var header = \"\";\r\n for (var i = 0; i < arr.length; i++) {\r\n header = header + arr[i].toString(16);\r\n }\r\n switch (header) {\r\n case \"89504e47\":\r\n return \"image/png\";\r\n case \"47494638\":\r\n return \"image/gif\";\r\n case \"ffd8ffe0\":\r\n case \"ffd8ffe1\":\r\n case \"ffd8ffe2\":\r\n case \"ffd8ffe3\":\r\n case \"ffd8ffe8\":\r\n return \"image/jpeg\";\r\n default:\r\n return false;\r\n }\r\n },\r\n error: function (message) {\r\n /**\r\n * Error coding system:\r\n *\r\n * UNKNOWN = 0\r\n * USER errors = 1\r\n * LIBHEIF errors = 2\r\n * GIF errors = 3\r\n * DOM errors = 4\r\n * CANVAS errors = 5\r\n *\r\n */\r\n var code = 0;\r\n if (!message) {\r\n message = \"ERR_UNKNOWN\";\r\n }\r\n else if (typeof message !== \"string\") {\r\n if (message.toString) {\r\n message = message.toString();\r\n }\r\n else {\r\n message = JSON.stringify(message);\r\n }\r\n }\r\n var headers = [\r\n \"ERR_USER\",\r\n \"ERR_LIBHEIF\",\r\n \"ERR_GIF\",\r\n \"ERR_DOM\",\r\n \"ERR_CANVAS\" ];\r\n for (var index = 0; index < headers.length; index++) {\r\n var header = headers[index];\r\n if (message.indexOf(header) === 0) {\r\n code = index + 1;\r\n }\r\n }\r\n return {\r\n code: code,\r\n message: message,\r\n };\r\n },\r\n};\r\nfunction decodeBuffer(buffer) {\r\n return new Promise(function (resolve, reject) {\r\n var id = (Math.random() * new Date().getTime()).toString();\r\n var message = { id: id, buffer: buffer };\r\n window.__heic2any__worker.postMessage(message);\r\n window.__heic2any__worker.addEventListener(\"message\", function (message) {\r\n if (message.data.id === id) {\r\n if (message.data.error) {\r\n return reject(message.data.error);\r\n }\r\n return resolve(message.data.imageDataArr);\r\n }\r\n });\r\n });\r\n}\r\nfunction heic2any(ref) {\n var blob = ref.blob;\n var toType = ref.toType; if ( toType === void 0 ) toType = \"image/png\";\n var quality = ref.quality; if ( quality === void 0 ) quality = 0.92;\n var gifInterval = ref.gifInterval; if ( gifInterval === void 0 ) gifInterval = 0.4;\n var multiple = ref.multiple; if ( multiple === void 0 ) multiple = undefined;\n\r\n return new Promise(function (resolve, reject) {\r\n if (!(blob instanceof Blob)) {\r\n utils.error(\"ERR_USER library only accepts BLOBs as input\");\r\n }\r\n if (typeof multiple !== \"boolean\") {\r\n utils.error(\"ERR_USER \\\"multiple\\\" parameter should be of type \\\"boolean\\\"\");\r\n }\r\n if (typeof quality !== \"number\") {\r\n utils.error(\"ERR_USER \\\"quality\\\" parameter should be of type \\\"number\\\"\");\r\n }\r\n if (typeof gifInterval !== \"number\") {\r\n utils.error(\"ERR_USER \\\"gifInterval\\\" parameter should be of type \\\"number\\\"\");\r\n }\r\n var reader = new FileReader();\r\n reader.onload = function (e) {\r\n var gifWidth = 0;\r\n var gifHeight = 0;\r\n var buffer = e.target.result;\r\n var otherImageType = utils.otherImageType(buffer);\r\n if (otherImageType) {\r\n return reject(utils.error((\"ERR_USER Image is already browser readable: \" + otherImageType)));\r\n }\r\n decodeBuffer(buffer)\r\n .then(function (imageDataArr) {\r\n gifWidth = imageDataArr[0].width;\r\n gifHeight = imageDataArr[0].height;\r\n return Promise.all(imageDataArr.map(function (imageData) { return utils.imageDataToBlob({\r\n imageData: imageData,\r\n toType: toType,\r\n quality: quality,\r\n }); }));\r\n })\r\n .then(function (blobs) {\r\n if (toType === \"image/gif\") {\r\n return Promise.all(blobs.map(function (blob) { return utils.blobToDataURL(blob); }));\r\n }\r\n else if (multiple) {\r\n resolve(blobs);\r\n return [\"\"];\r\n }\r\n else {\r\n resolve(blobs[0]);\r\n return [\"\"];\r\n }\r\n })\r\n .then(function (dataURIs) {\r\n if (toType === \"image/gif\" && dataURIs) {\r\n return utils.imagesToGif({\r\n images: dataURIs,\r\n interval: gifInterval,\r\n gifWidth: gifWidth,\r\n gifHeight: gifHeight,\r\n });\r\n }\r\n return \"\";\r\n })\r\n .then(function (resultingGif) {\r\n if (toType === \"image/gif\" && resultingGif) {\r\n var blob = utils.dataURItoBlob(resultingGif);\r\n if (typeof blob === \"string\") {\r\n reject(utils.error(blob));\r\n }\r\n else {\r\n resolve(blob);\r\n }\r\n }\r\n })\r\n .catch(function (e) {\r\n reject(utils.error(e));\r\n });\r\n };\r\n reader.readAsArrayBuffer(blob);\r\n });\r\n}\r\n;\r\n\nreturn heic2any;\n}));\n","import { builderDispatch, PrismUI, WebUI } from \"../ui\";\nimport { db } from \"./db\";\nimport { usePrismItemStore } from 'stores/usePrismItemStore';\n\n/**\n * Uploads a file to the API.\n * @param {Object} upload - The upload object.\n * @param {File} compressedBlobAsFile - The compressed blob as a file.\n * @returns {Promise<void>} - A promise that resolves when the file is uploaded.\n */\nexport async function uploadFileToAPI(upload, compressedBlobAsFile) {\n const formData = buildFormData(compressedBlobAsFile, { uploadSource: 'uploadIndexedDB', target_album: null });\n formData.append('name', compressedBlobAsFile.name);\n formData.append('file', compressedBlobAsFile);\n \n let number_of_files = 0;\n let number_of_errors = 0;\n\n try {\n const response = await fetch(upload.uploadUrl, {\n method: 'POST',\n body: formData,\n });\n\n if (response.status !== 200) {\n number_of_files--;\n number_of_errors++;\n\n db.upload.update(upload.uuid, { status: 'error' });\n \n console.error('Error posting files to API', response);\n }\n\n number_of_files++;\n } catch (error) {\n number_of_files--;\n number_of_errors++;\n\n db.upload.update(upload.uuid, { status: 'error' });\n\n console.error('Error posting files to API', error);\n }\n \n if (number_of_errors > 0) {\n usePrismItemStore.setState(({ failedImagesUploaded}) => ({\n failedImagesUploaded: [...failedImagesUploaded, compressedBlobAsFile.name]\n }));\n } else {\n await db.upload.update(upload.uuid, { status: 'done' });\n await db.upload.delete(upload.uuid);\n }\n}\n\n/**\n * Builds a FormData object with the provided file and additional data.\n * @param {File} file - The file to be included in the FormData object.\n * @param {Object} additionalData - Additional data to be included in the FormData object.\n * @returns {FormData} The FormData object containing the file and additional data.\n */\nfunction buildFormData(file, additionalData) {\n const formData = new FormData();\n const {\n uploadSource: uploadSourceOverride,\n ...otherParams\n } = additionalData;\n\n const uploadSource = uploadSourceOverride || 'livelink';\n\n formData.set('source', uploadSource);\n Object.entries(otherParams).forEach(([key, value]) => {\n formData.append(key, value);\n });\n\n return formData;\n}\n","import imageCompression from 'browser-image-compression';\nimport heic2any from 'heic2any';\nimport { uploadFileToAPI } from './observables';\nimport { db } from \"./db\";\n\n/**\n * Uploads a pending file from IndexedDB to the API.\n * @param {string} uuid - The UUID of the file to be uploaded.\n * @returns {Promise<void>} - A promise that resolves when the upload is complete.\n */\nexport const uploadPendingFileFromIndexedDB = async (uuid) => {\n try {\n const upload = await db.upload.where({ uuid: uuid, status: 'pending' }).first();\n\n if (!upload) return;\n\n const compressedBlobAsFile = await compressImage(upload.file);\n await uploadFileToAPI(upload, compressedBlobAsFile);\n } catch (error) {\n console.error('Error uploading pending file from IndexedDB', error);\n }\n}\n\n/**\n * Compresses an image file using the specified compression options.\n * @param {File} file - The image file to compress.\n * @param {Object} compressionOptions - The compression options.\n * @param {number} compressionOptions.maxFilesize - The maximum file size in megabytes.\n * @param {boolean} compressionOptions.preserveExif - Whether to preserve EXIF data.\n * @param {number} compressionOptions.maxWidthOrHeight - The maximum width or height of the compressed image.\n * @returns {Promise<File>} A promise that resolves to the compressed image file.\n */\nexport async function compressImage(file, compressionOptions = {}) {\n if (file.type === 'image/heic' || file.type === 'image/heif') {\n const convertedBlob = await heic2any({\n blob: file,\n toType: 'image/jpeg',\n quality: 1\n });\n file = new File([convertedBlob], `${file.name}.jpg`, { type: 'image/jpeg' });\n }\n\n if (!file.type.startsWith('image/')) {\n console.error('The provided file is not an image.');\n return;\n }\n\n const options = {\n maxSizeMB: compressionOptions.maxFilesize || file.size > 20 ? 10 : 1,\n preserveExif: compressionOptions.preserveExif || true,\n maxWidthOrHeight: compressionOptions.maxWidthOrHeight || undefined,\n useWebWorker: true,\n alwaysKeepResolution: true,\n fileType: file.type === 'image/png' ? 'image/png' : 'image/jpeg',\n }\n\n const compressedBlob = await imageCompression(file, options);\n return new File([compressedBlob], file.name, { type: file.type });\n}\n","import Dexie from 'dexie';\nimport 'dexie-observable';\nimport { uploadPendingFileFromIndexedDB } from './image-manip-helpers';\nimport { builderDispatch, WebUI } from '../ui';\nimport { usePrismItemStore } from 'stores/usePrismItemStore';\n\n/**\n * Represents the database instance for LIVELINK_PRISM_BUILDER.\n * @type {Dexie}\n */\nexport const db = new Dexie('LIVELINK_PRISM_BUILDER');\ndb.version(1).stores({\n upload: '$$uuid, status, prismItemID',\n});\n\ndb.on('changes', function(changes) {\n changes.forEach(async function(change) {\n switch (change.table) {\n case 'upload':\n if (prismItem.num !== change.obj?.prismItemID) {\n return;\n }\n\n switch (change.type) {\n case 1: // CREATED\n await uploadPendingFileFromIndexedDB(change.obj.uuid);\n break;\n case 2: // UPDATED\n builderDispatch.dispatch({\n type: WebUI.UPLOAD_PROGRESS,\n });\n usePrismItemStore.getState().trackProgress();\n break;\n }\n break;\n }\n });\n});\n","const FileClearingMixin = {\n clearUploaded() {\n this.files = (this.files || []).filter((file) => !file.uploaded);\n },\n};\n\nexport default FileClearingMixin;\n","const FileSelectorMixin = {\n totalNumberOfFilesSelected() {\n return this.filesSelected().length;\n },\n\n filesSelected() {\n const { service } = this.props;\n return (this.files || []).map((f) => {\n f.service = service;\n return f;\n });\n },\n\n removeFile(file) {\n const index = this.files.indexOf(file);\n if (index === -1) {\n return;\n }\n\n this.files.splice(index, 1);\n delete file.selected;\n },\n\n clear() {\n this.files = [];\n\n if (typeof this._clear === 'function') {\n this._clear();\n }\n },\n};\n\nexport default FileSelectorMixin;\n","// vim:ts=4:sts=4:sw=4:\n/*!\n *\n * Copyright 2009-2017 Kris Kowal under the terms of the MIT\n * license found at https://github.com/kriskowal/q/blob/v1/LICENSE\n *\n * With parts by Tyler Close\n * Copyright 2007-2009 Tyler Close under the terms of the MIT X license found\n * at http://www.opensource.org/licenses/mit-license.html\n * Forked at ref_send.js version: 2009-05-11\n *\n * With parts by Mark Miller\n * Copyright (C) 2011 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n(function (definition) {\n \"use strict\";\n\n // This file will function properly as a <script> tag, or a module\n // using CommonJS and NodeJS or RequireJS module formats. In\n // Common/Node/RequireJS, the module exports the Q API and when\n // executed as a simple <script>, it creates a Q global instead.\n\n // Montage Require\n if (typeof bootstrap === \"function\") {\n bootstrap(\"promise\", definition);\n\n // CommonJS\n } else if (typeof exports === \"object\" && typeof module === \"object\") {\n module.exports = definition();\n\n // RequireJS\n } else if (typeof define === \"function\" && define.amd) {\n define(definition);\n\n // SES (Secure EcmaScript)\n } else if (typeof ses !== \"undefined\") {\n if (!ses.ok()) {\n return;\n } else {\n ses.makeQ = definition;\n }\n\n // <script>\n } else if (typeof window !== \"undefined\" || typeof self !== \"undefined\") {\n // Prefer window over self for add-on scripts. Use self for\n // non-windowed contexts.\n var global = typeof window !== \"undefined\" ? window : self;\n\n // Get the `window` object, save the previous Q global\n // and initialize Q as a global.\n var previousQ = global.Q;\n global.Q = definition();\n\n // Add a noConflict function so Q can be removed from the\n // global namespace.\n global.Q.noConflict = function () {\n global.Q = previousQ;\n return this;\n };\n\n } else {\n throw new Error(\"This environment was not anticipated by Q. Please file a bug.\");\n }\n\n})(function () {\n\"use strict\";\n\nvar hasStacks = false;\ntry {\n throw new Error();\n} catch (e) {\n hasStacks = !!e.stack;\n}\n\n// All code after this point will be filtered from stack traces reported\n// by Q.\nvar qStartingLine = captureLine();\nvar qFileName;\n\n// shims\n\n// used for fallback in \"allResolved\"\nvar noop = function () {};\n\n// Use the fastest possible means to execute a task in a future turn\n// of the event loop.\nvar nextTick =(function () {\n // linked list of tasks (single, with head node)\n var head = {task: void 0, next: null};\n var tail = head;\n var flushing = false;\n var requestTick = void 0;\n var isNodeJS = false;\n // queue for late tasks, used by unhandled rejection tracking\n var laterQueue = [];\n\n function flush() {\n /* jshint loopfunc: true */\n var task, domain;\n\n while (head.next) {\n head = head.next;\n task = head.task;\n head.task = void 0;\n domain = head.domain;\n\n if (domain) {\n head.domain = void 0;\n domain.enter();\n }\n runSingle(task, domain);\n\n }\n while (laterQueue.length) {\n task = laterQueue.pop();\n runSingle(task);\n }\n flushing = false;\n }\n // runs a single function in the async queue\n function runSingle(task, domain) {\n try {\n task();\n\n } catch (e) {\n if (isNodeJS) {\n // In node, uncaught exceptions are considered fatal errors.\n // Re-throw them synchronously to interrupt flushing!\n\n // Ensure continuation if the uncaught exception is suppressed\n // listening \"uncaughtException\" events (as domains does).\n // Continue in next event to avoid tick recursion.\n if (domain) {\n domain.exit();\n }\n setTimeout(flush, 0);\n if (domain) {\n domain.enter();\n }\n\n throw e;\n\n } else {\n // In browsers, uncaught exceptions are not fatal.\n // Re-throw them asynchronously to avoid slow-downs.\n setTimeout(function () {\n throw e;\n }, 0);\n }\n }\n\n if (domain) {\n domain.exit();\n }\n }\n\n nextTick = function (task) {\n tail = tail.next = {\n task: task,\n domain: isNodeJS && process.domain,\n next: null\n };\n\n if (!flushing) {\n flushing = true;\n requestTick();\n }\n };\n\n if (typeof process === \"object\" &&\n process.toString() === \"[object process]\" && process.nextTick) {\n // Ensure Q is in a real Node environment, with a `process.nextTick`.\n // To see through fake Node environments:\n // * Mocha test runner - exposes a `process` global without a `nextTick`\n // * Browserify - exposes a `process.nexTick` function that uses\n // `setTimeout`. In this case `setImmediate` is preferred because\n // it is faster. Browserify's `process.toString()` yields\n // \"[object Object]\", while in a real Node environment\n // `process.toString()` yields \"[object process]\".\n isNodeJS = true;\n\n requestTick = function () {\n process.nextTick(flush);\n };\n\n } else if (typeof setImmediate === \"function\") {\n // In IE10, Node.js 0.9+, or https://github.com/NobleJS/setImmediate\n if (typeof window !== \"undefined\") {\n requestTick = setImmediate.bind(window, flush);\n } else {\n requestTick = function () {\n setImmediate(flush);\n };\n }\n\n } else if (typeof MessageChannel !== \"undefined\") {\n // modern browsers\n // http://www.nonblocking.io/2011/06/windownexttick.html\n var channel = new MessageChannel();\n // At least Safari Version 6.0.5 (8536.30.1) intermittently cannot create\n // working message ports the first time a page loads.\n channel.port1.onmessage = function () {\n requestTick = requestPortTick;\n channel.port1.onmessage = flush;\n flush();\n };\n var requestPortTick = function () {\n // Opera requires us to provide a message payload, regardless of\n // whether we use it.\n channel.port2.postMessage(0);\n };\n requestTick = function () {\n setTimeout(flush, 0);\n requestPortTick();\n };\n\n } else {\n // old browsers\n requestTick = function () {\n setTimeout(flush, 0);\n };\n }\n // runs a task after all other tasks have been run\n // this is useful for unhandled rejection tracking that needs to happen\n // after all `then`d tasks have been run.\n nextTick.runAfter = function (task) {\n laterQueue.push(task);\n if (!flushing) {\n flushing = true;\n requestTick();\n }\n };\n return nextTick;\n})();\n\n// Attempt to make generics safe in the face of downstream\n// modifications.\n// There is no situation where this is necessary.\n// If you need a security guarantee, these primordials need to be\n// deeply frozen anyway, and if you don’t need a security guarantee,\n// this is just plain paranoid.\n// However, this **might** have the nice side-effect of reducing the size of\n// the minified code by reducing x.call() to merely x()\n// See Mark Miller’s explanation of what this does.\n// http://wiki.ecmascript.org/doku.php?id=conventions:safe_meta_programming\nvar call = Function.call;\nfunction uncurryThis(f) {\n return function () {\n return call.apply(f, arguments);\n };\n}\n// This is equivalent, but slower:\n// uncurryThis = Function_bind.bind(Function_bind.call);\n// http://jsperf.com/uncurrythis\n\nvar array_slice = uncurryThis(Array.prototype.slice);\n\nvar array_reduce = uncurryThis(\n Array.prototype.reduce || function (callback, basis) {\n var index = 0,\n length = this.length;\n // concerning the initial value, if one is not provided\n if (arguments.length === 1) {\n // seek to the first value in the array, accounting\n // for the possibility that is is a sparse array\n do {\n if (index in this) {\n basis = this[index++];\n break;\n }\n if (++index >= length) {\n throw new TypeError();\n }\n } while (1);\n }\n // reduce\n for (; index < length; index++) {\n // account for the possibility that the array is sparse\n if (index in this) {\n basis = callback(basis, this[index], index);\n }\n }\n return basis;\n }\n);\n\nvar array_indexOf = uncurryThis(\n Array.prototype.indexOf || function (value) {\n // not a very good shim, but good enough for our one use of it\n for (var i = 0; i < this.length; i++) {\n if (this[i] === value) {\n return i;\n }\n }\n return -1;\n }\n);\n\nvar array_map = uncurryThis(\n Array.prototype.map || function (callback, thisp) {\n var self = this;\n var collect = [];\n array_reduce(self, function (undefined, value, index) {\n collect.push(callback.call(thisp, value, index, self));\n }, void 0);\n return collect;\n }\n);\n\nvar object_create = Object.create || function (prototype) {\n function Type() { }\n Type.prototype = prototype;\n return new Type();\n};\n\nvar object_defineProperty = Object.defineProperty || function (obj, prop, descriptor) {\n obj[prop] = descriptor.value;\n return obj;\n};\n\nvar object_hasOwnProperty = uncurryThis(Object.prototype.hasOwnProperty);\n\nvar object_keys = Object.keys || function (object) {\n var keys = [];\n for (var key in object) {\n if (object_hasOwnProperty(object, key)) {\n keys.push(key);\n }\n }\n return keys;\n};\n\nvar object_toString = uncurryThis(Object.prototype.toString);\n\nfunction isObject(value) {\n return value === Object(value);\n}\n\n// generator related shims\n\n// FIXME: Remove this function once ES6 generators are in SpiderMonkey.\nfunction isStopIteration(exception) {\n return (\n object_toString(exception) === \"[object StopIteration]\" ||\n exception instanceof QReturnValue\n );\n}\n\n// FIXME: Remove this helper and Q.return once ES6 generators are in\n// SpiderMonkey.\nvar QReturnValue;\nif (typeof ReturnValue !== \"undefined\") {\n QReturnValue = ReturnValue;\n} else {\n QReturnValue = function (value) {\n this.value = value;\n };\n}\n\n// long stack traces\n\nvar STACK_JUMP_SEPARATOR = \"From previous event:\";\n\nfunction makeStackTraceLong(error, promise) {\n // If possible, transform the error stack trace by removing Node and Q\n // cruft, then concatenating with the stack trace of `promise`. See #57.\n if (hasStacks &&\n promise.stack &&\n typeof error === \"object\" &&\n error !== null &&\n error.stack\n ) {\n var stacks = [];\n for (var p = promise; !!p; p = p.source) {\n if (p.stack && (!error.__minimumStackCounter__ || error.__minimumStackCounter__ > p.stackCounter)) {\n object_defineProperty(error, \"__minimumStackCounter__\", {value: p.stackCounter, configurable: true});\n stacks.unshift(p.stack);\n }\n }\n stacks.unshift(error.stack);\n\n var concatedStacks = stacks.join(\"\\n\" + STACK_JUMP_SEPARATOR + \"\\n\");\n var stack = filterStackString(concatedStacks);\n object_defineProperty(error, \"stack\", {value: stack, configurable: true});\n }\n}\n\nfunction filterStackString(stackString) {\n var lines = stackString.split(\"\\n\");\n var desiredLines = [];\n for (var i = 0; i < lines.length; ++i) {\n var line = lines[i];\n\n if (!isInternalFrame(line) && !isNodeFrame(line) && line) {\n desiredLines.push(line);\n }\n }\n return desiredLines.join(\"\\n\");\n}\n\nfunction isNodeFrame(stackLine) {\n return stackLine.indexOf(\"(module.js:\") !== -1 ||\n stackLine.indexOf(\"(node.js:\") !== -1;\n}\n\nfunction getFileNameAndLineNumber(stackLine) {\n // Named functions: \"at functionName (filename:lineNumber:columnNumber)\"\n // In IE10 function name can have spaces (\"Anonymous function\") O_o\n var attempt1 = /at .+ \\((.+):(\\d+):(?:\\d+)\\)$/.exec(stackLine);\n if (attempt1) {\n return [attempt1[1], Number(attempt1[2])];\n }\n\n // Anonymous functions: \"at filename:lineNumber:columnNumber\"\n var attempt2 = /at ([^ ]+):(\\d+):(?:\\d+)$/.exec(stackLine);\n if (attempt2) {\n return [attempt2[1], Number(attempt2[2])];\n }\n\n // Firefox style: \"function@filename:lineNumber or @filename:lineNumber\"\n var attempt3 = /.*@(.+):(\\d+)$/.exec(stackLine);\n if (attempt3) {\n return [attempt3[1], Number(attempt3[2])];\n }\n}\n\nfunction isInternalFrame(stackLine) {\n var fileNameAndLineNumber = getFileNameAndLineNumber(stackLine);\n\n if (!fileNameAndLineNumber) {\n return false;\n }\n\n var fileName = fileNameAndLineNumber[0];\n var lineNumber = fileNameAndLineNumber[1];\n\n return fileName === qFileName &&\n lineNumber >= qStartingLine &&\n lineNumber <= qEndingLine;\n}\n\n// discover own file name and line number range for filtering stack\n// traces\nfunction captureLine() {\n if (!hasStacks) {\n return;\n }\n\n try {\n throw new Error();\n } catch (e) {\n var lines = e.stack.split(\"\\n\");\n var firstLine = lines[0].indexOf(\"@\") > 0 ? lines[1] : lines[2];\n var fileNameAndLineNumber = getFileNameAndLineNumber(firstLine);\n if (!fileNameAndLineNumber) {\n return;\n }\n\n qFileName = fileNameAndLineNumber[0];\n return fileNameAndLineNumber[1];\n }\n}\n\nfunction deprecate(callback, name, alternative) {\n return function () {\n if (typeof console !== \"undefined\" &&\n typeof console.warn === \"function\") {\n console.warn(name + \" is deprecated, use \" + alternative +\n \" instead.\", new Error(\"\").stack);\n }\n return callback.apply(callback, arguments);\n };\n}\n\n// end of shims\n// beginning of real work\n\n/**\n * Constructs a promise for an immediate reference, passes promises through, or\n * coerces promises from different systems.\n * @param value immediate reference or promise\n */\nfunction Q(value) {\n // If the object is already a Promise, return it directly. This enables\n // the resolve function to both be used to created references from objects,\n // but to tolerably coerce non-promises to promises.\n if (value instanceof Promise) {\n return value;\n }\n\n // assimilate thenables\n if (isPromiseAlike(value)) {\n return coerce(value);\n } else {\n return fulfill(value);\n }\n}\nQ.resolve = Q;\n\n/**\n * Performs a task in a future turn of the event loop.\n * @param {Function} task\n */\nQ.nextTick = nextTick;\n\n/**\n * Controls whether or not long stack traces will be on\n */\nQ.longStackSupport = false;\n\n/**\n * The counter is used to determine the stopping point for building\n * long stack traces. In makeStackTraceLong we walk backwards through\n * the linked list of promises, only stacks which were created before\n * the rejection are concatenated.\n */\nvar longStackCounter = 1;\n\n// enable long stacks if Q_DEBUG is set\nif (typeof process === \"object\" && process && process.env && process.env.Q_DEBUG) {\n Q.longStackSupport = true;\n}\n\n/**\n * Constructs a {promise, resolve, reject} object.\n *\n * `resolve` is a callback to invoke with a more resolved value for the\n * promise. To fulfill the promise, invoke `resolve` with any value that is\n * not a thenable. To reject the promise, invoke `resolve` with a rejected\n * thenable, or invoke `reject` with the reason directly. To resolve the\n * promise to another thenable, thus putting it in the same state, invoke\n * `resolve` with that other thenable.\n */\nQ.defer = defer;\nfunction defer() {\n // if \"messages\" is an \"Array\", that indicates that the promise has not yet\n // been resolved. If it is \"undefined\", it has been resolved. Each\n // element of the messages array is itself an array of complete arguments to\n // forward to the resolved promise. We coerce the resolution value to a\n // promise using the `resolve` function because it handles both fully\n // non-thenable values and other thenables gracefully.\n var messages = [], progressListeners = [], resolvedPromise;\n\n var deferred = object_create(defer.prototype);\n var promise = object_create(Promise.prototype);\n\n promise.promiseDispatch = function (resolve, op, operands) {\n var args = array_slice(arguments);\n if (messages) {\n messages.push(args);\n if (op === \"when\" && operands[1]) { // progress operand\n progressListeners.push(operands[1]);\n }\n } else {\n Q.nextTick(function () {\n resolvedPromise.promiseDispatch.apply(resolvedPromise, args);\n });\n }\n };\n\n // XXX deprecated\n promise.valueOf = function () {\n if (messages) {\n return promise;\n }\n var nearerValue = nearer(resolvedPromise);\n if (isPromise(nearerValue)) {\n resolvedPromise = nearerValue; // shorten chain\n }\n return nearerValue;\n };\n\n promise.inspect = function () {\n if (!resolvedPromise) {\n return { state: \"pending\" };\n }\n return resolvedPromise.inspect();\n };\n\n if (Q.longStackSupport && hasStacks) {\n try {\n throw new Error();\n } catch (e) {\n // NOTE: don't try to use `Error.captureStackTrace` or transfer the\n // accessor around; that causes memory leaks as per GH-111. Just\n // reify the stack trace as a string ASAP.\n //\n // At the same time, cut off the first line; it's always just\n // \"[object Promise]\\n\", as per the `toString`.\n promise.stack = e.stack.substring(e.stack.indexOf(\"\\n\") + 1);\n promise.stackCounter = longStackCounter++;\n }\n }\n\n // NOTE: we do the checks for `resolvedPromise` in each method, instead of\n // consolidating them into `become`, since otherwise we'd create new\n // promises with the lines `become(whatever(value))`. See e.g. GH-252.\n\n function become(newPromise) {\n resolvedPromise = newPromise;\n\n if (Q.longStackSupport && hasStacks) {\n // Only hold a reference to the new promise if long stacks\n // are enabled to reduce memory usage\n promise.source = newPromise;\n }\n\n array_reduce(messages, function (undefined, message) {\n Q.nextTick(function () {\n newPromise.promiseDispatch.apply(newPromise, message);\n });\n }, void 0);\n\n messages = void 0;\n progressListeners = void 0;\n }\n\n deferred.promise = promise;\n deferred.resolve = function (value) {\n if (resolvedPromise) {\n return;\n }\n\n become(Q(value));\n };\n\n deferred.fulfill = function (value) {\n if (resolvedPromise) {\n return;\n }\n\n become(fulfill(value));\n };\n deferred.reject = function (reason) {\n if (resolvedPromise) {\n return;\n }\n\n become(reject(reason));\n };\n deferred.notify = function (progress) {\n if (resolvedPromise) {\n return;\n }\n\n array_reduce(progressListeners, function (undefined, progressListener) {\n Q.nextTick(function () {\n progressListener(progress);\n });\n }, void 0);\n };\n\n return deferred;\n}\n\n/**\n * Creates a Node-style callback that will resolve or reject the deferred\n * promise.\n * @returns a nodeback\n */\ndefer.prototype.makeNodeResolver = function () {\n var self = this;\n return function (error, value) {\n if (error) {\n self.reject(error);\n } else if (arguments.length > 2) {\n self.resolve(array_slice(arguments, 1));\n } else {\n self.resolve(value);\n }\n };\n};\n\n/**\n * @param resolver {Function} a function that returns nothing and accepts\n * the resolve, reject, and notify functions for a deferred.\n * @returns a promise that may be resolved with the given resolve and reject\n * functions, or rejected by a thrown exception in resolver\n */\nQ.Promise = promise; // ES6\nQ.promise = promise;\nfunction promise(resolver) {\n if (typeof resolver !== \"function\") {\n throw new TypeError(\"resolver must be a function.\");\n }\n var deferred = defer();\n try {\n resolver(deferred.resolve, deferred.reject, deferred.notify);\n } catch (reason) {\n deferred.reject(reason);\n }\n return deferred.promise;\n}\n\npromise.race = race; // ES6\npromise.all = all; // ES6\npromise.reject = reject; // ES6\npromise.resolve = Q; // ES6\n\n// XXX experimental. This method is a way to denote that a local value is\n// serializable and should be immediately dispatched to a remote upon request,\n// instead of passing a reference.\nQ.passByCopy = function (object) {\n //freeze(object);\n //passByCopies.set(object, true);\n return object;\n};\n\nPromise.prototype.passByCopy = function () {\n //freeze(object);\n //passByCopies.set(object, true);\n return this;\n};\n\n/**\n * If two promises eventually fulfill to the same value, promises that value,\n * but otherwise rejects.\n * @param x {Any*}\n * @param y {Any*}\n * @returns {Any*} a promise for x and y if they are the same, but a rejection\n * otherwise.\n *\n */\nQ.join = function (x, y) {\n return Q(x).join(y);\n};\n\nPromise.prototype.join = function (that) {\n return Q([this, that]).spread(function (x, y) {\n if (x === y) {\n // TODO: \"===\" should be Object.is or equiv\n return x;\n } else {\n throw new Error(\"Q can't join: not the same: \" + x + \" \" + y);\n }\n });\n};\n\n/**\n * Returns a promise for the first of an array of promises to become settled.\n * @param answers {Array[Any*]} promises to race\n * @returns {Any*} the first promise to be settled\n */\nQ.race = race;\nfunction race(answerPs) {\n return promise(function (resolve, reject) {\n // Switch to this once we can assume at least ES5\n // answerPs.forEach(function (answerP) {\n // Q(answerP).then(resolve, reject);\n // });\n // Use this in the meantime\n for (var i = 0, len = answerPs.length; i < len; i++) {\n Q(answerPs[i]).then(resolve, reject);\n }\n });\n}\n\nPromise.prototype.race = function () {\n return this.then(Q.race);\n};\n\n/**\n * Constructs a Promise with a promise descriptor object and optional fallback\n * function. The descriptor contains methods like when(rejected), get(name),\n * set(name, value), post(name, args), and delete(name), which all\n * return either a value, a promise for a value, or a rejection. The fallback\n * accepts the operation name, a resolver, and any further arguments that would\n * have been forwarded to the appropriate method above had a method been\n * provided with the proper name. The API makes no guarantees about the nature\n * of the returned object, apart from that it is usable whereever promises are\n * bought and sold.\n */\nQ.makePromise = Promise;\nfunction Promise(descriptor, fallback, inspect) {\n if (fallback === void 0) {\n fallback = function (op) {\n return reject(new Error(\n \"Promise does not support operation: \" + op\n ));\n };\n }\n if (inspect === void 0) {\n inspect = function () {\n return {state: \"unknown\"};\n };\n }\n\n var promise = object_create(Promise.prototype);\n\n promise.promiseDispatch = function (resolve, op, args) {\n var result;\n try {\n if (descriptor[op]) {\n result = descriptor[op].apply(promise, args);\n } else {\n result = fallback.call(promise, op, args);\n }\n } catch (exception) {\n result = reject(exception);\n }\n if (resolve) {\n resolve(result);\n }\n };\n\n promise.inspect = inspect;\n\n // XXX deprecated `valueOf` and `exception` support\n if (inspect) {\n var inspected = inspect();\n if (inspected.state === \"rejected\") {\n promise.exception = inspected.reason;\n }\n\n promise.valueOf = function () {\n var inspected = inspect();\n if (inspected.state === \"pending\" ||\n inspected.state === \"rejected\") {\n return promise;\n }\n return inspected.value;\n };\n }\n\n return promise;\n}\n\nPromise.prototype.toString = function () {\n return \"[object Promise]\";\n};\n\nPromise.prototype.then = function (fulfilled, rejected, progressed) {\n var self = this;\n var deferred = defer();\n var done = false; // ensure the untrusted promise makes at most a\n // single call to one of the callbacks\n\n function _fulfilled(value) {\n try {\n return typeof fulfilled === \"function\" ? fulfilled(value) : value;\n } catch (exception) {\n return reject(exception);\n }\n }\n\n function _rejected(exception) {\n if (typeof rejected === \"function\") {\n makeStackTraceLong(exception, self);\n try {\n return rejected(exception);\n } catch (newException) {\n return reject(newException);\n }\n }\n return reject(exception);\n }\n\n function _progressed(value) {\n return typeof progressed === \"function\" ? progressed(value) : value;\n }\n\n Q.nextTick(function () {\n self.promiseDispatch(function (value) {\n if (done) {\n return;\n }\n done = true;\n\n deferred.resolve(_fulfilled(value));\n }, \"when\", [function (exception) {\n if (done) {\n return;\n }\n done = true;\n\n deferred.resolve(_rejected(exception));\n }]);\n });\n\n // Progress propagator need to be attached in the current tick.\n self.promiseDispatch(void 0, \"when\", [void 0, function (value) {\n var newValue;\n var threw = false;\n try {\n newValue = _progressed(value);\n } catch (e) {\n threw = true;\n if (Q.onerror) {\n Q.onerror(e);\n } else {\n throw e;\n }\n }\n\n if (!threw) {\n deferred.notify(newValue);\n }\n }]);\n\n return deferred.promise;\n};\n\nQ.tap = function (promise, callback) {\n return Q(promise).tap(callback);\n};\n\n/**\n * Works almost like \"finally\", but not called for rejections.\n * Original resolution value is passed through callback unaffected.\n * Callback may return a promise that will be awaited for.\n * @param {Function} callback\n * @returns {Q.Promise}\n * @example\n * doSomething()\n * .then(...)\n * .tap(console.log)\n * .then(...);\n */\nPromise.prototype.tap = function (callback) {\n callback = Q(callback);\n\n return this.then(function (value) {\n return callback.fcall(value).thenResolve(value);\n });\n};\n\n/**\n * Registers an observer on a promise.\n *\n * Guarantees:\n *\n * 1. that fulfilled and rejected will be called only once.\n * 2. that either the fulfilled callback or the rejected callback will be\n * called, but not both.\n * 3. that fulfilled and rejected will not be called in this turn.\n *\n * @param value promise or immediate reference to observe\n * @param fulfilled function to be called with the fulfilled value\n * @param rejected function to be called with the rejection exception\n * @param progressed function to be called on any progress notifications\n * @return promise for the return value from the invoked callback\n */\nQ.when = when;\nfunction when(value, fulfilled, rejected, progressed) {\n return Q(value).then(fulfilled, rejected, progressed);\n}\n\nPromise.prototype.thenResolve = function (value) {\n return this.then(function () { return value; });\n};\n\nQ.thenResolve = function (promise, value) {\n return Q(promise).thenResolve(value);\n};\n\nPromise.prototype.thenReject = function (reason) {\n return this.then(function () { throw reason; });\n};\n\nQ.thenReject = function (promise, reason) {\n return Q(promise).thenReject(reason);\n};\n\n/**\n * If an object is not a promise, it is as \"near\" as possible.\n * If a promise is rejected, it is as \"near\" as possible too.\n * If it’s a fulfilled promise, the fulfillment value is nearer.\n * If it’s a deferred promise and the deferred has been resolved, the\n * resolution is \"nearer\".\n * @param object\n * @returns most resolved (nearest) form of the object\n */\n\n// XXX should we re-do this?\nQ.nearer = nearer;\nfunction nearer(value) {\n if (isPromise(value)) {\n var inspected = value.inspect();\n if (inspected.state === \"fulfilled\") {\n return inspected.value;\n }\n }\n return value;\n}\n\n/**\n * @returns whether the given object is a promise.\n * Otherwise it is a fulfilled value.\n */\nQ.isPromise = isPromise;\nfunction isPromise(object) {\n return object instanceof Promise;\n}\n\nQ.isPromiseAlike = isPromiseAlike;\nfunction isPromiseAlike(object) {\n return isObject(object) && typeof object.then === \"function\";\n}\n\n/**\n * @returns whether the given object is a pending promise, meaning not\n * fulfilled or rejected.\n */\nQ.isPending = isPending;\nfunction isPending(object) {\n return isPromise(object) && object.inspect().state === \"pending\";\n}\n\nPromise.prototype.isPending = function () {\n return this.inspect().state === \"pending\";\n};\n\n/**\n * @returns whether the given object is a value or fulfilled\n * promise.\n */\nQ.isFulfilled = isFulfilled;\nfunction isFulfilled(object) {\n return !isPromise(object) || object.inspect().state === \"fulfilled\";\n}\n\nPromise.prototype.isFulfilled = function () {\n return this.inspect().state === \"fulfilled\";\n};\n\n/**\n * @returns whether the given object is a rejected promise.\n */\nQ.isRejected = isRejected;\nfunction isRejected(object) {\n return isPromise(object) && object.inspect().state === \"rejected\";\n}\n\nPromise.prototype.isRejected = function () {\n return this.inspect().state === \"rejected\";\n};\n\n//// BEGIN UNHANDLED REJECTION TRACKING\n\n// This promise library consumes exceptions thrown in handlers so they can be\n// handled by a subsequent promise. The exceptions get added to this array when\n// they are created, and removed when they are handled. Note that in ES6 or\n// shimmed environments, this would naturally be a `Set`.\nvar unhandledReasons = [];\nvar unhandledRejections = [];\nvar reportedUnhandledRejections = [];\nvar trackUnhandledRejections = true;\n\nfunction resetUnhandledRejections() {\n unhandledReasons.length = 0;\n unhandledRejections.length = 0;\n\n if (!trackUnhandledRejections) {\n trackUnhandledRejections = true;\n }\n}\n\nfunction trackRejection(promise, reason) {\n if (!trackUnhandledRejections) {\n return;\n }\n if (typeof process === \"object\" && typeof process.emit === \"function\") {\n Q.nextTick.runAfter(function () {\n if (array_indexOf(unhandledRejections, promise) !== -1) {\n process.emit(\"unhandledRejection\", reason, promise);\n reportedUnhandledRejections.push(promise);\n }\n });\n }\n\n unhandledRejections.push(promise);\n if (reason && typeof reason.stack !== \"undefined\") {\n unhandledReasons.push(reason.stack);\n } else {\n unhandledReasons.push(\"(no stack) \" + reason);\n }\n}\n\nfunction untrackRejection(promise) {\n if (!trackUnhandledRejections) {\n return;\n }\n\n var at = array_indexOf(unhandledRejections, promise);\n if (at !== -1) {\n if (typeof process === \"object\" && typeof process.emit === \"function\") {\n Q.nextTick.runAfter(function () {\n var atReport = array_indexOf(reportedUnhandledRejections, promise);\n if (atReport !== -1) {\n process.emit(\"rejectionHandled\", unhandledReasons[at], promise);\n reportedUnhandledRejections.splice(atReport, 1);\n }\n });\n }\n unhandledRejections.splice(at, 1);\n unhandledReasons.splice(at, 1);\n }\n}\n\nQ.resetUnhandledRejections = resetUnhandledRejections;\n\nQ.getUnhandledReasons = function () {\n // Make a copy so that consumers can't interfere with our internal state.\n return unhandledReasons.slice();\n};\n\nQ.stopUnhandledRejectionTracking = function () {\n resetUnhandledRejections();\n trackUnhandledRejections = false;\n};\n\nresetUnhandledRejections();\n\n//// END UNHANDLED REJECTION TRACKING\n\n/**\n * Constructs a rejected promise.\n * @param reason value describing the failure\n */\nQ.reject = reject;\nfunction reject(reason) {\n var rejection = Promise({\n \"when\": function (rejected) {\n // note that the error has been handled\n if (rejected) {\n untrackRejection(this);\n }\n return rejected ? rejected(reason) : this;\n }\n }, function fallback() {\n return this;\n }, function inspect() {\n return { state: \"rejected\", reason: reason };\n });\n\n // Note that the reason has not been handled.\n trackRejection(rejection, reason);\n\n return rejection;\n}\n\n/**\n * Constructs a fulfilled promise for an immediate reference.\n * @param value immediate reference\n */\nQ.fulfill = fulfill;\nfunction fulfill(value) {\n return Promise({\n \"when\": function () {\n return value;\n },\n \"get\": function (name) {\n return value[name];\n },\n \"set\": function (name, rhs) {\n value[name] = rhs;\n },\n \"delete\": function (name) {\n delete value[name];\n },\n \"post\": function (name, args) {\n // Mark Miller proposes that post with no name should apply a\n // promised function.\n if (name === null || name === void 0) {\n return value.apply(void 0, args);\n } else {\n return value[name].apply(value, args);\n }\n },\n \"apply\": function (thisp, args) {\n return value.apply(thisp, args);\n },\n \"keys\": function () {\n return object_keys(value);\n }\n }, void 0, function inspect() {\n return { state: \"fulfilled\", value: value };\n });\n}\n\n/**\n * Converts thenables to Q promises.\n * @param promise thenable promise\n * @returns a Q promise\n */\nfunction coerce(promise) {\n var deferred = defer();\n Q.nextTick(function () {\n try {\n promise.then(deferred.resolve, deferred.reject, deferred.notify);\n } catch (exception) {\n deferred.reject(exception);\n }\n });\n return deferred.promise;\n}\n\n/**\n * Annotates an object such that it will never be\n * transferred away from this process over any promise\n * communication channel.\n * @param object\n * @returns promise a wrapping of that object that\n * additionally responds to the \"isDef\" message\n * without a rejection.\n */\nQ.master = master;\nfunction master(object) {\n return Promise({\n \"isDef\": function () {}\n }, function fallback(op, args) {\n return dispatch(object, op, args);\n }, function () {\n return Q(object).inspect();\n });\n}\n\n/**\n * Spreads the values of a promised array of arguments into the\n * fulfillment callback.\n * @param fulfilled callback that receives variadic arguments from the\n * promised array\n * @param rejected callback that receives the exception if the promise\n * is rejected.\n * @returns a promise for the return value or thrown exception of\n * either callback.\n */\nQ.spread = spread;\nfunction spread(value, fulfilled, rejected) {\n return Q(value).spread(fulfilled, rejected);\n}\n\nPromise.prototype.spread = function (fulfilled, rejected) {\n return this.all().then(function (array) {\n return fulfilled.apply(void 0, array);\n }, rejected);\n};\n\n/**\n * The async function is a decorator for generator functions, turning\n * them into asynchronous generators. Although generators are only part\n * of the newest ECMAScript 6 drafts, this code does not cause syntax\n * errors in older engines. This code should continue to work and will\n * in fact improve over time as the language improves.\n *\n * ES6 generators are currently part of V8 version 3.19 with the\n * --harmony-generators runtime flag enabled. SpiderMonkey has had them\n * for longer, but under an older Python-inspired form. This function\n * works on both kinds of generators.\n *\n * Decorates a generator function such that:\n * - it may yield promises\n * - execution will continue when that promise is fulfilled\n * - the value of the yield expression will be the fulfilled value\n * - it returns a promise for the return value (when the generator\n * stops iterating)\n * - the decorated function returns a promise for the return value\n * of the generator or the first rejected promise among those\n * yielded.\n * - if an error is thrown in the generator, it propagates through\n * every following yield until it is caught, or until it escapes\n * the generator function altogether, and is translated into a\n * rejection for the promise returned by the decorated generator.\n */\nQ.async = async;\nfunction async(makeGenerator) {\n return function () {\n // when verb is \"send\", arg is a value\n // when verb is \"throw\", arg is an exception\n function continuer(verb, arg) {\n var result;\n\n // Until V8 3.19 / Chromium 29 is released, SpiderMonkey is the only\n // engine that has a deployed base of browsers that support generators.\n // However, SM's generators use the Python-inspired semantics of\n // outdated ES6 drafts. We would like to support ES6, but we'd also\n // like to make it possible to use generators in deployed browsers, so\n // we also support Python-style generators. At some point we can remove\n // this block.\n\n if (typeof StopIteration === \"undefined\") {\n // ES6 Generators\n try {\n result = generator[verb](arg);\n } catch (exception) {\n return reject(exception);\n }\n if (result.done) {\n return Q(result.value);\n } else {\n return when(result.value, callback, errback);\n }\n } else {\n // SpiderMonkey Generators\n // FIXME: Remove this case when SM does ES6 generators.\n try {\n result = generator[verb](arg);\n } catch (exception) {\n if (isStopIteration(exception)) {\n return Q(exception.value);\n } else {\n return reject(exception);\n }\n }\n return when(result, callback, errback);\n }\n }\n var generator = makeGenerator.apply(this, arguments);\n var callback = continuer.bind(continuer, \"next\");\n var errback = continuer.bind(continuer, \"throw\");\n return callback();\n };\n}\n\n/**\n * The spawn function is a small wrapper around async that immediately\n * calls the generator and also ends the promise chain, so that any\n * unhandled errors are thrown instead of forwarded to the error\n * handler. This is useful because it's extremely common to run\n * generators at the top-level to work with libraries.\n */\nQ.spawn = spawn;\nfunction spawn(makeGenerator) {\n Q.done(Q.async(makeGenerator)());\n}\n\n// FIXME: Remove this interface once ES6 generators are in SpiderMonkey.\n/**\n * Throws a ReturnValue exception to stop an asynchronous generator.\n *\n * This interface is a stop-gap measure to support generator return\n * values in older Firefox/SpiderMonkey. In browsers that support ES6\n * generators like Chromium 29, just use \"return\" in your generator\n * functions.\n *\n * @param value the return value for the surrounding generator\n * @throws ReturnValue exception with the value.\n * @example\n * // ES6 style\n * Q.async(function* () {\n * var foo = yield getFooPromise();\n * var bar = yield getBarPromise();\n * return foo + bar;\n * })\n * // Older SpiderMonkey style\n * Q.async(function () {\n * var foo = yield getFooPromise();\n * var bar = yield getBarPromise();\n * Q.return(foo + bar);\n * })\n */\nQ[\"return\"] = _return;\nfunction _return(value) {\n throw new QReturnValue(value);\n}\n\n/**\n * The promised function decorator ensures that any promise arguments\n * are settled and passed as values (`this` is also settled and passed\n * as a value). It will also ensure that the result of a function is\n * always a promise.\n *\n * @example\n * var add = Q.promised(function (a, b) {\n * return a + b;\n * });\n * add(Q(a), Q(B));\n *\n * @param {function} callback The function to decorate\n * @returns {function} a function that has been decorated.\n */\nQ.promised = promised;\nfunction promised(callback) {\n return function () {\n return spread([this, all(arguments)], function (self, args) {\n return callback.apply(self, args);\n });\n };\n}\n\n/**\n * sends a message to a value in a future turn\n * @param object* the recipient\n * @param op the name of the message operation, e.g., \"when\",\n * @param args further arguments to be forwarded to the operation\n * @returns result {Promise} a promise for the result of the operation\n */\nQ.dispatch = dispatch;\nfunction dispatch(object, op, args) {\n return Q(object).dispatch(op, args);\n}\n\nPromise.prototype.dispatch = function (op, args) {\n var self = this;\n var deferred = defer();\n Q.nextTick(function () {\n self.promiseDispatch(deferred.resolve, op, args);\n });\n return deferred.promise;\n};\n\n/**\n * Gets the value of a property in a future turn.\n * @param object promise or immediate reference for target object\n * @param name name of property to get\n * @return promise for the property value\n */\nQ.get = function (object, key) {\n return Q(object).dispatch(\"get\", [key]);\n};\n\nPromise.prototype.get = function (key) {\n return this.dispatch(\"get\", [key]);\n};\n\n/**\n * Sets the value of a property in a future turn.\n * @param object promise or immediate reference for object object\n * @param name name of property to set\n * @param value new value of property\n * @return promise for the return value\n */\nQ.set = function (object, key, value) {\n return Q(object).dispatch(\"set\", [key, value]);\n};\n\nPromise.prototype.set = function (key, value) {\n return this.dispatch(\"set\", [key, value]);\n};\n\n/**\n * Deletes a property in a future turn.\n * @param object promise or immediate reference for target object\n * @param name name of property to delete\n * @return promise for the return value\n */\nQ.del = // XXX legacy\nQ[\"delete\"] = function (object, key) {\n return Q(object).dispatch(\"delete\", [key]);\n};\n\nPromise.prototype.del = // XXX legacy\nPromise.prototype[\"delete\"] = function (key) {\n return this.dispatch(\"delete\", [key]);\n};\n\n/**\n * Invokes a method in a future turn.\n * @param object promise or immediate reference for target object\n * @param name name of method to invoke\n * @param value a value to post, typically an array of\n * invocation arguments for promises that\n * are ultimately backed with `resolve` values,\n * as opposed to those backed with URLs\n * wherein the posted value can be any\n * JSON serializable object.\n * @return promise for the return value\n */\n// bound locally because it is used by other methods\nQ.mapply = // XXX As proposed by \"Redsandro\"\nQ.post = function (object, name, args) {\n return Q(object).dispatch(\"post\", [name, args]);\n};\n\nPromise.prototype.mapply = // XXX As proposed by \"Redsandro\"\nPromise.prototype.post = function (name, args) {\n return this.dispatch(\"post\", [name, args]);\n};\n\n/**\n * Invokes a method in a future turn.\n * @param object promise or immediate reference for target object\n * @param name name of method to invoke\n * @param ...args array of invocation arguments\n * @return promise for the return value\n */\nQ.send = // XXX Mark Miller's proposed parlance\nQ.mcall = // XXX As proposed by \"Redsandro\"\nQ.invoke = function (object, name /*...args*/) {\n return Q(object).dispatch(\"post\", [name, array_slice(arguments, 2)]);\n};\n\nPromise.prototype.send = // XXX Mark Miller's proposed parlance\nPromise.prototype.mcall = // XXX As proposed by \"Redsandro\"\nPromise.prototype.invoke = function (name /*...args*/) {\n return this.dispatch(\"post\", [name, array_slice(arguments, 1)]);\n};\n\n/**\n * Applies the promised function in a future turn.\n * @param object promise or immediate reference for target function\n * @param args array of application arguments\n */\nQ.fapply = function (object, args) {\n return Q(object).dispatch(\"apply\", [void 0, args]);\n};\n\nPromise.prototype.fapply = function (args) {\n return this.dispatch(\"apply\", [void 0, args]);\n};\n\n/**\n * Calls the promised function in a future turn.\n * @param object promise or immediate reference for target function\n * @param ...args array of application arguments\n */\nQ[\"try\"] =\nQ.fcall = function (object /* ...args*/) {\n return Q(object).dispatch(\"apply\", [void 0, array_slice(arguments, 1)]);\n};\n\nPromise.prototype.fcall = function (/*...args*/) {\n return this.dispatch(\"apply\", [void 0, array_slice(arguments)]);\n};\n\n/**\n * Binds the promised function, transforming return values into a fulfilled\n * promise and thrown errors into a rejected one.\n * @param object promise or immediate reference for target function\n * @param ...args array of application arguments\n */\nQ.fbind = function (object /*...args*/) {\n var promise = Q(object);\n var args = array_slice(arguments, 1);\n return function fbound() {\n return promise.dispatch(\"apply\", [\n this,\n args.concat(array_slice(arguments))\n ]);\n };\n};\nPromise.prototype.fbind = function (/*...args*/) {\n var promise = this;\n var args = array_slice(arguments);\n return function fbound() {\n return promise.dispatch(\"apply\", [\n this,\n args.concat(array_slice(arguments))\n ]);\n };\n};\n\n/**\n * Requests the names of the owned properties of a promised\n * object in a future turn.\n * @param object promise or immediate reference for target object\n * @return promise for the keys of the eventually settled object\n */\nQ.keys = function (object) {\n return Q(object).dispatch(\"keys\", []);\n};\n\nPromise.prototype.keys = function () {\n return this.dispatch(\"keys\", []);\n};\n\n/**\n * Turns an array of promises into a promise for an array. If any of\n * the promises gets rejected, the whole array is rejected immediately.\n * @param {Array*} an array (or promise for an array) of values (or\n * promises for values)\n * @returns a promise for an array of the corresponding values\n */\n// By Mark Miller\n// http://wiki.ecmascript.org/doku.php?id=strawman:concurrency&rev=1308776521#allfulfilled\nQ.all = all;\nfunction all(promises) {\n return when(promises, function (promises) {\n var pendingCount = 0;\n var deferred = defer();\n array_reduce(promises, function (undefined, promise, index) {\n var snapshot;\n if (\n isPromise(promise) &&\n (snapshot = promise.inspect()).state === \"fulfilled\"\n ) {\n promises[index] = snapshot.value;\n } else {\n ++pendingCount;\n when(\n promise,\n function (value) {\n promises[index] = value;\n if (--pendingCount === 0) {\n deferred.resolve(promises);\n }\n },\n deferred.reject,\n function (progress) {\n deferred.notify({ index: index, value: progress });\n }\n );\n }\n }, void 0);\n if (pendingCount === 0) {\n deferred.resolve(promises);\n }\n return deferred.promise;\n });\n}\n\nPromise.prototype.all = function () {\n return all(this);\n};\n\n/**\n * Returns the first resolved promise of an array. Prior rejected promises are\n * ignored. Rejects only if all promises are rejected.\n * @param {Array*} an array containing values or promises for values\n * @returns a promise fulfilled with the value of the first resolved promise,\n * or a rejected promise if all promises are rejected.\n */\nQ.any = any;\n\nfunction any(promises) {\n if (promises.length === 0) {\n return Q.resolve();\n }\n\n var deferred = Q.defer();\n var pendingCount = 0;\n array_reduce(promises, function (prev, current, index) {\n var promise = promises[index];\n\n pendingCount++;\n\n when(promise, onFulfilled, onRejected, onProgress);\n function onFulfilled(result) {\n deferred.resolve(result);\n }\n function onRejected(err) {\n pendingCount--;\n if (pendingCount === 0) {\n var rejection = err || new Error(\"\" + err);\n\n rejection.message = (\"Q can't get fulfillment value from any promise, all \" +\n \"promises were rejected. Last error message: \" + rejection.message);\n\n deferred.reject(rejection);\n }\n }\n function onProgress(progress) {\n deferred.notify({\n index: index,\n value: progress\n });\n }\n }, undefined);\n\n return deferred.promise;\n}\n\nPromise.prototype.any = function () {\n return any(this);\n};\n\n/**\n * Waits for all promises to be settled, either fulfilled or\n * rejected. This is distinct from `all` since that would stop\n * waiting at the first rejection. The promise returned by\n * `allResolved` will never be rejected.\n * @param promises a promise for an array (or an array) of promises\n * (or values)\n * @return a promise for an array of promises\n */\nQ.allResolved = deprecate(allResolved, \"allResolved\", \"allSettled\");\nfunction allResolved(promises) {\n return when(promises, function (promises) {\n promises = array_map(promises, Q);\n return when(all(array_map(promises, function (promise) {\n return when(promise, noop, noop);\n })), function () {\n return promises;\n });\n });\n}\n\nPromise.prototype.allResolved = function () {\n return allResolved(this);\n};\n\n/**\n * @see Promise#allSettled\n */\nQ.allSettled = allSettled;\nfunction allSettled(promises) {\n return Q(promises).allSettled();\n}\n\n/**\n * Turns an array of promises into a promise for an array of their states (as\n * returned by `inspect`) when they have all settled.\n * @param {Array[Any*]} values an array (or promise for an array) of values (or\n * promises for values)\n * @returns {Array[State]} an array of states for the respective values.\n */\nPromise.prototype.allSettled = function () {\n return this.then(function (promises) {\n return all(array_map(promises, function (promise) {\n promise = Q(promise);\n function regardless() {\n return promise.inspect();\n }\n return promise.then(regardless, regardless);\n }));\n });\n};\n\n/**\n * Captures the failure of a promise, giving an oportunity to recover\n * with a callback. If the given promise is fulfilled, the returned\n * promise is fulfilled.\n * @param {Any*} promise for something\n * @param {Function} callback to fulfill the returned promise if the\n * given promise is rejected\n * @returns a promise for the return value of the callback\n */\nQ.fail = // XXX legacy\nQ[\"catch\"] = function (object, rejected) {\n return Q(object).then(void 0, rejected);\n};\n\nPromise.prototype.fail = // XXX legacy\nPromise.prototype[\"catch\"] = function (rejected) {\n return this.then(void 0, rejected);\n};\n\n/**\n * Attaches a listener that can respond to progress notifications from a\n * promise's originating deferred. This listener receives the exact arguments\n * passed to ``deferred.notify``.\n * @param {Any*} promise for something\n * @param {Function} callback to receive any progress notifications\n * @returns the given promise, unchanged\n */\nQ.progress = progress;\nfunction progress(object, progressed) {\n return Q(object).then(void 0, void 0, progressed);\n}\n\nPromise.prototype.progress = function (progressed) {\n return this.then(void 0, void 0, progressed);\n};\n\n/**\n * Provides an opportunity to observe the settling of a promise,\n * regardless of whether the promise is fulfilled or rejected. Forwards\n * the resolution to the returned promise when the callback is done.\n * The callback can return a promise to defer completion.\n * @param {Any*} promise\n * @param {Function} callback to observe the resolution of the given\n * promise, takes no arguments.\n * @returns a promise for the resolution of the given promise when\n * ``fin`` is done.\n */\nQ.fin = // XXX legacy\nQ[\"finally\"] = function (object, callback) {\n return Q(object)[\"finally\"](callback);\n};\n\nPromise.prototype.fin = // XXX legacy\nPromise.prototype[\"finally\"] = function (callback) {\n if (!callback || typeof callback.apply !== \"function\") {\n throw new Error(\"Q can't apply finally callback\");\n }\n callback = Q(callback);\n return this.then(function (value) {\n return callback.fcall().then(function () {\n return value;\n });\n }, function (reason) {\n // TODO attempt to recycle the rejection with \"this\".\n return callback.fcall().then(function () {\n throw reason;\n });\n });\n};\n\n/**\n * Terminates a chain of promises, forcing rejections to be\n * thrown as exceptions.\n * @param {Any*} promise at the end of a chain of promises\n * @returns nothing\n */\nQ.done = function (object, fulfilled, rejected, progress) {\n return Q(object).done(fulfilled, rejected, progress);\n};\n\nPromise.prototype.done = function (fulfilled, rejected, progress) {\n var onUnhandledError = function (error) {\n // forward to a future turn so that ``when``\n // does not catch it and turn it into a rejection.\n Q.nextTick(function () {\n makeStackTraceLong(error, promise);\n if (Q.onerror) {\n Q.onerror(error);\n } else {\n throw error;\n }\n });\n };\n\n // Avoid unnecessary `nextTick`ing via an unnecessary `when`.\n var promise = fulfilled || rejected || progress ?\n this.then(fulfilled, rejected, progress) :\n this;\n\n if (typeof process === \"object\" && process && process.domain) {\n onUnhandledError = process.domain.bind(onUnhandledError);\n }\n\n promise.then(void 0, onUnhandledError);\n};\n\n/**\n * Causes a promise to be rejected if it does not get fulfilled before\n * some milliseconds time out.\n * @param {Any*} promise\n * @param {Number} milliseconds timeout\n * @param {Any*} custom error message or Error object (optional)\n * @returns a promise for the resolution of the given promise if it is\n * fulfilled before the timeout, otherwise rejected.\n */\nQ.timeout = function (object, ms, error) {\n return Q(object).timeout(ms, error);\n};\n\nPromise.prototype.timeout = function (ms, error) {\n var deferred = defer();\n var timeoutId = setTimeout(function () {\n if (!error || \"string\" === typeof error) {\n error = new Error(error || \"Timed out after \" + ms + \" ms\");\n error.code = \"ETIMEDOUT\";\n }\n deferred.reject(error);\n }, ms);\n\n this.then(function (value) {\n clearTimeout(timeoutId);\n deferred.resolve(value);\n }, function (exception) {\n clearTimeout(timeoutId);\n deferred.reject(exception);\n }, deferred.notify);\n\n return deferred.promise;\n};\n\n/**\n * Returns a promise for the given value (or promised value), some\n * milliseconds after it resolved. Passes rejections immediately.\n * @param {Any*} promise\n * @param {Number} milliseconds\n * @returns a promise for the resolution of the given promise after milliseconds\n * time has elapsed since the resolution of the given promise.\n * If the given promise rejects, that is passed immediately.\n */\nQ.delay = function (object, timeout) {\n if (timeout === void 0) {\n timeout = object;\n object = void 0;\n }\n return Q(object).delay(timeout);\n};\n\nPromise.prototype.delay = function (timeout) {\n return this.then(function (value) {\n var deferred = defer();\n setTimeout(function () {\n deferred.resolve(value);\n }, timeout);\n return deferred.promise;\n });\n};\n\n/**\n * Passes a continuation to a Node function, which is called with the given\n * arguments provided as an array, and returns a promise.\n *\n * Q.nfapply(FS.readFile, [__filename])\n * .then(function (content) {\n * })\n *\n */\nQ.nfapply = function (callback, args) {\n return Q(callback).nfapply(args);\n};\n\nPromise.prototype.nfapply = function (args) {\n var deferred = defer();\n var nodeArgs = array_slice(args);\n nodeArgs.push(deferred.makeNodeResolver());\n this.fapply(nodeArgs).fail(deferred.reject);\n return deferred.promise;\n};\n\n/**\n * Passes a continuation to a Node function, which is called with the given\n * arguments provided individually, and returns a promise.\n * @example\n * Q.nfcall(FS.readFile, __filename)\n * .then(function (content) {\n * })\n *\n */\nQ.nfcall = function (callback /*...args*/) {\n var args = array_slice(arguments, 1);\n return Q(callback).nfapply(args);\n};\n\nPromise.prototype.nfcall = function (/*...args*/) {\n var nodeArgs = array_slice(arguments);\n var deferred = defer();\n nodeArgs.push(deferred.makeNodeResolver());\n this.fapply(nodeArgs).fail(deferred.reject);\n return deferred.promise;\n};\n\n/**\n * Wraps a NodeJS continuation passing function and returns an equivalent\n * version that returns a promise.\n * @example\n * Q.nfbind(FS.readFile, __filename)(\"utf-8\")\n * .then(console.log)\n * .done()\n */\nQ.nfbind =\nQ.denodeify = function (callback /*...args*/) {\n if (callback === undefined) {\n throw new Error(\"Q can't wrap an undefined function\");\n }\n var baseArgs = array_slice(arguments, 1);\n return function () {\n var nodeArgs = baseArgs.concat(array_slice(arguments));\n var deferred = defer();\n nodeArgs.push(deferred.makeNodeResolver());\n Q(callback).fapply(nodeArgs).fail(deferred.reject);\n return deferred.promise;\n };\n};\n\nPromise.prototype.nfbind =\nPromise.prototype.denodeify = function (/*...args*/) {\n var args = array_slice(arguments);\n args.unshift(this);\n return Q.denodeify.apply(void 0, args);\n};\n\nQ.nbind = function (callback, thisp /*...args*/) {\n var baseArgs = array_slice(arguments, 2);\n return function () {\n var nodeArgs = baseArgs.concat(array_slice(arguments));\n var deferred = defer();\n nodeArgs.push(deferred.makeNodeResolver());\n function bound() {\n return callback.apply(thisp, arguments);\n }\n Q(bound).fapply(nodeArgs).fail(deferred.reject);\n return deferred.promise;\n };\n};\n\nPromise.prototype.nbind = function (/*thisp, ...args*/) {\n var args = array_slice(arguments, 0);\n args.unshift(this);\n return Q.nbind.apply(void 0, args);\n};\n\n/**\n * Calls a method of a Node-style object that accepts a Node-style\n * callback with a given array of arguments, plus a provided callback.\n * @param object an object that has the named method\n * @param {String} name name of the method of object\n * @param {Array} args arguments to pass to the method; the callback\n * will be provided by Q and appended to these arguments.\n * @returns a promise for the value or error\n */\nQ.nmapply = // XXX As proposed by \"Redsandro\"\nQ.npost = function (object, name, args) {\n return Q(object).npost(name, args);\n};\n\nPromise.prototype.nmapply = // XXX As proposed by \"Redsandro\"\nPromise.prototype.npost = function (name, args) {\n var nodeArgs = array_slice(args || []);\n var deferred = defer();\n nodeArgs.push(deferred.makeNodeResolver());\n this.dispatch(\"post\", [name, nodeArgs]).fail(deferred.reject);\n return deferred.promise;\n};\n\n/**\n * Calls a method of a Node-style object that accepts a Node-style\n * callback, forwarding the given variadic arguments, plus a provided\n * callback argument.\n * @param object an object that has the named method\n * @param {String} name name of the method of object\n * @param ...args arguments to pass to the method; the callback will\n * be provided by Q and appended to these arguments.\n * @returns a promise for the value or error\n */\nQ.nsend = // XXX Based on Mark Miller's proposed \"send\"\nQ.nmcall = // XXX Based on \"Redsandro's\" proposal\nQ.ninvoke = function (object, name /*...args*/) {\n var nodeArgs = array_slice(arguments, 2);\n var deferred = defer();\n nodeArgs.push(deferred.makeNodeResolver());\n Q(object).dispatch(\"post\", [name, nodeArgs]).fail(deferred.reject);\n return deferred.promise;\n};\n\nPromise.prototype.nsend = // XXX Based on Mark Miller's proposed \"send\"\nPromise.prototype.nmcall = // XXX Based on \"Redsandro's\" proposal\nPromise.prototype.ninvoke = function (name /*...args*/) {\n var nodeArgs = array_slice(arguments, 1);\n var deferred = defer();\n nodeArgs.push(deferred.makeNodeResolver());\n this.dispatch(\"post\", [name, nodeArgs]).fail(deferred.reject);\n return deferred.promise;\n};\n\n/**\n * If a function would like to support both Node continuation-passing-style and\n * promise-returning-style, it can end its internal promise chain with\n * `nodeify(nodeback)`, forwarding the optional nodeback argument. If the user\n * elects to use a nodeback, the result will be sent there. If they do not\n * pass a nodeback, they will receive the result promise.\n * @param object a result (or a promise for a result)\n * @param {Function} nodeback a Node.js-style callback\n * @returns either the promise or nothing\n */\nQ.nodeify = nodeify;\nfunction nodeify(object, nodeback) {\n return Q(object).nodeify(nodeback);\n}\n\nPromise.prototype.nodeify = function (nodeback) {\n if (nodeback) {\n this.then(function (value) {\n Q.nextTick(function () {\n nodeback(null, value);\n });\n }, function (error) {\n Q.nextTick(function () {\n nodeback(error);\n });\n });\n } else {\n return this;\n }\n};\n\nQ.noConflict = function() {\n throw new Error(\"Q.noConflict only works when Q is used as a global\");\n};\n\n// All code before this point will be filtered from stack traces.\nvar qEndingLine = captureLine();\n\nreturn Q;\n\n});\n","/**\n * Creates a continuation function with some arguments already applied.\n *\n * Useful as a shorthand when combined with other control flow functions. Any\n * arguments passed to the returned function are added to the arguments\n * originally passed to apply.\n *\n * @name apply\n * @static\n * @memberOf module:Utils\n * @method\n * @category Util\n * @param {Function} fn - The function you want to eventually apply all\n * arguments to. Invokes with (arguments...).\n * @param {...*} arguments... - Any number of arguments to automatically apply\n * when the continuation is called.\n * @returns {Function} the partially-applied function\n * @example\n *\n * // using apply\n * async.parallel([\n * async.apply(fs.writeFile, 'testfile1', 'test1'),\n * async.apply(fs.writeFile, 'testfile2', 'test2')\n * ]);\n *\n *\n * // the same process without using apply\n * async.parallel([\n * function(callback) {\n * fs.writeFile('testfile1', 'test1', callback);\n * },\n * function(callback) {\n * fs.writeFile('testfile2', 'test2', callback);\n * }\n * ]);\n *\n * // It's possible to pass any number of additional arguments when calling the\n * // continuation:\n *\n * node> var fn = async.apply(sys.puts, 'one');\n * node> fn('two', 'three');\n * one\n * two\n * three\n */\nfunction apply(fn, ...args) {\n return (...callArgs) => fn(...args,...callArgs);\n}\n\nfunction initialParams (fn) {\n return function (...args/*, callback*/) {\n var callback = args.pop();\n return fn.call(this, args, callback);\n };\n}\n\n/* istanbul ignore file */\n\nvar hasQueueMicrotask = typeof queueMicrotask === 'function' && queueMicrotask;\nvar hasSetImmediate = typeof setImmediate === 'function' && setImmediate;\nvar hasNextTick = typeof process === 'object' && typeof process.nextTick === 'function';\n\nfunction fallback(fn) {\n setTimeout(fn, 0);\n}\n\nfunction wrap(defer) {\n return (fn, ...args) => defer(() => fn(...args));\n}\n\nvar _defer;\n\nif (hasQueueMicrotask) {\n _defer = queueMicrotask;\n} else if (hasSetImmediate) {\n _defer = setImmediate;\n} else if (hasNextTick) {\n _defer = process.nextTick;\n} else {\n _defer = fallback;\n}\n\nvar setImmediate$1 = wrap(_defer);\n\n/**\n * Take a sync function and make it async, passing its return value to a\n * callback. This is useful for plugging sync functions into a waterfall,\n * series, or other async functions. Any arguments passed to the generated\n * function will be passed to the wrapped function (except for the final\n * callback argument). Errors thrown will be passed to the callback.\n *\n * If the function passed to `asyncify` returns a Promise, that promises's\n * resolved/rejected state will be used to call the callback, rather than simply\n * the synchronous return value.\n *\n * This also means you can asyncify ES2017 `async` functions.\n *\n * @name asyncify\n * @static\n * @memberOf module:Utils\n * @method\n * @alias wrapSync\n * @category Util\n * @param {Function} func - The synchronous function, or Promise-returning\n * function to convert to an {@link AsyncFunction}.\n * @returns {AsyncFunction} An asynchronous wrapper of the `func`. To be\n * invoked with `(args..., callback)`.\n * @example\n *\n * // passing a regular synchronous function\n * async.waterfall([\n * async.apply(fs.readFile, filename, \"utf8\"),\n * async.asyncify(JSON.parse),\n * function (data, next) {\n * // data is the result of parsing the text.\n * // If there was a parsing error, it would have been caught.\n * }\n * ], callback);\n *\n * // passing a function returning a promise\n * async.waterfall([\n * async.apply(fs.readFile, filename, \"utf8\"),\n * async.asyncify(function (contents) {\n * return db.model.create(contents);\n * }),\n * function (model, next) {\n * // `model` is the instantiated model object.\n * // If there was an error, this function would be skipped.\n * }\n * ], callback);\n *\n * // es2017 example, though `asyncify` is not needed if your JS environment\n * // supports async functions out of the box\n * var q = async.queue(async.asyncify(async function(file) {\n * var intermediateStep = await processFile(file);\n * return await somePromise(intermediateStep)\n * }));\n *\n * q.push(files);\n */\nfunction asyncify(func) {\n if (isAsync(func)) {\n return function (...args/*, callback*/) {\n const callback = args.pop();\n const promise = func.apply(this, args);\n return handlePromise(promise, callback)\n }\n }\n\n return initialParams(function (args, callback) {\n var result;\n try {\n result = func.apply(this, args);\n } catch (e) {\n return callback(e);\n }\n // if result is Promise object\n if (result && typeof result.then === 'function') {\n return handlePromise(result, callback)\n } else {\n callback(null, result);\n }\n });\n}\n\nfunction handlePromise(promise, callback) {\n return promise.then(value => {\n invokeCallback(callback, null, value);\n }, err => {\n invokeCallback(callback, err && err.message ? err : new Error(err));\n });\n}\n\nfunction invokeCallback(callback, error, value) {\n try {\n callback(error, value);\n } catch (err) {\n setImmediate$1(e => { throw e }, err);\n }\n}\n\nfunction isAsync(fn) {\n return fn[Symbol.toStringTag] === 'AsyncFunction';\n}\n\nfunction isAsyncGenerator(fn) {\n return fn[Symbol.toStringTag] === 'AsyncGenerator';\n}\n\nfunction isAsyncIterable(obj) {\n return typeof obj[Symbol.asyncIterator] === 'function';\n}\n\nfunction wrapAsync(asyncFn) {\n if (typeof asyncFn !== 'function') throw new Error('expected a function')\n return isAsync(asyncFn) ? asyncify(asyncFn) : asyncFn;\n}\n\n// conditionally promisify a function.\n// only return a promise if a callback is omitted\nfunction awaitify (asyncFn, arity = asyncFn.length) {\n if (!arity) throw new Error('arity is undefined')\n function awaitable (...args) {\n if (typeof args[arity - 1] === 'function') {\n return asyncFn.apply(this, args)\n }\n\n return new Promise((resolve, reject) => {\n args[arity - 1] = (err, ...cbArgs) => {\n if (err) return reject(err)\n resolve(cbArgs.length > 1 ? cbArgs : cbArgs[0]);\n };\n asyncFn.apply(this, args);\n })\n }\n\n return awaitable\n}\n\nfunction applyEach (eachfn) {\n return function applyEach(fns, ...callArgs) {\n const go = awaitify(function (callback) {\n var that = this;\n return eachfn(fns, (fn, cb) => {\n wrapAsync(fn).apply(that, callArgs.concat(cb));\n }, callback);\n });\n return go;\n };\n}\n\nfunction _asyncMap(eachfn, arr, iteratee, callback) {\n arr = arr || [];\n var results = [];\n var counter = 0;\n var _iteratee = wrapAsync(iteratee);\n\n return eachfn(arr, (value, _, iterCb) => {\n var index = counter++;\n _iteratee(value, (err, v) => {\n results[index] = v;\n iterCb(err);\n });\n }, err => {\n callback(err, results);\n });\n}\n\nfunction isArrayLike(value) {\n return value &&\n typeof value.length === 'number' &&\n value.length >= 0 &&\n value.length % 1 === 0;\n}\n\n// A temporary value used to identify if the loop should be broken.\n// See #1064, #1293\nconst breakLoop = {};\n\nfunction once(fn) {\n function wrapper (...args) {\n if (fn === null) return;\n var callFn = fn;\n fn = null;\n callFn.apply(this, args);\n }\n Object.assign(wrapper, fn);\n return wrapper\n}\n\nfunction getIterator (coll) {\n return coll[Symbol.iterator] && coll[Symbol.iterator]();\n}\n\nfunction createArrayIterator(coll) {\n var i = -1;\n var len = coll.length;\n return function next() {\n return ++i < len ? {value: coll[i], key: i} : null;\n }\n}\n\nfunction createES2015Iterator(iterator) {\n var i = -1;\n return function next() {\n var item = iterator.next();\n if (item.done)\n return null;\n i++;\n return {value: item.value, key: i};\n }\n}\n\nfunction createObjectIterator(obj) {\n var okeys = obj ? Object.keys(obj) : [];\n var i = -1;\n var len = okeys.length;\n return function next() {\n var key = okeys[++i];\n if (key === '__proto__') {\n return next();\n }\n return i < len ? {value: obj[key], key} : null;\n };\n}\n\nfunction createIterator(coll) {\n if (isArrayLike(coll)) {\n return createArrayIterator(coll);\n }\n\n var iterator = getIterator(coll);\n return iterator ? createES2015Iterator(iterator) : createObjectIterator(coll);\n}\n\nfunction onlyOnce(fn) {\n return function (...args) {\n if (fn === null) throw new Error(\"Callback was already called.\");\n var callFn = fn;\n fn = null;\n callFn.apply(this, args);\n };\n}\n\n// for async generators\nfunction asyncEachOfLimit(generator, limit, iteratee, callback) {\n let done = false;\n let canceled = false;\n let awaiting = false;\n let running = 0;\n let idx = 0;\n\n function replenish() {\n //console.log('replenish')\n if (running >= limit || awaiting || done) return\n //console.log('replenish awaiting')\n awaiting = true;\n generator.next().then(({value, done: iterDone}) => {\n //console.log('got value', value)\n if (canceled || done) return\n awaiting = false;\n if (iterDone) {\n done = true;\n if (running <= 0) {\n //console.log('done nextCb')\n callback(null);\n }\n return;\n }\n running++;\n iteratee(value, idx, iterateeCallback);\n idx++;\n replenish();\n }).catch(handleError);\n }\n\n function iterateeCallback(err, result) {\n //console.log('iterateeCallback')\n running -= 1;\n if (canceled) return\n if (err) return handleError(err)\n\n if (err === false) {\n done = true;\n canceled = true;\n return\n }\n\n if (result === breakLoop || (done && running <= 0)) {\n done = true;\n //console.log('done iterCb')\n return callback(null);\n }\n replenish();\n }\n\n function handleError(err) {\n if (canceled) return\n awaiting = false;\n done = true;\n callback(err);\n }\n\n replenish();\n}\n\nvar eachOfLimit = (limit) => {\n return (obj, iteratee, callback) => {\n callback = once(callback);\n if (limit <= 0) {\n throw new RangeError('concurrency limit cannot be less than 1')\n }\n if (!obj) {\n return callback(null);\n }\n if (isAsyncGenerator(obj)) {\n return asyncEachOfLimit(obj, limit, iteratee, callback)\n }\n if (isAsyncIterable(obj)) {\n return asyncEachOfLimit(obj[Symbol.asyncIterator](), limit, iteratee, callback)\n }\n var nextElem = createIterator(obj);\n var done = false;\n var canceled = false;\n var running = 0;\n var looping = false;\n\n function iterateeCallback(err, value) {\n if (canceled) return\n running -= 1;\n if (err) {\n done = true;\n callback(err);\n }\n else if (err === false) {\n done = true;\n canceled = true;\n }\n else if (value === breakLoop || (done && running <= 0)) {\n done = true;\n return callback(null);\n }\n else if (!looping) {\n replenish();\n }\n }\n\n function replenish () {\n looping = true;\n while (running < limit && !done) {\n var elem = nextElem();\n if (elem === null) {\n done = true;\n if (running <= 0) {\n callback(null);\n }\n return;\n }\n running += 1;\n iteratee(elem.value, elem.key, onlyOnce(iterateeCallback));\n }\n looping = false;\n }\n\n replenish();\n };\n};\n\n/**\n * The same as [`eachOf`]{@link module:Collections.eachOf} but runs a maximum of `limit` async operations at a\n * time.\n *\n * @name eachOfLimit\n * @static\n * @memberOf module:Collections\n * @method\n * @see [async.eachOf]{@link module:Collections.eachOf}\n * @alias forEachOfLimit\n * @category Collection\n * @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.\n * @param {number} limit - The maximum number of async operations at a time.\n * @param {AsyncFunction} iteratee - An async function to apply to each\n * item in `coll`. The `key` is the item's key, or index in the case of an\n * array.\n * Invoked with (item, key, callback).\n * @param {Function} [callback] - A callback which is called when all\n * `iteratee` functions have finished, or an error occurs. Invoked with (err).\n * @returns {Promise} a promise, if a callback is omitted\n */\nfunction eachOfLimit$1(coll, limit, iteratee, callback) {\n return eachOfLimit(limit)(coll, wrapAsync(iteratee), callback);\n}\n\nvar eachOfLimit$2 = awaitify(eachOfLimit$1, 4);\n\n// eachOf implementation optimized for array-likes\nfunction eachOfArrayLike(coll, iteratee, callback) {\n callback = once(callback);\n var index = 0,\n completed = 0,\n {length} = coll,\n canceled = false;\n if (length === 0) {\n callback(null);\n }\n\n function iteratorCallback(err, value) {\n if (err === false) {\n canceled = true;\n }\n if (canceled === true) return\n if (err) {\n callback(err);\n } else if ((++completed === length) || value === breakLoop) {\n callback(null);\n }\n }\n\n for (; index < length; index++) {\n iteratee(coll[index], index, onlyOnce(iteratorCallback));\n }\n}\n\n// a generic version of eachOf which can handle array, object, and iterator cases.\nfunction eachOfGeneric (coll, iteratee, callback) {\n return eachOfLimit$2(coll, Infinity, iteratee, callback);\n}\n\n/**\n * Like [`each`]{@link module:Collections.each}, except that it passes the key (or index) as the second argument\n * to the iteratee.\n *\n * @name eachOf\n * @static\n * @memberOf module:Collections\n * @method\n * @alias forEachOf\n * @category Collection\n * @see [async.each]{@link module:Collections.each}\n * @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.\n * @param {AsyncFunction} iteratee - A function to apply to each\n * item in `coll`.\n * The `key` is the item's key, or index in the case of an array.\n * Invoked with (item, key, callback).\n * @param {Function} [callback] - A callback which is called when all\n * `iteratee` functions have finished, or an error occurs. Invoked with (err).\n * @returns {Promise} a promise, if a callback is omitted\n * @example\n *\n * // dev.json is a file containing a valid json object config for dev environment\n * // dev.json is a file containing a valid json object config for test environment\n * // prod.json is a file containing a valid json object config for prod environment\n * // invalid.json is a file with a malformed json object\n *\n * let configs = {}; //global variable\n * let validConfigFileMap = {dev: 'dev.json', test: 'test.json', prod: 'prod.json'};\n * let invalidConfigFileMap = {dev: 'dev.json', test: 'test.json', invalid: 'invalid.json'};\n *\n * // asynchronous function that reads a json file and parses the contents as json object\n * function parseFile(file, key, callback) {\n * fs.readFile(file, \"utf8\", function(err, data) {\n * if (err) return calback(err);\n * try {\n * configs[key] = JSON.parse(data);\n * } catch (e) {\n * return callback(e);\n * }\n * callback();\n * });\n * }\n *\n * // Using callbacks\n * async.forEachOf(validConfigFileMap, parseFile, function (err) {\n * if (err) {\n * console.error(err);\n * } else {\n * console.log(configs);\n * // configs is now a map of JSON data, e.g.\n * // { dev: //parsed dev.json, test: //parsed test.json, prod: //parsed prod.json}\n * }\n * });\n *\n * //Error handing\n * async.forEachOf(invalidConfigFileMap, parseFile, function (err) {\n * if (err) {\n * console.error(err);\n * // JSON parse error exception\n * } else {\n * console.log(configs);\n * }\n * });\n *\n * // Using Promises\n * async.forEachOf(validConfigFileMap, parseFile)\n * .then( () => {\n * console.log(configs);\n * // configs is now a map of JSON data, e.g.\n * // { dev: //parsed dev.json, test: //parsed test.json, prod: //parsed prod.json}\n * }).catch( err => {\n * console.error(err);\n * });\n *\n * //Error handing\n * async.forEachOf(invalidConfigFileMap, parseFile)\n * .then( () => {\n * console.log(configs);\n * }).catch( err => {\n * console.error(err);\n * // JSON parse error exception\n * });\n *\n * // Using async/await\n * async () => {\n * try {\n * let result = await async.forEachOf(validConfigFileMap, parseFile);\n * console.log(configs);\n * // configs is now a map of JSON data, e.g.\n * // { dev: //parsed dev.json, test: //parsed test.json, prod: //parsed prod.json}\n * }\n * catch (err) {\n * console.log(err);\n * }\n * }\n *\n * //Error handing\n * async () => {\n * try {\n * let result = await async.forEachOf(invalidConfigFileMap, parseFile);\n * console.log(configs);\n * }\n * catch (err) {\n * console.log(err);\n * // JSON parse error exception\n * }\n * }\n *\n */\nfunction eachOf(coll, iteratee, callback) {\n var eachOfImplementation = isArrayLike(coll) ? eachOfArrayLike : eachOfGeneric;\n return eachOfImplementation(coll, wrapAsync(iteratee), callback);\n}\n\nvar eachOf$1 = awaitify(eachOf, 3);\n\n/**\n * Produces a new collection of values by mapping each value in `coll` through\n * the `iteratee` function. The `iteratee` is called with an item from `coll`\n * and a callback for when it has finished processing. Each of these callbacks\n * takes 2 arguments: an `error`, and the transformed item from `coll`. If\n * `iteratee` passes an error to its callback, the main `callback` (for the\n * `map` function) is immediately called with the error.\n *\n * Note, that since this function applies the `iteratee` to each item in\n * parallel, there is no guarantee that the `iteratee` functions will complete\n * in order. However, the results array will be in the same order as the\n * original `coll`.\n *\n * If `map` is passed an Object, the results will be an Array. The results\n * will roughly be in the order of the original Objects' keys (but this can\n * vary across JavaScript engines).\n *\n * @name map\n * @static\n * @memberOf module:Collections\n * @method\n * @category Collection\n * @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.\n * @param {AsyncFunction} iteratee - An async function to apply to each item in\n * `coll`.\n * The iteratee should complete with the transformed item.\n * Invoked with (item, callback).\n * @param {Function} [callback] - A callback which is called when all `iteratee`\n * functions have finished, or an error occurs. Results is an Array of the\n * transformed items from the `coll`. Invoked with (err, results).\n * @returns {Promise} a promise, if no callback is passed\n * @example\n *\n * // file1.txt is a file that is 1000 bytes in size\n * // file2.txt is a file that is 2000 bytes in size\n * // file3.txt is a file that is 3000 bytes in size\n * // file4.txt does not exist\n *\n * const fileList = ['file1.txt','file2.txt','file3.txt'];\n * const withMissingFileList = ['file1.txt','file2.txt','file4.txt'];\n *\n * // asynchronous function that returns the file size in bytes\n * function getFileSizeInBytes(file, callback) {\n * fs.stat(file, function(err, stat) {\n * if (err) {\n * return callback(err);\n * }\n * callback(null, stat.size);\n * });\n * }\n *\n * // Using callbacks\n * async.map(fileList, getFileSizeInBytes, function(err, results) {\n * if (err) {\n * console.log(err);\n * } else {\n * console.log(results);\n * // results is now an array of the file size in bytes for each file, e.g.\n * // [ 1000, 2000, 3000]\n * }\n * });\n *\n * // Error Handling\n * async.map(withMissingFileList, getFileSizeInBytes, function(err, results) {\n * if (err) {\n * console.log(err);\n * // [ Error: ENOENT: no such file or directory ]\n * } else {\n * console.log(results);\n * }\n * });\n *\n * // Using Promises\n * async.map(fileList, getFileSizeInBytes)\n * .then( results => {\n * console.log(results);\n * // results is now an array of the file size in bytes for each file, e.g.\n * // [ 1000, 2000, 3000]\n * }).catch( err => {\n * console.log(err);\n * });\n *\n * // Error Handling\n * async.map(withMissingFileList, getFileSizeInBytes)\n * .then( results => {\n * console.log(results);\n * }).catch( err => {\n * console.log(err);\n * // [ Error: ENOENT: no such file or directory ]\n * });\n *\n * // Using async/await\n * async () => {\n * try {\n * let results = await async.map(fileList, getFileSizeInBytes);\n * console.log(results);\n * // results is now an array of the file size in bytes for each file, e.g.\n * // [ 1000, 2000, 3000]\n * }\n * catch (err) {\n * console.log(err);\n * }\n * }\n *\n * // Error Handling\n * async () => {\n * try {\n * let results = await async.map(withMissingFileList, getFileSizeInBytes);\n * console.log(results);\n * }\n * catch (err) {\n * console.log(err);\n * // [ Error: ENOENT: no such file or directory ]\n * }\n * }\n *\n */\nfunction map (coll, iteratee, callback) {\n return _asyncMap(eachOf$1, coll, iteratee, callback)\n}\nvar map$1 = awaitify(map, 3);\n\n/**\n * Applies the provided arguments to each function in the array, calling\n * `callback` after all functions have completed. If you only provide the first\n * argument, `fns`, then it will return a function which lets you pass in the\n * arguments as if it were a single function call. If more arguments are\n * provided, `callback` is required while `args` is still optional. The results\n * for each of the applied async functions are passed to the final callback\n * as an array.\n *\n * @name applyEach\n * @static\n * @memberOf module:ControlFlow\n * @method\n * @category Control Flow\n * @param {Array|Iterable|AsyncIterable|Object} fns - A collection of {@link AsyncFunction}s\n * to all call with the same arguments\n * @param {...*} [args] - any number of separate arguments to pass to the\n * function.\n * @param {Function} [callback] - the final argument should be the callback,\n * called when all functions have completed processing.\n * @returns {AsyncFunction} - Returns a function that takes no args other than\n * an optional callback, that is the result of applying the `args` to each\n * of the functions.\n * @example\n *\n * const appliedFn = async.applyEach([enableSearch, updateSchema], 'bucket')\n *\n * appliedFn((err, results) => {\n * // results[0] is the results for `enableSearch`\n * // results[1] is the results for `updateSchema`\n * });\n *\n * // partial application example:\n * async.each(\n * buckets,\n * async (bucket) => async.applyEach([enableSearch, updateSchema], bucket)(),\n * callback\n * );\n */\nvar applyEach$1 = applyEach(map$1);\n\n/**\n * The same as [`eachOf`]{@link module:Collections.eachOf} but runs only a single async operation at a time.\n *\n * @name eachOfSeries\n * @static\n * @memberOf module:Collections\n * @method\n * @see [async.eachOf]{@link module:Collections.eachOf}\n * @alias forEachOfSeries\n * @category Collection\n * @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.\n * @param {AsyncFunction} iteratee - An async function to apply to each item in\n * `coll`.\n * Invoked with (item, key, callback).\n * @param {Function} [callback] - A callback which is called when all `iteratee`\n * functions have finished, or an error occurs. Invoked with (err).\n * @returns {Promise} a promise, if a callback is omitted\n */\nfunction eachOfSeries(coll, iteratee, callback) {\n return eachOfLimit$2(coll, 1, iteratee, callback)\n}\nvar eachOfSeries$1 = awaitify(eachOfSeries, 3);\n\n/**\n * The same as [`map`]{@link module:Collections.map} but runs only a single async operation at a time.\n *\n * @name mapSeries\n * @static\n * @memberOf module:Collections\n * @method\n * @see [async.map]{@link module:Collections.map}\n * @category Collection\n * @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.\n * @param {AsyncFunction} iteratee - An async function to apply to each item in\n * `coll`.\n * The iteratee should complete with the transformed item.\n * Invoked with (item, callback).\n * @param {Function} [callback] - A callback which is called when all `iteratee`\n * functions have finished, or an error occurs. Results is an array of the\n * transformed items from the `coll`. Invoked with (err, results).\n * @returns {Promise} a promise, if no callback is passed\n */\nfunction mapSeries (coll, iteratee, callback) {\n return _asyncMap(eachOfSeries$1, coll, iteratee, callback)\n}\nvar mapSeries$1 = awaitify(mapSeries, 3);\n\n/**\n * The same as [`applyEach`]{@link module:ControlFlow.applyEach} but runs only a single async operation at a time.\n *\n * @name applyEachSeries\n * @static\n * @memberOf module:ControlFlow\n * @method\n * @see [async.applyEach]{@link module:ControlFlow.applyEach}\n * @category Control Flow\n * @param {Array|Iterable|AsyncIterable|Object} fns - A collection of {@link AsyncFunction}s to all\n * call with the same arguments\n * @param {...*} [args] - any number of separate arguments to pass to the\n * function.\n * @param {Function} [callback] - the final argument should be the callback,\n * called when all functions have completed processing.\n * @returns {AsyncFunction} - A function, that when called, is the result of\n * appling the `args` to the list of functions. It takes no args, other than\n * a callback.\n */\nvar applyEachSeries = applyEach(mapSeries$1);\n\nconst PROMISE_SYMBOL = Symbol('promiseCallback');\n\nfunction promiseCallback () {\n let resolve, reject;\n function callback (err, ...args) {\n if (err) return reject(err)\n resolve(args.length > 1 ? args : args[0]);\n }\n\n callback[PROMISE_SYMBOL] = new Promise((res, rej) => {\n resolve = res,\n reject = rej;\n });\n\n return callback\n}\n\n/**\n * Determines the best order for running the {@link AsyncFunction}s in `tasks`, based on\n * their requirements. Each function can optionally depend on other functions\n * being completed first, and each function is run as soon as its requirements\n * are satisfied.\n *\n * If any of the {@link AsyncFunction}s pass an error to their callback, the `auto` sequence\n * will stop. Further tasks will not execute (so any other functions depending\n * on it will not run), and the main `callback` is immediately called with the\n * error.\n *\n * {@link AsyncFunction}s also receive an object containing the results of functions which\n * have completed so far as the first argument, if they have dependencies. If a\n * task function has no dependencies, it will only be passed a callback.\n *\n * @name auto\n * @static\n * @memberOf module:ControlFlow\n * @method\n * @category Control Flow\n * @param {Object} tasks - An object. Each of its properties is either a\n * function or an array of requirements, with the {@link AsyncFunction} itself the last item\n * in the array. The object's key of a property serves as the name of the task\n * defined by that property, i.e. can be used when specifying requirements for\n * other tasks. The function receives one or two arguments:\n * * a `results` object, containing the results of the previously executed\n * functions, only passed if the task has any dependencies,\n * * a `callback(err, result)` function, which must be called when finished,\n * passing an `error` (which can be `null`) and the result of the function's\n * execution.\n * @param {number} [concurrency=Infinity] - An optional `integer` for\n * determining the maximum number of tasks that can be run in parallel. By\n * default, as many as possible.\n * @param {Function} [callback] - An optional callback which is called when all\n * the tasks have been completed. It receives the `err` argument if any `tasks`\n * pass an error to their callback. Results are always returned; however, if an\n * error occurs, no further `tasks` will be performed, and the results object\n * will only contain partial results. Invoked with (err, results).\n * @returns {Promise} a promise, if a callback is not passed\n * @example\n *\n * //Using Callbacks\n * async.auto({\n * get_data: function(callback) {\n * // async code to get some data\n * callback(null, 'data', 'converted to array');\n * },\n * make_folder: function(callback) {\n * // async code to create a directory to store a file in\n * // this is run at the same time as getting the data\n * callback(null, 'folder');\n * },\n * write_file: ['get_data', 'make_folder', function(results, callback) {\n * // once there is some data and the directory exists,\n * // write the data to a file in the directory\n * callback(null, 'filename');\n * }],\n * email_link: ['write_file', function(results, callback) {\n * // once the file is written let's email a link to it...\n * callback(null, {'file':results.write_file, 'email':'user@example.com'});\n * }]\n * }, function(err, results) {\n * if (err) {\n * console.log('err = ', err);\n * }\n * console.log('results = ', results);\n * // results = {\n * // get_data: ['data', 'converted to array']\n * // make_folder; 'folder',\n * // write_file: 'filename'\n * // email_link: { file: 'filename', email: 'user@example.com' }\n * // }\n * });\n *\n * //Using Promises\n * async.auto({\n * get_data: function(callback) {\n * console.log('in get_data');\n * // async code to get some data\n * callback(null, 'data', 'converted to array');\n * },\n * make_folder: function(callback) {\n * console.log('in make_folder');\n * // async code to create a directory to store a file in\n * // this is run at the same time as getting the data\n * callback(null, 'folder');\n * },\n * write_file: ['get_data', 'make_folder', function(results, callback) {\n * // once there is some data and the directory exists,\n * // write the data to a file in the directory\n * callback(null, 'filename');\n * }],\n * email_link: ['write_file', function(results, callback) {\n * // once the file is written let's email a link to it...\n * callback(null, {'file':results.write_file, 'email':'user@example.com'});\n * }]\n * }).then(results => {\n * console.log('results = ', results);\n * // results = {\n * // get_data: ['data', 'converted to array']\n * // make_folder; 'folder',\n * // write_file: 'filename'\n * // email_link: { file: 'filename', email: 'user@example.com' }\n * // }\n * }).catch(err => {\n * console.log('err = ', err);\n * });\n *\n * //Using async/await\n * async () => {\n * try {\n * let results = await async.auto({\n * get_data: function(callback) {\n * // async code to get some data\n * callback(null, 'data', 'converted to array');\n * },\n * make_folder: function(callback) {\n * // async code to create a directory to store a file in\n * // this is run at the same time as getting the data\n * callback(null, 'folder');\n * },\n * write_file: ['get_data', 'make_folder', function(results, callback) {\n * // once there is some data and the directory exists,\n * // write the data to a file in the directory\n * callback(null, 'filename');\n * }],\n * email_link: ['write_file', function(results, callback) {\n * // once the file is written let's email a link to it...\n * callback(null, {'file':results.write_file, 'email':'user@example.com'});\n * }]\n * });\n * console.log('results = ', results);\n * // results = {\n * // get_data: ['data', 'converted to array']\n * // make_folder; 'folder',\n * // write_file: 'filename'\n * // email_link: { file: 'filename', email: 'user@example.com' }\n * // }\n * }\n * catch (err) {\n * console.log(err);\n * }\n * }\n *\n */\nfunction auto(tasks, concurrency, callback) {\n if (typeof concurrency !== 'number') {\n // concurrency is optional, shift the args.\n callback = concurrency;\n concurrency = null;\n }\n callback = once(callback || promiseCallback());\n var numTasks = Object.keys(tasks).length;\n if (!numTasks) {\n return callback(null);\n }\n if (!concurrency) {\n concurrency = numTasks;\n }\n\n var results = {};\n var runningTasks = 0;\n var canceled = false;\n var hasError = false;\n\n var listeners = Object.create(null);\n\n var readyTasks = [];\n\n // for cycle detection:\n var readyToCheck = []; // tasks that have been identified as reachable\n // without the possibility of returning to an ancestor task\n var uncheckedDependencies = {};\n\n Object.keys(tasks).forEach(key => {\n var task = tasks[key];\n if (!Array.isArray(task)) {\n // no dependencies\n enqueueTask(key, [task]);\n readyToCheck.push(key);\n return;\n }\n\n var dependencies = task.slice(0, task.length - 1);\n var remainingDependencies = dependencies.length;\n if (remainingDependencies === 0) {\n enqueueTask(key, task);\n readyToCheck.push(key);\n return;\n }\n uncheckedDependencies[key] = remainingDependencies;\n\n dependencies.forEach(dependencyName => {\n if (!tasks[dependencyName]) {\n throw new Error('async.auto task `' + key +\n '` has a non-existent dependency `' +\n dependencyName + '` in ' +\n dependencies.join(', '));\n }\n addListener(dependencyName, () => {\n remainingDependencies--;\n if (remainingDependencies === 0) {\n enqueueTask(key, task);\n }\n });\n });\n });\n\n checkForDeadlocks();\n processQueue();\n\n function enqueueTask(key, task) {\n readyTasks.push(() => runTask(key, task));\n }\n\n function processQueue() {\n if (canceled) return\n if (readyTasks.length === 0 && runningTasks === 0) {\n return callback(null, results);\n }\n while(readyTasks.length && runningTasks < concurrency) {\n var run = readyTasks.shift();\n run();\n }\n\n }\n\n function addListener(taskName, fn) {\n var taskListeners = listeners[taskName];\n if (!taskListeners) {\n taskListeners = listeners[taskName] = [];\n }\n\n taskListeners.push(fn);\n }\n\n function taskComplete(taskName) {\n var taskListeners = listeners[taskName] || [];\n taskListeners.forEach(fn => fn());\n processQueue();\n }\n\n\n function runTask(key, task) {\n if (hasError) return;\n\n var taskCallback = onlyOnce((err, ...result) => {\n runningTasks--;\n if (err === false) {\n canceled = true;\n return\n }\n if (result.length < 2) {\n [result] = result;\n }\n if (err) {\n var safeResults = {};\n Object.keys(results).forEach(rkey => {\n safeResults[rkey] = results[rkey];\n });\n safeResults[key] = result;\n hasError = true;\n listeners = Object.create(null);\n if (canceled) return\n callback(err, safeResults);\n } else {\n results[key] = result;\n taskComplete(key);\n }\n });\n\n runningTasks++;\n var taskFn = wrapAsync(task[task.length - 1]);\n if (task.length > 1) {\n taskFn(results, taskCallback);\n } else {\n taskFn(taskCallback);\n }\n }\n\n function checkForDeadlocks() {\n // Kahn's algorithm\n // https://en.wikipedia.org/wiki/Topological_sorting#Kahn.27s_algorithm\n // http://connalle.blogspot.com/2013/10/topological-sortingkahn-algorithm.html\n var currentTask;\n var counter = 0;\n while (readyToCheck.length) {\n currentTask = readyToCheck.pop();\n counter++;\n getDependents(currentTask).forEach(dependent => {\n if (--uncheckedDependencies[dependent] === 0) {\n readyToCheck.push(dependent);\n }\n });\n }\n\n if (counter !== numTasks) {\n throw new Error(\n 'async.auto cannot execute tasks due to a recursive dependency'\n );\n }\n }\n\n function getDependents(taskName) {\n var result = [];\n Object.keys(tasks).forEach(key => {\n const task = tasks[key];\n if (Array.isArray(task) && task.indexOf(taskName) >= 0) {\n result.push(key);\n }\n });\n return result;\n }\n\n return callback[PROMISE_SYMBOL]\n}\n\nvar FN_ARGS = /^(?:async\\s+)?(?:function)?\\s*\\w*\\s*\\(\\s*([^)]+)\\s*\\)(?:\\s*{)/;\nvar ARROW_FN_ARGS = /^(?:async\\s+)?\\(?\\s*([^)=]+)\\s*\\)?(?:\\s*=>)/;\nvar FN_ARG_SPLIT = /,/;\nvar FN_ARG = /(=.+)?(\\s*)$/;\n\nfunction stripComments(string) {\n let stripped = '';\n let index = 0;\n let endBlockComment = string.indexOf('*/');\n while (index < string.length) {\n if (string[index] === '/' && string[index+1] === '/') {\n // inline comment\n let endIndex = string.indexOf('\\n', index);\n index = (endIndex === -1) ? string.length : endIndex;\n } else if ((endBlockComment !== -1) && (string[index] === '/') && (string[index+1] === '*')) {\n // block comment\n let endIndex = string.indexOf('*/', index);\n if (endIndex !== -1) {\n index = endIndex + 2;\n endBlockComment = string.indexOf('*/', index);\n } else {\n stripped += string[index];\n index++;\n }\n } else {\n stripped += string[index];\n index++;\n }\n }\n return stripped;\n}\n\nfunction parseParams(func) {\n const src = stripComments(func.toString());\n let match = src.match(FN_ARGS);\n if (!match) {\n match = src.match(ARROW_FN_ARGS);\n }\n if (!match) throw new Error('could not parse args in autoInject\\nSource:\\n' + src)\n let [, args] = match;\n return args\n .replace(/\\s/g, '')\n .split(FN_ARG_SPLIT)\n .map((arg) => arg.replace(FN_ARG, '').trim());\n}\n\n/**\n * A dependency-injected version of the [async.auto]{@link module:ControlFlow.auto} function. Dependent\n * tasks are specified as parameters to the function, after the usual callback\n * parameter, with the parameter names matching the names of the tasks it\n * depends on. This can provide even more readable task graphs which can be\n * easier to maintain.\n *\n * If a final callback is specified, the task results are similarly injected,\n * specified as named parameters after the initial error parameter.\n *\n * The autoInject function is purely syntactic sugar and its semantics are\n * otherwise equivalent to [async.auto]{@link module:ControlFlow.auto}.\n *\n * @name autoInject\n * @static\n * @memberOf module:ControlFlow\n * @method\n * @see [async.auto]{@link module:ControlFlow.auto}\n * @category Control Flow\n * @param {Object} tasks - An object, each of whose properties is an {@link AsyncFunction} of\n * the form 'func([dependencies...], callback). The object's key of a property\n * serves as the name of the task defined by that property, i.e. can be used\n * when specifying requirements for other tasks.\n * * The `callback` parameter is a `callback(err, result)` which must be called\n * when finished, passing an `error` (which can be `null`) and the result of\n * the function's execution. The remaining parameters name other tasks on\n * which the task is dependent, and the results from those tasks are the\n * arguments of those parameters.\n * @param {Function} [callback] - An optional callback which is called when all\n * the tasks have been completed. It receives the `err` argument if any `tasks`\n * pass an error to their callback, and a `results` object with any completed\n * task results, similar to `auto`.\n * @returns {Promise} a promise, if no callback is passed\n * @example\n *\n * // The example from `auto` can be rewritten as follows:\n * async.autoInject({\n * get_data: function(callback) {\n * // async code to get some data\n * callback(null, 'data', 'converted to array');\n * },\n * make_folder: function(callback) {\n * // async code to create a directory to store a file in\n * // this is run at the same time as getting the data\n * callback(null, 'folder');\n * },\n * write_file: function(get_data, make_folder, callback) {\n * // once there is some data and the directory exists,\n * // write the data to a file in the directory\n * callback(null, 'filename');\n * },\n * email_link: function(write_file, callback) {\n * // once the file is written let's email a link to it...\n * // write_file contains the filename returned by write_file.\n * callback(null, {'file':write_file, 'email':'user@example.com'});\n * }\n * }, function(err, results) {\n * console.log('err = ', err);\n * console.log('email_link = ', results.email_link);\n * });\n *\n * // If you are using a JS minifier that mangles parameter names, `autoInject`\n * // will not work with plain functions, since the parameter names will be\n * // collapsed to a single letter identifier. To work around this, you can\n * // explicitly specify the names of the parameters your task function needs\n * // in an array, similar to Angular.js dependency injection.\n *\n * // This still has an advantage over plain `auto`, since the results a task\n * // depends on are still spread into arguments.\n * async.autoInject({\n * //...\n * write_file: ['get_data', 'make_folder', function(get_data, make_folder, callback) {\n * callback(null, 'filename');\n * }],\n * email_link: ['write_file', function(write_file, callback) {\n * callback(null, {'file':write_file, 'email':'user@example.com'});\n * }]\n * //...\n * }, function(err, results) {\n * console.log('err = ', err);\n * console.log('email_link = ', results.email_link);\n * });\n */\nfunction autoInject(tasks, callback) {\n var newTasks = {};\n\n Object.keys(tasks).forEach(key => {\n var taskFn = tasks[key];\n var params;\n var fnIsAsync = isAsync(taskFn);\n var hasNoDeps =\n (!fnIsAsync && taskFn.length === 1) ||\n (fnIsAsync && taskFn.length === 0);\n\n if (Array.isArray(taskFn)) {\n params = [...taskFn];\n taskFn = params.pop();\n\n newTasks[key] = params.concat(params.length > 0 ? newTask : taskFn);\n } else if (hasNoDeps) {\n // no dependencies, use the function as-is\n newTasks[key] = taskFn;\n } else {\n params = parseParams(taskFn);\n if ((taskFn.length === 0 && !fnIsAsync) && params.length === 0) {\n throw new Error(\"autoInject task functions require explicit parameters.\");\n }\n\n // remove callback param\n if (!fnIsAsync) params.pop();\n\n newTasks[key] = params.concat(newTask);\n }\n\n function newTask(results, taskCb) {\n var newArgs = params.map(name => results[name]);\n newArgs.push(taskCb);\n wrapAsync(taskFn)(...newArgs);\n }\n });\n\n return auto(newTasks, callback);\n}\n\n// Simple doubly linked list (https://en.wikipedia.org/wiki/Doubly_linked_list) implementation\n// used for queues. This implementation assumes that the node provided by the user can be modified\n// to adjust the next and last properties. We implement only the minimal functionality\n// for queue support.\nclass DLL {\n constructor() {\n this.head = this.tail = null;\n this.length = 0;\n }\n\n removeLink(node) {\n if (node.prev) node.prev.next = node.next;\n else this.head = node.next;\n if (node.next) node.next.prev = node.prev;\n else this.tail = node.prev;\n\n node.prev = node.next = null;\n this.length -= 1;\n return node;\n }\n\n empty () {\n while(this.head) this.shift();\n return this;\n }\n\n insertAfter(node, newNode) {\n newNode.prev = node;\n newNode.next = node.next;\n if (node.next) node.next.prev = newNode;\n else this.tail = newNode;\n node.next = newNode;\n this.length += 1;\n }\n\n insertBefore(node, newNode) {\n newNode.prev = node.prev;\n newNode.next = node;\n if (node.prev) node.prev.next = newNode;\n else this.head = newNode;\n node.prev = newNode;\n this.length += 1;\n }\n\n unshift(node) {\n if (this.head) this.insertBefore(this.head, node);\n else setInitial(this, node);\n }\n\n push(node) {\n if (this.tail) this.insertAfter(this.tail, node);\n else setInitial(this, node);\n }\n\n shift() {\n return this.head && this.removeLink(this.head);\n }\n\n pop() {\n return this.tail && this.removeLink(this.tail);\n }\n\n toArray() {\n return [...this]\n }\n\n *[Symbol.iterator] () {\n var cur = this.head;\n while (cur) {\n yield cur.data;\n cur = cur.next;\n }\n }\n\n remove (testFn) {\n var curr = this.head;\n while(curr) {\n var {next} = curr;\n if (testFn(curr)) {\n this.removeLink(curr);\n }\n curr = next;\n }\n return this;\n }\n}\n\nfunction setInitial(dll, node) {\n dll.length = 1;\n dll.head = dll.tail = node;\n}\n\nfunction queue(worker, concurrency, payload) {\n if (concurrency == null) {\n concurrency = 1;\n }\n else if(concurrency === 0) {\n throw new RangeError('Concurrency must not be zero');\n }\n\n var _worker = wrapAsync(worker);\n var numRunning = 0;\n var workersList = [];\n const events = {\n error: [],\n drain: [],\n saturated: [],\n unsaturated: [],\n empty: []\n };\n\n function on (event, handler) {\n events[event].push(handler);\n }\n\n function once (event, handler) {\n const handleAndRemove = (...args) => {\n off(event, handleAndRemove);\n handler(...args);\n };\n events[event].push(handleAndRemove);\n }\n\n function off (event, handler) {\n if (!event) return Object.keys(events).forEach(ev => events[ev] = [])\n if (!handler) return events[event] = []\n events[event] = events[event].filter(ev => ev !== handler);\n }\n\n function trigger (event, ...args) {\n events[event].forEach(handler => handler(...args));\n }\n\n var processingScheduled = false;\n function _insert(data, insertAtFront, rejectOnError, callback) {\n if (callback != null && typeof callback !== 'function') {\n throw new Error('task callback must be a function');\n }\n q.started = true;\n\n var res, rej;\n function promiseCallback (err, ...args) {\n // we don't care about the error, let the global error handler\n // deal with it\n if (err) return rejectOnError ? rej(err) : res()\n if (args.length <= 1) return res(args[0])\n res(args);\n }\n\n var item = q._createTaskItem(\n data,\n rejectOnError ? promiseCallback :\n (callback || promiseCallback)\n );\n\n if (insertAtFront) {\n q._tasks.unshift(item);\n } else {\n q._tasks.push(item);\n }\n\n if (!processingScheduled) {\n processingScheduled = true;\n setImmediate$1(() => {\n processingScheduled = false;\n q.process();\n });\n }\n\n if (rejectOnError || !callback) {\n return new Promise((resolve, reject) => {\n res = resolve;\n rej = reject;\n })\n }\n }\n\n function _createCB(tasks) {\n return function (err, ...args) {\n numRunning -= 1;\n\n for (var i = 0, l = tasks.length; i < l; i++) {\n var task = tasks[i];\n\n var index = workersList.indexOf(task);\n if (index === 0) {\n workersList.shift();\n } else if (index > 0) {\n workersList.splice(index, 1);\n }\n\n task.callback(err, ...args);\n\n if (err != null) {\n trigger('error', err, task.data);\n }\n }\n\n if (numRunning <= (q.concurrency - q.buffer) ) {\n trigger('unsaturated');\n }\n\n if (q.idle()) {\n trigger('drain');\n }\n q.process();\n };\n }\n\n function _maybeDrain(data) {\n if (data.length === 0 && q.idle()) {\n // call drain immediately if there are no tasks\n setImmediate$1(() => trigger('drain'));\n return true\n }\n return false\n }\n\n const eventMethod = (name) => (handler) => {\n if (!handler) {\n return new Promise((resolve, reject) => {\n once(name, (err, data) => {\n if (err) return reject(err)\n resolve(data);\n });\n })\n }\n off(name);\n on(name, handler);\n\n };\n\n var isProcessing = false;\n var q = {\n _tasks: new DLL(),\n _createTaskItem (data, callback) {\n return {\n data,\n callback\n };\n },\n *[Symbol.iterator] () {\n yield* q._tasks[Symbol.iterator]();\n },\n concurrency,\n payload,\n buffer: concurrency / 4,\n started: false,\n paused: false,\n push (data, callback) {\n if (Array.isArray(data)) {\n if (_maybeDrain(data)) return\n return data.map(datum => _insert(datum, false, false, callback))\n }\n return _insert(data, false, false, callback);\n },\n pushAsync (data, callback) {\n if (Array.isArray(data)) {\n if (_maybeDrain(data)) return\n return data.map(datum => _insert(datum, false, true, callback))\n }\n return _insert(data, false, true, callback);\n },\n kill () {\n off();\n q._tasks.empty();\n },\n unshift (data, callback) {\n if (Array.isArray(data)) {\n if (_maybeDrain(data)) return\n return data.map(datum => _insert(datum, true, false, callback))\n }\n return _insert(data, true, false, callback);\n },\n unshiftAsync (data, callback) {\n if (Array.isArray(data)) {\n if (_maybeDrain(data)) return\n return data.map(datum => _insert(datum, true, true, callback))\n }\n return _insert(data, true, true, callback);\n },\n remove (testFn) {\n q._tasks.remove(testFn);\n },\n process () {\n // Avoid trying to start too many processing operations. This can occur\n // when callbacks resolve synchronously (#1267).\n if (isProcessing) {\n return;\n }\n isProcessing = true;\n while(!q.paused && numRunning < q.concurrency && q._tasks.length){\n var tasks = [], data = [];\n var l = q._tasks.length;\n if (q.payload) l = Math.min(l, q.payload);\n for (var i = 0; i < l; i++) {\n var node = q._tasks.shift();\n tasks.push(node);\n workersList.push(node);\n data.push(node.data);\n }\n\n numRunning += 1;\n\n if (q._tasks.length === 0) {\n trigger('empty');\n }\n\n if (numRunning === q.concurrency) {\n trigger('saturated');\n }\n\n var cb = onlyOnce(_createCB(tasks));\n _worker(data, cb);\n }\n isProcessing = false;\n },\n length () {\n return q._tasks.length;\n },\n running () {\n return numRunning;\n },\n workersList () {\n return workersList;\n },\n idle() {\n return q._tasks.length + numRunning === 0;\n },\n pause () {\n q.paused = true;\n },\n resume () {\n if (q.paused === false) { return; }\n q.paused = false;\n setImmediate$1(q.process);\n }\n };\n // define these as fixed properties, so people get useful errors when updating\n Object.defineProperties(q, {\n saturated: {\n writable: false,\n value: eventMethod('saturated')\n },\n unsaturated: {\n writable: false,\n value: eventMethod('unsaturated')\n },\n empty: {\n writable: false,\n value: eventMethod('empty')\n },\n drain: {\n writable: false,\n value: eventMethod('drain')\n },\n error: {\n writable: false,\n value: eventMethod('error')\n },\n });\n return q;\n}\n\n/**\n * Creates a `cargo` object with the specified payload. Tasks added to the\n * cargo will be processed altogether (up to the `payload` limit). If the\n * `worker` is in progress, the task is queued until it becomes available. Once\n * the `worker` has completed some tasks, each callback of those tasks is\n * called. Check out [these](https://camo.githubusercontent.com/6bbd36f4cf5b35a0f11a96dcd2e97711ffc2fb37/68747470733a2f2f662e636c6f75642e6769746875622e636f6d2f6173736574732f313637363837312f36383130382f62626330636662302d356632392d313165322d393734662d3333393763363464633835382e676966) [animations](https://camo.githubusercontent.com/f4810e00e1c5f5f8addbe3e9f49064fd5d102699/68747470733a2f2f662e636c6f75642e6769746875622e636f6d2f6173736574732f313637363837312f36383130312f38346339323036362d356632392d313165322d383134662d3964336430323431336266642e676966)\n * for how `cargo` and `queue` work.\n *\n * While [`queue`]{@link module:ControlFlow.queue} passes only one task to one of a group of workers\n * at a time, cargo passes an array of tasks to a single worker, repeating\n * when the worker is finished.\n *\n * @name cargo\n * @static\n * @memberOf module:ControlFlow\n * @method\n * @see [async.queue]{@link module:ControlFlow.queue}\n * @category Control Flow\n * @param {AsyncFunction} worker - An asynchronous function for processing an array\n * of queued tasks. Invoked with `(tasks, callback)`.\n * @param {number} [payload=Infinity] - An optional `integer` for determining\n * how many tasks should be processed per round; if omitted, the default is\n * unlimited.\n * @returns {module:ControlFlow.QueueObject} A cargo object to manage the tasks. Callbacks can\n * attached as certain properties to listen for specific events during the\n * lifecycle of the cargo and inner queue.\n * @example\n *\n * // create a cargo object with payload 2\n * var cargo = async.cargo(function(tasks, callback) {\n * for (var i=0; i<tasks.length; i++) {\n * console.log('hello ' + tasks[i].name);\n * }\n * callback();\n * }, 2);\n *\n * // add some items\n * cargo.push({name: 'foo'}, function(err) {\n * console.log('finished processing foo');\n * });\n * cargo.push({name: 'bar'}, function(err) {\n * console.log('finished processing bar');\n * });\n * await cargo.push({name: 'baz'});\n * console.log('finished processing baz');\n */\nfunction cargo(worker, payload) {\n return queue(worker, 1, payload);\n}\n\n/**\n * Creates a `cargoQueue` object with the specified payload. Tasks added to the\n * cargoQueue will be processed together (up to the `payload` limit) in `concurrency` parallel workers.\n * If the all `workers` are in progress, the task is queued until one becomes available. Once\n * a `worker` has completed some tasks, each callback of those tasks is\n * called. Check out [these](https://camo.githubusercontent.com/6bbd36f4cf5b35a0f11a96dcd2e97711ffc2fb37/68747470733a2f2f662e636c6f75642e6769746875622e636f6d2f6173736574732f313637363837312f36383130382f62626330636662302d356632392d313165322d393734662d3333393763363464633835382e676966) [animations](https://camo.githubusercontent.com/f4810e00e1c5f5f8addbe3e9f49064fd5d102699/68747470733a2f2f662e636c6f75642e6769746875622e636f6d2f6173736574732f313637363837312f36383130312f38346339323036362d356632392d313165322d383134662d3964336430323431336266642e676966)\n * for how `cargo` and `queue` work.\n *\n * While [`queue`]{@link module:ControlFlow.queue} passes only one task to one of a group of workers\n * at a time, and [`cargo`]{@link module:ControlFlow.cargo} passes an array of tasks to a single worker,\n * the cargoQueue passes an array of tasks to multiple parallel workers.\n *\n * @name cargoQueue\n * @static\n * @memberOf module:ControlFlow\n * @method\n * @see [async.queue]{@link module:ControlFlow.queue}\n * @see [async.cargo]{@link module:ControlFLow.cargo}\n * @category Control Flow\n * @param {AsyncFunction} worker - An asynchronous function for processing an array\n * of queued tasks. Invoked with `(tasks, callback)`.\n * @param {number} [concurrency=1] - An `integer` for determining how many\n * `worker` functions should be run in parallel. If omitted, the concurrency\n * defaults to `1`. If the concurrency is `0`, an error is thrown.\n * @param {number} [payload=Infinity] - An optional `integer` for determining\n * how many tasks should be processed per round; if omitted, the default is\n * unlimited.\n * @returns {module:ControlFlow.QueueObject} A cargoQueue object to manage the tasks. Callbacks can\n * attached as certain properties to listen for specific events during the\n * lifecycle of the cargoQueue and inner queue.\n * @example\n *\n * // create a cargoQueue object with payload 2 and concurrency 2\n * var cargoQueue = async.cargoQueue(function(tasks, callback) {\n * for (var i=0; i<tasks.length; i++) {\n * console.log('hello ' + tasks[i].name);\n * }\n * callback();\n * }, 2, 2);\n *\n * // add some items\n * cargoQueue.push({name: 'foo'}, function(err) {\n * console.log('finished processing foo');\n * });\n * cargoQueue.push({name: 'bar'}, function(err) {\n * console.log('finished processing bar');\n * });\n * cargoQueue.push({name: 'baz'}, function(err) {\n * console.log('finished processing baz');\n * });\n * cargoQueue.push({name: 'boo'}, function(err) {\n * console.log('finished processing boo');\n * });\n */\nfunction cargo$1(worker, concurrency, payload) {\n return queue(worker, concurrency, payload);\n}\n\n/**\n * Reduces `coll` into a single value using an async `iteratee` to return each\n * successive step. `memo` is the initial state of the reduction. This function\n * only operates in series.\n *\n * For performance reasons, it may make sense to split a call to this function\n * into a parallel map, and then use the normal `Array.prototype.reduce` on the\n * results. This function is for situations where each step in the reduction\n * needs to be async; if you can get the data before reducing it, then it's\n * probably a good idea to do so.\n *\n * @name reduce\n * @static\n * @memberOf module:Collections\n * @method\n * @alias inject\n * @alias foldl\n * @category Collection\n * @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.\n * @param {*} memo - The initial state of the reduction.\n * @param {AsyncFunction} iteratee - A function applied to each item in the\n * array to produce the next step in the reduction.\n * The `iteratee` should complete with the next state of the reduction.\n * If the iteratee completes with an error, the reduction is stopped and the\n * main `callback` is immediately called with the error.\n * Invoked with (memo, item, callback).\n * @param {Function} [callback] - A callback which is called after all the\n * `iteratee` functions have finished. Result is the reduced value. Invoked with\n * (err, result).\n * @returns {Promise} a promise, if no callback is passed\n * @example\n *\n * // file1.txt is a file that is 1000 bytes in size\n * // file2.txt is a file that is 2000 bytes in size\n * // file3.txt is a file that is 3000 bytes in size\n * // file4.txt does not exist\n *\n * const fileList = ['file1.txt','file2.txt','file3.txt'];\n * const withMissingFileList = ['file1.txt','file2.txt','file3.txt', 'file4.txt'];\n *\n * // asynchronous function that computes the file size in bytes\n * // file size is added to the memoized value, then returned\n * function getFileSizeInBytes(memo, file, callback) {\n * fs.stat(file, function(err, stat) {\n * if (err) {\n * return callback(err);\n * }\n * callback(null, memo + stat.size);\n * });\n * }\n *\n * // Using callbacks\n * async.reduce(fileList, 0, getFileSizeInBytes, function(err, result) {\n * if (err) {\n * console.log(err);\n * } else {\n * console.log(result);\n * // 6000\n * // which is the sum of the file sizes of the three files\n * }\n * });\n *\n * // Error Handling\n * async.reduce(withMissingFileList, 0, getFileSizeInBytes, function(err, result) {\n * if (err) {\n * console.log(err);\n * // [ Error: ENOENT: no such file or directory ]\n * } else {\n * console.log(result);\n * }\n * });\n *\n * // Using Promises\n * async.reduce(fileList, 0, getFileSizeInBytes)\n * .then( result => {\n * console.log(result);\n * // 6000\n * // which is the sum of the file sizes of the three files\n * }).catch( err => {\n * console.log(err);\n * });\n *\n * // Error Handling\n * async.reduce(withMissingFileList, 0, getFileSizeInBytes)\n * .then( result => {\n * console.log(result);\n * }).catch( err => {\n * console.log(err);\n * // [ Error: ENOENT: no such file or directory ]\n * });\n *\n * // Using async/await\n * async () => {\n * try {\n * let result = await async.reduce(fileList, 0, getFileSizeInBytes);\n * console.log(result);\n * // 6000\n * // which is the sum of the file sizes of the three files\n * }\n * catch (err) {\n * console.log(err);\n * }\n * }\n *\n * // Error Handling\n * async () => {\n * try {\n * let result = await async.reduce(withMissingFileList, 0, getFileSizeInBytes);\n * console.log(result);\n * }\n * catch (err) {\n * console.log(err);\n * // [ Error: ENOENT: no such file or directory ]\n * }\n * }\n *\n */\nfunction reduce(coll, memo, iteratee, callback) {\n callback = once(callback);\n var _iteratee = wrapAsync(iteratee);\n return eachOfSeries$1(coll, (x, i, iterCb) => {\n _iteratee(memo, x, (err, v) => {\n memo = v;\n iterCb(err);\n });\n }, err => callback(err, memo));\n}\nvar reduce$1 = awaitify(reduce, 4);\n\n/**\n * Version of the compose function that is more natural to read. Each function\n * consumes the return value of the previous function. It is the equivalent of\n * [compose]{@link module:ControlFlow.compose} with the arguments reversed.\n *\n * Each function is executed with the `this` binding of the composed function.\n *\n * @name seq\n * @static\n * @memberOf module:ControlFlow\n * @method\n * @see [async.compose]{@link module:ControlFlow.compose}\n * @category Control Flow\n * @param {...AsyncFunction} functions - the asynchronous functions to compose\n * @returns {Function} a function that composes the `functions` in order\n * @example\n *\n * // Requires lodash (or underscore), express3 and dresende's orm2.\n * // Part of an app, that fetches cats of the logged user.\n * // This example uses `seq` function to avoid overnesting and error\n * // handling clutter.\n * app.get('/cats', function(request, response) {\n * var User = request.models.User;\n * async.seq(\n * User.get.bind(User), // 'User.get' has signature (id, callback(err, data))\n * function(user, fn) {\n * user.getCats(fn); // 'getCats' has signature (callback(err, data))\n * }\n * )(req.session.user_id, function (err, cats) {\n * if (err) {\n * console.error(err);\n * response.json({ status: 'error', message: err.message });\n * } else {\n * response.json({ status: 'ok', message: 'Cats found', data: cats });\n * }\n * });\n * });\n */\nfunction seq(...functions) {\n var _functions = functions.map(wrapAsync);\n return function (...args) {\n var that = this;\n\n var cb = args[args.length - 1];\n if (typeof cb == 'function') {\n args.pop();\n } else {\n cb = promiseCallback();\n }\n\n reduce$1(_functions, args, (newargs, fn, iterCb) => {\n fn.apply(that, newargs.concat((err, ...nextargs) => {\n iterCb(err, nextargs);\n }));\n },\n (err, results) => cb(err, ...results));\n\n return cb[PROMISE_SYMBOL]\n };\n}\n\n/**\n * Creates a function which is a composition of the passed asynchronous\n * functions. Each function consumes the return value of the function that\n * follows. Composing functions `f()`, `g()`, and `h()` would produce the result\n * of `f(g(h()))`, only this version uses callbacks to obtain the return values.\n *\n * If the last argument to the composed function is not a function, a promise\n * is returned when you call it.\n *\n * Each function is executed with the `this` binding of the composed function.\n *\n * @name compose\n * @static\n * @memberOf module:ControlFlow\n * @method\n * @category Control Flow\n * @param {...AsyncFunction} functions - the asynchronous functions to compose\n * @returns {Function} an asynchronous function that is the composed\n * asynchronous `functions`\n * @example\n *\n * function add1(n, callback) {\n * setTimeout(function () {\n * callback(null, n + 1);\n * }, 10);\n * }\n *\n * function mul3(n, callback) {\n * setTimeout(function () {\n * callback(null, n * 3);\n * }, 10);\n * }\n *\n * var add1mul3 = async.compose(mul3, add1);\n * add1mul3(4, function (err, result) {\n * // result now equals 15\n * });\n */\nfunction compose(...args) {\n return seq(...args.reverse());\n}\n\n/**\n * The same as [`map`]{@link module:Collections.map} but runs a maximum of `limit` async operations at a time.\n *\n * @name mapLimit\n * @static\n * @memberOf module:Collections\n * @method\n * @see [async.map]{@link module:Collections.map}\n * @category Collection\n * @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.\n * @param {number} limit - The maximum number of async operations at a time.\n * @param {AsyncFunction} iteratee - An async function to apply to each item in\n * `coll`.\n * The iteratee should complete with the transformed item.\n * Invoked with (item, callback).\n * @param {Function} [callback] - A callback which is called when all `iteratee`\n * functions have finished, or an error occurs. Results is an array of the\n * transformed items from the `coll`. Invoked with (err, results).\n * @returns {Promise} a promise, if no callback is passed\n */\nfunction mapLimit (coll, limit, iteratee, callback) {\n return _asyncMap(eachOfLimit(limit), coll, iteratee, callback)\n}\nvar mapLimit$1 = awaitify(mapLimit, 4);\n\n/**\n * The same as [`concat`]{@link module:Collections.concat} but runs a maximum of `limit` async operations at a time.\n *\n * @name concatLimit\n * @static\n * @memberOf module:Collections\n * @method\n * @see [async.concat]{@link module:Collections.concat}\n * @category Collection\n * @alias flatMapLimit\n * @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.\n * @param {number} limit - The maximum number of async operations at a time.\n * @param {AsyncFunction} iteratee - A function to apply to each item in `coll`,\n * which should use an array as its result. Invoked with (item, callback).\n * @param {Function} [callback] - A callback which is called after all the\n * `iteratee` functions have finished, or an error occurs. Results is an array\n * containing the concatenated results of the `iteratee` function. Invoked with\n * (err, results).\n * @returns A Promise, if no callback is passed\n */\nfunction concatLimit(coll, limit, iteratee, callback) {\n var _iteratee = wrapAsync(iteratee);\n return mapLimit$1(coll, limit, (val, iterCb) => {\n _iteratee(val, (err, ...args) => {\n if (err) return iterCb(err);\n return iterCb(err, args);\n });\n }, (err, mapResults) => {\n var result = [];\n for (var i = 0; i < mapResults.length; i++) {\n if (mapResults[i]) {\n result = result.concat(...mapResults[i]);\n }\n }\n\n return callback(err, result);\n });\n}\nvar concatLimit$1 = awaitify(concatLimit, 4);\n\n/**\n * Applies `iteratee` to each item in `coll`, concatenating the results. Returns\n * the concatenated list. The `iteratee`s are called in parallel, and the\n * results are concatenated as they return. The results array will be returned in\n * the original order of `coll` passed to the `iteratee` function.\n *\n * @name concat\n * @static\n * @memberOf module:Collections\n * @method\n * @category Collection\n * @alias flatMap\n * @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.\n * @param {AsyncFunction} iteratee - A function to apply to each item in `coll`,\n * which should use an array as its result. Invoked with (item, callback).\n * @param {Function} [callback] - A callback which is called after all the\n * `iteratee` functions have finished, or an error occurs. Results is an array\n * containing the concatenated results of the `iteratee` function. Invoked with\n * (err, results).\n * @returns A Promise, if no callback is passed\n * @example\n *\n * // dir1 is a directory that contains file1.txt, file2.txt\n * // dir2 is a directory that contains file3.txt, file4.txt\n * // dir3 is a directory that contains file5.txt\n * // dir4 does not exist\n *\n * let directoryList = ['dir1','dir2','dir3'];\n * let withMissingDirectoryList = ['dir1','dir2','dir3', 'dir4'];\n *\n * // Using callbacks\n * async.concat(directoryList, fs.readdir, function(err, results) {\n * if (err) {\n * console.log(err);\n * } else {\n * console.log(results);\n * // [ 'file1.txt', 'file2.txt', 'file3.txt', 'file4.txt', file5.txt ]\n * }\n * });\n *\n * // Error Handling\n * async.concat(withMissingDirectoryList, fs.readdir, function(err, results) {\n * if (err) {\n * console.log(err);\n * // [ Error: ENOENT: no such file or directory ]\n * // since dir4 does not exist\n * } else {\n * console.log(results);\n * }\n * });\n *\n * // Using Promises\n * async.concat(directoryList, fs.readdir)\n * .then(results => {\n * console.log(results);\n * // [ 'file1.txt', 'file2.txt', 'file3.txt', 'file4.txt', file5.txt ]\n * }).catch(err => {\n * console.log(err);\n * });\n *\n * // Error Handling\n * async.concat(withMissingDirectoryList, fs.readdir)\n * .then(results => {\n * console.log(results);\n * }).catch(err => {\n * console.log(err);\n * // [ Error: ENOENT: no such file or directory ]\n * // since dir4 does not exist\n * });\n *\n * // Using async/await\n * async () => {\n * try {\n * let results = await async.concat(directoryList, fs.readdir);\n * console.log(results);\n * // [ 'file1.txt', 'file2.txt', 'file3.txt', 'file4.txt', file5.txt ]\n * } catch (err) {\n * console.log(err);\n * }\n * }\n *\n * // Error Handling\n * async () => {\n * try {\n * let results = await async.concat(withMissingDirectoryList, fs.readdir);\n * console.log(results);\n * } catch (err) {\n * console.log(err);\n * // [ Error: ENOENT: no such file or directory ]\n * // since dir4 does not exist\n * }\n * }\n *\n */\nfunction concat(coll, iteratee, callback) {\n return concatLimit$1(coll, Infinity, iteratee, callback)\n}\nvar concat$1 = awaitify(concat, 3);\n\n/**\n * The same as [`concat`]{@link module:Collections.concat} but runs only a single async operation at a time.\n *\n * @name concatSeries\n * @static\n * @memberOf module:Collections\n * @method\n * @see [async.concat]{@link module:Collections.concat}\n * @category Collection\n * @alias flatMapSeries\n * @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.\n * @param {AsyncFunction} iteratee - A function to apply to each item in `coll`.\n * The iteratee should complete with an array an array of results.\n * Invoked with (item, callback).\n * @param {Function} [callback] - A callback which is called after all the\n * `iteratee` functions have finished, or an error occurs. Results is an array\n * containing the concatenated results of the `iteratee` function. Invoked with\n * (err, results).\n * @returns A Promise, if no callback is passed\n */\nfunction concatSeries(coll, iteratee, callback) {\n return concatLimit$1(coll, 1, iteratee, callback)\n}\nvar concatSeries$1 = awaitify(concatSeries, 3);\n\n/**\n * Returns a function that when called, calls-back with the values provided.\n * Useful as the first function in a [`waterfall`]{@link module:ControlFlow.waterfall}, or for plugging values in to\n * [`auto`]{@link module:ControlFlow.auto}.\n *\n * @name constant\n * @static\n * @memberOf module:Utils\n * @method\n * @category Util\n * @param {...*} arguments... - Any number of arguments to automatically invoke\n * callback with.\n * @returns {AsyncFunction} Returns a function that when invoked, automatically\n * invokes the callback with the previous given arguments.\n * @example\n *\n * async.waterfall([\n * async.constant(42),\n * function (value, next) {\n * // value === 42\n * },\n * //...\n * ], callback);\n *\n * async.waterfall([\n * async.constant(filename, \"utf8\"),\n * fs.readFile,\n * function (fileData, next) {\n * //...\n * }\n * //...\n * ], callback);\n *\n * async.auto({\n * hostname: async.constant(\"https://server.net/\"),\n * port: findFreePort,\n * launchServer: [\"hostname\", \"port\", function (options, cb) {\n * startServer(options, cb);\n * }],\n * //...\n * }, callback);\n */\nfunction constant(...args) {\n return function (...ignoredArgs/*, callback*/) {\n var callback = ignoredArgs.pop();\n return callback(null, ...args);\n };\n}\n\nfunction _createTester(check, getResult) {\n return (eachfn, arr, _iteratee, cb) => {\n var testPassed = false;\n var testResult;\n const iteratee = wrapAsync(_iteratee);\n eachfn(arr, (value, _, callback) => {\n iteratee(value, (err, result) => {\n if (err || err === false) return callback(err);\n\n if (check(result) && !testResult) {\n testPassed = true;\n testResult = getResult(true, value);\n return callback(null, breakLoop);\n }\n callback();\n });\n }, err => {\n if (err) return cb(err);\n cb(null, testPassed ? testResult : getResult(false));\n });\n };\n}\n\n/**\n * Returns the first value in `coll` that passes an async truth test. The\n * `iteratee` is applied in parallel, meaning the first iteratee to return\n * `true` will fire the detect `callback` with that result. That means the\n * result might not be the first item in the original `coll` (in terms of order)\n * that passes the test.\n\n * If order within the original `coll` is important, then look at\n * [`detectSeries`]{@link module:Collections.detectSeries}.\n *\n * @name detect\n * @static\n * @memberOf module:Collections\n * @method\n * @alias find\n * @category Collections\n * @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.\n * @param {AsyncFunction} iteratee - A truth test to apply to each item in `coll`.\n * The iteratee must complete with a boolean value as its result.\n * Invoked with (item, callback).\n * @param {Function} [callback] - A callback which is called as soon as any\n * iteratee returns `true`, or after all the `iteratee` functions have finished.\n * Result will be the first item in the array that passes the truth test\n * (iteratee) or the value `undefined` if none passed. Invoked with\n * (err, result).\n * @returns {Promise} a promise, if a callback is omitted\n * @example\n *\n * // dir1 is a directory that contains file1.txt, file2.txt\n * // dir2 is a directory that contains file3.txt, file4.txt\n * // dir3 is a directory that contains file5.txt\n *\n * // asynchronous function that checks if a file exists\n * function fileExists(file, callback) {\n * fs.access(file, fs.constants.F_OK, (err) => {\n * callback(null, !err);\n * });\n * }\n *\n * async.detect(['file3.txt','file2.txt','dir1/file1.txt'], fileExists,\n * function(err, result) {\n * console.log(result);\n * // dir1/file1.txt\n * // result now equals the first file in the list that exists\n * }\n *);\n *\n * // Using Promises\n * async.detect(['file3.txt','file2.txt','dir1/file1.txt'], fileExists)\n * .then(result => {\n * console.log(result);\n * // dir1/file1.txt\n * // result now equals the first file in the list that exists\n * }).catch(err => {\n * console.log(err);\n * });\n *\n * // Using async/await\n * async () => {\n * try {\n * let result = await async.detect(['file3.txt','file2.txt','dir1/file1.txt'], fileExists);\n * console.log(result);\n * // dir1/file1.txt\n * // result now equals the file in the list that exists\n * }\n * catch (err) {\n * console.log(err);\n * }\n * }\n *\n */\nfunction detect(coll, iteratee, callback) {\n return _createTester(bool => bool, (res, item) => item)(eachOf$1, coll, iteratee, callback)\n}\nvar detect$1 = awaitify(detect, 3);\n\n/**\n * The same as [`detect`]{@link module:Collections.detect} but runs a maximum of `limit` async operations at a\n * time.\n *\n * @name detectLimit\n * @static\n * @memberOf module:Collections\n * @method\n * @see [async.detect]{@link module:Collections.detect}\n * @alias findLimit\n * @category Collections\n * @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.\n * @param {number} limit - The maximum number of async operations at a time.\n * @param {AsyncFunction} iteratee - A truth test to apply to each item in `coll`.\n * The iteratee must complete with a boolean value as its result.\n * Invoked with (item, callback).\n * @param {Function} [callback] - A callback which is called as soon as any\n * iteratee returns `true`, or after all the `iteratee` functions have finished.\n * Result will be the first item in the array that passes the truth test\n * (iteratee) or the value `undefined` if none passed. Invoked with\n * (err, result).\n * @returns {Promise} a promise, if a callback is omitted\n */\nfunction detectLimit(coll, limit, iteratee, callback) {\n return _createTester(bool => bool, (res, item) => item)(eachOfLimit(limit), coll, iteratee, callback)\n}\nvar detectLimit$1 = awaitify(detectLimit, 4);\n\n/**\n * The same as [`detect`]{@link module:Collections.detect} but runs only a single async operation at a time.\n *\n * @name detectSeries\n * @static\n * @memberOf module:Collections\n * @method\n * @see [async.detect]{@link module:Collections.detect}\n * @alias findSeries\n * @category Collections\n * @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.\n * @param {AsyncFunction} iteratee - A truth test to apply to each item in `coll`.\n * The iteratee must complete with a boolean value as its result.\n * Invoked with (item, callback).\n * @param {Function} [callback] - A callback which is called as soon as any\n * iteratee returns `true`, or after all the `iteratee` functions have finished.\n * Result will be the first item in the array that passes the truth test\n * (iteratee) or the value `undefined` if none passed. Invoked with\n * (err, result).\n * @returns {Promise} a promise, if a callback is omitted\n */\nfunction detectSeries(coll, iteratee, callback) {\n return _createTester(bool => bool, (res, item) => item)(eachOfLimit(1), coll, iteratee, callback)\n}\n\nvar detectSeries$1 = awaitify(detectSeries, 3);\n\nfunction consoleFunc(name) {\n return (fn, ...args) => wrapAsync(fn)(...args, (err, ...resultArgs) => {\n /* istanbul ignore else */\n if (typeof console === 'object') {\n /* istanbul ignore else */\n if (err) {\n /* istanbul ignore else */\n if (console.error) {\n console.error(err);\n }\n } else if (console[name]) { /* istanbul ignore else */\n resultArgs.forEach(x => console[name](x));\n }\n }\n })\n}\n\n/**\n * Logs the result of an [`async` function]{@link AsyncFunction} to the\n * `console` using `console.dir` to display the properties of the resulting object.\n * Only works in Node.js or in browsers that support `console.dir` and\n * `console.error` (such as FF and Chrome).\n * If multiple arguments are returned from the async function,\n * `console.dir` is called on each argument in order.\n *\n * @name dir\n * @static\n * @memberOf module:Utils\n * @method\n * @category Util\n * @param {AsyncFunction} function - The function you want to eventually apply\n * all arguments to.\n * @param {...*} arguments... - Any number of arguments to apply to the function.\n * @example\n *\n * // in a module\n * var hello = function(name, callback) {\n * setTimeout(function() {\n * callback(null, {hello: name});\n * }, 1000);\n * };\n *\n * // in the node repl\n * node> async.dir(hello, 'world');\n * {hello: 'world'}\n */\nvar dir = consoleFunc('dir');\n\n/**\n * The post-check version of [`whilst`]{@link module:ControlFlow.whilst}. To reflect the difference in\n * the order of operations, the arguments `test` and `iteratee` are switched.\n *\n * `doWhilst` is to `whilst` as `do while` is to `while` in plain JavaScript.\n *\n * @name doWhilst\n * @static\n * @memberOf module:ControlFlow\n * @method\n * @see [async.whilst]{@link module:ControlFlow.whilst}\n * @category Control Flow\n * @param {AsyncFunction} iteratee - A function which is called each time `test`\n * passes. Invoked with (callback).\n * @param {AsyncFunction} test - asynchronous truth test to perform after each\n * execution of `iteratee`. Invoked with (...args, callback), where `...args` are the\n * non-error args from the previous callback of `iteratee`.\n * @param {Function} [callback] - A callback which is called after the test\n * function has failed and repeated execution of `iteratee` has stopped.\n * `callback` will be passed an error and any arguments passed to the final\n * `iteratee`'s callback. Invoked with (err, [results]);\n * @returns {Promise} a promise, if no callback is passed\n */\nfunction doWhilst(iteratee, test, callback) {\n callback = onlyOnce(callback);\n var _fn = wrapAsync(iteratee);\n var _test = wrapAsync(test);\n var results;\n\n function next(err, ...args) {\n if (err) return callback(err);\n if (err === false) return;\n results = args;\n _test(...args, check);\n }\n\n function check(err, truth) {\n if (err) return callback(err);\n if (err === false) return;\n if (!truth) return callback(null, ...results);\n _fn(next);\n }\n\n return check(null, true);\n}\n\nvar doWhilst$1 = awaitify(doWhilst, 3);\n\n/**\n * Like ['doWhilst']{@link module:ControlFlow.doWhilst}, except the `test` is inverted. Note the\n * argument ordering differs from `until`.\n *\n * @name doUntil\n * @static\n * @memberOf module:ControlFlow\n * @method\n * @see [async.doWhilst]{@link module:ControlFlow.doWhilst}\n * @category Control Flow\n * @param {AsyncFunction} iteratee - An async function which is called each time\n * `test` fails. Invoked with (callback).\n * @param {AsyncFunction} test - asynchronous truth test to perform after each\n * execution of `iteratee`. Invoked with (...args, callback), where `...args` are the\n * non-error args from the previous callback of `iteratee`\n * @param {Function} [callback] - A callback which is called after the test\n * function has passed and repeated execution of `iteratee` has stopped. `callback`\n * will be passed an error and any arguments passed to the final `iteratee`'s\n * callback. Invoked with (err, [results]);\n * @returns {Promise} a promise, if no callback is passed\n */\nfunction doUntil(iteratee, test, callback) {\n const _test = wrapAsync(test);\n return doWhilst$1(iteratee, (...args) => {\n const cb = args.pop();\n _test(...args, (err, truth) => cb (err, !truth));\n }, callback);\n}\n\nfunction _withoutIndex(iteratee) {\n return (value, index, callback) => iteratee(value, callback);\n}\n\n/**\n * Applies the function `iteratee` to each item in `coll`, in parallel.\n * The `iteratee` is called with an item from the list, and a callback for when\n * it has finished. If the `iteratee` passes an error to its `callback`, the\n * main `callback` (for the `each` function) is immediately called with the\n * error.\n *\n * Note, that since this function applies `iteratee` to each item in parallel,\n * there is no guarantee that the iteratee functions will complete in order.\n *\n * @name each\n * @static\n * @memberOf module:Collections\n * @method\n * @alias forEach\n * @category Collection\n * @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.\n * @param {AsyncFunction} iteratee - An async function to apply to\n * each item in `coll`. Invoked with (item, callback).\n * The array index is not passed to the iteratee.\n * If you need the index, use `eachOf`.\n * @param {Function} [callback] - A callback which is called when all\n * `iteratee` functions have finished, or an error occurs. Invoked with (err).\n * @returns {Promise} a promise, if a callback is omitted\n * @example\n *\n * // dir1 is a directory that contains file1.txt, file2.txt\n * // dir2 is a directory that contains file3.txt, file4.txt\n * // dir3 is a directory that contains file5.txt\n * // dir4 does not exist\n *\n * const fileList = [ 'dir1/file2.txt', 'dir2/file3.txt', 'dir/file5.txt'];\n * const withMissingFileList = ['dir1/file1.txt', 'dir4/file2.txt'];\n *\n * // asynchronous function that deletes a file\n * const deleteFile = function(file, callback) {\n * fs.unlink(file, callback);\n * };\n *\n * // Using callbacks\n * async.each(fileList, deleteFile, function(err) {\n * if( err ) {\n * console.log(err);\n * } else {\n * console.log('All files have been deleted successfully');\n * }\n * });\n *\n * // Error Handling\n * async.each(withMissingFileList, deleteFile, function(err){\n * console.log(err);\n * // [ Error: ENOENT: no such file or directory ]\n * // since dir4/file2.txt does not exist\n * // dir1/file1.txt could have been deleted\n * });\n *\n * // Using Promises\n * async.each(fileList, deleteFile)\n * .then( () => {\n * console.log('All files have been deleted successfully');\n * }).catch( err => {\n * console.log(err);\n * });\n *\n * // Error Handling\n * async.each(fileList, deleteFile)\n * .then( () => {\n * console.log('All files have been deleted successfully');\n * }).catch( err => {\n * console.log(err);\n * // [ Error: ENOENT: no such file or directory ]\n * // since dir4/file2.txt does not exist\n * // dir1/file1.txt could have been deleted\n * });\n *\n * // Using async/await\n * async () => {\n * try {\n * await async.each(files, deleteFile);\n * }\n * catch (err) {\n * console.log(err);\n * }\n * }\n *\n * // Error Handling\n * async () => {\n * try {\n * await async.each(withMissingFileList, deleteFile);\n * }\n * catch (err) {\n * console.log(err);\n * // [ Error: ENOENT: no such file or directory ]\n * // since dir4/file2.txt does not exist\n * // dir1/file1.txt could have been deleted\n * }\n * }\n *\n */\nfunction eachLimit(coll, iteratee, callback) {\n return eachOf$1(coll, _withoutIndex(wrapAsync(iteratee)), callback);\n}\n\nvar each = awaitify(eachLimit, 3);\n\n/**\n * The same as [`each`]{@link module:Collections.each} but runs a maximum of `limit` async operations at a time.\n *\n * @name eachLimit\n * @static\n * @memberOf module:Collections\n * @method\n * @see [async.each]{@link module:Collections.each}\n * @alias forEachLimit\n * @category Collection\n * @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.\n * @param {number} limit - The maximum number of async operations at a time.\n * @param {AsyncFunction} iteratee - An async function to apply to each item in\n * `coll`.\n * The array index is not passed to the iteratee.\n * If you need the index, use `eachOfLimit`.\n * Invoked with (item, callback).\n * @param {Function} [callback] - A callback which is called when all\n * `iteratee` functions have finished, or an error occurs. Invoked with (err).\n * @returns {Promise} a promise, if a callback is omitted\n */\nfunction eachLimit$1(coll, limit, iteratee, callback) {\n return eachOfLimit(limit)(coll, _withoutIndex(wrapAsync(iteratee)), callback);\n}\nvar eachLimit$2 = awaitify(eachLimit$1, 4);\n\n/**\n * The same as [`each`]{@link module:Collections.each} but runs only a single async operation at a time.\n *\n * Note, that unlike [`each`]{@link module:Collections.each}, this function applies iteratee to each item\n * in series and therefore the iteratee functions will complete in order.\n\n * @name eachSeries\n * @static\n * @memberOf module:Collections\n * @method\n * @see [async.each]{@link module:Collections.each}\n * @alias forEachSeries\n * @category Collection\n * @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.\n * @param {AsyncFunction} iteratee - An async function to apply to each\n * item in `coll`.\n * The array index is not passed to the iteratee.\n * If you need the index, use `eachOfSeries`.\n * Invoked with (item, callback).\n * @param {Function} [callback] - A callback which is called when all\n * `iteratee` functions have finished, or an error occurs. Invoked with (err).\n * @returns {Promise} a promise, if a callback is omitted\n */\nfunction eachSeries(coll, iteratee, callback) {\n return eachLimit$2(coll, 1, iteratee, callback)\n}\nvar eachSeries$1 = awaitify(eachSeries, 3);\n\n/**\n * Wrap an async function and ensure it calls its callback on a later tick of\n * the event loop. If the function already calls its callback on a next tick,\n * no extra deferral is added. This is useful for preventing stack overflows\n * (`RangeError: Maximum call stack size exceeded`) and generally keeping\n * [Zalgo](http://blog.izs.me/post/59142742143/designing-apis-for-asynchrony)\n * contained. ES2017 `async` functions are returned as-is -- they are immune\n * to Zalgo's corrupting influences, as they always resolve on a later tick.\n *\n * @name ensureAsync\n * @static\n * @memberOf module:Utils\n * @method\n * @category Util\n * @param {AsyncFunction} fn - an async function, one that expects a node-style\n * callback as its last argument.\n * @returns {AsyncFunction} Returns a wrapped function with the exact same call\n * signature as the function passed in.\n * @example\n *\n * function sometimesAsync(arg, callback) {\n * if (cache[arg]) {\n * return callback(null, cache[arg]); // this would be synchronous!!\n * } else {\n * doSomeIO(arg, callback); // this IO would be asynchronous\n * }\n * }\n *\n * // this has a risk of stack overflows if many results are cached in a row\n * async.mapSeries(args, sometimesAsync, done);\n *\n * // this will defer sometimesAsync's callback if necessary,\n * // preventing stack overflows\n * async.mapSeries(args, async.ensureAsync(sometimesAsync), done);\n */\nfunction ensureAsync(fn) {\n if (isAsync(fn)) return fn;\n return function (...args/*, callback*/) {\n var callback = args.pop();\n var sync = true;\n args.push((...innerArgs) => {\n if (sync) {\n setImmediate$1(() => callback(...innerArgs));\n } else {\n callback(...innerArgs);\n }\n });\n fn.apply(this, args);\n sync = false;\n };\n}\n\n/**\n * Returns `true` if every element in `coll` satisfies an async test. If any\n * iteratee call returns `false`, the main `callback` is immediately called.\n *\n * @name every\n * @static\n * @memberOf module:Collections\n * @method\n * @alias all\n * @category Collection\n * @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.\n * @param {AsyncFunction} iteratee - An async truth test to apply to each item\n * in the collection in parallel.\n * The iteratee must complete with a boolean result value.\n * Invoked with (item, callback).\n * @param {Function} [callback] - A callback which is called after all the\n * `iteratee` functions have finished. Result will be either `true` or `false`\n * depending on the values of the async tests. Invoked with (err, result).\n * @returns {Promise} a promise, if no callback provided\n * @example\n *\n * // dir1 is a directory that contains file1.txt, file2.txt\n * // dir2 is a directory that contains file3.txt, file4.txt\n * // dir3 is a directory that contains file5.txt\n * // dir4 does not exist\n *\n * const fileList = ['dir1/file1.txt','dir2/file3.txt','dir3/file5.txt'];\n * const withMissingFileList = ['file1.txt','file2.txt','file4.txt'];\n *\n * // asynchronous function that checks if a file exists\n * function fileExists(file, callback) {\n * fs.access(file, fs.constants.F_OK, (err) => {\n * callback(null, !err);\n * });\n * }\n *\n * // Using callbacks\n * async.every(fileList, fileExists, function(err, result) {\n * console.log(result);\n * // true\n * // result is true since every file exists\n * });\n *\n * async.every(withMissingFileList, fileExists, function(err, result) {\n * console.log(result);\n * // false\n * // result is false since NOT every file exists\n * });\n *\n * // Using Promises\n * async.every(fileList, fileExists)\n * .then( result => {\n * console.log(result);\n * // true\n * // result is true since every file exists\n * }).catch( err => {\n * console.log(err);\n * });\n *\n * async.every(withMissingFileList, fileExists)\n * .then( result => {\n * console.log(result);\n * // false\n * // result is false since NOT every file exists\n * }).catch( err => {\n * console.log(err);\n * });\n *\n * // Using async/await\n * async () => {\n * try {\n * let result = await async.every(fileList, fileExists);\n * console.log(result);\n * // true\n * // result is true since every file exists\n * }\n * catch (err) {\n * console.log(err);\n * }\n * }\n *\n * async () => {\n * try {\n * let result = await async.every(withMissingFileList, fileExists);\n * console.log(result);\n * // false\n * // result is false since NOT every file exists\n * }\n * catch (err) {\n * console.log(err);\n * }\n * }\n *\n */\nfunction every(coll, iteratee, callback) {\n return _createTester(bool => !bool, res => !res)(eachOf$1, coll, iteratee, callback)\n}\nvar every$1 = awaitify(every, 3);\n\n/**\n * The same as [`every`]{@link module:Collections.every} but runs a maximum of `limit` async operations at a time.\n *\n * @name everyLimit\n * @static\n * @memberOf module:Collections\n * @method\n * @see [async.every]{@link module:Collections.every}\n * @alias allLimit\n * @category Collection\n * @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.\n * @param {number} limit - The maximum number of async operations at a time.\n * @param {AsyncFunction} iteratee - An async truth test to apply to each item\n * in the collection in parallel.\n * The iteratee must complete with a boolean result value.\n * Invoked with (item, callback).\n * @param {Function} [callback] - A callback which is called after all the\n * `iteratee` functions have finished. Result will be either `true` or `false`\n * depending on the values of the async tests. Invoked with (err, result).\n * @returns {Promise} a promise, if no callback provided\n */\nfunction everyLimit(coll, limit, iteratee, callback) {\n return _createTester(bool => !bool, res => !res)(eachOfLimit(limit), coll, iteratee, callback)\n}\nvar everyLimit$1 = awaitify(everyLimit, 4);\n\n/**\n * The same as [`every`]{@link module:Collections.every} but runs only a single async operation at a time.\n *\n * @name everySeries\n * @static\n * @memberOf module:Collections\n * @method\n * @see [async.every]{@link module:Collections.every}\n * @alias allSeries\n * @category Collection\n * @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.\n * @param {AsyncFunction} iteratee - An async truth test to apply to each item\n * in the collection in series.\n * The iteratee must complete with a boolean result value.\n * Invoked with (item, callback).\n * @param {Function} [callback] - A callback which is called after all the\n * `iteratee` functions have finished. Result will be either `true` or `false`\n * depending on the values of the async tests. Invoked with (err, result).\n * @returns {Promise} a promise, if no callback provided\n */\nfunction everySeries(coll, iteratee, callback) {\n return _createTester(bool => !bool, res => !res)(eachOfSeries$1, coll, iteratee, callback)\n}\nvar everySeries$1 = awaitify(everySeries, 3);\n\nfunction filterArray(eachfn, arr, iteratee, callback) {\n var truthValues = new Array(arr.length);\n eachfn(arr, (x, index, iterCb) => {\n iteratee(x, (err, v) => {\n truthValues[index] = !!v;\n iterCb(err);\n });\n }, err => {\n if (err) return callback(err);\n var results = [];\n for (var i = 0; i < arr.length; i++) {\n if (truthValues[i]) results.push(arr[i]);\n }\n callback(null, results);\n });\n}\n\nfunction filterGeneric(eachfn, coll, iteratee, callback) {\n var results = [];\n eachfn(coll, (x, index, iterCb) => {\n iteratee(x, (err, v) => {\n if (err) return iterCb(err);\n if (v) {\n results.push({index, value: x});\n }\n iterCb(err);\n });\n }, err => {\n if (err) return callback(err);\n callback(null, results\n .sort((a, b) => a.index - b.index)\n .map(v => v.value));\n });\n}\n\nfunction _filter(eachfn, coll, iteratee, callback) {\n var filter = isArrayLike(coll) ? filterArray : filterGeneric;\n return filter(eachfn, coll, wrapAsync(iteratee), callback);\n}\n\n/**\n * Returns a new array of all the values in `coll` which pass an async truth\n * test. This operation is performed in parallel, but the results array will be\n * in the same order as the original.\n *\n * @name filter\n * @static\n * @memberOf module:Collections\n * @method\n * @alias select\n * @category Collection\n * @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.\n * @param {Function} iteratee - A truth test to apply to each item in `coll`.\n * The `iteratee` is passed a `callback(err, truthValue)`, which must be called\n * with a boolean argument once it has completed. Invoked with (item, callback).\n * @param {Function} [callback] - A callback which is called after all the\n * `iteratee` functions have finished. Invoked with (err, results).\n * @returns {Promise} a promise, if no callback provided\n * @example\n *\n * // dir1 is a directory that contains file1.txt, file2.txt\n * // dir2 is a directory that contains file3.txt, file4.txt\n * // dir3 is a directory that contains file5.txt\n *\n * const files = ['dir1/file1.txt','dir2/file3.txt','dir3/file6.txt'];\n *\n * // asynchronous function that checks if a file exists\n * function fileExists(file, callback) {\n * fs.access(file, fs.constants.F_OK, (err) => {\n * callback(null, !err);\n * });\n * }\n *\n * // Using callbacks\n * async.filter(files, fileExists, function(err, results) {\n * if(err) {\n * console.log(err);\n * } else {\n * console.log(results);\n * // [ 'dir1/file1.txt', 'dir2/file3.txt' ]\n * // results is now an array of the existing files\n * }\n * });\n *\n * // Using Promises\n * async.filter(files, fileExists)\n * .then(results => {\n * console.log(results);\n * // [ 'dir1/file1.txt', 'dir2/file3.txt' ]\n * // results is now an array of the existing files\n * }).catch(err => {\n * console.log(err);\n * });\n *\n * // Using async/await\n * async () => {\n * try {\n * let results = await async.filter(files, fileExists);\n * console.log(results);\n * // [ 'dir1/file1.txt', 'dir2/file3.txt' ]\n * // results is now an array of the existing files\n * }\n * catch (err) {\n * console.log(err);\n * }\n * }\n *\n */\nfunction filter (coll, iteratee, callback) {\n return _filter(eachOf$1, coll, iteratee, callback)\n}\nvar filter$1 = awaitify(filter, 3);\n\n/**\n * The same as [`filter`]{@link module:Collections.filter} but runs a maximum of `limit` async operations at a\n * time.\n *\n * @name filterLimit\n * @static\n * @memberOf module:Collections\n * @method\n * @see [async.filter]{@link module:Collections.filter}\n * @alias selectLimit\n * @category Collection\n * @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.\n * @param {number} limit - The maximum number of async operations at a time.\n * @param {Function} iteratee - A truth test to apply to each item in `coll`.\n * The `iteratee` is passed a `callback(err, truthValue)`, which must be called\n * with a boolean argument once it has completed. Invoked with (item, callback).\n * @param {Function} [callback] - A callback which is called after all the\n * `iteratee` functions have finished. Invoked with (err, results).\n * @returns {Promise} a promise, if no callback provided\n */\nfunction filterLimit (coll, limit, iteratee, callback) {\n return _filter(eachOfLimit(limit), coll, iteratee, callback)\n}\nvar filterLimit$1 = awaitify(filterLimit, 4);\n\n/**\n * The same as [`filter`]{@link module:Collections.filter} but runs only a single async operation at a time.\n *\n * @name filterSeries\n * @static\n * @memberOf module:Collections\n * @method\n * @see [async.filter]{@link module:Collections.filter}\n * @alias selectSeries\n * @category Collection\n * @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.\n * @param {Function} iteratee - A truth test to apply to each item in `coll`.\n * The `iteratee` is passed a `callback(err, truthValue)`, which must be called\n * with a boolean argument once it has completed. Invoked with (item, callback).\n * @param {Function} [callback] - A callback which is called after all the\n * `iteratee` functions have finished. Invoked with (err, results)\n * @returns {Promise} a promise, if no callback provided\n */\nfunction filterSeries (coll, iteratee, callback) {\n return _filter(eachOfSeries$1, coll, iteratee, callback)\n}\nvar filterSeries$1 = awaitify(filterSeries, 3);\n\n/**\n * Calls the asynchronous function `fn` with a callback parameter that allows it\n * to call itself again, in series, indefinitely.\n\n * If an error is passed to the callback then `errback` is called with the\n * error, and execution stops, otherwise it will never be called.\n *\n * @name forever\n * @static\n * @memberOf module:ControlFlow\n * @method\n * @category Control Flow\n * @param {AsyncFunction} fn - an async function to call repeatedly.\n * Invoked with (next).\n * @param {Function} [errback] - when `fn` passes an error to it's callback,\n * this function will be called, and execution stops. Invoked with (err).\n * @returns {Promise} a promise that rejects if an error occurs and an errback\n * is not passed\n * @example\n *\n * async.forever(\n * function(next) {\n * // next is suitable for passing to things that need a callback(err [, whatever]);\n * // it will result in this function being called again.\n * },\n * function(err) {\n * // if next is called with a value in its first parameter, it will appear\n * // in here as 'err', and execution will stop.\n * }\n * );\n */\nfunction forever(fn, errback) {\n var done = onlyOnce(errback);\n var task = wrapAsync(ensureAsync(fn));\n\n function next(err) {\n if (err) return done(err);\n if (err === false) return;\n task(next);\n }\n return next();\n}\nvar forever$1 = awaitify(forever, 2);\n\n/**\n * The same as [`groupBy`]{@link module:Collections.groupBy} but runs a maximum of `limit` async operations at a time.\n *\n * @name groupByLimit\n * @static\n * @memberOf module:Collections\n * @method\n * @see [async.groupBy]{@link module:Collections.groupBy}\n * @category Collection\n * @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.\n * @param {number} limit - The maximum number of async operations at a time.\n * @param {AsyncFunction} iteratee - An async function to apply to each item in\n * `coll`.\n * The iteratee should complete with a `key` to group the value under.\n * Invoked with (value, callback).\n * @param {Function} [callback] - A callback which is called when all `iteratee`\n * functions have finished, or an error occurs. Result is an `Object` whoses\n * properties are arrays of values which returned the corresponding key.\n * @returns {Promise} a promise, if no callback is passed\n */\nfunction groupByLimit(coll, limit, iteratee, callback) {\n var _iteratee = wrapAsync(iteratee);\n return mapLimit$1(coll, limit, (val, iterCb) => {\n _iteratee(val, (err, key) => {\n if (err) return iterCb(err);\n return iterCb(err, {key, val});\n });\n }, (err, mapResults) => {\n var result = {};\n // from MDN, handle object having an `hasOwnProperty` prop\n var {hasOwnProperty} = Object.prototype;\n\n for (var i = 0; i < mapResults.length; i++) {\n if (mapResults[i]) {\n var {key} = mapResults[i];\n var {val} = mapResults[i];\n\n if (hasOwnProperty.call(result, key)) {\n result[key].push(val);\n } else {\n result[key] = [val];\n }\n }\n }\n\n return callback(err, result);\n });\n}\n\nvar groupByLimit$1 = awaitify(groupByLimit, 4);\n\n/**\n * Returns a new object, where each value corresponds to an array of items, from\n * `coll`, that returned the corresponding key. That is, the keys of the object\n * correspond to the values passed to the `iteratee` callback.\n *\n * Note: Since this function applies the `iteratee` to each item in parallel,\n * there is no guarantee that the `iteratee` functions will complete in order.\n * However, the values for each key in the `result` will be in the same order as\n * the original `coll`. For Objects, the values will roughly be in the order of\n * the original Objects' keys (but this can vary across JavaScript engines).\n *\n * @name groupBy\n * @static\n * @memberOf module:Collections\n * @method\n * @category Collection\n * @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.\n * @param {AsyncFunction} iteratee - An async function to apply to each item in\n * `coll`.\n * The iteratee should complete with a `key` to group the value under.\n * Invoked with (value, callback).\n * @param {Function} [callback] - A callback which is called when all `iteratee`\n * functions have finished, or an error occurs. Result is an `Object` whoses\n * properties are arrays of values which returned the corresponding key.\n * @returns {Promise} a promise, if no callback is passed\n * @example\n *\n * // dir1 is a directory that contains file1.txt, file2.txt\n * // dir2 is a directory that contains file3.txt, file4.txt\n * // dir3 is a directory that contains file5.txt\n * // dir4 does not exist\n *\n * const files = ['dir1/file1.txt','dir2','dir4']\n *\n * // asynchronous function that detects file type as none, file, or directory\n * function detectFile(file, callback) {\n * fs.stat(file, function(err, stat) {\n * if (err) {\n * return callback(null, 'none');\n * }\n * callback(null, stat.isDirectory() ? 'directory' : 'file');\n * });\n * }\n *\n * //Using callbacks\n * async.groupBy(files, detectFile, function(err, result) {\n * if(err) {\n * console.log(err);\n * } else {\n *\t console.log(result);\n * // {\n * // file: [ 'dir1/file1.txt' ],\n * // none: [ 'dir4' ],\n * // directory: [ 'dir2']\n * // }\n * // result is object containing the files grouped by type\n * }\n * });\n *\n * // Using Promises\n * async.groupBy(files, detectFile)\n * .then( result => {\n * console.log(result);\n * // {\n * // file: [ 'dir1/file1.txt' ],\n * // none: [ 'dir4' ],\n * // directory: [ 'dir2']\n * // }\n * // result is object containing the files grouped by type\n * }).catch( err => {\n * console.log(err);\n * });\n *\n * // Using async/await\n * async () => {\n * try {\n * let result = await async.groupBy(files, detectFile);\n * console.log(result);\n * // {\n * // file: [ 'dir1/file1.txt' ],\n * // none: [ 'dir4' ],\n * // directory: [ 'dir2']\n * // }\n * // result is object containing the files grouped by type\n * }\n * catch (err) {\n * console.log(err);\n * }\n * }\n *\n */\nfunction groupBy (coll, iteratee, callback) {\n return groupByLimit$1(coll, Infinity, iteratee, callback)\n}\n\n/**\n * The same as [`groupBy`]{@link module:Collections.groupBy} but runs only a single async operation at a time.\n *\n * @name groupBySeries\n * @static\n * @memberOf module:Collections\n * @method\n * @see [async.groupBy]{@link module:Collections.groupBy}\n * @category Collection\n * @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.\n * @param {AsyncFunction} iteratee - An async function to apply to each item in\n * `coll`.\n * The iteratee should complete with a `key` to group the value under.\n * Invoked with (value, callback).\n * @param {Function} [callback] - A callback which is called when all `iteratee`\n * functions have finished, or an error occurs. Result is an `Object` whose\n * properties are arrays of values which returned the corresponding key.\n * @returns {Promise} a promise, if no callback is passed\n */\nfunction groupBySeries (coll, iteratee, callback) {\n return groupByLimit$1(coll, 1, iteratee, callback)\n}\n\n/**\n * Logs the result of an `async` function to the `console`. Only works in\n * Node.js or in browsers that support `console.log` and `console.error` (such\n * as FF and Chrome). If multiple arguments are returned from the async\n * function, `console.log` is called on each argument in order.\n *\n * @name log\n * @static\n * @memberOf module:Utils\n * @method\n * @category Util\n * @param {AsyncFunction} function - The function you want to eventually apply\n * all arguments to.\n * @param {...*} arguments... - Any number of arguments to apply to the function.\n * @example\n *\n * // in a module\n * var hello = function(name, callback) {\n * setTimeout(function() {\n * callback(null, 'hello ' + name);\n * }, 1000);\n * };\n *\n * // in the node repl\n * node> async.log(hello, 'world');\n * 'hello world'\n */\nvar log = consoleFunc('log');\n\n/**\n * The same as [`mapValues`]{@link module:Collections.mapValues} but runs a maximum of `limit` async operations at a\n * time.\n *\n * @name mapValuesLimit\n * @static\n * @memberOf module:Collections\n * @method\n * @see [async.mapValues]{@link module:Collections.mapValues}\n * @category Collection\n * @param {Object} obj - A collection to iterate over.\n * @param {number} limit - The maximum number of async operations at a time.\n * @param {AsyncFunction} iteratee - A function to apply to each value and key\n * in `coll`.\n * The iteratee should complete with the transformed value as its result.\n * Invoked with (value, key, callback).\n * @param {Function} [callback] - A callback which is called when all `iteratee`\n * functions have finished, or an error occurs. `result` is a new object consisting\n * of each key from `obj`, with each transformed value on the right-hand side.\n * Invoked with (err, result).\n * @returns {Promise} a promise, if no callback is passed\n */\nfunction mapValuesLimit(obj, limit, iteratee, callback) {\n callback = once(callback);\n var newObj = {};\n var _iteratee = wrapAsync(iteratee);\n return eachOfLimit(limit)(obj, (val, key, next) => {\n _iteratee(val, key, (err, result) => {\n if (err) return next(err);\n newObj[key] = result;\n next(err);\n });\n }, err => callback(err, newObj));\n}\n\nvar mapValuesLimit$1 = awaitify(mapValuesLimit, 4);\n\n/**\n * A relative of [`map`]{@link module:Collections.map}, designed for use with objects.\n *\n * Produces a new Object by mapping each value of `obj` through the `iteratee`\n * function. The `iteratee` is called each `value` and `key` from `obj` and a\n * callback for when it has finished processing. Each of these callbacks takes\n * two arguments: an `error`, and the transformed item from `obj`. If `iteratee`\n * passes an error to its callback, the main `callback` (for the `mapValues`\n * function) is immediately called with the error.\n *\n * Note, the order of the keys in the result is not guaranteed. The keys will\n * be roughly in the order they complete, (but this is very engine-specific)\n *\n * @name mapValues\n * @static\n * @memberOf module:Collections\n * @method\n * @category Collection\n * @param {Object} obj - A collection to iterate over.\n * @param {AsyncFunction} iteratee - A function to apply to each value and key\n * in `coll`.\n * The iteratee should complete with the transformed value as its result.\n * Invoked with (value, key, callback).\n * @param {Function} [callback] - A callback which is called when all `iteratee`\n * functions have finished, or an error occurs. `result` is a new object consisting\n * of each key from `obj`, with each transformed value on the right-hand side.\n * Invoked with (err, result).\n * @returns {Promise} a promise, if no callback is passed\n * @example\n *\n * // file1.txt is a file that is 1000 bytes in size\n * // file2.txt is a file that is 2000 bytes in size\n * // file3.txt is a file that is 3000 bytes in size\n * // file4.txt does not exist\n *\n * const fileMap = {\n * f1: 'file1.txt',\n * f2: 'file2.txt',\n * f3: 'file3.txt'\n * };\n *\n * const withMissingFileMap = {\n * f1: 'file1.txt',\n * f2: 'file2.txt',\n * f3: 'file4.txt'\n * };\n *\n * // asynchronous function that returns the file size in bytes\n * function getFileSizeInBytes(file, key, callback) {\n * fs.stat(file, function(err, stat) {\n * if (err) {\n * return callback(err);\n * }\n * callback(null, stat.size);\n * });\n * }\n *\n * // Using callbacks\n * async.mapValues(fileMap, getFileSizeInBytes, function(err, result) {\n * if (err) {\n * console.log(err);\n * } else {\n * console.log(result);\n * // result is now a map of file size in bytes for each file, e.g.\n * // {\n * // f1: 1000,\n * // f2: 2000,\n * // f3: 3000\n * // }\n * }\n * });\n *\n * // Error handling\n * async.mapValues(withMissingFileMap, getFileSizeInBytes, function(err, result) {\n * if (err) {\n * console.log(err);\n * // [ Error: ENOENT: no such file or directory ]\n * } else {\n * console.log(result);\n * }\n * });\n *\n * // Using Promises\n * async.mapValues(fileMap, getFileSizeInBytes)\n * .then( result => {\n * console.log(result);\n * // result is now a map of file size in bytes for each file, e.g.\n * // {\n * // f1: 1000,\n * // f2: 2000,\n * // f3: 3000\n * // }\n * }).catch (err => {\n * console.log(err);\n * });\n *\n * // Error Handling\n * async.mapValues(withMissingFileMap, getFileSizeInBytes)\n * .then( result => {\n * console.log(result);\n * }).catch (err => {\n * console.log(err);\n * // [ Error: ENOENT: no such file or directory ]\n * });\n *\n * // Using async/await\n * async () => {\n * try {\n * let result = await async.mapValues(fileMap, getFileSizeInBytes);\n * console.log(result);\n * // result is now a map of file size in bytes for each file, e.g.\n * // {\n * // f1: 1000,\n * // f2: 2000,\n * // f3: 3000\n * // }\n * }\n * catch (err) {\n * console.log(err);\n * }\n * }\n *\n * // Error Handling\n * async () => {\n * try {\n * let result = await async.mapValues(withMissingFileMap, getFileSizeInBytes);\n * console.log(result);\n * }\n * catch (err) {\n * console.log(err);\n * // [ Error: ENOENT: no such file or directory ]\n * }\n * }\n *\n */\nfunction mapValues(obj, iteratee, callback) {\n return mapValuesLimit$1(obj, Infinity, iteratee, callback)\n}\n\n/**\n * The same as [`mapValues`]{@link module:Collections.mapValues} but runs only a single async operation at a time.\n *\n * @name mapValuesSeries\n * @static\n * @memberOf module:Collections\n * @method\n * @see [async.mapValues]{@link module:Collections.mapValues}\n * @category Collection\n * @param {Object} obj - A collection to iterate over.\n * @param {AsyncFunction} iteratee - A function to apply to each value and key\n * in `coll`.\n * The iteratee should complete with the transformed value as its result.\n * Invoked with (value, key, callback).\n * @param {Function} [callback] - A callback which is called when all `iteratee`\n * functions have finished, or an error occurs. `result` is a new object consisting\n * of each key from `obj`, with each transformed value on the right-hand side.\n * Invoked with (err, result).\n * @returns {Promise} a promise, if no callback is passed\n */\nfunction mapValuesSeries(obj, iteratee, callback) {\n return mapValuesLimit$1(obj, 1, iteratee, callback)\n}\n\n/**\n * Caches the results of an async function. When creating a hash to store\n * function results against, the callback is omitted from the hash and an\n * optional hash function can be used.\n *\n * **Note: if the async function errs, the result will not be cached and\n * subsequent calls will call the wrapped function.**\n *\n * If no hash function is specified, the first argument is used as a hash key,\n * which may work reasonably if it is a string or a data type that converts to a\n * distinct string. Note that objects and arrays will not behave reasonably.\n * Neither will cases where the other arguments are significant. In such cases,\n * specify your own hash function.\n *\n * The cache of results is exposed as the `memo` property of the function\n * returned by `memoize`.\n *\n * @name memoize\n * @static\n * @memberOf module:Utils\n * @method\n * @category Util\n * @param {AsyncFunction} fn - The async function to proxy and cache results from.\n * @param {Function} hasher - An optional function for generating a custom hash\n * for storing results. It has all the arguments applied to it apart from the\n * callback, and must be synchronous.\n * @returns {AsyncFunction} a memoized version of `fn`\n * @example\n *\n * var slow_fn = function(name, callback) {\n * // do something\n * callback(null, result);\n * };\n * var fn = async.memoize(slow_fn);\n *\n * // fn can now be used as if it were slow_fn\n * fn('some name', function() {\n * // callback\n * });\n */\nfunction memoize(fn, hasher = v => v) {\n var memo = Object.create(null);\n var queues = Object.create(null);\n var _fn = wrapAsync(fn);\n var memoized = initialParams((args, callback) => {\n var key = hasher(...args);\n if (key in memo) {\n setImmediate$1(() => callback(null, ...memo[key]));\n } else if (key in queues) {\n queues[key].push(callback);\n } else {\n queues[key] = [callback];\n _fn(...args, (err, ...resultArgs) => {\n // #1465 don't memoize if an error occurred\n if (!err) {\n memo[key] = resultArgs;\n }\n var q = queues[key];\n delete queues[key];\n for (var i = 0, l = q.length; i < l; i++) {\n q[i](err, ...resultArgs);\n }\n });\n }\n });\n memoized.memo = memo;\n memoized.unmemoized = fn;\n return memoized;\n}\n\n/* istanbul ignore file */\n\n/**\n * Calls `callback` on a later loop around the event loop. In Node.js this just\n * calls `process.nextTick`. In the browser it will use `setImmediate` if\n * available, otherwise `setTimeout(callback, 0)`, which means other higher\n * priority events may precede the execution of `callback`.\n *\n * This is used internally for browser-compatibility purposes.\n *\n * @name nextTick\n * @static\n * @memberOf module:Utils\n * @method\n * @see [async.setImmediate]{@link module:Utils.setImmediate}\n * @category Util\n * @param {Function} callback - The function to call on a later loop around\n * the event loop. Invoked with (args...).\n * @param {...*} args... - any number of additional arguments to pass to the\n * callback on the next tick.\n * @example\n *\n * var call_order = [];\n * async.nextTick(function() {\n * call_order.push('two');\n * // call_order now equals ['one','two']\n * });\n * call_order.push('one');\n *\n * async.setImmediate(function (a, b, c) {\n * // a, b, and c equal 1, 2, and 3\n * }, 1, 2, 3);\n */\nvar _defer$1;\n\nif (hasNextTick) {\n _defer$1 = process.nextTick;\n} else if (hasSetImmediate) {\n _defer$1 = setImmediate;\n} else {\n _defer$1 = fallback;\n}\n\nvar nextTick = wrap(_defer$1);\n\nvar parallel = awaitify((eachfn, tasks, callback) => {\n var results = isArrayLike(tasks) ? [] : {};\n\n eachfn(tasks, (task, key, taskCb) => {\n wrapAsync(task)((err, ...result) => {\n if (result.length < 2) {\n [result] = result;\n }\n results[key] = result;\n taskCb(err);\n });\n }, err => callback(err, results));\n}, 3);\n\n/**\n * Run the `tasks` collection of functions in parallel, without waiting until\n * the previous function has completed. If any of the functions pass an error to\n * its callback, the main `callback` is immediately called with the value of the\n * error. Once the `tasks` have completed, the results are passed to the final\n * `callback` as an array.\n *\n * **Note:** `parallel` is about kicking-off I/O tasks in parallel, not about\n * parallel execution of code. If your tasks do not use any timers or perform\n * any I/O, they will actually be executed in series. Any synchronous setup\n * sections for each task will happen one after the other. JavaScript remains\n * single-threaded.\n *\n * **Hint:** Use [`reflect`]{@link module:Utils.reflect} to continue the\n * execution of other tasks when a task fails.\n *\n * It is also possible to use an object instead of an array. Each property will\n * be run as a function and the results will be passed to the final `callback`\n * as an object instead of an array. This can be a more readable way of handling\n * results from {@link async.parallel}.\n *\n * @name parallel\n * @static\n * @memberOf module:ControlFlow\n * @method\n * @category Control Flow\n * @param {Array|Iterable|AsyncIterable|Object} tasks - A collection of\n * [async functions]{@link AsyncFunction} to run.\n * Each async function can complete with any number of optional `result` values.\n * @param {Function} [callback] - An optional callback to run once all the\n * functions have completed successfully. This function gets a results array\n * (or object) containing all the result arguments passed to the task callbacks.\n * Invoked with (err, results).\n * @returns {Promise} a promise, if a callback is not passed\n *\n * @example\n *\n * //Using Callbacks\n * async.parallel([\n * function(callback) {\n * setTimeout(function() {\n * callback(null, 'one');\n * }, 200);\n * },\n * function(callback) {\n * setTimeout(function() {\n * callback(null, 'two');\n * }, 100);\n * }\n * ], function(err, results) {\n * console.log(results);\n * // results is equal to ['one','two'] even though\n * // the second function had a shorter timeout.\n * });\n *\n * // an example using an object instead of an array\n * async.parallel({\n * one: function(callback) {\n * setTimeout(function() {\n * callback(null, 1);\n * }, 200);\n * },\n * two: function(callback) {\n * setTimeout(function() {\n * callback(null, 2);\n * }, 100);\n * }\n * }, function(err, results) {\n * console.log(results);\n * // results is equal to: { one: 1, two: 2 }\n * });\n *\n * //Using Promises\n * async.parallel([\n * function(callback) {\n * setTimeout(function() {\n * callback(null, 'one');\n * }, 200);\n * },\n * function(callback) {\n * setTimeout(function() {\n * callback(null, 'two');\n * }, 100);\n * }\n * ]).then(results => {\n * console.log(results);\n * // results is equal to ['one','two'] even though\n * // the second function had a shorter timeout.\n * }).catch(err => {\n * console.log(err);\n * });\n *\n * // an example using an object instead of an array\n * async.parallel({\n * one: function(callback) {\n * setTimeout(function() {\n * callback(null, 1);\n * }, 200);\n * },\n * two: function(callback) {\n * setTimeout(function() {\n * callback(null, 2);\n * }, 100);\n * }\n * }).then(results => {\n * console.log(results);\n * // results is equal to: { one: 1, two: 2 }\n * }).catch(err => {\n * console.log(err);\n * });\n *\n * //Using async/await\n * async () => {\n * try {\n * let results = await async.parallel([\n * function(callback) {\n * setTimeout(function() {\n * callback(null, 'one');\n * }, 200);\n * },\n * function(callback) {\n * setTimeout(function() {\n * callback(null, 'two');\n * }, 100);\n * }\n * ]);\n * console.log(results);\n * // results is equal to ['one','two'] even though\n * // the second function had a shorter timeout.\n * }\n * catch (err) {\n * console.log(err);\n * }\n * }\n *\n * // an example using an object instead of an array\n * async () => {\n * try {\n * let results = await async.parallel({\n * one: function(callback) {\n * setTimeout(function() {\n * callback(null, 1);\n * }, 200);\n * },\n * two: function(callback) {\n * setTimeout(function() {\n * callback(null, 2);\n * }, 100);\n * }\n * });\n * console.log(results);\n * // results is equal to: { one: 1, two: 2 }\n * }\n * catch (err) {\n * console.log(err);\n * }\n * }\n *\n */\nfunction parallel$1(tasks, callback) {\n return parallel(eachOf$1, tasks, callback);\n}\n\n/**\n * The same as [`parallel`]{@link module:ControlFlow.parallel} but runs a maximum of `limit` async operations at a\n * time.\n *\n * @name parallelLimit\n * @static\n * @memberOf module:ControlFlow\n * @method\n * @see [async.parallel]{@link module:ControlFlow.parallel}\n * @category Control Flow\n * @param {Array|Iterable|AsyncIterable|Object} tasks - A collection of\n * [async functions]{@link AsyncFunction} to run.\n * Each async function can complete with any number of optional `result` values.\n * @param {number} limit - The maximum number of async operations at a time.\n * @param {Function} [callback] - An optional callback to run once all the\n * functions have completed successfully. This function gets a results array\n * (or object) containing all the result arguments passed to the task callbacks.\n * Invoked with (err, results).\n * @returns {Promise} a promise, if a callback is not passed\n */\nfunction parallelLimit(tasks, limit, callback) {\n return parallel(eachOfLimit(limit), tasks, callback);\n}\n\n/**\n * A queue of tasks for the worker function to complete.\n * @typedef {Iterable} QueueObject\n * @memberOf module:ControlFlow\n * @property {Function} length - a function returning the number of items\n * waiting to be processed. Invoke with `queue.length()`.\n * @property {boolean} started - a boolean indicating whether or not any\n * items have been pushed and processed by the queue.\n * @property {Function} running - a function returning the number of items\n * currently being processed. Invoke with `queue.running()`.\n * @property {Function} workersList - a function returning the array of items\n * currently being processed. Invoke with `queue.workersList()`.\n * @property {Function} idle - a function returning false if there are items\n * waiting or being processed, or true if not. Invoke with `queue.idle()`.\n * @property {number} concurrency - an integer for determining how many `worker`\n * functions should be run in parallel. This property can be changed after a\n * `queue` is created to alter the concurrency on-the-fly.\n * @property {number} payload - an integer that specifies how many items are\n * passed to the worker function at a time. only applies if this is a\n * [cargo]{@link module:ControlFlow.cargo} object\n * @property {AsyncFunction} push - add a new task to the `queue`. Calls `callback`\n * once the `worker` has finished processing the task. Instead of a single task,\n * a `tasks` array can be submitted. The respective callback is used for every\n * task in the list. Invoke with `queue.push(task, [callback])`,\n * @property {AsyncFunction} unshift - add a new task to the front of the `queue`.\n * Invoke with `queue.unshift(task, [callback])`.\n * @property {AsyncFunction} pushAsync - the same as `q.push`, except this returns\n * a promise that rejects if an error occurs.\n * @property {AsyncFunction} unshiftAsync - the same as `q.unshift`, except this returns\n * a promise that rejects if an error occurs.\n * @property {Function} remove - remove items from the queue that match a test\n * function. The test function will be passed an object with a `data` property,\n * and a `priority` property, if this is a\n * [priorityQueue]{@link module:ControlFlow.priorityQueue} object.\n * Invoked with `queue.remove(testFn)`, where `testFn` is of the form\n * `function ({data, priority}) {}` and returns a Boolean.\n * @property {Function} saturated - a function that sets a callback that is\n * called when the number of running workers hits the `concurrency` limit, and\n * further tasks will be queued. If the callback is omitted, `q.saturated()`\n * returns a promise for the next occurrence.\n * @property {Function} unsaturated - a function that sets a callback that is\n * called when the number of running workers is less than the `concurrency` &\n * `buffer` limits, and further tasks will not be queued. If the callback is\n * omitted, `q.unsaturated()` returns a promise for the next occurrence.\n * @property {number} buffer - A minimum threshold buffer in order to say that\n * the `queue` is `unsaturated`.\n * @property {Function} empty - a function that sets a callback that is called\n * when the last item from the `queue` is given to a `worker`. If the callback\n * is omitted, `q.empty()` returns a promise for the next occurrence.\n * @property {Function} drain - a function that sets a callback that is called\n * when the last item from the `queue` has returned from the `worker`. If the\n * callback is omitted, `q.drain()` returns a promise for the next occurrence.\n * @property {Function} error - a function that sets a callback that is called\n * when a task errors. Has the signature `function(error, task)`. If the\n * callback is omitted, `error()` returns a promise that rejects on the next\n * error.\n * @property {boolean} paused - a boolean for determining whether the queue is\n * in a paused state.\n * @property {Function} pause - a function that pauses the processing of tasks\n * until `resume()` is called. Invoke with `queue.pause()`.\n * @property {Function} resume - a function that resumes the processing of\n * queued tasks when the queue is paused. Invoke with `queue.resume()`.\n * @property {Function} kill - a function that removes the `drain` callback and\n * empties remaining tasks from the queue forcing it to go idle. No more tasks\n * should be pushed to the queue after calling this function. Invoke with `queue.kill()`.\n *\n * @example\n * const q = async.queue(worker, 2)\n * q.push(item1)\n * q.push(item2)\n * q.push(item3)\n * // queues are iterable, spread into an array to inspect\n * const items = [...q] // [item1, item2, item3]\n * // or use for of\n * for (let item of q) {\n * console.log(item)\n * }\n *\n * q.drain(() => {\n * console.log('all done')\n * })\n * // or\n * await q.drain()\n */\n\n/**\n * Creates a `queue` object with the specified `concurrency`. Tasks added to the\n * `queue` are processed in parallel (up to the `concurrency` limit). If all\n * `worker`s are in progress, the task is queued until one becomes available.\n * Once a `worker` completes a `task`, that `task`'s callback is called.\n *\n * @name queue\n * @static\n * @memberOf module:ControlFlow\n * @method\n * @category Control Flow\n * @param {AsyncFunction} worker - An async function for processing a queued task.\n * If you want to handle errors from an individual task, pass a callback to\n * `q.push()`. Invoked with (task, callback).\n * @param {number} [concurrency=1] - An `integer` for determining how many\n * `worker` functions should be run in parallel. If omitted, the concurrency\n * defaults to `1`. If the concurrency is `0`, an error is thrown.\n * @returns {module:ControlFlow.QueueObject} A queue object to manage the tasks. Callbacks can be\n * attached as certain properties to listen for specific events during the\n * lifecycle of the queue.\n * @example\n *\n * // create a queue object with concurrency 2\n * var q = async.queue(function(task, callback) {\n * console.log('hello ' + task.name);\n * callback();\n * }, 2);\n *\n * // assign a callback\n * q.drain(function() {\n * console.log('all items have been processed');\n * });\n * // or await the end\n * await q.drain()\n *\n * // assign an error callback\n * q.error(function(err, task) {\n * console.error('task experienced an error');\n * });\n *\n * // add some items to the queue\n * q.push({name: 'foo'}, function(err) {\n * console.log('finished processing foo');\n * });\n * // callback is optional\n * q.push({name: 'bar'});\n *\n * // add some items to the queue (batch-wise)\n * q.push([{name: 'baz'},{name: 'bay'},{name: 'bax'}], function(err) {\n * console.log('finished processing item');\n * });\n *\n * // add some items to the front of the queue\n * q.unshift({name: 'bar'}, function (err) {\n * console.log('finished processing bar');\n * });\n */\nfunction queue$1 (worker, concurrency) {\n var _worker = wrapAsync(worker);\n return queue((items, cb) => {\n _worker(items[0], cb);\n }, concurrency, 1);\n}\n\n// Binary min-heap implementation used for priority queue.\n// Implementation is stable, i.e. push time is considered for equal priorities\nclass Heap {\n constructor() {\n this.heap = [];\n this.pushCount = Number.MIN_SAFE_INTEGER;\n }\n\n get length() {\n return this.heap.length;\n }\n\n empty () {\n this.heap = [];\n return this;\n }\n\n percUp(index) {\n let p;\n\n while (index > 0 && smaller(this.heap[index], this.heap[p=parent(index)])) {\n let t = this.heap[index];\n this.heap[index] = this.heap[p];\n this.heap[p] = t;\n\n index = p;\n }\n }\n\n percDown(index) {\n let l;\n\n while ((l=leftChi(index)) < this.heap.length) {\n if (l+1 < this.heap.length && smaller(this.heap[l+1], this.heap[l])) {\n l = l+1;\n }\n\n if (smaller(this.heap[index], this.heap[l])) {\n break;\n }\n\n let t = this.heap[index];\n this.heap[index] = this.heap[l];\n this.heap[l] = t;\n\n index = l;\n }\n }\n\n push(node) {\n node.pushCount = ++this.pushCount;\n this.heap.push(node);\n this.percUp(this.heap.length-1);\n }\n\n unshift(node) {\n return this.heap.push(node);\n }\n\n shift() {\n let [top] = this.heap;\n\n this.heap[0] = this.heap[this.heap.length-1];\n this.heap.pop();\n this.percDown(0);\n\n return top;\n }\n\n toArray() {\n return [...this];\n }\n\n *[Symbol.iterator] () {\n for (let i = 0; i < this.heap.length; i++) {\n yield this.heap[i].data;\n }\n }\n\n remove (testFn) {\n let j = 0;\n for (let i = 0; i < this.heap.length; i++) {\n if (!testFn(this.heap[i])) {\n this.heap[j] = this.heap[i];\n j++;\n }\n }\n\n this.heap.splice(j);\n\n for (let i = parent(this.heap.length-1); i >= 0; i--) {\n this.percDown(i);\n }\n\n return this;\n }\n}\n\nfunction leftChi(i) {\n return (i<<1)+1;\n}\n\nfunction parent(i) {\n return ((i+1)>>1)-1;\n}\n\nfunction smaller(x, y) {\n if (x.priority !== y.priority) {\n return x.priority < y.priority;\n }\n else {\n return x.pushCount < y.pushCount;\n }\n}\n\n/**\n * The same as [async.queue]{@link module:ControlFlow.queue} only tasks are assigned a priority and\n * completed in ascending priority order.\n *\n * @name priorityQueue\n * @static\n * @memberOf module:ControlFlow\n * @method\n * @see [async.queue]{@link module:ControlFlow.queue}\n * @category Control Flow\n * @param {AsyncFunction} worker - An async function for processing a queued task.\n * If you want to handle errors from an individual task, pass a callback to\n * `q.push()`.\n * Invoked with (task, callback).\n * @param {number} concurrency - An `integer` for determining how many `worker`\n * functions should be run in parallel. If omitted, the concurrency defaults to\n * `1`. If the concurrency is `0`, an error is thrown.\n * @returns {module:ControlFlow.QueueObject} A priorityQueue object to manage the tasks. There are three\n * differences between `queue` and `priorityQueue` objects:\n * * `push(task, priority, [callback])` - `priority` should be a number. If an\n * array of `tasks` is given, all tasks will be assigned the same priority.\n * * `pushAsync(task, priority, [callback])` - the same as `priorityQueue.push`,\n * except this returns a promise that rejects if an error occurs.\n * * The `unshift` and `unshiftAsync` methods were removed.\n */\nfunction priorityQueue(worker, concurrency) {\n // Start with a normal queue\n var q = queue$1(worker, concurrency);\n\n var {\n push,\n pushAsync\n } = q;\n\n q._tasks = new Heap();\n q._createTaskItem = ({data, priority}, callback) => {\n return {\n data,\n priority,\n callback\n };\n };\n\n function createDataItems(tasks, priority) {\n if (!Array.isArray(tasks)) {\n return {data: tasks, priority};\n }\n return tasks.map(data => { return {data, priority}; });\n }\n\n // Override push to accept second parameter representing priority\n q.push = function(data, priority = 0, callback) {\n return push(createDataItems(data, priority), callback);\n };\n\n q.pushAsync = function(data, priority = 0, callback) {\n return pushAsync(createDataItems(data, priority), callback);\n };\n\n // Remove unshift functions\n delete q.unshift;\n delete q.unshiftAsync;\n\n return q;\n}\n\n/**\n * Runs the `tasks` array of functions in parallel, without waiting until the\n * previous function has completed. Once any of the `tasks` complete or pass an\n * error to its callback, the main `callback` is immediately called. It's\n * equivalent to `Promise.race()`.\n *\n * @name race\n * @static\n * @memberOf module:ControlFlow\n * @method\n * @category Control Flow\n * @param {Array} tasks - An array containing [async functions]{@link AsyncFunction}\n * to run. Each function can complete with an optional `result` value.\n * @param {Function} callback - A callback to run once any of the functions have\n * completed. This function gets an error or result from the first function that\n * completed. Invoked with (err, result).\n * @returns {Promise} a promise, if a callback is omitted\n * @example\n *\n * async.race([\n * function(callback) {\n * setTimeout(function() {\n * callback(null, 'one');\n * }, 200);\n * },\n * function(callback) {\n * setTimeout(function() {\n * callback(null, 'two');\n * }, 100);\n * }\n * ],\n * // main callback\n * function(err, result) {\n * // the result will be equal to 'two' as it finishes earlier\n * });\n */\nfunction race(tasks, callback) {\n callback = once(callback);\n if (!Array.isArray(tasks)) return callback(new TypeError('First argument to race must be an array of functions'));\n if (!tasks.length) return callback();\n for (var i = 0, l = tasks.length; i < l; i++) {\n wrapAsync(tasks[i])(callback);\n }\n}\n\nvar race$1 = awaitify(race, 2);\n\n/**\n * Same as [`reduce`]{@link module:Collections.reduce}, only operates on `array` in reverse order.\n *\n * @name reduceRight\n * @static\n * @memberOf module:Collections\n * @method\n * @see [async.reduce]{@link module:Collections.reduce}\n * @alias foldr\n * @category Collection\n * @param {Array} array - A collection to iterate over.\n * @param {*} memo - The initial state of the reduction.\n * @param {AsyncFunction} iteratee - A function applied to each item in the\n * array to produce the next step in the reduction.\n * The `iteratee` should complete with the next state of the reduction.\n * If the iteratee completes with an error, the reduction is stopped and the\n * main `callback` is immediately called with the error.\n * Invoked with (memo, item, callback).\n * @param {Function} [callback] - A callback which is called after all the\n * `iteratee` functions have finished. Result is the reduced value. Invoked with\n * (err, result).\n * @returns {Promise} a promise, if no callback is passed\n */\nfunction reduceRight (array, memo, iteratee, callback) {\n var reversed = [...array].reverse();\n return reduce$1(reversed, memo, iteratee, callback);\n}\n\n/**\n * Wraps the async function in another function that always completes with a\n * result object, even when it errors.\n *\n * The result object has either the property `error` or `value`.\n *\n * @name reflect\n * @static\n * @memberOf module:Utils\n * @method\n * @category Util\n * @param {AsyncFunction} fn - The async function you want to wrap\n * @returns {Function} - A function that always passes null to it's callback as\n * the error. The second argument to the callback will be an `object` with\n * either an `error` or a `value` property.\n * @example\n *\n * async.parallel([\n * async.reflect(function(callback) {\n * // do some stuff ...\n * callback(null, 'one');\n * }),\n * async.reflect(function(callback) {\n * // do some more stuff but error ...\n * callback('bad stuff happened');\n * }),\n * async.reflect(function(callback) {\n * // do some more stuff ...\n * callback(null, 'two');\n * })\n * ],\n * // optional callback\n * function(err, results) {\n * // values\n * // results[0].value = 'one'\n * // results[1].error = 'bad stuff happened'\n * // results[2].value = 'two'\n * });\n */\nfunction reflect(fn) {\n var _fn = wrapAsync(fn);\n return initialParams(function reflectOn(args, reflectCallback) {\n args.push((error, ...cbArgs) => {\n let retVal = {};\n if (error) {\n retVal.error = error;\n }\n if (cbArgs.length > 0){\n var value = cbArgs;\n if (cbArgs.length <= 1) {\n [value] = cbArgs;\n }\n retVal.value = value;\n }\n reflectCallback(null, retVal);\n });\n\n return _fn.apply(this, args);\n });\n}\n\n/**\n * A helper function that wraps an array or an object of functions with `reflect`.\n *\n * @name reflectAll\n * @static\n * @memberOf module:Utils\n * @method\n * @see [async.reflect]{@link module:Utils.reflect}\n * @category Util\n * @param {Array|Object|Iterable} tasks - The collection of\n * [async functions]{@link AsyncFunction} to wrap in `async.reflect`.\n * @returns {Array} Returns an array of async functions, each wrapped in\n * `async.reflect`\n * @example\n *\n * let tasks = [\n * function(callback) {\n * setTimeout(function() {\n * callback(null, 'one');\n * }, 200);\n * },\n * function(callback) {\n * // do some more stuff but error ...\n * callback(new Error('bad stuff happened'));\n * },\n * function(callback) {\n * setTimeout(function() {\n * callback(null, 'two');\n * }, 100);\n * }\n * ];\n *\n * async.parallel(async.reflectAll(tasks),\n * // optional callback\n * function(err, results) {\n * // values\n * // results[0].value = 'one'\n * // results[1].error = Error('bad stuff happened')\n * // results[2].value = 'two'\n * });\n *\n * // an example using an object instead of an array\n * let tasks = {\n * one: function(callback) {\n * setTimeout(function() {\n * callback(null, 'one');\n * }, 200);\n * },\n * two: function(callback) {\n * callback('two');\n * },\n * three: function(callback) {\n * setTimeout(function() {\n * callback(null, 'three');\n * }, 100);\n * }\n * };\n *\n * async.parallel(async.reflectAll(tasks),\n * // optional callback\n * function(err, results) {\n * // values\n * // results.one.value = 'one'\n * // results.two.error = 'two'\n * // results.three.value = 'three'\n * });\n */\nfunction reflectAll(tasks) {\n var results;\n if (Array.isArray(tasks)) {\n results = tasks.map(reflect);\n } else {\n results = {};\n Object.keys(tasks).forEach(key => {\n results[key] = reflect.call(this, tasks[key]);\n });\n }\n return results;\n}\n\nfunction reject(eachfn, arr, _iteratee, callback) {\n const iteratee = wrapAsync(_iteratee);\n return _filter(eachfn, arr, (value, cb) => {\n iteratee(value, (err, v) => {\n cb(err, !v);\n });\n }, callback);\n}\n\n/**\n * The opposite of [`filter`]{@link module:Collections.filter}. Removes values that pass an `async` truth test.\n *\n * @name reject\n * @static\n * @memberOf module:Collections\n * @method\n * @see [async.filter]{@link module:Collections.filter}\n * @category Collection\n * @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.\n * @param {Function} iteratee - An async truth test to apply to each item in\n * `coll`.\n * The should complete with a boolean value as its `result`.\n * Invoked with (item, callback).\n * @param {Function} [callback] - A callback which is called after all the\n * `iteratee` functions have finished. Invoked with (err, results).\n * @returns {Promise} a promise, if no callback is passed\n * @example\n *\n * // dir1 is a directory that contains file1.txt, file2.txt\n * // dir2 is a directory that contains file3.txt, file4.txt\n * // dir3 is a directory that contains file5.txt\n *\n * const fileList = ['dir1/file1.txt','dir2/file3.txt','dir3/file6.txt'];\n *\n * // asynchronous function that checks if a file exists\n * function fileExists(file, callback) {\n * fs.access(file, fs.constants.F_OK, (err) => {\n * callback(null, !err);\n * });\n * }\n *\n * // Using callbacks\n * async.reject(fileList, fileExists, function(err, results) {\n * // [ 'dir3/file6.txt' ]\n * // results now equals an array of the non-existing files\n * });\n *\n * // Using Promises\n * async.reject(fileList, fileExists)\n * .then( results => {\n * console.log(results);\n * // [ 'dir3/file6.txt' ]\n * // results now equals an array of the non-existing files\n * }).catch( err => {\n * console.log(err);\n * });\n *\n * // Using async/await\n * async () => {\n * try {\n * let results = await async.reject(fileList, fileExists);\n * console.log(results);\n * // [ 'dir3/file6.txt' ]\n * // results now equals an array of the non-existing files\n * }\n * catch (err) {\n * console.log(err);\n * }\n * }\n *\n */\nfunction reject$1 (coll, iteratee, callback) {\n return reject(eachOf$1, coll, iteratee, callback)\n}\nvar reject$2 = awaitify(reject$1, 3);\n\n/**\n * The same as [`reject`]{@link module:Collections.reject} but runs a maximum of `limit` async operations at a\n * time.\n *\n * @name rejectLimit\n * @static\n * @memberOf module:Collections\n * @method\n * @see [async.reject]{@link module:Collections.reject}\n * @category Collection\n * @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.\n * @param {number} limit - The maximum number of async operations at a time.\n * @param {Function} iteratee - An async truth test to apply to each item in\n * `coll`.\n * The should complete with a boolean value as its `result`.\n * Invoked with (item, callback).\n * @param {Function} [callback] - A callback which is called after all the\n * `iteratee` functions have finished. Invoked with (err, results).\n * @returns {Promise} a promise, if no callback is passed\n */\nfunction rejectLimit (coll, limit, iteratee, callback) {\n return reject(eachOfLimit(limit), coll, iteratee, callback)\n}\nvar rejectLimit$1 = awaitify(rejectLimit, 4);\n\n/**\n * The same as [`reject`]{@link module:Collections.reject} but runs only a single async operation at a time.\n *\n * @name rejectSeries\n * @static\n * @memberOf module:Collections\n * @method\n * @see [async.reject]{@link module:Collections.reject}\n * @category Collection\n * @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.\n * @param {Function} iteratee - An async truth test to apply to each item in\n * `coll`.\n * The should complete with a boolean value as its `result`.\n * Invoked with (item, callback).\n * @param {Function} [callback] - A callback which is called after all the\n * `iteratee` functions have finished. Invoked with (err, results).\n * @returns {Promise} a promise, if no callback is passed\n */\nfunction rejectSeries (coll, iteratee, callback) {\n return reject(eachOfSeries$1, coll, iteratee, callback)\n}\nvar rejectSeries$1 = awaitify(rejectSeries, 3);\n\nfunction constant$1(value) {\n return function () {\n return value;\n }\n}\n\n/**\n * Attempts to get a successful response from `task` no more than `times` times\n * before returning an error. If the task is successful, the `callback` will be\n * passed the result of the successful task. If all attempts fail, the callback\n * will be passed the error and result (if any) of the final attempt.\n *\n * @name retry\n * @static\n * @memberOf module:ControlFlow\n * @method\n * @category Control Flow\n * @see [async.retryable]{@link module:ControlFlow.retryable}\n * @param {Object|number} [opts = {times: 5, interval: 0}| 5] - Can be either an\n * object with `times` and `interval` or a number.\n * * `times` - The number of attempts to make before giving up. The default\n * is `5`.\n * * `interval` - The time to wait between retries, in milliseconds. The\n * default is `0`. The interval may also be specified as a function of the\n * retry count (see example).\n * * `errorFilter` - An optional synchronous function that is invoked on\n * erroneous result. If it returns `true` the retry attempts will continue;\n * if the function returns `false` the retry flow is aborted with the current\n * attempt's error and result being returned to the final callback.\n * Invoked with (err).\n * * If `opts` is a number, the number specifies the number of times to retry,\n * with the default interval of `0`.\n * @param {AsyncFunction} task - An async function to retry.\n * Invoked with (callback).\n * @param {Function} [callback] - An optional callback which is called when the\n * task has succeeded, or after the final failed attempt. It receives the `err`\n * and `result` arguments of the last attempt at completing the `task`. Invoked\n * with (err, results).\n * @returns {Promise} a promise if no callback provided\n *\n * @example\n *\n * // The `retry` function can be used as a stand-alone control flow by passing\n * // a callback, as shown below:\n *\n * // try calling apiMethod 3 times\n * async.retry(3, apiMethod, function(err, result) {\n * // do something with the result\n * });\n *\n * // try calling apiMethod 3 times, waiting 200 ms between each retry\n * async.retry({times: 3, interval: 200}, apiMethod, function(err, result) {\n * // do something with the result\n * });\n *\n * // try calling apiMethod 10 times with exponential backoff\n * // (i.e. intervals of 100, 200, 400, 800, 1600, ... milliseconds)\n * async.retry({\n * times: 10,\n * interval: function(retryCount) {\n * return 50 * Math.pow(2, retryCount);\n * }\n * }, apiMethod, function(err, result) {\n * // do something with the result\n * });\n *\n * // try calling apiMethod the default 5 times no delay between each retry\n * async.retry(apiMethod, function(err, result) {\n * // do something with the result\n * });\n *\n * // try calling apiMethod only when error condition satisfies, all other\n * // errors will abort the retry control flow and return to final callback\n * async.retry({\n * errorFilter: function(err) {\n * return err.message === 'Temporary error'; // only retry on a specific error\n * }\n * }, apiMethod, function(err, result) {\n * // do something with the result\n * });\n *\n * // to retry individual methods that are not as reliable within other\n * // control flow functions, use the `retryable` wrapper:\n * async.auto({\n * users: api.getUsers.bind(api),\n * payments: async.retryable(3, api.getPayments.bind(api))\n * }, function(err, results) {\n * // do something with the results\n * });\n *\n */\nconst DEFAULT_TIMES = 5;\nconst DEFAULT_INTERVAL = 0;\n\nfunction retry(opts, task, callback) {\n var options = {\n times: DEFAULT_TIMES,\n intervalFunc: constant$1(DEFAULT_INTERVAL)\n };\n\n if (arguments.length < 3 && typeof opts === 'function') {\n callback = task || promiseCallback();\n task = opts;\n } else {\n parseTimes(options, opts);\n callback = callback || promiseCallback();\n }\n\n if (typeof task !== 'function') {\n throw new Error(\"Invalid arguments for async.retry\");\n }\n\n var _task = wrapAsync(task);\n\n var attempt = 1;\n function retryAttempt() {\n _task((err, ...args) => {\n if (err === false) return\n if (err && attempt++ < options.times &&\n (typeof options.errorFilter != 'function' ||\n options.errorFilter(err))) {\n setTimeout(retryAttempt, options.intervalFunc(attempt - 1));\n } else {\n callback(err, ...args);\n }\n });\n }\n\n retryAttempt();\n return callback[PROMISE_SYMBOL]\n}\n\nfunction parseTimes(acc, t) {\n if (typeof t === 'object') {\n acc.times = +t.times || DEFAULT_TIMES;\n\n acc.intervalFunc = typeof t.interval === 'function' ?\n t.interval :\n constant$1(+t.interval || DEFAULT_INTERVAL);\n\n acc.errorFilter = t.errorFilter;\n } else if (typeof t === 'number' || typeof t === 'string') {\n acc.times = +t || DEFAULT_TIMES;\n } else {\n throw new Error(\"Invalid arguments for async.retry\");\n }\n}\n\n/**\n * A close relative of [`retry`]{@link module:ControlFlow.retry}. This method\n * wraps a task and makes it retryable, rather than immediately calling it\n * with retries.\n *\n * @name retryable\n * @static\n * @memberOf module:ControlFlow\n * @method\n * @see [async.retry]{@link module:ControlFlow.retry}\n * @category Control Flow\n * @param {Object|number} [opts = {times: 5, interval: 0}| 5] - optional\n * options, exactly the same as from `retry`, except for a `opts.arity` that\n * is the arity of the `task` function, defaulting to `task.length`\n * @param {AsyncFunction} task - the asynchronous function to wrap.\n * This function will be passed any arguments passed to the returned wrapper.\n * Invoked with (...args, callback).\n * @returns {AsyncFunction} The wrapped function, which when invoked, will\n * retry on an error, based on the parameters specified in `opts`.\n * This function will accept the same parameters as `task`.\n * @example\n *\n * async.auto({\n * dep1: async.retryable(3, getFromFlakyService),\n * process: [\"dep1\", async.retryable(3, function (results, cb) {\n * maybeProcessData(results.dep1, cb);\n * })]\n * }, callback);\n */\nfunction retryable (opts, task) {\n if (!task) {\n task = opts;\n opts = null;\n }\n let arity = (opts && opts.arity) || task.length;\n if (isAsync(task)) {\n arity += 1;\n }\n var _task = wrapAsync(task);\n return initialParams((args, callback) => {\n if (args.length < arity - 1 || callback == null) {\n args.push(callback);\n callback = promiseCallback();\n }\n function taskFn(cb) {\n _task(...args, cb);\n }\n\n if (opts) retry(opts, taskFn, callback);\n else retry(taskFn, callback);\n\n return callback[PROMISE_SYMBOL]\n });\n}\n\n/**\n * Run the functions in the `tasks` collection in series, each one running once\n * the previous function has completed. If any functions in the series pass an\n * error to its callback, no more functions are run, and `callback` is\n * immediately called with the value of the error. Otherwise, `callback`\n * receives an array of results when `tasks` have completed.\n *\n * It is also possible to use an object instead of an array. Each property will\n * be run as a function, and the results will be passed to the final `callback`\n * as an object instead of an array. This can be a more readable way of handling\n * results from {@link async.series}.\n *\n * **Note** that while many implementations preserve the order of object\n * properties, the [ECMAScript Language Specification](http://www.ecma-international.org/ecma-262/5.1/#sec-8.6)\n * explicitly states that\n *\n * > The mechanics and order of enumerating the properties is not specified.\n *\n * So if you rely on the order in which your series of functions are executed,\n * and want this to work on all platforms, consider using an array.\n *\n * @name series\n * @static\n * @memberOf module:ControlFlow\n * @method\n * @category Control Flow\n * @param {Array|Iterable|AsyncIterable|Object} tasks - A collection containing\n * [async functions]{@link AsyncFunction} to run in series.\n * Each function can complete with any number of optional `result` values.\n * @param {Function} [callback] - An optional callback to run once all the\n * functions have completed. This function gets a results array (or object)\n * containing all the result arguments passed to the `task` callbacks. Invoked\n * with (err, result).\n * @return {Promise} a promise, if no callback is passed\n * @example\n *\n * //Using Callbacks\n * async.series([\n * function(callback) {\n * setTimeout(function() {\n * // do some async task\n * callback(null, 'one');\n * }, 200);\n * },\n * function(callback) {\n * setTimeout(function() {\n * // then do another async task\n * callback(null, 'two');\n * }, 100);\n * }\n * ], function(err, results) {\n * console.log(results);\n * // results is equal to ['one','two']\n * });\n *\n * // an example using objects instead of arrays\n * async.series({\n * one: function(callback) {\n * setTimeout(function() {\n * // do some async task\n * callback(null, 1);\n * }, 200);\n * },\n * two: function(callback) {\n * setTimeout(function() {\n * // then do another async task\n * callback(null, 2);\n * }, 100);\n * }\n * }, function(err, results) {\n * console.log(results);\n * // results is equal to: { one: 1, two: 2 }\n * });\n *\n * //Using Promises\n * async.series([\n * function(callback) {\n * setTimeout(function() {\n * callback(null, 'one');\n * }, 200);\n * },\n * function(callback) {\n * setTimeout(function() {\n * callback(null, 'two');\n * }, 100);\n * }\n * ]).then(results => {\n * console.log(results);\n * // results is equal to ['one','two']\n * }).catch(err => {\n * console.log(err);\n * });\n *\n * // an example using an object instead of an array\n * async.series({\n * one: function(callback) {\n * setTimeout(function() {\n * // do some async task\n * callback(null, 1);\n * }, 200);\n * },\n * two: function(callback) {\n * setTimeout(function() {\n * // then do another async task\n * callback(null, 2);\n * }, 100);\n * }\n * }).then(results => {\n * console.log(results);\n * // results is equal to: { one: 1, two: 2 }\n * }).catch(err => {\n * console.log(err);\n * });\n *\n * //Using async/await\n * async () => {\n * try {\n * let results = await async.series([\n * function(callback) {\n * setTimeout(function() {\n * // do some async task\n * callback(null, 'one');\n * }, 200);\n * },\n * function(callback) {\n * setTimeout(function() {\n * // then do another async task\n * callback(null, 'two');\n * }, 100);\n * }\n * ]);\n * console.log(results);\n * // results is equal to ['one','two']\n * }\n * catch (err) {\n * console.log(err);\n * }\n * }\n *\n * // an example using an object instead of an array\n * async () => {\n * try {\n * let results = await async.parallel({\n * one: function(callback) {\n * setTimeout(function() {\n * // do some async task\n * callback(null, 1);\n * }, 200);\n * },\n * two: function(callback) {\n * setTimeout(function() {\n * // then do another async task\n * callback(null, 2);\n * }, 100);\n * }\n * });\n * console.log(results);\n * // results is equal to: { one: 1, two: 2 }\n * }\n * catch (err) {\n * console.log(err);\n * }\n * }\n *\n */\nfunction series(tasks, callback) {\n return parallel(eachOfSeries$1, tasks, callback);\n}\n\n/**\n * Returns `true` if at least one element in the `coll` satisfies an async test.\n * If any iteratee call returns `true`, the main `callback` is immediately\n * called.\n *\n * @name some\n * @static\n * @memberOf module:Collections\n * @method\n * @alias any\n * @category Collection\n * @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.\n * @param {AsyncFunction} iteratee - An async truth test to apply to each item\n * in the collections in parallel.\n * The iteratee should complete with a boolean `result` value.\n * Invoked with (item, callback).\n * @param {Function} [callback] - A callback which is called as soon as any\n * iteratee returns `true`, or after all the iteratee functions have finished.\n * Result will be either `true` or `false` depending on the values of the async\n * tests. Invoked with (err, result).\n * @returns {Promise} a promise, if no callback provided\n * @example\n *\n * // dir1 is a directory that contains file1.txt, file2.txt\n * // dir2 is a directory that contains file3.txt, file4.txt\n * // dir3 is a directory that contains file5.txt\n * // dir4 does not exist\n *\n * // asynchronous function that checks if a file exists\n * function fileExists(file, callback) {\n * fs.access(file, fs.constants.F_OK, (err) => {\n * callback(null, !err);\n * });\n * }\n *\n * // Using callbacks\n * async.some(['dir1/missing.txt','dir2/missing.txt','dir3/file5.txt'], fileExists,\n * function(err, result) {\n * console.log(result);\n * // true\n * // result is true since some file in the list exists\n * }\n *);\n *\n * async.some(['dir1/missing.txt','dir2/missing.txt','dir4/missing.txt'], fileExists,\n * function(err, result) {\n * console.log(result);\n * // false\n * // result is false since none of the files exists\n * }\n *);\n *\n * // Using Promises\n * async.some(['dir1/missing.txt','dir2/missing.txt','dir3/file5.txt'], fileExists)\n * .then( result => {\n * console.log(result);\n * // true\n * // result is true since some file in the list exists\n * }).catch( err => {\n * console.log(err);\n * });\n *\n * async.some(['dir1/missing.txt','dir2/missing.txt','dir4/missing.txt'], fileExists)\n * .then( result => {\n * console.log(result);\n * // false\n * // result is false since none of the files exists\n * }).catch( err => {\n * console.log(err);\n * });\n *\n * // Using async/await\n * async () => {\n * try {\n * let result = await async.some(['dir1/missing.txt','dir2/missing.txt','dir3/file5.txt'], fileExists);\n * console.log(result);\n * // true\n * // result is true since some file in the list exists\n * }\n * catch (err) {\n * console.log(err);\n * }\n * }\n *\n * async () => {\n * try {\n * let result = await async.some(['dir1/missing.txt','dir2/missing.txt','dir4/missing.txt'], fileExists);\n * console.log(result);\n * // false\n * // result is false since none of the files exists\n * }\n * catch (err) {\n * console.log(err);\n * }\n * }\n *\n */\nfunction some(coll, iteratee, callback) {\n return _createTester(Boolean, res => res)(eachOf$1, coll, iteratee, callback)\n}\nvar some$1 = awaitify(some, 3);\n\n/**\n * The same as [`some`]{@link module:Collections.some} but runs a maximum of `limit` async operations at a time.\n *\n * @name someLimit\n * @static\n * @memberOf module:Collections\n * @method\n * @see [async.some]{@link module:Collections.some}\n * @alias anyLimit\n * @category Collection\n * @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.\n * @param {number} limit - The maximum number of async operations at a time.\n * @param {AsyncFunction} iteratee - An async truth test to apply to each item\n * in the collections in parallel.\n * The iteratee should complete with a boolean `result` value.\n * Invoked with (item, callback).\n * @param {Function} [callback] - A callback which is called as soon as any\n * iteratee returns `true`, or after all the iteratee functions have finished.\n * Result will be either `true` or `false` depending on the values of the async\n * tests. Invoked with (err, result).\n * @returns {Promise} a promise, if no callback provided\n */\nfunction someLimit(coll, limit, iteratee, callback) {\n return _createTester(Boolean, res => res)(eachOfLimit(limit), coll, iteratee, callback)\n}\nvar someLimit$1 = awaitify(someLimit, 4);\n\n/**\n * The same as [`some`]{@link module:Collections.some} but runs only a single async operation at a time.\n *\n * @name someSeries\n * @static\n * @memberOf module:Collections\n * @method\n * @see [async.some]{@link module:Collections.some}\n * @alias anySeries\n * @category Collection\n * @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.\n * @param {AsyncFunction} iteratee - An async truth test to apply to each item\n * in the collections in series.\n * The iteratee should complete with a boolean `result` value.\n * Invoked with (item, callback).\n * @param {Function} [callback] - A callback which is called as soon as any\n * iteratee returns `true`, or after all the iteratee functions have finished.\n * Result will be either `true` or `false` depending on the values of the async\n * tests. Invoked with (err, result).\n * @returns {Promise} a promise, if no callback provided\n */\nfunction someSeries(coll, iteratee, callback) {\n return _createTester(Boolean, res => res)(eachOfSeries$1, coll, iteratee, callback)\n}\nvar someSeries$1 = awaitify(someSeries, 3);\n\n/**\n * Sorts a list by the results of running each `coll` value through an async\n * `iteratee`.\n *\n * @name sortBy\n * @static\n * @memberOf module:Collections\n * @method\n * @category Collection\n * @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.\n * @param {AsyncFunction} iteratee - An async function to apply to each item in\n * `coll`.\n * The iteratee should complete with a value to use as the sort criteria as\n * its `result`.\n * Invoked with (item, callback).\n * @param {Function} callback - A callback which is called after all the\n * `iteratee` functions have finished, or an error occurs. Results is the items\n * from the original `coll` sorted by the values returned by the `iteratee`\n * calls. Invoked with (err, results).\n * @returns {Promise} a promise, if no callback passed\n * @example\n *\n * // bigfile.txt is a file that is 251100 bytes in size\n * // mediumfile.txt is a file that is 11000 bytes in size\n * // smallfile.txt is a file that is 121 bytes in size\n *\n * // asynchronous function that returns the file size in bytes\n * function getFileSizeInBytes(file, callback) {\n * fs.stat(file, function(err, stat) {\n * if (err) {\n * return callback(err);\n * }\n * callback(null, stat.size);\n * });\n * }\n *\n * // Using callbacks\n * async.sortBy(['mediumfile.txt','smallfile.txt','bigfile.txt'], getFileSizeInBytes,\n * function(err, results) {\n * if (err) {\n * console.log(err);\n * } else {\n * console.log(results);\n * // results is now the original array of files sorted by\n * // file size (ascending by default), e.g.\n * // [ 'smallfile.txt', 'mediumfile.txt', 'bigfile.txt']\n * }\n * }\n * );\n *\n * // By modifying the callback parameter the\n * // sorting order can be influenced:\n *\n * // ascending order\n * async.sortBy(['mediumfile.txt','smallfile.txt','bigfile.txt'], function(file, callback) {\n * getFileSizeInBytes(file, function(getFileSizeErr, fileSize) {\n * if (getFileSizeErr) return callback(getFileSizeErr);\n * callback(null, fileSize);\n * });\n * }, function(err, results) {\n * if (err) {\n * console.log(err);\n * } else {\n * console.log(results);\n * // results is now the original array of files sorted by\n * // file size (ascending by default), e.g.\n * // [ 'smallfile.txt', 'mediumfile.txt', 'bigfile.txt']\n * }\n * }\n * );\n *\n * // descending order\n * async.sortBy(['bigfile.txt','mediumfile.txt','smallfile.txt'], function(file, callback) {\n * getFileSizeInBytes(file, function(getFileSizeErr, fileSize) {\n * if (getFileSizeErr) {\n * return callback(getFileSizeErr);\n * }\n * callback(null, fileSize * -1);\n * });\n * }, function(err, results) {\n * if (err) {\n * console.log(err);\n * } else {\n * console.log(results);\n * // results is now the original array of files sorted by\n * // file size (ascending by default), e.g.\n * // [ 'bigfile.txt', 'mediumfile.txt', 'smallfile.txt']\n * }\n * }\n * );\n *\n * // Error handling\n * async.sortBy(['mediumfile.txt','smallfile.txt','missingfile.txt'], getFileSizeInBytes,\n * function(err, results) {\n * if (err) {\n * console.log(err);\n * // [ Error: ENOENT: no such file or directory ]\n * } else {\n * console.log(results);\n * }\n * }\n * );\n *\n * // Using Promises\n * async.sortBy(['mediumfile.txt','smallfile.txt','bigfile.txt'], getFileSizeInBytes)\n * .then( results => {\n * console.log(results);\n * // results is now the original array of files sorted by\n * // file size (ascending by default), e.g.\n * // [ 'smallfile.txt', 'mediumfile.txt', 'bigfile.txt']\n * }).catch( err => {\n * console.log(err);\n * });\n *\n * // Error handling\n * async.sortBy(['mediumfile.txt','smallfile.txt','missingfile.txt'], getFileSizeInBytes)\n * .then( results => {\n * console.log(results);\n * }).catch( err => {\n * console.log(err);\n * // [ Error: ENOENT: no such file or directory ]\n * });\n *\n * // Using async/await\n * (async () => {\n * try {\n * let results = await async.sortBy(['bigfile.txt','mediumfile.txt','smallfile.txt'], getFileSizeInBytes);\n * console.log(results);\n * // results is now the original array of files sorted by\n * // file size (ascending by default), e.g.\n * // [ 'smallfile.txt', 'mediumfile.txt', 'bigfile.txt']\n * }\n * catch (err) {\n * console.log(err);\n * }\n * })();\n *\n * // Error handling\n * async () => {\n * try {\n * let results = await async.sortBy(['missingfile.txt','mediumfile.txt','smallfile.txt'], getFileSizeInBytes);\n * console.log(results);\n * }\n * catch (err) {\n * console.log(err);\n * // [ Error: ENOENT: no such file or directory ]\n * }\n * }\n *\n */\nfunction sortBy (coll, iteratee, callback) {\n var _iteratee = wrapAsync(iteratee);\n return map$1(coll, (x, iterCb) => {\n _iteratee(x, (err, criteria) => {\n if (err) return iterCb(err);\n iterCb(err, {value: x, criteria});\n });\n }, (err, results) => {\n if (err) return callback(err);\n callback(null, results.sort(comparator).map(v => v.value));\n });\n\n function comparator(left, right) {\n var a = left.criteria, b = right.criteria;\n return a < b ? -1 : a > b ? 1 : 0;\n }\n}\nvar sortBy$1 = awaitify(sortBy, 3);\n\n/**\n * Sets a time limit on an asynchronous function. If the function does not call\n * its callback within the specified milliseconds, it will be called with a\n * timeout error. The code property for the error object will be `'ETIMEDOUT'`.\n *\n * @name timeout\n * @static\n * @memberOf module:Utils\n * @method\n * @category Util\n * @param {AsyncFunction} asyncFn - The async function to limit in time.\n * @param {number} milliseconds - The specified time limit.\n * @param {*} [info] - Any variable you want attached (`string`, `object`, etc)\n * to timeout Error for more information..\n * @returns {AsyncFunction} Returns a wrapped function that can be used with any\n * of the control flow functions.\n * Invoke this function with the same parameters as you would `asyncFunc`.\n * @example\n *\n * function myFunction(foo, callback) {\n * doAsyncTask(foo, function(err, data) {\n * // handle errors\n * if (err) return callback(err);\n *\n * // do some stuff ...\n *\n * // return processed data\n * return callback(null, data);\n * });\n * }\n *\n * var wrapped = async.timeout(myFunction, 1000);\n *\n * // call `wrapped` as you would `myFunction`\n * wrapped({ bar: 'bar' }, function(err, data) {\n * // if `myFunction` takes < 1000 ms to execute, `err`\n * // and `data` will have their expected values\n *\n * // else `err` will be an Error with the code 'ETIMEDOUT'\n * });\n */\nfunction timeout(asyncFn, milliseconds, info) {\n var fn = wrapAsync(asyncFn);\n\n return initialParams((args, callback) => {\n var timedOut = false;\n var timer;\n\n function timeoutCallback() {\n var name = asyncFn.name || 'anonymous';\n var error = new Error('Callback function \"' + name + '\" timed out.');\n error.code = 'ETIMEDOUT';\n if (info) {\n error.info = info;\n }\n timedOut = true;\n callback(error);\n }\n\n args.push((...cbArgs) => {\n if (!timedOut) {\n callback(...cbArgs);\n clearTimeout(timer);\n }\n });\n\n // setup timer and call original function\n timer = setTimeout(timeoutCallback, milliseconds);\n fn(...args);\n });\n}\n\nfunction range(size) {\n var result = Array(size);\n while (size--) {\n result[size] = size;\n }\n return result;\n}\n\n/**\n * The same as [times]{@link module:ControlFlow.times} but runs a maximum of `limit` async operations at a\n * time.\n *\n * @name timesLimit\n * @static\n * @memberOf module:ControlFlow\n * @method\n * @see [async.times]{@link module:ControlFlow.times}\n * @category Control Flow\n * @param {number} count - The number of times to run the function.\n * @param {number} limit - The maximum number of async operations at a time.\n * @param {AsyncFunction} iteratee - The async function to call `n` times.\n * Invoked with the iteration index and a callback: (n, next).\n * @param {Function} callback - see [async.map]{@link module:Collections.map}.\n * @returns {Promise} a promise, if no callback is provided\n */\nfunction timesLimit(count, limit, iteratee, callback) {\n var _iteratee = wrapAsync(iteratee);\n return mapLimit$1(range(count), limit, _iteratee, callback);\n}\n\n/**\n * Calls the `iteratee` function `n` times, and accumulates results in the same\n * manner you would use with [map]{@link module:Collections.map}.\n *\n * @name times\n * @static\n * @memberOf module:ControlFlow\n * @method\n * @see [async.map]{@link module:Collections.map}\n * @category Control Flow\n * @param {number} n - The number of times to run the function.\n * @param {AsyncFunction} iteratee - The async function to call `n` times.\n * Invoked with the iteration index and a callback: (n, next).\n * @param {Function} callback - see {@link module:Collections.map}.\n * @returns {Promise} a promise, if no callback is provided\n * @example\n *\n * // Pretend this is some complicated async factory\n * var createUser = function(id, callback) {\n * callback(null, {\n * id: 'user' + id\n * });\n * };\n *\n * // generate 5 users\n * async.times(5, function(n, next) {\n * createUser(n, function(err, user) {\n * next(err, user);\n * });\n * }, function(err, users) {\n * // we should now have 5 users\n * });\n */\nfunction times (n, iteratee, callback) {\n return timesLimit(n, Infinity, iteratee, callback)\n}\n\n/**\n * The same as [times]{@link module:ControlFlow.times} but runs only a single async operation at a time.\n *\n * @name timesSeries\n * @static\n * @memberOf module:ControlFlow\n * @method\n * @see [async.times]{@link module:ControlFlow.times}\n * @category Control Flow\n * @param {number} n - The number of times to run the function.\n * @param {AsyncFunction} iteratee - The async function to call `n` times.\n * Invoked with the iteration index and a callback: (n, next).\n * @param {Function} callback - see {@link module:Collections.map}.\n * @returns {Promise} a promise, if no callback is provided\n */\nfunction timesSeries (n, iteratee, callback) {\n return timesLimit(n, 1, iteratee, callback)\n}\n\n/**\n * A relative of `reduce`. Takes an Object or Array, and iterates over each\n * element in parallel, each step potentially mutating an `accumulator` value.\n * The type of the accumulator defaults to the type of collection passed in.\n *\n * @name transform\n * @static\n * @memberOf module:Collections\n * @method\n * @category Collection\n * @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.\n * @param {*} [accumulator] - The initial state of the transform. If omitted,\n * it will default to an empty Object or Array, depending on the type of `coll`\n * @param {AsyncFunction} iteratee - A function applied to each item in the\n * collection that potentially modifies the accumulator.\n * Invoked with (accumulator, item, key, callback).\n * @param {Function} [callback] - A callback which is called after all the\n * `iteratee` functions have finished. Result is the transformed accumulator.\n * Invoked with (err, result).\n * @returns {Promise} a promise, if no callback provided\n * @example\n *\n * // file1.txt is a file that is 1000 bytes in size\n * // file2.txt is a file that is 2000 bytes in size\n * // file3.txt is a file that is 3000 bytes in size\n *\n * // helper function that returns human-readable size format from bytes\n * function formatBytes(bytes, decimals = 2) {\n * // implementation not included for brevity\n * return humanReadbleFilesize;\n * }\n *\n * const fileList = ['file1.txt','file2.txt','file3.txt'];\n *\n * // asynchronous function that returns the file size, transformed to human-readable format\n * // e.g. 1024 bytes = 1KB, 1234 bytes = 1.21 KB, 1048576 bytes = 1MB, etc.\n * function transformFileSize(acc, value, key, callback) {\n * fs.stat(value, function(err, stat) {\n * if (err) {\n * return callback(err);\n * }\n * acc[key] = formatBytes(stat.size);\n * callback(null);\n * });\n * }\n *\n * // Using callbacks\n * async.transform(fileList, transformFileSize, function(err, result) {\n * if(err) {\n * console.log(err);\n * } else {\n * console.log(result);\n * // [ '1000 Bytes', '1.95 KB', '2.93 KB' ]\n * }\n * });\n *\n * // Using Promises\n * async.transform(fileList, transformFileSize)\n * .then(result => {\n * console.log(result);\n * // [ '1000 Bytes', '1.95 KB', '2.93 KB' ]\n * }).catch(err => {\n * console.log(err);\n * });\n *\n * // Using async/await\n * (async () => {\n * try {\n * let result = await async.transform(fileList, transformFileSize);\n * console.log(result);\n * // [ '1000 Bytes', '1.95 KB', '2.93 KB' ]\n * }\n * catch (err) {\n * console.log(err);\n * }\n * })();\n *\n * @example\n *\n * // file1.txt is a file that is 1000 bytes in size\n * // file2.txt is a file that is 2000 bytes in size\n * // file3.txt is a file that is 3000 bytes in size\n *\n * // helper function that returns human-readable size format from bytes\n * function formatBytes(bytes, decimals = 2) {\n * // implementation not included for brevity\n * return humanReadbleFilesize;\n * }\n *\n * const fileMap = { f1: 'file1.txt', f2: 'file2.txt', f3: 'file3.txt' };\n *\n * // asynchronous function that returns the file size, transformed to human-readable format\n * // e.g. 1024 bytes = 1KB, 1234 bytes = 1.21 KB, 1048576 bytes = 1MB, etc.\n * function transformFileSize(acc, value, key, callback) {\n * fs.stat(value, function(err, stat) {\n * if (err) {\n * return callback(err);\n * }\n * acc[key] = formatBytes(stat.size);\n * callback(null);\n * });\n * }\n *\n * // Using callbacks\n * async.transform(fileMap, transformFileSize, function(err, result) {\n * if(err) {\n * console.log(err);\n * } else {\n * console.log(result);\n * // { f1: '1000 Bytes', f2: '1.95 KB', f3: '2.93 KB' }\n * }\n * });\n *\n * // Using Promises\n * async.transform(fileMap, transformFileSize)\n * .then(result => {\n * console.log(result);\n * // { f1: '1000 Bytes', f2: '1.95 KB', f3: '2.93 KB' }\n * }).catch(err => {\n * console.log(err);\n * });\n *\n * // Using async/await\n * async () => {\n * try {\n * let result = await async.transform(fileMap, transformFileSize);\n * console.log(result);\n * // { f1: '1000 Bytes', f2: '1.95 KB', f3: '2.93 KB' }\n * }\n * catch (err) {\n * console.log(err);\n * }\n * }\n *\n */\nfunction transform (coll, accumulator, iteratee, callback) {\n if (arguments.length <= 3 && typeof accumulator === 'function') {\n callback = iteratee;\n iteratee = accumulator;\n accumulator = Array.isArray(coll) ? [] : {};\n }\n callback = once(callback || promiseCallback());\n var _iteratee = wrapAsync(iteratee);\n\n eachOf$1(coll, (v, k, cb) => {\n _iteratee(accumulator, v, k, cb);\n }, err => callback(err, accumulator));\n return callback[PROMISE_SYMBOL]\n}\n\n/**\n * It runs each task in series but stops whenever any of the functions were\n * successful. If one of the tasks were successful, the `callback` will be\n * passed the result of the successful task. If all tasks fail, the callback\n * will be passed the error and result (if any) of the final attempt.\n *\n * @name tryEach\n * @static\n * @memberOf module:ControlFlow\n * @method\n * @category Control Flow\n * @param {Array|Iterable|AsyncIterable|Object} tasks - A collection containing functions to\n * run, each function is passed a `callback(err, result)` it must call on\n * completion with an error `err` (which can be `null`) and an optional `result`\n * value.\n * @param {Function} [callback] - An optional callback which is called when one\n * of the tasks has succeeded, or all have failed. It receives the `err` and\n * `result` arguments of the last attempt at completing the `task`. Invoked with\n * (err, results).\n * @returns {Promise} a promise, if no callback is passed\n * @example\n * async.tryEach([\n * function getDataFromFirstWebsite(callback) {\n * // Try getting the data from the first website\n * callback(err, data);\n * },\n * function getDataFromSecondWebsite(callback) {\n * // First website failed,\n * // Try getting the data from the backup website\n * callback(err, data);\n * }\n * ],\n * // optional callback\n * function(err, results) {\n * Now do something with the data.\n * });\n *\n */\nfunction tryEach(tasks, callback) {\n var error = null;\n var result;\n return eachSeries$1(tasks, (task, taskCb) => {\n wrapAsync(task)((err, ...args) => {\n if (err === false) return taskCb(err);\n\n if (args.length < 2) {\n [result] = args;\n } else {\n result = args;\n }\n error = err;\n taskCb(err ? null : {});\n });\n }, () => callback(error, result));\n}\n\nvar tryEach$1 = awaitify(tryEach);\n\n/**\n * Undoes a [memoize]{@link module:Utils.memoize}d function, reverting it to the original,\n * unmemoized form. Handy for testing.\n *\n * @name unmemoize\n * @static\n * @memberOf module:Utils\n * @method\n * @see [async.memoize]{@link module:Utils.memoize}\n * @category Util\n * @param {AsyncFunction} fn - the memoized function\n * @returns {AsyncFunction} a function that calls the original unmemoized function\n */\nfunction unmemoize(fn) {\n return (...args) => {\n return (fn.unmemoized || fn)(...args);\n };\n}\n\n/**\n * Repeatedly call `iteratee`, while `test` returns `true`. Calls `callback` when\n * stopped, or an error occurs.\n *\n * @name whilst\n * @static\n * @memberOf module:ControlFlow\n * @method\n * @category Control Flow\n * @param {AsyncFunction} test - asynchronous truth test to perform before each\n * execution of `iteratee`. Invoked with ().\n * @param {AsyncFunction} iteratee - An async function which is called each time\n * `test` passes. Invoked with (callback).\n * @param {Function} [callback] - A callback which is called after the test\n * function has failed and repeated execution of `iteratee` has stopped. `callback`\n * will be passed an error and any arguments passed to the final `iteratee`'s\n * callback. Invoked with (err, [results]);\n * @returns {Promise} a promise, if no callback is passed\n * @example\n *\n * var count = 0;\n * async.whilst(\n * function test(cb) { cb(null, count < 5); },\n * function iter(callback) {\n * count++;\n * setTimeout(function() {\n * callback(null, count);\n * }, 1000);\n * },\n * function (err, n) {\n * // 5 seconds have passed, n = 5\n * }\n * );\n */\nfunction whilst(test, iteratee, callback) {\n callback = onlyOnce(callback);\n var _fn = wrapAsync(iteratee);\n var _test = wrapAsync(test);\n var results = [];\n\n function next(err, ...rest) {\n if (err) return callback(err);\n results = rest;\n if (err === false) return;\n _test(check);\n }\n\n function check(err, truth) {\n if (err) return callback(err);\n if (err === false) return;\n if (!truth) return callback(null, ...results);\n _fn(next);\n }\n\n return _test(check);\n}\nvar whilst$1 = awaitify(whilst, 3);\n\n/**\n * Repeatedly call `iteratee` until `test` returns `true`. Calls `callback` when\n * stopped, or an error occurs. `callback` will be passed an error and any\n * arguments passed to the final `iteratee`'s callback.\n *\n * The inverse of [whilst]{@link module:ControlFlow.whilst}.\n *\n * @name until\n * @static\n * @memberOf module:ControlFlow\n * @method\n * @see [async.whilst]{@link module:ControlFlow.whilst}\n * @category Control Flow\n * @param {AsyncFunction} test - asynchronous truth test to perform before each\n * execution of `iteratee`. Invoked with (callback).\n * @param {AsyncFunction} iteratee - An async function which is called each time\n * `test` fails. Invoked with (callback).\n * @param {Function} [callback] - A callback which is called after the test\n * function has passed and repeated execution of `iteratee` has stopped. `callback`\n * will be passed an error and any arguments passed to the final `iteratee`'s\n * callback. Invoked with (err, [results]);\n * @returns {Promise} a promise, if a callback is not passed\n *\n * @example\n * const results = []\n * let finished = false\n * async.until(function test(cb) {\n * cb(null, finished)\n * }, function iter(next) {\n * fetchPage(url, (err, body) => {\n * if (err) return next(err)\n * results = results.concat(body.objects)\n * finished = !!body.next\n * next(err)\n * })\n * }, function done (err) {\n * // all pages have been fetched\n * })\n */\nfunction until(test, iteratee, callback) {\n const _test = wrapAsync(test);\n return whilst$1((cb) => _test((err, truth) => cb (err, !truth)), iteratee, callback);\n}\n\n/**\n * Runs the `tasks` array of functions in series, each passing their results to\n * the next in the array. However, if any of the `tasks` pass an error to their\n * own callback, the next function is not executed, and the main `callback` is\n * immediately called with the error.\n *\n * @name waterfall\n * @static\n * @memberOf module:ControlFlow\n * @method\n * @category Control Flow\n * @param {Array} tasks - An array of [async functions]{@link AsyncFunction}\n * to run.\n * Each function should complete with any number of `result` values.\n * The `result` values will be passed as arguments, in order, to the next task.\n * @param {Function} [callback] - An optional callback to run once all the\n * functions have completed. This will be passed the results of the last task's\n * callback. Invoked with (err, [results]).\n * @returns {Promise} a promise, if a callback is omitted\n * @example\n *\n * async.waterfall([\n * function(callback) {\n * callback(null, 'one', 'two');\n * },\n * function(arg1, arg2, callback) {\n * // arg1 now equals 'one' and arg2 now equals 'two'\n * callback(null, 'three');\n * },\n * function(arg1, callback) {\n * // arg1 now equals 'three'\n * callback(null, 'done');\n * }\n * ], function (err, result) {\n * // result now equals 'done'\n * });\n *\n * // Or, with named functions:\n * async.waterfall([\n * myFirstFunction,\n * mySecondFunction,\n * myLastFunction,\n * ], function (err, result) {\n * // result now equals 'done'\n * });\n * function myFirstFunction(callback) {\n * callback(null, 'one', 'two');\n * }\n * function mySecondFunction(arg1, arg2, callback) {\n * // arg1 now equals 'one' and arg2 now equals 'two'\n * callback(null, 'three');\n * }\n * function myLastFunction(arg1, callback) {\n * // arg1 now equals 'three'\n * callback(null, 'done');\n * }\n */\nfunction waterfall (tasks, callback) {\n callback = once(callback);\n if (!Array.isArray(tasks)) return callback(new Error('First argument to waterfall must be an array of functions'));\n if (!tasks.length) return callback();\n var taskIndex = 0;\n\n function nextTask(args) {\n var task = wrapAsync(tasks[taskIndex++]);\n task(...args, onlyOnce(next));\n }\n\n function next(err, ...args) {\n if (err === false) return\n if (err || taskIndex === tasks.length) {\n return callback(err, ...args);\n }\n nextTask(args);\n }\n\n nextTask([]);\n}\n\nvar waterfall$1 = awaitify(waterfall);\n\n/**\n * An \"async function\" in the context of Async is an asynchronous function with\n * a variable number of parameters, with the final parameter being a callback.\n * (`function (arg1, arg2, ..., callback) {}`)\n * The final callback is of the form `callback(err, results...)`, which must be\n * called once the function is completed. The callback should be called with a\n * Error as its first argument to signal that an error occurred.\n * Otherwise, if no error occurred, it should be called with `null` as the first\n * argument, and any additional `result` arguments that may apply, to signal\n * successful completion.\n * The callback must be called exactly once, ideally on a later tick of the\n * JavaScript event loop.\n *\n * This type of function is also referred to as a \"Node-style async function\",\n * or a \"continuation passing-style function\" (CPS). Most of the methods of this\n * library are themselves CPS/Node-style async functions, or functions that\n * return CPS/Node-style async functions.\n *\n * Wherever we accept a Node-style async function, we also directly accept an\n * [ES2017 `async` function]{@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function}.\n * In this case, the `async` function will not be passed a final callback\n * argument, and any thrown error will be used as the `err` argument of the\n * implicit callback, and the return value will be used as the `result` value.\n * (i.e. a `rejected` of the returned Promise becomes the `err` callback\n * argument, and a `resolved` value becomes the `result`.)\n *\n * Note, due to JavaScript limitations, we can only detect native `async`\n * functions and not transpilied implementations.\n * Your environment must have `async`/`await` support for this to work.\n * (e.g. Node > v7.6, or a recent version of a modern browser).\n * If you are using `async` functions through a transpiler (e.g. Babel), you\n * must still wrap the function with [asyncify]{@link module:Utils.asyncify},\n * because the `async function` will be compiled to an ordinary function that\n * returns a promise.\n *\n * @typedef {Function} AsyncFunction\n * @static\n */\n\nvar index = {\n apply,\n applyEach: applyEach$1,\n applyEachSeries,\n asyncify,\n auto,\n autoInject,\n cargo,\n cargoQueue: cargo$1,\n compose,\n concat: concat$1,\n concatLimit: concatLimit$1,\n concatSeries: concatSeries$1,\n constant,\n detect: detect$1,\n detectLimit: detectLimit$1,\n detectSeries: detectSeries$1,\n dir,\n doUntil,\n doWhilst: doWhilst$1,\n each,\n eachLimit: eachLimit$2,\n eachOf: eachOf$1,\n eachOfLimit: eachOfLimit$2,\n eachOfSeries: eachOfSeries$1,\n eachSeries: eachSeries$1,\n ensureAsync,\n every: every$1,\n everyLimit: everyLimit$1,\n everySeries: everySeries$1,\n filter: filter$1,\n filterLimit: filterLimit$1,\n filterSeries: filterSeries$1,\n forever: forever$1,\n groupBy,\n groupByLimit: groupByLimit$1,\n groupBySeries,\n log,\n map: map$1,\n mapLimit: mapLimit$1,\n mapSeries: mapSeries$1,\n mapValues,\n mapValuesLimit: mapValuesLimit$1,\n mapValuesSeries,\n memoize,\n nextTick,\n parallel: parallel$1,\n parallelLimit,\n priorityQueue,\n queue: queue$1,\n race: race$1,\n reduce: reduce$1,\n reduceRight,\n reflect,\n reflectAll,\n reject: reject$2,\n rejectLimit: rejectLimit$1,\n rejectSeries: rejectSeries$1,\n retry,\n retryable,\n seq,\n series,\n setImmediate: setImmediate$1,\n some: some$1,\n someLimit: someLimit$1,\n someSeries: someSeries$1,\n sortBy: sortBy$1,\n timeout,\n times,\n timesLimit,\n timesSeries,\n transform,\n tryEach: tryEach$1,\n unmemoize,\n until,\n waterfall: waterfall$1,\n whilst: whilst$1,\n\n // aliases\n all: every$1,\n allLimit: everyLimit$1,\n allSeries: everySeries$1,\n any: some$1,\n anyLimit: someLimit$1,\n anySeries: someSeries$1,\n find: detect$1,\n findLimit: detectLimit$1,\n findSeries: detectSeries$1,\n flatMap: concat$1,\n flatMapLimit: concatLimit$1,\n flatMapSeries: concatSeries$1,\n forEach: each,\n forEachSeries: eachSeries$1,\n forEachLimit: eachLimit$2,\n forEachOf: eachOf$1,\n forEachOfSeries: eachOfSeries$1,\n forEachOfLimit: eachOfLimit$2,\n inject: reduce$1,\n foldl: reduce$1,\n foldr: reduceRight,\n select: filter$1,\n selectLimit: filterLimit$1,\n selectSeries: filterSeries$1,\n wrapSync: asyncify,\n during: whilst$1,\n doDuring: doWhilst$1\n};\n\nexport default index;\nexport { apply, applyEach$1 as applyEach, applyEachSeries, asyncify, auto, autoInject, cargo, cargo$1 as cargoQueue, compose, concat$1 as concat, concatLimit$1 as concatLimit, concatSeries$1 as concatSeries, constant, detect$1 as detect, detectLimit$1 as detectLimit, detectSeries$1 as detectSeries, dir, doUntil, doWhilst$1 as doWhilst, each, eachLimit$2 as eachLimit, eachOf$1 as eachOf, eachOfLimit$2 as eachOfLimit, eachOfSeries$1 as eachOfSeries, eachSeries$1 as eachSeries, ensureAsync, every$1 as every, everyLimit$1 as everyLimit, everySeries$1 as everySeries, filter$1 as filter, filterLimit$1 as filterLimit, filterSeries$1 as filterSeries, forever$1 as forever, groupBy, groupByLimit$1 as groupByLimit, groupBySeries, log, map$1 as map, mapLimit$1 as mapLimit, mapSeries$1 as mapSeries, mapValues, mapValuesLimit$1 as mapValuesLimit, mapValuesSeries, memoize, nextTick, parallel$1 as parallel, parallelLimit, priorityQueue, queue$1 as queue, race$1 as race, reduce$1 as reduce, reduceRight, reflect, reflectAll, reject$2 as reject, rejectLimit$1 as rejectLimit, rejectSeries$1 as rejectSeries, retry, retryable, seq, series, setImmediate$1 as setImmediate, some$1 as some, someLimit$1 as someLimit, someSeries$1 as someSeries, sortBy$1 as sortBy, timeout, times, timesLimit, timesSeries, transform, tryEach$1 as tryEach, unmemoize, until, waterfall$1 as waterfall, whilst$1 as whilst, every$1 as all, everyLimit$1 as allLimit, everySeries$1 as allSeries, some$1 as any, someLimit$1 as anyLimit, someSeries$1 as anySeries, detect$1 as find, detectLimit$1 as findLimit, detectSeries$1 as findSeries, concat$1 as flatMap, concatLimit$1 as flatMapLimit, concatSeries$1 as flatMapSeries, each as forEach, eachSeries$1 as forEachSeries, eachLimit$2 as forEachLimit, eachOf$1 as forEachOf, eachOfSeries$1 as forEachOfSeries, eachOfLimit$2 as forEachOfLimit, reduce$1 as inject, reduce$1 as foldl, reduceRight as foldr, filter$1 as select, filterLimit$1 as selectLimit, filterSeries$1 as selectSeries, asyncify as wrapSync, whilst$1 as during, doWhilst$1 as doDuring };\n","// Current version.\nexport var VERSION = '1.13.6';\n\n// Establish the root object, `window` (`self`) in the browser, `global`\n// on the server, or `this` in some virtual machines. We use `self`\n// instead of `window` for `WebWorker` support.\nexport var root = (typeof self == 'object' && self.self === self && self) ||\n (typeof global == 'object' && global.global === global && global) ||\n Function('return this')() ||\n {};\n\n// Save bytes in the minified (but not gzipped) version:\nexport var ArrayProto = Array.prototype, ObjProto = Object.prototype;\nexport var SymbolProto = typeof Symbol !== 'undefined' ? Symbol.prototype : null;\n\n// Create quick reference variables for speed access to core prototypes.\nexport var push = ArrayProto.push,\n slice = ArrayProto.slice,\n toString = ObjProto.toString,\n hasOwnProperty = ObjProto.hasOwnProperty;\n\n// Modern feature detection.\nexport var supportsArrayBuffer = typeof ArrayBuffer !== 'undefined',\n supportsDataView = typeof DataView !== 'undefined';\n\n// All **ECMAScript 5+** native function implementations that we hope to use\n// are declared here.\nexport var nativeIsArray = Array.isArray,\n nativeKeys = Object.keys,\n nativeCreate = Object.create,\n nativeIsView = supportsArrayBuffer && ArrayBuffer.isView;\n\n// Create references to these builtin functions because we override them.\nexport var _isNaN = isNaN,\n _isFinite = isFinite;\n\n// Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed.\nexport var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString');\nexport var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString',\n 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];\n\n// The largest integer that can be represented exactly.\nexport var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;\n","// Some functions take a variable number of arguments, or a few expected\n// arguments at the beginning and then a variable number of values to operate\n// on. This helper accumulates all remaining arguments past the function’s\n// argument length (or an explicit `startIndex`), into an array that becomes\n// the last argument. Similar to ES6’s \"rest parameter\".\nexport default function restArguments(func, startIndex) {\n startIndex = startIndex == null ? func.length - 1 : +startIndex;\n return function() {\n var length = Math.max(arguments.length - startIndex, 0),\n rest = Array(length),\n index = 0;\n for (; index < length; index++) {\n rest[index] = arguments[index + startIndex];\n }\n switch (startIndex) {\n case 0: return func.call(this, rest);\n case 1: return func.call(this, arguments[0], rest);\n case 2: return func.call(this, arguments[0], arguments[1], rest);\n }\n var args = Array(startIndex + 1);\n for (index = 0; index < startIndex; index++) {\n args[index] = arguments[index];\n }\n args[startIndex] = rest;\n return func.apply(this, args);\n };\n}\n","// Is a given variable an object?\nexport default function isObject(obj) {\n var type = typeof obj;\n return type === 'function' || (type === 'object' && !!obj);\n}\n","// Is a given value equal to null?\nexport default function isNull(obj) {\n return obj === null;\n}\n","// Is a given variable undefined?\nexport default function isUndefined(obj) {\n return obj === void 0;\n}\n","import { toString } from './_setup.js';\n\n// Is a given value a boolean?\nexport default function isBoolean(obj) {\n return obj === true || obj === false || toString.call(obj) === '[object Boolean]';\n}\n","// Is a given value a DOM element?\nexport default function isElement(obj) {\n return !!(obj && obj.nodeType === 1);\n}\n","import { toString } from './_setup.js';\n\n// Internal function for creating a `toString`-based type tester.\nexport default function tagTester(name) {\n var tag = '[object ' + name + ']';\n return function(obj) {\n return toString.call(obj) === tag;\n };\n}\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('String');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('Number');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('Date');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('RegExp');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('Error');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('Symbol');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('ArrayBuffer');\n","import tagTester from './_tagTester.js';\nimport { root } from './_setup.js';\n\nvar isFunction = tagTester('Function');\n\n// Optimize `isFunction` if appropriate. Work around some `typeof` bugs in old\n// v8, IE 11 (#1621), Safari 8 (#1929), and PhantomJS (#2236).\nvar nodelist = root.document && root.document.childNodes;\nif (typeof /./ != 'function' && typeof Int8Array != 'object' && typeof nodelist != 'function') {\n isFunction = function(obj) {\n return typeof obj == 'function' || false;\n };\n}\n\nexport default isFunction;\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('Object');\n","import { supportsDataView } from './_setup.js';\nimport hasObjectTag from './_hasObjectTag.js';\n\n// In IE 10 - Edge 13, `DataView` has string tag `'[object Object]'`.\n// In IE 11, the most common among them, this problem also applies to\n// `Map`, `WeakMap` and `Set`.\nexport var hasStringTagBug = (\n supportsDataView && hasObjectTag(new DataView(new ArrayBuffer(8)))\n ),\n isIE11 = (typeof Map !== 'undefined' && hasObjectTag(new Map));\n","import tagTester from './_tagTester.js';\nimport isFunction from './isFunction.js';\nimport isArrayBuffer from './isArrayBuffer.js';\nimport { hasStringTagBug } from './_stringTagBug.js';\n\nvar isDataView = tagTester('DataView');\n\n// In IE 10 - Edge 13, we need a different heuristic\n// to determine whether an object is a `DataView`.\nfunction ie10IsDataView(obj) {\n return obj != null && isFunction(obj.getInt8) && isArrayBuffer(obj.buffer);\n}\n\nexport default (hasStringTagBug ? ie10IsDataView : isDataView);\n","import { nativeIsArray } from './_setup.js';\nimport tagTester from './_tagTester.js';\n\n// Is a given value an array?\n// Delegates to ECMA5's native `Array.isArray`.\nexport default nativeIsArray || tagTester('Array');\n","import { hasOwnProperty } from './_setup.js';\n\n// Internal function to check whether `key` is an own property name of `obj`.\nexport default function has(obj, key) {\n return obj != null && hasOwnProperty.call(obj, key);\n}\n","import tagTester from './_tagTester.js';\nimport has from './_has.js';\n\nvar isArguments = tagTester('Arguments');\n\n// Define a fallback version of the method in browsers (ahem, IE < 9), where\n// there isn't any inspectable \"Arguments\" type.\n(function() {\n if (!isArguments(arguments)) {\n isArguments = function(obj) {\n return has(obj, 'callee');\n };\n }\n}());\n\nexport default isArguments;\n","import { _isFinite } from './_setup.js';\nimport isSymbol from './isSymbol.js';\n\n// Is a given object a finite number?\nexport default function isFinite(obj) {\n return !isSymbol(obj) && _isFinite(obj) && !isNaN(parseFloat(obj));\n}\n","import { _isNaN } from './_setup.js';\nimport isNumber from './isNumber.js';\n\n// Is the given value `NaN`?\nexport default function isNaN(obj) {\n return isNumber(obj) && _isNaN(obj);\n}\n","// Predicate-generating function. Often useful outside of Underscore.\nexport default function constant(value) {\n return function() {\n return value;\n };\n}\n","import { MAX_ARRAY_INDEX } from './_setup.js';\n\n// Common internal logic for `isArrayLike` and `isBufferLike`.\nexport default function createSizePropertyCheck(getSizeProperty) {\n return function(collection) {\n var sizeProperty = getSizeProperty(collection);\n return typeof sizeProperty == 'number' && sizeProperty >= 0 && sizeProperty <= MAX_ARRAY_INDEX;\n }\n}\n","// Internal helper to generate a function to obtain property `key` from `obj`.\nexport default function shallowProperty(key) {\n return function(obj) {\n return obj == null ? void 0 : obj[key];\n };\n}\n","import shallowProperty from './_shallowProperty.js';\n\n// Internal helper to obtain the `byteLength` property of an object.\nexport default shallowProperty('byteLength');\n","import createSizePropertyCheck from './_createSizePropertyCheck.js';\nimport getByteLength from './_getByteLength.js';\n\n// Internal helper to determine whether we should spend extensive checks against\n// `ArrayBuffer` et al.\nexport default createSizePropertyCheck(getByteLength);\n","import { supportsArrayBuffer, nativeIsView, toString } from './_setup.js';\nimport isDataView from './isDataView.js';\nimport constant from './constant.js';\nimport isBufferLike from './_isBufferLike.js';\n\n// Is a given value a typed array?\nvar typedArrayPattern = /\\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\\]/;\nfunction isTypedArray(obj) {\n // `ArrayBuffer.isView` is the most future-proof, so use it when available.\n // Otherwise, fall back on the above regular expression.\n return nativeIsView ? (nativeIsView(obj) && !isDataView(obj)) :\n isBufferLike(obj) && typedArrayPattern.test(toString.call(obj));\n}\n\nexport default supportsArrayBuffer ? isTypedArray : constant(false);\n","import shallowProperty from './_shallowProperty.js';\n\n// Internal helper to obtain the `length` property of an object.\nexport default shallowProperty('length');\n","import { nonEnumerableProps, ObjProto } from './_setup.js';\nimport isFunction from './isFunction.js';\nimport has from './_has.js';\n\n// Internal helper to create a simple lookup structure.\n// `collectNonEnumProps` used to depend on `_.contains`, but this led to\n// circular imports. `emulatedSet` is a one-off solution that only works for\n// arrays of strings.\nfunction emulatedSet(keys) {\n var hash = {};\n for (var l = keys.length, i = 0; i < l; ++i) hash[keys[i]] = true;\n return {\n contains: function(key) { return hash[key] === true; },\n push: function(key) {\n hash[key] = true;\n return keys.push(key);\n }\n };\n}\n\n// Internal helper. Checks `keys` for the presence of keys in IE < 9 that won't\n// be iterated by `for key in ...` and thus missed. Extends `keys` in place if\n// needed.\nexport default function collectNonEnumProps(obj, keys) {\n keys = emulatedSet(keys);\n var nonEnumIdx = nonEnumerableProps.length;\n var constructor = obj.constructor;\n var proto = (isFunction(constructor) && constructor.prototype) || ObjProto;\n\n // Constructor is a special case.\n var prop = 'constructor';\n if (has(obj, prop) && !keys.contains(prop)) keys.push(prop);\n\n while (nonEnumIdx--) {\n prop = nonEnumerableProps[nonEnumIdx];\n if (prop in obj && obj[prop] !== proto[prop] && !keys.contains(prop)) {\n keys.push(prop);\n }\n }\n}\n","import isObject from './isObject.js';\nimport { nativeKeys, hasEnumBug } from './_setup.js';\nimport has from './_has.js';\nimport collectNonEnumProps from './_collectNonEnumProps.js';\n\n// Retrieve the names of an object's own properties.\n// Delegates to **ECMAScript 5**'s native `Object.keys`.\nexport default function keys(obj) {\n if (!isObject(obj)) return [];\n if (nativeKeys) return nativeKeys(obj);\n var keys = [];\n for (var key in obj) if (has(obj, key)) keys.push(key);\n // Ahem, IE < 9.\n if (hasEnumBug) collectNonEnumProps(obj, keys);\n return keys;\n}\n","import getLength from './_getLength.js';\nimport isArray from './isArray.js';\nimport isString from './isString.js';\nimport isArguments from './isArguments.js';\nimport keys from './keys.js';\n\n// Is a given array, string, or object empty?\n// An \"empty\" object has no enumerable own-properties.\nexport default function isEmpty(obj) {\n if (obj == null) return true;\n // Skip the more expensive `toString`-based type checks if `obj` has no\n // `.length`.\n var length = getLength(obj);\n if (typeof length == 'number' && (\n isArray(obj) || isString(obj) || isArguments(obj)\n )) return length === 0;\n return getLength(keys(obj)) === 0;\n}\n","import keys from './keys.js';\n\n// Returns whether an object has a given set of `key:value` pairs.\nexport default function isMatch(object, attrs) {\n var _keys = keys(attrs), length = _keys.length;\n if (object == null) return !length;\n var obj = Object(object);\n for (var i = 0; i < length; i++) {\n var key = _keys[i];\n if (attrs[key] !== obj[key] || !(key in obj)) return false;\n }\n return true;\n}\n","import { VERSION } from './_setup.js';\n\n// If Underscore is called as a function, it returns a wrapped object that can\n// be used OO-style. This wrapper holds altered versions of all functions added\n// through `_.mixin`. Wrapped objects may be chained.\nexport default function _(obj) {\n if (obj instanceof _) return obj;\n if (!(this instanceof _)) return new _(obj);\n this._wrapped = obj;\n}\n\n_.VERSION = VERSION;\n\n// Extracts the result from a wrapped and chained object.\n_.prototype.value = function() {\n return this._wrapped;\n};\n\n// Provide unwrapping proxies for some methods used in engine operations\n// such as arithmetic and JSON stringification.\n_.prototype.valueOf = _.prototype.toJSON = _.prototype.value;\n\n_.prototype.toString = function() {\n return String(this._wrapped);\n};\n","import getByteLength from './_getByteLength.js';\n\n// Internal function to wrap or shallow-copy an ArrayBuffer,\n// typed array or DataView to a new view, reusing the buffer.\nexport default function toBufferView(bufferSource) {\n return new Uint8Array(\n bufferSource.buffer || bufferSource,\n bufferSource.byteOffset || 0,\n getByteLength(bufferSource)\n );\n}\n","import _ from './underscore.js';\nimport { toString, SymbolProto } from './_setup.js';\nimport getByteLength from './_getByteLength.js';\nimport isTypedArray from './isTypedArray.js';\nimport isFunction from './isFunction.js';\nimport { hasStringTagBug } from './_stringTagBug.js';\nimport isDataView from './isDataView.js';\nimport keys from './keys.js';\nimport has from './_has.js';\nimport toBufferView from './_toBufferView.js';\n\n// We use this string twice, so give it a name for minification.\nvar tagDataView = '[object DataView]';\n\n// Internal recursive comparison function for `_.isEqual`.\nfunction eq(a, b, aStack, bStack) {\n // Identical objects are equal. `0 === -0`, but they aren't identical.\n // See the [Harmony `egal` proposal](https://wiki.ecmascript.org/doku.php?id=harmony:egal).\n if (a === b) return a !== 0 || 1 / a === 1 / b;\n // `null` or `undefined` only equal to itself (strict comparison).\n if (a == null || b == null) return false;\n // `NaN`s are equivalent, but non-reflexive.\n if (a !== a) return b !== b;\n // Exhaust primitive checks\n var type = typeof a;\n if (type !== 'function' && type !== 'object' && typeof b != 'object') return false;\n return deepEq(a, b, aStack, bStack);\n}\n\n// Internal recursive comparison function for `_.isEqual`.\nfunction deepEq(a, b, aStack, bStack) {\n // Unwrap any wrapped objects.\n if (a instanceof _) a = a._wrapped;\n if (b instanceof _) b = b._wrapped;\n // Compare `[[Class]]` names.\n var className = toString.call(a);\n if (className !== toString.call(b)) return false;\n // Work around a bug in IE 10 - Edge 13.\n if (hasStringTagBug && className == '[object Object]' && isDataView(a)) {\n if (!isDataView(b)) return false;\n className = tagDataView;\n }\n switch (className) {\n // These types are compared by value.\n case '[object RegExp]':\n // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')\n case '[object String]':\n // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\n // equivalent to `new String(\"5\")`.\n return '' + a === '' + b;\n case '[object Number]':\n // `NaN`s are equivalent, but non-reflexive.\n // Object(NaN) is equivalent to NaN.\n if (+a !== +a) return +b !== +b;\n // An `egal` comparison is performed for other numeric values.\n return +a === 0 ? 1 / +a === 1 / b : +a === +b;\n case '[object Date]':\n case '[object Boolean]':\n // Coerce dates and booleans to numeric primitive values. Dates are compared by their\n // millisecond representations. Note that invalid dates with millisecond representations\n // of `NaN` are not equivalent.\n return +a === +b;\n case '[object Symbol]':\n return SymbolProto.valueOf.call(a) === SymbolProto.valueOf.call(b);\n case '[object ArrayBuffer]':\n case tagDataView:\n // Coerce to typed array so we can fall through.\n return deepEq(toBufferView(a), toBufferView(b), aStack, bStack);\n }\n\n var areArrays = className === '[object Array]';\n if (!areArrays && isTypedArray(a)) {\n var byteLength = getByteLength(a);\n if (byteLength !== getByteLength(b)) return false;\n if (a.buffer === b.buffer && a.byteOffset === b.byteOffset) return true;\n areArrays = true;\n }\n if (!areArrays) {\n if (typeof a != 'object' || typeof b != 'object') return false;\n\n // Objects with different constructors are not equivalent, but `Object`s or `Array`s\n // from different frames are.\n var aCtor = a.constructor, bCtor = b.constructor;\n if (aCtor !== bCtor && !(isFunction(aCtor) && aCtor instanceof aCtor &&\n isFunction(bCtor) && bCtor instanceof bCtor)\n && ('constructor' in a && 'constructor' in b)) {\n return false;\n }\n }\n // Assume equality for cyclic structures. The algorithm for detecting cyclic\n // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\n\n // Initializing stack of traversed objects.\n // It's done here since we only need them for objects and arrays comparison.\n aStack = aStack || [];\n bStack = bStack || [];\n var length = aStack.length;\n while (length--) {\n // Linear search. Performance is inversely proportional to the number of\n // unique nested structures.\n if (aStack[length] === a) return bStack[length] === b;\n }\n\n // Add the first object to the stack of traversed objects.\n aStack.push(a);\n bStack.push(b);\n\n // Recursively compare objects and arrays.\n if (areArrays) {\n // Compare array lengths to determine if a deep comparison is necessary.\n length = a.length;\n if (length !== b.length) return false;\n // Deep compare the contents, ignoring non-numeric properties.\n while (length--) {\n if (!eq(a[length], b[length], aStack, bStack)) return false;\n }\n } else {\n // Deep compare objects.\n var _keys = keys(a), key;\n length = _keys.length;\n // Ensure that both objects contain the same number of properties before comparing deep equality.\n if (keys(b).length !== length) return false;\n while (length--) {\n // Deep compare each member\n key = _keys[length];\n if (!(has(b, key) && eq(a[key], b[key], aStack, bStack))) return false;\n }\n }\n // Remove the first object from the stack of traversed objects.\n aStack.pop();\n bStack.pop();\n return true;\n}\n\n// Perform a deep comparison to check if two objects are equal.\nexport default function isEqual(a, b) {\n return eq(a, b);\n}\n","import isObject from './isObject.js';\nimport { hasEnumBug } from './_setup.js';\nimport collectNonEnumProps from './_collectNonEnumProps.js';\n\n// Retrieve all the enumerable property names of an object.\nexport default function allKeys(obj) {\n if (!isObject(obj)) return [];\n var keys = [];\n for (var key in obj) keys.push(key);\n // Ahem, IE < 9.\n if (hasEnumBug) collectNonEnumProps(obj, keys);\n return keys;\n}\n","import getLength from './_getLength.js';\nimport isFunction from './isFunction.js';\nimport allKeys from './allKeys.js';\n\n// Since the regular `Object.prototype.toString` type tests don't work for\n// some types in IE 11, we use a fingerprinting heuristic instead, based\n// on the methods. It's not great, but it's the best we got.\n// The fingerprint method lists are defined below.\nexport function ie11fingerprint(methods) {\n var length = getLength(methods);\n return function(obj) {\n if (obj == null) return false;\n // `Map`, `WeakMap` and `Set` have no enumerable keys.\n var keys = allKeys(obj);\n if (getLength(keys)) return false;\n for (var i = 0; i < length; i++) {\n if (!isFunction(obj[methods[i]])) return false;\n }\n // If we are testing against `WeakMap`, we need to ensure that\n // `obj` doesn't have a `forEach` method in order to distinguish\n // it from a regular `Map`.\n return methods !== weakMapMethods || !isFunction(obj[forEachName]);\n };\n}\n\n// In the interest of compact minification, we write\n// each string in the fingerprints only once.\nvar forEachName = 'forEach',\n hasName = 'has',\n commonInit = ['clear', 'delete'],\n mapTail = ['get', hasName, 'set'];\n\n// `Map`, `WeakMap` and `Set` each have slightly different\n// combinations of the above sublists.\nexport var mapMethods = commonInit.concat(forEachName, mapTail),\n weakMapMethods = commonInit.concat(mapTail),\n setMethods = ['add'].concat(commonInit, forEachName, hasName);\n","import tagTester from './_tagTester.js';\nimport { isIE11 } from './_stringTagBug.js';\nimport { ie11fingerprint, mapMethods } from './_methodFingerprint.js';\n\nexport default isIE11 ? ie11fingerprint(mapMethods) : tagTester('Map');\n","import tagTester from './_tagTester.js';\nimport { isIE11 } from './_stringTagBug.js';\nimport { ie11fingerprint, weakMapMethods } from './_methodFingerprint.js';\n\nexport default isIE11 ? ie11fingerprint(weakMapMethods) : tagTester('WeakMap');\n","import tagTester from './_tagTester.js';\nimport { isIE11 } from './_stringTagBug.js';\nimport { ie11fingerprint, setMethods } from './_methodFingerprint.js';\n\nexport default isIE11 ? ie11fingerprint(setMethods) : tagTester('Set');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('WeakSet');\n","import keys from './keys.js';\n\n// Retrieve the values of an object's properties.\nexport default function values(obj) {\n var _keys = keys(obj);\n var length = _keys.length;\n var values = Array(length);\n for (var i = 0; i < length; i++) {\n values[i] = obj[_keys[i]];\n }\n return values;\n}\n","import keys from './keys.js';\n\n// Convert an object into a list of `[key, value]` pairs.\n// The opposite of `_.object` with one argument.\nexport default function pairs(obj) {\n var _keys = keys(obj);\n var length = _keys.length;\n var pairs = Array(length);\n for (var i = 0; i < length; i++) {\n pairs[i] = [_keys[i], obj[_keys[i]]];\n }\n return pairs;\n}\n","import keys from './keys.js';\n\n// Invert the keys and values of an object. The values must be serializable.\nexport default function invert(obj) {\n var result = {};\n var _keys = keys(obj);\n for (var i = 0, length = _keys.length; i < length; i++) {\n result[obj[_keys[i]]] = _keys[i];\n }\n return result;\n}\n","import isFunction from './isFunction.js';\n\n// Return a sorted list of the function names available on the object.\nexport default function functions(obj) {\n var names = [];\n for (var key in obj) {\n if (isFunction(obj[key])) names.push(key);\n }\n return names.sort();\n}\n","// An internal function for creating assigner functions.\nexport default function createAssigner(keysFunc, defaults) {\n return function(obj) {\n var length = arguments.length;\n if (defaults) obj = Object(obj);\n if (length < 2 || obj == null) return obj;\n for (var index = 1; index < length; index++) {\n var source = arguments[index],\n keys = keysFunc(source),\n l = keys.length;\n for (var i = 0; i < l; i++) {\n var key = keys[i];\n if (!defaults || obj[key] === void 0) obj[key] = source[key];\n }\n }\n return obj;\n };\n}\n","import createAssigner from './_createAssigner.js';\nimport allKeys from './allKeys.js';\n\n// Extend a given object with all the properties in passed-in object(s).\nexport default createAssigner(allKeys);\n","import createAssigner from './_createAssigner.js';\nimport keys from './keys.js';\n\n// Assigns a given object with all the own properties in the passed-in\n// object(s).\n// (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)\nexport default createAssigner(keys);\n","import createAssigner from './_createAssigner.js';\nimport allKeys from './allKeys.js';\n\n// Fill in a given object with default properties.\nexport default createAssigner(allKeys, true);\n","import isObject from './isObject.js';\nimport { nativeCreate } from './_setup.js';\n\n// Create a naked function reference for surrogate-prototype-swapping.\nfunction ctor() {\n return function(){};\n}\n\n// An internal function for creating a new object that inherits from another.\nexport default function baseCreate(prototype) {\n if (!isObject(prototype)) return {};\n if (nativeCreate) return nativeCreate(prototype);\n var Ctor = ctor();\n Ctor.prototype = prototype;\n var result = new Ctor;\n Ctor.prototype = null;\n return result;\n}\n","import baseCreate from './_baseCreate.js';\nimport extendOwn from './extendOwn.js';\n\n// Creates an object that inherits from the given prototype object.\n// If additional properties are provided then they will be added to the\n// created object.\nexport default function create(prototype, props) {\n var result = baseCreate(prototype);\n if (props) extendOwn(result, props);\n return result;\n}\n","import isObject from './isObject.js';\nimport isArray from './isArray.js';\nimport extend from './extend.js';\n\n// Create a (shallow-cloned) duplicate of an object.\nexport default function clone(obj) {\n if (!isObject(obj)) return obj;\n return isArray(obj) ? obj.slice() : extend({}, obj);\n}\n","// Invokes `interceptor` with the `obj` and then returns `obj`.\n// The primary purpose of this method is to \"tap into\" a method chain, in\n// order to perform operations on intermediate results within the chain.\nexport default function tap(obj, interceptor) {\n interceptor(obj);\n return obj;\n}\n","import _ from './underscore.js';\nimport isArray from './isArray.js';\n\n// Normalize a (deep) property `path` to array.\n// Like `_.iteratee`, this function can be customized.\nexport default function toPath(path) {\n return isArray(path) ? path : [path];\n}\n_.toPath = toPath;\n","import _ from './underscore.js';\nimport './toPath.js';\n\n// Internal wrapper for `_.toPath` to enable minification.\n// Similar to `cb` for `_.iteratee`.\nexport default function toPath(path) {\n return _.toPath(path);\n}\n","// Internal function to obtain a nested property in `obj` along `path`.\nexport default function deepGet(obj, path) {\n var length = path.length;\n for (var i = 0; i < length; i++) {\n if (obj == null) return void 0;\n obj = obj[path[i]];\n }\n return length ? obj : void 0;\n}\n","import toPath from './_toPath.js';\nimport deepGet from './_deepGet.js';\nimport isUndefined from './isUndefined.js';\n\n// Get the value of the (deep) property on `path` from `object`.\n// If any property in `path` does not exist or if the value is\n// `undefined`, return `defaultValue` instead.\n// The `path` is normalized through `_.toPath`.\nexport default function get(object, path, defaultValue) {\n var value = deepGet(object, toPath(path));\n return isUndefined(value) ? defaultValue : value;\n}\n","import _has from './_has.js';\nimport toPath from './_toPath.js';\n\n// Shortcut function for checking if an object has a given property directly on\n// itself (in other words, not on a prototype). Unlike the internal `has`\n// function, this public version can also traverse nested properties.\nexport default function has(obj, path) {\n path = toPath(path);\n var length = path.length;\n for (var i = 0; i < length; i++) {\n var key = path[i];\n if (!_has(obj, key)) return false;\n obj = obj[key];\n }\n return !!length;\n}\n","// Keep the identity function around for default iteratees.\nexport default function identity(value) {\n return value;\n}\n","import extendOwn from './extendOwn.js';\nimport isMatch from './isMatch.js';\n\n// Returns a predicate for checking whether an object has a given set of\n// `key:value` pairs.\nexport default function matcher(attrs) {\n attrs = extendOwn({}, attrs);\n return function(obj) {\n return isMatch(obj, attrs);\n };\n}\n","import deepGet from './_deepGet.js';\nimport toPath from './_toPath.js';\n\n// Creates a function that, when passed an object, will traverse that object’s\n// properties down the given `path`, specified as an array of keys or indices.\nexport default function property(path) {\n path = toPath(path);\n return function(obj) {\n return deepGet(obj, path);\n };\n}\n","// Internal function that returns an efficient (for current engines) version\n// of the passed-in callback, to be repeatedly applied in other Underscore\n// functions.\nexport default function optimizeCb(func, context, argCount) {\n if (context === void 0) return func;\n switch (argCount == null ? 3 : argCount) {\n case 1: return function(value) {\n return func.call(context, value);\n };\n // The 2-argument case is omitted because we’re not using it.\n case 3: return function(value, index, collection) {\n return func.call(context, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(context, accumulator, value, index, collection);\n };\n }\n return function() {\n return func.apply(context, arguments);\n };\n}\n","import identity from './identity.js';\nimport isFunction from './isFunction.js';\nimport isObject from './isObject.js';\nimport isArray from './isArray.js';\nimport matcher from './matcher.js';\nimport property from './property.js';\nimport optimizeCb from './_optimizeCb.js';\n\n// An internal function to generate callbacks that can be applied to each\n// element in a collection, returning the desired result — either `_.identity`,\n// an arbitrary callback, a property matcher, or a property accessor.\nexport default function baseIteratee(value, context, argCount) {\n if (value == null) return identity;\n if (isFunction(value)) return optimizeCb(value, context, argCount);\n if (isObject(value) && !isArray(value)) return matcher(value);\n return property(value);\n}\n","import _ from './underscore.js';\nimport baseIteratee from './_baseIteratee.js';\n\n// External wrapper for our callback generator. Users may customize\n// `_.iteratee` if they want additional predicate/iteratee shorthand styles.\n// This abstraction hides the internal-only `argCount` argument.\nexport default function iteratee(value, context) {\n return baseIteratee(value, context, Infinity);\n}\n_.iteratee = iteratee;\n","import _ from './underscore.js';\nimport baseIteratee from './_baseIteratee.js';\nimport iteratee from './iteratee.js';\n\n// The function we call internally to generate a callback. It invokes\n// `_.iteratee` if overridden, otherwise `baseIteratee`.\nexport default function cb(value, context, argCount) {\n if (_.iteratee !== iteratee) return _.iteratee(value, context);\n return baseIteratee(value, context, argCount);\n}\n","import cb from './_cb.js';\nimport keys from './keys.js';\n\n// Returns the results of applying the `iteratee` to each element of `obj`.\n// In contrast to `_.map` it returns an object.\nexport default function mapObject(obj, iteratee, context) {\n iteratee = cb(iteratee, context);\n var _keys = keys(obj),\n length = _keys.length,\n results = {};\n for (var index = 0; index < length; index++) {\n var currentKey = _keys[index];\n results[currentKey] = iteratee(obj[currentKey], currentKey, obj);\n }\n return results;\n}\n","// Predicate-generating function. Often useful outside of Underscore.\nexport default function noop(){}\n","import noop from './noop.js';\nimport get from './get.js';\n\n// Generates a function for a given object that returns a given property.\nexport default function propertyOf(obj) {\n if (obj == null) return noop;\n return function(path) {\n return get(obj, path);\n };\n}\n","import optimizeCb from './_optimizeCb.js';\n\n// Run a function **n** times.\nexport default function times(n, iteratee, context) {\n var accum = Array(Math.max(0, n));\n iteratee = optimizeCb(iteratee, context, 1);\n for (var i = 0; i < n; i++) accum[i] = iteratee(i);\n return accum;\n}\n","// Return a random integer between `min` and `max` (inclusive).\nexport default function random(min, max) {\n if (max == null) {\n max = min;\n min = 0;\n }\n return min + Math.floor(Math.random() * (max - min + 1));\n}\n","// A (possibly faster) way to get the current timestamp as an integer.\nexport default Date.now || function() {\n return new Date().getTime();\n};\n","import keys from './keys.js';\n\n// Internal helper to generate functions for escaping and unescaping strings\n// to/from HTML interpolation.\nexport default function createEscaper(map) {\n var escaper = function(match) {\n return map[match];\n };\n // Regexes for identifying a key that needs to be escaped.\n var source = '(?:' + keys(map).join('|') + ')';\n var testRegexp = RegExp(source);\n var replaceRegexp = RegExp(source, 'g');\n return function(string) {\n string = string == null ? '' : '' + string;\n return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;\n };\n}\n","// Internal list of HTML entities for escaping.\nexport default {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '`': '`'\n};\n","import createEscaper from './_createEscaper.js';\nimport escapeMap from './_escapeMap.js';\n\n// Function for escaping strings to HTML interpolation.\nexport default createEscaper(escapeMap);\n","import invert from './invert.js';\nimport escapeMap from './_escapeMap.js';\n\n// Internal list of HTML entities for unescaping.\nexport default invert(escapeMap);\n","import createEscaper from './_createEscaper.js';\nimport unescapeMap from './_unescapeMap.js';\n\n// Function for unescaping strings from HTML interpolation.\nexport default createEscaper(unescapeMap);\n","import _ from './underscore.js';\n\n// By default, Underscore uses ERB-style template delimiters. Change the\n// following template settings to use alternative delimiters.\nexport default _.templateSettings = {\n evaluate: /<%([\\s\\S]+?)%>/g,\n interpolate: /<%=([\\s\\S]+?)%>/g,\n escape: /<%-([\\s\\S]+?)%>/g\n};\n","import defaults from './defaults.js';\nimport _ from './underscore.js';\nimport './templateSettings.js';\n\n// When customizing `_.templateSettings`, if you don't want to define an\n// interpolation, evaluation or escaping regex, we need one that is\n// guaranteed not to match.\nvar noMatch = /(.)^/;\n\n// Certain characters need to be escaped so that they can be put into a\n// string literal.\nvar escapes = {\n \"'\": \"'\",\n '\\\\': '\\\\',\n '\\r': 'r',\n '\\n': 'n',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n};\n\nvar escapeRegExp = /\\\\|'|\\r|\\n|\\u2028|\\u2029/g;\n\nfunction escapeChar(match) {\n return '\\\\' + escapes[match];\n}\n\n// In order to prevent third-party code injection through\n// `_.templateSettings.variable`, we test it against the following regular\n// expression. It is intentionally a bit more liberal than just matching valid\n// identifiers, but still prevents possible loopholes through defaults or\n// destructuring assignment.\nvar bareIdentifier = /^\\s*(\\w|\\$)+\\s*$/;\n\n// JavaScript micro-templating, similar to John Resig's implementation.\n// Underscore templating handles arbitrary delimiters, preserves whitespace,\n// and correctly escapes quotes within interpolated code.\n// NB: `oldSettings` only exists for backwards compatibility.\nexport default function template(text, settings, oldSettings) {\n if (!settings && oldSettings) settings = oldSettings;\n settings = defaults({}, settings, _.templateSettings);\n\n // Combine delimiters into one regular expression via alternation.\n var matcher = RegExp([\n (settings.escape || noMatch).source,\n (settings.interpolate || noMatch).source,\n (settings.evaluate || noMatch).source\n ].join('|') + '|$', 'g');\n\n // Compile the template source, escaping string literals appropriately.\n var index = 0;\n var source = \"__p+='\";\n text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {\n source += text.slice(index, offset).replace(escapeRegExp, escapeChar);\n index = offset + match.length;\n\n if (escape) {\n source += \"'+\\n((__t=(\" + escape + \"))==null?'':_.escape(__t))+\\n'\";\n } else if (interpolate) {\n source += \"'+\\n((__t=(\" + interpolate + \"))==null?'':__t)+\\n'\";\n } else if (evaluate) {\n source += \"';\\n\" + evaluate + \"\\n__p+='\";\n }\n\n // Adobe VMs need the match returned to produce the correct offset.\n return match;\n });\n source += \"';\\n\";\n\n var argument = settings.variable;\n if (argument) {\n // Insure against third-party code injection. (CVE-2021-23358)\n if (!bareIdentifier.test(argument)) throw new Error(\n 'variable is not a bare identifier: ' + argument\n );\n } else {\n // If a variable is not specified, place data values in local scope.\n source = 'with(obj||{}){\\n' + source + '}\\n';\n argument = 'obj';\n }\n\n source = \"var __t,__p='',__j=Array.prototype.join,\" +\n \"print=function(){__p+=__j.call(arguments,'');};\\n\" +\n source + 'return __p;\\n';\n\n var render;\n try {\n render = new Function(argument, '_', source);\n } catch (e) {\n e.source = source;\n throw e;\n }\n\n var template = function(data) {\n return render.call(this, data, _);\n };\n\n // Provide the compiled source as a convenience for precompilation.\n template.source = 'function(' + argument + '){\\n' + source + '}';\n\n return template;\n}\n","import isFunction from './isFunction.js';\nimport toPath from './_toPath.js';\n\n// Traverses the children of `obj` along `path`. If a child is a function, it\n// is invoked with its parent as context. Returns the value of the final\n// child, or `fallback` if any child is undefined.\nexport default function result(obj, path, fallback) {\n path = toPath(path);\n var length = path.length;\n if (!length) {\n return isFunction(fallback) ? fallback.call(obj) : fallback;\n }\n for (var i = 0; i < length; i++) {\n var prop = obj == null ? void 0 : obj[path[i]];\n if (prop === void 0) {\n prop = fallback;\n i = length; // Ensure we don't continue iterating.\n }\n obj = isFunction(prop) ? prop.call(obj) : prop;\n }\n return obj;\n}\n","// Generate a unique integer id (unique within the entire client session).\n// Useful for temporary DOM ids.\nvar idCounter = 0;\nexport default function uniqueId(prefix) {\n var id = ++idCounter + '';\n return prefix ? prefix + id : id;\n}\n","import _ from './underscore.js';\n\n// Start chaining a wrapped Underscore object.\nexport default function chain(obj) {\n var instance = _(obj);\n instance._chain = true;\n return instance;\n}\n","import baseCreate from './_baseCreate.js';\nimport isObject from './isObject.js';\n\n// Internal function to execute `sourceFunc` bound to `context` with optional\n// `args`. Determines whether to execute a function as a constructor or as a\n// normal function.\nexport default function executeBound(sourceFunc, boundFunc, context, callingContext, args) {\n if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args);\n var self = baseCreate(sourceFunc.prototype);\n var result = sourceFunc.apply(self, args);\n if (isObject(result)) return result;\n return self;\n}\n","import restArguments from './restArguments.js';\nimport executeBound from './_executeBound.js';\nimport _ from './underscore.js';\n\n// Partially apply a function by creating a version that has had some of its\n// arguments pre-filled, without changing its dynamic `this` context. `_` acts\n// as a placeholder by default, allowing any combination of arguments to be\n// pre-filled. Set `_.partial.placeholder` for a custom placeholder argument.\nvar partial = restArguments(function(func, boundArgs) {\n var placeholder = partial.placeholder;\n var bound = function() {\n var position = 0, length = boundArgs.length;\n var args = Array(length);\n for (var i = 0; i < length; i++) {\n args[i] = boundArgs[i] === placeholder ? arguments[position++] : boundArgs[i];\n }\n while (position < arguments.length) args.push(arguments[position++]);\n return executeBound(func, bound, this, this, args);\n };\n return bound;\n});\n\npartial.placeholder = _;\nexport default partial;\n","import restArguments from './restArguments.js';\nimport isFunction from './isFunction.js';\nimport executeBound from './_executeBound.js';\n\n// Create a function bound to a given object (assigning `this`, and arguments,\n// optionally).\nexport default restArguments(function(func, context, args) {\n if (!isFunction(func)) throw new TypeError('Bind must be called on a function');\n var bound = restArguments(function(callArgs) {\n return executeBound(func, bound, context, this, args.concat(callArgs));\n });\n return bound;\n});\n","import createSizePropertyCheck from './_createSizePropertyCheck.js';\nimport getLength from './_getLength.js';\n\n// Internal helper for collection methods to determine whether a collection\n// should be iterated as an array or as an object.\n// Related: https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength\n// Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094\nexport default createSizePropertyCheck(getLength);\n","import getLength from './_getLength.js';\nimport isArrayLike from './_isArrayLike.js';\nimport isArray from './isArray.js';\nimport isArguments from './isArguments.js';\n\n// Internal implementation of a recursive `flatten` function.\nexport default function flatten(input, depth, strict, output) {\n output = output || [];\n if (!depth && depth !== 0) {\n depth = Infinity;\n } else if (depth <= 0) {\n return output.concat(input);\n }\n var idx = output.length;\n for (var i = 0, length = getLength(input); i < length; i++) {\n var value = input[i];\n if (isArrayLike(value) && (isArray(value) || isArguments(value))) {\n // Flatten current level of array or arguments object.\n if (depth > 1) {\n flatten(value, depth - 1, strict, output);\n idx = output.length;\n } else {\n var j = 0, len = value.length;\n while (j < len) output[idx++] = value[j++];\n }\n } else if (!strict) {\n output[idx++] = value;\n }\n }\n return output;\n}\n","import restArguments from './restArguments.js';\nimport flatten from './_flatten.js';\nimport bind from './bind.js';\n\n// Bind a number of an object's methods to that object. Remaining arguments\n// are the method names to be bound. Useful for ensuring that all callbacks\n// defined on an object belong to it.\nexport default restArguments(function(obj, keys) {\n keys = flatten(keys, false, false);\n var index = keys.length;\n if (index < 1) throw new Error('bindAll must be passed function names');\n while (index--) {\n var key = keys[index];\n obj[key] = bind(obj[key], obj);\n }\n return obj;\n});\n","import has from './_has.js';\n\n// Memoize an expensive function by storing its results.\nexport default function memoize(func, hasher) {\n var memoize = function(key) {\n var cache = memoize.cache;\n var address = '' + (hasher ? hasher.apply(this, arguments) : key);\n if (!has(cache, address)) cache[address] = func.apply(this, arguments);\n return cache[address];\n };\n memoize.cache = {};\n return memoize;\n}\n","import restArguments from './restArguments.js';\n\n// Delays a function for the given number of milliseconds, and then calls\n// it with the arguments supplied.\nexport default restArguments(function(func, wait, args) {\n return setTimeout(function() {\n return func.apply(null, args);\n }, wait);\n});\n","import partial from './partial.js';\nimport delay from './delay.js';\nimport _ from './underscore.js';\n\n// Defers a function, scheduling it to run after the current call stack has\n// cleared.\nexport default partial(delay, _, 1);\n","import now from './now.js';\n\n// Returns a function, that, when invoked, will only be triggered at most once\n// during a given window of time. Normally, the throttled function will run\n// as much as it can, without ever going more than once per `wait` duration;\n// but if you'd like to disable the execution on the leading edge, pass\n// `{leading: false}`. To disable execution on the trailing edge, ditto.\nexport default function throttle(func, wait, options) {\n var timeout, context, args, result;\n var previous = 0;\n if (!options) options = {};\n\n var later = function() {\n previous = options.leading === false ? 0 : now();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n };\n\n var throttled = function() {\n var _now = now();\n if (!previous && options.leading === false) previous = _now;\n var remaining = wait - (_now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = _now;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n\n throttled.cancel = function() {\n clearTimeout(timeout);\n previous = 0;\n timeout = context = args = null;\n };\n\n return throttled;\n}\n","import restArguments from './restArguments.js';\nimport now from './now.js';\n\n// When a sequence of calls of the returned function ends, the argument\n// function is triggered. The end of a sequence is defined by the `wait`\n// parameter. If `immediate` is passed, the argument function will be\n// triggered at the beginning of the sequence instead of at the end.\nexport default function debounce(func, wait, immediate) {\n var timeout, previous, args, result, context;\n\n var later = function() {\n var passed = now() - previous;\n if (wait > passed) {\n timeout = setTimeout(later, wait - passed);\n } else {\n timeout = null;\n if (!immediate) result = func.apply(context, args);\n // This check is needed because `func` can recursively invoke `debounced`.\n if (!timeout) args = context = null;\n }\n };\n\n var debounced = restArguments(function(_args) {\n context = this;\n args = _args;\n previous = now();\n if (!timeout) {\n timeout = setTimeout(later, wait);\n if (immediate) result = func.apply(context, args);\n }\n return result;\n });\n\n debounced.cancel = function() {\n clearTimeout(timeout);\n timeout = args = context = null;\n };\n\n return debounced;\n}\n","import partial from './partial.js';\n\n// Returns the first function passed as an argument to the second,\n// allowing you to adjust arguments, run code before and after, and\n// conditionally execute the original function.\nexport default function wrap(func, wrapper) {\n return partial(wrapper, func);\n}\n","// Returns a negated version of the passed-in predicate.\nexport default function negate(predicate) {\n return function() {\n return !predicate.apply(this, arguments);\n };\n}\n","// Returns a function that is the composition of a list of functions, each\n// consuming the return value of the function that follows.\nexport default function compose() {\n var args = arguments;\n var start = args.length - 1;\n return function() {\n var i = start;\n var result = args[start].apply(this, arguments);\n while (i--) result = args[i].call(this, result);\n return result;\n };\n}\n","// Returns a function that will only be executed on and after the Nth call.\nexport default function after(times, func) {\n return function() {\n if (--times < 1) {\n return func.apply(this, arguments);\n }\n };\n}\n","// Returns a function that will only be executed up to (but not including) the\n// Nth call.\nexport default function before(times, func) {\n var memo;\n return function() {\n if (--times > 0) {\n memo = func.apply(this, arguments);\n }\n if (times <= 1) func = null;\n return memo;\n };\n}\n","import partial from './partial.js';\nimport before from './before.js';\n\n// Returns a function that will be executed at most one time, no matter how\n// often you call it. Useful for lazy initialization.\nexport default partial(before, 2);\n","import cb from './_cb.js';\nimport keys from './keys.js';\n\n// Returns the first key on an object that passes a truth test.\nexport default function findKey(obj, predicate, context) {\n predicate = cb(predicate, context);\n var _keys = keys(obj), key;\n for (var i = 0, length = _keys.length; i < length; i++) {\n key = _keys[i];\n if (predicate(obj[key], key, obj)) return key;\n }\n}\n","import cb from './_cb.js';\nimport getLength from './_getLength.js';\n\n// Internal function to generate `_.findIndex` and `_.findLastIndex`.\nexport default function createPredicateIndexFinder(dir) {\n return function(array, predicate, context) {\n predicate = cb(predicate, context);\n var length = getLength(array);\n var index = dir > 0 ? 0 : length - 1;\n for (; index >= 0 && index < length; index += dir) {\n if (predicate(array[index], index, array)) return index;\n }\n return -1;\n };\n}\n","import createPredicateIndexFinder from './_createPredicateIndexFinder.js';\n\n// Returns the first index on an array-like that passes a truth test.\nexport default createPredicateIndexFinder(1);\n","import createPredicateIndexFinder from './_createPredicateIndexFinder.js';\n\n// Returns the last index on an array-like that passes a truth test.\nexport default createPredicateIndexFinder(-1);\n","import cb from './_cb.js';\nimport getLength from './_getLength.js';\n\n// Use a comparator function to figure out the smallest index at which\n// an object should be inserted so as to maintain order. Uses binary search.\nexport default function sortedIndex(array, obj, iteratee, context) {\n iteratee = cb(iteratee, context, 1);\n var value = iteratee(obj);\n var low = 0, high = getLength(array);\n while (low < high) {\n var mid = Math.floor((low + high) / 2);\n if (iteratee(array[mid]) < value) low = mid + 1; else high = mid;\n }\n return low;\n}\n","import getLength from './_getLength.js';\nimport { slice } from './_setup.js';\nimport isNaN from './isNaN.js';\n\n// Internal function to generate the `_.indexOf` and `_.lastIndexOf` functions.\nexport default function createIndexFinder(dir, predicateFind, sortedIndex) {\n return function(array, item, idx) {\n var i = 0, length = getLength(array);\n if (typeof idx == 'number') {\n if (dir > 0) {\n i = idx >= 0 ? idx : Math.max(idx + length, i);\n } else {\n length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1;\n }\n } else if (sortedIndex && idx && length) {\n idx = sortedIndex(array, item);\n return array[idx] === item ? idx : -1;\n }\n if (item !== item) {\n idx = predicateFind(slice.call(array, i, length), isNaN);\n return idx >= 0 ? idx + i : -1;\n }\n for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) {\n if (array[idx] === item) return idx;\n }\n return -1;\n };\n}\n","import sortedIndex from './sortedIndex.js';\nimport findIndex from './findIndex.js';\nimport createIndexFinder from './_createIndexFinder.js';\n\n// Return the position of the first occurrence of an item in an array,\n// or -1 if the item is not included in the array.\n// If the array is large and already in sort order, pass `true`\n// for **isSorted** to use binary search.\nexport default createIndexFinder(1, findIndex, sortedIndex);\n","import findLastIndex from './findLastIndex.js';\nimport createIndexFinder from './_createIndexFinder.js';\n\n// Return the position of the last occurrence of an item in an array,\n// or -1 if the item is not included in the array.\nexport default createIndexFinder(-1, findLastIndex);\n","import isArrayLike from './_isArrayLike.js';\nimport findIndex from './findIndex.js';\nimport findKey from './findKey.js';\n\n// Return the first value which passes a truth test.\nexport default function find(obj, predicate, context) {\n var keyFinder = isArrayLike(obj) ? findIndex : findKey;\n var key = keyFinder(obj, predicate, context);\n if (key !== void 0 && key !== -1) return obj[key];\n}\n","import find from './find.js';\nimport matcher from './matcher.js';\n\n// Convenience version of a common use case of `_.find`: getting the first\n// object containing specific `key:value` pairs.\nexport default function findWhere(obj, attrs) {\n return find(obj, matcher(attrs));\n}\n","import optimizeCb from './_optimizeCb.js';\nimport isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\n\n// The cornerstone for collection functions, an `each`\n// implementation, aka `forEach`.\n// Handles raw objects in addition to array-likes. Treats all\n// sparse array-likes as if they were dense.\nexport default function each(obj, iteratee, context) {\n iteratee = optimizeCb(iteratee, context);\n var i, length;\n if (isArrayLike(obj)) {\n for (i = 0, length = obj.length; i < length; i++) {\n iteratee(obj[i], i, obj);\n }\n } else {\n var _keys = keys(obj);\n for (i = 0, length = _keys.length; i < length; i++) {\n iteratee(obj[_keys[i]], _keys[i], obj);\n }\n }\n return obj;\n}\n","import cb from './_cb.js';\nimport isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\n\n// Return the results of applying the iteratee to each element.\nexport default function map(obj, iteratee, context) {\n iteratee = cb(iteratee, context);\n var _keys = !isArrayLike(obj) && keys(obj),\n length = (_keys || obj).length,\n results = Array(length);\n for (var index = 0; index < length; index++) {\n var currentKey = _keys ? _keys[index] : index;\n results[index] = iteratee(obj[currentKey], currentKey, obj);\n }\n return results;\n}\n","import isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\nimport optimizeCb from './_optimizeCb.js';\n\n// Internal helper to create a reducing function, iterating left or right.\nexport default function createReduce(dir) {\n // Wrap code that reassigns argument variables in a separate function than\n // the one that accesses `arguments.length` to avoid a perf hit. (#1991)\n var reducer = function(obj, iteratee, memo, initial) {\n var _keys = !isArrayLike(obj) && keys(obj),\n length = (_keys || obj).length,\n index = dir > 0 ? 0 : length - 1;\n if (!initial) {\n memo = obj[_keys ? _keys[index] : index];\n index += dir;\n }\n for (; index >= 0 && index < length; index += dir) {\n var currentKey = _keys ? _keys[index] : index;\n memo = iteratee(memo, obj[currentKey], currentKey, obj);\n }\n return memo;\n };\n\n return function(obj, iteratee, memo, context) {\n var initial = arguments.length >= 3;\n return reducer(obj, optimizeCb(iteratee, context, 4), memo, initial);\n };\n}\n","import createReduce from './_createReduce.js';\n\n// **Reduce** builds up a single result from a list of values, aka `inject`,\n// or `foldl`.\nexport default createReduce(1);\n","import createReduce from './_createReduce.js';\n\n// The right-associative version of reduce, also known as `foldr`.\nexport default createReduce(-1);\n","import cb from './_cb.js';\nimport each from './each.js';\n\n// Return all the elements that pass a truth test.\nexport default function filter(obj, predicate, context) {\n var results = [];\n predicate = cb(predicate, context);\n each(obj, function(value, index, list) {\n if (predicate(value, index, list)) results.push(value);\n });\n return results;\n}\n","import filter from './filter.js';\nimport negate from './negate.js';\nimport cb from './_cb.js';\n\n// Return all the elements for which a truth test fails.\nexport default function reject(obj, predicate, context) {\n return filter(obj, negate(cb(predicate)), context);\n}\n","import cb from './_cb.js';\nimport isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\n\n// Determine whether all of the elements pass a truth test.\nexport default function every(obj, predicate, context) {\n predicate = cb(predicate, context);\n var _keys = !isArrayLike(obj) && keys(obj),\n length = (_keys || obj).length;\n for (var index = 0; index < length; index++) {\n var currentKey = _keys ? _keys[index] : index;\n if (!predicate(obj[currentKey], currentKey, obj)) return false;\n }\n return true;\n}\n","import cb from './_cb.js';\nimport isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\n\n// Determine if at least one element in the object passes a truth test.\nexport default function some(obj, predicate, context) {\n predicate = cb(predicate, context);\n var _keys = !isArrayLike(obj) && keys(obj),\n length = (_keys || obj).length;\n for (var index = 0; index < length; index++) {\n var currentKey = _keys ? _keys[index] : index;\n if (predicate(obj[currentKey], currentKey, obj)) return true;\n }\n return false;\n}\n","import isArrayLike from './_isArrayLike.js';\nimport values from './values.js';\nimport indexOf from './indexOf.js';\n\n// Determine if the array or object contains a given item (using `===`).\nexport default function contains(obj, item, fromIndex, guard) {\n if (!isArrayLike(obj)) obj = values(obj);\n if (typeof fromIndex != 'number' || guard) fromIndex = 0;\n return indexOf(obj, item, fromIndex) >= 0;\n}\n","import restArguments from './restArguments.js';\nimport isFunction from './isFunction.js';\nimport map from './map.js';\nimport deepGet from './_deepGet.js';\nimport toPath from './_toPath.js';\n\n// Invoke a method (with arguments) on every item in a collection.\nexport default restArguments(function(obj, path, args) {\n var contextPath, func;\n if (isFunction(path)) {\n func = path;\n } else {\n path = toPath(path);\n contextPath = path.slice(0, -1);\n path = path[path.length - 1];\n }\n return map(obj, function(context) {\n var method = func;\n if (!method) {\n if (contextPath && contextPath.length) {\n context = deepGet(context, contextPath);\n }\n if (context == null) return void 0;\n method = context[path];\n }\n return method == null ? method : method.apply(context, args);\n });\n});\n","import map from './map.js';\nimport property from './property.js';\n\n// Convenience version of a common use case of `_.map`: fetching a property.\nexport default function pluck(obj, key) {\n return map(obj, property(key));\n}\n","import filter from './filter.js';\nimport matcher from './matcher.js';\n\n// Convenience version of a common use case of `_.filter`: selecting only\n// objects containing specific `key:value` pairs.\nexport default function where(obj, attrs) {\n return filter(obj, matcher(attrs));\n}\n","import isArrayLike from './_isArrayLike.js';\nimport values from './values.js';\nimport cb from './_cb.js';\nimport each from './each.js';\n\n// Return the maximum element (or element-based computation).\nexport default function max(obj, iteratee, context) {\n var result = -Infinity, lastComputed = -Infinity,\n value, computed;\n if (iteratee == null || (typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null)) {\n obj = isArrayLike(obj) ? obj : values(obj);\n for (var i = 0, length = obj.length; i < length; i++) {\n value = obj[i];\n if (value != null && value > result) {\n result = value;\n }\n }\n } else {\n iteratee = cb(iteratee, context);\n each(obj, function(v, index, list) {\n computed = iteratee(v, index, list);\n if (computed > lastComputed || (computed === -Infinity && result === -Infinity)) {\n result = v;\n lastComputed = computed;\n }\n });\n }\n return result;\n}\n","import isArrayLike from './_isArrayLike.js';\nimport values from './values.js';\nimport cb from './_cb.js';\nimport each from './each.js';\n\n// Return the minimum element (or element-based computation).\nexport default function min(obj, iteratee, context) {\n var result = Infinity, lastComputed = Infinity,\n value, computed;\n if (iteratee == null || (typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null)) {\n obj = isArrayLike(obj) ? obj : values(obj);\n for (var i = 0, length = obj.length; i < length; i++) {\n value = obj[i];\n if (value != null && value < result) {\n result = value;\n }\n }\n } else {\n iteratee = cb(iteratee, context);\n each(obj, function(v, index, list) {\n computed = iteratee(v, index, list);\n if (computed < lastComputed || (computed === Infinity && result === Infinity)) {\n result = v;\n lastComputed = computed;\n }\n });\n }\n return result;\n}\n","import isArray from './isArray.js';\nimport { slice } from './_setup.js';\nimport isString from './isString.js';\nimport isArrayLike from './_isArrayLike.js';\nimport map from './map.js';\nimport identity from './identity.js';\nimport values from './values.js';\n\n// Safely create a real, live array from anything iterable.\nvar reStrSymbol = /[^\\ud800-\\udfff]|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff]/g;\nexport default function toArray(obj) {\n if (!obj) return [];\n if (isArray(obj)) return slice.call(obj);\n if (isString(obj)) {\n // Keep surrogate pair characters together.\n return obj.match(reStrSymbol);\n }\n if (isArrayLike(obj)) return map(obj, identity);\n return values(obj);\n}\n","import isArrayLike from './_isArrayLike.js';\nimport values from './values.js';\nimport getLength from './_getLength.js';\nimport random from './random.js';\nimport toArray from './toArray.js';\n\n// Sample **n** random values from a collection using the modern version of the\n// [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher–Yates_shuffle).\n// If **n** is not specified, returns a single random element.\n// The internal `guard` argument allows it to work with `_.map`.\nexport default function sample(obj, n, guard) {\n if (n == null || guard) {\n if (!isArrayLike(obj)) obj = values(obj);\n return obj[random(obj.length - 1)];\n }\n var sample = toArray(obj);\n var length = getLength(sample);\n n = Math.max(Math.min(n, length), 0);\n var last = length - 1;\n for (var index = 0; index < n; index++) {\n var rand = random(index, last);\n var temp = sample[index];\n sample[index] = sample[rand];\n sample[rand] = temp;\n }\n return sample.slice(0, n);\n}\n","import sample from './sample.js';\n\n// Shuffle a collection.\nexport default function shuffle(obj) {\n return sample(obj, Infinity);\n}\n","import cb from './_cb.js';\nimport pluck from './pluck.js';\nimport map from './map.js';\n\n// Sort the object's values by a criterion produced by an iteratee.\nexport default function sortBy(obj, iteratee, context) {\n var index = 0;\n iteratee = cb(iteratee, context);\n return pluck(map(obj, function(value, key, list) {\n return {\n value: value,\n index: index++,\n criteria: iteratee(value, key, list)\n };\n }).sort(function(left, right) {\n var a = left.criteria;\n var b = right.criteria;\n if (a !== b) {\n if (a > b || a === void 0) return 1;\n if (a < b || b === void 0) return -1;\n }\n return left.index - right.index;\n }), 'value');\n}\n","import cb from './_cb.js';\nimport each from './each.js';\n\n// An internal function used for aggregate \"group by\" operations.\nexport default function group(behavior, partition) {\n return function(obj, iteratee, context) {\n var result = partition ? [[], []] : {};\n iteratee = cb(iteratee, context);\n each(obj, function(value, index) {\n var key = iteratee(value, index, obj);\n behavior(result, value, key);\n });\n return result;\n };\n}\n","import group from './_group.js';\nimport has from './_has.js';\n\n// Groups the object's values by a criterion. Pass either a string attribute\n// to group by, or a function that returns the criterion.\nexport default group(function(result, value, key) {\n if (has(result, key)) result[key].push(value); else result[key] = [value];\n});\n","import group from './_group.js';\n\n// Indexes the object's values by a criterion, similar to `_.groupBy`, but for\n// when you know that your index values will be unique.\nexport default group(function(result, value, key) {\n result[key] = value;\n});\n","import group from './_group.js';\nimport has from './_has.js';\n\n// Counts instances of an object that group by a certain criterion. Pass\n// either a string attribute to count by, or a function that returns the\n// criterion.\nexport default group(function(result, value, key) {\n if (has(result, key)) result[key]++; else result[key] = 1;\n});\n","import group from './_group.js';\n\n// Split a collection into two arrays: one whose elements all pass the given\n// truth test, and one whose elements all do not pass the truth test.\nexport default group(function(result, value, pass) {\n result[pass ? 0 : 1].push(value);\n}, true);\n","import isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\n\n// Return the number of elements in a collection.\nexport default function size(obj) {\n if (obj == null) return 0;\n return isArrayLike(obj) ? obj.length : keys(obj).length;\n}\n","// Internal `_.pick` helper function to determine whether `key` is an enumerable\n// property name of `obj`.\nexport default function keyInObj(value, key, obj) {\n return key in obj;\n}\n","import restArguments from './restArguments.js';\nimport isFunction from './isFunction.js';\nimport optimizeCb from './_optimizeCb.js';\nimport allKeys from './allKeys.js';\nimport keyInObj from './_keyInObj.js';\nimport flatten from './_flatten.js';\n\n// Return a copy of the object only containing the allowed properties.\nexport default restArguments(function(obj, keys) {\n var result = {}, iteratee = keys[0];\n if (obj == null) return result;\n if (isFunction(iteratee)) {\n if (keys.length > 1) iteratee = optimizeCb(iteratee, keys[1]);\n keys = allKeys(obj);\n } else {\n iteratee = keyInObj;\n keys = flatten(keys, false, false);\n obj = Object(obj);\n }\n for (var i = 0, length = keys.length; i < length; i++) {\n var key = keys[i];\n var value = obj[key];\n if (iteratee(value, key, obj)) result[key] = value;\n }\n return result;\n});\n","import restArguments from './restArguments.js';\nimport isFunction from './isFunction.js';\nimport negate from './negate.js';\nimport map from './map.js';\nimport flatten from './_flatten.js';\nimport contains from './contains.js';\nimport pick from './pick.js';\n\n// Return a copy of the object without the disallowed properties.\nexport default restArguments(function(obj, keys) {\n var iteratee = keys[0], context;\n if (isFunction(iteratee)) {\n iteratee = negate(iteratee);\n if (keys.length > 1) context = keys[1];\n } else {\n keys = map(flatten(keys, false, false), String);\n iteratee = function(value, key) {\n return !contains(keys, key);\n };\n }\n return pick(obj, iteratee, context);\n});\n","import { slice } from './_setup.js';\n\n// Returns everything but the last entry of the array. Especially useful on\n// the arguments object. Passing **n** will return all the values in\n// the array, excluding the last N.\nexport default function initial(array, n, guard) {\n return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n)));\n}\n","import initial from './initial.js';\n\n// Get the first element of an array. Passing **n** will return the first N\n// values in the array. The **guard** check allows it to work with `_.map`.\nexport default function first(array, n, guard) {\n if (array == null || array.length < 1) return n == null || guard ? void 0 : [];\n if (n == null || guard) return array[0];\n return initial(array, array.length - n);\n}\n","import { slice } from './_setup.js';\n\n// Returns everything but the first entry of the `array`. Especially useful on\n// the `arguments` object. Passing an **n** will return the rest N values in the\n// `array`.\nexport default function rest(array, n, guard) {\n return slice.call(array, n == null || guard ? 1 : n);\n}\n","import rest from './rest.js';\n\n// Get the last element of an array. Passing **n** will return the last N\n// values in the array.\nexport default function last(array, n, guard) {\n if (array == null || array.length < 1) return n == null || guard ? void 0 : [];\n if (n == null || guard) return array[array.length - 1];\n return rest(array, Math.max(0, array.length - n));\n}\n","import filter from './filter.js';\n\n// Trim out all falsy values from an array.\nexport default function compact(array) {\n return filter(array, Boolean);\n}\n","import _flatten from './_flatten.js';\n\n// Flatten out an array, either recursively (by default), or up to `depth`.\n// Passing `true` or `false` as `depth` means `1` or `Infinity`, respectively.\nexport default function flatten(array, depth) {\n return _flatten(array, depth, false);\n}\n","import restArguments from './restArguments.js';\nimport flatten from './_flatten.js';\nimport filter from './filter.js';\nimport contains from './contains.js';\n\n// Take the difference between one array and a number of other arrays.\n// Only the elements present in just the first array will remain.\nexport default restArguments(function(array, rest) {\n rest = flatten(rest, true, true);\n return filter(array, function(value){\n return !contains(rest, value);\n });\n});\n","import restArguments from './restArguments.js';\nimport difference from './difference.js';\n\n// Return a version of the array that does not contain the specified value(s).\nexport default restArguments(function(array, otherArrays) {\n return difference(array, otherArrays);\n});\n","import isBoolean from './isBoolean.js';\nimport cb from './_cb.js';\nimport getLength from './_getLength.js';\nimport contains from './contains.js';\n\n// Produce a duplicate-free version of the array. If the array has already\n// been sorted, you have the option of using a faster algorithm.\n// The faster algorithm will not work with an iteratee if the iteratee\n// is not a one-to-one function, so providing an iteratee will disable\n// the faster algorithm.\nexport default function uniq(array, isSorted, iteratee, context) {\n if (!isBoolean(isSorted)) {\n context = iteratee;\n iteratee = isSorted;\n isSorted = false;\n }\n if (iteratee != null) iteratee = cb(iteratee, context);\n var result = [];\n var seen = [];\n for (var i = 0, length = getLength(array); i < length; i++) {\n var value = array[i],\n computed = iteratee ? iteratee(value, i, array) : value;\n if (isSorted && !iteratee) {\n if (!i || seen !== computed) result.push(value);\n seen = computed;\n } else if (iteratee) {\n if (!contains(seen, computed)) {\n seen.push(computed);\n result.push(value);\n }\n } else if (!contains(result, value)) {\n result.push(value);\n }\n }\n return result;\n}\n","import restArguments from './restArguments.js';\nimport uniq from './uniq.js';\nimport flatten from './_flatten.js';\n\n// Produce an array that contains the union: each distinct element from all of\n// the passed-in arrays.\nexport default restArguments(function(arrays) {\n return uniq(flatten(arrays, true, true));\n});\n","import getLength from './_getLength.js';\nimport contains from './contains.js';\n\n// Produce an array that contains every item shared between all the\n// passed-in arrays.\nexport default function intersection(array) {\n var result = [];\n var argsLength = arguments.length;\n for (var i = 0, length = getLength(array); i < length; i++) {\n var item = array[i];\n if (contains(result, item)) continue;\n var j;\n for (j = 1; j < argsLength; j++) {\n if (!contains(arguments[j], item)) break;\n }\n if (j === argsLength) result.push(item);\n }\n return result;\n}\n","import max from './max.js';\nimport getLength from './_getLength.js';\nimport pluck from './pluck.js';\n\n// Complement of zip. Unzip accepts an array of arrays and groups\n// each array's elements on shared indices.\nexport default function unzip(array) {\n var length = (array && max(array, getLength).length) || 0;\n var result = Array(length);\n\n for (var index = 0; index < length; index++) {\n result[index] = pluck(array, index);\n }\n return result;\n}\n","import restArguments from './restArguments.js';\nimport unzip from './unzip.js';\n\n// Zip together multiple lists into a single array -- elements that share\n// an index go together.\nexport default restArguments(unzip);\n","import getLength from './_getLength.js';\n\n// Converts lists into objects. Pass either a single array of `[key, value]`\n// pairs, or two parallel arrays of the same length -- one of keys, and one of\n// the corresponding values. Passing by pairs is the reverse of `_.pairs`.\nexport default function object(list, values) {\n var result = {};\n for (var i = 0, length = getLength(list); i < length; i++) {\n if (values) {\n result[list[i]] = values[i];\n } else {\n result[list[i][0]] = list[i][1];\n }\n }\n return result;\n}\n","// Generate an integer Array containing an arithmetic progression. A port of\n// the native Python `range()` function. See\n// [the Python documentation](https://docs.python.org/library/functions.html#range).\nexport default function range(start, stop, step) {\n if (stop == null) {\n stop = start || 0;\n start = 0;\n }\n if (!step) {\n step = stop < start ? -1 : 1;\n }\n\n var length = Math.max(Math.ceil((stop - start) / step), 0);\n var range = Array(length);\n\n for (var idx = 0; idx < length; idx++, start += step) {\n range[idx] = start;\n }\n\n return range;\n}\n","import { slice } from './_setup.js';\n\n// Chunk a single array into multiple arrays, each containing `count` or fewer\n// items.\nexport default function chunk(array, count) {\n if (count == null || count < 1) return [];\n var result = [];\n var i = 0, length = array.length;\n while (i < length) {\n result.push(slice.call(array, i, i += count));\n }\n return result;\n}\n","import _ from './underscore.js';\n\n// Helper function to continue chaining intermediate results.\nexport default function chainResult(instance, obj) {\n return instance._chain ? _(obj).chain() : obj;\n}\n","import _ from './underscore.js';\nimport each from './each.js';\nimport functions from './functions.js';\nimport { push } from './_setup.js';\nimport chainResult from './_chainResult.js';\n\n// Add your own custom functions to the Underscore object.\nexport default function mixin(obj) {\n each(functions(obj), function(name) {\n var func = _[name] = obj[name];\n _.prototype[name] = function() {\n var args = [this._wrapped];\n push.apply(args, arguments);\n return chainResult(this, func.apply(_, args));\n };\n });\n return _;\n}\n","import _ from './underscore.js';\nimport each from './each.js';\nimport { ArrayProto } from './_setup.js';\nimport chainResult from './_chainResult.js';\n\n// Add all mutator `Array` functions to the wrapper.\neach(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {\n var method = ArrayProto[name];\n _.prototype[name] = function() {\n var obj = this._wrapped;\n if (obj != null) {\n method.apply(obj, arguments);\n if ((name === 'shift' || name === 'splice') && obj.length === 0) {\n delete obj[0];\n }\n }\n return chainResult(this, obj);\n };\n});\n\n// Add all accessor `Array` functions to the wrapper.\neach(['concat', 'join', 'slice'], function(name) {\n var method = ArrayProto[name];\n _.prototype[name] = function() {\n var obj = this._wrapped;\n if (obj != null) obj = method.apply(obj, arguments);\n return chainResult(this, obj);\n };\n});\n\nexport default _;\n","// Default Export\n// ==============\n// In this module, we mix our bundled exports into the `_` object and export\n// the result. This is analogous to setting `module.exports = _` in CommonJS.\n// Hence, this module is also the entry point of our UMD bundle and the package\n// entry point for CommonJS and AMD users. In other words, this is (the source\n// of) the module you are interfacing with when you do any of the following:\n//\n// ```js\n// // CommonJS\n// var _ = require('underscore');\n//\n// // AMD\n// define(['underscore'], function(_) {...});\n//\n// // UMD in the browser\n// // _ is available as a global variable\n// ```\nimport * as allExports from './index.js';\nimport { mixin } from './index.js';\n\n// Add all of the Underscore functions to the wrapper object.\nvar _ = mixin(allExports);\n// Legacy Node.js API.\n_._ = _;\n// Export the Underscore API.\nexport default _;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.map = map;\nvar _q = require(\"q\");\nvar _async = require(\"async\");\nvar _underscore = require(\"underscore\");\nfunction map(myArray, iterator, limit) {\n var queue, promiseArray;\n limit = limit === undefined ? 1 : limit;\n queue = (0, _async.queue)(function (task, callback) {\n iterator(task.elem).then(function (result) {\n task.deferred.resolve(result);\n callback();\n }).fail(function (error) {\n task.deferred.reject(error);\n callback();\n });\n }, limit);\n promiseArray = (0, _underscore.map)(myArray, function (elem) {\n var deferred = (0, _q.defer)();\n queue.push({\n deferred: deferred,\n elem: elem\n });\n return deferred.promise;\n });\n return (0, _q.all)(promiseArray);\n}","module.exports = require('./dist');\n","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 1);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar DEVICE_TYPES = {\n MOBILE: \"mobile\",\n TABLET: \"tablet\",\n SMART_TV: \"smarttv\",\n CONSOLE: \"console\",\n WEARABLE: \"wearable\",\n BROWSER: undefined\n};\n\nvar BROWSER_TYPES = {\n CHROME: \"Chrome\",\n FIREFOX: \"Firefox\",\n OPERA: \"Opera\",\n YANDEX: \"Yandex\",\n SAFARI: \"Safari\",\n INTERNET_EXPLORER: \"Internet Explorer\",\n EDGE: \"Edge\",\n CHROMIUM: \"Chromium\",\n IE: \"IE\",\n MOBILE_SAFARI: \"Mobile Safari\",\n EDGE_CHROMIUM: \"Edge Chromium\"\n};\n\nvar OS_TYPES = {\n IOS: \"iOS\",\n ANDROID: \"Android\",\n WINDOWS_PHONE: \"Windows Phone\",\n WINDOWS: \"Windows\",\n MAC_OS: \"Mac OS\"\n};\n\nvar defaultData = {\n isMobile: false,\n isTablet: false,\n isBrowser: false,\n isSmartTV: false,\n isConsole: false,\n isWearable: false\n};\n\nmodule.exports = { BROWSER_TYPES: BROWSER_TYPES, DEVICE_TYPES: DEVICE_TYPES, OS_TYPES: OS_TYPES, defaultData: defaultData };\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar UAParser = __webpack_require__(2);\n\nvar _require = __webpack_require__(0),\n BROWSER_TYPES = _require.BROWSER_TYPES,\n OS_TYPES = _require.OS_TYPES,\n DEVICE_TYPES = _require.DEVICE_TYPES;\n\nvar _require2 = __webpack_require__(4),\n checkType = _require2.checkType,\n broPayload = _require2.broPayload,\n mobilePayload = _require2.mobilePayload,\n wearPayload = _require2.wearPayload,\n consolePayload = _require2.consolePayload,\n stvPayload = _require2.stvPayload,\n getNavigatorInstance = _require2.getNavigatorInstance,\n isIOS13Check = _require2.isIOS13Check;\n\nvar UA = new UAParser();\n\nvar browser = UA.getBrowser();\nvar device = UA.getDevice();\nvar engine = UA.getEngine();\nvar os = UA.getOS();\nvar ua = UA.getUA();\n\nvar CHROME = BROWSER_TYPES.CHROME,\n CHROMIUM = BROWSER_TYPES.CHROMIUM,\n IE = BROWSER_TYPES.IE,\n INTERNET_EXPLORER = BROWSER_TYPES.INTERNET_EXPLORER,\n OPERA = BROWSER_TYPES.OPERA,\n FIREFOX = BROWSER_TYPES.FIREFOX,\n SAFARI = BROWSER_TYPES.SAFARI,\n EDGE = BROWSER_TYPES.EDGE,\n YANDEX = BROWSER_TYPES.YANDEX,\n MOBILE_SAFARI = BROWSER_TYPES.MOBILE_SAFARI;\nvar MOBILE = DEVICE_TYPES.MOBILE,\n TABLET = DEVICE_TYPES.TABLET,\n SMART_TV = DEVICE_TYPES.SMART_TV,\n BROWSER = DEVICE_TYPES.BROWSER,\n WEARABLE = DEVICE_TYPES.WEARABLE,\n CONSOLE = DEVICE_TYPES.CONSOLE;\nvar ANDROID = OS_TYPES.ANDROID,\n WINDOWS_PHONE = OS_TYPES.WINDOWS_PHONE,\n IOS = OS_TYPES.IOS,\n WINDOWS = OS_TYPES.WINDOWS,\n MAC_OS = OS_TYPES.MAC_OS;\n\n\nvar isMobileType = function isMobileType() {\n return device.type === MOBILE;\n};\nvar isTabletType = function isTabletType() {\n return device.type === TABLET;\n};\n\nvar isMobileAndTabletType = function isMobileAndTabletType() {\n switch (device.type) {\n case MOBILE:\n case TABLET:\n return true;\n default:\n return false;\n }\n};\n\nvar isEdgeChromiumType = function isEdgeChromiumType() {\n if (os.name === OS_TYPES.WINDOWS && os.version === '10') {\n return typeof ua === 'string' && ua.indexOf('Edg/') !== -1;\n }\n\n return false;\n};\n\nvar isSmartTVType = function isSmartTVType() {\n return device.type === SMART_TV;\n};\nvar isBrowserType = function isBrowserType() {\n return device.type === BROWSER;\n};\nvar isWearableType = function isWearableType() {\n return device.type === WEARABLE;\n};\nvar isConsoleType = function isConsoleType() {\n return device.type === CONSOLE;\n};\nvar isAndroidType = function isAndroidType() {\n return os.name === ANDROID;\n};\nvar isWindowsType = function isWindowsType() {\n return os.name === WINDOWS;\n};\nvar isMacOsType = function isMacOsType() {\n return os.name === MAC_OS;\n};\nvar isWinPhoneType = function isWinPhoneType() {\n return os.name === WINDOWS_PHONE;\n};\nvar isIOSType = function isIOSType() {\n return os.name === IOS;\n};\nvar isChromeType = function isChromeType() {\n return browser.name === CHROME;\n};\nvar isFirefoxType = function isFirefoxType() {\n return browser.name === FIREFOX;\n};\nvar isChromiumType = function isChromiumType() {\n return browser.name === CHROMIUM;\n};\nvar isEdgeType = function isEdgeType() {\n return browser.name === EDGE;\n};\nvar isYandexType = function isYandexType() {\n return browser.name === YANDEX;\n};\nvar isSafariType = function isSafariType() {\n return browser.name === SAFARI || browser.name === MOBILE_SAFARI;\n};\n\nvar isMobileSafariType = function isMobileSafariType() {\n return browser.name === MOBILE_SAFARI;\n};\nvar isOperaType = function isOperaType() {\n return browser.name === OPERA;\n};\nvar isIEType = function isIEType() {\n return browser.name === INTERNET_EXPLORER || browser.name === IE;\n};\n\nvar isElectronType = function isElectronType() {\n var nav = getNavigatorInstance();\n var ua = nav && nav.userAgent.toLowerCase();\n\n return typeof ua === 'string' ? /electron/.test(ua) : false;\n};\n\nvar getIOS13 = function getIOS13() {\n var nav = getNavigatorInstance();\n return nav && (/iPad|iPhone|iPod/.test(nav.platform) || nav.platform === 'MacIntel' && nav.maxTouchPoints > 1) && !window.MSStream;\n};\n\nvar getIPad13 = function getIPad13() {\n return isIOS13Check('iPad');\n};\nvar getIphone13 = function getIphone13() {\n return isIOS13Check('iPhone');\n};\nvar getIPod13 = function getIPod13() {\n return isIOS13Check('iPod');\n};\n\nvar getBrowserFullVersion = function getBrowserFullVersion() {\n return browser.major;\n};\nvar getBrowserVersion = function getBrowserVersion() {\n return browser.version;\n};\nvar getOsVersion = function getOsVersion() {\n return os.version ? os.version : \"none\";\n};\nvar getOsName = function getOsName() {\n return os.name ? os.name : \"none\";\n};\nvar getBrowserName = function getBrowserName() {\n return browser.name;\n};\nvar getMobileVendor = function getMobileVendor() {\n return device.vendor ? device.vendor : \"none\";\n};\nvar getMobileModel = function getMobileModel() {\n return device.model ? device.model : \"none\";\n};\nvar getEngineName = function getEngineName() {\n return engine.name;\n};\nvar getEngineVersion = function getEngineVersion() {\n return engine.version;\n};\nvar getUseragent = function getUseragent() {\n return ua;\n};\nvar getDeviceType = function getDeviceType() {\n return device.type;\n};\n\nvar isSmartTV = isSmartTVType();\nvar isConsole = isConsoleType();\nvar isWearable = isWearableType();\nvar isMobileSafari = isMobileSafariType() || getIPad13();\nvar isChromium = isChromiumType();\nvar isMobile = isMobileAndTabletType() || getIPad13();\nvar isMobileOnly = isMobileType();\nvar isTablet = isTabletType() || getIPad13();\nvar isBrowser = isBrowserType();\nvar isAndroid = isAndroidType();\nvar isWinPhone = isWinPhoneType();\nvar isIOS = isIOSType() || getIPad13();\nvar isChrome = isChromeType();\nvar isFirefox = isFirefoxType();\nvar isSafari = isSafariType();\nvar isOpera = isOperaType();\nvar isIE = isIEType();\nvar osVersion = getOsVersion();\nvar osName = getOsName();\nvar fullBrowserVersion = getBrowserFullVersion();\nvar browserVersion = getBrowserVersion();\nvar browserName = getBrowserName();\nvar mobileVendor = getMobileVendor();\nvar mobileModel = getMobileModel();\nvar engineName = getEngineName();\nvar engineVersion = getEngineVersion();\nvar getUA = getUseragent();\nvar isEdge = isEdgeType() || isEdgeChromiumType();\nvar isYandex = isYandexType();\nvar deviceType = getDeviceType();\nvar isIOS13 = getIOS13();\nvar isIPad13 = getIPad13();\nvar isIPhone13 = getIphone13();\nvar isIPod13 = getIPod13();\nvar isElectron = isElectronType();\nvar isEdgeChromium = isEdgeChromiumType();\nvar isLegacyEdge = isEdgeType();\nvar isWindows = isWindowsType();\nvar isMacOs = isMacOsType();\n\nvar type = checkType(device.type);\n\nfunction deviceDetect() {\n var isBrowser = type.isBrowser,\n isMobile = type.isMobile,\n isTablet = type.isTablet,\n isSmartTV = type.isSmartTV,\n isConsole = type.isConsole,\n isWearable = type.isWearable;\n\n if (isBrowser) {\n return broPayload(isBrowser, browser, engine, os, ua);\n }\n\n if (isSmartTV) {\n return stvPayload(isSmartTV, engine, os, ua);\n }\n\n if (isConsole) {\n return consolePayload(isConsole, engine, os, ua);\n }\n\n if (isMobile) {\n return mobilePayload(type, device, os, ua);\n }\n\n if (isTablet) {\n return mobilePayload(type, device, os, ua);\n }\n\n if (isWearable) {\n return wearPayload(isWearable, engine, os, ua);\n }\n};\n\nmodule.exports = {\n deviceDetect: deviceDetect,\n isSmartTV: isSmartTV,\n isConsole: isConsole,\n isWearable: isWearable,\n isMobileSafari: isMobileSafari,\n isChromium: isChromium,\n isMobile: isMobile,\n isMobileOnly: isMobileOnly,\n isTablet: isTablet,\n isBrowser: isBrowser,\n isAndroid: isAndroid,\n isWinPhone: isWinPhone,\n isIOS: isIOS,\n isChrome: isChrome,\n isFirefox: isFirefox,\n isSafari: isSafari,\n isOpera: isOpera,\n isIE: isIE,\n osVersion: osVersion,\n osName: osName,\n fullBrowserVersion: fullBrowserVersion,\n browserVersion: browserVersion,\n browserName: browserName,\n mobileVendor: mobileVendor,\n mobileModel: mobileModel,\n engineName: engineName,\n engineVersion: engineVersion,\n getUA: getUA,\n isEdge: isEdge,\n isYandex: isYandex,\n deviceType: deviceType,\n isIOS13: isIOS13,\n isIPad13: isIPad13,\n isIPhone13: isIPhone13,\n isIPod13: isIPod13,\n isElectron: isElectron,\n isEdgeChromium: isEdgeChromium,\n isLegacyEdge: isLegacyEdge,\n isWindows: isWindows,\n isMacOs: isMacOs\n};\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_RESULT__;/*!\n * UAParser.js v0.7.18\n * Lightweight JavaScript-based User-Agent string parser\n * https://github.com/faisalman/ua-parser-js\n *\n * Copyright © 2012-2016 Faisal Salman <fyzlman@gmail.com>\n * Dual licensed under GPLv2 or MIT\n */\n(function(window,undefined){\"use strict\";var LIBVERSION=\"0.7.18\",EMPTY=\"\",UNKNOWN=\"?\",FUNC_TYPE=\"function\",UNDEF_TYPE=\"undefined\",OBJ_TYPE=\"object\",STR_TYPE=\"string\",MAJOR=\"major\",MODEL=\"model\",NAME=\"name\",TYPE=\"type\",VENDOR=\"vendor\",VERSION=\"version\",ARCHITECTURE=\"architecture\",CONSOLE=\"console\",MOBILE=\"mobile\",TABLET=\"tablet\",SMARTTV=\"smarttv\",WEARABLE=\"wearable\",EMBEDDED=\"embedded\";var util={extend:function(regexes,extensions){var margedRegexes={};for(var i in regexes){if(extensions[i]&&extensions[i].length%2===0){margedRegexes[i]=extensions[i].concat(regexes[i])}else{margedRegexes[i]=regexes[i]}}return margedRegexes},has:function(str1,str2){if(typeof str1===\"string\"){return str2.toLowerCase().indexOf(str1.toLowerCase())!==-1}else{return false}},lowerize:function(str){return str.toLowerCase()},major:function(version){return typeof version===STR_TYPE?version.replace(/[^\\d\\.]/g,\"\").split(\".\")[0]:undefined},trim:function(str){return str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,\"\")}};var mapper={rgx:function(ua,arrays){var i=0,j,k,p,q,matches,match;while(i<arrays.length&&!matches){var regex=arrays[i],props=arrays[i+1];j=k=0;while(j<regex.length&&!matches){matches=regex[j++].exec(ua);if(!!matches){for(p=0;p<props.length;p++){match=matches[++k];q=props[p];if(typeof q===OBJ_TYPE&&q.length>0){if(q.length==2){if(typeof q[1]==FUNC_TYPE){this[q[0]]=q[1].call(this,match)}else{this[q[0]]=q[1]}}else if(q.length==3){if(typeof q[1]===FUNC_TYPE&&!(q[1].exec&&q[1].test)){this[q[0]]=match?q[1].call(this,match,q[2]):undefined}else{this[q[0]]=match?match.replace(q[1],q[2]):undefined}}else if(q.length==4){this[q[0]]=match?q[3].call(this,match.replace(q[1],q[2])):undefined}}else{this[q]=match?match:undefined}}}}i+=2}},str:function(str,map){for(var i in map){if(typeof map[i]===OBJ_TYPE&&map[i].length>0){for(var j=0;j<map[i].length;j++){if(util.has(map[i][j],str)){return i===UNKNOWN?undefined:i}}}else if(util.has(map[i],str)){return i===UNKNOWN?undefined:i}}return str}};var maps={browser:{oldsafari:{version:{\"1.0\":\"/8\",1.2:\"/1\",1.3:\"/3\",\"2.0\":\"/412\",\"2.0.2\":\"/416\",\"2.0.3\":\"/417\",\"2.0.4\":\"/419\",\"?\":\"/\"}}},device:{amazon:{model:{\"Fire Phone\":[\"SD\",\"KF\"]}},sprint:{model:{\"Evo Shift 4G\":\"7373KT\"},vendor:{HTC:\"APA\",Sprint:\"Sprint\"}}},os:{windows:{version:{ME:\"4.90\",\"NT 3.11\":\"NT3.51\",\"NT 4.0\":\"NT4.0\",2000:\"NT 5.0\",XP:[\"NT 5.1\",\"NT 5.2\"],Vista:\"NT 6.0\",7:\"NT 6.1\",8:\"NT 6.2\",8.1:\"NT 6.3\",10:[\"NT 6.4\",\"NT 10.0\"],RT:\"ARM\"}}}};var regexes={browser:[[/(opera\\smini)\\/([\\w\\.-]+)/i,/(opera\\s[mobiletab]+).+version\\/([\\w\\.-]+)/i,/(opera).+version\\/([\\w\\.]+)/i,/(opera)[\\/\\s]+([\\w\\.]+)/i],[NAME,VERSION],[/(opios)[\\/\\s]+([\\w\\.]+)/i],[[NAME,\"Opera Mini\"],VERSION],[/\\s(opr)\\/([\\w\\.]+)/i],[[NAME,\"Opera\"],VERSION],[/(kindle)\\/([\\w\\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\\/\\s]?([\\w\\.]*)/i,/(avant\\s|iemobile|slim|baidu)(?:browser)?[\\/\\s]?([\\w\\.]*)/i,/(?:ms|\\()(ie)\\s([\\w\\.]+)/i,/(rekonq)\\/([\\w\\.]*)/i,/(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark)\\/([\\w\\.-]+)/i],[NAME,VERSION],[/(trident).+rv[:\\s]([\\w\\.]+).+like\\sgecko/i],[[NAME,\"IE\"],VERSION],[/(edge|edgios|edgea)\\/((\\d+)?[\\w\\.]+)/i],[[NAME,\"Edge\"],VERSION],[/(yabrowser)\\/([\\w\\.]+)/i],[[NAME,\"Yandex\"],VERSION],[/(puffin)\\/([\\w\\.]+)/i],[[NAME,\"Puffin\"],VERSION],[/((?:[\\s\\/])uc?\\s?browser|(?:juc.+)ucweb)[\\/\\s]?([\\w\\.]+)/i],[[NAME,\"UCBrowser\"],VERSION],[/(comodo_dragon)\\/([\\w\\.]+)/i],[[NAME,/_/g,\" \"],VERSION],[/(micromessenger)\\/([\\w\\.]+)/i],[[NAME,\"WeChat\"],VERSION],[/(qqbrowserlite)\\/([\\w\\.]+)/i],[NAME,VERSION],[/(QQ)\\/([\\d\\.]+)/i],[NAME,VERSION],[/m?(qqbrowser)[\\/\\s]?([\\w\\.]+)/i],[NAME,VERSION],[/(BIDUBrowser)[\\/\\s]?([\\w\\.]+)/i],[NAME,VERSION],[/(2345Explorer)[\\/\\s]?([\\w\\.]+)/i],[NAME,VERSION],[/(MetaSr)[\\/\\s]?([\\w\\.]+)/i],[NAME],[/(LBBROWSER)/i],[NAME],[/xiaomi\\/miuibrowser\\/([\\w\\.]+)/i],[VERSION,[NAME,\"MIUI Browser\"]],[/;fbav\\/([\\w\\.]+);/i],[VERSION,[NAME,\"Facebook\"]],[/headlesschrome(?:\\/([\\w\\.]+)|\\s)/i],[VERSION,[NAME,\"Chrome Headless\"]],[/\\swv\\).+(chrome)\\/([\\w\\.]+)/i],[[NAME,/(.+)/,\"$1 WebView\"],VERSION],[/((?:oculus|samsung)browser)\\/([\\w\\.]+)/i],[[NAME,/(.+(?:g|us))(.+)/,\"$1 $2\"],VERSION],[/android.+version\\/([\\w\\.]+)\\s+(?:mobile\\s?safari|safari)*/i],[VERSION,[NAME,\"Android Browser\"]],[/(chrome|omniweb|arora|[tizenoka]{5}\\s?browser)\\/v?([\\w\\.]+)/i],[NAME,VERSION],[/(dolfin)\\/([\\w\\.]+)/i],[[NAME,\"Dolphin\"],VERSION],[/((?:android.+)crmo|crios)\\/([\\w\\.]+)/i],[[NAME,\"Chrome\"],VERSION],[/(coast)\\/([\\w\\.]+)/i],[[NAME,\"Opera Coast\"],VERSION],[/fxios\\/([\\w\\.-]+)/i],[VERSION,[NAME,\"Firefox\"]],[/version\\/([\\w\\.]+).+?mobile\\/\\w+\\s(safari)/i],[VERSION,[NAME,\"Mobile Safari\"]],[/version\\/([\\w\\.]+).+?(mobile\\s?safari|safari)/i],[VERSION,NAME],[/webkit.+?(gsa)\\/([\\w\\.]+).+?(mobile\\s?safari|safari)(\\/[\\w\\.]+)/i],[[NAME,\"GSA\"],VERSION],[/webkit.+?(mobile\\s?safari|safari)(\\/[\\w\\.]+)/i],[NAME,[VERSION,mapper.str,maps.browser.oldsafari.version]],[/(konqueror)\\/([\\w\\.]+)/i,/(webkit|khtml)\\/([\\w\\.]+)/i],[NAME,VERSION],[/(navigator|netscape)\\/([\\w\\.-]+)/i],[[NAME,\"Netscape\"],VERSION],[/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo\\sbrowser|minimo|conkeror)[\\/\\s]?([\\w\\.\\+]+)/i,/(firefox|seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([\\w\\.-]+)$/i,/(mozilla)\\/([\\w\\.]+).+rv\\:.+gecko\\/\\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir)[\\/\\s]?([\\w\\.]+)/i,/(links)\\s\\(([\\w\\.]+)/i,/(gobrowser)\\/?([\\w\\.]*)/i,/(ice\\s?browser)\\/v?([\\w\\._]+)/i,/(mosaic)[\\/\\s]([\\w\\.]+)/i],[NAME,VERSION]],cpu:[[/(?:(amd|x(?:(?:86|64)[_-])?|wow|win)64)[;\\)]/i],[[ARCHITECTURE,\"amd64\"]],[/(ia32(?=;))/i],[[ARCHITECTURE,util.lowerize]],[/((?:i[346]|x)86)[;\\)]/i],[[ARCHITECTURE,\"ia32\"]],[/windows\\s(ce|mobile);\\sppc;/i],[[ARCHITECTURE,\"arm\"]],[/((?:ppc|powerpc)(?:64)?)(?:\\smac|;|\\))/i],[[ARCHITECTURE,/ower/,\"\",util.lowerize]],[/(sun4\\w)[;\\)]/i],[[ARCHITECTURE,\"sparc\"]],[/((?:avr32|ia64(?=;))|68k(?=\\))|arm(?:64|(?=v\\d+;))|(?=atmel\\s)avr|(?:irix|mips|sparc)(?:64)?(?=;)|pa-risc)/i],[[ARCHITECTURE,util.lowerize]]],device:[[/\\((ipad|playbook);[\\w\\s\\);-]+(rim|apple)/i],[MODEL,VENDOR,[TYPE,TABLET]],[/applecoremedia\\/[\\w\\.]+ \\((ipad)/],[MODEL,[VENDOR,\"Apple\"],[TYPE,TABLET]],[/(apple\\s{0,1}tv)/i],[[MODEL,\"Apple TV\"],[VENDOR,\"Apple\"]],[/(archos)\\s(gamepad2?)/i,/(hp).+(touchpad)/i,/(hp).+(tablet)/i,/(kindle)\\/([\\w\\.]+)/i,/\\s(nook)[\\w\\s]+build\\/(\\w+)/i,/(dell)\\s(strea[kpr\\s\\d]*[\\dko])/i],[VENDOR,MODEL,[TYPE,TABLET]],[/(kf[A-z]+)\\sbuild\\/.+silk\\//i],[MODEL,[VENDOR,\"Amazon\"],[TYPE,TABLET]],[/(sd|kf)[0349hijorstuw]+\\sbuild\\/.+silk\\//i],[[MODEL,mapper.str,maps.device.amazon.model],[VENDOR,\"Amazon\"],[TYPE,MOBILE]],[/\\((ip[honed|\\s\\w*]+);.+(apple)/i],[MODEL,VENDOR,[TYPE,MOBILE]],[/\\((ip[honed|\\s\\w*]+);/i],[MODEL,[VENDOR,\"Apple\"],[TYPE,MOBILE]],[/(blackberry)[\\s-]?(\\w+)/i,/(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[\\s_-]?([\\w-]*)/i,/(hp)\\s([\\w\\s]+\\w)/i,/(asus)-?(\\w+)/i],[VENDOR,MODEL,[TYPE,MOBILE]],[/\\(bb10;\\s(\\w+)/i],[MODEL,[VENDOR,\"BlackBerry\"],[TYPE,MOBILE]],[/android.+(transfo[prime\\s]{4,10}\\s\\w+|eeepc|slider\\s\\w+|nexus 7|padfone)/i],[MODEL,[VENDOR,\"Asus\"],[TYPE,TABLET]],[/(sony)\\s(tablet\\s[ps])\\sbuild\\//i,/(sony)?(?:sgp.+)\\sbuild\\//i],[[VENDOR,\"Sony\"],[MODEL,\"Xperia Tablet\"],[TYPE,TABLET]],[/android.+\\s([c-g]\\d{4}|so[-l]\\w+)\\sbuild\\//i],[MODEL,[VENDOR,\"Sony\"],[TYPE,MOBILE]],[/\\s(ouya)\\s/i,/(nintendo)\\s([wids3u]+)/i],[VENDOR,MODEL,[TYPE,CONSOLE]],[/android.+;\\s(shield)\\sbuild/i],[MODEL,[VENDOR,\"Nvidia\"],[TYPE,CONSOLE]],[/(playstation\\s[34portablevi]+)/i],[MODEL,[VENDOR,\"Sony\"],[TYPE,CONSOLE]],[/(sprint\\s(\\w+))/i],[[VENDOR,mapper.str,maps.device.sprint.vendor],[MODEL,mapper.str,maps.device.sprint.model],[TYPE,MOBILE]],[/(lenovo)\\s?(S(?:5000|6000)+(?:[-][\\w+]))/i],[VENDOR,MODEL,[TYPE,TABLET]],[/(htc)[;_\\s-]+([\\w\\s]+(?=\\))|\\w+)*/i,/(zte)-(\\w*)/i,/(alcatel|geeksphone|lenovo|nexian|panasonic|(?=;\\s)sony)[_\\s-]?([\\w-]*)/i],[VENDOR,[MODEL,/_/g,\" \"],[TYPE,MOBILE]],[/(nexus\\s9)/i],[MODEL,[VENDOR,\"HTC\"],[TYPE,TABLET]],[/d\\/huawei([\\w\\s-]+)[;\\)]/i,/(nexus\\s6p)/i],[MODEL,[VENDOR,\"Huawei\"],[TYPE,MOBILE]],[/(microsoft);\\s(lumia[\\s\\w]+)/i],[VENDOR,MODEL,[TYPE,MOBILE]],[/[\\s\\(;](xbox(?:\\sone)?)[\\s\\);]/i],[MODEL,[VENDOR,\"Microsoft\"],[TYPE,CONSOLE]],[/(kin\\.[onetw]{3})/i],[[MODEL,/\\./g,\" \"],[VENDOR,\"Microsoft\"],[TYPE,MOBILE]],[/\\s(milestone|droid(?:[2-4x]|\\s(?:bionic|x2|pro|razr))?:?(\\s4g)?)[\\w\\s]+build\\//i,/mot[\\s-]?(\\w*)/i,/(XT\\d{3,4}) build\\//i,/(nexus\\s6)/i],[MODEL,[VENDOR,\"Motorola\"],[TYPE,MOBILE]],[/android.+\\s(mz60\\d|xoom[\\s2]{0,2})\\sbuild\\//i],[MODEL,[VENDOR,\"Motorola\"],[TYPE,TABLET]],[/hbbtv\\/\\d+\\.\\d+\\.\\d+\\s+\\([\\w\\s]*;\\s*(\\w[^;]*);([^;]*)/i],[[VENDOR,util.trim],[MODEL,util.trim],[TYPE,SMARTTV]],[/hbbtv.+maple;(\\d+)/i],[[MODEL,/^/,\"SmartTV\"],[VENDOR,\"Samsung\"],[TYPE,SMARTTV]],[/\\(dtv[\\);].+(aquos)/i],[MODEL,[VENDOR,\"Sharp\"],[TYPE,SMARTTV]],[/android.+((sch-i[89]0\\d|shw-m380s|gt-p\\d{4}|gt-n\\d+|sgh-t8[56]9|nexus 10))/i,/((SM-T\\w+))/i],[[VENDOR,\"Samsung\"],MODEL,[TYPE,TABLET]],[/smart-tv.+(samsung)/i],[VENDOR,[TYPE,SMARTTV],MODEL],[/((s[cgp]h-\\w+|gt-\\w+|galaxy\\snexus|sm-\\w[\\w\\d]+))/i,/(sam[sung]*)[\\s-]*(\\w+-?[\\w-]*)/i,/sec-((sgh\\w+))/i],[[VENDOR,\"Samsung\"],MODEL,[TYPE,MOBILE]],[/sie-(\\w*)/i],[MODEL,[VENDOR,\"Siemens\"],[TYPE,MOBILE]],[/(maemo|nokia).*(n900|lumia\\s\\d+)/i,/(nokia)[\\s_-]?([\\w-]*)/i],[[VENDOR,\"Nokia\"],MODEL,[TYPE,MOBILE]],[/android\\s3\\.[\\s\\w;-]{10}(a\\d{3})/i],[MODEL,[VENDOR,\"Acer\"],[TYPE,TABLET]],[/android.+([vl]k\\-?\\d{3})\\s+build/i],[MODEL,[VENDOR,\"LG\"],[TYPE,TABLET]],[/android\\s3\\.[\\s\\w;-]{10}(lg?)-([06cv9]{3,4})/i],[[VENDOR,\"LG\"],MODEL,[TYPE,TABLET]],[/(lg) netcast\\.tv/i],[VENDOR,MODEL,[TYPE,SMARTTV]],[/(nexus\\s[45])/i,/lg[e;\\s\\/-]+(\\w*)/i,/android.+lg(\\-?[\\d\\w]+)\\s+build/i],[MODEL,[VENDOR,\"LG\"],[TYPE,MOBILE]],[/android.+(ideatab[a-z0-9\\-\\s]+)/i],[MODEL,[VENDOR,\"Lenovo\"],[TYPE,TABLET]],[/linux;.+((jolla));/i],[VENDOR,MODEL,[TYPE,MOBILE]],[/((pebble))app\\/[\\d\\.]+\\s/i],[VENDOR,MODEL,[TYPE,WEARABLE]],[/android.+;\\s(oppo)\\s?([\\w\\s]+)\\sbuild/i],[VENDOR,MODEL,[TYPE,MOBILE]],[/crkey/i],[[MODEL,\"Chromecast\"],[VENDOR,\"Google\"]],[/android.+;\\s(glass)\\s\\d/i],[MODEL,[VENDOR,\"Google\"],[TYPE,WEARABLE]],[/android.+;\\s(pixel c)\\s/i],[MODEL,[VENDOR,\"Google\"],[TYPE,TABLET]],[/android.+;\\s(pixel xl|pixel)\\s/i],[MODEL,[VENDOR,\"Google\"],[TYPE,MOBILE]],[/android.+;\\s(\\w+)\\s+build\\/hm\\1/i,/android.+(hm[\\s\\-_]*note?[\\s_]*(?:\\d\\w)?)\\s+build/i,/android.+(mi[\\s\\-_]*(?:one|one[\\s_]plus|note lte)?[\\s_]*(?:\\d?\\w?)[\\s_]*(?:plus)?)\\s+build/i,/android.+(redmi[\\s\\-_]*(?:note)?(?:[\\s_]*[\\w\\s]+))\\s+build/i],[[MODEL,/_/g,\" \"],[VENDOR,\"Xiaomi\"],[TYPE,MOBILE]],[/android.+(mi[\\s\\-_]*(?:pad)(?:[\\s_]*[\\w\\s]+))\\s+build/i],[[MODEL,/_/g,\" \"],[VENDOR,\"Xiaomi\"],[TYPE,TABLET]],[/android.+;\\s(m[1-5]\\snote)\\sbuild/i],[MODEL,[VENDOR,\"Meizu\"],[TYPE,TABLET]],[/android.+a000(1)\\s+build/i,/android.+oneplus\\s(a\\d{4})\\s+build/i],[MODEL,[VENDOR,\"OnePlus\"],[TYPE,MOBILE]],[/android.+[;\\/]\\s*(RCT[\\d\\w]+)\\s+build/i],[MODEL,[VENDOR,\"RCA\"],[TYPE,TABLET]],[/android.+[;\\/\\s]+(Venue[\\d\\s]{2,7})\\s+build/i],[MODEL,[VENDOR,\"Dell\"],[TYPE,TABLET]],[/android.+[;\\/]\\s*(Q[T|M][\\d\\w]+)\\s+build/i],[MODEL,[VENDOR,\"Verizon\"],[TYPE,TABLET]],[/android.+[;\\/]\\s+(Barnes[&\\s]+Noble\\s+|BN[RT])(V?.*)\\s+build/i],[[VENDOR,\"Barnes & Noble\"],MODEL,[TYPE,TABLET]],[/android.+[;\\/]\\s+(TM\\d{3}.*\\b)\\s+build/i],[MODEL,[VENDOR,\"NuVision\"],[TYPE,TABLET]],[/android.+;\\s(k88)\\sbuild/i],[MODEL,[VENDOR,\"ZTE\"],[TYPE,TABLET]],[/android.+[;\\/]\\s*(gen\\d{3})\\s+build.*49h/i],[MODEL,[VENDOR,\"Swiss\"],[TYPE,MOBILE]],[/android.+[;\\/]\\s*(zur\\d{3})\\s+build/i],[MODEL,[VENDOR,\"Swiss\"],[TYPE,TABLET]],[/android.+[;\\/]\\s*((Zeki)?TB.*\\b)\\s+build/i],[MODEL,[VENDOR,\"Zeki\"],[TYPE,TABLET]],[/(android).+[;\\/]\\s+([YR]\\d{2})\\s+build/i,/android.+[;\\/]\\s+(Dragon[\\-\\s]+Touch\\s+|DT)(\\w{5})\\sbuild/i],[[VENDOR,\"Dragon Touch\"],MODEL,[TYPE,TABLET]],[/android.+[;\\/]\\s*(NS-?\\w{0,9})\\sbuild/i],[MODEL,[VENDOR,\"Insignia\"],[TYPE,TABLET]],[/android.+[;\\/]\\s*((NX|Next)-?\\w{0,9})\\s+build/i],[MODEL,[VENDOR,\"NextBook\"],[TYPE,TABLET]],[/android.+[;\\/]\\s*(Xtreme\\_)?(V(1[045]|2[015]|30|40|60|7[05]|90))\\s+build/i],[[VENDOR,\"Voice\"],MODEL,[TYPE,MOBILE]],[/android.+[;\\/]\\s*(LVTEL\\-)?(V1[12])\\s+build/i],[[VENDOR,\"LvTel\"],MODEL,[TYPE,MOBILE]],[/android.+[;\\/]\\s*(V(100MD|700NA|7011|917G).*\\b)\\s+build/i],[MODEL,[VENDOR,\"Envizen\"],[TYPE,TABLET]],[/android.+[;\\/]\\s*(Le[\\s\\-]+Pan)[\\s\\-]+(\\w{1,9})\\s+build/i],[VENDOR,MODEL,[TYPE,TABLET]],[/android.+[;\\/]\\s*(Trio[\\s\\-]*.*)\\s+build/i],[MODEL,[VENDOR,\"MachSpeed\"],[TYPE,TABLET]],[/android.+[;\\/]\\s*(Trinity)[\\-\\s]*(T\\d{3})\\s+build/i],[VENDOR,MODEL,[TYPE,TABLET]],[/android.+[;\\/]\\s*TU_(1491)\\s+build/i],[MODEL,[VENDOR,\"Rotor\"],[TYPE,TABLET]],[/android.+(KS(.+))\\s+build/i],[MODEL,[VENDOR,\"Amazon\"],[TYPE,TABLET]],[/android.+(Gigaset)[\\s\\-]+(Q\\w{1,9})\\s+build/i],[VENDOR,MODEL,[TYPE,TABLET]],[/\\s(tablet|tab)[;\\/]/i,/\\s(mobile)(?:[;\\/]|\\ssafari)/i],[[TYPE,util.lowerize],VENDOR,MODEL],[/(android[\\w\\.\\s\\-]{0,9});.+build/i],[MODEL,[VENDOR,\"Generic\"]]],engine:[[/windows.+\\sedge\\/([\\w\\.]+)/i],[VERSION,[NAME,\"EdgeHTML\"]],[/(presto)\\/([\\w\\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m)\\/([\\w\\.]+)/i,/(khtml|tasman|links)[\\/\\s]\\(?([\\w\\.]+)/i,/(icab)[\\/\\s]([23]\\.[\\d\\.]+)/i],[NAME,VERSION],[/rv\\:([\\w\\.]{1,9}).+(gecko)/i],[VERSION,NAME]],os:[[/microsoft\\s(windows)\\s(vista|xp)/i],[NAME,VERSION],[/(windows)\\snt\\s6\\.2;\\s(arm)/i,/(windows\\sphone(?:\\sos)*)[\\s\\/]?([\\d\\.\\s\\w]*)/i,/(windows\\smobile|windows)[\\s\\/]?([ntce\\d\\.\\s]+\\w)/i],[NAME,[VERSION,mapper.str,maps.os.windows.version]],[/(win(?=3|9|n)|win\\s9x\\s)([nt\\d\\.]+)/i],[[NAME,\"Windows\"],[VERSION,mapper.str,maps.os.windows.version]],[/\\((bb)(10);/i],[[NAME,\"BlackBerry\"],VERSION],[/(blackberry)\\w*\\/?([\\w\\.]*)/i,/(tizen)[\\/\\s]([\\w\\.]+)/i,/(android|webos|palm\\sos|qnx|bada|rim\\stablet\\sos|meego|contiki)[\\/\\s-]?([\\w\\.]*)/i,/linux;.+(sailfish);/i],[NAME,VERSION],[/(symbian\\s?os|symbos|s60(?=;))[\\/\\s-]?([\\w\\.]*)/i],[[NAME,\"Symbian\"],VERSION],[/\\((series40);/i],[NAME],[/mozilla.+\\(mobile;.+gecko.+firefox/i],[[NAME,\"Firefox OS\"],VERSION],[/(nintendo|playstation)\\s([wids34portablevu]+)/i,/(mint)[\\/\\s\\(]?(\\w*)/i,/(mageia|vectorlinux)[;\\s]/i,/(joli|[kxln]?ubuntu|debian|suse|opensuse|gentoo|(?=\\s)arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk|linpus)[\\/\\s-]?(?!chrom)([\\w\\.-]*)/i,/(hurd|linux)\\s?([\\w\\.]*)/i,/(gnu)\\s?([\\w\\.]*)/i],[NAME,VERSION],[/(cros)\\s[\\w]+\\s([\\w\\.]+\\w)/i],[[NAME,\"Chromium OS\"],VERSION],[/(sunos)\\s?([\\w\\.\\d]*)/i],[[NAME,\"Solaris\"],VERSION],[/\\s([frentopc-]{0,4}bsd|dragonfly)\\s?([\\w\\.]*)/i],[NAME,VERSION],[/(haiku)\\s(\\w+)/i],[NAME,VERSION],[/cfnetwork\\/.+darwin/i,/ip[honead]{2,4}(?:.*os\\s([\\w]+)\\slike\\smac|;\\sopera)/i],[[VERSION,/_/g,\".\"],[NAME,\"iOS\"]],[/(mac\\sos\\sx)\\s?([\\w\\s\\.]*)/i,/(macintosh|mac(?=_powerpc)\\s)/i],[[NAME,\"Mac OS\"],[VERSION,/_/g,\".\"]],[/((?:open)?solaris)[\\/\\s-]?([\\w\\.]*)/i,/(aix)\\s((\\d)(?=\\.|\\)|\\s)[\\w\\.])*/i,/(plan\\s9|minix|beos|os\\/2|amigaos|morphos|risc\\sos|openvms)/i,/(unix)\\s?([\\w\\.]*)/i],[NAME,VERSION]]};var UAParser=function(uastring,extensions){if(typeof uastring===\"object\"){extensions=uastring;uastring=undefined}if(!(this instanceof UAParser)){return new UAParser(uastring,extensions).getResult()}var ua=uastring||(window&&window.navigator&&window.navigator.userAgent?window.navigator.userAgent:EMPTY);var rgxmap=extensions?util.extend(regexes,extensions):regexes;this.getBrowser=function(){var browser={name:undefined,version:undefined};mapper.rgx.call(browser,ua,rgxmap.browser);browser.major=util.major(browser.version);return browser};this.getCPU=function(){var cpu={architecture:undefined};mapper.rgx.call(cpu,ua,rgxmap.cpu);return cpu};this.getDevice=function(){var device={vendor:undefined,model:undefined,type:undefined};mapper.rgx.call(device,ua,rgxmap.device);return device};this.getEngine=function(){var engine={name:undefined,version:undefined};mapper.rgx.call(engine,ua,rgxmap.engine);return engine};this.getOS=function(){var os={name:undefined,version:undefined};mapper.rgx.call(os,ua,rgxmap.os);return os};this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}};this.getUA=function(){return ua};this.setUA=function(uastring){ua=uastring;return this};return this};UAParser.VERSION=LIBVERSION;UAParser.BROWSER={NAME:NAME,MAJOR:MAJOR,VERSION:VERSION};UAParser.CPU={ARCHITECTURE:ARCHITECTURE};UAParser.DEVICE={MODEL:MODEL,VENDOR:VENDOR,TYPE:TYPE,CONSOLE:CONSOLE,MOBILE:MOBILE,SMARTTV:SMARTTV,TABLET:TABLET,WEARABLE:WEARABLE,EMBEDDED:EMBEDDED};UAParser.ENGINE={NAME:NAME,VERSION:VERSION};UAParser.OS={NAME:NAME,VERSION:VERSION};if(typeof exports!==UNDEF_TYPE){if(typeof module!==UNDEF_TYPE&&module.exports){exports=module.exports=UAParser}exports.UAParser=UAParser}else{if(\"function\"===FUNC_TYPE&&__webpack_require__(3)){!(__WEBPACK_AMD_DEFINE_RESULT__ = (function(){return UAParser}).call(exports, __webpack_require__, exports, module),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))}else if(window){window.UAParser=UAParser}}var $=window&&(window.jQuery||window.Zepto);if(typeof $!==UNDEF_TYPE){var parser=new UAParser;$.ua=parser.getResult();$.ua.get=function(){return parser.getUA()};$.ua.set=function(uastring){parser.setUA(uastring);var result=parser.getResult();for(var prop in result){$.ua[prop]=result[prop]}}}})(typeof window===\"object\"?window:this);\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n/* WEBPACK VAR INJECTION */(function(__webpack_amd_options__) {/* globals __webpack_amd_options__ */\r\nmodule.exports = __webpack_amd_options__;\r\n\n/* WEBPACK VAR INJECTION */}.call(exports, {}))\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _require = __webpack_require__(0),\n DEVICE_TYPES = _require.DEVICE_TYPES,\n defaultData = _require.defaultData;\n\nvar checkType = function checkType(type) {\n switch (type) {\n case DEVICE_TYPES.MOBILE:\n return { isMobile: true };\n case DEVICE_TYPES.TABLET:\n return { isTablet: true };\n case DEVICE_TYPES.SMART_TV:\n return { isSmartTV: true };\n case DEVICE_TYPES.CONSOLE:\n return { isConsole: true };\n case DEVICE_TYPES.WEARABLE:\n return { isWearable: true };\n case DEVICE_TYPES.BROWSER:\n return { isBrowser: true };\n default:\n return defaultData;\n }\n};\n\nvar broPayload = function broPayload(isBrowser, browser, engine, os, ua) {\n return {\n isBrowser: isBrowser,\n browserMajorVersion: browser.major,\n browserFullVersion: browser.version,\n browserName: browser.name,\n engineName: engine.name || false,\n engineVersion: engine.version,\n osName: os.name,\n osVersion: os.version,\n userAgent: ua\n };\n};\n\nvar mobilePayload = function mobilePayload(type, device, os, ua) {\n return _extends({}, type, {\n vendor: device.vendor,\n model: device.model,\n os: os.name,\n osVersion: os.version,\n ua: ua\n });\n};\n\nvar stvPayload = function stvPayload(isSmartTV, engine, os, ua) {\n return {\n isSmartTV: isSmartTV,\n engineName: engine.name,\n engineVersion: engine.version,\n osName: os.name,\n osVersion: os.version,\n userAgent: ua\n };\n};\n\nvar consolePayload = function consolePayload(isConsole, engine, os, ua) {\n return {\n isConsole: isConsole,\n engineName: engine.name,\n engineVersion: engine.version,\n osName: os.name,\n osVersion: os.version,\n userAgent: ua\n };\n};\n\nvar wearPayload = function wearPayload(isWearable, engine, os, ua) {\n return {\n isWearable: isWearable,\n engineName: engine.name,\n engineVersion: engine.version,\n osName: os.name,\n osVersion: os.version,\n userAgent: ua\n };\n};\n\nvar getNavigatorInstance = exports.getNavigatorInstance = function getNavigatorInstance() {\n if (typeof window !== 'undefined') {\n if (window.navigator || navigator) {\n return window.navigator || navigator;\n }\n }\n\n return false;\n};\n\nvar isIOS13Check = exports.isIOS13Check = function isIOS13Check(type) {\n var nav = getNavigatorInstance();\n return nav && nav.platform && (nav.platform.indexOf(type) !== -1 || nav.platform === 'MacIntel' && nav.maxTouchPoints > 1 && !window.MSStream);\n};\n\nmodule.exports = {\n checkType: checkType,\n broPayload: broPayload,\n mobilePayload: mobilePayload,\n stvPayload: stvPayload,\n consolePayload: consolePayload,\n wearPayload: wearPayload,\n getNavigatorInstance: getNavigatorInstance,\n isIOS13Check: isIOS13Check\n};\n\n/***/ })\n/******/ ]);","import Cookies from \"js-cookie\";\nimport deviceInfo from \"mobile-device-detect\";\n\nlet ready = false;\n\nconst settings = window.beamr || {};\nconst supportedFiles = [\"image/jpeg\"];\nconst optimisationErrors = [\n \"JMU_ERR_OPTIMIZE_ERROR\",\n \"JMU_ERR_HIGHLY_COMPRESSED\",\n \"JMU_ERR_ALREADY_JM_OPTIMIZED\",\n \"JMU_ERR_FILE_FORMAT_INVALID\",\n \"JMU_ERR_MEMORY_ALLOCATION\"\n];\n\nif (settings.key) {\n const beamrLibrary = document.createElement('script');\n\n beamrLibrary.src =\n '/javascripts/libs/beamr/jpegmini_uploader512MB_1.3.5.201702743.js';\n document.body.appendChild(beamrLibrary);\n\n beamrLibrary.onload = () => {\n ready = true;\n };\n}\n\nconst beamrAbTestingGroup = () => {\n return settings.abTestingGroup || \"disabled\";\n};\n\nconst disableBeamr = () => Cookies.set('beamrFailure', 'true', { expires: 1 });\n\nconst uploadViaBeamr = () => {\n if (!settings.key) {\n return false;\n }\n\n if (Cookies.get('beamrFailure') === 'true') {\n return false;\n }\n\n function configuratorMatrixPredicate(matrix) {\n // matrix is of the form\n // {\"device\":\"isBrowser\",\"browser\":\"isSafari\"}\n // or\n // {\"device\":\"isMobileOnly\",\"operatingSystem\":\"isAndroid\"}\n // All keys are optional. It might contain none!, all, or some mix of values.\n // Filter down the present keys first and then test for their validity in the current browser\n\n return ['browser', 'device', 'operatingSystem']\n .filter(key => matrix[key])\n .every(key => {\n const attribute = matrix[key];\n return deviceInfo[attribute];\n });\n }\n\n return (settings.configuratorMatrix || []).some(configuratorMatrixPredicate);\n};\n\nconst suitableBeamrFile = file =>\n file.service === 'upload' &&\n supportedFiles.includes(file.type) &&\n !file.beamrFailed;\n\nconst removeHTTP = url => {\n if (url[0] === '/') {\n return url;\n }\n\n let result = '';\n let count = 0;\n const threshold = url.indexOf('http') < 0 ? 0 : 2;\n\n [...url].forEach(character => {\n character === '/' && count++;\n\n if (count > threshold) {\n result += character;\n }\n });\n\n return result;\n};\n\nfunction setURL(uploadURL) {\n const path = removeHTTP(uploadURL);\n return `${window.location.protocol}//${window.location.host}${path}`;\n}\n\nfunction logEvent(event, message) {\n console.debug(\n `name:${event.file && event.file.name}`,\n `id:${event.file &&\n event.file.jmu_user_data &&\n event.file.jmu_user_data.beamrId}`,\n message,\n `type:${event.type_str}`,\n `error:${event.error_str}`,\n '\\n',\n `time:${event.elapsed_time_ms || '?'}ms`,\n 'times:',\n event.file &&\n event.file.jmu_user_data &&\n event.file.jmu_user_data.uploadTimings,\n '\\n',\n 'summary:',\n event.summary\n );\n}\n\nfunction handleBeamrEvent(event, uploadResponse, callBack) {\n logEvent(event, 'Beamr event received');\n if (!event) {\n return;\n }\n\n if (typeof callBack !== 'function') {\n callBack = () => {};\n }\n\n const compressionStageSucceeded =\n event.type_str === 'JMU_RESULT_FILE_OPTIMIZE_OK';\n const compressionStageFailed =\n event.error_code !== 0 && !optimisationErrors.includes(event.type_str);\n const attemptSuccessful = event.type_str === 'JMU_RESULT_FILE_UPLOAD_OK';\n const attemptFailed = event.error_code === 'JMU_ERR_UPLOAD_ERROR';\n const attemptCompleted =\n event.type_str === 'JMU_RESULT_FILE_PROCESS_COMPLETE';\n\n const attemptStarted = event.type_str === 'JMU_RESULT_FILE_SUBMIT_OK';\n if (attemptStarted) {\n logEvent(event, 'Image compression started');\n }\n\n if (compressionStageFailed) {\n event.file.jmu_user_data.uploadTimings.compressed();\n return callBack(false, uploadResponse, event);\n }\n\n if (compressionStageSucceeded) {\n event.file.jmu_user_data.uploadTimings.compressed();\n logEvent(event, 'Image compressed successfully!');\n return;\n }\n\n if (attemptSuccessful) {\n logEvent(event, 'Beamr upload successful');\n event.file.jmu_user_data.uploadTimings.uploaded();\n event.file.jmu_user_data.uploadResponse = uploadResponse;\n }\n\n if (attemptFailed) {\n logEvent(event, 'Beamr upload failed (file process complete)');\n return callBack(false, uploadResponse, event);\n }\n\n if (attemptCompleted) {\n logEvent(event, 'Beamr attempt successful');\n event.file.jmu_user_data.uploadAnalytics.setFileSizes(\n event.summary.optimization.original_size,\n event.summary.optimization.optimized_size\n );\n return callBack(true, event.file.jmu_user_data.uploadResponse, event);\n }\n}\n\nfunction shouldDisableBeamr(files, beamrAttempts) {\n return (\n files.length > 2 &&\n (Object.keys(beamrAttempts).length / files.length) * 100 > 65\n );\n}\n\nfunction config(uploadURL, file, extraStuff, callBack) {\n return {\n debug: !!window.debugBeamr,\n license_key: settings.key,\n upload_url: setURL(uploadURL),\n custom_headers: {\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-CSRF-Token': (() => {\n const csrfToken = document.head.querySelector(\"[name='csrf-token']\");\n return csrfToken && csrfToken.content;\n })(),\n },\n upload_type: 0,\n custom_form_fields: { source: file.service, album: extraStuff.album },\n error_policy: {\n upload_originals_on_optimisation_error: false,\n pause_on_upload_error: false,\n upload_originals_on_allocation_error: false,\n pause_on_allocation_error: false,\n },\n result_callback: (_error, result) => {\n let response = '';\n if (result.type_str === 'JMU_RESULT_FILE_UPLOAD_OK') {\n response = JSON.parse(result.http_response.body);\n }\n\n // callBack is GenericPaginatedUploadMixin#onBeamrDone(didWork[bool], data[Object], event[Object])\n handleBeamrEvent(result, response, callBack);\n },\n };\n}\n\nfunction configure(conf) {\n if (ready) {\n return JMUploader.configure(conf);\n }\n}\n\n// callBack is GenericPaginatedUploadMixin#successOrFailure(didWork[bool], data[Object])\nfunction uploadCompressed(uploadURL, file, additionalData, callBack) {\n if (configure(config(uploadURL, file, additionalData, callBack)) === 0) {\n JMUploader.start();\n }\n\n file.jmu_user_data = {\n attempts: file.attempts,\n beamrId: file.beamrId,\n uploadTimings: file.uploadTimings,\n uploadAnalytics: file.uploadAnalytics,\n };\n console.debug('Submitting file to Beamr:', file.name, file.beamrId, file);\n JMUploader.submit_files([file]);\n}\n\nexport {\n uploadViaBeamr,\n suitableBeamrFile,\n shouldDisableBeamr,\n disableBeamr,\n uploadCompressed,\n beamrAbTestingGroup\n};\n","import { observableEvent } from '../_utils/observable-event';\nimport { GoogleAnalytics } from '../_libs/analytics/google-analytics';\n\nexport default class UploadAnalytics {\n static eventTypes(uploadAnalyticsArray) {\n const uploadRaw = 0,\n uploadBeamr = 1,\n uploadFellback = -1,\n // the values of the above don't matter, it's just for the input and output to be comparable\n uploads = uploadAnalyticsArray.map(a =>\n a.eventType(uploadRaw, uploadBeamr, uploadFellback)\n ),\n tally = uploads.reduce(\n (tally, event) => {\n if (event == uploadRaw) {\n tally['raw']++;\n }\n if (event == uploadBeamr) {\n tally['beamr']++;\n }\n if (event == uploadFellback) {\n tally['fellback']++;\n tally['raw']++;\n }\n\n return tally;\n },\n {\n raw: 0,\n beamr: 0,\n fellback: 0,\n }\n );\n\n if (tally.fellback > 0) {\n return `failover beamr: ${tally.beamr} raw: ${tally.raw}`;\n } else if (tally.beamr > 0) {\n return 'beamr';\n } else {\n return 'raw';\n }\n }\n\n constructor({\n fileName = null,\n uploadTransactionId = null,\n uploadTimings = {},\n fileUploadSource,\n beamrAbTestingGroup,\n }) {\n this._transactionId = uploadTransactionId;\n this._timings = uploadTimings;\n\n this._fileName = fileName;\n this.fileUploadSource = fileUploadSource;\n this._fileData = {\n originalSize: null,\n compressedSize: null,\n };\n\n this._googleAnalytics = new GoogleAnalytics();\n this.beamrAbTestingGroup = beamrAbTestingGroup;\n }\n\n eventType(raw = 'raw', beamr = 'beamr', fallback = 'fallback-to-raw') {\n return this.uploadFellOver()\n ? fallback\n : this.uploadedViaBeamr()\n ? beamr\n : raw;\n }\n\n setFileSizes(originalSize = null, compressedSize = null) {\n let changed = false;\n\n if (typeof originalSize !== null) {\n this._fileData.originalSize = originalSize;\n changed = true;\n }\n\n if (typeof compressedSize !== null) {\n this._fileData.compressedSize = compressedSize;\n changed = true;\n }\n\n return changed;\n }\n\n sendObservability() {\n observableEvent.record('photo-upload-beamr-success', {\n compr_elapsed_time_ms: this._timings.compressionDuration(),\n total_elapsed_time_ms: this._timings.completeDuration(),\n original_size: this._fileData.originalSize,\n optimized_size: this._fileData.compressedSize,\n upload_source: this.eventType(),\n num_threads: window.navigator.hardwareConcurrency,\n });\n }\n\n sendToGoogleAnalytics() {\n if (!this._googleAnalytics.analyticsEnabled()) {\n return undefined;\n }\n\n const beamrUploadSource = this.eventType('raw', 'beamr', 'beamr');\n\n console.debug(this._fileName, 'Sending to Google Analytics:', {\n transaction_id: this._transactionId,\n beamr_upload_source: beamrUploadSource,\n file_upload_source: this.fileUploadSource,\n compression_duration: this._timings.compressionDuration() || 0,\n complete_duration: this._timings.completeDuration(),\n original_size: this._fileData.originalSize,\n compressed_size:\n this._fileData.compressedSize || this._fileData.originalSize,\n beamr_ab_testing_group: this.beamrAbTestingGroup || 'disabled',\n });\n\n this._googleAnalytics.sendEvent('Print-Upload', {\n transaction_id: this._transactionId,\n beamr_upload_source: beamrUploadSource,\n file_upload_source: this.fileUploadSource,\n compression_duration: this._timings.compressionDuration() || 0,\n complete_duration: this._timings.completeDuration(),\n original_size: this._fileData.originalSize,\n compressed_size:\n this._fileData.compressedSize || this._fileData.originalSize,\n beamr_ab_testing_group: this.beamrAbTestingGroup || 'disabled',\n });\n\n return true;\n }\n\n // private\n\n uploadedViaBeamr() {\n return !!this._timings.compression;\n }\n\n uploadFellOver() {\n return !!this._timings.fallback;\n }\n}\n","export class UploadTimings {\n //\n // Things used by the UploadAnalytics to determine what happened\n //\n\n get compression() {\n return this._compression;\n }\n\n compressionDuration() {\n if(!this._compression) { return null; }\n\n const previousEventTime = this._start;\n\n return this._compression - previousEventTime;\n }\n\n get fallback() {\n return this._fallback;\n }\n\n completeDuration() {\n const previousEventTime = this._fallback || this._start;\n\n return this._complete - previousEventTime;\n }\n\n //\n // Things used by the uploader, so we can later examine the process\n //\n\n started() {\n return this._start = this.now();\n }\n\n compressed() {\n return this._compression = this.now();\n }\n\n fellBack() {\n return this._fallback = this.now();\n }\n\n uploaded() {\n return this._upload = this.now();\n }\n\n completed(callBack) {\n this._complete = this.now();\n\n typeof callBack == 'function' && callBack(this);\n\n return this._complete;\n }\n\n reset() {\n this._start = null;\n this._compression = null;\n this._fallback = null;\n this._upload = null;\n this._complete = null; \n }\n\n //\n // private\n //\n\n _start = null; // process begun\n _compression = null; // optionally, compressed the image data (Beamr)\n _fallback = null; // optionally, compression failed (Beamr)\n _upload = null; // pushed the image to the storage endpoint (Slingshot)\n _complete = null; // all subsequent work, e.g. analytics, done\n\n now() {\n return Date.now();\n }\n}\n\nexport default UploadTimings;\n","\n// Import JS Modules\nimport { builderDispatch, WebUI } from '../../_utils/ui';\n\nconst showLoginOverlay = (() => {\n let deferreds = [];\n\n builderDispatch.register((payload) => {\n switch (payload.type) {\n case WebUI.LOGIN:\n deferreds.forEach((deferred) => {\n deferred.resolve();\n });\n deferreds = [];\n break;\n }\n });\n\n return function () {\n const showLoginEvent = new Event('showLogin');\n window.dispatchEvent(showLoginEvent);\n\n const deferred = new Promise((resolve) => {\n deferreds.push({ resolve });\n });\n\n return deferred;\n };\n})();\n\nexport default showLoginOverlay;\n","/* jshint esversion: 6 */\nimport Q from 'q';\nimport { map as Qmap } from 'q-map-throttle';\nimport {\n uploadViaBeamr,\n suitableBeamrFile,\n shouldDisableBeamr,\n disableBeamr,\n uploadCompressed,\n beamrAbTestingGroup,\n} from '../beamr/beamr';\nimport UploadAnalytics from '../upload-analytics';\nimport UploadTimings from '../upload-timings';\n\nimport showLoginOverlay from '../utils/show-login-overlay';\n\nQ.map = Qmap;\n\nconst GenericPaginatedUploadMixin = {\n defaultWindowSize: 6,\n defaultRetryAttempts: 5,\n\n getInitialState() {\n return {\n uploadPaused: false,\n };\n },\n UNSAFE_componentWillMount() {\n this.uploadPaused = null;\n },\n\n performUpload(\n uploadUrl = this.params && this.params.uploadUrl,\n additionalData = this.params && this.params.additionalData,\n onUploaded = this.params && this.params.onUploaded,\n onUploadError = this.params && this.params.onUploadError\n ) {\n // remember the latest params so that restart will work\n this.params || (this.params = {});\n this.params.uploadUrl = uploadUrl;\n this.params.additionalData = additionalData;\n this.params.onUploaded = onUploaded;\n this.params.onUploadError = onUploadError;\n\n const uploadTransactionId = generateId('fup');\n const beamrAttempts = {};\n\n // break up array of photos into Windows\n // so as not to swamp the server\n const component = this;\n const windowSize = this.windowSize || this.defaultWindowSize;\n const retryAttempts = this.retryAttempts || this.defaultRetryAttempts;\n const files = component.filesSelected().filter(file => !file.uploaded);\n const fileUploadSource =\n additionalData?.uploadSource || component.props.service;\n\n files.forEach(f => {\n f.attempts = 0;\n f.beamrId = generateId('f');\n f.beamrFailed = false;\n f.uploadTimings = new UploadTimings();\n f.uploadAnalytics = new UploadAnalytics({\n fileName: f.name,\n uploadTransactionId,\n uploadTimings: f.uploadTimings,\n fileUploadSource,\n beamrAbTestingGroup: beamrAbTestingGroup(),\n });\n f.uploadAnalytics.setFileSizes(f.size);\n });\n\n Q.map(files, sendFile, windowSize);\n\n function sendFile(file) {\n const deferred = Q.defer(),\n formData = buildFormData(file, additionalData);\n\n if (component.paused()) {\n deferred.reject();\n return deferred.promise;\n }\n\n _send(file, formData);\n\n return deferred.promise;\n\n function _send(file, data) {\n if (component.paused()) {\n deferred.reject();\n return;\n }\n\n if (file.beamrFailed) {\n file.uploadTimings.fellBack();\n console.debug(\n `name:${file.name} `,\n 'Upload fallback starting...',\n file.uploadTimings\n );\n } else {\n file.uploadTimings.reset();\n file.uploadTimings.started();\n }\n\n if (uploadViaBeamr() && suitableBeamrFile(file)) {\n console.debug(file.name, file.beamrId, 'Uploading file via Beamr');\n uploadCompressed(uploadUrl, file, additionalData, onBeamrDone);\n } else {\n console.debug(file.name, file.beamrId, 'Uploading file via File');\n if (\n typeof component.makesTooManyRequests === 'function' &&\n component.makesTooManyRequests(file.service)\n ) {\n onUploadError(\n `${file.service.charAt(0).toUpperCase() +\n file.service.slice(\n 1\n )} is currently unavailable, please use other service to upload your photos`\n );\n deferred.resolve();\n return;\n }\n\n $.ajax(uploadUrl, {\n data,\n processData: false,\n contentType: false,\n type: 'POST',\n })\n .done((data, _textStatus, _jqXHR) => {\n onDone(data, file);\n })\n .fail((jqXHR, _textStatus, _errorThrown) => {\n onFail(jqXHR, file);\n });\n }\n }\n\n function onBeamrDone(didWork, data, event) {\n console.debug('onBeamrDone', event);\n\n const fileData = event.file.jmu_user_data || {},\n fileId = fileData.beamrId,\n compressedFile = files.find(f => f.beamrId == fileId);\n\n console.debug('onBeamrDone for file:', compressedFile, files);\n\n if (didWork) {\n onDone(data, compressedFile);\n } else {\n onBeamrFail(compressedFile);\n }\n }\n\n function onDone(data, file) {\n const imageData =\n (data?.result || {}).image || (data?.result || {}).images;\n\n file.uploaded = true;\n if (!file.uploadTimings.compression || file.uploadTimings.fallback) {\n file.uploadTimings.uploaded();\n console.debug(\n `name:${file.name} `,\n 'Uploaded without compression.',\n file.uploadTimings\n );\n }\n\n onUploaded(imageData, component.props.service);\n deferred.resolve();\n\n file.uploadTimings.completed(uploadTimings => {\n if (uploadTimings.compression > uploadTimings.upload) {\n console.error(\n '[Beamr Stats] Compression time greater than e2e time:',\n uploadTimings,\n file\n );\n }\n });\n\n file.uploadAnalytics.sendObservability();\n file.uploadAnalytics.sendToGoogleAnalytics();\n\n console.debug(`name:${file.name} `, 'Done!', file.uploadTimings);\n }\n\n function onBeamrFail(file) {\n console.debug(\n `name:${file.name} `,\n 'Beamr failed.',\n file.uploadTimings\n );\n\n if (!file.beamrFailed) {\n file.beamrFailed = true;\n\n if (shouldDisableBeamr(files, beamrAttempts)) {\n disableBeamr();\n }\n\n _send(file, buildFormData(file, additionalData));\n }\n }\n\n function onFail(jqXHR, file) {\n console.debug(\n `name:${file.name} `,\n 'Upload failed.',\n file.uploadTimings\n );\n\n if (jqXHR && (jqXHR.status === 401 || jqXHR.status_code === 401)) {\n // not authorized\n this.pause();\n deferred.resolve();\n\n showLoginOverlay().done(() => {\n component.restart();\n });\n\n return;\n }\n\n if (\n typeof component.reachedErrorLimit === 'function' &&\n component.reachedErrorLimit(file.service)\n ) {\n // cut off retries\n onUploadError();\n deferred.resolve();\n return;\n }\n\n if (typeof component.saveErrors === 'function') {\n component.saveErrors(file.service, jqXHR.status || jqXHR.status_code);\n }\n\n if (file.attempts++ < retryAttempts) {\n _send(file, buildFormData(file, additionalData));\n return;\n }\n\n onUploadError();\n deferred.resolve();\n }\n }\n\n function buildFormData(file, additionalData) {\n const formData = new FormData();\n const {\n uploadSource: uploadSourceOverride,\n ...otherParams\n } = additionalData;\n const uploadSource = uploadSourceOverride || component.props.service;\n\n formData.set('source', uploadSource);\n Object.entries(otherParams).forEach(([key, value]) => {\n formData.append(key, value);\n });\n\n component._buildFormData(formData, file);\n\n return formData;\n }\n\n function generateId(prefix) {\n function s4() {\n return Math.floor((1 + Math.random()) * 0x10000)\n .toString(16)\n .substring(1);\n }\n return `${prefix}${s4()}${s4()}${s4()}${s4()}`;\n }\n },\n\n pause() {\n this.setState({\n uploadPaused: true,\n });\n },\n restart() {\n this.setState(\n {\n uploadPaused: false,\n },\n function() {\n this.performUpload();\n }\n );\n },\n paused() {\n return this.state.uploadPaused;\n },\n};\n\nexport default GenericPaginatedUploadMixin;\n","import { useGenStore } from 'stores/useGenStore';\n\nconst getValidatedTypes = () => {\n const { isSafariPrivate } = useGenStore.getState();\n const isProjectEditPage = window.location.href.includes('project_edit');\n const hasIndexedDbUploader = !!window?.featureFlags?.indexed_db_uploader;\n\n /* NOTE: Change `app/lib/image_processors/mime_validator.rb` to match up with any changes made to ACCEPTED_FILE_TYPES */\n const acceptedFileTypes =\n isProjectEditPage && hasIndexedDbUploader && !isSafariPrivate\n ? ['image/jpeg', 'image/png', 'image/avif', 'image/heif', 'image/heic', 'application/pdf' ]\n : ['image/jpeg', 'image/png'];\n\n const validFileTypes =\n isProjectEditPage && hasIndexedDbUploader && !isSafariPrivate\n ? [\n '.jpg',\n '.jpeg',\n 'image/jpeg',\n 'image/png',\n '.png',\n '.avif',\n 'image/avif',\n '.heif',\n 'image/heif',\n '.heic',\n 'image/heic',\n '.pdf',\n 'application/pdf',\n ]\n : ['.jpg', '.jpeg', 'image/jpeg', 'image/png', '.png'];\n\n return { acceptedFileTypes, validFileTypes };\n};\n\n/**\n * Represents a validator for image upload files.\n */\nclass ImageUploadFileValidator {\n constructor() {}\n\n /**\n * Gets the string representation of accepted file types.\n * @returns {string} The string representation of accepted file types.\n */\n get acceptFileTypeString() {\n const { validFileTypes } = getValidatedTypes();\n\n let fileTypes = validFileTypes;\n return fileTypes;\n }\n\n /**\n * Checks if the given file is an accepted file type.\n * @param {File} file - The file to be checked.\n * @returns {boolean} True if the file is an accepted file type, false otherwise.\n */\n isAcceptedFileType(file) {\n const { acceptedFileTypes } = getValidatedTypes();\n\n return acceptedFileTypes.indexOf(file.type) > -1;\n }\n}\n\nexport default ImageUploadFileValidator;\n","//! moment.js\n//! version : 2.29.4\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m),\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n }),\n isNowValid =\n !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens =\n /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias(unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n return mom.isValid()\n ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()\n : NaN;\n }\n\n function set$1(mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (\n unit === 'FullYear' &&\n isLeapYear(mom.year()) &&\n mom.month() === 1 &&\n mom.date() === 29\n ) {\n value = toInt(value);\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](\n value,\n mom.month(),\n daysInMonth(value, mom.month())\n );\n } else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord =\n /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }\n )\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths =\n 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort =\n 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(\n ['w', 'ww', 'W', 'WW'],\n function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }\n );\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays =\n 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n return name.match('^[^/\\\\\\\\]*$') != null;\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports &&\n isLocaleNameSane(name)\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 =\n /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^()]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex =\n /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(\n ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n }\n );\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n namePieces.push(regexEscape(eras[i].name));\n abbrPieces.push(regexEscape(eras[i].abbr));\n narrowPieces.push(regexEscape(eras[i].narrow));\n\n mixedPieces.push(regexEscape(eras[i].name));\n mixedPieces.push(regexEscape(eras[i].abbr));\n mixedPieces.push(regexEscape(eras[i].narrow));\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(\n ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n }\n );\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1() {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y');\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.29.4';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type=\"datetime-local\" />\n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type=\"datetime-local\" step=\"1\" />\n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type=\"datetime-local\" step=\"0.001\" />\n DATE: 'YYYY-MM-DD', // <input type=\"date\" />\n TIME: 'HH:mm', // <input type=\"time\" />\n TIME_SECONDS: 'HH:mm:ss', // <input type=\"time\" step=\"1\" />\n TIME_MS: 'HH:mm:ss.SSS', // <input type=\"time\" step=\"0.001\" />\n WEEK: 'GGGG-[W]WW', // <input type=\"week\" />\n MONTH: 'YYYY-MM', // <input type=\"month\" />\n };\n\n return hooks;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (United Kingdom) [en-gb]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enGb = moment.defineLocale('en-gb', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enGb;\n\n})));\n","// Few utilities helpers\n\nimport moment from 'moment';\nimport 'moment/locale/en-gb';\n\nconst pluralizer = (size, text) => (\n (size === 1) ? `${size} ${text}` : `${size} ${text}s`\n);\n\nconst localDateFormat = (date) => {\n const locale = window.navigator.userLanguage || window.navigator.language;\n moment.locale(locale.toLowerCase());\n return moment(date).format('L');\n};\n\nexport { pluralizer, localDateFormat };\n"],"names":["e","t","n","r","s","i","o","a","l","u","c","h","d","f","p","y","m","v","g","b","_","w","x","k","E","P","K","O","S","A","C","j","D","I","B","T","R","F","M","N","q","$","U","L","V","W","Y","z","G","H","Q","X","J","Z","ee","te","ne","re","se","ie","oe","ae","ue","le","ce","he","de","fe","pe","ye","me","ve","ge","$e","be","Se","we","_e","xe","ke","Ee","Pe","Ke","dt","Oe","Ae","Ce","je","Te","Be","De","Xe","tt","Fe","Ie","lt","qe","Ue","Re","Le","Ve","Me","Ne","We","Ye","it","ot","nt","Ze","at","ze","Ge","He","Qe","Je","ct","et","ft","rt","st","ut","ht","pt","yt","mt","vt","gt","bt","_t","wt","xt","kt","Et","Pt","Kt","Ot","St","At","Ct","jt","Dt","It","Bt","Tt","Rt","Ft","Mt","Nt","qt","$t","Ut","Lt","Vt","Wt","Yt","zt","Gt","en","Ht","Zt","Qt","Xt","Jt","tn","nn","rn","sn","on","an","un","ln","cn","hn","dn","fn","pn","yn","mn","vn","gn","bn","_n","wn","kn","Pn","Kn","xn","En","On","Sn","Xn","An","Cn","jn","Dn","In","Bn","Tn","Rn","Fn","Mn","Nn","qn","$n","Un","Ln","Vn","Gn","Wn","Yn","zn","Hn","Qn","Jn","Zn","er","tr","nr","rr","sr","ir","nop","promisableChain","f1","f2","res","thiz","args","createUUID","uuid","initOverrideCreateTransaction","db","wakeupObservers","origFunc","mode","storenames","dbschema","parent","addChanges","storeName","trans","rootTransaction","findRootTransaction","initWakeupObservers","Observable","localStorage","lastWrittenRevision","Dexie","CREATE","UPDATE","DELETE","initCreatingHook","table","primKey","obj","rv","change","promise","rev","resultKey","initUpdatingHook","tableName","mods","oldObj","modsWithoutUndefined","anythingChanged","newObj","propPath","mod","currentValue","initDeletingHook","initCrudMonitor","initOnStorage","event","parts","prop","dbname","nodeID","initOverrideOpen","SyncNode","crudMonitor","origOpen","Promise$2","initIntercomm","mySyncNode","requestsWaitingForReply","type","message","destinationNode","options","msg","tables","receiverAlive","masterNode","messageId","resolve","reject","bIncludeSelf","mySyncNodeId","nodes","node","consumeIntercommMessages","messages","consumeMessage","request","result","error","onIntercomm","overrideParseStoresSpec","stores","dbSchema","schema","deleteOldChanges","CHUNK_SIZE","oldestNode","keysToDelete","global","DatabaseChange","override","Promise$1","browserIsShuttingDown","NODE_TIMEOUT","HIBERNATE_GRACE_PERIOD","LOCAL_POLL","HEARTBEAT_INTERVAL","overrideCreateTransaction","overrideOpen","intercomm","pollHandle","heartbeatHandle","origClose","onLatestRevisionIncremented","onSuicide","onBeforeUnload","origDelete","lastChange","latestRevision","mySyncNodeShouldBecomeMaster","existingNode","poll","heartbeat","cleanup","handledRevision","readChanges","recursion","wasPartial","partial","ourSyncNode","LIMIT","changes","ourNodeStillExists","syncNode","currentInstance","weBecameMaster","_mergeNamespaces","copyExifWithoutOrientation","getApp1Segment","UZIP","pushV","UPNG","decodeImage","_getBPP","_decompress","_inflate","_filterZero","_paeth","_IHDR","_copyTile","addErr","dither","_main","compressPNG","compress","_prepareDiff","_updateFrame","quantize","_filterLine","getKDtree","getNearest","planeDst","stats","estats","splitPixels","vecDot","set16","set32","seek","convert","CustomFile","CustomFileReader","getFilefromDataUrl","getDataUrlFromFile","loadImage","getBrowserName","approximateBelowMaximumCanvasSizeOfBrowser","getNewCanvasAndCtx","drawImageInCanvas","isIOS","drawFileInCanvas","$Try_2_Post","$Try_2_Catch","$Try_3_Catch","canvasToFile","$If_4","$If_5","$If_6","cleanupCanvasMemory","isAutoOrientationInBrowser","getExifOrientation","handleMaxWidthOrHeight","followExifOrientation","incProgress","setProgress","$If_2","$Loop_3","$Loop_3_exit","compressOnWebWorker","imageCompression","$Try_1_Catch","module","factory","this","workerString","blob","supportedMIMETypes","utils","reader","dataURI","byteString","mimeString","ab","ia","ref","imageData","toType","quality","canvas","ctx","images","interval","gifHeight","gifWidth","buffer","arr","header","code","headers","index","decodeBuffer","id","heic2any","gifInterval","multiple","otherImageType","imageDataArr","blobs","dataURIs","resultingGif","uploadFileToAPI","upload","compressedBlobAsFile","formData","buildFormData","number_of_files","number_of_errors","response","usePrismItemStore","failedImagesUploaded","file","additionalData","uploadSourceOverride","otherParams","uploadSource","key","value","uploadPendingFileFromIndexedDB","compressImage","compressionOptions","convertedBlob","compressedBlob","_a","builderDispatch","WebUI","FileClearingMixin","FileSelectorMixin","service","definition","hasStacks","qStartingLine","captureLine","qFileName","noop","nextTick","head","tail","flushing","requestTick","isNodeJS","laterQueue","flush","task","domain","runSingle","channel","requestPortTick","call","uncurryThis","array_slice","array_reduce","callback","basis","length","array_indexOf","array_map","thisp","self","collect","undefined","object_create","prototype","Type","object_defineProperty","descriptor","object_hasOwnProperty","object_keys","object","keys","object_toString","isObject","isStopIteration","exception","QReturnValue","STACK_JUMP_SEPARATOR","makeStackTraceLong","stacks","concatedStacks","stack","filterStackString","stackString","lines","desiredLines","line","isInternalFrame","isNodeFrame","stackLine","getFileNameAndLineNumber","attempt1","attempt2","attempt3","fileNameAndLineNumber","fileName","lineNumber","qEndingLine","firstLine","deprecate","name","alternative","Promise","isPromiseAlike","coerce","fulfill","longStackCounter","defer","progressListeners","resolvedPromise","deferred","op","operands","nearerValue","nearer","isPromise","become","newPromise","reason","progress","progressListener","resolver","race","all","that","answerPs","len","fallback","inspect","inspected","fulfilled","rejected","progressed","done","_fulfilled","_rejected","newException","_progressed","newValue","threw","when","isPending","isFulfilled","isRejected","unhandledReasons","unhandledRejections","reportedUnhandledRejections","trackUnhandledRejections","resetUnhandledRejections","trackRejection","untrackRejection","atReport","rejection","rhs","master","dispatch","spread","array","async","makeGenerator","continuer","verb","arg","generator","errback","spawn","_return","promised","promises","pendingCount","snapshot","any","prev","current","onFulfilled","onRejected","onProgress","err","allResolved","allSettled","regardless","onUnhandledError","ms","timeoutId","timeout","nodeArgs","baseArgs","bound","nodeify","nodeback","apply","callArgs","initialParams","hasQueueMicrotask","hasSetImmediate","hasNextTick","wrap","_defer","setImmediate$1","asyncify","func","isAsync","handlePromise","invokeCallback","isAsyncGenerator","isAsyncIterable","wrapAsync","asyncFn","awaitify","arity","awaitable","cbArgs","applyEach","eachfn","fns","cb","_asyncMap","iteratee","results","counter","_iteratee","iterCb","isArrayLike","breakLoop","once","wrapper","callFn","getIterator","coll","createArrayIterator","createES2015Iterator","iterator","item","createObjectIterator","okeys","next","createIterator","onlyOnce","asyncEachOfLimit","limit","canceled","awaiting","running","idx","replenish","iterDone","iterateeCallback","handleError","eachOfLimit","nextElem","looping","elem","eachOfLimit$1","eachOfLimit$2","eachOfArrayLike","completed","iteratorCallback","eachOfGeneric","eachOf","eachOfImplementation","eachOf$1","map","map$1","applyEach$1","eachOfSeries","eachOfSeries$1","mapSeries","mapSeries$1","applyEachSeries","PROMISE_SYMBOL","promiseCallback","rej","auto","tasks","concurrency","numTasks","runningTasks","hasError","listeners","readyTasks","readyToCheck","uncheckedDependencies","enqueueTask","dependencies","remainingDependencies","dependencyName","addListener","checkForDeadlocks","processQueue","runTask","run","taskName","taskListeners","taskComplete","taskCallback","safeResults","rkey","taskFn","currentTask","getDependents","dependent","FN_ARGS","ARROW_FN_ARGS","FN_ARG_SPLIT","FN_ARG","stripComments","string","stripped","endBlockComment","endIndex","parseParams","src","match","autoInject","newTasks","params","fnIsAsync","hasNoDeps","newTask","taskCb","newArgs","DLL","newNode","setInitial","cur","testFn","curr","dll","queue","worker","payload","_worker","numRunning","workersList","events","handler","handleAndRemove","off","ev","trigger","processingScheduled","_insert","data","insertAtFront","rejectOnError","_createCB","_maybeDrain","eventMethod","isProcessing","datum","cargo","cargo$1","reduce","memo","reduce$1","seq","functions","_functions","newargs","nextargs","compose","mapLimit","mapLimit$1","concatLimit","val","mapResults","concatLimit$1","concat","concat$1","concatSeries","concatSeries$1","constant","ignoredArgs","_createTester","check","getResult","testPassed","testResult","detect","bool","detect$1","detectLimit","detectLimit$1","detectSeries","detectSeries$1","consoleFunc","resultArgs","dir","doWhilst","test","_fn","_test","truth","doWhilst$1","doUntil","_withoutIndex","eachLimit","each","eachLimit$1","eachLimit$2","eachSeries","eachSeries$1","ensureAsync","sync","innerArgs","every","every$1","everyLimit","everyLimit$1","everySeries","everySeries$1","filterArray","truthValues","filterGeneric","_filter","filter","filter$1","filterLimit","filterLimit$1","filterSeries","filterSeries$1","forever","forever$1","groupByLimit","hasOwnProperty","groupByLimit$1","groupBy","groupBySeries","log","mapValuesLimit","mapValuesLimit$1","mapValues","mapValuesSeries","memoize","hasher","queues","memoized","_defer$1","parallel","parallel$1","parallelLimit","queue$1","items","Heap","smaller","leftChi","top","priorityQueue","push","pushAsync","priority","createDataItems","race$1","reduceRight","reversed","reflect","reflectCallback","retVal","reflectAll","reject$1","reject$2","rejectLimit","rejectLimit$1","rejectSeries","rejectSeries$1","constant$1","DEFAULT_TIMES","DEFAULT_INTERVAL","retry","opts","parseTimes","_task","attempt","retryAttempt","acc","retryable","series","some","some$1","someLimit","someLimit$1","someSeries","someSeries$1","sortBy","criteria","comparator","left","right","sortBy$1","milliseconds","info","timedOut","timer","timeoutCallback","range","size","timesLimit","count","times","timesSeries","transform","accumulator","tryEach","tryEach$1","unmemoize","whilst","rest","whilst$1","until","waterfall","taskIndex","nextTask","waterfall$1","VERSION","root","ArrayProto","ObjProto","SymbolProto","slice","toString","supportsArrayBuffer","supportsDataView","nativeIsArray","nativeKeys","nativeCreate","nativeIsView","_isNaN","_isFinite","hasEnumBug","nonEnumerableProps","MAX_ARRAY_INDEX","restArguments","startIndex","isNull","isUndefined","isBoolean","isElement","tagTester","tag","isString","isNumber","isDate","isRegExp","isError","isSymbol","isArrayBuffer","isFunction","nodelist","isFunction$1","hasObjectTag","hasStringTagBug","isIE11","isDataView","ie10IsDataView","isDataView$1","isArray","has","isArguments","isArguments$1","isFinite","isNaN","createSizePropertyCheck","getSizeProperty","collection","sizeProperty","shallowProperty","getByteLength","isBufferLike","typedArrayPattern","isTypedArray","isTypedArray$1","getLength","emulatedSet","hash","collectNonEnumProps","nonEnumIdx","constructor","proto","isEmpty","isMatch","attrs","_keys","toBufferView","bufferSource","tagDataView","eq","aStack","bStack","deepEq","className","areArrays","byteLength","aCtor","bCtor","isEqual","allKeys","ie11fingerprint","methods","weakMapMethods","forEachName","hasName","commonInit","mapTail","mapMethods","setMethods","isMap","isWeakMap","isSet","isWeakSet","values","pairs","invert","names","createAssigner","keysFunc","defaults","source","extend","extendOwn","ctor","baseCreate","Ctor","create","props","clone","tap","interceptor","toPath","path","deepGet","get","defaultValue","_has","identity","matcher","property","optimizeCb","context","argCount","baseIteratee","mapObject","currentKey","propertyOf","accum","random","min","max","now","createEscaper","escaper","testRegexp","replaceRegexp","escapeMap","escape","unescapeMap","unescape","noMatch","escapes","escapeRegExp","escapeChar","bareIdentifier","template","text","settings","oldSettings","interpolate","evaluate","offset","argument","render","idCounter","uniqueId","prefix","chain","instance","executeBound","sourceFunc","boundFunc","callingContext","boundArgs","placeholder","position","bind","flatten","input","depth","strict","output","bindAll","cache","address","delay","wait","throttle","previous","later","throttled","_now","remaining","debounce","immediate","passed","debounced","_args","negate","predicate","start","after","before","findKey","createPredicateIndexFinder","findIndex","findLastIndex","sortedIndex","low","high","mid","createIndexFinder","predicateFind","indexOf","lastIndexOf","find","keyFinder","findWhere","createReduce","reducer","initial","list","contains","fromIndex","guard","invoke","contextPath","method","pluck","where","lastComputed","computed","reStrSymbol","toArray","sample","last","rand","temp","shuffle","group","behavior","partition","indexBy","countBy","pass","keyInObj","pick","omit","first","compact","_flatten","difference","without","otherArrays","uniq","isSorted","seen","union","arrays","intersection","argsLength","unzip","zip","stop","step","chunk","chainResult","mixin","allExports","dist","_q","require$$0","_async","require$$1","_underscore","require$$2","myArray","promiseArray","qMapThrottle","modules","installedModules","__webpack_require__","moduleId","exports","getter","DEVICE_TYPES","BROWSER_TYPES","OS_TYPES","defaultData","UAParser","_require","_require2","checkType","broPayload","mobilePayload","wearPayload","consolePayload","stvPayload","getNavigatorInstance","isIOS13Check","UA","browser","device","engine","os","ua","CHROME","CHROMIUM","IE","INTERNET_EXPLORER","OPERA","FIREFOX","SAFARI","EDGE","YANDEX","MOBILE_SAFARI","MOBILE","TABLET","SMART_TV","BROWSER","WEARABLE","CONSOLE","ANDROID","WINDOWS_PHONE","IOS","WINDOWS","MAC_OS","isMobileType","isTabletType","isMobileAndTabletType","isEdgeChromiumType","isSmartTVType","isBrowserType","isWearableType","isConsoleType","isAndroidType","isWindowsType","isMacOsType","isWinPhoneType","isIOSType","isChromeType","isFirefoxType","isChromiumType","isEdgeType","isYandexType","isSafariType","isMobileSafariType","isOperaType","isIEType","isElectronType","nav","getIOS13","getIPad13","getIphone13","getIPod13","getBrowserFullVersion","getBrowserVersion","getOsVersion","getOsName","getMobileVendor","getMobileModel","getEngineName","getEngineVersion","getUseragent","getDeviceType","isSmartTV","isConsole","isWearable","isMobileSafari","isChromium","isMobile","isMobileOnly","isTablet","isBrowser","isAndroid","isWinPhone","isChrome","isFirefox","isSafari","isOpera","isIE","osVersion","osName","fullBrowserVersion","browserVersion","browserName","mobileVendor","mobileModel","engineName","engineVersion","getUA","isEdge","isYandex","deviceType","isIOS13","isIPad13","isIPhone13","isIPod13","isElectron","isEdgeChromium","isLegacyEdge","isWindows","isMacOs","deviceDetect","__WEBPACK_AMD_DEFINE_RESULT__","window","LIBVERSION","EMPTY","UNKNOWN","FUNC_TYPE","UNDEF_TYPE","OBJ_TYPE","STR_TYPE","MAJOR","MODEL","NAME","TYPE","VENDOR","ARCHITECTURE","SMARTTV","EMBEDDED","util","regexes","extensions","margedRegexes","str1","str2","str","version","mapper","matches","regex","maps","uastring","rgxmap","cpu","parser","__webpack_amd_options__","_extends","target","ready","supportedFiles","optimisationErrors","beamrLibrary","beamrAbTestingGroup","disableBeamr","Cookies","uploadViaBeamr","configuratorMatrixPredicate","matrix","attribute","deviceInfo","suitableBeamrFile","removeHTTP","url","threshold","character","setURL","uploadURL","logEvent","handleBeamrEvent","uploadResponse","callBack","compressionStageSucceeded","compressionStageFailed","attemptSuccessful","attemptFailed","attemptCompleted","shouldDisableBeamr","files","beamrAttempts","config","extraStuff","csrfToken","_error","configure","conf","uploadCompressed","UploadAnalytics","uploadAnalyticsArray","uploads","tally","uploadTransactionId","uploadTimings","fileUploadSource","GoogleAnalytics","raw","beamr","originalSize","compressedSize","changed","observableEvent","beamrUploadSource","UploadTimings","__publicField","previousEventTime","showLoginOverlay","deferreds","showLoginEvent","Qmap","GenericPaginatedUploadMixin","uploadUrl","onUploaded","onUploadError","generateId","component","windowSize","retryAttempts","sendFile","_send","onBeamrDone","_textStatus","_jqXHR","onDone","jqXHR","_errorThrown","onFail","didWork","fileData","fileId","compressedFile","onBeamrFail","s4","getValidatedTypes","isSafariPrivate","useGenStore","isProjectEditPage","hasIndexedDbUploader","ImageUploadFileValidator","validFileTypes","acceptedFileTypes","hookCallback","hooks","setHookCallback","hasOwnProp","isObjectEmpty","arrLen","createUTC","format","locale","createLocalOrUTC","defaultParsingFlags","getParsingFlags","fun","isValid","flags","parsedParts","isNowValid","createInvalid","momentProperties","updateInProgress","copyConfig","to","from","momentPropertiesLen","Moment","isMoment","warn","firstTime","argLen","deprecations","deprecateSimple","set","mergeConfigs","parentConfig","childConfig","Locale","defaultCalendar","calendar","mom","zeroFill","number","targetLength","forceSign","absNumber","zerosToFill","sign","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","token","padded","ordinal","removeFormattingTokens","makeFormatFunction","formatMoment","expandFormat","replaceLongDateFormatTokens","defaultLongDateFormat","longDateFormat","formatUpper","tok","defaultInvalidDate","invalidDate","defaultOrdinal","defaultDayOfMonthOrdinalParse","defaultRelativeTime","relativeTime","withoutSuffix","isFuture","pastFuture","diff","aliases","addUnitAlias","unit","shorthand","lowerCase","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedInput","normalizedProp","priorities","addUnitPriority","getPrioritizedUnits","unitsObj","isLeapYear","year","absFloor","toInt","argumentForCoercion","coercedNumber","makeGetSet","keepTime","set$1","daysInMonth","stringGet","stringSet","prioritized","prioritizedLen","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchTimestamp","matchWord","addRegexToken","strictRegex","isStrict","localeData","getParseRegexForToken","unescapeFormat","regexEscape","matched","p1","p2","p3","p4","tokens","addParseToken","tokenLen","addWeekParseToken","addTimeToArrayFromToken","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","month","modMonth","defaultLocaleMonths","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","localeMonths","localeMonthsShort","handleStrictParse","monthName","ii","llc","localeMonthsParse","setMonth","dayOfMonth","getSetMonth","getDaysInMonth","monthsShortRegex","computeMonthsParse","monthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","daysInYear","getSetYear","getIsLeapYear","createDate","date","createUTCDate","firstWeekOffset","dow","doy","fwd","fwdlw","dayOfYearFromWeeks","week","weekday","localWeekday","weekOffset","dayOfYear","resYear","resDayOfYear","weekOfYear","resWeek","weeksInYear","weekOffsetNext","localeWeek","defaultLocaleWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","parseIsoWeekday","shiftWeekdays","ws","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","localeWeekdays","weekdays","localeWeekdaysShort","localeWeekdaysMin","handleStrictParse$1","weekdayName","localeWeekdaysParse","getSetDayOfWeek","day","getSetLocaleDayOfWeek","getSetISODayOfWeek","weekdaysRegex","computeWeekdaysParse","weekdaysShortRegex","weekdaysMinRegex","minPieces","minp","shortp","longp","hFormat","kFormat","meridiem","lowercase","matchMeridiem","kInput","pos","pos1","pos2","localeIsPM","defaultLocaleMeridiemParse","getSetHour","localeMeridiem","hours","minutes","isLower","baseConfig","locales","localeFamilies","globalLocale","commonPrefix","arr1","arr2","minl","normalizeLocale","chooseLocale","split","loadLocale","isLocaleNameSane","oldLocale","aliasedRequire","require","getSetGlobalLocale","getLocale","defineLocale","updateLocale","tmpLocale","listLocales","checkOverflow","overflow","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","rfc2822","obsOffsets","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","isoDatesLen","isoTimesLen","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","untruncateYear","preprocessRFC2822","checkWeekday","weekdayStr","parsedInput","weekdayProvided","weekdayActual","calculateOffset","obsOffset","militaryOffset","numOffset","hm","configFromRFC2822","parsedArray","configFromString","currentDateArray","nowValue","configFromArray","currentDate","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","weekYear","weekdayOverflow","curWeek","createLocal","skipped","stringLength","totalParsedInputLength","era","meridiemFixWrap","hour","isPm","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","configfLen","configFromObject","dayOrDate","createFromConfig","prepareConfig","configFromInput","isUTC","prototypeMin","other","prototypeMax","pickBy","moments","ordering","isDurationValid","unitHasDecimal","orderLen","isValid$1","createInvalid$1","createDuration","Duration","duration","years","quarters","months","weeks","days","seconds","isDuration","absRound","compareArrays","array1","array2","dontConvert","lengthDiff","diffs","separator","offsetFromString","chunkOffset","cloneWithOffset","model","getDateOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","setOffsetToParsedOffset","tZone","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","isLocal","isUtcOffset","isUtc","aspNetRegex","isoRegex","ret","diffRes","parseIso","momentsDifference","inp","positiveMomentsDifference","base","createAdder","direction","period","dur","tmp","isAdding","updateOffset","add","subtract","isMomentInput","isNumberOrStringArray","isMomentInputObject","objectTest","propertyTest","properties","propertyLen","arrayTest","dataTypeTest","isCalendarSpec","getCalendarFormat","myMoment","calendar$1","time","formats","sod","isAfter","localInput","isBefore","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","zoneDelta","monthDiff","wholeMonthDiff","anchor","anchor2","adjust","toISOString","keepOffset","utc","zone","datetime","suffix","inputString","fromNow","toNow","newLocaleData","lang","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","startOf","startOfDate","endOf","valueOf","unix","toDate","toObject","toJSON","isValid$2","parsingFlags","invalidAt","creationData","matchEraAbbr","matchEraName","matchEraNarrow","matchEraYearOrdinal","localeEras","eras","localeErasParse","eraName","abbr","narrow","localeErasConvertYear","getEraName","getEraNarrow","getEraAbbr","getEraYear","erasNameRegex","computeErasParse","erasAbbrRegex","erasNarrowRegex","abbrPieces","namePieces","narrowPieces","addWeekYearFormatToken","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","getISOWeeksInYear","getISOWeeksInISOWeekYear","getWeeksInYear","weekInfo","getWeeksInWeekYear","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","getSetDayOfMonth","getSetDayOfYear","getSetMinute","getSetSecond","getSetMillisecond","parseMs","getZoneAbbr","getZoneName","createUnix","createInZone","preParsePostFormat","proto$1","get$1","field","setter","listMonthsImpl","out","listWeekdaysImpl","localeSorted","shift","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","mathAbs","abs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","as","valueOf$1","makeAs","alias","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","clone$1","get$2","makeGetter","round","thresholds","substituteTimeAgo","relativeTime$1","posNegDuration","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","humanize","argWithSuffix","argThresholds","withSuffix","th","abs$1","toISOString$1","total","totalSign","ymSign","daysSign","hmsSign","proto$2","moment","enGb","pluralizer","localDateFormat"],"mappings":"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","x_google_ignoreList":[0,1,2,3,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,179,180]}