From 66bd11f5fb69c57f4d54c5fc938b642902cad218 Mon Sep 17 00:00:00 2001 From: Johan Dahlin Date: Tue, 9 Dec 2025 23:26:28 +0100 Subject: [PATCH] vault backup: 2025-12-09 23:26:28 --- content/.obsidian/community-plugins.json | 3 +- .../.obsidian/plugins/image-converter/main.js | 7 + .../plugins/image-converter/manifest.json | 11 + .../plugins/image-converter/styles.css | 3535 +++++++++++++++++ .../plugins/manual-sorting/data.json | 6 +- content/.obsidian/workspace.json | 17 +- .../Metabolism/Enzymer/Anteckningar I.md | 4 +- 7 files changed, 3569 insertions(+), 14 deletions(-) create mode 100644 content/.obsidian/plugins/image-converter/main.js create mode 100644 content/.obsidian/plugins/image-converter/manifest.json create mode 100644 content/.obsidian/plugins/image-converter/styles.css diff --git a/content/.obsidian/community-plugins.json b/content/.obsidian/community-plugins.json index df6b63c..ebdc00e 100644 --- a/content/.obsidian/community-plugins.json +++ b/content/.obsidian/community-plugins.json @@ -9,5 +9,6 @@ "obsidian42-brat", "agent-client", "manual-sorting", - "obsidian-icon-folder" + "obsidian-icon-folder", + "image-converter" ] \ No newline at end of file diff --git a/content/.obsidian/plugins/image-converter/main.js b/content/.obsidian/plugins/image-converter/main.js new file mode 100644 index 0000000..75fee8c --- /dev/null +++ b/content/.obsidian/plugins/image-converter/main.js @@ -0,0 +1,7 @@ +var Ca=Object.create,et=Object.defineProperty,Ba=Object.getOwnPropertyDescriptor,xa=Object.getOwnPropertyNames,Za=Object.getPrototypeOf,Ia=Object.prototype.hasOwnProperty,Ea=(i,e)=>()=>(i&&(e=i(i=0)),e),Wn=(i,e)=>()=>(e||i((e={exports:{}}).exports,e),e.exports),ro=(i,e)=>{for(var r in e)et(i,r,{get:e[r],enumerable:!0})},to=(i,e,r,t)=>{if(e&&"object"==typeof e||"function"==typeof e)for(let n of xa(e))!Ia.call(i,n)&&n!==r&&et(i,n,{get:()=>e[n],enumerable:!(t=Ba(e,n))||t.enumerable});return i},Me=(i,e,r)=>(r=null!=i?Ca(Za(i)):{},to(!e&&i&&i.__esModule?r:et(r,"default",{value:i,enumerable:!0}),i)),Fa=i=>to(et({},"__esModule",{value:!0}),i),no=Wn((i,e)=>{var r,t;r=i,t=function(){"use strict";function i(i,e){var r,t=Object.keys(i);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(i),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(i,e).enumerable})),t.push.apply(t,r)),t}function e(e){for(var r=1;ri.length)&&(e=i.length);for(var r=0,t=new Array(e);r"===e[0]&&(e=e.substring(1)),i))try{if(i.matches)return i.matches(e);if(i.msMatchesSelector)return i.msMatchesSelector(e);if(i.webkitMatchesSelector)return i.webkitMatchesSelector(e)}catch{return}}function p(i){return i.host&&i!==document&&i.host.nodeType?i.host:i.parentNode}function g(i,e,r,t){if(i){r=r||document;do{if(null!=e&&(">"!==e[0]||i.parentNode===r)&&b(i,e)||t&&i===r)return i}while(i!==r&&(i=p(i)))}return null}var m,v=/\s+/g;function w(i,e,r){var t;i&&e&&(i.classList?i.classList[r?"add":"remove"](e):(t=(" "+i.className+" ").replace(v," ").replace(" "+e+" "," "),i.className=(t+(r?" "+e:"")).replace(v," ")))}function _(i,e,r){var t=i&&i.style;if(t){if(void 0===r)return document.defaultView&&document.defaultView.getComputedStyle?r=document.defaultView.getComputedStyle(i,""):i.currentStyle&&(r=i.currentStyle),void 0===e?r:r[e];t[e=e in t||-1!==e.indexOf("webkit")?e:"-webkit-"+e]=r+("string"==typeof r?"":"px")}}function y(i,e){var r="";if("string"==typeof i)r=i;else do{var t=_(i,"transform")}while(t&&"none"!==t&&(r=t+" "+r),!e&&(i=i.parentNode));var n=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return n&&new n(r)}function C(i,e,r){if(i){var t=i.getElementsByTagName(e),n=0,f=t.length;if(r)for(;n=e.left-t&&n<=e.right+t,t=f>=e.top-t&&f<=e.bottom+t;return r&&t?a=i:void 0}}),a);if(e){var r,t={};for(r in i)i.hasOwnProperty(r)&&(t[r]=i[r]);t.target=t.rootEl=e,t.preventDefault=void 0,t.stopPropagation=void 0,e[P]._onDragOver(t)}}var n,f,a}function Mi(i){j&&j.parentNode[P]._isOutsideThisEl(i.target)}function Ri(i,r){if(!i||!i.nodeType||1!==i.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(i));this.el=i,this.options=r=t({},r),i[P]=this;var n,f,a={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(i.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Si(i,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(i,e){i.setData("Text",e.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==Ri.supportPointer&&"PointerEvent"in window&&(!l||k),emptyInsertThreshold:5};for(n in Y.initializePlugins(this,i,a),a)n in r||(r[n]=a[n]);for(f in Xi(r),this)"_"===f.charAt(0)&&"function"==typeof this[f]&&(this[f]=this[f].bind(this));this.nativeDraggable=!r.forceFallback&&Ei,this.nativeDraggable&&(this.options.touchStartThreshold=1),r.supportPointer?c(i,"pointerdown",this._onTapStart):(c(i,"mousedown",this._onTapStart),c(i,"touchstart",this._onTapStart)),this.nativeDraggable&&(c(i,"dragover",this),c(i,"dragenter",this)),wi.push(this.el),r.store&&r.store.get&&this.sort(r.store.get(this)||[]),t(this,function(){var i,r=[];return{captureAnimationState:function(){r=[],this.options.animation&&[].slice.call(this.el.children).forEach(function(i){var t,n;"none"!==_(i,"display")&&i!==Ri.ghost&&(r.push({target:i,rect:x(i)}),t=e({},r[r.length-1].rect),!i.thisAnimationDuration||(n=y(i,!0))&&(t.top-=n.f,t.left-=n.e),i.fromRect=t)})},addAnimationState:function(i){r.push(i)},removeAnimationState:function(i){r.splice(function(i,e){for(var r in i)if(i.hasOwnProperty(r))for(var t in e)if(e.hasOwnProperty(t)&&e[t]===i[r][t])return Number(r);return-1}(r,{target:i}),1)},animateAll:function(e){var t=this;if(!this.options.animation)return clearTimeout(i),void("function"==typeof e&&e());var n=!1,f=0;r.forEach(function(i){var e=0,r=i.target,a=r.fromRect,o=x(r),A=r.prevFromRect,s=r.prevToRect,l=i.rect,k=y(r,!0);k&&(o.top-=k.f,o.left-=k.e),r.toRect=o,r.thisAnimationDuration&&X(A,o)&&!X(a,o)&&(l.top-o.top)/(l.left-o.left)==(a.top-o.top)/(a.left-o.left)&&(i=l,k=A,A=s,s=t.options,e=Math.sqrt(Math.pow(k.top-i.top,2)+Math.pow(k.left-i.left,2))/Math.sqrt(Math.pow(k.top-A.top,2)+Math.pow(k.left-A.left,2))*s.animation),X(o,a)||(r.prevFromRect=a,r.prevToRect=o,e=e||t.options.animation,t.animate(r,l,o,e)),e&&(n=!0,f=Math.max(f,e),clearTimeout(r.animationResetTimer),r.animationResetTimer=setTimeout(function(){r.animationTime=0,r.prevFromRect=null,r.fromRect=null,r.prevToRect=null,r.thisAnimationDuration=null},e),r.thisAnimationDuration=e)}),clearTimeout(i),n?i=setTimeout(function(){"function"==typeof e&&e()},f):"function"==typeof e&&e(),r=[]},animate:function(i,e,r,t){var n,f;t&&(_(i,"transition",""),_(i,"transform",""),n=(f=y(this.el))&&f.a,f=f&&f.d,n=(e.left-r.left)/(n||1),f=(e.top-r.top)/(f||1),i.animatingX=!!n,i.animatingY=!!f,_(i,"transform","translate3d("+n+"px,"+f+"px,0)"),this.forRepaintDummy=i.offsetWidth,_(i,"transition","transform "+t+"ms"+(this.options.easing?" "+this.options.easing:"")),_(i,"transform","translate3d(0,0,0)"),"number"==typeof i.animated&&clearTimeout(i.animated),i.animated=setTimeout(function(){_(i,"transition",""),_(i,"transform",""),i.animated=!1,i.animatingX=!1,i.animatingY=!1},t))}}}())}function Ti(i,e,r,t,n,f,a,s){var l,k,h=i[P],u=h.options.onMove;return!window.CustomEvent||o||A?(l=document.createEvent("Event")).initEvent("move",!0,!0):l=new CustomEvent("move",{bubbles:!0,cancelable:!0}),l.to=e,l.from=i,l.dragged=r,l.draggedRect=t,l.related=n||e,l.relatedRect=f||x(e),l.willInsertAfter=s,l.originalEvent=a,i.dispatchEvent(l),u?u.call(h,l,a):k}function Pi(i){i.draggable=!1}function Ni(){Bi=!1}function Qi(i){return setTimeout(i,0)}function Yi(i){return clearTimeout(i)}Zi&&!h&&document.addEventListener("click",function(i){if(vi)return i.preventDefault(),i.stopPropagation&&i.stopPropagation(),i.stopImmediatePropagation&&i.stopImmediatePropagation(),vi=!1},!0),Ri.prototype={constructor:Ri,_isOutsideThisEl:function(i){this.el.contains(i)||i===this.el||(di=null)},_getDirection:function(i,e){return"function"==typeof this.options.direction?this.options.direction.call(this,i,e,j):this.options.direction},_onTapStart:function(i){if(i.cancelable){var e=this,r=this.el,t=this.options,n=t.preventOnFilter,f=i.type,a=i.touches&&i.touches[0]||i.pointerType&&"touch"===i.pointerType&&i,o=(a||i).target,A=i.target.shadowRoot&&(i.path&&i.path[0]||i.composedPath&&i.composedPath()[0])||o,s=t.filter;if(function(i){xi.length=0;for(var e=i.getElementsByTagName("input"),r=e.length;r--;){var t=e[r];t.checked&&xi.push(t)}}(r),!j&&!(/mousedown|pointerdown/.test(f)&&0!==i.button||t.disabled)&&!A.isContentEditable&&(this.nativeDraggable||!l||!o||"SELECT"!==o.tagName.toUpperCase())&&!((o=g(o,t.draggable,r,!1))&&o.animated||q===o)){if(ri=E(o),ni=E(o,t.draggable),"function"==typeof s){if(s.call(this,i,o,this))return U({sortable:e,rootEl:A,name:"filter",targetEl:o,toEl:r,fromEl:r}),z("filter",e,{evt:i}),void(n&&i.preventDefault())}else if(s=s&&s.split(",").some(function(t){if(t=g(A,t.trim(),r,!1))return U({sortable:e,rootEl:t,name:"filter",targetEl:o,fromEl:r,toEl:r}),z("filter",e,{evt:i}),!0}))return void(n&&i.preventDefault());t.handle&&!g(A,t.handle,r,!1)||this._prepareDragStart(i,a,o)}}},_prepareDragStart:function(i,e,r){var t,n=this,f=n.el,a=n.options,l=f.ownerDocument;r&&!j&&r.parentNode===f&&(t=x(r),$=f,H=(j=r).parentNode,K=j.nextSibling,q=r,ai=a.group,Ai={target:Ri.dragged=j,clientX:(e||i).clientX,clientY:(e||i).clientY},hi=Ai.clientX-t.left,ui=Ai.clientY-t.top,this._lastX=(e||i).clientX,this._lastY=(e||i).clientY,j.style["will-change"]="all",t=function(){z("delayEnded",n,{evt:i}),Ri.eventCanceled?n._onDrop():(n._disableDelayedDragEvents(),!s&&n.nativeDraggable&&(j.draggable=!0),n._triggerDragStart(i,e),U({sortable:n,name:"choose",originalEvent:i}),w(j,a.chosenClass,!0))},a.ignore.split(",").forEach(function(i){C(j,i.trim(),Pi)}),c(l,"dragover",Di),c(l,"mousemove",Di),c(l,"touchmove",Di),a.supportPointer?(c(l,"pointerup",n._onDrop),this.nativeDraggable||c(l,"pointercancel",n._onDrop)):(c(l,"mouseup",n._onDrop),c(l,"touchend",n._onDrop),c(l,"touchcancel",n._onDrop)),s&&this.nativeDraggable&&(this.options.touchStartThreshold=4,j.draggable=!0),z("delayStart",this,{evt:i}),!a.delay||a.delayOnTouchOnly&&!e||this.nativeDraggable&&(A||o)?t():Ri.eventCanceled?this._onDrop():(a.supportPointer?(c(l,"pointerup",n._disableDelayedDrag),c(l,"pointercancel",n._disableDelayedDrag)):(c(l,"mouseup",n._disableDelayedDrag),c(l,"touchend",n._disableDelayedDrag),c(l,"touchcancel",n._disableDelayedDrag)),c(l,"mousemove",n._delayedDragTouchMoveHandler),c(l,"touchmove",n._delayedDragTouchMoveHandler),a.supportPointer&&c(l,"pointermove",n._delayedDragTouchMoveHandler),n._dragStartTimer=setTimeout(t,a.delay)))},_delayedDragTouchMoveHandler:function(i){i=i.touches?i.touches[0]:i,Math.max(Math.abs(i.clientX-this._lastX),Math.abs(i.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){j&&Pi(j),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var i=this.el.ownerDocument;d(i,"mouseup",this._disableDelayedDrag),d(i,"touchend",this._disableDelayedDrag),d(i,"touchcancel",this._disableDelayedDrag),d(i,"pointerup",this._disableDelayedDrag),d(i,"pointercancel",this._disableDelayedDrag),d(i,"mousemove",this._delayedDragTouchMoveHandler),d(i,"touchmove",this._delayedDragTouchMoveHandler),d(i,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(i,e){e=e||"touch"==i.pointerType&&i,!this.nativeDraggable||e?this.options.supportPointer?c(document,"pointermove",this._onTouchMove):c(document,e?"touchmove":"mousemove",this._onTouchMove):(c(j,"dragend",this),c($,"dragstart",this._onDragStart));try{document.selection?Qi(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(i,e){var r;mi=!1,$&&j?(z("dragStarted",this,{evt:e}),this.nativeDraggable&&c(document,"dragover",Mi),r=this.options,i||w(j,r.dragClass,!1),w(j,r.ghostClass,!0),Ri.active=this,i&&this._appendGhost(),U({sortable:this,name:"start",originalEvent:e})):this._nulling()},_emulateDragOver:function(){if(si){this._lastX=si.clientX,this._lastY=si.clientY,Vi();for(var i=document.elementFromPoint(si.clientX,si.clientY),e=i;i&&i.shadowRoot&&(i=i.shadowRoot.elementFromPoint(si.clientX,si.clientY))!==e;)e=i;if(j.parentNode[P]._isOutsideThisEl(i),e)do{if(e[P]&&e[P]._onDragOver({clientX:si.clientX,clientY:si.clientY,target:i,rootEl:e})&&!this.options.dragoverBubble)break}while(e=p(i=e));Gi()}},_onTouchMove:function(i){if(Ai){var e=(o=this.options).fallbackTolerance,r=o.fallbackOffset,t=i.touches?i.touches[0]:i,n=L&&y(L,!0),f=L&&n&&n.a,a=L&&n&&n.d,o=Ii&&gi&&F(gi);if(f=(t.clientX-Ai.clientX+r.x)/(f||1)+(o?o[0]-Ci[0]:0)/(f||1),a=(t.clientY-Ai.clientY+r.y)/(a||1)+(o?o[1]-Ci[1]:0)/(a||1),!Ri.active&&!mi){if(e&&Math.max(Math.abs(t.clientX-this._lastX),Math.abs(t.clientY-this._lastY))B.right+10||F.clientY>M.bottom&&F.clientX>M.left:F.clientY>B.bottom+10||F.clientX>M.right&&F.clientY>M.top)||p.animated)){if(p&&(f=i,a=n,X=x(I((S=this).el,0,S.options,!0)),S=T(S.el,S.options,L),a?f.clientX{!function(){"use strict";var r={};function t(i){return k(">"+u("B",i.length),i)}function n(i){return k(">"+u("H",i.length),i)}function f(i){return k(">"+u("L",i.length),i)}function a(i,e,r){var a,o,A,s,l="",h="";if("Byte"==e)(a=i.length)<=4?h=t(i)+u("\0",4-a):(h=k(">L",[r]),l=t(i));else if("Short"==e)(a=i.length)<=2?h=n(i)+u("\0\0",2-a):(h=k(">L",[r]),l=n(i));else if("Long"==e)(a=i.length)<=1?h=f(i):(h=k(">L",[r]),l=f(i));else if("Ascii"==e)(a=(o=i+"\0").length)>4?(h=k(">L",[r]),l=o):h=o+u("\0",4-a);else if("Rational"==e){if("number"==typeof i[0])a=1,A=i[0],s=i[1],o=k(">L",[A])+k(">L",[s]);else{a=i.length,o="";for(var c=0;cL",[A])+k(">L",[s])}h=k(">L",[r]),l=o}else if("SRational"==e){if("number"==typeof i[0])a=1,A=i[0],s=i[1],o=k(">l",[A])+k(">l",[s]);else{a=i.length,o="";for(c=0;cl",[A])+k(">l",[s])}h=k(">L",[r]),l=o}else"Undefined"==e&&((a=i.length)>4?(h=k(">L",[r]),l=i):h=i+u("\0",4-a));return[k(">L",[a]),h,l]}function o(i,e,r){var t,n=Object.keys(i).length,f=k(">H",[n]);t=["0th","1st"].indexOf(e)>-1?2+12*n+4:2+12*n;var o="",A="";for(var s in i)if("string"==typeof s&&(s=parseInt(s)),!("0th"==e&&[34665,34853].indexOf(s)>-1)){if("Exif"==e&&40965==s)continue;if("1st"==e&&[513,514].indexOf(s)>-1)continue;var l=i[s],h=k(">H",[s]),u=b[e][s].type,c=k(">H",[d[u]]);"number"==typeof l&&(l=[l]);var p=a(l,u,8+t+r+A.length);o+=h+c+p[0]+p[1],A+=p[2]}return[f+o,A]}function A(i){var e;if("ÿØ"==i.slice(0,2))e=function(i){for(var e,r=0;r-1)this.tiftag=i;else{if("Exif"!=i.slice(0,4))throw new Error("Given file is neither JPEG nor TIFF.");this.tiftag=i.slice(6)}}if(r.version="1.0.4",r.remove=function(i){var e=!1;if("ÿØ"!=i.slice(0,2)){if("data:image/jpeg;base64,"!=i.slice(0,23)&&"data:image/jpg;base64,"!=i.slice(0,22))throw new Error("Given data is not jpeg.");i=l(i.split(",")[1]),e=!0}var r=c(i).filter(function(i){return!("ÿá"==i.slice(0,2)&&"Exif\0\0"==i.slice(4,10))}).join("");return e&&(r="data:image/jpeg;base64,"+s(r)),r},r.insert=function(i,e){var r=!1;if("Exif\0\0"!=i.slice(0,6))throw new Error("Given data is not exif.");if("ÿØ"!=e.slice(0,2)){if("data:image/jpeg;base64,"!=e.slice(0,23)&&"data:image/jpg;base64,"!=e.slice(0,22))throw new Error("Given data is not jpeg.");e=l(e.split(",")[1]),r=!0}var t="ÿá"+k(">H",[i.length+2])+i,n=function(i,e){var r=!1,t=[];return i.forEach(function(n,f){"ÿá"==n.slice(0,2)&&"Exif\0\0"==n.slice(4,10)&&(r?t.unshift(f):(i[f]=e,r=!0))}),t.forEach(function(e){i.splice(e,1)}),!r&&e&&(i=[i[0],e].concat(i.slice(1))),i.join("")}(c(e),t);return r&&(n="data:image/jpeg;base64,"+s(n)),n},r.load=function(i){var e;if("string"!=typeof i)throw new Error("'load' gots invalid type argument.");if("ÿØ"==i.slice(0,2))e=i;else if("data:image/jpeg;base64,"==i.slice(0,23)||"data:image/jpg;base64,"==i.slice(0,22))e=l(i.split(",")[1]);else{if("Exif"!=i.slice(0,4))throw new Error("'load' gots invalid file data.");e=i.slice(6)}var r={"0th":{},Exif:{},GPS:{},Interop:{},"1st":{},thumbnail:null},t=new A(e);if(null===t.tiftag)return r;"II"==t.tiftag.slice(0,2)?t.endian_mark="<":t.endian_mark=">";var n=h(t.endian_mark+"L",t.tiftag.slice(4,8))[0];r["0th"]=t.get_ifd(n,"0th");var f=r["0th"].first_ifd_pointer;if(delete r["0th"].first_ifd_pointer,34665 in r["0th"]&&(n=r["0th"][34665],r.Exif=t.get_ifd(n,"Exif")),34853 in r["0th"]&&(n=r["0th"][34853],r.GPS=t.get_ifd(n,"GPS")),40965 in r.Exif&&(n=r.Exif[40965],r.Interop=t.get_ifd(n,"Interop")),"\0\0\0\0"!=f&&(n=h(t.endian_mark+"L",f)[0],r["1st"]=t.get_ifd(n,"1st"),513 in r["1st"]&&514 in r["1st"])){var a=r["1st"][513]+r["1st"][514],o=t.tiftag.slice(r["1st"][513],a);r.thumbnail=o}return r},r.dump=function(i){var e,t,n,f,a,A=function(i){return JSON.parse(JSON.stringify(i))}(i),s=!1,l=!1,h=!1,u=!1;e="0th"in A?A["0th"]:{},"Exif"in A&&Object.keys(A.Exif).length||"Interop"in A&&Object.keys(A.Interop).length?(e[34665]=1,s=!0,t=A.Exif,"Interop"in A&&Object.keys(A.Interop).length?(t[40965]=1,h=!0,n=A.Interop):Object.keys(t).indexOf(r.ExifIFD.InteroperabilityTag.toString())>-1&&delete t[40965]):Object.keys(e).indexOf(r.ImageIFD.ExifTag.toString())>-1&&delete e[34665],"GPS"in A&&Object.keys(A.GPS).length?(e[r.ImageIFD.GPSTag]=1,l=!0,f=A.GPS):Object.keys(e).indexOf(r.ImageIFD.GPSTag.toString())>-1&&delete e[r.ImageIFD.GPSTag],"1st"in A&&"thumbnail"in A&&null!=A.thumbnail&&(u=!0,A["1st"][513]=1,A["1st"][514]=1,a=A["1st"]);var b,p,g,m=o(e,"0th",0),v=m[0].length+12*s+12*l+4+m[1].length,w="",_=0,y="",C=0,B="",x=0,Z="";(s&&(_=(b=o(t,"Exif",v))[0].length+12*h+b[1].length),l&&(C=(y=o(f,"GPS",v+_).join("")).length),h)&&(x=(B=o(n,"Interop",v+_+C).join("")).length);if(u&&(p=o(a,"1st",v+_+C+x),g=function(i){for(var e=c(i);"ÿà"<=e[1].slice(0,2)&&e[1].slice(0,2)<="ÿï";)e=[e[0]].concat(e.slice(2));return e.join("")}(A.thumbnail),g.length>64e3))throw new Error("Given thumbnail is too large. max 64kB");var I="",W="",E="",F="\0\0\0\0";if(s){var S=k(">L",[X=8+v]);I=k(">H",[34665])+k(">H",[d.Long])+k(">L",[1])+S}if(l){S=k(">L",[X=8+v+_]);W=k(">H",[34853])+k(">H",[d.Long])+k(">L",[1])+S}if(h){S=k(">L",[X=8+v+_+C]);E=k(">H",[40965])+k(">H",[d.Long])+k(">L",[1])+S}if(u){var X;F=k(">L",[X=8+v+_+C+x]);var V="\0\0\0\0"+k(">L",[X+p[0].length+24+4+p[1].length]),G="\0\0\0\0"+k(">L",[g.length]);Z=p[0]+V+G+"\0\0\0\0"+p[1]+g}var D=m[0]+I+W+F+m[1];return s&&(w=b[0]+E+b[1]),"Exif\0\0MM\0*\0\0\0\b"+D+w+y+B+Z},A.prototype={get_ifd:function(i,e){var r,t={},n=h(this.endian_mark+"H",this.tiftag.slice(i,i+2))[0],f=i+2;r=["0th","1st"].indexOf(e)>-1?"Image":e;for(var a=0;a4?(e=h(this.endian_mark+"L",f)[0],r=h(this.endian_mark+u("B",n),this.tiftag.slice(e,e+n))):r=h(this.endian_mark+u("B",n),f.slice(0,n));else if(2==t)n>4?(e=h(this.endian_mark+"L",f)[0],r=this.tiftag.slice(e,e+n-1)):r=f.slice(0,n-1);else if(3==t)n>2?(e=h(this.endian_mark+"L",f)[0],r=h(this.endian_mark+u("H",n),this.tiftag.slice(e,e+2*n))):r=h(this.endian_mark+u("H",n),f.slice(0,2*n));else if(4==t)n>1?(e=h(this.endian_mark+"L",f)[0],r=h(this.endian_mark+u("L",n),this.tiftag.slice(e,e+4*n))):r=h(this.endian_mark+u("L",n),f);else if(5==t)if(e=h(this.endian_mark+"L",f)[0],n>1){r=[];for(var a=0;a4?(e=h(this.endian_mark+"L",f)[0],r=this.tiftag.slice(e,e+n)):r=f.slice(0,n);else if(9==t)n>1?(e=h(this.endian_mark+"L",f)[0],r=h(this.endian_mark+u("l",n),this.tiftag.slice(e,e+4*n))):r=h(this.endian_mark+u("l",n),f);else{if(10!=t)throw new Error("Exif might be wrong. Got incorrect value type to decode. type:"+t);if(e=h(this.endian_mark+"L",f)[0],n>1){r=[];for(a=0;a"u")s=function(i){for(var e,r,t,n,f,a,o,A="",s=0,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";s>2,f=(3&e)<<4|(r=i.charCodeAt(s++))>>4,a=(15&r)<<2|(t=i.charCodeAt(s++))>>6,o=63&t,isNaN(r)?a=o=64:isNaN(t)&&(o=64),A=A+l.charAt(n)+l.charAt(f)+l.charAt(a)+l.charAt(o);return A};if(typeof window<"u"&&"function"==typeof window.atob)var l=window.atob;if(typeof l>"u")l=function(i){var e,r,t,n,f,a,o="",A=0,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";for(i=i.replace(/[^A-Za-z0-9\+\/\=]/g,"");A>4,r=(15&n)<<4|(f=s.indexOf(i.charAt(A++)))>>2,t=(3&f)<<6|(a=s.indexOf(i.charAt(A++))),o+=String.fromCharCode(e),64!=f&&(o+=String.fromCharCode(r)),64!=a&&(o+=String.fromCharCode(t));return o};function k(i,e){if(!(e instanceof Array))throw new Error("'pack' error. Got invalid type argument.");if(i.length-1!=e.length)throw new Error("'pack' error. "+(i.length-1)+" marks, "+e.length+" elements.");var r;if("<"==i[0])r=!0;else{if(">"!=i[0])throw new Error("");r=!1}for(var t="",n=1,f=null,a=null,o=null;a=i[n];){if("b"==a.toLowerCase()){if(f=e[n-1],"b"==a&&f<0&&(f+=256),f>255||f<0)throw new Error("'pack' error.");o=String.fromCharCode(f)}else if("H"==a){if((f=e[n-1])>65535||f<0)throw new Error("'pack' error.");o=String.fromCharCode(Math.floor(f%65536/256))+String.fromCharCode(f%256),r&&(o=o.split("").reverse().join(""))}else{if("l"!=a.toLowerCase())throw new Error("'pack' error.");if(f=e[n-1],"l"==a&&f<0&&(f+=4294967296),f>4294967295||f<0)throw new Error("'pack' error.");o=String.fromCharCode(Math.floor(f/16777216))+String.fromCharCode(Math.floor(f%16777216/65536))+String.fromCharCode(Math.floor(f%65536/256))+String.fromCharCode(f%256),r&&(o=o.split("").reverse().join(""))}t+=o,n+=1}return t}function h(i,e){if("string"!=typeof e)throw new Error("'unpack' error. Got invalid type argument.");for(var r=0,t=1;t"!=i[0])throw new Error("'unpack' error.");n=!1}for(var f=[],a=0,o=1,A=null,s=null,l=null,k="";s=i[o];){if("b"==s.toLowerCase())l=1,A=(k=e.slice(a,a+l)).charCodeAt(0),"b"==s&&A>=128&&(A-=256);else if("H"==s)l=2,k=e.slice(a,a+l),n&&(k=k.split("").reverse().join("")),A=256*k.charCodeAt(0)+k.charCodeAt(1);else{if("l"!=s.toLowerCase())throw new Error("'unpack' error. "+s);l=4,k=e.slice(a,a+l),n&&(k=k.split("").reverse().join("")),A=16777216*k.charCodeAt(0)+65536*k.charCodeAt(1)+256*k.charCodeAt(2)+k.charCodeAt(3),"l"==s&&A>=2147483648&&(A-=4294967296)}f.push(A),a+=l,o+=1}return f}function u(i,e){for(var r="",t=0;tH",i.slice(e+2,e+4))[0]+2;if(r.push(i.slice(e,t)),(e=t)>=i.length)throw new Error("Wrong JPEG data.")}return r}var d={Byte:1,Ascii:2,Short:3,Long:4,Rational:5,Undefined:7,SLong:9,SRational:10},b={Image:{11:{name:"ProcessingSoftware",type:"Ascii"},254:{name:"NewSubfileType",type:"Long"},255:{name:"SubfileType",type:"Short"},256:{name:"ImageWidth",type:"Long"},257:{name:"ImageLength",type:"Long"},258:{name:"BitsPerSample",type:"Short"},259:{name:"Compression",type:"Short"},262:{name:"PhotometricInterpretation",type:"Short"},263:{name:"Threshholding",type:"Short"},264:{name:"CellWidth",type:"Short"},265:{name:"CellLength",type:"Short"},266:{name:"FillOrder",type:"Short"},269:{name:"DocumentName",type:"Ascii"},270:{name:"ImageDescription",type:"Ascii"},271:{name:"Make",type:"Ascii"},272:{name:"Model",type:"Ascii"},273:{name:"StripOffsets",type:"Long"},274:{name:"Orientation",type:"Short"},277:{name:"SamplesPerPixel",type:"Short"},278:{name:"RowsPerStrip",type:"Long"},279:{name:"StripByteCounts",type:"Long"},282:{name:"XResolution",type:"Rational"},283:{name:"YResolution",type:"Rational"},284:{name:"PlanarConfiguration",type:"Short"},290:{name:"GrayResponseUnit",type:"Short"},291:{name:"GrayResponseCurve",type:"Short"},292:{name:"T4Options",type:"Long"},293:{name:"T6Options",type:"Long"},296:{name:"ResolutionUnit",type:"Short"},301:{name:"TransferFunction",type:"Short"},305:{name:"Software",type:"Ascii"},306:{name:"DateTime",type:"Ascii"},315:{name:"Artist",type:"Ascii"},316:{name:"HostComputer",type:"Ascii"},317:{name:"Predictor",type:"Short"},318:{name:"WhitePoint",type:"Rational"},319:{name:"PrimaryChromaticities",type:"Rational"},320:{name:"ColorMap",type:"Short"},321:{name:"HalftoneHints",type:"Short"},322:{name:"TileWidth",type:"Short"},323:{name:"TileLength",type:"Short"},324:{name:"TileOffsets",type:"Short"},325:{name:"TileByteCounts",type:"Short"},330:{name:"SubIFDs",type:"Long"},332:{name:"InkSet",type:"Short"},333:{name:"InkNames",type:"Ascii"},334:{name:"NumberOfInks",type:"Short"},336:{name:"DotRange",type:"Byte"},337:{name:"TargetPrinter",type:"Ascii"},338:{name:"ExtraSamples",type:"Short"},339:{name:"SampleFormat",type:"Short"},340:{name:"SMinSampleValue",type:"Short"},341:{name:"SMaxSampleValue",type:"Short"},342:{name:"TransferRange",type:"Short"},343:{name:"ClipPath",type:"Byte"},344:{name:"XClipPathUnits",type:"Long"},345:{name:"YClipPathUnits",type:"Long"},346:{name:"Indexed",type:"Short"},347:{name:"JPEGTables",type:"Undefined"},351:{name:"OPIProxy",type:"Short"},512:{name:"JPEGProc",type:"Long"},513:{name:"JPEGInterchangeFormat",type:"Long"},514:{name:"JPEGInterchangeFormatLength",type:"Long"},515:{name:"JPEGRestartInterval",type:"Short"},517:{name:"JPEGLosslessPredictors",type:"Short"},518:{name:"JPEGPointTransforms",type:"Short"},519:{name:"JPEGQTables",type:"Long"},520:{name:"JPEGDCTables",type:"Long"},521:{name:"JPEGACTables",type:"Long"},529:{name:"YCbCrCoefficients",type:"Rational"},530:{name:"YCbCrSubSampling",type:"Short"},531:{name:"YCbCrPositioning",type:"Short"},532:{name:"ReferenceBlackWhite",type:"Rational"},700:{name:"XMLPacket",type:"Byte"},18246:{name:"Rating",type:"Short"},18249:{name:"RatingPercent",type:"Short"},32781:{name:"ImageID",type:"Ascii"},33421:{name:"CFARepeatPatternDim",type:"Short"},33422:{name:"CFAPattern",type:"Byte"},33423:{name:"BatteryLevel",type:"Rational"},33432:{name:"Copyright",type:"Ascii"},33434:{name:"ExposureTime",type:"Rational"},34377:{name:"ImageResources",type:"Byte"},34665:{name:"ExifTag",type:"Long"},34675:{name:"InterColorProfile",type:"Undefined"},34853:{name:"GPSTag",type:"Long"},34857:{name:"Interlace",type:"Short"},34858:{name:"TimeZoneOffset",type:"Long"},34859:{name:"SelfTimerMode",type:"Short"},37387:{name:"FlashEnergy",type:"Rational"},37388:{name:"SpatialFrequencyResponse",type:"Undefined"},37389:{name:"Noise",type:"Undefined"},37390:{name:"FocalPlaneXResolution",type:"Rational"},37391:{name:"FocalPlaneYResolution",type:"Rational"},37392:{name:"FocalPlaneResolutionUnit",type:"Short"},37393:{name:"ImageNumber",type:"Long"},37394:{name:"SecurityClassification",type:"Ascii"},37395:{name:"ImageHistory",type:"Ascii"},37397:{name:"ExposureIndex",type:"Rational"},37398:{name:"TIFFEPStandardID",type:"Byte"},37399:{name:"SensingMethod",type:"Short"},40091:{name:"XPTitle",type:"Byte"},40092:{name:"XPComment",type:"Byte"},40093:{name:"XPAuthor",type:"Byte"},40094:{name:"XPKeywords",type:"Byte"},40095:{name:"XPSubject",type:"Byte"},50341:{name:"PrintImageMatching",type:"Undefined"},50706:{name:"DNGVersion",type:"Byte"},50707:{name:"DNGBackwardVersion",type:"Byte"},50708:{name:"UniqueCameraModel",type:"Ascii"},50709:{name:"LocalizedCameraModel",type:"Byte"},50710:{name:"CFAPlaneColor",type:"Byte"},50711:{name:"CFALayout",type:"Short"},50712:{name:"LinearizationTable",type:"Short"},50713:{name:"BlackLevelRepeatDim",type:"Short"},50714:{name:"BlackLevel",type:"Rational"},50715:{name:"BlackLevelDeltaH",type:"SRational"},50716:{name:"BlackLevelDeltaV",type:"SRational"},50717:{name:"WhiteLevel",type:"Short"},50718:{name:"DefaultScale",type:"Rational"},50719:{name:"DefaultCropOrigin",type:"Short"},50720:{name:"DefaultCropSize",type:"Short"},50721:{name:"ColorMatrix1",type:"SRational"},50722:{name:"ColorMatrix2",type:"SRational"},50723:{name:"CameraCalibration1",type:"SRational"},50724:{name:"CameraCalibration2",type:"SRational"},50725:{name:"ReductionMatrix1",type:"SRational"},50726:{name:"ReductionMatrix2",type:"SRational"},50727:{name:"AnalogBalance",type:"Rational"},50728:{name:"AsShotNeutral",type:"Short"},50729:{name:"AsShotWhiteXY",type:"Rational"},50730:{name:"BaselineExposure",type:"SRational"},50731:{name:"BaselineNoise",type:"Rational"},50732:{name:"BaselineSharpness",type:"Rational"},50733:{name:"BayerGreenSplit",type:"Long"},50734:{name:"LinearResponseLimit",type:"Rational"},50735:{name:"CameraSerialNumber",type:"Ascii"},50736:{name:"LensInfo",type:"Rational"},50737:{name:"ChromaBlurRadius",type:"Rational"},50738:{name:"AntiAliasStrength",type:"Rational"},50739:{name:"ShadowScale",type:"SRational"},50740:{name:"DNGPrivateData",type:"Byte"},50741:{name:"MakerNoteSafety",type:"Short"},50778:{name:"CalibrationIlluminant1",type:"Short"},50779:{name:"CalibrationIlluminant2",type:"Short"},50780:{name:"BestQualityScale",type:"Rational"},50781:{name:"RawDataUniqueID",type:"Byte"},50827:{name:"OriginalRawFileName",type:"Byte"},50828:{name:"OriginalRawFileData",type:"Undefined"},50829:{name:"ActiveArea",type:"Short"},50830:{name:"MaskedAreas",type:"Short"},50831:{name:"AsShotICCProfile",type:"Undefined"},50832:{name:"AsShotPreProfileMatrix",type:"SRational"},50833:{name:"CurrentICCProfile",type:"Undefined"},50834:{name:"CurrentPreProfileMatrix",type:"SRational"},50879:{name:"ColorimetricReference",type:"Short"},50931:{name:"CameraCalibrationSignature",type:"Byte"},50932:{name:"ProfileCalibrationSignature",type:"Byte"},50934:{name:"AsShotProfileName",type:"Byte"},50935:{name:"NoiseReductionApplied",type:"Rational"},50936:{name:"ProfileName",type:"Byte"},50937:{name:"ProfileHueSatMapDims",type:"Long"},50938:{name:"ProfileHueSatMapData1",type:"Float"},50939:{name:"ProfileHueSatMapData2",type:"Float"},50940:{name:"ProfileToneCurve",type:"Float"},50941:{name:"ProfileEmbedPolicy",type:"Long"},50942:{name:"ProfileCopyright",type:"Byte"},50964:{name:"ForwardMatrix1",type:"SRational"},50965:{name:"ForwardMatrix2",type:"SRational"},50966:{name:"PreviewApplicationName",type:"Byte"},50967:{name:"PreviewApplicationVersion",type:"Byte"},50968:{name:"PreviewSettingsName",type:"Byte"},50969:{name:"PreviewSettingsDigest",type:"Byte"},50970:{name:"PreviewColorSpace",type:"Long"},50971:{name:"PreviewDateTime",type:"Ascii"},50972:{name:"RawImageDigest",type:"Undefined"},50973:{name:"OriginalRawFileDigest",type:"Undefined"},50974:{name:"SubTileBlockSize",type:"Long"},50975:{name:"RowInterleaveFactor",type:"Long"},50981:{name:"ProfileLookTableDims",type:"Long"},50982:{name:"ProfileLookTableData",type:"Float"},51008:{name:"OpcodeList1",type:"Undefined"},51009:{name:"OpcodeList2",type:"Undefined"},51022:{name:"OpcodeList3",type:"Undefined"}},Exif:{33434:{name:"ExposureTime",type:"Rational"},33437:{name:"FNumber",type:"Rational"},34850:{name:"ExposureProgram",type:"Short"},34852:{name:"SpectralSensitivity",type:"Ascii"},34855:{name:"ISOSpeedRatings",type:"Short"},34856:{name:"OECF",type:"Undefined"},34864:{name:"SensitivityType",type:"Short"},34865:{name:"StandardOutputSensitivity",type:"Long"},34866:{name:"RecommendedExposureIndex",type:"Long"},34867:{name:"ISOSpeed",type:"Long"},34868:{name:"ISOSpeedLatitudeyyy",type:"Long"},34869:{name:"ISOSpeedLatitudezzz",type:"Long"},36864:{name:"ExifVersion",type:"Undefined"},36867:{name:"DateTimeOriginal",type:"Ascii"},36868:{name:"DateTimeDigitized",type:"Ascii"},37121:{name:"ComponentsConfiguration",type:"Undefined"},37122:{name:"CompressedBitsPerPixel",type:"Rational"},37377:{name:"ShutterSpeedValue",type:"SRational"},37378:{name:"ApertureValue",type:"Rational"},37379:{name:"BrightnessValue",type:"SRational"},37380:{name:"ExposureBiasValue",type:"SRational"},37381:{name:"MaxApertureValue",type:"Rational"},37382:{name:"SubjectDistance",type:"Rational"},37383:{name:"MeteringMode",type:"Short"},37384:{name:"LightSource",type:"Short"},37385:{name:"Flash",type:"Short"},37386:{name:"FocalLength",type:"Rational"},37396:{name:"SubjectArea",type:"Short"},37500:{name:"MakerNote",type:"Undefined"},37510:{name:"UserComment",type:"Ascii"},37520:{name:"SubSecTime",type:"Ascii"},37521:{name:"SubSecTimeOriginal",type:"Ascii"},37522:{name:"SubSecTimeDigitized",type:"Ascii"},40960:{name:"FlashpixVersion",type:"Undefined"},40961:{name:"ColorSpace",type:"Short"},40962:{name:"PixelXDimension",type:"Long"},40963:{name:"PixelYDimension",type:"Long"},40964:{name:"RelatedSoundFile",type:"Ascii"},40965:{name:"InteroperabilityTag",type:"Long"},41483:{name:"FlashEnergy",type:"Rational"},41484:{name:"SpatialFrequencyResponse",type:"Undefined"},41486:{name:"FocalPlaneXResolution",type:"Rational"},41487:{name:"FocalPlaneYResolution",type:"Rational"},41488:{name:"FocalPlaneResolutionUnit",type:"Short"},41492:{name:"SubjectLocation",type:"Short"},41493:{name:"ExposureIndex",type:"Rational"},41495:{name:"SensingMethod",type:"Short"},41728:{name:"FileSource",type:"Undefined"},41729:{name:"SceneType",type:"Undefined"},41730:{name:"CFAPattern",type:"Undefined"},41985:{name:"CustomRendered",type:"Short"},41986:{name:"ExposureMode",type:"Short"},41987:{name:"WhiteBalance",type:"Short"},41988:{name:"DigitalZoomRatio",type:"Rational"},41989:{name:"FocalLengthIn35mmFilm",type:"Short"},41990:{name:"SceneCaptureType",type:"Short"},41991:{name:"GainControl",type:"Short"},41992:{name:"Contrast",type:"Short"},41993:{name:"Saturation",type:"Short"},41994:{name:"Sharpness",type:"Short"},41995:{name:"DeviceSettingDescription",type:"Undefined"},41996:{name:"SubjectDistanceRange",type:"Short"},42016:{name:"ImageUniqueID",type:"Ascii"},42032:{name:"CameraOwnerName",type:"Ascii"},42033:{name:"BodySerialNumber",type:"Ascii"},42034:{name:"LensSpecification",type:"Rational"},42035:{name:"LensMake",type:"Ascii"},42036:{name:"LensModel",type:"Ascii"},42037:{name:"LensSerialNumber",type:"Ascii"},42240:{name:"Gamma",type:"Rational"}},GPS:{0:{name:"GPSVersionID",type:"Byte"},1:{name:"GPSLatitudeRef",type:"Ascii"},2:{name:"GPSLatitude",type:"Rational"},3:{name:"GPSLongitudeRef",type:"Ascii"},4:{name:"GPSLongitude",type:"Rational"},5:{name:"GPSAltitudeRef",type:"Byte"},6:{name:"GPSAltitude",type:"Rational"},7:{name:"GPSTimeStamp",type:"Rational"},8:{name:"GPSSatellites",type:"Ascii"},9:{name:"GPSStatus",type:"Ascii"},10:{name:"GPSMeasureMode",type:"Ascii"},11:{name:"GPSDOP",type:"Rational"},12:{name:"GPSSpeedRef",type:"Ascii"},13:{name:"GPSSpeed",type:"Rational"},14:{name:"GPSTrackRef",type:"Ascii"},15:{name:"GPSTrack",type:"Rational"},16:{name:"GPSImgDirectionRef",type:"Ascii"},17:{name:"GPSImgDirection",type:"Rational"},18:{name:"GPSMapDatum",type:"Ascii"},19:{name:"GPSDestLatitudeRef",type:"Ascii"},20:{name:"GPSDestLatitude",type:"Rational"},21:{name:"GPSDestLongitudeRef",type:"Ascii"},22:{name:"GPSDestLongitude",type:"Rational"},23:{name:"GPSDestBearingRef",type:"Ascii"},24:{name:"GPSDestBearing",type:"Rational"},25:{name:"GPSDestDistanceRef",type:"Ascii"},26:{name:"GPSDestDistance",type:"Rational"},27:{name:"GPSProcessingMethod",type:"Undefined"},28:{name:"GPSAreaInformation",type:"Undefined"},29:{name:"GPSDateStamp",type:"Ascii"},30:{name:"GPSDifferential",type:"Short"},31:{name:"GPSHPositioningError",type:"Rational"}},Interop:{1:{name:"InteroperabilityIndex",type:"Ascii"}}};b["0th"]=b.Image,b["1st"]=b.Image,r.TAGS=b,r.ImageIFD={ProcessingSoftware:11,NewSubfileType:254,SubfileType:255,ImageWidth:256,ImageLength:257,BitsPerSample:258,Compression:259,PhotometricInterpretation:262,Threshholding:263,CellWidth:264,CellLength:265,FillOrder:266,DocumentName:269,ImageDescription:270,Make:271,Model:272,StripOffsets:273,Orientation:274,SamplesPerPixel:277,RowsPerStrip:278,StripByteCounts:279,XResolution:282,YResolution:283,PlanarConfiguration:284,GrayResponseUnit:290,GrayResponseCurve:291,T4Options:292,T6Options:293,ResolutionUnit:296,TransferFunction:301,Software:305,DateTime:306,Artist:315,HostComputer:316,Predictor:317,WhitePoint:318,PrimaryChromaticities:319,ColorMap:320,HalftoneHints:321,TileWidth:322,TileLength:323,TileOffsets:324,TileByteCounts:325,SubIFDs:330,InkSet:332,InkNames:333,NumberOfInks:334,DotRange:336,TargetPrinter:337,ExtraSamples:338,SampleFormat:339,SMinSampleValue:340,SMaxSampleValue:341,TransferRange:342,ClipPath:343,XClipPathUnits:344,YClipPathUnits:345,Indexed:346,JPEGTables:347,OPIProxy:351,JPEGProc:512,JPEGInterchangeFormat:513,JPEGInterchangeFormatLength:514,JPEGRestartInterval:515,JPEGLosslessPredictors:517,JPEGPointTransforms:518,JPEGQTables:519,JPEGDCTables:520,JPEGACTables:521,YCbCrCoefficients:529,YCbCrSubSampling:530,YCbCrPositioning:531,ReferenceBlackWhite:532,XMLPacket:700,Rating:18246,RatingPercent:18249,ImageID:32781,CFARepeatPatternDim:33421,CFAPattern:33422,BatteryLevel:33423,Copyright:33432,ExposureTime:33434,ImageResources:34377,ExifTag:34665,InterColorProfile:34675,GPSTag:34853,Interlace:34857,TimeZoneOffset:34858,SelfTimerMode:34859,FlashEnergy:37387,SpatialFrequencyResponse:37388,Noise:37389,FocalPlaneXResolution:37390,FocalPlaneYResolution:37391,FocalPlaneResolutionUnit:37392,ImageNumber:37393,SecurityClassification:37394,ImageHistory:37395,ExposureIndex:37397,TIFFEPStandardID:37398,SensingMethod:37399,XPTitle:40091,XPComment:40092,XPAuthor:40093,XPKeywords:40094,XPSubject:40095,PrintImageMatching:50341,DNGVersion:50706,DNGBackwardVersion:50707,UniqueCameraModel:50708,LocalizedCameraModel:50709,CFAPlaneColor:50710,CFALayout:50711,LinearizationTable:50712,BlackLevelRepeatDim:50713,BlackLevel:50714,BlackLevelDeltaH:50715,BlackLevelDeltaV:50716,WhiteLevel:50717,DefaultScale:50718,DefaultCropOrigin:50719,DefaultCropSize:50720,ColorMatrix1:50721,ColorMatrix2:50722,CameraCalibration1:50723,CameraCalibration2:50724,ReductionMatrix1:50725,ReductionMatrix2:50726,AnalogBalance:50727,AsShotNeutral:50728,AsShotWhiteXY:50729,BaselineExposure:50730,BaselineNoise:50731,BaselineSharpness:50732,BayerGreenSplit:50733,LinearResponseLimit:50734,CameraSerialNumber:50735,LensInfo:50736,ChromaBlurRadius:50737,AntiAliasStrength:50738,ShadowScale:50739,DNGPrivateData:50740,MakerNoteSafety:50741,CalibrationIlluminant1:50778,CalibrationIlluminant2:50779,BestQualityScale:50780,RawDataUniqueID:50781,OriginalRawFileName:50827,OriginalRawFileData:50828,ActiveArea:50829,MaskedAreas:50830,AsShotICCProfile:50831,AsShotPreProfileMatrix:50832,CurrentICCProfile:50833,CurrentPreProfileMatrix:50834,ColorimetricReference:50879,CameraCalibrationSignature:50931,ProfileCalibrationSignature:50932,AsShotProfileName:50934,NoiseReductionApplied:50935,ProfileName:50936,ProfileHueSatMapDims:50937,ProfileHueSatMapData1:50938,ProfileHueSatMapData2:50939,ProfileToneCurve:50940,ProfileEmbedPolicy:50941,ProfileCopyright:50942,ForwardMatrix1:50964,ForwardMatrix2:50965,PreviewApplicationName:50966,PreviewApplicationVersion:50967,PreviewSettingsName:50968,PreviewSettingsDigest:50969,PreviewColorSpace:50970,PreviewDateTime:50971,RawImageDigest:50972,OriginalRawFileDigest:50973,SubTileBlockSize:50974,RowInterleaveFactor:50975,ProfileLookTableDims:50981,ProfileLookTableData:50982,OpcodeList1:51008,OpcodeList2:51009,OpcodeList3:51022,NoiseProfile:51041},r.ExifIFD={ExposureTime:33434,FNumber:33437,ExposureProgram:34850,SpectralSensitivity:34852,ISOSpeedRatings:34855,OECF:34856,SensitivityType:34864,StandardOutputSensitivity:34865,RecommendedExposureIndex:34866,ISOSpeed:34867,ISOSpeedLatitudeyyy:34868,ISOSpeedLatitudezzz:34869,ExifVersion:36864,DateTimeOriginal:36867,DateTimeDigitized:36868,ComponentsConfiguration:37121,CompressedBitsPerPixel:37122,ShutterSpeedValue:37377,ApertureValue:37378,BrightnessValue:37379,ExposureBiasValue:37380,MaxApertureValue:37381,SubjectDistance:37382,MeteringMode:37383,LightSource:37384,Flash:37385,FocalLength:37386,SubjectArea:37396,MakerNote:37500,UserComment:37510,SubSecTime:37520,SubSecTimeOriginal:37521,SubSecTimeDigitized:37522,FlashpixVersion:40960,ColorSpace:40961,PixelXDimension:40962,PixelYDimension:40963,RelatedSoundFile:40964,InteroperabilityTag:40965,FlashEnergy:41483,SpatialFrequencyResponse:41484,FocalPlaneXResolution:41486,FocalPlaneYResolution:41487,FocalPlaneResolutionUnit:41488,SubjectLocation:41492,ExposureIndex:41493,SensingMethod:41495,FileSource:41728,SceneType:41729,CFAPattern:41730,CustomRendered:41985,ExposureMode:41986,WhiteBalance:41987,DigitalZoomRatio:41988,FocalLengthIn35mmFilm:41989,SceneCaptureType:41990,GainControl:41991,Contrast:41992,Saturation:41993,Sharpness:41994,DeviceSettingDescription:41995,SubjectDistanceRange:41996,ImageUniqueID:42016,CameraOwnerName:42032,BodySerialNumber:42033,LensSpecification:42034,LensMake:42035,LensModel:42036,LensSerialNumber:42037,Gamma:42240},r.GPSIFD={GPSVersionID:0,GPSLatitudeRef:1,GPSLatitude:2,GPSLongitudeRef:3,GPSLongitude:4,GPSAltitudeRef:5,GPSAltitude:6,GPSTimeStamp:7,GPSSatellites:8,GPSStatus:9,GPSMeasureMode:10,GPSDOP:11,GPSSpeedRef:12,GPSSpeed:13,GPSTrackRef:14,GPSTrack:15,GPSImgDirectionRef:16,GPSImgDirection:17,GPSMapDatum:18,GPSDestLatitudeRef:19,GPSDestLatitude:20,GPSDestLongitudeRef:21,GPSDestLongitude:22,GPSDestBearingRef:23,GPSDestBearing:24,GPSDestDistanceRef:25,GPSDestDistance:26,GPSProcessingMethod:27,GPSAreaInformation:28,GPSDateStamp:29,GPSDifferential:30,GPSHPositioningError:31},r.InteropIFD={InteroperabilityIndex:1},r.GPSHelper={degToDmsRational:function(i){var e=Math.abs(i),r=e%1*60,t=r%1*60;return[[Math.floor(e),1],[Math.floor(r),1],[Math.round(100*t),100]]},dmsRationalToDeg:function(i,e){var r="S"===e||"W"===e?-1:1;return(i[0][0]/i[0][1]+i[1][0]/i[1][1]/60+i[2][0]/i[2][1]/3600)*r}},typeof i<"u"?(typeof e<"u"&&e.exports&&(i=e.exports=r),i.piexif=r):window.piexif=r}()}),ao=Wn((i,e)=>{!function(){var i,r,t,n,f,a,o,A,s,l,k,h,u,c,d,b={};function p(){typeof process>"u"&&console.log.apply(console,arguments)}"object"==typeof e?e.exports=b:self.UTIF=b,i=b,function(){"use strict";var e=function(){function i(i){this.message="JPEG error: "+i}return i.prototype=new Error,i.prototype.name="JpegError",i.constructor=i,i}(),r=function(){var i=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),r=4017,n=799,f=3406,a=2276,o=1567,A=3784,s=5793,l=2896;function k(i){null==i&&(i={}),null==i.w&&(i.w=-1),this.V=i.n,this.N=i.w}function h(i,e){for(var r,t,n,f=0,a=[],o=16;o>0&&!i[o-1];)o--;a.push({children:[],index:0});var A=a[0];for(r=0;r0;)A=a.pop();for(A.index++,a.push(A);a.length<=r;)a.push(n={children:[],index:0}),A.children[A.index]=n.children,A=n;f++}r+10)return E--,W>>E&1;if(255===(W=r[n++])){var i=r[n++];if(i){if(220===i&&h){var a=t(r,n+=2);if(n+=2,a>0&&a!==f.s)throw new DNLMarkerError("Found DNL marker (0xFFDC) while parsing scan data",a)}else if(217===i){if(h){var o=8*X;if(o>0&&o>>7}function D(i){for(var r=i;;){switch(typeof(r=r[G()])){case"number":return r;case"object":continue}throw new e("invalid huffman sequence")}}function M(i){for(var e=0;i>0;)e=e<<1|G(),i--;return e}function R(i){if(1===i)return 1===G()?1:-1;var e=M(i);return e>=1<0)F--;else for(var t=A,n=s;t<=n;){var f=D(e.i),a=15&f,o=f>>4;if(0!==a){var l=i[t+=o];e.D[r+l]=R(a)*(1<>4,0==(n=15&f))l<15?(F=M(l)+(1<>4;if(0!==o){var s=i[f+=A];e.D[r+s]=R(o),f++}else{if(A<15)break;f+=16}}},y=1===N?a[0].P*a[0].c:x*f.R;V<=y;){var Q=o?Math.min(y-V,o):y;if(Q>0){for(b=0;b=65488&&_.M<=65495))break;n+=2}return n-I}function d(i,t,k){var h,u,c,d,b,p,g,m,v,w,_,y,C,B,x,Z,I,W=i.$,E=i.D;if(!W)throw new e("missing required Quantization Table.");for(var F=0;F<64;F+=8)v=E[t+F],w=E[t+F+1],_=E[t+F+2],y=E[t+F+3],C=E[t+F+4],B=E[t+F+5],x=E[t+F+6],Z=E[t+F+7],v*=W[F],0!==(w|_|y|C|B|x|Z)?(w*=W[F+1],_*=W[F+2],y*=W[F+3],C*=W[F+4],B*=W[F+5],x*=W[F+6],Z*=W[F+7],u=(h=(h=s*v+128>>8)+(u=s*C+128>>8)+1>>1)-u,I=(c=_)*A+(d=x)*o+128>>8,c=c*o-d*A+128>>8,g=(b=(b=l*(w-Z)+128>>8)+(g=B<<4)+1>>1)-g,p=(m=(m=l*(w+Z)+128>>8)+(p=y<<4)+1>>1)-p,d=(h=h+(d=I)+1>>1)-d,c=(u=u+c+1>>1)-c,I=b*a+m*f+2048>>12,b=b*f-m*a+2048>>12,m=I,I=p*n+g*r+2048>>12,p=p*r-g*n+2048>>12,g=I,k[F]=h+m,k[F+7]=h-m,k[F+1]=u+g,k[F+6]=u-g,k[F+2]=c+p,k[F+5]=c-p,k[F+3]=d+b,k[F+4]=d-b):(I=s*v+512>>10,k[F]=I,k[F+1]=I,k[F+2]=I,k[F+3]=I,k[F+4]=I,k[F+5]=I,k[F+6]=I,k[F+7]=I);for(var S=0;S<8;++S)v=k[S],0!==((w=k[S+8])|(_=k[S+16])|(y=k[S+24])|(C=k[S+32])|(B=k[S+40])|(x=k[S+48])|(Z=k[S+56]))?(u=(h=4112+((h=s*v+2048>>12)+(u=s*C+2048>>12)+1>>1))-u,I=(c=_)*A+(d=x)*o+2048>>12,c=c*o-d*A+2048>>12,d=I,g=(b=(b=l*(w-Z)+2048>>12)+(g=B)+1>>1)-g,p=(m=(m=l*(w+Z)+2048>>12)+(p=y)+1>>1)-p,I=b*a+m*f+2048>>12,b=b*f-m*a+2048>>12,m=I,I=p*n+g*r+2048>>12,p=p*r-g*n+2048>>12,(v=(h=h+d+1>>1)+m)<16?v=0:v>=4080?v=255:v>>=4,(w=(u=u+c+1>>1)+(g=I))<16?w=0:w>=4080?w=255:w>>=4,(_=(c=u-c)+p)<16?_=0:_>=4080?_=255:_>>=4,(y=(d=h-d)+b)<16?y=0:y>=4080?y=255:y>>=4,(C=d-b)<16?C=0:C>=4080?C=255:C>>=4,(B=c-p)<16?B=0:B>=4080?B=255:B>>=4,(x=u-g)<16?x=0:x>=4080?x=255:x>>=4,(Z=h-m)<16?Z=0:Z>=4080?Z=255:Z>>=4,E[t+S]=v,E[t+S+8]=w,E[t+S+16]=_,E[t+S+24]=y,E[t+S+32]=C,E[t+S+40]=B,E[t+S+48]=x,E[t+S+56]=Z):(I=(I=s*v+8192>>14)<-2040?0:I>=2024?255:I+2056>>4,E[t+S]=I,E[t+S+8]=I,E[t+S+16]=I,E[t+S+24]=I,E[t+S+32]=I,E[t+S+40]=I,E[t+S+48]=I,E[t+S+56]=I)}function b(i,e){for(var r=e.P,t=e.c,n=new Int16Array(64),f=0;f=n)return null;var a=t(i,e);if(a>=65472&&a<=65534)return{u:null,M:a,offset:e};for(var o=t(i,f);!(o>=65472&&o<=65534);){if(++f>=n)return null;o=t(i,f)}return{u:a.toString(16),M:o,offset:f}}return k.prototype={parse(r,n){null==n&&(n={});var f,a,o=n.F,A=0,s=null,l=null,k=0;function u(){var i=t(r,A),e=(A+=2)+i-2,n=p(r,e,A);n&&n.u&&(e=n.offset);var f=r.subarray(A,e);return A+=f.length,f}function d(i){for(var e=Math.ceil(i.o/8/i.X),r=Math.ceil(i.s/8/i.B),t=0;t>4){if(Z>>4!=1)throw new e("DQT - invalid table spec");for(y=0;y<64;y++)I[i[y]]=t(r,A),A+=2}else for(y=0;y<64;y++)I[i[y]]=r[A++];g[15&Z]=I}break;case 65472:case 65473:case 65474:if(f)throw new e("Only single frame JPEGs supported");A+=2,(f={}).G=65473===w,f.Z=65474===w,f.precision=r[A++];var W,E=t(r,A),F=0,S=0;A+=2,f.s=o||E,f.o=t(r,A),A+=2,f.W=[],f._={};var X=r[A++];for(_=0;_>4,G=15&r[A+1];F>4?m:v)[15&R]=h(T,N)}break;case 65501:a=t(r,A+=2),A+=2;break;case 65498:var Q,Y=1===++k&&!o;A+=2;var O=r[A++],z=[];for(_=0;_>4],Q.i=m[15&j],z.push(Q)}var H=r[A++],L=r[A++],$=r[A++];try{var K=c(r,A,f,z,a,H,L,$>>4,15&$,Y);A+=K}catch(i){if(i instanceof DNLMarkerError)return this.parse(r,{F:i.s});if(i instanceof EOIMarkerError)break i;throw i}break;case 65500:A+=4;break;case 65535:255!==r[A]&&A--;break;default:var q=p(r,A-2,A-3);if(q&&q.u){A=q.offset;break}if(A>=r.length-1)break i;throw new e("JpegImage.parse - unknown marker: "+w.toString(16))}w=t(r,A),A+=2}for(this.width=f.o,this.height=f.s,this.g=s,this.b=l,this.W=[],_=0;_>8)+y[k+1];return v},get f(){return this.b?!!this.b.a:3===this.p?0!==this.N&&!(82===this.W[0].index&&71===this.W[1].index&&66===this.W[2].index):1===this.N},z:function(i){for(var e,r,t,n=0,f=i.length;n4)throw new e("Unsupported color mode");var a=this.Y(r,t,f);if(1===this.p&&n){for(var o=a.length,A=new Uint8ClampedArray(3*o),s=0,l=0;l3&&(r.t258=r.t258.slice(0,3));var A=r.t258?r.t258[0]:1,s=r.t277?r.t277[0]:1,l=r.t284?r.t284[0]:1;3!=s&&(l=1),2==l&&p("PlanarConfiguration 2 should not be used!");var k=A*s;1==a&&null!=r.t279&&r.t278&&32803==r.t262[0]&&(k=Math.round(8*r.t279[0]/(r.width*r.t278[0]))),r.t50885&&4==r.t50885[0]&&(k=3*r.t258[0]);var h=8*Math.ceil(r.width*k/8),u=r.t273;(null==u||r.t322)&&(u=r.t324);var c=r.t279;1==a&&1==u.length&&(c=[r.height*(h>>>3)]),(null==c||r.t322)&&(c=r.t325);var d=new Uint8Array(r.height*(h>>>3)),b=0;if(null!=r.t322){var g=r.t322[0],m=r.t323[0],v=Math.floor((r.width+g-1)/g),w=Math.floor((r.height+m-1)/m),_=new Uint8Array(0|Math.ceil(g*m*k/8));console.log("====",v,w);for(var y=0;y>>3,v=Math.ceil(b*g*l/8);if(16==b&&!e.isLE&&null==e.t33422)for(var w=0;w>>8&255}else if(3==g)for(h=3;h>3^16368]|Z[_+1]<<8)>>(7&w)&~(-1<>4,y[1]=4095&((15&E(1))<<8|E(2)),y[2]=E(3)>>6&3,y[3]=(63&E(3))<<2|E(4)>>6,y[4]=(63&E(4))<<2|E(5)>>6,y[5]=(63&E(5))<<2|E(6)>>6,y[6]=E(6)>>4&3,y[7]=(15&E(6))<<4|E(7)>>4,y[8]=(15&E(7))<<4|E(8)>>4,y[9]=(15&E(8))<<4|E(9)>>4,y[10]=E(9)>>2&3,y[11]=(3&E(9))<<6|E(10)>>2,y[12]=(3&E(10))<<6|E(11)>>2,y[13]=(3&E(11))<<6|E(12)>>2,y[14]=3&E(12),y[15]=E(13),y[16]=E(14),y[17]=E(15),w+=16,_=0}:function(){y[0]=E(0)<<6|E(1)>>2,y[1]=16383&((3&E(1))<<12|E(2)<<4|E(3)>>4),y[2]=E(3)>>2&3,y[3]=(3&E(3))<<8|E(4),y[4]=E(5)<<2|E(6)>>6,y[5]=(63&E(6))<<4|E(7)>>4,y[6]=E(7)>>2&3,y[7]=(3&E(7))<<8|E(8),y[8]=E(9)<<2&1020|E(10)>>6,y[9]=1023&(E(10)<<4|E(11)>>4),y[10]=E(11)>>2&3,y[11]=(3&E(11))<<8|E(12),y[12]=1023&(E(13)<<2&1020|E(14)>>6),y[13]=1023&(E(14)<<4|E(15)>>4),w+=16,_=0},V=S?14:11,G=S?128:512,D=S?2048:8192,M=S?16383:65535,R=S?4095:16383,T=d/V,P=16*T,N=S?18:14;for(k=0;kl&&(J+=B[s]-l),B[s]=J):(C[s]=J,J?B[s]=J:J=B[s]),I[x+h++]=J-15<=M?J-15&M:J+2147483633>>31&R}}}}else if(5==g){var U=12==p?10:9;for(k=0;k>4),I[x++]=((15&y[4])<<8)+y[3],I[x++]=16*y[5]+(y[4]>>4),I[x++]=((15&y[7])<<8)+y[6],I[x++]=16*y[8]+(y[7]>>4),I[x++]=((15&y[10])<<8)+y[9],I[x++]=16*y[11]+(y[10]>>4),I[x++]=((15&y[13])<<8)+y[12],I[x++]=16*y[14]+(y[13]>>4)):14==p&&(I[x++]=y[0]+((63&y[1])<<8),I[x++]=(y[1]>>6)+4*y[2]+((15&y[3])<<10),I[x++]=(y[3]>>4)+16*y[4]+((3&y[5])<<12),I[x++]=((252&y[5])>>2)+(y[6]<<6),I[x++]=y[7]+((63&y[8])<<8),I[x++]=(y[8]>>6)+4*y[9]+((15&y[10])<<10),I[x++]=(y[10]>>4)+16*y[11]+((3&y[12])<<12),I[x++]=((252&y[12])>>2)+(y[13]<<6),I[x++]=y[14]+((63&y[15])<<8))}else{if(4!=g)throw g;for(k=0;k>3-W(2)),B[s]?0!=(o=W(8))&&(C[s]-=128<11)&&(C[s]=B[s]<<4|W(4))),I[x++]=C[1&h]}},i.decode._decodeVC5=function(){var e,r,t,n=[1,0,1,0,2,2,1,1,3,7,1,2,5,25,1,3,6,48,1,4,6,54,1,5,7,111,1,8,7,99,1,6,7,105,12,0,7,107,1,7,8,209,20,0,8,212,1,9,8,220,1,10,9,393,1,11,9,394,32,0,9,416,1,12,9,427,1,13,10,887,1,18,10,784,1,14,10,790,1,15,10,835,60,0,10,852,1,16,10,885,1,17,11,1571,1,19,11,1668,1,20,11,1669,100,0,11,1707,1,21,11,1772,1,22,12,3547,1,29,12,3164,1,24,12,3166,1,25,12,3140,1,23,12,3413,1,26,12,3537,1,27,12,3539,1,28,13,7093,1,35,13,6283,1,30,13,6331,1,31,13,6335,180,0,13,6824,1,32,13,7072,1,33,13,7077,320,0,13,7076,1,34,14,12565,1,36,14,12661,1,37,14,12669,1,38,14,13651,1,39,14,14184,1,40,15,28295,1,46,15,28371,1,47,15,25320,1,42,15,25336,1,43,15,25128,1,41,15,27300,1,44,15,28293,1,45,16,50259,1,48,16,50643,1,49,16,50675,1,50,16,56740,1,53,16,56584,1,51,16,56588,1,52,17,113483,1,61,17,113482,1,60,17,101285,1,55,17,101349,1,56,17,109205,1,57,17,109207,1,58,17,100516,1,54,17,113171,1,59,18,202568,1,62,18,202696,1,63,18,218408,1,64,18,218412,1,65,18,226340,1,66,18,226356,1,67,18,226358,1,68,19,402068,1,69,19,405138,1,70,19,405394,1,71,19,436818,1,72,19,436826,1,73,19,452714,1,75,19,452718,1,76,19,452682,1,74,20,804138,1,77,20,810279,1,78,20,810790,1,79,20,873638,1,80,20,873654,1,81,20,905366,1,82,20,905430,1,83,20,905438,1,84,21,1608278,1,85,21,1620557,1,86,21,1621582,1,87,21,1621583,1,88,21,1747310,1,89,21,1810734,1,90,21,1810735,1,91,21,1810863,1,92,21,1810879,1,93,22,3621725,1,99,22,3621757,1,100,22,3241112,1,94,22,3494556,1,95,22,3494557,1,96,22,3494622,1,97,22,3494623,1,98,23,6482227,1,102,23,6433117,1,101,23,6989117,1,103,23,6989119,1,105,23,6989118,1,104,23,7243449,1,106,23,7243512,1,107,24,13978233,1,111,24,12964453,1,109,24,12866232,1,108,24,14486897,1,113,24,13978232,1,110,24,14486896,1,112,24,14487026,1,114,24,14487027,1,115,25,25732598,1,225,25,25732597,1,189,25,25732596,1,188,25,25732595,1,203,25,25732594,1,202,25,25732593,1,197,25,25732592,1,207,25,25732591,1,169,25,25732590,1,223,25,25732589,1,159,25,25732522,1,235,25,25732579,1,152,25,25732575,1,192,25,25732489,1,179,25,25732573,1,201,25,25732472,1,172,25,25732576,1,149,25,25732488,1,178,25,25732566,1,120,25,25732571,1,219,25,25732577,1,150,25,25732487,1,127,25,25732506,1,211,25,25732548,1,125,25,25732588,1,158,25,25732486,1,247,25,25732467,1,238,25,25732508,1,163,25,25732552,1,228,25,25732603,1,183,25,25732513,1,217,25,25732587,1,168,25,25732520,1,122,25,25732484,1,128,25,25732562,1,249,25,25732505,1,187,25,25732504,1,186,25,25732483,1,136,25,25928905,1,181,25,25732560,1,255,25,25732500,1,230,25,25732482,1,135,25,25732555,1,233,25,25732568,1,222,25,25732583,1,145,25,25732481,1,134,25,25732586,1,167,25,25732521,1,248,25,25732518,1,209,25,25732480,1,243,25,25732512,1,216,25,25732509,1,164,25,25732547,1,140,25,25732479,1,157,25,25732544,1,239,25,25732574,1,191,25,25732564,1,251,25,25732478,1,156,25,25732546,1,139,25,25732498,1,242,25,25732557,1,133,25,25732477,1,162,25,25732515,1,213,25,25732584,1,165,25,25732514,1,212,25,25732476,1,227,25,25732494,1,198,25,25732531,1,236,25,25732530,1,234,25,25732529,1,117,25,25732528,1,215,25,25732527,1,124,25,25732526,1,123,25,25732525,1,254,25,25732524,1,253,25,25732523,1,148,25,25732570,1,218,25,25732580,1,146,25,25732581,1,147,25,25732569,1,224,25,25732533,1,143,25,25732540,1,184,25,25732541,1,185,25,25732585,1,166,25,25732556,1,132,25,25732485,1,129,25,25732563,1,250,25,25732578,1,151,25,25732501,1,119,25,25732502,1,193,25,25732536,1,176,25,25732496,1,245,25,25732553,1,229,25,25732516,1,206,25,25732582,1,144,25,25732517,1,208,25,25732558,1,137,25,25732543,1,241,25,25732466,1,237,25,25732507,1,190,25,25732542,1,240,25,25732551,1,131,25,25732554,1,232,25,25732565,1,252,25,25732475,1,171,25,25732493,1,205,25,25732492,1,204,25,25732491,1,118,25,25732490,1,214,25,25928904,1,180,25,25732549,1,126,25,25732602,1,182,25,25732539,1,175,25,25732545,1,141,25,25732559,1,138,25,25732537,1,177,25,25732534,1,153,25,25732503,1,194,25,25732606,1,160,25,25732567,1,121,25,25732538,1,174,25,25732497,1,246,25,25732550,1,130,25,25732572,1,200,25,25732474,1,170,25,25732511,1,221,25,25732601,1,196,25,25732532,1,142,25,25732519,1,210,25,25732495,1,199,25,25732605,1,155,25,25732535,1,154,25,25732499,1,244,25,25732510,1,220,25,25732600,1,195,25,25732607,1,161,25,25732604,1,231,25,25732473,1,173,25,25732599,1,226,26,51465122,1,116,26,51465123,0,1],f=[3,3,3,3,2,2,2,1,1,1];function a(i){var e=i[1],r=i[0][e>>>3]>>>7-(7&e)&1;return i[1]++,r}function o(i,r){if(null==e){e={};for(var t=0;t>>=1;return i}function s(i,e){return i>>e}function l(i,e,r,t,n,f){e[r]=s(s(11*i[n]-4*i[n+f]+i[n+f+f]+4,3)+i[t],1),e[r+f]=s(s(5*i[n]+4*i[n+f]-i[n+f+f]+4,3)-i[t],1)}function k(i,e,r,t,n,f){var a=i[n-f]-i[n+f],o=i[n],A=i[t];e[r]=s(s(a+4,3)+o+A,1),e[r+f]=s(s(4-a,3)+o-A,1)}function h(i,e,r,t,n,f){e[r]=s(s(5*i[n]+4*i[n-f]-i[n-f-f]+4,3)+i[t],1),e[r+f]=s(s(11*i[n]-4*i[n-f]+i[n-f-f]+4,3)-i[t],1)}function u(i){return i=t[i=i<0?0:i>4095?4095:i]>>>2}return function(e,n,a,s,c,d){s=new Uint16Array(s.buffer);var b,p,g,m,v,w,_,y,C=Date.now(),B=i._binBE,x=n+a;n+=4;for(var Z=1==d[0];n>>1)*(p>>>1));for(y=new Int16Array((b>>>1)*(p>>>1)),r=new Int16Array(1024),X=0;X<1024;X++){var V=X-512,G=Math.abs(V),D=Math.floor(768*G*G*G/16581375)+G;r[X]=Math.sign(V)*D}for(t=new Uint16Array(4096),X=0;X<4096;X++){var M=X,R=65535*(Math.pow(113,M/4095)-1)/112;t[X]=Math.min(R,65535)}}var T=_[v],P=A(b,1+f[g]),N=A(p,1+f[g]);if(0==g)for(var Q=0;Q>>1)+Y]=e[O]<<8|e[O+1]}else{var z=[e,8*n],J=[],U=0,j=P*N,H=[0,0],L=0;for(W=0;U0;)J[U++]=W,L--;var $=(g-1)%3,K=1!=$?P:0,q=0!=$?N:0;for(Q=0;Q>>1)+K,ei=Q*P;for(Y=0;Y>>1,ti=2*P,ni=2*N;for(Q=0;Q>14-2*li&3;var ki=Ai[si];if(0!=ki)for(Q=0;Q>>1)*(b>>>1)+(Y>>>1)],gi=ui[O]-2048,mi=ci[O]-2048,vi=di[O]-2048,wi=(gi<<1)+pi,_i=(mi<<1)+pi,yi=pi+vi,Ci=pi-vi;Z?(s[bi]=u(yi),s[bi+1]=u(_i),s[bi+b]=u(wi),s[bi+b+1]=u(Ci)):(s[bi]=u(wi),s[bi+1]=u(yi),s[bi+b]=u(Ci),s[bi+b+1]=u(_i))}}n+=4*S}}}console.log(Date.now()-C)}}(),i.decode._decodeLogLuv32=function(i,e,r,t,n,f){for(var a=i.width,o=4*a,A=0,s=new Uint8Array(o);A>>11,c=15&k>>>22,d=15&k>>>26,b=0;b<4&&128<>3))>>>(7&p)&127)<2047&&(m[_]=2047),p+=7);for(_=0;_<16;_++,Z+=2)D=m[_]<<1,i.decode._putsF(f,(I*o+Z)*s,D<<16-s);Z-=1&Z?1:31}}}else for(var _=0;_>>4,f[a+_+1]=y<<4|B>>>4,f[a+_+2]=B<<4|C>>>4}else{A+=8;var x,Z,I,W=[t,0,0,0],E=new Uint16Array(32770),F=[3857,3856,3599,3342,3085,2828,2571,2314,2057,1800,1543,1286,1029,772,771,768,514,513],S=0,X=i.decode._ljpeg_diff;for(E[0]=15,x=_=0;_<18;_++)for(var V=32768>>>(F[_]>>>8),G=0;G>>1,_=0;_1&&(F=Math.floor(E/(S-1))),68==B&&32==x&&F>0&&(u=I.readShort(p,562));var X,V,G,D,M,R=[0,0],T=c(A[h]),P=[n,0,0,0];for(X=0;X>>4),0)<<1)<>>1)&1<>>3;i[t]|=r>>>16,i[t+1]|=r>>>8,i[t+2]|=r},i.decode._getbithuff=function(e,r,t,n){i.decode._get_byte;var f,a=r[0],o=r[1],A=r[2],s=r[3];if(0==t||A<0)return 0;for(;!s&&A>>32-t,n?(A-=n[f+1]>>>8,f=255&n[f+1]):A-=t,A<0)throw"e";return r[0]=a,r[1]=o,r[2]=A,r[3]=s,f},i.decode._make_decoder=function(i){var e,r,t,n,f,a=[];for(e=16;0!=e&&!i[e];e--);var o=17;for(a[0]=e,t=r=1;r<=e;r++)for(n=0;n>>8;else for(k=0;k>>8,f[a+(k<<1)+1]=255&b[k];else if(14==c||12==c||10==c){var x=16-c;for(k=0;k1),!h){if(255==e[r]&&e[r+1]==s)return{jpegOffset:r};if(null!=u&&(255==e[r+c]&&e[r+c+1]==s?l=r+c:p("JPEGInterchangeFormat does not point to SOI"),null==d?p("JPEGInterchangeFormatLength field is missing"):(c>=k||c+b<=k)&&p("JPEGInterchangeFormatLength field value is invalid"),null!=l))return{jpegOffset:l}}if(null!=m&&(v=m[0],w=m[1]),null!=u&&null!=d)if(b>=2&&c+b<=k){for(n=255==e[r+c+b-2]&&e[r+c+b-1]==s?new Uint8Array(b-2):new Uint8Array(b),a=0;a offset to first strip or tile");if(null==n){var C=0,B=[];B[C++]=255,B[C++]=s;var x=i.t519;if(null==x)throw new Error("JPEGQTables tag is missing");for(a=0;a>>8,B[C++]=255&I,B[C++]=a|A<<4,o=0;o<16;o++)B[C++]=e[r+Z[a]+o];for(o=0;o>>8&255,B[C++]=255&i.height,B[C++]=i.width>>>8&255,B[C++]=255&i.width,B[C++]=_,1==_)B[C++]=1,B[C++]=17,B[C++]=0;else for(a=0;a<3;a++)B[C++]=a+1,B[C++]=0!=a?17:(15&v)<<4|15&w,B[C++]=a;null!=y&&0!=y[0]&&(B[C++]=255,B[C++]=221,B[C++]=0,B[C++]=4,B[C++]=y[0]>>>8&255,B[C++]=255&y[0]),n=new Uint8Array(B)}var W=-1;for(a=0;a>>8&255,n[F++]=255&i.height,n[F++]=i.width>>>8&255,n[F++]=255&i.width,n[F++]=_,1==_)n[F++]=1,n[F++]=17,n[F++]=0;else for(a=0;a<3;a++)n[F++]=a+1,n[F++]=0!=a?17:(15&v)<<4|15&w,n[F++]=a}if(255==e[k]&&218==e[k+1]){var S=e[k+2]<<8|e[k+3];for((f=new Uint8Array(S+2))[0]=e[k],f[1]=e[k+1],f[2]=e[k+2],f[3]=e[k+3],a=0;a>>8&255,s[k.sofPosition+6]=255&e.height,s[k.sofPosition+7]=e.width>>>8&255,s[k.sofPosition+8]=255&e.width,(255!=r[t]||r[t+1]!=SOS)&&(s.set(k.sosMarker,l),l+=sosMarker.length),d=0;d=0&&A<128)for(var s=0;s=-127&&A<0){for(s=0;s<1-A;s++)a[n]=f[e],n++;e++}}return n},i.decode._decodeThunder=function(i,e,r,t,n){for(var f=[0,1,0,-1],a=[0,1,2,3,0,-3,-2,-1],o=e+r,A=2*n,s=0;e>>6,h=63&l;if(e++,3==k&&(s=15&h,t[A>>>1]|=s<<4*(1-A&1),A++),0==k)for(var u=0;u>>1]|=s<<4*(1-A&1),A++;if(2==k)for(u=0;u<2;u++)4!=(c=h>>>3*(1-u)&7)&&(s+=a[c],t[A>>>1]|=s<<4*(1-A&1),A++);if(1==k)for(u=0;u<3;u++){var c;2!=(c=h>>>2*(2-u)&3)&&(s+=f[c],t[A>>>1]|=s<<4*(1-A&1),A++)}}},i.decode._dmap={1:0,"011":1,"000011":2,"0000011":3,"010":-1,"000010":-2,"0000010":-3},i.decode._lens=function(){var i=function(i,e,r,t){for(var n=0;n>>3>>3]>>>7-(7&s)&1),2==o&&(C=e[s>>>3]>>>(7&s)&1),s++,k+=C,"H"==w){if(null!=A._lens[m][k]){var B=A._lens[m][k];k="",l+=B,B<64&&(A._addNtimes(h,l,m),d+=l,m=1-m,l=0,0==--_&&(w=""))}}else"0001"==k&&(k="",A._addNtimes(h,g-d,m),d=g),"001"==k&&(k="",w="H",_=2),null!=A._dmap[k]&&(b=p+A._dmap[k],A._addNtimes(h,b-d,m),d=b,k="",m=1-m);h.length==a&&""==w&&(A._writeBits(h,n,8*f+v*y),m=0,v++,d=0,u=A._makeDiff(h),h=[])}},i.decode._findDiff=function(i,e,r){for(var t=0;t=e&&i[t+1]==r)return i[t]},i.decode._makeDiff=function(i){var e=[];1==i[0]&&e.push(0,1);for(var r=1;r>>3>>3]>>>7-(7&s)&1),2==o&&(b=e[s>>>3]>>>(7&s)&1),s++,k+=b,null!=(l=A._lens[u][k])&&(A._addNtimes(h,l,u),k="",l<64&&(u=1-u),h.length==a&&(A._writeBits(h,n,8*f+c*d),h=[],c++,u=0,!!(7&s)&&(s+=8-(7&s)),l>=64&&(s+=8)))}},i.decode._decodeG3=function(e,r,t,n,f,a,o,A){for(var s=i.decode,l=r<<3,k=0,h="",u=[],c=[],d=0;d>>3>>3]>>>7-(7&l)&1),2==o&&(x=e[l>>>3]>>>(7&l)&1),l++,h+=x,C){if(null!=s._lens[v][h]){var Z=s._lens[v][h];h="",k+=Z,Z<64&&(s._addNtimes(u,k,v),v=1-v,k=0)}}else"H"==_?null!=s._lens[v][h]&&(Z=s._lens[v][h],h="",k+=Z,Z<64&&(s._addNtimes(u,k,v),b+=k,v=1-v,k=0,0==--y&&(_=""))):("0001"==h&&(h="",s._addNtimes(u,m-b,v),b=m),"001"==h&&(h="",_="H",y=2),null!=s._dmap[h]&&(p=g+s._dmap[h],s._addNtimes(u,p-b,v),b=p,h="",v=1-v));h.endsWith("000000000001")&&(w>=0&&s._writeBits(u,n,8*f+w*B),A&&(1==o&&(C=1==(e[l>>>3]>>>7-(7&l)&1)),2==o&&(C=1==(e[l>>>3]>>>(7&l)&1)),l++),h="",v=0,w++,b=0,c=s._makeDiff(u),u=[])}u.length==a&&s._writeBits(u,n,8*f+w*B)},i.decode._addNtimes=function(i,e,r){for(var t=0;t>>3]|=i[t]<<7-(r+t&7)},i.decode._decodeLZW=i.decode._decodeLZW=(a=0,o=0,A=0,s=0,l=function(){var i=r>>>3,e=(t[i]<<16|t[i+1]<<8|t[i+2])>>>24-(7&r)-o&(1<>>----------------");for(var s=0;sr.buffer.byteLength&&(h=r.buffer.byteLength-d),c=new Uint8Array(r.buffer,d,h)}if(2==k){var b=h<5?t-4:u,g=r[b],m=Math.max(0,Math.min(h-1,r.length-b));g<128||0==m?c.push(e.readASCII(r,b,m)):c=new Uint8Array(r.buffer,b,m)}if(3==k)for(var v=0;v4&&(e.writeUint(t,n,A),b=A),1==h||7==h)for(var p=0;p4&&(A+=d+=1&d),n+=4}}return[n,A]},i.toRGBA8=function(i,e){function r(i){return i<.0031308?12.92*i:1.055*Math.pow(i,1/2.4)-.055}var t=i.width,n=i.height,f=t*n,a=i.data,o=new Uint8Array(4*f),A=i.t262?i.t262[0]:2,s=i.t258?Math.min(32,i.t258[0]):1;null==i.t262&&1==s&&(A=0);var l=i.t277?i.t277[0]:i.t258?i.t258.length:[1,1,3,1,1,4,3][A],k=i.t339?i.t339[0]:null;if(1==A&&32==s&&3!=k)throw"e";var h=Math.ceil(l*s*t/8);if(0==A){e=1/256;for(var u=0;u>3)]>>7-(7&b)&1;o[g]=o[g+1]=o[g+2]=255*(1-m),o[g+3]=255}if(4==s)for(b=0;b>1)]>>4-4*(1&b)&15,o[g]=o[g+1]=o[g+2]=17*(15-m),o[g+3]=255;if(8==s)for(b=0;b>3)]>>7-(7&b)&1,o[g]=o[g+1]=o[g+2]=255*m,o[g+3]=255;if(2==s)for(b=0;b>2)]>>6-2*(3&b)&3,o[g]=o[g+1]=o[g+2]=85*m,o[g+3]=255;if(8==s)for(b=0;b>>2)+b],o[g]=o[g+1]=o[g+2]=~~(.5+255*m),o[g+3]=255}}}else if(2==A)if(8==s){if(1==l)for(b=0;b=4)for(b=0;b1&&i.t338&&0!=i.t338[0];for(u=0;u>>3)]>>>7-(7&F)&1;else if(2==s)S=a[X+(F>>>2)]>>>6-2*(3&F)&3;else if(4==s)S=a[X+(F>>>1)]>>>4-4*(1&F)&15;else{if(8!=s)throw s;S=a[X+F*l]}o[g]=I[S]>>8,o[g+1]=I[W+S]>>8,o[g+2]=I[W+W+S]>>8,o[g+3]=E?a[X+F*l+1]:255}}else if(5==A){var V=l>4?1:0;for(b=0;b>>1))+(1&Y)];var O=a[G+2]-128,z=a[G+3]-128,J=R+((z>>2)+(z>>3)+(z>>5)),U=R-((O>>2)+(O>>4)+(O>>5))-((z>>1)+(z>>3)+(z>>4)+(z>>5)),j=R+(O+(O>>1)+(O>>2)+(O>>6));o[g]=Math.max(0,Math.min(255,J)),o[g+1]=Math.max(0,Math.min(255,U)),o[g+2]=Math.max(0,Math.min(255,j)),o[g+3]=255}}}else if(8==A){if(3!=l||16!=s)throw"e";var H=new Uint16Array(a.buffer),L=new Int16Array(a.buffer);for(M=[3.1338561,-1.6168667,-.4906146,-.9787684,1.9161415,.033454,.0719453,-.2289914,1.4052427],u=0;uii?ai:(116*fi-16)/q)*(96.42/100),Ai=(R=1*(ri>ii?ri:(116*ei-16)/q),.8249*(ni>ii?ni:(116*ti-16)/q));o[g]=Math.max(0,Math.min(255,255*r(oi*M[0]+R*M[1]+Ai*M[2]))),o[g+1]=Math.max(0,Math.min(255,255*r(oi*M[3]+R*M[4]+Ai*M[5]))),o[g+2]=Math.max(0,Math.min(255,255*r(oi*M[6]+R*M[7]+Ai*M[8]))),o[g+3]=255}}else if(32845==A)for(u=0;un&&(n=A,f=o)}}i.decodeImage(e,f,r);var s=i.toRGBA8(f),l=f.width,k=f.height,h=document.createElement("canvas");h.width=l,h.height=k;var u=h.getContext("2d"),c=new ImageData(new Uint8ClampedArray(s.buffer),l,k);return u.putImageData(c,0,0),h.toDataURL()},i._binBE={nextZero:function(i,e){for(;0!=i[e];)e++;return e},readUshort:function(i,e){return i[e]<<8|i[e+1]},readShort:function(e,r){var t=i._binBE.ui8;return t[0]=e[r+1],t[1]=e[r+0],i._binBE.i16[0]},readInt:function(e,r){var t=i._binBE.ui8;return t[0]=e[r+3],t[1]=e[r+2],t[2]=e[r+1],t[3]=e[r+0],i._binBE.i32[0]},readUint:function(e,r){var t=i._binBE.ui8;return t[0]=e[r+3],t[1]=e[r+2],t[2]=e[r+1],t[3]=e[r+0],i._binBE.ui32[0]},readASCII:function(i,e,r){for(var t="",n=0;n>8&255,i[e+1]=255&r},writeInt:function(e,r,t){var n=i._binBE.ui8;i._binBE.i32[0]=t,e[r+3]=n[0],e[r+2]=n[1],e[r+1]=n[2],e[r+0]=n[3]},writeUint:function(i,e,r){i[e]=r>>24&255,i[e+1]=r>>16&255,i[e+2]=r>>8&255,i[e+3]=255&r},writeASCII:function(i,e,r){for(var t=0;t>8&255},writeInt:function(e,r,t){var n=i._binBE.ui8;i._binBE.i32[0]=t,e[r+0]=n[0],e[r+1]=n[1],e[r+2]=n[2],e[r+3]=n[3]},writeUint:function(i,e,r){i[e]=r>>>0&255,i[e+1]=r>>>8&255,i[e+2]=r>>>16&255,i[e+3]=r>>>24&255},writeASCII:i._binBE.writeASCII},i._copyTile=function(i,e,r,t,n,f,a,o){for(var A=Math.min(e,n-a),s=Math.min(r,f-o),l=0;l>>2<<5));0==a;)if(a=b(e,c,1),o=b(e,c+1,2),c+=3,0!=o){if(y&&(r=i.H.W(r,u+(1<<17))),1==o&&(t=_.J,n=_.h,k=511,h=31),2==o){A=p(e,c,5)+257,s=p(e,c+5,5)+1,l=p(e,c+10,4)+4,c+=14;for(var C=1,B=0;B<38;B+=2)_.Q[B]=0,_.Q[B+1]=0;for(B=0;BC&&(C=x)}c+=3*l,m(_.Q,C),v(_.Q,C,_.u),t=_.w,n=_.d,c=g(_.u,(1<>>4;if(E>>>8){if(256==E)break;var F=u+E-254;if(E>264){var S=_.q[E-257];F=u+(S>>>3)+p(e,c,7&S),c+=7&S}var X=n[w(e,c)&h];c+=15&X;var V=X>>>4,G=_.c[V],D=(G>>>4)+b(e,c,15&G);for(c+=15&G;u>>3)+4,R=e[M-4]|e[M-3]<<8;y&&(r=i.H.W(r,u+R)),r.set(new f(e.buffer,e.byteOffset+M,R),u),c=M+R<<3,u+=R}return r.length==u?r:r.slice(0,u)},i.H.W=function(i,e){var r=i.length;if(e<=r)return i;var t=new Uint8Array(r<<1);return t.set(i,0),t},i.H.R=function(e,r,t,n,f,a){for(var o=i.H.e,A=i.H.Z,s=0;s>>4;if(k<=15)a[s]=k,s++;else{var h=0,u=0;16==k?(u=3+o(n,f,2),f+=2,h=a[s-1]):17==k?(u=3+o(n,f,3),f+=3):18==k&&(u=11+o(n,f,7),f+=7);for(var c=s+u;s>>1;fn&&(n=o),f++}for(;f>1,A=e[a+1],s=o<<4|A,l=r-A,k=e[a]<>>15-r]=s,k++},i.H.l=function(e,r){for(var t=i.H.m.r,n=15-r,f=0;f>>n}},i.H.M=function(i,e,r){r<<=7&e;var t=e>>>3;i[t]|=r,i[t+1]|=r>>>8},i.H.I=function(i,e,r){r<<=7&e;var t=e>>>3;i[t]|=r,i[t+1]|=r>>>8,i[t+2]|=r>>>16},i.H.e=function(i,e,r){return(i[e>>>3]|i[(e>>>3)+1]<<8)>>>(7&e)&(1<>>3]|i[(e>>>3)+1]<<8|i[(e>>>3)+2]<<16)>>>(7&e)&(1<>>3]|i[(e>>>3)+1]<<8|i[(e>>>3)+2]<<16)>>>(7&e)},i.H.i=function(i,e){return(i[e>>>3]|i[(e>>>3)+1]<<8|i[(e>>>3)+2]<<16|i[(e>>>3)+3]<<24)>>>(7&e)},i.H.m=function(){var i=Uint16Array,e=Uint32Array;return{K:new i(16),j:new i(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 i(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 e(32),J:new i(512),_:[],h:new i(32),$:[],w:new i(32768),C:[],v:[],d:new i(32768),D:[],u:new i(512),Q:[],r:new i(32768),s:new e(286),Y:new e(30),a:new e(19),t:new e(15e3),k:new i(65536),g:new i(32768)}}(),function(){for(var e=i.H.m,r=0;r<32768;r++){var t=r;t=(4278255360&(t=(4042322160&(t=(3435973836&(t=(2863311530&t)>>>1|(1431655765&t)<<1))>>>2|(858993459&t)<<2))>>>4|(252645135&t)<<4))>>>8|(16711935&t)<<8,e.r[r]=(t>>>16|t<<16)>>>17}function n(i,e,r){for(;0!=e--;)i.push(0,r)}for(r=0;r<32;r++)e.q[r]=e.S[r]<<3|e.T[r],e.c[r]=e.p[r]<<4|e.z[r];n(e._,144,8),n(e._,112,9),n(e._,24,7),n(e._,8,8),i.H.n(e._,9),i.H.A(e._,9,e.J),i.H.l(e._,9),n(e.$,32,5),i.H.n(e.$,5),i.H.A(e.$,5,e.h),i.H.l(e.$,5),n(e.Q,19,0),n(e.C,286,0),n(e.D,30,0),n(e.v,320,0)}(),i.H.N}(),i.LosslessJpegDecode=function(){var i,e;function r(){return i[e++]}function t(){return i[e++]<<8|i[e++]}function n(i){for(var e=r(),t=[0,0,0,255],n=[],a=0;a<16;a++)n[a]=r();for(a=0;a<16;a++)for(var o=0;o>--s&1)];A[a]=k}}function f(i,e,r,t){if(255!=i[e+3])return 0;if(0==r)return e;for(var n=0;n<2;n++){0==i[e+n]&&(i[e+n]=i.length,i.push(0,0,t,255));var a=f(i,i[e+n],r-1,t+1);if(0!=a)return a}return 0}function a(i){for(var e=i.c,r=i.f;e<25&&i.d>(e.c-=i)&65535>>16-i}function A(i,e){var r=i[0],t=0,n=255;e.c<16&&a(e);var f=e.f>>e.c-8&255;for(n=r[(t=i[1][f])+3],e.c-=r[t+2];255==n;)n=r[(t=r[t+(e.f>>--e.c&1)])+3];return n}function s(i,e){return i<32768>>16-e&&(i+=1-(1<>>1);else if(6==e)b=i[c]+(d-i[c-a]>>>1);else{if(7!=e)throw e;b=d+i[c]>>>1}i[u]+=b}}}return function(f){if(i=f,e=0,65496!=t())throw"e";for(var a=[],o=0,s=0,l=0,c=[],d=[],b=[],p=0,g=0,m=0;;){var v=t();if(65535!=v){var w=t();if(65475==v){s=r(),g=t(),m=t(),p=r();for(var _=0;_>4,15&C]}}else if(65476==v)for(var B=e+w-2;e>>4],c[x[0]]=x.slice(1)}o=r(),e+=2;break}65501==v?l=t():e+=w-2}}else e--}var Z=new(s>8?Uint16Array:Uint8Array)(g*m*p),I={c:0,f:0,b:8==o,d:e,data:i,a:i.length,e:l};if(I.b)!function(r,t,n,f,a){for(var o=i.length-e,s=0;sE&&(E=Q),(N=S[1])>F&&(F=N),W.push(Q*N)}if(1!=E||1!=F){if(3!=p||1!=W[1]||1!=W[2]||2!=E||1!=F&&2!=F)throw"e";var X=[],V=0;for(_=0;_>>1)*D+(Q>>>1))*V,O=2*(1&N)+(1&Q);Z[z=(N*m+Q)*p]=P[Y+O],Z[z+1]=P[Y+4],Z[z+2]=P[Y+5]}else for(Q=0;Q>>1))*V,O=1&Q,Z[z=(N*m+Q)*p]=P[Y+O],Z[z+1]=P[Y+2],Z[z+2]=P[Y+3]}}else if(k(Z,m*p,I,b,p,g),0==l)u(Z,o,m,g,0,p,p,s);else{var J=Math.floor(l/m);for(N=0;N>>6),t=0;t<3;t++)for(var n=0;n<41;n++)e[t][n]=[r,1];return e}function o(i,e){var r=0,t=8-i.a;if(i.j,i.a,e){if(e>=t)do{r<<=t,e-=t,r|=i[i.j]&(1<=8);e&&(r<<=e,t-=e,r|=i[i.j]>>>t&(1<u&&h>>2,A)return void(g[d]=c);s=e.t*e.c[i.g+_-v]+e.c[i.g+w-_]}else c=_>w&&_>y||_>>2:C+B>>>1,s=e.t*e.c[i.g+_-w]+e.c[i.g+w-C];l=x(s);var Z=function(i){for(var e=-1,r=0;!r;e++)r=i[i.j]>>>7-i.a&1,i.a++,i.a&=7,i.a||i.j++;return e}(r);if(Z>>1):p>>>1,a[l][0]+=x(p),a[l][1]==i.f&&(a[l][0]>>>=1,a[l][1]>>>=1),a[l][1]++,c=s<0?c-p:c+p,i.i&&(c<0?c+=e.w:c>i.g&&(c-=e.w)),g[d]=c>=0?Math.min(c,i.g):0}function s(i,e,r){for(var t=i[0].length,n=e;n<=r;n++)i[n][0]=i[n-1][1],i[n][t-1]=i[n-1][t-2]}function l(i){s(i,7,12),s(i,2,4),s(i,15,17)}function k(i,e,r,n,f,a,o,s,k,h,u,c,d){for(var b=0,p=1,g=f4;p8&&(A(i,e,r,n,f,p,s[k]),A(i,e,r,n,a,p,s[k]),p+=2);l(n)}function h(i,e,r,t,n,f){k(i,e,r,t,2,7,n,f,0,0,1,0,8),k(i,e,r,t,8,15,n,f,1,0,1,0,8),k(i,e,r,t,3,9,n,f,2,1,0,3,0),k(i,e,r,t,10,16,n,f,0,0,0,3,2),k(i,e,r,t,4,11,n,f,1,0,0,3,2),k(i,e,r,t,12,17,n,f,2,1,0,3,0)}function u(i,e,r,t,n,f){var a=f.length,o=i.l;n+1==i.s&&(o=i.e-n*i.l);for(var A=6*i.e*t+n*i.l,s=0;s<6;s++){for(var l=0;l>>1):2==h?15+(s>>>1):7+s;var u=i.h?(2*l/3&2147483646|l%3&1)+(l%3>>>1):l>>>1;e[A+l]=r[k][u+1]}A+=i.e}}i._decompressRAF=function(o,A){var s=function(e){var r=i._binBE.readUshort,t={b:r(e,0),i:e[2],C:e[3],u:e[4],q:r(e,5),k:r(e,7),e:r(e,9),l:r(e,11),s:e[13],d:r(e,14)};if(18771!=t.b||t.i>1||t.q<6||t.q%6||t.e<768||t.e%24||768!=t.l||t.k=t.l||t.s>16||t.s!=t.k/t.l||t.s!=Math.ceil(t.e/t.l)||t.d!=t.q/6||12!=t.u&&14!=t.u&&16!=t.u||16!=t.C&&0!=t.C)throw"Invalid data";if(0==t.i)throw"Not implemented. We need this file!";return t.h=16==t.C,t.m=0|(t.h?2*t.l/3:t.l>>>1),t.A=t.m+2,t.f=64,t.g=(1<Da,isHeic:()=>Wa});var At,Wa,Sa,Xa,so,Va,Ga,Da,lo=Ea(()=>{At=(i,e,r)=>new Promise((t,n)=>{var f=i=>{try{o(r.next(i))}catch(i){n(i)}},a=i=>{try{o(r.throw(i))}catch(i){n(i)}},o=i=>i.done?t(i.value):Promise.resolve(i.value).then(f,a);o((r=r.apply(i,e)).next())}),Wa=i=>At(void 0,null,function*(){let e=(yield i.arrayBuffer()).slice(8,12);switch(new TextDecoder("utf-8").decode(e).replace("\0"," ").trim()){case"mif1":case"msf1":case"heic":case"heix":case"hevc":case"hevx":return!0}return!1}),Xa=new Blob([Sa='(()=>{var h5=(y1=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(y1,{get:(T1,a1)=>(typeof require!="undefined"?require:T1)[a1]}):y1)(function(y1){if(typeof require!="undefined")return require.apply(this,arguments);throw Error(\'Dynamic require of "\'+y1+\'" is not supported\')});var tJ=(y1,T1)=>()=>(y1&&(T1=y1(y1=0)),T1);var oJ=(y1,T1)=>()=>(T1||y1((T1={exports:{}}).exports,T1),T1.exports);var w5=(y1,T1,a1)=>new Promise((F8,O)=>{var K8=l4=>{try{Si(a1.next(l4))}catch(O4){O(O4)}},E8=l4=>{try{Si(a1.throw(l4))}catch(O4){O(O4)}},Si=l4=>l4.done?F8(l4.value):Promise.resolve(l4.value).then(K8,E8);Si((a1=a1.apply(y1,T1)).next())});var lJ,Po,Lo=tJ(()=>{lJ=(()=>{var T1;var y1=typeof document!="undefined"?(T1=document.currentScript)==null?void 0:T1.src:void 0;return typeof __filename!="undefined"&&(y1||(y1=__filename)),function(a1={}){var F8,O=a1,K8,E8,Si=new Promise((F,N)=>{K8=F,E8=N}),l4=typeof window=="object",O4=typeof importScripts=="function",q8=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",v5=Object.assign({},O),m5=[],Me="./this.program",B5=(F,N)=>{throw N},z4="";function Ko(F){return O.locateFile?O.locateFile(F,z4):z4+F}var xe,Oi;if(q8){var ze=h5("fs"),Z5=h5("path");z4=__dirname+"/",Oi=F=>{F=Se(F)?new URL(F):Z5.normalize(F);var N=ze.readFileSync(F);return N},xe=(F,N=!0)=>(F=Se(F)?new URL(F):Z5.normalize(F),new Promise((M,T)=>{ze.readFile(F,N?void 0:"utf8",($,K)=>{$?T($):M(N?K.buffer:K)})})),!O.thisProgram&&process.argv.length>1&&(Me=process.argv[1].replace(/\\\\/g,"/")),m5=process.argv.slice(2),B5=(F,N)=>{throw process.exitCode=F,N}}else(l4||O4)&&(O4?z4=self.location.href:typeof document!="undefined"&&document.currentScript&&(z4=document.currentScript.src),y1&&(z4=y1),z4.startsWith("blob:")?z4="":z4=z4.substr(0,z4.replace(/[?#].*/,"").lastIndexOf("/")+1),O4&&(Oi=F=>{var N=new XMLHttpRequest;return N.open("GET",F,!1),N.responseType="arraybuffer",N.send(null),new Uint8Array(N.response)}),xe=F=>Se(F)?new Promise((N,M)=>{var T=new XMLHttpRequest;T.open("GET",F,!0),T.responseType="arraybuffer",T.onload=()=>{(T.status==200||T.status==0&&T.response)&&M(T.response),N(T.status)},T.onerror=N,T.send(null)}):fetch(F,{credentials:"same-origin"}).then(N=>N.ok?N.arrayBuffer():Promise.reject(new Error(N.status+" : "+N.url))));var He=O.print||console.log.bind(console),ji=O.printErr||console.error.bind(console);Object.assign(O,v5),v5=null,O.arguments&&(m5=O.arguments),O.thisProgram&&(Me=O.thisProgram),O.quit&&(B5=O.quit);var d6;O.wasmBinary&&(d6=O.wasmBinary);var Pi={Memory:function(F){this.buffer=new ArrayBuffer(F.initial*65536)},Module:function(F){},Instance:function(F,N){this.exports=function(T){function $(n1){return n1.set=function(C2,l){this[C2]=l},n1.get=function(C2){return this[C2]},n1}for(var K,o0=new Uint8Array(123),s0=25;s0>=0;--s0)o0[48+s0]=52+s0,o0[65+s0]=s0,o0[97+s0]=26+s0;o0[43]=62,o0[47]=63;function t0(n1,C2,l){for(var X,i,s=0,Q=C2,k0=l.length,Z0=C2+(k0*3>>2)-(l[k0-2]=="=")-(l[k0-1]=="=");s>4,Q>2),Q>2],A){r=f+549|0;break A}if(k=s[f+548|0],!(!(k&1)&s[f+549|0]!=1|i[f+3208>>2]!=i[f+3212>>2])){if(Ut(f+2140|0),!e)break e;i[e>>2]=i[f+2192>>2];break e}if(r=f+549|0,l[f+549|0]&1|(A|k&1))break A;if(r=13,!e)break e;i[e>>2]=1;break e}if(!B9(f+2140|0,0)){if(r=9,!e)break e;i[e>>2]=1;break e}l[d+15|0]=0,A=i[f+580>>2];A:{f:{if(A){if(A&&(k=i[f+564>>2],r=i[f+576>>2],C=i[i[k+(r>>>8&16777212)>>2]+((r&1023)<<2)>>2],i[f+580>>2]=A-1,r=r+1|0,i[f+576>>2]=r,r>>>0>=2048&&(G(i[k>>2]),i[f+564>>2]=i[f+564>>2]+4,i[f+576>>2]=i[f+576>>2]-1024),i[f+584>>2]=i[f+584>>2]-i[C+24>>2]),!C)break r;S=B-32|0,B=S,Z=i[C+20>>2],h=i[C+24>>2],r=S+8|0,i[r+16>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,i[r+4>>2]=h,i[r>>2]=Z,k=-64;k:{if(!h||(i[r>>2]=Z+1,A=s[Z|0],t=h-1|0,i[r+4>>2]=t,i[r+8>>2]=0,A=A<<24,i[r+12>>2]=A,!t)||(i[r>>2]=Z+2,t=s[Z+1|0],_=h-2|0,i[r+4>>2]=_,i[r+8>>2]=w,A=t<<16|A,i[r+12>>2]=A,!_)||(i[r>>2]=Z+3,t=s[Z+2|0],_=h-3|0,i[r+4>>2]=_,A=t<<8|A,t=A,i[r+8>>2]=w,i[r+12>>2]=A,!_)||(i[r>>2]=Z+4,A=s[Z+3|0],_=h-4|0,i[r+4>>2]=_,i[r+8>>2]=u,A=A|t,i[r+12>>2]=A,!_)||(i[r>>2]=Z+5,t=s[Z+4|0],_=h-5|0,i[r+4>>2]=_,u=A,A=t,t=A>>>8|0,w=A<<24|w,i[r+8>>2]=w,A=t|u,i[r+12>>2]=A,!_)||(i[r>>2]=Z+6,t=s[Z+5|0],_=h-6|0,i[r+4>>2]=_,w=t<<16|w,i[r+8>>2]=w,A=t>>>16|A,i[r+12>>2]=A,!_)||(i[r>>2]=Z+7,t=s[Z+6|0],_=h-7|0,i[r+4>>2]=_,u=A,A=t,t=A>>>24|0,A=A<<8|w,i[r+8>>2]=A,t=t|u,i[r+12>>2]=t,!_))break k;i[r>>2]=Z+8,k=s[Z+7|0],i[r+4>>2]=h-8,i[r+8>>2]=A|k,i[r+12>>2]=t,k=-56}i[r+16>>2]=(((h>>>0>=7?7:h)<<3)+k|0)- -64,l[S+7|0]=0,l[S+5|0]=0,l[S+6|0]=0,ni(r,1),j=S,L=u0(r,6),l[j+5|0]=L,j=S,L=u0(r,6),l[j+6|0]=L,j=S,L=u0(r,3)-1|0,l[j+7|0]=L,r=s[S+5|0],l[f+3204|0]=r,l[f+3206|0]=(r&248)==16,l[f+3205|0]=(r-19&255)>>>0<2;k:{if(s[S+6|0]){w4(f+548|0,C);break k}if(i[f+1904>>2]>>0<=31){o=f,f=S+8|0,t=C,Z=B-16|0,B=Z,A=U(1364),i[A+792>>2]=0,i[A+784>>2]=0,i[A+788>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,q=A+1340|0,r=q,i[r>>2]=0,i[r+4>>2]=0,i[A+1360>>2]=0,i[A+1352>>2]=0,i[A+1356>>2]=0,r=i[A+8>>2],i[A+4>>2]=0,i[A+8>>2]=0;n:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break n;V[i[i[r>>2]+8>>2]](r),g(r)}l[A+40|0]=0,i[A+36>>2]=0,l[A+20|0]=0,i[A+16>>2]=0,X[A+12>>1]=0,i[A>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,X[A+32>>1]=0,Ue(A+42|0),i[A+776>>2]=0,i[A+780>>2]=0,B0(A+144|0,0,237),B0(A+384|0,0,358),l[A+759|0]=0,l[A+760|0]=0,l[A+761|0]=0,l[A+762|0]=0,i[A+752>>2]=0,i[A+756>>2]=0,i[A+744>>2]=0,i[A+748>>2]=0,i[A+764>>2]=0,i[A+768>>2]=0,l[A+772|0]=0,i[A+796>>2]=0,i[A+800>>2]=0,i[A+804>>2]=0,i[A+808>>2]=0,i[A+812>>2]=0,i[A+816>>2]=0,i[A+788>>2]=i[A+784>>2],Ue(A+820|0),B0(A+920|0,0,420),l[A+1348|0]=0,i[A+1356>>2]=i[A+1352>>2],C=f,l[Z+15|0]=0,f=i[A+8>>2],i[A+4>>2]=0,i[A+8>>2]=0;n:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break n;V[i[i[f>>2]+8>>2]](f),g(f)}l[A+40|0]=0,i[A+36>>2]=0,l[A+20|0]=0,i[A+16>>2]=0,X[A+12>>1]=0,i[A>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,X[A+32>>1]=0,k=A+42|0,Ue(k),i[A+776>>2]=0,i[A+780>>2]=0,_=B0(A+144|0,0,237),w=B0(A+384|0,0,358),l[A+759|0]=0,l[A+760|0]=0,l[A+761|0]=0,l[A+762|0]=0,i[A+752>>2]=0,i[A+756>>2]=0,i[A+744>>2]=0,i[A+748>>2]=0,i[A+764>>2]=0,i[A+768>>2]=0,l[A+772|0]=0,i[A+796>>2]=0,i[A+800>>2]=0,i[A+804>>2]=0,i[A+808>>2]=0,i[A+812>>2]=0,i[A+816>>2]=0,i[A+788>>2]=i[A+784>>2],v=A+820|0,Ue(v),B0(A+920|0,0,420),l[A+1348|0]=0,l[A+20|0]=0,i[A+1356>>2]=i[A+1352>>2],j=A,L=u0(C,1),l[j+12|0]=L,s[o+3206|0]&&(j=A,L=u0(C,1),l[j+13|0]=L),f=M0(C),i[A+16>>2]=f;n:{t:{o:{u:{l:{if(!((f|0)!=-99999&(f|0)<=63)||(f=o+(f<<3)|0,n=i[f+856>>2],!n))break l;r=i[f+860>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),i[A+4>>2]=n,f=i[A+8>>2],i[A+8>>2]=r;s:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break s;V[i[i[f>>2]+8>>2]](f),g(f)}if(r=i[A+4>>2],n=i[r+4>>2],!s[n|0]){v2(o+4|0,1010,0);break u}s:{h:{w:{_:{if(!s[A+12|0]){for(f=0,s[r+14|0]?r=u0(C,1):r=0,l[A+20|0]=r,u=i[n+16908>>2];r=f,f=r+1|0,(u|0)>1<>2],!f)break n;i[A>>2]=i[f>>2],r=i[f+4>>2],u=i[f+8>>2],u&&(i[u+4>>2]=i[u+4>>2]+1),i[A+4>>2]=r,r=i[A+8>>2],i[A+8>>2]=u;v:{if(!r||(u=i[r+4>>2],i[r+4>>2]=u-1,u))break v;V[i[i[r>>2]+8>>2]](r),g(r)}l0(A+12|0,f+12|0,772);v:{if((f|0)!=(A|0)){r=i[f+784>>2],u=i[f+788>>2],ki(A+784|0,r,u,u-r>>2),l0(A+796|0,f+796|0,544),Ii(A+1340|0,f+1340|0),l[A+1348|0]=s[f+1348|0],r=i[f+1352>>2],f=i[f+1356>>2],ki(A+1352|0,r,f,f-r>>2);break v}l0(A+796|0,f+796|0,544),Ii(A+1340|0,f+1340|0),l[A+1348|0]=s[f+1348|0]}l[A+20|0]=1,l[A+12|0]=0}if(i[A+24>>2]=h,(h|0)<0)break s;if((h|0)>2])break _;break s}if(i[A+24>>2]=0,l[A+20|0]=0,i[n+16908>>2]<=0)break s;r=i[A+4>>2];break w}if(r=i[A+4>>2],p)break h}if(f=0,l[r+8240|0]>0)for(;ni(C,1),f=f+1|0,(f|0)>2]+8240|0];);if(f=M0(C),i[A+28>>2]=f,!((f|0)!=-99999&(f|0)<=2)){v2(o+4|0,1007,0);break u}s[i[A+4>>2]+43|0]?f=u0(C,1):f=1,l[A+32|0]=f,s[n+480|0]==1&&(j=A,L=u0(C,2),l[j+33|0]=L),h=0,l[A+40|0]=0,i[A+36>>2]=0;w:{_:{v:{Z:{m:{if((s[o+3204|0]-19&255)>>>0>=2){j=A,L=u0(C,i[n+520>>2]),i[j+36>>2]=L,f=u0(C,1),l[A+40|0]=f;B:{if(!(f&255)){Dk(o+4|0,n,C,k,(i[n+8820>>2]-i[n+8816>>2]|0)/100|0,n+8816|0,1),i[A+816>>2]=(i[n+8820>>2]-i[n+8816>>2]|0)/100;break B}for(k=i[n+8816>>2],h=(i[n+8820>>2]-k|0)/100|0,r=0;f=r,r=r+1|0,1<>2],h=(i[n+8820>>2]-k|0)/100|0}if(i[_>>2]=f,(f|0)>=(h|0))break Z;i[A+816>>2]=f,k=m(f,100)+k|0}l0(v,k,100);B:{p:{if(s[n+8828|0]){W:{if(i[n+8832>>2]>0){if(f=M0(C),i[A+148>>2]=f,(f|0)!=-99999)break W;u=8;break n}i[A+148>>2]=0}if(r=M0(C),i[A+152>>2]=r,u=8,(r|0)==-99999)break n;if(f=i[A+148>>2],r=r+f|0,i[(n+(l[n+2|0]<<2)|0)+524>>2]<(s[A+917|0]+(r+s[A+916|0]|0)|0))break v;if((r|0)<=0)break p;for(_=o+2352|0,v=A+268|0,y=A+252|0,W=n+8964|0,I=n+8836|0,z=A+156|0,R=o+2288|0,p=o+2224|0,D=A+236|0,J=A+172|0,h=0,k=0;;){W:{if((f|0)>(k|0)){for(E=i[n+8832>>2],f=0;r=f,f=r+1|0,(E|0)>1<>2]){i[p+(k<<2)>>2]=i[I+(r<<2)>>2],f=W+s[f|0]|0;break W}v2(o+4|0,1023,0);break u}r=k<<2,E=r+J|0,j=E,L=u0(C,i[n+520>>2]),i[j>>2]=L,f=k+D|0,j=f,L=u0(C,1),l[j|0]=L,i[r+p>>2]=i[E>>2]}r=k<<2,E=l[f|0],i[r+R>>2]=E,f=u0(C,1),l[k+y|0]=f;W:{if(f&255){if(f=M0(C),i[r+v>>2]=f,(f|0)!=-99999)break W;break n}f=0,i[r+v>>2]=0}if(h=((E|0)!=0)+h|0,i[r+_>>2]=!k|i[A+148>>2]==(k|0)?f:i[(r+_|0)-4>>2]+f|0,k=k+1|0,f=i[A+148>>2],!((k|0)<(f+i[A+152>>2]|0)))break}break B}i[A+148>>2]=0,i[A+152>>2]=0}h=0}if(s[n+8996|0]){j=A,L=u0(C,1),l[j+332|0]=L;break m}l[A+332|0]=0;break m}i[A+148>>2]=0,i[A+152>>2]=0}m:{if(s[n+8799|0]){if(j=A,L=u0(C,1),l[j+333|0]=L,f=0,!i[n+16848>>2])break m;f=u0(C,1);break m}l[A+333|0]=0,f=0}if(i[A+336>>2]=0,i[A+340>>2]=0,l[A+334|0]=f,k0[A+28>>2]>1)break w;f=u0(C,1),l[A+335|0]=f;m:{if(f&255){if(f=M0(C),i[A+336>>2]=f,(f|0)==-99999)break o;if(f=f+1|0,i[A+336>>2]=f,i[A+28>>2]){r=i[A+340>>2];break m}if(f=M0(C),i[A+340>>2]=f,(f|0)==-99999)break o;r=f+1|0,i[A+340>>2]=r,f=i[A+336>>2];break m}r=i[A+4>>2],f=l[r+17|0],i[A+336>>2]=f,r=l[r+18|0],i[A+340>>2]=r}if(u=8,(f|0)>16|(r|0)>16)break n;k=s[A+919|0]+h|0,i[A+920>>2]=k;m:{B:{if(!(!s[i[A+4>>2]+8233|0]|(k|0)<2)){for(r=0;f=r,r=r+1|0,(k|0)>1<>2]<=0))for(k=A+346|0,r=0;j=r+k|0,L=u0(C,f),l[j|0]=L,r=r+1|0,(r|0)>2];);if(!i[A+28>>2]){if(r=u0(C,1),l[A+345|0]=r,!(r&255)|i[A+340>>2]<=0)break B;for(k=A+362|0,r=0;j=r+k|0,L=u0(C,f),l[j|0]=L,r=r+1|0,(r|0)>2];);break B}l[A+345|0]=0;break m}X[A+344>>1]=0}if(i[A+28>>2])break m;j=A,L=u0(C,1),l[j+378|0]=L}if(s[i[A+4>>2]+16|0]?f=u0(C,1):f=0,l[A+379|0]=f,!s[A+332|0])break _;f=1,i[A+28>>2]||(f=u0(C,1)),l[A+380|0]=f,r=f&255;m:{if(!(i[A+340>>2]<2|r)||i[A+336>>2]>1&&r){if(r=M0(C),i[w>>2]=r,(r|0)!=-99999){f=s[A+380|0];break m}break o}r=0,i[w>>2]=0}m:{if(f&255){if(i[A+336>>2]<=(r|0))break m;break _}if(i[A+340>>2]>(r|0))break _}break t}v2(o+4|0,1015,0),u=8;break n}v2(o+4|0,1018,0);break u}_:{if(f=i[A+4>>2],r=i[A+28>>2],!(!(r|!s[f+42|0])||(r|0)==1&&s[f+41|0]))break _;v:{Z:{if(f=i[(o+(i[A+16>>2]<<3)|0)+856>>2],f){if(r=i[(o+(l[f+13|0]<<3)|0)+728>>2],!r)break Z;f=M0(C),l[A+388|0]=f,k=0;m:{if(f>>>0>7)break m;if(i[r+476>>2]){if(f=_1(C)+s[A+388|0]|0,f>>>0>7)break m;l[A+389|0]=f}u=A+678|0,_=A+550|0,z=A+518|0,v=A+454|0,p=A+422|0,y=A+390|0,f=0,w=i[A+336>>2];B:{if((w|0)<=0)break B;for(;j=f+y|0,L=u0(C,1),l[j|0]=L,f=f+1|0,(w|0)!=(f|0););if(!(!i[r+476>>2]|(w|0)<=0))for(f=0;j=f+p|0,L=u0(C,1),l[j|0]=L,f=f+1|0,(w|0)!=(f|0););if((w|0)<=0)break B;for(f=0;;){p:{if(s[f+y|0]){if(k=0,h=_1(C),h-128>>>0<4294967040)break v;if(X[v+(f<<1)>>1]=h+(1<>2],(h|0)<(0-W|0))break m;if((h|0)<(W|0))break p;break m}X[v+(f<<1)>>1]=1<>>0>=4294967040)break W;k=0;break v}k=_+(f<<2)|0,h=1<>1]=h,l[u+(f<<1)|0]=0,X[k+2>>1]=h,k=0;break p}if(W=_+(f<<2)|0,X[W>>1]=k+(1<>2],D=h<<2,(I|0)<(0-D|0)|(I|0)>=(D|0)||(D=0-h|0,I=(h+I|0)-(m(h,X[W>>1])>>s[A+389|0])|0,l[u+(f<<1)|0]=(I|0)<(D|0)?D:(h|0)>(I|0)?I:h-1|0,h=_1(C),h-128>>>0<4294967040)||(X[W+2>>1]=h+(1<>2],D=h<<2,(I|0)<(0-D|0)|(I|0)>=(D|0)))break m;D=0-h|0,k=(h+I|0)-(m(h,X[W+2>>1])>>s[A+389|0])|0,k=(k|0)<(D|0)?D:(k|0)<(h|0)?k:h+255|0}if(l[A0+1|0]=k,f=f+1|0,(w|0)==(f|0))break}}if(k=1,i[A+28>>2])break v;if(w=i[A+340>>2],(w|0)<=0)break m;for(f=0;j=f+y|0,L=u0(C,1),l[j+16|0]=L,f=f+1|0,(w|0)!=(f|0););if(!(!i[r+476>>2]|(w|0)<=0))for(f=0;j=f+p|0,L=u0(C,1),l[j+16|0]=L,f=f+1|0,(w|0)!=(f|0););if((w|0)<=0)break m;for(f=0;;){B:{if(s[(f+y|0)+16|0]){if(k=0,h=_1(C),h-128>>>0<4294967040)break v;if(X[(v+(f<<1)|0)+32>>1]=h+(1<>2],(h|0)<(0-W|0))break m;if((h|0)<(W|0))break B;break m}X[(v+(f<<1)|0)+32>>1]=1<>>0<4294967040)break v;if(I=_+(f<<2)|0,R=I- -64|0,X[R>>1]=h+(1<>2],D=h<<2,(W|0)<(0-D|0)|(W|0)>=(D|0)||(D=0-h|0,W=(h+W|0)-(m(h,X[R>>1])>>s[A+389|0])|0,l[(u+(f<<1)|0)+32|0]=(W|0)<(D|0)?D:(h|0)>(W|0)?W:h-1|0,h=_1(C),h-128>>>0<4294967040)||(X[I+66>>1]=h+(1<>2],R=h<<2,(W|0)<(0-R|0)|(W|0)>=(R|0)))break m;R=0-h|0,k=(h+W|0)-(m(h,X[I+66>>1])>>s[A+389|0])|0,h=(k|0)<(R|0)?R:(k|0)<(h|0)?k:h+255|0;break B}k=_+(f<<2)|0,h=1<>1]=h,l[(u+(f<<1)|0)+32|0]=0,X[k+66>>1]=h,h=0}if(k=1,l[(u+(f<<1)|0)+33|0]=h,f=f+1|0,(w|0)==(f|0))break}}break v}C0(3875,14036,152,10294),P()}C0(3871,14036,154,10294),P()}if(k)break _;break t}if(f=M0(C),i[A+744>>2]=f,(f|0)==-99999)break o;i[A+812>>2]=5-f}if(f=_1(C),i[A+748>>2]=f,(f|0)==-99999)break o;f=i[A+4>>2];w:{if(s[f+40|0]){if(f=_1(C),i[A+752>>2]=f,(f|0)==-99999)break o;if(f=_1(C),i[A+756>>2]=f,(f|0)!=-99999){f=i[A+4>>2];break w}break o}i[A+752>>2]=0,i[A+756>>2]=0}s[f+8248|0]==1&&(j=A,L=u0(C,1),l[j+760|0]=L,f=i[A+4>>2]);w:{_:{if(!s[f+60|0]){l[A+761|0]=0,i[A+764>>2]=i[f+64>>2],i[A+768>>2]=i[f+68>>2];break _}if(r=u0(C,1),l[A+761|0]=r,f=i[A+4>>2],i[A+764>>2]=i[f+64>>2],i[A+768>>2]=i[f+68>>2],!(r&255))break _;if(f=u0(C,1),l[A+762|0]=f,f&255)break w;if(f=_1(C),i[A+764>>2]=f,(f|0)==-99999||(i[A+764>>2]=f<<1,f=_1(C),i[A+768>>2]=f,(f|0)==-99999))break o;i[A+768>>2]=f<<1;break w}l[A+762|0]=s[f+61|0]}if(r=i[A+4>>2],f=s[r+58|0],!(!f|!(!s[A+762|0]||s[A+333|0]|s[A+334|0]))){j=A,L=u0(C,1),l[j+772|0]=L,r=i[A+4>>2];break h}l[A+772|0]=f}h:{if(s[r+46|0]|s[r+45|0]){if(f=M0(C),i[A+776>>2]=f,(f|0)==-99999||(r=i[A+4>>2],!(!s[r+45|0]|i[n+16900>>2]>(f+(i[A+24>>2]/i[n+16892>>2]|0)|0))|!(!s[r+46|0]|(f|0)<=(m(i[r+52>>2],i[r+48>>2])|0))))break o;r=A+784|0,n=i[r>>2],k=i[r+4>>2]-n>>2;w:{if(k>>>0>>0){Qi(r,f-k|0);break w}f>>>0>>0&&(i[r+4>>2]=n+(f<<2))}if(i[A+776>>2]<=0)break h;if(f=M0(C),i[A+780>>2]=f,(f|0)==-99999)break o;if(r=f+1|0,i[A+780>>2]=r,u=8,(f|0)>31)break n;if(i[A+776>>2]<=0||(f=1,r=u0(C,r),i[i[A+784>>2]>>2]=r+1,i[A+776>>2]<2))break h;for(;r=u0(C,i[A+780>>2]),n=i[A+784>>2]+(f<<2)|0,i[n>>2]=(r+i[n-4>>2]|0)+1,f=f+1|0,(f|0)>2];);break h}i[A+776>>2]=0}h:{if(!s[i[A+4>>2]+8241|0])break h;if(r=M0(C),i[A+796>>2]=r,(r|0)==-99999|(r|0)>1e3)break o;if(f=0,(r|0)<=0)break h;for(;u0(C,8),f=f+1|0,(f|0)>2];);}i[A+800>>2]=i[A+748>>2]+i[i[A+4>>2]+20>>2],f=0;h:{w:{_:switch(i[A+28>>2]){case 1:f=l[A+379|0]+1|0;break w;case 2:break w;case 0:break _;default:break h}f=2-l[A+379|0]|0}i[A+804>>2]=f}i[A+812>>2]=5-i[A+744>>2],l[Z+15|0]=1,u=0;break n}v2(o+4|0,1020,0),u=8;break n}v2(o+4|0,1009,0),u=0;break n}l[Z+15|0]=0,u=0;break n}v2(o+4|0,1007,0),u=8;break n}v2(o+4|0,8,0),u=8}i[Z+8>>2]=u;n:{t:{o:{if(!s[Z+15|0]){f=i[o+2216>>2],f&&(l[f+312|0]=2),w4(o+548|0,t),f=i[A+1352>>2],f&&(i[A+1356>>2]=f,G(f)),C8(q),f=i[A+784>>2],f&&(i[A+788>>2]=f,G(f)),f=i[A+8>>2];u:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break u;V[i[i[f>>2]+8>>2]](f),g(f)}G(A),n=i[Z+8>>2];break o}if(n=i[o+528>>2],(n|0)>=0)u:{f=B-864|0,B=f,r=49876;l:{s:{h:{w:switch(n-1|0){case 1:r=49872;break;case 0:break w;default:break h}if(r=i[r>>2],c(r,30991,0),n=i[(o+(i[A+16>>2]<<3)|0)+856>>2],!n){c(r,22306,0);break h}if(!s[n|0])break s;if(u=i[(o+(l[n+13|0]<<3)|0)+728>>2],!u){c(r,22282,0);break h}if(!s[u|0])break l;i[f+848>>2]=l[A+12|0],c(r,27520,f+848|0),(s[o+3204|0]&248)==16&&(i[f+832>>2]=l[A+13|0],c(r,28158,f+832|0)),i[f+816>>2]=i[A+16>>2],c(r,28880,f+816|0),s[A+12|0]||(i[f+800>>2]=l[A+20|0],c(r,28115,f+800|0),i[f+784>>2]=i[A+24>>2],c(r,29656,f+784|0)),k=i[A+28>>2],i[f+768>>2]=k?(k|0)==1?80:73:66,c(r,30364,f+768|0),s[n+43|0]&&(i[f+752>>2]=l[A+32|0],c(r,30104,f+752|0)),s[u+480|0]==1&&(i[f+736>>2]=l[A+33|0],c(r,30147,f+736|0)),i[f+720>>2]=i[A+36>>2],c(r,29388,f+720|0);w:{if((s[o+3204|0]-19&255)>>>0<2)break w;i[f+704>>2]=l[A+40|0],c(r,27239,f+704|0),k=i[u+8820>>2]-i[u+8816>>2]|0;_:{v:{if(!s[A+40|0]){i[f+672>>2]=(k|0)/100,c(r,21478,f+672|0),k=A+42|0;break v}if((k|0)<101)break _;i[f+688>>2]=i[A+144>>2],c(r,28611,f+688|0),k=i[u+8816>>2]+m(i[A+144>>2],100)|0}o7(k,r)}if(s[u+8828|0]&&(i[u+8832>>2]>0&&(i[f+656>>2]=i[A+148>>2],c(r,30281,f+656|0)),i[f+640>>2]=i[A+152>>2],c(r,30190,f+640|0)),!s[u+8996|0])break w;i[f+624>>2]=l[A+332|0],c(r,24824,f+624|0)}if(s[u+8799|0]&&(i[f+608>>2]=l[A+333|0],c(r,29277,f+608|0),i[f+592>>2]=l[A+334|0],c(r,28842,f+592|0)),k0[A+28>>2]<=1){i[f+576>>2]=l[A+335|0],c(r,24531,f+576|0),k=s[A+335|0],i[f+560>>2]=i[A+336>>2],i[f+564>>2]=k?31341:18367,c(r,21891,f+560|0),i[A+28>>2]||(k=s[A+335|0],i[f+544>>2]=i[A+340>>2],i[f+548>>2]=k?31341:18367,c(r,21851,f+544|0));w:{if(!s[n+8233|0]|i[A+920>>2]<2)break w;if(i[f+528>>2]=l[A+344|0],c(r,25449,f+528|0),!(!s[A+344|0]|i[A+336>>2]<=0))for(h=A+346|0,k=0;i[f+516>>2]=s[k+h|0],i[f+512>>2]=k,c(r,23514,f+512|0),k=k+1|0,(k|0)>2];);if(i[f+496>>2]=l[A+345|0],c(r,25409,f+496|0),!s[A+345|0]|i[A+340>>2]<=0)break w;for(h=A+362|0,k=0;i[f+484>>2]=s[k+h|0],i[f+480>>2]=k,c(r,23514,f+480|0),k=k+1|0,(k|0)>2];);}i[A+28>>2]||(i[f+464>>2]=l[A+378|0],c(r,29589,f+464|0)),i[f+448>>2]=l[A+379|0],c(r,29732,f+448|0),s[A+332|0]&&(i[f+432>>2]=l[A+380|0],c(r,27935,f+432|0),i[f+416>>2]=i[A+384>>2],c(r,29078,f+416|0)),k=i[A+28>>2];w:{if(!(!(k|!s[n+42|0])||(k|0)==1&&s[n+41|0]))break w;if(i[f+400>>2]=s[A+388|0],c(r,28078,f+400|0),i[u+476>>2]&&(i[f+384>>2]=s[A+389|0],c(r,28406,f+384|0)),u=A+678|0,h=A+550|0,w=A+518|0,_=A+454|0,v=i[A+336>>2],(v|0)>0)for(k=0;p=k<<1,i[f+376>>2]=X[p+_>>1],i[f+372>>2]=k,i[f+368>>2]=0,c(r,29315,f+368|0),i[f+360>>2]=l[k+w|0],i[f+356>>2]=k,i[f+352>>2]=0,c(r,29041,f+352|0),y=h+(k<<2)|0,i[f+348>>2]=X[y>>1],i[f+344>>2]=0,i[f+340>>2]=k,i[f+336>>2]=0,c(r,27972,f+336|0),p=u+p|0,i[f+332>>2]=l[p|0],i[f+328>>2]=0,i[f+324>>2]=k,i[f+320>>2]=0,c(r,28010,f+320|0),i[f+316>>2]=X[y+2>>1],i[f+312>>2]=1,i[f+308>>2]=k,i[f+304>>2]=0,c(r,27972,f+304|0),i[f+300>>2]=l[p+1|0],i[f+296>>2]=1,i[f+292>>2]=k,i[f+288>>2]=0,c(r,28010,f+288|0),k=k+1|0,(v|0)!=(k|0););if(i[A+28>>2]||(v=i[A+340>>2],(v|0)<=0))break w;for(k=0;p=k<<1,i[f+280>>2]=X[(p+_|0)+32>>1],i[f+276>>2]=k,i[f+272>>2]=1,c(r,29315,f+272|0),i[f+264>>2]=l[(k+w|0)+16|0],i[f+260>>2]=k,i[f+256>>2]=1,c(r,29041,f+256|0),y=h+(k<<2)|0,i[f+252>>2]=X[y- -64>>1],i[f+248>>2]=0,i[f+244>>2]=k,i[f+240>>2]=1,c(r,27972,f+240|0),p=u+p|0,i[f+236>>2]=l[p+32|0],i[f+232>>2]=0,i[f+228>>2]=k,i[f+224>>2]=1,c(r,28010,f+224|0),i[f+220>>2]=X[y+66>>1],i[f+216>>2]=1,i[f+212>>2]=k,i[f+208>>2]=1,c(r,27972,f+208|0),i[f+204>>2]=l[p+33|0],i[f+200>>2]=1,i[f+196>>2]=k,i[f+192>>2]=1,c(r,28010,f+192|0),k=k+1|0,(v|0)!=(k|0););}i[f+176>>2]=i[A+744>>2],c(r,25798,f+176|0)}if(i[f+160>>2]=i[A+748>>2],c(r,28306,f+160|0),s[n+40|0]&&(i[f+144>>2]=i[A+752>>2],c(r,26696,f+144|0),i[f+128>>2]=i[A+756>>2],c(r,26667,f+128|0)),s[n+60|0]&&(i[f+112>>2]=l[A+761|0],c(r,24493,f+112|0)),k=s[A+761|0],i[f+96>>2]=l[A+762|0],i[f+100>>2]=k?18333:18201,c(r,21804,f+96|0),s[A+762|0]|!s[A+761|0]||(i[f+80>>2]=i[A+764>>2],c(r,25635,f+80|0),i[f+64>>2]=i[A+768>>2],c(r,26250,f- -64|0)),!s[n+58|0]|!(!s[A+762|0]||s[A+333|0]|s[A+334|0])||(i[f+48>>2]=l[A+772|0],c(r,24773,f+48|0)),!(s[n+46|0]|s[n+45|0])||(i[f+32>>2]=i[A+776>>2],c(r,26312,f+32|0),i[A+776>>2]<=0)||(i[f+16>>2]=i[A+780>>2],c(r,29849,f+16|0),i[A+776>>2]<=0))break h;for(k=0;i[f+4>>2]=i[i[A+784>>2]+(k<<2)>>2],i[f>>2]=k,c(r,25347,f),k=k+1|0,(k|0)>2];);}B=f+864|0;break u}C0(13583,14036,1287,5797),P()}C0(13569,14036,1294,5797),P()}u=i[t+8>>2],I=i[t+12>>2],z=i[t+16>>2],_=B-80|0,B=_,i[Z+8>>2]=0,l[o+3220|0]=0,r=i[A+16>>2],n=o+(r<<3)|0,f=i[n+856>>2];u:{if(!(s[f|0]&&f)){if(i[_>>2]=r,r=B-16|0,B=r,s[95749]|i[23936]<-9999||(f=i[12469],n=s[22330]==42,n||F1(21511,5,1,f),i[r+12>>2]=_,qr(f,n+22330|0,_,976,977),x8(f)),B=r+16|0,f=i[i[o+2216>>2]+112>>2],r=i[f+84>>2],(r|0)==20){i[f+80>>2]=1001,r=0;break u}i[f+84>>2]=r+1,i[(f+(r<<2)|0)+4>>2]=1009,r=0;break u}r=i[n+860>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),i[o+1384>>2]=f,f=i[o+1388>>2],i[o+1388>>2]=r;l:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break l;V[i[i[f>>2]+8>>2]](f),g(f)}f=o+(l[i[o+1384>>2]+13|0]<<3)|0,n=i[f+728>>2],r=i[f+732>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),i[o+1376>>2]=n,f=i[o+1380>>2],i[o+1380>>2]=r;l:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break l;V[i[i[f>>2]+8>>2]](f),g(f)}f=o+(l[i[o+1376>>2]+1|0]<<3)|0,n=i[f+600>>2],r=i[f+604>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),i[o+1368>>2]=n,f=i[o+1372>>2],i[o+1372>>2]=r;l:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break l;V[i[i[f>>2]+8>>2]](f),g(f)}l:{s:{h:{w:{if(f=i[o+1376>>2],!f){if(f=i[o+1368>>2],f)break w;if(f=6,s[o+2108|0]!=6)break s;break l}if(k=l[f+2|0],f=k-1|0,(f|0)!=l[o+2108|0])break h;break l}if(k=i[f+8>>2],l[o+2108|0]==(k-1|0))break l;f=k-1|0}if((k|0)<=0)break l}for(R=o+2112|0,v=o+1908|0,p=f+1|0;;){r=m(f,100),w=(r+100|0)/(p|0)|0,n=(r|0)/(p|0)|0;s:{if((w|0)<(n|0)){r=f;break s}h=i[o+1888>>2];h:{if(n+w&1){r=f,k=n;break h}r=v+(n<<1)|0,l[r+1|0]=(f|0)>(h|0)?100:0,k=r,r=(f|0)<(h|0)?f:h,l[k|0]=r,k=n+1|0}if((n|0)==(w|0))break s;for(y=w-n|0,f=r;W=v+(k<<1)|0,r=(f|0)<(h|0)?f:h,l[W|0]=r,l[W+1|0]=(f|0)>(h|0)?100:(m(k-n|0,100)|0)/(y|0)|0,W=k+1|0,f=v+(W<<1)|0,l[f+1|0]=(m(W-n|0,100)|0)/(y|0),l[f|0]=r,k=k+2|0,f=r,(w|0)!=(W|0););}if(i[R+(r<<2)>>2]=w,f=r-1|0,!((r|0)>0))break}}f=o+(i[o+1892>>2]<<1)|0,r=l[f+1908|0],i[o+1896>>2]=r,i[o+1900>>2]=l[f+1909|0],i[o+1904>>2]=r;l:{s:{if(s[A+12|0]){if(i[o+2196>>2]=i[A+36>>2],r=s[o+533|0],f=i[o+1376>>2],n=s[f+8799|0],i[_+72>>2]=f,f=i[o+1380>>2],i[_+76>>2]=f,f&&(i[f+4>>2]=i[f+4>>2]+1),f=i[_+76>>2],i[_+40>>2]=i[_+72>>2],i[_+44>>2]=f,f=fn(o+2140|0,_+40|0,o,u,I,z,(r|!n)&1),(f|0)<0){r=0,i[Z+8>>2]=0-f;break u}r=0,n=i[o+2148>>2],f>>>0>2]-n>>2>>>0&&(r=i[n+(f<<2)>>2]),i[o+2216>>2]=r,l[r+316|0]=s[S+7|0],f=s[S+5|0]|s[S+6|0]<<8,l[r+314|0]=f,l[r+315|0]=f>>>8,f=i[o+2216>>2],i[_+64>>2]=i[o+1368>>2],r=i[o+1372>>2],i[_+68>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),i[_+56>>2]=i[o+1376>>2],r=i[o+1380>>2],i[_+60>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),i[_+48>>2]=i[o+1384>>2],r=i[o+1388>>2],i[_+52>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),r=i[_+68>>2],i[_+32>>2]=i[_+64>>2],i[_+36>>2]=r,r=i[_+60>>2],i[_+24>>2]=i[_+56>>2],i[_+28>>2]=r,r=i[_+52>>2],i[_+16>>2]=i[_+48>>2],i[_+20>>2]=r,r=i[_+32>>2],n=i[_+36>>2],n&&(i[n+4>>2]=i[n+4>>2]+1),i[f+116>>2]=r,r=i[f+120>>2],i[f+120>>2]=n;h:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break h;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[_+24>>2],n=i[_+28>>2],n&&(i[n+4>>2]=i[n+4>>2]+1),i[f+124>>2]=r,r=i[f+128>>2],i[f+128>>2]=n;h:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break h;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[_+16>>2],n=i[_+20>>2],n&&(i[n+4>>2]=i[n+4>>2]+1),i[f+132>>2]=r,r=i[f+136>>2],i[f+136>>2]=n;h:{if(!r||(f=i[r+4>>2],i[r+4>>2]=f-1,f))break h;V[i[i[r>>2]+8>>2]](r),g(r)}f=i[_+20>>2];h:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break h;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[_+28>>2];h:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break h;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[_+36>>2];h:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break h;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[o+2216>>2],i[f+112>>2]=o,k=0,h=0,r=i[f+160>>2],r&&B0(r,0,m(i[f+164>>2],3)),r=i[f+140>>2],r&&B0(r,0,m(i[f+144>>2],24)),r=i[f+260>>2],r&&B0(r,0,i[f+264>>2]),n=i[f+144>>2];h:{if((n|0)<=0)break h;if(r=i[f+320>>2],f=0,n>>>0>=8)for(u=n&2147483640;i[r+m(f,76)>>2]=0,i[r+m(f|1,76)>>2]=0,i[r+m(f|2,76)>>2]=0,i[r+m(f|3,76)>>2]=0,i[r+m(f|4,76)>>2]=0,i[r+m(f|5,76)>>2]=0,i[r+m(f|6,76)>>2]=0,i[r+m(f|7,76)>>2]=0,f=f+8|0,h=h+8|0,(u|0)!=(h|0););if(n=n&7,!n)break h;for(;i[r+m(f,76)>>2]=0,f=f+1|0,k=k+1|0,(n|0)!=(k|0););}f=s[o+3204|0];h:{if((f&248)!=16)break h;w:{if(!(s[o+2200|0]|((f|0)==18|(f&254)==16|(f-19&255)>>>0<2))&&s[o+2203|0]!=1)break w;l[o+2203|0]=0,l[o+2201|0]=1;break h}l[o+2201|0]=0,l[o+2202|0]=0}h:{if(!((s[o+3204|0]&254)!=8|s[o+2201|0]!=1)){l[i[o+2216>>2]+104|0]=0;break h}l[i[o+2216>>2]+104|0]=s[A+32|0]!=0}n=0;h:{if(!((s[o+3204|0]&248)!=16|s[o+2201|0]!=1)){l[o+3220|0]=1,i[o+2204>>2]=0,f=i[A+36>>2];break h}f=i[A+36>>2],n=i[o+2208>>2],r=i[i[o+1376>>2]+16868>>2];w:{if(!((f|0)>=(n|0)|(n-f|0)<((r|0)/2|0))){u=r+i[o+2212>>2]|0;break w}if(u=i[o+2212>>2]-r|0,!((f|0)<=(n|0)|(f-n|0)<=((r|0)/2|0)))break w;u=i[o+2212>>2]}n=u,i[o+2204>>2]=n}r=i[o+2216>>2],i[r+92>>2]=f,i[r+96>>2]=f+n;h:{if(s[r+316|0]||(f=s[o+3204|0],!(f&241))||(f=f&254,(f|0)==8|(f|0)==6))break h;i[o+2208>>2]=i[A+36>>2],i[o+2212>>2]=i[o+2204>>2]}if(!s[A+12|0])break s;i[i[o+2216>>2]+100>>2]=1,n=0,k=0,u=0,p=0,w=B-32|0,B=w,i[w+28>>2]=0,i[w+20>>2]=0,i[w+24>>2]=0,f=i[o+2216>>2],y=i[f>>2];h:{if((s[o+3204|0]&248)!=16|s[o+2201|0]!=1||(h=i[o+2148>>2],v=i[o+2152>>2],(h|0)==(v|0)))break h;for(z=i[f+96>>2];;){W=i[(u<<2)+h>>2];w:{if(!i[W+100>>2]|(z|0)<=i[W+96>>2]||(I=i[W>>2],I>>>0>=k0[W+108>>2]))break w;_:{if(k>>>0

>>0){i[k>>2]=I,k=k+4|0;break _}if(r=k-n>>2,f=r+1|0,f>>>0>=1073741824)break t;if(p=p-n|0,R=p>>1,f=p>>>0>=2147483644?1073741823:f>>>0>>0?R:f,f){if(f>>>0>=1073741824)break i;p=U(f<<2)}else p=0;if(r=p+(r<<2)|0,i[r>>2]=I,p=p+(f<<2)|0,f=r,(k|0)!=(n|0))for(;f=f-4|0,k=k-4|0,i[f>>2]=i[k>>2],(k|0)!=(n|0););k=r+4|0,i[w+28>>2]=p,i[w+20>>2]=f,n&&(G(n),v=i[o+2152>>2],h=i[o+2148>>2]),n=f}i[w+24>>2]=k,i[W+108>>2]=i[W>>2]}if(u=u+1|0,!(u>>>0>2>>>0))break}}h:{if((s[o+3204|0]-19&255)>>>0<2){i[o+2544>>2]=0,i[o+2548>>2]=0,i[o+2560>>2]=0,f=o+2552|0,i[f>>2]=0,i[f+4>>2]=0;break h}if(u=0,k=0,n=0,h=s[A+916|0],h)for(v=A+820|0,p=o+2692|0,W=o+2564|0,I=A+884|0,z=i[o+2216>>2],f=0;r=s[f+I|0],i[(r?W+(n<<2)|0:p+(k<<2)|0)>>2]=i[z+96>>2]+X[v+(f<<1)>>1],n=((r|0)!=0)+n|0,k=!r+k|0,f=f+1|0,(h|0)!=(f|0););if(i[o+2544>>2]=n,n=s[A+917|0],n)for(h=o+2692|0,v=o+2628|0,p=A+852|0,W=A+900|0,I=i[o+2216>>2],f=0;r=s[f+W|0],i[(r?v+(u<<2)|0:h+(k<<2)|0)>>2]=i[I+96>>2]+X[p+(f<<1)>>1],u=((r|0)!=0)+u|0,k=!r+k|0,f=f+1|0,(n|0)!=(f|0););i[o+2552>>2]=k,i[o+2548>>2]=u;w:{if((i[A+152>>2]+i[A+148>>2]|0)<=0){n=0,h=0;break w}for(v=o+2480|0,p=o+2820|0,W=o+2416|0,I=o+2756|0,z=o+2288|0,R=o+2352|0,D=A+252|0,J=o+2224|0,E=i[o+1376>>2],a=i[o+2216>>2],k=0,h=0,n=0;;){r=k<<2,f=i[r+J>>2],u=k+D|0,s[u|0]&&(f=i[a+96>>2]+f-(i[A+36>>2]+m(i[E+16868>>2],i[r+R>>2]))|0);_:{if(i[r+z>>2]){r=h<<2,i[r+I>>2]=f,i[r+W>>2]=l[u|0],h=h+1|0;break _}r=n<<2,i[r+p>>2]=f,i[r+v>>2]=l[u|0],n=n+1|0}if(k=k+1|0,!((k|0)<(i[A+152>>2]+i[A+148>>2]|0)))break}}i[o+2560>>2]=n,i[o+2556>>2]=h}if(f=i[o+2148>>2],r=i[o+2152>>2],i[w+16>>2]=0,i[w+8>>2]=0,i[w+12>>2]=0,(f|0)!=(r|0)){if(f=r-f>>2,(f|0)<0)break t;r=U(f),i[w+8>>2]=r,n=f+r|0,i[w+16>>2]=n,B0(r,0,f),i[w+12>>2]=n}r=o+2140|0;h:{w:{if(n=i[o+2556>>2],(n|0)<=0)break w;for(v=o+3076|0,p=o+2756|0,W=o+2416|0,u=0;;){f=u<<2,h=f+p|0,n=i[h>>2],I=f+v|0;_:{if(!i[f+W>>2]){k=a7(r,n,y);break _}k=X6(r,n,y,1)}i[I>>2]=k;_:{if((k|0)>=0)f=i[w+8>>2]+k|0;else{if(k=zr(o,i[o+1376>>2],i[h>>2],1),(k|0)<0)break _;f=i[o+2148>>2],n=i[o+2152>>2],l[w+7|0]=0,f=n-f>>2,h=i[w+8>>2],n=i[w+12>>2]-h|0;v:{if(f>>>0>n>>>0){Lr(w+8|0,f-n|0,w+7|0),h=i[w+8>>2];break v}if(f>>>0>=n>>>0)break v;i[w+12>>2]=f+h}i[I>>2]=k,f=k+h|0}if(l[f|0]=1,s[i[i[o+2148>>2]+(k<<2)>>2]+312|0]&&(l[i[o+2216>>2]+312|0]=4),n=i[o+2556>>2],u=u+1|0,(n|0)>(u|0))continue;break w}break}k=0-k|0;break h}if(v=i[o+2560>>2],(v|0)>0){p=o+3140|0,W=o+2820|0,I=o+2480|0,u=0;w:{for(;;){f=u<<2,k=f+W|0,n=i[k>>2],v=f+p|0;_:{if(!i[f+I>>2]){f=a7(r,n,y);break _}f=X6(r,n,y,1)}i[v>>2]=f;_:{if((f|0)>=0)f=f+i[w+8>>2]|0;else{if(f=zr(o,i[o+1376>>2],i[k>>2],1),(f|0)<0)break _;n=i[o+2148>>2],k=i[o+2152>>2],l[w+7|0]=0,n=k-n>>2,h=i[w+8>>2],k=i[w+12>>2]-h|0;v:{if(n>>>0>k>>>0){Lr(w+8|0,n-k|0,w+7|0),h=i[w+8>>2];break v}if(k>>>0<=n>>>0)break v;i[w+12>>2]=n+h}i[v>>2]=f,f=f+h|0}if(l[f|0]=1,u=u+1|0,v=i[o+2560>>2],(u|0)>=(v|0))break w;continue}break}k=0-f|0;break h}n=i[o+2556>>2]}w:{if((n|0)<=0)break w;if(W=o+3076|0,f=i[o+2148>>2],h=0,k=0,n>>>0>=4)for(I=n&2147483644,p=0;u=W+(k<<2)|0,i[i[f+(i[u>>2]<<2)>>2]+100>>2]=2,i[i[f+(i[u+4>>2]<<2)>>2]+100>>2]=2,i[i[f+(i[u+8>>2]<<2)>>2]+100>>2]=2,i[i[f+(i[u+12>>2]<<2)>>2]+100>>2]=2,k=k+4|0,p=p+4|0,(I|0)!=(p|0););if(n=n&3,!n)break w;for(;i[i[f+(i[W+(k<<2)>>2]<<2)>>2]+100>>2]=2,k=k+1|0,h=h+1|0,(n|0)!=(h|0););}w:{if((v|0)<=0)break w;if(u=v&3,p=o+3140|0,f=i[o+2148>>2],h=0,k=0,v>>>0>=4)for(W=v&2147483644,v=0;n=p+(k<<2)|0,i[i[f+(i[n>>2]<<2)>>2]+100>>2]=2,i[i[f+(i[n+4>>2]<<2)>>2]+100>>2]=2,i[i[f+(i[n+8>>2]<<2)>>2]+100>>2]=2,i[i[f+(i[n+12>>2]<<2)>>2]+100>>2]=2,k=k+4|0,v=v+4|0,(W|0)!=(v|0););if(!u)break w;for(;i[i[f+(i[p+(k<<2)>>2]<<2)>>2]+100>>2]=2,k=k+1|0,h=h+1|0,(u|0)!=(h|0););}w:{if(i[o+2544>>2]<=0)break w;for(v=o+2884|0,p=o+2564|0,u=0;;){_:{if(f=u<<2,n=f+v|0,f=f+p|0,k=X6(r,i[f>>2],y,0),i[n>>2]=k,(k|0)>=0)f=i[w+8>>2]+k|0;else{if(k=zr(o,i[o+1376>>2],i[f>>2],0),(k|0)<0)break _;i[n>>2]=k,f=i[o+2148>>2],n=i[o+2152>>2],l[w+7|0]=0,f=n-f>>2,n=i[w+8>>2],h=i[w+12>>2]-n|0;v:{if(f>>>0>h>>>0){Lr(w+8|0,f-h|0,w+7|0),n=i[w+8>>2];break v}if(f>>>0>=h>>>0)break v;i[w+12>>2]=f+n}f=k+n|0}if(l[f|0]=1,s[i[i[o+2148>>2]+(k<<2)>>2]+312|0]&&(l[i[o+2216>>2]+312|0]=4),u=u+1|0,(u|0)>2])continue;break w}break}k=0-k|0;break h}w:{if(i[o+2548>>2]<=0)break w;for(v=o+2948|0,p=o+2628|0,u=0;;){_:{if(f=u<<2,n=f+v|0,f=f+p|0,k=X6(r,i[f>>2],y,0),i[n>>2]=k,(k|0)>=0)f=i[w+8>>2]+k|0;else{if(k=zr(o,i[o+1376>>2],i[f>>2],0),(k|0)<0)break _;i[n>>2]=k,f=i[o+2148>>2],n=i[o+2152>>2],l[w+7|0]=0,f=n-f>>2,n=i[w+8>>2],h=i[w+12>>2]-n|0;v:{if(f>>>0>h>>>0){Lr(w+8|0,f-h|0,w+7|0),n=i[w+8>>2];break v}if(f>>>0>=h>>>0)break v;i[w+12>>2]=f+n}f=k+n|0}if(l[f|0]=1,s[i[i[o+2148>>2]+(k<<2)>>2]+312|0]&&(l[i[o+2216>>2]+312|0]=4),u=u+1|0,(u|0)>2])continue;break w}break}k=0-k|0;break h}if(i[o+2552>>2]>0)for(n=o+3012|0,u=o+2692|0,k=0;h=k<<2,f=X6(r,i[h+u>>2],y,0),i[n+h>>2]=f,(f|0)>=0&&(l[f+i[w+8>>2]|0]=1),k=k+1|0,(k|0)>2];);if(r=0,n=i[o+2152>>2],u=i[o+2148>>2],(n-u|0)>0)for(;;){f=i[w+8>>2];w:{if(s[f+r|0]&&i[w+12>>2]-f>>>0>r>>>0||(y=i[(r<<2)+u>>2],f=i[o+2216>>2],(y|0)==(f|0)|k0[y+108>>2]<=k0[f>>2]|!i[y+100>>2]))break w;v=i[y>>2],k=i[w+24>>2],h=i[w+28>>2];_:{if(k>>>0>>0){i[k>>2]=v,v=k+4|0;break _}if(p=i[w+20>>2],I=k-p>>2,f=I+1|0,f>>>0>=1073741824)break t;if(h=h-p|0,W=h>>1,W=h>>>0>=2147483644?1073741823:f>>>0>>0?W:f,W){if(W>>>0>=1073741824)break i;h=U(W<<2)}else h=0;if(f=h+(I<<2)|0,i[f>>2]=v,v=f+4|0,(k|0)!=(p|0))for(;f=f-4|0,k=k-4|0,i[f>>2]=i[k>>2],(k|0)!=(p|0););if(i[w+28>>2]=h+(W<<2),i[w+24>>2]=v,i[w+20>>2]=f,!p)break _;G(p),u=i[o+2148>>2],n=i[o+2152>>2]}i[w+24>>2]=v,i[y+108>>2]=i[i[o+2216>>2]>>2]}if(r=r+1|0,!((r|0)>2))break}if(k=0,f=A+1352|0,(f|0)==(w+20|0))break h;n=f,f=i[w+20>>2],r=i[w+24>>2],ki(n,f,r,r-f>>2)}if(f=i[w+8>>2],f&&(i[w+12>>2]=f,G(f)),f=i[w+20>>2],f&&(i[w+24>>2]=f,G(f)),B=w+32|0,i[Z+8>>2]=k,!k)break s;r=0;break u}if(i[o+2216>>2])break l;r=0;break u}f=i[o+2216>>2],i[f+100>>2]=1,i[23936]=i[f+96>>2],l[o+2200|0]=0}r=1;l:{if(k0[A+28>>2]>1)break l;f=0,n=B-480|0,B=n,u=i[A+336>>2],h=i[A+920>>2],k=B0(n,0,96),v=o+3076|0,p=o+2948|0,y=o+2884|0,n=(u|0)>(h|0)?u:h,w=n-1|0,R=i[o+2556>>2],W=R-1|0,D=i[o+2548>>2],I=D-1|0,J=i[o+2544>>2],z=J-1|0,J=(J|0)<=0;s:{h:{w:{_:{v:{for(;;){if((f|0)>=(n|0))break v;if(J||(E=w-f|0,E=E>>>0>>0?E:z,l0((k+288|0)+(f<<2)|0,y,(E<<2)+4|0),f=(f+E|0)+1|0),(D|0)<=0|(f|0)>=(n|0)||(E=w-f|0,E=I>>>0>E>>>0?E:I,l0((k+288|0)+(f<<2)|0,p,(E<<2)+4|0),f=(f+E|0)+1|0),(R|0)<=0|(f|0)>=(n|0)||(E=w-f|0,E=W>>>0>E>>>0?E:W,a=E+1|0,B0(f+k|0,1,a),l0((k+288|0)+(f<<2)|0,v,(E<<2)+4|0),f=f+a|0),!f)break}if(f=i[o+84>>2],(f|0)==20){i[o+80>>2]=1001,n=0;break _}i[o+84>>2]=f+1,i[(o+(f<<2)|0)+4>>2]=1016,n=0;break _}if((u|0)>16)break w;if((u|0)>0)for(I=A+1180|0,z=A+1052|0,R=A+1308|0,D=A+924|0,J=A+346|0,f=0,E=s[A+344|0];;){if(w=f<<2,W=w+D|0,n=E?s[f+J|0]:f,i[W>>2]=i[(k+288|0)+(n<<2)>>2],l[f+R|0]=s[k+n|0],n=0,W=i[W>>2],a=i[o+2148>>2],W>>>0>=i[o+2152>>2]-a>>2>>>0||(W=i[a+(W<<2)>>2],!W))break _;if(i[w+z>>2]=i[W+96>>2],i[w+I>>2]=i[W+100>>2],f=f+1|0,(u|0)==(f|0))break}if(n=1,i[A+28>>2])break _;R=i[o+2556>>2],w=R-1|0,D=i[o+2544>>2],W=D-1|0,J=i[o+2548>>2],I=J-1|0,u=i[A+340>>2],n=(u|0)>(h|0)?u:h,h=n-1|0,z=k+48|0,f=0,J=(J|0)<=0;v:{for(;;){if((f|0)>=(n|0))break v;if(J||(E=h-f|0,E=I>>>0>E>>>0?E:I,l0((k+96|0)+(f<<2)|0,p,(E<<2)+4|0),f=(f+E|0)+1|0),(D|0)<=0|(f|0)>=(n|0)||(E=h-f|0,E=W>>>0>E>>>0?E:W,l0((k+96|0)+(f<<2)|0,y,(E<<2)+4|0),f=(f+E|0)+1|0),(R|0)<=0|(f|0)>=(n|0)||(E=h-f|0,E=w>>>0>E>>>0?E:w,a=E+1|0,B0(f+z|0,1,a),l0((k+96|0)+(f<<2)|0,v,(E<<2)+4|0),f=f+a|0),!f)break}if(f=i[o+84>>2],(f|0)==20){i[o+80>>2]=1001,n=0;break _}i[o+84>>2]=f+1,i[(o+(f<<2)|0)+4>>2]=1016,n=0;break _}if((u|0)>16)break h;if(n=1,(u|0)<=0)break _;for(v=A+1244|0,p=A+1116|0,y=A+1324|0,W=A+988|0,I=A+362|0,f=0,R=s[A+345|0];;){if(h=f<<2,w=h+W|0,n=R?s[f+I|0]:f,i[w>>2]=i[(k+96|0)+(n<<2)>>2],l[f+y|0]=s[n+z|0],n=0,w=i[w>>2],D=i[o+2148>>2],w>>>0>=i[o+2152>>2]-D>>2>>>0||(w=i[D+(w<<2)>>2],!w))break _;if(i[h+p>>2]=i[w+96>>2],i[h+v>>2]=i[w+100>>2],n=1,f=f+1|0,(u|0)==(f|0))break}}B=k+480|0;break s}C0(16464,13894,1799,3606),P()}C0(16431,13894,1852,3606),P()}if(n)break l;r=0;break u}i[A+808>>2]=i[(s[A+20|0]?i[o+2220>>2]+808|0:A+24|0)>>2],i[o+2220>>2]=A}if(B=_+80|0,u=i[o+2216>>2],!r){u&&(l[u+312|0]=2),w4(o+548|0,t),f=i[A+1352>>2],f&&(i[A+1356>>2]=f,G(f)),C8(q),f=i[A+784>>2],f&&(i[A+788>>2]=f,G(f)),f=i[A+8>>2];u:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break u;V[i[i[f>>2]+8>>2]](f),g(f)}G(A),n=i[Z+8>>2];break o}n=i[u+56>>2],r=i[u+52>>2],k=n-r>>2,i[A>>2]=k;u:{if(h=i[u+60>>2],h>>>0>n>>>0){i[n>>2]=A,i[u+56>>2]=n+4;break u}l:{if(f=k+1|0,f>>>0<1073741824){if(h=h-r|0,w=h>>1,h=h>>>0>=2147483644?1073741823:f>>>0>>0?w:f,h){if(h>>>0>=1073741824)break l;f=U(h<<2)}else f=0;if(k=f+(k<<2)|0,i[k>>2]=A,w=k+4|0,(r|0)!=(n|0)){for(;k=k-4|0,n=n-4|0,i[k>>2]=i[n>>2],(r|0)!=(n|0););r=i[u+52>>2]}i[u+60>>2]=f+(h<<2),i[u+56>>2]=w,i[u+52>>2]=k,r&&G(r),i[u+56>>2]=w;break u}break t}break i}if(ni(C,1),Gt(C),i[A+776>>2]>0)for(h=i[C>>2]-i[t+20>>2]|0,n=i[A+784>>2],k=0;;){w=k<<2,n=i[w+n>>2],_=i[t+32>>2],f=i[t+36>>2]-_>>2;u:{for(;;){if(r=f,u=0,(r|0)<=0)break u;if(f=r-1|0,!((n|0)<(i[_+(f<<2)>>2]-h|0)))break}u=r}if(n=i[A+784>>2],f=w+n|0,i[f>>2]=i[f>>2]-u,k=k+1|0,!((k|0)>2]))break}u:{if(!s[A+12|0]){f=i[o+3212>>2];break u}h=U(480),N7(h+8|0),i[h+472>>2]=0,i[h+476>>2]=0,i[h+464>>2]=0,i[h+468>>2]=0,i[h+456>>2]=0,i[h+460>>2]=0,i[h+448>>2]=0,i[h+452>>2]=0,i[h+440>>2]=0,i[h+444>>2]=0,i[h+432>>2]=0,i[h+436>>2]=0,i[h+424>>2]=0,i[h+428>>2]=0,i[h>>2]=i[o+2216>>2],k=i[o+3212>>2],n=i[o+3216>>2];l:{if(k>>>0>>0){i[k>>2]=h,f=k+4|0;break l}if(r=i[o+3208>>2],u=k-r>>2,f=u+1|0,f>>>0>=1073741824)break t;if(v=u<<2,n=n-r|0,w=n>>1,w=n>>>0>=2147483644?1073741823:f>>>0>>0?w:f,w){if(w>>>0>=1073741824)break i;u=U(w<<2)}else u=0;if(n=v+u|0,i[n>>2]=h,f=n+4|0,(r|0)!=(k|0)){for(;n=n-4|0,k=k-4|0,i[n>>2]=i[k>>2],(r|0)!=(k|0););r=i[o+3208>>2]}if(i[o+3216>>2]=u+(w<<2),i[o+3212>>2]=f,i[o+3208>>2]=n,!r)break l;G(r)}i[o+3212>>2]=f}if(i[o+3208>>2]!=(f|0)){n=U(144),l[n+36|0]=0,i[n+32>>2]=0,i[n>>2]=0,i[n+4>>2]=0,i[n+44>>2]=0,i[n+140>>2]=o,i[n+128>>2]=-1,i[n+132>>2]=0,i[n+120>>2]=0,i[n+124>>2]=-1,i[n+136>>2]=0,i[n+40>>2]=0,i[n+4>>2]=A,i[n>>2]=t,f=i[C+4>>2],i[n+8>>2]=i[C>>2],i[n+12>>2]=f,f=i[C+12>>2],i[n+16>>2]=i[C+8>>2],i[n+20>>2]=f,f=i[C+20>>2],i[n+24>>2]=i[C+16>>2],i[n+28>>2]=f,l[n+36|0]=s[o+3220|0],A=i[i[o+3212>>2]-4>>2],t=i[A+428>>2],k=i[A+432>>2];u:{if(t>>>0>>0){i[t>>2]=n,n=t+4|0;break u}if(r=i[A+424>>2],u=t-r>>2,f=u+1|0,f>>>0>=1073741824)break t;if(k=k-r|0,C=k>>1,C=k>>>0>=2147483644?1073741823:f>>>0>>0?C:f,C){if(C>>>0>=1073741824)break i;f=U(C<<2)}else f=0;if(k=f+(u<<2)|0,i[k>>2]=n,n=k+4|0,(r|0)!=(t|0)){for(;k=k-4|0,t=t-4|0,i[k>>2]=i[t>>2],(r|0)!=(t|0););r=i[A+424>>2]}if(i[A+432>>2]=f+(C<<2),i[A+428>>2]=n,i[A+424>>2]=k,!r)break u;G(r)}i[A+428>>2]=n}fk(o,Z+7|0),n=0}B=Z+16|0;break n}y0(),P()}break k}n:switch(r-32|0){case 0:Z=U(668),i[Z>>2]=43652,i[Z+4>>2]=0,i[Z+8>>2]=0,k=f,w=f+4|0,A=B0(Z+12|0,0,656),u=S+8|0,f=u0(u,4),i[A>>2]=f,n=8;t:{if((f|0)>15||(ni(u,2),f=u0(u,6),i[A+4>>2]=f+1,(f|0)>62)||(f=u0(u,3),i[A+8>>2]=f+1,(f|0)>6))break t;if(j=A,L=u0(u,1),i[j+12>>2]=L,ni(u,16),K7(A+16|0,u,i[A+8>>2]),f=u0(u,1),i[A+484>>2]=f,o=i[A+8>>2],r=f?0:o-1|0,(r|0)<(o|0)){for(t=A+488|0,f=r;;){if(o=t+m(f,12)|0,j=o,L=M0(u),i[j>>2]=L,j=o,L=M0(u),i[j+4>>2]=L,h=M0(u),i[o+8>>2]=h,i[o>>2]==-99999|(h|0)==-99999|i[o+4>>2]==-99999)break t;if(f=f+1|0,!((f|0)>2]))break}f=i[A+484>>2]}o:{u:{l:{if(f)break l;if((r|0)>7)break u;if((r|0)<=0||(o=(A+488|0)+m(r,12)|0,f=i[o>>2],n=i[o+4>>2],o=i[o+8>>2],i[A+496>>2]=o,i[A+492>>2]=n,i[A+488>>2]=f,(r|0)==1)||(i[A+508>>2]=o,i[A+504>>2]=n,i[A+500>>2]=f,(r|0)==2)||(i[A+520>>2]=o,i[A+516>>2]=n,i[A+512>>2]=f,(r|0)==3)||(i[A+532>>2]=o,i[A+528>>2]=n,i[A+524>>2]=f,(r|0)==4)||(i[A+544>>2]=o,i[A+540>>2]=n,i[A+536>>2]=f,(r|0)==5)||(i[A+556>>2]=o,i[A+552>>2]=n,i[A+548>>2]=f,(r|0)==6))break l;i[A+568>>2]=o,i[A+564>>2]=n,i[A+560>>2]=f}if(j=A,L=u0(u,6),l[j+584|0]=L,f=M0(u),i[A+588>>2]=f,f-1023>>>0<=4294966271)break o;n=f+1|0,i[A+588>>2]=n,f=i[A+596>>2],r=f,t=i[A+592>>2],o=(r-t|0)/12|0;l:{if(o>>>0>>0){if(r=0,t=n-o|0,h=i[A+600>>2],t>>>0<=(h-f|0)/12>>>0){t&&(r=f,f=m(t,12)-12|0,f=(f-((f>>>0)%12|0)|0)+12|0,f=B0(r,0,f)+f|0),i[A+596>>2]=f;break l}s:{if(o=i[A+592>>2],_=(f-o|0)/12|0,n=_+t|0,n>>>0<357913942){if(h=(h-o|0)/12|0,v=h<<1,h=h>>>0>=178956970?357913941:n>>>0>>0?v:n,h){if(h>>>0>=357913942)break s;r=U(m(h,12))}n=m(_,12)+r|0,t=m(t,12)-12|0,_=(t-((t>>>0)%12|0)|0)+12|0,t=B0(n,0,_),_=t+_|0,h=m(h,12)+r|0;h:{if((f|0)==(o|0)){r=t;break h}for(;v=n-4|0,i[v>>2]=0,r=n-12|0,t=f-12|0,i[r>>2]=i[t>>2],i[n-8>>2]=i[f-8>>2],f=f-4|0,i[v>>2]=i[f>>2],i[f>>2]=0,i[t>>2]=0,i[t+4>>2]=0,n=r,f=t,(o|0)!=(f|0););f=i[A+596>>2],o=i[A+592>>2]}if(i[A+600>>2]=h,i[A+596>>2]=_,i[A+592>>2]=r,(f|0)!=(o|0))for(;r=f-12|0,n=i[r>>2],n&&(i[f-8>>2]=n,G(n)),f=r,(o|0)!=(r|0););o&&G(o);break l}y0(),P()}break i}if(n>>>0>=o>>>0)break l;if(n=t+m(n,12)|0,(n|0)!=(r|0))for(;f=r-12|0,o=i[f>>2],o&&(i[r-8>>2]=o,G(o)),r=f,(r|0)!=(n|0););i[A+596>>2]=n}if(i[A+588>>2]>=2)for(n=s[A+584|0],f=1;;){r=n+1|0,h=m(f,12),o=h+i[A+592>>2]|0,t=i[o>>2],v=n,n=i[o+4>>2]-t|0;l:{if(v>>>0>=n>>>0){L2(o,r-n|0);break l}if(r>>>0>=n>>>0)break l;i[o+4>>2]=r+t}for(r=0;n=u0(u,1),l[i[h+i[A+592>>2]>>2]+r|0]=n,n=s[A+584|0],o=n>>>0>r>>>0,r=r+1|0,!!o;);if(f=f+1|0,!((f|0)>2]))break}f=u0(u,1),l[A+604|0]=f;l:{s:{if(!(f&255)||(j=A,L=u0(u,32),i[j+608>>2]=L,j=A,L=u0(u,32),i[j+612>>2]=L,f=u0(u,1),l[A+616|0]=f,!(f&255)))break s;if(j=A,L=M0(u)+1|0,i[j+620>>2]=L,r=M0(u),i[A+624>>2]=r,r>>>0>=1024)break o;t=0,f=i[A+632>>2],o=i[A+628>>2],n=f-o>>1;h:{if(n>>>0>>0){if(n=r-n|0,h=i[A+636>>2],n>>>0<=h-f>>1>>>0){n&&(r=f,f=n<<1,f=B0(r,0,f)+f|0),i[A+632>>2]=f;break h}w:{if(r=i[A+628>>2],w=f-r>>1,o=w+n|0,(o|0)>=0){if(h=h-r|0,h=h>>>0>=2147483646?2147483647:o>>>0>>0?h:o,h){if((h|0)<0)break w;t=U(h<<1)}if(o=(w<<1)+t|0,n=n<<1,n=B0(o,0,n)+n|0,(f|0)!=(r|0))for(;o=o-2|0,f=f-2|0,X[o>>1]=Q[f>>1],(f|0)!=(r|0););i[A+636>>2]=(h<<1)+t,i[A+632>>2]=n,i[A+628>>2]=o,r&&G(r);break h}y0(),P()}break i}r>>>0>>0&&(i[A+632>>2]=o+(r<<1))}f=A+640|0,n=i[f>>2],r=i[A+624>>2],o=i[f+4>>2]-n|0;h:{if(r>>>0>o>>>0){L2(f,r-o|0);break h}r>>>0>>0&&(i[f+4>>2]=r+n)}if(i[A+624>>2]<=0)break s;f=M0(u),X[i[A+628>>2]>>1]=f;break l}j=A,L=u0(u,1),l[j+652|0]=L}n=0;break t}C0(14842,13920,144,13592),P()}v2(w,8,0),n=8}r=n;t:{if(r)break t;if(n=i[k+520>>2],(n|0)>=0){o=B-368|0,B=o,f=49876;o:{u:switch(n-1|0){case 1:f=49872;break;case 0:break u;default:break o}if(t=i[f>>2],c(t,30827,0),i[o+352>>2]=i[A>>2],c(t,29805,o+352|0),i[o+336>>2]=i[A+4>>2],c(t,30237,o+336|0),i[o+320>>2]=i[A+8>>2],c(t,29882,o+320|0),i[o+304>>2]=i[A+12>>2],c(t,28489,o+304|0),f=i[A+8>>2],Cr(A+16|0,1,t),(f|0)>=2)for(n=f-2|0,u=A+68|0,f=0;i[o+288>>2]=f,c(t,30407,o+288|0),Cr(u+m(f,52)|0,0,t),h=(f|0)!=(n|0),f=f+1|0,!!h;);i[o+272>>2]=i[A+484>>2],c(t,23930,o+272|0);u:{if(i[A+484>>2]){if(i[A+8>>2]<=0)break u;for(u=A+488|0,f=0;n=u+m(f,12)|0,i[o+260>>2]=i[n>>2],i[o+256>>2]=f,c(t,22455,o+256|0),i[o+240>>2]=i[n+4>>2],c(t,22746,o+240|0),i[o+224>>2]=i[n+8>>2],c(t,22791,o+224|0),f=f+1|0,(f|0)>2];);break u}i[o+208>>2]=i[A+488>>2],c(t,22497,o+208|0),i[o+192>>2]=i[A+492>>2],c(t,22742,o+192|0),i[o+176>>2]=i[A+496>>2],c(t,22787,o+176|0)}if(i[o+160>>2]=s[A+584|0],c(t,22832,o+160|0),i[o+144>>2]=i[A+588>>2],c(t,22402,o+144|0),i[A+588>>2]>=2)for(n=1;;){for(f=0,u=m(n,12);i[o+136>>2]=l[i[u+i[A+592>>2]>>2]+f|0],i[o+132>>2]=f,i[o+128>>2]=n,c(t,22705,o+128|0),h=s[A+584|0]>f>>>0,f=f+1|0,!!h;);if(n=n+1|0,!((n|0)>2]))break}i[o+112>>2]=l[A+604|0],c(t,22542,o+112|0);u:{if(!s[A+604|0]||(i[o+96>>2]=i[A+608>>2],c(t,22427,o+96|0),i[o+80>>2]=i[A+612>>2],c(t,22890,o+80|0),i[o+64>>2]=l[A+616|0],c(t,22602,o- -64|0),!s[A+616|0])||(i[o+48>>2]=i[A+620>>2],c(t,22644,o+48|0),i[o+32>>2]=i[A+624>>2],c(t,22857,o+32|0),i[A+624>>2]<=0))break u;i[o+20>>2]=Q[i[A+628>>2]>>1],i[o+16>>2]=0,c(t,22677,o+16|0);break o}i[o>>2]=l[A+652|0],c(t,22577,o)}B=o+368|0}if(i[Z+4>>2]=i[Z+4>>2]+1,n=k+(i[Z+12>>2]<<3)|0,i[n+600>>2]=A,f=i[n+604>>2],i[n+604>>2]=Z,!f||(n=i[f+4>>2],i[f+4>>2]=n-1,n))break t;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[Z+4>>2],i[Z+4>>2]=f-1,f||(V[i[i[Z>>2]+8>>2]](Z),g(Z)),n=r,w4(k+548|0,C);break k;case 1:u=0,Z=U(17016),i[Z>>2]=43768,i[Z+4>>2]=0,i[Z+8>>2]=0,o=f+4|0,A=Z+12|0,i[A+8824>>2]=0,i[A+8816>>2]=0,i[A+8820>>2]=0,r=A+9e3|0,X[r+2>>1]=0,X[r+4>>1]=0,l[r|0]=0,l[r+21|0]=0,l[r+22|0]=0,l[r+23|0]=0,l[r+24|0]=0,l[r+25|0]=0,l[r+26|0]=0,l[r+27|0]=0,l[r+28|0]=0,l[r+20|0]=2,i[r+12>>2]=5,i[r+16>>2]=33685504,i[r+48>>2]=0,i[r+52>>2]=0,X[r+7810>>1]=258,X[r+7812>>1]=3855,X[r+7808>>1]=0,i[r+7804>>2]=65536,l[r+64|0]=0,i[r+60>>2]=1,l[r+5|0]=0,l[r+6|0]=0,l[r+7|0]=0,l[r+8|0]=0,l[r+29|0]=0,l[r+30|0]=0,l[r+31|0]=0,l[r+32|0]=0,l[r+33|0]=0,l[r+34|0]=0,l[r+35|0]=0,l[r+36|0]=0,l[r+37|0]=0,l[r+38|0]=0,l[r+39|0]=0,l[r+40|0]=0,l[r+41|0]=0,l[r+42|0]=0,l[r+43|0]=0,l[r+44|0]=0,l[r+56|0]=0,l[A+16828|0]=0,i[A+16820>>2]=0,i[A+16824>>2]=0,l[A|0]=0,k=S+8|0,j=A,L=u0(k,4),l[j+1|0]=L,n=u0(k,3)+1|0,l[A+2|0]=n,r=8;t:{if(n<<24>>24>7)break t;j=A,L=u0(k,1),l[j+3|0]=L,K7(A+4|0,k,l[A+2|0]);o:{u:{l:{if(n=M0(k),(n|0)==-99999)break l;if(i[A+472>>2]=n,(n|0)>15)break t;if(t=M0(k),(t|0)==-99999)break l;if(i[A+476>>2]=t,(t|0)==3&&(u=u0(k,1),t=i[A+476>>2]),l[A+480|0]=u,t>>>0>=4){v2(o,1019,0);break t}if(n=M0(k),(n|0)==-99999||(i[A+484>>2]=n,n=M0(k),(n|0)==-99999))break l;if(i[A+488>>2]=n,!n||(t=i[A+484>>2],!t|(n|0)>65535|(t|0)>65535))break t;r=u0(k,1),l[A+492|0]=r;s:{if(r&255){if(r=M0(k),(r|0)==-99999||(i[A+496>>2]=r,r=M0(k),(r|0)==-99999)||(i[A+500>>2]=r,r=M0(k),(r|0)==-99999)||(i[A+504>>2]=r,r=M0(k),(r|0)==-99999))break l;i[A+508>>2]=r;break s}i[A+496>>2]=0,i[A+500>>2]=0,i[A+504>>2]=0,i[A+508>>2]=0}if(r=M0(k),(r|0)==-99999||(i[A+512>>2]=r+8,r=M0(k),(r|0)==-99999))break l;if(i[A+516>>2]=r+8,!(i[A+512>>2]<17&(r|0)<=8))break u;if(r=M0(k),(r|0)==-99999)break l;if(n=r+4|0,i[A+520>>2]=n,r>>>0>=13)break u;if(i[A+16868>>2]=1<>2]=t+1,t=M0(k),(t|0)==-99999)||(v=n+w|0,i[v>>2]=t,t=M0(k),(t|0)==-99999))break l;if(i[n+h>>2]=t,i[n+u>>2]=(t+i[v>>2]|0)-1,r=r+1|0,t=l[A+2|0],!((r|0)<(t|0)))break}n=s[A+524|0]}s:{h:{if(!(n&255))break h;if((t|0)>7)break s;if((t|0)<2||(r=t-1|0,u=r<<2,n=u+(A+528|0)|0,i[A+528>>2]=i[n>>2],t=u+(A+556|0)|0,i[A+556>>2]=i[t>>2],u=u+(A+584|0)|0,i[A+584>>2]=i[u>>2],(r|0)==1)||(i[A+532>>2]=i[n>>2],i[A+560>>2]=i[t>>2],i[A+588>>2]=i[u>>2],(r|0)==2)||(i[A+536>>2]=i[n>>2],i[A+564>>2]=i[t>>2],i[A+592>>2]=i[u>>2],(r|0)==3)||(i[A+540>>2]=i[n>>2],i[A+568>>2]=i[t>>2],i[A+596>>2]=i[u>>2],(r|0)==4)||(i[A+544>>2]=i[n>>2],i[A+572>>2]=i[t>>2],i[A+600>>2]=i[u>>2],(r|0)==5))break h;i[A+548>>2]=i[n>>2],i[A+576>>2]=i[t>>2],i[A+604>>2]=i[u>>2]}if(r=M0(k),(r|0)==-99999||(i[A+612>>2]=r+3,r=M0(k),(r|0)==-99999)||(i[A+616>>2]=r,r=M0(k),(r|0)==-99999)||(i[A+620>>2]=r+2,r=M0(k),(r|0)==-99999)||(i[A+624>>2]=r,r=M0(k),(r|0)==-99999)||(i[A+628>>2]=r,r=M0(k),(r|0)==-99999))break l;if(i[A+632>>2]=r,r=8,n=i[A+612>>2],(n|0)>6|(n+i[A+616>>2]|0)>6||(n=i[A+620>>2],(n|0)>5|(n+i[A+624>>2]|0)>5))break t;r=u0(k,1),l[A+636|0]=r;h:{if(!(r&255))break h;if(r=u0(k,1),l[A+637|0]=r,n=A+638|0,r&255){if(r=Yk(k,n),!r)break h;break t}for(r=0,L4(n,77632,0),L4(n+16|0,77632,0),L4(n+32|0,77632,0),L4(n+48|0,77632,0),L4(n- -64|0,77632,0),L4(n+80|0,77632,0),u=n+96|0,h=i[i[11334]+12>>2];t=h+(r<<1)|0,l[(u+(s[t+1|0]<<3)|0)+s[t|0]|0]=s[r+77648|0],l[s[t+2|0]+(u+(s[t+3|0]<<3)|0)|0]=s[r+77649|0],r=r+2|0,(r|0)!=64;);for(u=n+288|0,r=0,h=i[i[11334]+12>>2];t=h+(r<<1)|0,l[(u+(s[t+1|0]<<3)|0)+s[t|0]|0]=s[r+77712|0],l[s[t+2|0]+(u+(s[t+3|0]<<3)|0)|0]=s[r+77713|0],r=r+2|0,(r|0)!=64;);for(u=n+160|0,r=0,h=i[i[11334]+12>>2];t=h+(r<<1)|0,l[(u+(s[t+1|0]<<3)|0)+s[t|0]|0]=s[r+77648|0],l[s[t+2|0]+(u+(s[t+3|0]<<3)|0)|0]=s[r+77649|0],r=r+2|0,(r|0)!=64;);for(u=n+352|0,r=0,h=i[i[11334]+12>>2];t=h+(r<<1)|0,l[(u+(s[t+1|0]<<3)|0)+s[t|0]|0]=s[r+77712|0],l[s[t+2|0]+(u+(s[t+3|0]<<3)|0)|0]=s[r+77713|0],r=r+2|0,(r|0)!=64;);for(u=n+224|0,r=0,h=i[i[11334]+12>>2];t=h+(r<<1)|0,l[(u+(s[t+1|0]<<3)|0)+s[t|0]|0]=s[r+77648|0],l[s[t+2|0]+(u+(s[t+3|0]<<3)|0)|0]=s[r+77649|0],r=r+2|0,(r|0)!=64;);for(u=n+416|0,r=0,h=i[i[11334]+12>>2];t=h+(r<<1)|0,l[(u+(s[t+1|0]<<3)|0)+s[t|0]|0]=s[r+77712|0],l[s[t+2|0]+(u+(s[t+3|0]<<3)|0)|0]=s[r+77713|0],r=r+2|0,(r|0)!=64;);for(u=n+481|0,h=n+480|0,r=0,w=i[i[11334]+12>>2];t=w+(r<<1)|0,_=r+77648|0,v=s[_|0],l[(h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,l[(u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,_=s[_|0],l[((h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,l[((u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,r=r+1|0,(r|0)!=64;);for(u=n+1249|0,h=n+1248|0,r=0,w=i[i[11334]+12>>2];t=w+(r<<1)|0,_=r+77712|0,v=s[_|0],l[(h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,l[(u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,_=s[_|0],l[((h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,l[((u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,r=r+1|0,(r|0)!=64;);for(u=n+737|0,h=n+736|0,r=0,w=i[i[11334]+12>>2];t=w+(r<<1)|0,_=r+77648|0,v=s[_|0],l[(h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,l[(u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,_=s[_|0],l[((h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,l[((u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,r=r+1|0,(r|0)!=64;);for(u=n+1505|0,h=n+1504|0,r=0,w=i[i[11334]+12>>2];t=w+(r<<1)|0,_=r+77712|0,v=s[_|0],l[(h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,l[(u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,_=s[_|0],l[((h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,l[((u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,r=r+1|0,(r|0)!=64;);for(u=n+993|0,h=n+992|0,r=0,w=i[i[11334]+12>>2];t=w+(r<<1)|0,_=r+77648|0,v=s[_|0],l[(h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,l[(u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,_=s[_|0],l[((h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,l[((u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,r=r+1|0,(r|0)!=64;);for(u=n+1761|0,h=n+1760|0,r=0,w=i[i[11334]+12>>2];t=w+(r<<1)|0,_=r+77712|0,v=s[_|0],l[(h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,l[(u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,_=s[_|0],l[((h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,l[((u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,r=r+1|0,(r|0)!=64;);L4(n+2016|0,77648,3),L4(n+3040|0,77712,3)}j=A,L=u0(k,1),l[j+8798|0]=L,j=A,L=u0(k,1),l[j+8799|0]=L,r=u0(k,1),l[A+8800|0]=r;h:{if(r&255){if(j=A,L=u0(k,4)+1|0,l[j+8801|0]=L,j=A,L=u0(k,4)+1|0,l[j+8802|0]=L,r=M0(k),(r|0)==-99999||(i[A+8804>>2]=r+3,r=M0(k),(r|0)==-99999))break l;if(i[A+8808>>2]=r,j=A,L=u0(k,1),l[j+8812|0]=L,i[A+512>>2]>2]>=l[A+8802|0])break h;break o}i[A+8804>>2]=0,i[A+8808>>2]=0,l[A+8801|0]=0,l[A+8802|0]=0,l[A+8812|0]=0}if(n=M0(k),(n|0)==-99999)break l;if(n>>>0>=65){v2(o,1014,0),r=8;break t}u=0,r=A+8816|0,t=i[r+4>>2],w=i[r>>2],h=(t-w|0)/100|0;h:{if(h>>>0>>0){if(w=n-h|0,v=i[r+8>>2],w>>>0<=(v-t|0)/100>>>0){w&&(u=t,t=m(w,100)-100|0,t=(t-((t>>>0)%100|0)|0)+100|0,t=B0(u,0,t)+t|0),i[r+4>>2]=t;break h}w:{if(h=i[r>>2],p=(t-h|0)/100|0,_=p+w|0,_>>>0<42949673){if(v=(v-h|0)/100|0,y=v<<1,_=v>>>0>=21474836?42949672:_>>>0>>0?y:_,_){if(_>>>0>=42949673)break w;u=U(m(_,100))}if(v=m(p,100)+u|0,w=m(w,100)-100|0,w=(w-((w>>>0)%100|0)|0)+100|0,w=B0(v,0,w)+w|0,(t|0)!=(h|0)){for(;v=v-100|0,t=t-100|0,l0(v,t,100),(t|0)!=(h|0););h=i[r>>2]}i[r+8>>2]=m(_,100)+u,i[r+4>>2]=w,i[r>>2]=v,h&&G(h);break h}y0(),P()}break i}n>>>0>>0&&(i[r+4>>2]=w+m(n,100))}h:{if(!n)break h;for(t=0;;){if(Dk(o,A,k,i[A+8816>>2]+m(t,100)|0,t,r,0)){if(t=t+1|0,(n|0)!=(t|0))continue;break h}break}r=1005;break t}r=u0(k,1),l[A+8828|0]=r;h:{if(r&255){if(n=M0(k),(n|0)==-99999)break l;if(i[A+8832>>2]=n,r=8,(n|0)>32)break t;if((n|0)<=0)break h;for(r=A+8964|0,n=A+8836|0,t=0;j=n+(t<<2)|0,L=u0(k,i[A+520>>2]),i[j>>2]=L,j=r+t|0,L=u0(k,1),l[j|0]=L,t=t+1|0,(t|0)>2];);break h}i[A+8832>>2]=0}if(j=A,L=u0(k,1),l[j+8996|0]=L,j=A,L=u0(k,1),l[j+8997|0]=L,r=u0(k,1),l[A+8998|0]=r,r&255){r=0,n=A+9e3|0,t=u0(k,1),l[n|0]=(t|0)!=0;h:{if(t){if(r=u0(k,8),(r|0)<=17){r=r<<2,X[n+2>>1]=Q[r+46144>>1],r=Q[r+46146>>1];break h}if((r|0)==255){j=n,L=u0(k,16),X[j+2>>1]=L,r=u0(k,16);break h}r=0}X[n+2>>1]=0}X[n+4>>1]=r,r=u0(k,1),l[n+6|0]=(r|0)!=0,r&&(j=n,L=(u0(k,1)|0)!=0,l[j+7|0]=L),l[n+20|0]=2,X[n+18>>1]=514,l[n+16|0]=0,i[n+12>>2]=5,r=u0(k,1),l[n+8|0]=(r|0)!=0;h:{if(!r||(r=u0(k,3),i[n+12>>2]=(r|0)>=5?5:r,j=n,L=(u0(k,1)|0)!=0,l[j+16|0]=L,r=u0(k,1),l[n+17|0]=(r|0)!=0,!r))break h;r=u0(k,8),l[n+18|0]=r;w:{_:{v:switch(r=r&255,r|0){case 0:case 3:break _;default:break v}if(r>>>0<11)break w}l[n+18|0]=2}r=u0(k,8),l[n+19|0]=r;w:{_:switch(r&255){default:if((r&254)>>>0<18)break w;break;case 0:case 3:break _}l[n+19|0]=2}r=u0(k,8),l[n+20|0]=(r&255)>>>0>10?2:r}r=0,t=u0(k,1),l[n+21|0]=(t|0)!=0;h:{w:{_:{if(t){if(r=M0(k),(r|0)==-99999)break w;if(l[n+22|0]=r,r=M0(k),(r|0)!=-99999)break _;break w}l[n+22|0]=0}l[n+23|0]=r,j=n,L=(u0(k,1)|0)!=0,l[j+24|0]=L,j=n,L=(u0(k,1)|0)!=0,l[j+25|0]=L,j=n,L=(u0(k,1)|0)!=0,l[j+26|0]=L,r=u0(k,1),l[n+27|0]=(r|0)!=0;_:{if(r){if(r=M0(k),(r|0)==-99999||(i[n+28>>2]=r,r=M0(k),(r|0)==-99999)||(i[n+32>>2]=r,r=M0(k),(r|0)==-99999)||(i[n+36>>2]=r,r=M0(k),(r|0)==-99999))break w;i[n+40>>2]=r;break _}i[n+28>>2]=0,i[n+32>>2]=0,i[n+36>>2]=0,i[n+40>>2]=0}r=u0(k,1),l[n+44|0]=(r|0)!=0;_:{v:{if(!r)break v;if(j=n,L=u0(k,32),i[j+48>>2]=L,j=n,L=u0(k,32),i[j+52>>2]=L,r=u0(k,1),l[n+56|0]=(r|0)!=0,r){if(r=M0(k),(r|0)==-99999)break w;i[n+60>>2]=r+1}if(r=u0(k,1),l[n+64|0]=(r|0)!=0,!r)break v;u=0,j=n,L=(u0(k,1)|0)!=0,l[j+65|0]=L,r=u0(k,1),l[n+66|0]=(r|0)!=0,r|l[n+65|0]&1&&(r=u0(k,1),l[n+67|0]=(r|0)!=0,r&&(j=n,L=u0(k,8),i[j+68>>2]=L,j=n,L=u0(k,5),i[j+72>>2]=L,j=n,L=(u0(k,1)|0)!=0,l[j+76|0]=L,j=n,L=u0(k,5),i[j+80>>2]=L),j=n,L=u0(k,4),i[j+84>>2]=L,j=n,L=u0(k,4),i[j+88>>2]=L,s[n+67|0]==1&&(j=n,L=u0(k,4),i[j+92>>2]=L),j=n,L=u0(k,5),i[j+96>>2]=L,j=n,L=u0(k,5),i[j+100>>2]=L,j=n,L=u0(k,5),i[j+104>>2]=L),r=0;Z:{if(l[A+2|0]<=0)break Z;_=n+7356|0,v=n+5564|0,p=n+3772|0,y=n+1980|0,W=n+188|0,R=n+160|0,I=n+132|0,q=n+122|0,z=n+115|0,D=n+108|0;m:{for(;;){B:{r=u0(k,1),l[u+D|0]=(r|0)!=0;p:{W:{G:{C:{if(r){l[u+z|0]=1,r=u+q|0,l[r|0]=0,h=I+(u<<2)|0,i[h>>2]=0;break C}if(t=u0(k,1),l[u+z|0]=(t|0)!=0,r=u+q|0,l[r|0]=0,h=I+(u<<2)|0,i[h>>2]=0,!t)break G}if(t=M0(k),(t|0)==-99999)break B;if(i[R+(u<<2)>>2]=t,l[r|0]&1)break p;break W}if(t=r,r=u0(k,1),l[t|0]=(r|0)!=0,r)break p}if(r=M0(k),(r|0)==-99999)break B;if(i[h>>2]=r,r>>>0<=31)break p;r=8;break Z}if(r=0,s[n+65|0]==1)for(;;){if(J=M0(k),(J|0)==-99999||(w=r<<3,t=u<<8,i[w+(t+W|0)>>2]=J,J=M0(k),(J|0)==-99999))break B;if(i[w+(t+y|0)>>2]=J,s[n+67|0]==1){if(J=M0(k),(J|0)==-99999||(i[w+(t+p|0)>>2]=J,J=M0(k),(J|0)==-99999))break B;i[w+(t+v|0)>>2]=J}if(j=(_+(u<<6)|0)+(r<<1)|0,L=(u0(k,1)|0)!=0,l[j|0]=L,t=k0[h>>2]>r>>>0,r=r+1|0,!t)break}if(r=0,s[n+66|0]==1)for(;;){if(J=M0(k),(J|0)==-99999||(w=r<<3,t=u<<8,i[(w+(t+W|0)|0)+4>>2]=J,J=M0(k),(J|0)==-99999))break B;if(i[(w+(t+y|0)|0)+4>>2]=J,s[n+67|0]==1){if(J=M0(k),(J|0)==-99999||(i[(w+(t+p|0)|0)+4>>2]=J,J=M0(k),(J|0)==-99999))break B;i[(w+(t+v|0)|0)+4>>2]=J}if(j=(_+(u<<6)|0)+(r<<1)|0,L=(u0(k,1)|0)!=0,l[j+1|0]=L,t=k0[h>>2]>r>>>0,r=r+1|0,!t)break}if(r=0,u=u+1|0,(u|0)>1]=r,r&61440&&(v2(o,8,0),X[n+7808>>1]=0),r=M0(k),(r|0)==-99999)||(l[n+7810|0]=r,(r&255)>>>0>=17&&(v2(o,8,0),l[n+7810|0]=2),r=M0(k),(r|0)==-99999)||(l[n+7811|0]=r,(r&255)>>>0>=17&&(v2(o,8,0),l[n+7811|0]=1),r=M0(k),(r|0)==-99999)||(l[n+7812|0]=r,r&240&&(v2(o,8,0),l[n+7812|0]=15),t=M0(k),(t|0)==-99999))break w;if(l[n+7813|0]=t,r=0,!(t&240))break _;v2(o,8,0),l[n+7813|0]=15;break h}X[n+7810>>1]=258,X[n+7812>>1]=3855,r=0,X[n+7808>>1]=0,l[n+7807|0]=0,l[n+7805|0]=0,l[n+7806|0]=1}break h}v2(o,8,0),r=8}if(r)break t}r=u0(k,1),l[A+16816|0]=r;h:{if(!(r&255)){l[A+16817|0]=0;break h}if(j=A,L=u0(k,1),l[j+16817|0]=L,j=A,L=u0(k,1),l[j+16818|0]=L,j=A,L=u0(k,6),l[j+16819|0]=L,!s[A+16817|0])break h;r=A+16820|0,j=r,L=u0(k,1),l[j|0]=L,j=r,L=u0(k,1),l[j+1|0]=L,j=r,L=u0(k,1),l[j+2|0]=L,j=r,L=u0(k,1),l[j+3|0]=L,j=r,L=u0(k,1),l[j+4|0]=L,j=r,L=u0(k,1),l[j+5|0]=L,j=r,L=u0(k,1),l[j+6|0]=L,j=r,L=u0(k,1),l[j+7|0]=L,j=r,L=u0(k,1),l[j+8|0]=L}o=i[A+476>>2],r=o<<2,y=i[r+46e3>>2],i[A+16856>>2]=y,W=i[r+45984>>2],i[A+16852>>2]=W,z=s[A+480|0];h:{if(z){i[A+16848>>2]=0,n=1,r=1;break h}i[A+16848>>2]=o,n=o?y:1,r=o?W:1}i[A+16864>>2]=n,i[A+16860>>2]=r,t=i[A+512>>2],i[A+16832>>2]=t,h=i[A+516>>2],i[A+16840>>2]=h,w=i[A+612>>2],i[A+16872>>2]=w,k=1<>2]=k,R=i[A+616>>2],_=R+w|0,i[A+16876>>2]=_,I=i[A+488>>2],q=i[A+484>>2],i[A+16912>>2]=m(I,q),i[A+16836>>2]=m(t,6)-48,i[A+16844>>2]=m(h,6)-48,r=1<<_,i[A+16884>>2]=r,n=q-1|0,u=(n+k|0)/(k|0)|0,i[A+16888>>2]=u,v=I-1|0,p=(v+k|0)/(k|0)|0,i[A+16896>>2]=p,n=(r+n|0)/(r|0)|0,i[A+16892>>2]=n,i[A+16904>>2]=m(u,p),u=(r+v|0)/(r|0)|0,i[A+16900>>2]=u,i[A+16908>>2]=m(n,u),p=0,v=0;h:{if(!o||(v=0,z))break h;p=(r|0)/(W|0)|0,v=(r|0)/(y|0)|0}i[A+16920>>2]=v,i[A+16916>>2]=p,r=i[A+620>>2],i[A+16936>>2]=r,p=r+i[A+624>>2]|0,i[A+16940>>2]=p;h:{w:{if(o=_-r|0,(o|0)>2]){F1(22089,70,1,i[12468]);break w}if((o|0)>2]){F1(22160,70,1,i[12468]);break w}i[A+16944>>2]=w-1,v=i[A+8804>>2],i[A+16956>>2]=v,y=u<>2]=y,o=n<>2]=o,A0=u,u=R+1|0,i[A+16952>>2]=A0<>2]=n<>2]=v+i[A+8808>>2],i[A+16932>>2]=m(o,y);_:{if(s[A+16826|0]){u=1<>2]=u,i[A+16996>>2]=n,l[A+16993|0]=o,l[A+16992|0]=v,k-1&(I|q)){F1(21765,24,1,i[12468]);break w}if((r|0)>(w|0)){F1(30545,19,1,i[12468]);break w}if((p|0)>(((_|0)>=5?5:_)|0)){F1(30514,30,1,i[12468]);break w}if(t-17>>>0<=4294967286){F1(30440,36,1,i[12468]);break w}if(h-17>>>0<=4294967286){F1(30477,36,1,i[12468]);break w}l[A|0]=1,r=0;break h}r=8}if(r)break t;l[A|0]=1,r=0;break t}C0(16425,13927,320,13592),P()}v2(o,8,0),r=8;break t}v2(o,1005,0),r=8;break t}v2(o,1027,0),r=8}if(n=r,!r){if(u=i[f+516>>2],(u|0)>=0){n=B-928|0,B=n,t=49876;t:{o:switch(u-1|0){case 1:t=49872;break;case 0:break o;default:break t}if(r=i[t>>2],c(r,30868,0),i[n+912>>2]=l[A+1|0],c(r,25835,n+912|0),i[n+896>>2]=l[A+2|0],c(r,27092,n+896|0),i[n+880>>2]=l[A+3|0],c(r,24311,n+880|0),o=l[A+2|0],k=B-16|0,B=k,t=A+4|0,Cr(t,1,r),(o|0)>=2)for(o=o-2|0,h=t+52|0,t=0;i[k>>2]=t,c(r,30407,k),Cr(h+m(t,52)|0,0,r),w=(t|0)==(o|0),t=t+1|0,!w;);B=k+16|0,i[n+864>>2]=i[A+472>>2],c(r,26637,n+864|0),k=i[A+476>>2];o:{if(k>>>0>=3){t=(k|0)==3?16639:6156;break o}t=i[(k<<2)+46016>>2]}if(i[n+852>>2]=t,i[n+848>>2]=k,c(r,31116,n+848|0),i[A+476>>2]==3&&(i[n+832>>2]=l[A+480|0],c(r,24388,n+832|0)),i[n+816>>2]=i[A+484>>2],c(r,25660,n+816|0),i[n+800>>2]=i[A+488>>2],c(r,23619,n+800|0),i[n+784>>2]=l[A+492|0],c(r,26448,n+784|0),s[A+492|0]&&(i[n+768>>2]=i[A+496>>2],c(r,25571,n+768|0),i[n+752>>2]=i[A+500>>2],c(r,23524,n+752|0),i[n+736>>2]=i[A+504>>2],c(r,25901,n+736|0),i[n+720>>2]=i[A+508>>2],c(r,22918,n+720|0)),i[n+704>>2]=i[A+512>>2],c(r,26079,n+704|0),i[n+688>>2]=i[A+516>>2],c(r,25324,n+688|0),i[n+672>>2]=i[A+520>>2],c(r,25249,n+672|0),i[n+656>>2]=l[A+524|0],c(r,23977,n+656|0),k=l[A+2|0],t=s[A+524|0]?0:k-1|0,(t|0)<(k|0))for(o=A+584|0,h=A+556|0,w=A+528|0;i[n+640>>2]=t,c(r,22392,n+640|0),k=t<<2,i[n+624>>2]=i[k+w>>2],c(r,27200,n+624|0),i[n+608>>2]=i[k+h>>2],c(r,27635,n+608|0),i[n+592>>2]=i[k+o>>2],c(r,25370,n+592|0),t=t+1|0,(t|0)>2]=i[A+612>>2],c(r,25046,n+576|0),i[n+560>>2]=i[A+616>>2],c(r,24999,n+560|0),i[n+544>>2]=i[A+620>>2],c(r,25998,n+544|0),i[n+528>>2]=i[A+624>>2],c(r,24954,n+528|0),i[n+512>>2]=i[A+628>>2],c(r,23652,n+512|0),i[n+496>>2]=i[A+632>>2],c(r,25282,n+496|0),i[n+480>>2]=l[A+636|0],c(r,24421,n+480|0);o:{if(!s[A+636|0]||(i[n+464>>2]=l[A+637|0],c(r,24150,n+464|0),!s[A+637|0]))break o;c(r,12407,0)}if(i[n+448>>2]=l[A+8798|0],c(r,29926,n+448|0),i[n+432>>2]=l[A+8799|0],c(r,24643,n+432|0),i[n+416>>2]=l[A+8800|0],c(r,29968,n+416|0),s[A+8800|0]&&(i[n+400>>2]=l[A+8801|0],c(r,27037,n+400|0),i[n+384>>2]=l[A+8802|0],c(r,26102,n+384|0),i[n+368>>2]=i[A+8804>>2],c(r,25135,n+368|0),i[n+352>>2]=i[A+8808>>2],c(r,25084,n+352|0),i[n+336>>2]=l[A+8812|0],c(r,25762,n+336|0)),i[n+320>>2]=(i[A+8820>>2]-i[A+8816>>2]|0)/100,c(r,23552,n+320|0),i[A+8820>>2]!=i[A+8816>>2])for(t=0;i[n+304>>2]=t,c(r,21478,n+304|0),o7(i[A+8816>>2]+m(t,100)|0,r),t=t+1|0,t>>>0<(i[A+8820>>2]-i[A+8816>>2]|0)/100>>>0;);i[n+288>>2]=l[A+8828|0],c(r,23859,n+288|0);o:{if(!s[A+8828|0]||(i[n+272>>2]=i[A+8832>>2],c(r,23586,n+272|0),i[A+8832>>2]<=0))break o;for(k=A+8964|0,o=A+8836|0,t=0;h=i[o+(t<<2)>>2],i[n+264>>2]=l[k+t|0],i[n+260>>2]=h,i[n+256>>2]=t,c(r,31243,n+256|0),t=t+1|0,(t|0)>2];);}if(i[n+240>>2]=l[A+8996|0],c(r,27479,n+240|0),i[n+224>>2]=l[A+8997|0],c(r,24452,n+224|0),i[n+208>>2]=l[A+8998|0],c(r,27894,n+208|0),i[n+192>>2]=l[A+16816|0],c(r,26514,n+192|0),i[n+176>>2]=l[A+16817|0],c(r,27282,n+176|0),i[n+160>>2]=l[A+16818|0],c(r,24239,n+160|0),i[n+144>>2]=l[A+16819|0],c(r,28654,n+144|0),i[n+128>>2]=i[A+16884>>2],c(r,27073,n+128|0),i[n+112>>2]=i[A+16880>>2],c(r,26157,n+112|0),i[n+96>>2]=1<>2]+i[A+612>>2],c(r,26138,n+96|0),i[n+80>>2]=1<>2],c(r,26195,n+80|0),i[n+64>>2]=1<>2]+i[A+620>>2],c(r,26176,n- -64|0),i[n+48>>2]=i[A+16892>>2],c(r,28335,n+48|0),i[n+32>>2]=i[A+16900>>2],c(r,28048,n+32|0),i[n+16>>2]=i[A+16852>>2],c(r,29626,n+16|0),i[n>>2]=i[A+16856>>2],c(r,29477,n),s[A+16817|0]){o=A+16820|0,k=B-144|0,B=k,r=49876;o:switch(u-1|0){case 1:r=49872;case 0:r=i[r>>2],c(r,30770,0),i[k+128>>2]=s[o|0],c(r,26591,k+128|0),i[k+112>>2]=s[o+1|0],c(r,26829,k+112|0),i[k+96>>2]=s[o+2|0],c(r,29231,k+96|0),i[k+80>>2]=s[o+3|0],c(r,29185,k+80|0),i[k+64>>2]=s[o+4|0],c(r,27354,k- -64|0),i[k+48>>2]=s[o+5|0],c(r,28761,k+48|0),i[k+32>>2]=s[o+6|0],c(r,26921,k+32|0),i[k+16>>2]=s[o+7|0],c(r,24908,k+16|0),i[k>>2]=s[o+8|0],c(r,26875,k);break;default:break o}B=k+144|0}if(!s[A+8998|0])break t;o=A+9e3|0,k=B-576|0,B=k,r=49876;o:{u:switch(u-1|0){case 1:r=49872;break;case 0:break u;default:break o}if(r=i[r>>2],c(r,30950,0),t=Q[o+2>>1],i[k+564>>2]=Q[o+4>>1],i[k+560>>2]=t,c(r,22356,k+560|0),i[k+544>>2]=s[o+6|0],c(r,23897,k+544|0),i[k+528>>2]=s[o+7|0],c(r,25729,k+528|0),i[k+512>>2]=s[o+8|0],c(r,23061,k+512|0),s[o+8|0]==1&&(t=i[o+12>>2],t>>>0<=4?u=i[(t<<2)+46216>>2]:u=12991,i[k+496>>2]=u,c(r,21960,k+496|0),i[k+480>>2]=s[o+16|0],c(r,27751,k+480|0),i[k+464>>2]=s[o+17|0],c(r,24060,k+464|0),i[k+448>>2]=s[o+18|0],c(r,28923,k+448|0),i[k+432>>2]=s[o+19|0],c(r,26371,k+432|0),i[k+416>>2]=s[o+20|0],c(r,29507,k+416|0)),i[k+400>>2]=s[o+21|0],c(r,22946,k+400|0),s[o+21|0]==1&&(i[k+384>>2]=s[o+22|0],c(r,26036,k+384|0),i[k+368>>2]=s[o+23|0],c(r,23471,k+368|0)),i[k+352>>2]=s[o+24|0],c(r,23177,k+352|0),i[k+336>>2]=s[o+25|0],c(r,29769,k+336|0),i[k+320>>2]=s[o+26|0],c(r,24024,k+320|0),i[k+304>>2]=s[o+27|0],c(r,25929,k+304|0),i[k+288>>2]=i[o+28>>2],c(r,26214,k+288|0),i[k+272>>2]=i[o+32>>2],c(r,25865,k+272|0),i[k+256>>2]=i[o+36>>2],c(r,26725,k+256|0),i[k+240>>2]=i[o+40>>2],c(r,25599,k+240|0),i[k+224>>2]=s[o+44|0],c(r,25693,k+224|0),s[o+44|0]==1&&(i[k+208>>2]=i[o+48>>2],c(r,27674,k+208|0),i[k+192>>2]=i[o+52>>2],c(r,29352,k+192|0)),i[k+176>>2]=s[o+56|0],c(r,24346,k+176|0),i[k+160>>2]=i[o+60>>2],c(r,28569,k+160|0),i[k+144>>2]=s[o+64|0],c(r,23821,k+144|0),i[k+128>>2]=s[o+7804|0],c(r,28230,k+128|0),s[o+7804|0]!=1)break o;i[k+112>>2]=s[o+7805|0],c(r,27710,k+112|0),i[k+96>>2]=s[o+7806|0],c(r,24191,k+96|0),i[k+80>>2]=s[o+7807|0],c(r,26550,k+80|0),i[k+64>>2]=Q[o+7808>>1],c(r,26996,k- -64|0),i[k+48>>2]=s[o+7810|0],c(r,28365,k+48|0),i[k+32>>2]=s[o+7811|0],c(r,27853,k+32|0),i[k+16>>2]=s[o+7812|0],c(r,26407,k+16|0),i[k>>2]=s[o+7813|0],c(r,27159,k)}B=k+576|0}B=n+928|0}i[Z+4>>2]=i[Z+4>>2]+1,n=(i[Z+484>>2]<<3)+f|0,i[n+728>>2]=A,r=i[n+732>>2],i[n+732>>2]=Z;t:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break t;V[i[i[r>>2]+8>>2]](r),g(r)}for(n=856,t=f+856|0;;){r=i[t>>2];t:{if(!r|i[Z+484>>2]!=l[r+13|0]||(r=i[t+4>>2],i[t>>2]=0,i[t+4>>2]=0,!r)||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break t;V[i[i[r>>2]+8>>2]](r),g(r)}if(n=n+8|0,t=n+f|0,(n|0)==1368)break}n=0}r=i[Z+4>>2],i[Z+4>>2]=r-1,r||(V[i[i[Z>>2]+8>>2]](Z),g(Z)),w4(f+548|0,C);break k;case 2:A=f,f=S+8|0,w=U(8520),i[w>>2]=43880,i[w+4>>2]=0,i[w+8>>2]=0,n=1006,t=w+12|0,l[t+8263|0]=0,l[t+8264|0]=0,l[t+8246|0]=2,l[t+8247|0]=0,l[t+8248|0]=0,l[t+8249|0]=0,l[t+8250|0]=0,i[t+4>>2]=0,i[t+8>>2]=0,l[t|0]=0,i[t+8448>>2]=0,i[t+8452>>2]=0,l[t+26|0]=0,X[t+24>>1]=0,i[t+20>>2]=27,l[t+17|0]=1,l[t+18|0]=1,l[t+9|0]=0,l[t+10|0]=0,l[t+11|0]=0,l[t+12|0]=0,l[t+13|0]=0,l[t+14|0]=0,l[t+15|0]=0,l[t+16|0]=0,r=t+8456|0,i[r>>2]=0,i[r+4>>2]=0,r=t+8464|0,i[r>>2]=0,i[r+4>>2]=0,k=t+8472|0,i[k>>2]=0,i[k+4>>2]=0,k=t+8480|0,i[k>>2]=0,i[k+4>>2]=0,k=t+8488|0,i[k>>2]=0,i[k+4>>2]=0,u=t+8496|0,i[u>>2]=0,i[u+4>>2]=0,i[t+8504>>2]=0,l[t+43|0]=0,l[t+44|0]=0,l[t+45|0]=0,l[t+46|0]=0,i[t+36>>2]=0,i[t+40>>2]=0,i[t+28>>2]=0,i[t+32>>2]=0,X[t+56>>1]=257,i[t+48>>2]=1,i[t+52>>2]=1,l[t+58|0]=1,B0(t+8280|0,0,168),i[k>>2]=0,i[r>>2]=0,i[t+8268>>2]=0,l[t+8233|0]=0,l[t+61|0]=0,l[t+59|0]=0,l[t+60|0]=0,i[t+64>>2]=0,i[t+68>>2]=0,l[t+72|0]=0,i[t+8236>>2]=2,i[t+8240>>2]=0,X[t+8244>>1]=0,l[t|0]=0,r=i[t+8>>2],i[t+4>>2]=0,i[t+8>>2]=0;t:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break t;V[i[i[r>>2]+8>>2]](r),g(r)}i[t+12>>2]=0,i[t+28>>2]=0,i[t+32>>2]=0,l[t+26|0]=0,X[t+24>>1]=0,i[t+20>>2]=27,l[t+18|0]=1,l[t+58|0]=1,X[t+56>>1]=257,i[t+48>>2]=1,i[t+52>>2]=1,X[t+16>>1]=256,i[t+36>>2]=0,i[t+40>>2]=0,l[t+43|0]=0,l[t+44|0]=0,l[t+45|0]=0,l[t+46|0]=0,Z=B0(t+8280|0,0,168),i[t+8268>>2]=0,l[t+8233|0]=0,l[t+61|0]=0,l[t+59|0]=0,l[t+60|0]=0,i[t+64>>2]=0,i[t+68>>2]=0,l[t+72|0]=0,i[t+8236>>2]=2,i[t+8240>>2]=0,X[t+8244>>1]=0,i[t+8452>>2]=i[t+8448>>2],i[t+8464>>2]=i[t+8460>>2],i[t+8476>>2]=i[t+8472>>2],i[t+8488>>2]=i[t+8484>>2],i[t+8500>>2]=i[t+8496>>2],r=M0(f),l[t+12|0]=r;t:{if(!((r|0)!=-99999&(r|0)<=63)){v2(A+4|0,1009,0);break t}r=M0(f),l[t+13|0]=r;o:{u:{if(!((r|0)!=-99999&(r|0)<=15))break u;if(j=t,L=u0(f,1),l[j+14|0]=L,j=t,L=u0(f,1),l[j+43|0]=L,j=t,L=u0(f,3),l[j+8240|0]=L,j=t,L=u0(f,1),l[j+15|0]=L,j=t,L=u0(f,1),l[j+16|0]=L,r=M0(f),l[t+17|0]=r,(r|0)==-99999||(l[t+17|0]=r+1,r=M0(f),l[t+18|0]=r,(r|0)==-99999))break o;if(l[t+18|0]=r+1,r=A+(l[t+13|0]<<3)|0,u=i[r+728>>2],!u)break u;k=i[r+732>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),i[t+4>>2]=u,r=i[t+8>>2],i[t+8>>2]=k;l:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break l;V[i[i[r>>2]+8>>2]](r),g(r)}if(r=_1(f),i[t+20>>2]=r,(r|0)==-99999)break o;i[t+20>>2]=r+26,j=t,L=u0(f,1),l[j+24|0]=L,j=t,L=u0(f,1),l[j+25|0]=L,r=u0(f,1),l[t+26|0]=r;l:{if(r&255){if(r=M0(f),i[t+28>>2]=r,(r|0)!=-99999)break l;break o}i[t+28>>2]=0}if(r=_1(f),i[t+32>>2]=r,(r|0)==-99999||(r=_1(f),i[t+36>>2]=r,(r|0)==-99999))break o;j=t,L=u0(f,1),l[j+40|0]=L,j=t,L=u0(f,1),l[j+41|0]=L,j=t,L=u0(f,1),l[j+42|0]=L,j=t,L=u0(f,1),l[j+44|0]=L,j=t,L=u0(f,1),l[j+46|0]=L,j=t,L=u0(f,1),l[j+45|0]=L;l:{s:{if(s[t+46|0]){if(r=M0(f),i[t+48>>2]=r,!((r|0)!=-99999&(r|0)<10)||(i[t+48>>2]=r+1,r=M0(f),i[t+52>>2]=r,!((r|0)!=-99999&(r|0)<10)))break o;if(i[t+52>>2]=r+1,r=u0(f,1),l[t+56|0]=r,!(r&255)){if(r=i[t+4>>2],u=i[r+16900>>2],k=i[r+16892>>2],h=i[t+48>>2],(h|0)>=2)for(r=0;;){if(h=Z+(r<<2)|0,o=M0(f),i[h>>2]=o,(o|0)==-99999)break o;if(o=o+1|0,i[h>>2]=o,k=k-o|0,r=r+1|0,h=i[t+48>>2],!((r|0)<(h-1|0)))break}if(o=0,(k|0)<=0)break l;if(i[(Z+(h<<2)|0)-4>>2]=k,k=i[t+52>>2],(k|0)>=2)for(Z=t+8320|0,r=0;;){if(h=Z+(r<<2)|0,k=M0(f),i[h>>2]=k,(k|0)==-99999)break o;if(k=k+1|0,i[h>>2]=k,u=u-k|0,r=r+1|0,k=i[t+52>>2],!((r|0)<(k-1|0)))break}if((u|0)<=0)break l;i[(t+(k<<2)|0)+8316>>2]=u}r=u0(f,1);break s}l[t+56|0]=1,i[t+48>>2]=1,i[t+52>>2]=1,r=0}i[t+64>>2]=0,i[t+68>>2]=0,l[t+57|0]=r,j=t,L=u0(f,1),l[j+58|0]=L,r=u0(f,1),l[t+59|0]=r;s:{if(r&255){if(j=t,L=u0(f,1),l[j+60|0]=L,r=u0(f,1),l[t+61|0]=r,r&255)break s;if(r=_1(f),i[t- -64>>2]=r,(r|0)==-99999||(i[t+64>>2]=r<<1,r=_1(f),i[t+68>>2]=r,(r|0)==-99999))break o;i[t+68>>2]=r<<1;break s}X[t+60>>1]=0}if(k=u0(f,1),l[t+72|0]=k,r=i[t+4>>2],u=k&255,!(s[r+636|0]|!u))break o;k=t+73|0;s:{if(u){if(r=Yk(f,k),!r)break s;v2(A+4|0,r,0);break t}l0(k,r+638|0,8160)}if(j=t,L=u0(f,1),l[j+8233|0]=L,r=M0(f),i[t+8236>>2]=r,(r|0)==-99999)break o;if(i[t+8236>>2]=r+2,k=i[t+4>>2],(r|0)>((i[k+612>>2]+i[k+616>>2]|0)-2|0))break l;j=t,L=u0(f,1),l[j+8241|0]=L,r=u0(f,1),l[t+8242|0]=r;s:{if(!(r&255)||(j=t,L=u0(f,1),l[j+8243|0]=L,j=t,L=u0(f,1),l[j+8244|0]=L,j=t,L=u0(f,6),l[j+8245|0]=L,!s[t+8243|0]))break s;r=t+8246|0,u=i[(A+(l[t+13|0]<<3)|0)+728>>2],s[t+25|0]&&(j=r,L=M0(f)+2|0,l[j|0]=L),k=u0(f,1),l[r+1|0]=(k|0)!=0,!k|i[u+16848>>2]==3||v2(A+4|0,1006,0),k=u0(f,1),l[r+2|0]=(k|0)!=0;h:{w:{_:{v:{if(!(i[u+16848>>2]|!k)){if(v2(A+4|0,1006,0),l[r+2|0]&1)break v;break _}if(!k)break _}if(k=M0(f),!((k|0)!=-99999&(k|0)<=i[u+616>>2])||(l[r+3|0]=k,k=M0(f),!((k|0)!=-99999&(k|0)<6)))break w;if(k=(k&255)+1|0,l[r+4|0]=k,(k|0)!=(k&255))break _;for(Z=r+11|0,h=r+5|0,k=0;;){if(_=_1(f),_-13>>>0<=4294967270||(l[k+h|0]=_,_=_1(f),_-13>>>0<=4294967270))break w;if(l[k+Z|0]=_,k=k+1|0,!(k>>>0>2],(k|0)<=(((Z|0)>=10?Z-10|0:0)|0)))break _;break w}l[r+17|0]=k;_:{if(f=M0(f),(f|0)!=-99999&&(k=i[u+16840>>2],(f|0)<=(((k|0)>=10?k-10|0:0)|0)))break _;break w}l[r+18|0]=f,f=1;break h}v2(A+4|0,1006,0),f=0}if(!f)break l}u=0,r=B,A0=r,Z=i[t+4>>2],f=i[Z+16876>>2],i[t+8276>>2]=s[t+8246|0],i[t+8268>>2]=f-i[t+28>>2],i[t+8272>>2]=f-s[t+8249|0],k=i[t+48>>2];s:{if(!s[t+56|0])break s;_=r-((k<<2)+19&-16)|0,B=_;h:{if((k|0)<0)break h;if(f=i[Z+16892>>2],k)for(o=k+1&-2,r=0;i[_+(u<<2)>>2]=(m(f,u)|0)/(k|0),h=u|1,i[_+(h<<2)>>2]=(m(f,h)|0)/(k|0),u=u+2|0,r=r+2|0,(o|0)!=(r|0););k&1||(i[_+(u<<2)>>2]=(m(f,u)|0)/(k|0)),p=k&3,v=t+8280|0,r=i[_>>2],h=0;w:{if(k-1>>>0<3){u=0;break w}for(W=k&2147483644,u=0,o=0;f=u<<2,I=f|4,y=i[I+_>>2],i[f+v>>2]=y-r,q=v+I|0,r=f|8,I=i[r+_>>2],i[q>>2]=I-y,f=f|12,y=i[f+_>>2],i[r+v>>2]=y-I,u=u+4|0,r=i[_+(u<<2)>>2],i[f+v>>2]=r-y,o=o+4|0,(W|0)!=(o|0););}if(!p)break h;for(;o=v+(u<<2)|0,u=u+1|0,f=i[_+(u<<2)>>2],i[o>>2]=f-r,r=f,h=h+1|0,(p|0)!=(h|0););}if(u=0,f=i[t+52>>2],_=_-((f<<2)+19&-16)|0,B=_,(f|0)<0)break s;if(o=i[Z+16900>>2],f)for(h=f+1&-2,r=0;i[_+(u<<2)>>2]=(m(o,u)|0)/(f|0),v=u|1,i[_+(v<<2)>>2]=(m(o,v)|0)/(f|0),u=u+2|0,r=r+2|0,(h|0)!=(r|0););f&1||(i[_+(u<<2)>>2]=(m(o,u)|0)/(f|0)),p=f&3,v=t+8320|0,r=i[_>>2],h=0;h:{if(f-1>>>0<3){u=0;break h}for(W=f&2147483644,u=0,o=0;f=u<<2,I=f|4,y=i[I+_>>2],i[f+v>>2]=y-r,q=v+I|0,r=f|8,I=i[r+_>>2],i[q>>2]=I-y,f=f|12,y=i[f+_>>2],i[r+v>>2]=y-I,u=u+4|0,r=i[_+(u<<2)>>2],i[f+v>>2]=r-y,o=o+4|0,(W|0)!=(o|0););}if(!p)break s;for(;o=v+(u<<2)|0,u=u+1|0,f=i[_+(u<<2)>>2],i[o>>2]=f-r,r=f,h=h+1|0,(p|0)!=(h|0););}if(i[t+8360>>2]=0,_=t+8360|0,(k|0)>0)for(o=t+8280|0,k=0,f=0;r=f+1|0,k=i[o+(f<<2)>>2]+k|0,i[_+(r<<2)>>2]=k,f=r,(r|0)>2];);if(i[t+8404>>2]=0,v=t+8404|0,i[t+52>>2]>0)for(o=t+8320|0,k=0,f=0;r=f+1|0,k=i[o+(f<<2)>>2]+k|0,i[v+(r<<2)>>2]=k,f=r,(r|0)>2];);q=t+8448|0,f=i[Z+16908>>2],k=i[t+8448>>2],r=i[t+8452>>2]-k>>2;s:{if(f>>>0>r>>>0){Qi(q,f-r|0),f=i[Z+16908>>2];break s}if(f>>>0>=r>>>0)break s;i[t+8452>>2]=k+(f<<2)}k=i[t+8460>>2],r=i[t+8464>>2]-k>>2;s:{if(r>>>0>>0){Qi(t+8460|0,f-r|0),f=i[Z+16908>>2];break s}if(f>>>0>=r>>>0)break s;i[t+8464>>2]=k+(f<<2)}D=t+8472|0,k=i[t+8472>>2],r=i[t+8476>>2]-k>>2;s:{if(r>>>0>>0){Qi(D,f-r|0),f=i[Z+16908>>2];break s}if(f>>>0>=r>>>0)break s;i[t+8476>>2]=k+(f<<2)}J=t+8484|0,k=i[t+8484>>2],r=i[t+8488>>2]-k>>2;s:{if(r>>>0>>0){Qi(J,f-r|0);break s}if(f>>>0>=r>>>0)break s;i[t+8488>>2]=k+(f<<2)}E=t+8496|0,f=i[Z+16932>>2],k=i[t+8496>>2],r=i[t+8500>>2]-k>>2;s:{if(f>>>0>r>>>0){Qi(E,f-r|0);break s}if(f>>>0>=r>>>0)break s;i[t+8500>>2]=k+(f<<2)}if(i[Z+16908>>2]>0)for(z=t+8280|0,R=t+8320|0,f0=i[t+8460>>2],h0=i[t+8448>>2],r=0;;){f=i[Z+16892>>2],y=(r|0)/(f|0)|0,W=r-m(f,y)|0,h=-1,o=i[t+48>>2];s:{if((o|0)<=0)break s;if(u=0,f=0,o>>>0>=4)for(p=o&2147483644,k=0;I=(W|0)>2]?h:f,h=f|1,I=(W|0)>2]?I:h,h=f|2,I=(W|0)>2]?I:h,h=f|3,h=(W|0)>2]?I:h,f=f+4|0,k=k+4|0,(p|0)!=(k|0););if(k=o&3,!k)break s;for(;h=(W|0)>2]?h:f,f=f+1|0,u=u+1|0,(k|0)!=(u|0););}p=i[t+52>>2];s:{if((p|0)<=0){o=-1;break s}if(o=-1,u=0,f=0,p>>>0>=4)for(I=p&2147483644,k=0;H=(y|0)>2]?o:f,o=f|1,H=(y|0)>2]?H:o,o=f|2,H=(y|0)>2]?H:o,o=f|3,o=(y|0)>2]?H:o,f=f+4|0,k=k+4|0,(I|0)!=(k|0););if(k=p&3,!k)break s;for(;o=(y|0)>2]?o:f,f=f+1|0,u=u+1|0,(k|0)!=(u|0););}u=0,f=(r<<2)+h0|0,i[f>>2]=0;s:{if((h|0)<=0)break s;if(I=R+(o<<2)|0,p=0,k=0,h>>>0>=4)for(n0=h&2147483644,a=0;H=u,u=z+(k<<2)|0,H=H+m(i[u>>2],i[I>>2])|0,i[f>>2]=H,H=H+m(i[u+4>>2],i[I>>2])|0,i[f>>2]=H,H=H+m(i[u+8>>2],i[I>>2])|0,i[f>>2]=H,u=H+m(i[u+12>>2],i[I>>2])|0,i[f>>2]=u,k=k+4|0,a=a+4|0,(n0|0)!=(a|0););if(a=h&3,!a)break s;for(;u=m(i[z+(k<<2)>>2],i[I>>2])+u|0,i[f>>2]=u,k=k+1|0,p=p+1|0,(a|0)!=(p|0););}s:{if((o|0)<=0)break s;a=o&3,I=0;h:{if(o>>>0<4){k=0;break h}for(n0=o&2147483644,k=0,p=0;H=u,u=R+(k<<2)|0,H=H+m(i[u>>2],i[Z+16892>>2])|0,i[f>>2]=H,H=H+m(i[u+4>>2],i[Z+16892>>2])|0,i[f>>2]=H,H=H+m(i[u+8>>2],i[Z+16892>>2])|0,i[f>>2]=H,u=H+m(i[u+12>>2],i[Z+16892>>2])|0,i[f>>2]=u,k=k+4|0,p=p+4|0,(n0|0)!=(p|0););}if(!a)break s;for(;u=m(i[R+(k<<2)>>2],i[Z+16892>>2])+u|0,i[f>>2]=u,k=k+1|0,I=I+1|0,(a|0)!=(I|0););}if((o|h)<0&&(C0(17156,13934,620,4120),P()),k=h<<2,o=m(i[k+z>>2],y-i[v+(o<<2)>>2]|0)+u|0,i[f>>2]=o,u=f,f=o+(W-i[k+_>>2]|0)|0,i[u>>2]=f,i[(f<<2)+f0>>2]=r,r=r+1|0,!((r|0)>2]))break}u=i[t+52>>2];s:{if((u|0)<=0||(k=0,f=i[t+48>>2],(f|0)<=0))break s;for(h=0;;){h:{if((f|0)<=0){h=h+1|0;break h}if(o=0,p=v+(h<<2)|0,h=h+1|0,W=v+(h<<2)|0,I=i[W>>2],(I|0)<=i[p>>2]){k=((f|0)<=1?1:f)+k|0;break h}for(;;){u=i[p>>2];w:{if((I|0)<=(u|0)){o=o+1|0;break w}if(y=_+(o<<2)|0,o=o+1|0,z=_+(o<<2)|0,r=i[z>>2],(r|0)<=i[y>>2])break w;for(R=i[J>>2],a=i[D>>2],f0=i[q>>2];;){if(f=i[y>>2],(r|0)>(f|0)){for(;r=f<<2,i[a+(i[r+(f0+(m(i[Z+16892>>2],u)<<2)|0)>>2]<<2)>>2]=k,i[r+(R+(m(i[Z+16892>>2],u)<<2)|0)>>2]=k,f=f+1|0,r=i[z>>2],(f|0)<(r|0););I=i[W>>2]}if(u=u+1|0,!((I|0)>(u|0)))break}f=i[t+48>>2]}if(k=k+1|0,!((f|0)>(o|0)))break}u=i[t+52>>2]}if(!((u|0)>(h|0)))break}}u=i[Z+16928>>2];s:{if((u|0)<=0||(k=0,f=i[Z+16924>>2],(f|0)<=0))break s;for(v=i[E>>2],p=i[q>>2];;){if(r=0,(f|0)>0){for(;;){y=v+(r<<2)|0,u=y+(m(f,k)<<2)|0,f=i[Z+16936>>2],o=i[Z+16876>>2],i[u>>2]=i[(p+(m(i[Z+16892>>2],k<>o)<<2)|0)+(r<>o<<2)>>2]<<(o-f<<1),o=i[Z+16876>>2],h=i[Z+16936>>2],_=o-h|0;h:{if((_|0)<=0){u=0;break h}if(f=0,u=0,(o|0)!=(h+1|0))for(W=_&2147483646,h=0;I=f|1,o=2<>2],k)<<2)|0,i[f>>2]=i[f>>2]+u,f=i[Z+16924>>2],r=r+1|0,!((f|0)>(r|0)))break}u=i[Z+16928>>2]}if(k=k+1|0,!((k|0)<(u|0)))break}}B=A0,l[t|0]=1,o=1}break t}v2(A+4|0,1010,0);break t}v2(A+4|0,1006,0),o=0}t:{if(!o)break t;if(n=0,Z=i[A+524>>2],(Z|0)>=0){u=0,f=B-720|0,B=f,r=49876;o:{u:switch(Z-1|0){case 1:r=49872;break;case 0:break u;default:break o}if(r=i[r>>2],c(r,30909,0),i[f+704>>2]=l[t+12|0],c(r,27820,f+704|0),i[f+688>>2]=l[t+13|0],c(r,27787,f+688|0),i[f+672>>2]=l[t+14|0],c(r,24685,f+672|0),i[f+656>>2]=l[t+15|0],c(r,27400,f+656|0),i[f+640>>2]=l[t+16|0],c(r,26481,f+640|0),i[f+624>>2]=l[t+17|0],c(r,25213,f+624|0),i[f+608>>2]=l[t+18|0],c(r,25177,f+608|0),i[f+592>>2]=i[t+20>>2],c(r,29699,f+592|0),i[f+576>>2]=l[t+24|0],c(r,23274,f+576|0),i[f+560>>2]=l[t+25|0],c(r,23355,f+560|0),i[f+544>>2]=l[t+26|0],c(r,25965,f+544|0),s[t+26|0]&&(i[f+528>>2]=i[t+28>>2],c(r,26761,f+528|0)),i[f+512>>2]=i[t+32>>2],c(r,29150,f+512|0),i[f+496>>2]=i[t+36>>2],c(r,29115,f+496|0),i[f+480>>2]=l[t+40|0],c(r,23774,f+480|0),i[f+464>>2]=l[t+41|0],c(r,28726,f+464|0),i[f+448>>2]=l[t+42|0],c(r,28271,f+448|0),i[f+432>>2]=l[t+43|0],c(r,26794,f+432|0),i[f+416>>2]=l[t+44|0],c(r,23239,f+416|0),i[f+400>>2]=l[t+46|0],c(r,28807,f+400|0),i[f+384>>2]=l[t+45|0],c(r,23433,f+384|0),s[t+46|0]){if(i[f+368>>2]=i[t+48>>2],c(r,26345,f+368|0),i[f+352>>2]=i[t+52>>2],c(r,27609,f+352|0),i[f+336>>2]=l[t+56|0],c(r,23213,f+336|0),c(r,20060,0),i[t+48>>2]>=0)for(k=t+8360|0;i[f+320>>2]=i[k+(u<<2)>>2],c(r,19295,f+320|0),o=i[t+48>>2]>(u|0),u=u+1|0,!!o;);if(u=0,c(r,31103,0),c(r,20038,0),i[t+52>>2]>=0)for(k=t+8404|0;i[f+304>>2]=i[k+(u<<2)>>2],c(r,19295,f+304|0),o=i[t+52>>2]>(u|0),u=u+1|0,!!o;);c(r,31103,0),i[f+288>>2]=l[t+57|0],c(r,24729,f+288|0)}if(i[f+272>>2]=l[t+58|0],c(r,23307,f+272|0),i[f+256>>2]=l[t+59|0],c(r,23017,f+256|0),s[t+59|0]&&(i[f+240>>2]=l[t+60|0],c(r,23388,f+240|0),i[f+224>>2]=l[t+61|0],c(r,23137,f+224|0),i[f+208>>2]=i[t+64>>2],c(r,30328,f+208|0),i[f+192>>2]=i[t+68>>2],c(r,30346,f+192|0)),i[f+176>>2]=l[t+72|0],c(r,23097,f+176|0),i[f+160>>2]=l[t+8233|0],c(r,22980,f+160|0),i[f+144>>2]=i[t+8236>>2],c(r,27122,f+144|0),i[f+128>>2]=l[t+8240|0],c(r,26275,f+128|0),i[f+112>>2]=l[t+8241|0],c(r,24100,f+112|0),i[f+96>>2]=l[t+8242|0],c(r,28959,f+96|0),i[f+80>>2]=l[t+8243|0],c(r,27318,f+80|0),i[f+64>>2]=l[t+8244|0],c(r,24275,f- -64|0),i[f+48>>2]=l[t+8245|0],c(r,28690,f+48|0),i[f+32>>2]=i[t+8268>>2],c(r,28533,f+32|0),i[f+16>>2]=i[t+8272>>2],c(r,25489,f+16|0),i[f>>2]=i[t+8276>>2],c(r,25530,f),!s[t+8243|0])break o;o=t+8246|0,r=B-144|0,B=r,k=49876;u:switch(Z-1|0){case 1:k=49872;case 0:u=i[k>>2],c(u,31034,0),i[r+128>>2]=s[o|0],c(u,27563,r+128|0),i[r+112>>2]=s[o+1|0],c(u,24862,r+112|0),i[r+96>>2]=s[o+2|0],c(u,27433,r+96|0);l:{if(s[o+2|0]!=1||(i[r+80>>2]=s[o+3|0],c(u,28443,r+80|0),i[r+64>>2]=s[o+4|0],c(u,29543,r- -64|0),!s[o+4|0]))break l;for(Z=o+11|0,h=o+5|0,k=0;i[r+52>>2]=l[k+h|0],i[r+48>>2]=k,c(u,30057,r+48|0),i[r+36>>2]=l[k+Z|0],i[r+32>>2]=k,c(u,30010,r+32|0),k=k+1|0,k>>>0>2]=s[o+17|0],c(u,29431,r+16|0),i[r>>2]=s[o+18|0],c(u,28995,r);break;default:break u}B=r+144|0}B=f+720|0}if(i[w+4>>2]=i[w+4>>2]+1,r=A+(l[w+24|0]<<3)|0,i[r+856>>2]=t,f=i[r+860>>2],i[r+860>>2]=w,!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break t;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[w+4>>2],i[w+4>>2]=f-1,f||(V[i[i[w>>2]+8>>2]](w),g(w)),w4(A+548|0,C);break k;case 7:case 8:k=S+8|0,u=(r|0)==40,r=0,t=B-80|0,B=t;t:{o:{for(o=i[f+1376>>2];A=u0(k,8),r=A+r|0,(A|0)==255;);for(;A=u0(k,8),n=A+n|0,(A|0)==255;);i[t+4>>2]=n,i[t>>2]=r,A=0;u:{if((r|0)!=132||(j=t,L=u0(k,8),i[j+8>>2]=L,A=1025,!o))break u;for(A=t+12|0,Z=t+60|0,h=t+68|0,o=i[o+476>>2],n=0;;){l:{s:switch(i[t+8>>2]){case 0:r=A+(n<<4)|0,j=r,L=u0(k,8),l[j|0]=L,j=r,L=u0(k,8),l[j+1|0]=L,j=r,L=u0(k,8),l[j+2|0]=L,j=r,L=u0(k,8),l[j+3|0]=L,j=r,L=u0(k,8),l[j+4|0]=L,j=r,L=u0(k,8),l[j+5|0]=L,j=r,L=u0(k,8),l[j+6|0]=L,j=r,L=u0(k,8),l[j+7|0]=L,j=r,L=u0(k,8),l[j+8|0]=L,j=r,L=u0(k,8),l[j+9|0]=L,j=r,L=u0(k,8),l[j+10|0]=L,j=r,L=u0(k,8),l[j+11|0]=L,j=r,L=u0(k,8),l[j+12|0]=L,j=r,L=u0(k,8),l[j+13|0]=L,j=r,L=u0(k,8),l[j+14|0]=L,j=r,L=u0(k,8),l[j+15|0]=L;break l;case 1:j=Z+(n<<1)|0,L=u0(k,16),X[j>>1]=L;break l;case 2:break s;default:break l}j=h+(n<<2)|0,L=u0(k,32),i[j>>2]=L}if(!(o&&(r=n>>>0<2,n=n+1|0,r)))break}A=0}u:{if(!A){if(r=i[f+3212>>2],!u|(r|0)==i[f+3208>>2])break u;if(u=i[r-4>>2],r=i[u+440>>2],o=i[u+444>>2],r>>>0>>0){j=u,L=l0(r,t,80)+80|0,i[j+440>>2]=L;break u}if(n=i[u+436>>2],h=(r-n|0)/80|0,k=h+1|0,k>>>0>=53687092)break o;if(o=(o-n|0)/80|0,Z=o<<1,Z=o>>>0>=26843545?53687091:k>>>0>>0?Z:k,Z){if(Z>>>0>=53687092)break i;k=U(m(Z,80))}else k=0;if(o=k+m(h,80)|0,h=l0(o,t,80)+80|0,(r|0)!=(n|0)){for(;o=o-80|0,r=r-80|0,l0(o,r,80),(r|0)!=(n|0););n=i[u+436>>2]}i[u+444>>2]=k+m(Z,80),i[u+440>>2]=h,i[u+436>>2]=o,n&&G(n),i[u+440>>2]=h;break u}if(r=i[f+84>>2],(r|0)==20){i[f+80>>2]=1001;break u}i[f+84>>2]=r+1,i[((r<<2)+f|0)+4>>2]=A}B=t+80|0,n=A;break t}y0(),P()}w4(f+548|0,C);break k;case 4:l[f+2203|0]=1,w4(f+548|0,C);break k;default:break n}w4(f+548|0,C)}B=S+32|0,l[d+15|0]=1,r=n;break f}if(!(s[r|0]!=1|i[f+3208>>2]!=i[f+3212>>2])){if(r=13,f=1,e)break A;break e}r=fk(f,d+15|0)}if(!e)break e;f=r?0:s[d+15|0]}i[e>>2]=f}return B=d+16|0,r}C0(7808,13894,1328,11303),P()}_2(),P()}function f6(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0;u=B-128|0,B=u,W6(u+116|0,i[e+48>>2],r);i:{r:{w=i[e+20>>2];e:{if(!w)break e;for(n0=e+20|0,o=n0,G0=w;h=k0[G0+16>>2]>>0,o=h?o:G0,G0=i[(h<<2)+G0>>2],!!G0;);if(G0=0,(o|0)==(n0|0)|k0[o+16>>2]>r>>>0)break e;for(G0=n0;o=k0[w+16>>2]>>0,G0=o?G0:w,w=i[(o<<2)+w>>2],!!w;);if(G0=(n0|0)!=(G0|0)&k0[G0+16>>2]<=r>>>0?G0:n0,_=i[G0+20>>2],G0=i[G0+24>>2],G0&&(i[G0+4>>2]=i[G0+4>>2]+1),_)break r}if(l[u+96|0]=0,l[u+107|0]=0,r0(f,2,2e3,u+96|0),l[u+107|0]>=0)break i;G(i[u+96>>2]);break i}i[u+96>>2]=0,i[u+100>>2]=0,i[u+112>>2]=0,i[u+104>>2]=0,i[u+108>>2]=0,ei(u+88|0,i[e+48>>2],r);r:{e:{if(o=i[u+88>>2],!o||(l6(u- -64|0,e,i[o+56>>2],i[o+60>>2]),h=i[u+68>>2],o=i[u+64>>2],i[u+96>>2]=o,i[u+100>>2]=h,l[u+115|0]<0&&(G(i[u+104>>2]),o=i[u+96>>2]),h=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=h,i[u+112>>2]=i[u+80>>2],!o))break e;e=i[u+100>>2],i[f>>2]=i[u+96>>2],i[f+4>>2]=e,i[f+16>>2]=i[u+112>>2],e=i[u+108>>2],i[f+8>>2]=i[u+104>>2],i[f+12>>2]=e,i[u+104>>2]=0,i[u+108>>2]=0,i[u+112>>2]=0;break r}w=l[u+127|0],h=(w|0)<0;e:{A:{f:{k:{o=i[u+120>>2];n:{if(((h?o:w)|0)==4&&(h=h?i[u+116>>2]:u+116|0,Z=s[h+1|0]<<8,D=s[h+2|0]<<16|s[h+3|0]<<24,(s[h|0]|Z|D)==828601960||(h=D|(Z|s[h|0]),(h|0)==828601974|(h|0)==825259617|((h|0)==829108842|(h|0)==1734701162))))break n;if(!E4(u+116|0,9980)||(o=u- -64|0,cr(o,i[e+48>>2],r),o=E4(o,8704),l[u+75|0]<0&&G(i[u+64>>2]),!o))break k;w=s[u+127|0],o=i[u+120>>2]}n:{t:{if(h=o,o=w<<24>>24<0,((o?h:w)|0)!=4)break t;if(o=o?i[u+116>>2]:u+116|0,h=s[o+1|0]<<8,w=s[o+2|0]<<16|s[o+3|0]<<24,Z=1,(s[o|0]|h|w)==828601960||(o=w|(h|s[o|0]),Z=5,(o|0)==828601974)||(Z=4,(o|0)==825259617))break n;if((o|0)!=1734701162)break t;Z=3;break n}t:{if(!E4(u+116|0,9980)||(o=u- -64|0,cr(o,i[e+48>>2],r),o=E4(o,8704),l[u+75|0]<0&&G(i[u+64>>2]),!o))break t;Z=3;break n}Z=E4(u+116|0,16929)?7:0}if(Z=n7(Z,i[n+24>>2]),!Z){if(l[u+64|0]=0,l[u+75|0]=0,r0(f,11,6003,u- -64|0),l[u+75|0]>=0)break r;G(i[u+64>>2]);break r}i[u+8>>2]=0,i[u>>2]=0,i[u+4>>2]=0,w8(u- -64|0,i[e+48>>2],r,u),h=i[u+68>>2],o=i[u+64>>2],i[u+96>>2]=o,i[u+100>>2]=h,l[u+115|0]<0&&(G(i[u+104>>2]),o=i[u+96>>2]),h=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=h,i[u+112>>2]=i[u+80>>2];n:{if(o){k=i[u+100>>2],i[f>>2]=i[u+96>>2],i[f+4>>2]=k,i[f+16>>2]=i[u+112>>2],k=i[u+108>>2],i[f+8>>2]=i[u+104>>2],i[f+12>>2]=k,i[u+104>>2]=0,i[u+108>>2]=0,i[u+112>>2]=0,w=1;break n}if(V[i[Z+20>>2]](u- -64|0,u+60|0),h=i[u+64>>2],h){if(o=i[u+68>>2],t=i[u+72>>2],_=G2(t),_>>>0>=2147483640)break f;t:{o:{if(_>>>0>=11){k=(_|7)+1|0,w=U(k),i[u+56>>2]=k|-2147483648,i[u+48>>2]=w,i[u+52>>2]=_;break o}if(l[u+59|0]=_,w=u+48|0,!_)break t}F2(w,t,_)}l[w+_|0]=0,r0(f,h,o,u+48|0),l[u+59|0]<0&&G(i[u+48>>2]),w=1;break n}t:{if(i[Z>>2]<2||(o=i[Z+36>>2],!o))break t;V[o|0](i[u+60>>2],s[n+21|0])}if(h=u+48|0,o=i[u>>2],V[i[Z+28>>2]](h,i[u+60>>2],o,i[u+4>>2]-o|0),i[u+72>>2]=i[u+56>>2],o=i[u+52>>2],w=i[u+48>>2],i[u+64>>2]=w,i[u+68>>2]=o,w){V[i[Z+24>>2]](i[u+60>>2]),t=i[u+64>>2],o=i[u+68>>2],k=C1(h,i[u+72>>2]),r0(f,t,o,k),l[k+11|0]<0&&G(i[k>>2]),w=1;break n}if(i[u+44>>2]=0,h=u+48|0,V[i[Z+32>>2]](h,i[u+60>>2],u+44|0),i[u+72>>2]=i[u+56>>2],o=i[u+52>>2],w=i[u+48>>2],i[u+64>>2]=w,i[u+68>>2]=o,w){V[i[Z+24>>2]](i[u+60>>2]),t=i[u+64>>2],o=i[u+68>>2],k=C1(h,i[u+72>>2]),r0(f,t,o,k),l[k+11|0]<0&&G(i[k>>2]),w=1;break n}if(o=i[u+44>>2],!o){V[i[Z+24>>2]](i[u+60>>2]),k=C1(u+48|0,31341),r0(f,7,0,k),l[k+11|0]<0&&G(i[k>>2]),w=1;break n}if(si(A,o),G4(i[u+44>>2]),V[i[Z+24>>2]](i[u+60>>2]),o=i[_+176>>2],i[u+36>>2]=o,h=i[_+180>>2],i[u+40>>2]=h,h&&(i[h+4>>2]=i[h+4>>2]+1),o){w=i[A>>2],o=i[u+36>>2],h=i[u+40>>2],h&&(i[h+4>>2]=i[h+4>>2]+1),i[w+44>>2]=o,Z=i[w+48>>2],i[w+48>>2]=h;t:{if(!Z||(o=i[Z+4>>2],i[Z+4>>2]=o-1,o))break t;V[i[i[Z>>2]+8>>2]](Z),g(Z)}}if(o=i[_+184>>2],i[u+28>>2]=o,h=i[_+188>>2],i[u+32>>2]=h,h&&(i[h+4>>2]=i[h+4>>2]+1),o){w=i[A>>2],o=i[u+28>>2],h=i[u+32>>2],h&&(i[h+4>>2]=i[h+4>>2]+1),i[w+52>>2]=o,_=i[w+56>>2],i[w+56>>2]=h;t:{if(!_||(o=i[_+4>>2],i[_+4>>2]=o-1,o))break t;V[i[i[_>>2]+8>>2]](_),g(_)}}w=0;t:{if(t||(o=i[A>>2],t=i[o+32>>2],k=(k|0)==99?t:k,h=k>>>0<=1?1:k,k=(k|0)!=2?3:0,w=0,(k|0)==i[o+36>>2]&(t|0)==(h|0))||(i[u+20>>2]=0,i[u+24>>2]=0,t=u+48|0,o=k,k=u+20|0,N8(t,A,h,o,k,0,n+28|0),si(A,t),v1(t),v1(k),w=0,i[A>>2]))break t;k=C1(t,31341),r0(f,4,3003,k),l[k+11|0]<0&&G(i[k>>2]),w=1}v1(u+28|0),v1(u+36|0)}if(k=i[u>>2],k&&(i[u+4>>2]=k,G(k)),w)break r;break e}k=l[u+127|0],t=(k|0)<0;k:{n:{t:{if(((t?i[u+120>>2]:k)|0)!=4)break t;if(k=t?i[u+116>>2]:u+116|0,(s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))==1684632167){if(i[u+8>>2]=0,i[u>>2]=0,i[u+4>>2]=0,w8(u- -64|0,i[e+48>>2],r,u),t=i[u+68>>2],k=i[u+64>>2],i[u+96>>2]=k,i[u+100>>2]=t,l[u+115|0]<0&&(G(i[u+104>>2]),k=i[u+96>>2]),t=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=t,i[u+112>>2]=i[u+80>>2],k)break n;q=u- -64|0,v=B-224|0,B=v,i[v+216>>2]=0,i[v+208>>2]=0,i[v+212>>2]=0,Uk(v+184|0,v+208|0,u);o:{if(i[v+184>>2]){k=i[v+188>>2],i[q>>2]=i[v+184>>2],i[q+4>>2]=k,i[q+16>>2]=i[v+200>>2],k=i[v+196>>2],i[q+8>>2]=i[v+192>>2],i[q+12>>2]=k,i[v+200>>2]=0,i[v+192>>2]=0,i[v+196>>2]=0;break o}k=i[e+48>>2],t=i[k+76>>2],L=i[k+80>>2],L&&(i[L+4>>2]=i[L+4>>2]+1);u:{if(!t){if(o=U(56),i[v+24>>2]=o,i[v+28>>2]=48,i[v+32>>2]=-2147483592,t=s[11139]|s[11140]<<8|(s[11141]<<16|s[11142]<<24),k=s[11135]|s[11136]<<8|(s[11137]<<16|s[11138]<<24),l[o|0]=k,l[o+1|0]=k>>>8,l[o+2|0]=k>>>16,l[o+3|0]=k>>>24,l[o+4|0]=t,l[o+5|0]=t>>>8,l[o+6|0]=t>>>16,l[o+7|0]=t>>>24,l[o+48|0]=0,t=s[11179]|s[11180]<<8|(s[11181]<<16|s[11182]<<24),k=s[11175]|s[11176]<<8|(s[11177]<<16|s[11178]<<24),l[o+40|0]=k,l[o+41|0]=k>>>8,l[o+42|0]=k>>>16,l[o+43|0]=k>>>24,l[o+44|0]=t,l[o+45|0]=t>>>8,l[o+46|0]=t>>>16,l[o+47|0]=t>>>24,t=s[11171]|s[11172]<<8|(s[11173]<<16|s[11174]<<24),k=s[11167]|s[11168]<<8|(s[11169]<<16|s[11170]<<24),l[o+32|0]=k,l[o+33|0]=k>>>8,l[o+34|0]=k>>>16,l[o+35|0]=k>>>24,l[o+36|0]=t,l[o+37|0]=t>>>8,l[o+38|0]=t>>>16,l[o+39|0]=t>>>24,t=s[11163]|s[11164]<<8|(s[11165]<<16|s[11166]<<24),k=s[11159]|s[11160]<<8|(s[11161]<<16|s[11162]<<24),l[o+24|0]=k,l[o+25|0]=k>>>8,l[o+26|0]=k>>>16,l[o+27|0]=k>>>24,l[o+28|0]=t,l[o+29|0]=t>>>8,l[o+30|0]=t>>>16,l[o+31|0]=t>>>24,t=s[11155]|s[11156]<<8|(s[11157]<<16|s[11158]<<24),k=s[11151]|s[11152]<<8|(s[11153]<<16|s[11154]<<24),l[o+16|0]=k,l[o+17|0]=k>>>8,l[o+18|0]=k>>>16,l[o+19|0]=k>>>24,l[o+20|0]=t,l[o+21|0]=t>>>8,l[o+22|0]=t>>>16,l[o+23|0]=t>>>24,t=s[11147]|s[11148]<<8|(s[11149]<<16|s[11150]<<24),k=s[11143]|s[11144]<<8|(s[11145]<<16|s[11146]<<24),l[o+8|0]=k,l[o+9|0]=k>>>8,l[o+10|0]=k>>>16,l[o+11|0]=k>>>24,l[o+12|0]=t,l[o+13|0]=t>>>8,l[o+14|0]=t>>>16,l[o+15|0]=t>>>24,r0(q,2,113,v+24|0),l[v+35|0]>=0)break u;G(i[v+24>>2]);break u}oi(v+172|0,t,r);l:{s:{h:{if(Z=Q[v+210>>1],_=Q[v+208>>1],w=m(Z,_),y=i[v+176>>2],h=i[v+172>>2],(w|0)==y-h>>2){if((h|0)!=(y|0)){if(o=i[e+16>>2],w=e+20|0,(o|0)==(w|0))break h;for(;;){for(_=i[h>>2],t=o;;){if(i[t+16>>2]!=(_|0)){k=i[t+4>>2];w:{if(k){for(;;)if(t=k,k=i[k>>2],!k)break w}for(;k=t,t=i[t+8>>2],(k|0)!=i[t>>2];);}if((t|0)!=(w|0))continue;break s}break}if(h=h+4|0,(y|0)==(h|0))break}}t=i[e+48>>2],i[v+12>>2]=i[t+52>>2],k=i[t+56>>2],i[v+16>>2]=k,k&&(i[k+4>>2]=i[k+4>>2]+1,t=i[e+48>>2]),k=i[t+44>>2],R=i[t+48>>2],R&&(i[R+4>>2]=i[R+4>>2]+1),p4(v+4|0,k,r,v+12|0,1885960297);w:{_:{if(k=i[v+4>>2],!k||(k=N0(k,68572,69712),!k))break _;if(p0=i[v+8>>2],!p0){p0=0;break w}i[p0+4>>2]=i[p0+4>>2]+1;break w}k=0}Z=i[v+212>>2],_=i[v+216>>2],l6(v+24|0,e,Z,_),o=i[v+28>>2],t=i[v+24>>2],i[v+184>>2]=t,i[v+188>>2]=o,l[v+203|0]<0&&(G(i[v+192>>2]),t=i[v+184>>2]),o=i[v+36>>2],i[v+192>>2]=i[v+32>>2],i[v+196>>2]=o,i[v+200>>2]=i[v+40>>2];w:{if(t){k=i[v+188>>2],i[q>>2]=i[v+184>>2],i[q+4>>2]=k,i[q+16>>2]=i[v+200>>2],k=i[v+196>>2],i[q+8>>2]=i[v+192>>2],i[q+12>>2]=k,i[v+192>>2]=0,i[v+196>>2]=0,i[v+200>>2]=0;break w}t=U(136),i[t+4>>2]=0,i[t+8>>2]=0,i[t>>2]=72792,B0(t+20|0,0,104),w=i[t+4>>2],h=w+1|0,i[t+4>>2]=h,i[t+56>>2]=0,i[t+60>>2]=0,i[t+44>>2]=99,i[t+48>>2]=99,i[t+32>>2]=34648,o=t- -64|0,i[o>>2]=0,i[o+4>>2]=0,i[t+132>>2]=0,i[t+124>>2]=0,i[t+128>>2]=0,i[t+84>>2]=1,i[t+88>>2]=1,i[t+72>>2]=t+76,i[t+92>>2]=0,i[t+96>>2]=0,i[t+100>>2]=0,i[t+104>>2]=0,i[t+108>>2]=0,i[t+112>>2]=0,l[t+113|0]=0,l[t+114|0]=0,l[t+115|0]=0,l[t+116|0]=0,l[t+117|0]=0,l[t+118|0]=0,l[t+119|0]=0,l[t+120|0]=0,o=t+12|0,i[t+12>>2]=o,i[t+8>>2]=i[t+8>>2]+1,i[t+4>>2]=w,i[t+16>>2]=t,h||(V[i[i[t>>2]+8>>2]](t),g(t)),i[A>>2]=o,o=i[A+4>>2],i[A+4>>2]=t;_:{if(!o||(t=i[o+4>>2],i[o+4>>2]=t-1,t))break _;V[i[i[o>>2]+8>>2]](o),g(o)}t=i[A>>2],i[t+36>>2]=3,i[t+32>>2]=1,i[t+28>>2]=_,i[t+24>>2]=Z;_:{if(k){if(o=i[k+56>>2],k=i[k+60>>2]-o|0,(k|0)<=0){if(k=C1(v+24|0,17788),r0(q,2,130,k),l[k+11|0]>=0)break w;G(i[k>>2]);break w}if(t=s[o|0],(t|0)==s[o+1|0]&s[o+2|0]==(t|0)|(k|0)!=3)break _;if(k=C1(v+24|0,17736),r0(q,2,130,k),l[k+11|0]>=0)break w;G(i[k>>2]);break w}v:{t=i[e+20>>2];Z:{if(!t)break Z;for(w=i[i[v+172>>2]>>2],h=e+20|0,k=h;o=w>>>0>k0[t+16>>2],k=o?k:t,t=i[(o<<2)+t>>2],!!t;);if((k|0)==(h|0))break Z;if(w>>>0>=k0[k+16>>2])break v}if(k=C1(v+24|0,13463),r0(q,2,119,k),l[k+11|0]>=0)break w;G(i[k>>2]);break w}t=i[k+20>>2],i[v+24>>2]=t,k=i[k+24>>2],i[v+28>>2]=k,k&&(i[k+4>>2]=i[k+4>>2]+1),t=Ek(t),v1(v+24|0)}if(t-17>>>0<=4294967286){if(k=C1(v+24|0,17390),r0(q,2,130,k),l[k+11|0]>=0)break w;G(i[k>>2]);break w}if(J0(i[A>>2],3,Z,_,t),J0(i[A>>2],4,Z,_,t),J0(i[A>>2],5,Z,_,t),t=Q[v+208>>1],t)for(y=e+20|0,D=Q[v+210>>1],h=0,o=0;;){_:{if(!D){D=0;break _}for(h0=0,_=0;;){v:{t=i[y>>2];Z:{if(!t)break Z;for(Z=i[i[v+172>>2]+(Y0<<2)>>2],k=y;w=Z>>>0>k0[t+16>>2],k=w?k:t,t=i[(w<<2)+t>>2],!!t;);if((k|0)==(y|0))break Z;if(Z>>>0>=k0[k+16>>2])break v}if(o=U(40),i[v+24>>2]=o,i[v+28>>2]=33,i[v+32>>2]=-2147483608,t=s[13467]|s[13468]<<8|(s[13469]<<16|s[13470]<<24),k=s[13463]|s[13464]<<8|(s[13465]<<16|s[13466]<<24),l[o|0]=k,l[o+1|0]=k>>>8,l[o+2|0]=k>>>16,l[o+3|0]=k>>>24,l[o+4|0]=t,l[o+5|0]=t>>>8,l[o+6|0]=t>>>16,l[o+7|0]=t>>>24,l[o+33|0]=0,l[o+32|0]=s[13495],t=s[13491]|s[13492]<<8|(s[13493]<<16|s[13494]<<24),k=s[13487]|s[13488]<<8|(s[13489]<<16|s[13490]<<24),l[o+24|0]=k,l[o+25|0]=k>>>8,l[o+26|0]=k>>>16,l[o+27|0]=k>>>24,l[o+28|0]=t,l[o+29|0]=t>>>8,l[o+30|0]=t>>>16,l[o+31|0]=t>>>24,t=s[13483]|s[13484]<<8|(s[13485]<<16|s[13486]<<24),k=s[13479]|s[13480]<<8|(s[13481]<<16|s[13482]<<24),l[o+16|0]=k,l[o+17|0]=k>>>8,l[o+18|0]=k>>>16,l[o+19|0]=k>>>24,l[o+20|0]=t,l[o+21|0]=t>>>8,l[o+22|0]=t>>>16,l[o+23|0]=t>>>24,t=s[13475]|s[13476]<<8|(s[13477]<<16|s[13478]<<24),k=s[13471]|s[13472]<<8|(s[13473]<<16|s[13474]<<24),l[o+8|0]=k,l[o+9|0]=k>>>8,l[o+10|0]=k>>>16,l[o+11|0]=k>>>24,l[o+12|0]=t,l[o+13|0]=t>>>8,l[o+14|0]=t>>>16,l[o+15|0]=t>>>24,r0(q,2,119,v+24|0),l[v+35|0]>=0)break w;G(i[v+24>>2]);break w}t=i[k+20>>2],d=i[k+24>>2],d&&(i[d+4>>2]=i[d+4>>2]+1),p=i[t+24>>2],t=i[t+28>>2],l6(v+24|0,e,p,t),w=i[v+28>>2],k=i[v+24>>2],i[v+184>>2]=k,i[v+188>>2]=w,l[v+203|0]<0&&(G(i[v+192>>2]),k=i[v+184>>2]),w=i[v+36>>2],i[v+192>>2]=i[v+32>>2],i[v+196>>2]=w,i[v+200>>2]=i[v+40>>2];v:{Z:{if(k)break Z;m:{if(p>>>0>=k0[v+212>>2]/(D>>>0)>>>0&&t>>>0>=k0[v+216>>2]/Q[v+208>>1]>>>0)break m;w=U(40),i[v+24>>2]=w,i[v+28>>2]=35,i[v+32>>2]=-2147483608,t=s[11055]|s[11056]<<8|(s[11057]<<16|s[11058]<<24),k=s[11051]|s[11052]<<8|(s[11053]<<16|s[11054]<<24),l[w|0]=k,l[w+1|0]=k>>>8,l[w+2|0]=k>>>16,l[w+3|0]=k>>>24,l[w+4|0]=t,l[w+5|0]=t>>>8,l[w+6|0]=t>>>16,l[w+7|0]=t>>>24,l[w+35|0]=0,k=s[11082]|s[11083]<<8|(s[11084]<<16|s[11085]<<24),l[w+31|0]=k,l[w+32|0]=k>>>8,l[w+33|0]=k>>>16,l[w+34|0]=k>>>24,t=s[11079]|s[11080]<<8|(s[11081]<<16|s[11082]<<24),k=s[11075]|s[11076]<<8|(s[11077]<<16|s[11078]<<24),l[w+24|0]=k,l[w+25|0]=k>>>8,l[w+26|0]=k>>>16,l[w+27|0]=k>>>24,l[w+28|0]=t,l[w+29|0]=t>>>8,l[w+30|0]=t>>>16,l[w+31|0]=t>>>24,t=s[11071]|s[11072]<<8|(s[11073]<<16|s[11074]<<24),k=s[11067]|s[11068]<<8|(s[11069]<<16|s[11070]<<24),l[w+16|0]=k,l[w+17|0]=k>>>8,l[w+18|0]=k>>>16,l[w+19|0]=k>>>24,l[w+20|0]=t,l[w+21|0]=t>>>8,l[w+22|0]=t>>>16,l[w+23|0]=t>>>24,t=s[11063]|s[11064]<<8|(s[11065]<<16|s[11066]<<24),k=s[11059]|s[11060]<<8|(s[11061]<<16|s[11062]<<24),l[w+8|0]=k,l[w+9|0]=k>>>8,l[w+10|0]=k>>>16,l[w+11|0]=k>>>24,l[w+12|0]=t,l[w+13|0]=t>>>8,l[w+14|0]=t>>>16,l[w+15|0]=t>>>24,r0(q,2,118,v+24|0),l[v+35|0]<0&&G(i[v+24>>2]),k=0;break v}m:{if(!(H|h0)){o=p,h=t;break m}if((o|0)==(p|0)&(t|0)==(h|0))break m;w=U(32),i[v+24>>2]=w,i[v+28>>2]=31,i[v+32>>2]=-2147483616,t=s[4092]|s[4093]<<8|(s[4094]<<16|s[4095]<<24),k=s[4088]|s[4089]<<8|(s[4090]<<16|s[4091]<<24),l[w|0]=k,l[w+1|0]=k>>>8,l[w+2|0]=k>>>16,l[w+3|0]=k>>>24,l[w+4|0]=t,l[w+5|0]=t>>>8,l[w+6|0]=t>>>16,l[w+7|0]=t>>>24,l[w+31|0]=0,t=s[4115]|s[4116]<<8|(s[4117]<<16|s[4118]<<24),k=s[4111]|s[4112]<<8|(s[4113]<<16|s[4114]<<24),l[w+23|0]=k,l[w+24|0]=k>>>8,l[w+25|0]=k>>>16,l[w+26|0]=k>>>24,l[w+27|0]=t,l[w+28|0]=t>>>8,l[w+29|0]=t>>>16,l[w+30|0]=t>>>24,t=s[4108]|s[4109]<<8|(s[4110]<<16|s[4111]<<24),k=s[4104]|s[4105]<<8|(s[4106]<<16|s[4107]<<24),l[w+16|0]=k,l[w+17|0]=k>>>8,l[w+18|0]=k>>>16,l[w+19|0]=k>>>24,l[w+20|0]=t,l[w+21|0]=t>>>8,l[w+22|0]=t>>>16,l[w+23|0]=t>>>24,t=s[4100]|s[4101]<<8|(s[4102]<<16|s[4103]<<24),k=s[4096]|s[4097]<<8|(s[4098]<<16|s[4099]<<24),l[w+8|0]=k,l[w+9|0]=k>>>8,l[w+10|0]=k>>>16,l[w+11|0]=k>>>24,l[w+12|0]=t,l[w+13|0]=t>>>8,l[w+14|0]=t>>>16,l[w+15|0]=t>>>24,r0(q,2,118,v+24|0),l[v+35|0]<0&&G(i[v+24>>2]),k=0;break v}j=v+24|0,I=B+-64|0,B=I,i[I+56>>2]=0,i[I+60>>2]=0,f6(I+32|0,e,Z,I+56|0,i[i[A>>2]+32>>2],n,0);m:{if(i[I+32>>2]!=i[19564]){k=i[I+36>>2],i[j>>2]=i[I+32>>2],i[j+4>>2]=k,i[j+16>>2]=i[I+48>>2],k=i[I+44>>2],i[j+8>>2]=i[I+40>>2],i[j+12>>2]=k,i[I+48>>2]=0,i[I+40>>2]=0,i[I+44>>2]=0;break m}if(k=i[A>>2],t=i[I+56>>2],i[k+36>>2]!=i[t+36>>2]){if(w=U(64),i[I+20>>2]=w,i[I+24>>2]=58,i[I+28>>2]=-2147483584,t=s[11188]|s[11189]<<8|(s[11190]<<16|s[11191]<<24),k=s[11184]|s[11185]<<8|(s[11186]<<16|s[11187]<<24),l[w|0]=k,l[w+1|0]=k>>>8,l[w+2|0]=k>>>16,l[w+3|0]=k>>>24,l[w+4|0]=t,l[w+5|0]=t>>>8,l[w+6|0]=t>>>16,l[w+7|0]=t>>>24,l[w+58|0]=0,k=s[11240]|s[11241]<<8,l[w+56|0]=k,l[w+57|0]=k>>>8,t=s[11236]|s[11237]<<8|(s[11238]<<16|s[11239]<<24),k=s[11232]|s[11233]<<8|(s[11234]<<16|s[11235]<<24),l[w+48|0]=k,l[w+49|0]=k>>>8,l[w+50|0]=k>>>16,l[w+51|0]=k>>>24,l[w+52|0]=t,l[w+53|0]=t>>>8,l[w+54|0]=t>>>16,l[w+55|0]=t>>>24,t=s[11228]|s[11229]<<8|(s[11230]<<16|s[11231]<<24),k=s[11224]|s[11225]<<8|(s[11226]<<16|s[11227]<<24),l[w+40|0]=k,l[w+41|0]=k>>>8,l[w+42|0]=k>>>16,l[w+43|0]=k>>>24,l[w+44|0]=t,l[w+45|0]=t>>>8,l[w+46|0]=t>>>16,l[w+47|0]=t>>>24,t=s[11220]|s[11221]<<8|(s[11222]<<16|s[11223]<<24),k=s[11216]|s[11217]<<8|(s[11218]<<16|s[11219]<<24),l[w+32|0]=k,l[w+33|0]=k>>>8,l[w+34|0]=k>>>16,l[w+35|0]=k>>>24,l[w+36|0]=t,l[w+37|0]=t>>>8,l[w+38|0]=t>>>16,l[w+39|0]=t>>>24,t=s[11212]|s[11213]<<8|(s[11214]<<16|s[11215]<<24),k=s[11208]|s[11209]<<8|(s[11210]<<16|s[11211]<<24),l[w+24|0]=k,l[w+25|0]=k>>>8,l[w+26|0]=k>>>16,l[w+27|0]=k>>>24,l[w+28|0]=t,l[w+29|0]=t>>>8,l[w+30|0]=t>>>16,l[w+31|0]=t>>>24,t=s[11204]|s[11205]<<8|(s[11206]<<16|s[11207]<<24),k=s[11200]|s[11201]<<8|(s[11202]<<16|s[11203]<<24),l[w+16|0]=k,l[w+17|0]=k>>>8,l[w+18|0]=k>>>16,l[w+19|0]=k>>>24,l[w+20|0]=t,l[w+21|0]=t>>>8,l[w+22|0]=t>>>16,l[w+23|0]=t>>>24,t=s[11196]|s[11197]<<8|(s[11198]<<16|s[11199]<<24),k=s[11192]|s[11193]<<8|(s[11194]<<16|s[11195]<<24),l[w+8|0]=k,l[w+9|0]=k>>>8,l[w+10|0]=k>>>16,l[w+11|0]=k>>>24,l[w+12|0]=t,l[w+13|0]=t>>>8,l[w+14|0]=t>>>16,l[w+15|0]=t>>>24,r0(j,2,127,I+20|0),l[I+31|0]>=0)break m;G(i[I+20>>2]);break m}J=i[t+28>>2],S=i[t+24>>2],A0=i[k+28>>2],f0=i[k+24>>2];B:{if(!V9(t)||V9(i[A>>2]))break B;t=U0(i[I+56>>2],6),a=(-1<>2],J0(X0,6,f0,A0,t),w=X0- -64|0,E=1;p:{W:switch(i[X0+36>>2]){case 10:case 12:case 14:Z=3;break p;case 11:case 13:case 15:Z=4;break p;default:E=0;break;case 0:case 1:case 2:case 3:case 99:break W}Z=E}E=i[X0+64>>2];p:{W:{G:{if((t|0)<=8){if(!E)break G;for(k=w;t=i[E+16>>2]<6,k=t?k:E,E=i[(t<<2)+E>>2],!!E;);if((k|0)==(w|0))break G;if(w=0,t=0,i[k+16>>2]>6)break W;w=i[k+48>>2],t=i[k+40>>2];break W}C:{y:{if(!E)break y;for(t=w;k=i[E+16>>2]<6,t=k?t:E,E=i[(k<<2)+E>>2],!!E;);if((t|0)==(w|0))break y;if(w=0,k=0,i[t+16>>2]>6)break C;w=i[t+48>>2]/2|0,k=i[t+40>>2];break C}w=0,k=0}if((A0|0)<=0||(t=m(Z,f0),(t|0)<=0))break p;for(X0=t&2147483640,Q0=t&7,F0=0,Z=t>>>0<8;;){if(I0=(m(w,F0)<<1)+k|0,t=0,E=0,!Z)for(;z=I0+(t<<1)|0,X[z>>1]=a,X[z+2>>1]=a,X[z+4>>1]=a,X[z+6>>1]=a,X[z+8>>1]=a,X[z+10>>1]=a,X[z+12>>1]=a,X[z+14>>1]=a,t=t+8|0,E=E+8|0,(X0|0)!=(E|0););if(E=0,Q0)for(;X[I0+(t<<1)>>1]=a,t=t+1|0,E=E+1|0,(Q0|0)!=(E|0););if(F0=F0+1|0,(A0|0)==(F0|0))break}break p}w=0,t=0}if((A0|0)<=0)break p;if(X0=m(Z,f0),k=0,E=0,A0>>>0>=4)for(Z=A0&2147483644,F0=0;B0(m(w,E)+t|0,a,X0),B0(m(w,E|1)+t|0,a,X0),B0(m(w,E|2)+t|0,a,X0),B0(m(w,E|3)+t|0,a,X0),E=E+4|0,F0=F0+4|0,(Z|0)!=(F0|0););if(Z=A0&3,!Z)break p;for(;B0(m(w,E)+t|0,a,X0),E=E+1|0,k=k+1|0,(Z|0)!=(k|0););}}l7(I+20|0,i[I+56>>2]);B:{p:{if(w=i[I+20>>2],z=I+24|0,(w|0)!=(z|0)){if(C>>>0>=A0>>>0|_>>>0>=f0>>>0)break p;for(k=f0-_|0,Q0=k>>>0>>0?k:S,k=A0-C|0,f0=k>>>0>>0?k:J,I0=f0&2147483646,X0=f0&1,E=(f0|0)>0;;){k=i[w+16>>2],J=v0(i[I+56>>2],k,I+16|0),Z=v0(i[A>>2],k,I+12|0);W:{G:{if((U0(i[A>>2],k)|0)==(U0(i[I+56>>2],k)|0)){if(t=r3(i[I+56>>2],3),k=r3(i[I+56>>2],3),!E)break W;if(S=m(Q0,t>>>3|0),Z=Z+m(k>>>3|0,_)|0,k=0,F0=0,(f0|0)==1)break G;for(;l0(Z+m(i[I+12>>2],k+C|0)|0,J+m(i[I+16>>2],k)|0,S),t=k|1,l0(Z+m(i[I+12>>2],t+C|0)|0,J+m(t,i[I+16>>2])|0,S),k=k+2|0,F0=F0+2|0,(I0|0)!=(F0|0););break G}if(l[I|0]=0,l[I+11|0]=0,r0(j,2,132,I),l[I+11|0]>=0)break B;G(i[I>>2]);break B}if(!X0)break W;l0(Z+m(i[I+12>>2],k+C|0)|0,J+m(i[I+16>>2],k)|0,S)}t=i[w+4>>2];W:{if(t){for(;;)if(k=t,t=i[k>>2],!t)break W}for(;k=i[w+8>>2],t=i[k>>2]!=(w|0),w=k,!!t;);}if(w=k,(k|0)==(z|0))break}}if(k=i[19565],i[j>>2]=i[19564],i[j+4>>2]=k,t=j+8|0,l[78275]>=0){k=i[19567],i[t>>2]=i[19566],i[t+4>>2]=k,i[t+8>>2]=i[19568];break B}_0(t,i[19566],i[19567]);break B}if(k=i[w+16>>2],v0(i[I+56>>2],k,I+16|0),v0(i[A>>2],k,I+12|0),l[I|0]=0,l[I+11|0]=0,r0(j,2,118,I),l[I+11|0]>=0)break B;G(i[I>>2])}j6(I+20|0,i[I+24>>2])}l[I+51|0]<0&&G(i[I+40>>2]),t=i[I+60>>2];m:{if(!t||(k=i[t+4>>2],i[t+4>>2]=k-1,k))break m;V[i[i[t>>2]+8>>2]](t),g(t)}if(B=I- -64|0,t=i[v+28>>2],k=i[v+24>>2],i[v+184>>2]=k,i[v+188>>2]=t,l[v+203|0]<0&&(G(i[v+192>>2]),k=i[v+184>>2]),t=i[v+36>>2],i[v+192>>2]=i[v+32>>2],i[v+196>>2]=t,i[v+200>>2]=i[v+40>>2],k)break Z;Y0=Y0+1|0,_=_+p|0,k=1;break v}k=i[v+188>>2],i[q>>2]=i[v+184>>2],i[q+4>>2]=k,i[q+16>>2]=i[v+200>>2],k=i[v+196>>2],i[q+8>>2]=i[v+192>>2],i[q+12>>2]=k,i[v+192>>2]=0,i[v+196>>2]=0,i[v+200>>2]=0,k=0}v:{if(!d||(t=i[d+4>>2],i[d+4>>2]=t-1,t))break v;V[i[i[d>>2]+8>>2]](d),g(d)}if(!k)break w;if(D=Q[v+210>>1],h0=h0+1|0,!(D>>>0>h0>>>0))break}t=Q[v+208>>1]}if(C=h+C|0,H=H+1|0,!(H>>>0<(t&65535)>>>0))break}V3(q)}w:{if(!p0||(k=i[p0+4>>2],i[p0+4>>2]=k-1,k))break w;V[i[i[p0>>2]+8>>2]](p0),g(p0)}t=i[v+8>>2];w:{if(!t||(k=i[t+4>>2],i[t+4>>2]=k-1,k))break w;V[i[i[t>>2]+8>>2]](t),g(t)}w:{if(!R||(k=i[R+4>>2],i[R+4>>2]=k-1,k))break w;V[i[i[R>>2]+8>>2]](R),g(R)}if(t=i[v+16>>2],!t||(k=i[t+4>>2],i[t+4>>2]=k-1,k))break l;V[i[i[t>>2]+8>>2]](t),g(t);break l}i[v+32>>2]=54496,i[v+88>>2]=54516,k=i[13633],i[v+24>>2]=k,h=v+24|0,i[h+i[k-12>>2]>>2]=i[13634],i[v+28>>2]=0,k=h+i[i[v+24>>2]-12>>2]|0,o=v+36|0,b0(k,o),i[k+72>>2]=0,i[k+76>>2]=-1,k=i[13635],i[v+32>>2]=k,t=v+32|0,i[t+i[k-12>>2]>>2]=i[13636],k=i[13632],i[v+24>>2]=k,i[h+i[k-12>>2]>>2]=i[13637],i[v+88>>2]=54516,i[v+24>>2]=54476,i[v+32>>2]=54496,o=$0(o),i[o>>2]=53552,i[v+76>>2]=0,i[v+80>>2]=0,i[v+68>>2]=0,i[v+72>>2]=0,i[v+84>>2]=24,x(L0(x(H0(x(L0(x(L0(x(t,18988,17),_),2490,1),Z),16374,1),w),18716,17),i[v+176>>2]-i[v+172>>2]>>2),10094,20),k=v+12|0,i2(k,o),r0(q,2,119,k),l[v+23|0]<0&&G(i[v+12>>2]),k=i[13631],i[v+24>>2]=k,i[i[k-12>>2]+(v+24|0)>>2]=i[13639],i[v+32>>2]=i[13640],i[o>>2]=53552,l[v+79|0]<0&&G(i[v+68>>2]),K0(o),T0(v+88|0);break l}_=i[h>>2]}i[v+32>>2]=54496,i[v+88>>2]=54516,k=i[13633],i[v+24>>2]=k,h=v+24|0,i[h+i[k-12>>2]>>2]=i[13634],i[v+28>>2]=0,k=h+i[i[v+24>>2]-12>>2]|0,o=v+36|0,b0(k,o),i[k+72>>2]=0,i[k+76>>2]=-1,k=i[13635],i[v+32>>2]=k,t=v+32|0,i[t+i[k-12>>2]>>2]=i[13636],k=i[13632],i[v+24>>2]=k,i[h+i[k-12>>2]>>2]=i[13637],i[v+88>>2]=54516,i[v+24>>2]=54476,i[v+32>>2]=54496,o=$0(o),i[o>>2]=53552,i[v+76>>2]=0,i[v+80>>2]=0,i[v+68>>2]=0,i[v+72>>2]=0,i[v+84>>2]=24,x(L0(x(t,16361,14),_),17905,23),k=v+12|0,i2(k,o),r0(q,2,119,k),l[v+23|0]<0&&G(i[v+12>>2]),k=i[13631],i[v+24>>2]=k,i[i[k-12>>2]+(v+24|0)>>2]=i[13639],i[v+32>>2]=i[13640],i[o>>2]=53552,l[v+79|0]<0&&G(i[v+68>>2]),K0(o),T0(v+88|0)}if(k=i[v+172>>2],!k)break u;i[v+176>>2]=k,G(k)}if(!L||(k=i[L+4>>2],i[L+4>>2]=k-1,k))break o;V[i[i[L>>2]+8>>2]](L),g(L)}if(l[v+203|0]<0&&G(i[v+192>>2]),B=v+224|0,t=i[u+68>>2],k=i[u+64>>2],i[u+96>>2]=k,i[u+100>>2]=t,l[u+115|0]<0&&(G(i[u+104>>2]),k=i[u+96>>2]),t=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=t,i[u+112>>2]=i[u+80>>2],k)break n;if(k=i[u>>2],!k)break e;i[u+4>>2]=k,G(k);break e}if((s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))==1852138601){w=B-32|0,B=w,k=i[e+48>>2],t=i[k+76>>2],h=i[k+80>>2],h&&(i[h+4>>2]=i[h+4>>2]+1),o=u- -64|0;o:{if(!t){if(_=U(56),i[w+20>>2]=_,i[w+24>>2]=48,i[w+28>>2]=-2147483592,t=s[10630]|s[10631]<<8|(s[10632]<<16|s[10633]<<24),k=s[10626]|s[10627]<<8|(s[10628]<<16|s[10629]<<24),l[_|0]=k,l[_+1|0]=k>>>8,l[_+2|0]=k>>>16,l[_+3|0]=k>>>24,l[_+4|0]=t,l[_+5|0]=t>>>8,l[_+6|0]=t>>>16,l[_+7|0]=t>>>24,l[_+48|0]=0,t=s[10670]|s[10671]<<8|(s[10672]<<16|s[10673]<<24),k=s[10666]|s[10667]<<8|(s[10668]<<16|s[10669]<<24),l[_+40|0]=k,l[_+41|0]=k>>>8,l[_+42|0]=k>>>16,l[_+43|0]=k>>>24,l[_+44|0]=t,l[_+45|0]=t>>>8,l[_+46|0]=t>>>16,l[_+47|0]=t>>>24,t=s[10662]|s[10663]<<8|(s[10664]<<16|s[10665]<<24),k=s[10658]|s[10659]<<8|(s[10660]<<16|s[10661]<<24),l[_+32|0]=k,l[_+33|0]=k>>>8,l[_+34|0]=k>>>16,l[_+35|0]=k>>>24,l[_+36|0]=t,l[_+37|0]=t>>>8,l[_+38|0]=t>>>16,l[_+39|0]=t>>>24,t=s[10654]|s[10655]<<8|(s[10656]<<16|s[10657]<<24),k=s[10650]|s[10651]<<8|(s[10652]<<16|s[10653]<<24),l[_+24|0]=k,l[_+25|0]=k>>>8,l[_+26|0]=k>>>16,l[_+27|0]=k>>>24,l[_+28|0]=t,l[_+29|0]=t>>>8,l[_+30|0]=t>>>16,l[_+31|0]=t>>>24,t=s[10646]|s[10647]<<8|(s[10648]<<16|s[10649]<<24),k=s[10642]|s[10643]<<8|(s[10644]<<16|s[10645]<<24),l[_+16|0]=k,l[_+17|0]=k>>>8,l[_+18|0]=k>>>16,l[_+19|0]=k>>>24,l[_+20|0]=t,l[_+21|0]=t>>>8,l[_+22|0]=t>>>16,l[_+23|0]=t>>>24,t=s[10638]|s[10639]<<8|(s[10640]<<16|s[10641]<<24),k=s[10634]|s[10635]<<8|(s[10636]<<16|s[10637]<<24),l[_+8|0]=k,l[_+9|0]=k>>>8,l[_+10|0]=k>>>16,l[_+11|0]=k>>>24,l[_+12|0]=t,l[_+13|0]=t>>>8,l[_+14|0]=t>>>16,l[_+15|0]=t>>>24,r0(o,2,113,w+20|0),l[w+31|0]>=0)break o;G(i[w+20>>2]);break o}oi(w+20|0,t,r),k=i[w+20>>2];u:{if((i[w+24>>2]-k|0)!=4){if(_=U(48),i[w+8>>2]=_,i[w+12>>2]=47,i[w+16>>2]=-2147483600,t=s[11091]|s[11092]<<8|(s[11093]<<16|s[11094]<<24),k=s[11087]|s[11088]<<8|(s[11089]<<16|s[11090]<<24),l[_|0]=k,l[_+1|0]=k>>>8,l[_+2|0]=k>>>16,l[_+3|0]=k>>>24,l[_+4|0]=t,l[_+5|0]=t>>>8,l[_+6|0]=t>>>16,l[_+7|0]=t>>>24,l[_+47|0]=0,t=s[11130]|s[11131]<<8|(s[11132]<<16|s[11133]<<24),k=s[11126]|s[11127]<<8|(s[11128]<<16|s[11129]<<24),l[_+39|0]=k,l[_+40|0]=k>>>8,l[_+41|0]=k>>>16,l[_+42|0]=k>>>24,l[_+43|0]=t,l[_+44|0]=t>>>8,l[_+45|0]=t>>>16,l[_+46|0]=t>>>24,t=s[11123]|s[11124]<<8|(s[11125]<<16|s[11126]<<24),k=s[11119]|s[11120]<<8|(s[11121]<<16|s[11122]<<24),l[_+32|0]=k,l[_+33|0]=k>>>8,l[_+34|0]=k>>>16,l[_+35|0]=k>>>24,l[_+36|0]=t,l[_+37|0]=t>>>8,l[_+38|0]=t>>>16,l[_+39|0]=t>>>24,t=s[11115]|s[11116]<<8|(s[11117]<<16|s[11118]<<24),k=s[11111]|s[11112]<<8|(s[11113]<<16|s[11114]<<24),l[_+24|0]=k,l[_+25|0]=k>>>8,l[_+26|0]=k>>>16,l[_+27|0]=k>>>24,l[_+28|0]=t,l[_+29|0]=t>>>8,l[_+30|0]=t>>>16,l[_+31|0]=t>>>24,t=s[11107]|s[11108]<<8|(s[11109]<<16|s[11110]<<24),k=s[11103]|s[11104]<<8|(s[11105]<<16|s[11106]<<24),l[_+16|0]=k,l[_+17|0]=k>>>8,l[_+18|0]=k>>>16,l[_+19|0]=k>>>24,l[_+20|0]=t,l[_+21|0]=t>>>8,l[_+22|0]=t>>>16,l[_+23|0]=t>>>24,t=s[11099]|s[11100]<<8|(s[11101]<<16|s[11102]<<24),k=s[11095]|s[11096]<<8|(s[11097]<<16|s[11098]<<24),l[_+8|0]=k,l[_+9|0]=k>>>8,l[_+10|0]=k>>>16,l[_+11|0]=k>>>24,l[_+12|0]=t,l[_+13|0]=t>>>8,l[_+14|0]=t>>>16,l[_+15|0]=t>>>24,r0(o,2,0,w+8|0),l[w+19|0]>=0)break u;G(i[w+8>>2]);break u}if(k=i[k>>2],(k|0)==(r|0)){if(_=U(40),i[w+8>>2]=_,i[w+12>>2]=32,i[w+16>>2]=-2147483608,t=s[8751]|s[8752]<<8|(s[8753]<<16|s[8754]<<24),k=s[8747]|s[8748]<<8|(s[8749]<<16|s[8750]<<24),l[_|0]=k,l[_+1|0]=k>>>8,l[_+2|0]=k>>>16,l[_+3|0]=k>>>24,l[_+4|0]=t,l[_+5|0]=t>>>8,l[_+6|0]=t>>>16,l[_+7|0]=t>>>24,l[_+32|0]=0,t=s[8775]|s[8776]<<8|(s[8777]<<16|s[8778]<<24),k=s[8771]|s[8772]<<8|(s[8773]<<16|s[8774]<<24),l[_+24|0]=k,l[_+25|0]=k>>>8,l[_+26|0]=k>>>16,l[_+27|0]=k>>>24,l[_+28|0]=t,l[_+29|0]=t>>>8,l[_+30|0]=t>>>16,l[_+31|0]=t>>>24,t=s[8767]|s[8768]<<8|(s[8769]<<16|s[8770]<<24),k=s[8763]|s[8764]<<8|(s[8765]<<16|s[8766]<<24),l[_+16|0]=k,l[_+17|0]=k>>>8,l[_+18|0]=k>>>16,l[_+19|0]=k>>>24,l[_+20|0]=t,l[_+21|0]=t>>>8,l[_+22|0]=t>>>16,l[_+23|0]=t>>>24,t=s[8759]|s[8760]<<8|(s[8761]<<16|s[8762]<<24),k=s[8755]|s[8756]<<8|(s[8757]<<16|s[8758]<<24),l[_+8|0]=k,l[_+9|0]=k>>>8,l[_+10|0]=k>>>16,l[_+11|0]=k>>>24,l[_+12|0]=t,l[_+13|0]=t>>>8,l[_+14|0]=t>>>16,l[_+15|0]=t>>>24,r0(o,2,0,w+8|0),l[w+19|0]>=0)break u;G(i[w+8>>2]);break u}f6(o,e,k,A,1,n,0)}if(k=i[w+20>>2],!k)break o;i[w+24>>2]=k,G(k)}o:{if(!h||(k=i[h+4>>2],i[h+4>>2]=k-1,k))break o;V[i[i[h>>2]+8>>2]](h),g(h)}if(B=w+32|0,t=i[u+68>>2],k=i[u+64>>2],i[u+96>>2]=k,i[u+100>>2]=t,l[u+115|0]<0&&(G(i[u+104>>2]),k=i[u+96>>2]),t=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=t,i[u+112>>2]=i[u+80>>2],!k)break e;e=i[u+100>>2],i[f>>2]=i[u+96>>2],i[f+4>>2]=e,i[f+16>>2]=i[u+112>>2],e=i[u+108>>2],i[f+8>>2]=i[u+104>>2],i[f+12>>2]=e,i[u+104>>2]=0,i[u+108>>2]=0,i[u+112>>2]=0;break r}if((s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))==1819701097){if(i[u+8>>2]=0,i[u>>2]=0,i[u+4>>2]=0,w8(u- -64|0,i[e+48>>2],r,u),t=i[u+68>>2],k=i[u+64>>2],i[u+96>>2]=k,i[u+100>>2]=t,l[u+115|0]<0&&(G(i[u+104>>2]),k=i[u+96>>2]),t=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=t,i[u+112>>2]=i[u+80>>2],k)break k;W=B-112|0,B=W,k=i[e+48>>2],t=i[k+76>>2],a=i[k+80>>2],a&&(i[a+4>>2]=i[a+4>>2]+1),I=u- -64|0;o:{if(!t){if(o=U(56),i[W+68>>2]=o,i[W+72>>2]=48,i[W+76>>2]=-2147483592,t=s[10723]|s[10724]<<8|(s[10725]<<16|s[10726]<<24),k=s[10719]|s[10720]<<8|(s[10721]<<16|s[10722]<<24),l[o|0]=k,l[o+1|0]=k>>>8,l[o+2|0]=k>>>16,l[o+3|0]=k>>>24,l[o+4|0]=t,l[o+5|0]=t>>>8,l[o+6|0]=t>>>16,l[o+7|0]=t>>>24,l[o+48|0]=0,t=s[10763]|s[10764]<<8|(s[10765]<<16|s[10766]<<24),k=s[10759]|s[10760]<<8|(s[10761]<<16|s[10762]<<24),l[o+40|0]=k,l[o+41|0]=k>>>8,l[o+42|0]=k>>>16,l[o+43|0]=k>>>24,l[o+44|0]=t,l[o+45|0]=t>>>8,l[o+46|0]=t>>>16,l[o+47|0]=t>>>24,t=s[10755]|s[10756]<<8|(s[10757]<<16|s[10758]<<24),k=s[10751]|s[10752]<<8|(s[10753]<<16|s[10754]<<24),l[o+32|0]=k,l[o+33|0]=k>>>8,l[o+34|0]=k>>>16,l[o+35|0]=k>>>24,l[o+36|0]=t,l[o+37|0]=t>>>8,l[o+38|0]=t>>>16,l[o+39|0]=t>>>24,t=s[10747]|s[10748]<<8|(s[10749]<<16|s[10750]<<24),k=s[10743]|s[10744]<<8|(s[10745]<<16|s[10746]<<24),l[o+24|0]=k,l[o+25|0]=k>>>8,l[o+26|0]=k>>>16,l[o+27|0]=k>>>24,l[o+28|0]=t,l[o+29|0]=t>>>8,l[o+30|0]=t>>>16,l[o+31|0]=t>>>24,t=s[10739]|s[10740]<<8|(s[10741]<<16|s[10742]<<24),k=s[10735]|s[10736]<<8|(s[10737]<<16|s[10738]<<24),l[o+16|0]=k,l[o+17|0]=k>>>8,l[o+18|0]=k>>>16,l[o+19|0]=k>>>24,l[o+20|0]=t,l[o+21|0]=t>>>8,l[o+22|0]=t>>>16,l[o+23|0]=t>>>24,t=s[10731]|s[10732]<<8|(s[10733]<<16|s[10734]<<24),k=s[10727]|s[10728]<<8|(s[10729]<<16|s[10730]<<24),l[o+8|0]=k,l[o+9|0]=k>>>8,l[o+10|0]=k>>>16,l[o+11|0]=k>>>24,l[o+12|0]=t,l[o+13|0]=t>>>8,l[o+14|0]=t>>>16,l[o+15|0]=t>>>24,r0(I,2,113,W+68|0),l[W+79|0]>=0)break o;G(i[W+68>>2]);break o}oi(W+100|0,t,r),i[W+96>>2]=0,i[W+88>>2]=0,i[W+92>>2]=0,w=W+68|0,H=i[W+104>>2]-i[W+100>>2]>>2,_=0,R=B-192|0,B=R,o=U(32),i[R+24>>2]=o,i[R+28>>2]=29,i[R+32>>2]=-2147483616,t=s[9309]|s[9310]<<8|(s[9311]<<16|s[9312]<<24),k=s[9305]|s[9306]<<8|(s[9307]<<16|s[9308]<<24),l[o+21|0]=k,l[o+22|0]=k>>>8,l[o+23|0]=k>>>16,l[o+24|0]=k>>>24,l[o+25|0]=t,l[o+26|0]=t>>>8,l[o+27|0]=t>>>16,l[o+28|0]=t>>>24,t=s[9304]|s[9305]<<8|(s[9306]<<16|s[9307]<<24),k=s[9300]|s[9301]<<8|(s[9302]<<16|s[9303]<<24),l[o+16|0]=k,l[o+17|0]=k>>>8,l[o+18|0]=k>>>16,l[o+19|0]=k>>>24,l[o+20|0]=t,l[o+21|0]=t>>>8,l[o+22|0]=t>>>16,l[o+23|0]=t>>>24,t=s[9296]|s[9297]<<8|(s[9298]<<16|s[9299]<<24),k=s[9292]|s[9293]<<8|(s[9294]<<16|s[9295]<<24),l[o+8|0]=k,l[o+9|0]=k>>>8,l[o+10|0]=k>>>16,l[o+11|0]=k>>>24,l[o+12|0]=t,l[o+13|0]=t>>>8,l[o+14|0]=t>>>16,l[o+15|0]=t>>>24,t=s[9288]|s[9289]<<8|(s[9290]<<16|s[9291]<<24),k=s[9284]|s[9285]<<8|(s[9286]<<16|s[9287]<<24),l[o|0]=k,l[o+1|0]=k>>>8,l[o+2|0]=k>>>16,l[o+3|0]=k>>>24,l[o+4|0]=t,l[o+5|0]=t>>>8,l[o+6|0]=t>>>16,l[o+7|0]=t>>>24,l[o+29|0]=0,o=r0(R+168|0,2,121,R+24|0),l[R+35|0]<0&&G(i[R+24>>2]),d=W+48|0,t=i[u>>2],h=i[u+4>>2]-t|0;u:{if(h>>>0<=9){k=i[o+4>>2],i[d>>2]=i[o>>2],i[d+4>>2]=k,i[d+16>>2]=i[o+16>>2],k=i[o+12>>2],i[d+8>>2]=i[o+8>>2],i[d+12>>2]=k,i[o+16>>2]=0,i[o+8>>2]=0,i[o+12>>2]=0;break u}if(k=s[t|0],l[w|0]=k,k){i[R+32>>2]=54496,i[R+88>>2]=54516,k=i[13633],i[R+24>>2]=k,_=R+24|0,i[_+i[k-12>>2]>>2]=i[13634],i[R+28>>2]=0,k=_+i[i[R+24>>2]-12>>2]|0,h=R+36|0,b0(k,h),i[k+72>>2]=0,i[k+76>>2]=-1,k=i[13635],i[R+32>>2]=k,t=R+32|0,i[t+i[k-12>>2]>>2]=i[13636],k=i[13632],i[R+24>>2]=k,i[_+i[k-12>>2]>>2]=i[13637],i[R+88>>2]=54516,i[R+24>>2]=54476,i[R+32>>2]=54496,h=$0(h),i[h>>2]=53552,i[R+76>>2]=0,i[R+80>>2]=0,i[R+68>>2]=0,i[R+72>>2]=0,i[R+84>>2]=24,x(H0(x(t,18932,27),s[w|0]),3320,23),k=R+12|0,i2(k,h),r0(d,4,3002,k),l[R+23|0]<0&&G(i[R+12>>2]),k=i[13631],i[R+24>>2]=k,i[i[k-12>>2]+(R+24|0)>>2]=i[13639],i[R+32>>2]=i[13640],i[h>>2]=53552,l[R+79|0]<0&&G(i[R+68>>2]),K0(h),T0(R+88|0);break u}if(t=s[t+1|0],l[w+1|0]=t,k=10,z=t&1,f0=z?4:2,y=f0<<1,t=y+10|0,h>>>0>=t+(H<<1<<(z?2:1))>>>0){if(h=i[u>>2],h=s[h+2|0]|s[h+3|0]<<8,X[w+2>>1]=h<<8|h>>>8,h=i[u>>2],h=s[h+4|0]|s[h+5|0]<<8,X[w+4>>1]=h<<8|h>>>8,h=i[u>>2],h=s[h+6|0]|s[h+7|0]<<8,X[w+6>>1]=h<<8|h>>>8,h=i[u>>2],h=s[h+8|0]|s[h+9|0]<<8,X[w+8>>1]=h<<8|h>>>8,C=i[u>>2],z){for(Z=f0&4;h=k,k=k+4|0,_=_+4|0,(Z|0)!=(_|0););h=h+C|0,_=(s[h|0]<<16|s[h+1|0]<<8|s[h+2|0])<<8|s[h+3|0]}if(h=f0&2,h)for(;_=s[k+C|0]|_<<8,k=k+1|0,S=S+1|0,(h|0)!=(S|0););if(i[w+12>>2]=_,p=f0&2,k=f0+10|0,C=i[u>>2],z){for(Z=f0&4,S=0;h=k,k=k+4|0,S=S+4|0,(Z|0)!=(S|0););h=h+C|0,S=(s[h|0]<<16|s[h+1|0]<<8|s[h+2|0])<<8|s[h+3|0]}else S=0;if(p)for(;S=s[k+C|0]|S<<8,k=k+1|0,J=J+1|0,(p|0)!=(J|0););if(i[w+16>>2]=S,!(S&&_)){if(h=U(48),i[R+24>>2]=h,i[R+28>>2]=40,i[R+32>>2]=-2147483600,t=s[17511]|s[17512]<<8|(s[17513]<<16|s[17514]<<24),k=s[17507]|s[17508]<<8|(s[17509]<<16|s[17510]<<24),l[h|0]=k,l[h+1|0]=k>>>8,l[h+2|0]=k>>>16,l[h+3|0]=k>>>24,l[h+4|0]=t,l[h+5|0]=t>>>8,l[h+6|0]=t>>>16,l[h+7|0]=t>>>24,l[h+40|0]=0,t=s[17543]|s[17544]<<8|(s[17545]<<16|s[17546]<<24),k=s[17539]|s[17540]<<8|(s[17541]<<16|s[17542]<<24),l[h+32|0]=k,l[h+33|0]=k>>>8,l[h+34|0]=k>>>16,l[h+35|0]=k>>>24,l[h+36|0]=t,l[h+37|0]=t>>>8,l[h+38|0]=t>>>16,l[h+39|0]=t>>>24,t=s[17535]|s[17536]<<8|(s[17537]<<16|s[17538]<<24),k=s[17531]|s[17532]<<8|(s[17533]<<16|s[17534]<<24),l[h+24|0]=k,l[h+25|0]=k>>>8,l[h+26|0]=k>>>16,l[h+27|0]=k>>>24,l[h+28|0]=t,l[h+29|0]=t>>>8,l[h+30|0]=t>>>16,l[h+31|0]=t>>>24,t=s[17527]|s[17528]<<8|(s[17529]<<16|s[17530]<<24),k=s[17523]|s[17524]<<8|(s[17525]<<16|s[17526]<<24),l[h+16|0]=k,l[h+17|0]=k>>>8,l[h+18|0]=k>>>16,l[h+19|0]=k>>>24,l[h+20|0]=t,l[h+21|0]=t>>>8,l[h+22|0]=t>>>16,l[h+23|0]=t>>>24,t=s[17519]|s[17520]<<8|(s[17521]<<16|s[17522]<<24),k=s[17515]|s[17516]<<8|(s[17517]<<16|s[17518]<<24),l[h+8|0]=k,l[h+9|0]=k>>>8,l[h+10|0]=k>>>16,l[h+11|0]=k>>>24,l[h+12|0]=t,l[h+13|0]=t>>>8,l[h+14|0]=t>>>16,l[h+15|0]=t>>>24,r0(d,2,121,R+24|0),l[R+35|0]>=0)break u;G(i[R+24>>2]);break u}_=w+20|0,k=i[w+20>>2],h=i[w+24>>2]-k>>3;l:{s:{if(h>>>0>>0){SA(_,H-h|0);break s}if(h>>>0>H>>>0&&(i[w+24>>2]=k+(H<<3)),!H)break l}for(X0=f0&4,Q0=f0&2,I0=128<<(f0<<3)-8,E=I0^-1,C=i[_>>2];;){if(S=i[u>>2],k=t,J=0,_=0,z){for(;h=k,k=k+4|0,J=J+4|0,(X0|0)!=(J|0););h=h+S|0,w=(s[h|0]<<16|s[h+1|0]<<8|s[h+2|0])<<8,_=w|s[h+3|0]}if(J=0,Q0)for(;w=_<<8,_=w|s[k+S|0],k=k+1|0,J=J+1|0,(Q0|0)!=(J|0););if(J=0,Z=C+(F0<<3)|0,i[Z>>2]=(_&E)-(w&I0?I0:0),k=t+f0|0,p=i[u>>2],w=0,_=0,z){for(;h=k,k=k+4|0,w=w+4|0,(X0|0)!=(w|0););h=h+p|0,S=(s[h|0]<<16|s[h+1|0]<<8|s[h+2|0])<<8,_=S|s[h+3|0]}if(Q0)for(;S=_<<8,_=S|s[k+p|0],k=k+1|0,J=J+1|0,(Q0|0)!=(J|0););if(i[Z+4>>2]=(_&E)-(S&I0?I0:0),t=t+y|0,F0=F0+1|0,(H|0)==(F0|0))break}}if(k=i[19565],i[d>>2]=i[19564],i[d+4>>2]=k,t=d+8|0,l[78275]>=0){k=i[19567],i[t>>2]=i[19566],i[t+4>>2]=k,i[t+8>>2]=i[19568];break u}_0(t,i[19566],i[19567]);break u}k=i[o+4>>2],i[d>>2]=i[o>>2],i[d+4>>2]=k,i[d+16>>2]=i[o+16>>2],k=i[o+12>>2],i[d+8>>2]=i[o+8>>2],i[d+12>>2]=k,i[o+16>>2]=0,i[o+8>>2]=0,i[o+12>>2]=0}l[o+19|0]<0&&G(i[o+8>>2]),B=R+192|0;u:{if(i[W+48>>2]){k=i[W+52>>2],i[I>>2]=i[W+48>>2],i[I+4>>2]=k,t=W- -64|0,i[I+16>>2]=i[t>>2],k=i[W+60>>2],i[I+8>>2]=i[W+56>>2],i[I+12>>2]=k,i[t>>2]=0,i[W+56>>2]=0,i[W+60>>2]=0;break u}if(i[W+104>>2]-i[W+100>>2]>>2!=i[W+92>>2]-i[W+88>>2]>>3){if(k=U(72),i[W+24>>2]=k,i[W+28>>2]=69,i[W+32>>2]=-2147483576,c0=l0(k,4597,69),r2=0,l[c0+69|0]=r2,r0(I,2,121,W+24|0),l[W+35|0]>=0)break u;G(i[W+24>>2]);break u}if(_=i[W+80>>2],w=i[W+84>>2],l6(W+24|0,e,_,w),t=i[W+28>>2],k=i[W+24>>2],i[W+48>>2]=k,i[W+52>>2]=t,v=W+56|0,l[W+67|0]<0&&(G(i[W+56>>2]),k=i[W+48>>2]),t=i[W+36>>2],i[v>>2]=i[W+32>>2],i[v+4>>2]=t,i[v+8>>2]=i[W+40>>2],k){k=i[W+52>>2],i[I>>2]=i[W+48>>2],i[I+4>>2]=k,i[I+16>>2]=i[v+8>>2],k=i[v+4>>2],i[I+8>>2]=i[v>>2],i[I+12>>2]=k,i[v>>2]=0,i[v+4>>2]=0,i[v+8>>2]=0;break u}k=U(136),i[k+4>>2]=0,i[k+8>>2]=0,i[k>>2]=72792,B0(k+20|0,0,104),h=i[k+4>>2],o=h+1|0,i[k+4>>2]=o,i[k+56>>2]=0,i[k+60>>2]=0,i[k+44>>2]=99,i[k+48>>2]=99,i[k+32>>2]=34648,t=k- -64|0,i[t>>2]=0,i[t+4>>2]=0,i[k+132>>2]=0,i[k+124>>2]=0,i[k+128>>2]=0,i[k+84>>2]=1,i[k+88>>2]=1,i[k+72>>2]=k+76,i[k+92>>2]=0,i[k+96>>2]=0,i[k+100>>2]=0,i[k+104>>2]=0,i[k+108>>2]=0,i[k+112>>2]=0,l[k+113|0]=0,l[k+114|0]=0,l[k+115|0]=0,l[k+116|0]=0,l[k+117|0]=0,l[k+118|0]=0,l[k+119|0]=0,l[k+120|0]=0,t=k+12|0,i[k+12>>2]=t,i[k+8>>2]=i[k+8>>2]+1,i[k+4>>2]=h,i[k+16>>2]=k,o||(V[i[i[k>>2]+8>>2]](k),g(k)),i[A>>2]=t,t=i[A+4>>2],i[A+4>>2]=k;l:{if(!t||(k=i[t+4>>2],i[t+4>>2]=k-1,k))break l;V[i[i[t>>2]+8>>2]](t),g(t)}k=i[A>>2],i[k+36>>2]=3,i[k+32>>2]=1,i[k+28>>2]=w,i[k+24>>2]=_,J0(i[A>>2],3,_,w,8),J0(i[A>>2],4,_,w,8),J0(i[A>>2],5,_,w,8),y=W+24|0,C=Q[W+70>>1],_=Q[W+72>>1],w=Q[W+74>>1],Z=Q[W+76>>1],p=B-16|0,B=p;l:{s:{if(k=i[A>>2],o=i[k+64>>2],!o)break s;for(t=k- -64|0,k=t;h=i[o+16>>2]<3,k=h?k:o,o=i[(h<<2)+o>>2],!!o;);if((k|0)==(t|0)|i[k+16>>2]>=4)break s;_=_>>>8|0,w=w>>>8|0,Z=Z>>>8|0,h=C>>>8|0;h:{if(s[k+20|0]!=8)break h;if(B0(i[k+40>>2],h,m(i[k+28>>2],i[k+48>>2])),o=i[t>>2],!o)break s;for(k=t;h=i[o+16>>2]<4,k=h?k:o,o=i[(h<<2)+o>>2],!!o;);if((k|0)==(t|0)|i[k+16>>2]>4)break s;if(s[k+20|0]!=8)break h;if(B0(i[k+40>>2],_,m(i[k+28>>2],i[k+48>>2])),o=i[t>>2],!o)break s;for(k=t;h=i[o+16>>2]<5,k=h?k:o,o=i[(h<<2)+o>>2],!!o;);if((k|0)==(t|0)|i[k+16>>2]>5)break s;if(s[k+20|0]!=8)break h;B0(i[k+40>>2],w,m(i[k+28>>2],i[k+48>>2])),o=i[t>>2];w:{if(!o)break w;for(k=t;h=i[o+16>>2]<6,k=h?k:o,o=i[(h<<2)+o>>2],!!o;);if((k|0)==(t|0)|i[k+16>>2]>6)break w;if(s[k+20|0]!=8)break h;if(o=i[k+48>>2],t=i[k+28>>2],h=m(o,t),k=i[k+40>>2],t>>>0>=4294967295/(o>>>0)>>>0){B0(k,Z,h);break w}B0(k,Z,h)}if(k=i[19565],i[y>>2]=i[19564],i[y+4>>2]=k,t=y+8|0,l[78275]>=0){k=i[19567],i[t>>2]=i[19566],i[t+4>>2]=k,i[t+8>>2]=i[19568];break l}_0(t,i[19566],i[19567]);break l}if(o=U(56),i[p+4>>2]=o,i[p+8>>2]=52,i[p+12>>2]=-2147483592,t=s[7647]|s[7648]<<8|(s[7649]<<16|s[7650]<<24),k=s[7643]|s[7644]<<8|(s[7645]<<16|s[7646]<<24),l[o|0]=k,l[o+1|0]=k>>>8,l[o+2|0]=k>>>16,l[o+3|0]=k>>>24,l[o+4|0]=t,l[o+5|0]=t>>>8,l[o+6|0]=t>>>16,l[o+7|0]=t>>>24,l[o+52|0]=0,k=s[7691]|s[7692]<<8|(s[7693]<<16|s[7694]<<24),l[o+48|0]=k,l[o+49|0]=k>>>8,l[o+50|0]=k>>>16,l[o+51|0]=k>>>24,t=s[7687]|s[7688]<<8|(s[7689]<<16|s[7690]<<24),k=s[7683]|s[7684]<<8|(s[7685]<<16|s[7686]<<24),l[o+40|0]=k,l[o+41|0]=k>>>8,l[o+42|0]=k>>>16,l[o+43|0]=k>>>24,l[o+44|0]=t,l[o+45|0]=t>>>8,l[o+46|0]=t>>>16,l[o+47|0]=t>>>24,t=s[7679]|s[7680]<<8|(s[7681]<<16|s[7682]<<24),k=s[7675]|s[7676]<<8|(s[7677]<<16|s[7678]<<24),l[o+32|0]=k,l[o+33|0]=k>>>8,l[o+34|0]=k>>>16,l[o+35|0]=k>>>24,l[o+36|0]=t,l[o+37|0]=t>>>8,l[o+38|0]=t>>>16,l[o+39|0]=t>>>24,t=s[7671]|s[7672]<<8|(s[7673]<<16|s[7674]<<24),k=s[7667]|s[7668]<<8|(s[7669]<<16|s[7670]<<24),l[o+24|0]=k,l[o+25|0]=k>>>8,l[o+26|0]=k>>>16,l[o+27|0]=k>>>24,l[o+28|0]=t,l[o+29|0]=t>>>8,l[o+30|0]=t>>>16,l[o+31|0]=t>>>24,t=s[7663]|s[7664]<<8|(s[7665]<<16|s[7666]<<24),k=s[7659]|s[7660]<<8|(s[7661]<<16|s[7662]<<24),l[o+16|0]=k,l[o+17|0]=k>>>8,l[o+18|0]=k>>>16,l[o+19|0]=k>>>24,l[o+20|0]=t,l[o+21|0]=t>>>8,l[o+22|0]=t>>>16,l[o+23|0]=t>>>24,t=s[7655]|s[7656]<<8|(s[7657]<<16|s[7658]<<24),k=s[7651]|s[7652]<<8|(s[7653]<<16|s[7654]<<24),l[o+8|0]=k,l[o+9|0]=k>>>8,l[o+10|0]=k>>>16,l[o+11|0]=k>>>24,l[o+12|0]=t,l[o+13|0]=t>>>8,l[o+14|0]=t>>>16,l[o+15|0]=t>>>24,r0(y,4,0,p+4|0),l[p+15|0]>=0)break l;G(i[p+4>>2]);break l}if(l[p+4|0]=0,l[p+15|0]=0,r0(y,5,2002,p+4|0),l[p+15|0]>=0)break l;G(i[p+4>>2])}B=p+16|0,t=i[W+28>>2],k=i[W+24>>2],i[W+48>>2]=k,i[W+52>>2]=t,l[W+67|0]<0&&(G(i[W+56>>2]),k=i[W+48>>2]),t=i[W+36>>2],i[v>>2]=i[W+32>>2],i[v+4>>2]=t,i[v+8>>2]=i[W+40>>2];l:{s:{if(!k){if(h=i[W+100>>2],(h|0)==i[W+104>>2])break l;L=n+28|0,w=0;break s}k=i[W+52>>2],i[I>>2]=i[W+48>>2],i[I+4>>2]=k,i[I+16>>2]=i[v+8>>2],k=i[v+4>>2],i[I+8>>2]=i[v>>2],i[I+12>>2]=k,i[v>>2]=0,i[v+4>>2]=0,i[v+8>>2]=0;break u}for(;;){i[W+16>>2]=0,i[W+20>>2]=0,f6(W+24|0,e,i[(w<<2)+h>>2],W+16|0,1,n,0),t=i[W+28>>2],k=i[W+24>>2],i[W+48>>2]=k,i[W+52>>2]=t,l[W+67|0]<0&&(G(i[W+56>>2]),k=i[W+48>>2]),t=i[W+36>>2],i[v>>2]=i[W+32>>2],i[v+4>>2]=t,i[v+8>>2]=i[W+40>>2];s:{if((k|0)==i[19564]){i[W+8>>2]=0,i[W+12>>2]=0,N8(W+24|0,W+16|0,1,3,W+8|0,0,L),t=i[W+24>>2],k=i[W+28>>2],i[W+24>>2]=0,i[W+28>>2]=0,o=i[W+20>>2],i[W+16>>2]=t,i[W+20>>2]=k;h:{if(!o||(k=i[o+4>>2],i[o+4>>2]=k-1,k||(V[i[i[o>>2]+8>>2]](o),g(o)),t=i[W+28>>2],!t)||(k=i[t+4>>2],i[t+4>>2]=k-1,k))break h;V[i[i[t>>2]+8>>2]](t),g(t)}t=i[W+12>>2];h:{if(!t||(k=i[t+4>>2],i[t+4>>2]=k-1,k))break h;V[i[i[t>>2]+8>>2]](t),g(t)}if(!i[W+16>>2]){l[W+24|0]=0,l[W+35|0]=0,r0(I,4,3003,W+24|0),l[W+35|0]<0&&G(i[W+24>>2]),h=0;break s}if(C=i[A>>2],k=i[W+88>>2]+(w<<3)|0,z=i[k>>2],Q0=i[k+4>>2],Y0=0,h0=B-16|0,B=h0,k=i[W+16>>2],I0=h0+8|0,i[h0+4>>2]=I0,i[h0+8>>2]=0,i[h0+12>>2]=0,q=W+24|0,t=i[k+60>>2],_=k- -64|0,(t|0)!=(_|0)){for(;;){Z=i[t+16>>2],h=I0,k=h,o=i[h0+8>>2];h:{w:{if(!o)break w;for(;;){if(k=o,o=i[k+16>>2],(o|0)>(Z|0)){if(h=k,o=i[k>>2],o)continue;break w}if((o|0)>=(Z|0))break h;if(o=i[k+4>>2],!o)break}h=k+4|0}o=U(20),i[o+8>>2]=k,i[o>>2]=0,i[o+4>>2]=0,i[o+16>>2]=Z,i[h>>2]=o,k=i[i[h0+4>>2]>>2],k&&(i[h0+4>>2]=k,o=i[h>>2]),D1(i[h0+8>>2],o),i[h0+12>>2]=i[h0+12>>2]+1}o=i[t+4>>2];h:{if(o){for(;;)if(k=o,o=i[k>>2],!o)break h}for(;k=i[t+8>>2],o=i[k>>2]!=(t|0),t=k,!!o;);}if(t=k,(k|0)==(_|0))break}k=i[W+16>>2]}Z=k- -64|0,k=i[k+64>>2];h:{w:{if(!k)break w;for(t=Z,o=k;h=i[o+16>>2]<6,t=h?t:o,o=i[(h<<2)+o>>2],!!o;);if((t|0)==(Z|0))break w;if(i[t+16>>2]<7)break h}t=Z}h:{if(!k)break h;for(o=Z;h=i[k+16>>2]<6,o=h?o:k,k=i[(h<<2)+k>>2],!!k;);if((o|0)==(Z|0)|i[o+16>>2]>6)break h;Y0=i[o+40>>2]}h:{w:{if(h=i[h0+4>>2],(I0|0)==(h|0)||(o=i[C+64>>2],!o))break w;for(X0=0-Q0|0,E=0-z|0,_=C- -64|0,R=(z|0)<=0,d=(z|0)>=0,f0=(t|0)!=(Z|0);;){_:{if(!o)break _;for(H=i[h+16>>2],t=_,k=o;Z=(H|0)>i[k+16>>2],t=Z?t:k,k=i[(Z<<2)+k>>2],!!k;);if((t|0)==(_|0)|(H|0)>2])break _;k=i[W+16>>2],Z=k- -64|0,C=Z;v:{Z:{if(t=i[k+64>>2],k=t,!k)break Z;for(;y=(H|0)>i[k+16>>2],C=y?C:k,k=i[(y<<2)+k>>2],!!k;);if((Z|0)==(C|0))break Z;if(F0=0,p=0,(H|0)>2])break v;F0=i[C+48>>2],p=i[C+40>>2];break v}F0=0,p=0}for(C=_,k=o;y=(H|0)>i[k+16>>2],C=y?C:k,k=i[(y<<2)+k>>2],!!k;);v:{if((_|0)==(C|0)){S=0,y=0;break v}if(S=0,y=0,(H|0)>2])break v;S=i[C+40>>2],y=i[C+48>>2]}C=Z,k=t;v:{if(!k){D=-1,A0=-1;break v}for(;J=(H|0)>i[k+16>>2],C=J?C:k,k=i[(J<<2)+k>>2],!!k;);for(D=-1,D=(Z|0)==(C|0)|(H|0)>2]?D:i[C+24>>2],k=Z;C=(H|0)>i[t+16>>2],k=C?k:t,t=i[(C<<2)+t>>2],!!t;);if(A0=-1,(k|0)==(Z|0)|(H|0)>2])break v;A0=i[k+28>>2]}for(t=_,k=o;Z=(H|0)>i[k+16>>2],t=Z?t:k,k=i[(Z<<2)+k>>2],!!k;);for(C=-1,C=(t|0)==(_|0)|(H|0)>2]?C:i[t+24>>2],k=_;t=(H|0)>i[o+16>>2],k=t?k:o,o=i[(t<<2)+o>>2],!!o;);if(t=-1,t=(k|0)==(_|0)|(H|0)>2]?t:i[k+28>>2],!(C>>>0>z>>>0|R)){if(k=i[19565],i[q>>2]=i[19564],i[q+4>>2]=k,t=q+8|0,l[78275]>=0){k=i[19567],i[t>>2]=i[19566],i[t+4>>2]=k,i[t+8>>2]=i[19568];break h}_0(t,i[19566],i[19567]);break h}if(o=0,d)k=z;else{if(E>>>0>=D>>>0){if(k=i[19565],i[q>>2]=i[19564],i[q+4>>2]=k,t=q+8|0,l[78275]>=0){k=i[19567],i[t>>2]=i[19566],i[t+4>>2]=k,i[t+8>>2]=i[19568];break h}_0(t,i[19566],i[19567]);break h}D=z+D|0,o=E,k=0}if(!((Q0|0)<=0|t>>>0>Q0>>>0)){if(k=i[19565],i[q>>2]=i[19564],i[q+4>>2]=k,t=q+8|0,l[78275]>=0){k=i[19567],i[t>>2]=i[19566],i[t+4>>2]=k,i[t+8>>2]=i[19568];break h}_0(t,i[19566],i[19567]);break h}if(J=0,(Q0|0)>=0)Z=Q0;else{if(A0>>>0<=X0>>>0){if(k=i[19565],i[q>>2]=i[19564],i[q+4>>2]=k,t=q+8|0,l[78275]>=0){k=i[19567],i[t>>2]=i[19566],i[t+4>>2]=k,i[t+8>>2]=i[19568];break h}_0(t,i[19566],i[19567]);break h}A0=A0+Q0|0,J=X0,Z=0}if(H=t-Q0|0,p0=Q0>>>0>(A0^-1)>>>0||A0+Q0>>>0>t>>>0?H:A0,p0>>>0<=J>>>0)break _;if(t=C-z|0,j=z>>>0>(D^-1)>>>0||z+D>>>0>C>>>0?t:D,A0=k+S|0,H=Z-J|0,!f0){for(t=j-o|0,k=o+p|0;l0(A0+m(y,J+H|0)|0,k+m(J,F0)|0,t),J=J+1|0,(p0|0)!=(J|0););break _}if(o>>>0>=j>>>0)break _;for(;;){for(S=m(J,F0)+o|0,C=A0+m(y,J+H|0)|0,k=o;t=k+C|0,D=t,S0=s[t|0],Z=k+S|0,t=s[Z+Y0|0],l[D|0]=(m(S0,t^255)+m(t,s[Z+p|0])>>>0)/255,k=k+1|0,(j|0)!=(k|0););if(J=J+1|0,(p0|0)==(J|0))break}}o=i[h+4>>2];_:{if(o){for(;;)if(k=o,o=i[k>>2],!o)break _}for(;k=i[h+8>>2],t=i[k>>2]!=(h|0),h=k,!!t;);}if((k|0)==(I0|0))break w;o=i[_>>2],h=k}}if(k=i[19565],i[q>>2]=i[19564],i[q+4>>2]=k,t=q+8|0,l[78275]>=0){k=i[19567],i[t>>2]=i[19566],i[t+4>>2]=k,i[t+8>>2]=i[19568];break h}_0(t,i[19566],i[19567])}if(j6(h0+4|0,i[h0+8>>2]),B=h0+16|0,t=i[W+28>>2],k=i[W+24>>2],i[W+48>>2]=k,i[W+52>>2]=t,l[W+67|0]<0&&(G(i[W+56>>2]),k=i[W+48>>2]),t=i[W+36>>2],i[v>>2]=i[W+32>>2],i[v+4>>2]=t,i[v+8>>2]=i[W+40>>2],h=1,!k)break s;if(!((k|0)!=2|i[W+52>>2]!=122)){if(k=i[19565],i[W+48>>2]=i[19564],i[W+52>>2]=k,t=l[78275],l[W+67|0]>=0){if((t|0)>=0){k=i[19567],i[v>>2]=i[19566],i[v+4>>2]=k,i[v+8>>2]=i[19568];break s}i4(v,i[19566],i[19567]);break s}k=(t|0)<0,_4(v,k?i[19566]:78264,k?i[19567]:t);break s}}k=i[W+52>>2],i[I>>2]=i[W+48>>2],i[I+4>>2]=k,i[I+16>>2]=i[v+8>>2],k=i[v+4>>2],i[I+8>>2]=i[v>>2],i[I+12>>2]=k,i[v>>2]=0,i[v+4>>2]=0,h=0,i[v+8>>2]=0}t=i[W+20>>2];s:{if(!t||(k=i[t+4>>2],i[t+4>>2]=k-1,k))break s;V[i[i[t>>2]+8>>2]](t),g(t)}if(!h)break u;if(w=w+1|0,h=i[W+100>>2],!(w>>>0>2]-h>>2>>>0))break}}k=i[W+52>>2],i[I>>2]=i[W+48>>2],i[I+4>>2]=k,i[I+16>>2]=i[v+8>>2],k=i[v+4>>2],i[I+8>>2]=i[v>>2],i[I+12>>2]=k,i[v>>2]=0,i[v+4>>2]=0,i[v+8>>2]=0}if(l[W+67|0]<0&&G(i[W+56>>2]),k=i[W+88>>2],k&&(i[W+92>>2]=k,G(k)),k=i[W+100>>2],!k)break o;i[W+104>>2]=k,G(k)}o:{if(!a||(k=i[a+4>>2],i[a+4>>2]=k-1,k))break o;V[i[i[a>>2]+8>>2]](a),g(a)}if(B=W+112|0,t=i[u+68>>2],k=i[u+64>>2],i[u+96>>2]=k,i[u+100>>2]=t,l[u+115|0]<0&&(G(i[u+104>>2]),k=i[u+96>>2]),t=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=t,i[u+112>>2]=i[u+80>>2],k)break k;if(k=i[u>>2],!k)break e;i[u+4>>2]=k,G(k);break e}if((s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))!=1768649581)break t;if(i[u+8>>2]=0,i[u>>2]=0,i[u+4>>2]=0,w8(u- -64|0,i[e+48>>2],r,u),t=i[u+68>>2],k=i[u+64>>2],i[u+96>>2]=k,i[u+100>>2]=t,l[u+115|0]<0&&(G(i[u+104>>2]),k=i[u+96>>2]),t=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=t,i[u+112>>2]=i[u+80>>2],k){k=x(98732,17113,12),A=B-16|0,B=A,r=A+12|0,e=i[(k+i[i[k>>2]-12>>2]|0)+28>>2],i[r>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(r,100192),e=V[i[i[e>>2]+28>>2]](e,10)|0,O0(r),D9(k,e),Ni(k),B=A+16|0;break A}y=u- -64|0,h=0,p=B+-64|0,B=p,i[p+60>>2]=0,i[p+52>>2]=0,i[p+56>>2]=0,k=i[e+48>>2],t=i[e+52>>2];o:{if(!t){I1(p+32|0,k,r,p+52|0);break o}if(i[t+4>>2]=i[t+4>>2]+1,I1(p+32|0,k,r,p+52|0),k=i[t+4>>2],i[t+4>>2]=k-1,k)break o;V[i[i[t>>2]+8>>2]](t),g(t)}o:{if(i[p+32>>2]){k=i[p+36>>2],i[y>>2]=i[p+32>>2],i[y+4>>2]=k,i[y+16>>2]=i[p+48>>2],k=i[p+44>>2],i[y+8>>2]=i[p+40>>2],i[y+12>>2]=k,i[p+48>>2]=0,i[p+40>>2]=0,i[p+44>>2]=0;break o}u:{l:{if(D=i[p+52>>2],Z=i[p+56>>2],(D|0)!=(Z|0)){for(t=0;;){if(h0=i[D>>2],h0){w=0;s:{h:{if(k=N0(h0,68572,68596),!k)break h;if(w=i[D+4>>2],w&&(i[w+4>>2]=i[w+4>>2]+1),Y0=i[k+56>>2],C=i[k+60>>2],l6(p+8|0,e,Y0,C),o=i[p+12>>2],k=i[p+8>>2],i[p+32>>2]=k,i[p+36>>2]=o,l[p+51|0]<0&&(G(i[p+40>>2]),k=i[p+32>>2]),o=i[p+20>>2],i[p+40>>2]=i[p+16>>2],i[p+44>>2]=o,i[p+48>>2]=i[p+24>>2],k){k=i[p+36>>2],i[y>>2]=i[p+32>>2],i[y+4>>2]=k,i[y+16>>2]=i[p+48>>2],k=i[p+44>>2],i[y+8>>2]=i[p+40>>2],i[y+12>>2]=k,i[p+40>>2]=0,i[p+44>>2]=0,_=0,i[p+48>>2]=0;break s}if(E=1,h0=i[D>>2],h0)break h;_=1;break s}if(_=1,k=N0(h0,68572,75128),!k)break s;o=i[D+4>>2],o&&(i[o+4>>2]=i[o+4>>2]+2);h:{if(!h||(t=i[h+4>>2],i[h+4>>2]=t-1,t))break h;V[i[i[h>>2]+8>>2]](h),g(h)}if(!o){h=0,t=k;break s}t=i[o+4>>2],i[o+4>>2]=t-1,t||(V[i[i[o>>2]+8>>2]](o),g(o)),t=k,h=o}s:{if(!w||(k=i[w+4>>2],i[w+4>>2]=k-1,k))break s;V[i[i[w>>2]+8>>2]](w),g(w)}if(!_)break u}if(D=D+8|0,(Z|0)==(D|0))break}if((t|0)!=0&E)break l}if(o=U(40),i[p+8>>2]=o,i[p+12>>2]=35,i[p+16>>2]=-2147483608,t=s[13840]|s[13841]<<8|(s[13842]<<16|s[13843]<<24),k=s[13836]|s[13837]<<8|(s[13838]<<16|s[13839]<<24),l[o|0]=k,l[o+1|0]=k>>>8,l[o+2|0]=k>>>16,l[o+3|0]=k>>>24,l[o+4|0]=t,l[o+5|0]=t>>>8,l[o+6|0]=t>>>16,l[o+7|0]=t>>>24,l[o+35|0]=0,k=s[13867]|s[13868]<<8|(s[13869]<<16|s[13870]<<24),l[o+31|0]=k,l[o+32|0]=k>>>8,l[o+33|0]=k>>>16,l[o+34|0]=k>>>24,t=s[13864]|s[13865]<<8|(s[13866]<<16|s[13867]<<24),k=s[13860]|s[13861]<<8|(s[13862]<<16|s[13863]<<24),l[o+24|0]=k,l[o+25|0]=k>>>8,l[o+26|0]=k>>>16,l[o+27|0]=k>>>24,l[o+28|0]=t,l[o+29|0]=t>>>8,l[o+30|0]=t>>>16,l[o+31|0]=t>>>24,t=s[13856]|s[13857]<<8|(s[13858]<<16|s[13859]<<24),k=s[13852]|s[13853]<<8|(s[13854]<<16|s[13855]<<24),l[o+16|0]=k,l[o+17|0]=k>>>8,l[o+18|0]=k>>>16,l[o+19|0]=k>>>24,l[o+20|0]=t,l[o+21|0]=t>>>8,l[o+22|0]=t>>>16,l[o+23|0]=t>>>24,t=s[13848]|s[13849]<<8|(s[13850]<<16|s[13851]<<24),k=s[13844]|s[13845]<<8|(s[13846]<<16|s[13847]<<24),l[o+8|0]=k,l[o+9|0]=k>>>8,l[o+10|0]=k>>>16,l[o+11|0]=k>>>24,l[o+12|0]=t,l[o+13|0]=t>>>8,l[o+14|0]=t>>>16,l[o+15|0]=t>>>24,r0(y,4,3002,p+8|0),l[p+19|0]>=0)break u;G(i[p+8>>2]);break u}l:switch(s[t+56|0]-8|0){default:if(k=C1(p+8|0,7329),r0(y,4,3002,k),l[k+11|0]>=0)break u;G(i[k>>2]);break u;case 0:case 8:break l}if(i[u+4>>2]-i[u>>2]>>>0>>0){if(o=U(32),i[p+8>>2]=o,i[p+12>>2]=28,i[p+16>>2]=-2147483616,t=s[2982]|s[2983]<<8|(s[2984]<<16|s[2985]<<24),k=s[2978]|s[2979]<<8|(s[2980]<<16|s[2981]<<24),l[o|0]=k,l[o+1|0]=k>>>8,l[o+2|0]=k>>>16,l[o+3|0]=k>>>24,l[o+4|0]=t,l[o+5|0]=t>>>8,l[o+6|0]=t>>>16,l[o+7|0]=t>>>24,l[o+28|0]=0,k=s[3002]|s[3003]<<8|(s[3004]<<16|s[3005]<<24),l[o+24|0]=k,l[o+25|0]=k>>>8,l[o+26|0]=k>>>16,l[o+27|0]=k>>>24,t=s[2998]|s[2999]<<8|(s[3e3]<<16|s[3001]<<24),k=s[2994]|s[2995]<<8|(s[2996]<<16|s[2997]<<24),l[o+16|0]=k,l[o+17|0]=k>>>8,l[o+18|0]=k>>>16,l[o+19|0]=k>>>24,l[o+20|0]=t,l[o+21|0]=t>>>8,l[o+22|0]=t>>>16,l[o+23|0]=t>>>24,t=s[2990]|s[2991]<<8|(s[2992]<<16|s[2993]<<24),k=s[2986]|s[2987]<<8|(s[2988]<<16|s[2989]<<24),l[o+8|0]=k,l[o+9|0]=k>>>8,l[o+10|0]=k>>>16,l[o+11|0]=k>>>24,l[o+12|0]=t,l[o+13|0]=t>>>8,l[o+14|0]=t>>>16,l[o+15|0]=t>>>24,r0(y,2,0,p+8|0),l[p+19|0]>=0)break u;G(i[p+8>>2]);break u}k=U(136),i[k+4>>2]=0,i[k+8>>2]=0,i[k>>2]=72792,B0(k+20|0,0,104),_=i[k+4>>2],w=_+1|0,i[k+4>>2]=w,i[k+56>>2]=0,i[k+60>>2]=0,i[k+44>>2]=99,i[k+48>>2]=99,i[k+32>>2]=3795,o=k- -64|0,i[o>>2]=0,i[o+4>>2]=0,i[k+132>>2]=0,i[k+124>>2]=0,i[k+128>>2]=0,i[k+84>>2]=1,i[k+88>>2]=1,i[k+72>>2]=k+76,i[k+92>>2]=0,i[k+96>>2]=0,i[k+100>>2]=0,i[k+104>>2]=0,i[k+108>>2]=0,i[k+112>>2]=0,l[k+113|0]=0,l[k+114|0]=0,l[k+115|0]=0,l[k+116|0]=0,l[k+117|0]=0,l[k+118|0]=0,l[k+119|0]=0,l[k+120|0]=0,o=k+12|0,i[k+12>>2]=o,i[k+8>>2]=i[k+8>>2]+1,i[k+4>>2]=_,i[k+16>>2]=k,w||(V[i[i[k>>2]+8>>2]](k),g(k)),i[A>>2]=o,o=i[A+4>>2],i[A+4>>2]=k;l:{if(!o||(k=i[o+4>>2],i[o+4>>2]=k-1,k))break l;V[i[i[o>>2]+8>>2]](o),g(o)}k=i[A>>2],i[k+36>>2]=0,i[k+32>>2]=2,i[k+28>>2]=C,i[k+24>>2]=Y0,J0(i[A>>2],0,Y0,C,s[t+56|0]),o=v0(i[A>>2],0,p+8|0);l:{if(i[p+8>>2]!=(Y0|0)){if(!C)break l;if(D=0,(C|0)!=1)for(t=C&-2,h0=0;l0(o+m(i[p+8>>2],D)|0,i[u>>2]+m(D,Y0)|0,Y0),k=D|1,l0(o+m(k,i[p+8>>2])|0,i[u>>2]+m(k,Y0)|0,Y0),D=D+2|0,h0=h0+2|0,(t|0)!=(h0|0););if(!(C&1))break l;l0(o+m(i[p+8>>2],D)|0,i[u>>2]+m(D,Y0)|0,Y0);break l}k=i[u>>2],l0(o,k,i[u+4>>2]-k|0)}if(k=i[19565],i[y>>2]=i[19564],i[y+4>>2]=k,t=y+8|0,l[78275]>=0){k=i[19567],i[t>>2]=i[19566],i[t+4>>2]=k,i[t+8>>2]=i[19568];break u}_0(t,i[19566],i[19567])}if(!h||(k=i[h+4>>2],i[h+4>>2]=k-1,k))break o;V[i[i[h>>2]+8>>2]](h),g(h)}if(l[p+51|0]<0&&G(i[p+40>>2]),k=i[p+52>>2],k){if(D=i[p+56>>2],w=k,(D|0)!=(k|0)){for(;;){o=i[D-4>>2];o:{if(!o||(t=i[o+4>>2],i[o+4>>2]=t-1,t))break o;V[i[i[o>>2]+8>>2]](o),g(o)}if(D=D-8|0,(k|0)==(D|0))break}w=i[p+52>>2]}i[p+56>>2]=k,G(w)}if(B=p- -64|0,t=i[u+68>>2],k=i[u+64>>2],i[u+96>>2]=k,i[u+100>>2]=t,l[u+115|0]<0&&(G(i[u+104>>2]),k=i[u+96>>2]),t=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=t,i[u+112>>2]=i[u+80>>2],k)break A;if(k=i[u>>2],!k)break e;i[u+4>>2]=k,G(k);break e}if(e=f,f=C1(u- -64|0,31341),r0(e,4,3001,f),l[f+11|0]>=0)break r;G(i[f>>2]);break r}if(e=i[u+100>>2],i[f>>2]=i[u+96>>2],i[f+4>>2]=e,i[f+16>>2]=i[u+112>>2],e=i[u+108>>2],i[f+8>>2]=i[u+104>>2],i[f+12>>2]=e,i[u+104>>2]=0,i[u+108>>2]=0,i[u+112>>2]=0,f=i[u>>2],!f)break r;i[u+4>>2]=f,G(f);break r}if(e=i[u+100>>2],i[f>>2]=i[u+96>>2],i[f+4>>2]=e,i[f+16>>2]=i[u+112>>2],e=i[u+108>>2],i[f+8>>2]=i[u+104>>2],i[f+12>>2]=e,i[u+104>>2]=0,i[u+108>>2]=0,i[u+112>>2]=0,f=i[u>>2],!f)break r;i[u+4>>2]=f,G(f);break r}c2(),P()}if(e=i[u+100>>2],i[f>>2]=i[u+96>>2],i[f+4>>2]=e,i[f+16>>2]=i[u+112>>2],e=i[u+108>>2],i[f+8>>2]=i[u+104>>2],i[f+12>>2]=e,i[u+104>>2]=0,i[u+108>>2]=0,i[u+112>>2]=0,f=i[u>>2],!f)break r;i[u+4>>2]=f,G(f);break r}e:{if(!s[n+1|0]){if(i[u+8>>2]=0,i[u>>2]=0,i[u+4>>2]=0,t=i[e+48>>2],k=i[t+44>>2],i[u+48>>2]=k,o=i[t+48>>2],i[u+52>>2]=o,o&&(i[o+4>>2]=i[o+4>>2]+1,t=i[e+48>>2]),i[u+36>>2]=i[t+52>>2],t=i[t+56>>2],i[u+40>>2]=t,t&&(i[t+4>>2]=i[t+4>>2]+1),ii(u- -64|0,k,r,u+36|0,u),k=i[u+68>>2],i[u+96>>2]=i[u+64>>2],i[u+100>>2]=k,l[u+115|0]<0&&G(i[u+104>>2]),k=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=k,i[u+112>>2]=i[u+80>>2],t=i[u>>2],Q0=i[u+4>>2],(t|0)!=(Q0|0))for(;;){if(k=i[t>>2],w=i[k+16>>2],(w|0)==1769107316){w=0,o=N0(k,68572,69472);A:{if(!o||(k=i[t+4>>2],!k))break A;i[k+4>>2]=i[k+4>>2]+1,w=k}i[u+28>>2]=0,i[u+32>>2]=0,L=u- -64|0,p0=i[A>>2];A:{f:{k:{n:{t:{o:{if(A0=i[o+48>>2],!A0){if(k=i[p0+4>>2],!k)break o;for(o=i[p0>>2],C=B-16|0,B=C,h=i[k+4>>2],i[C+12>>2]=h;;){u:{if((h|0)==-1){k=0;break u}if(_=i[k+4>>2],Z=(_|0)==i[C+12>>2],i[k+4>>2]=Z?h+1|0:_,Z||(i[C+12>>2]=_),Z)break u;h=i[C+12>>2];continue}break}if(B=C+16|0,!k)break o;i[u+28>>2]=o,o=i[u+32>>2],i[u+32>>2]=k;u:{if(!o||(k=i[o+4>>2],i[o+4>>2]=k-1,k))break u;V[i[i[o>>2]+8>>2]](o),g(o)}if(k=i[19565],i[L>>2]=i[19564],i[L+4>>2]=k,k=L+8|0,l[78275]<0)break t;break f}k=i[p0+28>>2],o=i[p0+24>>2];u:{if(!((A0|0)==270|(A0|0)==90)){h=o,o=k;break u}h=k}k=U(136),i[k+4>>2]=0,i[k+8>>2]=0,i[k>>2]=72792,B0(k+20|0,0,104),C=i[k+4>>2],Z=C+1|0,i[k+4>>2]=Z,i[k+56>>2]=0,i[k+60>>2]=0,i[k+44>>2]=99,i[k+48>>2]=99,i[k+32>>2]=3795,_=k- -64|0,i[_>>2]=0,i[_+4>>2]=0,i[k+132>>2]=0,i[k+124>>2]=0,i[k+128>>2]=0,i[k+84>>2]=1,i[k+88>>2]=1,i[k+72>>2]=k+76,i[k+92>>2]=0,i[k+96>>2]=0,i[k+100>>2]=0,i[k+104>>2]=0,i[k+108>>2]=0,i[k+112>>2]=0,l[k+113|0]=0,l[k+114|0]=0,l[k+115|0]=0,l[k+116|0]=0,l[k+117|0]=0,l[k+118|0]=0,l[k+119|0]=0,l[k+120|0]=0,_=k+12|0,i[k+12>>2]=_,i[k+8>>2]=i[k+8>>2]+1,i[k+4>>2]=C,i[k+16>>2]=k,Z||(V[i[i[k>>2]+8>>2]](k),g(k)),i[u+28>>2]=_,_=i[u+32>>2],i[u+32>>2]=k;u:{if(!_||(k=i[_+4>>2],i[_+4>>2]=k-1,k))break u;V[i[i[_>>2]+8>>2]](_),g(_)}if(Z=i[p0+32>>2],_=i[p0+36>>2],k=i[u+28>>2],i[k+28>>2]=o,i[k+32>>2]=Z,i[k+36>>2]=_,i[k+24>>2]=h,_=i[p0+60>>2],I0=p0- -64|0,(_|0)==(I0|0))break k;for(X0=(A0|0)==270,S=(A0|0)!=180,f0=(A0|0)!=90;;){h=i[_+28>>2],k=i[_+24>>2];u:{if(!(!f0|X0)){o=k,k=h;break u}o=h}C=i[_+16>>2],J0(i[u+28>>2],C,o,k,s[_+20|0]),k=i[u+28>>2],Z=k- -64|0,o=Z;u:{l:{if(k=i[k+64>>2],!k)break l;for(;h=(C|0)>i[k+16>>2],o=h?o:k,k=i[(h<<2)+k>>2],!!k;);if((o|0)==(Z|0))break l;if(E=0,k=0,(C|0)>2])break u;E=i[o+40>>2],k=i[o+48>>2];break u}E=0,k=0}o=k,R=i[_+40>>2],d=i[_+48>>2],j=i[_+28>>2],a=i[_+24>>2];u:{l:{if(s[_+20|0]==8){if((A0|0)!=270)break l;if((j|0)<=0)break u;for(C=a&2147483644,y=a&3,h0=0,Z=a-1>>>0>2;;){s:{if((a|0)<=0)break s;if(z=E+h0|0,p=R+m(d,j+(h0^-1)|0)|0,J=0,k=0,D=0,Z)for(;l[z+m(k,o)|0]=s[k+p|0],h=k|1,l[z+m(h,o)|0]=s[h+p|0],h=k|2,l[z+m(h,o)|0]=s[h+p|0],h=k|3,l[z+m(h,o)|0]=s[h+p|0],k=k+4|0,D=D+4|0,(C|0)!=(D|0););if(!y)break s;for(;l[z+m(k,o)|0]=s[k+p|0],k=k+1|0,J=J+1|0,(y|0)!=(J|0););}if(h0=h0+1|0,(j|0)==(h0|0))break}break u}if((A0|0)==270){if((j|0)<=0|(a|0)<=0)break u;for(p=a&2147483646,y=a&1,h=0;;){if(H=(h<<1)+E|0,z=R+m(d,j+(h^-1)|0)|0,k=0,J=0,(a|0)!=1)for(;C=H+m(k,o)|0,Z=z+(k<<1)|0,l[C|0]=s[Z|0],l[C+1|0]=s[Z+1|0],Z=k|1,C=H+m(Z,o)|0,Z=z+(Z<<1)|0,l[C|0]=s[Z|0],l[C+1|0]=s[Z+1|0],k=k+2|0,J=J+2|0,(p|0)!=(J|0););if(y&&(Z=H+m(k,o)|0,k=z+(k<<1)|0,l[Z|0]=s[k|0],l[Z+1|0]=s[k+1|0]),h=h+1|0,(j|0)==(h|0))break}break u}if(!S){if((j|0)<=0|(a|0)<=0)break u;for(y=a&2147483646,C=a&1,h=0;;){if(p=m(o,h)+E|0,H=R+m(d,j+(h^-1)|0)|0,k=0,J=0,(a|0)!=1)for(;z=p+(k<<1)|0,Z=H+(a+(k^-1)<<1)|0,l[z|0]=s[Z|0],l[z+1|0]=s[Z+1|0],Z=H+(a+(k^2147483646)<<1)|0,l[z+2|0]=s[Z|0],l[z+3|0]=s[Z+1|0],k=k+2|0,J=J+2|0,(y|0)!=(J|0););if(C&&(Z=p+(k<<1)|0,k=H+(a+(k^-1)<<1)|0,l[Z|0]=s[k|0],l[Z+1|0]=s[k+1|0]),h=h+1|0,(j|0)==(h|0))break}break u}if((j|0)<=0|f0|(a|0)<=0)break u;for(p=a&2147483646,y=a&1,h=0;;){if(H=(h<<1)+E|0,z=R+m(h,d)|0,k=0,J=0,(a|0)!=1)for(;C=H+m(k,o)|0,Z=z+(a+(k^-1)<<1)|0,l[C|0]=s[Z|0],l[C+1|0]=s[Z+1|0],C=H+m(o,k|1)|0,Z=z+(a+(k^2147483646)<<1)|0,l[C|0]=s[Z|0],l[C+1|0]=s[Z+1|0],k=k+2|0,J=J+2|0,(p|0)!=(J|0););if(y&&(Z=H+m(k,o)|0,k=z+(a+(k^-1)<<1)|0,l[Z|0]=s[k|0],l[Z+1|0]=s[k+1|0]),h=h+1|0,(j|0)==(h|0))break}break u}if(!S){if((j|0)<=0|(a|0)<=0)break u;for(y=R+a|0,C=a&2147483644,z=a&3,D=0,Z=a-1>>>0<3;;){if(p=m(o,D)+E|0,H=y+m(d,j+(D^-1)|0)|0,k=0,J=0,!Z)for(;h=k+p|0,l[h|0]=s[H+(k^-1)|0],l[h+1|0]=s[H+(k^-2)|0],l[h+2|0]=s[H+(k^-3)|0],l[h+3|0]=s[H+(k^-4)|0],k=k+4|0,J=J+4|0,(C|0)!=(J|0););if(h=0,z)for(;l[k+p|0]=s[H+(k^-1)|0],k=k+1|0,h=h+1|0,(z|0)!=(h|0););if(D=D+1|0,(j|0)==(D|0))break}break u}if((j|0)<=0|f0)break u;for(y=a&2147483644,p=a&3,C=R+a|0,h=0,Z=a-1>>>0>2;;){l:{if((a|0)<=0)break l;if(H=h+E|0,z=C+m(h,d)|0,J=0,k=0,D=0,Z)for(;l[H+m(k,o)|0]=s[z+(k^-1)|0],l[H+m(o,k|1)|0]=s[z+(k^-2)|0],l[H+m(o,k|2)|0]=s[z+(k^-3)|0],l[H+m(o,k|3)|0]=s[z+(k^-4)|0],k=k+4|0,D=D+4|0,(y|0)!=(D|0););if(!p)break l;for(;l[H+m(k,o)|0]=s[z+(k^-1)|0],k=k+1|0,J=J+1|0,(p|0)!=(J|0););}if(h=h+1|0,(j|0)==(h|0))break}}o=i[_+4>>2];u:{if(o){for(;;)if(k=o,o=i[k>>2],!o)break u}for(;k=i[_+8>>2],o=i[k>>2]!=(_|0),_=k,!!o;);}if(_=k,(k|0)==(I0|0))break}break n}f=Ne(4),i[f>>2]=67064,wr(f|0,67100,407),P()}_0(k,i[19566],i[19567]);break A}k=i[u+28>>2]}o=i[p0+44>>2],h=i[p0+48>>2],h&&(i[h+4>>2]=i[h+4>>2]+1),i[k+44>>2]=o,o=i[k+48>>2],i[k+48>>2]=h;k:{if(!o||(k=i[o+4>>2],i[o+4>>2]=k-1,k))break k;V[i[i[o>>2]+8>>2]](o),g(o)}k=i[p0+52>>2],h=i[u+28>>2],o=i[p0+56>>2],o&&(i[o+4>>2]=i[o+4>>2]+1),i[h+52>>2]=k,_=i[h+56>>2],i[h+56>>2]=o;k:{if(!_||(k=i[_+4>>2],i[_+4>>2]=k-1,k))break k;V[i[i[_>>2]+8>>2]](_),g(_)}if(k=i[19565],i[L>>2]=i[19564],i[L+4>>2]=k,k=L+8|0,l[78275]>=0)break f;_0(k,i[19566],i[19567]);break A}o=i[19567],i[k>>2]=i[19566],i[k+4>>2]=o,i[k+8>>2]=i[19568]}o=i[u+68>>2],k=i[u+64>>2],i[u+96>>2]=k,i[u+100>>2]=o,l[u+115|0]<0&&(G(i[u+104>>2]),k=i[u+96>>2]),o=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=o,i[u+112>>2]=i[u+80>>2];A:{if(k){o=i[u+100>>2],i[f>>2]=i[u+96>>2],i[f+4>>2]=o,i[f+16>>2]=i[u+112>>2],o=i[u+108>>2],i[f+8>>2]=i[u+104>>2],i[f+12>>2]=o,i[u+104>>2]=0,i[u+108>>2]=0,i[u+112>>2]=0;break A}if(o=i[u+32>>2],o&&(i[o+4>>2]=i[o+4>>2]+1),i[A>>2]=i[u+28>>2],h=i[A+4>>2],i[A+4>>2]=o,!h||(o=i[h+4>>2],i[h+4>>2]=o-1,o))break A;V[i[i[h>>2]+8>>2]](h),g(h)}h=i[u+32>>2];A:{if(!h||(o=i[h+4>>2],i[h+4>>2]=o-1,o))break A;V[i[i[h>>2]+8>>2]](h),g(h)}A:{if(!w||(o=i[w+4>>2],i[w+4>>2]=o-1,o))break A;V[i[i[w>>2]+8>>2]](w),g(w)}if(k)break e;k=i[t>>2],w=i[k+16>>2]}if((w|0)==1768778098){k=N0(k,68572,69532);A:{f:{if(k){if(i[u+28>>2]=k,w=i[t+4>>2],i[u+32>>2]=w,!w)break f;i[w+4>>2]=i[w+4>>2]+1;break A}i[u+28>>2]=0,i[u+32>>2]=0}w=0}R=u- -64|0,h=i[k+48>>2],L=B-16|0,B=L;A:{f:{k=i[A>>2],o=i[k+60>>2],H=k- -64|0;k:{if((o|0)==(H|0))break k;if((h|0)==1)for(;;){if(s[o+20|0]!=8)break f;I0=i[o+28>>2];n:{if((I0|0)<=0||(d=i[o+24>>2],(d|0)<2))break n;for(X0=i[o+40>>2],E=i[o+48>>2],k=(d|0)/2|0,p=k&1073741822,y=k&1,J=0,C=(d&2147483646)==2;;){if(z=X0+m(E,J)|0,f0=z+d|0,k=0,h=0,!C)for(;S=k+z|0,Z=s[S|0],_=f0+(k^-1)|0,l[S|0]=s[_|0],l[_|0]=Z,Z=s[S+1|0],_=f0+(k^-2)|0,l[S+1|0]=s[_|0],l[_|0]=Z,k=k+2|0,h=h+2|0,(p|0)!=(h|0););if(y&&(_=k+z|0,h=s[_|0],k=f0+(k^-1)|0,l[_|0]=s[k|0],l[k|0]=h),J=J+1|0,(I0|0)==(J|0))break}}h=i[o+4>>2];n:{if(!h){for(;;)if(k=i[o+8>>2],h=i[k>>2]!=(o|0),o=k,!h)break n}for(;k=h,h=i[k>>2],!!h;);}if(o=k,(k|0)==(H|0))break k}for(;;){if(s[o+20|0]!=8)break f;S=i[o+28>>2],E=(S|0)/2|0;n:{if((S|0)<2||(k=i[o+24>>2],(k|0)<=0))break n;for(z=i[o+40>>2],I0=i[o+48>>2],p=k&2147483644,X0=k&3,D=0,y=k>>>0<4;;){if(f0=z+m(D,I0)|0,J=z+m(I0,S+(D^-1)|0)|0,k=0,h=0,!y)for(;_=k+f0|0,Z=s[_|0],C=_,_=k+J|0,l[C|0]=s[_|0],l[_|0]=Z,C=k|1,_=C+f0|0,Z=s[_|0],A0=_,_=C+J|0,l[A0|0]=s[_|0],l[_|0]=Z,C=k|2,_=C+f0|0,Z=s[_|0],A0=_,_=C+J|0,l[A0|0]=s[_|0],l[_|0]=Z,C=k|3,_=C+f0|0,Z=s[_|0],A0=_,_=C+J|0,l[A0|0]=s[_|0],l[_|0]=Z,k=k+4|0,h=h+4|0,(p|0)!=(h|0););if(h=0,X0)for(;_=k+f0|0,Z=s[_|0],C=_,_=k+J|0,l[C|0]=s[_|0],l[_|0]=Z,k=k+1|0,h=h+1|0,(X0|0)!=(h|0););if(D=D+1|0,(E|0)==(D|0))break}}h=i[o+4>>2];n:{if(h){for(;;)if(k=h,h=i[k>>2],!h)break n}for(;k=i[o+8>>2],h=i[k>>2]!=(o|0),o=k,!!h;);}if(o=k,(k|0)==(H|0))break}}if(k=i[19565],i[R>>2]=i[19564],i[R+4>>2]=k,o=R+8|0,l[78275]>=0){k=i[19567],i[o>>2]=i[19566],i[o+4>>2]=k,i[o+8>>2]=i[19568];break A}_0(o,i[19566],i[19567]);break A}if(h=U(56),i[L+4>>2]=h,i[L+8>>2]=54,i[L+12>>2]=-2147483592,o=s[7592]|s[7593]<<8|(s[7594]<<16|s[7595]<<24),k=s[7588]|s[7589]<<8|(s[7590]<<16|s[7591]<<24),l[h|0]=k,l[h+1|0]=k>>>8,l[h+2|0]=k>>>16,l[h+3|0]=k>>>24,l[h+4|0]=o,l[h+5|0]=o>>>8,l[h+6|0]=o>>>16,l[h+7|0]=o>>>24,l[h+54|0]=0,o=s[7638]|s[7639]<<8|(s[7640]<<16|s[7641]<<24),k=s[7634]|s[7635]<<8|(s[7636]<<16|s[7637]<<24),l[h+46|0]=k,l[h+47|0]=k>>>8,l[h+48|0]=k>>>16,l[h+49|0]=k>>>24,l[h+50|0]=o,l[h+51|0]=o>>>8,l[h+52|0]=o>>>16,l[h+53|0]=o>>>24,o=s[7632]|s[7633]<<8|(s[7634]<<16|s[7635]<<24),k=s[7628]|s[7629]<<8|(s[7630]<<16|s[7631]<<24),l[h+40|0]=k,l[h+41|0]=k>>>8,l[h+42|0]=k>>>16,l[h+43|0]=k>>>24,l[h+44|0]=o,l[h+45|0]=o>>>8,l[h+46|0]=o>>>16,l[h+47|0]=o>>>24,o=s[7624]|s[7625]<<8|(s[7626]<<16|s[7627]<<24),k=s[7620]|s[7621]<<8|(s[7622]<<16|s[7623]<<24),l[h+32|0]=k,l[h+33|0]=k>>>8,l[h+34|0]=k>>>16,l[h+35|0]=k>>>24,l[h+36|0]=o,l[h+37|0]=o>>>8,l[h+38|0]=o>>>16,l[h+39|0]=o>>>24,o=s[7616]|s[7617]<<8|(s[7618]<<16|s[7619]<<24),k=s[7612]|s[7613]<<8|(s[7614]<<16|s[7615]<<24),l[h+24|0]=k,l[h+25|0]=k>>>8,l[h+26|0]=k>>>16,l[h+27|0]=k>>>24,l[h+28|0]=o,l[h+29|0]=o>>>8,l[h+30|0]=o>>>16,l[h+31|0]=o>>>24,o=s[7608]|s[7609]<<8|(s[7610]<<16|s[7611]<<24),k=s[7604]|s[7605]<<8|(s[7606]<<16|s[7607]<<24),l[h+16|0]=k,l[h+17|0]=k>>>8,l[h+18|0]=k>>>16,l[h+19|0]=k>>>24,l[h+20|0]=o,l[h+21|0]=o>>>8,l[h+22|0]=o>>>16,l[h+23|0]=o>>>24,o=s[7600]|s[7601]<<8|(s[7602]<<16|s[7603]<<24),k=s[7596]|s[7597]<<8|(s[7598]<<16|s[7599]<<24),l[h+8|0]=k,l[h+9|0]=k>>>8,l[h+10|0]=k>>>16,l[h+11|0]=k>>>24,l[h+12|0]=o,l[h+13|0]=o>>>8,l[h+14|0]=o>>>16,l[h+15|0]=o>>>24,r0(R,4,0,L+4|0),l[L+15|0]>=0)break A;G(i[L+4>>2])}if(B=L+16|0,o=i[u+68>>2],k=i[u+64>>2],i[u+96>>2]=k,i[u+100>>2]=o,l[u+115|0]<0&&(G(i[u+104>>2]),k=i[u+96>>2]),o=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=o,i[u+112>>2]=i[u+80>>2],k){e=i[u+100>>2],i[f>>2]=i[u+96>>2],i[f+4>>2]=e,i[f+16>>2]=i[u+112>>2],e=i[u+108>>2],i[f+8>>2]=i[u+104>>2],i[f+12>>2]=e,i[u+104>>2]=0,i[u+108>>2]=0,i[u+112>>2]=0,v1(u+28|0);break e}A:{if(!w||(k=i[w+4>>2],i[w+4>>2]=k-1,k))break A;V[i[i[w>>2]+8>>2]](w),g(w)}k=i[t>>2],w=i[k+16>>2]}if((w|0)==1668047216){o=0,y=N0(k,68572,69592);A:{if(!y||(k=i[t+4>>2],!k))break A;i[k+4>>2]=i[k+4>>2]+1,o=k}k=i[A>>2],C=i[k+28>>2],Z=i[k+24>>2],_=Ir(y,Z),w=Ln(y,Z),h=Vr(y,C),k=Kn(y,C);A:{f:{if(_=(_|0)>0?_:0,w=(w|0)<(Z|0)?w:Z-1|0,(_|0)<=(w|0)&&(h=(h|0)>0?h:0,k=(k|0)<(C|0)?k:C-1|0,(h|0)<=(k|0)))break f;l[u+64|0]=0,l[u+75|0]=0,r0(f,2,120,u- -64|0),l[u+75|0]<0&&G(i[u+64>>2]),w=1;break A}i[u+28>>2]=0,i[u+32>>2]=0,Mk(u- -64|0,i[A>>2],_,w,h,k,u+28|0),h=i[u+68>>2],k=i[u+64>>2],i[u+96>>2]=k,i[u+100>>2]=h,l[u+115|0]<0&&(G(i[u+104>>2]),k=i[u+96>>2]),h=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=h,i[u+112>>2]=i[u+80>>2];f:{if(k){k=i[u+100>>2],i[f>>2]=i[u+96>>2],i[f+4>>2]=k,i[f+16>>2]=i[u+112>>2],k=i[u+108>>2],i[f+8>>2]=i[u+104>>2],i[f+12>>2]=k,i[u+104>>2]=0,i[u+108>>2]=0,i[u+112>>2]=0,w=1;break f}if(k=i[u+32>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),i[A>>2]=i[u+28>>2],h=i[A+4>>2],i[A+4>>2]=k,w=0,!h||(k=i[h+4>>2],i[h+4>>2]=k-1,k))break f;V[i[i[h>>2]+8>>2]](h),g(h)}if(h=i[u+32>>2],!h||(k=i[h+4>>2],i[h+4>>2]=k-1,k))break A;V[i[i[h>>2]+8>>2]](h),g(h)}A:{if(!o||(k=i[o+4>>2],i[o+4>>2]=k-1,k))break A;V[i[i[o>>2]+8>>2]](o),g(o)}if(w)break e}if(t=t+8|0,(Q0|0)==(t|0))break}v1(u+36|0),v1(u+48|0),_3(u)}A:{f:{k:{n:{k=i[n0>>2];t:{if(!k)break t;for(w=n0,t=k;o=k0[t+16>>2]>>0,w=o?w:t,t=i[(o<<2)+t>>2],!!t;);if((w|0)==(n0|0)|k0[w+16>>2]>r>>>0)break t;for(t=n0;o=k0[k+16>>2]>>0,t=o?t:k,k=i[(o<<2)+k>>2],!!k;);if(t=(t|0)!=(n0|0)&k0[t+16>>2]<=r>>>0?t:n0,C=i[t+20>>2],p=i[t+24>>2],p&&(i[p+4>>2]=i[p+4>>2]+1),h=i[C+52>>2],y=i[C+56>>2],y&&(i[y+4>>2]=i[y+4>>2]+1),h){if(i[u+48>>2]=0,i[u+52>>2]=0,f6(u- -64|0,e,i[h+20>>2],u+48|0,99,n,1),i[u+64>>2]){e=i[u+68>>2],i[f>>2]=i[u+64>>2],i[f+4>>2]=e,i[f+16>>2]=i[u+80>>2],e=i[u+76>>2],i[f+8>>2]=i[u+72>>2],i[f+12>>2]=e,i[u+80>>2]=0,i[u+72>>2]=0,i[u+76>>2]=0;break k}if(o=i[u+48>>2],k=i[o+32>>2],k>>>0>=3){if(e=f,f=C1(u,31341),r0(e,2,3003,f),l[f+11|0]>=0)break k;G(i[f>>2]);break k}n0=i[(k<<2)+35180>>2],n=i[A>>2],k=i[n+24>>2];o:{u:{if((k|0)!=i[h+24>>2]){t=i[n+28>>2];break u}if(t=i[n+28>>2],(t|0)==i[h+28>>2])break o}if(i[u+36>>2]=0,i[u+40>>2]=0,vA(u,o,u+36|0,k,t),n=i[u+4>>2],k=i[u>>2],i[u+64>>2]=k,i[u+68>>2]=n,l[u+83|0]<0&&(G(i[u+72>>2]),k=i[u+64>>2]),n=i[u+12>>2],i[u+72>>2]=i[u+8>>2],i[u+76>>2]=n,i[u+80>>2]=i[u+16>>2],k)break n;n=i[u+36>>2],k=i[u+40>>2],i[u+36>>2]=0,i[u+40>>2]=0,t=i[u+52>>2],i[u+48>>2]=n,i[u+52>>2]=k;u:{if(!t||(k=i[t+4>>2],i[t+4>>2]=k-1,k))break u;V[i[i[t>>2]+8>>2]](t),g(t)}v1(u+36|0),n=i[A>>2]}w=n,E=B-32|0,B=E,_=i[u+48>>2],o=i[_+64>>2];o:{u:{if(!o){t=_- -64|0,k=t;break u}for(n=o;;){if(k=n,n=i[k+16>>2],(n|0)>(n0|0)){if(t=k,n=i[k>>2],n)continue;break u}if((n|0)>=(n0|0)){n=k;break o}if(n=i[k+4>>2],!n)break}t=k+4|0}n=U(52),i[n+20>>2]=0,i[n+24>>2]=0,i[n+16>>2]=n0,i[n+8>>2]=k,i[n>>2]=0,i[n+4>>2]=0,i[n+28>>2]=0,i[n+32>>2]=0,i[n+36>>2]=0,i[n+40>>2]=0,i[n+44>>2]=0,i[n+48>>2]=0,i[t>>2]=n,k=n,o=i[i[_+60>>2]>>2],o&&(i[_+60>>2]=o,k=i[t>>2]),D1(i[_+64>>2],k),i[_+68>>2]=i[_+68>>2]+1,_=i[u+48>>2],o=i[_+64>>2]}k=i[n+48>>2],i[E+24>>2]=i[n+44>>2],i[E+28>>2]=k,k=i[n+40>>2],i[E+16>>2]=i[n+36>>2],i[E+20>>2]=k,k=i[n+32>>2],i[E+8>>2]=i[n+28>>2],i[E+12>>2]=k,k=i[n+24>>2],i[E>>2]=i[n+20>>2],i[E+4>>2]=k;o:{if(!o)break o;for(h=_- -64|0,n=h,k=o;t=(n0|0)>i[k+16>>2],n=t?n:k,k=i[(t<<2)+k>>2],!!k;);if((n|0)==(h|0)|(n0|0)>2])break o;t=i[n+4>>2];u:{if(!t){for(t=n;k=i[t+8>>2],h=i[k>>2]!=(t|0),t=k,!!h;);break u}for(;k=t,t=i[k>>2],!!t;);}i[_+60>>2]==(n|0)&&(i[_+60>>2]=k),i[_+68>>2]=i[_+68>>2]-1;u:{l:{if(n0=n,t=i[n>>2],t){if(k=i[n+4>>2],!k)break l;for(;n=k,k=i[k>>2],!!k;);}if(t=i[n+4>>2],t)break l;_=i[n+8>>2],t=0,h=1;break u}_=i[n+8>>2],i[t+8>>2]=_,h=0}k=i[_>>2];u:{if((n|0)==(k|0)){if(i[_>>2]=t,(n|0)==(o|0)){k=0,o=t;break u}k=i[_+4>>2];break u}i[_+4>>2]=t}Z=s[n+12|0],(n|0)!=(n0|0)&&(_=i[n0+8>>2],i[n+8>>2]=_,i[_+(((n0|0)!=i[_>>2])<<2)>>2]=n,_=i[n0>>2],i[n>>2]=_,i[_+8>>2]=n,_=i[n0+4>>2],i[n+4>>2]=_,_&&(i[_+8>>2]=n),l[n+12|0]=s[n0+12|0],o=(o|0)==(n0|0)?n:o);u:{if(!o|!(Z&1))break u;if(h)for(;;){n=s[k+12|0];l:{if(h=i[k+8>>2],t=i[h>>2],(t|0)!=(k|0)){n&1||(l[k+12|0]=1,l[h+12|0]=0,t=i[h+4>>2],n=i[t>>2],i[h+4>>2]=n,n&&(i[n+8>>2]=h),n=i[h+8>>2],i[t+8>>2]=n,i[n+(((h|0)!=i[n>>2])<<2)>>2]=t,i[t>>2]=h,i[h+8>>2]=t,n=k,k=i[k>>2],o=(k|0)==(o|0)?n:o,k=i[k+4>>2]);s:{h:{n=i[k>>2];w:{if(!(s[n+12|0]!=1&&n)){if(t=i[k+4>>2],s[t+12|0]!=1&&t)break w;if(l[k+12|0]=0,k=i[k+8>>2],s[k+12|0]&&(o|0)!=(k|0))break l;l[k+12|0]=1;break u}if(t=i[k+4>>2],!t)break h}if(s[t+12|0]==1)break h;n=k;break s}l[n+12|0]=1,l[k+12|0]=0,t=i[n+4>>2],i[k>>2]=t,t&&(i[t+8>>2]=k),t=i[k+8>>2],i[n+8>>2]=t,i[t+((i[t>>2]!=(k|0))<<2)>>2]=n,i[n+4>>2]=k,i[k+8>>2]=n,t=k}o=i[n+8>>2],l[n+12|0]=s[o+12|0],l[o+12|0]=1,l[t+12|0]=1,n=i[o+4>>2],k=i[n>>2],i[o+4>>2]=k,k&&(i[k+8>>2]=o),k=i[o+8>>2],i[n+8>>2]=k,i[k+(((o|0)!=i[k>>2])<<2)>>2]=n,i[n>>2]=o,i[o+8>>2]=n;break u}n&1||(l[k+12|0]=1,l[h+12|0]=0,n=i[t+4>>2],i[h>>2]=n,n&&(i[n+8>>2]=h),n=i[h+8>>2],i[t+8>>2]=n,i[n+(((h|0)!=i[n>>2])<<2)>>2]=t,i[t+4>>2]=h,i[h+8>>2]=t,n=k,k=i[k+4>>2],o=(k|0)==(o|0)?n:o,k=i[k>>2]);s:{h:{w:{_:{if(t=i[k>>2],t&&(n=s[t+12|0],(n|0)!=1))break _;if(n=i[k+4>>2],!(s[n+12|0]!=1&&n)){if(l[k+12|0]=0,k=i[k+8>>2],s[k+12|0]==1&(k|0)!=(o|0))break l;l[k+12|0]=1;break u}if(!t)break h;if(l[t+12|0]&1)break w;n=k;break s}if(n)break w;n=k;break s}n=i[k+4>>2]}l[n+12|0]=1,l[k+12|0]=0,t=i[n>>2],i[k+4>>2]=t,t&&(i[t+8>>2]=k),t=i[k+8>>2],i[n+8>>2]=t,i[t+((i[t>>2]!=(k|0))<<2)>>2]=n,i[n>>2]=k,i[k+8>>2]=n,t=k}o=i[n+8>>2],l[n+12|0]=s[o+12|0],l[o+12|0]=1,l[t+12|0]=1,n=i[o>>2],k=i[n+4>>2],i[o>>2]=k,k&&(i[k+8>>2]=o),k=i[o+8>>2],i[n+8>>2]=k,i[k+(((o|0)!=i[k>>2])<<2)>>2]=n,i[n+4>>2]=o,i[o+8>>2]=n;break u}n=k,k=i[k+8>>2],k=i[(((n|0)==i[k>>2])<<2)+k>>2]}l[t+12|0]=1}G(n0)}n=i[w+64>>2];o:{u:{if(!n){t=w- -64|0,k=t;break u}for(;;){if(k=n,n=i[k+16>>2],(n|0)>6){if(t=k,n=i[k>>2],n)continue;break u}if((n|0)>=6)break o;if(n=i[k+4>>2],!n)break}t=k+4|0}n=U(52),i[n+16>>2]=6,o=i[E+4>>2],i[n+20>>2]=i[E>>2],i[n+24>>2]=o,o=i[E+12>>2],i[n+28>>2]=i[E+8>>2],i[n+32>>2]=o,o=i[E+20>>2],i[n+36>>2]=i[E+16>>2],i[n+40>>2]=o,o=i[E+28>>2],i[n+44>>2]=i[E+24>>2],i[n+48>>2]=o,i[n+8>>2]=k,i[n>>2]=0,i[n+4>>2]=0,i[t>>2]=n,k=i[i[w+60>>2]>>2],k&&(i[w+60>>2]=k,n=i[t>>2]),D1(i[w+64>>2],n),i[w+68>>2]=i[w+68>>2]+1}B=E+32|0,s[C+49|0]==1&&(l[i[A>>2]+40|0]=1),l[u+83|0]<0&&G(i[u+72>>2]),v1(u+48|0)}o:{if(!y||(k=i[y+4>>2],i[y+4>>2]=k-1,k))break o;V[i[i[y>>2]+8>>2]](y),g(y)}if(!p||(k=i[p+4>>2],i[p+4>>2]=k-1,k))break t;V[i[i[p>>2]+8>>2]](p),g(p)}t=i[e+48>>2],n=i[t+44>>2],n0=i[t+48>>2],n0&&(i[n0+4>>2]=i[n0+4>>2]+1,t=i[e+48>>2]),i[u+64>>2]=i[t+52>>2],e=i[t+56>>2],i[u+68>>2]=e,e&&(i[e+4>>2]=i[e+4>>2]+1),p4(u,n,r,u- -64|0,1668050025),t=0,w=0,e=i[u>>2];t:{if(!e||(e=N0(e,68572,69892),!e))break t;w=i[u+4>>2],w&&(i[w+4>>2]=i[w+4>>2]+1),i[i[A>>2]+80>>2]=Q[e+48>>1]|Q[e+50>>1]<<16}p4(u+48|0,n,r,u- -64|0,1835295606),e=i[u+48>>2];t:{if(!e||(h=N0(e,68572,70084),!h))break t;t=i[u+52>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),e=i[h+52>>2],o=i[A>>2],k=o,i[k+84>>2]=i[h+48>>2],i[k+88>>2]=e,k=h- -64|0,e=i[k+4>>2],i[o+100>>2]=i[k>>2],i[o+104>>2]=e,e=i[h+60>>2],i[o+92>>2]=i[h+56>>2],i[o+96>>2]=e,l[o+108|0]=1}if(p4(u+36|0,n,r,u- -64|0,1885434736),e=i[u+36>>2],!e||(k=N0(e,68572,69772),!k))break A;if(n=i[u+40>>2],n)break f;e=i[k+52>>2],r=i[A>>2],i[r+72>>2]=i[k+48>>2],i[r+76>>2]=e;break A}e=i[u+68>>2],i[f>>2]=i[u+64>>2],i[f+4>>2]=e,i[f+16>>2]=i[u+80>>2],e=i[u+76>>2],i[f+8>>2]=i[u+72>>2],i[f+12>>2]=e,i[u+72>>2]=0,i[u+76>>2]=0,i[u+80>>2]=0,v1(u+36|0)}l[u+83|0]<0&&G(i[u+72>>2]),e=i[u+52>>2];k:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break k;V[i[i[e>>2]+8>>2]](e),g(e)}k:{if(!y||(f=i[y+4>>2],i[y+4>>2]=f-1,f))break k;V[i[i[y>>2]+8>>2]](y),g(y)}if(!p||(f=i[p+4>>2],i[p+4>>2]=f-1,f))break r;V[i[i[p>>2]+8>>2]](p),g(p);break r}if(i[n+4>>2]=i[n+4>>2]+1,e=i[k+52>>2],r=i[A>>2],i[r+72>>2]=i[k+48>>2],i[r+76>>2]=e,e=i[n+4>>2],i[n+4>>2]=e-1,e)break A;V[i[i[n>>2]+8>>2]](n),g(n)}r=i[u+40>>2];A:{if(!r||(e=i[r+4>>2],i[r+4>>2]=e-1,e))break A;V[i[i[r>>2]+8>>2]](r),g(r)}A:{if(!t||(e=i[t+4>>2],i[t+4>>2]=e-1,e))break A;V[i[i[t>>2]+8>>2]](t),g(t)}r=i[u+52>>2];A:{if(!r||(e=i[r+4>>2],i[r+4>>2]=e-1,e))break A;V[i[i[r>>2]+8>>2]](r),g(r)}A:{if(!w||(e=i[w+4>>2],i[w+4>>2]=e-1,e))break A;V[i[i[w>>2]+8>>2]](w),g(w)}r=i[u+4>>2];A:{if(!r||(e=i[r+4>>2],i[r+4>>2]=e-1,e))break A;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[u+68>>2];A:{if(!r||(e=i[r+4>>2],i[r+4>>2]=e-1,e))break A;V[i[i[r>>2]+8>>2]](r),g(r)}A:{if(!n0||(e=i[n0+4>>2],i[n0+4>>2]=e-1,e))break A;V[i[i[n0>>2]+8>>2]](n0),g(n0)}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,e=f+8|0,l[78275]>=0){f=i[19567],i[e>>2]=i[19566],i[e+4>>2]=f,i[e+8>>2]=i[19568];break r}_0(e,i[19566],i[19567]);break r}e=i[u+40>>2];e:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break e;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[u+52>>2];e:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break e;V[i[i[e>>2]+8>>2]](e),g(e)}if(f=i[u>>2],!f)break r;if(t=i[u+4>>2],r=f,(t|0)!=(f|0)){for(;;){r=i[t-4>>2];e:{if(!r||(e=i[r+4>>2],i[r+4>>2]=e-1,e))break e;V[i[i[r>>2]+8>>2]](r),g(r)}if(t=t-8|0,(f|0)==(t|0))break}r=i[u>>2]}i[u+4>>2]=f,G(r)}e=i[u+92>>2];r:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break r;V[i[i[e>>2]+8>>2]](e),g(e)}if(l[u+115|0]>=0)break i;G(i[u+104>>2])}i:{if(!G0||(f=i[G0+4>>2],i[G0+4>>2]=f-1,f))break i;V[i[i[G0>>2]+8>>2]](G0),g(G0)}l[u+127|0]<0&&G(i[u+116>>2]),B=u+128|0}function hA(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0,n2=0,s2=0,W2=0;if(t=B-272|0,B=t,H6(e+16|0,i[e+20>>2]),I=e+20|0,i[e+16>>2]=I,i[e+20>>2]=0,i[e+24>>2]=0,A=i[e+32>>2],k=i[e+28>>2],(A|0)!=(k|0))for(;;){r=i[A-4>>2];i:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(k|0)==(A|0))break}i[e+32>>2]=k,r=i[e+44>>2],i[e+40>>2]=0,i[e+44>>2]=0;i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(RA(t+260|0,i[e+48>>2]),k=i[t+260>>2],u=i[t+264>>2],(k|0)!=(u|0))for(_=e+28|0;;){o=i[k>>2],fe(t+80|0,i[e+48>>2],o),A=i[t+80>>2];i:{if(A){n=l[A+75|0],r=(n|0)<0;r:{if(((r?i[A+68>>2]:n)|0)!=4)break r;r=r?i[A+64>>2]:A- -64|0,h=s[r+1|0]<<8,w=s[r+2|0]<<16|s[r+3|0]<<24;e:{if((s[r|0]|h|w)==828601960||(n=w|(h|s[r|0]),(n|0)==1684632167|(n|0)==1852138601|((n|0)==1819701097|(n|0)==825259617))||(n|0)==1768124021|(n|0)==828601974|(n|0)==1734701162)break e;A:{if((n|0)!=1701669229||(w=l[A+99|0],n=(w|0)<0,((n?i[A+92>>2]:w)|0)!=10))break A;if(A=A+88|0,!K2(n?i[A>>2]:A,8704,10))break e}if(r=s[r|0]|s[r+1|0]<<8|(s[r+2|0]<<16|s[r+3|0]<<24),(r|0)==829108842)break e;if((r|0)!=1768649581)break r}A=U(360),r=A,i[r+16>>2]=0,i[r+20>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,l[r+152|0]=0,i[r+36>>2]=o,i[r+32>>2]=e,i[r+28>>2]=34648,i[r+40>>2]=0,i[r+44>>2]=0,i[r+52>>2]=0,i[r+56>>2]=0,i[r+68>>2]=0,i[r+72>>2]=0,i[r+80>>2]=0,i[r+84>>2]=0,i[r+156>>2]=0,i[r+160>>2]=0,i[r>>2]=72656,i[r+24>>2]=0,X[r+48>>1]=0,X[r+58>>1]=0,X[r+60>>1]=0,X[r+62>>1]=0,X[r+64>>1]=0,l[r+76|0]=0,l[r+88|0]=0,i[r+204>>2]=0,i[r+196>>2]=0,i[r+200>>2]=0,i[r+188>>2]=0,i[r+192>>2]=0,i[r+180>>2]=0,i[r+184>>2]=0,i[r+172>>2]=0,i[r+176>>2]=0,i[r+164>>2]=0,i[r+168>>2]=0,i[r+212>>2]=0,i[r+216>>2]=0,l[r+208|0]=1,l[r+217|0]=0,l[r+218|0]=0,l[r+219|0]=0,l[r+220|0]=0,l[r+221|0]=0,l[r+222|0]=0,l[r+223|0]=0,l[r+224|0]=0,i[r+232>>2]=0,i[r+236>>2]=0,i[r+240>>2]=0,i[r+244>>2]=0,i[r+248>>2]=0,i[r+252>>2]=0,i[r+256>>2]=0,i[r+260>>2]=0,i[r+264>>2]=0,i[r+268>>2]=0,l[r+272|0]=0,B0(r+280|0,0,80),i[r+296>>2]=0,i[r+300>>2]=0,l[r+292|0]=1,i[r+304>>2]=0,i[r+308>>2]=0,i[r+312>>2]=0,i[r+316>>2]=0,i[r+328>>2]=0,i[r+332>>2]=0,i[r+320>>2]=0,i[r+324>>2]=1072693248,i[r+336>>2]=0,i[r+340>>2]=0,i[r+344>>2]=0,i[r+348>>2]=0,i[r+352>>2]=0,i[r+96>>2]=0,i[r+100>>2]=0,i[r+104>>2]=0,i[r+108>>2]=0,i[r+112>>2]=0,i[r+116>>2]=0,i[r+120>>2]=0,i[r+124>>2]=0,i[r+128>>2]=0,i[r+132>>2]=0,i[r+136>>2]=0,i[r+140>>2]=0,i[r+144>>2]=0,i[r+148>>2]=0,i[t+228>>2]=r,n=r+16|0,i[t+224>>2]=n,i[r+4>>2]=i[r+4>>2]+1,C=I,r=I;e:{A:{w=i[e+20>>2];f:{if(!w)break f;for(;;){if(r=w,w=i[r+16>>2],w>>>0>o>>>0){if(C=r,w=i[r>>2],w)continue;break f}if(o>>>0<=w>>>0)break A;if(w=i[r+4>>2],!w)break}C=r+4|0}w=U(28),i[w+24>>2]=A,i[w+20>>2]=n,i[w+16>>2]=o,i[w+8>>2]=r,i[w>>2]=0,i[w+4>>2]=0,i[C>>2]=w,r=i[i[e+16>>2]>>2],r&&(i[e+16>>2]=r,w=i[C>>2]),D1(i[e+20>>2],w),i[e+24>>2]=i[e+24>>2]+1;break e}if(r=i[A+4>>2],i[A+4>>2]=r-1,r)break e;V[i[i[A>>2]+8>>2]](A),g(A)}if(!s[i[t+80>>2]+124|0]){e:{if((o|0)!=i[i[i[e+48>>2]+84>>2]+56>>2]||(r=i[t+224>>2],l[r+32|0]=1,A=i[t+228>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[e+40>>2]=r,r=i[e+44>>2],i[e+44>>2]=A,!r)||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break e;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[e+32>>2];e:{if(r>>>0>2]){i[r>>2]=i[t+224>>2],A=i[t+228>>2],i[r+4>>2]=A,A&&(i[A+4>>2]=i[A+4>>2]+1),r=r+8|0;break e}r=Q2(_,t+224|0)}i[e+32>>2]=r}if(r=i[t+228>>2],!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(r=i[t+84>>2],!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r);break i}if(r=i[t+84>>2],!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(k=k+4|0,(u|0)==(k|0))break}i:{r:{e:{if(!i[e+40>>2]){if(e=U(48),i[t+80>>2]=e,i[t+84>>2]=42,i[t+88>>2]=-2147483600,r=s[10898]|s[10899]<<8|(s[10900]<<16|s[10901]<<24),k=s[10894]|s[10895]<<8|(s[10896]<<16|s[10897]<<24),l[e|0]=k,l[e+1|0]=k>>>8,l[e+2|0]=k>>>16,l[e+3|0]=k>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+42|0]=0,r=s[10934]|s[10935]<<8,l[e+40|0]=r,l[e+41|0]=r>>>8,r=s[10930]|s[10931]<<8|(s[10932]<<16|s[10933]<<24),k=s[10926]|s[10927]<<8|(s[10928]<<16|s[10929]<<24),l[e+32|0]=k,l[e+33|0]=k>>>8,l[e+34|0]=k>>>16,l[e+35|0]=k>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[10922]|s[10923]<<8|(s[10924]<<16|s[10925]<<24),k=s[10918]|s[10919]<<8|(s[10920]<<16|s[10921]<<24),l[e+24|0]=k,l[e+25|0]=k>>>8,l[e+26|0]=k>>>16,l[e+27|0]=k>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[10914]|s[10915]<<8|(s[10916]<<16|s[10917]<<24),k=s[10910]|s[10911]<<8|(s[10912]<<16|s[10913]<<24),l[e+16|0]=k,l[e+17|0]=k>>>8,l[e+18|0]=k>>>16,l[e+19|0]=k>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[10906]|s[10907]<<8|(s[10908]<<16|s[10909]<<24),k=s[10902]|s[10903]<<8|(s[10904]<<16|s[10905]<<24),l[e+8|0]=k,l[e+9|0]=k>>>8,l[e+10|0]=k>>>16,l[e+11|0]=k>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,2e3,t+80|0),l[t+91|0]>=0)break e;G(i[t+80>>2]);break e}if(A=i[e+16>>2],(I|0)!=(A|0))for(S=i[13631],n0=S-12|0,d=i[13632],L=d-12|0,A0=i[13635],p0=A0-12|0,f0=i[13633],X0=f0-12|0,h0=i[13640],G0=i[13639],I0=i[13637],Q0=i[13636],F0=i[13634],D=t+92|0,R=t+88|0,Y0=t+144|0;;){i[t+256>>2]=0,i[t+248>>2]=0,i[t+252>>2]=0,I1(t+224|0,i[e+48>>2],i[A+16>>2],t+248|0);A:{if(i[t+224>>2]){r=i[t+228>>2],i[f>>2]=i[t+224>>2],i[f+4>>2]=r,i[f+16>>2]=i[t+240>>2],r=i[t+236>>2],i[f+8>>2]=i[t+232>>2],i[f+12>>2]=r,i[t+232>>2]=0,i[t+236>>2]=0,C=0,i[t+240>>2]=0;break A}Z=0;f:{if(r=i[t+248>>2],p=i[t+252>>2],(r|0)!=(p|0)){for(;;){k:{if(k=i[r>>2],!k||(n=N0(k,68572,68596),!n))break k;k=i[r+4>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),o=i[n+56>>2],u=i[n+60>>2],_=o>>>0<2147483647&u>>>0<2147483647;n:{if(!_){i[t+80>>2]=f0,i[t+88>>2]=54496,i[t+144>>2]=54516,n=t+80|0,i[n+i[X0>>2]>>2]=F0,i[t+84>>2]=0,w=n+i[i[t+80>>2]-12>>2]|0,b0(w,D),i[w+72>>2]=0,i[w+76>>2]=-1,i[t+88>>2]=A0,i[R+i[p0>>2]>>2]=Q0,i[t+80>>2]=d,i[n+i[L>>2]>>2]=I0,i[t+144>>2]=54516,i[t+80>>2]=54476,i[t+88>>2]=54496,n=$0(D),i[n>>2]=53552,i[t+132>>2]=0,i[t+136>>2]=0,i[t+124>>2]=0,i[t+128>>2]=0,i[t+140>>2]=24,x(n4(x(L0(x(L0(x(R,19153,11),o),2490,1),u),19120,32),i[e+64>>2],i[e+68>>2]),31338,1),o=t+68|0,i2(o,n),r0(f,6,1e3,o),l[t+79|0]<0&&G(i[t+68>>2]),i[t+80>>2]=S,i[i[n0>>2]+(t+80|0)>>2]=G0,i[t+88>>2]=h0,i[n>>2]=53552,l[t+135|0]<0&&G(i[t+124>>2]),K0(n),T0(Y0);break n}n=i[A+20>>2],i[n+28>>2]=u,i[n+24>>2]=o,Z=1}n:{if(!k||(n=i[k+4>>2],i[k+4>>2]=n-1,n))break n;if(V[i[i[k>>2]+8>>2]](k),g(k),_)break k;C=0;break A}if(_)break k;C=0;break A}if(r=r+8|0,(p|0)==(r|0))break}if(Z)break f}r=U(32),i[t+80>>2]=r,i[t+84>>2]=28,i[t+88>>2]=-2147483616,k=s[1305]|s[1306]<<8|(s[1307]<<16|s[1308]<<24),n=s[1301]|s[1302]<<8|(s[1303]<<16|s[1304]<<24),l[r|0]=n,l[r+1|0]=n>>>8,l[r+2|0]=n>>>16,l[r+3|0]=n>>>24,l[r+4|0]=k,l[r+5|0]=k>>>8,l[r+6|0]=k>>>16,l[r+7|0]=k>>>24,l[r+28|0]=0,k=s[1325]|s[1326]<<8|(s[1327]<<16|s[1328]<<24),l[r+24|0]=k,l[r+25|0]=k>>>8,l[r+26|0]=k>>>16,l[r+27|0]=k>>>24,k=s[1321]|s[1322]<<8|(s[1323]<<16|s[1324]<<24),n=s[1317]|s[1318]<<8|(s[1319]<<16|s[1320]<<24),l[r+16|0]=n,l[r+17|0]=n>>>8,l[r+18|0]=n>>>16,l[r+19|0]=n>>>24,l[r+20|0]=k,l[r+21|0]=k>>>8,l[r+22|0]=k>>>16,l[r+23|0]=k>>>24,k=s[1313]|s[1314]<<8|(s[1315]<<16|s[1316]<<24),n=s[1309]|s[1310]<<8|(s[1311]<<16|s[1312]<<24),l[r+8|0]=n,l[r+9|0]=n>>>8,l[r+10|0]=n>>>16,l[r+11|0]=n>>>24,l[r+12|0]=k,l[r+13|0]=k>>>8,l[r+14|0]=k>>>16,l[r+15|0]=k>>>24,r0(f,2,137,t+80|0),l[t+91|0]<0&&G(i[t+80>>2]),C=0;break A}if(C=1,r=i[t+248>>2],h=i[t+252>>2],(r|0)==(h|0))break A;for(;;){Z=i[r>>2];f:{if(!Z)break f;k=N0(Z,68572,73072);k:{if(k){w=i[r+4>>2],w&&(i[w+4>>2]=i[w+4>>2]+1),i[t+80>>2]=i[k+48>>2],k=i[k+52>>2],i[t+84>>2]=k,k&&(i[k+4>>2]=i[k+4>>2]+1),jA(i[A+20>>2],t+80|0),k=i[t+84>>2];n:{if(!k||(n=i[k+4>>2],i[k+4>>2]=n-1,n))break n;V[i[i[k>>2]+8>>2]](k),g(k)}if(!w)break f;if(k=i[w+4>>2],i[w+4>>2]=k-1,!k)break k;break f}w=0,k=N0(Z,68572,69952);n:{if(k){w=i[r+4>>2],w&&(i[w+4>>2]=i[w+4>>2]+1),u=i[A+20>>2],n=i[k+100>>2],i[t+120>>2]=i[k+96>>2],i[t+124>>2]=n,n=i[k+92>>2],i[t+112>>2]=i[k+88>>2],i[t+116>>2]=n,n=i[k+84>>2],i[t+104>>2]=i[k+80>>2],i[t+108>>2]=n,n=i[k+76>>2],i[t+96>>2]=i[k+72>>2],i[t+100>>2]=n,n=k- -64|0,o=i[n+4>>2],i[R>>2]=i[n>>2],i[R+4>>2]=o,n=i[k+60>>2],i[t+80>>2]=i[k+56>>2],i[t+84>>2]=n,_=t+80|0,o=B-48|0,B=o,l[u+208|0]=1,ei(o+8|0,i[i[u+16>>2]+48>>2],i[u+20>>2]),k=i[o+8>>2],k?n=i[k+56>>2]:n=0,k=i[o+12>>2];t:{if(!k||(p=i[k+4>>2],i[k+4>>2]=p-1,p))break t;V[i[i[k>>2]+8>>2]](k),g(k)}ei(o+8|0,i[i[u+16>>2]+48>>2],i[u+20>>2]),k=i[o+8>>2],k?k=i[k+60>>2]:k=0,p=i[o+12>>2];t:{if(!p||(Z=i[p+4>>2],i[p+4>>2]=Z-1,Z))break t;V[i[i[p>>2]+8>>2]](p),g(p)}if(E=+(n|0),H=i0[_>>3]*E,i0[o+8>>3]=H,c0=+(k|0),i0[o+16>>3]=s[_+24|0]?i0[_+32>>3]*c0:H,i0[o+24>>3]=i0[_+8>>3]*E,i0[o+32>>3]=i0[_+16>>3]*c0,i0[o+40>>3]=i0[_+40>>3],k=i[o+44>>2],i[u+248>>2]=i[o+40>>2],i[u+252>>2]=k,k=i[o+36>>2],i[u+240>>2]=i[o+32>>2],i[u+244>>2]=k,k=i[o+28>>2],i[u+232>>2]=i[o+24>>2],i[u+236>>2]=k,k=i[o+20>>2],i[u+224>>2]=i[o+16>>2],i[u+228>>2]=k,k=i[o+12>>2],i[u+216>>2]=i[o+8>>2],i[u+220>>2]=k,B=o+48|0,Z=i[r>>2],!Z)break n}if(o=N0(Z,68572,70012),!o||(k=i[r+4>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),n=i[A+20>>2],u=t+80|0,l0(u,o+56|0,80),l[n+256|0]=1,l0(n+264|0,u,76),!k)||(n=i[k+4>>2],i[k+4>>2]=n-1,n))break n;V[i[i[k>>2]+8>>2]](k),g(k)}if(!w||(k=i[w+4>>2],i[w+4>>2]=k-1,k))break f}V[i[i[w>>2]+8>>2]](w),g(w)}if(r=r+8|0,(h|0)==(r|0))break}if(r=i[t+248>>2],j=i[t+252>>2],(r|0)==(j|0))break A;for(;;){k=i[r>>2];f:{if(!k)break f;Z=0,w=0,y=N0(k,68572,69592);k:{if(y){if(w=i[r+4>>2],w&&(i[w+4>>2]=i[w+4>>2]+1),o=i[y+48>>2],k=i[y+52>>2],u=(k|0)/2|0,n=o+u|0,v=(o>>31)+(u>>31)|0,k=o2(n,n>>>0>>0?v+1|0:v,k,k>>31),_=i[y+56>>2],n=i[y+60>>2],p=(n|0)/2|0,o=_+p|0,h=(_>>31)+(p>>31)|0,u=i[A+20>>2],s2=u,W2=o2(o,o>>>0

>>0?h+1|0:h,n,n>>31),i[s2+28>>2]=W2,i[u+24>>2]=k,J=i[A+20>>2],s[J+208|0]==1){a=i[J+28>>2],k=i[J+24>>2],n=k-1|0,k=k+65535>>>0<131073,_=k?n:(n|0)/2|0,n=i[y+64>>2],u=n>>31,p=k?2:1,o=i[y+68>>2];n:{if((p|0)==(o|0)){if(h=(_>>31)+u|0,k=_,_=n+_|0,h=k>>>0>_>>>0?h+1|0:h,k=h,(k-(_>>>0<2147483648)|0)==-1)break n;h=k>>31,n=_+(h|1)|0,h=k+h|0,_=o2(n,n>>>0<_>>>0?h+1|0:h,2,0),p=1;break n}if(p=o,W=o>>31,_=q0(o,W,_,_>>31),S0=w0,o=k,q=_,h=n,_=k&31,(k&63)>>>0>=32?(v=n<<_,k=0):(v=(1<<_)-1&h>>>32-_|u<<_,k=h<<_),_=q+k|0,h=v+S0|0,h=k>>>0>_>>>0?h+1|0:h,k=h,v=(k-(_>>>0<2147483648)|0)==-1,u=p,n=o&31,(o&63)>>>0>=32?(h=u<>>32-n|W<>>0<2147483648)|0)==-1&v))for(;h=o>>31,u=n+(h|1)|0,h=o+h|0,n=o2(u,n>>>0>u>>>0?h+1|0:h,2,0),o=w0,p=o-(n>>>0<2147483648)|0,h=k>>31,u=_+(h|1)|0,h=k+h|0,_=o2(u,u>>>0<_>>>0?h+1|0:h,2,0),k=w0,(k-(_>>>0<2147483648)&p)!=-1;);p=n}if(o=i[y+48>>2],k=i[y+52>>2],n=o-k|0,u=k>>31,o=(o>>31)-(u+(k>>>0>o>>>0)|0)|0,h=o-(n>>>0<2147483648)|0,(h|0)==-2|h>>>0<4294967294){for(;h=u>>31,W=k+(h|1)|0,h=u+h|0,k=o2(W,k>>>0>W>>>0?h+1|0:h,2,0),u=w0,h=o>>31,W=n+(h|1)|0,h=o+h|0,n=o2(W,n>>>0>W>>>0?h+1|0:h,2,0),o=w0,(o-(n>>>0<2147483648)|0)!=-1;);u=k>>31}if(h=u<<1|k>>>31,k=k<<1,u=h,h=u-(k>>>0<2147483648)|0,(h|0)==-2|h>>>0<4294967294)for(;h=o>>31,W=n+(h|1)|0,v=o+h|0,n=o2(W,n>>>0>W>>>0?v+1|0:v,2,0),o=w0,h=u>>31,W=k+(h|1)|0,h=u+h|0,k=o2(W,k>>>0>W>>>0?h+1|0:h,2,0),u=w0,(u-(k>>>0<2147483648)|0)!=-1;);o=_>>31;n:{if((k|0)==(p|0)){if(o=o-((n>>31)+(n>>>0>_>>>0)|0)|0,n=_-n|0,(o-(n>>>0<2147483648)|0)==-1)break n;for(k=p,u=k>>31;h=u>>31,_=k+(h|1)|0,h=u+h|0,k=o2(_,k>>>0>_>>>0?h+1|0:h,2,0),u=w0,h=o>>31,_=n+(h|1)|0,h=o+h|0,n=o2(_,n>>>0>_>>>0?h+1|0:h,2,0),o=w0,(o-(n>>>0<2147483648)|0)!=-1;);p=k;break n}if(o=q0(k,u,_,o),_=w0,h=p>>31,W=q0(p,h,n,n>>31),n=o-W|0,o=_-(w0+(o>>>0>>0)|0)|0,k=q0(k,u,p,h),u=w0,(o-(n>>>0<2147483648)&u-(k>>>0<2147483648))!=-1)for(;h=u>>31,_=k+(h|1)|0,h=u+h|0,k=o2(_,k>>>0>_>>>0?h+1|0:h,2,0),u=w0,p=u-(k>>>0<2147483648)|0,h=o>>31,_=n+(h|1)|0,h=o+h|0,n=o2(_,n>>>0>_>>>0?h+1|0:h,2,0),o=w0,(o-(n>>>0<2147483648)&p)!=-1;);p=k}i0[J+232>>3]=i0[J+232>>3]-+(n|0)/+(p|0),k=a-1|0,h=k,n=(k|0)/2|0,k=a+65535>>>0<131073,_=k?h:n,n=i[y+72>>2],u=n>>31,p=k?2:1,o=i[y+76>>2];n:{if((p|0)==(o|0)){if(h=(_>>31)+u|0,k=_,_=n+_|0,h=k>>>0>_>>>0?h+1|0:h,k=h,(k-(_>>>0<2147483648)|0)==-1)break n;h=k>>31,n=_+(h|1)|0,h=k+h|0,_=o2(n,n>>>0<_>>>0?h+1|0:h,2,0),p=1;break n}if(p=o,W=o>>31,_=q0(o,W,_,_>>31),a=w0,o=k,q=_,h=n,_=k&31,(k&63)>>>0>=32?(v=n<<_,k=0):(v=(1<<_)-1&h>>>32-_|u<<_,k=h<<_),_=q+k|0,h=v+a|0,h=k>>>0>_>>>0?h+1|0:h,k=h,v=(k-(_>>>0<2147483648)|0)==-1,u=p,n=o&31,(o&63)>>>0>=32?(h=u<>>32-n|W<>>0<2147483648)|0)==-1&v))for(;h=o>>31,u=n+(h|1)|0,h=o+h|0,n=o2(u,n>>>0>u>>>0?h+1|0:h,2,0),o=w0,p=o-(n>>>0<2147483648)|0,h=k>>31,u=_+(h|1)|0,h=k+h|0,_=o2(u,u>>>0<_>>>0?h+1|0:h,2,0),k=w0,(k-(_>>>0<2147483648)&p)!=-1;);p=n}if(o=i[y+56>>2],k=i[y+60>>2],n=o-k|0,u=k>>31,o=(o>>31)-(u+(k>>>0>o>>>0)|0)|0,h=o-(n>>>0<2147483648)|0,(h|0)==-2|h>>>0<4294967294){for(;h=u>>31,W=k+(h|1)|0,h=u+h|0,k=o2(W,k>>>0>W>>>0?h+1|0:h,2,0),u=w0,h=o>>31,W=n+(h|1)|0,h=o+h|0,n=o2(W,n>>>0>W>>>0?h+1|0:h,2,0),o=w0,(o-(n>>>0<2147483648)|0)!=-1;);u=k>>31}if(h=u<<1|k>>>31,k=k<<1,u=h,h=u-(k>>>0<2147483648)|0,(h|0)==-2|h>>>0<4294967294)for(;h=o>>31,W=n+(h|1)|0,v=o+h|0,n=o2(W,n>>>0>W>>>0?v+1|0:v,2,0),o=w0,h=u>>31,W=k+(h|1)|0,h=u+h|0,k=o2(W,k>>>0>W>>>0?h+1|0:h,2,0),u=w0,(u-(k>>>0<2147483648)|0)!=-1;);o=_>>31;n:{if((k|0)==(p|0)){if(o=o-((n>>31)+(n>>>0>_>>>0)|0)|0,n=_-n|0,(o-(n>>>0<2147483648)|0)==-1)break n;for(k=p,u=k>>31;h=u>>31,_=k+(h|1)|0,h=u+h|0,k=o2(_,k>>>0>_>>>0?h+1|0:h,2,0),u=w0,h=o>>31,_=n+(h|1)|0,h=o+h|0,n=o2(_,n>>>0>_>>>0?h+1|0:h,2,0),o=w0,(o-(n>>>0<2147483648)|0)!=-1;);p=k;break n}if(o=q0(k,u,_,o),_=w0,h=p>>31,W=q0(p,h,n,n>>31),n=o-W|0,o=_-(w0+(o>>>0>>0)|0)|0,k=q0(k,u,p,h),u=w0,(o-(n>>>0<2147483648)&u-(k>>>0<2147483648))!=-1)for(;h=u>>31,_=k+(h|1)|0,h=u+h|0,k=o2(_,k>>>0>_>>>0?h+1|0:h,2,0),u=w0,p=u-(k>>>0<2147483648)|0,h=o>>31,_=n+(h|1)|0,h=o+h|0,n=o2(_,n>>>0>_>>>0?h+1|0:h,2,0),o=w0,(o-(n>>>0<2147483648)&p)!=-1;);p=k}i0[J+240>>3]=i0[J+240>>3]-+(n|0)/+(p|0)}if(k=i[r>>2],!k)break k}n=N0(k,68572,69532);n:{if(!n)break n;Z=i[r+4>>2],Z&&(i[Z+4>>2]=i[Z+4>>2]+1),k=i[A+20>>2],p=i[k+28>>2],_=24,u=8;t:switch(i[n+48>>2]){case 1:i0[k+216>>3]=-i0[k+216>>3],p=i[k+24>>2],_=16,u=32;break;case 0:break t;default:break n}k=k+216|0,n=k+u|0,i0[n>>3]=-i0[n>>3],k=k+_|0,i0[k>>3]=+(p-1|0)-i0[k>>3]}k=i[r>>2];n:{if(!k||(n=N0(k,68572,69472),!n)||(k=i[r+4>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),n=i[n+48>>2],(n|0)!=270&(n|0)!=90||(n=i[A+20>>2],o=i[n+28>>2],i[n+28>>2]=i[n+24>>2],i[n+24>>2]=o),!k)||(n=i[k+4>>2],i[k+4>>2]=n-1,n))break n;V[i[i[k>>2]+8>>2]](k),g(k)}if(!Z||(k=i[Z+4>>2],i[Z+4>>2]=k-1,k))break k;V[i[i[Z>>2]+8>>2]](Z),g(Z)}if(!w||(k=i[w+4>>2],i[w+4>>2]=k-1,k))break f;V[i[i[w>>2]+8>>2]](w),g(w)}if(r=r+8|0,(j|0)==(r|0))break}}if(l[t+243|0]<0&&G(i[t+232>>2]),k=i[t+248>>2],k){if(r=i[t+252>>2],w=k,(r|0)!=(k|0)){for(;;){n=i[r-4>>2];A:{if(!n||(o=i[n+4>>2],i[n+4>>2]=o-1,o))break A;V[i[i[n>>2]+8>>2]](n),g(n)}if(r=r-8|0,(k|0)==(r|0))break}w=i[t+248>>2]}i[t+252>>2]=k,G(w)}if(!C)break e;w=A,r=i[A+4>>2];A:{if(r){for(;;)if(A=r,r=i[r>>2],!r)break A}for(;A=i[w+8>>2],r=i[A>>2]!=(w|0),w=A,!!r;);}if((A|0)==(I|0))break}r=i[e+48>>2],R=i[r+76>>2],D=i[r+80>>2],D&&(i[D+4>>2]=i[D+4>>2]+1),k=i[e+16>>2];A:{if(!(!R|(I|0)==(k|0))){for(d=i[13631],L=d-12|0,A0=i[13632],p0=A0-12|0,f0=i[13635],X0=f0-12|0,h0=i[13633],G0=h0-12|0,I0=i[13640],Q0=i[13639],F0=i[13637],Y0=i[13636],j=i[13634],n0=t+92|0,a=t+88|0,S0=t+144|0;;){oe(t+248|0,R,i[i[k+20>>2]+20>>2]),C=i[t+248>>2],r2=i[t+252>>2];f:{if((C|0)==(r2|0)){Z=14;break f}y=k+20|0;k:{for(;;){n:{t:{o:{u:{l:{s:{h:{w:{_:{v:{Z:{m:{B:{if(r=i[C+16>>2],(r|0)!=1635088492){if((r|0)!=1953000802)break n;i[t+88>>2]=0,i[t+80>>2]=0,i[t+84>>2]=0,r=i[C+48>>2],A=i[C+44>>2],o=(r|0)==(A|0);p:{W:{if(o)break W;if(r=r-A|0,(r|0)<0)break B;if(n=U(r),i[t+80>>2]=n,u=r+n|0,i[t+88>>2]=u,l0(n,A,r),i[t+84>>2]=u,o)break W;for(;;){o=i[n>>2],_=i[y>>2],l[_+33|0]=1;G:{r=I,A=i[r>>2];C:{if(!A)break C;for(;w=o>>>0>k0[A+16>>2],r=w?r:A,A=i[(w<<2)+A>>2],!!A;);if((r|0)==(I|0))break C;if(o>>>0>=k0[r+16>>2])break G}r=U(48),i[t+224>>2]=r,i[t+228>>2]=41,i[t+232>>2]=-2147483600,A=s[10941]|s[10942]<<8|(s[10943]<<16|s[10944]<<24),n=s[10937]|s[10938]<<8|(s[10939]<<16|s[10940]<<24),l[r|0]=n,l[r+1|0]=n>>>8,l[r+2|0]=n>>>16,l[r+3|0]=n>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+41|0]=0,l[r+40|0]=s[10977],A=s[10973]|s[10974]<<8|(s[10975]<<16|s[10976]<<24),n=s[10969]|s[10970]<<8|(s[10971]<<16|s[10972]<<24),l[r+32|0]=n,l[r+33|0]=n>>>8,l[r+34|0]=n>>>16,l[r+35|0]=n>>>24,l[r+36|0]=A,l[r+37|0]=A>>>8,l[r+38|0]=A>>>16,l[r+39|0]=A>>>24,A=s[10965]|s[10966]<<8|(s[10967]<<16|s[10968]<<24),n=s[10961]|s[10962]<<8|(s[10963]<<16|s[10964]<<24),l[r+24|0]=n,l[r+25|0]=n>>>8,l[r+26|0]=n>>>16,l[r+27|0]=n>>>24,l[r+28|0]=A,l[r+29|0]=A>>>8,l[r+30|0]=A>>>16,l[r+31|0]=A>>>24,A=s[10957]|s[10958]<<8|(s[10959]<<16|s[10960]<<24),n=s[10953]|s[10954]<<8|(s[10955]<<16|s[10956]<<24),l[r+16|0]=n,l[r+17|0]=n>>>8,l[r+18|0]=n>>>16,l[r+19|0]=n>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[10949]|s[10950]<<8|(s[10951]<<16|s[10952]<<24),n=s[10945]|s[10946]<<8|(s[10947]<<16|s[10948]<<24),l[r+8|0]=n,l[r+9|0]=n>>>8,l[r+10|0]=n>>>16,l[r+11|0]=n>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(f,2,2e3,t+224|0),l[t+235|0]<0&&G(i[t+224>>2]),r=0;break p}if(r=i[r+20>>2],s[r+33|0]==1){r=U(40),i[t+224>>2]=r,i[t+228>>2]=38,i[t+232>>2]=-2147483608,A=s[7553]|s[7554]<<8|(s[7555]<<16|s[7556]<<24),n=s[7549]|s[7550]<<8|(s[7551]<<16|s[7552]<<24),l[r|0]=n,l[r+1|0]=n>>>8,l[r+2|0]=n>>>16,l[r+3|0]=n>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+38|0]=0,A=s[7583]|s[7584]<<8|(s[7585]<<16|s[7586]<<24),n=s[7579]|s[7580]<<8|(s[7581]<<16|s[7582]<<24),l[r+30|0]=n,l[r+31|0]=n>>>8,l[r+32|0]=n>>>16,l[r+33|0]=n>>>24,l[r+34|0]=A,l[r+35|0]=A>>>8,l[r+36|0]=A>>>16,l[r+37|0]=A>>>24,A=s[7577]|s[7578]<<8|(s[7579]<<16|s[7580]<<24),n=s[7573]|s[7574]<<8|(s[7575]<<16|s[7576]<<24),l[r+24|0]=n,l[r+25|0]=n>>>8,l[r+26|0]=n>>>16,l[r+27|0]=n>>>24,l[r+28|0]=A,l[r+29|0]=A>>>8,l[r+30|0]=A>>>16,l[r+31|0]=A>>>24,A=s[7569]|s[7570]<<8|(s[7571]<<16|s[7572]<<24),n=s[7565]|s[7566]<<8|(s[7567]<<16|s[7568]<<24),l[r+16|0]=n,l[r+17|0]=n>>>8,l[r+18|0]=n>>>16,l[r+19|0]=n>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[7561]|s[7562]<<8|(s[7563]<<16|s[7564]<<24),n=s[7557]|s[7558]<<8|(s[7559]<<16|s[7560]<<24),l[r+8|0]=n,l[r+9|0]=n>>>8,l[r+10|0]=n>>>16,l[r+11|0]=n>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(f,2,2e3,t+224|0),l[t+235|0]<0&&G(i[t+224>>2]),r=0;break p}if((r|0)==(_|0)){r=U(40),i[t+224>>2]=r,i[t+228>>2]=34,i[t+232>>2]=-2147483608,A=s[12484]|s[12485]<<8|(s[12486]<<16|s[12487]<<24),n=s[12480]|s[12481]<<8|(s[12482]<<16|s[12483]<<24),l[r|0]=n,l[r+1|0]=n>>>8,l[r+2|0]=n>>>16,l[r+3|0]=n>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+34|0]=0,A=s[12512]|s[12513]<<8,l[r+32|0]=A,l[r+33|0]=A>>>8,A=s[12508]|s[12509]<<8|(s[12510]<<16|s[12511]<<24),n=s[12504]|s[12505]<<8|(s[12506]<<16|s[12507]<<24),l[r+24|0]=n,l[r+25|0]=n>>>8,l[r+26|0]=n>>>16,l[r+27|0]=n>>>24,l[r+28|0]=A,l[r+29|0]=A>>>8,l[r+30|0]=A>>>16,l[r+31|0]=A>>>24,A=s[12500]|s[12501]<<8|(s[12502]<<16|s[12503]<<24),n=s[12496]|s[12497]<<8|(s[12498]<<16|s[12499]<<24),l[r+16|0]=n,l[r+17|0]=n>>>8,l[r+18|0]=n>>>16,l[r+19|0]=n>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[12492]|s[12493]<<8|(s[12494]<<16|s[12495]<<24),n=s[12488]|s[12489]<<8|(s[12490]<<16|s[12491]<<24),l[r+8|0]=n,l[r+9|0]=n>>>8,l[r+10|0]=n>>>16,l[r+11|0]=n>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(f,2,2e3,t+224|0),l[t+235|0]<0&&G(i[t+224>>2]),r=0;break p}A=i[r+40>>2];G:{if(A>>>0>2]){i[A>>2]=_,o=i[k+24>>2],i[A+4>>2]=o,o&&(i[o+4>>2]=i[o+4>>2]+1),A=A+8|0;break G}A=Q2(r+36|0,y)}if(i[r+40>>2]=A,n=n+4|0,(u|0)==(n|0))break}}VA(e,y),r=1}if(A=i[t+80>>2],A&&G(A),r)break n;Z=1;break k}if(i[t+76>>2]=0,i[t+68>>2]=0,i[t+72>>2]=0,I1(t+224|0,i[e+48>>2],i[i[y>>2]+20>>2],t+68|0),i[t+224>>2]){r=i[t+228>>2],i[f>>2]=i[t+224>>2],i[f+4>>2]=r,i[f+16>>2]=i[t+240>>2],r=i[t+236>>2],i[f+8>>2]=i[t+232>>2],i[f+12>>2]=r,i[t+232>>2]=0,i[t+236>>2]=0,i[t+240>>2]=0,Z=1;break t}if(n=0,p=0,A=i[t+68>>2],u=i[t+72>>2],(A|0)!=(u|0))break m;break Z}y0(),P()}for(;;){r=i[A>>2];m:{if(!r||(o=N0(r,68572,69412),!o))break m;r=i[A+4>>2],r&&(i[r+4>>2]=i[r+4>>2]+2);B:{if(!n||(_=i[n+4>>2],i[n+4>>2]=_-1,_))break B;V[i[i[n>>2]+8>>2]](n),g(n)}r?(n=i[r+4>>2],i[r+4>>2]=n-1,n||(V[i[i[r>>2]+8>>2]](r),g(r))):r=0,n=r,p=o}if(A=A+8|0,(u|0)==(A|0))break}if(!p)break Z;if(u=0,i[t+64>>2]=0,i[t+56>>2]=0,i[t+60>>2]=0,o=0,r=i[C+48>>2],A=i[C+44>>2],(r|0)!=(A|0)){if(r=r-A|0,(r|0)<0)break i;o=U(r),i[t+56>>2]=o,u=r+o|0,i[t+64>>2]=u,l0(o,A,r),i[t+60>>2]=u}switch(W=p+56|0,A=l[p+67|0],_=(A|0)<0,r=i[p+60>>2],(_?r:A)-25|0){case 18:break w;case 1:break _;case 0:break v;default:break s}}i[t+80>>2]=h0,i[t+88>>2]=54496,i[t+144>>2]=54516,r=t+80|0,i[r+i[G0>>2]>>2]=j,i[t+84>>2]=0,A=r+i[i[t+80>>2]-12>>2]|0,b0(A,n0),i[A+72>>2]=0,i[A+76>>2]=-1,i[t+88>>2]=f0,i[i[X0>>2]+a>>2]=Y0,i[t+80>>2]=A0,i[r+i[p0>>2]>>2]=F0,i[t+144>>2]=54516,i[t+80>>2]=54476,i[t+88>>2]=54496,r=$0(n0),i[r>>2]=53552,i[t+132>>2]=0,i[t+136>>2]=0,i[t+124>>2]=0,i[t+128>>2]=0,i[t+140>>2]=24,L0(x(a,19165,27),i[i[y>>2]+20>>2]),A=t+56|0,i2(A,r),r0(f,2,123,A),l[t+67|0]<0&&G(i[t+56>>2]),i[t+80>>2]=d,i[i[L>>2]+(t+80|0)>>2]=Q0,i[t+88>>2]=I0,i[r>>2]=53552,l[t+135|0]<0&&G(i[t+124>>2]),K0(r),T0(S0),Z=1;break o}if(K2(_?i[W>>2]:W,17041,25))break s;if((o|0)!=(u|0))break h;break s}if(K2(_?i[W>>2]:W,17014,26))break s;if((o|0)!=(u|0))break h;break s}if(K2(_?i[W>>2]:W,14619,43)|(o|0)==(u|0))break s}for(;;){_=i[o>>2];h:{w:{r=I,A=i[r>>2];_:{if(!A)break _;for(;w=_>>>0>k0[A+16>>2],r=w?r:A,A=i[(w<<2)+A>>2],!!A;);if((r|0)==(I|0))break _;if(_>>>0>=k0[r+16>>2])break w}if(ne(i[e+48>>2],_))break h;r=U(40),i[t+80>>2]=r,i[t+84>>2]=35,i[t+88>>2]=-2147483608,A=s[13501]|s[13502]<<8|(s[13503]<<16|s[13504]<<24),o=s[13497]|s[13498]<<8|(s[13499]<<16|s[13500]<<24),l[r|0]=o,l[r+1|0]=o>>>8,l[r+2|0]=o>>>16,l[r+3|0]=o>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+35|0]=0,A=s[13528]|s[13529]<<8|(s[13530]<<16|s[13531]<<24),l[r+31|0]=A,l[r+32|0]=A>>>8,l[r+33|0]=A>>>16,l[r+34|0]=A>>>24,A=s[13525]|s[13526]<<8|(s[13527]<<16|s[13528]<<24),o=s[13521]|s[13522]<<8|(s[13523]<<16|s[13524]<<24),l[r+24|0]=o,l[r+25|0]=o>>>8,l[r+26|0]=o>>>16,l[r+27|0]=o>>>24,l[r+28|0]=A,l[r+29|0]=A>>>8,l[r+30|0]=A>>>16,l[r+31|0]=A>>>24,A=s[13517]|s[13518]<<8|(s[13519]<<16|s[13520]<<24),o=s[13513]|s[13514]<<8|(s[13515]<<16|s[13516]<<24),l[r+16|0]=o,l[r+17|0]=o>>>8,l[r+18|0]=o>>>16,l[r+19|0]=o>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[13509]|s[13510]<<8|(s[13511]<<16|s[13512]<<24),o=s[13505]|s[13506]<<8|(s[13507]<<16|s[13508]<<24),l[r+8|0]=o,l[r+9|0]=o>>>8,l[r+10|0]=o>>>16,l[r+11|0]=o>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(f,2,2e3,t+80|0),l[t+91|0]<0&&G(i[t+80>>2]),Z=1;break l}_=i[r+20>>2],A=i[r+24>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),h=i[y>>2];w:{if((h|0)==(_|0)){r=U(32),i[t+80>>2]=r,i[t+84>>2]=30,i[t+88>>2]=-2147483616,w=s[12550]|s[12551]<<8|(s[12552]<<16|s[12553]<<24),Z=s[12546]|s[12547]<<8|(s[12548]<<16|s[12549]<<24),l[r|0]=Z,l[r+1|0]=Z>>>8,l[r+2|0]=Z>>>16,l[r+3|0]=Z>>>24,l[r+4|0]=w,l[r+5|0]=w>>>8,l[r+6|0]=w>>>16,l[r+7|0]=w>>>24,l[r+30|0]=0,w=s[12572]|s[12573]<<8|(s[12574]<<16|s[12575]<<24),Z=s[12568]|s[12569]<<8|(s[12570]<<16|s[12571]<<24),l[r+22|0]=Z,l[r+23|0]=Z>>>8,l[r+24|0]=Z>>>16,l[r+25|0]=Z>>>24,l[r+26|0]=w,l[r+27|0]=w>>>8,l[r+28|0]=w>>>16,l[r+29|0]=w>>>24,w=s[12566]|s[12567]<<8|(s[12568]<<16|s[12569]<<24),Z=s[12562]|s[12563]<<8|(s[12564]<<16|s[12565]<<24),l[r+16|0]=Z,l[r+17|0]=Z>>>8,l[r+18|0]=Z>>>16,l[r+19|0]=Z>>>24,l[r+20|0]=w,l[r+21|0]=w>>>8,l[r+22|0]=w>>>16,l[r+23|0]=w>>>24,w=s[12558]|s[12559]<<8|(s[12560]<<16|s[12561]<<24),Z=s[12554]|s[12555]<<8|(s[12556]<<16|s[12557]<<24),l[r+8|0]=Z,l[r+9|0]=Z>>>8,l[r+10|0]=Z>>>16,l[r+11|0]=Z>>>24,l[r+12|0]=w,l[r+13|0]=w>>>8,l[r+14|0]=w>>>16,l[r+15|0]=w>>>24,r0(f,2,2e3,t+80|0),l[t+91|0]<0&&G(i[t+80>>2]),Z=1;break w}if(l[h+48|0]=1,w=i[k+24>>2],w&&(i[w+4>>2]=i[w+4>>2]+1),i[_+52>>2]=h,r=i[_+56>>2],i[_+56>>2]=w,Z=0,!r||(w=i[r+4>>2],i[r+4>>2]=w-1,w))break w;V[i[i[r>>2]+8>>2]](r),g(r)}w:{if(!A||(r=i[A+4>>2],i[A+4>>2]=r-1,r))break w;V[i[i[A>>2]+8>>2]](A),g(A)}if((h|0)==(_|0))break l}if(o=o+4|0,(u|0)==(o|0))break}A=s[p+67|0],r=i[p+60>>2]}s:{h:{w:{if(h=r,r=A<<24>>24<0,A=(r?h:A)-26|0,A){if((A|0)==17)break w;break s}if(!K2(r?i[W>>2]:W,16753,26))break h;break s}if(K2(r?i[W>>2]:W,8263,43))break s}if(l[i[y>>2]+60|0]=1,Z=i[t+56>>2],n2=i[t+60>>2],(Z|0)==(n2|0))break s;for(;;){o=i[Z>>2];h:{w:{r=I,A=i[r>>2];_:{if(!A)break _;for(;u=o>>>0>k0[A+16>>2],r=u?r:A,A=i[(u<<2)+A>>2],!!A;);if((r|0)==(I|0))break _;if(o>>>0>=k0[r+16>>2])break w}if(ne(i[e+48>>2],o))break h;r=U(40),i[t+80>>2]=r,i[t+84>>2]=35,i[t+88>>2]=-2147483608,A=s[13431]|s[13432]<<8|(s[13433]<<16|s[13434]<<24),o=s[13427]|s[13428]<<8|(s[13429]<<16|s[13430]<<24),l[r|0]=o,l[r+1|0]=o>>>8,l[r+2|0]=o>>>16,l[r+3|0]=o>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+35|0]=0,A=s[13458]|s[13459]<<8|(s[13460]<<16|s[13461]<<24),l[r+31|0]=A,l[r+32|0]=A>>>8,l[r+33|0]=A>>>16,l[r+34|0]=A>>>24,A=s[13455]|s[13456]<<8|(s[13457]<<16|s[13458]<<24),o=s[13451]|s[13452]<<8|(s[13453]<<16|s[13454]<<24),l[r+24|0]=o,l[r+25|0]=o>>>8,l[r+26|0]=o>>>16,l[r+27|0]=o>>>24,l[r+28|0]=A,l[r+29|0]=A>>>8,l[r+30|0]=A>>>16,l[r+31|0]=A>>>24,A=s[13447]|s[13448]<<8|(s[13449]<<16|s[13450]<<24),o=s[13443]|s[13444]<<8|(s[13445]<<16|s[13446]<<24),l[r+16|0]=o,l[r+17|0]=o>>>8,l[r+18|0]=o>>>16,l[r+19|0]=o>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[13439]|s[13440]<<8|(s[13441]<<16|s[13442]<<24),o=s[13435]|s[13436]<<8|(s[13437]<<16|s[13438]<<24),l[r+8|0]=o,l[r+9|0]=o>>>8,l[r+10|0]=o>>>16,l[r+11|0]=o>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(f,2,2e3,t+80|0),l[t+91|0]<0&&G(i[t+80>>2]),Z=1;break l}if(u=i[y>>2],A=i[r+20>>2],(u|0)==(A|0)){r=U(32),i[t+80>>2]=r,i[t+84>>2]=30,i[t+88>>2]=-2147483616,A=s[12519]|s[12520]<<8|(s[12521]<<16|s[12522]<<24),o=s[12515]|s[12516]<<8|(s[12517]<<16|s[12518]<<24),l[r|0]=o,l[r+1|0]=o>>>8,l[r+2|0]=o>>>16,l[r+3|0]=o>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+30|0]=0,A=s[12541]|s[12542]<<8|(s[12543]<<16|s[12544]<<24),o=s[12537]|s[12538]<<8|(s[12539]<<16|s[12540]<<24),l[r+22|0]=o,l[r+23|0]=o>>>8,l[r+24|0]=o>>>16,l[r+25|0]=o>>>24,l[r+26|0]=A,l[r+27|0]=A>>>8,l[r+28|0]=A>>>16,l[r+29|0]=A>>>24,A=s[12535]|s[12536]<<8|(s[12537]<<16|s[12538]<<24),o=s[12531]|s[12532]<<8|(s[12533]<<16|s[12534]<<24),l[r+16|0]=o,l[r+17|0]=o>>>8,l[r+18|0]=o>>>16,l[r+19|0]=o>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[12527]|s[12528]<<8|(s[12529]<<16|s[12530]<<24),o=s[12523]|s[12524]<<8|(s[12525]<<16|s[12526]<<24),l[r+8|0]=o,l[r+9|0]=o>>>8,l[r+10|0]=o>>>16,l[r+11|0]=o>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(f,2,2e3,t+80|0),l[t+91|0]<0&&G(i[t+80>>2]),Z=1;break l}o=i[k+24>>2],o&&(i[o+4>>2]=i[o+4>>2]+1),i[A+64>>2]=u,r=i[A+68>>2],i[A+68>>2]=o;w:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break w;V[i[i[r>>2]+8>>2]](r),g(r)}if(i[t+52>>2]=0,i[t+44>>2]=0,i[t+48>>2]=0,r=i[p+72>>2],o=i[p+68>>2],(r|0)!=(o|0)){if(r=r-o|0,(r|0)<0)break r;A=U(r),i[t+48>>2]=A,i[t+44>>2]=A,u=r+A|0,i[t+52>>2]=u,l0(A,o,r),i[t+48>>2]=u}i[t+40>>2]=0,i[t+32>>2]=0,i[t+36>>2]=0,J=t+80|0,S=t+32|0,o=B-96|0,B=o,r=i[t+44>>2],A=w6(o- -64|0,r,i[t+48>>2]-r|0),r=i[A+8>>2],h=r>>31<<3|r>>>29,u=i[A+24>>2],r=u+(r<<3)|0,h=(u>>31)+h|0,h=r>>>0>>0?h+1|0:h;w:{if((h|0)<=0&r>>>0<=31|(h|0)<0){if(r=U(24),i[o+32>>2]=r,i[o+36>>2]=22,i[o+40>>2]=-2147483624,A=s[3011]|s[3012]<<8|(s[3013]<<16|s[3014]<<24),u=s[3007]|s[3008]<<8|(s[3009]<<16|s[3010]<<24),l[r|0]=u,l[r+1|0]=u>>>8,l[r+2|0]=u>>>16,l[r+3|0]=u>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+22|0]=0,A=s[3025]|s[3026]<<8|(s[3027]<<16|s[3028]<<24),u=s[3021]|s[3022]<<8|(s[3023]<<16|s[3024]<<24),l[r+14|0]=u,l[r+15|0]=u>>>8,l[r+16|0]=u>>>16,l[r+17|0]=u>>>24,l[r+18|0]=A,l[r+19|0]=A>>>8,l[r+20|0]=A>>>16,l[r+21|0]=A>>>24,A=s[3019]|s[3020]<<8|(s[3021]<<16|s[3022]<<24),u=s[3015]|s[3016]<<8|(s[3017]<<16|s[3018]<<24),l[r+8|0]=u,l[r+9|0]=u>>>8,l[r+10|0]=u>>>16,l[r+11|0]=u>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(J,2,100,o+32|0),l[o+43|0]>=0)break w;G(i[o+32>>2]);break w}h=g0(A,32),r=(i[A+4>>2]-i[A+8>>2]|0)+(i[A+24>>2]/-8|0)|0;_:{if((h|0)<=(r|0))break _;if(r=r+i[t+44>>2]|0,u=w6(o+32|0,r,i[t+48>>2]-r|0),r=i[u+8>>2],h=r>>31<<3|r>>>29,A=i[u+24>>2],r=A+(r<<3)|0,v=(A>>31)+h|0,v=r>>>0>>0?v+1|0:v,(v|0)<=0&r>>>0<=39|(v|0)<0){if(r=U(24),i[o+4>>2]=r,i[o+8>>2]=22,i[o+12>>2]=-2147483624,A=s[3011]|s[3012]<<8|(s[3013]<<16|s[3014]<<24),u=s[3007]|s[3008]<<8|(s[3009]<<16|s[3010]<<24),l[r|0]=u,l[r+1|0]=u>>>8,l[r+2|0]=u>>>16,l[r+3|0]=u>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+22|0]=0,A=s[3025]|s[3026]<<8|(s[3027]<<16|s[3028]<<24),u=s[3021]|s[3022]<<8|(s[3023]<<16|s[3024]<<24),l[r+14|0]=u,l[r+15|0]=u>>>8,l[r+16|0]=u>>>16,l[r+17|0]=u>>>24,l[r+18|0]=A,l[r+19|0]=A>>>8,l[r+20|0]=A>>>16,l[r+21|0]=A>>>24,A=s[3019]|s[3020]<<8|(s[3021]<<16|s[3022]<<24),u=s[3015]|s[3016]<<8|(s[3017]<<16|s[3018]<<24),l[r+8|0]=u,l[r+9|0]=u>>>8,l[r+10|0]=u>>>16,l[r+11|0]=u>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(J,2,100,o+4|0),l[o+15|0]>=0)break w;G(i[o+4>>2]);break w}if(g0(u,32),r=g0(u,8),p2(u,8),(r>>>1&255)-39>>>0>1)break _;if(r=i[u+24>>2],A=r,_=r>>31,r=i[u+8>>2],h=r>>31<<3|r>>>29,w=A,A=r<<3,r=w+A|0,h=h+_|0,h=r>>>0>>0?h+1|0:h,(h|0)<=0&r>>>0<=15|(h|0)<0){if(r=U(24),i[o+4>>2]=r,i[o+8>>2]=22,i[o+12>>2]=-2147483624,A=s[3011]|s[3012]<<8|(s[3013]<<16|s[3014]<<24),u=s[3007]|s[3008]<<8|(s[3009]<<16|s[3010]<<24),l[r|0]=u,l[r+1|0]=u>>>8,l[r+2|0]=u>>>16,l[r+3|0]=u>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+22|0]=0,A=s[3025]|s[3026]<<8|(s[3027]<<16|s[3028]<<24),u=s[3021]|s[3022]<<8|(s[3023]<<16|s[3024]<<24),l[r+14|0]=u,l[r+15|0]=u>>>8,l[r+16|0]=u>>>16,l[r+17|0]=u>>>24,l[r+18|0]=A,l[r+19|0]=A>>>8,l[r+20|0]=A>>>16,l[r+21|0]=A>>>24,A=s[3019]|s[3020]<<8|(s[3021]<<16|s[3022]<<24),u=s[3015]|s[3016]<<8|(s[3017]<<16|s[3018]<<24),l[r+8|0]=u,l[r+9|0]=u>>>8,l[r+10|0]=u>>>16,l[r+11|0]=u>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(J,2,100,o+4|0),l[o+15|0]>=0)break w;G(i[o+4>>2]);break w}if(r=g0(u,8),g0(u,8),(r&255)!=177)break _;_=B-48|0,B=_,w=o+4|0,r=w,i[r>>2]=0,i[r+4>>2]=0,h=r+8|0,r=h,i[r>>2]=0,i[r+4>>2]=0,i[r+16>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,r=U(80),i[r+16>>2]=0,i[r+20>>2]=0,i[r+24>>2]=0,i[r+28>>2]=0,i[r>>2]=74312,i[r+4>>2]=0,i[r+8>>2]=0,i[r+72>>2]=0,i[r+76>>2]=0,i[r+16>>2]=74352,i[r+32>>2]=0,i[r+36>>2]=0,i[r+40>>2]=0,i[r+44>>2]=0,i[r+48>>2]=0,i[r+52>>2]=0,i[r+56>>2]=0,i[r+60>>2]=0,A=r- -64|0,i[A>>2]=0,i[A+4>>2]=0,l[r+24|0]=1,A=g0(u,1),l[r+25|0]=A,s2=r,W2=g0(u,1),l[s2+26|0]=W2,v=g0(u,1),l[r+27|0]=v,z=g0(u,1),l[r+28|0]=z;v:{Z:{m:{if(!g1(u,_+44|0)){if(A=U(48),i[_+12>>2]=A,i[_+16>>2]=42,i[_+20>>2]=-2147483600,u=s[2744]|s[2745]<<8,l[A+40|0]=u,l[A+41|0]=u>>>8,u=s[2740]|s[2741]<<8|(s[2742]<<16|s[2743]<<24),v=s[2736]|s[2737]<<8|(s[2738]<<16|s[2739]<<24),l[A+32|0]=v,l[A+33|0]=v>>>8,l[A+34|0]=v>>>16,l[A+35|0]=v>>>24,l[A+36|0]=u,l[A+37|0]=u>>>8,l[A+38|0]=u>>>16,l[A+39|0]=u>>>24,u=s[2732]|s[2733]<<8|(s[2734]<<16|s[2735]<<24),v=s[2728]|s[2729]<<8|(s[2730]<<16|s[2731]<<24),l[A+24|0]=v,l[A+25|0]=v>>>8,l[A+26|0]=v>>>16,l[A+27|0]=v>>>24,l[A+28|0]=u,l[A+29|0]=u>>>8,l[A+30|0]=u>>>16,l[A+31|0]=u>>>24,u=s[2724]|s[2725]<<8|(s[2726]<<16|s[2727]<<24),v=s[2720]|s[2721]<<8|(s[2722]<<16|s[2723]<<24),l[A+16|0]=v,l[A+17|0]=v>>>8,l[A+18|0]=v>>>16,l[A+19|0]=v>>>24,l[A+20|0]=u,l[A+21|0]=u>>>8,l[A+22|0]=u>>>16,l[A+23|0]=u>>>24,u=s[2716]|s[2717]<<8|(s[2718]<<16|s[2719]<<24),v=s[2712]|s[2713]<<8|(s[2714]<<16|s[2715]<<24),l[A+8|0]=v,l[A+9|0]=v>>>8,l[A+10|0]=v>>>16,l[A+11|0]=v>>>24,l[A+12|0]=u,l[A+13|0]=u>>>8,l[A+14|0]=u>>>16,l[A+15|0]=u>>>24,u=s[2708]|s[2709]<<8|(s[2710]<<16|s[2711]<<24),v=s[2704]|s[2705]<<8|(s[2706]<<16|s[2707]<<24),l[A|0]=v,l[A+1|0]=v>>>8,l[A+2|0]=v>>>16,l[A+3|0]=v>>>24,l[A+4|0]=u,l[A+5|0]=u>>>8,l[A+6|0]=u>>>16,l[A+7|0]=u>>>24,l[A+42|0]=0,A=r0(_+24|0,2,2006,_+12|0),u=i[A+4>>2],i[h>>2]=i[A>>2],i[h+4>>2]=u,l[w+27|0]<0&&G(i[w+16>>2]),u=i[A+12>>2],i[w+16>>2]=i[A+8>>2],i[w+20>>2]=u,i[w+24>>2]=i[A+16>>2],l[A+19|0]=0,l[A+8|0]=0,l[_+23|0]>=0)break m;G(i[_+12>>2]);break m}if(q=i[_+44>>2],q>>>0>=4){if(A=U(48),i[_+12>>2]=A,i[_+16>>2]=44,i[_+20>>2]=-2147483600,u=s[10456]|s[10457]<<8|(s[10458]<<16|s[10459]<<24),l[A+40|0]=u,l[A+41|0]=u>>>8,l[A+42|0]=u>>>16,l[A+43|0]=u>>>24,u=s[10452]|s[10453]<<8|(s[10454]<<16|s[10455]<<24),v=s[10448]|s[10449]<<8|(s[10450]<<16|s[10451]<<24),l[A+32|0]=v,l[A+33|0]=v>>>8,l[A+34|0]=v>>>16,l[A+35|0]=v>>>24,l[A+36|0]=u,l[A+37|0]=u>>>8,l[A+38|0]=u>>>16,l[A+39|0]=u>>>24,u=s[10444]|s[10445]<<8|(s[10446]<<16|s[10447]<<24),v=s[10440]|s[10441]<<8|(s[10442]<<16|s[10443]<<24),l[A+24|0]=v,l[A+25|0]=v>>>8,l[A+26|0]=v>>>16,l[A+27|0]=v>>>24,l[A+28|0]=u,l[A+29|0]=u>>>8,l[A+30|0]=u>>>16,l[A+31|0]=u>>>24,u=s[10436]|s[10437]<<8|(s[10438]<<16|s[10439]<<24),v=s[10432]|s[10433]<<8|(s[10434]<<16|s[10435]<<24),l[A+16|0]=v,l[A+17|0]=v>>>8,l[A+18|0]=v>>>16,l[A+19|0]=v>>>24,l[A+20|0]=u,l[A+21|0]=u>>>8,l[A+22|0]=u>>>16,l[A+23|0]=u>>>24,u=s[10428]|s[10429]<<8|(s[10430]<<16|s[10431]<<24),v=s[10424]|s[10425]<<8|(s[10426]<<16|s[10427]<<24),l[A+8|0]=v,l[A+9|0]=v>>>8,l[A+10|0]=v>>>16,l[A+11|0]=v>>>24,l[A+12|0]=u,l[A+13|0]=u>>>8,l[A+14|0]=u>>>16,l[A+15|0]=u>>>24,u=s[10420]|s[10421]<<8|(s[10422]<<16|s[10423]<<24),v=s[10416]|s[10417]<<8|(s[10418]<<16|s[10419]<<24),l[A|0]=v,l[A+1|0]=v>>>8,l[A+2|0]=v>>>16,l[A+3|0]=v>>>24,l[A+4|0]=u,l[A+5|0]=u>>>8,l[A+6|0]=u>>>16,l[A+7|0]=u>>>24,l[A+44|0]=0,A=r0(_+24|0,2,2006,_+12|0),u=i[A+4>>2],i[h>>2]=i[A>>2],i[h+4>>2]=u,l[w+27|0]<0&&G(i[w+16>>2]),u=i[A+12>>2],i[w+16>>2]=i[A+8>>2],i[w+20>>2]=u,i[w+24>>2]=i[A+16>>2],l[A+19|0]=0,l[A+8|0]=0,l[_+23|0]>=0)break m;G(i[_+12>>2]);break m}if(i[r+64>>2]=q,(v|z)&255){if(!g1(u,_+8|0)){if(A=U(48),i[_+12>>2]=A,i[_+16>>2]=41,i[_+20>>2]=-2147483600,l[A+40|0]=s[2702],u=s[2698]|s[2699]<<8|(s[2700]<<16|s[2701]<<24),v=s[2694]|s[2695]<<8|(s[2696]<<16|s[2697]<<24),l[A+32|0]=v,l[A+33|0]=v>>>8,l[A+34|0]=v>>>16,l[A+35|0]=v>>>24,l[A+36|0]=u,l[A+37|0]=u>>>8,l[A+38|0]=u>>>16,l[A+39|0]=u>>>24,u=s[2690]|s[2691]<<8|(s[2692]<<16|s[2693]<<24),v=s[2686]|s[2687]<<8|(s[2688]<<16|s[2689]<<24),l[A+24|0]=v,l[A+25|0]=v>>>8,l[A+26|0]=v>>>16,l[A+27|0]=v>>>24,l[A+28|0]=u,l[A+29|0]=u>>>8,l[A+30|0]=u>>>16,l[A+31|0]=u>>>24,u=s[2682]|s[2683]<<8|(s[2684]<<16|s[2685]<<24),v=s[2678]|s[2679]<<8|(s[2680]<<16|s[2681]<<24),l[A+16|0]=v,l[A+17|0]=v>>>8,l[A+18|0]=v>>>16,l[A+19|0]=v>>>24,l[A+20|0]=u,l[A+21|0]=u>>>8,l[A+22|0]=u>>>16,l[A+23|0]=u>>>24,u=s[2674]|s[2675]<<8|(s[2676]<<16|s[2677]<<24),v=s[2670]|s[2671]<<8|(s[2672]<<16|s[2673]<<24),l[A+8|0]=v,l[A+9|0]=v>>>8,l[A+10|0]=v>>>16,l[A+11|0]=v>>>24,l[A+12|0]=u,l[A+13|0]=u>>>8,l[A+14|0]=u>>>16,l[A+15|0]=u>>>24,u=s[2666]|s[2667]<<8|(s[2668]<<16|s[2669]<<24),v=s[2662]|s[2663]<<8|(s[2664]<<16|s[2665]<<24),l[A|0]=v,l[A+1|0]=v>>>8,l[A+2|0]=v>>>16,l[A+3|0]=v>>>24,l[A+4|0]=u,l[A+5|0]=u>>>8,l[A+6|0]=u>>>16,l[A+7|0]=u>>>24,l[A+41|0]=0,A=r0(_+24|0,2,2006,_+12|0),u=i[A+4>>2],i[h>>2]=i[A>>2],i[h+4>>2]=u,l[w+27|0]<0&&G(i[w+16>>2]),u=i[A+12>>2],i[w+16>>2]=i[A+8>>2],i[w+20>>2]=u,i[w+24>>2]=i[A+16>>2],l[A+19|0]=0,l[A+8|0]=0,l[_+23|0]<0&&G(i[_+12>>2]),A=i[r+4>>2],i[r+4>>2]=A-1,!A)break Z;break v}i[r+68>>2]=i[_+8>>2],A=s[r+25|0]}if(A&255){h=g0(u,1),A=g0(u,7),v=g0(u,5),z=v+1|0,E=+(g0(u,z)|0);B:{if((A|0)>0){H=M1(1,z),E=M1(1,A-31|0)*(E/H+1);break B}E=M1(1,-31-v|0)*E}i0[r+32>>3]=h?-E:E}if(s[r+26|0]){h=g0(u,1),A=g0(u,7),v=g0(u,5),z=v+1|0,E=+(g0(u,z)|0);B:{if((A|0)>0){H=M1(1,z),E=M1(1,A-31|0)*(E/H+1);break B}E=M1(1,-31-v|0)*E}i0[r+40>>3]=h?-E:E}if(s[r+27|0]){h=g0(u,1),A=g0(u,7),v=g0(u,5),z=v+1|0,E=+(g0(u,z)|0);B:{if((A|0)>0){H=M1(1,z),E=M1(1,A-31|0)*(E/H+1);break B}E=M1(1,-31-v|0)*E}i0[r+48>>3]=h?-E:E}if(s[r+28|0]){h=g0(u,1),A=g0(u,7),q=u,u=g0(u,5),v=u+1|0,E=+(g0(q,v)|0);B:{if((A|0)>0){H=M1(1,v),E=M1(1,A-31|0)*(E/H+1);break B}E=M1(1,-31-u|0)*E}i0[r+56>>3]=h?-E:E}if(i[r+4>>2]=i[r+4>>2]+1,i[w>>2]=r+16,A=i[w+4>>2],i[w+4>>2]=r,!A||(u=i[A+4>>2],i[A+4>>2]=u-1,u))break m;V[i[i[A>>2]+8>>2]](A),g(A)}if(A=i[r+4>>2],i[r+4>>2]=A-1,A)break v}V[i[i[r>>2]+8>>2]](r),g(r)}if(B=_+48|0,i[o+12>>2]){r=i[o+16>>2],i[J>>2]=i[o+12>>2],i[J+4>>2]=r,r=J+8|0;v:{if(l[o+31|0]>=0){A=i[o+24>>2],i[r>>2]=i[o+20>>2],i[r+4>>2]=A,i[r+8>>2]=i[o+28>>2];break v}_0(r,i[o+20>>2],i[o+24>>2])}it(o+4|0);break w}r=o+4|0,A=i[S+4>>2];v:{if(A>>>0>2]){i[A>>2]=i[r>>2],u=i[r+4>>2],i[A+4>>2]=u,u&&(i[u+4>>2]=i[u+4>>2]+1),i[S+4>>2]=A+8;break v}s2=S,W2=Q2(S,r),i[s2+4>>2]=W2}it(r)}if(r=i[19565],i[J>>2]=i[19564],i[J+4>>2]=r,r=J+8|0,l[78275]>=0){A=i[19567],i[r>>2]=i[19566],i[r+4>>2]=A,i[r+8>>2]=i[19568];break w}_0(r,i[19566],i[19567])}if(B=o+96|0,r=i[t+84>>2],i[t+224>>2]=i[t+80>>2],i[t+228>>2]=r,l[t+243|0]<0&&G(i[t+232>>2]),r=i[a+4>>2],i[t+232>>2]=i[a>>2],i[t+236>>2]=r,i[t+240>>2]=i[a+8>>2],A=i[t+32>>2],_=i[t+36>>2],(A|0)!=(_|0)){for(;;){r=i[A>>2];w:{if(!r||(r=N0(r,72688,72704),!r))break w;if(u=i[A+4>>2],!u){o=i[y>>2],l[o+72|0]=1,u=i[r+12>>2],i[o+80>>2]=i[r+8>>2],i[o+84>>2]=u,u=i[r+20>>2],i[o+88>>2]=i[r+16>>2],i[o+92>>2]=u,u=i[r+28>>2],i[o+96>>2]=i[r+24>>2],i[o+100>>2]=u,u=i[r+36>>2],i[o+104>>2]=i[r+32>>2],i[o+108>>2]=u,u=i[r+44>>2],i[o+112>>2]=i[r+40>>2],i[o+116>>2]=u,u=i[r+52>>2],i[o+120>>2]=i[r+48>>2],i[o+124>>2]=u,u=i[r+60>>2],i[o+128>>2]=i[r+56>>2],i[o+132>>2]=u;break w}if(i[u+4>>2]=i[u+4>>2]+1,o=i[y>>2],l[o+72|0]=1,w=i[r+12>>2],i[o+80>>2]=i[r+8>>2],i[o+84>>2]=w,w=i[r+20>>2],i[o+88>>2]=i[r+16>>2],i[o+92>>2]=w,w=i[r+28>>2],i[o+96>>2]=i[r+24>>2],i[o+100>>2]=w,w=i[r+36>>2],i[o+104>>2]=i[r+32>>2],i[o+108>>2]=w,w=i[r+44>>2],i[o+112>>2]=i[r+40>>2],i[o+116>>2]=w,w=i[r+52>>2],i[o+120>>2]=i[r+48>>2],i[o+124>>2]=w,w=i[r+60>>2],i[o+128>>2]=i[r+56>>2],i[o+132>>2]=w,r=i[u+4>>2],i[u+4>>2]=r-1,r)break w;V[i[i[u>>2]+8>>2]](u),g(u)}if(A=A+8|0,(_|0)==(A|0))break}A=i[t+32>>2]}if(A){if(w=A,r=i[t+36>>2],(A|0)!=(r|0)){for(;;){o=i[r-4>>2];w:{if(!o||(u=i[o+4>>2],i[o+4>>2]=u-1,u))break w;V[i[i[o>>2]+8>>2]](o),g(o)}if(r=r-8|0,(A|0)==(r|0))break}w=i[t+32>>2]}i[t+36>>2]=A,G(w)}if(r=i[t+44>>2],!r)break h;i[t+48>>2]=r,G(r)}if(Z=Z+4|0,(n2|0)==(Z|0))break}}o=i[y>>2],l[o+136|0]=1,r=o+140|0;s:{if((r|0)==(W|0))break s;if(A=l[p+67|0],l[o+151|0]>=0){if((A|0)>=0){A=i[W+4>>2],i[r>>2]=i[W>>2],i[r+4>>2]=A,i[r+8>>2]=i[W+8>>2];break s}i4(r,i[p+56>>2],i[p+60>>2]);break s}h=r,r=(A|0)<0,_4(h,r?i[p+56>>2]:W,r?i[p+60>>2]:A)}if(p=i[t+56>>2],_=i[t+60>>2],(p|0)==(_|0)){Z=0;break u}for(;;){o=i[p>>2];s:{h:{r=I,A=i[r>>2];w:{if(!A)break w;for(;u=o>>>0>k0[A+16>>2],r=u?r:A,A=i[(u<<2)+A>>2],!!A;);if((r|0)==(I|0))break w;if(o>>>0>=k0[r+16>>2])break h}if(ne(i[e+48>>2],o))break s;r=U(40),i[t+80>>2]=r,i[t+84>>2]=33,i[t+88>>2]=-2147483608,A=s[13397]|s[13398]<<8|(s[13399]<<16|s[13400]<<24),o=s[13393]|s[13394]<<8|(s[13395]<<16|s[13396]<<24),l[r|0]=o,l[r+1|0]=o>>>8,l[r+2|0]=o>>>16,l[r+3|0]=o>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+33|0]=0,l[r+32|0]=s[13425],A=s[13421]|s[13422]<<8|(s[13423]<<16|s[13424]<<24),o=s[13417]|s[13418]<<8|(s[13419]<<16|s[13420]<<24),l[r+24|0]=o,l[r+25|0]=o>>>8,l[r+26|0]=o>>>16,l[r+27|0]=o>>>24,l[r+28|0]=A,l[r+29|0]=A>>>8,l[r+30|0]=A>>>16,l[r+31|0]=A>>>24,A=s[13413]|s[13414]<<8|(s[13415]<<16|s[13416]<<24),o=s[13409]|s[13410]<<8|(s[13411]<<16|s[13412]<<24),l[r+16|0]=o,l[r+17|0]=o>>>8,l[r+18|0]=o>>>16,l[r+19|0]=o>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[13405]|s[13406]<<8|(s[13407]<<16|s[13408]<<24),o=s[13401]|s[13402]<<8|(s[13403]<<16|s[13404]<<24),l[r+8|0]=o,l[r+9|0]=o>>>8,l[r+10|0]=o>>>16,l[r+11|0]=o>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(f,2,2e3,t+80|0),l[t+91|0]<0&&G(i[t+80>>2]),Z=1;break l}if(u=i[y>>2],A=i[r+20>>2],(u|0)==(A|0)){r=U(32),i[t+80>>2]=r,i[t+84>>2]=28,i[t+88>>2]=-2147483616,A=s[12455]|s[12456]<<8|(s[12457]<<16|s[12458]<<24),o=s[12451]|s[12452]<<8|(s[12453]<<16|s[12454]<<24),l[r|0]=o,l[r+1|0]=o>>>8,l[r+2|0]=o>>>16,l[r+3|0]=o>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+28|0]=0,A=s[12475]|s[12476]<<8|(s[12477]<<16|s[12478]<<24),l[r+24|0]=A,l[r+25|0]=A>>>8,l[r+26|0]=A>>>16,l[r+27|0]=A>>>24,A=s[12471]|s[12472]<<8|(s[12473]<<16|s[12474]<<24),o=s[12467]|s[12468]<<8|(s[12469]<<16|s[12470]<<24),l[r+16|0]=o,l[r+17|0]=o>>>8,l[r+18|0]=o>>>16,l[r+19|0]=o>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[12463]|s[12464]<<8|(s[12465]<<16|s[12466]<<24),o=s[12459]|s[12460]<<8|(s[12461]<<16|s[12462]<<24),l[r+8|0]=o,l[r+9|0]=o>>>8,l[r+10|0]=o>>>16,l[r+11|0]=o>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(f,2,2e3,t+80|0),l[t+91|0]<0&&G(i[t+80>>2]),Z=1;break l}r=i[k+24>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),i[t+84>>2]=r,i[t+80>>2]=u,o=i[A+156>>2];h:{if(o>>>0>2]){i[o+4>>2]=r,i[o>>2]=u,i[A+156>>2]=o+8;break h}if(o=z2(A+152|0,t+80|0),r=i[t+84>>2],i[A+156>>2]=o,!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break h;V[i[i[r>>2]+8>>2]](r),g(r)}VA(e,y)}if(p=p+4|0,(_|0)==(p|0))break}Z=0}p=i[t+56>>2]}if(!p)break o;G(p)}if(!n||(r=i[n+4>>2],i[n+4>>2]=r-1,r))break t;V[i[i[n>>2]+8>>2]](n),g(n)}if(l[t+243|0]<0&&G(i[t+232>>2]),n=i[t+68>>2],n){if(r=n,A=i[t+72>>2],(r|0)!=(A|0)){for(;;){r=i[A-4>>2];t:{if(!r||(o=i[r+4>>2],i[r+4>>2]=o-1,o))break t;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(n|0)==(A|0))break}r=i[t+68>>2]}i[t+72>>2]=n,G(r)}if(Z)break k}if(C=C+56|0,(r2|0)==(C|0))break}Z=14}C=i[t+248>>2]}if(C){if(r=C,A=i[t+252>>2],(r|0)!=(A|0)){for(;r=i[A-12>>2],r&&(i[A-8>>2]=r,G(r)),r=A-56|0,i[r>>2]=68500,n=i[A-36>>2],n&&(i[A-32>>2]=n,G(n)),A=r,(r|0)!=(C|0););r=i[t+248>>2]}i[t+252>>2]=C,G(r)}f:{if((Z|0)!=14){if((Z|0)==12)break f;break A}r=k,A=i[r+4>>2];k:{if(A){for(;;)if(k=A,A=i[A>>2],!A)break k}for(;k=i[r+8>>2],A=i[k>>2]!=(r|0),r=k,!!A;);}if((k|0)!=(I|0))continue}break}k=i[e+16>>2]}f:{if((k|0)!=(I|0)){for(;;){fe(t+224|0,i[e+48>>2],i[i[k+20>>2]+20>>2]),A=i[t+224>>2],w=i[A+68>>2],r=l[A+75|0],n=(r|0)<0;k:{if(((n?w:r)|0)!=4||(n=n?i[A+64>>2]:A- -64|0,(s[n|0]|s[n+1|0]<<8|(s[n+2|0]<<16|s[n+3|0]<<24))!=828601960))break k;A=i[e+48>>2],i[t+248>>2]=i[A+52>>2],r=i[A+56>>2],i[t+252>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1,A=i[e+48>>2]),n=i[A+44>>2],r=i[A+48>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),p4(t+80|0,n,i[i[k+20>>2]+20>>2],t+248|0,1752589123),n=i[t+80>>2],A=i[t+84>>2];n:{if(!A||(o=i[A+4>>2],i[A+4>>2]=o-1,o))break n;V[i[i[A>>2]+8>>2]](A),g(A)}if(!n){e=U(40),i[t+80>>2]=e,i[t+84>>2]=35,i[t+88>>2]=-2147483608,k=s[11019]|s[11020]<<8|(s[11021]<<16|s[11022]<<24),A=s[11015]|s[11016]<<8|(s[11017]<<16|s[11018]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=k,l[e+5|0]=k>>>8,l[e+6|0]=k>>>16,l[e+7|0]=k>>>24,l[e+35|0]=0,k=s[11046]|s[11047]<<8|(s[11048]<<16|s[11049]<<24),l[e+31|0]=k,l[e+32|0]=k>>>8,l[e+33|0]=k>>>16,l[e+34|0]=k>>>24,k=s[11043]|s[11044]<<8|(s[11045]<<16|s[11046]<<24),A=s[11039]|s[11040]<<8|(s[11041]<<16|s[11042]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=k,l[e+29|0]=k>>>8,l[e+30|0]=k>>>16,l[e+31|0]=k>>>24,k=s[11035]|s[11036]<<8|(s[11037]<<16|s[11038]<<24),A=s[11031]|s[11032]<<8|(s[11033]<<16|s[11034]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=k,l[e+21|0]=k>>>8,l[e+22|0]=k>>>16,l[e+23|0]=k>>>24,k=s[11027]|s[11028]<<8|(s[11029]<<16|s[11030]<<24),A=s[11023]|s[11024]<<8|(s[11025]<<16|s[11026]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=k,l[e+13|0]=k>>>8,l[e+14|0]=k>>>16,l[e+15|0]=k>>>24,r0(f,2,106,t+80|0),l[t+91|0]<0&&G(i[t+80>>2]);n:{if(!r||(f=i[r+4>>2],i[r+4>>2]=f-1,f))break n;V[i[i[r>>2]+8>>2]](r),g(r)}if(f=i[t+252>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break f;V[i[i[f>>2]+8>>2]](f),g(f);break f}n:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break n;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[t+252>>2];n:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break n;V[i[i[r>>2]+8>>2]](r),g(r)}A=i[t+224>>2],r=s[A+75|0],w=i[A+68>>2]}h=r,r=r<<24>>24<0;k:{if(((r?w:h)|0)!=4||(r=r?i[A+64>>2]:A- -64|0,(s[r|0]|s[r+1|0]<<8|(s[r+2|0]<<16|s[r+3|0]<<24))!=828601974))break k;A=i[e+48>>2],i[t+248>>2]=i[A+52>>2],r=i[A+56>>2],i[t+252>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1,A=i[e+48>>2]),n=i[A+44>>2],r=i[A+48>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),p4(t+80|0,n,i[i[k+20>>2]+20>>2],t+248|0,1987470147),n=i[t+80>>2],A=i[t+84>>2];n:{if(!A||(o=i[A+4>>2],i[A+4>>2]=o-1,o))break n;V[i[i[A>>2]+8>>2]](A),g(A)}if(!n){e=U(40),i[t+80>>2]=e,i[t+84>>2]=35,i[t+88>>2]=-2147483608,k=s[10983]|s[10984]<<8|(s[10985]<<16|s[10986]<<24),A=s[10979]|s[10980]<<8|(s[10981]<<16|s[10982]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=k,l[e+5|0]=k>>>8,l[e+6|0]=k>>>16,l[e+7|0]=k>>>24,l[e+35|0]=0,k=s[11010]|s[11011]<<8|(s[11012]<<16|s[11013]<<24),l[e+31|0]=k,l[e+32|0]=k>>>8,l[e+33|0]=k>>>16,l[e+34|0]=k>>>24,k=s[11007]|s[11008]<<8|(s[11009]<<16|s[11010]<<24),A=s[11003]|s[11004]<<8|(s[11005]<<16|s[11006]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=k,l[e+29|0]=k>>>8,l[e+30|0]=k>>>16,l[e+31|0]=k>>>24,k=s[10999]|s[11e3]<<8|(s[11001]<<16|s[11002]<<24),A=s[10995]|s[10996]<<8|(s[10997]<<16|s[10998]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=k,l[e+21|0]=k>>>8,l[e+22|0]=k>>>16,l[e+23|0]=k>>>24,k=s[10991]|s[10992]<<8|(s[10993]<<16|s[10994]<<24),A=s[10987]|s[10988]<<8|(s[10989]<<16|s[10990]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=k,l[e+13|0]=k>>>8,l[e+14|0]=k>>>16,l[e+15|0]=k>>>24,r0(f,2,141,t+80|0),l[t+91|0]<0&&G(i[t+80>>2]);n:{if(!r||(f=i[r+4>>2],i[r+4>>2]=f-1,f))break n;V[i[i[r>>2]+8>>2]](r),g(r)}if(f=i[t+252>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break f;V[i[i[f>>2]+8>>2]](f),g(f);break f}n:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break n;V[i[i[r>>2]+8>>2]](r),g(r)}if(r=i[t+252>>2],!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break k;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[t+228>>2];k:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break k;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[k+4>>2];k:{if(r){for(;;)if(A=r,r=i[r>>2],!r)break k}for(;A=i[k+8>>2],r=i[A>>2]!=(k|0),k=A,!!r;);}if(k=A,(A|0)==(I|0))break}k=i[e+16>>2]}k:{if((k|0)==(I|0))break k;for(;;){n=i[k+16>>2],fe(t+224|0,i[e+48>>2],n),A=i[t+224>>2],r=A?30:31;n:{if(!R|!A)break n;o=l[A+75|0],r=(o|0)<0;t:{if(((r?i[A+68>>2]:o)|0)!=4||(r=r?i[A+64>>2]:A- -64|0,(s[r|0]|s[r+1|0]<<8|(s[r+2|0]<<16|s[r+3|0]<<24))!=1684632167))break t;oi(t+80|0,R,n),w=i[t+80>>2];o:{if((w|0)==i[t+84>>2]){r=31;break o}r=31,A=i[I>>2];u:{if(!A)break u;for(n=i[w>>2],w=I;o=n>>>0>k0[A+16>>2],w=o?w:A,A=i[(o<<2)+A>>2],!!A;);if((w|0)==(I|0)|n>>>0>2])break u;n=i[w+20>>2],A=i[w+24>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),r=i[k+20>>2];l:{if(i[r+184>>2]||(o=i[n+184>>2],!o))break l;i[t+248>>2]=o,o=i[n+188>>2],i[t+252>>2]=o,o&&(i[o+4>>2]=i[o+4>>2]+1),jA(r,t+248|0),r=i[t+252>>2];s:{if(!r||(o=i[r+4>>2],i[r+4>>2]=o-1,o))break s;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[k+20>>2]}l:{if(i[r+176>>2]||(o=i[n+176>>2],!o)||(i[t+248>>2]=o,n=i[n+180>>2],i[t+252>>2]=n,n&&(i[n+4>>2]=i[n+4>>2]+1),jA(r,t+248|0),r=i[t+252>>2],!r)||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break l;V[i[i[r>>2]+8>>2]](r),g(r)}if(r=0,!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break u;V[i[i[A>>2]+8>>2]](A),g(A)}w=i[t+80>>2]}if(w&&(i[t+84>>2]=w,G(w)),r)break n}r=0}A=i[t+228>>2];n:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break n;V[i[i[A>>2]+8>>2]](A),g(A)}if(r&&(r|0)!=31)break k;r=i[k+4>>2];n:{if(r){for(;;)if(A=r,r=i[r>>2],!r)break n}for(;A=i[k+8>>2],r=i[A>>2]!=(k|0),k=A,!!r;);}if(k=A,(A|0)==(I|0))break}}k:{p=i[t+260>>2],h=i[t+264>>2];n:{if((p|0)==(h|0))break n;for(;;){n=t+224|0,A=i[p>>2],W6(n,i[e+48>>2],A),r=l[t+235|0],k=(r|0)<0;t:{if(((k?i[t+228>>2]:r)|0)==4&&(Z=33,k=k?i[t+224>>2]:n,w=s[k+1|0]<<8,o=s[k+2|0]<<16|s[k+3|0]<<24,(s[k|0]|w|o)==1851877234|(o|(w|s[k|0]))==1852138601))break t;cr(t+248|0,i[e+48>>2],A),n=t+68|0,r=0;o:{u:{o=i[e+48>>2],k=i[o+112>>2];l:{if(!k)break l;for(o=o+112|0,w=o;r=A>>>0>k0[k+16>>2],w=r?w:k,k=i[(r<<2)+k>>2],!!k;);if(r=0,(o|0)==(w|0)|A>>>0>2])break l;if(k=i[w+20>>2],r=i[w+24>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),k)break u}l[n|0]=0,l[n+11|0]=0;break o}if(l[k+123|0]>=0){o=i[k+116>>2],i[n>>2]=i[k+112>>2],i[n+4>>2]=o,i[n+8>>2]=i[k+120>>2];break o}_0(n,i[k+112>>2],i[k+116>>2])}o:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break o;V[i[i[r>>2]+8>>2]](r),g(r)}k=U(64),r=k,i[r+16>>2]=0,i[r+20>>2]=0,i[r>>2]=72744,i[r+4>>2]=0,i[r+8>>2]=0,i[r+12>>2]=A,i[r+24>>2]=0,i[r+28>>2]=0,i[r+32>>2]=0,i[r+36>>2]=0,n=r+40|0,r=n,i[r>>2]=0,i[r+4>>2]=0,i[k+48>>2]=0,i[k+52>>2]=0,i[k+56>>2]=0,i[k+60>>2]=0,r=k+16|0;o:{u:{l:{s:{if(l[t+235|0]>=0){if(o=i[t+228>>2],i[r>>2]=i[t+224>>2],i[r+4>>2]=o,i[r+8>>2]=i[t+232>>2],r=k+28|0,l[t+259|0]>=0)break s;break u}if(i4(r,i[t+224>>2],i[t+228>>2]),r=k+28|0,o=l[t+259|0],l[k+39|0]<0)break l;if((o|0)<0)break u}o=i[t+252>>2],i[r>>2]=i[t+248>>2],i[r+4>>2]=o,i[r+8>>2]=i[t+256>>2];break o}w=r,r=(o|0)<0,_4(w,r?i[t+248>>2]:t+248|0,r?i[t+252>>2]:o);break o}i4(r,i[t+248>>2],i[t+252>>2])}r=l[t+79|0];o:{if(l[k+51|0]>=0){if((r|0)>=0){r=i[t+72>>2],i[n>>2]=i[t+68>>2],i[n+4>>2]=r,i[n+8>>2]=i[t+76>>2];break o}i4(n,i[t+68>>2],i[t+72>>2]);break o}w=n,n=(r|0)<0,_4(w,n?i[t+68>>2]:t+68|0,n?i[t+72>>2]:r)}w8(t+80|0,i[e+48>>2],A,k+52|0);o:{if(i[t+80>>2]){if(Z=33,A=l[t+235|0],r=(A|0)<0,((r?i[t+228>>2]:A)|0)!=4||(r=r?i[t+224>>2]:t+224|0,A=s[r+1|0]<<8,w=s[r+2|0]<<16|s[r+3|0]<<24,(s[r|0]|A|w)!=1718188101&(w|(A|s[r|0]))!=1701669229))break o;r=i[t+84>>2],i[f>>2]=i[t+80>>2],i[f+4>>2]=r,i[f+16>>2]=i[t+96>>2],r=i[t+92>>2],i[f+8>>2]=i[t+88>>2],i[f+12>>2]=r,i[t+88>>2]=0,i[t+92>>2]=0,i[t+96>>2]=0,Z=1;break o}if(R){oe(t+56|0,R,A),n=i[t+56>>2],w=i[t+60>>2];u:{if((n|0)!=(w|0)){u=k+12|0;l:{for(;;){r=i[n+16>>2];s:{if((r|0)!=1886545261){if((r|0)!=1667527523||(i[t+52>>2]=0,i[t+44>>2]=0,i[t+48>>2]=0,o=i[n+48>>2],r=i[n+44>>2],(o|0)==(r|0)))break s;if(A=o-r|0,(A|0)<0)break r;C=U(A),i[t+44>>2]=C,_=A+C|0,i[t+52>>2]=_,l0(C,r,A),i[t+48>>2]=_;h:{w:{if((r|0)==(o|0)){A=0;break w}_:{for(;;){o=i[C>>2];v:{Z:{r=I,A=i[r>>2];m:{if(!A)break m;for(;Z=o>>>0>k0[A+16>>2],r=Z?r:A,A=i[(Z<<2)+A>>2],!!A;);if((r|0)==(I|0))break m;if(o>>>0>=k0[r+16>>2])break Z}if(ne(i[e+48>>2],o))break v;r=U(40),i[t+32>>2]=r,i[t+36>>2]=39,i[t+40>>2]=-2147483608,A=s[10858]|s[10859]<<8|(s[10860]<<16|s[10861]<<24),o=s[10854]|s[10855]<<8|(s[10856]<<16|s[10857]<<24),l[r|0]=o,l[r+1|0]=o>>>8,l[r+2|0]=o>>>16,l[r+3|0]=o>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+39|0]=0,A=s[10889]|s[10890]<<8|(s[10891]<<16|s[10892]<<24),o=s[10885]|s[10886]<<8|(s[10887]<<16|s[10888]<<24),l[r+31|0]=o,l[r+32|0]=o>>>8,l[r+33|0]=o>>>16,l[r+34|0]=o>>>24,l[r+35|0]=A,l[r+36|0]=A>>>8,l[r+37|0]=A>>>16,l[r+38|0]=A>>>24,A=s[10882]|s[10883]<<8|(s[10884]<<16|s[10885]<<24),o=s[10878]|s[10879]<<8|(s[10880]<<16|s[10881]<<24),l[r+24|0]=o,l[r+25|0]=o>>>8,l[r+26|0]=o>>>16,l[r+27|0]=o>>>24,l[r+28|0]=A,l[r+29|0]=A>>>8,l[r+30|0]=A>>>16,l[r+31|0]=A>>>24,A=s[10874]|s[10875]<<8|(s[10876]<<16|s[10877]<<24),o=s[10870]|s[10871]<<8|(s[10872]<<16|s[10873]<<24),l[r+16|0]=o,l[r+17|0]=o>>>8,l[r+18|0]=o>>>16,l[r+19|0]=o>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[10866]|s[10867]<<8|(s[10868]<<16|s[10869]<<24),o=s[10862]|s[10863]<<8|(s[10864]<<16|s[10865]<<24),l[r+8|0]=o,l[r+9|0]=o>>>8,l[r+10|0]=o>>>16,l[r+11|0]=o>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(f,2,2e3,t+32|0),l[t+43|0]<0&&G(i[t+32>>2]),A=1;break _}if(A=i[r+20>>2],i[k+4>>2]=i[k+4>>2]+1,i[t+36>>2]=k,i[t+32>>2]=u,r=i[A+168>>2],r>>>0>2]){i[r+4>>2]=k,i[r>>2]=u,i[A+168>>2]=r+8;break v}if(o=z2(A+164|0,t+32|0),r=i[t+36>>2],i[A+168>>2]=o,!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break v;V[i[i[r>>2]+8>>2]](r),g(r)}if(C=C+4|0,(_|0)==(C|0))break}A=0}if(C=i[t+44>>2],!C)break h}G(C)}if(!A)break s;Z=1;break l}h:{A=i[I>>2];w:{if(!A)break w;for(o=i[n+40>>2],r=I;_=o>>>0>k0[A+16>>2],r=_?r:A,A=i[(_<<2)+A>>2],!!A;);if((r|0)==(I|0))break w;if(o>>>0>=k0[r+16>>2])break h}r=U(48),i[t+44>>2]=r,i[t+48>>2]=42,i[t+52>>2]=-2147483600,A=s[10815]|s[10816]<<8|(s[10817]<<16|s[10818]<<24),n=s[10811]|s[10812]<<8|(s[10813]<<16|s[10814]<<24),l[r|0]=n,l[r+1|0]=n>>>8,l[r+2|0]=n>>>16,l[r+3|0]=n>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+42|0]=0,A=s[10851]|s[10852]<<8,l[r+40|0]=A,l[r+41|0]=A>>>8,A=s[10847]|s[10848]<<8|(s[10849]<<16|s[10850]<<24),n=s[10843]|s[10844]<<8|(s[10845]<<16|s[10846]<<24),l[r+32|0]=n,l[r+33|0]=n>>>8,l[r+34|0]=n>>>16,l[r+35|0]=n>>>24,l[r+36|0]=A,l[r+37|0]=A>>>8,l[r+38|0]=A>>>16,l[r+39|0]=A>>>24,A=s[10839]|s[10840]<<8|(s[10841]<<16|s[10842]<<24),n=s[10835]|s[10836]<<8|(s[10837]<<16|s[10838]<<24),l[r+24|0]=n,l[r+25|0]=n>>>8,l[r+26|0]=n>>>16,l[r+27|0]=n>>>24,l[r+28|0]=A,l[r+29|0]=A>>>8,l[r+30|0]=A>>>16,l[r+31|0]=A>>>24,A=s[10831]|s[10832]<<8|(s[10833]<<16|s[10834]<<24),n=s[10827]|s[10828]<<8|(s[10829]<<16|s[10830]<<24),l[r+16|0]=n,l[r+17|0]=n>>>8,l[r+18|0]=n>>>16,l[r+19|0]=n>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[10823]|s[10824]<<8|(s[10825]<<16|s[10826]<<24),n=s[10819]|s[10820]<<8|(s[10821]<<16|s[10822]<<24),l[r+8|0]=n,l[r+9|0]=n>>>8,l[r+10|0]=n>>>16,l[r+11|0]=n>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(f,2,2e3,t+44|0),l[t+55|0]<0&&G(i[t+44>>2]),Z=1;break l}l[i[r+20>>2]+49|0]=1}if(n=n+56|0,(w|0)==(n|0))break}Z=34}n=i[t+56>>2];break u}Z=34}if(n){if(r=n,A=i[t+60>>2],(r|0)!=(A|0)){for(;r=i[A-12>>2],r&&(i[A-8>>2]=r,G(r)),r=A-56|0,i[r>>2]=68500,o=i[A-36>>2],o&&(i[A-32>>2]=o,G(o)),A=r,(r|0)!=(n|0););r=i[t+56>>2]}i[t+60>>2]=n,G(r)}if((Z|0)!=34)break o}Z=0}l[t+99|0]<0&&G(i[t+88>>2]),r=i[k+4>>2],i[k+4>>2]=r-1,r||(V[i[i[k>>2]+8>>2]](k),g(k)),l[t+79|0]<0&&G(i[t+68>>2]),l[t+259|0]<0&&G(i[t+248>>2]),r=s[t+235|0]}r<<24>>24<0&&G(i[t+224>>2]);t:switch(Z-32|0){default:if(Z)break A;case 1:if(p=p+4|0,(h|0)!=(p|0))continue;break;case 0:break t}break}if(C=i[t+260>>2],W=i[t+264>>2],(C|0)==(W|0))break n;for(v=e+72|0;;){k=t+224|0,h=i[C>>2],W6(k,i[e+48>>2],h),A=l[t+235|0],r=(A|0)<0;t:{o:{if(((r?i[t+228>>2]:A)|0)!=4||(r=r?i[t+224>>2]:k,(s[r|0]|s[r+1|0]<<8|(s[r+2|0]<<16|s[r+3|0]<<24))!=1851877234))break o;r=U(36),i[r+16>>2]=0,i[r+20>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=72616,i[r+24>>2]=0,i[r+28>>2]=0,i[r+32>>2]=0,i[t+36>>2]=r,i[t+32>>2]=r+12,i[r+12>>2]=h,i[t+256>>2]=0,i[t+248>>2]=0,i[t+252>>2]=0,w8(t+80|0,i[e+48>>2],h,t+248|0);u:{if(i[t+80>>2]){r=i[t+84>>2],i[f>>2]=i[t+80>>2],i[f+4>>2]=r,i[f+16>>2]=i[t+96>>2],r=i[t+92>>2],i[f+8>>2]=i[t+88>>2],i[f+12>>2]=r,i[t+88>>2]=0,i[t+92>>2]=0,i[t+96>>2]=0,r=1;break u}u=t+12|0,k=i[t+32>>2],A=B-16|0,B=A,_=t+248|0,r=i[_>>2],n=i[_+4>>2]-r|0;l:{if(n>>>0<=7){if(r=U(32),i[A+4>>2]=r,i[A+8>>2]=25,i[A+12>>2]=-2147483616,k=s[14528]|s[14529]<<8|(s[14530]<<16|s[14531]<<24),n=s[14524]|s[14525]<<8|(s[14526]<<16|s[14527]<<24),l[r|0]=n,l[r+1|0]=n>>>8,l[r+2|0]=n>>>16,l[r+3|0]=n>>>24,l[r+4|0]=k,l[r+5|0]=k>>>8,l[r+6|0]=k>>>16,l[r+7|0]=k>>>24,l[r+25|0]=0,l[r+24|0]=s[14548],k=s[14544]|s[14545]<<8|(s[14546]<<16|s[14547]<<24),n=s[14540]|s[14541]<<8|(s[14542]<<16|s[14543]<<24),l[r+16|0]=n,l[r+17|0]=n>>>8,l[r+18|0]=n>>>16,l[r+19|0]=n>>>24,l[r+20|0]=k,l[r+21|0]=k>>>8,l[r+22|0]=k>>>16,l[r+23|0]=k>>>24,k=s[14536]|s[14537]<<8|(s[14538]<<16|s[14539]<<24),n=s[14532]|s[14533]<<8|(s[14534]<<16|s[14535]<<24),l[r+8|0]=n,l[r+9|0]=n>>>8,l[r+10|0]=n>>>16,l[r+11|0]=n>>>24,l[r+12|0]=k,l[r+13|0]=k>>>8,l[r+14|0]=k>>>16,l[r+15|0]=k>>>24,r0(u,2,136,A+4|0),l[A+15|0]>=0)break l;G(i[A+4>>2]);break l}Z=l[r+1|0]&1;s:{if(Z){if(n>>>0<=11){if(r=U(24),i[A+4>>2]=r,i[A+8>>2]=22,i[A+12>>2]=-2147483624,k=s[9265]|s[9266]<<8|(s[9267]<<16|s[9268]<<24),n=s[9261]|s[9262]<<8|(s[9263]<<16|s[9264]<<24),l[r|0]=n,l[r+1|0]=n>>>8,l[r+2|0]=n>>>16,l[r+3|0]=n>>>24,l[r+4|0]=k,l[r+5|0]=k>>>8,l[r+6|0]=k>>>16,l[r+7|0]=k>>>24,l[r+22|0]=0,k=s[9279]|s[9280]<<8|(s[9281]<<16|s[9282]<<24),n=s[9275]|s[9276]<<8|(s[9277]<<16|s[9278]<<24),l[r+14|0]=n,l[r+15|0]=n>>>8,l[r+16|0]=n>>>16,l[r+17|0]=n>>>24,l[r+18|0]=k,l[r+19|0]=k>>>8,l[r+20|0]=k>>>16,l[r+21|0]=k>>>24,k=s[9273]|s[9274]<<8|(s[9275]<<16|s[9276]<<24),n=s[9269]|s[9270]<<8|(s[9271]<<16|s[9272]<<24),l[r+8|0]=n,l[r+9|0]=n>>>8,l[r+10|0]=n>>>16,l[r+11|0]=n>>>24,l[r+12|0]=k,l[r+13|0]=k>>>8,l[r+14|0]=k>>>16,l[r+15|0]=k>>>24,r0(u,2,136,A+4|0),l[A+15|0]>=0)break l;G(i[A+4>>2]);break l}n=s[r+2|0]|s[r+3|0]<<8|(s[r+4|0]<<16|s[r+5|0]<<24),i[k+4>>2]=n<<24|(n&65280)<<8|(n>>>8&65280|n>>>24),p=s[r+7|0]<<16|s[r+6|0]<<24|s[r+8|0]<<8,o=10,n=9;break s}i[k+4>>2]=s[r+3|0]|s[r+2|0]<<8,p=s[r+4|0]<<8,o=6,n=5}if(i[k+8>>2]=s[r+n|0]|p,w=s[r+o|0],i[A>>2]=o|1,w)for(p=Z?32:16,Z=k+12|0,o=0;;){if(r=i[A>>2],n=i[_>>2],r>>>0>=i[_+4>>2]-n>>>0){if(r=U(24),i[A+4>>2]=r,i[A+8>>2]=22,i[A+12>>2]=-2147483624,k=s[9265]|s[9266]<<8|(s[9267]<<16|s[9268]<<24),n=s[9261]|s[9262]<<8|(s[9263]<<16|s[9264]<<24),l[r|0]=n,l[r+1|0]=n>>>8,l[r+2|0]=n>>>16,l[r+3|0]=n>>>24,l[r+4|0]=k,l[r+5|0]=k>>>8,l[r+6|0]=k>>>16,l[r+7|0]=k>>>24,l[r+22|0]=0,k=s[9279]|s[9280]<<8|(s[9281]<<16|s[9282]<<24),n=s[9275]|s[9276]<<8|(s[9277]<<16|s[9278]<<24),l[r+14|0]=n,l[r+15|0]=n>>>8,l[r+16|0]=n>>>16,l[r+17|0]=n>>>24,l[r+18|0]=k,l[r+19|0]=k>>>8,l[r+20|0]=k>>>16,l[r+21|0]=k>>>24,k=s[9273]|s[9274]<<8|(s[9275]<<16|s[9276]<<24),n=s[9269]|s[9270]<<8|(s[9271]<<16|s[9272]<<24),l[r+8|0]=n,l[r+9|0]=n>>>8,l[r+10|0]=n>>>16,l[r+11|0]=n>>>24,l[r+12|0]=k,l[r+13|0]=k>>>8,l[r+14|0]=k>>>16,l[r+15|0]=k>>>24,r0(u,2,136,A+4|0),l[A+15|0]>=0)break l;G(i[A+4>>2]);break l}n=s[r+n|0],i[A>>2]=r+1;s:{h:{w:switch(n|0){case 0:r=U(24),i[r+16>>2]=0,i[r+20>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=73408,i[r+12>>2]=73144,i[A+8>>2]=r,i[A+4>>2]=r+12;break h;case 1:r=U(32),i[r+16>>2]=0,i[r+20>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=73448,i[r+24>>2]=0,i[r+28>>2]=0,i[r+12>>2]=73188,i[A+8>>2]=r,i[A+4>>2]=r+12;break h;case 2:r=U(32),i[r+16>>2]=0,i[r+20>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=73488,i[r+24>>2]=0,i[r+28>>2]=0,i[r+12>>2]=73232,i[A+8>>2]=r,i[A+4>>2]=r+12;break h;case 3:if(r=U(32),i[r+16>>2]=1,i[r+28>>2]=0,i[r+20>>2]=0,i[r+24>>2]=0,i[r+4>>2]=1,i[r+8>>2]=0,i[r>>2]=73528,i[r+12>>2]=73276,i[A+8>>2]=r,i[A+4>>2]=r+12,n=i[r+4>>2],i[r+4>>2]=n-1,n)break h;V[i[i[r>>2]+8>>2]](r),g(r);break h;case 4:r=U(36),i[r+16>>2]=0,i[r+20>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=73568,i[r+24>>2]=0,i[r+28>>2]=0,i[r+32>>2]=0,i[r+12>>2]=73320,i[A+8>>2]=r,i[A+4>>2]=r+12;break h;case 5:r=U(44),i[r+16>>2]=0,i[r+20>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r+40>>2]=0,i[r+32>>2]=0,i[r+36>>2]=0,i[r>>2]=73608,i[r+24>>2]=0,i[r+28>>2]=0,i[r+12>>2]=73364,i[A+8>>2]=r,i[A+4>>2]=r+12;break h;case 6:break w;default:break s}if(r=U(32),i[r+16>>2]=0,i[r+28>>2]=0,i[r+20>>2]=0,i[r+24>>2]=0,i[r+4>>2]=1,i[r+8>>2]=0,i[r>>2]=73528,i[r+12>>2]=73276,i[A+8>>2]=r,i[A+4>>2]=r+12,n=i[r+4>>2],i[r+4>>2]=n-1,n)break h;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[A+4>>2],V[i[i[r>>2]+12>>2]](u,r,_,p,A),y=i[u>>2];h:{if(y)break h;r=i[k+16>>2];w:{if(r>>>0>2]){i[r>>2]=i[A+4>>2],n=i[A+8>>2],i[r+4>>2]=n,n&&(i[n+4>>2]=i[n+4>>2]+1),r=r+8|0;break w}r=Q2(Z,A+4|0)}if(i[k+16>>2]=r,l[u+19|0]>=0)break h;G(i[u+8>>2])}r=i[A+8>>2];h:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break h;V[i[i[r>>2]+8>>2]](r),g(r)}if(y)break l}if(o=o+1|0,(w|0)==(o|0))break}if(r=i[19565],i[u>>2]=i[19564],i[u+4>>2]=r,r=u+8|0,l[78275]>=0){k=i[19567],i[r>>2]=i[19566],i[r+4>>2]=k,i[r+8>>2]=i[19568];break l}_0(r,i[19566],i[19567])}if(B=A+16|0,l[t+31|0]<0&&G(i[t+20>>2]),R){oe(t+68|0,R,h),o=i[t+68>>2],y=i[t+72>>2];l:{if((o|0)==(y|0)){r=40;break l}s:{for(;;){if(r=i[o+16>>2],(r|0)==1667527523){if(i[t+64>>2]=0,i[t+56>>2]=0,i[t+60>>2]=0,A=i[o+48>>2],r=i[o+44>>2],(A|0)!=(r|0)){if(k=A-r|0,(k|0)<0)break i;if(n=l0(U(k),r,k),(r|0)!=(A|0))for(_=k+n|0,k=n;;){h:{A=i[I>>2];w:{if(!A)break w;for(u=i[k>>2],r=I;w=u>>>0>k0[A+16>>2],r=w?r:A,A=i[(w<<2)+A>>2],!!A;);if((r|0)==(I|0))break w;if(u>>>0>=k0[r+16>>2])break h}r=U(48),i[t+44>>2]=r,i[t+48>>2]=42,i[t+52>>2]=-2147483600,k=s[10772]|s[10773]<<8|(s[10774]<<16|s[10775]<<24),A=s[10768]|s[10769]<<8|(s[10770]<<16|s[10771]<<24),l[r|0]=A,l[r+1|0]=A>>>8,l[r+2|0]=A>>>16,l[r+3|0]=A>>>24,l[r+4|0]=k,l[r+5|0]=k>>>8,l[r+6|0]=k>>>16,l[r+7|0]=k>>>24,l[r+42|0]=0,k=s[10808]|s[10809]<<8,l[r+40|0]=k,l[r+41|0]=k>>>8,k=s[10804]|s[10805]<<8|(s[10806]<<16|s[10807]<<24),A=s[10800]|s[10801]<<8|(s[10802]<<16|s[10803]<<24),l[r+32|0]=A,l[r+33|0]=A>>>8,l[r+34|0]=A>>>16,l[r+35|0]=A>>>24,l[r+36|0]=k,l[r+37|0]=k>>>8,l[r+38|0]=k>>>16,l[r+39|0]=k>>>24,k=s[10796]|s[10797]<<8|(s[10798]<<16|s[10799]<<24),A=s[10792]|s[10793]<<8|(s[10794]<<16|s[10795]<<24),l[r+24|0]=A,l[r+25|0]=A>>>8,l[r+26|0]=A>>>16,l[r+27|0]=A>>>24,l[r+28|0]=k,l[r+29|0]=k>>>8,l[r+30|0]=k>>>16,l[r+31|0]=k>>>24,k=s[10788]|s[10789]<<8|(s[10790]<<16|s[10791]<<24),A=s[10784]|s[10785]<<8|(s[10786]<<16|s[10787]<<24),l[r+16|0]=A,l[r+17|0]=A>>>8,l[r+18|0]=A>>>16,l[r+19|0]=A>>>24,l[r+20|0]=k,l[r+21|0]=k>>>8,l[r+22|0]=k>>>16,l[r+23|0]=k>>>24,k=s[10780]|s[10781]<<8|(s[10782]<<16|s[10783]<<24),A=s[10776]|s[10777]<<8|(s[10778]<<16|s[10779]<<24),l[r+8|0]=A,l[r+9|0]=A>>>8,l[r+10|0]=A>>>16,l[r+11|0]=A>>>24,l[r+12|0]=k,l[r+13|0]=k>>>8,l[r+14|0]=k>>>16,l[r+15|0]=k>>>24,r0(f,2,2e3,t+44|0),l[t+55|0]<0&&G(i[t+44>>2]),G(n),r=1;break s}y7(i[r+20>>2],h),r=i[e+76>>2];h:{if(r>>>0>2]){i[r>>2]=i[t+32>>2],A=i[t+36>>2],i[r+4>>2]=A,A&&(i[A+4>>2]=i[A+4>>2]+1),r=r+8|0;break h}r=Q2(v,t+32|0)}if(i[e+76>>2]=r,k=k+4|0,(_|0)==(k|0))break}G(n)}r=i[o+16>>2]}if((r|0)==1835103083){if(n=0,i[t+64>>2]=0,i[t+56>>2]=0,i[t+60>>2]=0,A=0,r=i[o+48>>2],k=i[o+44>>2],(r|0)!=(k|0)){if(r=r-k|0,(r|0)<0)break i;A=U(r),i[t+56>>2]=A,u=r+A|0,i[t+64>>2]=u,l0(A,k,r),i[t+60>>2]=u}_=0,r=i[t+32>>2],k=i[r+16>>2],r=i[r+12>>2],w=k-r|0;h:{if((w|0)<=0){r=44;break h}w:{for(;;){if(A=0,i[t+52>>2]=0,i[t+44>>2]=0,i[t+48>>2]=0,Z=0,(r|0)!=(k|0)){if((w|0)<0)break r;for(Z=U(w),i[t+44>>2]=Z,i[t+52>>2]=w+Z,A=Z;i[A>>2]=i[r>>2],u=i[r+4>>2],i[A+4>>2]=u,u&&(i[u+4>>2]=i[u+4>>2]+1),A=A+8|0,r=r+8|0,(k|0)!=(r|0););i[t+48>>2]=A}if(w=n<<3,r=i[w+Z>>2],k=V[i[i[r>>2]+8>>2]](r)|0,r=Z,(A|0)!=(r|0)){for(;;){r=i[A-4>>2];_:{if(!r||(u=i[r+4>>2],i[r+4>>2]=u-1,u))break _;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(Z|0)==(A|0))break}r=i[t+44>>2]}i[t+48>>2]=Z,G(r);_:{if((k|0)!=4)break _;if(p=0,i[t+52>>2]=0,i[t+44>>2]=0,i[t+48>>2]=0,A=0,Z=0,r=i[t+32>>2],k=i[r+16>>2],r=i[r+12>>2],(k|0)!=(r|0)){if(A=k-r|0,(A|0)<0)break k;for(Z=U(A),i[t+44>>2]=Z,i[t+52>>2]=A+Z,A=Z;i[A>>2]=i[r>>2],u=i[r+4>>2],i[A+4>>2]=u,u&&(i[u+4>>2]=i[u+4>>2]+1),A=A+8|0,r=r+8|0,(k|0)!=(r|0););i[t+48>>2]=A}k=0,r=w+Z|0,u=i[r>>2];v:{if(!u)break v;if(k=N0(u,72776,73344),!k){k=0;break v}if(p=i[r+4>>2],!p){p=0;break v}i[p+4>>2]=i[p+4>>2]+1}if(r=Z,(A|0)!=(r|0)){for(;;){r=i[A-4>>2];v:{if(!r||(u=i[r+4>>2],i[r+4>>2]=u-1,u))break v;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(Z|0)==(A|0))break}r=i[t+44>>2]}i[t+48>>2]=Z,G(r),r=i[t+56>>2];v:{if(i[t+60>>2]-r>>2>>>0<=_>>>0){r=U(64),i[t+44>>2]=r,i[t+48>>2]=60,i[t+52>>2]=-2147483584,k=s[11447]|s[11448]<<8|(s[11449]<<16|s[11450]<<24),A=s[11443]|s[11444]<<8|(s[11445]<<16|s[11446]<<24),l[r|0]=A,l[r+1|0]=A>>>8,l[r+2|0]=A>>>16,l[r+3|0]=A>>>24,l[r+4|0]=k,l[r+5|0]=k>>>8,l[r+6|0]=k>>>16,l[r+7|0]=k>>>24,l[r+60|0]=0,k=s[11499]|s[11500]<<8|(s[11501]<<16|s[11502]<<24),l[r+56|0]=k,l[r+57|0]=k>>>8,l[r+58|0]=k>>>16,l[r+59|0]=k>>>24,k=s[11495]|s[11496]<<8|(s[11497]<<16|s[11498]<<24),A=s[11491]|s[11492]<<8|(s[11493]<<16|s[11494]<<24),l[r+48|0]=A,l[r+49|0]=A>>>8,l[r+50|0]=A>>>16,l[r+51|0]=A>>>24,l[r+52|0]=k,l[r+53|0]=k>>>8,l[r+54|0]=k>>>16,l[r+55|0]=k>>>24,k=s[11487]|s[11488]<<8|(s[11489]<<16|s[11490]<<24),A=s[11483]|s[11484]<<8|(s[11485]<<16|s[11486]<<24),l[r+40|0]=A,l[r+41|0]=A>>>8,l[r+42|0]=A>>>16,l[r+43|0]=A>>>24,l[r+44|0]=k,l[r+45|0]=k>>>8,l[r+46|0]=k>>>16,l[r+47|0]=k>>>24,k=s[11479]|s[11480]<<8|(s[11481]<<16|s[11482]<<24),A=s[11475]|s[11476]<<8|(s[11477]<<16|s[11478]<<24),l[r+32|0]=A,l[r+33|0]=A>>>8,l[r+34|0]=A>>>16,l[r+35|0]=A>>>24,l[r+36|0]=k,l[r+37|0]=k>>>8,l[r+38|0]=k>>>16,l[r+39|0]=k>>>24,k=s[11471]|s[11472]<<8|(s[11473]<<16|s[11474]<<24),A=s[11467]|s[11468]<<8|(s[11469]<<16|s[11470]<<24),l[r+24|0]=A,l[r+25|0]=A>>>8,l[r+26|0]=A>>>16,l[r+27|0]=A>>>24,l[r+28|0]=k,l[r+29|0]=k>>>8,l[r+30|0]=k>>>16,l[r+31|0]=k>>>24,k=s[11463]|s[11464]<<8|(s[11465]<<16|s[11466]<<24),A=s[11459]|s[11460]<<8|(s[11461]<<16|s[11462]<<24),l[r+16|0]=A,l[r+17|0]=A>>>8,l[r+18|0]=A>>>16,l[r+19|0]=A>>>24,l[r+20|0]=k,l[r+21|0]=k>>>8,l[r+22|0]=k>>>16,l[r+23|0]=k>>>24,k=s[11455]|s[11456]<<8|(s[11457]<<16|s[11458]<<24),A=s[11451]|s[11452]<<8|(s[11453]<<16|s[11454]<<24),l[r+8|0]=A,l[r+9|0]=A>>>8,l[r+10|0]=A>>>16,l[r+11|0]=A>>>24,l[r+12|0]=k,l[r+13|0]=k>>>8,l[r+14|0]=k>>>16,l[r+15|0]=k>>>24,r0(f,2,0,t+44|0),l[t+55|0]<0&&G(i[t+44>>2]),r=0;break v}Z:{if(A=i[e+16>>2],(I|0)!=(A|0))for(u=i[r+(_<<2)>>2];;){if((u|0)==i[A+16>>2])break Z;w=A,r=i[A+4>>2];m:{if(r){for(;;)if(A=r,r=i[r>>2],!r)break m}for(;A=i[w+8>>2],r=i[A>>2]!=(w|0),w=A,!!r;);}if((A|0)==(I|0))break}r=U(48),i[t+44>>2]=r,i[t+48>>2]=43,i[t+52>>2]=-2147483600,k=s[10679]|s[10680]<<8|(s[10681]<<16|s[10682]<<24),A=s[10675]|s[10676]<<8|(s[10677]<<16|s[10678]<<24),l[r|0]=A,l[r+1|0]=A>>>8,l[r+2|0]=A>>>16,l[r+3|0]=A>>>24,l[r+4|0]=k,l[r+5|0]=k>>>8,l[r+6|0]=k>>>16,l[r+7|0]=k>>>24,l[r+43|0]=0,k=s[10714]|s[10715]<<8|(s[10716]<<16|s[10717]<<24),l[r+39|0]=k,l[r+40|0]=k>>>8,l[r+41|0]=k>>>16,l[r+42|0]=k>>>24,k=s[10711]|s[10712]<<8|(s[10713]<<16|s[10714]<<24),A=s[10707]|s[10708]<<8|(s[10709]<<16|s[10710]<<24),l[r+32|0]=A,l[r+33|0]=A>>>8,l[r+34|0]=A>>>16,l[r+35|0]=A>>>24,l[r+36|0]=k,l[r+37|0]=k>>>8,l[r+38|0]=k>>>16,l[r+39|0]=k>>>24,k=s[10703]|s[10704]<<8|(s[10705]<<16|s[10706]<<24),A=s[10699]|s[10700]<<8|(s[10701]<<16|s[10702]<<24),l[r+24|0]=A,l[r+25|0]=A>>>8,l[r+26|0]=A>>>16,l[r+27|0]=A>>>24,l[r+28|0]=k,l[r+29|0]=k>>>8,l[r+30|0]=k>>>16,l[r+31|0]=k>>>24,k=s[10695]|s[10696]<<8|(s[10697]<<16|s[10698]<<24),A=s[10691]|s[10692]<<8|(s[10693]<<16|s[10694]<<24),l[r+16|0]=A,l[r+17|0]=A>>>8,l[r+18|0]=A>>>16,l[r+19|0]=A>>>24,l[r+20|0]=k,l[r+21|0]=k>>>8,l[r+22|0]=k>>>16,l[r+23|0]=k>>>24,k=s[10687]|s[10688]<<8|(s[10689]<<16|s[10690]<<24),A=s[10683]|s[10684]<<8|(s[10685]<<16|s[10686]<<24),l[r+8|0]=A,l[r+9|0]=A>>>8,l[r+10|0]=A>>>16,l[r+11|0]=A>>>24,l[r+12|0]=k,l[r+13|0]=k>>>8,l[r+14|0]=k>>>16,l[r+15|0]=k>>>24,r0(f,2,0,t+44|0),l[t+55|0]<0&&G(i[t+44>>2]),r=0;break v}r=I,A=i[r>>2];Z:{m:{if(!A)break m;for(;w=u>>>0>k0[A+16>>2],r=w?r:A,A=i[(w<<2)+A>>2],!!A;);if((r|0)==(I|0))break m;if(u>>>0>=k0[r+16>>2])break Z}r=I}if(A=i[r+20>>2],i[t+4>>2]=A,r=i[r+24>>2],i[t+8>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),i[k+20>>2]=u,!i[k+12>>2]){ei(t+44|0,i[i[A+16>>2]+48>>2],i[A+20>>2]),r=i[t+44>>2],r?r=i[r+56>>2]:r=0,A=i[t+48>>2];Z:{if(!A||(u=i[A+4>>2],i[A+4>>2]=u-1,u))break Z;V[i[i[A>>2]+8>>2]](A),g(A)}i[k+12>>2]=r}if(!i[k+16>>2]){r=i[t+4>>2],ei(t+44|0,i[i[r+16>>2]+48>>2],i[r+20>>2]),r=i[t+44>>2],r?r=i[r+60>>2]:r=0,A=i[t+48>>2];Z:{if(!A||(u=i[A+4>>2],i[A+4>>2]=u-1,u))break Z;V[i[i[A>>2]+8>>2]](A),g(A)}i[k+16>>2]=r}VA(e,t+4|0),r=i[t+8>>2];Z:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break Z;V[i[i[r>>2]+8>>2]](r),g(r)}_=_+1|0,r=1}v:{if(!p||(k=i[p+4>>2],i[p+4>>2]=k-1,k))break v;V[i[i[p>>2]+8>>2]](p),g(p)}if(r)break _;n=1,r=1;break w}if(n=n+1|0,r=i[t+32>>2],k=i[r+16>>2],r=i[r+12>>2],w=k-r|0,!((n|0)>3))break}n=0,r=44}A=i[t+56>>2]}if(A&&(i[t+60>>2]=A,G(A)),n)break s}if(o=o+56|0,(y|0)==(o|0))break}r=40}o=i[t+68>>2]}if(o){if(A=i[t+72>>2],w=o,(A|0)!=(o|0)){for(;k=i[A-12>>2],k&&(i[A-8>>2]=k,G(k)),k=A-56|0,i[k>>2]=68500,n=i[A-36>>2],n&&(i[A-32>>2]=n,G(n)),A=k,(o|0)!=(A|0););w=i[t+68>>2]}i[t+72>>2]=o,G(w)}if((r|0)!=40)break u}r=0}l[t+99|0]<0&&G(i[t+88>>2]),k=i[t+248>>2],k&&(i[t+252>>2]=k,G(k)),k=i[t+36>>2];u:{if(!k||(A=i[k+4>>2],i[k+4>>2]=A-1,A))break u;V[i[i[k>>2]+8>>2]](k),g(k)}if(r)break t}r=0}if(l[t+235|0]<0&&G(i[t+224>>2]),r){if((r|0)==38)break n;break A}if(C=C+4|0,(W|0)==(C|0))break}}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break A}_0(f,i[19566],i[19567]);break A}break r}if(f=i[t+228>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break A;V[i[i[f>>2]+8>>2]](f),g(f)}if(!D||(f=i[D+4>>2],i[D+4>>2]=f-1,f))break e;V[i[i[D>>2]+8>>2]](D),g(D)}f=i[t+260>>2],f&&(i[t+264>>2]=f,G(f)),B=t+272|0;return}y0(),P()}y0(),P()}function h8(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0;i:{r:{e:{if(!n){y=i[f+18588>>2],f0=i[y+124>>2];A:{if(!k){if(u=i[y+208>>2],o=e>>u,(o|0)<0||(w=i[y+212>>2],(w|0)<=(o|0)))break r;if(u=r>>u,(u|0)<0|(u|0)>=i[y+216>>2])break i;o=s[(o+i[y+200>>2]|0)+m(u,w)|0],o=o>>>0<=34?o:0;break A}if(u=i[y+228>>2],o=m(i[f0+16852>>2],e)>>u,(o|0)<0||(w=i[y+232>>2],(w|0)<=(o|0)))break r;if(u=m(i[f0+16856>>2],r)>>u,(u|0)<0|(u|0)>=i[y+236>>2])break i;o=s[(o+i[y+220>>2]|0)+m(u,w)|0]&63}n0=o>>>0>34?1:o,C=n0,z=i[y+(k?44:40)>>2],o=m(z,r),u=i[(y+(k<<2)|0)+4>>2];A:{f:{k:{n:{t:{o:{if(i[i[y+124>>2]+(k?16840:16832)>>2]>=9){R=u+(e+o<<1)|0,a=B-528|0,B=a,W=B-336|0,B=W,i[W+24>>2]=k,i[W+16>>2]=y,i[W+32>>2]=r,i[W+28>>2]=e,v=a+256|0,i[W+12>>2]=v,i[W+20>>2]=A;u:{if((A|0)<65){i[W+316>>2]=16843009,h=W+12|0,An(h);l:{if(i[h+8>>2]<33){if(u=i[h+4>>2],o=i[h+12>>2],Z=i[u+(o?44:40)>>2],p=i[h+16>>2],w=i[h+24>>2],I=i[w+16936>>2],H=i[h+20>>2],I=i[(i[i[h+28>>2]+8496>>2]+(m(p,i[h+296>>2])>>I<<2)|0)+(m(i[w+16924>>2],m(H,i[h+300>>2])>>I)<<2)>>2],D=i[(u+(o<<2)|0)+4>>2],o=i[h+308>>2],!(s[h+304|0]!=1|(o|0)<=0))for(u=D-2|0,w=o-1|0;;){o=w;s:{if(s[h+304|0]!=1)break s;J=i[h+28>>2],S=m(i[h+296>>2],p-1|0),E=i[h+24>>2],q=i[E+16936>>2],d=o+H|0,A0=m(d,i[h+300>>2]),E=i[(i[J+8496>>2]+(S>>q<<2)|0)+(m(i[E+16924>>2],A0>>q)<<2)>>2];h:{if(s[J+24|0]){if(J=S,w=i[h+4>>2],S=i[w+168>>2],J=J>>S,(J|0)<0||(q=i[w+172>>2],(q|0)<=(J|0)))break r;if(S=A0>>S,(S|0)<0|(S|0)>=i[w+176>>2])break i;if(s[((i[w+160>>2]+m(J,3)|0)+m(m(S,q),3)|0)+1|0]&3)break s;if((I|0)>=(E|0))break h;break s}if((I|0)<(E|0))break s}i[h+316>>2]||(X[h+320>>1]=Q[(u+(p<<1)|0)+(m(Z,d)<<1)>>1]),w=o^-1,l[w+i[h+292>>2]|0]=1,X[i[h>>2]+(w<<1)>>1]=Q[(u+(i[h+16>>2]<<1)|0)+(m(Z,o+i[h+20>>2]|0)<<1)>>1],l[i[h+292>>2]-o|0]=1,X[i[h>>2]-(o<<1)>>1]=Q[(u+(i[h+16>>2]<<1)|0)+(m(Z,(o+i[h+20>>2]|0)-1|0)<<1)>>1],w=1-o|0,l[w+i[h+292>>2]|0]=1,X[i[h>>2]+(w<<1)>>1]=Q[(u+(i[h+16>>2]<<1)|0)+(m(Z,(o+i[h+20>>2]|0)-2|0)<<1)>>1],w=2-o|0,l[w+i[h+292>>2]|0]=1,p=i[h+16>>2],H=i[h+20>>2],X[i[h>>2]+(w<<1)>>1]=Q[(u+(p<<1)|0)+(m(Z,(o+H|0)-3|0)<<1)>>1],i[h+316>>2]=i[h+316>>2]+4}if(w=o-4|0,!((o|0)>3))break}s:{if(!s[h+307|0])break s;o=i[h+28>>2],w=m(i[h+296>>2],p-1|0),u=i[h+24>>2],E=i[u+16936>>2],J=H-1|0,H=m(J,i[h+300>>2]),u=i[(i[o+8496>>2]+(w>>E<<2)|0)+(m(i[u+16924>>2],H>>E)<<2)>>2];h:{if(s[o+24|0]){if(o=i[h+4>>2],E=i[o+168>>2],w=w>>E,(w|0)<0||(S=i[o+172>>2],(S|0)<=(w|0)))break r;if(H=H>>E,(H|0)<0|(H|0)>=i[o+176>>2])break i;if(s[((i[o+160>>2]+m(w,3)|0)+m(m(H,S),3)|0)+1|0]&3)break s;if((u|0)<=(I|0))break h;break s}if((u|0)>(I|0))break s}o=m(Z,J),i[h+316>>2]||(X[h+320>>1]=Q[((D+(p<<1)|0)+(o<<1)|0)-2>>1]),X[i[h>>2]>>1]=Q[((D+(p<<1)|0)+(o<<1)|0)-2>>1],l[i[h+292>>2]]=1,i[h+316>>2]=i[h+316>>2]+1}if(w=i[h+312>>2],(w|0)>0)for(u=0;;){s:{if(s[h+(i[h+8>>2]>(u|0)?305:306)|0]!=1)break s;o=i[h+28>>2],p=i[h+16>>2],E=m(i[h+296>>2],p+u|0),H=i[h+24>>2],J=i[H+16936>>2],S=i[h+20>>2]-1|0,q=m(S,i[h+300>>2]),H=i[(i[o+8496>>2]+(E>>J<<2)|0)+(m(i[H+16924>>2],q>>J)<<2)>>2];h:{if(s[o+24|0]){if(o=i[h+4>>2],J=i[o+168>>2],E=E>>J,(E|0)<0||(d=i[o+172>>2],(d|0)<=(E|0)))break r;if(J=q>>J,(J|0)<0|(J|0)>=i[o+176>>2])break i;if(s[((i[o+160>>2]+m(E,3)|0)+m(m(J,d),3)|0)+1|0]&3)break s;if((I|0)>=(H|0))break h;break s}if((I|0)<(H|0))break s}w=m(Z,S),i[h+316>>2]||(X[h+320>>1]=Q[((D+(p<<1)|0)+(u<<1)|0)+(w<<1)>>1]),H=u|1,o=D+(u<<1)|0,X[i[h>>2]+(H<<1)>>1]=Q[(o+(p<<1)|0)+(w<<1)>>1],l[H+i[h+292>>2]|0]=1,w=u|2,X[i[h>>2]+(w<<1)>>1]=Q[((o+(i[h+16>>2]<<1)|0)+(m(Z,i[h+20>>2]-1|0)<<1)|0)+2>>1],l[w+i[h+292>>2]|0]=1,w=u|3,X[i[h>>2]+(w<<1)>>1]=Q[((o+(i[h+16>>2]<<1)|0)+(m(Z,i[h+20>>2]-1|0)<<1)|0)+4>>1],l[w+i[h+292>>2]|0]=1,w=u+4|0,X[i[h>>2]+(w<<1)>>1]=Q[((o+(i[h+16>>2]<<1)|0)+(m(Z,i[h+20>>2]-1|0)<<1)|0)+6>>1],l[w+i[h+292>>2]|0]=1,i[h+316>>2]=i[h+316>>2]+4,w=i[h+312>>2]}if(u=u+4|0,!((w|0)>(u|0)))break}break l}break o}u=i[W+328>>2],o=i[W+20>>2],p=o<<2,w=p|1;l:{if((u|0)==(w|0))break l;if(!u){if(h=0,Z=o<<1,u=0-Z|0,(u|0)>(Z|0))break l;for(I=w&5,o=1<>2]+124>>2]+(i[W+24>>2]?16840:16832)>>2]-1,w=i[W+12>>2];X[w+(u<<1)>>1]=o,u=u+1|0,h=h+1|0,(I|0)!=(h|0););if(p>>>0<7)break l;for(p=w+12|0,I=w+10|0,D=w+8|0,H=w+6|0,E=w+4|0,J=w+2|0;h=u<<1,X[h+w>>1]=o,X[h+J>>1]=o,X[h+E>>1]=o,X[h+H>>1]=o,X[h+D>>1]=o,X[h+I>>1]=o,X[h+p>>1]=o,h=u+7|0,X[w+(h<<1)>>1]=o,u=u+8|0,(h|0)!=(Z|0););break l}if(o=o<<1,u=0-o|0,w=i[W+304>>2],s[w-o|0]||(X[i[W+12>>2]+(u<<1)>>1]=Q[W+332>>1]),(o|0)<=(u|0))break l;for(u=u|1,h=i[W+12>>2];s[u+w|0]||(Z=h+(u<<1)|0,X[Z>>1]=Q[Z-2>>1]),Z=u+1|0,s[Z+w|0]||(p=h+(Z<<1)|0,X[p>>1]=Q[p-2>>1]),u=u+2|0,(o|0)!=(Z|0););}B=W+336|0;break u}break t}u=i[y+124>>2];u:{if(s[u+16825|0]||k&&(_=k,i[u+16848>>2]!=3))break u;w=B-272|0,B=w;l:{if((A|0)==4|(C|0)==1)break l;o=(C|0)<26?26-C|0:C-26|0,h=(C|0)<10?10-C|0:C-10|0,o=(o|0)<(h|0)?o:h;s:{h:switch(a0(A-8|0,29)|0){case 1:if((o|0)>1)break s;break l;case 3:if((o|0)>0)break s;break l;case 7:break l;case 0:break h;default:break n}if((o|0)<8)break l}s:{h:{w:{if(!(!s[u+8997|0]|(_|(A|0)!=32))&&(_=Q[v+128>>1],o=Q[v>>1],W=(_+o|0)-(Q[v+64>>1]<<1)|0,h=W>>31,Z=1<>2]-5,(Z|0)>((h^W)-h|0)))break w;u=w+128|0;break h}if(u=w+128|0,h=Q[v-128>>1],p=(h+o|0)-(Q[v+-64>>1]<<1)|0,W=p>>31,Z>>>0<=(W^p)-W>>>0)break h;for(X[w+256>>1]=_,X[w>>1]=h,X[w+128>>1]=o,W=_-o|0,Z=h-o|0,_=1;;){if(h=_<<1,X[u-h>>1]=o+(m(_,Z)+32>>>6|0),X[u+h>>1]=o+(m(_,W)+32>>>6|0),h=_+1|0,(h|0)!=64){X[((_^-1)<<1)+u>>1]=o+(m(h,Z)+32>>>6|0),X[(h<<1)+u>>1]=o+(m(h,W)+32>>>6|0),_=_+2|0;continue}break}p=0-(A<<1)|0;break s}if(o=w+128|0,_=A<<2,X[o-_>>1]=Q[v-_>>1],X[o+_>>1]=Q[_+v>>1],h=A<<1,p=0-h|0,_=1-h|0,(_|0)>=(h|0))break s;for(Z=_<<1,D=v-2|0,_=2-h|0,W=Q[v+(_<<1)>>1],X[Z+o>>1]=(Q[D+Z>>1]+(W+(Q[v+Z>>1]<<1)|0)|0)+2>>>2;Z=_<<1,H=Z+2|0,I=Q[H+v>>1],X[o+Z>>1]=(Q[Z+D>>1]+(I+(W<<1)|0)|0)+2>>>2,_=_+2|0,W=Q[v+(_<<1)>>1],X[o+H>>1]=(Q[v+Z>>1]+(W+(I<<1)|0)|0)+2>>>2,(h|0)!=(_|0););}o=p<<1,l0(o+v|0,o+u|0,A<<3|2)}B=w+272|0}u:{l:switch(C|0){case 0:if(w=1,(A|0)>=2){for(u=0,o=A;w=u,u=u+1|0,_=o>>>0>3,o=o>>>1|0,!!_;);w=w+2|0}if((A|0)<=0)break u;for(H=A&2147483646,E=A&1,_=A-1|0,J=Q[v+((A^-1)<<1)>>1],h=Q[(v+(A<<1)|0)+2>>1],o=0;;){if(C=_-o|0,u=o+1|0,y=m(u,J),W=R+(m(o,z)<<1)|0,Z=Q[v+((o^-1)<<1)>>1],o=0,p=0,(A|0)!=1)for(;I=o|1,D=I<<1,X[W+(o<<1)>>1]=y+(((m(Z,_-o|0)+A|0)+m(h,I)|0)+m(C,Q[v+D>>1])|0)>>w,o=o+2|0,X[W+D>>1]=y+(((m(Z,_-I|0)+A|0)+m(h,o)|0)+m(C,Q[v+(o<<1)>>1])|0)>>w,p=p+2|0,(H|0)!=(p|0););if(E&&(S=W+(o<<1)|0,Z=m(Z,_-o|0)+A|0,o=o+1|0,X[S>>1]=y+((Z+m(o,h)|0)+m(C,Q[v+(o<<1)>>1])|0)>>w),o=u,(o|0)==(A|0))break}break u;case 1:if(u=0,_=1,(A|0)>=2){for(o=A;w=u,u=u+1|0,_=o>>>0>3,o=o>>>1|0,!!_;);_=w+2|0}s:{h:{w:{_:{if((A|0)>0){if(C=A&1,(A|0)!=1)break _;w=0,u=0;break w}if(k)break s;o=A>>_;break h}for(y=A&2147483646,o=0,u=0,h=0;w=o+2|0,u=Q[v+((o^2147483646)<<1)>>1]+(Q[v+(w<<1)>>1]+(Q[v+((o^-1)<<1)>>1]+(Q[(v+(o<<1)|0)+2>>1]+u|0)|0)|0)|0,o=w,h=h+2|0,(y|0)!=(h|0););}if(C&&(u=Q[v+((w^-1)<<1)>>1]+(Q[(v+(w<<1)|0)+2>>1]+u|0)|0),o=A+u>>_,!k&(A|0)<=31)break h;if((A|0)<=0)break s;for(y=A&2147483640,v=A&7,w=0,W=A>>>0<8;;){if(C=R+(m(w,z)<<1)|0,u=0,h=0,!W)for(;_=C+(u<<1)|0,X[_>>1]=o,X[_+2>>1]=o,X[_+4>>1]=o,X[_+6>>1]=o,X[_+8>>1]=o,X[_+10>>1]=o,X[_+12>>1]=o,X[_+14>>1]=o,u=u+8|0,h=h+8|0,(y|0)!=(h|0););if(h=0,v)for(;X[C+(u<<1)>>1]=o,u=u+1|0,h=h+1|0,(v|0)!=(h|0););if(w=w+1|0,(w|0)==(A|0))break}break s}if(u=1,X[R>>1]=(Q[v+2>>1]+(Q[v-2>>1]+(o<<1)|0)|0)+2>>>2,(A|0)<2)break s;if(_=A-1|0,y=_&3,C=m(o,3)+2|0,W=A-2|0,W>>>0>=3)for(p=_&-4,w=0;h=u<<1,Z=h+2|0,X[h+R>>1]=C+Q[v+Z>>1]>>>2,E=Z+R|0,Z=h+4|0,X[E>>1]=C+Q[Z+v>>1]>>>2,h=h+6|0,X[Z+R>>1]=C+Q[h+v>>1]>>>2,u=u+4|0,X[h+R>>1]=C+Q[v+(u<<1)>>1]>>>2,w=w+4|0,(p|0)!=(w|0););if(y)for(h=0;w=R+(u<<1)|0,u=u+1|0,X[w>>1]=C+Q[v+(u<<1)>>1]>>>2,h=h+1|0,(y|0)!=(h|0););if((A|0)<2)break s;if(u=1,w=m(o,3)+2|0,W)for(C=_&-2,h=0;X[R+(m(u,z)<<1)>>1]=w+Q[v+((u^-1)<<1)>>1]>>>2,X[R+(m(z,u+1|0)<<1)>>1]=w+Q[v+(-2-u<<1)>>1]>>>2,u=u+2|0,h=h+2|0,(C|0)!=(h|0););if(_&1&&(X[R+(m(u,z)<<1)>>1]=w+Q[v+((u^-1)<<1)>>1]>>>2),(A|0)<2)break s;for(y=_&-8,C=_&7,w=1;;){if(_=R+(m(w,z)<<1)|0,u=1,W>>>0>=7)for(Z=_+14|0,p=_+12|0,I=_+10|0,D=_+8|0,H=_+6|0,E=_+4|0,J=_+2|0,h=0;v=u<<1,X[v+_>>1]=o,X[v+J>>1]=o,X[v+E>>1]=o,X[v+H>>1]=o,X[v+D>>1]=o,X[v+I>>1]=o,X[v+p>>1]=o,X[v+Z>>1]=o,u=u+8|0,h=h+8|0,(y|0)!=(h|0););if(h=0,C)for(;X[_+(u<<1)>>1]=o,u=u+1|0,h=h+1|0,(C|0)!=(h|0););if(w=w+1|0,(w|0)==(A|0))break}}break u;default:break l}if(o=i[y+124>>2],H=i[o+(k?16840:16832)>>2],s[o+16822|0]){if(u=i[y+168>>2],o=e>>u,(o|0)<0||(w=i[y+172>>2],(w|0)<=(o|0)))break r;if(u=r>>u,(u|0)<0|(u|0)>=i[y+176>>2])break i;w=(s[((i[y+160>>2]+m(o,3)|0)+m(m(u,w),3)|0)+1|0]&8)>>>3|0}else w=0;o=0,_=0,y=B-528|0,B=y;l:{s:{h:{if((C|0)<35){if((C|0)>1){if(h=y+256|0,W=i[(C<<2)+45360>>2],C>>>0<=17){w:{if((A|0)<0)break w;if(u=A+1|0,Z=u&3,A>>>0>=3)for(p=u&-4;u=o<<1,X[u+h>>1]=Q[v-u>>1],I=u|2,X[I+h>>1]=Q[v-I>>1],I=u|4,X[I+h>>1]=Q[v-I>>1],u=u|6,X[u+h>>1]=Q[v-u>>1],o=o+4|0,_=_+4|0,(p|0)!=(_|0););if(!Z)break w;for(u=0;_=o<<1,X[_+h>>1]=Q[v-_>>1],o=o+1|0,u=u+1|0,(Z|0)!=(u|0););}if(u=C-11|0,u>>>0<15)break h;if(Z=A<<1,(Z|0)<=(A|0))break s;if(o=A,p=o&3,p)for(_=0,u=o;o=u+1|0,X[h+(o<<1)>>1]=Q[v+((u^-1)<<1)>>1],u=o,_=_+1|0,(p|0)!=(_|0););if(A-1>>>0<3)break s;for(_=h+6|0,p=h+4|0,I=h+2|0;u=o<<1,X[u+I>>1]=Q[v+((o^-1)<<1)>>1],X[u+p>>1]=Q[v+(-2-o<<1)>>1],X[u+_>>1]=Q[v+(-3-o<<1)>>1],u=o+4|0,X[h+(u<<1)>>1]=Q[v+(-4-o<<1)>>1],o=u,(o|0)!=(Z|0););break s}(A|0)>=0&&l0(h,v,(A<<1)+2|0),u=C-11|0;w:{if(u>>>0>=15){if(o=A<<1,(o|0)<=(A|0))break w;l0((o+y|0)+258|0,(o+v|0)+2|0,o);break w}if(_=m(A,W),o=_>>5,(o|0)>-2)break w;for(u=i[(u<<2)+45504>>2],_&32&&(X[h+(o<<1)>>1]=Q[v-(m(o,u)+128>>8<<1)>>1],o=o+1|0);X[h+(o<<1)>>1]=Q[v-(m(o,u)+128>>8<<1)>>1],_=o+1|0,X[h+(_<<1)>>1]=Q[v-(m(u,_)+128>>8<<1)>>1],o=o+2|0,!!o;);}if((A|0)>0)for(S=y+258|0,q=A&2147483646,d=A&1,A0=A<<1,j=z<<1,u=0;;){o=u,u=o+1|0,Z=m(W,u),_=Z>>5<<1,Z=Z&31;w:{if(Z){if(p=R+(m(o,z)<<1)|0,I=32-Z|0,D=h+_|0,o=0,(A|0)!=1)for(L=D+4|0,_=0;E=o<<1,h0=E+D|0,J=Q[h0+4>>1],X[p+E>>1]=(m(I,Q[h0+2>>1])+m(Z,J)|0)+16>>>5,E=E|2,X[E+p>>1]=(m(I,J)+m(Z,Q[E+L>>1])|0)+16>>>5,o=o+2|0,_=_+2|0,(q|0)!=(_|0););if(!d)break w;_=o<<1,o=_+D|0,X[_+p>>1]=(m(I,Q[o+2>>1])+m(Z,Q[o+4>>1])|0)+16>>>5;break w}l0(R+m(o,j)|0,_+S|0,A0)}if((A|0)==(u|0))break}if((C|0)!=26|A-32>>>0<4294967265|(k|w))break l;for(u=-1<>1]+(Q[v+((o^-1)<<1)>>1]-Q[v>>1]>>1)|0,X[R+(m(o,z)<<1)>>1]=(w|0)>=0?(u|0)>(w|0)?w:u:0,o=o+1|0,(o|0)!=(A|0););break l}break k}break f}if(_=m(A,W),o=_>>5,(o|0)>-2)break s;for(u=i[(u<<2)+45504>>2],_&32&&(X[h+(o<<1)>>1]=Q[v+(m(o,u)+128>>8<<1)>>1],o=o+1|0);X[h+(o<<1)>>1]=Q[v+(m(o,u)+128>>8<<1)>>1],_=o+1|0,X[h+(_<<1)>>1]=Q[v+(m(u,_)+128>>8<<1)>>1],o=o+2|0,!!o;);}if((A|0)>0)for(p=y+258|0,_=0;;){for(o=_<<1,I=o+p|0,D=o+h|0,E=R+(m(_,z)<<1)|0,o=0;;){u=o+1|0,J=m(u,W),Z=J>>5,S=E+(o<<1)|0,o=J&31;s:{if(o){Z=D+(Z<<1)|0,o=(m(Q[Z+2>>1],32-o|0)+m(o,Q[Z+4>>1])|0)+16>>>5|0;break s}o=Q[I+(Z<<1)>>1]}if(X[S>>1]=o,o=u,(o|0)==(A|0))break}if(_=_+1|0,(_|0)==(A|0))break}if((C|0)!=10|A-32>>>0<4294967265|(k|w))break l;if(w=v-2|0,o=-1<>1]+(Q[W+v>>1]-Q[v>>1]>>1)|0,X[R+z>>1]=(_|0)>=0?(o|0)>(_|0)?_:o:0,u=u+2|0,_=Q[w>>1]+(Q[v+(u<<1)>>1]-Q[v>>1]>>1)|0,X[W+R>>1]=(_|0)>=0?(o|0)>(_|0)?_:o:0,h=h+2|0,(C|0)!=(h|0););if(!(A&1))break l;_=Q[w>>1],w=u<<1,u=_+(Q[(w+v|0)+2>>1]-Q[v>>1]>>1)|0,X[w+R>>1]=(u|0)>=0?(o|0)>(u|0)?u:o:0}B=y+528|0}B=a+528|0;break A}R=(o+u|0)+e|0,H=B-272|0,B=H,W=B-336|0,B=W,i[W+24>>2]=k,i[W+16>>2]=y,i[W+32>>2]=r,i[W+28>>2]=e,v=H+128|0,i[W+12>>2]=v,i[W+20>>2]=A;u:{if((A|0)<65){i[W+316>>2]=16843009,h=W+12|0,An(h);l:{if(i[h+8>>2]<33){if(u=i[h+4>>2],o=i[h+12>>2],Z=i[u+(o?44:40)>>2],w=i[h+24>>2],p=i[w+16936>>2],p=i[(i[i[h+28>>2]+8496>>2]+(m(i[h+296>>2],i[h+16>>2])>>p<<2)|0)+(m(i[w+16924>>2],m(i[h+300>>2],i[h+20>>2])>>p)<<2)>>2],I=i[(u+(o<<2)|0)+4>>2],o=i[h+308>>2],!(s[h+304|0]!=1|(o|0)<=0))for(u=I-1|0,w=o-1|0;;){o=w;s:{if(s[h+304|0]!=1)break s;a=i[h+28>>2],J=i[h+16>>2],E=m(i[h+296>>2],J-1|0),D=i[h+24>>2],S=i[D+16936>>2],q=o+i[h+20>>2]|0,d=m(q,i[h+300>>2]),D=i[(i[a+8496>>2]+(E>>S<<2)|0)+(m(i[D+16924>>2],d>>S)<<2)>>2];h:{if(s[a+24|0]){if(a=E,w=i[h+4>>2],E=i[w+168>>2],a=a>>E,(a|0)<0||(S=i[w+172>>2],(S|0)<=(a|0)))break r;if(E=d>>E,(E|0)<0|(E|0)>=i[w+176>>2])break i;if(s[((i[w+160>>2]+m(a,3)|0)+m(m(E,S),3)|0)+1|0]&3)break s;if((p|0)>=(D|0))break h;break s}if((p|0)<(D|0))break s}i[h+316>>2]||(l[h+320|0]=s[(u+J|0)+m(Z,q)|0]),w=o^-1,l[w+i[h+292>>2]|0]=1,l[w+i[h>>2]|0]=s[(u+i[h+16>>2]|0)+m(Z,o+i[h+20>>2]|0)|0],l[i[h+292>>2]-o|0]=1,l[i[h>>2]-o|0]=s[(u+i[h+16>>2]|0)+m(Z,(o+i[h+20>>2]|0)-1|0)|0],w=1-o|0,l[w+i[h+292>>2]|0]=1,l[w+i[h>>2]|0]=s[(u+i[h+16>>2]|0)+m(Z,(o+i[h+20>>2]|0)-2|0)|0],w=2-o|0,l[w+i[h+292>>2]|0]=1,l[w+i[h>>2]|0]=s[(u+i[h+16>>2]|0)+m(Z,(o+i[h+20>>2]|0)-3|0)|0],i[h+316>>2]=i[h+316>>2]+4}if(w=o-4|0,!((o|0)>3))break}s:{if(!s[h+307|0])break s;o=i[h+28>>2],u=i[h+16>>2],D=m(i[h+296>>2],u-1|0),w=i[h+24>>2],a=i[w+16936>>2],E=i[h+20>>2]-1|0,J=m(E,i[h+300>>2]),w=i[(i[o+8496>>2]+(D>>a<<2)|0)+(m(i[w+16924>>2],J>>a)<<2)>>2];h:{if(s[o+24|0]){if(o=i[h+4>>2],a=i[o+168>>2],D=D>>a,(D|0)<0||(S=i[o+172>>2],(S|0)<=(D|0)))break r;if(a=J>>a,(a|0)<0|(a|0)>=i[o+176>>2])break i;if(s[((i[o+160>>2]+m(D,3)|0)+m(m(a,S),3)|0)+1|0]&3)break s;if((w|0)<=(p|0))break h;break s}if((w|0)>(p|0))break s}o=m(Z,E),i[h+316>>2]||(l[h+320|0]=s[(o+(u+I|0)|0)-1|0]),l[i[h>>2]]=s[(o+(u+I|0)|0)-1|0],l[i[h+292>>2]]=1,i[h+316>>2]=i[h+316>>2]+1}if(w=i[h+312>>2],(w|0)>0)for(u=0;;){s:{if(s[h+(i[h+8>>2]>(u|0)?305:306)|0]!=1)break s;o=i[h+28>>2],D=i[h+16>>2],E=m(i[h+296>>2],D+u|0),a=i[h+24>>2],J=i[a+16936>>2],S=i[h+20>>2]-1|0,q=m(S,i[h+300>>2]),a=i[(i[o+8496>>2]+(E>>J<<2)|0)+(m(i[a+16924>>2],q>>J)<<2)>>2];h:{if(s[o+24|0]){if(o=i[h+4>>2],J=i[o+168>>2],E=E>>J,(E|0)<0||(d=i[o+172>>2],(d|0)<=(E|0)))break r;if(J=q>>J,(J|0)<0|(J|0)>=i[o+176>>2])break i;if(s[((i[o+160>>2]+m(E,3)|0)+m(m(J,d),3)|0)+1|0]&3)break s;if((p|0)>=(a|0))break h;break s}if((p|0)<(a|0))break s}w=m(Z,S),i[h+316>>2]||(l[h+320|0]=s[w+((I+D|0)+u|0)|0]),a=u|1,o=u+I|0,l[a+i[h>>2]|0]=s[w+(o+D|0)|0],l[a+i[h+292>>2]|0]=1,w=u|2,l[w+i[h>>2]|0]=s[((o+i[h+16>>2]|0)+m(Z,i[h+20>>2]-1|0)|0)+1|0],l[w+i[h+292>>2]|0]=1,w=u|3,l[w+i[h>>2]|0]=s[((o+i[h+16>>2]|0)+m(Z,i[h+20>>2]-1|0)|0)+2|0],l[w+i[h+292>>2]|0]=1,w=u+4|0,l[w+i[h>>2]|0]=s[((o+i[h+16>>2]|0)+m(Z,i[h+20>>2]-1|0)|0)+3|0],l[w+i[h+292>>2]|0]=1,i[h+316>>2]=i[h+316>>2]+4,w=i[h+312>>2]}if(u=u+4|0,!((w|0)>(u|0)))break}break l}break o}o=i[W+328>>2],w=i[W+20>>2],u=w<<2|1;l:{if((o|0)==(u|0))break l;if(!o){B0(i[W+12>>2]-(w<<1)|0,1<>2]+124>>2]+(i[W+24>>2]?16840:16832)>>2]-1,u);break l}if(o=w<<1,u=0-o|0,s[i[W+304>>2]-o|0]||(l[i[W+12>>2]+u|0]=s[W+332|0],w=i[W+20>>2],u=0-(w<<1)|0),w<<1<=(u|0))break l;for(u=u|1;s[i[W+304>>2]+u|0]||(o=i[W+12>>2]+u|0,l[o|0]=s[o-1|0],w=i[W+20>>2]),o=w<<1>(u|0),u=u+1|0,!!o;);}B=W+336|0;break u}break t}u=i[y+124>>2];u:{if(s[u+16825|0]||k&&(_=k,i[u+16848>>2]!=3))break u;w=B-144|0,B=w;l:{if((A|0)==4|(C|0)==1)break l;o=(C|0)<26?26-C|0:C-26|0,h=(C|0)<10?10-C|0:C-10|0,o=(o|0)<(h|0)?o:h;s:{h:switch(a0(A-8|0,29)|0){case 1:if((o|0)>1)break s;break l;case 3:if((o|0)>0)break s;break l;case 7:break l;case 0:break h;default:break n}if((o|0)<8)break l}s:{h:{w:{if(!(!s[u+8997|0]|(_|(A|0)!=32))&&(_=s[v+64|0],o=s[v|0],W=(_+o|0)-(s[v+32|0]<<1)|0,h=W>>31,Z=1<>2]-5,(Z|0)>((h^W)-h|0)))break w;u=w- -64|0;break h}if(u=w- -64|0,h=s[v+-64|0],p=(h+o|0)-(s[v-32|0]<<1)|0,W=p>>31,Z>>>0<=(W^p)-W>>>0)break h;for(l[w+128|0]=_,l[w|0]=h,l[w+64|0]=o,W=_-o|0,Z=h-o|0,_=1;;){if(l[u-_|0]=o+(m(_,Z)+32>>>6|0),l[u+_|0]=o+(m(_,W)+32>>>6|0),h=_+1|0,(h|0)!=64){l[(_^-1)+u|0]=o+(m(h,Z)+32>>>6|0),l[u+h|0]=o+(m(h,W)+32>>>6|0),_=_+2|0;continue}break}h=0-(A<<1)|0;break s}if(Z=w- -64|0,o=A<<1,l[Z-o|0]=s[v-o|0],l[o+Z|0]=s[o+v|0],h=0-o|0,p=1-o|0,(p|0)>=(o|0))break s;for(I=v-1|0,_=2-o|0,W=s[v+_|0],l[Z+p|0]=(s[I+p|0]+(W+(s[v+p|0]<<1)|0)|0)+2>>>2;E=W<<1,W=_+1|0,p=s[W+v|0],l[_+Z|0]=(s[_+I|0]+(E+p|0)|0)+2>>>2,E=Z+W|0,J=s[_+v|0],_=_+2|0,W=s[v+_|0],l[E|0]=(J+(W+(p<<1)|0)|0)+2>>>2,(o|0)!=(_|0););}l0(h+v|0,u+h|0,A<<2|1)}B=w+144|0}u:{l:switch(C|0){case 0:if(w=1,(A|0)>=2){for(u=0,o=A;w=u,u=u+1|0,_=o>>>0>3,o=o>>>1|0,!!_;);w=w+2|0}if((A|0)<=0)break u;for(D=A&2147483646,a=A&1,_=A-1|0,E=s[v+(A^-1)|0],C=s[(A+v|0)+1|0],o=0;;){if(y=_-o|0,u=o+1|0,W=m(u,E),Z=R+m(o,z)|0,p=s[v+(o^-1)|0],o=0,h=0,(A|0)!=1)for(;I=o|1,l[o+Z|0]=W+(((m(p,_-o|0)+A|0)+m(I,C)|0)+m(y,s[v+I|0])|0)>>w,o=o+2|0,l[Z+I|0]=W+(((m(p,_-I|0)+A|0)+m(C,o)|0)+m(y,s[o+v|0])|0)>>w,h=h+2|0,(D|0)!=(h|0););if(a&&(J=o+Z|0,S=m(p,_-o|0)+A|0,o=o+1|0,l[J|0]=W+((S+m(o,C)|0)+m(y,s[o+v|0])|0)>>w),o=u,(o|0)==(A|0))break}break u;case 1:if(u=0,h=0,_=1,(A|0)>=2){for(o=A;w=u,u=u+1|0,_=o>>>0>3,o=o>>>1|0,!!_;);_=w+2|0}s:{h:{w:{_:{if((A|0)>0){if(C=A&1,(A|0)!=1)break _;w=0,u=0;break w}if(k)break s;u=A>>_;break h}for(y=A&2147483646,o=0,u=0;w=o+2|0,u=s[v+(o^-2)|0]+(s[v+w|0]+(s[v+(o^-1)|0]+(s[(o+v|0)+1|0]+u|0)|0)|0)|0,o=w,h=h+2|0,(y|0)!=(h|0););}if(C&&(u=s[v+(w^-1)|0]+(s[(w+v|0)+1|0]+u|0)|0),u=A+u>>_,!k&(A|0)<=31)break h;if((A|0)<=0)break s;if(o=0,h=0,A>>>0>=4)for(_=A&2147483644,w=0;B0(R+m(h,z)|0,u,A),B0(R+m(z,h|1)|0,u,A),B0(R+m(z,h|2)|0,u,A),B0(R+m(z,h|3)|0,u,A),h=h+4|0,w=w+4|0,(_|0)!=(w|0););if(w=A&3,!w)break s;for(;B0(R+m(h,z)|0,u,A),h=h+1|0,o=o+1|0,(w|0)!=(o|0););break s}if(o=1,l[R|0]=(s[v+1|0]+(s[v-1|0]+(u<<1)|0)|0)+2>>>2,(A|0)<2)break s;if(C=A-1|0,_=C&3,w=m(u,3)+2|0,y=A-2|0,y>>>0>=3)for(W=C&-4,h=0;Z=o+1|0,l[o+R|0]=w+s[Z+v|0]>>>2,E=Z+R|0,Z=o+2|0,l[E|0]=w+s[Z+v|0]>>>2,E=Z+R|0,Z=o+3|0,l[E|0]=w+s[Z+v|0]>>>2,o=o+4|0,l[Z+R|0]=w+s[v+o|0]>>>2,h=h+4|0,(W|0)!=(h|0););if(_)for(h=0;E=o+R|0,o=o+1|0,l[E|0]=w+s[v+o|0]>>>2,h=h+1|0,(_|0)!=(h|0););if((A|0)<2)break s;if(o=1,w=m(u,3)+2|0,y)for(_=C&-2,h=0;l[R+m(o,z)|0]=w+s[v+(o^-1)|0]>>>2,l[R+m(z,o+1|0)|0]=w+s[(v-o|0)-2|0]>>>2,o=o+2|0,h=h+2|0,(_|0)!=(h|0););if(C&1&&(l[R+m(o,z)|0]=w+s[v+(o^-1)|0]>>>2),(A|0)<2)break s;if(o=A-1|0,v=(R+z|0)+1|0,w=0,h=0,y>>>0>=3)for(y=C&-4,_=0;B0(v+m(h,z)|0,u,o),B0(v+m(z,h|1)|0,u,o),B0(v+m(z,h|2)|0,u,o),B0(v+m(z,h|3)|0,u,o),h=h+4|0,_=_+4|0,(y|0)!=(_|0););if(_=C&3,!_)break s;for(;B0(v+m(h,z)|0,u,o),h=h+1|0,w=w+1|0,(_|0)!=(w|0););}break u;default:break l}if(o=i[y+124>>2],a=i[o+(k?16840:16832)>>2],s[o+16822|0]){if(u=i[y+168>>2],o=e>>u,(o|0)<0||(w=i[y+172>>2],(w|0)<=(o|0)))break r;if(u=r>>u,(u|0)<0|(u|0)>=i[y+176>>2])break i;w=(s[((i[y+160>>2]+m(o,3)|0)+m(m(u,w),3)|0)+1|0]&8)>>>3|0}else w=0;o=0,y=B-272|0,B=y;l:{s:{h:{if((C|0)<35){if((C|0)>1){if(h=y+128|0,W=i[(C<<2)+45360>>2],C>>>0<=17){w:{if((A|0)<0)break w;if(u=A+1|0,_=u&3,A>>>0>=3)for(Z=u&-4,u=0;l[o+h|0]=s[v-o|0],p=o|1,l[p+h|0]=s[v-p|0],p=o|2,l[p+h|0]=s[v-p|0],p=o|3,l[p+h|0]=s[v-p|0],o=o+4|0,u=u+4|0,(Z|0)!=(u|0););if(!_)break w;for(u=0;l[o+h|0]=s[v-o|0],o=o+1|0,u=u+1|0,(_|0)!=(u|0););}if(u=C-11|0,u>>>0<15)break h;if(Z=A<<1,(Z|0)<=(A|0))break s;if(o=A,p=o&3,p)for(_=0,u=o;o=u+1|0,l[h+o|0]=s[v+(u^-1)|0],u=o,_=_+1|0,(p|0)!=(_|0););if(A-1>>>0<3)break s;for(_=h+3|0,p=h+2|0,I=h+1|0;l[o+I|0]=s[v+(o^-1)|0],u=v-o|0,l[o+p|0]=s[u-2|0],l[o+_|0]=s[u-3|0],o=o+4|0,l[h+o|0]=s[u-4|0],(o|0)!=(Z|0););break s}(A|0)>=0&&l0(h,v,A+1|0),u=C-11|0;w:{if(u>>>0>=15){if(A<<1<=(A|0))break w;l0((A+y|0)+129|0,(A+v|0)+1|0,A);break w}if(_=m(A,W),o=_>>5,(o|0)>-2)break w;for(u=i[(u<<2)+45504>>2],_&32&&(l[o+h|0]=s[v-(m(o,u)+128>>8)|0],o=o+1|0);l[o+h|0]=s[v-(m(o,u)+128>>8)|0],_=o+1|0,l[_+h|0]=s[v-(m(u,_)+128>>8)|0],o=o+2|0,!!o;);}if((A|0)>0)for(J=y+129|0,S=A&2147483646,q=A&1,u=0;;){Z=R+m(u,z)|0,u=u+1|0,_=m(W,u),o=_>>5,p=_&31;w:{if(p){if(I=o+h|0,D=32-p|0,o=0,(A|0)!=1)for(d=I+2|0,_=0;A0=o+I|0,E=s[A0+2|0],l[o+Z|0]=(m(D,s[A0+1|0])+m(p,E)|0)+16>>>5,A0=o|1,l[A0+Z|0]=(m(E,D)+m(p,s[d+A0|0])|0)+16>>>5,o=o+2|0,_=_+2|0,(S|0)!=(_|0););if(!q)break w;_=o+Z|0,o=o+I|0,l[_|0]=(m(D,s[o+1|0])+m(p,s[o+2|0])|0)+16>>>5;break w}l0(Z,o+J|0,A)}if((A|0)==(u|0))break}if((C|0)!=26|A-32>>>0<4294967265|(k|w))break l;for(u=-1<>1)|0,l[R+m(o,z)|0]=(w|0)>=0?(u|0)>(w|0)?w:u:0,o=o+1|0,(o|0)!=(A|0););break l}break k}break f}if(_=m(A,W),o=_>>5,(o|0)>-2)break s;for(u=i[(u<<2)+45504>>2],_&32&&(l[o+h|0]=s[v+(m(o,u)+128>>8)|0],o=o+1|0);l[o+h|0]=s[v+(m(o,u)+128>>8)|0],_=o+1|0,l[_+h|0]=s[v+(m(u,_)+128>>8)|0],o=o+2|0,!!o;);}if((A|0)>0)for(p=y+129|0,_=0;;){for(I=_+p|0,D=h+_|0,E=R+m(_,z)|0,o=0;;){u=o+1|0,J=m(u,W),Z=J>>5,S=o+E|0,o=J&31;s:{if(o){Z=Z+D|0,o=(m(s[Z+1|0],32-o|0)+m(o,s[Z+2|0])|0)+16>>>5|0;break s}o=s[Z+I|0]}if(l[S|0]=o,o=u,(o|0)==(A|0))break}if(_=_+1|0,(_|0)==(A|0))break}if((C|0)!=10|A-32>>>0<4294967265|(k|w))break l;if(w=v-1|0,u=-1<>1)|0,l[o+R|0]=(_|0)>=0?(u|0)>(_|0)?_:u:0,o=o+2|0,_=s[w|0]+(s[v+o|0]-s[v|0]>>1)|0,l[R+z|0]=(_|0)>=0?(u|0)>(_|0)?_:u:0,h=h+2|0,(C|0)!=(h|0););if(!(A&1))break l;_=o+R|0,o=s[w|0]+(s[(o+v|0)+1|0]-s[v|0]>>1)|0,l[_|0]=(o|0)>=0?(o|0)<(u|0)?o:u:0}B=y+272|0}B=H+272|0;break A}C0(16812,8483,533,10587),P()}C0(15164,8483,146,3205),P()}C0(9349,8483,211,8639),P()}C0(16720,8483,343,5959),P()}C0(16598,8483,342,5959),P()}o=0,o=!s[f0+16822|0]|!(s[f+32|0]|s[(f+k|0)+33|0])?o:(n0&47)==10,o=(n0|0)==26?o&&2:o;break e}if(o=0,!s[f+36|0])break e;o=s[f+37|0]?2:1}e:{A:{f:{k:{if(!t){if(!k|!i[f+28>>2])break k;X[((k<<1)+f|0)+14396>>1]=0,o=0}Z=s[(f+k|0)+33|0]!=0,w=!n,n=k?16840:16832;n:{if(i[n+i[i[f+18588>>2]+124>>2]>>2]>=9){t=f,W=B-4096|0,B=W;t:{if(k>>>0<3){if(u=i[f+18588>>2],h=i[u+168>>2],_=e>>h,(_|0)<0||(R=i[u+172>>2],(R|0)<=(_|0)))break r;if(v=r>>h,(v|0)<0|(v|0)>=i[u+176>>2])break i;p=k<<2,z=i[u+(k?44:40)>>2],y=i[(p+u|0)+4>>2]+(m(z,r)+e<<1)|0,C=i[u+124>>2],h=i[C+n>>2],n=i[f+2104>>2],e=0,I=s[((i[u+160>>2]+m(_,3)|0)+m(m(v,R),3)|0)+1|0]&3,R=!I&(A|0)==4&s[C+16820|0]!=0;o:{if(s[f+32|0]){if(e=(f+(k<<1)|0)+14396|0,X[e>>1]>0)for(f=0,r=k<<11,u=r+(t+8252|0)|0,r=r+(t+2108|0)|0;w=f<<1,X[n+(X[w+u>>1]<<1)>>1]=Q[r+w>>1],f=f+1|0,(f|0)>1];);if(R&&V[i[i[t+18584>>2]+432>>2]](n,4),w=t+14404|0,u=k?W:w,V[i[i[t+18584>>2]+(o?(o|0)==2?368:372:364)>>2]](u,n,A),!(!k|!i[t+28>>2]|(A|0)<=0))for(f=i[i[t+18588>>2]+124>>2],o=i[f+16832>>2],_=i[f+16840>>2],Z=A&2147483646,p=A&1,r=0;;){if(v=m(r,A),f=0,e=0,(A|0)!=1)for(;C=f+v<<2,I=C+u|0,i[I>>2]=i[I>>2]+(m(i[t+28>>2],i[w+C>>2]<<_>>o)>>3),C=C+4|0,I=C+u|0,i[I>>2]=i[I>>2]+(m(i[t+28>>2],i[w+C>>2]<<_>>o)>>3),f=f+2|0,e=e+2|0,(Z|0)!=(e|0););if(p&&(f=f+v<<2,e=f+u|0,i[e>>2]=i[e>>2]+(m(i[t+28>>2],i[f+w>>2]<<_>>o)>>3)),r=r+1|0,(A|0)==(r|0))break}if(V[i[i[t+18584>>2]+460>>2]](y,z,u,A,h),!R)break o;X[n>>1]=0,X[n+2>>1]=0,X[n+4>>1]=0,X[n+6>>1]=0,X[n+24>>1]=0,X[n+26>>1]=0,X[n+28>>1]=0,X[n+30>>1]=0,X[n+16>>1]=0,X[n+18>>1]=0,X[n+20>>1]=0,X[n+22>>1]=0,X[n+8>>1]=0,X[n+10>>1]=0,X[n+12>>1]=0,X[n+14>>1]=0;break o}if((A|0)>=2)for(f=A;e=e+1|0,r=f>>>0>3,f=f>>>1|0,!!r;);v=i[u+132>>2],r=i[(t+p|0)+18536>>2],e=e+h|0;u:{if(!s[C+636|0]){if(u=(t+(k<<1)|0)+14396|0,X[u>>1]<=0)break u;for(r=i[((r|0)%6<<2)+46096>>2]<<(r|0)/6,w=e-9|0,_=1<>1])>>w,e=(e|0)>=32767?32767:e,X[n+(X[p+D>>1]<<1)>>1]=(e|0)<=-32768?-32768:e,f=f+1|0,(f|0)>1];);break u}f=k,u=f;l:{if(w||(u=f+3|0,(A|0)<=31))break l;u=f+1|0}f=u;l:{s:switch(a0(A-4|0,30)|0){case 1:f=(v+(f<<6)|0)+169|0;break l;case 3:f=(v+(f<<8)|0)+553|0;break l;case 7:f=(v+(f<<10)|0)+2089|0;break l;case 0:break s;default:break f}f=(v+(f<<4)|0)+73|0}if(p=(t+(k<<1)|0)+14396|0,X[p>>1]<=0)break u;for(_=f,D=(r|0)/6|0,f0=i[(r-m(D,6)<<2)+46096>>2],u=e-5|0,w=1<>31,f=0,e=k<<11,n0=e+(t+2108|0)|0,a=e+(t+8252|0)|0;e=f<<1,r=X[e+a>>1],E=n+(r<<1)|0,e=X[e+n0>>1],C=e,J=e>>31,e=m(f0,s[r+_|0])<>31),r=H+w0|0,e=e+w|0,r=e>>>0>>0?r+1|0:r,J=e,C=u&31,(u&63)>>>0>=32?(e=r>>31,r=r>>C):(e=r>>C,r=((1<>>C),C=(e|0)>=0&r>>>0>=32767|(e|0)>0,r=C?32767:r,e=C?0:e,(e|0)<-1?e=1:e=(e|0)<0&r>>>0<=4294934528,X[E>>1]=e?-32768:r,f=f+1|0,(f|0)>1];);}if(Z){if(f=5,(A|0)>=2){for(e=0,f=A;r=e,e=e+1|0,u=f>>>0>3,f=f>>>1|0,!!u;);f=r+6|0}if(R&&V[i[i[t+18584>>2]+432>>2]](n,4),w=t+14404|0,u=k?W:w,V[i[i[t+18584>>2]+(o?(o|0)==2?464:468:472)>>2]](u,n,A,f,(h|0)<20?20-h|0:0),!(!k|!i[t+28>>2]|(A|0)<=0))for(f=i[i[t+18588>>2]+124>>2],o=i[f+16832>>2],_=i[f+16840>>2],Z=A&2147483646,p=A&1,r=0;;){if(v=m(r,A),f=0,e=0,(A|0)!=1)for(;C=f+v<<2,I=C+u|0,i[I>>2]=i[I>>2]+(m(i[t+28>>2],i[w+C>>2]<<_>>o)>>3),C=C+4|0,I=C+u|0,i[I>>2]=i[I>>2]+(m(i[t+28>>2],i[w+C>>2]<<_>>o)>>3),f=f+2|0,e=e+2|0,(Z|0)!=(e|0););if(p&&(f=f+v<<2,e=f+u|0,i[e>>2]=i[e>>2]+(m(i[t+28>>2],i[f+w>>2]<<_>>o)>>3)),r=r+1|0,(A|0)==(r|0))break}if(V[i[i[t+18584>>2]+460>>2]](y,z,u,A,h),!R)break o;X[n>>1]=0,X[n+2>>1]=0,X[n+4>>1]=0,X[n+6>>1]=0,X[n+24>>1]=0,X[n+26>>1]=0,X[n+28>>1]=0,X[n+30>>1]=0,X[n+16>>1]=0,X[n+18>>1]=0,X[n+20>>1]=0,X[n+22>>1]=0,X[n+8>>1]=0,X[n+10>>1]=0,X[n+12>>1]=0,X[n+14>>1]=0;break o}if(o)break t;if(e=!(k|I)&(A|0)==4,s[v+8247|0]==1){r=0,w=B-4096|0,B=w,u=20-h|0,o=t+14404|0,f=k?w:o,_=i[t+18584>>2];u:{if(e){e=436;break u}e=440;l:switch(A-4|0){case 4:e=444;break u;case 12:e=448;break u;case 0:break u;default:break l}e=452}if(V[i[e+_>>2]](f,n,u,15),!(!k|!i[t+28>>2]|(A|0)<=0))for(e=i[i[t+18588>>2]+124>>2],n=i[e+16832>>2],u=i[e+16840>>2],Z=A&2147483646,p=A&1;;){if(v=m(r,A),e=0,C=0,(A|0)!=1)for(;R=e+v<<2,I=R+f|0,i[I>>2]=i[I>>2]+(m(i[t+28>>2],i[o+R>>2]<>n)>>3),R=R+4|0,I=R+f|0,i[I>>2]=i[I>>2]+(m(i[t+28>>2],i[o+R>>2]<>n)>>3),e=e+2|0,C=C+2|0,(Z|0)!=(C|0););if(p&&(e=e+v<<2,v=e+f|0,i[v>>2]=i[v>>2]+(m(i[t+28>>2],i[e+o>>2]<>n)>>3)),r=r+1|0,(A|0)==(r|0))break}V[i[_+460>>2]](y,z,f,A,h),B=w+4096|0;break o}r=i[t+18584>>2]+172|0;u:{if(e){f=240;break u}f=244;l:switch(A-4|0){case 4:f=248;break u;case 12:f=252;break u;case 0:break u;default:break l}f=256}V[i[f+r>>2]](y,n,z,h)}if(e=(t+(k<<1)|0)+14396|0,X[e>>1]>0)for(r=i[t+2104>>2],A=(t+8252|0)+(k<<11)|0,f=0;X[r+(X[A+(f<<1)>>1]<<1)>>1]=0,f=f+1|0,(f|0)>1];);B=W+4096|0;break n}break A}break e}t=f,R=B-4096|0,B=R;t:{if(k>>>0<3){if(u=i[f+18588>>2],n=i[u+168>>2],_=e>>n,(_|0)<0||(v=i[u+172>>2],(v|0)<=(_|0)))break r;if(h=r>>n,(h|0)<0|(h|0)>=i[u+176>>2])break i;W=k<<2,C=i[u+(k?44:40)>>2],z=(i[(W+u|0)+4>>2]+m(C,r)|0)+e|0,n=i[f+2104>>2],e=0,p=s[((i[u+160>>2]+m(_,3)|0)+m(m(h,v),3)|0)+1|0]&3,_=i[u+124>>2],y=!p&(A|0)==4&s[_+16820|0]!=0;o:{if(s[f+32|0]){if(e=(f+(k<<1)|0)+14396|0,X[e>>1]>0)for(f=0,r=k<<11,u=r+(t+8252|0)|0,r=r+(t+2108|0)|0;w=f<<1,X[n+(X[w+u>>1]<<1)>>1]=Q[r+w>>1],f=f+1|0,(f|0)>1];);if(y&&V[i[i[t+18584>>2]+432>>2]](n,4),w=t+14404|0,u=k?R:w,V[i[i[t+18584>>2]+(o?(o|0)==2?368:372:364)>>2]](u,n,A),!(!k|!i[t+28>>2]|(A|0)<=0))for(f=i[i[t+18588>>2]+124>>2],o=i[f+16832>>2],_=i[f+16840>>2],W=A&2147483646,Z=A&1,r=0;;){if(h=m(r,A),f=0,e=0,(A|0)!=1)for(;v=f+h<<2,p=v+u|0,i[p>>2]=i[p>>2]+(m(i[t+28>>2],i[w+v>>2]<<_>>o)>>3),v=v+4|0,p=v+u|0,i[p>>2]=i[p>>2]+(m(i[t+28>>2],i[w+v>>2]<<_>>o)>>3),f=f+2|0,e=e+2|0,(W|0)!=(e|0););if(Z&&(f=f+h<<2,e=f+u|0,i[e>>2]=i[e>>2]+(m(i[t+28>>2],i[f+w>>2]<<_>>o)>>3)),r=r+1|0,(A|0)==(r|0))break}if(V[i[i[t+18584>>2]+456>>2]](z,C,u,A,8),!y)break o;X[n>>1]=0,X[n+2>>1]=0,X[n+4>>1]=0,X[n+6>>1]=0,X[n+24>>1]=0,X[n+26>>1]=0,X[n+28>>1]=0,X[n+30>>1]=0,X[n+16>>1]=0,X[n+18>>1]=0,X[n+20>>1]=0,X[n+22>>1]=0,X[n+8>>1]=0,X[n+10>>1]=0,X[n+12>>1]=0,X[n+14>>1]=0;break o}if(v=i[_+(k?16840:16832)>>2],(A|0)>=2)for(f=A;e=e+1|0,r=f>>>0>3,f=f>>>1|0,!!r;);h=i[u+132>>2],r=i[(t+W|0)+18536>>2],e=e+v|0;u:{if(!s[_+636|0]){if(u=(t+(k<<1)|0)+14396|0,X[u>>1]<=0)break u;for(r=i[((r|0)%6<<2)+46096>>2]<<(r|0)/6,w=e-9|0,_=1<>1])>>w,e=(e|0)>=32767?32767:e,X[n+(X[W+I>>1]<<1)>>1]=(e|0)<=-32768?-32768:e,f=f+1|0,(f|0)>1];);break u}f=k,u=f;l:{if(w||(u=f+3|0,(A|0)<=31))break l;u=f+1|0}f=u;l:{s:switch(a0(A-4|0,30)|0){case 1:f=(h+(f<<6)|0)+169|0;break l;case 3:f=(h+(f<<8)|0)+553|0;break l;case 7:f=(h+(f<<10)|0)+2089|0;break l;case 0:break s;default:break f}f=(h+(f<<4)|0)+73|0}if(W=(t+(k<<1)|0)+14396|0,X[W>>1]<=0)break u;for(_=f,I=(r|0)/6|0,D=i[(r-m(I,6)<<2)+46096>>2],u=e-5|0,w=1<>31,f=0,e=k<<11,H=e+(t+2108|0)|0,n0=e+(t+8252|0)|0;e=f<<1,r=X[e+n0>>1],a=n+(r<<1)|0,e=X[e+H>>1],E=e,J=e>>31,e=m(D,s[r+_|0])<>31),r=f0+w0|0,e=e+w|0,r=e>>>0>>0?r+1|0:r,E=e,v=u&31,(u&63)>>>0>=32?(e=r>>31,r=r>>v):(e=r>>v,r=((1<>>v),v=(e|0)>=0&r>>>0>=32767|(e|0)>0,r=v?32767:r,e=v?0:e,(e|0)<-1?e=1:e=(e|0)<0&r>>>0<=4294934528,X[a>>1]=e?-32768:r,f=f+1|0,(f|0)>1];);}if(Z){if(f=5,(A|0)>=2){for(e=0,f=A;r=e,e=e+1|0,u=f>>>0>3,f=f>>>1|0,!!u;);f=r+6|0}if(y&&V[i[i[t+18584>>2]+432>>2]](n,4),w=t+14404|0,u=k?R:w,V[i[i[t+18584>>2]+(o?(o|0)==2?464:468:472)>>2]](u,n,A,f,12),!(!k|!i[t+28>>2]|(A|0)<=0))for(f=i[i[t+18588>>2]+124>>2],o=i[f+16832>>2],_=i[f+16840>>2],W=A&2147483646,Z=A&1,r=0;;){if(h=m(r,A),f=0,e=0,(A|0)!=1)for(;v=f+h<<2,p=v+u|0,i[p>>2]=i[p>>2]+(m(i[t+28>>2],i[w+v>>2]<<_>>o)>>3),v=v+4|0,p=v+u|0,i[p>>2]=i[p>>2]+(m(i[t+28>>2],i[w+v>>2]<<_>>o)>>3),f=f+2|0,e=e+2|0,(W|0)!=(e|0););if(Z&&(f=f+h<<2,e=f+u|0,i[e>>2]=i[e>>2]+(m(i[t+28>>2],i[f+w>>2]<<_>>o)>>3)),r=r+1|0,(A|0)==(r|0))break}if(V[i[i[t+18584>>2]+456>>2]](z,C,u,A,8),!y)break o;X[n>>1]=0,X[n+2>>1]=0,X[n+4>>1]=0,X[n+6>>1]=0,X[n+24>>1]=0,X[n+26>>1]=0,X[n+28>>1]=0,X[n+30>>1]=0,X[n+16>>1]=0,X[n+18>>1]=0,X[n+20>>1]=0,X[n+22>>1]=0,X[n+8>>1]=0,X[n+10>>1]=0,X[n+12>>1]=0,X[n+14>>1]=0;break o}if(o)break e;if(e=!(k|p)&(A|0)==4,s[h+8247|0]==1){r=0,w=B-4096|0,B=w,o=t+14404|0,f=k?w:o,_=i[t+18584>>2];u:{if(e){e=436;break u}e=440;l:switch(A-4|0){case 4:e=444;break u;case 12:e=448;break u;case 0:break u;default:break l}e=452}if(V[i[e+_>>2]](f,n,12,15),!(!k|!i[t+28>>2]|(A|0)<=0))for(e=i[i[t+18588>>2]+124>>2],n=i[e+16832>>2],u=i[e+16840>>2],W=A&2147483646,Z=A&1;;){if(h=m(r,A),e=0,v=0,(A|0)!=1)for(;y=e+h<<2,p=y+f|0,i[p>>2]=i[p>>2]+(m(i[t+28>>2],i[o+y>>2]<>n)>>3),y=y+4|0,p=y+f|0,i[p>>2]=i[p>>2]+(m(i[t+28>>2],i[o+y>>2]<>n)>>3),e=e+2|0,v=v+2|0,(W|0)!=(v|0););if(Z&&(e=e+h<<2,h=e+f|0,i[h>>2]=i[h>>2]+(m(i[t+28>>2],i[e+o>>2]<>n)>>3)),r=r+1|0,(A|0)==(r|0))break}V[i[_+456>>2]](z,C,f,A,8),B=w+4096|0;break o}r=i[t+18584>>2]+172|0;u:{if(e){f=216;break u}f=220;l:switch(A-4|0){case 4:f=224;break u;case 12:f=228;break u;case 0:break u;default:break l}f=232}V[i[f+r>>2]](z,n,C)}if(e=(t+(k<<1)|0)+14396|0,X[e>>1]>0)for(r=i[t+2104>>2],A=(t+8252|0)+(k<<11)|0,f=0;X[r+(X[A+(f<<1)>>1]<<1)>>1]=0,f=f+1|0,(f|0)>1];);B=R+4096|0;break t}break A}}}return}C0(17356,13974,502,7784),P()}C0(17356,13974,377,7784),P()}C0(17177,13974,599,7784),P()}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function _r(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0;k=B-304|0,B=k,i[k+280>>2]=0,i[k+284>>2]=0,i[k+288>>2]=0,i[k+292>>2]=0,i[k+296>>2]=0,i[k+272>>2]=0,i[k+276>>2]=0,i[k+264>>2]=68500,xk(k+240|0,k+264|0,e);i:{if(i[k+240>>2]){e=i[k+244>>2],i[f>>2]=i[k+240>>2],i[f+4>>2]=e,i[f+16>>2]=i[k+256>>2],e=i[k+252>>2],i[f+8>>2]=i[k+248>>2],i[f+12>>2]=e,i[k+256>>2]=0,i[k+248>>2]=0,i[k+252>>2]=0;break i}if(s[e+20|0]==1){if(l[k+60|0]=0,l[k+71|0]=0,r0(f,2,100,k+60|0),l[k+71|0]>=0)break i;G(i[k+60>>2]);break i}i[k+232>>2]=0,i[k+236>>2]=0;r:{e:{A:{f:{k:{n:{t:{o:{u:{l:{s:{h:{w:{_:{v:{Z:{m:{B:{p:{W:{G:{C:{y:{Y:{V:{F:{I:{D:{U:{M:{J:{x:{E:{Q:{g:{N:{if(A=i[k+280>>2],(A|0)<=1768973166){if((A|0)<=1668246641){if((A|0)<=1667523941){if((A|0)<=1635088450){if((A|0)==1630628984)break _;if((A|0)==1630629744)break v;if((A|0)!=1634497650)break A;A=U(88),i[A+16>>2]=0,i[A+20>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+80>>2]=0,i[A+84>>2]=0,i[A>>2]=71464,i[A+16>>2]=70224,i[A+24>>2]=0,i[A+28>>2]=0,i[A+32>>2]=0,i[A+36>>2]=0,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,n=A- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}if((A|0)==1635088451)break M;if((A|0)==1635135811)break Y;if((A|0)!=1635148611)break A;A=U(96),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A+16>>2]=75028,i[A>>2]=72384,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+80>>2]=0,i[A+84>>2]=0,i[A+88>>2]=0,i[A+92>>2]=0,i[A+32>>2]=1635148611,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}if((A|0)<=1668112751){if((A|0)==1667523942)break s;if((A|0)==1668047216)break I;if((A|0)!=1668050025)break A;A=U(72),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+64>>2]=0,i[A>>2]=71904,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+16>>2]=69852,i[A+32>>2]=1668050025,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}if((A|0)==1668112752)break l;if((A|0)==1668113784)break w;if((A|0)!=1668114798)break A;R7(k+60|0),n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;X:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break X;V[i[i[A>>2]+8>>2]](A),g(A)}break r}if((A|0)<=1752589122){if((A|0)<=1718909295){if((A|0)==1668246642)break m;if((A|0)==1684631142)break p;if((A|0)!=1685218662)break A;A=U(72),i[A+16>>2]=0,i[A+20>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=71584,i[A+16>>2]=70464,i[A+24>>2]=0,i[A+28>>2]=0,i[A+32>>2]=0,i[A+36>>2]=0,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,n=A- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}if((A|0)==1718909296)break N;if((A|0)==1735553132)break C;if((A|0)!=1751411826)break A;A=U(104),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+80>>2]=0,i[A+84>>2]=0,i[A+72>>2]=0,i[A+76>>2]=1885954932,i[A>>2]=70664,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=68844,i[A+88>>2]=0,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+32>>2]=1751411826,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;X:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break X;V[i[i[A>>2]+8>>2]](A),g(A)}break r}if((A|0)<=1768714082){if((A|0)==1752589123)break V;if((A|0)==1768186228)break y;if((A|0)!=1768517222)break A;A=U(72),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A>>2]=70784,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=69084,i[A+32>>2]=1768517222,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}if((A|0)==1768714083)break E;if((A|0)==1768778098)break D;if((A|0)!=1768842853)break A;A=U(144),i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+80>>2]=0,i[A+84>>2]=0,X[A+76>>1]=0,i[A+68>>2]=0,i[A+72>>2]=0,i[A>>2]=70824,i[A+32>>2]=0,i[A+36>>2]=0,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=69024,i[A+88>>2]=0,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,i[A+116>>2]=0,i[A+120>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+132>>2]=0,l[A+133|0]=0,l[A+134|0]=0,l[A+135|0]=0,l[A+136|0]=0,l[A+137|0]=0,l[A+138|0]=0,l[A+139|0]=0,l[A+140|0]=0,i[A+32>>2]=1768842853,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;X:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break X;V[i[i[A>>2]+8>>2]](A),g(A)}break r}if((A|0)<=1835365472){if((A|0)<=1781689159){if((A|0)<=1769104741){if((A|0)==1768973167)break x;if((A|0)==1768975713)break J;if((A|0)!=1768977008)break A;A=U(64),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=70864,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+16>>2]=69144,i[A+32>>2]=1768977008,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}if((A|0)==1769104742)break F;if((A|0)==1769107316)break U;if((A|0)!=1769173093)break A;A=U(80),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A>>2]=70984,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=69264,i[A+32>>2]=1769173093,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;X:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break X;V[i[i[A>>2]+8>>2]](A),g(A)}break r}if((A|0)<=1819501931)switch(A-1781689160|0){case 4:break o;case 0:break h;case 1:case 2:case 3:break A;default:break f}if((A|0)==1819501932)break Z;if((A|0)==1835295092)break n;if((A|0)!=1835295606)break A;A=U(88),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A>>2]=71944,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+16>>2]=68524,i[A+72>>2]=0,i[A+76>>2]=0,i[A+80>>2]=0,i[A+84>>2]=0,i[A+32>>2]=1835295606,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}if((A|0)<=1887006051){if((A|0)<=1885564017){if((A|0)==1835365473)break g;if((A|0)==1836280643)break t;if((A|0)!=1885434736)break A;A=U(72),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+64>>2]=1,i[A+68>>2]=1,i[A>>2]=71744,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+16>>2]=69732,i[A+32>>2]=1885434736,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}if((A|0)==1885564018)break u;if((A|0)==1885959277)break Q;if((A|0)!=1885960297)break A;A=U(88),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+80>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A>>2]=71704,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=69672,i[A+32>>2]=1885960297,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;X:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break X;V[i[i[A>>2]+8>>2]](A),g(A)}break r}if((A|0)<=1970433055){if((A|0)==1887006052)break G;if((A|0)==1937007986)break W;if((A|0)!=1969513843)break A;A=U(120),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A>>2]=72064,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=70032,i[A+80>>2]=0,i[A+84>>2]=0,i[A+88>>2]=0,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,i[A+116>>2]=0,i[A+32>>2]=1969513843,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}if((A|0)==1970433056)break B;if((A|0)==1970628964)break k;if((A|0)!=1987470147)break A;A=U(160),i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+88>>2]=0,i[A+92>>2]=0,X[A+72>>1]=259,i[A+16>>2]=74936,i[A+152>>2]=0,i[A+144>>2]=0,i[A+148>>2]=0,i[A>>2]=71304,i[A+32>>2]=0,i[A+36>>2]=0,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,i[A+116>>2]=0,i[A+120>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+132>>2]=0,i[A+32>>2]=1987470147,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;X:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break X;V[i[i[A>>2]+8>>2]](A),g(A)}break r}A=U(88),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A>>2]=70584,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+16>>2]=68724,i[A+72>>2]=0,i[A+76>>2]=0,i[A+80>>2]=0,i[A+32>>2]=1718909296,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(72),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A>>2]=70624,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=68784,i[A+32>>2]=1835365473,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(80),i[A+32>>2]=0,i[A+36>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+68>>2]=0,i[A+72>>2]=0,i[A>>2]=70704,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=68904,i[A+32>>2]=1885959277,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(104),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+96>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A>>2]=70744,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=68964,i[A+80>>2]=0,i[A+84>>2]=0,l[A+85|0]=0,l[A+86|0]=0,l[A+87|0]=0,l[A+88|0]=0,l[A+89|0]=0,l[A+90|0]=0,l[A+91|0]=0,l[A+92|0]=0,i[A+32>>2]=1768714083,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;E:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break E;V[i[i[A>>2]+8>>2]](A),g(A)}break r}A=U(64),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=70904,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+16>>2]=69204,i[A+32>>2]=1768973167,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(88),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+80>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A>>2]=70944,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=69312,i[A+32>>2]=1768975713,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;J:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break J;V[i[i[A>>2]+8>>2]](A),g(A)}break r}A=U(96),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A>>2]=71024,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=69372,i[A+80>>2]=0,i[A+84>>2]=0,i[A+88>>2]=0,i[A+92>>2]=0,i[A+32>>2]=1635088451,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(72),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+64>>2]=0,i[A>>2]=71064,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+16>>2]=69432,i[A+32>>2]=1769107316,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(72),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+64>>2]=0,i[A>>2]=71104,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+16>>2]=69492,i[A+32>>2]=1768778098,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(96),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+88>>2]=0,i[A+92>>2]=1,i[A+80>>2]=0,i[A+84>>2]=1,i[A+72>>2]=0,i[A+76>>2]=1,i[A+64>>2]=0,i[A+68>>2]=1,i[A>>2]=71144,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+16>>2]=69552,i[A+32>>2]=1668047216,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;I:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break I;V[i[i[A>>2]+8>>2]](A),g(A)}break r}A=U(88),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+80>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A>>2]=71184,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=69612,i[A+32>>2]=1769104742,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;F:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break F;V[i[i[A>>2]+8>>2]](A),g(A)}break r}A=U(112),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+108>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,l[A+96|0]=4,i[A+72>>2]=0,i[A+76>>2]=0,i[A+16>>2]=74252,i[A>>2]=71224,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+32>>2]=1752589123,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;V:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break V;V[i[i[A>>2]+8>>2]](A),g(A)}break r}A=U(88),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,l[A+65|0]=0,l[A+66|0]=0,l[A+67|0]=0,l[A+68|0]=0,l[A+69|0]=0,l[A+70|0]=0,l[A+71|0]=0,l[A+72|0]=0,l[A+64|0]=1,i[A+16>>2]=74368,i[A>>2]=71264,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A+73|0]=0,l[A+74|0]=0,l[A+75|0]=0,l[A+76|0]=0,l[A+77|0]=0,l[A+78|0]=0,l[A+79|0]=0,l[A+80|0]=0,l[A+80|0]=0,l[A+81|0]=0,l[A+82|0]=0,l[A+83|0]=0,l[A+84|0]=0,l[A+85|0]=0,l[A+86|0]=0,l[A+87|0]=0,i[A+32>>2]=1635135811,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(96),i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=71344,n=B0(A+16|0,0,80),i[A+64>>2]=0,i[A+68>>2]=0,i[A+16>>2]=70104,i[A+72>>2]=0,i[A+76>>2]=0,i[A+80>>2]=0,i[A+84>>2]=0,i[A+88>>2]=0,i[k+236>>2]=A,i[k+232>>2]=n,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(64),i[A+16>>2]=0,i[A+20>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=71384,i[A+16>>2]=70164,i[A+24>>2]=0,i[A+28>>2]=0,i[A+32>>2]=0,i[A+36>>2]=0,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(104),i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=71424,n=B0(A+16|0,0,80),i[A+96>>2]=0,i[A+100>>2]=0,i[A+16>>2]=70344,i[k+236>>2]=A,i[k+232>>2]=n,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(88),i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=71504,n=B0(A+16|0,0,72),i[A+16>>2]=70284,i[k+236>>2]=A,i[k+232>>2]=n,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(64),i[A+16>>2]=0,i[A+20>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=71544,i[A+16>>2]=70404,i[A+24>>2]=0,i[A+28>>2]=0,i[A+32>>2]=0,i[A+36>>2]=0,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(88),i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=71624,n=B0(A+16|0,0,72),i[A+72>>2]=0,i[A+76>>2]=0,i[A+16>>2]=70524,i[A+80>>2]=0,i[k+236>>2]=A,i[k+232>>2]=n,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(72),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A+16>>2]=73032,i[A>>2]=71664,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+32>>2]=1668246642,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(72),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,X[A+64>>1]=0,i[A>>2]=71784,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+16>>2]=69792,i[A+32>>2]=1819501932,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(72),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,l[A+64|0]=0,i[A+16>>2]=74428,i[A>>2]=71824,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+32>>2]=1630629744,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(80),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A+16>>2]=74488,i[A>>2]=71864,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+72>>2]=0,i[A+32>>2]=1630628984,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}m7(k+60|0),n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;w:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break w;V[i[i[A>>2]+8>>2]](A),g(A)}break r}A=U(64),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+16>>2]=74848,i[A>>2]=72144,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+32>>2]=1781689160,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(80),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+72>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A+16>>2]=74608,i[A>>2]=72184,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+32>>2]=1667523942,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;s:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break s;V[i[i[A>>2]+8>>2]](A),g(A)}break r}A=U(80),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+72>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A+16>>2]=74668,i[A>>2]=72224,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+32>>2]=1668112752,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;l:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break l;V[i[i[A>>2]+8>>2]](A),g(A)}break r}A=U(88),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A+16>>2]=74728,i[A>>2]=72264,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A+80>>2]=0,i[A+84>>2]=0,i[A+32>>2]=1885564018,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(88),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+80>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A+16>>2]=74788,i[A>>2]=72304,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+32>>2]=1781689164,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;o:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break o;V[i[i[A>>2]+8>>2]](A),g(A)}break r}A=U(80),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+16>>2]=75088,i[A>>2]=72344,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+32>>2]=1836280643,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(64),i[A+16>>2]=0,i[A+20>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A>>2]=72424,i[A+16>>2]=68616,i[A+24>>2]=0,i[A+28>>2]=0,i[A+32>>2]=0,i[A+36>>2]=0,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}if(Z9(k+32|0,k+264|0),i[k+216>>2]=16,l[k+68|0]=157,l[k+69|0]=144,l[k+70|0]=78,l[k+71|0]=182,l[k+72|0]=236,l[k+73|0]=186,l[k+74|0]=243,l[k+75|0]=163,l[k+60|0]=34,l[k+61|0]=204,l[k+62|0]=4,l[k+63|0]=199,l[k+64|0]=214,l[k+65|0]=217,l[k+66|0]=78,l[k+67|0]=7,i[k+212>>2]=k+60,A=i[k+216>>2],i[k+24>>2]=i[k+212>>2],i[k+28>>2]=A,o=R9(k+220|0,k+24|0),n=i[o>>2],A=i[k+32>>2],u=i[k+36>>2]-A|0,(i[o+4>>2]-n|0)==(u|0)&&(t=!K2(A,n,u)),n&&(i[o+4>>2]=n,G(n),A=i[k+32>>2]),A&&(i[k+36>>2]=A,G(A)),t){R7(k+60|0),n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;k:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break k;V[i[i[A>>2]+8>>2]](A),g(A)}break r}if(Z9(k+32|0,k+264|0),i[k+208>>2]=16,l[k+68|0]=151,l[k+69|0]=174,l[k+70|0]=190,l[k+71|0]=166,l[k+72|0]=152,l[k+73|0]=3,l[k+74|0]=180,l[k+75|0]=52,l[k+60|0]=67,l[k+61|0]=99,l[k+62|0]=233,l[k+63|0]=20,l[k+64|0]=91,l[k+65|0]=125,l[k+66|0]=74,l[k+67|0]=171,i[k+204>>2]=k+60,A=i[k+208>>2],i[k+16>>2]=i[k+204>>2],i[k+20>>2]=A,t=0,o=R9(k+220|0,k+16|0),n=i[o>>2],A=i[k+32>>2],u=i[k+36>>2]-A|0,(i[o+4>>2]-n|0)==(u|0)&&(t=!K2(A,n,u)),n&&(i[o+4>>2]=n,G(n),A=i[k+32>>2]),A&&(i[k+36>>2]=A,G(A)),t){m7(k+60|0),n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;k:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break k;V[i[i[A>>2]+8>>2]](A),g(A)}break r}n=i[k+280>>2],A=U(80),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+72>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A>>2]=72464,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+16>>2]=68664,i[A+32>>2]=n,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0,n=i[k+236>>2],i[k+236>>2]=A;k:{if(!n||(A=i[n+4>>2],i[n+4>>2]=A-1,A))break k;V[i[i[n>>2]+8>>2]](n),g(n)}break r}if((A|0)==1785751363)break e}n=U(80),i[n+32>>2]=0,i[n+36>>2]=0,i[n+24>>2]=0,i[n+28>>2]=0,i[n+4>>2]=0,i[n+8>>2]=0,i[n+72>>2]=0,i[n+64>>2]=0,i[n+68>>2]=0,i[n>>2]=72464,i[n+40>>2]=0,i[n+44>>2]=0,i[n+48>>2]=0,i[n+52>>2]=0,i[n+56>>2]=0,i[n+60>>2]=0,i[n+16>>2]=68664,i[n+32>>2]=A,i[k+236>>2]=n,i[k+232>>2]=n+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(80),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+72>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A+16>>2]=74548,i[A>>2]=72104,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+32>>2]=1785751363,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;e:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break e;V[i[i[A>>2]+8>>2]](A),g(A)}}v1(k+60|0),n=i[k+276>>2],A=i[k+232>>2],i[A+8>>2]=i[k+272>>2],i[A+12>>2]=n,i[A+16>>2]=i[k+280>>2],(A|0)!=(k+264|0)&&(n=i[k+284>>2],t=i[k+288>>2],W8(A+20|0,n,t,t-n|0)),n=i[k+296>>2],i[A+32>>2]=n;r:{if(i[e+12>>2]>=21){if(e=U(64),i[k+60>>2]=e,i[k+64>>2]=61,i[k+68>>2]=-2147483584,r=s[13095]|s[13096]<<8|(s[13097]<<16|s[13098]<<24),A=s[13091]|s[13092]<<8|(s[13093]<<16|s[13094]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+61|0]=0,r=s[13148]|s[13149]<<8|(s[13150]<<16|s[13151]<<24),A=s[13144]|s[13145]<<8|(s[13146]<<16|s[13147]<<24),l[e+53|0]=A,l[e+54|0]=A>>>8,l[e+55|0]=A>>>16,l[e+56|0]=A>>>24,l[e+57|0]=r,l[e+58|0]=r>>>8,l[e+59|0]=r>>>16,l[e+60|0]=r>>>24,r=s[13143]|s[13144]<<8|(s[13145]<<16|s[13146]<<24),A=s[13139]|s[13140]<<8|(s[13141]<<16|s[13142]<<24),l[e+48|0]=A,l[e+49|0]=A>>>8,l[e+50|0]=A>>>16,l[e+51|0]=A>>>24,l[e+52|0]=r,l[e+53|0]=r>>>8,l[e+54|0]=r>>>16,l[e+55|0]=r>>>24,r=s[13135]|s[13136]<<8|(s[13137]<<16|s[13138]<<24),A=s[13131]|s[13132]<<8|(s[13133]<<16|s[13134]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[13127]|s[13128]<<8|(s[13129]<<16|s[13130]<<24),A=s[13123]|s[13124]<<8|(s[13125]<<16|s[13126]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[13119]|s[13120]<<8|(s[13121]<<16|s[13122]<<24),A=s[13115]|s[13116]<<8|(s[13117]<<16|s[13118]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[13111]|s[13112]<<8|(s[13113]<<16|s[13114]<<24),A=s[13107]|s[13108]<<8|(s[13109]<<16|s[13110]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[13103]|s[13104]<<8|(s[13105]<<16|s[13106]<<24),A=s[13099]|s[13100]<<8|(s[13101]<<16|s[13102]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,6,1e3,k+60|0),l[k+71|0]>=0)break r;G(i[k+60>>2]);break r}t=i[k+276>>2],o=t;e:{A:{if(A=i[k+272>>2],t|A){if(!t&A>>>0>>0){i[k+68>>2]=54496,i[k+124>>2]=54516,e=i[13633],i[k+60>>2]=e,r=i[e-12>>2],e=k+60|0,i[r+e>>2]=i[13634],i[k+64>>2]=0,r=e+i[i[k+60>>2]-12>>2]|0,A=k+72|0,b0(r,A),i[r+72>>2]=0,i[r+76>>2]=-1,r=i[13635],i[k+68>>2]=r,t=i[r-12>>2],r=k+68|0,i[t+r>>2]=i[13636],n=i[13632],i[k+60>>2]=n,i[e+i[n-12>>2]>>2]=i[13637],i[k+124>>2]=54516,i[k+60>>2]=54476,i[k+68>>2]=54496,e=$0(A),i[e>>2]=53552,i[k+112>>2]=0,i[k+116>>2]=0,i[k+104>>2]=0,i[k+108>>2]=0,i[k+120>>2]=24,x(L0(x(n4(x(r,18592,10),i[k+272>>2],i[k+276>>2]),18603,34),i[k+296>>2]),18243,7),r=k+32|0,i2(r,e),r0(f,2,101,r),l[k+43|0]<0&&G(i[k+32>>2]),f=i[13631],i[k+60>>2]=f,i[i[f-12>>2]+(k+60|0)>>2]=i[13639],i[k+68>>2]=i[13640],i[e>>2]=53552,l[k+115|0]<0&&G(i[k+104>>2]),K0(e),T0(k+124|0);break r}if(t=A-n|0,A=o-(A>>>0>>0)|0,(A|0)==1|A>>>0>1){if(e=f,f=C1(k+60|0,10369),r0(e,6,101,f),l[f+11|0]>=0)break r;G(i[f>>2]);break r}if((o|0)<0){if(e=f,f=C1(k+60|0,31341),r0(e,2,101,f),l[f+11|0]>=0)break r;G(i[f>>2]);break r}if(A=i[e>>2],n=V[i[i[A>>2]+8>>2]](A)|0,o=i[e>>2],A=w0,n=n+t|0,A=n>>>0>>0?A+1|0:A,V[i[i[o>>2]+12>>2]](o,n,A)|0){if(e=f,f=C1(k+60|0,31341),r0(e,2,100,f),l[f+11|0]>=0)break r;G(i[f>>2]);break r}if(A=i[k+276>>2],t=A,n=i[k+272>>2],A|n)break A}A=i[e+16>>2];break e}if(o=i[k+296>>2],A=n-o|0,n=t-(n>>>0>>0)|0,(n|0)<=0&k0[e+16>>2]>=A>>>0|(n|0)<0)break e;if(l[k+60|0]=0,l[k+71|0]=0,r0(f,2,101,k+60|0),l[k+71|0]>=0)break r;G(i[k+60>>2]);break r}if(i[k+52>>2]=i[e>>2],n=i[e+4>>2],i[k+56>>2]=n,n&&(i[n+4>>2]=i[n+4>>2]+1),n=i[k+56>>2],i[k+8>>2]=i[k+52>>2],i[k+12>>2]=n,n=_e(k+60|0,k+8|0,A,e),e=i[k+232>>2],V[i[i[e>>2]+28>>2]](k+32|0,e,n),A=i[k+36>>2],e=i[k+32>>2],i[k+240>>2]=e,i[k+244>>2]=A,l[k+259|0]<0&&(G(i[k+248>>2]),e=i[k+240>>2]),A=i[k+44>>2],i[k+248>>2]=i[k+40>>2],i[k+252>>2]=A,i[k+256>>2]=i[k+48>>2],(e|0)==i[19564]&&si(r,k+232|0),A=i[n+16>>2],A&&(e=i[n+8>>2],e&&($t(e,A),A=i[n+16>>2]),e=i[n>>2],t=V[i[i[e>>2]+8>>2]](e)|0,r=w0,o=A,A=A+t|0,r=o>>>0>A>>>0?r+1|0:r,V[i[i[e>>2]+20>>2]](e,A,r)|0,i[n+16>>2]=0),e=i[k+244>>2],i[f>>2]=i[k+240>>2],i[f+4>>2]=e,i[f+16>>2]=i[k+256>>2],e=i[k+252>>2],i[f+8>>2]=i[k+248>>2],i[f+12>>2]=e,i[k+248>>2]=0,i[k+252>>2]=0,i[k+256>>2]=0,f=i[n+4>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=i[k+236>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}l[k+259|0]<0&&G(i[k+248>>2]),i[k+264>>2]=68500,f=i[k+284>>2],f&&(i[k+288>>2]=f,G(f)),B=k+304|0}function N8(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0;h=B-112|0,B=h,o=i[e>>2],u=i[o+28>>2],w=i[o+24>>2];i:{r:{if(!H2(o,6)||(y4(i[e>>2],6)|0)==(w|0)&&(F4(i[e>>2],6)|0)==(u|0))break r;i[f>>2]=0,i[f+4>>2]=0;break i}if(!(A-4>>>0>4294967292|r)){i[f>>2]=0,i[f+4>>2]=0;break i}l[h+110|0]=1,X[h+108>>1]=2,i[h+104>>2]=131074,l[h+92|0]=0,i[h+84>>2]=99,i[h+88>>2]=99,i[h+96>>2]=8,i[h+100>>2]=72992,u=h+100|0,o=u,l[o+10|0]=1,X[o+8>>1]=6,i[o+4>>2]=851969,o=i[e>>2],i[h+84>>2]=i[o+32>>2],i[h+88>>2]=i[o+36>>2],H2(o,6)?w=1:(o=i[i[e>>2]+36>>2],w=43008>>>o&o>>>0<16),l[h+92|0]=w,o=i[i[e>>2]+44>>2],o&&(i[h+104>>2]=i[o+4>>2],o=s[o+7|0]|s[o+8|0]<<8|(s[o+9|0]<<16|s[o+10|0]<<24),l[h+107|0]=o,l[h+108|0]=o>>>8,l[h+109|0]=o>>>16,l[h+110|0]=o>>>24),Dt(u),l7(h+72|0,i[e>>2]),D=h,z=U0(i[e>>2],i[i[h+72>>2]+16>>2]),i[D+96>>2]=z,o=i[h+96>>2],i[h+48>>2]=i[h+92>>2],i[h+52>>2]=o,o=i[h+88>>2],i[h+40>>2]=i[h+84>>2],i[h+44>>2]=o,i[h+56>>2]=72992,o=s[h+107|0]|s[h+108|0]<<8|(s[h+109|0]<<16|s[h+110|0]<<24),l[h+63|0]=o,l[h+64|0]=o>>>8,l[h+65|0]=o>>>16,l[h+66|0]=o>>>24,o=i[h+104>>2],i[h+40>>2]=r,i[h+44>>2]=A,i[h+60>>2]=o,r=i[k>>2],r&&(i[h+60>>2]=i[r+4>>2],r=s[r+7|0]|s[r+8|0]<<8|(s[r+9|0]<<16|s[r+10|0]<<24),l[h+63|0]=r,l[h+64|0]=r>>>8,l[h+65|0]=r>>>16,l[h+66|0]=r>>>24),Q[h+64>>1]==2&&(X[h+64>>1]=Q[h+108>>1]),Q[h+60>>1]==2&&(X[h+60>>1]=Q[h+104>>1]),Q[h+62>>1]==2&&(X[h+62>>1]=Q[h+106>>1]),r=1;r:{e:switch(A|0){case 10:case 12:case 14:r=3;break r;case 11:case 13:case 15:r=4;break r;case 0:case 1:case 2:case 3:case 99:break r;default:break e}r=0}if(l[h+48|0]=(r|0)>=2?43008>>>A&A>>>0<16:s[h+92|0],n&&(i[h+52>>2]=n),(A&-2)!=10?r=i[h+52>>2]<9:(i[h+52>>2]=8,r=1),!r|(A&-4)!=12||(i[h+52>>2]=10),i[h+20>>2]=0,i[h+12>>2]=0,i[h+16>>2]=0,p=h+40|0,o=B-112|0,B=o,A=i[h+16>>2],k=i[h+12>>2],(A|0)!=(k|0))for(;;){r=i[A-60>>2];r:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A+-64|0,(k|0)==(A|0))break}i[h+16>>2]=k,r=i[t+12>>2],i[h+32>>2]=i[t+8>>2],i[h+36>>2]=r,r=i[t+4>>2],i[h+24>>2]=i[t>>2],i[h+28>>2]=r,r=i[h+84>>2];r:{e:{if((r|0)!=i[p>>2]|i[h+88>>2]!=i[p+4>>2]|(s[h+92|0]!=s[p+8|0]|i[h+96>>2]!=i[p+12>>2]))break e;if(w=1,r)break r;if(s[h+110|0]!=s[p+26|0]|Q[h+108>>1]!=Q[p+24>>1])break e;if(Q[h+104>>1]==Q[p+20>>1])break r}mA(),i[o+108>>2]=0,i[o+100>>2]=0,i[o+104>>2]=0,i[o+96>>2]=0,i[o+88>>2]=0,i[o+92>>2]=0,l[o+82|0]=1,X[o+80>>1]=2,i[o+76>>2]=131074,l[o+64|0]=0,i[o+60>>2]=99,i[o+52>>2]=0,i[o+56>>2]=99,i[o+44>>2]=-1,i[o+48>>2]=0,i[o+68>>2]=8,i[o+72>>2]=72992,l[o+82|0]=1,X[o+80>>1]=6,i[o+76>>2]=851969,i[o+44>>2]=-1,i[o+48>>2]=0,r=i[o+52>>2],i[o+52>>2]=0;e:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break e;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[h+88>>2],i[o+56>>2]=i[h+84>>2],i[o+60>>2]=r,r=i[h+96>>2],i[o+64>>2]=i[h+92>>2],i[o+68>>2]=r,r=s[h+107|0]|s[h+108|0]<<8|(s[h+109|0]<<16|s[h+110|0]<<24),l[o+79|0]=r,l[o+80|0]=r>>>8,l[o+81|0]=r>>>16,l[o+82|0]=r>>>24,i[o+76>>2]=i[h+104>>2],i[o+84>>2]=0,r=i[o+92>>2];e:{if(r>>>0>2]){i[r>>2]=i[o+44>>2],i[r+4>>2]=i[o+48>>2],i[r+8>>2]=i[o+52>>2],i[o+48>>2]=0,i[o+52>>2]=0,A=i[o+68>>2],i[r+20>>2]=i[o+64>>2],i[r+24>>2]=A,A=i[o+60>>2],i[r+12>>2]=i[o+56>>2],i[r+16>>2]=A,i[r+28>>2]=72992,i[r+32>>2]=i[o+76>>2],A=s[o+79|0]|s[o+80|0]<<8|(s[o+81|0]<<16|s[o+82|0]<<24),l[r+35|0]=A,l[r+36|0]=A>>>8,l[r+37|0]=A>>>16,l[r+38|0]=A>>>24,i[r+40>>2]=i[o+84>>2],i[o+92>>2]=r+44;break e}A:{f:{if(k=i[o+92>>2],Z=i[o+88>>2],A=(k-Z|0)/44|0,r=A+1|0,r>>>0<97612894){if(n=(i[o+96>>2]-Z|0)/44|0,u=n<<1,r=n>>>0>=48806446?97612893:r>>>0>>0?u:r,r){if(r>>>0>=97612894)break f;n=U(m(r,44))}else n=0;A=n+m(A,44)|0,i[A>>2]=i[o+44>>2],i[A+4>>2]=i[o+48>>2],i[A+8>>2]=i[o+52>>2],i[o+48>>2]=0,i[o+52>>2]=0,u=i[o+68>>2],i[A+20>>2]=i[o+64>>2],i[A+24>>2]=u,u=i[o+60>>2],i[A+12>>2]=i[o+56>>2],i[A+16>>2]=u,i[A+28>>2]=72992,i[A+32>>2]=i[o+76>>2],u=s[o+79|0]|s[o+80|0]<<8|(s[o+81|0]<<16|s[o+82|0]<<24),l[A+35|0]=u,l[A+36|0]=u>>>8,l[A+37|0]=u>>>16,l[A+38|0]=u>>>24,i[A+40>>2]=i[o+84>>2],v=n+m(r,44)|0,n=A+44|0;k:{if((k|0)==(Z|0)){r=A;break k}for(;r=A-44|0,u=k-44|0,i[r>>2]=i[u>>2],w=k-40|0,i[A-40>>2]=i[w>>2],i[A-36>>2]=i[k-36>>2],i[w>>2]=0,i[w+4>>2]=0,w=k-32|0,W=i[w+12>>2],_=A-32|0,i[_+8>>2]=i[w+8>>2],i[_+12>>2]=W,W=i[w+4>>2],i[_>>2]=i[w>>2],i[_+4>>2]=W,i[A-16>>2]=72992,w=A-12|0,_=k-12|0,i[w>>2]=i[_>>2],_=s[_+3|0]|s[_+4|0]<<8|(s[_+5|0]<<16|s[_+6|0]<<24),l[w+3|0]=_,l[w+4|0]=_>>>8,l[w+5|0]=_>>>16,l[w+6|0]=_>>>24,i[A-4>>2]=i[k-4>>2],A=r,k=u,(Z|0)!=(k|0););}if(i[o+96>>2]=v,k=i[o+88>>2],i[o+88>>2]=r,A=i[o+92>>2],i[o+92>>2]=n,(A|0)!=(k|0))for(;;){r=i[A-36>>2];k:{if(!r||(u=i[r+4>>2],i[r+4>>2]=u-1,u))break k;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-44|0,(k|0)==(A|0))break}k&&G(k);break A}y0(),P()}_2(),P()}if(i[o+92>>2]=n,r=i[o+52>>2],!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break e;V[i[i[r>>2]+8>>2]](r),g(r)}A=i[o+92>>2],u=i[o+88>>2],w=0;e:{if((A|0)==(u|0))break e;for(;;){k=-1,r=A-u|0;A:{if((r|0)<=0)break A;A=(r>>>0)/44|0,A=A>>>0<=1?1:A,_=A&3,w=0;f:{if(r>>>0<176){r=2147483647,A=0;break f}for(E=A&67108860,A=0,r=2147483647,n=0;v=i[(m(A,44)+u|0)+40>>2],Z=(v|0)<(r|0),y=A|1,W=i[(m(y,44)+u|0)+40>>2],r=Z?v:r,v=(W|0)<(r|0),I=A|2,C=i[(m(I,44)+u|0)+40>>2],r=v?W:r,W=(C|0)<(r|0),J=A|3,R=i[(m(J,44)+u|0)+40>>2],r=W?C:r,C=(R|0)<(r|0),r=C?R:r,k=C?J:W?I:v?y:Z?A:k,A=A+4|0,n=n+4|0,(E|0)!=(n|0););}if(!_)break A;for(;Z=i[(m(A,44)+u|0)+40>>2],n=(Z|0)<(r|0),r=n?Z:r,k=n?A:k,A=A+1|0,w=w+1|0,(_|0)!=(w|0););}v=m(k,44),n=v+u|0,r=i[o+104>>2];A:{if(r>>>0>2]){i[r>>2]=i[n>>2],i[r+4>>2]=i[n+4>>2],A=i[n+8>>2],i[r+8>>2]=A,A&&(i[A+4>>2]=i[A+4>>2]+1),A=i[n+16>>2],i[r+12>>2]=i[n+12>>2],i[r+16>>2]=A,A=i[n+24>>2],i[r+20>>2]=i[n+20>>2],i[r+24>>2]=A,i[r+28>>2]=72992,i[r+32>>2]=i[n+32>>2],A=s[n+35|0]|s[n+36|0]<<8|(s[n+37|0]<<16|s[n+38|0]<<24),l[r+35|0]=A,l[r+36|0]=A>>>8,l[r+37|0]=A>>>16,l[r+38|0]=A>>>24,i[r+40>>2]=i[n+40>>2],A=r+44|0;break A}f:{k:{if(k=i[o+104>>2],u=i[o+100>>2],A=(k-u|0)/44|0,r=A+1|0,r>>>0<97612894){if(w=(i[o+108>>2]-u|0)/44|0,_=w<<1,w=w>>>0>=48806446?97612893:r>>>0<_>>>0?_:r,w){if(w>>>0>=97612894)break k;r=U(m(w,44))}else r=0;A=r+m(A,44)|0,i[A>>2]=i[n>>2],i[A+4>>2]=i[n+4>>2],_=i[n+8>>2],i[A+8>>2]=_,_&&(i[_+4>>2]=i[_+4>>2]+1,u=i[o+100>>2],k=i[o+104>>2]),W=r+m(w,44)|0,r=i[n+16>>2],i[A+12>>2]=i[n+12>>2],i[A+16>>2]=r,r=i[n+24>>2],i[A+20>>2]=i[n+20>>2],i[A+24>>2]=r,i[A+28>>2]=72992,i[A+32>>2]=i[n+32>>2],r=s[n+35|0]|s[n+36|0]<<8|(s[n+37|0]<<16|s[n+38|0]<<24),l[A+35|0]=r,l[A+36|0]=r>>>8,l[A+37|0]=r>>>16,l[A+38|0]=r>>>24,i[A+40>>2]=i[n+40>>2],n=A+44|0;n:{if((k|0)==(u|0)){r=A;break n}for(;r=A-44|0,w=k-44|0,i[r>>2]=i[w>>2],_=k-40|0,i[A-40>>2]=i[_>>2],i[A-36>>2]=i[k-36>>2],i[_>>2]=0,i[_+4>>2]=0,_=k-32|0,C=i[_+12>>2],Z=A-32|0,i[Z+8>>2]=i[_+8>>2],i[Z+12>>2]=C,C=i[_+4>>2],i[Z>>2]=i[_>>2],i[Z+4>>2]=C,i[A-16>>2]=72992,_=A-12|0,Z=k-12|0,i[_>>2]=i[Z>>2],Z=s[Z+3|0]|s[Z+4|0]<<8|(s[Z+5|0]<<16|s[Z+6|0]<<24),l[_+3|0]=Z,l[_+4|0]=Z>>>8,l[_+5|0]=Z>>>16,l[_+6|0]=Z>>>24,i[A-4>>2]=i[k-4>>2],A=r,k=w,(u|0)!=(k|0););k=i[o+104>>2],u=i[o+100>>2]}if(i[o+108>>2]=W,i[o+104>>2]=n,i[o+100>>2]=r,(k|0)!=(u|0))for(;;){r=i[k-36>>2];n:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break n;V[i[i[r>>2]+8>>2]](r),g(r)}if(k=k-44|0,(u|0)==(k|0))break}u&&G(u),A=n;break f}y0(),P()}_2(),P()}u=i[o+88>>2]}i[o+104>>2]=A,r=u+v|0,k=i[o+92>>2],i[r>>2]=i[k-44>>2],A=i[k-40>>2],n=i[k-36>>2],n&&(i[n+4>>2]=i[n+4>>2]+1),i[r+4>>2]=A,A=i[r+8>>2],i[r+8>>2]=n;A:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break A;V[i[i[A>>2]+8>>2]](A),g(A)}A=k-32|0,n=i[A+4>>2],i[r+12>>2]=i[A>>2],i[r+16>>2]=n,n=i[A+12>>2],i[r+20>>2]=i[A+8>>2],i[r+24>>2]=n,A=k-12|0,i[r+32>>2]=i[A>>2],A=s[A+3|0]|s[A+4|0]<<8|(s[A+5|0]<<16|s[A+6|0]<<24),l[r+35|0]=A,l[r+36|0]=A>>>8,l[r+37|0]=A>>>16,l[r+38|0]=A>>>24,i[r+40>>2]=i[k-4>>2],A=i[o+92>>2],r=i[A-36>>2];A:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break A;V[i[i[r>>2]+8>>2]](r),g(r)}A=A-44|0,i[o+92>>2]=A;A:{if(r=i[o+104>>2],k=i[r-32>>2],(k|0)!=i[p>>2]|i[r-28>>2]!=i[p+4>>2]|(s[r-24|0]!=s[p+8|0]|i[r-20>>2]!=i[p+12>>2])||!k&&s[r-6|0]!=s[p+26|0]|Q[r-8>>1]!=Q[p+24>>1]|Q[r-12>>1]!=Q[p+20>>1])break A;k=i[o+100>>2],r=((r-k|0)/44|0)-1|0;f:{k:{if(r){for(A=0;n=A,A=A+1|0,r=i[k+m(r,44)>>2],!!r;);if(k=i[h+16>>2],r=k,w=i[h+12>>2],u=r-w>>6,n>>>0>>0)break k;t=0;n:{if(n=A-u|0,w=i[h+20>>2],n>>>0<=w-r>>6>>>0){if(n)for(r=(n<<6)+r|0;i[k+32>>2]=0,i[k+36>>2]=0,n=k+24|0,i[n>>2]=0,i[n+4>>2]=0,i[k+16>>2]=0,i[k+20>>2]=0,i[k>>2]=0,i[k+4>>2]=0,i[k+56>>2]=0,i[k+60>>2]=0,i[k+48>>2]=0,i[k+52>>2]=0,i[k+40>>2]=0,i[k+44>>2]=0,i[k+8>>2]=99,i[k+12>>2]=99,l[k+34|0]=1,X[k+32>>1]=2,i[k+28>>2]=131074,i[k+24>>2]=72992,i[k+20>>2]=8,l[k+34|0]=1,X[k+32>>1]=6,i[k+28>>2]=851969,l[k+62|0]=1,X[k+60>>1]=2,i[k+56>>2]=131074,i[k+52>>2]=72992,i[k+48>>2]=8,l[k+44|0]=0,i[k+36>>2]=99,i[k+40>>2]=99,l[k+62|0]=1,X[k+60>>1]=6,i[k+56>>2]=851969,k=k- -64|0,(r|0)!=(k|0););i[h+16>>2]=k;break n}t:{if(r=k,k=i[h+12>>2],_=r-k>>6,r=_+n|0,r>>>0<67108864){if(k=w-k|0,u=k>>5,u=k>>>0>=2147483584?67108863:r>>>0>>0?u:r,u){if(u>>>0>=67108864)break t;t=U(u<<6)}for(r=(_<<6)+t|0,n=r+(n<<6)|0,k=r;i[k+32>>2]=0,i[k+36>>2]=0,w=k+24|0,i[w>>2]=0,i[w+4>>2]=0,i[k+16>>2]=0,i[k+20>>2]=0,i[k>>2]=0,i[k+4>>2]=0,i[k+56>>2]=0,i[k+60>>2]=0,i[k+48>>2]=0,i[k+52>>2]=0,i[k+40>>2]=0,i[k+44>>2]=0,i[k+8>>2]=99,i[k+12>>2]=99,l[k+34|0]=1,X[k+32>>1]=2,i[k+28>>2]=131074,i[k+24>>2]=72992,i[k+20>>2]=8,l[k+34|0]=1,X[k+32>>1]=6,i[k+28>>2]=851969,l[k+62|0]=1,X[k+60>>1]=2,i[k+56>>2]=131074,i[k+52>>2]=72992,i[k+48>>2]=8,l[k+44|0]=0,i[k+36>>2]=99,i[k+40>>2]=99,l[k+62|0]=1,X[k+60>>1]=6,i[k+56>>2]=851969,k=k- -64|0,(n|0)!=(k|0););Z=(u<<6)+t|0,n=i[h+16>>2],u=i[h+12>>2];o:{if((n|0)==(u|0)){t=r;break o}for(;t=r+-64|0,w=n+-64|0,i[t>>2]=i[w>>2],i[r-60>>2]=i[n-60>>2],i[w>>2]=0,i[w+4>>2]=0,_=n-56|0,v=i[_+12>>2],p=r-56|0,i[p+8>>2]=i[_+8>>2],i[p+12>>2]=v,v=i[_+4>>2],i[p>>2]=i[_>>2],i[p+4>>2]=v,i[r-40>>2]=72992,_=r-36|0,p=n-36|0,i[_>>2]=i[p>>2],p=s[p+3|0]|s[p+4|0]<<8|(s[p+5|0]<<16|s[p+6|0]<<24),l[_+3|0]=p,l[_+4|0]=p>>>8,l[_+5|0]=p>>>16,l[_+6|0]=p>>>24,_=n-28|0,v=i[_+4>>2],p=r-28|0,i[p>>2]=i[_>>2],i[p+4>>2]=v,v=i[_+12>>2],i[p+8>>2]=i[_+8>>2],i[p+12>>2]=v,i[r-12>>2]=72992,r=r-8|0,n=n-8|0,i[r>>2]=i[n>>2],n=s[n+3|0]|s[n+4|0]<<8|(s[n+5|0]<<16|s[n+6|0]<<24),l[r+3|0]=n,l[r+4|0]=n>>>8,l[r+5|0]=n>>>16,l[r+6|0]=n>>>24,r=t,n=w,(u|0)!=(n|0););n=i[h+16>>2],u=i[h+12>>2]}if(i[h+20>>2]=Z,i[h+16>>2]=k,i[h+12>>2]=t,(n|0)!=(u|0))for(;;){r=i[n-60>>2];o:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break o;V[i[i[r>>2]+8>>2]](r),g(r)}if(n=n+-64|0,(u|0)==(n|0))break}u&&G(u);break n}y0(),P()}_2(),P()}break f}r=i[h+16>>2],w=i[h+12>>2],u=r-w>>6,A=0}if(A>>>0>=u>>>0)break f;if(n=(A<<6)+w|0,(n|0)!=(r|0))for(;;){k=i[r-60>>2];k:{if(!k||(t=i[k+4>>2],i[k+4>>2]=t-1,t))break k;V[i[i[k>>2]+8>>2]](k),g(k)}if(r=r+-64|0,(n|0)==(r|0))break}i[h+16>>2]=n}if(r=i[h+12>>2],n=i[o+100>>2],t=((i[o+104>>2]-n|0)/44|0)-1|0,t){u=A-1|0,k=(u<<6)+r|0,r=n+m(t,44)|0,w=i[r+4>>2],n=i[r+8>>2],n&&(i[n+4>>2]=i[n+4>>2]+1),i[k>>2]=w,r=i[k+4>>2],i[k+4>>2]=n;f:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break f;V[i[i[r>>2]+8>>2]](r),g(r)}if(t=m(t,44),k=t+i[o+100>>2]|0,n=i[k+16>>2],r=i[h+12>>2]+(u<<6)|0,i[r+36>>2]=i[k+12>>2],i[r+40>>2]=n,n=i[k+24>>2],i[r+44>>2]=i[k+20>>2],i[r+48>>2]=n,n=s[k+35|0]|s[k+36|0]<<8|(s[k+37|0]<<16|s[k+38|0]<<24),l[r+59|0]=n,l[r+60|0]=n>>>8,l[r+61|0]=n>>>16,l[r+62|0]=n>>>24,i[r+56>>2]=i[k+32>>2],k=i[o+100>>2],w=i[t+k>>2],w)for(r=1;;){u=(r^-1)+A<<6,n=u+i[h+12>>2]|0,w=m(w,44),k=w+k|0,_=i[k+4>>2],t=i[k+8>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[n>>2]=_,k=i[n+4>>2],i[n+4>>2]=t;f:{if(!k||(n=i[k+4>>2],i[k+4>>2]=n-1,n))break f;V[i[i[k>>2]+8>>2]](k),g(k)}if(n=w+i[o+100>>2]|0,t=i[n+16>>2],k=u+i[h+12>>2]|0,i[k+36>>2]=i[n+12>>2],i[k+40>>2]=t,t=i[n+24>>2],i[k+44>>2]=i[n+20>>2],i[k+48>>2]=t,t=s[n+35|0]|s[n+36|0]<<8|(s[n+37|0]<<16|s[n+38|0]<<24),l[k+59|0]=t,l[k+60|0]=t>>>8,l[k+61|0]=t>>>16,l[k+62|0]=t>>>24,i[k+56>>2]=i[n+32>>2],n=i[h+12>>2],k=n+(A-r<<6)|0,n=n+u|0,t=i[n+40>>2],i[k+8>>2]=i[n+36>>2],i[k+12>>2]=t,t=i[n+48>>2],i[k+16>>2]=i[n+44>>2],i[k+20>>2]=t,t=s[n+59|0]|s[n+60|0]<<8|(s[n+61|0]<<16|s[n+62|0]<<24),l[k+31|0]=t,l[k+32|0]=t>>>8,l[k+33|0]=t>>>16,l[k+34|0]=t>>>24,i[k+28>>2]=i[n+56>>2],r=r+1|0,k=i[o+100>>2],w=i[w+k>>2],!w)break}r=i[h+12>>2]}A=i[h+88>>2],i[r+8>>2]=i[h+84>>2],i[r+12>>2]=A,A=i[h+96>>2],i[r+16>>2]=i[h+92>>2],i[r+20>>2]=A,A=s[h+107|0]|s[h+108|0]<<8|(s[h+109|0]<<16|s[h+110|0]<<24),l[r+31|0]=A,l[r+32|0]=A>>>8,l[r+33|0]=A>>>16,l[r+34|0]=A>>>24,i[r+28>>2]=i[h+104>>2],u=i[o+88>>2],w=1;break e}if(_=i[19590],C=i[19591],(_|0)!=(C|0)){for(;;){if(r=i[_>>2],V[i[i[r>>2]+8>>2]](o+32|0,r,i[o+104>>2]-32|0,p,t),u=i[o+32>>2],E=i[o+36>>2],(u|0)!=(E|0)){A:{f:{for(;;){k:{k=i[o+104>>2],Z=i[k-4>>2],w=i[u+28>>2],r=i[o+100>>2];n:{if((r|0)!=(k|0))for(n=i[u>>2],A=r;;){t:{if((n|0)!=i[A+12>>2]|i[A+16>>2]!=i[u+4>>2]|(s[A+20|0]!=s[u+8|0]|i[A+24>>2]!=i[u+12>>2]))break t;if(n)break n;if(s[A+38|0]!=s[u+26|0]|Q[A+36>>1]!=Q[u+24>>1])break t;if(Q[A+32>>1]==Q[u+20>>1])break n}if(A=A+44|0,(k|0)==(A|0))break}if(n=w+Z|0,A=i[o+88>>2],v=i[o+92>>2],(A|0)!=(v|0))for(Z=i[u>>2];;){t:{if((Z|0)!=i[A+12>>2]|i[A+16>>2]!=i[u+4>>2]|(s[A+20|0]!=s[u+8|0]|i[A+24>>2]!=i[u+12>>2])||!Z&&s[A+38|0]!=s[u+26|0]|Q[A+36>>1]!=Q[u+24>>1]|Q[A+32>>1]!=Q[u+20>>1])break t;if((n|0)>=i[A+40>>2])break n;l[o+82|0]=1,X[o+80>>1]=2,i[o+76>>2]=131074,l[o+64|0]=0,i[o+60>>2]=99,i[o+52>>2]=0,i[o+56>>2]=99,i[o+44>>2]=-1,i[o+48>>2]=0,i[o+68>>2]=8,i[o+72>>2]=72992,l[o+82|0]=1,X[o+80>>1]=6,i[o+76>>2]=851969,i[o+44>>2]=((k-r|0)/44|0)-1,r=i[_>>2],k=i[_+4>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),i[o+48>>2]=r,r=i[o+52>>2],i[o+52>>2]=k;o:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break o;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[u+4>>2],i[o+56>>2]=i[u>>2],i[o+60>>2]=r,r=i[u+12>>2],i[o+64>>2]=i[u+8>>2],i[o+68>>2]=r,r=s[u+23|0]|s[u+24|0]<<8|(s[u+25|0]<<16|s[u+26|0]<<24),l[o+79|0]=r,l[o+80|0]=r>>>8,l[o+81|0]=r>>>16,l[o+82|0]=r>>>24,i[o+76>>2]=i[u+20>>2],i[o+84>>2]=w,i[A>>2]=i[o+44>>2],k=i[o+48>>2],w=i[o+52>>2],i[o+48>>2]=0,i[o+52>>2]=0,r=i[A+8>>2],i[A+4>>2]=k,i[A+8>>2]=w;o:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break o;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[o+60>>2],i[A+12>>2]=i[o+56>>2],i[A+16>>2]=r,r=i[o+68>>2],i[A+20>>2]=i[o+64>>2],i[A+24>>2]=r,r=s[o+79|0]|s[o+80|0]<<8|(s[o+81|0]<<16|s[o+82|0]<<24),l[A+35|0]=r,l[A+36|0]=r>>>8,l[A+37|0]=r>>>16,l[A+38|0]=r>>>24,i[A+32>>2]=i[o+76>>2],i[A+40>>2]=i[o+84>>2],r=i[o+52>>2];o:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break o;V[i[i[r>>2]+8>>2]](r),g(r)}i[A+40>>2]=n;break n}if(A=A+44|0,(v|0)==(A|0))break}A=i[u+12>>2],i[o+24>>2]=i[u+8>>2],i[o+28>>2]=A,A=i[u+4>>2],i[o+16>>2]=i[u>>2],i[o+20>>2]=A,i[o+8>>2]=i[u+20>>2],A=s[u+23|0]|s[u+24|0]<<8|(s[u+25|0]<<16|s[u+26|0]<<24),l[o+11|0]=A,l[o+12|0]=A>>>8,l[o+13|0]=A>>>16,l[o+14|0]=A>>>24,l[o+82|0]=1,X[o+80>>1]=2,i[o+76>>2]=131074,i[o+72>>2]=72992,i[o+68>>2]=8,l[o+64|0]=0,i[o+60>>2]=99,i[o+52>>2]=0,i[o+56>>2]=99,i[o+44>>2]=-1,i[o+48>>2]=0,l[o+82|0]=1,X[o+80>>1]=6,i[o+76>>2]=851969,i[o+44>>2]=((k-r|0)/44|0)-1,r=i[_>>2],A=i[_+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[o+48>>2]=r,r=i[o+52>>2],i[o+52>>2]=A;t:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break t;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[o+20>>2],i[o+56>>2]=i[o+16>>2],i[o+60>>2]=r,r=i[o+28>>2],i[o+64>>2]=i[o+24>>2],i[o+68>>2]=r,r=s[o+11|0]|s[o+12|0]<<8|(s[o+13|0]<<16|s[o+14|0]<<24),l[o+79|0]=r,l[o+80|0]=r>>>8,l[o+81|0]=r>>>16,l[o+82|0]=r>>>24,i[o+76>>2]=i[o+8>>2],i[o+84>>2]=n,A=i[o+92>>2],k=i[o+96>>2];t:{if(A>>>0>>0){i[A>>2]=i[o+44>>2],i[A+4>>2]=i[o+48>>2],i[A+8>>2]=i[o+52>>2],i[o+48>>2]=0,i[o+52>>2]=0,r=i[o+68>>2],i[A+20>>2]=i[o+64>>2],i[A+24>>2]=r,r=i[o+60>>2],i[A+12>>2]=i[o+56>>2],i[A+16>>2]=r,i[A+28>>2]=72992,i[A+32>>2]=i[o+76>>2],r=s[o+79|0]|s[o+80|0]<<8|(s[o+81|0]<<16|s[o+82|0]<<24),l[A+35|0]=r,l[A+36|0]=r>>>8,l[A+37|0]=r>>>16,l[A+38|0]=r>>>24,i[A+40>>2]=i[o+84>>2],Z=A+44|0;break t}if(w=i[o+88>>2],v=(A-w|0)/44|0,r=v+1|0,r>>>0>=97612894)break k;if(k=(k-w|0)/44|0,Z=k<<1,k=k>>>0>=48806446?97612893:r>>>0>>0?Z:r,k){if(k>>>0>=97612894)break f;Z=U(m(k,44))}else Z=0;r=Z+m(v,44)|0,i[r>>2]=i[o+44>>2],i[r+4>>2]=i[o+48>>2],i[r+8>>2]=i[o+52>>2],i[o+48>>2]=0,i[o+52>>2]=0,v=i[o+28>>2],i[r+20>>2]=i[o+24>>2],i[r+24>>2]=v,v=i[o+20>>2],i[r+12>>2]=i[o+16>>2],i[r+16>>2]=v,i[r+28>>2]=72992,i[r+32>>2]=i[o+8>>2],v=s[o+11|0]|s[o+12|0]<<8|(s[o+13|0]<<16|s[o+14|0]<<24),l[r+35|0]=v,l[r+36|0]=v>>>8,l[r+37|0]=v>>>16,l[r+38|0]=v>>>24,i[r+40>>2]=n,y=Z+m(k,44)|0,Z=r+44|0;o:{if((A|0)==(w|0)){n=r;break o}for(;n=r-44|0,k=A-44|0,i[n>>2]=i[k>>2],v=A-40|0,i[r-40>>2]=i[v>>2],i[r-36>>2]=i[A-36>>2],i[v>>2]=0,i[v+4>>2]=0,v=A-32|0,I=i[v+12>>2],W=r-32|0,i[W+8>>2]=i[v+8>>2],i[W+12>>2]=I,I=i[v+4>>2],i[W>>2]=i[v>>2],i[W+4>>2]=I,i[r-16>>2]=72992,v=r-12|0,W=A-12|0,i[v>>2]=i[W>>2],W=s[W+3|0]|s[W+4|0]<<8|(s[W+5|0]<<16|s[W+6|0]<<24),l[v+3|0]=W,l[v+4|0]=W>>>8,l[v+5|0]=W>>>16,l[v+6|0]=W>>>24,i[r-4>>2]=i[A-4>>2],r=n,A=k,(w|0)!=(k|0););A=i[o+92>>2],w=i[o+88>>2]}if(i[o+96>>2]=y,i[o+92>>2]=Z,i[o+88>>2]=n,(A|0)!=(w|0))for(;;){r=i[A-36>>2];o:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break o;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-44|0,(w|0)==(A|0))break}if(!w)break t;G(w)}if(i[o+92>>2]=Z,r=i[o+52>>2],!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break n;V[i[i[r>>2]+8>>2]](r),g(r)}if(u=u+32|0,(E|0)!=(u|0))continue;break A}break}y0(),P()}_2(),P()}u=i[o+32>>2]}if(u&&(i[o+36>>2]=u,G(u)),_=_+8|0,(C|0)==(_|0))break}A=i[o+92>>2]}if(u=i[o+88>>2],(u|0)==(A|0))break}w=0}if(u){if(r=u,A=i[o+92>>2],(r|0)!=(A|0)){for(;;){r=i[A-36>>2];e:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break e;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-44|0,(u|0)==(A|0))break}r=i[o+88>>2]}i[o+92>>2]=u,G(r)}if(k=i[o+100>>2],!k)break r;if(r=k,A=i[o+104>>2],(r|0)!=(A|0)){for(;;){r=i[A-36>>2];e:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break e;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-44|0,(k|0)==(A|0))break}r=i[o+100>>2]}i[o+104>>2]=k,G(r)}B=o+112|0;r:{if(!w){i[f>>2]=0,i[f+4>>2]=0;break r}t=f,u=B-48|0,B=u,f=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+2),r=h+12|0,Z=i[r>>2],C=i[r+4>>2];e:{A:{if((Z|0)==(C|0)){A=f,r=e;break A}for(E=r+12|0,w=u+16|0;;){r=i[Z>>2],i[u+36>>2]=e,i[u+32>>2]=f,e&&(i[e+4>>2]=i[e+4>>2]+1),V[i[i[r>>2]+12>>2]](u+40|0,r,u+32|0,Z+8|0,Z+36|0,E),r=i[u+44>>2],A=i[u+40>>2],i[u+40>>2]=0,i[u+44>>2]=0;f:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k||(V[i[i[e>>2]+8>>2]](e),g(e)),k=i[u+44>>2],!k)||(n=i[k+4>>2],i[k+4>>2]=n-1,n))break f;V[i[i[k>>2]+8>>2]](k),g(k)}k=i[u+36>>2];f:{if(!k||(n=i[k+4>>2],i[k+4>>2]=n-1,n))break f;V[i[i[k>>2]+8>>2]](k),g(k)}f:{k:{n:{if(A){p=U(24),k=p,i[k+4>>2]=0,i[k+8>>2]=0,i[k+12>>2]=72992,i[k>>2]=72832,i[k+16>>2]=i[Z+56>>2],n=s[Z+59|0]|s[Z+60|0]<<8|(s[Z+61|0]<<16|s[Z+62|0]<<24),l[k+19|0]=n,l[k+20|0]=n>>>8,l[k+21|0]=n>>>16,l[k+22|0]=n>>>24,i[k+4>>2]=2,i[A+44>>2]=k+12,n=i[A+48>>2],i[A+48>>2]=k;t:{if(!n||(k=i[n+4>>2],i[n+4>>2]=k-1,k))break t;V[i[i[n>>2]+8>>2]](n),g(n)}k=i[p+4>>2],i[p+4>>2]=k-1,k||(V[i[i[p>>2]+8>>2]](p),g(p)),k=i[f+52>>2],n=i[f+56>>2],n&&(i[n+4>>2]=i[n+4>>2]+1),i[A+52>>2]=k,k=i[A+56>>2],i[A+56>>2]=n;t:{if(!k||(n=i[k+4>>2],i[k+4>>2]=n-1,n))break t;V[i[i[k>>2]+8>>2]](k),g(k)}if(l[A+40|0]=s[f+40|0],Q[f+80>>1]|Q[f+82>>1]&&(i[A+80>>2]=i[f+80>>2]),s[f+108|0]==1&&(k=i[f+92>>2],n=i[f+96>>2],o=i[f+84>>2],_=i[f+88>>2],v=i[f+104>>2],i[A+100>>2]=i[f+100>>2],i[A+104>>2]=v,i[A+92>>2]=k,i[A+96>>2]=n,i[A+84>>2]=o,i[A+88>>2]=_,l[A+108|0]=1),k=i[f+72>>2],n=i[f+76>>2],(k|0)!=(n|0)&&(i[A+76>>2]=n,i[A+72>>2]=k),_=i[f+112>>2],y=i[f+116>>2],(_|0)==(y|0))break f;for(;;){f=i[_+4>>2],i[u+8>>2]=i[_>>2],i[u+12>>2]=f;t:{if(l[_+19|0]>=0){f=i[_+12>>2],i[w>>2]=i[_+8>>2],i[w+4>>2]=f,i[w+8>>2]=i[_+16>>2];break t}_0(w,i[_+8>>2],i[_+12>>2])}f=i[A+116>>2],k=i[A+120>>2];t:{if(f>>>0>>0){k=i[u+12>>2],i[f>>2]=i[u+8>>2],i[f+4>>2]=k,i[f+16>>2]=i[w+8>>2],k=i[w+4>>2],i[f+8>>2]=i[w>>2],i[f+12>>2]=k,i[w>>2]=0,i[w+4>>2]=0,i[w+8>>2]=0,W=f+20|0;break t}if(n=i[A+112>>2],o=(f-n|0)/20|0,f=o+1|0,f>>>0>=214748365)break n;if(k=(k-n|0)/20|0,n=k<<1,f=k>>>0>=107374182?214748364:f>>>0>>0?n:f,f){if(f>>>0>=214748365)break k;n=U(m(f,20))}else n=0;k=n+m(o,20)|0,o=i[u+12>>2],i[k>>2]=i[u+8>>2],i[k+4>>2]=o,i[k+16>>2]=i[w+8>>2],o=i[w+4>>2],i[k+8>>2]=i[w>>2],i[k+12>>2]=o,i[w>>2]=0,i[w+4>>2]=0,i[w+8>>2]=0,I=n+m(f,20)|0,W=k+20|0,f=i[A+116>>2],v=i[A+112>>2];o:{if((f|0)==(v|0)){n=k;break o}for(;o=f-20|0,J=i[o+4>>2],n=k-20|0,i[n>>2]=i[o>>2],i[n+4>>2]=J,k=k-12|0,f=f-12|0,i[k+8>>2]=i[f+8>>2],J=i[f+4>>2],i[k>>2]=i[f>>2],i[k+4>>2]=J,i[f>>2]=0,i[f+4>>2]=0,i[f+8>>2]=0,k=n,f=o,(o|0)!=(v|0););f=i[A+116>>2],v=i[A+112>>2]}if(i[A+120>>2]=I,i[A+116>>2]=W,i[A+112>>2]=n,(f|0)!=(v|0))for(;l[f-1|0]<0&&G(i[f-12>>2]),f=f-20|0,(v|0)!=(f|0););if(!v)break t;G(v)}if(i[A+116>>2]=W,l[u+27|0]<0&&G(i[u+16>>2]),_=_+20|0,(y|0)==(_|0))break}break f}i[t>>2]=0,i[t+4>>2]=0;t:{if(!r||(f=i[r+4>>2],i[r+4>>2]=f-1,f))break t;V[i[i[r>>2]+8>>2]](r),g(r)}r=e;break e}y0(),P()}_2(),P()}r&&(i[r+4>>2]=i[r+4>>2]+1);f:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break f;V[i[i[e>>2]+8>>2]](e),g(e)}if(f=i[p+4>>2],i[p+4>>2]=f-1,f||(V[i[i[p>>2]+8>>2]](p),g(p)),e=r,f=A,Z=Z- -64|0,(C|0)==(Z|0))break}}i[t+4>>2]=r,i[t>>2]=A}e:{if(!r||(f=i[r+4>>2],i[r+4>>2]=f-1,f))break e;V[i[i[r>>2]+8>>2]](r),g(r)}B=u+48|0}if(f=i[h+12>>2],f){if(e=i[h+16>>2],r=f,(e|0)!=(r|0)){for(;;){r=i[e-60>>2];r:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(e=e+-64|0,(f|0)==(e|0))break}r=i[h+12>>2]}i[h+16>>2]=f,G(r)}j6(h+72|0,i[h+76>>2])}B=h+112|0}function fk(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0;if(l[e|0]=0,r=i[f+3208>>2],t=i[f+3212>>2],(r|0)==(t|0))return 0;i:{r:{W=i[r>>2],A=i[W+428>>2],k=i[W+424>>2];e:{A:{if((A|0)==(k|0))break A;for(A=A-k>>2,A=A>>>0<=1?1:A;;){if(n=i[k+(I<<2)>>2],i[n+40>>2]){if(I=I+1|0,(A|0)!=(I|0))continue;break A}break}if(s[n+36|0]==1&&Ut(f+2140|0),l[e|0]=1,t=0,o=i[n+4>>2],A=i[o+1352>>2],(A|0)!=i[o+1356>>2])for(k=f+2140|0;r=M9(k,i[(t<<2)+A>>2]),(r|0)>=0&&(i[i[i[f+2148>>2]+(r<<2)>>2]+100>>2]=0),t=t+1|0,A=i[o+1352>>2],t>>>0>2]-A>>2>>>0;);w=i[W>>2],r=i[w+132>>2],i[n+40>>2]=1,u=s[r+46|0],Z=s[r+45|0],k=i[w+112>>2],o=i[k+1884>>2];f:{if(u|(Z|(o|0)<=0))break f;A=i[k+168>>2];k:{if((A|0)>0){for(r=k+88|0,t=0;;){if(i[r+(t<<2)>>2]==1e3)break f;if(t=t+1|0,(A|0)==(t|0))break}if((A|0)>19)break k}i[k+168>>2]=A+1,i[(k+(A<<2)|0)+88>>2]=1e3}if(r=i[k+84>>2],(r|0)==20){i[k+80>>2]=1001;break f}i[k+84>>2]=r+1,i[(k+4|0)+(r<<2)>>2]=1e3}A=i[W+424>>2],t=i[W+428>>2];f:{if((A|0)==(t|0)|(n|0)!=i[A>>2]||(k=i[i[n+4>>2]+24>>2],(k|0)<=0))break f;for(t=0;r=i[w+320>>2]+m(t,76)|0,i[r>>2]<=0&&(i[r>>2]=1),t=t+1|0,(k|0)!=(t|0););A=i[W+424>>2],t=i[W+428>>2]}k=t-A>>2;f:{if(k>>>0<2)break f;for(t=1;;){if(r=(t<<2)+A|0,(n|0)!=i[r>>2]){if(t=t+1|0,(k|0)!=(t|0))continue;break f}break}if(w=i[r-4>>2],!w|i[w+40>>2]!=2||(k=k-1|0,!k))break f;for(t=0;;){if(r=(t<<2)+A|0,(w|0)!=i[r>>2]){if(t=t+1|0,(k|0)!=(t|0))continue;break f}break}if(A=i[r+4>>2],!A||(t=i[i[w+4>>2]+24>>2],(t|0)>=i[i[A+4>>2]+24>>2]))break f;for(;;){if(r=i[W>>2],i[r+144>>2]<=(t|0))break f;if(r=i[r+320>>2]+m(t,76)|0,i[r>>2]<=0&&(i[r>>2]=1),t=t+1|0,!((t|0)>2]+24>>2]))break}}t=0;f:{k:{n:{if(!(u|Z&&(o|0)>0)){if(o=0,u=B-18608|0,B=u,I=i[n+4>>2],A=i[I+1352>>2],(A|0)!=i[I+1356>>2]){for(k=f+2140|0;r=M9(k,i[(o<<2)+A>>2]),(r|0)>=0&&(i[i[i[f+2148>>2]+(r<<2)>>2]+100>>2]=0),o=o+1|0,A=i[I+1352>>2],o>>>0>2]-A>>2>>>0;);I=i[n+4>>2]}if(o=6,r=i[i[W>>2]+132>>2],k0[I+24>>2]>2]-i[r+8448>>2]>>2>>>0){Z=u+18572|0,i[Z>>2]=0,i[Z+4>>2]=0,i[u+18516>>2]=0,r=u+18508|0,i[r>>2]=0,i[r+4>>2]=0,i[u+18500>>2]=0,i[u+18504>>2]=0,r=(u+38&-16)+16|0,i[u+2104>>2]=r,B0(r,0,2048),r=i[n+4>>2],i[u+18592>>2]=r,A=i[W>>2],i[u+18600>>2]=n,i[u+18596>>2]=W,i[u+18584>>2]=f,i[u+18588>>2]=A,r=i[i[i[A+132>>2]+8448>>2]+(i[r+24>>2]<<2)>>2],i[u+18604>>2]=0,i[u+4>>2]=r,m6(u),r=i[n+12>>2];t:{if((r|0)<=0){o=17;break t}S6(u+18548|0,i[n+8>>2],r);o:{if(!s[i[i[W>>2]+132>>2]+45|0]|!s[i[n+4>>2]+12|0])break o;if(k=i[i[i[f+2216>>2]+124>>2]+16900>>2]-1|0,o=i[W+472>>2],r=i[W+468>>2],A=o-r>>3,k>>>0>A>>>0){Un(W+468|0,k-A|0);break o}if(A>>>0<=k>>>0)break o;if(r=r+(k<<3)|0,(r|0)!=(o|0))for(;o=C8(o-8|0),(r|0)!=(o|0););i[W+472>>2]=r}i[n+120>>2]=1,o=0,I=0,k=i[u+18588>>2],A=i[k+124>>2],h=i[A+16908>>2],r=i[u+4>>2],(h|0)>(r|0)&&(h=i[i[i[k+132>>2]+8460>>2]+(r<<2)>>2]),A=i[A+16892>>2],i[u>>2]=h,r=(h|0)/(A|0)|0,i[u+12>>2]=r,i[u+8>>2]=h-m(r,A),r=i[u+18592>>2],w=i[k+132>>2],k=18;o:{u:{l:{if(!JA(u)||(Y6(u+18548|0),k=0,!(mr(u,0,!s[r+20|0])&-3)))break l;A=u+18572|0,h=1;s:{if(s[w+46|0]){if(o=i[u+18592>>2],I=i[o+804>>2],I>>>0>2)break u;k=0;break s}k=1}for(;;){if(!k){k6(A,I,i[o+800>>2]),l[u+18580|0]=0,l[u+18581|0]=0,l[u+18582|0]=0,l[u+18583|0]=0,k=1;continue}for(;;){r=i[u+18592>>2],k=i[r+784>>2],o=i[r+788>>2]-k>>2,r=h-1|0;s:{if(o>>>0>r>>>0&&i[k+(r<<2)>>2]==((i[u+18552>>2]-i[u+18548>>2]|0)-2|0))break s;v2(i[u+18584>>2]+4|0,1003,1)}if(k=0,!(mr(u,0,0)&-3))break l;if(h=h+1|0,!!s[w+46|0])break}if(o=i[u+18592>>2],I=i[o+804>>2],!(I>>>0<3))break}break u}r=k;break o}C0(16898,14036,1520,4043),P()}o=r,i[n+44>>2]<=0&&(i[n+44>>2]=1)}C8(Z)}if(B=u+18608|0,A=o,i[n+40>>2]=2,o=i[W+424>>2],k=(i[W+428>>2]-o>>2)-1|0,!k)break n;for(;;){if(r=o+(t<<2)|0,(n|0)!=i[r>>2]){if(t=t+1|0,(k|0)!=(t|0))continue;break n}break}if(k=i[r+4>>2],!k||(t=i[i[n+4>>2]+24>>2],(t|0)>=i[i[k+4>>2]+24>>2]))break n;for(;;){if(r=i[W>>2],i[r+144>>2]<=(t|0))break n;if(r=i[r+320>>2]+m(t,76)|0,i[r>>2]<=0&&(i[r>>2]=1),t=t+1|0,!((t|0)>2]+24>>2]))break}break n}if(Z&&(A=1006,u))break n;if(Z){t:{if(E=i[W>>2],i[E+332>>2]==(0-i[E+328>>2]|0)){u=i[n+4>>2],C=i[u+776>>2],h=i[E+132>>2],r=i[E+124>>2],Z=i[r+16892>>2];o:{if(!s[u+12|0])break o;if(o=i[r+16900>>2]-1|0,r=i[W+472>>2],A=i[W+468>>2],k=r-A>>3,o>>>0>k>>>0){Un(W+468|0,o-k|0);break o}if(k>>>0<=o>>>0)break o;if(A=A+(o<<3)|0,(A|0)!=(r|0))for(;r=C8(r-8|0),(A|0)!=(r|0););i[W+472>>2]=A}if(i[n+132>>2])break r;w=C+1|0,p=U((n0=-1,h0=q0(w,0,18608,0)|4,j=w0,j?n0:h0)),i[p>>2]=w,A=p+4|0;o:{if(!w){i[n+136>>2]=w,i[n+132>>2]=A;break o}for(o=A+m(w,18608)|0,r=A;k=r+18572|0,i[k>>2]=0,i[k+4>>2]=0,i[r+18516>>2]=0,k=r+18508|0,i[k>>2]=0,i[k+4>>2]=0,i[r+18500>>2]=0,i[r+18504>>2]=0,i[r+18584>>2]=0,i[r+18588>>2]=0,k=r+18592|0,i[k>>2]=0,i[k+4>>2]=0,i[r+18600>>2]=0,k=(r+38&-15)+16|0,i[r+2104>>2]=k,B0(k,0,2048),r=r+18608|0,(o|0)!=(r|0););if(i[n+136>>2]=w,i[n+132>>2]=A,(C|0)<0)break o;if(k=i[u+24>>2],y=(k|0)/(Z|0)|0,C){if(k-m(Z,y)|0)break o;if((C|0)==2147483647)break i}if(i[p+18596>>2]=u,r=i[E+112>>2],i[p+18604>>2]=n,i[p+18600>>2]=W,i[p+18592>>2]=E,i[p+18588>>2]=r,i[p+8>>2]=i[i[h+8448>>2]+(k<<2)>>2],m6(A),w=n+12|0,r=w,C&&(r=i[u+784>>2]),r=i[r>>2],(r|0)>i[w>>2]||(o=1,(r|0)<=0)||(S6(p+18552|0,i[n+8>>2],r),i[E+324>>2]=i[E+324>>2]+1,i[E+340>>2]=i[E+340>>2]+1,i[n+120>>2]=i[n+120>>2]+1,u7(f,A,1,y),!C))break o;for(;;){if(i[n+136>>2]<=(o|0))break i;if(p=i[n+132>>2]+m(o,18608)|0,i[p+18592>>2]=u,r=i[E+112>>2],i[p+18600>>2]=n,i[p+18596>>2]=W,i[p+18588>>2]=E,i[p+18584>>2]=r,y=y+1|0,i[p+4>>2]=i[i[h+8448>>2]+(m(Z,y)<<2)>>2],m6(p),A=o<<2,r=i[u+784>>2],k=i[(A+r|0)-4>>2],(k|0)<0||(A=r+A|0,r=(o|0)!=(C|0),A=i[(r?A:w)>>2],(A|0)>i[w>>2]|(A|0)<=(k|0)))break o;if(S6(p+18548|0,k+i[n+8>>2]|0,A-k|0),i[E+324>>2]=i[E+324>>2]+1,i[E+340>>2]=i[E+340>>2]+1,i[n+120>>2]=i[n+120>>2]+1,u7(f,p,0,y),o=o+1|0,!r)break}}if(We(E),A=i[W+460>>2],o=i[W+456>>2],(A|0)!=(o|0))for(r=0;k=i[(r<<2)+o>>2],k&&(V[i[i[k>>2]+4>>2]](k),o=i[W+456>>2],A=i[W+460>>2]),r=r+1|0,r>>>0>2>>>0;);i[W+460>>2]=o;break t}C0(17327,13894,1003,14969),P()}if(i[n+40>>2]=2,A=0,o=i[W+424>>2],k=(i[W+428>>2]-o>>2)-1|0,!k)break n;for(;;){if(r=o+(t<<2)|0,(n|0)!=i[r>>2]){if(t=t+1|0,(k|0)!=(t|0))continue;break n}break}if(k=i[r+4>>2],!k||(t=i[i[n+4>>2]+24>>2],(t|0)>=i[i[k+4>>2]+24>>2]))break n;for(;;){if(r=i[W>>2],i[r+144>>2]<=(t|0))break n;if(r=i[r+320>>2]+m(t,76)|0,i[r>>2]<=0&&(i[r>>2]=1),t=t+1|0,!((t|0)>2]+24>>2]))break}break n}if(!u)break k;t:{if(z=i[W>>2],i[z+332>>2]==(0-i[z+328>>2]|0)){if(i[n+132>>2])break r;_=i[z+132>>2],R=i[i[z+124>>2]+16892>>2],E=i[n+4>>2],v=i[E+776>>2],w=v+1|0,Z=U((n0=-1,h0=q0(w,0,18608,0)|4,j=w0,j?n0:h0)),i[Z>>2]=w,A=Z+4|0;o:{if(!w){i[n+136>>2]=w,i[n+132>>2]=A;break o}for(o=A+m(w,18608)|0,r=A;k=r+18572|0,i[k>>2]=0,i[k+4>>2]=0,i[r+18516>>2]=0,k=r+18508|0,i[k>>2]=0,i[k+4>>2]=0,i[r+18500>>2]=0,i[r+18504>>2]=0,i[r+18584>>2]=0,i[r+18588>>2]=0,k=r+18592|0,i[k>>2]=0,i[k+4>>2]=0,i[r+18600>>2]=0,k=(r+38&-15)+16|0,i[r+2104>>2]=k,B0(k,0,2048),r=r+18608|0,(o|0)!=(r|0););if(i[n+136>>2]=w,i[n+132>>2]=A,(v|0)<0)break o;if((v|0)==2147483647)break i;if(w=i[E+24>>2],k=w<<2,p=i[k+i[_+8484>>2]>>2],i[Z+18596>>2]=E,r=i[z+112>>2],i[Z+18604>>2]=n,i[Z+18600>>2]=W,i[Z+18592>>2]=z,i[Z+18588>>2]=r,i[Z+8>>2]=i[k+i[_+8448>>2]>>2],m6(A),C=n+12|0,r=C,v&&(r=i[E+784>>2]),r=i[r>>2],(r|0)>i[C>>2]){h=17;break o}if(o=1,(r|0)<=0){h=17;break o}if(S6(Z+18552|0,i[n+8>>2],r),i[z+324>>2]=i[z+324>>2]+1,i[z+340>>2]=i[z+340>>2]+1,i[n+120>>2]=i[n+120>>2]+1,r=(w|0)/(R|0)|0,t7(f,A,1,w-m(r,R)|0,r),!v)break o;for(Z=_+8404|0,w=_+8360|0;;){if(p=p+1|0,A=i[_+48>>2],(p|0)>=(m(A,i[_+52>>2])|0)){h=1007;break o}if(i[n+136>>2]<=(o|0))break i;if(r=(p|0)/(A|0)|0,k=i[Z+(r<<2)>>2],A=i[w+(p-m(r,A)<<2)>>2],y=i[n+132>>2]+m(o,18608)|0,i[y+18592>>2]=E,r=i[z+112>>2],i[y+18600>>2]=n,i[y+18596>>2]=W,i[y+18588>>2]=z,i[y+18584>>2]=r,k=A+m(k,R)|0,i[y+4>>2]=i[i[_+8448>>2]+(k<<2)>>2],m6(y),A=o<<2,r=i[E+784>>2],u=i[(A+r|0)-4>>2],(u|0)<0){h=17;break o}if(r=i[((o|0)!=(v|0)?r+A|0:C)>>2],(r|0)>i[C>>2]){h=17;break o}if((r|0)<=(u|0)){h=17;break o}if(S6(y+18548|0,u+i[n+8>>2]|0,r-u|0),i[z+324>>2]=i[z+324>>2]+1,i[z+340>>2]=i[z+340>>2]+1,i[n+120>>2]=i[n+120>>2]+1,r=(k|0)/(R|0)|0,t7(f,y,0,k-m(r,R)|0,r),r=(o|0)!=(v|0),o=o+1|0,!r)break}}if(We(z),A=i[W+460>>2],o=i[W+456>>2],(A|0)!=(o|0))for(r=0;k=i[(r<<2)+o>>2],k&&(V[i[i[k>>2]+4>>2]](k),o=i[W+456>>2],A=i[W+460>>2]),r=r+1|0,r>>>0>2>>>0;);i[W+460>>2]=o,A=h;break t}C0(17327,13894,1117,4295),P()}if(i[n+40>>2]=2,o=i[W+424>>2],k=(i[W+428>>2]-o>>2)-1|0,!k)break n;for(;;){if(r=o+(t<<2)|0,(n|0)!=i[r>>2]){if(t=t+1|0,(k|0)!=(t|0))continue;break n}break}if(k=i[r+4>>2],!k||(t=i[i[n+4>>2]+24>>2],(t|0)>=i[i[k+4>>2]+24>>2]))break n;for(;;){if(r=i[W>>2],i[r+144>>2]<=(t|0))break n;if(r=i[r+320>>2]+m(t,76)|0,i[r>>2]<=0&&(i[r>>2]=1),t=t+1|0,!((t|0)>2]+24>>2]))break}}r=A;break f}C0(9349,13894,985,7749),P()}if(r)break e;r=i[f+3208>>2],t=i[f+3212>>2]}A:{if(t-r>>>0>=5&&(h=i[r>>2],A=i[h+428>>2],i[i[A-4>>2]+40>>2]|(A|0)==i[h+424>>2]))break A;if((r|0)==(t|0))return 0;if(h=i[r>>2],A=i[h+428>>2],(A|0)!=i[h+424>>2]&&(r=0,!i[i[A-4>>2]+40>>2])||(r=0,i[f+580>>2]!=((i[f+556>>2]?-1:0)|0)))break e;if(s[f+548|0])break A;if(s[f+549|0]!=1)break e}if(l[e|0]=1,r=i[h>>2],i[r+144>>2]>0)for(I=0;e=i[r+320>>2]+m(I,76)|0,i[e>>2]<=0&&(i[e>>2]=1),I=I+1|0,(I|0)>2];);_=i[h>>2],e=i[_+112>>2],A=s[e+532|0];A:{if(i[i[i[f+2216>>2]+112>>2]+1884>>2]){if(r=1,!(A&1)){A=0,Z=i[h>>2],r=i[Z+112>>2],e=i[i[Z+124>>2]+16900>>2]<<1,i[Z+324>>2]=e+i[Z+324>>2],i[Z+340>>2]=e+i[Z+340>>2];f:{if(i[i[Z+124>>2]+16900>>2]<=0)break f;o=r+1392|0;k:{n:{for(;;){w=U(20),l[w+16|0]=1,i[w+12>>2]=A,i[w+8>>2]=Z,i[w>>2]=42876,i[w+4>>2]=0,p=i[h+460>>2],e=i[h+464>>2];t:{if(p>>>0>>0){i[p>>2]=w,k=p+4|0;break t}if(u=i[h+456>>2],k=p-u>>2,n=k+1|0,n>>>0>=1073741824)break n;if(r=e-u|0,e=r>>1,r=r>>>0>=2147483644?1073741823:e>>>0>n>>>0?e:n,r){if(r>>>0>=1073741824)break k;e=U(r<<2)}else e=0;if(n=e+(k<<2)|0,i[n>>2]=w,k=n+4|0,(u|0)!=(p|0)){for(;n=n-4|0,p=p-4|0,i[n>>2]=i[p>>2],(u|0)!=(p|0););u=i[h+456>>2]}if(i[h+464>>2]=e+(r<<2),i[h+460>>2]=k,i[h+456>>2]=n,!u)break t;G(u)}if(i[h+460>>2]=k,E6(o,w),A=A+1|0,e=i[i[Z+124>>2]+16900>>2],!((A|0)<(e|0)))break}if((e|0)<=0)break f;for(A=0;;){w=U(20),l[w+16|0]=0,i[w+12>>2]=A,i[w+8>>2]=Z,i[w>>2]=42876,i[w+4>>2]=0,p=i[h+460>>2],e=i[h+464>>2];t:{if(p>>>0>=e>>>0){if(u=i[h+456>>2],k=p-u>>2,n=k+1|0,n>>>0>1073741823)break n;if(r=e-u|0,e=r>>1,r=r>>>0>=2147483644?1073741823:e>>>0>n>>>0?e:n,r){if(r>>>0>1073741823)break k;e=U(r<<2)}else e=0;if(n=e+(k<<2)|0,i[n>>2]=w,k=n+4|0,(u|0)!=(p|0)){for(;n=n-4|0,p=p-4|0,i[n>>2]=i[p>>2],(u|0)!=(p|0););u=i[h+456>>2]}if(i[h+464>>2]=e+(r<<2),i[h+460>>2]=k,i[h+456>>2]=n,!u)break t;G(u);break t}i[p>>2]=w,k=p+4|0}if(i[h+460>>2]=k,E6(o,w),A=A+1|0,!((A|0)>2]+16900>>2]))break}break f}y0(),P()}_2(),P()}r=3,e=i[_+112>>2]}if(!s[e+533|0])f:{A=r,R=B-16|0,B=R;k:{n:{v=i[h>>2],E=i[v+124>>2];t:{if(!s[E+8799|0])break t;if(p=i[v+20>>2],C=i[v+28>>2],u=i[v+24>>2],e=i[v+112>>2],i[R+8>>2]=E,k=i[v+128>>2],i[R+12>>2]=k,r=e,k&&(i[k+4>>2]=i[k+4>>2]+1,r=i[v+112>>2]),w=i[v+288>>2],o=i[v+280>>2],n=i[v+284>>2],k=i[R+12>>2],i[R>>2]=i[R+8>>2],i[R+4>>2]=k,Z=h+8|0,Fk(Z,u,C,p,R,0,r,o,n,w,1)){v2(i[v+112>>2]+4|0,1024,0);break t}if(w=i[E+16900>>2],r=w,i[v+324>>2]=r+i[v+324>>2],i[v+340>>2]=r+i[v+340>>2],(r|0)>0)for(o=e+1392|0,p=0;;){C=U(28),i[C+20>>2]=Z,i[C+16>>2]=v,i[C>>2]=45048,i[C+4>>2]=0,i[C+12>>2]=v,i[C+24>>2]=A,i[C+8>>2]=p,I=i[h+460>>2],e=i[h+464>>2];o:{if(I>>>0>>0){i[I>>2]=C,y=I+4|0;break o}if(r=i[h+456>>2],n=I-r>>2,u=n+1|0,u>>>0>=1073741824)break n;if(k=e-r|0,e=k>>1,u=k>>>0>=2147483644?1073741823:e>>>0>u>>>0?e:u,u){if(u>>>0>=1073741824)break k;e=U(u<<2)}else e=0;if(k=e+(n<<2)|0,i[k>>2]=C,y=k+4|0,(r|0)!=(I|0)){for(;k=k-4|0,I=I-4|0,i[k>>2]=i[I>>2],(r|0)!=(I|0););r=i[h+456>>2]}if(i[h+464>>2]=e+(u<<2),i[h+460>>2]=y,i[h+456>>2]=k,!r)break o;G(r)}if(i[h+460>>2]=y,E6(o,C),p=p+1|0,(w|0)==(p|0))break}We(v),e=i[v+4>>2],i[v+4>>2]=i[h+12>>2],i[h+12>>2]=e,e=i[v+64>>2],i[v+64>>2]=i[h+72>>2],i[h+72>>2]=e,e=i[v+292>>2],i[v+292>>2]=i[h+300>>2],i[h+300>>2]=e,e=i[v+8>>2],i[v+8>>2]=i[h+16>>2],i[h+16>>2]=e,e=i[v+68>>2],i[v+68>>2]=i[h+76>>2],i[h+76>>2]=e,e=i[v+296>>2],i[v+296>>2]=i[h+304>>2],i[h+304>>2]=e,e=i[v+12>>2],i[v+12>>2]=i[h+20>>2],i[h+20>>2]=e,e=i[v+72>>2],i[v+72>>2]=i[h+80>>2],i[h+80>>2]=e,e=i[v+300>>2],i[v+300>>2]=i[h+308>>2],i[h+308>>2]=e,e=i[v+40>>2],i[v+40>>2]=i[h+48>>2],i[h+48>>2]=e,e=i[v+44>>2],i[v+44>>2]=i[h+52>>2],i[h+52>>2]=e,A=i[v+304>>2],r=i[v+308>>2],e=i[h+316>>2],i[v+304>>2]=i[h+312>>2],i[v+308>>2]=e,i[h+312>>2]=A,i[h+316>>2]=r}B=R+16|0;break f}y0(),P()}_2(),P()}We(_);break A}if(!(A&1)){r=0,A=0;f:{if(i[i[_+124>>2]+16900>>2]<=0)break f;for(;A=Jk(_,r)|A,r=r+1|0,(r|0)>2]+16900>>2];);if(!(A&1))break f;GA(_,1,0,i[_+276>>2],i[_+272>>2]),r=i[_+272>>2],e=i[_+276>>2];k:{if(i[i[_+124>>2]+16832>>2]>=9){ZA(_,1,0,e,r);break k}pA(_,1,0,e,r)}e=i[_+124>>2];k:{if(!i[e+16848>>2])break k;if(A=i[_+272>>2],r=i[_+276>>2],i[e+16840>>2]>=9){WA(_,1,0,r,A);break k}XA(_,1,0,r,A)}GA(_,0,0,i[_+276>>2],i[_+272>>2]),r=i[_+272>>2],e=i[_+276>>2];k:{if(i[i[_+124>>2]+16832>>2]>=9){ZA(_,0,0,e,r);break k}pA(_,0,0,e,r)}if(e=i[_+124>>2],!i[e+16848>>2])break f;if(A=i[_+272>>2],r=i[_+276>>2],i[e+16840>>2]>=9){WA(_,0,0,r,A);break f}XA(_,0,0,r,A)}e=i[_+112>>2]}if(s[e+533|0])break A;if(v=i[_+124>>2],s[v+8799|0]){for(r=m(m(i[_+28>>2],i[_+40>>2]),(i[v+16832>>2]+7|0)/8|0),e=m(m(i[_+36>>2],i[_+44>>2]),(i[v+16840>>2]+7|0)/8|0),u=U((e|0)<(r|0)?r:e),Z=i[v+16848>>2]?3:1,w=_+4|0,r=i[v+16900>>2],t=0;;){f:{o=w+(t<<2)|0,n=_+(t?44:40)|0,E=i[n>>2],R=l0(u,i[o>>2],m(m(E,i[_+(t?36:28)>>2]),(i[i[_+124>>2]+(t?16840:16832)>>2]+7|0)/8|0));k:{if((r|0)<=0||(e=0,k=i[v+16892>>2],(k|0)<=0))break k;for(;;){n:{if((k|0)<=0)break n;if(r=0,!t)for(;;){if(A=Q[((i[_+140>>2]+m(m(i[_+152>>2],e),24)|0)+m(r,24)|0)+2>>1],k=i[_+52>>2],A>>>0>=i[_+56>>2]-k>>2>>>0||(A=i[k+(A<<2)>>2],!A))break f;t:{if(!s[A+333|0])break t;if(C=1<>2],k=i[_+40>>2],A=i[_+4>>2],i[i[_+124>>2]+16832>>2]<=8){o6(_,r,e,0,C,C,R,E,A,k);break t}t6(_,r,e,0,C,C,R,E,A,k)}if(r=r+1|0,k=i[v+16892>>2],!((r|0)<(k|0)))break n}for(;;){if(A=Q[((i[_+140>>2]+m(m(i[_+152>>2],e),24)|0)+m(r,24)|0)+2>>1],k=i[_+52>>2],A>>>0>=i[_+56>>2]-k>>2>>>0||(A=i[k+(A<<2)>>2],!A))break f;t:{if(!s[A+334|0])break t;if(A=1<>2],p=(A|0)/i[v+16856>>2]|0,C=(A|0)/i[v+16852>>2]|0,k=i[n>>2],A=i[o>>2],i[i[_+124>>2]+16840>>2]>=9){t6(_,r,e,t,C,p,R,E,A,k);break t}o6(_,r,e,t,C,p,R,E,A,k)}if(r=r+1|0,k=i[v+16892>>2],!((r|0)<(k|0)))break}}if(e=e+1|0,r=i[v+16900>>2],!((e|0)<(r|0)))break}}if(t=t+1|0,(Z|0)!=(t|0))continue}break}G(R)}}e=i[h+436>>2];A:{if((e|0)==i[h+440>>2]){r=0;break A}for(I=0;;){r=0,k=0,J=B-176|0,B=J,d=m(I,80)+e|0,a=i[h>>2];f:{if(i[d>>2]!=132|s[i[a+112>>2]+512|0]!=1|!s[a+104|0])break f;for(_=d+12|0,v=d+60|0,R=d+68|0,E=a+4|0,p=i[i[a+124>>2]+476>>2];;){S=i[(k?44:40)+a>>2],H=i[(k?36:28)+a>>2],D=i[(k?32:24)+a>>2],u=k<<2,q=i[u+E>>2];k:{n:{t:{o:switch(i[d+8>>2]){case 0:e=i[i[a+124>>2]+(k?16840:16832)>>2],i[J+40>>2]=-1732584194,i[J+44>>2]=271733878,i[J+32>>2]=1732584193,i[J+36>>2]=-271733879,i[J+24>>2]=0,i[J+28>>2]=0;u:{if((H|0)>0){if((e|0)>=9){C=D<<1;l:{if((D|0)<=0){for(e=0;e||(e=U(C)),w3(J+24|0,e,C),r=r+1|0,(H|0)!=(r|0););break l}for(w=D&2147483646,o=D&1,y=0,e=0;;){if(e||(e=U(C)),u=(m(y,S)<<1)+q|0,r=0,t=0,(D|0)!=1)for(;Z=r<<1,n=Z+e|0,A=u+Z|0,l[n|0]=s[A|0],l[n+1|0]=s[A+1|0],A=Z|2,n=A+e|0,A=A+u|0,l[n|0]=s[A|0],l[n+1|0]=s[A+1|0],r=r+2|0,t=t+2|0,(w|0)!=(t|0););if(o&&(r=r<<1,A=r+e|0,r=r+u|0,l[A|0]=s[r|0],l[A+1|0]=s[r+1|0]),w3(J+24|0,e,C),y=y+1|0,(H|0)==(y|0))break}}w7(J,J+24|0),G(e);break u}for(;w3(J+24|0,m(r,S)+q|0,D),r=r+1|0,(H|0)!=(r|0););}w7(J,J+24|0)}e=_+(k<<4)|0;u:{if(s[J|0]!=s[e|0]|s[J+1|0]!=s[e+1|0]|(s[J+2|0]!=s[e+2|0]|s[J+3|0]!=s[e+3|0])||s[J+4|0]!=s[e+4|0]|s[J+5|0]!=s[e+5|0]|(s[J+6|0]!=s[e+6|0]|s[J+7|0]!=s[e+7|0])||s[J+8|0]!=s[e+8|0]|s[J+9|0]!=s[e+9|0]|(s[J+10|0]!=s[e+10|0]|s[J+11|0]!=s[e+11|0])||s[J+12|0]!=s[e+12|0]|s[J+13|0]!=s[e+13|0]|s[J+14|0]!=s[e+14|0])break u;if(s[J+15|0]==s[e+15|0])break k}r=5;break f;case 1:if(r=7439,(H|0)<=0)break n;if(i[i[a+124>>2]+(k?16840:16832)>>2]<9)break t;if(A0=D<<1,(D|0)<=0){for(r=0,A=0;A||(A=U(A0)),r=r+1|0,(H|0)!=(r|0););r=7439,G(A);break n}for(C=D&2147483646,u=D&1,W=(A0|0)<=1?1:A0,Z=W&2147483646,w=W&1,f0=0,A=0;;){if(A||(A=U(A0)),t=(m(S,f0)<<1)+q|0,e=0,z=0,(D|0)!=1)for(;y=e<<1,o=y+A|0,n=t+y|0,l[o|0]=s[n|0],l[o+1|0]=s[n+1|0],n=y|2,o=n+A|0,n=n+t|0,l[o|0]=s[n|0],l[o+1|0]=s[n+1|0],e=e+2|0,z=z+2|0,(C|0)!=(z|0););if(u&&(e=e<<1,n=e+A|0,e=e+t|0,l[n|0]=s[e|0],l[n+1|0]=s[e+1|0]),e=0,t=0,(W|0)!=1)for(;y=r<<8,n=e+A|0,r=s[n|0]^(r&65280)>>>8,o=r>>>4^r,r=(y|o)^o<<5,y=r<<8,r=s[n+1|0]^((r^o<<12)&65280)>>>8,r=r>>>4^r,r=(y|r)^r<<5^r<<12,e=e+2|0,t=t+2|0,(Z|0)!=(t|0););if(w&&(e=s[e+A|0]^(r&65280)>>>8,e=e>>>4^e,r=(e|r<<8)^e<<5^e<<12),f0=f0+1|0,(f0|0)==(H|0))break}G(A);break n;case 2:break o;default:break k}e=(D|0)>0&(H|0)>0;o:{if(i[i[a+124>>2]+(k?16840:16832)>>2]>=9){if(!e){A=0;break o}for(Z=D&2147483646,w=D&1,A=0,e=0;;){if(y=m(e,S)+q|0,r=0,t=0,(D|0)!=1)for(;o=(e^r)>>>8^e,n=r|1,C=(o^n)&255,W=A,A=(r^o)&255,A=(C+((W+A|0)+(A^s[r+y|0])|0)|0)+(C^s[n+y|0])|0,r=r+2|0,t=t+2|0,(Z|0)!=(t|0););if(w&&(o=A,A=((e^r)>>>8^e^r)&255,A=(o+A|0)+(A^s[r+y|0])|0),e=e+1|0,(H|0)==(e|0))break}break o}if(!e){A=0;break o}for(Z=D&2147483646,w=D&1,A=0,e=0;;){if(C=m(e,S)+q|0,r=0,t=0,(D|0)!=1)for(;o=(e^r)>>>8^e,n=r|1,A=((o^n)&255^s[n+C|0])+((s[r+C|0]^(r^o)&255)+A|0)|0,r=r+2|0,t=t+2|0,(Z|0)!=(t|0););if(w&&(A=(s[r+C|0]^((e^r)>>>8^e^r)&255)+A|0),e=e+1|0,(H|0)==(e|0))break}}if(i[u+R>>2]==(A|0))break k;r=5;break f}if((D|0)<=0)break n;for(w=D&2147483646,o=D&1,y=0;;){if(Z=m(y,S)+q|0,A=0,t=0,(D|0)!=1)for(;C=r<<8,n=A+Z|0,e=s[n|0]^(r&65280)>>>8,r=e>>>4^e,e=(C|r)^r<<5,C=e<<8,e=s[n+1|0]^((e^r<<12)&65280)>>>8,e=e>>>4^e,r=(C|e)^e<<5^e<<12,A=A+2|0,t=t+2|0,(w|0)!=(t|0););if(o&&(e=s[A+Z|0]^(r&65280)>>>8,e=e>>>4^e,r=(e|r<<8)^e<<5^e<<12),y=y+1|0,(H|0)==(y|0))break}}if(Q[v+(k<<1)>>1]==(r&65535))break k;r=5;break f}if(r=0,!p)break f;if(e=k>>>0<2,k=k+1|0,!e)break}}if(B=J+176|0,r)break A;if(I=I+1|0,e=i[h+436>>2],!(I>>>0<(i[h+440>>2]-e|0)/80>>>0))break}r=0}if(w=i[h>>2],w){if(!(s[w+104|0]!=1|(s[f+514|0]?s[w+312|0]:0)))A:{if(Z=f+2140|0,t=i[Z+24>>2],A=i[Z+28>>2],t>>>0>>0){i[t>>2]=w,i[Z+24>>2]=t+4;break A}f:{if(e=i[Z+20>>2],n=t-e>>2,o=n+1|0,o>>>0<1073741824){if(k=A-e|0,A=k>>1,o=k>>>0>=2147483644?1073741823:A>>>0>o>>>0?A:o,o){if(o>>>0>=1073741824)break f;A=U(o<<2)}else A=0;if(I=A+(n<<2)|0,i[I>>2]=w,k=I+4|0,(e|0)!=(t|0)){for(;I=I-4|0,t=t-4|0,i[I>>2]=i[t>>2],(e|0)!=(t|0););e=i[Z+20>>2]}i[Z+28>>2]=A+(o<<2),i[Z+24>>2]=k,i[Z+20>>2]=I,e&&G(e),i[Z+24>>2]=k;break A}y0(),P()}_2(),P()}e=i[w+116>>2],e?e=i[(e+m(i[e+8>>2],12)|0)+480>>2]:e=0,(e|0)>2]-i[f+2160>>2]>>2&&On(f+2140|0)}if(G(Hn(h)),h=i[f+3212>>2],e=i[f+3208>>2],h-e>>>0>=5)for(I=1;e=(I<<2)+e|0,i[e-4>>2]=i[e>>2],I=I+1|0,h=i[f+3212>>2],e=i[f+3208>>2],I>>>0>2>>>0;);i[f+3212>>2]=h-4}return r}C0(15010,13894,172,3561),P()}C0(3586,8442,174,2570),P()}function kk(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0;h=B-256|0,B=h,y=Ri(i[e+48>>2],16944),o=U(360),i[o+16>>2]=0,i[o+20>>2]=0,i[o>>2]=72656,i[o+4>>2]=0,i[o+8>>2]=0,l[o+152|0]=0,i[o+36>>2]=y,i[o+32>>2]=e,i[o+28>>2]=34648,i[o+40>>2]=0,i[o+44>>2]=0,i[o+52>>2]=0,i[o+56>>2]=0,i[o+68>>2]=0,i[o+72>>2]=0,i[o+80>>2]=0,i[o+84>>2]=0,i[o+156>>2]=0,i[o+160>>2]=0,i[o+24>>2]=0,X[o+48>>1]=0,X[o+58>>1]=0,X[o+60>>1]=0,X[o+62>>1]=0,X[o+64>>1]=0,l[o+76|0]=0,l[o+88|0]=0,i[o+204>>2]=0,i[o+196>>2]=0,i[o+200>>2]=0,i[o+188>>2]=0,i[o+192>>2]=0,i[o+180>>2]=0,i[o+184>>2]=0,i[o+172>>2]=0,i[o+176>>2]=0,i[o+164>>2]=0,i[o+168>>2]=0,i[o+212>>2]=0,i[o+216>>2]=0,l[o+208|0]=1,l[o+217|0]=0,l[o+218|0]=0,l[o+219|0]=0,l[o+220|0]=0,l[o+221|0]=0,l[o+222|0]=0,l[o+223|0]=0,l[o+224|0]=0,i[o+232>>2]=0,i[o+236>>2]=0,i[o+240>>2]=0,i[o+244>>2]=0,i[o+248>>2]=0,i[o+252>>2]=0,i[o+256>>2]=0,i[o+260>>2]=0,i[o+264>>2]=0,i[o+268>>2]=0,l[o+272|0]=0,B0(o+280|0,0,80),i[o+296>>2]=0,i[o+300>>2]=0,l[o+292|0]=1,i[o+304>>2]=0,i[o+308>>2]=0,i[o+312>>2]=0,i[o+316>>2]=0,i[o+328>>2]=0,i[o+332>>2]=0,i[o+320>>2]=0,i[o+324>>2]=1072693248,i[o+336>>2]=0,i[o+340>>2]=0,i[o+344>>2]=0,i[o+348>>2]=0,i[o+352>>2]=0,i[o+96>>2]=0,i[o+100>>2]=0,i[o+104>>2]=0,i[o+108>>2]=0,i[o+112>>2]=0,i[o+116>>2]=0,i[o+120>>2]=0,i[o+124>>2]=0,i[o+128>>2]=0,i[o+132>>2]=0,i[o+136>>2]=0,i[o+140>>2]=0,i[o+144>>2]=0,i[o+148>>2]=0,i[t>>2]=o+16,u=i[t+4>>2],i[t+4>>2]=o;i:{if(!u||(o=i[u+4>>2],i[u+4>>2]=o-1,o))break i;V[i[i[u>>2]+8>>2]](u),g(u)}o=i[r>>2],i[h+252>>2]=i[o+32>>2],i[h+248>>2]=i[o+36>>2],$r(h+240|0,r,i[k+4>>2]),o=i[A>>2];i:{if(i[o>>2]>=2){V[i[o+108>>2]](i[A+4>>2],h+252|0,h+248|0);break i}V[i[o+96>>2]](h+252|0,h+248|0)}i:{r:{e:{if(o=i[h+252>>2],w=i[r>>2],u=i[h+248>>2],!((o|0)!=i[w+32>>2]|(u|0)!=i[w+36>>2])){if(_=i[w+44>>2],u=i[w+48>>2],u&&(i[u+4>>2]=i[u+4>>2]+1),p6(o,_,u,i[k+4>>2]))break e;u=i[h+248>>2],o=i[h+252>>2]}if(i[h+212>>2]=i[h+240>>2],w=i[h+244>>2],i[h+216>>2]=w,w&&(i[w+4>>2]=i[w+4>>2]+1),N8(h+132|0,r,o,u,h+212|0,0,k+16|0),o=i[h+132>>2],r=i[h+136>>2],i[h+132>>2]=0,i[h+136>>2]=0,i[h+236>>2]=r,i[h+232>>2]=o,r=i[h+216>>2],r&&(o=i[r+4>>2],i[r+4>>2]=o-1,o||(V[i[i[r>>2]+8>>2]](r),g(r)),o=i[h+232>>2]),o){r=i[h+236>>2];break r}if(l[h+132|0]=0,l[h+143|0]=0,r0(f,4,3003,h+132|0),l[h+143|0]>=0)break i;G(i[h+132>>2]);break i}o=i[r>>2],r=i[r+4>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),i[h+236>>2]=r,i[h+232>>2]=o}z=y4(o,0),H=F4(o,0),u=i[t>>2],i[u+28>>2]=H,i[u+24>>2]=z,W=i[e+48>>2],_=B-16|0,B=_,w=U(160),u=w,i[u+4>>2]=0,i[u+8>>2]=0,i[u>>2]=71304,p=u+16|0,u=p,i[u+8>>2]=0,i[u+12>>2]=0,u=w,i[u+32>>2]=0,i[u+36>>2]=0,i[u+40>>2]=0,i[u+44>>2]=0,i[u+48>>2]=0,i[u+16>>2]=68500,i[u+52>>2]=0,i[u+56>>2]=0,i[u+68>>2]=0,l[u+57|0]=0,l[u+58|0]=0,l[u+59|0]=0,l[u+60|0]=0,l[u+61|0]=0,l[u+62|0]=0,l[u+63|0]=0,l[u+64|0]=0,i[u+16>>2]=74936,i[u+88>>2]=0,i[u+92>>2]=0,X[u+72>>1]=259,i[u+96>>2]=0,i[u+100>>2]=0,i[u+104>>2]=0,i[u+108>>2]=0,i[u+112>>2]=0,i[u+116>>2]=0,i[u+120>>2]=0,i[u+124>>2]=0,i[u+128>>2]=0,i[u+132>>2]=0,i[u+152>>2]=0,i[u+144>>2]=0,i[u+148>>2]=0,i[u+32>>2]=1987470147,Z=i[W+44>>2],i[_+12>>2]=u,i[_+8>>2]=p,i[u+4>>2]=i[u+4>>2]+1,v=i[Z+40>>2];r:{e:{if(v>>>0>2]){i[v+4>>2]=u,i[v>>2]=p,i[u+4>>2]=i[u+4>>2]+1,v=v+8|0,i[Z+40>>2]=v,v=v-i[Z+36>>2]>>>3|0;break e}if(v=Q2(Z+36|0,_+8|0),u=i[_+12>>2],i[Z+40>>2]=v,v=v-i[Z+36>>2]>>>3|0,!u)break r}if(Z=i[u+4>>2],i[u+4>>2]=Z-1,Z)break r;V[i[i[u>>2]+8>>2]](u),g(u)}u=i[W+52>>2],X[_+6>>1]=v,l[_+4|0]=1,i[_>>2]=Q[_+4>>1]|Q[_+6>>1]<<16,c1(u,y,_),u=i[w+4>>2],i[w+4>>2]=u-1,u||(V[i[i[w>>2]+8>>2]](w),g(w)),B=_+16|0,i[h+228>>2]=0;r:{if(!r){i[h+228>>2]=0,i[h+224>>2]=o;break r}if(i[r+4>>2]=i[r+4>>2]+1,i[h+224>>2]=o,o=i[h+228>>2],i[h+228>>2]=r,!o||(r=i[o+4>>2],i[o+4>>2]=r-1,r))break r;V[i[i[o>>2]+8>>2]](o),g(o)}V[i[i[A>>2]+100>>2]](h+212|0,i[A+4>>2],h+224|0,n);r:{e:{A:{f:{k:{n:{if(r=i[h+212>>2],r){if(k=i[h+216>>2],n=i[h+220>>2],e=G2(n),e>>>0>=2147483640)break n;t:{o:{if(e>>>0>=11){t=(e|7)+1|0,A=U(t),i[h+140>>2]=t|-2147483648,i[h+132>>2]=A,i[h+136>>2]=e;break o}if(l[h+143|0]=e,A=h+132|0,!e)break t}F2(A,n,e)}if(l[e+A|0]=0,r0(f,r,k,h+132|0),l[h+143|0]>=0)break r;G(i[h+132>>2]);break r}if(i[h+208>>2]=0,i[h+204>>2]=0,V[i[i[A>>2]+104>>2]](h+132|0,i[A+4>>2],h+56|0,h+48|0,0),o=i[h+56>>2],o)for(;;){t:{o:{if(r=i[h+48>>2],(r|0)<2)break o;u:switch((s[o+1|0]>>>3|0)-14|0){case 1:X[h+132>>1]=259,i[h+188>>2]=0,i[h+192>>2]=0,i[h+180>>2]=0,i[h+184>>2]=0,i[h+172>>2]=0,i[h+176>>2]=0,i[h+164>>2]=0,i[h+168>>2]=0,i[h+156>>2]=0,i[h+160>>2]=0,i[h+148>>2]=0,i[h+152>>2]=0,a=h+112|0,E=o,p=h+132|0,w=0,o=0,v=0,Z=0,C=B-80|0,B=C,i[C+76>>2]=0,i[C+68>>2]=0,i[C+72>>2]=0;l:{s:{h:{w:{_:{v:{Z:{if(r){for(R=r;;){m:{B:{if(r=Z+2|0,R>>>0<=r>>>0||(u=Z+E|0,s[u|0]|s[u+1|0]|s[r+E|0]!=3))break B;p:{if(w>>>0>v>>>0){l[v|0]=0,Z=v+1|0;break p}if(J=v-o|0,u=J+1|0,(u|0)<0)break h;w=w-o|0,_=w<<1,D=w>>>0>=1073741823?2147483647:u>>>0<_>>>0?_:u,D?Z=U(D):Z=0,W=Z+J|0,l[W|0]=0,_=W;W:{if((o|0)==(v|0))break W;if(I=0,u=_,w=v,_=J&3,_)for(;u=u-1|0,w=w-1|0,l[u|0]=s[w|0],I=I+1|0,(_|0)!=(I|0););if(_=Z,o-v>>>0>4294967292)break W;for(;l[u-1|0]=s[w-1|0],l[u-2|0]=s[w-2|0],l[u-3|0]=s[w-3|0],u=u-4|0,w=w-4|0,l[u|0]=s[w|0],(o|0)!=(w|0););_=Z}w=Z+D|0,Z=W+1|0,o&&G(o),o=_}if(w>>>0>Z>>>0){l[Z|0]=0,v=Z+1|0;break m}if(J=Z-o|0,u=J+1|0,(u|0)<0)break Z;w=w-o|0,_=w<<1,D=w>>>0>=1073741823?2147483647:u>>>0<_>>>0?_:u,D?v=U(D):v=0,W=v+J|0,l[W|0]=0,_=W;p:{if((o|0)==(Z|0))break p;if(I=0,u=_,w=Z,_=J&3,_)for(;u=u-1|0,w=w-1|0,l[u|0]=s[w|0],I=I+1|0,(_|0)!=(I|0););if(_=v,o-Z>>>0>4294967292)break p;for(;l[u-1|0]=s[w-1|0],l[u-2|0]=s[w-2|0],l[u-3|0]=s[w-3|0],u=u-4|0,w=w-4|0,l[u|0]=s[w|0],(o|0)!=(w|0););_=v}if(w=v+D|0,v=W+1|0,!o){o=_;break m}G(o),o=_;break m}r=Z+E|0;B:{if(w>>>0>v>>>0){l[v|0]=s[r|0],v=v+1|0;break B}if(J=v-o|0,u=J+1|0,(u|0)<0)break h;w=w-o|0,_=w<<1,I=w>>>0>=1073741823?2147483647:u>>>0<_>>>0?_:u,I?_=U(I):_=0,W=_+J|0,l[W|0]=s[r|0],u=W;p:{if((o|0)==(v|0))break p;if(u=0,w=W,r=v,J=J&3,J)for(;w=w-1|0,r=r-1|0,l[w|0]=s[r|0],u=u+1|0,(J|0)!=(u|0););if(u=_,o-v>>>0>4294967292)break p;for(;l[w-1|0]=s[r-1|0],l[w-2|0]=s[r-2|0],l[w-3|0]=s[r-3|0],w=w-4|0,r=r-4|0,l[w|0]=s[r|0],(r|0)!=(o|0););u=_}w=_+I|0,v=W+1|0,o&&G(o),o=u}r=Z}if(Z=r+1|0,!(R>>>0>Z>>>0))break}i[C+72>>2]=v,i[C+68>>2]=o,i[C+76>>2]=w}if(w=w6(C+32|0,o,v-o|0),p2(w,16),p2(w,4),p2(w,4),X[p+2>>1]=0,S=p,q=M8(w,3)+1|0,l[S+4|0]=q,S=p,q=M8(w,2),l[S+6|0]=q,p2(w,2),!g0(w,1))break w;if(S=p,q=M8(w,7),l[S+9|0]=q,S=p,q=M8(w,1),l[S+10|0]=q,S=p,q=M8(w,8),l[S+11|0]=q,S=p,q=M8(w,1),l[S+12|0]=q,S=p,q=M8(w,1),l[S+13|0]=q,!g0(w,1)){l[p+8|0]=1,_=i[p+20>>2],u=i[p+24>>2];m:{if(_>>>0>>0){l[_|0]=0,v=_+1|0;break m}if(I=i[p+16>>2],r=_-I|0,o=r+1|0,(o|0)<0)break v;Z=0,u=u-I|0,v=u<<1,o=u>>>0>=1073741823?2147483647:o>>>0>>0?v:o,o&&(Z=U(o)),u=r+Z|0,l[u|0]=0,W=o+Z|0,v=u+1|0;B:{if((_|0)==(I|0)){Z=u;break B}E=r&3;p:{if(!E){r=_;break p}for(o=0,r=_;u=u-1|0,r=r-1|0,l[u|0]=s[r|0],o=o+1|0,(E|0)!=(o|0););}if(I-_>>>0<=4294967292)for(;l[u-1|0]=s[r-1|0],l[u-2|0]=s[r-2|0],l[u-3|0]=s[r-3|0],u=u-4|0,r=r-4|0,l[u|0]=s[r|0],(r|0)!=(I|0););I=i[p+16>>2]}if(i[p+24>>2]=W,i[p+20>>2]=v,i[p+16>>2]=Z,!I)break m;G(I)}i[p+20>>2]=v}if(r=i[w+24>>2],i[w+24>>2]=r&-8,_=i[w+20>>2],u=i[w+16>>2],o=r&7,r=o,(r&63)>>>0>=32?(o=u<>>32-r|_<>2]=r,i[w+20>>2]=o,kn(p+28|0,s[p+4|0]),r=s[p+4|0],r>>>0<2)break _;for(r=r-2|0;o=1<>2]+(r>>>3&536870908)|0,_?_=o|i[u>>2]:_=i[u>>2]&(o^-1),i[u>>2]=_,o=(r|0)>0,r=r-1|0,!!o;);break _}i[C+72>>2]=Z;break s}y0(),P()}r=i[w+24>>2],i[w+24>>2]=r&-8,_=i[w+20>>2],u=i[w+16>>2],o=r&7,r=o,(r&63)>>>0>=32?(o=u<>>32-r|_<>2]=r,i[w+20>>2]=o,o=p+40|0,r=s[p+4|0],_=i[p+40>>2],u=i[p+44>>2]-_|0;_:{if(r>>>0>u>>>0){L2(o,r-u|0),r=s[p+4|0];break _}if(r>>>0>=u>>>0)break _;i[p+44>>2]=r+_}if(r>>>0>=2)for(r=r-2|0;i[i[p+28>>2]+(r>>>3&536870908)>>2]>>>r&1&&(u=M8(w,8),l[i[o>>2]+r|0]=u),u=(r|0)>0,r=r-1|0,!!u;);o=g0(w,8),r=i[p+56>>2],_=i[p+52>>2],u=r-_>>2;_:{if(o>>>0>u>>>0){if(v=0,Z=o-u|0,W=i[p+60>>2],Z>>>0<=W-r>>2>>>0){Z&&(_=r,r=Z<<2,r=B0(_,0,r)+r|0),i[p+56>>2]=r;break _}v:{if(_=i[p+52>>2],E=r-_>>2,u=E+Z|0,u>>>0<1073741824){if(W=W-_|0,R=W>>1,W=W>>>0>=2147483644?1073741823:u>>>0>>0?R:u,W){if(W>>>0>=1073741824)break v;v=U(W<<2)}if(u=(E<<2)+v|0,Z=Z<<2,Z=B0(u,0,Z)+Z|0,(r|0)!=(_|0))for(;u=u-4|0,r=r-4|0,i[u>>2]=i[r>>2],(r|0)!=(_|0););i[p+60>>2]=(W<<2)+v,i[p+56>>2]=Z,i[p+52>>2]=u,_&&G(_);break _}y0(),P()}_2(),P()}if(o>>>0>=u>>>0)break _;i[p+56>>2]=_+(o<<2)}if(r=0,(o|0)<=0)break w;for(;u=g0(w,32),i[i[p+52>>2]+(r<<2)>>2]=u,r=r+1|0,(o|0)!=(r|0););}p2(w,1),g0(w,1)&&p2(w,1),g1(w,C+28|0),g1(w,C+24|0),r=i[C+28>>2],i[h+208>>2]=r,o=i[C+24>>2],i[h+204>>2]=o;w:{if(!((o|0)<65536&(r|0)<=65535)){if(r=U(56),i[C+12>>2]=r,i[C+16>>2]=55,i[C+20>>2]=-2147483592,o=s[18382]|s[18383]<<8|(s[18384]<<16|s[18385]<<24),u=s[18378]|s[18379]<<8|(s[18380]<<16|s[18381]<<24),l[r|0]=u,l[r+1|0]=u>>>8,l[r+2|0]=u>>>16,l[r+3|0]=u>>>24,l[r+4|0]=o,l[r+5|0]=o>>>8,l[r+6|0]=o>>>16,l[r+7|0]=o>>>24,l[r+55|0]=0,o=s[18429]|s[18430]<<8|(s[18431]<<16|s[18432]<<24),u=s[18425]|s[18426]<<8|(s[18427]<<16|s[18428]<<24),l[r+47|0]=u,l[r+48|0]=u>>>8,l[r+49|0]=u>>>16,l[r+50|0]=u>>>24,l[r+51|0]=o,l[r+52|0]=o>>>8,l[r+53|0]=o>>>16,l[r+54|0]=o>>>24,o=s[18422]|s[18423]<<8|(s[18424]<<16|s[18425]<<24),u=s[18418]|s[18419]<<8|(s[18420]<<16|s[18421]<<24),l[r+40|0]=u,l[r+41|0]=u>>>8,l[r+42|0]=u>>>16,l[r+43|0]=u>>>24,l[r+44|0]=o,l[r+45|0]=o>>>8,l[r+46|0]=o>>>16,l[r+47|0]=o>>>24,o=s[18414]|s[18415]<<8|(s[18416]<<16|s[18417]<<24),u=s[18410]|s[18411]<<8|(s[18412]<<16|s[18413]<<24),l[r+32|0]=u,l[r+33|0]=u>>>8,l[r+34|0]=u>>>16,l[r+35|0]=u>>>24,l[r+36|0]=o,l[r+37|0]=o>>>8,l[r+38|0]=o>>>16,l[r+39|0]=o>>>24,o=s[18406]|s[18407]<<8|(s[18408]<<16|s[18409]<<24),u=s[18402]|s[18403]<<8|(s[18404]<<16|s[18405]<<24),l[r+24|0]=u,l[r+25|0]=u>>>8,l[r+26|0]=u>>>16,l[r+27|0]=u>>>24,l[r+28|0]=o,l[r+29|0]=o>>>8,l[r+30|0]=o>>>16,l[r+31|0]=o>>>24,o=s[18398]|s[18399]<<8|(s[18400]<<16|s[18401]<<24),u=s[18394]|s[18395]<<8|(s[18396]<<16|s[18397]<<24),l[r+16|0]=u,l[r+17|0]=u>>>8,l[r+18|0]=u>>>16,l[r+19|0]=u>>>24,l[r+20|0]=o,l[r+21|0]=o>>>8,l[r+22|0]=o>>>16,l[r+23|0]=o>>>24,o=s[18390]|s[18391]<<8|(s[18392]<<16|s[18393]<<24),u=s[18386]|s[18387]<<8|(s[18388]<<16|s[18389]<<24),l[r+8|0]=u,l[r+9|0]=u>>>8,l[r+10|0]=u>>>16,l[r+11|0]=u>>>24,l[r+12|0]=o,l[r+13|0]=o>>>8,l[r+14|0]=o>>>16,l[r+15|0]=o>>>24,r0(a,9,2006,C+12|0),l[C+23|0]>=0)break w;G(i[C+12>>2]);break w}if(X[p+66>>1]=o,X[p+64>>1]=r,g0(w,1)&&(g1(w,C+12|0),g1(w,C+8|0),g1(w,C+4|0),g1(w,C)),g0(w,1),g1(w,C+8|0),r=i[C+8>>2],(r|0)>=248){if(r=U(32),i[C+12>>2]=r,i[C+16>>2]=27,i[C+20>>2]=-2147483616,o=s[17849]|s[17850]<<8|(s[17851]<<16|s[17852]<<24),u=s[17845]|s[17846]<<8|(s[17847]<<16|s[17848]<<24),l[r|0]=u,l[r+1|0]=u>>>8,l[r+2|0]=u>>>16,l[r+3|0]=u>>>24,l[r+4|0]=o,l[r+5|0]=o>>>8,l[r+6|0]=o>>>16,l[r+7|0]=o>>>24,l[r+27|0]=0,o=s[17868]|s[17869]<<8|(s[17870]<<16|s[17871]<<24),l[r+23|0]=o,l[r+24|0]=o>>>8,l[r+25|0]=o>>>16,l[r+26|0]=o>>>24,o=s[17865]|s[17866]<<8|(s[17867]<<16|s[17868]<<24),u=s[17861]|s[17862]<<8|(s[17863]<<16|s[17864]<<24),l[r+16|0]=u,l[r+17|0]=u>>>8,l[r+18|0]=u>>>16,l[r+19|0]=u>>>24,l[r+20|0]=o,l[r+21|0]=o>>>8,l[r+22|0]=o>>>16,l[r+23|0]=o>>>24,o=s[17857]|s[17858]<<8|(s[17859]<<16|s[17860]<<24),u=s[17853]|s[17854]<<8|(s[17855]<<16|s[17856]<<24),l[r+8|0]=u,l[r+9|0]=u>>>8,l[r+10|0]=u>>>16,l[r+11|0]=u>>>24,l[r+12|0]=o,l[r+13|0]=o>>>8,l[r+14|0]=o>>>16,l[r+15|0]=o>>>24,r0(a,9,0,C+12|0),l[C+23|0]>=0)break w;G(i[C+12>>2]);break w}if(l[p+5|0]=1,l[p+7|0]=r,r=i[19565],i[a>>2]=i[19564],i[a+4>>2]=r,r=a+8|0,l[78275]>=0){o=i[19567],i[r>>2]=i[19566],i[r+4>>2]=o,i[r+8>>2]=i[19568];break w}_0(r,i[19566],i[19567])}r=i[C+68>>2],r&&(i[C+72>>2]=r,G(r)),B=C+80|0;break l}i[C+72>>2]=v}i[C+68>>2]=o,i[C+76>>2]=w,y0(),P()}l[h+131|0]<0&&G(i[h+120>>2]),_=h+92|0,r=h+132|0,o=B-16|0,B=o,u=i[e+48>>2],p4(o+4|0,i[u+44>>2],y,u+52|0,1987470147);l:{s:{if(u=i[o+4>>2],!u||(u=N0(u,68572,74976),!u))break s;if(v=i[o+8>>2],!v){v=0;break l}i[v+4>>2]=i[v+4>>2]+1;break l}v=0,u=0}w=i[o+8>>2];l:{if(!w||(Z=i[w+4>>2],i[w+4>>2]=Z-1,Z))break l;V[i[i[w>>2]+8>>2]](w),g(w)}l:{if(u){w=i[r+4>>2],i[u+56>>2]=i[r>>2],i[u+60>>2]=w,i[u+64>>2]=i[r+8>>2],X[u+68>>1]=Q[r+12>>1];s:{if((r|0)==(u+56|0)){L7(u+84|0,r+28|0);break s}w=i[r+16>>2],Z=i[r+20>>2],W8(u+72|0,w,Z,Z-w|0),L7(u+84|0,r+28|0),w=i[r+40>>2],Z=i[r+44>>2],W8(u+96|0,w,Z,Z-w|0),w=i[r+52>>2],Z=i[r+56>>2],ki(u+108|0,w,Z,Z-w>>2)}if(i[u+120>>2]=i[r+64>>2],X[u+124>>1]=Q[r+68>>1],r=i[19565],i[_>>2]=i[19564],i[_+4>>2]=r,r=_+8|0,l[78275]>=0){u=i[19567],i[r>>2]=i[19566],i[r+4>>2]=u,i[r+8>>2]=i[19568];break l}_0(r,i[19566],i[19567]);break l}if(l[o+4|0]=0,l[o+15|0]=0,r0(_,5,141,o+4|0),l[o+15|0]>=0)break l;G(i[o+4>>2])}l:{if(!v||(r=i[v+4>>2],i[v+4>>2]=r-1,r))break l;V[i[i[v>>2]+8>>2]](v),g(v)}B=o+16|0,l[h+111|0]<0&&G(i[h+100>>2]),r=i[h+184>>2],r&&(i[h+188>>2]=r,G(r)),r=i[h+172>>2],r&&(i[h+176>>2]=r,G(r)),r=i[h+160>>2],r&&G(r),r=i[h+148>>2],r&&(i[h+152>>2]=r,G(r)),r=i[h+48>>2],o=i[h+56>>2];break;case 0:case 2:break u;default:break o}p=h+72|0,Z=B-16|0,B=Z,u=i[e+48>>2],p4(Z+4|0,i[u+44>>2],y,u+52|0,1987470147);u:{l:{if(u=i[Z+4>>2],!u||(w=N0(u,68572,74976),!w))break l;if(v=i[Z+8>>2],!v){v=0;break u}i[v+4>>2]=i[v+4>>2]+1;break u}v=0,w=0}u=i[Z+8>>2];u:{if(!u||(_=i[u+4>>2],i[u+4>>2]=_-1,_))break u;V[i[i[u>>2]+8>>2]](u),g(u)}u:{if(w){W=B-16|0,B=W,i[W+12>>2]=0,i[W+4>>2]=0,i[W+8>>2]=0,r?(L2(W+4|0,r),_=i[W+4>>2]):_=0,l0(_,o,r),_=B-16|0,B=_,u=W+4|0,o=s[i[u>>2]+1|0]>>>3|0;l:{s:{r=i[w+128>>2],E=i[w+132>>2];h:{if((r|0)!=(E|0))for(;;){if((o|0)==s[r+1|0]){if(o=i[r+8>>2],o>>>0>2]){if(i[o+8>>2]=0,i[o>>2]=0,i[o+4>>2]=0,w=i[u+4>>2],E=i[u>>2],(w|0)!=(E|0)){if(u=w-E|0,(u|0)<0)break s;w=U(u),i[o+4>>2]=w,i[o>>2]=w,R=u+w|0,i[o+8>>2]=R,l0(w,E,u),i[o+4>>2]=R}i[r+8>>2]=o+12;break h}S=r,q=v6(r+4|0,u),i[S+8>>2]=q;break h}if(r=r+16|0,(E|0)==(r|0))break}i[_+12>>2]=0,i[_+4>>2]=0,i[_+8>>2]=0,l[_+1|0]=o,l[_|0]=1,o=v6(_+4|0,u),r=i[w+132>>2],i[_+8>>2]=o;w:{if(r>>>0>2]){o=Q[_>>1],i[r+12>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,X[r>>1]=o,o=i[_+4>>2],u=i[_+8>>2],qA(r+4|0,o,u,(u-o|0)/12|0),r=r+16|0;break w}r=yn(w+128|0,_)}if(i[w+132>>2]=r,o=i[_+4>>2],!o)break h;if(r=o,u=i[_+8>>2],(r|0)!=(u|0)){for(;r=u-12|0,w=i[r>>2],w&&(i[u-8>>2]=w,G(w)),u=r,(r|0)!=(o|0););r=i[_+4>>2]}i[_+8>>2]=o,G(r)}B=_+16|0;break l}y0(),P()}if(r=i[W+4>>2],r&&(i[W+8>>2]=r,G(r)),B=W+16|0,r=i[19565],i[p>>2]=i[19564],i[p+4>>2]=r,r=p+8|0,l[78275]>=0){o=i[19567],i[r>>2]=i[19566],i[r+4>>2]=o,i[r+8>>2]=i[19568];break u}_0(r,i[19566],i[19567]);break u}if(l[Z+4|0]=0,l[Z+15|0]=0,r0(p,5,141,Z+4|0),l[Z+15|0]>=0)break u;G(i[Z+4>>2])}u:{if(!v||(r=i[v+4>>2],i[v+4>>2]=r-1,r))break u;V[i[i[v>>2]+8>>2]](v),g(v)}if(B=Z+16|0,l[h+91|0]>=0)break t;G(i[h+80>>2]);break t}m9(i[e+48>>2],y,o,r)}if(V[i[i[A>>2]+104>>2]](h+132|0,i[A+4>>2],h+56|0,h+48|0,0),o=i[h+56>>2],!o)break}t:{if(o=i[h+208>>2],o&&(r=i[h+204>>2],r))break t;if(l[h+132|0]=0,l[h+143|0]=0,r0(f,8,129,h+132|0),l[h+143|0]>=0)break r;G(i[h+132>>2]);break r}u=i[A>>2];t:{if(i[u>>2]<3||(u=i[u+112>>2],!u))break t;i[h+132>>2]=z,i[h+56>>2]=H,V[u|0](i[A+4>>2],z,H,h+132|0,h+56|0),r=i[h+204>>2],o=i[h+208>>2]}Vi(i[e+48>>2],y,o,r),r=i[h+208>>2],o=i[h+204>>2];t:{if((r|0)==(z|0)&(o|0)==(H|0)||(ar(i[e+48>>2],y,z,H,r,o),E3(z,H,i[i[h+232>>2]+36>>2])))break t;l[i[t>>2]+192|0]=0}gr(i[e+48>>2],y,i[k+12>>2]);t:switch(n-1|0){case 0:case 3:break t;default:break e}n=i[h+232>>2],r=i[n+52>>2],n=i[n+56>>2];t:{if(!n){if(!r)break t;u=i[e+48>>2],i[h+136>>2]=0,i[h+132>>2]=r;break f}if(i[n+4>>2]=i[n+4>>2]+1,r)break k}r=s[k|0],o=i[k+4>>2]!=0;break A}c2(),P()}u=i[e+48>>2],i[h+136>>2]=n,i[h+132>>2]=r,i[n+4>>2]=i[n+4>>2]+1}p8(u,y,h+132|0),r=i[h+136>>2];f:{if(!r||(o=i[r+4>>2],i[r+4>>2]=o-1,o))break f;V[i[i[r>>2]+8>>2]](r),g(r)}r=s[k|0],o=s[k+3|0]!=0&i[k+4>>2]!=0&r>>>0>2}A:{if(!(!s[k+8|0]|(r&255)>>>0<4)|!o||(o=i[e+48>>2],i[h+132>>2]=i[h+240>>2],r=i[h+244>>2],i[h+136>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),p8(o,y,h+132|0),r=i[h+136>>2],!r)||(o=i[r+4>>2],i[r+4>>2]=o-1,o))break A;V[i[i[r>>2]+8>>2]](r),g(r)}if(!n||(r=i[n+4>>2],i[n+4>>2]=r-1,r))break e;V[i[i[n>>2]+8>>2]](n),g(n)}i[h+64>>2]=i[h+232>>2],r=i[h+236>>2],i[h+68>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),r=i[h+68>>2],i[h+16>>2]=i[h+64>>2],i[h+20>>2]=r,Wi(e,h+16|0,y),r=i[e+32>>2];e:{if(r>>>0>2]){i[r>>2]=i[t>>2],n=i[t+4>>2],i[r+4>>2]=n,n&&(i[n+4>>2]=i[n+4>>2]+1),r=r+8|0;break e}r=Q2(e+28|0,t)}i[e+32>>2]=r,r=i[e+20>>2];e:{A:{if(!r){u=e+20|0,o=u;break A}for(;;){if(o=r,n=i[r+16>>2],n>>>0>y>>>0){if(u=r,r=i[r>>2],r)continue;break A}if(n>>>0>=y>>>0)break e;if(r=i[o+4>>2],!r)break}u=o+4|0}r=U(28),i[r+20>>2]=0,i[r+24>>2]=0,i[r+16>>2]=y,i[r+8>>2]=o,i[r>>2]=0,i[r+4>>2]=0,i[u>>2]=r,o=r,n=i[i[e+16>>2]>>2],n&&(i[e+16>>2]=n,o=i[u>>2]),D1(i[e+20>>2],o),i[e+24>>2]=i[e+24>>2]+1}n=i[t>>2],t=i[t+4>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[r+20>>2]=n,n=i[r+24>>2],i[r+24>>2]=t;e:{if(!n||(r=i[n+4>>2],i[n+4>>2]=r-1,r))break e;V[i[i[n>>2]+8>>2]](n),g(n)}e:{A:{if(!s[k+1|0]||!H2(i[h+232>>2],6))break A;i[h+56>>2]=0,i[h+60>>2]=0,s6(h+132|0,h+232|0),n=i[h+132>>2],t=i[h+136>>2],i[h+132>>2]=0,i[h+136>>2]=0,r=i[h+60>>2],i[h+56>>2]=n,i[h+60>>2]=t;f:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n||(V[i[i[r>>2]+8>>2]](r),g(r)),r=i[h+136>>2],!r)||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break f;V[i[i[r>>2]+8>>2]](r),g(r)}if(i[h+48>>2]=0,i[h+52>>2]=0,kk(f,e,h+56|0,A,k,2,h+48|0),i[f>>2])break e;r=i[i[h+48>>2]+20>>2],A=i[e+48>>2],i[h+44>>2]=1,i[h+36>>2]=y,i[h+40>>2]=h+36,k=i[h+44>>2],i[h+8>>2]=i[h+40>>2],i[h+12>>2]=k,k=r,r=ue(h+132|0,h+8|0),P1(A,k,1635088492,r),A=i[r>>2],A&&(i[r+4>>2]=A,G(A));f:{if(s[i[h+232>>2]+40|0]!=1||(r=i[e+48>>2],A=i[i[h+48>>2]+20>>2],i[h+32>>2]=1,i[h+36>>2]=A,i[h+28>>2]=h+36,A=i[h+32>>2],i[h>>2]=i[h+28>>2],i[h+4>>2]=A,A=r,r=ue(h+132|0,h),P1(A,y,1886545261,r),A=i[r>>2],!A))break f;i[r+4>>2]=A,G(A)}r=i[e+48>>2],A=i[i[h+48>>2]+20>>2],e=C1(h+132|0,17014),_6(r,A,e),l[e+11|0]<0&&G(i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),v1(h+48|0),v1(h+56|0)}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break r}_0(f,i[19566],i[19567]);break r}f=i[h+52>>2];e:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break e;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=i[h+60>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=i[h+228>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[h+236>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[h+244>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=h+256|0}function nk(f,e,r,A,k,n,t,o,u,h,w,_){var v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0,n2=0,s2=0,W2=0,y2=0,x2=0,T2=0,O2=0,q2=0,b2=0,e1=0,A1=0,h1=0,B1=0,p1=0,W1=0,X1=0,N1=0,r4=0,e4=0,V4=0,M4=0,x4=0;N1=B-16|0,B=N1,E=N1+4|0,A0=B-80|0,B=A0;i:{r:{if(v=i[r+168>>2],z=k>>v,(z|0)<0||(D=i[r+172>>2],(D|0)<=(z|0)))break r;if(S=n>>v,(S|0)<0|(S|0)>=i[r+176>>2])break i;v=n+o|0,C=k+t|0,y=s[A+10|0];e:{A:{f:switch((s[((i[r+160>>2]+m(z,3)|0)+m(m(D,S),3)|0)+1|0]&3)-1|0){case 0:if(!(y&16))break A;break;case 1:break f;default:break A}i[A0+12>>2]=r,i[A0+8>>2]=45672,Z=A0+8|0,A=v,z=h,S=w,D=_,G0=y>>>5|0,p=A0+16|0,y=B-16|0,B=y,I=i[i[r+132>>2]+8236>>2],(u|0)!=8|i[i[r+132>>2]+8236>>2]<3||(S=8,D=0,z=8,C=k,A=n),X0=A+S|0,R=X0-1|0,v=V[i[i[Z>>2]>>2]](Z,k,n)|0;f:{a=G0+1|0,d=C>>I,n0=C-1|0,q=(d|0)!=n0>>I;k:{if(!q&&(_=0,A>>I==R>>I)||!((D|0)!=1|v>>>0>7)&&(_=0,1<>2]+4>>2]](Z,n0,R)|0,Z=Q[_+4>>1]|Q[_+6>>1]<<16,R=Q[_>>1]|Q[_+2>>1]<<16,X[p>>1]=R,X[p+2>>1]=R>>>16,X[p+4>>1]=Z,X[p+6>>1]=Z>>>16,_=Q[_+8>>1]|Q[_+10>>1]<<16,X[p+8>>1]=_,X[p+10>>1]=_>>>16,_=1}if((a|0)<=(_|0))break f;k:{n:{t:{if(W=C+z|0,Z=W-1|0,R=A-1|0,!(!(1<>>0>5)|(d|0)==Z>>I&A>>I==R>>I||!K4(r,k,n,u,C,A,z,S,D,Z,R))break t;if(J=i[r+188>>2],v=Z>>J,(v|0)<0||(Z=i[r+192>>2],(Z|0)<=(v|0)))break r;if(J=R>>J,!((J|0)<0|(J|0)>=i[r+196>>2])){Z=(i[r+180>>2]+m(v,12)|0)+m(m(Z,J),12)|0;o:{if(!_||(v=s[p|0],(v|0)!=s[Z|0])||v&&Q[p+4>>1]!=Q[Z+4>>1]|Q[p+6>>1]!=Q[Z+6>>1]|s[p+2|0]!=s[Z+2|0]||(Y0=s[p+1|0],(Y0|0)!=s[Z+1|0]))break o;if(J=0,I0=1,v=_,!Y0)break n;if(Q[p+8>>1]!=Q[Z+8>>1]|Q[p+10>>1]!=Q[Z+10>>1]|s[p+3|0]!=s[Z+3|0])break o;v=_;break n}J=Q[Z+4>>1]|Q[Z+6>>1]<<16,v=p+m(_,12)|0,I0=Q[Z>>1]|Q[Z+2>>1]<<16,X[v>>1]=I0,X[v+2>>1]=I0>>>16,X[v+4>>1]=J,X[v+6>>1]=J>>>16,J=Q[Z+8>>1]|Q[Z+10>>1]<<16,X[v+8>>1]=J,X[v+10>>1]=J>>>16,I0=1,J=_,v=_+1|0;break n}break k}v=_}n:{if(a>>>0<=v>>>0)break n;t:{if((d|0)==W>>I&A>>I==R>>I||!K4(r,k,n,u,C,A,z,S,D,W,R))break t;if(Z=W,W=i[r+188>>2],Z=Z>>W,(Z|0)<0||(d=i[r+192>>2],(d|0)<=(Z|0)))break r;if(W=R>>W,(W|0)<0|(W|0)>=i[r+196>>2])break k;Z=(i[r+180>>2]+m(Z,12)|0)+m(m(W,d),12)|0;o:{if(!I0||(W=p+m(J,12)|0,d=s[W|0],(d|0)!=s[Z|0])||d&&Q[W+4>>1]!=Q[Z+4>>1]|Q[W+6>>1]!=Q[Z+6>>1]|s[W+2|0]!=s[Z+2|0]||(d=s[W+1|0],(d|0)!=s[Z+1|0]))break o;if(!d)break t;if(Q[W+8>>1]!=Q[Z+8>>1]|Q[W+10>>1]!=Q[Z+10>>1])break o;if(s[W+3|0]==s[Z+3|0])break t}d=Q[Z+4>>1]|Q[Z+6>>1]<<16,W=p+m(v,12)|0,Y0=Q[Z>>1]|Q[Z+2>>1]<<16,X[W>>1]=Y0,X[W+2>>1]=Y0>>>16,X[W+4>>1]=d,X[W+6>>1]=d>>>16,Z=Q[Z+8>>1]|Q[Z+10>>1]<<16,X[W+8>>1]=Z,X[W+10>>1]=Z>>>16,v=v+1|0}if(v>>>0>=a>>>0)break n;t:{o:{if(!q&&(Z=A>>I,(Z|0)==X0>>I))break o;u:{if(!K4(r,k,n,u,C,A,z,S,D,n0,X0))break u;if(W=i[r+188>>2],Z=n0>>W,(Z|0)<0||(d=i[r+192>>2],(d|0)<=(Z|0)))break r;if(W=X0>>W,(W|0)<0|(W|0)>=i[r+196>>2])break k;Z=(i[r+180>>2]+m(Z,12)|0)+m(m(W,d),12)|0;l:{if(!_||(W=s[p|0],(W|0)!=s[Z|0])||W&&Q[p+4>>1]!=Q[Z+4>>1]|Q[p+6>>1]!=Q[Z+6>>1]|s[p+2|0]!=s[Z+2|0]||(W=s[p+1|0],(W|0)!=s[Z+1|0]))break l;if(!W)break u;if(Q[p+8>>1]!=Q[Z+8>>1]|Q[p+10>>1]!=Q[Z+10>>1])break l;if(s[p+3|0]==s[Z+3|0])break u}X0=Q[Z+4>>1]|Q[Z+6>>1]<<16,W=p+m(v,12)|0,d=Q[Z>>1]|Q[Z+2>>1]<<16,X[W>>1]=d,X[W+2>>1]=d>>>16,X[W+4>>1]=X0,X[W+6>>1]=X0>>>16,Z=Q[Z+8>>1]|Q[Z+10>>1]<<16,X[W+8>>1]=Z,X[W+10>>1]=Z>>>16,v=v+1|0}if((v|0)==4|v>>>0>=a>>>0)break n;if(q)break t;Z=A>>I}if(R>>I==(Z|0))break n}if(!K4(r,k,n,u,C,A,z,S,D,n0,R))break n;if(I=i[r+188>>2],D=n0>>I,(D|0)<0||(Z=i[r+192>>2],(Z|0)<=(D|0)))break r;if(I=R>>I,(I|0)<0|(I|0)>=i[r+196>>2])break k;if(D=(i[r+180>>2]+m(D,12)|0)+m(m(Z,I),12)|0,I0&&W9(p+m(J,12)|0,D)||_&&W9(p,D))break n;J=Q[D+4>>1]|Q[D+6>>1]<<16,_=p+m(v,12)|0,I=Q[D>>1]|Q[D+2>>1]<<16,X[_>>1]=I,X[_+2>>1]=I>>>16,X[_+4>>1]=J,X[_+6>>1]=J>>>16,D=Q[D+8>>1]|Q[D+10>>1]<<16,X[_+8>>1]=D,X[_+10>>1]=D>>>16,v=v+1|0}_=v;break f}break i}i[y+12>>2]=_;f:{if((_|0)>(G0|0)||(dr(f,r,e,C,A,z,S,0,0,y+4|0,y+2|0),l[y+3|0]=0,v=s[y+2|0],i[e+28>>2]||(dr(f,r,e,C,A,z,S,0,1,y+8|0,y+3|0),f0=s[y+3|0],v=v|f0),!(v&255)))break f;i[y+12>>2]=_+1,A=p+m(_,12)|0,_=i[y+4>>2],X[A+4>>1]=_,X[A+6>>1]=_>>>16,_=i[y+8>>2],X[A+8>>1]=_,X[A+10>>1]=_>>>16,_=s[y+2|0],X[A+2>>1]=0,l[A+1|0]=f0,l[A|0]=_}if(_=i[e+28>>2],!_){C=0;f:{if(z=i[y+12>>2],(z|0)<2|(z|0)>=(a|0))break f;I=e+988|0,Z=e+924|0,R=m(z,z-1|0);k:{for(;;){if(A=C<<2,_=i[A+45568>>2],(_|0)>=(z|0)||(v=i[A+45616>>2],(v|0)>=(z|0)))break k;if(D=0,A=0,_=p+m(_,12)|0,s[_|0]&&(A=V[i[i[f>>2]+8>>2]](f,i[Z+(l[_+2|0]<<2)>>2])|0),v=p+m(v,12)|0,s[v+1|0]&&(D=V[i[i[f>>2]+8>>2]](f,i[I+(l[v+3|0]<<2)>>2])|0),S=s[_|0],!(!S||A)||(J=s[v+1|0],!(!J||D))||(!(i[A+96>>2]!=i[D+96>>2]|Q[_+4>>1]!=Q[v+8>>1])&Q[_+6>>1]==Q[v+10>>1]|(!S|!J)||(A=p+m(i[y+12>>2],12)|0,l[A+2|0]=s[_+2|0],D=s[v+3|0],l[A+1|0]=J,l[A|0]=S,l[A+3|0]=D,_=Q[_+4>>1]|Q[_+6>>1]<<16,X[A+4>>1]=_,X[A+6>>1]=_>>>16,_=Q[v+8>>1]|Q[v+10>>1]<<16,X[A+8>>1]=_,X[A+10>>1]=_>>>16,i[y+12>>2]=i[y+12>>2]+1),C=C+1|0,(R|0)==(C|0)))break f;if((a|0)==i[y+12>>2])break}break f}C0(9349,13964,1432,4146),P()}_=i[e+28>>2]}z=i[e+336>>2],(_|0)!=1&&(A=i[e+340>>2],z=(A|0)>(z|0)?z:A),S=i[y+12>>2];f:{if((G0|0)<(S|0))break f;if(A=a-S|0,C=A&1,_=0,(S|0)!=(G0|0))for(D=A&-2,A=0;a=i[e+28>>2],v=p+m(S,12)|0,J=(_|0)<(z|0)?_:0,l[v+2|0]=J,X[v+4>>1]=0,X[v+6>>1]=0,X[v+8>>1]=0,X[v+10>>1]=0,a=(a|0)!=1,l[v+1|0]=a,l[v|0]=1,l[v+3|0]=a?J:-1,a=i[e+28>>2],J=_|1,J=(J|0)<(z|0)?J:0,l[v+14|0]=J,X[v+16>>1]=0,X[v+18>>1]=0,X[v+20>>1]=0,X[v+22>>1]=0,l[v+12|0]=1,a=(a|0)!=1,l[v+13|0]=a,l[v+15|0]=a?J:-1,_=_+2|0,S=S+2|0,A=A+2|0,(D|0)!=(A|0););if(!C)break f;v=i[e+28>>2],A=p+m(S,12)|0,_=(_|0)<(z|0)?_:0,l[A+2|0]=_,X[A+4>>1]=0,X[A+6>>1]=0,X[A+8>>1]=0,X[A+10>>1]=0,v=(v|0)!=1,l[A+1|0]=v,l[A|0]=1,l[A+3|0]=v?_:-1}if(B=y+16|0,A=p+m(G0,12)|0,_=Q[A>>1]|Q[A+2>>1]<<16,v=Q[A+4>>1]|Q[A+6>>1]<<16,X[E>>1]=_,X[E+2>>1]=_>>>16,X[E+4>>1]=v,X[E+6>>1]=v>>>16,A=Q[A+8>>1]|Q[A+10>>1]<<16,X[E+8>>1]=A,X[E+10>>1]=A>>>16,!(_&255)|!s[E+1|0]|(h+w|0)!=12)break e;l[E+1|0]=0,l[E+3|0]=255;break e}A:{f:{k:{n:switch((y&3)-1|0){case 0:case 2:if(y=l[A|0],l[E|0]=1,l[E+2|0]=y,l[A|0]<16)break k;A=E+2|0;break A;default:break n}l[E|0]=0,l[E+2|0]=255;break f}z=Q[A+4>>1],S=Q[A+2>>1],a=y,y=A0+16|0,vk(f,e,r,k,n,u,C,v,h,w,0,a,_,y),y=y+(s[A+10|0]&4)|0,y=Q[y>>1]|Q[y+2>>1]<<16,X[E+4>>1]=y+S,X[E+6>>1]=z+(y>>>16|0)}if(!(s[A+10|0]&2)){l[E+1|0]=0,l[E+3|0]=255;break e}if(y=l[A+1|0],l[E+1|0]=1,l[E+3|0]=y,l[A+1|0]>15){A=E+3|0;break A}z=Q[A+8>>1],S=Q[A+6>>1],a=_,_=A0+16|0,vk(f,e,r,k,n,u,C,v,h,w,1,y,a,_),A=_+(s[A+10|0]>>>1&4)|0,A=Q[A>>1]|Q[A+2>>1]<<16,X[E+8>>1]=A+S,X[E+10>>1]=z+(A>>>16|0);break e}l[A|0]=0,l[r+312|0]=3,v2(f+4|0,1012,0)}B=A0+80|0,_=f,y=k,z=n,S=t,D=o,A=E,k=B-49152|0,B=k;e:{A:{if(n=e,e1=i[e+4>>2],A0=i[e1+4>>2],R=i[A0+16832>>2],f=i[r+124>>2],(R|0)==i[f+16832>>2]&&(Z=i[A0+16840>>2],(Z|0)==i[f+16840>>2]))break A;l[r+312|0]=3,v2(_+4|0,1031,0);break e}if(i[A0+476>>2]!=i[r+20>>2]){l[r+312|0]=3,v2(_+4|0,1030,0);break e}I=i[r+44>>2],W2=D+z|0,y2=i[A0+16856>>2],x2=y+S|0,T2=i[A0+16852>>2],f=m(I,(W2|0)/(y2|0)|0)+((x2|0)/(T2|0)|0)|0,e=f<>2],f=f<>2],G0=i[r+40>>2],E=m(G0,W2)+x2<>2],C=s[A+1|0],o=s[A|0];A:{if(s[e1+41|0]|!o|(!C|Q[A+4>>1]!=Q[A+8>>1])||Q[A+6>>1]!=Q[A+10>>1])break A;C=i[(n+(l[A+2|0]<<2)|0)+924>>2]!=i[(n+(l[A+3|0]<<2)|0)+988>>2]?C:0}for(a=k+40960|0,J=k- -8192|0,X0=e+t|0,I0=f+v|0,d=p+E|0,M4=A+4|0,b2=_+4|0,x4=n+924|0,r4=A+2|0,Y0=k+16384|0,t=k+32768|0,e=k,E=1,f=o;;){A:{if(!f)break A;if(f=l[p1+r4|0],(f|0)>=16){l[r+312|0]=3,v2(b2,1012,0);break e}if(n0=V[i[i[_>>2]+8>>2]](_,i[((p1<<6)+x4|0)+(f<<2)>>2])|0,!(i[n0+100>>2]&&n0)){l[r+312|0]=3,v2(b2,1012,0);break A}if(!(!(i[n0+24>>2]!=i[A0+484>>2]|i[n0+28>>2]!=i[A0+488>>2])&i[r+20>>2]==i[n0+20>>2])){l[r+312|0]=3,v2(b2,1029,0);break A}if(v=i[r+124>>2],p=i[v+16832>>2],f=i[n0+124>>2],!((p|0)==i[f+16832>>2]&i[v+16840>>2]==i[f+16840>>2])){l[r+312|0]=3,v2(b2,1028,0);break A}O2=(p1<<2)+M4|0,f=X[O2+2>>1],v=X[O2>>1],W=i[n0+40>>2],q2=i[n0+4>>2];f:{if((p|0)>=9){h0=B-20448|0,B=h0,Q0=(f>>2)+W2|0,q=(v>>2)+x2|0,S0=i[A0+488>>2],f0=i[A0+484>>2];k:{if(!((f|v)&3)){f=i[A0+16832>>2];n:{if(!((q|Q0)<0|(f0|0)<(h+q|0))&&(S0|0)>=(w+Q0|0))break n;if((w|0)<=0|(h|0)<=0)break k;for(j=14-f|0,c0=S0-1|0,p0=f0-1|0,r2=h&2147483646,n2=h&1,p=0;;){if(f=p+Q0|0,F0=(m((f|0)>=0?(f|0)<(S0|0)?f:c0:0,W)<<1)+q2|0,L=(m(u,p)<<1)+t|0,f=0,v=0,(h|0)!=1)for(;H=f+q|0,X[L+(f<<1)>>1]=Q[F0+(((H|0)>=0?(H|0)<(f0|0)?H:p0:0)<<1)>>1]<>1]=Q[F0+(((H|0)>=0?(H|0)<(f0|0)?H:p0:0)<<1)>>1]<>1]=Q[F0+(((f|0)>=0?(f|0)<(f0|0)?f:p0:0)<<1)>>1]<>2]](t,u,f,W,h,w,h0+11360|0);break k}V[i[_+300>>2]](t,u,f,W,h,w,h0+11360|0,R);break k}c0=f&3,f=c0<<2,F0=i[f+45760>>2],p=i[f+45776>>2],r2=v&3,v=r2<<2,f=i[v+45776>>2],p0=i[v+45760>>2],L=q-p0|0;n:{if(!((f0|0)<=(f+(h+q|0)|0)|(S0|0)<=(p+(w+Q0|0)|0)|(L|Q0-F0)<0)){f=((q<<1)+q2|0)+(m(W,Q0)<<1)|0;break n}j=0-F0|0,A1=w+p|0;t:{if((j|0)>=(A1|0)||(h1=f+h|0,v=0-p0|0,(h1|0)<=(v|0)))break t;for(e4=S0-1|0,p=1-p0|0,W1=(f+p0|0)+h|0,X1=W1&1,n2=f0-1|0,V4=((L|0)>=0?(f0|0)>(L|0)?L:n2:0)<<1;;){if(f=j+Q0|0,L=(m((f|0)>=0?(f|0)<(S0|0)?f:e4:0,W)<<1)+q2|0,H=m(j+F0|0,80),f=v,X1&&(X[h0+(H<<1)>>1]=Q[L+V4>>1],f=p),(W1|0)!=1)for(s2=H+p0|0;H=f+q|0,X[h0+(f+s2<<1)>>1]=Q[L+(((H|0)>=0?(H|0)<(f0|0)?H:n2:0)<<1)>>1],B1=f+1|0,H=B1+q|0,X[h0+(s2+B1<<1)>>1]=Q[L+(((H|0)>=0?(H|0)<(f0|0)?H:n2:0)<<1)>>1],f=f+2|0,(h1|0)!=(f|0););if(j=j+1|0,(A1|0)==(j|0))break}}W=80,f=h0+(p0+m(F0,80)<<1)|0}if((R|0)<=8){V[i[((_+(r2<<4)|0)+(c0<<2)|0)+220>>2]](t,u,f,W,h,w,h0+11360|0);break k}V[i[((_+(r2<<4)|0)+(c0<<2)|0)+300>>2]](t,u,f,W,h,w,h0+11360|0,R)}B=h0+20448|0;break f}h0=B-14768|0,B=h0,Q0=(f>>2)+W2|0,q=(v>>2)+x2|0,S0=i[A0+488>>2],f0=i[A0+484>>2];k:{if(!((f|v)&3)){f=i[A0+16832>>2];n:{if(!((q|Q0)<0|(f0|0)<(h+q|0))&&(S0|0)>=(w+Q0|0))break n;if((w|0)<=0|(h|0)<=0)break k;for(j=14-f|0,c0=S0-1|0,p0=f0-1|0,r2=h&2147483646,n2=h&1,p=0;;){if(f=p+Q0|0,F0=m((f|0)>=0?(f|0)<(S0|0)?f:c0:0,W)+q2|0,L=(m(u,p)<<1)+t|0,f=0,v=0,(h|0)!=1)for(;H=f+q|0,X[L+(f<<1)>>1]=s[F0+((H|0)>=0?(H|0)<(f0|0)?H:p0:0)|0]<>1]=s[F0+((H|0)>=0?(H|0)<(f0|0)?H:p0:0)|0]<>1]=s[F0+((f|0)>=0?(f|0)<(f0|0)?f:p0:0)|0]<>2]](t,u,f,W,h,w,h0+5680|0);break k}V[i[_+300>>2]](t,u,f,W,h,w,h0+5680|0,R);break k}c0=f&3,f=c0<<2,F0=i[f+45760>>2],L=i[f+45776>>2],r2=v&3,v=r2<<2,f=i[v+45776>>2],p0=i[v+45760>>2],p=q-p0|0;n:{if(!((f0|0)<=(f+(h+q|0)|0)|(S0|0)<=(L+(w+Q0|0)|0)|(p|Q0-F0)<0)){f=(q+q2|0)+m(W,Q0)|0;break n}j=0-F0|0,A1=w+L|0;t:{if((j|0)>=(A1|0)||(h1=f+h|0,v=0-p0|0,(h1|0)<=(v|0)))break t;for(e4=S0-1|0,n2=f0-1|0,W1=(p|0)>=0?(p|0)<(f0|0)?p:n2:0,p=1-p0|0,X1=(f+p0|0)+h|0,V4=X1&1;;){if(f=j+Q0|0,L=m((f|0)>=0?(f|0)<(S0|0)?f:e4:0,W)+q2|0,H=m(j+F0|0,80),f=v,V4&&(l[H+h0|0]=s[L+W1|0],f=p),(X1|0)!=1)for(s2=H+p0|0;H=f+q|0,l[h0+(f+s2|0)|0]=s[L+((H|0)>=0?(H|0)<(f0|0)?H:n2:0)|0],B1=f+1|0,H=B1+q|0,l[h0+(s2+B1|0)|0]=s[L+((H|0)>=0?(H|0)<(f0|0)?H:n2:0)|0],f=f+2|0,(h1|0)!=(f|0););if(j=j+1|0,(A1|0)==(j|0))break}}W=80,f=h0+(p0+m(F0,80)|0)|0}if((R|0)<=8){V[i[((_+(r2<<4)|0)+(c0<<2)|0)+220>>2]](t,u,f,W,h,w,h0+5680|0);break k}V[i[((_+(r2<<4)|0)+(c0<<2)|0)+300>>2]](t,u,f,W,h,w,h0+5680|0,R)}B=h0+14768|0}if(!i[r+20>>2])break A;if(f=(w|0)/(y2|0)|0,t=(h|0)/(T2|0)|0,v=Y0+(p1<<13)|0,p=X[O2+2>>1],W=X[O2>>1],q=i[n0+44>>2],f0=i[n0+8>>2],i[i[r+124>>2]+16840>>2]>=9){Pk(_,A0,W,p,x2,W2,e,u,f0,q,t,f,Z),Pk(_,A0,X[O2>>1],X[O2+2>>1],x2,W2,v,u,i[n0+12>>2],i[n0+44>>2],t,f,Z);break A}qk(_,A0,W,p,x2,W2,e,u,f0,q,t,f,Z),qk(_,A0,X[O2>>1],X[O2+2>>1],x2,W2,v,u,i[n0+12>>2],i[n0+44>>2],t,f,Z)}if(p1=1,v=E,E=0,f=C,e=J,t=a,!v)break}f=i[A0+16840>>2],v=(f|0)>12?2:14-f|0,f=i[A0+16832>>2],E=(f|0)>12?2:14-f|0,e=i[r+124>>2],f=s[e+16993|0],t=s[e+16992|0];A:switch(i[n+28>>2]){case 1:if(e=!C&(o|0)==1,!s[e1+41|0]){if(e){f:{if((R|0)<=8){V[i[_+176>>2]](d,G0,k+32768|0,u,h,w);break f}V[i[_+192>>2]](d,G0,k+32768|0,u,h,w,R)}if(!i[r+20>>2])break e;if(f=(w|0)/(y2|0)|0,e=(h|0)/(T2|0)|0,(Z|0)<=8){V[i[_+176>>2]](I0,I,k,u,e,f),V[i[_+176>>2]](X0,I,Y0,u,e,f);break e}V[i[_+192>>2]](I0,I,k,u,e,f,Z),V[i[_+192>>2]](X0,I,Y0,u,e,f,Z);break e}v2(b2,1011,0),l[r+312|0]=3;break e}if(e){e=E+s[n+388|0]|0,o=l[r4|0],t=l[(o+n|0)+518|0]<>1],J=l[C+678|0],E=X[E+550>>1],C=X[C+454>>1],p=s[n+389|0];f:{if((R|0)<=8){V[i[_+180>>2]](d,G0,k+32768|0,u,h,w,C,t,e);break f}V[i[_+196>>2]](d,G0,k+32768|0,u,h,w,C,t,e,R)}if(!i[r+20>>2])break e;if(e=(w|0)/(y2|0)|0,n=(h|0)/(T2|0)|0,t=v+p|0,v=J<>2]](I0,I,k,u,n,e,E,v,t),V[i[_+180>>2]](X0,I,Y0,u,n,e,o,f,t);break e}V[i[_+196>>2]](I0,I,k,u,n,e,E,v,t,Z),V[i[_+196>>2]](X0,I,Y0,u,n,e,o,f,t,Z);break e}v2(b2,1011,0),l[r+312|0]=3;break e;default:C0(15527,13964,528,4261),P();case 0:break A}if(!((o|0)!=1|(C|0)!=1)){if(!s[e1+42|0]){f=k+40960|0;A:{if((R|0)<=8){V[i[_+172>>2]](d,G0,k+32768|0,f,u,h,w);break A}V[i[_+188>>2]](d,G0,k+32768|0,f,u,h,w,R)}if(!i[r+20>>2])break e;if(f=(w|0)/(y2|0)|0,e=(h|0)/(T2|0)|0,n=k- -8192|0,t=k+24576|0,(Z|0)<=8){V[i[_+172>>2]](I0,I,k,n,u,e,f),V[i[_+172>>2]](X0,I,Y0,t,u,e,f);break e}V[i[_+188>>2]](I0,I,k,n,u,e,f,Z),V[i[_+188>>2]](X0,I,Y0,t,u,e,f,Z);break e}if(e=l[A+3|0],o=n+(e<<1)|0,J=l[o+711|0],C=n+(e<<2)|0,p=X[C+616>>1],A0=l[o+710|0],W=X[C+614>>1],C=l[A+2|0],a=n+(C<<1)|0,n0=l[a+679|0],q=n+(C<<2)|0,f0=X[q+552>>1],h0=l[a+678|0],q=X[q+550>>1],j=s[n+389|0],_=_+172|0,F3(_,d,G0,k+32768|0,k+40960|0,u,h,w,X[a+454>>1],l[(n+C|0)+518|0]<>1],l[(e+n|0)+534|0]<>2])break e;e=(h|0)/(T2|0)|0,n=(w|0)/(y2|0)|0,t=v+j|0,F3(_,I0,I,k,k- -8192|0,u,e,n,q,h0<>2]](d,G0,f,u,h,w);break A}V[i[_+192>>2]](d,G0,f,u,h,w,R)}if(!i[r+20>>2])break e;if(n=o?Y0:k+24576|0,f=(w|0)/(y2|0)|0,e=(h|0)/(T2|0)|0,t=k+(t<<13)|0,(Z|0)<=8){V[i[_+176>>2]](I0,I,t,u,e,f),V[i[_+176>>2]](X0,I,n,u,e,f);break e}V[i[_+192>>2]](I0,I,t,u,e,f,Z),V[i[_+192>>2]](X0,I,n,u,e,f,Z);break e}e=!o,C=l[e+r4|0],t=l[(C+(n+(e<<4)|0)|0)+518|0]<>1],W=l[a+678|0],J=X[J+550>>1],a=X[a+454>>1],E=E+s[n+388|0]|0,p=(k+32768|0)+(e<<13)|0,n0=s[n+389|0];A:{if((R|0)<=8){V[i[_+180>>2]](d,G0,p,u,h,w,a,t,E);break A}V[i[_+196>>2]](d,G0,p,u,h,w,a,t,E,R)}if(!i[r+20>>2])break e;if(E=o?Y0:k+24576|0,n=(w|0)/(y2|0)|0,t=(h|0)/(T2|0)|0,o=v+n0|0,v=W<>2]](I0,I,e,u,t,n,J,v,o),V[i[_+180>>2]](X0,I,E,u,t,n,C,f,o);break e}V[i[_+196>>2]](I0,I,e,u,t,n,J,v,o,Z),V[i[_+196>>2]](X0,I,E,u,t,n,C,f,o,Z);break e}v2(b2,1011,0),l[r+312|0]=3}B=k+49152|0,k=y+S|0,n=D+z|0,f=A,w=w>>2;e:{if((w|0)<=0||(e=h>>2,(e|0)<=0))break e;for(_=n>>2,n=k>>2,v=i[r+192>>2],h=h&4,C=e&2147483646,A=0,E=(e|0)==1;;){if(o=m(v,A+_|0),e=0,t=0,!E)for(;u=Q[f+4>>1]|Q[f+6>>1]<<16,z=m(o,12),y=m(n,12),k=z+((y+i[r+180>>2]|0)+m(e,12)|0)|0,S=Q[f>>1]|Q[f+2>>1]<<16,X[k>>1]=S,X[k+2>>1]=S>>>16,X[k+4>>1]=u,X[k+6>>1]=u>>>16,u=Q[f+8>>1]|Q[f+10>>1]<<16,X[k+8>>1]=u,X[k+10>>1]=u>>>16,u=Q[f+4>>1]|Q[f+6>>1]<<16,k=z+((y+i[r+180>>2]|0)+m(e|1,12)|0)|0,y=Q[f>>1]|Q[f+2>>1]<<16,X[k>>1]=y,X[k+2>>1]=y>>>16,X[k+4>>1]=u,X[k+6>>1]=u>>>16,u=Q[f+8>>1]|Q[f+10>>1]<<16,X[k+8>>1]=u,X[k+10>>1]=u>>>16,e=e+2|0,t=t+2|0,(C|0)!=(t|0););if(h&&(k=Q[f+4>>1]|Q[f+6>>1]<<16,e=((i[r+180>>2]+m(n,12)|0)+m(e,12)|0)+m(o,12)|0,t=Q[f>>1]|Q[f+2>>1]<<16,X[e>>1]=t,X[e+2>>1]=t>>>16,X[e+4>>1]=k,X[e+6>>1]=k>>>16,k=Q[f+8>>1]|Q[f+10>>1]<<16,X[e+8>>1]=k,X[e+10>>1]=k>>>16),A=A+1|0,(w|0)==(A|0))break}}B=N1+16|0;return}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function w8(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0;u=B-208|0,B=u;i:{r:{e:{A:{f:{if(t=i[e+112>>2],!t)break f;for(n=e+112|0,Z=n,k=t;o=k0[k+16>>2]>>0,Z=o?Z:k,k=i[(o<<2)+k>>2],!!k;);if((n|0)==(Z|0)|k0[Z+16>>2]>r>>>0)break f;for(k=n;Z=k0[t+16>>2]>>0,k=Z?k:t,t=i[(Z<<2)+t>>2],!!t;);if(!((k|0)==(n|0)|k0[k+16>>2]>r>>>0)&&(n=i[k+20>>2],J=i[k+24>>2],J&&(i[J+4>>2]=i[J+4>>2]+1),n))break A;if(l[u+20|0]=0,l[u+31|0]=0,r0(f,5,2e3,u+20|0),l[u+31|0]>=0)break e;G(i[u+20>>2]);break e}if(l[u+20|0]=0,l[u+31|0]=0,r0(f,5,2e3,u+20|0),l[u+31|0]>=0)break r;G(i[u+20>>2]);break r}A:{if(l[n+75|0]>=0){k=n- -64|0,i[u+200>>2]=i[k+8>>2],t=i[k+4>>2],i[u+192>>2]=i[k>>2],i[u+196>>2]=t;break A}_0(u+192|0,i[n+64>>2],i[n+68>>2])}A:{if(l[n+99|0]>=0){i[u+184>>2]=i[n+96>>2],k=i[n+92>>2],i[u+176>>2]=i[n+88>>2],i[u+180>>2]=k;break A}_0(u+176|0,i[n+88>>2],i[n+92>>2])}k=i[e+60>>2],i[u+172>>2]=0,i[u+164>>2]=0,i[u+168>>2]=0;A:{f:{Z=i[k+56>>2],o=i[k+60>>2];k:{if((Z|0)==(o|0))break k;if(t=o-Z|0,(t|0)<0)break i;for(k=U(t),i[u+168>>2]=k,i[u+164>>2]=k,i[u+172>>2]=k+t;t=i[Z+4>>2],i[k>>2]=i[Z>>2],i[k+4>>2]=t,t=i[Z+12>>2],i[k+8>>2]=i[Z+8>>2],i[k+12>>2]=t,i[k+24>>2]=0,i[k+16>>2]=0,i[k+20>>2]=0,t=i[Z+16>>2],C=i[Z+20>>2],br(k+16|0,t,C,(C-t|0)/40|0),t=k,k=k+32|0,Z=Z+32|0,(o|0)!=(Z|0););if(i[u+168>>2]=k,Z=i[u+164>>2],(Z|0)==(k|0))break k;for(;;){if(i[Z>>2]==(r|0))break f;if(k=(t|0)!=(Z|0),Z=Z+32|0,!k)break}}i[u+28>>2]=54496,i[u+84>>2]=54516,e=i[13633],i[u+20>>2]=e,A=i[e-12>>2],e=u+20|0,i[A+e>>2]=i[13634],i[u+24>>2]=0,A=e+i[i[u+20>>2]-12>>2]|0,k=u+32|0,b0(A,k),i[A+72>>2]=0,i[A+76>>2]=-1,A=i[13635],i[u+28>>2]=A,t=i[A-12>>2],A=u+28|0,i[t+A>>2]=i[13636],t=i[13632],i[u+20>>2]=t,i[e+i[t-12>>2]>>2]=i[13637],i[u+84>>2]=54516,i[u+20>>2]=54476,i[u+28>>2]=54496,e=$0(k),i[e>>2]=53552,i[u+72>>2]=0,i[u+76>>2]=0,i[u+64>>2]=0,i[u+68>>2]=0,i[u+80>>2]=24,x(L0(x(A,19307,13),r),14568,23),r=u+8|0,i2(r,e),r0(f,2,117,r),l[u+19|0]<0&&G(i[u+8>>2]),f=i[13631],i[u+20>>2]=f,i[i[f-12>>2]+(u+20|0)>>2]=i[13639],i[u+28>>2]=i[13640],i[e>>2]=53552,l[u+75|0]<0&&G(i[u+64>>2]),K0(e),T0(u+84|0);break A}t=l[u+203|0],k=(t|0)<0;f:{if(((k?i[u+196>>2]:t)|0)!=4)break f;if(k=k?i[u+192>>2]:u+192|0,(s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))==828601960){o=f,f=0,p=B-48|0,B=p,i[p+44>>2]=0,i[p+36>>2]=0,i[p+40>>2]=0,C=e,ii(p+16|0,i[e+44>>2],r,e+52|0,p+36|0);k:{if(i[p+16>>2]){f=i[p+20>>2],i[o>>2]=i[p+16>>2],i[o+4>>2]=f,i[o+16>>2]=i[p+32>>2],f=i[p+28>>2],i[o+8>>2]=i[p+24>>2],i[o+12>>2]=f,i[p+32>>2]=0,i[p+24>>2]=0,i[p+28>>2]=0;break k}n:{t:{if(n=i[p+36>>2],t=i[p+40>>2],(n|0)!=(t|0))for(;;){if(r=i[n>>2],i[r+16>>2]==1752589123){e=0,k=N0(r,68572,74292);o:{if(!k||(r=i[n+4>>2],!r))break o;i[r+4>>2]=i[r+4>>2]+1,e=r}o:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break o;V[i[i[f>>2]+8>>2]](f),g(f)}if(k)break t;f=e}if(n=n+8|0,(t|0)==(n|0))break}if(l[p+4|0]=0,l[p+15|0]=0,r0(o,2,106,p+4|0),l[p+15|0]>=0)break n;G(i[p+4>>2]);break n}if(n=A,_=i[k+84>>2],y=i[k+88>>2],(_|0)!=(y|0))for(;;){t:{if(v=i[_+4>>2],D=i[_+8>>2],(v|0)==(D|0))break t;for(;;){o:{f=i[v+4>>2]-i[v>>2]>>>24|0,t=i[n+4>>2],A=i[n+8>>2];u:{if(t>>>0>>0){l[t|0]=f,k=t+1|0;break u}if(w=i[n>>2],h=t-w|0,r=h+1|0,(r|0)<0)break o;A=A-w|0,k=A<<1,k=A>>>0>=1073741823?2147483647:r>>>0>>0?k:r,k?r=U(k):r=0,A=h+r|0,l[A|0]=f,I=r+k|0,k=A+1|0;l:{if((t|0)==(w|0)){r=A;break l}if(W=0,f=t,h=h&3,h)for(;A=A-1|0,f=f-1|0,l[A|0]=s[f|0],W=W+1|0,(h|0)!=(W|0););if(w-t>>>0<=4294967292)for(;l[A-1|0]=s[f-1|0],l[A-2|0]=s[f-2|0],l[A-3|0]=s[f-3|0],A=A-4|0,f=f-4|0,l[A|0]=s[f|0],(f|0)!=(w|0););w=i[n>>2]}if(i[n+8>>2]=I,i[n+4>>2]=k,i[n>>2]=r,!w)break u;G(w)}i[n+4>>2]=k,f=i[v+4>>2]-i[v>>2]>>>16|0,A=i[n+8>>2];u:{if(A>>>0>k>>>0){l[k|0]=f,t=k+1|0;break u}if(w=i[n>>2],h=k-w|0,r=h+1|0,(r|0)<0)break o;A=A-w|0,t=A<<1,t=A>>>0>=1073741823?2147483647:r>>>0>>0?t:r,t?r=U(t):r=0,A=h+r|0,l[A|0]=f,I=r+t|0,t=A+1|0;l:{if((k|0)==(w|0)){r=A;break l}if(W=0,f=k,h=h&3,h)for(;A=A-1|0,f=f-1|0,l[A|0]=s[f|0],W=W+1|0,(h|0)!=(W|0););if(w-k>>>0<=4294967292)for(;l[A-1|0]=s[f-1|0],l[A-2|0]=s[f-2|0],l[A-3|0]=s[f-3|0],A=A-4|0,f=f-4|0,l[A|0]=s[f|0],(f|0)!=(w|0););w=i[n>>2]}if(i[n+8>>2]=I,i[n+4>>2]=t,i[n>>2]=r,!w)break u;G(w)}i[n+4>>2]=t,f=i[v+4>>2]-i[v>>2]>>>8|0,A=i[n+8>>2];u:{if(A>>>0>t>>>0){l[t|0]=f,k=t+1|0;break u}if(w=i[n>>2],h=t-w|0,r=h+1|0,(r|0)<0)break o;A=A-w|0,k=A<<1,k=A>>>0>=1073741823?2147483647:r>>>0>>0?k:r,k?r=U(k):r=0,A=h+r|0,l[A|0]=f,I=r+k|0,k=A+1|0;l:{if((t|0)==(w|0)){r=A;break l}if(W=0,f=t,h=h&3,h)for(;A=A-1|0,f=f-1|0,l[A|0]=s[f|0],W=W+1|0,(h|0)!=(W|0););if(w-t>>>0<=4294967292)for(;l[A-1|0]=s[f-1|0],l[A-2|0]=s[f-2|0],l[A-3|0]=s[f-3|0],A=A-4|0,f=f-4|0,l[A|0]=s[f|0],(f|0)!=(w|0););w=i[n>>2]}if(i[n+8>>2]=I,i[n+4>>2]=k,i[n>>2]=r,!w)break u;G(w)}i[n+4>>2]=k,f=i[v+4>>2]-i[v>>2]|0,A=i[n+8>>2];u:{if(A>>>0>k>>>0){l[k|0]=f,t=k+1|0;break u}if(w=i[n>>2],h=k-w|0,r=h+1|0,(r|0)<0)break o;A=A-w|0,t=A<<1,t=A>>>0>=1073741823?2147483647:r>>>0>>0?t:r,t?r=U(t):r=0,A=h+r|0,l[A|0]=f,I=r+t|0,t=A+1|0;l:{if((k|0)==(w|0)){r=A;break l}if(W=0,f=k,h=h&3,h)for(;A=A-1|0,f=f-1|0,l[A|0]=s[f|0],W=W+1|0,(h|0)!=(W|0););if(w-k>>>0<=4294967292)for(;l[A-1|0]=s[f-1|0],l[A-2|0]=s[f-2|0],l[A-3|0]=s[f-3|0],A=A-4|0,f=f-4|0,l[A|0]=s[f|0],(f|0)!=(w|0););w=i[n>>2]}if(i[n+8>>2]=I,i[n+4>>2]=t,i[n>>2]=r,!w)break u;G(w)}i[n+4>>2]=t,r=i[v+4>>2],h=i[v>>2],f=r-h|0;u:{if((f|0)<=0)break u;if(I=i[n+8>>2],(f|0)<=(I-t|0)){(r|0)!=(h|0)&&F2(t,h,f),i[n+4>>2]=f+t;break u}if(r=i[n>>2],w=t-r|0,A=w+f|0,(A|0)<0)break o;W=0,k=0,I=I-r|0,E=I<<1,A=I>>>0>=1073741823?2147483647:A>>>0>>0?E:A,A&&(k=U(A)),I=A+k|0,R=f,A=k+w|0,f=l0(A,h,f),h=R+f|0;l:{if((r|0)==(t|0)){k=f;break l}if(f=t,w=w&3,w)for(;A=A-1|0,f=f-1|0,l[A|0]=s[f|0],W=W+1|0,(w|0)!=(W|0););if(r-t>>>0<=4294967292)for(;l[A-1|0]=s[f-1|0],l[A-2|0]=s[f-2|0],l[A-3|0]=s[f-3|0],A=A-4|0,f=f-4|0,l[A|0]=s[f|0],(f|0)!=(r|0););if(f=i[n+4>>2],W=f-t|0,(f|0)==(t|0))break l;F2(h,t,W)}if(i[n+8>>2]=I,i[n+4>>2]=h+W,f=i[n>>2],i[n>>2]=k,!f)break u;G(f)}if(v=v+12|0,(D|0)!=(v|0))continue;break t}break}y0(),P()}if(_=_+16|0,(y|0)==(_|0))break}R8(o,Z,C,C+68|0,n),f=e}if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break k;V[i[i[f>>2]+8>>2]](f),g(f)}if(l[p+35|0]<0&&G(i[p+24>>2]),e=i[p+36>>2],e){if(f=e,n=i[p+40>>2],(f|0)!=(n|0)){for(;;){f=i[n-4>>2];k:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break k;V[i[i[f>>2]+8>>2]](f),g(f)}if(n=n-8|0,(e|0)==(n|0))break}f=i[p+36>>2]}i[p+40>>2]=e,G(f)}B=p+48|0;break A}if((s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))==828601974){o=f,f=0,w=B-48|0,B=w,i[w+44>>2]=0,i[w+36>>2]=0,i[w+40>>2]=0,C=e,ii(w+16|0,i[e+44>>2],r,e+52|0,w+36|0);k:{if(i[w+16>>2]){f=i[w+20>>2],i[o>>2]=i[w+16>>2],i[o+4>>2]=f,i[o+16>>2]=i[w+32>>2],f=i[w+28>>2],i[o+8>>2]=i[w+24>>2],i[o+12>>2]=f,i[w+32>>2]=0,i[w+24>>2]=0,i[w+28>>2]=0;break k}n:{t:{if(n=i[w+36>>2],t=i[w+40>>2],(n|0)!=(t|0))for(;;){if(r=i[n>>2],i[r+16>>2]==1987470147){e=0,k=N0(r,68572,74976);o:{if(!k||(r=i[n+4>>2],!r))break o;i[r+4>>2]=i[r+4>>2]+1,e=r}o:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break o;V[i[i[f>>2]+8>>2]](f),g(f)}if(k)break t;f=e}if(n=n+8|0,(t|0)==(n|0))break}if(l[w+4|0]=0,l[w+15|0]=0,r0(o,2,141,w+4|0),l[w+15|0]>=0)break n;G(i[w+4>>2]);break n}if(n=A,p=i[k+128>>2],D=i[k+132>>2],(p|0)!=(D|0))for(;;){t:{if(W=i[p+4>>2],I=i[p+8>>2],(W|0)==(I|0))break t;for(;;){o:{y=i[W>>2],E=i[W+4>>2],t=i[n+4>>2],r=i[n+8>>2];u:{if(t>>>0>>0){l[t|0]=0,k=t+1|0;break u}if(_=i[n>>2],h=t-_|0,f=h+1|0,(f|0)<0)break o;r=r-_|0,A=r<<1,f=r>>>0>=1073741823?2147483647:f>>>0>>0?A:f,f?r=U(f):r=0,A=h+r|0,l[A|0]=0,R=f+r|0,k=A+1|0;l:{if((t|0)==(_|0)){r=A;break l}if(v=0,f=t,h=h&3,h)for(;A=A-1|0,f=f-1|0,l[A|0]=s[f|0],v=v+1|0,(h|0)!=(v|0););if(_-t>>>0<=4294967292)for(;l[A-1|0]=s[f-1|0],l[A-2|0]=s[f-2|0],l[A-3|0]=s[f-3|0],A=A-4|0,f=f-4|0,l[A|0]=s[f|0],(f|0)!=(_|0););_=i[n>>2]}if(i[n+8>>2]=R,i[n+4>>2]=k,i[n>>2]=r,!_)break u;G(_)}i[n+4>>2]=k,r=i[n+8>>2];u:{if(r>>>0>k>>>0){l[k|0]=0,t=k+1|0;break u}if(_=i[n>>2],h=k-_|0,f=h+1|0,(f|0)<0)break o;r=r-_|0,A=r<<1,f=r>>>0>=1073741823?2147483647:f>>>0>>0?A:f,f?r=U(f):r=0,A=h+r|0,l[A|0]=0,R=f+r|0,t=A+1|0;l:{if((k|0)==(_|0)){r=A;break l}if(v=0,f=k,h=h&3,h)for(;A=A-1|0,f=f-1|0,l[A|0]=s[f|0],v=v+1|0,(h|0)!=(v|0););if(_-k>>>0<=4294967292)for(;l[A-1|0]=s[f-1|0],l[A-2|0]=s[f-2|0],l[A-3|0]=s[f-3|0],A=A-4|0,f=f-4|0,l[A|0]=s[f|0],(f|0)!=(_|0););_=i[n>>2]}if(i[n+8>>2]=R,i[n+4>>2]=t,i[n>>2]=r,!_)break u;G(_)}i[n+4>>2]=t,y=E-y|0,f=y>>>8|0,A=i[n+8>>2];u:{if(A>>>0>t>>>0){l[t|0]=f,k=t+1|0;break u}if(_=i[n>>2],h=t-_|0,r=h+1|0,(r|0)<0)break o;A=A-_|0,k=A<<1,k=A>>>0>=1073741823?2147483647:r>>>0>>0?k:r,k?r=U(k):r=0,A=h+r|0,l[A|0]=f,E=r+k|0,k=A+1|0;l:{if((t|0)==(_|0)){r=A;break l}if(v=0,f=t,h=h&3,h)for(;A=A-1|0,f=f-1|0,l[A|0]=s[f|0],v=v+1|0,(h|0)!=(v|0););if(_-t>>>0<=4294967292)for(;l[A-1|0]=s[f-1|0],l[A-2|0]=s[f-2|0],l[A-3|0]=s[f-3|0],A=A-4|0,f=f-4|0,l[A|0]=s[f|0],(f|0)!=(_|0););_=i[n>>2]}if(i[n+8>>2]=E,i[n+4>>2]=k,i[n>>2]=r,!_)break u;G(_)}i[n+4>>2]=k,r=i[n+8>>2];u:{if(r>>>0>k>>>0){l[k|0]=y,t=k+1|0;break u}if(_=i[n>>2],h=k-_|0,f=h+1|0,(f|0)<0)break o;r=r-_|0,A=r<<1,f=r>>>0>=1073741823?2147483647:f>>>0>>0?A:f,f?r=U(f):r=0,A=h+r|0,l[A|0]=y,y=f+r|0,t=A+1|0;l:{if((k|0)==(_|0)){r=A;break l}if(v=0,f=k,h=h&3,h)for(;A=A-1|0,f=f-1|0,l[A|0]=s[f|0],v=v+1|0,(h|0)!=(v|0););if(_-k>>>0<=4294967292)for(;l[A-1|0]=s[f-1|0],l[A-2|0]=s[f-2|0],l[A-3|0]=s[f-3|0],A=A-4|0,f=f-4|0,l[A|0]=s[f|0],(f|0)!=(_|0););_=i[n>>2]}if(i[n+8>>2]=y,i[n+4>>2]=t,i[n>>2]=r,!_)break u;G(_)}i[n+4>>2]=t,r=i[W+4>>2],h=i[W>>2],f=r-h|0;u:{if((f|0)<=0)break u;if(v=i[n+8>>2],(f|0)<=(v-t|0)){(r|0)!=(h|0)&&F2(t,h,f),i[n+4>>2]=f+t;break u}if(r=i[n>>2],y=t-r|0,A=y+f|0,(A|0)<0)break o;_=0,k=0,v=v-r|0,E=v<<1,A=v>>>0>=1073741823?2147483647:A>>>0>>0?E:A,A&&(k=U(A)),E=A+k|0,R=f,A=k+y|0,f=l0(A,h,f),h=R+f|0;l:{if((r|0)==(t|0)){k=f;break l}if(v=0,f=t,_=y&3,_)for(;A=A-1|0,f=f-1|0,l[A|0]=s[f|0],v=v+1|0,(_|0)!=(v|0););if(r-t>>>0<=4294967292)for(;l[A-1|0]=s[f-1|0],l[A-2|0]=s[f-2|0],l[A-3|0]=s[f-3|0],A=A-4|0,f=f-4|0,l[A|0]=s[f|0],(f|0)!=(r|0););if(f=i[n+4>>2],_=f-t|0,(f|0)==(t|0))break l;F2(h,t,_)}if(i[n+8>>2]=E,i[n+4>>2]=h+_,f=i[n>>2],i[n>>2]=k,!f)break u;G(f)}if(W=W+12|0,(I|0)!=(W|0))continue;break t}break}y0(),P()}if(p=p+16|0,(D|0)==(p|0))break}R8(o,Z,C,C+68|0,n),f=e}if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break k;V[i[i[f>>2]+8>>2]](f),g(f)}if(l[w+35|0]<0&&G(i[w+24>>2]),e=i[w+36>>2],e){if(f=e,n=i[w+40>>2],(f|0)!=(n|0)){for(;;){f=i[n-4>>2];k:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break k;V[i[i[f>>2]+8>>2]](f),g(f)}if(n=n-8|0,(e|0)==(n|0))break}f=i[w+36>>2]}i[w+40>>2]=e,G(f)}B=w+48|0;break A}if((s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))!=825259617)break f;k=f,f=0,o=B-48|0,B=o,i[o+44>>2]=0,i[o+36>>2]=0,i[o+40>>2]=0,t=e,ii(o+16|0,i[t+44>>2],r,t+52|0,o+36|0);k:{if(i[o+16>>2]){f=i[o+20>>2],i[k>>2]=i[o+16>>2],i[k+4>>2]=f,i[k+16>>2]=i[o+32>>2],f=i[o+28>>2],i[k+8>>2]=i[o+24>>2],i[k+12>>2]=f,i[o+32>>2]=0,i[o+24>>2]=0,i[o+28>>2]=0;break k}n:{t:{if(n=i[o+36>>2],h=i[o+40>>2],(n|0)!=(h|0))for(;;){if(r=i[n>>2],i[r+16>>2]==1635135811){e=0,C=N0(r,68572,74408);o:{if(!C||(r=i[n+4>>2],!r))break o;i[r+4>>2]=i[r+4>>2]+1,e=r}o:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break o;V[i[i[f>>2]+8>>2]](f),g(f)}if(C)break t;f=e}if(n=n+8|0,(h|0)==(n|0))break}if(l[o+4|0]=0,l[o+15|0]=0,r0(k,2,131,o+4|0),l[o+15|0]>=0)break n;G(i[o+4>>2]);break n}(C+60|0)!=(A|0)&&(f=i[C+60>>2],r=i[C+64>>2],W8(A,f,r,r-f|0)),R8(k,Z,t,t+68|0,A),f=e}if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break k;V[i[i[f>>2]+8>>2]](f),g(f)}if(l[o+35|0]<0&&G(i[o+24>>2]),e=i[o+36>>2],e){if(f=e,n=i[o+40>>2],(f|0)!=(n|0)){for(;;){f=i[n-4>>2];k:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break k;V[i[i[f>>2]+8>>2]](f),g(f)}if(n=n-8|0,(e|0)==(n|0))break}f=i[o+36>>2]}i[o+40>>2]=e,G(f)}B=o+48|0;break A}f:{if(k=u+192|0,!E4(k,8710)&&(!E4(k,9980)||(k=u+20|0,cr(k,e,r),k=E4(k,8704),l[u+31|0]<0&&G(i[u+20>>2]),!k)))break f;k=f,f=0,o=B-32|0,B=o,i[o+28>>2]=0,i[o+20>>2]=0,i[o+24>>2]=0,t=e,ii(o,i[t+44>>2],r,t+52|0,o+20|0);k:{if(i[o>>2]){f=i[o+4>>2],i[k>>2]=i[o>>2],i[k+4>>2]=f,i[k+16>>2]=i[o+16>>2],f=i[o+12>>2],i[k+8>>2]=i[o+8>>2],i[k+12>>2]=f,i[o+16>>2]=0,i[o+8>>2]=0,i[o+12>>2]=0;break k}if(n=i[o+20>>2],h=i[o+24>>2],(n|0)!=(h|0)){n:{for(;;){t:{if(r=i[n>>2],i[r+16>>2]==1785751363){e=0,C=N0(r,68572,74588);o:{if(!C||(r=i[n+4>>2],!r))break o;i[r+4>>2]=i[r+4>>2]+1,e=r}o:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break o;V[i[i[f>>2]+8>>2]](f),g(f)}if(C)break t;f=e}if(n=n+8|0,(h|0)!=(n|0))continue;break n}break}(C+48|0)!=(A|0)&&(f=i[C+48>>2],r=i[C+52>>2],W8(A,f,r,r-f|0)),f=e}if(R8(k,Z,t,t+68|0,A),!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break k;V[i[i[f>>2]+8>>2]](f),g(f);break k}R8(k,Z,t,t+68|0,A)}if(l[o+19|0]<0&&G(i[o+8>>2]),e=i[o+20>>2],e){if(f=e,n=i[o+24>>2],(f|0)!=(n|0)){for(;;){f=i[n-4>>2];k:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break k;V[i[i[f>>2]+8>>2]](f),g(f)}if(n=n-8|0,(e|0)==(n|0))break}f=i[o+20>>2]}i[o+24>>2]=e,G(f)}B=o+32|0;break A}if(E4(u+192|0,16929)){k=f,f=0,o=B-32|0,B=o,i[o+28>>2]=0,i[o+20>>2]=0,i[o+24>>2]=0,t=e,ii(o,i[t+44>>2],r,t+52|0,o+20|0);f:{if(i[o>>2]){f=i[o+4>>2],i[k>>2]=i[o>>2],i[k+4>>2]=f,i[k+16>>2]=i[o+16>>2],f=i[o+12>>2],i[k+8>>2]=i[o+8>>2],i[k+12>>2]=f,i[o+16>>2]=0,i[o+8>>2]=0,i[o+12>>2]=0;break f}if(n=i[o+20>>2],C=i[o+24>>2],(n|0)!=(C|0)){for(;;){k:{r=i[n>>2];n:{if(i[r+16>>2]!=1781689160){e=f;break n}e=0,h=N0(r,68572,74888);t:{if(!h||(r=i[n+4>>2],!r))break t;i[r+4>>2]=i[r+4>>2]+1,e=r}t:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break t;V[i[i[f>>2]+8>>2]](f),g(f)}if(h)break k}if(f=e,n=n+8|0,(C|0)!=(n|0))continue}break}if(R8(k,Z,t,t+68|0,A),!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break f;V[i[i[e>>2]+8>>2]](e),g(e);break f}R8(k,Z,t,t+68|0,A)}if(l[o+19|0]<0&&G(i[o+8>>2]),e=i[o+20>>2],e){if(f=e,n=i[o+24>>2],(f|0)!=(n|0)){for(;;){f=i[n-4>>2];f:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break f;V[i[i[f>>2]+8>>2]](f),g(f)}if(n=n-8|0,(e|0)==(n|0))break}f=i[o+20>>2]}i[o+24>>2]=e,G(f)}B=o+32|0;break A}i[u+20>>2]=0,i[u+24>>2]=0,i[u+36>>2]=0,i[u+28>>2]=0,i[u+32>>2]=0;f:{k:{n:{if(!E4(u+192|0,9980))break n;t:{if(l[n+111|0]>=0){i[u+16>>2]=i[n+108>>2],r=i[n+104>>2],i[u+8>>2]=i[n+100>>2],i[u+12>>2]=r;break t}_0(u+8|0,i[n+100>>2],i[n+104>>2])}if(r=u+8|0,E4(r,14086)||E4(r,9341)||E4(r,5949))break k;if(l[u+19|0]>=0)break n;G(i[u+8>>2])}R8(f,Z,e,e+68|0,A);break f}if(r0(f,4,3005,u+8|0),l[u+19|0]>=0)break f;G(i[u+8>>2])}if(l[u+39|0]>=0)break A;G(i[u+28>>2])}if(e=i[u+164>>2],e){if(r=i[u+168>>2],(e|0)!=(r|0))for(;;){if(t=r-16|0,f=i[t>>2],f){if(n=r-12|0,k=i[n>>2],Z=f,(k|0)!=(f|0)){for(;A=i[k-16>>2],A&&(i[k-12>>2]=A,G(A)),k=k-40|0,(f|0)!=(k|0););Z=i[t>>2]}i[n>>2]=f,G(Z)}if(r=r-32|0,(e|0)==(r|0))break}G(e)}if(l[u+187|0]<0&&G(i[u+176>>2]),l[u+203|0]>=0)break e;G(i[u+192>>2])}if(!J||(f=i[J+4>>2],i[J+4>>2]=f-1,f))break r;V[i[i[J>>2]+8>>2]](J),g(J)}B=u+208|0;return}y0(),P()}function tk(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0;C=B-48|0,B=C;i:{r:{if(r>>>0>2)break r;for(r=r<<2,a=i[r+56188>>2],S=i[r+56176>>2];;){r=i[e+4>>2];e:{if((r|0)!=i[e+104>>2]){i[e+4>>2]=r+1,r=s[r|0];break e}r=I2(e)}if(!((r|0)==32|r-9>>>0<5))break}I=1;e:{A:switch(r-43|0){case 0:case 2:break A;default:break e}if(I=(r|0)==45?-1:1,r=i[e+4>>2],(r|0)!=i[e+104>>2]){i[e+4>>2]=r+1,r=s[r|0];break e}r=I2(e)}e:{A:{if((r&-33)==73)for(;;){if((n|0)==7)break A;r=i[e+4>>2];f:{if((r|0)!=i[e+104>>2]){i[e+4>>2]=r+1,r=s[r|0];break f}r=I2(e)}if(k=n+1331|0,n=n+1|0,l[k|0]!=(r|32))break}if((n|0)!=3){if(k=(n|0)==8,k)break A;if(!A|n>>>0<4)break e;if(k)break A}if(r=i[e+116>>2],(r|0)>=0|(r|0)>0&&(i[e+4>>2]=i[e+4>>2]-1),!A|n>>>0<4)break A;for(r=(r|0)<0;r||(i[e+4>>2]=i[e+4>>2]-1),n=n-1|0,n>>>0>3;);}o=B-16|0,B=o,p=(s1(Y(Y(I|0)*Y(1/0))),j0(2)),e=p&8388607,A=p>>>23|0,r=A&255;A:{if(r){if((r|0)!=255){r=e,e=e>>>7|0,t=r<<25,u=e,A=(A&255)+16256|0;break A}r=e,e=e>>>7|0,t=r<<25,u=e,A=32767;break A}if(A=0,!e)break A;r=e,e=$2(e),L1(o,r,0,0,0,e+81|0),t=i[o+8>>2],u=i[o+12>>2]^65536,h=i[o>>2],w=i[o+4>>2],A=16265-e|0}i[C>>2]=h,i[C+4>>2]=w,r=C,i[r+8>>2]=t,i[r+12>>2]=u|(p&-2147483648|A<<16),B=o+16|0,t=i[r+8>>2],u=i[r+12>>2],h=i[r>>2],w=i[r+4>>2];break i}e:{A:{f:{k:{n:{if(n||(n=0,(r&-33)!=78))break n;for(;;){if((n|0)==2)break k;r=i[e+4>>2];t:{if((r|0)!=i[e+104>>2]){i[e+4>>2]=r+1,r=s[r|0];break t}r=I2(e)}if(k=n+7074|0,n=n+1|0,l[k|0]!=(r|32))break}}switch(n|0){case 0:break e;case 3:break k;default:break f}}k:{r=i[e+4>>2];n:{if((r|0)!=i[e+104>>2]){i[e+4>>2]=r+1,r=s[r|0];break n}r=I2(e)}if((r|0)==40){n=1;break k}if(u=2147450880,i[e+116>>2]<0)break i;i[e+4>>2]=i[e+4>>2]-1;break i}for(;;){k:{r=i[e+4>>2];n:{if((r|0)!=i[e+104>>2]){i[e+4>>2]=r+1,r=s[r|0];break n}r=I2(e)}if(!(r-48>>>0<10|r-65>>>0<26|(r|0)==95)&&r-97>>>0>=26)break k;n=n+1|0;continue}break}if(u=2147450880,(r|0)==41)break i;r=i[e+116>>2],(r|0)>=0|(r|0)>0&&(i[e+4>>2]=i[e+4>>2]-1);k:{if(A){if(n)break k;break i}break A}for(;(r|0)>0|(r|0)>=0&&(i[e+4>>2]=i[e+4>>2]-1),n=n-1|0,!!n;);break i}r=i[e+116>>2],(r|0)>0?r=1:r=(r|0)>=0,r&&(i[e+4>>2]=i[e+4>>2]-1)}i[23944]=28,a4(e,0,0);break r}e:{if((r|0)!=48)break e;n=i[e+4>>2];A:{if((n|0)!=i[e+104>>2]){i[e+4>>2]=n+1,n=s[n|0];break A}n=I2(e)}if((n&-33)==88){k=B-432|0,B=k,r=i[e+4>>2];A:{if((r|0)!=i[e+104>>2]){i[e+4>>2]=r+1,r=s[r|0];break A}r=I2(e)}A:{f:{for(;;){if((r|0)!=48)k:{if((r|0)!=46)break A;if(r=i[e+4>>2],(r|0)==i[e+104>>2])break k;i[e+4>>2]=r+1,r=s[r|0];break f}else{r=i[e+4>>2],(r|0)!=i[e+104>>2]?(y=1,i[e+4>>2]=r+1,r=s[r|0]):(y=1,r=I2(e));continue}break}r=I2(e)}if((r|0)!=48){D=1;break A}for(;;){r=p,p=r-1|0,W=W-!r|0,r=i[e+4>>2];f:{if((r|0)!=i[e+104>>2]){i[e+4>>2]=r+1,r=s[r|0];break f}r=I2(e)}if((r|0)!=48)break}D=1,y=1}for(w=1073676288;;){A:{n=r;f:{k:{if(q=r-48|0,q>>>0<10)break k;if(A0=(r|0)!=46,n=r|32,A0&n-97>>>0>5)break A;if(A0)break k;if(D)break A;D=1,p=t,W=u;break f}r=(r|0)>57?n-87|0:q;k:{if((u|0)<=0&t>>>0<=7|(u|0)<0){_=r+(_<<4)|0;break k}if(!u&t>>>0<=28){W4(k+48|0,r),d2(k+32|0,z,H,h,w,0,0,0,1073414144),z=i[k+32>>2],H=i[k+36>>2],h=i[k+40>>2],w=i[k+44>>2],d2(k+16|0,i[k+48>>2],i[k+52>>2],i[k+56>>2],i[k+60>>2],z,H,h,w),s4(k,i[k+16>>2],i[k+20>>2],i[k+24>>2],i[k+28>>2],o,v,J,R),J=i[k+8>>2],R=i[k+12>>2],o=i[k>>2],v=i[k+4>>2];break k}if(Z|!r)break k;d2(k+80|0,z,H,h,w,0,0,0,1073610752),s4(k- -64|0,i[k+80>>2],i[k+84>>2],i[k+88>>2],i[k+92>>2],o,v,J,R),J=i[k+72>>2],R=i[k+76>>2],Z=1,o=i[k+64>>2],v=i[k+68>>2]}t=t+1|0,u=t?u:u+1|0,y=1}r=i[e+4>>2],(r|0)!=i[e+104>>2]?(i[e+4>>2]=r+1,r=s[r|0]):r=I2(e);continue}break}A:{if(!y){r=i[e+116>>2],(r|0)>0?r=1:r=(r|0)>=0;f:{k:{if(r){if(r=i[e+4>>2],i[e+4>>2]=r-1,!A)break k;if(i[e+4>>2]=r-2,!D)break f;i[e+4>>2]=r-3;break f}if(A)break f}a4(e,0,0)}U2(0),e=j0(1)|0,A=j0(0)|0,U2(+(I|0)),r=j0(1)|0,j0(0)|0,N2(0,A|0),N2(1,e&2147483647|r&-2147483648),b4(k+96|0,+m1()),o=i[k+96>>2],v=i[k+100>>2],r=i[k+108>>2],e=i[k+104>>2];break A}if((u|0)<=0&t>>>0<=7|(u|0)<0)for(h=t,w=u;_=_<<4,h=h+1|0,w=h?w:w+1|0,!!((h|0)!=8|w););f:{k:{n:{if((r&-33)==80){if(h=ln(e,A),r=w0,w=r,h|(r|0)!=-2147483648)break f;if(A){if(r=i[e+116>>2],(r|0)>0?r=1:r=(r|0)>=0,r)break n;break k}o=0,v=0,a4(e,0,0),r=0,e=0;break A}if(h=0,w=0,i[e+116>>2]<0)break f}i[e+4>>2]=i[e+4>>2]-1}h=0,w=0}if(!_){U2(0),e=j0(1)|0,A=j0(0)|0,U2(+(I|0)),r=j0(1)|0,j0(0)|0,N2(0,A|0),N2(1,e&2147483647|r&-2147483648),b4(k+112|0,+m1()),o=i[k+112>>2],v=i[k+116>>2],r=i[k+124>>2],e=i[k+120>>2];break A}if(e=D?p:t,A=h+(e<<2)|0,e=w+((D?W:u)<<2|e>>>30)|0,t=A-32|0,r=0-a|0,u=(A>>>0>>0?e+1|0:e)-(A>>>0<32)|0,e=u,(e|0)>0?e=1:e=r>>>0>>0&(e|0)>=0,e){i[23944]=68,W4(k+160|0,I),d2(k+144|0,i[k+160>>2],i[k+164>>2],i[k+168>>2],i[k+172>>2],-1,-1,-1,2147418111),d2(k+128|0,i[k+144>>2],i[k+148>>2],i[k+152>>2],i[k+156>>2],-1,-1,-1,2147418111),o=i[k+128>>2],v=i[k+132>>2],r=i[k+140>>2],e=i[k+136>>2];break A}if(e=a-226|0,r=e>>31,(u|0)>=(r|0)&e>>>0<=t>>>0|(r|0)<(u|0)){if((_|0)>=0)for(;s4(k+416|0,o,v,J,R,0,0,0,-1073807360),e=H7(o,v,J,R,1073610752),e=(e|0)>=0,s4(k+400|0,o,v,J,R,e?i[k+416>>2]:o,e?i[k+420>>2]:v,e?i[k+424>>2]:J,e?i[k+428>>2]:R),r=_<<1,_=r|e,e=t,t=e-1|0,u=u-!e|0,J=i[k+408>>2],R=i[k+412>>2],o=i[k+400>>2],v=i[k+404>>2],(r|0)>=0;);e=u-((a>>31)+(t>>>0>>0)|0)|0,r=(t-a|0)+32|0,e=r>>>0<32?e+1|0:e,r=r>>>0>>0&(e|0)<=0|(e|0)<0?(r|0)>0?r:0:S;f:{if((r|0)>=113){W4(k+384|0,I),p=i[k+392>>2],W=i[k+396>>2],z=i[k+384>>2],H=i[k+388>>2],h=0,e=0;break f}b4(k+352|0,M1(1,144-r|0)),W4(k+336|0,I),z=i[k+336>>2],H=i[k+340>>2],p=i[k+344>>2],W=i[k+348>>2],Qt(k+368|0,i[k+352>>2],i[k+356>>2],i[k+360>>2],i[k+364>>2],W),E=i[k+376>>2],d=i[k+380>>2],h=i[k+372>>2],e=i[k+368>>2]}A=!(_&1)&((fi(o,v,J,R,0,0,0,0)|0)!=0&(r|0)<32),Ji(k+320|0,A|_),d2(k+304|0,z,H,p,W,i[k+320>>2],i[k+324>>2],i[k+328>>2],i[k+332>>2]),r=e,s4(k+272|0,i[k+304>>2],i[k+308>>2],i[k+312>>2],i[k+316>>2],e,h,E,d),e=A,d2(k+288|0,z,H,p,W,e?0:o,e?0:v,e?0:J,e?0:R),s4(k+256|0,i[k+288>>2],i[k+292>>2],i[k+296>>2],i[k+300>>2],i[k+272>>2],i[k+276>>2],i[k+280>>2],i[k+284>>2]),C3(k+240|0,i[k+256>>2],i[k+260>>2],i[k+264>>2],i[k+268>>2],r,h,E,d),e=i[k+240>>2],A=i[k+244>>2],r=i[k+248>>2],h=i[k+252>>2],fi(e,A,r,h,0,0,0,0)||(i[23944]=68),$n(k+224|0,e,A,r,h,t),o=i[k+224>>2],v=i[k+228>>2],r=i[k+236>>2],e=i[k+232>>2];break A}i[23944]=68,W4(k+208|0,I),d2(k+192|0,i[k+208>>2],i[k+212>>2],i[k+216>>2],i[k+220>>2],0,0,0,65536),d2(k+176|0,i[k+192>>2],i[k+196>>2],i[k+200>>2],i[k+204>>2],0,0,0,65536),o=i[k+176>>2],v=i[k+180>>2],r=i[k+188>>2],e=i[k+184>>2]}i[C+16>>2]=o,i[C+20>>2]=v,i[C+24>>2]=e,i[C+28>>2]=r,B=k+432|0,t=i[C+24>>2],u=i[C+28>>2],h=i[C+16>>2],w=i[C+20>>2];break i}if(i[e+116>>2]<0)break e;i[e+4>>2]=i[e+4>>2]-1}n=e,o=r,E=A,A=0,k=B-8976|0,B=k,q=0-a|0,d=q-S|0;e:{A:{for(;;){if((o|0)!=48)f:{if((o|0)!=46)break e;if(e=i[n+4>>2],(e|0)==i[n+104>>2])break f;i[n+4>>2]=e+1,o=s[e|0];break A}else{e=i[n+4>>2],(e|0)!=i[n+104>>2]?(i[n+4>>2]=e+1,o=s[e|0]):o=I2(n),A=1;continue}break}o=I2(n)}if((o|0)==48){for(;;){e=t,t=e-1|0,u=u-!e|0,e=i[n+4>>2];A:{if((e|0)!=i[n+104>>2]){i[n+4>>2]=e+1,o=s[e|0];break A}o=I2(n)}if((o|0)!=48)break}A=1}D=1}i[k+784>>2]=0;e:{A:{e=(o|0)==46,r=o-48|0;f:{k:{n:{if(e|r>>>0<=9)for(;;){t:{if(e&1){if(!D){t=h,u=w,D=1;break t}e=!A;break n}if(e=w,h=h+1|0,w=h?e:e+1|0,(_|0)<=2044){y=(o|0)==48?y:h,e=(k+784|0)+(_<<2)|0,Z&&(r=(m(i[e>>2],10)+o|0)-48|0),i[e>>2]=r,A=1,r=Z+1|0,e=(r|0)==9,Z=e?0:r,_=e+_|0;break t}if((o|0)==48)break t;i[k+8960>>2]=i[k+8960>>2]|1,y=18396}e=i[n+4>>2];t:{if((e|0)!=i[n+104>>2]){i[n+4>>2]=e+1,o=s[e|0];break t}o=I2(n)}if(e=(o|0)==46,r=o-48|0,!(e|r>>>0<10))break}if(t=D?t:h,u=D?u:w,!(!A|(o&-33)!=69)){o=ln(n,E),e=w0,v=e;t:{if(o|(e|0)!=-2147483648)break t;if(!E)break f;if(o=0,v=0,i[n+116>>2]<0)break t;i[n+4>>2]=i[n+4>>2]-1}e=u+v|0,t=t+o|0,u=t>>>0>>0?e+1|0:e;break A}if(e=!A,(o|0)<0)break k}if(i[n+116>>2]<0)break k;i[n+4>>2]=i[n+4>>2]-1}if(!e)break A;i[23944]=28}a4(n,0,0),t=0,u=0,r=0,e=0;break e}if(e=i[k+784>>2],!e){U2(0),e=j0(1)|0,A=j0(0)|0,U2(+(I|0)),r=j0(1)|0,j0(0)|0,N2(0,A|0),N2(1,e&2147483647|r&-2147483648),b4(k,+m1()),t=i[k+8>>2],u=i[k+12>>2],r=i[k+4>>2],e=i[k>>2];break e}if(!(h>>>0>9&(w|0)>=0|(w|0)>0|((t|0)!=(h|0)|(u|0)!=(w|0))|(e>>>S|0?(S|0)<=30:0))){W4(k+48|0,I),Ji(k+32|0,e),d2(k+16|0,i[k+48>>2],i[k+52>>2],i[k+56>>2],i[k+60>>2],i[k+32>>2],i[k+36>>2],i[k+40>>2],i[k+44>>2]),t=i[k+24>>2],u=i[k+28>>2],r=i[k+20>>2],e=i[k+16>>2];break e}if(e=q>>>1|0,e>>>0>>0&(u|0)>=0|(u|0)>0){i[23944]=68,W4(k+96|0,I),d2(k+80|0,i[k+96>>2],i[k+100>>2],i[k+104>>2],i[k+108>>2],-1,-1,-1,2147418111),d2(k- -64|0,i[k+80>>2],i[k+84>>2],i[k+88>>2],i[k+92>>2],-1,-1,-1,2147418111),t=i[k+72>>2],u=i[k+76>>2],r=i[k+68>>2],e=i[k+64>>2];break e}if(e=a-226|0,r=t>>>0>>0,e=e>>31,r&(u|0)<=(e|0)|(e|0)>(u|0)){i[23944]=68,W4(k+144|0,I),d2(k+128|0,i[k+144>>2],i[k+148>>2],i[k+152>>2],i[k+156>>2],0,0,0,65536),d2(k+112|0,i[k+128>>2],i[k+132>>2],i[k+136>>2],i[k+140>>2],0,0,0,65536),t=i[k+120>>2],u=i[k+124>>2],r=i[k+116>>2],e=i[k+112>>2];break e}if(Z){if((Z|0)<=8){for(e=(k+784|0)+(_<<2)|0,n=i[e>>2];n=m(n,10),Z=Z+1|0,(Z|0)!=9;);i[e>>2]=n}_=_+1|0}Z=t;A:{if(t>>>0>17&(u|0)>=0|(u|0)>0|(y|0)>=9|(t|0)<(y|0))break A;if(!u&(t|0)==9){W4(k+192|0,I),Ji(k+176|0,i[k+784>>2]),d2(k+160|0,i[k+192>>2],i[k+196>>2],i[k+200>>2],i[k+204>>2],i[k+176>>2],i[k+180>>2],i[k+184>>2],i[k+188>>2]),t=i[k+168>>2],u=i[k+172>>2],r=i[k+164>>2],e=i[k+160>>2];break e}if((u|0)<=0&t>>>0<=8|(u|0)<0){W4(k+272|0,I),Ji(k+256|0,i[k+784>>2]),d2(k+240|0,i[k+272>>2],i[k+276>>2],i[k+280>>2],i[k+284>>2],i[k+256>>2],i[k+260>>2],i[k+264>>2],i[k+268>>2]),W4(k+224|0,i[(0-Z<<2)+56176>>2]),Bk(k+208|0,i[k+240>>2],i[k+244>>2],i[k+248>>2],i[k+252>>2],i[k+224>>2],i[k+228>>2],i[k+232>>2],i[k+236>>2]),t=i[k+216>>2],u=i[k+220>>2],r=i[k+212>>2],e=i[k+208>>2];break e}if(e=(m(Z,-3)+S|0)+27|0,r=i[k+784>>2],r>>>e|0&&(e|0)<=30)break A;W4(k+352|0,I),Ji(k+336|0,r),d2(k+320|0,i[k+352>>2],i[k+356>>2],i[k+360>>2],i[k+364>>2],i[k+336>>2],i[k+340>>2],i[k+344>>2],i[k+348>>2]),W4(k+304|0,i[(Z<<2)+56104>>2]),d2(k+288|0,i[k+320>>2],i[k+324>>2],i[k+328>>2],i[k+332>>2],i[k+304>>2],i[k+308>>2],i[k+312>>2],i[k+316>>2]),t=i[k+296>>2],u=i[k+300>>2],r=i[k+292>>2],e=i[k+288>>2];break e}for(;e=_,_=e-1|0,!i[(k+784|0)+(_<<2)>>2];);y=0,r=(Z|0)%9|0;A:{if(!r){r=0;break A}A=(u|0)<0?r+9|0:r;f:{if(!e){r=0,e=0;break f}for(t=i[(0-A<<2)+56176>>2],u=1e9/(t|0)|0,o=0,n=0,r=0;h=o,w=k+784|0,o=w+(n<<2)|0,_=i[o>>2],E=(_>>>0)/(t>>>0)|0,h=h+E|0,i[o>>2]=h,h=!h&(r|0)==(n|0),r=h?r+1&2047:r,Z=h?Z-9|0:Z,o=m(u,_-m(t,E)|0),n=n+1|0,(n|0)!=(e|0););if(!o)break f;i[w+(e<<2)>>2]=o,e=e+1|0}Z=(Z-A|0)+9|0}for(;;){n=(k+784|0)+(r<<2)|0,E=(Z|0)<36;A:{for(;;){if(!E&((Z|0)!=36|k0[n>>2]>=10384593))break A;for(_=e+2047|0,A=0;h=e,t=A,o=_&2047,_=(k+784|0)+(o<<2)|0,A=i[_>>2],e=A>>>3|0,A=A<<29,t=t+A|0,u=A>>>0>t>>>0?e+1|0:e,!u&t>>>0<1000000001?A=0:(e=t,A=K6(e,u,1e9,0),w=q0(A,w0,1e9,0),t=e-w|0,u=u-(w0+(e>>>0>>0)|0)|0),i[_>>2]=t,e=(r|0)==(o|0)||t|u?h:o,t=h-1&2047,e=(t|0)!=(o|0)?h:e,_=o-1|0,(r|0)!=(o|0););if(y=y-29|0,e=h,!!A)break}r=r-1&2047,(r|0)==(e|0)&&(o=(e+2046&2047)<<2,e=k+784|0,h=o+e|0,i[h>>2]=i[h>>2]|i[e+(t<<2)>>2],e=t),Z=Z+9|0,i[(k+784|0)+(r<<2)>>2]=A;continue}break}A:{f:for(;;){for(t=e+1&2047,u=(k+784|0)+((e-1&2047)<<2)|0;;){h=(Z|0)>45?9:1;k:{for(;;){A=r,n=0;n:{for(;;){t:{if(r=A+n&2047,(r|0)==(e|0)||(r=i[(k+784|0)+(r<<2)>>2],o=i[(n<<2)+56128>>2],r>>>0>>0))break t;if(r>>>0>o>>>0)break n;if(n=n+1|0,(n|0)!=4)continue}break}if((Z|0)!=36)break n;for(t=0,u=0,n=0,h=0,w=0;r=A+n&2047,(r|0)==(e|0)&&(e=e+1&2047,i[((e<<2)+k|0)+780>>2]=0),Ji(k+768|0,i[(k+784|0)+(r<<2)>>2]),d2(k+752|0,t,u,h,w,0,0,1342177280,1075633366),s4(k+736|0,i[k+752>>2],i[k+756>>2],i[k+760>>2],i[k+764>>2],i[k+768>>2],i[k+772>>2],i[k+776>>2],i[k+780>>2]),h=i[k+744>>2],w=i[k+748>>2],t=i[k+736>>2],u=i[k+740>>2],n=n+1|0,(n|0)!=4;);if(W4(k+720|0,I),d2(k+704|0,t,u,h,w,i[k+720>>2],i[k+724>>2],i[k+728>>2],i[k+732>>2]),h=i[k+712>>2],w=i[k+716>>2],t=0,u=0,o=i[k+704>>2],v=i[k+708>>2],E=y+113|0,n=E-a|0,Z=(n|0)<(S|0),r=Z?(n|0)>0?n:0:S,(r|0)<=112)break k;break A}if(y=h+y|0,r=e,(e|0)!=(A|0))break}for(w=1e9>>>h|0,_=-1<>2],o=o+(v>>>h|0)|0,i[n>>2]=o,o=!o&(r|0)==(A|0),r=o?r+1&2047:r,Z=o?Z-9|0:Z,n=m(w,_&v),A=A+1&2047,(A|0)!=(e|0););if(!n)continue;if((r|0)!=(t|0)){i[E+(e<<2)>>2]=n,e=t;continue f}i[u>>2]=i[u>>2]|1;continue}break}break}b4(k+656|0,M1(1,225-r|0)),Qt(k+688|0,i[k+656>>2],i[k+660>>2],i[k+664>>2],i[k+668>>2],w),z=i[k+696>>2],H=i[k+700>>2],J=i[k+688>>2],R=i[k+692>>2],b4(k+640|0,M1(1,113-r|0)),Sk(k+672|0,o,v,h,w,i[k+640>>2],i[k+644>>2],i[k+648>>2],i[k+652>>2]),t=i[k+672>>2],u=i[k+676>>2],p=i[k+680>>2],W=i[k+684>>2],C3(k+624|0,o,v,h,w,t,u,p,W),s4(k+608|0,J,R,z,H,i[k+624>>2],i[k+628>>2],i[k+632>>2],i[k+636>>2]),h=i[k+616>>2],w=i[k+620>>2],o=i[k+608>>2],v=i[k+612>>2]}_=A+4&2047;A:{if((_|0)==(e|0))break A;_=i[(k+784|0)+(_<<2)>>2];f:{if(_>>>0<=499999999){if(!_&(A+5&2047)==(e|0))break f;b4(k+496|0,+(I|0)*.25),s4(k+480|0,t,u,p,W,i[k+496>>2],i[k+500>>2],i[k+504>>2],i[k+508>>2]),p=i[k+488>>2],W=i[k+492>>2],t=i[k+480>>2],u=i[k+484>>2];break f}if((_|0)!=5e8){b4(k+592|0,+(I|0)*.75),s4(k+576|0,t,u,p,W,i[k+592>>2],i[k+596>>2],i[k+600>>2],i[k+604>>2]),p=i[k+584>>2],W=i[k+588>>2],t=i[k+576>>2],u=i[k+580>>2];break f}if(f0=+(I|0),(A+5&2047)==(e|0)){b4(k+528|0,f0*.5),s4(k+512|0,t,u,p,W,i[k+528>>2],i[k+532>>2],i[k+536>>2],i[k+540>>2]),p=i[k+520>>2],W=i[k+524>>2],t=i[k+512>>2],u=i[k+516>>2];break f}b4(k+560|0,f0*.75),s4(k+544|0,t,u,p,W,i[k+560>>2],i[k+564>>2],i[k+568>>2],i[k+572>>2]),p=i[k+552>>2],W=i[k+556>>2],t=i[k+544>>2],u=i[k+548>>2]}if((r|0)>111||(Sk(k+464|0,t,u,p,W,0,0,0,1073676288),fi(i[k+464>>2],i[k+468>>2],i[k+472>>2],i[k+476>>2],0,0,0,0)))break A;s4(k+448|0,t,u,p,W,0,0,0,1073676288),p=i[k+456>>2],W=i[k+460>>2],t=i[k+448>>2],u=i[k+452>>2]}s4(k+432|0,o,v,h,w,t,u,p,W),C3(k+416|0,i[k+432>>2],i[k+436>>2],i[k+440>>2],i[k+444>>2],J,R,z,H),h=i[k+424>>2],w=i[k+428>>2],o=i[k+416>>2],v=i[k+420>>2];A:{if((d-2|0)>=(E&2147483647)||(i[k+408>>2]=h,i[k+412>>2]=w&2147483647,i[k+400>>2]=o,i[k+404>>2]=v,d2(k+384|0,o,v,h,w,0,0,0,1073610752),A=H7(i[k+400>>2],i[k+404>>2],i[k+408>>2],i[k+412>>2],1081081856),e=(A|0)>=0,h=e?i[k+392>>2]:h,w=e?i[k+396>>2]:w,o=e?i[k+384>>2]:o,v=e?i[k+388>>2]:v,t=fi(t,u,p,W,0,0,0,0),y=e+y|0,(y+110|0)<=(d|0)&&!(Z&((r|0)!=(n|0)|(A|0)<0)&(t|0)!=0)))break A;i[23944]=68}$n(k+368|0,o,v,h,w,y),t=i[k+376>>2],u=i[k+380>>2],r=i[k+372>>2],e=i[k+368>>2]}i[C+40>>2]=t,i[C+44>>2]=u,i[C+32>>2]=e,i[C+36>>2]=r,B=k+8976|0,t=i[C+40>>2],u=i[C+44>>2],h=i[C+32>>2],w=i[C+36>>2];break i}u=0}i[f>>2]=h,i[f+4>>2]=w,i[f+8>>2]=t,i[f+12>>2]=u,B=C+48|0}function vr(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0;h=f+18548|0;i:{r:{e:{A:{f:{for(;;){v=i[f+18588>>2],o=i[v+132>>2];k:{n:{if(_=i[v+124>>2],Z=i[_+484>>2],n=1<>2];break n}if(u=i[_+488>>2],t=i[_+16872>>2],(u|0)<(r+n|0)|(t|0)>=(A|0))break n;t=1,p=e-1|0,n=1;t:{if((p|r)<0||(n=1,(e|0)>(Z|0))||(n=1,(r|0)>=(u|0))||(w=i[_+16876>>2],W=m(i[_+16892>>2],r>>w),C=i[v+140>>2],I=W+(e>>w)|0,w=W+(p>>w)|0,n=1,Q[C+m(I,24)>>1]!=Q[C+m(w,24)>>1]))break t;n=i[o+8484>>2],n=i[n+(I<<2)>>2]!=i[n+(w<<2)>>2]}w=r-1|0;t:{if((w|e)<0|(e|0)>=(Z|0)|(r|0)>(u|0)||(Z=i[_+16876>>2],u=e>>Z,C=i[v+140>>2],W=i[_+16892>>2],I=u+m(W,r>>Z)|0,Z=u+m(W,w>>Z)|0,Q[C+m(I,24)>>1]!=Q[C+m(Z,24)>>1]))break t;t=i[o+8484>>2],t=i[t+(I<<2)>>2]!=i[t+(Z<<2)>>2]}if(Z=0,!n){if(Z=i[v+168>>2],n=p>>Z,(n|0)<0||(u=i[v+172>>2],(u|0)<=(n|0)))break r;if(Z=r>>Z,(Z|0)<0|(Z|0)>=i[v+176>>2])break i;n=(i[v+160>>2]+m(n,3)|0)+m(m(u,Z),3)|0,Z=((s[n|0]|s[n+1|0]<<8)>>>6&3)>(k|0)}t:{if(t)n=0;else{if(t=i[v+168>>2],n=e>>t,(n|0)<0||(u=i[v+172>>2],(u|0)<=(n|0)))break r;if(t=w>>t,(t|0)<0|(t|0)>=i[v+176>>2])break t;n=(i[v+160>>2]+m(n,3)|0)+m(m(t,u),3)|0,n=((s[n|0]|s[n+1|0]<<8)>>>6&3)>(k|0)}n=!f2(h,(n+(i[f+18572>>2]+Z|0)|0)+2|0);break k}break i}n=(A|0)<=(t|0)}if(!s[o+26|0]|i[o+8268>>2]>(A|0)||(i[f+18500>>2]=0,i[f+18504>>2]=0),!s[i[f+18592>>2]+760|0]|i[o+8272>>2]>(A|0)||(i[f+18508>>2]=0),!n){if(A=A-1|0,k=k+1|0,vr(f,e,r,A,k),o=1<>2]&&vr(f,o,r,A,k),t=i[_+488>>2],(n|0)<(t|0)&&(vr(f,e,n,A,k),t=i[_+488>>2]),(o|0)>=i[_+484>>2])break f;if(e=o,r=n,(t|0)>(r|0))continue;break f}break}if(n=i[v+168>>2],o=A-n|0,(o|0)!=31)for(t=r>>n,o=1<>n,u=h+o|0,p=k<<6&192;;){for(n=o;h=(i[v+160>>2]+m(n,3)|0)+m(m(i[v+172>>2],t),3)|0,_=p|(s[h|0]|s[h+1|0]<<8)&65343,l[h|0]=_,l[h+1|0]=_>>>8,n=n+1|0,(u|0)>(n|0););if(t=t+1|0,!((Z|0)>(t|0)))break}if(p=B-80|0,B=p,t=f,Z=i[f+18592>>2],n=i[f+18588>>2],w=i[n+132>>2],I=i[n+124>>2],o=e,h=r,v=A,f=i[n+168>>2],e=A-f|0,(e|0)!=31)for(r=r>>f,e=1<>f,C=_+e|0;;){for(f=e;_=(i[n+160>>2]+m(f,3)|0)+m(m(i[n+172>>2],r),3)|0,u=(s[_|0]|s[_+1|0]<<8)&65528,l[_|0]=u,l[_+1|0]=u>>>8,f=f+1|0,(C|0)>(f|0););if(r=r+1|0,!((W|0)>(r|0)))break}if(e=i[n+168>>2],f=o>>e,(f|0)<0||(r=i[n+172>>2],(r|0)<=(f|0)))break A;if(e=h>>e,(e|0)<0|(e|0)>=i[n+176>>2])break e;if(f=(i[n+160>>2]+m(f,3)|0)+m(m(e,r),3)|0,e=(s[f|0]|s[f+1|0]<<8)&65528|A&7,l[f|0]=e,l[f+1|0]=e>>>8,e=i[n+248>>2],r=v-e|0,(r|0)!=31)for(f=h>>e,r=1<>e,_=_+r|0;;){for(e=r;l[(i[n+240>>2]+e|0)+m(i[n+252>>2],f)|0]=0,e=e+1|0,(_|0)>(e|0););if(f=f+1|0,!((A|0)>(f|0)))break}zk(t,o,h);k:{if(s[w+44|0]){if(f=f2(t+18548|0,i[t+18572>>2]+161|0),l[t+32|0]=f,!f)break k;if(f=i[n+168>>2],e=v-f|0,(e|0)!=31)for(r=h>>f,e=1<>f,w=A+e|0;;){for(f=e;A=(i[n+160>>2]+m(f,3)|0)+m(m(i[n+172>>2],r),3)|0,_=(s[A|0]|s[A+1|0]<<8)&63487|2048,l[A|0]=_,l[A+1|0]=_>>>8,f=f+1|0,(w|0)>(f|0););if(r=r+1|0,!((u|0)>(r|0)))break}if(e=i[n+148>>2],f=o>>e,(f|0)<0||(r=i[n+152>>2],(r|0)<=(f|0)))break A;if(e=h>>e,(e|0)<0|(e|0)>=i[n+156>>2])break e;l[((i[n+140>>2]+m(f,24)|0)+m(m(e,r),24)|0)+22|0]=1;break k}l[t+32|0]=0}u=1<>2]==2)break n;e=i[t+18588>>2],_=1,A=o-1|0,f=1;t:{if((A|h)<0||(r=i[e+124>>2],f=1,(o|0)>i[r+484>>2])||(f=1,(h|0)>=i[r+488>>2])||(f=i[r+16892>>2],r=i[r+16876>>2],w=m(f,h>>r),C=i[e+140>>2],W=w+(o>>r)|0,r=w+(A>>r)|0,f=1,Q[C+m(W,24)>>1]!=Q[C+m(r,24)>>1]))break t;f=i[i[e+132>>2]+8484>>2],f=i[f+(W<<2)>>2]!=i[f+(r<<2)>>2]}W=h-1|0;t:{if((W|o)<0||(r=i[e+124>>2],(o|0)>=i[r+484>>2]|(h|0)>i[r+488>>2])||(w=i[r+16876>>2],C=o>>w,J=i[e+140>>2],r=i[r+16892>>2],y=C+m(r,h>>w)|0,r=C+m(r,W>>w)|0,Q[J+m(y,24)>>1]!=Q[J+m(r,24)>>1]))break t;_=i[i[e+132>>2]+8484>>2],_=i[_+(y<<2)>>2]!=i[_+(r<<2)>>2]}if(w=0,r=0,!f){if(r=i[e+168>>2],f=A>>r,(f|0)<0||(A=i[e+172>>2],(A|0)<=(f|0)))break r;if(r=h>>r,(r|0)<0|(r|0)>=i[e+176>>2])break i;f=(i[e+160>>2]+m(f,3)|0)+m(m(r,A),3)|0,r=((s[f|0]|s[f+1|0]<<8)&768)==512}if(!_){if(A=i[e+168>>2],f=o>>A,(f|0)<0||(_=i[e+172>>2],(_|0)<=(f|0)))break r;if(A=W>>A,(A|0)<0|(A|0)>=i[e+176>>2])break i;f=(i[e+160>>2]+m(f,3)|0)+m(m(A,_),3)|0,w=((s[f|0]|s[f+1|0]<<8)&768)==512}if(f=t+18548|0,f2(f,((i[t+18572>>2]+r|0)+w|0)+5|0)&255){e=16;t:{if(i[i[t+18592>>2]+812>>2]<2||!f2(f,i[t+18572>>2]+148|0)||(e=48,i[i[t+18592>>2]+812>>2]<3))break t;for(e=1;x1(f)&&(e=e+1|0,(e|0)<(i[i[t+18592>>2]+812>>2]-1|0)););e=e<<5|16}if(l[t+26|0]=s[t+26|0]&15|e,e=i[n+168>>2],f=o>>e,(f|0)<0||(r=i[n+172>>2],(r|0)<=(f|0)))break A;if(e=h>>e,(e|0)<0|(e|0)>=i[n+176>>2])break e;if(f=(i[n+160>>2]+m(f,3)|0)+m(m(e,r),3)|0,e=(s[f|0]|s[f+1|0]<<8)&65479,l[f|0]=e,l[f+1|0]=e>>>8,f=i[n+168>>2],e=v-f|0,(e|0)!=31)for(r=h>>f,e=1<>f,_=f+e|0;;){for(e=f;A=(i[n+160>>2]+m(e,3)|0)+m(m(i[n+172>>2],r),3)|0,k=(s[A|0]|s[A+1|0]<<8)&64767|512,l[A|0]=k,l[A+1|0]=k>>>8,e=e+1|0,(_|0)>(e|0););if(r=r+1|0,!((v|0)>(r|0)))break}nk(i[t+18584>>2],i[t+18592>>2],i[t+18588>>2],t+16|0,o,h,0,0,u,u,u,0);break k}if(A=0,i[Z+28>>2]==2)break n;A=!f2(f,i[t+18572>>2]+149|0)}if(f=i[n+168>>2],e=v-f|0,(e|0)!=31)for(r=h>>f,e=1<>f,C=f+e|0;;){for(e=f;_=(i[n+160>>2]+m(e,3)|0)+m(m(i[n+172>>2],r),3)|0,Z=W|(s[_|0]|s[_+1|0]<<8)&64767,l[_|0]=Z,l[_+1|0]=Z>>>8,e=e+1|0,(C|0)>(e|0););if(r=r+1|0,!((w|0)>(r|0)))break}Z=!A;n:{t:{if(A){_=i[i[t+18588>>2]+124>>2],f=0,r=t+18548|0;o:{if(f2(r,i[t+18572>>2]+8|0))break o;e=f2(r,i[t+18572>>2]+9|0);u:{l:{if((v|0)>i[_+16872>>2]){if(f=e?1:2,!s[_+8798|0]||f2(r,i[t+18572>>2]+11|0))break o;if(f=x1(r),!(!e|!f)){f=5;break o}if(!(f|!e)){f=4;break o}if(f|e)break l;f=6;break o}if(f=1,e)break o;if((v|0)!=3)break u;f=2;break o}if(!(!f|e)){f=7;break o}C0(9349,14036,1774,11286),P()}f=3-f2(r,i[t+18572>>2]+10|0)|0}break t}if(e=0,_=0,(v|0)!=i[I+16872>>2])break n;f=f2(t+18548|0,i[t+18572>>2]+8|0)?0:3}e=f,_=(f|0)==3&Z}if(r=i[n+168>>2],f=o>>r,(f|0)<0||(Z=i[n+172>>2],(Z|0)<=(f|0)))break A;if(r=h>>r,(r|0)<0|(r|0)>=i[n+176>>2])break e;f=(i[n+160>>2]+m(f,3)|0)+m(m(r,Z),3)|0,r=(s[f|0]|s[f+1|0]<<8)&65479|e<<3&56,l[f|0]=r,l[f+1|0]=r>>>8;n:{if(!A){t:{if(!s[I+8800|0]|e|((v|0)>2]|(v|0)>i[I+16960>>2])||(C=t+18548|0,!t3(C)))break t;if(f=i[n+168>>2],e=v-f|0,(e|0)!=31)for(r=h>>f,e=1<>f,Z=A+e|0;;){for(f=e;A=(i[n+160>>2]+m(f,3)|0)+m(m(i[n+172>>2],r),3)|0,k=(s[A|0]|s[A+1|0]<<8)&64511|1024,l[A|0]=k,l[A+1|0]=k>>>8,f=f+1|0,(Z|0)>(f|0););if(r=r+1|0,!((_|0)>(r|0)))break}if(e=i[n+148>>2],f=o>>e,(f|0)<0||(r=i[n+152>>2],(r|0)<=(f|0)))break A;if(e=h>>e,(e|0)<0|(e|0)>=i[n+156>>2])break e;l[((i[n+140>>2]+m(f,24)|0)+m(m(e,r),24)|0)+22|0]=1,f=i[t+18552>>2],i[p+48>>2]=f,e=i[t+18556>>2],w=0,i[p+64>>2]=0,i[p+56>>2]=0,i[p+60>>2]=0,i[p+52>>2]=e-f,f=i[t+18588>>2],e=i[f+40>>2],r=m(e,h),A=i[f+4>>2],k=i[f+124>>2],f=l[k+8801|0],k=i[k+16832>>2];o:{if((k|0)>=9){if((v|0)==31)break o;for(k=k-f|0,n=(k|0)>0?k:0,r=A+(r+o<<1)|0;;){for(A=r+(m(e,w)<<1)|0,k=0;f0=A+(k<<1)|0,n0=u0(p+48|0,f)<>1]=n0,k=k+1|0,(u|0)!=(k|0););if(w=w+1|0,(u|0)==(w|0))break}break o}if((v|0)==31)break o;for(k=k-f|0,n=(k|0)>0?k:0,r=o+(r+A|0)|0;;){for(A=r+m(e,w)|0,k=0;f0=A+k|0,n0=u0(p+48|0,f)<>2],f=i[w+124>>2];o:{if(!i[f+16848>>2])break o;if(e=i[f+16852>>2],v=(o|0)/(e|0)|0,r=i[f+16856>>2],_=(u|0)/(r|0)|0,k=(u|0)/(e|0)|0,A=i[w+44>>2],W=m(A,(h|0)/(r|0)|0),Z=i[w+8>>2],e=l[f+8802|0],f=i[f+16840>>2],(f|0)>=9){if(n=0,f=f-e|0,r=(f|0)>0?f:0,f=v+W<<1,!((k|0)<=0|(_|0)<=0)){for(v=f+Z|0;;){for(Z=v+(m(A,n)<<1)|0,f=0;f0=Z+(f<<1)|0,n0=u0(p+48|0,e)<>1]=n0,f=f+1|0,(k|0)!=(f|0););if(n=n+1|0,(_|0)==(n|0))break}w=i[t+18588>>2],f=i[w+124>>2],e=l[f+8802|0],r=i[f+16840>>2]-e|0,r=(r|0)>0?r:0,A=i[w+44>>2],k=i[f+16856>>2],n=i[f+16852>>2],f=m(A,(h|0)/(k|0)|0)+((o|0)/(n|0)|0)<<1,_=(u|0)/(k|0)|0,k=(u|0)/(n|0)|0}if((_|0)<=0|(k|0)<=0)break o;for(o=i[w+12>>2]+f|0,n=0;;){for(h=o+(m(A,n)<<1)|0,f=0;f0=h+(f<<1)|0,n0=u0(p+48|0,e)<>1]=n0,f=f+1|0,(k|0)!=(f|0););if(n=n+1|0,(_|0)==(n|0))break}break o}if(n=0,f=f-e|0,r=(f|0)>0?f:0,!((k|0)<=0|(_|0)<=0)){for(v=(Z+W|0)+v|0;;){for(Z=v+m(A,n)|0,f=0;f0=f+Z|0,n0=u0(p+48|0,e)<>2],f=i[w+124>>2],e=l[f+8802|0],r=i[f+16840>>2]-e|0,r=(r|0)>0?r:0,A=i[f+16852>>2],v=(o|0)/(A|0)|0,f=i[f+16856>>2],_=(u|0)/(f|0)|0,k=(u|0)/(A|0)|0,A=i[w+44>>2],W=m(A,(h|0)/(f|0)|0)}if((_|0)<=0|(k|0)<=0)break o;for(o=(i[w+12>>2]+W|0)+v|0,n=0;;){for(h=o+m(A,n)|0,f=0;f0=f+h|0,n0=u0(p+48|0,e)<>2]=i[p+48>>2],Y6(C);break k}if(A=(e|0)==3,C=A?(u|0)/2|0:u,(v|0)!=31)for(r=t+18548|0,e=0,w=0;;){for(f=0;f0=(p+48|0)+(e<<2)|0,n0=f2(r,i[t+18572>>2]+12|0),i[f0>>2]=n0,e=e+1|0,f=f+C|0,(u|0)>(f|0););if(w=w+C|0,!((u|0)>(w|0)))break}k=o-1|0,f=0;t:{if((k|h)<0||(e=i[n+124>>2],f=0,(o|0)>i[e+484>>2])||(f=0,(h|0)>=i[e+488>>2])||(f=i[e+16892>>2],e=i[e+16876>>2],r=m(f,h>>e),w=i[n+140>>2],Z=r+(o>>e)|0,e=r+(k>>e)|0,f=0,Q[w+m(Z,24)>>1]!=Q[w+m(e,24)>>1]))break t;f=i[i[n+132>>2]+8484>>2],f=i[f+(Z<<2)>>2]==i[f+(e<<2)>>2]}Z=f,k=h-1|0;t:{if((k|o)<0||(f=i[n+124>>2],(o|0)>=i[f+484>>2]|(h|0)>i[f+488>>2])||(e=i[f+16876>>2],r=o>>e,W=i[n+140>>2],f=i[f+16892>>2],w=r+m(f,h>>e)|0,f=r+m(f,k>>e)|0,Q[W+m(w,24)>>1]!=Q[W+m(f,24)>>1]))break t;e=i[i[n+132>>2]+8484>>2],d=i[e+(w<<2)>>2]==i[e+(f<<2)>>2]}if(k=v-A|0,(v|0)!=31)for(H=t+18548|0,J=0;;){for(y=h+J|0,A0=(J|0)>0|d,W=0;;){R=a<<2,S=i[R+(p+48|0)>>2];t:{if(S){w=Q6(H,2),f=p+32|0;break t}w=d4(H,5),f=p+16|0}i[f+R>>2]=w,r=o+W|0,z=r,f=i[I+16944>>2],w=m(i[I+16948>>2],y>>f)+(r>>f)|0,A=w,D=i[n+124>>2],e=1,f=1;t:{if(!((W|0)>0|Z))break t;if(f=i[n+168>>2],r=r-1>>f,(r|0)<0||(q=i[n+172>>2],(q|0)<=(r|0)))break r;if(E=y>>f,(E|0)<0|(E|0)>=i[n+176>>2])break i;if(f=1,s[((i[n+160>>2]+m(r,3)|0)+m(m(E,q),3)|0)+1|0]&7)break t;f=s[(A+i[n+200>>2]|0)-1|0]}t:{if(!A0)break t;if(E=i[n+168>>2],r=z>>E,(r|0)<0||(z=i[n+172>>2],(z|0)<=(r|0)))break r;if(E=y-1>>E,(E|0)<0|(E|0)>=i[n+176>>2])break i;if(s[((i[n+160>>2]+m(r,3)|0)+m(m(E,z),3)|0)+1|0]&7|(y|0)==(y&-1<>2]))break t;e=s[i[n+200>>2]+(A-i[D+16948>>2]|0)|0]}t:{if((f|0)==(e|0)){if(f>>>0<=1){i[p+12>>2]=26,i[p+4>>2]=0,i[p+8>>2]=1;break t}i[p+4>>2]=f,i[p+12>>2]=(f-1&31)+2,i[p+8>>2]=(f+29&31)+2;break t}if(i[p+8>>2]=e,i[p+4>>2]=f,!(!f|!e)){i[p+12>>2]=0;break t}if(!((f|0)==1|(e|0)==1)){i[p+12>>2]=1;break t}i[p+12>>2]=26}t:{if((S|0)!=1){f=i[p+4>>2],r=i[p+8>>2],e=(f|0)>(r|0)?f:r,f=(f|0)<(r|0)?f:r,r=i[p+12>>2];o:{if((f|0)<=(r|0)){A=f,f=r;break o}i[p+12>>2]=f,i[p+4>>2]=r,A=r}o:{if((f|0)>=(e|0)){r=f,f=e;break o}i[p+8>>2]=f,r=e}e=f,f=i[R+(p+16|0)>>2],f=((f|0)>=(A|0))+f|0,f=((e|0)<=(f|0))+f|0,A=((f|0)>=(r|0))+f|0;break t}A=i[(p+4|0)+(i[R+(p+32|0)>>2]<<2)>>2]}if(R=i[n+208>>2],f=k-R|0,(f|0)!=31)for(D=1<>2]+e|0)|0)+m(i[n+212>>2],f)|0]=A,l[((w+(i[n+200>>2]+e|0)|0)+m(i[n+212>>2],f)|0)+1|0]=A,e=e+2|0,r=r+2|0,(E|0)!=(r|0););if((k|0)==(R|0)&&(l[(w+(i[n+200>>2]+e|0)|0)+m(i[n+212>>2],f)|0]=A),f=f+1|0,(D|0)==(f|0))break}if(a=a+1|0,W=W+C|0,!((u|0)>(W|0)))break}if(J=C+J|0,!((u|0)>(J|0)))break}t:switch(i[I+16848>>2]){case 3:if((v|0)==31)break n;w=t+18548|0,W=0;o:{for(;;){f=h+W|0,e=0;u:{for(;;){if(f2(w,i[t+18572>>2]+13|0)?r=d4(w,2):r=4,Z=e+o|0,y=i[n+208>>2],A=Z>>y,(A|0)<0||(J=i[n+212>>2],(J|0)<=(A|0)))break u;if(y=f>>y,(y|0)<0|(y|0)>=i[n+216>>2])break o;if(A=s[(A+i[n+200>>2]|0)+m(y,J)|0],A=A>>>0<=34?A:0,y=(r|0)==4,y||(r=i[(r<<2)+45808>>2],A=(r|0)==(A|0)?34:r),Q7(n,Z,f,k,A,y),e=e+C|0,!((u|0)>(e|0)))break}if(W=W+C|0,(u|0)>(W|0))continue;break n}break}break r}break i;case 0:break n;default:break t}if(f=t+18548|0,f2(f,i[t+18572>>2]+13|0)?f=d4(f,2):f=4,r=i[n+208>>2],e=o>>r,(e|0)<0||(A=i[n+212>>2],(A|0)<=(e|0)))break r;if(r=h>>r,(r|0)<0|(r|0)>=i[n+216>>2])break i;e=s[(e+i[n+200>>2]|0)+m(r,A)|0],e=e>>>0<=34?e:0,(f|0)!=4&&(r=i[(f<<2)+45808>>2],e=(e|0)==(r|0)?34:r),i[I+16848>>2]==2&&(e=s[e+45824|0]),Q7(n,o,h,v,e,(f|0)==4);break n}t:{o:{u:switch(e|0){case 1:f=(u|0)/2|0,d1(t,o,h,0,0,u,f,k,u,0),d1(t,o,h,0,f,u,f,k,u,1);break o;case 2:f=(u|0)/2|0,d1(t,o,h,0,0,f,u,k,u,0),d1(t,o,h,f,0,f,u,k,u,1);break o;case 4:f=(u|0)/4|0,d1(t,o,h,0,0,u,f,k,u,0),d1(t,o,h,0,f,u,(3<>2]+153|0))break k}f=i[I+16848>>2]!=0,n6(t,o,h,o,h,o,h,v,0,0,i[I+628>>2],_,1,f,f);break k}f=i[I+16848>>2]!=0,n6(t,o,h,o,h,o,h,v,0,0,_+i[I+632>>2]|0,_,0,f,f)}B=p+80|0}return}C0(3758,8453,128,3372),P()}C0(3720,8453,129,3372),P()}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function ok(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;u=B-112|0,B=u,v=Ri(i[e+48>>2],17067),o=U(360),i[o+16>>2]=0,i[o+20>>2]=0,i[o>>2]=72656,i[o+4>>2]=0,i[o+8>>2]=0,l[o+152|0]=0,i[o+36>>2]=v,i[o+32>>2]=e,i[o+28>>2]=34648,i[o+40>>2]=0,i[o+44>>2]=0,i[o+52>>2]=0,i[o+56>>2]=0,i[o+68>>2]=0,i[o+72>>2]=0,i[o+80>>2]=0,i[o+84>>2]=0,i[o+156>>2]=0,i[o+160>>2]=0,i[o+24>>2]=0,X[o+48>>1]=0,X[o+58>>1]=0,X[o+60>>1]=0,X[o+62>>1]=0,X[o+64>>1]=0,l[o+76|0]=0,l[o+88|0]=0,i[o+204>>2]=0,i[o+196>>2]=0,i[o+200>>2]=0,i[o+188>>2]=0,i[o+192>>2]=0,i[o+180>>2]=0,i[o+184>>2]=0,i[o+172>>2]=0,i[o+176>>2]=0,i[o+164>>2]=0,i[o+168>>2]=0,i[o+212>>2]=0,i[o+216>>2]=0,l[o+208|0]=1,l[o+217|0]=0,l[o+218|0]=0,l[o+219|0]=0,l[o+220|0]=0,l[o+221|0]=0,l[o+222|0]=0,l[o+223|0]=0,l[o+224|0]=0,i[o+232>>2]=0,i[o+236>>2]=0,i[o+240>>2]=0,i[o+244>>2]=0,i[o+248>>2]=0,i[o+252>>2]=0,i[o+256>>2]=0,i[o+260>>2]=0,i[o+264>>2]=0,i[o+268>>2]=0,l[o+272|0]=0,B0(o+280|0,0,80),i[o+296>>2]=0,i[o+300>>2]=0,l[o+292|0]=1,i[o+304>>2]=0,i[o+308>>2]=0,i[o+312>>2]=0,i[o+316>>2]=0,i[o+328>>2]=0,i[o+332>>2]=0,i[o+320>>2]=0,i[o+324>>2]=1072693248,i[o+336>>2]=0,i[o+340>>2]=0,i[o+344>>2]=0,i[o+348>>2]=0,i[o+352>>2]=0,i[o+96>>2]=0,i[o+100>>2]=0,i[o+104>>2]=0,i[o+108>>2]=0,i[o+112>>2]=0,i[o+116>>2]=0,i[o+120>>2]=0,i[o+124>>2]=0,i[o+128>>2]=0,i[o+132>>2]=0,i[o+136>>2]=0,i[o+140>>2]=0,i[o+144>>2]=0,i[o+148>>2]=0,i[t>>2]=o+16,h=i[t+4>>2],i[t+4>>2]=o;i:{if(!h||(o=i[h+4>>2],i[h+4>>2]=o-1,o))break i;V[i[i[h>>2]+8>>2]](h),g(h)}o=i[e+32>>2];i:{if(o>>>0>2]){i[o>>2]=i[t>>2],h=i[t+4>>2],i[o+4>>2]=h,h&&(i[h+4>>2]=i[h+4>>2]+1),o=o+8|0;break i}o=Q2(e+28|0,t)}i[e+32>>2]=o,o=i[e+20>>2];i:{r:{if(!o){w=e+20|0,h=w;break r}for(;;){if(h=o,w=i[o+16>>2],w>>>0>v>>>0){if(w=o,o=i[o>>2],o)continue;break r}if(w>>>0>=v>>>0)break i;if(o=i[h+4>>2],!o)break}w=h+4|0}o=U(28),i[o+20>>2]=0,i[o+24>>2]=0,i[o+16>>2]=v,i[o+8>>2]=h,i[o>>2]=0,i[o+4>>2]=0,i[w>>2]=o,h=o,_=i[i[e+16>>2]>>2],_&&(i[e+16>>2]=_,h=i[w>>2]),D1(i[e+20>>2],h),i[e+24>>2]=i[e+24>>2]+1}w=i[t>>2],h=i[t+4>>2],h&&(i[h+4>>2]=i[h+4>>2]+1),i[o+20>>2]=w,t=i[o+24>>2],i[o+24>>2]=h;i:{if(!t||(o=i[t+4>>2],i[t+4>>2]=o-1,o))break i;V[i[i[t>>2]+8>>2]](t),g(t)}t=i[r>>2],i[u+108>>2]=i[t+32>>2],i[u+104>>2]=i[t+36>>2],$r(u+96|0,r,i[k+4>>2]),t=i[A>>2];i:{if(i[t>>2]>=2){V[i[t+108>>2]](i[A+4>>2],u+108|0,u+104|0);break i}V[i[t+96>>2]](u+108|0,u+104|0)}i[u+88>>2]=0,i[u+92>>2]=0;i:{r:{e:{A:{if(w=i[u+108>>2],t=i[r>>2],o=i[u+104>>2],!((w|0)!=i[t+32>>2]|(o|0)!=i[t+36>>2])){if(o=i[t+44>>2],t=i[t+48>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),p6(w,o,t,i[k+4>>2]))break A;w=i[u+108>>2],o=i[u+104>>2]}i[u+36>>2]=i[u+96>>2],t=i[u+100>>2],i[u+40>>2]=t,t&&(i[t+4>>2]=i[t+4>>2]+1),N8(u+76|0,r,w,o,u+36|0,0,k+16|0),t=i[u+76>>2],o=i[u+80>>2],i[u+76>>2]=0,i[u+80>>2]=0,r=i[u+92>>2],i[u+88>>2]=t,i[u+92>>2]=o;f:{if(!r||(t=i[r+4>>2],i[r+4>>2]=t-1,t||(V[i[i[r>>2]+8>>2]](r),g(r)),r=i[u+80>>2],!r)||(t=i[r+4>>2],i[r+4>>2]=t-1,t))break f;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[u+40>>2];f:{if(!r||(t=i[r+4>>2],i[r+4>>2]=t-1,t))break f;V[i[i[r>>2]+8>>2]](r),g(r)}if(i[u+88>>2])break e;if(l[u+76|0]=0,l[u+87|0]=0,r0(f,4,3003,u+76|0),l[u+87|0]>=0)break r;G(i[u+76>>2]);break r}if(o=i[r>>2],t=i[r+4>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[u+88>>2]=o,r=i[u+92>>2],i[u+92>>2]=t,!r||(t=i[r+4>>2],i[r+4>>2]=t-1,t))break e;V[i[i[r>>2]+8>>2]](r),g(r)}e:{A:switch(n-1|0){case 0:case 3:break A;default:break e}r=i[u+88>>2],t=i[r+52>>2],r=i[r+56>>2];A:{f:{k:{if(!r){if(!t)break f;w=i[e+48>>2],i[u+80>>2]=0,i[u+76>>2]=t;break k}if(i[r+4>>2]=i[r+4>>2]+1,!t)break f;w=i[e+48>>2],i[u+80>>2]=r,i[u+76>>2]=t,i[r+4>>2]=i[r+4>>2]+1}p8(w,v,u+76|0),t=i[u+80>>2];k:{if(!t||(o=i[t+4>>2],i[t+4>>2]=o-1,o))break k;V[i[i[t>>2]+8>>2]](t),g(t)}if(!s[k+3|0]|s[k|0]<3)break A}if(o=i[e+48>>2],i[u+76>>2]=i[u+96>>2],t=i[u+100>>2],i[u+80>>2]=t,t&&(i[t+4>>2]=i[t+4>>2]+1),p8(o,v,u+76|0),t=i[u+80>>2],!t||(o=i[t+4>>2],i[t+4>>2]=o-1,o))break A;V[i[i[t>>2]+8>>2]](t),g(t)}if(!r||(t=i[r+4>>2],i[r+4>>2]=t-1,t))break e;V[i[i[r>>2]+8>>2]](r),g(r)}e:{A:{f:{k:{if(!s[k+1|0]||!H2(i[u+88>>2],6))break k;i[u+36>>2]=0,i[u+40>>2]=0,s6(u+76|0,u+88|0),t=i[u+76>>2],o=i[u+80>>2],i[u+76>>2]=0,i[u+80>>2]=0,r=i[u+40>>2],i[u+36>>2]=t,i[u+40>>2]=o;n:{if(!r||(t=i[r+4>>2],i[r+4>>2]=t-1,t||(V[i[i[r>>2]+8>>2]](r),g(r)),r=i[u+80>>2],!r)||(t=i[r+4>>2],i[r+4>>2]=t-1,t))break n;V[i[i[r>>2]+8>>2]](r),g(r)}if(i[u+24>>2]=0,i[u+28>>2]=0,ok(f,e,u+36|0,A,k,2,u+24|0),i[f>>2])break f;t=i[i[u+24>>2]+20>>2],o=i[e+48>>2],r=U(4),i[u+76>>2]=r,h=r+4|0,i[u+84>>2]=h,i[r>>2]=v,i[u+80>>2]=h,P1(o,t,1635088492,u+76|0),r=i[u+76>>2],r&&(i[u+80>>2]=r,G(r)),h=i[i[u+24>>2]+20>>2],w=i[e+48>>2],r=U(48),i[u+76>>2]=r,i[u+80>>2]=43,i[u+84>>2]=-2147483600,t=s[14658]|s[14659]<<8|(s[14660]<<16|s[14661]<<24),l[r+39|0]=t,l[r+40|0]=t>>>8,l[r+41|0]=t>>>16,l[r+42|0]=t>>>24,t=s[14655]|s[14656]<<8|(s[14657]<<16|s[14658]<<24),o=s[14651]|s[14652]<<8|(s[14653]<<16|s[14654]<<24),l[r+32|0]=o,l[r+33|0]=o>>>8,l[r+34|0]=o>>>16,l[r+35|0]=o>>>24,l[r+36|0]=t,l[r+37|0]=t>>>8,l[r+38|0]=t>>>16,l[r+39|0]=t>>>24,t=s[14647]|s[14648]<<8|(s[14649]<<16|s[14650]<<24),o=s[14643]|s[14644]<<8|(s[14645]<<16|s[14646]<<24),l[r+24|0]=o,l[r+25|0]=o>>>8,l[r+26|0]=o>>>16,l[r+27|0]=o>>>24,l[r+28|0]=t,l[r+29|0]=t>>>8,l[r+30|0]=t>>>16,l[r+31|0]=t>>>24,t=s[14639]|s[14640]<<8|(s[14641]<<16|s[14642]<<24),o=s[14635]|s[14636]<<8|(s[14637]<<16|s[14638]<<24),l[r+16|0]=o,l[r+17|0]=o>>>8,l[r+18|0]=o>>>16,l[r+19|0]=o>>>24,l[r+20|0]=t,l[r+21|0]=t>>>8,l[r+22|0]=t>>>16,l[r+23|0]=t>>>24,t=s[14631]|s[14632]<<8|(s[14633]<<16|s[14634]<<24),o=s[14627]|s[14628]<<8|(s[14629]<<16|s[14630]<<24),l[r+8|0]=o,l[r+9|0]=o>>>8,l[r+10|0]=o>>>16,l[r+11|0]=o>>>24,l[r+12|0]=t,l[r+13|0]=t>>>8,l[r+14|0]=t>>>16,l[r+15|0]=t>>>24,t=s[14623]|s[14624]<<8|(s[14625]<<16|s[14626]<<24),o=s[14619]|s[14620]<<8|(s[14621]<<16|s[14622]<<24),l[r|0]=o,l[r+1|0]=o>>>8,l[r+2|0]=o>>>16,l[r+3|0]=o>>>24,l[r+4|0]=t,l[r+5|0]=t>>>8,l[r+6|0]=t>>>16,l[r+7|0]=t>>>24,l[r+43|0]=0,_6(w,h,u+76|0),l[u+87|0]<0&&G(i[u+76>>2]);n:{if(s[i[u+88>>2]+40|0]!=1||(t=i[e+48>>2],o=i[i[u+24>>2]+20>>2],r=U(4),i[u+76>>2]=r,h=r+4|0,i[u+84>>2]=h,i[r>>2]=o,i[u+80>>2]=h,P1(t,v,1886545261,u+76|0),r=i[u+76>>2],!r))break n;i[u+80>>2]=r,G(r)}l[f+19|0]<0&&G(i[f+8>>2]),r=i[u+28>>2];n:{if(!r||(t=i[r+4>>2],i[r+4>>2]=t-1,t))break n;V[i[i[r>>2]+8>>2]](r),g(r)}if(r=i[u+40>>2],!r||(t=i[r+4>>2],i[r+4>>2]=t-1,t))break k;V[i[i[r>>2]+8>>2]](r),g(r)}l[u+84|0]=0,l[u+85|0]=0,l[u+86|0]=0,l[u+87|0]=0,l[u+77|0]=0,l[u+78|0]=0,l[u+79|0]=0,l[u+80|0]=0,l[u+81|0]=0,l[u+82|0]=0,l[u+83|0]=0,l[u+84|0]=0,l[u+76|0]=1,r=u+56|0,o=U0(i[u+88>>2],0),t=i[i[u+88>>2]+36>>2],h=(o|0)<11,w=h&&(t|0)==3?1:2,Z=h?t>>>0>=2?w:0:w,h=y4(i[u+88>>2],0),w=F4(i[u+88>>2],0),_=m(h,w);k:{if(!((h|0)>8192|(w|0)>4352)&&(p=13,(_|0)<8912897))break k;p=(h|0)>=16385||(w|0)>=8705?31:(_|0)<35651585?17:31}l[u+78|0]=p,l[u+77|0]=Z,l[u+82|0]=!t,l[u+81|0]=o>>>0>11,l[u+80|0]=o>>>0>8,o=t<<3,h=t>>>0<4,l[u+83|0]=((h?16908801>>>o|0:0)&3)>>>1,l[u+85|0]=((t|0)!=1)<<1,l[u+84|0]=((h?16843265>>>o|0:0)&3)>>>1,t=i[19565],i[r>>2]=i[19564],i[r+4>>2]=t,r=r+8|0;k:{if(l[78275]>=0){t=i[19567],i[r>>2]=i[19566],i[r+4>>2]=t,i[r+8>>2]=i[19568];break k}_0(r,i[19566],i[19567])}l[u+75|0]<0&&G(i[u+64>>2]),i[u+52>>2]=0,r=i[u+88>>2],t=i[u+92>>2];k:{if(!t){i[u+52>>2]=0,i[u+48>>2]=r;break k}if(i[t+4>>2]=i[t+4>>2]+1,i[u+48>>2]=r,r=i[u+52>>2],i[u+52>>2]=t,!r||(t=i[r+4>>2],i[r+4>>2]=t-1,t))break k;V[i[i[r>>2]+8>>2]](r),g(r)}if(V[i[i[A>>2]+100>>2]](u+36|0,i[A+4>>2],u+48|0,n),n=i[u+36>>2],n)break A;for(;;){k:{V[i[i[A>>2]+104>>2]](u+24|0,i[A+4>>2],u+20|0,u+16|0,0),t=u+76|0,n=0,p=B-48|0,B=p,h=w6(p+16|0,i[u+20>>2],i[u+16>>2]),r=i[h+8>>2],o=r>>31<<3|r>>>29,w=i[h+24>>2],r=w+(r<<3)|0,_=(w>>31)+o|0,_=r>>>0>>0?_+1|0:_;n:{if(!r&(_|0)<=0|(_|0)<0)break n;t:{for(;;){if(p2(h,1),Z=g0(h,4),r=g0(h,1),o=g0(h,1),p2(h,1),r&&p2(h,8),o){r=g0(h,8),o=r&127,w=0;o:{if(!(r&128)||(r=g0(h,8),o=o|r<<7&16256,!(r&128))||(r=g0(h,8),o=o|r<<14&2080768,!(r&128))||(r=g0(h,8),o=o|r<<21&266338304,!(r&128))||(r=g0(h,8),_=r>>>4|0,o=o|r<<28&-268435456,w=w|_&7,!(r&128))||(r=g0(h,8),w=w|r<<3&1016,!(r&128))||(r=g0(h,8),w=w|r<<10&130048,!(r&128)))break o;w=w|g0(h,8)<<17&16646144}if((Z|0)==1)break t;if(!w&o>>>0>2147483647|w)break n;if(G7(h,o),r=i[h+24>>2],o=r,w=r>>31,r=i[h+8>>2],_=r>>31<<3|r>>>29,Z=r<<3,o=Z+o|0,r=w+_|0,r=o>>>0>>0?r+1|0:r,!!o&(r|0)>=0|(r|0)>0)continue;break n}break}if((Z|0)!=1)break n}C=t,I=g0(h,3),l[C+1|0]=I,g0(h,1),Z=g0(h,1);t:{if(Z){r=g0(h,5),l[t+3|0]=0,l[t+2|0]=r;break t}o:{u:{if(!g0(h,1)||(G7(h,8),g0(h,1)&&g1(h,p+12|0),!g0(h,1)))break u;n=g0(h,5),p2(h,32),p2(h,10),o=1;break o}o=0}if(W=g0(h,1),_=g0(h,5),(_|0)<0)break t;if(p2(h,12),r=g0(h,5),l[t+2|0]=r,w=n+1|0,r=r&248,!W){r&&(C=t,I=g0(h,1),l[C+3|0]=I);o:{if(!o||!g0(h,1))break o;p2(h,w),p2(h,w),p2(h,1)}if(!_)break t;for(r=1;;){p2(h,12),g0(h,5)&248&&g0(h,1),n=r;o:{if(!o||!g0(h,1))break o;p2(h,w),p2(h,w),p2(h,1)}if(r=n+1|0,(n|0)==(_|0))break}break t}if(!o){if(r&&(C=t,I=g0(h,1),l[C+3|0]=I),n=1,r=g0(h,1),l[t+10|0]=(r|0)!=0,r&&(C=t,I=g0(h,4),l[C+11|0]=I),!_)break t;for(;p2(h,12),g0(h,5)&248&&g0(h,1),g0(h,1)&&g0(h,4),r=(n|0)!=(_|0),n=n+1|0,!!r;);break t}if(r&&(C=t,I=g0(h,1),l[C+3|0]=I),g0(h,1)&&(p2(h,w),p2(h,w),p2(h,1)),r=g0(h,1),l[t+10|0]=(r|0)!=0,r&&(C=t,I=g0(h,4),l[C+11|0]=I),!_)break t;for(n=1;p2(h,12),g0(h,5)&248&&g0(h,1),g0(h,1)&&(p2(h,w),p2(h,w),p2(h,1)),g0(h,1)&&g0(h,4),r=(n|0)==(_|0),n=n+1|0,!r;);}r=g0(h,4),n=g0(h,4),g0(h,r+1|0),g0(h,n+1|0);t:{if(!Z){g0(h,1)&&p2(h,7),p2(h,3),p2(h,4),r=g0(h,1),r&&p2(h,2);o:{if(!g0(h,1)&&(g0(h,1)|0)<=0||g0(h,1))break o;p2(h,1)}if(!r)break t}p2(h,3)}p2(h,3),r=g0(h,1),l[t+4|0]=r,o=s[t+1|0],n=0;t:{if(!(r&255)){r=0;break t}if(r=0,(o|0)!=2)break t;r=g0(h,1),o=s[t+1|0]}l[t+5|0]=r,(o|0)!=1?r=g0(h,1):r=0,l[t+6|0]=r;t:{if(!g0(h,1)){o=0,r=0;break t}o=(g0(h,8)|0)==1,n=(g0(h,8)|0)==13,r=!g0(h,8)}t:{o:{if(s[t+6|0]){p2(h,1),l[t+7|0]=1,l[t+8|0]=1,n=9,r=0;break o}u:{if((r&(n&o))==1)break u;p2(h,1);l:{s:{h:{w:switch(s[t+1|0]){default:if(s[t+5|0]){if(r=g0(h,1),l[t+7|0]=r,r&255)break h;break l}l[t+7|0]=1;break l;case 1:break u;case 0:break w}l[t+7|0]=1,l[t+8|0]=1;break s}if(r=g0(h,1),l[t+8|0]=r,!s[t+7|0]|!(r&255))break t}n=9,r=g0(h,2);break o}n=8,r=0;break o}l[t+7|0]=0,n=8,r=0}l[n+t|0]=r}p2(h,1)}if(B=p+48|0,h=i[u+20>>2],!h)break k;if(o=0,i[u+32>>2]=0,i[u+24>>2]=0,i[u+28>>2]=0,r=i[u+16>>2],r?(L2(u+24|0,r),o=i[u+16>>2],h=i[u+20>>2],r=i[u+24>>2]):r=0,l0(r,h,o),hi(i[e+48>>2],v,u+24|0,0),r=i[u+24>>2],!r)continue;i[u+28>>2]=r,G(r);continue}break}w=i[e+48>>2],n=B-16|0,B=n,r=U(88),i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=71264,t=r+16|0,i[t+8>>2]=0,i[t+12>>2]=0,i[t+16>>2]=0,i[t+20>>2]=0,i[t+24>>2]=0,i[t+28>>2]=0,i[t+32>>2]=0,i[t>>2]=68500,i[r+60>>2]=0,i[r+52>>2]=0,i[r+56>>2]=0,i[t>>2]=74368,l[r+84|0]=0,l[r+85|0]=0,l[r+86|0]=0,l[r+87|0]=0,l[r+76|0]=0,l[r+77|0]=0,l[r+78|0]=0,l[r+79|0]=0,l[r+80|0]=0,l[r+81|0]=0,l[r+82|0]=0,l[r+83|0]=0,i[r+32>>2]=1635135811,o=s[u+80|0]|s[u+81|0]<<8|(s[u+82|0]<<16|s[u+83|0]<<24),h=s[u+76|0]|s[u+77|0]<<8|(s[u+78|0]<<16|s[u+79|0]<<24),l[r+64|0]=h,l[r+65|0]=h>>>8,l[r+66|0]=h>>>16,l[r+67|0]=h>>>24,l[r+68|0]=o,l[r+69|0]=o>>>8,l[r+70|0]=o>>>16,l[r+71|0]=o>>>24,o=s[u+84|0]|s[u+85|0]<<8|(s[u+86|0]<<16|s[u+87|0]<<24),l[r+72|0]=o,l[r+73|0]=o>>>8,l[r+74|0]=o>>>16,l[r+75|0]=o>>>24,i[n+8>>2]=r,i[n+4>>2]=t,i[r+4>>2]=i[r+4>>2]+1,t=N4(i[w+44>>2],n+4|0),o=i[w+52>>2],X[n+14>>1]=t+1,l[n+12|0]=1,i[n>>2]=Q[n+12>>1]|Q[n+14>>1]<<16,c1(o,v,n),t=i[n+8>>2];k:{if(!t||(o=i[t+4>>2],i[t+4>>2]=o-1,o))break k;V[i[i[t>>2]+8>>2]](t),g(t)}t=i[r+4>>2],i[r+4>>2]=t-1,t||(V[i[i[r>>2]+8>>2]](r),g(r)),B=n+16|0,n=i[u+88>>2],r=i[n+28>>2],n=i[n+24>>2],i[u+24>>2]=n,i[u+20>>2]=r,w=r,t=n,o=i[A>>2];k:{if(i[o>>2]<3||(o=i[o+112>>2],!o))break k;V[o|0](i[A+4>>2],t,r,u+24|0,u+20|0),w=i[u+20>>2],t=i[u+24>>2]}if(Vi(i[e+48>>2],v,t,w),A=i[u+24>>2],t=i[u+20>>2],(A|0)==(n|0)&(t|0)==(r|0)||(ar(i[e+48>>2],v,n,r,A,t),gr(i[e+48>>2],v,i[k+12>>2])),i[u+8>>2]=i[u+88>>2],r=i[u+92>>2],i[u+12>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),r=i[u+12>>2],i[u>>2]=i[u+8>>2],i[u+4>>2]=r,Wi(e,u,v),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break e}_0(f,i[19566],i[19567]);break e}f=i[u+28>>2];f:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break f;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=i[u+40>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f);break r}if(A=i[u+40>>2],k=i[u+44>>2],e=G2(k),e>>>0>=2147483640)break i;A:{f:{if(e>>>0>=11){t=(e|7)+1|0,r=U(t),i[u+32>>2]=t|-2147483648,i[u+24>>2]=r,i[u+28>>2]=e;break f}if(l[u+35|0]=e,r=u+24|0,!e)break A}F2(r,k,e)}if(l[e+r|0]=0,r0(f,n,A,u+24|0),l[u+35|0]>=0)break e;G(i[u+24>>2])}if(f=i[u+52>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[u+92>>2];r:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[u+100>>2];r:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}B=u+112|0;return}c2(),P()}function lk(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0;u=B-176|0,B=u,y=Ri(i[e+48>>2],16949),o=U(360),i[o+16>>2]=0,i[o+20>>2]=0,i[o>>2]=72656,i[o+4>>2]=0,i[o+8>>2]=0,l[o+152|0]=0,i[o+36>>2]=y,i[o+32>>2]=e,i[o+28>>2]=34648,i[o+40>>2]=0,i[o+44>>2]=0,i[o+52>>2]=0,i[o+56>>2]=0,i[o+68>>2]=0,i[o+72>>2]=0,i[o+80>>2]=0,i[o+84>>2]=0,i[o+156>>2]=0,i[o+160>>2]=0,i[o+24>>2]=0,X[o+48>>1]=0,X[o+58>>1]=0,X[o+60>>1]=0,X[o+62>>1]=0,X[o+64>>1]=0,l[o+76|0]=0,l[o+88|0]=0,i[o+204>>2]=0,i[o+196>>2]=0,i[o+200>>2]=0,i[o+188>>2]=0,i[o+192>>2]=0,i[o+180>>2]=0,i[o+184>>2]=0,i[o+172>>2]=0,i[o+176>>2]=0,i[o+164>>2]=0,i[o+168>>2]=0,i[o+212>>2]=0,i[o+216>>2]=0,l[o+208|0]=1,l[o+217|0]=0,l[o+218|0]=0,l[o+219|0]=0,l[o+220|0]=0,l[o+221|0]=0,l[o+222|0]=0,l[o+223|0]=0,l[o+224|0]=0,i[o+232>>2]=0,i[o+236>>2]=0,i[o+240>>2]=0,i[o+244>>2]=0,i[o+248>>2]=0,i[o+252>>2]=0,i[o+256>>2]=0,i[o+260>>2]=0,i[o+264>>2]=0,i[o+268>>2]=0,l[o+272|0]=0,B0(o+280|0,0,80),i[o+296>>2]=0,i[o+300>>2]=0,l[o+292|0]=1,i[o+304>>2]=0,i[o+308>>2]=0,i[o+312>>2]=0,i[o+316>>2]=0,i[o+328>>2]=0,i[o+332>>2]=0,i[o+320>>2]=0,i[o+324>>2]=1072693248,i[o+336>>2]=0,i[o+340>>2]=0,i[o+344>>2]=0,i[o+348>>2]=0,i[o+352>>2]=0,i[o+96>>2]=0,i[o+100>>2]=0,i[o+104>>2]=0,i[o+108>>2]=0,i[o+112>>2]=0,i[o+116>>2]=0,i[o+120>>2]=0,i[o+124>>2]=0,i[o+128>>2]=0,i[o+132>>2]=0,i[o+136>>2]=0,i[o+140>>2]=0,i[o+144>>2]=0,i[o+148>>2]=0,i[t>>2]=o+16,h=i[t+4>>2],i[t+4>>2]=o;i:{if(!h||(o=i[h+4>>2],i[h+4>>2]=o-1,o))break i;V[i[i[h>>2]+8>>2]](h),g(h)}o=i[r>>2],i[u+172>>2]=i[o+32>>2],i[u+168>>2]=i[o+36>>2],$r(u+160|0,r,i[k+4>>2]),o=i[A>>2];i:{if(i[o>>2]>=2){V[i[o+108>>2]](i[A+4>>2],u+172|0,u+168|0);break i}V[i[o+96>>2]](u+172|0,u+168|0)}i:{r:{e:{if(o=i[u+172>>2],h=i[r>>2],w=i[u+168>>2],!((o|0)!=i[h+32>>2]|(w|0)!=i[h+36>>2])){if(w=i[h+44>>2],h=i[h+48>>2],h&&(i[h+4>>2]=i[h+4>>2]+1),p6(o,w,h,i[k+4>>2]))break e;w=i[u+168>>2],o=i[u+172>>2]}if(i[u+132>>2]=i[u+160>>2],h=i[u+164>>2],i[u+136>>2]=h,h&&(i[h+4>>2]=i[h+4>>2]+1),N8(u+92|0,r,o,w,u+132|0,0,k+16|0),o=i[u+92>>2],r=i[u+96>>2],i[u+92>>2]=0,i[u+96>>2]=0,i[u+156>>2]=r,i[u+152>>2]=o,r=i[u+136>>2],r&&(o=i[r+4>>2],i[r+4>>2]=o-1,o||(V[i[i[r>>2]+8>>2]](r),g(r)),o=i[u+152>>2]),o){r=i[u+156>>2];break r}if(l[u+92|0]=0,l[u+103|0]=0,r0(f,4,3003,u+92|0),l[u+103|0]>=0)break i;G(i[u+92>>2]);break i}o=i[r>>2],r=i[r+4>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),i[u+156>>2]=r,i[u+152>>2]=o}D=y4(o,0),z=F4(o,0),h=i[t>>2],i[h+28>>2]=z,i[h+24>>2]=D,W=U(112),i[W>>2]=71224,i[W+4>>2]=0,i[W+8>>2]=0,E=W+16|0,i[E+8>>2]=0,i[E+12>>2]=0,i[E+16>>2]=0,i[E+20>>2]=0,i[E+24>>2]=0,i[E+28>>2]=0,i[E+32>>2]=0,i[E>>2]=68500,i[W+60>>2]=0,i[W+52>>2]=0,i[W+56>>2]=0,i[E>>2]=74252,i[W+108>>2]=0,i[W+100>>2]=0,i[W+104>>2]=0,l[W+96|0]=4,i[W+72>>2]=0,i[W+76>>2]=0,i[W+32>>2]=1752589123,i[u+148>>2]=0;r:{if(!r){i[u+148>>2]=0,i[u+144>>2]=o;break r}if(i[r+4>>2]=i[r+4>>2]+1,i[u+144>>2]=o,o=i[u+148>>2],i[u+148>>2]=r,!o||(r=i[o+4>>2],i[o+4>>2]=r-1,r))break r;V[i[i[o>>2]+8>>2]](o),g(o)}V[i[i[A>>2]+100>>2]](u+132|0,i[A+4>>2],u+144|0,n);r:{e:{A:{f:{k:{n:{if(r=i[u+132>>2],r){if(k=i[u+136>>2],n=i[u+140>>2],e=G2(n),e>>>0>=2147483640)break n;t:{o:{if(e>>>0>=11){t=(e|7)+1|0,A=U(t),i[u+100>>2]=t|-2147483648,i[u+92>>2]=A,i[u+96>>2]=e;break o}if(l[u+103|0]=e,A=u+92|0,!e)break t}F2(A,n,e)}if(l[e+A|0]=0,r0(f,r,k,u+92|0),l[u+103|0]>=0)break r;G(i[u+92>>2]);break r}if(i[u+128>>2]=0,i[u+124>>2]=0,V[i[i[A>>2]+104>>2]](u+92|0,i[A+4>>2],u+56|0,u+48|0,0),o=i[u+56>>2],o)for(H=W- -64|0;;){if(r=s[o|0],(r&254)==66){i[u+100>>2]=0,i[u+104>>2]=0,f0=u+72|0,a=o,S=i[u+48>>2],q=u+128|0,d=u+124|0,o=0,r=0,v=0,w=0,R=0,Z=B-96|0,B=Z,i[Z+92>>2]=0,i[Z+84>>2]=0,i[Z+88>>2]=0;t:{o:{u:{l:{s:{h:{w:{if(S){for(;;){_:{v:{if(C=w+2|0,S>>>0<=C>>>0||(h=w+a|0,s[h|0]|s[h+1|0]|s[C+a|0]!=3))break v;Z:{if(o>>>0>v>>>0){l[v|0]=0,w=v+1|0;break Z}if(I=v-r|0,h=I+1|0,(h|0)<0)break u;o=o-r|0,w=o<<1,J=o>>>0>=1073741823?2147483647:h>>>0>>0?w:h,J?w=U(J):w=0,_=w+I|0,l[_|0]=0,h=_;m:{if((r|0)==(v|0))break m;if(h=0,p=_,o=v,I=I&3,I)for(;p=p-1|0,o=o-1|0,l[p|0]=s[o|0],h=h+1|0,(I|0)!=(h|0););if(h=w,r-v>>>0>4294967292)break m;for(;l[p-1|0]=s[o-1|0],l[p-2|0]=s[o-2|0],l[p-3|0]=s[o-3|0],p=p-4|0,o=o-4|0,l[p|0]=s[o|0],(r|0)!=(o|0););h=w}o=w+J|0,w=_+1|0,r&&G(r),r=h}if(o>>>0>w>>>0){l[w|0]=0,v=w+1|0;break _}if(I=w-r|0,h=I+1|0,(h|0)<0)break w;o=o-r|0,_=o<<1,J=o>>>0>=1073741823?2147483647:h>>>0<_>>>0?_:h,J?_=U(J):_=0,v=_+I|0,l[v|0]=0,h=v;Z:{if((r|0)==(w|0))break Z;if(h=0,p=v,o=w,I=I&3,I)for(;p=p-1|0,o=o-1|0,l[p|0]=s[o|0],h=h+1|0,(I|0)!=(h|0););if(h=_,r-w>>>0>4294967292)break Z;for(;l[p-1|0]=s[o-1|0],l[p-2|0]=s[o-2|0],l[p-3|0]=s[o-3|0],p=p-4|0,o=o-4|0,l[p|0]=s[o|0],(r|0)!=(o|0););h=_}if(o=_+J|0,v=v+1|0,!r){r=h;break _}G(r),r=h;break _}h=w+a|0;v:{if(o>>>0>v>>>0){l[v|0]=s[h|0],v=v+1|0;break v}if(J=v-r|0,_=J+1|0,(_|0)<0)break u;o=o-r|0,p=o<<1,A0=o>>>0>=1073741823?2147483647:_>>>0

>>0?p:_,A0?_=U(A0):_=0,I=_+J|0,l[I|0]=s[h|0],h=I;Z:{if((r|0)==(v|0))break Z;if(p=0,o=h,C=v,h=J&3,h)for(;o=o-1|0,C=C-1|0,l[o|0]=s[C|0],p=p+1|0,(h|0)!=(p|0););if(h=_,r-v>>>0>4294967292)break Z;for(;l[o-1|0]=s[C-1|0],l[o-2|0]=s[C-2|0],l[o-3|0]=s[C-3|0],o=o-4|0,C=C-4|0,l[o|0]=s[C|0],(r|0)!=(C|0););h=_}o=_+A0|0,v=I+1|0,r&&G(r),r=h}C=w}if(w=C+1|0,!(S>>>0>w>>>0))break}i[Z+88>>2]=v,i[Z+84>>2]=r,i[Z+92>>2]=o}if(h=w6(Z+48|0,r,v-r|0),p2(h,16),p2(h,4),r=g0(h,3),n0=u,h0=g0(h,1),l[n0+120|0]=h0,n0=u,h0=g0(h,2),l[n0+93|0]=h0,n0=u,h0=(g0(h,1)&255)!=0,l[n0+94|0]=h0,n0=u,h0=g0(h,5),l[n0+95|0]=h0,n0=u,h0=g0(h,32),i[n0+96>>2]=h0,p2(h,16),p2(h,16),p2(h,16),n0=u,h0=g0(h,8),l[n0+108|0]=h0,i[Z+44>>2]=0,i[Z+36>>2]=0,i[Z+40>>2]=0,v=0,!r)break l;if((r|0)<0)break h;for(o=r-1>>>5|0,_=(o<<2)+4|0,v=U(_),p=r>>>0>=33?o:0,i[v+(p<<2)>>2]=0,o=r>>>5|0,r>>>0>=32&&B0(v,0,o<<2),w=r&31,w&&(C=(o<<2)+v|0,i[C>>2]=i[C>>2]&(-1>>>32-w^-1)),R=U(_),i[R+(p<<2)>>2]=0,r>>>0>=32&&B0(R,0,o<<2),w&&(o=(o<<2)+R|0,i[o>>2]=i[o>>2]&(-1>>>32-w^-1)),o=0;;){w=1<>>5<<2,_=p+v|0;_:{if(g0(h,1)){C=w|i[_>>2];break _}C=i[_>>2]&(w^-1)}i[_>>2]=C,_=p+R|0;_:{if(g0(h,1)){w=w|i[_>>2];break _}w=i[_>>2]&(w^-1)}if(i[_>>2]=w,o=o+1|0,(r|0)==(o|0))break}break s}i[Z+88>>2]=w;break o}y0(),P()}if(r>>>0<8)for(o=r;p2(h,2),o=o+1|0,(o|0)!=8;);for(o=0;_=1<>>5<<2,_&i[w+v>>2]&&(p2(h,8),p2(h,32),p2(h,16)),_&i[w+R>>2]&&p2(h,8),o=o+1|0,(r|0)!=(o|0););}g1(h,Z+32|0),g1(h,Z+28|0),r=i[Z+28>>2],l[u+113|0]=r,(r&255)==3&&p2(h,1),g1(h,q),g1(h,d),g0(h,1)&&(g1(h,Z+24|0),g1(h,Z+20|0),g1(h,Z+16|0),g1(h,Z+12|0),r=s[u+113|0],i[q>>2]=i[q>>2]-(i[Z+20>>2]+i[Z+24>>2]<<((r-1&255)>>>0<2)),i[d>>2]=i[d>>2]-(i[Z+12>>2]+i[Z+16>>2]<<((r|0)==1))),r=Z+28|0,g1(h,r),l[u+114|0]=s[Z+28|0]+8,g1(h,r),r=s[Z+28|0],i[u+116>>2]=16777216,l[u+112|0]=0,X[u+110>>1]=0,l[u+92|0]=1,l[u+115|0]=r+8,o=i[19565],r=f0,i[r>>2]=i[19564],i[r+4>>2]=o,r=r+8|0;l:{if(l[78275]>=0){o=i[19567],i[r>>2]=i[19566],i[r+4>>2]=o,i[r+8>>2]=i[19568];break l}_0(r,i[19566],i[19567])}R&&G(R),v&&G(v),r=i[Z+84>>2],r&&(i[Z+88>>2]=r,G(r)),B=Z+96|0;break t}i[Z+88>>2]=v}i[Z+84>>2]=r,i[Z+92>>2]=o,y0(),P()}l[u+91|0]<0&&G(i[u+80>>2]),r=i[u+96>>2],i[H>>2]=i[u+92>>2],i[H+4>>2]=r,o=s[u+117|0]|s[u+118|0]<<8|(s[u+119|0]<<16|s[u+120|0]<<24),r=H,h=s[u+113|0]|s[u+114|0]<<8|(s[u+115|0]<<16|s[u+116|0]<<24),l[r+21|0]=h,l[r+22|0]=h>>>8,l[r+23|0]=h>>>16,l[r+24|0]=h>>>24,l[r+25|0]=o,l[r+26|0]=o>>>8,l[r+27|0]=o>>>16,l[r+28|0]=o>>>24,o=i[u+112>>2],i[r+16>>2]=i[u+108>>2],i[r+20>>2]=o,o=i[u+104>>2],i[r+8>>2]=i[u+100>>2],i[r+12>>2]=o,o=i[u+56>>2],r=s[o|0]}t:{if((((r&254)>>>1|0)-32&255)>>>0<=2){r=i[u+48>>2],w=B-32|0,B=w,i[w+28>>2]=0,i[w+20>>2]=0,i[w+24>>2]=0,r?(L2(w+20|0,r),h=i[w+20>>2]):h=0,l0(h,o,r),i[w+16>>2]=0,i[w+8>>2]=0,i[w+12>>2]=0,l[w+4|0]=0,l[w+5|0]=s[i[w+20>>2]]>>>1,n0=w,h0=NA(w+8|0,w+20|0),i[n0+12>>2]=h0,r=i[E+88>>2];o:{if(r>>>0>2]){o=Q[w+4>>1],i[r+12>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,X[r>>1]=o,o=i[w+8>>2],h=i[w+12>>2],qA(r+4|0,o,h,(h-o|0)/12|0),r=r+16|0;break o}r=yn(E+84|0,w+4|0)}if(i[E+88>>2]=r,h=i[w+8>>2],h){if(r=h,o=i[w+12>>2],(r|0)!=(o|0)){for(;r=o-12|0,_=i[r>>2],_&&(i[o-8>>2]=_,G(_)),o=r,(h|0)!=(o|0););r=i[w+8>>2]}i[w+12>>2]=h,G(r)}r=i[w+20>>2],r&&(i[w+24>>2]=r,G(r)),B=w+32|0;break t}m9(i[e+48>>2],y,o,i[u+48>>2])}if(V[i[i[A>>2]+104>>2]](u+92|0,i[A+4>>2],u+56|0,u+48|0,0),o=i[u+56>>2],!o)break}if(!(i[u+124>>2]&&i[u+128>>2])){if(l[u+92|0]=0,l[u+103|0]=0,r0(f,8,129,u+92|0),l[u+103|0]>=0)break r;G(i[u+92>>2]);break r}r=i[e+48>>2],i[u+96>>2]=W,i[u+92>>2]=E,i[W+4>>2]=i[W+4>>2]+1,se(r,y,u+92|0,1),r=i[u+96>>2];t:{if(!r||(o=i[r+4>>2],i[r+4>>2]=o-1,o))break t;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[A>>2];t:{if(i[r>>2]<3||(r=i[r+112>>2],!r))break t;i[u+92>>2]=D,i[u+56>>2]=z,V[r|0](i[A+4>>2],D,z,u+92|0,u+56|0)}Vi(i[e+48>>2],y,i[u+128>>2],i[u+124>>2]),r=i[u+128>>2],o=i[u+124>>2];t:{if((r|0)==(D|0)&(o|0)==(z|0)||(ar(i[e+48>>2],y,D,z,r,o),E3(D,z,i[i[u+152>>2]+36>>2])))break t;l[i[t>>2]+192|0]=0}gr(i[e+48>>2],y,i[k+12>>2]);t:switch(n-1|0){case 0:case 3:break t;default:break e}n=i[u+152>>2],r=i[n+52>>2],n=i[n+56>>2];t:{if(!n){if(!r)break t;w=i[e+48>>2],i[u+96>>2]=0,i[u+92>>2]=r;break f}if(i[n+4>>2]=i[n+4>>2]+1,r)break k}r=s[k|0],o=i[k+4>>2]!=0;break A}c2(),P()}w=i[e+48>>2],i[u+96>>2]=n,i[u+92>>2]=r,i[n+4>>2]=i[n+4>>2]+1}p8(w,y,u+92|0),r=i[u+96>>2];f:{if(!r||(o=i[r+4>>2],i[r+4>>2]=o-1,o))break f;V[i[i[r>>2]+8>>2]](r),g(r)}r=s[k|0],o=s[k+3|0]!=0&i[k+4>>2]!=0&r>>>0>2}A:{if(!(!s[k+8|0]|(r&255)>>>0<4)|!o||(o=i[e+48>>2],i[u+92>>2]=i[u+160>>2],r=i[u+164>>2],i[u+96>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),p8(o,y,u+92|0),r=i[u+96>>2],!r)||(o=i[r+4>>2],i[r+4>>2]=o-1,o))break A;V[i[i[r>>2]+8>>2]](r),g(r)}if(!n||(r=i[n+4>>2],i[n+4>>2]=r-1,r))break e;V[i[i[n>>2]+8>>2]](n),g(n)}i[u+64>>2]=i[u+152>>2],r=i[u+156>>2],i[u+68>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),r=i[u+68>>2],i[u+16>>2]=i[u+64>>2],i[u+20>>2]=r,Wi(e,u+16|0,y),r=i[e+32>>2];e:{if(r>>>0>2]){i[r>>2]=i[t>>2],n=i[t+4>>2],i[r+4>>2]=n,n&&(i[n+4>>2]=i[n+4>>2]+1),r=r+8|0;break e}r=Q2(e+28|0,t)}i[e+32>>2]=r,r=i[e+20>>2];e:{A:{if(!r){w=e+20|0,o=w;break A}for(;;){if(o=r,r=i[o+16>>2],r>>>0>y>>>0){if(w=o,r=i[o>>2],r)continue;break A}if(r>>>0>=y>>>0){r=o;break e}if(r=i[o+4>>2],!r)break}w=o+4|0}r=U(28),i[r+20>>2]=0,i[r+24>>2]=0,i[r+16>>2]=y,i[r+8>>2]=o,i[r>>2]=0,i[r+4>>2]=0,i[w>>2]=r,o=r,n=i[i[e+16>>2]>>2],n&&(i[e+16>>2]=n,o=i[w>>2]),D1(i[e+20>>2],o),i[e+24>>2]=i[e+24>>2]+1}n=i[t>>2],t=i[t+4>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[r+20>>2]=n,n=i[r+24>>2],i[r+24>>2]=t;e:{if(!n||(r=i[n+4>>2],i[n+4>>2]=r-1,r))break e;V[i[i[n>>2]+8>>2]](n),g(n)}e:{A:{if(!s[k+1|0]||!H2(i[u+152>>2],6))break A;i[u+56>>2]=0,i[u+60>>2]=0,s6(u+92|0,u+152|0),n=i[u+92>>2],t=i[u+96>>2],i[u+92>>2]=0,i[u+96>>2]=0,r=i[u+60>>2],i[u+56>>2]=n,i[u+60>>2]=t;f:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n||(V[i[i[r>>2]+8>>2]](r),g(r)),r=i[u+96>>2],!r)||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break f;V[i[i[r>>2]+8>>2]](r),g(r)}if(i[u+48>>2]=0,i[u+52>>2]=0,lk(f,e,u+56|0,A,k,2,u+48|0),i[f>>2])break e;r=i[i[u+48>>2]+20>>2],A=i[e+48>>2],i[u+44>>2]=1,i[u+36>>2]=y,i[u+40>>2]=u+36,k=i[u+44>>2],i[u+8>>2]=i[u+40>>2],i[u+12>>2]=k,k=r,r=ue(u+92|0,u+8|0),P1(A,k,1635088492,r),A=i[r>>2],A&&(i[r+4>>2]=A,G(A));f:{if(s[i[u+152>>2]+40|0]!=1||(r=i[e+48>>2],A=i[i[u+48>>2]+20>>2],i[u+32>>2]=1,i[u+36>>2]=A,i[u+28>>2]=u+36,A=i[u+32>>2],i[u>>2]=i[u+28>>2],i[u+4>>2]=A,A=r,r=ue(u+92|0,u),P1(A,y,1886545261,r),A=i[r>>2],!A))break f;i[r+4>>2]=A,G(A)}r=i[e+48>>2],A=i[i[u+48>>2]+20>>2],e=C1(u+92|0,17014),_6(r,A,e),l[e+11|0]<0&&G(i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),v1(u+48|0),v1(u+56|0)}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break r}_0(f,i[19566],i[19567]);break r}f=i[u+52>>2];e:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break e;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=i[u+60>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[u+148>>2];r:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=i[W+4>>2],i[W+4>>2]=f-1,f)break i;V[i[i[W>>2]+8>>2]](W),g(W)}f=i[u+156>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[u+164>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=u+176|0}function uk(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0;u=B-80|0,B=u,v=Ri(i[e+48>>2],16929),o=U(360),i[o+16>>2]=0,i[o+20>>2]=0,i[o>>2]=72656,i[o+4>>2]=0,i[o+8>>2]=0,l[o+152|0]=0,i[o+36>>2]=v,i[o+32>>2]=e,i[o+28>>2]=34648,i[o+40>>2]=0,i[o+44>>2]=0,i[o+52>>2]=0,i[o+56>>2]=0,i[o+68>>2]=0,i[o+72>>2]=0,i[o+80>>2]=0,i[o+84>>2]=0,i[o+156>>2]=0,i[o+160>>2]=0,i[o+24>>2]=0,X[o+48>>1]=0,X[o+58>>1]=0,X[o+60>>1]=0,X[o+62>>1]=0,X[o+64>>1]=0,l[o+76|0]=0,l[o+88|0]=0,i[o+204>>2]=0,i[o+196>>2]=0,i[o+200>>2]=0,i[o+188>>2]=0,i[o+192>>2]=0,i[o+180>>2]=0,i[o+184>>2]=0,i[o+172>>2]=0,i[o+176>>2]=0,i[o+164>>2]=0,i[o+168>>2]=0,i[o+212>>2]=0,i[o+216>>2]=0,l[o+208|0]=1,l[o+217|0]=0,l[o+218|0]=0,l[o+219|0]=0,l[o+220|0]=0,l[o+221|0]=0,l[o+222|0]=0,l[o+223|0]=0,l[o+224|0]=0,i[o+232>>2]=0,i[o+236>>2]=0,i[o+240>>2]=0,i[o+244>>2]=0,i[o+248>>2]=0,i[o+252>>2]=0,i[o+256>>2]=0,i[o+260>>2]=0,i[o+264>>2]=0,i[o+268>>2]=0,l[o+272|0]=0,B0(o+280|0,0,80),i[o+296>>2]=0,i[o+300>>2]=0,l[o+292|0]=1,i[o+304>>2]=0,i[o+308>>2]=0,i[o+312>>2]=0,i[o+316>>2]=0,i[o+328>>2]=0,i[o+332>>2]=0,i[o+320>>2]=0,i[o+324>>2]=1072693248,i[o+336>>2]=0,i[o+340>>2]=0,i[o+344>>2]=0,i[o+348>>2]=0,i[o+352>>2]=0,i[o+96>>2]=0,i[o+100>>2]=0,i[o+104>>2]=0,i[o+108>>2]=0,i[o+112>>2]=0,i[o+116>>2]=0,i[o+120>>2]=0,i[o+124>>2]=0,i[o+128>>2]=0,i[o+132>>2]=0,i[o+136>>2]=0,i[o+140>>2]=0,i[o+144>>2]=0,i[o+148>>2]=0,i[t>>2]=o+16,h=i[t+4>>2],i[t+4>>2]=o;i:{if(!h||(o=i[h+4>>2],i[h+4>>2]=o-1,o))break i;V[i[i[h>>2]+8>>2]](h),g(h)}o=i[e+32>>2];i:{if(o>>>0>2]){i[o>>2]=i[t>>2],t=i[t+4>>2],i[o+4>>2]=t,t&&(i[t+4>>2]=i[t+4>>2]+1),t=o+8|0;break i}t=Q2(e+28|0,t)}i[e+32>>2]=t,t=i[r>>2],i[u+76>>2]=i[t+32>>2],i[u+72>>2]=i[t+36>>2],$r(u- -64|0,r,i[k+4>>2]),t=i[A>>2];i:{if(i[t>>2]>=2){V[i[t+108>>2]](i[A+4>>2],u+76|0,u+72|0);break i}V[i[t+96>>2]](u+76|0,u+72|0)}i:{r:{e:{if(o=i[u+76>>2],h=i[r>>2],t=i[u+72>>2],!((o|0)!=i[h+32>>2]|(t|0)!=i[h+36>>2])){if(_=i[h+44>>2],t=i[h+48>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),p6(o,_,t,i[k+4>>2]))break e;o=i[u+76>>2],t=i[u+72>>2]}if(i[u+48>>2]=i[u+64>>2],h=i[u+68>>2],i[u+52>>2]=h,h&&(i[h+4>>2]=i[h+4>>2]+1),N8(u+36|0,r,o,t,u+48|0,0,k+16|0),o=i[u+36>>2],t=i[u+40>>2],i[u+36>>2]=0,i[u+40>>2]=0,i[u+60>>2]=t,i[u+56>>2]=o,t=i[u+52>>2],t&&(o=i[t+4>>2],i[t+4>>2]=o-1,o||(V[i[i[t>>2]+8>>2]](t),g(t)),o=i[u+56>>2]),o)break r;if(l[u+36|0]=0,l[u+47|0]=0,r0(f,4,3003,u+36|0),l[u+47|0]>=0)break i;G(i[u+36>>2]);break i}o=i[r>>2],t=i[r+4>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[u+60>>2]=t,i[u+56>>2]=o}r:{e:{if(!s[k+1|0]||!H2(o,6))break e;i[u+48>>2]=0,i[u+52>>2]=0,s6(u+36|0,u+56|0),o=i[u+36>>2],h=i[u+40>>2],i[u+36>>2]=0,i[u+40>>2]=0,t=i[u+52>>2],i[u+48>>2]=o,i[u+52>>2]=h;A:{if(!t||(o=i[t+4>>2],i[t+4>>2]=o-1,o||(V[i[i[t>>2]+8>>2]](t),g(t)),t=i[u+40>>2],!t)||(o=i[t+4>>2],i[t+4>>2]=o-1,o))break A;V[i[i[t>>2]+8>>2]](t),g(t)}if(i[u+28>>2]=0,i[u+32>>2]=0,uk(f,e,u+48|0,A,k,2,u+28|0),i[f>>2])break r;t=i[i[u+28>>2]+20>>2],o=i[e+48>>2],k=U(4),i[u+36>>2]=k,h=k+4|0,i[u+44>>2]=h,i[k>>2]=v,i[u+40>>2]=h,P1(o,t,1635088492,u+36|0),k=i[u+36>>2],k&&(i[u+40>>2]=k,G(k)),h=i[i[u+28>>2]+20>>2],_=i[e+48>>2],k=U(48),i[u+36>>2]=k,i[u+40>>2]=43,i[u+44>>2]=-2147483600,t=s[14658]|s[14659]<<8|(s[14660]<<16|s[14661]<<24),l[k+39|0]=t,l[k+40|0]=t>>>8,l[k+41|0]=t>>>16,l[k+42|0]=t>>>24,t=s[14655]|s[14656]<<8|(s[14657]<<16|s[14658]<<24),o=s[14651]|s[14652]<<8|(s[14653]<<16|s[14654]<<24),l[k+32|0]=o,l[k+33|0]=o>>>8,l[k+34|0]=o>>>16,l[k+35|0]=o>>>24,l[k+36|0]=t,l[k+37|0]=t>>>8,l[k+38|0]=t>>>16,l[k+39|0]=t>>>24,t=s[14647]|s[14648]<<8|(s[14649]<<16|s[14650]<<24),o=s[14643]|s[14644]<<8|(s[14645]<<16|s[14646]<<24),l[k+24|0]=o,l[k+25|0]=o>>>8,l[k+26|0]=o>>>16,l[k+27|0]=o>>>24,l[k+28|0]=t,l[k+29|0]=t>>>8,l[k+30|0]=t>>>16,l[k+31|0]=t>>>24,t=s[14639]|s[14640]<<8|(s[14641]<<16|s[14642]<<24),o=s[14635]|s[14636]<<8|(s[14637]<<16|s[14638]<<24),l[k+16|0]=o,l[k+17|0]=o>>>8,l[k+18|0]=o>>>16,l[k+19|0]=o>>>24,l[k+20|0]=t,l[k+21|0]=t>>>8,l[k+22|0]=t>>>16,l[k+23|0]=t>>>24,t=s[14631]|s[14632]<<8|(s[14633]<<16|s[14634]<<24),o=s[14627]|s[14628]<<8|(s[14629]<<16|s[14630]<<24),l[k+8|0]=o,l[k+9|0]=o>>>8,l[k+10|0]=o>>>16,l[k+11|0]=o>>>24,l[k+12|0]=t,l[k+13|0]=t>>>8,l[k+14|0]=t>>>16,l[k+15|0]=t>>>24,t=s[14623]|s[14624]<<8|(s[14625]<<16|s[14626]<<24),o=s[14619]|s[14620]<<8|(s[14621]<<16|s[14622]<<24),l[k|0]=o,l[k+1|0]=o>>>8,l[k+2|0]=o>>>16,l[k+3|0]=o>>>24,l[k+4|0]=t,l[k+5|0]=t>>>8,l[k+6|0]=t>>>16,l[k+7|0]=t>>>24,l[k+43|0]=0,_6(_,h,u+36|0),l[u+47|0]<0&&G(i[u+36>>2]);A:{if(s[i[u+56>>2]+40|0]!=1||(t=i[e+48>>2],o=i[i[u+28>>2]+20>>2],k=U(4),i[u+36>>2]=k,h=k+4|0,i[u+44>>2]=h,i[k>>2]=o,i[u+40>>2]=h,P1(t,v,1886545261,u+36|0),k=i[u+36>>2],!k))break A;i[u+40>>2]=k,G(k)}l[f+19|0]<0&&G(i[f+8>>2]),k=i[u+32>>2];A:{if(!k||(t=i[k+4>>2],i[k+4>>2]=t-1,t))break A;V[i[i[k>>2]+8>>2]](k),g(k)}k=i[u+52>>2];A:{if(!k||(t=i[k+4>>2],i[k+4>>2]=t-1,t))break A;V[i[i[k>>2]+8>>2]](k),g(k)}o=i[u+56>>2]}i[u+52>>2]=0,t=i[u+60>>2];e:{if(!t){i[u+52>>2]=0,i[u+48>>2]=o;break e}if(i[t+4>>2]=i[t+4>>2]+1,i[u+48>>2]=o,k=i[u+52>>2],i[u+52>>2]=t,!k||(t=i[k+4>>2],i[k+4>>2]=t-1,t))break e;V[i[i[k>>2]+8>>2]](k),g(k)}if(k=u+36|0,V[i[i[A>>2]+100>>2]](k,i[A+4>>2],u+48|0,n),V[i[i[A>>2]+104>>2]](k,i[A+4>>2],u+28|0,u+24|0,0),o=i[u+28>>2],o)for(;t=0,i[u+44>>2]=0,i[u+36>>2]=0,i[u+40>>2]=0,k=i[u+24>>2],k?(L2(u+36|0,k),t=i[u+24>>2],o=i[u+28>>2],k=i[u+36>>2]):k=0,l0(k,o,t),hi(i[e+48>>2],v,u+36|0,0),k=i[u+36>>2],k&&(i[u+40>>2]=k,G(k)),V[i[i[A>>2]+104>>2]](u+36|0,i[A+4>>2],u+28|0,u+24|0,0),o=i[u+28>>2],!!o;);r=i[r>>2],Vi(i[e+48>>2],v,i[r+24>>2],i[r+28>>2]),A=i[e+48>>2],i[u+36>>2]=i[u+64>>2],r=i[u+68>>2],i[u+40>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),p8(A,v,u+36|0),r=i[u+40>>2];e:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break e;V[i[i[r>>2]+8>>2]](r),g(r)}o=i[e+48>>2],A=B-16|0,B=A,r=U(64),i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=72144,n=r+16|0,k=n,i[k+8>>2]=0,i[k+12>>2]=0,i[k+16>>2]=0,i[k+20>>2]=0,i[k+24>>2]=0,i[k+28>>2]=0,i[k+32>>2]=0,i[k>>2]=68500,i[r+60>>2]=0,i[r+52>>2]=0,i[r+56>>2]=0,i[k>>2]=74848,i[r+32>>2]=1781689160,i[u+40>>2]=r,i[u+36>>2]=k,k=i[o+44>>2],i[A+12>>2]=r,i[A+8>>2]=n,i[r+4>>2]=i[r+4>>2]+1,t=i[k+40>>2];e:{A:{if(t>>>0>2]){i[t+4>>2]=r,i[t>>2]=n,i[r+4>>2]=i[r+4>>2]+1,n=t+8|0,i[k+40>>2]=n,k=i[k+36>>2];break A}if(n=Q2(k+36|0,A+8|0),r=i[A+12>>2],i[k+40>>2]=n,k=i[k+36>>2],!r)break e}if(t=i[r+4>>2],i[r+4>>2]=t-1,t)break e;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[o+52>>2],l[A+4|0]=1,X[A+6>>1]=n-k>>>3,i[A>>2]=Q[A+4>>1]|Q[A+6>>1]<<16,c1(r,v,A),B=A+16|0,A=U(80),i[A>>2]=72184,i[A+4>>2]=0,i[A+8>>2]=0,h=A+16|0,r=h,i[r+8>>2]=0,i[r+12>>2]=0,i[r+16>>2]=0,i[r+20>>2]=0,i[r+24>>2]=0,i[r+28>>2]=0,i[r+32>>2]=0,i[r>>2]=68500,i[A+60>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[r>>2]=74608,i[A+72>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A+32>>2]=1667523942,o=0;e:{A:{f:{k:{n:{t:{o:{u:switch(i[i[u+56>>2]+32>>2]){case 1:_=h+48|0,n=i[h+52>>2],r=i[h+56>>2];l:{if(n>>>0>>0){X[n+4>>1]=1,X[n>>1]=0,X[n+2>>1]=0,k=n+6|0;break l}if(o=i[h+48>>2],w=(n-o|0)/6|0,t=w+1|0,t>>>0>=715827883)break o;if(k=0,r=(r-o|0)/6|0,Z=r<<1,r=r>>>0>=357913941?715827882:t>>>0>>0?Z:t,r){if(r>>>0>=715827883)break t;k=U(m(r,6))}if(t=m(w,6)+k|0,X[t+4>>1]=1,X[t>>1]=0,X[t+2>>1]=0,r=m(r,6)+k|0,k=t+6|0,(n|0)!=(o|0)){for(;t=t-6|0,n=n-6|0,w=Q[n>>1]|Q[n+2>>1]<<16,X[t>>1]=w,X[t+2>>1]=w>>>16,X[t+4>>1]=Q[n+4>>1],(n|0)!=(o|0););o=i[h+48>>2]}if(i[h+56>>2]=r,i[h+52>>2]=k,i[h+48>>2]=t,!o)break l;G(o),r=i[h+56>>2]}i[h+52>>2]=k;l:{if(r>>>0>k>>>0){X[k+4>>1]=2,X[k>>1]=1,X[k+2>>1]=0,n=k+6|0;break l}if(o=i[h+48>>2],t=(k-o|0)/6|0,n=t+1|0,n>>>0>=715827883)break o;if(r=(r-o|0)/6|0,w=r<<1,r=r>>>0>=357913941?715827882:n>>>0>>0?w:n,r){if(r>>>0>=715827883)break t;n=U(m(r,6))}else n=0;if(t=n+m(t,6)|0,X[t+4>>1]=2,X[t>>1]=1,X[t+2>>1]=0,r=n+m(r,6)|0,n=t+6|0,(k|0)!=(o|0)){for(;t=t-6|0,k=k-6|0,w=Q[k>>1]|Q[k+2>>1]<<16,X[t>>1]=w,X[t+2>>1]=w>>>16,X[t+4>>1]=Q[k+4>>1],(k|0)!=(o|0););o=i[h+48>>2]}if(i[h+56>>2]=r,i[h+52>>2]=n,i[h+48>>2]=t,!o)break l;G(o),r=i[h+56>>2]}if(i[h+52>>2]=n,r>>>0>n>>>0)break f;if(t=i[h+48>>2],w=(n-t|0)/6|0,k=w+1|0,k>>>0>=715827883)break o;if(r=(r-t|0)/6|0,o=r<<1,o=r>>>0>=357913941?715827882:k>>>0>>0?o:k,o){if(o>>>0>=715827883)break t;r=U(m(o,6))}else r=0;k=r+m(w,6)|0,X[k+4>>1]=3;break A;case 0:_=h+48|0,n=i[h+52>>2],r=i[h+56>>2];l:{if(n>>>0>>0){X[n+4>>1]=1,X[n>>1]=0,X[n+2>>1]=0,k=n+6|0;break l}if(o=i[h+48>>2],w=(n-o|0)/6|0,t=w+1|0,t>>>0>=715827883)break n;if(k=0,r=(r-o|0)/6|0,Z=r<<1,r=r>>>0>=357913941?715827882:t>>>0>>0?Z:t,r){if(r>>>0>=715827883)break t;k=U(m(r,6))}if(t=m(w,6)+k|0,X[t+4>>1]=1,X[t>>1]=0,X[t+2>>1]=0,r=m(r,6)+k|0,k=t+6|0,(n|0)!=(o|0)){for(;t=t-6|0,n=n-6|0,w=Q[n>>1]|Q[n+2>>1]<<16,X[t>>1]=w,X[t+2>>1]=w>>>16,X[t+4>>1]=Q[n+4>>1],(n|0)!=(o|0););o=i[h+48>>2]}if(i[h+56>>2]=r,i[h+52>>2]=k,i[h+48>>2]=t,!o)break l;G(o),r=i[h+56>>2]}i[h+52>>2]=k;l:{if(r>>>0>k>>>0){X[k+4>>1]=2,X[k>>1]=1,X[k+2>>1]=0,n=k+6|0;break l}if(o=i[h+48>>2],t=(k-o|0)/6|0,n=t+1|0,n>>>0>=715827883)break n;if(r=(r-o|0)/6|0,w=r<<1,r=r>>>0>=357913941?715827882:n>>>0>>0?w:n,r){if(r>>>0>=715827883)break t;n=U(m(r,6))}else n=0;if(t=n+m(t,6)|0,X[t+4>>1]=2,X[t>>1]=1,X[t+2>>1]=0,r=n+m(r,6)|0,n=t+6|0,(k|0)!=(o|0)){for(;t=t-6|0,k=k-6|0,w=Q[k>>1]|Q[k+2>>1]<<16,X[t>>1]=w,X[t+2>>1]=w>>>16,X[t+4>>1]=Q[k+4>>1],(k|0)!=(o|0););o=i[h+48>>2]}if(i[h+56>>2]=r,i[h+52>>2]=n,i[h+48>>2]=t,!o)break l;G(o),r=i[h+56>>2]}if(i[h+52>>2]=n,r>>>0>n>>>0)break f;if(t=i[h+48>>2],w=(n-t|0)/6|0,k=w+1|0,k>>>0>=715827883)break n;if(r=(r-t|0)/6|0,o=r<<1,o=r>>>0>=357913941?715827882:k>>>0>>0?o:k,o){if(o>>>0>=715827883)break t;r=U(m(o,6))}else r=0;k=r+m(w,6)|0,X[k+4>>1]=3;break A;case 2:break u;default:break e}k=i[h+52>>2],n=i[h+56>>2];u:{if(k>>>0>>0){X[k+4>>1]=1,X[k>>1]=0,X[k+2>>1]=0,o=k+6|0;break u}if(t=i[h+48>>2],_=(k-t|0)/6|0,r=_+1|0,r>>>0>=715827883)break k;if(n=(n-t|0)/6|0,w=n<<1,r=n>>>0>=357913941?715827882:r>>>0>>0?w:r,r){if(r>>>0>=715827883)break t;o=U(m(r,6))}if(n=m(_,6)+o|0,X[n+4>>1]=1,X[n>>1]=0,X[n+2>>1]=0,r=m(r,6)+o|0,o=n+6|0,(k|0)!=(t|0)){for(;n=n-6|0,k=k-6|0,_=Q[k>>1]|Q[k+2>>1]<<16,X[n>>1]=_,X[n+2>>1]=_>>>16,X[n+4>>1]=Q[k+4>>1],(k|0)!=(t|0););t=i[h+48>>2]}if(i[h+56>>2]=r,i[h+52>>2]=o,i[h+48>>2]=n,!t)break u;G(t)}i[h+52>>2]=o;break e}y0(),P()}_2(),P()}y0(),P()}y0(),P()}X[n+4>>1]=3,X[n>>1]=2,X[n+2>>1]=0,i[h+52>>2]=n+6;break e}if(X[k>>1]=2,X[k+2>>1]=0,w=k+6|0,(n|0)!=(t|0)){for(;k=k-6|0,n=n-6|0,Z=Q[n>>1]|Q[n+2>>1]<<16,X[k>>1]=Z,X[k+2>>1]=Z>>>16,X[k+4>>1]=Q[n+4>>1],(n|0)!=(t|0););t=i[_>>2]}i[h+56>>2]=m(o,6)+r,i[h+52>>2]=w,i[h+48>>2]=k,t&&G(t),i[h+52>>2]=w}r=i[u+36>>2],i[u+32>>2]=A,i[u+28>>2]=h,i[A+4>>2]=i[A+4>>2]+1,k=i[r+40>>2];e:{A:{if(k>>>0>2]){i[k+4>>2]=A,i[k>>2]=h,i[A+4>>2]=i[A+4>>2]+1,i[r+40>>2]=k+8,t=A;break A}if(k=Q2(r+36|0,u+28|0),t=i[u+32>>2],i[r+40>>2]=k,!t)break e}if(r=i[t+4>>2],i[t+4>>2]=r-1,r)break e;V[i[i[t>>2]+8>>2]](t),g(t)}i[u+16>>2]=i[u+56>>2],r=i[u+60>>2],i[u+20>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),r=i[u+20>>2],i[u+8>>2]=i[u+16>>2],i[u+12>>2]=r,Wi(e,u+8|0,v),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;e:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break e}_0(f,i[19566],i[19567])}f=i[A+4>>2],i[A+4>>2]=f-1,f||(V[i[i[A>>2]+8>>2]](A),g(A)),f=i[u+40>>2];e:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break e;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=i[u+52>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f);break i}f=i[u+32>>2];r:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=i[u+52>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[u+60>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[u+68>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=u+80|0}function wA(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0;_=B-32|0,B=_,w8(_+8|0,r,A,e+60|0);i:{if(i[_+8>>2]){e=i[_+12>>2],i[f>>2]=i[_+8>>2],i[f+4>>2]=e,e=i[_+20>>2],i[f+8>>2]=i[_+16>>2],i[f+12>>2]=e,i[f+16>>2]=i[_+24>>2];break i}o=B-48|0,B=o,i[e+72>>2]=0,k=o+24|0,A=B-16|0,B=A;r:{e:{if(n=i[e+60>>2],r=i[e+64>>2]-n|0,r>>>0>=2&&(t=r-2|0,r=i[e+72>>2],t>>>0>=r>>>0))break e;if(l[A+4|0]=0,l[A+15|0]=0,r0(k,2,140,A+4|0),l[A+15|0]>=0)break r;G(i[A+4>>2]);break r}if(n=r+n|0,n=s[n|0]|s[n+1|0]<<8,i[e+72>>2]=r+2,((n<<8|n>>>8)&65535)==65359){if(r=i[19565],i[k>>2]=i[19564],i[k+4>>2]=r,r=k+8|0,l[78275]>=0){k=i[19567],i[r>>2]=i[19566],i[r+4>>2]=k,i[r+8>>2]=i[19568];break r}_0(r,i[19566],i[19567]);break r}if(r=U(32),i[A+4>>2]=r,i[A+8>>2]=27,i[A+12>>2]=-2147483616,n=s[5671]|s[5672]<<8|(s[5673]<<16|s[5674]<<24),u=s[5667]|s[5668]<<8|(s[5669]<<16|s[5670]<<24),l[r|0]=u,l[r+1|0]=u>>>8,l[r+2|0]=u>>>16,l[r+3|0]=u>>>24,l[r+4|0]=n,l[r+5|0]=n>>>8,l[r+6|0]=n>>>16,l[r+7|0]=n>>>24,l[r+27|0]=0,n=s[5690]|s[5691]<<8|(s[5692]<<16|s[5693]<<24),l[r+23|0]=n,l[r+24|0]=n>>>8,l[r+25|0]=n>>>16,l[r+26|0]=n>>>24,n=s[5687]|s[5688]<<8|(s[5689]<<16|s[5690]<<24),u=s[5683]|s[5684]<<8|(s[5685]<<16|s[5686]<<24),l[r+16|0]=u,l[r+17|0]=u>>>8,l[r+18|0]=u>>>16,l[r+19|0]=u>>>24,l[r+20|0]=n,l[r+21|0]=n>>>8,l[r+22|0]=n>>>16,l[r+23|0]=n>>>24,n=s[5679]|s[5680]<<8|(s[5681]<<16|s[5682]<<24),u=s[5675]|s[5676]<<8|(s[5677]<<16|s[5678]<<24),l[r+8|0]=u,l[r+9|0]=u>>>8,l[r+10|0]=u>>>16,l[r+11|0]=u>>>24,l[r+12|0]=n,l[r+13|0]=n>>>8,l[r+14|0]=n>>>16,l[r+15|0]=n>>>24,r0(k,2,140,A+4|0),l[A+15|0]>=0)break r;G(i[A+4>>2])}B=A+16|0;r:{if(i[o+24>>2]){e=i[o+28>>2],i[f>>2]=i[o+24>>2],i[f+4>>2]=e,i[f+16>>2]=i[o+40>>2],e=i[o+36>>2],i[f+8>>2]=i[o+32>>2],i[f+12>>2]=e,i[o+40>>2]=0,i[o+32>>2]=0,i[o+36>>2]=0;break r}n=B-16|0,B=n;e:{A:{if(A=i[e+60>>2],u=i[e+64>>2]-A|0,u>>>0>=43&&(r=i[e+72>>2],r>>>0<=u-43>>>0))break A;if(l[n+4|0]=0,l[n+15|0]=0,r0(o,2,140,n+4|0),l[n+15|0]>=0)break e;G(i[n+4>>2]);break e}if(k=r+A|0,k=s[k|0]|s[k+1|0]<<8,t=r+2|0,i[e+72>>2]=t,((k<<8|k>>>8)&65535)!=65361){if(r=U(32),i[n+4>>2]=r,i[n+8>>2]=27,i[n+12>>2]=-2147483616,A=s[5643]|s[5644]<<8|(s[5645]<<16|s[5646]<<24),k=s[5639]|s[5640]<<8|(s[5641]<<16|s[5642]<<24),l[r|0]=k,l[r+1|0]=k>>>8,l[r+2|0]=k>>>16,l[r+3|0]=k>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+27|0]=0,A=s[5662]|s[5663]<<8|(s[5664]<<16|s[5665]<<24),l[r+23|0]=A,l[r+24|0]=A>>>8,l[r+25|0]=A>>>16,l[r+26|0]=A>>>24,A=s[5659]|s[5660]<<8|(s[5661]<<16|s[5662]<<24),k=s[5655]|s[5656]<<8|(s[5657]<<16|s[5658]<<24),l[r+16|0]=k,l[r+17|0]=k>>>8,l[r+18|0]=k>>>16,l[r+19|0]=k>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[5651]|s[5652]<<8|(s[5653]<<16|s[5654]<<24),k=s[5647]|s[5648]<<8|(s[5649]<<16|s[5650]<<24),l[r+8|0]=k,l[r+9|0]=k>>>8,l[r+10|0]=k>>>16,l[r+11|0]=k>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(o,2,140,n+4|0),l[n+15|0]>=0)break e;G(i[n+4>>2]);break e}if(k=A+t|0,k=s[k|0]|s[k+1|0]<<8,t=r+4|0,i[e+72>>2]=t,((k<<8|k>>>8)+16345&65535)>>>0<=16385){if(r=U(24),i[n+4>>2]=r,i[n+8>>2]=23,i[n+12>>2]=-2147483624,A=s[9151]|s[9152]<<8|(s[9153]<<16|s[9154]<<24),k=s[9147]|s[9148]<<8|(s[9149]<<16|s[9150]<<24),l[r|0]=k,l[r+1|0]=k>>>8,l[r+2|0]=k>>>16,l[r+3|0]=k>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+23|0]=0,A=s[9166]|s[9167]<<8|(s[9168]<<16|s[9169]<<24),k=s[9162]|s[9163]<<8|(s[9164]<<16|s[9165]<<24),l[r+15|0]=k,l[r+16|0]=k>>>8,l[r+17|0]=k>>>16,l[r+18|0]=k>>>24,l[r+19|0]=A,l[r+20|0]=A>>>8,l[r+21|0]=A>>>16,l[r+22|0]=A>>>24,A=s[9159]|s[9160]<<8|(s[9161]<<16|s[9162]<<24),k=s[9155]|s[9156]<<8|(s[9157]<<16|s[9158]<<24),l[r+8|0]=k,l[r+9|0]=k>>>8,l[r+10|0]=k>>>16,l[r+11|0]=k>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(o,2,140,n+4|0),l[n+15|0]>=0)break e;G(i[n+4>>2]);break e}if(k=A+t|0,k=s[k|0]|s[k+1|0]<<8,t=r+6|0,i[e+72>>2]=t,X[e>>1]=k<<8|k>>>8,k=A+t|0,k=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),t=r+10|0,i[e+72>>2]=t,i[e+4>>2]=k<<24|(k&65280)<<8|(k>>>8&65280|k>>>24),k=A+t|0,k=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),t=r+14|0,i[e+72>>2]=t,i[e+8>>2]=k<<24|(k&65280)<<8|(k>>>8&65280|k>>>24),k=A+t|0,k=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),t=r+18|0,i[e+72>>2]=t,i[e+12>>2]=k<<24|(k&65280)<<8|(k>>>8&65280|k>>>24),k=A+t|0,k=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),t=r+22|0,i[e+72>>2]=t,i[e+16>>2]=k<<24|(k&65280)<<8|(k>>>8&65280|k>>>24),k=A+t|0,k=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),t=r+26|0,i[e+72>>2]=t,i[e+20>>2]=k<<24|(k&65280)<<8|(k>>>8&65280|k>>>24),k=A+t|0,k=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),t=r+30|0,i[e+72>>2]=t,i[e+24>>2]=k<<24|(k&65280)<<8|(k>>>8&65280|k>>>24),k=A+t|0,k=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),t=r+34|0,i[e+72>>2]=t,i[e+28>>2]=k<<24|(k&65280)<<8|(k>>>8&65280|k>>>24),k=A+t|0,k=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),t=r+38|0,i[e+72>>2]=t,i[e+32>>2]=k<<24|(k&65280)<<8|(k>>>8&65280|k>>>24),A=A+t|0,A=s[A|0]|s[A+1|0]<<8,r=r+40|0,i[e+72>>2]=r,v=A<<8|A>>>8,(v-16385&65535)>>>0<=49151){if(r=U(24),i[n+4>>2]=r,i[n+8>>2]=23,i[n+12>>2]=-2147483624,A=s[9175]|s[9176]<<8|(s[9177]<<16|s[9178]<<24),k=s[9171]|s[9172]<<8|(s[9173]<<16|s[9174]<<24),l[r|0]=k,l[r+1|0]=k>>>8,l[r+2|0]=k>>>16,l[r+3|0]=k>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+23|0]=0,A=s[9190]|s[9191]<<8|(s[9192]<<16|s[9193]<<24),k=s[9186]|s[9187]<<8|(s[9188]<<16|s[9189]<<24),l[r+15|0]=k,l[r+16|0]=k>>>8,l[r+17|0]=k>>>16,l[r+18|0]=k>>>24,l[r+19|0]=A,l[r+20|0]=A>>>8,l[r+21|0]=A>>>16,l[r+22|0]=A>>>24,A=s[9183]|s[9184]<<8|(s[9185]<<16|s[9186]<<24),k=s[9179]|s[9180]<<8|(s[9181]<<16|s[9182]<<24),l[r+8|0]=k,l[r+9|0]=k>>>8,l[r+10|0]=k>>>16,l[r+11|0]=k>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(o,2,140,n+4|0),l[n+15|0]>=0)break e;G(i[n+4>>2]);break e}if(r>>>0<=u+m(v&65535,-3)>>>0){r=i[e+40>>2];A:{f:{for(;;){k=i[e+60>>2],A=i[e+72>>2],u=s[k+A|0],t=A+1|0,i[e+72>>2]=t,h=s[k+t|0],t=A+2|0,i[e+72>>2]=t,Z=s[k+t|0],i[e+72>>2]=A+3,p=u>>>7|0,W=(u&127)+1|0,k=i[e+44>>2];k:{if(k>>>0>r>>>0){A=h|(W<<16|p<<24|Z<<8),l[r|0]=A,l[r+1|0]=A>>>8,l[r+2|0]=A>>>16,l[r+3|0]=A>>>24,r=r+4|0;break k}if(t=i[e+36>>2],u=r-t>>2,A=u+1|0,A>>>0>=1073741824)break f;if(k=k-t|0,w=k>>1,w=k>>>0>=2147483644?1073741823:A>>>0>>0?w:A,w){if(w>>>0>=1073741824)break A;k=U(w<<2)}else k=0;if(u=k+(u<<2)|0,A=h|(W<<16|p<<24|Z<<8),l[u|0]=A,l[u+1|0]=A>>>8,l[u+2|0]=A>>>16,l[u+3|0]=A>>>24,A=u+4|0,(r|0)!=(t|0)){for(;u=u-4|0,r=r-4|0,h=s[r|0]|s[r+1|0]<<8|(s[r+2|0]<<16|s[r+3|0]<<24),l[u|0]=h,l[u+1|0]=h>>>8,l[u+2|0]=h>>>16,l[u+3|0]=h>>>24,(r|0)!=(t|0););t=i[e+36>>2]}i[e+44>>2]=k+(w<<2),i[e+40>>2]=A,i[e+36>>2]=u,t&&G(t),r=A}if(i[e+40>>2]=r,C=C+1|0,!((C&65535)>>>0<(v&65535)>>>0))break}V3(o);break e}y0(),P()}_2(),P()}if(r=C1(n+4|0,31341),r0(o,2,140,r),l[r+11|0]>=0)break e;G(i[r>>2])}if(B=n+16|0,A=i[o+4>>2],r=i[o>>2],i[o+24>>2]=r,i[o+28>>2]=A,l[o+43|0]<0&&(G(i[o+32>>2]),r=i[o+24>>2]),A=i[o+12>>2],i[o+32>>2]=i[o+8>>2],i[o+36>>2]=A,i[o+40>>2]=i[o+16>>2],r){e=i[o+28>>2],i[f>>2]=i[o+24>>2],i[f+4>>2]=e,i[f+16>>2]=i[o+40>>2],e=i[o+36>>2],i[f+8>>2]=i[o+32>>2],i[f+12>>2]=e,i[o+32>>2]=0,i[o+36>>2]=0,i[o+40>>2]=0;break r}if(r=i[e+72>>2],A=i[e+60>>2],r>>>0<(i[e+64>>2]-A|0)-2>>>0){if(A=r+A|0,A=s[A|0]|s[A+1|0]<<8,i[e+72>>2]=r+2,((A<<8|A>>>8)&65535)==65360){k=B-16|0,B=k,A=i[e+72>>2],r=i[e+60>>2];e:{if(A>>>0>(i[e+64>>2]-r|0)-8>>>0){if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,140,k+4|0),l[k+15|0]>=0)break e;G(i[k+4>>2]);break e}if(n=r+A|0,n=s[n|0]|s[n+1|0]<<8,u=A+2|0,i[e+72>>2]=u,((n<<8|n>>>8)-71&65535)>>>0<=65472){if(e=U(24),i[k+4>>2]=e,i[k+8>>2]=23,i[k+12>>2]=-2147483624,r=s[9223]|s[9224]<<8|(s[9225]<<16|s[9226]<<24),A=s[9219]|s[9220]<<8|(s[9221]<<16|s[9222]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+23|0]=0,r=s[9238]|s[9239]<<8|(s[9240]<<16|s[9241]<<24),A=s[9234]|s[9235]<<8|(s[9236]<<16|s[9237]<<24),l[e+15|0]=A,l[e+16|0]=A>>>8,l[e+17|0]=A>>>16,l[e+18|0]=A>>>24,l[e+19|0]=r,l[e+20|0]=r>>>8,l[e+21|0]=r>>>16,l[e+22|0]=r>>>24,r=s[9231]|s[9232]<<8|(s[9233]<<16|s[9234]<<24),A=s[9227]|s[9228]<<8|(s[9229]<<16|s[9230]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,140,k+4|0),l[k+15|0]>=0)break e;G(i[k+4>>2]);break e}for(r=r+u|0,r=s[r|0]|s[r+1|0]<<8|(s[r+2|0]<<16|s[r+3|0]<<24),i[e+72>>2]=A+6,v=r<<24|(r&65280)<<8|(r>>>8&65280|r>>>24),u=2;;){A:{if(!(v>>>32-u&1))break A;if((u|0)==15){r=i[e+72>>2],A=r+i[e+60>>2]|0,n=s[A+1|0],A=s[A|0],i[e+72>>2]=r+2,r=A<<24|n<<16|15,i[k>>2]=r,i[k+4>>2]=r;f:{if(r=i[e+52>>2],n=i[e+56>>2],r>>>0>>0){A=Q[k>>1]|Q[k+2>>1]<<16,X[r>>1]=A,X[r+2>>1]=A>>>16,i[e+52>>2]=r+4;break f}k:{if(t=i[e+48>>2],h=r-t>>2,A=h+1|0,A>>>0<1073741824){if(n=n-t|0,w=n>>1,w=n>>>0>=2147483644?1073741823:A>>>0>>0?w:A,w){if(w>>>0>=1073741824)break k;A=U(w<<2)}else A=0;if(n=A+(h<<2)|0,h=Q[k>>1]|Q[k+2>>1]<<16,X[n>>1]=h,X[n+2>>1]=h>>>16,h=n+4|0,(r|0)!=(t|0)){for(;n=n-4|0,r=r-4|0,Z=Q[r>>1]|Q[r+2>>1]<<16,X[n>>1]=Z,X[n+2>>1]=Z>>>16,(r|0)!=(t|0););t=i[e+48>>2]}i[e+56>>2]=A+(w<<2),i[e+52>>2]=h,i[e+48>>2]=n,t&&G(t),i[e+52>>2]=h;break f}y0(),P()}_2(),P()}break A}n=k+4|0,r=H0(x(98732,20800,39),u),A=i[(i[i[r>>2]-12>>2]+r|0)+28>>2],i[n>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(n,100192),A=V[i[i[A>>2]+28>>2]](A,10)|0,O0(n),D9(r,A),Ni(r),i[e+72>>2]=i[e+72>>2]+2}if(u=u+1|0,(u|0)==33)break}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break e}_0(f,i[19566],i[19567])}B=k+16|0;break r}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break r}_0(f,i[19566],i[19567]);break r}if(e=U(40),i[o>>2]=e,i[o+4>>2]=33,i[o+8>>2]=-2147483608,r=s[18255]|s[18256]<<8|(s[18257]<<16|s[18258]<<24),A=s[18251]|s[18252]<<8|(s[18253]<<16|s[18254]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+33|0]=0,l[e+32|0]=s[18283],r=s[18279]|s[18280]<<8|(s[18281]<<16|s[18282]<<24),A=s[18275]|s[18276]<<8|(s[18277]<<16|s[18278]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[18271]|s[18272]<<8|(s[18273]<<16|s[18274]<<24),A=s[18267]|s[18268]<<8|(s[18269]<<16|s[18270]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[18263]|s[18264]<<8|(s[18265]<<16|s[18266]<<24),A=s[18259]|s[18260]<<8|(s[18261]<<16|s[18262]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,140,o),l[o+11|0]>=0)break r;G(i[o>>2])}if(l[o+43|0]<0&&G(i[o+32>>2]),B=o+48|0,l[_+27|0]>=0)break i;G(i[_+16>>2])}B=_+32|0}function _A(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0;for(Z=B-48|0,B=Z,A=i[r>>2],r=i[r+4>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),i[e>>2]=A,k=i[e+4>>2],i[e+4>>2]=r,k&&(r=i[k+4>>2],i[k+4>>2]=r-1,r||(V[i[i[k>>2]+8>>2]](k),g(k)),A=i[e>>2],r=i[e+4>>2]),i[Z+20>>2]=r,i[Z+16>>2]=A,r&&(i[r+4>>2]=i[r+4>>2]+1),r=i[Z+20>>2],i[Z+8>>2]=i[Z+16>>2],i[Z+12>>2]=r,W=_e(Z+24|0,Z+8|0,-1,0),n=B-192|0,B=n,o=e+8|0;;){i[n+48>>2]=0,i[n+52>>2]=0,_r(f,W,n+48|0),A=2;i:{r:{if(s[W+20|0]|!i[W+16>>2]||(r=i[f>>2],(r|0)==2&i[f+4>>2]==100))break r;if(A=1,(r|0)!=i[19564])break i;A=i[e+12>>2];e:{if(A>>>0>2]){r=i[n+48>>2],i[A>>2]=r,k=i[n+52>>2],i[A+4>>2]=k,k&&(i[k+4>>2]=i[k+4>>2]+1),A=A+8|0;break e}A=Q2(o,n+48|0),r=i[n+48>>2]}i[e+12>>2]=A;e:{if(i[r+16>>2]!=1835365473)break e;A=0,k=N0(r,68572,68824);A:{if(!k||(r=i[n+52>>2],!r))break A;i[r+4>>2]=i[r+4>>2]+1,A=r}if(i[e+36>>2]=k,r=i[e+40>>2],i[e+40>>2]=A,!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break e;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=0,k=i[n+48>>2],i[k+16>>2]!=1718909296)break r;t=N0(k,68572,68764),r=0;e:{if(!t||(k=i[n+52>>2],r=0,!k))break e;i[k+4>>2]=i[k+4>>2]+1,r=k}if(i[e+20>>2]=t,k=i[e+24>>2],i[e+24>>2]=r,!k||(r=i[k+4>>2],i[k+4>>2]=r-1,r))break r;V[i[i[k>>2]+8>>2]](k),g(k)}if(l[f+19|0]>=0)break i;G(i[f+8>>2])}r=i[n+52>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A)break}i:{if(A-2|0)break i;if(r=i[e+20>>2],!r){if(l[n+48|0]=0,l[n+59|0]=0,r0(f,2,102,n+48|0),l[n+59|0]>=0)break i;G(i[n+48>>2]);break i}r:{if(_i(r,1751476579)||_i(i[e+20>>2],1751476600)||_i(i[e+20>>2],1835623985)||_i(i[e+20>>2],1635150182)||_i(i[e+20>>2],829450595)||_i(i[e+20>>2],1785750887))break r;e=n+48|0,i[e+8>>2]=54496,i[e+64>>2]=54516,r=i[13633],i[e>>2]=r,i[e+i[r-12>>2]>>2]=i[13634],i[e+4>>2]=0,r=e+i[i[e>>2]-12>>2]|0,A=e+12|0,b0(r,A),i[r+72>>2]=0,i[r+76>>2]=-1,r=i[13635],i[e+8>>2]=r,k=i[r-12>>2],r=e+8|0,i[k+r>>2]=i[13636],k=i[13632],i[e>>2]=k,i[e+i[k-12>>2]>>2]=i[13637],i[e+64>>2]=54516,i[e>>2]=54476,i[e+8>>2]=54496,I=$0(A),y=53552,i[I>>2]=y,i[e+52>>2]=0,i[e+56>>2]=0,i[e+44>>2]=0,i[e+48>>2]=0,i[e+60>>2]=24,x(r,30588,44),r=n+36|0,i2(r,A),r0(f,3,0,r),l[n+47|0]<0&&G(i[n+36>>2]),z6(e);break i}if(r=i[e+36>>2],!r){if(l[n+48|0]=0,l[n+59|0]=0,r0(f,2,104,n+48|0),l[n+59|0]>=0)break i;G(i[n+48>>2]);break i}T8(n+48|0,r,1751411826);r:{e:{if(r=i[n+48>>2],!r||(A=N0(r,68572,68884),!A))break e;if(r=i[n+52>>2],!r){r=0;break r}i[r+4>>2]=i[r+4>>2]+1;break r}r=0,A=0}i[e+28>>2]=A,A=i[e+32>>2],i[e+32>>2]=r;r:{if(!A||(r=i[A+4>>2],i[A+4>>2]=r-1,r))break r;V[i[i[A>>2]+8>>2]](A),g(A)}r=i[n+52>>2];r:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(r=i[e+28>>2],!(!r|i[r+60>>2]==1885954932)){if(l[n+48|0]=0,l[n+59|0]=0,r0(f,2,114,n+48|0),l[n+59|0]>=0)break i;G(i[n+48>>2]);break i}T8(n+48|0,i[e+36>>2],1885959277);r:{e:{if(r=i[n+48>>2],!r||(A=N0(r,68572,68944),!A))break e;if(r=i[n+52>>2],!r){r=0;break r}i[r+4>>2]=i[r+4>>2]+1;break r}r=0,A=0}i[e+84>>2]=A,A=i[e+88>>2],i[e+88>>2]=r;r:{if(!A||(r=i[A+4>>2],i[A+4>>2]=r-1,r))break r;V[i[i[A>>2]+8>>2]](A),g(A)}r=i[n+52>>2];r:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(!i[e+84>>2]){if(l[n+48|0]=0,l[n+59|0]=0,r0(f,2,107,n+48|0),l[n+59|0]>=0)break i;G(i[n+48>>2]);break i}T8(n+48|0,i[e+36>>2],1768977008);r:{e:{if(r=i[n+48>>2],!r||(A=N0(r,68572,69184),!A))break e;if(r=i[n+52>>2],!r){r=0;break r}i[r+4>>2]=i[r+4>>2]+1;break r}r=0,A=0}i[e+100>>2]=A,A=i[e+104>>2],i[e+104>>2]=r;r:{if(!A||(r=i[A+4>>2],i[A+4>>2]=r-1,r))break r;V[i[i[A>>2]+8>>2]](A),g(A)}r=i[n+52>>2];r:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(r=i[e+100>>2],!r){if(l[n+48|0]=0,l[n+59|0]=0,r0(f,2,112,n+48|0),l[n+59|0]>=0)break i;G(i[n+48>>2]);break i}T8(n+48|0,r,1768973167);r:{e:{if(r=i[n+48>>2],!r||(A=N0(r,68572,69244),!A))break e;if(r=i[n+52>>2],!r){r=0;break r}i[r+4>>2]=i[r+4>>2]+1;break r}r=0,A=0}i[e+44>>2]=A,A=i[e+48>>2],i[e+48>>2]=r;r:{if(!A||(r=i[A+4>>2],i[A+4>>2]=r-1,r))break r;V[i[i[A>>2]+8>>2]](A),g(A)}r=i[n+52>>2];r:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(!i[e+44>>2]){if(e=f,f=C1(n+48|0,31341),r0(e,2,108,f),l[f+11|0]>=0)break i;G(i[f>>2]);break i}if(o=B-32|0,B=o,h9(o+20|0,i[e+100>>2],1768975713),k=n+48|0,i[k+8>>2]=0,i[k>>2]=0,i[k+4>>2]=0,A=i[o+20>>2],u=i[o+24>>2],(A|0)!=(u|0)){for(;;){r:{e:{if(r=i[A>>2],!r||(r=N0(r,68572,69352),!r))break e;if(i[o+12>>2]=r,t=i[A+4>>2],i[o+16>>2]=t,!t)break r;i[t+4>>2]=i[t+4>>2]+1;break r}i[o+12>>2]=0,i[o+16>>2]=0,r=0}t=i[k+4>>2];r:{if(t>>>0>2]){i[t>>2]=r,i[t+4>>2]=i[o+16>>2],i[k+4>>2]=t+8;break r}if(t=z2(k,o+12|0),r=i[o+16>>2],i[k+4>>2]=t,!r||(t=i[r+4>>2],i[r+4>>2]=t-1,t))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A+8|0,(u|0)==(A|0))break}A=i[o+20>>2]}if(A){if(r=A,k=i[o+24>>2],(r|0)!=(k|0)){for(;;){r=i[k-4>>2];r:{if(!r||(t=i[r+4>>2],i[r+4>>2]=t-1,t))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(k=k-8|0,(k|0)==(A|0))break}r=i[o+20>>2]}i[o+24>>2]=A,G(r)}B=o+32|0;r:{e:{if(A=i[n+48>>2],r=i[n+52>>2],(A|0)!=(r|0)){if(r-A>>>0>8)for(r=1;;){w=i[A>>2],o=i[w+60>>2],A=i[(r<<3)+A>>2],t=i[A+56>>2],u=t,k=i[A+60>>2],v=k,A=0,h=k-t>>4;A:{if((h|0)<=0)break A;f:{k:{n:{t:{o:{if(_=i[w+64>>2],(h|0)<=_-o>>4){if((h|0)<=0){v=(h<<4)+t|0,A=o;break f}u:{if((u|0)==(v|0)){A=o;break u}for(A=o;;){if(k=i[t>>2],i[A+12>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=k,k=i[t+8>>2],u=i[t+4>>2],(k|0)!=(u|0)){if(k=k-u|0,(k|0)<0)break o;o=U(k),i[A+8>>2]=o,i[A+4>>2]=o,h=k+o|0,i[A+12>>2]=h,l0(o,u,k),i[A+8>>2]=h}if(A=A+16|0,t=t+16|0,(v|0)==(t|0))break}}i[w+60>>2]=A;break A}if(k=i[w+56>>2],t=h+(o-k>>4)|0,t>>>0>=268435456)break t;if(v=_-k|0,_=v>>3,t=v>>>0>=2147483632?268435455:t>>>0<_>>>0?_:t,t){if(t>>>0>=268435456)break n;A=U(t<<4)}for(k=(o-k&-16)+A|0,_=k+(h<<4)|0,p=(t<<4)+A|0,A=k;;){if(t=i[u>>2],i[A+12>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=t,t=i[u+8>>2],v=i[u+4>>2],(t|0)!=(v|0)){if(t=t-v|0,(t|0)<0)break k;h=U(t),i[A+8>>2]=h,i[A+4>>2]=h,C=t+h|0,i[A+12>>2]=C,l0(h,v,t),i[A+8>>2]=C}if(u=u+16|0,A=A+16|0,(_|0)==(A|0))break}if(_=i[w+56>>2],(_|0)!=(o|0))for(u=o,t=k;k=t-16|0,h=u-16|0,i[k>>2]=i[h>>2],v=u-12|0,i[t-12>>2]=i[v>>2],i[t-8>>2]=i[u-8>>2],C=t-4|0,t=u-4|0,i[C>>2]=i[t>>2],i[t>>2]=0,i[v>>2]=0,i[v+4>>2]=0,t=k,u=h,(_|0)!=(u|0););if(u=i[w+60>>2],(u|0)!=(o|0)){for(;t=i[o>>2],i[A+12>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=t,i[A+4>>2]=i[o+4>>2],i[A+8>>2]=i[o+8>>2],i[A+12>>2]=i[o+12>>2],i[o+12>>2]=0,i[o+4>>2]=0,i[o+8>>2]=0,A=A+16|0,o=o+16|0,(u|0)!=(o|0););u=i[w+60>>2]}if(i[w+64>>2]=p,i[w+60>>2]=A,A=i[w+56>>2],i[w+56>>2]=k,(A|0)!=(u|0))for(;k=i[u-12>>2],k&&(i[u-8>>2]=k,G(k)),u=u-16|0,(A|0)!=(u|0););A&&G(A);break A}y0(),P()}y0(),P()}_2(),P()}y0(),P()}if(k=h<<4,_=k+o|0,t=A,k=A-k|0,o>>>0>k>>>0)for(h=k;p=i[h>>2],i[t+12>>2]=0,i[t+4>>2]=0,i[t+8>>2]=0,i[t>>2]=p,i[t+4>>2]=i[h+4>>2],i[t+8>>2]=i[h+8>>2],i[t+12>>2]=i[h+12>>2],i[h+12>>2]=0,i[h+4>>2]=0,i[h+8>>2]=0,t=t+16|0,h=h+16|0,h>>>0>>0;);if(i[w+60>>2]=t,(A|0)!=(_|0))for(;t=A-16|0,h=k-16|0,i[t>>2]=i[h>>2],w=A-12|0,_=i[w>>2],_&&(p=A-8|0,i[p>>2]=_,G(_),i[p>>2]=0,i[p+4>>2]=0,i[w>>2]=0),_=w,w=k-12|0,i[_>>2]=i[w>>2],i[A-8>>2]=i[k-8>>2],_=A-4|0,A=k-4|0,i[_>>2]=i[A>>2],i[A>>2]=0,i[w>>2]=0,i[w+4>>2]=0,A=t,k=h,(o|0)!=(k|0););if((u|0)==(v|0))break A;for(A=o;i[A>>2]=i[u>>2],(A|0)!=(u|0)&&(k=i[u+4>>2],o=i[u+8>>2],ki(A+4|0,k,o,o-k>>2)),A=A+16|0,u=u+16|0,(v|0)!=(u|0););}if(r=r+1|0,A=i[n+48>>2],!(r>>>0>2]-A>>3>>>0))break}r=i[A>>2],A=i[A+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[e+52>>2]=r,r=i[e+56>>2],i[e+56>>2]=A;A:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break A;V[i[i[r>>2]+8>>2]](r),g(r)}A=n+16|0,T8(A,i[e+36>>2],1768714083),r=n+36|0;A:{f:{if(k=i[A>>2],!k||(k=N0(k,68572,69004),!k))break f;if(i[r>>2]=k,k=i[A+4>>2],i[r+4>>2]=k,!k)break A;i[k+4>>2]=i[k+4>>2]+1;break A}i[r>>2]=0,i[r+4>>2]=0}if(si(e+60|0,r),v1(r),v1(A),i[e+60>>2])break e;if(e=f,f=C1(r,31341),r0(e,2,110,f),l[f+11|0]>=0)break r;G(i[f>>2]);break r}if(e=f,f=C1(n+36|0,31341),r0(e,2,109,f),l[f+11|0]>=0)break r;G(i[f>>2]);break r}A=n+16|0,T8(A,i[e+36>>2],1768186228),r=n+36|0;e:{A:{if(k=i[A>>2],!k||(k=N0(k,68572,70144),!k))break A;if(i[r>>2]=k,k=i[A+4>>2],i[r+4>>2]=k,!k)break e;i[k+4>>2]=i[k+4>>2]+1;break e}i[r>>2]=0,i[r+4>>2]=0}si(e+68|0,r),v1(r),v1(A),T8(A,i[e+36>>2],1769104742);e:{A:{if(k=i[A>>2],!k||(k=N0(k,68572,69652),!k))break A;if(i[r>>2]=k,k=i[A+4>>2],i[r+4>>2]=k,!k)break e;i[k+4>>2]=i[k+4>>2]+1;break e}i[r>>2]=0,i[r+4>>2]=0}o=e+76|0,si(o,r),v1(r),v1(A);e:{if(!i[e+76>>2])break e;if(r=i[i[e+84>>2]+56>>2],k=B-32|0,B=k,i[k+16>>2]=0,i[k+20>>2]=0,i[k+8>>2]=0,i[k+12>>2]=0,i[k+24>>2]=1065353216,Gk(f,e,r,o,k+8|0),A=i[k+16>>2],A)for(;r=i[A>>2],G(A),A=r,!!r;);if(r=i[k+8>>2],i[k+8>>2]=0,r&&G(r),B=k+32|0,i[f>>2])break r;if(l[f+19|0]>=0)break e;G(i[f+8>>2])}A=n+16|0,T8(A,i[e+36>>2],1768517222),r=n+36|0;e:{A:{if(k=i[A>>2],!k||(k=N0(k,68572,69124),!k))break A;if(i[r>>2]=k,k=i[A+4>>2],i[r+4>>2]=k,!k)break e;i[k+4>>2]=i[k+4>>2]+1;break e}i[r>>2]=0,i[r+4>>2]=0}if(si(e+92|0,r),v1(r),v1(A),A=i[e+92>>2],!A){if(e=f,f=C1(r,31341),r0(e,2,111,f),l[f+11|0]>=0)break r;G(i[f>>2]);break r}h9(n+36|0,A,1768842853),r=i[n+36>>2],u=i[n+40>>2];e:{if((r|0)!=(u|0))for(o=e+108|0;;){A:{f:{if(e=i[r>>2],!e||(e=N0(e,68572,69064),!e))break f;if(i[n+28>>2]=e,e=i[r+4>>2],i[n+32>>2]=e,!e)break A;i[e+4>>2]=i[e+4>>2]+1;break A}i[n+28>>2]=0,i[n+32>>2]=0}if(e=i[n+28>>2],!e){e=f,f=C1(n+16|0,31341),r0(e,2,125,f),l[f+11|0]<0&&G(i[f>>2]),v1(n+28|0);break e}A=i[e+56>>2],i[n+20>>2]=e,i[n+16>>2]=A,e=i[n+32>>2],i[n+24>>2]=e,e&&(i[e+4>>2]=i[e+4>>2]+1),t=i[n+16>>2],A=i[o+4>>2];A:{f:{if(!A){k=o+4|0,e=k;break f}for(;;){if(e=A,k=i[A+16>>2],k>>>0>t>>>0){if(k=A,A=i[A>>2],A)continue;break f}if(k>>>0>=t>>>0){e=0;break A}if(A=i[e+4>>2],!A)break}k=e+4|0}A=U(28),i[A+16>>2]=t,i[A+20>>2]=i[n+20>>2],i[A+24>>2]=i[n+24>>2],i[n+20>>2]=0,i[n+24>>2]=0,i[A+8>>2]=e,i[A>>2]=0,i[A+4>>2]=0,i[k>>2]=A,e=A,t=i[i[o>>2]>>2],t&&(i[o>>2]=t,e=i[k>>2]),D1(i[o+4>>2],e),i[o+8>>2]=i[o+8>>2]+1,e=1}l[n+12|0]=e,i[n+8>>2]=A,e=i[n+24>>2];A:{if(!e||(A=i[e+4>>2],i[e+4>>2]=A-1,A))break A;V[i[i[e>>2]+8>>2]](e),g(e)}if(v1(n+28|0),r=r+8|0,(u|0)==(r|0))break}V3(f)}_3(n+36|0)}_3(n+48|0)}B=n+192|0,f=i[W+4>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=Z+48|0}function vA(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0;w=B-16|0,B=w,n=U(136),i[n+4>>2]=0,i[n+8>>2]=0,i[n>>2]=72792,B0(n+20|0,0,104),h=i[n+4>>2],t=h+1|0,i[n+4>>2]=t,i[n+56>>2]=0,i[n+60>>2]=0,i[n+44>>2]=99,i[n+48>>2]=99,i[n+32>>2]=3795,o=n- -64|0,i[o>>2]=0,i[o+4>>2]=0,i[n+132>>2]=0,i[n+124>>2]=0,i[n+128>>2]=0,i[n+84>>2]=1,i[n+88>>2]=1,i[n+72>>2]=n+76,i[n+92>>2]=0,i[n+96>>2]=0,i[n+100>>2]=0,i[n+104>>2]=0,i[n+108>>2]=0,i[n+112>>2]=0,l[n+113|0]=0,l[n+114|0]=0,l[n+115|0]=0,l[n+116|0]=0,l[n+117|0]=0,l[n+118|0]=0,l[n+119|0]=0,l[n+120|0]=0,o=n+12|0,i[n+12>>2]=o,i[n+8>>2]=i[n+8>>2]+1,i[n+4>>2]=h,i[n+16>>2]=n,t||(V[i[i[n>>2]+8>>2]](n),g(n)),i[r>>2]=o,h=i[r+4>>2],i[r+4>>2]=n;i:{if(!h||(n=i[h+4>>2],i[h+4>>2]=n-1,n))break i;V[i[i[h>>2]+8>>2]](h),g(h)}p=i[e+32>>2],_=i[r>>2],v=i[e+36>>2],i[_+36>>2]=v,i[_+32>>2]=p,i[_+28>>2]=k,i[_+24>>2]=A;i:{r:{e:{A:{f:{k:{n:{t:{o:{u:{l:{if(o=i[e+64>>2],o){for(h=e- -64|0,t=h,n=o;u=i[n+16>>2]<10,t=u?t:n,n=i[(u<<2)+n>>2],!!n;);if(!((t|0)==(h|0)|i[t+16>>2]>10)){for(n=h;t=i[o+16>>2]<10,n=t?n:o,o=i[(t<<2)+o>>2],!!o;);t=255,J0(_,10,A,k,(n|0)==(h|0)|i[n+16>>2]>10?t:s[n+20|0]);break r}switch(u=h,n=o,t=n,p|0){case 2:break o;case 1:break l;case 0:break n;default:break f}}switch(p|0){case 2:break t;case 1:break u;case 0:break k;default:break f}}for(;t=i[n+16>>2]<3,u=t?u:n,n=i[(t<<2)+n>>2],!!n;);if((u|0)==(h|0)|i[u+16>>2]>3)break u;for(t=h,n=o;u=i[n+16>>2]<4,t=u?t:n,n=i[(u<<2)+n>>2],!!n;);if((t|0)==(h|0)|i[t+16>>2]>4)break u;for(t=h,n=o;u=i[n+16>>2]<5,t=u?t:n,n=i[(u<<2)+n>>2],!!n;);if((t|0)==(h|0)|i[t+16>>2]>=6)break u;for(n=h;t=i[o+16>>2]<3,n=t?n:o,o=i[(t<<2)+o>>2],!!o;);o=255,t=255;l:{if((n|0)==(h|0)||(t=255,i[n+16>>2]>3))break l;t=s[n+20|0]}J0(_,3,A,k,t),_=i[r>>2],n=i[h>>2];l:{if(!n)break l;for(t=h;u=i[n+16>>2]<4,t=u?t:n,n=i[(u<<2)+n>>2],!!n;);if((t|0)==(h|0)|i[t+16>>2]>4)break l;o=s[t+20|0]}J0(_,4,A,k,o),_=i[r>>2],o=255,n=i[h>>2];l:{if(!n)break l;for(t=h;u=i[n+16>>2]<5,t=u?t:n,n=i[(u<<2)+n>>2],!!n;);if((t|0)==(h|0)|i[t+16>>2]>5)break l;o=s[t+20|0]}J0(_,5,A,k,o);break e}if(e=U(32),i[w+4>>2]=e,i[w+8>>2]=31,i[w+12>>2]=-2147483616,r=s[4233]|s[4234]<<8|(s[4235]<<16|s[4236]<<24),A=s[4229]|s[4230]<<8|(s[4231]<<16|s[4232]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+31|0]=0,r=s[4256]|s[4257]<<8|(s[4258]<<16|s[4259]<<24),A=s[4252]|s[4253]<<8|(s[4254]<<16|s[4255]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,l[e+27|0]=r,l[e+28|0]=r>>>8,l[e+29|0]=r>>>16,l[e+30|0]=r>>>24,r=s[4249]|s[4250]<<8|(s[4251]<<16|s[4252]<<24),A=s[4245]|s[4246]<<8|(s[4247]<<16|s[4248]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[4241]|s[4242]<<8|(s[4243]<<16|s[4244]<<24),A=s[4237]|s[4238]<<8|(s[4239]<<16|s[4240]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,0,w+4|0),l[w+15|0]>=0)break i;G(i[w+4>>2]);break i}for(;n=i[t+16>>2],u=(n|0)<0?u:t,t=i[(n>>>29&4)+t>>2],!!t;);if((u|0)==(h|0)|i[u+16>>2]>0)break t;for(n=h;t=i[o+16>>2],n=(t|0)<0?n:o,o=i[(t>>>29&4)+o>>2],!!o;);t=255,J0(_,0,A,k,(n|0)==(h|0)|i[n+16>>2]>0?t:s[n+20|0]);break e}if(e=U(40),i[w+4>>2]=e,i[w+8>>2]=32,i[w+12>>2]=-2147483608,r=s[9901]|s[9902]<<8|(s[9903]<<16|s[9904]<<24),A=s[9897]|s[9898]<<8|(s[9899]<<16|s[9900]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+32|0]=0,r=s[9925]|s[9926]<<8|(s[9927]<<16|s[9928]<<24),A=s[9921]|s[9922]<<8|(s[9923]<<16|s[9924]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[9917]|s[9918]<<8|(s[9919]<<16|s[9920]<<24),A=s[9913]|s[9914]<<8|(s[9915]<<16|s[9916]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[9909]|s[9910]<<8|(s[9911]<<16|s[9912]<<24),A=s[9905]|s[9906]<<8|(s[9907]<<16|s[9908]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,0,w+4|0),l[w+15|0]>=0)break i;G(i[w+4>>2]);break i}for(;t=i[n+16>>2],u=(t|0)<0?u:n,n=i[(t>>>29&4)+n>>2],!!n;);if((u|0)==(h|0)|i[u+16>>2]>0)break k;for(n=h;t=i[o+16>>2]<=0,n=t?n:o,o=i[(t<<2)+o>>2],!!o;);if((n|0)==(h|0)|i[n+16>>2]>1)break k;if(H2(e,2))break A}if(e=U(40),i[w+4>>2]=e,i[w+8>>2]=34,i[w+12>>2]=-2147483608,r=s[4198]|s[4199]<<8|(s[4200]<<16|s[4201]<<24),A=s[4194]|s[4195]<<8|(s[4196]<<16|s[4197]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+34|0]=0,r=s[4226]|s[4227]<<8,l[e+32|0]=r,l[e+33|0]=r>>>8,r=s[4222]|s[4223]<<8|(s[4224]<<16|s[4225]<<24),A=s[4218]|s[4219]<<8|(s[4220]<<16|s[4221]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[4214]|s[4215]<<8|(s[4216]<<16|s[4217]<<24),A=s[4210]|s[4211]<<8|(s[4212]<<16|s[4213]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[4206]|s[4207]<<8|(s[4208]<<16|s[4209]<<24),A=s[4202]|s[4203]<<8|(s[4204]<<16|s[4205]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,0,w+4|0),l[w+15|0]>=0)break i;G(i[w+4>>2]);break i}if(e=U(32),i[w+4>>2]=e,i[w+8>>2]=27,i[w+12>>2]=-2147483616,r=s[6274]|s[6275]<<8|(s[6276]<<16|s[6277]<<24),A=s[6270]|s[6271]<<8|(s[6272]<<16|s[6273]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+27|0]=0,r=s[6293]|s[6294]<<8|(s[6295]<<16|s[6296]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,r=s[6290]|s[6291]<<8|(s[6292]<<16|s[6293]<<24),A=s[6286]|s[6287]<<8|(s[6288]<<16|s[6289]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[6282]|s[6283]<<8|(s[6284]<<16|s[6285]<<24),A=s[6278]|s[6279]<<8|(s[6280]<<16|s[6281]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,0,w+4|0),l[w+15|0]>=0)break i;G(i[w+4>>2]);break i}x9(A,k,1,v,w+4|0,w),J0(i[r>>2],0,A,k,U0(e,0)),J0(i[r>>2],1,i[w+4>>2],i[w>>2],U0(e,1)),J0(i[r>>2],2,i[w+4>>2],i[w>>2],U0(e,2))}if(o=i[h>>2],!o)break r;for(t=h,n=o;_=i[n+16>>2]<6,t=_?t:n,n=i[(_<<2)+n>>2],!!n;);if((t|0)==(h|0)|i[t+16>>2]>6)break r;for(_=i[r>>2],n=h;t=i[o+16>>2]<6,n=t?n:o,o=i[(t<<2)+o>>2],!!o;);t=255,J0(_,6,A,k,(n|0)==(h|0)|i[n+16>>2]>6?t:s[n+20|0])}if(p=i[e+60>>2],(h|0)!=(p|0))for(;;){v=i[p+16>>2];r:{if((v|0)==10){if(Z=255,n=i[e+36>>2]-10|0,n>>>0>=6)break r;t=n<<3,n=t&31,(t&63)>>>0>=32?Z=16432>>>n|0:Z=((1<>>n;break r}if(Z=0,n=h,t=i[n>>2],!t)break r;for(;o=(v|0)>i[t+16>>2],n=o?n:t,t=i[(o<<2)+t>>2],!!t;);if((n|0)==(h|0)|(v|0)>2])break r;Z=s[n+20|0]+7&-8}r:{t=i[r>>2],n=i[t+64>>2];e:{if(!n)break e;for(I=Z>>>3&31,_=t- -64|0,o=_,t=n;u=(v|0)>i[t+16>>2],o=u?o:t,t=i[(u<<2)+t>>2],!!t;);if((o|0)==(_|0))break e;if(u=_,t=n,(v|0)>=i[o+16>>2])break r}if(e=U(40),i[w+4>>2]=e,i[w+8>>2]=35,i[w+12>>2]=-2147483608,r=s[9826]|s[9827]<<8|(s[9828]<<16|s[9829]<<24),A=s[9822]|s[9823]<<8|(s[9824]<<16|s[9825]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+35|0]=0,r=s[9853]|s[9854]<<8|(s[9855]<<16|s[9856]<<24),l[e+31|0]=r,l[e+32|0]=r>>>8,l[e+33|0]=r>>>16,l[e+34|0]=r>>>24,r=s[9850]|s[9851]<<8|(s[9852]<<16|s[9853]<<24),A=s[9846]|s[9847]<<8|(s[9848]<<16|s[9849]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[9842]|s[9843]<<8|(s[9844]<<16|s[9845]<<24),A=s[9838]|s[9839]<<8|(s[9840]<<16|s[9841]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[9834]|s[9835]<<8|(s[9836]<<16|s[9837]<<24),A=s[9830]|s[9831]<<8|(s[9832]<<16|s[9833]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,0,w+4|0),l[w+15|0]>=0)break i;G(i[w+4>>2]);break i}for(;o=(v|0)>i[t+16>>2],u=o?u:t,t=i[(o<<2)+t>>2],!!t;);for(W=-1,W=(u|0)==(_|0)|(v|0)>2]?W:i[u+24>>2],o=_,t=n;u=(v|0)>i[t+16>>2],o=u?o:t,t=i[(u<<2)+t>>2],!!t;);for(y=-1,y=(o|0)==(_|0)|(v|0)>2]?y:i[o+28>>2],J=i[p+40>>2],R=i[p+48>>2],t=_;o=(v|0)>i[n+16>>2],t=o?t:n,n=i[(o<<2)+n>>2],!!n;);r:{if((t|0)==(_|0)){E=0,_=0;break r}if(E=0,_=0,(v|0)>2])break r;E=i[t+40>>2],_=i[t+48>>2]}if((y|0)>0)for(z=W&2147483646,H=W&1,a=I&28,D=I&3,t=0,S=(Z&255)>>>0<8,q=I-1>>>0<3;;){n=(m(i[e+28>>2],t)|0)/(k|0)|0;r:{if((I|0)!=1){if(S|(W|0)<=0)break r;for(d=m(t,_)+E|0,A0=m(n,R)+J|0,Z=0;;){if(u=m(Z,I)+d|0,v=m((m(i[e+24>>2],Z)|0)/(A|0)|0,I)+A0|0,n=0,o=0,!q)for(;l[n+u|0]=s[n+v|0],C=n|1,l[C+u|0]=s[v+C|0],C=n|2,l[C+u|0]=s[v+C|0],C=n|3,l[C+u|0]=s[v+C|0],n=n+4|0,o=o+4|0,(a|0)!=(o|0););if(o=0,D)for(;l[n+u|0]=s[n+v|0],n=n+1|0,o=o+1|0,(D|0)!=(o|0););if(Z=Z+1|0,(W|0)==(Z|0))break}break r}if((W|0)<=0)break r;if(u=m(t,_)+E|0,v=m(n,R)+J|0,n=0,o=0,(W|0)!=1)for(;l[n+u|0]=s[v+((m(i[e+24>>2],n)|0)/(A|0)|0)|0],Z=n|1,l[Z+u|0]=s[v+((m(Z,i[e+24>>2])|0)/(A|0)|0)|0],n=n+2|0,o=o+2|0,(z|0)!=(o|0););if(!H)break r;l[n+u|0]=s[v+((m(i[e+24>>2],n)|0)/(A|0)|0)|0]}if(t=t+1|0,(y|0)==(t|0))break}t=i[p+4>>2];r:{if(t){for(;;)if(n=t,t=i[n>>2],!t)break r}for(;n=i[p+8>>2],t=i[n>>2]!=(p|0),p=n,!!t;);}if(p=n,(n|0)==(h|0))break}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=w+16|0}function k6(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;w=B-32|0,B=w,s[79117]==1&&(i[w+16>>2]=f,f8(21790,w+16|0));i:{k=i[f+4>>2];r:{if(k){if(n=i[k>>2],(n|0)==1){k=i[f>>2];break r}if((n|0)<=1)break i;i[k>>2]=n-1}s[79117]==1&&(i[w>>2]=f,f8(31312,w)),k=U(172),i[f>>2]=k,B0(k,0,172),u=f,f=U(4),i[u+4>>2]=f,i[f>>2]=1}r:{e:{A:{f:{k:{n:{t:{o:{u:{l:{s:{h:{w:{_:{v:{if((e|0)<=0){f=(r|0)>=51?51:r,n=(f|0)>0?f:0;break v}if(t=e-1|0,A=m(t,12)+41392|0,f=i[A>>2],r=(r|0)>=51?51:r,n=(r|0)>0?r:0,f=((f<<3&120)+(m(n,m(f>>4,5)-45|0)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,u=f?r^64:63-r|0,f=u<<1|f,r=k+5|0,(u&127)>>>0>=63||(l[k+5|0]=f,f=i[A+4>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,u=f?r^64:63-r|0,f=u<<1|f,r=k+6|0,(u&127)>>>0>62)||(l[k+6|0]=f,f=i[A+8>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,A=f?r^64:63-r|0,f=A<<1|f,r=k+7|0,(A&127)>>>0>62))break k;if(l[k+7|0]=f,f=t<<2,r=i[f+41416>>2],r=((r<<3&120)+(m(m(r>>4,5)-45|0,n)>>4)|0)-16|0,A=(r|0)>=126?126:r,A=(A|0)<=1?1:A,r=(r|0)>63,A=r?A^64:63-A|0,r=A<<1|r,(A&127)>>>0>=63)break _;if(l[k+149|0]=r,r=i[f+41424>>2],r=((r<<3&120)+(m(m(r>>4,5)-45|0,n)>>4)|0)-16|0,A=(r|0)>=126?126:r,A=(A|0)<=1?1:A,r=(r|0)>63,A=r?A^64:63-A|0,r=A<<1|r,(A&127)>>>0>=63)break w;if(l[k+147|0]=r,f=i[f+41432>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,r=f?r^64:63-r|0,f=r<<1|f,(r&127)>>>0>=63)break h;if(l[k+148|0]=f,f=m(n,-20)>>4,r=(f|0)>-41,A=r?f+104^64:-41-f|0,f=r|A<<1,r=k+156|0,(A&127)>>>0>=63||(l[k+156|0]=f,A=m(n,-25)>>4,t=-41-A|0,_=A+104^64,u=(A|0)>-41,f=u,o=f?_:t,f=o<<1|f,r=k+157|0,(o&127)>>>0>62)||(l[k+157|0]=f,f=m(n,-30)>>4,r=(f|0)>-41,o=r?f+104^64:-41-f|0,f=r|o<<1,r=k+158|0,(o&127)>>>0>62)||(l[k+158|0]=f,f=m(n,-40)>>4,r=(f|0)<=-103?-103:f,f=(f|0)>-41,o=f?r+104^64:-41-r|0,f=o<<1|f,r=k+159|0,(o&127)>>>0>62)||(f=m(f&255,257),l[k+159|0]=f,l[k+160|0]=f>>>8,l[k+154|0]=14,l[k+155|0]=14,o=(((e|0)!=1)<<3)+41440|0,f=i[o>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,h=f?r^64:63-r|0,f=h<<1|f,r=k+150|0,(h&127)>>>0>=63)||(l[k+150|0]=f,f=i[o+4>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,o=f?r^64:63-r|0,f=o<<1|f,r=k+151|0,(o&127)>>>0>62))break k;if(l[k+151|0]=f,l[k+152|0]=30-(m(n,5)>>>3&254),r=u?_:t,f=u|r<<1,(r&127)>>>0>62)break s;if(l[k+153|0]=f,f=m(n,-5)>>4,r=(f|0)>-9,A=r?f+72^64:-9-f|0,f=r|A<<1,(A&127)>>>0>=63)break l;f=m(f&255,16843009),l[k+143|0]=f,l[k+144|0]=f>>>8,l[k+145|0]=f>>>16,l[k+146|0]=f>>>24}if(t=m(e,12),A=t+41456|0,f=i[A>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,u=f?r^64:63-r|0,f=u<<1|f,r=k+2|0,(u&127)>>>0>=63||(l[k+2|0]=f,f=i[A+4>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,u=f?r^64:63-r|0,f=u<<1|f,r=k+3|0,(u&127)>>>0>62)||(l[k+3|0]=f,f=i[A+8>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,A=f?r^64:63-r|0,f=A<<1|f,r=k+4|0,(A&127)>>>0>62)||(l[k+4|0]=f,A=(((e|0)==2?5:e)<<2)+41504|0,f=i[A>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,u=f?r^64:63-r|0,f=u<<1|f,r=k+8|0,(u&127)>>>0>=63)||(l[k+8|0]=f,f=i[A+4>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,u=f?r^64:63-r|0,f=u<<1|f,r=k+9|0,(u&127)>>>0>62)||(l[k+9|0]=f,f=i[A+8>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,u=f?r^64:63-r|0,f=u<<1|f,r=k+10|0,(u&127)>>>0>62)||(l[k+10|0]=f,f=i[A+12>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,A=f?r^64:63-r|0,f=A<<1|f,r=k+11|0,(A&127)>>>0>62))break k;if(l[k+11|0]=f,u=e<<2,r=u,f=i[r+41540>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,A=(f|0)>=126?126:f,A=(A|0)<=1?1:A,f=(f|0)>63,A=f?A^64:63-A|0,f=A<<1|f,(A&127)>>>0>=63)break u;if(l[k+12|0]=f,f=i[r+41552>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,r=f?r^64:63-r|0,f=r<<1|f,(r&127)>>>0>=63)break o;if(l[k+13|0]=f,A=(((e|0)!=0)<<3)+41568|0,f=i[A>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,o=f?r^64:63-r|0,f=o<<1|f,r=k+14|0,(o&127)>>>0>=63||(l[k+14|0]=f,f=i[A+4>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,A=f?r^64:63-r|0,f=A<<1|f,r=k+15|0,(A&127)>>>0>62)||(l[k+15|0]=f,A=(e<<4)+41584|0,f=i[A>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,o=f?r^64:63-r|0,f=o<<1|f,r=k+16|0,(o&127)>>>0>=63)||(l[k+16|0]=f,f=i[A+4>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,o=f?r^64:63-r|0,f=o<<1|f,r=k+17|0,(o&127)>>>0>62)||(l[k+17|0]=f,f=i[A+8>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,o=f?r^64:63-r|0,f=o<<1|f,r=k+18|0,(o&127)>>>0>62)||(l[k+18|0]=f,f=i[A+12>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,A=f?r^64:63-r|0,f=A<<1|f,r=k+19|0,(A&127)>>>0>62)||(l[k+19|0]=f,A=t+41632|0,f=i[A>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,t=f?r^64:63-r|0,f=t<<1|f,r=k+20|0,(t&127)>>>0>=63)||(l[k+20|0]=f,f=i[A+4>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,t=f?r^64:63-r|0,f=t<<1|f,r=k+21|0,(t&127)>>>0>62)||(l[k+21|0]=f,f=i[A+8>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,A=f?r^64:63-r|0,f=A<<1|f,r=k+22|0,(A&127)>>>0>62))break k;for(l[k+22|0]=f,o=k+25|0,t=m(e,72)+41680|0,f=0;;){if(r=i[t+(f<<2)>>2],r=((r<<3&120)+(m(m(r>>4,5)-45|0,n)>>4)|0)-16|0,A=(r|0)>=126?126:r,A=(A|0)<=1?1:A,r=(r|0)>63,h=r?A^64:63-A|0,A=h<<1|r,r=f+o|0,(h&127)>>>0>=63)break f;if(l[r|0]=A,f=f+1|0,(f|0)==18)break}for(o=k+43|0,f=0;;){if(r=i[t+(f<<2)>>2],r=((r<<3&120)+(m(m(r>>4,5)-45|0,n)>>4)|0)-16|0,A=(r|0)>=126?126:r,A=(A|0)<=1?1:A,r=(r|0)>63,h=r?A^64:63-A|0,A=h<<1|r,r=f+o|0,(h&127)>>>0>=63)break f;if(l[r|0]=A,f=f+1|0,(f|0)==18)break}if(A=(u<<2)+41904|0,f=i[A>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,t=f?r^64:63-r|0,f=t<<1|f,r=k+61|0,(t&127)>>>0>=63||(l[k+61|0]=f,f=i[A+4>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,t=f?r^64:63-r|0,f=t<<1|f,r=k+62|0,(t&127)>>>0>62)||(l[k+62|0]=f,f=i[A+8>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,t=f?r^64:63-r|0,f=t<<1|f,r=k+63|0,(t&127)>>>0>62)||(l[k+63|0]=f,f=i[A+12>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,A=f?r^64:63-r|0,f=A<<1|f,r=k- -64|0,(A&127)>>>0>62))break k;for(l[r|0]=f,t=k+65|0,u=m(e,168)+41952|0,f=0;;){if(r=i[u+(f<<2)>>2],r=((r<<3&120)+(m(m(r>>4,5)-45|0,n)>>4)|0)-16|0,A=(r|0)>=126?126:r,A=(A|0)<=1?1:A,r=(r|0)>63,o=r?A^64:63-A|0,r=o<<1|r,A=f+t|0,(o&127)>>>0>=63)break A;if(l[A|0]=r,f=f+1|0,(f|0)==42)break}if(A=(e<<3)+42464|0,f=i[A>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,t=f?r^64:63-r|0,f=t<<1|f,r=k+107|0,(t&127)>>>0>=63||(l[k+107|0]=f,f=i[A+4>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,A=f?r^64:63-r|0,f=A<<1|f,r=k+108|0,(A&127)>>>0>62))break k;for(l[k+108|0]=f,t=k+109|0,u=m(e,96)+42496|0,f=0;;){if(r=i[u+(f<<2)>>2],r=((r<<3&120)+(m(m(r>>4,5)-45|0,n)>>4)|0)-16|0,A=(r|0)>=126?126:r,A=(A|0)<=1?1:A,r=(r|0)>63,o=r?A^64:63-A|0,r=o<<1|r,A=f+t|0,(o&127)>>>0>=63)break A;if(l[A|0]=r,f=f+1|0,(f|0)==24)break}if(A=m(e,24)+42784|0,f=i[A>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,t=f?r^64:63-r|0,f=t<<1|f,r=k+133|0,(t&127)>>>0>=63||(l[k+133|0]=f,f=i[A+4>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,t=f?r^64:63-r|0,f=t<<1|f,r=k+134|0,(t&127)>>>0>62)||(l[k+134|0]=f,f=i[A+8>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,t=f?r^64:63-r|0,f=t<<1|f,r=k+135|0,(t&127)>>>0>62)||(l[k+135|0]=f,f=i[A+12>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,t=f?r^64:63-r|0,f=t<<1|f,r=k+136|0,(t&127)>>>0>62)||(l[k+136|0]=f,f=i[A+16>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,t=f?r^64:63-r|0,f=t<<1|f,r=k+137|0,(t&127)>>>0>62)||(l[k+137|0]=f,f=i[A+20>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,A=f?r^64:63-r|0,f=A<<1|f,r=k+138|0,(A&127)>>>0>62))break k;if(l[k+138|0]=f,l[k|0]=14,f=i[(e<<2)+42856>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,e=(f|0)>=126?126:f,e=(e|0)<=1?1:e,f=(f|0)>63,e=f?e^64:63-e|0,f=e<<1|f,(e&127)>>>0>=63)break t;if(l[k+1|0]=f,l[k+139|0]=1,l[k+140|0]=1,f=m(n,-5)>>4,e=(f|0)>=54?54:f,e=(e|0)<=-71?-71:e,f=(f|0)>-9,e=f?e+72^64:-9-e|0,f=e<<1|f,(e&127)>>>0<=62)break n;l[k+141|0]=f;break e}l[k+149|0]=r;break e}l[k+147|0]=r;break e}l[k+148|0]=f;break e}l[k+153|0]=f;break e}l[k+143|0]=f;break e}l[k+12|0]=f;break e}l[k+13|0]=f;break e}l[k+1|0]=f;break e}f=m(f&255,257),l[k+141|0]=f,l[k+142|0]=f>>>8,l[k+170|0]=1,l[k+171|0]=1,l[k+162|0]=1,l[k+163|0]=1,l[k+164|0]=1,l[k+165|0]=1,l[k+166|0]=1,l[k+167|0]=1,l[k+168|0]=1,l[k+169|0]=1,l[k+161|0]=1,l[k+23|0]=1,l[k+24|0]=1;break r}l[r|0]=f;break e}l[r|0]=A;break e}l[A|0]=r}C0(16791,14e3,212,9243),P()}B=w+32|0;return}C0(16994,14e3,177,14144),P()}function mA(){var f=0,e=0,r=0,A=0,k=0,n=0,t=0;r=B-16|0,B=r,A=i[19590],e=i[19591];i:{if((A|0)!=(e|0))break i;f=U(16),i[f+12>>2]=77040,i[f+4>>2]=0,i[f+8>>2]=0,i[f>>2]=75148,i[r+12>>2]=f,k=f+12|0,i[r+8>>2]=k;r:{if(A>>>0>2]=f,i[e>>2]=k,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=77184,i[f>>2]=75196,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=75276,i[f>>2]=75236,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=75352,i[f>>2]=75312,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76932,i[f>>2]=75388,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76968,i[f>>2]=75428,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=77004,i[f>>2]=75468,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=77076,i[f>>2]=75508,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=77112,i[f>>2]=75548,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=77256,i[f>>2]=75588,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=77292,i[f>>2]=75628,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=77220,i[f>>2]=75668,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=77148,i[f>>2]=75708,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76824,i[f>>2]=75748,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=75828,i[f>>2]=75788,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=75904,i[f>>2]=75864,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76788,i[f>>2]=75940,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76860,i[f>>2]=75980,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=77400,i[f>>2]=76020,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=77328,i[f>>2]=76060,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=77364,i[f>>2]=76100,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76180,i[f>>2]=76140,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76256,i[f>>2]=76216,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76332,i[f>>2]=76292,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76408,i[f>>2]=76368,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76484,i[f>>2]=76444,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76560,i[f>>2]=76520,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76636,i[f>>2]=76596,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76712,i[f>>2]=76672,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=U(16),i[f+12>>2]=76896,i[f>>2]=76748,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591],e>>>0>2]=f,i[e>>2]=A,i[19591]=e+8;break i}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=r+16|0}function Z2(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;w=B-16|0,B=w;i:{r:{e:{A:{f:{k:{n:{t:{o:{u:{if(f>>>0<=244){if(k=i[24254],o=f>>>0<11?16:f+11&504,f=o>>>3|0,e=k>>>f|0,e&3){r=f+((e^-1)&1)|0,e=r<<3,f=e+97056|0,e=i[e+97064>>2],A=i[e+8>>2];l:{if((f|0)==(A|0)){v=97016,Z=a0(-2,r)&k,i[v>>2]=Z;break l}i[A+12>>2]=f,i[f+8>>2]=A}f=e+8|0,r=r<<3,i[e+4>>2]=r|3,e=e+r|0,i[e+4>>2]=i[e+4>>2]|1;break i}if(u=i[24256],u>>>0>=o>>>0)break u;if(e){r=2<>2],A=i[r+8>>2];l:{if((e|0)==(A|0)){k=a0(-2,f)&k,i[24254]=k;break l}i[A+12>>2]=e,i[e+8>>2]=A}if(i[r+4>>2]=o|3,t=r+o|0,f=f<<3,n=f-o|0,i[t+4>>2]=n|1,i[f+r>>2]=n,u){f=(u&-8)+97056|0,A=i[24259],e=1<<(u>>>3);l:{if(!(e&k)){i[24254]=e|k,e=f;break l}e=i[f+8>>2]}i[f+8>>2]=A,i[e+12>>2]=A,i[A+12>>2]=f,i[A+8>>2]=e}f=r+8|0,i[24259]=t,i[24256]=n;break i}if(_=i[24255],!_)break u;for(r=i[(P6(_)<<2)+97320>>2],n=(i[r+4>>2]&-8)-o|0,e=r;;){l:{if(f=i[e+16>>2],!f&&(f=i[e+20>>2],!f))break l;A=(i[f+4>>2]&-8)-o|0,e=A>>>0>>0,n=e?A:n,r=e?f:r,e=f;continue}break}if(h=i[r+24>>2],f=i[r+12>>2],(r|0)!=(f|0)){e=i[r+8>>2],i[e+12>>2]=f,i[f+8>>2]=e;break r}if(e=i[r+20>>2],e)A=r+20|0;else{if(e=i[r+16>>2],!e)break o;A=r+16|0}for(;t=A,f=e,A=f+20|0,e=i[f+20>>2],!(!e&&(A=f+16|0,e=i[f+16>>2],!e)););i[t>>2]=0;break r}if(o=-1,f>>>0>4294967231||(e=f+11|0,o=e&-8,t=i[24255],!t))break u;u=31,n=0-o|0,f>>>0<=16777204&&(f=$2(e>>>8|0),u=((o>>>38-f&1)-(f<<1)|0)+62|0),e=i[(u<<2)+97320>>2];l:{s:{h:{if(!e){f=0;break h}for(f=0,r=o<<((u|0)!=31?25-(u>>>1|0)|0:0);;){w:{if(k=(i[e+4>>2]&-8)-o|0,k>>>0>=n>>>0||(A=e,n=k,n))break w;n=0,f=e;break s}if(k=i[e+20>>2],e=i[((r>>>29&4)+e|0)+16>>2],f=k?(k|0)==(e|0)?f:k:f,r=r<<1,!e)break}}if(!(f|A)){if(A=0,f=2<>2]}if(!f)break l}for(;r=(i[f+4>>2]&-8)-o|0,e=r>>>0>>0,n=e?r:n,A=e?f:A,e=i[f+16>>2],e?f=e:f=i[f+20>>2],!!f;);}if(!A|i[24256]-o>>>0<=n>>>0)break u;if(u=i[A+24>>2],f=i[A+12>>2],(A|0)!=(f|0)){e=i[A+8>>2],i[e+12>>2]=f,i[f+8>>2]=e;break e}if(e=i[A+20>>2],e)r=A+20|0;else{if(e=i[A+16>>2],!e)break t;r=A+16|0}for(;k=r,f=e,r=f+20|0,e=i[f+20>>2],!(!e&&(r=f+16|0,e=i[f+16>>2],!e)););i[k>>2]=0;break e}if(A=i[24256],A>>>0>=o>>>0){f=i[24259],e=A-o|0;u:{if(e>>>0>=16){r=f+o|0,i[r+4>>2]=e|1,i[f+A>>2]=e,i[f+4>>2]=o|3;break u}i[f+4>>2]=A|3,e=f+A|0,i[e+4>>2]=i[e+4>>2]|1,r=0,e=0}i[24256]=e,i[24259]=r,f=f+8|0;break i}if(r=i[24257],r>>>0>o>>>0){e=r-o|0,i[24257]=e,f=i[24260],r=f+o|0,i[24260]=r,i[r+4>>2]=e|1,i[f+4>>2]=o|3,f=f+8|0;break i}if(f=0,n=o+47|0,i[24372]?e=i[24374]:(i[24375]=-1,i[24376]=-1,i[24373]=4096,i[24374]=4096,i[24372]=w+12&-16^1431655768,i[24377]=0,i[24365]=0,e=4096),k=n+e|0,t=0-e|0,e=k&t,e>>>0<=o>>>0||(u=i[24364],u&&(h=i[24362],A=h+e|0,A>>>0<=h>>>0|A>>>0>u>>>0)))break i;u:{if(!(s[97460]&4)){l:{s:{h:{w:{if(A=i[24260],A)for(f=97464;;){if(u=i[f>>2],u>>>0<=A>>>0&A>>>0>2]>>>0)break w;if(f=i[f+8>>2],!f)break}if(r=Di(0),(r|0)==-1||(k=e,f=i[24373],A=f-1|0,A&r&&(k=(e-r|0)+(r+A&0-f)|0),k>>>0<=o>>>0)||(A=i[24364],A&&(t=i[24362],f=t+k|0,f>>>0<=t>>>0|f>>>0>A>>>0)))break l;if(f=Di(k),(r|0)!=(f|0))break h;break u}if(k=t&k-r,r=Di(k),(r|0)==(i[f>>2]+i[f+4>>2]|0))break s;f=r}if((f|0)==-1)break l;if(o+48>>>0<=k>>>0){r=f;break u}if(r=i[24374],r=r+(n-k|0)&0-r,(Di(r)|0)==-1)break l;k=r+k|0,r=f;break u}if((r|0)!=-1)break u}i[24365]=i[24365]|4}if(r=Di(e),f=Di(0),(r|0)==-1|(f|0)==-1|f>>>0<=r>>>0||(k=f-r|0,k>>>0<=o+40>>>0))break f}f=i[24362]+k|0,i[24362]=f,f>>>0>k0[24363]&&(i[24363]=f);u:{if(n=i[24260],n){for(f=97464;;){if(e=i[f>>2],A=i[f+4>>2],(e+A|0)==(r|0))break u;if(f=i[f+8>>2],!f)break}break n}for(f=i[24258],f>>>0<=r>>>0&&f||(i[24258]=r),f=0,i[24367]=k,i[24366]=r,i[24262]=-1,i[24263]=i[24372],i[24369]=0;e=f<<3,A=e+97056|0,i[e+97064>>2]=A,i[e+97068>>2]=A,f=f+1|0,(f|0)!=32;);f=k-40|0,e=-8-r&7,A=f-e|0,i[24257]=A,e=e+r|0,i[24260]=e,i[e+4>>2]=A|1,i[(f+r|0)+4>>2]=40,i[24261]=i[24376];break k}if(i[f+12>>2]&8|(r>>>0<=n>>>0|e>>>0>n>>>0))break n;i[f+4>>2]=A+k,f=-8-n&7,e=f+n|0,i[24260]=e,r=i[24257]+k|0,f=r-f|0,i[24257]=f,i[e+4>>2]=f|1,i[(r+n|0)+4>>2]=40,i[24261]=i[24376];break k}f=0;break r}f=0;break e}k0[24258]>r>>>0&&(i[24258]=r),A=r+k|0,f=97464;n:{for(;;){if(e=i[f>>2],(e|0)!=(A|0)){if(f=i[f+8>>2],f)continue;break n}break}if(!(s[f+12|0]&8))break A}for(f=97464;;){n:{if(e=i[f>>2],e>>>0<=n>>>0&&(A=e+i[f+4>>2]|0,A>>>0>n>>>0))break n;f=i[f+8>>2];continue}break}for(f=k-40|0,e=-8-r&7,t=f-e|0,i[24257]=t,e=e+r|0,i[24260]=e,i[e+4>>2]=t|1,i[(f+r|0)+4>>2]=40,i[24261]=i[24376],f=(A+(39-A&7)|0)-47|0,e=f>>>0>>0?n:f,i[e+4>>2]=27,f=i[24369],i[e+16>>2]=i[24368],i[e+20>>2]=f,f=i[24367],i[e+8>>2]=i[24366],i[e+12>>2]=f,i[24368]=e+8,i[24367]=k,i[24366]=r,i[24369]=0,f=e+24|0;i[f+4>>2]=7,r=f+8|0,f=f+4|0,r>>>0>>0;);if((e|0)==(n|0))break k;i[e+4>>2]=i[e+4>>2]&-2,r=e-n|0,i[n+4>>2]=r|1,i[e>>2]=r;n:{if(r>>>0<=255){f=(r&-8)+97056|0,e=i[24254],r=1<<(r>>>3);t:{if(!(e&r)){i[24254]=e|r,e=f;break t}e=i[f+8>>2]}i[f+8>>2]=n,i[e+12>>2]=n,A=8,r=12;break n}f=31,r>>>0<=16777215&&(f=$2(r>>>8|0),f=((r>>>38-f&1)-(f<<1)|0)+62|0),i[n+28>>2]=f,i[n+16>>2]=0,i[n+20>>2]=0,e=(f<<2)+97320|0;t:{A=i[24255],k=1<>2]=n;break o}for(f=r<<((f|0)!=31?25-(f>>>1|0)|0:0),A=i[e>>2];;){if(e=A,(r|0)==(i[e+4>>2]&-8))break t;if(A=f>>>29|0,f=f<<1,k=(A&4)+e|0,A=i[k+16>>2],!A)break}i[k+16>>2]=n}i[n+24>>2]=e,e=n,f=e,A=12,r=8;break n}f=i[e+8>>2],i[f+12>>2]=n,i[e+8>>2]=n,i[n+8>>2]=f,f=0,A=12,r=24}i[A+n>>2]=e,i[r+n>>2]=f}if(f=i[24257],f>>>0<=o>>>0)break f;e=f-o|0,i[24257]=e,f=i[24260],r=f+o|0,i[24260]=r,i[r+4>>2]=e|1,i[f+4>>2]=o|3,f=f+8|0;break i}i[23944]=48,f=0;break i}i[f>>2]=r,i[f+4>>2]=i[f+4>>2]+k,u=(-8-r&7)+r|0,i[u+4>>2]=o|3,k=e+(-8-e&7)|0,n=o+u|0,t=k-n|0;A:{if(i[24260]==(k|0)){i[24260]=n,f=i[24257]+t|0,i[24257]=f,i[n+4>>2]=f|1;break A}if(i[24259]==(k|0)){i[24259]=n,f=i[24256]+t|0,i[24256]=f,i[n+4>>2]=f|1,i[f+n>>2]=f;break A}if(f=i[k+4>>2],(f&3)==1){h=f&-8,r=i[k+12>>2];f:{if(f>>>0<=255){if(e=i[k+8>>2],(e|0)==(r|0)){v=97016,Z=i[24254]&a0(-2,f>>>3|0),i[v>>2]=Z;break f}i[e+12>>2]=r,i[r+8>>2]=e;break f}o=i[k+24>>2];k:{if((r|0)!=(k|0)){f=i[k+8>>2],i[f+12>>2]=r,i[r+8>>2]=f;break k}n:{if(f=i[k+20>>2],f)e=k+20|0;else{if(f=i[k+16>>2],!f)break n;e=k+16|0}for(;A=e,r=f,e=f+20|0,f=i[f+20>>2],!(!f&&(e=r+16|0,f=i[r+16>>2],!f)););i[A>>2]=0;break k}r=0}if(!o)break f;f=i[k+28>>2],e=(f<<2)+97320|0;k:{if(i[e>>2]==(k|0)){if(i[e>>2]=r,r)break k;v=97020,Z=i[24255]&a0(-2,f),i[v>>2]=Z;break f}if(i[o+(i[o+16>>2]==(k|0)?16:20)>>2]=r,!r)break f}if(i[r+24>>2]=o,f=i[k+16>>2],f&&(i[r+16>>2]=f,i[f+24>>2]=r),f=i[k+20>>2],!f)break f;i[r+20>>2]=f,i[f+24>>2]=r}t=t+h|0,k=k+h|0,f=i[k+4>>2]}if(i[k+4>>2]=f&-2,i[n+4>>2]=t|1,i[n+t>>2]=t,t>>>0<=255){f=(t&-8)+97056|0,e=i[24254],r=1<<(t>>>3);f:{if(!(e&r)){i[24254]=e|r,e=f;break f}e=i[f+8>>2]}i[f+8>>2]=n,i[e+12>>2]=n,i[n+12>>2]=f,i[n+8>>2]=e;break A}r=31,t>>>0<=16777215&&(f=$2(t>>>8|0),r=((t>>>38-f&1)-(f<<1)|0)+62|0),i[n+28>>2]=r,i[n+16>>2]=0,i[n+20>>2]=0,f=(r<<2)+97320|0;f:{e=i[24255],A=1<>2]=n;break k}for(r=t<<((r|0)!=31?25-(r>>>1|0)|0:0),e=i[f>>2];;){if(f=e,(i[f+4>>2]&-8)==(t|0))break f;if(e=r>>>29|0,r=r<<1,A=(e&4)+f|0,e=i[A+16>>2],!e)break}i[A+16>>2]=n}i[n+24>>2]=f,i[n+12>>2]=n,i[n+8>>2]=n;break A}e=i[f+8>>2],i[e+12>>2]=n,i[f+8>>2]=n,i[n+24>>2]=0,i[n+12>>2]=f,i[n+8>>2]=e}f=u+8|0;break i}e:{if(!u)break e;e=i[A+28>>2],r=(e<<2)+97320|0;A:{if(i[r>>2]==(A|0)){if(i[r>>2]=f,f)break A;t=a0(-2,e)&t,i[24255]=t;break e}if(i[u+(i[u+16>>2]==(A|0)?16:20)>>2]=f,!f)break e}if(i[f+24>>2]=u,e=i[A+16>>2],e&&(i[f+16>>2]=e,i[e+24>>2]=f),e=i[A+20>>2],!e)break e;i[f+20>>2]=e,i[e+24>>2]=f}e:{if(n>>>0<=15){f=n+o|0,i[A+4>>2]=f|3,f=f+A|0,i[f+4>>2]=i[f+4>>2]|1;break e}if(i[A+4>>2]=o|3,k=A+o|0,i[k+4>>2]=n|1,i[n+k>>2]=n,n>>>0<=255){f=(n&-8)+97056|0,e=i[24254],r=1<<(n>>>3);A:{if(!(e&r)){i[24254]=e|r,e=f;break A}e=i[f+8>>2]}i[f+8>>2]=k,i[e+12>>2]=k,i[k+12>>2]=f,i[k+8>>2]=e;break e}f=31,n>>>0<=16777215&&(f=$2(n>>>8|0),f=((n>>>38-f&1)-(f<<1)|0)+62|0),i[k+28>>2]=f,i[k+16>>2]=0,i[k+20>>2]=0,e=(f<<2)+97320|0;A:{r=1<>2]=k,i[k+24>>2]=e;break f}for(f=n<<((f|0)!=31?25-(f>>>1|0)|0:0),e=i[e>>2];;){if(r=e,(i[e+4>>2]&-8)==(n|0))break A;if(t=f>>>29|0,f=f<<1,t=e+(t&4)|0,e=i[t+16>>2],!e)break}i[t+16>>2]=k,i[k+24>>2]=r}i[k+12>>2]=k,i[k+8>>2]=k;break e}f=i[r+8>>2],i[f+12>>2]=k,i[r+8>>2]=k,i[k+24>>2]=0,i[k+12>>2]=r,i[k+8>>2]=f}f=A+8|0;break i}r:{if(!h)break r;e=i[r+28>>2],A=(e<<2)+97320|0;e:{if(i[A>>2]==(r|0)){if(i[A>>2]=f,f)break e;v=97020,Z=a0(-2,e)&_,i[v>>2]=Z;break r}if(i[h+(i[h+16>>2]==(r|0)?16:20)>>2]=f,!f)break r}if(i[f+24>>2]=h,e=i[r+16>>2],e&&(i[f+16>>2]=e,i[e+24>>2]=f),e=i[r+20>>2],!e)break r;i[f+20>>2]=e,i[e+24>>2]=f}r:{if(n>>>0<=15){f=n+o|0,i[r+4>>2]=f|3,f=f+r|0,i[f+4>>2]=i[f+4>>2]|1;break r}if(i[r+4>>2]=o|3,t=r+o|0,i[t+4>>2]=n|1,i[n+t>>2]=n,u){f=(u&-8)+97056|0,A=i[24259],e=1<<(u>>>3);e:{if(!(e&k)){i[24254]=e|k,e=f;break e}e=i[f+8>>2]}i[f+8>>2]=A,i[e+12>>2]=A,i[A+12>>2]=f,i[A+8>>2]=e}i[24259]=t,i[24256]=n}f=r+8|0}return B=w+16|0,f|0}function gs(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=Y(0),h=Y(0),w=0,_=0,v=0,Z=Y(0),p=Y(0),W=0,C=0,I=0,y=0,E=0,J=Y(0),R=Y(0),D=Y(0),z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0;e=B-112|0,B=e,A=i[r>>2],v=i[A+28>>2],_=i[A+24>>2],n=U(136),i[n>>2]=72792,i[n+4>>2]=0,i[n+8>>2]=0,B0(n+20|0,0,104),A=i[n+4>>2],t=A+1|0,i[n+4>>2]=t,i[n+56>>2]=0,i[n+60>>2]=0,i[n+44>>2]=99,i[n+48>>2]=99,i[n+32>>2]=3795,w=n- -64|0,i[w>>2]=0,i[w+4>>2]=0,i[n+132>>2]=0,i[n+124>>2]=0,i[n+128>>2]=0,i[n+84>>2]=1,i[n+88>>2]=1,i[n+72>>2]=n+76,i[n+92>>2]=0,i[n+96>>2]=0,i[n+100>>2]=0,i[n+104>>2]=0,i[n+108>>2]=0,i[n+112>>2]=0,l[n+113|0]=0,l[n+114|0]=0,l[n+115|0]=0,l[n+116|0]=0,l[n+117|0]=0,l[n+118|0]=0,l[n+119|0]=0,l[n+120|0]=0,C=n+12|0,i[n+12>>2]=C,i[n+8>>2]=i[n+8>>2]+1,i[n+4>>2]=A,i[n+16>>2]=n,t||(V[i[i[n>>2]+8>>2]](n),g(n)),A=i[k+4>>2],t=A>>>0<4,i[C+36>>2]=A,i[C+32>>2]=0,i[C+28>>2]=v,i[C+24>>2]=_,d=_-1|0,A=A<<3,I=(t?16908801>>>A|0:0)&3,w=(d+I|0)/(I|0)|0,q=v-1|0,o=(t?16843265>>>A|0:0)&3,A=(q+o|0)/(o|0)|0,j=s[k+8|0],L=i[i[r>>2]+36>>2];i:{r:{e:{A:{f:{k:{n:{if(!J0(C,0,_,v,8)||!J0(C,1,w,A,8)||!J0(C,2,w,A,8)||(A=j&1,A&&!J0(C,6,_,v,8)))break n;if(i[e+108>>2]=0,i[e+104>>2]=0,i[e+100>>2]=0,i[e+96>>2]=0,i[e+92>>2]=0,y=v0(i[r>>2],10,e+92|0),z=v0(C,0,e+100|0),a=v0(C,1,e+108|0),S=v0(C,2,e+104|0),A&&(H=v0(C,6,e+96|0)),i[e+84>>2]=-1113159960,i[e+76>>2]=1056964608,i[e+80>>2]=-1093247418,i[e+68>>2]=-1096180881,i[e+72>>2]=1056964608,i[e+60>>2]=1038710997,i[e+64>>2]=-1104361250,i[e+52>>2]=1050220167,i[e+56>>2]=1058424226,l[e+48|0]=1,E=s[k+26|0],Kr(e+8|0,Q[k+24>>1],Q[k+20>>1]),r=i[e+44>>2],i[e+80>>2]=i[e+40>>2],i[e+84>>2]=r,r=i[e+36>>2],i[e+72>>2]=i[e+32>>2],i[e+76>>2]=r,A=i[e+28>>2],r=e- -64|0,i[r>>2]=i[e+24>>2],i[r+4>>2]=A,r=i[e+20>>2],i[e+56>>2]=i[e+16>>2],i[e+60>>2]=r,r=i[e+12>>2],i[e+48>>2]=i[e+8>>2],i[e+52>>2]=r,w=(L|0)==11?4:3,(v|0)<=0)break k;if((_|0)<=0)break f;t=0;t:{if(E&1)for(;;){for(k=m(i[e+92>>2],t)+y|0,r=0;;){W=(z+m(i[e+100>>2],t)|0)+r|0,u=Y(Y(Y(Y(s[k+2|0])*Z0[e+60>>2])+Y(Y(Y(s[k|0])*Z0[e+52>>2])+Y(Z0[e+56>>2]*Y(s[k+1|0]))))+Y(.5));o:{if(Y(d0(u))=255?255:A,l[W|0]=(A|0)>0?A:0,k=k+w|0,r=r+1|0,(_|0)==(r|0))break}if(t=t+1|0,(v|0)==(t|0))break t}for(;;){for(k=m(i[e+92>>2],t)+y|0,A=0;;){W=(z+m(i[e+100>>2],t)|0)+A|0,u=Y(Y(Y(Y(Y(s[k+2|0])*Z0[e+60>>2])+Y(Y(Y(s[k|0])*Z0[e+52>>2])+Y(Z0[e+56>>2]*Y(s[k+1|0]))))*Y(.8554700016975403))+Y(.5));o:{if(Y(d0(u))>>0>=219?219:r)+16|0,k=k+w|0,A=A+1|0,(_|0)==(A|0))break}if(t=t+1|0,(v|0)==(t|0))break}}if(k=(o|0)==1,(I|0)!=1|(o|0)!=1)break A;if((v|0)<=0)break r;if(r=0,E&1)for(;;){for(k=m(i[e+92>>2],r)+y|0,A=0;;){o=i[e+104>>2],u=Z0[e+84>>2],h=Z0[e+76>>2],p=Z0[e+80>>2],W=(m(i[e+108>>2],r)+a|0)+A|0,Z=Y(s[k+2|0]),J=Y(s[k|0]),R=Y(s[k+1|0]),D=Y(Y(Y(Y(Z*Z0[e+72>>2])+Y(Y(J*Z0[e+64>>2])+Y(Z0[e+68>>2]*R)))+Y(128))+Y(.5));t:{if(Y(d0(D))=255?255:t,l[W|0]=(t|0)>0?t:0,o=(m(r,o)+S|0)+A|0,u=Y(Y(Y(Y(Z*u)+Y(Y(J*h)+Y(p*R)))+Y(128))+Y(.5));t:{if(Y(d0(u))=255?255:t,l[o|0]=(t|0)>0?t:0,k=k+w|0,A=A+1|0,(_|0)==(A|0))break}if(r=r+1|0,(v|0)==(r|0))break e}for(;;){for(k=m(i[e+92>>2],r)+y|0,A=0;;){o=i[e+104>>2],u=Z0[e+84>>2],h=Z0[e+76>>2],p=Z0[e+80>>2],W=(m(i[e+108>>2],r)+a|0)+A|0,Z=Y(s[k+2|0]),J=Y(s[k|0]),R=Y(s[k+1|0]),D=Y(Y(Y(Y(Y(Z*Z0[e+72>>2])+Y(Y(J*Z0[e+64>>2])+Y(Z0[e+68>>2]*R)))*Y(.875))+Y(128))+Y(.5));t:{if(Y(d0(D))=255?255:t,l[W|0]=(t|0)>0?t:0,o=(m(r,o)+S|0)+A|0,u=Y(Y(Y(Y(Y(Z*u)+Y(Y(J*h)+Y(p*R)))*Y(.875))+Y(128))+Y(.5));t:{if(Y(d0(u))=255?255:t,l[o|0]=(t|0)>0?t:0,k=k+w|0,A=A+1|0,(_|0)==(A|0))break}if(r=r+1|0,(v|0)==(r|0))break}break e}if(i[f>>2]=0,i[f+4>>2]=0,f=i[n+4>>2],i[n+4>>2]=f-1,f)break i;V[i[i[n>>2]+8>>2]](n),g(n);break i}if(k=(o|0)==1,(I|0)!=1)break A;if(k)break r;break A}if(k=(o|0)==1,(I|0)!=1)break A;if(k)break e}if(r=(I|0)!=2,!(r|(o|0)!=2)){z=v&-2;A:{if((z|0)<=0||(A0=_&-2,(A0|0)<=0))break A;for(n0=w<<1,h0=w+2|0,f0=w+1|0,t=0;;){for(I=t>>>1|0,k=m(i[e+92>>2],t)+y|0,r=0;;){o=i[e+92>>2],A=o+k|0,o=(o+w|0)+k|0,h=Y(((s[A+2|0]+(s[k+h0|0]+s[k+2|0]|0)|0)+s[o+2|0]>>>2&255)>>>0),p=Y((s[o|0]+(s[A|0]+(s[k+w|0]+s[k|0]|0)|0)>>>2&255)>>>0),Z=Y((s[o+1|0]+(s[A+1|0]+(s[k+f0|0]+s[k+1|0]|0)|0)>>>2&255)>>>0),u=Y(Y(h*Z0[e+84>>2])+Y(Y(p*Z0[e+76>>2])+Y(Z0[e+80>>2]*Z))),h=Y(Y(h*Z0[e+72>>2])+Y(Y(p*Z0[e+64>>2])+Y(Z0[e+68>>2]*Z))),o=r>>>1|0,A=o+(m(I,i[e+104>>2])+S|0)|0,W=o+(m(I,i[e+108>>2])+a|0)|0;f:{if(!(E&1)){u=Y(Y(u*Y(.875))+Y(128)),h=Y(Y(Y(h*Y(.875))+Y(128))+Y(.5));k:{if(Y(d0(h))=255?255:o,o=(o|0)>0?o:0;break f}u=Y(u+Y(128)),h=Y(Y(h+Y(128))+Y(.5));k:{if(Y(d0(h))=255?255:o,o=(o|0)>0?o:0}l[W|0]=o,k=k+n0|0,W=A,u=Y(u+Y(.5));f:{if(Y(d0(u))=255?255:o,l[W|0]=(A|0)>0?A:0,r=r+2|0,!((A0|0)>(r|0)))break}if(t=t+2|0,!((z|0)>(t|0)))break}}if(!(!(_&1)|(v|0)<=0))for(r=d>>1,I=r+S|0,z=r+a|0,k=m(w,d)+y|0,r=0;;){A=s[k|0];A:{if((r|1)<(v|0)){o=i[e+92>>2]+k|0,A=s[o|0]+(A&255)>>>1|0,t=s[o+2|0]+s[k+2|0]>>>1|0,o=s[o+1|0]+s[k+1|0]>>>1|0;break A}t=s[k+2|0],o=s[k+1|0]}h=Y((t&255)>>>0),p=Y((A&255)>>>0),Z=Y((o&255)>>>0),u=Y(Y(h*Z0[e+84>>2])+Y(Y(p*Z0[e+76>>2])+Y(Z0[e+80>>2]*Z))),h=Y(Y(h*Z0[e+72>>2])+Y(Y(p*Z0[e+64>>2])+Y(Z0[e+68>>2]*Z))),t=r>>>1|0,A=I+m(t,i[e+104>>2])|0,o=z+m(t,i[e+108>>2])|0;A:{if(E&1){u=Y(u+Y(128)),h=Y(Y(h+Y(128))+Y(.5));f:{if(Y(d0(h))=255?255:t,t=(t|0)>0?t:0;break A}u=Y(Y(u*Y(.875))+Y(128)),h=Y(Y(Y(h*Y(.875))+Y(128))+Y(.5));f:{if(Y(d0(h))=255?255:t,t=(t|0)>0?t:0}l[o|0]=t,o=A,u=Y(u+Y(.5));A:{if(Y(d0(u))=255?255:t,l[o|0]=(A|0)>0?A:0,k=(i[e+92>>2]<<1)+k|0,r=r+2|0,!((v|0)>(r|0)))break}if(!(v&1)|(_|0)<=0)break e;for(z=w<<1,I=q>>1,A0=w+2|0,n0=w+1|0,k=m(i[e+92>>2],q)+y|0,r=0;;){A=s[k|0],h0=m(I,i[e+104>>2])+S|0,f0=r>>>1|0,t=f0+(m(I,i[e+108>>2])+a|0)|0;A:{if((_|0)>(r|1)){A=s[k+w|0]+(A&255)>>>1|0,q=s[k+A0|0]+s[k+2|0]>>>1|0,o=s[k+n0|0]+s[k+1|0]>>>1|0;break A}q=s[k+2|0],o=s[k+1|0]}h=Y((q&255)>>>0),p=Y((A&255)>>>0),Z=Y(o>>>0),u=Y(Y(h*Z0[e+84>>2])+Y(Y(p*Z0[e+76>>2])+Y(Z0[e+80>>2]*Z))),h=Y(Y(h*Z0[e+72>>2])+Y(Y(p*Z0[e+64>>2])+Y(Z0[e+68>>2]*Z))),A=h0+f0|0;A:{if(E&1){u=Y(u+Y(128)),h=Y(Y(h+Y(128))+Y(.5));f:{if(Y(d0(h))=255?255:o,o=(o|0)>0?o:0;break A}u=Y(Y(u*Y(.875))+Y(128)),h=Y(Y(Y(h*Y(.875))+Y(128))+Y(.5));f:{if(Y(d0(h))=255?255:o,o=(o|0)>0?o:0}l[t|0]=o,o=A,u=Y(u+Y(.5));A:{if(Y(d0(u))=255?255:t,l[o|0]=(A|0)>0?A:0,k=k+z|0,r=r+2|0,!((_|0)>(r|0)))break}break e}if(r|k^1|(v|0)<=0|(_|0)<=0)break e;if(w=w<<1,r=0,E&1)for(;;){for(k=m(i[e+92>>2],r)+y|0,t=0;;){o=i[e+104>>2],u=Z0[e+84>>2],h=Z0[e+76>>2],p=Z0[e+80>>2],E=t>>>1|0,W=E+(m(i[e+108>>2],r)+a|0)|0,Z=Y(s[k+2|0]),J=Y(s[k|0]),R=Y(s[k+1|0]),D=Y(Y(Y(Y(Z*Z0[e+72>>2])+Y(Y(J*Z0[e+64>>2])+Y(Z0[e+68>>2]*R)))+Y(128))+Y(.5));A:{if(Y(d0(D))=255?255:A,l[W|0]=(A|0)>0?A:0,o=E+(m(r,o)+S|0)|0,u=Y(Y(Y(Y(Z*u)+Y(Y(J*h)+Y(p*R)))+Y(128))+Y(.5));A:{if(Y(d0(u))=255?255:A,l[o|0]=(A|0)>0?A:0,k=k+w|0,t=t+2|0,!((_|0)>(t|0)))break}if(r=r+1|0,(v|0)==(r|0))break e}for(;;){for(k=m(i[e+92>>2],r)+y|0,t=0;;){o=i[e+104>>2],u=Z0[e+84>>2],h=Z0[e+76>>2],p=Z0[e+80>>2],E=t>>>1|0,W=E+(m(i[e+108>>2],r)+a|0)|0,Z=Y(s[k+2|0]),J=Y(s[k|0]),R=Y(s[k+1|0]),D=Y(Y(Y(Y(Y(Z*Z0[e+72>>2])+Y(Y(J*Z0[e+64>>2])+Y(Z0[e+68>>2]*R)))*Y(.875))+Y(128))+Y(.5));A:{if(Y(d0(D))=255?255:A,l[W|0]=(A|0)>0?A:0,o=E+(m(r,o)+S|0)|0,u=Y(Y(Y(Y(Y(Z*u)+Y(Y(J*h)+Y(p*R)))*Y(.875))+Y(128))+Y(.5));A:{if(Y(d0(u))=255?255:A,l[o|0]=(A|0)>0?A:0,k=k+w|0,t=t+2|0,!((_|0)>(t|0)))break}if(r=r+1|0,(v|0)==(r|0))break}}if(!(j&1)|(v|0)<=0|(_|0)<=0)break r;if((L|0)!=11){for(w=_&2147483644,A=_&3,r=0,_=_>>>0<4;;){if(k=0,t=0,!_)for(;l[(m(i[e+96>>2],r)+k|0)+H|0]=255,l[((m(i[e+96>>2],r)+k|0)+H|0)+1|0]=255,l[((m(i[e+96>>2],r)+k|0)+H|0)+2|0]=255,l[((m(i[e+96>>2],r)+k|0)+H|0)+3|0]=255,k=k+4|0,t=t+4|0,(w|0)!=(t|0););if(t=0,A)for(;l[(m(i[e+96>>2],r)+k|0)+H|0]=255,k=k+1|0,t=t+1|0,(A|0)!=(t|0););if(r=r+1|0,(v|0)==(r|0))break}break r}for(A=_&2147483646,_=_&1,r=0;;){if(k=0,t=0,d)for(;l[(m(i[e+96>>2],r)+k|0)+H|0]=s[((m(i[e+92>>2],r)+y|0)+(k<<2)|0)+3|0],w=k|1,l[(w+m(i[e+96>>2],r)|0)+H|0]=s[((m(i[e+92>>2],r)+y|0)+(w<<2)|0)+3|0],k=k+2|0,t=t+2|0,(A|0)!=(t|0););if(_&&(l[(m(i[e+96>>2],r)+k|0)+H|0]=s[((m(i[e+92>>2],r)+y|0)+(k<<2)|0)+3|0]),r=r+1|0,(v|0)==(r|0))break}}i[f+4>>2]=n,i[f>>2]=C}B=e+112|0}function sk(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=Y(0),S=0;k=B-144|0,B=k,A=B0(k,0,144),i[A+76>>2]=-1,i[A+44>>2]=f,i[A+32>>2]=1093,i[A+84>>2]=f,k=e,J=r,f=0,h=B-304|0,B=h;i:{r:{if(!i[A+4>>2]&&(g6(A),!i[A+4>>2]))break r;if(e=s[k|0],!e)break i;e:{A:{f:{k:{n:{for(;;){t:{e=e&255;o:{if((e|0)==32|e-9>>>0<5){for(;e=k,k=k+1|0,r=s[e+1|0],!!((r|0)==32|r-9>>>0<5););for(a4(A,0,0);;){r=i[A+4>>2];u:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break u}r=I2(A)}if(!((r|0)==32|r-9>>>0<5))break}k=i[A+4>>2],r=i[A+116>>2],(r|0)>0?r=1:r=(r|0)>=0,r&&(k=k-1|0,i[A+4>>2]=k),r=k-i[A+44>>2]|0,k=r,t=p+i[A+124>>2]|0,n=r>>31,r=_+i[A+120>>2]|0,t=n+(r>>>0<_>>>0?t+1|0:t)|0,_=r+k|0,p=_>>>0>>0?t+1|0:t;break o}u:{l:{s:{if((e|0)==37){if(e=s[k+1|0],(e|0)==42)break s;if((e|0)!=37)break l}a4(A,0,0);h:{if(s[k|0]==37){for(;;){e=i[A+4>>2];w:{if((e|0)!=i[A+104>>2]){i[A+4>>2]=e+1,e=s[e|0];break w}e=I2(A)}if(!((e|0)==32|e-9>>>0<5))break}k=k+1|0;break h}if(e=i[A+4>>2],(e|0)!=i[A+104>>2]){i[A+4>>2]=e+1,e=s[e|0];break h}e=I2(A)}if(s[k|0]!=(e|0)){if(f=i[A+116>>2],(f|0)>0?f=1:f=(f|0)>=0,f&&(i[A+4>>2]=i[A+4>>2]-1),E|(e|0)>=0)break i;break r}e=i[A+4>>2]-i[A+44>>2]|0,n=e,r=p+i[A+124>>2]|0,o=e>>31,e=_+i[A+120>>2]|0,u=o+(e>>>0<_>>>0?r+1|0:r)|0,_=e+n|0,p=_>>>0>>0?u+1|0:u,e=k;break o}w=0,e=k+2|0;break u}if(e=e-48|0,!(s[k+2|0]!=36|e>>>0>9)){r=B-16|0,i[r+12>>2]=J,e=e>>>0>1?((e<<2)+J|0)-4|0:J,i[r+8>>2]=e+4,w=i[e>>2],e=k+3|0;break u}w=i[J>>2],J=J+4|0,e=k+1|0}if(I=0,n=0,k=s[e|0],k-48>>>0<=9)for(;n=(m(n,10)+k|0)-48|0,k=s[e+1|0],e=e+1|0,k-48>>>0<10;);(k|0)==109&&(Z=0,I=(w|0)!=0,k=s[e+1|0],f=0,e=e+1|0),o=e,e=e+1|0,r=3,t=I;u:{l:switch((k&255)-65|0){case 39:r=s[o+1|0]==104,e=r?o+2|0:e,r=r?-2:-1;break u;case 43:r=s[o+1|0]==108,e=r?o+2|0:e,r=r?3:1;break u;case 51:case 57:r=1;break u;case 11:r=2;break u;case 41:break u;case 0:case 2:case 4:case 5:case 6:case 18:case 23:case 26:case 32:case 34:case 35:case 36:case 37:case 38:case 40:case 45:case 46:case 47:case 50:case 52:case 55:break l;default:break A}r=0,e=o}o=r,r=s[e|0],k=(r&47)==3,R=k?1:o,W=k?r|32:r;u:{if((W|0)==91)break u;l:{if((W|0)!=110){if((W|0)!=99)break l;n=(n|0)<=1?1:n;break u}a9(w,R,_,p);break o}for(a4(A,0,0);;){r=i[A+4>>2];l:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break l}r=I2(A)}if(!((r|0)==32|r-9>>>0<5))break}k=i[A+4>>2],r=i[A+116>>2],(r|0)>0?r=1:r=(r|0)>=0,r&&(k=k-1|0,i[A+4>>2]=k),r=k-i[A+44>>2]|0,k=r,t=p+i[A+124>>2]|0,o=r>>31,r=_+i[A+120>>2]|0,p=o+(r>>>0<_>>>0?t+1|0:t)|0,_=r+k|0,p=_>>>0>>0?p+1|0:p}v=n,C=n>>31,a4(A,n,C),r=i[A+4>>2];u:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1;break u}if((I2(A)|0)<0)break f}r=i[A+116>>2],(r|0)>0?r=1:r=(r|0)>=0,r&&(i[A+4>>2]=i[A+4>>2]-1),k=16;u:{l:{s:{h:{w:switch(W-88|0){default:if(r=W-65|0,r>>>0>6|!(1<>2]-i[A+44>>2]|0,i[A+120>>2]!=(0-r|0)|i[A+124>>2]!=(0-((r>>31)+((r|0)!=0)|0)|0))break s;break k;case 3:case 11:case 27:if((W|16)==115){if(B0(h+32|0,-1,257),l[h+32|0]=0,(W|0)!=115)break l;l[h+65|0]=0,l[h+46|0]=0,X[h+42>>1]=0,X[h+44>>1]=0;break l}k=s[e+1|0],t=(k|0)==94,B0(h+32|0,t,257),l[h+32|0]=0,r=t?e+2|0:e+1|0;_:{v:{Z:{if(e=s[(t?2:1)+e|0],(e|0)!=45){if((e|0)==93)break Z;u=(k|0)!=94,e=r;break _}u=(k|0)!=94,l[h+78|0]=u;break v}u=(k|0)!=94,l[h+126|0]=u}e=r+1|0}for(;;){r=s[e|0];_:{if((r|0)!=45){if(!r)break f;if((r|0)==93)break l;break _}if(r=45,t=s[e+1|0],!t|(t|0)==93)break _;o=e+1|0,k=s[e-1|0];v:{if(t>>>0<=k>>>0){r=t;break v}for(;k=k+1|0,l[k+(h+32|0)|0]=u,r=s[o|0],k>>>0>>0;);}e=o}l[(r+h|0)+33|0]=u,e=e+1|0}case 23:k=8;break h;case 12:case 29:k=10;break h;case 1:case 2:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 22:case 25:case 26:case 28:case 30:case 31:break u;case 0:case 24:case 32:break h;case 17:break w}k=0}n=0,t=0,o=0,u=0,C=0,D=B-16|0,B=D;h:{if(!((k|0)!=1&k>>>0<=36)){i[23944]=28;break h}for(;;){r=i[A+4>>2];w:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break w}r=I2(A)}if(!((r|0)==32|r-9>>>0<5))break}w:{_:switch(r-43|0){case 0:case 2:break _;default:break w}if(C=(r|0)==45?-1:0,r=i[A+4>>2],(r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break w}r=I2(A)}w:{_:{v:{Z:{if(!((k|0)!=0&(k|0)!=16|(r|0)!=48)){r=i[A+4>>2];m:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break m}r=I2(A)}if((r&-33)==88){k=16,r=i[A+4>>2];m:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break m}r=I2(A)}if(s[r+56209|0]<16)break v;r=i[A+116>>2],(r|0)>0?r=1:r=(r|0)>=0,r&&(i[A+4>>2]=i[A+4>>2]-1),a4(A,0,0);break h}if(k)break Z;k=8;break v}if(k=k||10,k>>>0>s[r+56209|0])break Z;r=i[A+116>>2],(r|0)>0?r=1:r=(r|0)>=0,r&&(i[A+4>>2]=i[A+4>>2]-1),a4(A,0,0),i[23944]=28;break h}if((k|0)!=10)break v;if(o=r-48|0,o>>>0<=9){for(r=0;;){r=m(r,10)+o|0,n=r>>>0<429496729,k=i[A+4>>2];Z:{if((k|0)!=i[A+104>>2]){i[A+4>>2]=k+1,k=s[k|0];break Z}k=I2(A)}if(o=k-48|0,!(n&o>>>0<=9))break}n=r}if(o>>>0>9)break w;for(k=q0(n,0,10,0),v=w0;;){Z:{t=v,n=k+o|0,t=n>>>0>>0?t+1|0:t,k=(t|0)==429496729&n>>>0<2576980378|t>>>0<429496729,r=i[A+4>>2];m:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break m}r=I2(A)}if(u=r-48|0,!(k&u>>>0<=9)){if(u>>>0<=9)break Z;break w}if(k=q0(n,t,10,0),v=w0,o=u,(v|0)==-1&(o^-1)>>>0>=k>>>0|(v|0)!=-1)continue}break}k=10;break _}if(k-1&k){if(u=s[r+56209|0],u>>>0>>0){for(;;){o=m(k,o)+u|0,n=o>>>0<119304647,r=i[A+4>>2];v:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break v}r=I2(A)}if(u=s[r+56209|0],!(n&u>>>0>>0))break}n=o}if(k>>>0<=u>>>0)break _;for(;;){if(o=q0(n,t,k,0),v=w0,u=u&255,(v|0)==-1&(u^-1)>>>0>>0)break _;t=v,n=o+u|0,t=n>>>0>>0?t+1|0:t,r=i[A+4>>2];v:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break v}r=I2(A)}if(u=s[r+56209|0],k>>>0<=u>>>0)break _;if(U1(D,k,0,0,0,n,t,0,0),!!(i[D+8>>2]|i[D+12>>2]))break}break _}if(v=l[(m(k,23)>>>5&7)+56465|0],o=s[r+56209|0],o>>>0>>0){for(;;){r=u<>>0<134217728,r=i[A+4>>2];v:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break v}r=I2(A)}if(o=s[r+56209|0],!(n&o>>>0>>0))break}n=u}if(k>>>0<=o>>>0||(y=v&31,(v&63)>>>0>=32?(u=0,y=-1>>>y|0):(u=-1>>>y|0,y=u|(1<>>0>y>>>0))break _;for(;;){z=o&255,o=n,r=v&31,(v&63)>>>0>=32?(t=n<>>32-r|t<>2];v:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break v}r=I2(A)}if(o=s[r+56209|0],k>>>0<=o>>>0)break _;if(!((t|0)==(u|0)&n>>>0<=y>>>0|t>>>0>>0))break}}if(s[r+56209|0]>=k>>>0)break w;for(;;){r=i[A+4>>2];_:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break _}r=I2(A)}if(!(s[r+56209|0]>>0))break}i[23944]=68,C=0,n=-1,t=-1}r=i[A+116>>2],(r|0)>0?r=1:r=(r|0)>=0,r&&(i[A+4>>2]=i[A+4>>2]-1);w:if((n&t)!=-1)break w;r=n^C,n=r-C|0,k=C>>31,t=(k^t)-((r>>>0>>0)+k|0)|0}if(B=D+16|0,r=i[A+4>>2]-i[A+44>>2]|0,i[A+120>>2]==(0-r|0)&i[A+124>>2]==(0-((r>>31)+((r|0)!=0)|0)|0))break k;if(!(!w|(W|0)!=112)){i[w>>2]=n;break u}a9(w,R,n,t);break u}if(!w)break u;r=i[h+16>>2],n=i[h+20>>2],k=i[h+8>>2],t=i[h+12>>2];s:switch(R|0){case 0:H=w,a=gn(k,t,r,n),Z0[H>>2]=a;break u;case 1:H=w,S=YA(k,t,r,n),i0[H>>3]=S;break u;case 2:break s;default:break u}i[w>>2]=k,i[w+4>>2]=t,i[w+8>>2]=r,i[w+12>>2]=n;break u}o=(W|0)!=99,r=o?31:n+1|0;l:{if((R|0)==1){if(n=w,I&&(n=Z2(r<<2),!n))break n;for(i[h+296>>2]=0,i[h+300>>2]=0,k=0;;){f=n;s:{for(;;){n=i[A+4>>2];h:{if((n|0)!=i[A+104>>2]){i[A+4>>2]=n+1,n=s[n|0];break h}n=I2(A)}if(!s[(n+h|0)+33|0])break s;if(l[h+27|0]=n,n=B6(h+28|0,h+27|0,1,h+296|0),(n|0)!=-2){if((n|0)==-1){Z=0;break f}if(f&&(i[(k<<2)+f>>2]=i[h+28>>2],k=k+1|0),!(!I|(r|0)!=(k|0)))break}}if(t=1,Z=0,r=r<<1|1,n=Er(f,r<<2),n)continue;break A}break}if(Z=0,r=f,h+296|0&&i[h+296>>2])break f;break l}if(I){if(k=0,n=Z2(r),!n)break n;for(;;){for(f=n;;){n=i[A+4>>2];s:{if((n|0)!=i[A+104>>2]){i[A+4>>2]=n+1,n=s[n|0];break s}n=I2(A)}if(!s[(n+h|0)+33|0]){r=0,Z=f;break l}if(l[f+k|0]=n,k=k+1|0,(k|0)==(r|0))break}if(t=1,r=r<<1|1,n=Er(f,r),!n)break}Z=f,f=0;break A}if(k=0,w)for(;;){f=i[A+4>>2];s:{if((f|0)!=i[A+104>>2]){i[A+4>>2]=f+1,f=s[f|0];break s}f=I2(A)}if(s[(f+h|0)+33|0]){l[k+w|0]=f,k=k+1|0;continue}else{r=0,f=w,Z=f;break l}}for(;;){f=i[A+4>>2];s:{if((f|0)!=i[A+104>>2]){i[A+4>>2]=f+1,f=s[f|0];break s}f=I2(A)}if(!s[(f+h|0)+33|0])break}f=0,Z=0,r=0}if(n=i[A+4>>2],t=i[A+116>>2],(t|0)>0?t=1:t=(t|0)>=0,t&&(n=n-1|0,i[A+4>>2]=n),t=n-i[A+44>>2]|0,u=t,n=t+i[A+120>>2]|0,t=i[A+124>>2]+(t>>31)|0,t=n>>>0>>0?t+1|0:t,!(t|n)|!(o|(n|0)==(v|0)&(t|0)==(C|0)))break t;I&&(i[w>>2]=f);l:{if((W|0)==99)break l;if(r&&(i[(k<<2)+r>>2]=0),!Z){Z=0;break l}l[k+Z|0]=0}f=r}r=i[A+4>>2]-i[A+44>>2]|0,n=r,t=r>>31,r=p+i[A+124>>2]|0,k=_+i[A+120>>2]|0,t=(k>>>0<_>>>0?r+1|0:r)+t|0,_=k+n|0,p=_>>>0>>0?t+1|0:t,E=((w|0)!=0)+E|0}if(k=e+1|0,e=s[e+1|0],e)continue;break i}break}f=r;break k}t=1,Z=0,f=0;break A}t=I;break e}t=I}E=E||-1}if(!t)break i;G(Z),G(f);break i}E=-1}return B=h+304|0,B=A+144|0,E}function BA(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0;h=B-48|0,B=h,u=h+24|0,i[u>>2]=0,i[u+4>>2]=0,i[u+16>>2]=0,i[u+8>>2]=0,i[u+12>>2]=0;i:{r:{e:{A:switch(i[i[A>>2]+4>>2]-1|0){case 0:lk(h,e,r,A,k,n,t),r=i[h+4>>2],i[u>>2]=i[h>>2],i[u+4>>2]=r,l[u+19|0]<0&&G(i[u+8>>2]),r=i[h+12>>2],i[u+8>>2]=i[h+8>>2],i[u+12>>2]=r,i[u+16>>2]=i[h+16>>2];break e;case 4:kk(h,e,r,A,k,1,t),r=i[h+4>>2],i[u>>2]=i[h>>2],i[u+4>>2]=r,l[u+19|0]<0&&G(i[u+8>>2]),r=i[h+12>>2],i[u+8>>2]=i[h+8>>2],i[u+12>>2]=r,i[u+16>>2]=i[h+16>>2];break e;case 3:ok(h,e,r,A,k,n,t),r=i[h+4>>2],i[u>>2]=i[h>>2],i[u+4>>2]=r,l[u+19|0]<0&&G(i[u+8>>2]),r=i[h+12>>2],i[u+8>>2]=i[h+8>>2],i[u+12>>2]=r,i[u+16>>2]=i[h+16>>2];break e;case 6:case 9:uk(h,e,r,A,k,n,t),r=i[h+4>>2],i[u>>2]=i[h>>2],i[u+4>>2]=r,l[u+19|0]<0&&G(i[u+8>>2]),r=i[h+12>>2],i[u+8>>2]=i[h+8>>2],i[u+12>>2]=r,i[u+16>>2]=i[h+16>>2];break e;case 2:wk(h,e,r,A,k,n,t),r=i[h+4>>2],i[u>>2]=i[h>>2],i[u+4>>2]=r,l[u+19|0]<0&&G(i[u+8>>2]),r=i[h+12>>2],i[u+8>>2]=i[h+8>>2],i[u+12>>2]=r,i[u+16>>2]=i[h+16>>2];break e;case 7:k=i[19565],n=k,r=i[19564],i[h>>2]=r,i[h+4>>2]=k,k=h+8|0;f:{if(l[78275]>=0){Z=i[19567],i[k>>2]=i[19566],i[k+4>>2]=Z,i[k+8>>2]=i[19568];break f}_0(k,i[19566],i[19567]),r=i[h>>2],n=i[h+4>>2]}i[u>>2]=r,i[u+4>>2]=n,l[u+19|0]<0&&G(i[u+8>>2]),r=i[k+4>>2],i[u+8>>2]=i[k>>2],i[u+12>>2]=r,i[u+16>>2]=i[k+8>>2];break e;case 8:break A;default:break r}v=B-48|0,B=v,n=B-16|0,B=n,D8(n+8|0,i[e+48>>2],8174),k=i[n+8>>2],l[k+124|0]=1,i[k+52>>2]=i[k+52>>2]&-2|1,p=i[k+56>>2],k=i[n+12>>2];A:{if(!k||(Z=i[k+4>>2],i[k+4>>2]=Z-1,Z))break A;V[i[i[k>>2]+8>>2]](k),g(k)}B=n+16|0,k=U(360),i[k+16>>2]=0,i[k+20>>2]=0,i[k>>2]=72656,i[k+4>>2]=0,i[k+8>>2]=0,l[k+152|0]=0,i[k+36>>2]=p,i[k+32>>2]=e,i[k+28>>2]=34648,i[k+40>>2]=0,i[k+44>>2]=0,i[k+52>>2]=0,i[k+56>>2]=0,i[k+68>>2]=0,i[k+72>>2]=0,i[k+80>>2]=0,i[k+84>>2]=0,i[k+156>>2]=0,i[k+160>>2]=0,i[k+24>>2]=0,X[k+48>>1]=0,X[k+58>>1]=0,X[k+60>>1]=0,X[k+62>>1]=0,X[k+64>>1]=0,l[k+76|0]=0,l[k+88|0]=0,i[k+204>>2]=0,i[k+196>>2]=0,i[k+200>>2]=0,i[k+188>>2]=0,i[k+192>>2]=0,i[k+180>>2]=0,i[k+184>>2]=0,i[k+172>>2]=0,i[k+176>>2]=0,i[k+164>>2]=0,i[k+168>>2]=0,i[k+212>>2]=0,i[k+216>>2]=0,l[k+208|0]=1,l[k+217|0]=0,l[k+218|0]=0,l[k+219|0]=0,l[k+220|0]=0,l[k+221|0]=0,l[k+222|0]=0,l[k+223|0]=0,l[k+224|0]=0,i[k+232>>2]=0,i[k+236>>2]=0,i[k+240>>2]=0,i[k+244>>2]=0,i[k+248>>2]=0,i[k+252>>2]=0,i[k+256>>2]=0,i[k+260>>2]=0,i[k+264>>2]=0,i[k+268>>2]=0,l[k+272|0]=0,B0(k+280|0,0,80),i[k+296>>2]=0,i[k+300>>2]=0,l[k+292|0]=1,i[k+304>>2]=0,i[k+308>>2]=0,i[k+312>>2]=0,i[k+316>>2]=0,i[k+328>>2]=0,i[k+332>>2]=0,i[k+320>>2]=0,i[k+324>>2]=1072693248,i[k+336>>2]=0,i[k+340>>2]=0,i[k+344>>2]=0,i[k+348>>2]=0,i[k+352>>2]=0,i[k+96>>2]=0,i[k+100>>2]=0,i[k+104>>2]=0,i[k+108>>2]=0,i[k+112>>2]=0,i[k+116>>2]=0,i[k+120>>2]=0,i[k+124>>2]=0,i[k+128>>2]=0,i[k+132>>2]=0,i[k+136>>2]=0,i[k+140>>2]=0,i[k+144>>2]=0,i[k+148>>2]=0,i[t>>2]=k+16,n=i[t+4>>2],i[t+4>>2]=k,W=e+48|0;A:{if(!n||(k=i[n+4>>2],i[n+4>>2]=k-1,k))break A;V[i[i[n>>2]+8>>2]](n),g(n)}w=v+28|0,n=B-32|0,B=n,Z=r,r=i[r>>2];A:{if(i[r+32>>2]!=2){if(r=U(40),i[n+20>>2]=r,i[n+24>>2]=39,i[n+28>>2]=-2147483608,k=s[6730]|s[6731]<<8|(s[6732]<<16|s[6733]<<24),o=s[6726]|s[6727]<<8|(s[6728]<<16|s[6729]<<24),l[r|0]=o,l[r+1|0]=o>>>8,l[r+2|0]=o>>>16,l[r+3|0]=o>>>24,l[r+4|0]=k,l[r+5|0]=k>>>8,l[r+6|0]=k>>>16,l[r+7|0]=k>>>24,l[r+39|0]=0,k=s[6761]|s[6762]<<8|(s[6763]<<16|s[6764]<<24),o=s[6757]|s[6758]<<8|(s[6759]<<16|s[6760]<<24),l[r+31|0]=o,l[r+32|0]=o>>>8,l[r+33|0]=o>>>16,l[r+34|0]=o>>>24,l[r+35|0]=k,l[r+36|0]=k>>>8,l[r+37|0]=k>>>16,l[r+38|0]=k>>>24,k=s[6754]|s[6755]<<8|(s[6756]<<16|s[6757]<<24),o=s[6750]|s[6751]<<8|(s[6752]<<16|s[6753]<<24),l[r+24|0]=o,l[r+25|0]=o>>>8,l[r+26|0]=o>>>16,l[r+27|0]=o>>>24,l[r+28|0]=k,l[r+29|0]=k>>>8,l[r+30|0]=k>>>16,l[r+31|0]=k>>>24,k=s[6746]|s[6747]<<8|(s[6748]<<16|s[6749]<<24),o=s[6742]|s[6743]<<8|(s[6744]<<16|s[6745]<<24),l[r+16|0]=o,l[r+17|0]=o>>>8,l[r+18|0]=o>>>16,l[r+19|0]=o>>>24,l[r+20|0]=k,l[r+21|0]=k>>>8,l[r+22|0]=k>>>16,l[r+23|0]=k>>>24,k=s[6738]|s[6739]<<8|(s[6740]<<16|s[6741]<<24),o=s[6734]|s[6735]<<8|(s[6736]<<16|s[6737]<<24),l[r+8|0]=o,l[r+9|0]=o>>>8,l[r+10|0]=o>>>16,l[r+11|0]=o>>>24,l[r+12|0]=k,l[r+13|0]=k>>>8,l[r+14|0]=k>>>16,l[r+15|0]=k>>>24,r0(w,4,3002,n+20|0),l[n+31|0]>=0)break A;G(i[n+20>>2]);break A}if((U0(r,0)|0)!=8){if(r=U(40),i[n+20>>2]=r,i[n+24>>2]=37,i[n+28>>2]=-2147483608,k=s[6692]|s[6693]<<8|(s[6694]<<16|s[6695]<<24),o=s[6688]|s[6689]<<8|(s[6690]<<16|s[6691]<<24),l[r|0]=o,l[r+1|0]=o>>>8,l[r+2|0]=o>>>16,l[r+3|0]=o>>>24,l[r+4|0]=k,l[r+5|0]=k>>>8,l[r+6|0]=k>>>16,l[r+7|0]=k>>>24,l[r+37|0]=0,k=s[6721]|s[6722]<<8|(s[6723]<<16|s[6724]<<24),o=s[6717]|s[6718]<<8|(s[6719]<<16|s[6720]<<24),l[r+29|0]=o,l[r+30|0]=o>>>8,l[r+31|0]=o>>>16,l[r+32|0]=o>>>24,l[r+33|0]=k,l[r+34|0]=k>>>8,l[r+35|0]=k>>>16,l[r+36|0]=k>>>24,k=s[6716]|s[6717]<<8|(s[6718]<<16|s[6719]<<24),o=s[6712]|s[6713]<<8|(s[6714]<<16|s[6715]<<24),l[r+24|0]=o,l[r+25|0]=o>>>8,l[r+26|0]=o>>>16,l[r+27|0]=o>>>24,l[r+28|0]=k,l[r+29|0]=k>>>8,l[r+30|0]=k>>>16,l[r+31|0]=k>>>24,k=s[6708]|s[6709]<<8|(s[6710]<<16|s[6711]<<24),o=s[6704]|s[6705]<<8|(s[6706]<<16|s[6707]<<24),l[r+16|0]=o,l[r+17|0]=o>>>8,l[r+18|0]=o>>>16,l[r+19|0]=o>>>24,l[r+20|0]=k,l[r+21|0]=k>>>8,l[r+22|0]=k>>>16,l[r+23|0]=k>>>24,k=s[6700]|s[6701]<<8|(s[6702]<<16|s[6703]<<24),o=s[6696]|s[6697]<<8|(s[6698]<<16|s[6699]<<24),l[r+8|0]=o,l[r+9|0]=o>>>8,l[r+10|0]=o>>>16,l[r+11|0]=o>>>24,l[r+12|0]=k,l[r+13|0]=k>>>8,l[r+14|0]=k>>>16,l[r+15|0]=k>>>24,r0(w,4,3002,n+20|0),l[n+31|0]>=0)break A;G(i[n+20>>2]);break A}i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,o=v0(i[Z>>2],0,n+16|0),r=i[Z>>2],_=i[r+28>>2],r=i[r+24>>2],k=m(_,r),k&&L2(n+20|0,k);f:{if((r|0)!=i[n+16>>2]){if((_|0)<=0)break f;if(k=0,(_|0)!=1)for(C=_&2147483646;l0(i[n+20>>2]+m(r,k)|0,o+m(i[n+16>>2],k)|0,r),I=k|1,l0(i[n+20>>2]+m(r,I)|0,o+m(i[n+16>>2],I)|0,r),k=k+2|0,y=y+2|0,(C|0)!=(y|0););if(!(_&1))break f;l0(i[n+20>>2]+m(r,k)|0,o+m(i[n+16>>2],k)|0,r);break f}l0(i[n+20>>2],o,k)}hi(i[W>>2],i[i[t>>2]+20>>2],n+20|0,0),k=U(80),i[k>>2]=72344,i[k+4>>2]=0,i[k+8>>2]=0,o=k+16|0,r=o,i[r+8>>2]=0,i[r+12>>2]=0,r=k,i[r+32>>2]=0,i[r+36>>2]=0,i[r+40>>2]=0,i[r+44>>2]=0,i[r+48>>2]=0,i[r+16>>2]=68500,i[r+52>>2]=0,i[r+56>>2]=0,i[r+68>>2]=0,l[r+57|0]=0,l[r+58|0]=0,l[r+59|0]=0,l[r+60|0]=0,l[r+61|0]=0,l[r+62|0]=0,l[r+63|0]=0,l[r+64|0]=0,i[r+16>>2]=75088,i[r+32>>2]=1836280643,E=r,J=U0(i[Z>>2],0),l[E+72|0]=J,_=i[W>>2],C=i[i[t>>2]+20>>2],i[n+12>>2]=r,i[n+8>>2]=o,i[r+4>>2]=i[r+4>>2]+1,se(_,C,n+8|0,1),r=i[n+12>>2];f:{if(!r||(o=i[r+4>>2],i[r+4>>2]=o-1,o))break f;V[i[i[r>>2]+8>>2]](r),g(r)}r=U(80),i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=70984,o=r+16|0,i[o+8>>2]=0,i[o+12>>2]=0,i[r+32>>2]=0,i[r+36>>2]=0,i[r+40>>2]=0,i[r+44>>2]=0,i[r+48>>2]=0,i[r+16>>2]=68500,i[r+52>>2]=0,i[r+56>>2]=0,i[r+68>>2]=0,l[r+57|0]=0,l[r+58|0]=0,l[r+59|0]=0,l[r+60|0]=0,l[r+61|0]=0,l[r+62|0]=0,l[r+63|0]=0,l[r+64|0]=0,i[r+16>>2]=69264,i[r+32>>2]=1769173093,_=i[Z>>2],C=i[_+28>>2],i[r+72>>2]=i[_+24>>2],i[r+76>>2]=C,_=i[W>>2],W=i[i[t>>2]+20>>2],i[n+12>>2]=r,i[n+8>>2]=o,i[r+4>>2]=i[r+4>>2]+1,se(_,W,n+8|0,1),o=i[n+12>>2];f:{if(!o||(_=i[o+4>>2],i[o+4>>2]=_-1,_))break f;V[i[i[o>>2]+8>>2]](o),g(o)}o=i[19565],i[w>>2]=i[19564],i[w+4>>2]=o,w=w+8|0;f:{if(l[78275]>=0){o=i[19567],i[w>>2]=i[19566],i[w+4>>2]=o,i[w+8>>2]=i[19568];break f}_0(w,i[19566],i[19567])}if(w=i[r+4>>2],i[r+4>>2]=w-1,w||(V[i[i[r>>2]+8>>2]](r),g(r)),r=i[k+4>>2],i[k+4>>2]=r-1,r||(V[i[i[k>>2]+8>>2]](k),g(k)),r=i[n+20>>2],!r)break A;i[n+24>>2]=r,G(r)}B=n+32|0,r=i[e+32>>2];A:{if(r>>>0>2]){i[r>>2]=i[t>>2],k=i[t+4>>2],i[r+4>>2]=k,k&&(i[k+4>>2]=i[k+4>>2]+1),r=r+8|0;break A}r=Q2(e+28|0,t)}i[e+32>>2]=r,r=i[e+20>>2];A:{f:{if(!r){n=e+20|0,k=n;break f}for(;;){if(k=r,n=i[r+16>>2],n>>>0>p>>>0){if(n=r,r=i[r>>2],r)continue;break f}if(n>>>0>=p>>>0)break A;if(r=i[k+4>>2],!r)break}n=k+4|0}r=U(28),i[r+20>>2]=0,i[r+24>>2]=0,i[r+16>>2]=p,i[r+8>>2]=k,i[r>>2]=0,i[r+4>>2]=0,i[n>>2]=r,k=r,w=i[i[e+16>>2]>>2],w&&(i[e+16>>2]=w,k=i[n>>2]),D1(i[e+20>>2],k),i[e+24>>2]=i[e+24>>2]+1}k=i[t>>2],n=i[t+4>>2],n&&(i[n+4>>2]=i[n+4>>2]+1),i[r+20>>2]=k,k=i[r+24>>2],i[r+24>>2]=n;A:{if(!k||(r=i[k+4>>2],i[k+4>>2]=r-1,r))break A;V[i[i[k>>2]+8>>2]](k),g(k)}i[v+20>>2]=i[Z>>2],r=i[Z+4>>2],i[v+24>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),r=i[v+24>>2],i[v+8>>2]=i[v+20>>2],i[v+12>>2]=r,Wi(e,v+8|0,p),r=i[19565],i[h>>2]=i[19564],i[h+4>>2]=r,r=h+8|0;A:{if(l[78275]>=0){k=i[19567],i[r>>2]=i[19566],i[r+4>>2]=k,i[r+8>>2]=i[19568];break A}_0(r,i[19566],i[19567])}l[v+47|0]<0&&G(i[v+36>>2]),B=v+48|0,r=i[h+4>>2],i[u>>2]=i[h>>2],i[u+4>>2]=r,l[u+19|0]<0&&G(i[u+8>>2]),r=i[h+12>>2],i[u+8>>2]=i[h+8>>2],i[u+12>>2]=r,i[u+16>>2]=i[h+16>>2]}dn(i[e+48>>2],i[i[A>>2]+4>>2],s[i[t>>2]+192|0]),e=i[u+4>>2],i[f>>2]=i[u>>2],i[f+4>>2]=e,e=i[u+12>>2],i[f+8>>2]=i[u+8>>2],i[f+12>>2]=e,i[f+16>>2]=i[u+16>>2];break i}if(l[h|0]=0,l[h+11|0]=0,r0(f,8,3e3,h),l[h+11|0]<0&&G(i[h>>2]),l[u+19|0]>=0)break i;G(i[u+8>>2])}B=h+48|0}function hk(){var f=0,e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;Ve(),h=U(8),u=U(104),i[u>>2]=74072,i[u+4>>2]=0,i[u+8>>2]=0,n=u+16|0,f=n,i[f>>2]=0,i[f+4>>2]=0,i[f+20>>2]=0,i[f+24>>2]=0,i[f+28>>2]=0,i[f+32>>2]=0,i[f+80>>2]=0,i[f+72>>2]=0,i[f+76>>2]=0,i[f+64>>2]=1073741824,i[f+68>>2]=0,i[f+8>>2]=0,i[f+12>>2]=34648,i[f+16>>2]=f+20,i[f+36>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,i[f+52>>2]=0,i[f+56>>2]=4,r=U(132),i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=72576,w=f,_=Ge(r+12|0),i[w+48>>2]=_,f=i[f+52>>2],i[n+52>>2]=r;i:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break i;V[i[i[f>>2]+8>>2]](f),g(f)}k=B-16|0,B=k,r=i[n+48>>2],f=i[r+4>>2],i[r>>2]=0,i[r+4>>2]=0;i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=i[r+12>>2],A=i[r+8>>2],(f|0)!=(A|0))for(;;){e=i[f-4>>2];i:{if(!e||(t=i[e+4>>2],i[e+4>>2]=t-1,t))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(f=f-8|0,(A|0)==(f|0))break}i[r+12>>2]=A,f=U(88),i[f>>2]=70584,i[f+4>>2]=0,i[f+8>>2]=0,e=f+16|0,i[e+8>>2]=0,i[e+12>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,i[f+16>>2]=68500,i[f+60>>2]=0,i[f+52>>2]=0,i[f+56>>2]=0,i[f+16>>2]=68724,i[f+80>>2]=0,i[f+72>>2]=0,i[f+76>>2]=0,i[f+64>>2]=0,i[f+68>>2]=0,i[f+32>>2]=1718909296,i[r+20>>2]=e,e=i[r+24>>2],i[r+24>>2]=f;i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}f=U(104),i[f+4>>2]=0,i[f+8>>2]=0,i[f>>2]=70664,e=f+16|0,i[e+8>>2]=0,i[e+12>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,i[f+16>>2]=68500,i[f+52>>2]=0,i[f+56>>2]=0,i[f+68>>2]=0,l[f+57|0]=0,l[f+58|0]=0,l[f+59|0]=0,l[f+60|0]=0,l[f+61|0]=0,l[f+62|0]=0,l[f+63|0]=0,l[f+64|0]=0,i[f+16>>2]=68844,i[f+80>>2]=0,i[f+84>>2]=0,i[f+72>>2]=0,i[f+76>>2]=1885954932,i[f+88>>2]=0,i[f+92>>2]=0,i[f+96>>2]=0,i[f+100>>2]=0,i[f+32>>2]=1751411826,i[r+28>>2]=e,e=i[r+32>>2],i[r+32>>2]=f;i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}f=U(72),i[f+4>>2]=0,i[f+8>>2]=0,i[f>>2]=70624,e=f+16|0,i[e+8>>2]=0,i[e+12>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,i[f+16>>2]=68500,i[f+52>>2]=0,i[f+56>>2]=0,i[f+68>>2]=0,l[f+57|0]=0,l[f+58|0]=0,l[f+59|0]=0,l[f+60|0]=0,l[f+61|0]=0,l[f+62|0]=0,l[f+63|0]=0,l[f+64|0]=0,i[f+16>>2]=68784,i[f+32>>2]=1835365473,i[r+36>>2]=e,e=i[r+40>>2],i[r+40>>2]=f;i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}f=U(64),i[f+4>>2]=0,i[f+8>>2]=0,i[f>>2]=70904,e=f+16|0,i[e+8>>2]=0,i[e+12>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,i[f+16>>2]=68500,i[f+60>>2]=0,i[f+52>>2]=0,i[f+56>>2]=0,i[f+16>>2]=69204,i[f+32>>2]=1768973167,i[r+44>>2]=e,e=i[r+48>>2],i[r+48>>2]=f;i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}f=U(88),i[f+4>>2]=0,i[f+8>>2]=0,i[f>>2]=70944,e=f+16|0,i[e+8>>2]=0,i[e+12>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,i[f+16>>2]=68500,i[f+52>>2]=0,i[f+56>>2]=0,i[f+68>>2]=0,l[f+57|0]=0,l[f+58|0]=0,l[f+59|0]=0,l[f+60|0]=0,l[f+61|0]=0,l[f+62|0]=0,l[f+63|0]=0,l[f+64|0]=0,i[f+16>>2]=69312,i[f+80>>2]=0,i[f+72>>2]=0,i[f+76>>2]=0,i[f+32>>2]=1768975713,i[r+52>>2]=e,e=i[r+56>>2],i[r+56>>2]=f;i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}f=U(104),i[f+4>>2]=0,i[f+8>>2]=0,i[f>>2]=70744,e=f+16|0,i[e+8>>2]=0,i[e+12>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,i[f+16>>2]=68500,i[f+52>>2]=0,i[f+56>>2]=0,i[f+68>>2]=0,l[f+57|0]=0,l[f+58|0]=0,l[f+59|0]=0,l[f+60|0]=0,l[f+61|0]=0,l[f+62|0]=0,l[f+63|0]=0,l[f+64|0]=0,i[f+16>>2]=68964,i[f+72>>2]=0,i[f+76>>2]=0,i[f+96>>2]=0,i[f+80>>2]=0,i[f+84>>2]=0,l[f+85|0]=0,l[f+86|0]=0,l[f+87|0]=0,l[f+88|0]=0,l[f+89|0]=0,l[f+90|0]=0,l[f+91|0]=0,l[f+92|0]=0,i[f+32>>2]=1768714083,i[r+60>>2]=e,e=i[r+64>>2],i[r+64>>2]=f;i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}f=U(72),i[f+4>>2]=0,i[f+8>>2]=0,i[f>>2]=70784,e=f+16|0,i[e+8>>2]=0,i[e+12>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,i[f+16>>2]=68500,i[f+52>>2]=0,i[f+56>>2]=0,i[f+68>>2]=0,l[f+57|0]=0,l[f+58|0]=0,l[f+59|0]=0,l[f+60|0]=0,l[f+61|0]=0,l[f+62|0]=0,l[f+63|0]=0,l[f+64|0]=0,i[f+16>>2]=69084,i[f+32>>2]=1768517222,i[r+92>>2]=e,e=i[r+96>>2],i[r+96>>2]=f;i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}f=U(64),i[f+4>>2]=0,i[f+8>>2]=0,i[f>>2]=70864,e=f+16|0,i[e+8>>2]=0,i[e+12>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,i[f+16>>2]=68500,i[f+60>>2]=0,i[f+52>>2]=0,i[f+56>>2]=0,i[f+16>>2]=69144,i[f+32>>2]=1768977008,i[r+100>>2]=e,e=i[r+104>>2],i[r+104>>2]=f;i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}f=U(80),i[f+4>>2]=0,i[f+8>>2]=0,i[f>>2]=70704,e=f+16|0,i[e+8>>2]=0,i[e+12>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,i[f+16>>2]=68500,i[f+52>>2]=0,i[f+56>>2]=0,i[f+68>>2]=0,l[f+57|0]=0,l[f+58|0]=0,l[f+59|0]=0,l[f+60|0]=0,l[f+61|0]=0,l[f+62|0]=0,l[f+63|0]=0,l[f+64|0]=0,i[f+16>>2]=68904,i[f+32>>2]=1885959277,i[f+72>>2]=0,i[r+84>>2]=e,e=i[r+88>>2],i[r+88>>2]=f;i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}f=i[r+36>>2],A=i[r+28>>2],i[k+8>>2]=A,e=i[r+32>>2],i[k+12>>2]=e,e&&(i[e+4>>2]=i[e+4>>2]+1),e=i[f+40>>2];i:{if(e>>>0>2]){i[e>>2]=A,A=i[k+12>>2],i[e+4>>2]=A,A&&(i[A+4>>2]=i[A+4>>2]+1),e=e+8|0;break i}e=Q2(f+36|0,k+8|0)}i[f+40>>2]=e,f=i[k+12>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[r+36>>2],A=i[r+84>>2],i[k+8>>2]=A,e=i[r+88>>2],i[k+12>>2]=e,e&&(i[e+4>>2]=i[e+4>>2]+1),e=i[f+40>>2];i:{if(e>>>0>2]){i[e>>2]=A,A=i[k+12>>2],i[e+4>>2]=A,A&&(i[A+4>>2]=i[A+4>>2]+1),e=e+8|0;break i}e=Q2(f+36|0,k+8|0)}i[f+40>>2]=e,f=i[k+12>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[r+36>>2],A=i[r+60>>2],i[k+8>>2]=A,e=i[r+64>>2],i[k+12>>2]=e,e&&(i[e+4>>2]=i[e+4>>2]+1),e=i[f+40>>2];i:{if(e>>>0>2]){i[e>>2]=A,A=i[k+12>>2],i[e+4>>2]=A,A&&(i[A+4>>2]=i[A+4>>2]+1),e=e+8|0;break i}e=Q2(f+36|0,k+8|0)}i[f+40>>2]=e,f=i[k+12>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[r+36>>2],A=i[r+92>>2],i[k+8>>2]=A,e=i[r+96>>2],i[k+12>>2]=e,e&&(i[e+4>>2]=i[e+4>>2]+1),e=i[f+40>>2];i:{if(e>>>0>2]){i[e>>2]=A,A=i[k+12>>2],i[e+4>>2]=A,A&&(i[A+4>>2]=i[A+4>>2]+1),e=e+8|0;break i}e=Q2(f+36|0,k+8|0)}i[f+40>>2]=e,f=i[k+12>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[r+36>>2],A=i[r+100>>2],i[k+8>>2]=A,e=i[r+104>>2],i[k+12>>2]=e,e&&(i[e+4>>2]=i[e+4>>2]+1),e=i[f+40>>2];i:{if(e>>>0>2]){i[e>>2]=A,A=i[k+12>>2],i[e+4>>2]=A,A&&(i[A+4>>2]=i[A+4>>2]+1),e=e+8|0;break i}e=Q2(f+36|0,k+8|0)}i[f+40>>2]=e,f=i[k+12>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}A=i[r+100>>2],o=i[r+44>>2],i[k+8>>2]=o,f=i[r+48>>2],i[k+12>>2]=f;i:{r:{e:{if(!f){if(t=A+40|0,e=i[A+40>>2],e>>>0>=k0[A+44>>2])break r;i[e+4>>2]=f,i[e>>2]=o;break e}if(i[f+4>>2]=i[f+4>>2]+1,t=A+40|0,e=i[A+40>>2],e>>>0>=k0[A+44>>2])break r;i[e+4>>2]=f,i[e>>2]=o,i[f+4>>2]=i[f+4>>2]+1}e=e+8|0;break i}e=Q2(A+36|0,k+8|0),f=i[k+12>>2]}i[t>>2]=e;i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}A=i[r+100>>2],o=i[r+52>>2],i[k+8>>2]=o,f=i[r+56>>2],i[k+12>>2]=f;i:{r:{e:{if(!f){if(t=A+40|0,e=i[A+40>>2],e>>>0>=k0[A+44>>2])break r;i[e+4>>2]=f,i[e>>2]=o;break e}if(i[f+4>>2]=i[f+4>>2]+1,t=A+40|0,e=i[A+40>>2],e>>>0>=k0[A+44>>2])break r;i[e+4>>2]=f,i[e>>2]=o,i[f+4>>2]=i[f+4>>2]+1}e=e+8|0;break i}e=Q2(A+36|0,k+8|0),f=i[k+12>>2]}i[t>>2]=e;i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}he(r+108|0,i[r+112>>2]),i[r+108>>2]=r+112,i[r+112>>2]=0,i[r+116>>2]=0,t=i[r+20>>2],i[k+8>>2]=t,f=i[r+24>>2],i[k+12>>2]=f,f&&(i[f+4>>2]=i[f+4>>2]+1),A=r+8|0,e=i[r+12>>2];i:{if(e>>>0>2]){i[e+4>>2]=f,i[e>>2]=t,i[r+12>>2]=e+8;break i}if(e=z2(A,k+8|0),f=i[k+12>>2],i[r+12>>2]=e,!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}t=i[r+36>>2],i[k+8>>2]=t,f=i[r+40>>2],i[k+12>>2]=f,f&&(i[f+4>>2]=i[f+4>>2]+1),e=i[r+12>>2];i:{if(e>>>0>2]){i[e+4>>2]=f,i[e>>2]=t,i[r+12>>2]=e+8;break i}if(e=z2(A,k+8|0),f=i[k+12>>2],i[r+12>>2]=e,!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break i;V[i[i[f>>2]+8>>2]](f),g(f)}if(B=k+16|0,H6(n+16|0,i[n+20>>2]),i[n+16>>2]=n+20,i[n+20>>2]=0,i[n+24>>2]=0,r=i[n+32>>2],k=i[n+28>>2],(r|0)!=(k|0))for(;;){f=i[r-4>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}if(r=r-8|0,(k|0)==(r|0))break}i[n+32>>2]=k,f=i[n+44>>2],i[n+40>>2]=0,i[n+44>>2]=0;i:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break i;V[i[i[f>>2]+8>>2]](f),g(f)}return i[h+4>>2]=u,i[h>>2]=n,h|0}function R8(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0;n=B-176|0,B=n;i:{r:{e:{if(v=i[e+16>>2],E=i[e+20>>2],(v|0)!=(E|0))for(;;){A:{f:switch(s[e+4|0]){case 0:if(u=i[v+20>>2],w=i[v+16>>2],Z=i[k+4>>2]-i[k>>2]|0,!u&w>>>0>536870912-Z>>>0|u){i[n+40>>2]=54496,i[n+96>>2]=54516,e=i[13633],i[n+32>>2]=e,r=i[e-12>>2],e=n+32|0,i[r+e>>2]=i[13634],i[n+36>>2]=0,r=e+i[i[n+32>>2]-12>>2]|0,A=n+44|0,b0(r,A),i[r+72>>2]=0,i[r+76>>2]=-1,r=i[13635],i[n+40>>2]=r,k=i[r-12>>2],r=n+40|0,i[k+r>>2]=i[13636],k=i[13632],i[n+32>>2]=k,i[e+i[k-12>>2]>>2]=i[13637],i[n+96>>2]=54516,i[n+32>>2]=54476,i[n+40>>2]=54496,e=$0(A),i[e>>2]=53552,i[n+84>>2]=0,i[n+88>>2]=0,i[n+76>>2]=0,i[n+80>>2]=0,i[n+92>>2]=24,r=x(n4(x(r,19275,19),i[v+16>>2],i[v+20>>2]),19193,35),_=i[v+20>>2],A=Z+i[v+16>>2]|0,_=A>>>0>>0?_+1|0:_,x(H0(x(n4(r,A,_),19051,40),536870912),4139,6),r=n+20|0,i2(r,e),r0(f,6,1e3,r),l[n+31|0]<0&&G(i[n+20>>2]),f=i[13631],i[n+32>>2]=f,i[i[f-12>>2]+(n+32|0)>>2]=i[13639],i[n+40>>2]=i[13640],i[e>>2]=53552,l[n+87|0]<0&&G(i[n+76>>2]),K0(e),T0(n+96|0);break i}t=i[v+8>>2],o=i[v+12>>2],p=o;k:{if((o|0)==8388607|o>>>0<8388607&&(o=i[e+8>>2],W=i[e+12>>2],W>>>0<8388608))break k;if(e=U(40),i[n+32>>2]=e,i[n+36>>2]=39,i[n+40>>2]=-2147483608,r=s[10465]|s[10466]<<8|(s[10467]<<16|s[10468]<<24),A=s[10461]|s[10462]<<8|(s[10463]<<16|s[10464]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+39|0]=0,r=s[10496]|s[10497]<<8|(s[10498]<<16|s[10499]<<24),A=s[10492]|s[10493]<<8|(s[10494]<<16|s[10495]<<24),l[e+31|0]=A,l[e+32|0]=A>>>8,l[e+33|0]=A>>>16,l[e+34|0]=A>>>24,l[e+35|0]=r,l[e+36|0]=r>>>8,l[e+37|0]=r>>>16,l[e+38|0]=r>>>24,r=s[10489]|s[10490]<<8|(s[10491]<<16|s[10492]<<24),A=s[10485]|s[10486]<<8|(s[10487]<<16|s[10488]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[10481]|s[10482]<<8|(s[10483]<<16|s[10484]<<24),A=s[10477]|s[10478]<<8|(s[10479]<<16|s[10480]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[10473]|s[10474]<<8|(s[10475]<<16|s[10476]<<24),A=s[10469]|s[10470]<<8|(s[10471]<<16|s[10472]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,1e3,n+32|0),l[n+43|0]>=0)break i;G(i[n+32>>2]);break i}_=i[r>>2],u=u+p|0,w=t+w|0,t=W+(w>>>0>>0?u+1|0:u)|0,p=o,o=o+w|0,t=p>>>0>o>>>0?t+1|0:t;k:switch((V[i[i[_>>2]+12>>2]](_,o,t)|0)-1|0){case 1:i[k+4>>2]=i[k>>2],i[n+40>>2]=54496,i[n+96>>2]=54516,r=i[13633],i[n+32>>2]=r,A=i[r-12>>2],r=n+32|0,i[A+r>>2]=i[13634],i[n+36>>2]=0,A=r+i[i[n+32>>2]-12>>2]|0,k=n+44|0,b0(A,k),i[A+72>>2]=0,i[A+76>>2]=-1,A=i[13635],i[n+40>>2]=A,o=i[A-12>>2],A=n+40|0,i[o+A>>2]=i[13636],t=i[13632],i[n+32>>2]=t,i[r+i[t-12>>2]>>2]=i[13637],i[n+96>>2]=54516,i[n+32>>2]=54476,i[n+40>>2]=54496,r=$0(k),i[r>>2]=53552,i[n+84>>2]=0,i[n+88>>2]=0,i[n+76>>2]=0,i[n+80>>2]=0,i[n+92>>2]=24,k=x(x(A,18788,58),18854,25),w=i[e+12>>2]+i[v+12>>2]|0,t=i[v+8>>2],A=t+i[e+8>>2]|0,x(n4(k,A,A>>>0>>0?w+1|0:w),31337,2),e=n+20|0,i2(e,r),r0(f,2,100,e),l[n+31|0]<0&&G(i[n+20>>2]),f=i[13631],i[n+32>>2]=f,i[i[f-12>>2]+(n+32|0)>>2]=i[13639],i[n+40>>2]=i[13640],i[r>>2]=53552,l[n+87|0]<0&&G(i[n+76>>2]),K0(r),T0(n+96|0);break i;case 0:if(l[n+32|0]=0,l[n+43|0]=0,r0(f,2,100,n+32|0),l[n+43|0]>=0)break i;G(i[n+32>>2]);break i;default:break k}_=i[e+12>>2]+i[v+12>>2]|0,o=i[r>>2],u=i[v+8>>2],t=u+i[e+8>>2]|0,V[i[i[o>>2]+20>>2]](o,t,t>>>0>>0?_+1|0:_)|0,u=i[v+16>>2],t=Z+u|0,o=i[k>>2],w=i[k+4>>2]-o|0;k:{if(t>>>0>w>>>0){L2(k,t-w|0),u=i[v+16>>2],o=i[k>>2];break k}if(t>>>0>=w>>>0)break k;i[k+4>>2]=t+o}t=i[r>>2],V[i[i[t>>2]+16>>2]](t,o+Z|0,u)|0;break A;case 1:break f;default:break e}if(C=i[A>>2],!C){if(e=U(56),i[n+32>>2]=e,i[n+36>>2]=54,i[n+40>>2]=-2147483592,r=s[10043]|s[10044]<<8|(s[10045]<<16|s[10046]<<24),A=s[10039]|s[10040]<<8|(s[10041]<<16|s[10042]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+54|0]=0,r=s[10089]|s[10090]<<8|(s[10091]<<16|s[10092]<<24),A=s[10085]|s[10086]<<8|(s[10087]<<16|s[10088]<<24),l[e+46|0]=A,l[e+47|0]=A>>>8,l[e+48|0]=A>>>16,l[e+49|0]=A>>>24,l[e+50|0]=r,l[e+51|0]=r>>>8,l[e+52|0]=r>>>16,l[e+53|0]=r>>>24,r=s[10083]|s[10084]<<8|(s[10085]<<16|s[10086]<<24),A=s[10079]|s[10080]<<8|(s[10081]<<16|s[10082]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[10075]|s[10076]<<8|(s[10077]<<16|s[10078]<<24),A=s[10071]|s[10072]<<8|(s[10073]<<16|s[10074]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[10067]|s[10068]<<8|(s[10069]<<16|s[10070]<<24),A=s[10063]|s[10064]<<8|(s[10065]<<16|s[10066]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[10059]|s[10060]<<8|(s[10061]<<16|s[10062]<<24),A=s[10055]|s[10056]<<8|(s[10057]<<16|s[10058]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[10051]|s[10052]<<8|(s[10053]<<16|s[10054]<<24),A=s[10047]|s[10048]<<8|(s[10049]<<16|s[10050]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,103,n+32|0),l[n+43|0]>=0)break i;G(i[n+32>>2]);break i}t=i[v+8>>2],o=t+i[e+8>>2]|0,u=i[e+12>>2]+i[v+12>>2]|0,u=t>>>0>o>>>0?u+1|0:u,h=B-160|0,B=h,p=i[v+20>>2],Z=p,t=i[v+16>>2],y=i[k+4>>2]-i[k>>2]|0;f:{if(!Z&t>>>0>536870912-y>>>0|Z){i[h+24>>2]=54496,i[h+80>>2]=54516,o=i[13633],i[h+16>>2]=o,_=i[o-12>>2],o=h+16|0,i[_+o>>2]=i[13634],i[h+20>>2]=0,u=o+i[i[h+16>>2]-12>>2]|0,w=h+28|0,b0(u,w),i[u+72>>2]=0,i[u+76>>2]=-1,u=i[13635],i[h+24>>2]=u,_=i[u-12>>2],u=h+24|0,i[_+u>>2]=i[13636],Z=i[13632],i[h+16>>2]=Z,i[o+i[Z-12>>2]>>2]=i[13637],i[h+80>>2]=54516,i[h+16>>2]=54476,i[h+24>>2]=54496,o=$0(w),i[o>>2]=53552,i[h+68>>2]=0,i[h+72>>2]=0,i[h+60>>2]=0,i[h+64>>2]=0,i[h+76>>2]=24,w=x(n4(x(u,19255,19),t,p),19193,35),u=p,_=t,t=t+y|0,u=_>>>0>t>>>0?u+1|0:u,x(H0(x(n4(w,t,u),19051,40),536870912),4139,6),t=h+4|0,i2(t,o),r0(n,6,1e3,t),l[h+15|0]<0&&G(i[h+4>>2]),t=i[13631],i[h+16>>2]=t,i[i[t-12>>2]+(h+16|0)>>2]=i[13639],i[h+24>>2]=i[13640],i[o>>2]=53552,l[h+71|0]<0&&G(i[h+60>>2]),K0(o),T0(h+80|0);break f}if(w=i[C+8>>2],W=i[C+56>>2],I=w+W|0,Z=i[C+12>>2],J=i[C+60>>2],_=Z+J|0,_=W>>>0>I>>>0?_+1|0:_,(_|0)==(u|0)&o>>>0>I>>>0|u>>>0>_>>>0){if(l[h+16|0]=0,l[h+27|0]=0,r0(n,2,100,h+16|0),l[h+27|0]>=0)break f;G(i[h+16>>2]);break f}k:{if((Z|0)==(p|0)&t>>>0<=w>>>0|Z>>>0>p>>>0&&(_=w,w=u+p|0,I=t+o|0,w=I>>>0>>0?w+1|0:w,R=_,_=I,(w|0)==(Z|0)&R>>>0>=_>>>0|w>>>0>>0))break k;if(l[h+16|0]=0,l[h+27|0]=0,r0(n,2,100,h+16|0),l[h+27|0]>=0)break f;G(i[h+16>>2]);break f}if(Z=i[r>>2],w=w+J|0,W=_+W|0,w=W>>>0<_>>>0?w+1|0:w,(V[i[i[Z>>2]+12>>2]](Z,W,w)|0)-1>>>0<=1){if(l[h+16|0]=0,l[h+27|0]=0,r0(n,2,100,h+16|0),l[h+27|0]>=0)break f;G(i[h+16>>2]);break f}if(w=i[r>>2],u=u+i[C+60>>2]|0,_=o,o=o+i[C+56>>2]|0,u=_>>>0>o>>>0?u+1|0:u,V[i[i[w>>2]+20>>2]](w,o,u)|0,t|p){o=t+y|0,w=i[k>>2],u=i[k+4>>2]-w|0;k:{if(o>>>0>u>>>0){L2(k,o-u|0);break k}o>>>0>>0&&(i[k+4>>2]=o+w)}o=i[r>>2],V[i[i[o>>2]+16>>2]](o,y+i[k>>2]|0,t)|0}if(t=i[19565],i[n>>2]=i[19564],i[n+4>>2]=t,t=n+8|0,l[78275]>=0){o=i[19567],i[t>>2]=i[19566],i[t+4>>2]=o,i[t+8>>2]=i[19568];break f}_0(t,i[19566],i[19567])}if(B=h+160|0,l[n+19|0]>=0)break A;G(i[n+8>>2])}if(v=v+40|0,(E|0)==(v|0))break}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]<0)break r;e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}i[n+40>>2]=54496,i[n+96>>2]=54516,r=i[13633],i[n+32>>2]=r,A=i[r-12>>2],r=n+32|0,i[A+r>>2]=i[13634],i[n+36>>2]=0,A=r+i[i[n+32>>2]-12>>2]|0,k=n+44|0,b0(A,k),i[A+72>>2]=0,i[A+76>>2]=-1,A=i[13635],i[n+40>>2]=A,o=i[A-12>>2],A=n+40|0,i[o+A>>2]=i[13636],t=i[13632],i[n+32>>2]=t,i[r+i[t-12>>2]>>2]=i[13637],i[n+96>>2]=54516,i[n+32>>2]=54476,i[n+40>>2]=54496,r=$0(k),i[r>>2]=53552,i[n+84>>2]=0,i[n+88>>2]=0,i[n+76>>2]=0,i[n+80>>2]=0,i[n+92>>2]=24,x(H0(x(A,19229,25),s[e+4|0]),12434,16),e=n+20|0,i2(e,r),r0(f,4,3004,e),l[n+31|0]<0&&G(i[n+20>>2]),f=i[13631],i[n+32>>2]=f,i[i[f-12>>2]+(n+32|0)>>2]=i[13639],i[n+40>>2]=i[13640],i[r>>2]=53552,l[n+87|0]<0&&G(i[n+76>>2]),K0(r),T0(n+96|0);break i}_0(f,i[19566],i[19567])}B=n+176|0}function wk(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0;u=B-144|0,B=u,Z=Ri(i[e+48>>2],8710),o=U(360),i[o+16>>2]=0,i[o+20>>2]=0,i[o>>2]=72656,i[o+4>>2]=0,i[o+8>>2]=0,l[o+152|0]=0,i[o+36>>2]=Z,i[o+32>>2]=e,i[o+28>>2]=34648,i[o+40>>2]=0,i[o+44>>2]=0,i[o+52>>2]=0,i[o+56>>2]=0,i[o+68>>2]=0,i[o+72>>2]=0,i[o+80>>2]=0,i[o+84>>2]=0,i[o+156>>2]=0,i[o+160>>2]=0,i[o+24>>2]=0,X[o+48>>1]=0,X[o+58>>1]=0,X[o+60>>1]=0,X[o+62>>1]=0,X[o+64>>1]=0,l[o+76|0]=0,l[o+88|0]=0,i[o+204>>2]=0,i[o+196>>2]=0,i[o+200>>2]=0,i[o+188>>2]=0,i[o+192>>2]=0,i[o+180>>2]=0,i[o+184>>2]=0,i[o+172>>2]=0,i[o+176>>2]=0,i[o+164>>2]=0,i[o+168>>2]=0,i[o+212>>2]=0,i[o+216>>2]=0,l[o+208|0]=1,l[o+217|0]=0,l[o+218|0]=0,l[o+219|0]=0,l[o+220|0]=0,l[o+221|0]=0,l[o+222|0]=0,l[o+223|0]=0,l[o+224|0]=0,i[o+232>>2]=0,i[o+236>>2]=0,i[o+240>>2]=0,i[o+244>>2]=0,i[o+248>>2]=0,i[o+252>>2]=0,i[o+256>>2]=0,i[o+260>>2]=0,i[o+264>>2]=0,i[o+268>>2]=0,l[o+272|0]=0,B0(o+280|0,0,80),i[o+296>>2]=0,i[o+300>>2]=0,l[o+292|0]=1,i[o+304>>2]=0,i[o+308>>2]=0,i[o+312>>2]=0,i[o+316>>2]=0,i[o+328>>2]=0,i[o+332>>2]=0,i[o+320>>2]=0,i[o+324>>2]=1072693248,i[o+336>>2]=0,i[o+340>>2]=0,i[o+344>>2]=0,i[o+348>>2]=0,i[o+352>>2]=0,i[o+96>>2]=0,i[o+100>>2]=0,i[o+104>>2]=0,i[o+108>>2]=0,i[o+112>>2]=0,i[o+116>>2]=0,i[o+120>>2]=0,i[o+124>>2]=0,i[o+128>>2]=0,i[o+132>>2]=0,i[o+136>>2]=0,i[o+140>>2]=0,i[o+144>>2]=0,i[o+148>>2]=0,i[t>>2]=o+16,h=i[t+4>>2],i[t+4>>2]=o;i:{if(!h||(o=i[h+4>>2],i[h+4>>2]=o-1,o))break i;V[i[i[h>>2]+8>>2]](h),g(h)}h=i[e+32>>2];i:{if(h>>>0>2]){i[h>>2]=i[t>>2],o=i[t+4>>2],i[h+4>>2]=o,o&&(i[o+4>>2]=i[o+4>>2]+1),o=h+8|0;break i}o=Q2(e+28|0,t)}i[e+32>>2]=o,o=i[e+20>>2];i:{r:{if(!o){_=e+20|0,h=_;break r}for(;;){if(h=o,_=i[o+16>>2],_>>>0>Z>>>0){if(_=o,o=i[o>>2],o)continue;break r}if(_>>>0>=Z>>>0)break i;if(o=i[h+4>>2],!o)break}_=h+4|0}o=U(28),i[o+20>>2]=0,i[o+24>>2]=0,i[o+16>>2]=Z,i[o+8>>2]=h,i[o>>2]=0,i[o+4>>2]=0,i[_>>2]=o,h=o,w=i[i[e+16>>2]>>2],w&&(i[e+16>>2]=w,h=i[_>>2]),D1(i[e+20>>2],h),i[e+24>>2]=i[e+24>>2]+1}h=i[t>>2],_=i[t+4>>2],_&&(i[_+4>>2]=i[_+4>>2]+1),i[o+20>>2]=h,h=i[o+24>>2],i[o+24>>2]=_;i:{if(!h||(o=i[h+4>>2],i[h+4>>2]=o-1,o))break i;V[i[i[h>>2]+8>>2]](h),g(h)}o=i[r>>2],i[u+140>>2]=i[o+32>>2],i[u+136>>2]=i[o+36>>2],l[u+100|0]=1,i[u+88>>2]=6,i[u+92>>2]=6,i[u+96>>2]=6,v=U(24),l[v+22|0]=1,X[v+20>>1]=2,i[v+16>>2]=131074,i[v+12>>2]=72992,i[v>>2]=72832,i[v+4>>2]=0,i[v+8>>2]=0,_=v+12|0,o=_,l[o+10|0]=1,X[o+8>>1]=6,i[o+4>>2]=851969,Jt(o,u+84|0),o=i[A>>2];i:{if(i[o>>2]>=2){V[i[o+108>>2]](i[A+4>>2],u+140|0,u+136|0);break i}V[i[o+96>>2]](u+140|0,u+136|0)}i:{r:{e:{A:{if(o=i[u+140>>2],w=i[r>>2],h=i[u+136>>2],!((o|0)!=i[w+32>>2]|(h|0)!=i[w+36>>2])){if(h=i[w+44>>2],w=i[w+48>>2],w&&(i[w+4>>2]=i[w+4>>2]+1),p6(o,h,w,u+84|0))break A;h=i[u+136>>2],o=i[u+140>>2]}if(i[u+48>>2]=v,i[u+44>>2]=_,i[v+4>>2]=i[v+4>>2]+1,N8(u- -64|0,r,o,h,u+44|0,0,k+16|0),h=i[u+64>>2],r=i[u+68>>2],i[u+64>>2]=0,i[u+68>>2]=0,i[u+80>>2]=r,i[u+76>>2]=h,o=i[u+48>>2],o&&(r=i[o+4>>2],i[o+4>>2]=r-1,r||(V[i[i[o>>2]+8>>2]](o),g(o)),h=i[u+76>>2]),h)break e;if(l[u+64|0]=0,l[u+75|0]=0,r0(f,4,3003,u- -64|0),l[u+75|0]>=0)break r;G(i[u+64>>2]);break r}h=i[r>>2],r=i[r+4>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),i[u+80>>2]=r,i[u+76>>2]=h}e:{A:switch(n-1|0){case 0:case 3:break A;default:break e}r=i[h+52>>2],h=i[h+56>>2];A:{f:{k:{if(!h){if(!r)break f;o=i[e+48>>2],i[u+68>>2]=0,i[u+64>>2]=r;break k}if(i[h+4>>2]=i[h+4>>2]+1,!r)break f;o=i[e+48>>2],i[u+68>>2]=h,i[u+64>>2]=r,i[h+4>>2]=i[h+4>>2]+1}p8(o,Z,u- -64|0),o=i[u+68>>2];k:{if(!o||(r=i[o+4>>2],i[o+4>>2]=r-1,r))break k;V[i[i[o>>2]+8>>2]](o),g(o)}if(!s[k+3|0]|s[k|0]<3)break A}if(r=i[e+48>>2],i[u+68>>2]=v,i[u+64>>2]=_,i[v+4>>2]=i[v+4>>2]+1,p8(r,Z,u- -64|0),o=i[u+68>>2],!o||(r=i[o+4>>2],i[o+4>>2]=r-1,r))break A;V[i[i[o>>2]+8>>2]](o),g(o)}if(!h||(r=i[h+4>>2],i[h+4>>2]=r-1,r))break e;V[i[i[h>>2]+8>>2]](h),g(h)}h=i[u+76>>2];e:{A:{if(!s[k+1|0]||!H2(h,6))break A;i[u+44>>2]=0,i[u+48>>2]=0,s6(u- -64|0,u+76|0),o=i[u+64>>2],r=i[u+68>>2],i[u+64>>2]=0,i[u+68>>2]=0,h=i[u+48>>2],i[u+44>>2]=o,i[u+48>>2]=r;f:{if(!h||(r=i[h+4>>2],i[h+4>>2]=r-1,r||(V[i[i[h>>2]+8>>2]](h),g(h)),o=i[u+68>>2],!o)||(r=i[o+4>>2],i[o+4>>2]=r-1,r))break f;V[i[i[o>>2]+8>>2]](o),g(o)}if(i[u+24>>2]=0,i[u+28>>2]=0,wk(f,e,u+44|0,A,k,2,u+24|0),i[f>>2])break e;h=i[i[u+24>>2]+20>>2],o=i[e+48>>2],_=U(4),i[u+64>>2]=_,r=_+4|0,i[u+72>>2]=r,i[_>>2]=Z,i[u+68>>2]=r,P1(o,h,1635088492,u- -64|0),r=i[u+64>>2],r&&(i[u+68>>2]=r,G(r)),o=i[i[u+24>>2]+20>>2],r=i[e+48>>2],w=U(48),i[u+64>>2]=w,i[u+68>>2]=43,i[u+72>>2]=-2147483600,h=s[14658]|s[14659]<<8|(s[14660]<<16|s[14661]<<24),l[w+39|0]=h,l[w+40|0]=h>>>8,l[w+41|0]=h>>>16,l[w+42|0]=h>>>24,_=s[14655]|s[14656]<<8|(s[14657]<<16|s[14658]<<24),h=s[14651]|s[14652]<<8|(s[14653]<<16|s[14654]<<24),l[w+32|0]=h,l[w+33|0]=h>>>8,l[w+34|0]=h>>>16,l[w+35|0]=h>>>24,l[w+36|0]=_,l[w+37|0]=_>>>8,l[w+38|0]=_>>>16,l[w+39|0]=_>>>24,_=s[14647]|s[14648]<<8|(s[14649]<<16|s[14650]<<24),h=s[14643]|s[14644]<<8|(s[14645]<<16|s[14646]<<24),l[w+24|0]=h,l[w+25|0]=h>>>8,l[w+26|0]=h>>>16,l[w+27|0]=h>>>24,l[w+28|0]=_,l[w+29|0]=_>>>8,l[w+30|0]=_>>>16,l[w+31|0]=_>>>24,_=s[14639]|s[14640]<<8|(s[14641]<<16|s[14642]<<24),h=s[14635]|s[14636]<<8|(s[14637]<<16|s[14638]<<24),l[w+16|0]=h,l[w+17|0]=h>>>8,l[w+18|0]=h>>>16,l[w+19|0]=h>>>24,l[w+20|0]=_,l[w+21|0]=_>>>8,l[w+22|0]=_>>>16,l[w+23|0]=_>>>24,_=s[14631]|s[14632]<<8|(s[14633]<<16|s[14634]<<24),h=s[14627]|s[14628]<<8|(s[14629]<<16|s[14630]<<24),l[w+8|0]=h,l[w+9|0]=h>>>8,l[w+10|0]=h>>>16,l[w+11|0]=h>>>24,l[w+12|0]=_,l[w+13|0]=_>>>8,l[w+14|0]=_>>>16,l[w+15|0]=_>>>24,_=s[14623]|s[14624]<<8|(s[14625]<<16|s[14626]<<24),h=s[14619]|s[14620]<<8|(s[14621]<<16|s[14622]<<24),l[w|0]=h,l[w+1|0]=h>>>8,l[w+2|0]=h>>>16,l[w+3|0]=h>>>24,l[w+4|0]=_,l[w+5|0]=_>>>8,l[w+6|0]=_>>>16,l[w+7|0]=_>>>24,l[w+43|0]=0,_6(r,o,u- -64|0),l[u+75|0]<0&&G(i[u+64>>2]);f:{if(s[i[u+76>>2]+40|0]!=1||(h=i[e+48>>2],o=i[i[u+24>>2]+20>>2],_=U(4),i[u+64>>2]=_,r=_+4|0,i[u+72>>2]=r,i[_>>2]=o,i[u+68>>2]=r,P1(h,Z,1886545261,u- -64|0),r=i[u+64>>2],!r))break f;i[u+68>>2]=r,G(r)}l[f+19|0]<0&&G(i[f+8>>2]),o=i[u+28>>2];f:{if(!o||(r=i[o+4>>2],i[o+4>>2]=r-1,r))break f;V[i[i[o>>2]+8>>2]](o),g(o)}o=i[u+48>>2];f:{if(!o||(r=i[o+4>>2],i[o+4>>2]=r-1,r))break f;V[i[i[o>>2]+8>>2]](o),g(o)}h=i[u+76>>2]}i[u+60>>2]=0,r=i[u+80>>2];A:{if(!r){i[u+60>>2]=0,i[u+56>>2]=h;break A}if(i[r+4>>2]=i[r+4>>2]+1,i[u+56>>2]=h,o=i[u+60>>2],i[u+60>>2]=r,!o||(r=i[o+4>>2],i[o+4>>2]=r-1,r))break A;V[i[i[o>>2]+8>>2]](o),g(o)}V[i[i[A>>2]+100>>2]](u- -64|0,i[A+4>>2],u+56|0,n),n=i[u+64>>2];A:{if(n){if(A=i[u+68>>2],r=i[u+72>>2],t=G2(r),t>>>0>=2147483640)break i;f:{k:{if(t>>>0>=11){e=(t|7)+1|0,k=U(e),i[u+52>>2]=e|-2147483648,i[u+44>>2]=k,i[u+48>>2]=t;break k}if(l[u+55|0]=t,k=u+44|0,!t)break f}F2(k,r,t)}if(l[k+t|0]=0,r0(f,n,A,u+44|0),l[u+55|0]>=0)break A;G(i[u+44>>2]);break A}for(i[u+52>>2]=0,i[u+44>>2]=0,i[u+48>>2]=0,V[i[i[A>>2]+104>>2]](u+24|0,i[A+4>>2],u+40|0,u+36|0,0);;){if(o=i[u+40>>2],o){_=i[u+36>>2],r=i[u+44>>2],h=i[u+48>>2]-r|0,n=_+h|0;f:{if(n>>>0>h>>>0){L2(u+44|0,_),_=i[u+36>>2],o=i[u+40>>2],r=i[u+44>>2];break f}if(n>>>0>=h>>>0)break f;i[u+48>>2]=r+n}l0(r+h|0,o,_),V[i[i[A>>2]+104>>2]](u+24|0,i[A+4>>2],u+40|0,u+36|0,0);continue}break}hi(i[e+48>>2],Z,u+44|0,0),w=i[u+76>>2],h=i[w+24>>2],n=i[w+28>>2],Vi(i[e+48>>2],Z,h,n),i[u+24>>2]=h,i[u+40>>2]=n,o=h,r=n,_=i[A>>2];f:{if(i[_>>2]<3||(_=i[_+112>>2],!_))break f;V[_|0](i[A+4>>2],o,r,u+24|0,u+40|0),o=i[u+24>>2],r=i[u+40>>2]}f:{if((o|0)==(h|0)&(r|0)==(n|0)||(ar(i[e+48>>2],Z,h,n,o,r),E3(h,n,i[w+36>>2])))break f;l[i[t>>2]+192|0]=0}gr(i[e+48>>2],Z,i[k+12>>2]),i[u+16>>2]=w,r=i[u+80>>2],i[u+20>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),r=i[u+20>>2],i[u+8>>2]=i[u+16>>2],i[u+12>>2]=r,Wi(e,u+8|0,Z),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,e=f+8|0;f:{if(l[78275]>=0){f=i[19567],i[e>>2]=i[19566],i[e+4>>2]=f,i[e+8>>2]=i[19568];break f}_0(e,i[19566],i[19567])}if(f=i[u+44>>2],!f)break A;i[u+48>>2]=f,G(f)}if(e=i[u+60>>2],!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break r;V[i[i[e>>2]+8>>2]](e),g(e);break r}e=i[u+28>>2];e:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break e;V[i[i[e>>2]+8>>2]](e),g(e)}if(e=i[u+48>>2],!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break r;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[u+80>>2];r:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break r;V[i[i[e>>2]+8>>2]](e),g(e)}f=i[v+4>>2],i[v+4>>2]=f-1,f||(V[i[i[v>>2]+8>>2]](v),g(v)),B=u+144|0;return}c2(),P()}function _k(){var f=0,e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;for(l[84592]=0,l[84593]=0,l[84594]=0,l[84595]=1,l[84596]=1,l[84597]=0,l[84598]=1,l[84599]=1,l[81856]=0,l[81857]=0,l[81858]=1,l[81859]=0,l[81860]=0,l[81861]=1,l[81862]=1,l[81863]=1;;){if((f|0)<0)f=0;else{i:{r:{if(f>>>0<=1){if(k=e<<1,l[k+79127|0]=f,l[k+79126|0]=0,r=e+1|0,!f){e=r;break i}l[(r<<1)+79126|0]=1,A=f-1|0,k=2;break r}if((f|0)!=2)break i;A=1,l[(e<<1)+79126|0]=1,r=e,k=1}l[(r<<1)+79127|0]=A,e=e+k|0}f=f+1|0}if(!((e|0)<4))break}for(i[20474]=50397952,i[20475]=50529026,i[20472]=33620480,i[20473]=33751554,i[20470]=16843008,i[20471]=16974082,i[20468]=65536,i[20469]=196610,i[21152]=16777216,i[21153]=50332160,i[21154]=16842753,i[21155]=50397697,i[21156]=16908290,i[21157]=50463234,i[21158]=16973827,i[21159]=50528771,e=0,f=0;;){if((f|0)<0)f=0;else{i:{r:{e:{A:{f:{k:{if(f>>>0<=3){if(k=e<<1,l[k+79137|0]=f,l[k+79136|0]=0,k=e+1|0,f)break k;e=k;break i}if((f|0)!=4)break f;X[(e<<1)+79136>>1]=769,e=e+1|0;break e}if(k=k<<1,l[k+79137|0]=f-1,l[k+79136|0]=1,k=e+2|0,(f|0)!=1)break A;e=k;break i}if(f>>>0<6)break e;if((f|0)!=6)break i;break r}if(k=k<<1,l[k+79137|0]=f-2,l[k+79136|0]=2,k=e+3|0,(f|0)==2){e=k;break i}k=k<<1,l[k+79137|0]=f-3,l[k+79136|0]=3,e=e+4|0;break i}k=e<<1,l[k+79137|0]=f-2,l[k+79136|0]=2,e=e+1|0}k=e<<1,l[k+79137|0]=f-3,l[k+79136|0]=3,e=e+1|0}f=f+1|0}if(!((e|0)<16))break}for(i[20506]=117769988,i[20507]=117901062,i[20504]=117507840,i[20505]=117638914,i[20502]=100992516,i[20503]=101123590,i[20500]=100730368,i[20501]=100861442,i[20498]=84215044,i[20499]=84346118,i[20496]=83952896,i[20497]=84083970,i[20494]=67437572,i[20495]=67568646,i[20492]=67175424,i[20493]=67306498,i[20490]=50660100,i[20491]=50791174,i[20488]=50397952,i[20489]=50529026,i[20486]=33882628,i[20487]=34013702,i[20484]=33620480,i[20485]=33751554,i[20482]=17105156,i[20483]=17236230,i[20480]=16843008,i[20481]=16974082,i[20478]=327684,i[20479]=458758,i[20476]=65536,i[20477]=196610,i[21160]=16777216,i[21161]=50332160,i[21162]=83887104,i[21163]=117442048,i[21164]=16842753,i[21165]=50397697,i[21166]=83952641,i[21167]=117507585,i[21168]=16908290,i[21169]=50463234,i[21170]=84018178,i[21171]=117573122,i[21172]=16973827,i[21173]=50528771,i[21174]=84083715,i[21175]=117638659,i[21176]=17039364,i[21177]=50594308,i[21178]=84149252,i[21179]=117704196,i[21180]=17104901,i[21181]=50659845,i[21182]=84214789,i[21183]=117769733,i[21184]=17170438,i[21185]=50725382,i[21186]=84280326,i[21187]=117835270,i[21188]=17235975,i[21189]=50790919,i[21190]=84345863,i[21191]=117900807,r=0,k=0;;){if((k|0)<0)k=0;else{i:{if(!k){e=0,f=k;break i}for(t=k+1&-2,e=0,f=k,A=0;(f|0)>7|e>>>0>7||(n=r<<1,l[n+79169|0]=f,l[n+79168|0]=e,r=r+1|0),(f|0)>8|e>>>0>7||(n=r<<1,l[n+79169|0]=f-1,l[n+79168|0]=e|1,r=r+1|0),e=e+2|0,f=f-2|0,A=A+2|0,(t|0)!=(A|0););}k&1|(f|0)>7|e>>>0>7||(n=r<<1,l[n+79169|0]=f,l[n+79168|0]=e,r=r+1|0),k=k+1|0}if(!((r|0)<64))break}for(r=0,A=0;f=A<<1,l[f+82033|0]=r,e=0,l[f+82032|0]=0,l[f+82035|0]=r,l[f+82034|0]=1,l[f+82037|0]=r,l[f+82036|0]=2,l[f+82039|0]=r,l[f+82038|0]=3,l[f+82041|0]=r,l[f+82040|0]=4,l[f+82043|0]=r,l[f+82042|0]=5,l[f+82045|0]=r,l[f+82044|0]=6,l[f+82047|0]=r,l[f+82046|0]=7,l[f+82049|0]=r,l[f+82048|0]=8,l[f+82051|0]=r,l[f+82050|0]=9,l[f+82053|0]=r,l[f+82052|0]=10,l[f+82055|0]=r,l[f+82054|0]=11,l[f+82057|0]=r,l[f+82056|0]=12,l[f+82059|0]=r,l[f+82058|0]=13,l[f+82061|0]=r,l[f+82060|0]=14,l[f+82063|0]=r,l[f+82062|0]=15,A=A+16|0,r=r+1|0,(r|0)!=16;);for(A=0;r=0,f=A<<1,l[f+84769|0]=0,l[f+84768|0]=e,l[f+84771|0]=1,l[f+84770|0]=e,l[f+84773|0]=2,l[f+84772|0]=e,l[f+84775|0]=3,l[f+84774|0]=e,l[f+84777|0]=4,l[f+84776|0]=e,l[f+84779|0]=5,l[f+84778|0]=e,l[f+84781|0]=6,l[f+84780|0]=e,l[f+84783|0]=7,l[f+84782|0]=e,l[f+84785|0]=8,l[f+84784|0]=e,l[f+84787|0]=9,l[f+84786|0]=e,l[f+84789|0]=10,l[f+84788|0]=e,l[f+84791|0]=11,l[f+84790|0]=e,l[f+84793|0]=12,l[f+84792|0]=e,l[f+84795|0]=13,l[f+84794|0]=e,l[f+84797|0]=14,l[f+84796|0]=e,l[f+84799|0]=15,l[f+84798|0]=e,A=A+16|0,e=e+1|0,(e|0)!=16;);for(n=0;;){if(A=0,(n|0)<0)n=0;else{i:{if(!n){e=0,f=n;break i}for(h=n+1&-2,e=0,f=n,k=0;(f|0)>15|e>>>0>15||(t=r<<1,l[t+79297|0]=f,l[t+79296|0]=e,r=r+1|0),(f|0)>16|e>>>0>15||(t=r<<1,l[t+79297|0]=f-1,l[t+79296|0]=e|1,r=r+1|0),e=e+2|0,f=f-2|0,k=k+2|0,(h|0)!=(k|0););}n&1|(f|0)>15|e>>>0>15||(k=r<<1,l[k+79297|0]=f,l[k+79296|0]=e,r=r+1|0),n=n+1|0}if(!((r|0)<256))break}for(r=0;f=r<<1,l[f+82545|0]=A,e=0,l[f+82544|0]=0,l[f+82547|0]=A,l[f+82546|0]=1,l[f+82549|0]=A,l[f+82548|0]=2,l[f+82551|0]=A,l[f+82550|0]=3,l[f+82553|0]=A,l[f+82552|0]=4,l[f+82555|0]=A,l[f+82554|0]=5,l[f+82557|0]=A,l[f+82556|0]=6,l[f+82559|0]=A,l[f+82558|0]=7,l[f+82561|0]=A,l[f+82560|0]=8,l[f+82563|0]=A,l[f+82562|0]=9,l[f+82565|0]=A,l[f+82564|0]=10,l[f+82567|0]=A,l[f+82566|0]=11,l[f+82569|0]=A,l[f+82568|0]=12,l[f+82571|0]=A,l[f+82570|0]=13,l[f+82573|0]=A,l[f+82572|0]=14,l[f+82575|0]=A,l[f+82574|0]=15,l[f+82577|0]=A,l[f+82576|0]=16,l[f+82579|0]=A,l[f+82578|0]=17,l[f+82581|0]=A,l[f+82580|0]=18,l[f+82583|0]=A,l[f+82582|0]=19,l[f+82585|0]=A,l[f+82584|0]=20,l[f+82587|0]=A,l[f+82586|0]=21,l[f+82589|0]=A,l[f+82588|0]=22,l[f+82591|0]=A,l[f+82590|0]=23,l[f+82593|0]=A,l[f+82592|0]=24,l[f+82595|0]=A,l[f+82594|0]=25,l[f+82597|0]=A,l[f+82596|0]=26,l[f+82599|0]=A,l[f+82598|0]=27,l[f+82601|0]=A,l[f+82600|0]=28,l[f+82603|0]=A,l[f+82602|0]=29,l[f+82605|0]=A,l[f+82604|0]=30,l[f+82607|0]=A,l[f+82606|0]=31,r=r+32|0,A=A+1|0,(A|0)!=32;);for(A=0;r=0,f=A<<1,l[f+85281|0]=0,l[f+85280|0]=e,l[f+85283|0]=1,l[f+85282|0]=e,l[f+85285|0]=2,l[f+85284|0]=e,l[f+85287|0]=3,l[f+85286|0]=e,l[f+85289|0]=4,l[f+85288|0]=e,l[f+85291|0]=5,l[f+85290|0]=e,l[f+85293|0]=6,l[f+85292|0]=e,l[f+85295|0]=7,l[f+85294|0]=e,l[f+85297|0]=8,l[f+85296|0]=e,l[f+85299|0]=9,l[f+85298|0]=e,l[f+85301|0]=10,l[f+85300|0]=e,l[f+85303|0]=11,l[f+85302|0]=e,l[f+85305|0]=12,l[f+85304|0]=e,l[f+85307|0]=13,l[f+85306|0]=e,l[f+85309|0]=14,l[f+85308|0]=e,l[f+85311|0]=15,l[f+85310|0]=e,l[f+85313|0]=16,l[f+85312|0]=e,l[f+85315|0]=17,l[f+85314|0]=e,l[f+85317|0]=18,l[f+85316|0]=e,l[f+85319|0]=19,l[f+85318|0]=e,l[f+85321|0]=20,l[f+85320|0]=e,l[f+85323|0]=21,l[f+85322|0]=e,l[f+85325|0]=22,l[f+85324|0]=e,l[f+85327|0]=23,l[f+85326|0]=e,l[f+85329|0]=24,l[f+85328|0]=e,l[f+85331|0]=25,l[f+85330|0]=e,l[f+85333|0]=26,l[f+85332|0]=e,l[f+85335|0]=27,l[f+85334|0]=e,l[f+85337|0]=28,l[f+85336|0]=e,l[f+85339|0]=29,l[f+85338|0]=e,l[f+85341|0]=30,l[f+85340|0]=e,l[f+85343|0]=31,l[f+85342|0]=e,A=A+32|0,e=e+1|0,(e|0)!=32;);for(k=0;;){if((k|0)<0)k=0;else{i:{if(!k){e=0,f=k;break i}for(t=k+1&-2,e=0,f=k,A=0;(f|0)>31|e>>>0>31||(n=r<<1,l[n+79809|0]=f,l[n+79808|0]=e,r=r+1|0),(f|0)>32|e>>>0>31||(n=r<<1,l[n+79809|0]=f-1,l[n+79808|0]=e|1,r=r+1|0),e=e+2|0,f=f-2|0,A=A+2|0,(t|0)!=(A|0););}k&1|(f|0)>31|e>>>0>31||(n=r<<1,l[n+79809|0]=f,l[n+79808|0]=e,r=r+1|0),k=k+1|0}if(!((r|0)<1024))break}for(A=2;;){for(f=A-2|0,k=(1<>2],p=f<<2,v=i[p+45168>>2],n=0;;){for(h=_+(n<>2],v=i[Z+45288>>2],n=0;;){for(h=v+(n<>2],v=i[Z+45312>>2],n=0;;){for(h=v+(n<=16){v2(y+4|0,1008,0),l[r+312|0]=3,l[W+30|0]=0,l[W+31|0]=0,X[E>>1]=0,X[E+2>>1]=0,X[E+4>>1]=0,X[E+6>>1]=0;break k}if(l[W+31|0]=0,R=-1,J=t-1|0,i[I+60>>2]=J,i[I+56>>2]=J,e=o+h|0,i[I+52>>2]=e,C=e-1|0,i[I+48>>2]=C,l[W+30|0]=0,X[E>>1]=0,X[E+2>>1]=0,S=K4(p,f0,k,n,t,o,u,h,v,J,e),l[I+47|0]=S,q=K4(p,f0,k,n,t,o,u,h,v,J,C),l[I+46|0]=q,z=h0+924|0,d=w<<6,j=(z+d|0)+(_<<2)|0,r=V[i[i[y>>2]+8>>2]](y,i[j>>2])|0,!r)break k;f=1-w|0,H=i[r+96>>2];n:{if(s[W+30|0]|!S)break n;if(A=i[p+168>>2],r=J>>A,(r|0)<0||(A0=i[p+172>>2],(A0|0)<=(r|0)))break e;if(A=e>>A,(A|0)<0|(A|0)>=i[p+176>>2])break r;if(!(s[((i[p+160>>2]+m(r,3)|0)+m(m(A,A0),3)|0)+1|0]&3))break n;if(r=i[p+188>>2],A=J>>r,(A|0)<0||(A0=i[p+192>>2],(A0|0)<=(A|0)))break e;if(e=e>>r,(e|0)<0|(e|0)>=i[p+196>>2])break r;if(r=0,e=(i[p+180>>2]+m(A,12)|0)+m(m(e,A0),12)|0,A=e+w|0,s[A|0]){if(a=s[A+2|0],a>>>0>15)break k;a=V[i[i[y>>2]+8>>2]](y,i[(z+d|0)+(a<<2)>>2])|0}if(d=f+e|0,s[d|0]){if(r=s[d+2|0],r>>>0>15)break k;r=V[i[i[y>>2]+8>>2]](y,i[((f<<6)+z|0)+(r<<2)>>2])|0}t:{if(!(!a|!s[A|0])&&(A=w,i[a+96>>2]==(H|0)))break t;if(!r|!s[d|0]||(A=f,i[r+96>>2]!=(H|0)))break n}l[W+30|0]=1,r=e+(A<<2)|0,r=Q[r+4>>1]|Q[r+6>>1]<<16,X[E>>1]=r,X[E+2>>1]=r>>>16,R=l[(e+A|0)+2|0]}n:{if(s[W+30|0]|!q)break n;if(r=i[p+168>>2],e=J>>r,(e|0)<0||(A=i[p+172>>2],(A|0)<=(e|0)))break e;if(r=C>>r,(r|0)<0|(r|0)>=i[p+176>>2])break r;if(!(s[((i[p+160>>2]+m(e,3)|0)+m(m(r,A),3)|0)+1|0]&3))break n;if(r=i[p+188>>2],e=J>>r,(e|0)<0||(a=i[p+192>>2],(a|0)<=(e|0)))break e;if(r=C>>r,(r|0)<0|(r|0)>=i[p+196>>2])break r;if(A=0,e=(i[p+180>>2]+m(e,12)|0)+m(m(r,a),12)|0,r=e+w|0,s[r|0]){if(A=s[r+2|0],A>>>0>15)break k;A=V[i[i[y>>2]+8>>2]](y,i[((w<<6)+z|0)+(A<<2)>>2])|0}if(C=f+e|0,s[C|0]){if(D=s[C+2|0],D>>>0>15)break k;D=V[i[i[y>>2]+8>>2]](y,i[((f<<6)+z|0)+(D<<2)>>2])|0}t:{if(!(!A|!s[r|0])&&(r=w,i[A+96>>2]==(H|0)))break t;if(!D|!s[C|0]||(r=f,i[D+96>>2]!=(H|0)))break n}l[W+30|0]=1,A=e+(r<<2)|0,A=Q[A+4>>1]|Q[A+6>>1]<<16,X[E>>1]=A,X[E+2>>1]=A>>>16,R=l[(e+r|0)+2|0]}for(d=S|q,q=h0+1308|0,A0=q+(w<<4)|0,S=A0+_|0,a=y+4|0,r=I+60|0,A=I+52|0,e=I+47|0,D=1;;){if(!s[W+30|0]){C=-1;n:{if(s[e|0]!=1)break n;if(n0=i[r>>2],r=i[p+168>>2],e=n0>>r,(e|0)<0||(L=i[p+172>>2],(L|0)<=(e|0)))break e;if(A=i[A>>2],r=A>>r,(r|0)<0|(r|0)>=i[p+176>>2])break r;if(!(s[((i[p+160>>2]+m(e,3)|0)+m(m(r,L),3)|0)+1|0]&3))break n;if(r=i[p+188>>2],e=n0>>r,(e|0)<0||(n0=i[p+192>>2],(n0|0)<=(e|0)))break e;if(r=A>>r,(r|0)<0|(r|0)>=i[p+196>>2])break r;e=(i[p+180>>2]+m(e,12)|0)+m(m(r,n0),12)|0,A=e+w|0;t:{if(s[A|0]==1&&(r=w,A=A+2|0,s[S|0]==s[A0+l[A|0]|0]))break t;if(r=f+e|0,s[r|0]!=1||(A=r+2|0,r=f,s[S|0]!=s[l[A|0]+(q+(r<<4)|0)|0]))break n}l[W+30|0]=1,e=e+(r<<2)|0,e=Q[e+4>>1]|Q[e+6>>1]<<16,X[E>>1]=e,X[E+2>>1]=e>>>16,R=l[A|0],C=r}n:{if(s[W+30|0]!=1)break n;if((R|0)<0){l[W+30|0]=0,l[W+31|0]=0;break k}if((C|0)<0)break f;if(r=V[i[i[y>>2]+8>>2]](y,i[((C<<6)+z|0)+(R<<2)>>2])|0,V[i[i[y>>2]+8>>2]](y,i[j>>2])|0,s[(q+(C<<4)|0)+R|0]|s[S|0])break n;if(e=i[p+96>>2],r=i[r+96>>2],(e|0)!=(r|0)){r=e-r|0,r=(r|0)>=127?127:r,r=(r|0)<=-128?-128:r,A=r>>31,e=e-H|0,e=(e|0)>=127?127:e,e=m(((r^A)-A>>>1|16384)/(r|0)<<16>>16,(e|0)<=-128?-128:e)+32>>6,e=(e|0)>=4095?4095:e,A=(e|0)<=-4096?-4096:e,C=Q[E>>1]|Q[E+2>>1]<<16,e=m(A,C>>16),r=e>>31,e=m(((e^r)-r|0)+127>>>8|0,(e|0)<0?-1:(e|0)!=0),e=(e|0)>=32767?32767:e,X[E+2>>1]=(e|0)<=-32768?-32768:e,e=m(A,C<<16>>16),r=e>>31,e=m(((e^r)-r|0)+127>>>8|0,(e|0)<0?-1:(e|0)!=0),e=(e|0)>=32767?32767:e,X[E>>1]=(e|0)<=-32768?-32768:e;break n}v2(a,1008,0),l[p+312|0]=3}if(C=D&1,r=I+56|0,A=I+48|0,e=I+46|0,D=0,C)continue}break}i[I+40>>2]=J,D=-1,e=o-1|0,i[I+20>>2]=e,i[I+24>>2]=e,i[I+28>>2]=e,e=t+u|0,i[I+32>>2]=e,i[I+36>>2]=e-1,l[W+31|0]=0,X[E+4>>1]=0,X[E+6>>1]=0,e=i[I+32>>2],r=i[I+20>>2],A=K4(p,f0,k,n,t,o,u,h,v,e,r),l[I+17|0]=A,J=E+4|0;n:{if(s[W+31|0]|!A)break n;if(A=i[p+188>>2],e=e>>A,(e|0)<0||(C=i[p+192>>2],(C|0)<=(e|0)))break e;if(A=r>>A,(A|0)<0|(A|0)>=i[p+196>>2])break r;if(r=0,R=0,A=(i[p+180>>2]+m(e,12)|0)+m(m(A,C),12)|0,e=A+w|0,s[e|0]){if(C=s[e+2|0],C>>>0>15)break k;R=V[i[i[y>>2]+8>>2]](y,i[((w<<6)+z|0)+(C<<2)>>2])|0}if(C=f+A|0,s[C|0]){if(r=s[C+2|0],r>>>0>15)break k;r=V[i[i[y>>2]+8>>2]](y,i[((f<<6)+z|0)+(r<<2)>>2])|0}t:{if(!(!R|!s[e|0])&&(e=w,i[R+96>>2]==(H|0)))break t;if(!r|!s[C|0]||(e=f,i[r+96>>2]!=(H|0)))break n}l[W+31|0]=1,r=A+(e<<2)|0,r=Q[r+4>>1]|Q[r+6>>1]<<16,X[J>>1]=r,X[J+2>>1]=r>>>16,D=l[(e+A|0)+2|0]}e=i[I+36>>2],r=i[I+24>>2],A=K4(p,f0,k,n,t,o,u,h,v,e,r),l[I+18|0]=A;n:{if(s[W+31|0]|!A)break n;if(A=i[p+188>>2],e=e>>A,(e|0)<0||(C=i[p+192>>2],(C|0)<=(e|0)))break e;if(A=r>>A,(A|0)<0|(A|0)>=i[p+196>>2])break r;if(r=0,R=0,A=(i[p+180>>2]+m(e,12)|0)+m(m(A,C),12)|0,e=A+w|0,s[e|0]){if(C=s[e+2|0],C>>>0>15)break k;R=V[i[i[y>>2]+8>>2]](y,i[((w<<6)+z|0)+(C<<2)>>2])|0}if(C=f+A|0,s[C|0]){if(r=s[C+2|0],r>>>0>15)break k;r=V[i[i[y>>2]+8>>2]](y,i[((f<<6)+z|0)+(r<<2)>>2])|0}t:{if(!(!R|!s[e|0])&&(e=w,i[R+96>>2]==(H|0)))break t;if(!r|!s[C|0]||(e=f,i[r+96>>2]!=(H|0)))break n}l[W+31|0]=1,r=A+(e<<2)|0,r=Q[r+4>>1]|Q[r+6>>1]<<16,X[J>>1]=r,X[J+2>>1]=r>>>16,D=l[(e+A|0)+2|0]}e=i[I+40>>2],r=i[I+28>>2],A=K4(p,f0,k,n,t,o,u,h,v,e,r),l[I+19|0]=A;n:{if(s[W+31|0]|!A)break n;if(A=i[p+188>>2],e=e>>A,(e|0)<0||(k=i[p+192>>2],(k|0)<=(e|0)))break e;if(A=r>>A,(A|0)<0|(A|0)>=i[p+196>>2])break r;if(r=0,R=0,A=(i[p+180>>2]+m(e,12)|0)+m(m(A,k),12)|0,e=A+w|0,s[e|0]){if(k=s[e+2|0],k>>>0>15)break k;R=V[i[i[y>>2]+8>>2]](y,i[((w<<6)+z|0)+(k<<2)>>2])|0}if(k=f+A|0,s[k|0]){if(r=s[k+2|0],r>>>0>15)break k;r=V[i[i[y>>2]+8>>2]](y,i[((f<<6)+z|0)+(r<<2)>>2])|0}t:{if(!(!R|!s[e|0])&&(e=w,i[R+96>>2]==(H|0)))break t;if(!r|!s[k|0]||(e=f,i[r+96>>2]!=(H|0)))break n}l[W+31|0]=1,r=A+(e<<2)|0,r=Q[r+4>>1]|Q[r+6>>1]<<16,X[J>>1]=r,X[J+2>>1]=r>>>16,D=l[(e+A|0)+2|0]}if(d)break k;for(s[W+31|0]&&(l[W+30|0]=1,e=Q[E+4>>1]|Q[E+6>>1]<<16,X[E>>1]=e,X[E+2>>1]=e>>>16),l[W+31|0]=0,n=q+(w<<4)|0,C=0;;){e=-1;n:{if(s[(I+17|0)+C|0]!=1)break n;if(r=C<<2,A=i[p+188>>2],e=i[r+(I+32|0)>>2]>>A,(e|0)<0||(k=i[p+192>>2],(k|0)<=(e|0)))break e;if(r=i[r+(I+20|0)>>2]>>A,(r|0)<0|(r|0)>=i[p+196>>2])break r;t:{o:{if(k=(i[p+180>>2]+m(e,12)|0)+m(m(r,k),12)|0,v=k+2|0,r=v+w|0,e=l[r|0],(e|0)<=15){if(s[k+w|0]==1&&(A=w,s[S|0]==s[e+n|0]))break t;if(s[f+k|0]==1)break o;e=-1;break n}l[p+312|0]=3,v2(a,1012,0);break k}if(A=f,r=v+A|0,e=-1,s[S|0]!=s[l[r|0]+(q+(A<<4)|0)|0])break n}l[W+31|0]=1,e=k+(A<<2)|0,e=Q[e+4>>1]|Q[e+6>>1]<<16,X[J>>1]=e,X[J+2>>1]=e>>>16,D=l[r|0],e=A}n:{if(s[W+31|0]!=1)break n;if((D|0)<0){l[W+30|0]=0,l[W+31|0]=0;break k}if((e|0)<0)break A;r=V[i[i[y>>2]+8>>2]](y,i[((e<<6)+z|0)+(D<<2)>>2])|0,A=V[i[i[y>>2]+8>>2]](y,i[j>>2])|0;t:{if(!(A&&r)){v2(i[p+112>>2]+4|0,1012,0);break t}if(r=i[r+96>>2],s[S|0]|(s[(q+(e<<4)|0)+D|0]|(r|0)==i[A+96>>2])||(e=i[p+96>>2],A=Q[J>>1]|Q[J+2>>1]<<16,i[I+8>>2]=A,i[I+12>>2]=A,C7(J,I+8|0,e-r|0,e-H|0)))break n;v2(a,1008,0)}l[p+312|0]=3}if(C=C+1|0,(C|0)==3)break k;if(s[W+31|0])break}}B=I- -64|0;break i}C0(17142,13964,1801,6195),P()}C0(17142,13964,1959,6195),P()}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}i:{r:{e:{A:{f:{k:{if(f=s[W+30|0],e=s[W+31|0],!(!f|!e)){if(Q[W+20>>1]!=Q[W+24>>1]|Q[W+22>>1]!=Q[W+26>>1])break k;dr(y,p,h0,t,o,u,h,_,w,W+12|0,W+19|0);break f}if(dr(y,p,h0,t,o,u,h,_,w,W+12|0,W+19|0),f)break A;if(_=0,f=0,!e)break i;break r}l[W+19|0]=0}f=i[W+20>>2],X[Z>>1]=f,X[Z+2>>1]=f>>>16;break e}if(f=i[W+20>>2],X[Z>>1]=f,X[Z+2>>1]=f>>>16,e)break e;f=1;break i}if(_=1,Q[W+20>>1]!=Q[W+24>>1])break r;if(f=1,Q[W+22>>1]==Q[W+26>>1])break i}f=(_<<2)+Z|0,e=i[W+24>>2],X[f>>1]=e,X[f+2>>1]=e>>>16,f=_+1|0}_=f,s[W+19|0]&&(f=(_<<2)+Z|0,e=i[W+12>>2],X[f>>1]=e,X[f+2>>1]=e>>>16,_=_+1|0);i:{if(_>>>0<=1){f=_<<2,B0(f+Z|0,0,8-f|0);break i}if((_|0)==2)break i;C0(16737,13964,2063,3803),P()}B=W+32|0}function Ns(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0;for(A=B-176|0,B=A,i[A+64>>2]=54820,n=i[13708],i[A+8>>2]=n,k=i[n-12>>2],n=A+8|0,i[k+n>>2]=i[13709],k=n+i[i[A+8>>2]-12>>2]|0,t=A+12|0,b0(k,t),i[k+72>>2]=0,i[k+76>>2]=-1,i[A+64>>2]=54820,i[A+8>>2]=54800,Z=$0(t),i[Z>>2]=53552,i[A+52>>2]=0,i[A+56>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+60>>2]=16,k=A+164|0,R2(k,e,r),v=n,o=k,n=l[A+175|0],k=(n|0)<0,x(v,k?i[A+164>>2]:o,k?i[A+168>>2]:n),l[A+175|0]<0&&G(i[A+164>>2]),n=A+164|0,W0(n,r),o=n,n=l[A+175|0],k=(n|0)<0,x(A+8|0,k?i[A+164>>2]:o,k?i[A+168>>2]:n),l[A+175|0]<0&&G(i[A+164>>2]),n=x(H0(x(A+8|0,20322,23),s[e+48|0]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),n=x(H0(x(n,21214,23),s[e+49|0]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),n=x(re(x(n,20609,19),s[e+50|0]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),x(H0(x(n,21413,21),s[e+51|0]),31338,1),n=A+164|0,W0(n,r),o=n,n=l[A+175|0],k=(n|0)<0,x(A+8|0,k?i[A+164>>2]:o,k?i[A+168>>2]:n),l[A+175|0]<0&&G(i[A+164>>2]),x(A+8|0,19884,37),n=0;;){k=A+8|0,L0(k,i[e+52>>2]>>>31-n&1);i:{if((n&7)==7){l[A+164|0]=32,x(k,A+164|0,1);break i}if((n&3)!=3)break i;l[A+164|0]=46,x(A+8|0,A+164|0,1)}if(n=n+1|0,(n|0)==32)break}for(k=A+8|0,x(k,31338,1),t=A+164|0,W0(t,r),n=0,v=k,o=t,k=l[A+175|0],t=(k|0)<0,x(v,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),x(A+8|0,19922,36),k=e+56|0;t=A+8|0,H0(t,i[k+(n>>>3&536870908)>>2]>>>n&1),n=n+1|0,n&7||(l[A+164|0]=32,x(t,A+164|0,1)),(n|0)!=48;);n=A+8|0,x(n,31338,1),k=A+164|0,W0(k,r),v=n,o=k,n=l[A+175|0],k=(n|0)<0,x(v,k?i[A+164>>2]:o,k?i[A+168>>2]:n),l[A+175|0]<0&&G(i[A+164>>2]),n=x(H0(x(A+8|0,21393,19),s[e+64|0]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),n=x(L0(x(n,21362,30),Q[e+66>>1]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),n=x(H0(x(n,20978,18),s[e+68|0]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),x(n,19643,15);i:{r:{e:{A:{f:switch(n=s[e+69|0],n-1|0){case 2:break e;case 1:break A;case 0:break f;default:break r}x(A+8|0,17203,5);break i}x(A+8|0,16785,5);break i}x(A+8|0,16639,5);break i}H0(A+8|0,n)}n=x(A+8|0,31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),n=x(H0(x(n,21442,16),s[e+70|0]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),n=x(H0(x(n,21459,18),s[e+71|0]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),n=x(L0(x(n,20862,16),Q[e+72>>1]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),n=x(H0(x(n,20840,21),s[e+74|0]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),n=x(H0(x(n,19783,21),s[e+75|0]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),n=x(H0(x(n,21327,20),s[e+76|0]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),x(H0(x(n,20723,13),s[e+80|0]),31338,1);i:{if(_=i[e+84>>2],y=i[e+88>>2],(_|0)!=(y|0))for(v=A+20|0;;){e=A+164|0,W0(e,r),k=e,e=l[A+175|0],n=(e|0)<0,x(A+8|0,n?i[A+164>>2]:k,n?i[A+168>>2]:e),l[A+175|0]<0&&G(i[A+164>>2]),e=A+8|0,x(e,30565,8),i[r>>2]=i[r>>2]+1,n=A+164|0,W0(n,r),o=e,k=n,e=l[A+175|0],n=(e|0)<0,x(o,n?i[A+164>>2]:k,n?i[A+168>>2]:e),l[A+175|0]<0&&G(i[A+164>>2]),e=x(H0(x(A+8|0,19725,20),s[_|0]),31338,1),n=A+164|0,W0(n,r),o=n,n=l[A+175|0],k=(n|0)<0,x(e,k?i[A+164>>2]:o,k?i[A+168>>2]:n),l[A+175|0]<0&&G(i[A+164>>2]),x(H0(x(e,20933,15),s[_+1|0]),31338,1);r:{if(p=i[_+4>>2],E=i[_+8>>2],(p|0)==(E|0))break r;for(;;){W0(A+144|0,r),t=l[A+155|0],o=i[A+144>>2],w=i[A+148>>2],e=A+8|0,W=V1(A+156|0,e);e:{if(s[W|0]!=1)break e;u=e+i[i[A+8>>2]-12>>2]|0,I=i[u+4>>2],n=i[u+24>>2],k=i[u+76>>2],(k|0)==-1&&(h=A+164|0,e=i[u+28>>2],i[h>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(h,100192),k=V[i[i[e>>2]+28>>2]](e,32)|0,O0(h),i[u+76>>2]=k);A:{if(!n||(h=i[u+12>>2],e=o,o=(t|0)<0,e=o?e:A+144|0,t=o?w:t,C=e+t|0,o=(I&176)==32?C:e,w=o-e|0,(w|0)>0&&(V[i[i[n>>2]+48>>2]](n,e,w)|0)!=(w|0)))break A;if(e=(t|0)<(h|0)?h-t|0:0,(e|0)>0){if(e>>>0>=2147483640)break i;f:{if(e>>>0>=11){h=(e|7)+1|0,t=U(h),i[A+172>>2]=h|-2147483648,i[A+164>>2]=t,i[A+168>>2]=e;break f}l[A+175|0]=e,t=A+164|0}if(J=B0(t,k,e)+e|0,R=0,l[J|0]=R,k=V[i[i[n>>2]+48>>2]](n,l[A+175|0]<0?i[A+164>>2]:A+164|0,e)|0,l[A+175|0]<0&&G(i[A+164>>2]),(e|0)!=(k|0))break A}if(e=C-o|0,(e|0)>0&&(V[i[i[n>>2]+48>>2]](n,o,e)|0)!=(e|0))break A;i[u+12>>2]=0;break e}e=i[i[A+8>>2]-12>>2]+(A+8|0)|0,z1(e,i[e+16>>2]|5)}if(Z1(W),l[A+155|0]<0&&G(i[A+144>>2]),n=i[p>>2],W=i[p+4>>2],(n|0)!=(W|0))for(;;){u=s[n|0],e=i[A+8>>2],k=i[e-12>>2]+(A+8|0)|0,i[k+76>>2]==-1&&(t=A+164|0,e=i[k+28>>2],i[t>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(t,100192),V[i[i[e>>2]+28>>2]](e,32)|0,O0(t),e=i[A+8>>2]),i[k+76>>2]=48,e=e-12|0,i[i[e>>2]+v>>2]=2,e=i[e>>2]+Z|0,i[e>>2]=i[e>>2]&-75|8,u=H0(A+8|0,u),I=V1(A+144|0,u);e:{if(s[I|0]!=1)break e;t=u+i[i[u>>2]-12>>2]|0,w=i[t+4>>2],k=i[t+24>>2],h=i[t+76>>2],(h|0)==-1&&(o=A+164|0,e=i[t+28>>2],i[o>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(o,100192),h=V[i[i[e>>2]+28>>2]](e,32)|0,O0(o),i[t+76>>2]=h);A:{if(!k||(e=i[t+12>>2],w=(w&176)==32?21742:21741,o=w-21741|0,(o|0)>0&&(V[i[i[k>>2]+48>>2]](k,21741,o)|0)!=(o|0)))break A;if(e=(e|0)>1?e-1|0:0,(e|0)>0){if(e>>>0>=2147483640)break i;f:{if(e>>>0>=11){C=(e|7)+1|0,o=U(C),i[A+172>>2]=C|-2147483648,i[A+164>>2]=o,i[A+168>>2]=e;break f}l[A+175|0]=e,o=A+164|0}if(J=B0(o,h,e)+e|0,R=0,l[J|0]=R,h=V[i[i[k>>2]+48>>2]](k,l[A+175|0]<0?i[A+164>>2]:A+164|0,e)|0,l[A+175|0]<0&&G(i[A+164>>2]),(e|0)!=(h|0))break A}if(e=21742-w|0,(e|0)>0&&(V[i[i[k>>2]+48>>2]](k,w,e)|0)!=(e|0))break A;i[t+12>>2]=0;break e}e=u+i[i[u>>2]-12>>2]|0,z1(e,i[e+16>>2]|5)}if(Z1(I),n=n+1|0,(W|0)==(n|0))break}e:{e=A+8|0,o=V1(A+144|0,e);A:{if(s[o|0]!=1)break A;u=e+i[i[A+8>>2]-12>>2]|0,h=i[u+4>>2],n=i[u+24>>2],t=i[u+76>>2],(t|0)==-1&&(k=A+164|0,e=i[u+28>>2],i[k>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(k,100192),t=V[i[i[e>>2]+28>>2]](e,32)|0,O0(k),i[u+76>>2]=t);f:{if(!n||(e=i[u+12>>2],h=(h&176)==32?31339:31338,k=h-31338|0,(k|0)>0&&(V[i[i[n>>2]+48>>2]](n,31338,k)|0)!=(k|0)))break f;if(e=(e|0)>1?e-1|0:0,(e|0)>0){if(e>>>0>=2147483640)break e;k:{if(e>>>0>=11){w=(e|7)+1|0,k=U(w),i[A+172>>2]=w|-2147483648,i[A+164>>2]=k,i[A+168>>2]=e;break k}l[A+175|0]=e,k=A+164|0}if(J=B0(k,t,e)+e|0,R=0,l[J|0]=R,k=V[i[i[n>>2]+48>>2]](n,l[A+175|0]<0?i[A+164>>2]:A+164|0,e)|0,l[A+175|0]<0&&G(i[A+164>>2]),(e|0)!=(k|0))break f}if(e=31339-h|0,(e|0)>0&&(V[i[i[n>>2]+48>>2]](n,h,e)|0)!=(e|0))break f;i[u+12>>2]=0;break A}e=i[i[A+8>>2]-12>>2]+(A+8|0)|0,z1(e,i[e+16>>2]|5)}if(Z1(o),e=i[i[A+8>>2]-12>>2]+Z|0,i[e>>2]=i[e>>2]&-75|2,p=p+12|0,(E|0)==(p|0))break r;continue}break}break i}if(e=i[r>>2],i[r>>2]=(e|0)>0?e-1|0:0,_=_+16|0,(y|0)==(_|0))break}i2(f,Z),f=i[13707],i[A+8>>2]=f,i[i[f-12>>2]+(A+8|0)>>2]=i[13710],i[Z>>2]=53552,l[A+55|0]<0&&G(i[A+44>>2]),K0(Z),T0(A- -64|0),B=A+176|0;return}c2(),P()}function mk(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0;i:{r:{e:for(;;){for(C=e-4|0,I=e-20|0,p=e-24|0,y=e-12|0,W=e-16|0,v=e-8|0;;){A:{f:{k:{n:{t:{o:{u:switch(k=f,t=e-k>>3,t|0){case 3:break o;case 2:break u;case 0:case 1:break A;case 4:break k;case 5:break t;default:break n}if(i[e-4>>2]<=i[k+4>>2])break A;n=i[k>>2],_=i[k+4>>2],f=e-8|0,e=i[f+4>>2],i[k>>2]=i[f>>2],i[k+4>>2]=e;break r}if(f=e-8|0,A=e-4|0,r=i[A>>2],e=i[k+12>>2],(e|0)<=i[k+4>>2]){if((e|0)>=(r|0)||(A=i[k+8>>2],r=i[k+12>>2],e=i[f+4>>2],i[k+8>>2]=i[f>>2],i[k+12>>2]=e,i[f>>2]=A,i[f+4>>2]=r,i[k+12>>2]<=i[k+4>>2]))break A;n=i[k+8>>2],_=i[k+12>>2];break i}if(n=i[k>>2],_=i[k+4>>2],(e|0)<(r|0)){e=i[f+4>>2],i[k>>2]=i[f>>2],i[k+4>>2]=e;break r}if(r=i[k+8>>2],e=i[k+12>>2],i[k+8>>2]=n,i[k+12>>2]=_,i[k>>2]=r,i[k+4>>2]=e,(_|0)>=i[A>>2])break A;e=i[f+4>>2],i[k+8>>2]=i[f>>2],i[k+12>>2]=e;break r}if(Tr(k,k+8|0,k+16|0,k+24|0),i[e-4>>2]<=i[k+28>>2]||(A=i[k+24>>2],r=i[k+28>>2],e=e-8|0,f=i[e+4>>2],i[k+24>>2]=i[e>>2],i[k+28>>2]=f,i[e>>2]=A,i[e+4>>2]=r,i[k+28>>2]<=i[k+20>>2])||(n=i[k+24>>2],_=i[k+28>>2],f=i[k+20>>2],i[k+24>>2]=i[k+16>>2],i[k+28>>2]=f,i[k+16>>2]=n,i[k+20>>2]=_,(_|0)<=i[k+12>>2])||(f=i[k+12>>2],i[k+16>>2]=i[k+8>>2],i[k+20>>2]=f,i[k+8>>2]=n,i[k+12>>2]=_,(_|0)<=i[k+4>>2]))break A;break i}if((t|0)<=23){if(f=k+8|0,r=(e|0)==(k|0)|(e|0)==(f|0),A&1){if(r)break A;for(h=k;;){if(r=f,i[h+12>>2]>i[h+4>>2]){for(n=i[f>>2],A=i[f+4>>2],t=f;;){n:{if(f=h,u=i[f+4>>2],i[t>>2]=i[f>>2],i[t+4>>2]=u,(f|0)==(k|0)){f=k;break n}if(h=f-8|0,t=f,(A|0)>i[f-4>>2])continue}break}i[f>>2]=n,i[f+4>>2]=A}if(h=r,f=h+8|0,(e|0)==(f|0))break}break A}if(r)break A;for(;;){if(i[k+12>>2]>i[k+4>>2]){for(A=i[f>>2],r=i[f+4>>2],h=f;n=h,h=k,t=i[k+4>>2],i[n>>2]=i[k>>2],i[n+4>>2]=t,k=k-8|0,(r|0)>i[h-4>>2];);i[h>>2]=A,i[h+4>>2]=r}if(k=f,f=k+8|0,(e|0)==(f|0))break}break A}if(!r){if((e|0)==(k|0))break A;for(w=t-2>>>1|0,f=w;;){_=f;n:{if((f|0)>(w|0)||(u=(f<<3)+k|0,r=f<<1&1073741822,h=r|1,f=(h<<3)+k|0,r=r+2|0,(r|0)<(t|0)&&(A=r,r=i[f+4>>2]>i[f+12>>2],h=r?A:h,f=(r<<3)+f|0),i[f+4>>2]>i[u+4>>2]))break n;for(A=i[u>>2],r=i[u+4>>2];;){t:{if(n=u,u=f,Z=i[f+4>>2],i[n>>2]=i[f>>2],i[n+4>>2]=Z,(h|0)>(w|0))break t;if(n=h<<1,h=n|1,f=(h<<3)+k|0,n=n+2|0,(n|0)<(t|0)&&(Z=n,n=i[f+4>>2]>i[f+12>>2],h=n?Z:h,f=(n<<3)+f|0),(r|0)>=i[f+4>>2])continue}break}i[u>>2]=A,i[u+4>>2]=r}if(f=_-1|0,!((_|0)>0))break}for(;;){for(u=t,_=t-2>>>1|0,A=i[k>>2],Z=i[k+4>>2],h=0,t=k;;){n=h<<1,r=n|1,w=(h<<3)+t|0,f=w+8|0,n=n+2|0;n:{if((n|0)>=(u|0)){h=r;break n}h=r,r=i[w+12>>2]>i[w+20>>2],h=r?n:h,f=r?w+16|0:f}if(r=i[f+4>>2],i[t>>2]=i[f>>2],i[t+4>>2]=r,t=f,!((h|0)<=(_|0)))break}e=e-8|0;n:{if((f|0)==(e|0)){i[f>>2]=A,i[f+4>>2]=Z;break n}if(r=i[e+4>>2],i[f>>2]=i[e>>2],i[f+4>>2]=r,i[e>>2]=A,i[e+4>>2]=Z,r=(f-k|0)+8>>3,(r|0)<2||(h=r-2>>>1|0,t=(h<<3)+k|0,i[t+4>>2]<=i[f+4>>2]))break n;for(n=i[f>>2],A=i[f+4>>2];;){t:{if(r=f,f=t,t=i[f+4>>2],i[r>>2]=i[f>>2],i[r+4>>2]=t,!h)break t;if(h=h-1>>>1|0,t=(h<<3)+k|0,(A|0)>2])continue}break}i[f>>2]=n,i[f+4>>2]=A}if(t=u-1|0,!((u|0)>2))break}break A}o=(t>>>1<<3)+k|0,u=i[C>>2];n:{if(t>>>0>=129){n=i[o+4>>2];t:{if((n|0)<=i[k+4>>2]){if((n|0)>=(u|0)||(t=i[o>>2],n=i[o+4>>2],f=i[v+4>>2],i[o>>2]=i[v>>2],i[o+4>>2]=f,i[v>>2]=t,i[v+4>>2]=n,i[o+4>>2]<=i[k+4>>2]))break t;t=i[k>>2],n=i[k+4>>2],f=i[o+4>>2],i[k>>2]=i[o>>2],i[k+4>>2]=f,i[o>>2]=t,i[o+4>>2]=n;break t}f=i[k>>2],t=i[k+4>>2];o:{if((n|0)<(u|0)){n=i[v+4>>2],i[k>>2]=i[v>>2],i[k+4>>2]=n;break o}if(n=i[o+4>>2],i[k>>2]=i[o>>2],i[k+4>>2]=n,i[o>>2]=f,i[o+4>>2]=t,(t|0)>=i[C>>2])break t;n=i[v+4>>2],i[o>>2]=i[v>>2],i[o+4>>2]=n}i[v>>2]=f,i[v+4>>2]=t}t=i[y>>2],w=o-8|0,n=i[w+4>>2];t:{if((n|0)<=i[k+12>>2]){if((n|0)>=(t|0)||(t=i[w>>2],n=i[w+4>>2],f=i[W+4>>2],i[w>>2]=i[W>>2],i[w+4>>2]=f,i[W>>2]=t,i[W+4>>2]=n,i[w+4>>2]<=i[k+12>>2]))break t;t=i[k+8>>2],n=i[k+12>>2],f=i[w+4>>2],i[k+8>>2]=i[w>>2],i[k+12>>2]=f,i[w>>2]=t,i[w+4>>2]=n;break t}f=i[k+8>>2],u=i[k+12>>2];o:{if((n|0)<(t|0)){n=i[W+4>>2],i[k+8>>2]=i[W>>2],i[k+12>>2]=n;break o}if(n=i[w+4>>2],i[k+8>>2]=i[w>>2],i[k+12>>2]=n,i[w>>2]=f,i[w+4>>2]=u,(u|0)>=i[y>>2])break t;n=i[W+4>>2],i[w>>2]=i[W>>2],i[w+4>>2]=n}i[W>>2]=f,i[W+4>>2]=u}t=i[I>>2],n=i[o+12>>2];t:{if((n|0)<=i[k+20>>2]){if((n|0)>=(t|0)||(t=i[o+8>>2],n=i[o+12>>2],f=i[p+4>>2],i[o+8>>2]=i[p>>2],i[o+12>>2]=f,i[p>>2]=t,i[p+4>>2]=n,i[o+12>>2]<=i[k+20>>2]))break t;t=i[k+16>>2],n=i[k+20>>2],f=i[o+12>>2],i[k+16>>2]=i[o+8>>2],i[k+20>>2]=f,i[o+8>>2]=t,i[o+12>>2]=n;break t}f=i[k+16>>2],u=i[k+20>>2];o:{if((n|0)<(t|0)){n=i[p+4>>2],i[k+16>>2]=i[p>>2],i[k+20>>2]=n;break o}if(n=i[o+12>>2],i[k+16>>2]=i[o+8>>2],i[k+20>>2]=n,i[o+8>>2]=f,i[o+12>>2]=u,(u|0)>=i[I>>2])break t;n=i[p+4>>2],i[o+8>>2]=i[p>>2],i[o+12>>2]=n}i[p>>2]=f,i[p+4>>2]=u}Z=i[o+12>>2],h=i[o+4>>2],u=i[w+4>>2];t:{if((h|0)<=(u|0)){if(n=i[o>>2],_=i[o+4>>2],(h|0)>=(Z|0))break t;if(t=i[o+12>>2],f=i[o+8>>2],i[o>>2]=f,i[o+4>>2]=t,i[o+8>>2]=n,i[o+12>>2]=_,(t|0)<=(u|0)){n=f,_=t;break t}n=i[w>>2],_=i[w+4>>2],i[w>>2]=f,i[w+4>>2]=t,i[o>>2]=n,i[o+4>>2]=_;break t}if(f=i[w>>2],t=i[w+4>>2],(h|0)<(Z|0)){n=i[o+12>>2],i[w>>2]=i[o+8>>2],i[w+4>>2]=n,i[o+8>>2]=f,i[o+12>>2]=t,n=i[o>>2],_=i[o+4>>2];break t}if(n=i[o+4>>2],i[w>>2]=i[o>>2],i[w+4>>2]=n,i[o>>2]=f,i[o+4>>2]=t,(t|0)>=(Z|0)){n=f,_=t;break t}u=i[o+12>>2],_=u,n=i[o+8>>2],i[o>>2]=n,i[o+4>>2]=u,i[o+8>>2]=f,i[o+12>>2]=t}t=i[k>>2],f=i[k+4>>2],i[k>>2]=n,i[k+4>>2]=_,i[o>>2]=t,i[o+4>>2]=f;break n}if(n=i[k+4>>2],(n|0)<=i[o+4>>2]){if((n|0)>=(u|0)||(t=i[k>>2],n=i[k+4>>2],f=i[v+4>>2],i[k>>2]=i[v>>2],i[k+4>>2]=f,i[v>>2]=t,i[v+4>>2]=n,i[k+4>>2]<=i[o+4>>2]))break n;t=i[o>>2],n=i[o+4>>2],f=i[k+4>>2],i[o>>2]=i[k>>2],i[o+4>>2]=f,i[k>>2]=t,i[k+4>>2]=n;break n}f=i[o>>2],t=i[o+4>>2];t:{if((n|0)<(u|0)){n=i[v+4>>2],i[o>>2]=i[v>>2],i[o+4>>2]=n;break t}if(n=i[k+4>>2],i[o>>2]=i[k>>2],i[o+4>>2]=n,i[k>>2]=f,i[k+4>>2]=t,(t|0)>=i[C>>2])break n;n=i[v+4>>2],i[k>>2]=i[v>>2],i[k+4>>2]=n}i[v>>2]=f,i[v+4>>2]=t}if(r=r-1|0,E=A&1,E){n=i[k>>2],_=i[k+4>>2];break f}if(n=i[k>>2],f=i[k+4>>2],_=f,i[k-4>>2]>i[k+4>>2])break f;t=k,u=k,h=f;n:{if((f|0)>i[C>>2]){for(;;)if(A=t,f=t+8|0,t=f,!((h|0)<=i[A+12>>2]))break n}for(;;){if(f=u+8|0,e>>>0<=f>>>0)break n;if(A=u,u=f,!((h|0)<=i[A+12>>2]))break}}if(u=e,u>>>0>f>>>0)for(;A=u-4|0,u=u-8|0,(h|0)>i[A>>2];);if(f>>>0>>0)for(;;){for(Z=i[f>>2],t=i[f+4>>2],A=i[u+4>>2],i[f>>2]=i[u>>2],i[f+4>>2]=A,i[u>>2]=Z,i[u+4>>2]=t;t=f,A=f+8|0,f=A,(h|0)<=i[t+12>>2];);for(f=u;t=f-4|0,u=f-8|0,f=u,(h|0)>i[t>>2];);if(f=A,!(u>>>0>f>>>0))break}t=f-8|0,(t|0)!=(k|0)&&(A=i[t+4>>2],i[k>>2]=i[t>>2],i[k+4>>2]=A),i[t>>2]=n,i[t+4>>2]=_,A=0;continue}Tr(k,k+8|0,k+16|0,e-8|0);break A}for(t=k;h=t,t=t+8|0,i[h+12>>2]>(_|0););u=e,f=u;f:{if((k|0)==(h|0))for(;;){if(t>>>0>=u>>>0){Z=u;break f}if(f=u-4|0,Z=u-8|0,u=Z,!(i[f>>2]<=(_|0)))break f}for(;u=f-4|0,Z=f-8|0,f=Z,i[u>>2]<=(_|0););}if(f=Z,u=t,f>>>0>t>>>0)for(;;){for(o=i[u>>2],w=i[u+4>>2],h=i[f+4>>2],i[u>>2]=i[f>>2],i[u+4>>2]=h,i[f>>2]=o,i[f+4>>2]=w;h=u,u=u+8|0,i[h+12>>2]>(_|0););for(;w=f-4|0,f=f-8|0,i[w>>2]<=(_|0););if(!(f>>>0>u>>>0))break}if((k|0)!=(h|0)&&(f=i[h+4>>2],i[k>>2]=i[h>>2],i[k+4>>2]=f),i[h>>2]=n,i[h+4>>2]=_,t>>>0>=Z>>>0){if(n=Hk(k,h),f=h+8|0,Hk(f,e)){if(e=h,f=k,!n)continue e;break A}if(n)continue}mk(k,h,r,E),f=h+8|0,A=0;continue}break}break}return}i[f>>2]=n,i[f+4>>2]=_;return}f=i[k+4>>2],i[k+8>>2]=i[k>>2],i[k+12>>2]=f,i[k>>2]=n,i[k+4>>2]=_}function Rs(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0;k=B-160|0,B=k,i[k+68>>2]=54820,A=i[13708],i[k+12>>2]=A,o=k+12|0,i[o+i[A-12>>2]>>2]=i[13709],n=o+i[i[k+12>>2]-12>>2]|0,A=k+16|0,b0(n,A),i[n+72>>2]=0,i[n+76>>2]=-1,i[k+68>>2]=54820,i[k+12>>2]=54800,p=$0(A),i[p>>2]=53552,i[k+56>>2]=0,i[k+60>>2]=0,i[k+48>>2]=0,i[k+52>>2]=0,i[k+64>>2]=16,A=k+148|0,R2(A,e,r),t=A,n=l[k+159|0],A=(n|0)<0,x(o,A?i[k+148>>2]:t,A?i[k+152>>2]:n),l[k+159|0]<0&&G(i[k+148>>2]),A=k+148|0,W0(A,r),t=A,n=l[k+159|0],A=(n|0)<0,x(k+12|0,A?i[k+148>>2]:t,A?i[k+152>>2]:n),l[k+159|0]<0&&G(i[k+148>>2]),o=x(H0(x(k+12|0,20322,23),s[e+48|0]),31338,1),A=k+148|0,W0(A,r),t=A,n=l[k+159|0],A=(n|0)<0,x(o,A?i[k+148>>2]:t,A?i[k+152>>2]:n),l[k+159|0]<0&&G(i[k+148>>2]),o=x(H0(x(o,20299,22),s[e+49|0]),18656,2);i:{r:{e:{A:{f:{k:{n:{t:{o:{u:{l:{s:switch(A=s[e+49|0],A-66|0){case 56:break n;case 44:break t;case 34:break o;case 22:break u;case 11:break l;case 0:break e;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 45:case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:break f;default:break s}if((A|0)==244)break k;if((A|0)!=44)break f;n=U(16),i[k>>2]=n,i[k+4>>2]=11,i[k+8>>2]=-2147483632,t=s[16637]|s[16638]<<8|(s[16639]<<16|s[16640]<<24),A=s[16633]|s[16634]<<8|(s[16635]<<16|s[16636]<<24),l[n|0]=A,l[n+1|0]=A>>>8,l[n+2|0]=A>>>16,l[n+3|0]=A>>>24,l[n+4|0]=t,l[n+5|0]=t>>>8,l[n+6|0]=t>>>16,l[n+7|0]=t>>>24,A=s[16640]|s[16641]<<8|(s[16642]<<16|s[16643]<<24),l[n+7|0]=A,l[n+8|0]=A>>>8,l[n+9|0]=A>>>16,l[n+10|0]=A>>>24,A=n+11|0;break r}i[k>>2]=1852399949,l[k+11|0]=4,A=4;break A}i[k>>2]=1702131781,i[k+4>>2]=1684366446,l[k+11|0]=8,A=8;break A}n=U(16),i[k>>2]=n,i[k+4>>2]=12,i[k+8>>2]=-2147483632,t=s[3138]|s[3139]<<8|(s[3140]<<16|s[3141]<<24),A=s[3134]|s[3135]<<8|(s[3136]<<16|s[3137]<<24),l[n|0]=A,l[n+1|0]=A>>>8,l[n+2|0]=A>>>16,l[n+3|0]=A>>>24,l[n+4|0]=t,l[n+5|0]=t>>>8,l[n+6|0]=t>>>16,l[n+7|0]=t>>>24,A=s[3142]|s[3143]<<8|(s[3144]<<16|s[3145]<<24),l[n+8|0]=A,l[n+9|0]=A>>>8,l[n+10|0]=A>>>16,l[n+11|0]=A>>>24,A=n+12|0;break r}l[k+11|0]=7,i[k>>2]=s[17232]|s[17233]<<8|(s[17234]<<16|s[17235]<<24),A=s[17235]|s[17236]<<8|(s[17237]<<16|s[17238]<<24),l[k+3|0]=A,l[k+4|0]=A>>>8,l[k+5|0]=A>>>16,l[k+6|0]=A>>>24,A=7;break A}X[k+8>>1]=s[16788]|s[16789]<<8,l[k+11|0]=10,A=s[16784]|s[16785]<<8|(s[16786]<<16|s[16787]<<24),i[k>>2]=s[16780]|s[16781]<<8|(s[16782]<<16|s[16783]<<24),i[k+4>>2]=A,A=10;break A}X[k+8>>1]=s[16630]|s[16631]<<8,l[k+11|0]=10,A=s[16626]|s[16627]<<8|(s[16628]<<16|s[16629]<<24),i[k>>2]=s[16622]|s[16623]<<8|(s[16624]<<16|s[16625]<<24),i[k+4>>2]=A,A=10;break A}l[k+11|0]=7,i[k>>2]=s[6164]|s[6165]<<8|(s[6166]<<16|s[6167]<<24),A=s[6167]|s[6168]<<8|(s[6169]<<16|s[6170]<<24),l[k+3|0]=A,l[k+4|0]=A>>>8,l[k+5|0]=A>>>16,l[k+6|0]=A>>>24,A=7}l[A+k|0]=0,n=k;break i}n=U(24),i[k>>2]=n,i[k+4>>2]=20,i[k+8>>2]=-2147483624,t=s[9783]|s[9784]<<8|(s[9785]<<16|s[9786]<<24),A=s[9779]|s[9780]<<8|(s[9781]<<16|s[9782]<<24),l[n|0]=A,l[n+1|0]=A>>>8,l[n+2|0]=A>>>16,l[n+3|0]=A>>>24,l[n+4|0]=t,l[n+5|0]=t>>>8,l[n+6|0]=t>>>16,l[n+7|0]=t>>>24,A=s[9795]|s[9796]<<8|(s[9797]<<16|s[9798]<<24),l[n+16|0]=A,l[n+17|0]=A>>>8,l[n+18|0]=A>>>16,l[n+19|0]=A>>>24,t=s[9791]|s[9792]<<8|(s[9793]<<16|s[9794]<<24),A=s[9787]|s[9788]<<8|(s[9789]<<16|s[9790]<<24),l[n+8|0]=A,l[n+9|0]=A>>>8,l[n+10|0]=A>>>16,l[n+11|0]=A>>>24,l[n+12|0]=t,l[n+13|0]=t>>>8,l[n+14|0]=t>>>16,l[n+15|0]=t>>>24,A=n+20|0}l[A|0]=0,A=i[k+4>>2]}if(o=x(x(x(o,n,A),18531,1),31338,1),A=k+148|0,W0(A,r),t=A,n=l[k+159|0],A=(n|0)<0,x(o,A?i[k+148>>2]:t,A?i[k+152>>2]:n),l[k+159|0]<0&&G(i[k+148>>2]),o=x(H0(x(o,19325,23),s[e+50|0]),31338,1),A=k+148|0,W0(A,r),t=A,n=l[k+159|0],A=(n|0)<0,x(o,A?i[k+148>>2]:t,A?i[k+152>>2]:n),l[k+159|0]<0&&G(i[k+148>>2]),x(H0(x(o,20278,20),s[e+51|0]),31338,1),l[k+11|0]<0&&G(i[k>>2]),v=i[e+56>>2],h=i[e+60>>2],(v|0)!=(h|0))for(I=k+24|0;;){A=k+148|0,W0(A,r),t=A,n=l[k+159|0],A=(n|0)<0,x(k+12|0,A?i[k+148>>2]:t,A?i[k+152>>2]:n),l[k+159|0]<0&&G(i[k+148>>2]),x(k+12|0,21499,5);i:{if(n=i[v>>2],y=i[v+4>>2],(n|0)==(y|0))break i;for(;;){o=s[n|0],w=i[k+12>>2],u=i[w-12>>2]+(k+12|0)|0,i[u+76>>2]==-1&&(t=k+148|0,A=i[u+28>>2],i[t>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(t,100192),V[i[i[A>>2]+28>>2]](A,32)|0,O0(t),w=i[k+12>>2]),i[u+76>>2]=48,A=w-12|0,i[I+i[A>>2]>>2]=2,A=i[A>>2]+p|0,i[A>>2]=i[A>>2]&-75|8;r:{w=H0(k+12|0,o),t=V1(k,w);e:{if(s[t|0]!=1)break e;_=w+i[i[w>>2]-12>>2]|0,o=i[_+4>>2],W=i[_+24>>2],Z=i[_+76>>2],(Z|0)==-1&&(u=k+148|0,A=i[_+28>>2],i[u>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(u,100192),Z=V[i[i[A>>2]+28>>2]](A,32)|0,O0(u),i[_+76>>2]=Z);A:{if(!W||(u=i[_+12>>2],o=(o&176)==32?21742:21741,A=o-21741|0,(A|0)>0&&(V[i[i[W>>2]+48>>2]](W,21741,A)|0)!=(A|0)))break A;if(u=(u|0)>1?u-1|0:0,(u|0)>0){if(u>>>0>=2147483640)break r;f:{if(u>>>0>=11){A=(u|7)+1|0,C=U(A),i[k+156>>2]=A|-2147483648,i[k+148>>2]=C,i[k+152>>2]=u;break f}l[k+159|0]=u,C=k+148|0}if(E=B0(C,Z,u)+u|0,J=0,l[E|0]=J,A=V[i[i[W>>2]+48>>2]](W,l[k+159|0]<0?i[k+148>>2]:k+148|0,u)|0,l[k+159|0]<0&&G(i[k+148>>2]),(A|0)!=(u|0))break A}if(A=21742-o|0,(A|0)>0&&(V[i[i[W>>2]+48>>2]](W,o,A)|0)!=(A|0))break A;i[_+12>>2]=0;break e}A=w+i[i[w>>2]-12>>2]|0,z1(A,i[A+16>>2]|5)}if(Z1(t),n=n+1|0,(y|0)==(n|0))break i;continue}break}c2(),P()}if(x(k+12|0,31338,1),A=i[i[k+12>>2]-12>>2]+p|0,i[A>>2]=i[A>>2]&-75|2,v=v+12|0,(h|0)==(v|0))break}if(v=i[e+68>>2],I=i[e+72>>2],(v|0)!=(I|0))for(y=k+24|0;;){e=k+148|0,W0(e,r),n=e,A=l[k+159|0],e=(A|0)<0,x(k+12|0,e?i[k+148>>2]:n,e?i[k+152>>2]:A),l[k+159|0]<0&&G(i[k+148>>2]),x(k+12|0,21505,5);i:{if(n=i[v>>2],t=i[v+4>>2],(n|0)==(t|0))break i;for(;;){A=s[n|0],w=i[k+12>>2],h=i[w-12>>2]+(k+12|0)|0,i[h+76>>2]==-1&&(o=k+148|0,e=i[h+28>>2],i[o>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(o,100192),V[i[i[e>>2]+28>>2]](e,32)|0,O0(o),w=i[k+12>>2]),i[h+76>>2]=48,e=w-12|0,i[y+i[e>>2]>>2]=2,e=i[e>>2]+p|0,i[e>>2]=i[e>>2]&-75|8;r:{u=H0(k+12|0,A),o=V1(k,u);e:{if(s[o|0]!=1)break e;w=u+i[i[u>>2]-12>>2]|0,A=i[w+4>>2],_=i[w+24>>2],Z=i[w+76>>2],(Z|0)==-1&&(h=k+148|0,e=i[w+28>>2],i[h>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(h,100192),Z=V[i[i[e>>2]+28>>2]](e,32)|0,O0(h),i[w+76>>2]=Z);A:{if(!_||(h=i[w+12>>2],A=(A&176)==32?21742:21741,e=A-21741|0,(e|0)>0&&(V[i[i[_>>2]+48>>2]](_,21741,e)|0)!=(e|0)))break A;if(h=(h|0)>1?h-1|0:0,(h|0)>0){if(h>>>0>=2147483640)break r;f:{if(h>>>0>=11){e=(h|7)+1|0,C=U(e),i[k+156>>2]=e|-2147483648,i[k+148>>2]=C,i[k+152>>2]=h;break f}l[k+159|0]=h,C=k+148|0}if(E=B0(C,Z,h)+h|0,J=0,l[E|0]=J,e=V[i[i[_>>2]+48>>2]](_,l[k+159|0]<0?i[k+148>>2]:k+148|0,h)|0,l[k+159|0]<0&&G(i[k+148>>2]),(e|0)!=(h|0))break A}if(e=21742-A|0,(e|0)>0&&(V[i[i[_>>2]+48>>2]](_,A,e)|0)!=(e|0))break A;i[w+12>>2]=0;break e}e=u+i[i[u>>2]-12>>2]|0,z1(e,i[e+16>>2]|5)}if(Z1(o),n=n+1|0,(t|0)==(n|0))break i;continue}break}c2(),P()}if(x(k+12|0,31338,1),e=i[i[k+12>>2]-12>>2]+p|0,i[e>>2]=i[e>>2]&-75|2,v=v+12|0,(I|0)==(v|0))break}i2(f,p),f=i[13707],i[k+12>>2]=f,i[i[f-12>>2]+(k+12|0)>>2]=i[13710],i[p>>2]=53552,l[k+59|0]<0&&G(i[k+48>>2]),K0(p),T0(k+68|0),B=k+160|0}function Bk(f,e,r,A,k,n,t,o,u){var h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0;w=B-336|0,B=w,v=o,Z=u&65535,p=A,W=k&65535,y=(k^u)&-2147483648,z=u>>>16&32767,J=k>>>16&32767;i:{r:{if(z-32767>>>0>4294934529&J-32767>>>0>=4294934530)break r;if(h=k&2147483647,!(!A&(h|0)==2147418112?!(e|r):h>>>0<2147418112)){I=A,y=k|32768;break i}if(k=u&2147483647,!(!o&(k|0)==2147418112?!(n|t):k>>>0<2147418112)){I=o,y=u|32768,e=n,r=t;break i}if(!(e|A|(h^2147418112|r))){if(!(n|o|(k^2147418112|t))){e=0,r=0,y=2147450880;break i}y=y|2147418112,e=0,r=0;break i}if(!(n|o|(k^2147418112|t))){e=0,r=0;break i}if(!(e|A|(r|h))){e=!(n|o|(k|t)),I=e?0:I,y=e?2147450880:y,e=0,r=0;break i}if(!(n|o|(k|t))){y=y|2147418112,e=0,r=0;break i}if((h|0)==65535|h>>>0<65535&&(A=!(p|W),u=A,h=A?e:p,A=A<<6,u=$2(u?r:W),A=A+((u|0)==32?$2(h)+32|0:u)|0,L1(w+320|0,e,r,p,W,A-15|0),C=16-A|0,p=i[w+328>>2],W=i[w+332>>2],r=i[w+324>>2],e=i[w+320>>2]),k>>>0>65535)break r;A=!(Z|v),o=A,u=A?n:v,A=A<<6,o=$2(o?t:Z),A=A+((o|0)==32?$2(u)+32|0:o)|0,L1(w+304|0,n,t,v,Z,A-15|0),C=(A+C|0)-16|0,v=i[w+312>>2],Z=i[w+316>>2],n=i[w+304>>2],t=i[w+308>>2]}k=Z|65536,H=k,a=v,A=v,h=k<<15|A>>>17,k=A<<15|t>>>17,A=k,u=0-A|0,o=h,h=1963258675-(h+((A|0)!=0)|0)|0,U1(w+288|0,A,o,0,0,u,h,0,0),A=i[w+296>>2],U1(w+272|0,0-A|0,0-(i[w+300>>2]+((A|0)!=0)|0)|0,0,0,u,h,0,0),A=i[w+280>>2],u=A<<1|i[w+276>>2]>>>31,A=i[w+284>>2]<<1|A>>>31,U1(w+256|0,u,A,0,0,k,o,0,0),h=i[w+264>>2],U1(w+240|0,u,A,0,0,0-h|0,0-(i[w+268>>2]+((h|0)!=0)|0)|0,0,0),u=i[w+248>>2],h=u<<1|i[w+244>>2]>>>31,A=i[w+252>>2]<<1|u>>>31,U1(w+224|0,h,A,0,0,k,o,0,0),u=i[w+232>>2],U1(w+208|0,h,A,0,0,0-u|0,0-(i[w+236>>2]+((u|0)!=0)|0)|0,0,0),A=i[w+216>>2],u=A<<1|i[w+212>>2]>>>31,A=i[w+220>>2]<<1|A>>>31,U1(w+192|0,u,A,0,0,k,o,0,0),h=i[w+200>>2],U1(w+176|0,u,A,0,0,0-h|0,0-(i[w+204>>2]+((h|0)!=0)|0)|0,0,0),u=k,k=i[w+184>>2],A=o,v=k<<1|i[w+180>>2]>>>31,o=v-1|0,k=(i[w+188>>2]<<1|k>>>31)-!v|0,U1(w+160|0,u,A,0,0,o,k,0,0),A=o,U1(w+144|0,n<<15,t<<15|n>>>17,0,0,A,k,0,0),R=w+112|0,S=i[w+168>>2],o=i[w+172>>2],v=i[w+160>>2],u=i[w+152>>2],_=v+u|0,Z=i[w+164>>2],h=Z+i[w+156>>2]|0,h=u>>>0>_>>>0?h+1|0:h,u=h,h=(Z|0)==(h|0)&_>>>0>>0|h>>>0>>0,Z=h+S|0,h=h>>>0>Z>>>0?o+1|0:o,v=!u&_>>>0>1|(u|0)!=0,o=Z+v|0,h=v>>>0>o>>>0?h+1|0:h,U1(R,A,k,0,0,0-o|0,0-(((o|0)!=0)+h|0)|0,0,0),U1(w+128|0,1-_|0,0-((_>>>0>1)+u|0)|0,0,0,A,k,0,0),p0=(J-z|0)+C|0,k=i[w+116>>2],J=k,A=i[w+112>>2],h=k<<1|A>>>31,u=A<<1,Z=h,A=h,o=i[w+140>>2],D=o,k=i[w+136>>2],h=o<<1|k>>>31,_=k<<1|i[w+132>>2]>>>31,o=_+u|0,A=A+h|0,A=o>>>0<_>>>0?A+1|0:A,k=A,A=A-(o>>>0<13927)|0,E=A,R=A,_=0,h=W|65536,X0=h,G0=p,A=p,h=h<<1|A>>>31,Q0=A<<1,F0=h,f0=h,A=q0(E,_,h,0),h=w0,q=A,d=h,h0=e<<1,A=r<<1|e>>>31,z=A,S=A,h=0,C=h,v=o-13927|0,E=(k|0)==(E|0)&v>>>0>>0|k>>>0>E>>>0,k=(k|0)==(Z|0)&o>>>0>>0|k>>>0>>0,A=i[w+120>>2],o=i[w+124>>2]<<1|A>>>31,A=A<<1|J>>>31,_=D>>>31|0,A=_+A|0,h=o,h=A>>>0<_>>>0?h+1|0:h,o=A,A=A+k|0,h=o>>>0>A>>>0?h+1|0:h,k=A,A=A+E|0,_=k>>>0>A>>>0?h+1|0:h,k=A-1|0,A0=_-!A|0,D=0,u=q0(S,C,A0,D),A=u+q|0,o=w0+d|0,o=A>>>0>>0?o+1|0:o,Z=(d|0)==(o|0)&A>>>0>>0|o>>>0>>0,q=k,I0=r>>>31|0,n0=I0|p<<1,E=0,k=q0(k,0,n0,E),p=k+A|0,h=w0+o|0,_=0,h=k>>>0>p>>>0?h+1|0:h,W=h,A=(h|0)==(o|0)&A>>>0>p>>>0|o>>>0>h>>>0,k=A,A=A+Z|0,_=k>>>0>A>>>0?1:_,k=q0(f0,C,A0,D),A=k+A|0,h=w0+_|0,Z=A,A=A>>>0>>0?h+1|0:h,k=q0(f0,C,q,E),_=w0,o=k,k=q0(n0,E,A0,D),u=o+k|0,h=w0+_|0,h=k>>>0>u>>>0?h+1|0:h,k=h,h=(_|0)==(h|0)&o>>>0>u>>>0|h>>>0<_>>>0,_=Z+k|0,A=A+h|0,A=_>>>0>>0?A+1|0:A,Z=_,_=A,k=0,A=k+p|0,h=u+W|0,h=A>>>0>>0?h+1|0:h,k=h,o=(h|0)==(W|0)&A>>>0

>>0|h>>>0>>0,h=_,u=o,o=o+Z|0,h=u>>>0>o>>>0?h+1|0:h,J=o,_=h,p=A,d=v,A=q0(v,0,n0,E),u=w0,o=A,v=q0(R,I,S,I),A=A+v|0,h=w0+u|0,h=A>>>0>>0?h+1|0:h,v=(u|0)==(h|0)&A>>>0>>0|u>>>0>h>>>0,o=h,j=h0&-2,u=q0(q,E,j,0),W=u+A|0,h=w0+h|0,h=u>>>0>W>>>0?h+1|0:h,u=h,A=(h|0)==(o|0)&A>>>0>W>>>0|o>>>0>h>>>0,o=0,h=A+v|0,A=(h>>>0>>0?1:o)+k|0,Z=h+p|0,A=Z>>>0>>0?A+1|0:A,h=_,v=A,A=(A|0)==(k|0)&Z>>>0

>>0|A>>>0>>0,k=A,A=A+J|0,h=k>>>0>A>>>0?h+1|0:h,Y0=A,J=h,A=q0(f0,C,d,I),L=w0,f0=A,k=q0(A0,D,j,I),A=A+k|0,h=w0+L|0,h=A>>>0>>0?h+1|0:h,p=A,_=q0(R,I,n0,E),k=A+_|0,o=h,A=h+w0|0,A=k>>>0<_>>>0?A+1|0:A,C=k,h=q0(S,I,q,E),k=k+h|0,_=w0+A|0,_=k>>>0>>0?_+1|0:_,A0=(A|0)==(_|0)&k>>>0>>0|A>>>0>_>>>0,h=(o|0)==(L|0)&p>>>0>>0|o>>>0>>0,A=(A|0)==(o|0)&p>>>0>C>>>0|A>>>0>>0,A=A+h|0,A=A+A0|0,o=_,C=o+Z|0,h=(A|D)+v|0,h=o>>>0>C>>>0?h+1|0:h,p=h,A=(v|0)==(h|0)&Z>>>0>C>>>0|h>>>0>>0,h=J,o=A,A=A+Y0|0,h=o>>>0>A>>>0?h+1|0:h,D=A,v=h,A=q0(R,I,j,I),R=w0,Z=A,o=q0(S,I,d,I),A=A+o|0,h=w0+R|0,h=A>>>0>>0?h+1|0:h,J=0,o=(h|0)==(R|0)&A>>>0>>0|h>>>0>>0,Z=h,A=h+W|0,h=(o|J)+u|0,h=A>>>0>>0?h+1|0:h,u=(u|0)==(h|0)&A>>>0>>0|u>>>0>h>>>0,o=h,h=k,W=0,k=W+A|0,_=o+h|0,h=0,_=k>>>0>>0?_+1|0:_,A=(o|0)==(_|0)&A>>>0>k>>>0|o>>>0>_>>>0,k=A,A=A+u|0,h=(k>>>0>A>>>0?1:h)+p|0,_=v,k=A,A=A+C|0,h=k>>>0>A>>>0?h+1|0:h,k=h,o=(p|0)==(h|0)&A>>>0>>0|h>>>0

>>0,u=o,o=o+D|0,_=u>>>0>o>>>0?_+1|0:_,u=_;r:{if((_|0)==131071|_>>>0<131071){G0=Q0|I0,X0=E|F0,U1(w+80|0,A,h,o,_,n,t,a,H),_=i[w+84>>2],C=_,h=e<<17,p=0,W=i[w+88>>2],r=p-W|0,e=i[w+80>>2],_=(_|e)!=0,v=r-_|0,Z=(h-(i[w+92>>2]+(p>>>0>>0)|0)|0)-(r>>>0<_>>>0)|0,W=0-(((e|0)!=0)+C|0)|0,C=p0+16382|0,p=0-e|0;break r}A=(k&1)<<31|A>>>1,k=o<<31|k>>>1,o=(u&1)<<31|o>>>1,u=u>>>1|0,U1(w+96|0,A,k,o,u,n,t,a,H),v=i[w+100>>2],z=v,Z=0,C=i[w+104>>2],p=Z-C|0,_=i[w+96>>2],W=(v|_)!=0,v=p-W|0,Z=((e<<16)-(i[w+108>>2]+(Z>>>0>>0)|0)|0)-(p>>>0>>0)|0,W=0-(((_|0)!=0)+z|0)|0,h0=e,z=r,C=p0+16383|0,p=0-_|0}if((C|0)>=32767){y=y|2147418112,e=0,r=0;break i}r:{if((C|0)>0){e=v<<1|W>>>31,r=Z<<1|v>>>31,v=o,Z=u&65535|C<<16,_=W<<1|p>>>31,o=p<<1;break r}if((C|0)<=-113){e=0,r=0;break i}ti(w- -64|0,A,k,o,u,1-C|0),L1(w+48|0,h0,z,G0,X0,C+112|0),A=i[w+64>>2],k=i[w+68>>2],v=i[w+72>>2],Z=i[w+76>>2],U1(w+32|0,n,t,a,H,A,k,v,Z),e=i[w+40>>2],r=i[w+56>>2],u=i[w+36>>2],W=e<<1|u>>>31,_=r-W|0,W=i[w+60>>2]-((i[w+44>>2]<<1|e>>>31)+(r>>>0>>0)|0)|0,r=i[w+52>>2],C=r,e=i[w+32>>2],o=u<<1|e>>>31,p=e<<1,e=p,h=i[w+48>>2],r=(r|0)==(o|0)&e>>>0>h>>>0|r>>>0>>0,e=_-r|0,r=W-(r>>>0>_>>>0)|0,_=C-((h>>>0

>>0)+o|0)|0,o=h-p|0}U1(w+16|0,n,t,a,H,3,0,0,0),U1(w,n,t,a,H,5,0,0,0),p=A,W=A&1,u=W,A=o+u|0,h=0,o=h+_|0,o=A>>>0>>0?o+1|0:o,u=A,t=(t|0)==(o|0)&A>>>0>n>>>0|t>>>0>>0,_=r,A=(o|0)==(h|0)&A>>>0>>0|o>>>0>>0,n=e+A|0,_=A>>>0>n>>>0?_+1|0:_,h=k,e=(_|0)==(H|0),e=e&(n|0)==(a|0)?t:e&n>>>0>a>>>0|_>>>0>H>>>0,r=e,e=e+p|0,h=r>>>0>e>>>0?h+1|0:h,r=h,A=(k|0)==(h|0)&e>>>0

>>0|k>>>0>h>>>0,h=Z,k=A,A=A+v|0,h=k>>>0>A>>>0?h+1|0:h,t=A,k=i[w+20>>2],v=(k|0)==(o|0)&k0[w+16>>2]>>0|k>>>0>>0,k=i[w+28>>2],A=i[w+24>>2],k=h>>>0<2147418112&((A|0)==(n|0)&(k|0)==(_|0)?v:(k|0)==(_|0)&A>>>0>>0|k>>>0<_>>>0),A=r,v=k,k=e+k|0,A=v>>>0>k>>>0?A+1|0:A,e=(r|0)==(A|0)&e>>>0>k>>>0|r>>>0>A>>>0,r=e,e=e+t|0,h=r>>>0>e>>>0?h+1|0:h,t=e,r=i[w+4>>2],o=(r|0)==(o|0)&k0[w>>2]>>0|r>>>0>>0,r=i[w+12>>2],e=i[w+8>>2],e=h>>>0<2147418112&((e|0)==(n|0)&(r|0)==(_|0)?o:(r|0)==(_|0)&e>>>0>>0|r>>>0<_>>>0),r=e,e=e+k|0,_=r>>>0>e>>>0?A+1|0:A,r=_,k=(A|0)==(_|0)&e>>>0>>0|A>>>0>_>>>0,A=h,n=k,k=k+t|0,A=n>>>0>k>>>0?A+1|0:A,I=k|I,y=A|y}i[f>>2]=e,i[f+4>>2]=r,i[f+8>>2]=I,i[f+12>>2]=y,B=w+336|0}function Ds(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0;u=B-160|0,B=u;i:{if(!(n&&r)){if(l[u+124|0]=0,l[u+135|0]=0,r=f,f=r0(u+72|0,5,2001,u+124|0),P0(r,f,i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),l[u+135|0]>=0)break i;G(i[u+124>>2]);break i}if(!(k&&A)){if(l[u+124|0]=0,l[u+135|0]=0,r=f,f=r0(u+72|0,5,2006,u+124|0),P0(r,f,i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),l[u+135|0]>=0)break i;G(i[u+124>>2]);break i}l[u+129|0]=0,l[u+130|0]=0,l[u+131|0]=0,l[u+132|0]=0,X[u+126>>1]=0,X[u+128>>1]=0,X[u+124>>1]=263,l[u+156|0]=1,l[u+152|0]=0,i[u+144>>2]=2,i[u+148>>2]=2,l[u+140|0]=1,i[u+136>>2]=1;r:{if(!t)break r;e:{A:switch(s[t|0]-1|0){case 1:l[u+126|0]=s[t+2|0],l[u+125|0]=s[t+1|0];break e;case 0:l[u+125|0]=s[t+1|0];break e;case 6:l[u+156|0]=s[t+32|0];case 5:v=i[t+20>>2],i[u+140>>2]=i[t+16>>2],i[u+144>>2]=v,v=i[t+28>>2],i[u+148>>2]=i[t+24>>2],i[u+152>>2]=v;case 4:i[u+136>>2]=i[t+12>>2];case 3:v=i[t+4>>2],i[u+128>>2]=v,l[u+132|0]=s[t+8|0];break;case 2:break A;default:break e}if(l[u+127|0]=s[t+3|0],l[u+126|0]=s[t+2|0],l[u+125|0]=s[t+1|0],v)break r}if(t=i[i[r>>2]>>2],v=i[t+44>>2],t=i[t+48>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),v&&(l[u+72|0]=1,i[u+128>>2]=u+72,i[u+76>>2]=Q[v+4>>1],i[u+80>>2]=Q[v+6>>1],i[u+84>>2]=Q[v+8>>1],l[u+88|0]=s[v+10|0]),!t||(v=i[t+4>>2],i[t+4>>2]=v-1,v))break r;V[i[i[t>>2]+8>>2]](t),g(t)}if(t=0,i[u+68>>2]=0,i[u+60>>2]=0,i[u+64>>2]=0,w=m(A,k),w)for(v=0;;){_=i[(v<<2)+r>>2];r:{if(k0[u+68>>2]>t>>>0){i[t>>2]=i[_>>2],_=i[_+4>>2],i[t+4>>2]=_,_&&(i[_+4>>2]=i[_+4>>2]+1),t=t+8|0;break r}t=Q2(u+60|0,_)}if(i[u+64>>2]=t,v=v+1|0,(w|0)==(v|0))break}W=u+40|0,r=W,i[r>>2]=0,i[r+4>>2]=0,i[r+16>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,i[u+32>>2]=0,i[u+36>>2]=0,C=i[e>>2],y=u+124|0,w=B+-64|0,B=w,t=m(y4(i[i[u+60>>2]>>2],10),A),v=m(F4(i[i[u+60>>2]>>2],10),k),r=t>>>0>65535|v>>>0>65535,_=r?12:8,h=U(_),i[w+52>>2]=h,Z=h+_|0,i[w+60>>2]=Z,h=B0(h,0,_),i[w+56>>2]=Z,l[h+3|0]=A-1,l[h+2|0]=k-1,l[h+1|0]=r,l[h|0]=0;r:{if(r){r=v<<24|(v&65280)<<8|(v>>>8&65280|v>>>24),l[h+8|0]=r,l[h+9|0]=r>>>8,l[h+10|0]=r>>>16,l[h+11|0]=r>>>24,p=t>>>24|0,r=t,_=r>>>16|0;break r}p=t>>>8|0,r=v,_=t}l[h+7|0]=r,l[h+5|0]=_,l[h+4|0]=p,l[h+6|0]=r>>>8,i[u+8>>2]=0,i[u+12>>2]=0,i[u+24>>2]=0,i[u+16>>2]=0,i[u+20>>2]=0,r=0,i[w+48>>2]=0,i[w+40>>2]=0,i[w+44>>2]=0;r:{if(I=m(A,k),!I)break r;e:{for(;;){i[w+32>>2]=0,i[w+36>>2]=0,BA(w+8|0,C,i[u+60>>2]+(r<<3)|0,n,y,1,w+32|0),A=i[w+12>>2],i[u+8>>2]=i[w+8>>2],i[u+12>>2]=A,l[u+27|0]<0&&G(i[u+16>>2]),A=i[w+20>>2],i[u+16>>2]=i[w+16>>2],i[u+20>>2]=A,i[u+24>>2]=i[w+24>>2],fe(w+8|0,i[C+48>>2],i[i[w+32>>2]+20>>2]),A=i[w+8>>2],l[A+124|0]=1,i[A+52>>2]=i[A+52>>2]&-2|1,A=i[w+12>>2];A:{if(!A||(k=i[A+4>>2],i[A+4>>2]=k-1,k))break A;V[i[i[A>>2]+8>>2]](A),g(A)}k=i[i[w+32>>2]+20>>2];A:{h=i[w+44>>2],_=i[w+48>>2];f:{if(h>>>0<_>>>0){i[h>>2]=k,k=h+4|0;break f}if(Z=i[w+40>>2],p=h-Z>>2,A=p+1|0,A>>>0>=1073741824)break A;if(E=p<<2,_=_-Z|0,p=_>>1,p=_>>>0>=2147483644?1073741823:A>>>0

>>0?p:A,p){if(p>>>0>=1073741824)break e;_=U(p<<2)}else _=0;if(A=E+_|0,i[A>>2]=k,k=A+4|0,(h|0)!=(Z|0))for(;A=A-4|0,h=h-4|0,i[A>>2]=i[h>>2],(h|0)!=(Z|0););if(i[w+48>>2]=_+(p<<2),i[w+44>>2]=k,i[w+40>>2]=A,!Z)break f;G(Z)}i[w+44>>2]=k,A=i[w+36>>2];f:{if(!A||(k=i[A+4>>2],i[A+4>>2]=k-1,k))break f;V[i[i[A>>2]+8>>2]](A),g(A)}if(r=r+1|0,(I|0)!=(r|0))continue;break r}break}y0(),P()}_2(),P()}Z=Ri(i[C+48>>2],11836),h=U(360),r=h,i[r+16>>2]=0,i[r+20>>2]=0,i[r>>2]=72656,i[r+4>>2]=0,i[r+8>>2]=0,l[r+152|0]=0,i[r+36>>2]=Z,i[r+32>>2]=C,i[r+28>>2]=34648,i[r+40>>2]=0,i[r+44>>2]=0,i[r+52>>2]=0,i[r+56>>2]=0,i[r+68>>2]=0,i[r+72>>2]=0,i[r+80>>2]=0,i[r+84>>2]=0,i[r+156>>2]=0,i[r+160>>2]=0,i[r+24>>2]=0,X[r+48>>1]=0,X[r+58>>1]=0,X[r+60>>1]=0,X[r+62>>1]=0,X[r+64>>1]=0,l[r+76|0]=0,l[r+88|0]=0,i[r+204>>2]=0,i[r+196>>2]=0,i[r+200>>2]=0,i[r+188>>2]=0,i[r+192>>2]=0,i[r+180>>2]=0,i[r+184>>2]=0,i[r+172>>2]=0,i[r+176>>2]=0,i[r+164>>2]=0,i[r+168>>2]=0,i[r+212>>2]=0,i[r+216>>2]=0,l[r+208|0]=1,l[r+217|0]=0,l[r+218|0]=0,l[r+219|0]=0,l[r+220|0]=0,l[r+221|0]=0,l[r+222|0]=0,l[r+223|0]=0,l[r+224|0]=0,i[r+232>>2]=0,i[r+236>>2]=0,i[r+240>>2]=0,i[r+244>>2]=0,i[r+248>>2]=0,i[r+252>>2]=0,i[r+256>>2]=0,i[r+260>>2]=0,i[r+264>>2]=0,i[r+268>>2]=0,l[r+272|0]=0,B0(r+280|0,0,80),i[r+296>>2]=0,i[r+300>>2]=0,l[r+292|0]=1,i[r+304>>2]=0,i[r+308>>2]=0,i[r+312>>2]=0,i[r+316>>2]=0,i[r+328>>2]=0,i[r+332>>2]=0,i[r+320>>2]=0,i[r+324>>2]=1072693248,i[r+336>>2]=0,i[r+340>>2]=0,i[r+344>>2]=0,i[r+348>>2]=0,i[r+352>>2]=0,i[r+96>>2]=0,i[r+100>>2]=0,i[r+104>>2]=0,i[r+108>>2]=0,i[r+112>>2]=0,i[r+116>>2]=0,i[r+120>>2]=0,i[r+124>>2]=0,i[r+128>>2]=0,i[r+132>>2]=0,i[r+136>>2]=0,i[r+140>>2]=0,i[r+144>>2]=0,i[r+148>>2]=0,p=r+16|0,i[u+32>>2]=p,A=i[u+36>>2],i[u+36>>2]=r;r:{e:{if(!A){_=C+16|0;break e}if(r=i[A+4>>2],i[A+4>>2]=r-1,r||(V[i[i[A>>2]+8>>2]](A),g(A)),_=C+16|0,p=i[u+32>>2],h=i[u+36>>2],h)break e;h=0;break r}i[h+4>>2]=i[h+4>>2]+1}r:{e:{r=i[_+4>>2];A:{if(!r){k=_+4|0,A=k;break A}for(;;){if(A=r,k=i[r+16>>2],k>>>0>Z>>>0){if(k=r,r=i[r>>2],r)continue;break A}if(k>>>0>=Z>>>0)break e;if(r=i[A+4>>2],!r)break}k=A+4|0}r=U(28),i[r+24>>2]=h,i[r+20>>2]=p,i[r+16>>2]=Z,i[r+8>>2]=A,i[r>>2]=0,i[r+4>>2]=0,i[k>>2]=r,A=i[i[_>>2]>>2],A&&(i[_>>2]=A,r=i[k>>2]),D1(i[_+4>>2],r),i[_+8>>2]=i[_+8>>2]+1;break r}if(!h||(r=i[h+4>>2],i[h+4>>2]=r-1,r))break r;V[i[i[h>>2]+8>>2]](h),g(h)}hi(i[C+48>>2],Z,w+52|0,1),P1(i[C+48>>2],Z,1684630887,w+40|0),Vi(i[C+48>>2],Z,t,v),dn(i[C+48>>2],i[i[n>>2]+4>>2],s[i[u+32>>2]+192|0]),r=i[w+40>>2],r&&(i[w+44>>2]=r,G(r)),r=i[w+52>>2],r&&(i[w+56>>2]=r,G(r)),B=w- -64|0,A=i[u+12>>2],r=i[u+8>>2],i[W>>2]=r,i[W+4>>2]=A,l[W+19|0]<0&&(G(i[W+8>>2]),r=i[W>>2]),A=i[u+20>>2],i[W+8>>2]=i[u+16>>2],i[W+12>>2]=A,i[W+16>>2]=i[u+24>>2],A=i[e>>2];r:{if((r|0)!=i[19564]){P0(f,W,A);break r}i[A+40>>2]||s3(A,u+32|0);e:{if(!o)break e;k=U(16),r=k,i[r>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,i[o>>2]=r,n=i[u+32>>2],A=i[u+36>>2];A:{if(!A){i[r+4>>2]=A,i[r>>2]=n;break A}if(i[A+4>>2]=i[A+4>>2]+1,i[k>>2]=n,r=i[k+4>>2],i[k+4>>2]=A,!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break A;V[i[i[r>>2]+8>>2]](r),g(r)}if(k=i[e>>2],r=i[o>>2],A=i[e+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+8>>2]=k,e=i[r+12>>2],i[r+12>>2]=A,!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break e;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}f=i[u+36>>2];r:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(l[W+19|0]<0&&G(i[W+8>>2]),f=i[u+60>>2],!f)break i;if(t=i[u+64>>2],v=f,(t|0)!=(v|0)){for(;;){e=i[t-4>>2];r:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break r;V[i[i[e>>2]+8>>2]](e),g(e)}if(t=t-8|0,(f|0)==(t|0))break}v=i[u+60>>2]}i[u+64>>2]=f,G(v)}B=u+160|0}function Us(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;n=B+-64|0,B=n,c7(n+44|0,e,r),l[n+63|0]<0&&G(i[n+52>>2]),A=B2(r),o=A&1,l[e+57|0]=o,l[e+56|0]=A>>>1&3;i:{r:{e:{if(o){if(A=t2(r),l[e+62|0]=A&3,X[e+58>>1]=A>>>7,l[e+61|0]=A>>>2&3,l[e+60|0]=A>>>4&7,p=e,W=B2(r)>>>5|0,l[p+63|0]=W,A=B2(r)&63,l[e+64|0]=A,!A){if(e=U(56),i[n+28>>2]=e,i[n+32>>2]=54,i[n+36>>2]=-2147483592,r=s[18018]|s[18019]<<8|(s[18020]<<16|s[18021]<<24),A=s[18014]|s[18015]<<8|(s[18016]<<16|s[18017]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+54|0]=0,r=s[18064]|s[18065]<<8|(s[18066]<<16|s[18067]<<24),A=s[18060]|s[18061]<<8|(s[18062]<<16|s[18063]<<24),l[e+46|0]=A,l[e+47|0]=A>>>8,l[e+48|0]=A>>>16,l[e+49|0]=A>>>24,l[e+50|0]=r,l[e+51|0]=r>>>8,l[e+52|0]=r>>>16,l[e+53|0]=r>>>24,r=s[18058]|s[18059]<<8|(s[18060]<<16|s[18061]<<24),A=s[18054]|s[18055]<<8|(s[18056]<<16|s[18057]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[18050]|s[18051]<<8|(s[18052]<<16|s[18053]<<24),A=s[18046]|s[18047]<<8|(s[18048]<<16|s[18049]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[18042]|s[18043]<<8|(s[18044]<<16|s[18045]<<24),A=s[18038]|s[18039]<<8|(s[18040]<<16|s[18041]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[18034]|s[18035]<<8|(s[18036]<<16|s[18037]<<24),A=s[18030]|s[18031]<<8|(s[18032]<<16|s[18033]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[18026]|s[18027]<<8|(s[18028]<<16|s[18029]<<24),A=s[18022]|s[18023]<<8|(s[18024]<<16|s[18025]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,2006,n+28|0),l[n+39|0]>=0)break e;G(i[n+28>>2]);break e}A=B2(r),l[e+66|0]=A&1,l[e+65|0]=A>>>1,p=e,W=B2(r),l[p+67|0]=W;A:{if(!s[e+64|0])break A;for(;;){A=B2(r),h||(l[e+68|0]=A>>>7,l[e+69|0]=A>>>6&1,A=A&63);f:{u=i[e+76>>2],k=i[e+80>>2];k:{if(u>>>0>>0){l[u|0]=A,_=u+1|0;break k}if(t=i[e+72>>2],w=u-t|0,o=w+1|0,(o|0)<0)break f;k=k-t|0,_=k<<1,_=k>>>0>=1073741823?2147483647:o>>>0<_>>>0?_:o,_?k=U(_):k=0,o=w+k|0,l[o|0]=A,Z=k+_|0,_=o+1|0;n:{if((t|0)==(u|0)){k=o;break n}if(v=0,A=u,w=w&3,w)for(;o=o-1|0,A=A-1|0,l[o|0]=s[A|0],v=v+1|0,(w|0)!=(v|0););if(t-u>>>0<=4294967292)for(;l[o-1|0]=s[A-1|0],l[o-2|0]=s[A-2|0],l[o-3|0]=s[A-3|0],o=o-4|0,A=A-4|0,l[o|0]=s[A|0],(A|0)!=(t|0););t=i[e+72>>2]}if(i[e+80>>2]=Z,i[e+76>>2]=_,i[e+72>>2]=k,!t)break k;G(t)}if(i[e+76>>2]=_,h=h+1|0,h>>>0>>0<=1||(kn(e+84|0,h-1|0),u=B2(r),h=s[e+60|0],h>>>0<2))break A;for(A=h-2|0,w=i[e+84>>2],o=128;k=1<>>3&536870908)|0,o&u?k=k|i[t>>2]:k=i[t>>2]&(k^-1),i[t>>2]=k,o=o>>>1|0,k=(A|0)>0,A=A-1|0,!!k;);}o=e+96|0,k=i[e+96>>2],A=i[e+100>>2]-k|0;A:{if(A>>>0>>0){L2(o,h-A|0),h=s[e+60|0];break A}if(A>>>0<=h>>>0)break A;i[e+100>>2]=k+h}A=h&255;A:{if(!A||(l[(A+i[e+96>>2]|0)-1|0]=s[e+67|0],A=s[e+60|0],A>>>0<2))break A;for(A=A-2|0;;){f:{if(i[i[e+84>>2]+(A>>>3&536870908)>>2]>>>A&1){k=B2(r),l[i[o>>2]+A|0]=k;break f}k=i[o>>2]+A|0,l[k|0]=s[k+1|0]}if(k=(A|0)>0,A=A-1|0,!k)break}}if(h=B2(r),h)for(_=0;;){t=D0(r),A=i[e+112>>2],k=i[e+116>>2];A:{if(A>>>0>>0){i[A>>2]=t,t=A+4|0;break A}if(u=i[e+108>>2],v=A-u>>2,o=v+1|0,o>>>0>=1073741824)break r;if(k=k-u|0,w=k>>1,w=k>>>0>=2147483644?1073741823:o>>>0>>0?w:o,w){if(w>>>0>=1073741824)break i;k=U(w<<2)}else k=0;if(o=k+(v<<2)|0,i[o>>2]=t,t=o+4|0,(A|0)!=(u|0))for(;o=o-4|0,A=A-4|0,i[o>>2]=i[A>>2],(A|0)!=(u|0););if(i[e+116>>2]=k+(w<<2),i[e+112>>2]=t,i[e+108>>2]=o,!u)break A;G(u)}if(i[e+112>>2]=t,_=_+1|0,(h|0)==(_|0))break}p=e,W=t2(r),X[p+120>>1]=W,p=e,W=t2(r),X[p+122>>1]=W,p=e,W=t2(r),X[p+124>>1]=W}w=B2(r);A:{if(!w)break A;for(_=e+128|0,v=n+32|0,h=0;;){if(s[r+20|0])break A;A=B2(r),o=0,i[n+40>>2]=0,i[n+32>>2]=0,i[n+36>>2]=0,l[n+29|0]=A&63,l[n+28|0]=A>>>7,u=t2(r);f:{k:{if(!u)break k;for(;;){if(s[r+20|0])break k;i[n+24>>2]=0,i[n+16>>2]=0,i[n+20>>2]=0,k=t2(r),t=19;n:{if(!k)break n;t:{if(!T4(r,k))break t;t=i[n+16>>2],A=i[n+20>>2]-t|0;o:{if(A>>>0>>0){L2(n+16|0,k-A|0);break o}if(A>>>0<=k>>>0)break o;i[n+20>>2]=k+t}t=i[r>>2],A=i[r+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),k=V[i[i[t>>2]+16>>2]](t,i[n+16>>2],k)|0;o:{if(!A||(t=i[A+4>>2],i[A+4>>2]=t-1,t))break o;V[i[i[A>>2]+8>>2]](A),g(A)}if(k)break t;A=U(32),i[n+4>>2]=A,i[n+8>>2]=28,i[n+12>>2]=-2147483616,k=s[2134]|s[2135]<<8|(s[2136]<<16|s[2137]<<24),t=s[2130]|s[2131]<<8|(s[2132]<<16|s[2133]<<24),l[A|0]=t,l[A+1|0]=t>>>8,l[A+2|0]=t>>>16,l[A+3|0]=t>>>24,l[A+4|0]=k,l[A+5|0]=k>>>8,l[A+6|0]=k>>>16,l[A+7|0]=k>>>24,l[A+28|0]=0,k=s[2154]|s[2155]<<8|(s[2156]<<16|s[2157]<<24),l[A+24|0]=k,l[A+25|0]=k>>>8,l[A+26|0]=k>>>16,l[A+27|0]=k>>>24,k=s[2150]|s[2151]<<8|(s[2152]<<16|s[2153]<<24),t=s[2146]|s[2147]<<8|(s[2148]<<16|s[2149]<<24),l[A+16|0]=t,l[A+17|0]=t>>>8,l[A+18|0]=t>>>16,l[A+19|0]=t>>>24,l[A+20|0]=k,l[A+21|0]=k>>>8,l[A+22|0]=k>>>16,l[A+23|0]=k>>>24,k=s[2142]|s[2143]<<8|(s[2144]<<16|s[2145]<<24),t=s[2138]|s[2139]<<8|(s[2140]<<16|s[2141]<<24),l[A+8|0]=t,l[A+9|0]=t>>>8,l[A+10|0]=t>>>16,l[A+11|0]=t>>>24,l[A+12|0]=k,l[A+13|0]=k>>>8,l[A+14|0]=k>>>16,l[A+15|0]=k>>>24,r0(f,2,100,n+4|0),l[n+15|0]<0&&G(i[n+4>>2]),t=1;break n}A=i[n+36>>2];t:{if(A>>>0>2]){i[A+8>>2]=0,i[A>>2]=0,i[A+4>>2]=0,i[A>>2]=i[n+16>>2],i[A+4>>2]=i[n+20>>2],i[A+8>>2]=i[n+24>>2],i[n+24>>2]=0,i[n+16>>2]=0,i[n+20>>2]=0,k=A+12|0;break t}k=NA(v,n+16|0)}i[n+36>>2]=k,t=0}if(A=i[n+16>>2],A&&(i[n+20>>2]=A,G(A)),(t|0)!=19&&t)break f;if(o=o+1|0,(u|0)==(o|0))break}}A=i[e+132>>2];k:{if(A>>>0>2]){o=Q[n+28>>1],i[A+12>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,X[A>>1]=o,i[A+4>>2]=i[n+32>>2],i[A+8>>2]=i[n+36>>2],i[A+12>>2]=i[n+40>>2],i[n+40>>2]=0,i[n+32>>2]=0,i[n+36>>2]=0,k=A+16|0;break k}k=Fn(_,n+28|0)}i[e+132>>2]=k,t=0}if(k=i[n+32>>2],k){if(A=k,o=i[n+36>>2],(A|0)!=(o|0)){for(;A=o-12|0,u=i[A>>2],u&&(i[o-8>>2]=u,G(u)),o=A,(A|0)!=(k|0););A=i[n+32>>2]}i[n+36>>2]=k,G(A)}if(t)break e;if(h=h+1|0,(w|0)==(h|0))break}}if(s[r+20|0]==1){if(l[n+28|0]=0,l[n+39|0]=0,r0(f,2,100,n+28|0),l[n+39|0]>=0)break e;G(i[n+28>>2]);break e}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break e}_0(f,i[19566],i[19567])}B=n- -64|0;return}y0(),P()}_2(),P()}function Zk(){var f=0,e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0;i:{if(D=Z2(11296),D)for(e=B0(D,255,11296),f=e+1056|0,i[23908]=f,i[23904]=f,i[23903]=e+992,i[23902]=e+928,i[23901]=e+864,i[23900]=e+800,i[23899]=e+736,i[23898]=e+672,i[23897]=e+608,i[23896]=e+544,i[23895]=e+480,i[23894]=e+416,i[23893]=e+352,i[23892]=e+288,i[23891]=e+224,i[23890]=e+160,i[23889]=e+96,i[23888]=e+32,f=e+16|0,i[23887]=f,i[23886]=f,i[23885]=f,i[23884]=f,i[23883]=f,i[23882]=f,i[23881]=f,i[23880]=f,i[23879]=e,i[23878]=e,i[23877]=e,i[23876]=e,i[23875]=e,i[23874]=e,i[23873]=e,i[23872]=e,f=e+1312|0,i[23909]=f,i[23905]=f,f=e+1568|0,i[23910]=f,i[23906]=f,f=e+2080|0,i[23916]=f,i[23912]=f,f=e+1824|0,i[23911]=f,i[23907]=f,f=e+2336|0,i[23917]=f,i[23913]=f,f=e+2592|0,i[23918]=f,i[23914]=f,f=e+3104|0,i[23924]=f,i[23920]=f,f=e+2848|0,i[23919]=f,i[23915]=f,f=e+4128|0,i[23925]=f,i[23921]=f,f=e+5152|0,i[23926]=f,i[23922]=f,f=e+7200|0,i[23932]=f,i[23928]=f,f=e+6176|0,i[23927]=f,i[23923]=f,f=e+8224|0,i[23933]=f,i[23929]=f,f=e+9248|0,i[23934]=f,i[23930]=f,e=e+10272|0,i[23935]=e,i[23931]=e,_=2;;){J=_-2|0,o=1<<_;r:{if((_|0)!=2){for(C=(_|0)==3,w=C?11:14,R=0,e=1;;){for(W=1,f=0;;){for(I=((J<<6)+(R<<5)|0)+(f<<4)|0,Z=I+95488|0,y=W&1?9:15,u=0;;){for(E=u&3,n=u<<_,f=0;;){A=f|u,r=0;e:{if(!A)break e;if(r=E+(f&3)|0,h=r>>>0<=2?r?1:2:0,e){if(h=A>>>0<4?h:h+3|0,r=h+y|0,(_|0)==3)break e;r=h+21|0;break e}if(r=h+9|0,(_|0)==3)break e;r=h|12}if(h=n+(i[Z>>2]+f|0)|0,A=s[h|0],r=e?r:r+27|0,(A|0)!=255&(r|0)!=(A|0))break i;if(l[h|0]=r,f=f+1|0,(o|0)==(f|0))break}if(u=u+1|0,(u|0)==(o|0))break}for(n=I+95492|0,u=0;;){for(f=u&3,h=f?(f|0)==1:2,A=C?h+9|0:h|12,t=h+3|0,k=u<<_,f=0;;){Z=f|u,r=Z?A:0,E=!e;e:{if(E|!Z)break e;if(r=Z>>>0<4?h:t,!C){r=r+21|0;break e}r=r+y|0}if(Z=k+(i[n>>2]+f|0)|0,v=s[Z|0],r=e?r:r+27|0,(v|0)!=255&(r|0)!=(v|0))break i;if(l[Z|0]=r,f=f+1|0,(o|0)==(f|0))break}if(u=u+1|0,(u|0)==(o|0))break}for(Z=I+95496|0,u=0;;){for(n=u<<_,f=0;;){A=f|u,r=0;e:{if(!A)break e;if(r=f&3,h=r?(r|0)==1:2,!e){if(r=h|12,!C)break e;r=h+9|0;break e}if(h=A>>>0<4?h:h+3|0,r=h+21|0,!C)break e;r=h+y|0}if(h=n+(i[Z>>2]+f|0)|0,A=s[h|0],r=e?r:r+27|0,(A|0)!=255&(r|0)!=(A|0))break i;if(l[h|0]=r,f=f+1|0,(o|0)==(f|0))break}if(u=u+1|0,(u|0)==(o|0))break}for(I=I+95500|0,u=0;;){for(Z=u<<_,f=0;;){h=f|u,r=h?w:0;e:{if(E|!h)break e;if(r=h>>>0<4?2:5,!C){r=r+21|0;break e}r=r+y|0}if(h=Z+(i[I>>2]+f|0)|0,n=s[h|0],r=e?r:r+27|0,(n|0)!=255&(r|0)!=(n|0))break i;if(l[h|0]=r,f=f+1|0,(o|0)==(f|0))break}if(u=u+1|0,(u|0)==(o|0))break}if(f=1,r=W&1,W=0,!r)break}if(R=1,f=e,e=0,!f)break}break r}for(u=J<<6,C=u+95516|0,y=u+95512|0,h=u+95508|0,I=u+95504|0,J=u+95500|0,R=u+95496|0,Z=u+95492|0,E=u+95488|0,W=0;;){e=0;e:{if(W){for(r=u+(W<<5)|0,w=r+95488|0;;){for(n=e<<2,A=e<<_,f=0;;){if(t=A+(i[w>>2]+f|0)|0,k=s[t|0],p=(k|0)!=255,v=k,k=s[(f+n|0)+45792|0]+27|0,p&(v|0)!=(k|0))break i;if(l[t|0]=k,f=f+1|0,(o|0)==(f|0))break}if(e=e+1|0,(o|0)==(e|0))break}for(w=r+95492|0,e=0;;){for(n=e<<2,A=e<<_,f=0;;){if(t=A+(i[w>>2]+f|0)|0,k=s[t|0],p=(k|0)!=255,v=k,k=s[(f+n|0)+45792|0]+27|0,p&(v|0)!=(k|0))break i;if(l[t|0]=k,f=f+1|0,(o|0)==(f|0))break}if(e=e+1|0,(o|0)==(e|0))break}for(w=r+95496|0,e=0;;){for(n=e<<2,A=e<<_,f=0;;){if(t=A+(i[w>>2]+f|0)|0,k=s[t|0],p=(k|0)!=255,v=k,k=s[(f+n|0)+45792|0]+27|0,p&(v|0)!=(k|0))break i;if(l[t|0]=k,f=f+1|0,(o|0)==(f|0))break}if(e=e+1|0,(o|0)==(e|0))break}for(w=r+95500|0,e=0;;){for(n=e<<2,A=e<<_,f=0;;){if(t=A+(i[w>>2]+f|0)|0,k=s[t|0],p=(k|0)!=255,v=k,k=s[(f+n|0)+45792|0]+27|0,p&(v|0)!=(k|0))break i;if(l[t|0]=k,f=f+1|0,(o|0)==(f|0))break}if(e=e+1|0,(o|0)==(e|0))break}for(w=r+95504|0,e=0;;){for(n=e<<2,A=e<<_,f=0;;){if(t=A+(i[w>>2]+f|0)|0,k=s[t|0],p=(k|0)!=255,v=k,k=s[(f+n|0)+45792|0]+27|0,p&(v|0)!=(k|0))break i;if(l[t|0]=k,f=f+1|0,(o|0)==(f|0))break}if(e=e+1|0,(o|0)==(e|0))break}for(w=r+95508|0,e=0;;){for(n=e<<2,A=e<<_,f=0;;){if(t=A+(i[w>>2]+f|0)|0,k=s[t|0],p=(k|0)!=255,v=k,k=s[(f+n|0)+45792|0]+27|0,p&(v|0)!=(k|0))break i;if(l[t|0]=k,f=f+1|0,(o|0)==(f|0))break}if(e=e+1|0,(o|0)==(e|0))break}for(w=r+95512|0,e=0;;){for(n=e<<2,A=e<<_,f=0;;){if(t=A+(i[w>>2]+f|0)|0,k=s[t|0],p=(k|0)!=255,v=k,k=s[(f+n|0)+45792|0]+27|0,p&(v|0)!=(k|0))break i;if(l[t|0]=k,f=f+1|0,(o|0)==(f|0))break}if(e=e+1|0,(o|0)==(e|0))break}for(r=r+95516|0,e=0;;){for(w=e<<2,n=e<<_,f=0;;){if(A=n+(i[r>>2]+f|0)|0,t=s[A|0],v=(t|0)!=255,k=t,t=s[(f+w|0)+45792|0]+27|0,v&(k|0)!=(t|0))break i;if(l[A|0]=t,f=f+1|0,(o|0)==(f|0))break}if(e=e+1|0,(o|0)==(e|0))break}break e}for(;;){for(r=e<<2,w=e<<_,f=0;;){if(n=w+(i[E>>2]+f|0)|0,A=s[n|0],t=(A|0)!=255,k=A,A=s[(f+r|0)+45792|0],t&(k|0)!=(A|0))break i;if(l[n|0]=A,f=f+1|0,(o|0)==(f|0))break}if(r=0,e=e+1|0,(o|0)==(e|0))break}for(;;){for(e=r<<2,w=r<<_,f=0;;){if(n=w+(i[Z>>2]+f|0)|0,A=s[n|0],t=(A|0)!=255,k=A,A=s[(f+e|0)+45792|0],t&(k|0)!=(A|0))break i;if(l[n|0]=A,f=f+1|0,(o|0)==(f|0))break}if(e=0,r=r+1|0,(o|0)==(r|0))break}for(;;){for(r=e<<2,w=e<<_,f=0;;){if(n=w+(i[R>>2]+f|0)|0,A=s[n|0],t=(A|0)!=255,k=A,A=s[(f+r|0)+45792|0],t&(k|0)!=(A|0))break i;if(l[n|0]=A,f=f+1|0,(o|0)==(f|0))break}if(r=0,e=e+1|0,(o|0)==(e|0))break}for(;;){for(e=r<<2,w=r<<_,f=0;;){if(n=w+(i[J>>2]+f|0)|0,A=s[n|0],t=(A|0)!=255,k=A,A=s[(f+e|0)+45792|0],t&(k|0)!=(A|0))break i;if(l[n|0]=A,f=f+1|0,(o|0)==(f|0))break}if(e=0,r=r+1|0,(o|0)==(r|0))break}for(;;){for(r=e<<2,w=e<<_,f=0;;){if(n=w+(i[I>>2]+f|0)|0,A=s[n|0],t=(A|0)!=255,k=A,A=s[(f+r|0)+45792|0],t&(k|0)!=(A|0))break i;if(l[n|0]=A,f=f+1|0,(o|0)==(f|0))break}if(r=0,e=e+1|0,(o|0)==(e|0))break}for(;;){for(e=r<<2,w=r<<_,f=0;;){if(n=w+(i[h>>2]+f|0)|0,A=s[n|0],t=(A|0)!=255,k=A,A=s[(f+e|0)+45792|0],t&(k|0)!=(A|0))break i;if(l[n|0]=A,f=f+1|0,(o|0)==(f|0))break}if(e=0,r=r+1|0,(o|0)==(r|0))break}for(;;){for(r=e<<2,w=e<<_,f=0;;){if(n=w+(i[y>>2]+f|0)|0,A=s[n|0],t=(A|0)!=255,k=A,A=s[(f+r|0)+45792|0],t&(k|0)!=(A|0))break i;if(l[n|0]=A,f=f+1|0,(o|0)==(f|0))break}if(r=0,e=e+1|0,(o|0)==(e|0))break}for(;;){for(e=r<<2,w=r<<_,f=0;;){if(n=w+(i[C>>2]+f|0)|0,A=s[n|0],t=(A|0)!=255,k=A,A=s[(f+e|0)+45792|0],t&(k|0)!=(A|0))break i;if(l[n|0]=A,f=f+1|0,(o|0)==(f|0))break}if(r=r+1|0,(o|0)==(r|0))break}}if(W=W+1|0,(W|0)==2)break}}if(_=_+1|0,(_|0)==6)break}return(D|0)!=0}C0(13703,14036,2114,10317),P()}function Ms(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;Z=B-32|0,B=Z,u=A,t=B-144|0,B=t,w=Z+12|0,v=i[e>>2],Zr(w,i[v+16>>2],i[v+20>>2],t+140|0);i:{if(i[w>>2])break i;A=i[i[v+16>>2]+48>>2],p=i[t+140>>2],n=B-32|0,B=n,i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,I1(n,A,p,n+20|0);r:{if(i[n>>2]){i[t+132>>2]=0,i[t+136>>2]=0;break r}e:{if(k=i[n+20>>2],h=i[n+24>>2],(k|0)!=(h|0)){if(A=i[k>>2],A&&(o=i[t+136>>2],A=N0(A,68572,69712),A))break e;if(k=k+8|0,(h|0)!=(k|0))for(;;){if(A=i[k>>2],A&&(o=0,A=N0(A,68572,69712),A))break e;if(k=k+8|0,(h|0)==(k|0))break}i[t+132>>2]=0,i[t+136>>2]=0}i[t+132>>2]=0,i[t+136>>2]=0;break r}if(i[t+136>>2]=o,i[t+132>>2]=A,A=i[k+4>>2],i[t+136>>2]=A,!A)break r;i[A+4>>2]=i[A+4>>2]+1}if(l[n+19|0]<0&&G(i[n+8>>2]),o=i[n+20>>2],o){if(A=o,k=i[n+24>>2],(A|0)!=(k|0)){for(;;){A=i[k-4>>2];r:{if(!A||(h=i[A+4>>2],i[A+4>>2]=h-1,h))break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(k=k-8|0,(o|0)==(k|0))break}A=i[n+20>>2]}i[n+24>>2]=o,G(A)}if(B=n+32|0,A=i[t+132>>2],!(!A|(i[A+60>>2]-i[A+56>>2]|0)!=1)){if(i[r>>2]=2,i[u>>2]=0,r=i[t+136>>2],!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r);break i}if(A=i[v+176>>2],h=i[v+180>>2],h&&(i[h+4>>2]=i[h+4>>2]+1),!(Q[A+8>>1]|!A)){i[r>>2]=1,i[u>>2]=3;r:{if(!h||(r=i[h+4>>2],i[h+4>>2]=r-1,r))break r;V[i[i[h>>2]+8>>2]](h),g(h)}if(r=i[t+136>>2],!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r);break i}o=0,i[r>>2]=0,i[u>>2]=99,r=i[i[v+16>>2]+48>>2],n=B-32|0,B=n,i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,I1(n,r,p,n+20|0);r:{if(i[n>>2]){i[t+124>>2]=0,i[t+128>>2]=0;break r}e:{if(k=i[n+20>>2],_=i[n+24>>2],(k|0)!=(_|0)){if(r=i[k>>2],r&&(A=i[t+128>>2],r=N0(r,68572,74292),r))break e;if(k=k+8|0,(_|0)!=(k|0))for(;;){if(r=i[k>>2],r&&(A=0,r=N0(r,68572,74292),r))break e;if(k=k+8|0,(_|0)==(k|0))break}i[t+124>>2]=0,i[t+128>>2]=0}i[t+124>>2]=0,i[t+128>>2]=0;break r}if(i[t+128>>2]=A,i[t+124>>2]=r,r=i[k+4>>2],i[t+128>>2]=r,!r)break r;i[r+4>>2]=i[r+4>>2]+1}if(l[n+19|0]<0&&G(i[n+8>>2]),A=i[n+20>>2],A){if(r=A,k=i[n+24>>2],(r|0)!=(k|0)){for(;;){r=i[k-4>>2];r:{if(!r||(_=i[r+4>>2],i[r+4>>2]=_-1,_))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(k=k-8|0,(A|0)==(k|0))break}r=i[n+20>>2]}i[n+24>>2]=A,G(r)}B=n+32|0,r=i[t+124>>2];r:{if(r){i[u>>2]=s[r+69|0],r=1;break r}r=i[i[v+16>>2]+48>>2],n=B-32|0,B=n,i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,I1(n,r,p,n+20|0);e:{if(i[n>>2]){i[t+116>>2]=0,i[t+120>>2]=0;break e}A:{if(k=i[n+20>>2],_=i[n+24>>2],(k|0)!=(_|0)){if(r=i[k>>2],r&&(A=i[t+120>>2],r=N0(r,68572,74976),r))break A;if(k=k+8|0,(_|0)!=(k|0))for(;;){if(r=i[k>>2],r&&(A=0,r=N0(r,68572,74976),r))break A;if(k=k+8|0,(_|0)==(k|0))break}i[t+116>>2]=0,i[t+120>>2]=0}i[t+116>>2]=0,i[t+120>>2]=0;break e}if(i[t+120>>2]=A,i[t+116>>2]=r,r=i[k+4>>2],i[t+120>>2]=r,!r)break e;i[r+4>>2]=i[r+4>>2]+1}if(l[n+19|0]<0&&G(i[n+8>>2]),A=i[n+20>>2],A){if(r=A,k=i[n+24>>2],(r|0)!=(k|0)){for(;;){r=i[k-4>>2];e:{if(!r||(_=i[r+4>>2],i[r+4>>2]=_-1,_))break e;V[i[i[r>>2]+8>>2]](r),g(r)}if(k=k-8|0,(A|0)==(k|0))break}r=i[n+20>>2]}i[n+24>>2]=A,G(r)}B=n+32|0,r=i[t+116>>2];e:{if(r){i[u>>2]=s[r+62|0],r=1;break e}r=i[i[v+16>>2]+48>>2],n=B-32|0,B=n,i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,I1(n,r,p,n+20|0);A:{if(i[n>>2]){i[t+108>>2]=0,i[t+112>>2]=0;break A}f:{if(k=i[n+20>>2],A=i[n+24>>2],(k|0)!=(A|0)){if(r=i[k>>2],r&&(o=i[t+112>>2],r=N0(r,68572,74408),r))break f;if(k=k+8|0,(A|0)!=(k|0))for(;;){if(r=i[k>>2],r&&(o=0,r=N0(r,68572,74408),r))break f;if(k=k+8|0,(A|0)==(k|0))break}i[t+108>>2]=0,i[t+112>>2]=0}i[t+108>>2]=0,i[t+112>>2]=0;break A}if(i[t+112>>2]=o,i[t+108>>2]=r,r=i[k+4>>2],i[t+112>>2]=r,!r)break A;i[r+4>>2]=i[r+4>>2]+1}if(l[n+19|0]<0&&G(i[n+8>>2]),A=i[n+20>>2],A){if(r=A,k=i[n+24>>2],(r|0)!=(k|0)){for(;;){r=i[k-4>>2];A:{if(!r||(o=i[r+4>>2],i[r+4>>2]=o-1,o))break A;V[i[i[r>>2]+8>>2]](r),g(r)}if(k=k-8|0,(A|0)==(k|0))break}r=i[n+20>>2]}i[n+24>>2]=A,G(r)}B=n+32|0,A=i[t+108>>2];A:{if(A){r=s[A+56|0],o=s[A+55|0],k=(o|0)!=2;f:{if(!k&&(A=1,(r|0)==2)||!k&&(A=2,(r|0)==1))break f;A=(o|0)!=1?99:(r|0)==1?3:99}i[u>>2]=A,r=1,o=0;break A}r=i[i[v+16>>2]+48>>2],n=B-32|0,B=n,i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,I1(n,r,p,n+20|0);f:{if(i[n>>2]){i[t+100>>2]=0,i[t+104>>2]=0;break f}k:{if(k=i[n+20>>2],A=i[n+24>>2],(k|0)!=(A|0)){if(r=i[k>>2],r&&(o=i[t+104>>2],r=N0(r,68572,74888),r))break k;if(k=k+8|0,(A|0)!=(k|0))for(;;){if(r=i[k>>2],r&&(o=0,r=N0(r,68572,74888),r))break k;if(k=k+8|0,(A|0)==(k|0))break}i[t+100>>2]=0,i[t+104>>2]=0}i[t+100>>2]=0,i[t+104>>2]=0;break f}if(i[t+104>>2]=o,i[t+100>>2]=r,r=i[k+4>>2],i[t+104>>2]=r,!r)break f;i[r+4>>2]=i[r+4>>2]+1}if(l[n+19|0]<0&&G(i[n+8>>2]),A=i[n+20>>2],A){if(r=A,k=i[n+24>>2],(r|0)!=(k|0)){for(;;){r=i[k-4>>2];f:{if(!r||(o=i[r+4>>2],i[r+4>>2]=o-1,o))break f;V[i[i[r>>2]+8>>2]](r),g(r)}if(k=k-8|0,(A|0)==(k|0))break}r=i[n+20>>2]}i[n+24>>2]=A,G(r)}B=n+32|0,r=1,o=0;f:{if(!i[t+100>>2])break f;if(X[t+24>>1]=0,B0(t+28|0,0,68),wA(t,t+24|0,i[i[v+16>>2]+48>>2],p),o=i[t+4>>2],A=i[t>>2],i[w>>2]=A,i[w+4>>2]=o,l[w+19|0]<0&&(G(i[w+8>>2]),A=i[w>>2]),o=i[t+12>>2],i[w+8>>2]=i[t+8>>2],i[w+12>>2]=o,i[w+16>>2]=i[t+16>>2],!A){A=0;k:{n:{if(k=t+24|0,o=i[k+36>>2],s[o|0]!=1|s[o+1|0]!=1)break n;t:switch((i[k+40>>2]-o>>2)-1|0){case 0:break k;case 2:break t;default:break n}if(n=s[o+4|0],(n|0)!=s[o+8|0]||(A=s[o+5|0],(A|0)!=s[o+9|0]))break n;t:switch(n-1|0){case 1:A=(A|0)==2?1:(A|0)==1?2:99;break k;case 0:break t;default:break n}if((A|0)!=1)break n;A=3;break k}A=99}i[u>>2]=A,ot(k),o=0;break f}ot(t+24|0),r=0,o=1}if(A=i[t+104>>2],!A||(u=i[A+4>>2],i[A+4>>2]=u-1,u))break A;V[i[i[A>>2]+8>>2]](A),g(A)}if(A=i[t+112>>2],!A||(u=i[A+4>>2],i[A+4>>2]=u-1,u))break e;V[i[i[A>>2]+8>>2]](A),g(A)}if(A=i[t+120>>2],!A||(u=i[A+4>>2],i[A+4>>2]=u-1,u))break r;V[i[i[A>>2]+8>>2]](A),g(A)}A=i[t+128>>2];r:{if(!A||(u=i[A+4>>2],i[A+4>>2]=u-1,u))break r;V[i[i[A>>2]+8>>2]](A),g(A)}r:{if(!h||(A=i[h+4>>2],i[h+4>>2]=A-1,A))break r;V[i[i[h>>2]+8>>2]](h),g(h)}A=r|o,r=i[t+136>>2];r:{if(!r||(u=i[r+4>>2],i[r+4>>2]=u-1,u))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(l[w+19|0]>=0|A)break i;G(i[w+8>>2])}B=t+144|0;i:{if(i[Z+12>>2]){P0(f,w,i[e>>2]);break i}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}l[Z+31|0]<0&&G(i[Z+20>>2]),B=Z+32|0}function pk(f,e,r,A,k,n,t,o,u,h,w){var _=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0;_=B-528|0,B=_,i[_+520>>2]=w,i[_+524>>2]=e;i:{if(J2(f,_+524|0)){i[n>>2]=i[n>>2]|4,f=0;break i}i[_+76>>2]=1095,W=_+76|0,I=o1(_+104|0,_+112|0,W),e=i[I>>2],i[_+100>>2]=e,i[_+96>>2]=e+400,e=B-16|0,B=e,i[W>>2]=0,i[W+4>>2]=0,i[W+8>>2]=0,B=e+16|0,e=B-16|0,B=e,p=_- -64|0,i[p>>2]=0,i[p+4>>2]=0,i[p+8>>2]=0,B=e+16|0,e=B-16|0,B=e,Z=_+52|0,i[Z>>2]=0,i[Z+4>>2]=0,i[Z+8>>2]=0,B=e+16|0,e=B-16|0,B=e,v=_+40|0,i[v>>2]=0,i[v+4>>2]=0,i[v+8>>2]=0,B=e+16|0,e=B-16|0,B=e,C=_+28|0,i[C>>2]=0,i[C+4>>2]=0,i[C+8>>2]=0,B=e+16|0,w=B-16|0,B=w;r:{if(r){r=w+4|0,e=x0(A,99928),V[i[i[e>>2]+44>>2]](r,e),A=i[w+4>>2],l[_+92|0]=A,l[_+93|0]=A>>>8,l[_+94|0]=A>>>16,l[_+95|0]=A>>>24,V[i[i[e>>2]+32>>2]](r,e),q1(v,r),z0(r),V[i[i[e>>2]+28>>2]](r,e),q1(Z,r),z0(r),J=_,R=V[i[i[e>>2]+12>>2]](e)|0,l[J+91|0]=R,J=_,R=V[i[i[e>>2]+16>>2]](e)|0,l[J+90|0]=R,V[i[i[e>>2]+20>>2]](r,e),q1(W,r),z0(r),V[i[i[e>>2]+24>>2]](r,e),q1(p,r),z0(r),e=V[i[i[e>>2]+36>>2]](e)|0;break r}r=w+4|0,e=x0(A,99920),V[i[i[e>>2]+44>>2]](r,e),A=i[w+4>>2],l[_+92|0]=A,l[_+93|0]=A>>>8,l[_+94|0]=A>>>16,l[_+95|0]=A>>>24,V[i[i[e>>2]+32>>2]](r,e),q1(v,r),z0(r),V[i[i[e>>2]+28>>2]](r,e),q1(Z,r),z0(r),J=_,R=V[i[i[e>>2]+12>>2]](e)|0,l[J+91|0]=R,J=_,R=V[i[i[e>>2]+16>>2]](e)|0,l[J+90|0]=R,V[i[i[e>>2]+20>>2]](r,e),q1(W,r),z0(r),V[i[i[e>>2]+24>>2]](r,e),q1(p,r),z0(r),e=V[i[i[e>>2]+36>>2]](e)|0}for(i[_+24>>2]=e,B=w+16|0,i[h>>2]=i[u>>2],y=k&512,A=0,e=0;;){r=e;r:{e:{A:{f:{if((A|0)==4||J2(f,_+524|0))break f;w=0;k:{n:{t:{o:{u:switch(s[(_+92|0)+A|0]){case 1:if((A|0)==3)break e;e=i[f>>2],k=i[e+12>>2];l:{if((k|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break l}e=s[k|0]}if(e=e<<24>>24,(e|0)>=0?e=i[i[o+8>>2]+(e<<2)>>2]&1:e=0,e){dt(_+16|0,f),C6(C,l[_+16|0]);break o}i[n>>2]=i[n>>2]|4,f=0;break A;case 4:break k;case 2:break n;case 3:break t;case 0:break u;default:break r}if((A|0)==3)break e}for(;;){if(J2(f,_+524|0))break e;e=i[f>>2],k=i[e+12>>2];o:{if((k|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break o}e=s[k|0]}if(e=e<<24>>24,(e|0)>=0?e=i[i[o+8>>2]+(e<<2)>>2]&1:e=0,!e)break e;dt(_+16|0,f),C6(C,l[_+16|0])}}t:{if(s[Z+11|0]>>>7|0?e=i[Z+4>>2]:e=s[Z+11|0]&127,!e)break t;e=i[f>>2],k=i[e+12>>2];o:{if((k|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break o}e=s[k|0]}if(k=e<<24>>24&255,s[Z+11|0]>>>7|0?e=i[Z>>2]:e=Z,(k|0)!=s[e|0])break t;E1(f),l[t|0]=0,s[Z+11|0]>>>7|0?e=i[Z+4>>2]:e=s[Z+11|0]&127,e=e>>>0>1?Z:r;break r}t:{if(s[v+11|0]>>>7|0?e=i[v+4>>2]:e=s[v+11|0]&127,!e)break t;e=i[f>>2],k=i[e+12>>2];o:{if((k|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break o}e=s[k|0]}if(k=e<<24>>24&255,s[v+11|0]>>>7|0?e=i[v>>2]:e=v,(k|0)!=s[e|0])break t;E1(f),l[t|0]=1,s[v+11|0]>>>7|0?e=i[v+4>>2]:e=s[v+11|0]&127,e=e>>>0>1?v:r;break r}if(s[Z+11|0]>>>7|0?e=i[Z+4>>2]:e=s[Z+11|0]&127,k=!e,s[v+11|0]>>>7|0?e=i[v+4>>2]:e=s[v+11|0]&127,!(k|!e)){i[n>>2]=i[n>>2]|4,f=0;break A}if(s[Z+11|0]>>>7|0?e=i[Z+4>>2]:e=s[Z+11|0]&127,!e&&(s[v+11|0]>>>7|0?e=i[v+4>>2]:e=s[v+11|0]&127,!e))break e;s[v+11|0]>>>7|0?e=i[v+4>>2]:e=s[v+11|0]&127,l[t|0]=!e;break e}if(!(y|(r|A>>>0<2))&&(e=0,!((A|0)==2&s[_+95|0]!=0)))break r;J=_,R=C4(p),i[J+12>>2]=R,i[_+16>>2]=i[_+12>>2];n:{if(!A|s[(A+_|0)+91|0]>1)break n;for(;;){t:{if(J=_,R=S8(p),i[J+12>>2]=R,e=i[_+16>>2],(e|0)==i[_+12>>2]||(e=l[e|0],(e|0)>=0?e=i[i[o+8>>2]+(e<<2)>>2]&1:e=0,!e))break t;i[_+16>>2]=i[_+16>>2]+1;continue}break}if(J=_,R=C4(p),i[J+12>>2]=R,s[C+11|0]>>>7|0?w=i[C+4>>2]:w=s[C+11|0]&127,e=_+12|0,k=i[_+16>>2]-i[e>>2]|0,w>>>0>=k>>>0&&(J=_,R=S8(C),i[J+12>>2]=R,e=R3(e,0-k|0),k=S8(C),w=C4(p),E=B-16|0,B=E,e=O8(e),k=O8(k),e=K2(e,O8(w),k-e|0),B=E+16|0,!e))break n;J=_,R=C4(p),i[J+8>>2]=R,i[_+12>>2]=i[_+8>>2],i[_+16>>2]=i[_+12>>2]}for(i[_+12>>2]=i[_+16>>2];;){n:{if(J=_,R=S8(p),i[J+8>>2]=R,i[_+12>>2]==i[_+8>>2]||J2(f,_+524|0))break n;e=i[f>>2],k=i[e+12>>2];t:{if((k|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break t}e=s[k|0]}if((e<<24>>24&255)!=s[i[_+12>>2]])break n;E1(f),i[_+12>>2]=i[_+12>>2]+1;continue}break}if(!y||(J=_,R=S8(p),i[J+8>>2]=R,i[_+12>>2]==i[_+8>>2]))break e;i[n>>2]=i[n>>2]|4,f=0;break A}for(;;){k:{if(J2(f,_+524|0))break k;e=i[f>>2],k=i[e+12>>2];n:{if((k|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break n}e=s[k|0]}e=e<<24>>24,(e|0)>=0?k=i[i[o+8>>2]+(e<<2)>>2]&64:k=0;n:{if(k){k=i[h>>2],(k|0)==i[_+520>>2]&&(i9(u,h,_+520|0),k=i[h>>2]),i[h>>2]=k+1,l[k|0]=e,w=w+1|0;break n}if(s[W+11|0]>>>7|0?k=i[W+4>>2]:k=s[W+11|0]&127,!k|!w|s[_+90|0]!=(e&255))break k;e=i[_+100>>2],(e|0)==i[_+96>>2]&&(Ei(I,_+100|0,_+96|0),e=i[_+100>>2]),i[_+100>>2]=e+4,i[e>>2]=w,w=0}E1(f);continue}break}e=i[_+100>>2],!w|(e|0)==i[I>>2]||(i[_+96>>2]==(e|0)&&(Ei(I,_+100|0,_+96|0),e=i[_+100>>2]),i[_+100>>2]=e+4,i[e>>2]=w);k:{if(i[_+24>>2]<=0)break k;n:{if(!J2(f,_+524|0)){e=i[f>>2],k=i[e+12>>2];t:{if((k|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break t}e=s[k|0]}if((e<<24>>24&255)==s[_+91|0])break n}i[n>>2]=i[n>>2]|4,f=0;break A}for(;;){if(E1(f),i[_+24>>2]<=0)break k;n:{if(!J2(f,_+524|0)){e=i[f>>2],k=i[e+12>>2];t:{if((k|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break t}e=s[k|0]}if(e=e<<24>>24,(e|0)>=0?e=i[i[o+8>>2]+(e<<2)>>2]&64:e=0,e)break n}i[n>>2]=i[n>>2]|4,f=0;break A}i[h>>2]==i[_+520>>2]&&i9(u,h,_+520|0),e=i[f>>2],k=i[e+12>>2];n:{if((k|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break n}e=s[k|0]}k=i[h>>2],i[h>>2]=k+1,l[k|0]=e<<24>>24,i[_+24>>2]=i[_+24>>2]-1}}if(e=r,i[u>>2]!=i[h>>2])break r;i[n>>2]=i[n>>2]|4,f=0;break A}f:{if(!r)break f;for(w=1;;){if(s[r+11|0]>>>7|0?e=i[r+4>>2]:e=s[r+11|0]&127,e>>>0<=w>>>0)break f;k:{if(!J2(f,_+524|0)){e=i[f>>2],A=i[e+12>>2];n:{if((A|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break n}e=s[A|0]}if(A=e<<24>>24&255,s[r+11|0]>>>7|0?e=i[r>>2]:e=r,(A|0)==s[e+w|0])break k}i[n>>2]=i[n>>2]|4,f=0;break A}E1(f),w=w+1|0}}if(f=1,i[I>>2]==i[_+100>>2])break A;if(f=0,i[_+16>>2]=0,K1(W,i[I>>2],i[_+100>>2],_+16|0),i[_+16>>2]){i[n>>2]=i[n>>2]|4;break A}f=1}z0(C),z0(v),z0(Z),z0(p),z0(W),e=i[I>>2],i[I>>2]=0,e&&V[i[I+4>>2]](e);break i}e=r}A=A+1|0}}return B=_+528|0,f}function Wk(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0;h=B-128|0,B=h;i:{r:{if(!e)break r;e:{A:{for(;;){t=s[r|0];f:{if((t|0)!=37){if(n=Z,!t)break e;l[f+n|0]=t,Z=n+1|0;break f}t=0,o=1;k:{n:{t:switch(n=s[r+1|0],n-45|0){case 1:case 2:break k;case 0:case 3:break n;default:break t}if((n|0)!=95)break k}t=n,n=s[r+2|0],o=2}I=0,R=n&255,w=(r+o|0)+((R|0)==43)|0;k:{if(l[w|0]-48>>>0<=9){r=Xi(w,h+12|0,10,-1,0),o=i[h+12>>2];break k}i[h+12>>2]=w,r=0,o=w}n=s[o|0],u=n-67|0;k:{if(u>>>0>22|!(1<>24,W-37|0){case 31:break s;case 62:break h;case 77:break w;case 0:break m;case 53:break B;case 85:break p;case 52:break W;case 84:break G;case 51:break C;case 83:break y;case 82:break V;case 49:break F;case 50:break I;case 48:break D;case 80:break U;case 47:break M;case 79:break J;case 46:break x;case 78:break E;case 45:break Q;case 75:break g;case 73:break N;case 40:break X;case 72:break H;case 69:break T;case 36:break a;case 35:break S;case 34:case 66:break R;case 33:break O;case 63:break j;case 64:break P;case 30:break L;case 29:break K;case 61:case 67:break q;case 28:break $;case 60:break b;default:break k}if(n=i[A+24>>2],n>>>0<=6)break v;break t}if(n=i[A+24>>2],n>>>0>6)break t;t=n+131079|0;break _}if(n=i[A+16>>2],n>>>0>11)break t;t=n+131086|0;break _}if(n=i[A+16>>2],n>>>0>11)break t;t=n+131098|0;break _}n=i[A+20>>2],t=n>>31,n=n+1900|0,t=n>>>0<1900?t+1|0:t,n=o2(n,t,100,0),o=w0;break l}z=95}n=i[A+12>>2],o=n>>31;break l}_=13635;break s}u=i[A+20>>2],t=u>>31,n=u+1900|0,o=n>>>0<1900?t+1|0:t,v=i[A+28>>2];R:{if((v|0)<=2){u=u+1899|0,t=u>>>0<1899?t+1|0:t,v=u,u=($A(A)|0)==1,n=u?n:v,o=u?o:t;break R}if(v>>>0<361)break R;u=u+1901|0,t=u>>>0<1901?t+1|0:t,v=u,u=($A(A)|0)==1,n=u?v:n,o=u?t:o}if((W|0)==103)break Z;break u}n=i[A+8>>2],o=n>>31;break l}if(t=2,o=i[A+8>>2],!o){n=12,o=0;break o}W=(o|0)>12,n=W?o-12|0:o,u=o>>31,o=W?u-(o>>>0<12)|0:u;break o}n=i[A+28>>2]+1|0,o=n>>31,t=3;break o}n=i[A+16>>2]+1|0,o=n>>31;break l}n=i[A+4>>2],o=n>>31;break l}i[h+124>>2]=1,t=31338;break k}t=i[A+8>>2]>11?131111:131110;break _}_=15004;break s}v=0,y=0,E=B-16|0,B=E,n=i[A+20>>2],o=n>>31,_=i[A+16>>2],_>>>0>=12&&(u=(_|0)/12|0,t=_-m(u,12)|0,_=(t|0)<0?t+12|0:t,t=u+(t>>31)|0,o=o+(t>>31)|0,u=n,n=n+t|0,o=u>>>0>n>>>0?o+1|0:o),u=E+12|0;E:{if((n>>>0<2|0)==(o|0)&n-2>>>0<=136){t=n-68>>2;Q:{g:{if(!(n&3)){if(t=t-1|0,!u)break Q;o=1;break g}if(!u)break Q;o=0}i[u>>2]=o}n=(m(n,31536e3)+m(t,86400)|0)+2087447296|0,t=n>>31;break E}t=n-100|0,W=t,n=o-(n>>>0<100)|0,J=n,n=o2(t,n,400,0),C=q0(n,w0,400,0),o=t-C|0,t=J-(w0+(t>>>0>>0)|0)|0,C=n+(t>>31)|0;Q:{g:{N:{if(n=(t|0)<0?o+400|0:o,n){X:{if((n|0)>=200){if(n>>>0>=300){v=3,n=n-300|0;break X}v=2,n=n-200|0;break X}v=(n|0)>99,n=v?n-100|0:n}if(n)break N;t=0}else t=1;if(u)break g;break Q}if(y=n>>>2|0,t=!(n&3),!u)break Q}i[u>>2]=t}o=q0(W,J,31536e3,0),u=w0,W=o,n=((m(v,24)+m(C,97)|0)+y|0)-t|0,o=q0(n,n>>31,86400,0),n=W+o|0,t=w0+u|0,t=n>>>0>>0?t+1|0:t,n=n+946771200|0,t=n>>>0<946771200?t+1|0:t}y=i[A+12>>2],u=i[A+8>>2],J=u>>31,W=i[A+4>>2],C=W>>31,B=E+16|0,o=i[A>>2],v=o,H=o>>31,o=i[(_<<2)+56560>>2],_=(_|0)>1&&i[E+12>>2]?o+86400|0:o,o=(_>>31)+t|0,t=n+_|0,o=t>>>0<_>>>0?o+1|0:o,n=y-1|0,_=q0(n,n>>31,86400,0),n=_+t|0,t=w0+o|0,t=n>>>0<_>>>0?t+1|0:t,o=q0(u,J,3600,0),n=o+n|0,t=w0+t|0,t=n>>>0>>0?t+1|0:t,o=q0(W,C,60,0),n=o+n|0,t=w0+t|0,o=(n>>>0>>0?t+1|0:t)+H|0,t=n+v|0,o=t>>>0>>0?o+1|0:o,u=i[A+36>>2],n=t-u|0,o=o-((u>>31)+(t>>>0>>0)|0)|0;break Y}n=i[A>>2],o=n>>31;break l}i[h+124>>2]=1,t=31340;break k}_=14945;break s}n=i[A+24>>2],n=n||7,o=n>>31;break Y}n=((i[A+28>>2]-i[A+24>>2]|0)+7>>>0)/7|0,o=0;break l}n=((i[A+28>>2]-((i[A+24>>2]+6>>>0)%7|0)|0)+7>>>0)/7|0,o=0;break l}n=$A(A),o=0;break l}n=i[A+24>>2],o=n>>31}t=1;break o}v=131113;break h}v=131114;break h}n=i[A+20>>2],t=n>>31,n=n+1900|0,t=n>>>0<1900?t+1|0:t,t=nt(n,t),n=w0,W=n,o=t,t=n>>31,u=o^t,n=u-t|0,o=(t^W)-((t>>>0>u>>>0)+t|0)|0;break l}if(n=i[A+20>>2],o=n>>31,u=n,t=o,n=n+1900|0,o=n>>>0<1900?t+1|0:t,u>>>0<8100&(t|0)<=0|(t|0)<0)break u;i[p+48>>2]=n,i[p+52>>2]=o,a=h,S=I8(w,100,11823,p+48|0),i[a+124>>2]=S,t=w;break k}if(i[A+32>>2]<0){i[h+124>>2]=0,t=31341;break k}n=i[A+36>>2],t=(n|0)/3600|0,i[p+64>>2]=m(t,100)+((n-m(t,3600)<<16>>16)/60<<16>>16),a=h,S=I8(w,100,11829,p- -64|0),i[a+124>>2]=S,t=w;break k}if(i[A+32>>2]<0){i[h+124>>2]=0,t=31341;break k}n=i[A+40>>2],l[99704]&1||(ms(99660,99664,99712,99744),i[24918]=99744,i[24917]=99712,l[99704]=1),(n|0)!=56608?t=(n|0)==i[24917]?n:(n|0)!=i[24918]?31341:n:t=56608;break n}i[h+124>>2]=1,t=18681;break k}n=nt(n,o),o=w0;break l}t=n|131072}t=S7(t,k);break n}v=131115}_=S7(v,k)}n=Wk(w,100,_,A,k),i[h+124>>2]=n,t=n?w:0;break k}t=2;break o}t=4}o:{if(u=D||z,(u|0)!=95){if((u|0)!=45)break o;i[p+16>>2]=n,i[p+20>>2]=o,a=h,S=I8(w,100,11824,p+16|0),i[a+124>>2]=S,t=w;break k}i[p+40>>2]=n,i[p+44>>2]=o,i[p+32>>2]=t,a=h,S=I8(w,100,11817,p+32|0),i[a+124>>2]=S,t=w;break k}i[p+8>>2]=n,i[p+12>>2]=o,i[p>>2]=t,a=h,S=I8(w,100,11810,p),i[a+124>>2]=S,t=w;break k}t=18137}a=h,S=G2(t),i[a+124>>2]=S}if(B=p+80|0,o=t,!t)break A;k:{if(!I){t=i[h+124>>2];break k}n:{t:{o:switch(n=s[o|0],n-43|0){case 0:case 2:break t;default:break o}t=i[h+124>>2];break n}n=s[o+1|0],o=o+1|0,t=i[h+124>>2]-1|0}n:{if((n&255)!=48)break n;for(;;){if(n=l[o+1|0],n-48>>>0>9)break n;if(o=o+1|0,t=t-1|0,(n|0)!=48)break}}for(i[h+124>>2]=t,n=0;w=n,n=n+1|0,l[o+w|0]-48>>>0<10;);n=t>>>0>>0?I:t,u=f+Z|0;n:{if(i[A+20>>2]<-1900)w=45;else{if((R|0)!=43|w+(n-t|0)>>>0<(s[i[h+12>>2]]==67?3:5)>>>0)break n;w=43}l[u|0]=w,n=n-1|0,Z=Z+1|0}if(n>>>0<=t>>>0|e>>>0<=Z>>>0)break k;for(;;){if(l[f+Z|0]=48,Z=Z+1|0,n=n-1|0,n>>>0<=t>>>0)break k;if(!(e>>>0>Z>>>0))break}}n=e-Z|0,n=n>>>0>t>>>0?t:n,i[h+124>>2]=n,l0(f+Z|0,o,n),Z=i[h+124>>2]+Z|0}if(r=r+1|0,!(e>>>0>Z>>>0))break}if(!e)break r}Z=(e|0)==(Z|0)?e-1|0:Z,n=0}l[f+Z|0]=0;break i}n=0}return B=h+128|0,n}function Xk(f,e,r,A,k,n,t,o,u,h,w){var _=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0;_=B-528|0,B=_,i[_+520>>2]=w,i[_+524>>2]=e;i:{if(g2(f,_+524|0)){i[n>>2]=i[n>>2]|4,f=0;break i}i[_+72>>2]=1095,C=_+72|0,y=o1(_+104|0,_+112|0,C),e=i[y>>2],i[_+100>>2]=e,i[_+96>>2]=e+400,e=B-16|0,B=e,i[C>>2]=0,i[C+4>>2]=0,i[C+8>>2]=0,B=e+16|0,e=B-16|0,B=e,W=_+60|0,i[W>>2]=0,i[W+4>>2]=0,i[W+8>>2]=0,B=e+16|0,e=B-16|0,B=e,p=_+48|0,i[p>>2]=0,i[p+4>>2]=0,i[p+8>>2]=0,B=e+16|0,e=B-16|0,B=e,Z=_+36|0,i[Z>>2]=0,i[Z+4>>2]=0,i[Z+8>>2]=0,B=e+16|0,e=B-16|0,B=e,I=_+24|0,i[I>>2]=0,i[I+4>>2]=0,i[I+8>>2]=0,B=e+16|0,w=B-16|0,B=w,e=_;r:{if(r){v=w+4|0,A=x0(A,99944),V[i[i[A>>2]+44>>2]](v,A),r=i[w+4>>2],l[_+92|0]=r,l[_+93|0]=r>>>8,l[_+94|0]=r>>>16,l[_+95|0]=r>>>24,V[i[i[A>>2]+32>>2]](v,A),r8(Z,v),l1(v),V[i[i[A>>2]+28>>2]](v,A),r8(p,v),l1(v),J=_,R=V[i[i[A>>2]+12>>2]](A)|0,i[J+88>>2]=R,J=_,R=V[i[i[A>>2]+16>>2]](A)|0,i[J+84>>2]=R,V[i[i[A>>2]+20>>2]](v,A),q1(C,v),z0(v),V[i[i[A>>2]+24>>2]](v,A),r8(W,v),l1(v),r=V[i[i[A>>2]+36>>2]](A)|0;break r}v=w+4|0,A=x0(A,99936),V[i[i[A>>2]+44>>2]](v,A),r=i[w+4>>2],l[_+92|0]=r,l[_+93|0]=r>>>8,l[_+94|0]=r>>>16,l[_+95|0]=r>>>24,V[i[i[A>>2]+32>>2]](v,A),r8(Z,v),l1(v),V[i[i[A>>2]+28>>2]](v,A),r8(p,v),l1(v),J=_,R=V[i[i[A>>2]+12>>2]](A)|0,i[J+88>>2]=R,J=_,R=V[i[i[A>>2]+16>>2]](A)|0,i[J+84>>2]=R,V[i[i[A>>2]+20>>2]](v,A),q1(C,v),z0(v),V[i[i[A>>2]+24>>2]](v,A),r8(W,v),l1(v),r=V[i[i[A>>2]+36>>2]](A)|0}for(i[e+20>>2]=r,B=w+16|0,i[h>>2]=i[u>>2],E=k&512,A=0,e=0;;){r=e;r:{e:{A:{f:{if((A|0)==4||g2(f,_+524|0))break f;w=0;k:{n:{t:{o:{u:switch(s[(_+92|0)+A|0]){case 1:if((A|0)==3)break e;k=i[f>>2],e=i[k+12>>2];l:{if((e|0)==i[k+16>>2]){e=V[i[i[k>>2]+36>>2]](k)|0;break l}e=i[e>>2]}if(V[i[i[o>>2]+12>>2]](o,1,e)|0){ro(_+12|0,f),KA(I,i[_+12>>2]);break o}i[n>>2]=i[n>>2]|4,f=0;break A;case 4:break k;case 2:break n;case 3:break t;case 0:break u;default:break r}if((A|0)==3)break e}for(;;){if(g2(f,_+524|0))break e;k=i[f>>2],e=i[k+12>>2];o:{if((e|0)==i[k+16>>2]){e=V[i[i[k>>2]+36>>2]](k)|0;break o}e=i[e>>2]}if(!(V[i[i[o>>2]+12>>2]](o,1,e)|0))break e;ro(_+12|0,f),KA(I,i[_+12>>2])}}t:{if(s[p+11|0]>>>7|0?e=i[p+4>>2]:e=s[p+11|0]&127,!e)break t;k=i[f>>2],e=i[k+12>>2];o:{if((e|0)==i[k+16>>2]){e=V[i[i[k>>2]+36>>2]](k)|0;break o}e=i[e>>2]}if(s[p+11|0]>>>7|0?k=i[p>>2]:k=p,(e|0)!=i[k>>2])break t;Y1(f),l[t|0]=0,s[p+11|0]>>>7|0?e=i[p+4>>2]:e=s[p+11|0]&127,e=e>>>0>1?p:r;break r}t:{if(s[Z+11|0]>>>7|0?e=i[Z+4>>2]:e=s[Z+11|0]&127,!e)break t;k=i[f>>2],e=i[k+12>>2];o:{if((e|0)==i[k+16>>2]){e=V[i[i[k>>2]+36>>2]](k)|0;break o}e=i[e>>2]}if(s[Z+11|0]>>>7|0?k=i[Z>>2]:k=Z,(e|0)!=i[k>>2])break t;Y1(f),l[t|0]=1,s[Z+11|0]>>>7|0?e=i[Z+4>>2]:e=s[Z+11|0]&127,e=e>>>0>1?Z:r;break r}if(s[p+11|0]>>>7|0?e=i[p+4>>2]:e=s[p+11|0]&127,e=!e,s[Z+11|0]>>>7|0?k=i[Z+4>>2]:k=s[Z+11|0]&127,!(e|!k)){i[n>>2]=i[n>>2]|4,f=0;break A}if(s[p+11|0]>>>7|0?e=i[p+4>>2]:e=s[p+11|0]&127,!e&&(s[Z+11|0]>>>7|0?e=i[Z+4>>2]:e=s[Z+11|0]&127,!e))break e;s[Z+11|0]>>>7|0?e=i[Z+4>>2]:e=s[Z+11|0]&127,l[t|0]=!e;break e}if(!(E|(r|A>>>0<2))&&(e=0,!((A|0)==2&s[_+95|0]!=0)))break r;J=_,R=C4(W),i[J+8>>2]=R,i[_+12>>2]=i[_+8>>2];n:{if(!A|s[(A+_|0)+91|0]>1)break n;for(;;){t:{if(J=_,R=a8(W),i[J+8>>2]=R,e=i[_+12>>2],(e|0)==i[_+8>>2]||!(V[i[i[o>>2]+12>>2]](o,1,i[e>>2])|0))break t;i[_+12>>2]=i[_+12>>2]+4;continue}break}if(J=_,R=C4(W),i[J+8>>2]=R,s[I+11|0]>>>7|0?w=i[I+4>>2]:w=s[I+11|0]&127,k=_+8|0,e=i[_+12>>2]-i[k>>2]>>2,w>>>0>=e>>>0&&(J=_,R=a8(I),i[J+8>>2]=R,v=J3(k,0-e|0),e=a8(I),w=C4(W),k=B-16|0,B=k,v=O8(v),e=O8(e),e=K2(v,O8(w),e-v&-4),B=k+16|0,!e))break n;J=_,R=C4(W),i[J+4>>2]=R,i[_+8>>2]=i[_+4>>2],i[_+12>>2]=i[_+8>>2]}for(i[_+8>>2]=i[_+12>>2];;){n:{if(J=_,R=a8(W),i[J+4>>2]=R,i[_+8>>2]==i[_+4>>2]||g2(f,_+524|0))break n;k=i[f>>2],e=i[k+12>>2];t:{if((e|0)==i[k+16>>2]){e=V[i[i[k>>2]+36>>2]](k)|0;break t}e=i[e>>2]}if((e|0)!=i[i[_+8>>2]>>2])break n;Y1(f),i[_+8>>2]=i[_+8>>2]+4;continue}break}if(!E||(J=_,R=a8(W),i[J+4>>2]=R,i[_+8>>2]==i[_+4>>2]))break e;i[n>>2]=i[n>>2]|4,f=0;break A}for(;;){k:{if(g2(f,_+524|0))break k;k=i[f>>2],e=i[k+12>>2];n:{if((e|0)==i[k+16>>2]){e=V[i[i[k>>2]+36>>2]](k)|0;break n}e=i[e>>2]}n:{if(V[i[i[o>>2]+12>>2]](o,64,e)|0){k=i[h>>2],(k|0)==i[_+520>>2]&&(Ei(u,h,_+520|0),k=i[h>>2]),i[h>>2]=k+4,i[k>>2]=e,w=w+1|0;break n}if(s[C+11|0]>>>7|0?k=i[C+4>>2]:k=s[C+11|0]&127,!k|!w|(e|0)!=i[_+84>>2])break k;e=i[_+100>>2],(e|0)==i[_+96>>2]&&(Ei(y,_+100|0,_+96|0),e=i[_+100>>2]),i[_+100>>2]=e+4,i[e>>2]=w,w=0}Y1(f);continue}break}e=i[_+100>>2],!w|(e|0)==i[y>>2]||(i[_+96>>2]==(e|0)&&(Ei(y,_+100|0,_+96|0),e=i[_+100>>2]),i[_+100>>2]=e+4,i[e>>2]=w);k:{if(i[_+20>>2]<=0)break k;n:{if(!g2(f,_+524|0)){k=i[f>>2],e=i[k+12>>2];t:{if((e|0)==i[k+16>>2]){e=V[i[i[k>>2]+36>>2]](k)|0;break t}e=i[e>>2]}if((e|0)==i[_+88>>2])break n}i[n>>2]=i[n>>2]|4,f=0;break A}for(;;){if(Y1(f),i[_+20>>2]<=0)break k;n:{if(!g2(f,_+524|0)){k=i[f>>2],e=i[k+12>>2];t:{if((e|0)==i[k+16>>2]){e=V[i[i[k>>2]+36>>2]](k)|0;break t}e=i[e>>2]}if(V[i[i[o>>2]+12>>2]](o,64,e)|0)break n}i[n>>2]=i[n>>2]|4,f=0;break A}i[h>>2]==i[_+520>>2]&&Ei(u,h,_+520|0),k=i[f>>2],e=i[k+12>>2];n:{if((e|0)==i[k+16>>2]){k=V[i[i[k>>2]+36>>2]](k)|0;break n}k=i[e>>2]}e=i[h>>2],i[h>>2]=e+4,i[e>>2]=k,i[_+20>>2]=i[_+20>>2]-1}}if(e=r,i[u>>2]!=i[h>>2])break r;i[n>>2]=i[n>>2]|4,f=0;break A}f:{if(!r)break f;for(w=1;;){if(s[r+11|0]>>>7|0?e=i[r+4>>2]:e=s[r+11|0]&127,e>>>0<=w>>>0)break f;k:{if(!g2(f,_+524|0)){A=i[f>>2],e=i[A+12>>2];n:{if((e|0)==i[A+16>>2]){e=V[i[i[A>>2]+36>>2]](A)|0;break n}e=i[e>>2]}if(s[r+11|0]>>>7|0?A=i[r>>2]:A=r,(e|0)==i[A+(w<<2)>>2])break k}i[n>>2]=i[n>>2]|4,f=0;break A}Y1(f),w=w+1|0}}if(f=1,i[y>>2]==i[_+100>>2])break A;if(f=0,i[_+12>>2]=0,K1(C,i[y>>2],i[_+100>>2],_+12|0),i[_+12>>2]){i[n>>2]=i[n>>2]|4;break A}f=1}l1(I),l1(Z),l1(p),l1(W),z0(C),e=i[y>>2],i[y>>2]=0,e&&V[i[y+4>>2]](e);break i}e=r}A=A+1|0}}return B=_+528|0,f}function xs(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0;A=B-224|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+56|0]=0,l[A+67|0]=0,r0(A+200|0,2,100,A+56|0),l[A+67|0]>=0)break i;G(i[A+56>>2]);break i}if(k=i[19565],i[A+200>>2]=i[19564],i[A+204>>2]=k,n=A+208|0,l[78275]>=0){k=i[19567],i[n>>2]=i[19566],i[n+4>>2]=k,i[n+8>>2]=i[19568];break i}_0(n,i[19566],i[19567])}l[A+219|0]<0&&G(i[A+208>>2]),C=s[e+48|0];i:{if(C>>>0>=3){h4(f,e,13698);break i}n=t2(r);r:{e:{A:{if((C|0)!=2){I=t2(r);break A}I=D0(r)}if(I>>>0<=2e4){if(!I)break r;E=n&15,H=(E|0)!=0&(C-1&255)>>>0<2,a=e+56|0,J=i[13631],S=J-12|0,q=i[13632]-12|0,d=i[13635]-12|0,R=i[13633],A0=R-12|0,f0=i[13640],n0=i[13639],h0=i[13637],j=i[13636],L=i[13634],D=A+68|0,p=A- -64|0,p0=A+120|0,w=A+24|6,X0=(n>>>4&15)-4|0,G0=(n>>>12|0)-4|0,I0=(n>>>8&15)-4|0;break e}i[A+64>>2]=54496,i[A+120>>2]=54516,e=i[13633],i[A+56>>2]=e,n=A+56|0,i[n+i[e-12>>2]>>2]=i[13634],i[A+60>>2]=0,e=n+i[i[A+56>>2]-12>>2]|0,k=A+68|0,b0(e,k),i[e+72>>2]=0,i[e+76>>2]=-1,e=i[13635],i[A+64>>2]=e,r=A- -64|0,i[r+i[e-12>>2]>>2]=i[13636],e=i[13632],i[A+56>>2]=e,i[n+i[e-12>>2]>>2]=i[13637],i[A+120>>2]=54516,i[A+56>>2]=54476,i[A+64>>2]=54496,k=$0(k),i[k>>2]=53552,i[A+108>>2]=0,i[A+112>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+116>>2]=24,x(H0(x(L0(x(r,18738,18),I),19006,44),2e4),17597,7),e=A+24|0,i2(e,k),r0(f,6,1e3,e),l[A+35|0]<0&&G(i[A+24>>2]),f=i[13631],i[A+56>>2]=f,i[i[f-12>>2]+(A+56|0)>>2]=i[13639],i[A+64>>2]=i[13640],i[k>>2]=53552,l[A+111|0]<0&&G(i[A+100>>2]),K0(k),T0(A+120|0);break i}for(;;){l[A+28|0]=0,i[A+24>>2]=0,X[w+14>>1]=0,X[w+16>>1]=0,X[w+18>>1]=0,X[w+20>>1]=0,X[w+8>>1]=0,X[w+10>>1]=0,X[w+12>>1]=0,X[w+14>>1]=0,X[w>>1]=0,X[w+2>>1]=0,X[w+4>>1]=0,X[w+6>>1]=0;e:{A:{if((C|0)==2){Q0=A,F0=D0(r),i[Q0+24>>2]=F0;break A}if(Q0=A,F0=t2(r),i[Q0+24>>2]=F0,!C)break e}Q0=A,F0=t2(r)&15,l[Q0+28|0]=F0}k=t2(r),i[A+32>>2]=0,i[A+36>>2]=0,X[A+30>>1]=k,n=A;e:{A:{f:switch(X0|0){case 0:k=D0(r),t=0;break A;case 4:break f;default:break e}k=D0(r),i[A+32>>2]=0,i[A+36>>2]=k,k=D0(r)|i[A+32>>2],t=i[A+36>>2]}i[n+32>>2]=k,i[n+36>>2]=t}e:{A:{f:{if(y=t2(r),y>>>0<=32){if(W=0,y)break f;break A}i[A+56>>2]=R,i[A+64>>2]=54496,i[A+120>>2]=54516,n=A+56|0,i[n+i[A0>>2]>>2]=L,i[A+60>>2]=0,k=n+i[i[A+56>>2]-12>>2]|0,b0(k,D),i[k+72>>2]=0,i[k+76>>2]=-1,i[i[d>>2]+p>>2]=j,i[n+i[q>>2]>>2]=h0,i[A+120>>2]=54516,i[A+56>>2]=54476,i[A+64>>2]=54496,n=$0(D),i[n>>2]=53552,i[A+108>>2]=0,i[A+112>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+116>>2]=24,x(H0(x(H0(x(p,18533,31),y),18565,26),32),31337,2),k=A+12|0,i2(k,n),r0(f,6,1e3,k),l[A+23|0]<0&&G(i[A+12>>2]),i[A+56>>2]=J,i[i[S>>2]+(A+56|0)>>2]=n0,i[A+64>>2]=f0,i[n>>2]=53552,l[A+111|0]<0&&G(i[A+100>>2]),K0(n),T0(p0);break e}for(;;){i[A+88>>2]=0,i[A+80>>2]=0,i[A+84>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[p>>2]=0,i[p+4>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0;f:{if(!H)break f;k:switch(E-4|0){case 0:Q0=A,F0=D0(r),i[Q0+56>>2]=F0,i[A+60>>2]=0;break f;case 4:break k;default:break f}k=D0(r),i[A+56>>2]=0,i[A+60>>2]=k,t=D0(r),k=i[A+60>>2],i[A+56>>2]=i[A+56>>2]|t,i[A+60>>2]=k}i[A+64>>2]=0,i[A+68>>2]=0,n=A;f:{k:{n:switch(G0|0){case 0:k=D0(r),t=0;break k;case 4:break n;default:break f}k=D0(r),i[A+64>>2]=0,i[A+68>>2]=k,k=D0(r)|i[A+64>>2],t=i[A+68>>2]}i[n+64>>2]=k,i[n+68>>2]=t}i[A+72>>2]=0,i[A+76>>2]=0;f:{k:{n:switch(I0|0){case 0:k=D0(r),t=0;break k;case 4:break n;default:break f}k=D0(r),i[A+72>>2]=0,i[A+76>>2]=k,k=D0(r)|i[A+72>>2],t=i[A+76>>2]}i[n+72>>2]=k,i[n+76>>2]=t}f:{k=i[A+44>>2];k:{if(k>>>0>2]){if(n=i[A+60>>2],i[k>>2]=i[A+56>>2],i[k+4>>2]=n,n=i[A+76>>2],i[k+16>>2]=i[A+72>>2],i[k+20>>2]=n,n=i[p+4>>2],i[k+8>>2]=i[p>>2],i[k+12>>2]=n,i[k+32>>2]=0,i[k+24>>2]=0,i[k+28>>2]=0,n=i[A+84>>2],t=i[A+80>>2],(n|0)!=(t|0)){if(u=n-t|0,(u|0)<0)break f;o=U(u),i[k+28>>2]=o,i[k+24>>2]=o,n=o+u|0,i[k+32>>2]=n,l0(o,t,u),i[k+28>>2]=n}k=k+40|0;break k}k=0;n:{t:{o:{if(u=i[A+44>>2],_=i[A+40>>2],o=(u-_|0)/40|0,h=o+1|0,h>>>0<107374183){if(t=(i[A+48>>2]-_|0)/40|0,n=t<<1,v=t>>>0>=53687091?107374182:n>>>0>h>>>0?n:h,v){if(v>>>0>=107374183)break o;k=U(m(v,40))}if(t=i[A+60>>2],n=m(o,40)+k|0,i[n>>2]=i[A+56>>2],i[n+4>>2]=t,Z=i[A+64>>2],h=i[A+68>>2],o=i[A+72>>2],t=i[A+76>>2],i[n+32>>2]=0,i[n+24>>2]=0,i[n+28>>2]=0,i[n+16>>2]=o,i[n+20>>2]=t,i[n+8>>2]=Z,i[n+12>>2]=h,t=i[A+84>>2],h=i[A+80>>2],(t|0)!=(h|0)){if(Z=t-h|0,(Z|0)<0)break t;o=U(Z),i[n+24>>2]=o,t=o+Z|0,i[n+32>>2]=t,l0(o,h,Z),i[n+28>>2]=t}Z=m(v,40)+k|0,t=n+40|0;u:{if((u|0)==(_|0)){k=n;break u}for(;o=u-40|0,h=i[o+4>>2],k=n-40|0,i[k>>2]=i[o>>2],i[k+4>>2]=h,h=i[o+20>>2],i[k+16>>2]=i[o+16>>2],i[k+20>>2]=h,h=i[o+12>>2],i[k+8>>2]=i[o+8>>2],i[k+12>>2]=h,h=n-8|0,i[h>>2]=0,v=u-16|0,i[n-16>>2]=i[v>>2],i[n-12>>2]=i[u-12>>2],n=u-8|0,i[h>>2]=i[n>>2],i[n>>2]=0,i[v>>2]=0,i[v+4>>2]=0,n=k,u=o,(o|0)!=(_|0););u=i[A+44>>2],_=i[A+40>>2]}if(i[A+48>>2]=Z,i[A+44>>2]=t,i[A+40>>2]=k,(u|0)!=(_|0))for(;k=i[u-16>>2],k&&(i[u-12>>2]=k,G(k)),u=u-40|0,(_|0)!=(u|0););_&&G(_),k=t;break n}y0(),P()}_2(),P()}y0(),P()}}if(i[A+44>>2]=k,k=i[A+80>>2],k&&(i[A+84>>2]=k,G(k)),W=W+1|0,(y|0)==(W|0))break A;continue}break}y0(),P()}if(s[r+20|0])break e;k=i[e+60>>2];A:{if(k>>>0>2]){n=i[A+28>>2],i[k>>2]=i[A+24>>2],i[k+4>>2]=n,n=i[A+36>>2],i[k+8>>2]=i[A+32>>2],i[k+12>>2]=n,i[k+24>>2]=0,i[k+16>>2]=0,i[k+20>>2]=0,t=i[A+40>>2],n=i[A+44>>2],br(k+16|0,t,n,(n-t|0)/40|0),n=k+32|0;break A}n=vn(a,A+24|0)}i[e+60>>2]=n}if(n=i[A+40>>2],n){if(W=n,k=i[A+44>>2],(n|0)!=(k|0)){for(;t=i[k-16>>2],t&&(i[k-12>>2]=t,G(t)),k=k-40|0,(n|0)!=(k|0););W=i[A+40>>2]}i[A+44>>2]=n,G(W)}if(y>>>0>=33)break i;if(z=z+1|0,(z|0)==(I|0))break}}if(s[r+20|0]==1){if(l[A+56|0]=0,l[A+67|0]=0,r0(f,2,100,A+56|0),l[A+67|0]>=0)break i;G(i[A+56>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,e=f+8|0,l[78275]>=0){f=i[19567],i[e>>2]=i[19566],i[e+4>>2]=f,i[e+8>>2]=i[19568];break i}_0(e,i[19566],i[19567])}B=A+224|0}function zs(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0;o=B-16|0,B=o,n=i[k>>2],t=n+i[r>>2]|0;i:{if(i[r+4>>2]-t>>>0<=(A|0)/8<<2>>>0){if(e=U(56),i[o+4>>2]=e,i[o+8>>2]=50,i[o+12>>2]=-2147483592,r=s[6770]|s[6771]<<8|(s[6772]<<16|s[6773]<<24),A=s[6766]|s[6767]<<8|(s[6768]<<16|s[6769]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+50|0]=0,r=s[6814]|s[6815]<<8,l[e+48|0]=r,l[e+49|0]=r>>>8,r=s[6810]|s[6811]<<8|(s[6812]<<16|s[6813]<<24),A=s[6806]|s[6807]<<8|(s[6808]<<16|s[6809]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[6802]|s[6803]<<8|(s[6804]<<16|s[6805]<<24),A=s[6798]|s[6799]<<8|(s[6800]<<16|s[6801]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[6794]|s[6795]<<8|(s[6796]<<16|s[6797]<<24),A=s[6790]|s[6791]<<8|(s[6792]<<16|s[6793]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[6786]|s[6787]<<8|(s[6788]<<16|s[6789]<<24),A=s[6782]|s[6783]<<8|(s[6784]<<16|s[6785]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[6778]|s[6779]<<8|(s[6780]<<16|s[6781]<<24),A=s[6774]|s[6775]<<8|(s[6776]<<16|s[6777]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,136,o+4|0),l[o+15|0]>=0)break i;G(i[o+4>>2]);break i}u=s[t|0],h=s[t+1|0];r:{if((A|0)==32){n=n+4|0,t=s[t+3|0]|(h<<16|u<<24|s[t+2|0]<<8);break r}n=n+2|0,t=(h<<16|u<<24)>>16}i[k>>2]=n,i[e+4>>2]=t,n=i[k>>2],t=n+i[r>>2]|0,u=s[t|0],h=s[t+1|0];r:{if((A|0)==32){n=n+4|0,t=s[t+3|0]|(h<<16|u<<24|s[t+2|0]<<8);break r}n=n+2|0,t=(h<<16|u<<24)>>16}i[k>>2]=n,i[e+8>>2]=t,t=i[r>>2],w=i[k>>2],n=t+w|0,u=s[n|0],h=s[n+1|0];r:{if((A|0)==32){n=s[n+3|0]|(h<<16|u<<24|s[n+2|0]<<8),u=4;break r}n=h|u<<8,u=2}i[k>>2]=u+w,i[e+12>>2]=n,w=i[k>>2],n=w+t|0,u=s[n|0],h=s[n+1|0];r:{if((A|0)==32){A=s[n+3|0]|(h<<16|u<<24|s[n+2|0]<<8),n=4;break r}A=h|u<<8,n=2}if(i[k>>2]=n+w,i[e+16>>2]=A,A=i[k>>2],n=s[A+t|0],i[k>>2]=A+1,n){if(e=U(56),i[o+4>>2]=e,i[o+8>>2]=51,i[o+12>>2]=-2147483592,r=s[12359]|s[12360]<<8|(s[12361]<<16|s[12362]<<24),A=s[12355]|s[12356]<<8|(s[12357]<<16|s[12358]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+51|0]=0,r=s[12402]|s[12403]<<8|(s[12404]<<16|s[12405]<<24),l[e+47|0]=r,l[e+48|0]=r>>>8,l[e+49|0]=r>>>16,l[e+50|0]=r>>>24,r=s[12399]|s[12400]<<8|(s[12401]<<16|s[12402]<<24),A=s[12395]|s[12396]<<8|(s[12397]<<16|s[12398]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[12391]|s[12392]<<8|(s[12393]<<16|s[12394]<<24),A=s[12387]|s[12388]<<8|(s[12389]<<16|s[12390]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[12383]|s[12384]<<8|(s[12385]<<16|s[12386]<<24),A=s[12379]|s[12380]<<8|(s[12381]<<16|s[12382]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[12375]|s[12376]<<8|(s[12377]<<16|s[12378]<<24),A=s[12371]|s[12372]<<8|(s[12373]<<16|s[12374]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[12367]|s[12368]<<8|(s[12369]<<16|s[12370]<<24),A=s[12363]|s[12364]<<8|(s[12365]<<16|s[12366]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,136,o+4|0),l[o+15|0]>=0)break i;G(i[o+4>>2]);break i}if(t=i[r+4>>2]+((A^-1)-t|0)|0,u=m(i[e+16>>2],i[e+12>>2]),A=u>>>3|0,t>>>0>>0){if(e=U(64),i[o+4>>2]=e,i[o+8>>2]=57,i[o+12>>2]=-2147483584,r=s[14723]|s[14724]<<8|(s[14725]<<16|s[14726]<<24),A=s[14719]|s[14720]<<8|(s[14721]<<16|s[14722]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+57|0]=0,l[e+56|0]=s[14775],r=s[14771]|s[14772]<<8|(s[14773]<<16|s[14774]<<24),A=s[14767]|s[14768]<<8|(s[14769]<<16|s[14770]<<24),l[e+48|0]=A,l[e+49|0]=A>>>8,l[e+50|0]=A>>>16,l[e+51|0]=A>>>24,l[e+52|0]=r,l[e+53|0]=r>>>8,l[e+54|0]=r>>>16,l[e+55|0]=r>>>24,r=s[14763]|s[14764]<<8|(s[14765]<<16|s[14766]<<24),A=s[14759]|s[14760]<<8|(s[14761]<<16|s[14762]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[14755]|s[14756]<<8|(s[14757]<<16|s[14758]<<24),A=s[14751]|s[14752]<<8|(s[14753]<<16|s[14754]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[14747]|s[14748]<<8|(s[14749]<<16|s[14750]<<24),A=s[14743]|s[14744]<<8|(s[14745]<<16|s[14746]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[14739]|s[14740]<<8|(s[14741]<<16|s[14742]<<24),A=s[14735]|s[14736]<<8|(s[14737]<<16|s[14738]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[14731]|s[14732]<<8|(s[14733]<<16|s[14734]<<24),A=s[14727]|s[14728]<<8|(s[14729]<<16|s[14730]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,136,o+4|0),l[o+15|0]>=0)break i;G(i[o+4>>2]);break i}t=e+20|0,h=i[e+20>>2],n=i[e+24>>2]-h|0;r:{if(n>>>0>>0){L2(t,A-n|0);break r}if(A>>>0>=n>>>0)break r;i[e+24>>2]=A+h}if(u>>>0>=8&&F2(i[t>>2],i[r>>2]+i[k>>2]|0,A),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=o+16|0}function ZA(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0,n2=0,s2=0,W2=0,y2=0,x2=0,T2=0,O2=0,q2=0,b2=0,e1=0,A1=0,h1=0,B1=0,p1=0,W1=0,X1=0,N1=0,r4=0,e4=0;n=B+-64|0,B=n;i:{r:{u=i[f+276>>2],y2=(A|0)>(u|0)?u:A;e:{if((y2|0)<=(r|0)||(n2=i[f+272>>2],x2=(k|0)>(n2|0)?n2:k,(x2|0)<=0))break e;for(A1=e?1:2,h1=e?2:1,y=i[f+40>>2],T2=y<<1,O2=i[f+124>>2],A=i[O2+16832>>2],q2=A-8|0,D=-1<>2],G0=0-y<<1,S=y<<1,S0=0-S<<1;;){for(F0=r<<2,b2=F0-1|0,N1=m(y,F0),r4=m(e1,p1)+W1|0,e4=m(F0>>2,n2)+X1|0,W2=0,c0=0;;){v=c0<<2,f0=s[(v>>2)+e4|0]&3;A:{if(!f0)break A;A=i[f+4>>2],u=A+(v+N1<<1)|0;f:{if(!e){X[n+32>>1]=Q[u>>1],X[n>>1]=Q[u+G0>>1],X[n+34>>1]=Q[u+S>>1],X[n+2>>1]=Q[u+S0>>1],t=S<<1,X[n+36>>1]=Q[t+u>>1],C=Q[u+p0>>1],X[n+4>>1]=C,X[n+38>>1]=Q[u+X0>>1],o=s2<<1,I=Q[o+u>>1],X[n+6>>1]=I,A=u+2|0,X[n+40>>1]=Q[A>>1],X[n+8>>1]=Q[A+G0>>1],X[n+42>>1]=Q[A+S>>1],X[n+10>>1]=Q[A+S0>>1],X[n+44>>1]=Q[A+t>>1],X[n+12>>1]=Q[A+p0>>1],X[n+46>>1]=Q[A+X0>>1],X[n+14>>1]=Q[A+o>>1],A=u+4|0,X[n+48>>1]=Q[A>>1],X[n+16>>1]=Q[A+G0>>1],X[n+50>>1]=Q[A+S>>1],X[n+18>>1]=Q[A+S0>>1],X[n+52>>1]=Q[A+t>>1],X[n+20>>1]=Q[A+p0>>1],X[n+54>>1]=Q[A+X0>>1],X[n+22>>1]=Q[A+o>>1],k=u+6|0,X[n+56>>1]=Q[k>>1],A=Q[k+G0>>1],X[n+24>>1]=A,X[n+58>>1]=Q[k+S>>1],_=Q[k+S0>>1],X[n+26>>1]=_,X[n+60>>1]=Q[k+t>>1],w=Q[k+p0>>1],X[n+28>>1]=w,X[n+62>>1]=Q[k+X0>>1],k=k+o|0;break f}A=A+((W2<>1]|Q[A+6>>1]<<16,i[n+32>>2]=Q[A>>1]|Q[A+2>>1]<<16,i[n+36>>2]=k,X[n>>1]=Q[u-2>>1],X[n+2>>1]=Q[u-4>>1],C=Q[u-6>>1],X[n+4>>1]=C,I=Q[u-8>>1],X[n+6>>1]=I,k=A+T2|0,t=Q[k+4>>1]|Q[k+6>>1]<<16,i[n+40>>2]=Q[k>>1]|Q[k+2>>1]<<16,i[n+44>>2]=t,k=u+S|0,X[n+8>>1]=Q[k-2>>1],X[n+10>>1]=Q[k-4>>1],X[n+12>>1]=Q[k-6>>1],X[n+14>>1]=Q[k-8>>1],k=A+Q0|0,t=Q[k+4>>1]|Q[k+6>>1]<<16,i[n+48>>2]=Q[k>>1]|Q[k+2>>1]<<16,i[n+52>>2]=t,k=u+Q0|0,X[n+16>>1]=Q[k-2>>1],X[n+18>>1]=Q[k-4>>1],X[n+20>>1]=Q[k-6>>1],X[n+22>>1]=Q[k-8>>1],A=A+X0|0,k=Q[A+4>>1]|Q[A+6>>1]<<16,i[n+56>>2]=Q[A>>1]|Q[A+2>>1]<<16,i[n+60>>2]=k,k=u+X0|0,A=Q[k-2>>1],X[n+24>>1]=A,_=Q[k-4>>1],X[n+26>>1]=_,w=Q[k-6>>1],X[n+28>>1]=w,k=k-8|0}if(r2=Q[k>>1],X[n+30>>1]=r2,E=i[f+168>>2],k=v>>E,(k|0)<0||(Z=i[f+172>>2],(Z|0)<=(k|0)))break i;if(t=F0>>E,(t|0)<0||(z=i[f+176>>2],(z|0)<=(t|0)))break r;J=i[f+160>>2],H=J+m(k,3)|0,h=m(m(t,Z),3),q=H+h|0,I0=l[q+2|0];f:{if(!e){if(k=b2>>E,(k|0)<0|(k|0)>=(z|0))break r;k=(H+m(m(k,Z),3)|0)+2|0;break f}if(k=v-1>>E,(k|0)<0|k>>>0>=Z>>>0)break i;k=(h+(J+m(k,3)|0)|0)+2|0}if(o=i[f+148>>2],t=v>>o,(t|0)<0||(n0=i[f+152>>2],(n0|0)<=(t|0)))break i;if(o=F0>>o,(o|0)<0|(o|0)>=i[f+156>>2])break r;if(R=Q[n+56>>1],h0=R+(Q[n+60>>1]-(Q[n+58>>1]<<1)|0)|0,p=h0>>31,j=((w&65535)-(_<<1)|0)+A|0,_=j>>31,w=Q[n+32>>1],L=w+(Q[n+36>>1]-(Q[n+34>>1]<<1)|0)|0,d=L>>31,A0=Q[n>>1],W=A0+(C-(Q[n+2>>1]<<1)|0)|0,C=W>>31,p=(p^h0)-p|0,h0=(_^j)-_|0,j=p+h0|0,d=(d^L)-d|0,L=(C^W)-C|0,W=d+L|0,k=(I0+l[k|0]|0)+1>>1,o=i[i[f+52>>2]+(Q[((i[f+140>>2]+m(t,24)|0)+m(m(o,n0),24)|0)+2>>1]<<2)>>2],t=k+i[o+764>>2]|0,t=(t|0)>=51?51:t,_=s[((t|0)>0?t:0)+42960|0]<=(_|0))break A;t=A,A=(i[o+768>>2]+(k+(f0<<1)|0)|0)-2|0,A=(A|0)>=53?53:A,C=s[((A|0)>0?A:0)+43024|0]<>>2|0,k=0;f:{if(f0>>>0<=W<<1>>>0||(I0=w-Q[n+38>>1]|0,o=I0>>31,n0=I-A0|0,I=n0>>31,k=0,(o^I0)-o+((I^n0)-I)>>>0>=_>>>3>>>0))break f;o=A0-w|0,k=o>>31,k=((k^o)-k|0)>1}o=k;f:{if(f0>>>0<=j<<1>>>0||(I=R-Q[n+62>>1]|0,k=I>>31,A0=r2-t|0,w=A0>>31,(k^I)-k+((w^A0)-w)>>>0>=_>>>3>>>0))break f;k=t-R|0,A=k>>31,A=((A^k)-A|0)>1}w=s[O2+8812|0];f:{if(!e){if(t=b2>>E,w){if((t|0)<0|(t|0)>=(z|0))break r;k=!(s[(H+m(m(t,Z),3)|0)+1|0]&4)}else k=1;if((t|0)<0|(t|0)>=(z|0))break r;t=H+m(m(t,Z),3)|0;break f}if(t=v-1>>E,w){if((t|0)<0|t>>>0>=Z>>>0)break i;k=!(s[(h+(J+m(t,3)|0)|0)+1|0]&4)}else k=1;if((t|0)<0|t>>>0>=Z>>>0)break i;t=h+(J+m(t,3)|0)|0}for(A0=A&o,z=!(s[t+1|0]&8)&k,A=_+(_>>>1|0)>>>3|0,f0=z&A>>>0>h0+L>>>0,k=A>>>0>p+d>>>0,A=s[q|0]|s[q+1|0]<<8,_=!(A&2048)&(!w|!(A&1024)),r2=k&_,t=C<<1,A=0,d=0-C|0,I0=m(C,10),n0=u+2|0,h0=u-4|0,j=u-2|0,I=C>>1,q=0-I|0,L=u+S|0;;){Z=A<<3,k=Z+n|0,o=Q[k+2>>1],h=Z+(n+32|0)|0,J=Q[h+4>>1],Z=Q[h+2>>1],v=Q[h>>1],H=Q[k+4>>1],E=Q[k>>1];f:{if(!A0){if(k=(m(v-E|0,9)+m(Z-o|0,-3)|0)+8>>4,h=k>>31,(I0|0)<=((k^h)-h|0))break f;h=(k|0)<(d|0)?d:(k|0)<(C|0)?k:C;k:{n:{if(!e){if(z&&(k=h+E|0,X[u+(A-y<<1)>>1]=(k|0)>=0?(k|0)<(D|0)?k:D:0),!_)break k;k=v-h|0,w=(k|0)>=0?(k|0)<(D|0)?k:D:0,k=A;break n}if(z&&(k=h+E|0,X[j+(m(A,y)<<1)>>1]=(k|0)>=0?(k|0)<(D|0)?k:D:0),!_)break k;k=v-h|0,w=(k|0)>=0?(k|0)<(D|0)?k:D:0,k=m(A,y)}X[(k<<1)+u>>1]=w}if(f0&&(k=h+(((E+H|0)+1>>>1|0)-o|0)>>1,k=((k|0)<(q|0)?q:(k|0)<(I|0)?k:I)+o|0,X[(e?h0+(m(A,y)<<1)|0:u+(A-T2<<1)|0)>>1]=(k|0)>=0?(k|0)<(D|0)?k:D:0),!r2)break f;if(k=((v+J|0)+1>>>1)-(h+Z)>>1,k=Z+((k|0)<(q|0)?q:(k|0)<(I|0)?k:I)|0,k=(k|0)>=0?(k|0)<(D|0)?k:D:0,!e){X[(A<<1)+L>>1]=k;break f}X[n0+(m(A,y)<<1)>>1]=k;break f}if(R=Z-t|0,p=v+E|0,W=p+Z|0,w=(W+J|0)+2>>>2|0,a=t+Z|0,w=(w|0)<(R|0)?R:(w|0)<(a|0)?w:a,a=o-t|0,p=o+p|0,R=(p+H|0)+2>>>2|0,Y0=t+o|0,R=(R|0)<(a|0)?a:(R|0)<(Y0|0)?R:Y0,a=J-t|0,h=((W+m(J,3)|0)+(Q[h+6>>1]<<1)|0)+4>>>3|0,W=t+J|0,h=(h|0)<(a|0)?a:(h|0)<(W|0)?h:W,W=H-t|0,k=((p+m(H,3)|0)+(Q[k+6>>1]<<1)|0)+4>>>3|0,p=t+H|0,p=(k|0)<(W|0)?W:(k|0)<(p|0)?k:p,W=v-t|0,Y0=v<<1,a=(E<<1)+4|0,k=J+((Y0+(a+o|0)|0)+(Z<<1)|0)>>>3|0,v=t+v|0,v=(k|0)<(W|0)?W:(k|0)<(v|0)?k:v,J=E-t|0,k=Z+(Y0+((H+a|0)+(o<<1)|0)|0)>>>3|0,o=t+E|0,o=(k|0)<(J|0)?J:(k|0)<(o|0)?k:o,!e){if(k=u+(A<<1)|0,!z){if(!_)break f;X[k>>1]=v,X[k+S>>1]=w,X[k+Q0>>1]=h;break f}if(!_){X[k+G0>>1]=o,X[k+s2>>1]=R,X[k+p0>>1]=p;break f}X[k+G0>>1]=o,X[k>>1]=v,X[k+s2>>1]=R,X[k+S>>1]=w,X[k+p0>>1]=p,X[k+Q0>>1]=h;break f}if(k=u+(m(A,y)<<1)|0,z&&(X[k-2>>1]=o),_&&(X[k>>1]=v),z&&(X[k-4>>1]=R),_&&(X[k+2>>1]=w),z&&(X[k-6>>1]=p),!_)break f;X[k+4>>1]=h}if(A=A+1|0,(A|0)==4)break}}if(W2=W2+1|0,c0=c0+h1|0,!((x2|0)>(c0|0)))break}if(e1=e1+1|0,r=r+A1|0,!((y2|0)>(r|0)))break}}B=n- -64|0;return}C0(3720,8453,119,3372),P()}C0(3758,8453,118,3372),P()}function Hs(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0;if(k=B-192|0,B=k,i[k+92>>2]=54820,A=i[13708],i[k+36>>2]=A,o=k+36|0,i[o+i[A-12>>2]>>2]=i[13709],A=o+i[i[k+36>>2]-12>>2]|0,n=k+40|0,b0(A,n),i[A+72>>2]=0,i[A+76>>2]=-1,i[k+92>>2]=54820,i[k+36>>2]=54800,Z=$0(n),i[Z>>2]=53552,i[k+80>>2]=0,i[k+84>>2]=0,i[k+72>>2]=0,i[k+76>>2]=0,i[k+88>>2]=16,A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,t=A+12|0,i[t+i[n-12>>2]>>2]=i[13709],n=t+i[i[A+12>>2]-12>>2]|0,u=A+16|0,b0(n,u),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,n=$0(u),i[n>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,u=A+148|0,R2(u,e,r),w=t,h=u,t=l[A+159|0],u=(t|0)<0,x(w,u?i[A+148>>2]:h,u?i[A+152>>2]:t),l[A+159|0]<0&&G(i[A+148>>2]),t=A+148|0,W0(t,r),w=t,t=l[A+159|0],u=(t|0)<0,x(A+12|0,u?i[A+148>>2]:w,u?i[A+152>>2]:t),l[A+159|0]<0&&G(i[A+148>>2]),t=x(H0(x(A+12|0,20352,9),s[e+48|0]),31338,1),u=A+148|0,W0(u,r),w=u,u=l[A+159|0],h=(u|0)<0,x(t,h?i[A+148>>2]:w,h?i[A+152>>2]:u),l[A+159|0]<0&&G(i[A+148>>2]),t=x(t,19951,7),u=i[i[t>>2]-12>>2]+t|0,i[u+4>>2]=i[u+4>>2]&-75|8,x(L0(t,i[e+52>>2]),31338,1),t=k+180|0,i2(t,n),u=i[13707],i[A+12>>2]=u,i[i[u-12>>2]+(A+12|0)>>2]=i[13710],i[n>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(n),T0(A+68|0),B=A+160|0,A=l[k+191|0],n=(A|0)<0,x(o,n?i[k+180>>2]:t,n?i[k+184>>2]:A),l[k+191|0]<0&&G(i[k+180>>2]),A=k+180|0,W0(A,r),t=A,A=l[k+191|0],n=(A|0)<0,x(k+36|0,n?i[k+180>>2]:t,n?i[k+184>>2]:A),l[k+191|0]<0&&G(i[k+180>>2]),A=k+36|0,x(H0(x(A,20755,17),s[e+56|0]+1|0),31338,1),s[e+57|0]==1&&(n=k+180|0,W0(n,r),t=A,u=n,A=l[k+191|0],n=(A|0)<0,x(t,n?i[k+180>>2]:u,n?i[k+184>>2]:A),l[k+191|0]<0&&G(i[k+180>>2]),A=x(L0(x(k+36|0,19490,11),Q[e+58>>1]),31338,1),n=k+180|0,W0(n,r),t=n,n=l[k+191|0],o=(n|0)<0,x(A,o?i[k+180>>2]:t,o?i[k+184>>2]:n),l[k+191|0]<0&&G(i[k+180>>2]),A=x(H0(x(A,19767,15),s[e+60|0]),31338,1),n=k+180|0,W0(n,r),t=n,n=l[k+191|0],o=(n|0)<0,x(A,o?i[k+180>>2]:t,o?i[k+184>>2]:n),l[k+191|0]<0&&G(i[k+180>>2]),n=x(A,20879,21),A=s[e+61|0],A=(A|0)==1?3125:(A|0)==2?5488:6156,A=x(x(n,A,G2(A)),31338,1),n=k+180|0,W0(n,r),t=n,n=l[k+191|0],o=(n|0)<0,x(A,o?i[k+180>>2]:t,o?i[k+184>>2]:n),l[k+191|0]<0&&G(i[k+180>>2]),n=x(A,19659,15),A=i[(s[e+62|0]<<2)+74912>>2],A=x(x(n,A,G2(A)),31338,1),n=k+180|0,W0(n,r),t=n,n=l[k+191|0],o=(n|0)<0,x(A,o?i[k+180>>2]:t,o?i[k+184>>2]:n),l[k+191|0]<0&&G(i[k+180>>2]),A=x(H0(x(A,20498,11),s[e+63|0]+8|0),31338,1),n=k+180|0,W0(n,r),t=n,n=l[k+191|0],o=(n|0)<0,x(A,o?i[k+180>>2]:t,o?i[k+184>>2]:n),l[k+191|0]<0&&G(i[k+180>>2]),A=x(L0(x(A,21705,20),Q[e+120>>1]),31338,1),n=k+180|0,W0(n,r),t=n,n=l[k+191|0],o=(n|0)<0,x(A,o?i[k+180>>2]:t,o?i[k+184>>2]:n),l[k+191|0]<0&&G(i[k+180>>2]),x(L0(x(A,19591,20),Q[e+122>>1]),31338,1),A=k+180|0,W0(A,r),t=A,A=l[k+191|0],n=(A|0)<0,x(k+36|0,n?i[k+180>>2]:t,n?i[k+184>>2]:A),l[k+191|0]<0&&G(i[k+180>>2]),A=x(H0(x(k+36|0,21107,17),s[e+65|0]),31338,1),n=k+180|0,W0(n,r),t=n,n=l[k+191|0],o=(n|0)<0,x(A,o?i[k+180>>2]:t,o?i[k+184>>2]:n),l[k+191|0]<0&&G(i[k+180>>2]),A=x(H0(x(A,20680,11),s[e+66|0]),31338,1),n=k+180|0,W0(n,r),t=n,n=l[k+191|0],o=(n|0)<0,x(A,o?i[k+180>>2]:t,o?i[k+184>>2]:n),l[k+191|0]<0&&G(i[k+180>>2]),A=x(H0(x(A,16391,14),s[e+67|0]),31338,1),n=k+180|0,W0(n,r),t=n,n=l[k+191|0],o=(n|0)<0,x(A,o?i[k+180>>2]:t,o?i[k+184>>2]:n),l[k+191|0]<0&&G(i[k+180>>2]),A=x(H0(x(A,20647,32),s[e+68|0]),31338,1),n=k+180|0,W0(n,r),t=n,n=l[k+191|0],o=(n|0)<0,x(A,o?i[k+180>>2]:t,o?i[k+184>>2]:n),l[k+191|0]<0&&G(i[k+180>>2]),x(H0(x(A,20692,30),s[e+69|0]),31338,1)),A=k+180|0,W0(A,r),t=A,A=l[k+191|0],n=(A|0)<0,x(k+36|0,n?i[k+180>>2]:t,n?i[k+184>>2]:A),l[k+191|0]<0&&G(i[k+180>>2]),A=k+36|0,x(L0(x(A,19675,15),i[e+132>>2]-i[e+128>>2]>>4),31338,1),n=k+180|0,W0(n,r),t=A,u=n,A=l[k+191|0],n=(A|0)<0,x(t,n?i[k+180>>2]:u,n?i[k+184>>2]:A),l[k+191|0]<0&&G(i[k+180>>2]),x(k+36|0,30574,13),n=i[e+128>>2],p=i[e+132>>2],(n|0)!=(p|0))for(e=i[r>>2];;){i[r>>2]=e+1,e=k+180|0,W0(e,r),t=e,e=l[k+191|0],A=(e|0)<0,x(k+36|0,A?i[k+180>>2]:t,A?i[k+184>>2]:e),l[k+191|0]<0&&G(i[k+180>>2]),A=x(H0(x(k+36|0,21070,10),s[n+1|0]),18656,2),e=s[n+1|0]-12&255,e>>>0>7?e=15637:e=i[(e<<2)+74988>>2],x(x(A,e,G2(e)),31337,2),e=k+180|0,W0(e,r),t=e,e=l[k+191|0],A=(e|0)<0,x(k+36|0,A?i[k+180>>2]:t,A?i[k+184>>2]:e),l[k+191|0]<0&&G(i[k+180>>2]),x(H0(x(k+36|0,19746,20),s[n|0]),31338,1);i:{if(e=i[n+4>>2],W=i[n+8>>2],(e|0)==(W|0))break i;for(;;){r:{i[r>>2]=i[r>>2]+1,A=k+24|0,W0(A,r),o=i[e>>2],ck(k+12|0,o,i[e+4>>2]-o|0,A,A),h=l[k+23|0],w=i[k+12>>2],v=i[k+16>>2],A=k+36|0,C=V1(k+172|0,A);e:{if(s[C|0]!=1)break e;t=A+i[i[k+36>>2]-12>>2]|0,y=i[t+4>>2],o=i[t+24>>2],u=i[t+76>>2],(u|0)==-1&&(_=k+180|0,A=i[t+28>>2],i[_>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(_,100192),u=V[i[i[A>>2]+28>>2]](A,32)|0,O0(_),i[t+76>>2]=u);A:{if(!o||(_=i[t+12>>2],A=w,w=(h|0)<0,A=w?A:k+12|0,h=w?v:h,I=A+h|0,w=(y&176)==32?I:A,v=w-A|0,(v|0)>0&&(V[i[i[o>>2]+48>>2]](o,A,v)|0)!=(v|0)))break A;if(A=(h|0)<(_|0)?_-h|0:0,(A|0)>0){if(A>>>0>=2147483640)break r;f:{if(A>>>0>=11){_=(A|7)+1|0,h=U(_),i[k+188>>2]=_|-2147483648,i[k+180>>2]=h,i[k+184>>2]=A;break f}l[k+191|0]=A,h=k+180|0}if(E=B0(h,u,A)+A|0,J=0,l[E|0]=J,u=V[i[i[o>>2]+48>>2]](o,l[k+191|0]<0?i[k+180>>2]:k+180|0,A)|0,l[k+191|0]<0&&G(i[k+180>>2]),(A|0)!=(u|0))break A}if(A=I-w|0,(A|0)>0&&(V[i[i[o>>2]+48>>2]](o,w,A)|0)!=(A|0))break A;i[t+12>>2]=0;break e}A=i[i[k+36>>2]-12>>2]+(k+36|0)|0,z1(A,i[A+16>>2]|5)}if(Z1(C),l[k+23|0]<0&&G(i[k+12>>2]),A=i[r>>2],i[r>>2]=(A|0)>0?A-1|0:0,l[k+35|0]<0&&G(i[k+24>>2]),e=e+12|0,(W|0)!=(e|0))continue;break i}break}c2(),P()}if(e=i[r>>2],e=(e|0)>0?e-1|0:0,i[r>>2]=e,n=n+16|0,(p|0)==(n|0))break}i2(f,Z),f=i[13707],i[k+36>>2]=f,i[i[f-12>>2]+(k+36|0)>>2]=i[13710],i[Z>>2]=53552,l[k+83|0]<0&&G(i[k+72>>2]),K0(Z),T0(k+92|0),B=k+192|0}function Gk(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=Y(0),Z=0,p=0,W=Y(0);_=B-16|0,B=_,i[_+12>>2]=r;i:{r:{if(o=i[k+4>>2],!o)break r;n=i[k>>2],h=Ui(o),u=o-1&r;e:{if(h>>>0<=1||(u=r,r>>>0>>0))break e;u=(r>>>0)%(o>>>0)|0}if(n=i[n+(u<<2)>>2],!n||(t=i[n>>2],!t))break r;e:{if(h>>>0<=1){for(n=o-1|0;;){o=i[t+4>>2];A:{if((o|0)!=(r|0)){if((u|0)==(n&o))break A;break r}if(i[t+8>>2]==(r|0))break e}if(t=i[t>>2],!t)break}break r}for(;;){n=i[t+4>>2];A:{if((n|0)!=(r|0)){if(n>>>0>=o>>>0&&(n=(n>>>0)%(o>>>0)|0),(n|0)==(u|0))break A;break r}if(i[t+8>>2]==(r|0))break e}if(t=i[t>>2],!t)break}break r}if(e=U(24),i[_>>2]=e,i[_+4>>2]=21,i[_+8>>2]=-2147483624,r=s[10269]|s[10270]<<8|(s[10271]<<16|s[10272]<<24),A=s[10265]|s[10266]<<8|(s[10267]<<16|s[10268]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+21|0]=0,r=s[10282]|s[10283]<<8|(s[10284]<<16|s[10285]<<24),A=s[10278]|s[10279]<<8|(s[10280]<<16|s[10281]<<24),l[e+13|0]=A,l[e+14|0]=A>>>8,l[e+15|0]=A>>>16,l[e+16|0]=A>>>24,l[e+17|0]=r,l[e+18|0]=r>>>8,l[e+19|0]=r>>>16,l[e+20|0]=r>>>24,r=s[10277]|s[10278]<<8|(s[10279]<<16|s[10280]<<24),A=s[10273]|s[10274]<<8|(s[10275]<<16|s[10276]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,2008,_),l[_+11|0]>=0)break i;G(i[_>>2]);break i}r=0,o=_+12|0,u=i[o>>2],t=i[k+4>>2];r:{e:{if(!t)break e;n=i[k>>2],h=Ui(t),r=u&t-1;A:{if(h>>>0<=1||(r=u,r>>>0>>0))break A;r=(r>>>0)%(t>>>0)|0}if(n=i[n+(r<<2)>>2],!n||(w=i[n>>2],!w))break e;if(h>>>0<=1){for(n=t-1|0;;){A:{if(h=i[w+4>>2],(h|0)!=(u|0)){if((n&h)!=(r|0))break e;break A}if((u|0)!=i[w+8>>2])break A;r=0;break r}if(w=i[w>>2],!w)break}break e}for(;;){A:{if(n=i[w+4>>2],(n|0)!=(u|0)){if(n>>>0>=t>>>0&&(n=(n>>>0)%(t>>>0)|0),(r|0)!=(n|0))break e;break A}if((u|0)!=i[w+8>>2])break A;r=0;break r}if(w=i[w>>2],!w)break}}w=U(12),i[w+4>>2]=u,i[w>>2]=0,i[w+8>>2]=i[o>>2],W=Y(i[k+12>>2]+1>>>0),v=Z0[k+16>>2];e:{if(!(W>Y(v*Y(t>>>0)))&&t)break e;r=2,o=(t-1&t)!=0|t>>>0<3|t<<1,v=Y(b5(Y(W/v)));A:{if(v=Y(0)){n=~~v>>>0;break A}n=0}n=n>>>0>>0?o:n;A:{if((n|0)==1)break A;if(!(n&n-1)){r=n;break A}r=yk(n),t=i[k+4>>2]}A:{if(r>>>0<=t>>>0){if(r>>>0>=t>>>0)break A;o=t>>>0<3,v=Y(b5(Y(Y(k0[k+12>>2])/Z0[k+16>>2])));f:{if(v=Y(0)){n=~~v>>>0;break f}n=0}f:{k:{if(o||Ui(t)>>>0>1)break k;n=n>>>0<2?n:1<<32-$2(n-1|0);break f}n=yk(n)}if(r=r>>>0>n>>>0?r:n,t>>>0<=r>>>0)break A}t=0,h=0,o=r;f:{k:{n:{t:{if(r){if(r>>>0>=1073741824)break t;if(n=U(r<<2),r=i[k>>2],i[k>>2]=n,r&&G(r),i[k+4>>2]=o,n=0,o>>>0>=4)for(Z=o&1073741820;r=n<<2,i[r+i[k>>2]>>2]=0,i[(r+i[k>>2]|0)+4>>2]=0,i[(r+i[k>>2]|0)+8>>2]=0,i[(r+i[k>>2]|0)+12>>2]=0,n=n+4|0,h=h+4|0,(Z|0)!=(h|0););if(r=o&3,r)for(;i[i[k>>2]+(n<<2)>>2]=0,n=n+1|0,t=t+1|0,(r|0)!=(t|0););if(r=i[k+8>>2],!r)break f;if(n=k+8|0,t=i[r+4>>2],h=Ui(o),h>>>0<2)break n;if(t=t>>>0>=o>>>0?(t>>>0)%(o>>>0)|0:t,i[i[k>>2]+(t<<2)>>2]=n,n=i[r>>2],!n)break f;if(h>>>0<=1)break k;for(;;){h=i[n+4>>2],o>>>0<=h>>>0&&(h=(h>>>0)%(o>>>0)|0);o:{if((t|0)==(h|0)){r=n;break o}if(Z=h<<2,p=Z+i[k>>2]|0,!i[p>>2]){i[p>>2]=r,r=n,t=h;break o}i[r>>2]=i[n>>2],i[n>>2]=i[i[Z+i[k>>2]>>2]>>2],i[i[Z+i[k>>2]>>2]>>2]=n}if(n=i[r>>2],!n)break}break f}r=i[k>>2],i[k>>2]=0,r&&G(r),i[k+4>>2]=0;break f}_2(),P()}if(t=o-1&t,i[i[k>>2]+(t<<2)>>2]=n,n=i[r>>2],!n)break f}for(Z=o-1|0;;){o=Z&i[n+4>>2];k:{if((o|0)==(t|0)){r=n;break k}if(h=o<<2,p=h+i[k>>2]|0,i[p>>2]){i[r>>2]=i[n>>2],i[n>>2]=i[i[h+i[k>>2]>>2]>>2],i[i[h+i[k>>2]>>2]>>2]=n;break k}i[p>>2]=r,r=n,t=o}if(n=i[r>>2],!n)break}}}if(t=i[k+4>>2],r=t-1|0,!(r&t)){r=r&u;break e}if(t>>>0>u>>>0){r=u;break e}r=(u>>>0)%(t>>>0)|0}n=i[k>>2]+(r<<2)|0,r=i[n>>2];e:{A:{if(!r){if(r=k+8|0,i[w>>2]=i[r>>2],i[k+8>>2]=w,i[n>>2]=r,r=i[w>>2],!r)break e;r=i[r+4>>2],n=t-1|0;f:{if(!(n&t)){r=r&n;break f}if(r>>>0>>0)break f;r=(r>>>0)%(t>>>0)|0}r=i[k>>2]+(r<<2)|0;break A}i[w>>2]=i[r>>2]}i[r>>2]=w}i[k+12>>2]=i[k+12>>2]+1,r=1}l[_+4|0]=r,i[_>>2]=w,oi(_,i[A>>2],i[_+12>>2]),t=i[_>>2],r=i[_+4>>2];r:{if((t|0)!=(r|0))for(;;){if(Gk(f,e,i[t>>2],A,k),i[f>>2])break r;if(l[f+19|0]<0&&G(i[f+8>>2]),t=t+4|0,(r|0)==(t|0))break}h=B-16|0,B=h,u=i[k+4>>2];e:{if(!u)break e;A=i[k>>2],r=i[_+12>>2],e=r&u-1,t=Ui(u);A:{if(t>>>0<=1||(e=r,r>>>0>>0))break A;e=(r>>>0)%(u>>>0)|0}if(n=e,e=i[(n<<2)+A>>2],!e||(e=i[e>>2],!e))break e;A:{if(t>>>0<=1){for(A=u-1|0;;){u=i[e+4>>2];f:{if((u|0)!=(r|0)){if((n|0)==(A&u))break f;break e}if((r|0)==i[e+8>>2])break A}if(e=i[e>>2],!e)break}break e}for(;;){A=i[e+4>>2];f:{if((A|0)!=(r|0)){if(A>>>0>=u>>>0&&(A=(A>>>0)%(u>>>0)|0),(A|0)==(n|0))break f;break e}if((r|0)==i[e+8>>2])break A}if(e=i[e>>2],!e)break}break e}r=e,t=i[r+4>>2],o=i[k+4>>2],w=Ui(o);A:{if(w>>>0<=1){t=o-1&t;break A}if(t>>>0>>0)break A;t=(t>>>0)%(o>>>0)|0}for(n=i[k>>2]+(t<<2)|0,A=i[n>>2];e=A,A=i[e>>2],(r|0)!=(A|0););Z=k+8|0;A:{if((Z|0)!=(e|0)){A=i[e+4>>2];f:{if(w>>>0<=1){A=o-1&A;break f}if(A>>>0>>0)break f;A=(A>>>0)%(o>>>0)|0}if((A|0)==(t|0))break A}if(A=i[r>>2],A){A=i[A+4>>2];f:{if(w>>>0<=1){A=o-1&A;break f}if(A>>>0>>0)break f;A=(A>>>0)%(o>>>0)|0}if((A|0)==(t|0))break A}i[n>>2]=0}u=i[r>>2],n=0;A:{if(!u)break A;A=i[u+4>>2];f:{if(w>>>0<=1){A=o-1&A;break f}if(A>>>0>>0)break f;A=(A>>>0)%(o>>>0)|0}if(n=u,(A|0)==(t|0))break A;i[i[k>>2]+(A<<2)>>2]=e,n=i[r>>2]}i[e>>2]=n,i[r>>2]=0,i[k+12>>2]=i[k+12>>2]-1,l[h+12|0]=1,i[h+8>>2]=Z,i[h+4>>2]=r,e=i[h+4>>2],i[h+4>>2]=0,e&&G(e)}if(B=h+16|0,e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break r}_0(f,i[19566],i[19567])}if(f=i[_>>2],!f)break i;i[_+4>>2]=f,G(f)}B=_+16|0}function Ts(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0;k=B-96|0,B=k,A=D0(r),i[e+52>>2]=A&16777215,l[e+48|0]=A>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[k+16|0]=0,l[k+27|0]=0,r0(k+72|0,2,100,k+16|0),l[k+27|0]>=0)break i;G(i[k+16>>2]);break i}if(A=i[19565],i[k+72>>2]=i[19564],i[k+76>>2]=A,t=k+80|0,l[78275]>=0){A=i[19567],i[t>>2]=i[19566],i[t+4>>2]=A,i[t+8>>2]=i[19568];break i}_0(t,i[19566],i[19567])}l[k+91|0]<0&&G(i[k+80>>2]);i:{r:{e:{A:{if(s[e+48|0]<=1){for(Z=f+8|0,p=e+56|0;;){if(i[r+16>>2]){i[k+16>>2]=68500,i[k+48>>2]=0,i[k+40>>2]=0,i[k+44>>2]=0,i[k+32>>2]=0,i[k+36>>2]=0,i[k+24>>2]=0,i[k+28>>2]=0,i[k+68>>2]=0,i[k+60>>2]=0,i[k+64>>2]=0,xk(f,k+16|0,r),C=i[f>>2],W=i[19564];f:{if((C|0)!=(W|0))break f;k:{if(!s[e+48|0]){if(I=k,y=t2(r),i[I+56>>2]=y,w=0,_=t2(r),!_)break k;for(;;){v=t2(r),A=i[k+64>>2],t=i[k+68>>2];n:{if(A>>>0>>0){i[A>>2]=v,o=A+4|0;break n}if(u=i[k+60>>2],n=A-u>>2,o=n+1|0,o>>>0>=1073741824)break A;if(h=t-u|0,t=h>>1,h=h>>>0>=2147483644?1073741823:o>>>0>>0?t:o,h){if(h>>>0>=1073741824)break e;t=U(h<<2)}else t=0;if(n=t+(n<<2)|0,i[n>>2]=v,o=n+4|0,(A|0)!=(u|0))for(;n=n-4|0,A=A-4|0,i[n>>2]=i[A>>2],(A|0)!=(u|0););if(i[k+68>>2]=t+(h<<2),i[k+64>>2]=o,i[k+60>>2]=n,!u)break n;G(u)}if(i[k+64>>2]=o,!i[r+16>>2])break k;if(w=w+1|0,!(_>>>0>w>>>0))break}break k}if(I=k,y=D0(r),i[I+56>>2]=y,w=0,_=t2(r),!_)break k;for(;;){v=D0(r),A=i[k+64>>2],t=i[k+68>>2];n:{if(A>>>0>>0){i[A>>2]=v,o=A+4|0;break n}if(u=i[k+60>>2],n=A-u>>2,o=n+1|0,o>>>0>=1073741824)break A;if(h=t-u|0,t=h>>1,h=h>>>0>=2147483644?1073741823:o>>>0>>0?t:o,h){if(h>>>0>=1073741824)break e;t=U(h<<2)}else t=0;if(n=t+(n<<2)|0,i[n>>2]=v,o=n+4|0,(A|0)!=(u|0))for(;n=n-4|0,A=A-4|0,i[n>>2]=i[A>>2],(A|0)!=(u|0););if(i[k+68>>2]=t+(h<<2),i[k+64>>2]=o,i[k+60>>2]=n,!u)break n;G(u)}if(i[k+64>>2]=o,!i[r+16>>2])break k;if(w=w+1|0,!(_>>>0>w>>>0))break}}A=i[e+60>>2];k:{if(A>>>0>2]){Z6(A,k+16|0),A=A+56|0;break k}A=xA(p,k+16|0)}if(i[e+60>>2]=A,l[f+19|0]>=0)break f;G(i[Z>>2])}if(A=i[k+60>>2],A&&(i[k+64>>2]=A,G(A)),i[k+16>>2]=68500,A=i[k+36>>2],A&&(i[k+40>>2]=A,G(A)),(W|0)==(C|0))continue;break i}break}f:{k:{_=i[e+56>>2],p=i[e+60>>2],e=(_|0)==(p|0);n:{if(e)break n;for(n=0,A=_;n=(i[A+48>>2]-i[A+44>>2]>>2)+n|0,A=A+56|0,(p|0)!=(A|0););if(n>>>0>1e4)break r;if(e)break n;for(h=k+20|0;;){if(i[k+16>>2]=h,i[k+20>>2]=0,i[k+24>>2]=0,C=k+16|0,v=i[_+44>>2],W=i[_+48>>2],(v|0)==(W|0))e=0;else{for(;;){u=i[v>>2],n=i[k+20>>2],o=n,e=h,w=e,A=e;t:{o:{if(!n)break o;for(;t=o,A=e,w=u>>>0>k0[t+16>>2],e=w?A:t,o=i[(w<<2)+t>>2],!!o;);if((e|0)!=(h|0)&u>>>0>=k0[(w?A:t)+16>>2])break k;for(;;){if(A=n,e=i[A+16>>2],e>>>0>u>>>0){if(w=A,n=i[A>>2],n)continue;break o}if(e>>>0>=u>>>0)break t;if(n=i[A+4>>2],!n)break}w=A+4|0}e=U(20),i[e+8>>2]=A,i[e>>2]=0,i[e+4>>2]=0,i[e+16>>2]=u,i[w>>2]=e,A=i[i[k+16>>2]>>2],A&&(i[k+16>>2]=A,e=i[w>>2]),D1(i[k+20>>2],e),i[k+24>>2]=i[k+24>>2]+1}if(v=v+4|0,(W|0)==(v|0))break}e=i[k+20>>2]}if(P8(C,e),_=_+56|0,(p|0)==(_|0))break}}if(s[r+20|0]!=1)break f;if(l[k+16|0]=0,l[k+27|0]=0,r0(f,2,100,k+16|0),l[k+27|0]>=0)break i;G(i[k+16>>2]);break i}A=U(32),i[k+4>>2]=A,i[k+8>>2]=28,i[k+12>>2]=-2147483616,r=s[4572]|s[4573]<<8|(s[4574]<<16|s[4575]<<24),e=s[4568]|s[4569]<<8|(s[4570]<<16|s[4571]<<24),l[A|0]=e,l[A+1|0]=e>>>8,l[A+2|0]=e>>>16,l[A+3|0]=e>>>24,l[A+4|0]=r,l[A+5|0]=r>>>8,l[A+6|0]=r>>>16,l[A+7|0]=r>>>24,l[A+28|0]=0,e=s[4592]|s[4593]<<8|(s[4594]<<16|s[4595]<<24),l[A+24|0]=e,l[A+25|0]=e>>>8,l[A+26|0]=e>>>16,l[A+27|0]=e>>>24,r=s[4588]|s[4589]<<8|(s[4590]<<16|s[4591]<<24),e=s[4584]|s[4585]<<8|(s[4586]<<16|s[4587]<<24),l[A+16|0]=e,l[A+17|0]=e>>>8,l[A+18|0]=e>>>16,l[A+19|0]=e>>>24,l[A+20|0]=r,l[A+21|0]=r>>>8,l[A+22|0]=r>>>16,l[A+23|0]=r>>>24,r=s[4580]|s[4581]<<8|(s[4582]<<16|s[4583]<<24),e=s[4576]|s[4577]<<8|(s[4578]<<16|s[4579]<<24),l[A+8|0]=e,l[A+9|0]=e>>>8,l[A+10|0]=e>>>16,l[A+11|0]=e>>>24,l[A+12|0]=r,l[A+13|0]=r>>>8,l[A+14|0]=r>>>16,l[A+15|0]=r>>>24,r0(f,2,0,k+4|0),l[k+15|0]<0&&G(i[k+4>>2]),P8(k+16|0,i[k+20>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,l[78275]>=0){f=i[19567],i[Z>>2]=i[19566],i[Z+4>>2]=f,i[Z+8>>2]=i[19568];break i}_0(Z,i[19566],i[19567]);break i}h4(f,e,8807);break i}y0(),P()}_2(),P()}if(A=U(56),i[k+16>>2]=A,i[k+20>>2]=49,i[k+24>>2]=-2147483592,r=s[17461]|s[17462]<<8|(s[17463]<<16|s[17464]<<24),e=s[17457]|s[17458]<<8|(s[17459]<<16|s[17460]<<24),l[A|0]=e,l[A+1|0]=e>>>8,l[A+2|0]=e>>>16,l[A+3|0]=e>>>24,l[A+4|0]=r,l[A+5|0]=r>>>8,l[A+6|0]=r>>>16,l[A+7|0]=r>>>24,l[A+49|0]=0,l[A+48|0]=s[17505],r=s[17501]|s[17502]<<8|(s[17503]<<16|s[17504]<<24),e=s[17497]|s[17498]<<8|(s[17499]<<16|s[17500]<<24),l[A+40|0]=e,l[A+41|0]=e>>>8,l[A+42|0]=e>>>16,l[A+43|0]=e>>>24,l[A+44|0]=r,l[A+45|0]=r>>>8,l[A+46|0]=r>>>16,l[A+47|0]=r>>>24,r=s[17493]|s[17494]<<8|(s[17495]<<16|s[17496]<<24),e=s[17489]|s[17490]<<8|(s[17491]<<16|s[17492]<<24),l[A+32|0]=e,l[A+33|0]=e>>>8,l[A+34|0]=e>>>16,l[A+35|0]=e>>>24,l[A+36|0]=r,l[A+37|0]=r>>>8,l[A+38|0]=r>>>16,l[A+39|0]=r>>>24,r=s[17485]|s[17486]<<8|(s[17487]<<16|s[17488]<<24),e=s[17481]|s[17482]<<8|(s[17483]<<16|s[17484]<<24),l[A+24|0]=e,l[A+25|0]=e>>>8,l[A+26|0]=e>>>16,l[A+27|0]=e>>>24,l[A+28|0]=r,l[A+29|0]=r>>>8,l[A+30|0]=r>>>16,l[A+31|0]=r>>>24,r=s[17477]|s[17478]<<8|(s[17479]<<16|s[17480]<<24),e=s[17473]|s[17474]<<8|(s[17475]<<16|s[17476]<<24),l[A+16|0]=e,l[A+17|0]=e>>>8,l[A+18|0]=e>>>16,l[A+19|0]=e>>>24,l[A+20|0]=r,l[A+21|0]=r>>>8,l[A+22|0]=r>>>16,l[A+23|0]=r>>>24,r=s[17469]|s[17470]<<8|(s[17471]<<16|s[17472]<<24),e=s[17465]|s[17466]<<8|(s[17467]<<16|s[17468]<<24),l[A+8|0]=e,l[A+9|0]=e>>>8,l[A+10|0]=e>>>16,l[A+11|0]=e>>>24,l[A+12|0]=r,l[A+13|0]=r>>>8,l[A+14|0]=r>>>16,l[A+15|0]=r>>>24,r0(f,6,1e3,k+16|0),l[k+27|0]>=0)break i;G(i[k+16>>2])}B=k+96|0}function _8(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0;h=B-160|0,B=h;i:{r:{if(v=i[f+18588>>2],o=i[v+168>>2],u=e>>o,(u|0)<0||(n=i[v+172>>2],(n|0)<=(u|0)))break r;if(o=r>>o,(o|0)<0|(o|0)>=i[v+176>>2])break i;a=i[v+132>>2],R=i[v+124>>2],w=s[((i[v+160>>2]+m(u,3)|0)+m(m(n,o),3)|0)+1|0];e:{if(k||(u=i[v+248>>2],n=A-u|0,(n|0)==31))break e;for(o=r>>u,n=1<>u,Z=u+n|0;;){for(n=u;t=(i[v+240>>2]+n|0)+m(i[v+252>>2],o)|0,l[t|0]=s[t|0]|128,n=n+1|0,(Z|0)>(n|0););if(o=o+1|0,!((W|0)>(o|0)))break}}n0=w&3,n=f+k|0,S=n,o=0;e:{if(!s[a+25|0]||(o=0,s[f+32|0])||(o=0,i[a+8276>>2]<(A|0)))break e;o=f2(f+18548|0,i[f+18572>>2]+(k?142:141)|0)}l[n+33|0]=o,l[f+36|0]=0;e:{if(!(s[n+33|0]|s[f+32|0])|(!s[R+16823|0]|(n0|0)!=1)||(u=f+18548|0,o=(k|0)!=0,n=f2(u,(o+i[f+18572>>2]|0)+143|0),l[f+36|0]=n,!(n&255)))break e;c0=f,r2=f2(u,(o+i[f+18572>>2]|0)+145|0),l[c0+37|0]=r2}Z=!k<<1,Z=s[S+33|0]|s[f+32|0]?Z|1:Z,w=A<<1;e:{if(!k){t=A+1>>2,n=(m(A,3)+(A-1>>2)|0)-6|0;break e}t=A-2|0,n=15}_=i[f+18572>>2],o=w-1|0;e:{if((w|0)<2){n=o;break e}W=n+(_+25|0)|0,u=f+18548|0,n=0;A:{for(;;){if(!f2(u,W+(n>>>t|0)|0))break A;if(n=n+1|0,(o|0)==(n|0))break}n=o}_=i[f+18572>>2]}e:{if(!k){t=(m(A,3)+(A-1>>2)|0)-6|0,u=A+1>>2;break e}t=15,u=A-2|0}e:{if((w|0)<2)break e;for(w=t+(_+43|0)|0,W=f+18548|0,t=0;;){if(!f2(W,w+(t>>>u|0)|0)){o=t;break e}if(t=t+1|0,(o|0)==(t|0))break}}(n|0)>=4&&(u=(n>>>1|0)-1|0,n=d4(f+18548|0,u)+((n&1|2)<=4&&(u=(o>>>1|0)-1|0,o=d4(f+18548|0,u)+((o&1|2)<>2],W=e>>t,(W|0)<0||(u=i[v+212>>2],(u|0)<=(W|0)))break r;if(t=r>>t,(t|0)<0|(t|0)>=i[v+216>>2])break i;u=s[(W+i[v+200>>2]|0)+m(t,u)|0],_=u>>>0<=34?u:0,u=0;break f}if(t=i[v+228>>2],W=e>>t,(W|0)<0||(u=i[v+232>>2],(u|0)<=(W|0)))break r;if(t=r>>t,(t|0)<0|(t|0)>=i[v+236>>2])break i;_=s[(W+i[v+220>>2]|0)+m(t,u)|0]&63,u=k}t=2,W=u,u=0;f:{k:{n:switch(A-2|0){case 0:break k;case 1:break n;default:break f}if(!W)break k;if(i[R+16848>>2]!=3)break f}if(u=2,_-6>>>0<9)break f;u=_-22>>>0<9}if((u|0)!=2){t=u;break A}u=o;break e}u=n,n=o}for(J=A-2|0,o=J,t>>>0<=2?W=i[i[(t<<2)+45336>>2]+(o<<2)>>2]:W=0,p0=t>>>0<=2?i[i[(t<<2)+45336>>2]+8>>2]:0,n=(i[(m(t,24)+(A<<2)|0)+45264>>2]+(n<>>8,z=s[h+158|0],X0=s[h+159|0],B0(h+80|0,0,1<>1]=0,u=k?43:42,q=(k|0)>0,I0=q?17:1,y=f+18548|0,d=(f+Z|0)+18580|0,Q0=X0-1|0,F0=J<<6|((k|0)!=0)<<5|((t|0)!=0)<<4,n=k<<11,Y0=n+(f+2108|0)|0,S0=n+(f+8252|0)|0,D=1,n=z;;){o=(n<<1)+W|0,t=s[o+1|0],w=s[o|0],A0=n,p=(n|0)!=0;e:{A:{if(!(p&n>>>0>>0)){if((n|0)!=(z|0)&&n)break e;Z=0;break A}if(Z=1,n=s[h+80+(w+(t<>>1,!f2(y,(i[f+18572>>2]+(k?n+2|0:n)|0)+61|0))break e}if(w&&(n=(w+(t<>1]=1,l[h+32|0]=X0,_=1),f0=i[n>>2],h0=o<<2,j=w<<2,o=(z|0)!=(A0|0)?15:Q0,(o|0)>0)for(I=f0+j|0,n=o;;){t=(n<<1)+p0|0,E=s[t+1|0],w=s[t|0],C=i[f+18572>>2];A:{if(s[R+16821|0]&&(t=u,s[f+32|0]|s[S+33|0]))break A;t=s[(w+I|0)+(E+h0<>1]=1,_=_+1|0,Z=0),t=(n|0)>1,n=n-1|0,!t)break}A:{if((o|0)<0)break A;if(!Z){o=i[f+18572>>2];f:{if(s[R+16821|0]&&(n=u,s[f+32|0]|s[S+33|0]))break f;n=s[(f0+j|0)+(h0<>1]=1,_=_+1|0}if(!_)break e;Z=1;A:{if((_|0)<=0)break A;p=!D|(q?0:p<<1),I=p<<2,C=f2(y,(i[f+18572>>2]+(I|I0)|0)+109|0);f:{if(C){X[h+48>>1]=Q[h+48>>1]+1,Z=0,o=0;break f}l[h|0]=0,Z=2,o=-1}if(t=1,(_|0)!=1)for(E=(_|0)>=8?8:_,n=1;;){n=(n|0)>0?(C|0)!=1?n+1|0:0:n,w=I+((n|0)>=3?3:n)|0,C=f2(y,(i[f+18572>>2]+(q?w+16|0:w)|0)+109|0);f:{if(C){Z=(h+48|0)+(t<<1)|0,X[Z>>1]=Q[Z>>1]+1,o=(o|0)==-1?t:o,Z=0;break f}l[t+h|0]=0,Z=(Z-1>>>0<2)+Z|0}if(t=t+1|0,(E|0)==(t|0))break}if((o|0)==-1)break A;t=f2(y,(i[f+18572>>2]+(q?p|4:p)|0)+133|0),l[o+h|0]=t,n=(h+48|0)+(o<<1)|0,X[n>>1]=t+Q[n>>1]}A:{if(!k){if(o=i[v+208>>2],t=e>>o,(t|0)<0||(n=i[v+212>>2],(n|0)<=(t|0)))break r;if(o=r>>o,(o|0)<0|(o|0)>=i[v+216>>2])break i;n=s[(t+i[v+200>>2]|0)+m(n,o)|0],o=n>>>0<=34?n:0;break A}if(o=i[v+228>>2],t=e>>o,(t|0)<0||(n=i[v+232>>2],(n|0)<=(t|0)))break r;if(o=r>>o,(o|0)<0|(o|0)>=i[v+236>>2])break i;o=s[(t+i[v+220>>2]|0)+m(n,o)|0]&63}n=0,I=0;A:{if(s[f+32|0]||!(!s[R+16822|0]|n0|(o&239)!=10)&&(I=0,s[S+33|0])||(I=0,s[f+36|0]))break A;I=(l[h+32|0]-l[(h+_|0)+31|0]|0)>3}if(L=_-1|0,(_|0)>1)for(;c0=(h+16|0)+n|0,r2=x1(y),l[c0|0]=r2,n=n+1|0,(L|0)!=(n|0););if(p=0,o=L+(h+16|0)|0,I&s[a+15|0]!=0?n=0:n=x1(y),l[o|0]=n,p=s[R+16827|0]?s[d|0]>>>2|0:p,o=1,C=0,D=0,(_|0)>0)for(;;){E=X[(h+48|0)+(C<<1)>>1],n=-1;A:{if(!s[h+C|0]){n=0;break A}G0=3<=3?3:p)+1|0;break A}if(p=((t|0)>(G0|0))+p|0,t=o,o=0,!t)break A;if(w=s[d|0],t=w>>>2|0,3<=1<>1]<<1)+Y0|0,I&s[a+15|0]!=0&&(D=(n&65535)+D|0,n=(C|0)!=(L|0)?n:D&1?0-n|0:n),X[t>>1]=n,X[(X[H>>1]<<1)+S0>>1]=(w+j|0)+(E+h0<>1]=Q[H>>1]+1,C=C+1|0,(C|0)==(_|0))break}D=Z}if(n=A0-1|0,!((A0|0)>0))break}B=h+160|0;return}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function as(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=Y(0),w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=Y(0),R=0,D=Y(0),z=Y(0),H=0,a=Y(0),S=0,q=0,d=0,A0=Y(0),f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=Y(0),Y0=Y(0),S0=Y(0),c0=Y(0),r2=Y(0),n2=Y(0),s2=0;e=B-112|0,B=e,n=i[r>>2],A=n,p=i[A+28>>2],_=i[A+24>>2],u=i[k+4>>2],A=u,t=A>>>0<4,C=(t?16908801>>>(A<<3)|0:0)&3,R=(t?16843265>>>(A<<3)|0:0)&3,n=U0(n,3);i:{if(n>>>0<=8){i[f>>2]=0,i[f+4>>2]=0;break i}r:{if(H=H2(i[r>>2],6),!H||(U0(i[r>>2],6)|0)==(n|0))break r;i[f>>2]=0,i[f+4>>2]=0;break i}A=U(136),i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=72792,B0(A+20|0,0,104),t=i[A+4>>2],Z=t+1|0,i[A+4>>2]=Z,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,v=A- -64|0,i[v>>2]=0,i[v+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,v=A+12|0,i[A+12>>2]=v,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=t,i[A+16>>2]=A,Z||(V[i[i[A>>2]+8>>2]](A),g(A)),i[v+36>>2]=u,i[v+32>>2]=0,i[v+28>>2]=p,i[v+24>>2]=_,u=((p+R|0)-1|0)/(R|0)|0,t=((_+C|0)-1|0)/(C|0)|0;r:{e:{A:{f:{if(!J0(v,0,_,p,n)||!J0(v,1,t,u,n)||!J0(v,2,t,u,n)||H&&!J0(v,6,_,p,n))break f;i[e+108>>2]=0,i[e+104>>2]=0,i[e+100>>2]=0,i[e+96>>2]=0,i[e+92>>2]=0,i[e+88>>2]=0,i[e+84>>2]=0,i[e+80>>2]=0,S=v0(i[r>>2],3,e+108|0),f0=v0(i[r>>2],4,e+104|0),n0=v0(i[r>>2],5,e+100|0),q=v0(v,0,e+92|0),G0=v0(v,1,e+88|0),I0=v0(v,2,e+84|0),H&&(h0=v0(i[r>>2],6,e+96|0),j=v0(v,6,e+80|0)),i[e+108>>2]=i[e+108>>2]/2,i[e+104>>2]=i[e+104>>2]/2,i[e+100>>2]=i[e+100>>2]/2,i[e+96>>2]=i[e+96>>2]/2,i[e+92>>2]=i[e+92>>2]/2,i[e+88>>2]=i[e+88>>2]/2,i[e+84>>2]=i[e+84>>2]/2,i[e+80>>2]=i[e+80>>2]/2,i[e+76>>2]=-1113159960,i[e+68>>2]=1056964608,i[e+72>>2]=-1093247418,i[e+60>>2]=-1096180881,i[e+64>>2]=1056964608,i[e+52>>2]=1038710997,i[e+56>>2]=-1104361250,i[e+44>>2]=1050220167,i[e+48>>2]=1058424226,l[e+40|0]=1,d=s[k+26|0],L=Q[k+24>>1],Kr(e,L,Q[k+20>>1]),r=i[e+36>>2],i[e+72>>2]=i[e+32>>2],i[e+76>>2]=r,k=i[e+28>>2],r=e- -64|0,i[r>>2]=i[e+24>>2],i[r+4>>2]=k,r=i[e+20>>2],i[e+56>>2]=i[e+16>>2],i[e+60>>2]=r,r=i[e+12>>2],i[e+48>>2]=i[e+8>>2],i[e+52>>2]=r,r=i[e+4>>2],i[e+40>>2]=i[e>>2],i[e+44>>2]=r;k:{if((p|0)<=0)break k;if(u=-1<>>0<4;;){t=q+(m(i[e+92>>2],I)<<1)|0,Z=(m(i[e+104>>2],I)<<1)+f0|0;n:{if(L){for(w=(m(i[e+100>>2],I)<<1)+n0|0,W=(m(i[e+108>>2],I)<<1)+S|0,h=Z0[e+52>>2],D=Z0[e+48>>2],z=Z0[e+44>>2],k=0;;){o=k<<1,J=Y(Y(Y(Q[o+w>>1])*h)+Y(Y(Y(Q[o+W>>1])*z)+Y(D*Y(Q[o+Z>>1])))),J=Y((d&1?J:Y(Y(Y(J*Y(219))*Y(.00390625))+A0))+Y(.5));t:{if(Y(d0(J))>1]=(r|0)>=0?(r|0)<(u|0)?r:u:0,k=k+1|0,(_|0)==(k|0))break}break n}k=0;t:{if(d&1){if(r=0,w=0,X0)break t;for(;o=r<<1,X[o+t>>1]=Q[o+Z>>1],W=o|2,X[W+t>>1]=Q[Z+W>>1],W=o|4,X[W+t>>1]=Q[Z+W>>1],o=o|6,X[o+t>>1]=Q[o+Z>>1],r=r+4|0,w=w+4|0,(p0|0)!=(w|0););break t}for(;;){o=k<<1,h=Y(Y(Y(Y(Y(Q[o+Z>>1])*Y(219))*Y(.00390625))+A0)+Y(.5));o:{if(Y(d0(h))>1]=(r|0)>=0?(r|0)<(u|0)?r:u:0,k=k+1|0,(_|0)==(k|0))break}break n}if(!E)break n;for(;o=r<<1,X[o+t>>1]=Q[o+Z>>1],r=r+1|0,k=k+1|0,(E|0)!=(k|0););}if(I=I+1|0,(I|0)==(p|0))break}if((p|0)<=0)break k}if(y)break A;for(J=Y((1<>>0),k=0,I=(R|0)==2,p0=(C|R)>>>0<2;;){n=i[e+100>>2],t=m(n,k)<<1,Z=t+n0|0,r=i[e+88>>2];n:{if(L){for(w=n,n=k+1|0,n=I&&(n|0)<(p|0)?n:k,o=(m(w,n)<<1)+n0|0,t=i[e+104>>2],E=(m(t,n)<<1)+f0|0,w=n,n=i[e+108>>2],w=(m(w,n)<<1)+S|0,q=(m(k,t)<<1)+f0|0,y=(m(k,n)<<1)+S|0,F0=Z0[e+76>>2],Y0=Z0[e+72>>2],S0=Z0[e+68>>2],c0=Z0[e+64>>2],r2=Z0[e+60>>2],n2=Z0[e+56>>2],n=(k>>>0)/(R>>>0)|0,X0=(m(n,i[e+84>>2])<<1)+I0|0,W=(m(r,n)<<1)+G0|0,r=0;;){n=r<<1,h=Y(Q[n+Z>>1]),D=Y(Q[n+q>>1]),z=Y(Q[n+y>>1]),p0||(t=r+1|0,t=(I&&(C|0)==2&&(t|0)<(_|0)?t:r)<<1,h=Y(Y(Y(Y(h+Y(Q[t+Z>>1]))+Y(Q[n+o>>1]))+Y(Q[t+o>>1]))*Y(.25)),z=Y(Y(Y(Y(z+Y(Q[t+y>>1]))+Y(Q[n+w>>1]))+Y(Q[t+w>>1]))*Y(.25)),D=Y(Y(Y(Y(D+Y(Q[t+q>>1]))+Y(Q[n+E>>1]))+Y(Q[t+E>>1]))*Y(.25))),t=(r>>>0)/(C>>>0)<<1,s2=t+W|0,a=Y(Y(h*c0)+Y(Y(z*n2)+Y(D*r2))),Q0=d&1,a=Y(Y((Q0?a:Y(Y(a*Y(224))*Y(.00390625)))+J)+Y(.5));t:{if(Y(d0(a))>1]=(n|0)>=0?(n|0)<(u|0)?n:u:0,t=t+X0|0,h=Y(Y(h*F0)+Y(Y(z*S0)+Y(D*Y0))),h=Y(Y((Q0?h:Y(Y(h*Y(224))*Y(.00390625)))+J)+Y(.5));t:{if(Y(d0(h))>1]=(n|0)>=0?(n|0)<(u|0)?n:u:0,r=r+C|0,!((_|0)>(r|0)))break}break n}if(t=t+S|0,r=m(r,(k>>>0)/(R>>>0)|0)<<1,o=r+I0|0,E=r+G0|0,r=0,!(d&1))for(;;){w=(r>>>0)/(C>>>0)<<1,W=w+E|0,y=r<<1,h=Y(Y(Y(Y(Y(Q[y+Z>>1])*Y(224))*Y(.00390625))+A0)+Y(.5));t:{if(Y(d0(h))>1]=(n|0)>=0?(n|0)<(u|0)?n:u:0,w=o+w|0,h=Y(Y(Y(Y(Y(Q[t+y>>1])*Y(224))*Y(.00390625))+A0)+Y(.5));t:{if(Y(d0(h))>1]=(n|0)>=0?(n|0)<(u|0)?n:u:0,r=r+C|0,!((_|0)>(r|0)))break n}for(;n=(r>>>0)/(C>>>0)<<1,w=r<<1,X[n+E>>1]=Q[w+Z>>1],X[n+o>>1]=Q[t+w>>1],r=r+C|0,(_|0)>(r|0););}if(k=k+R|0,!((p|0)>(k|0)))break}}if((p|0)>0&H)break e;break r}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break i;V[i[i[A>>2]+8>>2]](A),g(A);break i}if(!H)break r}if(n=_<<1,r=0,(p|0)!=1)for(_=p&-2,k=0;l0((m(i[e+80>>2],r)<<1)+j|0,(m(i[e+96>>2],r)<<1)+h0|0,n),u=r|1,l0((m(u,i[e+80>>2])<<1)+j|0,(m(u,i[e+96>>2])<<1)+h0|0,n),r=r+2|0,k=k+2|0,(_|0)!=(k|0););if(!(p&1))break r;l0((m(i[e+80>>2],r)<<1)+j|0,(m(i[e+96>>2],r)<<1)+h0|0,n)}i[f+4>>2]=A,i[f>>2]=v}B=e+112|0}function pA(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0,n2=0,s2=0,W2=0,y2=0,x2=0,T2=0,O2=0,q2=0,b2=0,e1=0,A1=0;n=B-32|0,B=n;i:{r:{t=i[f+276>>2],s2=(A|0)>(t|0)?t:A;e:{if((s2|0)<=(r|0)||(A=i[f+272>>2],W2=(A|0)<(k|0)?A:k,(W2|0)<=0))break e;for(O2=e?1:2,q2=e?2:1,W=i[f+40>>2],b2=W<<1,y2=i[f+124>>2],A=i[y2+16832>>2],x2=A-8|0,z=-1<>2,n2=0,S0=0;;){v=S0<<2,A0=s[(i[f+260>>2]+(v>>2)|0)+m(i[f+272>>2],A1)|0]&3;A:{if(!A0)break A;A=i[f+4>>2],k=m(i[f+40>>2],Q0),h=v+(A+k|0)|0;f:{if(!e){l[n+16|0]=s[h|0],l[n|0]=s[h+p0|0],l[n+17|0]=s[h+W|0],l[n+1|0]=s[h+G0|0],l[n+18|0]=s[h+S|0],o=s[h+L|0],l[n+2|0]=o,l[n+19|0]=s[h+X0|0],I=s[h+Y0|0],l[n+3|0]=I,A=h+1|0,l[n+20|0]=s[A|0],l[n+4|0]=s[A+p0|0],l[n+21|0]=s[A+W|0],l[n+5|0]=s[A+G0|0],l[n+22|0]=s[A+S|0],l[n+6|0]=s[A+L|0],l[n+23|0]=s[A+X0|0],l[n+7|0]=s[A+Y0|0],A=h+2|0,l[n+24|0]=s[A|0],l[n+8|0]=s[A+p0|0],l[n+25|0]=s[A+W|0],l[n+9|0]=s[A+G0|0],l[n+26|0]=s[A+S|0],l[n+10|0]=s[A+L|0],l[n+27|0]=s[A+X0|0],l[n+11|0]=s[A+Y0|0],k=h+3|0,l[n+28|0]=s[k|0],A=s[k+p0|0],l[n+12|0]=A,l[n+29|0]=s[k+W|0],t=s[k+G0|0],l[n+13|0]=t,l[n+30|0]=s[k+S|0],u=s[k+L|0],l[n+14|0]=u,l[n+31|0]=s[k+X0|0],k=k+Y0|0;break f}A=A+(k+(n2<>2]=s[A|0]|s[A+1|0]<<8|(s[A+2|0]<<16|s[A+3|0]<<24),l[n|0]=s[h-1|0],l[n+1|0]=s[h-2|0],o=s[h-3|0],l[n+2|0]=o,I=s[h-4|0],l[n+3|0]=I,k=A+W|0,i[n+20>>2]=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),k=h+W|0,l[n+4|0]=s[k-1|0],l[n+5|0]=s[k-2|0],l[n+6|0]=s[k-3|0],l[n+7|0]=s[k-4|0],k=A+S|0,i[n+24>>2]=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),k=h+S|0,l[n+8|0]=s[k-1|0],l[n+9|0]=s[k-2|0],l[n+10|0]=s[k-3|0],l[n+11|0]=s[k-4|0],A=A+X0|0,i[n+28>>2]=s[A|0]|s[A+1|0]<<8|(s[A+2|0]<<16|s[A+3|0]<<24),k=h+X0|0,A=s[k-1|0],l[n+12|0]=A,t=s[k-2|0],l[n+13|0]=t,u=s[k-3|0],l[n+14|0]=u,k=k-4|0}if(c0=s[k|0],l[n+15|0]=c0,E=i[f+168>>2],k=v>>E,(k|0)<0||(C=i[f+172>>2],(C|0)<=(k|0)))break i;if(Z=Q0>>E,(Z|0)<0||(H=i[f+176>>2],(H|0)<=(Z|0)))break r;J=i[f+160>>2],a=J+m(k,3)|0,w=m(m(C,Z),3),q=a+w|0,I0=l[q+2|0];f:{if(!e){if(k=T2>>E,(k|0)<0|(k|0)>=(H|0))break r;k=(a+m(m(k,C),3)|0)+2|0;break f}if(k=v-1>>E,(k|0)<0|k>>>0>=C>>>0)break i;k=(w+(J+m(k,3)|0)|0)+2|0}if(p=i[f+148>>2],Z=v>>p,(Z|0)<0||(f0=i[f+152>>2],(f0|0)<=(Z|0)))break i;if(p=Q0>>p,(p|0)<0|(p|0)>=i[f+156>>2])break r;if(R=s[n+28|0],n0=R+(s[n+30|0]-(s[n+29|0]<<1)|0)|0,_=n0>>31,u=(u&255)-(t<<1)|0,t=A,h0=u+A|0,A=h0>>31,u=s[n+16|0],r2=u+(s[n+18|0]-(s[n+17|0]<<1)|0)|0,d=r2>>31,y=o-(s[n+1|0]<<1)|0,o=s[n|0],y=y+o|0,j=y>>31,n0=(_^n0)-_|0,h0=(A^h0)-A|0,D=n0+h0|0,d=(d^r2)-d|0,j=(y^j)-j|0,_=d+j|0,k=(I0+l[k|0]|0)+1>>1,A=i[i[f+52>>2]+(Q[((i[f+140>>2]+m(Z,24)|0)+m(m(p,f0),24)|0)+2>>1]<<2)>>2],Z=k+i[A+764>>2]|0,Z=(Z|0)>=51?51:Z,p=s[((Z|0)>0?Z:0)+42960|0]<=(p|0))break A;A=(i[A+768>>2]+(k+(A0<<1)|0)|0)-2|0,A=(A|0)>=53?53:A,Z=s[((A|0)>0?A:0)+43024|0]<>>2|0,k=0;f:{if(A0>>>0<=_<<1>>>0||(I0=u-s[n+19|0]|0,_=I0>>31,f0=I-o|0,I=f0>>31,k=0,(_^I0)-_+((I^f0)-I)>>>0>=p>>>3>>>0))break f;o=o-u|0,k=o>>31,k=((k^o)-k|0)>1}o=k;f:{if(A0>>>0<=D<<1>>>0||(I=R-s[n+31|0]|0,k=I>>31,_=c0-t|0,u=_>>31,(k^I)-k+((u^_)-u)>>>0>=p>>>3>>>0))break f;k=t-R|0,A=k>>31,A=((A^k)-A|0)>1}u=s[y2+8812|0];f:{if(!e){if(t=T2>>E,u){if((t|0)<0|(t|0)>=(H|0))break r;k=!(s[(a+m(m(t,C),3)|0)+1|0]&4)}else k=1;if((t|0)<0|(t|0)>=(H|0))break r;t=a+m(m(t,C),3)|0;break f}if(t=v-1>>E,u){if((t|0)<0|t>>>0>=C>>>0)break i;k=!(s[(w+(J+m(t,3)|0)|0)+1|0]&4)}else k=1;if((t|0)<0|t>>>0>=C>>>0)break i;t=w+(J+m(t,3)|0)|0}for(A0=A&o,H=!(s[t+1|0]&8)&k,A=p+(p>>>1|0)>>>3|0,j=H&A>>>0>j+h0>>>0,k=A>>>0>d+n0>>>0,A=s[q|0]|s[q+1|0]<<8,p=!(A&2048)&(!u|!(A&1024)),c0=k&p,t=Z<<1,A=0,d=0-Z|0,I0=m(Z,10),f0=h+1|0,n0=h+W|0,h0=h-2|0,r2=h-1|0,I=Z>>1,q=0-I|0;;){C=A<<2,k=C+n|0,o=s[k+1|0],w=C+(n+16|0)|0,J=s[w+2|0],C=s[w+1|0],v=s[w|0],a=s[k+2|0],E=s[k|0];f:{if(!A0){if(k=(m(v-E|0,9)+m(C-o|0,-3)|0)+8>>4,w=k>>31,(I0|0)<=((k^w)-w|0))break f;w=(k|0)<(d|0)?d:(k|0)<(Z|0)?k:Z;k:{n:{if(!e){if(H&&(k=w+E|0,l[h+(A-W|0)|0]=(k|0)>=0?(k|0)<(z|0)?k:z:0),!p)break k;k=v-w|0,u=(k|0)>=0?(k|0)<(z|0)?k:z:0,k=A;break n}if(H&&(k=w+E|0,l[r2+m(A,W)|0]=(k|0)>=0?(k|0)<(z|0)?k:z:0),!p)break k;k=v-w|0,u=(k|0)>=0?(k|0)<(z|0)?k:z:0,k=m(A,W)}l[k+h|0]=u}if(j&&(k=w+(((E+a|0)+1>>>1|0)-o|0)>>1,k=((k|0)<(q|0)?q:(k|0)<(I|0)?k:I)+o|0,l[(e?h0+m(A,W)|0:h+(A-b2|0)|0)|0]=(k|0)>=0?(k|0)<(z|0)?k:z:0),!c0)break f;if(k=((v+J|0)+1>>>1)-(w+C)>>1,k=C+((k|0)<(q|0)?q:(k|0)<(I|0)?k:I)|0,k=(k|0)>=0?(k|0)<(z|0)?k:z:0,!e){l[A+n0|0]=k;break f}l[f0+m(A,W)|0]=k;break f}if(R=C-t|0,_=v+E|0,y=_+C|0,u=(y+J|0)+2>>>2|0,D=t+C|0,u=(u|0)<(R|0)?R:(u|0)<(D|0)?u:D,D=o-t|0,_=o+_|0,R=(_+a|0)+2>>>2|0,F0=t+o|0,R=(R|0)<(D|0)?D:(R|0)<(F0|0)?R:F0,D=J-t|0,w=((y+m(J,3)|0)+(s[w+3|0]<<1)|0)+4>>>3|0,y=t+J|0,w=(w|0)<(D|0)?D:(w|0)<(y|0)?w:y,y=a-t|0,k=((_+m(a,3)|0)+(s[k+3|0]<<1)|0)+4>>>3|0,_=t+a|0,_=(k|0)<(y|0)?y:(k|0)<(_|0)?k:_,y=v-t|0,F0=v<<1,D=(E<<1)+4|0,k=J+((F0+(D+o|0)|0)+(C<<1)|0)>>>3|0,v=t+v|0,v=(k|0)<(y|0)?y:(k|0)<(v|0)?k:v,J=E-t|0,k=C+(F0+((a+D|0)+(o<<1)|0)|0)>>>3|0,o=t+E|0,o=(k|0)<(J|0)?J:(k|0)<(o|0)?k:o,!e){if(k=A+h|0,!H){if(!p)break f;l[k|0]=v,l[k+W|0]=u,l[k+S|0]=w;break f}if(!p){l[k+p0|0]=o,l[k+G0|0]=R,l[k+L|0]=_;break f}l[k+p0|0]=o,l[k|0]=v,l[k+G0|0]=R,l[k+W|0]=u,l[k+L|0]=_,l[k+S|0]=w;break f}if(k=h+m(A,W)|0,H&&(l[k-1|0]=o),p&&(l[k|0]=v),H&&(l[k-2|0]=R),p&&(l[k+1|0]=u),H&&(l[k-3|0]=_),!p)break f;l[k+2|0]=w}if(A=A+1|0,(A|0)==4)break}}if(n2=n2+1|0,S0=S0+q2|0,!((W2|0)>(S0|0)))break}if(r=r+O2|0,!((s2|0)>(r|0)))break}}B=n+32|0;return}C0(3720,8453,119,3372),P()}C0(3758,8453,118,3372),P()}function mr(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0;A=i[f+18588>>2],I=i[A+132>>2],R=i[A+124>>2],a=i[R+16892>>2];i:{r:{e:{A:{if(!s[I+45|0]|r||(r=i[f+12>>2],i[f+8>>2]|(r|0)<=0))break A;if(S=2,(a|0)>=2){if(r=r-1|0,k=i[f+18596>>2],r>>>0>=i[k+472>>2]-i[k+468>>2]>>3>>>0)break e;i8(A,i[f+18604>>2],1,r,1),Ii(f+18572|0,(i[i[f+18596>>2]+468>>2]+(i[f+12>>2]<<3)|0)-8|0),F9((i[i[f+18596>>2]+468>>2]+(i[f+12>>2]<<3)|0)-8|0);break A}if(i8(A,i[f+18604>>2],0,r-1|0,1),r=i[f+18592>>2],A=i[r+804>>2],A>>>0>=3)break r;k6(f+18572|0,A,i[r+800>>2]),l[f+18580|0]=0,l[f+18581|0]=0,l[f+18582|0]=0,l[f+18583|0]=0}for(q=f+18548|0,h0=f+18572|0,p0=a-1|0,W=i[f+12>>2],r=i[f+8>>2],S=2;;){if(j=m(W,a)+r|0,i[R+16892>>2]<=(r|0)|j>>>0>=i[I+8452>>2]-i[I+8448>>2]>>2>>>0|i[R+16900>>2]<=(W|0)||(!e|(W|0)<=0|(r|0)>=(p0|0)||i8(i[f+18588>>2],i[f+18604>>2],r+1|0,W-1|0,1),!i[f+18576>>2]))break e;d=0,L=0,k=i[f>>2],A=i[f+18588>>2],A0=i[A+124>>2],n=i[A0+16892>>2],_=(k|0)/(n|0)|0,C=k-m(n,_)|0,n=i[A0+16876>>2],w=C<>2],t=i[A+152>>2],(t|0)<=(C|0)|(_|0)>=i[A+156>>2]||(X[(i[A+140>>2]+m(m(t,_),24)|0)+m(C,24)>>1]=i[k+808>>2]);A:{f:{if(o=i[A+148>>2],u=w>>o,!((u|0)<0|(t|0)<=(u|0))){if(J=_<>o,(o|0)<0|(o|0)>=i[A+156>>2])break f;if(X[((i[A+140>>2]+m(u,24)|0)+m(m(t,o),24)|0)+2>>1]=i[k>>2],X0=w,G0=J,s[k+333|0]|s[k+334|0]){h=0,u=B-32|0,B=u,D=i[f+18592>>2],v=i[f+18588>>2],f0=i[v+132>>2],n=i[v+124>>2],l[u+24|0]=0,i[u+16>>2]=0,i[u+20>>2]=0,i[u+8>>2]=0,i[u+12>>2]=0,A=0;k:{if((C|0)<=0||(A=0,i[f>>2]<=i[D+808>>2])||(o=C<<2,k=i[f0+8484>>2],t=m(_,i[n+16892>>2])<<2,A=0,i[o+(k+t|0)>>2]!=i[(t+(k+o|0)|0)-4>>2]))break k;A=f2(f+18548|0,i[f+18572>>2])}k=A;k:{if(k&255|(_|0)<=0||(A=i[n+16892>>2],i[D+808>>2]>(i[f>>2]-A|0))||(o=C<<2,t=i[f0+8484>>2],i[o+(t+(m(A,_)<<2)|0)>>2]!=i[o+(t+(m(A,_-1|0)<<2)|0)>>2]))break k;d=f2(f+18548|0,i[f+18572>>2])}if(!((k|d)&255)){for(o=f+18548|0,A=u+8|0,I0=A|2,Q0=A|5,F0=i[n+16848>>2],t=s[u+9|0],n=s[u+8|0],z=0;;){k:{n:{t:{o:{u:{if(!s[D+333|0]||h){if(!h|!s[D+334|0])break k;if((h|0)!=1)break t;if(f2(o,i[f+18572>>2]+1|0))break u;A=0;break o}f2(o,i[f+18572>>2]+1|0)?n=x1(o)?2:1:n=0,z=n,A=n;break n}A=x1(o)?2:1}n=A<<2|A<<4|z,z=n;break n}A=(z&255)>>>(h<<1)&3}if(!A)break k;Z=(h<<2)+Q0|0,w=h?16840:16832,p=i[w+i[v+124>>2]>>2],p=Q6(o,-1<<((p|0)>=10?10:p)-5^-1),l[Z|0]=p,y=i[w+i[v+124>>2]>>2],y=Q6(o,-1<<((y|0)>=10?10:y)-5^-1),l[Z+1|0]=y,E=i[w+i[v+124>>2]>>2],E=Q6(o,-1<<((E|0)>=10?10:E)-5^-1),l[Z+2|0]=E,w=i[w+i[v+124>>2]>>2],H=Q6(o,-1<<((w|0)>=10?10:w)-5^-1),l[Z+3|0]=H;n:{if((A|0)==1){A=0,J=0,p&255&&(J=x1(o)?-1:1),y&255&&(A=x1(o)?-1:1),w=0,n0=0,E&255&&(n0=x1(o)?-1:1),H&255&&(w=x1(o)?-1:1),S0=h+I0|0,c0=d4(o,5),l[S0|0]=c0,H=s[Z+3|0],E=s[Z+2|0],y=s[Z+1|0],p=s[Z|0];break n}t:{o:{if(!h){A=1,w=-1,t=d4(o,2);break o}if(A=1,w=-1,(h|0)!=1)break t;t=d4(o,2),t=t<<2|t<<4|L}L=t}n0=-1,J=1}Y0=p,p=s[(h?8264:8263)+f0|0],l[Z|0]=m(Y0<>>0<2,h=h+1|0,A)))break}l[u+9|0]=t,l[u+8|0]=n,A=(i[v+140>>2]+m(m(_,i[v+152>>2]),24)|0)+m(C,24)|0,l[A+20|0]=s[u+24|0],n=i[u+20>>2],t=i[u+16>>2],l[A+12|0]=t,l[A+13|0]=t>>>8,l[A+14|0]=t>>>16,l[A+15|0]=t>>>24,l[A+16|0]=n,l[A+17|0]=n>>>8,l[A+18|0]=n>>>16,l[A+19|0]=n>>>24,n=i[u+12>>2],t=i[u+8>>2],l[A+4|0]=t,l[A+5|0]=t>>>8,l[A+6|0]=t>>>16,l[A+7|0]=t>>>24,l[A+8|0]=n,l[A+9|0]=n>>>8,l[A+10|0]=n>>>16,l[A+11|0]=n>>>24}k&255&&(A=(i[v+140>>2]+m(m(_,i[v+152>>2]),24)|0)+m(C,24)|0,k=A-24|0,l[A+20|0]=s[k+20|0],n=s[k+16|0]|s[k+17|0]<<8|(s[k+18|0]<<16|s[k+19|0]<<24),t=s[k+12|0]|s[k+13|0]<<8|(s[k+14|0]<<16|s[k+15|0]<<24),l[A+12|0]=t,l[A+13|0]=t>>>8,l[A+14|0]=t>>>16,l[A+15|0]=t>>>24,l[A+16|0]=n,l[A+17|0]=n>>>8,l[A+18|0]=n>>>16,l[A+19|0]=n>>>24,n=s[k+8|0]|s[k+9|0]<<8|(s[k+10|0]<<16|s[k+11|0]<<24),k=s[k+4|0]|s[k+5|0]<<8|(s[k+6|0]<<16|s[k+7|0]<<24),l[A+4|0]=k,l[A+5|0]=k>>>8,l[A+6|0]=k>>>16,l[A+7|0]=k>>>24,l[A+8|0]=n,l[A+9|0]=n>>>8,l[A+10|0]=n>>>16,l[A+11|0]=n>>>24),d&255&&(t=m(C,24),n=i[v+140>>2],k=i[v+152>>2],A=t+(n+m(m(k,_),24)|0)|0,k=t+(n+m(m(k,_-1|0),24)|0)|0,l[A+20|0]=s[k+20|0],n=s[k+16|0]|s[k+17|0]<<8|(s[k+18|0]<<16|s[k+19|0]<<24),t=s[k+12|0]|s[k+13|0]<<8|(s[k+14|0]<<16|s[k+15|0]<<24),l[A+12|0]=t,l[A+13|0]=t>>>8,l[A+14|0]=t>>>16,l[A+15|0]=t>>>24,l[A+16|0]=n,l[A+17|0]=n>>>8,l[A+18|0]=n>>>16,l[A+19|0]=n>>>24,n=s[k+8|0]|s[k+9|0]<<8|(s[k+10|0]<<16|s[k+11|0]<<24),k=s[k+4|0]|s[k+5|0]<<8|(s[k+6|0]<<16|s[k+7|0]<<24),l[A+4|0]=k,l[A+5|0]=k>>>8,l[A+6|0]=k>>>16,l[A+7|0]=k>>>24,l[A+8|0]=n,l[A+9|0]=n>>>8,l[A+10|0]=n>>>16,l[A+11|0]=n>>>24),B=u+32|0,n=i[A0+16876>>2]}vr(f,X0,G0,n,0);break A}C0(3758,8453,128,3372),P()}C0(3720,8453,129,3372),P()}if(!(!s[I+45|0]|(r|0)!=1|(i[R+16900>>2]-1|0)<=(W|0))){if(A=i[f+18596>>2],r=i[A+468>>2],i[A+472>>2]-r>>3>>>0<=W>>>0)break e;n=r,r=W<<3,Ii(n+r|0,h0),X9(r+i[i[f+18596>>2]+468>>2]|0)}if(k=t3(q),!k|!s[I+14|0]||(Ii(i[f+18592>>2]+1340|0,h0),X9(i[f+18592>>2]+1340|0),l[i[f+18592>>2]+1348|0]=1),r=i[i[f+18588>>2]+320>>2]+m(j,76)|0,i[r>>2]<=0&&(i[r>>2]=1),u=i[f+4>>2],A=u+1|0,i[f+4>>2]=A,o=i[f+12>>2],h=i[f+18588>>2],t=i[h+124>>2],n=i[t+16908>>2],t=i[t+16892>>2],r=(A|0)<(n|0)?i[i[i[h+132>>2]+8460>>2]+(A<<2)>>2]:n,i[f>>2]=r,W=(r|0)/(t|0)|0,i[f+12>>2]=W,r=r-m(t,W)|0,i[f+8>>2]=r,!((A|0)<(n|0)|k)){v2(i[f+18584>>2]+4|0,1004,0);break i}if(k)return 0;if(s[I+46|0]?(n=A<<2,A=i[I+8472>>2],n=i[n+A>>2]!=i[A+(u<<2)>>2]):n=0,!!(n|s[I+45|0]!=0&(o|0)!=(W|0)))break}if(!t3(q)){v2(i[f+18584>>2]+4|0,1017,0);break i}Y6(q),S=1}return S}C0(16898,14036,1520,4043),P()}return l[i[f+18588>>2]+312|0]=3,2}function Ss(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=Y(0),o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=Y(0),a=Y(0),S=Y(0),q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=Y(0),X0=Y(0),G0=Y(0);e=B-112|0,B=e,A=i[r>>2],u=i[A+28>>2],h=i[A+24>>2],w=i[k+4>>2],n=w>>>0<4,o=w<<3,p=(n?16908801>>>o|0:0)&3,W=(n?16843265>>>o|0:0)&3;i:{if((U0(A,3)|0)!=8){i[f>>2]=0,i[f+4>>2]=0;break i}r:{if(D=H2(i[r>>2],6),!D||(U0(i[r>>2],6)|0)==8)break r;i[f>>2]=0,i[f+4>>2]=0;break i}n=U(136),A=n,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=72792,B0(A+20|0,0,104),v=i[A+4>>2],o=v+1|0,i[A+4>>2]=o,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,A=A- -64|0,i[A>>2]=0,i[A+4>>2]=0,i[n+132>>2]=0,i[n+124>>2]=0,i[n+128>>2]=0,i[n+84>>2]=1,i[n+88>>2]=1,i[n+72>>2]=n+76,i[n+92>>2]=0,i[n+96>>2]=0,i[n+100>>2]=0,i[n+104>>2]=0,i[n+108>>2]=0,i[n+112>>2]=0,l[n+113|0]=0,l[n+114|0]=0,l[n+115|0]=0,l[n+116|0]=0,l[n+117|0]=0,l[n+118|0]=0,l[n+119|0]=0,l[n+120|0]=0,_=n+12|0,i[n+12>>2]=_,i[n+8>>2]=i[n+8>>2]+1,i[n+4>>2]=v,i[n+16>>2]=n,o||(V[i[i[n>>2]+8>>2]](n),g(n)),i[_+36>>2]=w,i[_+32>>2]=0,i[_+28>>2]=u,i[_+24>>2]=h,o=((u+W|0)-1|0)/(W|0)|0,A=((h+p|0)-1|0)/(p|0)|0;r:{e:{A:{f:{k:{if(!J0(_,0,h,u,8)||!J0(_,1,A,o,8)||!J0(_,2,A,o,8)||D&&!J0(_,6,h,u,8))break k;if(i[e+108>>2]=0,i[e+104>>2]=0,i[e+100>>2]=0,i[e+96>>2]=0,i[e+92>>2]=0,i[e+88>>2]=0,i[e+84>>2]=0,i[e+80>>2]=0,J=v0(i[r>>2],3,e+108|0),I=v0(i[r>>2],4,e+104|0),R=v0(i[r>>2],5,e+100|0),C=v0(_,0,e+92|0),q=v0(_,1,e+88|0),d=v0(_,2,e+84|0),D&&(A0=v0(i[r>>2],6,e+96|0),f0=v0(_,6,e+80|0)),i[e+76>>2]=-1113159960,i[e+68>>2]=1056964608,i[e+72>>2]=-1093247418,i[e+60>>2]=-1096180881,i[e+64>>2]=1056964608,i[e+52>>2]=1038710997,i[e+56>>2]=-1104361250,i[e+44>>2]=1050220167,i[e+48>>2]=1058424226,l[e+40|0]=1,z=s[k+26|0],y=Q[k+24>>1],Kr(e,y,Q[k+20>>1]),r=i[e+36>>2],i[e+72>>2]=i[e+32>>2],i[e+76>>2]=r,r=i[e+28>>2],A=e- -64|0,i[A>>2]=i[e+24>>2],i[A+4>>2]=r,r=i[e+20>>2],i[e+56>>2]=i[e+16>>2],i[e+60>>2]=r,r=i[e+12>>2],i[e+48>>2]=i[e+8>>2],i[e+52>>2]=r,r=i[e+4>>2],i[e+40>>2]=i[e>>2],i[e+44>>2]=r,(u|0)<=0)break r;if((h|0)<=0)break e;if(!y)break f;for(A=0;;){for(r=0;;){Z=(C+m(i[e+92>>2],A)|0)+r|0,t=Y(Y(Y(s[(m(i[e+100>>2],A)+R|0)+r|0])*Z0[e+52>>2])+Y(Y(Y(s[(J+m(i[e+108>>2],A)|0)+r|0])*Z0[e+44>>2])+Y(Z0[e+48>>2]*Y(s[(I+m(i[e+104>>2],A)|0)+r|0])))),t=Y((z&1?t:Y(Y(Y(t*Y(219))*Y(.00390625))+Y(16)))+Y(.5));n:{if(Y(d0(t))=0?k>>>0>=255?255:k:0,r=r+1|0,(h|0)==(r|0))break}if(A=A+1|0,(u|0)==(A|0))break}break A}if(i[f>>2]=0,i[f+4>>2]=0,f=i[n+4>>2],i[n+4>>2]=f-1,f)break i;V[i[i[n>>2]+8>>2]](n),g(n);break i}if(!(z&1)){for(k=0;;){for(r=0;;){Z=(C+m(i[e+92>>2],k)|0)+r|0,t=Y(Y(Y(Y(Y(s[(I+m(i[e+104>>2],k)|0)+r|0])*Y(219))*Y(.00390625))+Y(16))+Y(.5));f:{if(Y(d0(t))=0?A>>>0>=255?255:A:0,r=r+1|0,(h|0)==(r|0))break}if(k=k+1|0,(u|0)==(k|0))break}break A}for(w=h&2147483646,v=h&1,A=0;;){if(r=0,k=0,(h|0)!=1)for(;l[(C+m(i[e+92>>2],A)|0)+r|0]=s[(I+m(i[e+104>>2],A)|0)+r|0],o=r|1,l[o+(C+m(i[e+92>>2],A)|0)|0]=s[o+(I+m(i[e+104>>2],A)|0)|0],r=r+2|0,k=k+2|0,(w|0)!=(k|0););if(v&&(l[(C+m(i[e+92>>2],A)|0)+r|0]=s[(I+m(i[e+104>>2],A)|0)+r|0]),A=A+1|0,(u|0)==(A|0))break}}if((u|0)<=0)break r;if(y){for(k=0,h0=(W|0)==2,L=(p|W)>>>0<2;;){for(r=k+1|0,n0=h0&&(r|0)<(u|0)?r:k,j=(k>>>0)/(W>>>0)|0,r=0;;){C=i[e+100>>2],A=m(C,k)+R|0,H=Y(s[A+r|0]),y=i[e+104>>2],w=I+m(y,k)|0,a=Y(s[w+r|0]),v=i[e+108>>2],o=J+m(v,k)|0,S=Y(s[o+r|0]),L||(Z=A,A=r+1|0,E=h0&&(p|0)==2&&(A|0)<(h|0)?A:r,A=m(C,n0)+R|0,H=Y(Y(Y(Y(H+Y(s[Z+E|0]))+Y(s[A+r|0]))+Y(s[A+E|0]))*Y(.25)),A=I+m(y,n0)|0,a=Y(Y(Y(Y(a+Y(s[w+E|0]))+Y(s[A+r|0]))+Y(s[A+E|0]))*Y(.25)),A=J+m(v,n0)|0,S=Y(Y(Y(Y(S+Y(s[o+E|0]))+Y(s[A+r|0]))+Y(s[A+E|0]))*Y(.25))),p0=Z0[e+76>>2],X0=Z0[e+68>>2],G0=Z0[e+72>>2],w=(r>>>0)/(p>>>0)|0,Z=w+(m(j,i[e+88>>2])+q|0)|0,t=Y(Y(H*Z0[e+64>>2])+Y(Y(S*Z0[e+56>>2])+Y(a*Z0[e+60>>2]))),v=z&1,t=Y(Y((v?t:Y(Y(t*Y(224))*Y(.00390625)))+Y(128))+Y(.5));A:{if(Y(d0(t))=0?A>>>0>=255?255:A:0,Z=w+(m(j,i[e+84>>2])+d|0)|0,t=Y(Y(H*p0)+Y(Y(S*X0)+Y(a*G0))),t=Y(Y((v?t:Y(Y(t*Y(224))*Y(.00390625)))+Y(128))+Y(.5));A:{if(Y(d0(t))=0?A>>>0>=255?255:A:0,r=r+p|0,!((h|0)>(r|0)))break}if(k=k+W|0,!((u|0)>(k|0)))break}break e}if(A=0,!(z&1))for(;;){for(w=(A>>>0)/(W>>>0)|0,r=0;;){v=(r>>>0)/(p>>>0)|0,Z=v+(m(w,i[e+88>>2])+q|0)|0,t=Y(Y(Y(Y(Y(s[(m(i[e+100>>2],A)+R|0)+r|0])*Y(224))*Y(.00390625))+Y(16))+Y(.5));A:{if(Y(d0(t))=0?k>>>0>=255?255:k:0,Z=v+(m(w,i[e+88>>2])+d|0)|0,t=Y(Y(Y(Y(Y(s[(J+m(i[e+100>>2],A)|0)+r|0])*Y(224))*Y(.00390625))+Y(16))+Y(.5));A:{if(Y(d0(t))=0?k>>>0>=255?255:k:0,r=r+p|0,!((h|0)>(r|0)))break}if(A=A+W|0,!((u|0)>(A|0)))break e}for(;;){for(o=(A>>>0)/(W>>>0)|0,r=0;k=(r>>>0)/(p>>>0)|0,l[k+(m(o,i[e+88>>2])+q|0)|0]=s[(m(i[e+100>>2],A)+R|0)+r|0],l[k+(m(o,i[e+88>>2])+d|0)|0]=s[(J+m(i[e+100>>2],A)|0)+r|0],r=r+p|0,(h|0)>(r|0););if(A=A+W|0,!((u|0)>(A|0)))break}}if(D^1|(u|0)<=0)break r;if(r=0,(u|0)!=1)for(o=u&2147483646,A=0;l0(m(i[e+80>>2],r)+f0|0,m(i[e+96>>2],r)+A0|0,h),k=r|1,l0(m(k,i[e+80>>2])+f0|0,m(k,i[e+96>>2])+A0|0,h),r=r+2|0,A=A+2|0,(o|0)!=(A|0););if(!(u&1))break r;l0(m(i[e+80>>2],r)+f0|0,m(i[e+96>>2],r)+A0|0,h)}i[f+4>>2]=n,i[f>>2]=_}B=e+112|0}function Ck(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0;W=B-48|0,B=W,U2(+f),_=j0(1)|0,r=j0(0)|0;i:{r:{u=_&2147483647;e:{if(u>>>0<=1074752122){if((_&1048575)==598523)break e;if(u>>>0<=1073928572){if((_|0)>0|(_|0)>=0){f=f+-1.5707963267341256,n=f+-6077100506506192e-26,i0[e>>3]=n,i0[e+8>>3]=f-n+-6077100506506192e-26,A=1;break i}f=f+1.5707963267341256,n=f+6077100506506192e-26,i0[e>>3]=n,i0[e+8>>3]=f-n+6077100506506192e-26,A=-1;break i}if((_|0)>0|(_|0)>=0){f=f+-3.1415926534682512,n=f+-12154201013012384e-26,i0[e>>3]=n,i0[e+8>>3]=f-n+-12154201013012384e-26,A=2;break i}f=f+3.1415926534682512,n=f+12154201013012384e-26,i0[e>>3]=n,i0[e+8>>3]=f-n+12154201013012384e-26,A=-2;break i}if(u>>>0<=1075594811){if(u>>>0<=1075183036){if((u|0)==1074977148)break e;if((_|0)>0|(_|0)>=0){f=f+-4.712388980202377,n=f+-18231301519518578e-26,i0[e>>3]=n,i0[e+8>>3]=f-n+-18231301519518578e-26,A=3;break i}f=f+4.712388980202377,n=f+18231301519518578e-26,i0[e>>3]=n,i0[e+8>>3]=f-n+18231301519518578e-26,A=-3;break i}if((u|0)==1075388923)break e;if((_|0)>0|(_|0)>=0){f=f+-6.2831853069365025,n=f+-2430840202602477e-25,i0[e>>3]=n,i0[e+8>>3]=f-n+-2430840202602477e-25,A=4;break i}f=f+6.2831853069365025,n=f+2430840202602477e-25,i0[e>>3]=n,i0[e+8>>3]=f-n+2430840202602477e-25,A=-4;break i}if(u>>>0>1094263290)break r}w=f*.6366197723675814+6755399441055744+-6755399441055744,n=f+w*-1.5707963267341256,v=w*6077100506506192e-26,R=n-v,r=R<-.7853981633974483,d0(w)<2147483648?A=~~w:A=-2147483648;e:{if(r){A=A-1|0,w=w+-1,v=w*6077100506506192e-26,n=f+w*-1.5707963267341256;break e}if(!(R>.7853981633974483))break e;A=A+1|0,w=w+1,v=w*6077100506506192e-26,n=f+w*-1.5707963267341256}f=n-v,i0[e>>3]=f,U2(+f),r=j0(1)|0,j0(0)|0,_=u>>>20|0;e:{if((_-(r>>>20&2047)|0)<17||(v=n,f=w*6077100506303966e-26,n=n-f,v=w*20222662487959506e-37-(v-n-f),f=n-v,i0[e>>3]=f,U2(+f),r=j0(1)|0,j0(0)|0,(_-(r>>>20&2047)|0)<50))break e;v=n,f=w*20222662487111665e-37,n=n-f,v=w*84784276603689e-45-(v-n-f),f=n-v,i0[e>>3]=f}i0[e+8>>3]=n-f-v;break i}if(u>>>0>=2146435072){f=f-f,i0[e>>3]=f,i0[e+8>>3]=f;break i}for(A=W+16|0,k=A|8,N2(0,r|0),N2(1,_&1048575|1096810496),f=+m1(),r=1;d0(f)<2147483648?h=~~f:h=-2147483648,n=+(h|0),i0[A>>3]=n,f=(f-n)*16777216,h=r,r=0,A=k,!!h;);for(i0[W+32>>3]=f,A=2;r=A,A=r-1|0,E=W+16|0,i0[E+(r<<3)>>3]==0;);if(k=0,t=B-560|0,B=t,A=(u>>>20|0)-1046|0,h=(A-3|0)/24|0,J=(h|0)>0?h:0,h=m(J,-24)+A|0,C=i[11757],I=r+1|0,o=I-1|0,(C+o|0)>=0)for(A=C+I|0,r=J-o|0;i0[(t+320|0)+(k<<3)>>3]=(r|0)<0?0:+i[(r<<2)+47040>>2],r=r+1|0,k=k+1|0,(A|0)!=(k|0););for(u=h-24|0,A=0,k=(C|0)>0?C:0,p=(I|0)<=0;;){r:{if(p){f=0;break r}for(Z=A+o|0,r=0,f=0;f=i0[(r<<3)+E>>3]*i0[(t+320|0)+(Z-r<<3)>>3]+f,r=r+1|0,(I|0)!=(r|0););}if(i0[(A<<3)+t>>3]=f,r=(A|0)==(k|0),A=A+1|0,!!r)break}H=47-h|0,D=48-h|0,a=h-25|0,A=C;r:{for(;;){if(f=i0[(A<<3)+t>>3],r=0,k=A,Z=(A|0)<=0,!Z)for(;;){p=(t+480|0)+(r<<2)|0,n=f*5960464477539063e-23;e:{if(d0(n)<2147483648){o=~~n;break e}o=-2147483648}n=+(o|0),f=n*-16777216+f;e:{if(d0(f)<2147483648){o=~~f;break e}o=-2147483648}if(i[p>>2]=o,k=k-1|0,f=i0[(k<<3)+t>>3]+n,r=r+1|0,(A|0)==(r|0))break}f=M1(f,u),f=f+us(f*.125)*-8;e:{if(d0(f)<2147483648){p=~~f;break e}p=-2147483648}f=f-+(p|0);e:{A:{f:{z=(u|0)<=0;k:{if(!z){k=(A<<2)+t|0,o=i[k+476>>2],r=o>>D,y=k,k=o-(r<>2]=k,p=r+p|0,o=k>>H;break k}if(u)break f;o=i[((A<<2)+t|0)+476>>2]>>23}if((o|0)<=0)break e;break A}if(o=2,f>=.5)break A;o=0;break e}if(r=0,k=0,!Z)for(;;){Z=(t+480|0)+(r<<2)|0,y=i[Z>>2];A:{f:{if(k)k=16777215;else{if(!y)break f;k=16777216}i[Z>>2]=k-y,k=1;break A}k=0}if(r=r+1|0,(A|0)==(r|0))break}A:{if(z)break A;r=8388607;f:switch(a|0){case 1:r=4194303;break;case 0:break f;default:break A}Z=(A<<2)+t|0,i[Z+476>>2]=i[Z+476>>2]&r}if(p=p+1|0,(o|0)!=2||(f=1-f,o=2,!k))break e;f=f-M1(1,u)}if(f==0){k=0;e:{if(r=A,(C|0)>=(r|0))break e;for(;r=r-1|0,k=i[(t+480|0)+(r<<2)>>2]|k,(r|0)>(C|0););if(!k)break e;for(h=u;h=h-24|0,A=A-1|0,!i[(t+480|0)+(A<<2)>>2];);break r}for(r=1;k=r,r=r+1|0,!i[(t+480|0)+(C-k<<2)>>2];);for(k=A+k|0;;){if(o=A+I|0,A=A+1|0,i0[(t+320|0)+(o<<3)>>3]=i[(J+A<<2)+47040>>2],r=0,f=0,(I|0)>0)for(;f=i0[(r<<3)+E>>3]*i0[(t+320|0)+(o-r<<3)>>3]+f,r=r+1|0,(I|0)!=(r|0););if(i0[(A<<3)+t>>3]=f,!((A|0)<(k|0)))break}A=k;continue}break}f=M1(f,24-h|0);e:{if(f>=16777216){u=(t+480|0)+(A<<2)|0,n=f*5960464477539063e-23;A:{if(d0(n)<2147483648){r=~~n;break A}r=-2147483648}f=+(r|0)*-16777216+f;A:{if(d0(f)<2147483648){k=~~f;break A}k=-2147483648}i[u>>2]=k,A=A+1|0;break e}d0(f)<2147483648?r=~~f:r=-2147483648,h=u}i[(t+480|0)+(A<<2)>>2]=r}f=M1(1,h);r:{if((A|0)<0)break r;for(r=A;k=r,i0[(r<<3)+t>>3]=f*+i[(t+480|0)+(r<<2)>>2],r=r-1|0,f=f*5960464477539063e-23,!!k;);if((A|0)<0)break r;for(k=A;;){if(f=0,r=0,h=A-k|0,u=(h|0)>(C|0)?C:h,(u|0)>=0)for(;f=i0[(r<<3)+49808>>3]*i0[(r+k<<3)+t>>3]+f,Z=(r|0)!=(u|0),r=r+1|0,!!Z;);if(i0[(t+160|0)+(h<<3)>>3]=f,r=(k|0)>0,k=k-1|0,!r)break}}if(f=0,(A|0)>=0)for(r=A;k=r,r=r-1|0,f=f+i0[(t+160|0)+(k<<3)>>3],!!k;);if(i0[W>>3]=o?-f:f,f=i0[t+160>>3]-f,r=1,(A|0)>0)for(;f=f+i0[(t+160|0)+(r<<3)>>3],k=(r|0)!=(A|0),r=r+1|0,!!k;);if(i0[W+8>>3]=o?-f:f,B=t+560|0,A=p&7,f=i0[W>>3],(_|0)<0){i0[e>>3]=-f,i0[e+8>>3]=-i0[W+8>>3],A=0-A|0;break i}i0[e>>3]=f,i0[e+8>>3]=i0[W+8>>3]}return B=W+48|0,A}function Os(f,e,r,A,k,n){f=f|0,e=+e,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0;Z=B-560|0,B=Z,i[Z+44>>2]=0,U2(+e),o=j0(1)|0,j0(0)|0;i:{if((o|0)<0){E=1,H=2473,e=-e,U2(+e),o=j0(1)|0,j0(0)|0;break i}if(k&2048){E=1,H=2476;break i}E=k&1,H=E?2479:2474,I=!E}i:{if((o&2146435072)==2146435072){o=E+3|0,$1(f,32,r,o,k&-65537),H1(f,H,E),A=n&32,H1(f,e!=e?A?7073:14991:A?8743:15160,3),$1(f,32,r,o,k^8192),v=(r|0)<(o|0)?o:r;break i}R=Z+16|0;r:{e:{A:{if(e=Y9(e,Z+44|0),e=e+e,e!=0){if(o=i[Z+44>>2],i[Z+44>>2]=o-1,z=n|32,(z|0)!=97)break A;break r}if(z=n|32,(z|0)==97)break r;w=i[Z+44>>2],_=(A|0)<0?6:A;break e}w=o-29|0,i[Z+44>>2]=w,e=e*268435456,_=(A|0)<0?6:A}for(W=(Z+48|0)+((w|0)>=0?288:0)|0,o=W;e<4294967296&e>=0?A=~~e>>>0:A=0,i[o>>2]=A,o=o+4|0,e=(e-+(A>>>0))*1e9,e!=0;);e:{if((w|0)<=0){A=w,t=o,u=W;break e}for(u=W,A=w;;){h=A>>>0>=29?29:A,t=o-4|0;A:{if(u>>>0>t>>>0)break A;for(p=0;A=i[t>>2],v=h&31,D=p,(h&63)>>>0>=32?(p=A<>>32-v,A=A<>>0>D>>>0?v+1|0:v,p=K6(D,v,1e9,0),a=t,S=D-q0(p,w0,1e9,0)|0,i[a>>2]=S,t=t-4|0,u>>>0<=t>>>0;);if(!v&D>>>0<1e9)break A;u=u-4|0,i[u>>2]=p}for(;t=o,u>>>0>>0&&(o=t-4|0,!i[o>>2]););if(A=i[Z+44>>2]-h|0,i[Z+44>>2]=A,o=t,!((A|0)>0))break}}if((A|0)<0)for(J=((_+25>>>0)/9|0)+1|0,y=(z|0)==102;;){A=0-A|0,v=A>>>0>=9?9:A;e:{if(t>>>0<=u>>>0){o=!i[u>>2]<<2;break e}for(p=1e9>>>v|0,h=-1<>2],i[o>>2]=D+(A>>>v|0),A=m(p,A&h),o=o+4|0,o>>>0>>0;);if(o=!i[u>>2]<<2,!A)break e;i[t>>2]=A,t=t+4|0}if(A=v+i[Z+44>>2]|0,i[Z+44>>2]=A,u=o+u|0,o=y?W:u,t=t-o>>2>(J|0)?o+(J<<2)|0:t,!((A|0)<0))break}A=0;e:{if(t>>>0<=u>>>0||(A=m(W-u>>2,9),o=10,h=i[u>>2],h>>>0<10))break e;for(;A=A+1|0,o=m(o,10),h>>>0>=o>>>0;);}if(o=(_-((z|0)!=102?A:0)|0)-((z|0)==103&(_|0)!=0)|0,(o|0)<(m(t-W>>2,9)-9|0)){if(p=o+9216|0,h=(p|0)/9|0,w=((Z+48|0)+((w|0)<0?-4092:-3804)|0)+(h<<2)|0,o=10,v=p-m(h,9)|0,(v|0)<=7)for(;o=m(o,10),v=v+1|0,(v|0)!=8;);p=i[w>>2],J=(p>>>0)/(o>>>0)|0,y=p-m(o,J)|0,h=w+4|0;e:{if(!y&(h|0)==(t|0))break e;A:{if(!(J&1)&&(e=9007199254740992,!(l[w-4|0]&1)|((o|0)!=1e9|u>>>0>=w>>>0)))break A;e=9007199254740994}if(C=(t|0)==(h|0)?1:1.5,h=o>>>1|0,C=h>>>0>y>>>0?.5:(h|0)==(y|0)?C:1.5,s[H|0]!=45|I||(C=-C,e=-e),h=p-y|0,i[w>>2]=h,e+C==e)break e;if(A=o+h|0,i[w>>2]=A,A>>>0>=1e9)for(;i[w>>2]=0,w=w-4|0,w>>>0>>0&&(u=u-4|0,i[u>>2]=0),A=i[w>>2]+1|0,i[w>>2]=A,A>>>0>999999999;);if(A=m(W-u>>2,9),o=10,h=i[u>>2],h>>>0<10)break e;for(;A=A+1|0,o=m(o,10),h>>>0>=o>>>0;);}o=w+4|0,t=t>>>0>o>>>0?o:t}for(;h=t,p=t>>>0<=u>>>0,!p&&(t=t-4|0,!i[t>>2]););e:{if((z|0)!=103){w=k&8;break e}if(t=_||1,o=(t|0)>(A|0)&(A|0)>-5,_=(o?A^-1:-1)+t|0,n=(o?-1:-2)+n|0,w=k&8,w)break e;t=-9;A:{if(p||(w=i[h-4>>2],!w)||(v=10,t=0,(w>>>0)%10|0))break A;for(;o=t,t=t+1|0,v=m(v,10),!((w>>>0)%(v>>>0)|0););t=o^-1}if(o=m(h-W>>2,9),(n&-33)==70){w=0,o=(t+o|0)-9|0,o=(o|0)>0?o:0,_=(o|0)>(_|0)?_:o;break e}w=0,o=((A+o|0)+t|0)-9|0,o=(o|0)>0?o:0,_=(o|0)>(_|0)?_:o}if(v=-1,y=_|w,((y?2147483645:2147483646)|0)<(_|0))break i;I=(((y|0)!=0)+_|0)+1|0,p=n&-33;e:{if((p|0)==70){if((I^2147483647)<(A|0))break i;t=(A|0)>0?A:0;break e}if(o=A>>31,t=Yi((o^A)-o|0,0,R),(R-t|0)<=1)for(;t=t-1|0,l[t|0]=48,(R-t|0)<2;);if(J=t-2|0,l[J|0]=n,l[t-1|0]=(A|0)<0?45:43,t=R-J|0,(t|0)>(I^2147483647))break i}if(A=t+I|0,(A|0)>(E^2147483647))break i;I=A+E|0,$1(f,32,r,I,k),H1(f,H,E),$1(f,48,r,I,k^65536);e:{A:{f:{if((p|0)==70){for(o=Z+16|9,n=u>>>0>W>>>0?W:u,u=n;;){t=Yi(i[u>>2],0,o);k:{if((n|0)!=(u|0)){if(Z+16>>>0>=t>>>0)break k;for(;t=t-1|0,l[t|0]=48,Z+16>>>0>>0;);break k}if((t|0)!=(o|0))break k;t=t-1|0,l[t|0]=48}if(H1(f,t,o-t|0),u=u+4|0,!(W>>>0>=u>>>0))break}if(y&&H1(f,18135,1),(_|0)<=0|u>>>0>=h>>>0)break f;for(;;){if(t=Yi(i[u>>2],0,o),t>>>0>Z+16>>>0)for(;t=t-1|0,l[t|0]=48,Z+16>>>0>>0;);if(H1(f,t,(_|0)>=9?9:_),t=_-9|0,u=u+4|0,h>>>0<=u>>>0)break A;if(A=(_|0)>9,_=t,!A)break}break A}k:{if((_|0)<0)break k;for(n=u>>>0>>0?h:u+4|0,W=Z+16|9,o=u;;){t=Yi(i[o>>2],0,W),(W|0)==(t|0)&&(t=t-1|0,l[t|0]=48);n:{if((o|0)!=(u|0)){if(Z+16>>>0>=t>>>0)break n;for(;t=t-1|0,l[t|0]=48,Z+16>>>0>>0;);break n}if(H1(f,t,1),t=t+1|0,!(_|w))break n;H1(f,18135,1)}if(A=W-t|0,H1(f,t,(A|0)<(_|0)?A:_),_=_-A|0,o=o+4|0,n>>>0<=o>>>0)break k;if(!((_|0)>=0))break}}$1(f,48,_+18|0,18,0),H1(f,J,R-J|0);break e}t=_}$1(f,48,t+9|0,9,0)}$1(f,32,r,I,k^8192),v=(r|0)<(I|0)?I:r;break i}w=(n<<26>>31&9)+H|0;r:{if(A>>>0>11)break r;for(t=12-A|0,C=16;C=C*16,t=t-1|0,!!t;);if(s[w|0]==45){e=-(C+(-e-C));break r}e=e+C-C}for(o=i[Z+44>>2],t=o>>31,t=Yi((t^o)-t|0,0,R),(R|0)==(t|0)&&(t=t-1|0,l[t|0]=48),W=E|2,u=n&32,o=i[Z+44>>2],_=t-2|0,l[_|0]=n+15,l[t-1|0]=(o|0)<0?45:43,t=k&8,o=Z+16|0;n=o,d0(e)<2147483648?h=~~e:h=-2147483648,l[o|0]=u|s[h+52592|0],e=(e-+(h|0))*16,o=n+1|0,!((A|0)>0|t)&e==0|(o-(Z+16|0)|0)!=1||(l[n+1|0]=46,o=n+2|0),e!=0;);if(v=-1,t=R-_|0,n=t+W|0,(2147483645-n|0)<(A|0))break i;h=n,n=Z+16|0,u=o-n|0,A=A&&(u-2|0)<(A|0)?A+2|0:u,o=h+A|0,$1(f,32,r,o,k),H1(f,w,W),$1(f,48,r,o,k^65536),H1(f,n,u),$1(f,48,A-u|0,0,0),H1(f,_,t),$1(f,32,r,o,k^8192),v=(r|0)<(o|0)?o:r}return B=Z+560|0,v|0}function js(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0;if(A=X[e+22>>1],v=X[e+6>>1],w=X[e+30>>1],o=((m(A,-74)+m(v,74)|0)+m(w,74)|0)- -64>>7,o=(o|0)>=32767?32767:o,o=(o|0)<=-32768?-32768:o,n=X[e+20>>1],u=X[e+4>>1],t=X[e+28>>1],p=((m(n,-74)+m(u,74)|0)+m(t,74)|0)- -64>>7,p=(p|0)>=32767?32767:p,p=(p|0)<=-32768?-32768:p,I=X[e+18>>1],h=X[e+2>>1],Z=X[e+26>>1],_=((m(I,-74)+m(h,74)|0)+m(Z,74)|0)- -64>>7,_=(_|0)>=32767?32767:_,y=(_|0)<=-32768?-32768:_,E=X[e+16>>1],J=X[e>>1],R=X[e+24>>1],_=((m(E,-74)+m(J,74)|0)+m(R,74)|0)- -64>>7,_=(_|0)>=32767?32767:_,_=(_|0)<=-32768?-32768:_,k=X[e+14>>1],W=(((m(k,-74)+m(v,84)|0)+m(A,55)|0)+m(w,-29)|0)- -64>>7,W=(W|0)>=32767?32767:W,W=(W|0)<=-32768?-32768:W,C=m(k,74),k=(((C+m(v,55)|0)+m(A,-29)|0)+m(w,-84)|0)- -64>>7,k=(k|0)>=32767?32767:k,k=(k|0)<=-32768?-32768:k,A=(((C+m(v,29)|0)+m(A,84)|0)+m(w,55)|0)- -64>>7,A=(A|0)>=32767?32767:A,A=(A|0)<=-32768?-32768:A,w=X[e+12>>1],v=(((m(w,-74)+m(u,84)|0)+m(n,55)|0)+m(t,-29)|0)- -64>>7,v=(v|0)>=32767?32767:v,v=(v|0)<=-32768?-32768:v,C=m(w,74),w=(((C+m(u,55)|0)+m(n,-29)|0)+m(t,-84)|0)- -64>>7,w=(w|0)>=32767?32767:w,w=(w|0)<=-32768?-32768:w,n=(((C+m(u,29)|0)+m(n,84)|0)+m(t,55)|0)- -64>>7,n=(n|0)>=32767?32767:n,n=(n|0)<=-32768?-32768:n,u=X[e+10>>1],t=(((m(u,-74)+m(h,84)|0)+m(I,55)|0)+m(Z,-29)|0)- -64>>7,t=(t|0)>=32767?32767:t,C=(t|0)<=-32768?-32768:t,u=m(u,74),t=(((u+m(h,55)|0)+m(I,-29)|0)+m(Z,-84)|0)- -64>>7,t=(t|0)>=32767?32767:t,D=(t|0)<=-32768?-32768:t,u=(((u+m(h,29)|0)+m(I,84)|0)+m(Z,55)|0)- -64>>7,u=(u|0)>=32767?32767:u,I=(u|0)<=-32768?-32768:u,u=X[e+8>>1],e=(((m(u,-74)+m(J,84)|0)+m(E,55)|0)+m(R,-29)|0)- -64>>7,e=(e|0)>=32767?32767:e,e=(e|0)<=-32768?-32768:e,t=m(u,74),u=(((t+m(J,55)|0)+m(E,-29)|0)+m(R,-84)|0)- -64>>7,u=(u|0)>=32767?32767:u,u=(u|0)<=-32768?-32768:u,t=(((t+m(J,29)|0)+m(E,84)|0)+m(R,55)|0)- -64>>7,t=(t|0)>=32767?32767:t,t=(t|0)<=-32768?-32768:t,(r|0)!=1){h=s[f+2|0]+(((m(n,-74)+m(t,74)|0)+m(A,74)|0)+2048>>12)|0,h=(h|0)>=255?255:h,l[f+2|0]=(h|0)>0?h:0,h=m(I,74),Z=s[f|0]+((((h+m(t,29)|0)+m(n,84)|0)+m(A,55)|0)+2048>>12)|0,Z=(Z|0)>=255?255:Z,l[f|0]=(Z|0)>0?Z:0,h=s[f+1|0]+((((h+m(t,55)|0)+m(n,-29)|0)+m(A,-84)|0)+2048>>12)|0,h=(h|0)>=255?255:h,l[f+1|0]=(h|0)>0?h:0,A=s[f+3|0]+((((m(I,-74)+m(t,84)|0)+m(n,55)|0)+m(A,-29)|0)+2048>>12)|0,A=(A|0)>=255?255:A,l[f+3|0]=(A|0)>0?A:0,A=f+r|0,t=m(D,74),n=s[A|0]+((((t+m(u,29)|0)+m(w,84)|0)+m(k,55)|0)+2048>>12)|0,n=(n|0)>=255?255:n,l[A|0]=(n|0)>0?n:0,n=s[A+1|0]+((((t+m(u,55)|0)+m(w,-29)|0)+m(k,-84)|0)+2048>>12)|0,n=(n|0)>=255?255:n,l[A+1|0]=(n|0)>0?n:0,n=s[A+2|0]+(((m(w,-74)+m(u,74)|0)+m(k,74)|0)+2048>>12)|0,n=(n|0)>=255?255:n,l[A+2|0]=(n|0)>0?n:0,k=s[A+3|0]+((((m(D,-74)+m(u,84)|0)+m(w,55)|0)+m(k,-29)|0)+2048>>12)|0,k=(k|0)>=255?255:k,l[A+3|0]=(k|0)>0?k:0,k=(r<<1)+f|0,w=m(y,74),A=s[k|0]+((((w+m(_,29)|0)+m(p,84)|0)+m(o,55)|0)+2048>>12)|0,A=(A|0)>=255?255:A,l[k|0]=(A|0)>0?A:0,A=s[k+1|0]+((((w+m(_,55)|0)+m(p,-29)|0)+m(o,-84)|0)+2048>>12)|0,A=(A|0)>=255?255:A,l[k+1|0]=(A|0)>0?A:0,A=s[k+2|0]+(((m(p,-74)+m(_,74)|0)+m(o,74)|0)+2048>>12)|0,A=(A|0)>=255?255:A,l[k+2|0]=(A|0)>0?A:0,o=s[k+3|0]+((((m(y,-74)+m(_,84)|0)+m(p,55)|0)+m(o,-29)|0)+2048>>12)|0,o=(o|0)>=255?255:o,l[k+3|0]=(o|0)>0?o:0,f=m(r,3)+f|0,o=m(C,74),r=s[f|0]+((((o+m(e,29)|0)+m(v,84)|0)+m(W,55)|0)+2048>>12)|0,r=(r|0)>=255?255:r,l[f|0]=(r|0)>0?r:0,r=s[f+1|0]+((((o+m(e,55)|0)+m(v,-29)|0)+m(W,-84)|0)+2048>>12)|0,r=(r|0)>=255?255:r,l[f+1|0]=(r|0)>0?r:0,r=s[f+2|0]+(((m(v,-74)+m(e,74)|0)+m(W,74)|0)+2048>>12)|0,r=(r|0)>=255?255:r,l[f+2|0]=(r|0)>0?r:0,r=f,f=s[f+3|0]+((((m(C,-74)+m(e,84)|0)+m(v,55)|0)+m(W,-29)|0)+2048>>12)|0,f=(f|0)>=255?255:f,l[r+3|0]=(f|0)>0?f:0;return}h=s[f+2|0]+(((m(n,-74)+m(t,74)|0)+m(A,74)|0)+2048>>12)|0,h=(h|0)>=255?255:h,l[f+2|0]=(h|0)>0?h:0,h=m(I,74),Z=s[f|0]+((((h+m(t,29)|0)+m(n,84)|0)+m(A,55)|0)+2048>>12)|0,Z=(Z|0)>=255?255:Z,l[f|0]=(Z|0)>0?Z:0,h=s[f+1|0]+((((h+m(t,55)|0)+m(n,-29)|0)+m(A,-84)|0)+2048>>12)|0,h=(h|0)>=255?255:h,l[f+1|0]=(h|0)>0?h:0,A=s[f+3|0]+((((m(I,-74)+m(t,84)|0)+m(n,55)|0)+m(A,-29)|0)+2048>>12)|0,A=(A|0)>=255?255:A,n=(A|0)>0?A:0,l[f+3|0]=n,A=f+r|0,n=n+(((m(w,-74)+m(u,74)|0)+m(k,74)|0)+2048>>12)|0,n=(n|0)>=255?255:n,l[A+2|0]=(n|0)>0?n:0,n=m(D,74),t=s[A|0]+((((n+m(u,29)|0)+m(w,84)|0)+m(k,55)|0)+2048>>12)|0,t=(t|0)>=255?255:t,l[A|0]=(t|0)>0?t:0,n=s[A+1|0]+((((n+m(u,55)|0)+m(w,-29)|0)+m(k,-84)|0)+2048>>12)|0,n=(n|0)>=255?255:n,l[A+1|0]=(n|0)>0?n:0,k=s[A+3|0]+((((m(D,-74)+m(u,84)|0)+m(w,55)|0)+m(k,-29)|0)+2048>>12)|0,k=(k|0)>=255?255:k,k=(k|0)>0?k:0,l[A+3|0]=k,k=k+(((m(p,-74)+m(_,74)|0)+m(o,74)|0)+2048>>12)|0,k=(k|0)>=255?255:k,l[f+4|0]=(k|0)>0?k:0,k=m(y,74),A=s[f+2|0]+((((k+m(_,29)|0)+m(p,84)|0)+m(o,55)|0)+2048>>12)|0,A=(A|0)>=255?255:A,l[f+2|0]=(A|0)>0?A:0,k=s[f+3|0]+((((k+m(_,55)|0)+m(p,-29)|0)+m(o,-84)|0)+2048>>12)|0,k=(k|0)>=255?255:k,l[f+3|0]=(k|0)>0?k:0,o=s[f+5|0]+((((m(y,-74)+m(_,84)|0)+m(p,55)|0)+m(o,-29)|0)+2048>>12)|0,o=(o|0)>=255?255:o,o=(o|0)>0?o:0,l[f+5|0]=o,f=m(r,3)+f|0,r=o+(((m(v,-74)+m(e,74)|0)+m(W,74)|0)+2048>>12)|0,r=(r|0)>=255?255:r,l[f+2|0]=(r|0)>0?r:0,r=m(C,74),o=s[f|0]+((((r+m(e,29)|0)+m(v,84)|0)+m(W,55)|0)+2048>>12)|0,o=(o|0)>=255?255:o,l[f|0]=(o|0)>0?o:0,r=s[f+1|0]+((((r+m(e,55)|0)+m(v,-29)|0)+m(W,-84)|0)+2048>>12)|0,r=(r|0)>=255?255:r,l[f+1|0]=(r|0)>0?r:0,r=f,f=s[f+3|0]+((((m(C,-74)+m(e,84)|0)+m(v,55)|0)+m(W,-29)|0)+2048>>12)|0,f=(f|0)>=255?255:f,l[r+3|0]=(f|0)>0?f:0}function Ps(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0,n2=0;e=B-32|0,B=e,v=U0(i[r>>2],0),C=U0(i[r>>2],1),Z=U0(i[r>>2],2),f0=H2(i[r>>2],6),f0&&(E=U0(i[r>>2],6));i:{if(!(!(v>>>0<9|C>>>0<9)&Z>>>0>8)){i[f>>2]=0,i[f+4>>2]=0;break i}if(!((v|0)==(C|0)&(v|0)==(Z|0))){i[f>>2]=0,i[f+4>>2]=0;break i}A=i[r>>2],q=i[A+48>>2],q&&(i[q+4>>2]=i[q+4>>2]+1,A=i[r>>2]),n=i[A+28>>2],k=i[A+24>>2],A=U(136),i[A>>2]=72792,i[A+4>>2]=0,i[A+8>>2]=0,B0(A+20|0,0,104),J=i[A+4>>2],R=J+1|0,i[A+4>>2]=R,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,I=A- -64|0,i[I>>2]=0,i[I+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,I=A+12|0,i[A+12>>2]=I,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=J,i[A+16>>2]=A,R||(V[i[i[A>>2]+8>>2]](A),g(A)),i[I+36>>2]=3,i[I+32>>2]=0,i[I+28>>2]=n,i[I+24>>2]=k;r:{e:{if(!J0(I,0,k,n,v)||!J0(I,1,k,n,C)||!J0(I,2,k,n,Z)||f0&&!J0(I,6,k,n,E))break e;if(i[e+28>>2]=0,i[e+24>>2]=0,i[e+20>>2]=0,i[e+16>>2]=0,i[e+12>>2]=0,i[e+8>>2]=0,i[e+4>>2]=0,i[e>>2]=0,n0=v0(i[r>>2],0,e+28|0),v=v0(i[r>>2],1,e+24|0),C=v0(i[r>>2],2,e+20|0),h0=v0(I,0,e+12|0),Z=v0(I,1,e+8|0),E=v0(I,2,e+4|0),f0&&(F0=v0(i[r>>2],6,e+16|0),Y0=v0(I,6,e)),i[e+28>>2]=i[e+28>>2]/2,J=i[e+24>>2]/2|0,i[e+24>>2]=J,R=i[e+20>>2]/2|0,i[e+20>>2]=R,i[e+16>>2]=i[e+16>>2]/2,i[e+12>>2]=i[e+12>>2]/2,a=i[e+8>>2]/2|0,i[e+8>>2]=a,S=i[e+4>>2]/2|0,i[e+4>>2]=S,i[e>>2]=i[e>>2]/2,X[Z>>1]=Q[v>>1],X[E>>1]=Q[C>>1],X0=k-1|0,o=(X0|0)/2|0,(k|0)>=3)for(t=(o|0)<=1?1:o,r=0;D=r<<2,u=D|2,p=r&-2,z=p+2|0,w=z+v|0,_=v+p|0,X[u+Z>>1]=(Q[w>>1]+m(Q[_>>1],3)|0)+2>>>2,D=D+4|0,X[D+Z>>1]=(Q[_>>1]+m(Q[w>>1],3)|0)+2>>>2,H=u+E|0,u=C+z|0,p=C+p|0,X[H>>1]=(Q[u>>1]+m(Q[p>>1],3)|0)+2>>>2,X[E+D>>1]=(Q[p>>1]+m(Q[u>>1],3)|0)+2>>>2,r=r+1|0,(t|0)!=(r|0););if(D=k&1,D||(r=X0<<1,p=k-2|0,X[r+Z>>1]=Q[p+v>>1],X[r+E>>1]=Q[C+p>>1]),p=n-1|0,t=(p|0)/2|0,(n|0)>=3)for(z=(t|0)<=1?1:t,r=0;w=r<<1,_=w|1,u=r>>>1|0,W=u+1|0,y=v+(m(W,J)<<1)|0,h=v+(m(u,J)<<1)|0,X[Z+(m(_,a)<<1)>>1]=(Q[y>>1]+m(Q[h>>1],3)|0)+2>>>2,w=w+2|0,X[Z+(m(w,a)<<1)>>1]=(Q[h>>1]+m(Q[y>>1],3)|0)+2>>>2,H=E+(m(_,S)<<1)|0,_=C+(m(W,R)<<1)|0,u=C+(m(u,R)<<1)|0,X[H>>1]=(Q[_>>1]+m(Q[u>>1],3)|0)+2>>>2,X[E+(m(w,S)<<1)>>1]=(Q[u>>1]+m(Q[_>>1],3)|0)+2>>>2,r=r+1|0,(z|0)!=(r|0););if(W=n&1,W||(r=(n>>1)-1|0,X[Z+(m(p,a)<<1)>>1]=Q[v+(m(r,J)<<1)>>1],X[E+(m(p,S)<<1)>>1]=Q[C+(m(r,R)<<1)>>1]),!((n|0)<3|D))for(u=(k+C|0)-2|0,z=(k+v|0)-2|0,r=k<<1,w=(r+E|0)-2|0,_=(r+Z|0)-2|0,y=(t|0)<=1?1:t,r=0;h=r<<1,d=h|1,t=r>>>1|0,j=t+1|0,L=z+(m(j,J)<<1)|0,p0=z+(m(t,J)<<1)|0,X[_+(m(d,a)<<1)>>1]=(Q[L>>1]+m(Q[p0>>1],3)|0)+2>>>2,h=h+2|0,X[_+(m(h,a)<<1)>>1]=(Q[p0>>1]+m(Q[L>>1],3)|0)+2>>>2,H=w+(m(S,d)<<1)|0,d=u+(m(R,j)<<1)|0,t=u+(m(t,R)<<1)|0,X[H>>1]=(Q[d>>1]+m(Q[t>>1],3)|0)+2>>>2,X[w+(m(h,S)<<1)>>1]=(Q[t>>1]+m(Q[d>>1],3)|0)+2>>>2,r=r+1|0,(y|0)!=(r|0););A:{if(W)break A;if((k|0)>=3)for(t=(o|0)<=1?1:o,u=E+(m(p,S)<<1)|0,z=Z+(m(p,a)<<1)|0,r=(n>>1)-1|0,w=C+(m(r,R)<<1)|0,_=v+(m(r,J)<<1)|0,r=0;W=r<<2,y=W+z|0,h=r&-2,o=h+_|0,X[y+2>>1]=(Q[o+2>>1]+m(Q[o>>1],3)|0)+2>>>2,X[y+4>>1]=(Q[o>>1]+m(Q[o+2>>1],3)|0)+2>>>2,W=u+W|0,o=w+h|0,X[W+2>>1]=(Q[o+2>>1]+m(Q[o>>1],3)|0)+2>>>2,X[W+4>>1]=(Q[o>>1]+m(Q[o+2>>1],3)|0)+2>>>2,r=r+1|0,(t|0)!=(r|0););if(D)break A;r=k<<1,o=(n>>1)-1|0,X[(r+(Z+(m(p,a)<<1)|0)|0)-2>>1]=Q[(k+(v+(m(o,J)<<1)|0)|0)-2>>1],X[(r+(E+(m(p,S)<<1)|0)|0)-2>>1]=Q[(k+(C+(m(o,R)<<1)|0)|0)-2>>1]}A:{f:{if((n|0)>=3){if((k|0)<3)break f;for(o=1;;){for(d=E+(m(o,S)<<1)|0,j=Z+(m(o,a)<<1)|0,r=o+1|0,L=E+(m(r,S)<<1)|0,p0=Z+(m(r,a)<<1)|0,r=o>>>1|0,S0=C+(m(r,R)<<1)|0,c0=v+(m(r,J)<<1)|0,r=r+1|0,r2=C+(m(r,R)<<1)|0,n2=v+(m(r,J)<<1)|0,r=1;t=r&-2,u=t+r2|0,D=Q[u+2>>1],u=Q[u>>1],w=t+S0|0,z=Q[w>>1],w=Q[w+2>>1],y=t+n2|0,_=Q[y>>1],W=r<<1,A0=W+j|0,y=Q[y+2>>1],G0=m(y,3),h=t+c0|0,t=Q[h>>1],I0=m(t,3)+8|0,h=Q[h+2>>1],X[A0+2>>1]=G0+(_+(I0+m(h,9)|0)|0)>>>4,H=A0,Q0=m(_,3),A0=m(h,3)+8|0,X[H>>1]=y+(Q0+(A0+m(t,9)|0)|0)>>>4,H=W+p0|0,X[H+2>>1]=(Q0+(t+A0|0)|0)+m(y,9)>>>4,X[H>>1]=((h+I0|0)+m(_,9)|0)+G0>>>4,t=W+d|0,y=m(D,3),_=m(z,3)+8|0,X[t+2>>1]=y+(u+(_+m(w,9)|0)|0)>>>4,H=t,h=m(u,3),t=m(w,3)+8|0,X[H>>1]=D+(h+(t+m(z,9)|0)|0)>>>4,W=W+L|0,X[W+2>>1]=(h+(t+z|0)|0)+m(D,9)>>>4,X[W>>1]=y+((w+_|0)+m(u,9)|0)>>>4,r=r+2|0,(X0|0)>(r|0););if(o=o+2|0,!((p|0)>(o|0)))break}}if((n|0)<=0)break A}if(k=k<<1,f0){for(r=0;l0((m(i[e+12>>2],r)<<1)+h0|0,(m(i[e+28>>2],r)<<1)+n0|0,k),l0((m(i[e>>2],r)<<1)+Y0|0,(m(i[e+16>>2],r)<<1)+F0|0,k),r=r+1|0,(n|0)!=(r|0););break A}v=n&1;f:{if(!p){r=0;break f}for(C=n&-2,r=0,n=0;l0((m(i[e+12>>2],r)<<1)+h0|0,(m(i[e+28>>2],r)<<1)+n0|0,k),Z=r|1,l0((m(Z,i[e+12>>2])<<1)+h0|0,(m(Z,i[e+28>>2])<<1)+n0|0,k),r=r+2|0,n=n+2|0,(C|0)!=(n|0););}if(!v)break A;l0((m(i[e+12>>2],r)<<1)+h0|0,(m(i[e+28>>2],r)<<1)+n0|0,k)}i[f+4>>2]=A,i[f>>2]=I;break r}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(!q||(f=i[q+4>>2],i[q+4>>2]=f-1,f))break i;V[i[i[q>>2]+8>>2]](q),g(q)}B=e+32|0}function Ls(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0,n2=0,s2=0,W2=0,y2=0,x2=0,T2=0,O2=0,q2=0,b2=0,e1=0,A1=0,h1=0,B1=0,p1=0,W1=0,X1=0,N1=0,r4=0,e4=0,V4=0,M4=0,x4=0,Hi=0,Ti=0,ai=0,lf=0,uf=0,sf=0,hf=0,wf=0,_f=0,vf=0,mf=0,Bf=0,Zf=0,pf=0,Wf=0,Xf=0,Gf=0,Cf=0,Vf=0,If=0,Qf=0,yf=0,Ff=0,Ef=0,Yf=0,Jf=0,gf=0,Nf=0,Rf=0,Df=0,Uf=0,Mf=0,xf=0,zf=0,Hf=0,Tf=0,af=0,Sf=0,Of=0,jf=0,Pf=0,Lf=0,Kf=0,qf=0,$f=0,bf=0,df=0,cf=0,i5=0,r5=0,e5=0,A5=0,f5=0,k5=0,n5=0,t5=0,o5=0,l5=0,u5=0,s5=0;p=m(r,14)+e|0,E=Q[p+14>>1],J=Q[e+14>>1],R=Q[e+6>>1],u=J+R|0,a=Q[e+10>>1],S=Q[e+2>>1],h=a+S|0,A=u+h|0,q=Q[e+12>>1],d=Q[e+4>>1],_=q+d|0,j=Q[e+8>>1],L=Q[e>>1],v=j+L|0,n=_+v|0,t=A+n|0,k=(r<<3)+e|0,p0=Q[k+14>>1],X0=Q[k+6>>1],W=p0+X0|0,G0=Q[k+10>>1],I0=Q[k+2>>1],C=G0+I0|0,w=W+C|0,Q0=Q[k+12>>1],F0=Q[k+4>>1],I=Q0+F0|0,x2=Q[k+8>>1],T2=Q[k>>1],D=x2+T2|0,Z=I+D|0,o=w+Z|0,y=t-o|0,k=(r<<2)+e|0,O2=Q[k+14>>1],q2=Q[k+6>>1],Y0=O2+q2|0,b2=Q[k+10>>1],e1=Q[k+2>>1],S0=b2+e1|0,A0=Y0+S0|0,A1=Q[k+12>>1],h1=Q[k+4>>1],c0=A1+h1|0,B1=Q[k+8>>1],p1=Q[k>>1],r2=B1+p1|0,f0=c0+r2|0,z=A0+f0|0,k=m(r,12)+e|0,W1=Q[k+14>>1],X1=Q[k+6>>1],n2=W1+X1|0,N1=Q[k+10>>1],r4=Q[k+2>>1],s2=N1+r4|0,n0=n2+s2|0,e4=Q[k+12>>1],V4=Q[k+4>>1],W2=e4+V4|0,M4=Q[k+8>>1],Hi=Q[k>>1],x4=M4+Hi|0,y2=W2+x4|0,h0=n0+y2|0,H=z-h0|0,Ti=y-H|0,k=(r<<1)+e|0,ai=Q[k+14>>1],lf=Q[k+6>>1],uf=ai+lf|0,sf=Q[k+10>>1],hf=Q[k+2>>1],wf=sf+hf|0,_f=uf+wf|0,vf=Q[k+12>>1],mf=Q[k+4>>1],Bf=vf+mf|0,Zf=Q[k+8>>1],pf=Q[k>>1],Wf=Zf+pf|0,Xf=Bf+Wf|0,Gf=_f+Xf|0,k=m(r,10)+e|0,Cf=Q[k+14>>1],Vf=Q[k+6>>1],If=Cf+Vf|0,Qf=Q[k+10>>1],yf=Q[k+2>>1],Ff=Qf+yf|0,Ef=If+Ff|0,Yf=Q[k+12>>1],Jf=Q[k+4>>1],gf=Yf+Jf|0,Nf=Q[k+8>>1],k=Q[k>>1],Rf=Nf+k|0,Df=gf+Rf|0,Uf=Ef+Df|0,Mf=Gf-Uf|0,e=m(r,6)+e|0,r=Q[e+14>>1],xf=Q[e+6>>1],zf=r+xf|0,Hf=Q[e+10>>1],Tf=Q[e+2>>1],af=Hf+Tf|0,Sf=zf+af|0,Of=Q[e+12>>1],jf=Q[e+4>>1],Pf=Of+jf|0,Lf=Q[e+8>>1],e=Q[e>>1],Kf=Lf+e|0,qf=Pf+Kf|0,$f=Sf+qf|0,bf=Q[p+6>>1],df=E+bf|0,cf=Q[p+10>>1],i5=Q[p+2>>1],r5=cf+i5|0,e5=df+r5|0,A5=Q[p+12>>1],f5=Q[p+4>>1],k5=A5+f5|0,n5=Q[p+8>>1],p=Q[p>>1],t5=n5+p|0,o5=k5+t5|0,l5=e5+o5|0,u5=$f-l5|0,s5=Mf-u5|0,X[f+112>>1]=Ti-s5,X[f+96>>1]=Ti+s5,y=y+H|0,H=Mf+u5|0,X[f+80>>1]=y-H,X[f+64>>1]=y+H,t=t+o|0,o=z+h0|0,y=t-o|0,z=Gf+Uf|0,h0=$f+l5|0,H=z-h0|0,X[f+48>>1]=y-H,X[f+32>>1]=y+H,t=t+o|0,o=z+h0|0,X[f+16>>1]=t-o,X[f>>1]=t+o,A=n-A|0,n=Z-w|0,t=A-n|0,w=f0-A0|0,Z=y2-n0|0,o=w-Z|0,y=t-o|0,A0=Xf-_f|0,f0=Df-Ef|0,z=A0-f0|0,n0=qf-Sf|0,y2=o5-e5|0,h0=n0-y2|0,H=z-h0|0,X[f+114>>1]=y-H,X[f+98>>1]=y+H,t=t+o|0,o=z+h0|0,X[f+82>>1]=t-o,X[f+66>>1]=t+o,A=A+n|0,n=w+Z|0,t=A-n|0,w=A0+f0|0,Z=n0+y2|0,o=w-Z|0,X[f+50>>1]=t-o,X[f+34>>1]=t+o,A=A+n|0,n=w+Z|0,X[f+18>>1]=A-n,X[f+2>>1]=A+n,u=h-u|0,h=v-_|0,A=u+h|0,_=C-W|0,v=D-I|0,n=_+v|0,t=A-n|0,W=S0-Y0|0,C=r2-c0|0,w=W+C|0,I=s2-n2|0,D=x4-W2|0,Z=I+D|0,o=w-Z|0,y=t-o|0,Y0=wf-uf|0,S0=Wf-Bf|0,A0=Y0+S0|0,c0=Ff-If|0,r2=Rf-gf|0,f0=c0+r2|0,z=A0-f0|0,n2=af-zf|0,s2=Kf-Pf|0,n0=n2+s2|0,W2=r5-df|0,x4=t5-k5|0,y2=W2+x4|0,h0=n0-y2|0,H=z-h0|0,X[f+116>>1]=y-H,X[f+100>>1]=y+H,t=t+o|0,o=z+h0|0,X[f+84>>1]=t-o,X[f+68>>1]=t+o,A=A+n|0,n=w+Z|0,t=A-n|0,w=A0+f0|0,Z=n0+y2|0,o=w-Z|0,X[f+52>>1]=t-o,X[f+36>>1]=t+o,A=A+n|0,n=w+Z|0,X[f+20>>1]=A-n,X[f+4>>1]=A+n,u=h-u|0,h=v-_|0,A=u-h|0,_=C-W|0,v=D-I|0,n=_-v|0,t=A-n|0,W=S0-Y0|0,C=r2-c0|0,w=W-C|0,I=s2-n2|0,D=x4-W2|0,Z=I-D|0,o=w-Z|0,X[f+118>>1]=t-o,X[f+102>>1]=t+o,A=A+n|0,n=w+Z|0,X[f+86>>1]=A-n,X[f+70>>1]=A+n,u=u+h|0,h=_+v|0,A=u-h|0,_=W+C|0,v=I+D|0,n=_-v|0,X[f+54>>1]=A-n,X[f+38>>1]=A+n,u=u+h|0,h=_+v|0,X[f+22>>1]=u-h,X[f+6>>1]=u+h,J=R-J|0,R=S-a|0,u=J+R|0,a=d-q|0,S=L-j|0,h=a+S|0,A=u+h|0,q=X0-p0|0,d=I0-G0|0,_=q+d|0,j=F0-Q0|0,L=T2-x2|0,v=j+L|0,n=_+v|0,t=A-n|0,p0=q2-O2|0,X0=e1-b2|0,W=p0+X0|0,G0=h1-A1|0,I0=p1-B1|0,C=G0+I0|0,w=W+C|0,Q0=X1-W1|0,F0=r4-N1|0,I=Q0+F0|0,x2=V4-e4|0,T2=Hi-M4|0,D=x2+T2|0,Z=I+D|0,o=w-Z|0,y=t-o|0,O2=lf-ai|0,q2=hf-sf|0,Y0=O2+q2|0,b2=mf-vf|0,e1=pf-Zf|0,S0=b2+e1|0,A0=Y0+S0|0,A1=Vf-Cf|0,h1=yf-Qf|0,c0=A1+h1|0,B1=Jf-Yf|0,k=k-Nf|0,p1=B1+k|0,r2=c0+p1|0,f0=A0-r2|0,r=xf-r|0,z=Tf-Hf|0,W1=r+z|0,X1=jf-Of|0,e=e-Lf|0,n2=X1+e|0,N1=W1+n2|0,E=bf-E|0,r4=i5-cf|0,s2=E+r4|0,n0=f5-A5|0,p=p-n5|0,e4=n0+p|0,V4=s2+e4|0,W2=N1-V4|0,M4=f0-W2|0,X[f+120>>1]=y-M4,X[f+104>>1]=y+M4,t=t+o|0,o=f0+W2|0,X[f+88>>1]=t-o,X[f+72>>1]=t+o,A=A+n|0,n=w+Z|0,t=A-n|0,w=A0+r2|0,Z=N1+V4|0,o=w-Z|0,X[f+56>>1]=t-o,X[f+40>>1]=t+o,A=A+n|0,n=w+Z|0,X[f+24>>1]=A-n,X[f+8>>1]=A+n,u=h-u|0,h=v-_|0,A=u-h|0,_=C-W|0,v=D-I|0,n=_-v|0,t=A-n|0,W=S0-Y0|0,C=p1-c0|0,w=W-C|0,I=n2-W1|0,D=e4-s2|0,Z=I-D|0,o=w-Z|0,X[f+122>>1]=t-o,X[f+106>>1]=t+o,A=A+n|0,n=w+Z|0,X[f+90>>1]=A-n,X[f+74>>1]=A+n,u=u+h|0,h=_+v|0,A=u-h|0,_=W+C|0,v=I+D|0,n=_-v|0,X[f+58>>1]=A-n,X[f+42>>1]=A+n,u=u+h|0,h=_+v|0,X[f+26>>1]=u-h,X[f+10>>1]=u+h,J=R-J|0,R=S-a|0,u=J+R|0,a=d-q|0,S=L-j|0,h=a+S|0,A=u-h|0,q=X0-p0|0,d=I0-G0|0,_=q+d|0,j=F0-Q0|0,L=T2-x2|0,v=j+L|0,n=_-v|0,t=A-n|0,p0=q2-O2|0,X0=e1-b2|0,W=p0+X0|0,G0=h1-A1|0,k=k-B1|0,I0=G0+k|0,C=W-I0|0,r=z-r|0,e=e-X1|0,w=r+e|0,E=r4-E|0,p=p-n0|0,Q0=E+p|0,F0=w-Q0|0,I=C-F0|0,X[f+124>>1]=t-I,X[f+108>>1]=t+I,A=A+n|0,n=C+F0|0,X[f+92>>1]=A-n,X[f+76>>1]=A+n,u=u+h|0,h=_+v|0,A=u-h|0,_=W+I0|0,v=w+Q0|0,n=_-v|0,X[f+60>>1]=A-n,X[f+44>>1]=A+n,u=u+h|0,h=_+v|0,X[f+28>>1]=u-h,X[f+12>>1]=u+h,p=p-E|0,e=e-r|0,r=p+e|0,k=k-G0|0,E=X0-p0|0,u=k+E|0,h=r+u|0,A=L-j|0,q=d-q|0,d=A+q|0,a=S-a|0,J=R-J|0,R=a+J|0,S=d+R|0,X[f+14>>1]=h+S,X[f+30>>1]=S-h,r=u-r|0,R=R-d|0,X[f+46>>1]=r+R,X[f+62>>1]=R-r,e=e-p|0,r=E-k|0,p=e+r|0,k=q-A|0,E=J-a|0,J=k+E|0,X[f+78>>1]=p+J,X[f+94>>1]=J-p,e=r-e|0,r=E-k|0,X[f+110>>1]=e+r,X[f+126>>1]=r-e}function Ks(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;n=B-16|0,B=n;i:{r:{e:{A:{f:{o=D0(r);k:{if(!((o|0)==1917403971|(o|0)==1886547814)){if((o|0)!=1852009592)break f;A=U(24),l[A+22|0]=1,X[A+20>>1]=6,i[A+16>>2]=851969,i[A+4>>2]=1,i[A+8>>2]=0,i[A+12>>2]=72992,i[A>>2]=72832,t=A+12|0,i[e+48>>2]=t,k=i[e+52>>2],i[e+52>>2]=A;n:{if(!k||(e=i[k+4>>2],i[k+4>>2]=e-1,e))break n;V[i[i[k>>2]+8>>2]](k),g(k)}e=B-16|0,B=e,k=i[r>>2],o=V[i[i[k>>2]+8>>2]](k)|0,u=i[r>>2],k=w0,o=o+7|0,k=o>>>0<7?k+1|0:k;n:{if(V[i[i[u>>2]+12>>2]](u,o,k)|0){if(l[e+4|0]=0,l[e+15|0]=0,r0(f,2,100,e+4|0),l[e+15|0]>=0)break n;G(i[e+4>>2]);break n}if(Z=t,p=t2(r),X[Z+4>>1]=p,Z=t,p=t2(r),X[Z+6>>1]=p,Z=t,p=t2(r),X[Z+8>>1]=p,Z=t,p=B2(r)>>>7|0,l[Z+10|0]=p,k=i[19565],i[f>>2]=i[19564],i[f+4>>2]=k,k=f+8|0,l[78275]>=0){t=i[19567],i[k>>2]=i[19566],i[k+4>>2]=t,i[k+8>>2]=i[19568];break n}_0(k,i[19566],i[19567])}if(B=e+16|0,i[f>>2])break e;if(l[f+19|0]<0&&G(i[f+8>>2]),e=i[A+4>>2],i[A+4>>2]=e-1,e)break k;V[i[i[A>>2]+8>>2]](A),g(A);break k}if(k=i[e+12>>2],h=k,A=i[e+8>>2],!(k|A)){if(e=U(56),i[n+4>>2]=e,i[n+8>>2]=52,i[n+12>>2]=-2147483592,r=s[12240]|s[12241]<<8|(s[12242]<<16|s[12243]<<24),A=s[12236]|s[12237]<<8|(s[12238]<<16|s[12239]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+52|0]=0,r=s[12284]|s[12285]<<8|(s[12286]<<16|s[12287]<<24),l[e+48|0]=r,l[e+49|0]=r>>>8,l[e+50|0]=r>>>16,l[e+51|0]=r>>>24,r=s[12280]|s[12281]<<8|(s[12282]<<16|s[12283]<<24),A=s[12276]|s[12277]<<8|(s[12278]<<16|s[12279]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[12272]|s[12273]<<8|(s[12274]<<16|s[12275]<<24),A=s[12268]|s[12269]<<8|(s[12270]<<16|s[12271]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[12264]|s[12265]<<8|(s[12266]<<16|s[12267]<<24),A=s[12260]|s[12261]<<8|(s[12262]<<16|s[12263]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[12256]|s[12257]<<8|(s[12258]<<16|s[12259]<<24),A=s[12252]|s[12253]<<8|(s[12254]<<16|s[12255]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[12248]|s[12249]<<8|(s[12250]<<16|s[12251]<<24),A=s[12244]|s[12245]<<8|(s[12246]<<16|s[12247]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,4,0,n+4|0),l[n+15|0]>=0)break r;G(i[n+4>>2]);break r}if(w=i[e+32>>2],u=A-w|0,k=u-4|0,u=(h-(A>>>0>>0)|0)-(u>>>0<4)|0,A=k,!u&A>>>0>=104857601|u){if(e=U(48),i[n+4>>2]=e,i[n+8>>2]=44,i[n+12>>2]=-2147483600,r=s[9023]|s[9024]<<8|(s[9025]<<16|s[9026]<<24),A=s[9019]|s[9020]<<8|(s[9021]<<16|s[9022]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+44|0]=0,r=s[9059]|s[9060]<<8|(s[9061]<<16|s[9062]<<24),l[e+40|0]=r,l[e+41|0]=r>>>8,l[e+42|0]=r>>>16,l[e+43|0]=r>>>24,r=s[9055]|s[9056]<<8|(s[9057]<<16|s[9058]<<24),A=s[9051]|s[9052]<<8|(s[9053]<<16|s[9054]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[9047]|s[9048]<<8|(s[9049]<<16|s[9050]<<24),A=s[9043]|s[9044]<<8|(s[9045]<<16|s[9046]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[9039]|s[9040]<<8|(s[9041]<<16|s[9042]<<24),A=s[9035]|s[9036]<<8|(s[9037]<<16|s[9038]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[9031]|s[9032]<<8|(s[9033]<<16|s[9034]<<24),A=s[9027]|s[9028]<<8|(s[9029]<<16|s[9030]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,1e3,n+4|0),l[n+15|0]>=0)break r;G(i[n+4>>2]);break r}if(k=i[r>>2],h=V[i[i[k>>2]+8>>2]](k)|0,w=i[r>>2],k=w0,h=A+h|0,k=h>>>0>>0?k+1|0:k,V[i[i[w>>2]+12>>2]](w,h,k)|0){if(l[n+4|0]=0,l[n+15|0]=0,r0(f,2,100,n+4|0),l[n+15|0]>=0)break r;G(i[n+4>>2]);break r}if(A|u)for(k=A>>>0<=1?1:A,h=A,t=U(A),A=B0(t,0,A),v=h+A|0;Z=A+_|0,p=B2(r),l[Z|0]=p,_=_+1|0,(k|0)!=(_|0););if(A=U(32),i[A+28>>2]=0,i[A+20>>2]=0,i[A+24>>2]=0,i[A+16>>2]=o,i[A+4>>2]=0,i[A+8>>2]=0,i[A+12>>2]=72952,i[A>>2]=73092,(t|0)!=(v|0)){if(k=v-t|0,(k|0)<0)break i;o=U(k),i[A+20>>2]=o,u=k+o|0,i[A+28>>2]=u,l0(o,t,k),i[A+24>>2]=u}i[e+48>>2]=A+12,k=i[e+52>>2],i[e+52>>2]=A;n:{if(!k||(e=i[k+4>>2],i[k+4>>2]=e-1,e))break n;V[i[i[k>>2]+8>>2]](k),g(k)}if(!t)break k;G(t)}if(s[r+20|0]!=1)break A;if(l[n+4|0]=0,l[n+15|0]=0,r0(f,2,100,n+4|0),l[n+15|0]>=0)break r;G(i[n+4>>2]);break r}if(l[n+4|0]=0,l[n+15|0]=0,r0(f,2,126,n+4|0),l[n+15|0]>=0)break r;G(i[n+4>>2]);break r}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break r}_0(f,i[19566],i[19567]);break r}if(f=i[A+4>>2],i[A+4>>2]=f-1,f)break r;V[i[i[A>>2]+8>>2]](A),g(A)}B=n+16|0;return}y0(),P()}function qs(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0;e=B-32|0,B=e,w=U0(i[r>>2],0),_=U0(i[r>>2],1),v=U0(i[r>>2],2),q=H2(i[r>>2],6),q&&(W=U0(i[r>>2],6));i:{if(!(!(w>>>0>8|_>>>0>8)&v>>>0<9)){i[f>>2]=0,i[f+4>>2]=0;break i}if(!((w|0)==(_|0)&(w|0)==(v|0))){i[f>>2]=0,i[f+4>>2]=0;break i}n=i[r>>2],H=i[n+48>>2],H&&(i[H+4>>2]=i[H+4>>2]+1,n=i[r>>2]),Z=i[n+28>>2],k=i[n+24>>2],A=U(136),i[A>>2]=72792,i[A+4>>2]=0,i[A+8>>2]=0,B0(A+20|0,0,104),n=i[A+4>>2],y=n+1|0,i[A+4>>2]=y,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,C=A- -64|0,i[C>>2]=0,i[C+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,C=A+12|0,i[A+12>>2]=C,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=n,i[A+16>>2]=A,y||(V[i[i[A>>2]+8>>2]](A),g(A)),i[C+36>>2]=3,i[C+32>>2]=0,i[C+28>>2]=Z,i[C+24>>2]=k;r:{e:{if(!J0(C,0,k,Z,w)||!J0(C,1,k,Z,_)||!J0(C,2,k,Z,v)||q&&!J0(C,6,k,Z,W))break e;if(i[e+28>>2]=0,i[e+24>>2]=0,i[e+20>>2]=0,i[e+16>>2]=0,i[e+12>>2]=0,i[e+8>>2]=0,i[e+4>>2]=0,i[e>>2]=0,d=v0(i[r>>2],0,e+28|0),w=v0(i[r>>2],1,e+24|0),_=v0(i[r>>2],2,e+20|0),A0=v0(C,0,e+12|0),v=v0(C,1,e+8|0),W=v0(C,2,e+4|0),q&&(j=v0(i[r>>2],6,e+16|0),L=v0(C,6,e)),l[v|0]=s[w|0],l[W|0]=s[_|0],f0=k-1|0,I=(f0|0)/2|0,(k|0)>=3)for(y=(I|0)<=1?1:I,r=0;t=r<<1,o=t|1,n=r>>>1|0,u=n+1|0,J=u+w|0,p=n+w|0,l[o+v|0]=(s[J|0]+m(s[p|0],3)|0)+2>>>2,t=t+2|0,l[t+v|0]=(s[p|0]+m(s[J|0],3)|0)+2>>>2,h=o+W|0,o=_+u|0,n=n+_|0,l[h|0]=(s[o|0]+m(s[n|0],3)|0)+2>>>2,l[t+W|0]=(s[n|0]+m(s[o|0],3)|0)+2>>>2,r=r+1|0,(y|0)!=(r|0););if(J=k&1,J||(r=(k>>1)-1|0,l[v+f0|0]=s[r+w|0],l[W+f0|0]=s[r+_|0]),y=Z-1|0,r=(y|0)/2|0,(Z|0)>=3)for(u=(r|0)<=1?1:r,n=0;p=n<<1,R=p|1,D=i[e+24>>2],t=n>>>1|0,o=t+1|0,l[v+m(R,i[e+8>>2])|0]=(s[w+m(D,o)|0]+m(s[w+m(t,D)|0],3)|0)+2>>>2,p=p+2|0,D=i[e+24>>2],l[v+m(p,i[e+8>>2])|0]=(s[w+m(D,t)|0]+m(s[w+m(o,D)|0],3)|0)+2>>>2,h=W+m(R,i[e+4>>2])|0,R=i[e+20>>2],l[h|0]=(s[_+m(R,o)|0]+m(s[_+m(t,R)|0],3)|0)+2>>>2,h=t,t=i[e+20>>2],l[W+m(p,i[e+4>>2])|0]=(s[_+m(h,t)|0]+m(s[_+m(t,o)|0],3)|0)+2>>>2,n=n+1|0,(u|0)!=(n|0););if(D=Z&1,D||(n=(Z>>1)-1|0,l[v+m(y,i[e+8>>2])|0]=s[w+m(n,i[e+24>>2])|0],l[W+m(y,i[e+4>>2])|0]=s[_+m(n,i[e+20>>2])|0]),!((Z|0)<3|J))for(p=(k+W|0)-1|0,R=(k+v|0)-1|0,a=(r|0)<=1?1:r,n=k>>1,r=(n+_|0)-1|0,t=(n+w|0)-1|0,n=0;z=n<<1,h=z|1,E=i[e+24>>2],o=n>>>1|0,u=o+1|0,l[R+m(h,i[e+8>>2])|0]=(s[t+m(E,u)|0]+m(s[t+m(o,E)|0],3)|0)+2>>>2,z=z+2|0,E=i[e+24>>2],l[R+m(z,i[e+8>>2])|0]=(s[t+m(E,o)|0]+m(s[t+m(u,E)|0],3)|0)+2>>>2,E=p+m(h,i[e+4>>2])|0,h=i[e+20>>2],l[E|0]=(s[r+m(h,u)|0]+m(s[r+m(o,h)|0],3)|0)+2>>>2,h=o,o=i[e+20>>2],l[p+m(z,i[e+4>>2])|0]=(s[r+m(h,o)|0]+m(s[r+m(o,u)|0],3)|0)+2>>>2,n=n+1|0,(a|0)!=(n|0););A:{if(D)break A;if((k|0)>=3)for(o=(I|0)<=1?1:I,r=(Z>>1)-1|0,n=0;I=n<<1,t=n>>>1|0,u=t+(w+m(r,i[e+24>>2])|0)|0,l[(I+(v+m(y,i[e+8>>2])|0)|0)+1|0]=(s[u+1|0]+m(s[u|0],3)|0)+2>>>2,u=t+(w+m(r,i[e+24>>2])|0)|0,l[(I+(v+m(y,i[e+8>>2])|0)|0)+2|0]=(s[u|0]+m(s[u+1|0],3)|0)+2>>>2,u=t+(_+m(r,i[e+20>>2])|0)|0,l[(I+(W+m(y,i[e+4>>2])|0)|0)+1|0]=(s[u+1|0]+m(s[u|0],3)|0)+2>>>2,h=I+(W+m(y,i[e+4>>2])|0)|0,I=t+(_+m(r,i[e+20>>2])|0)|0,l[h+2|0]=(s[I|0]+m(s[I+1|0],3)|0)+2>>>2,n=n+1|0,(o|0)!=(n|0););if(J)break A;n=k>>1,r=(Z>>1)-1|0,l[((v+m(y,i[e+8>>2])|0)+k|0)-1|0]=s[(n+(w+m(r,i[e+24>>2])|0)|0)-1|0],l[((W+m(y,i[e+4>>2])|0)+k|0)-1|0]=s[(n+(_+m(r,i[e+20>>2])|0)|0)-1|0]}A:{f:{if((Z|0)>=3){if((k|0)<3)break f;for(n=1;;){for(I=n+1|0,R=n>>>1|0,D=R+1|0,r=1;t=r>>>1|0,J=i[e+20>>2],u=t+(_+m(J,D)|0)|0,o=s[u+1|0],u=s[u|0],p=t+(_+m(J,R)|0)|0,J=s[p+1|0],p=s[p|0],h=i[e+24>>2],E=t+(w+m(h,R)|0)|0,a=s[E+1|0],z=m(a,3)+8|0,S=t+(w+m(h,D)|0)|0,t=s[S|0],n0=m(t,3),h=s[E|0],E=s[S+1|0],l[(v+m(i[e+8>>2],n)|0)+r|0]=(n0+(z+m(h,9)|0)|0)+E>>>4,S=m(E,3),h0=m(h,3)+8|0,l[((v+m(i[e+8>>2],n)|0)+r|0)+1|0]=S+(t+(h0+m(a,9)|0)|0)>>>4,l[(v+m(I,i[e+8>>2])|0)+r|0]=((a+h0|0)+m(t,9)|0)+S>>>4,l[((v+m(I,i[e+8>>2])|0)+r|0)+1|0]=((h+z|0)+n0|0)+m(E,9)>>>4,a=m(u,3),t=m(J,3)+8|0,l[(W+m(i[e+4>>2],n)|0)+r|0]=o+(a+(t+m(p,9)|0)|0)>>>4,h=m(o,3),z=m(p,3)+8|0,l[((W+m(i[e+4>>2],n)|0)+r|0)+1|0]=h+(u+(z+m(J,9)|0)|0)>>>4,l[(W+m(I,i[e+4>>2])|0)+r|0]=h+((J+z|0)+m(u,9)|0)>>>4,l[((W+m(I,i[e+4>>2])|0)+r|0)+1|0]=(a+(t+p|0)|0)+m(o,9)>>>4,r=r+2|0,(f0|0)>(r|0););if(n=n+2|0,!((y|0)>(n|0)))break}}if((Z|0)<=0)break A}if(q){for(r=0;l0(m(i[e+12>>2],r)+A0|0,m(i[e+28>>2],r)+d|0,k),l0(m(i[e>>2],r)+L|0,m(i[e+16>>2],r)+j|0,k),r=r+1|0,(Z|0)!=(r|0););break A}w=Z&1;f:{if(!y){r=0;break f}for(Z=Z&-2,r=0,n=0;l0(m(i[e+12>>2],r)+A0|0,m(i[e+28>>2],r)+d|0,k),_=r|1,l0(m(_,i[e+12>>2])+A0|0,m(_,i[e+28>>2])+d|0,k),r=r+2|0,n=n+2|0,(Z|0)!=(n|0););}if(!w)break A;l0(m(i[e+12>>2],r)+A0|0,m(i[e+28>>2],r)+d|0,k)}i[f+4>>2]=A,i[f>>2]=C;break r}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(!H||(f=i[H+4>>2],i[H+4>>2]=f-1,f))break i;V[i[i[H>>2]+8>>2]](H),g(H)}B=e+32|0}function Vk(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0;h=B+-64|0,B=h,i[h+60>>2]=e,H=h+39|0,I=h+40|0;i:{r:{e:{A:{f:for(;;){o=0;k:for(;;){if(w=e,(p^2147483647)<(o|0))break A;p=o+p|0;n:{t:{o:{u:{if(o=e,u=s[o|0],u)for(;;){l:{e=u&255;s:{if(!e){e=o;break s}if((e|0)!=37)break l;for(u=o;;){if(s[u+1|0]!=37){e=u;break s}if(o=o+1|0,v=s[u+2|0],e=u+2|0,u=e,(v|0)!=37)break}}if(o=o-w|0,z=p^2147483647,(o|0)>(z|0))break A;if(f&&H1(f,w,o),o)continue k;i[h+60>>2]=e,o=e+1|0,C=-1,v=l[e+1|0]-48|0,s[e+2|0]!=36|v>>>0>9||(R=1,C=v,o=e+3|0),i[h+60>>2]=o,Z=0,u=l[o|0],e=u-32|0;s:{if(e>>>0>31){v=o;break s}if(v=o,e=1<>2]=v,Z=e|Z,u=l[o+1|0],e=u-32|0,e>>>0>=32)break s;if(o=v,e=1<>>0>9)){w:{if(!f){i[(e<<2)+k>>2]=10,e=0;break w}e=i[(e<<3)+A>>2]}W=e,e=v+3|0,u=1;break h}if(R)break u;if(e=v+1|0,!f){i[h+60>>2]=e,R=0,W=0;break s}o=i[r>>2],i[r>>2]=o+4,W=i[o>>2],u=0}if(R=u,i[h+60>>2]=e,(W|0)>=0)break s;W=0-W|0,Z=Z|8192;break s}if(W=E9(h+60|0),(W|0)<0)break A;e=i[h+60>>2]}o=0,_=-1,y=0;s:{if(s[e|0]!=46)break s;if(s[e+1|0]==42){v=l[e+2|0]-48|0;h:{if(!(s[e+3|0]!=36|v>>>0>9)){e=e+4|0;w:{if(!f){i[(v<<2)+k>>2]=10,_=0;break w}_=i[(v<<3)+A>>2]}break h}if(R)break u;if(e=e+2|0,_=0,!f)break h;v=i[r>>2],i[r>>2]=v+4,_=i[v>>2]}i[h+60>>2]=e,y=(_|0)>=0;break s}i[h+60>>2]=e+1,_=E9(h+60|0),e=i[h+60>>2],y=1}for(;;){if(E=o,v=28,D=e,u=l[e|0],u-123>>>0<4294967238)break e;if(e=e+1|0,o=s[(u+m(o,58)|0)+52063|0],!(o-1>>>0<8))break}i[h+60>>2]=e;s:{if((o|0)!=27){if(!o)break e;if((C|0)>=0){if(!f){i[(C<<2)+k>>2]=o;continue f}o=(C<<3)+A|0,v=i[o+4>>2],i[h+48>>2]=i[o>>2],i[h+52>>2]=v;break s}if(!f)break n;qn(h+48|0,o,r,t);break s}if((C|0)>=0)break e;if(o=0,!f)continue k}if(s[f|0]&32)break r;u=Z&-65537,Z=Z&8192?u:Z,C=0,J=2463,v=I;s:{h:{w:{_:{v:{Z:{m:{B:{p:{W:{G:{C:{y:{Y:{V:{F:{I:switch(o=l[D|0],o=E&&(o&15)==3?o&-45:o,o-88|0){case 9:case 13:case 14:case 15:break s;case 27:break m;case 11:break B;case 12:case 17:break G;case 23:break C;case 0:case 32:break y;case 24:break Y;case 22:break V;case 29:break F;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break t;default:break I}I:switch(o-65|0){case 0:case 4:case 5:case 6:break s;case 2:break Z;case 1:case 3:break t;default:break I}if((o|0)==83)break v;break t}w=i[h+48>>2],u=i[h+52>>2],J=2463;break W}o=0;V:switch(E&255){case 0:i[i[h+48>>2]>>2]=p;continue k;case 1:i[i[h+48>>2]>>2]=p;continue k;case 2:w=i[h+48>>2],i[w>>2]=p,i[w+4>>2]=p>>31;continue k;case 3:X[i[h+48>>2]>>1]=p;continue k;case 4:l[i[h+48>>2]]=p;continue k;case 6:i[i[h+48>>2]>>2]=p;continue k;case 7:break V;default:continue k}w=i[h+48>>2],i[w>>2]=p,i[w+4>>2]=p>>31;continue k}_=_>>>0<=8?8:_,Z=Z|8,o=120}if(e=I,D=o&32,w=i[h+48>>2],u=i[h+52>>2],w|u)for(;e=e-1|0,l[e|0]=D|s[(w&15)+52592|0],E=!u&w>>>0>15|(u|0)!=0,w=(u&15)<<28|w>>>4,u=u>>>4|0,!!E;);if(w=e,!(i[h+48>>2]|i[h+52>>2])|!(Z&8))break p;J=(o>>>4|0)+2463|0,C=2;break p}if(e=I,o=i[h+52>>2],u=o,w=i[h+48>>2],o|w)for(;e=e-1|0,l[e|0]=w&7|48,E=!u&w>>>0>7|(u|0)!=0,w=(u&7)<<29|w>>>3,u=u>>>3|0,!!E;);if(w=e,!(Z&8))break p;e=I-e|0,_=(e|0)<(_|0)?_:e+1|0;break p}if(w=i[h+48>>2],e=i[h+52>>2],u=e,(e|0)<0){u=0-(e+((w|0)!=0)|0)|0,w=0-w|0,i[h+48>>2]=w,i[h+52>>2]=u,C=1,J=2463;break W}if(Z&2048){C=1,J=2464;break W}C=Z&1,J=C?2465:2463}w=Yi(w,u,I)}if((_|0)<0&y)break A;if(Z=y?Z&-65537:Z,e=i[h+48>>2],o=i[h+52>>2],!(_|(e|o)!=0)){w=I,_=0;break t}e=!(e|o)+(I-w|0)|0,_=(e|0)<(_|0)?_:e;break t}w=i[h+48>>2];break o}if(e=i[h+48>>2],w=e||18295,e=_>>>0>=2147483647?2147483647:_,o=PA(w,0,e),e=o?o-w|0:e,v=e+w|0,(_|0)>=0){Z=u,_=e;break t}if(Z=u,_=e,s[v|0])break A;break t}if(o=i[h+48>>2],o|i[h+52>>2])break _;w=0;break o}if(_){u=i[h+48>>2];break w}o=0,$1(f,32,W,0,Z);break h}i[h+12>>2]=0,i[h+8>>2]=o,u=h+8|0,i[h+48>>2]=u,_=-1}for(o=0;;){w:{if(w=i[u>>2],!w)break w;if(w=ye(h+4|0,w),(w|0)<0)break r;if(w>>>0>_-o>>>0)break w;if(u=u+4|0,o=o+w|0,_>>>0>o>>>0)continue}break}if(v=61,(o|0)<0)break e;if($1(f,32,W,o,Z),!o){o=0;break h}for(v=0,u=i[h+48>>2];;){if(w=i[u>>2],!w||(_=h+4|0,w=ye(_,w),v=w+v|0,v>>>0>o>>>0))break h;if(H1(f,_,w),u=u+4|0,!(o>>>0>v>>>0))break}}$1(f,32,W,o,Z^8192),o=(o|0)<(W|0)?W:o;continue k}if((_|0)<0&y)break A;if(v=61,o=V[n|0](f,i0[h+48>>3],W,_,Z,o)|0,(o|0)>=0)continue k;break e}u=s[o+1|0],o=o+1|0}if(f)break i;if(!R)break n;for(o=1;;){if(f=i[(o<<2)+k>>2],f){if(qn((o<<3)+A|0,f,r,t),p=1,o=o+1|0,(o|0)!=10)continue;break i}break}if(o>>>0>=10){p=1;break i}for(;;){if(i[(o<<2)+k>>2])break u;if(p=1,o=o+1|0,(o|0)==10)break}break i}v=28;break e}l[h+39|0]=w,_=1,w=H,Z=u}if(u=v-w|0,_=(u|0)<(_|0)?_:u,(_|0)>(C^2147483647))break A;if(v=61,e=_+C|0,o=(e|0)<(W|0)?W:e,(z|0)<(o|0))break e;$1(f,32,o,e,Z),H1(f,J,C),$1(f,48,o,e,Z^65536),$1(f,48,_,u,0),H1(f,w,u),$1(f,32,o,e,Z^8192),e=i[h+60>>2];continue}break}break}p=0;break i}v=61}i[23944]=v}p=-1}return B=h- -64|0,p}function P0(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0;k=B-160|0,B=k,A=i[e>>2];i:{if(r){r:{if(!A){i[r+12>>2]=34640,A=0,r=34640;break r}i[k+24>>2]=54496,i[k+80>>2]=54516,A=i[13633],i[k+16>>2]=A,n=i[A-12>>2],A=k+16|0,i[n+A>>2]=i[13634],i[k+20>>2]=0,n=A+i[i[k+16>>2]-12>>2]|0,t=k+28|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,n=i[13635],i[k+24>>2]=n,o=i[n-12>>2],n=k+24|0,i[o+n>>2]=i[13636],o=i[13632],i[k+16>>2]=o,i[A+i[o-12>>2]>>2]=i[13637],i[k+80>>2]=54516,i[k+16>>2]=54476,i[k+24>>2]=54496,o=$0(t),i[o>>2]=53552,i[k+68>>2]=0,i[k+72>>2]=0,i[k+60>>2]=0,i[k+64>>2]=0,i[k+76>>2]=24,A=i[e>>2],A>>>0>11?A=5233:A=i[(A<<2)+72500>>2],u=x(x(n,A,G2(A)),21688,2);e:{A:{f:{k:{n:{t:{o:{u:{l:{s:{h:{w:{_:{v:{Z:{m:{B:{p:{W:{G:{C:{y:{Y:{V:{F:{I:{D:{U:{M:{J:{x:{E:{Q:{g:{N:{X:{H:{T:{a:{S:{R:{O:{j:{P:{L:{K:{q:{$:{b:{d:{c:{i0:{r0:{e0:{A0:{f0:{k0:{n0:{t0:{o0:{l0:{u0:{s0:{h0:{w0:{_0:{v0:{m0:{B0:{Z0:{p0:{W0:{X0:{G0:{C0:{if(t=i[e+4>>2],(t|0)<=1999){A=13017;z:switch(t|0){case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 65:case 66:case 67:case 68:case 69:case 70:case 71:case 72:case 73:case 74:case 75:case 76:case 77:case 78:case 79:case 80:case 81:case 82:case 83:case 84:case 85:case 86:case 87:case 88:case 89:case 90:case 91:case 92:case 93:case 94:case 95:case 96:case 97:case 98:case 99:case 143:case 144:case 145:case 146:case 147:case 148:case 149:break f;case 142:break E;case 150:break Q;case 140:break g;case 139:break N;case 138:break X;case 137:break H;case 136:break T;case 135:break a;case 134:break S;case 133:break R;case 132:break O;case 130:break j;case 129:break P;case 128:break L;case 127:break K;case 126:break q;case 124:break $;case 123:break b;case 122:break d;case 121:break c;case 120:break i0;case 117:break r0;case 116:break e0;case 115:break A0;case 114:break f0;case 125:break k0;case 113:break n0;case 112:break t0;case 111:break o0;case 110:break l0;case 109:break u0;case 0:break e;case 108:break s0;case 107:break h0;case 131:break w0;case 141:break _0;case 106:break v0;case 105:break m0;case 104:break B0;case 103:break Z0;case 102:break p0;case 119:break W0;case 118:break X0;case 101:break G0;case 100:break C0;default:break z}switch(t-1e3|0){case 1:break J;case 0:break x;default:break f}}if((t|0)<=3999){z:switch(t-2e3|0){case 8:break C;case 7:break y;case 6:break Y;case 5:break V;case 4:break F;case 3:break I;case 2:break D;case 1:break U;case 0:break M;default:break z}switch(t-3e3|0){case 6:break v;case 5:break Z;case 4:break m;case 3:break B;case 2:break p;case 1:break W;case 0:break G;default:break f}}z:switch(t-5e3|0){case 4:break l;case 3:break s;case 2:break h;case 1:break w;case 0:break _;default:break z}switch(t-6e3|0){case 3:break n;case 2:break t;case 1:break o;case 0:break u;default:break k}}A=10115;break e}A=8920;break e}A=14550;break e}A=4543;break e}A=2201;break e}A=2159;break e}A=2313;break e}A=2173;break e}A=2355;break e}A=2341;break e}A=2369;break e}A=2243;break e}A=2229;break e}A=2327;break e}A=2299;break e}A=2257;break e}A=2215;break e}A=2271;break e}A=2285;break e}A=5618;break e}A=1221;break e}A=7298;break e}A=14482;break e}A=6344;break e}A=14412;break e}A=14682;break e}A=12967;break e}A=7271;break e}A=9719;break e}A=3512;break e}A=5895;break e}A=9e3;break e}A=2042;break e}A=8329;break e}A=4362;break e}A=4719;break e}A=3687;break e}A=14499;break e}A=1267;break e}A=12824;break e}A=12790;break e}A=7458;break e}A=6298;break e}A=2187;break e}A=13067;break e}A=5351;break e}A=13533;break e}A=11846;break e}A=13355;break e}A=12002;break e}A=11952;break e}A=5566;break e}A=9195;break e}A=1284;break e}A=10265;break e}A=13872;break e}A=9746;break e}A=6618;break e}A=6424;break e}A=11696;break e}A=11733;break e}A=11771;break e}A=14433;break e}A=7381;break e}A=7404;break e}A=7365;break e}A=17693;break e}A=13233;break e}A=13188;break e}A=3932;break e}A=3455;break e}if((t|0)==4e3)break A}A=i[18124];break e}A=8307}x(u,A,G2(A)),A=l[e+19|0],((A|0)<0?i[e+12>>2]:A)&&(t=x(n,21688,2),A=l[e+19|0],n=(A|0)<0,x(t,n?i[e+8>>2]:e+8|0,n?i[e+12>>2]:A)),A=k+4|0,i2(A,o);e:{if((r|0)==(A|0))break e;if(A=l[k+15|0],l[r+11|0]>=0){if((A|0)>=0){A=i[k+8>>2],i[r>>2]=i[k+4>>2],i[r+4>>2]=A,i[r+8>>2]=i[k+12>>2];break e}i4(r,i[k+4>>2],i[k+8>>2]);break e}n=(A|0)<0,_4(r,n?i[k+4>>2]:k+4|0,n?i[k+8>>2]:A)}i[r+12>>2]=l[r+11|0]<0?i[r>>2]:r,l[k+15|0]<0&&G(i[k+4>>2]),A=i[13631],i[k+16>>2]=A,i[i[A-12>>2]+(k+16|0)>>2]=i[13639],i[k+24>>2]=i[13640],i[o>>2]=53552,l[k+71|0]<0&&G(i[k+60>>2]),K0(o),T0(k+80|0),A=i[e>>2],r=i[r+12>>2]}i[f>>2]=A,i[f+4>>2]=i[e+4>>2];break i}i[f>>2]=A,i[f+4>>2]=i[e+4>>2],r=i[18124]}i[f+8>>2]=r,B=k+160|0}function $s(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=Y(0),o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=Y(0),y=Y(0),E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=Y(0),A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=Y(0),r2=Y(0),n2=Y(0),s2=Y(0);e=B-80|0,B=e,A=i[r>>2],p=i[A+36>>2],n=0,o=U0(A,0),A=U0(i[r>>2],1),k=U0(i[r>>2],2),H=H2(i[r>>2],6),H&&(n=U0(i[r>>2],6));i:{if(!(!((o|0)==8|(A|0)==8)&(k|0)!=8)){i[f>>2]=0,i[f+4>>2]=0;break i}if(!((A|0)==(o|0)&(k|0)==(o|0))){i[f>>2]=0,i[f+4>>2]=0;break i}k=i[r>>2],h=i[k+44>>2],W=i[k+48>>2],W&&(i[W+4>>2]=i[W+4>>2]+1,k=i[r>>2]),v=i[k+28>>2],_=i[k+24>>2],A=U(136),i[A>>2]=72792,i[A+4>>2]=0,i[A+8>>2]=0,B0(A+20|0,0,104),k=i[A+4>>2],C=k+1|0,i[A+4>>2]=C,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,w=A- -64|0,i[w>>2]=0,i[w+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,w=A+12|0,i[A+12>>2]=w,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=k,i[A+16>>2]=A,C||(V[i[i[A>>2]+8>>2]](A),g(A)),i[w+36>>2]=3,i[w+32>>2]=1,i[w+28>>2]=v,i[w+24>>2]=_;r:{e:{A:{f:{if(!J0(w,3,_,v,o)||!J0(w,4,_,v,o)||!J0(w,5,_,v,o)||H&&!J0(w,6,_,v,n))break f;if(i[e+76>>2]=0,i[e+72>>2]=0,i[e+68>>2]=0,i[e+64>>2]=0,i[e+60>>2]=0,i[e+56>>2]=0,i[e+52>>2]=0,i[e+48>>2]=0,L=v0(i[r>>2],0,e+76|0),p0=v0(i[r>>2],1,e+72|0),n0=2,X0=v0(i[r>>2],2,e+68|0),G0=v0(w,3,e+60|0),I0=v0(w,4,e+56|0),Q0=v0(w,5,e+52|0),H&&(a=v0(i[r>>2],6,e- -64|0),S=v0(w,6,e+48|0)),r=p<<3,k=p>>>0<4,n=(k?16908801>>>r|0:0)&3,r=(k?16843265>>>r|0:0)&3,i[e+76>>2]=i[e+76>>2]/2,i[e+72>>2]=i[e+72>>2]/2,i[e+68>>2]=i[e+68>>2]/2,i[e+64>>2]=i[e+64>>2]/2,i[e+60>>2]=i[e+60>>2]/2,i[e+56>>2]=i[e+56>>2]/2,i[e+52>>2]=i[e+52>>2]/2,i[e+48>>2]=i[e+48>>2]/2,i[e+36>>2]=-1086926434,i[e+40>>2]=1071829221,i[e+28>>2]=1068725436,i[e+32>>2]=-1095748968,l[e+24|0]=1,h0=1,h&&(h0=s[h+10|0],n0=Q[h+8>>1],V6(e+4|0,n0,Q[h+4>>1]),i[e+40>>2]=i[e+20>>2],k=i[e+16>>2],i[e+32>>2]=i[e+12>>2],i[e+36>>2]=k,k=i[e+8>>2],i[e+24>>2]=i[e+4>>2],i[e+28>>2]=k),(v|0)<=0)break e;if(q=_<<1,(_|0)<=0)break A;for(p=n-1|0,h=-1<>2],o)<<1)+Q0|0,E=(m(i[e+56>>2],o)<<1)+I0|0,J=(m(i[e+60>>2],o)<<1)+G0|0,R=(m(i[e+76>>2],o)<<1)+L|0,r=o>>>F0|0,D=(m(r,i[e+68>>2])<<1)+X0|0,z=(m(r,i[e+72>>2])<<1)+p0|0,c0=Z0[e+40>>2],r2=Z0[e+36>>2],n2=Z0[e+32>>2],s2=Z0[e+28>>2],k=0;k:{n:{t:switch(n0|0){default:for(;;){Z=k>>>p<<1,t=Y(Q[Z+D>>1]-A0|0),u=h0&1,I=u?t:Y(t*Y(1.142899990081787)),n=k<<1,t=Y(Q[n+R>>1]),t=u?t:Y(Y(t-d)*Y(1.1689000129699707)),y=Y(Y(Y(s2*I)+t)+Y(.5));o:{if(Y(d0(y))>1],X[n+J>>1]=(r|0)>=0?(r|0)<(h|0)?r:h:0,f0=n+E|0,y=Y(r2*I),I=Y(Z-A0|0),I=u?I:Y(I*Y(1.142899990081787)),y=Y(Y(y+Y(Y(n2*I)+t))+Y(.5));o:{if(Y(d0(y))>1]=(r|0)>=0?(r|0)<(h|0)?r:h:0,n=n+C|0,t=Y(Y(Y(c0*I)+t)+Y(.5));o:{if(Y(d0(t))>1]=(r|0)>=0?(r|0)<(h|0)?r:h:0,k=k+1|0,(_|0)==(k|0))break}break k;case 0:if(h0&1){if(n=0,(_|0)==1)break n;for(;r=k<<1,u=k>>>p<<1,X[r+J>>1]=Q[u+D>>1],X[r+E>>1]=Q[r+R>>1],X[r+C>>1]=Q[u+z>>1],u=k|1,r=u<<1,u=u>>>p<<1,X[r+J>>1]=Q[u+D>>1],X[r+E>>1]=Q[r+R>>1],X[r+C>>1]=Q[u+z>>1],k=k+2|0,n=n+2|0,(Y0|0)!=(n|0););break n}for(;;){n=k<<1,u=n+J|0,Z=k>>>p<<1,t=Y(Y(Y(Y(Q[Z+D>>1])-d)*Y(1.142899990081787))+Y(.5));o:{if(Y(d0(t))>1]=(r|0)>=0?(r|0)<(h|0)?r:h:0,u=n+E|0,t=Y(Y(Y(Y(Q[n+R>>1])-d)*Y(1.1689000129699707))+Y(.5));o:{if(Y(d0(t))>1]=(r|0)>=0?(r|0)<(h|0)?r:h:0,n=n+C|0,t=Y(Y(Y(Y(Q[Z+z>>1])-d)*Y(1.142899990081787))+Y(.5));o:{if(Y(d0(t))>1]=(r|0)>=0?(r|0)<(h|0)?r:h:0,k=k+1|0,(_|0)==(k|0))break}break k;case 8:break t}for(;n=k>>>p<<1,u=Q[n+D>>1]-A0|0,r=k<<1,Z=Q[r+R>>1],f0=Q[n+z>>1]-A0|0,j=Z-f0|0,n=u+j|0,X[r+J>>1]=(n|0)>=0?n>>>0>=255?255:n:0,n=Z+f0|0,X[r+E>>1]=(n|0)>=0?n>>>0>=255?255:n:0,n=r+C|0,r=j-u|0,X[n>>1]=(r|0)>=0?r>>>0>=255?255:r:0,k=k+1|0,(_|0)!=(k|0););break k}if(!S0)break k;r=k<<1,k=k>>>p<<1,X[r+J>>1]=Q[k+D>>1],X[r+E>>1]=Q[r+R>>1],X[r+C>>1]=Q[k+z>>1]}if(H&&l0((m(i[e+48>>2],o)<<1)+S|0,(m(i[e+64>>2],o)<<1)+a|0,q),o=o+1|0,(v|0)==(o|0))break}break e}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break r;V[i[i[A>>2]+8>>2]](A),g(A);break r}if(!H)break e;if(r=0,(v|0)!=1)for(n=v&2147483646,k=0;l0((m(i[e+48>>2],r)<<1)+S|0,(m(i[e+64>>2],r)<<1)+a|0,q),_=r|1,l0((m(_,i[e+48>>2])<<1)+S|0,(m(_,i[e+64>>2])<<1)+a|0,q),r=r+2|0,k=k+2|0,(n|0)!=(k|0););if(!(v&1))break e;l0((m(i[e+48>>2],r)<<1)+S|0,(m(i[e+64>>2],r)<<1)+a|0,q)}i[f+4>>2]=A,i[f>>2]=w}if(!W||(f=i[W+4>>2],i[W+4>>2]=f-1,f))break i;V[i[i[W>>2]+8>>2]](W),g(W)}B=e+80|0}function bs(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=Y(0),o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=Y(0),J=0,R=Y(0),D=0,z=0,H=0,a=0,S=0,q=0,d=0;e=B-80|0,B=e,A=i[r>>2],C=i[A+36>>2],k=U0(A,0),A=U0(i[r>>2],1),n=U0(i[r>>2],2),v=H2(i[r>>2],6),v&&(W=U0(i[r>>2],6));i:{if(!(!((k|0)!=8|(A|0)!=8)&(n|0)==8)){i[f>>2]=0,i[f+4>>2]=0;break i}A=i[r>>2],I=i[A+44>>2],y=i[A+48>>2],y&&(i[y+4>>2]=i[y+4>>2]+1,A=i[r>>2]),_=i[A+28>>2],u=i[A+24>>2],n=U(136),i[n>>2]=72792,i[n+4>>2]=0,i[n+8>>2]=0,B0(n+20|0,0,104),A=i[n+4>>2],Z=A+1|0,i[n+4>>2]=Z,i[n+56>>2]=0,i[n+60>>2]=0,i[n+44>>2]=99,i[n+48>>2]=99,i[n+32>>2]=3795,h=n- -64|0,i[h>>2]=0,i[h+4>>2]=0,i[n+132>>2]=0,i[n+124>>2]=0,i[n+128>>2]=0,i[n+84>>2]=1,i[n+88>>2]=1,i[n+72>>2]=n+76,i[n+92>>2]=0,i[n+96>>2]=0,i[n+100>>2]=0,i[n+104>>2]=0,i[n+108>>2]=0,i[n+112>>2]=0,l[n+113|0]=0,l[n+114|0]=0,l[n+115|0]=0,l[n+116|0]=0,l[n+117|0]=0,l[n+118|0]=0,l[n+119|0]=0,l[n+120|0]=0,h=n+12|0,i[n+12>>2]=h,i[n+8>>2]=i[n+8>>2]+1,i[n+4>>2]=A,i[n+16>>2]=n,Z||(V[i[i[n>>2]+8>>2]](n),g(n)),i[h+36>>2]=3,i[h+32>>2]=1,i[h+28>>2]=_,i[h+24>>2]=u;r:{e:{if(!J0(h,3,u,_,k)||!J0(h,4,u,_,k)||!J0(h,5,u,_,k)||v&&!J0(h,6,u,_,W))break e;W=0,i[e+76>>2]=0,i[e+72>>2]=0,i[e+68>>2]=0,i[e+64>>2]=0,i[e+60>>2]=0,i[e+56>>2]=0,i[e+52>>2]=0,i[e+48>>2]=0,D=v0(i[r>>2],0,e+76|0),w=1,z=v0(i[r>>2],1,e+72|0),A=2,H=v0(i[r>>2],2,e+68|0),a=v0(h,3,e+60|0),S=v0(h,4,e+56|0),q=v0(h,5,e+52|0),Z=0,v&&(Z=v0(i[r>>2],6,e- -64|0),W=v0(h,6,e+48|0)),r=C<<3,k=C>>>0<4,C=(k?16908801>>>r|0:0)&3,r=(k?16843265>>>r|0:0)&3,i[e+36>>2]=-1086926434,i[e+40>>2]=1071829221,i[e+28>>2]=1068725436,i[e+32>>2]=-1095748968,l[e+24|0]=1,I&&(w=s[I+10|0],A=Q[I+8>>1],V6(e+4|0,A,Q[I+4>>1]),i[e+40>>2]=i[e+20>>2],k=i[e+16>>2],i[e+32>>2]=i[e+12>>2],i[e+36>>2]=k,k=i[e+8>>2],i[e+24>>2]=i[e+4>>2],i[e+28>>2]=k);A:{if((_|0)<=0)break A;if((u|0)>0){I=C-1|0,C=r-1|0,k=0;f:switch(A|0){case 0:if(r=0,w&1)for(;;){for(A=r>>>C|0,k=0;w=k>>>I|0,l[(m(i[e+60>>2],r)+a|0)+k|0]=s[w+(m(A,i[e+68>>2])+H|0)|0],l[(m(i[e+56>>2],r)+S|0)+k|0]=s[(D+m(i[e+76>>2],r)|0)+k|0],l[(m(i[e+52>>2],r)+q|0)+k|0]=s[w+(m(A,i[e+72>>2])+z|0)|0],k=k+1|0,(u|0)!=(k|0););if(v&&l0(m(i[e+48>>2],r)+W|0,m(i[e+64>>2],r)+Z|0,u),r=r+1|0,(_|0)==(r|0))break A}for(;;){for(w=r>>>C|0,k=0;;){o=(m(i[e+60>>2],r)+a|0)+k|0,p=k>>>I|0,t=Y(Y(Y(Y(s[p+(m(w,i[e+68>>2])+H|0)|0])+Y(-16))*Y(1.142899990081787))+Y(.5));k:{if(Y(d0(t))=0?A>>>0>=255?255:A:0,o=(m(i[e+56>>2],r)+S|0)+k|0,t=Y(Y(Y(Y(s[(D+m(i[e+76>>2],r)|0)+k|0])+Y(-16))*Y(1.1689000129699707))+Y(.5));k:{if(Y(d0(t))=0?A>>>0>=255?255:A:0,o=(m(i[e+52>>2],r)+q|0)+k|0,t=Y(Y(Y(Y(s[p+(m(w,i[e+72>>2])+z|0)|0])+Y(-16))*Y(1.142899990081787))+Y(.5));k:{if(Y(d0(t))=0?A>>>0>=255?255:A:0,k=k+1|0,(u|0)==(k|0))break}if(v&&l0(m(i[e+48>>2],r)+W|0,m(i[e+64>>2],r)+Z|0,u),r=r+1|0,(_|0)==(r|0))break}break A;case 8:for(;;){for(A=k>>>C|0,r=0;o=r>>>I|0,w=s[o+(m(A,i[e+68>>2])+H|0)|0]-128|0,p=s[(D+m(i[e+76>>2],k)|0)+r|0],J=s[o+(m(A,i[e+72>>2])+z|0)|0]-128|0,d=p-J|0,o=w+d|0,l[(m(i[e+60>>2],k)+a|0)+r|0]=(o|0)>=0?o>>>0>=255?255:o:0,o=p+J|0,l[(m(i[e+56>>2],k)+S|0)+r|0]=(o|0)>=0?o>>>0>=255?255:o:0,w=d-w|0,l[(m(i[e+52>>2],k)+q|0)+r|0]=(w|0)>=0?w>>>0>=255?255:w:0,r=r+1|0,(u|0)!=(r|0););if(v&&l0(m(i[e+48>>2],k)+W|0,m(i[e+64>>2],k)+Z|0,u),k=k+1|0,(_|0)==(k|0))break}break A;default:break f}for(;;){for(o=k>>>C|0,r=0;;){J=r>>>I|0,t=Y(s[J+(m(o,i[e+68>>2])+H|0)|0]-128|0),p=w&1,E=p?t:Y(t*Y(1.142899990081787)),t=Y(s[(D+m(i[e+76>>2],k)|0)+r|0]),t=p?t:Y(Y(t+Y(-16))*Y(1.1689000129699707)),R=Y(Y(Y(Z0[e+28>>2]*E)+t)+Y(.5));f:{if(Y(d0(R))>2])+z|0)|0],l[(m(i[e+60>>2],k)+a|0)+r|0]=(A|0)>=0?A>>>0>=255?255:A:0,d=(m(i[e+56>>2],k)+S|0)+r|0,R=Y(Z0[e+36>>2]*E),E=Y(J-128|0),E=p?E:Y(E*Y(1.142899990081787)),R=Y(Y(R+Y(Y(Z0[e+32>>2]*E)+t))+Y(.5));f:{if(Y(d0(R))=0?A>>>0>=255?255:A:0,p=(m(i[e+52>>2],k)+q|0)+r|0,t=Y(Y(Y(Z0[e+40>>2]*E)+t)+Y(.5));f:{if(Y(d0(t))=0?A>>>0>=255?255:A:0,r=r+1|0,(u|0)==(r|0))break}if(v&&l0(m(i[e+48>>2],k)+W|0,m(i[e+64>>2],k)+Z|0,u),k=k+1|0,(_|0)==(k|0))break}break A}if(!v)break A;if(r=0,(_|0)!=1)for(A=_&2147483646,k=0;l0(m(i[e+48>>2],r)+W|0,m(i[e+64>>2],r)+Z|0,u),v=r|1,l0(m(v,i[e+48>>2])+W|0,m(v,i[e+64>>2])+Z|0,u),r=r+2|0,k=k+2|0,(A|0)!=(k|0););if(!(_&1))break A;l0(m(i[e+48>>2],r)+W|0,m(i[e+64>>2],r)+Z|0,u)}i[f+4>>2]=n,i[f>>2]=h;break r}if(i[f>>2]=0,i[f+4>>2]=0,f=i[n+4>>2],i[n+4>>2]=f-1,f)break r;V[i[i[n>>2]+8>>2]](n),g(n)}if(!y||(f=i[y+4>>2],i[y+4>>2]=f-1,f))break i;V[i[i[y>>2]+8>>2]](y),g(y)}B=e+80|0}function Ik(f){f=f|0;var e=0,r=0,A=0,k=0,n=0;if(i[f>>2]=43536,e=i[f+3212>>2],r=i[f+3208>>2],(e|0)!=(r|0))for(;A=i[e-4>>2],A&&(G(Hn(A)),r=i[f+3208>>2],e=i[f+3212>>2]),e=e-4|0,i[f+3212>>2]=e,(e|0)!=(r|0););if(r&&(i[f+3212>>2]=r,G(r)),r=0,e=f+2140|0,A=i[e+12>>2],k=i[e+8>>2],(A|0)!=(k|0))for(;n=i[(r<<2)+k>>2],n&&(G(zA(n)),k=i[e+8>>2],A=i[e+12>>2]),r=r+1|0,r>>>0>2>>>0;);LA(e+32|0),r=i[e+20>>2],r&&(i[e+24>>2]=r,G(r)),r=i[e+8>>2],r&&(i[e+12>>2]=r,G(r)),LA(f+1396|0),e=i[f+1388>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+1380>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+1372>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}for(A=f+4|0,e=1368;;){e=e-8|0,r=i[A+e>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if((e|0)==856)break}e=i[f+852>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+844>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+836>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+828>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+820>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+812>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+804>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+796>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+788>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+780>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+772>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+764>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+756>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+748>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+740>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+732>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+724>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+716>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+708>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+700>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+692>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+684>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+676>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+668>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+660>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+652>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+644>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+636>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+628>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+620>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+612>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+604>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(e=f+548|0,r=i[e+32>>2],r)for(;n=i[e+16>>2],A=i[e+28>>2],k=i[i[n+(A>>>8&16777212)>>2]+((A&1023)<<2)>>2],i[e+32>>2]=r-1,r=A+1|0,i[e+28>>2]=r,r>>>0>=2048&&(G(i[n>>2]),i[e+16>>2]=i[e+16>>2]+4,i[e+28>>2]=i[e+28>>2]-1024),i[e+36>>2]=i[e+36>>2]-i[k+24>>2],w4(e,k),r=i[e+32>>2],!!r;);if(r=i[e+8>>2],r&&w4(e,r),r=i[e+40>>2],n=i[e+44>>2],(r|0)!=(n|0))for(A=0;k=i[(A<<2)+r>>2],k&&(G(i[k+20>>2]),r=i[k+32>>2],r&&(i[k+36>>2]=r,G(r)),G(k),n=i[e+44>>2],r=i[e+40>>2]),A=A+1|0,A>>>0>2>>>0;);return r&&(i[e+44>>2]=r,G(r)),LA(e+12|0),f|0}function n6(f,e,r,A,k,n,t,o,u,h,w,_,v,Z,p){var W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0;i:{r:{if(y=i[f+18588>>2],W=i[y+168>>2],I=e>>W,(I|0)<0)break r;R=f+18548|0,J=r>>W;e:{A:{f:{k:{n:{t:{for(;;){if(W=i[y+172>>2],(W|0)<=(I|0))break r;if((J|0)<0|i[y+176>>2]<=(J|0))break i;if(I=(i[y+160>>2]+m(I,3)|0)+m(m(W,J),3)|0,C=s[I|0]|s[I+1|0]<<8,J=C>>>8&3,(J|0)!=(v|0))break n;I=!u;o:{u:{E=i[y+124>>2],W=i[E+16940>>2];l:{if(!((W|0)<(o|0)|(u|0)>=(w|0)|(I&(_|0)!=0|i[E+16936>>2]>=(o|0)))){if(o-3>>>0>=3)break k;C=f2(R,(i[f+18572>>2]-o|0)+25|0);break l}if(I&(_|0)==1|(o|0)>(W|0))break u;C=!(i[E+628>>2]|u)&(J|0)==1&(C&56)!=0}if(C)break u;C=1;break o}if(W=i[y+248>>2],I=e>>W,(I|0)<0||(C=i[y+252>>2],(C|0)<=(I|0)))break f;if(W=r>>W,(W|0)<0|(W|0)>=i[y+256>>2])break A;I=(I+i[y+240>>2]|0)+m(W,C)|0,l[I|0]=s[I|0]|1<>2];o:{u:{if(!((W|0)!=0&(o|0)>2)&&(I=-1,(W|0)!=3))break u;I=-1,W=-1;l:{if(!(Z&255)||(W=f2(R,(i[f+18572>>2]+u|0)+16|0),(C^1)&(o|0)!=3|i[E+16848>>2]!=2))break l;W=f2(R,(i[f+18572>>2]+u|0)+16|0)<<1|W}l:{if(!(p&255)||(I=f2(R,(i[f+18572>>2]+u|0)+16|0),(C^1)&(o|0)!=3|i[E+16848>>2]!=2))break l;I=f2(R,(i[f+18572>>2]+u|0)+16|0)<<1|I}if((W|0)>=0)break o}if(W=(o|0)==2,W&!u)break e;W=W&&(u|0)>0?Z&255:0}if((I|0)<0&&(I=(o|0)==2&&(u|0)>0?p&255:0),C)break t;if(o=o-1|0,u=u+1|0,A=W&255,k=I&255,n6(f,e,r,e,r,n,t,o,u,0,w,_,v,A,k),h=1<>2],D=i[y+168>>2],J=C>>D,h=3,p=I,Z=W,k=r,A=e,r=C,e=E,I=e>>D,!((I|0)>=0))break}break r}t:{if(J&&(w=1,!(u|W|I)))break t;w=f2(R,i[f+18572>>2]+(u?14:15)|0)}t:{o:{u:{if((W|0)!=-1){if((I|0)==-1)break u;if((w|0)==-1)break o;if(_=i[f+18588>>2],Z=i[_+124>>2],p=i[Z+16848>>2],l[f+33|0]=0,l[f+34|0]=0,l[f+35|0]=0,l[f+36|0]=0,v=i[_+168>>2],u=e>>v,(u|0)<0||(C=i[_+172>>2],(C|0)<=(u|0)))break r;if(v=r>>v,(v|0)<0|(v|0)>=i[_+176>>2])break i;E=o-((p|0)!=3)|0,y=(E|0)>2,R=s[((i[_+160>>2]+m(u,3)|0)+m(m(v,C),3)|0)+1|0],J=I|W;l:{if(!(J|w))break l;if(u=0,!(i[f+18500>>2]|!s[i[_+132>>2]+26|0])){C=f+18548|0;s:{if(!f2(C,i[f+18572>>2]+139|0)){v=0,_=0;break s}h:{if(!f2(C,i[f+18572>>2]+140|0)){u=1;break h}if(!f2(C,i[f+18572>>2]+140|0)){u=2;break h}if(!f2(C,i[f+18572>>2]+140|0)){u=3;break h}if(!f2(C,i[f+18572>>2]+140|0)){u=4;break h}if(v=0,u=DA(C,0)+5|0,_=0,!u)break s}v=u,_=x1(C)}i[f+18500>>2]=1,i[f+18504>>2]=m(v,1-(_<<1)|0),u=1}s:{h:{w:{if(!(!J|!s[i[f+18592>>2]+760|0]|(s[f+32|0]|i[f+18508>>2]))){u=f+18548|0,_=f2(u,i[f+18572>>2]+23|0),v=i[i[f+18588>>2]+132>>2];_:{if(!(!_|s[v+8250|0]<2)){u=f2(u,i[f+18572>>2]+24|0),i[f+18508>>2]=1;break _}if(i[f+18508>>2]=1,u=0,!_)break w}u=u+v|0,i[f+18512>>2]=l[u+8251|0],u=l[u+8257|0];break h}if(u)break s;break l}i[f+18512>>2]=0,u=0}i[f+18516>>2]=u}zk(f,n,t)}n=i[Z+16856>>2],u=i[Z+16852>>2],i[f+28>>2]=0,w&&_8(f,e,r,o,0),C=y?E:2,_=1<>2],k=0,!(l[i[o+132>>2]+8247|0]&1)))break s;if((t|0)!=1){if(A=i[o+228>>2],h=e>>A,(h|0)<0||(v=i[o+232>>2],(v|0)<=(h|0)))break r;if(w=r>>A,(w|0)<0|(w|0)>=i[o+236>>2])break i;if(A=0,k=0,l[(h+i[o+220>>2]|0)+m(w,v)|0]>=0)break s}if(o=f+18548|0,k=1,!f2(o,i[f+18572>>2]+162|0))break s;A=0;h:{if(!f2(o,i[f+18572>>2]+163|0)||(A=1,!f2(o,i[f+18572>>2]+164|0)))break h;A=f2(o,i[f+18572>>2]+165|0)?3:2}A=1-(f2(o,i[f+18572>>2]+170|0)<<1)<>2]=A,A=W&1,A&&_8(f,e,r,C,1),i[Z+16848>>2]&&h8(f,(e|0)/(u|0)|0,(r|0)/(n|0)|0,_,1,t,A),(p|0)==2&&(A=W&2,A&&_8(f,e,(n<>2]+166|0)))break s;A=0;h:{if(!f2(k,i[f+18572>>2]+167|0)||(A=1,!f2(k,i[f+18572>>2]+168|0)))break h;A=f2(k,i[f+18572>>2]+169|0)?3:2}A=1-(f2(k,i[f+18572>>2]+171|0)<<1)<>2]=A,A=I&1,A&&_8(f,e,r,C,2),i[Z+16848>>2]&&h8(f,(e|0)/(u|0)|0,(r|0)/(n|0)|0,_,2,t,A),(p|0)!=2)break l;A=I&2,A&&_8(f,e,(n<>2]&&h8(f,(A|0)/(u|0)|0,(k|0)/(n|0)|0,v,1,t,e),e=W&2,e&&_8(f,A,k+v|0,o,1),(p|0)==2&&h8(f,(A|0)/(u|0)|0,v+((k|0)/(n|0)|0)|0,v,1,t,(e|0)!=0),e=I&1,e&&_8(f,A,k,o,2),i[Z+16848>>2]&&h8(f,(A|0)/(u|0)|0,(k|0)/(n|0)|0,v,2,t,e),e=I&2,e&&_8(f,A,k+_|0,o,2),(p|0)!=2))break l;h8(f,(A|0)/(u|0)|0,v+((k|0)/(n|0)|0)|0,v,2,t,(e|0)!=0)}break t}C0(17085,14036,3575,3168),P()}C0(17072,14036,3576,3168),P()}C0(17098,14036,3577,3168),P()}return}C0(11353,14036,3857,11248),P()}C0(16842,14036,1834,8715),P()}C0(3758,8453,128,3372),P()}C0(3720,8453,129,3372),P()}C0(18434,14036,3924,11248),P()}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function ds(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0;if(A=B-176|0,B=A,i[A+64>>2]=54820,k=i[13708],i[A+8>>2]=k,h=i[k-12>>2],k=A+8|0,i[h+k>>2]=i[13709],n=k+i[i[A+8>>2]-12>>2]|0,o=A+12|0,b0(n,o),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+64>>2]=54820,i[A+8>>2]=54800,p=$0(o),i[p>>2]=53552,i[A+52>>2]=0,i[A+56>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+60>>2]=16,n=A+164|0,R2(n,e,r),W=k,h=n,k=l[A+175|0],n=(k|0)<0,x(W,n?i[A+164>>2]:h,n?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),v=i[e+56>>2],C=i[e+60>>2],(v|0)!=(C|0))for(;;){if(e=A+164|0,W0(e,r),h=e,e=l[A+175|0],k=(e|0)<0,x(A+8|0,k?i[A+164>>2]:h,k?i[A+168>>2]:e),l[A+175|0]<0&&G(i[A+164>>2]),x(L0(x(A+8|0,21550,26),i[v>>2]),31338,1),e=i[r>>2]+1|0,i[r>>2]=e,Z=i[v+4>>2],I=i[v+8>>2],(Z|0)!=(I|0)){i:{r:{for(;;){e:{W0(A+144|0,r),k=l[A+155|0],h=i[A+144>>2],w=i[A+148>>2],e=A+8|0,_=V1(A+156|0,e);A:{if(s[_|0]!=1)break A;t=e+i[i[A+8>>2]-12>>2]|0,W=i[t+4>>2],n=i[t+24>>2],o=i[t+76>>2],(o|0)==-1&&(u=A+164|0,e=i[t+28>>2],i[u>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(u,100192),o=V[i[i[e>>2]+28>>2]](e,32)|0,O0(u),i[t+76>>2]=o);f:{if(!n||(u=i[t+12>>2],e=h,h=(k|0)<0,e=h?e:A+144|0,k=h?w:k,y=e+k|0,h=(W&176)==32?y:e,w=h-e|0,(w|0)>0&&(V[i[i[n>>2]+48>>2]](n,e,w)|0)!=(w|0)))break f;if(k=(k|0)<(u|0)?u-k|0:0,(k|0)>0){if(k>>>0>=2147483640)break e;k:{if(k>>>0>=11){u=(k|7)+1|0,e=U(u),i[A+172>>2]=u|-2147483648,i[A+164>>2]=e,i[A+168>>2]=k;break k}l[A+175|0]=k,e=A+164|0}if(E=B0(e,o,k)+k|0,J=0,l[E|0]=J,e=V[i[i[n>>2]+48>>2]](n,l[A+175|0]<0?i[A+164>>2]:A+164|0,k)|0,l[A+175|0]<0&&G(i[A+164>>2]),(e|0)!=(k|0))break f}if(e=y-h|0,(e|0)>0&&(V[i[i[n>>2]+48>>2]](n,h,e)|0)!=(e|0))break f;i[t+12>>2]=0;break A}e=i[i[A+8>>2]-12>>2]+(A+8|0)|0,z1(e,i[e+16>>2]|5)}Z1(_),l[A+155|0]<0&&G(i[A+144>>2]),e=A+8|0,h=V1(A+144|0,e);A:{if(s[h|0]!=1)break A;t=e+i[i[A+8>>2]-12>>2]|0,o=i[t+4>>2],n=i[t+24>>2],e=i[t+76>>2],(e|0)==-1&&(k=A+164|0,e=i[t+28>>2],i[k>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(k,100192),e=V[i[i[e>>2]+28>>2]](e,32)|0,O0(k),i[t+76>>2]=e);f:{if(!n||(k=i[t+12>>2],u=(o&176)==32?19529:19513,o=u-19513|0,(o|0)>0&&(V[i[i[n>>2]+48>>2]](n,19513,o)|0)!=(o|0)))break f;if(k=(k|0)>16?k-16|0:0,(k|0)>0){k:{if(k>>>0>=11){w=(k|7)+1|0,o=U(w),i[A+172>>2]=w|-2147483648,i[A+164>>2]=o,i[A+168>>2]=k;break k}l[A+175|0]=k,o=A+164|0}if(E=B0(o,e,k)+k|0,J=0,l[E|0]=J,e=V[i[i[n>>2]+48>>2]](n,l[A+175|0]<0?i[A+164>>2]:A+164|0,k)|0,l[A+175|0]<0&&G(i[A+164>>2]),(e|0)!=(k|0))break f}if(e=19529-u|0,(e|0)>0&&(V[i[i[n>>2]+48>>2]](n,u,e)|0)!=(e|0))break f;i[t+12>>2]=0;break A}e=i[i[A+8>>2]-12>>2]+(A+8|0)|0,z1(e,i[e+16>>2]|5)}Z1(h),n=L0(A+8|0,Q[Z+2>>1]),w=V1(A+144|0,n);A:{if(s[w|0]!=1)break A;u=n+i[i[n>>2]-12>>2]|0,t=i[u+4>>2],o=i[u+24>>2],e=i[u+76>>2],(e|0)==-1&&(k=A+164|0,e=i[u+28>>2],i[k>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(k,100192),e=V[i[i[e>>2]+28>>2]](e,32)|0,O0(k),i[u+76>>2]=e);f:{if(!o||(k=i[u+12>>2],h=(t&176)==32?20481:20468,t=h-20468|0,(t|0)>0&&(V[i[i[o>>2]+48>>2]](o,20468,t)|0)!=(t|0)))break f;if(k=(k|0)>13?k-13|0:0,(k|0)>0){k:{if(k>>>0>=11){_=(k|7)+1|0,t=U(_),i[A+172>>2]=_|-2147483648,i[A+164>>2]=t,i[A+168>>2]=k;break k}l[A+175|0]=k,t=A+164|0}if(E=B0(t,e,k)+k|0,J=0,l[E|0]=J,e=V[i[i[o>>2]+48>>2]](o,l[A+175|0]<0?i[A+164>>2]:A+164|0,k)|0,l[A+175|0]<0&&G(i[A+164>>2]),(e|0)!=(k|0))break f}if(e=20481-h|0,(e|0)>0&&(V[i[i[o>>2]+48>>2]](o,h,e)|0)!=(e|0))break f;i[u+12>>2]=0;break A}e=n+i[i[n>>2]-12>>2]|0,z1(e,i[e+16>>2]|5)}Z1(w),e=n+i[i[n>>2]-12>>2]|0,i[e+4>>2]=i[e+4>>2]|1,u=re(n,s[Z|0]),w=V1(A+144|0,u);A:{if(s[w|0]!=1)break A;o=u+i[i[u>>2]-12>>2]|0,t=i[o+4>>2],n=i[o+24>>2],e=i[o+76>>2],(e|0)==-1&&(k=A+164|0,e=i[o+28>>2],i[k>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(k,100192),e=V[i[i[e>>2]+28>>2]](e,32)|0,O0(k),i[o+76>>2]=e);f:{if(!n||(k=i[o+12>>2],h=(t&176)==32?31339:31337,t=h-31337|0,(t|0)>0&&(V[i[i[n>>2]+48>>2]](n,31337,t)|0)!=(t|0)))break f;if(k=(k|0)>2?k-2|0:0,(k|0)>0){if(k>>>0>=2147483640)break r;k:{if(k>>>0>=11){_=(k|7)+1|0,t=U(_),i[A+172>>2]=_|-2147483648,i[A+164>>2]=t,i[A+168>>2]=k;break k}l[A+175|0]=k,t=A+164|0}if(E=B0(t,e,k)+k|0,J=0,l[E|0]=J,e=V[i[i[n>>2]+48>>2]](n,l[A+175|0]<0?i[A+164>>2]:A+164|0,k)|0,l[A+175|0]<0&&G(i[A+164>>2]),(e|0)!=(k|0))break f}if(e=31339-h|0,(e|0)>0&&(V[i[i[n>>2]+48>>2]](n,h,e)|0)!=(e|0))break f;i[o+12>>2]=0;break A}e=u+i[i[u>>2]-12>>2]|0,z1(e,i[e+16>>2]|5)}if(Z1(w),Z=Z+4|0,(I|0)!=(Z|0))continue;break i}break}c2(),P()}c2(),P()}e=i[r>>2]}if(i[r>>2]=(e|0)>0?e-1|0:0,v=v+16|0,(C|0)==(v|0))break}i2(f,p),f=i[13707],i[A+8>>2]=f,i[i[f-12>>2]+(A+8|0)>>2]=i[13710],i[p>>2]=53552,l[A+55|0]<0&&G(i[A+44>>2]),K0(p),T0(A- -64|0),B=A+176|0}function cs(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;u=B-112|0,B=u,i[u+104>>2]=0,i[u+108>>2]=0,l[u+73|0]=0,l[u+74|0]=0,l[u+75|0]=0,l[u+76|0]=0,X[u+70>>1]=0,X[u+72>>1]=0,X[u+68>>1]=263,l[u+100|0]=1,l[u+96|0]=0,i[u+88>>2]=2,i[u+92>>2]=2,l[u+84|0]=1,i[u+80>>2]=1;i:{if(!n)break i;r:switch(s[n|0]-1|0){case 6:l[u+100|0]=s[n+32|0];case 5:h=i[n+20>>2],i[u+84>>2]=i[n+16>>2],i[u+88>>2]=h,h=i[n+28>>2],i[u+92>>2]=i[n+24>>2],i[u+96>>2]=h;case 4:i[u+80>>2]=i[n+12>>2];case 3:i[u+72>>2]=i[n+4>>2],l[u+76|0]=s[n+8|0];case 2:l[u+71|0]=s[n+3|0];case 1:l[u+70|0]=s[n+2|0];break;case 0:break r;default:break i}l[u+69|0]=s[n+1|0]}_=u+48|0,p=i[e>>2],W=u+68|0,v=u+104|0,w=B+-64|0,B=w,h=w+40|0,i[h>>2]=0,i[h+4>>2]=0,i[h+16>>2]=0,i[h+8>>2]=0,i[h+12>>2]=0,Z=i[r>>2],r=i[Z+28>>2],n=i[Z+24>>2];i:{if(!((n|0)>(t|0)|(r|0)>(t|0))){r=i[v+4>>2],i[v>>2]=0,i[v+4>>2]=0;r:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(r=i[19565],i[_>>2]=i[19564],i[_+4>>2]=r,r=_+8|0,l[78275]>=0){k=i[19567],i[r>>2]=i[19566],i[r+4>>2]=k,i[r+8>>2]=i[19568];break i}_0(r,i[19566],i[19567]);break i}r:{if((r|0)<(n|0)){r=(m(r,t)|0)/(n|0)|0,n=t;break r}n=(m(n,t)|0)/(r|0)|0,r=t}if(i[w+32>>2]=0,i[w+36>>2]=0,vA(w+8|0,Z,w+32|0,n&-2,r&-2),n=i[w+12>>2],r=i[w+8>>2],i[h>>2]=r,i[h+4>>2]=n,l[h+19|0]<0&&(G(i[h+8>>2]),r=i[h>>2]),n=i[w+20>>2],i[h+8>>2]=i[w+16>>2],i[h+12>>2]=n,i[h+16>>2]=i[w+24>>2],r||(BA(w+8|0,p,w+32|0,k,W,4,v),r=i[w+12>>2],i[h>>2]=i[w+8>>2],i[h+4>>2]=r,l[h+19|0]<0&&G(i[h+8>>2]),r=i[w+20>>2],i[h+8>>2]=i[w+16>>2],i[h+12>>2]=r,i[h+16>>2]=i[w+24>>2]),r=i[h+4>>2],i[_>>2]=i[h>>2],i[_+4>>2]=r,i[_+16>>2]=i[h+16>>2],r=i[h+12>>2],i[_+8>>2]=i[h+8>>2],i[_+12>>2]=r,i[h+8>>2]=0,i[h+12>>2]=0,i[h+16>>2]=0,r=i[w+36>>2],!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}l[h+19|0]<0&&G(i[h+8>>2]),B=w- -64|0;i:{if(i[u+48>>2]!=i[19564]){P0(f,_,i[e>>2]);break i}if(!i[u+104>>2]){if(r=U(64),i[u+12>>2]=r,i[u+16>>2]=57,i[u+20>>2]=-2147483584,l[r+56|0]=s[17985],A=s[17981]|s[17982]<<8|(s[17983]<<16|s[17984]<<24),k=s[17977]|s[17978]<<8|(s[17979]<<16|s[17980]<<24),l[r+48|0]=k,l[r+49|0]=k>>>8,l[r+50|0]=k>>>16,l[r+51|0]=k>>>24,l[r+52|0]=A,l[r+53|0]=A>>>8,l[r+54|0]=A>>>16,l[r+55|0]=A>>>24,A=s[17973]|s[17974]<<8|(s[17975]<<16|s[17976]<<24),k=s[17969]|s[17970]<<8|(s[17971]<<16|s[17972]<<24),l[r+40|0]=k,l[r+41|0]=k>>>8,l[r+42|0]=k>>>16,l[r+43|0]=k>>>24,l[r+44|0]=A,l[r+45|0]=A>>>8,l[r+46|0]=A>>>16,l[r+47|0]=A>>>24,A=s[17965]|s[17966]<<8|(s[17967]<<16|s[17968]<<24),k=s[17961]|s[17962]<<8|(s[17963]<<16|s[17964]<<24),l[r+32|0]=k,l[r+33|0]=k>>>8,l[r+34|0]=k>>>16,l[r+35|0]=k>>>24,l[r+36|0]=A,l[r+37|0]=A>>>8,l[r+38|0]=A>>>16,l[r+39|0]=A>>>24,A=s[17957]|s[17958]<<8|(s[17959]<<16|s[17960]<<24),k=s[17953]|s[17954]<<8|(s[17955]<<16|s[17956]<<24),l[r+24|0]=k,l[r+25|0]=k>>>8,l[r+26|0]=k>>>16,l[r+27|0]=k>>>24,l[r+28|0]=A,l[r+29|0]=A>>>8,l[r+30|0]=A>>>16,l[r+31|0]=A>>>24,A=s[17949]|s[17950]<<8|(s[17951]<<16|s[17952]<<24),k=s[17945]|s[17946]<<8|(s[17947]<<16|s[17948]<<24),l[r+16|0]=k,l[r+17|0]=k>>>8,l[r+18|0]=k>>>16,l[r+19|0]=k>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[17941]|s[17942]<<8|(s[17943]<<16|s[17944]<<24),k=s[17937]|s[17938]<<8|(s[17939]<<16|s[17940]<<24),l[r+8|0]=k,l[r+9|0]=k>>>8,l[r+10|0]=k>>>16,l[r+11|0]=k>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,A=s[17933]|s[17934]<<8|(s[17935]<<16|s[17936]<<24),k=s[17929]|s[17930]<<8|(s[17931]<<16|s[17932]<<24),l[r|0]=k,l[r+1|0]=k>>>8,l[r+2|0]=k>>>16,l[r+3|0]=k>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+57|0]=0,r=r0(u+24|0,5,2006,u+12|0),l[u+23|0]<0&&G(i[u+12>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}if(b7(u+24|0,i[e>>2],A,u+104|0),A=i[u+28>>2],r=i[u+24>>2],i[u+48>>2]=r,i[u+52>>2]=A,l[u+67|0]<0&&(G(i[u+56>>2]),r=i[u+48>>2]),A=i[u+36>>2],i[u+56>>2]=i[u+32>>2],i[u+60>>2]=A,i[u+64>>2]=i[u+40>>2],(r|0)!=i[19564]){P0(f,u+48|0,i[e>>2]);break i}r:{if(!o)break r;if(n=i[u+104>>2],n){k=U(16),r=k,i[r>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,i[o>>2]=r,A=i[u+108>>2];e:{if(!A){i[r+4>>2]=A,i[r>>2]=n;break e}if(i[A+4>>2]=i[A+4>>2]+1,i[k>>2]=n,r=i[k+4>>2],i[k+4>>2]=A,!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break e;V[i[i[r>>2]+8>>2]](r),g(r)}if(k=i[e>>2],r=i[o>>2],A=i[e+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+8>>2]=k,e=i[r+12>>2],i[r+12>>2]=A,!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break r;V[i[i[e>>2]+8>>2]](e),g(e);break r}i[o>>2]=0}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}l[u+67|0]<0&&G(i[u+56>>2]),f=i[u+108>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=u+112|0}function Qk(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;h=B-48|0,B=h;i:{r:{if(!r){if(l[h+12|0]=0,l[h+23|0]=0,r=f,f=r0(h+24|0,5,2001,h+12|0),P0(r,f,i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),l[h+23|0]>=0)break r;G(i[h+12>>2]);break r}if(i[r>>2]!=1){if(l[h+12|0]=0,l[h+23|0]=0,r=r0(h+24|0,5,2004,h+12|0),l[h+23|0]<0&&G(i[h+12>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break r;G(i[r+8>>2]);break r}if(i[h+32>>2]=0,i[h+36>>2]=0,i[h+24>>2]=0,i[h+28>>2]=0,w=h+24|0,v=B-32|0,B=v,Z=i[e>>2],n=i[Z+16>>2],o=Z+20|0,(n|0)!=(o|0))for(;;){if(k=i[n+20>>2],t=i[k+196>>2],u=i[k+200>>2],(t|0)!=(u|0))for(;_=i[Z+48>>2],p=i[t>>2],W=i[n+16>>2],k=U(4),i[v>>2]=k,C=k+4|0,i[v+8>>2]=C,i[k>>2]=W,i[v+4>>2]=C,P1(_,p,1667527523,v),k=i[v>>2],k&&(i[v+4>>2]=k,G(k)),t=t+4|0,(u|0)!=(t|0););k=i[n+4>>2];e:{if(k){for(;;)if(t=k,k=i[k>>2],!k)break e}for(;t=i[n+8>>2],k=i[t>>2]!=(n|0),n=t,!!k;);}if(n=t,(o|0)==(n|0))break}if(t=i[Z+72>>2],W=i[Z+76>>2],(t|0)!=(W|0))for(;;){i[v+28>>2]=0,i[v+20>>2]=0,i[v+24>>2]=0,u=i[t>>2],p=v+20|0,o=0,n=B-32|0,B=n,i[n+24>>2]=0,i[n+28>>2]=0,i[n+16>>2]=0,i[n+20>>2]=0,A2(n+16|0,0);e:{A:{if(!(k0[u+4>>2]>65535|k0[u+8>>2]>=65536)){o=1;break A}if(_=2,k=i[u+12>>2],C=i[u+16>>2],(k|0)==(C|0))break e;for(;;){if(o=i[k>>2],o=V[i[i[o>>2]+16>>2]](o)|0,o)break A;if(k=k+8|0,(C|0)==(k|0))break}break e}_=4}k=n+16|0,A2(k,o),k1(k,_,i[u+4>>2],0),k1(k,_,i[u+8>>2],0);e:{A:{k=i[u+16>>2]-i[u+12>>2]>>3;f:{if(k>>>0>=256){if(l[n+4|0]=0,l[n+15|0]=0,r0(v,9,5004,n+4|0),l[n+15|0]>=0)break f;G(i[n+4>>2]);break f}if(A2(n+16|0,k&255),k=i[u+12>>2],o=i[u+16>>2],(k|0)!=(o|0))for(;u=i[k>>2],V[i[i[u>>2]+20>>2]](u,n+16|0,_),k=k+8|0,(o|0)!=(k|0););if(o=0,i[n+12>>2]=0,i[n+4>>2]=0,i[n+8>>2]=0,k=0,u=i[n+20>>2],_=i[n+16>>2],(u|0)!=(_|0)){if(u=u-_|0,(u|0)<0)break A;k=U(u),i[n+4>>2]=k,o=k+u|0,i[n+12>>2]=o,l0(k,_,u),i[n+8>>2]=o}if((p|0)!=(n+4|0)&&(W8(p,k,o,o-k|0),k=i[n+4>>2]),k&&(i[n+8>>2]=k,G(k)),k=i[19565],i[v>>2]=i[19564],i[v+4>>2]=k,k=v+8|0,l[78275]>=0){o=i[19567],i[k>>2]=i[19566],i[k+4>>2]=o,i[k+8>>2]=i[19568];break f}_0(k,i[19566],i[19567])}k=i[n+16>>2],k&&(i[n+20>>2]=k,G(k)),B=n+32|0;break e}y0(),P()}if(hi(i[Z+48>>2],i[i[t>>2]>>2],p,0),l[v+19|0]<0&&G(i[v+8>>2]),n=i[v+20>>2],n&&(i[v+24>>2]=n,G(n)),t=t+8|0,(W|0)==(t|0))break}if(u=B-48|0,B=u,k=i[Z+48>>2],t=i[k+8>>2],n=i[k+12>>2],(t|0)!=(n|0))for(;rt(i[t>>2]),o=i[t>>2],V[i[i[o>>2]+16>>2]](u+28|0,o,w),l[u+47|0]<0&&G(i[u+36>>2]),t=t+8|0,(n|0)!=(t|0););if(n=0,k=i[k+60>>2],o=i[k+56>>2],Z=i[k+60>>2],(o|0)==(Z|0))t=8;else{for(;;){e:{if(s[o+4|0]||(t=i[o+16>>2],_=i[o+20>>2],(t|0)==(_|0)))break e;for(;n=(i[t+28>>2]+n|0)-i[t+24>>2]|0,t=t+40|0,(_|0)!=(t|0););}if(o=o+32|0,(Z|0)==(o|0))break}t=n+8|0}if(l2(w,t),l2(w,1835295092),n=i[k+56>>2],o=i[k+60>>2],(n|0)!=(o|0))for(;;){e:{if(s[n+4|0]||(i[n+8>>2]=i[w+12>>2],i[n+12>>2]=0,t=i[n+16>>2],Z=i[n+20>>2],(t|0)==(Z|0)))break e;for(;_=i[w+12>>2],p=i[n+8>>2],W=_-p|0,_=0-(i[n+12>>2]+(_>>>0

>>0)|0)|0,i[t+8>>2]=W,i[t+12>>2]=_,i[t+16>>2]=i[t+28>>2]-i[t+24>>2],i[t+20>>2]=0,D4(w,t+24|0),t=t+40|0,(Z|0)!=(t|0););}if(n=n+32|0,(o|0)==(n|0))break}o=i[w+12>>2],i[w+12>>2]=i[k+68>>2],A2(w,s[k+74|0]|s[k+73|0]<<4&240),A2(w,s[k+76|0]|s[k+75|0]<<4&240),t=i[k+60>>2]-i[k+56>>2]|0;e:{if(s[k+48|0]<=1){w2(w,t>>>5&65535);break e}l2(w,t>>5)}if(t=i[k+56>>2],Z=i[k+60>>2],(t|0)!=(Z|0))for(;;){n=i[t>>2];e:{if(s[k+48|0]<=1){w2(w,n&65535);break e}l2(w,n)}if(s[k+48|0]&&w2(w,s[t+4|0]),w2(w,Q[t+6>>1]),k1(w,s[k+75|0],i[t+8>>2],i[t+12>>2]),w2(w,(i[t+20>>2]-i[t+16>>2]|0)/40&65535),n=i[t+16>>2],_=i[t+20>>2],(n|0)!=(_|0))for(;;){e:{if(!s[k+48|0]||(p=s[k+76|0],!p))break e;k1(w,p,i[n>>2],i[n+4>>2])}if(k1(w,s[k+73|0],i[n+8>>2],i[n+12>>2]),k1(w,s[k+74|0],i[n+16>>2],i[n+20>>2]),n=n+40|0,(_|0)==(n|0))break}if(t=t+32|0,(Z|0)==(t|0))break}i[w+12>>2]=o,n=i[19565],t=u+8|0,i[t>>2]=i[19564],i[t+4>>2]=n,t=t+8|0;e:{if(l[78275]>=0){n=i[19567],i[t>>2]=i[19566],i[t+4>>2]=n,i[t+8>>2]=i[19568];break e}_0(t,i[19566],i[19567])}l[u+27|0]<0&&G(i[u+16>>2]),B=u+48|0,B=v+32|0,i[h+20>>2]=0,i[h+12>>2]=0,i[h+16>>2]=0,t=i[h+28>>2],w=i[h+24>>2];e:{if((t|0)==(w|0)){t=0;break e}if(n=t-w|0,(n|0)<0)break i;t=U(n),I=l0(t,w,n)+n|0}V[i[r+4>>2]](h,e,t,I-t|0,A);e:{if(!i[h+8>>2]){i[f>>2]=5,i[f+4>>2]=2001,i[f+8>>2]=2589;break e}e=i[h+4>>2],i[f>>2]=i[h>>2],i[f+4>>2]=e,i[f+8>>2]=i[h+8>>2]}if(t&&G(t),f=i[h+24>>2],!f)break r;i[h+28>>2]=f,G(f)}B=h+48|0;return}y0(),P()}function t6(f,e,r,A,k,n,t,o,u,h){var w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0,n2=0,s2=0,W2=0,y2=0,x2=0,T2=0,O2=0,q2=0,b2=0,e1=0,A1=0,h1=0,B1=0,p1=0,W1=0,X1=0;J=B-128|0,B=J;i:{r:{e:{if(z=i[f+140>>2],p=i[f+152>>2],H=z+m(m(p,r),24)|0,v=m(e,24),Z=(H+v|0)+4|0,w=A<<1,j=s[Z|0]>>>w&3,!j)break e;if(R=m(e,k),e=i[f+148>>2],E=R>>e,(E|0)<0|(p|0)<=(E|0))break r;if(a=m(r,n),y=a>>e,(y|0)<0|(y|0)>=i[f+156>>2])break i;if(I=i[f+124>>2],W=i[I+(A?16840:16832)>>2],r=-1<>2],S=(n0|0)<(n+a|0)?n0-a|0:n,h0=i[(A?32:24)+f>>2],q=(h0|0)<(k+R|0)?h0-R|0:k,d=A?i[I+16856>>2]-1|0:0,A0=A?i[I+16852>>2]-1|0:0,I0=s[(v+H|0)+22|0],(j|0)==2){if(H=i[f+132>>2],W=i[f+52>>2],E=i[i[W+(Q[((z+m(E,24)|0)+m(m(p,y),24)|0)+2>>1]<<2)>>2]+808>>2],n=i[f+56>>2],k=i[I+16876>>2],y=i[I+16892>>2],v=s[Z+1|0],A=Z+(A<<2)|0,l[J|0]=s[A+5|0],Z=s[A+6|0],l[J+2|0]=0,l[J+1|0]=Z,l[J+3|0]=s[A+7|0],l[J+4|0]=s[A+8|0],(S|0)<=0|(q|0)<=0)break e;for(j=n-W>>2,A=(v>>>w&3)<<2,Q0=i[A+45112>>2],F0=i[A+45096>>2],L=k-A0|0,Y0=R>>L,W2=S-1|0,y2=q-1|0,p0=k-d|0,S0=m(y,a>>p0),k=R<<1,x2=k+u|0,T2=k+t|0,c0=i[f+168>>2],r2=i[A+45128>>2],O2=m(r2,o)<<1,n2=i[A+45144>>2],q2=m(n2,o)<<1,A=0;;){for(k=A+a|0,t=k<>c0,b2=(m(k,h)<<1)+x2|0,e1=(m(k,o)<<1)+T2|0,u=t>>e,A1=(z+m(m(u,p),24)|0)+2|0,Z=k+r2|0,X0=Z<>e,h1=(z+m(m(p,X0),24)|0)+2|0,v=k+n2|0,G0=v<>e,B1=(z+m(m(p,G0),24)|0)+2|0,p1=m(y,v>>>p0|0)<<2,W1=m(y,Z>>>p0|0)<<2,X1=(A|0)==(W2|0),k=0;;){_=k+R|0,D=_<>c0;A:{f:{if(!(!(I0&1)|!s[I+8812|0])){if((t|0)<0||(w=i[f+172>>2],(w|0)<=(t|0)))break r;if((n|0)<0|(n|0)>=i[f+176>>2])break i;if(!(s[((i[f+160>>2]+m(t,3)|0)+m(m(n,w),3)|0)+1|0]&4))break f;break A}if((t|0)<0)break r}if(w=i[f+172>>2],(w|0)<=(t|0))break r;if((n|0)<0|(n|0)>=i[f+176>>2])break i;if(s[((i[f+160>>2]+m(t,3)|0)+m(m(n,w),3)|0)+1|0]&8)break A;f:{if(!(!A|!k|(k|0)==(y2|0))&&!X1)break f;if(t=_+Q0|0,(t|0)>=(h0|0)|(t|0)<0|((v|0)<0|(v|0)>=(n0|0)))break A;if(C=t<>e,(C|0)<0|(p|0)<=(C|0))break r;if((G0|0)<0||(w=i[f+156>>2],(w|0)<=(G0|0)))break i;if(C=Q[m(C,24)+B1>>1],C>>>0>=j>>>0||(C=i[W+(C<<2)>>2],!C))break e;D=D>>e,s2=(D|0)>=0&p>>>0>D>>>0,D=m(D,24)+A1|0;k:{if(f0=i[C+808>>2],(f0|0)<(E|0)){if(!s2)break r;if((u|0)<0|(u|0)>=(w|0))break k;if(!s[i[W+(Q[D>>1]<<2)>>2]+772|0])break A}if(!s[C+772|0]&(E|0)<(f0|0)||(C=s[H+57|0],!C&&(f0=t>>>L<<2,t=i[H+8484>>2],i[(f0+t|0)+p1>>2]!=i[(t+(Y0<<2)|0)+(S0<<2)>>2]))||(t=_+F0|0,(t|0)>=(h0|0)|(t|0)<0|((Z|0)<0|(Z|0)>=(n0|0))))break A;if(_=t<>e,(_|0)<0|(p|0)<=(_|0))break r;if((X0|0)<0|(w|0)<=(X0|0))break i;if(_=Q[m(_,24)+h1>>1],_>>>0>=j>>>0||(_=i[W+(_<<2)>>2],!_))break e;if(f0=i[_+808>>2],(f0|0)<(E|0)){if(!s2)break r;if((u|0)<0|(u|0)>=(w|0))break k;if(!s[i[W+(Q[D>>1]<<2)>>2]+772|0])break A}if(!s[_+772|0]&(E|0)<(f0|0))break A;if(C||(w=t>>>L<<2,t=i[H+8484>>2],i[(w+t|0)+W1>>2]==i[(t+(Y0<<2)|0)+(S0<<2)>>2]))break f;break A}break i}_=k<<1,w=_+e1|0,t=Q[w>>1],C=_+b2|0,_=Q[(w+(Q0<<1)|0)+q2>>1],w=Q[(w+(F0<<1)|0)+O2>>1],t=t+l[((t>>>0<_>>>0?1:(_|0)==(t|0)?2:3)+(t>>>0>>0?-1:(w|0)!=(t|0))|0)+J|0]|0,X[C>>1]=(t|0)>=0?(r|0)>(t|0)?t:r:0}if(k=k+1|0,(q|0)==(k|0))break}if(A=A+1|0,(S|0)==(A|0))break}break e}if(e=s[(A+Z|0)+2|0],p=B0(J,0,128),i[((e&31)<<2)+p>>2]=1,i[p+((e+1&31)<<2)>>2]=2,i[p+((e+2&31)<<2)>>2]=3,i[p+((e+3&31)<<2)>>2]=4,z=W-5|0,!(I0&1)){if((S|0)<=0|(q|0)<=0|(W|0)>12)break e;for(n=Z+5|0,I=(R<<1)+t|0,e=0;;){for(f=e+a|0,Z=(m(f,h)<<1)+u|0,f=m(f,o)<<1,d=f+t|0,A0=f+I|0,f=0;k=Q[A0+(f<<1)>>1],k=i[p+((r>>>0>k>>>0?k:r)>>>z<<2)>>2],(k|0)>0&&(W=f+R<<1,k=Q[W+d>>1]+l[(k+(n+(A<<2)|0)|0)-1|0]|0,X[Z+W>>1]=(k|0)>=0?(r|0)>(k|0)?k:r:0),f=f+1|0,(q|0)>(f|0););if(e=e+1|0,!((S|0)>(e|0)))break}break e}if((S|0)<=0|(q|0)<=0)break e;E=Z+5|0,Z=i[f+168>>2],n0=s[I+8812|0],W=(W|0)>12,I=0;A:{for(;;){k=I+a|0,e=k<>Z,h0=(m(k,h)<<1)+u|0,H=(m(k,o)<<1)+t|0,n=0;f:{for(;;){y=n+R|0,k=y<>Z;k:{n:{if(n0){if((k|0)<0||(v=i[f+172>>2],(v|0)<=(k|0)))break f;if((e|0)<0|(e|0)>=i[f+176>>2])break i;if(!(s[((i[f+160>>2]+m(k,3)|0)+m(m(e,v),3)|0)+1|0]&4))break n;break k}if((k|0)<0)break r}if(v=i[f+172>>2],(v|0)<=(k|0))break r;if((e|0)<0|(e|0)>=i[f+176>>2])break A;if(W|s[((i[f+160>>2]+m(k,3)|0)+m(m(e,v),3)|0)+1|0]&8||(y=y<<1,k=Q[y+H>>1],v=i[p+((r>>>0>k>>>0?k:r)>>>z<<2)>>2],(v|0)<=0))break k;k=k+l[(v+(E+(A<<2)|0)|0)-1|0]|0,X[y+h0>>1]=(k|0)>=0?(r|0)>(k|0)?k:r:0}if(n=n+1|0,!((q|0)>(n|0)))break}if(I=I+1|0,(S|0)<=(I|0))break e;continue}break}break r}break i}B=J+128|0;return}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function o6(f,e,r,A,k,n,t,o,u,h){var w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0,n2=0,s2=0,W2=0,y2=0,x2=0,T2=0,O2=0,q2=0,b2=0,e1=0,A1=0,h1=0;R=B-128|0,B=R;i:{r:{e:{if(v=i[f+140>>2],p=i[f+152>>2],C=v+m(m(p,r),24)|0,I=m(e,24),w=(C+I|0)+4|0,D=A<<1,Z=s[w|0]>>>D&3,!Z)break e;if(J=m(e,k),e=i[f+148>>2],z=J>>e,(z|0)<0|(p|0)<=(z|0))break r;if(S=m(r,n),y=S>>e,(y|0)<0|(y|0)>=i[f+156>>2])break i;if(H=i[f+124>>2],e=i[H+(A?16840:16832)>>2],r=-1<>2],q=(E|0)<(n+S|0)?E-S|0:n,d=i[(A?32:24)+f>>2],k=(d|0)<(k+J|0)?d-J|0:k,A0=A?i[H+16856>>2]-1|0:0,f0=A?i[H+16852>>2]-1|0:0,I=s[(C+I|0)+22|0],(Z|0)==2){if(C=i[f+132>>2],p=i[i[i[f+52>>2]+(Q[((v+m(z,24)|0)+m(m(p,y),24)|0)+2>>1]<<2)>>2]+808>>2],n=i[H+16876>>2],z=i[H+16892>>2],y=s[w+1|0],e=w+(A<<2)|0,l[R|0]=s[e+5|0],A=s[e+6|0],l[R+2|0]=0,l[R+1|0]=A,l[R+3|0]=s[e+7|0],l[R+4|0]=s[e+8|0],(q|0)<=0|(k|0)<=0)break e;for(e=(y>>>D&3)<<2,p0=i[e+45128>>2],c0=m(p0,o),X0=i[e+45144>>2],r2=m(X0,o),G0=i[e+45112>>2],I0=i[e+45096>>2],h0=n-f0|0,Q0=J>>h0,n2=q-1|0,s2=k-1|0,W2=u+J|0,y2=t+J|0,j=n-A0|0,F0=m(z,S>>j),A=0,x2=I&1;;){for(e=A+S|0,w=e<>>j|0)<<2,A1=m(z,y>>>j|0)<<2,h1=(A|0)!=(n2|0),n=0;;){t=i[f+168>>2],e=w>>t,W=n+J|0,n0=W<>t;A:{f:{if(!(!x2|!s[H+8812|0])){if((t|0)<0||(u=i[f+172>>2],(u|0)<=(t|0)))break r;if((e|0)<0|(e|0)>=i[f+176>>2])break i;if(!(s[((i[f+160>>2]+m(t,3)|0)+m(m(e,u),3)|0)+1|0]&4))break f;break A}if((t|0)<0)break r}if(u=i[f+172>>2],(u|0)<=(t|0))break r;if((e|0)<0|(e|0)>=i[f+176>>2])break i;if(s[((i[f+160>>2]+m(t,3)|0)+m(m(e,u),3)|0)+1|0]&8)break A;f:{if(!(!A|!n|(n|0)==(s2|0))&&h1)break f;if(v=W+G0|0,(v|0)>=(d|0)|(v|0)<0|((I|0)<0|(I|0)>=(E|0)))break A;if(e=i[f+148>>2],Z=v<>e,(Z|0)<0||(t=i[f+152>>2],(t|0)<=(Z|0)))break r;if(_=O2>>e,(_|0)<0||(D=i[f+156>>2],(D|0)<=(_|0)))break i;if(u=i[f+52>>2],Y0=i[f+56>>2]-u>>2,a=m(Z,24),Z=i[f+140>>2],_=Q[((a+Z|0)+m(m(t,_),24)|0)+2>>1],Y0>>>0<=_>>>0||(_=i[u+(_<<2)>>2],!_))break e;if(S0=i[_+808>>2],(p|0)>(S0|0)){if(a=n0>>e,(a|0)<0|t>>>0<=a>>>0)break r;if(L=w>>e,(L|0)<0|(D|0)<=(L|0))break i;if(!s[i[u+(Q[((Z+m(a,24)|0)+m(m(t,L),24)|0)+2>>1]<<2)>>2]+772|0])break A}if(!s[_+772|0]&(p|0)<(S0|0)||(a=s[C+57|0],!a&&(_=v>>>h0<<2,v=i[C+8484>>2],i[(_+v|0)+e1>>2]!=i[(v+(Q0<<2)|0)+(F0<<2)>>2]))||(v=W+I0|0,(v|0)>=(d|0)|(v|0)<0|((y|0)<0|(y|0)>=(E|0))))break A;if(W=v<>e,(W|0)<0|t>>>0<=W>>>0)break r;if(_=T2>>e,(_|0)<0|(_|0)>=(D|0))break i;if(W=Q[((Z+m(W,24)|0)+m(m(t,_),24)|0)+2>>1],W>>>0>=Y0>>>0||(W=i[u+(W<<2)>>2],!W))break e;if(_=i[W+808>>2],(_|0)<(p|0)){if(n0=n0>>e,(n0|0)<0|t>>>0<=n0>>>0)break r;if(e=w>>e,(e|0)<0|(e|0)>=(D|0))break i;if(!s[i[u+(Q[((Z+m(n0,24)|0)+m(m(e,t),24)|0)+2>>1]<<2)>>2]+772|0])break A}if(!s[W+772|0]&(p|0)<(_|0))break A;if(a||(e=i[C+8484>>2],i[(e+(v>>>h0<<2)|0)+A1>>2]==i[(e+(Q0<<2)|0)+(F0<<2)>>2]))break f;break A}t=n+b2|0,e=s[t|0],u=s[(t+G0|0)+r2|0],t=s[(t+I0|0)+c0|0],e=l[((e>>>0>>0?1:(e|0)==(u|0)?2:3)+(e>>>0>>0?-1:(t|0)!=(e|0))|0)+R|0]+e|0,l[n+q2|0]=(e|0)>=0?(e|0)<(r|0)?e:r:0}if(n=n+1|0,(k|0)==(n|0))break}if(A=A+1|0,(q|0)==(A|0))break}break e}if(n=s[(A+w|0)+2|0],p=B0(R,0,128),i[((n&31)<<2)+p>>2]=1,i[p+((n+1&31)<<2)>>2]=2,i[p+((n+2&31)<<2)>>2]=3,i[p+((n+3&31)<<2)>>2]=4,d=e-5|0,!(I&1)){if((q|0)<=0|(k|0)<=0|(e|0)>12)break e;for(H=w+5|0,w=t+J|0,e=0;;){for(f=e+S|0,A0=m(f,h)+u|0,f=m(f,o),f0=f+t|0,E=f+w|0,f=0;n=s[f+E|0],n=i[p+((r>>>0>n>>>0?n:r)>>>d<<2)>>2],(n|0)>0&&(C=f+J|0,n=s[C+f0|0]+l[(n+(H+(A<<2)|0)|0)-1|0]|0,l[C+A0|0]=(n|0)>=0?(r|0)>(n|0)?n:r:0),f=f+1|0,(k|0)>(f|0););if(e=e+1|0,!((q|0)>(e|0)))break}break e}if((q|0)<=0|(k|0)<=0)break e;z=w+5|0,E=0,y=(e|0)>12;A:{for(;;){e=E+S|0,I=e<>2],e=I>>w,C=n+J|0,w=C<>w;k:{n:{if(s[H+8812|0]){if((w|0)<0||(Z=i[f+172>>2],(Z|0)<=(w|0)))break f;if((e|0)<0|(e|0)>=i[f+176>>2])break i;if(!(s[((i[f+160>>2]+m(w,3)|0)+m(m(e,Z),3)|0)+1|0]&4))break n;break k}if((w|0)<0)break r}if(Z=i[f+172>>2],(Z|0)<=(w|0))break r;if((e|0)<0|(e|0)>=i[f+176>>2])break A;if(y|s[((i[f+160>>2]+m(w,3)|0)+m(m(e,Z),3)|0)+1|0]&8||(e=s[C+D|0],w=i[p+((e>>>0>>0?e:r)>>>d<<2)>>2],(w|0)<=0))break k;e=e+l[(w+(z+(A<<2)|0)|0)-1|0]|0,l[v+C|0]=(e|0)>=0?(e|0)<(r|0)?e:r:0}if(n=n+1|0,!((k|0)>(n|0)))break}if(E=E+1|0,(q|0)<=(E|0))break e;continue}break}break r}break i}B=R+128|0;return}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function ih(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0;k=B-160|0,B=k,i[k+60>>2]=54820,h=i[13708],i[k+4>>2]=h,A=i[h-12>>2],h=k+4|0,i[A+h>>2]=i[13709],A=h+i[i[k+4>>2]-12>>2]|0,t=k+8|0,b0(A,t),i[A+72>>2]=0,i[A+76>>2]=-1,i[k+60>>2]=54820,i[k+4>>2]=54800,Z=$0(t),i[Z>>2]=53552,i[k+48>>2]=0,i[k+52>>2]=0,i[k+40>>2]=0,i[k+44>>2]=0,i[k+56>>2]=16,A=k+148|0,R2(A,e,r),n=h,t=A,h=l[k+159|0],A=(h|0)<0,x(n,A?i[k+148>>2]:t,A?i[k+152>>2]:h),l[k+159|0]<0&&G(i[k+148>>2]);i:{if(h=i[e+56>>2],p=i[e+60>>2],(h|0)!=(p|0))for(;;){e=k+148|0,W0(e,r),n=e,e=l[k+159|0],A=(e|0)<0,x(k+4|0,A?i[k+148>>2]:n,A?i[k+152>>2]:e),l[k+159|0]<0&&G(i[k+148>>2]),e=x(L0(x(k+4|0,21567,9),i[h>>2]),31338,1),A=k+148|0,W0(A,r),n=A,A=l[k+159|0],t=(A|0)<0,x(e,t?i[k+148>>2]:n,t?i[k+152>>2]:A),l[k+159|0]<0&&G(i[k+148>>2]),e=x(H0(x(e,21238,23),s[h+4|0]),31338,1),A=k+148|0,W0(A,r),n=A,A=l[k+159|0],t=(A|0)<0,x(e,t?i[k+148>>2]:n,t?i[k+152>>2]:A),l[k+159|0]<0&&G(i[k+148>>2]),e=x(e,19465,24),A=i[i[e>>2]-12>>2]+e|0,i[A+4>>2]=i[A+4>>2]&-75|8,e=L0(e,Q[h+6>>1]),A=i[i[e>>2]-12>>2]+e|0,i[A+4>>2]=i[A+4>>2]&-75|2,e=x(e,31338,1),A=k+148|0,W0(A,r),n=A,A=l[k+159|0],t=(A|0)<0,x(e,t?i[k+148>>2]:n,t?i[k+152>>2]:A),l[k+159|0]<0&&G(i[k+148>>2]),x(n4(x(e,19627,15),i[h+8>>2],i[h+12>>2]),31338,1),e=k+148|0,W0(e,r),n=e,e=l[k+159|0],A=(e|0)<0,x(k+4|0,A?i[k+148>>2]:n,A?i[k+152>>2]:e),l[k+159|0]<0&&G(i[k+148>>2]),x(k+4|0,19691,11);r:{if(e=i[h+16>>2],W=i[h+20>>2],(e|0)==(W|0))break r;e:{for(;;){A:{n=n4(k+4|0,i[e+8>>2],i[e+12>>2]),v=V1(k+140|0,n);f:{if(s[v|0]!=1)break f;w=n+i[i[n>>2]-12>>2]|0,_=i[w+4>>2],t=i[w+24>>2],u=i[w+76>>2],(u|0)==-1&&(o=k+148|0,A=i[w+28>>2],i[o>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(o,100192),u=V[i[i[A>>2]+28>>2]](A,32)|0,O0(o),i[w+76>>2]=u);k:{if(!t||(A=i[w+12>>2],_=(_&176)==32?18141:18140,o=_-18140|0,(o|0)>0&&(V[i[i[t>>2]+48>>2]](t,18140,o)|0)!=(o|0)))break k;if(A=(A|0)>1?A-1|0:0,(A|0)>0){if(A>>>0>=2147483640)break A;n:{if(A>>>0>=11){C=(A|7)+1|0,o=U(C),i[k+156>>2]=C|-2147483648,i[k+148>>2]=o,i[k+152>>2]=A;break n}l[k+159|0]=A,o=k+148|0}if(I=B0(o,u,A)+A|0,y=0,l[I|0]=y,u=V[i[i[t>>2]+48>>2]](t,l[k+159|0]<0?i[k+148>>2]:k+148|0,A)|0,l[k+159|0]<0&&G(i[k+148>>2]),(A|0)!=(u|0))break k}if(A=18141-_|0,(A|0)>0&&(V[i[i[t>>2]+48>>2]](t,_,A)|0)!=(A|0))break k;i[w+12>>2]=0;break f}A=n+i[i[n>>2]-12>>2]|0,z1(A,i[A+16>>2]|5)}if(Z1(v),n4(n,i[e+16>>2],i[e+20>>2]),i[e>>2]|i[e+4>>2]){A=k+4|0,_=V1(k+140|0,A);f:{if(s[_|0]!=1)break f;u=A+i[i[k+4>>2]-12>>2]|0,o=i[u+4>>2],t=i[u+24>>2],w=i[u+76>>2],(w|0)==-1&&(n=k+148|0,A=i[u+28>>2],i[n>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(n,100192),w=V[i[i[A>>2]+28>>2]](A,32)|0,O0(n),i[u+76>>2]=w);k:{if(!t||(A=i[u+12>>2],o=(o&176)==32?16321:16314,n=o-16314|0,(n|0)>0&&(V[i[i[t>>2]+48>>2]](t,16314,n)|0)!=(n|0)))break k;if(A=(A|0)>7?A-7|0:0,(A|0)>0){if(A>>>0>=2147483640)break i;n:{if(A>>>0>=11){v=(A|7)+1|0,n=U(v),i[k+156>>2]=v|-2147483648,i[k+148>>2]=n,i[k+152>>2]=A;break n}l[k+159|0]=A,n=k+148|0}if(I=B0(n,w,A)+A|0,y=0,l[I|0]=y,w=V[i[i[t>>2]+48>>2]](t,l[k+159|0]<0?i[k+148>>2]:k+148|0,A)|0,l[k+159|0]<0&&G(i[k+148>>2]),(A|0)!=(w|0))break k}if(A=16321-o|0,(A|0)>0&&(V[i[i[t>>2]+48>>2]](t,o,A)|0)!=(A|0))break k;i[u+12>>2]=0;break f}A=i[i[k+4>>2]-12>>2]+(k+4|0)|0,z1(A,i[A+16>>2]|5)}Z1(_),n4(k+4|0,i[e>>2],i[e+4>>2])}A=k+4|0,_=V1(k+140|0,A);f:{if(s[_|0]!=1)break f;u=A+i[i[k+4>>2]-12>>2]|0,o=i[u+4>>2],t=i[u+24>>2],w=i[u+76>>2],(w|0)==-1&&(n=k+148|0,A=i[u+28>>2],i[n>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(n,100192),w=V[i[i[A>>2]+28>>2]](A,32)|0,O0(n),i[u+76>>2]=w);k:{if(!t||(A=i[u+12>>2],o=(o&176)==32?21742:21741,n=o-21741|0,(n|0)>0&&(V[i[i[t>>2]+48>>2]](t,21741,n)|0)!=(n|0)))break k;if(A=(A|0)>1?A-1|0:0,(A|0)>0){if(A>>>0>=2147483640)break e;n:{if(A>>>0>=11){v=(A|7)+1|0,n=U(v),i[k+156>>2]=v|-2147483648,i[k+148>>2]=n,i[k+152>>2]=A;break n}l[k+159|0]=A,n=k+148|0}if(I=B0(n,w,A)+A|0,y=0,l[I|0]=y,w=V[i[i[t>>2]+48>>2]](t,l[k+159|0]<0?i[k+148>>2]:k+148|0,A)|0,l[k+159|0]<0&&G(i[k+148>>2]),(A|0)!=(w|0))break k}if(A=21742-o|0,(A|0)>0&&(V[i[i[t>>2]+48>>2]](t,o,A)|0)!=(A|0))break k;i[u+12>>2]=0;break f}A=i[i[k+4>>2]-12>>2]+(k+4|0)|0,z1(A,i[A+16>>2]|5)}if(Z1(_),e=e+40|0,(W|0)!=(e|0))continue;break r}break}break i}break i}if(x(k+4|0,31338,1),h=h+32|0,(p|0)==(h|0))break}i2(f,Z),f=i[13707],i[k+4>>2]=f,i[i[f-12>>2]+(k+4|0)>>2]=i[13710],i[Z>>2]=53552,l[k+51|0]<0&&G(i[k+40>>2]),K0(Z),T0(k+60|0),B=k+160|0;return}c2(),P()}function yk(f){var e=0,r=0,A=0,k=0,n=0,t=0,o=0;k=B-16|0,B=k,i[k+12>>2]=f;i:{if(f>>>0<=211){f=i[G9(52752,52944,k+12|0)>>2];break i}for(f>>>0>=4294967292&&(u1(),P()),n=(f>>>0)/210|0,A=m(n,210),i[k+8>>2]=f-A,t=G9(52944,53136,k+8|0)-52944>>2;;){f=i[(t<<2)+52944>>2]+A|0,A=5;r:{e:{for(;;){if(r=A,(r|0)==47)break e;if(o=i[(r<<2)+52752>>2],e=(f>>>0)/(o>>>0)|0,e>>>0>>0)break i;if(A=r+1|0,(m(e,o)|0)==(f|0))break}if(r>>>0<47)break r}for(A=211;;){if(r=(f>>>0)/(A>>>0)|0,r>>>0>>0)break i;if((m(r,A)|0)==(f|0))break r;if(e=A+10|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+12|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+16|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+18|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+22|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+28|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+30|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+36|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+40|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+42|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+46|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+52|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+58|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+60|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+66|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+70|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+72|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+78|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+82|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+88|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+96|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+100|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+102|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+106|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+108|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+112|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+120|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+126|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+130|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+136|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+138|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+142|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+148|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+150|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+156|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+162|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+166|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+168|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+172|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+178|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+180|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+186|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+190|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+192|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+196|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+198|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+208|0,r=(f>>>0)/(e>>>0)|0,r>>>0>>0)break i;if(A=A+210|0,(m(r,e)|0)==(f|0))break}}f=t+1|0,r=(f|0)==48,t=r?0:f,n=r+n|0,A=m(n,210)}}return B=k+16|0,f}function Br(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0;for(_=i[f+20>>2],w=i[f+16>>2],h=i[f+12>>2],q=i[f+8>>2];u=s[e|0]|s[e+1|0]<<8|(s[e+2|0]<<16|s[e+3|0]<<24),i[f+88>>2]=u,v=s[e+4|0]|s[e+5|0]<<8|(s[e+6|0]<<16|s[e+7|0]<<24),i[f+92>>2]=v,Z=s[e+8|0]|s[e+9|0]<<8|(s[e+10|0]<<16|s[e+11|0]<<24),i[f+96>>2]=Z,p=s[e+12|0]|s[e+13|0]<<8|(s[e+14|0]<<16|s[e+15|0]<<24),i[f+100>>2]=p,W=s[e+16|0]|s[e+17|0]<<8|(s[e+18|0]<<16|s[e+19|0]<<24),i[f+104>>2]=W,C=s[e+20|0]|s[e+21|0]<<8|(s[e+22|0]<<16|s[e+23|0]<<24),i[f+108>>2]=C,I=s[e+24|0]|s[e+25|0]<<8|(s[e+26|0]<<16|s[e+27|0]<<24),i[f+112>>2]=I,y=s[e+28|0]|s[e+29|0]<<8|(s[e+30|0]<<16|s[e+31|0]<<24),i[f+116>>2]=y,E=s[e+32|0]|s[e+33|0]<<8|(s[e+34|0]<<16|s[e+35|0]<<24),i[f+120>>2]=E,J=s[e+36|0]|s[e+37|0]<<8|(s[e+38|0]<<16|s[e+39|0]<<24),i[f+124>>2]=J,R=s[e+40|0]|s[e+41|0]<<8|(s[e+42|0]<<16|s[e+43|0]<<24),i[f+128>>2]=R,D=s[e+44|0]|s[e+45|0]<<8|(s[e+46|0]<<16|s[e+47|0]<<24),i[f+132>>2]=D,z=s[e+48|0]|s[e+49|0]<<8|(s[e+50|0]<<16|s[e+51|0]<<24),i[f+136>>2]=z,H=s[e+52|0]|s[e+53|0]<<8|(s[e+54|0]<<16|s[e+55|0]<<24),i[f+140>>2]=H,a=s[e+56|0]|s[e+57|0]<<8|(s[e+58|0]<<16|s[e+59|0]<<24),i[f+144>>2]=a,S=s[e+60|0]|s[e+61|0]<<8|(s[e+62|0]<<16|s[e+63|0]<<24),i[f+148>>2]=S,A=a0(((((w^_)&h^_)+q|0)+u|0)-680876936|0,7)+h|0,k=a0(((_+v|0)+(A&(h^w)^w)|0)-389564586|0,12)+A|0,n=a0(((w+Z|0)+(k&(A^h)^h)|0)+606105819|0,17)+k|0,t=a0(((h+p|0)+(A^n&(A^k))|0)-1044525330|0,22)+n|0,A=a0(((A+W|0)+(k^t&(k^n))|0)-176418897|0,7)+t|0,k=a0(((k+C|0)+(n^A&(t^n))|0)+1200080426|0,12)+A|0,n=a0(((n+I|0)+(t^k&(A^t))|0)-1473231341|0,17)+k|0,t=a0(((t+y|0)+(A^n&(A^k))|0)-45705983|0,22)+n|0,A=a0(((A+E|0)+(k^t&(k^n))|0)+1770035416|0,7)+t|0,k=a0(((k+J|0)+(n^A&(t^n))|0)-1958414417|0,12)+A|0,n=a0(((n+R|0)+(t^k&(A^t))|0)-42063|0,17)+k|0,t=a0(((t+D|0)+(A^n&(A^k))|0)-1990404162|0,22)+n|0,o=k+H|0,k=a0(((A+z|0)+(k^t&(k^n))|0)+1804603682|0,7)+t|0,o=a0((o+(n^k&(t^n))|0)-40341101|0,12)+k|0,A=t+S|0,t=a0(((n+a|0)+(t^o&(k^t))|0)-1502002290|0,17)+o|0,A=a0((A+(k^t&(k^o))|0)+1236535329|0,22)+t|0,k=a0(((k+v|0)+(t^o&(A^t))|0)-165796510|0,5)+A|0,n=a0(((o+I|0)+((A^k)&t^A)|0)-1069501632|0,9)+k|0,t=a0(((t+D|0)+(k^A&(k^n))|0)+643717713|0,14)+n|0,A=a0(((A+u|0)+(n^k&(t^n))|0)-373897302|0,20)+t|0,k=a0(((k+C|0)+(t^n&(A^t))|0)-701558691|0,5)+A|0,n=a0(((n+R|0)+((A^k)&t^A)|0)+38016083|0,9)+k|0,t=a0(((t+S|0)+(k^A&(k^n))|0)-660478335|0,14)+n|0,A=a0(((A+W|0)+(n^k&(t^n))|0)-405537848|0,20)+t|0,k=a0(((k+J|0)+(t^n&(A^t))|0)+568446438|0,5)+A|0,n=a0(((n+a|0)+((A^k)&t^A)|0)-1019803690|0,9)+k|0,t=a0(((t+p|0)+(k^A&(k^n))|0)-187363961|0,14)+n|0,A=a0(((A+E|0)+(n^k&(t^n))|0)+1163531501|0,20)+t|0,k=a0(((k+H|0)+(t^n&(A^t))|0)-1444681467|0,5)+A|0,n=a0(((n+Z|0)+((A^k)&t^A)|0)-51403784|0,9)+k|0,d=A+z|0,o=a0(((t+y|0)+(k^A&(k^n))|0)+1735328473|0,14)+n|0,A=o^n,t=a0((d+(n^k&A)|0)-1926607734|0,20)+o|0,A=a0(((k+C|0)+(A^t)|0)-378558|0,4)+t|0,k=a0(((n+E|0)+(A^(t^o))|0)-2022574463|0,11)+A|0,n=a0(((o+D|0)+(k^(A^t))|0)+1839030562|0,16)+k|0,t=a0(((t+a|0)+(n^(A^k))|0)-35309556|0,23)+n|0,A=a0(((A+v|0)+(t^(k^n))|0)-1530992060|0,4)+t|0,k=a0(((k+W|0)+(A^(t^n))|0)+1272893353|0,11)+A|0,n=a0(((n+y|0)+(k^(A^t))|0)-155497632|0,16)+k|0,t=a0(((t+R|0)+(n^(A^k))|0)-1094730640|0,23)+n|0,A=a0(((A+H|0)+(t^(k^n))|0)+681279174|0,4)+t|0,k=a0(((k+u|0)+(A^(t^n))|0)-358537222|0,11)+A|0,n=a0(((n+p|0)+(k^(A^t))|0)-722521979|0,16)+k|0,t=a0(((t+I|0)+(n^(A^k))|0)+76029189|0,23)+n|0,A=a0(((A+J|0)+(t^(k^n))|0)-640364487|0,4)+t|0,k=a0(((k+z|0)+(A^(t^n))|0)-421815835|0,11)+A|0,o=A+u|0,u=A^k,A=a0(((n+S|0)+(k^(A^t))|0)+530742520|0,16)+k|0,n=a0(((t+Z|0)+(u^A)|0)-995338651|0,23)+A|0,t=a0((o+((n|k^-1)^A)|0)-198630844|0,6)+n|0,o=n+C|0,u=A+a|0,A=a0(((k+y|0)+(n^(t|A^-1))|0)+1126891415|0,10)+t|0,n=a0((u+(t^(A|n^-1))|0)-1416354905|0,15)+A|0,k=a0((o+((n|t^-1)^A)|0)-57434055|0,21)+n|0,o=n+R|0,u=A+p|0,A=a0(((t+z|0)+(n^(k|A^-1))|0)+1700485571|0,6)+k|0,n=a0((u+(k^(A|n^-1))|0)-1894986606|0,10)+A|0,t=a0((o+((n|k^-1)^A)|0)-1051523|0,15)+n|0,o=n+S|0,u=A+E|0,A=a0(((k+v|0)+(n^(t|A^-1))|0)-2054922799|0,21)+t|0,n=a0((u+(t^(A|n^-1))|0)+1873313359|0,6)+A|0,k=a0((o+((n|t^-1)^A)|0)-30611744|0,10)+n|0,o=n+W|0,u=A+H|0,A=a0(((t+I|0)+(n^(k|A^-1))|0)-1560198380|0,15)+k|0,n=a0((u+(k^(A|n^-1))|0)+1309151649|0,21)+A|0,t=a0((o+((n|k^-1)^A)|0)-145523070|0,6)+n|0,k=a0(((k+D|0)+(n^(t|A^-1))|0)-1120210379|0,10)+t|0,A=a0(((A+Z|0)+(t^(k|n^-1))|0)+718787259|0,15)+k|0,h=(A+h|0)+a0(((n+J|0)+(k^(A|t^-1))|0)-343485551|0,21)|0,w=A+w|0,_=k+_|0,q=t+q|0,e=e- -64|0,r=r+-64|0,!!r;);return i[f+20>>2]=_,i[f+16>>2]=w,i[f+12>>2]=h,i[f+8>>2]=q,e}function rh(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;k=B-16|0,B=k,v=t2(r);i:{r:{if(Z=B2(r),!Z)break r;for(;;){if(n=B2(r),n<<24>>24<0){if(e=U(40),i[k+4>>2]=e,i[k+8>>2]=38,i[k+12>>2]=-2147483608,r=s[12108]|s[12109]<<8|(s[12110]<<16|s[12111]<<24),A=s[12104]|s[12105]<<8|(s[12106]<<16|s[12107]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+38|0]=0,r=s[12138]|s[12139]<<8|(s[12140]<<16|s[12141]<<24),A=s[12134]|s[12135]<<8|(s[12136]<<16|s[12137]<<24),l[e+30|0]=A,l[e+31|0]=A>>>8,l[e+32|0]=A>>>16,l[e+33|0]=A>>>24,l[e+34|0]=r,l[e+35|0]=r>>>8,l[e+36|0]=r>>>16,l[e+37|0]=r>>>24,r=s[12132]|s[12133]<<8|(s[12134]<<16|s[12135]<<24),A=s[12128]|s[12129]<<8|(s[12130]<<16|s[12131]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[12124]|s[12125]<<8|(s[12126]<<16|s[12127]<<24),A=s[12120]|s[12121]<<8|(s[12122]<<16|s[12123]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[12116]|s[12117]<<8|(s[12118]<<16|s[12119]<<24),A=s[12112]|s[12113]<<8|(s[12114]<<16|s[12115]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,4,3002,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(n>>>0>=17){if(e=U(56),i[k+4>>2]=e,i[k+8>>2]=51,i[k+12>>2]=-2147483592,r=s[12056]|s[12057]<<8|(s[12058]<<16|s[12059]<<24),A=s[12052]|s[12053]<<8|(s[12054]<<16|s[12055]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+51|0]=0,r=s[12099]|s[12100]<<8|(s[12101]<<16|s[12102]<<24),l[e+47|0]=r,l[e+48|0]=r>>>8,l[e+49|0]=r>>>16,l[e+50|0]=r>>>24,r=s[12096]|s[12097]<<8|(s[12098]<<16|s[12099]<<24),A=s[12092]|s[12093]<<8|(s[12094]<<16|s[12095]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[12088]|s[12089]<<8|(s[12090]<<16|s[12091]<<24),A=s[12084]|s[12085]<<8|(s[12086]<<16|s[12087]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[12080]|s[12081]<<8|(s[12082]<<16|s[12083]<<24),A=s[12076]|s[12077]<<8|(s[12078]<<16|s[12079]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[12072]|s[12073]<<8|(s[12074]<<16|s[12075]<<24),A=s[12068]|s[12069]<<8|(s[12070]<<16|s[12071]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[12064]|s[12065]<<8|(s[12066]<<16|s[12067]<<24),A=s[12060]|s[12061]<<8|(s[12062]<<16|s[12063]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,4,3002,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}e:{u=i[e+52>>2],t=i[e+56>>2];A:{if(u>>>0>>0){l[u|0]=n,o=u+1|0;break A}if(h=i[e+48>>2],w=u-h|0,A=w+1|0,(A|0)<0)break e;t=t-h|0,o=t<<1,o=t>>>0>=1073741823?2147483647:A>>>0>>0?o:A,o?A=U(o):A=0,t=w+A|0,l[t|0]=n,W=A+o|0,o=t+1|0;f:{if((u|0)==(h|0)){A=t;break f}if(_=0,n=u,w=w&3,w)for(;t=t-1|0,n=n-1|0,l[t|0]=s[n|0],_=_+1|0,(w|0)!=(_|0););if(h-u>>>0<=4294967292)for(;l[t-1|0]=s[n-1|0],l[t-2|0]=s[n-2|0],l[t-3|0]=s[n-3|0],t=t-4|0,n=n-4|0,l[t|0]=s[n|0],(n|0)!=(h|0););h=i[e+48>>2]}if(i[e+56>>2]=W,i[e+52>>2]=o,i[e+48>>2]=A,!h)break A;G(h)}if(i[e+52>>2]=o,p=p+1|0,(p&255)>>>0>>0)continue;break r}break}y0(),P()}r:{if(!v)break r;for(h=e+60|0,t=0;;){e:{i[k+12>>2]=0,i[k+4>>2]=0,i[k+8>>2]=0,A=i[e+64>>2];A:{if(A>>>0>2]){if(i[A+8>>2]=0,i[A>>2]=0,i[A+4>>2]=0,n=i[k+8>>2],w=i[k+4>>2],(n|0)!=(w|0)){if(n=n-w|0,(n|0)<0)break e;u=U(n),i[A+4>>2]=u,i[A>>2]=u,o=n+u|0,i[A+8>>2]=o,l0(u,w,n),i[A+4>>2]=o}A=A+12|0;break A}A=v6(h,k+4|0)}if(i[e+64>>2]=A,A=i[k+4>>2],A&&(i[k+8>>2]=A,G(A)),t=t+1|0,(t&65535)>>>0>>0)continue;break r}break}y0(),P()}if(s[r+20|0]==1){if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,100,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+16|0}function d2(f,e,r,A,k,n,t,o,u){var h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0;w=B-96|0,B=w,J=u&65535,p=(k^u)&-2147483648,I=k&65535,H=I,Y0=u>>>16&32767,S0=k>>>16&32767;i:{r:{if(Y0-32767>>>0>4294934529&S0-32767>>>0>=4294934530)break r;if(y=k&2147483647,C=y,h=A,!(!A&(C|0)==2147418112?!(e|r):C>>>0<2147418112)){v=A,p=k|32768;break i}if(y=u&2147483647,W=y,k=o,!(!k&(W|0)==2147418112?!(n|t):W>>>0<2147418112)){v=k,p=u|32768,e=n,r=t;break i}if(!(e|h|(C^2147418112|r))){if(!(k|n|(t|W))){p=2147450880,e=0,r=0;break i}p=p|2147418112,e=0,r=0;break i}if(!(k|n|(W^2147418112|t))){if(k=e|h,A=r|C,e=0,r=0,!(A|k)){p=2147450880;break i}p=p|2147418112;break i}if(!(e|h|(r|C))){e=0,r=0;break i}if(!(k|n|(t|W))){e=0,r=0;break i}if((C|0)==65535|C>>>0<65535&&(h=!(A|I),u=h?e:A,y=h<<6,k=$2(u)+32|0,u=$2(h?r:I),u=y+((u|0)==32?k:u)|0,L1(w+80|0,e,r,A,I,u-15|0),E=16-u|0,A=i[w+88>>2],H=i[w+92>>2],r=i[w+84>>2],e=i[w+80>>2]),W>>>0>65535)break r;u=!(o|J),k=u?n:o,I=u<<6,h=$2(k)+32|0,k=$2(u?t:J),k=I+((k|0)==32?h:k)|0,L1(w- -64|0,n,t,o,J,k-15|0),E=(E-k|0)+16|0,o=i[w+72>>2],J=i[w+76>>2],n=i[w+64>>2],t=i[w+68>>2]}k=n,n=t<<15|n>>>17,u=k<<15,k=0,R=u&-32768,p0=r,y=q0(R,k,r,0),k=w0,a=k,X0=n,C=e,r=q0(n,0,e,0),e=r+y|0,n=w0+k|0,u=e,r=e>>>0>>0?n+1|0:n,n=e,h=0,e=q0(C,_,R,_),W=h+e|0,k=w0+n|0,k=e>>>0>W>>>0?k+1|0:k,I=k,G0=(n|0)==(k|0)&h>>>0>W>>>0|k>>>0>>0,I0=A,D=q0(R,_,A,0),Q0=w0,e=q0(p0,_,X0,_),z=e+D|0,h=w0+Q0|0,h=e>>>0>z>>>0?h+1|0:h,e=J<<15|o>>>17,S=o<<15|t>>>17,A=q0(S,0,C,_),q=A+z|0,n=w0+h|0,n=A>>>0>q>>>0?n+1|0:n,d=n,A=(r|0)==(a|0)&u>>>0>>0|r>>>0>>0,A0=r+q|0,n=A+n|0,n=r>>>0>A0>>>0?n+1|0:n,J=n,t=A0,r=n,f0=H|65536,H=q0(R,_,f0,Z),F0=w0,A=q0(I0,v,X0,_),n0=A+H|0,k=w0+F0|0,k=A>>>0>n0>>>0?k+1|0:k,u=k,h0=e|-2147483648,e=q0(h0,0,C,_),j=e+n0|0,n=w0+k|0,n=e>>>0>j>>>0?n+1|0:n,A=q0(S,v,p0,_),e=A+j|0,L=n,n=n+w0|0,a=e,y=e>>>0>>0?n+1|0:n,n=e,e=0,C=e+t|0,k=r+n|0,k=e>>>0>C>>>0?k+1|0:k,R=k,n=k,e=C+G0|0,r=e>>>0>>0?n+1|0:n,E=((S0+Y0|0)+E|0)-16383|0,A=q0(h0,v,p0,_),o=w0,k=q0(f0,v,X0,_),t=k+A|0,n=w0+o|0,n=k>>>0>t>>>0?n+1|0:n,Z=(o|0)==(n|0)&A>>>0>t>>>0|n>>>0>>0,o=n,k=q0(S,v,I0,v),A=k+t|0,n=w0+n|0,n=A>>>0>>0?n+1|0:n,k=n,t=(n|0)==(o|0)&A>>>0>>0|n>>>0>>0,n=0,o=t,t=t+Z|0,n=o>>>0>t>>>0?1:n,o=t,t=q0(h0,v,f0,v),o=o+t|0,n=w0+n|0,G0=o,t=t>>>0>o>>>0?n+1|0:n,o=A,_=k,k=(h|0)==(Q0|0)&D>>>0>z>>>0|h>>>0>>0,n=0,h=(h|0)==(d|0)&z>>>0>q>>>0|h>>>0>d>>>0,Z=h,h=k+h|0,k=(Z>>>0>h>>>0?1:n)+_|0,n=t,A=A+h|0,k=A>>>0>>0?k+1|0:k,Z=k,D=A,A=(k|0)==(_|0)&A>>>0>>0|k>>>0<_>>>0,k=A,A=A+G0|0,n=k>>>0>A>>>0?n+1|0:n,h=A,o=n,k=q0(S,v,f0,v),_=w0,t=q0(h0,v,I0,v),A=t+k|0,n=w0+_|0,n=A>>>0>>0?n+1|0:n,t=n,n=(_|0)==(n|0)&A>>>0>>0|n>>>0<_>>>0,z=t+h|0,k=n+o|0,k=t>>>0>z>>>0?k+1|0:k,_=z,o=k,h=A,k=0,A=k+D|0,n=h+Z|0,n=A>>>0>>0?n+1|0:n,k=n,t=(Z|0)==(n|0)&A>>>0>>0|n>>>0>>0,n=o,o=t,t=t+_|0,n=o>>>0>t>>>0?n+1|0:n,D=t,t=n,o=A,h=k,k=(y|0)==(L|0)&a>>>0>>0|y>>>0>>0,A=(u|0)==(F0|0)&H>>>0>n0>>>0|u>>>0>>0,u=(u|0)==(L|0)&n0>>>0>j>>>0|u>>>0>L>>>0,A=A+u|0,A=A+k|0,Z=y,u=Z+o|0,k=A+h|0,n=t,A=u,k=A>>>0>>0?k+1|0:k,o=(k|0)==(h|0)&o>>>0>A>>>0|k>>>0>>0,t=o+D|0,n=o>>>0>t>>>0?n+1|0:n,h=t,t=n,o=A,n=0,u=k,Z=(J|0)==(R|0)&C>>>0>>0|J>>>0>R>>>0,_=Z,Z=Z+((J|0)==(d|0)&q>>>0>A0>>>0|J>>>0>>0)|0,k=k+(_>>>0>Z>>>0?1:n)|0,n=t,A=A+Z|0,k=A>>>0>>0?k+1|0:k,o=(k|0)==(u|0)&A>>>0>>0|k>>>0>>0,t=o,o=o+h|0,n=t>>>0>o>>>0?n+1|0:n,u=n;r:{if(n&65536){E=E+1|0;break r}h=I>>>31|0,t=0,n=u<<1|o>>>31,o=o<<1|k>>>31,u=n,n=k<<1|A>>>31,A=A<<1|r>>>31,k=n,n=I<<1|W>>>31,W=W<<1,I=n,n=r<<1|e>>>31,e=e<<1|h,r=n|t}if((E|0)>=32767){p=p|2147418112,e=0,r=0;break i}r:{if((E|0)<=0){if(t=1-E|0,t>>>0<=127){n=E+127|0,L1(w+48|0,W,I,e,r,n),L1(w+32|0,A,k,o,u,n),ti(w+16|0,W,I,e,r,t),ti(w,A,k,o,u,t),W=i[w+32>>2]|i[w+16>>2]|(i[w+48>>2]|i[w+56>>2]|(i[w+52>>2]|i[w+60>>2]))!=0,I=i[w+36>>2]|i[w+20>>2],e=i[w+40>>2]|i[w+24>>2],r=i[w+44>>2]|i[w+28>>2],A=i[w>>2],k=i[w+4>>2],t=i[w+8>>2],n=i[w+12>>2];break r}e=0,r=0;break i}t=o,n=u&65535|E<<16}if(v=t|v,p=n|p,!(!e&(r|0)==-2147483648?!(W|I):(r|0)>0|(r|0)>=0)){e=A+1|0,h=e?k:k+1|0,k=p,r=h,A=!(h|e),v=A+v|0,p=A>>>0>v>>>0?k+1|0:k;break i}if(e|W|(r^-2147483648|I)){e=A,r=k;break i}n=k,e=A&1,r=e,e=e+A|0,r=r>>>0>e>>>0?n+1|0:n,A=(n|0)==(r|0)&e>>>0>>0|r>>>0>>0,n=p,v=A+v|0,p=v>>>0>>0?n+1|0:n}i[f>>2]=e,i[f+4>>2]=r,i[f+8>>2]=v,i[f+12>>2]=p,B=w+96|0}function Fk(f,e,r,A,k,n,t,o,u,h,w){var _=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0;_=B-48|0,B=_,v=i[k>>2];i:{r:{if(n){if(v)break r;C0(3871,14027,242,10614),P()}if(!v)break i}if(Z=i[k+4>>2],Z&&(i[Z+4>>2]=i[Z+4>>2]+1),i[f+124>>2]=v,v=i[f+128>>2],i[f+128>>2]=Z,!v||(Z=i[v+4>>2],i[v+4>>2]=Z-1,Z))break i;V[i[i[v>>2]+8>>2]](v),g(v)}aA(f),p=1,Z=i[19780],i[19780]=Z+1,i[f+112>>2]=t,i[f+108>>2]=2147483647,i[f>>2]=Z,i[f+288>>2]=h,i[f+36>>2]=r,i[f+32>>2]=e,i[f+28>>2]=r,i[f+24>>2]=e,i[f+20>>2]=A,i[f+280>>2]=o,i[f+284>>2]=u;i:{r:{e:{A:{f:{k:{n:{t:switch(A|0){default:C0(17356,14027,278,10614),P();case 1:p=2,i[_+8>>2]=2,I=(r+1|0)/2|0,i[f+36>>2]=I,W=(e+1|0)/2|0,i[f+32>>2]=W,h=2,A=2;break k;case 2:i[_+8>>2]=3,p=2,W=(e+1|0)/2|0,i[f+32>>2]=W,h=1;break n;case 3:break t;case 0:break f}i[_+8>>2]=4,W=e,h=1}I=r,A=1}if(l[f+51|0]=h,l[f+50|0]=p,h=i[k>>2],!h){i[_+20>>2]=16,i[_+16>>2]=r,i[_+12>>2]=e,y=1;break A}if(i[h+16852>>2]!=(p|0))break e;if(i[h+16856>>2]==(A|0)){i[_+20>>2]=16,i[_+16>>2]=r,i[_+12>>2]=e;break r}C0(15341,14027,318,10614),P()}if(y=1,i[_+8>>2]=1,X[f+50>>1]=257,i[f+32>>2]=0,i[f+36>>2]=0,h=i[k>>2],i[_+20>>2]=16,i[_+16>>2]=r,i[_+12>>2]=e,h){A=1;break r}A=1}h=0,o=0;break i}C0(15371,14027,317,10614),P()}J=i[h+508>>2],E=i[h+504>>2],R=i[h+500>>2],y=0,o=i[h+496>>2]}C=8,D=o+R|0,v=m(D,p);i:{if((v|0)>=(e|0)||(Z=E+J|0,u=m(Z,A),(u|0)>=(r|0)))break i;i[f+88>>2]=I-Z,i[f+84>>2]=W-D,r=r-u|0,i[f+80>>2]=r,e=e-v|0,i[f+76>>2]=e,i[_+44>>2]=r,i[_+40>>2]=e,i[_+36>>2]=m(A,J),u=m(A,E),i[_+32>>2]=u,i[_+28>>2]=m(p,R),A=m(o,p),i[_+24>>2]=A,e=8,r=8,y||(r=i[h+16840>>2],e=i[h+16832>>2]),l[f+49|0]=r,l[f+48|0]=e,r=(r&255)>>>0>8,l[f+18|0]=r,l[f+17|0]=r,l[f+16|0]=(e&255)>>>0>8;r:{if(!t){r=0,e=77612;break r}r=i[t+544>>2],e=w?t+536|0:77612}w=i[e>>2],e=i[e+4>>2],i[f+304>>2]=w,i[f+308>>2]=e;r:{if(!w)break r;r=V[w|0](t,_+8|0,f,r)|0,i[f+64>>2]=(A+i[f+4>>2]|0)+m(u,i[f+40>>2]);e:{if(!i[f+20>>2]){p=0,e=0;break e}e=m(i[f+44>>2],E),p=e+(i[f+12>>2]+o|0)|0,e=e+(i[f+8>>2]+o|0)|0}if(i[f+72>>2]=p,i[f+68>>2]=e,r)break r;C=7;break i}r:{if(!n)break r;e=i[f+200>>2],n=i[h+16944>>2],A=i[h+16952>>2],r=i[h+16948>>2],t=m(A,r);e:{if((t|0)!=i[f+204>>2]){if(G(e),e=Z2(t),i[f+200>>2]=e,!e){i[f+204>>2]=0,r=0;break e}i[f+204>>2]=t}i[f+216>>2]=A,i[f+212>>2]=r,i[f+208>>2]=n,r=(e|0)!=0}e=i[f+220>>2],t=i[h+16944>>2],n=i[h+16952>>2],A=i[h+16948>>2],o=m(n,A);e:{if((o|0)!=i[f+224>>2]){if(G(e),e=Z2(o),i[f+220>>2]=e,!e){i[f+224>>2]=0,e=0;break e}i[f+224>>2]=o}i[f+236>>2]=n,i[f+232>>2]=A,i[f+228>>2]=t,e=(e|0)!=0}t=e&r,e=i[f+160>>2],n=i[h+16872>>2],A=i[h+16896>>2],r=i[h+16888>>2],o=m(A,r);e:{if((o|0)!=i[f+164>>2]){if(G(e),e=Z2(m(o,3)),i[f+160>>2]=e,!e){i[f+164>>2]=0,e=0;break e}i[f+164>>2]=o}i[f+176>>2]=A,i[f+172>>2]=r,i[f+168>>2]=n,e=(e|0)!=0}n=e&t,e=i[f+180>>2],r=i[h+16872>>2]-2|0,A=i[h+16896>>2]<>2]<>2]){if(G(e),e=Z2(m(t,12)),i[f+180>>2]=e,!e){i[f+184>>2]=0,e=0;break e}i[f+184>>2]=t}i[f+196>>2]=A,i[f+192>>2]=r,i[f+188>>2]=2,e=(e|0)!=0}t=e&n,e=i[f+240>>2],n=i[h+16936>>2],A=i[h+16928>>2],r=i[h+16924>>2],o=m(A,r);e:{if((o|0)!=i[f+244>>2]){if(G(e),e=Z2(o),i[f+240>>2]=e,!e){i[f+244>>2]=0,e=0;break e}i[f+244>>2]=o}i[f+256>>2]=A,i[f+252>>2]=r,i[f+248>>2]=n,e=(e|0)!=0}n=e&t,e=i[f+260>>2],A=(i[h+488>>2]+3|0)/4|0,r=(i[h+484>>2]+3|0)/4|0,t=m(A,r);e:{if((t|0)!=i[f+264>>2]){if(G(e),e=Z2(t),i[f+260>>2]=e,!e){i[f+264>>2]=0,e=0;break e}i[f+264>>2]=t}i[f+276>>2]=A,i[f+272>>2]=r,i[f+268>>2]=2,e=(e|0)!=0}if(t=e&n,h=i[k>>2],r=i[h+16892>>2],!((r|0)==i[f+152>>2]&i[f+156>>2]==i[h+16900>>2])){if(A=i[f+320>>2],A){if(r=A-4|0,e=i[r>>2],e){for(h=A+m(e,76)|0;h=h-76|0,(A|0)!=(h|0););h=i[k>>2]}G(r),r=i[h+16892>>2]}e=i[f+140>>2],n=i[h+16876>>2],A=i[h+16900>>2],h=m(A,r);e:{if((h|0)!=i[f+144>>2]){if(G(e),e=Z2(m(h,24)),i[f+140>>2]=e,!e){h=0,i[f+144>>2]=0,e=0;break e}i[f+144>>2]=h}i[f+156>>2]=A,i[f+152>>2]=r,i[f+148>>2]=n,e=(e|0)!=0}if(r=q0(h,0,76,0),A=r+4|0,r=U(w0||r>>>0>A>>>0?-1:A),i[r>>2]=h,r=r+4|0,h)for(A=r+m(h,76)|0,h=r;i[h>>2]=0,h=h+76|0,(A|0)!=(h|0););if(i[f+320>>2]=r,e&t)break r;C=7;break i}if(t)break r;C=7;break i}C=0}e=i[k+4>>2];i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}return B=_+48|0,C}function eh(f,e,r,A,k,n,t,o,u,h){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0,h=h|0;var w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0;Z=h-8|0,v=n+3|0,R=B-((m(v,k)<<1)+15&-16)|0;i:{if((n|0)>=-2){if((k|0)<=0)break i;for(C=r-2|0,J=R+2|0,r=n+2|0,I=(r|0)>0?r:0,H=k&2147483646,a=k&1,y=k-t&3,p=-1,E=k-1|0,S=E-t>>>0<3;;){_=J+(p<<1)|0,h=C+(m(A,p)<<1)|0;r:{e:{A:switch(t|0){case 0:if(u=0,r=t,y)for(;X[_+(m(r,v)<<1)>>1]=Q[h+2>>1],r=r+1|0,h=h+2|0,u=u+1|0,(y|0)!=(u|0););if(S)break r;for(;X[_+(m(r,v)<<1)>>1]=Q[h+2>>1],X[_+(m(r+1|0,v)<<1)>>1]=Q[h+4>>1],X[_+(m(r+2|0,v)<<1)>>1]=Q[h+6>>1],X[_+(m(r+3|0,v)<<1)>>1]=Q[h+8>>1],h=h+8|0,r=r+4|0,(k|0)!=(r|0););break r;default:for(u=Q[h>>1],r=0;w=Q[h+2>>1],X[_+(m(r,v)<<1)>>1]=(m(Q[h+4>>1],58)+m(w,10)|0)-(Q[h+6>>1]+(u&65535)<<1)>>Z,h=h+2|0,u=w,r=r+1|0,(k|0)!=(r|0););break r;case 1:for(u=Q[h>>1],r=0;w=Q[h+2>>1],X[_+(m(r,v)<<1)>>1]=(m(Q[h+4>>1],10)+m(w,58)|0)-(Q[h+6>>1]+(u&65535)<<1)>>Z,h=h+2|0,u=w,r=r+1|0,(k|0)!=(r|0););break r;case 2:for(u=Q[h>>1],r=0;w=u&65535,u=Q[h+2>>1],X[_+(m(r,v)<<1)>>1]=m(u,54)+(Q[h+4>>1]<<4)-((w<<2)+(Q[h+6>>1]<<1))>>Z,h=h+2|0,r=r+1|0,(k|0)!=(r|0););break r;case 3:for(u=Q[h>>1],r=0;w=u&65535,u=Q[h+2>>1],X[_+(m(r,v)<<1)>>1]=((m(u,46)+m(w,-6)|0)+m(Q[h+4>>1],28)|0)-(Q[h+6>>1]<<2)>>Z,h=h+2|0,r=r+1|0,(k|0)!=(r|0););break r;case 4:if(u=Q[h>>1],r=0,W=0,!E)break e;for(;w=u&65535,u=Q[h+4>>1],D=Q[h+2>>1],z=Q[h+6>>1],X[_+(m(r,v)<<1)>>1]=m(u+D|0,36)-(w+z<<2)>>Z,X[_+(m(r|1,v)<<1)>>1]=m(u+z|0,36)-(Q[h+8>>1]+D<<2)>>Z,r=r+2|0,h=h+4|0,W=W+2|0,(H|0)!=(W|0););break e;case 5:for(u=Q[h>>1],r=0;w=u&65535,u=Q[h+2>>1],X[_+(m(r,v)<<1)>>1]=((m(u,28)-(w<<2)|0)+m(Q[h+4>>1],46)|0)+m(Q[h+6>>1],-6)>>Z,h=h+2|0,r=r+1|0,(k|0)!=(r|0););break r;case 6:break A}for(u=Q[h>>1],r=0;w=u&65535,u=Q[h+2>>1],X[_+(m(r,v)<<1)>>1]=m(Q[h+4>>1],54)+(u<<4)-((w<<1)+(Q[h+6>>1]<<2))>>Z,h=h+2|0,r=r+1|0,(k|0)!=(r|0););break r}if(!a)break r;X[_+(m(r,v)<<1)>>1]=m(Q[h+4>>1]+Q[h+2>>1]|0,36)-(Q[h+6>>1]+(u&65535)<<2)>>Z}if(p=p+1|0,(I|0)==(p|0))break}}if((k|0)<=0|(n|0)<=0)break i;for(w=t?6:Z,Z=n&2147483646,y=n&1,_=n-o&3,p=0,C=n-1|0,J=C-o>>>0<3;;){t=(p<<1)+f|0,h=(m(v,p)<<1)+R|0;r:{e:{A:switch(o|0){case 0:if(u=0,r=o,_)for(;X[t+(m(e,r)<<1)>>1]=Q[h+2>>1],r=r+1|0,h=h+2|0,u=u+1|0,(_|0)!=(u|0););if(J)break r;for(;X[t+(m(e,r)<<1)>>1]=Q[h+2>>1],X[t+(m(r+1|0,e)<<1)>>1]=Q[h+4>>1],X[t+(m(r+2|0,e)<<1)>>1]=Q[h+6>>1],X[t+(m(r+3|0,e)<<1)>>1]=Q[h+8>>1],h=h+8|0,r=r+4|0,(n|0)!=(r|0););break r;default:for(u=Q[h>>1],r=0;A=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=(m(X[h+4>>1],58)+m(A,10)|0)-(X[h+6>>1]+(u<<16>>16)<<1)>>w,h=h+2|0,u=A,r=r+1|0,(n|0)!=(r|0););break r;case 1:for(u=Q[h>>1],r=0;A=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=(m(X[h+4>>1],10)+m(A,58)|0)-(X[h+6>>1]+(u<<16>>16)<<1)>>w,h=h+2|0,u=A,r=r+1|0,(n|0)!=(r|0););break r;case 2:for(u=Q[h>>1],r=0;A=u<<16>>16,u=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=m(u,54)+(X[h+4>>1]<<4)-((A<<2)+(X[h+6>>1]<<1))>>w,h=h+2|0,r=r+1|0,(n|0)!=(r|0););break r;case 3:for(u=Q[h>>1],r=0;A=u<<16>>16,u=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=((m(u,46)+m(A,-6)|0)+m(X[h+4>>1],28)|0)-(X[h+6>>1]<<2)>>w,h=h+2|0,r=r+1|0,(n|0)!=(r|0););break r;case 4:if(u=Q[h>>1],r=0,W=0,!C)break e;for(;A=u<<16>>16,u=X[h+4>>1],I=X[h+2>>1],E=A,A=X[h+6>>1],X[t+(m(e,r)<<1)>>1]=m(u+I|0,36)-(E+A<<2)>>w,X[t+(m(r|1,e)<<1)>>1]=m(A+u|0,36)-(I+X[h+8>>1]<<2)>>w,r=r+2|0,h=h+4|0,W=W+2|0,(Z|0)!=(W|0););break e;case 5:for(u=Q[h>>1],r=0;A=u<<16>>16,u=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=((m(u,28)-(A<<2)|0)+m(X[h+4>>1],46)|0)+m(X[h+6>>1],-6)>>w,h=h+2|0,r=r+1|0,(n|0)!=(r|0););break r;case 6:break A}for(u=Q[h>>1],r=0;A=u<<16>>16,u=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=m(X[h+4>>1],54)+(u<<4)-((A<<1)+(X[h+6>>1]<<2))>>w,h=h+2|0,r=r+1|0,(n|0)!=(r|0););break r}if(!y)break r;X[t+(m(e,r)<<1)>>1]=m(X[h+4>>1]+X[h+2>>1]|0,36)-(X[h+6>>1]+(u<<16>>16)<<2)>>w}if(p=p+1|0,(p|0)==(k|0))break}}}function Zr(f,e,r,A){var k=0,n=0,t=0,o=0;k=B-48|0,B=k,t=k+36|0,W6(t,i[e+48>>2],r),o=l[k+47|0],n=(o|0)<0;i:{r:{if(((n?i[k+40>>2]:o)|0)!=4)break r;n=n?i[k+36>>2]:t,t=s[n+1|0]<<8,o=s[n+2|0]<<16|s[n+3|0]<<24;e:{if((s[n|0]|t|o)==1684632167||(n=o|(t|s[n|0]),(n|0)==1852138601))break e;if((n|0)!=1819701097)break r}n=i[e+48>>2],t=i[n+76>>2],n=i[n+80>>2],n&&(i[n+4>>2]=i[n+4>>2]+1);e:{if(!t){if(e=U(56),i[k+24>>2]=e,i[k+28>>2]=54,i[k+32>>2]=-2147483592,r=s[3983]|s[3984]<<8|(s[3985]<<16|s[3986]<<24),A=s[3979]|s[3980]<<8|(s[3981]<<16|s[3982]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+54|0]=0,r=s[4029]|s[4030]<<8|(s[4031]<<16|s[4032]<<24),A=s[4025]|s[4026]<<8|(s[4027]<<16|s[4028]<<24),l[e+46|0]=A,l[e+47|0]=A>>>8,l[e+48|0]=A>>>16,l[e+49|0]=A>>>24,l[e+50|0]=r,l[e+51|0]=r>>>8,l[e+52|0]=r>>>16,l[e+53|0]=r>>>24,r=s[4023]|s[4024]<<8|(s[4025]<<16|s[4026]<<24),A=s[4019]|s[4020]<<8|(s[4021]<<16|s[4022]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[4015]|s[4016]<<8|(s[4017]<<16|s[4018]<<24),A=s[4011]|s[4012]<<8|(s[4013]<<16|s[4014]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[4007]|s[4008]<<8|(s[4009]<<16|s[4010]<<24),A=s[4003]|s[4004]<<8|(s[4005]<<16|s[4006]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[3999]|s[4e3]<<8|(s[4001]<<16|s[4002]<<24),A=s[3995]|s[3996]<<8|(s[3997]<<16|s[3998]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[3991]|s[3992]<<8|(s[3993]<<16|s[3994]<<24),A=s[3987]|s[3988]<<8|(s[3989]<<16|s[3990]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,117,k+24|0),l[k+35|0]>=0)break e;G(i[k+24>>2]);break e}oi(k+24|0,t,r);A:{f:{if(t=i[k+24>>2],(t|0)!=i[k+28>>2]&&(o=r,r=i[t>>2],(o|0)!=(r|0)))break f;if(e=U(56),i[k+12>>2]=e,i[k+16>>2]=54,i[k+20>>2]=-2147483592,r=s[3983]|s[3984]<<8|(s[3985]<<16|s[3986]<<24),A=s[3979]|s[3980]<<8|(s[3981]<<16|s[3982]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+54|0]=0,r=s[4029]|s[4030]<<8|(s[4031]<<16|s[4032]<<24),A=s[4025]|s[4026]<<8|(s[4027]<<16|s[4028]<<24),l[e+46|0]=A,l[e+47|0]=A>>>8,l[e+48|0]=A>>>16,l[e+49|0]=A>>>24,l[e+50|0]=r,l[e+51|0]=r>>>8,l[e+52|0]=r>>>16,l[e+53|0]=r>>>24,r=s[4023]|s[4024]<<8|(s[4025]<<16|s[4026]<<24),A=s[4019]|s[4020]<<8|(s[4021]<<16|s[4022]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[4015]|s[4016]<<8|(s[4017]<<16|s[4018]<<24),A=s[4011]|s[4012]<<8|(s[4013]<<16|s[4014]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[4007]|s[4008]<<8|(s[4009]<<16|s[4010]<<24),A=s[4003]|s[4004]<<8|(s[4005]<<16|s[4006]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[3999]|s[4e3]<<8|(s[4001]<<16|s[4002]<<24),A=s[3995]|s[3996]<<8|(s[3997]<<16|s[3998]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[3991]|s[3992]<<8|(s[3993]<<16|s[3994]<<24),A=s[3987]|s[3988]<<8|(s[3989]<<16|s[3990]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,117,k+12|0),l[k+23|0]>=0)break A;G(i[k+12>>2]);break A}Zr(f,e,r,A)}if(f=i[k+24>>2],!f)break e;i[k+28>>2]=f,G(f)}if(!n||(f=i[n+4>>2],i[n+4>>2]=f-1,f))break i;V[i[i[n>>2]+8>>2]](n),g(n);break i}if(i[A>>2]=r,e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}l[k+47|0]<0&&G(i[k+36>>2]),B=k+48|0}function Ah(f,e,r,A,k,n,t,o,u,h){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0,h=h|0;var w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0;Z=h-8|0,v=n+3|0,R=B-((m(v,k)<<1)+15&-16)|0;i:{if((n|0)>=-2){if((k|0)<=0)break i;for(C=r-1|0,J=R+2|0,r=n+2|0,I=(r|0)>0?r:0,H=k&2147483646,a=k&1,y=k-t&3,p=-1,E=k-1|0,S=E-t>>>0<3;;){_=J+(p<<1)|0,h=C+m(A,p)|0;r:{e:{A:switch(t|0){case 0:if(u=0,r=t,y)for(;X[_+(m(r,v)<<1)>>1]=s[h+1|0],r=r+1|0,h=h+1|0,u=u+1|0,(y|0)!=(u|0););if(S)break r;for(;X[_+(m(r,v)<<1)>>1]=s[h+1|0],X[_+(m(r+1|0,v)<<1)>>1]=s[h+2|0],X[_+(m(r+2|0,v)<<1)>>1]=s[h+3|0],X[_+(m(r+3|0,v)<<1)>>1]=s[h+4|0],h=h+4|0,r=r+4|0,(k|0)!=(r|0););break r;default:for(u=s[h|0],r=0;w=s[h+1|0],X[_+(m(r,v)<<1)>>1]=(m(s[h+2|0],58)+m(w,10)|0)-(s[h+3|0]+(u&255)<<1)>>Z,h=h+1|0,u=w,r=r+1|0,(k|0)!=(r|0););break r;case 1:for(u=s[h|0],r=0;w=s[h+1|0],X[_+(m(r,v)<<1)>>1]=(m(s[h+2|0],10)+m(w,58)|0)-(s[h+3|0]+(u&255)<<1)>>Z,h=h+1|0,u=w,r=r+1|0,(k|0)!=(r|0););break r;case 2:for(u=s[h|0],r=0;w=u&255,u=s[h+1|0],X[_+(m(r,v)<<1)>>1]=m(u,54)+(s[h+2|0]<<4)-((w<<2)+(s[h+3|0]<<1))>>Z,h=h+1|0,r=r+1|0,(k|0)!=(r|0););break r;case 3:for(u=s[h|0],r=0;w=u&255,u=s[h+1|0],X[_+(m(r,v)<<1)>>1]=((m(u,46)+m(w,-6)|0)+m(s[h+2|0],28)|0)-(s[h+3|0]<<2)>>Z,h=h+1|0,r=r+1|0,(k|0)!=(r|0););break r;case 4:if(u=s[h|0],r=0,W=0,!E)break e;for(;w=u&255,u=s[h+2|0],D=s[h+1|0],z=s[h+3|0],X[_+(m(r,v)<<1)>>1]=m(u+D|0,36)-(w+z<<2)>>Z,X[_+(m(r|1,v)<<1)>>1]=m(u+z|0,36)-(s[h+4|0]+D<<2)>>Z,r=r+2|0,h=h+2|0,W=W+2|0,(H|0)!=(W|0););break e;case 5:for(u=s[h|0],r=0;w=u&255,u=s[h+1|0],X[_+(m(r,v)<<1)>>1]=((m(u,28)-(w<<2)|0)+m(s[h+2|0],46)|0)+m(s[h+3|0],-6)>>Z,h=h+1|0,r=r+1|0,(k|0)!=(r|0););break r;case 6:break A}for(u=s[h|0],r=0;w=u&255,u=s[h+1|0],X[_+(m(r,v)<<1)>>1]=m(s[h+2|0],54)+(u<<4)-((w<<1)+(s[h+3|0]<<2))>>Z,h=h+1|0,r=r+1|0,(k|0)!=(r|0););break r}if(!a)break r;X[_+(m(r,v)<<1)>>1]=m(s[h+2|0]+s[h+1|0]|0,36)-(s[h+3|0]+(u&255)<<2)>>Z}if(p=p+1|0,(I|0)==(p|0))break}}if((k|0)<=0|(n|0)<=0)break i;for(w=t?6:Z,Z=n&2147483646,y=n&1,_=n-o&3,p=0,C=n-1|0,J=C-o>>>0<3;;){t=(p<<1)+f|0,h=(m(v,p)<<1)+R|0;r:{e:{A:switch(o|0){case 0:if(u=0,r=o,_)for(;X[t+(m(e,r)<<1)>>1]=Q[h+2>>1],r=r+1|0,h=h+2|0,u=u+1|0,(_|0)!=(u|0););if(J)break r;for(;X[t+(m(e,r)<<1)>>1]=Q[h+2>>1],X[t+(m(r+1|0,e)<<1)>>1]=Q[h+4>>1],X[t+(m(r+2|0,e)<<1)>>1]=Q[h+6>>1],X[t+(m(r+3|0,e)<<1)>>1]=Q[h+8>>1],h=h+8|0,r=r+4|0,(n|0)!=(r|0););break r;default:for(u=Q[h>>1],r=0;A=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=(m(X[h+4>>1],58)+m(A,10)|0)-(X[h+6>>1]+(u<<16>>16)<<1)>>w,h=h+2|0,u=A,r=r+1|0,(n|0)!=(r|0););break r;case 1:for(u=Q[h>>1],r=0;A=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=(m(X[h+4>>1],10)+m(A,58)|0)-(X[h+6>>1]+(u<<16>>16)<<1)>>w,h=h+2|0,u=A,r=r+1|0,(n|0)!=(r|0););break r;case 2:for(u=Q[h>>1],r=0;A=u<<16>>16,u=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=m(u,54)+(X[h+4>>1]<<4)-((A<<2)+(X[h+6>>1]<<1))>>w,h=h+2|0,r=r+1|0,(n|0)!=(r|0););break r;case 3:for(u=Q[h>>1],r=0;A=u<<16>>16,u=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=((m(u,46)+m(A,-6)|0)+m(X[h+4>>1],28)|0)-(X[h+6>>1]<<2)>>w,h=h+2|0,r=r+1|0,(n|0)!=(r|0););break r;case 4:if(u=Q[h>>1],r=0,W=0,!C)break e;for(;A=u<<16>>16,u=X[h+4>>1],I=X[h+2>>1],E=A,A=X[h+6>>1],X[t+(m(e,r)<<1)>>1]=m(u+I|0,36)-(E+A<<2)>>w,X[t+(m(r|1,e)<<1)>>1]=m(A+u|0,36)-(I+X[h+8>>1]<<2)>>w,r=r+2|0,h=h+4|0,W=W+2|0,(Z|0)!=(W|0););break e;case 5:for(u=Q[h>>1],r=0;A=u<<16>>16,u=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=((m(u,28)-(A<<2)|0)+m(X[h+4>>1],46)|0)+m(X[h+6>>1],-6)>>w,h=h+2|0,r=r+1|0,(n|0)!=(r|0););break r;case 6:break A}for(u=Q[h>>1],r=0;A=u<<16>>16,u=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=m(X[h+4>>1],54)+(u<<4)-((A<<1)+(X[h+6>>1]<<2))>>w,h=h+2|0,r=r+1|0,(n|0)!=(r|0););break r}if(!y)break r;X[t+(m(e,r)<<1)>>1]=m(X[h+4>>1]+X[h+2>>1]|0,36)-(X[h+6>>1]+(u<<16>>16)<<2)>>w}if(p=p+1|0,(p|0)==(k|0))break}}}function fh(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;if(h=B-32|0,B=h,n=i[f>>2],Zr(h+8|0,i[n+16>>2],i[n+20>>2],h+28|0),f=-1,!i[h+8>>2]){u=i[h+28>>2],r=B-128|0,B=r,o=i[i[n+16>>2]+48>>2],n=o+112|0;i:{r:{e=i[o+112>>2];e:{if(!e)break e;for(f=n;A=k0[e+16>>2]>>0,f=A?f:e,e=i[(A<<2)+e>>2],!!e;);if(A=0,(f|0)==(n|0)|k0[f+16>>2]>u>>>0)break e;if(e=i[f+20>>2],A=i[f+24>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),e)break r}l[r+112|0]=0,l[r+123|0]=0;break i}if(l[e+75|0]>=0){f=e- -64|0,i[r+120>>2]=i[f+8>>2],e=i[f+4>>2],i[r+112>>2]=i[f>>2],i[r+116>>2]=e;break i}_0(r+112|0,i[e+64>>2],i[e+68>>2])}i:{if(!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break i;V[i[i[A>>2]+8>>2]](A),g(A)}e=l[r+123|0],k=(e|0)<0,f=i[r+116>>2];i:{r:{if(((k?f:e)|0)!=4||(k=k?i[r+112>>2]:r+112|0,(s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))!=828601960))break r;p4(r+32|0,i[o+44>>2],u,o+52|0,1752589123),e=i[r+32>>2];e:{if(!e){f=0;break e}if(f=0,A=N0(e,68572,74292),!A)break e;if(e=i[r+36>>2],!e){A=s[A+71|0],f=1;break e}if(f=1,k=i[e+4>>2],t=k+1|0,i[e+4>>2]=t,A=s[A+71|0],i[e+4>>2]=k,t)break e;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[r+36>>2];e:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break e;V[i[i[e>>2]+8>>2]](e),g(e)}if(f)break i;e=s[r+123|0],f=i[r+116>>2]}k=e<<24>>24;r:{if((((k|0)<0?f:e)|0)!=4||(t=0,k=(k|0)<0?i[r+112>>2]:r+112|0,(s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))!=828601974))break r;p4(r+12|0,i[o+44>>2],u,o+52|0,1987470147),f=i[r+12>>2];e:{if(!f||(e=N0(f,68572,74976),!e)||(f=i[r+16>>2],f&&(i[f+4>>2]=i[f+4>>2]+1),A=i[e+60>>2],i[r+32>>2]=i[e+56>>2],i[r+36>>2]=A,_n(r+40|0,e- -64|0),X[r+100>>1]=Q[e+124>>1],i[r+96>>2]=i[e+120>>2],e=s[r+39|0],k=s[r+33|0],A=i[r+84>>2],A&&(i[r+88>>2]=A,G(A)),A=i[r+72>>2],A&&(i[r+76>>2]=A,G(A)),A=i[r+60>>2],A&&G(A),A=i[r+48>>2],A&&(i[r+52>>2]=A,G(A)),A=k?e+8|0:8,t=1,!f)||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break e;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[r+16>>2];e:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break e;V[i[i[f>>2]+8>>2]](f),g(f)}if(t)break i;e=s[r+123|0],f=i[r+116>>2]}k=e<<24>>24<0;r:{if(((k?f:e)|0)!=4||(k=k?i[r+112>>2]:r+112|0,(s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))!=825259617))break r;p4(r+32|0,i[o+44>>2],u,o+52|0,1635135811),e=i[r+32>>2];e:{if(!e){f=0;break e}if(f=0,k=N0(e,68572,74408),!k)break e;if(e=i[r+36>>2],!e){A=s[k+52|0]?s[k+53|0]?12:10:8,f=1;break e}if(f=1,A=i[e+4>>2],t=A+1|0,i[e+4>>2]=t,w=s[k+52|0],k=s[k+53|0],i[e+4>>2]=A,A=w?k?12:10:8,t)break e;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[r+36>>2];e:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break e;V[i[i[e>>2]+8>>2]](e),g(e)}if(f)break i;e=s[r+123|0],f=i[r+116>>2]}r:{A=e<<24>>24;e:{if((((A|0)<0?f:e)|0)!=4)break e;if(A=(A|0)<0?i[r+112>>2]:r+112|0,k=s[A+1|0]<<8,t=s[A+2|0]<<16|s[A+3|0]<<24,(s[A|0]|k|t)==1734701162)break r;if((t|(k|s[A|0]))!=1701669229)break e;A=0;A:{f:{e=i[n>>2];k:{if(!e)break k;for(f=n;A=k0[e+16>>2]>>0,f=A?f:e,e=i[(A<<2)+e>>2],!!e;);if(A=0,(f|0)==(n|0)|k0[f+16>>2]>u>>>0)break k;if(n=i[f+20>>2],A=i[f+24>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),n)break f}l[r+32|0]=0,l[r+43|0]=0;break A}if(l[n+99|0]>=0){i[r+40>>2]=i[n+96>>2],f=i[n+92>>2],i[r+32>>2]=i[n+88>>2],i[r+36>>2]=f;break A}_0(r+32|0,i[n+88>>2],i[n+92>>2])}A:{if(!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break A;V[i[i[A>>2]+8>>2]](A),g(A)}if(f=0,A=l[r+43|0],n=(A|0)<0,((n?i[r+36>>2]:A)|0)==10&&(f=!K2(n?i[r+32>>2]:r+32|0,8704,10)),(A|0)<0&&G(i[r+32>>2]),f)break r;e=s[r+123|0],f=i[r+116>>2]}if(A=-1,n=f,f=e<<24>>24<0,((f?n:e)|0)!=4||(f=f?i[r+112>>2]:r+112|0,(s[f|0]|s[f+1|0]<<8|(s[f+2|0]<<16|s[f+3|0]<<24))!=829108842))break i;X[r+32>>1]=0,B0(r+36|0,0,68),wA(r+12|0,r+32|0,o,u),A=-1;e:{if(i[r+12>>2]||(f=i[r+68>>2],A=-1,i[r+72>>2]-f>>>0<5))break e;A=s[f+6|0]}if(l[r+31|0]<0&&G(i[r+20>>2]),f=i[r+92>>2],f&&(i[r+96>>2]=f,G(f)),f=i[r+80>>2],f&&(i[r+84>>2]=f,G(f)),f=i[r+68>>2],!f)break i;i[r+72>>2]=f,G(f);break i}A=J7(o,u)}l[r+123|0]<0&&G(i[r+112>>2]),B=r+128|0,f=A}return l[h+27|0]<0&&G(i[h+16>>2]),B=h+32|0,f|0}function kh(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;if(n=B-32|0,B=n,_=V[i[i[e>>2]+32>>2]](e,r,0)|0,A2(r,s[e+57|0]|s[e+56|0]<<1&6|248),s[e+57|0]==1){w2(r,(s[e+62|0]|(s[e+60|0]<<4|Q[e+58>>1]<<7|s[e+61|0]<<2))&65535),A2(r,(s[e+63|0]<<5|31)&255),A2(r,s[e+64|0]&63),A2(r,s[e+66|0]|s[e+65|0]<<1&254),A2(r,s[e+67|0]);i:{if(!s[e+64|0]||(A2(r,(s[i[e+72>>2]]|(s[e+69|0]<<6|s[e+68|0]<<7))&255),A=1,s[e+64|0]<=1))break i;for(;A2(r,s[i[e+72>>2]+A|0]),A=A+1|0,A>>>0>>0<=1)break i;k=A-1|0,h=k&1,o=i[e+84>>2],A=A-2|0;r:{if(!A){t=128,k=0;break r}for(v=k&-2,t=128,k=0;u=A-1|0,Z=0-(i[o+(u>>>3&536870908)>>2]>>>u&1)|0,u=t&255,k=Z&u>>>1|(0-(i[o+(A>>>3&536870908)>>2]>>>A&1)&t|k),A=A-2|0,t=u>>>2|0,w=w+2|0,(w|0)!=(v|0););}if(!h)break i;k=0-(i[o+(A>>>3&536870908)>>2]>>>A&1)&t|k}if(A2(r,k&255),A=s[e+60|0],A>>>0>=2)for(A=A-2|0;i[i[e+84>>2]+(A>>>3&536870908)>>2]>>>A&1&&A2(r,s[i[e+96>>2]+A|0]),k=(A|0)>0,A=A-1|0,!!k;);if(k=i[e+112>>2]-i[e+108>>2]>>>2&255,A2(r,k),k)for(A=0;l2(r,i[i[e+108>>2]+(A<<2)>>2]),A=A+1|0,(k|0)!=(A|0););w2(r,Q[e+120>>1]),w2(r,Q[e+122>>1]),w2(r,Q[e+124>>1])}A=i[e+132>>2]-i[e+128>>2]>>4;i:{if(A>>>0>=256){if(e=U(32),i[n+20>>2]=e,i[n+24>>2]=24,i[n+28>>2]=-2147483616,r=s[17552]|s[17553]<<8|(s[17554]<<16|s[17555]<<24),A=s[17548]|s[17549]<<8|(s[17550]<<16|s[17551]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+24|0]=0,r=s[17568]|s[17569]<<8|(s[17570]<<16|s[17571]<<24),A=s[17564]|s[17565]<<8|(s[17566]<<16|s[17567]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[17560]|s[17561]<<8|(s[17562]<<16|s[17563]<<24),A=s[17556]|s[17557]<<8|(s[17558]<<16|s[17559]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,9,0,n+20|0),l[n+31|0]>=0)break i;G(i[n+20>>2]);break i}if(A2(r,A&255),k=i[e+128>>2],t=i[e+132>>2],(k|0)!=(t|0))for(;;){if(A2(r,s[k+1|0]|(s[k|0]?128:0)),A=(i[k+8>>2]-i[k+4>>2]|0)/12|0,A>>>0>=65536){if(e=U(24),i[n+20>>2]=e,i[n+24>>2]=23,i[n+28>>2]=-2147483624,r=s[17577]|s[17578]<<8|(s[17579]<<16|s[17580]<<24),A=s[17573]|s[17574]<<8|(s[17575]<<16|s[17576]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+23|0]=0,r=s[17592]|s[17593]<<8|(s[17594]<<16|s[17595]<<24),A=s[17588]|s[17589]<<8|(s[17590]<<16|s[17591]<<24),l[e+15|0]=A,l[e+16|0]=A>>>8,l[e+17|0]=A>>>16,l[e+18|0]=A>>>24,l[e+19|0]=r,l[e+20|0]=r>>>8,l[e+21|0]=r>>>16,l[e+22|0]=r>>>24,r=s[17585]|s[17586]<<8|(s[17587]<<16|s[17588]<<24),A=s[17581]|s[17582]<<8|(s[17583]<<16|s[17584]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,9,0,n+20|0),l[n+31|0]>=0)break i;G(i[n+20>>2]);break i}if(w2(r,A&65535),A=i[k+4>>2],o=i[k+8>>2],(A|0)!=(o|0))for(;;){if(h=i[A+4>>2]-i[A>>2]|0,h>>>0>=65536){if(e=U(24),i[n+20>>2]=e,i[n+24>>2]=18,i[n+28>>2]=-2147483624,r=s[17830]|s[17831]<<8|(s[17832]<<16|s[17833]<<24),A=s[17826]|s[17827]<<8|(s[17828]<<16|s[17829]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+18|0]=0,r=s[17842]|s[17843]<<8,l[e+16|0]=r,l[e+17|0]=r>>>8,r=s[17838]|s[17839]<<8|(s[17840]<<16|s[17841]<<24),A=s[17834]|s[17835]<<8|(s[17836]<<16|s[17837]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,9,0,n+20|0),l[n+31|0]>=0)break i;G(i[n+20>>2]);break i}if(w2(r,h&65535),D4(r,A),A=A+12|0,(o|0)==(A|0))break}if(k=k+16|0,(t|0)==(k|0))break}if(Y4(n,e,r,_),l[n+19|0]<0&&G(i[n+8>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=n+32|0}function Ek(f){var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;if(h=B-32|0,B=h,Zr(h+8|0,i[f+16>>2],i[f+20>>2],h+28|0),n=-1,!i[h+8>>2]){u=i[h+28>>2],r=B-128|0,B=r,o=i[i[f+16>>2]+48>>2],n=o+112|0;i:{r:{e=i[o+112>>2];e:{if(!e)break e;for(f=n;A=k0[e+16>>2]>>0,f=A?f:e,e=i[(A<<2)+e>>2],!!e;);if(A=0,(f|0)==(n|0)|k0[f+16>>2]>u>>>0)break e;if(e=i[f+20>>2],A=i[f+24>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),e)break r}l[r+112|0]=0,l[r+123|0]=0;break i}if(l[e+75|0]>=0){f=e- -64|0,i[r+120>>2]=i[f+8>>2],e=i[f+4>>2],i[r+112>>2]=i[f>>2],i[r+116>>2]=e;break i}_0(r+112|0,i[e+64>>2],i[e+68>>2])}i:{if(!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break i;V[i[i[A>>2]+8>>2]](A),g(A)}e=l[r+123|0],k=(e|0)<0,f=i[r+116>>2];i:{r:{if(((k?f:e)|0)!=4||(k=k?i[r+112>>2]:r+112|0,(s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))!=828601960))break r;p4(r+32|0,i[o+44>>2],u,o+52|0,1752589123),e=i[r+32>>2];e:{if(!e){f=0;break e}if(f=0,A=N0(e,68572,74292),!A)break e;if(e=i[r+36>>2],!e){A=s[A+70|0],f=1;break e}if(f=1,k=i[e+4>>2],t=k+1|0,i[e+4>>2]=t,A=s[A+70|0],i[e+4>>2]=k,t)break e;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[r+36>>2];e:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break e;V[i[i[e>>2]+8>>2]](e),g(e)}if(f)break i;e=s[r+123|0],f=i[r+116>>2]}k=e<<24>>24;r:{if((((k|0)<0?f:e)|0)!=4||(t=0,k=(k|0)<0?i[r+112>>2]:r+112|0,(s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))!=828601974))break r;p4(r+12|0,i[o+44>>2],u,o+52|0,1987470147),f=i[r+12>>2];e:{if(!f||(e=N0(f,68572,74976),!e)||(f=i[r+16>>2],f&&(i[f+4>>2]=i[f+4>>2]+1),A=i[e+60>>2],i[r+32>>2]=i[e+56>>2],i[r+36>>2]=A,_n(r+40|0,e- -64|0),X[r+100>>1]=Q[e+124>>1],i[r+96>>2]=i[e+120>>2],e=s[r+39|0],k=s[r+33|0],A=i[r+84>>2],A&&(i[r+88>>2]=A,G(A)),A=i[r+72>>2],A&&(i[r+76>>2]=A,G(A)),A=i[r+60>>2],A&&G(A),A=i[r+48>>2],A&&(i[r+52>>2]=A,G(A)),A=k?e+8|0:8,t=1,!f)||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break e;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[r+16>>2];e:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break e;V[i[i[f>>2]+8>>2]](f),g(f)}if(t)break i;e=s[r+123|0],f=i[r+116>>2]}k=e<<24>>24<0;r:{if(((k?f:e)|0)!=4||(k=k?i[r+112>>2]:r+112|0,(s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))!=825259617))break r;p4(r+32|0,i[o+44>>2],u,o+52|0,1635135811),e=i[r+32>>2];e:{if(!e){f=0;break e}if(f=0,k=N0(e,68572,74408),!k)break e;if(e=i[r+36>>2],!e){A=s[k+52|0]?s[k+53|0]?12:10:8,f=1;break e}if(f=1,A=i[e+4>>2],t=A+1|0,i[e+4>>2]=t,w=s[k+52|0],k=s[k+53|0],i[e+4>>2]=A,A=w?k?12:10:8,t)break e;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[r+36>>2];e:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break e;V[i[i[e>>2]+8>>2]](e),g(e)}if(f)break i;e=s[r+123|0],f=i[r+116>>2]}r:{A=e<<24>>24;e:{if((((A|0)<0?f:e)|0)!=4)break e;if(A=(A|0)<0?i[r+112>>2]:r+112|0,k=s[A+1|0]<<8,t=s[A+2|0]<<16|s[A+3|0]<<24,(s[A|0]|k|t)==1734701162)break r;if((t|(k|s[A|0]))!=1701669229)break e;A=0;A:{f:{e=i[n>>2];k:{if(!e)break k;for(f=n;A=k0[e+16>>2]>>0,f=A?f:e,e=i[(A<<2)+e>>2],!!e;);if(A=0,(f|0)==(n|0)|k0[f+16>>2]>u>>>0)break k;if(n=i[f+20>>2],A=i[f+24>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),n)break f}l[r+32|0]=0,l[r+43|0]=0;break A}if(l[n+99|0]>=0){i[r+40>>2]=i[n+96>>2],f=i[n+92>>2],i[r+32>>2]=i[n+88>>2],i[r+36>>2]=f;break A}_0(r+32|0,i[n+88>>2],i[n+92>>2])}A:{if(!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break A;V[i[i[A>>2]+8>>2]](A),g(A)}if(f=0,A=l[r+43|0],n=(A|0)<0,((n?i[r+36>>2]:A)|0)==10&&(f=!K2(n?i[r+32>>2]:r+32|0,8704,10)),(A|0)<0&&G(i[r+32>>2]),f)break r;e=s[r+123|0],f=i[r+116>>2]}if(A=-1,n=f,f=e<<24>>24<0,((f?n:e)|0)!=4||(f=f?i[r+112>>2]:r+112|0,(s[f|0]|s[f+1|0]<<8|(s[f+2|0]<<16|s[f+3|0]<<24))!=829108842))break i;X[r+32>>1]=0,B0(r+36|0,0,68),wA(r+12|0,r+32|0,o,u),A=-1;e:{if(i[r+12>>2]||(f=i[r+68>>2],A=-1,(f|0)==i[r+72>>2]))break e;A=s[f+2|0]}if(l[r+31|0]<0&&G(i[r+20>>2]),f=i[r+92>>2],f&&(i[r+96>>2]=f,G(f)),f=i[r+80>>2],f&&(i[r+84>>2]=f,G(f)),f=i[r+68>>2],!f)break i;i[r+72>>2]=f,G(f);break i}A=J7(o,u)}l[r+123|0]<0&&G(i[r+112>>2]),B=r+128|0,n=A}return l[h+27|0]<0&&G(i[h+16>>2]),B=h+32|0,n}function nh(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0;o=B-48|0,B=o,i[o+44>>2]=e,i[k>>2]=0,u=i[A+28>>2],i[o>>2]=u,(u|0)!=100008&&(i[u+4>>2]=i[u+4>>2]+1),u=x0(o,100184),O0(o);i:{r:{e:{A:switch(t-65|0){case 0:case 32:Bt(f,n+24|0,o+44|0,r,k,u);break r;case 1:case 33:case 39:ht(f,n+16|0,o+44|0,r,k,u);break r;case 34:e=V[i[i[f+8>>2]+12>>2]](f+8|0)|0,t=f,h=i[o+44>>2],s[e+11|0]>>>7|0?f=i[e>>2]:f=e,u=f,s[e+11|0]>>>7|0?f=i[e>>2]:f=e,s[e+11|0]>>>7|0?e=i[e+4>>2]:e=s[e+11|0]&127,w=o,_=Z8(t,h,r,A,k,n,u,f+(e<<2)|0),i[w+44>>2]=_;break r;case 35:case 36:f=$4(o+44|0,r,k,u,2),e=i[k>>2];f:{if(!(f-1>>>0>30|e&4)){i[n+12>>2]=f;break f}i[k>>2]=e|4}break r;case 3:t=i[15039],i[o+24>>2]=i[15038],i[o+28>>2]=t,t=i[15037],i[o+16>>2]=i[15036],i[o+20>>2]=t,t=i[15035],i[o+8>>2]=i[15034],i[o+12>>2]=t,t=i[15033],i[o>>2]=i[15032],i[o+4>>2]=t,w=o,_=Z8(f,e,r,A,k,n,o,o+32|0),i[w+44>>2]=_;break r;case 5:t=i[15047],i[o+24>>2]=i[15046],i[o+28>>2]=t,t=i[15045],i[o+16>>2]=i[15044],i[o+20>>2]=t,t=i[15043],i[o+8>>2]=i[15042],i[o+12>>2]=t,t=i[15041],i[o>>2]=i[15040],i[o+4>>2]=t,w=o,_=Z8(f,e,r,A,k,n,o,o+32|0),i[w+44>>2]=_;break r;case 7:f=$4(o+44|0,r,k,u,2),e=i[k>>2];f:{if(!((f|0)>23|e&4)){i[n+8>>2]=f;break f}i[k>>2]=e|4}break r;case 8:f=$4(o+44|0,r,k,u,2),e=i[k>>2];f:{if(!(f-1>>>0>11|e&4)){i[n+8>>2]=f;break f}i[k>>2]=e|4}break r;case 41:f=$4(o+44|0,r,k,u,3),e=i[k>>2];f:{if(!((f|0)>365|e&4)){i[n+28>>2]=f;break f}i[k>>2]=e|4}break r;case 44:e=$4(o+44|0,r,k,u,2)-1|0,f=i[k>>2];f:{if(!(e>>>0>11|f&4)){i[n+16>>2]=e;break f}i[k>>2]=f|4}break r;case 12:f=$4(o+44|0,r,k,u,2),e=i[k>>2];f:{if(!((f|0)>59|e&4)){i[n+4>>2]=f;break f}i[k>>2]=e|4}break r;case 45:case 51:for(f=o+44|0,e=B-16|0,B=e,i[e+12>>2]=r;;){f:{if(g2(f,e+12|0))break f;r=i[f>>2],A=i[r+12>>2];k:{if((A|0)==i[r+16>>2]){r=V[i[i[r>>2]+36>>2]](r)|0;break k}r=i[A>>2]}if(!(V[i[i[u>>2]+12>>2]](u,1,r)|0))break f;Y1(f);continue}break}g2(f,e+12|0)&&(i[k>>2]=i[k>>2]|2),B=e+16|0;break r;case 47:t=o+44|0,e=V[i[i[f+8>>2]+8>>2]](f+8|0)|0;f:{if(s[e+11|0]>>>7|0){f=i[e+4>>2];break f}f=s[e+11|0]&127}s[e+23|0]>>>7|0?A=i[e+16>>2]:A=s[e+23|0]&127;f:{if((f|0)==(0-A|0)){i[k>>2]=i[k>>2]|4;break f}if(r=Rr(t,r,e,e+24|0,u,k,0),f=i[n+8>>2],!((r|0)!=(e|0)|(f|0)!=12)){i[n+8>>2]=0;break f}(r-e|0)!=12|(f|0)>11||(i[n+8>>2]=f+12)}break r;case 49:t=l0(o,60192,44),w=t,_=Z8(f,e,r,A,k,n,t,t+44|0),i[w+44>>2]=_;break r;case 17:i[o+16>>2]=i[15064],t=i[15063],i[o+8>>2]=i[15062],i[o+12>>2]=t,t=i[15061],i[o>>2]=i[15060],i[o+4>>2]=t,w=o,_=Z8(f,e,r,A,k,n,o,o+20|0),i[w+44>>2]=_;break r;case 18:f=$4(o+44|0,r,k,u,2),e=i[k>>2];f:{if(!((f|0)>60|e&4)){i[n>>2]=f;break f}i[k>>2]=e|4}break r;case 19:t=i[15075],i[o+24>>2]=i[15074],i[o+28>>2]=t,t=i[15073],i[o+16>>2]=i[15072],i[o+20>>2]=t,t=i[15071],i[o+8>>2]=i[15070],i[o+12>>2]=t,t=i[15069],i[o>>2]=i[15068],i[o+4>>2]=t,w=o,_=Z8(f,e,r,A,k,n,o,o+32|0),i[w+44>>2]=_;break r;case 54:f=$4(o+44|0,r,k,u,1),e=i[k>>2];f:{if(!((f|0)>6|e&4)){i[n+24>>2]=f;break f}i[k>>2]=e|4}break r;case 55:f=V[i[i[f>>2]+20>>2]](f,e,r,A,k,n)|0;break i;case 23:e=V[i[i[f+8>>2]+24>>2]](f+8|0)|0,t=f,h=i[o+44>>2],s[e+11|0]>>>7|0?f=i[e>>2]:f=e,u=f,s[e+11|0]>>>7|0?f=i[e>>2]:f=e,s[e+11|0]>>>7|0?e=i[e+4>>2]:e=s[e+11|0]&127,w=o,_=Z8(t,h,r,A,k,n,u,f+(e<<2)|0),i[w+44>>2]=_;break r;case 56:Yt(n+20|0,o+44|0,r,k,u);break r;case 24:f=$4(o+44|0,r,k,u,4),s[k|0]&4||(i[n+20>>2]=f-1900);break r;default:if((t|0)==37)break e;break;case 2:case 4:case 6:case 9:case 10:case 11:case 13:case 14:case 15:case 16:case 20:case 21:case 22:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 37:case 38:case 40:case 42:case 43:case 46:case 48:case 50:case 52:case 53:break A}i[k>>2]=i[k>>2]|4;break r}f=B-16|0,B=f,i[f+12>>2]=r,r=o+44|0,n=f+12|0,e=6;e:{A:{if(g2(r,n))break A;e=i[r>>2],A=i[e+12>>2];f:{if((A|0)==i[e+16>>2]){A=V[i[i[e>>2]+36>>2]](e)|0;break f}A=i[A>>2]}if(e=4,(V[i[i[u>>2]+52>>2]](u,A,0)|0)!=37)break A;if(!g2(Y1(r),n))break e;e=2}i[k>>2]=e|i[k>>2]}B=f+16|0}f=i[o+44>>2]}return B=o+48|0,f|0}function WA(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0,n2=0,s2=0,W2=0,y2=0,x2=0,T2=0,O2=0,q2=0,b2=0,e1=0,A1=0,h1=0,B1=0,p1=0,W1=0,X1=0,N1=0,r4=0,e4=0,V4=0,M4=0,x4=0,Hi=0,Ti=0,ai=0;i:{r:{w=i[f+276>>2],I0=(A|0)>(w|0)?w:A;e:{if((I0|0)<=(r|0)||(j=i[f+272>>2],Q0=(k|0)>(j|0)?j:k,(Q0|0)<=0))break e;for(q=i[f+124>>2],L=i[q+16856>>2],q2=L<<(e^1),p0=i[q+16852>>2],b2=p0<>2],B1=A-8|0,u=-1<>2],F0=m(W,6),Y0=W<<2,D=W<<1,S0=0-D|0,p1=i[f+260>>2],A0=m(W,6),W1=0-W<<1,X1=1-W<<1,N1=2-W<<1,r4=3-W<<1;;){for(A=r<>>0>1)for(w=1,x4=(A<<1)-2|0,A=i[f+168>>2],J=h0-1>>A,R=V4>>A,X0=f0>>A,G0=h0>>A,A=k+e4|0,Hi=A+W<<1,c0=A<<1,Ti=c0+S0|0,ai=i[f+132>>2],A=1;;){k=i[(A<<2)+e1>>2],_=k+c0|0;A:{if(!e){z=_+6|0,H=_+4|0,a=_+2|0,A=k+Hi|0,v=A+6|0,Z=A+4|0,C=A+2|0,k=k+Ti|0,S=k+6|0,I=k+S0|0,t=I+6|0,h=I+4|0,y=I+2|0,E=k+4|0,n=k+2|0;break A}I=_-4|0,t=A0+I|0,A=_+2|0,v=A0+A|0,o=D<<1,h=o+I|0,Z=A+o|0,y=I+D|0,C=A+D|0,k=_-2|0,S=A0+k|0,z=_+A0|0,H=o+_|0,a=_+D|0,E=k+o|0,n=k+D|0}if((G0|0)<0||(o=i[f+172>>2],(o|0)<=(G0|0)))break r;if((X0|0)<0||(p=i[f+176>>2],(p|0)<=(X0|0)))break i;r2=Q[t>>1],n2=Q[h>>1],s2=Q[y>>1],d=Q[I>>1],S=Q[S>>1],t=Q[E>>1],n=Q[n>>1],h=Q[k>>1],W2=Q[v>>1],y2=Q[Z>>1],x2=Q[C>>1],T2=Q[A>>1],z=Q[z>>1],H=Q[H>>1],a=Q[a>>1],v=Q[_>>1],I=w,k=i[(w?32:36)+ai>>2],C=i[f+160>>2],y=C+m(G0,3)|0,E=m(m(o,X0),3),w=y+E|0,Z=l[w+2|0];A:{if(!e){if((R|0)<0|(p|0)<=(R|0))break i;A=(y+m(m(o,R),3)|0)+2|0;break A}if((J|0)<0|o>>>0<=J>>>0)break r;A=(E+(C+m(J,3)|0)|0)+2|0}k=k+((Z+l[A|0]|0)+1>>1)|0;A:{if(i[q+16848>>2]!=1){k=(k|0)>=51?51:k;break A}if((k|0)<30)break A;if(k>>>0<=42){k=i[(k<<2)+45912>>2];break A}k=k-6|0}if(Z=i[f+148>>2],A=h0>>Z,(A|0)<0||(O2=i[f+152>>2],(A|0)>=(O2|0)))break r;if(Z=f0>>Z,(Z|0)<0|(Z|0)>=i[f+156>>2])break i;A=i[i[i[f+52>>2]+(Q[((i[f+140>>2]+m(A,24)|0)+m(m(Z,O2),24)|0)+2>>1]<<2)>>2]+768>>2]+(k+x4|0)|0,A=(A|0)>=53?53:A,A=s[((A|0)>0?A:0)+43024|0]<>3,p=(k|0)>(p|0)?k:(A|0)>(p|0)?p:A,E=s[w|0]|s[w+1|0]<<8,w=C&!(s[(y+m(m(o,R),3)|0)+1|0]&8),w&&(o=h+p|0,X[_+W1>>1]=(o|0)>=0?(u|0)>(o|0)?o:u:0),o=!(E&2048)&(!Z|!(E&1024)),o&&(h=v-p|0,X[_>>1]=(h|0)>=0?(u|0)>(h|0)?h:u:0),h=(((a-n<<2)+s2|0)-x2|0)+4>>3,h=(k|0)>(h|0)?k:(A|0)>(h|0)?h:A,w&&(n=n+h|0,X[_+X1>>1]=(n|0)>=0?(u|0)>(n|0)?n:u:0),o&&(n=a-h|0,X[_+2>>1]=(n|0)>=0?(u|0)>(n|0)?n:u:0),n=(((H-t<<2)+n2|0)-y2|0)+4>>3,n=(k|0)>(n|0)?k:(A|0)>(n|0)?n:A,w&&(t=n+t|0,X[_+N1>>1]=(t|0)>=0?(u|0)>(t|0)?t:u:0),o&&(t=H-n|0,X[_+4>>1]=(t|0)>=0?(u|0)>(t|0)?t:u:0),t=(((z-S<<2)+r2|0)-W2|0)+4>>3,A=(k|0)>(t|0)?k:(A|0)>(t|0)?t:A,w&&(k=A+S|0,X[_+r4>>1]=(k|0)>=0?(k|0)<(u|0)?k:u:0),!o)break A;k=z-A|0,A=6;break f}if(Z){if((J|0)<0|o>>>0<=J>>>0)break r;p=!(s[(E+(C+m(J,3)|0)|0)+1|0]&4)}else p=1;if((J|0)<0|o>>>0<=J>>>0)break r;if(k=0-A|0,o=((d+(v-h<<2)|0)-T2|0)+4>>3,y=(k|0)>(o|0)?k:(A|0)>(o|0)?o:A,d=s[w|0]|s[w+1|0]<<8,w=_-2|0,o=p&!(s[(E+(C+m(J,3)|0)|0)+1|0]&8),o&&(h=h+y|0,X[w>>1]=(h|0)>=0?(u|0)>(h|0)?h:u:0),h=!(d&2048)&(!Z|!(d&1024)),h&&(v=v-y|0,X[_>>1]=(v|0)>=0?(u|0)>(v|0)?v:u:0),v=(((a-n<<2)+s2|0)-x2|0)+4>>3,v=(k|0)>(v|0)?k:(A|0)>(v|0)?v:A,o&&(n=n+v|0,X[w+D>>1]=(n|0)>=0?(u|0)>(n|0)?n:u:0),h&&(n=a-v|0,X[_+D>>1]=(n|0)>=0?(u|0)>(n|0)?n:u:0),n=(((H-t<<2)+n2|0)-y2|0)+4>>3,n=(k|0)>(n|0)?k:(A|0)>(n|0)?n:A,o&&(t=n+t|0,X[w+Y0>>1]=(t|0)>=0?(u|0)>(t|0)?t:u:0),h&&(t=H-n|0,X[_+Y0>>1]=(t|0)>=0?(u|0)>(t|0)?t:u:0),t=(((z-S<<2)+r2|0)-W2|0)+4>>3,A=(k|0)>(t|0)?k:(A|0)>(t|0)?t:A,o&&(k=A+S|0,X[w+F0>>1]=(k|0)>=0?(k|0)<(u|0)?k:u:0),!h)break A;k=z-A|0,A=F0}X[A+_>>1]=(k|0)>=0?(k|0)<(u|0)?k:u:0}if(A=2,w=0,!I)break}if(n0=n0+b2|0,!((Q0|0)>(n0|0)))break}if(r=r+q2|0,!((I0|0)>(r|0)))break}}return}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function Yk(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0;v=B-6240|0,B=v,Z=e+96|0,C=e+480|0,I=e+2016|0;i:{for(;;){for(h=w?64:16,p=(w|0)==3,y=p?3:1,_=(v+6144|0)+m(w,24)|0,k=0;;){n=k<<10,A=n+v|0;r:{e:{A:{f:{k:{if(!(u0(f,1)&255)){if(r=M0(f),(r|0)==-99999||(r=p?m(r,3):r,(r|0)>(k|0)))break A;if(t=_+(k<<2)|0,i[t>>2]=16,!r){if(!w){r=i[19411],i[A+8>>2]=i[19410],i[A+12>>2]=r,r=i[19409],i[A>>2]=i[19408],i[A+4>>2]=r;break e}if(k>>>0<=2){r=i[19427],i[A+56>>2]=i[19426],i[A+60>>2]=r,r=i[19425],i[A+48>>2]=i[19424],i[A+52>>2]=r,r=i[19423],i[A+40>>2]=i[19422],i[A+44>>2]=r,r=i[19421],i[A+32>>2]=i[19420],i[A+36>>2]=r,r=i[19419],i[A+24>>2]=i[19418],i[A+28>>2]=r,r=16,t=i[19417],i[A+16>>2]=i[19416],i[A+20>>2]=t,t=i[19415],i[A+8>>2]=i[19414],i[A+12>>2]=t,t=i[19413],i[A>>2]=i[19412],i[A+4>>2]=t;break k}r=i[19443],i[A+56>>2]=i[19442],i[A+60>>2]=r,r=i[19441],i[A+48>>2]=i[19440],i[A+52>>2]=r,r=i[19439],i[A+40>>2]=i[19438],i[A+44>>2]=r,r=i[19437],i[A+32>>2]=i[19436],i[A+36>>2]=r,r=i[19435],i[A+24>>2]=i[19434],i[A+28>>2]=r,r=16,t=i[19433],i[A+16>>2]=i[19432],i[A+20>>2]=t,t=i[19431],i[A+8>>2]=i[19430],i[A+12>>2]=t,t=i[19429],i[A>>2]=i[19428],i[A+4>>2]=t;break k}if((w|0)==3&(r|0)!=3)break f;r=k-r|0,l0(A,(r<<10)+v|0,h),r=i[_+(r<<2)>>2],i[t>>2]=r;break k}n:{if(w>>>0<2){t=8,r=16;break n}if(r=_1(f),r-248>>>0<4294967041)break A;t=r+8|0,i[_+(k<<2)>>2]=t,r=t}for(u=0;;){if(o=_1(f),o+128>>>0>255)break A;if(t=t+o|0,l[A+u|0]=t,u=u+1|0,(h|0)==(u|0))break}}k:switch(w|0){case 1:for(r=(k<<6)+Z|0,u=0,t=i[i[11334]+12>>2];n=t+(u<<1)|0,l[(r+(s[n+1|0]<<3)|0)+s[n|0]|0]=s[A+u|0],n=u|1,o=t+(n<<1)|0,l[(r+(s[o+1|0]<<3)|0)+s[o|0]|0]=s[A+n|0],u=u+2|0,(u|0)!=64;);break r;case 2:for(n=(k<<8)+C|0,W=n+1|0,t=0,E=i[i[11334]+12>>2];u=(t<<1)+E|0,o=s[A+t|0],l[(n+(s[u|0]<<1)|0)+(s[u+1|0]<<5)|0]=o,l[((s[u|0]<<1)+W|0)+(s[u+1|0]<<5)|0]=o,l[((n+(s[u|0]<<1)|0)+(s[u+1|0]<<5)|0)+16|0]=o,l[(((s[u|0]<<1)+W|0)+(s[u+1|0]<<5)|0)+16|0]=o,t=t+1|0,(t|0)!=64;);l[n|0]=r;break r;case 3:break k;case 0:break e;default:break r}t=n+I|0,L4(t,A,3),l[t|0]=r;break r}C0(16661,13927,934,2960),P()}f=8;break i}L4((k<<4)+e|0,A,0)}if(k=k+y|0,!(k>>>0<6))break}if(w=w+1|0,(w|0)==4)break}for(u=e+96|0,w=e- -64|0,_=e+32|0,f=0,t=i[i[11334]+12>>2];r=t+(f<<1)|0,n=s[r+1|0],r=s[r|0],A=((n<<7)+(r<<2)|0)+3040|0,k=A+e|0,r=m(s[(r+((n<<3)+Z|0)|0)- -64|0],16843009),l[k|0]=r,n=r>>>8|0,l[k+1|0]=n,o=r>>>16|0,l[k+2|0]=o,h=r>>>24|0,l[k+3|0]=h,k=A+_|0,l[k|0]=r,l[k+1|0]=n,l[k+2|0]=o,l[k+3|0]=h,k=A+w|0,l[k|0]=r,l[k+1|0]=n,l[k+2|0]=o,l[k+3|0]=h,A=A+u|0,l[A|0]=r,l[A+1|0]=n,l[A+2|0]=o,l[A+3|0]=h,f=f+1|0,(f|0)!=64;);for(l[e+3040|0]=s[e+160|0],u=e+96|0,w=e- -64|0,_=e+32|0,f=0;r=t+(f<<1)|0,n=s[r+1|0],r=s[r|0],A=((n<<7)+(r<<2)|0)+4064|0,k=A+e|0,r=m(s[(r+((n<<3)+Z|0)|0)+128|0],16843009),l[k|0]=r,n=r>>>8|0,l[k+1|0]=n,o=r>>>16|0,l[k+2|0]=o,h=r>>>24|0,l[k+3|0]=h,k=A+_|0,l[k|0]=r,l[k+1|0]=n,l[k+2|0]=o,l[k+3|0]=h,k=A+w|0,l[k|0]=r,l[k+1|0]=n,l[k+2|0]=o,l[k+3|0]=h,A=A+u|0,l[A|0]=r,l[A+1|0]=n,l[A+2|0]=o,l[A+3|0]=h,f=f+1|0,(f|0)!=64;);for(l[e+4064|0]=s[e+224|0],u=e+96|0,w=e- -64|0,_=e+32|0,f=0;r=t+(f<<1)|0,n=s[r+1|0],r=s[r|0],A=((n<<7)+(r<<2)|0)+6112|0,k=A+e|0,r=m(s[(r+((n<<3)+Z|0)|0)+256|0],16843009),l[k|0]=r,n=r>>>8|0,l[k+1|0]=n,o=r>>>16|0,l[k+2|0]=o,h=r>>>24|0,l[k+3|0]=h,k=A+_|0,l[k|0]=r,l[k+1|0]=n,l[k+2|0]=o,l[k+3|0]=h,k=A+w|0,l[k|0]=r,l[k+1|0]=n,l[k+2|0]=o,l[k+3|0]=h,A=A+u|0,l[A|0]=r,l[A+1|0]=n,l[A+2|0]=o,l[A+3|0]=h,f=f+1|0,(f|0)!=64;);for(l[e+6112|0]=s[e+352|0],u=e+96|0,w=e- -64|0,_=e+32|0,f=0;r=t+(f<<1)|0,n=s[r+1|0],r=s[r|0],A=((n<<7)+(r<<2)|0)+7136|0,k=A+e|0,r=m(s[(r+((n<<3)+Z|0)|0)+320|0],16843009),l[k|0]=r,n=r>>>8|0,l[k+1|0]=n,o=r>>>16|0,l[k+2|0]=o,h=r>>>24|0,l[k+3|0]=h,k=A+_|0,l[k|0]=r,l[k+1|0]=n,l[k+2|0]=o,l[k+3|0]=h,k=A+w|0,l[k|0]=r,l[k+1|0]=n,l[k+2|0]=o,l[k+3|0]=h,A=A+u|0,l[A|0]=r,l[A+1|0]=n,l[A+2|0]=o,l[A+3|0]=h,f=f+1|0,(f|0)!=64;);l[e+7136|0]=s[e+416|0],f=0}return B=v+6240|0,f}function th(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=Y(0),v=0,Z=0,p=0,W=0,C=Y(0),I=0,y=0,E=0,J=0,R=Y(0),D=Y(0),z=0,H=0,a=0,S=0,q=0,d=0,A0=Y(0),f0=Y(0),n0=Y(0),h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=Y(0),Y0=Y(0),S0=0,c0=0,r2=Y(0),n2=Y(0);e=B+-64|0,B=e,A=i[r>>2],v=i[A+28>>2],p=i[A+24>>2],h=U0(A,10),t=i[i[r>>2]+36>>2],A=U(136),i[A>>2]=72792,i[A+4>>2]=0,i[A+8>>2]=0,B0(A+20|0,0,104),n=i[A+4>>2],o=n+1|0,i[A+4>>2]=o,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,u=A- -64|0,i[u>>2]=0,i[u+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,u=A+12|0,i[A+12>>2]=u,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=n,i[A+16>>2]=A,o||(V[i[i[A>>2]+8>>2]](A),g(A)),i[u+36>>2]=1,i[u+32>>2]=0,i[u+28>>2]=v,i[u+24>>2]=p,n=(v+1|0)/2|0,o=(p+1|0)/2|0;i:{r:{if(!J0(u,0,p,v,h)||!J0(u,1,o,n,h)||!J0(u,2,o,n,h))break r;e:{A:switch(o=t-13|0,o|0){case 0:case 2:break A;default:break e}if(!J0(u,6,p,v,h))break r}n=0,i[e+60>>2]=0,i[e+56>>2]=0,i[e+52>>2]=0,i[e+48>>2]=0,i[e+44>>2]=0,j=v0(i[r>>2],10,e+60|0),w=v0(u,0,e+56|0),S0=v0(u,1,e+52|0),c0=v0(u,2,e+48|0);e:switch(o|0){case 0:case 2:J=v0(u,6,e+44|0),n=i[e+44>>2]/2|0;break;default:break e}i[e+44>>2]=n,i[e+56>>2]=i[e+56>>2]/2,i[e+52>>2]=i[e+52>>2]/2,i[e+48>>2]=i[e+48>>2]/2,L=s[k+26|0],r=i[i[r>>2]+36>>2],Kr(e+4|0,Q[k+24>>1],Q[k+20>>1]);e:{if((v|0)<=0)break e;if(z=(t&-3)==13?8:6,W=-1<>2],A0=Z0[e+16>>2],f0=Z0[e+12>>2],n0=Z0[e+8>>2],h0=i[e+60>>2],k=0;A:{f:switch(t-13|0){case 0:case 2:for(I=o^7,Z=o|6;;){for(y=m(i[e+44>>2],k),E=m(k,h0)+j|0,I0=w+(m(k,d)<<1)|0,n=0;;){Q0=(n<<1)+I0|0,t=m(n,z)+E|0,_=Y(Y(Y((s[t+p0|0]<<8|s[t+q|0])>>>0)*A0)+Y(Y(Y((s[t+a|0]|s[t+o|0]<<8)>>>0)*n0)+Y(f0*Y((s[t+X0|0]|s[t+G0|0]<<8)>>>0)))),_=Y((L&1?_:Y(Y(_*Y(.8554700016975403))+R))+Y(.5));k:{if(Y(d0(_))>1]=(r|0)>=0?(r|0)<(W|0)?r:W:0,X[(n+y<<1)+J>>1]=s[t+I|0]|s[t+Z|0]<<8,n=n+1|0,(p|0)==(n|0))break}if(k=k+1|0,(v|0)==(k|0))break}break A;default:break f}for(;;){for(t=m(k,h0)+j|0,J=w+(m(k,d)<<1)|0,n=0;;){I=J+(n<<1)|0,r=t+m(n,z)|0,_=Y(Y(Y((s[r+p0|0]<<8|s[r+q|0])>>>0)*A0)+Y(Y(Y((s[r+a|0]|s[r+o|0]<<8)>>>0)*n0)+Y(f0*Y((s[r+X0|0]|s[r+G0|0]<<8)>>>0)))),_=Y((L&1?_:Y(Y(_*Y(.8554700016975403))+R))+Y(.5));f:{if(Y(d0(_))>1]=(r|0)>=0?(r|0)<(W|0)?r:W:0,n=n+1|0,(p|0)==(n|0))break}if(k=k+1|0,(v|0)==(k|0))break}}if((v|0)<=0)break e}if(S)break e;for(q=(H|0)==14?4:5,R=Y((1<>>0),h=0,d=i[e+48>>2],h0=i[e+52>>2],A0=Z0[e+40>>2],f0=Z0[e+36>>2],n0=Z0[e+32>>2],_=Z0[e+28>>2],r2=Z0[e+24>>2],n2=Z0[e+20>>2];;){for(r=h>>>1|0,J=(m(r,d)<<1)+c0|0,H=(m(r,h0)<<1)+S0|0,S=(h|1)<(v|0),k=0;;){I0=k+H|0,Z=i[e+60>>2],n=(m(Z,h)+j|0)+m(k,z)|0,r=n+p0|0,t=(k|1)<(p|0)?z:0,y=r+t|0,w=n+q|0,E=w+t|0,Q0=(s[y|0]<<8|s[E|0])+(s[w|0]|s[r|0]<<8)|0,I=r,r=S?Z:0,C=Y(Y((Q0+(s[I+r|0]<<8|s[r+w|0])|0)+(s[r+E|0]|s[r+y|0]<<8)>>>0)*Y(.25)),w=n+(t|a)|0,Z=n+(t|o)|0,y=n+a|0,E=n+o|0,F0=Y(Y((((s[w|0]|s[Z|0]<<8)+(s[y|0]|s[E|0]<<8)|0)+(s[r+y|0]|s[r+E|0]<<8)|0)+(s[r+w|0]|s[r+Z|0]<<8)>>>0)*Y(.25)),w=n+X0|0,Z=w+t|0,n=n+G0|0,t=n+t|0,Y0=Y(Y((((s[Z|0]|s[t|0]<<8)+(s[w|0]|s[n|0]<<8)|0)+(s[r+w|0]|s[r+n|0]<<8)|0)+(s[r+Z|0]|s[r+t|0]<<8)>>>0)*Y(.25)),D=Y(Y(C*_)+Y(Y(F0*n2)+Y(r2*Y0))),n=L&1,D=Y(Y((n?D:Y(D*Y(.875)))+R)+Y(.5));A:{if(Y(d0(D))>1]=(r|0)>=0?(r|0)<(W|0)?r:W:0,I=k+J|0,C=Y(Y(C*A0)+Y(Y(F0*n0)+Y(Y0*f0))),C=Y(Y((n?C:Y(C*Y(.875)))+R)+Y(.5));A:{if(Y(d0(C))>1]=(r|0)>=0?(r|0)<(W|0)?r:W:0,k=k+2|0,!((p|0)>(k|0)))break}if(h=h+2|0,!((v|0)>(h|0)))break}}i[f+4>>2]=A,i[f>>2]=u;break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break i;V[i[i[A>>2]+8>>2]](A),g(A)}B=e- -64|0}function XA(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0,n2=0,s2=0,W2=0,y2=0,x2=0,T2=0,O2=0,q2=0,b2=0,e1=0,A1=0,h1=0,B1=0,p1=0,W1=0,X1=0,N1=0;i:{r:{_=i[f+276>>2],G0=(A|0)>(_|0)?_:A;e:{if((G0|0)<=(r|0)||(A=i[f+272>>2],I0=(A|0)<(k|0)?A:k,(I0|0)<=0))break e;for(S=i[f+124>>2],j=i[S+16856>>2],T2=j<<(e^1),L=i[S+16852>>2],O2=L<>2]^-1,Z=i[f+44>>2],q=m(Z,3),d=Z<<1,A1=3-Z|0,h1=2-Z|0,B1=1-Z|0,p1=0-Z|0;;){for(Q0=r<>2]+((h0|0)/4|0)|0)+m(i[f+272>>2],W1)|0]&3,A>>>0>1)for(X1=n0-Z|0,Y0=h0-1|0,t=1,N1=(A<<1)-2|0,A=1;;){p=i[(A<<2)+q2>>2],k=m(i[f+44>>2],Q0),_=(p+k|0)+n0|0;A:{if(!e){u=k+X1|0,A=u+p|0,E=A+3|0,k=p+(k+n0|0)|0,J=k+3|0,R=k+2|0,D=k+1|0,p=p+(u-Z|0)|0,w=p+3|0,v=p+2|0,W=p+1|0,I=k+Z|0,y=I+3|0,z=I+2|0,H=I+1|0,a=A+2|0,h=A+1|0;break A}J=_+q|0,R=_+d|0,D=_+Z|0,p=_-2|0,w=q+p|0,I=_+1|0,y=q+I|0,v=p+d|0,z=I+d|0,W=Z+p|0,H=Z+I|0,A=_-1|0,E=q+A|0,k=_,a=A+d|0,h=A+Z|0}if(n=i[f+168>>2],p0=h0>>n,(p0|0)<0||(u=i[f+172>>2],(u|0)<=(p0|0)))break r;if(X0=A0>>n,(X0|0)<0||(C=i[f+176>>2],(C|0)<=(X0|0)))break i;S0=s[w|0],c0=s[v|0],r2=s[W|0],n2=s[p|0],E=s[E|0],w=s[a|0],h=s[h|0],v=s[A|0],s2=s[y|0],W2=s[z|0],y2=s[H|0],x2=s[I|0],I=s[J|0],J=s[R|0],R=s[D|0],D=s[k|0],p=t,k=i[i[f+132>>2]+(t?32:36)>>2],z=i[f+160>>2],H=z+m(p0,3)|0,a=m(m(u,X0),3),W=H+a|0,t=l[W+2|0];A:{if(!e){if(A=F0>>n,(A|0)<0|(A|0)>=(C|0))break i;A=(H+m(m(A,u),3)|0)+2|0;break A}if(A=Y0>>n,(A|0)<0|A>>>0>=u>>>0)break r;A=(a+(z+m(A,3)|0)|0)+2|0}A=k+((t+l[A|0]|0)+1>>1)|0;A:{if(i[S+16848>>2]!=1){A=(A|0)>=51?51:A;break A}if((A|0)<30)break A;if(A>>>0<=42){A=i[(A<<2)+45912>>2];break A}A=A-6|0}if(t=i[f+148>>2],k=h0>>t,(k|0)<0||(y=i[f+152>>2],(y|0)<=(k|0)))break r;if(t=A0>>t,(t|0)<0|(t|0)>=i[f+156>>2])break i;A=i[i[i[f+52>>2]+(Q[((i[f+140>>2]+m(k,24)|0)+m(m(t,y),24)|0)+2>>1]<<2)>>2]+768>>2]+(A+N1|0)|0,A=(A|0)>=53?53:A,A=s[((A|0)>0?A:0)+43024|0]<>2]-8,y=s[S+8812|0];A:{f:{if(!e){if(t=F0>>n,y){if((t|0)<0|(t|0)>=(C|0))break i;n=!(s[(H+m(m(t,u),3)|0)+1|0]&4)}else n=1;if((t|0)<0|(t|0)>=(C|0))break i;if(k=0-A|0,C=(((D-v<<2)+n2|0)-x2|0)+4>>3,C=(k|0)>(C|0)?k:(A|0)>(C|0)?C:A,W=s[W|0]|s[W+1|0]<<8,t=n&!(s[(H+m(m(t,u),3)|0)+1|0]&8),t&&(u=v+C|0,l[_+p1|0]=(u|0)>=0?(o|0)>(u|0)?u:o:0),u=!(W&2048)&(!y|!(W&1024)),u&&(n=D-C|0,l[_|0]=(n|0)>=0?(n|0)<(o|0)?n:o:0),n=(((R-h<<2)+r2|0)-y2|0)+4>>3,n=(k|0)>(n|0)?k:(A|0)>(n|0)?n:A,t&&(h=n+h|0,l[_+B1|0]=(h|0)>=0?(o|0)>(h|0)?h:o:0),u&&(n=R-n|0,l[_+1|0]=(n|0)>=0?(n|0)<(o|0)?n:o:0),n=(((J-w<<2)+c0|0)-W2|0)+4>>3,n=(k|0)>(n|0)?k:(A|0)>(n|0)?n:A,t&&(w=n+w|0,l[_+h1|0]=(w|0)>=0?(o|0)>(w|0)?w:o:0),u&&(n=J-n|0,l[_+2|0]=(n|0)>=0?(n|0)<(o|0)?n:o:0),n=(((I-E<<2)+S0|0)-s2|0)+4>>3,A=(k|0)>(n|0)?k:(A|0)>(n|0)?n:A,t&&(k=A+E|0,l[_+A1|0]=(k|0)>=0?(k|0)<(o|0)?k:o:0),!u)break A;k=3,A=I-A|0;break f}if(t=Y0>>n,y){if((t|0)<0|t>>>0>=u>>>0)break r;n=!(s[(a+(z+m(t,3)|0)|0)+1|0]&4)}else n=1;if((t|0)<0|t>>>0>=u>>>0)break r;if(k=0-A|0,u=(((D-v<<2)+n2|0)-x2|0)+4>>3,C=(k|0)>(u|0)?k:(A|0)>(u|0)?u:A,W=s[W|0]|s[W+1|0]<<8,u=_-1|0,t=n&!(s[(a+(z+m(t,3)|0)|0)+1|0]&8),t&&(n=v+C|0,l[u|0]=(n|0)>=0?(n|0)<(o|0)?n:o:0),n=!(W&2048)&(!y|!(W&1024)),n&&(v=D-C|0,l[_|0]=(v|0)>=0?(o|0)>(v|0)?v:o:0),v=(((R-h<<2)+r2|0)-y2|0)+4>>3,v=(k|0)>(v|0)?k:(A|0)>(v|0)?v:A,t&&(h=h+v|0,l[u+Z|0]=(h|0)>=0?(o|0)>(h|0)?h:o:0),n&&(h=R-v|0,l[_+Z|0]=(h|0)>=0?(o|0)>(h|0)?h:o:0),h=(((J-w<<2)+c0|0)-W2|0)+4>>3,h=(k|0)>(h|0)?k:(A|0)>(h|0)?h:A,t&&(w=h+w|0,l[u+d|0]=(w|0)>=0?(o|0)>(w|0)?w:o:0),n&&(w=J-h|0,l[_+d|0]=(w|0)>=0?(o|0)>(w|0)?w:o:0),w=(((I-E<<2)+S0|0)-s2|0)+4>>3,A=(k|0)>(w|0)?k:(A|0)>(w|0)?w:A,t&&(k=A+E|0,l[u+q|0]=(k|0)>=0?(k|0)<(o|0)?k:o:0),!n)break A;k=q,A=I-A|0}l[k+_|0]=(A|0)>=0?(A|0)<(o|0)?A:o:0}if(A=2,t=0,!p)break}if(f0=f0+O2|0,!((I0|0)>(f0|0)))break}if(r=r+T2|0,!((G0|0)>(r|0)))break}}return}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function oh(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;h=B-16|0,B=h,n=(A|0)/8|0,t=i[r>>2],o=i[r+4>>2]-t|0,u=i[k>>2];i:{if(n>>>0>o-u>>>0){if(e=U(40),i[h+4>>2]=e,i[h+8>>2]=39,i[h+12>>2]=-2147483608,r=s[6972]|s[6973]<<8|(s[6974]<<16|s[6975]<<24),A=s[6968]|s[6969]<<8|(s[6970]<<16|s[6971]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+39|0]=0,r=s[7003]|s[7004]<<8|(s[7005]<<16|s[7006]<<24),A=s[6999]|s[7e3]<<8|(s[7001]<<16|s[7002]<<24),l[e+31|0]=A,l[e+32|0]=A>>>8,l[e+33|0]=A>>>16,l[e+34|0]=A>>>24,l[e+35|0]=r,l[e+36|0]=r>>>8,l[e+37|0]=r>>>16,l[e+38|0]=r>>>24,r=s[6996]|s[6997]<<8|(s[6998]<<16|s[6999]<<24),A=s[6992]|s[6993]<<8|(s[6994]<<16|s[6995]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[6988]|s[6989]<<8|(s[6990]<<16|s[6991]<<24),A=s[6984]|s[6985]<<8|(s[6986]<<16|s[6987]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[6980]|s[6981]<<8|(s[6982]<<16|s[6983]<<24),A=s[6976]|s[6977]<<8|(s[6978]<<16|s[6979]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,136,h+4|0),l[h+15|0]>=0)break i;G(i[h+4>>2]);break i}t=t+u|0,w=s[t|0],_=s[t+1|0];r:{if((A|0)==32){_=s[t+3|0]|(_<<16|w<<24|s[t+2|0]<<8),t=4;break r}_=_|w<<8,t=2}if(t=t+u|0,i[k>>2]=t,u=o-t|0,t=q0(n,n>>31,_,0),n=w0<<1|t>>>31,t=t<<1,!n&t>>>0<=u>>>0){r:{if(!_)break r;W=(A|0)!=32;e:{for(;;){A=i[k>>2],n=A+i[r>>2]|0,t=s[n|0],u=s[n+1|0];A:{if(!W){w=s[n+3|0],o=s[n+2|0],n=A+4|0,i[k>>2]=n,n=n+i[r>>2]|0,n=s[n|0]|s[n+1|0]<<8|(s[n+2|0]<<16|s[n+3|0]<<24),n=n<<24|(n&65280)<<8|(n>>>8&65280|n>>>24),u=u<<16|t<<24|o<<8|w,A=A+8|0;break A}n=A+2|0,i[k>>2]=n,u=(u<<16|t<<24)>>16,n=n+i[r>>2]|0,n=(s[n+1|0]<<16|s[n|0]<<24)>>16,A=A+4|0}i[k>>2]=A;A:{A=i[e+12>>2],o=i[e+16>>2];f:{if(A>>>0>>0){i[A>>2]=u,i[A+4>>2]=n,u=A+8|0;break f}if(w=i[e+8>>2],Z=A-w>>3,t=Z+1|0,t>>>0>=536870912)break A;if(o=o-w|0,v=o>>2,v=o>>>0>=2147483640?536870911:t>>>0>>0?v:t,v){if(v>>>0>=536870912)break e;t=U(v<<3)}else t=0;if(o=t+(Z<<3)|0,i[o>>2]=u,i[o+4>>2]=n,u=o+8|0,(A|0)!=(w|0)){for(;A=A-8|0,Z=i[A+4>>2],o=o-8|0,n=o,i[n>>2]=i[A>>2],i[n+4>>2]=Z,(A|0)!=(w|0););w=i[e+8>>2]}if(i[e+16>>2]=t+(v<<3),i[e+12>>2]=u,i[e+8>>2]=o,!w)break f;G(w)}if(i[e+12>>2]=u,p=p+1|0,(p|0)!=(_|0))continue;break r}break}y0(),P()}_2(),P()}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567]);break i}if(e=U(40),i[h+4>>2]=e,i[h+8>>2]=39,i[h+12>>2]=-2147483608,r=s[6972]|s[6973]<<8|(s[6974]<<16|s[6975]<<24),A=s[6968]|s[6969]<<8|(s[6970]<<16|s[6971]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+39|0]=0,r=s[7003]|s[7004]<<8|(s[7005]<<16|s[7006]<<24),A=s[6999]|s[7e3]<<8|(s[7001]<<16|s[7002]<<24),l[e+31|0]=A,l[e+32|0]=A>>>8,l[e+33|0]=A>>>16,l[e+34|0]=A>>>24,l[e+35|0]=r,l[e+36|0]=r>>>8,l[e+37|0]=r>>>16,l[e+38|0]=r>>>24,r=s[6996]|s[6997]<<8|(s[6998]<<16|s[6999]<<24),A=s[6992]|s[6993]<<8|(s[6994]<<16|s[6995]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[6988]|s[6989]<<8|(s[6990]<<16|s[6991]<<24),A=s[6984]|s[6985]<<8|(s[6986]<<16|s[6987]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[6980]|s[6981]<<8|(s[6982]<<16|s[6983]<<24),A=s[6976]|s[6977]<<8|(s[6978]<<16|s[6979]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,136,h+4|0),l[h+15|0]>=0)break i;G(i[h+4>>2])}B=h+16|0}function GA(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0;i:{r:{n=i[f+276>>2],D=(A|0)>(n|0)?n:A;e:{if((D|0)<=(r|0)||(A=i[f+272>>2],z=(A|0)<(k|0)?A:k,(z|0)<=0))break e;for(S=e?16:32,q=e?80:160,d=e?1:2,A0=e?2:1,f0=e-1|0,n0=0-e|0;;){for(I=r<<2,y=f0+I|0,H=I>>2,A=0;;){A:{f:{k:{if(k=A<<2,a=k>>2,_=(a+i[f+260>>2]|0)+m(i[f+272>>2],H)|0,t=s[_|0],t&q){if(n=k+n0|0,e=i[f+168>>2],u=n>>e,(u|0)<0||(o=i[f+172>>2],(o|0)<=(u|0)))break r;if(h=y>>e,(h|0)<0||(w=i[f+176>>2],(w|0)<=(h|0)))break i;if(v=k>>e,(v|0)<0|o>>>0<=v>>>0)break r;if(Z=I>>e,(Z|0)<0|(w|0)<=(Z|0))break i;e=2,w=m(u,3),u=i[f+160>>2],h=(w+u|0)+m(m(o,h),3)|0;n:{if(!((s[h|0]|s[h+1|0]<<8)&768)||(o=(u+m(v,3)|0)+m(m(o,Z),3)|0,!((s[o|0]|s[o+1|0]<<8)&768)))break n;if(t&S){if(o=i[f+248>>2],h=k>>o,(h|0)<0||(u=i[f+252>>2],(u|0)<=(h|0)))break r;if(v=I>>o,(v|0)<0||(Z=i[f+256>>2],(Z|0)<=(v|0)))break i;if(e=1,w=i[f+240>>2],l[(w+h|0)+m(u,v)|0]<0)break n;if(h=n>>o,(h|0)<0|u>>>0<=h>>>0)break r;if(o=y>>o,(o|0)<0|(o|0)>=(Z|0))break i;if(l[(h+w|0)+m(o,u)|0]<0)break n}if(e=i[f+188>>2],h=n>>e,(h|0)<0||(o=i[f+192>>2],(o|0)<=(h|0)))break r;if(v=y>>e,(v|0)<0||(u=i[f+196>>2],(u|0)<=(v|0)))break i;if(Z=k>>e,(Z|0)<0|o>>>0<=Z>>>0)break r;if(w=I>>e,(w|0)<0|(u|0)<=(w|0))break i;if(e=n,n=i[f+148>>2],p=e>>n,(p|0)<0||(u=i[f+152>>2],(u|0)<=(p|0)))break r;if(W=y>>n,(W|0)<0||(E=i[f+156>>2],(E|0)<=(W|0)))break i;if(e=0,C=i[f+52>>2],J=i[f+56>>2]-C>>2,R=m(p,24),p=i[f+140>>2],W=Q[((R+p|0)+m(m(u,W),24)|0)+2>>1],J>>>0>W>>>0&&(e=i[C+(W<<2)>>2]),k=k>>n,(k|0)<0|k>>>0>=u>>>0)break r;if(n=I>>n,(n|0)<0|(n|0)>=(E|0))break i;if(k=Q[((p+m(k,24)|0)+m(m(n,u),24)|0)+2>>1],k>>>0>=J>>>0){e=0;break n}if(!e){e=0;break n}if(p=i[C+(k<<2)>>2],!p){e=0;break n}if(n=i[f+180>>2],k=(n+m(h,12)|0)+m(m(o,v),12)|0,h=l[k+2|0],(h|0)>16||(W=l[k+3|0],(W|0)>16)||(n=(n+m(Z,12)|0)+m(m(o,w),12)|0,w=l[n+2|0],(w|0)>16)||(C=l[n+3|0],(C|0)>16))break f;if(u=-1,t=-1,Z=s[k|0],t=Z?i[((h<<2)+e|0)+924>>2]:t,v=s[k+1|0],u=v?i[((W<<2)+e|0)+988>>2]:u,_=-1,o=-1,h=s[n|0],o=h?i[(p+(w<<2)|0)+924>>2]:o,w=s[n+1|0],_=w?i[(p+(C<<2)|0)+988>>2]:_,!((t|0)==(o|0)&(_|0)==(u|0))&&(e=1,(t|0)!=(_|0)|(o|0)!=(u|0)))break n;e=Q[n+8>>1],p=Q[n+10>>1],W=Q[n+4>>1],n=Q[n+6>>1],C=Q[k+8>>1],E=Q[k+10>>1],J=Q[k+4>>1],R=Q[k+6>>1],(v+Z|0)!=(h+w|0)&&(v2(i[f+112>>2]+4|0,1013,0),l[f+312|0]=3),e=w?e:0,k=w?p:0,w=h?W:0,n=h?n:0,h=v?C:0,v=v?E:0,p=Z?J:0,Z=Z?R:0;t:{if((t|0)!=(u|0)){if(u=p<<16>>16,(t|0)!=(o|0)){if(t=u-(e<<16>>16)|0,e=t>>31,(e^t)-e>>>0>3||(k=(Z<<16>>16)-(k<<16>>16)|0,e=k>>31,(e^k)-e>>>0>3)||(k=(h<<16>>16)-(w<<16>>16)|0,e=k>>31,(e^k)-e>>>0>3)||(e=0,n=(v<<16>>16)-(n<<16>>16)|0,k=n>>31,(k^n)-k>>>0>=4))break t;break n}if(o=u-(w<<16>>16)|0,t=o>>31,(t^o)-t>>>0>3||(t=(Z<<16>>16)-(n<<16>>16)|0,n=t>>31,(n^t)-n>>>0>3)||(n=(h<<16>>16)-(e<<16>>16)|0,e=n>>31,(e^n)-e>>>0>3)||(e=0,n=(v<<16>>16)-(k<<16>>16)|0,k=n>>31,(k^n)-k>>>0>=4))break t;break n}if((o|0)!=(_|0))break k;o=p<<16>>16,u=w<<16>>16,_=o-u|0,t=_>>31;o:{if((t^_)-t>>>0>3||(_=(Z<<16>>16)-(n<<16>>16)|0,t=_>>31,(t^_)-t>>>0>3)||(_=(h<<16>>16)-(e<<16>>16)|0,t=_>>31,(t^_)-t>>>0>3)||(_=(v<<16>>16)-(k<<16>>16)|0,t=_>>31,(t^_)-t>>>0>=4))break o;e=0;break n}if(t=o-(e<<16>>16)|0,e=t>>31,(e^t)-e>>>0>3||(k=(Z<<16>>16)-(k<<16>>16)|0,e=k>>31,(e^k)-e>>>0>3)||(k=(h<<16>>16)-u|0,e=k>>31,(e^k)-e>>>0>3))break t;if(e=0,n=(v<<16>>16)-(n<<16>>16)|0,k=n>>31,(k^n)-k>>>0<4)break n}e=1}k=(i[f+260>>2]+a|0)+m(i[f+272>>2],H)|0,l[k|0]=s[k|0]&252|e;break A}l[_|0]=t&252;break A}C0(16975,14016,355,8358),P()}l[_|0]=t&252}if(A=A+A0|0,!((z|0)>(A|0)))break}if(r=r+d|0,!((D|0)>(r|0)))break}}return}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function lh(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0;o=B-16|0,B=o,i[o+12>>2]=e,i[k>>2]=0,u=i[A+28>>2],i[o>>2]=u,(u|0)!=100008&&(i[u+4>>2]=i[u+4>>2]+1),u=x0(o,100192),O0(o);i:{r:{e:{A:switch(t-65|0){case 0:case 32:mt(f,n+24|0,o+12|0,r,k,u);break r;case 1:case 33:case 39:st(f,n+16|0,o+12|0,r,k,u);break r;case 34:e=V[i[i[f+8>>2]+12>>2]](f+8|0)|0,t=f,h=i[o+12>>2],s[e+11|0]>>>7|0?f=i[e>>2]:f=e,u=f,s[e+11|0]>>>7|0?f=i[e>>2]:f=e,s[e+11|0]>>>7|0?e=i[e+4>>2]:e=s[e+11|0]&127,w=o,_=B8(t,h,r,A,k,n,u,f+e|0),i[w+12>>2]=_;break r;case 35:case 36:f=q4(o+12|0,r,k,u,2),e=i[k>>2];f:{if(!(f-1>>>0>30|e&4)){i[n+12>>2]=f;break f}i[k>>2]=e|4}break r;case 3:i[o>>2]=623865125,i[o+4>>2]=2032480100,w=o,_=B8(f,e,r,A,k,n,o,o+8|0),i[w+12>>2]=_;break r;case 5:i[o>>2]=623728933,i[o+4>>2]=1680158061,w=o,_=B8(f,e,r,A,k,n,o,o+8|0),i[w+12>>2]=_;break r;case 7:f=q4(o+12|0,r,k,u,2),e=i[k>>2];f:{if(!((f|0)>23|e&4)){i[n+8>>2]=f;break f}i[k>>2]=e|4}break r;case 8:f=q4(o+12|0,r,k,u,2),e=i[k>>2];f:{if(!(f-1>>>0>11|e&4)){i[n+8>>2]=f;break f}i[k>>2]=e|4}break r;case 41:f=q4(o+12|0,r,k,u,3),e=i[k>>2];f:{if(!((f|0)>365|e&4)){i[n+28>>2]=f;break f}i[k>>2]=e|4}break r;case 44:e=q4(o+12|0,r,k,u,2)-1|0,f=i[k>>2];f:{if(!(e>>>0>11|f&4)){i[n+16>>2]=e;break f}i[k>>2]=f|4}break r;case 12:f=q4(o+12|0,r,k,u,2),e=i[k>>2];f:{if(!((f|0)>59|e&4)){i[n+4>>2]=f;break f}i[k>>2]=e|4}break r;case 45:case 51:for(f=o+12|0,e=B-16|0,B=e,i[e+12>>2]=r;;){f:{if(J2(f,e+12|0))break f;r=i[f>>2],A=i[r+12>>2];k:{if((A|0)==i[r+16>>2]){r=V[i[i[r>>2]+36>>2]](r)|0;break k}r=s[A|0]}if(r=r<<24>>24,(r|0)>=0?r=i[i[u+8>>2]+(r<<2)>>2]&1:r=0,!r)break f;E1(f);continue}break}J2(f,e+12|0)&&(i[k>>2]=i[k>>2]|2),B=e+16|0;break r;case 47:t=o+12|0,e=V[i[i[f+8>>2]+8>>2]](f+8|0)|0;f:{if(s[e+11|0]>>>7|0){f=i[e+4>>2];break f}f=s[e+11|0]&127}s[e+23|0]>>>7|0?A=i[e+16>>2]:A=s[e+23|0]&127;f:{if((f|0)==(0-A|0)){i[k>>2]=i[k>>2]|4;break f}if(r=Nr(t,r,e,e+24|0,u,k,0),f=i[n+8>>2],!((r|0)!=(e|0)|(f|0)!=12)){i[n+8>>2]=0;break f}(r-e|0)!=12|(f|0)>11||(i[n+8>>2]=f+12)}break r;case 49:t=s[60104]|s[60105]<<8|(s[60106]<<16|s[60107]<<24),l[o+7|0]=t,l[o+8|0]=t>>>8,l[o+9|0]=t>>>16,l[o+10|0]=t>>>24,t=s[60101]|s[60102]<<8|(s[60103]<<16|s[60104]<<24),i[o>>2]=s[60097]|s[60098]<<8|(s[60099]<<16|s[60100]<<24),i[o+4>>2]=t,w=o,_=B8(f,e,r,A,k,n,o,o+11|0),i[w+12>>2]=_;break r;case 17:l[o+4|0]=s[60112],i[o>>2]=s[60108]|s[60109]<<8|(s[60110]<<16|s[60111]<<24),w=o,_=B8(f,e,r,A,k,n,o,o+5|0),i[w+12>>2]=_;break r;case 18:f=q4(o+12|0,r,k,u,2),e=i[k>>2];f:{if(!((f|0)>60|e&4)){i[n>>2]=f;break f}i[k>>2]=e|4}break r;case 19:i[o>>2]=624576549,i[o+4>>2]=1394948685,w=o,_=B8(f,e,r,A,k,n,o,o+8|0),i[w+12>>2]=_;break r;case 54:f=q4(o+12|0,r,k,u,1),e=i[k>>2];f:{if(!((f|0)>6|e&4)){i[n+24>>2]=f;break f}i[k>>2]=e|4}break r;case 55:f=V[i[i[f>>2]+20>>2]](f,e,r,A,k,n)|0;break i;case 23:e=V[i[i[f+8>>2]+24>>2]](f+8|0)|0,t=f,h=i[o+12>>2],s[e+11|0]>>>7|0?f=i[e>>2]:f=e,u=f,s[e+11|0]>>>7|0?f=i[e>>2]:f=e,s[e+11|0]>>>7|0?e=i[e+4>>2]:e=s[e+11|0]&127,w=o,_=B8(t,h,r,A,k,n,u,f+e|0),i[w+12>>2]=_;break r;case 56:Et(n+20|0,o+12|0,r,k,u);break r;case 24:f=q4(o+12|0,r,k,u,4),s[k|0]&4||(i[n+20>>2]=f-1900);break r;default:if((t|0)==37)break e;break;case 2:case 4:case 6:case 9:case 10:case 11:case 13:case 14:case 15:case 16:case 20:case 21:case 22:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 37:case 38:case 40:case 42:case 43:case 46:case 48:case 50:case 52:case 53:break A}i[k>>2]=i[k>>2]|4;break r}f=B-16|0,B=f,i[f+12>>2]=r,r=o+12|0,n=f+12|0,e=6;e:{A:{if(J2(r,n))break A;e=i[r>>2],A=i[e+12>>2];f:{if((A|0)==i[e+16>>2]){A=V[i[i[e>>2]+36>>2]](e)|0;break f}A=s[A|0]}if(e=4,(V[i[i[u>>2]+36>>2]](u,A<<24>>24,0)|0)!=37)break A;if(!J2(E1(r),n))break e;e=2}i[k>>2]=e|i[k>>2]}B=f+16|0}f=i[o+12>>2]}return B=o+16|0,f|0}function uh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0;e=B-32|0,B=e,t=U0(i[r>>2],0),u=U0(i[r>>2],1),h=U0(i[r>>2],2),D=H2(i[r>>2],6),D&&(p=U0(i[r>>2],6));i:{if(!(!(t>>>0<9|u>>>0<9)&h>>>0>8)){i[f>>2]=0,i[f+4>>2]=0;break i}if(!((t|0)==(u|0)&(t|0)==(h|0))){i[f>>2]=0,i[f+4>>2]=0;break i}A=i[r>>2],W=i[A+48>>2],W&&(i[W+4>>2]=i[W+4>>2]+1,A=i[r>>2]),k=i[A+28>>2],o=i[A+24>>2],A=U(136),i[A>>2]=72792,i[A+4>>2]=0,i[A+8>>2]=0,B0(A+20|0,0,104),w=i[A+4>>2],C=w+1|0,i[A+4>>2]=C,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,n=A- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,n=A+12|0,i[A+12>>2]=n,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=w,i[A+16>>2]=A,C||(V[i[i[A>>2]+8>>2]](A),g(A)),i[n+36>>2]=3,i[n+32>>2]=0,i[n+28>>2]=k,i[n+24>>2]=o;r:{e:{if(!J0(n,0,o,k,t)||!J0(n,1,o,k,u)||!J0(n,2,o,k,h)||D&&!J0(n,6,o,k,p))break e;u=0,i[e+28>>2]=0,i[e+24>>2]=0,i[e+20>>2]=0,i[e+16>>2]=0,i[e+12>>2]=0,i[e+8>>2]=0,i[e+4>>2]=0,i[e>>2]=0,z=v0(i[r>>2],0,e+28|0),C=v0(i[r>>2],1,e+24|0),y=v0(i[r>>2],2,e+20|0),H=v0(n,0,e+12|0),E=v0(n,1,e+8|0),J=v0(n,2,e+4|0),t=0,D?(f0=v0(i[r>>2],6,e+16|0),n0=v0(n,6,e),u=i[e>>2]/2|0,r=i[e+16>>2]/2|0):r=0,i[e+16>>2]=r,i[e>>2]=u,i[e+28>>2]=i[e+28>>2]/2,u=i[e+24>>2]/2|0,i[e+24>>2]=u,h=i[e+20>>2]/2|0,i[e+20>>2]=h,i[e+12>>2]=i[e+12>>2]/2,p=i[e+8>>2]/2|0,i[e+8>>2]=p,w=i[e+4>>2]/2|0,i[e+4>>2]=w;A:{if((k|0)<=0)break A;if(r=0,(k|0)!=1)for(_=k&2147483646;X[(m(r,p)<<1)+E>>1]=Q[C+(m(r,u)<<1)>>1],X[(m(r,w)<<1)+J>>1]=Q[(m(r,h)<<1)+y>>1],v=r|1,X[(m(v,p)<<1)+E>>1]=Q[C+(m(u,v)<<1)>>1],X[(m(v,w)<<1)+J>>1]=Q[(m(h,v)<<1)+y>>1],r=r+2|0,t=t+2|0,(_|0)!=(t|0););if(!(k&1))break A;X[(m(r,p)<<1)+E>>1]=Q[C+(m(r,u)<<1)>>1],X[(m(r,w)<<1)+J>>1]=Q[(m(r,h)<<1)+y>>1]}A:{f:{if(o&1)break f;if((k|0)<=0)break A;if(t=(o+y|0)-2|0,v=(o+C|0)-2|0,r=o<<1,_=(r+J|0)-2|0,R=(r+E|0)-2|0,r=0,(k|0)!=1)for(S=k&2147483646;X[R+(m(r,p)<<1)>>1]=Q[v+(m(r,u)<<1)>>1],X[_+(m(r,w)<<1)>>1]=Q[t+(m(r,h)<<1)>>1],I=r|1,X[R+(m(I,p)<<1)>>1]=Q[v+(m(u,I)<<1)>>1],X[_+(m(w,I)<<1)>>1]=Q[t+(m(h,I)<<1)>>1],r=r+2|0,a=a+2|0,(S|0)!=(a|0););if(!(k&1))break f;X[R+(m(r,p)<<1)>>1]=Q[v+(m(r,u)<<1)>>1],X[_+(m(r,w)<<1)>>1]=Q[t+(m(r,h)<<1)>>1]}if((k|0)<=0)break A;if((o|0)>=3){for(R=o-1|0,t=0;;){for(I=(m(t,w)<<1)+J|0,S=(m(t,p)<<1)+E|0,a=(m(t,h)<<1)+y|0,h0=C+(m(t,u)<<1)|0,r=1;Z=r&-2,_=Z+a|0,v=Q[_>>1],_=Q[_+2>>1],q=r<<1,d=S+q|0,Z=Z+h0|0,A0=Q[Z>>1],Z=Q[Z+2>>1],X[d>>1]=(m(A0,3)+Z|0)+2>>>2,X[d+2>>1]=(m(Z,3)+A0|0)+2>>>2,Z=I+q|0,X[Z+2>>1]=(v+m(_,3)|0)+2>>>2,X[Z>>1]=(_+m(v,3)|0)+2>>>2,r=r+2|0,(R|0)>(r|0););if(t=t+1|0,(t|0)==(k|0))break}if((k|0)<=0)break A}if(o=o<<1,D){for(r=0;l0((m(i[e+12>>2],r)<<1)+H|0,(m(i[e+28>>2],r)<<1)+z|0,o),l0((m(i[e>>2],r)<<1)+n0|0,(m(i[e+16>>2],r)<<1)+f0|0,o),r=r+1|0,(k|0)!=(r|0););break A}if(r=0,(k|0)!=1)for(u=k&2147483646,t=0;l0((m(i[e+12>>2],r)<<1)+H|0,(m(i[e+28>>2],r)<<1)+z|0,o),h=r|1,l0((m(h,i[e+12>>2])<<1)+H|0,(m(h,i[e+28>>2])<<1)+z|0,o),r=r+2|0,t=t+2|0,(u|0)!=(t|0););if(!(k&1))break A;l0((m(i[e+12>>2],r)<<1)+H|0,(m(i[e+28>>2],r)<<1)+z|0,o)}i[f+4>>2]=A,i[f>>2]=n;break r}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(!W||(f=i[W+4>>2],i[W+4>>2]=f-1,f))break i;V[i[i[W>>2]+8>>2]](W),g(W)}B=e+32|0}function Wi(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;t=B-48|0,B=t;i:{r:{e:{A:switch(k=i[e>>2],i[k+32>>2]){case 1:break r;case 0:break e;case 2:break A;default:break i}Jr(i[f+48>>2],r,U0(k,0),0,0);break i}Jr(i[f+48>>2],r,U0(k,0),U0(k,1),U0(k,2));break i}if(A=i[k+36>>2],(A|0)==3){Jr(i[f+48>>2],r,U0(k,3),U0(k,4),U0(k,5));break i}if((A&-2)!=10)break i;Jr(i[f+48>>2],r,8,8,8)}i:{if(i[k+72>>2]==i[k+76>>2])break i;n=U(72),i[n+4>>2]=0,i[n+8>>2]=0,i[n>>2]=71744,A=n+16|0,i[A+8>>2]=0,i[A+12>>2]=0,i[A+16>>2]=0,i[A+20>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+32>>2]=0,i[A>>2]=68500,i[n+60>>2]=0,i[n+52>>2]=0,i[n+56>>2]=0,i[A>>2]=69732,i[n+32>>2]=1885434736,i[n+64>>2]=i[k+72>>2],i[n+68>>2]=i[k+76>>2],k=i[f+48>>2],o=i[k+44>>2],k=i[k+48>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),i[t+44>>2]=n,i[t+40>>2]=A,i[n+4>>2]=i[n+4>>2]+1,o=N4(o,t+40|0),A=i[t+44>>2];r:{if(!A||(u=i[A+4>>2],i[A+4>>2]=u-1,u))break r;V[i[i[A>>2]+8>>2]](A),g(A)}r:{if(!k||(A=i[k+4>>2],i[k+4>>2]=A-1,A))break r;V[i[i[k>>2]+8>>2]](k),g(k)}A=i[f+48>>2],k=i[A+52>>2],A=i[A+56>>2];r:{if(A){if(i[A+4>>2]=i[A+4>>2]+1,X[t+38>>1]=o+1,l[t+36|0]=0,i[t+24>>2]=Q[t+36>>1]|Q[t+38>>1]<<16,c1(k,r,t+24|0),k=i[A+4>>2],i[A+4>>2]=k-1,k)break r;V[i[i[A>>2]+8>>2]](A),g(A);break r}l[t+36|0]=0,X[t+38>>1]=o+1,i[t+20>>2]=Q[t+36>>1]|Q[t+38>>1]<<16,c1(k,r,t+20|0)}if(A=i[n+4>>2],i[n+4>>2]=A-1,A)break i;V[i[i[n>>2]+8>>2]](n),g(n)}k=i[e>>2];i:{if(!(Q[k+80>>1]|Q[k+82>>1]))break i;n=U(72),i[n+4>>2]=0,i[n+8>>2]=0,i[n>>2]=71904,A=n+16|0,i[A+8>>2]=0,i[A+12>>2]=0,i[A+16>>2]=0,i[A+20>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+32>>2]=0,i[A>>2]=68500,i[n+60>>2]=0,i[n+52>>2]=0,i[n+56>>2]=0,i[A>>2]=69852,i[n+64>>2]=0,i[n+32>>2]=1668050025,i[n+64>>2]=i[k+80>>2],k=i[f+48>>2],o=i[k+44>>2],k=i[k+48>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),i[t+44>>2]=n,i[t+40>>2]=A,i[n+4>>2]=i[n+4>>2]+1,o=N4(o,t+40|0),A=i[t+44>>2];r:{if(!A||(u=i[A+4>>2],i[A+4>>2]=u-1,u))break r;V[i[i[A>>2]+8>>2]](A),g(A)}r:{if(!k||(A=i[k+4>>2],i[k+4>>2]=A-1,A))break r;V[i[i[k>>2]+8>>2]](k),g(k)}A=i[f+48>>2],k=i[A+52>>2],A=i[A+56>>2];r:{if(A){if(i[A+4>>2]=i[A+4>>2]+1,X[t+34>>1]=o+1,l[t+32|0]=0,i[t+16>>2]=Q[t+32>>1]|Q[t+34>>1]<<16,c1(k,r,t+16|0),k=i[A+4>>2],i[A+4>>2]=k-1,k)break r;V[i[i[A>>2]+8>>2]](A),g(A);break r}l[t+32|0]=0,X[t+34>>1]=o+1,i[t+12>>2]=Q[t+32>>1]|Q[t+34>>1]<<16,c1(k,r,t+12|0)}if(A=i[n+4>>2],i[n+4>>2]=A-1,A)break i;V[i[i[n>>2]+8>>2]](n),g(n)}k=i[e>>2];i:{if(s[k+108|0]!=1)break i;n=U(88),i[n+4>>2]=0,i[n+8>>2]=0,i[n>>2]=71944,A=n+16|0,i[A+16>>2]=0,i[A+20>>2]=0,i[A+8>>2]=0,i[A+12>>2]=0,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+32>>2]=0,i[A+36>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,o=A- -64|0,i[o>>2]=0,i[o+4>>2]=0,i[A+16>>2]=1835295606,i[A>>2]=68524,o=i[k+92>>2],u=i[k+96>>2],h=i[k+84>>2],w=i[k+88>>2],_=i[k+104>>2],i[n+80>>2]=i[k+100>>2],i[n+84>>2]=_,i[n+72>>2]=o,i[n+76>>2]=u,i[n+64>>2]=h,i[n+68>>2]=w,k=i[f+48>>2],o=i[k+44>>2],k=i[k+48>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),i[t+44>>2]=n,i[t+40>>2]=A,i[n+4>>2]=i[n+4>>2]+1,o=N4(o,t+40|0),A=i[t+44>>2];r:{if(!A||(u=i[A+4>>2],i[A+4>>2]=u-1,u))break r;V[i[i[A>>2]+8>>2]](A),g(A)}r:{if(!k||(A=i[k+4>>2],i[k+4>>2]=A-1,A))break r;V[i[i[k>>2]+8>>2]](k),g(k)}f=i[f+48>>2],A=i[f+52>>2],f=i[f+56>>2];r:{if(f){if(i[f+4>>2]=i[f+4>>2]+1,X[t+30>>1]=o+1,l[t+28|0]=0,i[t+8>>2]=Q[t+28>>1]|Q[t+30>>1]<<16,c1(A,r,t+8|0),r=i[f+4>>2],i[f+4>>2]=r-1,r)break r;V[i[i[f>>2]+8>>2]](f),g(f);break r}l[t+28|0]=0,X[t+30>>1]=o+1,i[t+4>>2]=Q[t+28>>1]|Q[t+30>>1]<<16,c1(A,r,t+4|0)}if(f=i[n+4>>2],i[n+4>>2]=f-1,f)break i;V[i[i[n>>2]+8>>2]](n),g(n)}f=i[e+4>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=t+48|0}function sh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0;e=B-32|0,B=e,u=U0(i[r>>2],0),h=U0(i[r>>2],1),v=U0(i[r>>2],2),z=H2(i[r>>2],6),z&&(I=U0(i[r>>2],6));i:{if(!(!(u>>>0<9|h>>>0<9)&v>>>0>8)){i[f>>2]=0,i[f+4>>2]=0;break i}if(!((u|0)==(h|0)&(u|0)==(v|0))){i[f>>2]=0,i[f+4>>2]=0;break i}A=i[r>>2],Z=i[A+48>>2],Z&&(i[Z+4>>2]=i[Z+4>>2]+1,A=i[r>>2]),k=i[A+28>>2],o=i[A+24>>2],A=U(136),i[A>>2]=72792,i[A+4>>2]=0,i[A+8>>2]=0,B0(A+20|0,0,104),t=i[A+4>>2],w=t+1|0,i[A+4>>2]=w,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,n=A- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,n=A+12|0,i[A+12>>2]=n,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=t,i[A+16>>2]=A,w||(V[i[i[A>>2]+8>>2]](A),g(A)),i[n+36>>2]=1,i[n+32>>2]=0,i[n+28>>2]=k,i[n+24>>2]=o,t=(k+1|0)/2|0,p=(o+1|0)/2|0;r:{e:{if(!J0(n,0,o,k,u)||!J0(n,1,p,t,h)||!J0(n,2,p,t,v)||z&&!J0(n,6,o,k,I))break e;if(i[e+28>>2]=0,i[e+24>>2]=0,i[e+20>>2]=0,i[e+16>>2]=0,i[e+12>>2]=0,i[e+8>>2]=0,i[e+4>>2]=0,i[e>>2]=0,H=v0(i[r>>2],0,e+28|0),v=v0(i[r>>2],1,e+24|0),I=v0(i[r>>2],2,e+20|0),a=v0(n,0,e+12|0),S=v0(n,1,e+8|0),q=v0(n,2,e+4|0),z&&(h0=v0(i[r>>2],6,e+16|0),j=v0(n,6,e)),i[e+28>>2]=i[e+28>>2]/2,u=i[e+24>>2]/2|0,i[e+24>>2]=u,h=i[e+20>>2]/2|0,i[e+20>>2]=h,i[e+16>>2]=i[e+16>>2]/2,i[e+12>>2]=i[e+12>>2]/2,E=i[e+8>>2]/2|0,i[e+8>>2]=E,J=i[e+4>>2]/2|0,i[e+4>>2]=J,i[e>>2]=i[e>>2]/2,d=k&1,!(!d|(o|0)<2))for(w=o-1|0,r=k-1|0,y=m(r,h),W=m(r,u),r=t-1|0,R=(m(r,J)<<1)+q|0,D=(m(r,E)<<1)+S|0,r=0;_=v+(r+W<<1)|0,X[r+D>>1]=(Q[_>>1]+Q[_+2>>1]|0)+1>>>1,_=I+(r+y<<1)|0,X[r+R>>1]=(Q[_>>1]+Q[_+2>>1]|0)+1>>>1,r=r+2|0,(w|0)>(r|0););w=k-1|0;A:{if(!(o&1))break A;if((k|0)>=2)for(r=p<<1,R=(r+q|0)-2|0,W=o<<1,y=(W+I|0)-2|0,D=(r+S|0)-2|0,W=(v+W|0)-2|0,r=0;_=r>>>1|0,C=r|1,X[D+(m(_,E)<<1)>>1]=(Q[W+(m(r,u)<<1)>>1]+Q[W+(m(C,u)<<1)>>1]|0)+1>>>1,X[R+(m(_,J)<<1)>>1]=(Q[y+(m(r,h)<<1)>>1]+Q[y+(m(h,C)<<1)>>1]|0)+1>>>1,r=r+2|0,(w|0)>(r|0););if(!d)break A;r=t-1|0,t=p<<1,p=o<<1,X[(((m(r,E)<<1)+S|0)+t|0)-2>>1]=Q[(p+(v+(m(u,w)<<1)|0)|0)-2>>1],X[(t+((m(r,J)<<1)+q|0)|0)-2>>1]=Q[(p+(I+(m(h,w)<<1)|0)|0)-2>>1]}A:{f:{if((k|0)>=2){if((o|0)<2)break f;for(p=o-1|0,t=0;;){for(y=m(t,h),W=m(t,u),r=t>>>1|0,d=(m(r,J)<<1)+q|0,R=(m(r,E)<<1)+S|0,r=t|1,D=I+(m(r,h)<<1)|0,_=v+(m(r,u)<<1)|0,r=0;C=r<<1,A0=C+D|0,L=Q[A0+2>>1],A0=Q[A0>>1],f0=I+(r+y<<1)|0,p0=Q[f0>>1],f0=Q[f0+2>>1],C=_+C|0,n0=v+(r+W<<1)|0,X[r+R>>1]=((Q[C>>1]+(Q[n0>>1]+Q[n0+2>>1]|0)|0)+Q[C+2>>1]|0)+2>>>2,X[r+d>>1]=((A0+(f0+p0|0)|0)+L|0)+2>>>2,r=r+2|0,(p|0)>(r|0););if(t=t+2|0,!((w|0)>(t|0)))break}}if((k|0)<=0)break A}if(o=o<<1,z){for(r=0;l0((m(i[e+12>>2],r)<<1)+a|0,(m(i[e+28>>2],r)<<1)+H|0,o),l0((m(i[e>>2],r)<<1)+j|0,(m(i[e+16>>2],r)<<1)+h0|0,o),r=r+1|0,(k|0)!=(r|0););break A}u=k&1;f:{if(!w){r=0;break f}for(h=k&-2,r=0,k=0;l0((m(i[e+12>>2],r)<<1)+a|0,(m(i[e+28>>2],r)<<1)+H|0,o),t=r|1,l0((m(t,i[e+12>>2])<<1)+a|0,(m(t,i[e+28>>2])<<1)+H|0,o),r=r+2|0,k=k+2|0,(h|0)!=(k|0););}if(!u)break A;l0((m(i[e+12>>2],r)<<1)+a|0,(m(i[e+28>>2],r)<<1)+H|0,o)}i[f+4>>2]=A,i[f>>2]=n;break r}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(!Z||(f=i[Z+4>>2],i[Z+4>>2]=f-1,f))break i;V[i[i[Z>>2]+8>>2]](Z),g(Z)}B=e+32|0}function Jk(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0;if(k=i[f+124>>2],_=i[k+16876>>2],r=i[k+16872>>2],Z=e<<_>>r,v=i[k+16896>>2],e=e+1<<_>>r,y=(e|0)>(v|0)?v:e,(Z|0)>=(y|0))return 0;i:{r:{if(i[k+16888>>2]>0)for(E=-1<<_^-1,J=i[k+16892>>2],R=i[k+16880>>2],W=i[f+132>>2];;){if(i[k+16888>>2]>0)for(e=0,h=m(Z,R),r=(h|0)!=0,d=r&!(h&E),D=m(h>>_,J),v=r<<5,z=h-1|0,A0=m(z>>_,J)<<2;;){r=(i[f+160>>2]+m(m(i[f+172>>2],Z),3)|0)+m(e,3)|0,o=(s[r|0]|s[r+1|0]<<8)&7;e:{if(!o)break e;if(n=m(e,R),u=i[f+148>>2],r=n>>u,(r|0)<0||(w=i[f+152>>2],(w|0)<=(r|0)))break r;if(A=h>>u,(A|0)<0||(H=i[f+156>>2],(A|0)>=(H|0)))break i;if(C=i[f+52>>2],I=i[f+56>>2]-C>>2,p=i[f+140>>2],a=p+m(r,24)|0,S=m(m(A,w),24),r=Q[(a+S|0)+2>>1],I>>>0<=r>>>0)return 0;q=n>>_,t=i[C+(r<<2)>>2],A=((n|0)!=0)<<4,r=A;A:{if(!n||(r=A,n&E))break A;f:{if(s[t+772|0])break f;if(r=n-1>>u,(r|0)<0|r>>>0>=w>>>0)break r;if(p=Q[((m(r,24)+p|0)+S|0)+2>>1],p>>>0>=I>>>0)break f;if(r=0,i[t+808>>2]!=i[i[C+(p<<2)>>2]+808>>2])break A}if(r=A,s[W+57|0])break A;A=D<<2,r=i[W+8484>>2],r=(i[A+(r+(q<<2)|0)>>2]==i[A+(r+(n-1>>_<<2)|0)>>2])<<4}A=r,r=v;A:{if(!d)break A;f:{if(s[t+772|0])break f;if(r=z>>u,(r|0)<0|(r|0)>=(H|0))break i;if(u=Q[(m(m(r,w),24)+a|0)+2>>1],u>>>0>=I>>>0)break f;if(r=0,i[t+808>>2]!=i[i[C+(u<<2)>>2]+808>>2])break A}if(r=v,s[W+57|0])break A;r=i[W+8484>>2]+(q<<2)|0,r=(i[r+(D<<2)>>2]==i[r+A0>>2])<<5}if(s[t+762|0])break e;if(ri(f,n,h,o,0,A,r),r=i[f+168>>2],t=n>>r,(t|0)<0||(w=i[f+172>>2],(w|0)<=(t|0)))break r;if(u=h>>r,(u|0)<0|(u|0)>=i[f+176>>2])break i;r=1<>2]+m(t,3)|0)+m(m(u,w),3)|0,((s[t|0]|s[t+1|0]<<8)>>>3&7)-1|0){case 2:break f;case 1:break k;case 0:break n;case 5:break t;case 6:break o;case 3:break u;case 4:break l;default:break A}for(t=(r|0)<=1?1:r,A=(k+(A+h|0)|0)/4|0,r=0;k=(r+n|0)/4|0,o=i[f+272>>2],(k|0)>=(o|0)|(A|0)>=i[f+276>>2]||(k=(k+i[f+260>>2]|0)+m(A,o)|0,l[k|0]=s[k|0]|128),r=r+1|0,(t|0)!=(r|0););break A}for(t=(r|0)<=1?1:r,A=(k+h|0)/4|0,r=0;k=(r+n|0)/4|0,o=i[f+272>>2],(k|0)>=(o|0)|(A|0)>=i[f+276>>2]||(k=(k+i[f+260>>2]|0)+m(A,o)|0,l[k|0]=s[k|0]|128),r=r+1|0,(t|0)!=(r|0););break A}for(t=(r|0)<=1?1:r,A=(k+(A+n|0)|0)/4|0,r=0;k=i[f+272>>2],n=(r+h|0)/4|0,(k|0)<=(A|0)|(n|0)>=i[f+276>>2]||(n=(A+i[f+260>>2]|0)+m(k,n)|0,l[n|0]=s[n|0]|64),r=r+1|0,(t|0)!=(r|0););break A}for(t=(r|0)<=1?1:r,A=(k+n|0)/4|0,r=0;k=i[f+272>>2],n=(r+h|0)/4|0,(k|0)<=(A|0)|(n|0)>=i[f+276>>2]||(n=(A+i[f+260>>2]|0)+m(k,n)|0,l[n|0]=s[n|0]|64),r=r+1|0,(t|0)!=(r|0););break A}for(k=(r|0)<=1?1:r,A=(A+h|0)/4|0,r=0;t=(r+n|0)/4|0,o=i[f+272>>2],(t|0)>=(o|0)|(A|0)>=i[f+276>>2]||(t=(t+i[f+260>>2]|0)+m(A,o)|0,l[t|0]=s[t|0]|128),r=r+1|0,(k|0)!=(r|0););break A}for(k=(r|0)<=1?1:r,A=(A+n|0)/4|0,r=0;t=i[f+272>>2],n=(r+h|0)/4|0,(t|0)<=(A|0)|(n|0)>=i[f+276>>2]||(n=(A+i[f+260>>2]|0)+m(n,t)|0,l[n|0]=s[n|0]|64),r=r+1|0,(k|0)!=(r|0););break A}for(w=(r|0)<=1?1:r,t=(A+h|0)/4|0,o=(A+n|0)/4|0,r=0;A=i[f+276>>2],u=(r+h|0)/4|0,k=i[f+272>>2],(A|0)<=(u|0)|(o|0)>=(k|0)||(A=(o+i[f+260>>2]|0)+m(k,u)|0,l[A|0]=s[A|0]|64,k=i[f+272>>2],A=i[f+276>>2]),u=(r+n|0)/4|0,(A|0)<=(t|0)|(u|0)>=(k|0)||(A=(u+i[f+260>>2]|0)+m(k,t)|0,l[A|0]=s[A|0]|128),r=r+1|0,(w|0)!=(r|0););}k=i[f+124>>2],f0=1}if(e=e+1|0,!((e|0)>2]))break}if(Z=Z+1|0,(y|0)==(Z|0))break}return f0}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function gk(){var f=0,e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;s[79116]||(l[79116]=1),e=i[19772],i[19772]=e+1;i:{if((e|0)>0||(_k(),Zk()))break i;return i[19772]=i[19772]-1,0}f=U(3224),i[f+168>>2]=0,i[f+84>>2]=0,i[f>>2]=43512,i[f+384>>2]=876,i[f+376>>2]=877,i[f+360>>2]=878,i[f+356>>2]=879,i[f+352>>2]=880,i[f+348>>2]=881,i[f+344>>2]=882,i[f+340>>2]=883,i[f+336>>2]=884,i[f+332>>2]=885,i[f+328>>2]=886,i[f+324>>2]=887,i[f+320>>2]=888,i[f+316>>2]=889,i[f+312>>2]=890,i[f+308>>2]=891,i[f+304>>2]=892,i[f+300>>2]=893,i[f+296>>2]=894,i[f+292>>2]=894,i[f+288>>2]=894,i[f+284>>2]=895,i[f+280>>2]=896,i[f+276>>2]=897,i[f+272>>2]=898,i[f+268>>2]=899,i[f+264>>2]=900,i[f+260>>2]=901,i[f+256>>2]=902,i[f+252>>2]=903,i[f+248>>2]=904,i[f+244>>2]=905,i[f+240>>2]=906,i[f+236>>2]=907,i[f+232>>2]=908,i[f+228>>2]=909,i[f+224>>2]=910,i[f+220>>2]=911,i[f+216>>2]=912,i[f+212>>2]=912,i[f+208>>2]=912,i[f+204>>2]=913,i[f+200>>2]=914,i[f+196>>2]=915,i[f+192>>2]=916,i[f+188>>2]=917,i[f+184>>2]=918,i[f+180>>2]=919,i[f+176>>2]=920,i[f+172>>2]=921,i[f+372>>2]=922,i[f+380>>2]=923,i[f+364>>2]=924,i[f+368>>2]=925,i[f+388>>2]=926,i[f+392>>2]=927,i[f+396>>2]=928,i[f+400>>2]=929,i[f+404>>2]=930,i[f+408>>2]=931,i[f+412>>2]=932,i[f+416>>2]=933,i[f+420>>2]=934,i[f+424>>2]=935,i[f+428>>2]=936,i[f+432>>2]=937,i[f+456>>2]=938,i[f+460>>2]=939,i[f+468>>2]=940,i[f+472>>2]=941,i[f+464>>2]=942,i[f+508>>2]=943,i[f+504>>2]=944,i[f+500>>2]=945,i[f+496>>2]=946,i[f+492>>2]=947,i[f+488>>2]=948,i[f+484>>2]=949,i[f+480>>2]=950,i[f+476>>2]=951,i[f+452>>2]=952,i[f+448>>2]=953,i[f+444>>2]=954,i[f+440>>2]=955,i[f+436>>2]=956,i[f>>2]=43536,i[f+552>>2]=0,i[f+556>>2]=0,X[f+548>>1]=0,i[f+560>>2]=0,i[f+564>>2]=0,i[f+568>>2]=0,i[f+572>>2]=0,i[f+576>>2]=0,i[f+580>>2]=0,i[f+584>>2]=0,i[f+588>>2]=0,i[f+592>>2]=0,i[f+596>>2]=0,e=f+1412|0,i[e>>2]=0,i[e+4>>2]=0,e=f+1404|0,i[e>>2]=0,i[e+4>>2]=0,i[f+1396>>2]=0,i[f+1400>>2]=0,B0(f+600|0,0,792),e=f+2140|0,i[e+8>>2]=0,i[e+12>>2]=0,i[e>>2]=30,i[e+4>>2]=30,i[e+48>>2]=0,i[e+52>>2]=0,i[e+40>>2]=0,i[e+44>>2]=0,i[e+32>>2]=0,i[e+36>>2]=0,i[e+24>>2]=0,i[e+28>>2]=0,i[e+16>>2]=0,i[e+20>>2]=0,i[f+3216>>2]=0,i[f+3208>>2]=0,i[f+3212>>2]=0,X[f+532>>1]=0,l[f+514|0]=0,X[f+512>>1]=256,i[f+516>>2]=-1,i[f+520>>2]=-1,i[f+524>>2]=-1,i[f+528>>2]=-1,e=i[19404],r=i[19403],i[f+1368>>2]=0,i[f+544>>2]=0,i[f+536>>2]=r,i[f+540>>2]=e,e=i[f+1372>>2],i[f+1372>>2]=0;i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+1380>>2],i[f+1376>>2]=0,i[f+1380>>2]=0;i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+1388>>2],i[f+1384>>2]=0,i[f+1388>>2]=0;i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}i[f+1892>>2]=100,i[f+1896>>2]=6,i[f+1884>>2]=0,i[f+1888>>2]=6,i[f+1900>>2]=100,i[f+1904>>2]=6,e=i[f+1376>>2];i:{r:{e:{if(e){e=l[e+2|0];break e}if(r=i[f+1368>>2],e=6,!r)break r;e=i[r+8>>2]}if((e|0)<=0)break i;e=e-1|0}for(_=f+2112|0,u=f+1908|0,h=e+1|0;;){r=m(e,100),n=(r+100|0)/(h|0)|0,A=(r|0)/(h|0)|0;r:{if((n|0)<(A|0)){r=e;break r}t=i[f+1888>>2];e:{if(A+n&1){r=e,e=A;break e}r=(A<<1)+u|0,l[r+1|0]=(e|0)>(t|0)?100:0,k=r,r=(e|0)<(t|0)?e:t,l[k|0]=r,e=A+1|0}if(k=e,(A|0)==(n|0))break r;for(w=n-A|0,e=r;o=(k<<1)+u|0,r=(e|0)<(t|0)?e:t,l[o|0]=r,l[o+1|0]=(e|0)>(t|0)?100:(m(k-A|0,100)|0)/(w|0)|0,o=k+1|0,e=(o<<1)+u|0,l[e+1|0]=(m(o-A|0,100)|0)/(w|0),l[e|0]=r,k=k+2|0,e=r,(n|0)!=(o|0););}if(i[(r<<2)+_>>2]=n,e=r-1|0,!((r|0)>0))break}}return i[f+2200>>2]=0,i[f+2204>>2]=0,i[f+2196>>2]=-1,e=f+2216|0,i[e>>2]=0,i[e+4>>2]=0,e=f+2208|0,i[e>>2]=0,i[e+4>>2]=0,l[f+2200|0]=1,f|0}function hh(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;for(n=B-48|0,B=n,Z=e,p=B2(r),l[Z+48|0]=p,o=B2(r),l[e+51|0]=o&31,l[e+49|0]=o>>>6,l[e+50|0]=o>>>5&1,Z=e,p=D0(r),i[Z+52>>2]=p,h=e+56|0;o=B2(r),u=h+(A&-4)|0,k=i[u>>2],t=A<<3,k=(Z=k|1<>24<0,W?Z:p),w=u,u=2<>2]=o&1?k|t:k&(t^-1),A=A+1|0,(A|0)!=6;);Z=e,p=B2(r),l[Z+64|0]=p,Z=e,p=t2(r)&4095,X[Z+66>>1]=p,Z=e,p=B2(r)&3,l[Z+68|0]=p,Z=e,p=B2(r)&3,l[Z+69|0]=p,Z=e,p=B2(r)&7|8,l[Z+70|0]=p,Z=e,p=B2(r)&7|8,l[Z+71|0]=p,Z=e,p=t2(r),X[Z+72>>1]=p,o=B2(r),l[e+74|0]=o>>>6,l[e+80|0]=(o&3)+1,l[e+76|0]=o>>>2&1,l[e+75|0]=o>>>3&7,w=B2(r);i:{r:{if(!w)break r;for(_=e+84|0,v=n+36|0,h=0;;){if(s[r+20|0])break r;A=B2(r),o=0,i[n+44>>2]=0,i[n+36>>2]=0,i[n+40>>2]=0,l[n+33|0]=A&63,l[n+32|0]=A>>>6&1,u=t2(r);e:{A:{if(!u)break A;for(;;){if(s[r+20|0])break A;i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,k=t2(r),t=13;f:{if(!k)break f;k:{if(!T4(r,k))break k;t=i[n+20>>2],A=i[n+24>>2]-t|0;n:{if(A>>>0>>0){L2(n+20|0,k-A|0);break n}if(A>>>0<=k>>>0)break n;i[n+24>>2]=t+k}t=i[r>>2],A=i[r+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),t=V[i[i[t>>2]+16>>2]](t,i[n+20>>2],k)|0;n:{if(!A||(k=i[A+4>>2],i[A+4>>2]=k-1,k))break n;V[i[i[A>>2]+8>>2]](A),g(A)}if(t)break k;A=U(32),i[n+8>>2]=A,i[n+12>>2]=28,i[n+16>>2]=-2147483616,t=s[2134]|s[2135]<<8|(s[2136]<<16|s[2137]<<24),k=s[2130]|s[2131]<<8|(s[2132]<<16|s[2133]<<24),l[A|0]=k,l[A+1|0]=k>>>8,l[A+2|0]=k>>>16,l[A+3|0]=k>>>24,l[A+4|0]=t,l[A+5|0]=t>>>8,l[A+6|0]=t>>>16,l[A+7|0]=t>>>24,l[A+28|0]=0,t=s[2154]|s[2155]<<8|(s[2156]<<16|s[2157]<<24),l[A+24|0]=t,l[A+25|0]=t>>>8,l[A+26|0]=t>>>16,l[A+27|0]=t>>>24,t=s[2150]|s[2151]<<8|(s[2152]<<16|s[2153]<<24),k=s[2146]|s[2147]<<8|(s[2148]<<16|s[2149]<<24),l[A+16|0]=k,l[A+17|0]=k>>>8,l[A+18|0]=k>>>16,l[A+19|0]=k>>>24,l[A+20|0]=t,l[A+21|0]=t>>>8,l[A+22|0]=t>>>16,l[A+23|0]=t>>>24,t=s[2142]|s[2143]<<8|(s[2144]<<16|s[2145]<<24),k=s[2138]|s[2139]<<8|(s[2140]<<16|s[2141]<<24),l[A+8|0]=k,l[A+9|0]=k>>>8,l[A+10|0]=k>>>16,l[A+11|0]=k>>>24,l[A+12|0]=t,l[A+13|0]=t>>>8,l[A+14|0]=t>>>16,l[A+15|0]=t>>>24,r0(f,2,100,n+8|0),l[n+19|0]<0&&G(i[n+8>>2]),t=1;break f}A=i[n+40>>2];k:{if(A>>>0>2]){i[A+8>>2]=0,i[A>>2]=0,i[A+4>>2]=0,i[A>>2]=i[n+20>>2],i[A+4>>2]=i[n+24>>2],i[A+8>>2]=i[n+28>>2],i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,A=A+12|0;break k}A=NA(v,n+20|0)}i[n+40>>2]=A,t=0}if(A=i[n+20>>2],A&&(i[n+24>>2]=A,G(A)),(t|0)!=13&&t)break e;if(o=o+1|0,(u|0)==(o|0))break}}o=i[e+88>>2];A:{if(o>>>0>2]){A=Q[n+32>>1],i[o+12>>2]=0,i[o+4>>2]=0,i[o+8>>2]=0,X[o>>1]=A,i[o+4>>2]=i[n+36>>2],i[o+8>>2]=i[n+40>>2],i[o+12>>2]=i[n+44>>2],i[n+44>>2]=0,i[n+36>>2]=0,i[n+40>>2]=0,A=o+16|0;break A}A=Fn(_,n+32|0)}i[e+88>>2]=A,t=0}if(k=i[n+36>>2],k){if(o=i[n+40>>2],A=k,(o|0)!=(A|0)){for(;A=o-12|0,u=i[A>>2],u&&(i[o-8>>2]=u,G(u)),o=A,(k|0)!=(A|0););A=i[n+36>>2]}i[n+40>>2]=k,G(A)}if(t)break i;if(h=h+1|0,(w|0)==(h|0))break}}if(o=i[r+16>>2],o&&(e=i[r+8>>2],e&&($t(e,o),o=i[r+16>>2]),e=i[r>>2],t=V[i[i[e>>2]+8>>2]](e)|0,A=w0,k=o,o=t+o|0,A=k>>>0>o>>>0?A+1|0:A,V[i[i[e>>2]+20>>2]](e,o,A)|0,i[r+16>>2]=0),s[r+20|0]==1){if(l[n+32|0]=0,l[n+43|0]=0,r0(f,2,100,n+32|0),l[n+43|0]>=0)break i;G(i[n+32>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=n+48|0}function Nk(){var f=0,e=0;k4(6453,1,73724,37195,486,487,0),k4(5831,1,73736,37198,488,489,0),k4(13664,1,73740,37195,490,491,0),k4(11268,2,73768,37232,492,493,0),k4(1382,3,73776,37249,494,495,0),k4(9544,2,73796,37277,496,497,0),k4(4407,2,73812,37277,498,499,0),k4(4852,2,73820,37300,500,501,0),k4(10179,3,73836,37304,502,503,0),k4(10138,2,73820,37300,500,504,0),k4(16698,4,73872,37382,505,506,0),k4(9355,2,73952,37232,507,508,0),k4(8403,2,73976,37277,509,510,0),k4(3270,2,73976,37277,509,511,0),k4(10542,2,73976,37277,509,512,0),k4(9381,2,73984,37232,513,514,0),s8(74008,11337,4,0),V0(74008,8139,0),V0(74008,2806,1),V0(74008,2637,2),V0(74008,5151,11),V0(74008,9567,3),V0(74008,9493,4),V0(74008,5194,5),V0(74008,4991,6),V0(74008,5058,7),V0(74008,5026,8),V0(74008,5090,9),V0(74008,2838,10),s8(74016,11318,4,0),V0(74016,13003,0),V0(74016,14213,5e3),V0(74016,4944,1001),V0(74016,14371,150),V0(74016,6233,5001),V0(74016,8673,5002),V0(74016,6088,5003),V0(74016,3901,5004),V0(74016,14313,100),V0(74016,8827,101),V0(74016,1587,102),V0(74016,1509,103),V0(74016,1826,104),V0(74016,1535,105),V0(74016,1904,106),V0(74016,1878,141),V0(74016,1665,107),V0(74016,1639,108),V0(74016,1852,109),V0(74016,1800,110),V0(74016,1722,111),V0(74016,1613,112),V0(74016,1748,113),V0(74016,5588,114),V0(74016,1104,115),V0(74016,7226,116),V0(74016,14286,117),V0(74016,14339,118),V0(74016,4451,119),V0(74016,1930,131),V0(74016,9400,120),V0(74016,14178,121),V0(74016,4757,122),V0(74016,13153,6001),V0(74016,5116,6e3),V0(74016,12920,123),V0(74016,1339,6002),V0(74016,12858,6003),V0(74016,7185,124),V0(74016,1774,125),V0(74016,13029,1e3),V0(74016,9599,126),V0(74016,3410,127),V0(74016,5855,128),V0(74016,8858,129),V0(74016,13262,2e3),V0(74016,3068,2001),V0(74016,13304,2002),V0(74016,6511,2003),V0(74016,6470,2004),V0(74016,5500,2005),V0(74016,9109,2006),V0(74016,1190,2007),V0(74016,10230,2008),V0(74016,1691,130),V0(74016,14252,136),V0(74016,13804,3e3),V0(74016,9640,3001),V0(74016,6552,3002),V0(74016,11643,3006),V0(74016,6381,3003),V0(74016,11540,3004),V0(74016,11591,3005),V0(74016,8184,4e3),V0(74016,8220,132),V0(74016,4319,133),V0(74016,4667,134),V0(74016,3640,135),V0(74016,1159,137),V0(74016,12667,138),V0(74016,12619,139),V0(74016,7421,140),V0(74016,1561,142),s8(74024,3386,4,0),V0(74024,12715,0),V0(74024,15460,1),V0(74024,15482,2),V0(74024,15138,3),V0(74024,16954,4),V0(74024,15418,5),V0(74024,15439,6),V0(74024,17240,7),V0(74024,12577,8),V0(74024,7812,9),V0(74024,15078,10),s8(73896,14597,4,0),V0(73896,12768,99),V0(73896,9957,0),V0(73896,17209,1),V0(73896,16819,2),V0(73896,16645,3),V0(73896,15580,10),V0(73896,15608,11),V0(73896,15266,12),V0(73896,15300,13),V0(73896,15196,14),V0(73896,15230,15),V0(73896,3210,10),V0(73896,3240,11),s8(74032,7150,4,0),V0(74032,10509,2),V0(74032,5431,1),V0(74032,2514,3),s8(74040,7117,4,0),V0(74040,5998,2),V0(74040,5391,1),s8(73888,11504,4,0),V0(73888,12742,99),V0(73888,6050,0),V0(73888,15560,1),V0(73888,9930,2),s8(73928,7696,4,0),V0(73928,14800,0),V0(73928,6072,2),V0(73928,14107,1),V0(73928,14954,3),V0(73928,15118,4),V0(73928,15512,5),V0(73928,14663,6),V0(73928,11869,10),s8(73804,3147,4,0),V0(73804,6139,0),V0(73804,11924,1),V0(73804,11894,2),V0(73804,11520,3),lA(73744,73752,74048,0,37195,515,37684,0,37684,0,2557,37686,516),lA(73848,73856,73960,0,37195,517,37684,0,37684,0,10212,37686,518),lA(73904,73912,73992,0,37195,519,37684,0,37684,0,10603,37686,520),ws(73788,5183,37689,521,37686,522),f=U(4),i[f>>2]=0,e=U(4),i[e>>2]=0,oA(73788,11348,74008,37277,523,f|0,74008,37691,524,e|0),f=U(4),i[f>>2]=4,e=U(4),i[e>>2]=4,oA(73788,11310,74016,37277,525,f|0,74016,37691,526,e|0),f=U(4),i[f>>2]=527,e=U(4),i[e>>2]=528,oA(73788,10501,73728,37300,529,f|0,73728,37696,530,e|0),hs(73788)}function wh(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;t=X[e+8>>1],_=B-32|0,o=X[e+16>>1],w=X[e>>1],n=X[e+24>>1],k=((m(o,-74)+m(w,74)|0)+m(n,74)|0)- -64>>7,k=(k|0)>=32767?32767:k,X[_+16>>1]=(k|0)<=-32768?-32768:k,k=(((m(t,-74)+m(w,84)|0)+m(o,55)|0)+m(n,-29)|0)- -64>>7,k=(k|0)>=32767?32767:k,X[_+24>>1]=(k|0)<=-32768?-32768:k,t=m(t,74),k=(((t+m(w,55)|0)+m(o,-29)|0)+m(n,-84)|0)- -64>>7,k=(k|0)>=32767?32767:k,X[_+8>>1]=(k|0)<=-32768?-32768:k,o=(((t+m(w,29)|0)+m(o,84)|0)+m(n,55)|0)- -64>>7,o=(o|0)>=32767?32767:o,X[_>>1]=(o|0)<=-32768?-32768:o,t=X[e+10>>1],o=X[e+18>>1],w=X[e+2>>1],n=X[e+26>>1],k=((m(o,-74)+m(w,74)|0)+m(n,74)|0)- -64>>7,k=(k|0)>=32767?32767:k,X[_+18>>1]=(k|0)<=-32768?-32768:k,k=(((m(t,-74)+m(w,84)|0)+m(o,55)|0)+m(n,-29)|0)- -64>>7,k=(k|0)>=32767?32767:k,X[_+26>>1]=(k|0)<=-32768?-32768:k,t=m(t,74),k=(((t+m(w,55)|0)+m(o,-29)|0)+m(n,-84)|0)- -64>>7,k=(k|0)>=32767?32767:k,X[_+10>>1]=(k|0)<=-32768?-32768:k,o=(((t+m(w,29)|0)+m(o,84)|0)+m(n,55)|0)- -64>>7,o=(o|0)>=32767?32767:o,X[_+2>>1]=(o|0)<=-32768?-32768:o,t=X[e+12>>1],o=X[e+20>>1],w=X[e+4>>1],n=X[e+28>>1],k=((m(o,-74)+m(w,74)|0)+m(n,74)|0)- -64>>7,k=(k|0)>=32767?32767:k,X[_+20>>1]=(k|0)<=-32768?-32768:k,k=(((m(t,-74)+m(w,84)|0)+m(o,55)|0)+m(n,-29)|0)- -64>>7,k=(k|0)>=32767?32767:k,X[_+28>>1]=(k|0)<=-32768?-32768:k,t=m(t,74),k=(((t+m(w,55)|0)+m(o,-29)|0)+m(n,-84)|0)- -64>>7,k=(k|0)>=32767?32767:k,X[_+12>>1]=(k|0)<=-32768?-32768:k,o=(((t+m(w,29)|0)+m(o,84)|0)+m(n,55)|0)- -64>>7,o=(o|0)>=32767?32767:o,X[_+4>>1]=(o|0)<=-32768?-32768:o,n=X[e+14>>1],o=X[e+22>>1],w=X[e+6>>1],e=X[e+30>>1],t=((m(o,-74)+m(w,74)|0)+m(e,74)|0)- -64>>7,t=(t|0)>=32767?32767:t,X[_+22>>1]=(t|0)<=-32768?-32768:t,t=(((m(n,-74)+m(w,84)|0)+m(o,55)|0)+m(e,-29)|0)- -64>>7,t=(t|0)>=32767?32767:t,X[_+30>>1]=(t|0)<=-32768?-32768:t,n=m(n,74),t=(((n+m(w,55)|0)+m(o,-29)|0)+m(e,-84)|0)- -64>>7,t=(t|0)>=32767?32767:t,X[_+14>>1]=(t|0)<=-32768?-32768:t,e=(((n+m(w,29)|0)+m(o,84)|0)+m(e,55)|0)- -64>>7,e=(e|0)>=32767?32767:e,X[_+6>>1]=(e|0)<=-32768?-32768:e,o=20-A|0,e=-1<>1],n=(m(r,A)<<1)+f|0,k=X[t+4>>1],Z=X[t>>1],t=X[t+6>>1],h=w+((m(k,-74)+m(Z,74)|0)+m(t,74)|0)>>o,h=(h|0)>=32767?32767:h,h=Q[n+4>>1]+((h|0)<=-32768?-32768:h)|0,X[n+4>>1]=(h|0)>=0?(e|0)>(h|0)?h:e:0,v=m(u,74),h=w+(((v+m(Z,29)|0)+m(k,84)|0)+m(t,55)|0)>>o,h=(h|0)>=32767?32767:h,h=Q[n>>1]+((h|0)<=-32768?-32768:h)|0,X[n>>1]=(h|0)>=0?(e|0)>(h|0)?h:e:0,h=w+(((v+m(Z,55)|0)+m(k,-29)|0)+m(t,-84)|0)>>o,h=(h|0)>=32767?32767:h,h=Q[n+2>>1]+((h|0)<=-32768?-32768:h)|0,X[n+2>>1]=(h|0)>=0?(e|0)>(h|0)?h:e:0,v=n,h=Q[n+6>>1],n=w+(((m(u,-74)+m(Z,84)|0)+m(k,55)|0)+m(t,-29)|0)>>o,n=(n|0)>=32767?32767:n,n=h+((n|0)<=-32768?-32768:n)|0,X[v+6>>1]=(n|0)>=0?(e|0)>(n|0)?n:e:0,A=A+1|0,(A|0)!=4;);break i}for(k=Q[f+4>>1],A=0;t=(A<<3)+_|0,h=X[t+2>>1],n=(m(r,A)<<1)+f|0,v=k&65535,k=X[t+4>>1],Z=X[t>>1],t=X[t+6>>1],u=w+((m(k,-74)+m(Z,74)|0)+m(t,74)|0)>>o,u=(u|0)>=32767?32767:u,u=v+((u|0)<=-32768?-32768:u)|0,X[n+4>>1]=(u|0)>=0?(e|0)>(u|0)?u:e:0,v=m(h,74),u=w+(((v+m(Z,29)|0)+m(k,84)|0)+m(t,55)|0)>>o,u=(u|0)>=32767?32767:u,u=Q[n>>1]+((u|0)<=-32768?-32768:u)|0,X[n>>1]=(u|0)>=0?(e|0)>(u|0)?u:e:0,u=w+(((v+m(Z,55)|0)+m(k,-29)|0)+m(t,-84)|0)>>o,u=(u|0)>=32767?32767:u,u=Q[n+2>>1]+((u|0)<=-32768?-32768:u)|0,X[n+2>>1]=(u|0)>=0?(e|0)>(u|0)?u:e:0,v=n,u=Q[n+6>>1],n=w+(((m(h,-74)+m(Z,84)|0)+m(k,55)|0)+m(t,-29)|0)>>o,n=(n|0)>=32767?32767:n,n=u+((n|0)<=-32768?-32768:n)|0,k=(n|0)>=0?(e|0)>(n|0)?n:e:0,X[v+6>>1]=k,A=A+1|0,(A|0)!=4;);}}function _h(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;k=B-48|0,B=k,A=D0(r),i[e+52>>2]=A&16777215,l[e+48|0]=A>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[k|0]=0,l[k+11|0]=0,r0(k+24|0,2,100,k),l[k+11|0]>=0)break i;G(i[k>>2]);break i}if(A=i[19565],i[k+24>>2]=i[19564],i[k+28>>2]=A,A=k+32|0,l[78275]>=0){n=i[19567],i[A>>2]=i[19566],i[A+4>>2]=n,i[A+8>>2]=i[19568];break i}_0(A,i[19566],i[19567])}l[k+43|0]<0&&G(i[k+32>>2]);i:{if(s[e+48|0]){h4(f,e,2458);break i}i[k+16>>2]=0,i[k+20>>2]=0,i[k+8>>2]=0,i[k+12>>2]=0,i[k>>2]=0,i[k+4>>2]=0,i[e+64>>2]=0,i[e+68>>2]=1,i[e+56>>2]=0,i[e+60>>2]=0,A=i[k+4>>2],n=i[k>>2],X[e+72>>1]=n,X[e+74>>1]=n>>>16,X[e+76>>1]=A,X[e+78>>1]=A>>>16,A=i[k+12>>2],n=i[k+8>>2],X[e+80>>1]=n,X[e+82>>1]=n>>>16,X[e+84>>1]=A,X[e+86>>1]=A>>>16,A=i[k+20>>2],n=i[k+16>>2],X[e+88>>1]=n,X[e+90>>1]=n>>>16,X[e+92>>1]=A,X[e+94>>1]=A>>>16,i[e+104>>2]=0,i[e+108>>2]=0,i[e+96>>2]=0,i[e+100>>2]=1072693248,i[e+112>>2]=0,i[e+116>>2]=0,i[e+120>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,A=i[e+52>>2],A&1&&(l[e+136|0]=1,_=e,v=D0(r),i[_+56>>2]=v,A=i[e+52>>2]),A&2&&(l[e+137|0]=1,_=e,v=D0(r),i[_+60>>2]=v,A=i[e+52>>2]),A&4&&(l[e+138|0]=1,_=e,v=D0(r),i[_+64>>2]=v,A=i[e+52>>2]);r:{if(!(A&8))break r;l[e+139|0]=1;e:{A:switch(s[e+48|0]){case 0:h=A&16;f:{if(h){A=D0(r),n=D0(r),w=D0(r);break f}A=o3(r),n=o3(r),w=o3(r)}if(l[e+68|0]=1,t=+(16384<>>0),o=+(w|0)/t,i0[e+88>>3]=o,u=+(n|0)/t,i0[e+80>>3]=u,t=+(A|0)/t,i0[e+72>>3]=t,t=o*o+(t*t+u*u),!(t>1))break e;if(e=U(48),i[k>>2]=e,i[k+4>>2]=47,i[k+8>>2]=-2147483600,r=s[2409]|s[2410]<<8|(s[2411]<<16|s[2412]<<24),A=s[2405]|s[2406]<<8|(s[2407]<<16|s[2408]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+47|0]=0,r=s[2448]|s[2449]<<8|(s[2450]<<16|s[2451]<<24),A=s[2444]|s[2445]<<8|(s[2446]<<16|s[2447]<<24),l[e+39|0]=A,l[e+40|0]=A>>>8,l[e+41|0]=A>>>16,l[e+42|0]=A>>>24,l[e+43|0]=r,l[e+44|0]=r>>>8,l[e+45|0]=r>>>16,l[e+46|0]=r>>>24,r=s[2441]|s[2442]<<8|(s[2443]<<16|s[2444]<<24),A=s[2437]|s[2438]<<8|(s[2439]<<16|s[2440]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[2433]|s[2434]<<8|(s[2435]<<16|s[2436]<<24),A=s[2429]|s[2430]<<8|(s[2431]<<16|s[2432]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[2425]|s[2426]<<8|(s[2427]<<16|s[2428]<<24),A=s[2421]|s[2422]<<8|(s[2423]<<16|s[2424]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[2417]|s[2418]<<8|(s[2419]<<16|s[2420]<<24),A=s[2413]|s[2414]<<8|(s[2415]<<16|s[2416]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,0,k),l[k+11|0]>=0)break i;G(i[k>>2]);break i;case 1:break A;default:break r}_=e,Z=+(D0(r)|0)*152587890625e-16,i0[_+104>>3]=Z,_=e,Z=+(D0(r)|0)*152587890625e-16,i0[_+112>>3]=Z,_=e,Z=+(D0(r)|0)*152587890625e-16,i0[_+120>>3]=Z;break r}i0[e+96>>3]=ss(1-t)}if(s[e+52|0]&32&&(l[e+140|0]=1,_=e,v=D0(r),i[_+128>>2]=v),s[r+20|0]==1){if(l[k|0]=0,l[k+11|0]=0,r0(f,2,100,k),l[k+11|0]>=0)break i;G(i[k>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+48|0}function vh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0;e=B-32|0,B=e,u=U0(i[r>>2],0),h=U0(i[r>>2],1),w=U0(i[r>>2],2),D=H2(i[r>>2],6),D&&(E=U0(i[r>>2],6));i:{if(!(!(u>>>0>8|h>>>0>8)&w>>>0<9)){i[f>>2]=0,i[f+4>>2]=0;break i}if(!((u|0)==(h|0)&(u|0)==(w|0))){i[f>>2]=0,i[f+4>>2]=0;break i}A=i[r>>2],W=i[A+48>>2],W&&(i[W+4>>2]=i[W+4>>2]+1,A=i[r>>2]),n=i[A+28>>2],k=i[A+24>>2],A=U(136),i[A>>2]=72792,i[A+4>>2]=0,i[A+8>>2]=0,B0(A+20|0,0,104),t=i[A+4>>2],v=t+1|0,i[A+4>>2]=v,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,o=A- -64|0,i[o>>2]=0,i[o+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,o=A+12|0,i[A+12>>2]=o,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=t,i[A+16>>2]=A,v||(V[i[i[A>>2]+8>>2]](A),g(A)),i[o+36>>2]=1,i[o+32>>2]=0,i[o+28>>2]=n,i[o+24>>2]=k,v=(n+1|0)/2|0,t=(k+1|0)/2|0;r:{e:{if(!J0(o,0,k,n,u)||!J0(o,1,t,v,h)||!J0(o,2,t,v,w)||D&&!J0(o,6,k,n,E))break e;if(i[e+28>>2]=0,i[e+24>>2]=0,i[e+20>>2]=0,i[e+16>>2]=0,i[e+12>>2]=0,i[e+8>>2]=0,i[e+4>>2]=0,i[e>>2]=0,E=v0(i[r>>2],0,e+28|0),u=v0(i[r>>2],1,e+24|0),h=v0(i[r>>2],2,e+20|0),z=v0(o,0,e+12|0),H=v0(o,1,e+8|0),a=v0(o,2,e+4|0),D&&(q=v0(i[r>>2],6,e+16|0),d=v0(o,6,e)),Z=n&1,!(!Z|(k|0)<2))for(J=k-1|0,w=v-1|0,I=n-1|0,r=0;_=r>>>1|0,R=u+(m(I,i[e+24>>2])+r|0)|0,l[_+(m(w,i[e+8>>2])+H|0)|0]=(s[R|0]+s[R+1|0]|0)+1>>>1,p=_+(m(w,i[e+4>>2])+a|0)|0,_=h+(m(I,i[e+20>>2])+r|0)|0,l[p|0]=(s[_|0]+s[_+1|0]|0)+1>>>1,r=r+2|0,(J|0)>(r|0););w=n-1|0;A:{if(!(k&1))break A;if((n|0)>=2)for(_=(t+a|0)-1|0,I=(k+h|0)-1|0,R=(t+H|0)-1|0,J=(k+u|0)-1|0,r=0;y=r>>>1|0,p=i[e+24>>2],S=s[J+m(p,r)|0],C=p,p=r|1,l[R+m(y,i[e+8>>2])|0]=(S+s[J+m(C,p)|0]|0)+1>>>1,C=_+m(y,i[e+4>>2])|0,y=i[e+20>>2],l[C|0]=(s[I+m(y,r)|0]+s[I+m(y,p)|0]|0)+1>>>1,r=r+2|0,(w|0)>(r|0););if(!Z)break A;r=v-1|0,l[(t+(m(r,i[e+8>>2])+H|0)|0)-1|0]=s[((u+m(w,i[e+24>>2])|0)+k|0)-1|0],l[(t+(m(r,i[e+4>>2])+a|0)|0)-1|0]=s[((h+m(w,i[e+20>>2])|0)+k|0)-1|0]}A:{f:{if((n|0)>=2){if((k|0)<2)break f;for(J=k-1|0,t=0;;){for(v=t>>>1|0,I=t|1,r=0;Z=i[e+20>>2],_=(h+m(Z,I)|0)+r|0,R=s[_+1|0],_=s[_|0],Z=h+(m(t,Z)+r|0)|0,y=s[Z|0],Z=s[Z+1|0],p=r>>>1|0,C=i[e+24>>2],S=u+(m(C,t)+r|0)|0,C=(u+m(I,C)|0)+r|0,l[p+(m(v,i[e+8>>2])+H|0)|0]=(((s[S|0]+s[S+1|0]|0)+s[C|0]|0)+s[C+1|0]|0)+2>>>2,l[p+(m(v,i[e+4>>2])+a|0)|0]=(R+(_+(Z+y|0)|0)|0)+2>>>2,r=r+2|0,(J|0)>(r|0););if(t=t+2|0,!((w|0)>(t|0)))break}}if((n|0)<=0)break A}if(D){for(r=0;l0(m(i[e+12>>2],r)+z|0,E+m(i[e+28>>2],r)|0,k),l0(m(i[e>>2],r)+d|0,m(i[e+16>>2],r)+q|0,k),r=r+1|0,(n|0)!=(r|0););break A}u=n&1;f:{if(!w){r=0;break f}for(n=n&-2,r=0,t=0;l0(m(i[e+12>>2],r)+z|0,E+m(i[e+28>>2],r)|0,k),h=r|1,l0(m(h,i[e+12>>2])+z|0,E+m(h,i[e+28>>2])|0,k),r=r+2|0,t=t+2|0,(n|0)!=(t|0););}if(!u)break A;l0(m(i[e+12>>2],r)+z|0,E+m(i[e+28>>2],r)|0,k)}i[f+4>>2]=A,i[f>>2]=o;break r}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(!W||(f=i[W+4>>2],i[W+4>>2]=f-1,f))break i;V[i[i[W>>2]+8>>2]](W),g(W)}B=e+32|0}function CA(f){var e=0,r=0,A=0,k=0,n=0,t=0,o=0;s[100176]||(A=B-16|0,B=A,s[100168]||(k=B-16|0,B=k,i[k+12>>2]=1,i[25003]=i[k+12>>2]-1,i[25002]=66952,i[25002]=61792,i[25002]=60312,e=B-16|0,B=e,i[25004]=0,i[25005]=0,i[e+12>>2]=0,i[25006]=0,l[100148]=0,i[e+4>>2]=100016,l[e+10|0]=0,r=B-16|0,B=r,L9()>>>0<30&&(o4(),P()),ut(r+8|0,100028,30),n=i[r+8>>2],i[25005]=n,i[25004]=n,i[25006]=(i[r+12>>2]<<2)+n,B=r+16|0,J9(30),l[e+10|0]=1,B=e+16|0,G6(100152,15510),ao(100016),i[25360]=0,i[25359]=66952,i[25359]=61792,i[25359]=62900,f1(101436,r1(99840)),i[25362]=0,i[25361]=66952,i[25361]=61792,i[25361]=62932,f1(101444,r1(99848)),i[25364]=0,i[25363]=66952,i[25363]=61792,l[101464]=0,i[25365]=0,i[25363]=60332,i[25365]=60384,f1(101452,r1(100192)),i[25368]=0,i[25367]=66952,i[25367]=61792,i[25367]=61848,f1(101468,r1(100184)),i[25370]=0,i[25369]=66952,i[25369]=61792,i[25369]=61996,f1(101476,r1(100200)),i[25372]=0,i[25371]=66952,i[25371]=61792,i[25371]=61416,t=101492,o=M2(),i[t>>2]=o,f1(101484,r1(100208)),i[25375]=0,i[25374]=66952,i[25374]=61792,i[25374]=62144,f1(101496,r1(100216)),i[25377]=0,i[25376]=66952,i[25376]=61792,i[25376]=62376,f1(101504,r1(100232)),i[25379]=0,i[25378]=66952,i[25378]=61792,i[25378]=62260,f1(101512,r1(100224)),i[25381]=0,i[25380]=66952,i[25380]=61792,i[25380]=62492,f1(101520,r1(100240)),i[25383]=0,i[25382]=66952,i[25382]=61792,X[50768]=11310,i[25382]=61464,e=B-16|0,B=e,i[25385]=0,i[25386]=0,i[25387]=0,B=e+16|0,f1(101528,r1(100248)),i[25389]=0,i[25388]=66952,i[25388]=61792,i[25390]=46,i[25391]=44,i[25388]=61504,e=B-16|0,B=e,i[25392]=0,i[25393]=0,i[25394]=0,B=e+16|0,f1(101552,r1(100256)),i[25396]=0,i[25395]=66952,i[25395]=61792,i[25395]=62964,f1(101580,r1(99856)),i[25398]=0,i[25397]=66952,i[25397]=61792,i[25397]=63208,f1(101588,r1(99864)),i[25400]=0,i[25399]=66952,i[25399]=61792,i[25399]=63420,f1(101596,r1(99872)),i[25402]=0,i[25401]=66952,i[25401]=61792,i[25401]=63652,f1(101604,r1(99880)),i[25404]=0,i[25403]=66952,i[25403]=61792,i[25403]=64636,f1(101612,r1(99920)),i[25406]=0,i[25405]=66952,i[25405]=61792,i[25405]=64784,f1(101620,r1(99928)),i[25408]=0,i[25407]=66952,i[25407]=61792,i[25407]=64900,f1(101628,r1(99936)),i[25410]=0,i[25409]=66952,i[25409]=61792,i[25409]=65016,f1(101636,r1(99944)),i[25412]=0,i[25411]=66952,i[25411]=61792,i[25411]=65132,f1(101644,r1(99952)),i[25414]=0,i[25413]=66952,i[25413]=61792,i[25413]=65296,f1(101652,r1(99960)),i[25416]=0,i[25415]=66952,i[25415]=61792,i[25415]=65460,f1(101660,r1(99968)),i[25418]=0,i[25417]=66952,i[25417]=61792,i[25417]=65624,f1(101668,r1(99976)),i[25420]=0,i[25419]=66952,i[25419]=61792,i[25421]=66880,i[25419]=63852,i[25421]=63900,f1(101676,r1(99888)),i[25423]=0,i[25422]=66952,i[25422]=61792,i[25424]=66916,i[25422]=64116,i[25424]=64164,f1(101688,r1(99896)),i[25426]=0,i[25425]=66952,i[25425]=61792,vo(101708),i[25425]=64352,f1(101700,r1(99904)),i[25429]=0,i[25428]=66952,i[25428]=61792,vo(101720),i[25428]=64508,f1(101712,r1(99912)),i[25432]=0,i[25431]=66952,i[25431]=61792,i[25431]=65788,f1(101724,r1(99984)),i[25434]=0,i[25433]=66952,i[25433]=61792,i[25433]=65908,f1(101732,r1(99992)),B=k+16|0,i[A+8>>2]=100008,i[25041]=i[A+8>>2],l[100168]=1),B=A+16|0,e=i[25041],i[25043]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),l[100176]=1),e=f,f=i[25043],i[e>>2]=f,(f|0)!=100008&&(i[f+4>>2]=i[f+4>>2]+1)}function v8(f,e,r,A,k,n,t,o,u,h){var w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0;w=u<<2,Z=i[w+45024>>2]+n|0,w=i[w+45008>>2],p=Z+w|0,C=h-8|0,h=i[(o<<2)+45008>>2];i:{r:switch(o|0){case 0:if(v=0-w|0,(Z|0)<=(v|0)|(k|0)<=0)break i;for(I=(w<<1)+t|0,y=r-(h<<1)|0,E=k&2147483644,W=k&3,J=k>>>0<4;;){if(h=(v<<1)+I|0,w=(m(A,v)<<1)+y|0,_=0,!J)for(;X[h>>1]=Q[w>>1],r=p<<1,h=r+h|0,X[h>>1]=Q[w+2>>1],h=r+h|0,X[h>>1]=Q[w+4>>1],h=r+h|0,X[h>>1]=Q[w+6>>1],h=r+h|0,w=w+8|0,_=_+4|0,(E|0)!=(_|0););if(r=0,W)for(;X[h>>1]=Q[w>>1],w=w+2|0,h=(p<<1)+h|0,r=r+1|0,(W|0)!=(r|0););if(v=v+1|0,(Z|0)==(v|0))break}break i;case 1:if(_=0-w|0,(Z|0)<=(_|0)|(k|0)<=0)break i;for(v=(w<<1)+t|0,W=r-(h<<1)|0;;){for(h=v+(_<<1)|0,w=W+(m(A,_)<<1)|0,r=0;X[h>>1]=Q[w+12>>1]+((((((Q[w+2>>1]<<2)-Q[w>>1]|0)+m(Q[w+4>>1],-10)|0)+m(Q[w+6>>1],58)|0)+m(Q[w+8>>1],17)|0)+m(Q[w+10>>1],-5)|0)>>C,w=w+2|0,h=(p<<1)+h|0,r=r+1|0,(k|0)!=(r|0););if(_=_+1|0,(Z|0)==(_|0))break}break i;case 2:if(_=0-w|0,(Z|0)<=(_|0)|(k|0)<=0)break i;for(v=(w<<1)+t|0,W=r-(h<<1)|0;;){for(h=v+(_<<1)|0,w=W+(m(A,_)<<1)|0,r=0;X[h>>1]=(((((Q[w+2>>1]<<2)-Q[w>>1]|0)+m(Q[w+8>>1]+Q[w+6>>1]|0,40)|0)+(Q[w+12>>1]<<2)|0)-Q[w+14>>1]|0)+m(Q[w+10>>1]+Q[w+4>>1]|0,-11)>>C,w=w+2|0,h=(p<<1)+h|0,r=r+1|0,(k|0)!=(r|0););if(_=_+1|0,(Z|0)==(_|0))break}break i;case 3:break r;default:break i}if(_=0-w|0,(Z|0)<=(_|0)|(k|0)<=0)break i;for(v=(w<<1)+t|0,W=r-(h<<1)|0;;){for(h=v+(_<<1)|0,w=W+(m(A,_)<<1)|0,r=0;X[h>>1]=(((((Q[w>>1]+m(Q[w+2>>1],-5)|0)+m(Q[w+4>>1],17)|0)+m(Q[w+6>>1],58)|0)+m(Q[w+8>>1],-10)|0)+(Q[w+10>>1]<<2)|0)-Q[w+12>>1]>>C,w=w+2|0,h=(p<<1)+h|0,r=r+1|0,(k|0)!=(r|0););if(_=_+1|0,(Z|0)==(_|0))break}}A=o?6:C;i:{r:switch(u|0){case 3:if((k|0)<=0|(n|0)<=0)break i;for(_=0;;){for(h=(_<<1)+f|0,w=(m(_,p)<<1)+t|0,r=0;X[h>>1]=(((((X[w>>1]+m(X[w+2>>1],-5)|0)+m(X[w+4>>1],17)|0)+m(X[w+6>>1],58)|0)+m(X[w+8>>1],-10)|0)+(X[w+10>>1]<<2)|0)-X[w+12>>1]>>A,w=w+2|0,h=(e<<1)+h|0,r=r+1|0,(n|0)!=(r|0););if(_=_+1|0,(_|0)==(k|0))break}break i;case 2:if((k|0)<=0|(n|0)<=0)break i;for(_=0;;){for(h=(_<<1)+f|0,w=(m(_,p)<<1)+t|0,r=0;X[h>>1]=(((((X[w+2>>1]<<2)-X[w>>1]|0)+m(X[w+8>>1]+X[w+6>>1]|0,40)|0)+(X[w+12>>1]<<2)|0)-X[w+14>>1]|0)+m(X[w+10>>1]+X[w+4>>1]|0,-11)>>A,w=w+2|0,h=(e<<1)+h|0,r=r+1|0,(n|0)!=(r|0););if(_=_+1|0,(_|0)==(k|0))break}break i;case 1:if((k|0)<=0)break i;for(_=0,o=(n|0)<=0;;){if(!o)for(h=(_<<1)+f|0,w=(m(_,p)<<1)+t|0,r=0;X[h>>1]=X[w+12>>1]+((((((X[w+2>>1]<<2)-X[w>>1]|0)+m(X[w+4>>1],-10)|0)+m(X[w+6>>1],58)|0)+m(X[w+8>>1],17)|0)+m(X[w+10>>1],-5)|0)>>A,w=w+2|0,h=(e<<1)+h|0,r=r+1|0,(n|0)!=(r|0););if(_=_+1|0,(_|0)==(k|0))break}break i;case 0:break r;default:break i}if((k|0)<=0)break i;for(_=n&2147483644,u=n&3,A=0,Z=(n|0)<=0;;){r:{if(Z)break r;if(h=(A<<1)+f|0,w=(m(A,p)<<1)+t|0,r=0,n>>>0>3)for(;X[h>>1]=Q[w>>1],o=e<<1,h=o+h|0,X[h>>1]=Q[w+2>>1],h=o+h|0,X[h>>1]=Q[w+4>>1],h=o+h|0,X[h>>1]=Q[w+6>>1],h=o+h|0,w=w+8|0,r=r+4|0,(_|0)!=(r|0););if(r=0,!u)break r;for(;X[h>>1]=Q[w>>1],w=w+2|0,h=(e<<1)+h|0,r=r+1|0,(u|0)!=(r|0););}if(A=A+1|0,(k|0)==(A|0))break}}}function mh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0;e=B-32|0,B=e,t=U0(i[r>>2],0),Z=U0(i[r>>2],1),p=U0(i[r>>2],2),R=H2(i[r>>2],6),R&&(u=U0(i[r>>2],6));i:{if(!(!(t>>>0<9|Z>>>0<9)&p>>>0>8)){i[f>>2]=0,i[f+4>>2]=0;break i}if(!((t|0)==(Z|0)&(t|0)==(p|0))){i[f>>2]=0,i[f+4>>2]=0;break i}A=i[r>>2],w=i[A+48>>2],w&&(i[w+4>>2]=i[w+4>>2]+1,A=i[r>>2]),k=i[A+28>>2],o=i[A+24>>2],A=U(136),i[A>>2]=72792,i[A+4>>2]=0,i[A+8>>2]=0,B0(A+20|0,0,104),h=i[A+4>>2],W=h+1|0,i[A+4>>2]=W,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,n=A- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,n=A+12|0,i[A+12>>2]=n,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=h,i[A+16>>2]=A,W||(V[i[i[A>>2]+8>>2]](A),g(A)),i[n+36>>2]=2,i[n+32>>2]=0,i[n+28>>2]=k,i[n+24>>2]=o,_=(o+1|0)/2|0;r:{e:{if(!J0(n,0,o,k,t)||!J0(n,1,_,k,Z)||!J0(n,2,_,k,p)||R&&!J0(n,6,o,k,u))break e;u=0,i[e+28>>2]=0,i[e+24>>2]=0,i[e+20>>2]=0,i[e+16>>2]=0,i[e+12>>2]=0,i[e+8>>2]=0,i[e+4>>2]=0,i[e>>2]=0,Z=v0(i[r>>2],0,e+28|0),z=v0(i[r>>2],1,e+24|0),H=v0(i[r>>2],2,e+20|0),p=v0(n,0,e+12|0),a=v0(n,1,e+8|0),S=v0(n,2,e+4|0),R?(q=v0(i[r>>2],6,e+16|0),d=v0(n,6,e),u=i[e>>2]/2|0,r=i[e+16>>2]/2|0):r=0,i[e+16>>2]=r,i[e>>2]=u,i[e+28>>2]=i[e+28>>2]/2,u=i[e+24>>2]/2|0,i[e+24>>2]=u,h=i[e+20>>2]/2|0,i[e+20>>2]=h,i[e+12>>2]=i[e+12>>2]/2,W=i[e+8>>2]/2|0,i[e+8>>2]=W,E=i[e+4>>2]/2|0,i[e+4>>2]=E;A:{if(!(o&1)|(k|0)<2)break A;if(r=_<<1,t=(r+S|0)-2|0,C=o<<1,_=(C+H|0)-2|0,J=(r+a|0)-2|0,C=(C+z|0)-2|0,v=k-1|0,D=v&1,r=0,(k|0)!=2)for(I=v&-2;X[J+(m(r,W)<<1)>>1]=Q[C+(m(r,u)<<1)>>1],X[t+(m(r,E)<<1)>>1]=Q[_+(m(r,h)<<1)>>1],v=r|1,X[J+(m(v,W)<<1)>>1]=Q[C+(m(u,v)<<1)>>1],X[t+(m(v,E)<<1)>>1]=Q[_+(m(h,v)<<1)>>1],r=r+2|0,y=y+2|0,(I|0)!=(y|0););if(!D)break A;X[J+(m(r,W)<<1)>>1]=Q[C+(m(r,u)<<1)>>1],X[t+(m(r,E)<<1)>>1]=Q[_+(m(r,h)<<1)>>1]}A:{if((k|0)<=0)break A;if((o|0)>=2){for(_=o-1|0,t=0;;){for(J=(m(t,E)<<1)+S|0,C=(m(t,W)<<1)+a|0,v=(m(t,h)<<1)+H|0,D=(m(t,u)<<1)+z|0,r=0;I=r<<1,y=I+v|0,A0=Q[y>>1],y=Q[y+2>>1],I=I+D|0,X[r+C>>1]=(Q[I>>1]+Q[I+2>>1]|0)+1>>>1,X[r+J>>1]=(y+A0|0)+1>>>1,r=r+2|0,(_|0)>(r|0););if(t=t+1|0,(t|0)==(k|0))break}if((k|0)<=0)break A}if(o=o<<1,R){for(r=0;l0(p+(m(i[e+12>>2],r)<<1)|0,Z+(m(i[e+28>>2],r)<<1)|0,o),l0((m(i[e>>2],r)<<1)+d|0,(m(i[e+16>>2],r)<<1)+q|0,o),r=r+1|0,(k|0)!=(r|0););break A}if(r=0,(k|0)!=1)for(u=k&2147483646,t=0;l0(p+(m(i[e+12>>2],r)<<1)|0,Z+(m(i[e+28>>2],r)<<1)|0,o),h=r|1,l0(p+(m(h,i[e+12>>2])<<1)|0,Z+(m(h,i[e+28>>2])<<1)|0,o),r=r+2|0,t=t+2|0,(u|0)!=(t|0););if(!(k&1))break A;l0(p+(m(i[e+12>>2],r)<<1)|0,Z+(m(i[e+28>>2],r)<<1)|0,o)}i[f+4>>2]=A,i[f>>2]=n;break r}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(!w||(f=i[w+4>>2],i[w+4>>2]=f-1,f))break i;V[i[i[w>>2]+8>>2]](w),g(w)}B=e+32|0}function Bh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=Y(0),_=0,v=0,Z=0,p=Y(0),W=0,C=0,I=0,y=Y(0),E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=Y(0),f0=0,n0=0,h0=0,j=0,L=Y(0),p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0;o=B+-64|0,B=o,e=i[r>>2],C=i[e+28>>2],I=i[e+24>>2],A=U0(e,0),E=H2(i[r>>2],6),n=i[k+4>>2],t=U(136),i[t>>2]=72792,i[t+4>>2]=0,i[t+8>>2]=0,B0(t+20|0,0,104),e=i[t+4>>2],W=e+1|0,i[t+4>>2]=W,i[t+56>>2]=0,i[t+60>>2]=0,i[t+44>>2]=99,i[t+48>>2]=99,i[t+32>>2]=3795,u=t- -64|0,i[u>>2]=0,i[u+4>>2]=0,i[t+132>>2]=0,i[t+124>>2]=0,i[t+128>>2]=0,i[t+84>>2]=1,i[t+88>>2]=1,i[t+72>>2]=t+76,i[t+92>>2]=0,i[t+96>>2]=0,i[t+100>>2]=0,i[t+104>>2]=0,i[t+108>>2]=0,i[t+112>>2]=0,l[t+113|0]=0,l[t+114|0]=0,l[t+115|0]=0,l[t+116|0]=0,l[t+117|0]=0,l[t+118|0]=0,l[t+119|0]=0,l[t+120|0]=0,_=t+12|0,i[t+12>>2]=_,i[t+8>>2]=i[t+8>>2]+1,i[t+4>>2]=e,i[t+16>>2]=t,W||(V[i[i[t>>2]+8>>2]](t),g(t)),i[_+36>>2]=i[k+4>>2],i[_+32>>2]=1,i[_+28>>2]=C,i[_+24>>2]=I;i:{r:{if(!J0(_,10,I,C,A)||E&&!J0(_,6,I,C,A))break r;if(i[o+60>>2]=0,i[o+56>>2]=0,i[o+52>>2]=0,i[o+48>>2]=0,i[o+44>>2]=0,Z=v0(_,10,o+60|0),H=v0(i[r>>2],0,o+56|0),a=v0(i[r>>2],1,o+52|0),S=v0(i[r>>2],2,o+48|0),E&&(q=v0(i[r>>2],6,o+44|0)),i[o+36>>2]=-1086926434,i[o+40>>2]=1071829221,i[o+28>>2]=1068725436,i[o+32>>2]=-1095748968,l[o+24|0]=1,r=i[r>>2],e=i[r+44>>2],v=i[r+48>>2],v&&(i[v+4>>2]=i[v+4>>2]+1),k=1,e&&(k=s[e+10|0],V6(o+4|0,Q[e+8>>1],Q[e+4>>1]),i[o+40>>2]=i[o+20>>2],e=i[o+16>>2],i[o+32>>2]=i[o+12>>2],i[o+36>>2]=e,e=i[o+8>>2],i[o+24>>2]=i[o+4>>2],i[o+28>>2]=e),!((C|0)<=0|(I|0)<=0))for(e=n&-2,J=(e|0)==14,d=E?8:6,A0=Y(16<>>8|0,z=1<>2],p0=i[o+48>>2],X0=i[o+52>>2],G0=i[o+56>>2],R=k&1;;){for(I0=((m(r,G0)|0)/2<<1)+H|0,A=r>>>1|0,Q0=((m(A,p0)|0)/2<<1)+S|0,F0=((m(A,X0)|0)/2<<1)+a|0,k=0;;){A=k&-2,w=Y(Q[A+Q0>>1]-z|0),y=R?w:Y(w*Y(1.142899990081787)),w=Y(Q[(k<<1)+I0>>1]),w=R?w:Y(Y(w-A0)*Y(1.1689000129699707)),p=Y(Y(Y(L*y)+w)+Y(.5));e:{if(Y(d0(p))>1]-z|0),p=R?p:Y(p*Y(1.142899990081787)),n=0,A=0;e:{if((u|0)<0)break e;if((e|0)<(u|0)){n=e,A=W;break e}n=u,A=u>>>8|0}Y0=n,n=0,y=Y(Y(Y(Z0[o+36>>2]*y)+Y(Y(Z0[o+32>>2]*p)+w))+Y(.5));e:{if(Y(d0(y))>>8|0,u=h}S0=u,D=0,w=Y(Y(Y(Z0[o+40>>2]*p)+w)+Y(.5));e:{if(Y(d0(w))>>8|0,u=h}if(h=m(k,d),l[(h+(m(i[o+60>>2],r)+Z|0)|0)+J|0]=A,l[((h+(m(i[o+60>>2],r)+Z|0)|0)+J|0)+2|0]=n,l[((h+(m(i[o+60>>2],r)+Z|0)|0)+J|0)+4|0]=D,l[((h|n0)+Z|0)+m(i[o+60>>2],r)|0]=Y0,l[(h+j|0)+m(i[o+60>>2],r)|0]=S0,l[(h+h0|0)+m(i[o+60>>2],r)|0]=u,E&&(A=k<<3,n=(((m(i[o+44>>2],r)|0)/2|0)+k<<1)+q|0,l[((A+(m(i[o+60>>2],r)+Z|0)|0)+J|0)+6|0]=s[n+1|0],l[((A|f0)+Z|0)+m(i[o+60>>2],r)|0]=s[n|0]),k=k+1|0,(I|0)==(k|0))break}if(r=r+1|0,(C|0)==(r|0))break}if(i[f+4>>2]=t,i[f>>2]=_,!v||(f=i[v+4>>2],i[v+4>>2]=f-1,f))break i;V[i[i[v>>2]+8>>2]](v),g(v);break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[t+4>>2],i[t+4>>2]=f-1,f)break i;V[i[i[t>>2]+8>>2]](t),g(t)}B=o- -64|0}function m8(f,e,r,A,k,n,t,o,u){var h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0;h=u<<2,Z=i[h+45024>>2]+n|0,h=i[h+45008>>2],p=Z+h|0,w=i[(o<<2)+45008>>2];i:{r:switch(o|0){case 0:if(v=0-h|0,(Z|0)<=(v|0)|(k|0)<=0)break i;for(C=(h<<1)+t|0,I=r-w|0,y=k&2147483644,W=k&3,E=k>>>0<4;;){if(w=(v<<1)+C|0,h=m(A,v)+I|0,_=0,!E)for(;X[w>>1]=s[h|0],r=p<<1,w=r+w|0,X[w>>1]=s[h+1|0],w=r+w|0,X[w>>1]=s[h+2|0],w=r+w|0,X[w>>1]=s[h+3|0],w=r+w|0,h=h+4|0,_=_+4|0,(y|0)!=(_|0););if(r=0,W)for(;X[w>>1]=s[h|0],h=h+1|0,w=(p<<1)+w|0,r=r+1|0,(W|0)!=(r|0););if(v=v+1|0,(Z|0)==(v|0))break}break i;case 1:if(_=0-h|0,(Z|0)<=(_|0)|(k|0)<=0)break i;for(v=(h<<1)+t|0,W=r-w|0;;){for(w=v+(_<<1)|0,h=W+m(A,_)|0,r=0;X[w>>1]=s[h+6|0]+((((((s[h+1|0]<<2)-s[h|0]|0)+m(s[h+2|0],-10)|0)+m(s[h+3|0],58)|0)+m(s[h+4|0],17)|0)+m(s[h+5|0],-5)|0),h=h+1|0,w=(p<<1)+w|0,r=r+1|0,(k|0)!=(r|0););if(_=_+1|0,(Z|0)==(_|0))break}break i;case 2:if(_=0-h|0,(Z|0)<=(_|0)|(k|0)<=0)break i;for(v=(h<<1)+t|0,W=r-w|0;;){for(w=v+(_<<1)|0,h=W+m(A,_)|0,r=0;X[w>>1]=(((((s[h+1|0]<<2)-s[h|0]|0)+m(s[h+4|0]+s[h+3|0]|0,40)|0)+(s[h+6|0]<<2)|0)-s[h+7|0]|0)+m(s[h+5|0]+s[h+2|0]|0,-11),h=h+1|0,w=(p<<1)+w|0,r=r+1|0,(k|0)!=(r|0););if(_=_+1|0,(Z|0)==(_|0))break}break i;case 3:break r;default:break i}if(_=0-h|0,(Z|0)<=(_|0)|(k|0)<=0)break i;for(v=(h<<1)+t|0,W=r-w|0;;){for(w=v+(_<<1)|0,h=W+m(A,_)|0,r=0;X[w>>1]=(((((s[h|0]+m(s[h+1|0],-5)|0)+m(s[h+2|0],17)|0)+m(s[h+3|0],58)|0)+m(s[h+4|0],-10)|0)+(s[h+5|0]<<2)|0)-s[h+6|0],h=h+1|0,w=(p<<1)+w|0,r=r+1|0,(k|0)!=(r|0););if(_=_+1|0,(Z|0)==(_|0))break}}A=o?6:0;i:{r:switch(u|0){case 3:if((k|0)<=0|(n|0)<=0)break i;for(_=0;;){for(w=(_<<1)+f|0,h=(m(_,p)<<1)+t|0,r=0;X[w>>1]=(((((X[h>>1]+m(X[h+2>>1],-5)|0)+m(X[h+4>>1],17)|0)+m(X[h+6>>1],58)|0)+m(X[h+8>>1],-10)|0)+(X[h+10>>1]<<2)|0)-X[h+12>>1]>>A,h=h+2|0,w=(e<<1)+w|0,r=r+1|0,(n|0)!=(r|0););if(_=_+1|0,(_|0)==(k|0))break}break i;case 2:if((k|0)<=0|(n|0)<=0)break i;for(_=0;;){for(w=(_<<1)+f|0,h=(m(_,p)<<1)+t|0,r=0;X[w>>1]=(((((X[h+2>>1]<<2)-X[h>>1]|0)+m(X[h+8>>1]+X[h+6>>1]|0,40)|0)+(X[h+12>>1]<<2)|0)-X[h+14>>1]|0)+m(X[h+10>>1]+X[h+4>>1]|0,-11)>>A,h=h+2|0,w=(e<<1)+w|0,r=r+1|0,(n|0)!=(r|0););if(_=_+1|0,(_|0)==(k|0))break}break i;case 1:if((k|0)<=0)break i;for(_=0,o=(n|0)<=0;;){if(!o)for(w=(_<<1)+f|0,h=(m(_,p)<<1)+t|0,r=0;X[w>>1]=X[h+12>>1]+((((((X[h+2>>1]<<2)-X[h>>1]|0)+m(X[h+4>>1],-10)|0)+m(X[h+6>>1],58)|0)+m(X[h+8>>1],17)|0)+m(X[h+10>>1],-5)|0)>>A,h=h+2|0,w=(e<<1)+w|0,r=r+1|0,(n|0)!=(r|0););if(_=_+1|0,(_|0)==(k|0))break}break i;case 0:break r;default:break i}if((k|0)<=0)break i;for(_=n&2147483644,u=n&3,A=0,Z=(n|0)<=0;;){r:{if(Z)break r;if(w=(A<<1)+f|0,h=(m(A,p)<<1)+t|0,r=0,n>>>0>3)for(;X[w>>1]=Q[h>>1],o=e<<1,w=o+w|0,X[w>>1]=Q[h+2>>1],w=o+w|0,X[w>>1]=Q[h+4>>1],w=o+w|0,X[w>>1]=Q[h+6>>1],w=o+w|0,h=h+8|0,r=r+4|0,(_|0)!=(r|0););if(r=0,!u)break r;for(;X[w>>1]=Q[h>>1],h=h+2|0,w=(e<<1)+w|0,r=r+1|0,(u|0)!=(r|0););}if(A=A+1|0,(k|0)==(A|0))break}}}function Rk(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0;C=B-2176|0,B=C;i:{if((e|0)<=0)break i;p=e>>>1|0;r:{if(e>>>0>=8){for(h=e>>>2|0,z=e&2,D=p&1073741822,t=C- -64|0,k=C;;){e:{if((e|0)==1)break e;if(w=(m(A,J)<<1)+r|0,n=0,o=0,(p|0)!=1)for(;_=n<<1,u=_+w|0,Z=t+_|0,_=n+p<<1,v=_+w|0,X[Z>>1]=Q[v>>1]+Q[u>>1],X[t+_>>1]=Q[u>>1]-Q[v>>1],u=n|1,_=u<<1,Z=_+t|0,u=u+p<<1,v=u+w|0,_=w+_|0,X[Z>>1]=Q[v>>1]+Q[_>>1],X[t+u>>1]=Q[_>>1]-Q[v>>1],n=n+2|0,o=o+2|0,(D|0)!=(o|0););if(!z)break e;u=n<<1,o=u+w|0,n=n+p<<1,w=n+w|0,X[t+u>>1]=Q[w>>1]+Q[o>>1],X[n+t>>1]=Q[o>>1]-Q[w>>1]}for(o=h,w=p;;){e:{if(n=t,t=k,!o)break e;for(I=o&536870910,E=o&1,u=0;;){if(k=0,_=0,(o|0)!=1)for(;v=k+u|0,W=v<<1,Z=W+t|0,R=o+v<<1,y=Q[R+n>>1],W=Q[n+W>>1],X[Z>>1]=y+W,X[t+R>>1]=W-y,v=v+1|0,W=v<<1,Z=W+t|0,v=o+v<<1,R=Q[v+n>>1],W=Q[n+W>>1],X[Z>>1]=R+W,X[t+v>>1]=W-R,k=k+2|0,_=_+2|0,(I|0)!=(_|0););if(E&&(k=k+u|0,_=k<<1,Z=_+t|0,k=k+o<<1,v=Q[k+n>>1],_=Q[n+_>>1],X[Z>>1]=v+_,X[k+t>>1]=_-v),u=u+w|0,!((u|0)<(e|0)))break}if(w=w>>>1|0,u=o>>>0>3,o=o>>>1|0,k=n,u)continue}break}for(o=m(e,J),k=0;w=C+128|0,u=k|1,_=(u<<1)+t|0,v=(k<<1)+t|0,X[w+(k+o<<1)>>1]=Q[_>>1]+Q[v>>1],X[w+(o+u<<1)>>1]=Q[v>>1]-Q[_>>1],k=k+2|0,(k|0)<(e|0););if(k=n,J=J+1|0,(J|0)==(e|0))break}break r}for(k=e-1|0,_=k&2,J=(k>>>1|0)+1&-2,v=p<<1,k=C- -64|0,z=v+k|0,D=p+2<<1,I=D+k|0,E=p+1<<1,W=E+k|0,R=e>>>0<3;;){e:{if((e|0)==1||(k=(m(A,o)<<1)+r|0,n=Q[k+v>>1],t=Q[k>>1],X[C+64>>1]=n+t,X[z>>1]=t-n,e>>>0<4)||(n=Q[k+E>>1],t=Q[k+2>>1],X[C+66>>1]=n+t,X[W>>1]=t-n,(p|0)==2))break e;n=Q[k+D>>1],k=Q[k+4>>1],X[C+68>>1]=n+k,X[I>>1]=k-n}if(n=m(e,o),t=0,k=0,!R)for(;w=C+128|0,h=C- -64|0,u=t|1,y=Q[h+(u<<1)>>1],Z=Q[h+(t<<1)>>1],X[w+(n+t<<1)>>1]=y+Z,X[w+(n+u<<1)>>1]=Z-y,y=t|2,u=Q[h+(y<<1)>>1],Z=w+(n+y<<1)|0,y=t|3,h=Q[h+(y<<1)>>1],X[Z>>1]=u+h,X[w+(n+y<<1)>>1]=u-h,t=t+4|0,k=k+2|0,(J|0)!=(k|0););if(_||(k=C+128|0,Z=k+(n+t<<1)|0,h=C- -64|0,w=t|1,u=Q[h+(w<<1)>>1],t=Q[h+(t<<1)>>1],X[Z>>1]=u+t,X[k+(n+w<<1)>>1]=t-u),o=o+1|0,(o|0)==(e|0))break}n=C,t=n- -64|0}if((e|0)<=0)break i;for(r=e>>>1|0,J=r>>>0<=1?1:r,A=e>>>2|0,p=0,v=e>>>0<8;;){k=0;r:{if((e|0)==1){k=n;break r}for(;h=C+128|0,w=r+k|0,o=Q[h+(m(w,e)+p<<1)>>1],h=h+(m(e,k)+p<<1)|0,X[(k<<1)+t>>1]=o+Q[h>>1],X[(w<<1)+t>>1]=Q[h>>1]-o,k=k+1|0,(J|0)!=(k|0););if(o=A,w=r,k=n,v)break r;for(;;){if(k=t,t=n,!o)break r;for(z=o&536870910,D=o&1,u=0;;){if(n=0,_=0,(o|0)!=1)for(;h=n+u|0,I=h<<1,Z=I+t|0,E=o+h<<1,W=Q[E+k>>1],I=Q[k+I>>1],X[Z>>1]=W+I,X[t+E>>1]=I-W,h=h+1|0,I=h<<1,Z=I+t|0,h=o+h<<1,E=Q[h+k>>1],I=Q[k+I>>1],X[Z>>1]=E+I,X[t+h>>1]=I-E,n=n+2|0,_=_+2|0,(z|0)!=(_|0););if(D&&(n=n+u|0,h=n<<1,Z=h+t|0,n=n+o<<1,_=Q[n+k>>1],h=Q[k+h>>1],X[Z>>1]=_+h,X[n+t>>1]=h-_),u=u+w|0,!((u|0)<(e|0)))break}if(w=w>>>1|0,h=o>>>0>3,o=o>>>1|0,n=k,!h)break}}for(o=(p<<1)+f|0,n=0;w=n|1,h=(w<<1)+t|0,u=(n<<1)+t|0,X[o+(m(e,n)<<1)>>1]=Q[h>>1]+Q[u>>1],X[o+(m(e,w)<<1)>>1]=Q[u>>1]-Q[h>>1],n=n+2|0,(n|0)<(e|0););if(n=k,p=p+1|0,(p|0)==(e|0))break}}B=C+2176|0}function Dk(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0;C=B;i:{r:{e:{A:{f:{k:{n:{t:{o:{u:{if(!k||!(u0(r,1)&255))break u;if(t){if(f=0,e=M0(r),(e|0)==-99999|(e|0)>=(k|0))break e;f=e^-1}else f=-1;if(h=f+k|0,(h|0)<0)break t;if(e=u0(r,1),f=M0(r),(f|0)==-99999)break i;for(Z=s[(i[n>>2]+m(h,100)|0)+98|0],k=Z+16&496,u=C-k|0,t=u,B=t,o=f^-1,_=f+1|0,w=t-k|0,B=w,k=0;f=u0(r,1),l[k+u|0]=f,t=k+w|0,f&255?f=1:f=u0(r,1),l[t|0]=f,f=(k|0)!=(Z|0),k=k+1|0,!!f;);o=e?o:_,r=m(h,100),e=r+i[n>>2]|0,f=s[e+96|0],e=s[e+97|0];l:{if(!e){t=0;break l}for(_=A- -64|0,t=0,v=e>>>0<17,k=e;;){if(p=i[n>>2],h>>>0>=(i[n+4>>2]-p|0)/100>>>0)break n;if(!v)break k;k=k-1|0,p=o+X[((r+p|0)+(k<<1)|0)+32>>1]|0;s:{if((p|0)>=0||(W=f+k|0,!s[W+w|0]))break s;if((t|0)>15)break i;X[(t<<1)+A>>1]=p,l[t+_|0]=s[u+W|0],t=t+1|0}if(!k)break}}if(!(!s[w+Z|0]|(o|0)>=0)){if((t|0)>15)break i;X[(t<<1)+A>>1]=o,l[(A+t|0)- -64|0]=s[u+Z|0],t=t+1|0}l:{if(!f){l[A+96|0]=t,k=0;break l}for(r=A- -64|0,k=0,_=m(h,100);;){if(v=o+X[(_+i[n>>2]|0)+(k<<1)>>1]|0,!(!s[k+w|0]|(v|0)>=0)){if((t|0)>15)break i;X[(t<<1)+A>>1]=v,l[r+t|0]=s[k+u|0],t=t+1|0}if(k=k+1|0,(f|0)==(k|0))break}if(l[A+96|0]=t,!f){k=0;break l}for(_=A+80|0,v=A+32|0,k=0,p=m(h,100),t=f;;){if(r=t,t=t-1|0,W=o+X[(p+i[n>>2]|0)+(t<<1)>>1]|0,!((W|0)<=0|!s[t+w|0])){if((k|0)>15)break i;X[v+(k<<1)>>1]=W,l[k+_|0]=s[t+u|0],k=k+1|0}if(!((r|0)>1))break}}if(!(!s[w+Z|0]|(o|0)<=0)){if((k|0)>15)break i;X[((k<<1)+A|0)+32>>1]=o,l[(A+k|0)+80|0]=s[u+Z|0],k=k+1|0}if(e)for(r=A+80|0,Z=A+32|0,t=0,h=m(h,100);;){_=o+X[((h+i[n>>2]|0)+(t<<1)|0)+32>>1]|0;l:{if((_|0)<=0||(v=f+t|0,!s[v+w|0]))break l;if((k|0)>15)break i;X[Z+(k<<1)>>1]=_,l[r+k|0]=s[u+v|0],k=k+1|0}if(t=t+1|0,(e|0)==(t|0))break}l[A+97|0]=k;break o}if(n=M0(r),o=M0(r),!((n|0)!=-99999&(o|0)!=-99999))break r;if(i[((l[e+2|0]<<2)+e|0)+524>>2]<(n+o|0)){X[A+96>>1]=0,X[A+98>>1]=0;break r}if(!((o|0)<17&(n|0)<=16))break r;if(l[A+97|0]=o,l[A+96|0]=n,(n|0)>0)for(t=A- -64|0,f=0,k=0,e=0;;){if(u=M0(r),(u|0)==-99999)break e;if(w=u0(r,1),h=(k<<1)+A|0,X[h>>1]=(u^-1)+e,l[k+t|0]=w,e=Q[h>>1],k=k+1|0,(n|0)==(k|0))break}if((o|0)<=0)break o;for(e=A+80|0,n=A+32|0,f=0,k=0,t=0;;){if(u=M0(r),(u|0)==-99999)break e;if(w=u0(r,1),h=n+(k<<1)|0,X[h>>1]=(t+u|0)+1,l[e+k|0]=w,t=Q[h>>1],k=k+1|0,(o|0)==(k|0))break}}if(k=0,l[A+99|0]=0,f=s[A+96|0],!f)break A;if(n=f&1,e=A- -64|0,(f|0)==1){r=0;break f}for(o=f&254,r=0,t=0;u=e+r|0,s[u|0]&&(k=k+1|0,l[A+99|0]=k),s[u+1|0]&&(k=k+1|0,l[A+99|0]=k),r=r+2|0,t=t+2|0,(o|0)!=(t|0););break f}C0(17134,14045,129,3344),P()}C0(18501,14045,174,3344),P()}C0(14916,14045,175,3344),P()}if(!n|!s[e+r|0])break A;k=k+1|0,l[A+99|0]=k}e=s[A+97|0];A:{if(!e)break A;if(n=A+80|0,r=0,(e|0)!=1)for(o=e&254,t=0;u=r+n|0,s[u|0]&&(k=k+1|0,l[A+99|0]=k),s[u+1|0]&&(k=k+1|0,l[A+99|0]=k),r=r+2|0,t=t+2|0,(o|0)!=(t|0););if(!(e&1)|!s[r+n|0])break A;l[A+99|0]=k+1}l[A+98|0]=f+e,f=1}return B=C,f}v2(f,1018,0)}return B=C,0}function Zh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0;e=B-32|0,B=e,k=U0(i[r>>2],0),w=U0(i[r>>2],1),_=U0(i[r>>2],2),C=H2(i[r>>2],6),C&&(v=U0(i[r>>2],6));i:{if(!(!(k>>>0>8|w>>>0>8)&_>>>0<9)){i[f>>2]=0,i[f+4>>2]=0;break i}if(!((k|0)==(w|0)&(k|0)==(_|0))){i[f>>2]=0,i[f+4>>2]=0;break i}A=i[r>>2],h=i[A+48>>2],h&&(i[h+4>>2]=i[h+4>>2]+1,A=i[r>>2]),n=i[A+28>>2],o=i[A+24>>2],A=U(136),i[A>>2]=72792,i[A+4>>2]=0,i[A+8>>2]=0,B0(A+20|0,0,104),u=i[A+4>>2],W=u+1|0,i[A+4>>2]=W,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,t=A- -64|0,i[t>>2]=0,i[t+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,t=A+12|0,i[A+12>>2]=t,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=u,i[A+16>>2]=A,W||(V[i[i[A>>2]+8>>2]](A),g(A)),i[t+36>>2]=3,i[t+32>>2]=0,i[t+28>>2]=n,i[t+24>>2]=o;r:{e:{if(!J0(t,0,o,n,k)||!J0(t,1,o,n,w)||!J0(t,2,o,n,_)||C&&!J0(t,6,o,n,v))break e;k=0,i[e+28>>2]=0,i[e+24>>2]=0,i[e+20>>2]=0,i[e+16>>2]=0,i[e+12>>2]=0,i[e+8>>2]=0,i[e+4>>2]=0,i[e>>2]=0,w=v0(i[r>>2],0,e+28|0),W=v0(i[r>>2],1,e+24|0),y=v0(i[r>>2],2,e+20|0),_=v0(t,0,e+12|0),v=v0(t,1,e+8|0),u=v0(t,2,e+4|0),C&&(R=v0(i[r>>2],6,e+16|0),D=v0(t,6,e));A:{if((n|0)<=0)break A;for(;l[v+m(i[e+8>>2],k)|0]=s[W+m(i[e+24>>2],k)|0],l[u+m(i[e+4>>2],k)|0]=s[m(i[e+20>>2],k)+y|0],k=k+1|0,(n|0)!=(k|0););if(!(o&1)){if((n|0)<=0)break A;for(k=(o+u|0)-1|0,I=(o+v|0)-1|0,r=o>>1,p=(r+y|0)-1|0,E=(r+W|0)-1|0,r=0;l[I+m(i[e+8>>2],r)|0]=s[E+m(i[e+24>>2],r)|0],l[k+m(i[e+4>>2],r)|0]=s[p+m(i[e+20>>2],r)|0],r=r+1|0,(n|0)!=(r|0););}if((n|0)<=0)break A;if((o|0)>=3){for(E=o-1|0,k=0;;){for(r=1;Z=r>>>1|0,p=Z+(m(i[e+20>>2],k)+y|0)|0,I=s[p+1|0],p=s[p|0],Z=Z+(W+m(i[e+24>>2],k)|0)|0,J=s[Z|0],Z=s[Z+1|0],l[(v+m(i[e+8>>2],k)|0)+r|0]=(m(J,3)+Z|0)+2>>>2,l[((v+m(i[e+8>>2],k)|0)+r|0)+1|0]=(m(Z,3)+J|0)+2>>>2,l[(u+m(i[e+4>>2],k)|0)+r|0]=(I+m(p,3)|0)+2>>>2,l[((u+m(i[e+4>>2],k)|0)+r|0)+1|0]=(p+m(I,3)|0)+2>>>2,r=r+2|0,(E|0)>(r|0););if(k=k+1|0,(n|0)==(k|0))break}if((n|0)<=0)break A}if(C){for(r=0;l0(_+m(i[e+12>>2],r)|0,w+m(i[e+28>>2],r)|0,o),l0(m(i[e>>2],r)+D|0,m(i[e+16>>2],r)+R|0,o),r=r+1|0,(n|0)!=(r|0););break A}if(r=0,(n|0)!=1)for(v=n&2147483646,k=0;l0(_+m(i[e+12>>2],r)|0,w+m(i[e+28>>2],r)|0,o),u=r|1,l0(_+m(u,i[e+12>>2])|0,w+m(u,i[e+28>>2])|0,o),r=r+2|0,k=k+2|0,(v|0)!=(k|0););if(!(n&1))break A;l0(_+m(i[e+12>>2],r)|0,w+m(i[e+28>>2],r)|0,o)}i[f+4>>2]=A,i[f>>2]=t;break r}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(!h||(f=i[h+4>>2],i[h+4>>2]=f-1,f))break i;V[i[i[h>>2]+8>>2]](h),g(h)}B=e+32|0}function ph(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0;e=B-16|0,B=e,A=U(136),i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=72792,B0(A+20|0,0,104),k=i[A+4>>2],w=k+1|0,i[A+4>>2]=w,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,n=A- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,n=A+12|0,i[A+12>>2]=n,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=k,i[A+16>>2]=A,w||(V[i[i[A>>2]+8>>2]](A),g(A)),k=i[r>>2],_=i[k+24>>2],w=i[k+28>>2],k=w,i[n+36>>2]=1,i[n+32>>2]=0,i[n+28>>2]=k,i[n+24>>2]=_,t=(k+1|0)/2|0,h=(_+1|0)/2|0;i:{r:{if(o=U0(i[r>>2],0),!J0(n,0,_,k,o)||!J0(n,1,h,t,o)||!J0(n,2,h,t,o)||(I=H2(i[r>>2],6),I&&(y=U0(i[r>>2],6),!J0(n,6,_,k,y))))break r;e:{if(o>>>0<=8){if(k=0,i[e+12>>2]=0,i[e+8>>2]=0,i[e+4>>2]=0,i[e>>2]=0,h=v0(i[r>>2],0,e),u=v0(n,0,e+4|0),v=v0(n,1,e+12|0),p=v0(n,2,e+8|0),o=1<>2])),B0(p,o,m(t,i[e+8>>2])),(w|0)<=0)break e;if((w|0)!=1)for(o=w&2147483646,t=0;l0(u+m(i[e+4>>2],k)|0,h+m(i[e>>2],k)|0,_),v=k|1,l0(u+m(v,i[e+4>>2])|0,h+m(v,i[e>>2])|0,_),k=k+2|0,t=t+2|0,(o|0)!=(t|0););if(!(w&1))break e;l0(u+m(i[e+4>>2],k)|0,h+m(i[e>>2],k)|0,_);break e}if(i[e+12>>2]=0,i[e+8>>2]=0,i[e+4>>2]=0,i[e>>2]=0,v=v0(i[r>>2],0,e),p=v0(n,0,e+4|0),J=v0(n,1,e+12|0),R=v0(n,2,e+8|0),i[e>>2]=i[e>>2]/2,i[e+4>>2]=i[e+4>>2]/2,(w|0)<=0)break e;if(D=i[e+8>>2]/2|0,z=i[e+12>>2]/2|0,(_|0)>0){for(k=128<>1]=k,X[o+u>>1]=k,W=u|2,X[W+h>>1]=k,X[o+W>>1]=k,W=u|4,X[W+h>>1]=k,X[o+W>>1]=k,u=u|6,X[u+h>>1]=k,X[o+u>>1]=k,t=t+4|0,Z=Z+4|0,(a|0)!=(Z|0););if(u=0,E)for(;Z=t<<1,X[Z+h>>1]=k,X[o+Z>>1]=k,t=t+1|0,u=u+1|0,(E|0)!=(u|0););if(C=C+1|0,(H|0)==(C|0))break}if((w|0)<=0)break e}if(t=_<<1,k=0,(w|0)!=1)for(h=w&2147483646,o=0;l0(p+(m(i[e+4>>2],k)<<1)|0,v+(m(i[e>>2],k)<<1)|0,t),u=k|1,l0(p+(m(u,i[e+4>>2])<<1)|0,v+(m(u,i[e>>2])<<1)|0,t),k=k+2|0,o=o+2|0,(h|0)!=(o|0););if(!(w&1))break e;l0(p+(m(i[e+4>>2],k)<<1)|0,v+(m(i[e>>2],k)<<1)|0,t)}e:{if(!I||(k=0,i[e+12>>2]=0,i[e+8>>2]=0,r=v0(i[r>>2],6,e+12|0),t=v0(n,6,e+8|0),(w|0)<=0))break e;if(_=_<<(y>>>0>8),(w|0)!=1)for(o=w&2147483646,u=0;l0(t+m(i[e+8>>2],k)|0,r+m(i[e+12>>2],k)|0,_),h=k|1,l0(t+m(h,i[e+8>>2])|0,r+m(h,i[e+12>>2])|0,_),k=k+2|0,u=u+2|0,(o|0)!=(u|0););if(!(w&1))break e;l0(t+m(i[e+8>>2],k)|0,r+m(i[e+12>>2],k)|0,_)}i[f+4>>2]=A,i[f>>2]=n;break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break i;V[i[i[A>>2]+8>>2]](A),g(A)}B=e+16|0}function s4(f,e,r,A,k,n,t,o,u){var h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0;w=B-112|0,B=w,h=u&2147483647;i:{r:{if(v=k&2147483647,_=2147418112,Z=!(e|r),!(A|v?v-_>>>0<2147549184:Z)&&(I=h-_|0,!o&(I|0)==-2147418112?n|t:(I|0)==-2147418112&(o|0)!=0|I>>>0>2147549184))break r;if(!(!A&(v|0)==2147418112?Z:v>>>0<2147418112)){o=A,u=k|32768,n=e,t=r;break i}if(!(!o&(h|0)==2147418112?!(n|t):h>>>0<2147418112)){u=u|32768;break i}if(!(e|A|(v^2147418112|r))){h=A,A=!(e^n|A^o|(r^t|k^u^-2147483648)),o=A?0:h,u=A?2147450880:k,n=A?0:e,t=A?0:r;break i}if(_=n|o,!(_|(h^2147418112|t)))break i;if(!(e|A|(r|v))){if(t|h|_)break i;n=e&n,t=r&t,o=A&o,u=k&u;break i}if(n|o|(t|h))break r;n=e,t=r,o=A,u=k;break i}_=(h|0)==(v|0),W=_&(A|0)==(o|0)?(r|0)==(t|0)&e>>>0>>0|r>>>0>>0:_&A>>>0>>0|h>>>0>v>>>0,Z=W,v=Z?n:e,I=Z?t:r,_=Z?u:k,y=_,Z=Z?o:A,C=_&65535,h=W?A:o,_=W?k:u,A=_,_=A>>>16&32767,p=y>>>16&32767,p||(p=!(Z|C),o=p,p=o<<6,E=$2(o?v:Z)+32|0,o=$2(o?I:C),p=p+((o|0)==32?E:o)|0,L1(w+96|0,v,I,Z,C,p-15|0),Z=i[w+104>>2],C=i[w+108>>2],I=i[w+100>>2],p=16-p|0,v=i[w+96>>2]),n=W?e:n,t=W?r:t,e=h,r=A&65535,_||(h=!(e|r),W=h,A=h?n:e,h=h<<6,W=$2(W?t:r),h=h+((W|0)==32?$2(A)+32|0:W)|0,L1(w+80|0,n,t,e,r,h-15|0),_=16-h|0,n=i[w+80>>2],t=i[w+84>>2],e=i[w+88>>2],r=i[w+92>>2]),A=r<<3,r=e,e=A|e>>>29,h=r<<3,r=e,e=t>>>29|h,r=r|524288,h=C<<3|Z>>>29,C=Z<<3|I>>>29,W=h,o=k^u,h=t<<3|n>>>29,A=n<<3;r:{if((_|0)==(p|0))break r;if(k=p-_|0,k>>>0>127){e=0,r=0,h=0,A=1;break r}L1(w- -64|0,A,h,e,r,128-k|0),ti(w+48|0,A,h,e,r,k),e=i[w+56>>2],r=i[w+60>>2],h=i[w+52>>2],A=i[w+48>>2]|(i[w+64>>2]|i[w+72>>2]|(i[w+68>>2]|i[w+76>>2]))!=0}Z=A,_=h,W=W|524288,h=I<<3|v>>>29,v=v<<3;r:{if((o|0)<0){if(n=0,t=0,o=0,u=0,!(v^Z|e^C|(h^_|r^W)))break i;if(A=v-Z|0,k=h-((v>>>0>>0)+_|0)|0,n=C-e|0,t=(h|0)==(_|0)&v>>>0>>0|h>>>0<_>>>0,o=n-t|0,e=(W-((e>>>0>C>>>0)+r|0)|0)-(n>>>0>>0)|0,u=e,e>>>0>524287)break r;r=!(e|o),t=r,u=r?A:o,r=r<<6,t=$2(t?k:e),r=r+((t|0)==32?$2(u)+32|0:t)|0,n=e,e=r-12|0,L1(w+32|0,A,k,o,n,e),p=p-e|0,o=i[w+40>>2],u=i[w+44>>2],A=i[w+32>>2],k=i[w+36>>2];break r}if(h=h+_|0,A=v+Z|0,k=A>>>0>>0?h+1|0:h,n=(_|0)==(k|0)&A>>>0>>0|k>>>0<_>>>0,h=r+W|0,e=e+C|0,h=e>>>0>>0?h+1|0:h,o=e+n|0,u=o>>>0>>0?h+1|0:h,!(u&1048576))break r;A=Z&1|((k&1)<<31|A>>>1),k=o<<31|k>>>1,p=p+1|0,o=(u&1)<<31|o>>>1,u=u>>>1|0}if(n=0,e=y&-2147483648,v=e,(p|0)>=32767){o=n,u=e|2147418112,t=0;break i}_=0;r:{if((p|0)>0){_=p;break r}L1(w+16|0,A,k,o,u,p+127|0),ti(w,A,k,o,u,1-p|0),A=i[w>>2]|(i[w+16>>2]|i[w+24>>2]|(i[w+20>>2]|i[w+28>>2]))!=0,k=i[w+4>>2],o=i[w+8>>2],u=i[w+12>>2]}r=(k&7)<<29|A>>>3,e=o<<29|k>>>3,k=n|((u&7)<<29|o>>>3),n=v|(u>>>3&65535|_<<16);r:{e:{if(A=A&7,(A|0)!=4){u=n,n=A>>>0>4,t=n,n=r+n|0,t=t>>>0>n>>>0?e+1|0:e,e=(t|0)==(e|0)&r>>>0>n>>>0|e>>>0>t>>>0,o=e+k|0,u=e>>>0>o>>>0?u+1|0:u;break e}h=n,A=r&1,n=r+A|0,t=A>>>0>n>>>0?e+1|0:e,e=(t|0)==(e|0)&r>>>0>n>>>0|e>>>0>t>>>0,o=e+k|0,u=e>>>0>o>>>0?h+1|0:h;break r}if(!A)break i}}i[f>>2]=n,i[f+4>>2]=t,i[f+8>>2]=o,i[f+12>>2]=u,B=w+112|0}function Uk(f,e,r){var A=0,k=0,n=0,t=0;k=B-160|0,B=k,A=i[r+4>>2],r=i[r>>2],A=A-r|0;i:{if(A>>>0<=7){if(e=U(32),i[k+16>>2]=e,i[k+20>>2]=25,i[k+24>>2]=-2147483616,r=s[14528]|s[14529]<<8|(s[14530]<<16|s[14531]<<24),A=s[14524]|s[14525]<<8|(s[14526]<<16|s[14527]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+25|0]=0,l[e+24|0]=s[14548],r=s[14544]|s[14545]<<8|(s[14546]<<16|s[14547]<<24),A=s[14540]|s[14541]<<8|(s[14542]<<16|s[14543]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[14536]|s[14537]<<8|(s[14538]<<16|s[14539]<<24),A=s[14532]|s[14533]<<8|(s[14534]<<16|s[14535]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,118,k+16|0),l[k+27|0]>=0)break i;G(i[k+16>>2]);break i}if(n=s[r|0],n){i[k+24>>2]=54496,i[k+80>>2]=54516,e=i[13633],i[k+16>>2]=e,r=i[e-12>>2],e=k+16|0,i[r+e>>2]=i[13634],i[k+20>>2]=0,r=e+i[i[k+16>>2]-12>>2]|0,A=k+28|0,b0(r,A),i[r+72>>2]=0,i[r+76>>2]=-1,r=i[13635],i[k+24>>2]=r,t=k+24|0,i[t+i[r-12>>2]>>2]=i[13636],r=i[13632],i[k+16>>2]=r,i[e+i[r-12>>2]>>2]=i[13637],i[k+80>>2]=54516,i[k+16>>2]=54476,i[k+24>>2]=54496,e=$0(A),i[e>>2]=53552,i[k+68>>2]=0,i[k+72>>2]=0,i[k+60>>2]=0,i[k+64>>2]=0,i[k+76>>2]=24,x(H0(x(t,18893,19),n),12125,17),r=k+4|0,i2(r,e),r0(f,4,3002,r),l[k+15|0]<0&&G(i[k+4>>2]),f=i[13631],i[k+16>>2]=f,i[i[f-12>>2]+(k+16|0)>>2]=i[13639],i[k+24>>2]=i[13640],i[e>>2]=53552,l[k+71|0]<0&&G(i[k+60>>2]),K0(e),T0(k+80|0);break i}n=s[r+1|0],X[e>>1]=s[r+2|0]+1,X[e+2>>1]=s[r+3|0]+1;r:{if(n&1){if(n=11,A>>>0<=11){if(e=U(32),i[k+16>>2]=e,i[k+20>>2]=26,i[k+24>>2]=-2147483616,r=s[9318]|s[9319]<<8|(s[9320]<<16|s[9321]<<24),A=s[9314]|s[9315]<<8|(s[9316]<<16|s[9317]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+26|0]=0,r=s[9338]|s[9339]<<8,l[e+24|0]=r,l[e+25|0]=r>>>8,r=s[9334]|s[9335]<<8|(s[9336]<<16|s[9337]<<24),A=s[9330]|s[9331]<<8|(s[9332]<<16|s[9333]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[9326]|s[9327]<<8|(s[9328]<<16|s[9329]<<24),A=s[9322]|s[9323]<<8|(s[9324]<<16|s[9325]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,118,k+16|0),l[k+27|0]>=0)break i;G(i[k+16>>2]);break i}A=s[r+4|0]|s[r+5|0]<<8|(s[r+6|0]<<16|s[r+7|0]<<24),i[e+4>>2]=A<<24|(A&65280)<<8|(A>>>8&65280|A>>>24),A=s[r+9|0]<<16|s[r+8|0]<<24|s[r+10|0]<<8;break r}i[e+4>>2]=s[r+5|0]|s[r+4|0]<<8,n=7,A=s[r+6|0]<<8}if(i[e+8>>2]=A|s[r+n|0],e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+160|0}function Wh(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0;n=B+-64|0,B=n;i:{r:{e:{A:{f:{if(!(A&&e)){i[f>>2]=5,i[f+4>>2]=2001,i[f+8>>2]=12607;break f}if(o=U(120),i[o+4>>2]=0,i[o+8>>2]=0,i[o>>2]=72064,w=o+16|0,i[w+8>>2]=0,i[w+12>>2]=0,i[w+16>>2]=0,i[w+20>>2]=0,i[w+24>>2]=0,i[w+28>>2]=0,i[w+32>>2]=0,i[w>>2]=68500,i[o+52>>2]=0,i[o+56>>2]=0,i[o+68>>2]=0,l[o+57|0]=0,l[o+58|0]=0,l[o+59|0]=0,l[o+60|0]=0,l[o+61|0]=0,l[o+62|0]=0,l[o+63|0]=0,l[o+64|0]=0,i[w>>2]=70032,i[o+112>>2]=0,i[o+116>>2]=0,i[o+104>>2]=0,i[o+108>>2]=0,i[o+96>>2]=0,i[o+100>>2]=0,i[o+88>>2]=0,i[o+92>>2]=0,i[o+80>>2]=0,i[o+84>>2]=0,i[o+72>>2]=0,i[o+76>>2]=0,i[o+32>>2]=1969513843,t=i[A+4>>2],h=t||31341,u=G2(h),u>>>0>=2147483640)break A;k:{n:{if(u>>>0>=11){_=(u|7)+1|0,t=U(_),i[n+60>>2]=_|-2147483648,i[n+52>>2]=t,i[n+56>>2]=u;break n}if(l[n+63|0]=u,t=n+52|0,!u)break k}F2(t,h,u)}h=o+72|0,l[t+u|0]=0,t=l[n+63|0];k:{n:{if(l[o+83|0]>=0){if((t|0)>=0){t=i[n+56>>2],i[h>>2]=i[n+52>>2],i[h+4>>2]=t,i[h+8>>2]=i[n+60>>2];break k}i4(h,i[n+52>>2],i[n+56>>2]);break n}if(u=(t|0)<0,_4(h,u?i[n+52>>2]:n+52|0,u?i[n+56>>2]:t),l[n+63|0]>=0)break k}G(i[n+52>>2])}if(t=i[A+8>>2],h=t||31341,u=G2(h),u>>>0>=2147483640)break e;k:{n:{if(u>>>0>=11){_=(u|7)+1|0,t=U(_),i[n+48>>2]=_|-2147483648,i[n+40>>2]=t,i[n+44>>2]=u;break n}if(l[n+51|0]=u,t=n+40|0,!u)break k}F2(t,h,u)}l[t+u|0]=0,t=o+84|0,u=l[n+51|0];k:{n:{if(l[o+95|0]>=0){if((u|0)>=0){u=i[n+44>>2],i[t>>2]=i[n+40>>2],i[t+4>>2]=u,i[t+8>>2]=i[n+48>>2];break k}i4(t,i[n+40>>2],i[n+44>>2]);break n}h=t,t=(u|0)<0,_4(h,t?i[n+40>>2]:n+40|0,t?i[n+44>>2]:u)}if(l[n+51|0]>=0)break k;G(i[n+40>>2])}if(t=i[A+12>>2],h=t||31341,u=G2(h),u>>>0>=2147483640)break r;k:{n:{if(u>>>0>=11){_=(u|7)+1|0,t=U(_),i[n+36>>2]=_|-2147483648,i[n+28>>2]=t,i[n+32>>2]=u;break n}if(l[n+39|0]=u,t=n+28|0,!u)break k}F2(t,h,u)}l[t+u|0]=0,t=o+96|0,u=l[n+39|0];k:{n:{if(l[o+107|0]>=0){if((u|0)>=0){u=i[n+32>>2],i[t>>2]=i[n+28>>2],i[t+4>>2]=u,i[t+8>>2]=i[n+36>>2];break k}i4(t,i[n+28>>2],i[n+32>>2]);break n}h=t,t=(u|0)<0,_4(h,t?i[n+28>>2]:n+28|0,t?i[n+32>>2]:u)}if(l[n+39|0]>=0)break k;G(i[n+28>>2])}if(A=i[A+16>>2],u=A||31341,A=G2(u),A>>>0>=2147483640)break i;k:{n:{if(A>>>0>=11){h=(A|7)+1|0,t=U(h),i[n+24>>2]=h|-2147483648,i[n+16>>2]=t,i[n+20>>2]=A;break n}if(l[n+27|0]=A,t=n+16|0,!A)break k}F2(t,u,A)}l[A+t|0]=0,A=o+108|0,t=l[n+27|0];k:{n:{if(l[o+119|0]>=0){if((t|0)>=0){t=i[n+20>>2],i[A>>2]=i[n+16>>2],i[A+4>>2]=t,i[A+8>>2]=i[n+24>>2];break k}i4(A,i[n+16>>2],i[n+20>>2]);break n}h=A,A=(t|0)<0,_4(h,A?i[n+16>>2]:n+16|0,A?i[n+20>>2]:t)}if(l[n+27|0]>=0)break k;G(i[n+16>>2])}if(e=i[e>>2],i[n+12>>2]=o,i[n+8>>2]=w,i[o+4>>2]=i[o+4>>2]+1,A=i[n+12>>2],i[n>>2]=i[n+8>>2],i[n+4>>2]=A,e=Q3(e,r,n,0),k&&(i[k>>2]=e),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[o+4>>2],i[o+4>>2]=f-1,f)break f;V[i[i[o>>2]+8>>2]](o),g(o)}B=n- -64|0;return}c2(),P()}c2(),P()}c2(),P()}c2(),P()}function Xh(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;k=B-16|0,B=k;i:{if(!(i[e+8>>2]|i[e+12>>2])){if(e=U(48),i[k+4>>2]=e,i[k+8>>2]=44,i[k+12>>2]=-2147483600,r=s[12293]|s[12294]<<8|(s[12295]<<16|s[12296]<<24),A=s[12289]|s[12290]<<8|(s[12291]<<16|s[12292]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+44|0]=0,r=s[12329]|s[12330]<<8|(s[12331]<<16|s[12332]<<24),l[e+40|0]=r,l[e+41|0]=r>>>8,l[e+42|0]=r>>>16,l[e+43|0]=r>>>24,r=s[12325]|s[12326]<<8|(s[12327]<<16|s[12328]<<24),A=s[12321]|s[12322]<<8|(s[12323]<<16|s[12324]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[12317]|s[12318]<<8|(s[12319]<<16|s[12320]<<24),A=s[12313]|s[12314]<<8|(s[12315]<<16|s[12316]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[12309]|s[12310]<<8|(s[12311]<<16|s[12312]<<24),A=s[12305]|s[12306]<<8|(s[12307]<<16|s[12308]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[12301]|s[12302]<<8|(s[12303]<<16|s[12304]<<24),A=s[12297]|s[12298]<<8|(s[12299]<<16|s[12300]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,4,0,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(A=i[r+16>>2],A>>>0>=536870913){if(e=U(32),i[k+4>>2]=e,i[k+8>>2]=31,i[k+12>>2]=-2147483616,r=s[8972]|s[8973]<<8|(s[8974]<<16|s[8975]<<24),A=s[8968]|s[8969]<<8|(s[8970]<<16|s[8971]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+31|0]=0,r=s[8995]|s[8996]<<8|(s[8997]<<16|s[8998]<<24),A=s[8991]|s[8992]<<8|(s[8993]<<16|s[8994]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,l[e+27|0]=r,l[e+28|0]=r>>>8,l[e+29|0]=r>>>16,l[e+30|0]=r>>>24,r=s[8988]|s[8989]<<8|(s[8990]<<16|s[8991]<<24),A=s[8984]|s[8985]<<8|(s[8986]<<16|s[8987]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[8980]|s[8981]<<8|(s[8982]<<16|s[8983]<<24),A=s[8976]|s[8977]<<8|(s[8978]<<16|s[8979]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,0,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}n=i[e+48>>2],t=i[e+52>>2]-n|0;r:{if(t>>>0>>0){L2(e+48|0,A-t|0),n=i[e+48>>2];break r}if(A>>>0>=t>>>0)break r;i[e+52>>2]=A+n}if(D6(r,n,A),s[r+20|0]==1){if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,100,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+16|0}function pr(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;u=B-32|0,B=u,i[u+28>>2]=0,i[u+20>>2]=0,i[u+24>>2]=0,I1(u,i[e>>2],r,u+20|0);i:{r:{if(i[u>>2]||(r=i[u+20>>2],t=i[u+24>>2],(r|0)==(t|0)))break r;for(;;){if(o=i[r>>2],i[o+16>>2]==1769173093){e:{A:{if(o=N0(o,68572,68596),o&&(r=i[r+4>>2],r))break A;t=i[o+60>>2],o=i[o+56>>2];break e}if(n=i[r+4>>2],_=n+1|0,i[r+4>>2]=_,t=i[o+60>>2],o=i[o+56>>2],i[r+4>>2]=n,_)break e;V[i[i[r>>2]+8>>2]](r),g(r)}if(!o|!t)break r;if(i[f+8>>2]=0,i[f+12>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+16>>2]=0,i[f+20>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i0[f+24>>3]=+(t|0)/+(k|0),i0[f>>3]=+(o|0)/+(A|0),r=i[u+20>>2],_=i[u+24>>2],(r|0)==(_|0))break i;for(;;){A=i[r>>2],k=i[A+16>>2];e:{A:{if((k|0)!=1668047216){if((k|0)!=1769107316){if((k|0)!=1768778098)break e;k=0,n=N0(A,68572,69532);f:{if(!n||(A=i[r+4>>2],!A))break f;i[A+4>>2]=i[A+4>>2]+1,k=A}if(A=i[n+48>>2],n=(((A|0)!=1)<<4)+f|0,i0[n>>3]=-i0[n>>3],A=(A|0)==1,n=(A?8:24)+f|0,i0[n>>3]=-i0[n>>3],n=(A?32:40)+f|0,i0[n>>3]=+((A?o:t)-1|0)-i0[n>>3],!k)break e;if(A=i[k+4>>2],i[k+4>>2]=A-1,!A)break A;break e}k=0,n=N0(A,68572,69472);f:{if(!n||(A=i[r+4>>2],!A))break f;i[A+4>>2]=i[A+4>>2]+1,k=A}A=i[n+48>>2];f:{k:{n:{if((A|0)!=270){if((A|0)!=180){if((A|0)!=90){A=t;break f}h=i0[f+32>>3],i0[f+32>>3]=i0[f+40>>3],v=i0[f+8>>3],i0[f+8>>3]=i0[f+24>>3],Z=i0[f>>3],i0[f>>3]=i0[f+16>>3],i0[f+24>>3]=-v,i0[f+16>>3]=-Z,h=+(o|0)-h+-1;break n}i0[f>>3]=-i0[f>>3],i0[f+8>>3]=-i0[f+8>>3],i0[f+16>>3]=-i0[f+16>>3],i0[f+24>>3]=-i0[f+24>>3],i0[f+32>>3]=+(o-1|0)-i0[f+32>>3],h=+(t-1|0)-i0[f+40>>3],A=t;break k}h=i0[f+24>>3],i0[f+24>>3]=i0[f+8>>3],v=i0[f+16>>3],i0[f+16>>3]=i0[f>>3],i0[f+8>>3]=-h,i0[f>>3]=-v,h=i0[f+32>>3],i0[f+32>>3]=+(t|0)-i0[f+40>>3]+-1}A=o,o=t}i0[f+40>>3]=h}if(!k){t=A;break e}if(n=i[k+4>>2],i[k+4>>2]=n-1,t=A,!n)break A;break e}k=0,n=N0(A,68572,69592);f:{if(!n||(A=i[r+4>>2],!A))break f;i[A+4>>2]=i[A+4>>2]+1,k=A}if(A=Ir(n,o),t=Vr(n,t),i0[f+32>>3]=i0[f+32>>3]-+(A|0),i0[f+40>>3]=i0[f+40>>3]-+(t|0),A=i[n+48>>2],t=i[n+52>>2],w=(t|0)/2|0,o=A+w|0,A=(A>>31)+(w>>31)|0,o=o2(o,o>>>0>>0?A+1|0:A,t,t>>31),A=i[n+56>>2],t=i[n+60>>2],w=(t|0)/2|0,n=A+w|0,A=(A>>31)+(w>>31)|0,t=o2(n,n>>>0>>0?A+1|0:A,t,t>>31),!k||(A=i[k+4>>2],i[k+4>>2]=A-1,A))break e}V[i[i[k>>2]+8>>2]](k),g(k)}if(r=r+8|0,(_|0)==(r|0))break}break i}if(r=r+8|0,(t|0)==(r|0))break}}i[f+8>>2]=0,i[f+12>>2]=0,i[f>>2]=0,i[f+4>>2]=1072693248,i[f+32>>2]=0,i[f+36>>2]=0,i[f+24>>2]=0,i[f+28>>2]=1072693248,i[f+16>>2]=0,i[f+20>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0}if(l[u+19|0]<0&&G(i[u+8>>2]),A=i[u+20>>2],A){if(f=i[u+24>>2],r=A,(f|0)!=(A|0)){for(;;){r=i[f-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(f=f-8|0,(A|0)==(f|0))break}r=i[u+20>>2]}i[u+24>>2]=A,G(r)}f=i[e+4>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=u+32|0}function G(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;i:{if(!f)break i;A=f-8|0,e=i[f-4>>2],f=e&-8,n=A+f|0;r:{if(e&1)break r;if(!(e&2)||(e=i[A>>2],A=A-e|0,A>>>0>2],e>>>0<=255){if(k=i[A+8>>2],(k|0)!=(r|0))break f;u=97016,h=i[24254]&a0(-2,e>>>3|0),i[u>>2]=h;break r}if(o=i[A+24>>2],(r|0)!=(A|0)){e=i[A+8>>2],i[e+12>>2]=r,i[r+8>>2]=e;break e}if(k=i[A+20>>2],k)e=A+20|0;else{if(k=i[A+16>>2],!k)break A;e=A+16|0}for(;t=e,r=k,e=r+20|0,k=i[r+20>>2],!(!k&&(e=r+16|0,k=i[r+16>>2],!k)););i[t>>2]=0;break e}if(e=i[n+4>>2],(e&3)!=3)break r;i[24256]=f,i[n+4>>2]=e&-2,i[A+4>>2]=f|1,i[n>>2]=f;return}i[k+12>>2]=r,i[r+8>>2]=k;break r}r=0}if(!o)break r;e=i[A+28>>2],k=(e<<2)+97320|0;e:{if(i[k>>2]==(A|0)){if(i[k>>2]=r,r)break e;u=97020,h=i[24255]&a0(-2,e),i[u>>2]=h;break r}if(i[o+(i[o+16>>2]==(A|0)?16:20)>>2]=r,!r)break r}if(i[r+24>>2]=o,e=i[A+16>>2],e&&(i[r+16>>2]=e,i[e+24>>2]=r),e=i[A+20>>2],!e)break r;i[r+20>>2]=e,i[e+24>>2]=r}if(A>>>0>=n>>>0||(e=i[n+4>>2],!(e&1)))break i;r:{e:{A:{f:{if(!(e&2)){if((n|0)==i[24260]){if(i[24260]=A,f=i[24257]+f|0,i[24257]=f,i[A+4>>2]=f|1,i[24259]!=(A|0))break i;i[24256]=0,i[24259]=0;return}if((n|0)==i[24259]){i[24259]=A,f=i[24256]+f|0,i[24256]=f,i[A+4>>2]=f|1,i[f+A>>2]=f;return}if(f=(e&-8)+f|0,r=i[n+12>>2],e>>>0<=255){if(k=i[n+8>>2],(k|0)==(r|0)){u=97016,h=i[24254]&a0(-2,e>>>3|0),i[u>>2]=h;break e}i[k+12>>2]=r,i[r+8>>2]=k;break e}if(o=i[n+24>>2],(r|0)!=(n|0)){e=i[n+8>>2],i[e+12>>2]=r,i[r+8>>2]=e;break A}if(k=i[n+20>>2],k)e=n+20|0;else{if(k=i[n+16>>2],!k)break f;e=n+16|0}for(;t=e,r=k,e=r+20|0,k=i[r+20>>2],!(!k&&(e=r+16|0,k=i[r+16>>2],!k)););i[t>>2]=0;break A}i[n+4>>2]=e&-2,i[A+4>>2]=f|1,i[f+A>>2]=f;break r}r=0}if(!o)break e;e=i[n+28>>2],k=(e<<2)+97320|0;A:{if((n|0)==i[k>>2]){if(i[k>>2]=r,r)break A;u=97020,h=i[24255]&a0(-2,e),i[u>>2]=h;break e}if(i[o+((n|0)==i[o+16>>2]?16:20)>>2]=r,!r)break e}if(i[r+24>>2]=o,e=i[n+16>>2],e&&(i[r+16>>2]=e,i[e+24>>2]=r),e=i[n+20>>2],!e)break e;i[r+20>>2]=e,i[e+24>>2]=r}if(i[A+4>>2]=f|1,i[f+A>>2]=f,i[24259]!=(A|0))break r;i[24256]=f;return}if(f>>>0<=255){e=(f&-8)+97056|0,k=i[24254],f=1<<(f>>>3);r:{if(!(k&f)){i[24254]=f|k,f=e;break r}f=i[e+8>>2]}i[e+8>>2]=A,i[f+12>>2]=A,i[A+12>>2]=e,i[A+8>>2]=f;return}r=31,f>>>0<=16777215&&(e=$2(f>>>8|0),r=((f>>>38-e&1)-(e<<1)|0)+62|0),i[A+28>>2]=r,i[A+16>>2]=0,i[A+20>>2]=0,t=(r<<2)+97320|0;r:{e:{e=i[24255],k=1<>>1|0)|0:0),e=i[t>>2];;){if(k=e,(i[e+4>>2]&-8)==(f|0))break e;if(e=r>>>29|0,r=r<<1,t=((e&4)+k|0)+16|0,e=i[t>>2],!e)break}r=24,e=k}k=A,n=A,f=8;break r}e=i[k+8>>2],i[e+12>>2]=A,r=8,t=k+8|0,n=0,f=24}i[t>>2]=A,i[r+A>>2]=e,i[A+12>>2]=k,i[f+A>>2]=n,f=i[24262]-1|0,i[24262]=f||-1}}function Gh(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0;W=e+4|0,o=r<<2,R=X[W+o>>1],u=e+2|0,w=X[u+o>>1],Z=e+6|0,_=X[Z+o>>1],A=r<<1,C=X[A+W>>1],h=m(r,6),r=X[h+W>>1],v=X[e+o>>1],W=X[W>>1],o=X[h+Z>>1],y=X[A+Z>>1],Z=X[Z>>1],k=m(o,-74)+m(y+Z|0,74)>>1,k=(k|0)>=32767?32767:k,k=(k|0)<=-32768?-32768:k,E=X[u+h>>1],J=X[A+u>>1],u=X[u>>1],n=m(E,-74)+m(J+u|0,74)>>1,n=(n|0)>=32767?32767:n,n=(n|0)<=-32768?-32768:n,h=X[e+h>>1],A=X[e+A>>1],e=X[e>>1],t=m(h,-74)+m(A+e|0,74)>>1,t=(t|0)>=32767?32767:t,t=(t|0)<=-32768?-32768:t,X[f+10>>1]=(m(k,16777142)+m(n+t|0,74)|0)+128>>>8,p=m(r,-74)+m(W+C|0,74)>>1,p=(p|0)>=32767?32767:p,p=(p|0)<=-32768?-32768:p,I=m(p,74),X[f+14>>1]=((I+(m(n,-84)+m(t,55)|0)|0)+m(k,16777187)|0)+128>>>8,X[f+12>>1]=(((m(n,-29)+m(t,84)|0)+m(p,16777142)|0)+m(k,55)|0)+128>>>8,X[f+8>>1]=((I+(m(n,55)+m(t,29)|0)|0)+m(k,84)|0)+128>>>8,p=m(_,74),k=((p+(m(y,-84)+m(Z,55)|0)|0)+m(o,-29)|0)+1>>1,k=(k|0)>=32767?32767:k,k=(k|0)<=-32768?-32768:k,I=m(w,74),n=((I+(m(J,-84)+m(u,55)|0)|0)+m(E,-29)|0)+1>>1,n=(n|0)>=32767?32767:n,n=(n|0)<=-32768?-32768:n,D=m(v,74),t=((D+(m(A,-84)+m(e,55)|0)|0)+m(h,-29)|0)+1>>1,t=(t|0)>=32767?32767:t,t=(t|0)<=-32768?-32768:t,X[f+26>>1]=(m(k,16777142)+m(n+t|0,74)|0)+128>>>8,_=(((m(y,-29)+m(Z,84)|0)+m(_,-74)|0)+m(o,55)|0)+1>>1,_=(_|0)>=32767?32767:_,_=(_|0)<=-32768?-32768:_,w=(((m(J,-29)+m(u,84)|0)+m(w,-74)|0)+m(E,55)|0)+1>>1,w=(w|0)>=32767?32767:w,w=(w|0)<=-32768?-32768:w,v=(((m(A,-29)+m(e,84)|0)+m(v,-74)|0)+m(h,55)|0)+1>>1,v=(v|0)>=32767?32767:v,v=(v|0)<=-32768?-32768:v,X[f+18>>1]=(m(_,16777142)+m(w+v|0,74)|0)+128>>>8,o=((p+(m(y,55)+m(Z,29)|0)|0)+m(o,84)|0)+1>>1,o=(o|0)>=32767?32767:o,o=(o|0)<=-32768?-32768:o,u=((I+(m(J,55)+m(u,29)|0)|0)+m(E,84)|0)+1>>1,u=(u|0)>=32767?32767:u,u=(u|0)<=-32768?-32768:u,e=(((m(A,55)+m(e,29)|0)+D|0)+m(h,84)|0)+1>>1,e=(e|0)>=32767?32767:e,e=(e|0)<=-32768?-32768:e,X[f+2>>1]=(m(o,16777142)+m(u+e|0,74)|0)+128>>>8,Z=m(R,74),A=((Z+(m(C,-84)+m(W,55)|0)|0)+m(r,-29)|0)+1>>1,A=(A|0)>=32767?32767:A,A=(A|0)<=-32768?-32768:A,h=m(A,74),X[f+30>>1]=((h+(m(n,-84)+m(t,55)|0)|0)+m(k,16777187)|0)+128>>>8,X[f+28>>1]=(((m(n,-29)+m(t,84)|0)+m(A,16777142)|0)+m(k,55)|0)+128>>>8,X[f+24>>1]=((h+(m(n,55)+m(t,29)|0)|0)+m(k,84)|0)+128>>>8,A=(((m(C,-29)+m(W,84)|0)+m(R,-74)|0)+m(r,55)|0)+1>>1,A=(A|0)>=32767?32767:A,A=(A|0)<=-32768?-32768:A,h=m(A,74),X[f+22>>1]=((h+(m(w,-84)+m(v,55)|0)|0)+m(_,16777187)|0)+128>>>8,X[f+20>>1]=(((m(w,-29)+m(v,84)|0)+m(A,16777142)|0)+m(_,55)|0)+128>>>8,X[f+16>>1]=((h+(m(w,55)+m(v,29)|0)|0)+m(_,84)|0)+128>>>8,r=((Z+(m(C,55)+m(W,29)|0)|0)+m(r,84)|0)+1>>1,r=(r|0)>=32767?32767:r,r=(r|0)<=-32768?-32768:r,C=m(r,74),X[f+6>>1]=((C+(m(u,-84)+m(e,55)|0)|0)+m(o,16777187)|0)+128>>>8,X[f+4>>1]=(((m(u,-29)+m(e,84)|0)+m(r,16777142)|0)+m(o,55)|0)+128>>>8,X[f>>1]=((C+(m(u,55)+m(e,29)|0)|0)+m(o,84)|0)+128>>>8}function Wr(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;n=B-48|0,B=n,o=i[e+60>>2],w=i[e+56>>2],_=o-w>>5;i:{if((o|0)==(w|0))break i;for(t=_>>>0<=1?1:_;;){if(i[w+(u<<5)>>2]==(r|0))break i;if(u=u+1|0,(t|0)==(u|0))break}u=t}w=e+56|0;i:{if((u|0)!=(_|0))break i;if(X[n+28>>1]=0,X[n+30>>1]=0,X[n+32>>1]=0,X[n+34>>1]=0,X[n+22>>1]=0,X[n+24>>1]=0,X[n+26>>1]=0,X[n+28>>1]=0,X[n+14>>1]=0,X[n+16>>1]=0,X[n+18>>1]=0,X[n+20>>1]=0,l[n+12|0]=k,i[n+8>>2]=r,o>>>0>2]){r=i[n+12>>2],i[o>>2]=i[n+8>>2],i[o+4>>2]=r,r=i[n+20>>2],i[o+8>>2]=i[n+16>>2],i[o+12>>2]=r,i[o+24>>2]=0,i[o+16>>2]=0,i[o+20>>2]=0,br(o+16|0,0,0,0),i[e+60>>2]=o+32;break i}if(r=vn(w,n+8|0),t=i[n+24>>2],i[e+60>>2]=r,!t)break i;if(r=t,o=i[n+28>>2],(r|0)!=(o|0)){for(;r=i[o-16>>2],r&&(i[o-12>>2]=r,G(r)),o=o-40|0,(t|0)!=(o|0););r=i[n+24>>2]}i[n+28>>2]=t,G(r)}i[n+40>>2]=0,r=n+32|0,i[r>>2]=0,i[r+4>>2]=0,i[n+24>>2]=0,i[n+28>>2]=0,i[n+16>>2]=0,i[n+20>>2]=0,i[n+8>>2]=0,i[n+12>>2]=0,(r|0)!=(A|0)&&(h=r,t=i[A>>2],r=i[A+4>>2],W8(h,t,r,r-t|0)),(k|0)==1&&(k=i[e+80>>2],r=k,i[n+16>>2]=r,i[n+20>>2]=r>>31,r=i[A+4>>2]-i[A>>2]|0,i[n+24>>2]=r,i[n+28>>2]=0,i[e+80>>2]=r+k),e=i[w>>2]+(u<<5)|0,h=e,w=e+16|0,r=i[e+24>>2],e=i[e+20>>2];i:{if(r>>>0>e>>>0){r=i[n+12>>2],i[e>>2]=i[n+8>>2],i[e+4>>2]=r,r=i[n+28>>2],i[e+16>>2]=i[n+24>>2],i[e+20>>2]=r,r=i[n+20>>2],i[e+8>>2]=i[n+16>>2],i[e+12>>2]=r,i[e+32>>2]=0,i[e+24>>2]=0,i[e+28>>2]=0,i[e+24>>2]=i[n+32>>2],i[e+28>>2]=i[n+36>>2],i[e+32>>2]=i[n+40>>2],i[n+40>>2]=0,i[n+32>>2]=0,i[n+36>>2]=0,e=e+40|0;break i}r=0;r:{e:{if(e=i[h+16>>2],k=(i[h+20>>2]-e|0)/40|0,t=k+1|0,t>>>0<107374183){if(A=(i[h+24>>2]-e|0)/40|0,e=A<<1,t=A>>>0>=53687091?107374182:e>>>0>t>>>0?e:t,t){if(t>>>0>=107374183)break e;r=U(m(t,40))}A=i[n+12>>2],e=m(k,40)+r|0,i[e>>2]=i[n+8>>2],i[e+4>>2]=A,A=i[n+28>>2],i[e+16>>2]=i[n+24>>2],i[e+20>>2]=A,A=i[n+20>>2],i[e+8>>2]=i[n+16>>2],i[e+12>>2]=A,i[e+24>>2]=i[n+32>>2],i[e+28>>2]=i[n+36>>2],i[e+32>>2]=i[n+40>>2],i[n+40>>2]=0,i[n+32>>2]=0,i[n+36>>2]=0,o=m(t,40)+r|0,k=e+40|0,A=i[h+20>>2],v=i[h+16>>2];A:{if((A|0)==(v|0)){r=e;break A}for(;t=A-40|0,u=i[t+4>>2],r=e-40|0,i[r>>2]=i[t>>2],i[r+4>>2]=u,u=i[t+20>>2],i[r+16>>2]=i[t+16>>2],i[r+20>>2]=u,u=i[t+12>>2],i[r+8>>2]=i[t+8>>2],i[r+12>>2]=u,u=e-8|0,i[u>>2]=0,_=A-16|0,i[e-16>>2]=i[_>>2],i[e-12>>2]=i[A-12>>2],e=A-8|0,i[u>>2]=i[e>>2],i[e>>2]=0,i[_>>2]=0,i[_+4>>2]=0,e=r,A=t,(v|0)!=(t|0););A=i[h+20>>2],v=i[h+16>>2]}if(i[h+24>>2]=o,i[h+20>>2]=k,i[h+16>>2]=r,(A|0)!=(v|0))for(;e=i[A-16>>2],e&&(i[A-12>>2]=e,G(e)),A=A-40|0,(v|0)!=(A|0););v&&G(v),e=k;break r}y0(),P()}_2(),P()}}i[w+4>>2]=e,e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,e=f+8|0;i:{if(l[78275]>=0){f=i[19567],i[e>>2]=i[19566],i[e+4>>2]=f,i[e+8>>2]=i[19568];break i}_0(e,i[19566],i[19567])}f=i[n+32>>2],f&&(i[n+36>>2]=f,G(f)),B=n+48|0}function Ch(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0;d=X[e+10>>1],p=X[e+26>>1],D=X[e+18>>1],z=X[e+2>>1],E=X[e+14>>1],J=X[e+12>>1],R=X[e+8>>1],h=1<>1],k=X[e+6>>1],y=X[e+30>>1],t=((m(_,-74)+m(k,74)|0)+m(y,74)|0)- -64>>7,w=n+65535|0,t=((A|0)>(t|0)?A:(n|0)>(t|0)?t:w)<<16>>16,v=X[e+20>>1],H=X[e+4>>1],a=X[e+28>>1],o=((m(v,-74)+m(H,74)|0)+m(a,74)|0)- -64>>7,o=((A|0)>(o|0)?A:(n|0)>(o|0)?o:w)<<16>>16,S=X[e+16>>1],q=X[e>>1],e=X[e+24>>1],u=((m(S,-74)+m(q,74)|0)+m(e,74)|0)- -64>>7,u=((A|0)>(u|0)?A:(n|0)>(u|0)?u:w)<<16>>16,i[f+40>>2]=h+(m(t,74)+(m(o,-74)+m(u,74)|0)|0)>>r,W=(((m(J,-74)+m(H,84)|0)+m(v,55)|0)+m(a,-29)|0)- -64>>7,W=((A|0)>(W|0)?A:(n|0)>(W|0)?W:w)<<16>>16,C=(((m(R,-74)+m(q,84)|0)+m(S,55)|0)+m(e,-29)|0)- -64>>7,C=((A|0)>(C|0)?A:(n|0)>(C|0)?C:w)<<16>>16,I=(((m(E,-74)+m(k,84)|0)+m(_,55)|0)+m(y,-29)|0)- -64>>7,I=((A|0)>(I|0)?A:(n|0)>(I|0)?I:w)<<16>>16,i[f+56>>2]=((m(W,-74)+m(C,74)|0)+m(I,74)|0)+h>>r,Z=((m(D,-74)+m(z,74)|0)+m(p,74)|0)- -64>>7,Z=((A|0)>(Z|0)?A:(n|0)>(Z|0)?Z:w)<<16>>16,i[f+44>>2]=(((m(Z,-74)+m(u,84)|0)+m(o,55)|0)+m(t,-29)|0)+h>>r,Z=m(Z,74),i[f+36>>2]=(((Z+m(u,55)|0)+m(o,-29)|0)+m(t,-84)|0)+h>>r,i[f+32>>2]=(((Z+m(u,29)|0)+m(o,84)|0)+m(t,55)|0)+h>>r,J=m(J,74),t=(((J+m(H,55)|0)+m(v,-29)|0)+m(a,-84)|0)- -64>>7,t=((A|0)>(t|0)?A:(n|0)>(t|0)?t:w)<<16>>16,R=m(R,74),o=(((R+m(q,55)|0)+m(S,-29)|0)+m(e,-84)|0)- -64>>7,o=((A|0)>(o|0)?A:(n|0)>(o|0)?o:w)<<16>>16,E=m(E,74),u=(((E+m(k,55)|0)+m(_,-29)|0)+m(y,-84)|0)- -64>>7,u=((A|0)>(u|0)?A:(n|0)>(u|0)?u:w)<<16>>16,i[f+24>>2]=((m(t,-74)+m(o,74)|0)+m(u,74)|0)+h>>r,v=(((J+m(H,29)|0)+m(v,84)|0)+m(a,55)|0)- -64>>7,v=((A|0)>(v|0)?A:(n|0)>(v|0)?v:w)<<16>>16,e=(((R+m(q,29)|0)+m(S,84)|0)+m(e,55)|0)- -64>>7,e=((e|0)<(A|0)?A:(e|0)<(n|0)?e:w)<<16>>16,_=(((E+m(k,29)|0)+m(_,84)|0)+m(y,55)|0)- -64>>7,_=((A|0)>(_|0)?A:(n|0)>(_|0)?_:w)<<16>>16,i[f+8>>2]=((m(v,-74)+m(e,74)|0)+m(_,74)|0)+h>>r,k=(((m(d,-74)+m(z,84)|0)+m(D,55)|0)+m(p,-29)|0)- -64>>7,k=((A|0)>(k|0)?A:(n|0)>(k|0)?k:w)<<16>>16,i[f+60>>2]=(((m(k,-74)+m(C,84)|0)+m(W,55)|0)+m(I,-29)|0)+h>>r,k=m(k,74),i[f+52>>2]=(((k+m(C,55)|0)+m(W,-29)|0)+m(I,-84)|0)+h>>r,i[f+48>>2]=(((k+m(C,29)|0)+m(W,84)|0)+m(I,55)|0)+h>>r,y=m(d,74),k=(((y+m(z,55)|0)+m(D,-29)|0)+m(p,-84)|0)- -64>>7,k=((A|0)>(k|0)?A:(n|0)>(k|0)?k:w)<<16>>16,i[f+28>>2]=(((m(k,-74)+m(o,84)|0)+m(t,55)|0)+m(u,-29)|0)+h>>r,k=m(k,74),i[f+20>>2]=(((k+m(o,55)|0)+m(t,-29)|0)+m(u,-84)|0)+h>>r,i[f+16>>2]=(((k+m(o,29)|0)+m(t,84)|0)+m(u,55)|0)+h>>r,p=(((y+m(z,29)|0)+m(D,84)|0)+m(p,55)|0)- -64>>7,A=((A|0)>(p|0)?A:(n|0)>(p|0)?p:w)<<16>>16,i[f+12>>2]=(((m(A,-74)+m(e,84)|0)+m(v,55)|0)+m(_,-29)|0)+h>>r,A=m(A,74),i[f+4>>2]=(((A+m(e,55)|0)+m(v,-29)|0)+m(_,-84)|0)+h>>r,i[f>>2]=(((A+m(e,29)|0)+m(v,84)|0)+m(_,55)|0)+h>>r}function Vh(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,u=i[13708],i[A+12>>2]=u,n=A+12|0,i[n+i[u-12>>2]>>2]=i[13709],u=n+i[i[A+12>>2]-12>>2]|0,k=A+16|0,b0(u,k),i[u+72>>2]=0,i[u+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,u=$0(k),i[u>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,k=A+148|0,R2(k,e,r),o=n,t=k,n=l[A+159|0],k=(n|0)<0,x(o,k?i[A+148>>2]:t,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=A+148|0,W0(n,r),o=n,n=l[A+159|0],k=(n|0)<0,x(A+12|0,k?i[A+148>>2]:o,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=x(H0(x(A+12|0,20352,9),s[e+48|0]),31338,1),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],t=(k|0)<0,x(n,t?i[A+148>>2]:o,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(H0(x(n,21093,13),s[e+49|0]),31338,1),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],t=(k|0)<0,x(n,t?i[A+148>>2]:o,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(H0(x(n,21624,17),s[e+50|0]),31338,1),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],t=(k|0)<0,x(n,t?i[A+148>>2]:o,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(H0(x(n,20482,15),s[e+52|0]),31338,1),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],t=(k|0)<0,x(n,t?i[A+148>>2]:o,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(H0(x(n,19578,12),s[e+53|0]),31338,1),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],t=(k|0)<0,x(n,t?i[A+148>>2]:o,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(H0(x(n,19530,22),s[e+55|0]),31338,1),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],t=(k|0)<0,x(n,t?i[A+148>>2]:o,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(H0(x(n,19378,22),s[e+56|0]),31338,1),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],t=(k|0)<0,x(n,t?i[A+148>>2]:o,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(H0(x(n,20188,24),s[e+57|0]),31338,1),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],t=(k|0)<0,x(n,t?i[A+148>>2]:o,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),x(n,19349,28);i:{if(s[e+58|0]){x(H0(A+12|0,s[e+59|0]+1|0),31338,1);break i}x(A+12|0,21752,12)}if(k=A+148|0,W0(k,r),n=0,o=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:o,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),x(A+12|0,16378,12),i[e+64>>2]!=i[e+60>>2])for(;r=x(A+12|0,21741,1),k=i[r>>2],t=k-12|0,o=i[t>>2]+r|0,i[o+4>>2]=i[o+4>>2]&-75|8,t=r+i[t>>2]|0,i[t+76>>2]==-1&&(o=A+148|0,k=i[t+28>>2],i[o>>2]=k,(k|0)!=100008&&(i[k+4>>2]=i[k+4>>2]+1),k=x0(o,100192),V[i[i[k>>2]+28>>2]](k,32)|0,O0(o),k=i[r>>2]),i[t+76>>2]=48,i[(r+i[k-12>>2]|0)+12>>2]=2,H0(r,s[i[e+60>>2]+n|0]),n=n+1|0,n>>>0>2]-i[e+60>>2]>>>0;);e=A+12|0,r=e+i[i[A+12>>2]-12>>2]|0,i[r+4>>2]=i[r+4>>2]&-75|2,x(e,31338,1),i2(f,u),f=i[13707],i[A+12>>2]=f,i[e+i[f-12>>2]>>2]=i[13710],i[u>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(u),T0(A+68|0),B=A+160|0}function Xr(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;n=f+e|0,r=i[f+4>>2];i:{r:{if(r&1)break r;if(!(r&2))break i;r=i[f>>2],e=r+e|0;e:{A:{f:{if(f=f-r|0,(f|0)!=i[24259]){if(A=i[f+12>>2],r>>>0<=255){if(k=i[f+8>>2],(k|0)!=(A|0))break f;u=97016,h=i[24254]&a0(-2,r>>>3|0),i[u>>2]=h;break r}if(t=i[f+24>>2],(f|0)!=(A|0)){r=i[f+8>>2],i[r+12>>2]=A,i[A+8>>2]=r;break e}if(k=i[f+20>>2],k)r=f+20|0;else{if(k=i[f+16>>2],!k)break A;r=f+16|0}for(;o=r,A=k,r=A+20|0,k=i[A+20>>2],!(!k&&(r=A+16|0,k=i[A+16>>2],!k)););i[o>>2]=0;break e}if(r=i[n+4>>2],(r&3)!=3)break r;i[24256]=e,i[n+4>>2]=r&-2,i[f+4>>2]=e|1,i[n>>2]=e;return}i[k+12>>2]=A,i[A+8>>2]=k;break r}A=0}if(!t)break r;r=i[f+28>>2],k=(r<<2)+97320|0;e:{if(i[k>>2]==(f|0)){if(i[k>>2]=A,A)break e;u=97020,h=i[24255]&a0(-2,r),i[u>>2]=h;break r}if(i[t+(i[t+16>>2]==(f|0)?16:20)>>2]=A,!A)break r}if(i[A+24>>2]=t,r=i[f+16>>2],r&&(i[A+16>>2]=r,i[r+24>>2]=A),r=i[f+20>>2],!r)break r;i[A+20>>2]=r,i[r+24>>2]=A}r:{e:{A:{f:{if(r=i[n+4>>2],!(r&2)){if(i[24260]==(n|0)){if(i[24260]=f,e=i[24257]+e|0,i[24257]=e,i[f+4>>2]=e|1,i[24259]!=(f|0))break i;i[24256]=0,i[24259]=0;return}if(i[24259]==(n|0)){i[24259]=f,e=i[24256]+e|0,i[24256]=e,i[f+4>>2]=e|1,i[f+e>>2]=e;return}if(e=(r&-8)+e|0,A=i[n+12>>2],r>>>0<=255){if(k=i[n+8>>2],(k|0)==(A|0)){u=97016,h=i[24254]&a0(-2,r>>>3|0),i[u>>2]=h;break e}i[k+12>>2]=A,i[A+8>>2]=k;break e}if(t=i[n+24>>2],(A|0)!=(n|0)){r=i[n+8>>2],i[r+12>>2]=A,i[A+8>>2]=r;break A}if(k=i[n+20>>2],k)r=n+20|0;else{if(k=i[n+16>>2],!k)break f;r=n+16|0}for(;o=r,A=k,r=A+20|0,k=i[A+20>>2],!(!k&&(r=A+16|0,k=i[A+16>>2],!k)););i[o>>2]=0;break A}i[n+4>>2]=r&-2,i[f+4>>2]=e|1,i[f+e>>2]=e;break r}A=0}if(!t)break e;r=i[n+28>>2],k=(r<<2)+97320|0;A:{if(i[k>>2]==(n|0)){if(i[k>>2]=A,A)break A;u=97020,h=i[24255]&a0(-2,r),i[u>>2]=h;break e}if(i[t+(i[t+16>>2]==(n|0)?16:20)>>2]=A,!A)break e}if(i[A+24>>2]=t,r=i[n+16>>2],r&&(i[A+16>>2]=r,i[r+24>>2]=A),r=i[n+20>>2],!r)break e;i[A+20>>2]=r,i[r+24>>2]=A}if(i[f+4>>2]=e|1,i[f+e>>2]=e,i[24259]!=(f|0))break r;i[24256]=e;return}if(e>>>0<=255){r=(e&-8)+97056|0,A=i[24254],e=1<<(e>>>3);r:{if(!(A&e)){i[24254]=e|A,e=r;break r}e=i[r+8>>2]}i[r+8>>2]=f,i[e+12>>2]=f,i[f+12>>2]=r,i[f+8>>2]=e;return}A=31,e>>>0<=16777215&&(r=$2(e>>>8|0),A=((e>>>38-r&1)-(r<<1)|0)+62|0),i[f+28>>2]=A,i[f+16>>2]=0,i[f+20>>2]=0,r=(A<<2)+97320|0;r:{k=i[24255],o=1<>2]=f,i[f+24>>2]=r;break e}for(A=e<<((A|0)!=31?25-(A>>>1|0)|0:0),r=i[r>>2];;){if(k=r,(i[r+4>>2]&-8)==(e|0))break r;if(r=A>>>29|0,A=A<<1,o=k+(r&4)|0,r=i[o+16>>2],!r)break}i[o+16>>2]=f,i[f+24>>2]=k}i[f+12>>2]=f,i[f+8>>2]=f;return}e=i[k+8>>2],i[e+12>>2]=f,i[k+8>>2]=f,i[f+24>>2]=0,i[f+12>>2]=k,i[f+8>>2]=e}}function Gr(f){var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;t=B-32|0,B=t;i:{e=i[f+16>>2];r:{if(e>>>0>=1024){i[f+16>>2]=e-1024,e=i[f+4>>2],u=i[e>>2],r=e+4|0,i[f+4>>2]=r,A=i[f+8>>2];e:{if((A|0)!=i[f+12>>2])break e;if(e=i[f>>2],e>>>0>>0){n=A-r|0,k=((r-e>>2)+1|0)/-2<<2,e=k+r|0,(r|0)!=(A|0)&&(F2(e,r,n),r=i[f+4>>2]),A=e+n|0,i[f+8>>2]=A,i[f+4>>2]=r+k;break e}if(k=(e|0)==(A|0)?1:A-e>>1,k>>>0>=1073741824)break i;if(o=k<<2,n=U(o),h=n+o|0,o=n+(k&-4)|0,k=o,(r|0)!=(A|0))for(A=k+(A-r|0)|0;i[k>>2]=i[r>>2],r=r+4|0,k=k+4|0,(A|0)!=(k|0););i[f+12>>2]=h,i[f+8>>2]=k,i[f+4>>2]=o,i[f>>2]=n,G(e),A=i[f+8>>2]}i[A>>2]=u,i[f+8>>2]=i[f+8>>2]+4;break r}if(r=i[f+8>>2],k=i[f+4>>2],n=r-k|0,e=i[f+12>>2],A=i[f>>2],o=e-A|0,n>>>0>>0){if((r|0)!=(e|0)){w=t,_=U(4096),i[w+12>>2]=_;e:{A:{n=i[f+8>>2];f:{if((n|0)!=i[f+12>>2]){e=n;break f}if(r=i[f+4>>2],A=i[f>>2],r>>>0>A>>>0){e=n-r|0,k=((r-A>>2)+1|0)/-2<<2,A=k+r|0,(r|0)!=(n|0)&&(F2(A,r,e),r=i[f+4>>2]),e=e+A|0,i[f+8>>2]=e,i[f+4>>2]=r+k;break f}if(e=(A|0)==(n|0)?1:n-A>>1,e>>>0>=1073741824)break A;if(o=e<<2,k=U(o),o=k+o|0,u=k+(e&-4)|0,e=u,(r|0)!=(n|0))for(n=(n-r|0)+e|0;i[e>>2]=i[r>>2],r=r+4|0,e=e+4|0,(n|0)!=(e|0););if(i[f+12>>2]=o,i[f+8>>2]=e,i[f+4>>2]=u,i[f>>2]=k,!A)break f;G(A),e=i[f+8>>2]}i[e>>2]=i[t+12>>2],i[f+8>>2]=i[f+8>>2]+4;break e}_2(),P()}break r}w=t,_=U(4096),i[w+12>>2]=_,_7(f,t+12|0),e=i[f+4>>2],u=i[e>>2],r=e+4|0,i[f+4>>2]=r,A=i[f+8>>2];e:{if((A|0)!=i[f+12>>2])break e;if(e=i[f>>2],e>>>0>>0){n=A-r|0,k=((r-e>>2)+1|0)/-2<<2,e=k+r|0,(r|0)!=(A|0)&&(F2(e,r,n),r=i[f+4>>2]),A=e+n|0,i[f+8>>2]=A,i[f+4>>2]=r+k;break e}if(k=(e|0)==(A|0)?1:A-e>>1,k>>>0>=1073741824)break i;if(o=k<<2,n=U(o),h=n+o|0,o=n+(k&-4)|0,k=o,(r|0)!=(A|0))for(A=k+(A-r|0)|0;i[k>>2]=i[r>>2],r=r+4|0,k=k+4|0,(A|0)!=(k|0););i[f+12>>2]=h,i[f+8>>2]=k,i[f+4>>2]=o,i[f>>2]=n,G(e),A=i[f+8>>2]}i[A>>2]=u,i[f+8>>2]=i[f+8>>2]+4;break r}if(i[t+28>>2]=f+12,e=(e|0)==(A|0)?1:o>>1,e>>>0>=1073741824)break i;u=e<<2,e=U(u),i[t+12>>2]=e,o=e+u|0,i[t+24>>2]=o,A=e+n|0,i[t+16>>2]=A,h=U(4096);e:{if((n|0)!=(u|0))break e;if((n|0)>0){A=A-((n>>>1|0)+2&-4)|0,i[t+16>>2]=A;break e}if(r=(r|0)==(k|0)?1:n>>1,r>>>0>=1073741824)break i;A=r<<2,n=U(A),i[t+12>>2]=n,o=A+n|0,i[t+24>>2]=o,A=n+(r&-4)|0,i[t+16>>2]=A,G(e),k=i[f+4>>2],r=i[f+8>>2],e=n}if(i[A>>2]=h,u=A+4|0,i[t+20>>2]=u,(r|0)!=(k|0)){for(;r=r-4|0,_7(t+12|0,r),k=i[f+4>>2],(k|0)!=(r|0););r=i[f+8>>2],o=i[t+24>>2],u=i[t+20>>2],A=i[t+16>>2],e=i[t+12>>2]}if(n=i[f>>2],i[f>>2]=e,i[t+12>>2]=n,i[f+4>>2]=A,i[t+16>>2]=k,i[f+8>>2]=u,i[t+20>>2]=r,e=i[f+12>>2],i[f+12>>2]=o,i[t+24>>2]=e,(r|0)!=(k|0)&&(i[t+20>>2]=((k-r|0)+3&-4)+r),!n)break r;G(n)}B=t+32|0;return}_2(),P()}function Ih(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0;e=B-32|0,B=e,t=U0(i[r>>2],0),w=U0(i[r>>2],1),_=U0(i[r>>2],2),W=H2(i[r>>2],6),W&&(v=U0(i[r>>2],6));i:{if(!(!(t>>>0>8|w>>>0>8)&_>>>0<9)){i[f>>2]=0,i[f+4>>2]=0;break i}if(!((t|0)==(w|0)&(t|0)==(_|0))){i[f>>2]=0,i[f+4>>2]=0;break i}A=i[r>>2],h=i[A+48>>2],h&&(i[h+4>>2]=i[h+4>>2]+1,A=i[r>>2]),k=i[A+28>>2],n=i[A+24>>2],A=U(136),i[A>>2]=72792,i[A+4>>2]=0,i[A+8>>2]=0,B0(A+20|0,0,104),u=i[A+4>>2],p=u+1|0,i[A+4>>2]=p,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,o=A- -64|0,i[o>>2]=0,i[o+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,o=A+12|0,i[A+12>>2]=o,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=u,i[A+16>>2]=A,p||(V[i[i[A>>2]+8>>2]](A),g(A)),i[o+36>>2]=2,i[o+32>>2]=0,i[o+28>>2]=k,i[o+24>>2]=n,u=(n+1|0)/2|0;r:{e:{if(!J0(o,0,n,k,t)||!J0(o,1,u,k,w)||!J0(o,2,u,k,_)||W&&!J0(o,6,n,k,v))break e;if(v=0,i[e+28>>2]=0,i[e+24>>2]=0,i[e+20>>2]=0,i[e+16>>2]=0,i[e+12>>2]=0,i[e+8>>2]=0,i[e+4>>2]=0,i[e>>2]=0,w=v0(i[r>>2],0,e+28|0),p=v0(i[r>>2],1,e+24|0),E=v0(i[r>>2],2,e+20|0),_=v0(o,0,e+12|0),J=v0(o,1,e+8|0),R=v0(o,2,e+4|0),W&&(D=v0(i[r>>2],6,e+16|0),v=v0(o,6,e)),!(!(n&1)|(k|0)<2))for(t=(u+R|0)-1|0,Z=(n+E|0)-1|0,u=(u+J|0)-1|0,y=(n+p|0)-1|0,C=k-2|0,r=0;l[u+m(i[e+8>>2],r)|0]=s[y+m(i[e+24>>2],r)|0],l[t+m(i[e+4>>2],r)|0]=s[Z+m(i[e+20>>2],r)|0],I=(r|0)!=(C|0),r=r+1|0,!!I;);A:{if((k|0)<=0)break A;if((n|0)>=2){for(u=n-1|0,t=0;;){for(r=0;Z=(m(i[e+20>>2],t)+E|0)+r|0,y=s[Z|0],Z=s[Z+1|0],C=r>>>1|0,I=(p+m(i[e+24>>2],t)|0)+r|0,l[C+(m(i[e+8>>2],t)+J|0)|0]=(s[I|0]+s[I+1|0]|0)+1>>>1,l[C+(m(i[e+4>>2],t)+R|0)|0]=(Z+y|0)+1>>>1,r=r+2|0,(u|0)>(r|0););if(t=t+1|0,(t|0)==(k|0))break}if((k|0)<=0)break A}if(W){for(r=0;l0(_+m(i[e+12>>2],r)|0,w+m(i[e+28>>2],r)|0,n),l0(m(i[e>>2],r)+v|0,m(i[e+16>>2],r)+D|0,n),r=r+1|0,(k|0)!=(r|0););break A}if(r=0,(k|0)!=1)for(v=k&2147483646,t=0;l0(_+m(i[e+12>>2],r)|0,w+m(i[e+28>>2],r)|0,n),u=r|1,l0(_+m(u,i[e+12>>2])|0,w+m(u,i[e+28>>2])|0,n),r=r+2|0,t=t+2|0,(v|0)!=(t|0););if(!(k&1))break A;l0(_+m(i[e+12>>2],r)|0,w+m(i[e+28>>2],r)|0,n)}i[f+4>>2]=A,i[f>>2]=o;break r}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(!h||(f=i[h+4>>2],i[h+4>>2]=f-1,f))break i;V[i[i[h>>2]+8>>2]](h),g(h)}B=e+32|0}function Qh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0;A=B-32|0,B=A,t=s[k+8|0],u=i[i[r>>2]+36>>2],e=U(136),i[e>>2]=72792,i[e+4>>2]=0,i[e+8>>2]=0,B0(e+20|0,0,104),k=i[e+4>>2],o=k+1|0,i[e+4>>2]=o,i[e+56>>2]=0,i[e+60>>2]=0,i[e+44>>2]=99,i[e+48>>2]=99,i[e+32>>2]=3795,n=e- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[e+132>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,i[e+84>>2]=1,i[e+88>>2]=1,i[e+72>>2]=e+76,i[e+92>>2]=0,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+112>>2]=0,l[e+113|0]=0,l[e+114|0]=0,l[e+115|0]=0,l[e+116|0]=0,l[e+117|0]=0,l[e+118|0]=0,l[e+119|0]=0,l[e+120|0]=0,n=e+12|0,i[e+12>>2]=n,i[e+8>>2]=i[e+8>>2]+1,i[e+4>>2]=k,i[e+16>>2]=e,o||(V[i[i[e>>2]+8>>2]](e),g(e)),k=i[r>>2],o=i[k+28>>2],h=i[k+24>>2],k=U0(k,10),i[n+36>>2]=3,i[n+32>>2]=1,i[n+28>>2]=o,i[n+24>>2]=h;i:{r:{if(!J0(n,3,h,o,k)||!J0(n,4,h,o,k)||!J0(n,5,h,o,k)||(Z=t&1,Z&&!J0(n,6,h,o,k)))break r;i[A+28>>2]=0,i[A+24>>2]=0,i[A+20>>2]=0,i[A+16>>2]=0,i[A+12>>2]=0,I=v0(i[r>>2],10,A+28|0),y=v0(n,3,A+24|0),E=v0(n,4,A+20|0),J=v0(n,5,A+16|0),Z&&(W=v0(n,6,A+12|0),p=i[A+12>>2]/2|0),Z=i[A+16>>2]/2|0,R=i[A+20>>2]/2|0,D=i[A+24>>2]/2|0;e:{if((o|0)<=0|(h|0)<=0)break e;if(z=(u&-3)==13?8:6,H=i[A+28>>2],!(t&1)){for(k=0;;){for(_=m(k,H)+I|0,w=(m(k,Z)<<1)+J|0,v=(m(k,R)<<1)+E|0,C=(m(k,D)<<1)+y|0,r=0;t=_+m(r,z)|0,u=s[t+4|0]|s[t+5|0]<<8,W=s[t+2|0]|s[t+3|0]<<8,p=r<<1,t=s[t|0]|s[t+1|0]<<8,X[p+C>>1]=t<<8|t>>>8,X[p+v>>1]=W<<8|W>>>8,X[w+p>>1]=u<<8|u>>>8,r=r+1|0,(h|0)!=(r|0););if(k=k+1|0,(o|0)==(k|0))break}break e}v=-1<>1]=t<<8|t>>>8,X[v+S>>1]=w<<8|w>>>8,X[v+a>>1]=_<<8|_>>>8,t=u+(r<<3)|0,t=s[t+6|0]|s[t+7|0]<<8,X[(r+C<<1)+W>>1]=t<<8|t>>>8,r=r+1|0,(h|0)!=(r|0););if(k=k+1|0,(o|0)==(k|0))break}break e;default:break A}for(;;){for(C=m(k,p),a=m(k,H)+I|0,S=(m(k,Z)<<1)+J|0,q=(m(k,R)<<1)+E|0,d=(m(k,D)<<1)+y|0,r=0;t=a+m(r,z)|0,u=s[t+4|0]|s[t+5|0]<<8,_=s[t+2|0]|s[t+3|0]<<8,w=r<<1,t=s[t|0]|s[t+1|0]<<8,X[w+d>>1]=t<<8|t>>>8,X[w+q>>1]=_<<8|_>>>8,X[w+S>>1]=u<<8|u>>>8,X[(r+C<<1)+W>>1]=v,r=r+1|0,(h|0)!=(r|0););if(k=k+1|0,(o|0)==(k|0))break}}i[f+4>>2]=e,i[f>>2]=n;break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[e+4>>2],i[e+4>>2]=f-1,f)break i;V[i[i[e>>2]+8>>2]](e),g(e)}B=A+32|0}function Mk(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;o=U(136),i[o+4>>2]=0,i[o+8>>2]=0,i[o>>2]=72792,B0(o+20|0,0,104),u=i[o+4>>2],w=u+1|0,i[o+4>>2]=w,i[o+56>>2]=0,i[o+60>>2]=0,i[o+44>>2]=99,i[o+48>>2]=99,i[o+32>>2]=3795,h=o- -64|0,i[h>>2]=0,i[h+4>>2]=0,i[o+132>>2]=0,i[o+124>>2]=0,i[o+128>>2]=0,i[o+84>>2]=1,i[o+88>>2]=1,i[o+72>>2]=o+76,i[o+92>>2]=0,i[o+96>>2]=0,i[o+100>>2]=0,i[o+104>>2]=0,i[o+108>>2]=0,i[o+112>>2]=0,l[o+113|0]=0,l[o+114|0]=0,l[o+115|0]=0,l[o+116|0]=0,l[o+117|0]=0,l[o+118|0]=0,l[o+119|0]=0,l[o+120|0]=0,h=o+12|0,i[o+12>>2]=h,i[o+8>>2]=i[o+8>>2]+1,i[o+4>>2]=u,i[o+16>>2]=o,w||(V[i[i[o>>2]+8>>2]](o),g(o)),i[t>>2]=h,u=i[t+4>>2],i[t+4>>2]=o;i:{if(!u||(o=i[u+4>>2],i[u+4>>2]=o-1,o))break i;V[i[i[u>>2]+8>>2]](u),g(u)}if(u=i[e+36>>2],o=i[t>>2],i[o+32>>2]=i[e+32>>2],i[o+36>>2]=u,i[o+28>>2]=(n-k|0)+1,i[o+24>>2]=(A-r|0)+1,u=i[e+60>>2],I=e- -64|0,(u|0)!=(I|0)){for(;;){o=i[u+24>>2],w=i[e+24>>2],_=(m(o,r)|0)/(w|0)|0,v=i[u+16>>2],p=(((m(A,o)|0)/(w|0)|0)-_|0)+1|0,o=i[u+28>>2],w=i[e+28>>2],W=(m(o,n)|0)/(w|0)|0,w=(m(k,o)|0)/(w|0)|0,J0(i[t>>2],v,p,(W-w|0)+1|0,s[u+20|0]),o=i[t>>2],C=o- -64|0,h=C;i:{r:{if(o=i[o+64>>2],!o)break r;for(;Z=(v|0)>i[o+16>>2],h=Z?h:o,o=i[(Z<<2)+o>>2],!!o;);if((h|0)==(C|0))break r;if(C=0,o=0,(v|0)>2])break i;C=i[h+48>>2],o=i[h+40>>2];break i}C=0,o=0}h=o,o=i[u+40>>2],v=i[u+48>>2];i:{if(s[u+20|0]!=8){if((w|0)>(W|0)||(p=p<<1,_=o+(_<<1)|0,o=w,W+o&1||(l0(h,_+m(o,v)|0,p),o=o+1|0),(w|0)==(W|0)))break i;for(;l0(h+m(o-w|0,C)|0,_+m(o,v)|0,p),Z=o+1|0,l0(h+m(Z-w|0,C)|0,_+m(v,Z)|0,p),o=o+2|0,(W|0)!=(Z|0););break i}if((w|0)>(W|0)||(_=o+_|0,o=w,W+o&1||(l0(h,_+m(o,v)|0,p),o=o+1|0),(w|0)==(W|0)))break i;for(;l0(h+m(o-w|0,C)|0,_+m(o,v)|0,p),Z=o+1|0,l0(h+m(Z-w|0,C)|0,_+m(v,Z)|0,p),o=o+2|0,(W|0)!=(Z|0););}h=i[u+4>>2];i:{if(h){for(;;)if(o=h,h=i[o>>2],!h)break i}for(;o=i[u+8>>2],w=i[o>>2]!=(u|0),u=o,!!w;);}if(u=o,(o|0)==(I|0))break}o=i[t>>2]}r=i[e+44>>2],A=i[e+48>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[o+44>>2]=r,r=i[o+48>>2],i[o+48>>2]=A;i:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r)}k=i[e+52>>2],r=i[t>>2],A=i[e+56>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+52>>2]=k,e=i[r+56>>2],i[r+56>>2]=A;i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];return}_0(f,i[19566],i[19567])}function yh(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0;u=B-16|0,B=u,o=i[k>>2],n=o+i[r>>2]|0;i:{if(i[r+4>>2]-n>>>0<(A|0)/8<<2>>>0){if(e=U(56),i[u+4>>2]=e,i[u+8>>2]=54,i[u+12>>2]=-2147483592,r=s[6821]|s[6822]<<8|(s[6823]<<16|s[6824]<<24),A=s[6817]|s[6818]<<8|(s[6819]<<16|s[6820]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+54|0]=0,r=s[6867]|s[6868]<<8|(s[6869]<<16|s[6870]<<24),A=s[6863]|s[6864]<<8|(s[6865]<<16|s[6866]<<24),l[e+46|0]=A,l[e+47|0]=A>>>8,l[e+48|0]=A>>>16,l[e+49|0]=A>>>24,l[e+50|0]=r,l[e+51|0]=r>>>8,l[e+52|0]=r>>>16,l[e+53|0]=r>>>24,r=s[6861]|s[6862]<<8|(s[6863]<<16|s[6864]<<24),A=s[6857]|s[6858]<<8|(s[6859]<<16|s[6860]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[6853]|s[6854]<<8|(s[6855]<<16|s[6856]<<24),A=s[6849]|s[6850]<<8|(s[6851]<<16|s[6852]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[6845]|s[6846]<<8|(s[6847]<<16|s[6848]<<24),A=s[6841]|s[6842]<<8|(s[6843]<<16|s[6844]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[6837]|s[6838]<<8|(s[6839]<<16|s[6840]<<24),A=s[6833]|s[6834]<<8|(s[6835]<<16|s[6836]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[6829]|s[6830]<<8|(s[6831]<<16|s[6832]<<24),A=s[6825]|s[6826]<<8|(s[6827]<<16|s[6828]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,136,u+4|0),l[u+15|0]>=0)break i;G(i[u+4>>2]);break i}t=s[n|0],h=s[n+1|0];r:{if((A|0)==32){n=s[n+3|0]|(h<<16|t<<24|s[n+2|0]<<8),t=o+4|0;break r}n=(h<<16|t<<24)>>16,t=o+2|0}i[k>>2]=t,i[e+4>>2]=n,o=i[k>>2],n=o+i[r>>2]|0,t=s[n|0],h=s[n+1|0];r:{if((A|0)==32){n=s[n+3|0]|(h<<16|t<<24|s[n+2|0]<<8),t=o+4|0;break r}n=(h<<16|t<<24)>>16,t=o+2|0}i[k>>2]=t,i[e+8>>2]=n,t=i[r>>2],h=i[k>>2],r=t+h|0,o=s[r|0],n=s[r+1|0];r:{if((A|0)==32){r=s[r+3|0]|(n<<16|o<<24|s[r+2|0]<<8),n=4;break r}r=n|o<<8,n=2}i[k>>2]=n+h,i[e+12>>2]=r,r=t,t=i[k>>2],r=r+t|0,o=s[r|0],n=s[r+1|0];r:{if((A|0)==32){A=s[r+3|0]|(n<<16|o<<24|s[r+2|0]<<8),r=4;break r}A=n|o<<8,r=2}if(i[k>>2]=r+t,i[e+16>>2]=A,e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=u+16|0}function D8(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;n=B-16|0,B=n,o=1;i:{if(u=e+112|0,w=i[e+108>>2],(u|0)==(w|0))break i;for(;;){h=0,A=w;r:{for(;;){if(_=i[i[A+20>>2]+56>>2]==(o|0),_)break r;t=A,k=i[A+4>>2];e:{if(k){for(;;)if(A=k,k=i[A>>2],!k)break e}for(;A=i[t+8>>2],k=i[A>>2]!=(t|0),t=A,!!k;);}if(h=h|_,(A|0)==(u|0))break}if(!(h&1))break i}o=o+1|0}}if(A=U(144),i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=70824,k=A+16|0,i[k+8>>2]=0,i[k+12>>2]=0,i[k+16>>2]=0,i[k+20>>2]=0,i[k+24>>2]=0,i[k+28>>2]=0,i[k+32>>2]=0,i[k>>2]=68500,i[A+52>>2]=0,i[A+56>>2]=0,i[A+68>>2]=0,l[A+57|0]=0,l[A+58|0]=0,l[A+59|0]=0,l[A+60|0]=0,l[A+61|0]=0,l[A+62|0]=0,l[A+63|0]=0,l[A+64|0]=0,i[k>>2]=69024,i[A+80>>2]=0,i[A+84>>2]=0,X[A+76>>1]=0,i[A+88>>2]=0,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,i[A+116>>2]=0,i[A+120>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+132>>2]=0,l[A+133|0]=0,l[A+134|0]=0,l[A+135|0]=0,l[A+136|0]=0,l[A+137|0]=0,l[A+138|0]=0,l[A+139|0]=0,l[A+140|0]=0,i[A+32>>2]=1768842853,i[f+4>>2]=A,i[f>>2]=k,i[A+72>>2]=o,l[k+124|0]=0,i[k+52>>2]=i[k+52>>2]&-2,k=G2(r),k>>>0<2147483640){i:{r:{if(k>>>0>=11){w=(k|7)+1|0,t=U(w),i[n+12>>2]=w|-2147483648,i[n+4>>2]=t,i[n+8>>2]=k;break r}if(l[n+15|0]=k,t=n+4|0,!k)break i}l0(t,r,k)}r=A+80|0,l[k+t|0]=0,k=l[n+15|0];i:{r:{if(l[A+91|0]>=0){if((k|0)>=0){A=i[n+8>>2],i[r>>2]=i[n+4>>2],i[r+4>>2]=A,i[r+8>>2]=i[n+12>>2];break i}i4(r,i[n+4>>2],i[n+8>>2]);break r}if(A=r,r=(k|0)<0,_4(A,r?i[n+4>>2]:n+4|0,r?i[n+8>>2]:k),l[n+15|0]>=0)break i}G(i[n+4>>2])}A=u,k=i[A>>2];i:{r:{if(!k)break r;for(;;){if(A=k,r=i[A+16>>2],r>>>0>o>>>0){if(u=A,k=i[A>>2],k)continue;break r}if(r>>>0>=o>>>0)break i;if(k=i[A+4>>2],!k)break}u=A+4|0}k=U(28),i[k+20>>2]=0,i[k+24>>2]=0,i[k+16>>2]=o,i[k+8>>2]=A,i[k>>2]=0,i[k+4>>2]=0,i[u>>2]=k,A=k,r=i[i[e+108>>2]>>2],r&&(i[e+108>>2]=r,A=i[u>>2]),D1(i[e+112>>2],A),i[e+116>>2]=i[e+116>>2]+1}r=i[f>>2],A=i[f+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[k+20>>2]=r,r=i[k+24>>2],i[k+24>>2]=A;i:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r)}e=i[e+92>>2],r=i[f>>2],i[n+4>>2]=r,A=i[f+4>>2],i[n+8>>2]=A;i:{r:{e:{if(!A){if(h=e+40|0,t=i[e+40>>2],t>>>0>=k0[e+44>>2])break r;i[t+4>>2]=A,i[t>>2]=r;break e}if(i[A+4>>2]=i[A+4>>2]+1,h=e+40|0,t=i[e+40>>2],t>>>0>=k0[e+44>>2])break r;i[t+4>>2]=A,i[t>>2]=r,i[A+4>>2]=i[A+4>>2]+1}k=t+8|0;break i}k=Q2(e+36|0,n+4|0),A=i[n+8>>2]}i[h>>2]=k;i:{if(!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break i;V[i[i[A>>2]+8>>2]](A),g(A)}B=n+16|0;return}c2(),P()}function Fh(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0;A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,k=i[n-12>>2],n=A+12|0,i[k+n>>2]=i[13709],k=n+i[i[A+12>>2]-12>>2]|0,h=A+16|0,b0(k,h),i[k+72>>2]=0,i[k+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,h=$0(h),i[h>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,k=A+148|0,R2(k,e,r),o=n,t=k,n=l[A+159|0],k=(n|0)<0,x(o,k?i[A+148>>2]:t,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=A+148|0,W0(n,r),t=n,n=l[A+159|0],k=(n|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=x(L0(x(A+12|0,21529,9),i[e+56>>2]),31338,1),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],t=(k|0)<0,x(n,t?i[A+148>>2]:o,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(L0(x(n,19425,23),Q[e+60>>1]),31338,1),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],t=(k|0)<0,x(n,t?i[A+148>>2]:o,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),o=x(n,20997,11),n=e- -64|0,k=l[e+75|0],t=(k|0)<0,k=x(x(o,t?i[e+64>>2]:n,t?i[e+68>>2]:k),31338,1),t=A+148|0,W0(t,r),o=t,t=l[A+159|0],u=(t|0)<0,x(k,u?i[A+148>>2]:o,u?i[A+152>>2]:t),l[A+159|0]<0&&G(i[A+148>>2]),o=x(k,21081,11),k=l[e+87|0],t=(k|0)<0,x(x(o,t?i[e+76>>2]:e+76|0,t?i[e+80>>2]:k),31338,1),k=l[e+75|0],t=(k|0)<0,u=i[e+68>>2];i:{if(((t?u:k)|0)!=4||(t=t?i[n>>2]:n,(s[t|0]|s[t+1|0]<<8|(s[t+2|0]<<16|s[t+3|0]<<24))!=1701669229))break i;k=A+148|0,W0(k,r),o=k,k=l[A+159|0],t=(k|0)<0,x(A+12|0,t?i[A+148>>2]:o,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),o=x(A+12|0,20918,14),k=l[e+99|0],t=(k|0)<0,k=x(x(o,t?i[e+88>>2]:e+88|0,t?i[e+92>>2]:k),31338,1),t=A+148|0,W0(t,r),o=t,t=l[A+159|0],u=(t|0)<0,x(k,u?i[A+148>>2]:o,u?i[A+152>>2]:t),l[A+159|0]<0&&G(i[A+148>>2]),o=x(k,20561,18),k=l[e+111|0],t=(k|0)<0,x(x(o,t?i[e+100>>2]:e+100|0,t?i[e+104>>2]:k),31338,1),k=s[e+75|0],u=i[e+68>>2]}t=k,k=k<<24>>24<0;i:{if(((k?u:t)|0)!=4||(n=k?i[n>>2]:n,(s[n|0]|s[n+1|0]<<8|(s[n+2|0]<<16|s[n+3|0]<<24))!=543781493))break i;n=A+148|0,W0(n,r),t=n,n=l[A+159|0],k=(n|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),t=x(A+12|0,21054,15),n=l[e+123|0],k=(n|0)<0,x(x(t,k?i[e+112>>2]:e+112|0,k?i[e+116>>2]:n),31338,1)}n=A+148|0,W0(n,r),k=n,r=l[A+159|0],n=(r|0)<0,x(A+12|0,n?i[A+148>>2]:k,n?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),n=A+12|0,r=x(n,20362,13),k=i[i[r>>2]-12>>2]+r|0,i[k+4>>2]=i[k+4>>2]|1,x(re(r,s[e+124|0]),31338,1),i2(f,h),f=i[13707],i[A+12>>2]=f,i[n+i[f-12>>2]>>2]=i[13710],i[h>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(h),T0(A+68|0),B=A+160|0}function Eh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;A=B-32|0,B=A,t=H2(i[r>>2],6),k=s[k+8|0];i:{r:{e:{if((U0(i[r>>2],3)|0)!=8||(U0(i[r>>2],4)|0)!=8)break e;if((U0(i[r>>2],5)|0)==8)break r}i[f>>2]=0,i[f+4>>2]=0;break i}r:{if(!t||(U0(i[r>>2],6)|0)==8)break r;i[f>>2]=0,i[f+4>>2]=0;break i}if(e=U(136),i[e+4>>2]=0,i[e+8>>2]=0,i[e>>2]=72792,B0(e+20|0,0,104),n=i[e+4>>2],o=n+1|0,i[e+4>>2]=o,i[e+56>>2]=0,i[e+60>>2]=0,i[e+44>>2]=99,i[e+48>>2]=99,i[e+32>>2]=3795,u=e- -64|0,i[u>>2]=0,i[u+4>>2]=0,i[e+132>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,i[e+84>>2]=1,i[e+88>>2]=1,i[e+72>>2]=e+76,i[e+92>>2]=0,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+112>>2]=0,l[e+113|0]=0,l[e+114|0]=0,l[e+115|0]=0,l[e+116|0]=0,l[e+117|0]=0,l[e+118|0]=0,l[e+119|0]=0,l[e+120|0]=0,u=e+12|0,i[e+12>>2]=u,i[e+8>>2]=i[e+8>>2]+1,i[e+4>>2]=n,i[e+16>>2]=e,o||(V[i[i[e>>2]+8>>2]](e),g(e)),n=i[r>>2],o=i[n+24>>2],h=i[n+28>>2],n=h,i[u+36>>2]=k&1?11:10,i[u+32>>2]=1,i[u+28>>2]=n,i[u+24>>2]=o,J0(u,10,o,n,8)){i[A+28>>2]=0,i[A+24>>2]=0,i[A+20>>2]=0,i[A+16>>2]=0,i[A+12>>2]=0,w=v0(i[r>>2],3,A+28|0),_=v0(i[r>>2],4,A+24|0),v=v0(i[r>>2],5,A+20|0),n=v0(u,10,A+12|0),t&&(Z=v0(i[r>>2],6,A+16|0));r:{if((h|0)<=0)break r;if((k&t)==1){if((o|0)<=0)break r;for(r=0,p=i[A+16>>2];;){for(W=m(r,p),k=0;t=k<<2,l[t+(n+m(i[A+12>>2],r)|0)|0]=s[(k+w|0)+m(i[A+28>>2],r)|0],l[(t+(n+m(i[A+12>>2],r)|0)|0)+1|0]=s[(k+_|0)+m(i[A+24>>2],r)|0],l[(t+(n+m(i[A+12>>2],r)|0)|0)+2|0]=s[(k+v|0)+m(i[A+20>>2],r)|0],l[(t+(n+m(i[A+12>>2],r)|0)|0)+3|0]=s[(k+W|0)+Z|0],k=k+1|0,(o|0)!=(k|0););if(r=r+1|0,(h|0)==(r|0))break}break r}if(k&1){if((o|0)<=0)break r;for(r=0;;){for(k=0;t=k<<2,l[t+(n+m(i[A+12>>2],r)|0)|0]=s[(k+w|0)+m(i[A+28>>2],r)|0],l[(t+(n+m(i[A+12>>2],r)|0)|0)+1|0]=s[(k+_|0)+m(i[A+24>>2],r)|0],l[(t+(n+m(i[A+12>>2],r)|0)|0)+2|0]=s[(k+v|0)+m(i[A+20>>2],r)|0],l[(t+(n+m(i[A+12>>2],r)|0)|0)+3|0]=255,k=k+1|0,(o|0)!=(k|0););if(r=r+1|0,(h|0)==(r|0))break}break r}if((o|0)<=0)break r;for(r=0;;){for(k=0;t=m(k,3),l[t+(n+m(i[A+12>>2],r)|0)|0]=s[(k+w|0)+m(i[A+28>>2],r)|0],l[(t+(n+m(i[A+12>>2],r)|0)|0)+1|0]=s[(k+_|0)+m(i[A+24>>2],r)|0],l[(t+(n+m(i[A+12>>2],r)|0)|0)+2|0]=s[(k+v|0)+m(i[A+20>>2],r)|0],k=k+1|0,(o|0)!=(k|0););if(r=r+1|0,(h|0)==(r|0))break}}i[f+4>>2]=e,i[f>>2]=u;break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[e+4>>2],i[e+4>>2]=f-1,f)break i;V[i[i[e>>2]+8>>2]](e),g(e)}B=A+32|0}function Yh(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;i[f+4>>2]=1,e=i[f+12>>2],i[e+324>>2]=i[e+324>>2]-1,i[e+328>>2]=i[e+328>>2]+1,e=i[f+12>>2],w=i[e+124>>2],h=i[w+16876>>2],v=i[w+16892>>2],A=v-1|0,i8(e,f,A,i[f+8>>2],i[f+24>>2]),r=i[f+8>>2],(r|0)>0&&(i8(i[f+12>>2],f,A,r-1|0,i[f+24>>2]),r=i[f+8>>2]),e=r+1|0,(e|0)>2]&&(i8(i[f+12>>2],f,A,e,i[f+24>>2]),r=i[f+8>>2],e=r+1|0),n=i[f+20>>2],A=i[f+16>>2],e=e<>2],k=(e|0)>(u|0)?u:e,k&1)break e;if(e=i[n+124>>2],u=(i[e+16840>>2]+7|0)/8|0,o=(i[e+16832>>2]+7|0)/8|0,e=i[A+40>>2],(e|0)==i[n+40>>2])break r;if((r|0)>=(k|0))break i;for(e=r;t=m(e,o),l0(i[n+4>>2]+m(t,i[n+40>>2])|0,i[A+4>>2]+m(t,i[A+40>>2])|0,m(o,i[A+24>>2])),e=e+1|0,(k|0)!=(e|0););break i}C0(17299,14027,570,7096),P()}C0(17314,14027,571,7096),P()}t=m(e,m(r,o)),l0(t+i[n+4>>2]|0,t+i[A+4>>2]|0,m(k-r|0,m(e,o)))}e=k,k=s[A+51|0],e=(e|0)/(k|0)|0,r=(r|0)/(k|0)|0;i:{if(!i[A+20>>2])break i;if(k=i[A+44>>2],(k|0)!=i[n+44>>2]){if((e|0)<=(r|0))break i;for(;k=m(r,u),l0(i[n+8>>2]+m(k,i[n+44>>2])|0,i[A+8>>2]+m(k,i[A+44>>2])|0,m(u,i[A+32>>2])),l0(i[n+12>>2]+m(k,i[n+44>>2])|0,i[A+12>>2]+m(k,i[A+44>>2])|0,m(u,i[A+32>>2])),r=r+1|0,(e|0)!=(r|0););break i}o=m(r,u),t=m(o,k),e=m(u,e-r|0),l0(t+i[n+8>>2]|0,t+i[A+8>>2]|0,m(e,k)),k=i[n+12>>2],r=i[n+44>>2],n=m(r,o),l0(k+n|0,n+i[A+12>>2]|0,m(e,r))}i:{if(i[w+16892>>2]<=0)break i;for(e=1<>2],n=i[A+52>>2],u=i[f+8>>2],k=Q[((i[A+140>>2]+m(m(u,i[A+152>>2]),24)|0)+m(r,24)|0)+2>>1],k>>>0>=i[A+56>>2]-n>>2>>>0||(n=i[n+(k<<2)>>2],!n))break i;r:{if(!s[n+333|0])break r;if(o=i[f+20>>2],k=i[o+40>>2],o=i[o+4>>2],t=i[f+16>>2],h=i[t+40>>2],t=i[t+4>>2],i[i[A+124>>2]+16832>>2]>=9){t6(A,r,u,0,e,e,t,h,o,k);break r}o6(A,r,u,0,e,e,t,h,o,k)}r:{if(!s[n+334|0])break r;A=(e|0)/i[w+16856>>2]|0,n=(e|0)/i[w+16852>>2]|0,u=i[f+8>>2],o=i[f+20>>2],k=i[o+44>>2],o=i[o+8>>2],t=i[f+16>>2],h=i[t+44>>2],t=i[t+8>>2],_=i[f+12>>2];e:{if(i[i[_+124>>2]+16840>>2]>=9){t6(_,r,u,1,n,A,t,h,o,k);break e}o6(_,r,u,1,n,A,t,h,o,k)}if(u=i[f+8>>2],o=i[f+20>>2],k=i[o+44>>2],o=i[o+12>>2],t=i[f+16>>2],h=i[t+44>>2],t=i[t+12>>2],_=i[f+12>>2],i[i[_+124>>2]+16840>>2]>=9){t6(_,r,u,2,n,A,t,h,o,k);break r}o6(_,r,u,2,n,A,t,h,o,k)}if(r=r+1|0,!((r|0)>2]))break}}if(r=0,(v|0)>0)for(;e=(i[i[f+12>>2]+320>>2]+m(r,76)|0)+m(m(i[f+8>>2],i[w+16892>>2]),76)|0,i[e>>2]<4&&(i[e>>2]=4),r=r+1|0,(v|0)!=(r|0););i[f+4>>2]=3,Ze(i[f+12>>2])}function Jh(){var f=0,e=0,r=0,A=0,k=0,n=0;s[99593]||(r=i[13846],A=B-16|0,B=A,f=$0(99240),i[f+40>>2]=99296,i[f+32>>2]=r,i[f>>2]=55716,l[f+52|0]=0,i[f+48>>2]=-1,k=A+12|0,e=i[f+4>>2],i[k>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),V[i[i[f>>2]+8>>2]](f,k),O0(k),B=A+16|0,i[24641]=55348,i[24641]=53680,i[24639]=53212,i[24641]=53232,i[24640]=0,Qe(i[13300]+98556|0,99240),k=i[12469],Q9(99304,k,99352),M3(98732,99304),n=i[12468],Q9(99360,n,99408),M3(98900,99360),M3(99068,i[(i[i[24725]-12>>2]+98900|0)+24>>2]),i[(i[i[24639]-12>>2]+98556|0)+72>>2]=98732,f=i[i[24725]-12>>2]+98900|0,i[f+4>>2]=i[f+4>>2]|8192,i[(i[i[24725]-12>>2]+98900|0)+72>>2]=98732,A=B-16|0,B=A,f=vt(99416),i[f+40>>2]=99472,i[f+32>>2]=r,i[f>>2]=55920,l[f+52|0]=0,i[f+48>>2]=-1,r=A+12|0,e=i[f+4>>2],i[r>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),V[i[i[f>>2]+8>>2]](f,r),O0(r),B=A+16|0,i[24663]=55348,i[24663]=54116,i[24661]=53460,i[24663]=53480,i[24662]=0,Qe(i[13362]+98644|0,99416),y9(99480,k,99528),x3(98816,99480),y9(99536,n,99584),x3(98984,99536),x3(99152,i[(i[i[24746]-12>>2]+98984|0)+24>>2]),i[(i[i[24661]-12>>2]+98644|0)+72>>2]=98816,f=i[i[24746]-12>>2]+98984|0,i[f+4>>2]=i[f+4>>2]|8192,i[(i[i[24746]-12>>2]+98984|0)+72>>2]=98816,l[99593]=1),f=B-16|0,B=f;i:{if(Zs(f+12|0,f+8|0)|0||(e=Z2((i[f+12>>2]<<2)+4|0),i[24899]=e,!e)||(e=Z2(i[f+8>>2]),e&&(i[i[24899]+(i[f+12>>2]<<2)>>2]=0,!(Bs(i[24899],e|0)|0))))break i;i[24899]=0}B=f+16|0,i[19564]=0,i[19565]=0,l[78275]=0,l[78264]=0,i[19570]=0,i[19571]=0,i[19569]=78280,i[19572]=78292,i[19573]=0,i[19574]=0,bA(),f=B-80|0,B=f,i[19578]=0,i[19577]=531,Nk(),i[19578]=i[23941],i[23941]=78308,i[19580]=0,i[19581]=0,i[19579]=78320,e=i[9245],i[f+48>>2]=i[9244],i[f+52>>2]=e,e=i[9243],i[f+40>>2]=i[9242],i[f+44>>2]=e,e=i[9241],i[f+32>>2]=i[9240],i[f+36>>2]=e,e=i[9239],i[f+24>>2]=i[9238],i[f+28>>2]=e,e=i[9237],i[f+16>>2]=i[9236],i[f+20>>2]=e,e=i[9235],i[f+8>>2]=i[9234],i[f+12>>2]=e,e=f+8|0,jr(78316,e,f+56|0),l0(e,36984,68),i[19582]=78332,i[19583]=0,i[19584]=0,jr(78328,e,f+76|0),i[19586]=0,i[19587]=0,i[19585]=78344,r=i[9276],i[f+56>>2]=i[9275],i[f+60>>2]=r,r=i[9274],i[f+48>>2]=i[9273],i[f+52>>2]=r,r=i[9272],i[f+40>>2]=i[9271],i[f+44>>2]=r,r=i[9270],i[f+32>>2]=i[9269],i[f+36>>2]=r,r=i[9268],i[f+24>>2]=i[9267],i[f+28>>2]=r,r=i[9266],i[f+16>>2]=i[9265],i[f+20>>2]=r,r=i[9264],i[f+8>>2]=i[9263],i[f+12>>2]=r,jr(78340,e,f- -64|0),B=f+80|0,i[19592]=0,i[19590]=0,i[19591]=0,i[23942]=970,i[23943]=0,an(),i[23943]=i[23941],i[23941]=95768,i[23985]=95820,i[23967]=42}function gh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;e=B-32|0,B=e;i:{r:{e:{if((U0(i[r>>2],3)|0)!=8||(U0(i[r>>2],4)|0)!=8)break e;if((U0(i[r>>2],5)|0)==8)break r}i[f>>2]=0,i[f+4>>2]=0;break i}t=H2(i[r>>2],6),u=s[k+8|0];r:{if(!t||(U0(i[r>>2],6)|0)==8)break r;i[f>>2]=0,i[f+4>>2]=0;break i}if(A=U(136),i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=72792,B0(A+20|0,0,104),k=i[A+4>>2],n=k+1|0,i[A+4>>2]=n,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,o=A- -64|0,i[o>>2]=0,i[o+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,o=A+12|0,i[A+12>>2]=o,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=k,i[A+16>>2]=A,n||(V[i[i[A>>2]+8>>2]](A),g(A)),n=i[r>>2],h=i[n+24>>2],k=h,w=i[n+28>>2],n=w,_=t|u,i[o+36>>2]=_&1?13:12,i[o+32>>2]=1,i[o+28>>2]=n,i[o+24>>2]=k,J0(o,10,k,n,U0(i[r>>2],3))){k=0,i[e+28>>2]=0,i[e+24>>2]=0,i[e+20>>2]=0,i[e+16>>2]=0,i[e+12>>2]=0,v=v0(i[r>>2],3,e+28|0),Z=v0(i[r>>2],4,e+24|0),p=v0(i[r>>2],5,e+20|0),n=v0(o,10,e+12|0);r:{if(t){if(u=v0(i[r>>2],6,e+16|0),(w|0)<=0|(h|0)<=0)break r;for(_=i[e+16>>2];;){for(W=u+m(k,_)|0,r=0;t=r<<3,l[t+(n+m(i[e+12>>2],k)|0)|0]=0,l[(t+(n+m(i[e+12>>2],k)|0)|0)+1|0]=s[(r+v|0)+m(i[e+28>>2],k)|0],l[(t+(n+m(i[e+12>>2],k)|0)|0)+2|0]=0,l[(t+(n+m(i[e+12>>2],k)|0)|0)+3|0]=s[(r+Z|0)+m(i[e+24>>2],k)|0],l[(t+(n+m(i[e+12>>2],k)|0)|0)+4|0]=0,l[(t+(n+m(i[e+12>>2],k)|0)|0)+5|0]=s[(r+p|0)+m(i[e+20>>2],k)|0],l[(t+(n+m(i[e+12>>2],k)|0)|0)+6|0]=0,l[(t+(n+m(i[e+12>>2],k)|0)|0)+7|0]=s[r+W|0],r=r+1|0,(h|0)!=(r|0););if(k=k+1|0,(w|0)==(k|0))break}break r}if((w|0)<=0|(h|0)<=0)break r;for(u=u&1?8:6;;){for(r=0;t=m(r,u),l[t+(n+m(i[e+12>>2],k)|0)|0]=0,l[(t+(n+m(i[e+12>>2],k)|0)|0)+1|0]=s[(r+v|0)+m(i[e+28>>2],k)|0],l[(t+(n+m(i[e+12>>2],k)|0)|0)+2|0]=0,l[(t+(n+m(i[e+12>>2],k)|0)|0)+3|0]=s[(r+Z|0)+m(i[e+24>>2],k)|0],l[(t+(n+m(i[e+12>>2],k)|0)|0)+4|0]=0,l[(t+(n+m(i[e+12>>2],k)|0)|0)+5|0]=s[(r+p|0)+m(i[e+20>>2],k)|0],_&1&&(l[(t+(n+m(i[e+12>>2],k)|0)|0)+6|0]=0,l[(t+(n+m(i[e+12>>2],k)|0)|0)+7|0]=255),r=r+1|0,(h|0)!=(r|0););if(k=k+1|0,(w|0)==(k|0))break}}i[f+4>>2]=A,i[f>>2]=o;break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break i;V[i[i[A>>2]+8>>2]](A),g(A)}B=e+32|0}function Nh(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;t=B-32|0,B=t,u=t+12|0,v=i[e>>2],Z=r,r=0,n=B-16|0,B=n;i:{if(k>>>0<5)break i;for(h=k-4|0;;){if(o=r+A|0,w=s[o+1|0]<<8,_=s[o+2|0]<<16|s[o+3|0]<<24,(s[o|0]|w|_)==704662861|(_|(w|s[o|0]))==2771273)break i;if(r=r+1|0,(h|0)==(r|0))break}r=h}i:{if(r>>>0>=k>>>0){if(r=U(64),i[n+4>>2]=r,i[n+8>>2]=56,i[n+12>>2]=-2147483584,A=s[18084]|s[18085]<<8|(s[18086]<<16|s[18087]<<24),k=s[18080]|s[18081]<<8|(s[18082]<<16|s[18083]<<24),l[r|0]=k,l[r+1|0]=k>>>8,l[r+2|0]=k>>>16,l[r+3|0]=k>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+56|0]=0,A=s[18132]|s[18133]<<8|(s[18134]<<16|s[18135]<<24),k=s[18128]|s[18129]<<8|(s[18130]<<16|s[18131]<<24),l[r+48|0]=k,l[r+49|0]=k>>>8,l[r+50|0]=k>>>16,l[r+51|0]=k>>>24,l[r+52|0]=A,l[r+53|0]=A>>>8,l[r+54|0]=A>>>16,l[r+55|0]=A>>>24,A=s[18124]|s[18125]<<8|(s[18126]<<16|s[18127]<<24),k=s[18120]|s[18121]<<8|(s[18122]<<16|s[18123]<<24),l[r+40|0]=k,l[r+41|0]=k>>>8,l[r+42|0]=k>>>16,l[r+43|0]=k>>>24,l[r+44|0]=A,l[r+45|0]=A>>>8,l[r+46|0]=A>>>16,l[r+47|0]=A>>>24,A=s[18116]|s[18117]<<8|(s[18118]<<16|s[18119]<<24),k=s[18112]|s[18113]<<8|(s[18114]<<16|s[18115]<<24),l[r+32|0]=k,l[r+33|0]=k>>>8,l[r+34|0]=k>>>16,l[r+35|0]=k>>>24,l[r+36|0]=A,l[r+37|0]=A>>>8,l[r+38|0]=A>>>16,l[r+39|0]=A>>>24,A=s[18108]|s[18109]<<8|(s[18110]<<16|s[18111]<<24),k=s[18104]|s[18105]<<8|(s[18106]<<16|s[18107]<<24),l[r+24|0]=k,l[r+25|0]=k>>>8,l[r+26|0]=k>>>16,l[r+27|0]=k>>>24,l[r+28|0]=A,l[r+29|0]=A>>>8,l[r+30|0]=A>>>16,l[r+31|0]=A>>>24,A=s[18100]|s[18101]<<8|(s[18102]<<16|s[18103]<<24),k=s[18096]|s[18097]<<8|(s[18098]<<16|s[18099]<<24),l[r+16|0]=k,l[r+17|0]=k>>>8,l[r+18|0]=k>>>16,l[r+19|0]=k>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[18092]|s[18093]<<8|(s[18094]<<16|s[18095]<<24),k=s[18088]|s[18089]<<8|(s[18090]<<16|s[18091]<<24),l[r+8|0]=k,l[r+9|0]=k>>>8,l[r+10|0]=k>>>16,l[r+11|0]=k>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(u,5,2006,n+4|0),l[n+15|0]>=0)break i;G(i[n+4>>2]);break i}if(i[n+12>>2]=0,i[n+4>>2]=0,i[n+8>>2]=0,L2(n+4|0,k+4|0),l[i[n+4>>2]]=r>>>24,l[i[n+4>>2]+1|0]=r>>>16,l[i[n+4>>2]+2|0]=r>>>8,l[i[n+4>>2]+3|0]=r,r=i[n+4>>2],l0(r+4|0,A,k),u6(u,v,Z,r,i[n+8>>2]-r|0,8780,0,0,0),r=i[n+4>>2],!r)break i;i[n+8>>2]=r,G(r)}B=n+16|0;i:{if(i[t+12>>2]!=i[19564]){P0(f,u,i[e>>2]);break i}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}l[t+31|0]<0&&G(i[t+20>>2]),B=t+32|0}function Rh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;A=B-16|0,B=A,e=i[r>>2],v=i[e+28>>2],_=i[e+24>>2];i:{if((U0(e,0)|0)!=8){i[f>>2]=0,i[f+4>>2]=0;break i}e=U(136),i[e+4>>2]=0,i[e+8>>2]=0,i[e>>2]=72792,B0(e+20|0,0,104),n=i[e+4>>2],t=n+1|0,i[e+4>>2]=t,i[e+56>>2]=0,i[e+60>>2]=0,i[e+44>>2]=99,i[e+48>>2]=99,i[e+32>>2]=3795,h=e- -64|0,i[h>>2]=0,i[h+4>>2]=0,i[e+132>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,i[e+84>>2]=1,i[e+88>>2]=1,i[e+72>>2]=e+76,i[e+92>>2]=0,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+112>>2]=0,l[e+113|0]=0,l[e+114|0]=0,l[e+115|0]=0,l[e+116|0]=0,l[e+117|0]=0,l[e+118|0]=0,l[e+119|0]=0,l[e+120|0]=0,h=e+12|0,i[e+12>>2]=h,i[e+8>>2]=i[e+8>>2]+1,i[e+4>>2]=n,i[e+16>>2]=e,t||(V[i[i[e>>2]+8>>2]](e),g(e)),n=H2(i[r>>2],6),i[h+36>>2]=s[k+8|0]?11:10,i[h+32>>2]=1,i[h+28>>2]=v,i[h+24>>2]=_;r:{e:{if(J0(h,10,_,v,8)){if(i[A+12>>2]=0,i[A+4>>2]=0,Z=v0(i[r>>2],0,A+12|0),n&&(p=v0(i[r>>2],6,A+8|0)),t=v0(h,10,A+4|0),(v|0)<=0)break r;if(!n)break e;for(r=0,u=(_|0)<=0;;){A:{if(s[k+8|0]){if(n=0,u)break A;for(;o=n<<2,w=s[(n+Z|0)+m(i[A+12>>2],r)|0],l[o+(t+m(i[A+4>>2],r)|0)|0]=w,l[(o+(t+m(i[A+4>>2],r)|0)|0)+1|0]=w,l[(o+(t+m(i[A+4>>2],r)|0)|0)+2|0]=w,l[(o+(t+m(i[A+4>>2],r)|0)|0)+3|0]=s[(m(i[A+8>>2],r)+n|0)+p|0],n=n+1|0,(_|0)!=(n|0););break A}if(n=0,u)break A;for(;o=m(n,3),w=s[(n+Z|0)+m(i[A+12>>2],r)|0],l[o+(t+m(i[A+4>>2],r)|0)|0]=w,l[(o+(t+m(i[A+4>>2],r)|0)|0)+1|0]=w,l[(o+(t+m(i[A+4>>2],r)|0)|0)+2|0]=w,n=n+1|0,(_|0)!=(n|0););}if(r=r+1|0,(v|0)==(r|0))break}break r}if(i[f>>2]=0,i[f+4>>2]=0,f=i[e+4>>2],i[e+4>>2]=f-1,f)break i;V[i[i[e>>2]+8>>2]](e),g(e);break i}if(w=(_|0)<=0,!w){for(r=0;;){n=0;e:{if(s[k+8|0]){for(;;)if(o=n<<2,u=s[(n+Z|0)+m(i[A+12>>2],r)|0],l[o+(t+m(i[A+4>>2],r)|0)|0]=u,l[(o+(t+m(i[A+4>>2],r)|0)|0)+1|0]=u,l[(o+(t+m(i[A+4>>2],r)|0)|0)+2|0]=u,l[(o+(t+m(i[A+4>>2],r)|0)|0)+3|0]=255,n=n+1|0,(_|0)==(n|0))break e}if(w)break e;for(;o=m(n,3),u=s[(n+Z|0)+m(i[A+12>>2],r)|0],l[o+(t+m(i[A+4>>2],r)|0)|0]=u,l[(o+(t+m(i[A+4>>2],r)|0)|0)+1|0]=u,l[(o+(t+m(i[A+4>>2],r)|0)|0)+2|0]=u,n=n+1|0,(_|0)!=(n|0););}if(r=r+1|0,(v|0)==(r|0))break}break r}if(s[k+8|0])break r;for(o=t+2|0,u=t+1|0,r=0;s[k+8|0]|(_|0)<=0||(n=s[m(i[A+12>>2],r)+Z|0],l[t+m(i[A+4>>2],r)|0]=n,l[u+m(i[A+4>>2],r)|0]=n,l[o+m(i[A+4>>2],r)|0]=n),r=r+1|0,(v|0)!=(r|0););}i[f+4>>2]=e,i[f>>2]=h}B=A+16|0}function Dh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=Y(0),y=Y(0),E=Y(0),J=Y(0),R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0;A=B+-64|0,B=A;i:{r:{e:{if((U0(i[r>>2],0)|0)!=8||(U0(i[r>>2],1)|0)!=8)break e;if((U0(i[r>>2],2)|0)==8)break r}i[f>>2]=0,i[f+4>>2]=0;break i}if(e=U(136),i[e+4>>2]=0,i[e+8>>2]=0,i[e>>2]=72792,B0(e+20|0,0,104),k=i[e+4>>2],n=k+1|0,i[e+4>>2]=n,i[e+56>>2]=0,i[e+60>>2]=0,i[e+44>>2]=99,i[e+48>>2]=99,i[e+32>>2]=3795,t=e- -64|0,i[t>>2]=0,i[t+4>>2]=0,i[e+132>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,i[e+84>>2]=1,i[e+88>>2]=1,i[e+72>>2]=e+76,i[e+92>>2]=0,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+112>>2]=0,l[e+113|0]=0,l[e+114|0]=0,l[e+115|0]=0,l[e+116|0]=0,l[e+117|0]=0,l[e+118|0]=0,l[e+119|0]=0,l[e+120|0]=0,t=e+12|0,i[e+12>>2]=t,i[e+8>>2]=i[e+8>>2]+1,i[e+4>>2]=k,i[e+16>>2]=e,n||(V[i[i[e>>2]+8>>2]](e),g(e)),n=i[r>>2],v=i[n+24>>2],k=v,Z=i[n+28>>2],n=Z,i[t+36>>2]=11,i[t+32>>2]=1,i[t+28>>2]=n,i[t+24>>2]=k,J0(t,10,k,n,8)){if(n=i[r>>2],k=i[n+44>>2],n=i[n+48>>2],n&&(i[n+4>>2]=i[n+4>>2]+1),i[A+52>>2]=-1086926434,i[A+56>>2]=1071829221,i[A+44>>2]=1068725436,i[A+48>>2]=-1095748968,l[A+40|0]=1,k&&(V6(A+20|0,Q[k+8>>1],Q[k+4>>1]),i[A+56>>2]=i[A+36>>2],k=i[A+32>>2],i[A+48>>2]=i[A+28>>2],i[A+52>>2]=k,k=i[A+24>>2],i[A+40>>2]=i[A+20>>2],i[A+44>>2]=k),I=Z0[A+56>>2],y=Z0[A+48>>2],E=Z0[A+52>>2],J=Z0[A+44>>2],p=H2(i[r>>2],6),k=0,i[A+20>>2]=0,i[A+16>>2]=0,i[A+12>>2]=0,i[A+8>>2]=0,i[A+4>>2]=0,R=v0(i[r>>2],0,A+20|0),D=v0(i[r>>2],1,A+16|0),h=i[r>>2],z=z8(Y(I*Y(256))),H=z8(Y(y*Y(256))),a=z8(Y(E*Y(256))),S=z8(Y(J*Y(256))),q=v0(h,2,A+12|0),p&&(d=v0(i[r>>2],6,A+8|0)),h=v0(t,10,A+4|0),!((Z|0)<=0|(v|0)<=0))for(;;){for(W=k>>>1|0,r=0;o=r>>>1|0,w=s[o+(m(i[A+16>>2],W)+D|0)|0],_=r<<2,C=s[o+(m(i[A+12>>2],W)+q|0)|0]-128|0,o=s[(m(i[A+20>>2],k)+R|0)+r|0],u=(m(C,S)+128>>8)+o|0,l[_+(h+m(i[A+4>>2],k)|0)|0]=(u|0)>=0?u>>>0>=255?255:u:0,w=w-128|0,u=o+((m(w,H)+m(a,C)|0)+128>>8)|0,l[((h+m(i[A+4>>2],k)|0)+_|0)+1|0]=(u|0)>=0?u>>>0>=255?255:u:0,o=o+(m(w,z)+128>>8)|0,l[((h+m(i[A+4>>2],k)|0)+_|0)+2|0]=(o|0)>=0?o>>>0>=255?255:o:0,l[((h+m(i[A+4>>2],k)|0)+_|0)+3|0]=p?s[(m(i[A+8>>2],k)+r|0)+d|0]:255,r=r+1|0,(v|0)!=(r|0););if(k=k+1|0,(Z|0)==(k|0))break}if(i[f+4>>2]=e,i[f>>2]=t,!n||(f=i[n+4>>2],i[n+4>>2]=f-1,f))break i;V[i[i[n>>2]+8>>2]](n),g(n);break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[e+4>>2],i[e+4>>2]=f-1,f)break i;V[i[i[e>>2]+8>>2]](e),g(e)}B=A- -64|0}function Uh(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0;k=B-16|0,B=k,W=e,C=D0(r),i[W+48>>2]=C,W=e,C=D0(r),i[W+52>>2]=C,n=i[e+12>>2],A=i[e+8>>2],h=i[e+32>>2];i:{if(!n&A>>>0<=h+8>>>0){if(e=U(40),i[k+4>>2]=e,i[k+8>>2]=38,i[k+12>>2]=-2147483608,r=s[18216]|s[18217]<<8|(s[18218]<<16|s[18219]<<24),A=s[18212]|s[18213]<<8|(s[18214]<<16|s[18215]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+38|0]=0,r=s[18246]|s[18247]<<8|(s[18248]<<16|s[18249]<<24),A=s[18242]|s[18243]<<8|(s[18244]<<16|s[18245]<<24),l[e+30|0]=A,l[e+31|0]=A>>>8,l[e+32|0]=A>>>16,l[e+33|0]=A>>>24,l[e+34|0]=r,l[e+35|0]=r>>>8,l[e+36|0]=r>>>16,l[e+37|0]=r>>>24,r=s[18240]|s[18241]<<8|(s[18242]<<16|s[18243]<<24),A=s[18236]|s[18237]<<8|(s[18238]<<16|s[18239]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[18232]|s[18233]<<8|(s[18234]<<16|s[18235]<<24),A=s[18228]|s[18229]<<8|(s[18230]<<16|s[18231]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[18224]|s[18225]<<8|(s[18226]<<16|s[18227]<<24),A=s[18220]|s[18221]<<8|(s[18222]<<16|s[18223]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,101,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}o=A-h|0,v=o-8|0;r:{if(A=(n-(A>>>0>>0)|0)-(o>>>0<8)|0,!A&v>>>0<4)break r;Z=(A&3)<<30|v>>>2,v=A>>>2|0,h=0,A=0;e:{for(;;){if(s[r+20|0]==1)break r;w=D0(r);A:{n=i[e+60>>2],t=i[e+64>>2];f:{if(n>>>0>>0){i[n>>2]=w,w=n+4|0;break f}if(_=i[e+56>>2],u=n-_>>2,o=u+1|0,o>>>0>=1073741824)break A;if(p=u<<2,t=t-_|0,u=t>>1,u=t>>>0>=2147483644?1073741823:u>>>0>o>>>0?u:o,u){if(u>>>0>=1073741824)break e;o=U(u<<2)}else o=0;if(t=p+o|0,i[t>>2]=w,w=t+4|0,(n|0)!=(_|0))for(;t=t-4|0,n=n-4|0,i[t>>2]=i[n>>2],(n|0)!=(_|0););if(i[e+64>>2]=o+(u<<2),i[e+60>>2]=w,i[e+56>>2]=t,!_)break f;G(_)}if(i[e+60>>2]=w,h=h+1|0,A=h?A:A+1|0,(h|0)!=(Z|0)|(A|0)!=(v|0))continue;break r}break}y0(),P()}_2(),P()}if(s[r+20|0]==1){if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,100,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+16|0}function Cr(f,e,r){var A=0,k=0;A=B-656|0,B=A,e=e?7776:5478,s[f|0]&&(i[A+644>>2]=l[f+1|0],i[A+640>>2]=e,c(r,26967,A+640|0),i[A+628>>2]=l[f+2|0],i[A+624>>2]=e,c(r,28201,A+624|0),k=i[f+4>>2]-1|0,k>>>0<=3?k=i[(k<<2)+46120>>2]:k=18285,i[A+612>>2]=k,i[A+608>>2]=e,c(r,21931,A+608|0),i[A+592>>2]=e,c(r,19849,A+592|0),i[A+576>>2]=l[f+8|0],c(r,13655,A+576|0),c(r,18139,0),i[A+560>>2]=l[f+9|0],c(r,13655,A+560|0),c(r,18139,0),i[A+544>>2]=l[f+10|0],c(r,13655,A+544|0),c(r,18139,0),i[A+528>>2]=l[f+11|0],c(r,13655,A+528|0),c(r,18139,0),i[A+512>>2]=l[f+12|0],c(r,13655,A+512|0),c(r,18139,0),i[A+496>>2]=l[f+13|0],c(r,13655,A+496|0),c(r,18139,0),i[A+480>>2]=l[f+14|0],c(r,13655,A+480|0),c(r,18139,0),i[A+464>>2]=l[f+15|0],c(r,13655,A+464|0),c(r,18139,0),i[A+448>>2]=l[f+16|0],c(r,13655,A+448|0),c(r,18139,0),i[A+432>>2]=l[f+17|0],c(r,13655,A+432|0),c(r,18139,0),i[A+416>>2]=l[f+18|0],c(r,13655,A+416|0),c(r,18139,0),i[A+400>>2]=l[f+19|0],c(r,13655,A+400|0),c(r,18139,0),i[A+384>>2]=l[f+20|0],c(r,13655,A+384|0),c(r,18139,0),i[A+368>>2]=l[f+21|0],c(r,13655,A+368|0),c(r,18139,0),i[A+352>>2]=l[f+22|0],c(r,13655,A+352|0),c(r,18139,0),i[A+336>>2]=l[f+23|0],c(r,13655,A+336|0),c(r,18139,0),i[A+320>>2]=l[f+24|0],c(r,13655,A+320|0),c(r,18139,0),i[A+304>>2]=l[f+25|0],c(r,13655,A+304|0),c(r,18139,0),i[A+288>>2]=l[f+26|0],c(r,13655,A+288|0),c(r,18139,0),i[A+272>>2]=l[f+27|0],c(r,13655,A+272|0),c(r,18139,0),i[A+256>>2]=l[f+28|0],c(r,13655,A+256|0),c(r,18139,0),i[A+240>>2]=l[f+29|0],c(r,13655,A+240|0),c(r,18139,0),i[A+224>>2]=l[f+30|0],c(r,13655,A+224|0),c(r,18139,0),i[A+208>>2]=l[f+31|0],c(r,13655,A+208|0),c(r,18139,0),i[A+192>>2]=l[f+32|0],c(r,13655,A+192|0),c(r,18139,0),i[A+176>>2]=l[f+33|0],c(r,13655,A+176|0),c(r,18139,0),i[A+160>>2]=l[f+34|0],c(r,13655,A+160|0),c(r,18139,0),i[A+144>>2]=l[f+35|0],c(r,13655,A+144|0),c(r,18139,0),i[A+128>>2]=l[f+36|0],c(r,13655,A+128|0),c(r,18139,0),i[A+112>>2]=l[f+37|0],c(r,13655,A+112|0),c(r,18139,0),i[A+96>>2]=l[f+38|0],c(r,13655,A+96|0),c(r,18139,0),i[A+80>>2]=l[f+39|0],c(r,13655,A+80|0),c(r,31103,0),i[A+68>>2]=l[f+40|0],i[A+64>>2]=e,c(r,24570,A- -64|0),i[A+52>>2]=l[f+41|0],i[A+48>>2]=e,c(r,24607,A+48|0),i[A+36>>2]=l[f+42|0],i[A+32>>2]=e,c(r,23734,A+32|0),i[A+20>>2]=l[f+43|0],i[A+16>>2]=e,c(r,23694,A+16|0)),s[f+44|0]&&(f=i[f+48>>2],i[A+4>>2]=f,i[A>>2]=e,i0[A+8>>3]=Y(Y(f|0)/Y(30)),c(r,31206,A)),B=A+656|0}function xk(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0;k=B-160|0,B=k,A=i[r>>2],n=V[i[i[A>>2]+8>>2]](A)|0,t=i[r>>2],A=w0,n=n+8|0,A=n>>>0<8?A+1|0:A;i:{if(V[i[i[t>>2]+12>>2]](t,n,A)|0){if(l[k+16|0]=0,l[k+27|0]=0,r0(f,2,100,k+16|0),l[k+27|0]>=0)break i;G(i[k+16>>2]);break i}if(u=e,h=D0(r),i[u+8>>2]=h,i[e+12>>2]=0,A=D0(r),i[e+32>>2]=8,i[e+16>>2]=A,!i[e+12>>2]&i[e+8>>2]==1){if(A=i[r>>2],n=V[i[i[A>>2]+8>>2]](A)|0,t=i[r>>2],A=w0,n=n+8|0,A=n>>>0<8?A+1|0:A,V[i[i[t>>2]+12>>2]](t,n,A)|0){if(l[k+16|0]=0,l[k+27|0]=0,r0(f,2,100,k+16|0),l[k+27|0]>=0)break i;G(i[k+16>>2]);break i}if(A=D0(r),u=e,h=D0(r),i[u+8>>2]=h,i[e+12>>2]=A,i[e+32>>2]=i[e+32>>2]+8,i[k+24>>2]=54496,i[k+80>>2]=54516,A=i[13633],i[k+16>>2]=A,n=i[A-12>>2],A=k+16|0,i[n+A>>2]=i[13634],i[k+20>>2]=0,n=A+i[i[k+16>>2]-12>>2]|0,t=k+28|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,n=i[13635],i[k+24>>2]=n,o=k+24|0,i[o+i[n-12>>2]>>2]=i[13636],n=i[13632],i[k+16>>2]=n,i[A+i[n-12>>2]>>2]=i[13637],i[k+80>>2]=54516,i[k+16>>2]=54476,i[k+24>>2]=54496,A=$0(t),i[A>>2]=53552,i[k+68>>2]=0,i[k+72>>2]=0,i[k+60>>2]=0,i[k+64>>2]=0,i[k+76>>2]=24,x(n4(x(o,19110,9),i[e+8>>2],i[e+12>>2]),17482,24),n=k+80|0,t=i[e+12>>2],(t|0)==268435456|t>>>0>268435456){e=k+4|0,i2(e,A),r0(f,6,1e3,e),l[k+15|0]<0&&G(i[k+4>>2]),f=i[13631],i[k+16>>2]=f,i[i[f-12>>2]+(k+16|0)>>2]=i[13639],i[k+24>>2]=i[13640],i[A>>2]=53552,l[k+71|0]<0&&G(i[k+60>>2]),K0(A),T0(n);break i}t=i[13631],i[k+16>>2]=t,i[i[t-12>>2]+(k+16|0)>>2]=i[13639],i[k+24>>2]=i[13640],i[A>>2]=53552,l[k+71|0]<0&&G(i[k+60>>2]),K0(A),T0(n),A=i[e+16>>2]}if((A|0)==1970628964){if(A=i[r>>2],n=V[i[i[A>>2]+8>>2]](A)|0,t=i[r>>2],A=w0,n=n+16|0,A=n>>>0<16?A+1|0:A,V[i[i[t>>2]+12>>2]](t,n,A)|0){if(l[k+16|0]=0,l[k+27|0]=0,r0(f,2,100,k+16|0),l[k+27|0]>=0)break i;G(i[k+16>>2]);break i}r:{if(!T4(r,16))break r;t=e+20|0,n=i[e+20>>2],A=i[e+24>>2]-n|0;e:{if(A>>>0<=15){L2(t,16-A|0);break e}if((A|0)==16)break e;i[e+24>>2]=n+16}if(n=i[r>>2],A=i[r+4>>2],A){if(i[A+4>>2]=i[A+4>>2]+1,V[i[i[n>>2]+16>>2]](n,i[t>>2],16)|0,n=i[A+4>>2],i[A+4>>2]=n-1,n)break r;V[i[i[A>>2]+8>>2]](A),g(A);break r}V[i[i[n>>2]+16>>2]](n,i[t>>2],16)|0}i[e+32>>2]=i[e+32>>2]+16}if(s[r+20|0]==1){if(l[k+16|0]=0,l[k+27|0]=0,r0(f,2,100,k+16|0),l[k+27|0]>=0)break i;G(i[k+16>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+160|0}function Mh(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0;u=B-16|0,B=u,o=i[k>>2],n=o+i[r>>2]|0;i:{if(i[r+4>>2]-n>>>0<(A|0)/8<<2>>>0){if(e=U(56),i[u+4>>2]=e,i[u+8>>2]=48,i[u+12>>2]=-2147483592,r=s[6923]|s[6924]<<8|(s[6925]<<16|s[6926]<<24),A=s[6919]|s[6920]<<8|(s[6921]<<16|s[6922]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+48|0]=0,r=s[6963]|s[6964]<<8|(s[6965]<<16|s[6966]<<24),A=s[6959]|s[6960]<<8|(s[6961]<<16|s[6962]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[6955]|s[6956]<<8|(s[6957]<<16|s[6958]<<24),A=s[6951]|s[6952]<<8|(s[6953]<<16|s[6954]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[6947]|s[6948]<<8|(s[6949]<<16|s[6950]<<24),A=s[6943]|s[6944]<<8|(s[6945]<<16|s[6946]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[6939]|s[6940]<<8|(s[6941]<<16|s[6942]<<24),A=s[6935]|s[6936]<<8|(s[6937]<<16|s[6938]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[6931]|s[6932]<<8|(s[6933]<<16|s[6934]<<24),A=s[6927]|s[6928]<<8|(s[6929]<<16|s[6930]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,136,u+4|0),l[u+15|0]>=0)break i;G(i[u+4>>2]);break i}t=s[n|0],h=s[n+1|0];r:{if((A|0)==32){n=s[n+3|0]|(h<<16|t<<24|s[n+2|0]<<8),t=o+4|0;break r}n=(h<<16|t<<24)>>16,t=o+2|0}i[k>>2]=t,i[e+4>>2]=n,o=i[k>>2],n=o+i[r>>2]|0,t=s[n|0],h=s[n+1|0];r:{if((A|0)==32){n=s[n+3|0]|(h<<16|t<<24|s[n+2|0]<<8),t=o+4|0;break r}n=(h<<16|t<<24)>>16,t=o+2|0}i[k>>2]=t,i[e+8>>2]=n,t=i[r>>2],h=i[k>>2],r=t+h|0,o=s[r|0],n=s[r+1|0];r:{if((A|0)==32){r=s[r+3|0]|(n<<16|o<<24|s[r+2|0]<<8),n=4;break r}r=n|o<<8,n=2}i[k>>2]=n+h,i[e+12>>2]=r,r=t,t=i[k>>2],r=r+t|0,o=s[r|0],n=s[r+1|0];r:{if((A|0)==32){A=s[r+3|0]|(n<<16|o<<24|s[r+2|0]<<8),r=4;break r}A=n|o<<8,r=2}if(i[k>>2]=r+t,i[e+16>>2]=A,e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=u+16|0}function xh(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0;u=B-16|0,B=u,o=i[k>>2],n=o+i[r>>2]|0;i:{if(i[r+4>>2]-n>>>0<(A|0)/8<<2>>>0){if(e=U(48),i[u+4>>2]=e,i[u+8>>2]=46,i[u+12>>2]=-2147483600,r=s[6876]|s[6877]<<8|(s[6878]<<16|s[6879]<<24),A=s[6872]|s[6873]<<8|(s[6874]<<16|s[6875]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+46|0]=0,r=s[6914]|s[6915]<<8|(s[6916]<<16|s[6917]<<24),A=s[6910]|s[6911]<<8|(s[6912]<<16|s[6913]<<24),l[e+38|0]=A,l[e+39|0]=A>>>8,l[e+40|0]=A>>>16,l[e+41|0]=A>>>24,l[e+42|0]=r,l[e+43|0]=r>>>8,l[e+44|0]=r>>>16,l[e+45|0]=r>>>24,r=s[6908]|s[6909]<<8|(s[6910]<<16|s[6911]<<24),A=s[6904]|s[6905]<<8|(s[6906]<<16|s[6907]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[6900]|s[6901]<<8|(s[6902]<<16|s[6903]<<24),A=s[6896]|s[6897]<<8|(s[6898]<<16|s[6899]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[6892]|s[6893]<<8|(s[6894]<<16|s[6895]<<24),A=s[6888]|s[6889]<<8|(s[6890]<<16|s[6891]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[6884]|s[6885]<<8|(s[6886]<<16|s[6887]<<24),A=s[6880]|s[6881]<<8|(s[6882]<<16|s[6883]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,136,u+4|0),l[u+15|0]>=0)break i;G(i[u+4>>2]);break i}t=s[n|0],h=s[n+1|0];r:{if((A|0)==32){n=s[n+3|0]|(h<<16|t<<24|s[n+2|0]<<8),t=o+4|0;break r}n=(h<<16|t<<24)>>16,t=o+2|0}i[k>>2]=t,i[e+4>>2]=n,o=i[k>>2],n=o+i[r>>2]|0,t=s[n|0],h=s[n+1|0];r:{if((A|0)==32){n=s[n+3|0]|(h<<16|t<<24|s[n+2|0]<<8),t=o+4|0;break r}n=(h<<16|t<<24)>>16,t=o+2|0}i[k>>2]=t,i[e+8>>2]=n,t=i[r>>2],h=i[k>>2],r=t+h|0,o=s[r|0],n=s[r+1|0];r:{if((A|0)==32){r=s[r+3|0]|(n<<16|o<<24|s[r+2|0]<<8),n=4;break r}r=n|o<<8,n=2}i[k>>2]=n+h,i[e+12>>2]=r,r=t,t=i[k>>2],r=r+t|0,o=s[r|0],n=s[r+1|0];r:{if((A|0)==32){A=s[r+3|0]|(n<<16|o<<24|s[r+2|0]<<8),r=4;break r}A=n|o<<8,r=2}if(i[k>>2]=r+t,i[e+16>>2]=A,e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=u+16|0}function zk(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;k=i[f+18588>>2],_=i[k+132>>2],A=-1<>2],t=A&r,v=i[f+18592>>2],h=i[k+124>>2],u=e&A,(u|0)==i[f+18524>>2]&(t|0)==i[f+18528>>2]||(i[f+18528>>2]=t,i[f+18524>>2]=u,i[f+18532>>2]=i[f+18520>>2]),A=i[h+16876>>2],n=-1<>2],w=i[h+16892>>2],k=(o|0)/(w|0)|0,w=o-m(k,w)|0,o=i[h+16884>>2],o=(u|0)==(m(w,o)|0)&(t|0)==(m(k,o)|0),k=0;i:{if(!s[_+46|0]||(k=0,n&(t|u)))break i;k=e9(_,u>>A,t>>A)}i:{if(!(!s[_+45|0]|(u|n&t))||k|o){k=i[f+18592>>2]+800|0;break i}k=f+18532|0}A=i[k>>2];i:{r:{o=u-1|0;e:{if(!p7(i[f+18588>>2],u,t,o,t)){n=i[f+18588>>2],k=A;break e}if(n=i[f+18588>>2],w=i[h+16936>>2],k=A,i[f+4>>2]!=i[(i[_+8496>>2]+(o>>w<<2)|0)+(m(i[h+16924>>2],t>>w)<<2)>>2]>>(i[h+16876>>2]-w<<1))break e;if(k=o,o=i[n+168>>2],k=k>>o,(k|0)<0||(w=i[n+172>>2],(w|0)<=(k|0)))break r;if(o=t>>o,(o|0)<0|(o|0)>=i[n+176>>2])break i;k=l[((i[n+160>>2]+m(k,3)|0)+m(m(o,w),3)|0)+2|0]}o=n,n=t-1|0;e:{if(!p7(o,u,t,u,n)||(t=i[h+16936>>2],i[f+4>>2]!=i[(i[_+8496>>2]+(u>>t<<2)|0)+(m(i[h+16924>>2],n>>t)<<2)>>2]>>(i[h+16876>>2]-t<<1)))break e;if(o=u,A=i[f+18588>>2],u=i[A+168>>2],t=o>>u,(t|0)<0||(o=i[A+172>>2],(o|0)<=(t|0)))break r;if(n=n>>u,(n|0)<0|(n|0)>=i[A+176>>2])break i;A=l[((i[A+160>>2]+m(t,3)|0)+m(m(n,o),3)|0)+2|0]}k=i[f+18504>>2]+((A+k|0)+1>>1)|0,A=i[h+16836>>2],n=((k+(A<<1)|0)+52|0)%(A+52|0)|0,i[f+18536>>2]=(n|0)>0?n:0,u=i[h+16844>>2],k=0-u|0,t=n-A|0,A=i[f+18516>>2]+(i[v+756>>2]+(t+i[_+36>>2]|0)|0)|0,n=(A|0)<(k|0)?k:(A|0)>=57?57:A,A=i[f+18512>>2]+(i[v+752>>2]+(t+i[_+32>>2]|0)|0)|0,A=(A|0)<(k|0)?k:(A|0)>=57?57:A;e:{if(i[h+16848>>2]!=1)break e;A:{if((A|0)<30)break A;if(A>>>0>=43){A=A-6|0;break A}A=i[(A<<2)+45912>>2]}if((n|0)<30)break e;if(n>>>0>=43){n=n-6|0;break e}n=i[(n<<2)+45912>>2]}if(k=n+u|0,i[f+18544>>2]=(k|0)>0?k:0,k=A+u|0,i[f+18540>>2]=(k|0)>0?k:0,A=i[f+18588>>2],n=i[A+168>>2],k=e>>n,(k|0)<0||(h=i[A+172>>2],(h|0)<=(k|0)))break r;if(e=r>>n,(e|0)<0|i[A+176>>2]<=(e|0))break i;if(A=i[A+160>>2],r=(A+m(k,3)|0)+m(m(e,h),3)|0,r=(s[r|0]|s[r+1|0]<<8)&7,r=(r>>>0<=3?3:r)-n|0,(r|0)!=31)for(r=1<(r|0););if(e=e+1|0,!((n|0)>(e|0)))break}i[f+18520>>2]=t;return}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function zh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=Y(0),I=Y(0),y=Y(0),E=Y(0),J=0,R=0,D=0,z=0,H=0,a=0,S=0;A=B+-64|0,B=A;i:{r:{e:{if((U0(i[r>>2],0)|0)!=8||(U0(i[r>>2],1)|0)!=8)break e;if((U0(i[r>>2],2)|0)==8)break r}i[f>>2]=0,i[f+4>>2]=0;break i}if(e=U(136),i[e+4>>2]=0,i[e+8>>2]=0,i[e>>2]=72792,B0(e+20|0,0,104),k=i[e+4>>2],n=k+1|0,i[e+4>>2]=n,i[e+56>>2]=0,i[e+60>>2]=0,i[e+44>>2]=99,i[e+48>>2]=99,i[e+32>>2]=3795,o=e- -64|0,i[o>>2]=0,i[o+4>>2]=0,i[e+132>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,i[e+84>>2]=1,i[e+88>>2]=1,i[e+72>>2]=e+76,i[e+92>>2]=0,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+112>>2]=0,l[e+113|0]=0,l[e+114|0]=0,l[e+115|0]=0,l[e+116|0]=0,l[e+117|0]=0,l[e+118|0]=0,l[e+119|0]=0,l[e+120|0]=0,o=e+12|0,i[e+12>>2]=o,i[e+8>>2]=i[e+8>>2]+1,i[e+4>>2]=k,i[e+16>>2]=e,n||(V[i[i[e>>2]+8>>2]](e),g(e)),n=i[r>>2],w=i[n+24>>2],k=w,_=i[n+28>>2],n=_,i[o+36>>2]=10,i[o+32>>2]=1,i[o+28>>2]=n,i[o+24>>2]=k,J0(o,10,k,n,8)){if(k=i[r>>2],n=i[k+44>>2],k=i[k+48>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),i[A+52>>2]=-1086926434,i[A+56>>2]=1071829221,i[A+44>>2]=1068725436,i[A+48>>2]=-1095748968,l[A+40|0]=1,n&&(V6(A+20|0,Q[n+8>>1],Q[n+4>>1]),i[A+56>>2]=i[A+36>>2],n=i[A+32>>2],i[A+48>>2]=i[A+28>>2],i[A+52>>2]=n,n=i[A+24>>2],i[A+40>>2]=i[A+20>>2],i[A+44>>2]=n),C=Z0[A+56>>2],I=Z0[A+48>>2],y=Z0[A+52>>2],E=Z0[A+44>>2],n=0,i[A+20>>2]=0,i[A+16>>2]=0,i[A+12>>2]=0,i[A+8>>2]=0,J=v0(i[r>>2],0,A+20|0),R=v0(i[r>>2],1,A+16|0),r=i[r>>2],D=z8(Y(C*Y(256))),z=z8(Y(I*Y(256))),H=z8(Y(y*Y(256))),a=z8(Y(E*Y(256))),S=v0(r,2,A+12|0),v=v0(o,10,A+8|0),!((_|0)<=0|(w|0)<=0))for(;;){for(p=n>>>1|0,r=0;t=r>>>1|0,h=s[t+(m(i[A+16>>2],p)+R|0)|0],u=m(r,3),Z=s[(m(i[A+20>>2],n)+J|0)+r|0],W=s[t+(m(i[A+12>>2],p)+S|0)|0]-128|0,t=Z+(m(W,a)+128>>8)|0,l[u+(m(i[A+8>>2],n)+v|0)|0]=(t|0)>=0?t>>>0>=255?255:t:0,h=h-128|0,t=((m(h,z)+m(H,W)|0)+128>>8)+Z|0,l[(u+(m(i[A+8>>2],n)+v|0)|0)+1|0]=(t|0)>=0?t>>>0>=255?255:t:0,t=u+(m(i[A+8>>2],n)+v|0)|0,u=(m(h,D)+128>>8)+Z|0,l[t+2|0]=(u|0)>=0?u>>>0>=255?255:u:0,r=r+1|0,(w|0)!=(r|0););if(n=n+1|0,(_|0)==(n|0))break}if(i[f+4>>2]=e,i[f>>2]=o,!k||(f=i[k+4>>2],i[k+4>>2]=f-1,f))break i;V[i[i[k>>2]+8>>2]](k),g(k);break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[e+4>>2],i[e+4>>2]=f-1,f)break i;V[i[i[e>>2]+8>>2]](e),g(e)}B=A- -64|0}function Hh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0;t=B-32|0,B=t;i:{r:{e:{if(U0(i[r>>2],3)>>>0<9||U0(i[r>>2],4)>>>0<9)break e;if(U0(i[r>>2],5)>>>0>8)break r}i[f>>2]=0,i[f+4>>2]=0;break i}_=H2(i[r>>2],6),Z=s[k+8|0];r:{if(!_)break r;if(U0(i[r>>2],6)>>>0<=8){i[f>>2]=0,i[f+4>>2]=0;break i}if((y4(i[r>>2],6)|0)==(y4(i[r>>2],4)|0)&&(F4(i[r>>2],6)|0)==(F4(i[r>>2],4)|0))break r;i[f>>2]=0,i[f+4>>2]=0;break i}if(e=U0(i[r>>2],3),!e){i[f>>2]=0,i[f+4>>2]=0;break i}if(n=U(136),i[n+4>>2]=0,i[n+8>>2]=0,i[n>>2]=72792,B0(n+20|0,0,104),A=i[n+4>>2],k=A+1|0,i[n+4>>2]=k,i[n+56>>2]=0,i[n+60>>2]=0,i[n+44>>2]=99,i[n+48>>2]=99,i[n+32>>2]=3795,o=n- -64|0,i[o>>2]=0,i[o+4>>2]=0,i[n+132>>2]=0,i[n+124>>2]=0,i[n+128>>2]=0,i[n+84>>2]=1,i[n+88>>2]=1,i[n+72>>2]=n+76,i[n+92>>2]=0,i[n+96>>2]=0,i[n+100>>2]=0,i[n+104>>2]=0,i[n+108>>2]=0,i[n+112>>2]=0,l[n+113|0]=0,l[n+114|0]=0,l[n+115|0]=0,l[n+116|0]=0,l[n+117|0]=0,l[n+118|0]=0,l[n+119|0]=0,l[n+120|0]=0,u=n+12|0,i[n+12>>2]=u,i[n+8>>2]=i[n+8>>2]+1,i[n+4>>2]=A,i[n+16>>2]=n,k||(V[i[i[n>>2]+8>>2]](n),g(n)),k=i[r>>2],p=i[k+24>>2],A=p,W=i[k+28>>2],k=W,C=_|Z,i[u+36>>2]=C&1?13:12,i[u+32>>2]=1,i[u+28>>2]=k,i[u+24>>2]=A,J0(u,10,A,k,e)){if(i[t+28>>2]=0,i[t+24>>2]=0,i[t+20>>2]=0,i[t+16>>2]=0,i[t+12>>2]=0,I=v0(i[r>>2],3,t+28|0),y=v0(i[r>>2],4,t+24|0),E=v0(i[r>>2],5,t+20|0),o=v0(u,10,t+12|0),_&&(J=v0(i[r>>2],6,t+16|0),R=i[t+16>>2]/2|0),i[t+28>>2]=i[t+28>>2]/2,i[t+24>>2]=i[t+24>>2]/2,i[t+20>>2]=i[t+20>>2]/2,!((W|0)<=0|(p|0)<=0))for(D=C&1?8:6,k=-1<>>8|0,r=0;;){for(z=m(r,R),w=0;e=w<<1,A=Q[(e+E|0)+(m(i[t+20>>2],r)<<1)>>1],v=Q[(e+y|0)+(m(i[t+24>>2],r)<<1)>>1],h=m(w,D),e=Q[(e+I|0)+(m(i[t+28>>2],r)<<1)>>1],l[h+(o+m(i[t+12>>2],r)|0)|0]=e>>>8,l[((o+m(i[t+12>>2],r)|0)+h|0)+1|0]=e,l[((o+m(i[t+12>>2],r)|0)+h|0)+2|0]=v>>>8,l[((o+m(i[t+12>>2],r)|0)+h|0)+3|0]=v,l[((o+m(i[t+12>>2],r)|0)+h|0)+4|0]=A>>>8,l[((o+m(i[t+12>>2],r)|0)+h|0)+5|0]=A,C&1&&(e=k,v=(o+m(i[t+12>>2],r)|0)+h|0,_?(e=Q[(w+z<<1)+J>>1],A=e>>>8|0):A=Z,l[v+6|0]=A,l[((o+m(i[t+12>>2],r)|0)+h|0)+7|0]=e),w=w+1|0,(p|0)!=(w|0););if(r=r+1|0,(W|0)==(r|0))break}i[f+4>>2]=n,i[f>>2]=u;break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[n+4>>2],i[n+4>>2]=f-1,f)break i;V[i[i[n>>2]+8>>2]](n),g(n)}B=t+32|0}function Th(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;A=B-32|0,B=A,t=s[k+8|0],p=i[i[r>>2]+36>>2],e=U(136),i[e>>2]=72792,i[e+4>>2]=0,i[e+8>>2]=0,B0(e+20|0,0,104),k=i[e+4>>2],o=k+1|0,i[e+4>>2]=o,i[e+56>>2]=0,i[e+60>>2]=0,i[e+44>>2]=99,i[e+48>>2]=99,i[e+32>>2]=3795,n=e- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[e+132>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,i[e+84>>2]=1,i[e+88>>2]=1,i[e+72>>2]=e+76,i[e+92>>2]=0,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+112>>2]=0,l[e+113|0]=0,l[e+114|0]=0,l[e+115|0]=0,l[e+116|0]=0,l[e+117|0]=0,l[e+118|0]=0,l[e+119|0]=0,l[e+120|0]=0,n=e+12|0,i[e+12>>2]=n,i[e+8>>2]=i[e+8>>2]+1,i[e+4>>2]=k,i[e+16>>2]=e,o||(V[i[i[e>>2]+8>>2]](e),g(e)),k=i[r>>2],u=i[k+24>>2],w=i[k+28>>2],k=w,i[n+36>>2]=3,i[n+32>>2]=1,i[n+28>>2]=k,i[n+24>>2]=u;i:{r:{if(!J0(n,3,u,k,8)||!J0(n,4,u,k,8)||!J0(n,5,u,k,8)||(h=t&1,h&&!J0(n,6,u,k,8)))break r;i[A+28>>2]=0,i[A+24>>2]=0,i[A+20>>2]=0,i[A+16>>2]=0,i[A+12>>2]=0,o=v0(i[r>>2],10,A+28|0),_=v0(n,3,A+24|0),v=v0(n,4,A+20|0),Z=v0(n,5,A+16|0),h&&(W=v0(n,6,A+12|0));e:{if((w|0)<=0|(u|0)<=0)break e;if(h=(p|0)==11?4:3,!(t&1)){for(r=0;;){for(k=0;t=m(k,h),l[(k+_|0)+m(i[A+24>>2],r)|0]=s[t+(o+m(i[A+28>>2],r)|0)|0],l[(k+v|0)+m(i[A+20>>2],r)|0]=s[(t+(o+m(i[A+28>>2],r)|0)|0)+1|0],l[(k+Z|0)+m(i[A+16>>2],r)|0]=s[(t+(o+m(i[A+28>>2],r)|0)|0)+2|0],k=k+1|0,(u|0)!=(k|0););if(r=r+1|0,(w|0)==(r|0))break}break e}if(r=0,(p|0)==11)for(;;){for(k=0;t=m(k,h),l[(k+_|0)+m(i[A+24>>2],r)|0]=s[t+(o+m(i[A+28>>2],r)|0)|0],l[(k+v|0)+m(i[A+20>>2],r)|0]=s[(t+(o+m(i[A+28>>2],r)|0)|0)+1|0],l[(k+Z|0)+m(i[A+16>>2],r)|0]=s[(t+(o+m(i[A+28>>2],r)|0)|0)+2|0],l[(m(i[A+12>>2],r)+k|0)+W|0]=s[(t+(o+m(i[A+28>>2],r)|0)|0)+3|0],k=k+1|0,(u|0)!=(k|0););if(r=r+1|0,(w|0)==(r|0))break e}for(;;){for(k=0;t=m(k,h),l[(k+_|0)+m(i[A+24>>2],r)|0]=s[t+(o+m(i[A+28>>2],r)|0)|0],l[(k+v|0)+m(i[A+20>>2],r)|0]=s[(t+(o+m(i[A+28>>2],r)|0)|0)+1|0],l[(k+Z|0)+m(i[A+16>>2],r)|0]=s[(t+(o+m(i[A+28>>2],r)|0)|0)+2|0],l[(m(i[A+12>>2],r)+k|0)+W|0]=255,k=k+1|0,(u|0)!=(k|0););if(r=r+1|0,(w|0)==(r|0))break}}i[f+4>>2]=e,i[f>>2]=n;break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[e+4>>2],i[e+4>>2]=f-1,f)break i;V[i[i[e>>2]+8>>2]](e),g(e)}B=A+32|0}function ah(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0,Z=0;if(u=B-48|0,B=u,o=i[e>>2],v=i[o+48>>2],_=i[o+52>>2],_&&(i[_+4>>2]=i[_+4>>2]+1),h=G2(A),h>>>0<2147483640){i:{r:{if(h>>>0>=11){w=(h|7)+1|0,o=U(w),i[u+20>>2]=w|-2147483648,i[u+12>>2]=o,i[u+16>>2]=h;break r}if(l[u+23|0]=h,o=u+12|0,!h)break i}l0(o,A,h)}l[o+h|0]=0,A=B+-64|0,B=A,i[u+28>>2]=0,i[u+32>>2]=0,i[u+44>>2]=0,i[u+36>>2]=0,i[u+40>>2]=0,D8(A+56|0,v,9980),w=i[A+56>>2],o=w,l[o+124|0]=1,i[o+52>>2]=i[o+52>>2]&-2|1;i:{if(h=G2(r),h>>>0<2147483640){r:{e:{if(h>>>0>=11){Z=(h|7)+1|0,o=U(Z),i[A+52>>2]=Z|-2147483648,i[A+44>>2]=o,i[A+48>>2]=h;break e}if(l[A+55|0]=h,o=A+44|0,!h)break r}l0(o,r,h)}l[o+h|0]=0,r=w+88|0;r:{if((r|0)==(A+44|0))break r;if(o=l[A+55|0],l[w+99|0]>=0){if((o|0)>=0){o=i[A+48>>2],i[r>>2]=i[A+44>>2],i[r+4>>2]=o,i[r+8>>2]=i[A+52>>2];break r}i4(r,i[A+44>>2],i[A+48>>2]);break r}w=r,r=(o|0)<0,_4(w,r?i[A+44>>2]:A+44|0,r?i[A+48>>2]:o)}l[A+55|0]<0&&G(i[A+44>>2]),i[u+24>>2]=i[i[A+56>>2]+56>>2];r:{if(l[u+23|0]>=0){i[A+16>>2]=i[u+20>>2],r=i[u+16>>2],i[A+8>>2]=i[u+12>>2],i[A+12>>2]=r;break r}_0(A+8|0,i[u+12>>2],i[u+16>>2])}o=A+8|0,r=B-32|0,B=r,i[r+8>>2]=0,i[r>>2]=0,i[r+4>>2]=0,n?(L2(r,n),w=i[r>>2]):w=0,l0(w,k,n),h=i[A+56>>2],k=h+100|0;r:{if((k|0)==(o|0))break r;if(n=l[o+11|0],l[h+111|0]>=0){if((n|0)>=0){n=i[o+4>>2],i[k>>2]=i[o>>2],i[k+4>>2]=n,i[k+8>>2]=i[o+8>>2];break r}i4(k,i[o>>2],i[o+4>>2]);break r}w=k,k=(n|0)<0,_4(w,k?i[o>>2]:o,k?i[o+4>>2]:n)}Wr(r+12|0,i[v+60>>2],i[i[A+56>>2]+56>>2],r,0),l[r+31|0]<0&&G(i[r+20>>2]),n=i[19565],k=A+24|0,i[k>>2]=i[19564],i[k+4>>2]=n,k=k+8|0;r:{if(l[78275]>=0){n=i[19567],i[k>>2]=i[19566],i[k+4>>2]=n,i[k+8>>2]=i[19568];break r}_0(k,i[19566],i[19567])}k=i[r>>2],k&&(i[r+4>>2]=k,G(k)),B=r+32|0,l[A+43|0]<0&&G(i[A+32>>2]),l[A+19|0]<0&&G(i[A+8>>2]),r=i[A+60>>2];r:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break r;V[i[i[r>>2]+8>>2]](r),g(r)}B=A- -64|0;break i}c2(),P()}l[u+23|0]<0&&G(i[u+12>>2]);i:{if(!_||(r=i[_+4>>2],i[_+4>>2]=r-1,r))break i;V[i[i[_>>2]+8>>2]](_),g(_)}i:{if(!(i[u+28>>2]|!t)){i[t>>2]=i[u+24>>2],i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e;break i}P0(f,u+28|0,i[e>>2])}l[u+47|0]<0&&G(i[u+36>>2]),B=u+48|0;return}c2(),P()}function Sh(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;k=B-32|0,B=k,n=hr()|0;i:{if(!e){i[f+4>>2]=n,i[f>>2]=95844;break i}IA(k+4|0,e,k+16|0,r,A,0);r:{if(!i[k+4>>2]){for(A=H4(11237)|0,o=i[k+16>>2],i[k+24>>2]=o,r=j1(73912,k+24|0)|0,g4(n|0,A|0,r|0),r>>>0>=9&&t1(r|0),A>>>0>=9&&t1(A|0),r=i[e>>2],r?r=i[r+24>>2]:r=0,A=H4(8425)|0,i[k+24>>2]=r,r=j1(67596,k+24|0)|0,g4(n|0,A|0,r|0),r>>>0>=9&&t1(r|0),A>>>0>=9&&t1(A|0),e=i[e>>2],e?_=i[e+28>>2]:_=0,r=H4(3313)|0,i[k+24>>2]=_,e=j1(67596,k+24|0)|0,g4(n|0,r|0,e|0),e>>>0>=9&&t1(e|0),r>>>0>=9&&t1(r|0),e=i[i[o>>2]+36>>2],r=H4(14612)|0,i[k+24>>2]=e,e=j1(73896,k+24|0)|0,g4(n|0,r|0,e|0),e>>>0>=9&&t1(e|0),r>>>0>=9&&t1(r|0),e=i[i[o>>2]+32>>2],r=H4(11509)|0,i[k+24>>2]=e,e=j1(73888,k+24|0)|0,g4(n|0,r|0,e|0),e>>>0>=9&&t1(e|0),r>>>0>=9&&t1(r|0),v=U(32),r=v,e=i[9348],i[r>>2]=i[9347],i[r+4>>2]=e,e=i[9354],i[r+24>>2]=i[9353],i[r+28>>2]=e,e=i[9352],i[r+16>>2]=i[9351],i[r+20>>2]=e,e=i[9350],i[r+8>>2]=i[9349],i[r+12>>2]=e,w=d5()|0,A=0;;){h=i[A+v>>2];e:{if(!H2(i[o>>2],h))break e;t=hr()|0,r=H4(11843)|0,i[k+24>>2]=h,e=j1(73928,k+24|0)|0,g4(t|0,r|0,e|0),e>>>0>=9&&t1(e|0),r>>>0>=9&&t1(r|0),e=i[o>>2];A:{if(!e){i[k>>2]=0,e=0;break A}e=v0(e,h,k)}u=H4(11376)|0,i[k+24>>2]=i[k>>2],r=j1(67596,k+24|0)|0,g4(t|0,u|0,r|0),r>>>0>=9&&t1(r|0),u>>>0>=9&&t1(u|0),r=i[k>>2],i[k+28>>2]=e,i[k+24>>2]=m(r,_),r=j1(73936,k+24|0)|0,e=H4(14587)|0,g4(t|0,e|0,r|0),e>>>0>=9&&t1(e|0),r>>>0>=9&&t1(r|0),e=y4(i[o>>2],h),r=H4(8425)|0,i[k+24>>2]=e,e=j1(67596,k+24|0)|0,g4(t|0,r|0,e|0),e>>>0>=9&&t1(e|0),r>>>0>=9&&t1(r|0),e=F4(i[o>>2],h),r=H4(3313)|0,i[k+24>>2]=e,e=j1(67596,k+24|0)|0,g4(t|0,r|0,e|0),e>>>0>=9&&t1(e|0),r>>>0>=9&&t1(r|0),u=t>>>0<9,u||Js(t|0),i[k+24>>2]=t,i[k+20>>2]=0;A:{if(l[78356]&1){r=i[19588];break A}r=Ys(2,73944,0)|0,l[78356]=1,i[19588]=r}if(+Es(r|0,w|0,8431,k+20|0,k+24|0),e=i[k+20>>2],e&&Fs(e|0),u)break e;t1(t|0)}if(A=A+4|0,(A|0)==32)break}break r}if(r=U(12),i[r+8>>2]=i[k+12>>2],e=i[k+8>>2],i[r>>2]=i[k+4>>2],i[r+4>>2]=e,i[k+24>>2]=r,Z=f,p=j1(73788,k+24|0)|0,i[Z+4>>2]=p,i[f>>2]=95844,n>>>0<9)break i;t1(n|0);break i}e=H4(4034)|0,g4(n|0,e|0,w|0),e>>>0>=9&&t1(e|0),i[f+4>>2]=n,i[f>>2]=95844,w>>>0>=9&&t1(w|0),G(v)}B=k+32|0}function Hk(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;i:{r:{e:{A:switch(e-f>>3){case 2:if(i[e-4>>2]<=i[f+4>>2])break e;return A=i[f>>2],r=i[f+4>>2],k=e-8|0,e=i[k+4>>2],i[f>>2]=i[k>>2],i[f+4>>2]=e,i[k>>2]=A,i[k+4>>2]=r,1;case 3:if(n=e-8|0,k=e-4|0,A=i[k>>2],r=i[f+12>>2],(r|0)<=i[f+4>>2]){if((r|0)>=(A|0)||(A=i[f+8>>2],r=i[f+12>>2],e=i[n+4>>2],i[f+8>>2]=i[n>>2],i[f+12>>2]=e,i[n>>2]=A,i[n+4>>2]=r,i[f+12>>2]<=i[f+4>>2]))break e;e=i[f+8>>2],r=i[f+12>>2];break r}if(e=i[f>>2],t=i[f+4>>2],(r|0)<(A|0)){r=i[n+4>>2],i[f>>2]=i[n>>2],i[f+4>>2]=r;break i}if(A=i[f+8>>2],r=i[f+12>>2],i[f+8>>2]=e,i[f+12>>2]=t,i[f>>2]=A,i[f+4>>2]=r,(t|0)>=i[k>>2])break e;r=i[n+4>>2],i[f+8>>2]=i[n>>2],i[f+12>>2]=r;break i;case 4:return Tr(f,f+8|0,f+16|0,e-8|0),1;case 5:if(Tr(f,f+8|0,f+16|0,f+24|0),i[e-4>>2]<=i[f+28>>2]||(A=i[f+24>>2],r=i[f+28>>2],k=e-8|0,e=i[k+4>>2],i[f+24>>2]=i[k>>2],i[f+28>>2]=e,i[k>>2]=A,i[k+4>>2]=r,i[f+28>>2]<=i[f+20>>2])||(e=i[f+24>>2],r=i[f+28>>2],A=i[f+20>>2],i[f+24>>2]=i[f+16>>2],i[f+28>>2]=A,i[f+16>>2]=e,i[f+20>>2]=r,(r|0)<=i[f+12>>2])||(A=i[f+12>>2],i[f+16>>2]=i[f+8>>2],i[f+20>>2]=A,i[f+8>>2]=e,i[f+12>>2]=r,(r|0)<=i[f+4>>2]))break e;break r;case 0:case 1:break e;default:break A}t=i[f+20>>2],A=i[f+12>>2],k=i[f+4>>2];A:{if((A|0)<=(k|0)){if((A|0)>=(t|0)||(r=i[f+16>>2],t=i[f+20>>2],A=i[f+12>>2],i[f+16>>2]=i[f+8>>2],i[f+20>>2]=A,i[f+8>>2]=r,i[f+12>>2]=t,(k|0)>=(t|0)))break A;A=i[f+4>>2],i[f+8>>2]=i[f>>2],i[f+12>>2]=A,i[f>>2]=r,i[f+4>>2]=t;break A}if(r=i[f>>2],n=i[f+4>>2],(A|0)<(t|0)){k=i[f+16>>2],A=i[f+20>>2],i[f+16>>2]=r,i[f+20>>2]=n,i[f>>2]=k,i[f+4>>2]=A;break A}if(k=i[f+8>>2],A=i[f+12>>2],i[f+8>>2]=r,i[f+12>>2]=n,i[f>>2]=k,i[f+4>>2]=A,(n|0)>=(t|0))break A;k=i[f+16>>2],A=i[f+20>>2],i[f+16>>2]=r,i[f+20>>2]=n,i[f+8>>2]=k,i[f+12>>2]=A}if(k=f+24|0,(k|0)==(e|0))break e;for(A=f+16|0;;){A:{if(i[k+4>>2]<=i[A+4>>2])break A;for(u=i[k>>2],n=i[k+4>>2],r=k;;){f:{if(t=r,r=A,A=i[r+4>>2],i[t>>2]=i[r>>2],i[t+4>>2]=A,(f|0)==(r|0))break f;if(A=r-8|0,i[r-4>>2]<(n|0))continue}break}if(i[r>>2]=u,i[r+4>>2]=n,o=o+1|0,(o|0)!=8)break A;return(k+8|0)==(e|0)}if(A=k,k=k+8|0,(k|0)==(e|0))break}}return 1}return A=i[f+4>>2],i[f+8>>2]=i[f>>2],i[f+12>>2]=A,i[f>>2]=e,i[f+4>>2]=r,1}return i[n>>2]=e,i[n+4>>2]=t,1}function Vr(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;A=e-1|0,r=A,o=(A|0)/2|0,A=e+65535>>>0<131073,o=A?r:o,k=i[f+72>>2],t=k>>31,e=A?2:1,n=i[f+76>>2];i:{if((e|0)==(n|0)){if(r=(o>>31)+t|0,n=k+o|0,r=n>>>0>>0?r+1|0:r,(r-(n>>>0<2147483648)|0)==-1)break i;e=r>>31,o=e,e=n+(e|1)|0,r=r+o|0,n=o2(e,e>>>0>>0?r+1|0:r,2,0),e=1;break i}if(e=n,u=e>>31,n=q0(e,u,o,o>>31),h=w0,w=n,r=k,n=A&31,(A&63)>>>0>=32?(o=r<>>32-n|t<>>0>n>>>0?r+1|0:r,t=r,h=(r-(n>>>0<2147483648)|0)==-1,o=e,k=A&31,(A&63)>>>0>=32?(r=e<>>32-k|u<>>0<2147483648)|0)==-1&h))for(;e=k>>31,r=e,e=A+(r|1)|0,r=r+k|0,A=o2(e,e>>>0>>0?r+1|0:r,2,0),k=w0,u=k-(A>>>0<2147483648)|0,e=t>>31,o=e,e=n+(e|1)|0,r=t+o|0,n=o2(e,e>>>0>>0?r+1|0:r,2,0),e=w0,t=e,(e-(n>>>0<2147483648)&u)!=-1;);e=A}if(k=i[f+56>>2],f=i[f+60>>2],A=k-f|0,t=f>>31,k=(k>>31)-(t+(f>>>0>k>>>0)|0)|0,r=k-(A>>>0<2147483648)|0,(r|0)==-2|r>>>0<4294967294){for(;r=t>>31,u=f+(r|1)|0,r=t+r|0,f=o2(u,f>>>0>u>>>0?r+1|0:r,2,0),t=w0,r=k>>31,u=A+(r|1)|0,r=k+r|0,A=o2(u,A>>>0>u>>>0?r+1|0:r,2,0),k=w0,(k-(A>>>0<2147483648)|0)!=-1;);t=f>>31}if(r=t<<1|f>>>31,f=f<<1,t=r,r=r-(f>>>0<2147483648)|0,(r|0)==-2|r>>>0<4294967294)for(;r=k>>31,u=A+(r|1)|0,o=r+k|0,A=o2(u,A>>>0>u>>>0?o+1|0:o,2,0),k=w0,r=t>>31,u=f+(r|1)|0,r=r+t|0,f=o2(u,f>>>0>u>>>0?r+1|0:r,2,0),t=w0,(t-(f>>>0<2147483648)|0)!=-1;);k=n>>31;i:{if((f|0)==(e|0)){if(k=k-((A>>31)+(A>>>0>n>>>0)|0)|0,A=n-A|0,(k-(A>>>0<2147483648)|0)==-1)break i;for(f=e,t=e>>31;e=t>>31,r=e,e=f+(r|1)|0,r=r+t|0,f=o2(e,f>>>0>e>>>0?r+1|0:r,2,0),t=w0,e=k>>31,r=e,e=A+(r|1)|0,r=r+k|0,A=o2(e,e>>>0>>0?r+1|0:r,2,0),e=w0,k=e,(e-(A>>>0<2147483648)|0)!=-1;);e=f;break i}if(k=q0(f,t,n,k),n=w0,r=e>>31,u=q0(e,r,A,A>>31),A=k-u|0,k=n-(w0+(k>>>0>>0)|0)|0,f=q0(f,t,e,r),e=w0,t=e,(k-(A>>>0<2147483648)&e-(f>>>0<2147483648))!=-1)for(;e=t>>31,n=e,e=f+(e|1)|0,r=n+t|0,f=o2(e,f>>>0>e>>>0?r+1|0:r,2,0),t=w0,n=t-(f>>>0<2147483648)|0,e=k>>31,o=e,e=A+(e|1)|0,r=k+o|0,A=o2(e,e>>>0>>0?r+1|0:r,2,0),e=w0,k=e,(e-(A>>>0<2147483648)&n)!=-1;);e=f}return f=A,A=(e|0)/2|0,f=f+A|0,r=(A>>31)+k|0,o2(f,f>>>0>>0?r+1|0:r,e,e>>31)}function L4(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0;i:{r:switch(r|0){case 1:for(r=0,k=i[i[11334]+12>>2];n=k+(r<<1)|0,l[((s[n+1|0]<<3)+f|0)+s[n|0]|0]=s[e+r|0],n=r|1,o=k+(n<<1)|0,l[((s[o+1|0]<<3)+f|0)+s[o|0]|0]=s[e+n|0],r=r+2|0,(r|0)!=64;);break i;case 2:for(n=f+1|0,o=i[i[11334]+12>>2];r=o+(k<<1)|0,t=e+k|0,u=s[t|0],l[((s[r|0]<<1)+f|0)+(s[r+1|0]<<5)|0]=u,l[(n+(s[r|0]<<1)|0)+(s[r+1|0]<<5)|0]=u,t=s[t|0],l[(((s[r|0]<<1)+f|0)+(s[r+1|0]<<5)|0)+16|0]=t,l[((n+(s[r|0]<<1)|0)+(s[r+1|0]<<5)|0)+16|0]=t,k=k+1|0,(k|0)!=64;);break i;case 3:for(n=f+3|0,o=f+2|0,t=f+1|0,h=i[i[11334]+12>>2];r=(u<<1)+h|0,k=e+u|0,A=s[k|0],l[((s[r|0]<<2)+f|0)+(s[r+1|0]<<7)|0]=A,l[(t+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0]=A,A=s[k|0],l[(o+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0]=A,l[(n+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0]=A,A=s[k|0],l[(((s[r|0]<<2)+f|0)+(s[r+1|0]<<7)|0)+32|0]=A,l[((t+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0)+32|0]=A,A=s[k|0],l[((o+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0)+32|0]=A,l[((n+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0)+32|0]=A,A=s[k|0],l[(((s[r|0]<<2)+f|0)+(s[r+1|0]<<7)|0)+64|0]=A,l[((t+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0)+64|0]=A,A=s[k|0],l[((o+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0)+64|0]=A,l[((n+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0)+64|0]=A,A=s[k|0],l[(((s[r|0]<<2)+f|0)+(s[r+1|0]<<7)|0)+96|0]=A,l[((t+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0)+96|0]=A,k=s[k|0],l[((o+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0)+96|0]=k,l[((n+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0)+96|0]=k,u=u+1|0,(u|0)!=64;);break i;default:C0(17356,13927,865,4924),P();case 0:break r}r=i[i[11334]+8>>2],l[((s[r+1|0]<<2)+f|0)+s[r|0]|0]=s[e|0],l[s[r+2|0]+((s[r+3|0]<<2)+f|0)|0]=s[e+1|0],l[s[r+4|0]+((s[r+5|0]<<2)+f|0)|0]=s[e+2|0],l[s[r+6|0]+((s[r+7|0]<<2)+f|0)|0]=s[e+3|0],l[s[r+8|0]+((s[r+9|0]<<2)+f|0)|0]=s[e+4|0],l[s[r+10|0]+((s[r+11|0]<<2)+f|0)|0]=s[e+5|0],l[s[r+12|0]+((s[r+13|0]<<2)+f|0)|0]=s[e+6|0],l[s[r+14|0]+((s[r+15|0]<<2)+f|0)|0]=s[e+7|0],l[s[r+16|0]+((s[r+17|0]<<2)+f|0)|0]=s[e+8|0],l[s[r+18|0]+((s[r+19|0]<<2)+f|0)|0]=s[e+9|0],l[s[r+20|0]+((s[r+21|0]<<2)+f|0)|0]=s[e+10|0],l[s[r+22|0]+((s[r+23|0]<<2)+f|0)|0]=s[e+11|0],l[s[r+24|0]+((s[r+25|0]<<2)+f|0)|0]=s[e+12|0],l[s[r+26|0]+((s[r+27|0]<<2)+f|0)|0]=s[e+13|0],l[s[r+28|0]+((s[r+29|0]<<2)+f|0)|0]=s[e+14|0],l[s[r+30|0]+((s[r+31|0]<<2)+f|0)|0]=s[e+15|0]}}function Oh(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;k=B-16|0,B=k,o=D0(r),u=D0(r),h=D0(r),_=D0(r),A=D0(r),n=D0(r),w=D0(r),t=D0(r);i:{if((t|(o|u|h|_|n))<0){if(e=U(32),i[k>>2]=e,i[k+4>>2]=31,i[k+8>>2]=-2147483616,r=s[17877]|s[17878]<<8|(s[17879]<<16|s[17880]<<24),A=s[17873]|s[17874]<<8|(s[17875]<<16|s[17876]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+31|0]=0,r=s[17900]|s[17901]<<8|(s[17902]<<16|s[17903]<<24),A=s[17896]|s[17897]<<8|(s[17898]<<16|s[17899]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,l[e+27|0]=r,l[e+28|0]=r>>>8,l[e+29|0]=r>>>16,l[e+30|0]=r>>>24,r=s[17893]|s[17894]<<8|(s[17895]<<16|s[17896]<<24),A=s[17889]|s[17890]<<8|(s[17891]<<16|s[17892]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[17885]|s[17886]<<8|(s[17887]<<16|s[17888]<<24),A=s[17881]|s[17882]<<8|(s[17883]<<16|s[17884]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,128,k),l[k+11|0]>=0)break i;G(i[k>>2]);break i}if(u=p9(k,o,u),o=i[u>>2],u=i[u+4>>2],i[e+48>>2]=o,i[e+52>>2]=u,h=p9(k,h,_),o=i[h>>2],h=i[h+4>>2],i[e+56>>2]=o,i[e+60>>2]=h,n-65537>>>0<4294836223)for(;A=(A|0)/2|0,n=(n|0)/2|0,n-65537>>>0<4294836223;);r:{if((n|0)<=1)break r;for(;;){if(A-65537>>>0>4294836222)break r;if(A=(A|0)/2|0,o=n>>>0>3,n=n>>>1|0,!o)break}}if(i[e+64>>2]=A,i[e+68>>2]=n,t-65537>>>0<4294836223)for(;w=(w|0)/2|0,t=(t|0)/2|0,t-65537>>>0<4294836223;);r:{if((t|0)<=1){A=t;break r}for(;;){if(w-65537>>>0>4294836222){A=t;break r}if(w=(w|0)/2|0,o=t>>>0>3,A=t>>>1|0,t=A,!o)break}}i[e+72>>2]=w,i[e+76>>2]=A;r:{if(!(!n|(!u|!h))&&A)break r;if(e=f,f=C1(k,31341),r0(e,2,128,f),l[f+11|0]>=0)break i;G(i[f>>2]);break i}e=B-16|0,B=e;r:{if(s[r+20|0]==1){if(l[e+4|0]=0,l[e+15|0]=0,r0(f,2,100,e+4|0),l[e+15|0]>=0)break r;G(i[e+4>>2]);break r}if(r=i[19565],i[f>>2]=i[19564],i[f+4>>2]=r,f=f+8|0,l[78275]>=0){r=i[19567],i[f>>2]=i[19566],i[f+4>>2]=r,i[f+8>>2]=i[19568];break r}_0(f,i[19566],i[19567])}B=e+16|0}B=k+16|0}function jh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0;A=B-16|0,B=A,e=U(136),i[e+4>>2]=0,i[e+8>>2]=0,i[e>>2]=72792,B0(e+20|0,0,104),k=i[e+4>>2],n=k+1|0,i[e+4>>2]=n,i[e+56>>2]=0,i[e+60>>2]=0,i[e+44>>2]=99,i[e+48>>2]=99,i[e+32>>2]=3795,o=e- -64|0,i[o>>2]=0,i[o+4>>2]=0,i[e+132>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,i[e+84>>2]=1,i[e+88>>2]=1,i[e+72>>2]=e+76,i[e+92>>2]=0,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+112>>2]=0,l[e+113|0]=0,l[e+114|0]=0,l[e+115|0]=0,l[e+116|0]=0,l[e+117|0]=0,l[e+118|0]=0,l[e+119|0]=0,l[e+120|0]=0,o=e+12|0,i[e+12>>2]=o,i[e+8>>2]=i[e+8>>2]+1,i[e+4>>2]=k,i[e+16>>2]=e,n||(V[i[i[e>>2]+8>>2]](e),g(e)),k=i[r>>2],n=i[k+24>>2],u=i[k+28>>2],t=i[k+32>>2],i[o+36>>2]=i[k+36>>2],i[o+32>>2]=t,i[o+28>>2]=u,i[o+24>>2]=n;i:{r:{for(;;){n=i[p+41232>>2];e:{if(!H2(i[r>>2],n))break e;if(t=U0(i[r>>2],n),t>>>0>=9){if(h=y4(i[r>>2],n),w=F4(i[r>>2],n),!J0(o,n,h,w,8))break r;if(_=v0(i[r>>2],n,A+12|0),i[A+12>>2]=i[A+12>>2]/2,v=v0(o,n,A+8|0),(w|0)<=0|(h|0)<=0)break e;for(t=t-8|0,W=h&2147483646,C=h&1,n=0;;){if(k=0,u=0,(h|0)!=1)for(;l[(v+m(i[A+8>>2],n)|0)+k|0]=Q[(_+(m(i[A+12>>2],n)<<1)|0)+(k<<1)>>1]>>>t,Z=k|1,l[Z+(v+m(i[A+8>>2],n)|0)|0]=Q[(_+(m(i[A+12>>2],n)<<1)|0)+(Z<<1)>>1]>>>t,k=k+2|0,u=u+2|0,(W|0)!=(u|0););if(C&&(l[(v+m(i[A+8>>2],n)|0)+k|0]=Q[(_+(m(i[A+12>>2],n)<<1)|0)+(k<<1)>>1]>>>t),n=n+1|0,(w|0)==(n|0))break}break e}if((t|0)!=8){if(h=y4(i[r>>2],n),v=F4(i[r>>2],n),!J0(o,n,h,v,8))break r;if(u=1<<16-t,k=(u&65534)>>>t|0,k)for(;u=k|u,k=k>>>t|0,!!k;);if(t=v0(i[r>>2],n,A+12|0),_=v0(o,n,A+8|0),(v|0)<=0|(h|0)<=0)break e;for(W=h&2147483646,C=h&1,n=0;;){if(k=0,w=0,(h|0)!=1)for(;l[(_+m(i[A+8>>2],n)|0)+k|0]=m(s[(t+m(i[A+12>>2],n)|0)+k|0],u)>>>8,Z=k|1,l[Z+(_+m(i[A+8>>2],n)|0)|0]=m(s[Z+(t+m(i[A+12>>2],n)|0)|0],u)>>>8,k=k+2|0,w=w+2|0,(W|0)!=(w|0););if(C&&(l[(_+m(i[A+8>>2],n)|0)+k|0]=m(s[(t+m(i[A+12>>2],n)|0)+k|0],u)>>>8),n=n+1|0,(v|0)==(n|0))break}break e}U8(o,r,n,n)}if(p=p+4|0,(p|0)==28)break}i[f+4>>2]=e,i[f>>2]=o;break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[e+4>>2],i[e+4>>2]=f-1,f)break i;V[i[i[e>>2]+8>>2]](e),g(e)}B=A+16|0}function Ph(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;o=B-16|0,B=o;i:{r:{if((G2(r)|0)!=4){e=i[18420],i[f>>2]=i[18419],i[f+4>>2]=e,i[f+8>>2]=i[18421];break r}Z=s[r|0]|s[r+1|0]<<8|(s[r+2|0]<<16|s[r+3|0]<<24),i[o+12>>2]=0,i[o+4>>2]=0,i[o+8>>2]=0,n=A,w=k+n|0,u=w;e:{if((k|0)<=0)break e;if(r=i[o+12>>2],h=i[o+8>>2],(r-h|0)>=(k|0)){A:{if((k|0)<=(h|0)){r=h;break A}if(w=n+h|0,r=u-w|0,(u|0)!=(w|0)&&F2(h,w,r),r=r+h|0,i[o+8>>2]=r,(h|0)<=0)break e}t=r,A=r-k|0;A:{if(h>>>0<=A>>>0)break A;if(_=k+h|0,u=_-r&7,u)for(;l[t|0]=s[A|0],t=t+1|0,A=A+1|0,v=v+1|0,(u|0)!=(v|0););if(r-_>>>0>=4294967289)break A;for(;l[t|0]=s[A|0],l[t+1|0]=s[A+1|0],l[t+2|0]=s[A+2|0],l[t+3|0]=s[A+3|0],l[t+4|0]=s[A+4|0],l[t+5|0]=s[A+5|0],l[t+6|0]=s[A+6|0],l[t+7|0]=s[A+7|0],t=t+8|0,A=A+8|0,(h|0)!=(A|0););}if(i[o+8>>2]=t,(r|0)!=(k|0)&&(A=r,r=r-k|0,F2(A-r|0,0,r)),(n|0)==(w|0))break e;F2(0,n,w-n|0);break e}if(w=i[o+4>>2],u=(h-w|0)+k|0,(u|0)>=0){t=0-w|0,A=r-w|0,r=A<<1,_=A>>>0>=1073741823?2147483647:r>>>0>u>>>0?r:u,_?u=U(_):u=0,r=l0(t+u|0,n,k);A:{if(!w){A=r;break A}n=t&3;f:{if(!n){A=r,t=0;break f}for(A=r,t=0;A=A-1|0,t=t-1|0,l[A|0]=s[t|0],v=v+1|0,(n|0)!=(v|0););}if(w>>>0<=4294967292)for(;l[A-1|0]=s[t-1|0],l[A-2|0]=s[t-2|0],l[A-3|0]=s[t-3|0],A=A-4|0,t=t-4|0,l[A|0]=s[t|0],(t|0)!=(w|0););h=i[o+8>>2]}r=r+k|0,h&&F2(r,0,h),i[o+12>>2]=u+_,i[o+8>>2]=r+h,r=i[o+4>>2],i[o+4>>2]=A,r&&G(r);break e}y0(),P()}if(n=U(32),i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,i[n+16>>2]=Z<<24|(Z&65280)<<8|(Z>>>8&65280|Z>>>24),i[n+12>>2]=72952,i[n>>2]=73092,i[n+4>>2]=0,i[n+8>>2]=0,r=i[o+8>>2],k=i[o+4>>2],(r|0)!=(k|0)){if(u=r-k|0,(u|0)<0)break i;A=U(u),i[n+20>>2]=A,r=A+u|0,i[n+28>>2]=r,l0(A,k,u),i[n+24>>2]=r}e=i[e>>2],i[n+4>>2]=i[n+4>>2]+2,i[e+52>>2]=n+12,r=i[e+56>>2],i[e+56>>2]=n;e:{if(!r||(e=i[r+4>>2],i[r+4>>2]=e-1,e))break e;V[i[i[r>>2]+8>>2]](r),g(r)}if(e=i[n+4>>2],i[n+4>>2]=e-1,e||(V[i[i[n>>2]+8>>2]](n),g(n)),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[n+4>>2],i[n+4>>2]=f-1,f||(V[i[i[n>>2]+8>>2]](n),g(n)),f=i[o+4>>2],!f)break r;i[o+8>>2]=f,G(f)}B=o+16|0;return}y0(),P()}function f1(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;if(o=B-16|0,B=o,i[f+4>>2]=i[f+4>>2]+1,r=B-16|0,B=r,i[r+12>>2]=f,i[o+12>>2]=i[r+12>>2],B=r+16|0,r=i[25004],i[25005]-r>>2>>>0<=e>>>0)i:{if(f=e+1|0,A=i[25005],r=A-r>>2,f>>>0>r>>>0){u=B-32|0,B=u,t=f-r|0;r:{if(t>>>0<=i[25006]-A>>2>>>0){J9(t);break r}A=u+12|0,r=B-16|0,B=r,k=t+(i[25005]-i[25004]>>2)|0,i[r+12>>2]=k;e:{if(f=L9(),k>>>0<=f>>>0){k=i[25006]-i[25004]>>2,k>>>0>>1>>>0&&(i[r+8>>2]=k<<1,f=B-16|0,B=f,B=f+16|0,f=r+12|0,k=r+8|0,f=i[(k0[k>>2]>2]?f:k)>>2]),B=r+16|0,r=f;break e}o4(),P()}for(n=i[25005]-i[25004]>>2,f=0,k=B-16|0,B=k,i[k+12>>2]=0,i[A+12>>2]=0,i[A+16>>2]=100028,r?(ut(k+4|0,i[A+16>>2],r),f=i[k+4>>2],r=i[k+8>>2]):r=0,i[A>>2]=f,n=(n<<2)+f|0,i[A+8>>2]=n,i[A+4>>2]=n,i[A+12>>2]=(r<<2)+f,B=k+16|0,r=B-16|0,B=r,f=i[A+8>>2],i[r+12>>2]=A+8,i[r+4>>2]=f,i[r+8>>2]=f+(t<<2),f=i[r+4>>2];;){if(i[r+8>>2]!=(f|0)){i[i[r+4>>2]>>2]=0,f=i[r+4>>2]+4|0,i[r+4>>2]=f;continue}break}for(i[i[r+12>>2]>>2]=i[r+4>>2],B=r+16|0,k=B-16|0,B=k,i[k+8>>2]=i[25005],i[k+4>>2]=i[25004],i[k>>2]=i[A+4>>2],n=i[k+4>>2],h=i[k>>2],t=B-16|0,B=t,f=B-32|0,B=f,r=B-16|0,B=r,i[r+12>>2]=i[k+8>>2],i[r+8>>2]=n,i[f+24>>2]=i[r+12>>2],i[f+28>>2]=i[r+8>>2],B=r+16|0,n=i[f+24>>2],r=B-16|0,B=r,i[r+8>>2]=i[f+28>>2],i[r+12>>2]=n,i[r+4>>2]=h;;){if(n=i[r+12>>2],(n|0)!=i[r+8>>2]){i[i[r+4>>2]-4>>2]=i[n-4>>2],i[r+12>>2]=i[r+12>>2]-4,i[r+4>>2]=i[r+4>>2]-4;continue}break}for(i[f+16>>2]=i[r+12>>2],i[f+20>>2]=i[r+4>>2],B=r+16|0,i[f+12>>2]=i[f+16>>2],i[f+8>>2]=i[f+20>>2],i[t+8>>2]=i[f+12>>2],i[t+12>>2]=i[f+8>>2],B=f+32|0,B=t+16|0,i[k+12>>2]=i[t+12>>2],i[A+4>>2]=i[k+12>>2],f=i[25004],i[25004]=i[A+4>>2],i[A+4>>2]=f,f=i[25005],i[25005]=i[A+8>>2],i[A+8>>2]=f,f=i[25006],i[25006]=i[A+12>>2],i[A+12>>2]=f,i[A>>2]=i[A+4>>2],B=k+16|0,f=i[A+4>>2];;){if(r=i[A+8>>2],(r|0)!=(f|0)){i[A+8>>2]=r-4;continue}break}f=i[A>>2],f&&Mt(i[A+16>>2],f)}B=u+32|0;break i}f>>>0>>0&&xt(100016,i[25004]+(f<<2)|0)}f=i[i[25004]+(e<<2)>>2],f&&(r=i[f+4>>2]-1|0,i[f+4>>2]=r,(r|0)==-1&&V[i[i[f>>2]+8>>2]](f)),f=i[o+12>>2],i[o+12>>2]=0,i[i[25004]+(e<<2)>>2]=f,f=i[o+12>>2],i[o+12>>2]=0,f&&(e=i[f+4>>2]-1|0,i[f+4>>2]=e,(e|0)==-1&&V[i[i[f>>2]+8>>2]](f)),B=o+16|0}function VA(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;if(t=B-16|0,B=t,i[t+12>>2]=0,i[t+4>>2]=0,i[t+8>>2]=0,n=f+28|0,k=i[f+28>>2],A=i[f+32>>2],(k|0)==(A|0))f=0;else{for(;;){if(f=i[k>>2],(f|0)!=i[e>>2]){i:{if(k0[t+12>>2]>r>>>0){i[r>>2]=f,f=i[k+4>>2],i[r+4>>2]=f,f&&(i[f+4>>2]=i[f+4>>2]+1),r=r+8|0;break i}r=Q2(t+4|0,k)}i[t+8>>2]=r}if(k=k+8|0,(A|0)==(k|0))break}f=i[t+4>>2]}if((t+4|0)!=(n|0)){k=r,o=r-f>>3;i:{if(A=i[n+8>>2],r=i[n>>2],o>>>0<=A-r>>3>>>0){if(e=i[n+4>>2],A=e-r|0,o>>>0>A>>3>>>0){if(A=f+A|0,(e|0)!=(r|0)){for(;;){e=i[f>>2],o=i[f+4>>2],o&&(i[o+4>>2]=i[o+4>>2]+1),i[r>>2]=e,e=i[r+4>>2],i[r+4>>2]=o;r:{if(!e||(o=i[e+4>>2],i[e+4>>2]=o-1,o))break r;V[i[i[e>>2]+8>>2]](e),g(e)}if(r=r+8|0,f=f+8|0,(A|0)==(f|0))break}e=i[n+4>>2]}if(f=e,(A|0)!=(k|0))for(;i[f>>2]=i[A>>2],r=i[A+4>>2],i[f+4>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),f=f+8|0,A=A+8|0,(k|0)!=(A|0););i[n+4>>2]=(f-e|0)+e;break i}if((f|0)!=(k|0)){for(;;){e=i[f>>2],A=i[f+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r>>2]=e,e=i[r+4>>2],i[r+4>>2]=A;r:{if(!e||(A=i[e+4>>2],i[e+4>>2]=A-1,A))break r;V[i[i[e>>2]+8>>2]](e),g(e)}if(r=r+8|0,f=f+8|0,(k|0)==(f|0))break}e=i[n+4>>2]}if((e|0)!=(r|0))for(;;){f=i[e-4>>2];r:{if(!f||(k=i[f+4>>2],i[f+4>>2]=k-1,k))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(e=e-8|0,(r|0)==(e|0))break}i[n+4>>2]=r;break i}if(r){if(e=r,A=i[n+4>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];r:{if(!e||(u=i[e+4>>2],i[e+4>>2]=u-1,u))break r;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(A|0)==(r|0))break}e=i[n>>2]}i[n+4>>2]=r,G(e),i[n+8>>2]=0,i[n>>2]=0,i[n+4>>2]=0,A=0}r:{if(o>>>0>=536870912||(e=A>>2,e=A>>>0>=2147483640?536870911:e>>>0>o>>>0?e:o,e>>>0>=536870912))break r;if(e=e<<3,r=U(e),i[n+4>>2]=r,i[n>>2]=r,i[n+8>>2]=e+r,(f|0)!=(k|0))for(;i[r>>2]=i[f>>2],e=i[f+4>>2],i[r+4>>2]=e,e&&(i[e+4>>2]=i[e+4>>2]+1),r=r+8|0,f=f+8|0,(k|0)!=(f|0););i[n+4>>2]=r;break i}y0(),P()}f=i[t+4>>2]}if(f){if(r=f,k=i[t+8>>2],(r|0)!=(k|0)){for(;;){e=i[k-4>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(k=k-8|0,(k|0)==(f|0))break}r=i[t+4>>2]}i[t+8>>2]=f,G(r)}B=t+16|0}function Ir(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;k=e-1|0,r=k,o=(k|0)/2|0,k=e+65535>>>0<131073,o=k?r:o,A=i[f+64>>2],t=A>>31,e=k?2:1,n=i[f+68>>2];i:{if((e|0)==(n|0)){if(r=(o>>31)+t|0,n=A+o|0,r=n>>>0>>0?r+1|0:r,(r-(n>>>0<2147483648)|0)==-1)break i;e=r>>31,o=e,e=n+(e|1)|0,r=r+o|0,n=o2(e,e>>>0>>0?r+1|0:r,2,0),e=1;break i}if(e=n,u=e>>31,n=q0(e,u,o,o>>31),h=w0,w=n,r=A,n=k&31,(k&63)>>>0>=32?(o=r<>>32-n|t<>>0>n>>>0?r+1|0:r,t=r,h=(r-(n>>>0<2147483648)|0)==-1,o=e,A=k&31,(k&63)>>>0>=32?(r=e<>>32-A|u<>>0<2147483648)|0)==-1&h))for(;e=A>>31,r=e,e=k+(r|1)|0,r=r+A|0,k=o2(e,e>>>0>>0?r+1|0:r,2,0),A=w0,u=A-(k>>>0<2147483648)|0,e=t>>31,o=e,e=n+(e|1)|0,r=t+o|0,n=o2(e,e>>>0>>0?r+1|0:r,2,0),e=w0,t=e,(e-(n>>>0<2147483648)&u)!=-1;);e=k}if(A=i[f+48>>2],f=i[f+52>>2],k=A-f|0,t=f>>31,A=(A>>31)-(t+(f>>>0>A>>>0)|0)|0,r=A-(k>>>0<2147483648)|0,(r|0)==-2|r>>>0<4294967294){for(;r=t>>31,u=f+(r|1)|0,r=t+r|0,f=o2(u,f>>>0>u>>>0?r+1|0:r,2,0),t=w0,r=A>>31,u=k+(r|1)|0,r=A+r|0,k=o2(u,k>>>0>u>>>0?r+1|0:r,2,0),A=w0,(A-(k>>>0<2147483648)|0)!=-1;);t=f>>31}if(r=t<<1|f>>>31,f=f<<1,t=r,r=r-(f>>>0<2147483648)|0,(r|0)==-2|r>>>0<4294967294)for(;r=A>>31,u=k+(r|1)|0,o=r+A|0,k=o2(u,k>>>0>u>>>0?o+1|0:o,2,0),A=w0,r=t>>31,u=f+(r|1)|0,r=r+t|0,f=o2(u,f>>>0>u>>>0?r+1|0:r,2,0),t=w0,(t-(f>>>0<2147483648)|0)!=-1;);A=n>>31;i:{if((f|0)==(e|0)){if(A=A-((k>>31)+(k>>>0>n>>>0)|0)|0,k=n-k|0,(A-(k>>>0<2147483648)|0)==-1)break i;for(f=e,t=e>>31;e=t>>31,r=e,e=f+(r|1)|0,r=r+t|0,f=o2(e,f>>>0>e>>>0?r+1|0:r,2,0),t=w0,e=A>>31,r=e,e=k+(r|1)|0,r=r+A|0,k=o2(e,e>>>0>>0?r+1|0:r,2,0),e=w0,A=e,(e-(k>>>0<2147483648)|0)!=-1;);e=f;break i}if(A=q0(f,t,n,A),n=w0,r=e>>31,u=q0(e,r,k,k>>31),k=A-u|0,A=n-(w0+(A>>>0>>0)|0)|0,f=q0(f,t,e,r),e=w0,t=e,(A-(k>>>0<2147483648)&e-(f>>>0<2147483648))!=-1)for(;e=t>>31,n=e,e=f+(e|1)|0,r=n+t|0,f=o2(e,f>>>0>e>>>0?r+1|0:r,2,0),t=w0,n=t-(f>>>0<2147483648)|0,e=A>>31,o=e,e=k+(e|1)|0,r=A+o|0,k=o2(e,e>>>0>>0?r+1|0:r,2,0),e=w0,A=e,(e-(k>>>0<2147483648)&n)!=-1;);e=f}return(k|0)/(e|0)|0}function Lh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;A=B-32|0,B=A,e=i[r>>2],o=i[e+28>>2],u=i[e+24>>2],e=U(136),i[e>>2]=72792,i[e+4>>2]=0,i[e+8>>2]=0,B0(e+20|0,0,104),h=i[e+4>>2],w=h+1|0,i[e+4>>2]=w,i[e+56>>2]=0,i[e+60>>2]=0,i[e+44>>2]=99,i[e+48>>2]=99,i[e+32>>2]=3795,n=e- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[e+132>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,i[e+84>>2]=1,i[e+88>>2]=1,i[e+72>>2]=e+76,i[e+92>>2]=0,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+112>>2]=0,l[e+113|0]=0,l[e+114|0]=0,l[e+115|0]=0,l[e+116|0]=0,l[e+117|0]=0,l[e+118|0]=0,l[e+119|0]=0,l[e+120|0]=0,n=e+12|0,i[e+12>>2]=n,i[e+8>>2]=i[e+8>>2]+1,i[e+4>>2]=h,i[e+16>>2]=e,w||(V[i[i[e>>2]+8>>2]](e),g(e)),i[n+36>>2]=3,i[n+32>>2]=0,i[n+28>>2]=o,i[n+24>>2]=u,k=s[k+8|0],t=i[i[r>>2]+36>>2];i:{r:{if(!J0(n,0,u,o,8)||!J0(n,1,u,o,8)||!J0(n,2,u,o,8)||(_=k&1,_&&!J0(n,6,u,o,8)))break r;i[A+28>>2]=0,i[A+24>>2]=0,i[A+20>>2]=0,i[A+16>>2]=0,i[A+12>>2]=0,h=v0(i[r>>2],10,A+12|0),w=v0(n,0,A+20|0),p=v0(n,1,A+28|0),W=v0(n,2,A+24|0),_&&(Z=v0(n,6,A+16|0));e:{if((o|0)<=0|(u|0)<=0)break e;if(_=(t|0)==11?4:3,!(k&1)){for(k=0;;){for(r=0;t=(h+m(i[A+12>>2],k)|0)+m(r,_)|0,Z=s[t|0],v=s[t+2|0],l[(w+m(i[A+20>>2],k)|0)+r|0]=s[t+1|0],l[(m(i[A+28>>2],k)+p|0)+r|0]=v,l[(m(i[A+24>>2],k)+W|0)+r|0]=Z,r=r+1|0,(u|0)!=(r|0););if(k=k+1|0,(o|0)==(k|0))break}break e}if(r=0,(t|0)==11)for(;;){for(k=0;v=m(k,_),t=v+(h+m(i[A+12>>2],r)|0)|0,C=s[t|0],I=s[t+2|0],l[(w+m(i[A+20>>2],r)|0)+k|0]=s[t+1|0],l[(m(i[A+28>>2],r)+p|0)+k|0]=I,l[(m(i[A+24>>2],r)+W|0)+k|0]=C,l[(m(i[A+16>>2],r)+k|0)+Z|0]=s[(v+(h+m(i[A+12>>2],r)|0)|0)+3|0],k=k+1|0,(u|0)!=(k|0););if(r=r+1|0,(o|0)==(r|0))break e}for(;;){for(k=0;t=(h+m(i[A+12>>2],r)|0)+m(k,_)|0,v=s[t|0],C=s[t+2|0],l[(w+m(i[A+20>>2],r)|0)+k|0]=s[t+1|0],l[(m(i[A+28>>2],r)+p|0)+k|0]=C,l[(m(i[A+24>>2],r)+W|0)+k|0]=v,l[(m(i[A+16>>2],r)+k|0)+Z|0]=255,k=k+1|0,(u|0)!=(k|0););if(r=r+1|0,(o|0)==(r|0))break}}i[f+4>>2]=e,i[f>>2]=n;break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[e+4>>2],i[e+4>>2]=f-1,f)break i;V[i[i[e>>2]+8>>2]](e),g(e)}B=A+32|0}function Kh(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0;u=B-32|0,B=u;i:{r:{e:{A:{if(o=i[e+16>>2],(V[i[i[o>>2]+8>>2]](o)|0)==5){f:{if(!(!k|(!r|!A))&&n)break f;e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560];break i}if(o=i[e+16>>2],!o||(h=N0(o,72776,73388),!h))break A;o=i[e+20>>2],o&&(i[o+4>>2]=i[o+4>>2]+1),i[r>>2]=i[h+4>>2],i[A>>2]=i[h+8>>2],w=i[h+12>>2],i[k>>2]=w,e=n,n=i[h+16>>2],i[e>>2]=n,h=i[h+20>>2],QA(u+16|0,w,n,2,0,t);f:{if(i[u+16>>2]){e=i[u+20>>2],i[f>>2]=i[u+16>>2],i[f+4>>2]=e,i[f+8>>2]=i[u+24>>2];break f}if(Z3(u+4|0,i[t>>2],0,w,n,8),i[u+24>>2]=i[u+12>>2],r=i[u+8>>2],e=i[u+4>>2],i[u+16>>2]=e,i[u+20>>2]=r,e){G4(i[t>>2]),i[f+8>>2]=i[u+24>>2],e=i[u+20>>2],i[f>>2]=i[u+16>>2],i[f+4>>2]=e;break f}if(r=0,t=T6(i[t>>2],0,u+4|0),!(!w|!n))for(k=0,A=0;;){for(e=0;l[(t+m(i[u+4>>2],r)|0)+e|0]=(s[((A&7)<<29|k>>>3)+h|0]<<(k&7)&128)>>>7|0?-1:0,k=k+1|0,A=k?A:A+1|0,e=e+1|0,(w|0)!=(e|0););if(r=r+1|0,(n|0)==(r|0))break}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}if(!o||(f=i[o+4>>2],i[o+4>>2]=f-1,f))break i;V[i[i[o>>2]+8>>2]](o),g(o);break i}if(o=i[e+16>>2],(V[i[i[o>>2]+8>>2]](o)|0)==4){f:{if(!(!k|(!r|!A))&&n)break f;r=i[18559],i[f>>2]=i[18558],i[f+4>>2]=r,i[f+8>>2]=i[18560],r=0;break r}if(o=i[e+16>>2],!o||(h=N0(o,72776,73344),!h))break e;if(o=i[e+20>>2],o&&(i[o+4>>2]=i[o+4>>2]+1),i[r>>2]=i[h+4>>2],i[A>>2]=i[h+8>>2],i[k>>2]=i[h+12>>2],i[n>>2]=i[h+16>>2],r=i[h+20>>2],i[f+8>>2]=i[18412],A=i[18411],i[f>>2]=i[18410],i[f+4>>2]=A,!o||(A=i[o+4>>2],i[o+4>>2]=A-1,A))break r;V[i[i[o>>2]+8>>2]](o),g(o);break r}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560];break i}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560];break i}r=i[18559],i[f>>2]=i[18558],i[f+4>>2]=r,i[f+8>>2]=i[18560],r=0}if(i[f>>2]||(A=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[u+8>>2]=e,i[u+4>>2]=A,gA(f,u+4|0,r,u),i[f>>2]||(IA(u+16|0,i[u>>2],t,2,0,0),i[f+8>>2]=i[u+24>>2],e=i[u+20>>2],i[f>>2]=i[u+16>>2],i[f+4>>2]=e,N6(i[u>>2])),f=i[u+8>>2],!f)||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=u+32|0}function qh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;t=B-144|0,B=t;i:{if(!A){if(l[t+108|0]=0,l[t+119|0]=0,r=f,f=r0(t+56|0,5,2001,t+108|0),P0(r,f,i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),l[t+119|0]>=0)break i;G(i[t+108>>2]);break i}l[t+113|0]=0,l[t+114|0]=0,l[t+115|0]=0,l[t+116|0]=0,X[t+110>>1]=0,X[t+112>>1]=0,X[t+108>>1]=263,l[t+140|0]=1,l[t+136|0]=0,i[t+128>>2]=2,i[t+132>>2]=2,l[t+124|0]=1,i[t+120>>2]=1;r:{if(!k)break r;e:{A:switch(s[k|0]-1|0){case 1:l[t+110|0]=s[k+2|0],l[t+109|0]=s[k+1|0];break e;case 0:l[t+109|0]=s[k+1|0];break e;case 6:l[t+140|0]=s[k+32|0];case 5:o=i[k+20>>2],i[t+124>>2]=i[k+16>>2],i[t+128>>2]=o,o=i[k+28>>2],i[t+132>>2]=i[k+24>>2],i[t+136>>2]=o;case 4:i[t+120>>2]=i[k+12>>2];case 3:o=i[k+4>>2],i[t+112>>2]=o,l[t+116|0]=s[k+8|0];break;case 2:break A;default:break e}if(l[t+111|0]=s[k+3|0],l[t+110|0]=s[k+2|0],l[t+109|0]=s[k+1|0],o)break r}if(k=i[r>>2],o=i[k+44>>2],k=i[k+48>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),o&&(l[t+56|0]=1,i[t+112>>2]=t+56,i[t+60>>2]=Q[o+4>>1],i[t+64>>2]=Q[o+6>>1],i[t+68>>2]=Q[o+8>>1],l[t+72|0]=s[o+10|0]),!k||(o=i[k+4>>2],i[k+4>>2]=o-1,o))break r;V[i[i[k>>2]+8>>2]](k),g(k)}i[t+48>>2]=0,i[t+52>>2]=0,k=t+24|0,i[k>>2]=0,i[k+4>>2]=0,i[k+16>>2]=0,i[k+8>>2]=0,i[k+12>>2]=0,BA(t,i[e>>2],r,A,t+108|0,1,t+48|0),A=i[t+4>>2],r=i[t>>2],i[k>>2]=r,i[k+4>>2]=A,l[k+19|0]<0&&(G(i[k+8>>2]),r=i[k>>2]),A=i[t+12>>2],i[k+8>>2]=i[t+8>>2],i[k+12>>2]=A,i[k+16>>2]=i[t+16>>2],A=i[e>>2];r:{if((r|0)!=i[19564]){P0(f,k,A);break r}i[A+40>>2]||s3(A,t+48|0);e:{if(!n)break e;r=U(16),i[r>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,i[n>>2]=r,A=i[t+48>>2],o=i[t+52>>2];A:{if(!o){i[r+4>>2]=o,i[r>>2]=A;break A}if(i[o+4>>2]=i[o+4>>2]+1,i[r>>2]=A,A=i[r+4>>2],i[r+4>>2]=o,!A||(r=i[A+4>>2],i[A+4>>2]=r-1,r))break A;V[i[i[A>>2]+8>>2]](A),g(A)}if(o=i[e>>2],r=i[n>>2],A=i[e+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+8>>2]=o,e=i[r+12>>2],i[r+12>>2]=A,!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break e;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}if(l[k+19|0]<0&&G(i[k+8>>2]),f=i[t+52>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=t+144|0}function $h(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;A=B-32|0,B=A,h=A+12|0,_=i[e>>2],o=B-32|0,B=o,k=U(132),i[k+4>>2]=0,i[k+8>>2]=0,i[k>>2]=72576,Z=_,p=Ge(k+12|0),i[Z+48>>2]=p,n=i[_+52>>2],i[_+52>>2]=k;i:{if(!n||(k=i[n+4>>2],i[n+4>>2]=k-1,k))break i;V[i[i[n>>2]+8>>2]](n),g(n)}w=i[_+48>>2],n=B-160|0,B=n,k=U(188),u=i[13753],i[k>>2]=u,i[k+108>>2]=55e3,i[k+i[u-12>>2]>>2]=i[13754],i[k+4>>2]=0,u=k+i[i[k>>2]-12>>2]|0,t=k+8|0,b0(u,t),i[u+72>>2]=0,i[u+76>>2]=-1,i[k+108>>2]=55e3,i[k>>2]=54980,jk(z7(t),r,12)||(r=k+i[i[k>>2]-12>>2]|0,z1(r,i[r+16>>2]|4)),u=o+8|0,i[n+156>>2]=k;i:{if(i[(k+i[i[k>>2]-12>>2]|0)+16>>2]){i[n+20>>2]=54496,i[n+76>>2]=54516,r=i[13633],i[n+12>>2]=r,k=i[r-12>>2],r=n+12|0,i[k+r>>2]=i[13634],i[n+16>>2]=0,k=r+i[i[n+12>>2]-12>>2]|0,t=n+24|0,b0(k,t),i[k+72>>2]=0,i[k+76>>2]=-1,k=i[13635],i[n+20>>2]=k,w=i[k-12>>2],k=n+20|0,i[w+k>>2]=i[13636],w=i[13632],i[n+12>>2]=w,i[r+i[w-12>>2]>>2]=i[13637],i[n+76>>2]=54516,i[n+12>>2]=54476,i[n+20>>2]=54496,r=$0(t),i[r>>2]=53552,t=n- -64|0,i[t>>2]=0,i[t+4>>2]=0,i[n+56>>2]=0,i[n+60>>2]=0,i[n+72>>2]=24,t=x(k,21125,20),k=i[23944],k=Q[((k>>>0<=153?k:0)<<1)+51808>>1]+49880|0,x(H0(x(x(t,k,G2(k)),18656,2),i[23944]),31337,2),i2(n,r),r0(u,1,0,n),l[n+11|0]<0&&G(i[n>>2]),k=i[13631],i[n+12>>2]=k,i[i[k-12>>2]+(n+12|0)>>2]=i[13639],i[n+20>>2]=i[13640],i[r>>2]=53552,l[n+67|0]<0&&G(i[n+56>>2]),K0(r),T0(n+76|0);break i}if(r=U(32),i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=72872,k=B-16|0,B=k,v=r+16|0,i[v>>2]=68360,t=i[n+156>>2],i[n+156>>2]=0,i[r+20>>2]=t,f3(t,0,0,2),s9(k,i[r+20>>2]),t=i[k+12>>2],i[r+24>>2]=i[k+8>>2],i[r+28>>2]=t,f3(i[r+20>>2],0,0,0),B=k+16|0,i[n+16>>2]=r,i[n+12>>2]=v,i[r+4>>2]=i[r+4>>2]+1,_A(u,w,n+12|0),k=i[r+4>>2],i[r+4>>2]=k-1,k||(V[i[i[r>>2]+8>>2]](r),g(r)),k=i[r+4>>2],i[r+4>>2]=k-1,k)break i;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[n+156>>2],i[n+156>>2]=0,r&&V[i[i[r>>2]+4>>2]](r),B=n+160|0;i:{if(i[o+8>>2]){r=i[o+12>>2],i[h>>2]=i[o+8>>2],i[h+4>>2]=r,r=i[o+20>>2],i[h+8>>2]=i[o+16>>2],i[h+12>>2]=r,i[h+16>>2]=i[o+24>>2];break i}if(hA(h,_),l[o+27|0]>=0)break i;G(i[o+16>>2])}B=o+32|0,P0(f,h,i[e>>2]),l[A+31|0]<0&&G(i[A+20>>2]),B=A+32|0}function Tk(f,e,r,A,k,n){var t=0,o=0,u=0,h=0,w=0,_=0;i:{r:{if(u=f+548|0,!i[u+8>>2]){l[u+1|0]=0,f=7,t=i[u+44>>2];e:{if((t|0)!=i[u+40>>2]){o=t-4|0,t=i[o>>2],i[u+44>>2]=o,o=i[t+32>>2];break e}t=U(48),i[t+40>>2]=0,i[t+32>>2]=0,i[t+36>>2]=0,l[t+2|0]=0,l[t|0]=0,l[t+1|0]=0,o=U(64),i[t+32>>2]=o,h=o- -64|0,i[t+40>>2]=h,i[o+56>>2]=0,i[o+60>>2]=0,i[o+48>>2]=0,i[o+52>>2]=0,i[o+40>>2]=0,i[o+44>>2]=0,i[o+32>>2]=0,i[o+36>>2]=0,i[o+24>>2]=0,i[o+28>>2]=0,i[o+16>>2]=0,i[o+20>>2]=0,i[o+8>>2]=0,i[o+12>>2]=0,i[o>>2]=0,i[o+4>>2]=0,i[t+8>>2]=0,i[t+12>>2]=0,i[t+36>>2]=h,i[t+16>>2]=0,i[t+20>>2]=0,i[t+24>>2]=0,i[t+28>>2]=0}if(i[t+36>>2]=o,i[t+24>>2]=0,i[t+16>>2]=0,i[t+8>>2]=0,i[t+12>>2]=0,l[t+2|0]=0,X[t>>1]=0,i[t+28>>2]<(r|0))e:{if(o=Z2(r),o){h=i[t+20>>2],h&&G(h),i[t+28>>2]=r,i[t+20>>2]=o;break e}w4(u,t),t=0}if(t){e:{if(i[t+28>>2]>=(r|0)){f=i[t+20>>2];break e}if(f=Z2(r),!f)break r;o=i[t+20>>2],o&&(l0(f,o,i[t+24>>2]),G(o)),i[t+28>>2]=r,i[t+20>>2]=f}if(l0(f,e,r),i[t+16>>2]=n,i[t+8>>2]=A,i[t+12>>2]=k,i[t+24>>2]=r,(r|0)>=3)for(f=i[t+20>>2],n=0;;){e=f+2|0;e:{A:{f:switch(A=s[f+2|0],A|0){case 0:case 3:break A;default:break f}n=n+2|0;break e}if(s[f|0]){e=f;break e}if((A|0)!=3){e=f;break e}if(s[f+1|0]){e=f;break e}r=i[t+36>>2],w=((r-i[t+32>>2]>>2)+n|0)+2|0;A:{if(o=i[t+40>>2],o>>>0>r>>>0){i[r>>2]=w,i[t+36>>2]=r+4;break A}f:{if(k=i[t+32>>2],h=r-k>>2,A=h+1|0,A>>>0<1073741824){if(_=h<<2,o=o-k|0,h=o>>1,h=o>>>0>=2147483644?1073741823:A>>>0>>0?h:A,h){if(h>>>0>=1073741824)break f;A=U(h<<2)}else A=0;if(o=_+A|0,i[o>>2]=w,w=o+4|0,(r|0)!=(k|0))for(;o=o-4|0,r=r-4|0,i[o>>2]=i[r>>2],(r|0)!=(k|0););i[t+40>>2]=A+(h<<2),i[t+36>>2]=w,i[t+32>>2]=o,k&&G(k),i[t+36>>2]=w;break A}y0(),P()}_2(),P()}F2(e,f+3|0,(i[t+24>>2]-n|0)-3|0),r=i[t+24>>2]-1|0,i[t+24>>2]=r,n=n+1|0,e=f+1|0}if(f=e+1|0,n=n+1|0,!((n|0)<(r-2|0)))break}f=0,o=i[u+32>>2],e=o+i[u+28>>2]|0,A=i[u+20>>2],n=i[u+16>>2],(e|0)==(((A|0)!=(n|0)?(A-n<<8)-1|0:0)|0)&&(Gr(u+12|0),r=i[t+24>>2],n=i[u+16>>2],o=i[u+32>>2],e=o+i[u+28>>2]|0),i[i[(e>>>8&16777212)+n>>2]+((e&1023)<<2)>>2]=t,i[u+32>>2]=o+1,i[u+36>>2]=i[u+36>>2]+r}break i}C0(15032,13941,375,15069),P()}w4(u,t),f=7}return f}function bh(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;k=B-48|0,B=k,yA(k+24|0,e,r);i:{if(i[k+24>>2]){e=i[k+28>>2],i[f>>2]=i[k+24>>2],i[f+4>>2]=e,i[f+16>>2]=i[k+40>>2],e=i[k+36>>2],i[f+8>>2]=i[k+32>>2],i[f+12>>2]=e,i[k+40>>2]=0,i[k+32>>2]=0,i[k+36>>2]=0;break i}if((i[e+64>>2]-i[e+60>>2]|0)!=8){if(e=U(64),i[k+12>>2]=e,i[k+16>>2]=57,i[k+20>>2]=-2147483584,r=s[4489]|s[4490]<<8|(s[4491]<<16|s[4492]<<24),A=s[4485]|s[4486]<<8|(s[4487]<<16|s[4488]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+57|0]=0,l[e+56|0]=s[4541],r=s[4537]|s[4538]<<8|(s[4539]<<16|s[4540]<<24),A=s[4533]|s[4534]<<8|(s[4535]<<16|s[4536]<<24),l[e+48|0]=A,l[e+49|0]=A>>>8,l[e+50|0]=A>>>16,l[e+51|0]=A>>>24,l[e+52|0]=r,l[e+53|0]=r>>>8,l[e+54|0]=r>>>16,l[e+55|0]=r>>>24,r=s[4529]|s[4530]<<8|(s[4531]<<16|s[4532]<<24),A=s[4525]|s[4526]<<8|(s[4527]<<16|s[4528]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[4521]|s[4522]<<8|(s[4523]<<16|s[4524]<<24),A=s[4517]|s[4518]<<8|(s[4519]<<16|s[4520]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[4513]|s[4514]<<8|(s[4515]<<16|s[4516]<<24),A=s[4509]|s[4510]<<8|(s[4511]<<16|s[4512]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[4505]|s[4506]<<8|(s[4507]<<16|s[4508]<<24),A=s[4501]|s[4502]<<8|(s[4503]<<16|s[4504]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[4497]|s[4498]<<8|(s[4499]<<16|s[4500]<<24),A=s[4493]|s[4494]<<8|(s[4495]<<16|s[4496]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,101,k+12|0),l[k+23|0]>=0)break i;G(i[k+12>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}l[k+43|0]<0&&G(i[k+32>>2]),B=k+48|0}function dh(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0;n=B-96|0,B=n;i:{if(!(k&&e)){i[f>>2]=5,i[f+4>>2]=2006,i[f+8>>2]=12607;break i}u=i[e>>2],t=i[u+48>>2],u=i[u+52>>2],u&&(i[u+4>>2]=i[u+4>>2]+1),i[n+92>>2]=0,i[n+84>>2]=0,i[n+88>>2]=0,o=n- -64|0,I1(o,t,r,n+84|0);r:{if(i[n+64>>2]){P0(f,o,i[e>>2]);break r}if(r=A-1|0,e=i[n+84>>2],r>>>0>=i[n+88>>2]-e>>3>>>0){i[f>>2]=5,i[f+4>>2]=2007,i[f+8>>2]=10388;break r}e:{if(r=e+(r<<3)|0,e=i[r>>2],!e||(e=N0(e,68572,70072),!e))break e;r=i[r+4>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),A=U(20),i[A>>2]=0,i[A+4>>2]=0,i[A+16>>2]=0,i[A+8>>2]=0,i[A+12>>2]=0,i[A>>2]=1;A:{if(l[e+67|0]>=0){i[n+56>>2]=i[e+64>>2],t=i[e+60>>2],i[n+48>>2]=i[e+56>>2],i[n+52>>2]=t;break A}_0(n+48|0,i[e+56>>2],i[e+60>>2])}o=l[n+59|0],t=(o|0)<0,h=U((t?i[n+52>>2]:o)+1|0),o=i[n+48>>2],w=A,_=Fi(h,t?o:n+48|0),i[w+4>>2]=_,t&&G(o);A:{if(l[e+79|0]>=0){i[n+40>>2]=i[e+76>>2],t=i[e+72>>2],i[n+32>>2]=i[e+68>>2],i[n+36>>2]=t;break A}_0(n+32|0,i[e+68>>2],i[e+72>>2])}o=l[n+43|0],t=(o|0)<0,h=U((t?i[n+36>>2]:o)+1|0),o=i[n+32>>2],w=A,_=Fi(h,t?o:n+32|0),i[w+8>>2]=_,t&&G(o);A:{if(l[e+91|0]>=0){i[n+24>>2]=i[e+88>>2],t=i[e+84>>2],i[n+16>>2]=i[e+80>>2],i[n+20>>2]=t;break A}_0(n+16|0,i[e+80>>2],i[e+84>>2])}o=l[n+27|0],t=(o|0)<0,h=U((t?i[n+20>>2]:o)+1|0),o=i[n+16>>2],w=A,_=Fi(h,t?o:n+16|0),i[w+12>>2]=_,t&&G(o);A:{if(l[e+103|0]>=0){i[n+8>>2]=i[e+100>>2],t=i[e+96>>2],i[n>>2]=i[e+92>>2],i[n+4>>2]=t;break A}_0(n,i[e+92>>2],i[e+96>>2])}if(t=l[n+11|0],e=(t|0)<0,o=U((e?i[n+4>>2]:t)+1|0),t=i[n>>2],w=A,_=Fi(o,e?t:n),i[w+16>>2]=_,e&&G(t),i[k>>2]=A,i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,!r||(f=i[r+4>>2],i[r+4>>2]=f-1,f))break r;V[i[i[r>>2]+8>>2]](r),g(r);break r}i[f>>2]=5,i[f+4>>2]=2007,i[f+8>>2]=9699}if(l[n+83|0]<0&&G(i[n+72>>2]),r=i[n+84>>2],r){if(f=r,e=i[n+88>>2],(f|0)!=(e|0)){for(;;){f=i[e-4>>2];r:{if(!f||(A=i[f+4>>2],i[f+4>>2]=A-1,A))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(e=e-8|0,(r|0)==(e|0))break}f=i[n+84>>2]}i[n+88>>2]=r,G(f)}if(!u||(f=i[u+4>>2],i[u+4>>2]=f-1,f))break i;V[i[i[u>>2]+8>>2]](u),g(u)}B=n+96|0}function Qr(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0;if(h=B-2048|0,B=h,_=5,(r|0)>=2){for(_=0,n=r;t=_,_=t+1|0,o=n>>>0>3,n=n>>>1|0,!!o;);_=4-t|0}i:{if((r|0)<=0)break i;for(y=r&2147483644,p=r&3,W=r-1|0;;){v=(u<<1)+A|0,n=0,t=r;r:{for(;;){if(Z=n,o=t,(t|0)<=0){if(t=0,n=0,o=0,W>>>0>=3)for(;X[(m(r,n)+u<<1)+h>>1]=0,X[(m(n|1,r)+u<<1)+h>>1]=0,X[(m(n|2,r)+u<<1)+h>>1]=0,X[(m(n|3,r)+u<<1)+h>>1]=0,n=n+4|0,o=o+4|0,(y|0)!=(o|0););if(!p)break r;for(;X[(m(r,n)+u<<1)+h>>1]=0,n=n+1|0,t=t+1|0,(p|0)!=(t|0););break r}if(n=Z+1|0,t=o-1|0,!!Q[v+(m(t,r)<<1)>>1])break}for(E=o&2147483646,C=o&1,t=0;;){if(n=0,o=0,w=0,(Z|0)!=(W|0))for(;I=m(X[v+(m(r,n)<<1)>>1],l[((n<<_<<5)+t|0)+43984|0])+o|0,o=n|1,o=I+m(X[v+(m(o,r)<<1)>>1],l[((o<<_<<5)+t|0)+43984|0])|0,n=n+2|0,w=w+2|0,(E|0)!=(w|0););if(w=(m(r,t)+u<<1)+h|0,C&&(o=m(X[v+(m(r,n)<<1)>>1],l[((n<<_<<5)+t|0)+43984|0])+o|0),n=o- -64>>7,n=(n|0)>=32767?32767:n,X[w>>1]=(n|0)<=-32768?-32768:n,t=t+1|0,(t|0)==(r|0))break}}if(u=u+1|0,(u|0)==(r|0))break}if((r|0)<=0)break i;for(y=r&2147483646,E=r&1,C=1<<19-k,I=20-k|0,p=C>>I,u=-1<>1])break}for(J=A&2147483646,R=A&1,D=(m(e,k)<<1)+f|0,t=0;;){if(n=0,o=0,w=0,(Z|0)!=(W|0))for(;A=n|1,o=(m(X[(n+v<<1)+h>>1],l[((n<<_<<5)+t|0)+43984|0])+o|0)+m(X[(A+v<<1)+h>>1],l[((A<<_<<5)+t|0)+43984|0])|0,n=n+2|0,w=w+2|0,(J|0)!=(w|0););if(A=(t<<1)+D|0,w=Q[A>>1],R&&(o=m(X[(n+v<<1)+h>>1],l[((n<<_<<5)+t|0)+43984|0])+o|0),n=A,A=(o+C>>I)+w|0,X[n>>1]=(A|0)>=0?(A|0)<(u|0)?A:u:0,t=t+1|0,(t|0)==(r|0))break}break r}if(o=(m(e,k)<<1)+f|0,n=0,Z=0,W)for(;A=o+(n<<1)|0,t=p+Q[A>>1]|0,X[A>>1]=(t|0)>=0?(t|0)<(u|0)?t:u:0,t=A,A=p+Q[A+2>>1]|0,X[t+2>>1]=(A|0)>=0?(A|0)<(u|0)?A:u:0,n=n+2|0,Z=Z+2|0,(y|0)!=(Z|0););if(!E)break r;t=o+(n<<1)|0,A=p+Q[t>>1]|0,X[t>>1]=(A|0)>=0?(A|0)<(u|0)?A:u:0}if(k=k+1|0,(k|0)==(r|0))break}}B=h+2048|0}function ch(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0;k=B-48|0,B=k,A=D0(r),i[e+52>>2]=A&16777215,l[e+48|0]=A>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[k+8|0]=0,l[k+19|0]=0,r0(k+24|0,2,100,k+8|0),l[k+19|0]>=0)break i;G(i[k+8>>2]);break i}if(A=i[19565],i[k+24>>2]=i[19564],i[k+28>>2]=A,A=k+32|0,l[78275]>=0){n=i[19567],i[A>>2]=i[19566],i[A+4>>2]=n,i[A+8>>2]=i[19568];break i}_0(A,i[19566],i[19567])}l[k+43|0]<0&&G(i[k+32>>2]);i:{if(s[e+48|0]>=2){h4(f,e,14592);break i}r:{if(v=D0(r),!v)break r;for(W=e+56|0;;){if(s[r+20|0]|!i[r+16>>2])break r;i[k+20>>2]=0,i[k+12>>2]=0,i[k+16>>2]=0;e:{if(!s[e+48|0]){A=t2(r);break e}A=D0(r)}i[k+8>>2]=A,_=0;e:{if(Z=B2(r),!Z)break e;A:{for(;;){f:{if(l[e+52|0]&1){A=t2(r),u=A&32767,A=A>>>15|0;break f}A=B2(r),u=A&127,A=A>>>7|0}f:{t=i[k+16>>2],o=i[k+20>>2];k:{if(t>>>0>>0){A=u<<16|A,X[t>>1]=A,X[t+2>>1]=A>>>16,u=t+4|0;break k}if(h=i[k+12>>2],w=t-h>>2,n=w+1|0,n>>>0>=1073741824)break f;if(C=w<<2,o=o-h|0,w=o>>1,w=o>>>0>=2147483644?1073741823:n>>>0>>0?w:n,w){if(w>>>0>=1073741824)break A;n=U(w<<2)}else n=0;if(o=C+n|0,A=u<<16|A,X[o>>1]=A,X[o+2>>1]=A>>>16,u=o+4|0,(t|0)!=(h|0)){for(;o=o-4|0,t=t-4|0,A=Q[t>>1]|Q[t+2>>1]<<16,X[o>>1]=A,X[o+2>>1]=A>>>16,(t|0)!=(h|0););h=i[k+12>>2]}if(i[k+20>>2]=n+(w<<2),i[k+16>>2]=u,i[k+12>>2]=o,!h)break k;G(h)}if(i[k+16>>2]=u,_=_+1|0,(Z|0)==(_|0))break e;continue}break}y0(),P()}_2(),P()}e:{A=i[e+60>>2];A:{if(A>>>0>2]){if(n=i[k+8>>2],i[A+12>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=n,n=i[k+16>>2],u=i[k+12>>2],(n|0)!=(u|0)){if(n=n-u|0,(n|0)<0)break e;t=U(n),i[A+8>>2]=t,i[A+4>>2]=t,h=n+t|0,i[A+12>>2]=h,l0(t,u,n),i[A+8>>2]=h}A=A+16|0;break A}A=Nn(W,k+8|0)}if(i[e+60>>2]=A,A=i[k+12>>2],A&&(i[k+16>>2]=A,G(A)),p=p+1|0,(p|0)!=(v|0))continue;break r}break}y0(),P()}if(s[r+20|0]==1){if(l[k+8|0]=0,l[k+19|0]=0,r0(f,2,100,k+8|0),l[k+19|0]>=0)break i;G(i[k+8>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+48|0}function ak(f,e,r,A,k,n,t,o,u,h){var w=0,_=0,v=0,Z=0,p=0,W=0,C=0;W=B-16|0,B=W;i:{r:{e:{A:{f:{if(V[i[i[f>>2]+12>>2]](f,A)|0){if(_=V[i[i[f>>2]+8>>2]](f,A)|0,!(i[_+24>>2]>(k|0)&i[_+28>>2]>(n|0))){v2(f+4|0,1026,0),l[h|0]=0;break e}k:{if(w=i[_+168>>2],A=k>>w,(A|0)<0||(v=i[_+172>>2],(v|0)<=(A|0)))break k;if(w=n>>w,!((w|0)<0|(w|0)>=i[_+176>>2])){if(!(s[((i[_+160>>2]+m(A,3)|0)+m(m(w,v),3)|0)+1|0]&3)){X[u>>1]=0,X[u+2>>1]=0,l[h|0]=0;break e}if(s[_+312|0]==1){X[u>>1]=0,X[u+2>>1]=0,l[h|0]=0;break e}n:{if(w=i[_+188>>2],A=k>>w,(A|0)<0||(v=i[_+192>>2],(v|0)<=(A|0)))break n;if(w=n>>w,!((w|0)<0|(w|0)>=i[_+196>>2])){if(w=(i[_+180>>2]+m(A,12)|0)+m(m(w,v),12)|0,!s[w|0]){v=w+3|0,A=1,w=w+8|0;break A}if(!s[w+1|0]){v=w+2|0,A=0,w=w+4|0;break A}if(Z=i[e+96>>2],v=1,i[r+340>>2]<=0)break f;for(p=r+988|0,A=0;;){if(C=i[(V[i[i[f>>2]+8>>2]](f,i[p+(A<<2)>>2])|0)+96>>2],v=(C|0)<=(Z|0),A=A+1|0,(A|0)>=i[r+340>>2])break f;if(!((Z|0)>=(C|0)))break}break f}break r}break i}break r}break i}C0(18344,13964,1136,3838),P()}f:{if(!v|i[r+336>>2]<=0)break f;for(p=r+924|0,A=0;;){if(C=i[(V[i[i[f>>2]+8>>2]](f,i[p+(A<<2)>>2])|0)+96>>2],v=(C|0)<=(Z|0),A=A+1|0,(A|0)>=i[r+336>>2])break f;if(!((Z|0)>=(C|0)))break}}if(v){v=(o+w|0)+2|0,A=o,w=(w+(A<<2)|0)+4|0;break A}A=l[r+380|0],v=(w+A|0)+2|0,w=(w+(A<<2)|0)+4|0}if(Z=i[_+148>>2],k=k>>Z,(k|0)<0||(p=i[_+152>>2],(p|0)<=(k|0)))break i;if(n=n>>Z,(n|0)<0|(n|0)>=i[_+156>>2])break r;if(k=Q[((i[_+140>>2]+m(k,24)|0)+m(m(n,p),24)|0)+2>>1],Z=i[_+52>>2],k>>>0>=i[_+56>>2]-Z>>2>>>0){v2(f+4|0,1033,0),l[h|0]=0,X[u>>1]=0,X[u+2>>1]=0;break e}if(n=(((o<<4)+r|0)+t|0)+1308|0,v=l[v|0],Z=i[Z+(k<<2)>>2],s[n|0]!=s[(v+(Z+(A<<4)|0)|0)+1308|0]){l[h|0]=0,X[u>>1]=0,X[u+2>>1]=0;break e}k=Q[w>>1]|Q[w+2>>1]<<16,l[h|0]=1;A:{if(!s[n|0]&&(A=i[_+96>>2]-i[((Z+(A<<6)|0)+(v<<2)|0)+1052>>2]|0,r=i[e+96>>2]-i[(((o<<6)+r|0)+(t<<2)|0)+1052>>2]|0,(A|0)!=(r|0)))break A;X[u>>1]=k,X[u+2>>1]=k>>>16;break e}if(i[W+8>>2]=k,i[W+12>>2]=k,C7(u,W+8|0,A,r))break e;v2(f+4|0,1008,0),l[e+312|0]=3}B=W+16|0;return}C0(3720,8453,119,3372),P()}C0(3758,8453,118,3372),P()}function iw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0;if(A=B-160|0,B=A,i[A+60>>2]=54820,k=i[13708],i[A+4>>2]=k,u=i[k-12>>2],k=A+4|0,i[u+k>>2]=i[13709],n=k+i[i[A+4>>2]-12>>2]|0,t=A+8|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+60>>2]=54820,i[A+4>>2]=54800,p=$0(t),i[p>>2]=53552,i[A+48>>2]=0,i[A+52>>2]=0,i[A+40>>2]=0,i[A+44>>2]=0,i[A+56>>2]=16,n=A+148|0,R2(n,e,r),w=k,u=n,k=l[A+159|0],n=(k|0)<0,x(w,n?i[A+148>>2]:u,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),t=i[e+56>>2],W=i[e+60>>2],(t|0)!=(W|0))for(;;){e=A+148|0,W0(e,r),u=e,e=l[A+159|0],k=(e|0)<0,x(A+4|0,k?i[A+148>>2]:u,k?i[A+152>>2]:e),l[A+159|0]<0&&G(i[A+148>>2]),e=x(A+4|0,18659,21),k=A+148|0,Vn(k,t),w=e,u=k,e=l[A+159|0],k=(e|0)<0,x(L0(x(x(x(w,k?i[A+148>>2]:u,k?i[A+152>>2]:e),18679,1),21539,10),i[t+40>>2]),20145,9),l[A+159|0]<0&&G(i[A+148>>2]);i:{if(e=i[t+44>>2],C=i[t+48>>2],(e|0)==(C|0))break i;for(;;){r:{v=L0(A+4|0,i[e>>2]),w=V1(A+140|0,v);e:{if(s[w|0]!=1)break e;h=i[i[v>>2]-12>>2]+v|0,Z=i[h+4>>2],n=i[h+24>>2],_=i[h+76>>2],(_|0)==-1&&(o=A+148|0,k=i[h+28>>2],i[o>>2]=k,(k|0)!=100008&&(i[k+4>>2]=i[k+4>>2]+1),k=x0(o,100192),_=V[i[i[k>>2]+28>>2]](k,32)|0,O0(o),i[h+76>>2]=_);A:{if(!n||(k=i[h+12>>2],Z=(Z&176)==32?21742:21741,o=Z-21741|0,(o|0)>0&&(V[i[i[n>>2]+48>>2]](n,21741,o)|0)!=(o|0)))break A;if(k=(k|0)>1?k-1|0:0,(k|0)>0){if(k>>>0>=2147483640)break r;f:{if(k>>>0>=11){u=(k|7)+1|0,o=U(u),i[A+156>>2]=u|-2147483648,i[A+148>>2]=o,i[A+152>>2]=k;break f}l[A+159|0]=k,o=A+148|0}if(I=B0(o,_,k)+k|0,y=0,l[I|0]=y,_=V[i[i[n>>2]+48>>2]](n,l[A+159|0]<0?i[A+148>>2]:A+148|0,k)|0,l[A+159|0]<0&&G(i[A+148>>2]),(k|0)!=(_|0))break A}if(k=21742-Z|0,(k|0)>0&&(V[i[i[n>>2]+48>>2]](n,Z,k)|0)!=(k|0))break A;i[h+12>>2]=0;break e}k=i[i[v>>2]-12>>2]+v|0,z1(k,i[k+16>>2]|5)}if(Z1(w),e=e+4|0,(C|0)!=(e|0))continue;break i}break}c2(),P()}if(x(A+4|0,31338,1),t=t+56|0,(W|0)==(t|0))break}i2(f,p),f=i[13707],i[A+4>>2]=f,i[i[f-12>>2]+(A+4|0)>>2]=i[13710],i[p>>2]=53552,l[A+51|0]<0&&G(i[A+40>>2]),K0(p),T0(A+60|0),B=A+160|0}function rw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;n=B-48|0,B=n;i:{if(!r){if(l[n+16|0]=0,l[n+27|0]=0,r=f,f=r0(n+28|0,5,2001,n+16|0),P0(r,f,i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),l[n+27|0]>=0)break i;G(i[n+16>>2]);break i}A=i[e>>2];r:{if(l[A+151|0]>=0){i[n+24>>2]=i[A+148>>2],k=i[A+144>>2],i[n+16>>2]=i[A+140>>2],i[n+20>>2]=k;break r}_0(n+16|0,i[A+140>>2],i[A+144>>2])}A=l[n+27|0],k=(A|0)<0,t=Z2((k?i[n+20>>2]:A)+1|0);r:{if(!t){r=U(48),i[n+4>>2]=r,i[n+8>>2]=45,i[n+12>>2]=-2147483600,A=s[8634]|s[8635]<<8|(s[8636]<<16|s[8637]<<24),k=s[8630]|s[8631]<<8|(s[8632]<<16|s[8633]<<24),l[r+37|0]=k,l[r+38|0]=k>>>8,l[r+39|0]=k>>>16,l[r+40|0]=k>>>24,l[r+41|0]=A,l[r+42|0]=A>>>8,l[r+43|0]=A>>>16,l[r+44|0]=A>>>24,A=s[8629]|s[8630]<<8|(s[8631]<<16|s[8632]<<24),k=s[8625]|s[8626]<<8|(s[8627]<<16|s[8628]<<24),l[r+32|0]=k,l[r+33|0]=k>>>8,l[r+34|0]=k>>>16,l[r+35|0]=k>>>24,l[r+36|0]=A,l[r+37|0]=A>>>8,l[r+38|0]=A>>>16,l[r+39|0]=A>>>24,A=s[8621]|s[8622]<<8|(s[8623]<<16|s[8624]<<24),k=s[8617]|s[8618]<<8|(s[8619]<<16|s[8620]<<24),l[r+24|0]=k,l[r+25|0]=k>>>8,l[r+26|0]=k>>>16,l[r+27|0]=k>>>24,l[r+28|0]=A,l[r+29|0]=A>>>8,l[r+30|0]=A>>>16,l[r+31|0]=A>>>24,A=s[8613]|s[8614]<<8|(s[8615]<<16|s[8616]<<24),k=s[8609]|s[8610]<<8|(s[8611]<<16|s[8612]<<24),l[r+16|0]=k,l[r+17|0]=k>>>8,l[r+18|0]=k>>>16,l[r+19|0]=k>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[8605]|s[8606]<<8|(s[8607]<<16|s[8608]<<24),k=s[8601]|s[8602]<<8|(s[8603]<<16|s[8604]<<24),l[r+8|0]=k,l[r+9|0]=k>>>8,l[r+10|0]=k>>>16,l[r+11|0]=k>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,A=s[8597]|s[8598]<<8|(s[8599]<<16|s[8600]<<24),k=s[8593]|s[8594]<<8|(s[8595]<<16|s[8596]<<24),l[r|0]=k,l[r+1|0]=k>>>8,l[r+2|0]=k>>>16,l[r+3|0]=k>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+45|0]=0,r=f,f=r0(n+28|0,6,0,n+4|0),P0(r,f,i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),l[n+15|0]<0&&G(i[n+4>>2]),A=s[n+27|0];break r}o=r,u=Fi(t,k?i[n+16>>2]:n+16|0),i[o>>2]=u,i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}if(A<<24>>24>=0)break i;G(i[n+16>>2])}B=n+48|0}function ew(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;A=i[i[f>>2]+20>>2],e=B-96|0,B=e,k=i[f+8>>2],h=k+20|0,f=i[k+20>>2];i:{r:{if(!f)break r;for(n=h;r=A>>>0>k0[f+16>>2],n=r?n:f,f=i[(r<<2)+f>>2],!!f;);if((n|0)==(h|0))break r;if(A>>>0>=k0[n+16>>2])break i}n=h}f=i[n+20>>2],o=i[n+24>>2],o&&(i[o+4>>2]=i[o+4>>2]+1),n=1;i:{if(i[f+52>>2])break i;t=e+84|0,W6(t,i[k+48>>2],A),n=0,f=l[e+95|0],r=(f|0)<0;r:{if(((r?i[e+88>>2]:f)|0)!=4||(r=r?i[e+84>>2]:t,(s[r|0]|s[r+1|0]<<8|(s[r+2|0]<<16|s[r+3|0]<<24))!=1684632167))break r;i[e+80>>2]=0,i[e+72>>2]=0,i[e+76>>2]=0,f=e+72|0,w8(e+52|0,i[k+48>>2],A,f);e:{if(i[e+52>>2])break e;i[e+48>>2]=0,i[e+40>>2]=0,i[e+44>>2]=0,Uk(e+20|0,e+40|0,f);A:{if(i[e+20>>2])break A;r=i[k+48>>2],f=i[r+76>>2],u=i[r+80>>2],u&&(i[u+4>>2]=i[u+4>>2]+1);f:{if(!f)break f;oi(e+8|0,f,A),_=i[e+12>>2],r=i[e+8>>2];k:{if((m(Q[e+42>>1],Q[e+40>>1])|0)!=_-r>>2||(w=(r|0)==(_|0),w)||(t=i[k+16>>2],(t|0)==(h|0)))break k;k=r;n:for(;;){for(v=i[k>>2],f=t;;){if((v|0)==i[f+16>>2]){if(k=k+4|0,(_|0)!=(k|0))continue n;if(w)break k;for(;;){t:{if(f=i[h>>2],!f){n=0;break t}for(k=i[r>>2],A=h;t=k>>>0>k0[f+16>>2],A=t?A:f,f=i[(t<<2)+f>>2],!!f;);if((A|0)==(h|0)){n=0;break t}if(k>>>0>2]){n=0;break t}k=i[A+20>>2],f=i[A+24>>2];o:{if(!f){A=i[k+52>>2];break o}if(t=i[f+4>>2],w=t+1|0,i[f+4>>2]=w,A=i[k+52>>2],i[f+4>>2]=t,w)break o;V[i[i[f>>2]+8>>2]](f),g(f)}if(n=(A|0)!=0|n,r=r+4|0,(_|0)!=(r|0))continue}break}r=i[e+8>>2];break k}A=i[f+4>>2];t:{if(A){for(;;)if(f=A,A=i[f>>2],!A)break t}for(;A=f,f=i[f+8>>2],(A|0)!=i[f>>2];);}if((f|0)==(h|0))break}break}}if(!r)break f;i[e+12>>2]=r,G(r)}if(!u||(f=i[u+4>>2],i[u+4>>2]=f-1,f))break A;V[i[i[u>>2]+8>>2]](u),g(u)}if(l[e+39|0]>=0)break e;G(i[e+28>>2])}l[e+71|0]<0&&G(i[e+60>>2]),f=i[e+72>>2],f&&(i[e+76>>2]=f,G(f)),f=s[e+95|0]}if(f<<24>>24>=0)break i;G(i[e+84>>2])}i:{if(!o||(f=i[o+4>>2],i[o+4>>2]=f-1,f))break i;V[i[i[o>>2]+8>>2]](o),g(o)}return B=e+96|0,n&1}function ii(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0;n=B-160|0,B=n;i:{r:{if(t=i[A>>2],A=i[t+56>>2],t=i[t+60>>2],(A|0)!=(t|0))for(;;){if(i[A>>2]==(r|0))break r;if(A=A+16|0,(t|0)==(A|0))break}i[n+24>>2]=54496,i[n+80>>2]=54516,e=i[13633],i[n+16>>2]=e,A=i[e-12>>2],e=n+16|0,i[A+e>>2]=i[13634],i[n+20>>2]=0,A=e+i[i[n+16>>2]-12>>2]|0,k=n+28|0,b0(A,k),i[A+72>>2]=0,i[A+76>>2]=-1,A=i[13635],i[n+24>>2]=A,t=i[A-12>>2],A=n+24|0,i[t+A>>2]=i[13636],t=i[13632],i[n+16>>2]=t,i[e+i[t-12>>2]>>2]=i[13637],i[n+80>>2]=54516,i[n+16>>2]=54476,i[n+24>>2]=54496,e=$0(k),i[e>>2]=53552,i[n+68>>2]=0,i[n+72>>2]=0,i[n+60>>2]=0,i[n+64>>2]=0,i[n+76>>2]=24,x(L0(x(A,16351,9),r),2059,46),r=n+4|0,i2(r,e),r0(f,2,116,r),l[n+15|0]<0&&G(i[n+4>>2]),f=i[13631],i[n+16>>2]=f,i[i[f-12>>2]+(n+16|0)>>2]=i[13639],i[n+24>>2]=i[13640],i[e>>2]=53552,l[n+71|0]<0&&G(i[n+60>>2]),K0(e),T0(n+80|0);break i}if(t=i[A+4>>2],u=i[A+8>>2],(t|0)!=(u|0))for(;;){if(A=Q[t+2>>1],o=i[e+36>>2],A>>>0>i[e+40>>2]-o>>3>>>0){i[n+24>>2]=54496,i[n+80>>2]=54516,e=i[13633],i[n+16>>2]=e,A=i[e-12>>2],e=n+16|0,i[A+e>>2]=i[13634],i[n+20>>2]=0,A=e+i[i[n+16>>2]-12>>2]|0,k=n+28|0,b0(A,k),i[A+72>>2]=0,i[A+76>>2]=-1,A=i[13635],i[n+24>>2]=A,o=i[A-12>>2],A=n+24|0,i[o+A>>2]=i[13636],o=i[13632],i[n+16>>2]=o,i[e+i[o-12>>2]>>2]=i[13637],i[n+80>>2]=54516,i[n+16>>2]=54476,i[n+24>>2]=54496,e=$0(k),i[e>>2]=53552,i[n+68>>2]=0,i[n+72>>2]=0,i[n+60>>2]=0,i[n+64>>2]=0,i[n+76>>2]=24,x(L0(x(x(L0(x(A,16322,28),Q[t+2>>1]),18971,11),16371,4),r),2106,23),r=n+4|0,i2(r,e),r0(f,2,115,r),l[n+15|0]<0&&G(i[n+4>>2]),f=i[13631],i[n+16>>2]=f,i[i[f-12>>2]+(n+16|0)>>2]=i[13639],i[n+24>>2]=i[13640],i[e>>2]=53552,l[n+71|0]<0&&G(i[n+60>>2]),K0(e),T0(n+80|0);break i}if(A){h=o+(A<<3)|0,o=h-8|0,A=i[k+4>>2];r:{if(A>>>0>2]){i[A>>2]=i[o>>2],o=i[h-4>>2],i[A+4>>2]=o,o&&(i[o+4>>2]=i[o+4>>2]+1),A=A+8|0;break r}A=Q2(k,o)}i[k+4>>2]=A}if(t=t+4|0,(u|0)==(t|0))break}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=n+160|0}function yr(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0;if(h=B-2048|0,B=h,_=5,(e|0)>=2){for(_=0,n=e;t=_,_=t+1|0,Z=n>>>0>3,n=n>>>1|0,!!Z;);_=4-t|0}i:{if((e|0)<=0)break i;for(p=1<>>0>=3)for(;X[(m(e,n)+o<<1)+h>>1]=0,X[(m(n|1,e)+o<<1)+h>>1]=0,X[(m(n|2,e)+o<<1)+h>>1]=0,X[(m(n|3,e)+o<<1)+h>>1]=0,n=n+4|0,t=t+4|0,(y|0)!=(t|0););if(!C)break r;for(;X[(m(e,n)+o<<1)+h>>1]=0,n=n+1|0,k=k+1|0,(C|0)!=(k|0););break r}if(n=w+1|0,k=t-1|0,!!Q[v+(m(k,e)<<1)>>1])break}for(E=t&2147483646,J=t&1,k=0;;){if(n=0,t=0,u=0,(w|0)!=(I|0))for(;R=m(X[v+(m(e,n)<<1)>>1],l[((n<<_<<5)+k|0)+43984|0])+t|0,t=n|1,t=R+m(X[v+(m(t,e)<<1)>>1],l[((t<<_<<5)+k|0)+43984|0])|0,n=n+2|0,u=u+2|0,(E|0)!=(u|0););if(u=(m(e,k)+o<<1)+h|0,J&&(t=m(X[v+(m(e,n)<<1)>>1],l[((n<<_<<5)+k|0)+43984|0])+t|0),n=t- -64>>7,X[u>>1]=(n|0)<(Z|0)?Z:(n|0)<(p|0)?n:W,k=k+1|0,(k|0)==(e|0))break}}if(o=o+1|0,(o|0)==(e|0))break}if((e|0)<=0)break i;for(C=e&2147483640,p=e&7,W=1<>A,v=0;;){o=m(e,v),n=0,k=e;r:{e:{for(;;){if(Z=n,r=k,(k|0)<=0)break e;if(n=n+1|0,k=k-1|0,!!Q[(o+k<<1)+h>>1])break}for(y=r&2147483646,r=r&1,E=(o<<2)+f|0,k=0;;){if(n=0,t=0,u=0,(Z|0)!=(I|0))for(;J=m(X[(n+o<<1)+h>>1],l[((n<<_<<5)+k|0)+43984|0])+t|0,t=n|1,t=J+m(X[(t+o<<1)+h>>1],l[((t<<_<<5)+k|0)+43984|0])|0,n=n+2|0,u=u+2|0,(y|0)!=(u|0););if(u=E+(k<<2)|0,r&&(t=m(X[(n+o<<1)+h>>1],l[((n<<_<<5)+k|0)+43984|0])+t|0),i[u>>2]=t+W>>A,k=k+1|0,(k|0)==(e|0))break}break r}if(n=(o<<2)+f|0,t=0,k=0,u=0,I>>>0>=7)for(;r=n+(k<<2)|0,i[r>>2]=w,i[r+4>>2]=w,i[r+8>>2]=w,i[r+12>>2]=w,i[r+16>>2]=w,i[r+20>>2]=w,i[r+24>>2]=w,i[r+28>>2]=w,k=k+8|0,u=u+8|0,(C|0)!=(u|0););if(!p)break r;for(;i[n+(k<<2)>>2]=w,k=k+1|0,t=t+1|0,(p|0)!=(t|0););}if(v=v+1|0,(v|0)==(e|0))break}}B=h+2048|0}function IA(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0;t=B-80|0,B=t,i[t+72>>2]=0,i[t+76>>2]=0,u=i[i[e>>2]+20>>2],i[t+40>>2]=0,i[t+44>>2]=0,X[t+48>>1]=0,i[t+52>>2]=0,X[t+28>>1]=5,i[t+32>>2]=0,i[t+36>>2]=0,l[t+68|0]=0,i[t+60>>2]=2,i[t+64>>2]=2,l[t+56|0]=1;i:{if(!n)break i;r:switch(s[n|0]-1|0){case 4:o=i[n+32>>2],i[t+56>>2]=i[n+28>>2],i[t+60>>2]=o,o=i[n+40>>2],i[t+64>>2]=i[n+36>>2],i[t+68>>2]=o;case 3:i[t+52>>2]=i[n+24>>2];case 2:l[t+49|0]=s[n+21|0];case 1:l[t+48|0]=s[n+20|0];break;case 0:break r;default:break i}l[t+29|0]=s[n+1|0],i[t+32>>2]=i[n+4>>2],i[t+36>>2]=i[n+8>>2],i[t+40>>2]=i[n+12>>2],i[t+44>>2]=i[n+16>>2]}n=t+8|0,o=B-48|0,B=o,h=u,u=t+72|0,w=t+28|0,f6(o+24|0,i[e+8>>2],h,u,A,w,0);i:{if(i[o+24>>2]){A=i[o+28>>2],i[n>>2]=i[o+24>>2],i[n+4>>2]=A,i[n+16>>2]=i[o+40>>2],A=i[o+36>>2],i[n+8>>2]=i[o+32>>2],i[n+12>>2]=A,i[o+40>>2]=0,i[o+32>>2]=0,i[o+36>>2]=0;break i}h=i[u>>2],_=i[h+36>>2],k=(k|0)==99?_:k;r:{if(A=(A|0)==99?i[h+32>>2]:A,(k|0)==(_|0)&(A|0)==i[h+32>>2])break r;h=s[w+20|0],i[o+16>>2]=0,i[o+20>>2]=0,N8(o+4|0,u,A,k,o+16|0,((h|0)!=0)<<3,w+28|0),k=i[o+4>>2],h=i[o+8>>2],i[o+4>>2]=0,i[o+8>>2]=0,A=i[u+4>>2],i[u>>2]=k,i[u+4>>2]=h;e:{if(!A||(k=i[A+4>>2],i[A+4>>2]=k-1,k))break e;V[i[i[A>>2]+8>>2]](A),g(A)}A=i[o+8>>2];e:{if(!A||(k=i[A+4>>2],i[A+4>>2]=k-1,k))break e;V[i[i[A>>2]+8>>2]](A),g(A)}A=i[o+20>>2];e:{if(!A||(k=i[A+4>>2],i[A+4>>2]=k-1,k))break e;V[i[i[A>>2]+8>>2]](A),g(A)}if(i[u>>2])break r;if(l[o+4|0]=0,l[o+15|0]=0,r0(n,4,3003,o+4|0),l[o+15|0]>=0)break i;G(i[o+4>>2]);break i}if(A=i[19565],i[n>>2]=i[19564],i[n+4>>2]=A,A=n+8|0,l[78275]>=0){k=i[19567],i[A>>2]=i[19566],i[A+4>>2]=k,i[A+8>>2]=i[19568];break i}_0(A,i[19566],i[19567])}l[o+43|0]<0&&G(i[o+32>>2]),B=o+48|0,i[t+8>>2]||(A=r,r=U(8),i[A>>2]=r,A=i[t+72>>2],k=i[t+76>>2],i[t+72>>2]=0,i[t+76>>2]=0,i[r>>2]=A,i[r+4>>2]=k,n=78256),P0(f,n,i[e>>2]),l[t+27|0]<0&&G(i[t+16>>2]),f=i[t+76>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=t+80|0}function Sk(f,e,r,A,k,n,t,o,u){var h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0;h=B-128|0,B=h;i:{r:{e:{if(!fi(n,t,o,u,0,0,0,0))break e;w=u&65535,v=u>>>16&32767;A:f:{if((v|0)!=32767){if(Z=4,v)break f;Z=n|o|(t|w)?3:2;break A}Z=!(n|o|(t|w))}if(!Z)break e;if(y=k>>>16|0,W=y&32767,(W|0)!=32767)break r}d2(h+16|0,e,r,A,k,n,t,o,u),e=i[h+16>>2],A=i[h+20>>2],k=i[h+24>>2],r=i[h+28>>2],Bk(h,e,A,k,r,e,A,k,r),A=i[h+8>>2],k=i[h+12>>2],o=i[h>>2],u=i[h+4>>2];break i}if(p=A,Z=k&2147483647,w=Z,v=o,_=u&2147483647,(fi(e,r,p,w,n,t,o,_)|0)<=0){if(fi(e,r,p,w,n,t,o,_)){o=e,u=r;break i}d2(h+112|0,e,r,A,k,0,0,0,0),A=i[h+120>>2],k=i[h+124>>2],o=i[h+112>>2],u=i[h+116>>2];break i}if(C=u>>>16&32767,W?(u=r,o=e):(d2(h+96|0,e,r,p,Z,0,0,0,1081540608),p=i[h+104>>2],o=i[h+108>>2],Z=o,W=(o>>>16|0)-120|0,u=i[h+100>>2],o=i[h+96>>2]),C||(d2(h+80|0,n,t,v,_,0,0,0,1081540608),v=i[h+88>>2],n=i[h+92>>2],_=n,C=(n>>>16|0)-120|0,t=i[h+84>>2],n=i[h+80>>2]),I=v,E=_&65535|65536,Z=Z&65535|65536,(W|0)>(C|0)){for(;;){_=p-I|0,w=(t|0)==(u|0)&n>>>0>o>>>0|t>>>0>u>>>0,v=_-w|0,w=(Z-((p>>>0>>0)+E|0)|0)-(w>>>0>_>>>0)|0;r:{if((w|0)>=0|(w|0)>0){if(p=o,o=o-n|0,u=u-((n>>>0>p>>>0)+t|0)|0,!(o|v|(u|w))){d2(h+32|0,e,r,A,k,0,0,0,0),A=i[h+40>>2],k=i[h+44>>2],o=i[h+32>>2],u=i[h+36>>2];break i}w=w<<1|v>>>31,p=v<<1|u>>>31;break r}w=Z<<1|p>>>31,p=p<<1|u>>>31}if(Z=w,w=u<<1|o>>>31,o=o<<1,u=w,W=W-1|0,!((C|0)<(W|0)))break}W=C}_=p-I|0,w=(t|0)==(u|0)&n>>>0>o>>>0|t>>>0>u>>>0,v=_-w|0,w=(Z-((p>>>0>>0)+E|0)|0)-(w>>>0>_>>>0)|0,_=w;r:{if((w|0)<0){v=p,_=Z;break r}if(p=o,o=o-n|0,u=u-((n>>>0>p>>>0)+t|0)|0,o|v|(u|_))break r;d2(h+48|0,e,r,A,k,0,0,0,0),A=i[h+56>>2],k=i[h+60>>2],o=i[h+48>>2],u=i[h+52>>2];break i}if((_|0)==65535|_>>>0<65535)for(;e=u>>>31|0,W=W-1|0,Z=u<<1|o>>>31,o=o<<1,u=Z,r=e,e=_<<1|v>>>31,v=r|v<<1,_=e,e>>>0<65536;);if(e=y&32768,(W|0)<=0){d2(h- -64|0,o,u,v,_&65535|(e|W+120)<<16,0,0,0,1065811968),A=i[h+72>>2],k=i[h+76>>2],o=i[h+64>>2],u=i[h+68>>2];break i}A=v,k=_&65535|(e|W)<<16}i[f>>2]=o,i[f+4>>2]=u,i[f+8>>2]=A,i[f+12>>2]=k,B=h+128|0}function Fr(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0;if(u=B-2048|0,B=u,w=5,(r|0)>=2){for(w=0,k=r;n=w,w=n+1|0,t=k>>>0>3,k=k>>>1|0,!!t;);w=4-n|0}i:{if((r|0)<=0)break i;for(W=r&2147483644,Z=r&3,p=r-1|0;;){_=(o<<1)+A|0,k=0,n=r;r:{for(;;){if(v=k,t=n,(n|0)<=0){if(n=0,k=0,t=0,p>>>0>=3)for(;X[(m(r,k)+o<<1)+u>>1]=0,X[(m(k|1,r)+o<<1)+u>>1]=0,X[(m(k|2,r)+o<<1)+u>>1]=0,X[(m(k|3,r)+o<<1)+u>>1]=0,k=k+4|0,t=t+4|0,(W|0)!=(t|0););if(!Z)break r;for(;X[(m(r,k)+o<<1)+u>>1]=0,k=k+1|0,n=n+1|0,(Z|0)!=(n|0););break r}if(k=v+1|0,n=t-1|0,!!Q[_+(m(n,r)<<1)>>1])break}for(C=t&2147483646,I=t&1,n=0;;){if(k=0,t=0,h=0,(v|0)!=(p|0))for(;y=m(X[_+(m(r,k)<<1)>>1],l[((k<>1],l[((t<>1],l[((k<>7,k=(k|0)>=32767?32767:k,X[h>>1]=(k|0)<=-32768?-32768:k,n=n+1|0,(n|0)==(r|0))break}}if(o=o+1|0,(o|0)==(r|0))break}if((r|0)<=0)break i;for(Z=r&2147483646,W=r&1,o=0;;){_=m(r,o),k=0,n=r;r:{e:{for(;;){if(v=k,A=n,(n|0)<=0)break e;if(k=k+1|0,n=n-1|0,!!Q[(_+n<<1)+u>>1])break}for(C=A&2147483646,I=A&1,y=m(e,o)+f|0,n=0;;){if(k=0,t=0,h=0,(v|0)!=(p|0))for(;A=k|1,t=(m(X[(k+_<<1)+u>>1],l[((k<>1],l[((A<>1],l[((k<>12)+h|0,l[k|0]=(A|0)>=0?(A|0)>=255?255:A:0,n=n+1|0,(n|0)==(r|0))break}break r}if(n=m(e,o)+f|0,k=0,t=0,p)for(;A=k+n|0,v=s[A|0],l[A|0]=v>>>0>=255?255:v,v=A,A=s[A+1|0],l[v+1|0]=A>>>0>=255?255:A,k=k+2|0,t=t+2|0,(Z|0)!=(t|0););if(!W)break r;n=k+n|0,A=s[n|0],l[n|0]=A>>>0>=255?255:A}if(o=o+1|0,(o|0)==(r|0))break}}B=u+2048|0}function Aw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,k=i[13708],i[A+12>>2]=k,n=i[k-12>>2],k=A+12|0,i[n+k>>2]=i[13709],u=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(u,n),i[u+72>>2]=0,i[u+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,u=$0(n),i[u>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),o=k,t=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(k,21668,22),x(H0(k,i[e+56>>2]),19321,3),x(H0(k,i[e+60>>2]),19321,3),x(H0(k,i[e+64>>2]),31338,1),n=A+148|0,W0(n,r),o=k,t=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(k,18880,12);i:{if(s[e+68|0]==1){x(k,31193,12),n=A+148|0,W0(n,r),o=k,t=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),x(Q4(x(Q4(x(Q4(x(Q4(x(A+12|0,14777,7),i0[e+72>>3]),16376,1),i0[e+80>>3]),16376,1),i0[e+88>>3]),16376,1),i0[e+96>>3]),30511,2);break i}k=A+12|0,x(k,31106,9),n=A+148|0,W0(n,r),o=k,t=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(Q4(x(k,21726,9),i0[e+104>>3]),31338,1),n=A+148|0,W0(n,r),o=k,t=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(Q4(x(k,20539,9),i0[e+112>>3]),31338,1),n=A+148|0,W0(n,r),o=k,t=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),x(Q4(x(A+12|0,21695,9),i0[e+120>>3]),31338,1)}k=A+148|0,W0(k,r),n=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:n,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(L0(x(r,21298,28),i[e+128>>2]),31338,1),i2(f,u),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[u>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(u),T0(A+68|0),B=A+160|0}function fw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,k=A+8|0,l[78275]>=0){n=i[19567],i[k>>2]=i[19566],i[k+4>>2]=n,i[k+8>>2]=i[19568];break i}_0(k,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]),k=s[e+48|0];i:{if(k>>>0>=4){h4(f,e,11243);break i}r:{if(k>>>0<=1&&(t=e,o=t2(r),i[t+56>>2]=o,t=e,o=t2(r),X[t+60>>1]=o,B4(A+20|0,r),l[e+87|0]<0&&G(i[e+76>>2]),k=i[A+24>>2],i[e+76>>2]=i[A+20>>2],i[e+80>>2]=k,i[e+84>>2]=i[A+28>>2],B4(A+20|0,r),l[e+99|0]<0&&G(i[e+88>>2]),k=i[A+24>>2],i[e+88>>2]=i[A+20>>2],i[e+92>>2]=k,i[e+96>>2]=i[A+28>>2],B4(A+20|0,r),l[e+111|0]<0&&G(i[e+100>>2]),k=i[A+24>>2],i[e+100>>2]=i[A+20>>2],i[e+104>>2]=k,i[e+108>>2]=i[A+28>>2],k=s[e+48|0],k>>>0<2))break r;l[e+124|0]=l[e+52|0]&1;e:{if((k|0)==2){k=t2(r);break e}k=D0(r)}if(i[e+56>>2]=k,t=e,o=t2(r),X[t+60>>1]=o,k=D0(r),k&&(l[e+75|0]<0&&G(i[e+64>>2]),l[e+75|0]=4,l[e+68|0]=0,i[e+64>>2]=k<<24|(k&65280)<<8|(k>>>8&65280|k>>>24)),B4(A+20|0,r),l[e+87|0]<0&&G(i[e+76>>2]),n=i[A+24>>2],i[e+76>>2]=i[A+20>>2],i[e+80>>2]=n,i[e+84>>2]=i[A+28>>2],(k|0)!=1970432288){if((k|0)!=1835625829)break r;B4(A+20|0,r),l[e+99|0]<0&&G(i[e+88>>2]),k=i[A+24>>2],i[e+88>>2]=i[A+20>>2],i[e+92>>2]=k,i[e+96>>2]=i[A+28>>2],B4(A+20|0,r),l[e+111|0]<0&&G(i[e+100>>2]),k=i[A+24>>2],i[e+100>>2]=i[A+20>>2],i[e+104>>2]=k,i[e+108>>2]=i[A+28>>2];break r}B4(A+20|0,r),l[e+123|0]<0&&G(i[e+112>>2]),k=i[A+24>>2],i[e+112>>2]=i[A+20>>2],i[e+116>>2]=k,i[e+120>>2]=i[A+28>>2]}if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(f,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function kw(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0;o=B-16|0,B=o,t=i[k>>2],n=t+i[r>>2]|0;i:{if(i[r+4>>2]-n>>>0<(A|0)/8<<1>>>0){if(e=U(48),i[o+4>>2]=e,i[o+8>>2]=44,i[o+12>>2]=-2147483600,r=s[6647]|s[6648]<<8|(s[6649]<<16|s[6650]<<24),A=s[6643]|s[6644]<<8|(s[6645]<<16|s[6646]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+44|0]=0,r=s[6683]|s[6684]<<8|(s[6685]<<16|s[6686]<<24),l[e+40|0]=r,l[e+41|0]=r>>>8,l[e+42|0]=r>>>16,l[e+43|0]=r>>>24,r=s[6679]|s[6680]<<8|(s[6681]<<16|s[6682]<<24),A=s[6675]|s[6676]<<8|(s[6677]<<16|s[6678]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[6671]|s[6672]<<8|(s[6673]<<16|s[6674]<<24),A=s[6667]|s[6668]<<8|(s[6669]<<16|s[6670]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[6663]|s[6664]<<8|(s[6665]<<16|s[6666]<<24),A=s[6659]|s[6660]<<8|(s[6661]<<16|s[6662]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[6655]|s[6656]<<8|(s[6657]<<16|s[6658]<<24),A=s[6651]|s[6652]<<8|(s[6653]<<16|s[6654]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,136,o+4|0),l[o+15|0]>=0)break i;G(i[o+4>>2]);break i}u=s[n|0],h=s[n+1|0];r:{if((A|0)==32){t=t+4|0,n=s[n+3|0]|(h<<16|u<<24|s[n+2|0]<<8);break r}t=t+2|0,n=(h<<16|u<<24)>>16}i[k>>2]=t,i[e+4>>2]=n,n=i[k>>2],r=n+i[r>>2]|0,t=s[r|0],u=s[r+1|0];r:{if((A|0)==32){A=n+4|0,r=s[r+3|0]|(u<<16|t<<24|s[r+2|0]<<8);break r}A=n+2|0,r=(u<<16|t<<24)>>16}if(i[k>>2]=A,i[e+8>>2]=r,e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=o+16|0}function Ok(f,e,r,A){var k=0,n=0,t=0,o=0,u=0;k=i[e>>2];i:{r:{e:{A:{f:{k:{n:{t:{o:{u:{l:{s:{if(!A||(t=i[A>>2],!t))break s;if(!f){A=r;break u}i[A>>2]=0,A=r;break l}s:{if(!i[i[23985]>>2]){if(!f)break s;if(!r)break i;for(t=r;;){if(A=l[k|0],A){if(i[f>>2]=A&57343,f=f+4|0,k=k+1|0,t=t-1|0,t)continue;break i}break}return i[f>>2]=0,i[e>>2]=0,r-t|0}if(A=r,!f)break o;break n}return G2(k)}n=1;break n}n=0;break t}n=1}for(;;){if(!n){if(n=s[k|0]>>>3|0,(n-16|n+(t>>26))>>>0>7)break k;n=k+1|0;t:{if(!(t&33554432))break t;if((s[n|0]&192)!=128){k=k-1|0;break A}if(n=k+2|0,!(t&524288))break t;if((s[n|0]&192)!=128){k=k-1|0;break A}n=k+3|0}k=n,A=A-1|0,n=1;continue}for(;;){t=s[k|0];t:{if(k&3|t-1>>>0>126||(t=i[k>>2],(t|t-16843009)&-2139062144))break t;for(;A=A-4|0,t=i[k+4>>2],k=k+4|0,!((t-16843009|t)&-2139062144););}if(n=t&255,n-1>>>0<=126){A=A-1|0,k=k+1|0;continue}break}if(n=n-194|0,n>>>0>50)break f;k=k+1|0,t=i[(n<<2)+55504>>2],n=0}}for(;;){if(!n){if(!A)break i;for(;;){n:{n=s[k|0],o=n-1|0;t:{o:{if(o>>>0>126){t=n;break o}if(k&3|A>>>0<5)break t;u:{for(;;){if(t=i[k>>2],(t|t-16843009)&-2139062144)break u;if(i[f>>2]=t&255,i[f+4>>2]=s[k+1|0],i[f+8>>2]=s[k+2|0],i[f+12>>2]=s[k+3|0],f=f+16|0,k=k+4|0,A=A-4|0,!(A>>>0>4))break}t=s[k|0]}n=t&255,o=n-1|0}if(o>>>0>126)break n}if(i[f>>2]=n,f=f+4|0,k=k+1|0,A=A-1|0,A)continue;break i}break}if(n=n-194|0,n>>>0>50)break f;k=k+1|0,t=i[(n<<2)+55504>>2],n=1;continue}if(u=s[k|0],n=u>>>3|0,(n-16|n+(t>>26))>>>0>7)break k;n:{t:{o=k+1|0,n=u-128|t<<6;o:{if((n|0)>=0)break o;if(o=s[o|0]-128|0,o>>>0>63)break t;if(u=n<<6,n=o|u,o=k+2|0,(u|0)>=0)break o;if(o=s[o|0]-128|0,o>>>0>63)break t;n=o|n<<6,o=k+3|0}k=o,i[f>>2]=n,A=A-1|0,f=f+4|0;break n}i[23944]=25,k=k-1|0;break e}n=0}}if(k=k-1|0,t)break A;t=s[k|0]}if(t&255)break A;return f&&(i[f>>2]=0,i[e>>2]=0),r-A|0}if(i[23944]=25,!f)break r}i[e>>2]=k}return-1}return i[e>>2]=k,r}function jk(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0;i:{r:{if(i[f+64>>2])break r;A=2512;e:{A:{f:{k:{n:{t:{o:{u:{l:{s:{h:{w:{_:{v:switch(t=r&-3,t-1|0){case 4:case 20:break o;case 19:break u;case 8:case 24:break l;case 23:break h;case 7:break w;case 0:case 16:break _;case 15:break e;case 1:case 2:case 3:case 5:case 6:case 9:case 10:case 13:case 14:case 17:case 18:case 21:case 22:case 25:case 26:break A;case 12:case 28:break f;case 27:break n;case 11:break t;default:break v}v:switch(t-48|0){case 4:break u;case 0:break e;case 1:case 2:case 3:break A;default:break v}switch(t-56|0){case 0:break s;case 4:break k;default:break A}}A=14717;break e}A=6086;break e}A=18145;break e}A=18142;break e}A=18148;break e}A=14080;break e}A=14104;break e}A=14083;break e}A=14127;break e}A=14123;break e}A=14131;break e}A=0}if(t=A,!A)break r;o=B-16|0,B=o;e:{A:{if(!zi(14135,l[A|0])){i[23944]=28;break A}if(A=2,zi(t,43)||(A=s[t|0]!=114),A=zi(t,120)?A|128:A,A=zi(t,101)?A|524288:A,k=A,u=A|64,A=s[t|0],k=(A|0)==114?k:u,k=(A|0)==119?k|512:k,i[o>>2]=438,i[o+4>>2]=0,k=Xs(-100,e|0,((A|0)==97?k|1024:k)|32768,o|0)|0,k>>>0>=4294963201&&(i[23944]=0-k,k=-1),(k|0)<0)break e;n=B-32|0,B=n;f:{k:{n:{if(!zi(14135,l[t|0])){i[23944]=28;break n}if(A=Z2(1176),A)break k}e=0;break f}B0(A,0,144),zi(t,43)||(i[A>>2]=s[t|0]==114?8:4);k:{if(s[t|0]!=97){e=i[A>>2];break k}e=c5(k|0,3,0)|0,e&1024||(e=e|1024,i[n+16>>2]=e,i[n+20>>2]=e>>31,c5(k|0,4,n+16|0)|0),e=i[A>>2]|128,i[A>>2]=e}i[A+80>>2]=-1,i[A+48>>2]=1024,i[A+60>>2]=k,i[A+44>>2]=A+152;k:{if(e&8||(i[n>>2]=n+24,i[n+4>>2]=0,Ws(k|0,21523,n|0)|0))break k;i[A+80>>2]=10}i[A+40>>2]=973,i[A+36>>2]=972,i[A+32>>2]=979,i[A+12>>2]=971,s[95789]||(i[A+76>>2]=-1),e=i[23946],i[A+56>>2]=e,e&&(i[e+52>>2]=A),i[23946]=A,e=A}if(B=n+32|0,n=e,n)break e;ik(k|0)|0}n=0}if(B=o+16|0,i[f+64>>2]=n,!n)break r;if(i[f+88>>2]=r,!(r&2)||!Ce(n,0,0,2))break i;B3(i[f+64>>2]),i[f+64>>2]=0}return 0}return f}function Pk(f,e,r,A,k,n,t,o,u,h,w,_,v){var Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0;p=B,D=p,p=p-19808&-32,B=p,Z=A,A=i[e+16856>>2],C=m(Z,2/(A|0)|0),n=((n|0)/(A|0)|0)+(C>>3)|0,W=i[e+16852>>2],Z=m(2/(W|0)|0,r),r=((k|0)/(W|0)|0)+(Z>>3)|0,k=i[e+488>>2]/(A|0)|0,A=i[e+484>>2]/(W|0)|0;i:{W=Z&7,Z=C&7;r:{if(!(W|Z)){if(e=i[e+16840>>2],!((r|0)<0|(A|0)<(r+w|0)|((n|0)<0|(k|0)<(n+_|0)))){if(e=((r<<1)+u|0)+(m(n,h)<<1)|0,(v|0)<=8){V[i[f+204>>2]](t,o,e,h,w,_,0,0,0),B=D;return}V[i[f+284>>2]](t,o,e,h,w,_,0,0,0,v),B=D;return}if((_|0)<=0|(w|0)<=0)break r;for(v=14-e|0,E=k-1|0,p=A-1|0,J=w&2147483646,R=w&1,f=0;;){if(e=f+n|0,W=(m((e|0)>=0?(e|0)<(k|0)?e:E:0,h)<<1)+u|0,C=(m(f,o)<<1)+t|0,e=0,y=0,(w|0)!=1)for(;Z=e+r|0,X[C+(e<<1)>>1]=Q[W+(((Z|0)>=0?(A|0)>(Z|0)?Z:p:0)<<1)>>1]<>1]=Q[W+(((Z|0)>=0?(A|0)>(Z|0)?Z:p:0)<<1)>>1]<>1]=Q[W+(((e|0)>=0?(e|0)<(A|0)?e:p:0)<<1)>>1]<(A-2|0)|((n|0)<=0|(n+_|0)>(k-2|0)))){e=((r<<1)+u|0)+(m(n,h)<<1)|0;break e}if(!((_|0)<-2|(w|0)<-2))for(C=-1,H=k-1|0,y=A-1|0,e=_+2|0,a=(e|0)>0?e:0,e=w+3|0,S=e&-2,q=e&1;;){if(e=n+C|0,E=(m((e|0)>=0?(e|0)<(k|0)?e:H:0,h)<<1)+u|0,J=m(C,80)+80|0,e=-1,R=0,(w|0)!=-2)for(;z=e+1|0,I=e+r|0,X[p+(J+z<<1)>>1]=Q[E+(((I|0)>=0?(A|0)>(I|0)?I:y:0)<<1)>>1],e=e+2|0,I=r+z|0,X[p+(J+e<<1)>>1]=Q[E+(((I|0)>=0?(A|0)>(I|0)?I:y:0)<<1)>>1],R=R+2|0,(S|0)!=(R|0););if(q&&(I=p+(e+J<<1)|0,e=e+r|0,X[I+2>>1]=Q[E+(((e|0)>=0?(e|0)<(A|0)?e:y:0)<<1)>>1]),C=C+1|0,(a|0)==(C|0))break}h=80,e=p+162|0}A=(((v|0)<9?44:124)+f|0)+172|0;e:{if(!(!W|!Z)||(r=(v|0)<9,A=((r?36:116)+f|0)+172|0,W))break e;if(!Z)break i;W=0,A=((r?40:120)+f|0)+172|0}r=A,V[i[r>>2]](t,o,e,h,w,_,W,Z,p+10720|0,v)}B=D;return}C0(9349,13964,269,14609),P()}function nw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0;k=B+-64|0,B=k,ct(i[e>>2]),i[r>>2]=0,A=i[19373],n=i[19372];i:{r:{for(;;){e:{if(i[k+44>>2]=0,Ak(i[e>>2],k+44|0))break e;if(o=H9(i[e>>2]),o){if(A=i[r>>2],A&&G4(A),A=i[o+20>>2],p=A,QA(k+52|0,i[i[10336]+o>>2],i[i[10339]+o>>2],!A<<1,A,r),A=i[k+52>>2],A){t=i[k+60>>2],u=i[k+56>>2];break r}for(n=0,_=i[i[o+124>>2]+i[10342]>>2],W=(_+7|0)/8|0;;){if(n>>>0<=2?A=i[i[o+124>>2]+i[(n<<2)+41368>>2]>>2]:A=0,(A|0)!=(_|0)){G4(i[r>>2]),t=12169,A=4,u=3003;break r}t=41328,v=U9(o,n,k+48|0),u=129,A=7;A:{if(h=n>>>0<=2?i[i[(n<<2)+41344>>2]+o>>2]:0,w=n>>>0<=2?i[i[(n<<2)+41356>>2]+o>>2]:0,!((h|0)<=0|(w|0)<=0)){if(u=i[(n<<2)+41332>>2],Z3(k+52|0,i[r>>2],u,h,w,_),A=i[k+52>>2],!A)break A;u=i[k+56>>2],t=i[k+60>>2]}G4(i[r>>2]);break r}if(t=m(h,W),A=0,h=T6(i[r>>2],u,k+52|0),(w|0)!=1)for(C=w&2147483646,u=0;l0(h+m(i[k+52>>2],A)|0,m(i[k+48>>2],A)+v|0,t),Z=A|1,l0(h+m(Z,i[k+52>>2])|0,m(i[k+48>>2],Z)+v|0,t),A=A+2|0,u=u+2|0,(C|0)!=(u|0););if(w&1&&l0(h+m(i[k+52>>2],A)|0,m(i[k+48>>2],A)+v|0,t),!(p&&(A=n>>>0<2,n=n+1|0,A)))break}if(A=gt(),cA(f,A,s[i[o+124>>2]+9018|0]),i[f>>2]){if(s[e+4|0]==1){G(A),G4(i[r>>2]),i[r>>2]=0;break i}t=i[r>>2],i[k+40>>2]=i[f+8>>2],n=i[f+4>>2],i[k+32>>2]=i[f>>2],i[k+36>>2]=n,Dr(t,k+32|0)}if(i3(f,A,s[i[o+124>>2]+9019|0]),i[f>>2]){if(s[e+4|0]==1){G(A),G4(i[r>>2]),i[r>>2]=0;break i}t=i[r>>2],i[k+24>>2]=i[f+8>>2],n=i[f+4>>2],i[k+16>>2]=i[f>>2],i[k+20>>2]=n,Dr(t,k+16|0)}if(dA(f,A,s[i[o+124>>2]+9020|0]),i[f>>2]){if(s[e+4|0]==1){G(A),G4(i[r>>2]),i[r>>2]=0;break i}t=i[r>>2],i[k+8>>2]=i[f+8>>2],n=i[f+4>>2],i[k>>2]=i[f>>2],i[k+4>>2]=n,Dr(t,k)}n=0,l[A+16|0]=s[i[o+124>>2]+9016|0]!=0,s7(k+52|0,i[r>>2],A),G(A),tt(i[e>>2]),A=41320}if(i[k+44>>2])continue}break}i[f>>2]=0,i[f+4>>2]=n,i[f+8>>2]=A;break i}i[f>>2]=A,i[f+4>>2]=u,i[f+8>>2]=t}B=k- -64|0}function Lk(f,e,r,A,k,n,t,o,u,h,w,_,v,Z,p){var W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0;for(E=B-16|0,B=E,i[r>>2]=f,D=o?4:0,z=A&512;;){if((J|0)==4)s[Z+11|0]>>>7|0?k=i[Z+4>>2]:k=s[Z+11|0]&127,k>>>0>1&&(a=E,S=C4(Z),i[a+12>>2]=S,a=r,S=k9(J3(E+12|0,1),a8(Z),i[r>>2]),i[a>>2]=S),A=A&176,(A|0)!=16&&((A|0)==32&&(f=i[r>>2]),i[e>>2]=f),B=E+16|0;else{i:{r:switch(s[u+J|0]){case 0:i[e>>2]=i[r>>2];break i;case 1:i[e>>2]=i[r>>2],o=V[i[i[t>>2]+44>>2]](t,32)|0,W=i[r>>2],i[r>>2]=W+4,i[W>>2]=o;break i;case 3:if(s[Z+11|0]>>>7|0?o=i[Z+4>>2]:o=s[Z+11|0]&127,!o)break i;s[Z+11|0]>>>7|0?o=i[Z>>2]:o=Z,o=i[o>>2],W=i[r>>2],i[r>>2]=W+4,i[W>>2]=o;break i;case 2:if(s[v+11|0]>>>7|0?o=i[v+4>>2]:o=s[v+11|0]&127,o=!o,o|!z)break i;a=r,S=k9(C4(v),a8(v),i[r>>2]),i[a>>2]=S;break i;case 4:break r;default:break i}for(H=i[r>>2],k=k+D|0,o=k;;){r:{if(n>>>0<=o>>>0||!(V[i[i[t>>2]+12>>2]](t,64,i[o>>2])|0))break r;o=o+4|0;continue}break}if((p|0)>0){for(W=i[r>>2],C=p;;){if(!(!C|k>>>0>=o>>>0)){C=C-1|0,o=o-4|0,y=i[o>>2],I=W+4|0,i[r>>2]=I,i[W>>2]=y,W=I;continue}break}r:{if(!C){I=0;break r}I=V[i[i[t>>2]+44>>2]](t,48)|0,W=i[r>>2]}for(;;){if(y=W+4|0,(C|0)>0){i[W>>2]=I,C=C-1|0,W=y;continue}break}i[r>>2]=y,i[W>>2]=h}r:{if((k|0)==(o|0)){W=V[i[i[t>>2]+44>>2]](t,48)|0,C=i[r>>2],o=C+4|0,i[r>>2]=o,i[C>>2]=W;break r}for(s[_+11|0]>>>7|0?W=i[_>>2]:W=_,I=l[W|0],s[_+11|0]>>>7|0?W=i[_+4>>2]:W=s[_+11|0]&127,I=W?I:-1,W=0,y=0;;){if((k|0)!=(o|0)){e:{if((W|0)!=(I|0)){C=W;break e}if(C=i[r>>2],i[r>>2]=C+4,i[C>>2]=w,C=0,s[_+11|0]>>>7|0?I=i[_+4>>2]:I=s[_+11|0]&127,y=y+1|0,I>>>0<=y>>>0){I=W;break e}if(s[_+11|0]>>>7|0?W=i[_>>2]:W=_,s[W+y|0]==127){I=-1;break e}s[_+11|0]>>>7|0?W=i[_>>2]:W=_,I=l[W+y|0]}o=o-4|0,W=i[o>>2],R=i[r>>2],i[r>>2]=R+4,i[R>>2]=W,W=C+1|0;continue}break}o=i[r>>2]}te(H,o)}J=J+1|0;continue}break}}function Er(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;if(!f)return Z2(e);if(e>>>0>=4294967232)return i[23944]=48,0;n=e>>>0<11?16:e+11&-8,u=f-8|0,h=i[u+4>>2],k=h&-8;i:{if(!(h&3)){if(n>>>0<256||k>>>0>=n+4>>>0&&(r=u,k-n>>>0<=i[24374]<<1>>>0))break i;r=0;break i}t=k+u|0;r:{if(k>>>0>=n>>>0){if(A=k-n|0,A>>>0<16)break r;i[u+4>>2]=h&1|n|2,r=n+u|0,i[r+4>>2]=A|3,i[t+4>>2]=i[t+4>>2]|1,Xr(r,A);break r}if(i[24260]==(t|0)){if(k=k+i[24257]|0,k>>>0<=n>>>0)break i;i[u+4>>2]=h&1|n|2,A=n+u|0,r=k-n|0,i[A+4>>2]=r|1,i[24257]=r,i[24260]=A;break r}if(i[24259]==(t|0)){if(k=k+i[24256]|0,k>>>0>>0)break i;r=k-n|0;e:{if(r>>>0>=16){i[u+4>>2]=h&1|n|2,A=n+u|0,i[A+4>>2]=r|1,k=k+u|0,i[k>>2]=r,i[k+4>>2]=i[k+4>>2]&-2;break e}i[u+4>>2]=k|h&1|2,r=k+u|0,i[r+4>>2]=i[r+4>>2]|1,r=0}i[24259]=A,i[24256]=r;break r}if(A=i[t+4>>2],A&2||(w=k+(A&-8)|0,w>>>0>>0))break i;v=w-n|0,o=i[t+12>>2];e:{if(A>>>0<=255){if(r=i[t+8>>2],(r|0)==(o|0)){Z=97016,p=i[24254]&a0(-2,A>>>3|0),i[Z>>2]=p;break e}i[r+12>>2]=o,i[o+8>>2]=r;break e}_=i[t+24>>2];A:{if((t|0)!=(o|0)){r=i[t+8>>2],i[r+12>>2]=o,i[o+8>>2]=r;break A}f:{if(r=i[t+20>>2],r)A=t+20|0;else{if(r=i[t+16>>2],!r)break f;A=t+16|0}for(;k=A,o=r,A=r+20|0,r=i[r+20>>2],!(!r&&(A=o+16|0,r=i[o+16>>2],!r)););i[k>>2]=0;break A}o=0}if(!_)break e;A=i[t+28>>2],r=(A<<2)+97320|0;A:{if(i[r>>2]==(t|0)){if(i[r>>2]=o,o)break A;Z=97020,p=i[24255]&a0(-2,A),i[Z>>2]=p;break e}if(i[(i[_+16>>2]==(t|0)?16:20)+_>>2]=o,!o)break e}if(i[o+24>>2]=_,r=i[t+16>>2],r&&(i[o+16>>2]=r,i[r+24>>2]=o),r=i[t+20>>2],!r)break e;i[o+20>>2]=r,i[r+24>>2]=o}if(v>>>0<=15){i[u+4>>2]=h&1|w|2,r=u+w|0,i[r+4>>2]=i[r+4>>2]|1;break r}i[u+4>>2]=h&1|n|2,A=n+u|0,i[A+4>>2]=v|3,r=u+w|0,i[r+4>>2]=i[r+4>>2]|1,Xr(A,v)}r=u}return r?r+8|0:(A=Z2(e),A?(r=i[f-4>>2],r=(r&3?-4:-8)+(r&-8)|0,l0(A,f,e>>>0>r>>>0?r:e),G(f),A):0)}function tw(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0;if(f=B-448|0,B=f,i[f+440>>2]=r,i[f+444>>2]=e,i[f+20>>2]=1095,h=f+20|0,w=o1(f+24|0,f+32|0,h),o=f+16|0,e=i[k+28>>2],i[o>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(o,100184),l[f+15|0]=0,Xk(f+444|0,r,A,o,i[k+4>>2],n,f+15|0,e,w,h,f+432|0)){r=B-16|0,B=r;i:if(s[t+11|0]>>>7|0)break i;i:{if(s[t+11|0]>>>7|0){A=i[t>>2],i[r+12>>2]=0,i[A>>2]=i[r+12>>2],i[t+4>>2]=0;break i}i[r+8>>2]=0,i[t>>2]=i[r+8>>2],l[t+11|0]=s[t+11|0]&128,l[t+11|0]=s[t+11|0]&127}for(B=r+16|0,s[f+15|0]==1&&KA(t,V[i[i[e>>2]+44>>2]](e,45)|0),e=V[i[i[e>>2]+44>>2]](e,48)|0,r=i[w>>2],u=i[f+20>>2],A=u-4|0;;){if(!((e|0)!=i[r>>2]|r>>>0>=A>>>0)){r=r+4|0;continue}break}h=B-16|0,B=h,s[t+11|0]>>>7|0?A=i[t+4>>2]:A=s[t+11|0]&127,k=s[t+11|0]>>>7|0?(i[t+8>>2]&2147483647)-1|0:1,e=u-r>>2;i:{if(!e)break i;if(s[t+11|0]>>>7|0?o=i[t>>2]:o=t,v=o,s[t+11|0]>>>7|0?o=i[t>>2]:o=t,s[t+11|0]>>>7|0?_=i[t+4>>2]:_=s[t+11|0]&127,!c9(v,(o+(_<<2)|0)+4|0,r)){for(e>>>0>k-A>>>0&&Z7(t,k,e+(A-k|0)|0,A,A),s[t+11|0]>>>7|0?k=i[t>>2]:k=t,k=k+(A<<2)|0;;){if((r|0)!=(u|0)){i[k>>2]=i[r>>2],r=r+4|0,k=k+4|0;continue}break}i[h+4>>2]=0,i[k>>2]=i[h+4>>2],wi(t,e+A|0);break i}e=B-16|0,B=e,A=h+4|0,F7(A,r,u),B=e+16|0,s[A+11|0]>>>7|0?r=i[A>>2]:r=A,u=B-16|0,B=u,s[A+11|0]>>>7|0?e=i[A+4>>2]:e=s[A+11|0]&127,o=s[t+11|0]>>>7|0?(i[t+8>>2]&2147483647)-1|0:1,s[t+11|0]>>>7|0?k=i[t+4>>2]:k=s[t+11|0]&127;r:{if(e>>>0<=o-k>>>0){if(!e)break r;o=r,s[t+11|0]>>>7|0?r=i[t>>2]:r=t,ui(o,e,r+(k<<2)|0),e=e+k|0,wi(t,e),i[u+12>>2]=0,i[r+(e<<2)>>2]=i[u+12>>2];break r}r7(t,o,k+(e-o|0)|0,k,k,0,e,r)}B=u+16|0,l1(A)}B=h+16|0}return g2(f+444|0,f+440|0)&&(i[n>>2]=i[n>>2]|2),r=i[f+444>>2],O0(f+16|0),e=i[w>>2],i[w>>2]=0,e&&V[i[w+4>>2]](e),B=f+448|0,r|0}function Kk(f,e,r,A,k,n,t,o,u,h,w,_,v,Z,p){var W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0;for(J=B-16|0,B=J,i[r>>2]=f,z=A&512;;){if((R|0)==4)s[Z+11|0]>>>7|0?k=i[Z+4>>2]:k=s[Z+11|0]&127,k>>>0>1&&(a=J,S=C4(Z),i[a+12>>2]=S,a=r,S=n9(R3(J+12|0,1),S8(Z),i[r>>2]),i[a>>2]=S),A=A&176,(A|0)!=16&&((A|0)==32&&(f=i[r>>2]),i[e>>2]=f),B=J+16|0;else{i:{r:switch(s[u+R|0]){case 0:i[e>>2]=i[r>>2];break i;case 1:i[e>>2]=i[r>>2],W=V[i[i[t>>2]+28>>2]](t,32)|0,C=i[r>>2],i[r>>2]=C+1,l[C|0]=W;break i;case 3:if(s[Z+11|0]>>>7|0?W=i[Z+4>>2]:W=s[Z+11|0]&127,!W)break i;s[Z+11|0]>>>7|0?W=i[Z>>2]:W=Z,W=s[W|0],C=i[r>>2],i[r>>2]=C+1,l[C|0]=W;break i;case 2:if(s[v+11|0]>>>7|0?W=i[v+4>>2]:W=s[v+11|0]&127,W=!W,W|!z)break i;a=r,S=n9(C4(v),S8(v),i[r>>2]),i[a>>2]=S;break i;case 4:break r;default:break i}for(H=i[r>>2],k=k+o|0,I=k;;){r:{if(n>>>0<=I>>>0||(W=l[I|0],(W|0)>=0?W=(i[i[t+8>>2]+(W<<2)>>2]&64)!=0:W=0,!W))break r;I=I+1|0;continue}break}if(W=p,(W|0)>0){for(;;){if(!(!W|k>>>0>=I>>>0)){W=W-1|0,I=I-1|0,C=s[I|0],y=i[r>>2],i[r>>2]=y+1,l[y|0]=C;continue}break}for(W?C=V[i[i[t>>2]+28>>2]](t,48)|0:C=0;;){if(y=i[r>>2],i[r>>2]=y+1,(W|0)>0){l[y|0]=C,W=W-1|0;continue}break}l[y|0]=h}r:{if((k|0)==(I|0)){W=V[i[i[t>>2]+28>>2]](t,48)|0,C=i[r>>2],i[r>>2]=C+1,l[C|0]=W;break r}for(s[_+11|0]>>>7|0?W=i[_>>2]:W=_,C=l[W|0],s[_+11|0]>>>7|0?W=i[_+4>>2]:W=s[_+11|0]&127,C=W?C:-1,W=0,E=0;;){if((k|0)==(I|0))break r;e:{if((W|0)!=(C|0)){y=W;break e}if(C=i[r>>2],i[r>>2]=C+1,l[C|0]=w,y=0,s[_+11|0]>>>7|0?C=i[_+4>>2]:C=s[_+11|0]&127,E=E+1|0,C>>>0<=E>>>0){C=W;break e}if(s[_+11|0]>>>7|0?W=i[_>>2]:W=_,s[W+E|0]==127){C=-1;break e}s[_+11|0]>>>7|0?W=i[_>>2]:W=_,C=l[W+E|0]}I=I-1|0,W=s[I|0],D=i[r>>2],i[r>>2]=D+1,l[D|0]=W,W=y+1|0}}li(H,i[r>>2])}R=R+1|0;continue}break}}function Yr(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0;k=B-192|0,B=k,p=e+36|0,o=f+8|0,u=i[13631],W=u-12|0,C=i[13632]-12|0,I=i[13635]-12|0,h=i[13633],y=h-12|0,E=i[13640],J=i[13639],R=i[13637],D=i[13636],z=i[13634],w=k+28|0,_=k+24|0,H=k+80|0;i:{r:{e:{A:{for(;;){if(n=s[r+20|0],!i[r+16>>2]|n&1)break A;i[k+184>>2]=0,i[k+188>>2]=0,_r(k+160|0,r,k+184|0);f:{if(i[k+160>>2]!=i[19564]){n=i[k+164>>2],i[f>>2]=i[k+160>>2],i[f+4>>2]=n,i[o+8>>2]=i[k+176>>2],n=i[k+172>>2],i[o>>2]=i[k+168>>2],i[o+4>>2]=n,i[k+168>>2]=0,i[k+172>>2]=0,i[k+176>>2]=0,n=1;break f}if(n=i[e+40>>2],n-i[e+36>>2]>>>0>=160001){i[k+16>>2]=h,i[k+24>>2]=54496,i[k+80>>2]=54516,n=k+16|0,i[n+i[y>>2]>>2]=z,i[k+20>>2]=0,t=n+i[i[k+16>>2]-12>>2]|0,b0(t,w),i[t+72>>2]=0,i[t+76>>2]=-1,i[i[I>>2]+_>>2]=D,i[n+i[C>>2]>>2]=R,i[k+80>>2]=54516,i[k+16>>2]=54476,i[k+24>>2]=54496,n=$0(w),i[n>>2]=53552,i[k+68>>2]=0,i[k+72>>2]=0,i[k+60>>2]=0,i[k+64>>2]=0,i[k+76>>2]=24,x(L0(x(_,18757,30),2e4),18069,10),t=k+4|0,i2(t,n),r0(f,6,1e3,t),l[k+15|0]<0&&G(i[k+4>>2]),i[k+16>>2]=u,i[i[W>>2]+(k+16|0)>>2]=J,i[k+24>>2]=E,i[n>>2]=53552,l[k+71|0]<0&&G(i[k+60>>2]),K0(n),T0(H),n=1;break f}k:{if(n>>>0>2]){i[n>>2]=i[k+184>>2],i[n+4>>2]=i[k+188>>2],i[k+184>>2]=0,i[k+188>>2]=0,n=n+8|0;break k}n=z2(p,k+184|0)}i[e+40>>2]=n,v=v+1|0,n=(A|0)!=-1&&(v|0)==(A|0)?3:0}l[k+179|0]<0&&G(i[k+168>>2]),t=i[k+188>>2];f:{if(!t||(Z=i[t+4>>2],i[t+4>>2]=Z-1,Z))break f;V[i[i[t>>2]+8>>2]](t),g(t)}if(n)break}if((n|0)!=3)break i;if(!(l[r+20|0]&1))break e;break r}if(n&1)break r}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,l[78275]>=0){f=i[19567],i[o>>2]=i[19566],i[o+4>>2]=f,i[o+8>>2]=i[19568];break i}_0(o,i[19566],i[19567]);break i}if(l[k+16|0]=0,l[k+27|0]=0,r0(f,2,100,k+16|0),l[k+27|0]>=0)break i;G(i[k+16>>2])}B=k+192|0}function qk(f,e,r,A,k,n,t,o,u,h,w,_,v){var Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0;W=B,D=W,W=W-14464&-32,B=W,Z=A,A=i[e+16856>>2],C=m(Z,2/(A|0)|0),n=((n|0)/(A|0)|0)+(C>>3)|0,p=i[e+16852>>2],Z=m(2/(p|0)|0,r),r=((k|0)/(p|0)|0)+(Z>>3)|0,k=i[e+488>>2]/(A|0)|0,A=i[e+484>>2]/(p|0)|0;i:{p=Z&7,Z=C&7;r:{if(!(p|Z)){if(e=i[e+16840>>2],!((r|0)<0|(A|0)<(r+w|0)|((n|0)<0|(k|0)<(n+_|0)))){if(e=(r+u|0)+m(n,h)|0,(v|0)<=8){V[i[f+204>>2]](t,o,e,h,w,_,0,0,0),B=D;return}V[i[f+284>>2]](t,o,e,h,w,_,0,0,0,v),B=D;return}if((_|0)<=0|(w|0)<=0)break r;for(v=14-e|0,E=k-1|0,W=A-1|0,J=w&2147483646,R=w&1,f=0;;){if(e=f+n|0,p=m((e|0)>=0?(e|0)<(k|0)?e:E:0,h)+u|0,C=(m(f,o)<<1)+t|0,e=0,y=0,(w|0)!=1)for(;Z=e+r|0,X[C+(e<<1)>>1]=s[p+((Z|0)>=0?(A|0)>(Z|0)?Z:W:0)|0]<>1]=s[p+((Z|0)>=0?(A|0)>(Z|0)?Z:W:0)|0]<>1]=s[p+((e|0)>=0?(e|0)<(A|0)?e:W:0)|0]<(A-2|0)|((n|0)<=0|(n+_|0)>(k-2|0)))){e=(r+u|0)+m(n,h)|0;break e}if(!((_|0)<-2|(w|0)<-2))for(C=-1,a=k-1|0,y=A-1|0,e=_+2|0,S=(e|0)>0?e:0,e=w+3|0,q=e&-2,d=e&1;;){if(e=n+C|0,E=m((e|0)>=0?(e|0)<(k|0)?e:a:0,h)+u|0,J=m(C,80)+80|0,e=-1,R=0,(w|0)!=-2)for(;z=W+16|0,H=e+1|0,I=e+r|0,l[z+(J+H|0)|0]=s[E+((I|0)>=0?(A|0)>(I|0)?I:y:0)|0],e=e+2|0,I=r+H|0,l[(J+e|0)+z|0]=s[E+((I|0)>=0?(A|0)>(I|0)?I:y:0)|0],R=R+2|0,(q|0)!=(R|0););if(d&&(I=W+(e+J|0)|0,e=e+r|0,l[I+17|0]=s[E+((e|0)>=0?(e|0)<(A|0)?e:y:0)|0]),C=C+1|0,(S|0)==(C|0))break}h=80,e=W+97|0}A=(((v|0)<9?44:124)+f|0)+172|0;e:{if(!(!p|!Z)||(r=(v|0)<9,A=((r?36:116)+f|0)+172|0,p))break e;if(!Z)break i;p=0,A=((r?40:120)+f|0)+172|0}r=A,V[i[r>>2]](t,o,e,h,w,_,p,Z,W+5376|0,v)}B=D;return}C0(9349,13964,269,14609),P()}function $k(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;t=B-80|0,B=t;i:{if(!k||!e|!A){i[f>>2]=5,i[f+4>>2]=2001,i[f+8>>2]=3104;break i}if((r|0)<=0){i[f>>2]=5,i[f+4>>2]=2006,i[f+8>>2]=9064;break i}h=U(48),o=h,i[o+4>>2]=0,i[o+8>>2]=0,i[o>>2]=72912,e=W3(o+16|0,e,r,0),i[t+52>>2]=o,i[t+48>>2]=e,i[o+4>>2]=i[o+4>>2]+1,e=i[t+52>>2],i[t>>2]=i[t+48>>2],i[t+4>>2]=e,v=_e(t+56|0,t,r,0),i[t+40>>2]=0,i[t+44>>2]=0,_r(t+20|0,v,t+40|0);r:{if(r=i[t+20>>2],r){if(e=i[t+24>>2],i[f>>2]=r,(e|0)==100){i[f+4>>2]=100,i[f+8>>2]=14458;break r}i[f+4>>2]=e,i[f+8>>2]=1995;break r}e:{A:{if(e=i[t+40>>2],!e||(n=N0(e,68572,68764),!n))break A;if(o=i[t+44>>2],o&&(i[o+4>>2]=i[o+4>>2]+1),e=0,i[t+16>>2]=0,i[t+8>>2]=0,i[t+12>>2]=0,r=0,w=i[n+60>>2],n=i[n+56>>2],(w|0)!=(n|0)){if(e=w-n|0,(e|0)<0)break e;r=U(e),e=l0(r,n,e)+e|0}u=A,n=e-r|0,A=Z2(n),i[u>>2]=A,n=n>>2,i[k>>2]=n;f:{k:{if((e|0)!=(r|0)){if(u=n>>>0<=1?1:n,w=u&3,k=0,e=0,n>>>0>=4)for(Z=u&-4,u=0;n=e<<2,i[n+A>>2]=i[r+n>>2],_=n|4,i[_+A>>2]=i[r+_>>2],_=n|8,i[_+A>>2]=i[r+_>>2],n=n|12,i[n+A>>2]=i[r+n>>2],e=e+4|0,u=u+4|0,(Z|0)!=(u|0););if(w)for(;n=e<<2,i[n+A>>2]=i[r+n>>2],e=e+1|0,k=k+1|0,(w|0)!=(k|0););e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412];break k}if(e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],!r)break f}G(r)}if(!o||(f=i[o+4>>2],i[o+4>>2]=f-1,f))break r;V[i[i[o>>2]+8>>2]](o),g(o);break r}i[f>>2]=2,i[f+4>>2]=102,i[f+8>>2]=2018;break r}y0(),P()}l[t+39|0]<0&&G(i[t+28>>2]),f=i[t+44>>2];r:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[v+4>>2];r:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=i[h+4>>2],i[h+4>>2]=f-1,f)break i;V[i[i[h>>2]+8>>2]](h),g(h)}B=t+80|0}function ow(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0;n=B-32|0,B=n;i:{if(!(k&&e)){i[f>>2]=5,i[f+4>>2]=2006,i[f+8>>2]=12607;break i}u=i[e>>2],h=i[u+48>>2],t=i[u+52>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,I1(n,h,r,n+20|0);r:{if(i[n>>2]){P0(f,n,i[e>>2]);break r}if(e=A-1|0,r=i[n+20>>2],e>>>0>=i[n+24>>2]-r>>3>>>0){i[f>>2]=5,i[f+4>>2]=2007,i[f+8>>2]=10388;break r}e:{if(r=r+(e<<3)|0,e=i[r>>2],!e||(e=N0(e,68572,69952),!e))break e;if(o=i[r+4>>2],o){if(i[o+4>>2]=i[o+4>>2]+1,r=U(48),i[k>>2]=r,A=e- -64|0,w=i[A>>2],_=i[A+4>>2],v=i[e+72>>2],Z=i[e+76>>2],p=i[e+80>>2],W=i[e+84>>2],C=i[e+88>>2],u=i[e+92>>2],h=i[e+56>>2],k=i[e+60>>2],A=i[e+100>>2],i[r+40>>2]=i[e+96>>2],i[r+44>>2]=A,i[r+32>>2]=C,i[r+36>>2]=u,i[r+24>>2]=p,i[r+28>>2]=W,i[r+16>>2]=v,i[r+20>>2]=Z,i[r+8>>2]=w,i[r+12>>2]=_,i[r>>2]=h,i[r+4>>2]=k,i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,f=i[o+4>>2],i[o+4>>2]=f-1,f)break r;V[i[i[o>>2]+8>>2]](o),g(o);break r}r=U(48),i[k>>2]=r,A=e- -64|0,w=i[A>>2],_=i[A+4>>2],v=i[e+72>>2],Z=i[e+76>>2],p=i[e+80>>2],W=i[e+84>>2],C=i[e+88>>2],u=i[e+92>>2],h=i[e+56>>2],k=i[e+60>>2],A=i[e+100>>2],i[r+40>>2]=i[e+96>>2],i[r+44>>2]=A,i[r+32>>2]=C,i[r+36>>2]=u,i[r+24>>2]=p,i[r+28>>2]=W,i[r+16>>2]=v,i[r+20>>2]=Z,i[r+8>>2]=w,i[r+12>>2]=_,i[r>>2]=h,i[r+4>>2]=k,i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e;break r}i[f>>2]=5,i[f+4>>2]=2007,i[f+8>>2]=9699}if(l[n+19|0]<0&&G(i[n+8>>2]),r=i[n+20>>2],r){if(f=r,e=i[n+24>>2],(r|0)!=(e|0)){for(;;){A=i[e-4>>2];r:{if(!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(e=e-8|0,(r|0)==(e|0))break}f=i[n+20>>2]}i[n+24>>2]=r,G(f)}if(!t||(f=i[t+4>>2],i[t+4>>2]=f-1,f))break i;V[i[i[t>>2]+8>>2]](t),g(t)}B=n+32|0}function lw(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0;if(f=B-144|0,B=f,i[f+136>>2]=r,i[f+140>>2]=e,i[f+20>>2]=1095,h=f+20|0,w=o1(f+24|0,f+32|0,h),o=f+16|0,e=i[k+28>>2],i[o>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(o,100192),l[f+15|0]=0,pk(f+140|0,r,A,o,i[k+4>>2],n,f+15|0,e,w,h,f+132|0)){r=B-16|0,B=r;i:if(s[t+11|0]>>>7|0)break i;i:{if(s[t+11|0]>>>7|0){A=i[t>>2],l[r+15|0]=0,l[A|0]=s[r+15|0],i[t+4>>2]=0;break i}l[r+14|0]=0,l[t|0]=s[r+14|0],l[t+11|0]=s[t+11|0]&128,l[t+11|0]=s[t+11|0]&127}for(B=r+16|0,s[f+15|0]==1&&C6(t,V[i[i[e>>2]+28>>2]](e,45)|0),e=V[i[i[e>>2]+28>>2]](e,48)|0,r=i[w>>2],u=i[f+20>>2],A=u-1|0,e=e&255;;){if(!((e|0)!=s[r|0]|r>>>0>=A>>>0)){r=r+1|0;continue}break}h=B-16|0,B=h,s[t+11|0]>>>7|0?A=i[t+4>>2]:A=s[t+11|0]&127,k=s[t+11|0]>>>7|0?(i[t+8>>2]&2147483647)-1|0:10,e=u-r|0;i:{if(!e)break i;if(s[t+11|0]>>>7|0?o=i[t>>2]:o=t,v=o,s[t+11|0]>>>7|0?o=i[t>>2]:o=t,s[t+11|0]>>>7|0?_=i[t+4>>2]:_=s[t+11|0]&127,!c9(v,(o+_|0)+1|0,r)){for(e>>>0>k-A>>>0&&HA(t,k,e+(A-k|0)|0,A,A),s[t+11|0]>>>7|0?k=i[t>>2]:k=t,k=k+A|0;;){if((r|0)!=(u|0)){l[k|0]=s[r|0],r=r+1|0,k=k+1|0;continue}break}l[h+15|0]=0,l[k|0]=s[h+15|0],wi(t,e+A|0);break i}A=j3(h,r,u);r:{if(s[A+11|0]>>>7|0){r=i[A>>2];break r}r=A}u=B-16|0,B=u,s[A+11|0]>>>7|0?e=i[A+4>>2]:e=s[A+11|0]&127,o=s[t+11|0]>>>7|0?(i[t+8>>2]&2147483647)-1|0:10,s[t+11|0]>>>7|0?k=i[t+4>>2]:k=s[t+11|0]&127;r:{if(e>>>0<=o-k>>>0){if(!e)break r;o=r,s[t+11|0]>>>7|0?r=i[t>>2]:r=t,e8(o,e,r+k|0),e=e+k|0,wi(t,e),l[u+15|0]=0,l[e+r|0]=s[u+15|0];break r}Pr(t,o,k+(e-o|0)|0,k,k,0,e,r)}B=u+16|0,z0(A)}B=h+16|0}return J2(f+140|0,f+136|0)&&(i[n>>2]=i[n>>2]|2),r=i[f+140>>2],O0(f+16|0),e=i[w>>2],i[w>>2]=0,e&&V[i[w+4>>2]](e),B=f+144|0,r|0}function QA(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0;u=B-16|0,B=u;i:{if(!n){i[f>>2]=5,i[f+4>>2]=2001,i[f+8>>2]=17605;break i}A|k||(x(98900,30633,136),A=2);r:{e:{A:switch(A|0){case 0:o=U(12),i[u+4>>2]=o,t=o+12|0,i[u+12>>2]=t,i[o+8>>2]=3,i[o>>2]=1,i[o+4>>2]=2;break e;case 1:o=U(28),i[u+4>>2]=o,t=o+28|0,i[u+12>>2]=t,i[o+24>>2]=i[8847],h=i[8846],i[o+16>>2]=i[8845],i[o+20>>2]=h,h=i[8844],i[o+8>>2]=i[8843],i[o+12>>2]=h,h=i[8842],i[o>>2]=i[8841],i[o+4>>2]=h;break e;case 2:o=U(4),i[u+4>>2]=o,t=o+4|0,i[u+12>>2]=t,i[o>>2]=0;break e;default:break A}i[u+12>>2]=0,i[u+4>>2]=0,i[u+8>>2]=0;break r}i[u+8>>2]=t}o=i[u+4>>2],t=o;r:{e:{A:{f:{if(h=i[u+8>>2],(h|0)==(t|0))break f;for(;;){if(i[t>>2]==(k|0))break f;if(t=t+4|0,(h|0)==(t|0))break}break A}if((t|0)!=(h|0))break e}i[n>>2]=0,i[f+8>>2]=17654,i[f>>2]=5,i[f+4>>2]=2006;break r}h=U(8),t=h,i[t>>2]=0,i[t+4>>2]=0,t=U(136),i[t>>2]=72792,i[t+4>>2]=0,i[t+8>>2]=0,B0(t+20|0,0,104),o=i[t+4>>2],_=o+1|0,i[t+4>>2]=_,i[t+56>>2]=0,i[t+60>>2]=0,i[t+44>>2]=99,i[t+48>>2]=99,i[t+32>>2]=37837,w=t- -64|0,i[w>>2]=0,i[w+4>>2]=0,i[t+132>>2]=0,i[t+124>>2]=0,i[t+128>>2]=0,i[t+84>>2]=1,i[t+88>>2]=1,i[t+72>>2]=t+76,i[t+92>>2]=0,i[t+96>>2]=0,i[t+100>>2]=0,i[t+104>>2]=0,i[t+108>>2]=0,i[t+112>>2]=0,l[t+113|0]=0,l[t+114|0]=0,l[t+115|0]=0,l[t+116|0]=0,l[t+117|0]=0,l[t+118|0]=0,l[t+119|0]=0,l[t+120|0]=0,w=t+12|0,i[t+12>>2]=w,i[t+8>>2]=i[t+8>>2]+1,i[t+4>>2]=o,i[t+16>>2]=t,_||(V[i[i[t>>2]+8>>2]](t),g(t)),i[h>>2]=w,o=i[h+4>>2],i[h+4>>2]=t;e:{if(!o||(t=i[o+4>>2],i[o+4>>2]=t-1,t))break e;V[i[i[o>>2]+8>>2]](o),g(o)}t=i[h>>2],i[t+36>>2]=k,i[t+32>>2]=A,i[t+28>>2]=r,i[t+24>>2]=e,i[n>>2]=h,i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,o=i[u+4>>2]}if(!o)break i;i[u+8>>2]=o,G(o)}B=u+16|0}function uw(f,e,r,A,k,n,t,o,u){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0;var h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;f=B-1056|0,B=f,i[f+16>>2]=n,i[f+20>>2]=t,i[f+24>>2]=o,i[f+28>>2]=u,h=f+944|0,i[f+940>>2]=h,h=I8(h,100,8817,f+16|0),i[f+528>>2]=1094,w=f+528|0,Z=o1(f+520|0,0,w),i[f+528>>2]=1094,_=o1(f+512|0,0,w);i:{if(h>>>0>=100&&(h=M2(),i[f>>2]=n,i[f+4>>2]=t,i[f+8>>2]=o,i[f+12>>2]=u,h=c4(f+940|0,h,8817,f),(h|0)==-1||(n=i[Z>>2],i[Z>>2]=i[f+940>>2],n&&V[i[Z+4>>2]](n),t=Z2(h<<2),n=i[_>>2],i[_>>2]=t,n&&V[i[_+4>>2]](n),w=i[_>>2],!w)))break i;t=f+508|0,n=i[A+28>>2],i[t>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),I=x0(t,100184),n=I,t=i[f+940>>2],V[i[i[n>>2]+48>>2]](n,t,t+h|0,w)|0,C=(h|0)>0?s[i[f+940>>2]]==45:C,t=B-16|0,B=t,n=f+484|0,i[n>>2]=0,i[n+4>>2]=0,i[n+8>>2]=0,B=t+16|0,t=B-16|0,B=t,o=f+472|0,i[o>>2]=0,i[o+4>>2]=0,i[o+8>>2]=0,B=t+16|0,t=B-16|0,B=t,u=f+460|0,i[u>>2]=0,i[u+4>>2]=0,i[u+8>>2]=0,B=t+16|0,Zn(r,C,f+508|0,f+504|0,f+500|0,f+496|0,n,o,u,f+456|0),i[f+48>>2]=1094,r=f+48|0,v=o1(f+40|0,0,r),t=i[f+456>>2];r:{if((t|0)<(h|0)){s[o+11|0]>>>7|0?p=i[o+4>>2]:p=s[o+11|0]&127,s[u+11|0]>>>7|0?W=i[u+4>>2]:W=s[u+11|0]&127,t=(t+(p+(W+(h-t<<1)|0)|0)|0)+1|0;break r}W=i[f+456>>2],s[u+11|0]>>>7|0?t=i[u+4>>2]:t=s[u+11|0]&127,s[o+11|0]>>>7|0?p=i[o+4>>2]:p=s[o+11|0]&127,t=(W+(t+p|0)|0)+2|0}if(t>>>0>=101&&(t=Z2(t<<2),r=i[v>>2],i[v>>2]=t,r&&V[i[v+4>>2]](r),r=i[v>>2],!r))break i;return Lk(r,f+36|0,f+32|0,i[A+4>>2],w,(h<<2)+w|0,I,C,f+504|0,i[f+500>>2],i[f+496>>2],n,o,u,i[f+456>>2]),r=X8(e,r,i[f+36>>2],i[f+32>>2],A,k),e=i[v>>2],i[v>>2]=0,e&&V[i[v+4>>2]](e),l1(u),l1(o),z0(n),O0(f+508|0),e=i[_>>2],i[_>>2]=0,e&&V[i[_+4>>2]](e),e=i[Z>>2],i[Z>>2]=0,e&&V[i[Z+4>>2]](e),B=f+1056|0,r|0}u1(),P()}function sw(f,e,r,A,k,n,t,o,u){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0;var h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;f=B-448|0,B=f,i[f+16>>2]=n,i[f+20>>2]=t,i[f+24>>2]=o,i[f+28>>2]=u,h=f+336|0,i[f+332>>2]=h,h=I8(h,100,8817,f+16|0),i[f+224>>2]=1094,w=f+224|0,Z=o1(f+216|0,0,w),i[f+224>>2]=1094,_=o1(f+208|0,0,w);i:{if(h>>>0>=100&&(h=M2(),i[f>>2]=n,i[f+4>>2]=t,i[f+8>>2]=o,i[f+12>>2]=u,h=c4(f+332|0,h,8817,f),(h|0)==-1||(n=i[Z>>2],i[Z>>2]=i[f+332>>2],n&&V[i[Z+4>>2]](n),t=Z2(h),n=i[_>>2],i[_>>2]=t,n&&V[i[_+4>>2]](n),w=i[_>>2],!w)))break i;t=f+204|0,n=i[A+28>>2],i[t>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),I=x0(t,100192),n=I,t=i[f+332>>2],V[i[i[n>>2]+32>>2]](n,t,t+h|0,w)|0,C=(h|0)>0?s[i[f+332>>2]]==45:C,t=B-16|0,B=t,n=f+184|0,i[n>>2]=0,i[n+4>>2]=0,i[n+8>>2]=0,B=t+16|0,t=B-16|0,B=t,o=f+172|0,i[o>>2]=0,i[o+4>>2]=0,i[o+8>>2]=0,B=t+16|0,t=B-16|0,B=t,u=f+160|0,i[u>>2]=0,i[u+4>>2]=0,i[u+8>>2]=0,B=t+16|0,Wn(r,C,f+204|0,f+200|0,f+199|0,f+198|0,n,o,u,f+156|0),i[f+48>>2]=1094,r=f+48|0,v=o1(f+40|0,0,r),t=i[f+156>>2];r:{if((t|0)<(h|0)){s[o+11|0]>>>7|0?p=i[o+4>>2]:p=s[o+11|0]&127,s[u+11|0]>>>7|0?W=i[u+4>>2]:W=s[u+11|0]&127,t=(t+(p+(W+(h-t<<1)|0)|0)|0)+1|0;break r}W=i[f+156>>2],s[u+11|0]>>>7|0?t=i[u+4>>2]:t=s[u+11|0]&127,s[o+11|0]>>>7|0?p=i[o+4>>2]:p=s[o+11|0]&127,t=(W+(t+p|0)|0)+2|0}if(t>>>0>=101&&(t=Z2(t),r=i[v>>2],i[v>>2]=t,r&&V[i[v+4>>2]](r),r=i[v>>2],!r))break i;return Kk(r,f+36|0,f+32|0,i[A+4>>2],w,h+w|0,I,C,f+200|0,l[f+199|0],l[f+198|0],n,o,u,i[f+156>>2]),r=G8(e,r,i[f+36>>2],i[f+32>>2],A,k),e=i[v>>2],i[v>>2]=0,e&&V[i[v+4>>2]](e),z0(u),z0(o),z0(n),O0(f+204|0),e=i[_>>2],i[_>>2]=0,e&&V[i[_+4>>2]](e),e=i[Z>>2],i[Z>>2]=0,e&&V[i[Z+4>>2]](e),B=f+448|0,r|0}u1(),P()}function hw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;k=B-16|0,B=k;i:{if(!(i[e+8>>2]|i[e+12>>2])){if(e=U(32),i[k+4>>2]=e,i[k+8>>2]=30,i[k+12>>2]=-2147483616,r=s[8941]|s[8942]<<8|(s[8943]<<16|s[8944]<<24),A=s[8937]|s[8938]<<8|(s[8939]<<16|s[8940]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+30|0]=0,r=s[8963]|s[8964]<<8|(s[8965]<<16|s[8966]<<24),A=s[8959]|s[8960]<<8|(s[8961]<<16|s[8962]<<24),l[e+22|0]=A,l[e+23|0]=A>>>8,l[e+24|0]=A>>>16,l[e+25|0]=A>>>24,l[e+26|0]=r,l[e+27|0]=r>>>8,l[e+28|0]=r>>>16,l[e+29|0]=r>>>24,r=s[8957]|s[8958]<<8|(s[8959]<<16|s[8960]<<24),A=s[8953]|s[8954]<<8|(s[8955]<<16|s[8956]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[8949]|s[8950]<<8|(s[8951]<<16|s[8952]<<24),A=s[8945]|s[8946]<<8|(s[8947]<<16|s[8948]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,0,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}o=e,u=B2(r)&127,l[o+48|0]=u,A=B2(r),l[e+50|0]=A&31,l[e+49|0]=A>>>5,A=B2(r),l[e+57|0]=A&3,l[e+51|0]=A>>>7,l[e+56|0]=A>>>2&1,l[e+55|0]=A>>>3&1,l[e+54|0]=A>>>4&1,l[e+53|0]=A>>>5&1,l[e+52|0]=A>>>6&1,A=B2(r),n=A>>>4&1,l[e+58|0]=n,n&&(l[e+59|0]=A&15),n=i[e+60>>2],t=i[e+64>>2]-n|0,A=i[r+16>>2];r:{if(t>>>0>>0){L2(e+60|0,A-t|0),n=i[e+60>>2];break r}if(A>>>0>=t>>>0)break r;i[e+64>>2]=A+n}if(D6(r,n,A),s[r+20|0]==1){if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,100,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+16|0}function ww(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0;for(C=B-16|0,B=C,h=r;;){i:{if((A|0)==(h|0)){h=A;break i}if(!s[h|0])break i;h=h+1|0;continue}break}for(i[o>>2]=n,i[k>>2]=r;;){i:{r:{e:{if((r|0)==(A|0)|(n|0)==(t|0))break e;u=i[e+4>>2],i[C+8>>2]=i[e>>2],i[C+12>>2]=u,I=B-16|0,B=I,i[I+12>>2]=i[f+8>>2],J=S4(I+8|0,I+12|0),p=h-r|0,_=0,Z=B-1040|0,B=Z,u=i[k>>2],i[Z+12>>2]=u,W=n||Z+16|0,v=n?t-n>>2:256;A:{f:{k:{if(!(!u|!v)){for(;;){if(w=p>>>2|0,!(p>>>0>131|w>>>0>=v>>>0)){w=u;break f}if(y=Ok(W,Z+12|0,w>>>0>>0?w:v,e),w=i[Z+12>>2],(y|0)==-1){v=0,_=-1;break k}if(E=(Z+16|0)!=(W|0)?y:0,v=v-E|0,W=(E<<2)+W|0,p=w?(u+p|0)-w|0:0,_=_+y|0,!w)break k;if(u=w,!v)break}break k}w=u}if(!w)break A}if(!v|!p)break A;for(u=_;;){f:{_=B6(W,w,p,e);k:{if(_+2>>>0<=2){n:switch(_+1|0){case 1:i[Z+12>>2]=0;break k;case 0:break A;default:break n}i[e>>2]=0;break k}if(w=i[Z+12>>2]+_|0,i[Z+12>>2]=w,u=u+1|0,v=v-1|0,v)break f}_=u;break A}if(W=W+4|0,p=p-_|0,_=u,!p)break}}n&&(i[k>>2]=i[Z+12>>2]),B=Z+1040|0,u=i[J>>2],u&&(i[23985]=(u|0)==-1?95820:u),B=I+16|0;A:{f:{k:{n:{if((_|0)==-1)for(;;){if(i[o>>2]=n,i[k>>2]==(r|0))break e;t=1;t:{o:{u:switch(e=d9(n,r,h-r|0,C+8|0,i[f+8>>2]),e+2|0){case 0:break f;case 2:break t;case 1:break u;default:break o}i[k>>2]=r;break n}t=e}r=r+t|0,n=i[o>>2]+4|0}if(n=i[o>>2]+(_<<2)|0,i[o>>2]=n,(n|0)==(t|0))break A;if(r=i[k>>2],(A|0)==(h|0)){h=A;continue}if(!d9(n,r,1,e,i[f+8>>2]))break k}f=2;break r}for(i[o>>2]=i[o>>2]+4,r=i[k>>2]+1|0,i[k>>2]=r,h=r;;){if((A|0)==(h|0)){h=A;break i}if(!s[h|0])break i;h=h+1|0}}i[k>>2]=r,f=1;break r}r=i[k>>2]}f=(r|0)!=(A|0)}return B=C+16|0,f|0}n=i[o>>2]}}function _w(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0;n=B+-64|0,B=n;i:{if(!(A&&e)){i[f>>2]=5,i[f+4>>2]=2001,i[f+8>>2]=12607;break i}if(t=U(128),i[t+4>>2]=0,i[t+8>>2]=0,i[t>>2]=71984,o=t+16|0,i[o+8>>2]=0,i[o+12>>2]=0,i[o+16>>2]=0,i[o+20>>2]=0,i[o+24>>2]=0,i[o+28>>2]=0,i[o+32>>2]=0,i[o>>2]=68500,i[t+52>>2]=0,i[t+56>>2]=0,i[t+68>>2]=0,l[t+57|0]=0,l[t+58|0]=0,l[t+59|0]=0,l[t+60|0]=0,l[t+61|0]=0,l[t+62|0]=0,l[t+63|0]=0,l[t+64|0]=0,i[o>>2]=69912,l[t+96|0]=0,i[t+88>>2]=0,i[t+92>>2]=0,i[t+80>>2]=0,i[t+84>>2]=0,i[t+72>>2]=0,i[t+76>>2]=0,i[t+104>>2]=0,i[t+108>>2]=0,i[t+112>>2]=0,i[t+116>>2]=0,i[t+120>>2]=0,i[t+124>>2]=0,i[t+32>>2]=1668114798,u=i[A+44>>2],i[n+48>>2]=i[A+40>>2],i[n+52>>2]=u,u=i[A+36>>2],i[n+40>>2]=i[A+32>>2],i[n+44>>2]=u,u=i[A+28>>2],i[n+32>>2]=i[A+24>>2],i[n+36>>2]=u,u=i[A+20>>2],i[n+24>>2]=i[A+16>>2],i[n+28>>2]=u,u=i[A+12>>2],i[n+16>>2]=i[A+8>>2],i[n+20>>2]=u,u=i[A+4>>2],i[n+8>>2]=i[A>>2],i[n+12>>2]=u,A=i[n+12>>2],i[o+56>>2]=i[n+8>>2],i[o+60>>2]=A,A=i[n+52>>2],i[o+96>>2]=i[n+48>>2],i[o+100>>2]=A,A=i[n+44>>2],i[o+88>>2]=i[n+40>>2],i[o+92>>2]=A,A=i[n+36>>2],i[o+80>>2]=i[n+32>>2],i[o+84>>2]=A,A=i[n+28>>2],i[o+72>>2]=i[n+24>>2],i[o+76>>2]=A,A=i[n+20>>2],u=o- -64|0,i[u>>2]=i[n+16>>2],i[u+4>>2]=A,h=s[n+32|0],w=h6(i0[n+8>>3]),A=h6(i0[n+16>>3]),u=h6(i0[n+24>>3]),A=A>>>0>>0?A:w,u=A>>>0>u>>>0?u:A,i[o+104>>2]=u,A=0,(h|0)==1&&(A=h6(i0[n+40>>3]),u=A>>>0>>0?A:u,i[o+104>>2]=u,A=h6(i0[n+48>>3])),i[o+108>>2]=A,i[o+52>>2]=u<<8|h|A<<16,A=i[e>>2],i[n+60>>2]=t,i[n+56>>2]=o,i[t+4>>2]=i[t+4>>2]+1,e=i[n+60>>2],i[n>>2]=i[n+56>>2],i[n+4>>2]=e,e=Q3(A,r,n,0),k&&(i[k>>2]=e),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[t+4>>2],i[t+4>>2]=f-1,f)break i;V[i[i[t>>2]+8>>2]](t),g(t)}B=n- -64|0}function l6(f,e,r,A){var k=0,n=0,t=0,o=0,u=0;k=B-160|0,B=k;i:{r:{e:{A:{if((r|A)>=0){if(!A)break e;if(t=K6(i[e+64>>2],i[e+68>>2],A,0),n=w0,!n&r>>>0<=t>>>0|n)break A}i[k+24>>2]=54496,i[k+80>>2]=54516,n=i[13633],i[k+16>>2]=n,t=k+16|0,i[t+i[n-12>>2]>>2]=i[13634],i[k+20>>2]=0,n=i[i[k+16>>2]-12>>2]+t|0,o=k+28|0,b0(n,o),i[n+72>>2]=0,i[n+76>>2]=-1,n=i[13635],i[k+24>>2]=n,u=k+24|0,i[u+i[n-12>>2]>>2]=i[13636],n=i[13632],i[k+16>>2]=n,i[i[n-12>>2]+t>>2]=i[13637],i[k+80>>2]=54516,i[k+16>>2]=54476,i[k+24>>2]=54496,t=$0(o),i[t>>2]=53552,i[k+68>>2]=0,i[k+72>>2]=0,i[k+60>>2]=0,i[k+64>>2]=0,i[k+76>>2]=24,x(n4(x(L0(x(L0(x(u,19153,11),r),2490,1),A),19120,32),i[e+64>>2],i[e+68>>2]),31338,1),e=k+4|0,i2(e,t),r0(f,6,1e3,e),l[k+15|0]<0&&G(i[k+4>>2]),f=i[13631],i[k+16>>2]=f,i[i[f-12>>2]+(k+16|0)>>2]=i[13639],i[k+24>>2]=i[13640],i[t>>2]=53552,l[k+71|0]<0&&G(i[k+60>>2]),K0(t),T0(k+80|0);break i}if(r)break r}if(e=U(24),i[k+16>>2]=e,i[k+20>>2]=20,i[k+24>>2]=-2147483624,r=s[3303]|s[3304]<<8|(s[3305]<<16|s[3306]<<24),A=s[3299]|s[3300]<<8|(s[3301]<<16|s[3302]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+20|0]=0,r=s[3315]|s[3316]<<8|(s[3317]<<16|s[3318]<<24),l[e+16|0]=r,l[e+17|0]=r>>>8,l[e+18|0]=r>>>16,l[e+19|0]=r>>>24,r=s[3311]|s[3312]<<8|(s[3313]<<16|s[3314]<<24),A=s[3307]|s[3308]<<8|(s[3309]<<16|s[3310]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,6,129,k+16|0),l[k+27|0]>=0)break i;G(i[k+16>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+160|0}function vw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;k=B-48|0,B=k,i[k+44>>2]=0,i[k+36>>2]=0,i[k+40>>2]=0;i:{if(!f){f=i[9282],i[k+24>>2]=i[9281],i[k+28>>2]=f,f=i[9280],i[k+16>>2]=i[9279],i[k+20>>2]=f,f=i[9278],i[k+8>>2]=i[9277],i[k+12>>2]=f,ki(k+36|0,k+8|0,k+32|0,6);break i}n=U(4),i[n>>2]=f,f=n+4|0,i[k+44>>2]=f,i[k+36>>2]=n,i[k+40>>2]=f}Ve();i:{if(n=i[19569],(n|0)==78280|i[k+36>>2]==i[k+40>>2])break i;r:{for(;;){e:{f=i[k+36>>2],A=i[k+40>>2];A:{if((f|0)==(A|0))break A;for(_=i[n+16>>2];;){if(v=V[i[_+16>>2]](i[f>>2])|0,!v){if(f=f+4|0,(A|0)!=(f|0))continue;break A}break}if(o>>>0>>0){i[o+4>>2]=v,i[o>>2]=_,o=o+8|0;break A}if(u=o-t>>3,w=u+1|0,w>>>0>=536870912)break e;if(A=h-t|0,f=A>>2,h=A>>>0>=2147483640?536870911:f>>>0>w>>>0?f:w,h){if(h>>>0>=536870912)break r;A=U(h<<3)}else A=0;if(u=A+(u<<3)|0,i[u+4>>2]=v,i[u>>2]=_,f=u,(t|0)!=(o|0))for(;o=o-8|0,w=i[o+4>>2],f=f-8|0,i[f>>2]=i[o>>2],i[f+4>>2]=w,(t|0)!=(o|0););h=A+(h<<3)|0,o=u+8|0,t&&G(t),t=f}A=i[n+4>>2];A:{if(A){for(;;)if(f=A,A=i[f>>2],!A)break A}for(;f=i[n+8>>2],A=i[f>>2]!=(n|0),n=f,!!A;);}if(n=f,(f|0)!=78280)continue;break i}break}L3(4917),P()}_2(),P()}n=o-t>>3;i:{if(!e||(f=0,mk(t,o,(t|0)!=(o|0)?62-($2(n)<<1)|0:0,1),n=(r|0)>(n|0)?n:r,(n|0)<=0))break i;if(n>>>0>=4)for(u=n&2147483644,A=0;i[(f<<2)+e>>2]=i[(f<<3)+t>>2],r=f|1,i[(r<<2)+e>>2]=i[(r<<3)+t>>2],r=f|2,i[(r<<2)+e>>2]=i[(r<<3)+t>>2],r=f|3,i[(r<<2)+e>>2]=i[(r<<3)+t>>2],f=f+4|0,A=A+4|0,(u|0)!=(A|0););if(r=n&3,!r)break i;for(A=0;i[(f<<2)+e>>2]=i[(f<<3)+t>>2],f=f+1|0,A=A+1|0,(r|0)!=(A|0););}return f=i[k+36>>2],f&&(i[k+40>>2]=f,G(f)),t&&G(t),B=k+48|0,n|0}function mw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,k=i[13708],i[A+12>>2]=k,n=i[k-12>>2],k=A+12|0,i[n+k>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,Hr(n,e,r),o=k,u=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:u,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),u=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:u,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(A+12|0,21262,13),k=i[e+48>>2],l[A+11|0]=4,l[A+3|0]=k,l[A+2|0]=k>>>8,l[A+1|0]=k>>>16,l[A|0]=k>>>24,l[A+4|0]=0,k=x(x(n,A,4),31338,1),n=A+148|0,W0(n,r),u=n,n=l[A+159|0],o=(n|0)<0,x(k,o?i[A+148>>2]:u,o?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),k=x(L0(x(k,20346,15),i[e+52>>2]),31338,1),n=A+148|0,W0(n,r),u=n,r=l[A+159|0],n=(r|0)<0,x(k,n?i[A+148>>2]:u,n?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),x(k,20085,19),l[A+11|0]<0&&G(i[A>>2]),r=i[e+56>>2],k=i[e+60>>2];i:{if((r|0)==(k|0)||(e=i[r>>2],l[A+152|0]=0,l[A+159|0]=4,l[A+151|0]=e,l[A+150|0]=e>>>8,l[A+149|0]=e>>>16,l[A+148|0]=e>>>24,x(A+12|0,A+148|0,4),l[A+159|0]<0&&G(i[A+148>>2]),r=r+4|0,(k|0)==(r|0)))break i;for(;e=i[r>>2],l[A+148|0]=44,n=A+12|0,o=A+148|0,x(n,o,1),l[A+152|0]=0,l[A+159|0]=4,l[A+151|0]=e,l[A+150|0]=e>>>8,l[A+149|0]=e>>>16,l[A+148|0]=e>>>24,x(n,o,4),l[A+159|0]<0&&G(i[A+148>>2]),r=r+4|0,(k|0)!=(r|0););}e=A+12|0,x(e,31338,1),i2(f,t),f=i[13707],i[A+12>>2]=f,i[e+i[f-12>>2]>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function bk(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;v=B-16|0,B=v,h=x0(t,100184),p=x0(t,100256),t=p,V[i[i[t>>2]+20>>2]](v+4|0,t),i[n>>2]=A;i:{r:switch(u=f,t=s[u|0],t-43|0){case 0:case 2:break r;default:break i}t=V[i[i[h>>2]+44>>2]](h,t<<24>>24)|0,o=i[n>>2],i[n>>2]=o+4,i[o>>2]=t,u=f+1|0}i:{if(t=u,!((r-t|0)<=1|s[t|0]!=48|(s[t+1|0]|32)!=120))for(o=V[i[i[h>>2]+44>>2]](h,48)|0,u=i[n>>2],i[n>>2]=u+4,i[u>>2]=o,o=V[i[i[h>>2]+44>>2]](h,l[t+1|0])|0,u=i[n>>2],i[n>>2]=u+4,i[u>>2]=o,u=t+2|0,t=u;;){if(r>>>0<=t>>>0||(o=l[t|0],M2(),!(o-48>>>0<10|(o|32)-97>>>0<6)))break i;t=t+1|0}for(;;){if(r>>>0<=t>>>0||(o=l[t|0],M2(),o-48>>>0>=10))break i;t=t+1|0}}s[v+15|0]>>>7|0?o=i[v+8>>2]:o=s[v+15|0]&127;i:{if(!o){V[i[i[h>>2]+48>>2]](h,u,t,i[n>>2])|0,i[n>>2]=i[n>>2]+(t-u<<2);break i}for(li(u,t),C=V[i[i[p>>2]+16>>2]](p)|0,o=u;;){if(t>>>0<=o>>>0)te((u-f<<2)+A|0,i[n>>2]);else{w=v+4|0;r:{if(s[w+11|0]>>>7|0){Z=i[w>>2];break r}Z=w}I=l[Z+W|0]<=0,s[w+11|0]>>>7|0?Z=i[w>>2]:Z=w,I|l[Z+W|0]!=(_|0)||(_=i[n>>2],i[n>>2]=_+4,i[_>>2]=C,s[w+11|0]>>>7|0?w=i[w+4>>2]:w=s[w+11|0]&127,W=(w-1>>>0>W>>>0)+W|0,_=0),w=V[i[i[h>>2]+44>>2]](h,l[o|0])|0,Z=i[n>>2],i[n>>2]=Z+4,i[Z>>2]=w,o=o+1|0,_=_+1|0;continue}break}}i:{r:{for(;;){if(r>>>0<=t>>>0)break r;if(o=t+1|0,t=l[t|0],(t|0)!=46){t=V[i[i[h>>2]+44>>2]](h,t)|0,u=i[n>>2],i[n>>2]=u+4,i[u>>2]=t,t=o;continue}break}t=V[i[i[p>>2]+12>>2]](p)|0,u=i[n>>2],_=u+4|0,i[n>>2]=_,i[u>>2]=t;break i}_=i[n>>2],o=t}V[i[i[h>>2]+48>>2]](h,o,r,_)|0,t=n,n=i[n>>2]+(r-o<<2)|0,i[t>>2]=n,i[k>>2]=(e|0)==(r|0)?n:(e-f<<2)+A|0,z0(v+4|0),B=v+16|0}function Bw(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0;if(I=r,y=A,n=B-16|0,B=n,w=i[e>>2],A=i[w+60>>2],v=w- -64|0,(A|0)!=(v|0))for(;;){x9(I,y,i[A+16>>2],i[w+36>>2],n+12|0,n+8|0),o=i[A+28>>2],h=i[A+24>>2],u=i[n+12>>2],t=i[n+8>>2];i:{if(!((u|0)>i[A+32>>2]|(t|0)>i[A+36>>2])){e=s[A+20|0]+7>>>3|0;break i}e=1;r:e:{A:{f:{k:switch(k=i[w+36>>2],k|0){case 0:case 1:case 2:case 3:case 99:break e;case 11:case 13:case 15:break f;case 10:case 12:case 14:break k;default:break A}e=3;break r}e=4;break r}e=0}if(r=e,e=s[A+20|0],e=(e|0)==24&&(k|0)==10?8:e,Z=(k|0)==11&&(e|0)==32?8:e,e=Z+7>>>3|0,k=u+1|0,p=k>>>0<64?64:k&-2,k=m(e,m(r,p))+15&-16,r=t+1|0,W=r>>>0<64?64:r&-2,_=U(m(k,W)|15),r=_&15,C=(r?16-r|0:0)+_|0,i[A+28>>2]>0)for(r=0;l0(m(r,k)+C|0,i[A+40>>2]+m(i[A+48>>2],r)|0,i[A+24>>2]),r=r+1|0,(r|0)>2];);i[A+48>>2]=k,i[A+44>>2]=_,i[A+40>>2]=C,i[A+36>>2]=W,i[A+32>>2]=p,i[A+28>>2]=t,i[A+24>>2]=u,l[A+20|0]=Z}i:{if((o|0)<=0||(k=0,(u|0)<=(h|0)))break i;for(;;){if(r=h,(u|0)>(r|0))for(;t=i[A+40>>2]+m(i[A+48>>2],k)|0,l0(t+m(e,r)|0,t+m(i[A+24>>2]-1|0,e)|0,e),r=r+1|0,u=i[n+12>>2],(r|0)<(u|0););if(k=k+1|0,(k|0)==(o|0))break}t=i[n+8>>2]}if((o|0)<(t|0))for(;h=i[A+40>>2],r=i[A+48>>2],l0(h+m(r,o)|0,h+m(r,i[A+28>>2]-1|0)|0,m(i[n+12>>2],e)),o=o+1|0,(o|0)>2];);r=i[A+4>>2];i:{if(r){for(;;)if(e=r,r=i[r>>2],!r)break i}for(;e=i[A+8>>2],r=i[e>>2]!=(A|0),A=e,!!r;);}if(A=e,(v|0)==(A|0))break}B=n+16|0,e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}function Zw(f,e,r,A,k,n,t,o,u){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0;var h=0,w=0,_=0,v=0,Z=0,p=0,W=0;h=B-32|0,B=h;i:{r:{e:{if(!(!e|!n)&&(_=(A|0)!=1970628964,k|_))break e;i[f>>2]=5,i[f+4>>2]=2001,i[f+8>>2]=7049;break r}w=U(80),i[w+4>>2]=0,i[w+8>>2]=0,i[w>>2]=72464,v=w+16|0,i[v+8>>2]=0,i[v+12>>2]=0,i[v+16>>2]=0,i[v+20>>2]=0,i[v+24>>2]=0,i[v+28>>2]=0,i[v+32>>2]=0,i[v>>2]=68500,i[w+60>>2]=0,i[w+52>>2]=0,i[w+56>>2]=0,i[v>>2]=68664,i[w+72>>2]=0,i[w+64>>2]=0,i[w+68>>2]=0,i[w+32>>2]=A;e:{if(_||(A=U(16),i[h+20>>2]=A,Z=A+16|0,i[h+28>>2]=Z,_=s[k+12|0]|s[k+13|0]<<8|(s[k+14|0]<<16|s[k+15|0]<<24),p=s[k+8|0]|s[k+9|0]<<8|(s[k+10|0]<<16|s[k+11|0]<<24),l[A+8|0]=p,l[A+9|0]=p>>>8,l[A+10|0]=p>>>16,l[A+11|0]=p>>>24,l[A+12|0]=_,l[A+13|0]=_>>>8,l[A+14|0]=_>>>16,l[A+15|0]=_>>>24,_=s[k+4|0]|s[k+5|0]<<8|(s[k+6|0]<<16|s[k+7|0]<<24),k=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),l[A|0]=k,l[A+1|0]=k>>>8,l[A+2|0]=k>>>16,l[A+3|0]=k>>>24,l[A+4|0]=_,l[A+5|0]=_>>>8,l[A+6|0]=_>>>16,l[A+7|0]=_>>>24,i[h+24>>2]=Z,i[v+16>>2]=1970628964,k=v+20|0,A=h+20|0,(k|0)!=(A|0)&&(Z=k,k=i[A>>2],A=i[A+4>>2],W8(Z,k,A,A-k|0)),A=i[h+20>>2],!A))break e;i[h+24>>2]=A,G(A)}if(i[h+28>>2]=0,i[h+20>>2]=0,i[h+24>>2]=0,A=0,t){if((t|0)<0)break i;A=U(t),i[h+20>>2]=A,W=A+t|0,i[h+28>>2]=W,l0(A,n,t),i[h+24>>2]=W}if(W8(w- -64|0,A,W,W-A|0),e=i[e>>2],i[h+16>>2]=w,i[h+12>>2]=v,i[w+4>>2]=i[w+4>>2]+1,k=i[h+16>>2],i[h>>2]=i[h+12>>2],i[h+4>>2]=k,e=Q3(e,r,h,(o|0)!=0),u&&(i[u>>2]=e),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],A&&G(A),f=i[w+4>>2],i[w+4>>2]=f-1,f)break r;V[i[i[w>>2]+8>>2]](w),g(w)}B=h+32|0;return}y0(),P()}function dk(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;_=B-16|0,B=_,h=x0(t,100192),p=x0(t,100248),t=p,V[i[i[t>>2]+20>>2]](_+4|0,t),i[n>>2]=A;i:{r:switch(u=f,t=s[u|0],t-43|0){case 0:case 2:break r;default:break i}t=V[i[i[h>>2]+28>>2]](h,t<<24>>24)|0,o=i[n>>2],i[n>>2]=o+1,l[o|0]=t,u=f+1|0}i:{if(t=u,!((r-t|0)<=1|s[t|0]!=48|(s[t+1|0]|32)!=120))for(o=V[i[i[h>>2]+28>>2]](h,48)|0,u=i[n>>2],i[n>>2]=u+1,l[u|0]=o,o=V[i[i[h>>2]+28>>2]](h,l[t+1|0])|0,u=i[n>>2],i[n>>2]=u+1,l[u|0]=o,u=t+2|0,t=u;;){if(r>>>0<=t>>>0||(o=l[t|0],M2(),!(o-48>>>0<10|(o|32)-97>>>0<6)))break i;t=t+1|0}for(;;){if(r>>>0<=t>>>0||(o=l[t|0],M2(),o-48>>>0>=10))break i;t=t+1|0}}s[_+15|0]>>>7|0?o=i[_+8>>2]:o=s[_+15|0]&127;i:{if(!o){V[i[i[h>>2]+32>>2]](h,u,t,i[n>>2])|0,i[n>>2]=i[n>>2]+(t-u|0);break i}for(li(u,t),C=V[i[i[p>>2]+16>>2]](p)|0,o=u;;){if(t>>>0<=o>>>0)li((u-f|0)+A|0,i[n>>2]);else{w=_+4|0;r:{if(s[w+11|0]>>>7|0){v=i[w>>2];break r}v=w}I=l[v+W|0]<=0,s[w+11|0]>>>7|0?v=i[w>>2]:v=w,I|l[v+W|0]!=(Z|0)||(Z=i[n>>2],i[n>>2]=Z+1,l[Z|0]=C,s[w+11|0]>>>7|0?w=i[w+4>>2]:w=s[w+11|0]&127,W=(w-1>>>0>W>>>0)+W|0,Z=0),w=V[i[i[h>>2]+28>>2]](h,l[o|0])|0,v=i[n>>2],i[n>>2]=v+1,l[v|0]=w,o=o+1|0,Z=Z+1|0;continue}break}}for(;;){i:{r:{if(r>>>0<=t>>>0){o=t;break r}if(o=t+1|0,t=l[t|0],(t|0)!=46)break i;t=V[i[i[p>>2]+12>>2]](p)|0,u=i[n>>2],i[n>>2]=u+1,l[u|0]=t}V[i[i[h>>2]+32>>2]](h,o,r,i[n>>2])|0,t=n,n=i[n>>2]+(r-o|0)|0,i[t>>2]=n,i[k>>2]=(e|0)==(r|0)?n:(e-f|0)+A|0,z0(_+4|0),B=_+16|0;return}t=V[i[i[h>>2]+28>>2]](h,t)|0,u=i[n>>2],i[n>>2]=u+1,l[u|0]=t,t=o}}function pw(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0;n=B-16|0,B=n,e=U(136),i[e+4>>2]=0,i[e+8>>2]=0,i[e>>2]=72792,B0(e+20|0,0,104),A=i[e+4>>2],o=A+1|0,i[e+4>>2]=o,i[e+56>>2]=0,i[e+60>>2]=0,i[e+44>>2]=99,i[e+48>>2]=99,i[e+32>>2]=3795,t=e- -64|0,i[t>>2]=0,i[t+4>>2]=0,i[e+132>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,i[e+84>>2]=1,i[e+88>>2]=1,i[e+72>>2]=e+76,i[e+92>>2]=0,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+112>>2]=0,l[e+113|0]=0,l[e+114|0]=0,l[e+115|0]=0,l[e+116|0]=0,l[e+117|0]=0,l[e+118|0]=0,l[e+119|0]=0,l[e+120|0]=0,t=e+12|0,i[e+12>>2]=t,i[e+8>>2]=i[e+8>>2]+1,i[e+4>>2]=A,i[e+16>>2]=e,o||(V[i[i[e>>2]+8>>2]](e),g(e)),A=i[r>>2],o=i[A+24>>2],u=i[A+28>>2],_=i[A+32>>2],i[t+36>>2]=i[A+36>>2],i[t+32>>2]=_,i[t+28>>2]=u,i[t+24>>2]=o;i:{r:{for(;;){A=i[v+41232>>2];e:{if(!H2(i[r>>2],A))break e;if(o=y4(i[r>>2],A),Z=F4(i[r>>2],A),!J0(t,A,o,Z,i[k+12>>2]))break r;if(u=U0(i[r>>2],A),w=i[k+12>>2],E=v0(i[r>>2],A,n+12|0),J=v0(t,A,n+8|0),I=i[n+8>>2]/2|0,i[n+8>>2]=I,(Z|0)<=0|(o|0)<=0)break e;for(_=(u<<1)-w|0,w=w-u|0,R=i[n+12>>2],D=o&2147483646,z=o&1,u=0;;){if(p=m(u,R)+E|0,W=(m(u,I)<<1)+J|0,A=0,C=0,(o|0)!=1)for(;h=s[A+p|0],X[(A<<1)+W>>1]=h<>>_,y=A|1,h=s[y+p|0],X[(y<<1)+W>>1]=h<>>_,A=A+2|0,C=C+2|0,(D|0)!=(C|0););if(z&&(h=(A<<1)+W|0,A=s[A+p|0],X[h>>1]=A<>>_),u=u+1|0,(Z|0)==(u|0))break}}if(v=v+4|0,(v|0)==28)break}i[f+4>>2]=e,i[f>>2]=t;break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[e+4>>2],i[e+4>>2]=f-1,f)break i;V[i[i[e>>2]+8>>2]](e),g(e)}B=n+16|0}function Jr(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;u=B-16|0,B=u,n=U(88),i[n+4>>2]=0,i[n+8>>2]=0,i[n>>2]=71704,h=n+16|0,i[h+8>>2]=0,i[h+12>>2]=0,i[h+16>>2]=0,i[h+20>>2]=0,i[h+24>>2]=0,i[h+28>>2]=0,i[h+32>>2]=0,i[h>>2]=68500,i[n+52>>2]=0,i[n+56>>2]=0,i[n+68>>2]=0,l[n+57|0]=0,l[n+58|0]=0,l[n+59|0]=0,l[n+60|0]=0,l[n+61|0]=0,l[n+62|0]=0,l[n+63|0]=0,l[n+64|0]=0,i[h>>2]=69672,i[n+80>>2]=0,i[n+72>>2]=0,i[n+76>>2]=0,i[n+32>>2]=1885960297,t=U(1),l[t|0]=r,r=t+1|0,i[n+80>>2]=r,i[n+72>>2]=t,i[n+76>>2]=r;i:{if(A|k){v=U(2),l[v+1|0]=A,l[v|0]=s[t|0],o=v+2|0,i[n+80>>2]=o,i[n+76>>2]=o,r=i[n+72>>2],i[n+72>>2]=v;r:{e:{if(!r){t=o;break e}if(G(r),i[n+76>>2]=o,t=i[n+80>>2],o>>>0>=t>>>0)break e;l[v+2|0]=k,k=v+3|0;break r}if(_=i[n+72>>2],r=o-_|0,w=r+1|0,(w|0)<0)break i;t=t-_|0,A=t<<1,w=t>>>0>=1073741823?2147483647:A>>>0>w>>>0?A:w,w?t=U(w):t=0,A=r+t|0,l[A|0]=k,Z=t+w|0,k=A+1|0;e:{if((o|0)==(_|0)){t=A;break e}if(w=r&3,w)for(r=0;A=A-1|0,o=o-1|0,l[A|0]=s[o|0],r=r+1|0,(w|0)!=(r|0););if((v-_|0)+1>>>0>=3)for(;l[A-1|0]=s[o-1|0],l[A-2|0]=s[o-2|0],l[A-3|0]=s[o-3|0],A=A-4|0,o=o-4|0,l[A|0]=s[o|0],(o|0)!=(_|0););_=i[n+72>>2]}if(i[n+80>>2]=Z,i[n+76>>2]=k,i[n+72>>2]=t,!_)break r;G(_)}i[n+76>>2]=k}r=i[f+44>>2],i[u+12>>2]=n,i[u+8>>2]=h,i[n+4>>2]=i[n+4>>2]+1,A=N4(r,u+8|0),k=i[u+12>>2];r:{if(!k||(r=i[k+4>>2],i[k+4>>2]=r-1,r))break r;V[i[i[k>>2]+8>>2]](k),g(k)}f=i[f+52>>2],X[u+6>>1]=A+1,l[u+4|0]=0,i[u>>2]=Q[u+4>>1]|Q[u+6>>1]<<16,c1(f,e,u),f=i[n+4>>2],i[n+4>>2]=f-1,f||(V[i[i[n>>2]+8>>2]](n),g(n)),B=u+16|0;return}y0(),P()}function Ww(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;if(t=B-32|0,B=t,u=V[i[i[e>>2]+32>>2]](e,r,0)|0,A2(r,s[e+48|0]),A2(r,(s[e+51|0]&31|(s[e+50|0]<<5|s[e+49|0]<<6))&255),l2(r,i[e+52>>2]),A=s[e+56|0],k=A>>>4|0,k=k&2|(k&1|(A>>>2&2|(A&4|A<<2&8)))<<2,A=A>>>6|0,A2(r,((k|A&1)<<2|A)&254),A=i[e+56>>2],k=A>>>10|0,n=k&2|(A>>>8&2|k&1)<<2,k=A>>>12|0,A=A>>>14|0,A2(r,(((n|k&1)<<2|k&2|A&1)<<2|A&2)&254),A=i[e+56>>2],k=A>>>18|0,n=k&2|(A>>>16&2|k&1)<<2,k=A>>>20|0,A=A>>>22|0,A2(r,(((n|k&1)<<2|k&2|A&1)<<2|A&2)&254),A=i[e+56>>2],k=A>>>26|0,n=k&2|(A>>>24&2|k&1)<<2,k=A>>>28|0,A=A>>>30|0,A2(r,(((n|k&1)<<2|k&2|A&1)<<2|A)&254),A=s[e+60|0],k=A>>>4|0,k=k&2|(k&1|(A>>>2&2|(A&4|A<<2&8)))<<2,A=A>>>6|0,A2(r,((k|A&1)<<2|A)&254),A=i[e+60>>2],k=A>>>10|0,n=k&2|(A>>>8&2|k&1)<<2,k=A>>>12|0,A=A>>>14|0,A2(r,(((n|k&1)<<2|k&2|A&1)<<2|A&2)&254),A2(r,s[e+64|0]),w2(r,Q[e+66>>1]|61440),A2(r,s[e+68|0]|252),A2(r,s[e+69|0]|252),A2(r,s[e+70|0]|248),A2(r,s[e+71|0]|248),w2(r,Q[e+72>>1]),A2(r,(s[e+80|0]-1&3|(s[e+76|0]<<2&4|(s[e+75|0]<<3&56|s[e+74|0]<<6)))&255),A2(r,i[e+88>>2]-i[e+84>>2]>>>4&255),A=i[e+84>>2],n=i[e+88>>2],(A|0)!=(n|0))for(;;){if(A2(r,s[A|0]<<6&64|s[A+1|0]&63),w2(r,(i[A+8>>2]-i[A+4>>2]|0)/12&65535),k=i[A+4>>2],o=i[A+8>>2],(k|0)!=(o|0))for(;w2(r,i[k+4>>2]-i[k>>2]&65535),D4(r,k),k=k+12|0,(o|0)!=(k|0););if(A=A+16|0,(n|0)==(A|0))break}Y4(t+12|0,e,r,u),l[t+31|0]<0&&G(i[t+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=t+32|0}function Xw(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0;A=B-16|0,B=A;i:{r:{if(!i[f+64>>2]){n=-1;break r}r=i[f+92>>2]&8,r||(i[f+28>>2]=0,i[f+20>>2]=0,i[f+24>>2]=0,n=s[f+98|0],e=i[(n?32:56)+f>>2],n=e+i[(n?52:60)+f>>2]|0,i[f+16>>2]=n,i[f+12>>2]=n,i[f+8>>2]=e,i[f+92>>2]=8),i[f+12>>2]||(e=A+16|0,i[f+16>>2]=e,i[f+12>>2]=e,i[f+8>>2]=A+15),r&&(e=i[f+16>>2],r=i[f+8>>2],i[A+4>>2]=4,i[A+8>>2]=(e-r|0)/2,e=B-16|0,B=e,B=e+16|0,e=A+4|0,r=A+8|0,t=i[(k0[e>>2]>2]?e:r)>>2]),n=-1,e=i[f+16>>2];e:{if((e|0)==i[f+12>>2]){if(F2(i[f+8>>2],e-t|0,t),s[f+98|0]==1){if(e=i[f+8>>2]+t|0,e=u9(e,i[f+16>>2]-e|0,i[f+64>>2]),!e)break e;r=i[f+8>>2],n=i[f+8>>2]+t|0,i[f+16>>2]=e+(i[f+8>>2]+t|0),i[f+12>>2]=n,i[f+8>>2]=r,n=s[i[f+12>>2]];break e}e=i[f+40>>2],r=i[f+36>>2];A:{if((e|0)==(r|0)){r=e;break A}F2(i[f+32>>2],r,e-r|0),e=i[f+36>>2],r=i[f+40>>2]}if(k=i[f+32>>2],e=r-e|0,i[f+36>>2]=k+e,r=(k|0)==(f+44|0)?8:i[f+52>>2],i[f+40>>2]=r+k,i[A+8>>2]=i[f+60>>2]-t,i[A+4>>2]=r-e,e=B-16|0,B=e,B=e+16|0,r=A+4|0,e=A+8|0,r=i[(k0[r>>2]>2]?r:e)>>2],k=i[f+76>>2],i[f+80>>2]=i[f+72>>2],i[f+84>>2]=k,k=u9(i[f+36>>2],r,i[f+64>>2]),!k)break e;if(r=i[f+68>>2],!r)break i;k=k+i[f+36>>2]|0,i[f+40>>2]=k,o=k,k=i[f+8>>2];A:{if((V[i[i[r>>2]+16>>2]](r,f+72|0,i[f+32>>2],o,f+36|0,k+t|0,k+i[f+60>>2]|0,e)|0)==3){e=i[f+32>>2],i[f+16>>2]=i[f+40>>2],i[f+12>>2]=e,i[f+8>>2]=e;break A}if(e=i[A+8>>2],r=i[f+8>>2],t=r+t|0,(e|0)==(t|0))break e;i[f+16>>2]=e,i[f+12>>2]=t,i[f+8>>2]=r}n=s[i[f+12>>2]];break e}n=s[i[f+12>>2]]}if(i[f+8>>2]!=(A+15|0))break r;i[f+16>>2]=0,i[f+12>>2]=0,i[f+8>>2]=0}return B=A+16|0,n|0}u1(),P()}function Gw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,o=A+8|0,l[78275]>=0){k=i[19567],i[o>>2]=i[19566],i[o+4>>2]=k,i[o+8>>2]=i[19568];break i}_0(o,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]);i:{r:{if(s[e+48|0]){h4(f,e,15336);break r}if(B4(A+20|0,r),l[e+67|0]<0&&G(i[e+56>>2]),k=i[A+24>>2],i[e+56>>2]=i[A+20>>2],i[e+60>>2]=k,i[e+64>>2]=i[A+28>>2],i[r+16>>2])for(;;){w=B2(r),h=i[e+72>>2],k=i[e+76>>2];e:{if(h>>>0>>0){l[h|0]=w,_=h+1|0;break e}if(u=i[e+68>>2],o=h-u|0,t=o+1|0,(t|0)<0)break i;n=k-u|0,k=n<<1,n=n>>>0>=1073741823?2147483647:k>>>0>t>>>0?k:t,n?k=U(n):k=0,t=o+k|0,l[t|0]=w,w=k+n|0,_=t+1|0;A:{if((u|0)==(h|0)){k=t;break A}if(v=0,n=h,o=o&3,o)for(;t=t-1|0,n=n-1|0,l[t|0]=s[n|0],v=v+1|0,(o|0)!=(v|0););if(u-h>>>0<=4294967292)for(;l[t-1|0]=s[n-1|0],l[t-2|0]=s[n-2|0],l[t-3|0]=s[n-3|0],t=t-4|0,n=n-4|0,l[t|0]=s[n|0],(n|0)!=(u|0););u=i[e+68>>2]}if(i[e+76>>2]=w,i[e+72>>2]=_,i[e+68>>2]=k,!u)break e;G(u)}if(i[e+72>>2]=_,!i[r+16>>2])break}if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(f,2,100,A+20|0),l[A+31|0]>=0)break r;G(i[A+20>>2]);break r}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,e=f+8|0,l[78275]>=0){f=i[19567],i[e>>2]=i[19566],i[e+4>>2]=f,i[e+8>>2]=i[19568];break r}_0(e,i[19566],i[19567])}B=A+32|0;return}y0(),P()}function Cw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;k=B-16|0,B=k,v=e,Z=B2(r),l[v+48|0]=Z,v=e,Z=B2(r),l[v+49|0]=Z,v=e,Z=B2(r),l[v+50|0]=Z,v=e,Z=B2(r),l[v+51|0]=Z,v=e,Z=(B2(r)&3)+1|0,l[v+52|0]=Z;i:{if(h=B2(r)&31,!h)break i;for(_=e+56|0;;){t=t2(r),i[k+12>>2]=0,i[k+4>>2]=0,i[k+8>>2]=0,n=0,A=0,t&&(A=U(t),i[k+4>>2]=A,n=A+t|0,i[k+12>>2]=n,B0(A,0,t),i[k+8>>2]=n),D6(r,A,n-A|0);r:{A=i[e+60>>2];e:{if(A>>>0>2]){if(i[A+8>>2]=0,i[A>>2]=0,i[A+4>>2]=0,n=i[k+8>>2],o=i[k+4>>2],(n|0)!=(o|0)){if(n=n-o|0,(n|0)<0)break r;t=U(n),i[A+4>>2]=t,i[A>>2]=t,w=n+t|0,i[A+8>>2]=w,l0(t,o,n),i[A+4>>2]=w}A=A+12|0;break e}A=v6(_,k+4|0)}if(i[e+60>>2]=A,A=i[k+4>>2],A&&(i[k+8>>2]=A,G(A)),u=u+1|0,(h|0)!=(u|0))continue;break i}break}y0(),P()}i:{if(h=B2(r),!h)break i;for(_=e+68|0,u=0;;){t=t2(r),i[k+12>>2]=0,i[k+4>>2]=0,i[k+8>>2]=0,n=0,A=0,t&&(A=U(t),i[k+4>>2]=A,n=A+t|0,i[k+12>>2]=n,B0(A,0,t),i[k+8>>2]=n),D6(r,A,n-A|0);r:{A=i[e+72>>2];e:{if(A>>>0>2]){if(i[A+8>>2]=0,i[A>>2]=0,i[A+4>>2]=0,n=i[k+8>>2],o=i[k+4>>2],(n|0)!=(o|0)){if(n=n-o|0,(n|0)<0)break r;t=U(n),i[A+4>>2]=t,i[A>>2]=t,w=n+t|0,i[A+8>>2]=w,l0(t,o,n),i[A+4>>2]=w}A=A+12|0;break e}A=v6(_,k+4|0)}if(i[e+72>>2]=A,A=i[k+4>>2],A&&(i[k+8>>2]=A,G(A)),u=u+1|0,(h|0)!=(u|0))continue;break i}break}y0(),P()}i:{if(s[r+20|0]==1){if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,100,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+16|0}function Vw(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;f=B-480|0,B=f,t=f+476|0,o=i[A+28>>2],i[t>>2]=o,(o|0)!=100008&&(i[o+4>>2]=i[o+4>>2]+1),p=x0(t,100184),s[n+11|0]>>>7|0?t=i[n+4>>2]:t=s[n+11|0]&127,t&&(s[n+11|0]>>>7|0?t=i[n>>2]:t=n,W=i[t>>2]==(V[i[i[p>>2]+44>>2]](p,45)|0)),t=B-16|0,B=t,_=f+452|0,i[_>>2]=0,i[_+4>>2]=0,i[_+8>>2]=0,B=t+16|0,t=B-16|0,B=t,u=f+440|0,i[u>>2]=0,i[u+4>>2]=0,i[u+8>>2]=0,B=t+16|0,t=B-16|0,B=t,h=f+428|0,i[h>>2]=0,i[h+4>>2]=0,i[h+8>>2]=0,B=t+16|0,Zn(r,W,f+476|0,f+472|0,f+468|0,f+464|0,_,u,h,f+424|0),i[f+16>>2]=1094,r=f+16|0,w=o1(f+8|0,0,r);i:{s[n+11|0]>>>7|0?t=i[n+4>>2]:t=s[n+11|0]&127;r:{if((t|0)>i[f+424>>2]){s[n+11|0]>>>7|0?o=i[n+4>>2]:o=s[n+11|0]&127,t=i[f+424>>2],s[u+11|0]>>>7|0?v=i[u+4>>2]:v=s[u+11|0]&127,s[h+11|0]>>>7|0?Z=i[h+4>>2]:Z=s[h+11|0]&127,t=(t+(v+(Z+(o-t<<1)|0)|0)|0)+1|0;break r}v=i[f+424>>2],s[h+11|0]>>>7|0?t=i[h+4>>2]:t=s[h+11|0]&127,s[u+11|0]>>>7|0?o=i[u+4>>2]:o=s[u+11|0]&127,t=(v+(t+o|0)|0)+2|0}if(t>>>0<101||(r=Z2(t<<2),t=i[w>>2],i[w>>2]=r,t&&V[i[w+4>>2]](t),r=i[w>>2],r))break i;u1(),P()}return v=f+4|0,Z=i[A+4>>2],s[n+11|0]>>>7|0?t=i[n>>2]:t=n,o=t,s[n+11|0]>>>7|0?t=i[n>>2]:t=n,s[n+11|0]>>>7|0?n=i[n+4>>2]:n=s[n+11|0]&127,Lk(r,v,f,Z,o,t+(n<<2)|0,p,W,f+472|0,i[f+468>>2],i[f+464>>2],_,u,h,i[f+424>>2]),e=X8(e,r,i[f+4>>2],i[f>>2],A,k),r=i[w>>2],i[w>>2]=0,r&&V[i[w+4>>2]](r),l1(h),l1(u),z0(_),O0(f+476|0),B=f+480|0,e|0}function Iw(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;f=B-176|0,B=f,t=f+172|0,o=i[A+28>>2],i[t>>2]=o,(o|0)!=100008&&(i[o+4>>2]=i[o+4>>2]+1),p=x0(t,100192),s[n+11|0]>>>7|0?t=i[n+4>>2]:t=s[n+11|0]&127,t&&(s[n+11|0]>>>7|0?t=i[n>>2]:t=n,W=s[t|0]==(V[i[i[p>>2]+28>>2]](p,45)&255)),t=B-16|0,B=t,_=f+152|0,i[_>>2]=0,i[_+4>>2]=0,i[_+8>>2]=0,B=t+16|0,t=B-16|0,B=t,u=f+140|0,i[u>>2]=0,i[u+4>>2]=0,i[u+8>>2]=0,B=t+16|0,t=B-16|0,B=t,h=f+128|0,i[h>>2]=0,i[h+4>>2]=0,i[h+8>>2]=0,B=t+16|0,Wn(r,W,f+172|0,f+168|0,f+167|0,f+166|0,_,u,h,f+124|0),i[f+16>>2]=1094,r=f+16|0,w=o1(f+8|0,0,r);i:{s[n+11|0]>>>7|0?t=i[n+4>>2]:t=s[n+11|0]&127;r:{if((t|0)>i[f+124>>2]){s[n+11|0]>>>7|0?o=i[n+4>>2]:o=s[n+11|0]&127,t=i[f+124>>2],s[u+11|0]>>>7|0?v=i[u+4>>2]:v=s[u+11|0]&127,s[h+11|0]>>>7|0?Z=i[h+4>>2]:Z=s[h+11|0]&127,t=(t+(v+(Z+(o-t<<1)|0)|0)|0)+1|0;break r}v=i[f+124>>2],s[h+11|0]>>>7|0?t=i[h+4>>2]:t=s[h+11|0]&127,s[u+11|0]>>>7|0?o=i[u+4>>2]:o=s[u+11|0]&127,t=(v+(t+o|0)|0)+2|0}if(t>>>0<101||(r=Z2(t),t=i[w>>2],i[w>>2]=r,t&&V[i[w+4>>2]](t),r=i[w>>2],r))break i;u1(),P()}return v=f+4|0,Z=i[A+4>>2],s[n+11|0]>>>7|0?t=i[n>>2]:t=n,o=t,s[n+11|0]>>>7|0?t=i[n>>2]:t=n,s[n+11|0]>>>7|0?n=i[n+4>>2]:n=s[n+11|0]&127,Kk(r,v,f,Z,o,t+n|0,p,W,f+168|0,l[f+167|0],l[f+166|0],_,u,h,i[f+124>>2]),e=G8(e,r,i[f+4>>2],i[f>>2],A,k),r=i[w>>2],i[w>>2]=0,r&&V[i[w+4>>2]](r),z0(h),z0(u),z0(_),O0(f+172|0),B=f+176|0,e|0}function Qw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;k=B-32|0,B=k,A=D0(r),i[e+52>>2]=A&16777215,l[e+48|0]=A>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[k+20|0]=0,l[k+31|0]=0,r0(k,2,100,k+20|0),l[k+31|0]>=0)break i;G(i[k+20>>2]);break i}if(A=i[19565],i[k>>2]=i[19564],i[k+4>>2]=A,A=k+8|0,l[78275]>=0){n=i[19567],i[A>>2]=i[19566],i[A+4>>2]=n,i[A+8>>2]=i[19568];break i}_0(A,i[19566],i[19567])}l[k+19|0]<0&&G(i[k+8>>2]);i:{if(s[e+48|0]){h4(f,e,8812);break i}if(A=D0(r),(A|0)<0){if(e=U(32),i[k+20>>2]=e,i[k+24>>2]=30,i[k+28>>2]=-2147483616,r=s[17430]|s[17431]<<8|(s[17432]<<16|s[17433]<<24),A=s[17426]|s[17427]<<8|(s[17428]<<16|s[17429]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+30|0]=0,r=s[17452]|s[17453]<<8|(s[17454]<<16|s[17455]<<24),A=s[17448]|s[17449]<<8|(s[17450]<<16|s[17451]<<24),l[e+22|0]=A,l[e+23|0]=A>>>8,l[e+24|0]=A>>>16,l[e+25|0]=A>>>24,l[e+26|0]=r,l[e+27|0]=r>>>8,l[e+28|0]=r>>>16,l[e+29|0]=r>>>24,r=s[17446]|s[17447]<<8|(s[17448]<<16|s[17449]<<24),A=s[17442]|s[17443]<<8|(s[17444]<<16|s[17445]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[17438]|s[17439]<<8|(s[17440]<<16|s[17441]<<24),A=s[17434]|s[17435]<<8|(s[17436]<<16|s[17437]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,6,1e3,k+20|0),l[k+31|0]>=0)break i;G(i[k+20>>2]);break i}Yr(f,e,r,A)}B=k+32|0}function P1(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0;if(o=B-16|0,B=o,n=i[f+76>>2],!n){k=U(88),i[k+4>>2]=0,i[k+8>>2]=0,i[k>>2]=71184,n=k+16|0,i[n+8>>2]=0,i[n+12>>2]=0,i[n+16>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,i[n+28>>2]=0,i[n+32>>2]=0,i[n>>2]=68500,i[k+52>>2]=0,i[k+56>>2]=0,i[k+68>>2]=0,l[k+57|0]=0,l[k+58|0]=0,l[k+59|0]=0,l[k+60|0]=0,l[k+61|0]=0,l[k+62|0]=0,l[k+63|0]=0,l[k+64|0]=0,i[n>>2]=69612,i[k+80>>2]=0,i[k+72>>2]=0,i[k+76>>2]=0,i[k+32>>2]=1769104742,i[f+76>>2]=n,t=i[f+80>>2],i[f+80>>2]=k;i:{r:{e:{A:{f:{if(!t){t=i[f+36>>2],i[o+12>>2]=k,i[o+8>>2]=n;break f}if(k=i[t+4>>2],i[t+4>>2]=k-1,k||(V[i[i[t>>2]+8>>2]](t),g(t)),t=i[f+36>>2],n=i[f+76>>2],k=i[f+80>>2],i[o+12>>2]=k,i[o+8>>2]=n,!k)break A}if(i[k+4>>2]=i[k+4>>2]+1,h=t+40|0,u=i[t+40>>2],u>>>0>=k0[t+44>>2])break r;i[u+4>>2]=k,i[u>>2]=n,i[k+4>>2]=i[k+4>>2]+1;break e}if(h=t+40|0,u=i[t+40>>2],u>>>0>=k0[t+44>>2])break r;i[u+4>>2]=0,i[u>>2]=n}k=u+8|0;break i}k=Q2(t+36|0,o+8|0)}i[h>>2]=k,k=i[o+12>>2];i:{if(!k||(n=i[k+4>>2],i[k+4>>2]=n-1,n))break i;V[i[i[k>>2]+8>>2]](k),g(k)}n=i[f+76>>2]}f=B+-64|0,B=f,i[f+24>>2]=0,i[f+28>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+40>>2]=0,i[f+24>>2]=r,i[f+16>>2]=0,i[f+20>>2]=0,i[f+60>>2]=0,i[f+52>>2]=0,i[f+56>>2]=0,i[f+48>>2]=e,i[f+8>>2]=68500,e=f+52|0,(e|0)!=(A|0)&&(k=e,e=i[A>>2],r=i[A+4>>2],ki(k,e,r,r-e>>2)),e=i[n+60>>2];i:{if(e>>>0>2]){Z6(e,f+8|0),e=e+56|0;break i}e=xA(n+56|0,f+8|0)}i[n+60>>2]=e,e=i[f+52>>2],e&&(i[f+56>>2]=e,G(e)),i[f+8>>2]=68500,e=i[f+28>>2],e&&(i[f+32>>2]=e,G(e)),B=f- -64|0,B=o+16|0}function yw(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0;k=B-48|0,B=k;i:{r:{if(!A){if(l[k+16|0]=0,l[k+27|0]=0,r=f,f=r0(k+28|0,5,2001,k+16|0),P0(r,f,i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),l[k+27|0]>=0)break r;G(i[k+16>>2]);break r}n=i[e>>2],i[k+24>>2]=0,i[k+16>>2]=0,i[k+20>>2]=0,o=i[n+152>>2],u=i[n+156>>2];e:{if((o|0)!=(u|0)){if(n=u-o|0,(n|0)<0)break i;for(t=U(n),i[k+16>>2]=t,i[k+24>>2]=n+t,n=t;i[n>>2]=i[o>>2],h=n,n=i[o+4>>2],i[h+4>>2]=n,n&&(i[n+4>>2]=i[n+4>>2]+1),n=h+8|0,o=o+8|0,(u|0)!=(o|0););for(i[k+20>>2]=n,o=t;;){if(u=i[o>>2],i[u+20>>2]==(r|0)){r=U(16),i[r>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,i[A>>2]=r,n=i[o+4>>2];A:{if(!n){i[r+4>>2]=n,i[r>>2]=u;break A}if(i[n+4>>2]=i[n+4>>2]+1,i[r>>2]=u,t=i[r+4>>2],i[r+4>>2]=n,!t||(r=i[t+4>>2],i[t+4>>2]=r-1,r))break A;V[i[i[t>>2]+8>>2]](t),g(t)}r=i[e+8>>2],A=i[A>>2],t=i[e+12>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[A+8>>2]=r,r=i[A+12>>2],i[A+12>>2]=t;A:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break A;V[i[i[r>>2]+8>>2]](r),g(r)}P0(f,78256,i[e>>2]),t=i[k+16>>2];break e}if(n=(o|0)!=(h|0),o=o+8|0,!n)break}}if(l[k+4|0]=0,l[k+15|0]=0,r=r0(k+28|0,5,2e3,k+4|0),l[k+15|0]<0&&G(i[k+4>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break e;G(i[r+8>>2])}if(!t)break r;if(f=t,o=i[k+20>>2],(o|0)!=(t|0)){for(;;){f=i[o-4>>2];e:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break e;V[i[i[f>>2]+8>>2]](f),g(f)}if(o=o-8|0,(o|0)==(t|0))break}f=i[k+16>>2]}i[k+20>>2]=t,G(f)}B=k+48|0;return}y0(),P()}function Fw(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0;k=B-48|0,B=k;i:{r:{if(!A){if(l[k+16|0]=0,l[k+27|0]=0,r=f,f=r0(k+28|0,5,2001,k+16|0),P0(r,f,i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),l[k+27|0]>=0)break r;G(i[k+16>>2]);break r}n=i[e>>2],i[k+24>>2]=0,i[k+16>>2]=0,i[k+20>>2]=0,o=i[n+36>>2],u=i[n+40>>2];e:{if((o|0)!=(u|0)){if(n=u-o|0,(n|0)<0)break i;for(t=U(n),i[k+16>>2]=t,i[k+24>>2]=n+t,n=t;i[n>>2]=i[o>>2],h=n,n=i[o+4>>2],i[h+4>>2]=n,n&&(i[n+4>>2]=i[n+4>>2]+1),n=h+8|0,o=o+8|0,(u|0)!=(o|0););for(i[k+20>>2]=n,o=t;;){if(u=i[o>>2],i[u+20>>2]==(r|0)){r=U(16),i[r>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,i[A>>2]=r,n=i[o+4>>2];A:{if(!n){i[r+4>>2]=n,i[r>>2]=u;break A}if(i[n+4>>2]=i[n+4>>2]+1,i[r>>2]=u,t=i[r+4>>2],i[r+4>>2]=n,!t||(r=i[t+4>>2],i[t+4>>2]=r-1,r))break A;V[i[i[t>>2]+8>>2]](t),g(t)}r=i[e+8>>2],A=i[A>>2],t=i[e+12>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[A+8>>2]=r,r=i[A+12>>2],i[A+12>>2]=t;A:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break A;V[i[i[r>>2]+8>>2]](r),g(r)}P0(f,78256,i[e>>2]),t=i[k+16>>2];break e}if(n=(o|0)!=(h|0),o=o+8|0,!n)break}}if(l[k+4|0]=0,l[k+15|0]=0,r=r0(k+28|0,5,2e3,k+4|0),l[k+15|0]<0&&G(i[k+4>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break e;G(i[r+8>>2])}if(!t)break r;if(f=t,o=i[k+20>>2],(o|0)!=(t|0)){for(;;){f=i[o-4>>2];e:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break e;V[i[i[f>>2]+8>>2]](f),g(f)}if(o=o-8|0,(o|0)==(t|0))break}f=i[k+16>>2]}i[k+20>>2]=t,G(f)}B=k+48|0;return}y0(),P()}function Ew(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,k=A+12|0,i[k+i[t-12>>2]>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),o=k,u=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:u,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(Q4(x(Q4(x(k,19560,17),i0[e+64>>3]),21692,2),i0[e+72>>3]),31338,1);i:{if(s[e+80|0]==1){n=A+148|0,W0(n,r),o=k,u=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:u,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(Q4(x(Q4(x(k,20510,14),i0[e+56>>3]),21692,2),i0[e+88>>3]),31338,1),n=A+148|0,W0(n,r),o=k,r=l[A+159|0],k=(r|0)<0,x(o,k?i[A+148>>2]:n,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),x(Q4(x(A+12|0,19553,6),i0[e+96>>3]),31338,1);break i}k=A+148|0,W0(k,r),o=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(Q4(x(k,20510,14),i0[e+56>>3]),31338,1),e=A+148|0,W0(e,r),n=e,e=l[A+159|0],r=(e|0)<0,x(k,r?i[A+148>>2]:n,r?i[A+152>>2]:e),l[A+159|0]<0&&G(i[A+148>>2]),x(A+12|0,21743,8)}i2(f,t),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function u6(f,e,r,A,k,n,t,o,u){var h=0,w=0,_=0,v=0;h=B-32|0,B=h,D8(h+24|0,i[e+48>>2],n),n=i[h+24>>2],l[n+124|0]=1,i[n+52>>2]=i[n+52>>2]&-2|1;i:{r:{if(!t)break r;if(_=i[h+24>>2],n=G2(t),n>>>0>=2147483640)break i;e:{A:{if(n>>>0>=11){v=(n|7)+1|0,w=U(v),i[h+20>>2]=v|-2147483648,i[h+12>>2]=w,i[h+16>>2]=n;break A}if(l[h+23|0]=n,w=h+12|0,!n)break e}l0(w,t,n)}l[n+w|0]=0,n=_+88|0;e:{if((n|0)==(h+12|0))break e;if(t=l[h+23|0],l[_+99|0]>=0){if((t|0)>=0){t=i[h+16>>2],i[n>>2]=i[h+12>>2],i[n+4>>2]=t,i[n+8>>2]=i[h+20>>2];break e}i4(n,i[h+12>>2],i[h+16>>2]);break e}w=n,n=(t|0)<0,_4(w,n?i[h+12>>2]:h+12|0,n?i[h+16>>2]:t)}if(l[h+23|0]>=0)break r;G(i[h+12>>2])}n=i[i[h+24>>2]+56>>2],u&&(i[u>>2]=n),t=i[e+48>>2],u=i[i[r>>2]+20>>2],r=U(4),i[h+12>>2]=r,w=r+4|0,i[h+20>>2]=w,i[r>>2]=u,i[h+16>>2]=w,P1(t,n,1667527523,h+12|0),r=i[h+12>>2],r&&(i[h+16>>2]=r,G(r)),i[h+20>>2]=0,i[h+12>>2]=0,i[h+16>>2]=0;r:{e:switch(o-3|0){case 1:if(l[h|0]=0,l[h+11|0]=0,r0(f,4,3005,h),l[h+11|0]>=0)break r;G(i[h>>2]);break r;case 0:if(l[h|0]=0,l[h+11|0]=0,r0(f,4,3005,h),l[h+11|0]>=0)break r;G(i[h>>2]);break r;default:break e}if(k?(L2(h+12|0,k),r=i[h+12>>2]):r=0,l0(r,A,k),hi(i[e+48>>2],n,h+12|0,0),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break r}_0(f,i[19566],i[19567])}f=i[h+12>>2],f&&(i[h+16>>2]=f,G(f)),f=i[h+28>>2];r:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}B=h+32|0;return}c2(),P()}function Yw(f){f=f|0;var e=0,r=0,A=0,k=0;he(f+120|0,i[f+124>>2]),e=i[f+116>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+108>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+100>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+92>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+84>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+76>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+68>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+60>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+52>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+44>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+36>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(e=i[f+20>>2],e){if(r=e,A=i[f+24>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+20>>2]}i[f+24>>2]=e,G(r)}f=i[f+16>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}}function Jw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,k=i[13708],i[A+12>>2]=k,n=i[k-12>>2],k=A+12|0,i[n+k>>2]=i[13709],o=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(o,n),i[o+72>>2]=0,i[o+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,o=$0(n),i[o>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),t=k,u=n,k=l[A+159|0],n=(k|0)<0,x(t,n?i[A+148>>2]:u,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(k,21642,25),x(L0(x(L0(x(k,18657,1),Q[e+48>>1]),16376,1),Q[e+54>>1]),21691,3),x(L0(x(L0(x(k,18657,1),Q[e+50>>1]),16376,1),Q[e+56>>1]),21691,3),x(L0(x(L0(x(k,18657,1),Q[e+52>>1]),16376,1),Q[e+58>>1]),31337,2),n=A+148|0,W0(n,r),t=k,u=n,k=l[A+159|0],n=(k|0)<0,x(t,n?i[A+148>>2]:u,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(L0(x(L0(x(k,18638,20),Q[e+60>>1]),16376,1),Q[e+62>>1]),31337,2),n=A+148|0,W0(n,r),t=k,u=n,k=l[A+159|0],n=(k|0)<0,x(t,n?i[A+148>>2]:u,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(L0(x(k,21146,33),i[e+64>>2]),31338,1),n=A+148|0,W0(n,r),t=k,r=l[A+159|0],k=(r|0)<0,x(t,k?i[A+148>>2]:n,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(L0(x(r,21180,33),i[e+68>>2]),31338,1),i2(f,o),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[o>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(o),T0(A+68|0),B=A+160|0}function ck(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;n=B-160|0,B=n,i[n+20>>2]=54496,i[n+76>>2]=54516,o=i[13633],i[n+12>>2]=o,h=n+12|0,i[h+i[o-12>>2]>>2]=i[13634],i[n+16>>2]=0,o=h+i[i[n+12>>2]-12>>2]|0,t=n+24|0,b0(o,t),i[o+72>>2]=0,i[o+76>>2]=-1,o=i[13635],i[n+20>>2]=o,u=i[o-12>>2],o=n+20|0,i[u+o>>2]=i[13636],u=i[13632],i[n+12>>2]=u,i[h+i[u-12>>2]>>2]=i[13637],i[n+76>>2]=54516,i[n+12>>2]=54476,i[n+20>>2]=54496,h=$0(t),i[h>>2]=53552,t=n- -64|0,i[t>>2]=0,i[t+4>>2]=0,i[n+56>>2]=0,i[n+60>>2]=0,i[n+72>>2]=24,t=i[n+20>>2]-12|0,u=o+i[t>>2]|0,i[u+4>>2]=i[u+4>>2]&-75|8,u=o+i[t>>2]|0,i[u+76>>2]==-1&&(w=n+156|0,t=i[u+28>>2],i[w>>2]=t,(t|0)!=100008&&(i[t+4>>2]=i[t+4>>2]+1),t=x0(w,100192),V[i[i[t>>2]+28>>2]](t,32)|0,O0(w)),i[u+76>>2]=48;i:{if(!r)break i;t=l[A+11|0],u=(t|0)<0,x(o,u?i[A>>2]:A,u?i[A+4>>2]:t),t=n+32|0,i[t+i[i[n+20>>2]-12>>2]>>2]=4,x(L0(o,0),21688,2),i[t+i[i[n+20>>2]-12>>2]>>2]=2,H0(o,s[e|0]);r:{if(u=r-1|0,u){A=1;break r}x(o,31338,1);break i}for(;;){r:{e:{A:{f:switch(w=A&15,w|0){case 0:break f;case 8:break A;default:break e}_=l[k+11|0],v=(_|0)<0,x(o,v?i[k>>2]:k,v?i[k+4>>2]:_),i[t+i[i[n+20>>2]-12>>2]>>2]=4,x(L0(o,A),21688,2);break r}x(o,21740,2);break r}x(o,21741,1)}if(i[t+i[i[n+20>>2]-12>>2]>>2]=2,H0(o,s[e+A|0]),(A|0)!=(u|0)&(w|0)!=15||x(o,31338,1),A=A+1|0,(A|0)==(r|0))break}}i2(f,h),f=i[13631],i[n+12>>2]=f,i[i[f-12>>2]+(n+12|0)>>2]=i[13639],i[n+20>>2]=i[13640],i[h>>2]=53552,l[n+67|0]<0&&G(i[n+56>>2]),K0(h),T0(n+76|0),B=n+160|0}function U8(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;h=255,n=i[e>>2],t=i[n+64>>2];i:{if(!t){w=-1,_=-1;break i}for(o=n- -64|0,k=o,n=t;u=i[n+16>>2]<(r|0),k=u?k:n,n=i[(u<<2)+n>>2],!!n;);for(_=-1,_=(k|0)==(o|0)|i[k+16>>2]>(r|0)?_:i[k+24>>2],k=o,n=t;u=i[n+16>>2]<(r|0),k=u?k:n,n=i[(u<<2)+n>>2],!!n;);for(w=-1,w=(k|0)==(o|0)|i[k+16>>2]>(r|0)?w:i[k+28>>2],n=o;k=i[t+16>>2]<(r|0),n=k?n:t,t=i[(k<<2)+t>>2],!!t;);if((n|0)==(o|0)|i[n+16>>2]>(r|0))break i;h=s[n+20|0]}J0(f,A,_,w,h),v=i[e>>2],e=v- -64|0;i:{r:{if(n=i[v+64>>2],!n)break r;for(k=e,t=n;o=i[t+16>>2]<(r|0),k=o?k:t,t=i[(o<<2)+t>>2],!!t;);if((e|0)==(k|0))break r;if(h=0,o=0,i[k+16>>2]>(r|0))break i;h=i[k+40>>2],o=i[k+48>>2];break i}h=0,o=0}t=i[f+64>>2],u=0;i:{if(!t)break i;for(u=f- -64|0,k=u;f=i[t+16>>2]<(A|0),k=f?k:t,t=i[(f<<2)+t>>2],!!t;);if((k|0)==(u|0)){u=0;break i}if(u=0,i[k+16>>2]>(A|0))break i;Z=i[k+48>>2],u=i[k+40>>2]}f=u;i:{if((r|0)==10){if(A=31,e=i[v+36>>2]-10|0,e>>>0>=6)break i;A=i[(e<<2)+35392>>2];break i}if(A=0,!n)break i;for(k=e;t=i[n+16>>2]<(r|0),k=t?k:n,n=i[(t<<2)+n>>2],!!n;);if((e|0)==(k|0)|i[k+16>>2]>(r|0))break i;A=(s[k+20|0]+7&248)>>>3|0}i:{if((w|0)<=0)break i;if(n=m(A,_),r=0,(w|0)!=1)for(A=w&2147483646,k=0;l0(f+m(r,Z)|0,m(r,o)+h|0,n),e=r|1,l0(f+m(e,Z)|0,m(e,o)+h|0,n),r=r+2|0,k=k+2|0,(A|0)!=(k|0););if(!(w&1))break i;l0(f+m(r,Z)|0,m(r,o)+h|0,n)}}function gw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0;A=B-160|0,B=A,i[A+68>>2]=54820,u=i[13708],i[A+12>>2]=u,k=A+12|0,i[k+i[u-12>>2]>>2]=i[13709],u=k+i[i[A+12>>2]-12>>2]|0,o=A+16|0,b0(u,o),i[u+72>>2]=0,i[u+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,u=$0(o),i[u>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,o=A+148|0,R2(o,e,r),n=k,t=o,k=l[A+159|0],o=(k|0)<0,x(n,o?i[A+148>>2]:t,o?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),n=k,k=l[A+159|0],o=(k|0)<0,x(A+12|0,o?i[A+148>>2]:n,o?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,h=x(k,20602,6),o=e+56|0,n=l[e+67|0],t=(n|0)<0,x(x(h,t?i[e+56>>2]:o,t?i[e+60>>2]:n),31338,1),n=A+148|0,W0(n,r),t=k,h=n,k=l[A+159|0],n=(k|0)<0,x(t,n?i[A+148>>2]:h,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,h=x(k,21086,6),n=l[e+79|0],t=(n|0)<0,x(x(h,t?i[e+68>>2]:e+68|0,t?i[e+72>>2]:n),31338,1),n=A+148|0,W0(n,r),t=k,h=n,k=l[A+159|0],n=(k|0)<0,x(t,n?i[A+148>>2]:h,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,h=x(k,20174,13),n=l[e+91|0],t=(n|0)<0,x(x(h,t?i[e+80>>2]:e+80|0,t?i[e+84>>2]:n),31338,1),n=A+148|0,W0(n,r),t=k,r=l[A+159|0],k=(r|0)<0,x(t,k?i[A+148>>2]:n,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,t=x(r,19842,6),n=o,k=l[e+67|0],o=(k|0)<0,x(x(t,o?i[e+56>>2]:n,o?i[e+60>>2]:k),31338,1),i2(f,u),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[u>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(u),T0(A+68|0),B=A+160|0}function Nw(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0,Z=0,p=0;h=B-16|0,B=h;i:{if(!wo(t,0)){i[f>>2]=5,i[f+4>>2]=2002,i[f+8>>2]=7709;break i}if(u=U(44),i[u+40>>2]=0,i[u+32>>2]=0,i[u+36>>2]=0,i[u+12>>2]=73364,i[u+4>>2]=0,i[u+8>>2]=0,i[u+28>>2]=n,i[u+24>>2]=k,i[u+20>>2]=A,i[u+16>>2]=r,i[u>>2]=73608,r=u+32|0,A=0,k=m(k,n)+7|0,k>>>0>=8&&(L2(r,k>>>3|0),_=i[u+36>>2],A=i[u+32>>2]),v=u+12|0,k=0,B0(A,0,_-A|0),A=ho(t,0),n=so(t,0),_=T6(t,0,h+12|0),!(!A|!n))for(;;){for(t=0;p=i[r>>2]+((Z&7)<<29|w>>>3)|0,l[p|0]=s[p|0]|(s[(_+m(i[h+12>>2],k)|0)+t|0]&128)>>>(w&7),w=w+1|0,Z=w?Z:Z+1|0,t=t+1|0,(n|0)!=(t|0););if(k=k+1|0,(A|0)==(k|0))break}r=i[e+8>>2],i[h+8>>2]=u,i[h+4>>2]=v,i[u+4>>2]=i[u+4>>2]+1,A=i[r+16>>2];r:{e:{if(A>>>0>2]){i[A+4>>2]=u,i[A>>2]=v,i[u+4>>2]=i[u+4>>2]+1,i[r+16>>2]=A+8,n=u;break e}if(A=Q2(r+12|0,h+4|0),n=i[h+8>>2],i[r+16>>2]=A,!n)break r}if(r=i[n+4>>2],i[n+4>>2]=r-1,r)break r;V[i[i[n>>2]+8>>2]](n),g(n)}r:{if(!o||(i[u+4>>2]=i[u+4>>2]+1,r=U(24),i[u+4>>2]=i[u+4>>2]+1,i[r+20>>2]=u,i[r+16>>2]=v,k=i[e+8>>2],A=i[e+12>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+12>>2]=A,i[r+8>>2]=k,A=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r+4>>2]=e,i[r>>2]=A,i[o>>2]=r,e=i[u+4>>2],i[u+4>>2]=e-1,e))break r;V[i[i[u>>2]+8>>2]](u),g(u)}if(e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[u+4>>2],i[u+4>>2]=f-1,f)break i;V[i[i[u>>2]+8>>2]](u),g(u)}B=h+16|0}function gr(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0;k=B-32|0,B=k,A=180,t=1;i:{r:{e:A:{f:switch(r-2|0){case 2:t=0;break r;case 3:A=270,o=1;break e;case 4:A=270;break A;case 5:A=270,t=0,o=1;break e;case 0:break r;case 1:break e;case 6:break f;default:break i}A=90}r=U(72),i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=71064,n=r+16|0,i[n+8>>2]=0,i[n+12>>2]=0,i[n+16>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,i[n+28>>2]=0,i[n+32>>2]=0,i[n>>2]=68500,i[r+60>>2]=0,i[r+52>>2]=0,i[r+56>>2]=0,i[n>>2]=69432,i[r+64>>2]=A,i[r+32>>2]=1769107316,A=i[f+44>>2],i[k+28>>2]=r,i[k+24>>2]=n,i[r+4>>2]=i[r+4>>2]+1,n=N4(A,k+24|0),A=i[k+28>>2];e:{if(!A||(u=i[A+4>>2],i[A+4>>2]=u-1,u))break e;V[i[i[A>>2]+8>>2]](A),g(A)}if(A=i[f+52>>2],X[k+22>>1]=n+1,l[k+20|0]=0,i[k+12>>2]=Q[k+20>>1]|Q[k+22>>1]<<16,c1(A,e,k+12|0),A=i[r+4>>2],i[r+4>>2]=A-1,A||(V[i[i[r>>2]+8>>2]](r),g(r)),!o)break i}r=U(72),i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=71104,A=r+16|0,i[A+8>>2]=0,i[A+12>>2]=0,i[A+16>>2]=0,i[A+20>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+32>>2]=0,i[A>>2]=68500,i[r+60>>2]=0,i[r+52>>2]=0,i[r+56>>2]=0,i[A>>2]=69492,i[r+64>>2]=t,i[r+32>>2]=1768778098,n=i[f+44>>2],i[k+28>>2]=r,i[k+24>>2]=A,i[r+4>>2]=i[r+4>>2]+1,n=N4(n,k+24|0),A=i[k+28>>2];r:{if(!A||(t=i[A+4>>2],i[A+4>>2]=t-1,t))break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(f=i[f+52>>2],X[k+18>>1]=n+1,l[k+16|0]=0,i[k+8>>2]=Q[k+16>>1]|Q[k+18>>1]<<16,c1(f,e,k+8|0),f=i[r+4>>2],i[r+4>>2]=f-1,f)break i;V[i[i[r>>2]+8>>2]](r),g(r)}B=k+32|0}function Rw(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0;n=B-48|0,B=n;i:{if(!(k&&e)){i[f>>2]=5,i[f+4>>2]=2001,i[f+8>>2]=7049;break i}t=i[e>>2],u=i[t+48>>2],t=i[t+52>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[n+44>>2]=0,i[n+36>>2]=0,i[n+40>>2]=0,o=n+16|0,I1(o,u,r,n+36|0);r:{if(i[n+16>>2]){P0(f,o,i[e>>2]);break r}if(r=A-1|0,e=i[n+36>>2],r>>>0>=i[n+40>>2]-e>>3>>>0){i[f>>2]=5,i[f+4>>2]=2007,i[f+8>>2]=10388;break r}e=e+(r<<3)|0,r=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1);e:{A:{f:{k:{n:{if(!r||(r=N0(r,68572,68704),!r))break n;if(e&&(i[e+4>>2]=i[e+4>>2]+1),i[n+12>>2]=0,i[n+4>>2]=0,i[n+8>>2]=0,u=i[r+52>>2],A=i[r+48>>2],o=(u|0)==(A|0),o)break f;if(r=u-A|0,(r|0)<0)break k;A=l0(U(r),A,r),o||l0(k,A,r),r=i[18411],i[f>>2]=i[18410],i[f+4>>2]=r,i[f+8>>2]=i[18412],G(A);break A}i[f>>2]=5,i[f+4>>2]=2007,i[f+8>>2]=1956;break e}y0(),P()}r=i[18411],i[f>>2]=i[18410],i[f+4>>2]=r,i[f+8>>2]=i[18412]}if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break e;V[i[i[e>>2]+8>>2]](e),g(e)}if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break r;V[i[i[e>>2]+8>>2]](e),g(e)}if(l[n+35|0]<0&&G(i[n+24>>2]),r=i[n+36>>2],r){if(f=r,e=i[n+40>>2],(f|0)!=(e|0)){for(;;){f=i[e-4>>2];r:{if(!f||(A=i[f+4>>2],i[f+4>>2]=A-1,A))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(e=e-8|0,(r|0)==(e|0))break}f=i[n+36>>2]}i[n+40>>2]=r,G(f)}if(!t||(f=i[t+4>>2],i[t+4>>2]=f-1,f))break i;V[i[i[t>>2]+8>>2]](t),g(t)}B=n+48|0}function Dw(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0;for(Z=B-16|0,B=Z,u=r;;){i:{if((A|0)==(u|0)){u=A;break i}if(!i[u>>2])break i;u=u+4|0;continue}break}i[o>>2]=n,i[k>>2]=r;i:{for(;;){r:{e:{if(!((r|0)==(A|0)|(n|0)==(t|0))){h=i[e+4>>2],i[Z+8>>2]=i[e>>2],i[Z+12>>2]=h,y=1,p=B-16|0,B=p,i[p+12>>2]=i[f+8>>2],E=S4(p+8|0,p+12|0),h=n,w=t-h|0,W=0,C=B-16|0,B=C,_=i[k>>2],I=u-r>>2;A:{if(!_|!I)break A;for(w=h?w:0;;){if(v=ie(w>>>0<4?C+12|0:h,i[_>>2]),(v|0)==-1){W=-1;break A}if(h){if(w>>>0<=3){if(w>>>0>>0)break A;l0(h,C+12|0,v)}w=w-v|0,h=h+v|0}else h=0;if(!i[_>>2]){_=0;break A}if(W=W+v|0,_=_+4|0,I=I-1|0,!I)break}}h&&(i[k>>2]=_),B=C+16|0,h=i[E>>2],h&&(i[23985]=(h|0)==-1?95820:h),B=p+16|0;A:{f:{k:switch(W+1|0){case 0:for(i[o>>2]=n;;){if(i[k>>2]==(r|0)||(e=y3(n,i[r>>2],i[f+8>>2]),(e|0)==-1))break f;n=e+i[o>>2]|0,i[o>>2]=n,r=r+4|0}case 1:break i;default:break k}if(n=i[o>>2]+W|0,i[o>>2]=n,(n|0)==(t|0))break A;if((A|0)==(u|0)){r=i[k>>2],u=A;continue}if(r=Z+4|0,u=y3(r,0,i[f+8>>2]),(u|0)==-1)break r;if(t-i[o>>2]>>>0>>0)break i;for(;;){if(u){n=s[r|0],h=i[o>>2],i[o>>2]=h+1,l[h|0]=n,u=u-1|0,r=r+1|0;continue}break}for(r=i[k>>2]+4|0,i[k>>2]=r,u=r;;){if((A|0)==(u|0)){u=A;break e}if(!i[u>>2])break e;u=u+4|0}}i[k>>2]=r;break r}r=i[k>>2]}y=(r|0)!=(A|0);break i}n=i[o>>2];continue}break}y=2}return B=Z+16|0,y|0}function yA(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,k=A+8|0,l[78275]>=0){t=i[19567],i[k>>2]=i[19566],i[k+4>>2]=t,i[k+8>>2]=i[19568];break i}_0(k,i[19566],i[19567])}i:{r:{e:{if(i[A>>2]!=i[19564]){e=i[A+4>>2],i[f>>2]=i[A>>2],i[f+4>>2]=e,i[f+16>>2]=i[A+16>>2],e=i[A+12>>2],i[f+8>>2]=i[A+8>>2],i[f+12>>2]=e,i[A+16>>2]=0,i[A+8>>2]=0,i[A+12>>2]=0;break e}Z=e,p=D0(r),i[Z+56>>2]=p,w=D0(r);A:{if(!w|!i[r+16>>2])break A;for(;;){u=D0(r),t=i[e+64>>2],n=i[e+68>>2];f:{if(t>>>0>>0){i[t>>2]=u,u=t+4|0;break f}if(h=i[e+60>>2],o=t-h>>2,k=o+1|0,k>>>0>=1073741824)break r;if(v=o<<2,n=n-h|0,o=n>>1,o=n>>>0>=2147483644?1073741823:k>>>0>>0?o:k,o){if(o>>>0>=1073741824)break i;k=U(o<<2)}else k=0;if(n=v+k|0,i[n>>2]=u,u=n+4|0,(t|0)!=(h|0))for(;n=n-4|0,t=t-4|0,i[n>>2]=i[t>>2],(t|0)!=(h|0););if(i[e+68>>2]=k+(o<<2),i[e+64>>2]=u,i[e+60>>2]=n,!h)break f;G(h)}if(i[e+64>>2]=u,_=_+1|0,_>>>0>=w>>>0)break A;if(!i[r+16>>2])break}}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break e}_0(f,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]),B=A+32|0;return}y0(),P()}_2(),P()}function rn(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;if(k=B-160|0,B=k,i[k+68>>2]=54820,n=i[13708],i[k+12>>2]=n,t=k+12|0,i[t+i[n-12>>2]>>2]=i[13709],n=t+i[i[k+12>>2]-12>>2]|0,u=k+16|0,b0(n,u),i[n+72>>2]=0,i[n+76>>2]=-1,i[k+68>>2]=54820,i[k+12>>2]=54800,w=$0(u),i[w>>2]=53552,i[k+56>>2]=0,i[k+60>>2]=0,i[k+48>>2]=0,i[k+52>>2]=0,i[k+64>>2]=16,u=1,n=i[r>>2]+1|0,i[r>>2]=n,o=i[e+36>>2],e=i[e+40>>2],(o|0)!=(e|0)){if(A&&(n=k+148|0,W0(n,r),h=n,n=l[k+159|0],u=(n|0)<0,x(t,u?i[k+148>>2]:h,u?i[k+152>>2]:n),l[k+159|0]<0&&G(i[k+148>>2]),x(H0(x(k+12|0,19522,7),1),31338,1),u=2),n=k+148|0,t=i[o>>2],V[i[i[t>>2]+8>>2]](n,t,r),h=n,n=l[k+159|0],t=(n|0)<0,x(k+12|0,t?i[k+148>>2]:h,t?i[k+152>>2]:n),l[k+159|0]<0&&G(i[k+148>>2]),n=o+8|0,(e|0)!=(n|0))for(;t=k+148|0,W0(t,r),h=t,t=l[k+159|0],o=(t|0)<0,x(k+12|0,o?i[k+148>>2]:h,o?i[k+152>>2]:t),l[k+159|0]<0&&G(i[k+148>>2]),t=k+12|0,x(t,31338,1),A&&(o=k+148|0,W0(o,r),_=t,h=o,t=l[k+159|0],o=(t|0)<0,x(_,o?i[k+148>>2]:h,o?i[k+152>>2]:t),l[k+159|0]<0&&G(i[k+148>>2]),x(H0(x(k+12|0,19522,7),u),31338,1),u=u+1|0),t=k+148|0,o=i[n>>2],V[i[i[o>>2]+8>>2]](t,o,r),h=t,t=l[k+159|0],o=(t|0)<0,x(k+12|0,o?i[k+148>>2]:h,o?i[k+152>>2]:t),l[k+159|0]<0&&G(i[k+148>>2]),n=n+8|0,(e|0)!=(n|0););n=i[r>>2]}i[r>>2]=(n|0)>0?n-1|0:0,i2(f,w),f=i[13707],i[k+12>>2]=f,i[i[f-12>>2]+(k+12|0)>>2]=i[13710],i[w>>2]=53552,l[k+59|0]<0&&G(i[k+48>>2]),K0(w),T0(k+68|0),B=k+160|0}function en(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0;f=B-16|0,B=f,i[f+12>>2]=r,i[f+8>>2]=n,i[f+12>>2]=r,i[f+8>>2]=n;i:{r:{e:{for(;;){A:{if(n=i[f+12>>2],n>>>0>=A>>>0||(w=i[f+8>>2],w>>>0>=t>>>0))break A;e=2,u=s[n|0];f:{if(u<<24>>24>=0){X[w>>1]=u,e=n+1|0;break f}if(u>>>0<194)break r;if(u>>>0<=223){if(r=1,(A-n|0)<2)break i;if(r=s[n+1|0],(r&192)!=128)break e;X[w>>1]=r&63|u<<6&1984,e=n+2|0;break f}if(u>>>0<=239){if(e=1,h=A-n|0,(h|0)<2)break e;r=s[n+1|0];k:{n:{if((u|0)!=237){if((u|0)!=224)break n;if((r&224)!=160)break r;break k}if((r&224)!=128)break r;break k}if((r&192)!=128)break r}if((h|0)==2)break e;if(e=s[n+2|0],(e&192)!=128)break r;X[w>>1]=e&63|((r&63)<<6|u<<12),e=n+3|0;break f}if(u>>>0>244)break r;if(e=1,h=A-n|0,(h|0)<2)break e;r=s[n+1|0];k:{n:switch(u-240|0){case 0:if((r+112&255)>>>0>=48)break r;break k;case 4:if((r&240)!=128)break r;break k;default:break n}if((r&192)!=128)break r}if((h|0)==2)break e;if(_=s[n+2|0],(_&192)!=128)break r;if((h|0)==3)break e;if(n=s[n+3|0],(n&192)!=128)break r;if((t-w|0)<3||(e=2,n=n&63,h=_<<6,u=u&7,(n|(h&4032|(r<<12&258048|u<<18)))>>>0>1114111))break e;e=r<<2,X[w>>1]=(_>>>4&3|(e&192|u<<8|e&60))+16320|55296,i[f+8>>2]=w+2,X[w+2>>1]=n|h&960|56320,e=i[f+12>>2]+4|0}i[f+12>>2]=e,i[f+8>>2]=i[f+8>>2]+2;continue}break}e=A>>>0>n>>>0}r=e;break i}r=2}return i[k>>2]=i[f+12>>2],i[o>>2]=i[f+8>>2],B=f+16|0,r|0}function An(f){var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0;e=i[f+4>>2],k=i[e+124>>2],i[f+24>>2]=k,u=i[e+132>>2],i[f+28>>2]=u;i:{if(!i[f+12>>2]){A=1,h=1;break i}A=i[k+16856>>2],h=i[k+16852>>2]}i[f+300>>2]=A,i[f+296>>2]=h,p=m(i[f+20>>2],A),W=i[k+16892>>2],n=i[k+16876>>2],r=i[f+16>>2],C=m(r,h),C||(l[f+307|0]=0,l[f+304|0]=0),p||(l[f+307|0]=0,l[f+305|0]=0,l[f+306|0]=0),I=i[f+8>>2],w=m(r+I|0,h),(w|0)>=i[k+484>>2]&&(l[f+306|0]=0),t=i[e+140>>2],o=i[e+152>>2],_=p>>n,J=t+m(m(o,_),24)|0,R=-1,r=C-1>>n,y=-1,v=s[f+304|0],y=(v|0)==1?Q[m(r,24)+J>>1]:y,E=C>>n,e=p-1>>n,Z=s[f+305|0],(Z|0)==1&&(R=Q[(t+m(m(e,o),24)|0)+m(E,24)>>1]),w=w>>n,D=-1,z=-1,H=s[f+306|0],(H|0)==1&&(z=Q[(t+m(m(e,o),24)|0)+m(w,24)>>1]),a=s[f+307|0],(a|0)==1&&(D=Q[(t+m(m(e,o),24)|0)+m(r,24)>>1]),o=m(W,_)<<2,n=i[u+8484>>2],t=-1,u=-1,u=v?i[o+(n+(r<<2)|0)>>2]:u,_=n+(E<<2)|0,t=Z?i[_+(m(e,W)<<2)>>2]:t,v=-1,Z=-1,a&&(Z=i[(n+(r<<2)|0)+(m(e,W)<<2)>>2]),r=Q[m(E,24)+J>>1],H&&(v=i[(n+(w<<2)|0)+(m(e,W)<<2)>>2]),e=i[o+_>>2],(r|0)==(y|0)&(e|0)==(u|0)||(l[f+304|0]=0),(r|0)==(R|0)&(e|0)==(t|0)||(l[f+305|0]=0),(r|0)==(D|0)&(e|0)==(Z|0)||(l[f+307|0]=0),(r|0)==(z|0)&(e|0)==(v|0)||(l[f+306|0]=0),A=(i[k+488>>2]+((p^-1)+A|0)|0)/(A|0)|0,e=I<<1,i[f+308>>2]=(e|0)>(A|0)?A:e,k=i[k+484>>2],i[f+316>>2]=0,A=f+160|0,i[f+292>>2]=A,r=f,f=(k+((C^-1)+h|0)|0)/(h|0)|0,i[r+312>>2]=(f|0)<(e|0)?f:e,B0(A-e|0,0,I<<2|1)}function Uw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;if(A=B-160|0,B=A,i[A+68>>2]=54820,k=i[13708],i[A+12>>2]=k,t=i[k-12>>2],k=A+12|0,i[t+k>>2]=i[13709],o=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(o,n),i[o+72>>2]=0,i[o+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,o=$0(n),i[o>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,mn(n,e,r),u=k,t=n,k=l[A+159|0],n=(k|0)<0,x(u,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),x(L0(x(L0(x(A+12|0,20773,11),Q[e+72>>1]),2490,1),Q[e+74>>1]),31338,1),k=i[e+76>>2],w=i[e+80>>2],(k|0)!=(w|0))for(e=0;n=A+148|0,W0(n,r),u=n,n=l[A+159|0],t=(n|0)<0,x(A+12|0,t?i[A+148>>2]:u,t?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=x(H0(x(A+12|0,18847,6),e),30585,2),t=A+148|0,W0(t,r),u=t,t=l[A+159|0],h=(t|0)<0,x(n,h?i[A+148>>2]:u,h?i[A+152>>2]:t),l[A+159|0]<0&&G(i[A+148>>2]),n=x(L0(x(n,20549,11),Q[k>>1]),31338,1),t=A+148|0,W0(t,r),u=t,t=l[A+159|0],h=(t|0)<0,x(n,h?i[A+148>>2]:u,h?i[A+152>>2]:t),l[A+159|0]<0&&G(i[A+148>>2]),x(H0(x(H0(x(n,20009,9),Q[k+2>>1]+1|0),2490,1),Q[k+4>>1]+1|0),31338,1),e=e+1|0,k=k+6|0,(w|0)!=(k|0););i2(f,o),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[o>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(o),T0(A+68|0),B=A+160|0}function Mw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;t=B-16|0,B=t,A=i[f+8>>2],i[t+12>>2]=0,i[t+4>>2]=0,i[t+8>>2]=0;i:{r:{e:{n=i[A+12>>2],u=i[A+16>>2];A:{if((n|0)==(u|0)){A=0;break A}if(A=u-n|0,(A|0)<0)break e;for(k=U(A),i[t+4>>2]=k,i[t+12>>2]=A+k,A=k;i[A>>2]=i[n>>2],o=i[n+4>>2],i[A+4>>2]=o,o&&(i[o+4>>2]=i[o+4>>2]+1),A=A+8|0,n=n+8|0,(u|0)!=(n|0););i[t+8>>2]=A}if(A=A-k>>3,o=(r|0)>(A|0)?A:r,(o|0)<=0)break i;for(n=0;;){r=U(24),i[r>>2]=0,i[r+4>>2]=0,i[r+16>>2]=0,i[r+20>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,k=i[f>>2],A=i[f+4>>2];A:{if(!A){i[r+4>>2]=A,i[r>>2]=k;break A}if(i[A+4>>2]=i[A+4>>2]+1,i[r>>2]=k,k=i[r+4>>2],i[r+4>>2]=A,!k||(A=i[k+4>>2],i[k+4>>2]=A-1,A))break A;V[i[i[k>>2]+8>>2]](k),g(k)}k=i[f+8>>2],A=i[f+12>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+8>>2]=k,k=i[r+12>>2],i[r+12>>2]=A;A:{if(!k||(A=i[k+4>>2],i[k+4>>2]=A-1,A))break A;V[i[i[k>>2]+8>>2]](k),g(k)}k=i[t+4>>2]+(n<<3)|0,u=i[k>>2],A=i[k+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+16>>2]=u,k=i[r+20>>2],i[r+20>>2]=A;A:{if(!k||(A=i[k+4>>2],i[k+4>>2]=A-1,A))break A;V[i[i[k>>2]+8>>2]](k),g(k)}if(i[(n<<2)+e>>2]=r,n=n+1|0,(o|0)==(n|0))break}break r}y0(),P()}k=i[t+4>>2]}if(k){if(A=i[t+8>>2],(k|0)!=(A|0)){for(;;){f=i[A-4>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}if(A=A-8|0,(k|0)==(A|0))break}k=i[t+4>>2]}G(k)}return B=t+16|0,o|0}function d1(f,e,r,A,k,n,t,o,u,h){var w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;p=i[f+18592>>2],_=f+18548|0,w=f2(_,i[f+18572>>2]+147|0),v=w<<4&16|s[f+26|0]&-17,l[f+26|0]=v,W=f+16|0;i:{r:{if(w){w=0;e:{if(i[i[f+18592>>2]+812>>2]<2||!f2(_,i[f+18572>>2]+148|0)||(w=32,i[i[f+18592>>2]+812>>2]<3))break e;for(w=1;x1(_)&&(w=w+1|0,(w|0)<(i[i[f+18592>>2]+812>>2]-1|0)););w=w<<5}o=s[f+26|0]&31|w;break r}w=1;e:{A:{f:{if(!i[p+28>>2]){if(w=i[f+18572>>2],(n+t|0)==12||!f2(_,(o+w|0)+156|0))break f;v=s[f+26|0],w=3}l[f+26|0]=v&252|w;break A}if(w=f2(_,w+160|0)+1|0,l[f+26|0]=w&3|s[f+26|0]&252,v=2,(w|0)==2)break e}v=w,w=0,o=i[p+336>>2];A:{if((o|0)<2||!f2(_,i[f+18572>>2]+154|0))break A;if(Z=o-2|0,!Z){w=1;break A}if(w=1,!f2(_,i[f+18572>>2]+155|0))break A;for(o=o-1|0;;){if((w|0)==(Z|0)){w=o;break A}if(w=w+1|0,!x1(_))break}}if(l[f+16|0]=w,o9(f,0),C=f,I=f2(_,i[f+18572>>2]+152|0)<<2&4|s[f+26|0]&251,l[C+26|0]=I,(v|0)==1)break i}w=0,o=i[p+340>>2];e:{if((o|0)<2||!f2(_,i[f+18572>>2]+154|0))break e;if(Z=o-2|0,!Z){w=1;break e}if(w=1,!f2(_,i[f+18572>>2]+155|0))break e;for(o=o-1|0;;){if((w|0)==(Z|0)){w=o;break e}if(w=w+1|0,!x1(_))break}}l[f+17|0]=w;e:{if(!(!s[p+378|0]|(v|0)!=3)){X[f+22>>1]=0,X[f+24>>1]=0;break e}o9(f,1)}o=f2(_,i[f+18572>>2]+152|0)<<3&8|s[f+26|0]&-9}l[f+26|0]=o}nk(i[f+18584>>2],i[f+18592>>2],i[f+18588>>2],W,e,r,A,k,u,n,t,h)}function fn(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0;p=B-16|0,B=p,v=i[f+12>>2],h=i[f+8>>2],w=v-h>>2;i:{if((h|0)!=(v|0))for(_=w>>>0<=1?1:w;;){if(o=i[h+(u<<2)>>2],!(s[o+104|0]|i[o+100>>2])){aA(o),v=i[f+12>>2],w=v-i[f+8>>2]>>2;break i}if(u=u+1|0,(_|0)==(u|0))break}u=-9}i:{if((w-1|0)==(u|0)|k0[f+4>>2]>=w>>>0||(h=i[v-4>>2],s[h+104|0]|i[h+100>>2]))break i;G(zA(h)),v=i[f+12>>2]-4|0,i[f+12>>2]=v}i:{r:{e:{if((u|0)==-9){W=i[f+8>>2],w=N7(U(416)),u=i[f+12>>2],o=i[f+16>>2];A:{if(u>>>0>>0){i[u>>2]=w,w=u+4|0;break A}if(_=i[f+8>>2],Z=u-_>>2,h=Z+1|0,h>>>0>=1073741824)break e;if(C=Z<<2,o=o-_|0,Z=o>>1,Z=o>>>0>=2147483644?1073741823:h>>>0>>0?Z:h,Z){if(Z>>>0>=1073741824)break r;h=U(Z<<2)}else h=0;if(o=C+h|0,i[o>>2]=w,w=o+4|0,(u|0)!=(_|0)){for(;o=o-4|0,u=u-4|0,i[o>>2]=i[u>>2],(u|0)!=(_|0););_=i[f+8>>2]}if(i[f+16>>2]=h+(Z<<2),i[f+12>>2]=w,i[f+8>>2]=o,!_)break A;G(_)}i[f+12>>2]=w,u=v-W>>2}A:{if((u|0)<0){o=i[e+4>>2];break A}if(h=i[e>>2],w=i[h+476>>2],w>>>0>=4)break i;if(f=i[i[f+8>>2]+(u<<2)>>2],_=i[h+488>>2],v=i[h+484>>2],i[p+8>>2]=h,o=i[e+4>>2],i[p+12>>2]=o,o&&(i[o+4>>2]=i[o+4>>2]+1),e=i[p+12>>2],i[p>>2]=i[p+8>>2],i[p+4>>2]=e,e=Fk(f,v,_,w,p,1,r,A,k,n,t),e){u=0-e|0;break A}l[f+312|0]=0}A:{if(!o||(f=i[o+4>>2],i[o+4>>2]=f-1,f))break A;V[i[i[o>>2]+8>>2]](o),g(o)}return B=p+16|0,u}y0(),P()}_2(),P()}C0(17356,14064,263,10577),P()}function kn(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;k=B-16|0,B=k;i:{r=i[f+4>>2];r:{if(r>>>0>>0){t=e-r|0,n=i[f+8>>2],A=n<<5;e:{if(!(t>>>0>A>>>0|r>>>0>A-t>>>0)){i[f+4>>2]=e,A=r&31,e=i[f>>2]+(r>>>3&536870908)|0;break e}if(i[k+12>>2]=0,i[k+4>>2]=0,i[k+8>>2]=0,(e|0)<0)break i;A:{if(A>>>0<=1073741822?(r=n<<6,e=e+31&-32,e=e>>>0>>0?r:e):e=2147483647,e>>>0<=i[k+12>>2]<<5>>>0)break A;if((e|0)>=0){if(w=(e-1>>>5|0)+1|0,n=U(w<<2),A=i[k+4>>2],e=i[k+8>>2],i[n+((e>>>0>=33?e-1>>>5|0:0)<<2)>>2]=0,e)for(_=e&31,v=A+(e>>>3&536870908)|0,e=n,r=A;o=1<>2]>>>h&1?o=o|i[e>>2]:o=i[e>>2]&(o^-1),i[e>>2]=o,o=(u|0)==31,u=o?0:u+1|0,e=(o<<2)+e|0,o=(h|0)==31,r=(o<<2)+r|0,h=o?0:h+1|0,!!((_|0)!=(h|0)|(r|0)!=(v|0)););if(i[k+12>>2]=w,i[k+4>>2]=n,!A)break A;G(A);break A}y0(),P()}A=i[f+4>>2],i[k+8>>2]=A+t,r=i[f>>2],e=i[k+4>>2];A:{if((A|0)<=0){A=0;break A}n=A>>>5|0,A>>>0>=32&&F2(e,r,n<<2),n=n<<2,e=n+e|0,A=A&31,A&&(u=-1>>>32-A|0,i[e>>2]=i[e>>2]&(u^-1)|u&i[r+n>>2]),r=i[f>>2]}if(i[f>>2]=i[k+4>>2],i[k+4>>2]=r,n=i[f+4>>2],i[f+4>>2]=i[k+8>>2],i[k+8>>2]=n,n=i[f+8>>2],i[f+8>>2]=i[k+12>>2],i[k+12>>2]=n,!r)break e;G(r)}if(!t||(A&&(f=32-A|0,r=f>>>0>>0?f:t,i[e>>2]=i[e>>2]&(-1<>>f-r^-1),t=t-r|0,e=e+4|0),f=t>>>5|0,t>>>0>=32&&B0(e,0,f<<2),r=t&31,!r))break r;f=(f<<2)+e|0,i[f>>2]=i[f>>2]&(-1>>>32-r^-1);break r}i[f+4>>2]=e}B=k+16|0;return}y0(),P()}function s6(f,e){var r=0,A=0,k=0,n=0;k=B-16|0,B=k,r=U(136),i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=72792,B0(r+20|0,0,104),i[r+56>>2]=0,i[r+60>>2]=0,i[r+44>>2]=99,i[r+48>>2]=99,i[r+32>>2]=34648,A=r- -64|0,i[A>>2]=0,i[A+4>>2]=0,i[r+132>>2]=0,i[r+124>>2]=0,i[r+128>>2]=0,i[r+84>>2]=1,i[r+88>>2]=1,i[r+72>>2]=r+76,i[r+92>>2]=0,i[r+96>>2]=0,i[r+100>>2]=0,i[r+104>>2]=0,i[r+108>>2]=0,i[r+112>>2]=0,l[r+113|0]=0,l[r+114|0]=0,l[r+115|0]=0,l[r+116|0]=0,l[r+117|0]=0,l[r+118|0]=0,l[r+119|0]=0,l[r+120|0]=0,i[f+4>>2]=r,A=r+12|0,i[f>>2]=A,i[r+12>>2]=A,i[r+8>>2]=i[r+8>>2]+1,i[r+16>>2]=r,i[r+4>>2]==-1&&(V[i[i[r>>2]+8>>2]](r),g(r)),r=i[e>>2],A=i[r+24>>2],n=i[r+28>>2],r=i[f>>2],i[r+36>>2]=0,i[r+32>>2]=2,i[r+28>>2]=n,i[r+24>>2]=A,i[k+8>>2]=i[e>>2],e=i[e+4>>2],i[k+12>>2]=e,e&&(i[e+4>>2]=i[e+4>>2]+1),U8(r,k+8|0,6,0),e=i[k+12>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=U(24),l[e+22|0]=1,X[e+20>>1]=2,i[e+16>>2]=131074,i[e+12>>2]=72992,i[e+4>>2]=0,i[e+8>>2]=0,i[e>>2]=72832,r=e+12|0,l[r+10|0]=1,X[r+8>>1]=6,i[r+4>>2]=851969,l[r+10|0]=1,X[r+8>>1]=2,i[r+4>>2]=131074,l[e+22|0]=1,A=i[f>>2],i[e+4>>2]=i[e+4>>2]+2,i[A+44>>2]=r,f=i[A+48>>2],i[A+48>>2]=e;i:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[e+4>>2],i[e+4>>2]=f-1,f||(V[i[i[e>>2]+8>>2]](e),g(e)),f=i[e+4>>2],i[e+4>>2]=f-1,f||(V[i[i[e>>2]+8>>2]](e),g(e)),B=k+16|0}function xw(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0;A=B-16|0,B=A,e=U(136),i[e+4>>2]=0,i[e+8>>2]=0,i[e>>2]=72792,B0(e+20|0,0,104),k=i[e+4>>2],t=k+1|0,i[e+4>>2]=t,i[e+56>>2]=0,i[e+60>>2]=0,i[e+44>>2]=99,i[e+48>>2]=99,i[e+32>>2]=3795,n=e- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[e+132>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,i[e+84>>2]=1,i[e+88>>2]=1,i[e+72>>2]=e+76,i[e+92>>2]=0,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+112>>2]=0,l[e+113|0]=0,l[e+114|0]=0,l[e+115|0]=0,l[e+116|0]=0,l[e+117|0]=0,l[e+118|0]=0,l[e+119|0]=0,l[e+120|0]=0,n=e+12|0,i[e+12>>2]=n,i[e+8>>2]=i[e+8>>2]+1,i[e+4>>2]=k,i[e+16>>2]=e,t||(V[i[i[e>>2]+8>>2]](e),g(e));i:{r:{if(k=i[r>>2],o=i[k+36>>2]-12|0,o>>>0>3||(t=i[k+24>>2],h=i[k+28>>2],k=h,i[n+36>>2]=i[(o<<2)+41172>>2],i[n+32>>2]=1,i[n+28>>2]=k,i[n+24>>2]=t,!J0(n,10,t,k,U0(i[r>>2],10))))break r;k=0,i[A+12>>2]=0,i[A+8>>2]=0,t=v0(i[r>>2],10,A+12|0),o=v0(n,10,A+8|0);e:{if((h|0)<=0||(r=i[A+8>>2],u=i[A+12>>2],u=(r|0)<(u|0)?r:u,(u|0)<=0))break e;for(;;){for(r=0;l[(o+m(i[A+8>>2],k)|0)+r|0]=s[((t+m(i[A+12>>2],k)|0)+r|0)+1|0],l[((o+m(i[A+8>>2],k)|0)+r|0)+1|0]=s[(t+m(i[A+12>>2],k)|0)+r|0],r=r+2|0,(u|0)>(r|0););if(k=k+1|0,(h|0)==(k|0))break}}i[f+4>>2]=e,i[f>>2]=n;break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[e+4>>2],i[e+4>>2]=f-1,f)break i;V[i[i[e>>2]+8>>2]](e),g(e)}B=A+16|0}function zw(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;for(f=B-272|0,B=f,i[f+264>>2]=r,i[f+268>>2]=e,u3(f+208|0,A,f+224|0,f+223|0,f+222|0),r=B-16|0,B=r,e=f+196|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+192>>2]=r,i[f+28>>2]=f+32,i[f+24>>2]=0,l[f+23|0]=1,l[f+22|0]=69;;){i:{if(J2(f+268|0,f+264|0))break i;t=i[f+192>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+192>>2]=A+r),t=f+268|0,A=i[t>>2],o=i[A+12>>2];r:{if((o|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=s[o|0]}if(EA(A<<24>>24,f+23|0,f+22|0,r,f+192|0,l[f+223|0],l[f+222|0],f+208|0,f+32|0,f+28|0,f+24|0,f+224|0))break i;E1(t);continue}break}s[f+219|0]>>>7|0?A=i[f+212>>2]:A=s[f+219|0]&127;i:{if(!A|s[f+23|0]!=1||(A=i[f+28>>2],(A-(f+32|0)|0)>159))break i;i[f+28>>2]=A+4,i[A>>2]=i[f+24>>2]}return Tn(f,r,i[f+192>>2],k),r=i[f>>2],A=i[f+4>>2],t=i[f+12>>2],i[n+8>>2]=i[f+8>>2],i[n+12>>2]=t,i[n>>2]=r,i[n+4>>2]=A,K1(f+208|0,f+32|0,i[f+28>>2],k),J2(f+268|0,f+264|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+268>>2],z0(e),z0(f+208|0),B=f+272|0,r|0}function Hw(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;for(f=B-384|0,B=f,i[f+376>>2]=r,i[f+380>>2]=e,l3(f+220|0,A,f+240|0,f+236|0,f+232|0),r=B-16|0,B=r,e=f+208|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+204>>2]=r,i[f+28>>2]=f+32,i[f+24>>2]=0,l[f+23|0]=1,l[f+22|0]=69;;){i:{if(g2(f+380|0,f+376|0))break i;t=i[f+204>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+204>>2]=A+r),t=f+380|0,A=i[t>>2],o=i[A+12>>2];r:{if((o|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=i[o>>2]}if(FA(A,f+23|0,f+22|0,r,f+204|0,i[f+236>>2],i[f+232>>2],f+220|0,f+32|0,f+28|0,f+24|0,f+240|0))break i;Y1(t);continue}break}s[f+231|0]>>>7|0?A=i[f+224>>2]:A=s[f+231|0]&127;i:{if(!A|s[f+23|0]!=1||(A=i[f+28>>2],(A-(f+32|0)|0)>159))break i;i[f+28>>2]=A+4,i[A>>2]=i[f+24>>2]}return Tn(f,r,i[f+204>>2],k),r=i[f>>2],A=i[f+4>>2],t=i[f+12>>2],i[n+8>>2]=i[f+8>>2],i[n+12>>2]=t,i[n>>2]=r,i[n+4>>2]=A,K1(f+220|0,f+32|0,i[f+28>>2],k),g2(f+380|0,f+376|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+380>>2],z0(e),z0(f+220|0),B=f+384|0,r|0}function Tw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;n=B+-64|0,B=n;i:{if(Q1(e,67512,0)){i[r>>2]=0,A=1;break i}r:{if(s[f+8|0]&24)k=1;else{if(!e||(t=N0(e,67148,67244),!t))break r;k=(s[t+8|0]&24)!=0}k=Q1(f,e,k)}if(k){if(A=1,f=i[r>>2],!f)break i;i[r>>2]=i[f>>2];break i}r:{if(!e)break r;if(t=N0(e,67148,67292),!t||(e=i[r>>2],e&&(i[r>>2]=i[e>>2]),k=i[t+8>>2],e=i[f+8>>2],k&(e^-1)&7|e&(k^-1)&96)||(A=1,Q1(i[f+12>>2],i[t+12>>2],0)))break i;if(Q1(i[f+12>>2],67500,0)){if(f=i[t+12>>2],!f)break i;A=!N0(f,67148,67344);break i}if(k=i[f+12>>2],!k)break r;if(A=0,e=N0(k,67148,67292),e){if(!(l[f+8|0]&1))break i;f=i[t+12>>2],r=0;e:{A:{for(;;){if(A=0,!f)break e;if(f=N0(f,67148,67292),!f|i[f+8>>2]&(i[e+8>>2]^-1))break A;if(A=1,Q1(i[e+12>>2],i[f+12>>2],0))break e;if(!(l[e+8|0]&1)||(A=i[e+12>>2],!A))break A;if(e=N0(A,67148,67292),e){f=i[f+12>>2];continue}break}if(e=N0(A,67148,67404),!e)break A;r=S9(e,i[f+12>>2])}A=r}break i}if(e=N0(k,67148,67404),e){if(!(l[f+8|0]&1))break i;A=S9(e,i[t+12>>2]);break i}if(k=N0(k,67148,67196),!k||(f=i[t+12>>2],!f)||(f=N0(f,67148,67196),!f))break i;e=i[r>>2],B0(n+8|0,0,56),l[n+59|0]=(e|0)!=0,i[n+16>>2]=-1,i[n+12>>2]=k,i[n+4>>2]=f,i[n+52>>2]=1,V[i[i[f>>2]+28>>2]](f,n+4|0,e,1),f=i[n+28>>2],(f|0)==1&&(i[r>>2]=e?i[n+20>>2]:0),A=(f|0)==1;break i}A=0}return B=n- -64|0,A|0}function aw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0;if(A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,k=A+12|0,i[k+i[t-12>>2]>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),u=k,o=n,k=l[A+159|0],n=(k|0)<0,x(u,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),o=x(A+12|0,21043,10),k=l[e+67|0],n=(k|0)<0,k=x(x(o,n?i[e+56>>2]:e+56|0,n?i[e+60>>2]:k),31338,1),n=A+148|0,W0(n,r),o=n,r=l[A+159|0],n=(r|0)<0,x(k,n?i[A+148>>2]:o,n?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),x(k,19994,14),r=i[e+68>>2],h=i[e+72>>2],(r|0)!=(h|0))for(u=A+24|0;o=s[r|0],e=i[A+12>>2]-12|0,k=t+i[e>>2]|0,i[k>>2]=i[k>>2]&-75|8,i[i[e>>2]+u>>2]=2,k=i[e>>2]+(A+12|0)|0,i[k+76>>2]==-1&&(n=A+148|0,e=i[k+28>>2],i[n>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(n,100192),V[i[i[e>>2]+28>>2]](e,32)|0,O0(n)),i[k+76>>2]=48,x(H0(A+12|0,o),21741,1),r=r+1|0,(h|0)!=(r|0););e=A+12|0,x(e,31338,1),i2(f,t),f=i[13707],i[A+12>>2]=f,i[e+i[f-12>>2]>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function Nr(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0;v=B-128|0,B=v,i[v+124>>2]=e,i[v+16>>2]=1094,h=v+16|0,Z=o1(v+8|0,0,h);i:{r:{e:{if(_=(A-r|0)/12|0,_>>>0>=101){if(h=Z2(_),!h)break e;e=i[Z>>2],i[Z>>2]=h,e&&V[i[Z+4>>2]](e)}for(o=h,e=r;;)if((e|0)==(A|0))A:for(;;){if(e=v+124|0,y=J2(f,e),E=1,J=_,J?y:E)for(J2(f,e)&&(i[n>>2]=i[n>>2]|2);;){if((r|0)==(A|0))break r;if(s[h|0]==2)break i;h=h+1|0,r=r+12|0}e=i[f>>2],o=i[e+12>>2];f:{if((o|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break f}e=s[o|0]}for(W=e<<24>>24,t||(W=V[i[i[k>>2]+12>>2]](k,W)|0),u=C+1|0,I=0,o=h,e=r;;)if((e|0)==(A|0)){if(C=u,!I||(E1(f),o=h,e=r,_+p>>>0<2))continue A;for(;;){if((e|0)==(A|0))continue A;s[e+11|0]>>>7|0?u=i[e+4>>2]:u=s[e+11|0]&127,(u|0)==(C|0)|s[o|0]!=2||(l[o|0]=0,p=p-1|0),o=o+1|0,e=e+12|0}}else{f:{if(s[o|0]!=1)break f;s[e+11|0]>>>7|0?w=i[e>>2]:w=e,w=l[w+C|0],t||(w=V[i[i[k>>2]+12>>2]](k,w)|0);k:{if((W|0)==(w|0)){if(I=1,s[e+11|0]>>>7|0?w=i[e+4>>2]:w=s[e+11|0]&127,(w|0)!=(u|0))break f;l[o|0]=2,p=p+1|0;break k}l[o|0]=0}_=_-1|0}o=o+1|0,e=e+12|0;continue}}else{s[e+11|0]>>>7|0?u=i[e+4>>2]:u=s[e+11|0]&127,u=!u,l[o|0]=u?2:1,o=o+1|0,e=e+12|0,p=p+u|0,_=_-u|0;continue}}u1(),P()}i[n>>2]=i[n>>2]|4}return f=i[Z>>2],i[Z>>2]=0,f&&V[i[Z+4>>2]](f),B=v+128|0,r}function Sw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;u=B-32|0,B=u,o=i[e+56>>2],n=i[e+60>>2];i:{if((o|0)==(n|0))break i;for(;;){r:{if(s[o+4|0]!=1||(A=i[o+16>>2],t=i[o+20>>2],(A|0)==(t|0)))break r;for(;k=(i[A+28>>2]+k|0)-i[A+24>>2]|0,A=A+40|0,(t|0)!=(A|0););}if(o=o+32|0,(n|0)==(o|0))break}if(!k||(l2(r,k+8|0),l2(r,1768186228),k=i[e+56>>2],n=i[e+60>>2],(k|0)==(n|0)))break i;for(;;){r:{if(s[k+4|0]!=1||(A=i[k+16>>2],t=i[k+20>>2],(A|0)==(t|0)))break r;for(;D4(r,A+24|0),A=A+40|0,(t|0)!=(A|0););}if(k=k+32|0,(n|0)==(k|0))break}}if(h=V[i[i[e>>2]+32>>2]](e,r,0)|0,i[e+68>>2]=i[r+12>>2],n=s[e+48|0],t=n>>>0<2,k=t?4:6,A=i[e+56>>2],w=i[e+60>>2],(A|0)!=(w|0))for(_=s[e+75|0],v=(((n|0)!=0)<<1)+(t?6:8)|0,o=(n?s[e+76|0]:0)&255,n=s[e+73|0],t=s[e+74|0],Z=((_+(v+o|0)|0)+n|0)+t|0,o=t+(n+o|0)|0;n=i[A+16>>2],t=i[A+20>>2],(n|0)==(t|0)?k=(k+v|0)+_|0:k=(k+Z|0)+m(o,((t-n|0)-40>>>0)/40|0)|0,A=A+32|0,(w|0)!=(A|0););we(r,k),i[r+12>>2]=h,V[i[i[e>>2]+36>>2]](u+12|0,e,r,i[r+4>>2]-(h+i[r>>2]|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[u+31|0]<0&&G(i[u+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,e=f+8|0;i:{if(l[78275]>=0){f=i[19567],i[e>>2]=i[19566],i[e+4>>2]=f,i[e+8>>2]=i[19568];break i}_0(e,i[19566],i[19567])}B=u+32|0}function Rr(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0;v=B-128|0,B=v,i[v+124>>2]=e,i[v+16>>2]=1094,h=v+16|0,Z=o1(v+8|0,0,h);i:{r:{e:{if(_=(A-r|0)/12|0,_>>>0>=101){if(h=Z2(_),!h)break e;e=i[Z>>2],i[Z>>2]=h,e&&V[i[Z+4>>2]](e)}for(o=h,e=r;;)if((e|0)==(A|0))A:for(;;){if(e=v+124|0,y=g2(f,e),E=1,J=_,J?y:E)for(g2(f,e)&&(i[n>>2]=i[n>>2]|2);;){if((r|0)==(A|0))break r;if(s[h|0]==2)break i;h=h+1|0,r=r+12|0}e=i[f>>2],o=i[e+12>>2];f:{if((o|0)==i[e+16>>2]){u=V[i[i[e>>2]+36>>2]](e)|0;break f}u=i[o>>2]}for(t||(u=V[i[i[k>>2]+28>>2]](k,u)|0),C=W+1|0,I=0,o=h,e=r;;)if((e|0)==(A|0)){if(W=C,!I||(Y1(f),o=h,e=r,_+p>>>0<2))continue A;for(;;){if((e|0)==(A|0))continue A;s[e+11|0]>>>7|0?u=i[e+4>>2]:u=s[e+11|0]&127,(u|0)==(W|0)|s[o|0]!=2||(l[o|0]=0,p=p-1|0),o=o+1|0,e=e+12|0}}else{f:{if(s[o|0]!=1)break f;s[e+11|0]>>>7|0?w=i[e>>2]:w=e,w=i[w+(W<<2)>>2],t||(w=V[i[i[k>>2]+28>>2]](k,w)|0);k:{if((u|0)==(w|0)){if(I=1,s[e+11|0]>>>7|0?w=i[e+4>>2]:w=s[e+11|0]&127,(w|0)!=(C|0))break f;l[o|0]=2,p=p+1|0;break k}l[o|0]=0}_=_-1|0}o=o+1|0,e=e+12|0;continue}}else{s[e+11|0]>>>7|0?u=i[e+4>>2]:u=s[e+11|0]&127,u=!u,l[o|0]=u?2:1,o=o+1|0,e=e+12|0,p=u+p|0,_=_-u|0;continue}}u1(),P()}i[n>>2]=i[n>>2]|4}return f=i[Z>>2],i[Z>>2]=0,f&&V[i[Z+4>>2]](f),B=v+128|0,r}function Ow(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0;n=B-48|0,B=n;i:{if(!(k&&e)){i[f>>2]=5,i[f+4>>2]=2001,i[f+8>>2]=7049;break i}t=i[e>>2],o=i[t+48>>2],t=i[t+52>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[n+44>>2]=0,i[n+36>>2]=0,i[n+40>>2]=0,u=n+16|0,I1(u,o,r,n+36|0);r:{if(i[n+16>>2]){P0(f,u,i[e>>2]);break r}e:{if(A&&(r=A-1|0,e=i[n+36>>2],r>>>0>2]-e>>3>>>0))break e;i[f>>2]=5,i[f+4>>2]=2007,i[f+8>>2]=10388;break r}e=e+(r<<3)|0,r=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1);e:{A:{f:{if(!r||(r=N0(r,68572,68704),!r))break f;if(e&&(i[e+4>>2]=i[e+4>>2]+1),A=0,i[n+12>>2]=0,i[n+4>>2]=0,i[n+8>>2]=0,o=i[r+52>>2],r=i[r+48>>2],(o|0)!=(r|0)&&(A=o-r|0,(A|0)<0))break A;if(i[k>>2]=A,i[f+8>>2]=i[18412],r=i[18411],i[f>>2]=i[18410],i[f+4>>2]=r,!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break e;V[i[i[e>>2]+8>>2]](e),g(e);break e}i[f>>2]=5,i[f+4>>2]=2007,i[f+8>>2]=1956;break e}y0(),P()}if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break r;V[i[i[e>>2]+8>>2]](e),g(e)}if(l[n+35|0]<0&&G(i[n+24>>2]),r=i[n+36>>2],r){if(f=r,e=i[n+40>>2],(f|0)!=(e|0)){for(;;){f=i[e-4>>2];r:{if(!f||(A=i[f+4>>2],i[f+4>>2]=A-1,A))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(e=e-8|0,(r|0)==(e|0))break}f=i[n+36>>2]}i[n+40>>2]=r,G(f)}if(!t||(f=i[t+4>>2],i[t+4>>2]=f-1,f))break i;V[i[i[t>>2]+8>>2]](t),g(t)}B=n+48|0}function jw(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;o=B-16|0,B=o;i:{if(!f)break i;h=o+4|0,A=i[i[f>>2]+48>>2],f=B-160|0,B=f,i[f+24>>2]=54496,i[f+80>>2]=54516,r=i[13633],i[f+16>>2]=r,n=f+16|0,i[n+i[r-12>>2]>>2]=i[13634],i[f+20>>2]=0,r=n+i[i[f+16>>2]-12>>2]|0,k=f+28|0,b0(r,k),i[r+72>>2]=0,i[r+76>>2]=-1,r=i[13635],i[f+24>>2]=r,t=i[r-12>>2],r=f+24|0,i[t+r>>2]=i[13636],u=i[13632],i[f+16>>2]=u,i[n+i[u-12>>2]>>2]=i[13637],i[f+80>>2]=54516,i[f+16>>2]=54476,i[f+24>>2]=54496,n=$0(k),i[n>>2]=53552,i[f+68>>2]=0,i[f+72>>2]=0,i[f+60>>2]=0,i[f+64>>2]=0,i[f+76>>2]=24,k=i[A+8>>2],u=i[A+12>>2];r:{if((k|0)==(u|0)||(A=i[k>>2],t=i[i[A>>2]+8>>2],i[f+12>>2]=0,V[t|0](f,A,f+12|0),A=l[f+11|0],t=(A|0)<0,x(r,t?i[f>>2]:f,t?i[f+4>>2]:A),l[f+11|0]<0&&G(i[f>>2]),A=k+8|0,(u|0)==(A|0)))break r;for(;x(r,31338,1),i[f+12>>2]=0,k=i[A>>2],V[i[i[k>>2]+8>>2]](f,k,f+12|0),k=l[f+11|0],t=(k|0)<0,x(r,t?i[f>>2]:f,t?i[f+4>>2]:k),l[f+11|0]<0&&G(i[f>>2]),A=A+8|0,(u|0)!=(A|0););}if(i2(h,n),r=i[13631],i[f+16>>2]=r,i[i[r-12>>2]+(f+16|0)>>2]=i[13639],i[f+24>>2]=i[13640],i[n>>2]=53552,l[f+71|0]<0&&G(i[f+60>>2]),K0(n),T0(f+80|0),B=f+160|0,r=l[o+15|0],n=(r|0)<0,A=n?i[o+4>>2]:h,f=B-16|0,B=f,i[f+12>>2]=n?i[o+8>>2]:r,i[f+8>>2]=A,e=uA(e|0,f+8|0,1,f+4|0)|0,e&&(i[23944]=e),B=f+16|0,l[o+15|0]>=0)break i;G(i[o+4>>2])}B=o+16|0}function Pw(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;u=B-16|0,B=u,n=U(32),i[n+16>>2]=1,i[n+4>>2]=0,i[n+8>>2]=0,i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,i[n+12>>2]=73276,i[n>>2]=73528,h=n+12|0;i:{if(!A||(SA(n+20|0,A),(A|0)<=0))break i;if(o=i[n+20>>2],(A|0)!=1)for(p=A&2147483646;t=_<<3,w=t+o|0,v=r+t|0,i[w>>2]=i[v>>2],i[w+4>>2]=i[v+4>>2],t=t|8,w=t+o|0,t=r+t|0,i[w>>2]=i[t>>2],i[w+4>>2]=i[t+4>>2],_=_+2|0,Z=Z+2|0,(p|0)!=(Z|0););if(!(A&1))break i;A=_<<3,o=A+o|0,r=r+A|0,i[o>>2]=i[r>>2],i[o+4>>2]=i[r+4>>2]}l[n+16|0]=1,r=i[e+8>>2],i[u+12>>2]=n,i[u+8>>2]=h,i[n+4>>2]=i[n+4>>2]+1,A=i[r+16>>2];i:{r:{if(A>>>0>2]){i[A+4>>2]=n,i[A>>2]=h,i[n+4>>2]=i[n+4>>2]+1,i[r+16>>2]=A+8,A=n;break r}if(o=Q2(r+12|0,u+8|0),A=i[u+12>>2],i[r+16>>2]=o,!A)break i}if(r=i[A+4>>2],i[A+4>>2]=r-1,r)break i;V[i[i[A>>2]+8>>2]](A),g(A)}i:{if(!k||(i[n+4>>2]=i[n+4>>2]+1,r=U(24),i[n+4>>2]=i[n+4>>2]+1,i[r+20>>2]=n,i[r+16>>2]=h,h=i[e+8>>2],A=i[e+12>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+12>>2]=A,i[r+8>>2]=h,A=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r+4>>2]=e,i[r>>2]=A,i[k>>2]=r,e=i[n+4>>2],i[n+4>>2]=e-1,e))break i;V[i[i[n>>2]+8>>2]](n),g(n)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[n+4>>2],i[n+4>>2]=f-1,f||(V[i[i[n>>2]+8>>2]](n),g(n)),B=u+16|0}function Lw(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;u=B-16|0,B=u,n=U(32),i[n+16>>2]=1,i[n+4>>2]=0,i[n+8>>2]=0,i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,i[n+12>>2]=73276,i[n>>2]=73528,h=n+12|0;i:{if(!A||(SA(n+20|0,A),(A|0)<=0))break i;if(o=i[n+20>>2],(A|0)!=1)for(p=A&2147483646;t=_<<3,w=t+o|0,v=r+t|0,i[w>>2]=i[v>>2],i[w+4>>2]=i[v+4>>2],t=t|8,w=t+o|0,t=r+t|0,i[w>>2]=i[t>>2],i[w+4>>2]=i[t+4>>2],_=_+2|0,Z=Z+2|0,(p|0)!=(Z|0););if(!(A&1))break i;A=_<<3,o=A+o|0,r=r+A|0,i[o>>2]=i[r>>2],i[o+4>>2]=i[r+4>>2]}l[n+16|0]=0,r=i[e+8>>2],i[u+12>>2]=n,i[u+8>>2]=h,i[n+4>>2]=i[n+4>>2]+1,A=i[r+16>>2];i:{r:{if(A>>>0>2]){i[A+4>>2]=n,i[A>>2]=h,i[n+4>>2]=i[n+4>>2]+1,i[r+16>>2]=A+8,A=n;break r}if(o=Q2(r+12|0,u+8|0),A=i[u+12>>2],i[r+16>>2]=o,!A)break i}if(r=i[A+4>>2],i[A+4>>2]=r-1,r)break i;V[i[i[A>>2]+8>>2]](A),g(A)}i:{if(!k||(i[n+4>>2]=i[n+4>>2]+1,r=U(24),i[n+4>>2]=i[n+4>>2]+1,i[r+20>>2]=n,i[r+16>>2]=h,h=i[e+8>>2],A=i[e+12>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+12>>2]=A,i[r+8>>2]=h,A=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r+4>>2]=e,i[r>>2]=A,i[k>>2]=r,e=i[n+4>>2],i[n+4>>2]=e-1,e))break i;V[i[i[n>>2]+8>>2]](n),g(n)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[n+4>>2],i[n+4>>2]=f-1,f||(V[i[i[n>>2]+8>>2]](n),g(n)),B=u+16|0}function Kw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;k=B-16|0,B=k,n=i[e+12>>2],o=n;i:{r:{e:{if(A=i[e+8>>2],n|A){if(n=i[e+32>>2],u=n>>>0>A>>>0,u&!o)break e;if(t=A-n|0,n=o-u|0,A=t,!n&A>>>0>=2147483648|n){if(e=U(24),i[k+4>>2]=e,i[k+8>>2]=18,i[k+12>>2]=-2147483624,r=s[10373]|s[10374]<<8|(s[10375]<<16|s[10376]<<24),A=s[10369]|s[10370]<<8|(s[10371]<<16|s[10372]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+18|0]=0,r=s[10385]|s[10386]<<8,l[e+16|0]=r,l[e+17|0]=r>>>8,r=s[10381]|s[10382]<<8|(s[10383]<<16|s[10384]<<24),A=s[10377]|s[10378]<<8|(s[10379]<<16|s[10380]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,1e3,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}n=i[e+48>>2],t=i[e+52>>2]-n|0;A:{if(A>>>0>t>>>0){L2(e+48|0,A-t|0),n=i[e+48>>2];break A}if(A>>>0>=t>>>0)break A;i[e+52>>2]=A+n}D6(r,n,A)}if(s[r+20|0]!=1)break r;if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,100,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,101,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+16|0}function qw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,k=i[13708],i[A+12>>2]=k,t=i[k-12>>2],k=A+12|0,i[t+k>>2]=i[13709],n=k+i[i[A+12>>2]-12>>2]|0,o=A+16|0,b0(n,o),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,o=$0(o),i[o>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),u=k,t=n,k=l[A+159|0],n=(k|0)<0,x(u,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]);i:{if(i[e+48>>2]){if(k=A+148|0,W0(k,r),t=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),u=x(A+12|0,20949,13),k=i[e+48>>2],n=V[i[i[k>>2]+8>>2]](k)|0,k=A+148|0,l[k+4|0]=0,l[k+11|0]=4,l[k+3|0]=n,l[k+2|0]=n>>>8,l[k+1|0]=n>>>16,l[k|0]=n>>>24,t=k,k=l[A+159|0],n=(k|0)<0,x(x(u,n?i[A+148>>2]:t,n?i[A+152>>2]:k),31338,1),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,e=i[e+48>>2],V[i[i[e>>2]+12>>2]](k,e,r),e=l[A+159|0],r=(e|0)<0,x(A+12|0,r?i[A+148>>2]:k,r?i[A+152>>2]:e),l[A+159|0]>=0)break i;G(i[A+148>>2]);break i}e=A+148|0,W0(e,r),k=e,e=l[A+159|0],r=(e|0)<0,x(A+12|0,r?i[A+148>>2]:k,r?i[A+152>>2]:e),l[A+159|0]<0&&G(i[A+148>>2]),e=A+12|0,x(e,31085,17),x(e,22231,17)}i2(f,o),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[o>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(o),T0(A+68|0),B=A+160|0}function Dr(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;t=B-48|0,B=t,k=i[f>>2],f=i[e+4>>2],e=i[e>>2],l[t+12|0]=0,l[t+23|0]=0,r=r0(t+24|0,e,f,t+12|0),f=i[k+116>>2];i:{if(f>>>0>2]){e=i[r+4>>2],i[f>>2]=i[r>>2],i[f+4>>2]=e,i[f+16>>2]=i[r+16>>2],e=i[r+12>>2],i[f+8>>2]=i[r+8>>2],i[f+12>>2]=e,i[r+16>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,i[k+116>>2]=f+20;break i}r:{e:{if(e=i[k+112>>2],n=(i[k+116>>2]-e|0)/20|0,f=n+1|0,f>>>0<214748365){if(e=(i[k+120>>2]-e|0)/20|0,u=e<<1,f=e>>>0>=107374182?214748364:f>>>0>>0?u:f,f){if(f>>>0>=214748365)break e;A=U(m(f,20))}e=m(n,20)+A|0,n=i[r+4>>2],i[e>>2]=i[r>>2],i[e+4>>2]=n,i[e+16>>2]=i[r+16>>2],n=i[r+12>>2],i[e+8>>2]=i[r+8>>2],i[e+12>>2]=n,i[r+16>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,w=m(f,20)+A|0,n=e+20|0,A=i[k+116>>2],o=i[k+112>>2];A:{if((A|0)==(o|0)){f=e;break A}for(;u=A-20|0,h=i[u+4>>2],f=e-20|0,i[f>>2]=i[u>>2],i[f+4>>2]=h,h=e-12|0,e=A-12|0,i[h+8>>2]=i[e+8>>2],A=i[e+4>>2],i[h>>2]=i[e>>2],i[h+4>>2]=A,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,e=f,A=u,(o|0)!=(A|0););A=i[k+116>>2],o=i[k+112>>2]}if(i[k+120>>2]=w,i[k+116>>2]=n,i[k+112>>2]=f,(A|0)!=(o|0))for(;l[A-1|0]<0&&G(i[A-12>>2]),A=A-20|0,(o|0)!=(A|0););o&&G(o);break r}y0(),P()}_2(),P()}if(f=l[r+19|0],i[k+116>>2]=n,(f|0)>=0)break i;G(i[r+8>>2])}l[t+23|0]<0&&G(i[t+12>>2]),B=t+48|0}function B8(f,e,r,A,k,n,t,o){var u=0,h=0,w=0,_=0,v=0;u=B-16|0,B=u,i[u+8>>2]=r,i[u+12>>2]=e,r=u+4|0,e=i[A+28>>2],i[r>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),h=x0(r,100192),O0(r),i[k>>2]=0,e=0;i:{for(;;){if(e|(t|0)==(o|0))break i;r:{if(J2(u+12|0,u+8|0))break r;e:{if((V[i[i[h>>2]+36>>2]](h,l[t|0],0)|0)==37){if((t+1|0)==(o|0))break r;r=0;A:{f:{if(e=V[i[i[h>>2]+36>>2]](h,l[t+1|0],0)|0,(e|0)==69||(w=1,(e&255)==48))break f;break A}if((t+2|0)==(o|0))break r;w=2,r=e,e=V[i[i[h>>2]+36>>2]](h,l[t+2|0],0)|0}_=u,v=V[i[i[f>>2]+36>>2]](f,i[u+12>>2],i[u+8>>2],A,k,n,e,r)|0,i[_+12>>2]=v,t=(t+w|0)+1|0;break e}if(e=l[t|0],(e|0)>=0?e=i[i[h+8>>2]+(e<<2)>>2]&1:e=0,e){for(;t=t+1|0,!!((o|0)!=(t|0)&&(e=l[t|0],(e|0)>=0?e=i[i[h+8>>2]+(e<<2)>>2]&1:e=0,e)););for(;;){if(r=u+12|0,J2(r,u+8|0))break e;e=i[r>>2],w=i[e+12>>2];A:{if((w|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break A}e=s[w|0]}if(e=e<<24>>24,(e|0)>=0?e=i[i[h+8>>2]+(e<<2)>>2]&1:e=0,!e)break e;E1(r)}}w=u+12|0,e=i[w>>2],r=i[e+12>>2];A:{if((r|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break A}e=s[r|0]}if((V[i[i[h>>2]+12>>2]](h,e<<24>>24)|0)==(V[i[i[h>>2]+12>>2]](h,l[t|0])|0)){t=t+1|0,E1(w);break e}i[k>>2]=4}e=i[k>>2];continue}break}i[k>>2]=4}return J2(u+12|0,u+8|0)&&(i[k>>2]=i[k>>2]|2),B=u+16|0,i[u+12>>2]}function nn(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0;f=B-16|0,B=f,i[f+12>>2]=r,i[f+8>>2]=n,i[f+12>>2]=r,i[f+8>>2]=n;i:{r:{for(;;){e:{if(e=i[f+12>>2],A>>>0<=e>>>0||(w=i[f+8>>2],w>>>0>=t>>>0))break e;n=l[e|0],r=n&255;A:{if((n|0)>=0){if(r>>>0>1114111)break r;n=1;break A}if(n>>>0<4294967234)break r;if(n>>>0<=4294967263){if(n=1,(A-e|0)<2||(n=2,u=s[e+1|0],(u&192)!=128))break i;r=u&63|r<<6&1984,n=2;break A}if(n>>>0<=4294967279){if(n=1,h=A-e|0,(h|0)<2)break i;u=s[e+1|0];f:{k:{if((r|0)!=237){if((r|0)!=224)break k;if((u&224)==160)break f;break r}if((u&224)==128)break f;break r}if((u&192)!=128)break r}if((h|0)==2)break i;if(n=s[e+2|0],(n&192)!=128)break r;r=n&63|(r<<12&61440|(u&63)<<6),n=3;break A}if(n>>>0>4294967284)break r;if(n=1,h=A-e|0,(h|0)<2)break i;u=s[e+1|0];f:{k:switch(r-240|0){case 0:if((u+112&255)>>>0>=48)break r;break f;case 4:if((u&240)!=128)break r;break f;default:break k}if((u&192)!=128)break r}if((h|0)==2)break i;if(_=s[e+2|0],(_&192)!=128)break r;if((h|0)==3)break i;if(h=s[e+3|0],(h&192)!=128)break r;if(n=2,r=h&63|(_<<6&4032|(r<<18&1835008|(u&63)<<12)),r>>>0>1114111)break i;n=4}i[w>>2]=r,i[f+12>>2]=e+n,i[f+8>>2]=i[f+8>>2]+4;continue}break}n=e>>>0>>0;break i}n=2}return i[k>>2]=i[f+12>>2],i[o>>2]=i[f+8>>2],B=f+16|0,n|0}function $w(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;n=B-32|0,B=n,t=V[i[i[e>>2]+32>>2]](e,r,0)|0,s[e+136|0]==1&&l2(r,i[e+56>>2]),s[e+137|0]==1&&l2(r,i[e+60>>2]),s[e+138|0]==1&&l2(r,i[e+64>>2]);i:{if(s[e+139|0]!=1)break i;if(s[e+68|0]==1){if(A=i0[e+72>>3],s[e+69|0]==1){A=A*1073741824;r:{if(d0(A)<2147483648){k=~~A;break r}k=-2147483648}l2(r,k),A=i0[e+80>>3]*1073741824;r:{if(d0(A)<2147483648){k=~~A;break r}k=-2147483648}if(l2(r,k),A=i0[e+88>>3]*1073741824,d0(A)<2147483648){l2(r,~~A);break i}l2(r,-2147483648);break i}A=A*16384;r:{if(d0(A)<2147483648){k=~~A;break r}k=-2147483648}w2(r,k),A=i0[e+80>>3]*16384;r:{if(d0(A)<2147483648){k=~~A;break r}k=-2147483648}if(w2(r,k),A=i0[e+88>>3]*16384,d0(A)<2147483648){w2(r,~~A);break i}w2(r,-2147483648);break i}A=i0[e+104>>3]*65536;r:{if(d0(A)<2147483648){k=~~A;break r}k=-2147483648}l2(r,k),A=i0[e+112>>3]*65536;r:{if(d0(A)<2147483648){k=~~A;break r}k=-2147483648}l2(r,k),A=i0[e+120>>3]*65536;r:{if(d0(A)<2147483648){k=~~A;break r}k=-2147483648}l2(r,k)}s[e+140|0]==1&&l2(r,i[e+128>>2]),i[r+12>>2]=t,V[i[i[e>>2]+36>>2]](n+12|0,e,r,i[r+4>>2]-(i[r>>2]+t|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[n+31|0]<0&&G(i[n+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=n+32|0}function tn(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0;f=B-16|0,B=f,i[f+12>>2]=r,i[f+8>>2]=n,i[f+12>>2]=r,i[f+8>>2]=n,r=i[f+12>>2];i:{r:{for(;;){if(r>>>0>=A>>>0){n=0;break i}n=2;e:{e=Q[r>>1];A:{if(e>>>0<=127){if(n=1,r=i[f+8>>2],(t-r|0)<=0)break i;i[f+8>>2]=r+1,l[r|0]=e;break A}if(e>>>0<=2047){if(r=i[f+8>>2],(t-r|0)<2)break r;i[f+8>>2]=r+1,l[r|0]=e>>>6|192,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=e&63|128;break A}if(e>>>0<=55295){if(r=i[f+8>>2],(t-r|0)<3)break r;i[f+8>>2]=r+1,l[r|0]=e>>>12|224,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=e>>>6&63|128,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=e&63|128;break A}if(e>>>0<=56319){if(n=1,(A-r|0)<3)break i;if(u=Q[r+2>>1],(u&64512)!=56320)break e;if((t-i[f+8>>2]|0)<4)break i;if(n=e&960,(u&1023|(e<<10&64512|n<<10))>>>0>1048575)break e;i[f+12>>2]=r+2,r=i[f+8>>2],i[f+8>>2]=r+1,h=r,r=(n>>>6|0)+1|0,l[h|0]=r>>>2|240,n=i[f+8>>2],i[f+8>>2]=n+1,l[n|0]=r<<4&48|e>>>2&15|128,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=u>>>6&15|e<<4&48|128,e=i[f+8>>2],i[f+8>>2]=e+1,l[e|0]=u&63|128;break A}if(e>>>0<57344)break i;if(r=i[f+8>>2],(t-r|0)<3)break r;i[f+8>>2]=r+1,l[r|0]=e>>>12|224,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=e>>>6&191,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=e&63|128}r=i[f+12>>2]+2|0,i[f+12>>2]=r;continue}break}n=2;break i}n=1}return i[k>>2]=i[f+12>>2],i[o>>2]=i[f+8>>2],B=f+16|0,n|0}function bw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-176|0,B=A,i[A+84>>2]=54820,k=i[13708],i[A+28>>2]=k,t=i[k-12>>2],k=A+28|0,i[t+k>>2]=i[13709],o=k+i[i[A+28>>2]-12>>2]|0,n=A+32|0,b0(o,n),i[o+72>>2]=0,i[o+76>>2]=-1,i[A+84>>2]=54820,i[A+28>>2]=54800,o=$0(n),i[o>>2]=53552,i[A+72>>2]=0,i[A+76>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A+80>>2]=16,n=A+164|0,Hr(n,e,r),u=k,t=n,k=l[A+175|0],n=(k|0)<0,x(u,n?i[A+164>>2]:t,n?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),t=i[e+12>>2],n=i[e+32>>2],k=i[e+8>>2];i:{if(!t&n>>>0<=k>>>0|t){if(e=i[e+48>>2],X[A+20>>1]=s[21439]|s[21440]<<8,l[A+27|0]=6,i[A+16>>2]=s[21435]|s[21436]<<8|(s[21437]<<16|s[21438]<<24),l[A+22|0]=0,X[A+8>>1]=s[21740]|s[21741]<<8,l[A+15|0]=6,i[A+4>>2]=s[21736]|s[21737]<<8|(s[21738]<<16|s[21739]<<24),l[A+10|0]=0,r=A+164|0,ck(r,e,k-n|0,A+16|0,A+4|0),k=r,e=l[A+175|0],r=(e|0)<0,x(A+28|0,r?i[A+164>>2]:k,r?i[A+168>>2]:e),l[A+175|0]<0&&G(i[A+164>>2]),l[A+15|0]<0&&G(i[A+4>>2]),l[A+27|0]>=0)break i;G(i[A+16>>2]);break i}k=A+164|0,W0(k,r),t=k,r=l[A+175|0],k=(r|0)<0,x(A+28|0,k?i[A+164>>2]:t,k?i[A+168>>2]:r),l[A+175|0]<0&&G(i[A+164>>2]),x(n4(x(A+28|0,19092,17),i[e+8>>2],i[e+12>>2]),31151,23)}i2(f,o),f=i[13707],i[A+28>>2]=f,i[i[f-12>>2]+(A+28|0)>>2]=i[13710],i[o>>2]=53552,l[A+75|0]<0&&G(i[A+64>>2]),K0(o),T0(A+84|0),B=A+176|0}function dw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;A=B+-64|0,B=A,i[A+60>>2]=0,i[A+56>>2]=0,$k(A+44|0,e,r,A+60|0,A+56|0);i:{if(i[A+44>>2]){e=i[A+48>>2],i[f>>2]=i[A+44>>2],i[f+4>>2]=e,i[f+8>>2]=i[A+52>>2];break i}r:{if((r|0)<12||(r=s[e+8|0],!r)||(n=s[e+9|0],!n)||(o=s[e+10|0],!o)||(e=s[e+11|0],!e))break r;k=e|(n<<16|r<<24|o<<8)}e=i[9233],i[A+24>>2]=i[9232],i[A+28>>2]=e,e=i[9231],i[A+16>>2]=i[9230],i[A+20>>2]=e,e=i[9229],i[A+8>>2]=i[9228],i[A+12>>2]=e,i[A+36>>2]=0,i[A+40>>2]=0,n=A+36|0,i[A+32>>2]=n,e=i[9227],i[A>>2]=i[9226],i[A+4>>2]=e,e=A+32|0,jr(e,A,e),o=i[A+36>>2];r:{e:{if(o){for(r=n,e=o;u=r,h=e,t=k0[e+16>>2]>>0,r=t?r:e,e=i[(t<<2)+e>>2],!!e;);if(!((r|0)!=(n|0)&k0[(t?u:h)+16>>2]<=k>>>0)){if(k=i[A+60>>2],_=i[A+56>>2],!o|(_|0)<=0)break e;for(t=0;;){for(v=i[(t<<2)+k>>2],r=n,e=o;u=r,h=e,w=k0[e+16>>2]>>0,r=w?r:e,e=i[(w<<2)+e>>2],!!e;);if(!((r|0)==(n|0)|k0[(w?u:h)+16>>2]>v>>>0)){k&&G(k),e=i[18553],i[f>>2]=i[18552],i[f+4>>2]=e,i[f+8>>2]=i[18554];break r}if(t=t+1|0,(_|0)==(t|0))break}break e}e=i[A+60>>2],e&&G(e),e=i[18553],i[f>>2]=i[18552],i[f+4>>2]=e,i[f+8>>2]=i[18554];break r}k=i[A+60>>2]}k&&G(k),i[f>>2]=2,i[f+4>>2]=3001,i[f+8>>2]=17987}P8(A+32|0,i[A+36>>2])}B=A- -64|0}function cw(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0,t=0,o=0,u=0;A=B-16|0,B=A;i:{r:{if(!i[f+64>>2])break r;if(!(s[f+92|0]&16)){i[f+16>>2]=0,i[f+12>>2]=0,i[f+8>>2]=0,r=i[f+52>>2];e:{if(r>>>0>=9){if(s[f+98|0]==1){n=r,r=i[f+32>>2],i[f+28>>2]=(n+r|0)-1,i[f+20>>2]=r,i[f+24>>2]=r;break e}r=i[f+56>>2],i[f+28>>2]=(r+i[f+60>>2]|0)-1,i[f+20>>2]=r,i[f+24>>2]=r;break e}i[f+28>>2]=0,i[f+20>>2]=0,i[f+24>>2]=0}i[f+92>>2]=16}if(t=i[f+20>>2],o=i[f+28>>2],(e|0)!=-1&&(i[f+24>>2]||(i[f+28>>2]=A+16,r=A+15|0,i[f+20>>2]=r,i[f+24>>2]=r),l[i[f+24>>2]]=e<<24>>24,i[f+24>>2]=i[f+24>>2]+1),k=i[f+24>>2],r=i[f+20>>2],(k|0)!=(r|0)){e:{if(s[f+98|0]==1){if(n=r,r=k-r|0,(F1(n,1,r,i[f+64>>2])|0)!=(r|0))break r;break e}for(i[A+8>>2]=i[f+32>>2],u=f+72|0;;){if(r=i[f+68>>2],r){if(k=i[f+32>>2],r=V[i[i[r>>2]+12>>2]](r,u,i[f+20>>2],i[f+24>>2],A+4|0,k,k+i[f+52>>2]|0,A+8|0)|0,i[f+20>>2]==i[A+4>>2])break r;if((r|0)==3){if(r=i[f+24>>2]-i[f+20>>2]|0,(F1(i[f+20>>2],1,r,i[f+64>>2])|0)!=(r|0))break r;break e}if(r>>>0>1||(n=i[f+32>>2],k=i[A+8>>2]-n|0,(F1(n,1,k,i[f+64>>2])|0)!=(k|0)))break r;if((r|0)!=1)break e;r=i[A+4>>2],i[f+28>>2]=i[f+24>>2],i[f+20>>2]=r,i[f+24>>2]=r,i[f+24>>2]=i[f+24>>2]+(i[f+28>>2]-i[f+20>>2]|0);continue}break}u1(),P()}i[f+28>>2]=o,i[f+20>>2]=t,i[f+24>>2]=t}f=(e|0)!=-1?e:0;break i}f=-1}return B=A+16|0,f|0}function Ur(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0;v=B-2048|0,B=v;i:{if((e|0)<2){h=-1,E=6,o=-2,J=32,u=5;break i}for(k=e;h=n,n=n+1|0,u=k>>>0>3,k=k>>>1|0,!!u;);for(n=0,k=e;t=n,n=n+1|0,u=k>>>0>3,k=k>>>1|0,!!u;);for(o=h-1|0,n=0,k=e;u=n,n=n+1|0,Z=k>>>0>3,k=k>>>1|0,!!Z;);J=64<>1],y=t,t=(w<<5)+43984|0,n=m(D,l[y+t|0])+(m(X[I+(m(A,k)<<1)>>1],l[k+t|0])+n|0)|0,k=k+2|0,_=_+2|0,(C|0)!=(_|0););if(t=(m(e,o)+W<<1)+v|0,Z&&(n=m(X[I+(m(A,k)<<1)>>1],l[((w<<5)+k|0)+43984|0])+n|0),X[t>>1]=n+p>>h,o=o+1|0,(o|0)==(e|0))break}if(W=W+1|0,(W|0)==(e|0))break}if((e|0)<=0)break i;for(C=e&2147483646,Z=e&1,h=0;;){for(w=m(e,h),t=(w<<1)+f|0,r=0;;){if(p=r<>1],y=A,A=(p<<5)+43984|0,n=m(o,l[y+A|0])+(m(X[(k+w<<1)+v>>1],l[A+k|0])+n|0)|0,k=k+2|0,_=_+2|0,(C|0)!=(_|0););if(A=t+(r<<1)|0,Z&&(n=m(X[(k+w<<1)+v>>1],l[((p<<5)+k|0)+43984|0])+n|0),X[A>>1]=n+J>>E,r=r+1|0,(r|0)==(e|0))break}if(h=h+1|0,(h|0)==(e|0))break}}B=v+2048|0}function i_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=Y(0);for(f=B-256|0,B=f,i[f+248>>2]=r,i[f+252>>2]=e,u3(f+192|0,A,f+208|0,f+207|0,f+206|0),r=B-16|0,B=r,e=f+180|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+176>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0,l[f+7|0]=1,l[f+6|0]=69;;){i:{if(J2(f+252|0,f+248|0))break i;t=i[f+176>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+176>>2]=A+r),t=f+252|0,A=i[t>>2],o=i[A+12>>2];r:{if((o|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=s[o|0]}if(EA(A<<24>>24,f+7|0,f+6|0,r,f+176|0,l[f+207|0],l[f+206|0],f+192|0,f+16|0,f+12|0,f+8|0,f+208|0))break i;E1(t);continue}break}s[f+203|0]>>>7|0?A=i[f+196>>2]:A=s[f+203|0]&127;i:{if(!A|s[f+7|0]!=1||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return u=n,h=r9(r,i[f+176>>2],k),Z0[u>>2]=h,K1(f+192|0,f+16|0,i[f+12>>2],k),J2(f+252|0,f+248|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+252>>2],z0(e),z0(f+192|0),B=f+256|0,r|0}function P2(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;if(k=i[f+4>>2],r=i[f+8>>2],k>>>0>>0){r=i[e+4>>2],i[k>>2]=i[e>>2],i[k+4>>2]=r,r=i[e+12>>2],i[k+8>>2]=i[e+8>>2],i[k+12>>2]=r,i[k+16>>2]=72992,i[k+20>>2]=i[e+20>>2],r=s[e+23|0]|s[e+24|0]<<8|(s[e+25|0]<<16|s[e+26|0]<<24),l[k+23|0]=r,l[k+24|0]=r>>>8,l[k+25|0]=r>>>16,l[k+26|0]=r>>>24,i[k+28>>2]=i[e+28>>2],i[f+4>>2]=k+32;return}i:{if(o=i[f>>2],t=k-o>>5,n=t+1|0,n>>>0<134217728){if(A=r-o|0,r=A>>4,u=A>>>0>=2147483616?134217727:r>>>0>n>>>0?r:n,u){if(u>>>0>=134217728)break i;n=U(u<<5)}else n=0;r=n+(t<<5)|0,A=i[e+4>>2],i[r>>2]=i[e>>2],i[r+4>>2]=A,t=i[e+12>>2],A=i[e+8>>2],i[r+16>>2]=72992,i[r+8>>2]=A,i[r+12>>2]=t,i[r+20>>2]=i[e+20>>2],A=s[e+23|0]|s[e+24|0]<<8|(s[e+25|0]<<16|s[e+26|0]<<24),l[r+23|0]=A,l[r+24|0]=A>>>8,l[r+25|0]=A>>>16,l[r+26|0]=A>>>24,i[r+28>>2]=i[e+28>>2],u=n+(u<<5)|0,h=r+32|0;r:{if((k|0)==(o|0)){e=r;break r}for(;n=k-32|0,A=i[n+4>>2],e=r-32|0,i[e>>2]=i[n>>2],i[e+4>>2]=A,A=i[n+12>>2],i[e+8>>2]=i[n+8>>2],i[e+12>>2]=A,i[r-16>>2]=72992,t=r-12|0,A=k-12|0,i[t>>2]=i[A>>2],A=s[A+3|0]|s[A+4|0]<<8|(s[A+5|0]<<16|s[A+6|0]<<24),l[t+3|0]=A,l[t+4|0]=A>>>8,l[t+5|0]=A>>>16,l[t+6|0]=A>>>24,i[r-4>>2]=i[k-4>>2],r=e,k=n,(k|0)!=(o|0););o=i[f>>2]}i[f+8>>2]=u,i[f+4>>2]=h,i[f>>2]=e,o&&G(o),i[f+4>>2]=h;return}y0(),P()}_2(),P()}function r_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0;for(f=B-256|0,B=f,i[f+248>>2]=r,i[f+252>>2]=e,u3(f+192|0,A,f+208|0,f+207|0,f+206|0),r=B-16|0,B=r,e=f+180|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+176>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0,l[f+7|0]=1,l[f+6|0]=69;;){i:{if(J2(f+252|0,f+248|0))break i;t=i[f+176>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+176>>2]=A+r),t=f+252|0,A=i[t>>2],o=i[A+12>>2];r:{if((o|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=s[o|0]}if(EA(A<<24>>24,f+7|0,f+6|0,r,f+176|0,l[f+207|0],l[f+206|0],f+192|0,f+16|0,f+12|0,f+8|0,f+208|0))break i;E1(t);continue}break}s[f+203|0]>>>7|0?A=i[f+196>>2]:A=s[f+203|0]&127;i:{if(!A|s[f+7|0]!=1||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return u=n,h=A9(r,i[f+176>>2],k),i0[u>>3]=h,K1(f+192|0,f+16|0,i[f+12>>2],k),J2(f+252|0,f+248|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+252>>2],z0(e),z0(f+192|0),B=f+256|0,r|0}function e_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=Y(0);for(f=B-368|0,B=f,i[f+360>>2]=r,i[f+364>>2]=e,l3(f+204|0,A,f+224|0,f+220|0,f+216|0),r=B-16|0,B=r,e=f+192|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+188>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0,l[f+7|0]=1,l[f+6|0]=69;;){i:{if(g2(f+364|0,f+360|0))break i;t=i[f+188>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+188>>2]=A+r),t=f+364|0,A=i[t>>2],o=i[A+12>>2];r:{if((o|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=i[o>>2]}if(FA(A,f+7|0,f+6|0,r,f+188|0,i[f+220>>2],i[f+216>>2],f+204|0,f+16|0,f+12|0,f+8|0,f+224|0))break i;Y1(t);continue}break}s[f+215|0]>>>7|0?A=i[f+208>>2]:A=s[f+215|0]&127;i:{if(!A|s[f+7|0]!=1||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return u=n,h=r9(r,i[f+188>>2],k),Z0[u>>2]=h,K1(f+204|0,f+16|0,i[f+12>>2],k),g2(f+364|0,f+360|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+364>>2],z0(e),z0(f+204|0),B=f+368|0,r|0}function A_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0;for(f=B-368|0,B=f,i[f+360>>2]=r,i[f+364>>2]=e,l3(f+204|0,A,f+224|0,f+220|0,f+216|0),r=B-16|0,B=r,e=f+192|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+188>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0,l[f+7|0]=1,l[f+6|0]=69;;){i:{if(g2(f+364|0,f+360|0))break i;t=i[f+188>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+188>>2]=A+r),t=f+364|0,A=i[t>>2],o=i[A+12>>2];r:{if((o|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=i[o>>2]}if(FA(A,f+7|0,f+6|0,r,f+188|0,i[f+220>>2],i[f+216>>2],f+204|0,f+16|0,f+12|0,f+8|0,f+224|0))break i;Y1(t);continue}break}s[f+215|0]>>>7|0?A=i[f+208>>2]:A=s[f+215|0]&127;i:{if(!A|s[f+7|0]!=1||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return u=n,h=A9(r,i[f+188>>2],k),i0[u>>3]=h,K1(f+204|0,f+16|0,i[f+12>>2],k),g2(f+364|0,f+360|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+364>>2],z0(e),z0(f+204|0),B=f+368|0,r|0}function on(f,e,r){var A=0,k=0,n=0;i:{r:{if(!r){if(i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,r=i[e+156>>2],e=i[e+152>>2],(r|0)==(e|0))break r;if(k=r-e|0,(k|0)<0)break i;for(A=U(k),i[f+4>>2]=A,i[f>>2]=A,i[f+8>>2]=A+k;i[A>>2]=i[e>>2],k=i[e+4>>2],i[A+4>>2]=k,k&&(i[k+4>>2]=i[k+4>>2]+1),A=A+8|0,e=e+8|0,(r|0)!=(e|0););i[f+4>>2]=A;return}if(i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,A=i[e+152>>2],k=i[e+156>>2],(A|0)==(k|0))break r;if(n=r&4,!(r&2)){if(e=0,!n)for(;;){e:{if(k0[f+8>>2]<=e>>>0){e=Q2(f,A);break e}i[e>>2]=i[A>>2],r=i[A+4>>2],i[e+4>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),e=e+8|0}if(i[f+4>>2]=e,A=A+8|0,(k|0)==(A|0))break r}for(;;){if(r=i[A>>2],!s[r+60|0]){e:{if(k0[f+8>>2]<=e>>>0){e=Q2(f,A);break e}i[e>>2]=r,r=i[A+4>>2],i[e+4>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),e=e+8|0}i[f+4>>2]=e}if(A=A+8|0,(k|0)==(A|0))break}break r}if(e=0,!n)for(;;){if(r=i[A>>2],!s[r+48|0]){e:{if(k0[f+8>>2]<=e>>>0){e=Q2(f,A);break e}i[e>>2]=r,r=i[A+4>>2],i[e+4>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),e=e+8|0}i[f+4>>2]=e}if(A=A+8|0,(k|0)==(A|0))break r}for(;;){if(r=i[A>>2],!(s[r+48|0]|s[r+60|0])){e:{if(k0[f+8>>2]>e>>>0){i[e>>2]=r,r=i[A+4>>2],i[e+4>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),e=e+8|0;break e}e=Q2(f,A)}i[f+4>>2]=e}if(A=A+8|0,(k|0)==(A|0))break}}return}y0(),P()}function f_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;k=B-32|0,B=k,yA(k+8|0,e,r);i:{if(i[k+8>>2]){e=i[k+12>>2],i[f>>2]=i[k+8>>2],i[f+4>>2]=e,i[f+16>>2]=i[k+24>>2],e=i[k+20>>2],i[f+8>>2]=i[k+16>>2],i[f+12>>2]=e,i[k+24>>2]=0,i[k+16>>2]=0,i[k+20>>2]=0;break i}p=e,W=t2(r),X[p+72>>1]=W,p=e,W=t2(r),X[p+74>>1]=W;r:{if(i[e+64>>2]==i[e+60>>2])break r;e:{for(;;){A:{h=t2(r),w=t2(r),_=t2(r),n=i[e+80>>2],A=i[e+84>>2];f:{if(n>>>0>>0){X[n+4>>1]=_,X[n+2>>1]=w,X[n>>1]=h,h=n+6|0;break f}if(o=i[e+76>>2],t=(n-o|0)/6|0,u=t+1|0,u>>>0>=715827883)break A;if(Z=m(t,6),A=(A-o|0)/6|0,t=A<<1,t=A>>>0>=357913941?715827882:t>>>0>u>>>0?t:u,t){if(t>>>0>=715827883)break e;u=U(m(t,6))}else u=0;if(A=Z+u|0,X[A+4>>1]=_,X[A+2>>1]=w,X[A>>1]=h,h=A+6|0,(n|0)!=(o|0)){for(;A=A-6|0,n=n-6|0,w=Q[n>>1]|Q[n+2>>1]<<16,X[A>>1]=w,X[A+2>>1]=w>>>16,X[A+4>>1]=Q[n+4>>1],(n|0)!=(o|0););o=i[e+76>>2]}if(i[e+84>>2]=u+m(t,6),i[e+80>>2]=h,i[e+76>>2]=A,!o)break f;G(o)}if(i[e+80>>2]=h,v=v+1|0,v>>>0>2]-i[e+60>>2]>>2>>>0)continue;break r}break}y0(),P()}_2(),P()}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}l[k+27|0]<0&&G(i[k+16>>2]),B=k+32|0}function k_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;for(f=B-256|0,B=f,i[f+248>>2]=r,i[f+252>>2]=e,e=B-16|0,B=e,o=f+196|0,i[o>>2]=0,i[o+4>>2]=0,i[o+8>>2]=0,B=e+16|0,t=f+16|0,e=i[A+28>>2],i[t>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(t,100192),V[i[i[e>>2]+32>>2]](e,60064,60090,f+208|0)|0,O0(t),e=B-16|0,B=e,r=f+184|0,i[r>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,B=e+16|0,h2(r,s[r+11|0]>>>7|0?(i[r+8>>2]&2147483647)-1|0:10),s[r+11|0]>>>7|0?e=i[r>>2]:e=r,i[f+180>>2]=e,i[f+12>>2]=t,i[f+8>>2]=0;;){i:{if(J2(f+252|0,f+248|0))break i;t=i[f+180>>2],s[r+11|0]>>>7|0?A=i[r+4>>2]:A=s[r+11|0]&127,(t|0)==(A+e|0)&&(s[r+11|0]>>>7|0?e=i[r+4>>2]:e=s[r+11|0]&127,s[r+11|0]>>>7|0?A=i[r+4>>2]:A=s[r+11|0]&127,h2(r,A<<1),h2(r,s[r+11|0]>>>7|0?(i[r+8>>2]&2147483647)-1|0:10),A=e,s[r+11|0]>>>7|0?e=i[r>>2]:e=r,i[f+180>>2]=A+e),u=f+252|0,A=i[u>>2],t=i[A+12>>2];r:{if((t|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=s[t|0]}if(Gi(A<<24>>24,16,e,f+180|0,f+8|0,0,o,f+16|0,f+12|0,f+208|0))break i;E1(u);continue}break}return h2(r,i[f+180>>2]-e|0),s[r+11|0]>>>7|0?e=i[r>>2]:e=r,A=M2(),i[f>>2]=n,(P9(e,A,f)|0)!=1&&(i[k>>2]=4),J2(f+252|0,f+248|0)&&(i[k>>2]=i[k>>2]|2),e=i[f+252>>2],z0(r),z0(o),B=f+256|0,e|0}function n_(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;h=B-16|0,B=h;i:{if((r|0)<0)break i;f=i[f>>2],n=i[f+48>>2],f=i[f+52>>2],f&&(i[f+4>>2]=i[f+4>>2]+1),o=i[n+76>>2],u=i[n+80>>2],u&&(i[u+4>>2]=i[u+4>>2]+1);r:{if(!f||(n=i[f+4>>2],i[f+4>>2]=n-1,n))break r;V[i[i[f>>2]+8>>2]](f),g(f)}r:{if(!o){n=0;break r}oe(h+4|0,o,e),f=i[h+8>>2],o=i[h+4>>2];e:{if(((f-o|0)/56|0)>(r|0)){r=o+m(r,56)|0,A&&(i[A>>2]=i[r+16>>2]);A:{if(!k){e=i[r+44>>2],n=i[r+48>>2];break A}if(e=i[r+48>>2]-i[r+44>>2]|0,w=U((e|0)<0?-1:e),i[k>>2]=w,e=i[r+44>>2],n=i[r+48>>2],(e|0)==(n|0)){e=n;break A}if(A=n-e>>2,t=A>>>0<=1?1:A,v=t&3,k=0,r=0,A>>>0>=4)for(Z=t&-4,A=0;t=r<<2,i[t+w>>2]=i[e+t>>2],_=t|4,i[_+w>>2]=i[e+_>>2],_=t|8,i[_+w>>2]=i[e+_>>2],t=t|12,i[t+w>>2]=i[e+t>>2],r=r+4|0,A=A+4|0,(Z|0)!=(A|0););if(!v)break A;for(;A=r<<2,i[A+w>>2]=i[e+A>>2],r=r+1|0,k=k+1|0,(v|0)!=(k|0););}n=n-e>>2;break e}if(n=0,!o)break r}if(r=o,(r|0)!=(f|0)){for(;e=i[f-12>>2],e&&(i[f-8>>2]=e,G(e)),e=f-56|0,i[e>>2]=68500,r=i[f-36>>2],r&&(i[f-32>>2]=r,G(r)),f=e,(o|0)!=(f|0););r=i[h+4>>2]}i[h+8>>2]=o,G(r)}if(!u||(f=i[u+4>>2],i[u+4>>2]=f-1,f))break i;V[i[i[u>>2]+8>>2]](u),g(u)}return B=h+16|0,n|0}function t_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;for(f=B-320|0,B=f,i[f+312>>2]=r,i[f+316>>2]=e,e=B-16|0,B=e,o=f+196|0,i[o>>2]=0,i[o+4>>2]=0,i[o+8>>2]=0,B=e+16|0,t=f+16|0,e=i[A+28>>2],i[t>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(t,100184),V[i[i[e>>2]+48>>2]](e,60064,60090,f+208|0)|0,O0(t),e=B-16|0,B=e,r=f+184|0,i[r>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,B=e+16|0,h2(r,s[r+11|0]>>>7|0?(i[r+8>>2]&2147483647)-1|0:10),s[r+11|0]>>>7|0?e=i[r>>2]:e=r,i[f+180>>2]=e,i[f+12>>2]=t,i[f+8>>2]=0;;){i:{if(g2(f+316|0,f+312|0))break i;t=i[f+180>>2],s[r+11|0]>>>7|0?A=i[r+4>>2]:A=s[r+11|0]&127,(t|0)==(A+e|0)&&(s[r+11|0]>>>7|0?e=i[r+4>>2]:e=s[r+11|0]&127,s[r+11|0]>>>7|0?A=i[r+4>>2]:A=s[r+11|0]&127,h2(r,A<<1),h2(r,s[r+11|0]>>>7|0?(i[r+8>>2]&2147483647)-1|0:10),A=e,s[r+11|0]>>>7|0?e=i[r>>2]:e=r,i[f+180>>2]=A+e),u=f+316|0,A=i[u>>2],t=i[A+12>>2];r:{if((t|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=i[t>>2]}if(Ci(A,16,e,f+180|0,f+8|0,0,o,f+16|0,f+12|0,f+208|0))break i;Y1(u);continue}break}return h2(r,i[f+180>>2]-e|0),s[r+11|0]>>>7|0?e=i[r>>2]:e=r,A=M2(),i[f>>2]=n,(P9(e,A,f)|0)!=1&&(i[k>>2]=4),g2(f+316|0,f+312|0)&&(i[k>>2]=i[k>>2]|2),e=i[f+316>>2],z0(r),z0(o),B=f+320|0,e|0}function o_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,k=i[13708],i[A+12>>2]=k,n=i[k-12>>2],k=A+12|0,i[n+k>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),u=k,o=n,k=l[A+159|0],n=(k|0)<0,x(u,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=x(L0(x(A+12|0,21348,13),i[e+56>>2]),31338,1),n=A+148|0,W0(n,r),o=n,n=l[A+159|0],u=(n|0)<0,x(k,u?i[A+148>>2]:o,u?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=x(k,20963,14),k=i[e+60>>2],l[A+11|0]=4,l[A+3|0]=k,l[A+2|0]=k>>>8,l[A+1|0]=k>>>16,l[A|0]=k>>>24,l[A+4|0]=0,k=x(x(n,A,4),31338,1),n=A+148|0,W0(n,r),o=n,r=l[A+159|0],n=(r|0)<0,x(k,n?i[A+148>>2]:o,n?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),n=x(k,21086,6),r=l[e+87|0],k=(r|0)<0,x(x(n,k?i[e+76>>2]:e+76|0,k?i[e+80>>2]:r),31338,1),l[A+11|0]<0&&G(i[A>>2]),i2(f,t),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function l_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0;for(f=B-336|0,B=f,i[f+328>>2]=r,i[f+332>>2]=e,o=A8(A),h=x6(A,f+208|0),U6(f+196|0,A,f+324|0),r=B-16|0,B=r,e=f+184|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0;;){i:{if(g2(f+332|0,f+328|0))break i;t=i[f+180>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=A+r),t=f+332|0,A=i[t>>2],u=i[A+12>>2];r:{if((u|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=i[u>>2]}if(Ci(A,o,r,f+180|0,f+8|0,i[f+324>>2],f+196|0,f+16|0,f+12|0,h))break i;Y1(t);continue}break}s[f+207|0]>>>7|0?A=i[f+200>>2]:A=s[f+207|0]&127;i:{if(!A||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return w=n,_=d7(r,i[f+180>>2],k,o),i[w>>2]=_,i[n+4>>2]=w0,K1(f+196|0,f+16|0,i[f+12>>2],k),g2(f+332|0,f+328|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+332>>2],z0(e),z0(f+196|0),B=f+336|0,r|0}function u_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0;for(f=B-336|0,B=f,i[f+328>>2]=r,i[f+332>>2]=e,o=A8(A),h=x6(A,f+208|0),U6(f+196|0,A,f+324|0),r=B-16|0,B=r,e=f+184|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0;;){i:{if(g2(f+332|0,f+328|0))break i;t=i[f+180>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=A+r),t=f+332|0,A=i[t>>2],u=i[A+12>>2];r:{if((u|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=i[u>>2]}if(Ci(A,o,r,f+180|0,f+8|0,i[f+324>>2],f+196|0,f+16|0,f+12|0,h))break i;Y1(t);continue}break}s[f+207|0]>>>7|0?A=i[f+200>>2]:A=s[f+207|0]&127;i:{if(!A||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return w=n,_=D7(r,i[f+180>>2],k,o),i[w>>2]=_,i[n+4>>2]=w0,K1(f+196|0,f+16|0,i[f+12>>2],k),g2(f+332|0,f+328|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+332>>2],z0(e),z0(f+196|0),B=f+336|0,r|0}function s_(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0,Z=0;u=B-256|0,B=u,i[u+248>>2]=37,i[u+252>>2]=0,w=u+248|0,_=Ae(w|1,15076,i[r+4>>2]),h=u+208|0,i[u+204>>2]=h,f=M2();i:{if(_){Z=i[r+8>>2],v=u- -64|0,i[v>>2]=t,i[v+4>>2]=o,i[u+56>>2]=k,i[u+60>>2]=n,i[u+48>>2]=Z,f=b1(h,30,f,w,u+48|0);break i}i[u+80>>2]=k,i[u+84>>2]=n,i[u+88>>2]=t,i[u+92>>2]=o,f=b1(u+208|0,30,f,u+248|0,u+80|0)}i[u+128>>2]=1094,w=o1(u+196|0,0,u+128|0),h=u+208|0;i:{r:{if((f|0)>=30){f=M2();e:{if(_){h=i[r+8>>2],i[u+16>>2]=t,i[u+20>>2]=o,i[u+8>>2]=k,i[u+12>>2]=n,i[u>>2]=h,f=c4(u+204|0,f,u+248|0,u);break e}i[u+32>>2]=k,i[u+36>>2]=n,i[u+40>>2]=t,i[u+44>>2]=o,f=c4(u+204|0,f,u+248|0,u+32|0)}if((f|0)==-1)break r;k=i[w>>2],i[w>>2]=i[u+204>>2],k&&V[i[w+4>>2]](k),h=i[u+204>>2]}k=h,h=f+h|0,_=X4(k,h,r),i[u+128>>2]=1094,k=u+128|0,n=o1(u+120|0,0,k),t=i[u+204>>2];e:{if((t|0)==(u+208|0)){f=k;break e}if(f=Z2(f<<1),!f)break r;k=i[n>>2],i[n>>2]=f,k&&V[i[n+4>>2]](k),t=i[u+204>>2]}o=u+108|0,k=i[r+28>>2],i[o>>2]=k,(k|0)!=100008&&(i[k+4>>2]=i[k+4>>2]+1),dk(t,_,h,f,u+116|0,u+112|0,o),O0(o),f=G8(e,f,i[u+116>>2],i[u+112>>2],r,A),e=i[n>>2],i[n>>2]=0,e&&V[i[n+4>>2]](e),e=i[w>>2],i[w>>2]=0,e&&V[i[w+4>>2]](e),B=u+256|0;break i}u1(),P()}return f|0}function h_(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0,Z=0;u=B-416|0,B=u,i[u+408>>2]=37,i[u+412>>2]=0,w=u+408|0,_=Ae(w|1,15076,i[r+4>>2]),h=u+368|0,i[u+364>>2]=h,f=M2();i:{if(_){Z=i[r+8>>2],v=u- -64|0,i[v>>2]=t,i[v+4>>2]=o,i[u+56>>2]=k,i[u+60>>2]=n,i[u+48>>2]=Z,f=b1(h,30,f,w,u+48|0);break i}i[u+80>>2]=k,i[u+84>>2]=n,i[u+88>>2]=t,i[u+92>>2]=o,f=b1(u+368|0,30,f,u+408|0,u+80|0)}i[u+128>>2]=1094,w=o1(u+356|0,0,u+128|0),h=u+368|0;i:{r:{if((f|0)>=30){f=M2();e:{if(_){h=i[r+8>>2],i[u+16>>2]=t,i[u+20>>2]=o,i[u+8>>2]=k,i[u+12>>2]=n,i[u>>2]=h,f=c4(u+364|0,f,u+408|0,u);break e}i[u+32>>2]=k,i[u+36>>2]=n,i[u+40>>2]=t,i[u+44>>2]=o,f=c4(u+364|0,f,u+408|0,u+32|0)}if((f|0)==-1)break r;k=i[w>>2],i[w>>2]=i[u+364>>2],k&&V[i[w+4>>2]](k),h=i[u+364>>2]}k=h,h=f+h|0,_=X4(k,h,r),i[u+128>>2]=1094,k=u+128|0,n=o1(u+120|0,0,k),t=i[u+364>>2];e:{if((t|0)==(u+368|0)){f=k;break e}if(f=Z2(f<<3),!f)break r;k=i[n>>2],i[n>>2]=f,k&&V[i[n+4>>2]](k),t=i[u+364>>2]}o=u+108|0,k=i[r+28>>2],i[o>>2]=k,(k|0)!=100008&&(i[k+4>>2]=i[k+4>>2]+1),bk(t,_,h,f,u+116|0,u+112|0,o),O0(o),f=X8(e,f,i[u+116>>2],i[u+112>>2],r,A),e=i[n>>2],i[n>>2]=0,e&&V[i[n+4>>2]](e),e=i[w>>2],i[w>>2]=0,e&&V[i[w+4>>2]](e),B=u+416|0;break i}u1(),P()}return f|0}function Z8(f,e,r,A,k,n,t,o){var u=0,h=0,w=0,_=0,v=0;u=B-16|0,B=u,i[u+8>>2]=r,i[u+12>>2]=e,r=u+4|0,e=i[A+28>>2],i[r>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),h=x0(r,100184),O0(r),i[k>>2]=0,e=0;i:{for(;;){if(e|(t|0)==(o|0))break i;r:{if(g2(u+12|0,u+8|0))break r;e:{if((V[i[i[h>>2]+52>>2]](h,i[t>>2],0)|0)==37){if((t+4|0)==(o|0))break r;r=0;A:{f:{if(e=V[i[i[h>>2]+52>>2]](h,i[t+4>>2],0)|0,(e|0)==69||(w=4,(e&255)==48))break f;break A}if((t+8|0)==(o|0))break r;w=8,r=e,e=V[i[i[h>>2]+52>>2]](h,i[t+8>>2],0)|0}_=u,v=V[i[i[f>>2]+36>>2]](f,i[u+12>>2],i[u+8>>2],A,k,n,e,r)|0,i[_+12>>2]=v,t=(t+w|0)+4|0;break e}if(V[i[i[h>>2]+12>>2]](h,1,i[t>>2])|0){for(;t=t+4|0,!!((o|0)!=(t|0)&&V[i[i[h>>2]+12>>2]](h,1,i[t>>2])|0););for(;;){if(r=u+12|0,g2(r,u+8|0))break e;e=i[r>>2],w=i[e+12>>2];A:{if((w|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break A}e=i[w>>2]}if(!(V[i[i[h>>2]+12>>2]](h,1,e)|0))break e;Y1(r)}}w=u+12|0,e=i[w>>2],r=i[e+12>>2];A:{if((r|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break A}e=i[r>>2]}if((V[i[i[h>>2]+28>>2]](h,e)|0)==(V[i[i[h>>2]+28>>2]](h,i[t>>2])|0)){t=t+4|0,Y1(w);break e}i[k>>2]=4}e=i[k>>2];continue}break}i[k>>2]=4}return g2(u+12|0,u+8|0)&&(i[k>>2]=i[k>>2]|2),B=u+16|0,i[u+12>>2]}function ln(f,e){var r=0,A=0,k=0,n=0,t=0;i:{r:{e:{A:{f:{r=i[f+4>>2];k:{if((r|0)!=i[f+104>>2]){i[f+4>>2]=r+1,r=s[r|0];break k}r=I2(f)}switch(r-43|0){case 0:case 2:break f;default:break A}}t=(r|0)==45,e=!e,r=i[f+4>>2];f:{if((r|0)!=i[f+104>>2]){i[f+4>>2]=r+1,r=s[r|0];break f}r=I2(f)}if(A=r-58|0,e|A>>>0>4294967285)break e;if(i[f+116>>2]<0)break r;i[f+4>>2]=i[f+4>>2]-1;break r}A=r-58|0}if(A>>>0<4294967286)break r;e:{if(r-48>>>0>=10)break e;for(;;){k=(m(k,10)+r|0)-48|0,n=(k|0)<214748364,r=i[f+4>>2];A:{if((r|0)!=i[f+104>>2]){i[f+4>>2]=r+1,r=s[r|0];break A}r=I2(f)}if(e=r-48|0,!(n&e>>>0<=9))break}if(n=k>>31,e>>>0>=10)break e;for(;;){e=r,r=q0(k,n,10,0),A=e+r|0,e=w0,k=A-48|0,A=(r>>>0>A>>>0?e+1|0:e)-(A>>>0<48)|0,n=A,A=k>>>0<2061584302&(A|0)<=21474836|(A|0)<21474836,r=i[f+4>>2];A:{if((r|0)!=i[f+104>>2]){i[f+4>>2]=r+1,r=s[r|0];break A}r=I2(f)}if(e=r-48|0,!(A&e>>>0<=9))break}if(e>>>0>=10)break e;for(;;){e=i[f+4>>2];A:{if((e|0)!=i[f+104>>2]){i[f+4>>2]=e+1,e=s[e|0];break A}e=I2(f)}if(!(e-48>>>0<10))break}}e=i[f+116>>2],(e|0)>0?e=1:e=(e|0)>=0,e&&(i[f+4>>2]=i[f+4>>2]-1),f=k,k=t?0-f|0:f,n=t?0-(((f|0)!=0)+n|0)|0:n;break i}if(n=-2147483648,i[f+116>>2]<0)break i;return i[f+4>>2]=i[f+4>>2]-1,w0=-2147483648,0}return w0=n,k}function w_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0;for(f=B-256|0,B=f,i[f+248>>2]=r,i[f+252>>2]=e,o=A8(A),M6(f+196|0,A,f+247|0),r=B-16|0,B=r,e=f+184|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0;;){i:{if(J2(f+252|0,f+248|0))break i;t=i[f+180>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=A+r),t=f+252|0,A=i[t>>2],u=i[A+12>>2];r:{if((u|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=s[u|0]}if(Gi(A<<24>>24,o,r,f+180|0,f+8|0,l[f+247|0],f+196|0,f+16|0,f+12|0,60064))break i;E1(t);continue}break}s[f+207|0]>>>7|0?A=i[f+200>>2]:A=s[f+207|0]&127;i:{if(!A||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return h=n,w=d7(r,i[f+180>>2],k,o),i[h>>2]=w,i[n+4>>2]=w0,K1(f+196|0,f+16|0,i[f+12>>2],k),J2(f+252|0,f+248|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+252>>2],z0(e),z0(f+196|0),B=f+256|0,r|0}function __(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0;for(f=B-256|0,B=f,i[f+248>>2]=r,i[f+252>>2]=e,o=A8(A),M6(f+196|0,A,f+247|0),r=B-16|0,B=r,e=f+184|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0;;){i:{if(J2(f+252|0,f+248|0))break i;t=i[f+180>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=A+r),t=f+252|0,A=i[t>>2],u=i[A+12>>2];r:{if((u|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=s[u|0]}if(Gi(A<<24>>24,o,r,f+180|0,f+8|0,l[f+247|0],f+196|0,f+16|0,f+12|0,60064))break i;E1(t);continue}break}s[f+207|0]>>>7|0?A=i[f+200>>2]:A=s[f+207|0]&127;i:{if(!A||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return h=n,w=D7(r,i[f+180>>2],k,o),i[h>>2]=w,i[n+4>>2]=w0,K1(f+196|0,f+16|0,i[f+12>>2],k),J2(f+252|0,f+248|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+252>>2],z0(e),z0(f+196|0),B=f+256|0,r|0}function v_(f){f=f|0;var e=0,r=0,A=0,k=0;e=i[f+212>>2],e&&(i[f+216>>2]=e,G(e)),e=i[f+204>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+196>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(r=i[f+180>>2],r){if(e=r,A=i[f+184>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(r|0)==(A|0))break}e=i[f+180>>2]}i[f+184>>2]=r,G(e)}if(r=i[f+168>>2],r){if(e=r,A=i[f+172>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(r|0)==(A|0))break}e=i[f+168>>2]}i[f+172>>2]=r,G(e)}l[f+167|0]<0&&G(i[f+156>>2]),e=i[f+84>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+72>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(r=i[f+52>>2],r){if(e=r,A=i[f+56>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(r|0)==(A|0))break}e=i[f+52>>2]}i[f+56>>2]=r,G(e)}l[f+27|0]<0&&G(i[f+16>>2])}function un(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0;for(f=B-336|0,B=f,i[f+328>>2]=r,i[f+332>>2]=e,o=A8(A),h=x6(A,f+208|0),U6(f+196|0,A,f+324|0),r=B-16|0,B=r,e=f+184|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0;;){i:{if(g2(f+332|0,f+328|0))break i;t=i[f+180>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=A+r),t=f+332|0,A=i[t>>2],u=i[A+12>>2];r:{if((u|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=i[u>>2]}if(Ci(A,o,r,f+180|0,f+8|0,i[f+324>>2],f+196|0,f+16|0,f+12|0,h))break i;Y1(t);continue}break}s[f+207|0]>>>7|0?A=i[f+200>>2]:A=s[f+207|0]&127;i:{if(!A||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return w=n,_=T7(r,i[f+180>>2],k,o),i[w>>2]=_,K1(f+196|0,f+16|0,i[f+12>>2],k),g2(f+332|0,f+328|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+332>>2],z0(e),z0(f+196|0),B=f+336|0,r|0}function m_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0;for(f=B-336|0,B=f,i[f+328>>2]=r,i[f+332>>2]=e,o=A8(A),h=x6(A,f+208|0),U6(f+196|0,A,f+324|0),r=B-16|0,B=r,e=f+184|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0;;){i:{if(g2(f+332|0,f+328|0))break i;t=i[f+180>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=A+r),t=f+332|0,A=i[t>>2],u=i[A+12>>2];r:{if((u|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=i[u>>2]}if(Ci(A,o,r,f+180|0,f+8|0,i[f+324>>2],f+196|0,f+16|0,f+12|0,h))break i;Y1(t);continue}break}s[f+207|0]>>>7|0?A=i[f+200>>2]:A=s[f+207|0]&127;i:{if(!A||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return w=n,_=U7(r,i[f+180>>2],k,o),i[w>>2]=_,K1(f+196|0,f+16|0,i[f+12>>2],k),g2(f+332|0,f+328|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+332>>2],z0(e),z0(f+196|0),B=f+336|0,r|0}function B_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0;for(f=B-336|0,B=f,i[f+328>>2]=r,i[f+332>>2]=e,o=A8(A),h=x6(A,f+208|0),U6(f+196|0,A,f+324|0),r=B-16|0,B=r,e=f+184|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0;;){i:{if(g2(f+332|0,f+328|0))break i;t=i[f+180>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=A+r),t=f+332|0,A=i[t>>2],u=i[A+12>>2];r:{if((u|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=i[u>>2]}if(Ci(A,o,r,f+180|0,f+8|0,i[f+324>>2],f+196|0,f+16|0,f+12|0,h))break i;Y1(t);continue}break}s[f+207|0]>>>7|0?A=i[f+200>>2]:A=s[f+207|0]&127;i:{if(!A||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return w=n,_=M7(r,i[f+180>>2],k,o),X[w>>1]=_,K1(f+196|0,f+16|0,i[f+12>>2],k),g2(f+332|0,f+328|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+332>>2],z0(e),z0(f+196|0),B=f+336|0,r|0}function Z_(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0;f=B-624|0,B=f,i[f+616>>2]=r,i[f+620>>2]=e,i[f+16>>2]=1095,e=f+16|0,u=o1(f+200|0,f+208|0,e),h=f+192|0,o=i[k+28>>2],i[h>>2]=o,(o|0)!=100008&&(i[o+4>>2]=i[o+4>>2]+1),o=x0(h,100184),l[f+191|0]=0;i:{if(!Xk(f+620|0,r,A,h,i[k+4>>2],n,f+191|0,o,u,f+196|0,f+608|0))break i;r=s[16413]|s[16414]<<8|(s[16415]<<16|s[16416]<<24),l[f+183|0]=r,l[f+184|0]=r>>>8,l[f+185|0]=r>>>16,l[f+186|0]=r>>>24,r=s[16410]|s[16411]<<8|(s[16412]<<16|s[16413]<<24),i[f+176>>2]=s[16406]|s[16407]<<8|(s[16408]<<16|s[16409]<<24),i[f+180>>2]=r,V[i[i[o>>2]+48>>2]](o,f+176|0,f+186|0,f+128|0)|0,i[f+16>>2]=1094,A=o1(f+8|0,0,e),k=e;r:{if(e=i[f+196>>2]-i[u>>2]|0,(e|0)>=393&&(r=Z2((e>>2)+2|0),e=i[A>>2],i[A>>2]=r,e&&V[i[A+4>>2]](e),k=i[A>>2],!k))break r;for(s[f+191|0]==1&&(l[k|0]=45,k=k+1|0),r=i[u>>2];;){if(k0[f+196>>2]<=r>>>0)e:{if(l[k|0]=0,i[f>>2]=t,(Lt(f+16|0,f)|0)!=1)break e;e=i[A>>2],i[A>>2]=0,e&&V[i[A+4>>2]](e);break i}else{e=f+128|0,w=k,_=s[(f+176|0)+(H3(e,e+40|0,r)-e>>2)|0],l[w|0]=_,k=k+1|0,r=r+4|0;continue}break}u1(),P()}u1(),P()}return g2(f+620|0,f+616|0)&&(i[n>>2]=i[n>>2]|2),r=i[f+620>>2],O0(f+192|0),e=i[u>>2],i[u>>2]=0,e&&V[i[u+4>>2]](e),B=f+624|0,r|0}function p_(f){f=f|0;var e=0,r=0,A=0,k=0,n=0;k=B-16|0,B=k;i:{if(!i[f+64>>2])break i;r:{if(A=i[f+68>>2],A){if(r=i[f+92>>2],r&16){if(i[f+24>>2]!=i[f+20>>2]&&(e=-1,(V[i[i[f>>2]+52>>2]](f,-1)|0)==-1))break i;for(A=f+72|0;;){if(e=i[f+68>>2],r=i[f+32>>2],r=V[i[i[e>>2]+20>>2]](e,A,r,r+i[f+52>>2]|0,k+12|0)|0,n=i[f+32>>2],e=i[k+12>>2]-n|0,(F1(n,1,e,i[f+64>>2])|0)!=(e|0))break r;e:switch(r-1|0){case 1:break r;case 0:continue;default:break e}break}if(e=0,!x8(i[f+64>>2]))break i;break r}if(!(r&8))break i;e=i[f+84>>2],i[k>>2]=i[f+80>>2],i[k+4>>2]=e;e:{A:{f:{if(s[f+98|0]==1){e=i[f+16>>2]-i[f+12>>2]|0,A=e>>31;break f}if(r=V[i[i[A>>2]+24>>2]](A)|0,e=i[f+40>>2]-i[f+36>>2]|0,A=e>>31,(r|0)>0){r=m(r,i[f+16>>2]-i[f+12>>2]|0),A=A+(r>>31)|0,n=e,e=e+r|0,A=n>>>0>e>>>0?A+1|0:A;break f}if(i[f+12>>2]!=i[f+16>>2])break A}r=0;break e}r=i[f+68>>2],r=V[i[i[r>>2]+32>>2]](r,k,i[f+32>>2],i[f+36>>2],i[f+12>>2]-i[f+8>>2]|0)|0,r=i[f+36>>2]-(r+i[f+32>>2]|0)|0,A=A+(r>>31)|0,n=e,e=e+r|0,A=n>>>0>e>>>0?A+1|0:A,r=1}if(Ce(i[f+64>>2],0-e|0,0-(A+((e|0)!=0)|0)|0,1))break r;r&&(e=i[k+4>>2],i[f+72>>2]=i[k>>2],i[f+76>>2]=e),e=i[f+32>>2],i[f+40>>2]=e,i[f+36>>2]=e,e=0,i[f+16>>2]=0,i[f+12>>2]=0,i[f+8>>2]=0,i[f+92>>2]=0;break i}u1(),P()}e=-1}return B=k+16|0,e|0}function sn(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0;for(f=B-256|0,B=f,i[f+248>>2]=r,i[f+252>>2]=e,o=A8(A),M6(f+196|0,A,f+247|0),r=B-16|0,B=r,e=f+184|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0;;){i:{if(J2(f+252|0,f+248|0))break i;t=i[f+180>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=A+r),t=f+252|0,A=i[t>>2],u=i[A+12>>2];r:{if((u|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=s[u|0]}if(Gi(A<<24>>24,o,r,f+180|0,f+8|0,l[f+247|0],f+196|0,f+16|0,f+12|0,60064))break i;E1(t);continue}break}s[f+207|0]>>>7|0?A=i[f+200>>2]:A=s[f+207|0]&127;i:{if(!A||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return h=n,w=T7(r,i[f+180>>2],k,o),i[h>>2]=w,K1(f+196|0,f+16|0,i[f+12>>2],k),J2(f+252|0,f+248|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+252>>2],z0(e),z0(f+196|0),B=f+256|0,r|0}function W_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0;for(f=B-256|0,B=f,i[f+248>>2]=r,i[f+252>>2]=e,o=A8(A),M6(f+196|0,A,f+247|0),r=B-16|0,B=r,e=f+184|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0;;){i:{if(J2(f+252|0,f+248|0))break i;t=i[f+180>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=A+r),t=f+252|0,A=i[t>>2],u=i[A+12>>2];r:{if((u|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=s[u|0]}if(Gi(A<<24>>24,o,r,f+180|0,f+8|0,l[f+247|0],f+196|0,f+16|0,f+12|0,60064))break i;E1(t);continue}break}s[f+207|0]>>>7|0?A=i[f+200>>2]:A=s[f+207|0]&127;i:{if(!A||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return h=n,w=U7(r,i[f+180>>2],k,o),i[h>>2]=w,K1(f+196|0,f+16|0,i[f+12>>2],k),J2(f+252|0,f+248|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+252>>2],z0(e),z0(f+196|0),B=f+256|0,r|0}function X_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0;for(f=B-256|0,B=f,i[f+248>>2]=r,i[f+252>>2]=e,o=A8(A),M6(f+196|0,A,f+247|0),r=B-16|0,B=r,e=f+184|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0;;){i:{if(J2(f+252|0,f+248|0))break i;t=i[f+180>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=A+r),t=f+252|0,A=i[t>>2],u=i[A+12>>2];r:{if((u|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=s[u|0]}if(Gi(A<<24>>24,o,r,f+180|0,f+8|0,l[f+247|0],f+196|0,f+16|0,f+12|0,60064))break i;E1(t);continue}break}s[f+207|0]>>>7|0?A=i[f+200>>2]:A=s[f+207|0]&127;i:{if(!A||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return h=n,w=M7(r,i[f+180>>2],k,o),X[h>>1]=w,K1(f+196|0,f+16|0,i[f+12>>2],k),J2(f+252|0,f+248|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+252>>2],z0(e),z0(f+196|0),B=f+256|0,r|0}function G_(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0;f=B-272|0,B=f,i[f+264>>2]=r,i[f+268>>2]=e,i[f+16>>2]=1095,e=f+16|0,u=o1(f+152|0,f+160|0,e),h=f+144|0,o=i[k+28>>2],i[h>>2]=o,(o|0)!=100008&&(i[o+4>>2]=i[o+4>>2]+1),o=x0(h,100192),l[f+143|0]=0;i:{if(!pk(f+268|0,r,A,h,i[k+4>>2],n,f+143|0,o,u,f+148|0,f+260|0))break i;r=s[16413]|s[16414]<<8|(s[16415]<<16|s[16416]<<24),l[f+135|0]=r,l[f+136|0]=r>>>8,l[f+137|0]=r>>>16,l[f+138|0]=r>>>24,r=s[16410]|s[16411]<<8|(s[16412]<<16|s[16413]<<24),i[f+128>>2]=s[16406]|s[16407]<<8|(s[16408]<<16|s[16409]<<24),i[f+132>>2]=r,V[i[i[o>>2]+32>>2]](o,f+128|0,f+138|0,f+118|0)|0,i[f+16>>2]=1094,A=o1(f+8|0,0,e),k=e;r:{if(e=i[f+148>>2]-i[u>>2]|0,(e|0)>=99&&(r=Z2(e+2|0),e=i[A>>2],i[A>>2]=r,e&&V[i[A+4>>2]](e),k=i[A>>2],!k))break r;for(s[f+143|0]==1&&(l[k|0]=45,k=k+1|0),r=i[u>>2];;){if(k0[f+148>>2]<=r>>>0)e:{if(l[k|0]=0,i[f>>2]=t,(Lt(f+16|0,f)|0)!=1)break e;e=i[A>>2],i[A>>2]=0,e&&V[i[A+4>>2]](e);break i}else{e=f+118|0,w=k,_=s[((T3(e,e+10|0,r)-f|0)+f|0)+10|0],l[w|0]=_,k=k+1|0,r=r+1|0;continue}break}u1(),P()}u1(),P()}return J2(f+268|0,f+264|0)&&(i[n>>2]=i[n>>2]|2),r=i[f+268>>2],O0(f+144|0),e=i[u>>2],i[u>>2]=0,e&&V[i[u+4>>2]](e),B=f+272|0,r|0}function C_(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0;h=B-16|0,B=h,u=U(36),i[u+32>>2]=t,i[u+28>>2]=n,i[u+24>>2]=k,i[u+20>>2]=A,i[u+16>>2]=r,i[u+12>>2]=73320,i[u+4>>2]=0,i[u+8>>2]=0,i[u>>2]=73568,r=i[e+8>>2],i[h+12>>2]=u,n=u+12|0,i[h+8>>2]=n,i[u+4>>2]=i[u+4>>2]+1,A=i[r+16>>2];i:{r:{if(A>>>0>2]){i[A+4>>2]=u,i[A>>2]=n,i[u+4>>2]=i[u+4>>2]+1,i[r+16>>2]=A+8,k=u;break r}if(A=Q2(r+12|0,h+8|0),k=i[h+12>>2],i[r+16>>2]=A,!k)break i}if(r=i[k+4>>2],i[k+4>>2]=r-1,r)break i;V[i[i[k>>2]+8>>2]](k),g(k)}i:{if(!o||(i[u+4>>2]=i[u+4>>2]+1,r=U(24),i[u+4>>2]=i[u+4>>2]+1,i[r+20>>2]=u,i[r+16>>2]=n,k=i[e+8>>2],A=i[e+12>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+12>>2]=A,i[r+8>>2]=k,k=i[e>>2],A=i[e+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+4>>2]=A,i[r>>2]=k,i[o>>2]=r,r=i[u+4>>2],i[u+4>>2]=r-1,r))break i;V[i[i[u>>2]+8>>2]](u),g(u)}A=i[e>>2],r=i[e+4>>2];i:{if(r){if(i[r+4>>2]=i[r+4>>2]+1,z9(A,i[i[e+8>>2]>>2],t),i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,f=i[r+4>>2],i[r+4>>2]=f-1,f)break i;V[i[i[r>>2]+8>>2]](r),g(r);break i}z9(A,i[i[e+8>>2]>>2],t),i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}f=i[u+4>>2],i[u+4>>2]=f-1,f||(V[i[i[u>>2]+8>>2]](u),g(u)),B=h+16|0}function V_(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e,A=i[r+4>>2];i:{if(!(!s[k+12|0]|((A|0)==3|i[k+8>>2]==1))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!(!(i[r>>2]|(A|0)!=1)&i[r+12>>2]>8)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=Q[r+24>>1],!(A>>>0>14|!(1<>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,i[e+48>>2]=8,l[e+44|0]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,i[e+36>>2]=99,i[e+40>>2]=99,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,i[e+36>>2]=1,A=s[r+8|0],l[e+44|0]=A,i[e+40>>2]=A?15:14,i[e+48>>2]=i[r+12>>2],A=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=A,A=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,A=i[e+40>>2],i[e>>2]=i[e+36>>2],i[e+4>>2]=A,i[e+16>>2]=72992,i[e+20>>2]=i[e+56>>2],i[e+28>>2]=11,P2(f,e),i[e+36>>2]=1,A=s[r+8|0],l[e+44|0]=A,i[e+40>>2]=A?13:12,i[e+48>>2]=i[r+12>>2],r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,r=i[e+40>>2],i[e>>2]=i[e+36>>2],i[e+4>>2]=r,i[e+16>>2]=72992,i[e+20>>2]=i[e+56>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function I_(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;i[f+4>>2]=1,A=i[f+8>>2],i[A+324>>2]=i[A+324>>2]-1,i[A+328>>2]=i[A+328>>2]+1,A=i[f+12>>2],n=A+1|0,r=i[f+8>>2],e=i[r+124>>2],u=i[e+16884>>2]/4|0,h=i[r+276>>2],o=i[e+16892>>2],k=o-1|0,t=i[r+272>>2],w=s[f+16|0];i:{if(w){e=i[e+16900>>2]-1|0,i8(r,f,k,(e|0)<(n|0)?e:n,1);break i}if((A|0)<=0?e=A:(i8(r,f,k,A-1|0,2),r=i[f+8>>2],e=i[f+12>>2]),i8(r,f,k,e,2),r=i[f+12>>2]+1|0,e=i[f+8>>2],(r|0)>=i[i[e+124>>2]+16900>>2])break i;i8(e,f,k,r,2)}e=i[f+12>>2],r=i[f+8>>2];i:{r:{if(s[f+16|0]==1){if(e=Jk(r,e),r=i[f+8>>2],l[(i[r+140>>2]+m(m(i[r+152>>2],i[f+12>>2]),24)|0)+21|0]=e,!e)break i;k=s[f+16|0];break r}if(k=0,s[(i[r+140>>2]+m(m(e,i[r+152>>2]),24)|0)+21|0]!=1)break i}A=m(A,u),e=m(n,u),e=(e|0)<(h|0)?e:h,GA(r,k&1,A,e,t),r=s[f+16|0],k=i[f+8>>2];r:{if(i[i[k+124>>2]+16832>>2]>=9){ZA(k,r&1,A,e,t);break r}pA(k,r&1,A,e,t)}if(r=i[f+8>>2],n=i[r+124>>2],!i[n+16848>>2])break i;if(k=s[f+16|0],i[n+16840>>2]>=9){WA(r,k&1,A,e,t);break i}XA(r,k&1,A,e,t)}if(r=0,(o|0)>0)for(A=w?2:3;e=i[f+8>>2],e=(i[e+320>>2]+m(r,76)|0)+m(m(i[f+12>>2],i[i[e+124>>2]+16892>>2]),76)|0,(A|0)>i[e>>2]&&(i[e>>2]=A),r=r+1|0,(o|0)!=(r|0););i[f+4>>2]=3,Ze(i[f+8>>2])}function g1(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;n=i[f+16>>2],o=i[f+20>>2],A=i[f>>2],r=i[f+24>>2],h=i[f+8>>2],t=h;i:{for(;;){if(!((r|0)>0)){r=64-r|0;r:{if(!t){t=0,k=r;break r}Z=0;e:{for(;;){if(_=A+1|0,i[f>>2]=_,A=s[A|0],t=t-1|0,i[f+8>>2]=t,k=r-8|0,v=k&31,h=f,(k&63)>>>0>=32?(u=A<>>32-v,A=A<>2]=n,o=o|u,i[h+20>>2]=o,(r|0)<=15)break e;if(Z=Z-(r>>>0<8)|0,r=r-8|0,A=_,!t)break}h=t,t=0,k=r;break r}h=t,A=_}r=64-k|0}if(_=o,k=r,r=r-1|0,i[f+24>>2]=r,u=_<<1|n>>>31,n=n<<1,i[f+16>>2]=n,o=u,i[f+20>>2]=o,(_|0)>0|(_|0)>=0){if(w=w+1|0,(w|0)!=21)continue;break i}break}if(p=e,w){if(!((k|0)>(w|0)|(k|0)>57)){for(r=65-k|0,Z=0;;){r:{if(v=r,!h){k=r;break r}if(t=A+1|0,i[f>>2]=t,e=s[A|0],h=h-1|0,i[f+8>>2]=h,k=v-8|0,A=k&31,(k&63)>>>0>=32?(u=e<>>32-A,e=e<>2]=n,i[f+20>>2]=e,e=r,r=r-8|0,Z=Z-(e>>>0<8)|0,A=t,(v|0)>15)continue}break}r=64-k|0}i[f+24>>2]=r-w,e=n,r=w&31,(w&63)>>>0>=32?(u=e<>>32-r|o<>2]=e,i[f+20>>2]=u,f=n,e=64-w|0,r=e&31,(e&63)>>>0>=32?f=o>>>r|0:f=((1<>>r,f=f+(-1<>2]=f}return _>>>31|0}function M0(f){var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;k=i[f+8>>2],r=i[f+12>>2],n=i[f+16>>2];i:{for(;;){r:{if((n|0)>0){e=r,A=n;break r}for(A=64-n|0,w=0,n=i[f+4>>2],e=r;;){e:{if(u=A,!n){t=A;break e}if(r=i[f>>2],i[f>>2]=r+1,r=s[r|0],n=n-1|0,i[f+4>>2]=n,_=f,v=k,t=u-8|0,k=t&31,(t&63)>>>0>=32?(h=r<>>32-k,r=r<>2]=k,i[_+12>>2]=e,r=A,A=r-8|0,w=w-(r>>>0<8)|0,(u|0)>15)continue}break}A=64-t|0}if(n=A-1|0,i[f+16>>2]=n,h=e<<1|k>>>31,k=k<<1,i[f+8>>2]=k,r=h,i[f+12>>2]=r,(e|0)<0)break i;if(o=o+1|0,(o|0)==21)break}return-99999}if(!o)return 0;if(!((A|0)>(o|0)|(A|0)>57)){for(A=65-A|0,w=0,n=i[f+4>>2];;){i:{if(_=A,!n){t=A;break i}if(e=i[f>>2],i[f>>2]=e+1,e=s[e|0],n=n-1|0,i[f+4>>2]=n,h=f,v=k,t=_-8|0,k=t&31,(t&63)>>>0>=32?(u=e<>>32-k,e=e<>2]=k,r=r|u,i[f+12>>2]=r,e=A,A=e-8|0,w=w-(e>>>0<8)|0,(_|0)>15)continue}break}n=64-t|0}if(i[f+16>>2]=n-o,A=k,e=o&31,(o&63)>>>0>=32?(u=k<>>32-e|r<>2]=A,i[f+12>>2]=u,f=k,A=64-o|0,e=A&31,(A&63)>>>0>=32?f=r>>>e|0:f=((1<>>e,f=f+(1<1)return f-1|0;C0(17126,13987,146,13779),P()}function Q_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,k=A+8|0,l[78275]>=0){n=i[19567],i[k>>2]=i[19566],i[k+4>>2]=n,i[k+8>>2]=i[19568];break i}_0(k,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]);i:{if(s[e+48|0]){h4(f,e,4563);break i}if(B4(A+20|0,r),l[e+67|0]<0&&G(i[e+56>>2]),k=i[A+24>>2],i[e+56>>2]=i[A+20>>2],i[e+60>>2]=k,i[e+64>>2]=i[A+28>>2],B4(A+20|0,r),l[e+79|0]<0&&G(i[e+68>>2]),k=i[A+24>>2],i[e+68>>2]=i[A+20>>2],i[e+72>>2]=k,i[e+76>>2]=i[A+28>>2],B4(A+20|0,r),l[e+91|0]<0&&G(i[e+80>>2]),k=i[A+24>>2],i[e+80>>2]=i[A+20>>2],i[e+84>>2]=k,i[e+88>>2]=i[A+28>>2],B4(A+20|0,r),l[e+103|0]<0&&G(i[e+92>>2]),k=i[A+24>>2],i[e+92>>2]=i[A+20>>2],i[e+96>>2]=k,i[e+100>>2]=i[A+28>>2],s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(f,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function hn(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;i:{r:{e:{A:{f:{k:{n:{t:{o:{u:{if(k=e,k){if(!r)break u;if(!A)break o;if(k=$2(A)-$2(k)|0,k>>>0<=31)break t;break r}if((A|0)==1|A>>>0>1)break r;return e=(f>>>0)/(r>>>0)|0,d8=f-m(e,r)|0,c8=0,w0=0,e}if(!f)break n;if(!A||(n=A-1|0,n&A))break k;return d8=f,c8=k&n,f=k>>>P6(A)|0,w0=0,f}if(n=r-1|0,!(n&r))break f;w=($2(r)+33|0)-$2(k)|0,t=0-w|0;break e}w=k+1|0,t=63-k|0;break e}return d8=0,f=(k>>>0)/(A>>>0)|0,c8=k-m(f,A)|0,w0=0,f}if(k=$2(A)-$2(k)|0,k>>>0<31)break A;break r}if(d8=f&n,c8=0,(r|0)==1)break i;return r=P6(r),A=r&31,(r&63)>>>0>=32?(k=0,f=e>>>A|0):(k=e>>>A|0,f=((1<>>A),w0=k,f}w=k+1|0,t=63-k|0}if(n=f,k=w&63,o=k&31,(k&63)>>>0>=32?(k=0,n=e>>>o|0):(k=e>>>o|0,n=((1<>>o),o=t&63,t=f,u=o&31,(o&63)>>>0>=32?(h=f<>>32-u|e<>>31,n=n<<1|e>>>31,_=k,u=t-(k+(n>>>0>o>>>0)|0)|0,v=u>>31,h=v,k=n,u=r&h,n=k-u|0,k=_-((A&h)+(k>>>0>>0)|0)|0,h=e<<1|f>>>31,f=Z|f<<1,e=h|p,_=v&1,Z=_,w=w-1|0,!!w;);return d8=n,c8=k,h=e<<1|f>>>31,f=_|f<<1,w0=h|p,f}d8=f,c8=e,f=0,e=0}return w0=e,f}function wn(f,e,r){var A=0,k=0,n=0,t=0,o=Y(0),u=Y(0),h=Y(0),w=Y(0),_=Y(0),v=Y(0),Z=Y(0),p=Y(0);A=B-16|0,B=A,i[r>>2]=0,k=Z2(52);i:{if(!k){if(l[A+4|0]=0,l[A+15|0]=0,r0(f,6,0,A+4|0),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(l[k+16|0]=1,i[k+12>>2]=6,i[k+4>>2]=1,i[k+8>>2]=13,l[k|0]=1,n=A+4|0,cA(n,k,Q[e+4>>1]),t=i[A+4>>2],t){if(e=i[A+8>>2],G(k),l[A+4|0]=0,l[A+15|0]=0,r0(f,t,e,n),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(n=A+4|0,i3(n,k,Q[e+6>>1]),t=i[A+4>>2],t){if(e=i[A+8>>2],G(k),l[A+4|0]=0,l[A+15|0]=0,r0(f,t,e,n),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(n=A+4|0,dA(n,k,Q[e+8>>1]),t=i[A+4>>2],t){if(e=i[A+8>>2],G(k),l[A+4|0]=0,l[A+15|0]=0,r0(f,t,e,n),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(l[k+16|0]=s[e+10|0],e=Q[k+4>>1]-1|0,(e&65535)>>>0<=21&&(e=e<<2&262140,o=Z0[e+36156>>2],u=Z0[e+35892>>2],h=Z0[e+35804>>2],w=Z0[e+35716>>2],_=Z0[e+35628>>2],v=Z0[e+35540>>2],Z=Z0[e+36068>>2],p=Z0[e+35980>>2]),Z0[k+48>>2]=o,Z0[k+44>>2]=Z,Z0[k+40>>2]=h,Z0[k+36>>2]=w,Z0[k+32>>2]=_,Z0[k+28>>2]=v,Z0[k+24>>2]=p,Z0[k+20>>2]=u,i[r>>2]=k,e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+16|0}function y_(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0;n=B-32|0,B=n;i:{if(!(k&&e)){i[f>>2]=5,i[f+4>>2]=2006,i[f+8>>2]=12607;break i}t=i[e>>2],o=i[t+48>>2],t=i[t+52>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,I1(n,o,r,n+20|0);r:{if(i[n>>2]){P0(f,n,i[e>>2]);break r}if(r=A-1|0,e=i[n+20>>2],r>>>0>=i[n+24>>2]-e>>3>>>0){i[f>>2]=5,i[f+4>>2]=2007,i[f+8>>2]=10388;break r}e:{if(e=e+(r<<3)|0,r=i[e>>2],!r||(r=N0(r,68572,70012),!r))break e;if(e=i[e+4>>2],e){if(i[e+4>>2]=i[e+4>>2]+1,A=U(80),i[k>>2]=A,F2(A,r+56|0,76),i[f+8>>2]=i[18412],r=i[18411],i[f>>2]=i[18410],i[f+4>>2]=r,f=i[e+4>>2],i[e+4>>2]=f-1,f)break r;V[i[i[e>>2]+8>>2]](e),g(e);break r}e=U(80),i[k>>2]=e,F2(e,r+56|0,76),i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e;break r}i[f>>2]=5,i[f+4>>2]=2007,i[f+8>>2]=9699}if(l[n+19|0]<0&&G(i[n+8>>2]),r=i[n+20>>2],r){if(f=r,e=i[n+24>>2],(f|0)!=(e|0)){for(;;){f=i[e-4>>2];r:{if(!f||(A=i[f+4>>2],i[f+4>>2]=A-1,A))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(e=e-8|0,(r|0)==(e|0))break}f=i[n+20>>2]}i[n+24>>2]=r,G(f)}if(!t||(f=i[t+4>>2],i[t+4>>2]=f-1,f))break i;V[i[i[t>>2]+8>>2]](t),g(t)}B=n+32|0}function F_(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0;if(Q1(f,i[e+8>>2],k)){i[e+28>>2]==1|i[e+4>>2]!=(r|0)||(i[e+28>>2]=A);return}i:{r:{if(Q1(f,i[e>>2],k)){if(!(i[e+16>>2]!=(r|0)&i[e+20>>2]!=(r|0))){if((A|0)!=1)break i;i[e+32>>2]=1;return}if(i[e+32>>2]=A,i[e+44>>2]==4)break r;for(n=f+16|0,t=n+(i[f+12>>2]<<3)|0,A=0;;){e:{A:{f:{k:{if(n>>>0>=t>>>0||(X[e+52>>1]=0,Y3(n,e,r,r,1,k),s[e+54|0]))break k;if(s[e+53|0]!=1)break e;if(s[e+52|0]==1){if(i[e+24>>2]==1||(A=1,o=1,!(s[f+8|0]&2)))break A;break e}if(A=1,l[f+8|0]&1)break e;f=3;break f}f=A?3:4}if(i[e+44>>2]=f,o)break i;break r}i[e+44>>2]=3;break i}n=n+8|0}}if(n=i[f+12>>2],t=f+16|0,Be(t,e,r,A,k),(n|0)<2)break i;if(t=t+(n<<3)|0,n=f+24|0,f=i[f+8>>2],!(!(f&2)&i[e+36>>2]!=1)){for(;;){if(s[e+54|0])break i;if(Be(n,e,r,A,k),n=n+8|0,!(t>>>0>n>>>0))break}break i}if(!(f&1))for(;;){if(s[e+54|0]|i[e+36>>2]==1)break i;if(Be(n,e,r,A,k),n=n+8|0,!(t>>>0>n>>>0))break i}for(;;){if(s[e+54|0]|i[e+36>>2]==1&i[e+24>>2]==1)break i;if(Be(n,e,r,A,k),n=n+8|0,!(t>>>0>n>>>0))break}break i}if(i[e+20>>2]=r,i[e+40>>2]=i[e+40>>2]+1,i[e+36>>2]!=1|i[e+24>>2]!=2)break i;l[e+54|0]=1}}function E_(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(!(i[r>>2]==1&(i[r+4>>2]&-4)==12)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,l[e+62|0]=1,i[e+56>>2]=131074,l[e+44|0]=0,i[e+36>>2]=99,i[e+40>>2]=99,i[e+48>>2]=8,i[e+52>>2]=72992,X[e+60>>1]=2,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969;r:{e:switch(A=i[r+4>>2],A-12|0){case 0:case 2:break e;default:break r}l[e+44|0]=0,i[e+36>>2]=1,i[e+40>>2]=(A|0)==14?12:14,i[e+48>>2]=i[r+12>>2],A=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=A,A=i[e+40>>2],i[e>>2]=i[e+36>>2],i[e+4>>2]=A,i[e+16>>2]=72992,A=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,A=i[e+56>>2],i[e+28>>2]=11,i[e+20>>2]=A,P2(f,e),A=i[r+4>>2]}r:switch(A-13|0){case 0:case 2:break r;default:break i}l[e+44|0]=1,i[e+36>>2]=1,i[e+40>>2]=(A|0)==15?13:15,i[e+48>>2]=i[r+12>>2],r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,r=i[e+40>>2],i[e>>2]=i[e+36>>2],i[e+4>>2]=r,i[e+16>>2]=72992,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,r=i[e+56>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function Xi(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;_=B-16|0,B=_;i:{r:{e:{if((r|0)<=36){if(t=s[f|0],t)break e;n=f;break r}i[23944]=28,A=0,k=0;break i}n=f;e:{for(;;){if(o=t<<24>>24,!((o|0)==32|o-9>>>0<5))break e;if(t=s[n+1|0],n=n+1|0,!t)break}break r}e:switch(o=t&255,o-43|0){case 0:case 2:break e;default:break r}h=(o|0)==45?-1:0,n=n+1|0}r:{if(!((r|16)!=16|s[n|0]!=48)){if(Z=1,(s[n+1|0]&223)==88){n=n+2|0,v=16;break r}n=n+1|0,v=r||8;break r}v=r||10}for(r=0;;){r:{o=s[n|0],t=o-48|0;e:{if((t&255)>>>0<10)break e;if((o-97&255)>>>0<=25){t=o-87|0;break e}if((o-65&255)>>>0>25)break r;t=o-55|0}if(t=t&255,(t|0)>=(v|0))break r;U1(_,v,0,0,0,w,u,0,0),o=1;e:{if(i[_+8>>2]|i[_+12>>2]||(p=q0(w,u,v,0),W=w0,(W|0)==-1&(t^-1)>>>0

>>0))break e;u=W,w=t+p|0,u=w>>>0>>0?u+1|0:u,Z=1,o=r}n=n+1|0,r=o;continue}break}e&&(i[e>>2]=Z?n:f);r:{e:{if(r){i[23944]=68,f=A&1,h=f?0:h,w=A,u=k;break e}if((k|0)==(u|0)&A>>>0>w>>>0|k>>>0>u>>>0)break r;f=A&1}if(!(f|h)){i[23944]=68,f=A,A=f-1|0,k=k-!f|0;break i}if((k|0)==(u|0)&A>>>0>=w>>>0|k>>>0>u>>>0)break r;i[23944]=68;break i}f=h^w,A=f-h|0,e=h>>31,k=(e^u)-((f>>>0>>0)+e|0)|0}return B=_+16|0,w0=k,A}function _n(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;i[f>>2]=i[e>>2],X[f+4>>1]=Q[e+4>>1],i[f+16>>2]=0,i[f+8>>2]=0,i[f+12>>2]=0;i:{r:{e:{if(A=i[e+12>>2],r=i[e+8>>2],(A|0)!=(r|0)){if(n=A-r|0,(n|0)<0)break e;k=U(n),i[f+12>>2]=k,i[f+8>>2]=k,A=k+n|0,i[f+16>>2]=A,l0(k,r,n),i[f+12>>2]=A}i[f+28>>2]=0,i[f+20>>2]=0,i[f+24>>2]=0;A:{if(A=i[e+24>>2],!A)break A;if((A|0)>=0){if(r=(A-1>>>5|0)+1|0,A=U(r<<2),i[f+28>>2]=r,i[f+24>>2]=0,i[f+20>>2]=A,t=i[e+20>>2],r=i[e+24>>2],i[f+24>>2]=r,i[((r>>>0>=33?r-1>>>5|0:0)<<2)+A>>2]=0,!r)break A;for(n=r&31,k=(r>>>3&536870908)+t|0;r=1<>2]>>>o&1?r=r|i[A>>2]:r=i[A>>2]&(r^-1),i[A>>2]=r,r=(u|0)==31,u=r?0:u+1|0,A=(r<<2)+A|0,r=(o|0)==31,t=(r<<2)+t|0,o=r?0:o+1|0,!!((n|0)!=(o|0)|(k|0)!=(t|0)););break A}y0(),P()}if(i[f+40>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,A=i[e+36>>2],r=i[e+32>>2],(A|0)!=(r|0)){if(n=A-r|0,(n|0)<0)break r;k=U(n),i[f+36>>2]=k,i[f+32>>2]=k,A=k+n|0,i[f+40>>2]=A,l0(k,r,n),i[f+36>>2]=A}if(i[f+52>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,A=i[e+48>>2],r=i[e+44>>2],(A|0)!=(r|0)){if(k=A-r|0,(k|0)<0)break i;A=U(k),i[f+48>>2]=A,i[f+44>>2]=A,e=A+k|0,i[f+52>>2]=e,l0(A,r,k),i[f+48>>2]=e}return}y0(),P()}y0(),P()}y0(),P()}function Y_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,k=A+8|0,l[78275]>=0){n=i[19567],i[k>>2]=i[19566],i[k+4>>2]=n,i[k+8>>2]=i[19568];break i}_0(k,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]);i:{if(s[e+48|0]){h4(f,e,8165);break i}if(k=B2(r),n=i[r>>2],t=V[i[i[n>>2]+8>>2]](n)|0,o=i[r>>2],n=w0,t=k+t|0,n=k>>>0>t>>>0?n+1|0:n,V[i[i[o>>2]+12>>2]](o,t,n)|0){if(l[A+20|0]=0,l[A+31|0]=0,r0(f,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}n=e+56|0,o=i[e+56>>2],t=i[e+60>>2]-o|0;r:{if(t>>>0>>0){L2(n,k-t|0);break r}if(k>>>0>=t>>>0)break r;i[e+60>>2]=k+o}if(k)for(e=0;t=B2(r),l[i[n>>2]+e|0]=t,e=e+1|0,(k|0)!=(e|0););if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(f,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function ri(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0;i:{r:{o=i[f+248>>2],u=e>>o;e:{if((u|0)<0||(h=i[f+252>>2],(h|0)<=(u|0)))break e;if(o=r>>o,(o|0)<0|(o|0)>=i[f+256>>2])break r;if(!(s[(u+i[f+240>>2]|0)+m(o,h)|0]>>>k&1)){u=A,A=e;break i}if(u=A-1|0,o=k+1|0,ri(f,e,r,u,o,n,t),k=1<>1,A=k+e|0,ri(f,A,r,u,o,16,t),r=r+k|0,ri(f,e,r,u,o,n,32),e=i[f+248>>2],k=A>>e,(k|0)<0)break e;for(e=r>>e;;){if(n=i[f+252>>2],(n|0)<=(k|0))break e;if((e|0)<0|i[f+256>>2]<=(e|0))break r;if(!(s[(i[f+240>>2]+k|0)+m(e,n)|0]>>>o&1)){n=16,t=32;break i}if(k=u-1|0,o=o+1|0,ri(f,A,r,k,o,16,32),e=1<>1,n=e+A|0,ri(f,n,r,k,o,16,32),r=e+r|0,ri(f,A,r,k,o,16,32),t=i[f+248>>2],e=r>>t,u=k,A=n,k=n>>t,!((k|0)>=0))break}}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}i:{if((u|0)==31)break i;for(e=1<>2],h=(r+o|0)/4|0,(k|0)>=(w|0)|(h|0)>=i[f+276>>2]||(h=(k+i[f+260>>2]|0)+m(h,w)|0,l[h|0]=s[h|0]|n),o=o+4|0,(e|0)>(o|0););if((u|0)==31)break i;for(k=(r|0)/4|0,r=0;n=(r+A|0)/4|0,u=i[f+272>>2],(n|0)>=(u|0)|(k|0)>=i[f+276>>2]||(n=(n+i[f+260>>2]|0)+m(k,u)|0,l[n|0]=s[n|0]|t),r=r+4|0,(e|0)>(r|0););}}function h6(f){var e=0;e=31;i:{if(f==0)break i;if(f=d0(f),!(f<1073741824))return 0;if(f=f+f,!(f<1073741824))return 1;if(f=f+f,!(f<1073741824))return 2;if(f=f+f,!(f<1073741824))return 3;if(f=f+f,!(f<1073741824))return 4;if(f=f+f,!(f<1073741824))return 5;if(f=f+f,!(f<1073741824))return 6;if(f=f+f,!(f<1073741824))return 7;if(f=f+f,!(f<1073741824))return 8;if(f=f+f,!(f<1073741824))return 9;if(f=f+f,!(f<1073741824))return 10;if(f=f+f,!(f<1073741824))return 11;if(f=f+f,!(f<1073741824))return 12;if(f=f+f,!(f<1073741824))return 13;if(f=f+f,!(f<1073741824))return 14;if(f=f+f,!(f<1073741824))return 15;if(f=f+f,!(f<1073741824))return 16;if(f=f+f,!(f<1073741824))return 17;if(f=f+f,!(f<1073741824))return 18;if(f=f+f,!(f<1073741824))return 19;if(f=f+f,!(f<1073741824))return 20;if(f=f+f,!(f<1073741824))return 21;if(f=f+f,!(f<1073741824))return 22;if(f=f+f,!(f<1073741824))return 23;if(f=f+f,!(f<1073741824))return 24;if(f=f+f,!(f<1073741824))return 25;if(f=f+f,!(f<1073741824))return 26;if(f=f+f,!(f<1073741824))return 27;if(f=f+f,!(f<1073741824))return 28;if(f=f+f,!(f<1073741824))return 29;if(f+f<1073741824)break i;e=30}return e}function vn(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;i:{if(r=i[f>>2],k=i[f+4>>2]-r>>5,t=k+1|0,t>>>0<134217728){if(A=i[f+8>>2]-r|0,r=A>>4,t=A>>>0>=2147483616?134217727:r>>>0>t>>>0?r:t,t){if(t>>>0>=134217728)break i;n=U(t<<5)}A=i[e+4>>2],r=(k<<5)+n|0,i[r>>2]=i[e>>2],i[r+4>>2]=A,k=i[e+8>>2],A=i[e+12>>2],i[r+24>>2]=0,i[r+16>>2]=0,i[r+20>>2]=0,i[r+8>>2]=k,i[r+12>>2]=A,A=i[e+16>>2],e=i[e+20>>2],br(r+16|0,A,e,(e-A|0)/40|0),t=(t<<5)+n|0,h=r+32|0,A=i[f+4>>2],o=i[f>>2];r:{if((A|0)==(o|0)){n=r;break r}for(;e=A-32|0,k=i[e+4>>2],n=r-32|0,i[n>>2]=i[e>>2],i[n+4>>2]=k,k=i[e+12>>2],i[n+8>>2]=i[e+8>>2],i[n+12>>2]=k,k=r-8|0,i[k>>2]=0,u=r-16|0,i[u>>2]=0,i[u+4>>2]=0,w=u,u=A-16|0,i[w>>2]=i[u>>2],i[r-12>>2]=i[A-12>>2],r=A-8|0,i[k>>2]=i[r>>2],i[r>>2]=0,i[u>>2]=0,i[u+4>>2]=0,r=n,A=e,(e|0)!=(o|0););A=i[f+4>>2],o=i[f>>2]}if(i[f+8>>2]=t,i[f+4>>2]=h,i[f>>2]=n,(A|0)!=(o|0))for(;;){if(k=A-16|0,f=i[k>>2],f){if(e=f,n=A-12|0,r=i[n>>2],(e|0)!=(r|0)){for(;e=i[r-16>>2],e&&(i[r-12>>2]=e,G(e)),r=r-40|0,(f|0)!=(r|0););e=i[k>>2]}i[n>>2]=f,G(e)}if(A=A-32|0,(o|0)==(A|0))break}return o&&G(o),h}y0(),P()}_2(),P()}function mn(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,n=A+12|0,i[n+i[t-12>>2]>>2]=i[13709],t=n+i[i[A+12>>2]-12>>2]|0,k=A+16|0,b0(t,k),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(k),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,k=A+148|0,R2(k,e,r),o=n,u=k,n=l[A+159|0],k=(n|0)<0,x(o,k?i[A+148>>2]:u,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=A+148|0,W0(n,r),o=n,n=l[A+159|0],k=(n|0)<0,x(A+12|0,k?i[A+148>>2]:o,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=x(L0(x(A+12|0,21287,10),i[e+56>>2]),31338,1),k=A+148|0,W0(k,r),o=k,r=l[A+159|0],k=(r|0)<0,x(n,k?i[A+148>>2]:o,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),x(n,20132,12),r=i[e+60>>2],n=i[e+64>>2];i:{if((r|0)==(n|0)||(L0(A+12|0,i[r>>2]),e=r+4|0,(n|0)==(e|0)))break i;for(;r=i[e>>2],l[A+148|0]=32,k=A+12|0,x(k,A+148|0,1),L0(k,r),e=e+4|0,(n|0)!=(e|0););}e=A+12|0,x(e,31338,1),i2(f,t),f=i[13707],i[A+12>>2]=f,i[e+i[f-12>>2]>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function J_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;n=B-32|0,B=n;i:{r:{e:{if(!(i[e+52>>2]-i[e+48>>2]&255)){if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]<0)break e;e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}if(h=V[i[i[e>>2]+32>>2]](e,r,0)|0,w2(r,(i[e+64>>2]-i[e+60>>2]|0)/12&255),A2(r,i[e+52>>2]-i[e+48>>2]&255),A=i[e+48>>2],k=i[e+52>>2],(A|0)!=(k|0))for(;A2(r,s[A|0]),A=A+1|0,(k|0)!=(A|0););if(k=i[e+60>>2],u=i[e+64>>2],(k|0)==(u|0))break r;for(;;){if(i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,A=i[k+4>>2],t=i[k>>2],o=(A|0)==(t|0),!o){A:{if(A=A-t|0,(A|0)>=0){if(t=l0(U(A),t,A),o)break A;for(A=A>>>1|0,w=A>>>0<=1?1:A,A=0;;){o=Q[t+(A<<1)>>1];f:{if(s[i[e+48>>2]+A|0]<=8){A2(r,o&255);break f}w2(r,o)}if(A=A+1|0,(w|0)==(A|0))break}break A}y0(),P()}G(t)}if(k=k+12|0,(u|0)==(k|0))break}break r}_0(f,i[19566],i[19567]);break i}if(Y4(n,e,r,h),l[n+19|0]<0&&G(i[n+8>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=n+32|0}function g_(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0;e=B+-64|0,B=e,n=i[r+12>>2];i:{if((n|0)>=9){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if((n|0)!=8){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!(i[r>>2]==1&i[r+4>>2]==3)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(n=Q[A+24>>1],!(n>>>0>14|!(1<>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,l[e+44|0]=0,i[e+36>>2]=99,i[e+40>>2]=99,i[e+48>>2]=8,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,n=i[A+4>>2];r:{if(!((n|0)==3|(s[k+12|0]?i[k+4>>2]!=1:0))){i[e+40>>2]=n,i[e+36>>2]=0;break r}i[e+36>>2]=0,i[e+40>>2]=3}l[e+44|0]=s[r+8|0],i[e+48>>2]=i[r+12>>2],r=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[e+59|0]=r,l[e+60|0]=r>>>8,l[e+61|0]=r>>>16,l[e+62|0]=r>>>24,i[e+56>>2]=i[A+20>>2],r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,r=i[e+40>>2],i[e>>2]=i[e+36>>2],i[e+4>>2]=r,i[e+16>>2]=72992,r=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,r=i[A+20>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function N_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,n=A+12|0,i[n+i[t-12>>2]>>2]=i[13709],t=n+i[i[A+12>>2]-12>>2]|0,k=A+16|0,b0(t,k),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(k),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,k=A+148|0,W0(k,r),o=n,u=k,n=l[A+159|0],k=(n|0)<0,x(o,k?i[A+148>>2]:u,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=x(L0(x(A+12|0,20019,18),Q[e+4>>1]),31338,1),k=A+148|0,W0(k,r),u=k,k=l[A+159|0],o=(k|0)<0,x(n,o?i[A+148>>2]:u,o?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(L0(x(n,20105,26),Q[e+6>>1]),31338,1),k=A+148|0,W0(k,r),u=k,k=l[A+159|0],o=(k|0)<0,x(n,o?i[A+148>>2]:u,o?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(L0(x(n,19703,21),Q[e+8>>1]),31338,1),k=A+148|0,W0(k,r),u=k,r=l[A+159|0],k=(r|0)<0,x(n,k?i[A+148>>2]:u,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),x(re(x(n,20629,17),s[e+10|0]),31338,1),i2(f,t),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function FA(f,e,r,A,k,n,t,o,u,h,w,_){var v=0;v=B-16|0,B=v,i[v+12>>2]=f;i:{r:{if((f|0)==(n|0)){if(s[e|0]!=1)break r;if(f=0,l[e|0]=0,e=i[k>>2],i[k>>2]=e+1,l[e|0]=46,s[o+11|0]>>>7|0?e=i[o+4>>2]:e=s[o+11|0]&127,!e||(e=i[h>>2],(e-u|0)>159))break i;r=i[w>>2],i[h>>2]=e+4,i[e>>2]=r;break i}e:{if(s[o+11|0]>>>7|0?n=i[o+4>>2]:n=s[o+11|0]&127,!(!n|(f|0)!=(t|0))){if(s[e|0]!=1)break r;if(f=i[h>>2],(f-u|0)>159)break e;e=i[w>>2],i[h>>2]=f+4,i[f>>2]=e,f=0,i[w>>2]=0;break i}if(f=H3(_,_+128|0,v+12|0)-_|0,t=f>>2,(t|0)>31)break r;n=l[t+60064|0];A:{f:{if(f=f&-5,(f|0)!=88){if((f|0)!=96)break f;if(e=i[k>>2],(e|0)!=(A|0)&&(f=-1,A=l[e-1|0],r=l[r|0],((A-97>>>0<26?A&95:A)|0)!=((r-97>>>0<26?r&95:r)|0)))break i;i[k>>2]=e+1,l[e|0]=n;break e}l[r|0]=80;break A}if(f=n-97>>>0<26?n&95:n,(f|0)!=l[r|0]||(l[r|0]=f-65>>>0<26?f|32:f,s[e|0]!=1)||(l[e|0]=0,s[o+11|0]>>>7|0?f=i[o+4>>2]:f=s[o+11|0]&127,!f)||(f=i[h>>2],(f-u|0)>159))break A;e=i[w>>2],i[h>>2]=f+4,i[f>>2]=e}if(f=i[k>>2],i[k>>2]=f+1,l[f|0]=n,f=0,(t|0)>21)break i;i[w>>2]=i[w>>2]+1;break i}f=0;break i}f=-1}return B=v+16|0,f}function EA(f,e,r,A,k,n,t,o,u,h,w,_){var v=0;v=B-16|0,B=v,l[v+15|0]=f;i:{r:{if((f|0)==(n|0)){if(s[e|0]!=1)break r;if(f=0,l[e|0]=0,e=i[k>>2],i[k>>2]=e+1,l[e|0]=46,s[o+11|0]>>>7|0?e=i[o+4>>2]:e=s[o+11|0]&127,!e||(e=i[h>>2],(e-u|0)>159))break i;r=i[w>>2],i[h>>2]=e+4,i[e>>2]=r;break i}e:{if(s[o+11|0]>>>7|0?n=i[o+4>>2]:n=s[o+11|0]&127,!(!n|(f|0)!=(t|0))){if(s[e|0]!=1)break r;if(f=i[h>>2],(f-u|0)>159)break e;e=i[w>>2],i[h>>2]=f+4,i[f>>2]=e,f=0,i[w>>2]=0;break i}if(t=T3(_,_+32|0,v+15|0)-_|0,(t|0)>31)break r;n=l[t+60064|0];A:{f:switch((t&-2)-22|0){case 2:if(e=i[k>>2],(e|0)!=(A|0)&&(f=-1,A=l[e-1|0],r=l[r|0],((A-97>>>0<26?A&95:A)|0)!=((r-97>>>0<26?r&95:r)|0)))break i;i[k>>2]=e+1,l[e|0]=n;break e;case 0:l[r|0]=80;break A;default:break f}if(f=n-97>>>0<26?n&95:n,(f|0)!=l[r|0]||(l[r|0]=f-65>>>0<26?f|32:f,s[e|0]!=1)||(l[e|0]=0,s[o+11|0]>>>7|0?f=i[o+4>>2]:f=s[o+11|0]&127,!f)||(f=i[h>>2],(f-u|0)>159))break A;e=i[w>>2],i[h>>2]=f+4,i[f>>2]=e}if(f=i[k>>2],i[k>>2]=f+1,l[f|0]=n,f=0,(t|0)>21)break i;i[w>>2]=i[w>>2]+1;break i}f=0;break i}f=-1}return B=v+16|0,f}function Bn(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;A=B-32|0,B=A;i:{if(s[f+52|0]==1){if(r=i[f+48>>2],!e)break i;l[f+52|0]=0,i[f+48>>2]=-1;break i}r:{if(s[f+53|0]==1){r=i[f+32>>2];e:{if(i[r+76>>2]<0){r=f7(r);break e}r=f7(r)}if((r|0)!=-1&&(i[A+24>>2]=r),(r|0)==-1)break r;r=i[A+24>>2];e:{if(!e){if(!O7(r,i[f+32>>2]))break r;break e}i[f+48>>2]=r}r=i[A+24>>2];break i}for(i[A+24>>2]=1,k=B-16|0,B=k,B=k+16|0,k=f+44|0,n=A+24|0,k=i[(i[n>>2]>2]?k:n)>>2],n=(k|0)>0?k:0;;){if((r|0)!=(n|0)){if(t=y6(i[f+32>>2]),(t|0)==-1)break r;l[(A+24|0)+r|0]=t,r=r+1|0;continue}break}h=A+24|0;e:{for(;;){A:{n=i[f+40>>2],r=i[n>>2],w=i[n+4>>2],o=A+24|0,t=o+k|0;f:switch(u=i[f+36>>2],(V[i[i[u>>2]+16>>2]](u,n,o,t,A+16|0,A+20|0,h,A+12|0)|0)-1|0){case 2:break A;case 0:break f;case 1:break r;default:break e}if(n=i[f+40>>2],i[n>>2]=r,i[n+4>>2]=w,(k|0)==8||(r=y6(i[f+32>>2]),(r|0)==-1))break r;l[t|0]=r,k=k+1|0;continue}break}i[A+20>>2]=l[A+24|0]}e:{if(!e)for(;;){if((k|0)<=0)break e;if(k=k-1|0,(gi(l[k+(A+24|0)|0],i[f+32>>2])|0)==-1)break r}i[f+48>>2]=i[A+20>>2]}r=i[A+20>>2];break i}r=-1}return B=A+32|0,r}function Mr(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;Z=B-16|0,B=Z,w=x0(t,100184),u=Z+4|0,t=x0(t,100256),V[i[i[t>>2]+20>>2]](u,t),s[u+11|0]>>>7|0?o=i[u+4>>2]:o=s[u+11|0]&127;i:{if(!o){V[i[i[w>>2]+48>>2]](w,f,r,A)|0,t=(r-f<<2)+A|0,i[n>>2]=t;break i}i[n>>2]=A;r:{e:switch(u=f,o=s[u|0],o-43|0){case 0:case 2:break e;default:break r}u=V[i[i[w>>2]+44>>2]](w,o<<24>>24)|0,o=i[n>>2],i[n>>2]=o+4,i[o>>2]=u,u=f+1|0}for(s[u|0]!=48|(r-u|0)<2|(s[u+1|0]|32)!=120||(o=V[i[i[w>>2]+44>>2]](w,48)|0,h=i[n>>2],i[n>>2]=h+4,i[h>>2]=o,o=V[i[i[w>>2]+44>>2]](w,l[u+1|0])|0,h=i[n>>2],i[n>>2]=h+4,i[h>>2]=o,u=u+2|0),li(u,r),p=V[i[i[t>>2]+16>>2]](t)|0,h=0,t=u;;){if(r>>>0<=t>>>0)te((u-f<<2)+A|0,i[n>>2]),t=i[n>>2];else{o=Z+4|0;r:{if(s[o+11|0]>>>7|0){_=i[o>>2];break r}_=o}W=!s[_+h|0],s[o+11|0]>>>7|0?_=i[o>>2]:_=o,W|l[_+h|0]!=(v|0)||(v=i[n>>2],i[n>>2]=v+4,i[v>>2]=p,s[o+11|0]>>>7|0?o=i[o+4>>2]:o=s[o+11|0]&127,h=(o-1>>>0>h>>>0)+h|0,v=0),o=V[i[i[w>>2]+44>>2]](w,l[t|0])|0,_=i[n>>2],i[n>>2]=_+4,i[_>>2]=o,t=t+1|0,v=v+1|0;continue}break}}i[k>>2]=(e|0)==(r|0)?t:(e-f<<2)+A|0,z0(Z+4|0),B=Z+16|0}function l0(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;if(r>>>0>=512)return Vs(f|0,e|0,r|0),f|0;A=f+r|0;i:{if(!((f^e)&3)){r:{if(!(f&3)){r=f;break r}if(!r){r=f;break r}for(r=f;;){if(l[r|0]=s[e|0],e=e+1|0,r=r+1|0,!(r&3))break r;if(!(r>>>0>>0))break}}k=A&-4;r:{if(A>>>0<64||(n=k+-64|0,n>>>0>>0))break r;for(;i[r>>2]=i[e>>2],i[r+4>>2]=i[e+4>>2],i[r+8>>2]=i[e+8>>2],i[r+12>>2]=i[e+12>>2],i[r+16>>2]=i[e+16>>2],i[r+20>>2]=i[e+20>>2],i[r+24>>2]=i[e+24>>2],i[r+28>>2]=i[e+28>>2],i[r+32>>2]=i[e+32>>2],i[r+36>>2]=i[e+36>>2],i[r+40>>2]=i[e+40>>2],i[r+44>>2]=i[e+44>>2],i[r+48>>2]=i[e+48>>2],i[r+52>>2]=i[e+52>>2],i[r+56>>2]=i[e+56>>2],i[r+60>>2]=i[e+60>>2],e=e- -64|0,r=r- -64|0,n>>>0>=r>>>0;);}if(r>>>0>=k>>>0)break i;for(;i[r>>2]=i[e>>2],e=e+4|0,r=r+4|0,k>>>0>r>>>0;);break i}if(A>>>0<4){r=f;break i}if(k=A-4|0,k>>>0>>0){r=f;break i}for(r=f;l[r|0]=s[e|0],l[r+1|0]=s[e+1|0],l[r+2|0]=s[e+2|0],l[r+3|0]=s[e+3|0],e=e+4|0,r=r+4|0,k>>>0>=r>>>0;);}if(r>>>0>>0)for(;l[r|0]=s[e|0],e=e+1|0,r=r+1|0,(A|0)!=(r|0););return f|0}function R_(f){f=f|0;var e=0,r=0,A=0,k=0;if(r=f+16|0,e=i[r+16>>2],k=r+20|0,(e|0)!=(k|0))for(;;){A=i[e+20>>2],f=i[e+24>>2];i:{if(!f){i7(A);break i}if(i[f+4>>2]=i[f+4>>2]+1,i7(A),A=i[f+4>>2],i[f+4>>2]=A-1,A)break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[e+4>>2];i:{if(f){for(;;)if(e=f,f=i[f>>2],!f)break i}for(;f=e,e=i[e+8>>2],(f|0)!=i[e>>2];);}if((e|0)==(k|0))break}if(A=i[r+72>>2],A){if(f=A,e=i[r+76>>2],(f|0)!=(e|0)){for(;;){f=i[e-4>>2];i:{if(!f||(k=i[f+4>>2],i[f+4>>2]=k-1,k))break i;V[i[i[f>>2]+8>>2]](f),g(f)}if(e=e-8|0,(A|0)==(e|0))break}f=i[r+72>>2]}i[r+76>>2]=A,G(f)}f=i[r+52>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[r+44>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}if(A=i[r+28>>2],A){if(f=A,e=i[r+32>>2],(f|0)!=(e|0)){for(;;){f=i[e-4>>2];i:{if(!f||(k=i[f+4>>2],i[f+4>>2]=k-1,k))break i;V[i[i[f>>2]+8>>2]](f),g(f)}if(e=e-8|0,(A|0)==(e|0))break}f=i[r+28>>2]}i[r+32>>2]=A,G(f)}H6(r+16|0,i[r+20>>2]),l[r+11|0]<0&&G(i[r>>2])}function D_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;t=B-16|0,B=t;i:{if(_=t2(r),!_)break i;r:{for(;;){if(s[r+20|0]|!i[r+16>>2])break i;h=t2(r),w=t2(r),v=t2(r);e:{k=i[e+52>>2],A=i[e+56>>2];A:{if(k>>>0>>0){X[k+4>>1]=v,X[k+2>>1]=w,X[k>>1]=h,h=k+6|0;break A}if(o=i[e+48>>2],n=(k-o|0)/6|0,u=n+1|0,u>>>0>=715827883)break e;if(p=m(n,6),A=(A-o|0)/6|0,n=A<<1,n=A>>>0>=357913941?715827882:n>>>0>u>>>0?n:u,n){if(n>>>0>=715827883)break r;u=U(m(n,6))}else u=0;if(A=p+u|0,X[A+4>>1]=v,X[A+2>>1]=w,X[A>>1]=h,h=A+6|0,(k|0)!=(o|0)){for(;A=A-6|0,k=k-6|0,w=Q[k>>1]|Q[k+2>>1]<<16,X[A>>1]=w,X[A+2>>1]=w>>>16,X[A+4>>1]=Q[k+4>>1],(k|0)!=(o|0););o=i[e+48>>2]}if(i[e+56>>2]=u+m(n,6),i[e+52>>2]=h,i[e+48>>2]=A,!o)break A;G(o)}if(i[e+52>>2]=h,Z=Z+1|0,(Z|0)!=(_|0))continue;break i}break}y0(),P()}_2(),P()}i:{if(s[r+20|0]==1){if(l[t+4|0]=0,l[t+15|0]=0,r0(f,2,100,t+4|0),l[t+15|0]>=0)break i;G(i[t+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=t+16|0}function xr(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;Z=B-16|0,B=Z,w=x0(t,100192),u=Z+4|0,t=x0(t,100248),V[i[i[t>>2]+20>>2]](u,t),s[u+11|0]>>>7|0?o=i[u+4>>2]:o=s[u+11|0]&127;i:{if(!o){V[i[i[w>>2]+32>>2]](w,f,r,A)|0,t=(r-f|0)+A|0,i[n>>2]=t;break i}i[n>>2]=A;r:{e:switch(u=f,o=s[u|0],o-43|0){case 0:case 2:break e;default:break r}u=V[i[i[w>>2]+28>>2]](w,o<<24>>24)|0,o=i[n>>2],i[n>>2]=o+1,l[o|0]=u,u=f+1|0}for(s[u|0]!=48|(r-u|0)<2|(s[u+1|0]|32)!=120||(o=V[i[i[w>>2]+28>>2]](w,48)|0,h=i[n>>2],i[n>>2]=h+1,l[h|0]=o,o=V[i[i[w>>2]+28>>2]](w,l[u+1|0])|0,h=i[n>>2],i[n>>2]=h+1,l[h|0]=o,u=u+2|0),li(u,r),p=V[i[i[t>>2]+16>>2]](t)|0,h=0,t=u;;){if(r>>>0<=t>>>0)li((u-f|0)+A|0,i[n>>2]),t=i[n>>2];else{o=Z+4|0;r:{if(s[o+11|0]>>>7|0){_=i[o>>2];break r}_=o}W=!s[_+h|0],s[o+11|0]>>>7|0?_=i[o>>2]:_=o,W|l[_+h|0]!=(v|0)||(v=i[n>>2],i[n>>2]=v+1,l[v|0]=p,s[o+11|0]>>>7|0?o=i[o+4>>2]:o=s[o+11|0]&127,h=(o-1>>>0>h>>>0)+h|0,v=0),o=V[i[i[w>>2]+28>>2]](w,l[t|0])|0,_=i[n>>2],i[n>>2]=_+1,l[_|0]=o,t=t+1|0,v=v+1|0;continue}break}}i[k>>2]=(e|0)==(r|0)?t:(e-f|0)+A|0,z0(Z+4|0),B=Z+16|0}function U_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;t=B-16|0,B=t;i:{if(_=t2(r),!_)break i;r:{for(;;){if(s[r+20|0]|!i[r+16>>2])break i;h=t2(r),w=B2(r),v=t2(r);e:{k=i[e+60>>2],A=i[e+64>>2];A:{if(k>>>0>>0){X[k+4>>1]=v,l[k+2|0]=w,X[k>>1]=h,h=k+6|0;break A}if(o=i[e+56>>2],n=(k-o|0)/6|0,u=n+1|0,u>>>0>=715827883)break e;if(p=m(n,6),A=(A-o|0)/6|0,n=A<<1,n=A>>>0>=357913941?715827882:n>>>0>u>>>0?n:u,n){if(n>>>0>=715827883)break r;u=U(m(n,6))}else u=0;if(A=p+u|0,X[A+4>>1]=v,l[A+2|0]=w,X[A>>1]=h,h=A+6|0,(k|0)!=(o|0)){for(;A=A-6|0,k=k-6|0,w=Q[k>>1]|Q[k+2>>1]<<16,X[A>>1]=w,X[A+2>>1]=w>>>16,X[A+4>>1]=Q[k+4>>1],(k|0)!=(o|0););o=i[e+56>>2]}if(i[e+64>>2]=u+m(n,6),i[e+60>>2]=h,i[e+56>>2]=A,!o)break A;G(o)}if(i[e+60>>2]=h,Z=Z+1|0,(Z|0)!=(_|0))continue;break i}break}y0(),P()}_2(),P()}i:{if(s[r+20|0]==1){if(l[t+4|0]=0,l[t+15|0]=0,r0(f,2,100,t+4|0),l[t+15|0]>=0)break i;G(i[t+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=t+16|0}function M_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,n=A+12|0,i[n+i[t-12>>2]>>2]=i[13709],t=n+i[i[A+12>>2]-12>>2]|0,k=A+16|0,b0(t,k),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(k),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,k=A+148|0,R2(k,e,r),o=n,u=k,n=l[A+159|0],k=(n|0)<0,x(o,k?i[A+148>>2]:u,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=A+148|0,W0(n,r),o=n,n=l[A+159|0],k=(n|0)<0,x(A+12|0,k?i[A+148>>2]:o,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=x(L0(x(A+12|0,21287,10),i[e+56>>2]),31338,1),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],u=(k|0)<0,x(n,u?i[A+148>>2]:o,u?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(L0(x(n,21594,15),i[i[e+60>>2]>>2]),31338,1),k=A+148|0,W0(k,r),o=k,r=l[A+159|0],k=(r|0)<0,x(n,k?i[A+148>>2]:o,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),x(L0(x(n,21577,16),i[i[e+60>>2]+4>>2]),31338,1),i2(f,t),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function k1(f,e,r,A){var k=0,n=0,t=0;i:{r:switch(e-1|0){case 0:A2(f,r&255);return;case 1:e=i[f+12>>2],n=e+2|0,k=i[f>>2],t=i[f+4>>2]-k|0,n>>>0>t>>>0&&(L2(f,n-t|0),k=i[f>>2],e=i[f+12>>2]),i[f+12>>2]=e+1,l[e+k|0]=(A&255)<<24|r>>>8;break i;case 3:e=i[f+12>>2],n=e+4|0,k=i[f>>2],t=i[f+4>>2]-k|0,n>>>0>t>>>0&&(L2(f,n-t|0),k=i[f>>2],e=i[f+12>>2]),i[f+12>>2]=e+1,l[e+k|0]=(A&16777215)<<8|r>>>24,e=i[f+12>>2],i[f+12>>2]=e+1,l[e+i[f>>2]|0]=(A&65535)<<16|r>>>16,e=i[f+12>>2],i[f+12>>2]=e+1,l[e+i[f>>2]|0]=(A&255)<<24|r>>>8;break i;case 7:e=i[f+12>>2],n=e+8|0,k=i[f>>2],t=i[f+4>>2]-k|0,n>>>0>t>>>0&&(L2(f,n-t|0),k=i[f>>2],e=i[f+12>>2]),i[f+12>>2]=e+1,l[e+k|0]=A>>>24,e=i[f+12>>2],i[f+12>>2]=e+1,l[e+i[f>>2]|0]=A>>>16,e=i[f+12>>2],i[f+12>>2]=e+1,l[e+i[f>>2]|0]=A>>>8,e=i[f+12>>2],i[f+12>>2]=e+1,l[e+i[f>>2]|0]=A,e=i[f+12>>2],i[f+12>>2]=e+1,l[e+i[f>>2]|0]=(A&16777215)<<8|r>>>24,e=i[f+12>>2],i[f+12>>2]=e+1,l[e+i[f>>2]|0]=(A&65535)<<16|r>>>16,e=i[f+12>>2],i[f+12>>2]=e+1,l[e+i[f>>2]|0]=(A&255)<<24|r>>>8,e=i[f+12>>2],i[f+12>>2]=e+1,l[e+i[f>>2]|0]=r;break;default:break r}return}e=i[f+12>>2],i[f+12>>2]=e+1,l[e+i[f>>2]|0]=r}function x_(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0;o=B-16|0,B=o,t=B-16|0,B=t,u=i[e+8>>2],D8(t,i[u+48>>2],7077),n=i[t>>2],l[n+124|0]=1,i[n+52>>2]=i[n+52>>2]&-2|1,h=i[i[t>>2]+56>>2],n=U(36),i[n+32>>2]=0,i[n+24>>2]=0,i[n+28>>2]=0,i[n+20>>2]=A,i[n+16>>2]=r,i[n+12>>2]=h,i[n>>2]=72616,i[n+4>>2]=0,i[n+8>>2]=0,i[o+12>>2]=n,A=n+12|0,i[o+8>>2]=A,i[n+4>>2]=i[n+4>>2]+1,i[t+12>>2]=n,i[t+8>>2]=A,r=i[u+76>>2];i:{if(r>>>0>2]){i[r+4>>2]=n,i[r>>2]=A,i[u+76>>2]=r+8;break i}if(A=z2(u+72|0,t+8|0),r=i[t+12>>2],i[u+76>>2]=A,!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[t+4>>2];i:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r)}B=t+16|0,y7(i[e>>2],i[i[o+8>>2]>>2]),k&&(r=U(16),A=i[e+8>>2],e=i[e+12>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r+4>>2]=e,i[r>>2]=A,A=i[o+8>>2],e=i[o+12>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r+12>>2]=e,i[r+8>>2]=A,i[k>>2]=r),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[o+12>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=o+16|0}function z_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,k=A+12|0,i[k+i[t-12>>2]>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),u=k,o=n,k=l[A+159|0],n=(k|0)<0,x(u,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(H0(x(H0(x(H0(x(H0(x(k,20901,16),i[e+48>>2]),17358,1),i[e+52>>2]),18734,3),i[e+56>>2]),17358,1),i[e+60>>2]),31338,1),n=A+148|0,W0(n,r),o=k,r=l[A+159|0],k=(r|0)<0,x(o,k?i[A+148>>2]:n,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(H0(x(H0(x(H0(x(H0(x(r,19634,8),i[e+64>>2]),17358,1),i[e+68>>2]),19321,3),i[e+72>>2]),17358,1),i[e+76>>2]),31338,1),i2(f,t),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function H_(f,e,r,A,k,n,t,o,u){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0;var h=0,w=0,_=0;_=B-16|0,B=_,h=U(44),i[h+40>>2]=0,i[h+32>>2]=0,i[h+36>>2]=0,i[h+12>>2]=73364,i[h+4>>2]=0,i[h+8>>2]=0,i[h+28>>2]=n,i[h+24>>2]=k,i[h+20>>2]=A,i[h+16>>2]=r,i[h>>2]=73608,A=h+12|0,o?(L2(h+32|0,o),w=i[h+36>>2],r=i[h+32>>2]):r=0,l0(r,t,w-r|0),k=i[e+8>>2],i[_+12>>2]=h,i[_+8>>2]=A,i[h+4>>2]=i[h+4>>2]+1,r=i[k+16>>2];i:{r:{if(r>>>0>2]){i[r+4>>2]=h,i[r>>2]=A,i[h+4>>2]=i[h+4>>2]+1,i[k+16>>2]=r+8,w=h;break r}if(r=Q2(k+12|0,_+8|0),w=i[_+12>>2],i[k+16>>2]=r,!w)break i}if(r=i[w+4>>2],i[w+4>>2]=r-1,r)break i;V[i[i[w>>2]+8>>2]](w),g(w)}i:{if(!u||(i[h+4>>2]=i[h+4>>2]+1,k=U(24),i[h+4>>2]=i[h+4>>2]+1,i[k+20>>2]=h,i[k+16>>2]=A,r=i[e+8>>2],A=i[e+12>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[k+12>>2]=A,i[k+8>>2]=r,r=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[k+4>>2]=e,i[k>>2]=r,i[u>>2]=k,e=i[h+4>>2],i[h+4>>2]=e-1,e))break i;V[i[i[h>>2]+8>>2]](h),g(h)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[h+4>>2],i[h+4>>2]=f-1,f||(V[i[i[h>>2]+8>>2]](h),g(h)),B=_+16|0}function Zn(f,e,r,A,k,n,t,o,u,h){var w=0,_=0,v=0;w=B-16|0,B=w;i:{if(f){f=x0(r,99944);r:{if(e){e=w+4|0,V[i[i[f>>2]+44>>2]](e,f),r=i[w+4>>2],l[A|0]=r,l[A+1|0]=r>>>8,l[A+2|0]=r>>>16,l[A+3|0]=r>>>24,V[i[i[f>>2]+32>>2]](e,f);break r}e=w+4|0,V[i[i[f>>2]+40>>2]](e,f),r=i[w+4>>2],l[A|0]=r,l[A+1|0]=r>>>8,l[A+2|0]=r>>>16,l[A+3|0]=r>>>24,V[i[i[f>>2]+28>>2]](e,f)}r8(u,e),l1(e),_=k,v=V[i[i[f>>2]+12>>2]](f)|0,i[_>>2]=v,_=n,v=V[i[i[f>>2]+16>>2]](f)|0,i[_>>2]=v,e=w+4|0,V[i[i[f>>2]+20>>2]](e,f),q1(t,e),z0(e),V[i[i[f>>2]+24>>2]](e,f),r8(o,e),l1(e),f=V[i[i[f>>2]+36>>2]](f)|0;break i}f=x0(r,99936);r:{if(e){e=w+4|0,V[i[i[f>>2]+44>>2]](e,f),r=i[w+4>>2],l[A|0]=r,l[A+1|0]=r>>>8,l[A+2|0]=r>>>16,l[A+3|0]=r>>>24,V[i[i[f>>2]+32>>2]](e,f);break r}e=w+4|0,V[i[i[f>>2]+40>>2]](e,f),r=i[w+4>>2],l[A|0]=r,l[A+1|0]=r>>>8,l[A+2|0]=r>>>16,l[A+3|0]=r>>>24,V[i[i[f>>2]+28>>2]](e,f)}r8(u,e),l1(e),_=k,v=V[i[i[f>>2]+12>>2]](f)|0,i[_>>2]=v,_=n,v=V[i[i[f>>2]+16>>2]](f)|0,i[_>>2]=v,e=w+4|0,V[i[i[f>>2]+20>>2]](e,f),q1(t,e),z0(e),V[i[i[f>>2]+24>>2]](e,f),r8(o,e),l1(e),f=V[i[i[f>>2]+36>>2]](f)|0}i[h>>2]=f,B=w+16|0}function c1(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0;u=B-16|0,B=u,A=i[f+60>>2],k=i[f+56>>2],o=A-k>>4;i:{if((A|0)==(k|0))break i;for(t=o>>>0<=1?1:o;;){if(i[k+(n<<4)>>2]==(e|0))break i;if(n=n+1|0,(t|0)==(n|0))break}n=t}if((n|0)==(o|0)){k=f+56|0,i[u+12>>2]=0,i[u+4>>2]=0,i[u+8>>2]=0,i[u>>2]=e;i:{if(A>>>0>2]){i[A+12>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=e,i[f+60>>2]=A+16;break i}if(t=Nn(k,u),e=i[u+4>>2],i[f+60>>2]=t,!e)break i;i[u+8>>2]=e,G(e)}k=i[k>>2]}i:{r:{t=(n<<4)+k|0,n=i[t+8>>2],k=i[t+12>>2];e:{if(n>>>0>>0){f=Q[r>>1]|Q[r+2>>1]<<16,X[n>>1]=f,X[n+2>>1]=f>>>16,f=n+4|0;break e}if(e=i[t+4>>2],A=n-e>>2,f=A+1|0,f>>>0>=1073741824)break r;if(k=k-e|0,o=k>>1,o=k>>>0>=2147483644?1073741823:f>>>0>>0?o:f,o){if(o>>>0>=1073741824)break i;k=U(o<<2)}else k=0;if(A=k+(A<<2)|0,f=Q[r>>1]|Q[r+2>>1]<<16,X[A>>1]=f,X[A+2>>1]=f>>>16,f=A+4|0,(e|0)!=(n|0)){for(;A=A-4|0,n=n-4|0,r=Q[n>>1]|Q[n+2>>1]<<16,X[A>>1]=r,X[A+2>>1]=r>>>16,(e|0)!=(n|0););e=i[t+4>>2]}if(i[t+12>>2]=k+(o<<2),i[t+8>>2]=f,i[t+4>>2]=A,!e)break e;G(e)}i[t+8>>2]=f,B=u+16|0;return}y0(),P()}_2(),P()}function pn(f,e){var r=0,A=0;s[f|0]&&(r=f,A=u0(e,2),l[r+1|0]=A,r=f,A=u0(e,1),l[r+2|0]=A,r=f,A=u0(e,5),i[r+4>>2]=A,r=f,A=u0(e,1),l[r+8|0]=A,r=f,A=u0(e,1),l[r+9|0]=A,r=f,A=u0(e,1),l[r+10|0]=A,r=f,A=u0(e,1),l[r+11|0]=A,r=f,A=u0(e,1),l[r+12|0]=A,r=f,A=u0(e,1),l[r+13|0]=A,r=f,A=u0(e,1),l[r+14|0]=A,r=f,A=u0(e,1),l[r+15|0]=A,r=f,A=u0(e,1),l[r+16|0]=A,r=f,A=u0(e,1),l[r+17|0]=A,r=f,A=u0(e,1),l[r+18|0]=A,r=f,A=u0(e,1),l[r+19|0]=A,r=f,A=u0(e,1),l[r+20|0]=A,r=f,A=u0(e,1),l[r+21|0]=A,r=f,A=u0(e,1),l[r+22|0]=A,r=f,A=u0(e,1),l[r+23|0]=A,r=f,A=u0(e,1),l[r+24|0]=A,r=f,A=u0(e,1),l[r+25|0]=A,r=f,A=u0(e,1),l[r+26|0]=A,r=f,A=u0(e,1),l[r+27|0]=A,r=f,A=u0(e,1),l[r+28|0]=A,r=f,A=u0(e,1),l[r+29|0]=A,r=f,A=u0(e,1),l[r+30|0]=A,r=f,A=u0(e,1),l[r+31|0]=A,r=f,A=u0(e,1),l[r+32|0]=A,r=f,A=u0(e,1),l[r+33|0]=A,r=f,A=u0(e,1),l[r+34|0]=A,r=f,A=u0(e,1),l[r+35|0]=A,r=f,A=u0(e,1),l[r+36|0]=A,r=f,A=u0(e,1),l[r+37|0]=A,r=f,A=u0(e,1),l[r+38|0]=A,r=f,A=u0(e,1),l[r+39|0]=A,r=f,A=u0(e,1),l[r+40|0]=A,r=f,A=u0(e,1),l[r+41|0]=A,r=f,A=u0(e,1),l[r+42|0]=A,r=f,A=u0(e,1),l[r+43|0]=A,ni(e,44)),s[f+44|0]&&(r=f,A=u0(e,8),i[r+48>>2]=A)}function Wn(f,e,r,A,k,n,t,o,u,h){var w=0,_=0,v=0;w=B-16|0,B=w;i:{if(f){f=x0(r,99928);r:{if(e){e=w+4|0,V[i[i[f>>2]+44>>2]](e,f),r=i[w+4>>2],l[A|0]=r,l[A+1|0]=r>>>8,l[A+2|0]=r>>>16,l[A+3|0]=r>>>24,V[i[i[f>>2]+32>>2]](e,f);break r}e=w+4|0,V[i[i[f>>2]+40>>2]](e,f),r=i[w+4>>2],l[A|0]=r,l[A+1|0]=r>>>8,l[A+2|0]=r>>>16,l[A+3|0]=r>>>24,V[i[i[f>>2]+28>>2]](e,f)}q1(u,e),z0(e),_=k,v=V[i[i[f>>2]+12>>2]](f)|0,l[_|0]=v,_=n,v=V[i[i[f>>2]+16>>2]](f)|0,l[_|0]=v,e=w+4|0,V[i[i[f>>2]+20>>2]](e,f),q1(t,e),z0(e),V[i[i[f>>2]+24>>2]](e,f),q1(o,e),z0(e),f=V[i[i[f>>2]+36>>2]](f)|0;break i}f=x0(r,99920);r:{if(e){e=w+4|0,V[i[i[f>>2]+44>>2]](e,f),r=i[w+4>>2],l[A|0]=r,l[A+1|0]=r>>>8,l[A+2|0]=r>>>16,l[A+3|0]=r>>>24,V[i[i[f>>2]+32>>2]](e,f);break r}e=w+4|0,V[i[i[f>>2]+40>>2]](e,f),r=i[w+4>>2],l[A|0]=r,l[A+1|0]=r>>>8,l[A+2|0]=r>>>16,l[A+3|0]=r>>>24,V[i[i[f>>2]+28>>2]](e,f)}q1(u,e),z0(e),_=k,v=V[i[i[f>>2]+12>>2]](f)|0,l[_|0]=v,_=n,v=V[i[i[f>>2]+16>>2]](f)|0,l[_|0]=v,e=w+4|0,V[i[i[f>>2]+20>>2]](e,f),q1(t,e),z0(e),V[i[i[f>>2]+24>>2]](e,f),q1(o,e),z0(e),f=V[i[i[f>>2]+36>>2]](f)|0}i[h>>2]=f,B=w+16|0}function T_(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0;n=B-32|0,B=n,f=i[f>>2],o=i[f+48>>2],u=i[f+52>>2],u&&(i[u+4>>2]=i[u+4>>2]+1),i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,I1(n,o,e,n+20|0);i:{if(i[n>>2]||(f=i[n+20>>2],h=i[n+24>>2],(f|0)==(h|0)))break i;e=!A;r:{if(!r){if(e)break r;for(o=1;r=e,(k|0)>(t|0)&&(i[(t<<2)+A>>2]=o,r=1),o=o+1|0,t=r+t|0,f=f+8|0,(h|0)!=(f|0););break i}if(!A){for(;;)if(t=(e&i[i[f>>2]+16>>2]==(r|0))+t|0,f=f+8|0,(h|0)==(f|0))break i}for(o=1;;){e:{if(i[i[f>>2]+16>>2]!=(r|0))break e;if((k|0)>(t|0)){i[(t<<2)+A>>2]=o,t=t+1|0;break e}t=e+t|0}if(o=o+1|0,f=f+8|0,(h|0)==(f|0))break}break i}t=((h-f|0)-8>>>3|0)+1|0}if(l[n+19|0]<0&&G(i[n+8>>2]),r=i[n+20>>2],r){if(f=i[n+24>>2],e=r,(f|0)!=(e|0)){for(;;){e=i[f-4>>2];i:{if(!e||(A=i[e+4>>2],i[e+4>>2]=A-1,A))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(f=f-8|0,(r|0)==(f|0))break}e=i[n+20>>2]}i[n+24>>2]=r,G(e)}i:{if(!u||(f=i[u+4>>2],i[u+4>>2]=f-1,f))break i;V[i[i[u>>2]+8>>2]](u),g(u)}return B=n+32|0,t|0}function a_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,k=A+8|0,l[78275]>=0){n=i[19567],i[k>>2]=i[19566],i[k+4>>2]=n,i[k+8>>2]=i[19568];break i}_0(k,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]);i:{if(s[e+48|0]){h4(f,e,7012);break i}n=i[e+52>>2]>>>8|0,i[e+104>>2]=n&31,k=1,t=+(1<>>0),o=e,u=+(D0(r)|0)/t,i0[o+56>>3]=u,o=e,u=+(D0(r)|0)/t,i0[o+64>>3]=u,o=e,u=+(D0(r)|0)/t,i0[o+72>>3]=u,n=i[e+52>>2];r:{if(n&1){n=n>>>16|0,i[e+108>>2]=n&31,o=e,u=+(D0(r)|0)/t,i0[o+88>>3]=u,t=+(D0(r)|0)/+(1<>>0);break r}i[e+88>>2]=0,i[e+92>>2]=0,k=0,t=0}if(i0[e+96>>3]=t,l[e+80|0]=k,s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(f,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function S_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;u=B-16|0,B=u;i:{r:{e:{if(!i[r+16>>2])break e;for(;;){if(s[r+20|0])break e;o=t2(r),w=B2(r),_=B2(r),k=i[e+52>>2],A=i[e+56>>2];A:{if(k>>>0>>0){n=o|(_<<24|w<<16),X[k>>1]=n,X[k+2>>1]=n>>>16,o=k+4|0;break A}if(h=i[e+48>>2],t=k-h>>2,n=t+1|0,n>>>0>=1073741824)break r;if(v=t<<2,A=A-h|0,t=A>>1,t=A>>>0>=2147483644?1073741823:t>>>0>n>>>0?t:n,t){if(t>>>0>=1073741824)break i;n=U(t<<2)}else n=0;if(A=v+n|0,o=o|(_<<24|w<<16),X[A>>1]=o,X[A+2>>1]=o>>>16,o=A+4|0,(k|0)!=(h|0)){for(;A=A-4|0,k=k-4|0,w=Q[k>>1]|Q[k+2>>1]<<16,X[A>>1]=w,X[A+2>>1]=w>>>16,(k|0)!=(h|0););h=i[e+48>>2]}if(i[e+56>>2]=n+(t<<2),i[e+52>>2]=o,i[e+48>>2]=A,!h)break A;G(h)}if(i[e+52>>2]=o,!i[r+16>>2])break}}e:{if(s[r+20|0]==1){if(l[u+4|0]=0,l[u+15|0]=0,r0(f,2,100,u+4|0),l[u+15|0]>=0)break e;G(i[u+4>>2]);break e}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break e}_0(f,i[19566],i[19567])}B=u+16|0;return}y0(),P()}_2(),P()}function Xn(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;A=B-32|0,B=A;i:{if(s[f+52|0]==1){if(r=i[f+48>>2],!e)break i;l[f+52|0]=0,i[f+48>>2]=-1;break i}r:{if(s[f+53|0]==1){if(r=y6(i[f+32>>2]),(r|0)!=-1&&(l[A+24|0]=r),(r|0)==-1)break r;r=s[A+24|0];e:{if(!e){if(!yo(r,i[f+32>>2]))break r;break e}i[f+48>>2]=r}r=s[A+24|0];break i}for(i[A+24>>2]=1,k=B-16|0,B=k,B=k+16|0,k=f+44|0,n=A+24|0,k=i[(i[n>>2]>2]?k:n)>>2],n=(k|0)>0?k:0;;){if((r|0)!=(n|0)){if(t=y6(i[f+32>>2]),(t|0)==-1)break r;l[(A+24|0)+r|0]=t,r=r+1|0;continue}break}h=A+24|0;e:{for(;;){A:{n=i[f+40>>2],r=i[n>>2],w=i[n+4>>2],o=A+24|0,t=o+k|0;f:switch(u=i[f+36>>2],(V[i[i[u>>2]+16>>2]](u,n,o,t,A+16|0,A+23|0,h,A+12|0)|0)-1|0){case 2:break A;case 0:break f;case 1:break r;default:break e}if(n=i[f+40>>2],i[n>>2]=r,i[n+4>>2]=w,(k|0)==8||(r=y6(i[f+32>>2]),(r|0)==-1))break r;l[t|0]=r,k=k+1|0;continue}break}l[A+23|0]=s[A+24|0]}e:{if(!e)for(;;){if((k|0)<=0)break e;if(k=k-1|0,(gi(s[k+(A+24|0)|0],i[f+32>>2])|0)==-1)break r}i[f+48>>2]=s[A+23|0]}r=s[A+23|0];break i}r=-1}return B=A+32|0,r}function YA(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0;t=B-32|0,B=t,k=A&65535,n=A>>>16&32767,u=n;i:{if(n-15361>>>0<=2045){k=k<<4|r>>>28,r=r<<4,n=k,k=e>>>28|r,r=n,n=u-15360|0,e=e&268435455;r:{if((e|0)==134217728&(f|0)!=0|e>>>0>134217728){k=k+1|0,r=k?r:r+1|0;break r}if(f|(e|0)!=134217728)break r;f=k,k=k+(k&1)|0,r=f>>>0>k>>>0?r+1|0:r}o=r>>>0>1048575,f=o?0:k,e=o?0:r,k=0,r=n+o|0,n=r>>>0>>0?1:k;break i}if(!(!(f|r|(e|k))|((n|0)!=32767|(o|0)!=0))){f=r,r=k<<4|r>>>28,f=f<<4|e>>>28,e=r|524288,r=2047,n=0;break i}if(u>>>0>17406){f=0,e=0,r=2047,n=0;break i}if(o=!(n|o),h=o?15360:15361,n=h-u|0,(n|0)>112){f=0,e=0,r=0,n=0;break i}k=o?k:k|65536,L1(t+16|0,f,e,r,k,128-n|0),ti(t,f,e,r,k,n),f=i[t+8>>2],o=f<<4,e=i[t+12>>2]<<4|f>>>28,f=i[t+4>>2],n=f,f=f>>>28|o,n=n&268435455,r=i[t>>2]|(u|0)!=(h|0)&(i[t+16>>2]|i[t+24>>2]|(i[t+20>>2]|i[t+28>>2]))!=0;r:{if((n|0)==134217728&(r|0)!=0|n>>>0>134217728){f=f+1|0,e=f?e:e+1|0;break r}if(r|(n|0)!=134217728)break r;k=e,e=f,f=f+(f&1)|0,e=e>>>0>f>>>0?k+1|0:k}r=e>>>0>1048575,e=r?e^1048576:e,n=0}return B=t+32|0,N2(0,f|0),N2(1,e|(A&-2147483648|r<<20)),+m1()}function O_(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=+k;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;n=B-208|0,B=n,i[n+200>>2]=37,i[n+204>>2]=0,t=n+200|0,o=Ae(t|1,31341,i[r+4>>2]),u=n+160|0,i[n+156>>2]=u,f=M2();i:{if(o){h=i[r+8>>2],i0[n+40>>3]=k,i[n+32>>2]=h,f=b1(u,30,f,t,n+32|0);break i}i0[n+48>>3]=k,f=b1(n+160|0,30,f,n+200|0,n+48|0)}i[n+80>>2]=1094,u=o1(n+148|0,0,n+80|0),t=n+160|0;i:{r:{if((f|0)>=30){f=M2();e:{if(o){t=i[r+8>>2],i0[n+8>>3]=k,i[n>>2]=t,f=c4(n+156|0,f,n+200|0,n);break e}i0[n+16>>3]=k,f=c4(n+156|0,f,n+200|0,n+16|0)}if((f|0)==-1)break r;t=i[u>>2],i[u>>2]=i[n+156>>2],t&&V[i[u+4>>2]](t),t=i[n+156>>2]}_=f+t|0,v=X4(t,_,r),i[n+80>>2]=1094,t=n+80|0,o=o1(n+72|0,0,t),h=i[n+156>>2];e:{if((h|0)==(n+160|0)){f=t;break e}if(f=Z2(f<<1),!f)break r;t=i[o>>2],i[o>>2]=f,t&&V[i[o+4>>2]](t),h=i[n+156>>2]}w=n+60|0,t=i[r+28>>2],i[w>>2]=t,(t|0)!=100008&&(i[t+4>>2]=i[t+4>>2]+1),dk(h,v,_,f,n+68|0,n- -64|0,w),O0(w),f=G8(e,f,i[n+68>>2],i[n+64>>2],r,A),e=i[o>>2],i[o>>2]=0,e&&V[i[o+4>>2]](e),e=i[u>>2],i[u>>2]=0,e&&V[i[u+4>>2]](e),B=n+208|0;break i}u1(),P()}return f|0}function j_(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=+k;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;n=B-368|0,B=n,i[n+360>>2]=37,i[n+364>>2]=0,t=n+360|0,o=Ae(t|1,31341,i[r+4>>2]),u=n+320|0,i[n+316>>2]=u,f=M2();i:{if(o){h=i[r+8>>2],i0[n+40>>3]=k,i[n+32>>2]=h,f=b1(u,30,f,t,n+32|0);break i}i0[n+48>>3]=k,f=b1(n+320|0,30,f,n+360|0,n+48|0)}i[n+80>>2]=1094,u=o1(n+308|0,0,n+80|0),t=n+320|0;i:{r:{if((f|0)>=30){f=M2();e:{if(o){t=i[r+8>>2],i0[n+8>>3]=k,i[n>>2]=t,f=c4(n+316|0,f,n+360|0,n);break e}i0[n+16>>3]=k,f=c4(n+316|0,f,n+360|0,n+16|0)}if((f|0)==-1)break r;t=i[u>>2],i[u>>2]=i[n+316>>2],t&&V[i[u+4>>2]](t),t=i[n+316>>2]}_=f+t|0,v=X4(t,_,r),i[n+80>>2]=1094,t=n+80|0,o=o1(n+72|0,0,t),h=i[n+316>>2];e:{if((h|0)==(n+320|0)){f=t;break e}if(f=Z2(f<<3),!f)break r;t=i[o>>2],i[o>>2]=f,t&&V[i[o+4>>2]](t),h=i[n+316>>2]}w=n+60|0,t=i[r+28>>2],i[w>>2]=t,(t|0)!=100008&&(i[t+4>>2]=i[t+4>>2]+1),bk(h,v,_,f,n+68|0,n- -64|0,w),O0(w),f=X8(e,f,i[n+68>>2],i[n+64>>2],r,A),e=i[o>>2],i[o>>2]=0,e&&V[i[o+4>>2]](e),e=i[u>>2],i[u>>2]=0,e&&V[i[u+4>>2]](e),B=n+368|0;break i}u1(),P()}return f|0}function P_(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0;e=B+-64|0,B=e;i:{if(i[r+12>>2]<=8){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!(i[r>>2]==1&i[r+4>>2]==3)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(n=Q[A+24>>1],!(n>>>0>14|!(1<>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,l[e+44|0]=0,i[e+36>>2]=99,i[e+40>>2]=99,i[e+48>>2]=8,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,n=i[A+4>>2];r:{if(!((n|0)==3|(s[k+12|0]?i[k+4>>2]!=1:0))){i[e+40>>2]=n,i[e+36>>2]=0;break r}i[e+36>>2]=0,i[e+40>>2]=3}l[e+44|0]=s[r+8|0],i[e+48>>2]=i[r+12>>2],r=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[e+59|0]=r,l[e+60|0]=r>>>8,l[e+61|0]=r>>>16,l[e+62|0]=r>>>24,i[e+56>>2]=i[A+20>>2],r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,r=i[e+40>>2],i[e>>2]=i[e+36>>2],i[e+4>>2]=r,i[e+16>>2]=72992,r=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,r=i[A+20>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function L_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;n=B-32|0,B=n,o=V[i[i[e>>2]+32>>2]](e,r,0)|0,A=s[e+48|0];i:{if(A>>>0<=1&&(w2(r,Q[e+56>>1]),w2(r,Q[e+60>>1]),R4(r,e+76|0),R4(r,e+88|0),R4(r,e+100|0),A=s[e+48|0],A>>>0<2))break i;r:{e:switch(A-2|0){case 0:w2(r,Q[e+56>>1]);break r;case 1:break e;default:break r}l2(r,i[e+56>>2])}if(w2(r,Q[e+60>>1]),A=e- -64|0,t=l[e+75|0],k=(t|0)<0,(k?i[e+68>>2]:t)?(k=k?i[A>>2]:A,k=l[k+1|0]<<16|s[k|0]<<24|l[k+2|0]<<8|l[k+3|0]):k=0,l2(r,k),R4(r,e+76|0),t=l[e+75|0],k=(t|0)<0,((k?i[e+68>>2]:t)|0)!=4)break i;A=k?i[A>>2]:A;r:{if((s[A|0]|s[A+1|0]<<8|(s[A+2|0]<<16|s[A+3|0]<<24))==1701669229){R4(r,e+88|0),A=100;break r}if((s[A|0]|s[A+1|0]<<8|(s[A+2|0]<<16|s[A+3|0]<<24))!=543781493)break i;A=112}R4(r,A+e|0)}i[r+12>>2]=o,V[i[i[e>>2]+36>>2]](n+12|0,e,r,i[r+4>>2]-(i[r>>2]+o|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[n+31|0]<0&&G(i[n+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=n+32|0}function Gn(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0;o=B-16|0,B=o;i:{r:{if(!r|(!f|!e))break r;if(f=i[f>>2],i[o+12>>2]=0,i[o+4>>2]=0,i[o+8>>2]=0,A=i[f+28>>2],n=i[f+32>>2],(A|0)!=(n|0)){if(f=n-A|0,(f|0)<0)break i;for(t=U(f),i[o+4>>2]=t,i[o+12>>2]=f+t,f=t;i[f>>2]=i[A>>2],k=i[A+4>>2],i[f+4>>2]=k,k&&(i[k+4>>2]=i[k+4>>2]+1),f=f+8|0,A=A+8|0,(n|0)!=(A|0););i[o+8>>2]=f,A=f-t>>3,k=(r|0)>(A|0)?A:r;e:{if((k|0)<=0)break e;if(r=0,A=0,k>>>0>=4)for(h=k&2147483644,n=0;i[(A<<2)+e>>2]=i[i[(A<<3)+t>>2]+20>>2],u=A|1,i[(u<<2)+e>>2]=i[i[(u<<3)+t>>2]+20>>2],u=A|2,i[(u<<2)+e>>2]=i[i[(u<<3)+t>>2]+20>>2],u=A|3,i[(u<<2)+e>>2]=i[i[(u<<3)+t>>2]+20>>2],A=A+4|0,n=n+4|0,(h|0)!=(n|0););if(n=k&3,!n)break e;for(;i[(A<<2)+e>>2]=i[i[(A<<3)+t>>2]+20>>2],A=A+1|0,r=r+1|0,(n|0)!=(r|0););}for(;;){e=f-8|0,f=i[f-4>>2];e:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break e;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=e,(t|0)==(f|0))break}G(i[o+4>>2]);break r}k=r>>31&r}return B=o+16|0,k|0}y0(),P()}function K_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0;t=B-16|0,B=t;i:{r:{if(!e){r=0;break r}if(f=i[f>>2],i[t+12>>2]=0,i[t+4>>2]=0,i[t+8>>2]=0,A=i[f+36>>2],k=i[f+40>>2],(A|0)!=(k|0)){if(f=k-A|0,(f|0)<0)break i;for(n=U(f),i[t+4>>2]=n,i[t+12>>2]=f+n,f=n;i[f>>2]=i[A>>2],o=i[A+4>>2],i[f+4>>2]=o,o&&(i[o+4>>2]=i[o+4>>2]+1),f=f+8|0,A=A+8|0,(k|0)!=(A|0););i[t+8>>2]=f,A=f-n>>3,r=(r|0)>(A|0)?A:r;e:{if((r|0)<=0)break e;if(o=0,A=0,r>>>0>=4)for(h=r&2147483644,k=0;i[(A<<2)+e>>2]=i[i[(A<<3)+n>>2]+20>>2],u=A|1,i[(u<<2)+e>>2]=i[i[(u<<3)+n>>2]+20>>2],u=A|2,i[(u<<2)+e>>2]=i[i[(u<<3)+n>>2]+20>>2],u=A|3,i[(u<<2)+e>>2]=i[i[(u<<3)+n>>2]+20>>2],A=A+4|0,k=k+4|0,(h|0)!=(k|0););if(k=r&3,!k)break e;for(;i[(A<<2)+e>>2]=i[i[(A<<3)+n>>2]+20>>2],A=A+1|0,o=o+1|0,(k|0)!=(o|0););}for(;;){e=f-8|0,f=i[f-4>>2];e:{if(!f||(A=i[f+4>>2],i[f+4>>2]=A-1,A))break e;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=e,(n|0)==(f|0))break}G(i[t+4>>2]);break r}r=r>>31&r}return B=t+16|0,r|0}y0(),P()}function q_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-80|0,B=A,n=-1;i:{if(!f|(e|0)<=0|(!r|!s[r|0])||!s[r+3|0]|(!s[r+1|0]|!s[r+2|0]))break i;k=U(48),i[k+4>>2]=0,i[k+8>>2]=0,i[k>>2]=72912,f=W3(k+16|0,f,e,0),i[A+52>>2]=k,i[A+48>>2]=f,i[k+4>>2]=i[k+4>>2]+1,f=i[A+52>>2],i[A+8>>2]=i[A+48>>2],i[A+12>>2]=f,t=_e(A+56|0,A+8|0,e,0),i[A+40>>2]=0,i[A+44>>2]=0,_r(A+20|0,t,A+40|0);r:{if(i[A+20>>2]){n=i[A+24>>2]==100?-1:-2;break r}if(n=-2,f=i[A+40>>2],!f||(e=N0(f,68572,68764),!e)||(f=i[A+44>>2],f&&(i[f+4>>2]=i[f+4>>2]+1),n=e,e=s[r|0]|s[r+1|0]<<8|(s[r+2|0]<<16|s[r+3|0]<<24),n=_i(n,e<<24|(e&65280)<<8|(e>>>8&65280|e>>>24)),!f)||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}l[A+39|0]<0&&G(i[A+28>>2]),f=i[A+44>>2];r:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[t+4>>2];r:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=i[k+4>>2],i[k+4>>2]=f-1,f)break i;V[i[i[k>>2]+8>>2]](k),g(k)}return B=A+80|0,n|0}function x(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;o=B-16|0,B=o,_=V1(o+4|0,f);i:{if(s[_|0]!=1)break i;u=e+r|0,t=i[i[f>>2]-12>>2]+f|0,h=(i[t+4>>2]&176)==32?u:e,k=i[t+24>>2],r=i[t+76>>2],(r|0)==-1&&(A=o+12|0,r=i[t+28>>2],i[A>>2]=r,(r|0)!=100008&&(i[r+4>>2]=i[r+4>>2]+1),r=x0(A,100192),r=V[i[i[r>>2]+28>>2]](r,32)|0,O0(A),i[t+76>>2]=r),v=r<<24>>24,r=0,A=B-16|0,B=A;r:{e:{A:{if(!k||(n=i[t+12>>2],w=h-e|0,(w|0)>0&&(V[i[i[k>>2]+48>>2]](k,e,w)|0)!=(w|0)))break A;if(e=u-e|0,e=(e|0)<(n|0)?n-e|0:0,(e|0)>0){if(e>>>0>=2147483640)break e;f:{if(e>>>0>=11){r=(e|7)+1|0,n=U(r),i[A+12>>2]=r|-2147483648,i[A+4>>2]=n,i[A+8>>2]=e;break f}l[A+15|0]=e,n=A+4|0}if(r=0,Z=B0(n,v,e)+e|0,p=0,l[Z|0]=p,n=V[i[i[k>>2]+48>>2]](k,l[A+15|0]<0?i[A+4>>2]:A+4|0,e)|0,l[A+15|0]<0&&G(i[A+4>>2]),(e|0)!=(n|0))break A}f:{if(e=u-h|0,(e|0)<=0||(V[i[i[k>>2]+48>>2]](k,h,e)|0)==(e|0))break f;break A}i[t+12>>2]=0,r=k}B=A+16|0;break r}c2(),P()}if(r)break i;e=i[i[f>>2]-12>>2]+f|0,z1(e,i[e+16>>2]|5)}return Z1(_),B=o+16|0,f}function Cn(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;i[f>>2]=0,i[f+4>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+24>>2]=0,i[f+28>>2]=0,i[f+16>>2]=0,i[f+20>>2]=0,i[f+8>>2]=0,i[f+12>>2]=0;i:{if(s[e+12|0]==1){r=i0[e+24>>3],A=i0[e+32>>3],o=r*A,k=i0[e+16>>3],t=i0[e+40>>3],h=k*t,n=o-h,i0[f+40>>3]=n+n,n=k*r,w=A*t,u=n+w,i0[f+24>>3]=u+u,u=k*A,t=r*t,_=u+t,i0[f+16>>3]=_+_,n=n-w,i0[f+8>>3]=n+n,k=k*k,A=A*A,n=k+A,i0[f+32>>3]=1-(n+n),n=r*r,r=n+A,i0[f>>3]=1-(r+r),A=k+n,A=1-(A+A),k=o+h,k=k+k,r=u-t,r=r+r;break i}r=i0[e+56>>3]*.017453292519943295,k=A3(r),t=e3(r),A=i0[e+48>>3]*.017453292519943295,r=A3(A),A=e3(A),o=i0[e+64>>3],n=t*0,p=n+(0-k),h=p*0,w=k*0+(t+0),i0[f+24>>3]=h+(r*w+A*0),i0[f>>3]=h+(A*w+r*-0),o=o*.017453292519943295,h=e3(o),v=k*-0,o=A3(o),u=o*-0,W=t*h+(v+u),C=W*0,u=k*h+(n+u),_=h*0,Z=_+(0-o),i0[f+40>>3]=C+(r*u+A*Z),v=t*o+(v+_),I=v*0,k=k*o+(n+_),t=o*0+(h+0),i0[f+32>>3]=I+(r*k+A*t),i0[f+16>>3]=C+(A*u-Z*r),i0[f+8>>3]=I+(A*k-t*r),A=W+(u*0+Z*0),k=v+(k*0+t*0),r=p+(w*0+0)}i0[f+64>>3]=A,i0[f+56>>3]=k,i0[f+48>>3]=r}function Vn(f,e){var r=0,A=0,k=0,n=0,t=0;r=B-144|0,B=r;i:{r:{if(A=i[e+16>>2],(A|0)==1970628964){for(i[r+60>>2]=54820,A=i[13708],i[r+4>>2]=A,k=i[A-12>>2],A=r+4|0,i[k+A>>2]=i[13709],n=A+i[i[r+4>>2]-12>>2]|0,k=r+8|0,b0(n,k),i[n+72>>2]=0,i[n+76>>2]=-1,i[r+60>>2]=54820,i[r+4>>2]=54800,n=$0(k),i[n>>2]=53552,i[r+48>>2]=0,i[r+52>>2]=0,i[r+40>>2]=0,i[r+44>>2]=0,i[r+56>>2]=16,k=i[r+4>>2]-12|0,t=A+i[k>>2]|0,i[t+4>>2]=i[t+4>>2]&-75|8,k=A+i[k>>2]|0,i[k+76>>2]==-1&&(t=r+140|0,A=i[k+28>>2],i[t>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(t,100192),V[i[i[A>>2]+28>>2]](A,32)|0,O0(t)),t=r+60|0,i[k+76>>2]=48,k=r+16|0,A=0;;){e:switch((A&13)-4|0){case 0:case 4:l[r+140|0]=45,x(r+4|0,r+140|0,1);break;default:break e}if(i[k+i[i[r+4>>2]-12>>2]>>2]=2,H0(r+4|0,s[i[e+20>>2]+A|0]),A=A+1|0,(A|0)==16)break}break r}l[f+4|0]=0,l[f+11|0]=4,l[f+3|0]=A,l[f+2|0]=A>>>8,l[f+1|0]=A>>>16,l[f|0]=A>>>24;break i}i2(f,n),f=i[13707],i[r+4>>2]=f,i[i[f-12>>2]+(r+4|0)>>2]=i[13710],i[n>>2]=53552,l[r+51|0]<0&&G(i[r+40>>2]),K0(n),T0(t)}B=r+144|0}function $_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,k=A+12|0,i[k+i[t-12>>2]>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),o=k,u=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:u,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=i[e+12>>2];i:{if(!k&k0[e+8>>2]>=k0[e+32>>2]|k){k=A+148|0,W0(k,r),n=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:n,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=x(A+12|0,19971,22),k=i[e+8>>2],n=i[e+32>>2],x(n4(r,k-n|0,i[e+12>>2]-(k>>>0>>0)|0),31338,1);break i}e=A+148|0,W0(e,r),k=e,e=l[A+159|0],r=(e|0)<0,x(A+12|0,r?i[A+148>>2]:k,r?i[A+152>>2]:e),l[A+159|0]<0&&G(i[A+148>>2]),x(A+12|0,22249,32)}i2(f,t),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function b_(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0;o=B-160|0,B=o;i:{r:{if(u=i[e+16>>2],!u||(w=N0(u,72776,73212),!w))break r;if(u=i[e+20>>2],u&&(i[u+4>>2]=i[u+4>>2]+1),h=i[e>>2],i[o+104>>2]=i[h+48>>2],h=i[h+52>>2],i[o+108>>2]=h,h&&(i[h+4>>2]=i[h+4>>2]+1),e=i[e+8>>2],h=i[e+8>>2],_=i[e+4>>2],e=i[o+108>>2],i[o+32>>2]=i[o+104>>2],i[o+36>>2]=e,e=o+112|0,pr(e,o+32|0,r,_,h),i0[o+72>>3]=i[w+4>>2],i0[o+80>>3]=i[w+8>>2],r=i[o+84>>2],i[o+24>>2]=i[o+80>>2],i[o+28>>2]=r,r=i[o+76>>2],i[o+16>>2]=i[o+72>>2],i[o+20>>2]=r,me(o+88|0,e,o+16|0),i0[o+40>>3]=k0[w+12>>2],i0[o+48>>3]=k0[w+16>>2],r=i[o+52>>2],i[o+8>>2]=i[o+48>>2],i[o+12>>2]=r,r=i[o+44>>2],i[o>>2]=i[o+40>>2],i[o+4>>2]=r,It(o+56|0,e,o),i0[A>>3]=i0[o+88>>3],i0[k>>3]=i0[o+96>>3],i0[n>>3]=i0[o+56>>3],i0[t>>3]=i0[o+64>>3],i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,!u||(f=i[u+4>>2],i[u+4>>2]=f-1,f))break i;V[i[i[u>>2]+8>>2]](u),g(u);break i}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560]}B=o+160|0}function d_(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0;o=B-160|0,B=o;i:{r:{if(u=i[e+16>>2],!u||(w=N0(u,72776,73256),!w))break r;if(u=i[e+20>>2],u&&(i[u+4>>2]=i[u+4>>2]+1),h=i[e>>2],i[o+104>>2]=i[h+48>>2],h=i[h+52>>2],i[o+108>>2]=h,h&&(i[h+4>>2]=i[h+4>>2]+1),e=i[e+8>>2],h=i[e+8>>2],_=i[e+4>>2],e=i[o+108>>2],i[o+32>>2]=i[o+104>>2],i[o+36>>2]=e,e=o+112|0,pr(e,o+32|0,r,_,h),i0[o+72>>3]=i[w+4>>2],i0[o+80>>3]=i[w+8>>2],r=i[o+84>>2],i[o+24>>2]=i[o+80>>2],i[o+28>>2]=r,r=i[o+76>>2],i[o+16>>2]=i[o+72>>2],i[o+20>>2]=r,me(o+88|0,e,o+16|0),i0[o+40>>3]=k0[w+12>>2],i0[o+48>>3]=k0[w+16>>2],r=i[o+52>>2],i[o+8>>2]=i[o+48>>2],i[o+12>>2]=r,r=i[o+44>>2],i[o>>2]=i[o+40>>2],i[o+4>>2]=r,It(o+56|0,e,o),i0[A>>3]=i0[o+88>>3],i0[k>>3]=i0[o+96>>3],i0[n>>3]=i0[o+56>>3],i0[t>>3]=i0[o+64>>3],i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,!u||(f=i[u+4>>2],i[u+4>>2]=f-1,f))break i;V[i[i[u>>2]+8>>2]](u),g(u);break i}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560]}B=o+160|0}function D1(f,e){var r=0,A=0,k=0,n=0;k=(f|0)==(e|0),l[e+12|0]=k;i:{if(k)break i;for(;;){if(k=i[e+8>>2],s[k+12|0])break i;r:{if(r=i[k+8>>2],A=i[r>>2],(k|0)==(A|0)){if(n=i[r+4>>2],!(!n|s[n+12|0]==1)){A=n+12|0;break r}e:{if(i[k>>2]==(e|0)){e=k;break e}e=i[k+4>>2],A=i[e>>2],i[k+4>>2]=A,f=k,A&&(i[A+8>>2]=k,r=i[k+8>>2],f=i[r>>2]),i[e+8>>2]=r,i[(((f|0)!=(k|0))<<2)+r>>2]=e,i[e>>2]=k,i[k+8>>2]=e,r=i[e+8>>2],A=i[r>>2]}l[e+12|0]=1,l[r+12|0]=0,f=i[A+4>>2],i[r>>2]=f,f&&(i[f+8>>2]=r),f=i[r+8>>2],i[A+8>>2]=f,i[f+((i[f>>2]!=(r|0))<<2)>>2]=A,i[A+4>>2]=r,i[r+8>>2]=A;return}if(!(!A|s[A+12|0]==1)){A=A+12|0;break r}A=i[k>>2];e:{if((A|0)!=(e|0)){A=k;break e}f=i[A+4>>2],i[k>>2]=f,f&&(i[f+8>>2]=k,r=i[k+8>>2]),i[A+8>>2]=r,i[(((k|0)!=i[r>>2])<<2)+r>>2]=A,i[A+4>>2]=k,i[k+8>>2]=A,r=i[A+8>>2]}l[A+12|0]=1,l[r+12|0]=0,e=i[r+4>>2],f=i[e>>2],i[r+4>>2]=f,f&&(i[f+8>>2]=r),f=i[r+8>>2],i[e+8>>2]=f,i[f+((i[f>>2]!=(r|0))<<2)>>2]=e,i[e>>2]=r,i[r+8>>2]=e;break i}if(l[k+12|0]=1,l[r+12|0]=(f|0)==(r|0),l[A|0]=1,e=r,(f|0)==(r|0))break}}}function c_(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0;k=B-32|0,B=k,f=i[f>>2],o=i[f+48>>2],n=i[f+52>>2],n&&(i[n+4>>2]=i[n+4>>2]+1),i[k+28>>2]=0,i[k+20>>2]=0,i[k+24>>2]=0,I1(k,o,e,k+20|0);i:{if(i[k>>2]||(f=i[k+20>>2],o=i[k+24>>2],(f|0)==(o|0)))break i;if(e=!r,h=e,e){for(;;)if(e=i[i[f>>2]+16>>2],!((e|0)==1668047216|(e|0)==1769107316)&(e|0)!=1768778098||(t=t+h|0),f=f+8|0,(o|0)==(f|0))break i}for(e=1;;){u=i[i[f>>2]+16>>2];r:{if(!((u|0)==1668047216|(u|0)==1769107316)&(u|0)!=1768778098)break r;if((A|0)>(t|0)){i[(t<<2)+r>>2]=e,t=t+1|0;break r}t=t+h|0}if(e=e+1|0,f=f+8|0,(o|0)==(f|0))break}}if(l[k+19|0]<0&&G(i[k+8>>2]),r=i[k+20>>2],r){if(f=i[k+24>>2],e=r,(f|0)!=(e|0)){for(;;){e=i[f-4>>2];i:{if(!e||(A=i[e+4>>2],i[e+4>>2]=A-1,A))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(f=f-8|0,(r|0)==(f|0))break}e=i[k+20>>2]}i[k+24>>2]=r,G(e)}i:{if(!n||(f=i[n+4>>2],i[n+4>>2]=f-1,f))break i;V[i[i[n>>2]+8>>2]](n),g(n)}return B=k+32|0,t|0}function iv(f,e,r,A,k,n,t,o,u){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0;var h=0,w=0,_=0,v=0;h=B-32|0,B=h,w=i[f>>2],f=i[w+48>>2],w=i[w+52>>2],w&&(i[w+4>>2]=i[w+4>>2]+1),i[h+28>>2]=0,i[h+20>>2]=0,i[h+24>>2]=0,I1(h,f,e,h+20|0);i:{if(i[h>>2]||(f=r-1|0,e=i[h+20>>2],f>>>0>=i[h+24>>2]-e>>3>>>0)||(e=e+(f<<3)|0,f=i[e>>2],!f)||(f=N0(f,68572,69592),!f)||(e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),n&&(_=n,v=Ir(f,A),i[_>>2]=v),o&&(_=o,v=(Ln(f,A)^-1)+A|0,i[_>>2]=v),t&&(_=t,v=Vr(f,k),i[_>>2]=v),u&&(_=u,v=(Kn(f,k)^-1)+k|0,i[_>>2]=v),!e)||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(l[h+19|0]<0&&G(i[h+8>>2]),r=i[h+20>>2],r){if(f=i[h+24>>2],e=r,(f|0)!=(e|0)){for(;;){A=i[f-4>>2];i:{if(!A||(e=i[A+4>>2],i[A+4>>2]=e-1,e))break i;V[i[i[A>>2]+8>>2]](A),g(A)}if(f=f-8|0,(r|0)==(f|0))break}e=i[h+20>>2]}i[h+24>>2]=r,G(e)}i:{if(!w||(f=i[w+4>>2],i[w+4>>2]=f-1,f))break i;V[i[i[w>>2]+8>>2]](w),g(w)}B=h+32|0}function In(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0;k=B-112|0,B=k;i:{if(!A){e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560];break i}r:{if(n=i[e+16>>2],!n||(o=N0(n,72776,73300),!o))break r;if(n=i[e+20>>2],n&&(i[n+4>>2]=i[n+4>>2]+1),t=i[e>>2],i[k+56>>2]=i[t+48>>2],t=i[t+52>>2],i[k+60>>2]=t,t&&(i[t+4>>2]=i[t+4>>2]+1),e=i[e+8>>2],t=i[e+8>>2],e=i[e+4>>2],u=i[k+60>>2],i[k+16>>2]=i[k+56>>2],i[k+20>>2]=u,pr(k- -64|0,k+16|0,r,e,t),r=i[o+8>>2],(i[o+12>>2]-r|0)>0)for(e=0;r=(e<<3)+r|0,i0[k+24>>3]=i[r>>2],i0[k+32>>3]=i[r+4>>2],r=i[k+36>>2],i[k+8>>2]=i[k+32>>2],i[k+12>>2]=r,r=i[k+28>>2],i[k>>2]=i[k+24>>2],i[k+4>>2]=r,me(k+40|0,k- -64|0,k),r=(e<<4)+A|0,i0[r>>3]=i0[k+40>>3],i0[r+8>>3]=i0[k+48>>3],e=e+1|0,r=i[o+8>>2],(e|0)>2]-r>>3;);if(e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],!n||(f=i[n+4>>2],i[n+4>>2]=f-1,f))break i;V[i[i[n>>2]+8>>2]](n),g(n);break i}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560]}B=k+112|0}function Qn(f,e,r){var A=Y(0),k=Y(0),n=Y(0),t=Y(0),o=Y(0),u=Y(0),h=Y(0),w=Y(0),_=Y(0),v=Y(0),Z=Y(0),p=Y(0),W=Y(0),C=Y(0),I=Y(0);i[f>>2]=0,i[f+4>>2]=0;i:{r:{if((e&65534)==12){if(e=r-1&65535,e>>>0<=21&&(e=e<<2,o=Z0[e+36156>>2],_=Z0[e+36068>>2],k=Z0[e+35980>>2],u=Z0[e+35892>>2],n=Z0[e+35804>>2],h=Z0[e+35716>>2],t=Z0[e+35628>>2],A=Z0[e+35540>>2]),w=Y(Y(1)-Y(A+t)),v=Y(Y(1)-Y(u+k)),W=Y(Y(k*w)-Y(v*t)),Z=Y(Y(1)-Y(h+n)),C=Y(Y(t*Z)-Y(w*n)),p=Y(o*Y(Y(h*W)+Y(Y(u*C)+Y(A*Y(Y(n*v)-Y(Z*k)))))),p==Y(0))break i;I=Y(Y(1)-Y(_+o)),Z0[f>>2]=Y(k*Y(Y(I*Y(Y(A*n)-Y(t*h)))+Y(Y(_*C)+Y(o*Y(Y(h*w)-Y(Z*A))))))/p,A=Y(Y(n*Y(Y(I*Y(Y(u*t)-Y(k*A)))+Y(Y(_*W)+Y(o*Y(Y(A*v)-Y(w*u))))))/p);break r}e:switch(e-1|0){case 0:i[f>>2]=1046066128,A=Y(.0722000002861023);break r;case 3:i[f>>2]=1050253722,A=Y(.10999999940395355);break r;case 4:case 5:i[f>>2]=1050220167,A=Y(.11400000005960464);break r;case 6:i[f>>2]=1046025863,A=Y(.08699999749660492);break r;case 8:case 9:break e;default:break i}i[f>>2]=1049002141,A=Y(.059300001710653305)}Z0[f+4>>2]=A}}function yn(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;i:{if(A=i[f>>2],k=i[f+4>>2]-A>>4,r=k+1|0,r>>>0<268435456){if(A=i[f+8>>2]-A|0,o=A>>3,A=A>>>0>=2147483632?268435455:r>>>0>>0?o:r,A){if(A>>>0>=268435456)break i;n=U(A<<4)}o=Q[e>>1],r=(k<<4)+n|0,i[r+12>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,X[r>>1]=o,k=i[e+4>>2],e=i[e+8>>2],qA(r+4|0,k,e,(e-k|0)/12|0),u=(A<<4)+n|0,o=r+16|0,A=i[f+4>>2],k=i[f>>2];r:{if((A|0)==(k|0)){n=r;break r}for(;e=A-16|0,h=Q[e>>1],w=r-4|0,i[w>>2]=0,t=r-12|0,i[t>>2]=0,i[t+4>>2]=0,n=r-16|0,X[n>>1]=h,h=t,t=A-12|0,i[h>>2]=i[t>>2],i[r-8>>2]=i[A-8>>2],r=A-4|0,i[w>>2]=i[r>>2],i[r>>2]=0,i[t>>2]=0,i[t+4>>2]=0,r=n,A=e,(k|0)!=(A|0););A=i[f+4>>2],k=i[f>>2]}if(i[f+8>>2]=u,i[f+4>>2]=o,i[f>>2]=n,(A|0)!=(k|0))for(;;){if(t=A-12|0,f=i[t>>2],f){if(u=A-8|0,e=i[u>>2],r=f,(e|0)!=(r|0)){for(;r=e-12|0,n=i[r>>2],n&&(i[e-8>>2]=n,G(n)),e=r,(r|0)!=(f|0););r=i[t>>2]}i[u>>2]=f,G(r)}if(A=A-16|0,(k|0)==(A|0))break}return k&&G(k),o}y0(),P()}_2(),P()}function rv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(!(!(i[r>>2]!=1|i[r+4>>2]!=3)&i[r+12>>2]==8)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,l[e+44|0]=0,i[e+36>>2]=99,i[e+40>>2]=99,i[e+48>>2]=8,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,s[r+8|0]||(l[e+44|0]=0,i[e+36>>2]=1,i[e+40>>2]=12,i[e+48>>2]=i[r+12>>2],A=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=A,i[e>>2]=1,i[e+4>>2]=12,i[e+16>>2]=72992,A=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,A=i[e+56>>2],i[e+28>>2]=11,i[e+20>>2]=A,P2(f,e)),l[e+44|0]=1,i[e+36>>2]=1,i[e+40>>2]=13,i[e+48>>2]=i[r+12>>2],r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,i[e>>2]=1,i[e+4>>2]=13,i[e+16>>2]=72992,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,r=i[e+56>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function w6(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0;i[f+24>>2]=0,i[f+16>>2]=0,i[f+20>>2]=0,i[f+8>>2]=r,i[f+4>>2]=r,i[f>>2]=e,u=-64;i:{if(!r||(i[f>>2]=e+1,A=s[e|0],k=r-1|0,i[f+8>>2]=k,A=A<<24,n=A,i[f+16>>2]=0,i[f+20>>2]=A,!k)||(i[f>>2]=e+2,A=s[e+1|0],k=r-2|0,i[f+8>>2]=k,A=n|A<<16,t=A,i[f+16>>2]=o,i[f+20>>2]=A,!k)||(i[f>>2]=e+3,A=s[e+2|0],k=r-3|0,i[f+8>>2]=k,A=t|A<<8,t=A,i[f+16>>2]=o,i[f+20>>2]=A,!k)||(i[f>>2]=e+4,A=s[e+3|0],k=r-4|0,i[f+8>>2]=k,n=o,A=A|t,o=A,i[f+16>>2]=n,i[f+20>>2]=A,!k)||(i[f>>2]=e+5,A=s[e+4|0],k=r-5|0,i[f+8>>2]=k,t=n,n=A>>>8|0,A=t|A<<24,n=n|o,o=n,i[f+16>>2]=A,i[f+20>>2]=n,!k)||(i[f>>2]=e+6,n=s[e+5|0],k=r-6|0,i[f+8>>2]=k,t=A,A=n>>>16|0,n=t|n<<16,A=A|o,o=A,i[f+16>>2]=n,i[f+20>>2]=A,!k)||(i[f>>2]=e+7,A=s[e+6|0],k=r-7|0,i[f+8>>2]=k,t=n,n=A>>>24|0,A=t|A<<8,i[f+16>>2]=A,n=n|o,i[f+20>>2]=n,!k))break i;i[f>>2]=e+8,e=s[e+7|0],i[f+8>>2]=r-8,i[f+16>>2]=e|A,i[f+20>>2]=n,u=-56}return i[f+24>>2]=(((r>>>0>=7?7:r)<<3)+u|0)- -64,f}function ev(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(!(!(i[r>>2]!=1|i[r+4>>2]!=3)&i[r+12>>2]>8)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,l[e+44|0]=0,i[e+36>>2]=99,i[e+40>>2]=99,i[e+48>>2]=8,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,s[r+8|0]||(l[e+44|0]=0,i[e+36>>2]=1,i[e+40>>2]=12,i[e+48>>2]=i[r+12>>2],A=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=A,i[e>>2]=1,i[e+4>>2]=12,i[e+16>>2]=72992,A=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,A=i[e+56>>2],i[e+28>>2]=11,i[e+20>>2]=A,P2(f,e)),l[e+44|0]=1,i[e+36>>2]=1,i[e+40>>2]=13,i[e+48>>2]=i[r+12>>2],r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,i[e>>2]=1,i[e+4>>2]=13,i[e+16>>2]=72992,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,r=i[e+56>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function Av(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,k=A+12|0,i[k+i[n-12>>2]>>2]=i[13709],n=k+i[i[A+12>>2]-12>>2]|0,t=A+16|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,n=$0(t),i[n>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,t=A+148|0,R2(t,e,r),o=k,u=t,k=l[A+159|0],t=(k|0)<0,x(o,t?i[A+148>>2]:u,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(r,20449,18),k=i[e+56>>2];i:{if((k|0)==i[e+60>>2]||(H0(r,s[k|0]),r=1,i[e+60>>2]-i[e+56>>2]>>>0<=1))break i;for(;k=A+12|0,x(k,18140,1),H0(k,s[i[e+56>>2]+r|0]),r=r+1|0,r>>>0>2]-i[e+56>>2]>>>0;);}e=A+12|0,x(e,31338,1),i2(f,n),f=i[13707],i[A+12>>2]=f,i[e+i[f-12>>2]>>2]=i[13710],i[n>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(n),T0(A+68|0),B=A+160|0}function fv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0;A=m(r,6)+e|0,v=Q[A+6>>1],u=Q[e+6>>1],h=Q[e+2>>1],k=u+h|0,Z=Q[e+4>>1],w=Q[e>>1],t=Z+w|0,o=k+t|0,n=(r<<2)+e|0,p=Q[n+6>>1],W=Q[n+2>>1],C=p+W|0,y=Q[n>>1],n=Q[n+4>>1],I=y+n|0,_=C+I|0,E=o-_|0,e=(r<<1)+e|0,r=Q[e+6>>1],J=Q[e+2>>1],R=r+J|0,D=Q[e+4>>1],e=Q[e>>1],z=D+e|0,H=R+z|0,a=Q[A+2>>1],S=v+a|0,q=Q[A+4>>1],A=Q[A>>1],d=q+A|0,A0=S+d|0,f0=H-A0|0,X[f+24>>1]=E-f0,X[f+16>>1]=E+f0,o=o+_|0,_=H+A0|0,X[f+8>>1]=o-_,X[f>>1]=o+_,k=t-k|0,t=I-C|0,o=k-t|0,C=z-R|0,I=d-S|0,_=C-I|0,X[f+26>>1]=o-_,X[f+18>>1]=o+_,k=k+t|0,t=C+I|0,X[f+10>>1]=k-t,X[f+2>>1]=k+t,u=h-u|0,h=w-Z|0,k=u+h|0,Z=W-p|0,n=y-n|0,w=Z+n|0,t=k-w|0,r=J-r|0,e=e-D|0,o=r+e|0,v=a-v|0,A=A-q|0,p=v+A|0,W=o-p|0,X[f+28>>1]=t-W,X[f+20>>1]=t+W,k=k+w|0,w=o+p|0,X[f+12>>1]=k-w,X[f+4>>1]=k+w,u=h-u|0,n=n-Z|0,h=u-n|0,e=e-r|0,r=A-v|0,A=e-r|0,X[f+30>>1]=h-A,X[f+22>>1]=A+h,A=n+u|0,e=e+r|0,X[f+14>>1]=A-e,X[f+6>>1]=e+A}function kv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,k=A+8|0,l[78275]>=0){n=i[19567],i[k>>2]=i[19566],i[k+4>>2]=n,i[k+8>>2]=i[19568];break i}_0(k,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]);i:{if(s[e+48|0]){h4(f,e,5473);break i}if(t=e,o=D0(r),i[t+56>>2]=o,t=e,o=D0(r),i[t+60>>2]=o,t=e,o=D0(r),i[t+64>>2]=o,t=e,o=D0(r),i[t+68>>2]=o,t=e,o=D0(r),i[t+72>>2]=o,B4(A+20|0,r),l[e+87|0]<0&&G(i[e+76>>2]),k=i[A+24>>2],i[e+76>>2]=i[A+20>>2],i[e+80>>2]=k,i[e+84>>2]=i[A+28>>2],s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(f,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function nv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(i[r>>2]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+4>>2]!=1){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[k+8>>2]!=2){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+12>>2]>=9){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=Q[r+24>>1],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,!A)break i;i[e+48>>2]=8,l[e+44|0]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,i[e+36>>2]=99,i[e+40>>2]=99,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,i[e+36>>2]=0,i[e+40>>2]=3,l[e+44|0]=s[r+8|0],i[e+48>>2]=i[r+12>>2],A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+59|0]=A,l[e+60|0]=A>>>8,l[e+61|0]=A>>>16,l[e+62|0]=A>>>24,i[e+56>>2]=i[r+20>>2],A=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=A,i[e>>2]=0,i[e+4>>2]=3,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,r=i[r+20>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function tv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(i[r>>2]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+4>>2]!=1){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[k+8>>2]!=2){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+12>>2]<=8){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=Q[r+24>>1],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,!A)break i;i[e+48>>2]=8,l[e+44|0]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,i[e+36>>2]=99,i[e+40>>2]=99,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,i[e+36>>2]=0,i[e+40>>2]=3,l[e+44|0]=s[r+8|0],i[e+48>>2]=i[r+12>>2],A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+59|0]=A,l[e+60|0]=A>>>8,l[e+61|0]=A>>>16,l[e+62|0]=A>>>24,i[e+56>>2]=i[r+20>>2],A=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=A,i[e>>2]=0,i[e+4>>2]=3,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,r=i[r+20>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function ov(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(i[r>>2]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+4>>2]!=2){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[k+8>>2]!=2){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+12>>2]>=9){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=Q[r+24>>1],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,!A)break i;i[e+48>>2]=8,l[e+44|0]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,i[e+36>>2]=99,i[e+40>>2]=99,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,i[e+36>>2]=0,i[e+40>>2]=3,l[e+44|0]=s[r+8|0],i[e+48>>2]=i[r+12>>2],A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+59|0]=A,l[e+60|0]=A>>>8,l[e+61|0]=A>>>16,l[e+62|0]=A>>>24,i[e+56>>2]=i[r+20>>2],A=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=A,i[e>>2]=0,i[e+4>>2]=3,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,r=i[r+20>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function lv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(i[r>>2]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+4>>2]!=2){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[k+8>>2]!=2){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+12>>2]<=8){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=Q[r+24>>1],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,!A)break i;i[e+48>>2]=8,l[e+44|0]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,i[e+36>>2]=99,i[e+40>>2]=99,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,i[e+36>>2]=0,i[e+40>>2]=3,l[e+44|0]=s[r+8|0],i[e+48>>2]=i[r+12>>2],A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+59|0]=A,l[e+60|0]=A>>>8,l[e+61|0]=A>>>16,l[e+62|0]=A>>>24,i[e+56>>2]=i[r+20>>2],A=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=A,i[e>>2]=0,i[e+4>>2]=3,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,r=i[r+20>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function uv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;if(A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,k=A+12|0,i[k+i[n-12>>2]>>2]=i[13709],n=k+i[i[A+12>>2]-12>>2]|0,t=A+16|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,n=$0(t),i[n>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,t=A+148|0,R2(t,e,r),o=k,u=t,k=l[A+159|0],t=(k|0)<0,x(o,t?i[A+148>>2]:u,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,L0(x(r,21524,4),(i[e+64>>2]-i[e+60>>2]|0)/12|0),H0(x(r,21610,7),i[e+52>>2]-i[e+48>>2]&255),x(r,21618,5),r=i[e+48>>2],e=i[e+52>>2],(r|0)!=(e|0))for(;x(H0(A+12|0,s[r|0]),21692,2),r=r+1|0,(e|0)!=(r|0););e=A+12|0,x(e,31338,1),i2(f,n),f=i[13707],i[A+12>>2]=f,i[e+i[f-12>>2]>>2]=i[13710],i[n>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(n),T0(A+68|0),B=A+160|0}function Fn(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;i:{if(A=i[f>>2],n=i[f+4>>2]-A>>4,r=n+1|0,r>>>0<268435456){if(A=i[f+8>>2]-A|0,o=A>>3,A=A>>>0>=2147483632?268435455:r>>>0>>0?o:r,A){if(A>>>0>=268435456)break i;k=U(A<<4)}r=(n<<4)+k|0,X[r>>1]=Q[e>>1],i[r+4>>2]=i[e+4>>2],i[r+8>>2]=i[e+8>>2],i[r+12>>2]=i[e+12>>2],i[e+12>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,u=(A<<4)+k|0,o=r+16|0,A=i[f+4>>2],n=i[f>>2];r:{if((A|0)==(n|0)){k=r;break r}for(;e=A-16|0,t=Q[e>>1],h=r-4|0,i[h>>2]=0,k=r-16|0,X[k>>1]=t,t=A-12|0,i[r-12>>2]=i[t>>2],i[r-8>>2]=i[A-8>>2],r=A-4|0,i[h>>2]=i[r>>2],i[r>>2]=0,i[t>>2]=0,i[t+4>>2]=0,r=k,A=e,(n|0)!=(A|0););A=i[f+4>>2],n=i[f>>2]}if(i[f+8>>2]=u,i[f+4>>2]=o,i[f>>2]=k,(A|0)!=(n|0))for(;;){if(t=A-12|0,f=i[t>>2],f){if(u=A-8|0,e=i[u>>2],r=f,(e|0)!=(r|0)){for(;r=e-12|0,k=i[r>>2],k&&(i[e-8>>2]=k,G(k)),e=r,(r|0)!=(f|0););r=i[t>>2]}i[u>>2]=f,G(r)}if(A=A-16|0,(n|0)==(A|0))break}return n&&G(n),o}y0(),P()}_2(),P()}function zr(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0;if(o=B-16|0,B=o,u=f+2140|0,B9(u,1)){k=(l[i[f+1384>>2]+13|0]<<3)+f|0,t=i[k+728>>2],n=i[k+732>>2];i:{if(!n){i[o+12>>2]=0;break i}i[n+4>>2]=i[n+4>>2]+1,i[o+12>>2]=n,i[n+4>>2]=i[n+4>>2]+1}if(i[o+8>>2]=t,k=i[o+12>>2],i[o>>2]=i[o+8>>2],i[o+4>>2]=k,k=0,u=fn(u,o,f,0,0,0,0),(u|0)>=0){if(t=i[f+2152>>2],f=i[f+2148>>2],u>>>0>2>>>0&&(k=i[f+(u<<2)>>2]),f=1<>2]-1,t=1<>2]-1,(t|0)>=0&&B0(i[k+4>>2],t,m(i[k+28>>2],i[k+40>>2])),(f|0)>=0&&B0(i[k+8>>2],f,m(i[k+36>>2],i[k+44>>2])),(f|0)>=0&&B0(i[k+12>>2],f,m(i[k+36>>2],i[k+44>>2])),i[k+164>>2]>0)for(f=0;t=i[k+160>>2]+m(f,3)|0,h=(s[t|0]|s[t+1|0]<<8)&64767,l[t|0]=h,l[t+1|0]=h>>>8,f=f+1|0,(f|0)>2];);i[k+96>>2]=r,f=i[e+16868>>2],l[k+104|0]=0,l[k+312|0]=1,i[k+100>>2]=A?2:1,i[k+92>>2]=f-1&r}i:{if(!n||(f=i[n+4>>2],i[n+4>>2]=f-1,f))break i;V[i[i[n>>2]+8>>2]](n),g(n)}return B=o+16|0,u}C0(18302,13894,1425,9437),P()}function sv(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0;u=B-16|0,B=u,o=U(32),i[o+28>>2]=n,i[o+24>>2]=k,i[o+20>>2]=A,i[o+16>>2]=r,i[o+12>>2]=73188,i[o+4>>2]=0,i[o+8>>2]=0,i[o>>2]=73448,r=i[e+8>>2],i[u+12>>2]=o,n=o+12|0,i[u+8>>2]=n,i[o+4>>2]=i[o+4>>2]+1,A=i[r+16>>2];i:{r:{if(A>>>0>2]){i[A+4>>2]=o,i[A>>2]=n,i[o+4>>2]=i[o+4>>2]+1,i[r+16>>2]=A+8,k=o;break r}if(A=Q2(r+12|0,u+8|0),k=i[u+12>>2],i[r+16>>2]=A,!k)break i}if(r=i[k+4>>2],i[k+4>>2]=r-1,r)break i;V[i[i[k>>2]+8>>2]](k),g(k)}i:{if(!t||(i[o+4>>2]=i[o+4>>2]+1,r=U(24),i[o+4>>2]=i[o+4>>2]+1,i[r+20>>2]=o,i[r+16>>2]=n,k=i[e+8>>2],A=i[e+12>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+12>>2]=A,i[r+8>>2]=k,A=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r+4>>2]=e,i[r>>2]=A,i[t>>2]=r,e=i[o+4>>2],i[o+4>>2]=e-1,e))break i;V[i[i[o>>2]+8>>2]](o),g(o)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[o+4>>2],i[o+4>>2]=f-1,f||(V[i[i[o>>2]+8>>2]](o),g(o)),B=u+16|0}function hv(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0;u=B-16|0,B=u,o=U(32),i[o+28>>2]=n,i[o+24>>2]=k,i[o+20>>2]=A,i[o+16>>2]=r,i[o+12>>2]=73232,i[o+4>>2]=0,i[o+8>>2]=0,i[o>>2]=73488,r=i[e+8>>2],i[u+12>>2]=o,n=o+12|0,i[u+8>>2]=n,i[o+4>>2]=i[o+4>>2]+1,A=i[r+16>>2];i:{r:{if(A>>>0>2]){i[A+4>>2]=o,i[A>>2]=n,i[o+4>>2]=i[o+4>>2]+1,i[r+16>>2]=A+8,k=o;break r}if(A=Q2(r+12|0,u+8|0),k=i[u+12>>2],i[r+16>>2]=A,!k)break i}if(r=i[k+4>>2],i[k+4>>2]=r-1,r)break i;V[i[i[k>>2]+8>>2]](k),g(k)}i:{if(!t||(i[o+4>>2]=i[o+4>>2]+1,r=U(24),i[o+4>>2]=i[o+4>>2]+1,i[r+20>>2]=o,i[r+16>>2]=n,k=i[e+8>>2],A=i[e+12>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+12>>2]=A,i[r+8>>2]=k,A=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r+4>>2]=e,i[r>>2]=A,i[t>>2]=r,e=i[o+4>>2],i[o+4>>2]=e-1,e))break i;V[i[i[o>>2]+8>>2]](o),g(o)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[o+4>>2],i[o+4>>2]=f-1,f||(V[i[i[o>>2]+8>>2]](o),g(o)),B=u+16|0}function K4(f,e,r,A,k,n,t,o,u,h,w){var _=0;i:{r:{e:{A:{f:{if(!((e+A|0)<=(h|0)|(e|0)>(h|0)|(r|0)>(w|0))&&(r+A|0)>(w|0))break f;if(A=0,(h|w)<0||(e=i[f+124>>2],i[e+484>>2]<=(h|0)|i[e+488>>2]<=(w|0))||(t=i[f+132>>2],o=i[t+8496>>2],r=i[e+16936>>2],u=i[e+16924>>2],i[(o+(h>>>r<<2)|0)+(m(u,w>>>r|0)<<2)>>2]>i[(o+(k>>r<<2)|0)+(m(u,n>>r)<<2)>>2])||(u=i[f+140>>2],o=i[f+152>>2],r=i[e+16876>>2],n=n>>r,k=k>>r,_=w>>>r|0,r=h>>>r|0,Q[(u+m(m(o,n),24)|0)+m(k,24)>>1]!=Q[(u+m(m(o,_),24)|0)+m(r,24)>>1]))break e;if(o=k<<2,k=i[t+8484>>2],e=i[e+16892>>2],i[(o+k|0)+(m(e,n)<<2)>>2]==i[(k+(r<<2)|0)+(m(e,_)<<2)>>2])break A;break e}if(t<<1!=(A|0)|o<<1!=(A|0)|((u|0)!=1|(r+o|0)>(w|0)))break A;if(A=0,(e+t|0)>(h|0))break e}if(r=i[f+168>>2],e=h>>r,(e|0)<0||(A=i[f+172>>2],(A|0)<=(e|0)))break r;if(r=w>>r,(r|0)<0|(r|0)>=i[f+176>>2])break i;A=(s[((i[f+160>>2]+m(e,3)|0)+m(m(r,A),3)|0)+1|0]&3)!=0}return A}C0(3758,8473,118,3372),P()}C0(3720,8473,119,3372),P()}function Hr(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,k=A+12|0,i[k+i[t-12>>2]>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,W0(n,r),o=k,u=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:u,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=x(A+12|0,19401,5),n=A+148|0,Vn(n,e),o=k,u=n,k=l[A+159|0],n=(k|0)<0,x(x(o,n?i[A+148>>2]:u,n?i[A+152>>2]:k),31077,7),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),n=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:n,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(L0(x(n4(x(r,20793,6),i[e+8>>2],i[e+12>>2]),20737,17),i[e+32>>2]),31337,2),i2(f,t),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function En(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,f=B-16|0,B=f,i[f+12>>2]=r,i[f+8>>2]=n,i[f+12>>2]=r,i[f+8>>2]=n,e=i[f+12>>2];i:{r:{for(;;){e:{if(e>>>0>=A>>>0){r=0;break e}if(r=2,e=i[e>>2],e>>>0>1114111|(e&-2048)==55296)break e;A:{if(e>>>0<=127){if(r=1,n=i[f+8>>2],(t-n|0)<=0)break e;i[f+8>>2]=n+1,l[n|0]=e;break A}if(e>>>0<=2047){if(r=i[f+8>>2],(t-r|0)<2)break r;i[f+8>>2]=r+1,l[r|0]=e>>>6|192,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=e&63|128;break A}if(r=i[f+8>>2],n=t-r|0,e>>>0<=65535){if((n|0)<3)break r;i[f+8>>2]=r+1,l[r|0]=e>>>12|224,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=e>>>6&63|128,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=e&63|128;break A}if((n|0)<4)break r;i[f+8>>2]=r+1,l[r|0]=e>>>18|240,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=e>>>12&63|128,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=e>>>6&63|128,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=e&63|128}e=i[f+12>>2]+4|0,i[f+12>>2]=e;continue}break}break i}r=1}return i[k>>2]=i[f+12>>2],i[o>>2]=i[f+8>>2],B=f+16|0,r|0}function JA(f){var e=0,r=0,A=0,k=0,n=0,t=0,o=0;i:{r=i[f+18592>>2];r:{e:{if(s[r+20|0]){if(e=i[f+18588>>2],n=i[e+52>>2],k=i[e+132>>2],r=i[r+24>>2],A=Q[(i[e+140>>2]+m(i[(i[k+8460>>2]+(i[i[k+8448>>2]+(r<<2)>>2]<<2)|0)-4>>2],24)|0)+2>>1],A>>>0>=i[e+56>>2]-n>>2>>>0)break r;if(n=i[n+(A<<2)>>2],A=i[i[e+124>>2]+16892>>2],e=(r|0)/(A|0)|0,e9(k,r-m(e,A)|0,e)){if(e=i[f+18592>>2],r=i[e+804>>2],r>>>0>=3)break i;k6(f+18572|0,r,i[e+800>>2]),l[f+18580|0]=0,l[f+18581|0]=0,l[f+18582|0]=0,l[f+18583|0]=0;break e}if(e=i[f+18596>>2],r=i[e+424>>2],k=i[e+428>>2]-r>>2,k>>>0<2)break r;for(A=i[f+18600>>2],e=1;;){if(t=r+(e<<2)|0,(A|0)!=i[t>>2]){if(e=e+1|0,(k|0)!=(e|0))continue;break r}break}if(e=i[t-4>>2],!e||(bt(e+44|0,i[e+120>>2]),s[n+1348|0]!=1))break r;e=f+18572|0,f=n+1340|0,Ii(e,f),F9(f);break e}if(e=i[r+804>>2],e>>>0>=3)break i;k6(f+18572|0,e,i[r+800>>2]),l[f+18580|0]=0,l[f+18581|0]=0,l[f+18582|0]=0,l[f+18583|0]=0}o=1}return o}C0(16898,14036,1520,4043),P()}function Tr(f,e,r,A){var k=0,n=0,t=0,o=0;k=i[r+4>>2],o=i[e+4>>2];i:{if((o|0)<=i[f+4>>2]){if((k|0)<=(o|0)||(n=i[e>>2],k=i[e+4>>2],t=i[r+4>>2],i[e>>2]=i[r>>2],i[e+4>>2]=t,i[r>>2]=n,i[r+4>>2]=k,i[e+4>>2]<=i[f+4>>2]))break i;n=i[f>>2],k=i[f+4>>2],t=i[e+4>>2],i[f>>2]=i[e>>2],i[f+4>>2]=t,i[e>>2]=n,i[e+4>>2]=k,k=i[r+4>>2];break i}if(t=i[f>>2],n=i[f+4>>2],(k|0)>(o|0)){k=i[r+4>>2],i[f>>2]=i[r>>2],i[f+4>>2]=k,i[r>>2]=t,i[r+4>>2]=n,k=n;break i}if(k=i[e+4>>2],i[f>>2]=i[e>>2],i[f+4>>2]=k,i[e>>2]=t,i[e+4>>2]=n,k=i[r+4>>2],(n|0)>=(k|0))break i;k=i[r+4>>2],i[e>>2]=i[r>>2],i[e+4>>2]=k,i[r>>2]=t,i[r+4>>2]=n,k=n}i:{if(i[A+4>>2]<=(k|0)||(n=i[r>>2],k=i[r+4>>2],t=i[A+4>>2],i[r>>2]=i[A>>2],i[r+4>>2]=t,i[A>>2]=n,i[A+4>>2]=k,i[r+4>>2]<=i[e+4>>2])||(A=i[e>>2],n=i[e+4>>2],k=i[r+4>>2],i[e>>2]=i[r>>2],i[e+4>>2]=k,i[r>>2]=A,i[r+4>>2]=n,i[e+4>>2]<=i[f+4>>2]))break i;r=i[f>>2],A=i[f+4>>2],n=i[e+4>>2],i[f>>2]=i[e>>2],i[f+4>>2]=n,i[e>>2]=r,i[e+4>>2]=A}}function wv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0;e=B+-64|0,B=e,A=i[r+12>>2],k=i[r+4>>2],n=i[r>>2],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,k|(n|0)!=2|(A|0)!=8||(l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,l[e+44|0]=0,i[e+36>>2]=99,i[e+40>>2]=99,i[e+48>>2]=8,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,s[r+8|0]||(i[e+48>>2]=8,l[e+44|0]=0,i[e+36>>2]=1,i[e+40>>2]=10,r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,i[e>>2]=1,i[e+4>>2]=10,i[e+16>>2]=72992,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,r=i[e+56>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)),i[e+48>>2]=8,l[e+44|0]=1,i[e+36>>2]=1,i[e+40>>2]=11,r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,i[e>>2]=1,i[e+4>>2]=11,i[e+16>>2]=72992,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,r=i[e+56>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)),B=e- -64|0}function _v(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0;e=B+-64|0,B=e,n=i[A+4>>2];i:{if(!(!s[k+12|0]|((n|0)==3|i[k+4>>2]==1))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!(!(i[r>>2]!=1|(i[r+4>>2]&-4)!=12)&i[r+12>>2]>8)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(k=Q[A+24>>1],!(k>>>0>14|!(1<>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!s[A+26|0]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(n|0)!=1)break i;k=V8(e+36|0),i[k>>2]=0,i[k+4>>2]=1,l[k+8|0]=s[r+8|0],i[k+12>>2]=i[r+12>>2],i[k+20>>2]=i[A+20>>2],r=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[k+23|0]=r,l[k+24|0]=r>>>8,l[k+25|0]=r>>>16,l[k+26|0]=r>>>24,r=i[k+12>>2],i[e+8>>2]=i[k+8>>2],i[e+12>>2]=r,r=i[k+4>>2],i[e>>2]=i[k>>2],i[e+4>>2]=r,i[e+16>>2]=72992,r=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,i[e+20>>2]=i[A+20>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function vv(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0;r=i[f+16>>2],k=i[r+18588>>2],t=i[k+124>>2],o=i[t+16892>>2],i[f+4>>2]=1,i[k+324>>2]=i[k+324>>2]-1,i[k+328>>2]=i[k+328>>2]+1,A=i[r+18588>>2],n=i[A+124>>2],e=i[n+16908>>2],u=i[r+4>>2],(e|0)>(u|0)&&(e=i[i[i[A+132>>2]+8460>>2]+(u<<2)>>2]),A=i[n+16892>>2],i[r>>2]=e,n=(e|0)/(A|0)|0,i[r+12>>2]=n,i[r+8>>2]=e-m(A,n),A=(e|0)/(o|0)|0;i:{r:{if(s[f+8|0]!=1||JA(r))break r;if((o|0)<=0)break i;for(e=0,A=m(m(A,o),76);t=(A+i[k+320>>2]|0)+m(e,76)|0,i[t>>2]<=0&&(i[t>>2]=1),e=e+1|0,(o|0)!=(e|0););break i}if(Y6(r+18548|0),mr(r,1,!(s[f+8|0]!=1||s[i[r+18592>>2]+20|0])),(A|0)!=i[r+12>>2]||(e=i[r+8>>2],n=i[t+16892>>2],(e|0)>=(n|0)))break i;for(o=m(m(A,o),76);i[t+16892>>2]<=(e|0)|(A|0)>=i[t+16900>>2]||(u=(o+i[k+320>>2]|0)+m(e,76)|0,i[u>>2]<=0&&(i[u>>2]=1)),e=e+1|0,(n|0)!=(e|0););}i[f+4>>2]=3,f=i[r+18600>>2],i[f+44>>2]=i[f+44>>2]+1,Ze(k)}function mv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,k=A+12|0,i[k+i[t-12>>2]>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),u=k,o=n,k=l[A+159|0],n=(k|0)<0,x(u,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(L0(x(k,20591,10),i[e+48>>2]),31338,1),n=A+148|0,W0(n,r),o=k,r=l[A+159|0],k=(r|0)<0,x(o,k?i[A+148>>2]:n,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(L0(x(r,20580,10),i[e+52>>2]),31338,1),i2(f,t),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function Bv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,k=A+12|0,i[k+i[t-12>>2]>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),u=k,o=n,k=l[A+159|0],n=(k|0)<0,x(u,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(L0(x(k,20393,25),Q[e+48>>1]),31338,1),n=A+148|0,W0(n,r),o=k,r=l[A+159|0],k=(r|0)<0,x(o,k?i[A+148>>2]:n,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(L0(x(r,20419,29),Q[e+50>>1]),31338,1),i2(f,t),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function Zv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0;t=B-16|0,B=t,n=U(24),i[n+20>>2]=A,i[n+16>>2]=r,i[n+12>>2]=73144,i[n+4>>2]=0,i[n+8>>2]=0,i[n>>2]=73408,A=i[e+8>>2],i[t+12>>2]=n,o=n+12|0,i[t+8>>2]=o,i[n+4>>2]=i[n+4>>2]+1,r=i[A+16>>2];i:{r:{if(r>>>0>2]){i[r+4>>2]=n,i[r>>2]=o,i[n+4>>2]=i[n+4>>2]+1,i[A+16>>2]=r+8,r=n;break r}if(u=Q2(A+12|0,t+8|0),r=i[t+12>>2],i[A+16>>2]=u,!r)break i}if(A=i[r+4>>2],i[r+4>>2]=A-1,A)break i;V[i[i[r>>2]+8>>2]](r),g(r)}i:{if(!k||(i[n+4>>2]=i[n+4>>2]+1,r=U(24),i[n+4>>2]=i[n+4>>2]+1,i[r+20>>2]=n,i[r+16>>2]=o,o=i[e+8>>2],A=i[e+12>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+12>>2]=A,i[r+8>>2]=o,A=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r+4>>2]=e,i[r>>2]=A,i[k>>2]=r,e=i[n+4>>2],i[n+4>>2]=e-1,e))break i;V[i[i[n>>2]+8>>2]](n),g(n)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[n+4>>2],i[n+4>>2]=f-1,f||(V[i[i[n>>2]+8>>2]](n),g(n)),B=t+16|0}function pv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,n=A+12|0,i[n+i[t-12>>2]>>2]=i[13709],t=n+i[i[A+12>>2]-12>>2]|0,k=A+16|0,b0(t,k),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(k),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,k=A+148|0,R2(k,e,r),o=n,u=k,n=l[A+159|0],k=(n|0)<0,x(o,k?i[A+148>>2]:u,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=A+148|0,W0(n,r),o=n,n=l[A+159|0],k=(n|0)<0,x(A+12|0,k?i[A+148>>2]:o,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=x(L0(x(A+12|0,20525,13),i[e+56>>2]),31338,1),k=A+148|0,W0(k,r),o=k,r=l[A+159|0],k=(r|0)<0,x(n,k?i[A+148>>2]:o,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),x(L0(x(n,19612,14),i[e+60>>2]),31338,1),i2(f,t),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function Wv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e,A=i[r+12>>2],k=i[r+4>>2],r=i[r>>2],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(r|0)!=1|(k|0)!=3|(A|0)!=8||(l[e+44|0]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,i[e+48>>2]=8,i[e+36>>2]=99,i[e+40>>2]=99,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,l[e+44|0]=1,i[e+48>>2]=8,i[e+36>>2]=1,i[e+40>>2]=11,r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,i[e>>2]=1,i[e+4>>2]=11,i[e+16>>2]=72992,i[e+20>>2]=i[e+56>>2],i[e+28>>2]=11,P2(f,e),l[e+44|0]=0,i[e+36>>2]=1,i[e+40>>2]=10,i[e+48>>2]=8,r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,i[e>>2]=1,i[e+4>>2]=10,i[e+16>>2]=72992,i[e+20>>2]=i[e+56>>2],i[e+28>>2]=11,P2(f,e)),B=e- -64|0}function _6(f,e,r){var A=0,k=0,n=0,t=0,o=0;k=B-16|0,B=k,A=U(96),i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=71024,n=A+16|0,i[n+8>>2]=0,i[n+12>>2]=0,i[n+16>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,i[n+28>>2]=0,i[n+32>>2]=0,i[n>>2]=68500,i[A+52>>2]=0,i[A+56>>2]=0,i[A+68>>2]=0,l[A+57|0]=0,l[A+58|0]=0,l[A+59|0]=0,l[A+60|0]=0,l[A+61|0]=0,l[A+62|0]=0,l[A+63|0]=0,l[A+64|0]=0,i[n>>2]=69372,i[A+88>>2]=0,i[A+92>>2]=0,i[A+80>>2]=0,i[A+84>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A+32>>2]=1635088451,t=A+72|0;i:{if((t|0)==(r|0))break i;if(l[r+11|0]>=0){o=i[r+4>>2],i[t>>2]=i[r>>2],i[t+4>>2]=o,i[t+8>>2]=i[r+8>>2];break i}i4(t,i[r>>2],i[r+4>>2])}r=i[f+44>>2],i[k+12>>2]=A,i[k+8>>2]=n,i[A+4>>2]=i[A+4>>2]+1,n=N4(r,k+8|0),r=i[k+12>>2];i:{if(!r||(t=i[r+4>>2],i[r+4>>2]=t-1,t))break i;V[i[i[r>>2]+8>>2]](r),g(r)}f=i[f+52>>2],l[k+4|0]=1,X[k+6>>1]=n+1,i[k>>2]=Q[k+4>>1]|Q[k+6>>1]<<16,c1(f,e,k),f=i[A+4>>2],i[A+4>>2]=f-1,f||(V[i[i[A>>2]+8>>2]](A),g(A)),B=k+16|0}function Xv(){var f=0,e=0,r=0,A=0;i:{r:{e:switch(f=i[19575],f|0){case 0:break i;case 1:break e;default:break r}if(f=i[19569],(f|0)!=78280)for(;;){e=i[i[f+16>>2]+12>>2],e&&V[e|0](),e=i[f+4>>2];e:{if(e){for(;;)if(f=e,e=i[f>>2],!e)break e}for(;e=f,f=i[f+8>>2],(e|0)!=i[f>>2];);}if((f|0)==78280)break}if(Ie(78276,i[19570]),i[19569]=78280,i[19570]=0,i[19571]=0,f=i[19572],(f|0)!=78292)for(;;){e=i[i[i[f+16>>2]>>2]+32>>2],e&&V[e|0](),e=i[f+4>>2];e:{if(e){for(;;)if(f=e,e=i[f>>2],!e)break e}for(;e=f,f=i[f+8>>2],(e|0)!=i[f>>2];);}if((f|0)==78292)break}if(Xe(78288,i[19573]),i[19572]=78292,i[19573]=0,i[19574]=0,l[78304]=1,e=i[19591],A=i[19590],(e|0)!=(A|0))for(;;){r=i[e-4>>2];e:{if(!r||(f=i[r+4>>2],i[r+4>>2]=f-1,f))break e;V[i[i[r>>2]+8>>2]](r),g(r)}if(e=e-8|0,(A|0)==(e|0))break}i[19591]=A,f=i[19575]}i[19575]=f-1}}function N0(f,e,r){var A=0,k=0,n=0,t=0,o=0;t=B-16|0,B=t,k=i[f>>2],n=i[k-8>>2],i[t+12>>2]=n,i[t+4>>2]=f+n,i[t+8>>2]=i[k-4>>2],n=i[t+8>>2],k=Q1(n,r,0),o=i[t+4>>2];i:{if(k){f=B+-64|0,B=f,B=f- -64|0,A=i[t+12>>2]?0:o;break i}if(k=B+-64|0,B=k,(f|0)>=(o|0)&&(i[k+28>>2]=0,i[k+32>>2]=0,i[k+36>>2]=0,i[k+40>>2]=0,i[k+44>>2]=0,i[k+48>>2]=0,i[k+20>>2]=0,i[k+24>>2]=0,i[k+16>>2]=0,i[k+12>>2]=r,i[k+4>>2]=n,i[k+60>>2]=0,i[k+52>>2]=1,i[k+56>>2]=16777216,i[k+8>>2]=f,V[i[i[n>>2]+20>>2]](n,k+4|0,o,o,1,0),A=i[k+28>>2]?f:0),B=k- -64|0,A)break i;A=B+-64|0,B=A,i[A+16>>2]=0,i[A+12>>2]=e,i[A+8>>2]=f,i[A+4>>2]=r,f=0,B0(A+20|0,0,39),i[A+60>>2]=0,l[A+59|0]=1,V[i[i[n>>2]+24>>2]](n,A+4|0,o,1,0);r:{e:switch(i[A+40>>2]){case 0:f=i[A+44>>2]==1&&i[A+32>>2]==1&&i[A+36>>2]==1?i[A+24>>2]:0;break r;case 1:break e;default:break r}if(i[A+28>>2]!=1&&i[A+44>>2]|i[A+32>>2]!=1|i[A+36>>2]!=1)break r;f=i[A+20>>2]}B=A- -64|0,A=f}return B=t+16|0,A}function Gv(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,e=i[r>>2],A=i[e+28>>2],k=i[e+24>>2],e=U(136),i[e>>2]=72792,i[e+4>>2]=0,i[e+8>>2]=0,B0(e+20|0,0,104),i[e+56>>2]=0,i[e+60>>2]=0,i[e+44>>2]=99,i[e+48>>2]=99,i[e+32>>2]=3795,n=e- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[e+132>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,i[e+84>>2]=1,i[e+88>>2]=1,i[e+72>>2]=e+76,i[e+92>>2]=0,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+112>>2]=0,l[e+113|0]=0,l[e+114|0]=0,l[e+115|0]=0,l[e+116|0]=0,l[e+117|0]=0,l[e+118|0]=0,l[e+119|0]=0,l[e+120|0]=0,i[f+4>>2]=e,n=e+12|0,i[f>>2]=n,i[e+12>>2]=n,i[e+8>>2]=i[e+8>>2]+1,i[e+16>>2]=e,i[e+4>>2]==-1&&(V[i[i[e>>2]+8>>2]](e),g(e)),e=i[r>>2],n=i[e+32>>2],f=i[f>>2],i[f+36>>2]=i[e+36>>2],i[f+32>>2]=n,i[f+28>>2]=A,i[f+24>>2]=k,H2(i[r>>2],0)&&U8(f,r,0,0),H2(i[r>>2],1)&&U8(f,r,1,1),H2(i[r>>2],2)&&U8(f,r,2,2),H2(i[r>>2],3)&&U8(f,r,3,3),H2(i[r>>2],4)&&U8(f,r,4,4),H2(i[r>>2],5)&&U8(f,r,5,5)}function ar(f,e,r,A,k,n){var t=0,o=0,u=0;u=B-16|0,B=u,t=U(96),i[t+4>>2]=0,i[t+8>>2]=0,i[t>>2]=71144,o=t+16|0,i[o+8>>2]=0,i[o+12>>2]=0,i[o+16>>2]=0,i[o+20>>2]=0,i[o+24>>2]=0,i[o+28>>2]=0,i[o+32>>2]=0,i[o>>2]=68500,i[t+60>>2]=0,i[t+52>>2]=0,i[t+56>>2]=0,i[o>>2]=69552,i[t+88>>2]=0,i[t+92>>2]=1,i[t+80>>2]=0,i[t+84>>2]=1,i[t+72>>2]=0,i[t+76>>2]=1,i[t+64>>2]=0,i[t+68>>2]=1,i[t+32>>2]=1668047216,i[o+56>>2]=A,i[o+60>>2]=1,i[o+48>>2]=r,i[o+52>>2]=1,A=A-n|0,n=A-65537>>>0<4294836223,i[o+72>>2]=n&0|(n?(A|0)/2|0:A),i[o+76>>2]=n?1:2,r=r-k|0,A=r-65537>>>0<4294836223,i[o+64>>2]=A&0|(A?(r|0)/2|0:r),i[o+68>>2]=A?1:2,r=i[f+44>>2],i[u+12>>2]=t,i[u+8>>2]=o,i[t+4>>2]=i[t+4>>2]+1,A=N4(r,u+8|0),r=i[u+12>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}f=i[f+52>>2],l[u+4|0]=1,X[u+6>>1]=A+1,i[u>>2]=Q[u+4>>1]|Q[u+6>>1]<<16,c1(f,e,u),f=i[t+4>>2],i[t+4>>2]=f-1,f||(V[i[i[t>>2]+8>>2]](t),g(t)),B=u+16|0}function Cv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;if(A=B-160|0,B=A,i[A+68>>2]=54820,k=i[13708],i[A+12>>2]=k,n=i[k-12>>2],k=A+12|0,i[n+k>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),u=k,o=n,k=l[A+159|0],n=(k|0)<0,x(u,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=i[e+48>>2],e=i[e+52>>2],(k|0)!=(e|0))for(;n=A+148|0,W0(n,r),u=n,n=l[A+159|0],o=(n|0)<0,x(A+12|0,o?i[A+148>>2]:u,o?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),x(L0(x(L0(x(L0(x(A+12|0,19449,15),Q[k>>1]),21009,16),Q[k+2>>1]),20243,23),Q[k+4>>1]),31338,1),k=k+6|0,(e|0)!=(k|0););i2(f,t),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function Vv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;if(A=B-160|0,B=A,i[A+68>>2]=54820,k=i[13708],i[A+12>>2]=k,n=i[k-12>>2],k=A+12|0,i[n+k>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),u=k,o=n,k=l[A+159|0],n=(k|0)<0,x(u,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=i[e+56>>2],e=i[e+60>>2],(k|0)!=(e|0))for(;n=A+148|0,W0(n,r),u=n,n=l[A+159|0],o=(n|0)<0,x(A+12|0,o?i[A+148>>2]:u,o?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),x(L0(x(H0(x(L0(x(A+12|0,21276,10),Q[k>>1]),19823,18),s[k+2|0]),19805,17),Q[k+4>>1]),31338,1),k=k+6|0,(e|0)!=(k|0););i2(f,t),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function Iv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;k=B-16|0,B=k,A=i[e+12>>2],o=A,n=i[e+8>>2];i:{r:{if(!(A|n)){for(e=r;i[e+16>>2]=0,e=i[e+8>>2],!!e;);break r}if(t=i[e+32>>2],A=n-t|0,n=o-(n>>>0>>0)|0,!n&A>>>0>=2147483648|n){if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,101,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(!T4(r,A)||(n=i[r>>2],A=i[r+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),o=i[e+8>>2],t=i[e+32>>2],u=o-t|0,e=i[e+12>>2]-(o>>>0>>0)|0,t=V[i[i[n>>2]+8>>2]](n)|0,o=t+u|0,e=w0+e|0,V[i[i[n>>2]+20>>2]](n,o,o>>>0>>0?e+1|0:e)|0,!A)||(e=i[A+4>>2],i[A+4>>2]=e-1,e))break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(s[r+20|0]==1){if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,100,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+16|0}function Qv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;if(A=B-160|0,B=A,i[A+68>>2]=54820,k=i[13708],i[A+12>>2]=k,n=i[k-12>>2],k=A+12|0,i[n+k>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),u=k,o=n,k=l[A+159|0],n=(k|0)<0,x(u,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=i[e+48>>2],e=i[e+52>>2],(k|0)!=(e|0))for(;n=A+148|0,W0(n,r),u=n,n=l[A+159|0],o=(n|0)<0,x(A+12|0,o?i[A+148>>2]:u,o?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),x(H0(x(H0(x(L0(x(A+12|0,19407,17),Q[k>>1]),21026,16),s[k+2|0]),20155,18),s[k+3|0]),31338,1),k=k+4|0,(e|0)!=(k|0););i2(f,t),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function yv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0;e=B+-64|0,B=e,n=i[A+4>>2];i:{if(!(!s[k+12|0]|((n|0)==3|i[k+4>>2]==1))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!(i[r>>2]==1&(i[r+4>>2]&-2)==10)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(n-1>>>0>=3){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(r=Q[A+24>>1],!(r>>>0>14|!(1<>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,r=V8(e+36|0),i[r>>2]=0,i[r+4>>2]=i[A+4>>2],k=s[A+8|0],i[r+12>>2]=8,l[r+8|0]=k,i[r+20>>2]=i[A+20>>2],k=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[r+23|0]=k,l[r+24|0]=k>>>8,l[r+25|0]=k>>>16,l[r+26|0]=k>>>24,k=i[r+12>>2],i[e+8>>2]=i[r+8>>2],i[e+12>>2]=k,k=i[r+4>>2],i[e>>2]=i[r>>2],i[e+4>>2]=k,i[e+16>>2]=72992,r=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,i[e+20>>2]=i[A+20>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function Fv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(i[r>>2]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+4>>2]!=3){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[k+4>>2]!=2){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+12>>2]>=9){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!Q[r+24>>1]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=i[A+4>>2],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(A|0)!=1)break i;A=V8(e+36|0),i[A>>2]=0,i[A+4>>2]=1,l[A+8|0]=s[r+8|0],i[A+12>>2]=i[r+12>>2],i[A+20>>2]=i[r+20>>2],k=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[A+23|0]=k,l[A+24|0]=k>>>8,l[A+25|0]=k>>>16,l[A+26|0]=k>>>24,k=i[A+12>>2],i[e+8>>2]=i[A+8>>2],i[e+12>>2]=k,k=i[A+4>>2],i[e>>2]=i[A>>2],i[e+4>>2]=k,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,i[e+20>>2]=i[r+20>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function Ev(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(i[r>>2]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+4>>2]!=3){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[k+4>>2]!=2){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+12>>2]<=8){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!Q[r+24>>1]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=i[A+4>>2],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(A|0)!=1)break i;A=V8(e+36|0),i[A>>2]=0,i[A+4>>2]=1,l[A+8|0]=s[r+8|0],i[A+12>>2]=i[r+12>>2],i[A+20>>2]=i[r+20>>2],k=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[A+23|0]=k,l[A+24|0]=k>>>8,l[A+25|0]=k>>>16,l[A+26|0]=k>>>24,k=i[A+12>>2],i[e+8>>2]=i[A+8>>2],i[e+12>>2]=k,k=i[A+4>>2],i[e>>2]=i[A>>2],i[e+4>>2]=k,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,i[e+20>>2]=i[r+20>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function Yv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(i[r>>2]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+4>>2]!=3){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[k+4>>2]!=2){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+12>>2]>=9){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!Q[r+24>>1]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=i[A+4>>2],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(A|0)!=2)break i;A=V8(e+36|0),i[A>>2]=0,i[A+4>>2]=2,l[A+8|0]=s[r+8|0],i[A+12>>2]=i[r+12>>2],i[A+20>>2]=i[r+20>>2],k=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[A+23|0]=k,l[A+24|0]=k>>>8,l[A+25|0]=k>>>16,l[A+26|0]=k>>>24,k=i[A+12>>2],i[e+8>>2]=i[A+8>>2],i[e+12>>2]=k,k=i[A+4>>2],i[e>>2]=i[A>>2],i[e+4>>2]=k,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,i[e+20>>2]=i[r+20>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function Jv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(i[r>>2]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+4>>2]!=3){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[k+4>>2]!=2){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+12>>2]<=8){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!Q[r+24>>1]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=i[A+4>>2],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(A|0)!=2)break i;A=V8(e+36|0),i[A>>2]=0,i[A+4>>2]=2,l[A+8|0]=s[r+8|0],i[A+12>>2]=i[r+12>>2],i[A+20>>2]=i[r+20>>2],k=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[A+23|0]=k,l[A+24|0]=k>>>8,l[A+25|0]=k>>>16,l[A+26|0]=k>>>24,k=i[A+12>>2],i[e+8>>2]=i[A+8>>2],i[e+12>>2]=k,k=i[A+4>>2],i[e>>2]=i[A>>2],i[e+4>>2]=k,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,i[e+20>>2]=i[r+20>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function gv(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0;Z=n+7|0,p=n+4|0;i:{if((p|0)>=-2){if((k|0)<=0)break i;for(C=t+6|0,I=k&2147483644,W=k&3,v=-3,y=k>>>0<4;;){if(h=(v<<1)+C|0,u=(m(A,v)<<1)+r|0,w=0,!y)for(;X[h>>1]=Q[u>>1],_=h,h=Z<<1,_=_+h|0,X[_>>1]=Q[u+2>>1],_=h+_|0,X[_>>1]=Q[u+4>>1],_=h+_|0,X[_>>1]=Q[u+6>>1],h=h+_|0,u=u+8|0,w=w+4|0,(I|0)!=(w|0););if(w=0,W)for(;X[h>>1]=Q[u>>1],u=u+2|0,h=(Z<<1)+h|0,w=w+1|0,(W|0)!=(w|0););if(v=v+1|0,(p|0)==(v|0))break}}if((k|0)<=0|(n|0)<=0)break i;for(A=o-8|0,r=0,e=e<<1;;){for(h=(r<<1)+f|0,u=(m(r,Z)<<1)+t|0,w=0;X[h>>1]=(((((X[u+2>>1]<<2)-X[u>>1]|0)+m(X[u+8>>1]+X[u+6>>1]|0,40)|0)+(X[u+12>>1]<<2)|0)-X[u+14>>1]|0)+m(X[u+10>>1]+X[u+4>>1]|0,-11)>>A,u=u+2|0,h=e+h|0,w=w+1|0,(w|0)!=(n|0););if(r=r+1|0,(k|0)==(r|0))break}}}function Nv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0;t=B-32|0,B=t,k=U(24),i[k+4>>2]=0,i[k+8>>2]=0,i[k>>2]=74112,n=k+12|0,i[n+8>>2]=A,i[k+16>>2]=r,i[k+12>>2]=68424,u=i[e>>2],i[t+8>>2]=k,i[t+4>>2]=n,i[k+4>>2]=i[k+4>>2]+1,A=t+12|0,h=t+4|0,r=B-32|0,B=r,o=U(132),i[o+4>>2]=0,i[o+8>>2]=0,i[o>>2]=72576,w=u,_=Ge(o+12|0),i[w+48>>2]=_,n=i[u+52>>2],i[u+52>>2]=o;i:{if(!n||(o=i[n+4>>2],i[n+4>>2]=o-1,o))break i;V[i[i[n>>2]+8>>2]](n),g(n)}_A(r+8|0,i[u+48>>2],h);i:{if(i[r+8>>2]){n=i[r+12>>2],i[A>>2]=i[r+8>>2],i[A+4>>2]=n,n=i[r+20>>2],i[A+8>>2]=i[r+16>>2],i[A+12>>2]=n,i[A+16>>2]=i[r+24>>2];break i}if(hA(A,u),l[r+27|0]>=0)break i;G(i[r+16>>2])}B=r+32|0,r=i[t+8>>2];i:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r)}P0(f,t+12|0,i[e>>2]),l[t+31|0]<0&&G(i[t+20>>2]),f=i[k+4>>2],i[k+4>>2]=f-1,f||(V[i[i[k>>2]+8>>2]](k),g(k)),B=t+32|0}function Rv(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0;Z=n+6|0,p=n+3|0;i:{if((p|0)>=-2){if((k|0)<=0)break i;for(C=t+6|0,I=k&2147483644,W=k&3,v=-3,y=k>>>0<4;;){if(h=(v<<1)+C|0,u=(m(A,v)<<1)+r|0,w=0,!y)for(;X[h>>1]=Q[u>>1],_=h,h=Z<<1,_=_+h|0,X[_>>1]=Q[u+2>>1],_=h+_|0,X[_>>1]=Q[u+4>>1],_=h+_|0,X[_>>1]=Q[u+6>>1],h=h+_|0,u=u+8|0,w=w+4|0,(I|0)!=(w|0););if(w=0,W)for(;X[h>>1]=Q[u>>1],u=u+2|0,h=(Z<<1)+h|0,w=w+1|0,(W|0)!=(w|0););if(v=v+1|0,(p|0)==(v|0))break}}if((k|0)<=0|(n|0)<=0)break i;for(A=o-8|0,r=0,e=e<<1;;){for(h=(r<<1)+f|0,u=(m(r,Z)<<1)+t|0,w=0;X[h>>1]=X[u+12>>1]+((((((X[u+2>>1]<<2)-X[u>>1]|0)+m(X[u+4>>1],-10)|0)+m(X[u+6>>1],58)|0)+m(X[u+8>>1],17)|0)+m(X[u+10>>1],-5)|0)>>A,u=u+2|0,h=e+h|0,w=w+1|0,(w|0)!=(n|0););if(r=r+1|0,(k|0)==(r|0))break}}}function Dv(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0;Z=n+6|0,p=n+4|0;i:{if((p|0)>=-1){if((k|0)<=0)break i;for(C=t+4|0,I=k&2147483644,W=k&3,v=-2,y=k>>>0<4;;){if(h=(v<<1)+C|0,u=(m(A,v)<<1)+r|0,w=0,!y)for(;X[h>>1]=Q[u>>1],_=h,h=Z<<1,_=_+h|0,X[_>>1]=Q[u+2>>1],_=h+_|0,X[_>>1]=Q[u+4>>1],_=h+_|0,X[_>>1]=Q[u+6>>1],h=h+_|0,u=u+8|0,w=w+4|0,(I|0)!=(w|0););if(w=0,W)for(;X[h>>1]=Q[u>>1],u=u+2|0,h=(Z<<1)+h|0,w=w+1|0,(W|0)!=(w|0););if(v=v+1|0,(p|0)==(v|0))break}}if((k|0)<=0|(n|0)<=0)break i;for(A=o-8|0,r=0,e=e<<1;;){for(h=(r<<1)+f|0,u=(m(r,Z)<<1)+t|0,w=0;X[h>>1]=(((((X[u>>1]+m(X[u+2>>1],-5)|0)+m(X[u+4>>1],17)|0)+m(X[u+6>>1],58)|0)+m(X[u+8>>1],-10)|0)+(X[u+10>>1]<<2)|0)-X[u+12>>1]>>A,u=u+2|0,h=e+h|0,w=w+1|0,(w|0)!=(n|0););if(r=r+1|0,(k|0)==(r|0))break}}}function Yn(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0;f=r;i:if((A-f|0)<3)break i;for(;;){i:{if(k>>>0<=o>>>0|f>>>0>=A>>>0)break i;e=l[f|0],t=e&255,n=1;r:{if((e|0)>=0)break r;if(e>>>0<4294967234)break i;if(e>>>0<=4294967263){if((s[f+1|0]&192)!=128|(A-f|0)<2)break i;n=2;break r}if(e>>>0<=4294967279){if((A-f|0)<3)break i;n=s[f+2|0],e=s[f+1|0];e:{A:{if((t|0)!=237){if((t|0)!=224)break A;if((e&224)==160)break e;break i}if((e&224)!=128)break i;break e}if((e&192)!=128)break i}if((n&192)!=128)break i;n=3;break r}if((A-f|0)<4|e>>>0>4294967284)break i;n=s[f+3|0],u=s[f+2|0],e=s[f+1|0];e:{A:switch(t-240|0){case 0:if((e+112&255)>>>0>=48)break i;break e;case 4:if((e&240)!=128)break i;break e;default:break A}if((e&192)!=128)break i}if((u&192)!=128|(n&192)!=128|(n&63|(u<<6&4032|(t<<18&1835008|(e&63)<<12)))>>>0>1114111)break i;n=4}o=o+1|0,f=f+n|0;continue}break}return f-r|0}function Jn(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0;f=r;i:if((A-f|0)<3)break i;for(;;){i:{if(k>>>0<=t>>>0|f>>>0>=A>>>0)break i;e=s[f|0],n=f+1|0;r:{if(e<<24>>24>=0)break r;if(e>>>0<194)break i;if(e>>>0<=223){if((s[f+1|0]&192)!=128|(A-f|0)<2)break i;n=f+2|0;break r}if(e>>>0<=239){if((A-f|0)<3)break i;o=s[f+2|0],n=s[f+1|0];e:{A:{if((e|0)!=237){if((e|0)!=224)break A;if((n&224)==160)break e;break i}if((n&224)!=128)break i;break e}if((n&192)!=128)break i}if((o&192)!=128)break i;n=f+3|0;break r}if((A-f|0)<4|e>>>0>244|k-t>>>0<2)break i;o=s[f+3|0],u=s[f+2|0],n=s[f+1|0];e:{A:switch(e-240|0){case 0:if((n+112&255)>>>0>=48)break i;break e;case 4:if((n&240)!=128)break i;break e;default:break A}if((n&192)!=128)break i}if((u&192)!=128|(o&192)!=128|(o&63|(u<<6&4032|(e<<18&1835008|(n&63)<<12)))>>>0>1114111)break i;t=t+1|0,n=f+4|0}f=n,t=t+1|0;continue}break}return f-r|0}function gn(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0;t=B-32|0,B=t,n=A&65535,o=A>>>16&32767;i:{if(o-16257>>>0<=253){k=(n&33554431)<<7|r>>>25,n=0,r=r&33554431;r:{if(!(!n&(r|0)==16777216?!(f|e):!n&r>>>0<16777216)){k=k+1|0;break r}if(r^16777216|f|(e|n))break r;k=(k&1)+k|0}f=k>>>0>8388607,k=f?0:k,f=o+(f?-16255:-16256)|0;break i}if(!(!(f|r|(e|n))|((o|0)!=32767|(k|0)!=0))){k=(n&33554431)<<7|r>>>25|4194304,f=255;break i}if(o>>>0>16510){f=255;break i}if(k=!(k|o),h=k?16256:16257,u=h-o|0,(u|0)>112){k=0,f=0;break i}n=k?n:n|65536,L1(t+16|0,f,e,r,n,128-u|0),ti(t,f,e,r,n,u),f=i[t+8>>2],k=(i[t+12>>2]&33554431)<<7|f>>>25,r=i[t>>2]|(o|0)!=(h|0)&(i[t+16>>2]|i[t+24>>2]|(i[t+20>>2]|i[t+28>>2]))!=0,n=i[t+4>>2],e=0,f=f&33554431;r:{if(!(!e&(f|0)==16777216?!(r|n):!e&f>>>0<16777216)){k=k+1|0;break r}if(f^16777216|r|(e|n))break r;k=(k&1)+k|0}f=k>>>0>8388607,k=f?k^8388608:k}return B=t+32|0,N2(2,A&-2147483648|f<<23|k),l8()}function Nn(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;i:{r:{if(A=i[f+4>>2],o=i[f>>2],n=A-o>>4,t=n+1|0,t>>>0<268435456){if(k=i[f+8>>2]-o|0,r=k>>3,u=k>>>0>=2147483632?268435455:r>>>0>t>>>0?r:t,u){if(u>>>0>=268435456)break r;h=U(u<<4)}if(k=i[e>>2],r=(n<<4)+h|0,i[r+12>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=k,k=i[e+8>>2],n=i[e+4>>2],(k|0)!=(n|0)){if(t=k-n|0,(t|0)<0)break i;k=U(t),i[r+4>>2]=k,e=k+t|0,i[r+12>>2]=e,l0(k,n,t),i[r+8>>2]=e}t=(u<<4)+h|0,u=r+16|0;e:{if((A|0)==(o|0)){h=r;break e}for(;e=A-16|0,n=i[e>>2],k=r-4|0,i[k>>2]=0,h=r-16|0,i[h>>2]=n,n=A-12|0,i[r-12>>2]=i[n>>2],i[r-8>>2]=i[A-8>>2],r=A-4|0,i[k>>2]=i[r>>2],i[r>>2]=0,i[n>>2]=0,i[n+4>>2]=0,r=h,A=e,(o|0)!=(A|0););A=i[f+4>>2],o=i[f>>2]}if(i[f+8>>2]=t,i[f+4>>2]=u,i[f>>2]=h,(A|0)!=(o|0))for(;f=i[A-12>>2],f&&(i[A-8>>2]=f,G(f)),A=A-16|0,(o|0)!=(A|0););return o&&G(o),u}y0(),P()}_2(),P()}y0(),P()}function Uv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,k=A+12|0,i[k+i[n-12>>2]>>2]=i[13709],n=k+i[i[A+12>>2]-12>>2]|0,t=A+16|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,n=$0(t),i[n>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,t=A+148|0,R2(t,e,r),o=k,u=t,k=l[A+159|0],t=(k|0)<0,x(o,t?i[A+148>>2]:u,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),x(A+12|0,20213,18);i:{r:switch(i[e+48>>2]+1|0){case 1:x(A+12|0,22079,9);break i;case 2:x(A+12|0,22067,11);break i;case 0:break r;default:break i}x(A+12|0,22273,8)}i2(f,n),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[n>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(n),T0(A+68|0),B=A+160|0}function J0(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0;n=1;i:{r:{e:{A:switch(t=i[f+36>>2],t|0){case 0:case 1:case 2:case 3:case 99:break i;case 11:case 13:case 15:break e;case 10:case 12:case 14:break A;default:break r}n=3;break i}n=4;break i}n=0}o=A+1|0,h=o>>>0<64?64:o&-2,o=r+1|0,w=o>>>0<64?64:o&-2,k=(k|0)==24&&(t|0)==10?8:k,_=(t|0)==11&&(k|0)==32?8:k,u=m(m(n,w),(_&255)+7>>>3|0)+15&-16,o=U(m(h,u)|15),n=i[f+64>>2];i:{r:{if(!n){t=f- -64|0,k=t;break r}for(;;){if(k=n,t=i[n+16>>2],(t|0)>(e|0)){if(t=n,n=i[n>>2],n)continue;break r}if((e|0)<=(t|0))break i;if(n=i[k+4>>2],!n)break}t=k+4|0}n=U(52),i[n+48>>2]=u,i[n+44>>2]=o,u=o,o=o&15,i[n+40>>2]=u+(o?16-o|0:0),i[n+36>>2]=h,i[n+32>>2]=w,i[n+28>>2]=A,i[n+24>>2]=r,l[n+20|0]=_,i[n+16>>2]=e,i[n+8>>2]=k,i[n>>2]=0,i[n+4>>2]=0,i[t>>2]=n,e=i[i[f+60>>2]>>2],e&&(i[f+60>>2]=e,n=i[t>>2]),D1(i[f+64>>2],n),i[f+68>>2]=i[f+68>>2]+1}return 1}function Sr(f,e,r){var A=0,k=0,n=0,t=0,o=0;i:{r:{if((e|0)==8){e=Z2(r);break r}if(A=28,e&3|e>>>0<4||(n=e>>>2|0,n-1&n))break i;if(-64-e>>>0>>0)return 48;n=16,e=e>>>0<=16?16:e,A=e>>>0<=16?16:e;e:{if(!(A-1&A)){e=A;break e}for(;e=n,n=e<<1,e>>>0>>0;);}e:{if(-64-e>>>0<=r>>>0){i[23944]=48,r=0;break e}if(n=r>>>0<11?16:r+11&-8,k=Z2((n+e|0)+12|0),r=0,!k)break e;r=k-8|0;A:{if(!(k&e-1)){e=r;break A}if(t=k-4|0,o=i[t>>2],A=e,e=((e+k|0)-1&0-e)-8|0,e=(e-r>>>0<=15?A:0)+e|0,A=e-r|0,k=(o&-8)-A|0,!(o&3)){r=i[r>>2],i[e+4>>2]=k,i[e>>2]=r+A;break A}i[e+4>>2]=k|i[e+4>>2]&1|2,k=e+k|0,i[k+4>>2]=i[k+4>>2]|1,i[t>>2]=A|i[t>>2]&1|2,k=r+A|0,i[k+4>>2]=i[k+4>>2]|1,Xr(r,A)}r=i[e+4>>2];A:{if(!(r&3)||(A=r&-8,A>>>0<=n+16>>>0))break A;i[e+4>>2]=n|r&1|2,r=e+n|0,n=A-n|0,i[r+4>>2]=n|3,A=e+A|0,i[A+4>>2]=i[A+4>>2]|1,Xr(r,n)}r=e+8|0}e=r}if(!e)return 48;i[f>>2]=e,A=0}return A}function Mv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(!(i[r>>2]==1&(i[r+4>>2]&-2)==10)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(Q[A+24>>1]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(r=s[A+26|0],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(r|0)!=1)break i;l[e+44|0]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,i[e+48>>2]=8,i[e+36>>2]=99,i[e+40>>2]=99,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,i[e+36>>2]=0,i[e+40>>2]=3,l[e+44|0]=s[A+8|0],i[e+48>>2]=8,r=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[e+59|0]=r,l[e+60|0]=r>>>8,l[e+61|0]=r>>>16,l[e+62|0]=r>>>24,i[e+56>>2]=i[A+20>>2],r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,i[e>>2]=0,i[e+4>>2]=3,i[e+16>>2]=72992,r=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,r=i[A+20>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function xv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0;n=B-112|0,B=n;i:{if(!(k&&A)){e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560];break i}r:{if(t=i[e+16>>2],!t||(h=N0(t,72776,73168),!h))break r;if(t=i[e+20>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),o=i[e>>2],i[n+56>>2]=i[o+48>>2],o=i[o+52>>2],i[n+60>>2]=o,o&&(i[o+4>>2]=i[o+4>>2]+1),e=i[e+8>>2],o=i[e+8>>2],e=i[e+4>>2],u=i[n+60>>2],i[n+16>>2]=i[n+56>>2],i[n+20>>2]=u,u=n- -64|0,pr(u,n+16|0,r,e,o),i0[n+24>>3]=i[h+4>>2],i0[n+32>>3]=i[h+8>>2],e=i[n+36>>2],i[n+8>>2]=i[n+32>>2],i[n+12>>2]=e,e=i[n+28>>2],i[n>>2]=i[n+24>>2],i[n+4>>2]=e,me(n+40|0,u,n),i0[A>>3]=i0[n+40>>3],i0[k>>3]=i0[n+48>>3],i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,!t||(f=i[t+4>>2],i[t+4>>2]=f-1,f))break i;V[i[i[t>>2]+8>>2]](t),g(t);break i}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560]}B=n+112|0}function zv(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;v=n+7|0,Z=n+4|0;i:{if((Z|0)>=-2){if((k|0)<=0)break i;for(W=t+6|0,C=k&2147483644,p=k&3,_=-3,I=k>>>0<4;;){if(u=(_<<1)+W|0,o=m(A,_)+r|0,h=0,!I)for(;X[u>>1]=s[o|0],w=u,u=v<<1,w=w+u|0,X[w>>1]=s[o+1|0],w=u+w|0,X[w>>1]=s[o+2|0],w=u+w|0,X[w>>1]=s[o+3|0],u=u+w|0,o=o+4|0,h=h+4|0,(C|0)!=(h|0););if(h=0,p)for(;X[u>>1]=s[o|0],o=o+1|0,u=(v<<1)+u|0,h=h+1|0,(p|0)!=(h|0););if(_=_+1|0,(Z|0)==(_|0))break}}if((k|0)<=0|(n|0)<=0)break i;for(r=0,e=e<<1;;){for(u=(r<<1)+f|0,o=(m(r,v)<<1)+t|0,h=0;X[u>>1]=(((((Q[o+2>>1]<<2)-Q[o>>1]|0)+m(Q[o+8>>1]+Q[o+6>>1]|0,40)|0)+(Q[o+12>>1]<<2)|0)-Q[o+14>>1]|0)+m(Q[o+10>>1]+Q[o+4>>1]|0,-11),o=o+2|0,u=e+u|0,h=h+1|0,(h|0)!=(n|0););if(r=r+1|0,(k|0)==(r|0))break}}}function Hv(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;v=n+6|0,Z=n+3|0;i:{if((Z|0)>=-2){if((k|0)<=0)break i;for(W=t+6|0,C=k&2147483644,p=k&3,_=-3,I=k>>>0<4;;){if(u=(_<<1)+W|0,o=m(A,_)+r|0,h=0,!I)for(;X[u>>1]=s[o|0],w=u,u=v<<1,w=w+u|0,X[w>>1]=s[o+1|0],w=u+w|0,X[w>>1]=s[o+2|0],w=u+w|0,X[w>>1]=s[o+3|0],u=u+w|0,o=o+4|0,h=h+4|0,(C|0)!=(h|0););if(h=0,p)for(;X[u>>1]=s[o|0],o=o+1|0,u=(v<<1)+u|0,h=h+1|0,(p|0)!=(h|0););if(_=_+1|0,(Z|0)==(_|0))break}}if((k|0)<=0|(n|0)<=0)break i;for(r=0,e=e<<1;;){for(u=(r<<1)+f|0,o=(m(r,v)<<1)+t|0,h=0;X[u>>1]=Q[o+12>>1]+((((((Q[o+2>>1]<<2)-Q[o>>1]|0)+m(Q[o+4>>1],-10)|0)+m(Q[o+6>>1],58)|0)+m(Q[o+8>>1],17)|0)+m(Q[o+10>>1],-5)|0),o=o+2|0,u=e+u|0,h=h+1|0,(h|0)!=(n|0););if(r=r+1|0,(k|0)==(r|0))break}}}function Tv(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;v=n+6|0,Z=n+4|0;i:{if((Z|0)>=-1){if((k|0)<=0)break i;for(W=t+4|0,C=k&2147483644,p=k&3,_=-2,I=k>>>0<4;;){if(u=(_<<1)+W|0,o=m(A,_)+r|0,h=0,!I)for(;X[u>>1]=s[o|0],w=u,u=v<<1,w=w+u|0,X[w>>1]=s[o+1|0],w=u+w|0,X[w>>1]=s[o+2|0],w=u+w|0,X[w>>1]=s[o+3|0],u=u+w|0,o=o+4|0,h=h+4|0,(C|0)!=(h|0););if(h=0,p)for(;X[u>>1]=s[o|0],o=o+1|0,u=(v<<1)+u|0,h=h+1|0,(p|0)!=(h|0););if(_=_+1|0,(Z|0)==(_|0))break}}if((k|0)<=0|(n|0)<=0)break i;for(r=0,e=e<<1;;){for(u=(r<<1)+f|0,o=(m(r,v)<<1)+t|0,h=0;X[u>>1]=(((((Q[o>>1]+m(Q[o+2>>1],-5)|0)+m(Q[o+4>>1],17)|0)+m(Q[o+6>>1],58)|0)+m(Q[o+8>>1],-10)|0)+(Q[o+10>>1]<<2)|0)-Q[o+12>>1],o=o+2|0,u=e+u|0,h=h+1|0,(h|0)!=(n|0););if(r=r+1|0,(k|0)==(r|0))break}}}function Rn(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0;if(n=B-48|0,B=n,t=f+4|0,i[t>>2]=0,i[t+4>>2]=0,i[t+16>>2]=0,i[t+8>>2]=0,i[t+12>>2]=0,D8(n+40|0,e,18983),o=i[n+40>>2],t=o,l[t+124|0]=1,i[t+52>>2]=i[t+52>>2]&-2|1,t=G2(r),t>>>0<2147483640){i:{r:{if(t>>>0>=11){h=(t|7)+1|0,u=U(h),i[n+36>>2]=h|-2147483648,i[n+28>>2]=u,i[n+32>>2]=t;break r}if(l[n+39|0]=t,u=n+28|0,!t)break i}l0(u,r,t)}l[t+u|0]=0,r=o+112|0;i:{if((r|0)==(n+28|0))break i;if(t=l[n+39|0],l[o+123|0]>=0){if((t|0)>=0){t=i[n+32>>2],i[r>>2]=i[n+28>>2],i[r+4>>2]=t,i[r+8>>2]=i[n+36>>2];break i}i4(r,i[n+28>>2],i[n+32>>2]);break i}o=r,r=(t|0)<0,_4(o,r?i[n+28>>2]:n+28|0,r?i[n+32>>2]:t)}l[n+39|0]<0&&G(i[n+28>>2]),i[f>>2]=i[i[n+40>>2]+56>>2],MA(n+8|0,e,n+40|0,A,k,0),l[n+27|0]<0&&G(i[n+16>>2]),f=i[n+44>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=n+48|0;return}c2(),P()}function Dn(f,e,r,A,k,n){var t=0,o=0,u=0,h=0,w=0;if(t=B-48|0,B=t,o=f+4|0,i[o>>2]=0,i[o+4>>2]=0,i[o+16>>2]=0,i[o+8>>2]=0,i[o+12>>2]=0,D8(t+40|0,e,9980),u=i[t+40>>2],o=u,l[o+124|0]=1,i[o+52>>2]=i[o+52>>2]&-2|1,o=G2(r),o>>>0<2147483640){i:{r:{if(o>>>0>=11){w=(o|7)+1|0,h=U(w),i[t+36>>2]=w|-2147483648,i[t+28>>2]=h,i[t+32>>2]=o;break r}if(l[t+39|0]=o,h=t+28|0,!o)break i}l0(h,r,o)}l[o+h|0]=0,r=u+88|0;i:{if((r|0)==(t+28|0))break i;if(o=l[t+39|0],l[u+99|0]>=0){if((o|0)>=0){o=i[t+32>>2],i[r>>2]=i[t+28>>2],i[r+4>>2]=o,i[r+8>>2]=i[t+36>>2];break i}i4(r,i[t+28>>2],i[t+32>>2]);break i}u=r,r=(o|0)<0,_4(u,r?i[t+28>>2]:t+28|0,r?i[t+32>>2]:o)}l[t+39|0]<0&&G(i[t+28>>2]),i[f>>2]=i[i[t+40>>2]+56>>2],MA(t+8|0,e,t+40|0,k,n,A),l[t+27|0]<0&&G(i[t+16>>2]),f=i[t+44>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=t+48|0;return}c2(),P()}function Un(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;if(A=i[f+8>>2],r=i[f+4>>2],A-r>>3>>>0>=e>>>0){if(e)for(e=(e<<3)+r|0;i[r>>2]=0,i[r+4>>2]=0,r=r+8|0,(e|0)!=(r|0););i[f+4>>2]=r;return}i:{if(k=i[f>>2],n=r-k>>3,t=n+e|0,t>>>0<536870912){if(A=A-k|0,k=A>>2,t=A>>>0>=2147483640?536870911:t>>>0>>0?k:t,t){if(t>>>0>=536870912)break i;k=U(t<<3)}else k=0;for(A=k+(n<<3)|0,n=A+(e<<3)|0,e=A;i[e>>2]=0,i[e+4>>2]=0,e=e+8|0,(n|0)!=(e|0););if(r=i[f+4>>2],o=i[f>>2],(r|0)!=(o|0)){for(;A=A-8|0,r=r-8|0,u=B-16|0,B=u,s[79117]==1&&(i[u+4>>2]=r,i[u>>2]=A,f8(22036,u)),n=i[r+4>>2],n&&(i[n>>2]=i[n>>2]+1),i[A+4>>2]=n,i[A>>2]=i[r>>2],B=u+16|0,(r|0)!=(o|0););r=i[f+4>>2],o=i[f>>2]}if(i[f+4>>2]=e,i[f>>2]=A,i[f+8>>2]=(t<<3)+k,(r|0)!=(o|0))for(;r=C8(r-8|0),(o|0)!=(r|0););o&&G(o);return}y0(),P()}_2(),P()}function av(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;if(!(!e|!r)){A=Q[e>>1],Z0[r>>2]=(A+28535&65535)>>>0<28540?Y(0):Y(+(A>>>0)*2e-5),A=Q[e+6>>1],Z0[r+12>>2]=(A+23535&65535)>>>0<23540?Y(0):Y(+(A>>>0)*2e-5),A=Q[e+2>>1],Z0[r+4>>2]=(A+28535&65535)>>>0<28540?Y(0):Y(+(A>>>0)*2e-5),A=Q[e+8>>1],Z0[r+16>>2]=(A+23535&65535)>>>0<23540?Y(0):Y(+(A>>>0)*2e-5),A=Q[e+4>>1],Z0[r+8>>2]=(A+28535&65535)>>>0<28540?Y(0):Y(+(A>>>0)*2e-5),A=Q[e+10>>1],Z0[r+20>>2]=(A+23535&65535)>>>0<23540?Y(0):Y(+(A>>>0)*2e-5),A=Q[e+12>>1],Z0[r+24>>2]=(A+28535&65535)>>>0<28540?Y(0):Y(+(A>>>0)*2e-5),A=Q[e+14>>1],Z0[r+28>>2]=(A+23535&65535)>>>0<23540?Y(0):Y(+(A>>>0)*2e-5),A=i[e+16>>2],i0[r+32>>3]=A-100000001>>>0<4195017295?0:+(A>>>0)*1e-4,e=i[e+20>>2],i0[r+40>>3]=e-50001>>>0<4294917296?0:+(e>>>0)*1e-4,i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e;return}e=i[18414],i[f>>2]=i[18413],i[f+4>>2]=e,i[f+8>>2]=i[18415]}function Sv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e,A=i[r+4>>2];i:{if(!(!s[k+12|0]|((A|0)==3|i[k+8>>2]==1))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!(!(i[r>>2]|(A|0)!=1)&i[r+12>>2]==8)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=Q[r+24>>1],!(A>>>0>14|!(1<>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(r=s[r+26|0],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(r|0)!=1)break i;l[e+44|0]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,i[e+48>>2]=8,i[e+36>>2]=99,i[e+40>>2]=99,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,l[e+44|0]=1,i[e+48>>2]=8,i[e+36>>2]=1,i[e+40>>2]=11,r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,i[e>>2]=1,i[e+4>>2]=11,i[e+16>>2]=72992,i[e+20>>2]=i[e+56>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function Ov(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0;e=B+-64|0,B=e;i:{if(!(!(!s[r+8|0]|k0[r+4>>2]>3)&s[A+8|0]!=1)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,i[e+44>>2]=8,l[e+40|0]=0,l[e+58|0]=1,X[e+56>>1]=2,i[e+52>>2]=131074,i[e+32>>2]=99,i[e+36>>2]=99,i[e+48>>2]=72992,l[e+58|0]=1,X[e+56>>1]=6,i[e+52>>2]=851969,A=i[r+12>>2],i[e+40>>2]=i[r+8>>2],i[e+44>>2]=A,n=i[r+4>>2],A=i[r>>2],i[e+32>>2]=A,i[e+36>>2]=n,k=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+55|0]=k,l[e+56|0]=k>>>8,l[e+57|0]=k>>>16,l[e+58|0]=k>>>24,k=i[r+20>>2],l[e+40|0]=0,i[e+52>>2]=k,k=i[e+44>>2],i[e+8>>2]=i[e+40>>2],i[e+12>>2]=k,i[e>>2]=A,i[e+4>>2]=n,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,r=i[r+20>>2],i[e+28>>2]=1,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function v6(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;i:{r:{if(n=i[f+4>>2],t=i[f>>2],o=(n-t|0)/12|0,r=o+1|0,r>>>0<357913942){if(A=(i[f+8>>2]-t|0)/12|0,k=A<<1,A=A>>>0>=178956970?357913941:r>>>0>>0?k:r,A){if(A>>>0>=357913942)break r;u=U(m(A,12))}if(r=m(o,12)+u|0,i[r+8>>2]=0,i[r>>2]=0,i[r+4>>2]=0,k=i[e+4>>2],o=i[e>>2],(k|0)!=(o|0)){if(e=k-o|0,(e|0)<0)break i;k=U(e),i[r>>2]=k,h=e+k|0,i[r+8>>2]=h,l0(k,o,e),i[r+4>>2]=h}o=m(A,12)+u|0,u=r+12|0;e:{if((n|0)==(t|0)){e=r;break e}for(;k=r-4|0,i[k>>2]=0,e=r-12|0,A=n-12|0,i[e>>2]=i[A>>2],i[r-8>>2]=i[n-8>>2],r=n-4|0,i[k>>2]=i[r>>2],i[r>>2]=0,i[A>>2]=0,i[A+4>>2]=0,r=e,n=A,(t|0)!=(A|0););n=i[f+4>>2],t=i[f>>2]}if(i[f+8>>2]=o,i[f+4>>2]=u,i[f>>2]=e,(n|0)!=(t|0))for(;f=n-12|0,e=i[f>>2],e&&(i[n-8>>2]=e,G(e)),n=f,(t|0)!=(f|0););return t&&G(t),u}y0(),P()}_2(),P()}y0(),P()}function jv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0;e=B+-64|0,B=e;i:{if(!(i[r+12>>2]!=8&k0[r+4>>2]<=3)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=i[A+12>>2],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(A|0)!=8)break i;l[e+40|0]=0,l[e+58|0]=1,X[e+56>>1]=2,i[e+52>>2]=131074,i[e+44>>2]=8,i[e+32>>2]=99,i[e+36>>2]=99,i[e+48>>2]=72992,l[e+58|0]=1,X[e+56>>1]=6,i[e+52>>2]=851969,i[e+40>>2]=i[r+8>>2],n=i[r+4>>2],A=i[r>>2],i[e+32>>2]=A,i[e+36>>2]=n,k=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+55|0]=k,l[e+56|0]=k>>>8,l[e+57|0]=k>>>16,l[e+58|0]=k>>>24,i[e+52>>2]=i[r+20>>2],i[e+44>>2]=8,k=i[e+44>>2],i[e+8>>2]=i[e+40>>2],i[e+12>>2]=k,i[e>>2]=A,i[e+4>>2]=n,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,r=i[r+20>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function Pv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-32|0,B=A,f=i[f>>2],n=i[f+48>>2],k=i[f+52>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),i[A+28>>2]=0,i[A+20>>2]=0,i[A+24>>2]=0,I1(A,n,e,A+20|0),n=-1;i:{if(i[A>>2]||(e=r-1|0,f=i[A+20>>2],e>>>0>=i[A+24>>2]-f>>3>>>0)||(f=f+(e<<3)|0,e=i[f>>2],!e)||(e=N0(e,68572,69532),!e))break i;if(f=i[f+4>>2],!f){n=i[e+48>>2];break i}if(r=i[f+4>>2],t=r+1|0,i[f+4>>2]=t,n=i[e+48>>2],i[f+4>>2]=r,t)break i;V[i[i[f>>2]+8>>2]](f),g(f)}if(l[A+19|0]<0&&G(i[A+8>>2]),r=i[A+20>>2],r){if(f=i[A+24>>2],e=r,(f|0)!=(e|0)){for(;;){e=i[f-4>>2];i:{if(!e||(t=i[e+4>>2],i[e+4>>2]=t-1,t))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(f=f-8|0,(r|0)==(f|0))break}e=i[A+20>>2]}i[A+24>>2]=r,G(e)}i:{if(!k||(f=i[k+4>>2],i[k+4>>2]=f-1,f))break i;V[i[i[k>>2]+8>>2]](k),g(k)}return B=A+32|0,n|0}function Lv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-32|0,B=A,f=i[f>>2],n=i[f+48>>2],k=i[f+52>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),i[A+28>>2]=0,i[A+20>>2]=0,i[A+24>>2]=0,I1(A,n,e,A+20|0),n=-1;i:{if(i[A>>2]||(e=r-1|0,f=i[A+20>>2],e>>>0>=i[A+24>>2]-f>>3>>>0)||(f=f+(e<<3)|0,e=i[f>>2],!e)||(e=N0(e,68572,69472),!e))break i;if(f=i[f+4>>2],!f){n=i[e+48>>2];break i}if(r=i[f+4>>2],t=r+1|0,i[f+4>>2]=t,n=i[e+48>>2],i[f+4>>2]=r,t)break i;V[i[i[f>>2]+8>>2]](f),g(f)}if(l[A+19|0]<0&&G(i[A+8>>2]),r=i[A+20>>2],r){if(f=i[A+24>>2],e=r,(f|0)!=(e|0)){for(;;){e=i[f-4>>2];i:{if(!e||(t=i[e+4>>2],i[e+4>>2]=t-1,t))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(f=f-8|0,(r|0)==(f|0))break}e=i[A+20>>2]}i[A+24>>2]=r,G(e)}i:{if(!k||(f=i[k+4>>2],i[k+4>>2]=f-1,f))break i;V[i[i[k>>2]+8>>2]](k),g(k)}return B=A+32|0,n|0}function Kv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,k=A+8|0,l[78275]>=0){n=i[19567],i[k>>2]=i[19566],i[k+4>>2]=n,i[k+8>>2]=i[19568];break i}_0(k,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]);i:{if(s[e+48|0]){h4(f,e,7491);break i}if(B4(A+20|0,r),l[e+67|0]<0&&G(i[e+56>>2]),k=i[A+24>>2],i[e+56>>2]=i[A+20>>2],i[e+60>>2]=k,i[e+64>>2]=i[A+28>>2],s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(f,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function qv(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0;i:{if((n|0)<=0|(k|0)<=0)break i;for(_=o-8|0,v=r-6|0;;){for(r=(w<<1)+t|0,o=v+(m(A,w)<<1)|0,u=0;X[r>>1]=(((((Q[o+2>>1]<<2)-Q[o>>1]|0)+m(Q[o+8>>1]+Q[o+6>>1]|0,40)|0)+(Q[o+12>>1]<<2)|0)-Q[o+14>>1]|0)+m(Q[o+10>>1]+Q[o+4>>1]|0,-11)>>_,o=o+2|0,r=(n<<1)+r|0,u=u+1|0,(u|0)!=(k|0););if(w=w+1|0,(w|0)==(n|0))break}if((n|0)<=0)break i;for(_=n&2147483644,w=n&3,A=0,v=n>>>0<4;;){if(r=(A<<1)+f|0,o=(m(A,n)<<1)+t|0,u=0,!v)for(;X[r>>1]=Q[o>>1],h=r,r=e<<1,h=h+r|0,X[h>>1]=Q[o+2>>1],h=r+h|0,X[h>>1]=Q[o+4>>1],h=r+h|0,X[h>>1]=Q[o+6>>1],r=r+h|0,o=o+8|0,u=u+4|0,(_|0)!=(u|0););if(u=0,w)for(;X[r>>1]=Q[o>>1],o=o+2|0,r=(e<<1)+r|0,u=u+1|0,(w|0)!=(u|0););if(A=A+1|0,(k|0)==(A|0))break}}}function Or(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;i:{r:{if(o=i[19572],(o|0)!=78292)for(;;){w=i[o+16>>2],A=i[w>>2];e:{if(i[A+4>>2]!=(e|0)&&e||r&&v4(r,i[A+8>>2]))break e;t=i[f+8>>2];A:{if(t>>>0>n>>>0){i[n>>2]=w,n=n+4|0;break A}if(k=i[f>>2],h=n-k>>2,A=h+1|0,A>>>0>=1073741824)break r;if(_=h<<2,t=t-k|0,u=t>>1,u=t>>>0>=2147483644?1073741823:A>>>0>>0?u:A,u){if(u>>>0>=1073741824)break i;h=U(u<<2)}else h=0;if(t=_+h|0,i[t>>2]=w,A=t,(k|0)!=(n|0)){for(;A=A-4|0,n=n-4|0,i[A>>2]=i[n>>2],(k|0)!=(n|0););k=i[f>>2]}if(n=t+4|0,i[f+8>>2]=h+(u<<2),i[f>>2]=A,!k)break A;G(k)}i[f+4>>2]=n}k=i[o+4>>2];e:{if(k){for(;;)if(A=k,k=i[A>>2],!k)break e}for(;A=i[o+8>>2],k=i[A>>2]!=(o|0),o=A,!!k;);}if(o=A,(A|0)==78292)break}return}y0(),P()}_2(),P()}function gA(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0;if(!A){i[f>>2]=5,i[f+4>>2]=2001,i[f+8>>2]=31341;return}i:{r:{n=i[e>>2],t=i[n+20>>2];e:{if(!t)break e;for(o=n+20|0,n=o;k=k0[t+16>>2]>>0,n=k?n:t,t=i[(k<<2)+t>>2],!!t;);if(k=0,(n|0)==(o|0)|k0[n+16>>2]>r>>>0)break e;if(t=i[n+20>>2],k=i[n+24>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),t)break r}i[A>>2]=0,i[f+8>>2]=31341,i[f>>2]=5,i[f+4>>2]=2e3;break i}r=U(16),i[r+8>>2]=0,i[r+12>>2]=0,i[A>>2]=r,k&&(i[k+4>>2]=i[k+4>>2]+1),i[r+4>>2]=k,i[r>>2]=t,n=i[e>>2],r=i[A>>2],A=i[e+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+8>>2]=n,e=i[r+12>>2],i[r+12>>2]=A;r:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break r;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}i:{if(!k||(f=i[k+4>>2],i[k+4>>2]=f-1,f))break i;V[i[i[k>>2]+8>>2]](k),g(k)}}function $v(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0;i:{if((n|0)<=0|(k|0)<=0)break i;for(_=o-8|0,v=r-6|0;;){for(r=(w<<1)+t|0,o=v+(m(A,w)<<1)|0,u=0;X[r>>1]=Q[o+12>>1]+((((((Q[o+2>>1]<<2)-Q[o>>1]|0)+m(Q[o+4>>1],-10)|0)+m(Q[o+6>>1],58)|0)+m(Q[o+8>>1],17)|0)+m(Q[o+10>>1],-5)|0)>>_,o=o+2|0,r=(n<<1)+r|0,u=u+1|0,(u|0)!=(k|0););if(w=w+1|0,(w|0)==(n|0))break}if((n|0)<=0)break i;for(_=n&2147483644,w=n&3,A=0,v=n>>>0<4;;){if(r=(A<<1)+f|0,o=(m(A,n)<<1)+t|0,u=0,!v)for(;X[r>>1]=Q[o>>1],h=r,r=e<<1,h=h+r|0,X[h>>1]=Q[o+2>>1],h=r+h|0,X[h>>1]=Q[o+4>>1],h=r+h|0,X[h>>1]=Q[o+6>>1],r=r+h|0,o=o+8|0,u=u+4|0,(_|0)!=(u|0););if(u=0,w)for(;X[r>>1]=Q[o>>1],o=o+2|0,r=(e<<1)+r|0,u=u+1|0,(w|0)!=(u|0););if(A=A+1|0,(k|0)==(A|0))break}}}function bv(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0;i:{if((n|0)<=0|(k|0)<=0)break i;for(_=o-8|0,v=r-4|0;;){for(r=(w<<1)+t|0,o=v+(m(A,w)<<1)|0,u=0;X[r>>1]=(((((Q[o>>1]+m(Q[o+2>>1],-5)|0)+m(Q[o+4>>1],17)|0)+m(Q[o+6>>1],58)|0)+m(Q[o+8>>1],-10)|0)+(Q[o+10>>1]<<2)|0)-Q[o+12>>1]>>_,o=o+2|0,r=(n<<1)+r|0,u=u+1|0,(u|0)!=(k|0););if(w=w+1|0,(w|0)==(n|0))break}if((n|0)<=0)break i;for(_=n&2147483644,w=n&3,A=0,v=n>>>0<4;;){if(r=(A<<1)+f|0,o=(m(A,n)<<1)+t|0,u=0,!v)for(;X[r>>1]=Q[o>>1],h=r,r=e<<1,h=h+r|0,X[h>>1]=Q[o+2>>1],h=r+h|0,X[h>>1]=Q[o+4>>1],h=r+h|0,X[h>>1]=Q[o+6>>1],r=r+h|0,o=o+8|0,u=u+4|0,(_|0)!=(u|0););if(u=0,w)for(;X[r>>1]=Q[o>>1],o=o+2|0,r=(e<<1)+r|0,u=u+1|0,(w|0)!=(u|0););if(A=A+1|0,(k|0)==(A|0))break}}}function dv(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0;u=i[e+24>>2],u>>>0>k0[e+44>>2]&&(i[e+44>>2]=u),u=-1,v=-1,h=n&24;i:{if(!h|(k|0)==1&(h|0)==24)break i;h=i[e+44>>2],h&&(t=e+32|0,s[t+11|0]>>>7|0&&(t=i[t>>2]),t=h-t|0,w=t>>31);r:{e:switch(k|0){case 1:if(n&8){o=i[e+12>>2]-i[e+8>>2]|0,_=o>>31;break r}o=i[e+24>>2]-i[e+20>>2]|0,_=o>>31;break r;case 0:break r;case 2:break e;default:break i}o=t,_=w}if(A=A+_|0,r=r+o|0,A=o>>>0>r>>>0?A+1|0:A,(A|0)<0|(r>>>0>t>>>0&(A|0)>=(w|0)|(A|0)>(w|0)))break i;k=n&8;r:{if(!(r|A))break r;if(!i[e+12>>2]&&k)break i;if(!(n&16))break r;if(!i[e+24>>2])break i}k&&(k=i[e+8>>2],i[e+16>>2]=i[e+44>>2],i[e+12>>2]=r+k,i[e+8>>2]=k),n&16&&(k=i[e+20>>2],i[e+28>>2]=i[e+28>>2],i[e+20>>2]=k,i[e+24>>2]=k,i[e+24>>2]=r+i[e+24>>2]),u=r,v=A}i[f+8>>2]=u,i[f+12>>2]=v,i[f>>2]=0,i[f+4>>2]=0}function p8(f,e,r){var A=0,k=0,n=0,t=0;n=B-16|0,B=n,A=U(72),i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=71664,t=A+16|0,i[t+8>>2]=0,i[t+12>>2]=0,i[t+16>>2]=0,i[t+20>>2]=0,i[t+24>>2]=0,i[t+28>>2]=0,i[t+32>>2]=0,i[t>>2]=68500,i[A+60>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[t>>2]=73032,i[A+32>>2]=1668246642,i[A+64>>2]=0,i[A+68>>2]=0,k=i[r>>2],r=i[r+4>>2];i:{if(!r){i[A+68>>2]=r,i[A+64>>2]=k;break i}if(i[r+4>>2]=i[r+4>>2]+1,i[A+64>>2]=k,k=i[A+68>>2],i[A+68>>2]=r,!k||(r=i[k+4>>2],i[k+4>>2]=r-1,r))break i;V[i[i[k>>2]+8>>2]](k),g(k)}r=i[f+44>>2],i[n+12>>2]=A,i[n+8>>2]=t,i[A+4>>2]=i[A+4>>2]+1,t=N4(r,n+8|0),k=i[n+12>>2];i:{if(!k||(r=i[k+4>>2],i[k+4>>2]=r-1,r))break i;V[i[i[k>>2]+8>>2]](k),g(k)}f=i[f+52>>2],X[n+6>>1]=t+1,l[n+4|0]=0,i[n>>2]=Q[n+4>>1]|Q[n+6>>1]<<16,c1(f,e,n),f=i[A+4>>2],i[A+4>>2]=f-1,f||(V[i[i[A>>2]+8>>2]](A),g(A)),B=n+16|0}function cv(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;k=B-16|0,B=k,A=i[e+12>>2],f=i[e+4>>2],w=(A+f|0)-1|0,n=(w|0)%(A|0)|0,t=(A+((f|0)/s[r+50|0]|0)|0)-1|0,o=(t|0)%(A|0)|0,u=i[e+8>>2],h=(u|0)/s[r+51|0]|0;i:{r:{e:{if(f=s[r+48|0],(f-8&255)>>>0<9){if(A=s[r+49|0],(A-8&255)>>>0>=9)break e;if(e=0,i[k+4>>2]=0,_=u,u=w-n|0,f=Sr(k+4|0,16,m(m(_,u),(f+7&248)>>>3|0)),n=f?0:i[k+4>>2],!i[r+20>>2]){if(h=0,o=0,!n)break i;break r}if(i[k+8>>2]=0,o=t-o|0,f=m(m(h,o),(A+7&248)>>>3|0),A=Sr(k+8|0,16,f),e=i[k+8>>2],i[k+12>>2]=0,f=Sr(k+12|0,16,f),h=i[k+12>>2],t=f?0:h,f=A?0:e,!(!n||!f|!t))break r;if(n&&G(n),f&&G(f),e=0,!t)break i;G(t);break i}C0(16497,14027,117,5695),P()}C0(16543,14027,118,5695),P()}i[r+292>>2]=0,i[r+4>>2]=n,i[r+40>>2]=u,i[r+8>>2]=e,i[r+296>>2]=0,i[r+300>>2]=0,i[r+12>>2]=h,i[r+44>>2]=o,e=1}return B=k+16|0,e|0}function im(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;if(n=B-32|0,B=n,t=V[i[i[e>>2]+32>>2]](e,r,0)|0,l2(r,i[e+60>>2]-i[e+56>>2]>>4),A=i[e+56>>2],o=i[e+60>>2],(A|0)!=(o|0))for(;;){k=i[A>>2];i:{if(!s[e+48|0]){w2(r,k&65535);break i}l2(r,k)}if(A2(r,i[A+8>>2]-i[A+4>>2]>>>2&255),k=i[A+4>>2],u=i[A+8>>2],(k|0)!=(u|0))for(;;){h=Q[k+2>>1],w=s[k|0];i:{if(l[e+52|0]&1){w2(r,(h&32767|(w&1?-32768:0))&65535);break i}A2(r,(h&127|(w&1?-128:0))&255)}if(k=k+4|0,(u|0)==(k|0))break}if(A=A+16|0,(o|0)==(A|0))break}i[r+12>>2]=t,V[i[i[e>>2]+36>>2]](n+12|0,e,r,i[r+4>>2]-(i[r>>2]+t|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[n+31|0]<0&&G(i[n+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=n+32|0}function rm(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0;r=B-96|0,B=r;i:{r:{e:{if(i[f+16>>2]!=i[e+16>>2])break e;i[r+88>>2]=0,i[r+92>>2]=0,i[r+80>>2]=0,i[r+84>>2]=0,i[r+72>>2]=0,i[r+76>>2]=0,i[r+64>>2]=0,i[r+68>>2]=0,V[i[i[f>>2]+16>>2]](r+44|0,f,r+80|0),l[r+63|0]<0&&G(i[r+52>>2]),V[i[i[e>>2]+16>>2]](r+24|0,e,r- -64|0),l[r+43|0]<0&&G(i[r+32>>2]),i[r+20>>2]=0,i[r+12>>2]=0,i[r+16>>2]=0,f=i[r+84>>2],A=i[r+80>>2];A:{if((f|0)==(A|0)){e=0,A=0;break A}if(f=f-A|0,(f|0)<0)break r;e=U(f),A=l0(e,A,f)+f|0}i[r+8>>2]=0,i[r>>2]=0,i[r+4>>2]=0,f=i[r+68>>2],k=i[r+64>>2];A:{if((f|0)==(k|0)){f=0;break A}if(n=f-k|0,(n|0)<0)break i;f=U(n),n=l0(f,k,n)+n|0}if(k=0,A=A-e|0,(A|0)==(n-f|0)&&(k=!K2(e,f,A)),f&&G(f),e&&G(e),f=i[r+64>>2],f&&(i[r+68>>2]=f,G(f)),f=i[r+80>>2],!f)break e;i[r+84>>2]=f,G(f)}return B=r+96|0,k|0}y0(),P()}y0(),P()}function em(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;t=B-32|0,B=t,o=V[i[i[e>>2]+32>>2]](e,r,0)|0,k=+(1<>2]>>>0),n=i0[e+56>>3]*k;i:{if(d0(n)<2147483648){A=~~n;break i}A=-2147483648}l2(r,A),n=i0[e+64>>3]*k;i:{if(d0(n)<2147483648){A=~~n;break i}A=-2147483648}l2(r,A),n=i0[e+72>>3]*k;i:{if(d0(n)<2147483648){A=~~n;break i}A=-2147483648}if(l2(r,A),l[e+52|0]&1){k=i0[e+88>>3]*k;i:{if(d0(k)<2147483648){A=~~k;break i}A=-2147483648}l2(r,A),k=i0[e+96>>3]*+(1<>2]>>>0);i:{if(d0(k)<2147483648){A=~~k;break i}A=-2147483648}l2(r,A)}i[r+12>>2]=o,V[i[i[e>>2]+36>>2]](t+12|0,e,r,i[r+4>>2]-(i[r>>2]+o|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[t+31|0]<0&&G(i[t+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=t+32|0}function Mn(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0;if(i[f>>2]=74936,A=i[f+128>>2],A){if(e=A,n=i[f+132>>2],(e|0)!=(n|0)){for(;;){if(o=n-12|0,k=i[o>>2],k){if(e=k,u=n-8|0,r=i[u>>2],(e|0)!=(r|0)){for(;e=r-12|0,t=i[e>>2],t&&(i[r-8>>2]=t,G(t)),r=e,(e|0)!=(k|0););e=i[o>>2]}i[u>>2]=k,G(e)}if(n=n-16|0,(A|0)==(n|0))break}e=i[f+128>>2]}i[f+132>>2]=A,G(e)}if(e=i[f+108>>2],e&&(i[f+112>>2]=e,G(e)),e=i[f+96>>2],e&&(i[f+100>>2]=e,G(e)),e=i[f+84>>2],e&&G(e),e=i[f+72>>2],e&&(i[f+76>>2]=e,G(e)),i[f>>2]=68616,A=i[f+36>>2],A){if(e=i[f+40>>2],r=A,(e|0)!=(r|0)){for(;;){r=i[e-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(e=e-8|0,(A|0)==(e|0))break}r=i[f+36>>2]}i[f+40>>2]=A,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function Am(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0;i:{if(n=V[i[i[e>>2]+68>>2]](i[e+4>>2])|0,k=i[n>>2],!k)break i;for(;;){if(v4(i[k+4>>2],r)){if(k=i[n+4>>2],n=n+4|0,k)continue;break i}break}r:switch(i[k+8>>2]-1|0){case 0:for(k=f,n=e,t=r;f=A,A=A+1|0,e=l[f|0],!!((e|0)==32|e-9>>>0<5););r=1;e:switch((e&255)-43|0){case 2:r=0;case 0:e=l[A|0],f=A;break;default:break e}if(A=0,e=e-48|0,e>>>0<=9)for(;A=m(A,10)-e|0,e=l[f+1|0],f=f+1|0,e=e-48|0,e>>>0<10;);k7(k,n,t,r?0-A|0:A);return;case 1:k=1;e:{if(!v4(A,9104)||(k=0,!v4(A,9349)|s[A|0]!=49))break e;k=!s[A+1|0]}V[i[i[e>>2]+80>>2]](f,i[e+4>>2],r,k);return;case 2:V[i[i[e>>2]+88>>2]](f,i[e+4>>2],r,A);return;default:break r}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412];return}V[i[i[e>>2]+88>>2]](f,i[e+4>>2],r,A)}function fm(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0;for(o=B-416|0,B=o,A=o+416|0,i[o+12>>2]=A,r=B-144|0,B=r,i[r+28>>2]=r+132,u=r+32|0,N9(f+8|0,u,r+28|0,k,n,t),i[r+16>>2]=0,i[r+20>>2]=0,i[r+12>>2]=u,k=o+16|0,t=i[o+12>>2]-k>>2,n=B-16|0,B=n,i[n+12>>2]=i[f+8>>2],f=S4(n+8|0,n+12|0),t=Ok(k,r+12|0,t,r+16|0),f=i[f>>2],f&&(i[23985]=(f|0)==-1?95820:f),B=n+16|0,(t|0)==-1&&(u1(),P()),i[o+12>>2]=k+(t<<2),B=r+144|0,t=B-16|0,B=t,f=B-32|0,B=f,pe(f+24|0,k,i[o+12>>2]),o=f+16|0,u=i[f+28>>2],r=B-16|0,B=r,n=i[f+24>>2],i[r+8>>2]=n,i[r+12>>2]=e;;){if((n|0)!=(u|0)){T9(r+12|0,i[n>>2]),n=n+4|0,i[r+8>>2]=n;continue}break}return i[o>>2]=i[r+8>>2],i[o+4>>2]=i[r+12>>2],B=r+16|0,i[f+12>>2]=k+(i[f+16>>2]-k|0),i[f+8>>2]=i[f+20>>2],i[t+8>>2]=i[f+12>>2],i[t+12>>2]=i[f+8>>2],B=f+32|0,B=t+16|0,B=A,i[t+12>>2]}function km(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,k=A+12|0,i[k+i[n-12>>2]>>2]=i[13709],n=k+i[i[A+12>>2]-12>>2]|0,t=A+16|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,n=$0(t),i[n>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,t=A+148|0,R2(t,e,r),o=k,u=t,k=l[A+159|0],t=(k|0)<0,x(o,t?i[A+148>>2]:u,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(L0(x(L0(x(L0(x(r,14785,14),i[e+48>>2]),18140,1),i[e+52>>2]),18140,1),i[e+56>>2]),30511,2),i2(f,n),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[n>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(n),T0(A+68|0),B=A+160|0}function xn(f){var e=0,r=0,A=0,k=0,n=0;if(r=i[f+8>>2],!!r){if(e=i[f+4>>2],(e|0)==6){e=i[r+24>>2];i:{if((e|0)>2]){A=i[r+20>>2];break i}if(n=e+1|0,A=Z2(n),!A)return;k=i[r+20>>2],k&&(l0(A,k,e),G(k),e=i[r+24>>2]),i[r+28>>2]=n,i[r+20>>2]=A}l[e+A|0]=0,i[r+24>>2]=i[r+24>>2]+1,e=i[f+4>>2]}if((e|0)==7){A=i[r+24>>2],k=A+2|0;i:{if((k|0)<=i[r+28>>2]){e=i[r+20>>2];break i}if(e=Z2(k),!e)return;n=i[r+20>>2],n&&(l0(e,n,A),G(n),A=i[r+24>>2]),i[r+28>>2]=k,i[r+20>>2]=e}e=e+A|0,l[e|0]=0,l[e+1|0]=0,i[r+24>>2]=i[r+24>>2]+2,e=i[f+4>>2]}(e|0)>=5&&(k=i[f+32>>2],A=k+i[f+28>>2]|0,n=i[f+20>>2],e=i[f+16>>2],(A|0)==(((e|0)!=(n|0)?(n-e<<8)-1|0:0)|0)&&(Gr(f+12|0),k=i[f+32>>2],A=k+i[f+28>>2]|0,e=i[f+16>>2]),i[i[e+(A>>>8&16777212)>>2]+((A&1023)<<2)>>2]=r,i[f+32>>2]=k+1,e=i[r+24>>2],i[f+8>>2]=0,i[f+36>>2]=e+i[f+36>>2]),i[f+4>>2]=0}}function nm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,k=A+12|0,i[k+i[t-12>>2]>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),o=k,u=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:u,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),n=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:n,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,o=x(r,20267,10),k=l[e+67|0],n=(k|0)<0,x(x(o,n?i[e+56>>2]:e+56|0,n?i[e+60>>2]:k),31338,1),i2(f,t),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function tm(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0;i:{if((n|0)<=0|(k|0)<=0)break i;for(w=r-3|0;;){for(u=(h<<1)+t|0,r=w+m(A,h)|0,o=0;X[u>>1]=(((((s[r+1|0]<<2)-s[r|0]|0)+m(s[r+4|0]+s[r+3|0]|0,40)|0)+(s[r+6|0]<<2)|0)-s[r+7|0]|0)+m(s[r+5|0]+s[r+2|0]|0,-11),r=r+1|0,u=(n<<1)+u|0,o=o+1|0,(o|0)!=(k|0););if(h=h+1|0,(h|0)==(n|0))break}if((n|0)<=0)break i;for(_=n&2147483644,w=n&3,A=0,v=n>>>0<4;;){if(u=(A<<1)+f|0,r=(m(A,n)<<1)+t|0,h=0,!v)for(;X[u>>1]=Q[r>>1],o=u,u=e<<1,o=o+u|0,X[o>>1]=Q[r+2>>1],o=u+o|0,X[o>>1]=Q[r+4>>1],o=u+o|0,X[o>>1]=Q[r+6>>1],u=u+o|0,r=r+8|0,h=h+4|0,(_|0)!=(h|0););if(o=0,w)for(;X[u>>1]=Q[r>>1],r=r+2|0,u=(e<<1)+u|0,o=o+1|0,(w|0)!=(o|0););if(A=A+1|0,(k|0)==(A|0))break}}}function om(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0;i:{if((n|0)<=0|(k|0)<=0)break i;for(w=r-2|0;;){for(u=(h<<1)+t|0,r=w+m(A,h)|0,o=0;X[u>>1]=(((((s[r|0]+m(s[r+1|0],-5)|0)+m(s[r+2|0],17)|0)+m(s[r+3|0],58)|0)+m(s[r+4|0],-10)|0)+(s[r+5|0]<<2)|0)-s[r+6|0],r=r+1|0,u=(n<<1)+u|0,o=o+1|0,(o|0)!=(k|0););if(h=h+1|0,(h|0)==(n|0))break}if((n|0)<=0)break i;for(_=n&2147483644,w=n&3,A=0,v=n>>>0<4;;){if(u=(A<<1)+f|0,r=(m(A,n)<<1)+t|0,h=0,!v)for(;X[u>>1]=Q[r>>1],o=u,u=e<<1,o=o+u|0,X[o>>1]=Q[r+2>>1],o=u+o|0,X[o>>1]=Q[r+4>>1],o=u+o|0,X[o>>1]=Q[r+6>>1],u=u+o|0,r=r+8|0,h=h+4|0,(_|0)!=(h|0););if(o=0,w)for(;X[u>>1]=Q[r>>1],r=r+2|0,u=(e<<1)+u|0,o=o+1|0,(w|0)!=(o|0););if(A=A+1|0,(k|0)==(A|0))break}}}function lm(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0;i:{if((n|0)<=0|(k|0)<=0)break i;for(w=r-3|0;;){for(u=(h<<1)+t|0,r=w+m(A,h)|0,o=0;X[u>>1]=s[r+6|0]+((((((s[r+1|0]<<2)-s[r|0]|0)+m(s[r+2|0],-10)|0)+m(s[r+3|0],58)|0)+m(s[r+4|0],17)|0)+m(s[r+5|0],-5)|0),r=r+1|0,u=(n<<1)+u|0,o=o+1|0,(o|0)!=(k|0););if(h=h+1|0,(h|0)==(n|0))break}if((n|0)<=0)break i;for(_=n&2147483644,w=n&3,A=0,v=n>>>0<4;;){if(u=(A<<1)+f|0,r=(m(A,n)<<1)+t|0,h=0,!v)for(;X[u>>1]=Q[r>>1],o=u,u=e<<1,o=o+u|0,X[o>>1]=Q[r+2>>1],o=u+o|0,X[o>>1]=Q[r+4>>1],o=u+o|0,X[o>>1]=Q[r+6>>1],u=u+o|0,r=r+8|0,h=h+4|0,(_|0)!=(h|0););if(o=0,w)for(;X[u>>1]=Q[r>>1],r=r+2|0,u=(e<<1)+u|0,o=o+1|0,(w|0)!=(o|0););if(A=A+1|0,(k|0)==(A|0))break}}}function zn(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;if(!r){e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560];return}i:{if(A=i[e+16>>2],!A||(n=N0(A,72776,73300),!n))break i;A=i[e+20>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),e=i[n+12>>2],n=i[n+8>>2],u=e-n|0,t=u>>3;r:{if((t|0)<=0)break r;if(e=0,(u|0)!=8)for(w=t&2147483646,t=0;k=e<<3,o=k+r|0,h=n+k|0,i[o>>2]=i[h>>2],i[o+4>>2]=i[h+4>>2],k=k|8,o=k+r|0,k=n+k|0,i[o>>2]=i[k>>2],i[o+4>>2]=i[k+4>>2],e=e+2|0,t=t+2|0,(w|0)!=(t|0););if(!(u&8))break r;e=e<<3,r=e+r|0,e=e+n|0,i[r>>2]=i[e>>2],i[r+4>>2]=i[e+4>>2]}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412];r:{if(!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break r;V[i[i[A>>2]+8>>2]](A),g(A)}return}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560]}function um(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0;t=B-16|0,B=t;i:{if(!r)break i;on(t+4|0,i[f>>2],e),f=i[t+8>>2],e=i[t+4>>2],k=f-e>>3,k=(A|0)>(k|0)?k:A;r:{if((k|0)>0){if(A=0,k>>>0>=4)for(o=k&2147483644;i[(A<<2)+r>>2]=i[i[e+(A<<3)>>2]+20>>2],n=A|1,i[(n<<2)+r>>2]=i[i[e+(n<<3)>>2]+20>>2],n=A|2,i[(n<<2)+r>>2]=i[i[e+(n<<3)>>2]+20>>2],n=A|3,i[(n<<2)+r>>2]=i[i[e+(n<<3)>>2]+20>>2],A=A+4|0,u=u+4|0,(o|0)!=(u|0););if(o=k&3,!o)break r;for(;i[(A<<2)+r>>2]=i[i[e+(A<<3)>>2]+20>>2],A=A+1|0,h=h+1|0,(o|0)!=(h|0););break r}if(!e)break i}if(A=e,(A|0)!=(f|0)){for(;;){r=i[f-4>>2];r:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(f=f-8|0,(e|0)==(f|0))break}A=i[t+4>>2]}i[t+8>>2]=e,G(A)}return B=t+16|0,k|0}function Hn(f){var e=0,r=0,A=0,k=0,n=0;if(e=i[f+428>>2],r=i[f+424>>2],(e|0)!=(r|0))for(;;){if(k=i[(A<<2)+r>>2],k){if(w4(i[k+140>>2]+548|0,i[k>>2]),e=i[k+132>>2],e){if(n=e-4|0,r=i[n>>2],r)for(r=e+m(r,18608)|0;C8(r-36|0),r=r-18608|0,(e|0)!=(r|0););G(n)}G(k),r=i[f+424>>2],e=i[f+428>>2]}if(A=A+1|0,!(A>>>0>2>>>0))break}if(e=i[f+456>>2],A=i[f+460>>2],(e|0)!=(A|0))for(r=0;k=i[(r<<2)+e>>2],k&&(V[i[i[k>>2]+4>>2]](k),A=i[f+460>>2],e=i[f+456>>2]),r=r+1|0,r>>>0>2>>>0;);if(A=i[f+468>>2],A){if(e=A,r=i[f+472>>2],(e|0)!=(r|0)){for(;r=C8(r-8|0),(A|0)!=(r|0););e=i[f+468>>2]}i[f+472>>2]=A,G(e),e=i[f+456>>2]}return e&&(i[f+460>>2]=e,G(e)),e=i[f+436>>2],e&&(i[f+440>>2]=e,G(e)),e=i[f+424>>2],e&&(i[f+428>>2]=e,G(e)),zA(f+8|0),f}function sm(){var f=0,e=0,r=0;return f=s[5779]|s[5780]<<8|(s[5781]<<16|s[5782]<<24),i[19596]=s[5775]|s[5776]<<8|(s[5777]<<16|s[5778]<<24),i[19597]=f,f=s[5793]|s[5794]<<8|(s[5795]<<16|s[5796]<<24),e=s[5789]|s[5790]<<8|(s[5791]<<16|s[5792]<<24),X[39199]=e,X[39200]=e>>>16,X[39201]=f,X[39202]=f>>>16,f=s[5787]|s[5788]<<8|(s[5789]<<16|s[5790]<<24),i[19598]=s[5783]|s[5784]<<8|(s[5785]<<16|s[5786]<<24),i[19599]=f,G2(16615)+10>>>0<=79&&(f=G2(78384)+78384|0,e=s[18964]|s[18965]<<8|(s[18966]<<16|s[18967]<<24),r=s[18960]|s[18961]<<8|(s[18962]<<16|s[18963]<<24),l[f|0]=r,l[f+1|0]=r>>>8,l[f+2|0]=r>>>16,l[f+3|0]=r>>>24,l[f+4|0]=e,l[f+5|0]=e>>>8,l[f+6|0]=e>>>16,l[f+7|0]=e>>>24,e=s[18967]|s[18968]<<8|(s[18969]<<16|s[18970]<<24),l[f+7|0]=e,l[f+8|0]=e>>>8,l[f+9|0]=e>>>16,l[f+10|0]=e>>>24,Fi(G2(78384)+78384|0,16615)),78384}function hm(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0;e=B+-64|0,B=e,k=i[r+12>>2],n=i[r+4>>2],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(k|0)!=8|n>>>0>3||(i[e+44>>2]=8,l[e+40|0]=0,l[e+58|0]=1,X[e+56>>1]=2,i[e+52>>2]=131074,i[e+32>>2]=99,i[e+36>>2]=99,i[e+48>>2]=72992,l[e+58|0]=1,X[e+56>>1]=6,i[e+52>>2]=851969,i[e+40>>2]=i[r+8>>2],t=i[r+4>>2],k=i[r>>2],i[e+32>>2]=k,i[e+36>>2]=t,n=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+55|0]=n,l[e+56|0]=n>>>8,l[e+57|0]=n>>>16,l[e+58|0]=n>>>24,i[e+52>>2]=i[r+20>>2],i[e+44>>2]=i[A+12>>2],A=i[e+44>>2],i[e+8>>2]=i[e+40>>2],i[e+12>>2]=A,i[e>>2]=k,i[e+4>>2]=t,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,r=i[r+20>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)),B=e- -64|0}function Tn(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;u=B-32|0,B=u;i:{r:{e:{if((e|0)!=(r|0)){if(w=i[23944],i[23944]=0,t=B-16|0,B=t,M2(),n=B-16|0,B=n,k=B-16|0,B=k,h3(k,e,u+28|0,2),o=i[k>>2],h=i[k+4>>2],e=n,n=i[k+12>>2],i[e+8>>2]=i[k+8>>2],i[e+12>>2]=n,i[e>>2]=o,i[e+4>>2]=h,B=k+16|0,n=i[e>>2],o=i[e+4>>2],k=t,t=i[e+12>>2],i[k+8>>2]=i[e+8>>2],i[k+12>>2]=t,i[k>>2]=n,i[k+4>>2]=o,B=e+16|0,t=i[k>>2],n=i[k+4>>2],o=i[k+12>>2],e=u,i[e+16>>2]=i[k+8>>2],i[e+20>>2]=o,i[e+8>>2]=t,i[e+12>>2]=n,B=k+16|0,k=i[e+16>>2],n=i[e+20>>2],t=i[e+8>>2],o=i[e+12>>2],h=i[23944],!h)break e;if(i[e+28>>2]!=(r|0))break r;if(_=t,v=o,Z=k,p=n,(h|0)!=68)break i;break r}i[A>>2]=4;break i}if(i[23944]=w,i[u+28>>2]==(r|0))break i}i[A>>2]=4,t=_,o=v,k=Z,n=p}i[f>>2]=t,i[f+4>>2]=o,i[f+8>>2]=k,i[f+12>>2]=n,B=u+32|0}function wm(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e,A=i[r+4>>2];i:{if(!(!s[k+12|0]|((A|0)==3|i[k+8>>2]==1))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!(!i[r>>2]&A-1>>>0<=2)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}r:switch(Q[r+24>>1]-11|0){case 0:case 3:i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i;default:break r}if(A=i[r+12>>2],(A|0)>=9){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(A|0)!=8)break i;A=V8(e+36|0),i[A>>2]=1,i[A+4>>2]=3,l[A+8|0]=s[r+8|0],i[A+12>>2]=i[r+12>>2],r=i[A+12>>2],i[e+8>>2]=i[A+8>>2],i[e+12>>2]=r,r=i[A+4>>2],i[e>>2]=i[A>>2],i[e+4>>2]=r,i[e+16>>2]=72992,r=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,i[e+20>>2]=i[A+20>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function an(){ys(67500,11841),Qs(67524,7515,1,0),u8(67536,5993,1,-128,127),u8(67560,5986,1,-128,127),u8(67548,5984,1,0,255),u8(67572,3039,2,-32768,32767),u8(67584,3030,2,0,65535),u8(67596,3054,4,-2147483648,2147483647),u8(67608,3045,4,0,-1),u8(67620,8520,4,-2147483648,2147483647),u8(67632,8511,4,0,-1),mo(67644,3548,-2147483648,2147483647),mo(67656,3547,0,-1),ek(67668,3380,4),ek(67680,10287,8),rk(73728,8551),rk(46300,16143),sA(46372,4,8525),sA(46448,2,8563),sA(46524,4,8578),Is(73828),R1(46564,0,16074),R1(46604,0,16176),R1(73936,1,16104),R1(46644,2,15639),R1(46684,3,15670),R1(46724,4,15710),R1(46764,5,15739),R1(46804,4,16213),R1(46844,5,16243),R1(46604,0,15841),R1(73936,1,15808),R1(46644,2,15907),R1(46684,3,15873),R1(46724,4,16041),R1(46764,5,16007),R1(46884,8,15974),R1(46924,9,15940),R1(46964,6,15777),R1(47004,7,16282)}function _m(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-32|0,B=A,f=i[f>>2],n=i[f+48>>2],k=i[f+52>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),i[A+28>>2]=0,i[A+20>>2]=0,i[A+24>>2]=0,I1(A,n,e,A+20|0);i:{if(i[A>>2]||(e=r-1|0,f=i[A+20>>2],e>>>0>=i[A+24>>2]-f>>3>>>0))break i;if(f=f+(e<<3)|0,e=i[f>>2],f=i[f+4>>2],!f){t=i[e+16>>2];break i}if(r=i[f+4>>2],n=r+1|0,i[f+4>>2]=n,t=i[e+16>>2],i[f+4>>2]=r,n)break i;V[i[i[f>>2]+8>>2]](f),g(f)}if(l[A+19|0]<0&&G(i[A+8>>2]),r=i[A+20>>2],r){if(f=i[A+24>>2],e=r,(f|0)!=(e|0)){for(;;){e=i[f-4>>2];i:{if(!e||(n=i[e+4>>2],i[e+4>>2]=n-1,n))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(f=f-8|0,(r|0)==(f|0))break}e=i[A+20>>2]}i[A+24>>2]=r,G(e)}i:{if(!k||(f=i[k+4>>2],i[k+4>>2]=f-1,f))break i;V[i[i[k>>2]+8>>2]](k),g(k)}return B=A+32|0,t|0}function vm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,k=A+8|0,l[78275]>=0){n=i[19567],i[k>>2]=i[19566],i[k+4>>2]=n,i[k+8>>2]=i[19568];break i}_0(k,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]);i:{if(s[e+48|0]){h4(f,e,9769);break i}if(t=e,o=D0(r),i[t+56>>2]=o,t=e,o=D0(r),i[t+60>>2]=o,s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(f,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function mm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,k=A+8|0,l[78275]>=0){n=i[19567],i[k>>2]=i[19566],i[k+4>>2]=n,i[k+8>>2]=i[19568];break i}_0(k,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]),k=s[e+48|0];i:{if(k>>>0>=2){h4(f,e,7091);break i}r:{if(!k){k=t2(r);break r}k=D0(r)}if(i[e+56>>2]=k,s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(f,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function ei(f,e,r){var A=0,k=0,n=0;A=B-32|0,B=A,i[A+28>>2]=0,i[A+20>>2]=0,i[A+24>>2]=0,I1(A,e,r,A+20|0);i:{if(i[A>>2]){i[f>>2]=0,i[f+4>>2]=0;break i}r:{if(r=i[A+20>>2],k=i[A+24>>2],(r|0)!=(k|0)){if(e=i[r>>2],e&&(n=i[f+4>>2],e=N0(e,68572,68596),e))break r;if(r=r+8|0,(k|0)!=(r|0))for(;;){if(e=i[r>>2],e&&(n=0,e=N0(e,68572,68596),e))break r;if(r=r+8|0,(k|0)==(r|0))break}i[f>>2]=0,i[f+4>>2]=0}i[f>>2]=0,i[f+4>>2]=0;break i}if(i[f+4>>2]=n,i[f>>2]=e,e=f,f=i[r+4>>2],i[e+4>>2]=f,!f)break i;i[f+4>>2]=i[f+4>>2]+1}if(l[A+19|0]<0&&G(i[A+8>>2]),f=i[A+20>>2],f){if(e=f,r=i[A+24>>2],(f|0)!=(r|0)){for(;;){e=i[r-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(r=r-8|0,(f|0)==(r|0))break}e=i[A+20>>2]}i[A+24>>2]=f,G(e)}B=A+32|0}function Sn(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;k=B-32|0,B=k;i:{if(!r){if(l[k|0]=0,l[k+11|0]=0,r=r0(k+12|0,5,2001,k),l[k+11|0]<0&&G(i[k>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}if(A=i[e>>2],t=i[A+40>>2],A=i[A+44>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),!t){if(l[k|0]=0,l[k+11|0]=0,r=r0(k+12|0,2,124,k),l[k+11|0]<0&&G(i[k>>2]),P0(f,r,i[e>>2]),l[r+19|0]<0&&G(i[r+8>>2]),!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break i;V[i[i[A>>2]+8>>2]](A),g(A);break i}n=U(16),i[n+8>>2]=0,i[n+12>>2]=0,i[r>>2]=n,i[n+4>>2]=A,i[n>>2]=t,r=i[e>>2],A=i[e+4>>2];r:{if(!A){i[n+12>>2]=A,i[n+8>>2]=r;break r}if(i[A+4>>2]=i[A+4>>2]+1,i[n+8>>2]=r,r=i[n+12>>2],i[n+12>>2]=A,!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break r;V[i[i[r>>2]+8>>2]](r),g(r)}P0(f,78256,i[e>>2])}B=k+32|0}function NA(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;i:{if(r=i[f>>2],k=(i[f+4>>2]-r|0)/12|0,t=k+1|0,t>>>0<357913942){if(A=(i[f+8>>2]-r|0)/12|0,r=A<<1,r=A>>>0>=178956970?357913941:r>>>0>t>>>0?r:t,r){if(r>>>0>=357913942)break i;o=U(m(r,12))}A=m(k,12)+o|0,i[A>>2]=i[e>>2],i[A+4>>2]=i[e+4>>2],i[A+8>>2]=i[e+8>>2],i[e+8>>2]=0,i[e>>2]=0,i[e+4>>2]=0,t=m(r,12)+o|0,u=A+12|0,e=i[f+4>>2],n=i[f>>2];r:{if((e|0)==(n|0)){r=A;break r}for(;o=A-4|0,i[o>>2]=0,r=A-12|0,k=e-12|0,i[r>>2]=i[k>>2],i[A-8>>2]=i[e-8>>2],e=e-4|0,i[o>>2]=i[e>>2],i[e>>2]=0,i[k>>2]=0,i[k+4>>2]=0,A=r,e=k,(n|0)!=(e|0););e=i[f+4>>2],n=i[f>>2]}if(i[f+8>>2]=t,i[f+4>>2]=u,i[f>>2]=r,(e|0)!=(n|0))for(;f=e-12|0,r=i[f>>2],r&&(i[e-8>>2]=r,G(r)),e=f,(n|0)!=(e|0););return n&&G(n),u}y0(),P()}_2(),P()}function Bm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,k=A+12|0,i[k+i[n-12>>2]>>2]=i[13709],n=k+i[i[A+12>>2]-12>>2]|0,t=A+16|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,n=$0(t),i[n>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,t=A+148|0,R2(t,e,r),o=k,u=t,k=l[A+159|0],t=(k|0)<0,x(o,t?i[A+148>>2]:u,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(L0(x(r,19959,11),i[e+52>>2]-i[e+48>>2]|0),31338,1),i2(f,n),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[n>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(n),T0(A+68|0),B=A+160|0}function On(f){var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;i:{r:{if(n=i[f+20>>2],e=i[f+24>>2],(n|0)!=(e|0)){if(A=e-n|0,r=A>>2,r>>>0<2)break i;if(e=1,k=r-1|0,_=k&1,r=i[i[n>>2]+96>>2],(A|0)==8){k=0;break r}for(u=k&-2,k=0,A=0;t=i[i[(e<<2)+n>>2]+96>>2],o=(t|0)<(r|0),h=e+1|0,w=i[i[(h<<2)+n>>2]+96>>2],r=o?t:r,t=(w|0)<(r|0),r=t?w:r,k=t?h:o?e:k,e=e+2|0,A=A+2|0,(u|0)!=(A|0););break r}C0(18471,14064,147,5718),P()}if(!_)break i;k=i[i[(e<<2)+n>>2]+96>>2]<(r|0)?e:k}A=i[f+52>>2],r=A+i[f+48>>2]|0,o=i[f+40>>2],e=i[f+36>>2],(r|0)==(((e|0)!=(o|0)?(o-e<<8)-1|0:0)|0)?(Gr(f+32|0),A=i[f+52>>2],r=A+i[f+48>>2]|0,u=i[f+36>>2]):u=e,e=k<<2,i[i[u+(r>>>8&16777212)>>2]+((r&1023)<<2)>>2]=i[e+n>>2],i[f+52>>2]=A+1,i[e+i[f+20>>2]>>2]=i[i[f+24>>2]-4>>2],i[f+24>>2]=i[f+24>>2]-4}function Zm(f,e){f=f|0,e=e|0;var r=0;i:{if((e|0)<12)break i;if(r=jn(f+8|0),(r&27)-1>>>0<2)return 13793;if(r=r-3|0,r>>>0>=16|!(50163>>>r&1))break i;return i[(r<<2)+74144>>2]}r=2;i:{if((e|0)<12)break i;r:{e:{if(s[f|0]!=255|s[f+1|0]!=216)break e;A:{if(s[f+2|0]!=255|s[f+3|0]!=224|(s[f+4|0]|s[f+5|0]!=16)||s[f+6|0]!=74|s[f+7|0]!=70|(s[f+8|0]!=73|s[f+9|0]!=70)||s[f+10|0])break A;if(r=1,s[f+11|0]==1)break r}if(s[f+2|0]!=255|s[f+3|0]!=225|(s[f+6|0]!=69|s[f+7|0]!=120)||s[f+8|0]!=105|s[f+9|0]!=102|(s[f+10|0]|s[f+11|0]))break e;r=1;break i}r=0}}if((r|0)==1)return 8704;i:{if(s[f|0]!=137|(e|0)<8|(s[f+1|0]!=80|s[f+2|0]!=78)||s[f+3|0]!=71|s[f+4|0]!=13|(s[f+5|0]!=10|s[f+6|0]!=26)||s[f+7|0]!=10)break i;return 8501}return 31341}function pm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0;n=B-32|0,B=n,A=i[f+28>>2],i[n+16>>2]=A,t=i[f+20>>2],i[n+28>>2]=r,i[n+24>>2]=e,e=t-A|0,i[n+20>>2]=e,t=e+r|0,u=2;i:{r:{e=n+16|0,A=uA(i[f+60>>2],e|0,2,n+12|0)|0,A?(i[23944]=A,A=-1):A=0;e:{A:{if(A){A=e;break A}for(;;){if(k=i[n+12>>2],(k|0)==(t|0))break e;if((k|0)<0){A=e;break r}if(o=i[e+4>>2],h=o>>>0>>0,A=(h<<3)+e|0,o=k-(h?o:0)|0,i[A>>2]=o+i[A>>2],e=(h?12:4)+e|0,i[e>>2]=i[e>>2]-o,t=t-k|0,e=A,u=u-h|0,k=uA(i[f+60>>2],e|0,u|0,n+12|0)|0,k?(i[23944]=k,k=-1):k=0,!!k)break}}if((t|0)!=-1)break r}e=i[f+44>>2],i[f+28>>2]=e,i[f+20>>2]=e,i[f+16>>2]=e+i[f+48>>2],f=r;break i}if(i[f+28>>2]=0,i[f+16>>2]=0,i[f+20>>2]=0,i[f>>2]=i[f>>2]|32,f=0,(u|0)==2)break i;f=r-i[A+4>>2]|0}return B=n+32|0,f|0}function I2(f){var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;e=i[f+112>>2],A=i[f+116>>2],u=(e|A)!=0,o=e,k=i[f+4>>2],n=i[f+44>>2],e=k-n|0,t=e,r=e+i[f+120>>2]|0,e=i[f+124>>2]+(e>>31)|0;i:{if(e=r>>>0>>0?e+1|0:e,!(((e|0)>=(A|0)&r>>>0>=o>>>0|(e|0)>(A|0))&u)){if(u=ve(f),(u|0)>=0)break i;k=i[f+4>>2],n=i[f+44>>2]}return i[f+112>>2]=-1,i[f+116>>2]=-1,i[f+104>>2]=k,t=r,r=n-k|0,A=t+r|0,e=(r>>31)+e|0,i[f+120>>2]=A,i[f+124>>2]=r>>>0>A>>>0?e+1|0:e,-1}A=r+1|0,e=A?e:e+1|0,o=i[f+4>>2],n=i[f+8>>2],r=i[f+116>>2],t=r,k=i[f+112>>2];i:{if(!(r|k)||(r=k-A|0,k=t-(e+(A>>>0>k>>>0)|0)|0,h=n-o|0,t=h>>31,(k|0)>=(t|0)&r>>>0>=h>>>0|(k|0)>(t|0)))break i;n=r+o|0}return i[f+104>>2]=n,r=i[f+44>>2],n=r-o|0,A=n+A|0,e=(n>>31)+e|0,i[f+120>>2]=A,i[f+124>>2]=A>>>0>>0?e+1|0:e,r>>>0>=o>>>0&&(l[o-1|0]=u),u}function Wm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,k=A+12|0,i[k+i[n-12>>2]>>2]=i[13709],n=k+i[i[A+12>>2]-12>>2]|0,t=A+16|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,n=$0(t),i[n>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,t=A+148|0,R2(t,e,r),o=k,u=t,k=l[A+159|0],t=(k|0)<0,x(o,t?i[A+148>>2]:u,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(H0(x(r,20232,10),i[e+48>>2]),31324,15),i2(f,n),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[n>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(n),T0(A+68|0),B=A+160|0}function Xm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,k=A+12|0,i[k+i[n-12>>2]>>2]=i[13709],n=k+i[i[A+12>>2]-12>>2]|0,t=A+16|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,n=$0(t),i[n>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,t=A+148|0,R2(t,e,r),o=k,u=t,k=l[A+159|0],t=(k|0)<0,x(o,t?i[A+148>>2]:u,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(L0(x(r,21276,10),Q[e+48>>1]),31338,1),i2(f,n),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[n>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(n),T0(A+68|0),B=A+160|0}function Gm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,k=A+12|0,i[k+i[n-12>>2]>>2]=i[13709],n=k+i[i[A+12>>2]-12>>2]|0,t=A+16|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,n=$0(t),i[n>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,t=A+148|0,R2(t,e,r),o=k,u=t,k=l[A+159|0],t=(k|0)<0,x(o,t?i[A+148>>2]:u,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(H0(x(r,19502,10),s[e+48|0]),31338,1),i2(f,n),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[n>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(n),T0(A+68|0),B=A+160|0}function jn(f){var e=0,r=0,A=0,k=0,n=0;e=B-16|0,B=e;i:{if(!f||(A=s[f|0],!A)||(k=s[f+1|0],!k)||(n=s[f+2|0],!n)||(f=s[f+3|0],!f))break i;if(l[e+15|0]=0,l[e+14|0]=f,l[e+13|0]=n,l[e+12|0]=k,l[e+11|0]=A,!K2(e+11|0,13799,5)){r=1;break i}if(!K2(e+11|0,2453,5)){r=2;break i}if(!K2(e+11|0,13659,5)){r=3;break i}if(!K2(e+11|0,1504,5)){r=4;break i}if(r=5,f=e+11|0,!K2(f,7112,5))break i;if(!K2(f,4072,5)){r=6;break i}if(!K2(e+11|0,7086,5)){r=7;break i}if(!K2(e+11|0,3556,5)){r=8;break i}if(!K2(e+11|0,16939,5)){r=9;break i}if(!K2(e+11|0,16934,5)){r=10;break i}if(!K2(e+11|0,8791,5)){r=11;break i}if(!K2(e+11|0,4067,5)){r=12;break i}if(!K2(e+11|0,13788,5)){r=13;break i}if(!K2(e+11|0,8179,5)){r=17;break i}r=K2(e+11|0,4083,5)?0:18}return B=e+16|0,r}function Cm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,k=A+12|0,i[k+i[n-12>>2]>>2]=i[13709],n=k+i[i[A+12>>2]-12>>2]|0,t=A+16|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,n=$0(t),i[n>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,t=A+148|0,R2(t,e,r),o=k,u=t,k=l[A+159|0],t=(k|0)<0,x(o,t?i[A+148>>2]:u,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(L0(x(r,21529,9),i[e+56>>2]),31338,1),i2(f,n),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[n>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(n),T0(A+68|0),B=A+160|0}function Vm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,k=A+12|0,i[k+i[n-12>>2]>>2]=i[13709],n=k+i[i[A+12>>2]-12>>2]|0,t=A+16|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,n=$0(t),i[n>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,t=A+148|0,R2(t,e,r),o=k,u=t,k=l[A+159|0],t=(k|0)<0,x(o,t?i[A+148>>2]:u,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(H0(x(r,20376,16),s[e+56|0]),31338,1),i2(f,n),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[n>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(n),T0(A+68|0),B=A+160|0}function Im(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;if(n=B-32|0,B=n,t=V[i[i[e>>2]+32>>2]](e,r,0)|0,A=i[e+56>>2],o=i[e+60>>2],(A|0)!=(o|0))for(k=s[e+48|0],u=k?4:2,w=k?2:1;;){if(l2(r,((i[A+48>>2]-i[A+44>>2]>>2)+1<>2]),k1(r,u,i[A+40>>2],0),w2(r,i[A+48>>2]-i[A+44>>2]>>>2&65535),k=i[A+44>>2],h=i[A+48>>2],(k|0)!=(h|0))for(;k1(r,u,i[k>>2],0),k=k+4|0,(h|0)!=(k|0););if(A=A+56|0,(o|0)==(A|0))break}i[r+12>>2]=t,V[i[i[e>>2]+36>>2]](n+12|0,e,r,i[r+4>>2]-(i[r>>2]+t|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[n+31|0]<0&&G(i[n+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=n+32|0}function Gi(f,e,r,A,k,n,t,o,u,h){var w=0,_=0,v=0;w=B-16|0,B=w,l[w+15|0]=f;i:{r:{e:{if(_=i[A>>2],(_|0)!=(r|0))break e;if(v=f&255,(v|0)==s[h+24|0])f=43;else{if(s[h+25|0]!=(v|0))break e;f=45}i[A>>2]=_+1,l[_|0]=f;break r}if(s[t+11|0]>>>7|0?t=i[t+4>>2]:t=s[t+11|0]&127,!(!t|(f|0)!=(n|0))){if(f=0,e=i[u>>2],(e-o|0)>159)break i;f=i[k>>2],i[u>>2]=e+4,i[e>>2]=f;break r}if(f=-1,n=T3(h,h+26|0,w+15|0)-h|0,(n|0)>23)break i;e:{A:switch(e-8|0){case 0:case 2:if((e|0)>(n|0))break e;break i;case 1:break e;default:break A}if((e|0)!=16|(n|0)<22)break e;if(e=i[A>>2],(e|0)==(r|0)|(e-r|0)>2|s[e-1|0]!=48)break i;f=0,i[k>>2]=0,i[A>>2]=e+1,l[e|0]=s[n+60064|0];break i}f=i[A>>2],i[A>>2]=f+1,l[f|0]=s[n+60064|0],i[k>>2]=i[k>>2]+1,f=0;break i}f=0,i[k>>2]=0}return B=w+16|0,f}function RA(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;i:{r:{if(n=i[e+108>>2],o=e+112|0,(n|0)!=(o|0))for(;;){u=i[i[n+20>>2]+56>>2];e:{if(A>>>0>>0){i[A>>2]=u,r=A+4|0;break e}if(r=A-t>>2,e=r+1|0,e>>>0>=1073741824)break r;if(h=r<<2,r=k-t|0,k=r>>1,r=r>>>0>=2147483644?1073741823:e>>>0>>0?k:e,r){if(r>>>0>=1073741824)break i;k=U(r<<2)}else k=0;if(e=h+k|0,i[e>>2]=u,k=k+(r<<2)|0,r=e+4|0,(A|0)!=(t|0))for(;e=e-4|0,A=A-4|0,i[e>>2]=i[A>>2],(A|0)!=(t|0););i[f+8>>2]=k,i[f+4>>2]=r,i[f>>2]=e,t&&G(t),t=e}A=r,i[f+4>>2]=A,r=i[n+4>>2];e:{if(r){for(;;)if(e=r,r=i[e>>2],!r)break e}for(;e=i[n+8>>2],r=i[e>>2]!=(n|0),n=e,!!r;);}if(n=e,(e|0)==(o|0))break}return}y0(),P()}_2(),P()}function Pn(f,e){var r=0,A=0,k=0,n=0,t=0;k=B-16|0,B=k,t=i[23985],i[e+72>>2]<=0&&z3(e),i[23985]=i[e+136>>2];i:{r:{e:{if(f>>>0<=127){A:{if(i[e+80>>2]==(f|0)||(r=i[e+20>>2],(r|0)==i[e+16>>2]))break A;i[e+20>>2]=r+1,l[r|0]=f;break i}A=B-16|0,B=A,l[A+15|0]=f,r=i[e+16>>2];A:{if(!r){if(G3(e)){r=-1;break A}r=i[e+16>>2]}f:{if(n=i[e+20>>2],(r|0)==(n|0)||(r=f&255,(r|0)==i[e+80>>2]))break f;i[e+20>>2]=n+1,l[n|0]=f;break A}if((V[i[e+36>>2]](e,A+15|0,1)|0)!=1){r=-1;break A}r=s[A+15|0]}B=A+16|0,f=r;break e}if(r=i[e+20>>2],k0[e+16>>2]>r+4>>>0){if(r=ye(r,f),(r|0)<0)break r;i[e+20>>2]=r+i[e+20>>2];break e}if(A=k+12|0,r=ye(A,f),(r|0)<0||ee(A,r,e)>>>0>>0)break r}if((f|0)!=-1)break i}i[e>>2]=i[e>>2]|32,f=-1}return i[23985]=t,B=k+16|0,f}function Q2(f,e){var r=0,A=0,k=0,n=0,t=0,o=0;i:{if(A=i[f+4>>2],n=i[f>>2],o=A-n>>3,k=o+1|0,k>>>0<536870912){if(r=i[f+8>>2]-n|0,t=r>>2,r=r>>>0>=2147483640?536870911:k>>>0>>0?t:k,r){if(r>>>0>=536870912)break i;t=U(r<<3)}else t=0;k=t+(o<<3)|0,i[k>>2]=i[e>>2],e=i[e+4>>2],i[k+4>>2]=e,o=t+(r<<3)|0,t=k+8|0,e&&(i[e+4>>2]=i[e+4>>2]+1,n=i[f>>2],A=i[f+4>>2]);r:{if((A|0)==(n|0)){e=k;break r}for(;e=k-8|0,r=A-8|0,i[e>>2]=i[r>>2],i[k-4>>2]=i[A-4>>2],i[r>>2]=0,i[r+4>>2]=0,k=e,A=r,(r|0)!=(n|0););A=i[f+4>>2],n=i[f>>2]}if(i[f+8>>2]=o,i[f+4>>2]=t,i[f>>2]=e,(A|0)!=(n|0))for(;;){f=i[A-4>>2];r:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(A=A-8|0,(n|0)==(A|0))break}return n&&G(n),t}y0(),P()}_2(),P()}function Ci(f,e,r,A,k,n,t,o,u,h){var w=0,_=0;w=B-16|0,B=w,i[w+12>>2]=f;i:{r:{e:{if(_=i[A>>2],(_|0)!=(r|0))break e;if(i[h+96>>2]==(f|0))f=43;else{if(i[h+100>>2]!=(f|0))break e;f=45}i[A>>2]=_+1,l[_|0]=f;break r}if(s[t+11|0]>>>7|0?t=i[t+4>>2]:t=s[t+11|0]&127,!(!t|(f|0)!=(n|0))){if(f=0,e=i[u>>2],(e-o|0)>159)break i;f=i[k>>2],i[u>>2]=e+4,i[e>>2]=f;break r}if(f=-1,n=H3(h,h+104|0,w+12|0)-h>>2,(n|0)>23)break i;e:{A:switch(e-8|0){case 0:case 2:if((e|0)>(n|0))break e;break i;case 1:break e;default:break A}if((e|0)!=16|(n|0)<22)break e;if(e=i[A>>2],(e|0)==(r|0)|(e-r|0)>2|s[e-1|0]!=48)break i;f=0,i[k>>2]=0,i[A>>2]=e+1,l[e|0]=s[n+60064|0];break i}f=i[A>>2],i[A>>2]=f+1,l[f|0]=s[n+60064|0],i[k>>2]=i[k>>2]+1,f=0;break i}f=0,i[k>>2]=0}return B=w+16|0,f}function A2(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;i:{if(r=i[f+12>>2],o=i[f+4>>2],n=i[f>>2],u=o-n|0,(r|0)==(u|0)){k=i[f+8>>2];r:{if(k>>>0>o>>>0){l[o|0]=e,h=o+1|0;break r}if(t=r+1|0,(t|0)<0)break i;A=k-n|0,k=A<<1,t=A>>>0>=1073741823?2147483647:k>>>0>t>>>0?k:t,t?k=U(t):k=0,A=r+k|0,l[A|0]=e,t=k+t|0,h=A+1|0;e:{if((n|0)==(o|0)){k=A;break e}u=u&3;A:{if(!u){r=o;break A}for(e=0,r=o;A=A-1|0,r=r-1|0,l[A|0]=s[r|0],e=e+1|0,(u|0)!=(e|0););}if(n-o>>>0<=4294967292)for(;l[A-1|0]=s[r-1|0],l[A-2|0]=s[r-2|0],l[A-3|0]=s[r-3|0],A=A-4|0,r=r-4|0,l[A|0]=s[r|0],(r|0)!=(n|0););n=i[f>>2]}if(i[f+8>>2]=t,i[f+4>>2]=h,i[f>>2]=k,!n)break r;G(n)}i[f+4>>2]=h,i[f+12>>2]=i[f+12>>2]+1;return}i[f+12>>2]=r+1,l[r+n|0]=e;return}y0(),P()}function Qm(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e,A=i[r+4>>2];i:{if(!(!s[k+12|0]|((A|0)==3|i[k+8>>2]==1))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}r:{if(!(i[r>>2]|(A|0)!=1|i[r+12>>2]!=8)&&s[r+8|0]!=1)break r;i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=Q[r+24>>1],!(A>>>0>14|!(1<>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(r=s[r+26|0],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(r|0)!=1)break i;r=V8(e+36|0),i[r+12>>2]=8,i[r>>2]=1,i[r+4>>2]=10,l[r+8|0]=0,A=i[r+12>>2],i[e+8>>2]=i[r+8>>2],i[e+12>>2]=A,A=i[r+4>>2],i[e>>2]=i[r>>2],i[e+4>>2]=A,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,i[e+20>>2]=i[r+20>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function Ln(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;if(r=i[f+48>>2],n=i[f+52>>2],A=n,t=r-A|0,k=A>>31,r=(r>>31)-(k+(r>>>0>>0)|0)|0,u=r,(r-(t>>>0<2147483648)|0)!=-1){for(;n=k>>31,r=A+(n|1)|0,k=n+k|0,A=o2(r,r>>>0>>0?k+1|0:k,2,0),k=w0,n=u>>31,r=t+(n|1)|0,n=n+u|0,t=o2(r,r>>>0>>0?n+1|0:n,2,0),r=w0,u=r,(r-(t>>>0<2147483648)|0)!=-1;);n=A,k=A>>31}if(r=A,o=k,f=Ir(f,e),f=q0(r,k,f,f>>31),k=u+w0|0,A=f+t|0,k=A>>>0>>0?k+1|0:k,(k-(A>>>0<2147483648)|0)!=-1){for(;f=o>>31,e=r+(f|1)|0,f=f+o|0,r=o2(e,e>>>0>>0?f+1|0:f,2,0),o=w0,f=k>>31,n=f,f=A+(f|1)|0,n=n+k|0,A=o2(f,f>>>0>>0?n+1|0:n,2,0),f=w0,k=f,(f-(A>>>0<2147483648)|0)!=-1;);n=r,o=r>>31}return e=A,f=(n|0)/2|0,A=f,e=e+f|0,f=(f>>31)+k|0,o2(e,e>>>0>>0?f+1|0:f,r,o)}function Kn(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;if(r=i[f+56>>2],n=i[f+60>>2],A=n,t=r-A|0,k=A>>31,r=(r>>31)-(k+(r>>>0>>0)|0)|0,u=r,(r-(t>>>0<2147483648)|0)!=-1){for(;n=k>>31,r=A+(n|1)|0,k=n+k|0,A=o2(r,r>>>0>>0?k+1|0:k,2,0),k=w0,n=u>>31,r=t+(n|1)|0,n=n+u|0,t=o2(r,r>>>0>>0?n+1|0:n,2,0),r=w0,u=r,(r-(t>>>0<2147483648)|0)!=-1;);n=A,k=A>>31}if(r=A,o=k,f=Vr(f,e),f=q0(r,k,f,f>>31),k=u+w0|0,A=f+t|0,k=A>>>0>>0?k+1|0:k,(k-(A>>>0<2147483648)|0)!=-1){for(;f=o>>31,e=r+(f|1)|0,f=f+o|0,r=o2(e,e>>>0>>0?f+1|0:f,2,0),o=w0,f=k>>31,n=f,f=A+(f|1)|0,n=n+k|0,A=o2(f,f>>>0>>0?n+1|0:n,2,0),f=w0,k=f,(f-(A>>>0<2147483648)|0)!=-1;);n=r,o=r>>31}return e=A,f=(n|0)/2|0,A=f,e=e+f|0,f=(f>>31)+k|0,o2(e,e>>>0>>0?f+1|0:f,r,o)}function ym(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;if(k=B-32|0,B=k,t=V[i[i[e>>2]+32>>2]](e,r,0)|0,A2(r,s[e+48|0]),A2(r,s[e+49|0]),A2(r,s[e+50|0]),A2(r,s[e+51|0]),A2(r,(s[e+52|0]-1|252)&255),A2(r,((i[e+60>>2]-i[e+56>>2]|0)/12|224)&255),A=i[e+56>>2],n=i[e+60>>2],(A|0)!=(n|0))for(;w2(r,i[A+4>>2]-i[A>>2]&65535),D4(r,A),A=A+12|0,(n|0)!=(A|0););if(A2(r,(i[e+72>>2]-i[e+68>>2]|0)/12&255),A=i[e+68>>2],n=i[e+72>>2],(A|0)!=(n|0))for(;w2(r,i[A+4>>2]-i[A>>2]&65535),D4(r,A),A=A+12|0,(n|0)!=(A|0););Y4(k+12|0,e,r,t),l[k+31|0]<0&&G(i[k+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+32|0}function DA(f,e){var r=0,A=0,k=0,n=0,t=0,o=0;o=e+31|0,n=i[f+12>>2]<<7,A=Q[f+20>>1],r=i[f+16>>2];i:{for(;;){A=A+1|0,X[f+20>>1]=A,r=r<<1,i[f+16>>2]=r,A=A<<16>>16;r:{if((A|0)<0||(A=65528,X[f+20>>1]=65528,k=i[f+4>>2],k>>>0>=k0[f+8>>2]))break r;i[f+4>>2]=k+1,r=s[k|0]|r,i[f+16>>2]=r}if(r>>>0>>0)break i;if(r=r-n|0,i[f+16>>2]=r,t=(1<>1]=A,r=r<>2]=r,A=A<<16>>16;i:{if((A|0)<0||(k=i[f+4>>2],k>>>0>=k0[f+8>>2]))break i;i[f+4>>2]=k+1,k=s[k|0],X[f+20>>1]=A-8,r=k<>>0)/(n>>>0)|0,e=1<=(e|0)&&(A=e-1|0),i[f+16>>2]=r-m(A,n),A+t|0}for(r=e-8|0,e=_9(f);e=x1(f)|e<<1,r=r-1|0,!!r;);return e+t|0}function Fm(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;k=B-16|0,B=k;i:{if((e|0)!=-1){if(o=i[f+12>>2],u=i[f+8>>2],n=i[f+24>>2],(n|0)==i[f+28>>2]){if(r=-1,!(s[f+48|0]&16))break i;t=i[f+20>>2],h=i[f+44>>2],A=f+32|0,C6(A,0),h2(A,s[A+11|0]>>>7|0?(i[A+8>>2]&2147483647)-1|0:10),s[A+11|0]>>>7|0?r=i[A>>2]:r=A,s[A+11|0]>>>7|0?A=i[A+4>>2]:A=s[A+11|0]&127,i[f+28>>2]=A+r,i[f+20>>2]=r,i[f+24>>2]=r,i[f+24>>2]=i[f+24>>2]+(n-t|0),i[f+44>>2]=i[f+20>>2]+(h-t|0)}i[k+12>>2]=i[f+24>>2]+1,r=B-16|0,B=r,B=r+16|0,A=f+44|0,r=k+12|0,i[f+44>>2]=i[(k0[r>>2]>2]?A:r)>>2],s[f+48|0]&8&&(r=f+32|0,s[r+11|0]>>>7|0&&(r=i[r>>2]),i[f+16>>2]=i[f+44>>2],i[f+12>>2]=r+(o-u|0),i[f+8>>2]=r),r=lt(f,e<<24>>24);break i}r=(e|0)!=-1?e:0}return B=k+16|0,r|0}function Em(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;k=B-16|0,B=k,i[k+12>>2]=r,i[f+16>>2]=0,i[f+12>>2]=0,i[f+8>>2]=0,i[f+28>>2]=0,i[f+20>>2]=0,i[f+24>>2]=0;i:{if(s[f+96|0]!=1||(A=i[f+32>>2],!A))break i;G(A)}i:{if(s[f+97|0]!=1||(A=i[f+56>>2],!A))break i;G(A)}i[f+52>>2]=r;i:{r:{e:{A:{if(r>>>0>=9){if(A=s[f+98|0],!e||(n=A&1,!n))break A;if(l[f+96|0]=0,i[f+32>>2]=e,!n)break r;break e}if(l[f+96|0]=0,i[f+52>>2]=8,i[f+32>>2]=f+44,l[f+98|0]&1)break e;break r}if(r=U(r),l[f+96|0]=1,i[f+32>>2]=r,!(A&1))break r}e=0,i[f+60>>2]=0,r=0;break i}if(i[k+8>>2]=8,r=B-16|0,B=r,B=r+16|0,r=k+8|0,A=k+12|0,A=i[(i[A>>2]>2]?r:A)>>2],i[f+60>>2]=A,e&&(r=0,A>>>0>8))break i;e=U(A),r=1}return l[f+97|0]=r,i[f+56>>2]=e,B=k+16|0,f|0}function Ym(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e,A=i[r+4>>2];i:{if(!(!s[k+12|0]|((A|0)==3|i[k+8>>2]==1))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!(!i[r>>2]&A-1>>>0<=2)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}r:switch(Q[r+24>>1]-11|0){case 0:case 3:i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i;default:break r}if(A=i[r+12>>2],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(A|0)<9)break i;A=V8(e+36|0),i[A>>2]=1,i[A+4>>2]=3,l[A+8|0]=s[r+8|0],i[A+12>>2]=i[r+12>>2],r=i[A+12>>2],i[e+8>>2]=i[A+8>>2],i[e+12>>2]=r,r=i[A+4>>2],i[e>>2]=i[A>>2],i[e+4>>2]=r,i[e+16>>2]=72992,r=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,i[e+20>>2]=i[A+20>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function h4(f,e,r){var A=0,k=0,n=0,t=0,o=0;A=B-160|0,B=A,i[A+24>>2]=54496,i[A+80>>2]=54516,k=i[13633],i[A+16>>2]=k,n=A+16|0,i[n+i[k-12>>2]>>2]=i[13634],i[A+20>>2]=0,k=i[i[A+16>>2]-12>>2]+n|0,t=A+28|0,b0(k,t),i[k+72>>2]=0,i[k+76>>2]=-1,k=i[13635],i[A+24>>2]=k,o=A+24|0,i[o+i[k-12>>2]>>2]=i[13636],k=i[13632],i[A+16>>2]=k,i[i[k-12>>2]+n>>2]=i[13637],i[A+80>>2]=54516,i[A+16>>2]=54476,i[A+24>>2]=54496,n=$0(t),i[n>>2]=53552,i[A+68>>2]=0,i[A+72>>2]=0,i[A+60>>2]=0,i[A+64>>2]=0,i[A+76>>2]=24,x(H0(x(x(o,r,G2(r)),18913,18),s[e+48|0]),3320,23),e=A+4|0,i2(e,n),r0(f,4,3002,e),l[A+15|0]<0&&G(i[A+4>>2]),f=i[13631],i[A+16>>2]=f,i[i[f-12>>2]+(A+16|0)>>2]=i[13639],i[A+24>>2]=i[13640],i[n>>2]=53552,l[A+71|0]<0&&G(i[A+60>>2]),K0(n),T0(A+80|0),B=A+160|0}function UA(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0;o=B-32|0,B=o,t=U(132),i[t+4>>2]=0,i[t+8>>2]=0,i[t>>2]=72576,h=e,w=Ge(t+12|0),i[h+48>>2]=w,n=i[e+52>>2],i[e+52>>2]=t;i:{if(!n||(t=i[n+4>>2],i[n+4>>2]=t-1,t))break i;V[i[i[n>>2]+8>>2]](n),g(n)}u=i[e+48>>2],t=B-16|0,B=t,n=U(48),i[n+4>>2]=0,i[n+8>>2]=0,i[n>>2]=72912,r=W3(n+16|0,r,A,k),i[t+12>>2]=n,i[t+8>>2]=r,i[n+4>>2]=i[n+4>>2]+1,_A(o+8|0,u,t+8|0),r=i[n+4>>2],i[n+4>>2]=r-1,r||(V[i[i[n>>2]+8>>2]](n),g(n)),r=i[n+4>>2],i[n+4>>2]=r-1,r||(V[i[i[n>>2]+8>>2]](n),g(n)),B=t+16|0;i:{if(i[o+8>>2]){e=i[o+12>>2],i[f>>2]=i[o+8>>2],i[f+4>>2]=e,e=i[o+20>>2],i[f+8>>2]=i[o+16>>2],i[f+12>>2]=e,i[f+16>>2]=i[o+24>>2];break i}if(hA(f,e),l[o+27|0]>=0)break i;G(i[o+16>>2])}B=o+32|0}function z2(f,e){var r=0,A=0,k=0,n=0,t=0,o=0;i:{if(n=i[f+4>>2],t=i[f>>2],o=n-t>>3,r=o+1|0,r>>>0<536870912){if(A=i[f+8>>2]-t|0,k=A>>2,A=A>>>0>=2147483640?536870911:r>>>0>>0?k:r,A){if(A>>>0>=536870912)break i;k=U(A<<3)}else k=0;r=k+(o<<3)|0,i[r>>2]=i[e>>2],i[r+4>>2]=i[e+4>>2],i[e>>2]=0,i[e+4>>2]=0,o=k+(A<<3)|0,k=r+8|0;r:{if((n|0)==(t|0)){e=r;break r}for(;e=r-8|0,A=n-8|0,i[e>>2]=i[A>>2],i[r-4>>2]=i[n-4>>2],i[A>>2]=0,i[A+4>>2]=0,r=e,n=A,(A|0)!=(t|0););}if(i[f+8>>2]=o,r=i[f>>2],i[f>>2]=e,e=i[f+4>>2],i[f+4>>2]=k,(e|0)!=(r|0))for(;;){f=i[e-4>>2];r:{if(!f||(n=i[f+4>>2],i[f+4>>2]=n-1,n))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(e=e-8|0,(r|0)==(e|0))break}return r&&G(r),k}y0(),P()}_2(),P()}function Jm(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0;if(!A){i[f>>2]=5,i[f+4>>2]=2001,i[f+8>>2]=3104;return}i:{if(n=i[e>>2],k=i[n+72>>2],t=i[n+76>>2],(k|0)!=(t|0))for(;;){if(n=i[k>>2],i[n>>2]==(r|0)){if(r=i[k+4>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),k=U(16),i[k+8>>2]=0,i[k+12>>2]=0,t=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[k+4>>2]=e,i[k>>2]=t,r)break i;i[k+12>>2]=r,i[k+8>>2]=n,i[A>>2]=k,i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e;return}if(k=k+8|0,(t|0)==(k|0))break}i[f>>2]=5,i[f+4>>2]=2e3,i[f+8>>2]=2878;return}i[r+4>>2]=i[r+4>>2]+1,i[k+12>>2]=r,i[k+8>>2]=n,i[A>>2]=k,i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,f=i[r+4>>2],i[r+4>>2]=f-1,f||(V[i[i[r>>2]+8>>2]](r),g(r))}function Vi(f,e,r,A){var k=0,n=0,t=0;t=B-16|0,B=t,k=U(80),i[k+4>>2]=0,i[k+8>>2]=0,i[k>>2]=70984,n=k+16|0,i[n+8>>2]=0,i[n+12>>2]=0,i[n+16>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,i[n+28>>2]=0,i[n+32>>2]=0,i[n>>2]=68500,i[k+52>>2]=0,i[k+56>>2]=0,i[k+68>>2]=0,l[k+57|0]=0,l[k+58|0]=0,l[k+59|0]=0,l[k+60|0]=0,l[k+61|0]=0,l[k+62|0]=0,l[k+63|0]=0,l[k+64|0]=0,i[n>>2]=69264,i[k+76>>2]=A,i[k+72>>2]=r,i[k+32>>2]=1769173093,r=i[f+44>>2],i[t+12>>2]=k,i[t+8>>2]=n,i[k+4>>2]=i[k+4>>2]+1,A=N4(r,t+8|0),r=i[t+12>>2];i:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break i;V[i[i[r>>2]+8>>2]](r),g(r)}f=i[f+52>>2],X[t+6>>1]=A+1,l[t+4|0]=0,i[t>>2]=Q[t+4>>1]|Q[t+6>>1]<<16,c1(f,e,t),f=i[k+4>>2],i[k+4>>2]=f-1,f||(V[i[i[k>>2]+8>>2]](k),g(k)),B=t+16|0}function qn(f,e,r,A){i:switch(e-9|0){case 0:e=i[r>>2],i[r>>2]=e+4,i[f>>2]=i[e>>2];return;case 6:e=i[r>>2],i[r>>2]=e+4,e=X[e>>1],i[f>>2]=e,i[f+4>>2]=e>>31;return;case 7:e=i[r>>2],i[r>>2]=e+4,i[f>>2]=Q[e>>1],i[f+4>>2]=0;return;case 8:e=i[r>>2],i[r>>2]=e+4,e=l[e|0],i[f>>2]=e,i[f+4>>2]=e>>31;return;case 9:e=i[r>>2],i[r>>2]=e+4,i[f>>2]=s[e|0],i[f+4>>2]=0;return;case 16:e=i[r>>2]+7&-8,i[r>>2]=e+8,i0[f>>3]=i0[e>>3];return;case 17:V[A|0](f,r);default:return;case 1:case 4:case 14:e=i[r>>2],i[r>>2]=e+4,e=i[e>>2],i[f>>2]=e,i[f+4>>2]=e>>31;return;case 2:case 5:case 11:case 15:e=i[r>>2],i[r>>2]=e+4,i[f>>2]=i[e>>2],i[f+4>>2]=0;return;case 3:case 10:case 12:case 13:break i}e=i[r>>2]+7&-8,i[r>>2]=e+8,r=i[e+4>>2],i[f>>2]=i[e>>2],i[f+4>>2]=r}function gm(f){f=f|0;var e=0,r=0,A=0;if(r=f+12|0,f=i[r+60>>2],A=r- -64|0,(f|0)!=(A|0))for(;;){e=i[f+44>>2],e&&G(e),e=i[f+4>>2];i:{if(e){for(;;)if(f=e,e=i[f>>2],!e)break i}for(;e=f,f=i[f+8>>2],(e|0)!=i[f>>2];);}if((f|0)==(A|0))break}if(e=i[r+112>>2],e){if(A=e,f=i[r+116>>2],(e|0)!=(f|0)){for(;l[f-1|0]<0&&G(i[f-12>>2]),f=f-20|0,(e|0)!=(f|0););A=i[r+112>>2]}i[r+116>>2]=e,G(A)}q3(r+60|0,i[r+64>>2]),f=i[r+56>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[r+48>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}l[r+19|0]<0&&G(i[r+8>>2]),f=i[r+4>>2],f&&g(f)}function $n(f,e,r,A,k,n){var t=0;t=B-80|0,B=t;i:{if((n|0)>=16384){if(d2(t+32|0,e,r,A,k,0,0,0,2147352576),A=i[t+40>>2],k=i[t+44>>2],e=i[t+32>>2],r=i[t+36>>2],n>>>0<32767){n=n-16383|0;break i}d2(t+16|0,e,r,A,k,0,0,0,2147352576),n=(n>>>0>=49149?49149:n)-32766|0,A=i[t+24>>2],k=i[t+28>>2],e=i[t+16>>2],r=i[t+20>>2];break i}if((n|0)>-16383)break i;if(d2(t- -64|0,e,r,A,k,0,0,0,7471104),A=i[t+72>>2],k=i[t+76>>2],e=i[t+64>>2],r=i[t+68>>2],n>>>0>4294934644){n=n+16269|0;break i}d2(t+48|0,e,r,A,k,0,0,0,7471104),n=(n>>>0<=4294918376?-48920:n)+32538|0,A=i[t+56>>2],k=i[t+60>>2],e=i[t+48>>2],r=i[t+52>>2]}d2(t,e,r,A,k,0,0,0,n+16383<<16),e=i[t+12>>2],i[f+8>>2]=i[t+8>>2],i[f+12>>2]=e,e=i[t+4>>2],i[f>>2]=i[t>>2],i[f+4>>2]=e,B=t+80|0}function f2(f,e){var r=0,A=0,k=0,n=0;A=i[f+12>>2],r=s[((s[e|0]<<1&508)+(A>>>6|0)|0)+43084|0],A=A-r|0,i[f+12>>2]=A,k=i[f+16>>2],A=A<<7;i:{if(k>>>0>>0){if(k=e,r=s[e|0],e=r&1,l[k|0]=e|s[(r>>>1|0)+43344|0]<<1,A>>>0>32767||(i[f+12>>2]=A>>>6,A=i[f+16>>2]<<1,i[f+16>>2]=A,r=Q[f+20>>1]+1|0,X[f+20>>1]=r,(r|0)==(r&65535))||(X[f+20>>1]=65528,r=i[f+4>>2],r>>>0>=k0[f+8>>2]))break i;return i[f+4>>2]=r+1,i[f+16>>2]=A|s[r|0],e}if(n=s[(r>>>3|0)+43408|0],i[f+12>>2]=r<>2]=k-A<>>1|0)+43440|0]<<1|(A>>>0<2?e:k),r=n+Q[f+20>>1]|0,X[f+20>>1]=r,r=r<<16>>16,(r|0)<0)break i;A=i[f+4>>2],A>>>0>2]&&(i[f+4>>2]=A+1,i[f+16>>2]=i[f+16>>2]|s[A|0]<>1]=r-8}return e}function Nm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+80>>2]=54820,k=i[13708],i[A+24>>2]=k,n=A+24|0,i[n+i[k-12>>2]>>2]=i[13709],k=n+i[i[A+24>>2]-12>>2]|0,t=A+28|0,b0(k,t),i[k+72>>2]=0,i[k+76>>2]=-1,i[A+80>>2]=54820,i[A+24>>2]=54800,k=$0(t),i[k>>2]=53552,i[A+68>>2]=0,i[A+72>>2]=0,i[A+60>>2]=0,i[A+64>>2]=0,i[A+76>>2]=16,t=A+12|0,R2(t,e,r),o=n,u=t,n=l[A+23|0],t=(n|0)<0,x(o,t?i[A+12>>2]:u,t?i[A+16>>2]:n),l[A+23|0]<0&&G(i[A+12>>2]),n=A+12|0,rn(n,e,r,1),e=l[A+23|0],r=(e|0)<0,x(A+24|0,r?i[A+12>>2]:n,r?i[A+16>>2]:e),l[A+23|0]<0&&G(i[A+12>>2]),i2(f,k),f=i[13707],i[A+24>>2]=f,i[i[f-12>>2]+(A+24|0)>>2]=i[13710],i[k>>2]=53552,l[A+71|0]<0&&G(i[A+60>>2]),K0(k),T0(A+80|0),B=A+160|0}function Ai(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+80>>2]=54820,k=i[13708],i[A+24>>2]=k,n=A+24|0,i[n+i[k-12>>2]>>2]=i[13709],k=n+i[i[A+24>>2]-12>>2]|0,t=A+28|0,b0(k,t),i[k+72>>2]=0,i[k+76>>2]=-1,i[A+80>>2]=54820,i[A+24>>2]=54800,k=$0(t),i[k>>2]=53552,i[A+68>>2]=0,i[A+72>>2]=0,i[A+60>>2]=0,i[A+64>>2]=0,i[A+76>>2]=16,t=A+12|0,R2(t,e,r),o=n,u=t,n=l[A+23|0],t=(n|0)<0,x(o,t?i[A+12>>2]:u,t?i[A+16>>2]:n),l[A+23|0]<0&&G(i[A+12>>2]),n=A+12|0,rn(n,e,r,0),e=l[A+23|0],r=(e|0)<0,x(A+24|0,r?i[A+12>>2]:n,r?i[A+16>>2]:e),l[A+23|0]<0&&G(i[A+12>>2]),i2(f,k),f=i[13707],i[A+24>>2]=f,i[i[f-12>>2]+(A+24|0)>>2]=i[13710],i[k>>2]=53552,l[A+71|0]<0&&G(i[A+60>>2]),K0(k),T0(A+80|0),B=A+160|0}function F2(f,e,r){var A=0,k=0;i:{if((f|0)==(e|0))break i;if(k=f+r|0,e-k>>>0<=0-(r<<1)>>>0){l0(f,e,r);return}A=(f^e)&3;r:{e:{if(f>>>0>>0){if(A)break r;if(!(f&3))break e;for(;;){if(!r)break i;if(l[f|0]=s[e|0],e=e+1|0,r=r-1|0,f=f+1|0,!(f&3))break}break e}A:{if(A)break A;if(k&3)for(;;){if(!r)break i;if(r=r-1|0,A=r+f|0,l[A|0]=s[e+r|0],!(A&3))break}if(r>>>0<=3)break A;for(;r=r-4|0,i[r+f>>2]=i[e+r>>2],r>>>0>3;);}if(!r)break i;for(;r=r-1|0,l[r+f|0]=s[e+r|0],!!r;);break i}if(r>>>0<=3)break r;for(;i[f>>2]=i[e>>2],e=e+4|0,f=f+4|0,r=r-4|0,r>>>0>3;);}if(!r)break i;for(;l[f|0]=s[e|0],f=f+1|0,e=e+1|0,r=r-1|0,!!r;);}}function M2(){var f=0,e=0,r=0,A=0,k=0,n=0;if(s[100004])return i[25e3];r=B-32|0,B=r;i:{r:{for(;;){if(e=r+8|0,A=cn(f,1<>2]=A,(A|0)==-1)break r;if(f=f+1|0,(f|0)==6)break}if(f=55448,!K2(e,55448,24)||(f=55472,!K2(e,55472,24)))break i;if(f=0,!s[99656]){for(;k=(f<<2)+99608|0,n=cn(f,31341),i[k>>2]=n,f=f+1|0,(f|0)!=6;);l[99656]=1,i[24908]=i[24902]}if(f=99608,e=r+8|0,!K2(e,99608,24)||(f=99632,!K2(e,99632,24)))break i;if(f=Z2(24),!f)break r;e=i[r+12>>2],i[f>>2]=i[r+8>>2],i[f+4>>2]=e,e=i[r+28>>2],i[f+16>>2]=i[r+24>>2],i[f+20>>2]=e,e=i[r+20>>2],i[f+8>>2]=i[r+16>>2],i[f+12>>2]=e;break i}f=0}return B=r+32|0,l[100004]=1,i[25e3]=f,f}function Rm(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0;n=B-32|0,B=n;i:{r:{if(o=V[i[i[e>>2]+68>>2]](i[e+4>>2])|0,t=i[o>>2],!t)break r;for(;;){if(v4(i[t+4>>2],r)){if(t=i[o+4>>2],o=o+4|0,t)continue;break r}break}e:{A:switch(i[t+8>>2]-1|0){case 0:if(V[i[i[e>>2]+76>>2]](f,i[e+4>>2],r,n+28|0),i[f>>2])break i;i[n>>2]=i[n+28>>2],I8(A,k,13656,n);break e;case 1:if(V[i[i[e>>2]+84>>2]](f,i[e+4>>2],r,n+28|0),i[f>>2])break i;i[n+16>>2]=i[n+28>>2],I8(A,k,13656,n+16|0);break e;case 2:break A;default:break e}if(V[i[i[e>>2]+92>>2]](f,i[e+4>>2],r,A,k),i[f>>2])break i}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412];break i}e=i[18429],i[f>>2]=i[18428],i[f+4>>2]=e,i[f+8>>2]=i[18430]}B=n+32|0}function Dm(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;if(n=B-16|0,B=n,t=i[e+68>>2],t){t=V[i[i[t>>2]+24>>2]](t)|0;i:{r:{if(!(!i[e+64>>2]|(r|A)!=0&(t|0)<=0)&&!(V[i[i[e>>2]+24>>2]](e)|0))break r;i[f+8>>2]=-1,i[f+12>>2]=-1,i[f>>2]=0,i[f+4>>2]=0;break i}if(k>>>0>=3){i[f+8>>2]=-1,i[f+12>>2]=-1,i[f>>2]=0,i[f+4>>2]=0;break i}if(o=i[e+64>>2],A=q0(t,0,r,A),r=(t|0)>0,Ce(o,r?A:0,r?w0:0,k)){i[f+8>>2]=-1,i[f+12>>2]=-1,i[f>>2]=0,i[f+4>>2]=0;break i}r=i[e+64>>2];r:{if(i[r+76>>2]<0){r=C9(r),A=w0;break r}r=C9(r),A=w0}i[f+8>>2]=r,i[f+12>>2]=A,i[f>>2]=0,i[f+4>>2]=0,r=i[e+72>>2],e=i[e+76>>2],i[n>>2]=r,i[n+4>>2]=e,i[n+8>>2]=r,i[n+12>>2]=e,e=i[n+4>>2],i[f>>2]=i[n>>2],i[f+4>>2]=e}B=n+16|0;return}u1(),P()}function jr(f,e,r){var A=0,k=0,n=0,t=0,o=0;if((e|0)!=(r|0))for(o=f+4|0;;){t=i[f+4>>2];i:{r:{e:{if(A=o,(A|0)==i[f>>2])break e;n=A,k=t;A:{if(k){for(;;)if(A=k,k=i[A+4>>2],!k)break A}for(;A=i[n+8>>2],k=i[A>>2]==(n|0),n=A,!!k;);}if(k=i[e>>2],k>>>0>k0[A+16>>2])break e;if(n=o,A=n,!t)break r;for(;;){if(A=t,n=i[A+16>>2],n>>>0>k>>>0){if(n=A,t=i[A>>2],t)continue;break r}if(k>>>0<=n>>>0)break i;if(t=i[A+4>>2],!t)break}n=A+4|0;break r}if(n=t?A+4|0:o,i[n>>2])break i;A=t?A:o}k=U(20),t=i[e>>2],i[k+8>>2]=A,i[k>>2]=0,i[k+4>>2]=0,i[k+16>>2]=t,i[n>>2]=k,A=i[i[f>>2]>>2],A&&(i[f>>2]=A,k=i[n>>2]),D1(i[f+4>>2],k),i[f+8>>2]=i[f+8>>2]+1}if(e=e+4|0,(r|0)==(e|0))break}}function bn(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=75028,A=i[f+68>>2],A){if(e=i[f+72>>2],r=A,(e|0)!=(A|0)){for(;r=e-12|0,k=i[r>>2],k&&(i[e-8>>2]=k,G(k)),e=r,(A|0)!=(e|0););r=i[f+68>>2]}i[f+72>>2]=A,G(r)}if(A=i[f+56>>2],A){if(e=i[f+60>>2],r=A,(e|0)!=(A|0)){for(;r=e-12|0,k=i[r>>2],k&&(i[e-8>>2]=k,G(k)),e=r,(A|0)!=(e|0););r=i[f+56>>2]}i[f+60>>2]=A,G(r)}if(i[f>>2]=68616,A=i[f+36>>2],A){if(e=A,r=i[f+40>>2],(e|0)!=(r|0)){for(;;){e=i[r-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(r=r-8|0,(A|0)==(r|0))break}e=i[f+36>>2]}i[f+40>>2]=A,G(e)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function B0(f,e,r){var A=0,k=0,n=0,t=0;i:{if(!r||(l[f|0]=e,A=f+r|0,l[A-1|0]=e,r>>>0<3)||(l[f+2|0]=e,l[f+1|0]=e,l[A-3|0]=e,l[A-2|0]=e,r>>>0<7)||(l[f+3|0]=e,l[A-4|0]=e,r>>>0<9)||(A=0-f&3,k=A+f|0,e=m(e&255,16843009),i[k>>2]=e,A=r-A&-4,r=A+k|0,i[r-4>>2]=e,A>>>0<9)||(i[k+8>>2]=e,i[k+4>>2]=e,i[r-8>>2]=e,i[r-12>>2]=e,A>>>0<25)||(i[k+24>>2]=e,i[k+20>>2]=e,i[k+16>>2]=e,i[k+12>>2]=e,i[r-16>>2]=e,i[r-20>>2]=e,i[r-24>>2]=e,i[r-28>>2]=e,t=k&4|24,r=A-t|0,r>>>0<32))break i;for(A=q0(e,0,1,1),n=w0,e=k+t|0;i[e+24>>2]=A,i[e+28>>2]=n,i[e+16>>2]=A,i[e+20>>2]=n,i[e+8>>2]=A,i[e+12>>2]=n,i[e>>2]=A,i[e+4>>2]=n,e=e+32|0,r=r-32|0,r>>>0>31;);}return f}function Um(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0;n=B-32|0,B=n,k=i[e>>2],t=i[k+64>>2],k=i[k+68>>2],k&&(i[k+4>>2]=i[k+4>>2]+1);i:{if(i[t+20>>2]!=(r|0)){if(i[A>>2]=0,l[n|0]=0,l[n+11|0]=0,r=r0(n+12|0,5,2e3,n),l[n+11|0]<0&&G(i[n>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}r=U(16),i[r+8>>2]=0,i[r+12>>2]=0,i[A>>2]=r,k&&(i[k+4>>2]=i[k+4>>2]+1),i[r+4>>2]=k,i[r>>2]=t,r=i[e+8>>2],A=i[A>>2],t=i[e+12>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[A+8>>2]=r,r=i[A+12>>2],i[A+12>>2]=t;r:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break r;V[i[i[r>>2]+8>>2]](r),g(r)}P0(f,78256,i[e>>2])}i:{if(!k||(f=i[k+4>>2],i[k+4>>2]=f-1,f))break i;V[i[i[k>>2]+8>>2]](k),g(k)}B=n+32|0}function dn(f,e,r){i:{r:switch(e-1|0){case 0:e=i[f+20>>2],i[e+48>>2]=1751476579,i[e+52>>2]=0,Z4(e,1835623985),Z4(i[f+20>>2],1751476579);break i;case 3:e=i[f+20>>2],i[e+48>>2]=1635150182,i[e+52>>2]=0,Z4(e,1635150182),Z4(i[f+20>>2],1835623985);break i;case 4:e=i[f+20>>2],i[e+48>>2]=1987471715,i[e+52>>2]=0,Z4(e,1835623985),Z4(i[f+20>>2],1987471715);break i;case 2:e=i[f+20>>2],i[e+48>>2]=1785750887,i[e+52>>2]=0,Z4(e,1785750887),Z4(i[f+20>>2],1835623985);break i;case 7:e=i[f+20>>2],i[e+48>>2]=1835623986,i[e+52>>2]=0,Z4(e,1835623985);break i;case 6:case 9:break r;default:break i}e=i[f+20>>2],i[e+48>>2]=1781689193,i[e+52>>2]=0,Z4(e,1835623985),Z4(i[f+20>>2],1781689193)}r&&Z4(i[f+20>>2],1835622758)}function cn(f,e){var r=0,A=0,k=0;i:{if(s[e|0]||(e=OA(15058),s[e|0]&&e)||(e=OA(m(f,12)+56480|0),s[e|0]&&e)||(e=OA(15133),s[e|0]&&e))break i;e=16417}i:{for(;;){if(A=s[e+r|0],!(!A|(A|0)==47)){if(A=23,r=r+1|0,(r|0)!=23)continue;break i}break}A=r}k=16417;i:{r:{r=s[e|0];e:{A:{if(!(s[e+A|0]|(r|0)==46)&&(k=e,(r|0)!=67))break A;if(!s[k+1|0])break e}if(!v4(k,16417))break e;if(v4(k,14836))break r}if(!f&&(r=55412,s[k+1|0]==46))break i;return 0}if(r=i[24901],r)for(;;){if(!v4(k,r+8|0))break i;if(r=i[r+32>>2],!r)break}r=Z2(36),r&&(e=i[13854],i[r>>2]=i[13853],i[r+4>>2]=e,e=r+8|0,l0(e,k,A),l[e+A|0]=0,i[r+32>>2]=i[24901],i[24901]=r),r=f|r?r:55412}return r}function i7(f){var e=0,r=0,A=0,k=0;if(e=i[f+40>>2],A=i[f+36>>2],(e|0)!=(A|0))for(;;){r=i[e-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(e=e-8|0,(A|0)==(e|0))break}i[f+40>>2]=A,e=i[f+56>>2],i[f+52>>2]=0,i[f+56>>2]=0;i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+68>>2],i[f+64>>2]=0,i[f+68>>2]=0;i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(e=i[f+156>>2],A=i[f+152>>2],(e|0)!=(A|0))for(;;){r=i[e-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(e=e-8|0,(A|0)==(e|0))break}i[f+156>>2]=A}function r7(f,e,r,A,k,n,t,o){var u=0,h=0,w=0,_=0;if(h=B-16|0,B=h,(e^-1)+1073741815>>>0>=r>>>0){s[f+11|0]>>>7|0?u=i[f>>2]:u=f,w=u,u=h+4|0,_=u,e>>>0<536870899?(i[h+12>>2]=e<<1,i[h+4>>2]=e+r,r=B-16|0,B=r,B=r+16|0,r=h+12|0,r=i[(k0[u>>2]>2]?r:u)>>2],r>>>0>=2?(u=r+2&-2,r=u-1|0,r=(r|0)==2?u:r):r=1,r=r+1|0):r=1073741815,xi(_,r),r=i[h+4>>2],k&&ui(w,k,r),t&&ui(o,t,r+(k<<2)|0),u=k+n|0,o=A-u|0,(A|0)!=(u|0)&&(A=k<<2,ui((A+w|0)+(n<<2)|0,o,(r+A|0)+(t<<2)|0)),(e|0)!=1&&Q8(w,4),i[f>>2]=r,i[f+8>>2]=i[f+8>>2]&-2147483648|i[h+8>>2]&2147483647,i[f+8>>2]=i[f+8>>2]|-2147483648,e=f,f=o+(k+t|0)|0,i[e+4>>2]=f,i[h+12>>2]=0,i[r+(f<<2)>>2]=i[h+12>>2],B=h+16|0;return}o4(),P()}function e7(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0;if(i[f>>2]=74252,A=i[f+84>>2],A){if(e=A,n=i[f+88>>2],(e|0)!=(n|0)){for(;;){if(o=n-12|0,k=i[o>>2],k){if(e=k,u=n-8|0,r=i[u>>2],(e|0)!=(r|0)){for(;e=r-12|0,t=i[e>>2],t&&(i[r-8>>2]=t,G(t)),r=e,(e|0)!=(k|0););e=i[o>>2]}i[u>>2]=k,G(e)}if(n=n-16|0,(A|0)==(n|0))break}e=i[f+84>>2]}i[f+88>>2]=A,G(e)}if(i[f>>2]=68616,A=i[f+36>>2],A){if(e=i[f+40>>2],r=A,(e|0)!=(r|0)){for(;;){r=i[e-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(e=e-8|0,(A|0)==(e|0))break}r=i[f+36>>2]}i[f+40>>2]=A,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function W0(f,e){var r=0,A=0,k=0,n=0,t=0;if(r=B-144|0,B=r,i[r+8>>2]=54496,i[r+64>>2]=54516,A=i[13633],i[r>>2]=A,i[i[A-12>>2]+r>>2]=i[13634],i[r+4>>2]=0,A=i[i[r>>2]-12>>2]+r|0,k=r+12|0,b0(A,k),i[A+72>>2]=0,i[A+76>>2]=-1,A=i[13635],i[r+8>>2]=A,n=r+8|0,i[n+i[A-12>>2]>>2]=i[13636],A=i[13632],i[r>>2]=A,i[i[A-12>>2]+r>>2]=i[13637],i[r+64>>2]=54516,i[r>>2]=54476,i[r+8>>2]=54496,A=$0(k),i[A>>2]=53552,i[r+52>>2]=0,i[r+56>>2]=0,i[r+44>>2]=0,i[r+48>>2]=0,i[r+60>>2]=24,i[e>>2]>0)for(;x(n,18713,2),t=t+1|0,(t|0)>2];);i2(f,A),f=i[13631],i[r>>2]=f,i[i[f-12>>2]+r>>2]=i[13639],i[r+8>>2]=i[13640],i[A>>2]=53552,l[r+55|0]<0&&G(i[r+44>>2]),K0(A),T0(r- -64|0),B=r+144|0}function A7(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0;if(i[f>>2]=68964,A=i[f+56>>2],A){if(r=A,n=i[f+60>>2],(r|0)!=(n|0)){for(;;){if(t=n-16|0,k=i[t>>2],k){if(e=k,o=n-12|0,r=i[o>>2],(e|0)!=(r|0)){for(;e=i[r-16>>2],e&&(i[r-12>>2]=e,G(e)),r=r-40|0,(k|0)!=(r|0););e=i[t>>2]}i[o>>2]=k,G(e)}if(n=n-32|0,(A|0)==(n|0))break}r=i[f+56>>2]}i[f+60>>2]=A,G(r)}if(i[f>>2]=68616,k=i[f+36>>2],k){if(e=k,r=i[f+40>>2],(e|0)!=(r|0)){for(;;){A=i[r-4>>2];i:{if(!A||(e=i[A+4>>2],i[A+4>>2]=e-1,e))break i;V[i[i[A>>2]+8>>2]](A),g(A)}if(r=r-8|0,(k|0)==(r|0))break}e=i[f+36>>2]}i[f+40>>2]=k,G(e)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function Mm(f,e,r,A,k,n,t,o,u,h,w,_,v){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0,h=h|0,w=w|0,_=_|0,v=v|0;var Z=0,p=0,W=0,C=0,I=0,y=0,E=0;if((_|0)>0){if(!((t|0)<=0|(n|0)<=0))for(W=(u+w|0)+1<<_,C=_+1|0,u=-1<>1],o)+W|0)+m(X[v>>1],h)>>C,X[_>>1]=(Z|0)>=0?(u|0)>(Z|0)?Z:u:0,Z=(m(X[w+2>>1],o)+W|0)+m(X[v+2>>1],h)>>C,X[_+2>>1]=(Z|0)>=0?(u|0)>(Z|0)?Z:u:0,v=v+4|0,w=w+4|0,_=_+4|0,I=I+2|0,(y|0)!=(I|0););if(E&&(w=(m(X[w>>1],o)+W|0)+m(X[v>>1],h)>>C,X[_>>1]=(w|0)>=0?(u|0)>(w|0)?w:u:0),p=p+1|0,(p|0)==(t|0))break}return}C0(17004,13955,213,8045),P()}function q4(f,e,r,A,k){var n=0,t=0,o=0,u=0;u=B-16|0,B=u,i[u+12>>2]=e,e=0,o=6;i:{r:{if(J2(f,u+12|0))break r;n=i[f>>2],t=i[n+12>>2];e:{if((t|0)==i[n+16>>2]){n=V[i[i[n>>2]+36>>2]](n)|0;break e}n=s[t|0]}if(t=n<<24>>24,(t|0)>=0?n=(i[i[A+8>>2]+(t<<2)>>2]&64)!=0:n=0,o=4,!n)break r;for(e=V[i[i[A>>2]+36>>2]](A,t,0)|0;;){e:{if(E1(f),e=e-48|0,J2(f,u+12|0)|(k|0)<2)break e;n=i[f>>2],t=i[n+12>>2];A:{if((t|0)==i[n+16>>2]){n=V[i[i[n>>2]+36>>2]](n)|0;break A}n=s[t|0]}if(n=n<<24>>24,(n|0)>=0?o=(i[i[A+8>>2]+(n<<2)>>2]&64)!=0:o=0,!o)break i;k=k-1|0,e=(V[i[i[A>>2]+36>>2]](A,n,0)|0)+m(e,10)|0;continue}break}if(!J2(f,u+12|0))break i;o=2}i[r>>2]=o|i[r>>2]}return B=u+16|0,e}function xm(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;A=B-32|0,B=A;i:{if((e|0)==-1){if(s[f+52|0])break i;e=i[f+48>>2],l[f+52|0]=(e|0)!=-1;break i}r=s[f+52|0];r:{e:{A:{if(!s[f+53|0]){if(r&1)break A;break r}if(r=r&1,r){if(yo(i[f+48>>2],i[f+32>>2]))break r;break e}if(!r)break r}l[A+19|0]=i[f+48>>2]<<24>>24;A:{f:switch(r=i[f+36>>2],k=A+20|0,(V[i[i[r>>2]+12>>2]](r,i[f+40>>2],A+19|0,k,A+12|0,A+24|0,A+32|0,k)|0)-1|0){case 0:case 1:break e;case 2:break f;default:break A}r=i[f+48>>2],i[A+20>>2]=A+25,l[A+24|0]=r}for(;;){if(r=i[A+20>>2],r>>>0<=A+24>>>0)break r;if(r=r-1|0,i[A+20>>2]=r,(gi(l[r|0],i[f+32>>2])|0)==-1)break}}e=-1;break i}l[f+52|0]=1,i[f+48>>2]=e}return B=A+32|0,e|0}function zm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;if(!r)return 0;i:{r:{if(e=i[f>>2],s[e+60|0]==1){if(f=i[f+4>>2],f)break r;f=0;break i}if(f=i[e+68>>2],e=i[e+64>>2],f)break r;f=0;break i}i[f+4>>2]=i[f+4>>2]+1}s[e+72|0]==1&&(A=U(56),k=i[e+132>>2],i[A+48>>2]=i[e+128>>2],i[A+52>>2]=k,k=i[e+124>>2],i[A+40>>2]=i[e+120>>2],i[A+44>>2]=k,k=i[e+116>>2],i[A+32>>2]=i[e+112>>2],i[A+36>>2]=k,k=i[e+108>>2],i[A+24>>2]=i[e+104>>2],i[A+28>>2]=k,k=i[e+100>>2],i[A+16>>2]=i[e+96>>2],i[A+20>>2]=k,k=i[e+92>>2],i[A+8>>2]=i[e+88>>2],i[A+12>>2]=k,k=i[e+84>>2],i[A>>2]=i[e+80>>2],i[A+4>>2]=k,k=1),i[r>>2]=A;i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}return k|0}function B4(f,e){var r=0,A=0,k=0,n=0;r=B-32|0,B=r,i[r+24>>2]=0,i[r+16>>2]=0,i[r+20>>2]=0;i:{if(i[e+16>>2]){for(;;){if(!T4(e,1)){i[f>>2]=0,i[f+4>>2]=0,i[f+8>>2]=0;break i}k=i[e>>2],A=i[e+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1);r:{if(!(V[i[i[k>>2]+16>>2]](k,r+15|0,1)|0)){vi(e),i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,k=1;break r}if(n=l[r+15|0],k=2,!n)break r;C6(r+16|0,n),k=0}r:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(k)break}if((k|0)!=2)break i;e=i[r+20>>2],i[f>>2]=i[r+16>>2],i[f+4>>2]=e,i[f+8>>2]=i[r+24>>2],i[r+24>>2]=0,i[r+16>>2]=0,i[r+20>>2]=0;break i}i[f>>2]=0,i[f+4>>2]=0,i[f+8>>2]=0}l[r+27|0]<0&&G(i[r+16>>2]),B=r+32|0}function Hm(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(!(!(i[r>>2]!=1|(i[r+4>>2]&-2)!=10)&i[r+12>>2]==8)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,i[e+48>>2]=8,l[e+44|0]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,i[e+36>>2]=99,i[e+40>>2]=99,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,i[e+36>>2]=1,i[e+40>>2]=3,l[e+44|0]=s[A+8|0],i[e+48>>2]=i[r+12>>2],r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,i[e>>2]=1,i[e+4>>2]=3,i[e+16>>2]=72992,i[e+20>>2]=i[e+56>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function Tm(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(!(!(i[r>>2]!=1|(i[r+4>>2]&-2)!=12)&i[r+12>>2]>8)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,i[e+48>>2]=8,l[e+44|0]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,i[e+36>>2]=99,i[e+40>>2]=99,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,i[e+36>>2]=1,i[e+40>>2]=3,l[e+44|0]=s[A+8|0],i[e+48>>2]=i[r+12>>2],r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,i[e>>2]=1,i[e+4>>2]=3,i[e+16>>2]=72992,i[e+20>>2]=i[e+56>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function am(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;A=B-32|0,B=A;i:{if((e|0)==-1){if(s[f+52|0])break i;e=i[f+48>>2],l[f+52|0]=(e|0)!=-1;break i}r=s[f+52|0];r:{e:{A:{if(!s[f+53|0]){if(r&1)break A;break r}if(r=r&1,r){if(O7(i[f+48>>2],i[f+32>>2]))break r;break e}if(!r)break r}i[A+16>>2]=i[f+48>>2];A:{f:switch(r=i[f+36>>2],k=A+20|0,(V[i[i[r>>2]+12>>2]](r,i[f+40>>2],A+16|0,k,A+12|0,A+24|0,A+32|0,k)|0)-1|0){case 0:case 1:break e;case 2:break f;default:break A}r=i[f+48>>2],i[A+20>>2]=A+25,l[A+24|0]=r}for(;;){if(r=i[A+20>>2],r>>>0<=A+24>>>0)break r;if(r=r-1|0,i[A+20>>2]=r,(gi(l[r|0],i[f+32>>2])|0)==-1)break}}e=-1;break i}l[f+52|0]=1,i[f+48>>2]=e}return B=A+32|0,e|0}function M8(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;if(k=i[f+24>>2],!((k|0)>=(e|0)|(k|0)>56)){for(A=64-k|0,n=i[f+16>>2],w=i[f+20>>2],k=i[f+8>>2],r=i[f>>2];;){i:{if(t=A,!k){u=A;break i}if(o=r+1|0,i[f>>2]=o,r=s[r|0],k=k-1|0,i[f+8>>2]=k,u=t-8|0,h=u&31,(u&63)>>>0>=32?(_=r<>>32-h,r=r<>2]=n,i[f+20>>2]=r,r=A,A=r-8|0,v=v-(r>>>0<8)|0,r=o,(t|0)>15)continue}break}k=64-u|0}return i[f+24>>2]=k-e,r=i[f+16>>2],A=f,A=f,f=i[f+20>>2],t=r,n=e&31,(e&63)>>>0>=32?(o=r<>>32-n|f<>2]=t,i[A+20>>2]=o,A=64-e|0,e=r,r=A&31,(A&63)>>>0>=32?f=f>>>r|0:f=((1<>>r,f&255}function g0(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;if(k=i[f+24>>2],!((k|0)>=(e|0)|(k|0)>56)){for(A=64-k|0,n=i[f+16>>2],w=i[f+20>>2],k=i[f+8>>2],r=i[f>>2];;){i:{if(t=A,!k){u=A;break i}if(o=r+1|0,i[f>>2]=o,r=s[r|0],k=k-1|0,i[f+8>>2]=k,u=t-8|0,h=u&31,(u&63)>>>0>=32?(_=r<>>32-h,r=r<>2]=n,i[f+20>>2]=r,r=A,A=r-8|0,v=v-(r>>>0<8)|0,r=o,(t|0)>15)continue}break}k=64-u|0}return i[f+24>>2]=k-e,r=i[f+16>>2],A=f,A=f,f=i[f+20>>2],t=r,n=e&31,(e&63)>>>0>=32?(o=r<>>32-n|f<>2]=t,i[A+20>>2]=o,A=64-e|0,e=r,r=A&31,(A&63)>>>0>=32?f=f>>>r|0:f=((1<>>r,f}function Sm(f,e,r,A,k,n,t,o,u,h,w,_){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0,h=h|0,w=w|0,_=_|0;var v=0,Z=0,p=0,W=0,C=0,I=0,y=0;if((_|0)>0){if(!((t|0)<=0|(n|0)<=0))for(p=(u+w|0)+1<<_,W=_+1|0,I=n&2147483646,y=n&1;;){if(_=m(e,Z)+f|0,u=m(k,Z)<<1,w=u+A|0,u=r+u|0,C=0,(n|0)!=1)for(;v=(m(X[u>>1],o)+p|0)+m(X[w>>1],h)>>W,v=(v|0)>=255?255:v,l[_|0]=(v|0)>0?v:0,v=(m(X[u+2>>1],o)+p|0)+m(X[w+2>>1],h)>>W,v=(v|0)>=255?255:v,l[_+1|0]=(v|0)>0?v:0,w=w+4|0,u=u+4|0,_=_+2|0,C=C+2|0,(I|0)!=(C|0););if(y&&(u=(m(X[u>>1],o)+p|0)+m(X[w>>1],h)>>W,u=(u|0)>=255?255:u,l[_|0]=(u|0)>0?u:0),Z=Z+1|0,(Z|0)==(t|0))break}return}C0(17004,13955,80,7893),P()}function Om(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,k=A+8|0,l[78275]>=0){n=i[19567],i[k>>2]=i[19566],i[k+4>>2]=n,i[k+8>>2]=i[19568];break i}_0(k,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]);i:{if(!s[e+48|0]){k=t2(r);break i}k=D0(r)}i:{if(!k){if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567]);break i}Yr(f,e,r,-1)}B=A+32|0}function Pr(f,e,r,A,k,n,t,o){var u=0,h=0,w=0,_=0;if(h=B-16|0,B=h,(e^-1)+2147483639>>>0>=r>>>0){s[f+11|0]>>>7|0?u=i[f>>2]:u=f,w=u,u=h+4|0,_=u,e>>>0<1073741811?(i[h+12>>2]=e<<1,i[h+4>>2]=e+r,r=B-16|0,B=r,B=r+16|0,r=h+12|0,r=i[(k0[u>>2]>2]?r:u)>>2],r>>>0>=11?(u=r+8&-8,r=u-1|0,r=(r|0)==11?u:r):r=10,r=r+1|0):r=2147483639,Mi(_,r),r=i[h+4>>2],k&&e8(w,k,r),t&&e8(o,t,r+k|0),u=k+n|0,o=A-u|0,(A|0)!=(u|0)&&e8((k+w|0)+n|0,o,(r+k|0)+t|0),(e|0)!=10&&Q8(w,1),i[f>>2]=r,i[f+8>>2]=i[f+8>>2]&-2147483648|i[h+8>>2]&2147483647,i[f+8>>2]=i[f+8>>2]|-2147483648,e=f,f=o+(k+t|0)|0,i[e+4>>2]=f,l[h+12|0]=0,l[f+r|0]=s[h+12|0],B=h+16|0;return}o4(),P()}function f7(f){var e=0,r=0,A=0,k=0,n=0;n=i[23985],i[f+72>>2]<=0&&z3(f),i[23985]=i[f+136>>2],r=B-32|0,B=r;i:{r:{e:{if(e=i[f+4>>2],A=i[f+8>>2],(e|0)==(A|0)||(e=h7(r+28|0,e,A-e|0),(e|0)==-1))break e;i[f+4>>2]=i[f+4>>2]+(e>>>0<=1?1:e);break r}for(i[r+16>>2]=0,i[r+20>>2]=0,e=0;;){A=e;e:{if(e=i[f+4>>2],(e|0)!=i[f+8>>2]){i[f+4>>2]=e+1,l[r+15|0]=s[e|0];break e}if(e=ve(f),l[r+15|0]=e,(e|0)>=0)break e;if(e=-1,!(A&1))break i;i[f>>2]=i[f>>2]|32,i[23944]=25;break i}if(e=1,k=B6(r+28|0,r+15|0,1,r+16|0),(k|0)!=-2)break}if(e=-1,(k|0)!=-1)break r;if(!(A&1))break i;i[f>>2]=i[f>>2]|32,gi(s[r+15|0],f);break i}e=i[r+28>>2]}return B=r+32|0,i[23985]=n,e}function MA(f,e,r,A,k,n){var t=0;t=B-32|0,B=t,i[t+8>>2]=0,i[t>>2]=0,i[t+4>>2]=0;i:{r:{if(n>>>0<2)break r;e:switch(n-3|0){case 1:if(l[t+12|0]=0,l[t+23|0]=0,r0(f,4,3005,t+12|0),l[t+23|0]>=0)break i;G(i[t+12>>2]);break i;case 0:break e;default:break r}if(l[t+12|0]=0,l[t+23|0]=0,r0(f,4,3005,t+12|0),l[t+23|0]>=0)break i;G(i[t+12>>2]);break i}if(k?(L2(t,k),n=i[t>>2]):n=0,l0(n,A,k),Wr(t+12|0,i[e+60>>2],i[i[r>>2]+56>>2],t,0),l[t+31|0]<0&&G(i[t+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}f=i[t>>2],f&&(i[t+4>>2]=f,G(f)),B=t+32|0}function L2(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;if(n=i[f+8>>2],A=i[f+4>>2],n-A>>>0>=e>>>0){e&&(A=B0(A,0,e)+e|0),i[f+4>>2]=A;return}if(k=i[f>>2],t=A-k|0,r=t+e|0,(r|0)>=0){n=n-k|0,o=n<<1,r=n>>>0>=1073741823?2147483647:r>>>0>>0?o:r,r&&(u=U(r)),n=r+u|0,o=e,r=t+u|0,e=B0(r,0,e),o=o+e|0;i:{if((A|0)==(k|0)){u=e;break i}h=t&3;r:{if(!h){e=A;break r}for(t=0,e=A;r=r-1|0,e=e-1|0,l[r|0]=s[e|0],t=t+1|0,(h|0)!=(t|0););}if(k-A>>>0<=4294967292)for(;l[r-1|0]=s[e-1|0],l[r-2|0]=s[e-2|0],l[r-3|0]=s[e-3|0],r=r-4|0,e=e-4|0,l[r|0]=s[e|0],(e|0)!=(k|0););k=i[f>>2]}i[f+8>>2]=n,i[f+4>>2]=o,i[f>>2]=u,k&&G(k);return}y0(),P()}function k7(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0,w=0;i:{if(n=V[i[i[e>>2]+68>>2]](i[e+4>>2])|0,k=i[n>>2],k)for(;;){o=n;r:{if(v4(i[k+4>>2],r))break r;e:{if(i[k+8>>2]==1){if(n=0,u=0,h=0,w=s[k+16|0],w&&(h=i[k+24>>2],u=i[k+20>>2]),t=i[k+32>>2],n=(t|0)>0?i[k+28>>2]:n,!(!w|!((A|0)<(u|0)|(A|0)>(h|0))))break i;if(k=0,(t|0)>0)break e;break r}i[f>>2]=5,e=i[18430],i[f+4>>2]=i[18429],i[f+8>>2]=e;return}for(;;){if(i[(k<<2)+n>>2]==(A|0))break r;if(k=k+1|0,(t|0)==(k|0))break}break i}if(n=o+4|0,k=i[o+4>>2],!k)break}V[i[i[e>>2]+72>>2]](f,i[e+4>>2],r,A);return}e=i[18426],i[f>>2]=i[18425],i[f+4>>2]=e,i[f+8>>2]=i[18427]}function n7(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;if(Ve(),r=i[19569],(r|0)==78280)return 0;i:{if(!e){for(;;){n=i[r+16>>2],e=V[i[n+16>>2]](f)|0,k=(e|0)>(t|0),A=i[r+4>>2];r:{if(A){for(;;)if(r=A,A=i[r>>2],!A)break r}for(;A=r,r=i[r+8>>2],(A|0)!=i[r>>2];);}if(t=k?e:t,u=k?n:u,(r|0)==78280)break}break i}for(;;){r:{if(o=i[r+16>>2],k=V[i[o+16>>2]](f)|0,(k|0)<=0|i[o>>2]<3||v4(e,i[o+40>>2]))break r;return o}n=(t|0)<(k|0),A=i[r+4>>2];r:{if(A){for(;;)if(r=A,A=i[r>>2],!A)break r}for(;A=r,r=i[r+8>>2],(A|0)!=i[r>>2];);}if(t=n?k:t,u=n?o:u,(r|0)==78280)break}}return u}function jm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;A=B-160|0,B=A,i[A+68>>2]=54820,k=i[13708],i[A+12>>2]=k,n=A+12|0,i[n+i[k-12>>2]>>2]=i[13709],k=n+i[i[A+12>>2]-12>>2]|0,t=A+16|0,b0(k,t),i[k+72>>2]=0,i[k+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,k=$0(t),i[k>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,t=A+148|0,W0(t,r),o=n,r=l[A+159|0],n=(r|0)<0,x(o,n?i[A+148>>2]:t,n?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(L0(x(r,20785,14),i[e+12>>2]-i[e+8>>2]|0),31338,1),i2(f,k),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[k>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(k),T0(A+68|0),B=A+160|0}function t7(f,e,r,A,k){var n=0,t=0,o=0;if(n=U(24),i[n+20>>2]=e,l[n+8|0]=r,i[n>>2]=45868,i[n+4>>2]=0,i[n+16>>2]=k,i[n+12>>2]=A,i[e+18604>>2]=n,E6(f+1392|0,n),A=i[e+18596>>2],e=i[A+460>>2],r=i[A+464>>2],e>>>0>>0){i[e>>2]=n,i[A+460>>2]=e+4;return}i:{if(k=i[A+456>>2],t=e-k>>2,f=t+1|0,f>>>0<1073741824){if(o=t<<2,r=r-k|0,t=r>>1,t=r>>>0>=2147483644?1073741823:f>>>0>>0?t:f,t){if(t>>>0>=1073741824)break i;f=U(t<<2)}else f=0;if(r=o+f|0,i[r>>2]=n,n=r+4|0,(e|0)!=(k|0)){for(;r=r-4|0,e=e-4|0,i[r>>2]=i[e>>2],(e|0)!=(k|0););k=i[A+456>>2]}i[A+464>>2]=f+(t<<2),i[A+460>>2]=n,i[A+456>>2]=r,k&&G(k),i[A+460>>2]=n;return}y0(),P()}_2(),P()}function Pm(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;t=B-32|0,B=t,i[t+28>>2]=e;i:{if(!(i[A+4>>2]&1)){i[t>>2]=-1,e=V[i[i[f>>2]+16>>2]](f,e,r,A,k,t)|0;r:switch(i[t>>2]){case 0:l[n|0]=0;break i;case 1:l[n|0]=1;break i;default:break r}l[n|0]=1,i[k>>2]=4;break i}for(f=i[A+28>>2],i[t>>2]=f,(f|0)!=100008&&(i[f+4>>2]=i[f+4>>2]+1),e=x0(t,100192),O0(t),f=i[A+28>>2],i[t>>2]=f,(f|0)!=100008&&(i[f+4>>2]=i[f+4>>2]+1),f=x0(t,100248),O0(t),V[i[i[f>>2]+24>>2]](t,f),V[i[i[f>>2]+28>>2]](t|12,f),A=t+24|0,o=n,u=(Nr(t+28|0,r,t,A,e,k,1)|0)==(t|0),l[o|0]=u,e=i[t+28>>2];A=z0(A-12|0),(t|0)!=(A|0););}return B=t+32|0,e|0}function Lm(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;t=B-32|0,B=t,i[t+28>>2]=e;i:{if(!(i[A+4>>2]&1)){i[t>>2]=-1,e=V[i[i[f>>2]+16>>2]](f,e,r,A,k,t)|0;r:switch(i[t>>2]){case 0:l[n|0]=0;break i;case 1:l[n|0]=1;break i;default:break r}l[n|0]=1,i[k>>2]=4;break i}for(f=i[A+28>>2],i[t>>2]=f,(f|0)!=100008&&(i[f+4>>2]=i[f+4>>2]+1),e=x0(t,100184),O0(t),f=i[A+28>>2],i[t>>2]=f,(f|0)!=100008&&(i[f+4>>2]=i[f+4>>2]+1),f=x0(t,100256),O0(t),V[i[i[f>>2]+24>>2]](t,f),V[i[i[f>>2]+28>>2]](t|12,f),A=t+24|0,o=n,u=(Rr(t+28|0,r,t,A,e,k,1)|0)==(t|0),l[o|0]=u,e=i[t+28>>2];A=l1(A-12|0),(t|0)!=(A|0););}return B=t+32|0,e|0}function Km(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0,t=0,o=0;A=B-16|0,B=A,f=i[f>>2],i[A+12>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0;i:{if(r=i[f+28>>2],k=i[f+32>>2],(r|0)!=(k|0)){if(f=k-r|0,(f|0)<0)break i;for(n=U(f),i[A+4>>2]=n,i[A+12>>2]=f+n,f=n;i[f>>2]=i[r>>2],t=f,f=i[r+4>>2],i[t+4>>2]=f,f&&(i[f+4>>2]=i[f+4>>2]+1),f=t+8|0,r=r+8|0,(k|0)!=(r|0););for(i[A+8>>2]=f,r=n;o=i[i[r>>2]+20>>2]==(e|0),!!(!o&&(k=(r|0)!=(t|0),r=r+8|0,k)););for(;;){e=i[f-4>>2];r:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break r;V[i[i[e>>2]+8>>2]](e),g(e)}if(f=f-8|0,(n|0)==(f|0))break}G(i[A+4>>2])}return B=A+16|0,o|0}y0(),P()}function m6(f){var e=0,r=0,A=0,k=0,n=0,t=0,o=0;B0(f+38|0,0,2064),i[f+18524>>2]=-1,i[f+18528>>2]=-1;i:{r:{if(A=i[i[f+18592>>2]+24>>2],(A|0)>0){if(t=i[f+18588>>2],e=i[t+124>>2],k=i[e+484>>2]-1|0,n=i[t+132>>2],n=i[(i[n+8460>>2]+(i[i[n+8448>>2]+(A<<2)>>2]<<2)|0)-4>>2],r=i[e+16892>>2],A=(n|0)/(r|0)|0,r=(n-m(A,r)|0)+1|0,n=i[e+16876>>2],r=(r<>2],k=k>>r,(k|0)<0||(o=i[t+172>>2],(k|0)>=(o|0)))break r;if(e=i[e+488>>2]-1|0,A=(A+1<>r,(e|0)<0|(e|0)>=i[t+176>>2])break i;i[f+18520>>2]=l[((i[t+160>>2]+m(k,3)|0)+m(m(e,o),3)|0)+2|0]}return}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function qm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;k=B-32|0,B=k;i:{if(!(r&&e)){i[f+8>>2]=0,i[f>>2]=5,i[f+4>>2]=2001;break i}if(!s[i[e>>2]+256|0]){if(l[k|0]=0,l[k+11|0]=0,r=r0(k+12|0,5,139,k),l[k+11|0]<0&&G(i[k>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}A=U(80),i[A+16>>2]=0,i[A+20>>2]=0,X[A+12>>1]=1,i[A+8>>2]=0,i[A>>2]=0,i[A+4>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+40>>2]=0,i[A+44>>2]=1072693248,i[A+24>>2]=0,i[A+28>>2]=0,i[A+32>>2]=0,i[A+36>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,n=A- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[A+72>>2]=0,i[r>>2]=A,l0(A,i[e>>2]+264|0,76),i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}B=k+32|0}function Lr(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0;if(k=i[f+8>>2],n=i[f+4>>2],k-n>>>0>=e>>>0){e&&(n=B0(n,s[r|0],e)+e|0),i[f+4>>2]=n;return}if(t=i[f>>2],o=n-t|0,A=o+e|0,(A|0)>=0){if(k=k-t|0,u=k<<1,k=k>>>0>=1073741823?2147483647:A>>>0>>0?u:A,k?A=U(k):A=0,k=A+k|0,A=A+o|0,u=B0(A,s[r|0],e)+e|0,(n|0)!=(t|0)){o=o&3;i:{if(!o){e=n;break i}for(r=0,e=n;A=A-1|0,e=e-1|0,l[A|0]=s[e|0],r=r+1|0,(o|0)!=(r|0););}if(t-n>>>0<=4294967292)for(;l[A-1|0]=s[e-1|0],l[A-2|0]=s[e-2|0],l[A-3|0]=s[e-3|0],A=A-4|0,e=e-4|0,l[A|0]=s[e|0],(e|0)!=(t|0););t=i[f>>2]}i[f+8>>2]=k,i[f+4>>2]=u,i[f>>2]=A,t&&G(t);return}y0(),P()}function o7(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;if(r=B-48|0,k=r,B=r,t=r-48|0,B=t,l[t+33|0]=0,B0(t,46,33),u=t+16|0,l[u|0]=124,r=s[f+96|0],r)for(h=f- -64|0;;){n=r,r=r-1|0,o=s[h+r|0],A=X[(r<<1)+f>>1];i:{if(!((A|0)>=-16&(A|0)<=16)){i[k+32>>2]=A,i[k+36>>2]=o?88:111,c(e,19300,k+32|0);break i}if(A=A+u|0,o){l[A|0]=88;break i}l[A|0]=111}if(!(n>>>0>1))break}if(r=s[f+97|0],r)for(o=f+80|0,h=f+32|0;;){f=r,r=r-1|0,A=s[o+r|0],n=X[h+(r<<1)>>1];i:{if(!((n|0)>=-16&(n|0)<=16)){i[k+16>>2]=n,i[k+20>>2]=A?88:111,c(e,19300,k+16|0);break i}if(n=n+u|0,A){l[n|0]=88;break i}l[n|0]=111}if(!(f>>>0>1))break}i[k>>2]=t,c(e,21799,k),B=k+48|0}function l7(f,e){var r=0,A=0,k=0,n=0,t=0,o=0;if(i[f+4>>2]=0,i[f+8>>2]=0,t=f+4|0,i[f>>2]=t,A=i[e+60>>2],o=e- -64|0,(A|0)!=(o|0))for(;;){n=i[A+16>>2],k=t,e=k,r=i[e>>2];i:{r:{if(!r)break r;for(;;){if(e=r,r=i[r+16>>2],(r|0)>(n|0)){if(k=e,r=i[e>>2],r)continue;break r}if((r|0)>=(n|0))break i;if(r=i[e+4>>2],!r)break}k=e+4|0}r=U(20),i[r+8>>2]=e,i[r>>2]=0,i[r+4>>2]=0,i[r+16>>2]=n,i[k>>2]=r,e=i[i[f>>2]>>2],e&&(i[f>>2]=e,r=i[k>>2]),D1(i[f+4>>2],r),i[f+8>>2]=i[f+8>>2]+1}r=i[A+4>>2];i:{if(r){for(;;)if(e=r,r=i[r>>2],!r)break i}for(;e=i[A+8>>2],r=i[e>>2]!=(A|0),A=e,!!r;);}if(A=e,(e|0)==(o|0))break}}function u0(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;if(k=i[f+16>>2],!((k|0)>=(e|0)|(k|0)>56)){for(A=64-k|0,k=i[f+4>>2];;){i:{if(o=A,!k){n=A;break i}if(r=i[f>>2],i[f>>2]=r+1,r=s[r|0],k=k-1|0,i[f+4>>2]=k,t=i[f+12>>2],n=o-8|0,u=n&31,w=f,(n&63)>>>0>=32?(h=r<>>32-u,r=r<>2]=r|i[f+8>>2],i[f+12>>2]=t|h,r=A,A=r-8|0,_=_-(r>>>0<8)|0,(o|0)>15)continue}break}k=64-n|0}return i[f+16>>2]=k-e,r=i[f+8>>2],A=f,A=f,f=i[f+12>>2],n=r,t=e&31,(e&63)>>>0>=32?(o=r<>>32-t|f<>2]=n,i[A+12>>2]=o,A=64-e|0,e=r,r=A&31,(A&63)>>>0>=32?f=f>>>r|0:f=((1<>>r,f}function u7(f,e,r,A){var k=0,n=0,t=0,o=0;if(k=U(20),i[k+16>>2]=e,l[k+8|0]=r,i[k>>2]=45932,i[k+4>>2]=0,i[k+12>>2]=A,i[e+18604>>2]=k,E6(f+1392|0,k),t=i[e+18596>>2],e=i[t+460>>2],r=i[t+464>>2],e>>>0>>0){i[e>>2]=k,i[t+460>>2]=e+4;return}i:{if(A=i[t+456>>2],n=e-A>>2,f=n+1|0,f>>>0<1073741824){if(o=n<<2,r=r-A|0,n=r>>1,n=r>>>0>=2147483644?1073741823:f>>>0>>0?n:f,n){if(n>>>0>=1073741824)break i;f=U(n<<2)}else f=0;if(r=o+f|0,i[r>>2]=k,k=r+4|0,(e|0)!=(A|0)){for(;r=r-4|0,e=e-4|0,i[r>>2]=i[e>>2],(e|0)!=(A|0););A=i[t+456>>2]}i[t+464>>2]=f+(n<<2),i[t+460>>2]=k,i[t+456>>2]=r,A&&G(A),i[t+460>>2]=k;return}y0(),P()}_2(),P()}function $m(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;k=B-16|0,B=k,n=i[r>>2],A=i[r+4>>2];i:{if(A){if(i[A+4>>2]=i[A+4>>2]+1,t=e,o=V[i[i[n>>2]+8>>2]](n)|0,i[t+56>>2]=o,i[e+60>>2]=w0,i[e+48>>2]=0,i[e+52>>2]=0,e=i[A+4>>2],i[A+4>>2]=e-1,e)break i;V[i[i[A>>2]+8>>2]](A),g(A);break i}t=e,o=V[i[i[n>>2]+8>>2]](n)|0,i[t+56>>2]=o,i[e+60>>2]=w0,i[e+48>>2]=0,i[e+52>>2]=0}i:{if(s[r+20|0]==1){if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,100,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+16|0}function bm(f,e){f=f|0,e=e|0;var r=0;if(V[i[i[f>>2]+24>>2]](f)|0,e=x0(e,100200),i[f+68>>2]=e,r=s[f+98|0],e=V[i[i[e>>2]+28>>2]](e)|0,l[f+98|0]=e,(e|0)!=(r|0)){if(i[f+16>>2]=0,i[f+12>>2]=0,i[f+8>>2]=0,i[f+28>>2]=0,i[f+20>>2]=0,i[f+24>>2]=0,e=s[f+96|0],s[f+98|0]==1){i:{if(!(e&1)||(e=i[f+32>>2],!e))break i;G(e)}l[f+96|0]=s[f+97|0],i[f+52>>2]=i[f+60>>2],e=i[f+56>>2],i[f+56>>2]=0,i[f+60>>2]=0,i[f+32>>2]=e,l[f+97|0]=0;return}i:{if(e&1||(e=i[f+32>>2],(e|0)==(f+44|0)))break i;l[f+97|0]=0,i[f+56>>2]=e,e=i[f+52>>2],i[f+60>>2]=e,e=U(e),l[f+96|0]=1,i[f+32>>2]=e;return}e=i[f+52>>2],i[f+60>>2]=e,e=U(e),l[f+97|0]=1,i[f+56>>2]=e}}function dm(f,e,r,A,k,n,t,o,u){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0;var h=0;i:{if(h=V[i[i[e>>2]+68>>2]](i[e+4>>2])|0,e=i[h>>2],!e)break i;for(;;){if(v4(i[e+4>>2],r)){if(e=i[h+4>>2],h=h+4|0,e)continue;break i}break}if(i[e+8>>2]!=1){e=i[18429],i[f>>2]=i[18428],i[f+4>>2]=e,i[f+8>>2]=i[18430];return}r:{if(!s[e+16|0]||(n&&(i[n>>2]=i[e+20>>2]),!t))break r;i[t>>2]=i[e+24>>2]}A&&(i[A>>2]=s[e+16|0]),k&&(i[k>>2]=s[e+16|0]),!u|i[e+32>>2]<=0||(i[u>>2]=i[e+28>>2]),o&&(i[o>>2]=i[e+32>>2]),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412];return}e=i[18429],i[f>>2]=i[18428],i[f+4>>2]=e,i[f+8>>2]=i[18430]}function cm(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0,t=0,o=0;r=B-32|0,B=r;i:{r:{e:{if((e|0)==-1)break e;if(A=e<<24>>24,l[r+23|0]=A,s[f+44|0]==1){if(k=i[f+32>>2],f=B-16|0,B=f,l[f+15|0]=A,A=F1(f+15|0,1,1,k),B=f+16|0,(A|0)!=1)break r;break e}for(n=r+24|0,i[r+16>>2]=n,o=r+32|0,A=r+23|0;;){if(k=i[f+36>>2],k=V[i[i[k>>2]+12>>2]](k,i[f+40>>2],A,n,r+12|0,r+24|0,o,r+16|0)|0,i[r+12>>2]==(A|0))break r;if((k|0)==3){if((F1(A,1,1,i[f+32>>2])|0)==1)break e;break r}if(k>>>0>1||(t=r+24|0,A=i[r+16>>2]-t|0,(F1(t,1,A,i[f+32>>2])|0)!=(A|0)))break r;if(A=i[r+12>>2],(k|0)!=1)break}}f=(e|0)!=-1?e:0;break i}f=-1}return B=r+32|0,f|0}function iB(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0;e=i[f+20>>2],k=i[e+18588>>2],i[f+4>>2]=1,i[k+324>>2]=i[k+324>>2]-1,i[k+328>>2]=i[k+328>>2]+1,r=i[e+18588>>2],n=i[r+124>>2],A=i[n+16908>>2],t=i[e+4>>2],(A|0)>(t|0)&&(A=i[i[i[r+132>>2]+8460>>2]+(t<<2)>>2]),r=i[n+16892>>2],i[e>>2]=A,n=(A|0)/(r|0)|0,i[e+12>>2]=n,i[e+8>>2]=A-m(r,n);i:{r:{e:{if(s[f+8|0]==1){if(JA(e))break e;break r}if(A=i[e+18592>>2],r=i[A+804>>2],r>>>0>=3)break i;k6(e+18572|0,r,i[A+800>>2]),l[e+18580|0]=0,l[e+18581|0]=0,l[e+18582|0]=0,l[e+18583|0]=0}Y6(e+18548|0),mr(e,0,s[f+8|0])}i[f+4>>2]=3,f=i[e+18600>>2],i[f+44>>2]=i[f+44>>2]+1,Ze(k);return}C0(16898,14036,1520,4043),P()}function rB(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;if(!((n|0)<=0|(k|0)<=0))for(t=k-1|0,v=t&4,Z=(t>>>2|0)+1&2147483646,p=k>>>0<5;;){if(k=m(A,w)+r|0,t=(m(e,w)<<1)+f|0,o=0,!p)for(;u=s[k|0],h=s[k+1|0],_=s[k+2|0],X[t+6>>1]=s[k+3|0]<<6,X[t+4>>1]=_<<6,X[t+2>>1]=h<<6,X[t>>1]=u<<6,u=s[k+4|0],h=s[k+5|0],_=s[k+6|0],X[t+14>>1]=s[k+7|0]<<6,X[t+12>>1]=_<<6,X[t+10>>1]=h<<6,X[t+8>>1]=u<<6,k=k+8|0,t=t+16|0,o=o+2|0,(Z|0)!=(o|0););if(v||(o=s[k|0],u=s[k+1|0],h=s[k+2|0],X[t+6>>1]=s[k+3|0]<<6,X[t+4>>1]=h<<6,X[t+2>>1]=u<<6,X[t>>1]=o<<6),w=w+1|0,(w|0)==(n|0))break}}function eB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-32|0,B=A;i:{if(!r){if(l[A|0]=0,l[A+11|0]=0,r=r0(A+12|0,5,2001,A),l[A+11|0]<0&&G(i[A>>2]),n=f,f=i[e>>2],P0(n,r,f?f+8|0:0),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}k=i[e>>2],n=i[k+44>>2],k=i[k+48>>2],k&&(i[k+4>>2]=i[k+4>>2]+1);r:{if(!n){if(l[A|0]=0,l[A+11|0]=0,r=r0(A+12|0,10,0,A),l[A+11|0]<0&&G(i[A>>2]),n=f,f=i[e>>2],P0(n,r,f?f+8|0:0),l[r+19|0]>=0)break r;G(i[r+8>>2]);break r}if(t=A+12|0,wn(t,n,r),r=f,f=i[e>>2],P0(r,t,f?f+8|0:0),l[A+31|0]>=0)break r;G(i[A+20>>2])}if(!k||(f=i[k+4>>2],i[k+4>>2]=f-1,f))break i;V[i[i[k>>2]+8>>2]](k),g(k)}B=A+32|0}function xA(f,e){var r=0,A=0,k=0,n=0,t=0;i:{if(r=i[f>>2],A=(i[f+4>>2]-r|0)/56|0,k=A+1|0,k>>>0<76695845){if(A=m(A,56),r=(i[f+8>>2]-r|0)/56|0,n=r<<1,n=r>>>0>=38347922?76695844:k>>>0>>0?n:k,n){if(n>>>0>=76695845)break i;k=U(m(n,56))}else k=0;if(A=A+k|0,Z6(A,e),t=A+56|0,e=i[f+4>>2],r=i[f>>2],(e|0)!=(r|0)){for(;A=A-56|0,e=e-56|0,Z6(A,e),(e|0)!=(r|0););r=i[f>>2],e=i[f+4>>2]}if(i[f+8>>2]=m(n,56)+k,i[f+4>>2]=t,i[f>>2]=A,(e|0)!=(r|0))for(;f=i[e-12>>2],f&&(i[e-8>>2]=f,G(f)),f=e-56|0,i[f>>2]=68500,k=i[e-36>>2],k&&(i[e-32>>2]=k,G(k)),e=f,(f|0)!=(r|0););return r&&G(r),t}y0(),P()}_2(),P()}function AB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;k=B-32|0,B=k,n=V[i[i[e>>2]+32>>2]](e,r,0)|0,k1(r,s[e+48|0]?4:2,i[e+40>>2]-i[e+36>>2]>>3,0),A=i[e+36>>2],t=i[e+40>>2];i:{if((A|0)!=(t|0))for(;;){if(o=i[A>>2],V[i[i[o>>2]+16>>2]](f,o,r),i[f>>2])break i;if(l[f+19|0]<0&&G(i[f+8>>2]),A=A+8|0,(t|0)==(A|0))break}if(A=i[19565],i[f>>2]=i[19564],i[f+4>>2]=A,f=f+8|0,l[78275]>=0){A=i[19567],i[f>>2]=i[19566],i[f+4>>2]=A,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}i[r+12>>2]=n,V[i[i[e>>2]+36>>2]](k+12|0,e,r,i[r+4>>2]-(i[r>>2]+n|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[k+31|0]<0&&G(i[k+20>>2]),B=k+32|0}function fB(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0;n=B-192|0,B=n,i[n+112>>2]=55156,t=i[13792],i[n+8>>2]=t,o=i[t-12>>2],t=n+8|0,i[o+t>>2]=i[13793],o=t+i[i[n+8>>2]-12>>2]|0,u=n+12|0,b0(o,u),i[o+72>>2]=0,i[o+76>>2]=-1,i[n+112>>2]=55156,i[n+8>>2]=55136,o=z7(u),jk(o,k,20)||(k=t+i[i[n+8>>2]-12>>2]|0,z1(k,i[k+16>>2]|4)),t=B-16|0,B=t,k=n+8|0,V1(t+8|0,k);i:{if(!A|!s[t+8|0]||(u=i[(k+i[i[k>>2]-12>>2]|0)+24>>2],(V[i[i[u>>2]+48>>2]](u,r,A)|0)==(A|0)))break i;Oo(k+i[i[k>>2]-12>>2]|0,1)}Z1(t+8|0),B=t+16|0,P0(f,78256,i[e>>2]),f=i[13791],i[n+8>>2]=f,i[k+i[f-12>>2]>>2]=i[13794],I6(o),T0(n+112|0),B=n+192|0}function s7(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=U(24),l[A+22|0]=1,X[A+20>>1]=2,i[A+16>>2]=131074,i[A+12>>2]=72992,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=72832,k=A+12|0,l[k+10|0]=1,X[k+8>>1]=6,i[k+4>>2]=851969,X[A+16>>1]=i[r+4>>2],X[A+18>>1]=i[r+8>>2],X[A+20>>1]=i[r+12>>2],l[A+22|0]=s[r+16|0]!=0,r=i[e>>2],i[A+4>>2]=i[A+4>>2]+2,i[r+44>>2]=k,e=i[r+48>>2],i[r+48>>2]=A;i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[A+4>>2],i[A+4>>2]=e-1,e||(V[i[i[A>>2]+8>>2]](A),g(A)),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[A+4>>2],i[A+4>>2]=f-1,f||(V[i[i[A>>2]+8>>2]](A),g(A))}function kB(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;t=B-32|0,B=t,i[t+24>>2]=0,i[t+28>>2]=0,u=t+4|0,o=i[e>>2],Mk(u,o,r,i[o+24>>2]+(A^-1)|0,k,i[o+28>>2]+(n^-1)|0,t+24|0);i:{if(i[t+4>>2]){r=f,f=i[e>>2],P0(r,u,f?f+8|0:0);break i}r=i[t+24>>2],A=i[t+28>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[e>>2]=r,r=i[e+4>>2],i[e+4>>2]=A;r:{if(!r||(e=i[r+4>>2],i[r+4>>2]=e-1,e))break r;V[i[i[r>>2]+8>>2]](r),g(r)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}l[t+23|0]<0&&G(i[t+12>>2]),f=i[t+28>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=t+32|0}function nB(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0,t=0,o=0;r=B-32|0,B=r;i:{r:{e:{if((e|0)==-1)break e;if(i[r+20>>2]=e,s[f+44|0]==1){f=i[f+32>>2];A:{if(i[f+76>>2]<0){f=Pn(e,f);break A}f=Pn(e,f)}if((f|0)==-1)break r;break e}for(n=r+24|0,i[r+16>>2]=n,o=r+32|0,A=r+20|0;;){if(k=i[f+36>>2],k=V[i[i[k>>2]+12>>2]](k,i[f+40>>2],A,n,r+12|0,r+24|0,o,r+16|0)|0,i[r+12>>2]==(A|0))break r;if((k|0)==3){if((F1(A,1,1,i[f+32>>2])|0)==1)break e;break r}if(k>>>0>1||(t=r+24|0,A=i[r+16>>2]-t|0,(F1(t,1,A,i[f+32>>2])|0)!=(A|0)))break r;if(A=i[r+12>>2],(k|0)!=1)break}}f=(e|0)!=-1?e:0;break i}f=-1}return B=r+32|0,f|0}function tB(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e,A=i[r+4>>2],k=i[r>>2],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,A|(k|0)!=2||(i[e+48>>2]=8,l[e+44|0]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,i[e+36>>2]=99,i[e+40>>2]=99,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,i[e+36>>2]=0,i[e+40>>2]=1,l[e+44|0]=s[r+8|0],i[e+48>>2]=i[r+12>>2],r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,i[e>>2]=0,i[e+4>>2]=1,i[e+16>>2]=72992,i[e+20>>2]=i[e+56>>2],i[e+28>>2]=6,P2(f,e)),B=e- -64|0}function h7(f,e,r){var A=0,k=0;if(!e)return 0;i:{r:{if(!r)break r;if(A=s[e|0],k=A<<24>>24,(k|0)>=0)return f&&(i[f>>2]=A),(k|0)!=0;if(!i[i[23985]>>2]){if(e=1,!f)break i;return i[f>>2]=k&57343,1}if(A=A-194|0,A>>>0>50||(A=i[(A<<2)+55504>>2],r>>>0<=3&&A<>>3|0,(k-16|k+(A>>26))>>>0>7))break r;if(r=r-128|A<<6,(r|0)>=0){if(e=2,!f)break i;return i[f>>2]=r,2}if(A=s[e+2|0]-128|0,A>>>0>63)break r;if(k=A,A=r<<6,r=k|A,(A|0)>=0){if(e=3,!f)break i;return i[f>>2]=r,3}if(A=s[e+3|0]-128|0,A>>>0>63)break r;if(e=4,!f)break i;return i[f>>2]=A|r<<6,4}i[23944]=25,e=-1}return e}function $4(f,e,r,A,k){var n=0,t=0,o=0;o=B-16|0,B=o,i[o+12>>2]=e,e=0,n=6;i:{r:{if(g2(f,o+12|0))break r;n=i[f>>2],t=i[n+12>>2];e:{if((t|0)==i[n+16>>2]){t=V[i[i[n>>2]+36>>2]](n)|0;break e}t=i[t>>2]}if(n=4,!(V[i[i[A>>2]+12>>2]](A,64,t)|0))break r;for(e=V[i[i[A>>2]+52>>2]](A,t,0)|0;;){e:{if(Y1(f),e=e-48|0,g2(f,o+12|0)|(k|0)<2)break e;n=i[f>>2],t=i[n+12>>2];A:{if((t|0)==i[n+16>>2]){n=V[i[i[n>>2]+36>>2]](n)|0;break A}n=i[t>>2]}if(!(V[i[i[A>>2]+12>>2]](A,64,n)|0))break i;k=k-1|0,e=(V[i[i[A>>2]+52>>2]](A,n,0)|0)+m(e,10)|0;continue}break}if(!g2(f,o+12|0))break i;n=2}i[r>>2]=n|i[r>>2]}return B=o+16|0,e}function w7(f,e){var r=0,A=0,k=0;k=e+24|0,A=i[e>>2]&63,l[k+A|0]=128,r=A+1|0,A=A^63,A>>>0<=7&&(B0(r+k|0,0,A),A=64,Br(e,k,64),r=0),B0(r+k|0,0,A-8|0),i[e+84>>2]=i[e+4>>2],r=i[e>>2],l[e+83|0]=r>>>21,l[e+82|0]=r>>>13,l[e+81|0]=r>>>5,r=r<<3,l[e+80|0]=r,i[e>>2]=r,Br(e,k,64),l[f|0]=i[e+8>>2],l[f+1|0]=i[e+8>>2]>>>8,l[f+2|0]=Q[e+10>>1],l[f+3|0]=s[e+11|0],l[f+4|0]=i[e+12>>2],l[f+5|0]=i[e+12>>2]>>>8,l[f+6|0]=Q[e+14>>1],l[f+7|0]=s[e+15|0],l[f+8|0]=i[e+16>>2],l[f+9|0]=i[e+16>>2]>>>8,l[f+10|0]=Q[e+18>>1],l[f+11|0]=s[e+19|0],l[f+12|0]=i[e+20>>2],l[f+13|0]=i[e+20>>2]>>>8,l[f+14|0]=Q[e+22>>1],l[f+15|0]=s[e+23|0],B0(e,0,152)}function zA(f){var e=0,r=0,A=0;if(aA(f),e=i[f+320>>2],e){if(A=e-4|0,r=i[A>>2],r)for(r=e+m(r,76)|0;r=r-76|0,(e|0)!=(r|0););G(A)}G(i[f+260>>2]),G(i[f+240>>2]),G(i[f+220>>2]),G(i[f+200>>2]),G(i[f+180>>2]),G(i[f+160>>2]),G(i[f+140>>2]),e=i[f+136>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+128>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+120>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}return e=i[f+52>>2],e&&(i[f+56>>2]=e,G(e)),f}function fi(f,e,r,A,k,n,t,o){var u=0,h=0,w=0,_=0;w=1,u=A&2147483647,h=u,_=(u|0)==2147418112;i:{if((_&!r?f|e:_&(r|0)!=0|u>>>0>2147418112)||(u=o&2147483647,!t&(u|0)==2147418112?k|n:(u|0)==2147418112&(t|0)!=0|u>>>0>2147418112))break i;if(!(f|k|(r|t)|(e|n|(u|h))))return 0;if(u=A&o,(u|0)>0?h=1:h=(u|0)>=0,h)return((r|0)==(t|0)&(A|0)==(o|0)?(e|0)==(n|0)&f>>>0>>0|e>>>0>>0:r>>>0>>0&(A|0)<=(o|0)|(A|0)<(o|0))?-1:(f^k|r^t|(e^n|A^o))!=0;if((r|0)==(t|0)&(A|0)==(o|0)?(e|0)==(n|0)&f>>>0>k>>>0|e>>>0>n>>>0:r>>>0>t>>>0&(A|0)>=(o|0)|(A|0)>(o|0))return-1;w=(f^k|r^t|(e^n|A^o))!=0}return w}function B6(f,e,r,A){var k=0,n=0,t=0,o=0;t=A||98552,A=i[t>>2];i:{r:{e:{if(!e){if(A)break e;return 0}if(k=-2,!r)break r;A:{if(A){k=r;break A}if(A=s[e|0],n=A<<24>>24,(n|0)>=0)return f&&(i[f>>2]=A),(n|0)!=0;if(!i[i[23985]>>2]){if(k=1,!f)break r;return i[f>>2]=n&57343,1}if(A=A-194|0,A>>>0>50)break e;if(A=i[(A<<2)+55504>>2],k=r-1|0,!k)break i;e=e+1|0}if(n=s[e|0],o=n>>>3|0,(o-16|(A>>26)+o)>>>0>7)break e;for(;;){if(k=k-1|0,A=n-128|A<<6,(A|0)>=0)return i[t>>2]=0,f&&(i[f>>2]=A),r-k|0;if(!k)break i;if(e=e+1|0,n=s[e|0],(n&192)!=128)break}}i[t>>2]=0,i[23944]=25,k=-1}return k}return i[t>>2]=A,-2}function oB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-48|0,B=A,n=V[i[i[e>>2]+32>>2]](e,r,0)|0,k=i[e+48>>2],l2(r,V[i[i[k>>2]+8>>2]](k)|0),k=i[e+48>>2],V[i[i[k>>2]+16>>2]](A+24|0,k,r);i:{if(i[A+24>>2]){e=i[A+28>>2],i[f>>2]=i[A+24>>2],i[f+4>>2]=e,i[f+16>>2]=i[A+40>>2],e=i[A+36>>2],i[f+8>>2]=i[A+32>>2],i[f+12>>2]=e,i[A+40>>2]=0,i[A+32>>2]=0,i[A+36>>2]=0;break i}if(Y4(A+4|0,e,r,n),l[A+23|0]<0&&G(i[A+12>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}l[A+43|0]<0&&G(i[A+32>>2]),B=A+48|0}function _7(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;i:{k=i[f+4>>2],o=i[f>>2];r:{if((k|0)!=(o|0)){r=k;break r}if(A=i[f+8>>2],r=i[f+12>>2],A>>>0>>0){n=((r-A>>2)+1|0)/2<<2,t=A-k|0,r=(n+A|0)-t|0,(A|0)!=(k|0)&&(F2(r,k,t),A=i[f+8>>2]),i[f+4>>2]=r,i[f+8>>2]=A+n;break r}if(r=(r|0)==(k|0)?1:r-k>>1,r>>>0>=1073741824)break i;if(n=r<<2,t=U(n),u=n+t|0,r=t+(r+3&-4)|0,n=r,(A|0)!=(k|0))for(h=(A-k|0)+r|0,A=k;i[n>>2]=i[A>>2],A=A+4|0,n=n+4|0,(h|0)!=(n|0););if(i[f+12>>2]=u,i[f+8>>2]=n,i[f+4>>2]=r,i[f>>2]=t,!k)break r;G(o),r=i[f+4>>2]}i[r-4>>2]=i[e>>2],i[f+4>>2]=i[f+4>>2]-4;return}_2(),P()}function Ii(f,e){var r=0,A=0,k=0;A=B-48|0,B=A,s[79117]==1&&(i[A+36>>2]=e,i[A+32>>2]=f,f8(22051,A+32|0)),r=i[e+4>>2];i:{if(!r){if(s[79117]==1&&(i[A+4>>2]=i[f+4>>2],i[A>>2]=f,f8(22011,A)),e=i[f+4>>2],!e)break i;r=i[e>>2]-1|0,i[e>>2]=r;r:{if(r||(r=i[f>>2],r&&(G(r),e=i[f+4>>2],!e)))break r;G(e)}i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r>>2]=i[r>>2]+1,s[79117]==1&&(i[A+20>>2]=i[f+4>>2],i[A+16>>2]=f,f8(22011,A+16|0)),r=i[f+4>>2],r){k=i[r>>2]-1|0,i[r>>2]=k;r:{if(k||(k=i[f>>2],k&&(G(k),r=i[f+4>>2],!r)))break r;G(r)}i[f>>2]=0,i[f+4>>2]=0}i[f>>2]=i[e>>2],i[f+4>>2]=i[e+4>>2]}B=A+48|0}function lB(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0;i:{if(!(!k|(!r|!A))&&n)break i;e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560];return}i:{if(o=i[e+16>>2],!o||(o=N0(o,72776,73388),!o))break i;e=i[e+20>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r>>2]=i[o+4>>2],i[A>>2]=i[o+8>>2],i[k>>2]=i[o+12>>2],i[n>>2]=i[o+16>>2],r=i[o+20>>2],l0(t,r,i[o+24>>2]-r|0),i[f+8>>2]=i[18412],r=i[18411],i[f>>2]=i[18410],i[f+4>>2]=r;r:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break r;V[i[i[e>>2]+8>>2]](e),g(e)}return}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560]}function uB(f,e,r,A,k,n,t,o,u,h){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0,h=h|0;var w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;if((u|0)>0){if(!((n|0)<=0|(k|0)<=0))for(p=1<>1],t)+p>>u)+o|0,X[h>>1]=(w|0)>=0?(_|0)>(w|0)?w:_:0,w=(m(X[v+2>>1],t)+p>>u)+o|0,X[h+2>>1]=(w|0)>=0?(_|0)>(w|0)?w:_:0,v=v+4|0,h=h+4|0,W=W+2|0,(C|0)!=(W|0););if(I&&(w=h,h=(m(X[v>>1],t)+p>>u)+o|0,X[w>>1]=(h|0)>=0?(h|0)<(_|0)?h:_:0),Z=Z+1|0,(Z|0)==(n|0))break}return}C0(17004,13955,193,8109),P()}function Kr(f,e,r){var A=Y(0),k=Y(0),n=0,t=Y(0),o=Y(0),u=Y(0),h=Y(0),w=Y(0);n=B-16|0,B=n,Qn(n+8|0,e,r),A=Z0[n+12>>2],t=Z0[n+8>>2];i:{if(!(A!=Y(0)|t!=Y(0))){w=Y(-.41868799924850464),o=Y(-.3312639892101288),A=Y(.11400000005960464),h=Y(.5870000123977661),t=Y(.29899999499320984),k=Y(-.08131200075149536),u=Y(-.16873499751091003);break i}k=Y(Y(1)-t),h=Y(k-A),o=Y(-h),w=Y(Y(o/k)*Y(.5)),u=Y(Y(1)-A),o=Y(Y(o/u)*Y(.5)),k=Y(Y(Y(-A)/k)*Y(.5)),u=Y(Y(Y(-t)/u)*Y(.5))}Z0[f+36>>2]=k,Z0[f+32>>2]=w,i[f+24>>2]=1056964608,i[f+28>>2]=1056964608,Z0[f+20>>2]=o,Z0[f+16>>2]=u,Z0[f+12>>2]=A,Z0[f+8>>2]=h,Z0[f+4>>2]=t,l[f|0]=1,B=n+16|0}function sB(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0;k=B-32|0,B=k;i:{r:{if(t=i[e>>2],n=i[t+164>>2],u=i[t+168>>2],(n|0)==(u|0))break r;for(;;){if(o=i[n>>2],i[o>>2]!=(r|0)){if(n=n+8|0,(u|0)!=(n|0))continue;break r}break}if(r=i[o+40>>2],n=i[o+44>>2],(r|0)!=(n|0)){if(!A){if(l[k|0]=0,l[k+11|0]=0,r=r0(k+12|0,5,2001,k),l[k+11|0]<0&&G(i[k>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}l0(A,r,n-r|0),t=i[e>>2]}P0(f,78256,t);break i}if(l[k|0]=0,l[k+11|0]=0,r=r0(k+12|0,5,2e3,k),l[k+11|0]<0&&G(i[k>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break i;G(i[r+8>>2])}B=k+32|0}function hB(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0;n=B-32|0,B=n,i[n+24>>2]=0,i[n+28>>2]=0,t=n+4|0,vA(t,i[e>>2],n+24|0,A,k);i:{if(i[n+4>>2])break i;t=U(8),i[t>>2]=0,i[t+4>>2]=0,i[r>>2]=t,r=i[n+24>>2],A=i[n+28>>2];r:{if(!A){i[t+4>>2]=0,i[t>>2]=r;break r}if(i[A+4>>2]=i[A+4>>2]+1,i[t>>2]=r,k=i[t+4>>2],i[t+4>>2]=A,t=78256,!k||(r=i[k+4>>2],i[k+4>>2]=r-1,r))break i;V[i[i[k>>2]+8>>2]](k),g(k)}t=78256}r=f,f=i[e>>2],P0(r,t,f?f+8|0:0),l[n+23|0]<0&&G(i[n+12>>2]),e=i[n+28>>2];i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}B=n+32|0}function qr(f,e,r,A,k){var n=0,t=0,o=0,u=0;n=B-208|0,B=n,i[n+204>>2]=r,r=n+160|0,B0(r,0,40),i[n+200>>2]=i[n+204>>2];i:{if((Vk(0,e,n+200|0,n+80|0,r,A,k)|0)<0){k=-1;break i}u=i[f+76>>2]<0,t=i[f>>2],i[f>>2]=t&-33;r:{e:{A:{if(!i[f+48>>2]){i[f+48>>2]=80,i[f+28>>2]=0,i[f+16>>2]=0,i[f+20>>2]=0,o=i[f+44>>2],i[f+44>>2]=n;break A}if(i[f+16>>2])break e}if(r=-1,G3(f))break r}r=Vk(f,e,n+200|0,n+80|0,n+160|0,A,k)}if(o&&(V[i[f+36>>2]](f,0,0)|0,i[f+48>>2]=0,i[f+44>>2]=o,i[f+28>>2]=0,e=i[f+20>>2],i[f+16>>2]=0,i[f+20>>2]=0,r=e?r:-1),e=f,f=i[f>>2],i[e>>2]=f|t&32,k=f&32?-1:r,u)break i}return B=n+208|0,k}function Z4(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;r=i[f+56>>2],k=i[f+60>>2],r=U3(r,e,k-r>>2),o=r||k;i:{r:{if(k=i[f+60>>2],(o|0)==(k|0)){A=i[f+64>>2];e:{if(A>>>0>o>>>0){i[k>>2]=e,e=k+4|0;break e}if(t=i[f+56>>2],n=o-t>>2,r=n+1|0,r>>>0>=1073741824)break r;if(u=n<<2,A=A-t|0,n=A>>1,n=A>>>0>=2147483644?1073741823:r>>>0>>0?n:r,n){if(n>>>0>=1073741824)break i;r=U(n<<2)}else r=0;if(A=u+r|0,i[A>>2]=e,e=A+4|0,(t|0)!=(o|0))for(;A=A-4|0,k=k-4|0,i[A>>2]=i[k>>2],(k|0)!=(t|0););if(i[f+64>>2]=r+(n<<2),i[f+60>>2]=e,i[f+56>>2]=A,!t)break e;G(t)}i[f+60>>2]=e}return}y0(),P()}_2(),P()}function wB(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0;i:{if(!(!r|!A|(!k|!n))&&t)break i;e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560];return}i:{if(o=i[e+16>>2],!o||(o=N0(o,72776,73344),!o))break i;e=i[e+20>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r>>2]=i[o+4>>2],i[A>>2]=i[o+8>>2],i[k>>2]=i[o+12>>2],i[n>>2]=i[o+16>>2],i[t>>2]=i[o+20>>2],i[f+8>>2]=i[18412],r=i[18411],i[f>>2]=i[18410],i[f+4>>2]=r;r:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break r;V[i[i[e>>2]+8>>2]](e),g(e)}return}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560]}function _B(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-32|0,B=A;i:{if(!r){if(l[A|0]=0,l[A+11|0]=0,r=r0(A+12|0,5,2001,A),l[A+11|0]<0&&G(i[A>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}k=i[e>>2],n=i[k+176>>2],k=i[k+180>>2],k&&(i[k+4>>2]=i[k+4>>2]+1);r:{if(!n){if(l[A|0]=0,l[A+11|0]=0,r=r0(A+12|0,10,0,A),l[A+11|0]<0&&G(i[A>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break r;G(i[r+8>>2]);break r}if(t=A+12|0,wn(t,n,r),P0(f,t,i[e>>2]),l[A+31|0]>=0)break r;G(i[A+20>>2])}if(!k||(f=i[k+4>>2],i[k+4>>2]=f-1,f))break i;V[i[i[k>>2]+8>>2]](k),g(k)}B=A+32|0}function v7(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=69612,k=i[f+56>>2],k){if(e=k,r=i[f+60>>2],(e|0)!=(r|0)){for(;e=i[r-12>>2],e&&(i[r-8>>2]=e,G(e)),e=r-56|0,i[e>>2]=68500,A=i[r-36>>2],A&&(i[r-32>>2]=A,G(A)),r=e,(e|0)!=(k|0););e=i[f+56>>2]}i[f+60>>2]=k,G(e)}if(i[f>>2]=68616,k=i[f+36>>2],k){if(e=k,r=i[f+40>>2],(e|0)!=(r|0)){for(;;){A=i[r-4>>2];i:{if(!A||(e=i[A+4>>2],i[A+4>>2]=e-1,e))break i;V[i[i[A>>2]+8>>2]](A),g(A)}if(r=r-8|0,(k|0)==(r|0))break}e=i[f+36>>2]}i[f+40>>2]=k,G(e)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function vB(f,e,r,A,k,n,t,o,u){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0;var h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0;if((u|0)>0){if(!((n|0)<=0|(k|0)<=0))for(p=1<>1],t)+p>>u)+o|0,w=(w|0)>=255?255:w,l[h|0]=(w|0)>0?w:0,w=(m(X[_+2>>1],t)+p>>u)+o|0,w=(w|0)>=255?255:w,l[h+1|0]=(w|0)>0?w:0,_=_+4|0,h=h+2|0,v=v+2|0,(W|0)!=(v|0););if(C&&(v=h,h=(m(X[_>>1],t)+p>>u)+o|0,h=(h|0)>=255?255:h,l[v|0]=(h|0)>0?h:0),Z=Z+1|0,(Z|0)==(n|0))break}return}C0(17004,13955,60,7955),P()}function mB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-16|0,B=A,k=e,n=t2(r),X[k+48>>1]=n,k=e,n=t2(r),X[k+54>>1]=n,k=e,n=t2(r),X[k+50>>1]=n,k=e,n=t2(r),X[k+56>>1]=n,k=e,n=t2(r),X[k+52>>1]=n,k=e,n=t2(r),X[k+58>>1]=n,k=e,n=t2(r),X[k+60>>1]=n,k=e,n=t2(r),X[k+62>>1]=n,k=e,n=D0(r),i[k+64>>2]=n,k=e,n=D0(r),i[k+68>>2]=n;i:{if(s[r+20|0]==1){if(l[A+4|0]=0,l[A+15|0]=0,r0(f,2,100,A+4|0),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+16|0}function BB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;k=B-32|0,B=k,n=V[i[i[e>>2]+32>>2]](e,r,0)|0,A=i[e+36>>2],t=i[e+40>>2];i:{if((A|0)!=(t|0))for(;;){if(o=i[A>>2],V[i[i[o>>2]+16>>2]](f,o,r),i[f>>2])break i;if(l[f+19|0]<0&&G(i[f+8>>2]),A=A+8|0,(t|0)==(A|0))break}if(A=i[19565],i[f>>2]=i[19564],i[f+4>>2]=A,f=f+8|0,l[78275]>=0){A=i[19567],i[f>>2]=i[19566],i[f+4>>2]=A,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}i[r+12>>2]=n,V[i[i[e>>2]+36>>2]](k+12|0,e,r,i[r+4>>2]-(i[r>>2]+n|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[k+31|0]<0&&G(i[k+20>>2]),B=k+32|0}function R2(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-160|0,B=A,i[A+80>>2]=54820,k=i[13708],i[A+24>>2]=k,t=A+24|0,i[t+i[k-12>>2]>>2]=i[13709],k=i[i[A+24>>2]-12>>2]+t|0,n=A+28|0,b0(k,n),i[k+72>>2]=0,i[k+76>>2]=-1,i[A+80>>2]=54820,i[A+24>>2]=54800,k=$0(n),i[k>>2]=53552,i[A+68>>2]=0,i[A+72>>2]=0,i[A+60>>2]=0,i[A+64>>2]=0,i[A+76>>2]=16,n=A+12|0,Hr(n,e,r),e=l[A+23|0],r=(e|0)<0,x(t,r?i[A+12>>2]:n,r?i[A+16>>2]:e),l[A+23|0]<0&&G(i[A+12>>2]),i2(f,k),f=i[13707],i[A+24>>2]=f,i[i[f-12>>2]+(A+24|0)>>2]=i[13710],i[k>>2]=53552,l[A+71|0]<0&&G(i[A+60>>2]),K0(k),T0(A+80|0),B=A+160|0}function $r(f,e,r){var A=0,k=0;A=U(24),l[A+22|0]=1,X[A+20>>1]=2,i[A+16>>2]=131074,i[A+12>>2]=72992,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=72832,k=A+12|0,l[k+10|0]=1,X[k+8>>1]=6,i[k+4>>2]=851969,i[f+4>>2]=A,i[f>>2]=k;i:{if(r){Jt(k,r);break i}e=i[e>>2],r=i[e+44>>2],e=i[e+48>>2],e&&(i[e+4>>2]=i[e+4>>2]+1);r:{if(r){i[A+16>>2]=i[r+4>>2],r=s[r+7|0]|s[r+8|0]<<8|(s[r+9|0]<<16|s[r+10|0]<<24),l[A+19|0]=r,l[A+20|0]=r>>>8,l[A+21|0]=r>>>16,l[A+22|0]=r>>>24;break r}l[k+10|0]=1,X[k+8>>1]=2,i[k+4>>2]=131074}if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}Dt(i[f>>2])}function m7(f){var e=0;e=U(160),i[e+68>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,i[e+24>>2]=0,i[e+28>>2]=0,i[e+88>>2]=0,i[e+92>>2]=0,X[e+84>>1]=1,i[e+80>>2]=0,i[e+72>>2]=0,i[e+76>>2]=0,i[e+112>>2]=0,i[e+116>>2]=1072693248,i[e+120>>2]=0,i[e+124>>2]=0,i[e>>2]=72024,i[e+32>>2]=0,i[e+36>>2]=0,i[e+40>>2]=0,i[e+44>>2]=0,i[e+48>>2]=0,i[e+52>>2]=0,i[e+56>>2]=0,i[e+60>>2]=0,l[e- -64|0]=0,i[e+16>>2]=69972,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+144>>2]=0,i[e+136>>2]=0,i[e+140>>2]=0,i[e+128>>2]=0,i[e+132>>2]=0,l[e+156|0]=0,i[e+152>>2]=0,i[e+32>>2]=1668113784,i[f+4>>2]=e,i[f>>2]=e+16}function ZB(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0;if(Q1(f,i[e+8>>2],n)){n3(e,r,A,k);return}o=s[e+53|0],t=i[f+12>>2],l[e+53|0]=0,u=s[e+52|0],l[e+52|0]=0,h=f+16|0,Y3(h,e,r,A,k,n),w=s[e+52|0],u=u|w,_=s[e+53|0],o=o|_;i:{if((t|0)<2)break i;for(h=h+(t<<3)|0,t=f+24|0;;){if(s[e+54|0])break i;r:{if(w&1){if(i[e+24>>2]==1)break i;if(s[f+8|0]&2)break r;break i}if(!(_&1))break r;if(!(l[f+8|0]&1))break i}if(X[e+52>>1]=0,Y3(t,e,r,A,k,n),_=s[e+53|0],o=(_|o)&1,w=s[e+52|0],u=(w|u)&1,t=t+8|0,!(h>>>0>t>>>0))break}}l[e+53|0]=o&1,l[e+52|0]=u&1}function p2(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;if(k=i[f+24>>2],(k|0)>=(e|0)|(k|0)>56)r=k;else{for(r=64-k|0,t=i[f+16>>2],u=i[f+20>>2],k=i[f+8>>2],A=i[f>>2];;){i:{if(h=r,!k){n=r;break i}if(w=A+1|0,i[f>>2]=w,A=s[A|0],k=k-1|0,i[f+8>>2]=k,n=h-8|0,o=n&31,(n&63)>>>0>=32?(_=A<>>32-o,A=A<>2]=t,i[f+20>>2]=A,A=r,r=A-8|0,v=v-(A>>>0<8)|0,A=w,(h|0)>15)continue}break}r=64-n|0}i[f+24>>2]=r-e,t=i[f+20>>2],n=i[f+16>>2],r=e&31,(e&63)>>>0>=32?(e=n<>>32-r|t<>2]=r,i[f+20>>2]=e}function pB(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;A=B-16|0,B=A;i:{if(!(s[n+11|0]>>>7|0)){i[f+8>>2]=i[n+8>>2],e=i[n+4>>2],i[f>>2]=i[n>>2],i[f+4>>2]=e;break i}r=i[n>>2],k=B-16|0,B=k;r:{e:{n=i[n+4>>2];A:{if(n>>>0<2){e=f,l[f+11|0]=s[f+11|0]&128|n&127,l[f+11|0]=s[f+11|0]&127;break A}if(n>>>0>1073741815)break e;o=k+8|0,n>>>0>=2?(t=n+2&-2,e=t-1|0,e=(e|0)==2?t:e):e=1,xi(o,e+1|0),e=i[k+8>>2],i[f>>2]=e,i[f+8>>2]=i[f+8>>2]&-2147483648|i[k+12>>2]&2147483647,i[f+8>>2]=i[f+8>>2]|-2147483648,i[f+4>>2]=n}De(e,r,n+1|0),B=k+16|0;break r}o4(),P()}}B=A+16|0}function WB(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;r=B-16|0,B=r,n=d5()|0;i:{r:{if(!e||(A=TA(e),(A|0)<=0))break r;if(t=Z2(A<<2),t){o=Gn(e,t,A);e:{if(!o||(e=0,(o|0)<=0))break e;for(;i[r+8>>2]=e,k=r+8|0,A=j1(67596,k|0)|0,i[r+8>>2]=i[(e<<2)+t>>2],k=j1(67608,k|0)|0,g4(n|0,A|0,k|0),k>>>0>=9&&t1(k|0),A>>>0>=9&&t1(A|0),e=e+1|0,(o|0)!=(e|0););}G(t);break r}if(e=U(12),i[e>>2]=6,i[e+4>>2]=1e3,i[r+8>>2]=e,u=f,h=j1(73788,r+8|0)|0,i[u+4>>2]=h,i[f>>2]=95844,n>>>0<9)break i;t1(n|0);break i}i[f+4>>2]=n,i[f>>2]=95844}B=r+16|0}function ki(f,e,r,A){var k=0,n=0,t=0;if(k=i[f+8>>2],n=i[f>>2],k-n>>2>>>0>=A>>>0){if(t=A,k=i[f+4>>2],A=k-n|0,t>>>0>A>>2>>>0){(k|0)!=(n|0)&&(F2(n,e,A),k=i[f+4>>2]),e=e+A|0,A=r-e|0,(e|0)!=(r|0)&&F2(k,e,A),i[f+4>>2]=A+k;return}A=r-e|0,(e|0)!=(r|0)&&F2(n,e,A),i[f+4>>2]=A+n;return}n&&(i[f+4>>2]=n,G(n),i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,k=0);i:{if(A>>>0>=1073741824||(n=k>>1,A=k>>>0>=2147483644?1073741823:A>>>0>>0?n:A,A>>>0>=1073741824))break i;k=A<<2,A=U(k),i[f+4>>2]=A,i[f>>2]=A,i[f+8>>2]=A+k,k=r-e|0,(e|0)!=(r|0)&&l0(A,e,k),i[f+4>>2]=A+k;return}y0(),P()}function Z6(f,e){var r=0,A=0,k=0,n=0;i[f>>2]=68500,r=i[e+12>>2],A=i[e+8>>2],i[f+8>>2]=A,i[f+12>>2]=r,i[f+16>>2]=i[e+16>>2],i[f+28>>2]=0,i[f+20>>2]=0,i[f+24>>2]=0;i:{r:{if(r=i[e+24>>2],k=i[e+20>>2],(r|0)!=(k|0)){if(r=r-k|0,(r|0)<0)break r;A=U(r),i[f+24>>2]=A,i[f+20>>2]=A,n=r+A|0,i[f+28>>2]=n,l0(A,k,r),i[f+24>>2]=n}if(i[f+32>>2]=i[e+32>>2],r=i[e+40>>2],i[f+52>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,i[f+40>>2]=r,r=i[e+48>>2],A=i[e+44>>2],(r|0)!=(A|0)){if(e=r-A|0,(e|0)<0)break i;r=U(e),i[f+48>>2]=r,i[f+44>>2]=r,k=e+r|0,i[f+52>>2]=k,l0(r,A,e),i[f+48>>2]=k}return}y0(),P()}y0(),P()}function XB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-32|0,B=A;i:{if(!r){if(l[A|0]=0,l[A+11|0]=0,r=r0(A+12|0,5,2001,A),l[A+11|0]<0&&G(i[A>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}k=i[e>>2],n=i[k+184>>2],k=i[k+188>>2],k&&(i[k+4>>2]=i[k+4>>2]+1);r:{if(n){t=r,r=i[n+8>>2],l0(t,r,i[n+12>>2]-r|0),P0(f,78256,i[e>>2]);break r}if(l[A|0]=0,l[A+11|0]=0,r=r0(A+12|0,10,0,A),l[A+11|0]<0&&G(i[A>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break r;G(i[r+8>>2])}if(!k||(f=i[k+4>>2],i[k+4>>2]=f-1,f))break i;V[i[i[k>>2]+8>>2]](k),g(k)}B=A+32|0}function B7(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=74728,r=i[f+60>>2],r){if(A=r,e=i[f+64>>2],(r|0)!=(e|0)){for(;k=e-12|0,A=i[k>>2],A&&(i[e-8>>2]=A,G(A)),e=k,(r|0)!=(e|0););A=i[f+60>>2]}i[f+64>>2]=r,G(A)}if(e=i[f+48>>2],e&&(i[f+52>>2]=e,G(e)),i[f>>2]=68616,k=i[f+36>>2],k){if(e=k,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(e=i[r+4>>2],i[r+4>>2]=e-1,e))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(k|0)==(A|0))break}e=i[f+36>>2]}i[f+40>>2]=k,G(e)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function Z7(f,e,r,A,k){var n=0,t=0,o=0,u=0;t=B-16|0,B=t;i:{if(1073741815-e>>>0>=r>>>0){s[f+11|0]>>>7|0?n=i[f>>2]:n=f,o=n,n=t+4|0,u=n,e>>>0<536870899?(i[t+12>>2]=e<<1,i[t+4>>2]=e+r,r=B-16|0,B=r,B=r+16|0,r=t+12|0,r=i[(k0[n>>2]>2]?r:n)>>2],r>>>0>=2?(n=r+2&-2,r=n-1|0,r=(r|0)==2?n:r):r=1,r=r+1|0):r=1073741815,xi(u,r),r=i[t+4>>2],k&&De(r,o,k),(A|0)!=(k|0)&&(n=k<<2,De(n+r|0,n+o|0,A-k|0)),(e|0)!=1&&Q8(o,4),i[f>>2]=r,i[f+8>>2]=i[f+8>>2]&-2147483648|i[t+8>>2]&2147483647,i[f+8>>2]=i[f+8>>2]|-2147483648,B=t+16|0;break i}o4(),P()}i[f+4>>2]=A}function HA(f,e,r,A,k){var n=0,t=0,o=0,u=0;t=B-16|0,B=t;i:{if(2147483639-e>>>0>=r>>>0){s[f+11|0]>>>7|0?n=i[f>>2]:n=f,o=n,n=t+4|0,u=n,e>>>0<1073741811?(i[t+12>>2]=e<<1,i[t+4>>2]=e+r,r=B-16|0,B=r,B=r+16|0,r=t+12|0,r=i[(k0[n>>2]>2]?r:n)>>2],r>>>0>=11?(n=r+8&-8,r=n-1|0,r=(r|0)==11?n:r):r=10,r=r+1|0):r=2147483639,Mi(u,r),r=i[t+4>>2],k&&of(r,o,k),(A|0)!=(k|0)&&of(r+k|0,k+o|0,A-k|0),(e|0)!=10&&Q8(o,1),i[f>>2]=r,i[f+8>>2]=i[f+8>>2]&-2147483648|i[t+8>>2]&2147483647,i[f+8>>2]=i[f+8>>2]|-2147483648,B=t+16|0;break i}o4(),P()}i[f+4>>2]=A}function br(f,e,r,A){var k=0,n=0,t=0,o=0;i:{r:{if(A){if(A>>>0>=107374183)break r;if(k=m(A,40),A=U(k),i[f+4>>2]=A,i[f>>2]=A,i[f+8>>2]=A+k,(e|0)!=(r|0))for(;;){if(k=i[e+4>>2],i[A>>2]=i[e>>2],i[A+4>>2]=k,k=i[e+20>>2],i[A+16>>2]=i[e+16>>2],i[A+20>>2]=k,k=i[e+12>>2],i[A+8>>2]=i[e+8>>2],i[A+12>>2]=k,i[A+32>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,t=i[e+24>>2],k=i[e+28>>2],(t|0)!=(k|0)){if(k=k-t|0,(k|0)<0)break i;n=U(k),i[A+28>>2]=n,i[A+24>>2]=n,o=k+n|0,i[A+32>>2]=o,l0(n,t,k),i[A+28>>2]=o}if(A=A+40|0,e=e+40|0,(r|0)==(e|0))break}i[f+4>>2]=A}return}y0(),P()}y0(),P()}function GB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,w2(r,Q[e+48>>1]),w2(r,Q[e+54>>1]),w2(r,Q[e+50>>1]),w2(r,Q[e+56>>1]),w2(r,Q[e+52>>1]),w2(r,Q[e+58>>1]),w2(r,Q[e+60>>1]),w2(r,Q[e+62>>1]),l2(r,i[e+64>>2]),l2(r,i[e+68>>2]),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function p7(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0;i:{if((A|k)<0||(o=i[f+124>>2],i[o+484>>2]<=(A|0)|i[o+488>>2]<=(k|0))||(h=i[f+132>>2],t=i[h+8496>>2],n=i[o+16936>>2],u=i[o+16924>>2],i[(t+(A>>>n<<2)|0)+(m(u,k>>>n|0)<<2)>>2]>i[(t+(e>>n<<2)|0)+(m(r>>n,u)<<2)>>2])||(n=i[f+152>>2],t=r,r=i[o+16876>>2],t=t>>r,f=i[f+140>>2],e=e>>r,u=Q[(m(m(n,t),24)+f|0)+m(e,24)>>1],k=k>>>r|0,n=f+m(m(k,n),24)|0,f=A>>>r|0,(u|0)!=Q[n+m(f,24)>>1]))break i;A=e<<2,e=i[h+8484>>2],r=i[o+16892>>2],w=i[(A+e|0)+(m(r,t)<<2)>>2]==i[(e+(f<<2)|0)+(m(r,k)<<2)>>2]}return w}function W7(f,e,r){var A=0,k=0,n=0,t=0,o=0;o=B-16|0,B=o,k=B-16|0,B=k,A=f;i:{if(e>>>0<=1073741815){r:{if(e>>>0<2){l[A+11|0]=s[A+11|0]&128|e&127,l[A+11|0]=s[A+11|0]&127;break r}t=k+8|0,e>>>0>=2?(n=e+2&-2,f=n-1|0,f=(f|0)==2?n:f):f=1,xi(t,f+1|0),f=i[k+8>>2],i[A>>2]=f,i[A+8>>2]=i[A+8>>2]&-2147483648|i[k+12>>2]&2147483647,i[A+8>>2]=i[A+8>>2]|-2147483648,i[A+4>>2]=e}for(n=B-16|0,B=n,i[n+12>>2]=r,r=f,t=e;;){if(t){i[r>>2]=i[n+12>>2],t=t-1|0,r=r+4|0;continue}break}B=n+16|0,i[k+4>>2]=0,i[(e<<2)+f>>2]=i[k+4>>2],B=k+16|0;break i}o4(),P()}return B=o+16|0,A}function dr(f,e,r,A,k,n,t,o,u,h,w){var _=0,v=0,Z=0,p=0;if(!s[r+332|0]){X[h>>1]=0,X[h+2>>1]=0,l[w|0]=0;return}if(v=i[i[e+124>>2]+16876>>2],i[r+28>>2]|s[r+380|0]?_=924:_=988,_=i[(_+r|0)+(i[r+384>>2]<<2)>>2],!(V[i[i[f>>2]+12>>2]](f,_)|0)){X[h>>1]=0,X[h+2>>1]=0,l[w|0]=0,v2(f+4|0,1012,0);return}i:{r:{e:{Z=k+t|0;A:{if(k>>v!=Z>>v||(p=A+n|0,v=i[e+124>>2],(p|0)>=i[v+484>>2]))break A;if(i[v+488>>2]>(Z|0))break e}X[h>>1]=0,X[h+2>>1]=0,l[w|0]=0;break r}if(ak(f,e,r,_,p&-16,Z&-16,o,u,h,w),s[w|0])break i}ak(f,e,r,_,(n>>1)+A&-16,(t>>1)+k&-16,o,u,h,w)}}function CB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;if((r|0)>0)for(_=r&2147483644,h=r&3,v=r>>>0<4;;){if(w=m(r,u),o=0,A=0,t=0,!v)for(;n=A,A=o+w|0,k=n+X[(A<<1)+e>>1]|0,i[(A<<2)+f>>2]=k,n=A+1|0,k=k+X[(n<<1)+e>>1]|0,i[(n<<2)+f>>2]=k,n=A+2|0,k=k+X[(n<<1)+e>>1]|0,i[(n<<2)+f>>2]=k,n=A+3|0,A=k+X[(n<<1)+e>>1]|0,i[(n<<2)+f>>2]=A,o=o+4|0,t=t+4|0,(_|0)!=(t|0););if(t=0,h)for(;k=o+w|0,A=X[(k<<1)+e>>1]+A|0,i[(k<<2)+f>>2]=A,o=o+1|0,t=t+1|0,(h|0)!=(t|0););if(u=u+1|0,(u|0)==(r|0))break}}function TA(f){f=f|0;var e=0,r=0,A=0,k=0,n=0;A=B-16|0,B=A,f=i[f>>2],i[A+12>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0;i:{if(e=i[f+28>>2],n=i[f+32>>2],(e|0)!=(n|0)){if(f=n-e|0,(f|0)<0)break i;for(k=U(f),i[A+4>>2]=k,i[A+12>>2]=f+k,f=k;i[f>>2]=i[e>>2],r=i[e+4>>2],i[f+4>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),f=f+8|0,e=e+8|0,(n|0)!=(e|0););for(i[A+8>>2]=f,e=f;;){r=i[e-4>>2];r:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(e=e-8|0,(k|0)==(e|0))break}G(i[A+4>>2]),k=f-k>>3}return B=A+16|0,k|0}y0(),P()}function VB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;if(A=B-32|0,B=A,t=V[i[i[e>>2]+32>>2]](e,r,0)|0,A2(r,i[e+60>>2]-i[e+56>>2]&255),k=i[e+56>>2],(k|0)!=i[e+60>>2])for(;A2(r,s[k+n|0]),n=n+1|0,k=i[e+56>>2],n>>>0>2]-k>>>0;);i[r+12>>2]=t,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+t|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function IB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-32|0,B=A;i:{if(!r){if(l[A|0]=0,l[A+11|0]=0,r=f,f=r0(A+12|0,5,2001,A),P0(r,f,i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),l[A+11|0]>=0)break i;G(i[A>>2]);break i}k=i[e>>2],n=i[k+40>>2],k=i[k+44>>2],k&&(i[k+4>>2]=i[k+4>>2]+1);r:{if(!n){if(l[A|0]=0,l[A+11|0]=0,r=f,f=r0(A+12|0,2,124,A),P0(r,f,i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),l[A+11|0]>=0)break r;G(i[A>>2]);break r}i[r>>2]=i[n+20>>2],P0(f,78256,i[e>>2])}if(!k||(f=i[k+4>>2],i[k+4>>2]=f-1,f))break i;V[i[i[k>>2]+8>>2]](k),g(k)}B=A+32|0}function X7(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0;k=B-16|0,B=k,l2(r,A),l2(r,i[e+16>>2]);i:{r:{if(i[e+16>>2]!=1970628964)break r;if(i[k+12>>2]=0,i[k+4>>2]=0,i[k+8>>2]=0,n=i[e+24>>2],A=i[e+20>>2],(n|0)!=(A|0)){if(e=n-A|0,(e|0)<0)break i;n=U(e),i[k+4>>2]=n,t=e+n|0,i[k+12>>2]=t,l0(n,A,e),i[k+8>>2]=t}if(D4(r,k+4|0),e=i[k+4>>2],!e)break r;i[k+8>>2]=e,G(e)}e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;r:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break r}_0(f,i[19566],i[19567])}B=k+16|0;return}y0(),P()}function QB(f,e,r,A,k){if(f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,Q1(f,i[e+8>>2],k)){i[e+28>>2]==1|i[e+4>>2]!=(r|0)||(i[e+28>>2]=A);return}i:{if(Q1(f,i[e>>2],k)){if(!(i[e+16>>2]!=(r|0)&i[e+20>>2]!=(r|0))){if((A|0)!=1)break i;i[e+32>>2]=1;return}i[e+32>>2]=A;r:{if(i[e+44>>2]==4)break r;if(X[e+52>>1]=0,f=i[f+8>>2],V[i[i[f>>2]+20>>2]](f,e,r,r,1,k),s[e+53|0]==1){if(i[e+44>>2]=3,!s[e+52|0])break r;break i}i[e+44>>2]=4}if(i[e+20>>2]=r,i[e+40>>2]=i[e+40>>2]+1,i[e+36>>2]!=1|i[e+24>>2]!=2)break i;l[e+54|0]=1;return}f=i[f+8>>2],V[i[i[f>>2]+24>>2]](f,e,r,A,k)}}function G7(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;if(e)for(A=i[f+16>>2],k=i[f+20>>2],n=i[f+8>>2],r=i[f+24>>2],t=i[f>>2];;){if((r|0)<=7){for(o=64-r|0,_=0,r=t;;){i:{if(v=o,!n){n=0,t=r,u=o;break i}if(t=r+1|0,i[f>>2]=t,r=s[r|0],n=n-1|0,i[f+8>>2]=n,u=v-8|0,h=u&31,(u&63)>>>0>=32?(w=r<>>32-h,r=r<>2]=A,i[f+20>>2]=r,r=o,o=r-8|0,_=_-(r>>>0<8)|0,r=t,(v|0)>15)continue}break}r=64-u|0}if(r=r-8|0,i[f+24>>2]=r,w=k<<8|A>>>24,A=A<<8,i[f+16>>2]=A,k=w,i[f+20>>2]=k,e=e-1|0,!e)break}}function p4(f,e,r,A,k){var n=0,t=0,o=0;i:{r:{if(n=i[A>>2],A=i[n+56>>2],n=i[n+60>>2],(A|0)!=(n|0))for(;;){if(i[A>>2]==(r|0))break r;if(A=A+16|0,(n|0)==(A|0))break}break i}r:{e:{if(r=i[A+4>>2],A=i[A+8>>2],(r|0)==(A|0))break e;for(n=i[e+36>>2],o=i[e+40>>2]-n>>3;;){if(e=Q[r+2>>1],!(e>>>0<=o>>>0&&e))break i;if(e=n+(e<<3)|0,t=i[e-8>>2],i[t+16>>2]!=(k|0)){if(r=r+4|0,(A|0)==(r|0))break e;continue}break}if(i[f>>2]=t,r=f,f=i[e-4>>2],i[r+4>>2]=f,!f)break r;i[f+4>>2]=i[f+4>>2]+1;return}i[f>>2]=0,i[f+4>>2]=0}return}i[f>>2]=0,i[f+4>>2]=0}function aA(f){var e=0,r=0,A=0,k=0;if(i[f+4>>2]&&(e=i[f+308>>2],r=i[f+112>>2],r&&(A=i[r+544>>2]),V[e|0](r,f,A),i[f+12>>2]=0,i[f+4>>2]=0,i[f+8>>2]=0,i[f+72>>2]=0,i[f+64>>2]=0,i[f+68>>2]=0),e=i[f+52>>2],k=i[f+56>>2],(e|0)!=(k|0))for(A=0;;){if(r=i[(A<<2)+e>>2],r){e=i[r+1352>>2],e&&(i[r+1356>>2]=e,G(e)),C8(r+1340|0),e=i[r+784>>2],e&&(i[r+788>>2]=e,G(e)),e=i[r+8>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}G(r),k=i[f+56>>2],e=i[f+52>>2]}if(A=A+1|0,!(A>>>0>2>>>0))break}i[f+56>>2]=e}function w4(f,e){var r=0,A=0,k=0,n=0,t=0,o=0;i:{if(e){if(A=i[f+44>>2],t=i[f+40>>2],k=A-t|0,r=k>>2,r>>>0<=15){if(n=i[f+48>>2],n>>>0>A>>>0){i[A>>2]=e,i[f+44>>2]=A+4;return}if(n=n-t|0,o=n>>1,r=r+1|0,r=n>>>0>=2147483644?1073741823:r>>>0>>0?o:r,r>>>0>=1073741824)break i;if(r=r<<2,n=U(r),k=n+k|0,i[k>>2]=e,e=k+4|0,(A|0)!=(t|0))for(;k=k-4|0,A=A-4|0,i[k>>2]=i[A>>2],(A|0)!=(t|0););i[f+48>>2]=r+n,i[f+44>>2]=e,i[f+40>>2]=k,t&&G(t),i[f+44>>2]=e;return}G(i[e+20>>2]),f=i[e+32>>2],f&&(i[e+36>>2]=f,G(f)),G(e)}return}_2(),P()}function yB(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0;i:{n=i[f>>2],f=i[n+164>>2],u=i[n+168>>2];r:{if((f|0)==(u|0))break r;if(e)for(;;){n=G2(e),o=i[f>>2],t=l[o+15|0],h=(t|0)<0;e:{if(((h?i[o+8>>2]:t)|0)!=(n|0))break e;if((n|0)==-1)break i;if(t=o+4|0,K2(h?i[t>>2]:t,e,n))break e;if((A|0)<=(k|0))break r;i[(k<<2)+r>>2]=i[o>>2],k=k+1|0}if(f=f+8|0,(u|0)==(f|0))break r}for(e=(A|0)>0?A:0;;){if((e|0)==(k|0))return e|0;if(i[(k<<2)+r>>2]=i[i[f>>2]>>2],k=k+1|0,f=f+8|0,(u|0)==(f|0))break}}return k|0}O3(),P()}function C7(f,e,r,A){var k=0,n=0;i:{if(!r){e=Q[e>>1]|Q[e+2>>1]<<16,X[f>>1]=e,X[f+2>>1]=e>>>16;break i}k=(r|0)>=127?127:r,k=(k|0)<=-128?-128:k,n=k>>31,A=(A|0)>=127?127:A,A=m(((k^n)-n>>>1|16384)/(k|0)<<16>>16,(A|0)<=-128?-128:A)+32>>6,A=(A|0)>=4095?4095:A,n=(A|0)<=-4096?-4096:A,A=m(n,X[e>>1]),k=A>>31,A=m(((A^k)-k|0)+127>>>8|0,(A|0)<0?-1:(A|0)!=0),A=(A|0)>=32767?32767:A,X[f>>1]=(A|0)<=-32768?-32768:A,e=m(n,X[e+2>>1]),A=e>>31,k=f,f=m(((e^A)-A|0)+127>>>8|0,(e|0)<0?-1:(e|0)!=0),f=(f|0)>=32767?32767:f,X[k+2>>1]=(f|0)<=-32768?-32768:f}return(r|0)!=0}function FB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;if(A=B-32|0,B=A,n=V[i[i[e>>2]+32>>2]](e,r,0)|0,l2(r,i[e+48>>2]),l2(r,i[e+52>>2]),k=i[e+56>>2],t=i[e+60>>2],(k|0)!=(t|0))for(;l2(r,i[k>>2]),k=k+4|0,(t|0)!=(k|0););i[r+12>>2]=n,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+n|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function EB(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0;for(r=B-128|0,B=r,i[r+12>>2]=r+116,A=r+16|0,N9(f+8|0,A,r+12|0,k,n,t),t=B-16|0,B=t,f=B-32|0,B=f,pe(f+24|0,A,i[r+12>>2]),o=f+16|0,u=i[f+28>>2],k=B-16|0,B=k,n=i[f+24>>2],i[k+8>>2]=n,i[k+12>>2]=e;;){if((n|0)!=(u|0)){S3(k+12|0,l[n|0]),n=n+1|0,i[k+8>>2]=n;continue}break}return i[o>>2]=i[k+8>>2],i[o+4>>2]=i[k+12>>2],B=k+16|0,i[f+12>>2]=(i[f+16>>2]-A|0)+A,i[f+8>>2]=i[f+20>>2],i[t+8>>2]=i[f+12>>2],i[t+12>>2]=i[f+8>>2],B=f+32|0,B=t+16|0,B=r+128|0,i[t+12>>2]}function ni(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;if(k=i[f+16>>2],!((k|0)>=(e|0)|(k|0)>56)){for(n=64-k|0,k=i[f+4>>2];;){i:{if(A=n,!k){t=A;break i}if(r=i[f>>2],i[f>>2]=r+1,r=s[r|0],k=k-1|0,i[f+4>>2]=k,h=i[f+12>>2],t=A-8|0,o=t&31,w=f,(t&63)>>>0>=32?(u=r<>>32-o,r=r<>2]=r|i[f+8>>2],i[f+12>>2]=u|h,r=n,n=r-8|0,_=_-(r>>>0<8)|0,(A|0)>15)continue}break}k=64-t|0}i[f+16>>2]=k-e,n=i[f+12>>2],r=i[f+8>>2],A=e&31,(e&63)>>>0>=32?(e=r<>>32-A|n<>2]=A,i[f+12>>2]=e}function YB(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;if((A|0)>0)for(v=A&2147483646,Z=A&1,t=-1<>2]+Q[u>>1]|0,X[u>>1]=(n|0)>=0?(n|0)<(t|0)?n:t:0,n=k|1,u=w+(n<<1)|0,n=i[(n<<2)+o>>2]+Q[u>>1]|0,X[u>>1]=(n|0)>=0?(n|0)<(t|0)?n:t:0,k=k+2|0,_=_+2|0,(v|0)!=(_|0););if(Z&&(n=i[(k<<2)+o>>2],o=w+(k<<1)|0,k=n+Q[o>>1]|0,X[o>>1]=(k|0)>=0?(k|0)<(t|0)?k:t:0),h=h+1|0,(h|0)==(A|0))break}}function JB(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0;n=B-32|0,B=n,i[n+28>>2]=e;i:{if(!(i[r+4>>2]&1)){r=V[i[i[f>>2]+24>>2]](f,e,r,A,k)|0;break i}e=n+16|0,f=i[r+28>>2],i[e>>2]=f,(f|0)!=100008&&(i[f+4>>2]=i[f+4>>2]+1),f=x0(e,100256),O0(e);r:{if(k){V[i[i[f>>2]+24>>2]](e,f);break r}V[i[i[f>>2]+28>>2]](n+16|0,f)}for(t=n,o=C4(n+16|0),i[t+12>>2]=o;;){if(f=n+16|0,t=n,o=a8(f),i[t+8>>2]=o,e=i[n+12>>2],(e|0)!=i[n+8>>2]){T9(n+28|0,i[e>>2]),i[n+12>>2]=i[n+12>>2]+4;continue}else r=i[n+28>>2],l1(f);break}}return B=n+32|0,r|0}function gB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,n=i[e+12>>2];i:{if(!n&k0[e+8>>2]>=k0[e+32>>2]|n){if(D4(r,e+48|0),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567]);break i}if(l[A|0]=0,l[A+11|0]=0,r0(f,2,101,A),l[A+11|0]>=0)break i;G(i[A>>2])}B=A+32|0}function NB(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0;n=B-32|0,B=n,i[n+28>>2]=e;i:{if(!(i[r+4>>2]&1)){r=V[i[i[f>>2]+24>>2]](f,e,r,A,k)|0;break i}e=n+16|0,f=i[r+28>>2],i[e>>2]=f,(f|0)!=100008&&(i[f+4>>2]=i[f+4>>2]+1),f=x0(e,100248),O0(e);r:{if(k){V[i[i[f>>2]+24>>2]](e,f);break r}V[i[i[f>>2]+28>>2]](n+16|0,f)}for(t=n,o=C4(n+16|0),i[t+12>>2]=o;;){if(f=n+16|0,t=n,o=S8(f),i[t+8>>2]=o,e=i[n+12>>2],(e|0)!=i[n+8>>2]){S3(n+28|0,l[e|0]),i[n+12>>2]=i[n+12>>2]+1;continue}else r=i[n+28>>2],z0(f);break}}return B=n+32|0,r|0}function SA(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;if(A=i[f+8>>2],r=i[f+4>>2],A-r>>3>>>0>=e>>>0){e&&(e=e<<3,r=B0(r,0,e)+e|0),i[f+4>>2]=r;return}i:{if(n=i[f>>2],t=r-n>>3,k=t+e|0,k>>>0<536870912){if(A=A-n|0,o=A>>2,A=A>>>0>=2147483640?536870911:k>>>0>>0?o:k,A){if(A>>>0>=536870912)break i;u=U(A<<3)}if(k=(t<<3)+u|0,e=e<<3,e=B0(k,0,e)+e|0,(r|0)!=(n|0)){for(;r=r-8|0,t=i[r+4>>2],k=k-8|0,i[k>>2]=i[r>>2],i[k+4>>2]=t,(r|0)!=(n|0););n=i[f>>2]}i[f+8>>2]=(A<<3)+u,i[f+4>>2]=e,i[f>>2]=k,n&&G(n);return}y0(),P()}_2(),P()}function V7(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=69312,A=i[f+56>>2],A){if(e=A,r=i[f+60>>2],(e|0)!=(r|0)){for(;e=i[r-12>>2],e&&(i[r-8>>2]=e,G(e)),r=r-16|0,(A|0)!=(r|0););e=i[f+56>>2]}i[f+60>>2]=A,G(e)}if(i[f>>2]=68616,A=i[f+36>>2],A){if(e=A,r=i[f+40>>2],(e|0)!=(r|0)){for(;;){e=i[r-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(r=r-8|0,(A|0)==(r|0))break}e=i[f+36>>2]}i[f+40>>2]=A,G(e)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function RB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,l2(r,i[e+48>>2]),l2(r,i[e+52>>2]),l2(r,i[e+56>>2]),l2(r,i[e+60>>2]),l2(r,i[e+64>>2]),l2(r,i[e+68>>2]),l2(r,i[e+72>>2]),l2(r,i[e+76>>2]),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function DB(f){return f=f|0,s[100292]?i[25072]:(s[101360]||(l[101360]=1),E2(101072,66328),E2(101084,66360),E2(101096,66396),E2(101108,66420),E2(101120,66444),E2(101132,66460),E2(101144,66480),E2(101156,66500),E2(101168,66528),E2(101180,66568),E2(101192,66600),E2(101204,66636),E2(101216,66672),E2(101228,66688),E2(101240,66704),E2(101252,66720),E2(101264,66444),E2(101276,66736),E2(101288,66752),E2(101300,66768),E2(101312,66784),E2(101324,66800),E2(101336,66816),E2(101348,66832),l[100292]=1,i[25072]=101072,101072)}function UB(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0;i:{if(t=V[i[i[e>>2]+68>>2]](i[e+4>>2])|0,e=i[t>>2],!e)break i;for(;;){if(v4(i[e+4>>2],r)){if(e=i[t+4>>2],t=t+4|0,e)continue;break i}break}if(i[e+8>>2]!=1){e=i[18429],i[f>>2]=i[18428],i[f+4>>2]=e,i[f+8>>2]=i[18430];return}r:{if(!s[e+16|0]||(k&&(i[k>>2]=i[e+20>>2]),!n))break r;i[n>>2]=i[e+24>>2]}A&&(i[A>>2]=s[e+16|0]),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412];return}e=i[18429],i[f>>2]=i[18428],i[f+4>>2]=e,i[f+8>>2]=i[18430]}function MB(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;t=B-16|0,B=t,i[t+12>>2]=0,i[t+4>>2]=0,i[t+8>>2]=0;i:{if(n){if((n|0)<0)break i;n=n<<2,o=U(n),i[t+4>>2]=o,u=n+o|0,i[t+12>>2]=u,l0(o,k,n),i[t+8>>2]=u}e=i[e>>2],k=i[e+48>>2],e=i[e+52>>2];r:{if(!e){P1(k,A,r,t+4|0);break r}if(i[e+4>>2]=i[e+4>>2]+1,P1(k,A,r,t+4|0),r=i[e+4>>2],i[e+4>>2]=r-1,r)break r;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[t+4>>2],f&&(i[t+8>>2]=f,G(f)),B=t+16|0;return}y0(),P()}function xB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;if(A=B-32|0,B=A,n=V[i[i[e>>2]+32>>2]](e,r,0)|0,R4(r,e+56|0),k=i[e+68>>2],t=i[e+72>>2],(k|0)!=(t|0))for(;A2(r,s[k|0]),k=k+1|0,(t|0)!=(k|0););i[r+12>>2]=n,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+n|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function zB(f,e,r,A,k,n,t,o,u,h){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0,h=h|0;var w=0,_=0,v=0;if(!((n|0)<=0|(k|0)<=0))for(t=14-h|0,_=k&2147483644,w=k&3,u=0,v=k>>>0<4;;){if(k=(m(A,u)<<1)+r|0,h=(m(e,u)<<1)+f|0,o=0,!v)for(;X[h>>1]=Q[k>>1]<>1]=Q[k+2>>1]<>1]=Q[k+4>>1]<>1]=Q[k+6>>1]<>1]=Q[k>>1]<>2]=69024,l[f+123|0]<0&&G(i[f+112>>2]),l[f+111|0]<0&&G(i[f+100>>2]),l[f+99|0]<0&&G(i[f+88>>2]),l[f+87|0]<0&&G(i[f+76>>2]),l[f+75|0]<0&&G(i[f+64>>2]),i[f>>2]=68616,r=i[f+36>>2],r){if(e=r,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(r|0)==(A|0))break}e=i[f+36>>2]}i[f+40>>2]=r,G(e)}return i[f>>2]=68500,r=i[f+20>>2],r&&(i[f+24>>2]=r,G(r)),f|0}function HB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-32|0,B=A,n=V[i[i[e>>2]+32>>2]](e,r,0)|0;i:{r:{if(!(k0[e+48>>2]>65535|k0[e+52>>2]>65535)){if(k=k0[e+56>>2]>65535,A2(r,k),k)break r;w2(r,Q[e+48>>1]),w2(r,Q[e+52>>1]),w2(r,Q[e+56>>1]);break i}A2(r,1)}l2(r,i[e+48>>2]),l2(r,i[e+52>>2]),l2(r,i[e+56>>2])}Y4(A+12|0,e,r,n),l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function Q7(f,e,r,A,k,n){var t=0,o=0;i:{r:{e:{if(A=A-i[f+208>>2]|0,(A|0)!=31)for(o=r,r=i[f+124>>2],t=i[r+16944>>2],r=m(o>>t,i[r+16948>>2])+(e>>t)|0,n=n?k|-128:k,e=1<>2],i[t+16948>>2]<=(k|0))break e;if(i[t+16952>>2]<=(A|0))break r;if(t=(r+k|0)+m(i[f+232>>2],A)|0,(t|0)>=i[f+224>>2])break i;if(l[t+i[f+220>>2]|0]=n,k=k+1|0,(e|0)==(k|0))break}if(A=A+1|0,(e|0)==(A|0))break}return}C0(4828,8453,690,15399),P()}C0(4803,8453,691,15399),P()}C0(8891,8453,694,15399),P()}function y7(f,e){var r=0,A=0,k=0,n=0,t=0,o=0;if(k=i[f+200>>2],r=i[f+204>>2],k>>>0>>0){i[k>>2]=e,i[f+200>>2]=k+4;return}i:{if(t=i[f+196>>2],A=k-t>>2,n=A+1|0,n>>>0<1073741824){if(o=A<<2,r=r-t|0,A=r>>1,A=r>>>0>=2147483644?1073741823:A>>>0>n>>>0?A:n,A){if(A>>>0>=1073741824)break i;n=U(A<<2)}else n=0;if(r=o+n|0,i[r>>2]=e,e=r+4|0,(k|0)!=(t|0))for(;r=r-4|0,k=k-4|0,i[r>>2]=i[k>>2],(k|0)!=(t|0););i[f+204>>2]=n+(A<<2),i[f+200>>2]=e,i[f+196>>2]=r,t&&G(t),i[f+200>>2]=e;return}y0(),P()}_2(),P()}function p6(f,e,r,A){var k=0;k=1;i:{if(f){f=r;break i}if(!A){f=r;break i}r:{if(e){f=r;break r}if(f=U(24),l[f+22|0]=1,X[f+20>>1]=2,i[f+16>>2]=131074,i[f+12>>2]=72992,i[f+4>>2]=0,i[f+8>>2]=0,i[f>>2]=72832,e=f+12|0,l[e+10|0]=1,X[e+8>>1]=6,i[e+4>>2]=851969,!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(k=0,s[e+10|0]==(!s[A+16|0]|0)|i[A+12>>2]!=Q[e+8>>1])break i;k=i[A+4>>2]==Q[e+4>>1]}i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}return k}function W6(f,e,r){var A=0,k=0,n=0;i:{r:{k=i[e+112>>2];e:{if(!k)break e;for(n=e+112|0,e=n;A=k0[k+16>>2]>>0,e=A?e:k,k=i[(A<<2)+k>>2],!!k;);if(A=0,(e|0)==(n|0)|k0[e+16>>2]>r>>>0)break e;if(r=i[e+20>>2],A=i[e+24>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),r)break r}l[f|0]=0,l[f+11|0]=0;break i}if(l[r+75|0]>=0){e=r- -64|0,r=i[e+4>>2],i[f>>2]=i[e>>2],i[f+4>>2]=r,i[f+8>>2]=i[e+8>>2];break i}_0(f,i[r+64>>2],i[r+68>>2])}i:{if(!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break i;V[i[i[A>>2]+8>>2]](A),g(A)}}function TB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;for(n=B-16|0,B=n;;){i:{if((r|0)<=(t|0))break i;A=i[f+12>>2],k=i[f+16>>2];r:{if(A>>>0>>0){i[n+12>>2]=2147483647,i[n+8>>2]=k-A>>2,i[n+4>>2]=r-t,A=B-16|0,B=A,B=A+16|0,A=B-16|0,B=A,B=A+16|0,A=n+4|0,k=n+8|0,A=i[A>>2]>2]?A:k,k=n+12|0,A=i[(i[A>>2]>2]?A:k)>>2],ui(i[f+12>>2],A,e),k=A<<2,i[f+12>>2]=k+i[f+12>>2],e=e+k|0;break r}if(A=V[i[i[f>>2]+40>>2]](f)|0,(A|0)==-1)break i;i[e>>2]=A,A=1,e=e+4|0}t=A+t|0;continue}break}return B=n+16|0,t|0}function aB(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;if(!(n&1)){if(!((t|0)<=0|(n|0)<=0))for(p=15-o|0,W=1<<14-o,w=-1<>1]+(X[u>>1]+W|0)>>p,X[o>>1]=(h|0)>=0?(h|0)<(w|0)?h:w:0,h=X[v+2>>1]+(X[u+2>>1]+W|0)>>p,X[o+2>>1]=(h|0)>=0?(h|0)<(w|0)?h:w:0,v=v+4|0,u=u+4|0,o=o+4|0,Z=Z+2|0,(Z|0)<(n|0););if(_=_+1|0,(_|0)==(t|0))break}return}C0(17190,13955,238,8011),P()}function cr(f,e,r){var A=0,k=0,n=0;i:{r:{k=i[e+112>>2];e:{if(!k)break e;for(n=e+112|0,e=n;A=k0[k+16>>2]>>0,e=A?e:k,k=i[(A<<2)+k>>2],!!k;);if(A=0,(e|0)==(n|0)|k0[e+16>>2]>r>>>0)break e;if(r=i[e+20>>2],A=i[e+24>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),r)break r}l[f|0]=0,l[f+11|0]=0;break i}if(l[r+99|0]>=0){e=r+88|0,r=i[e+4>>2],i[f>>2]=i[e>>2],i[f+4>>2]=r,i[f+8>>2]=i[e+8>>2];break i}_0(f,i[r+88>>2],i[r+92>>2])}i:{if(!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break i;V[i[i[A>>2]+8>>2]](A),g(A)}}function W8(f,e,r,A){var k=0,n=0,t=0;if(k=i[f+8>>2],n=i[f>>2],k-n>>>0>=A>>>0){if(t=A,k=i[f+4>>2],A=k-n|0,t>>>0>A>>>0){(k|0)!=(n|0)&&(F2(n,e,A),k=i[f+4>>2]),e=e+A|0,A=r-e|0,(e|0)!=(r|0)&&F2(k,e,A),i[f+4>>2]=A+k;return}A=r-e|0,(e|0)!=(r|0)&&F2(n,e,A),i[f+4>>2]=A+n;return}if(n&&(i[f+4>>2]=n,G(n),i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,k=0),(A|0)>=0){n=k<<1,k=k>>>0>=1073741823?2147483647:A>>>0>>0?n:A,A=U(k),i[f+4>>2]=A,i[f>>2]=A,i[f+8>>2]=A+k,k=r-e|0,(e|0)!=(r|0)&&l0(A,e,k),i[f+4>>2]=A+k;return}y0(),P()}function SB(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;if((A|0)>0)for(v=A&2147483646,Z=A&1,t=-1<>2]+s[u|0]|0,l[u|0]=(n|0)>=0?(n|0)<(t|0)?n:t:0,n=k|1,u=n+o|0,n=i[(n<<2)+w>>2]+s[u|0]|0,l[u|0]=(n|0)>=0?(n|0)<(t|0)?n:t:0,k=k+2|0,_=_+2|0,(v|0)!=(_|0););if(Z&&(o=k+o|0,k=i[(k<<2)+w>>2]+s[o|0]|0,l[o|0]=(k|0)>=0?(k|0)<(t|0)?k:t:0),h=h+1|0,(h|0)==(A|0))break}}function OB(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0;if(!((n|0)<=0|(k|0)<=0))for(t=14-o|0,_=k&2147483644,w=k&3,v=k>>>0<4;;){if(k=(m(e,h)<<1)+f|0,o=(m(A,h)<<1)+r|0,u=0,!v)for(;X[k>>1]=Q[o>>1]<>1]=Q[o+2>>1]<>1]=Q[o+4>>1]<>1]=Q[o+6>>1]<>1]=Q[o>>1]<0)for(w=r&2147483644,u=r&3,_=r>>>0<4;;){if(h=m(r,o),k=0,n=0,!_)for(;A=k+h|0,i[(A<<2)+f>>2]=X[(A<<1)+e>>1],t=A+1|0,i[(t<<2)+f>>2]=X[(t<<1)+e>>1],t=A+2|0,i[(t<<2)+f>>2]=X[(t<<1)+e>>1],A=A+3|0,i[(A<<2)+f>>2]=X[(A<<1)+e>>1],k=k+4|0,n=n+4|0,(w|0)!=(n|0););if(A=0,u)for(;n=k+h|0,i[(n<<2)+f>>2]=X[(n<<1)+e>>1],k=k+1|0,A=A+1|0,(u|0)!=(A|0););if(o=o+1|0,(o|0)==(r|0))break}}function Qi(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;if(r=i[f+8>>2],A=i[f+4>>2],r-A>>2>>>0>=e>>>0){e&&(e=e<<2,A=B0(A,0,e)+e|0),i[f+4>>2]=A;return}i:{if(n=i[f>>2],t=A-n>>2,k=t+e|0,k>>>0<1073741824){if(r=r-n|0,o=r>>1,k=r>>>0>=2147483644?1073741823:k>>>0>>0?o:k,k){if(k>>>0>=1073741824)break i;u=U(k<<2)}if(r=(t<<2)+u|0,e=e<<2,e=B0(r,0,e)+e|0,(A|0)!=(n|0))for(;r=r-4|0,A=A-4|0,i[r>>2]=i[A>>2],(A|0)!=(n|0););i[f+8>>2]=(k<<2)+u,i[f+4>>2]=e,i[f>>2]=r,n&&G(n);return}y0(),P()}_2(),P()}function PB(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0;i:{if(!(A&&r)||(k=i[e+16>>2],!k)||(k=N0(k,72776,73168),!k))break i;if(e=i[e+20>>2],!e){i[r>>2]=i[k+4>>2],i[A>>2]=i[k+8>>2],i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e;return}i[e+4>>2]=i[e+4>>2]+1,i[r>>2]=i[k+4>>2],i[A>>2]=i[k+8>>2],i[f+8>>2]=i[18412],r=i[18411],i[f>>2]=i[18410],i[f+4>>2]=r,f=i[e+4>>2],i[e+4>>2]=f-1,f||(V[i[i[e>>2]+8>>2]](e),g(e));return}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560]}function LB(f){return f=f|0,s[100284]?i[25070]:(s[101056]||(l[101056]=1),Y2(100768,1421),Y2(100780,1412),Y2(100792,8436),Y2(100804,7543),Y2(100816,1491),Y2(100828,9774),Y2(100840,1429),Y2(100852,2799),Y2(100864,5930),Y2(100876,5823),Y2(100888,5921),Y2(100900,5940),Y2(100912,7082),Y2(100924,14100),Y2(100936,6046),Y2(100948,4913),Y2(100960,1491),Y2(100972,6176),Y2(100984,7487),Y2(100996,8497),Y2(101008,6118),Y2(101020,3376),Y2(101032,2549),Y2(101044,13890),l[100284]=1,i[25070]=100768,100768)}function KB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;for(k=B-16|0,B=k;;){i:{if((r|0)<=(t|0))break i;A=i[f+12>>2],n=i[f+16>>2];r:{if(A>>>0>>0){i[k+12>>2]=2147483647,i[k+8>>2]=n-A,i[k+4>>2]=r-t,A=B-16|0,B=A,B=A+16|0,A=B-16|0,B=A,B=A+16|0,A=k+4|0,n=k+8|0,A=i[A>>2]>2]?A:n,n=k+12|0,A=i[(i[A>>2]>2]?A:n)>>2],e8(i[f+12>>2],A,e),i[f+12>>2]=i[f+12>>2]+A;break r}if(A=V[i[i[f>>2]+40>>2]](f)|0,(A|0)==-1)break i;l[e|0]=A<<24>>24,A=1}e=e+A|0,t=A+t|0;continue}break}return B=k+16|0,t|0}function qB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,A2(r,s[e+48|0]|128),A2(r,s[e+50|0]&31|s[e+49|0]<<5&224),A2(r,s[e+57|0]&3|((s[e+52|0]!=0)<<6|(s[e+51|0]!=0)<<7|(s[e+53|0]!=0)<<5|(s[e+54|0]!=0)<<4|(s[e+55|0]!=0)<<3|(s[e+56|0]!=0)<<2)),A2(r,0),Y4(A+12|0,e,r,k),l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function ti(f,e,r,A,k,n){var t=0,o=0,u=0,h=0;i:{if(n&64){r=n+-64|0,e=r&31,(r&63)>>>0>=32?(r=0,e=k>>>e|0):(r=k>>>e|0,e=((1<>>e),A=0,k=0;break i}if(!n)break i;u=A,o=64-n|0,t=o&31,(o&63)>>>0>=32?(o=A<>>32-t|k<>>0>=32?(t=0,e=r>>>e|0):(t=r>>>e|0,e=((1<>>e),e=h|e,r=t|o,t=A,A=n&31,(n&63)>>>0>=32?(o=0,A=k>>>A|0):(o=k>>>A|0,A=((1<>>A),k=o}i[f>>2]=e,i[f+4>>2]=r,i[f+8>>2]=A,i[f+12>>2]=k}function $B(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;if(k=B-32|0,B=k,t=V[i[i[e>>2]+32>>2]](e,r,0)|0,w2(r,(i[e+52>>2]-i[e+48>>2]|0)/6&65535),A=i[e+48>>2],n=i[e+52>>2],(A|0)!=(n|0))for(;w2(r,Q[A>>1]),w2(r,Q[A+2>>1]),w2(r,Q[A+4>>1]),A=A+6|0,(n|0)!=(A|0););Y4(k+12|0,e,r,t),l[k+31|0]<0&&G(i[k+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+32|0}function F7(f,e,r){var A=0,k=0,n=0,t=0,o=0;i:{if(k=B-16|0,B=k,n=r-e>>2,n>>>0<=1073741815){r:{if(n>>>0<2){l[f+11|0]=s[f+11|0]&128|n&127,l[f+11|0]=s[f+11|0]&127,A=f;break r}o=k+8|0,n>>>0>=2?(t=n+2&-2,A=t-1|0,A=(A|0)==2?t:A):A=1,xi(o,A+1|0),A=i[k+8>>2],i[f>>2]=A,i[f+8>>2]=i[f+8>>2]&-2147483648|i[k+12>>2]&2147483647,i[f+8>>2]=i[f+8>>2]|-2147483648,i[f+4>>2]=n}for(;;){if((e|0)!=(r|0)){i[A>>2]=i[e>>2],A=A+4|0,e=e+4|0;continue}break}i[k+4>>2]=0,i[A>>2]=i[k+4>>2],B=k+16|0;break i}o4(),P()}}function bB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;if(k=B-32|0,B=k,t=V[i[i[e>>2]+32>>2]](e,r,0)|0,w2(r,(i[e+60>>2]-i[e+56>>2]|0)/6&65535),A=i[e+56>>2],n=i[e+60>>2],(A|0)!=(n|0))for(;w2(r,Q[A>>1]),A2(r,s[A+2|0]),w2(r,Q[A+4>>1]),A=A+6|0,(n|0)!=(A|0););Y4(k+12|0,e,r,t),l[k+31|0]<0&&G(i[k+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+32|0}function dB(f,e,r,A,k,n,t,o,u){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0;var h=0,w=0,_=0;if(!((n|0)<=0|(k|0)<=0))for(w=k&2147483644,h=k&3,u=0,_=k>>>0<4;;){if(k=m(A,u)+r|0,t=(m(e,u)<<1)+f|0,o=0,!_)for(;X[t>>1]=s[k|0]<<6,X[t+2>>1]=s[k+1|0]<<6,X[t+4>>1]=s[k+2|0]<<6,X[t+6>>1]=s[k+3|0]<<6,k=k+4|0,t=t+8|0,o=o+4|0,(w|0)!=(o|0););if(o=0,h)for(;X[t>>1]=s[k|0]<<6,k=k+1|0,t=t+2|0,o=o+1|0,(h|0)!=(o|0););if(u=u+1|0,(u|0)==(n|0))break}}function cB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-16|0,B=A;i:{if(B2(r)&1){n=e,t=D0(r),i[n+48>>2]=t,n=e,t=D0(r),i[n+52>>2]=t,k=D0(r);break i}n=e,t=t2(r),i[n+48>>2]=t,n=e,t=t2(r),i[n+52>>2]=t,k=t2(r)}i[e+56>>2]=k;i:{if(s[r+20|0]==1){if(l[A+4|0]=0,l[A+15|0]=0,r0(f,2,100,A+4|0),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+16|0}function iZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,k=A+8|0,l[78275]>=0){n=i[19567],i[k>>2]=i[19566],i[k+4>>2]=n,i[k+8>>2]=i[19568];break i}_0(k,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]);i:{if(s[e+48|0]){h4(f,e,14139);break i}Yr(f,e,r,-1)}B=A+32|0}function rZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-32|0,B=A;i:{if(!(r&&e)){i[f+8>>2]=0,i[f>>2]=5,i[f+4>>2]=2001;break i}if(k=i[e>>2],!s[k+208|0]){if(l[A|0]=0,l[A+11|0]=0,r=r0(A+12|0,5,138,A),l[A+11|0]<0&&G(i[A>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}n=i0[k+216>>3],t=i0[k+224>>3],o=i0[k+232>>3],u=i0[k+240>>3],i0[r+32>>3]=i0[k+248>>3],i0[r+24>>3]=u,i0[r+16>>3]=o,i0[r+8>>3]=t,i0[r>>3]=n,i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}B=A+32|0}function eZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,l2(r,i[e+56>>2]),l2(r,i[e+60>>2]),l2(r,i[e+64>>2]),l2(r,i[e+68>>2]),l2(r,i[e+72>>2]),R4(r,e+76|0),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function E7(f,e,r){var A=0,k=0,n=0,t=0,o=0;i:{if(k=B-16|0,B=k,n=r-e|0,n>>>0<=2147483639){r:{if(n>>>0<11){l[f+11|0]=s[f+11|0]&128|n&127,l[f+11|0]=s[f+11|0]&127,A=f;break r}o=k+8|0,n>>>0>=11?(t=n+8&-8,A=t-1|0,A=(A|0)==11?t:A):A=10,Mi(o,A+1|0),A=i[k+8>>2],i[f>>2]=A,i[f+8>>2]=i[f+8>>2]&-2147483648|i[k+12>>2]&2147483647,i[f+8>>2]=i[f+8>>2]|-2147483648,i[f+4>>2]=n}for(;;){if((e|0)!=(r|0)){l[A|0]=s[e|0],A=A+1|0,e=e+1|0;continue}break}l[k+7|0]=0,l[A|0]=s[k+7|0],B=k+16|0;break i}o4(),P()}}function X6(f,e,r,A){var k=0,n=0,t=0,o=0;i:{r:{if(!A){k=i[f+12>>2],A=i[f+8>>2],f=k-A>>2;break r}if(k=i[f+12>>2],A=i[f+8>>2],f=k-A>>2,(A|0)==(k|0))break r;for(o=f>>>0<=1?1:f;;){if(t=i[(n<<2)+A>>2],!(i[t+96>>2]!=(e|0)|i[t+108>>2]<=(r|0))&i[t+100>>2]==2)break i;if(n=n+1|0,(o|0)==(n|0))break}}if(n=-1,(A|0)==(k|0))break i;for(t=f>>>0<=1?1:f,f=0;;){if(k=i[(f<<2)+A>>2],!(i[k+96>>2]!=(e|0)|i[k+108>>2]<=(r|0)|!i[k+100>>2]))return f;if(f=f+1|0,(t|0)==(f|0))break}}return n}function AZ(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0;k=B-32|0,B=k;i:{if(!A){if(l[k|0]=0,l[k+11|0]=0,r=r0(k+12|0,5,2001,k),l[k+11|0]<0&&G(i[k>>2]),P0(f,r,e?i[e>>2]:0),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}Or(k+12|0,r,0),n=i[k+12>>2];r:{if((n|0)!=i[k+16>>2]){e=U(8),r=i[i[n>>2]>>2],i[e+4>>2]=0,i[e>>2]=r,i[A>>2]=e,wt(f,e);break r}if(l[k|0]=0,l[k+11|0]=0,r=r0(k+12|0,3,0,k),l[k+11|0]<0&&G(i[k>>2]),P0(f,r,e?i[e>>2]:0),l[r+19|0]<0&&G(i[r+8>>2]),!n)break i}G(n)}B=k+32|0}function Y7(f,e){var r=0,A=0,k=0;i:{r:{e:{if(A=e&255,A){if(f&3)for(;;){if(r=s[f|0],!r|(r|0)==(A|0))break i;if(f=f+1|0,!(f&3))break}if(r=i[f>>2],((r|16843008-r)&-2139062144)!=-2139062144)break e;for(k=m(A,16843009);;){if(A=r^k,((16843008-A|A)&-2139062144)!=-2139062144)break e;if(r=i[f+4>>2],A=f+4|0,f=A,((16843008-r|r)&-2139062144)!=-2139062144)break}break r}return G2(f)+f|0}A=f}for(;;){if(f=A,r=s[f|0],!r)break i;if(A=f+1|0,(r|0)==(e&255))break}}return f}function J7(f,e){var r=0,A=0,k=0,n=0,t=0;r=B-32|0,B=r,i[r+28>>2]=0,i[r+20>>2]=0,i[r+24>>2]=0,w8(r,f,e,r+20|0),f=-1;i:{if(i[r>>2]||(A=i[r+20>>2],k=i[r+24>>2]-A|0,f=-1,k>>>0<2))break i;for(e=1;;){t=n,n=e;r:{if(s[A+t|0]!=255||(f=s[e+A|0],(f&240)!=192|s[(f&15)+35200|0]!=1))break r;if(e=t+4|0,f=-1,e>>>0>=k>>>0)break i;f=s[e+A|0];break i}if(e=n+1|0,(k|0)==(e|0))break}f=-1}return l[r+19|0]<0&&G(i[r+8>>2]),e=i[r+20>>2],e&&(i[r+24>>2]=e,G(e)),B=r+32|0,f}function g7(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=70032,l[f+103|0]<0&&G(i[f+92>>2]),l[f+91|0]<0&&G(i[f+80>>2]),l[f+79|0]<0&&G(i[f+68>>2]),l[f+67|0]<0&&G(i[f+56>>2]),i[f>>2]=68616,r=i[f+36>>2],r){if(e=r,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(r|0)==(A|0))break}e=i[f+36>>2]}i[f+40>>2]=r,G(e)}return i[f>>2]=68500,r=i[f+20>>2],r&&(i[f+24>>2]=r,G(r)),f|0}function fZ(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,k=B-32|0,B=k,X7(k+8|0,e,r,A,0);i:{if(i[k+8>>2]){e=i[k+12>>2],i[f>>2]=i[k+8>>2],i[f+4>>2]=e,i[f+16>>2]=i[k+24>>2],e=i[k+20>>2],i[f+8>>2]=i[k+16>>2],i[f+12>>2]=e,i[k+24>>2]=0,i[k+16>>2]=0,i[k+20>>2]=0;break i}if(l2(r,i[e+52>>2]|s[e+48|0]<<24),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}l[k+27|0]<0&&G(i[k+16>>2]),B=k+32|0}function kZ(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;if((e|0)>=2)for(w=(e|0)/2|0,_=e&2147483646,v=e&1;;){for(n=(m(e,k)<<1)+f|0,o=(m(e-k|0,e)<<1)+f|0,r=0,u=0;A=n+(r<<1)|0,h=Q[A>>1],t=((r^-1)<<1)+o|0,X[A>>1]=Q[t>>1],X[t>>1]=h,h=Q[A+2>>1],t=A,A=((r^2147483646)<<1)+o|0,X[t+2>>1]=Q[A>>1],X[A>>1]=h,r=r+2|0,u=u+2|0,(_|0)!=(u|0););if(v&&(A=n+(r<<1)|0,n=Q[A>>1],r=((r^-1)<<1)+o|0,X[A>>1]=Q[r>>1],X[r>>1]=n),k=k+1|0,(w|0)==(k|0))break}}function nZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;k=B-16|0,B=k;i:{if(!e)break i;f=i[f>>2],A=i[f+48>>2],f=i[f+52>>2];r:{if(!f){RA(k+4|0,A);break r}if(i[f+4>>2]=i[f+4>>2]+1,RA(k+4|0,A),A=i[f+4>>2],i[f+4>>2]=A-1,A)break r;V[i[i[f>>2]+8>>2]](f),g(f)}r:{e:{if(n=i[k+4>>2],A=i[k+8>>2]-n>>2,(A|0)<=0)break e;for(f=0;;){if((f|0)==(r|0)){A=r;break e}if(t=f<<2,i[t+e>>2]=i[n+t>>2],f=f+1|0,(A|0)==(f|0))break}break r}if(!n)break i}i[k+8>>2]=n,G(n)}return B=k+16|0,A|0}function OA(f){var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0;if(e=Y7(f,61),(e|0)==(f|0))return 0;k=e-f|0;i:{if(s[k+f|0]||(A=i[24899],!A)||(r=i[A>>2],!r))break i;for(;;){r:{n=f,t=k,e=0;e:{if(!k)break e;if(e=s[f|0],e)A:{for(;;){if(o=s[r|0],(o|0)!=(e|0)|!o||(t=t-1|0,!t))break A;if(r=r+1|0,e=s[n+1|0],n=n+1|0,!e)break}e=0}else e=0;e=e-s[r|0]|0}if(!e&&(e=i[A>>2]+k|0,s[e|0]==61))break r;if(r=i[A+4>>2],A=A+4|0,r)continue;break i}break}u=e+1|0}return u}function L1(f,e,r,A,k,n){var t=0,o=0,u=0;i:{if(n&64){k=n+-64|0,n=e,A=k&31,(k&63)>>>0>=32?(k=n<>>32-A|r<>>0>=32?(u=A<>>32-t|k<>>0>=32?(k=0,A=r>>>A|0):(k=r>>>A|0,A=((1<>>A),A=o|A,k=k|u,o=e,t=n&31,(n&63)>>>0>=32?(u=e<>>32-t|r<>2]=e,i[f+4>>2]=r,i[f+8>>2]=A,i[f+12>>2]=k}function N7(f){return l[f+316|0]=0,X[f+314>>1]=0,i[f+60>>2]=0,i[f+52>>2]=0,i[f+56>>2]=0,B0(f+116|0,0,164),i[f+108>>2]=0,i[f+112>>2]=0,i[f>>2]=-1,i[f+4>>2]=0,i[f+8>>2]=0,i[f+12>>2]=0,i[f+64>>2]=0,i[f+68>>2]=0,i[f+72>>2]=0,i[f+320>>2]=0,i[f+24>>2]=0,i[f+28>>2]=0,i[f+280>>2]=0,i[f+284>>2]=0,i[f+288>>2]=0,i[f+292>>2]=0,i[f+296>>2]=0,i[f+300>>2]=0,l[f+312|0]=2,l[f+104|0]=0,i[f+100>>2]=0,i[f+92>>2]=-1,i[f+96>>2]=-1,i[f+340>>2]=0,i[f+332>>2]=0,i[f+336>>2]=0,i[f+324>>2]=0,i[f+328>>2]=0,f}function b4(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;k=B-16|0,B=k,U2(+e),A=j0(1)|0,n=j0(0)|0,h=A,r=A&1048575,A=A>>>20&2047;i:{if(A|0){if((A|0)!=2047|t){o=(r&15)<<28|n>>>4,u=r>>>4|0,t=A+15360|0,A=n<<28,r=0;break i}o=(r&15)<<28|n>>>4,u=r>>>4|0,t=32767,A=n<<28,r=0;break i}if(!(r|n)){A=0,r=0;break i}A=r,r=r?$2(r):$2(n)+32|0,L1(k,n,A,0,0,r+49|0),t=15372-r|0,o=i[k+8>>2],u=i[k+12>>2]^65536,A=i[k+4>>2],r=i[k>>2]}i[f>>2]=r,i[f+4>>2]=A,i[f+8>>2]=o,i[f+12>>2]=u|(h&-2147483648|t<<16),B=k+16|0}function jA(f,e){var r=0,A=0,k=0;i:{if(r=i[e>>2],!r)break i;if(k=N0(r,72560,72972),k){A=i[e+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[f+184>>2]=k,r=i[f+188>>2],i[f+188>>2]=A;r:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(r=i[e>>2],!r)break i}if(A=N0(r,72560,73012),!A||(r=i[e+4>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),i[f+176>>2]=A,e=i[f+180>>2],i[f+180>>2]=r,!e)||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}}function x8(f){var e=0,r=0,A=0;if(!f){if(f=i[19518],f&&(e=x8(f)),f=i[19480],f&&(e=x8(f)|e),f=i[23946],f)for(;i[f+20>>2]!=i[f+28>>2]&&(e=x8(f)|e),f=i[f+56>>2],!!f;);return e}A=i[f+76>>2]<0;i:{r:{if(i[f+20>>2]==i[f+28>>2]||(V[i[f+36>>2]](f,0,0)|0,i[f+20>>2]))break r;e=-1;break i}if(e=i[f+8>>2],r=i[f+4>>2],(e|0)!=(r|0)&&(e=r-e|0,V[i[f+40>>2]](f,e,e>>31,1)|0),e=0,i[f+28>>2]=0,i[f+16>>2]=0,i[f+20>>2]=0,i[f+4>>2]=0,i[f+8>>2]=0,A)break i}return e}function tZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;k=B-32|0,B=k,i[k+16>>2]=e,A=i[f+48>>2],i[k+20>>2]=r-((A|0)!=0),t=i[f+44>>2],i[k+28>>2]=A,i[k+24>>2]=t;i:{r:{if(A=ps(i[f+60>>2],k+16|0,2,k+12|0)|0,A?(i[23944]=A,A=-1):A=0,A)e=32;else{if(A=i[k+12>>2],(A|0)>0)break r;e=A?32:16}i[f>>2]=e|i[f>>2];break i}if(n=A,t=i[k+20>>2],t>>>0>=A>>>0)break i;n=i[f+44>>2],i[f+4>>2]=n,i[f+8>>2]=n+(A-t|0),i[f+48>>2]&&(i[f+4>>2]=n+1,l[(e+r|0)-1|0]=s[n|0]),n=r}return B=k+32|0,n|0}function PA(f,e,r){var A=0,k=0;A=(r|0)!=0;i:{r:{e:{if(!(f&3)|!r)break e;for(k=e&255;;){if((k|0)==s[f|0])break r;if(r=r-1|0,A=(r|0)!=0,f=f+1|0,!(f&3))break e;if(!r)break}}if(!A)break i;if(A=e&255,!((A|0)==s[f|0]|r>>>0<4))for(A=m(A,16843009);;){if(k=A^i[f>>2],((16843008-k|k)&-2139062144)!=-2139062144)break r;if(f=f+4|0,r=r-4|0,!(r>>>0>3))break}if(!r)break i}for(e=e&255;;){if((e|0)==s[f|0])return f;if(f=f+1|0,r=r-1|0,!r)break}}return 0}function oZ(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0;if(!(n&1)){if(!((t|0)<=0|(n|0)<=0))for(;;){for(w=m(e,h)+f|0,u=m(k,h)<<1,_=u+A|0,u=r+u|0,v=0;o=(X[u>>1]+X[_>>1]|0)- -64>>7,o=(o|0)>=255?255:o,l[w|0]=(o|0)>0?o:0,o=(X[u+2>>1]+X[_+2>>1]|0)- -64>>7,o=(o|0)>=255?255:o,l[w+1|0]=(o|0)>0?o:0,_=_+4|0,u=u+4|0,w=w+2|0,v=v+2|0,(v|0)<(n|0););if(h=h+1|0,(h|0)==(t|0))break}return}C0(17190,13955,105,7860),P()}function R7(f){var e=0,r=0;e=U(128),r=e+32|0,i[r>>2]=0,i[r+4>>2]=0,i[e+68>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,i[e+24>>2]=0,i[e+28>>2]=0,i[e+72>>2]=0,i[e+76>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e>>2]=71984,i[e+40>>2]=0,i[e+44>>2]=0,i[e+48>>2]=0,i[e+52>>2]=0,i[e+56>>2]=0,i[e+60>>2]=0,l[e- -64|0]=0,i[e+16>>2]=69912,i[e+80>>2]=0,i[e+84>>2]=0,i[e+88>>2]=0,i[e+92>>2]=0,l[e+96|0]=0,i[e+112>>2]=0,i[e+116>>2]=0,i[e+120>>2]=0,i[e+124>>2]=0,i[e+32>>2]=1668114798,i[f+4>>2]=e,i[f>>2]=e+16}function lZ(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0;A=B-16|0,B=A;i:{r:{if(i[e+64>>2]&&!(V[i[i[e>>2]+24>>2]](e)|0))break r;i[f+8>>2]=-1,i[f+12>>2]=-1,i[f>>2]=0,i[f+4>>2]=0;break i}if(Ce(i[e+64>>2],i[r+8>>2],i[r+12>>2],0)){i[f+8>>2]=-1,i[f+12>>2]=-1,i[f>>2]=0,i[f+4>>2]=0;break i}k=i[r+4>>2],i[A+8>>2]=i[r>>2],i[A+12>>2]=k,k=i[A+12>>2],i[e+72>>2]=i[A+8>>2],i[e+76>>2]=k,e=i[r+12>>2],i[f+8>>2]=i[r+8>>2],i[f+12>>2]=e,e=i[r+4>>2],i[f>>2]=i[r>>2],i[f+4>>2]=e}B=A+16|0}function uZ(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0,t=0,o=0;i:{r:{e:{if(r=i[f>>2],f=i[r+164>>2],A=i[r+168>>2],(f|0)!=(A|0)){if(!e)return((A-f|0)-8>>>3|0)+1|0;if(n=G2(e),(n|0)!=-1)break e;for(;;){if(e=i[f>>2],l[e+15|0]<0&i[e+8>>2]==-1)break r;if(f=f+8|0,(A|0)==(f|0))break}}r=0;break i}for(r=0;k=i[f>>2],t=l[k+15|0],o=(t|0)<0,((o?i[k+8>>2]:t)|0)==(n|0)&&(r=!K2(o?i[k+4>>2]:k+4|0,e,n)+r|0),f=f+8|0,(A|0)!=(f|0););break i}O3(),P()}return r|0}function D7(f,e,r,A){var k=0,n=0,t=0,o=0;k=B-16|0,B=k;i:{r:{e:{if((f|0)!=(e|0))A:{f:{if(n=s[f|0],(n|0)!=45||(f=f+1|0,(e|0)!=(f|0)))break f;break A}o=i[23944],i[23944]=0,M2(),f=Xi(f,k+12|0,A,-1,-1),A=w0,t=i[23944];f:{if(t){if(i[k+12>>2]!=(e|0))break f;if((t|0)==68)break e;break r}if(i[23944]=o,i[k+12>>2]==(e|0))break r}}i[r>>2]=4,f=0,e=0;break i}i[r>>2]=4,f=-1,e=-1;break i}e=f,r=(n|0)==45,f=r?0-e|0:e,e=r?0-(A+((e|0)!=0)|0)|0:A}return B=k+16|0,w0=e,f}function sZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;k=B-32|0,B=k;i:{if(!r){if(l[k|0]=0,l[k+11|0]=0,r=r0(k+12|0,5,2001,k),l[k+11|0]<0&&G(i[k>>2]),n=f,f=i[e>>2],P0(n,r,f?f+8|0:0),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}if(A=i[e>>2],t=i[A+52>>2],A=i[A+56>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),t&&(n=r,r=i[t+8>>2],l0(n,r,i[t+12>>2]-r|0)),r=f,f=i[e>>2],P0(r,78256,f?f+8|0:0),!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break i;V[i[i[A>>2]+8>>2]](A),g(A)}B=k+32|0}function hZ(f){f=f|0;var e=0,r=0,A=0;if(e=l[f+11|0],r=(e|0)<0,e=r?i[f+4>>2]:e,(e|0)<8)return 3;i:{f=r?i[f>>2]:f;r:{if(s[f+4|0]!=102|s[f+5|0]!=116|(s[f+6|0]!=121|s[f+7|0]!=112))break r;if(e>>>0<12)return 3;A=1,f=p3(f,e);e:{if((f|0)<=1781689192){if((f|0)==1635150182|(f|0)==1751476579)break r;if((f|0)!=1751476600)break e;break r}A:switch(f-1835623985|0){case 0:case 1:break i;default:break A}if((f|0)==1781689193|(f|0)==1785750887)break r}A=2}return A|0}return 3}function wZ(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0,Z=0;if(!(k&1)){if(!((n|0)<=0|(k|0)<=0))for(v=(t|0)<14?1<<13-t:0,Z=14-t|0,u=-1<>1]+v>>Z,X[t>>1]=(o|0)>=0?(o|0)<(u|0)?o:u:0,o=X[w+2>>1]+v>>Z,X[t+2>>1]=(o|0)>=0?(o|0)<(u|0)?o:u:0,w=w+4|0,t=t+4|0,_=_+2|0,(_|0)<(k|0););if(h=h+1|0,(h|0)==(n|0))break}return}C0(17190,13955,172,8077),P()}function U7(f,e,r,A){var k=0,n=0,t=0;k=B-16|0,B=k;i:{r:{e:{if((f|0)!=(e|0)){t=i[23944],i[23944]=0,M2(),A=Xi(f,k+12|0,A,0,-2147483648),f=w0,n=i[23944];A:{if(n){if(i[k+12>>2]!=(e|0))break A;if((n|0)==68)break r;break e}if(i[23944]=t,i[k+12>>2]==(e|0))break e}}i[r>>2]=4,e=0;break i}if((f|0)<0&A>>>0<2147483648|(f|0)<-1|(A>>>0>2147483647&(f|0)>=0|(f|0)>0))break r;e=A;break i}if(i[r>>2]=4,e=2147483647,!!A&(f|0)>=0|(f|0)>0)break i;e=-2147483648}return B=k+16|0,e}function yi(f,e){var r=0,A=0,k=0,n=0,t=0,o=0;n=B-16|0,B=n,A=Ot(e),k=B-16|0,B=k;i:{if(A>>>0<=1073741815){r:{if(A>>>0<2){l[f+11|0]=s[f+11|0]&128|A&127,l[f+11|0]=s[f+11|0]&127,r=f;break r}o=k+8|0,A>>>0>=2?(t=A+2&-2,r=t-1|0,r=(r|0)==2?t:r):r=1,xi(o,r+1|0),r=i[k+8>>2],i[f>>2]=r,i[f+8>>2]=i[f+8>>2]&-2147483648|i[k+12>>2]&2147483647,i[f+8>>2]=i[f+8>>2]|-2147483648,i[f+4>>2]=A}De(r,e,A),i[k+4>>2]=0,i[(A<<2)+r>>2]=i[k+4>>2],B=k+16|0;break i}o4(),P()}B=n+16|0}function _Z(f){f=f|0;var e=0,r=0,A=0,k=0;i[f>>2]=73032,e=i[f+52>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function vZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,n=i[e+56>>2];i:{if(!s[e+48|0]){w2(r,n&65535);break i}l2(r,n)}i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function M7(f,e,r,A){var k=0,n=0,t=0,o=0;k=B-16|0,B=k;i:{r:{e:{A:{if((f|0)!=(e|0))f:{k:{if(n=s[f|0],(n|0)!=45||(f=f+1|0,(e|0)!=(f|0)))break k;break f}o=i[23944],i[23944]=0,M2(),f=Xi(f,k+12|0,A,-1,-1),A=w0,t=i[23944];k:{if(t){if(i[k+12>>2]!=(e|0))break k;if((t|0)==68)break e;break A}if(i[23944]=o,i[k+12>>2]==(e|0))break A}}i[r>>2]=4,f=0;break i}if(!A&f>>>0<=65535)break r}i[r>>2]=4,f=65535;break i}f=(n|0)==45?0-f|0:f}return B=k+16|0,f&65535}function G6(f,e){var r=0,A=0,k=0,n=0,t=0,o=0;n=B-16|0,B=n,A=G2(e),k=B-16|0,B=k;i:{if(A>>>0<=2147483639){r:{if(A>>>0<11){l[f+11|0]=s[f+11|0]&128|A&127,l[f+11|0]=s[f+11|0]&127,r=f;break r}o=k+8|0,A>>>0>=11?(t=A+8&-8,r=t-1|0,r=(r|0)==11?t:r):r=10,Mi(o,r+1|0),r=i[k+8>>2],i[f>>2]=r,i[f+8>>2]=i[f+8>>2]&-2147483648|i[k+12>>2]&2147483647,i[f+8>>2]=i[f+8>>2]|-2147483648,i[f+4>>2]=A}of(r,e,A),l[k+7|0]=0,l[A+r|0]=s[k+7|0],B=k+16|0;break i}o4(),P()}B=n+16|0}function mZ(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0;i:{if(t=i[e+16>>2],!t||(t=N0(t,72776,73212),!t))break i;e=i[e+20>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r>>2]=i[t+4>>2],i[A>>2]=i[t+8>>2],i[k>>2]=i[t+12>>2],i[n>>2]=i[t+16>>2],i[f+8>>2]=i[18412],r=i[18411],i[f>>2]=i[18410],i[f+4>>2]=r;r:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break r;V[i[i[e>>2]+8>>2]](e),g(e)}return}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560]}function BZ(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0;i:{if(t=i[e+16>>2],!t||(t=N0(t,72776,73256),!t))break i;e=i[e+20>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r>>2]=i[t+4>>2],i[A>>2]=i[t+8>>2],i[k>>2]=i[t+12>>2],i[n>>2]=i[t+16>>2],i[f+8>>2]=i[18412],r=i[18411],i[f>>2]=i[18410],i[f+4>>2]=r;r:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break r;V[i[i[e>>2]+8>>2]](e),g(e)}return}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560]}function x7(f,e,r){var A=0,k=0,n=0,t=0,o=0;n=B-16|0,B=n,k=B-16|0,B=k;i:{if(e>>>0<=2147483639){r:{if(e>>>0<11){l[f+11|0]=s[f+11|0]&128|e&127,l[f+11|0]=s[f+11|0]&127,A=f;break r}o=k+8|0,e>>>0>=11?(t=e+8&-8,A=t-1|0,A=(A|0)==11?t:A):A=10,Mi(o,A+1|0),A=i[k+8>>2],i[f>>2]=A,i[f+8>>2]=i[f+8>>2]&-2147483648|i[k+12>>2]&2147483647,i[f+8>>2]=i[f+8>>2]|-2147483648,i[f+4>>2]=e}_t(A,e,r),l[k+7|0]=0,l[e+A|0]=s[k+7|0],B=k+16|0;break i}o4(),P()}return B=n+16|0,f}function LA(f){var e=0,r=0,A=0,k=0;if(i[f+20>>2]=0,r=i[f+8>>2],e=i[f+4>>2],A=r-e>>2,A>>>0>=3)for(;G(i[e>>2]),e=i[f+4>>2]+4|0,i[f+4>>2]=e,r=i[f+8>>2],A=r-e>>2,A>>>0>2;);k=512;i:switch(A-1|0){case 1:k=1024;case 0:i[f+16>>2]=k;break;default:break i}i:{if((e|0)==(r|0))break i;for(;G(i[e>>2]),e=e+4|0,(r|0)!=(e|0););if(e=i[f+8>>2],r=i[f+4>>2],(e|0)==(r|0))break i;i[f+8>>2]=e+((r-e|0)+3&-4)}f=i[f>>2],f&&G(f)}function ZZ(f){f=f|0;var e=0,r=0,A=0,k=0;i[f>>2]=73032,e=i[f+52>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function pZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;if(k=B-32|0,B=k,t=V[i[i[e>>2]+32>>2]](e,r,0)|0,A=i[e+48>>2],n=i[e+52>>2],(A|0)!=(n|0))for(;w2(r,Q[A>>1]),A2(r,s[A+2|0]),A2(r,s[A+3|0]),A=A+4|0,(n|0)!=(A|0););Y4(k+12|0,e,r,t),l[k+31|0]<0&&G(i[k+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+32|0}function WZ(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;if((r|0)>0)for(h=1<>1]<>k)+t|0,i[(u<<2)+f>>2]=t,u=m(n|1,r)+o|0,t=t+((X[(u<<1)+e>>1]<>k)|0,i[(u<<2)+f>>2]=t,n=n+2|0,w=w+2|0,(_|0)!=(w|0););if(v&&(n=m(r,n)+o|0,i[(n<<2)+f>>2]=((X[(n<<1)+e>>1]<>k)+t),o=o+1|0,(o|0)==(r|0))break}}function z7(f){var e=0,r=0,A=0,k=0,n=0;return A=B-16|0,B=A,f=$0(f),i[f+40>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f>>2]=53616,B0(f+52|0,0,47),r=A+12|0,e=i[f+4>>2],i[r>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=St(i[r>>2],r1(100200)),O0(r),e&&(r=A+8|0,e=i[f+4>>2],i[r>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),k=f,n=x0(r,100200),i[k+68>>2]=n,O0(r),e=i[f+68>>2],k=f,n=V[i[i[e>>2]+28>>2]](e)|0,l[k+98|0]=n),V[i[i[f>>2]+12>>2]](f,0,4096)|0,B=A+16|0,f}function XZ(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0;u=B-32|0,B=u,o=i[e>>2],h=i[o+48>>2],o=i[o+52>>2];i:{if(!o){Dn(u+8|0,h,r,A,k,n);break i}if(i[o+4>>2]=i[o+4>>2]+1,Dn(u+8|0,h,r,A,k,n),r=i[o+4>>2],i[o+4>>2]=r-1,r)break i;V[i[i[o>>2]+8>>2]](o),g(o)}i:{if(!(i[u+12>>2]|!t)){i[t>>2]=i[u+8>>2],i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e;break i}P0(f,u+12|0,i[e>>2])}l[u+31|0]<0&&G(i[u+20>>2]),B=u+32|0}function GZ(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=70344,e=i[f+76>>2],e&&(i[f+80>>2]=e,G(e)),i[f>>2]=70224,e=i[f+60>>2],e&&(i[f+64>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function CZ(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;if((r|0)>0)for(u=1<>1]<>k)+t|0,i[(n<<2)+f>>2]=t,n=n+1|0,t=t+((X[(n<<1)+e>>1]<>k)|0,i[(n<<2)+f>>2]=t,o=o+2|0,w=w+2|0,(v|0)!=(w|0););if(Z&&(n=o+_|0,i[(n<<2)+f>>2]=((X[(n<<1)+e>>1]<>k)+t),h=h+1|0,(h|0)==(r|0))break}}function H7(f,e,r,A,k){var n=0,t=0,o=0;o=-1,t=A&2147483647,n=(t|0)==2147418112;i:{if((n&!r?f|e:n&(r|0)!=0|t>>>0>2147418112)||(n=k&2147483647,((n|0)==2147418112&0|n>>>0>2147418112)&(n|0)!=2147418112))break i;if(!(f|r|(n|t|e)))return 0;if(n=A&k,(n|0)>0?n=1:n=(n|0)>=0,n){if(((r|0)!=0|(A|0)!=(k|0))&(A|0)<(k|0))break i;return(f|r|(A^k|e))!=0}if(!r&(A|0)==(k|0)?f|e:(r|0)!=0&(A|0)>=(k|0)|(A|0)>(k|0))break i;o=(f|r|(A^k|e))!=0}return o}function VZ(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=70344,e=i[f+76>>2],e&&(i[f+80>>2]=e,G(e)),i[f>>2]=70224,e=i[f+60>>2],e&&(i[f+64>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function IZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,R4(r,e+56|0),R4(r,e+68|0),R4(r,e+80|0),R4(r,e+92|0),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function h2(f,e){var r=0,A=0,k=0,n=0;i:{if(s[f+11|0]>>>7|0?r=i[f+4>>2]:r=s[f+11|0]&127,r>>>0>>0){k=B-16|0,B=k,r=e-r|0,r&&(A=s[f+11|0]>>>7|0?(i[f+8>>2]&2147483647)-1|0:10,s[f+11|0]>>>7|0?e=i[f+4>>2]:e=s[f+11|0]&127,A-e>>>0>>0&&HA(f,A,e+(r-A|0)|0,e,e),s[f+11|0]>>>7|0?A=i[f>>2]:A=f,_t(A+e|0,r,0),n=f,f=e+r|0,wi(n,f),l[k+15|0]=0,l[f+A|0]=s[k+15|0]),B=k+16|0;break i}r=f,s[f+11|0]>>>7|0&&(f=i[f>>2]),Zt(r,f,e)}}function X8(f,e,r,A,k,n){var t=0,o=0,u=0;o=B-16|0,B=o;i:{r:{if(!f||(t=i[k+12>>2],u=r-e>>2,(u|0)>0&&(V[i[i[f>>2]+48>>2]](f,e,u)|0)!=(u|0)))break r;if(e=A-e>>2,t=(e|0)<(t|0)?t-e|0:0,(t|0)>0){e=W7(o+4|0,t,n);e:{if(s[e+11|0]>>>7|0){n=i[e>>2];break e}n=e}if(n=V[i[i[f>>2]+48>>2]](f,n,t)|0,l1(e),(n|0)!=(t|0))break r}if(e=A-r>>2,(e|0)>0&&(V[i[i[f>>2]+48>>2]](f,r,e)|0)!=(e|0))break r;i[k+12>>2]=0;break i}f=0}return B=o+16|0,f}function QZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;return n=V[i[i[f>>2]+8>>2]](f)|0,A=w0,n=r+n|0,A=n>>>0>>0?A+1|0:A,o=i[f+12>>2],k=o,u=i[f+8>>2],(A|0)<=(k|0)&u>>>0>=n>>>0|(A|0)<(k|0)&&(k=B-16|0,B=k,f=i[f+4>>2],i[f+4>>2]=0,X3(k+15|0,f),t=4,s[k+15|0]&&(t=i[(f+i[i[f>>2]-12>>2]|0)+24>>2],e=V[i[i[t>>2]+32>>2]](t,e,r)|0,i[f+4>>2]=e,t=(e|0)!=(r|0)?6:0),Oo(f+i[i[f>>2]-12>>2]|0,t),B=k+16|0),(A|0)<=(o|0)&n>>>0<=u>>>0|(A|0)<(o|0)}function G8(f,e,r,A,k,n){var t=0,o=0,u=0;o=B-16|0,B=o;i:{r:{if(!f||(t=i[k+12>>2],u=r-e|0,(u|0)>0&&(V[i[i[f>>2]+48>>2]](f,e,u)|0)!=(u|0)))break r;if(e=A-e|0,t=(e|0)<(t|0)?t-e|0:0,(t|0)>0){e=x7(o+4|0,t,n);e:{if(s[e+11|0]>>>7|0){n=i[e>>2];break e}n=e}if(n=V[i[i[f>>2]+48>>2]](f,n,t)|0,z0(e),(n|0)!=(t|0))break r}if(e=A-r|0,(e|0)>0&&(V[i[i[f>>2]+48>>2]](f,r,e)|0)!=(e|0))break r;i[k+12>>2]=0;break i}f=0}return B=o+16|0,f}function yZ(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;o=B-32|0,B=o,t=i[e>>2],u=i[t+48>>2],t=i[t+52>>2];i:{if(!t){f9(o+8|0,u,r,A,k);break i}if(i[t+4>>2]=i[t+4>>2]+1,f9(o+8|0,u,r,A,k),r=i[t+4>>2],i[t+4>>2]=r-1,r)break i;V[i[i[t>>2]+8>>2]](t),g(t)}i:{if(!(i[o+12>>2]|!n)){i[n>>2]=i[o+8>>2],i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e;break i}P0(f,o+12|0,i[e>>2])}l[o+31|0]<0&&G(i[o+20>>2]),B=o+32|0}function FZ(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;o=B-32|0,B=o,t=i[e>>2],u=i[t+48>>2],t=i[t+52>>2];i:{if(!t){Rn(o+8|0,u,r,A,k);break i}if(i[t+4>>2]=i[t+4>>2]+1,Rn(o+8|0,u,r,A,k),r=i[t+4>>2],i[t+4>>2]=r-1,r)break i;V[i[i[t>>2]+8>>2]](t),g(t)}i:{if(!(i[o+12>>2]|!n)){i[n>>2]=i[o+8>>2],i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e;break i}P0(f,o+12|0,i[e>>2])}l[o+31|0]<0&&G(i[o+20>>2]),B=o+32|0}function KA(f,e){var r=0,A=0,k=0;A=B-16|0,B=A,i[A+12>>2]=e;i:{r:{r=s[f+11|0],k=r>>>7|0;e:{if(!k){r=r&127,e=1;break e}r=i[f+4>>2],e=(i[f+8>>2]&2147483647)-1|0}if((e|0)==(r|0)){Z7(f,e,1,e,e);e:if(s[f+11|0]>>>7|0)break e;break r}e:if(s[f+11|0]>>>7|0)break e;if(k)break r;e=f,l[f+11|0]=s[f+11|0]&128|r+1&127,l[f+11|0]=s[f+11|0]&127;break i}e=i[f>>2],i[f+4>>2]=r+1}f=(r<<2)+e|0,i[f>>2]=i[A+12>>2],i[A+8>>2]=0,i[f+4>>2]=i[A+8>>2],B=A+16|0}function T7(f,e,r,A){var k=0,n=0,t=0,o=0;k=B-16|0,B=k;i:{r:{e:{A:{if((f|0)!=(e|0))f:{k:{if(n=s[f|0],(n|0)!=45||(f=f+1|0,(e|0)!=(f|0)))break k;break f}o=i[23944],i[23944]=0,M2(),f=Xi(f,k+12|0,A,-1,-1),A=w0,t=i[23944];k:{if(t){if(i[k+12>>2]!=(e|0))break k;if((t|0)==68)break e;break A}if(i[23944]=o,i[k+12>>2]==(e|0))break A}}i[r>>2]=4,f=0;break i}if(!A)break r}i[r>>2]=4,f=-1;break i}f=(n|0)==45?0-f|0:f}return B=k+16|0,f}function ie(f,e){i:{if(f){if(e>>>0<=127)break i;r:{if(!i[i[23985]>>2]){if((e&-128)==57216)break i;break r}if(e>>>0<=2047)return l[f+1|0]=e&63|128,l[f|0]=e>>>6|192,2;if(!((e&-8192)!=57344&e>>>0>=55296))return l[f+2|0]=e&63|128,l[f|0]=e>>>12|224,l[f+1|0]=e>>>6&63|128,3;if(e-65536>>>0<=1048575)return l[f+3|0]=e&63|128,l[f|0]=e>>>18|240,l[f+2|0]=e>>>6&63|128,l[f+1|0]=e>>>12&63|128,4}i[23944]=25,f=-1}else f=1;return f}return l[f|0]=e,1}function EZ(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0;if((e|0)>0)for(;;){if(k=i[(n<<2)+f>>2],k){r=i[k+20>>2];i:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[k+12>>2];i:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[k+4>>2];i:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r)}G(k)}if(n=n+1|0,(n|0)==(e|0))break}}function Fi(f,e){var r=0,A=0;A=f;i:{r:{if((A^e)&3){r=s[e|0];break r}if(e&3)for(;;){if(r=s[e|0],l[A|0]=r,!r)break i;if(A=A+1|0,e=e+1|0,!(e&3))break}if(r=i[e>>2],((r|16843008-r)&-2139062144)!=-2139062144)break r;for(;i[A>>2]=r,A=A+4|0,r=i[e+4>>2],e=e+4|0,((16843008-r|r)&-2139062144)==-2139062144;);}if(l[A|0]=r,!(r&255))break i;for(;r=s[e+1|0],l[A+1|0]=r,A=A+1|0,e=e+1|0,!!r;);}return f}function a7(f,e,r){var A=0,k=0,n=0,t=0,o=0;A=i[f+12>>2],k=i[f+8>>2],f=A-k>>2;i:{if((A|0)!=(k|0))for(o=f>>>0<=1?1:f;;){if(t=i[(n<<2)+k>>2],!(i[t+92>>2]!=(e|0)|i[t+108>>2]<=(r|0))&i[t+100>>2]==2)break i;if(n=n+1|0,(o|0)==(n|0))break}if(n=-1,(A|0)==(k|0))break i;for(t=f>>>0<=1?1:f,f=0;;){if(A=i[(f<<2)+k>>2],!(i[A+92>>2]!=(e|0)|i[A+108>>2]<=(r|0)|!i[A+100>>2]))return f;if(f=f+1|0,(t|0)==(f|0))break}}return n}function YZ(f){f=f|0;var e=0,r=0,A=0;r=i[f>>2],e=i[r+184>>2],r=i[r+188>>2],r&&(i[r+4>>2]=i[r+4>>2]+1);i:{if(e){f=V[i[i[e>>2]+8>>2]](e)|0;break i}if(e=i[f>>2],f=i[e+176>>2],e=i[e+180>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),f?f=V[i[i[f>>2]+8>>2]](f)|0:f=0,!e||(A=i[e+4>>2],i[e+4>>2]=A-1,A))break i;V[i[i[e>>2]+8>>2]](e),g(e)}i:{if(!r||(e=i[r+4>>2],i[r+4>>2]=e-1,e))break i;V[i[i[r>>2]+8>>2]](r),g(r)}return f|0}function C6(f,e){var r=0,A=0,k=0;A=B-16|0,B=A,l[A+15|0]=e;i:{r:{r=s[f+11|0],k=r>>>7|0;e:{if(!k){r=r&127,e=10;break e}r=i[f+4>>2],e=(i[f+8>>2]&2147483647)-1|0}if((e|0)==(r|0)){HA(f,e,1,e,e);e:if(s[f+11|0]>>>7|0)break e;break r}e:if(s[f+11|0]>>>7|0)break e;if(k)break r;e=f,l[f+11|0]=s[f+11|0]&128|r+1&127,l[f+11|0]=s[f+11|0]&127;break i}e=i[f>>2],i[f+4>>2]=r+1}f=e+r|0,l[f|0]=s[A+15|0],l[A+14|0]=0,l[f+1|0]=s[A+14|0],B=A+16|0}function JZ(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=69372,e=i[f+68>>2],e&&(i[f+72>>2]=e,G(e)),l[f+67|0]<0&&G(i[f+56>>2]),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function K1(f,e,r,A){var k=0,n=0;i:{if(s[f+11|0]>>>7|0?k=i[f+4>>2]:k=s[f+11|0]&127,!k|(r-e|0)<5)break i;te(e,r),n=r-4|0,s[f+11|0]>>>7|0?k=i[f+4>>2]:k=s[f+11|0]&127,s[f+11|0]>>>7|0&&(f=i[f>>2]),r=f,f=k+f|0;r:{for(;;){e:{if(k=l[r|0],e>>>0>=n>>>0)break e;if(!((k|0)<=0|(k|0)>=127)&(k|0)!=i[e>>2])break r;e=e+4|0,r=((f-r|0)>1)+r|0;continue}break}if((k|0)<=0|(k|0)>=127|l[r|0]>>>0>i[n>>2]-1>>>0)break i}i[A>>2]=4}}function gZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,w2(r,Q[e+48>>1]),w2(r,Q[e+50>>1]),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function NZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,l2(r,i[e+56>>2]),l2(r,i[e+60>>2]),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function RZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,l2(r,i[e+48>>2]),l2(r,i[e+52>>2]),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function DZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;for(n=B-16|0,B=n;;){i:{if((r|0)<=(t|0))break i;if(A=i[f+24>>2],k=i[f+28>>2],A>>>0>=k>>>0){if((V[i[i[f>>2]+52>>2]](f,i[e>>2])|0)==-1)break i;t=t+1|0,e=e+4|0}else i[n+12>>2]=k-A>>2,i[n+8>>2]=r-t,A=B-16|0,B=A,B=A+16|0,A=n+8|0,k=n+12|0,A=i[(i[A>>2]>2]?A:k)>>2],ui(e,A,i[f+24>>2]),k=A<<2,i[f+24>>2]=k+i[f+24>>2],t=A+t|0,e=e+k|0;continue}break}return B=n+16|0,t|0}function UZ(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=69372,e=i[f+68>>2],e&&(i[f+72>>2]=e,G(e)),l[f+67|0]<0&&G(i[f+56>>2]),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function N4(f,e){var r=0,A=0,k=0,n=0,t=0;r=i[f+40>>2],k=i[f+36>>2];i:{if((r-k|0)>0)for(;;){n=i[(A<<3)+k>>2];r:{if(!n||(t=i[e>>2],!t))break r;if(V[i[i[n>>2]+24>>2]](n,t)|0)break i;k=i[f+36>>2],r=i[f+40>>2]}if(A=A+1|0,!((A|0)>3))break}r:{if(k0[f+44>>2]>r>>>0){i[r>>2]=i[e>>2],e=i[e+4>>2],i[r+4>>2]=e,e&&(i[e+4>>2]=i[e+4>>2]+1),e=r+8|0;break r}e=Q2(f+36|0,e)}i[f+40>>2]=e,A=(e-i[f+36>>2]>>3)-1|0}return A}function U1(f,e,r,A,k,n,t,o,u){var h=0,w=0,_=0,v=0;u=q0(e,r,o,u),o=w0,k=q0(A,k,n,t),u=k+u|0,A=w0+o|0,o=k>>>0>u>>>0?A+1|0:A,h=t,k=0,w=r,A=0,r=q0(t,k,r,A),t=r+u|0,u=w0+o|0,_=t,r=r>>>0>t>>>0?u+1|0:u,t=q0(n,0,e,0),o=w0,u=0,A=q0(n,u,w,A),o=o+A|0,n=w0+u|0,n=A>>>0>o>>>0?n+1|0:n,u=n+_|0,A=r,n=n>>>0>u>>>0?A+1|0:A,e=q0(e,v,h,k)+o|0,k=w0,k=e>>>0>>0?k+1|0:k,o=k+u|0,u=n,i[f+8>>2]=o,i[f+12>>2]=k>>>0>o>>>0?u+1|0:u,i[f>>2]=t,i[f+4>>2]=e}function S7(f,e){var r=0,A=0;if((f|0)==14)return i[e>>2]?16419:15105;if(r=f&65535,A=f>>16,!((r|0)!=65535|(A|0)>5))return f=i[(A<<2)+e>>2],f?f+8|0:15510;f=31341;i:{r:{e:switch(A-1|0){case 0:if(r>>>0>1)break i;f=56612;break r;case 1:if(r>>>0>49)break i;f=56624;break r;case 4:break e;default:break i}if(r>>>0>3)break i;f=56944}if(!r)return f;for(;e=s[f|0],f=f+1|0,!(!e&&(r=r-1|0,!r)););}return f}function MZ(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0;i:{if(k=V[i[i[e>>2]+68>>2]](i[e+4>>2])|0,e=i[k>>2],!e)break i;for(;;){if(v4(i[e+4>>2],r)){if(e=i[k+4>>2],k=k+4|0,e)continue;break i}break}if(i[e+8>>2]!=3){e=i[18429],i[f>>2]=i[18428],i[f+4>>2]=e,i[f+8>>2]=i[18430];return}A&&(i[A>>2]=i[e+16>>2]),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412];return}e=i[18429],i[f>>2]=i[18428],i[f+4>>2]=e,i[f+8>>2]=i[18430]}function xZ(f){f=f|0;var e=0,r=0,A=0;e=i[f>>2],r=i[e+52>>2],e=i[e+56>>2],e&&(i[e+4>>2]=i[e+4>>2]+1);i:{r:{if(r){f=e;break r}f=i[f>>2],r=i[f+44>>2],f=i[f+48>>2],f&&(i[f+4>>2]=i[f+4>>2]+1);e:{if(!e||(A=i[e+4>>2],i[e+4>>2]=A-1,A))break e;V[i[i[e>>2]+8>>2]](e),g(e)}if(r)break r;e=0;break i}e=V[i[i[r>>2]+8>>2]](r)|0}i:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break i;V[i[i[f>>2]+8>>2]](f),g(f)}return e|0}function qA(f,e,r,A){var k=0,n=0,t=0,o=0;i:{r:{if(A){if(A>>>0>=357913942)break r;if(k=m(A,12),A=U(k),i[f+4>>2]=A,i[f>>2]=A,i[f+8>>2]=A+k,(e|0)!=(r|0))for(;;){if(i[A+8>>2]=0,i[A>>2]=0,i[A+4>>2]=0,t=i[e>>2],k=i[e+4>>2],(t|0)!=(k|0)){if(k=k-t|0,(k|0)<0)break i;n=U(k),i[A+4>>2]=n,i[A>>2]=n,o=k+n|0,i[A+8>>2]=o,l0(n,t,k),i[A+4>>2]=o}if(A=A+12|0,e=e+12|0,(r|0)==(e|0))break}i[f+4>>2]=A}return}y0(),P()}y0(),P()}function zZ(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0;n=B-16|0,B=n,e=i[e>>2],u=i[e+48>>2],e=i[e+52>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),t=U(4),i[n+4>>2]=t,o=t+4|0,i[n+12>>2]=o,i[t>>2]=k,i[n+8>>2]=o,P1(u,A,r,n+4|0),r=i[n+4>>2],r&&(i[n+8>>2]=r,G(r));i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],B=n+16|0}function HZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,A2(r,i[e+48>>2]/90&255),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function TZ(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0;i:{if(A)for(;;){if(A-k>>>0<=3||(n=k+4|0,k=r+k|0,k=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),k=k<<24|(k&65280)<<8|(k>>>8&65280|k>>>24),A-n>>>0>>0))break i;if(Tk(i[e>>2],r+n|0,k,0,0,0),k=k+n|0,!(k>>>0>>0))break}e=i[19372],i[f>>2]=i[19371],i[f+4>>2]=e,i[f+8>>2]=i[19373];return}e=i[19369],i[f>>2]=i[19368],i[f+4>>2]=e,i[f+8>>2]=i[19370]}function n4(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0;A=B-16|0,B=A,V1(A+8|0,f);i:{if(!s[A+8|0]||(n=A+4|0,k=i[(i[i[f>>2]-12>>2]+f|0)+28>>2],i[n>>2]=k,(k|0)!=100008&&(i[k+4>>2]=i[k+4>>2]+1),k=x0(n,99872),O0(n),i[A>>2]=i[(i[i[f>>2]-12>>2]+f|0)+24>>2],t=i[i[f>>2]-12>>2]+f|0,o=J6(t),u=A,h=V[i[i[k>>2]+28>>2]](k,i[A>>2],t,o,e,r)|0,i[u+4>>2]=h,i[n>>2]))break i;J4(i[i[f>>2]-12>>2]+f|0,5)}return Z1(A+8|0),B=A+16|0,f}function aZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;for(k=B-16|0,B=k;;){i:{if((r|0)<=(n|0))break i;if(A=i[f+24>>2],t=i[f+28>>2],A>>>0>=t>>>0){if((V[i[i[f>>2]+52>>2]](f,s[e|0])|0)==-1)break i;n=n+1|0,e=e+1|0}else i[k+12>>2]=t-A,i[k+8>>2]=r-n,A=B-16|0,B=A,B=A+16|0,A=k+8|0,t=k+12|0,A=i[(i[A>>2]>2]?A:t)>>2],e8(e,A,i[f+24>>2]),i[f+24>>2]=A+i[f+24>>2],n=A+n|0,e=e+A|0;continue}break}return B=k+16|0,n|0}function SZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;if(A=B-32|0,B=A,k=i[r>>2],k>>>0<2147483640){i:{r:{if(k>>>0>=11){t=(k|7)+1|0,n=U(t),i[A+16>>2]=t|-2147483648,i[A+8>>2]=n,i[A+12>>2]=k;break r}if(l[A+19|0]=k,n=A+8|0,!k)break i}l0(n,r+4|0,k)}return l[k+n|0]=0,V[f|0](A+20|0,e,A+8|0),f=U(12),i[f+8>>2]=i[A+28>>2],e=i[A+24>>2],i[f>>2]=i[A+20>>2],i[f+4>>2]=e,l[A+19|0]<0&&G(i[A+8>>2]),B=A+32|0,f|0}c2(),P()}function $A(f){var e=0,r=0,A=0,k=0;r=53,k=i[f+24>>2],e=i[f+28>>2],A=k-e|0,e=(((e-((k+6>>>0)%7|0)|0)+7>>>0)/7|0)+((A+369>>>0)%7>>>0<3)|0;i:{if((e|0)!=53){if(r=e,e)break i;r=52;r:switch(((A+6>>>0)%7|0)-4|0){case 1:if(!Vt((i[f+20>>2]%400|0)-1|0))break i;break;case 0:break r;default:break i}return 53}r:switch(((A+371>>>0)%7|0)-3|0){case 0:if(Vt(i[f+20>>2]))break i;break;case 1:break i;default:break r}r=1}return r}function OZ(f,e,r,A,k,n,t,o){if(f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,i[e+8>>2]!=1){e=i[18429],i[f>>2]=i[18428],i[f+4>>2]=e,i[f+8>>2]=i[18430];return}i:{if(!s[e+16|0]||(k&&(i[k>>2]=i[e+20>>2]),!n))break i;i[n>>2]=i[e+24>>2]}r&&(i[r>>2]=s[e+16|0]),A&&(i[A>>2]=s[e+16|0]),!o|i[e+32>>2]<=0||(i[o>>2]=i[e+28>>2]),t&&(i[t>>2]=i[e+32>>2]),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}function jZ(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;if((r|0)>0)for(o=1<>2]=(X[(t<<1)+e>>1]<>k,t=t+1|0,i[(t<<2)+f>>2]=(X[(t<<1)+e>>1]<>k,n=n+2|0,h=h+2|0,(_|0)!=(h|0););if(v&&(n=n+w|0,i[(n<<2)+f>>2]=(X[(n<<1)+e>>1]<>k),u=u+1|0,(u|0)==(r|0))break}}function PZ(f,e){f=f|0,e=e|0;var r=0;if((e|0)<8)return 3;i:{r:{if(s[f+4|0]!=102|s[f+5|0]!=116|(s[f+6|0]!=121|s[f+7|0]!=112))break r;if(e>>>0<12)return 3;r=1,f=p3(f,e);e:{if((f|0)<=1781689192){if((f|0)==1635150182|(f|0)==1751476579)break r;if((f|0)!=1751476600)break e;break r}A:switch(f-1835623985|0){case 0:case 1:break i;default:break A}if((f|0)==1781689193|(f|0)==1785750887)break r}r=2}return r|0}return 3}function L0(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;r=B-16|0,B=r,V1(r+8|0,f);i:{if(!s[r+8|0]||(k=r+4|0,A=i[(i[i[f>>2]-12>>2]+f|0)+28>>2],i[k>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(k,99872),O0(k),i[r>>2]=i[(i[i[f>>2]-12>>2]+f|0)+24>>2],n=i[i[f>>2]-12>>2]+f|0,t=J6(n),o=r,u=V[i[i[A>>2]+24>>2]](A,i[r>>2],n,t,e)|0,i[o+4>>2]=u,i[k>>2]))break i;J4(i[i[f>>2]-12>>2]+f|0,5)}return Z1(r+8|0),B=r+16|0,f}function re(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;r=B-16|0,B=r,V1(r+8|0,f);i:{if(!s[r+8|0]||(k=r+4|0,A=i[(i[i[f>>2]-12>>2]+f|0)+28>>2],i[k>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(k,99872),O0(k),i[r>>2]=i[(i[i[f>>2]-12>>2]+f|0)+24>>2],n=i[i[f>>2]-12>>2]+f|0,t=J6(n),o=r,u=V[i[i[A>>2]+12>>2]](A,i[r>>2],n,t,e)|0,i[o+4>>2]=u,i[k>>2]))break i;J4(i[i[f>>2]-12>>2]+f|0,5)}return Z1(r+8|0),B=r+16|0,f}function H0(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;r=B-16|0,B=r,V1(r+8|0,f);i:{if(!s[r+8|0]||(k=r+4|0,A=i[(i[i[f>>2]-12>>2]+f|0)+28>>2],i[k>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(k,99872),O0(k),i[r>>2]=i[(i[i[f>>2]-12>>2]+f|0)+24>>2],n=i[i[f>>2]-12>>2]+f|0,t=J6(n),o=r,u=V[i[i[A>>2]+16>>2]](A,i[r>>2],n,t,e)|0,i[o+4>>2]=u,i[k>>2]))break i;J4(i[i[f>>2]-12>>2]+f|0,5)}return Z1(r+8|0),B=r+16|0,f}function Q4(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;r=B-16|0,B=r,V1(r+8|0,f);i:{if(!s[r+8|0]||(k=r+4|0,A=i[(i[i[f>>2]-12>>2]+f|0)+28>>2],i[k>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(k,99872),O0(k),i[r>>2]=i[(i[i[f>>2]-12>>2]+f|0)+24>>2],n=i[i[f>>2]-12>>2]+f|0,t=J6(n),o=r,u=V[i[i[A>>2]+32>>2]](A,i[r>>2],n,t,e)|0,i[o+4>>2]=u,i[k>>2]))break i;J4(i[i[f>>2]-12>>2]+f|0,5)}return Z1(r+8|0),B=r+16|0,f}function d4(f,e){var r=0,A=0,k=0;if((e|0)<=8){if(!e)return 0;A=i[f+16>>2]<>2]=A,r=Q[f+20>>1]+e|0,X[f+20>>1]=r,r=r<<16>>16;i:{if((r|0)<0||(k=i[f+4>>2],k>>>0>=k0[f+8>>2]))break i;i[f+4>>2]=k+1,k=s[k|0],X[f+20>>1]=r-8,A=k<>2]<<7,r=(A>>>0)/(k>>>0)|0,e=1<=(e|0)&&(r=e-1|0),i[f+16>>2]=A-m(r,k),r}for(A=e-8|0,e=_9(f);e=x1(f)|e<<1,A=A-1|0,!!A;);return e}function O7(f,e){var r=0,A=0,k=0,n=0,t=0;k=B-16|0,B=k,t=i[23985],i[e+72>>2]<=0&&z3(e),i[23985]=i[e+136>>2],r=-1,i[e+4>>2]||(g6(e),A=!i[e+4>>2]);i:{if(A|(f|0)==-1||(A=ie(k+12|0,f),(A|0)<0)||(n=i[e+4>>2],n>>>0<(A+i[e+44>>2]|0)-8>>>0))break i;r:{if(f>>>0<=127){r=n-1|0,i[e+4>>2]=r,l[r|0]=f;break r}r=n-A|0,i[e+4>>2]=r,l0(r,k+12|0,A)}i[e>>2]=i[e>>2]&-17,r=f}return i[23985]=t,B=k+16|0,(r|0)!=-1}function LZ(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0;if(!(k&1)){if(!((n|0)<=0|(k|0)<=0))for(;;){for(u=m(e,o)+f|0,h=(m(A,o)<<1)+r|0,w=0;t=X[h>>1]+32>>6,t=(t|0)>=255?255:t,l[u|0]=(t|0)>0?t:0,t=X[h+2>>1]+32>>6,t=(t|0)>=255?255:t,l[u+1|0]=(t|0)>0?t:0,h=h+4|0,u=u+2|0,w=w+2|0,(w|0)<(k|0););if(o=o+1|0,(o|0)==(n|0))break}return}C0(17190,13955,40,7924),P()}function KZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,w2(r,Q[e+48>>1]),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function qZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,A2(r,s[e+48|0]),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function $Z(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,D4(r,e- -64|0),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function V6(f,e,r){var A=Y(0),k=Y(0),n=Y(0),t=Y(0),o=0,u=Y(0);o=B-16|0,B=o,Qn(o+8|0,e,r),A=Z0[o+12>>2],k=Z0[o+8>>2];i:{if(!(A!=Y(0)|k!=Y(0))){k=Y(-.714136004447937),A=Y(-.34413599967956543),n=Y(1.7719999551773071),t=Y(1.4019999504089355);break i}t=Y(Y(1)-k),u=Y(Y(A+k)+Y(-1)),k=Y(Y(Y(k+k)*t)/u),n=Y(Y(1)-A),A=Y(Y(Y(A+A)*n)/u),n=Y(n+n),t=Y(t+t)}Z0[f+16>>2]=n,Z0[f+12>>2]=k,Z0[f+8>>2]=A,Z0[f+4>>2]=t,l[f|0]=1,B=o+16|0}function j7(f){var e=0,r=0,A=0,k=0;e=i[f+28>>2],e&&V[e|0](),e=U(4),i[e>>2]=f,r=U(20),i[r+16>>2]=e,A=i[19573];i:{if(!A){f=78292,e=78292;break i}for(k=i[f+12>>2];;){if(f=A,i[i[i[f+16>>2]>>2]+12>>2]<(k|0)){if(e=f,A=i[f>>2],A)continue;break i}if(A=i[f+4>>2],!A)break}e=f+4|0}i[r+8>>2]=f,i[r>>2]=0,i[r+4>>2]=0,i[e>>2]=r,f=i[i[19572]>>2],f&&(i[19572]=f,r=i[e>>2]),D1(i[19573],r),i[19574]=i[19574]+1}function bZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;k=i[f>>2],A=i[k+72>>2],k=i[k+76>>2];i:{if((A|0)!=(k|0))for(n=i[i[f+8>>2]>>2];;){if(f=i[A>>2],i[f>>2]==(n|0)){if(A=i[A+4>>2],!A){A=0;break i}i[A+4>>2]=i[A+4>>2]+1;break i}if(A=A+8|0,(k|0)==(A|0))break}A=0,f=0}e&&(i[e>>2]=i[f+4>>2]),r&&(i[r>>2]=i[f+8>>2]);i:{if(!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break i;V[i[i[A>>2]+8>>2]](A),g(A)}}function bA(){var f=0,e=0,r=0;f=i[19359],f&&V[f|0](),f=i[19570];i:{r:{if(!f){e=78280,r=78280;break r}for(;;){if(r=f,e=i[f+16>>2],e>>>0>77428){if(e=f,f=i[f>>2],f)continue;break r}if(e>>>0>=77428)break i;if(f=i[r+4>>2],!f)break}e=r+4|0}f=U(20),i[f+8>>2]=r,i[f>>2]=0,i[f+4>>2]=0,i[f+16>>2]=77428,i[e>>2]=f,r=i[i[19569]>>2],r&&(i[19569]=r,f=i[e>>2]),D1(i[19570],f),i[19571]=i[19571]+1}j7(77496)}function I6(f){f=f|0;var e=0,r=0,A=0;i[f>>2]=53616,r=B-16|0,B=r,e=i[f+64>>2],e&&(i[r+4>>2]=980,e=o1(r+8|0,e,r+4|0),V[i[i[f>>2]+24>>2]](f)|0,A=i[e>>2],i[e>>2]=0,B3(A),i[f+64>>2]=0,V[i[i[f>>2]+12>>2]](f,0,0)|0,A=i[e>>2],i[e>>2]=0,A&&V[i[e+4>>2]](A)|0),B=r+16|0;i:{if(s[f+96|0]!=1||(e=i[f+32>>2],!e))break i;G(e)}i:{if(s[f+97|0]!=1||(e=i[f+56>>2],!e))break i;G(e)}return K0(f)|0}function oi(f,e,r){var A=0,k=0;i:{A=i[e+56>>2],e=i[e+60>>2];r:{if((A|0)!=(e|0))for(;;){if(!(i[A+40>>2]!=(r|0)|i[A+16>>2]!=1684630887)){if(i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,e=i[A+48>>2],r=i[A+44>>2],(e|0)==(r|0))break r;if(e=e-r|0,(e|0)<0)break i;A=U(e),i[f>>2]=A,k=e+A|0,i[f+8>>2]=k,l0(A,r,e),i[f+4>>2]=k;return}if(A=A+56|0,(e|0)==(A|0))break}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0}return}y0(),P()}function dA(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-32|0,B=A;i:{r:{if(k=i[19586],!k)break r;for(n=78344;t=k0[k+16>>2]>>0,n=t?n:k,k=i[(t<<2)+k>>2],!!k;);if((n|0)==78344|k0[n+16>>2]>r>>>0)break r;i[e+12>>2]=r,P0(f,78256,0);break i}if(i[e+12>>2]=2,l[A|0]=0,l[A+11|0]=0,e=f,f=r0(A+12|0,2,135,A),P0(e,f,0),l[f+19|0]<0&&G(i[f+8>>2]),l[A+11|0]>=0)break i;G(i[A>>2])}B=A+32|0}function dZ(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0;n=B-16|0,B=n,o=i[f>>2],t=i[o+112>>2],k=(i[o+116>>2]-t|0)/20|0;i:{if(!A||(A=(e|0)>=(k|0),k=0,A))break i;for(;A=i[f>>2],P0(n+4|0,m(e+k|0,20)+t|0,A?A+8|0:0),A=m(k,12)+r|0,i[A+8>>2]=i[n+12>>2],t=i[n+8>>2],i[A>>2]=i[n+4>>2],i[A+4>>2]=t,k=k+1|0,t=i[o+112>>2],(k+e|0)<((i[o+116>>2]-t|0)/20|0););}return B=n+16|0,k|0}function cZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-32|0,B=A,c7(A,e,r),l[A+19|0]<0&&G(i[A+8>>2]),k=e,n=B2(r),l[k+56|0]=n;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(f,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function Q6(f,e){var r=0,A=0,k=0,n=0,t=0;i:{if((e|0)<=0)break i;for(t=i[f+12>>2]<<7,A=Q[f+20>>1],r=i[f+16>>2];;){A=A+1|0,X[f+20>>1]=A,r=r<<1,i[f+16>>2]=r,A=A<<16>>16;r:{if((A|0)<0||(A=65528,X[f+20>>1]=65528,n=i[f+4>>2],n>>>0>=k0[f+8>>2]))break r;i[f+4>>2]=n+1,r=s[n|0]|r,i[f+16>>2]=r}if(r>>>0>>0)break i;if(r=r-t|0,i[f+16>>2]=r,k=k+1|0,(k|0)==(e|0))break}k=e}return(e|0)>(k|0)?k:e}function cA(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-32|0,B=A;i:{r:{if(k=i[19580],!k)break r;for(n=78320;t=k0[k+16>>2]>>0,n=t?n:k,k=i[(t<<2)+k>>2],!!k;);if((n|0)==78320|k0[n+16>>2]>r>>>0)break r;i[e+4>>2]=r,P0(f,78256,0);break i}if(i[e+4>>2]=2,l[A|0]=0,l[A+11|0]=0,e=f,f=r0(A+12|0,2,133,A),P0(e,f,0),l[f+19|0]<0&&G(i[f+8>>2]),l[A+11|0]>=0)break i;G(i[A>>2])}B=A+32|0}function R4(f,e){var r=0,A=0,k=0,n=0,t=0;if(A=i[e+4>>2],r=l[e+11|0],t=(i[f+12>>2]+((r|0)<0?A:r)|0)+1|0,k=i[f+4>>2]-i[f>>2]|0,t>>>0>k>>>0&&(L2(f,t-k|0),A=i[e+4>>2],r=s[e+11|0]),k=r,r=r<<24>>24<0,r?A:k)for(;r=s[(r?i[e>>2]:e)+n|0],A=i[f+12>>2],i[f+12>>2]=A+1,l[A+i[f>>2]|0]=r,A=l[e+11|0],r=A>>>31|0,n=n+1|0,n>>>0<((A|0)<0?i[e+4>>2]:A)>>>0;);e=i[f+12>>2],i[f+12>>2]=e+1,l[e+i[f>>2]|0]=0}function i3(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-32|0,B=A;i:{r:{if(k=i[19583],!k)break r;for(n=78332;t=k0[k+16>>2]>>0,n=t?n:k,k=i[(t<<2)+k>>2],!!k;);if((n|0)==78332|k0[n+16>>2]>r>>>0)break r;i[e+8>>2]=r,P0(f,78256,0);break i}if(i[e+8>>2]=2,l[A|0]=0,l[A+11|0]=0,e=f,f=r0(A+12|0,2,134,A),P0(e,f,0),l[f+19|0]<0&&G(i[f+8>>2]),l[A+11|0]>=0)break i;G(i[A>>2])}B=A+32|0}function ip(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;return f=B-256|0,B=f,i[f+248>>2]=37,i[f+252>>2]=0,t=f+248|0,H8(t|1,7540,1,i[r+4>>2]),o=M2(),i[f>>2]=k,i[f+4>>2]=n,k=f+224|0,t=b1(k,24,o,t,f)+k|0,u=X4(k,t,r),o=f+20|0,n=i[r+28>>2],i[o>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),n=k,k=f+32|0,Mr(n,u,t,k,f+28|0,f+24|0,o),O0(o),e=X8(e,k,i[f+28>>2],i[f+24>>2],r,A),B=f+256|0,e|0}function rp(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;return f=B-256|0,B=f,i[f+248>>2]=37,i[f+252>>2]=0,t=f+248|0,H8(t|1,7540,0,i[r+4>>2]),o=M2(),i[f>>2]=k,i[f+4>>2]=n,k=f+224|0,t=b1(k,24,o,t,f)+k|0,u=X4(k,t,r),o=f+20|0,n=i[r+28>>2],i[o>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),n=k,k=f+32|0,Mr(n,u,t,k,f+28|0,f+24|0,o),O0(o),e=X8(e,k,i[f+28>>2],i[f+24>>2],r,A),B=f+256|0,e|0}function ep(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;return f=B-112|0,B=f,i[f+104>>2]=37,i[f+108>>2]=0,t=f+104|0,H8(t|1,7540,1,i[r+4>>2]),o=M2(),i[f>>2]=k,i[f+4>>2]=n,k=f+80|0,t=b1(k,24,o,t,f)+k|0,u=X4(k,t,r),o=f+20|0,n=i[r+28>>2],i[o>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),n=k,k=f+32|0,xr(n,u,t,k,f+28|0,f+24|0,o),O0(o),e=G8(e,k,i[f+28>>2],i[f+24>>2],r,A),B=f+112|0,e|0}function Ap(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;return f=B-112|0,B=f,i[f+104>>2]=37,i[f+108>>2]=0,t=f+104|0,H8(t|1,7540,0,i[r+4>>2]),o=M2(),i[f>>2]=k,i[f+4>>2]=n,k=f+80|0,t=b1(k,24,o,t,f)+k|0,u=X4(k,t,r),o=f+20|0,n=i[r+28>>2],i[o>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),n=k,k=f+32|0,xr(n,u,t,k,f+28|0,f+24|0,o),O0(o),e=G8(e,k,i[f+28>>2],i[f+24>>2],r,A),B=f+112|0,e|0}function _0(f,e,r){var A=0,k=0,n=0,t=0;k=B-16|0,B=k;i:{r:{if(r>>>0<11){A=f,l[f+11|0]=s[f+11|0]&128|r&127,l[f+11|0]=s[f+11|0]&127;break r}if(r>>>0>2147483639)break i;t=k+8|0,r>>>0>=11?(n=r+8&-8,A=n-1|0,A=(A|0)==11?n:A):A=10,Mi(t,A+1|0),A=i[k+8>>2],i[f>>2]=A,i[f+8>>2]=i[f+8>>2]&-2147483648|i[k+12>>2]&2147483647,i[f+8>>2]=i[f+8>>2]|-2147483648,i[f+4>>2]=r}e8(e,r+1|0,A),B=k+16|0;return}o4(),P()}function P7(f,e,r,A){var k=0,n=0;i:{if(A>>>0>=3){i[23944]=28;break i}r:{if((A|0)!=1||(k=i[f+8>>2],!k))break r;n=e,k=k-i[f+4>>2]|0,e=e-k|0,r=r-((k>>31)+(k>>>0>n>>>0)|0)|0}if(i[f+20>>2]!=i[f+28>>2]&&(V[i[f+36>>2]](f,0,0)|0,!i[f+20>>2])||(i[f+28>>2]=0,i[f+16>>2]=0,i[f+20>>2]=0,V[i[f+40>>2]](f,e,r,A)|0,(w0|0)<0))break i;return i[f+4>>2]=0,i[f+8>>2]=0,i[f>>2]=i[f>>2]&-17,0}return-1}function L7(f,e){var r=0,A=0,k=0;i:{if((f|0)!=(e|0)){r=i[e+4>>2];r:{if(!r){r=0;break r}if(i[f+8>>2]<<5>>>0>>0){if(A=i[f>>2],A&&(G(A),i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,r=i[e+4>>2]),(r|0)<0)break i;r=(r-1>>>5|0)+1|0,A=U(r<<2),i[f+8>>2]=r,i[f+4>>2]=0,i[f>>2]=A,r=i[e+4>>2]}if(A=i[e>>2],k=(A+(r-1>>>3&536870908)|0)+4|0,(k|0)==(A|0))break r;F2(i[f>>2],A,k-A|0),r=i[e+4>>2]}i[f+4>>2]=r}return}y0(),P()}function fp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=69672,e=i[f+56>>2],e&&(i[f+60>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function kp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=70104,e=i[f+64>>2],e&&(i[f+68>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function np(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=70224,e=i[f+60>>2],e&&(i[f+64>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function tp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=74368,e=i[f+60>>2],e&&(i[f+64>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function op(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=74548,e=i[f+48>>2],e&&(i[f+52>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function lp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=74608,e=i[f+48>>2],e&&(i[f+52>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function up(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=74668,e=i[f+48>>2],e&&(i[f+52>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function sp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=74788,e=i[f+56>>2],e&&(i[f+60>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function hp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=68664,e=i[f+48>>2],e&&(i[f+52>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function wp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=68724,e=i[f+56>>2],e&&(i[f+60>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function K7(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0;l[f+44|0]=1,l[f|0]=1,pn(f,e);i:{if((r|0)<2)break i;for(k=r-1|0,t=f+52|0;n=m(A,52)+t|0,o=n,u=u0(e,1),l[o|0]=u,o=n,u=u0(e,1),l[o+44|0]=u,A=A+1|0,(k|0)!=(A|0););if(r-2>>>0<7)for(A=k;ni(e,2),A=A+1|0,(A|0)!=8;);if((r|0)<2)break i;for(f=f+52|0,A=0;pn(f+m(A,52)|0,e),A=A+1|0,(k|0)!=(A|0););}}function _p(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=69672,e=i[f+56>>2],e&&(i[f+60>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function vp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=70104,e=i[f+64>>2],e&&(i[f+68>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function mp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=74368,e=i[f+60>>2],e&&(i[f+64>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function Bp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=74548,e=i[f+48>>2],e&&(i[f+52>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function q7(f){var e=0,r=0,A=0;e=i[f+8>>2],e&&V[e|0](),e=i[19570];i:{r:{if(!e){r=78280,A=78280;break r}for(;;){if(A=e,r=i[e+16>>2],r>>>0>f>>>0){if(r=e,e=i[e>>2],e)continue;break r}if(f>>>0<=r>>>0)break i;if(e=i[A+4>>2],!e)break}r=A+4|0}e=U(20),i[e+8>>2]=A,i[e>>2]=0,i[e+4>>2]=0,i[e+16>>2]=f,i[r>>2]=e,f=i[i[19569]>>2],f&&(i[19569]=f,e=i[r>>2]),D1(i[19570],e),i[19571]=i[19571]+1}}function Zp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=74608,e=i[f+48>>2],e&&(i[f+52>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function pp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=74668,e=i[f+48>>2],e&&(i[f+52>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function Wp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=74788,e=i[f+56>>2],e&&(i[f+60>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function ee(f,e,r){var A=0,k=0,n=0;A=i[r+16>>2];i:{if(!A){if(G3(r))break i;A=i[r+16>>2]}if(k=i[r+20>>2],A-k>>>0>>0)return V[i[r+36>>2]](r,f,e)|0;r:{e:{if(!e|i[r+80>>2]<0)break e;for(A=e;;){if(n=f+A|0,s[n-1|0]!=10){if(A=A-1|0,A)continue;break e}break}if(k=V[i[r+36>>2]](r,f,A)|0,k>>>0>>0)break i;e=e-A|0,k=i[r+20>>2];break r}n=f,A=0}l0(k,n,e),i[r+20>>2]=i[r+20>>2]+e,k=e+A|0}return k}function $7(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=70224,e=i[f+60>>2],e&&(i[f+64>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function Xp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=68664,e=i[f+48>>2],e&&(i[f+52>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function Gp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=68724,e=i[f+56>>2],e&&(i[f+60>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function Cp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=70524,l[f+67|0]<0&&G(i[f+56>>2]),i[f>>2]=68616,r=i[f+36>>2],r){if(e=r,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(r|0)==(A|0))break}e=i[f+36>>2]}i[f+40>>2]=r,G(e)}return i[f>>2]=68500,r=i[f+20>>2],r&&(i[f+24>>2]=r,G(r)),f|0}function Vp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=68844,l[f+87|0]<0&&G(i[f+76>>2]),i[f>>2]=68616,r=i[f+36>>2],r){if(e=r,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(r|0)==(A|0))break}e=i[f+36>>2]}i[f+40>>2]=r,G(e)}return i[f>>2]=68500,r=i[f+20>>2],r&&(i[f+24>>2]=r,G(r)),f|0}function b7(f,e,r,A){var k=0,n=0,t=0;k=B-16|0,B=k,t=i[e+48>>2],A=i[i[A>>2]+20>>2],r=i[i[r>>2]+20>>2],e=U(4),i[k+4>>2]=e,n=e+4|0,i[k+12>>2]=n,i[e>>2]=r,i[k+8>>2]=n,P1(t,A,1953000802,k+4|0),e=i[k+4>>2],e&&(i[k+8>>2]=e,G(e)),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+16|0}function Ip(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;for(var n=0,t=0,o=0,u=0,h=0,w=0;;){i:{if((r|0)==(A|0)|k>>>0<=u>>>0)break i;o=1,n=B-16|0,B=n,i[n+12>>2]=i[f+8>>2],t=S4(n+8|0,n+12|0),h=B6(0,r,A-r|0,e||99836),t=i[t>>2],t&&(i[23985]=(t|0)==-1?95820:t),B=n+16|0;r:switch(h+2|0){default:o=h;break;case 0:case 1:break i;case 2:break r}u=u+1|0,w=o+w|0,r=r+o|0;continue}break}return w|0}function Qp(f,e){f=f|0,e=e|0;var r=0,A=0;r=i[f+24>>2],r>>>0>k0[f+44>>2]&&(i[f+44>>2]=r);i:{if(r=i[f+8>>2],A=i[f+12>>2],r>>>0>=A>>>0)break i;if((e|0)==-1)return i[f+16>>2]=i[f+44>>2],i[f+12>>2]=A-1,i[f+8>>2]=r,((e|0)!=-1?e:0)|0;if(A=i[f+12>>2]-1|0,!(s[f+48|0]&16)&s[A|0]!=(e&255))break i;return r=i[f+8>>2],i[f+16>>2]=i[f+44>>2],i[f+12>>2]=A,i[f+8>>2]=r,l[i[f+12>>2]]=e<<24>>24,e|0}return-1}function yp(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0;if((r|0)>0)for(u=r&2147483646,h=r&1;;){if(A=0,k=0,o=0,(r|0)!=1)for(;t=m(r,A)+n|0,k=X[(t<<1)+e>>1]+k|0,i[(t<<2)+f>>2]=k,t=m(A|1,r)+n|0,k=k+X[(t<<1)+e>>1]|0,i[(t<<2)+f>>2]=k,A=A+2|0,o=o+2|0,(u|0)!=(o|0););if(h&&(A=m(r,A)+n|0,i[(A<<2)+f>>2]=X[(A<<1)+e>>1]+k),n=n+1|0,(n|0)==(r|0))break}}function Fp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=70524,l[f+67|0]<0&&G(i[f+56>>2]),i[f>>2]=68616,r=i[f+36>>2],r){if(e=r,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(r|0)==(A|0))break}e=i[f+36>>2]}i[f+40>>2]=r,G(e)}i[f>>2]=68500,r=i[f+20>>2],r&&(i[f+24>>2]=r,G(r)),G(f)}function Ep(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-16|0,B=A,k=e,n=D0(r),i[k+48>>2]=n,k=e,n=D0(r),i[k+52>>2]=n;i:{if(s[r+20|0]==1){if(l[A+4|0]=0,l[A+15|0]=0,r0(f,2,100,A+4|0),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+16|0}function Yp(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-16|0,B=A,k=e,n=t2(r),X[k+48>>1]=n,k=e,n=t2(r),X[k+50>>1]=n;i:{if(s[r+20|0]==1){if(l[A+4|0]=0,l[A+15|0]=0,r0(f,2,100,A+4|0),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+16|0}function Jp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=68844,l[f+87|0]<0&&G(i[f+76>>2]),i[f>>2]=68616,r=i[f+36>>2],r){if(e=r,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(r|0)==(A|0))break}e=i[f+36>>2]}i[f+40>>2]=r,G(e)}i[f>>2]=68500,r=i[f+20>>2],r&&(i[f+24>>2]=r,G(r)),G(f)}function d7(f,e,r,A){var k=0,n=0,t=0;k=B-16|0,B=k;i:{r:{if((f|0)!=(e|0)){t=i[23944],i[23944]=0,M2(),f=Xi(f,k+12|0,A,0,-2147483648),A=w0,n=i[23944];e:{if(n){if(i[k+12>>2]!=(e|0))break e;if((n|0)==68)break r;break i}if(i[23944]=t,i[k+12>>2]==(e|0))break i}}i[r>>2]=4,f=0,A=0;break i}if(i[r>>2]=4,!!f&(A|0)>=0|(A|0)>0){f=-1,A=2147483647;break i}f=0,A=-2147483648}return B=k+16|0,w0=A,f}function c7(f,e,r){var A=0,k=0;A=B-16|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+4|0]=0,l[A+15|0]=0,r0(f,2,100,A+4|0),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+16|0}function i9(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0;k=B-16|0,B=k,n=i[f+4>>2],A=i[r>>2]-i[f>>2]|0;i:{if(A>>>0<2147483647){A=A<<1;break i}A=-1}if(t=A>>>0<=1?1:A,o=i[e>>2],u=i[f>>2],A=Er((n|0)!=1095?i[f>>2]:0,t),A){(n|0)!=1095&&(i[f>>2]=0),i[k+4>>2]=1094,A=o1(k+8|0,A,k+4|0),yt(f,A),n=i[A>>2],i[A>>2]=0,n&&V[i[A+4>>2]](n),i[e>>2]=i[f>>2]+(o-u|0),i[r>>2]=t+i[f>>2],B=k+16|0;return}u1(),P()}function r3(f,e){var r=0,A=0,k=0,n=0;i:{if((e|0)==10){if(A=255,f=i[f+36>>2]-10|0,f>>>0>=6)break i;e=f<<3,f=e&31,(e&63)>>>0>=32?A=16432>>>f|0:A=((1<>>f;break i}if(r=i[f+64>>2],!r)break i;for(k=f- -64|0,f=k;n=i[r+16>>2]<(e|0),f=n?f:r,r=i[(n<<2)+r>>2],!!r;);if((f|0)==(k|0)|i[f+16>>2]>(e|0))break i;A=s[f+20|0]+7&-8}return A&255}function T4(f,e){var r=0,A=0,k=0;if(r=i[f+16>>2],r>>>0>>0){if(r){if(e=i[f+8>>2],e){for(;i[e+16>>2]=i[e+16>>2]-r,e=i[e+8>>2],!!e;);r=i[f+16>>2]}A=i[f>>2],e=V[i[i[A>>2]+8>>2]](A)|0,k=w0,e=e+r|0,k=e>>>0>>0?k+1|0:k,V[i[i[A>>2]+20>>2]](A,e,k)|0,i[f+16>>2]=0}return l[f+20|0]=1,0}A=i[f+8>>2];i:{if(A){if(r=0,!T4(A,e))break i;r=i[f+16>>2]}i[f+16>>2]=r-e,r=1}return r}function r9(f,e,r){var A=0,k=0,n=Y(0),t=0;k=B-16|0,B=k;i:{r:{e:{if((f|0)!=(e|0)){t=i[23944],i[23944]=0,M2(),A=B-16|0,B=A,h3(A,f,k+12|0,0),n=gn(i[A>>2],i[A+4>>2],i[A+8>>2],i[A+12>>2]),B=A+16|0;A:{if(f=i[23944],f){if(i[k+12>>2]==(e|0))break A;break e}if(i[23944]=t,i[k+12>>2]!=(e|0))break e;break i}if((f|0)!=68)break i;break r}i[r>>2]=4;break i}n=Y(0)}i[r>>2]=4}return B=k+16|0,n}function Ei(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0;k=B-16|0,B=k,n=i[f+4>>2],A=i[r>>2]-i[f>>2]|0;i:{if(A>>>0<2147483647){A=A<<1;break i}A=-1}if(t=A||4,o=i[e>>2],u=i[f>>2],A=Er((n|0)!=1095?i[f>>2]:0,t),A){(n|0)!=1095&&(i[f>>2]=0),i[k+4>>2]=1094,A=o1(k+8|0,A,k+4|0),yt(f,A),n=i[A>>2],i[A>>2]=0,n&&V[i[A+4>>2]](n),i[e>>2]=i[f>>2]+(o-u|0),i[r>>2]=i[f>>2]+(t&-4),B=k+16|0;return}u1(),P()}function gp(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0;return f=B-144|0,B=f,i[f+136>>2]=37,i[f+140>>2]=0,n=f+136|0,H8(n|1,7810,1,i[r+4>>2]),t=M2(),i[f>>2]=k,k=f+123|0,t=b1(k,13,t,n,f)+k|0,u=X4(k,t,r),o=f+4|0,n=i[r+28>>2],i[o>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),n=k,k=f+16|0,Mr(n,u,t,k,f+12|0,f+8|0,o),O0(o),e=X8(e,k,i[f+12>>2],i[f+8>>2],r,A),B=f+144|0,e|0}function Np(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0;return f=B-144|0,B=f,i[f+136>>2]=37,i[f+140>>2]=0,n=f+136|0,H8(n|1,7810,0,i[r+4>>2]),t=M2(),i[f>>2]=k,k=f+123|0,t=b1(k,13,t,n,f)+k|0,u=X4(k,t,r),o=f+4|0,n=i[r+28>>2],i[o>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),n=k,k=f+16|0,Mr(n,u,t,k,f+12|0,f+8|0,o),O0(o),e=X8(e,k,i[f+12>>2],i[f+8>>2],r,A),B=f+144|0,e|0}function e9(f,e,r){var A=0,k=0,n=0;i:{if(s[f+46|0]){if(n=1,k=i[f+48>>2],(k|0)<=0)break i;if(i[f+8360>>2]!=(e|0)){for(n=f+8360|0;;){if(A=A+1|0,(k|0)==(A|0))break i;if(i[n+(A<<2)>>2]==(e|0))break}n=(A|0)<(k|0)}if(A=0,e=i[f+52>>2],(e|0)>0)for(k=f+8404|0;f=i[k+(A<<2)>>2]==(r|0),!f&&(A=A+1|0,(e|0)!=(A|0)););else f=0;return f&n}return!(e|r)}return 0}function Rp(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0;return f=B+-64|0,B=f,i[f+56>>2]=37,i[f+60>>2]=0,n=f+56|0,H8(n|1,7810,1,i[r+4>>2]),t=M2(),i[f>>2]=k,k=f+43|0,t=b1(k,13,t,n,f)+k|0,u=X4(k,t,r),o=f+4|0,n=i[r+28>>2],i[o>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),n=k,k=f+16|0,xr(n,u,t,k,f+12|0,f+8|0,o),O0(o),e=G8(e,k,i[f+12>>2],i[f+8>>2],r,A),B=f- -64|0,e|0}function Dp(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0;return f=B+-64|0,B=f,i[f+56>>2]=37,i[f+60>>2]=0,n=f+56|0,H8(n|1,7810,0,i[r+4>>2]),t=M2(),i[f>>2]=k,k=f+43|0,t=b1(k,13,t,n,f)+k|0,u=X4(k,t,r),o=f+4|0,n=i[r+28>>2],i[o>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),n=k,k=f+16|0,xr(n,u,t,k,f+12|0,f+8|0,o),O0(o),e=G8(e,k,i[f+12>>2],i[f+8>>2],r,A),B=f- -64|0,e|0}function D0(f){var e=0,r=0,A=0;r=B-16|0,B=r;i:{if(!T4(f,4))break i;A=i[f>>2],e=i[f+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1);r:{if(!(V[i[i[A>>2]+16>>2]](A,r+12|0,4)|0)){vi(f),A=0;break r}f=s[r+12|0]|s[r+13|0]<<8|(s[r+14|0]<<16|s[r+15|0]<<24),A=f<<24|(f&65280)<<8|(f>>>8&65280|f>>>24)}if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}return B=r+16|0,A}function A9(f,e,r){var A=0,k=0,n=0,t=0;k=B-16|0,B=k;i:{r:{e:{if((f|0)!=(e|0)){t=i[23944],i[23944]=0,M2(),A=B-16|0,B=A,h3(A,f,k+12|0,1),n=YA(i[A>>2],i[A+4>>2],i[A+8>>2],i[A+12>>2]),B=A+16|0;A:{if(f=i[23944],f){if(i[k+12>>2]==(e|0))break A;break e}if(i[23944]=t,i[k+12>>2]!=(e|0))break e;break i}if((f|0)!=68)break i;break r}i[r>>2]=4;break i}n=0}i[r>>2]=4}return B=k+16|0,n}function Up(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0;return f=B-208|0,B=f,n=M2(),i[f>>2]=k,t=f+176|0,u=b1(t,20,n,6131,f),o=t+u|0,h=X4(t,o,r),k=f+16|0,n=i[r+28>>2],i[k>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),n=x0(k,100184),O0(k),V[i[i[n>>2]+48>>2]](n,t,o,k)|0,n=e,e=k+(u<<2)|0,e=X8(n,k,(o|0)==(h|0)?e:((h-f<<2)+f|0)-688|0,e,r,A),B=f+208|0,e|0}function Mp(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0;n=B-16|0,B=n;i:{if(A&&(f=0,(k|0)<=0))break i;Or(n+4|0,e,r),t=i[n+8>>2],r=i[n+4>>2],e=t-r>>2;r:{e:{if(!A){f=e;break e}if(f=0,(r|0)==(t|0)|(k|0)<=0)break e;for(;;){if(t=f<<2,i[t+A>>2]=i[r+t>>2],f=f+1|0,(k|0)<=(f|0))break r;if(!(f>>>0>>0))break}break r}if(!r)break i}G(r)}return B=n+16|0,f|0}function xp(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=hr()|0;i:{if(!e){i[f+4>>2]=k,i[f>>2]=95844;break i}gA(A+8|0,e,r,A+20|0);r:{if(i[A+8>>2]){e=U(12),i[e+8>>2]=i[A+16>>2],r=i[A+12>>2],i[e>>2]=i[A+8>>2],i[e+4>>2]=r,i[A+24>>2]=e,e=j1(73788,A+24|0)|0;break r}i[A+24>>2]=i[A+20>>2],e=j1(73856,A+24|0)|0}if(i[f+4>>2]=e,i[f>>2]=95844,k>>>0<9)break i;t1(k|0)}B=A+32|0}function e3(f){var e=0,r=0,A=0;A=B-16|0,B=A,U2(+f),r=j0(1)|0,j0(0)|0,r=r&2147483647;i:{if(r>>>0<=1072243195){if(e=1,r>>>0<1044816030)break i;e=R6(f,0);break i}if(e=f-f,r>>>0>=2146435072)break i;r=Ck(f,A),f=i0[A+8>>3],e=i0[A>>3];r:switch((r&3)-1|0){default:e=R6(e,f);break i;case 0:e=-F6(e,f,1);break i;case 1:e=-R6(e,f);break i;case 2:break r}e=F6(e,f,1)}return B=A+16|0,e}function zp(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-16|0,B=A,k=e,n=m(B2(r)&3,90),i[k+48>>2]=n;i:{if(s[r+20|0]==1){if(l[A+4|0]=0,l[A+15|0]=0,r0(f,2,100,A+4|0),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+16|0}function A3(f){var e=0,r=0,A=0;r=B-16|0,B=r,U2(+f),e=j0(1)|0,j0(0)|0,e=e&2147483647;i:{if(e>>>0<=1072243195){if(e>>>0<1045430272)break i;f=F6(f,0,0);break i}if(e>>>0>=2146435072){f=f-f;break i}e=Ck(f,r),f=i0[r+8>>3],A=i0[r>>3];r:switch((e&3)-1|0){default:f=F6(A,f,1);break i;case 0:f=R6(A,f);break i;case 1:f=-F6(A,f,1);break i;case 2:break r}f=-R6(A,f)}return B=r+16|0,f}function f9(f,e,r,A,k){var n=0,t=0;n=B-32|0,B=n,t=f+4|0,i[t>>2]=0,i[t+4>>2]=0,i[t+16>>2]=0,i[t+8>>2]=0,i[t+12>>2]=0,t=n+24|0,D8(t,e,r),r=i[n+24>>2],l[r+124|0]=1,i[r+52>>2]=i[r+52>>2]&-2|1,i[f>>2]=i[r+56>>2],MA(n+4|0,e,t,A,k,0),l[n+23|0]<0&&G(i[n+12>>2]),f=i[n+28>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=n+32|0}function Hp(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;r=B-32|0,B=r,A=hr()|0;i:{if(!e){i[f+4>>2]=A,i[f>>2]=95844;break i}Sn(r+8|0,e,r+20|0);r:{if(i[r+8>>2]){e=U(12),i[e+8>>2]=i[r+16>>2],k=i[r+12>>2],i[e>>2]=i[r+8>>2],i[e+4>>2]=k,i[r+24>>2]=e,e=j1(73788,r+24|0)|0;break r}i[r+24>>2]=i[r+20>>2],e=j1(73856,r+24|0)|0}if(i[f+4>>2]=e,i[f>>2]=95844,A>>>0<9)break i;t1(A|0)}B=r+32|0}function k9(f,e,r){var A=0,k=0,n=0,t=0;return k=B-16|0,B=k,A=B-32|0,B=A,ft(A+24|0,f,e),At(A+16|0,i[A+24>>2],i[A+28>>2],r),t=i[A+16>>2],e=B-16|0,B=e,i[e+12>>2]=f,f=B-16|0,B=f,n=e+12|0,i[f+12>>2]=i[n>>2],B=f+16|0,f=J3(n,t-i[f+12>>2]>>2),B=e+16|0,i[A+12>>2]=f,i[A+8>>2]=(i[A+20>>2]-r|0)+r,i[k+8>>2]=i[A+12>>2],i[k+12>>2]=i[A+8>>2],B=A+32|0,B=k+16|0,i[k+12>>2]}function Tp(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0;return f=B-96|0,B=f,n=M2(),i[f>>2]=k,t=f- -64|0,u=b1(t,20,n,6131,f),o=t+u|0,h=X4(t,o,r),k=f+16|0,n=i[r+28>>2],i[k>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),n=x0(k,100192),O0(k),V[i[i[n>>2]+32>>2]](n,t,o,k)|0,n=e,e=k+u|0,e=G8(n,k,(o|0)==(h|0)?e:((h-f|0)+f|0)-48|0,e,r,A),B=f+96|0,e|0}function ap(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-16|0,B=A,k=e,n=B2(r)&1,i[k+48>>2]=n;i:{if(s[r+20|0]==1){if(l[A+4|0]=0,l[A+15|0]=0,r0(f,2,100,A+4|0),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+16|0}function n9(f,e,r){var A=0,k=0,n=0,t=0;return k=B-16|0,B=k,A=B-32|0,B=A,ft(A+24|0,f,e),kt(A+16|0,i[A+24>>2],i[A+28>>2],r),t=i[A+16>>2],e=B-16|0,B=e,i[e+12>>2]=f,f=B-16|0,B=f,n=e+12|0,i[f+12>>2]=i[n>>2],B=f+16|0,f=R3(n,t-i[f+12>>2]|0),B=e+16|0,i[A+12>>2]=f,i[A+8>>2]=(i[A+20>>2]-r|0)+r,i[k+8>>2]=i[A+12>>2],i[k+12>>2]=i[A+8>>2],B=A+32|0,B=k+16|0,i[k+12>>2]}function Ae(f,e,r){var A=0,k=0;for(r&2048&&(l[f|0]=43,f=f+1|0),r&1024&&(l[f|0]=35,f=f+1|0),A=r&260,(A|0)!=260&&(l[f|0]=46,l[f+1|0]=42,f=f+2|0),r=r&16384;;){if(k=s[e|0],k){l[f|0]=k,f=f+1|0,e=e+1|0;continue}break}i:{r:{if((A|0)!=256){if((A|0)!=4)break r;e=r?70:102;break i}e=r?69:101;break i}if(e=r?65:97,(A|0)==260)break i;e=r?71:103}return l[f|0]=e,(A|0)!=260}function Sp(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-16|0,B=A,k=e,n=t2(r),X[k+48>>1]=n;i:{if(s[r+20|0]==1){if(l[A+4|0]=0,l[A+15|0]=0,r0(f,2,100,A+4|0),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+16|0}function Op(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-16|0,B=A,k=e,n=B2(r),l[k+48|0]=n;i:{if(s[r+20|0]==1){if(l[A+4|0]=0,l[A+15|0]=0,r0(f,2,100,A+4|0),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+16|0}function jp(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0;n=B-16|0,B=n;i:{if((A|0)<=0&&r)break i;Or(n+4|0,f,e),t=i[n+8>>2],e=i[n+4>>2],f=t-e>>2;r:{e:{if(!r){k=f;break e}if((e|0)==(t|0)|(A|0)<=0)break e;for(;;){if(t=k<<2,i[t+r>>2]=i[e+t>>2],k=k+1|0,(k|0)>=(A|0))break r;if(!(f>>>0>k>>>0))break}break r}if(!e)break i}G(e)}return B=n+16|0,k|0}function Pp(f,e,r,A,k){if(f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,Q1(f,i[e+8>>2],k)){i[e+28>>2]==1|i[e+4>>2]!=(r|0)||(i[e+28>>2]=A);return}i:{if(!Q1(f,i[e>>2],k))break i;if(!(i[e+16>>2]!=(r|0)&i[e+20>>2]!=(r|0))){if((A|0)!=1)break i;i[e+32>>2]=1;return}i[e+20>>2]=r,i[e+32>>2]=A,i[e+40>>2]=i[e+40>>2]+1,i[e+36>>2]!=1|i[e+24>>2]!=2||(l[e+54|0]=1),i[e+44>>2]=4}}function Lp(f){return f=f|0,s[100276]?i[25068]:(s[100760]||(l[100760]=1),E2(100592,65988),E2(100604,66016),E2(100616,66044),E2(100628,66076),E2(100640,66116),E2(100652,66152),E2(100664,66180),E2(100676,66216),E2(100688,66232),E2(100700,66248),E2(100712,66264),E2(100724,66280),E2(100736,66296),E2(100748,66312),l[100276]=1,i[25068]=100592,100592)}function t9(f){f=f|0;var e=0,r=0,A=0,k=0;for(i[f>>2]=60312,k=f+8|0;;){if(e=i[f+8>>2],i[f+12>>2]-e>>2>>>0>r>>>0){e=i[e+(r<<2)>>2],e&&(A=i[e+4>>2]-1|0,i[e+4>>2]=A,(A|0)==-1&&V[i[i[e>>2]+8>>2]](e)),r=r+1|0;continue}break}return z0(f+144|0),e=B-16|0,B=e,i[e+12>>2]=k,r=i[e+12>>2],i[r>>2]&&(ao(r),Mt(i[e+12>>2]+12|0,i[i[e+12>>2]>>2])),B=e+16|0,f|0}function Kp(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B+-64|0,B=A,k=1;i:{if(Q1(f,e,0)||(k=0,!e)||(e=N0(e,67148,67196),k=0,!e))break i;B0(A+8|0,0,56),l[A+59|0]=1,i[A+16>>2]=-1,i[A+12>>2]=f,i[A+4>>2]=e,i[A+52>>2]=1,V[i[i[e>>2]+28>>2]](e,A+4|0,i[r>>2],1),f=i[A+28>>2],(f|0)==1&&(i[r>>2]=i[A+20>>2]),k=(f|0)==1}return f=k,B=A- -64|0,f|0}function qp(f){f=f|0;var e=0,r=0;r=f+12|0,e=i[r+8496>>2],e&&(i[r+8500>>2]=e,G(e)),e=i[r+8484>>2],e&&(i[r+8488>>2]=e,G(e)),e=i[r+8472>>2],e&&(i[r+8476>>2]=e,G(e)),e=i[r+8460>>2],e&&(i[r+8464>>2]=e,G(e)),e=i[r+8448>>2],e&&(i[r+8452>>2]=e,G(e)),f=i[f+20>>2];i:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break i;V[i[i[f>>2]+8>>2]](f),g(f)}}function $p(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;return k=i[f+84>>2],n=i[k>>2],A=i[k+4>>2],o=i[f+28>>2],t=i[f+20>>2]-o|0,t=A>>>0>>0?A:t,t&&(l0(n,o,t),n=t+i[k>>2]|0,i[k>>2]=n,A=i[k+4>>2]-t|0,i[k+4>>2]=A),A=r>>>0>A>>>0?A:r,A&&(l0(n,e,A),n=A+i[k>>2]|0,i[k>>2]=n,i[k+4>>2]=i[k+4>>2]-A),l[n|0]=0,e=i[f+44>>2],i[f+28>>2]=e,i[f+20>>2]=e,r|0}function bp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=68616,r=i[f+36>>2],r){if(e=r,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(r|0)==(A|0))break}e=i[f+36>>2]}i[f+40>>2]=r,G(e)}return i[f>>2]=68500,r=i[f+20>>2],r&&(i[f+24>>2]=r,G(r)),f|0}function f3(f,e,r,A){var k=0,n=0,t=0,o=0;k=B-48|0,B=k,n=i[i[f>>2]-12>>2]+f|0,t=i[n+16>>2]&-3,z1(n,t),X3(k+47|0,f),s[k+47|0]&&(n=k+24|0,o=i[(i[i[f>>2]-12>>2]+f|0)+24>>2],V[i[i[o>>2]+16>>2]](n,o,e,r,A,8),e=k+8|0,i[e+8>>2]=-1,i[e+12>>2]=-1,i[e>>2]=0,i[e+4>>2]=0,J4(i[i[f>>2]-12>>2]+f|0,i[e+8>>2]==i[n+8>>2]&i[n+12>>2]==i[e+12>>2]?t|4:t)),B=k+48|0}function dp(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;if((r|0)!=31)for(w=r+5|0,u=1<>1]<>12)+o|0,h=k+_|0,n=o+s[h|0]|0,n=(n|0)>=255?255:n,l[h|0]=(n|0)>0?n:0,k=k+1|0,(u|0)!=(k|0););if(t=t+1|0,(u|0)==(t|0))break}}function E2(f,e){var r=0,A=0,k=0;i:{if(A=Ot(e),r=s[f+11|0]>>>7|0?(i[f+8>>2]&2147483647)-1|0:1,s[f+11|0]>>>7|0?k=i[f+4>>2]:k=s[f+11|0]&127,A>>>0<=r>>>0){s[f+11|0]>>>7|0?r=i[f>>2]:r=f,Qo(r,e,A),e=B-16|0,B=e;r:if(s[f+11|0]>>>7|0)break r;wi(f,A),i[e+12>>2]=0,i[r+(A<<2)>>2]=i[e+12>>2],B=e+16|0;break i}r7(f,r,A-r|0,k,0,k,A,e)}}function cp(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;if((r|0)!=31)for(w=r+5|0,u=1<>1]<>12)+o|0,h=m(A,k)+_|0,n=o+s[h|0]|0,n=(n|0)>=255?255:n,l[h|0]=(n|0)>0?n:0,k=k+1|0,(u|0)!=(k|0););if(t=t+1|0,(u|0)==(t|0))break}}function k3(f){var e=0,r=0;if(e=B-16|0,B=e,i[(i[i[f>>2]-12>>2]+f|0)+24>>2]){i[e+12>>2]=f,l[e+8|0]=0,i[(i[i[f>>2]-12>>2]+f|0)+16>>2]||(r=i[(i[i[f>>2]-12>>2]+f|0)+72>>2],r&&k3(r),l[e+8|0]=1);i:{if(!s[e+8|0]||(r=i[(i[i[f>>2]-12>>2]+f|0)+24>>2],(V[i[i[r>>2]+24>>2]](r)|0)!=-1))break i;J4(i[i[f>>2]-12>>2]+f|0,1)}Z1(e+8|0)}B=e+16|0}function G1(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=68616,r=i[f+36>>2],r){if(e=r,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(r|0)==(A|0))break}e=i[f+36>>2]}i[f+40>>2]=r,G(e)}i[f>>2]=68500,r=i[f+20>>2],r&&(i[f+24>>2]=r,G(r)),G(f)}function n3(f,e,r,A){l[f+53|0]=1;i:{if(i[f+4>>2]!=(r|0))break i;l[f+52|0]=1,r=i[f+16>>2];r:{if(!r){if(i[f+36>>2]=1,i[f+24>>2]=A,i[f+16>>2]=e,(A|0)!=1)break i;if(i[f+48>>2]==1)break r;break i}if((e|0)==(r|0)){if(r=i[f+24>>2],(r|0)==2&&(i[f+24>>2]=A,r=A),i[f+48>>2]!=1)break i;if((r|0)==1)break r;break i}i[f+36>>2]=i[f+36>>2]+1}l[f+54|0]=1}}function iW(f){f=f|0;var e=0,r=0;if(f){e=i[f+20>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+12>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+4>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}G(f)}}function rW(f){return f=f|0,s[100268]?i[25066]:(s[100584]||(l[100584]=1),Y2(100416,1470),Y2(100428,1477),Y2(100440,1443),Y2(100452,1451),Y2(100464,1434),Y2(100476,1484),Y2(100488,1461),Y2(100500,6172),Y2(100512,7008),Y2(100524,9257),Y2(100536,13565),Y2(100548,2553),Y2(100560,8170),Y2(100572,3543),l[100268]=1,i[25066]=100416,100416)}function M1(f,e){i:{if((e|0)>=1024){if(f=f*898846567431158e293,e>>>0<2047){e=e-1023|0;break i}f=f*898846567431158e293,e=(e>>>0>=3069?3069:e)-2046|0;break i}if((e|0)>-1023)break i;if(f=f*2004168360008973e-307,e>>>0>4294965304){e=e+969|0;break i}f=f*2004168360008973e-307,e=(e>>>0<=4294964336?-2960:e)+1938|0}return N2(0,0),N2(1,e+1023<<20),f*+m1()}function eW(f,e){f=f|0,e=e|0;var r=0,A=0;f=i[f>>2],r=i[f+48>>2],f=i[f+52>>2],f&&(i[f+4>>2]=i[f+4>>2]+1),A=i[r+20>>2],r=i[r+24>>2];i:{if(!r){Z4(A,e);break i}if(i[r+4>>2]=i[r+4>>2]+1,Z4(A,e),e=i[r+4>>2],i[r+4>>2]=e-1,e)break i;V[i[i[r>>2]+8>>2]](r),g(r)}i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}}function AW(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;if(A=B-16|0,B=A,k=i[r>>2],k>>>0<2147483640){t=i[f>>2];i:{r:{if(k>>>0>=11){n=(k|7)+1|0,f=U(n),i[A+12>>2]=n|-2147483648,i[A+4>>2]=f,i[A+8>>2]=k;break r}if(l[A+15|0]=k,f=A+4|0,!k)break i}l0(f,r+4|0,k)}l[f+k|0]=0,V[t|0](e,A+4|0),l[A+15|0]<0&&G(i[A+4>>2]),B=A+16|0;return}c2(),P()}function o9(f,e){var r=0,A=0,k=0,n=0,t=0,o=0;A=f+18548|0,r=f2(A,i[f+18572>>2]+150|0),k=1,n=f2(A,i[f+18572>>2]+150|0),t=1,r&&(t=!f2(A,i[f+18572>>2]+151|0)),n&&(k=!f2(A,i[f+18572>>2]+151|0)),r&&(r=-1,t||(r=DA(A,1)),o=x1(A)?65534-r|0:r+2|0),e=(e<<2)+f|0,n?(r=-1,k||(r=DA(A,1)),f=x1(A)?65534-r|0:r+2|0):f=0,X[e+20>>1]=f,X[e+18>>1]=o}function fW(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0;if(r=B-16|0,B=r,on(r+4|0,i[f>>2],e),k=i[r+8>>2],e=i[r+4>>2],e){if(f=e,(e|0)!=(k|0)){for(f=k;;){A=i[f-4>>2];i:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break i;V[i[i[A>>2]+8>>2]](A),g(A)}if(f=f-8|0,(e|0)==(f|0))break}f=i[r+4>>2]}i[r+8>>2]=e,G(f)}return B=r+16|0,k-e>>3}function kW(f){f=f|0;var e=0,r=0,A=0,k=0;if(l[f+73|0]=0,l[f+74|0]=0,l[f+75|0]=0,l[f+76|0]=0,e=s[f+72|0],k=e>>>0<=2?2:e,r=e,A=i[f+60>>2],e=i[f+56>>2],r=A-e>>>0>2097120?k:r,(e|0)!=(A|0))for(;r=k0[e>>2]>65535&&(r|0)<=2?2:r,r=s[e+4|0]&&(r|0)<=1?1:r,e=e+32|0,(A|0)!=(e|0););l[f+75|0]=4,l[f+73|0]=4,l[f+74|0]=4,l[f+48|0]=r}function t3(f){var e=0,r=0,A=0;e=i[f+12>>2]-2|0,i[f+12>>2]=e,A=1,r=i[f+16>>2],e=e<<7;i:{if(r>>>0>=e>>>0||(A=0,e>>>0>32767)||(r=r<<1,i[f+16>>2]=r,i[f+12>>2]=e>>>6,e=Q[f+20>>1]+1|0,X[f+20>>1]=e,(e|0)==(e&65535))||(X[f+20>>1]=65528,e=i[f+4>>2],e>>>0>=k0[f+8>>2]))break i;i[f+4>>2]=e+1,i[f+16>>2]=r+s[e|0]}return A}function l9(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0;e=B-16|0,B=e,k=e+16|0;i:{for(;;){if(A=i[f+36>>2],r=e+8|0,n=V[i[i[A>>2]+20>>2]](A,i[f+40>>2],r,k,e+4|0)|0,A=-1,t=r,r=i[e+4>>2]-r|0,(F1(t,1,r,i[f+32>>2])|0)!=(r|0))break i;r:switch(n-1|0){case 1:break i;case 0:continue;default:break r}break}A=x8(i[f+32>>2])?-1:0}return B=e+16|0,A|0}function nW(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;if(A=B-128|0,B=A,r=i[e+16>>2],i[A>>2]=i[e+12>>2],i[A+4>>2]=r,e=A+16|0,ke(e,13597,A),r=G2(e),r>>>0<2147483640){i:{r:{if(r>>>0>=11){k=(r|7)+1|0,e=U(k),i[f+8>>2]=k|-2147483648,i[f>>2]=e,i[f+4>>2]=r,f=e;break r}if(l[f+11|0]=r,!r)break i}l0(f,A+16|0,r)}l[f+r|0]=0,B=A+128|0;return}c2(),P()}function c4(f,e,r,A){var k=0,n=0,t=0,o=0;k=B-16|0,B=k,i[k+12>>2]=e,i[k+8>>2]=A,t=S4(k+4|0,k+12|0),e=B-16|0,B=e,A=i[k+8>>2],i[e+12>>2]=A,i[e+8>>2]=A,n=-1,A=le(0,0,r,A);i:{if((A|0)<0||(o=f,A=A+1|0,f=Z2(A),i[o>>2]=f,!f))break i;n=le(f,A,r,i[e+12>>2])}return B=e+16|0,f=i[t>>2],f&&(i[23985]=(f|0)==-1?95820:f),B=k+16|0,n}function tW(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0;if(r=B-16|0,B=r,A=i[e>>2],A>>>0<2147483640){i:{r:{if(A>>>0>=11){n=(A|7)+1|0,k=U(n),i[r+12>>2]=n|-2147483648,i[r+4>>2]=k,i[r+8>>2]=A;break r}if(l[r+15|0]=A,k=r+4|0,!A)break i}l0(k,e+4|0,A)}return l[A+k|0]=0,f=V[f|0](r+4|0)|0,l[r+15|0]<0&&G(i[r+4>>2]),B=r+16|0,f|0}c2(),P()}function o3(f){var e=0,r=0,A=0;r=B-16|0,B=r;i:{if(!T4(f,2))break i;A=i[f>>2],e=i[f+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1);r:{if(!(V[i[i[A>>2]+16>>2]](A,r+14|0,2)|0)){vi(f),A=0;break r}f=s[r+14|0]|s[r+15|0]<<8,A=f<<8|f>>>8}if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}return B=r+16|0,A<<16>>16}function oW(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A;i:{if(!e){if(l[A|0]=0,l[A+11|0]=0,e=f,f=r0(A+12|0,5,2001,A),P0(e,f,0),l[f+19|0]<0&&G(i[f+8>>2]),l[A+11|0]>=0)break i;G(i[A>>2]);break i}if(k=i[i[e>>2]+60>>2],k){V[k|0](f,i[e+4>>2],r);break i}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}B=A+32|0}function t2(f){var e=0,r=0,A=0;r=B-16|0,B=r;i:{if(!T4(f,2))break i;A=i[f>>2],e=i[f+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1);r:{if(!(V[i[i[A>>2]+16>>2]](A,r+14|0,2)|0)){vi(f),A=0;break r}f=s[r+14|0]|s[r+15|0]<<8,A=f<<8|f>>>8}if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}return B=r+16|0,A&65535}function lW(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,A2(r,s[e+48|0]),Y4(A+12|0,e,r,k),l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function uW(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;t=B-16|0,B=t;i:{if(!e){i[f>>2]=5,i[f+4>>2]=2006,i[f+8>>2]=2383;break i}o=i0[e>>3]*+(r|0),i0[t+8>>3]=o,i0[t>>3]=s[e+24|0]?i0[e+32>>3]*+(A|0):o,k&&(i0[k>>3]=i0[t+8>>3]),n&&(i0[n>>3]=i0[t>>3]),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}B=t+16|0}function sW(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,A2(r,s[e+56|0]),Y4(A+12|0,e,r,k),l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function hW(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;return A=i[f+20>>2],k=i[f+16>>2],t=r+k|0,A=t>>>0>>0?A+1|0:A,n=i[f+12>>2],o=i[f+8>>2],(A|0)<=(n|0)&o>>>0>=t>>>0|(A|0)<(n|0)&&(l0(e,i[f+4>>2]+k|0,r),k=i[f+20>>2],e=r+i[f+16>>2]|0,k=e>>>0>>0?k+1|0:k,i[f+16>>2]=e,i[f+20>>2]=k),(A|0)<=(n|0)&t>>>0<=o>>>0|(A|0)<(n|0)}function wW(f){f=f|0;var e=0,r=0,A=0,k=0,n=0;if(n=B-16|0,B=n,e=i[f+652>>2],e&&(i[f+656>>2]=e,G(e)),e=i[f+640>>2],e&&(i[f+644>>2]=e,G(e)),e=i[f+604>>2],e){if(r=e,A=i[f+608>>2],(e|0)!=(A|0)){for(;r=A-12|0,k=i[r>>2],k&&(i[A-8>>2]=k,G(k)),A=r,(e|0)!=(A|0););r=i[f+604>>2]}i[f+608>>2]=e,G(r)}B=n+16|0}function l3(f,e,r,A,k){var n=0,t=0,o=0,u=0;t=B-16|0,B=t,n=t+12|0,e=i[e+28>>2],i[n>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(n,100184),V[i[i[e>>2]+48>>2]](e,60064,60096,r)|0,e=x0(n,100256),o=A,u=V[i[i[e>>2]+12>>2]](e)|0,i[o>>2]=u,o=k,u=V[i[i[e>>2]+16>>2]](e)|0,i[o>>2]=u,V[i[i[e>>2]+20>>2]](f,e),O0(n),B=t+16|0}function _W(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,D4(r,e+48|0),Y4(A+12|0,e,r,k),l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function u3(f,e,r,A,k){var n=0,t=0,o=0,u=0;t=B-16|0,B=t,n=t+12|0,e=i[e+28>>2],i[n>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(n,100192),V[i[i[e>>2]+32>>2]](e,60064,60096,r)|0,e=x0(n,100248),o=A,u=V[i[i[e>>2]+12>>2]](e)|0,l[o|0]=u,o=k,u=V[i[i[e>>2]+16>>2]](e)|0,l[o|0]=u,V[i[i[e>>2]+20>>2]](f,e),O0(n),B=t+16|0}function vW(f){f=f|0;var e=0,r=0,A=0,k=0,n=0;if(e=i[f+56>>2],A=i[f+60>>2],(e|0)!=(A|0))for(;;){if(k0[e+40>>2]>65535){l[f+48|0]=1;return}r=i[e+44>>2],k=i[e+48>>2];i:{if((r|0)==(k|0))break i;for(;;){if(k0[r>>2]<65536){if(r=r+4|0,(k|0)!=(r|0))continue;break i}break}n=1}if(e=e+56|0,(A|0)==(e|0))break}l[f+48|0]=n}function u9(f,e,r){var A=0,k=0,n=0;if(A=i[r+72>>2],i[r+72>>2]=A-1|A,A=i[r+4>>2],k=i[r+8>>2],(A|0)==(k|0)?A=e:(n=A,A=k-A|0,A=e>>>0>A>>>0?A:e,l0(f,n,A),i[r+4>>2]=A+i[r+4>>2],f=f+A|0,A=e-A|0),A)for(;;){i:{if(!g6(r)&&(k=V[i[r+32>>2]](r,f,A)|0,k))break i;return e-A|0}if(f=f+k|0,A=A-k|0,!A)break}return e}function fe(f,e,r){var A=0,k=0,n=0;i:{A=i[e+112>>2];r:{if(!A)break r;for(k=e+112|0,e=k;n=k0[A+16>>2]>>0,e=n?e:A,A=i[(n<<2)+A>>2],!!A;);if((e|0)==(k|0))break r;if(k0[e+16>>2]<=r>>>0)break i}i[f>>2]=0,i[f+4>>2]=0;return}i[f>>2]=i[e+20>>2],r=f,f=i[e+24>>2],i[r+4>>2]=f,f&&(i[f+4>>2]=i[f+4>>2]+1)}function s9(f,e){var r=0,A=0;r=B-32|0,B=r,i[f+8>>2]=-1,i[f+12>>2]=-1,i[f>>2]=0,i[f+4>>2]=0,X3(r+31|0,e),s[r+31|0]&&(A=i[(i[i[e>>2]-12>>2]+e|0)+24>>2],V[i[i[A>>2]+16>>2]](r+8|0,A,0,0,1,8),A=i[r+20>>2],i[f+8>>2]=i[r+16>>2],i[f+12>>2]=A,A=i[r+12>>2],i[f>>2]=i[r+8>>2],i[f+4>>2]=A,J4(i[i[e>>2]-12>>2]+e|0,0)),B=r+32|0}function v2(f,e,r){var A=0,k=0;i:{r:{if(!r)break r;if(A=i[f+164>>2],(A|0)>0){for(k=f+84|0,r=0;;){if(i[(r<<2)+k>>2]==(e|0))break i;if(r=r+1|0,(A|0)==(r|0))break}if((A|0)>19)break r}i[f+164>>2]=A+1,i[((A<<2)+f|0)+84>>2]=e}if(r=i[f+80>>2],(r|0)==20){i[f+76>>2]=1001;return}i[f+80>>2]=r+1,i[(r<<2)+f>>2]=e}}function h9(f,e,r){var A=0,k=0,n=0;if(i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,A=i[e+36>>2],n=i[e+40>>2],(A|0)!=(n|0))for(;;){if(e=i[A>>2],i[e+16>>2]==(r|0)){i:{if(k0[f+8>>2]>k>>>0){i[k>>2]=e,e=i[A+4>>2],i[k+4>>2]=e,e&&(i[e+4>>2]=i[e+4>>2]+1),k=k+8|0;break i}k=Q2(f,A)}i[f+4>>2]=k}if(A=A+8|0,(n|0)==(A|0))break}}function mW(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;i:{r:{if(f=i[f+4>>2],A=i[f+168>>2],e=e>>A,(e|0)<0||(k=i[f+172>>2],(e|0)>=(k|0)))break r;if(r=r>>A,(r|0)<0|(r|0)>=i[f+176>>2])break i;return f=(i[f+160>>2]+m(e,3)|0)+m(m(r,k),3)|0,(s[f|0]|s[f+1|0]<<8)>>>3&7}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function z8(f){var e=Y(0),r=0,A=0;if(r=(s1(f),j0(2)),A=r>>>23&255,A>>>0<=149)if(A>>>0<=125)f=Y(f*Y(0));else{f=Y(d0(f)),e=Y(Y(Y(f+Y(8388608))+Y(-8388608))-f);i:{if(e>Y(.5)){f=Y(Y(f+e)+Y(-1));break i}if(f=Y(f+e),!(e<=Y(-.5)))break i;f=Y(f+Y(1))}f=(r|0)<0?Y(-f):f}return Y(d0(f))>2],f=0,i[n+12>>2]=0,i[n+4>>2]=0,i[n+8>>2]=0;i:{if(A=i[k+200>>2],k=i[k+196>>2],(A|0)==(k|0))A=0;else{if(A=A-k|0,(A|0)<0)break i;f=U(A),A=l0(f,k,A)+A|0}return k=e,e=A-f>>2,e=(e|0)<(r|0)?e:r,l0(k,f,e<<2),f&&G(f),B=n+16|0,e|0}y0(),P()}function ZW(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0;if(e=i[f+56>>2],k=i[f+60>>2],(e|0)!=(k|0)){for(;;){if(o=k0[e>>2]>65535,r=i[e+4>>2],n=i[e+8>>2],(r|0)!=(n|0))for(;t=Q[r+2>>1]>127|t,r=r+4|0,(n|0)!=(r|0););if(A=o?1:A,e=e+16|0,(k|0)==(e|0))break}r=A,A=t&1}i[f+52>>2]=A,l[f+48|0]=r}function pW(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;if(A=B-128|0,B=A,i[A>>2]=i[e+12>>2],e=A+16|0,ke(e,13644,A),r=G2(e),r>>>0<2147483640){i:{r:{if(r>>>0>=11){k=(r|7)+1|0,e=U(k),i[f+8>>2]=k|-2147483648,i[f>>2]=e,i[f+4>>2]=r,f=e;break r}if(l[f+11|0]=r,!r)break i}l0(f,A+16|0,r)}l[f+r|0]=0,B=A+128|0;return}c2(),P()}function WW(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;if(A=B-128|0,B=A,i[A>>2]=i[e+12>>2],e=A+16|0,ke(e,13617,A),r=G2(e),r>>>0<2147483640){i:{r:{if(r>>>0>=11){k=(r|7)+1|0,e=U(k),i[f+8>>2]=k|-2147483648,i[f>>2]=e,i[f+4>>2]=r,f=e;break r}if(l[f+11|0]=r,!r)break i}l0(f,A+16|0,r)}l[f+r|0]=0,B=A+128|0;return}c2(),P()}function XW(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;return t=B-32|0,B=t,o=i[15075],i[t+24>>2]=i[15074],i[t+28>>2]=o,o=i[15073],i[t+16>>2]=i[15072],i[t+20>>2]=o,o=i[15071],i[t+8>>2]=i[15070],i[t+12>>2]=o,o=i[15069],i[t>>2]=i[15068],i[t+4>>2]=o,o=f,f=t+32|0,e=Z8(o,e,r,A,k,n,t,f),B=f,e|0}function GW(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;if(A=B-128|0,B=A,i[A>>2]=i[e+8>>2],e=A+16|0,ke(e,13628,A),r=G2(e),r>>>0<2147483640){i:{r:{if(r>>>0>=11){k=(r|7)+1|0,e=U(k),i[f+8>>2]=k|-2147483648,i[f>>2]=e,i[f+4>>2]=r,f=e;break r}if(l[f+11|0]=r,!r)break i}l0(f,A+16|0,r)}l[f+r|0]=0,B=A+128|0;return}c2(),P()}function w9(f,e){var r=0,A=0,k=0;if(e>>>0>8){for(e=e>>>0<=4?4:e,A=f>>>0<=1?1:f;;){i:{if(f=0,r=(e+A|0)-1&0-e,k=r>>>0>A>>>0?r:A,r=B-16|0,B=r,(k>>>0)%(e>>>0)|e&3||(f=Sr(r+12|0,e,k),f=f?0:i[r+12>>2]),B=r+16|0,f||(r=i[25435],!r))break i;V[r|0]();continue}break}return f||o4(),f}return U(f)}function CW(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0;t=B-16|0,B=t;i:{if(!e){i[f>>2]=5,i[f+4>>2]=2006,i[f+8>>2]=2383;break i}i0[t+8>>3]=i0[e+8>>3]*+(r|0),i0[t>>3]=i0[e+16>>3]*+(A|0),k&&(i0[k>>3]=i0[t+8>>3]),n&&(i0[n>>3]=i0[t>>3]),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}B=t+16|0}function l2(f,e){var r=0,A=0,k=0,n=0;r=i[f+12>>2],k=r+4|0,A=i[f>>2],n=i[f+4>>2]-A|0,k>>>0>n>>>0&&(L2(f,k-n|0),A=i[f>>2],r=i[f+12>>2]),i[f+12>>2]=r+1,l[r+A|0]=e>>>24,r=i[f+12>>2],i[f+12>>2]=r+1,l[r+i[f>>2]|0]=e>>>16,r=i[f+12>>2],i[f+12>>2]=r+1,l[r+i[f>>2]|0]=e>>>8,r=i[f+12>>2],i[f+12>>2]=r+1,l[r+i[f>>2]|0]=e}function ke(f,e,r){var A=0,k=0,n=0,t=0;n=B-16|0,B=n,i[n+12>>2]=r,A=B-160|0,B=A,t=A+8|0,l0(t,52608,144),i[A+52>>2]=f,i[A+28>>2]=f,k=-2-f|0,k=k>>>0>2147483647?2147483647:k,i[A+56>>2]=k,k=f+k|0,i[A+36>>2]=k,i[A+24>>2]=k,No(t,e,r),(f|0)!=-2&&(f=i[A+28>>2],l[f-((f|0)==i[A+24>>2])|0]=0),B=A+160|0,B=n+16|0}function y6(f){var e=0,r=0;e=i[f+76>>2];i:{if(!((e|0)>=0&(!e|i[23967]!=(e&1073741823)))){if(e=i[f+4>>2],(e|0)!=i[f+8>>2]){i[f+4>>2]=e+1,f=s[e|0];break i}f=ve(f);break i}e=f+76|0,r=i[e>>2],i[e>>2]=r||1073741823,r=i[f+4>>2];r:{if((r|0)!=i[f+8>>2]){i[f+4>>2]=r+1,f=s[r|0];break r}f=ve(f)}i[e>>2]=0}return f}function H8(f,e,r,A){var k=0;i:{if(!(A&2048)||(k=A&74,!r|((k|0)==8|(k|0)==64)))break i;l[f|0]=43,f=f+1|0}for(A&512&&(l[f|0]=35,f=f+1|0);;){if(k=s[e|0],k){l[f|0]=k,f=f+1|0,e=e+1|0;continue}break}k=A&74,e=111;i:{if((k|0)==64||(e=A&16384?88:120,(k|0)==8))break i;e=r?100:117}l[f|0]=e}function VW(f,e,r,A,k){if(f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,i[e+8>>2]!=1){e=i[18429],i[f>>2]=i[18428],i[f+4>>2]=e,i[f+8>>2]=i[18430];return}i:{if(!s[e+16|0]||(A&&(i[A>>2]=i[e+20>>2]),!k))break i;i[k>>2]=i[e+24>>2]}r&&(i[r>>2]=s[e+16|0]),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}function G2(f){var e=0,r=0,A=0;i:{r:{if(e=f,!(e&3))break r;if(!s[e|0])return 0;for(;;){if(e=e+1|0,!(e&3))break r;if(!s[e|0])break}break i}for(;r=e,e=e+4|0,A=i[r>>2],((A|16843008-A)&-2139062144)==-2139062144;);for(;e=r,r=e+1|0,!!s[e|0];);}return e-f|0}function IW(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0;t=B-16|0,B=t,i[k>>2]=r,n=t+12|0,f=y3(n,0,i[f+8>>2]),e=2;i:{if(f+1>>>0<2||(r=f-1|0,e=1,r>>>0>A-i[k>>2]>>>0))break i;for(;;){if(r){f=s[n|0],e=i[k>>2],i[k>>2]=e+1,l[e|0]=f,r=r-1|0,n=n+1|0;continue}break}e=0}return B=t+16|0,e|0}function QW(f){f=f|0;var e=0,r=0,A=0;i:{if(!f||(f=i[f>>2],!f))break i;r=B-16|0,B=r,ei(r+8|0,i[i[f+16>>2]+48>>2],i[f+20>>2]),f=i[r+8>>2],f?f=i[f+56>>2]:f=0,e=i[r+12>>2];r:{if(!e||(A=i[e+4>>2],i[e+4>>2]=A-1,A))break r;V[i[i[e>>2]+8>>2]](e),g(e)}B=r+16|0,e=f}return e|0}function yW(f){f=f|0;var e=0,r=0,A=0;i:{if(!f||(f=i[f>>2],!f))break i;r=B-16|0,B=r,ei(r+8|0,i[i[f+16>>2]+48>>2],i[f+20>>2]),f=i[r+8>>2],f?f=i[f+60>>2]:f=0,e=i[r+12>>2];r:{if(!e||(A=i[e+4>>2],i[e+4>>2]=A-1,A))break r;V[i[i[e>>2]+8>>2]](e),g(e)}B=r+16|0,e=f}return e|0}function _9(f){var e=0,r=0,A=0;A=i[f+16>>2]<<8,i[f+16>>2]=A,e=Q[f+20>>1]+8|0,X[f+20>>1]=e,e=e<<16>>16;i:{if((e|0)<0||(r=i[f+4>>2],r>>>0>=k0[f+8>>2]))break i;i[f+4>>2]=r+1,r=s[r|0],X[f+20>>1]=e-8,A=r<>2]<<7,e=(A>>>0)/(r>>>0)|0,(e|0)>=256&&(e=255),i[f+16>>2]=A-m(e,r),e}function FW(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;t=f,o=e,f=V[i[i[f+8>>2]+20>>2]](f+8|0)|0;i:{if(s[f+11|0]>>>7|0){e=i[f>>2];break i}e=f}return u=e,s[f+11|0]>>>7|0?e=i[f>>2]:e=f,s[f+11|0]>>>7|0?f=i[f+4>>2]:f=s[f+11|0]&127,Z8(t,o,r,A,k,n,u,e+(f<<2)|0)|0}function ne(f,e){var r=0,A=0,k=0;r=i[f+112>>2];i:{if(!r)break i;for(k=f+112|0,f=k;A=k0[r+16>>2]>>0,f=A?f:r,r=i[(A<<2)+r>>2],!!r;);if(A=0,(f|0)==(k|0)|k0[f+16>>2]>e>>>0||(A=i[f+20>>2],f=i[f+24>>2],!f|i[f+4>>2]!=-1))break i;V[i[i[f>>2]+8>>2]](f),g(f)}return(A|0)!=0}function B2(f){var e=0,r=0,A=0;A=B-16|0,B=A;i:{if(!T4(f,1))break i;r=i[f>>2],e=i[f+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1);r:{if(!(V[i[i[r>>2]+16>>2]](r,A+15|0,1)|0)){vi(f),r=0;break r}r=s[A+15|0]}if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}return B=A+16|0,r}function K2(f,e,r){var A=0,k=0;i:{r:{if(r>>>0>=4){if((f|e)&3)break r;for(;;){if(i[f>>2]!=i[e>>2])break r;if(e=e+4|0,f=f+4|0,r=r-4|0,!(r>>>0>3))break}}if(!r)break i}for(;;){if(A=s[f|0],k=s[e|0],(A|0)==(k|0)){if(e=e+1|0,f=f+1|0,r=r-1|0,r)continue;break i}break}return A-k|0}return 0}function W4(f,e){var r=0,A=0,k=0,n=0;A=B-16|0,B=A;i:{if(!e){e=0;break i}r=e>>31,k=(r^e)-r|0,r=$2(k),L1(A,k,0,0,0,r+81|0),k=0+i[A+8>>2]|0,r=(i[A+12>>2]^65536)+(16414-r<<16)|0,r=k>>>0>>0?r+1|0:r,n=e&-2147483648|r,r=i[A+4>>2],e=i[A>>2]}i[f>>2]=e,i[f+4>>2]=r,i[f+8>>2]=k,i[f+12>>2]=n,B=A+16|0}function s3(f,e){var r=0,A=0;r=i[f+40>>2],r&&(l[r+32|0]=0),r=i[e>>2],l[r+32|0]=1,A=i[e+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[f+40>>2]=r,r=i[f+44>>2],i[f+44>>2]=A;i:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r)}i[i[i[f+48>>2]+84>>2]+56>>2]=i[i[e>>2]+20>>2]}function EW(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;t=f,o=e,f=V[i[i[f+8>>2]+20>>2]](f+8|0)|0;i:{if(s[f+11|0]>>>7|0){e=i[f>>2];break i}e=f}return u=e,s[f+11|0]>>>7|0?e=i[f>>2]:e=f,s[f+11|0]>>>7|0?f=i[f+4>>2]:f=s[f+11|0]&127,B8(t,o,r,A,k,n,u,e+f|0)|0}function I1(f,e,r,A){var k=0,n=0;k=B-16|0,B=k,n=i[e+44>>2];i:{if(!n){if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,108,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(!i[e+52>>2]){if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,109,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}ii(f,n,r,e+52|0,A)}B=k+16|0}function YW(f){f=f|0;var e=0,r=0,A=0,k=0;if(e=i[f+16>>2],!e)return 0;e=N0(e,72776,73388);i:{if(!e)break i;if(f=i[f+20>>2],!f)return i[e+24>>2]-i[e+20>>2]|0;if(r=i[f+4>>2],A=r+1|0,i[f+4>>2]=A,k=i[e+20>>2],e=i[e+24>>2],i[f+4>>2]=r,r=e-k|0,A)break i;V[i[i[f>>2]+8>>2]](f),g(f)}return r|0}function v9(f){f=f|0;var e=0,r=0,A=0,k=0;if(e=i[f+16>>2],!e)return 0;e=N0(e,72776,73300);i:{if(!e)break i;if(f=i[f+20>>2],!f)return i[e+12>>2]-i[e+8>>2]>>3;if(r=i[f+4>>2],A=r+1|0,i[f+4>>2]=A,k=i[e+8>>2],e=i[e+12>>2],i[f+4>>2]=r,r=e-k>>3,A)break i;V[i[i[f>>2]+8>>2]](f),g(f)}return r|0}function m9(f,e,r,A){var k=0;k=B-32|0,B=k,i[k+8>>2]=0,i[k>>2]=0,i[k+4>>2]=0,L2(k,A+4|0),l[i[k>>2]]=A>>>24,l[i[k>>2]+1|0]=A>>>16,l[i[k>>2]+2|0]=A>>>8,l[i[k>>2]+3|0]=A,l0(i[k>>2]+4|0,r,A),Wr(k+12|0,i[f+60>>2],e,k,0),l[k+31|0]<0&&G(i[k+20>>2]),f=i[k>>2],f&&(i[k+4>>2]=f,G(f)),B=k+32|0}function h3(f,e,r,A){var k=0,n=0,t=0,o=0;k=B-160|0,B=k,i[k+60>>2]=e,i[k+20>>2]=e,i[k+24>>2]=-1,n=k+16|0,a4(n,0,0),tk(k,n,A,1),A=i[k+8>>2],t=i[k+12>>2],n=i[k>>2],o=i[k+4>>2],r&&(i[r>>2]=i[k+136>>2]+((i[k+20>>2]-i[k+60>>2]|0)+e|0)),i[f+8>>2]=A,i[f+12>>2]=t,i[f>>2]=n,i[f+4>>2]=o,B=k+160|0}function JW(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0;k=B-32|0,B=k;i:{if(!(A&&r)){if(l[k|0]=0,l[k+11|0]=0,r=r0(k+12|0,5,2001,k),l[k+11|0]<0&&G(i[k>>2]),P0(f,r,e?i[e>>2]:0),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}e=U(8),r=i[r>>2],i[e+4>>2]=0,i[e>>2]=r,i[A>>2]=e,wt(f,e)}B=k+32|0}function gW(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;i:{r:{if(f=i[f+4>>2],A=i[f+188>>2],e=e>>A,(e|0)<0||(k=i[f+192>>2],(e|0)>=(k|0)))break r;if(r=r>>A,(r|0)<0|(r|0)>=i[f+196>>2])break i;return(i[f+180>>2]+m(e,12)|0)+m(m(r,k),12)|0}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function B9(f,e){var r=0,A=0,k=0;A=1;i:{if(e||(r=i[f+12>>2],k=i[f+8>>2],e=r-k>>2,e>>>0>2]))break i;if((r|0)==(k|0))return 0;for(A=e>>>0<=1?1:e,f=0;;){if(r=i[(f<<2)+k>>2],!(s[r+104|0]|i[r+100>>2]))return 1;if(f=f+1|0,(A|0)==(f|0))break}A=f>>>0>>0}return A}function NW(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0;o=B-32|0,B=o,u=o+12|0,u6(u,i[e>>2],r,A,k,n,t,0,0);i:{if(i[o+12>>2]!=i[19564]){P0(f,u,i[e>>2]);break i}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}l[o+31|0]<0&&G(i[o+20>>2]),B=o+32|0}function RW(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0;n=B-32|0,B=n,o=n+12|0,u6(o,i[e>>2],r,A,k,18983,0,0,t);i:{if(i[n+12>>2]!=i[19564]){P0(f,o,i[e>>2]);break i}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}l[n+31|0]<0&&G(i[n+20>>2]),B=n+32|0}function Z9(f,e){var r=0,A=0,k=0;if(i[e+16>>2]!=1970628964){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;return}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;i:{if(r=i[e+20>>2],e=i[e+24>>2],(r|0)!=(e|0)){if(e=e-r|0,(e|0)<0)break i;A=U(e),i[f>>2]=A,k=e+A|0,i[f+8>>2]=k,l0(A,r,e),i[f+4>>2]=k}return}y0(),P()}function DW(f){f=f|0;var e=0,r=0,A=0;e=i[f+24>>2],e>>>0>k0[f+44>>2]&&(i[f+44>>2]=e);i:{if(!(s[f+48|0]&8)||(e=i[f+44>>2],e>>>0>k0[f+16>>2]&&(r=i[f+8>>2],A=i[f+12>>2],i[f+16>>2]=e,i[f+12>>2]=A,i[f+8>>2]=r),e=i[f+16>>2],f=i[f+12>>2],e>>>0<=f>>>0))break i;return s[f|0]}return-1}function UW(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;t=B-32|0,B=t,o=t+12|0,u6(o,i[e>>2],r,A,k,9980,7520,n,0);i:{if(i[t+12>>2]!=i[19564]){P0(f,o,i[e>>2]);break i}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}l[t+31|0]<0&&G(i[t+20>>2]),B=t+32|0}function C8(f){var e=0,r=0,A=0;r=B-32|0,B=r,s[79117]==1&&(i[r+16>>2]=f,f8(21996,r+16|0)),e=i[f+4>>2];i:{if(!e||(A=e,e=i[e>>2]-1|0,i[A>>2]=e,e)||(s[79117]==1&&(i[r>>2]=i[f>>2],f8(22026,r)),e=i[f>>2],e&&G(e),e=i[f+4>>2],!e))break i;G(e)}return B=r+32|0,f}function p9(f,e,r){var A=0;if(r-65537>>>0<4294836223)for(;e=(e|0)/2|0,r=(r|0)/2|0,r-65537>>>0<4294836223;);i:{if((r|0)<=1)break i;for(;;){if(e-65537>>>0>4294836222)break i;if(e=(e|0)/2|0,A=r>>>0>3,r=r>>>1|0,!A)break}}return i[f>>2]=e,i[f+4>>2]=r,f}function W9(f,e){var r=0,A=0;r=s[f|0];i:{if((r|0)!=s[e|0]||r&&Q[f+4>>1]!=Q[e+4>>1]|Q[f+6>>1]!=Q[e+6>>1]|s[f+2|0]!=s[e+2|0]||(r=s[f+1|0],(r|0)!=s[e+1|0])||r&&Q[f+8>>1]!=Q[e+8>>1]|Q[f+10>>1]!=Q[e+10>>1]|s[f+3|0]!=s[e+3|0])break i;A=1}return A}function X9(f){var e=0,r=0,A=0,k=0;if(e=B-16|0,B=e,s[79117]==1&&(i[e+4>>2]=i[f+4>>2],i[e>>2]=f,f8(31175,e)),r=i[f+4>>2],r){A=i[r>>2],(A|0)>=2&&(i[r>>2]=A-1,r=i[f>>2],A=U(172),i[f>>2]=A,k=f,f=U(4),i[k+4>>2]=f,i[f>>2]=1,l0(A,r,172)),B=e+16|0;return}C0(3118,14e3,95,9985),P()}function x1(f){var e=0,r=0;r=i[f+16>>2]<<1,i[f+16>>2]=r,e=Q[f+20>>1]+1|0,X[f+20>>1]=e;i:{if(e<<16>>16<0||(X[f+20>>1]=65528,e=i[f+4>>2],e>>>0>=k0[f+8>>2]))break i;i[f+4>>2]=e+1,r=s[e|0]|r,i[f+16>>2]=r}return e=i[f+12>>2]<<7,e>>>0<=r>>>0?(i[f+16>>2]=r-e,f=1):f=0,f}function MW(f,e){f=f|0,e=e|0;var r=0;i:{if(!i[f+64>>2]||(r=i[f+12>>2],r>>>0<=k0[f+8>>2]))break i;if((e|0)==-1)return i[f+12>>2]=r-1,((e|0)!=-1?e:0)|0;if(r=i[f+12>>2]-1|0,!(s[f+88|0]&16)&s[r|0]!=(e&255))break i;return i[f+12>>2]=r,l[i[f+12>>2]]=e<<24>>24,e|0}return-1}function Yi(f,e,r){var A=0,k=0,n=0,t=0;i:{if(!e){A=e;break i}for(;r=r-1|0,k=f,f=K6(f,e,10,0),A=w0,n=r,t=k-q0(f,A,10,0)|48,l[n|0]=t,k=e>>>0>9,e=A,!!k;);}if(f|A)for(;r=r-1|0,e=(f>>>0)/10|0,l[r|0]=f-m(e,10)|48,A=f>>>0>9,f=e,!!A;);return r}function xW(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0;n=B-32|0,B=n,t=n+12|0,u6(t,i[e>>2],r,A,k,9980,7520,0,0);i:{if(i[n+12>>2]!=i[19564]){P0(f,t,i[e>>2]);break i}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}l[n+31|0]<0&&G(i[n+20>>2]),B=n+32|0}function zW(f){f=f|0;var e=0,r=0,A=0,k=0;if(A=i[f+24>>2],A){if(e=A,r=i[f+28>>2],(e|0)!=(r|0)){for(;;){e=i[r-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(r=r-8|0,(r|0)==(A|0))break}e=i[f+24>>2]}i[f+28>>2]=A,G(e)}}function w3(f,e,r){var A=0,k=0,n=0;if(A=i[f>>2],k=A+r&536870911,i[f>>2]=k,i[f+4>>2]=i[f+4>>2]+(A>>>0>k>>>0)+(r>>>29),A=A&63,A){if(n=f+24|0,k=A+n|0,A=64-A|0,A>>>0>r>>>0){l0(k,e,r);return}l0(k,e,A),Br(f,n,64),r=r-A|0,e=e+A|0}r>>>0>=64&&(e=Br(f,e,r&-64),r=r&63),l0(f+24|0,e,r)}function HW(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=+A,k=+k,n=+n,t=+t,o=+o;var u=0,h=0;if(f){u=+(e|0),h=A/u;i:{if(!(A!=k|o!=0)){i0[f>>3]=h,l[f+24|0]=0,i0[f+8>>3]=n/u,o=t/+(r|0),e=16;break i}i0[f>>3]=h,l[f+24|0]=1,i0[f+32>>3]=k/u,i0[f+8>>3]=n/u,i0[f+16>>3]=t/+(r|0),e=40}i0[e+f>>3]=o}}function G9(f,e,r){var A=0,k=0,n=0,t=0,o=0;for(n=B-16|0,B=n,l[n+14|0]=0,A=B-16|0,B=A,e=e-f>>2;;){if(e){i[A+12>>2]=f,k=e>>>1|0,i[A+12>>2]=i[A+12>>2]+(k<<2),o=(k^-1)+e|0,e=k,k=i[A+12>>2],t=k0[k>>2]>2],e=t?o:e,f=t?k+4|0:f;continue}break}return B=A+16|0,B=n+16|0,f}function TW(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0;o=(k-A|0)+e|0;i:{for(;;){if((A|0)!=(k|0)){if(f=-1,(e|0)==(r|0)||(n=l[e|0],t=l[A|0],(n|0)<(t|0)))break i;if((n|0)>(t|0))return 1;A=A+1|0,e=e+1|0;continue}break}f=(r|0)!=(o|0)}return f|0}function C9(f){var e=0,r=0,A=0,k=0;e=i[f+40>>2],r=V[e|0](f,0,0,s[f|0]&128?i[f+20>>2]==i[f+28>>2]?1:2:1)|0,e=w0;i:{if((e|0)<0)break i;if(A=i[f+8>>2],A)k=4;else{if(A=i[f+28>>2],!A)break i;k=20}f=i[k+f>>2]-A|0,r=f+r|0,e=(f>>31)+e|0,e=f>>>0>r>>>0?e+1|0:e}return w0=e,r}function V9(f){var e=0,r=0,A=0,k=0;i:{r:{if(r=i[f+64>>2],!r)break r;for(A=f- -64|0,e=A;k=i[r+16>>2]<6,e=k?e:r,r=i[(k<<2)+r>>2],!!r;);if((e|0)==(A|0)|i[e+16>>2]>=7)break r;e=1;break i}if(f=i[f+36>>2],e=0,f>>>0>15)break i;e=43008>>>f|0}return e&1}function I9(f){f=f|0;var e=0,r=0;if(i[f+1884>>2]>0&&(e=f+1392|0,l[e|0]=1,i[e+156>>2]>0))for(;r=r+1|0,(r|0)>2];);return V[i[i[f>>2]+4>>2]](f),s[79116]||(l[79116]=1),f=i[19772],(f|0)<=0?12:(f=f-1|0,i[19772]=f,f||Eo(),0)}function F6(f,e,r){var A=0,k=0,n=0;return A=f*f,n=A*(A*A)*(A*158969099521155e-24+-25050760253406863e-24)+(A*(A*27557313707070068e-22+-.0001984126982985795)+.00833333333332249),k=A*f,r?f-(A*(e*.5-n*k)-e+k*.16666666666666632):k*(A*n+-.16666666666666632)+f}function te(f,e){var r=0,A=0;r=B-16|0,B=r,i[r+12>>2]=f;i:{if((f|0)==(e|0))break i;for(;;){if(e=e-4|0,i[r+8>>2]=e,f>>>0>=e>>>0)break i;f=i[r+12>>2],e=i[f>>2],A=f,f=i[r+8>>2],i[A>>2]=i[f>>2],i[f>>2]=e,f=i[r+12>>2]+4|0,i[r+12>>2]=f,e=i[r+8>>2]}}B=r+16|0}function Ji(f,e){var r=0,A=0,k=0,n=0;r=B-16|0,B=r;i:{if(!e){e=0;break i}A=e,e=$2(e),L1(r,A,0,0,0,112-(e^31)|0),A=0+i[r+8>>2]|0,e=(i[r+12>>2]^65536)+(16414-e<<16)|0,n=k>>>0>A>>>0?e+1|0:e,k=i[r+4>>2],e=i[r>>2]}i[f>>2]=e,i[f+4>>2]=k,i[f+8>>2]=A,i[f+12>>2]=n,B=r+16|0}function i8(f,e,r,A,k){r=m(i[i[f+124>>2]+16892>>2],A)+r|0;i:{if(!e||(r=i[f+320>>2]+m(r,76)|0,i[r>>2]>=(k|0)))break i;i[f+328>>2]=i[f+328>>2]-1,i[f+332>>2]=i[f+332>>2]+1,i[e+4>>2]=2,bt(r,k),i[e+4>>2]=1,i[f+332>>2]=i[f+332>>2]-1,i[f+328>>2]=i[f+328>>2]+1}}function E6(f,e){var r=0,A=0,k=0,n=0;s[f|0]||(r=i[f+24>>2],A=r+i[f+20>>2]|0,n=i[f+12>>2],k=i[f+8>>2],(A|0)==(((k|0)!=(n|0)?(n-k<<8)-1|0:0)|0)&&(Gr(f+4|0),k=i[f+8>>2],r=i[f+24>>2],A=r+i[f+20>>2]|0),i[i[(A>>>8&16777212)+k>>2]+((A&1023)<<2)>>2]=e,i[f+24>>2]=r+1)}function T8(f,e,r){var A=0,k=0;i:{if(A=i[e+36>>2],e=i[e+40>>2],(A|0)!=(e|0))for(;;){if(k=i[A>>2],i[k+16>>2]==(r|0)){if(i[f>>2]=k,e=f,f=i[A+4>>2],i[e+4>>2]=f,!f)break i;i[f+4>>2]=i[f+4>>2]+1;return}if(A=A+8|0,(e|0)==(A|0))break}i[f>>2]=0,i[f+4>>2]=0}}function i2(f,e){var r=0,A=0;A=B-16|0,B=A,r=i[e+48>>2];i:{if(r&16){r=i[e+24>>2],r>>>0>k0[e+44>>2]&&(i[e+44>>2]=r),j3(f,i[e+20>>2],i[e+44>>2]);break i}if(r&8){j3(f,i[e+8>>2],i[e+16>>2]);break i}e=B-16|0,B=e,i[f>>2]=0,i[f+4>>2]=0,i[f+8>>2]=0,B=e+16|0}B=A+16|0}function aW(f){f=f|0;var e=0,r=0,A=0;if(f=i[19590],f){if(e=f,r=i[19591],(e|0)!=(r|0)){for(;;){e=i[r-4>>2];i:{if(!e||(A=i[e+4>>2],i[e+4>>2]=A-1,A))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(r=r-8|0,(r|0)==(f|0))break}e=i[19590]}i[19591]=f,G(e)}}function li(f,e){var r=0,A=0;r=B-16|0,B=r,i[r+12>>2]=f;i:{if((f|0)==(e|0))break i;for(;;){if(e=e-1|0,i[r+8>>2]=e,f>>>0>=e>>>0)break i;f=i[r+12>>2],e=s[f|0],A=f,f=i[r+8>>2],l[A|0]=s[f|0],l[f|0]=e,f=i[r+12>>2]+1|0,i[r+12>>2]=f,e=i[r+8>>2]}}B=r+16|0}function oe(f,e,r){var A=0,k=0,n=0;if(i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,A=i[e+56>>2],e=i[e+60>>2],(A|0)!=(e|0))for(n=f+8|0;;){if(i[A+40>>2]==(r|0)){i:{if(k0[n>>2]>k>>>0){Z6(k,A),k=k+56|0;break i}k=xA(f,A)}i[f+4>>2]=k}if(A=A+56|0,(e|0)==(A|0))break}}function gi(f,e){var r=0,A=0,k=0;A=-1;i:{if((f|0)==-1)break i;k=i[e+76>>2]<0;r:{r=i[e+4>>2];e:{if(!r&&(g6(e),r=i[e+4>>2],!r))break e;if(i[e+44>>2]-8>>>0>>0)break r}if(k)break i;return-1}r=r-1|0,i[e+4>>2]=r,l[r|0]=f,i[e>>2]=i[e>>2]&-17,A=f&255}return A}function SW(f,e,r){if(f=f|0,e=e|0,r=r|0,w2(r,Q[e+4>>1]),w2(r,Q[e+6>>1]),w2(r,Q[e+8>>1]),A2(r,s[e+10|0]?128:0),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];return}_0(f,i[19566],i[19567])}function Q9(f,e,r){var A=0,k=0,n=0,t=0;A=B-16|0,B=A,f=$0(f),i[f+32>>2]=e,i[f>>2]=55816,k=A+12|0,e=i[f+4>>2],i[k>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(k,100200),O0(k),i[f+40>>2]=r,i[f+36>>2]=e,n=f,t=V[i[i[e>>2]+28>>2]](e)|0,l[n+44|0]=t,B=A+16|0}function y9(f,e,r){var A=0,k=0,n=0,t=0;A=B-16|0,B=A,f=vt(f),i[f+32>>2]=e,i[f>>2]=56020,k=A+12|0,e=i[f+4>>2],i[k>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(k,100208),O0(k),i[f+40>>2]=r,i[f+36>>2]=e,n=f,t=V[i[i[e>>2]+28>>2]](e)|0,l[n+44|0]=t,B=A+16|0}function _3(f){var e=0,r=0,A=0,k=0;if(A=i[f>>2],A){if(e=A,r=i[f+4>>2],(e|0)!=(r|0)){for(;;){e=i[r-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(r=r-8|0,(r|0)==(A|0))break}e=i[f>>2]}i[f+4>>2]=A,G(e)}}function r8(f,e){var r=0,A=0;r=B-16|0,B=r,s[f+11|0]>>>7|0&&Q8(i[f>>2],4);i:if(s[e+11|0]>>>7|0)break i;i[f+8>>2]=i[e+8>>2],A=i[e+4>>2],i[f>>2]=i[e>>2],i[f+4>>2]=A,l[e+11|0]=s[e+11|0]&128,l[e+11|0]=s[e+11|0]&127,i[r+12>>2]=0,i[e>>2]=i[r+12>>2],B=r+16|0}function OW(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0;if(Q1(f,i[e+8>>2],0)){v3(e,r,A);return}k=i[f+12>>2],n=f+16|0,g9(n,e,r,A);i:{if((k|0)<2)break i;for(k=(k<<3)+n|0,f=f+24|0;;){if(g9(f,e,r,A),s[e+54|0])break i;if(f=f+8|0,!(k>>>0>f>>>0))break}}}function Y6(f){var e=0,r=0,A=0;X[f+20>>1]=8,i[f+12>>2]=510,i[f+16>>2]=0,e=i[f+4>>2],A=i[f+8>>2]-e|0;i:{if((A|0)<=0||(i[f+4>>2]=e+1,r=s[e|0],X[f+20>>1]=0,r=r<<8,i[f+16>>2]=r,(A|0)==1))break i;i[f+4>>2]=e+2,e=s[e+1|0],X[f+20>>1]=65528,i[f+16>>2]=e|r}}function r1(f){var e=0,r=0,A=0,k=0;if(r=B-16|0,B=r,i[r+12>>2]=f,A=B-16|0,B=A,i[f>>2]!=-1){for(e=A+12|0,i[e>>2]=r+12,k=A+8|0,i[k>>2]=e;e=i[f>>2],(e|0)==1;);e||(i[f>>2]=1,Pt(k),i[f>>2]=-1)}return B=A+16|0,B=r+16|0,i[f+4>>2]-1|0}function q1(f,e){var r=0,A=0;r=B-16|0,B=r,s[f+11|0]>>>7|0&&Q8(i[f>>2],1);i:if(s[e+11|0]>>>7|0)break i;i[f+8>>2]=i[e+8>>2],A=i[e+4>>2],i[f>>2]=i[e>>2],i[f+4>>2]=A,l[e+11|0]=s[e+11|0]&128,l[e+11|0]=s[e+11|0]&127,l[r+15|0]=0,l[e|0]=s[r+15|0],B=r+16|0}function J6(f){var e=0,r=0,A=0;e=i[f+76>>2];i:{if((e|0)!=-1){f=e;break i}e=f,r=B-16|0,B=r,A=r+12|0,f=i[f+28>>2],i[A>>2]=f,(f|0)!=100008&&(i[f+4>>2]=i[f+4>>2]+1),f=x0(A,100192),f=V[i[i[f>>2]+28>>2]](f,32)|0,O0(A),B=r+16|0,i[e+76>>2]=f}return f<<24>>24}function jW(f,e,r){if(f=f|0,e=e|0,r=r|0,!r){e=i[18414],i[f>>2]=i[18413],i[f+4>>2]=e,i[f+8>>2]=i[18415];return}if(i[r>>2]>=4){e=i[18423],i[f>>2]=i[18422],i[f+4>>2]=e,i[f+8>>2]=i[18424];return}q7(r),i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}function PW(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0;i:{for(;;){if((A|0)!=(k|0)){if(f=-1,(e|0)==(r|0)||(n=i[e>>2],t=i[A>>2],(n|0)<(t|0)))break i;if((n|0)>(t|0))return 1;A=A+4|0,e=e+4|0;continue}break}f=(e|0)!=(r|0)}return f|0}function g6(f){var e=0,r=0;return e=i[f+72>>2],i[f+72>>2]=e-1|e,i[f+20>>2]!=i[f+28>>2]&&V[i[f+36>>2]](f,0,0)|0,i[f+28>>2]=0,i[f+16>>2]=0,i[f+20>>2]=0,e=i[f>>2],e&4?(i[f>>2]=e|32,-1):(r=i[f+44>>2]+i[f+48>>2]|0,i[f+8>>2]=r,i[f+4>>2]=r,e<<27>>31)}function Y2(f,e){var r=0,A=0,k=0;i:{if(A=G2(e),r=s[f+11|0]>>>7|0?(i[f+8>>2]&2147483647)-1|0:10,s[f+11|0]>>>7|0?k=i[f+4>>2]:k=s[f+11|0]&127,A>>>0<=r>>>0){s[f+11|0]>>>7|0?r=i[f>>2]:r=f,Jo(r,e,A),Zt(f,r,A);break i}Pr(f,r,A-r|0,k,0,k,A,e)}}function le(f,e,r,A){var k=0,n=0;return k=B-160|0,B=k,n=e?f:k+158|0,i[k+148>>2]=n,f=e-1|0,i[k+152>>2]=f>>>0<=e>>>0?f:0,f=B0(k,0,144),i[f+76>>2]=-1,i[f+36>>2]=978,i[f+80>>2]=-1,i[f+44>>2]=f+159,i[f+84>>2]=f+148,l[n|0]=0,e=qr(f,r,A,976,977),B=f+160|0,e}function D4(f,e){var r=0,A=0,k=0,n=0,t=0,o=0;r=i[e>>2],A=i[e+4>>2]-r|0,k=i[f+12>>2],t=A+k|0,n=i[f>>2],o=i[f+4>>2]-n|0,t>>>0>o>>>0&&(L2(f,t-o|0),k=i[f+12>>2],n=i[f>>2],r=i[e>>2],A=i[e+4>>2]-r|0),l0(k+n|0,r,A),i[f+12>>2]=i[f+12>>2]+(i[e+4>>2]-i[e>>2]|0)}function v3(f,e,r){var A=0;if(A=i[f+36>>2],!A){i[f+24>>2]=r,i[f+16>>2]=e,i[f+36>>2]=1,i[f+20>>2]=i[f+56>>2];return}i:{if(!(i[f+20>>2]!=i[f+56>>2]|i[f+16>>2]!=(e|0))){if(i[f+24>>2]!=2)break i;i[f+24>>2]=r;return}l[f+54|0]=1,i[f+24>>2]=2,i[f+36>>2]=A+1}}function F9(f){var e=0,r=0,A=0;if(r=B-16|0,B=r,s[79117]==1&&(i[r+4>>2]=i[f+4>>2],i[r>>2]=f,f8(22011,r)),e=i[f+4>>2],e){A=i[e>>2]-1|0,i[e>>2]=A;i:{if(A||(A=i[f>>2],A&&(G(A),e=i[f+4>>2],!e)))break i;G(e)}i[f>>2]=0,i[f+4>>2]=0}B=r+16|0}function LW(f){f=f|0;var e=0;i:{if(e=i[f+12>>2],f=i[f+8>>2],e-f>>>0>524280)break i;if((f|0)==(e|0))return 0;for(;;){if(i[f>>2]-32768>>>0<4294901760|i[f+4>>2]-32768>>>0<=4294901759)break i;if(f=f+8|0,(e|0)==(f|0))break}return 0}return 1}function a4(f,e,r){var A=0,k=0,n=0,t=0;i[f+112>>2]=e,i[f+116>>2]=r,k=i[f+4>>2],A=i[f+44>>2]-k|0,i[f+120>>2]=A,i[f+124>>2]=A>>31,A=i[f+8>>2];i:{if(!(e|r)||(n=A-k|0,t=n>>31,(r|0)>=(t|0)&e>>>0>=n>>>0|(r|0)>(t|0)))break i;A=e+k|0}i[f+104>>2]=A}function KW(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;if(A2(e,s[f+4|0]?3:6),k1(e,r,i[f+12>>2]-i[f+8>>2]>>3,0),A=i[f+8>>2],k=i[f+12>>2],(A|0)!=(k|0))for(;f=i[A>>2],k1(e,r,f,f>>31),f=i[A+4>>2],k1(e,r,f,f>>31),A=A+8|0,(k|0)!=(A|0););}function qW(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;if(A=i[e+8>>2],r=G2(A),r>>>0<2147483640){i:{r:{if(r>>>0>=11){k=(r|7)+1|0,e=U(k),i[f+8>>2]=k|-2147483648,i[f>>2]=e,i[f+4>>2]=r,f=e;break r}if(l[f+11|0]=r,!r)break i}l0(f,A,r)}l[f+r|0]=0;return}c2(),P()}function $W(f,e){if(f=f|0,e=e|0,!e){e=i[18414],i[f>>2]=i[18413],i[f+4>>2]=e,i[f+8>>2]=i[18415];return}if(i[e>>2]>=4){e=i[18423],i[f>>2]=i[18422],i[f+4>>2]=e,i[f+8>>2]=i[18424];return}q7(e),i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}function bW(f,e){if(f=f|0,e=e|0,!e){e=i[18414],i[f>>2]=i[18413],i[f+4>>2]=e,i[f+8>>2]=i[18415];return}if(i[e>>2]>=4){e=i[18423],i[f>>2]=i[18422],i[f+4>>2]=e,i[f+8>>2]=i[18424];return}j7(e),i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}function v0(f,e,r){var A=0,k=0,n=0,t=0;A=i[f+64>>2];i:{if(!A)break i;for(k=f- -64|0,f=k;n=i[A+16>>2]<(e|0),f=n?f:A,A=i[(n<<2)+A>>2],!!A;);if((f|0)==(k|0)|i[f+16>>2]>(e|0))break i;r&&(i[r>>2]=i[f+48>>2]),t=i[f+40>>2]}return t}function dW(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;A=B-32|0,B=A;i:{if(!e){if(l[A|0]=0,l[A+11|0]=0,e=f,f=r0(A+12|0,5,2001,A),P0(e,f,0),l[f+19|0]<0&&G(i[f+8>>2]),l[A+11|0]>=0)break i;G(i[A>>2]);break i}V[i[i[e>>2]+44>>2]](f,i[e+4>>2],r)}B=A+32|0}function cW(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;A=B-32|0,B=A;i:{if(!e){if(l[A|0]=0,l[A+11|0]=0,e=f,f=r0(A+12|0,5,2001,A),P0(e,f,0),l[f+19|0]<0&&G(i[f+8>>2]),l[A+11|0]>=0)break i;G(i[A>>2]);break i}V[i[i[e>>2]+52>>2]](f,i[e+4>>2],r)}B=A+32|0}function E9(f){var e=0,r=0,A=0,k=0,n=0;if(A=i[f>>2],e=l[A|0]-48|0,e>>>0>9)return 0;for(;k=-1,r>>>0<=214748364&&(r=m(r,10),k=(r^2147483647)>>>0>>0?-1:r+e|0),e=A+1|0,i[f>>2]=e,n=l[A+1|0],r=k,A=e,e=n-48|0,e>>>0<10;);return r}function iX(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;return t=B-16|0,B=t,i[t+12>>2]=e,o=t+8|0,e=i[A+28>>2],i[o>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(o,100192),O0(o),mt(f,n+24|0,t+12|0,r,k,e),B=t+16|0,i[t+12>>2]}function rX(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;f=i[f>>2],A=i[f+64>>2],f=i[f+68>>2],f&&(i[f+4>>2]=i[f+4>>2]+1),!r|!A||(i[e>>2]=i[A+20>>2],k=1);i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}return k|0}function eX(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;return t=B-16|0,B=t,i[t+12>>2]=e,o=t+8|0,e=i[A+28>>2],i[o>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(o,100192),O0(o),st(f,n+16|0,t+12|0,r,k,e),B=t+16|0,i[t+12>>2]}function AX(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;return t=B-16|0,B=t,i[t+12>>2]=e,o=t+8|0,e=i[A+28>>2],i[o>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(o,100184),O0(o),Bt(f,n+24|0,t+12|0,r,k,e),B=t+16|0,i[t+12>>2]}function fX(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;return t=B-16|0,B=t,i[t+12>>2]=e,o=t+8|0,e=i[A+28>>2],i[o>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(o,100184),O0(o),ht(f,n+16|0,t+12|0,r,k,e),B=t+16|0,i[t+12>>2]}function Y9(f,e){var r=0,A=0,k=0;if(U2(+f),A=j0(1)|0,k=j0(0)|0,r=A>>>20&2047,(r|0)!=2047){if(!r)return f==0?r=0:(f=Y9(f*18446744073709552e3,e),r=i[e>>2]+-64|0),i[e>>2]=r,f;i[e>>2]=r-1022,N2(0,k|0),N2(1,A&-2146435073|1071644672),f=+m1()}return f}function U0(f,e){var r=0,A=0,k=0;A=i[f+64>>2],r=255;i:{if(!A)break i;for(k=f- -64|0,f=k;r=i[A+16>>2]<(e|0),f=r?f:A,A=i[(r<<2)+A>>2],!!A;);if(r=255,(f|0)==(k|0)||(r=255,i[f+16>>2]>(e|0)))break i;r=s[f+20|0]}return r}function N6(f){f=f|0;var e=0,r=0;if(f){e=i[f+12>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+4>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}G(f)}}function J9(f){var e=0,r=0;for(e=B-16|0,B=e,i[e+4>>2]=100016,r=i[25005],i[e+8>>2]=r,i[e+12>>2]=r+(f<<2),f=i[e+8>>2],r=i[e+12>>2];;){if((f|0)==(r|0))i[i[e+4>>2]+4>>2]=i[e+8>>2],B=e+16|0;else{i[f>>2]=0,f=f+4|0,i[e+8>>2]=f;continue}break}}function R6(f,e){var r=0,A=0,k=0,n=0;return r=f*f,A=r*.5,k=1-A,n=1-k-A,A=r*r,k+(n+(r*(r*(r*(r*2480158728947673e-20+-.001388888888887411)+.0416666666666666)+A*A*(r*(r*-11359647557788195e-27+2087572321298175e-24)+-27557314351390663e-23))-f*e))}function Z1(f){var e=0,r=0;i:{if(e=i[f+4>>2],r=i[i[e>>2]-12>>2],r=e+r|0,!i[r+24>>2]|(i[r+16>>2]|!(i[r+4>>2]&8192))||(e=i[(e+i[i[e>>2]-12>>2]|0)+24>>2],(V[i[i[e>>2]+24>>2]](e)|0)!=-1))break i;f=i[f+4>>2],J4(i[i[f>>2]-12>>2]+f|0,1)}}function g9(f,e,r,A){var k=0,n=0,t=0;n=i[f+4>>2],t=n&1;i:{if(s[e+55|0]==1){if(k=n>>8,!t)break i;k=i[i[r>>2]+k>>2];break i}if(k=n>>8,!t)break i;i[e+56>>2]=i[i[f>>2]+4>>2],n=i[f+4>>2],r=0,k=0}f=i[f>>2],V[i[i[f>>2]+28>>2]](f,e,r+k|0,n&2?A:2)}function ui(f,e,r){var A=0,k=0;k=B-16|0,B=k,A=B-32|0,B=A,pe(A+24|0,f,(e<<2)+f|0),At(A+16|0,i[A+24>>2],i[A+28>>2],r),i[A+12>>2]=(i[A+16>>2]-f|0)+f,i[A+8>>2]=(i[A+20>>2]-r|0)+r,i[k+8>>2]=i[A+12>>2],i[k+12>>2]=i[A+8>>2],B=A+32|0,B=k+16|0}function kX(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0;return f=B-16|0,B=f,i[f+12>>2]=e,t=f+8|0,e=i[A+28>>2],i[t>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(t,100192),O0(t),Et(n+20|0,f+12|0,r,k,e),B=f+16|0,i[f+12>>2]}function nX(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0;return f=B-16|0,B=f,i[f+12>>2]=e,t=f+8|0,e=i[A+28>>2],i[t>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(t,100184),O0(t),Yt(n+20|0,f+12|0,r,k,e),B=f+16|0,i[f+12>>2]}function tX(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;r=i[f>>2],f=i[r+164>>2],A=i[r+168>>2];i:{if((f|0)==(A|0))break i;for(;;){if(r=i[f>>2],i[r>>2]!=(e|0)){if(f=f+8|0,(A|0)!=(f|0))continue;break i}break}k=l[r+27|0]<0?i[r+16>>2]:r+16|0}return k|0}function oX(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;r=i[f>>2],f=i[r+164>>2],A=i[r+168>>2];i:{if((f|0)==(A|0))break i;for(;;){if(r=i[f>>2],i[r>>2]!=(e|0)){if(f=f+8|0,(A|0)!=(f|0))continue;break i}break}k=l[r+39|0]<0?i[r+28>>2]:r+28|0}return k|0}function Ni(f){var e=0,r=0;if(e=B-16|0,B=e,i[(i[i[f>>2]-12>>2]+f|0)+24>>2]){V1(e+8|0,f);i:{if(!s[e+8|0]||(r=i[(i[i[f>>2]-12>>2]+f|0)+24>>2],(V[i[i[r>>2]+24>>2]](r)|0)!=-1))break i;J4(i[i[f>>2]-12>>2]+f|0,1)}Z1(e+8|0)}B=e+16|0}function lX(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;r=i[f>>2],f=i[r+164>>2],A=i[r+168>>2];i:{if((f|0)==(A|0))break i;for(;;){if(r=i[f>>2],i[r>>2]!=(e|0)){if(f=f+8|0,(A|0)!=(f|0))continue;break i}break}k=l[r+15|0]<0?i[r+4>>2]:r+4|0}return k|0}function e8(f,e,r){var A=0,k=0;k=B-16|0,B=k,A=B-32|0,B=A,pe(A+24|0,f,f+e|0),kt(A+16|0,i[A+24>>2],i[A+28>>2],r),i[A+12>>2]=(i[A+16>>2]-f|0)+f,i[A+8>>2]=(i[A+20>>2]-r|0)+r,i[k+8>>2]=i[A+12>>2],i[k+12>>2]=i[A+8>>2],B=A+32|0,B=k+16|0}function H2(f,e){var r=0,A=0,k=0;A=f- -64|0,f=i[f+64>>2];i:{r:{if(!f)break r;for(r=A;k=i[f+16>>2]<(e|0),r=k?r:f,f=i[(k<<2)+f>>2],!!f;);if((r|0)==(A|0))break r;if(i[r+16>>2]<=(e|0))break i}r=A}return(r|0)!=(A|0)}function T0(f){f=f|0;var e=0,r=0;for(i[f>>2]=55348,e=i[f+40>>2];;){if(e){e=e-1|0,r=e<<2,V[i[i[f+32>>2]+r>>2]](0,f,i[r+i[f+36>>2]>>2]);continue}break}return O0(f+28|0),G(i[f+32>>2]),G(i[f+36>>2]),G(i[f+48>>2]),G(i[f+60>>2]),f|0}function uX(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;r=i[f>>2],f=i[r+164>>2],A=i[r+168>>2];i:{if((f|0)==(A|0))break i;for(;;){if(r=i[f>>2],i[r>>2]!=(e|0)){if(f=f+8|0,(A|0)!=(f|0))continue;break i}break}k=i[r+44>>2]-i[r+40>>2]|0}return k|0}function D6(f,e,r){var A=0,k=0;i:{if(!T4(f,r)||(k=i[f>>2],A=i[f+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),V[i[i[k>>2]+16>>2]](k,e,r)|0||vi(f),!A)||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break i;V[i[i[A>>2]+8>>2]](A),g(A)}}function X4(f,e,r){if(r=i[r+4>>2]&176,(r|0)==32)return e;i:{if((r|0)!=16)break i;r:{e:switch(r=s[f|0],r-43|0){case 0:case 2:break e;default:break r}return f+1|0}if((r|0)!=48|(e-f|0)<2|(s[f+1|0]|32)!=120)break i;f=f+2|0}return f}function sX(f,e){f=f|0,e=e|0;var r=0,A=0;r=V[i[i[f>>2]+68>>2]](i[f+4>>2])|0,f=i[r>>2];i:{if(!f)break i;for(;;){if(v4(i[f+4>>2],e)){if(f=i[r+4>>2],r=r+4|0,f)continue;break i}break}if(A=1,i[f>>2]<2)break i;A=i[f+36>>2]}return A|0}function hX(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;i:{if(!s[f+44|0])for(r=(r|0)>0?r:0;;){if((r|0)==(A|0))break i;if((V[i[i[f>>2]+52>>2]](f,i[e>>2])|0)==-1)return A|0;e=e+4|0,A=A+1|0}r=F1(e,4,r,i[f+32>>2])}return r|0}function wX(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;i:{if(!s[f+44|0])for(r=(r|0)>0?r:0;;){if((r|0)==(A|0))break i;if((V[i[i[f>>2]+52>>2]](f,s[e|0])|0)==-1)return A|0;e=e+1|0,A=A+1|0}r=F1(e,1,r,i[f+32>>2])}return r|0}function C1(f,e){var r=0,A=0,k=0;if(r=G2(e),r>>>0<2147483640){i:{r:{if(r>>>0>=11){k=(r|7)+1|0,A=U(k),i[f+8>>2]=k|-2147483648,i[f>>2]=A,i[f+4>>2]=r;break r}if(l[f+11|0]=r,A=f,!r)break i}F2(A,e,r)}return l[r+A|0]=0,f}c2(),P()}function _X(f){f=f|0;var e=0,r=0;e=i[f>>2],f=i[e+184>>2],e=i[e+188>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),f=f?i[f+12>>2]-i[f+8>>2]|0:0;i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}return f|0}function y4(f,e){var r=0,A=0,k=0,n=0;A=-1,r=i[f+64>>2];i:{if(!r)break i;for(k=f- -64|0,f=k;n=i[r+16>>2]<(e|0),f=n?f:r,r=i[(n<<2)+r>>2],!!r;);if((f|0)==(k|0)|i[f+16>>2]>(e|0))break i;A=i[f+24>>2]}return A}function F4(f,e){var r=0,A=0,k=0,n=0;A=-1,r=i[f+64>>2];i:{if(!r)break i;for(k=f- -64|0,f=k;n=i[r+16>>2]<(e|0),f=n?f:r,r=i[(n<<2)+r>>2],!!r;);if((f|0)==(k|0)|i[f+16>>2]>(e|0))break i;A=i[f+28>>2]}return A}function U6(f,e,r){var A=0,k=0,n=0,t=0;A=B-16|0,B=A,k=A+12|0,e=i[e+28>>2],i[k>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(k,100256),n=r,t=V[i[i[e>>2]+16>>2]](e)|0,i[n>>2]=t,V[i[i[e>>2]+20>>2]](f,e),O0(k),B=A+16|0}function m3(f,e,r){f=f|0,e=e|0,r=r|0;i:switch(e|0){case 6:l[f+514|0]=(r|0)!=0;return;case 7:l[f+532|0]=(r|0)!=0;return;case 8:l[f+533|0]=(r|0)!=0;return;default:C0(9349,14071,535,7495),P();case 0:break i}l[f+512|0]=(r|0)!=0}function vX(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-80|0,B=A;i:{if(!(r&&e)){i[f>>2]=5,i[f+4>>2]=2006,i[f+8>>2]=12607;break i}k=A+8|0,Cn(k,e),l0(r,k,72),i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}B=A+80|0}function mX(f){f=f|0;var e=0,r=0;e=i[f>>2],f=i[e+52>>2],e=i[e+56>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),f=f?i[f+12>>2]-i[f+8>>2]|0:0;i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}return f|0}function o2(f,e,r,A){var k=0,n=0,t=0,o=0;return n=e^A,t=n>>31,k=e>>31,f=f^k,o=f-k|0,k=(e^k)-((f>>>0>>0)+k|0)|0,f=A>>31,e=r^f,n=n>>31,f=K6(o,k,e-f|0,(f^A)-((f>>>0>e>>>0)+f|0)|0)^n,e=f-n|0,w0=(t^w0)-((f>>>0>>0)+t|0)|0,e}function M6(f,e,r){var A=0,k=0,n=0,t=0;A=B-16|0,B=A,k=A+12|0,e=i[e+28>>2],i[k>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(k,100248),n=r,t=V[i[i[e>>2]+16>>2]](e)|0,l[n|0]=t,V[i[i[e>>2]+20>>2]](f,e),O0(k),B=A+16|0}function BX(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-80|0,B=A;i:{if(!(r&&e)){i[f+8>>2]=0,i[f>>2]=5,i[f+4>>2]=2001;break i}k=A+8|0,Cn(k,e),l0(r,k,72),i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}B=A+80|0}function ZX(f){f=f|0;var e=0,r=0,A=0;return e=B-16|0,B=e,i[e+12>>2]=i[f+8>>2],r=S4(e+8|0,e+12|0),A=h7(0,0,4),r=i[r>>2],r&&(i[23985]=(r|0)==-1?95820:r),B=e+16|0,A?-1:(f=i[f+8>>2],f?($9(f)|0)==1|0:1)}function ue(f,e){var r=0,A=0,k=0;i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;i:{if(r=i[e+4>>2],r){if(r>>>0>=1073741824)break i;A=r<<2,r=U(A),i[f+4>>2]=r,i[f>>2]=r,k=r+A|0,i[f+8>>2]=k,F2(r,i[e>>2],A),i[f+4>>2]=k}return f}y0(),P()}function N9(f,e,r,A,k,n){var t=0,o=0,u=0;t=B-16|0,B=t,l[t+15|0]=0,l[t+14|0]=n,l[t+13|0]=k,l[t+12|0]=37,n&&(k=s[t+13|0],l[t+13|0]=s[t+14|0],l[t+14|0]=k),o=r,u=Wk(e,i[r>>2]-e|0,t+12|0,A,i[f>>2])+e|0,i[o>>2]=u,B=t+16|0}function _4(f,e,r){var A=0,k=0,n=0;k=B-16|0,B=k,A=i[f+4>>2],n=i[f+8>>2]&2147483647;i:{if(n>>>0>r>>>0){A=i[f>>2],i[f+4>>2]=r,e8(e,r,A),l[k+15|0]=0,l[r+A|0]=s[k+15|0];break i}Pr(f,n-1|0,(r-n|0)+1|0,A,0,A,r,e)}B=k+16|0}function i4(f,e,r){var A=0,k=0,n=0;A=B-16|0,B=A,k=s[f+11|0],n=k&127;i:{if(r>>>0<=10){l[f+11|0]=k&128|r&127,l[f+11|0]=s[f+11|0]&127,e8(e,r,f),l[A+15|0]=0,l[f+r|0]=s[A+15|0];break i}Pr(f,10,r-10|0,n,0,n,r,e)}B=A+16|0}function q0(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0;return k=r>>>16|0,n=f>>>16|0,h=m(k,n),t=r&65535,o=f&65535,u=m(t,o),n=(u>>>16|0)+m(n,t)|0,k=(n&65535)+m(k,o)|0,w0=(m(e,r)+h|0)+m(f,A)+(n>>>16)+(k>>>16)|0,u&65535|k<<16}function B3(f){f=f|0;var e=0,r=0,A=0,k=0;return A=x8(f),k=V[i[f+12>>2]](f)|0,l[f|0]&1||(e=i[f+56>>2],r=i[f+52>>2],r&&(i[r+56>>2]=e),e&&(i[e+52>>2]=r),i[23946]==(f|0)&&(i[23946]=e),G(i[f+96>>2]),G(f)),A|k}function pX(f,e,r){if(f=f|0,e=e|0,r=r|0,!(r&&e)){i[f>>2]=5,i[f+4>>2]=2006,i[f+8>>2]=12607;return}i[r>>2]=i[e>>2],i[r+4>>2]=i[e+4>>2],i[r+8>>2]=i[e+8>>2],i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}function WX(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0,t=0;f=i[f>>2],r=i[f+92>>2],A=i[f+96>>2],k=i[f+84>>2],n=i[f+88>>2],t=i[f+104>>2],i[e+16>>2]=i[f+100>>2],i[e+20>>2]=t,i[e+8>>2]=r,i[e+12>>2]=A,i[e>>2]=k,i[e+4>>2]=n}function XX(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0;return r=B-16|0,B=r,k=r+4|0,V[i[f>>2]](k,e),e=l[r+15|0],f=(e|0)<0,e=f?i[r+8>>2]:e,A=Z2(e+4|0),i[A>>2]=e,n=i[r+4>>2],l0(A+4|0,f?n:k,e),f&&G(n),B=r+16|0,A|0}function Z3(f,e,r,A,k,n){if(f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,!J0(i[e>>2],r,A,k,n)){e=i[18417],i[f>>2]=i[18416],i[f+4>>2]=e,i[f+8>>2]=i[18418];return}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}function w2(f,e){var r=0,A=0,k=0,n=0;r=i[f+12>>2],k=r+2|0,A=i[f>>2],n=i[f+4>>2]-A|0,k>>>0>n>>>0&&(L2(f,k-n|0),A=i[f>>2],r=i[f+12>>2]),i[f+12>>2]=r+1,l[r+A|0]=e>>>8,r=i[f+12>>2],i[f+12>>2]=r+1,l[r+i[f>>2]|0]=e}function p3(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;i:{if((e|0)<12||(e=s[f+8|0],!e)||(r=s[f+9|0],!r)||(A=s[f+10|0],!A)||(f=s[f+11|0],!f))break i;k=f|(r<<16|e<<24|A<<8)}return k|0}function GX(f){f=f|0;var e=0;l[f+11|0]=6,l[f+6|0]=0,e=s[16835]|s[16836]<<8|(s[16837]<<16|s[16838]<<24),l[f|0]=e,l[f+1|0]=e>>>8,l[f+2|0]=e>>>16,l[f+3|0]=e>>>24,e=s[16839]|s[16840]<<8,l[f+4|0]=e,l[f+5|0]=e>>>8}function CX(f,e){f=f|0,e=e|0;var r=0;e&&(r=i[e+4>>2],f=i[f>>2],i[f+84>>2]=i[e>>2],i[f+88>>2]=r,r=i[e+20>>2],i[f+100>>2]=i[e+16>>2],i[f+104>>2]=r,r=i[e+12>>2],i[f+92>>2]=i[e+8>>2],i[f+96>>2]=r,l[f+108|0]=1)}function VX(f){f=f|0;var e=0,r=0,A=0;return f=i[f>>2],e=i[f+48>>2],f=i[f+52>>2],f?(r=i[f+4>>2],A=r+1|0,i[f+4>>2]=A,e=i[e+116>>2],i[f+4>>2]=r,A||(V[i[i[f>>2]+8>>2]](f),g(f)),e|0):i[e+116>>2]}function R9(f,e){var r=0,A=0,k=0;i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;i:{if(r=i[e+4>>2],r){if((r|0)<0)break i;A=U(r),i[f+4>>2]=A,i[f>>2]=A,k=r+A|0,i[f+8>>2]=k,F2(A,i[e>>2],r),i[f+4>>2]=k}return f}y0(),P()}function D9(f,e){var r=0,A=0;r=B-16|0,B=r,V1(r+8|0,f);i:{if(!s[r+8|0]||(A=r+4|0,i[A>>2]=i[(i[i[f>>2]-12>>2]+f|0)+24>>2],S3(A,e),i[A>>2]))break i;J4(i[i[f>>2]-12>>2]+f|0,1)}Z1(r+8|0),B=r+16|0}function IX(f,e,r){if(f=f|0,e=e|0,r=r|0,i[e+8>>2]!=3){e=i[18429],i[f>>2]=i[18428],i[f+4>>2]=e,i[f+8>>2]=i[18430];return}r&&(i[r>>2]=i[e+16>>2]),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}function QX(f){f=f|0;var e=0,r=0,A=0;e=B-16|0,B=e,Ve(),Or(e+4|0,f,0),r=i[e+8>>2],f=i[e+4>>2];i:{r:{if((r|0)!=(f|0)){A=i[i[f>>2]>>2];break r}if(!r)break i}i[e+8>>2]=f,G(f)}return B=e+16|0,(A|0)!=0|0}function yX(f,e,r){if(f=f|0,e=e|0,r=r|0,D4(r,e+8|0),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];return}_0(f,i[19566],i[19567])}function FX(f){f=f|0;var e=0,r=0,A=0,k=0,n=0;return e=B-16|0,B=e,k=e+4|0,V[f|0](k),r=l[e+15|0],f=(r|0)<0,r=f?i[e+8>>2]:r,A=Z2(r+4|0),i[A>>2]=r,n=i[e+4>>2],l0(A+4|0,f?n:k,r),f&&G(n),B=e+16|0,A|0}function EX(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-32|0,B=A,k=A+12|0,n=l[r+11|0],t=(n|0)<0,UA(k,i[e>>2],t?i[r>>2]:r,t?i[r+4>>2]:n,1),P0(f,k,i[e>>2]),l[A+31|0]<0&&G(i[A+20>>2]),B=A+32|0}function U9(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;if(e>>>0<3)return A=i[((e<<2)+f|0)- -64>>2],r&&(i[r>>2]=m(i[(e?44:40)+f>>2],(i[i[f+124>>2]+(e?16840:16832)>>2]+7|0)/8|0)),A|0;C0(16871,14071,671,9800),P()}function $1(f,e,r,A,k){var n=0;if(n=B-256|0,B=n,!(k&73728|(r|0)<=(A|0))){if(A=r-A|0,r=A>>>0<256,B0(n,e,r?A:256),!r)for(;H1(f,n,256),A=A-256|0,A>>>0>255;);H1(f,n,A)}B=n+256|0}function YX(f,e){f=f|0,e=e|0;var r=0,A=0;e=x0(e,100200),i[f+36>>2]=e,r=f,A=V[i[i[e>>2]+24>>2]](e)|0,i[r+44>>2]=A,e=i[f+36>>2],r=f,A=V[i[i[e>>2]+28>>2]](e)|0,l[r+53|0]=A,i[f+44>>2]>=9&&(u1(),P())}function M9(f,e){var r=0,A=0;if(r=i[f+8>>2],f=i[f+12>>2],(r|0)!=(f|0))for(f=f-r>>2,A=f>>>0<=1?1:f,f=0;;){if(i[i[(f<<2)+r>>2]>>2]==(e|0))return f;if(f=f+1|0,(A|0)==(f|0))break}return-1}function JX(f,e){f=f|0,e=e|0;var r=0,A=0;e=x0(e,100208),i[f+36>>2]=e,r=f,A=V[i[i[e>>2]+24>>2]](e)|0,i[r+44>>2]=A,e=i[f+36>>2],r=f,A=V[i[i[e>>2]+28>>2]](e)|0,l[r+53|0]=A,i[f+44>>2]>=9&&(u1(),P())}function x9(f,e,r,A,k,n){var t=0,o=0;if(r-1>>>0<=1){r=0,o=A>>>0>3,t=o?t:i[(A<<2)+36244>>2],r=o?r:i[(A<<2)+36260>>2],i[k>>2]=((f+t|0)-1|0)/(t|0),i[n>>2]=((e+r|0)-1|0)/(r|0);return}i[k>>2]=f,i[n>>2]=e}function Ri(f,e){var r=0,A=0;r=B-16|0,B=r,D8(r+8|0,f,e),e=i[i[r+8>>2]+56>>2],f=i[r+12>>2];i:{if(!f||(A=i[f+4>>2],i[f+4>>2]=A-1,A))break i;V[i[i[f>>2]+8>>2]](f),g(f)}return B=r+16|0,e}function W3(f,e,r,A){var k=0,n=0;return i[f+24>>2]=0,i[f+16>>2]=0,i[f+20>>2]=0,i[f+8>>2]=r,i[f+12>>2]=0,i[f>>2]=68392,A?(A=U(r),i[f+24>>2]=A,k=f,n=l0(A,e,r),i[k+4>>2]=n,f):(i[f+4>>2]=e,f)}function gX(){var f=0;return f=U(36),X[f+2>>1]=0,X[f+4>>1]=0,X[f>>1]=263,l[f+32|0]=1,l[f+28|0]=0,i[f+20>>2]=2,i[f+24>>2]=2,l[f+16|0]=1,i[f+12>>2]=1,l[f+5|0]=0,l[f+6|0]=0,l[f+7|0]=0,l[f+8|0]=0,f|0}function z9(f,e,r){var A=0,k=0,n=0;A=B-16|0,B=A,n=i[f+48>>2],f=U(4),i[A+4>>2]=f,k=f+4|0,i[A+12>>2]=k,i[f>>2]=r,i[A+8>>2]=k,P1(n,e,1835103083,A+4|0),f=i[A+4>>2],f&&(i[A+8>>2]=f,G(f)),B=A+16|0}function x6(f,e){var r=0,A=0;return r=B-16|0,B=r,A=r+12|0,f=i[f+28>>2],i[A>>2]=f,(f|0)!=100008&&(i[f+4>>2]=i[f+4>>2]+1),f=x0(A,100184),V[i[i[f>>2]+48>>2]](f,60064,60090,e)|0,O0(A),B=r+16|0,e}function si(f,e){var r=0,A=0;r=i[e>>2],A=i[e+4>>2],i[e>>2]=0,i[e+4>>2]=0,e=i[f+4>>2],i[f>>2]=r,i[f+4>>2]=A;i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}}function NX(f){f=f|0;var e=0,r=0,A=0,k=0;i:{if(!f||(e=s[f|0],!e)||(r=s[f+1|0],!r)||(A=s[f+2|0],!A)||(f=s[f+3|0],!f))break i;k=f|(r<<16|e<<24|A<<8)}return k|0}function H9(f){f=f|0;var e=0,r=0;i:{if(i[f+2192>>2]<=0||(e=i[f+2188>>2],e=i[i[i[f+2176>>2]+(e>>>8&16777212)>>2]+((e&1023)<<2)>>2],!e))break i;l[e+104|0]=0,K9(f+2140|0),r=e}return r|0}function RX(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0;return k=B-16|0,B=k,f=_s(i[f+60>>2],e|0,r|0,A&255,k+8|0)|0,f?(i[23944]=f,f=-1):f=0,B=k+16|0,w0=f?-1:i[k+12>>2],(f?-1:i[k+8>>2])|0}function X3(f,e){var r=0,A=0;A=B-16|0,B=A,l[f|0]=0,r=i[i[e>>2]-12>>2]+e|0;i:{if(!i[r+16>>2]){i[r+72>>2]&&Ni(i[r+72>>2]),l[f|0]=!i[(i[i[e>>2]-12>>2]+e|0)+16>>2];break i}J4(r,4)}B=A+16|0}function T9(f,e){var r=0,A=0;i:{if(r=i[f>>2],!r)break i;A=i[r+24>>2];r:{if((A|0)==i[r+28>>2]){e=V[i[i[r>>2]+52>>2]](r,e)|0;break r}i[r+24>>2]=A+4,i[A>>2]=e}if((e|0)!=-1)break i;i[f>>2]=0}}function a9(f,e,r,A){i:{if(!f)break i;r:switch(e+2|0){case 0:l[f|0]=r;return;case 1:X[f>>1]=r;return;case 2:case 3:i[f>>2]=r;return;case 5:break r;default:break i}i[f>>2]=r,i[f+4>>2]=A}}function G3(f){var e=0;return e=i[f+72>>2],i[f+72>>2]=e-1|e,e=i[f>>2],e&8?(i[f>>2]=e|32,-1):(i[f+4>>2]=0,i[f+8>>2]=0,e=i[f+44>>2],i[f+28>>2]=e,i[f+20>>2]=e,i[f+16>>2]=e+i[f+48>>2],0)}function C3(f,e,r,A,k,n,t,o,u){var h=0;h=B-16|0,B=h,s4(h,e,r,A,k,n,t,o,u^-2147483648),A=i[h>>2],r=i[h+4>>2],e=i[h+12>>2],i[f+8>>2]=i[h+8>>2],i[f+12>>2]=e,i[f>>2]=A,i[f+4>>2]=r,B=h+16|0}function DX(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;return k=i[f+84>>2],A=r+256|0,n=PA(k,0,A),A=n?n-k|0:A,r=r>>>0>A>>>0?A:r,l0(e,k,r),e=k+A|0,i[f+84>>2]=e,i[f+8>>2]=e,i[f+4>>2]=r+k,r|0}function v4(f,e){var r=0,A=0;r=s[f|0],A=s[e|0];i:{if(!r|(r|0)!=(A|0))break i;for(;;){if(A=s[e+1|0],r=s[f+1|0],!r)break i;if(e=e+1|0,f=f+1|0,(r|0)!=(A|0))break}}return r-A|0}function UX(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;return t=B-16|0,B=t,i[t+8>>2]=624576549,i[t+12>>2]=1394948685,o=f,f=t+16|0,e=B8(o,e,r,A,k,n,t+8|0,f),B=f,e|0}function S9(f,e){var r=0;i:{if(!e||(e=N0(e,67148,67404),!e|i[e+8>>2]&(i[f+8>>2]^-1))||!Q1(i[f+12>>2],i[e+12>>2],0))break i;r=Q1(i[f+16>>2],i[e+16>>2],0)}return r}function MX(f,e,r,A,k){return f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,f=B-16|0,B=f,i[f+12>>2]=k,i[f+8>>2]=A-r,e=B-16|0,B=e,B=e+16|0,B=f+16|0,e=f+8|0,f=f+12|0,i[(k0[e>>2]>2]?e:f)>>2]}function a8(f){var e=0,r=0;return s[f+11|0]>>>7|0?e=i[f>>2]:e=f,s[f+11|0]>>>7|0?r=i[f+4>>2]:r=s[f+11|0]&127,f=B-16|0,B=f,i[f+12>>2]=(r<<2)+e,B=f+16|0,i[f+12>>2]}function xX(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;return A=i[f+12>>2],k=i[f+8>>2],(A|0)>=(r|0)&k>>>0>=e>>>0|(r|0)<(A|0)&&f3(i[f+4>>2],e,r,0),(r|0)<=(A|0)&e>>>0<=k>>>0|(r|0)<(A|0)}function z6(f){f=f|0;var e=0;return e=i[13631],i[f>>2]=e,i[i[e-12>>2]+f>>2]=i[13639],i[f+12>>2]=53552,i[f+8>>2]=i[13640],l[f+55|0]<0&&G(i[f+44>>2]),K0(f+12|0),T0(f- -64|0),f|0}function zX(){var f=0;return f=U(48),i[f>>2]=0,i[f+4>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,l[f+24|0]=0,i[f+16>>2]=0,i[f+20>>2]=0,i[f+8>>2]=0,i[f+12>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,f|0}function HX(){var f=0;return f=U(44),i[f+24>>2]=0,X[f>>1]=5,i[f+4>>2]=0,i[f+8>>2]=0,l[f+40|0]=0,i[f+32>>2]=2,i[f+36>>2]=2,l[f+28|0]=1,i[f+12>>2]=0,i[f+16>>2]=0,X[f+20>>1]=0,f|0}function se(f,e,r,A){var k=0;return k=B-16|0,B=k,r=N4(i[f+44>>2],r),f=i[f+52>>2],r=r+1|0,X[k+14>>1]=r,l[k+12|0]=A,i[k+8>>2]=Q[k+12>>1]|Q[k+14>>1]<<16,c1(f,e,k+8|0),B=k+16|0,r}function TX(f,e,r,A){for(f=f|0,e=e|0,r=r|0,A=A|0;;){if((e|0)!=(r|0)){f=i[e>>2],f>>>0<=127?f=i[(f<<2)+60384>>2]:f=0,i[A>>2]=f,A=A+4|0,e=e+4|0;continue}break}return e|0}function Di(f){var e=0,r=0;e=i[19519],r=f+7&-8,f=e+r|0;i:{if(!(f>>>0<=e>>>0&&r)&&(f>>>0<=jo()<<16>>>0||Cs(f|0)|0))break i;return i[23944]=48,-1}return i[19519]=f,e}function aX(f,e){f=f|0,e=e|0;var r=0,A=0;r=U(8),i[r>>2]=0,i[r+4>>2]=0,A=i[19372],i[f>>2]=i[19371],i[f+4>>2]=A,i[f+8>>2]=i[19373],f=gk(),i[r>>2]=f,m3(f,7,1),m3(f,8,1),i[e>>2]=r}function S8(f){var e=0,r=0;return s[f+11|0]>>>7|0?e=i[f>>2]:e=f,s[f+11|0]>>>7|0?r=i[f+4>>2]:r=s[f+11|0]&127,f=B-16|0,B=f,i[f+12>>2]=e+r,B=f+16|0,i[f+12>>2]}function V3(f){var e=0;if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];return}_0(f,i[19566],i[19567])}function SX(f,e,r){if(f=f|0,e=e|0,r=r|0,!(r&&e)){i[f>>2]=5,i[f+4>>2]=2006,i[f+8>>2]=12607;return}i0[r>>3]=i0[e+40>>3],i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}function OX(f,e,r){if(f=f|0,e=e|0,r=r|0,!(r&&e)){i[f>>2]=5,i[f+4>>2]=2006,i[f+8>>2]=12607;return}i[r>>2]=i[e+72>>2],i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}function V8(f){return l[f+26|0]=1,X[f+24>>1]=2,i[f+20>>2]=131074,i[f+12>>2]=8,l[f+8|0]=0,i[f>>2]=99,i[f+4>>2]=99,i[f+16>>2]=72992,l[f+26|0]=1,X[f+24>>1]=6,i[f+20>>2]=851969,f}function O9(f){var e=0,r=0;if(e=i[f>>2],e){r=i[e+12>>2];i:{if((r|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break i}e=i[r>>2]}if((e|0)!=-1)return!i[f>>2];i[f>>2]=0}return 1}function j9(f){var e=0,r=0;if(e=i[f>>2],e){r=i[e+12>>2];i:{if((r|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break i}e=s[r|0]}if((e|0)!=-1)return!i[f>>2];i[f>>2]=0}return 1}function b1(f,e,r,A,k){var n=0;return n=B-16|0,B=n,i[n+12>>2]=r,i[n+8>>2]=k,r=S4(n+4|0,n+12|0),e=le(f,e,A,i[n+8>>2]),f=i[r>>2],f&&(i[23985]=(f|0)==-1?95820:f),B=n+16|0,e}function jX(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;A2(e,5),A=i[f+4>>2],k1(e,r,A,A>>31),A=i[f+8>>2],k1(e,r,A,A>>31),k1(e,r,i[f+12>>2],0),k1(e,r,i[f+16>>2],0),A2(e,0),D4(e,f+20|0)}function I3(f,e){var r=0,A=0;r=B-16|0,B=r;i:{if(!(s[e+11|0]>>>7|0)){i[f+8>>2]=i[e+8>>2],A=i[e+4>>2],i[f>>2]=i[e>>2],i[f+4>>2]=A;break i}_0(f,i[e>>2],i[e+4>>2])}B=r+16|0}function PX(f,e,r,A){for(f=f|0,e=e|0,r=r|0,A=A|0;;){i:{if((r|0)==(A|0)||(f=i[r>>2],i[(f<<2)+60384>>2]&e&&f>>>0<=127))break i;r=r+4|0;continue}break}return r|0}function LX(f,e,r,A){for(f=f|0,e=e|0,r=r|0,A=A|0;;){i:{if((r|0)==(A|0)||(f=i[r>>2],f>>>0>127|!(i[(f<<2)+60384>>2]&e)))break i;r=r+4|0;continue}break}return r|0}function P9(f,e,r){var A=0;return A=B-16|0,B=A,i[A+12>>2]=e,i[A+8>>2]=r,e=S4(A+4|0,A+12|0),r=sk(f,6131,i[A+8>>2]),f=i[e>>2],f&&(i[23985]=(f|0)==-1?95820:f),B=A+16|0,r}function L9(){var f=0,e=0;return f=B-16|0,B=f,i[f+12>>2]=1073741823,i[f+8>>2]=2147483647,e=B-16|0,B=e,B=e+16|0,B=f+16|0,e=f+8|0,f=f+12|0,i[(k0[e>>2]>2]?e:f)>>2]}function r0(f,e,r,A){return i[f+4>>2]=r,i[f>>2]=e,e=f+8|0,l[A+11|0]>=0?(r=i[A+4>>2],i[e>>2]=i[A>>2],i[e+4>>2]=r,i[e+8>>2]=i[A+8>>2],f):(_0(e,i[A>>2],i[A+4>>2]),f)}function E4(f,e){var r=0,A=0,k=0;r=G2(e),A=l[f+11|0],k=(A|0)<0;i:{if(((k?i[f+4>>2]:A)|0)==(r|0)){if((r|0)==-1)break i;f=!K2(k?i[f>>2]:f,e,r)}else f=0;return f}O3(),P()}function H6(f,e){var r=0;if(e){H6(f,i[e>>2]),H6(f,i[e+4>>2]),f=i[e+24>>2];i:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break i;V[i[i[f>>2]+8>>2]](f),g(f)}G(e)}}function he(f,e){var r=0;if(e){he(f,i[e>>2]),he(f,i[e+4>>2]),f=i[e+24>>2];i:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break i;V[i[i[f>>2]+8>>2]](f),g(f)}G(e)}}function K9(f){var e=0;i[f+52>>2]=i[f+52>>2]-1,e=i[f+48>>2]+1|0,i[f+48>>2]=e,e>>>0>=2048&&(G(i[i[f+36>>2]>>2]),i[f+36>>2]=i[f+36>>2]+4,i[f+48>>2]=i[f+48>>2]-1024)}function KX(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;return A=i[f+12>>2],A=((r|0)<=(A|0)&e>>>0<=k0[f+8>>2]|(r|0)<(A|0))&((r|0)>0|(r|0)>=0),A&&(i[f+16>>2]=e,i[f+20>>2]=r),A|0}function q9(f,e){var r=0,A=0,k=0,n=0;return i[f>>2]=68064,i[f>>2]=68176,r=G2(e),A=U(r+13|0),i[A+8>>2]=0,i[A+4>>2]=r,i[A>>2]=r,k=f,n=l0(A+12|0,e,r+1|0),i[k+4>>2]=n,f}function we(f,e){var r=0,A=0,k=0;k=i[f>>2],r=i[f+4>>2]-k|0,A=r+e|0;i:{if(A>>>0>r>>>0){L2(f,e);break i}if(A>>>0>=r>>>0)break i;i[f+4>>2]=A+k}i[f+12>>2]=i[f+12>>2]+e}function qX(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0;k=B-32|0,B=k,n=k+12|0,UA(n,i[e>>2],r,A,1),P0(f,n,i[e>>2]),l[k+31|0]<0&&G(i[k+20>>2]),B=k+32|0}function $X(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0;k=B-32|0,B=k,n=k+12|0,UA(n,i[e>>2],r,A,0),P0(f,n,i[e>>2]),l[k+31|0]<0&&G(i[k+20>>2]),B=k+32|0}function bX(f){f=f|0;var e=0;e=i[f+52>>2],e&&(i[f+56>>2]=e,G(e)),l[f+51|0]<0&&G(i[f+40>>2]),l[f+39|0]<0&&G(i[f+28>>2]),l[f+27|0]<0&&G(i[f+16>>2])}function dX(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;for(f=0;;){if((e|0)!=(r|0)){f=i[e>>2]+(f<<4)|0,A=f&-268435456,f=(A|A>>>24)^f,e=e+4|0;continue}break}return f|0}function $9(f){var e=0,r=0;return e=B-16|0,B=e,i[e+12>>2]=f,f=S4(e+8|0,e+12|0),r=i[i[23985]>>2]?4:1,f=i[f>>2],f&&(i[23985]=(f|0)==-1?95820:f),B=e+16|0,r}function cX(f,e){f=f|0,e=e|0;var r=0;r=-1;i:{if(!f|(e|0)<4||(r=0,s[f|0]!=255|s[f+1|0]!=216|s[f+2|0]!=255))break i;r=(s[f+3|0]&240)==224}return r|0}function iG(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;for(f=0;;){if((e|0)!=(r|0)){f=l[e|0]+(f<<4)|0,A=f&-268435456,f=(A|A>>>24)^f,e=e+1|0;continue}break}return f|0}function rG(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0;k=B-32|0,B=k,n=k+12|0,b7(n,i[e>>2],A,r),P0(f,n,i[e>>2]),l[k+31|0]<0&&G(i[k+20>>2]),B=k+32|0}function b9(){var f=0,e=0;s[79116]||(l[79116]=1),f=i[19772],i[19772]=f+1;i:{if((f|0)>0||(_k(),Zk()))break i;i[19772]=i[19772]-1,e=11}return e|0}function eG(f,e,r){for(f=f|0,e=e|0,r=r|0;;){if((e|0)!=(r|0)){f=i[e>>2],f>>>0<=127&&(f=i[i[14241]+(f<<2)>>2]),i[e>>2]=f,e=e+4|0;continue}break}return e|0}function AG(f,e,r){for(f=f|0,e=e|0,r=r|0;;){if((e|0)!=(r|0)){f=i[e>>2],f>>>0<=127&&(f=i[i[14628]+(f<<2)>>2]),i[e>>2]=f,e=e+4|0;continue}break}return e|0}function d9(f,e,r,A,k){var n=0;return n=B-16|0,B=n,i[n+12>>2]=k,k=S4(n+8|0,n+12|0),e=B6(f,e,r,A),f=i[k>>2],f&&(i[23985]=(f|0)==-1?95820:f),B=n+16|0,e}function c9(f,e,r){var A=0;return A=B-16|0,B=A,i[A+8>>2]=e,i[A+12>>2]=f,i[A+4>>2]=r,e=0,B=A+16|0,f=A+4|0,k0[f>>2]>=k0[A+12>>2]&&(e=k0[f>>2]>2]),e}function it(f){var e=0;l[f+27|0]<0&&G(i[f+16>>2]),f=i[f+4>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}}function fG(f){return f=f|0,s[100300]?i[25074]:(s[101400]||(l[101400]=1),Y2(101376,15001),Y2(101388,14995),l[100300]=1,i[25074]=101376,101376)}function kG(f){return f=f|0,s[100308]?i[25076]:(s[101432]||(l[101432]=1),E2(101408,66848),E2(101420,66860),l[100308]=1,i[25076]=101408,101408)}function rt(f){var e=0;if(V[i[i[f>>2]+20>>2]](f),e=i[f+36>>2],f=i[f+40>>2],(e|0)!=(f|0))for(;rt(i[e>>2]),e=e+8|0,(f|0)!=(e|0););}function nG(f,e,r,A,k){for(f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;;){if((e|0)!=(r|0)){f=i[e>>2],l[k|0]=f>>>0<128?f:A,k=k+1|0,e=e+4|0;continue}break}return e|0}function tG(f,e,r){for(f=f|0,e=e|0,r=r|0;;){if((e|0)!=(r|0)){f=l[e|0],(f|0)>=0&&(f=i[i[14241]+(f<<2)>>2]),l[e|0]=f,e=e+1|0;continue}break}return e|0}function oG(f,e,r){for(f=f|0,e=e|0,r=r|0;;){if((e|0)!=(r|0)){f=l[e|0],(f|0)>=0&&(f=i[i[14628]+(f<<2)>>2]),l[e|0]=f,e=e+1|0;continue}break}return e|0}function Q3(f,e,r,A){e=se(i[f+48>>2],e,r,A),f=i[r+4>>2];i:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break i;V[i[i[f>>2]+8>>2]](f),g(f)}return e}function lG(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;A2(e,1),A=i[f+4>>2],k1(e,r,A,A>>31),A=i[f+8>>2],k1(e,r,A,A>>31),k1(e,r,i[f+12>>2],0),k1(e,r,i[f+16>>2],0)}function uG(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;A2(e,2),A=i[f+4>>2],k1(e,r,A,A>>31),A=i[f+8>>2],k1(e,r,A,A>>31),k1(e,r,i[f+12>>2],0),k1(e,r,i[f+16>>2],0)}function sG(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;A2(e,4),A=i[f+4>>2],k1(e,r,A,A>>31),A=i[f+8>>2],k1(e,r,A,A>>31),k1(e,r,i[f+12>>2],0),k1(e,r,i[f+16>>2],0)}function _e(f,e,r,A){return i[f>>2]=i[e>>2],e=i[e+4>>2],l[f+20|0]=0,i[f+16>>2]=r,i[f+12>>2]=0,i[f+8>>2]=A,i[f+4>>2]=e,A&&(i[f+12>>2]=i[A+12>>2]+1),f}function hG(f,e,r,A,k){for(f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;;){if((e|0)!=(r|0)){f=l[e|0],l[k|0]=(f|0)<0?A:f,k=k+1|0,e=e+1|0;continue}break}return e|0}function et(f){f=f|0;var e=0;return e=1,i[f+4>>2]-32768>>>0<4294901760|i[f+8>>2]-32768>>>0<4294901760|k0[f+12>>2]>65535||(e=k0[f+16>>2]>65535),e|0}function At(f,e,r,A){var k=0,n=0;k=B-16|0,B=k,i[k+12>>2]=r,n=e,e=r-e|0,Qo(A,n,e>>2),i[k+8>>2]=e+A,i[f>>2]=i[k+12>>2],i[f+4>>2]=i[k+8>>2],B=k+16|0}function wG(f,e,r,A,k,n,t,o,u,h){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0,h=h|0;var w=0;return w=e,e=0,V[f|0](w,r,A,k,n,e|t,o,e|u,h)|0}function _G(f,e,r,A,k,n){if(f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,Q1(f,i[e+8>>2],n)){n3(e,r,A,k);return}f=i[f+8>>2],V[i[i[f>>2]+20>>2]](f,e,r,A,k,n)}function ft(f,e,r){var A=0,k=0,n=0;A=B-16|0,B=A,k=A,n=O8(e),i[k+12>>2]=n,k=A,n=O8(r),i[k+8>>2]=n,i[f>>2]=i[A+12>>2],i[f+4>>2]=i[A+8>>2],B=A+16|0}function c(f,e,r){var A=0,k=0,n=0;A=B-16|0,B=A,k=i[12469],n=s[e|0]==42,n||F1(21517,6,1,k),i[A+12>>2]=r,qr(f,e+n|0,r,976,977),x8(k),B=A+16|0}function U(f){var e=0,r=0;for(r=f>>>0<=1?1:f;;){i:{if(f=Z2(r),f||(e=i[25435],!e))break i;V[e|0]();continue}break}return f||o4(),f}function kt(f,e,r,A){var k=0,n=0;k=B-16|0,B=k,i[k+12>>2]=r,n=e,e=r-e|0,Jo(A,n,e),i[k+8>>2]=e+A,i[f>>2]=i[k+12>>2],i[f+4>>2]=i[k+8>>2],B=k+16|0}function y3(f,e,r){var A=0;return A=B-16|0,B=A,i[A+12>>2]=r,r=S4(A+8|0,A+12|0),e=ie(f,e),f=i[r>>2],f&&(i[23985]=(f|0)==-1?95820:f),B=A+16|0,e}function ve(f){var e=0,r=0;e=B-16|0,B=e,r=-1;i:{if(g6(f)||(V[i[f+32>>2]](f,e+15|0,1)|0)!=1)break i;r=s[e+15|0]}return B=e+16|0,r}function nt(f,e){var r=0;return r=e>>31,f=f^r,hn(f-r|0,(e^r)-((f>>>0>>0)+r|0)|0,100,0),w0=c8,f=r^d8,e=f-r|0,w0=(r^w0)-((f>>>0>>0)+r|0)|0,e}function G4(f){f=f|0;var e=0,r=0;if(f){e=i[f+4>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}G(f)}}function F1(f,e,r,A){var k=0;k=m(e,r);i:{if(i[A+76>>2]<0){f=ee(f,k,A);break i}f=ee(f,k,A)}return(k|0)==(f|0)?e?r:0:(f>>>0)/(e>>>0)|0}function F3(f,e,r,A,k,n,t,o,u,h,w,_,v,Z){if((Z|0)<=8){V[i[f+12>>2]](e,r,A,k,n,t,o,u,h,w,_,v);return}V[i[f+28>>2]](e,r,A,k,n,t,o,u,h,w,_,v,Z)}function vG(f,e){f=f|0,e=e|0;i:{if(i[19575]||(mA(),!s[78304]))break i;bA()}i[19575]=i[19575]+1,i[f+8>>2]=34640,i[f>>2]=0,i[f+4>>2]=0}function tt(f){f=f|0;var e=0;i[f+2192>>2]&&(e=i[f+2188>>2],l[i[i[i[f+2176>>2]+(e>>>8&16777212)>>2]+((e&1023)<<2)>>2]+104|0]=0,K9(f+2140|0))}function mG(f){f=f|0;var e=0,r=0,A=0;r=f,e=k0[f+56>>2]>65535?3:s[f+124|0]?2:0,A=i[f+68>>2],f=l[f+75|0],l[r+48|0]=((f|0)<0?A:f)&&e>>>0<=2?2:e}function E3(f,e,r){var A=0;A=1;i:switch(r|0){case 2:return!(f&1);case 1:return!((f|e)&1);default:A=0;break;case 0:case 3:break i}return A}function BG(f){f=f|0;var e=0;f&&(e=i[f+4>>2],e&&G(e),e=i[f+8>>2],e&&G(e),e=i[f+12>>2],e&&G(e),e=i[f+16>>2],e&&G(e),G(f))}function ZG(f,e){f=f|0,e=e|0;var r=0,A=0;V[i[i[f>>2]+24>>2]](f)|0,e=x0(e,100200),i[f+36>>2]=e,r=f,A=V[i[i[e>>2]+28>>2]](e)|0,l[r+44|0]=A}function pG(f,e){f=f|0,e=e|0;var r=0,A=0;V[i[i[f>>2]+24>>2]](f)|0,e=x0(e,100208),i[f+36>>2]=e,r=f,A=V[i[i[e>>2]+28>>2]](e)|0,l[r+44|0]=A}function WG(f,e,r,A,k,n,t,o,u){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0;var h=0;return h=e,e=0,V[f|0](h,r,A,k,e|n,t,e|o,u)|0}function ot(f){var e=0;e=i[f+60>>2],e&&(i[f+64>>2]=e,G(e)),e=i[f+48>>2],e&&(i[f+52>>2]=e,G(e)),e=i[f+36>>2],e&&(i[f+40>>2]=e,G(e))}function me(f,e,r){var A=0;A=i0[r>>3],i0[f>>3]=i0[e+32>>3]+(A*i0[e>>3]+A*i0[e+8>>3]),i0[f+8>>3]=i0[e+40>>3]+(A*i0[e+16>>3]+i0[r+8>>3]*i0[e+24>>3])}function XG(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;r=e,e=i[e>>2]+7&-8,i[r>>2]=e+16,A=f,k=YA(i[e>>2],i[e+4>>2],i[e+8>>2],i[e+12>>2]),i0[A>>3]=k}function lt(f,e){var r=0;return r=i[f+24>>2],(r|0)==i[f+28>>2]?V[i[i[f>>2]+52>>2]](f,e&255)|0:(i[f+24>>2]=r+1,l[r|0]=e,e&255)}function GG(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=+A,k=+k,n=+n,f&&(l[f+24|0]=0,i0[f+16>>3]=n/+(r|0),n=k,k=+(e|0),i0[f+8>>3]=n/k,i0[f>>3]=A/k)}function Y3(f,e,r,A,k,n){var t=0,o=0;t=i[f+4>>2],o=t>>8,f=i[f>>2],t&1&&(o=i[i[A>>2]+o>>2]),V[i[i[f>>2]+20>>2]](f,e,r,A+o|0,t&2?k:2,n)}function CG(f){f=f|0;var e=0;return f=i[f>>2],e=i[f+64>>2],f=i[f+68>>2],!f|i[f+4>>2]!=-1||(V[i[i[f>>2]+8>>2]](f),g(f)),(e|0)!=0|0}function ut(f,e,r){var A=0;A=B-16|0,B=A;i:{if(!(l[e+120|0]&1|r>>>0>30)){l[e+120|0]=1;break i}e=eo(r)}B=A+16|0,i[f+4>>2]=r,i[f>>2]=e}function VG(f,e){f=f|0,e=e|0,e&&(f=f<<24|(f&65280)<<8|(f>>>8&65280|f>>>24),l[e|0]=f,l[e+1|0]=f>>>8,l[e+2|0]=f>>>16,l[e+3|0]=f>>>24)}function Be(f,e,r,A,k){var n=0,t=0;n=i[f+4>>2],t=n>>8,f=i[f>>2],n&1&&(t=i[i[r>>2]+t>>2]),V[i[i[f>>2]+24>>2]](f,e,r+t|0,n&2?A:2,k)}function st(f,e,r,A,k,n){f=V[i[i[f+8>>2]+4>>2]](f+8|0)|0,f=Nr(r,A,f,f+288|0,n,k,0)-f|0,(f|0)<=287&&(i[e>>2]=((f|0)/12|0)%12)}function ht(f,e,r,A,k,n){f=V[i[i[f+8>>2]+4>>2]](f+8|0)|0,f=Rr(r,A,f,f+288|0,n,k,0)-f|0,(f|0)<=287&&(i[e>>2]=((f|0)/12|0)%12)}function wt(f,e){if(!i[e+4>>2]){V[i[i[e>>2]+36>>2]](f,e+4|0);return}e=i[18138],i[f>>2]=i[18137],i[f+4>>2]=e,i[f+8>>2]=i[18139]}function IG(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,A&&(i[A>>2]=0),e=i[18282],i[f>>2]=i[18281],i[f+4>>2]=e,i[f+8>>2]=i[18283]}function QG(f,e,r,A){for(f=f|0,e=e|0,r=r|0,A=A|0;;){if((e|0)!=(r|0)){i[A>>2]=l[e|0],A=A+4|0,e=e+1|0;continue}break}return e|0}function yG(f,e,r,A){for(f=f|0,e=e|0,r=r|0,A=A|0;;){if((e|0)!=(r|0)){l[A|0]=s[e|0],A=A+1|0,e=e+1|0;continue}break}return e|0}function FG(f){f=f|0;var e=0,r=0;return e=U(8),r=i[f+8>>2],f=i[f+12>>2],f&&(i[f+4>>2]=i[f+4>>2]+1),i[e+4>>2]=f,i[e>>2]=r,e|0}function _t(f,e,r){var A=0;for(A=B-16|0,B=A,l[A+15|0]=r;;){if(e){l[f|0]=s[A+15|0],e=e-1|0,f=f+1|0;continue}break}B=A+16|0}function EG(f,e,r,A){if(f=f|0,e=e|0,r=r|0,A=A|0,Q1(f,i[e+8>>2],0)){v3(e,r,A);return}f=i[f+8>>2],V[i[i[f>>2]+28>>2]](f,e,r,A)}function O8(f){var e=0;return e=B-16|0,B=e,i[e+12>>2]=f,f=B-16|0,B=f,i[f+12>>2]=i[e+12>>2],B=f+16|0,B=e+16|0,i[f+12>>2]}function YG(f,e){f=f|0,e=e|0;var r=0;return e=N0(e,68572,68596),!e|i[f+56>>2]!=i[e+56>>2]||(r=i[f+60>>2]==i[e+60>>2]),r|0}function g(f){var e=0,r=0;i:{if(e=f+8|0,i[e>>2]&&(r=e,e=i[e>>2]-1|0,i[r>>2]=e,(e|0)!=-1))break i;V[i[i[f>>2]+16>>2]](f)}}function Ze(f){var e=0;e=i[f+328>>2],i[f+328>>2]=e-1,i[f+336>>2]=i[f+336>>2]+1,!((e|0)>0)&&(C0(17278,14027,677,4391),P())}function vt(f){return i[f>>2]=53392,CA(f+4|0),i[f+24>>2]=0,i[f+28>>2]=0,i[f+16>>2]=0,i[f+20>>2]=0,i[f+8>>2]=0,i[f+12>>2]=0,f}function mt(f,e,r,A,k,n){f=V[i[i[f+8>>2]>>2]](f+8|0)|0,f=Nr(r,A,f,f+168|0,n,k,0)-f|0,(f|0)<=167&&(i[e>>2]=((f|0)/12|0)%7)}function Bt(f,e,r,A,k,n){f=V[i[i[f+8>>2]>>2]](f+8|0)|0,f=Rr(r,A,f,f+168|0,n,k,0)-f|0,(f|0)<=167&&(i[e>>2]=((f|0)/12|0)%7)}function JG(f,e){f=f|0,e=e|0;var r=0;return r=i[f+2152>>2],f=i[f+2148>>2],r-f>>2>>>0>e>>>0?f=i[f+(e<<2)>>2]:f=0,f|0}function $0(f){return i[f>>2]=53144,CA(f+4|0),i[f+24>>2]=0,i[f+28>>2]=0,i[f+16>>2]=0,i[f+20>>2]=0,i[f+8>>2]=0,i[f+12>>2]=0,f}function b0(f,e){i[f+20>>2]=0,i[f+24>>2]=e,i[f+12>>2]=0,i[f+4>>2]=4098,i[f+8>>2]=6,i[f+16>>2]=!e,B0(f+32|0,0,40),CA(f+28|0)}function v1(f){var e=0;i:{if(f=i[f+4>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}}function Zt(f,e,r){var A=0;A=B-16|0,B=A;i:if(s[f+11|0]>>>7|0)break i;wi(f,r),l[A+15|0]=0,l[e+r|0]=s[A+15|0],B=A+16|0}function gG(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;return A=i[e+12>>2],f=i[f+16>>2]==1970628964?24:8,we(e,r?f+8|0:f),we(e,4),A|0}function pt(f){var e=0;return e=i[f+12>>2],(e|0)==i[f+16>>2]?V[i[i[f>>2]+40>>2]](f)|0:(i[f+12>>2]=e+4,i[e>>2])}function NG(f){f=f|0;var e=0;return(V[i[i[f>>2]+36>>2]](f)|0)==-1?-1:(e=f,f=i[f+12>>2],i[e+12>>2]=f+4,i[f>>2])}function Wt(){var f=0;return s[79116]||(l[79116]=1),f=i[19772],(f|0)<=0?12:(f=f-1|0,i[19772]=f,f||Eo(),0)}function Xt(f){f=f|0;var e=0,r=0;return i[f>>2]=68176,e=i[f+4>>2]-12|0,r=i[e+8>>2]-1|0,i[e+8>>2]=r,(r|0)<0&&G(e),f|0}function Gt(f){var e=0;i[f+8>>2]=0,i[f+12>>2]=0,e=i[f+16>>2],i[f+16>>2]=0,e=e>>3,i[f>>2]=i[f>>2]-e,i[f+4>>2]=e+i[f+4>>2]}function V1(f,e){return i[f+4>>2]=e,l[f|0]=0,e=i[i[e>>2]-12>>2]+e|0,i[e+16>>2]||(e=i[e+72>>2],e&&Ni(e),l[f|0]=1),f}function RG(f){f=f|0;var e=0;return(V[i[i[f>>2]+36>>2]](f)|0)==-1?-1:(e=f,f=i[f+12>>2],i[e+12>>2]=f+1,s[f|0])}function Ct(f){var e=0;return e=i[f+12>>2],(e|0)==i[f+16>>2]?V[i[i[f>>2]+40>>2]](f)|0:(i[f+12>>2]=e+1,s[e|0])}function Vt(f){return f=(f|0)>2147481747?f-2e3|0:f,f&3?0:(f=f+1900|0,(f|0)%100|0?1:!((f|0)%400|0))}function It(f,e,r){var A=0,k=0;A=i0[r>>3],k=i0[r+8>>3],i0[f>>3]=A*i0[e>>3]+k*i0[e+8>>3],i0[f+8>>3]=A*i0[e+16>>3]+k*i0[e+24>>3]}function Y4(f,e,r,A){i[r+12>>2]=A,V[i[i[e>>2]+36>>2]](f,e,r,i[r+4>>2]-(i[r>>2]+A|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2]}function O0(f){var e=0;f=i[f>>2],(f|0)!=100008&&(e=i[f+4>>2]-1|0,i[f+4>>2]=e,(e|0)==-1&&V[i[i[f>>2]+8>>2]](f))}function DG(f,e){f=f|0,e=e|0;var r=0,A=0;r=U(1),i[f+8>>2]=i[18554],A=i[18553],i[f>>2]=i[18552],i[f+4>>2]=A,i[e>>2]=r}function UG(f){f=f|0;var e=0,r=0;if(e=i[f>>2],e)for(;G(e),r=r+1|0,e=i[(r<<2)+f>>2],!!e;);G(f)}function MG(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0;return k=B-16|0,B=k,V[f|0](k+8|0,e,r,A),B=k+16|0,i[k+12>>2]}function Qt(f,e,r,A,k,n){i[f>>2]=e,i[f+4>>2]=r,i[f+8>>2]=A,i[f+12>>2]=k&65535|(n>>>16&32768|(k&2147418112)>>>16)<<16}function pe(f,e,r){var A=0;A=B-16|0,B=A,i[A+12>>2]=e,i[A+8>>2]=r,i[f>>2]=i[A+12>>2],i[f+4>>2]=i[A+8>>2],B=A+16|0}function J3(f,e){var r=0;return r=B-16|0,B=r,i[r+12>>2]=i[f>>2],i[r+12>>2]=i[r+12>>2]+(e<<2),B=r+16|0,i[r+12>>2]}function xG(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;return A=i[e+12>>2],f=i[f+16>>2]==1970628964?24:8,we(e,r?f+8|0:f),A|0}function S4(f,e){var r=0;return r=i[23985],e=i[e>>2],e&&(i[23985]=(e|0)==-1?95820:e),i[f>>2]=(r|0)==95820?-1:r,f}function zG(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;A=B-16|0,B=A,i[A+8>>2]=1,i[A+12>>2]=485,Qk(f,e,A+8|0,r),B=A+16|0}function hi(f,e,r,A){var k=0;k=B-32|0,B=k,Wr(k+12|0,i[f+60>>2],e,r,A),l[k+31|0]<0&&G(i[k+20>>2]),B=k+32|0}function A8(f){i:{if(f=i[f+4>>2]&74,f){if((f|0)==64)return 8;if((f|0)!=8)break i;return 16}return 0}return 10}function HG(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=i[18556],i[f>>2]=i[18555],i[f+4>>2]=e,i[f+8>>2]=i[18557]}function TG(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=i[18553],i[f>>2]=i[18552],i[f+4>>2]=e,i[f+8>>2]=i[18554]}function yt(f,e){var r=0,A=0;A=i[e>>2],i[e>>2]=0,r=i[f>>2],i[f>>2]=A,r&&V[i[f+4>>2]](r),i[f+4>>2]=i[e+4>>2]}function Q1(f,e,r){return r?(f|0)==(e|0)?1:!v4(i[f+4>>2],i[e+4>>2]):i[f+4>>2]==i[e+4>>2]}function g3(f){f=f|0;var e=0;return e=i[13752],i[f>>2]=e,i[i[e-12>>2]+f>>2]=i[13755],I6(f+8|0),T0(f+108|0),f|0}function N3(f){f=f|0;var e=0;return e=i[13791],i[f>>2]=e,i[i[e-12>>2]+f>>2]=i[13794],I6(f+4|0),T0(f+104|0),f|0}function o1(f,e,r){var A=0;return A=B-16|0,B=A,i[A+12>>2]=e,i[f>>2]=i[A+12>>2],i[f+4>>2]=i[r>>2],B=A+16|0,f}function aG(f,e,r){f=f|0,e=e|0,r=r|0,f=i[e+4>>2],f&&G(f),f=i[e+8>>2],f&&G(f),f=i[e+12>>2],f&&G(f)}function R3(f,e){var r=0;return r=B-16|0,B=r,i[r+12>>2]=i[f>>2],i[r+12>>2]=i[r+12>>2]+e,B=r+16|0,i[r+12>>2]}function SG(f,e,r){f=f|0,e=e|0,r=r|0,s3(i[e>>2],r),i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}function Ft(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,i[f+8>>2]=-1,i[f+12>>2]=-1,i[f>>2]=0,i[f+4>>2]=0}function D3(f){f=f|0;var e=0;return e=i[13707],i[f>>2]=e,i[i[e-12>>2]+f>>2]=i[13710],K3(f+4|0),T0(f+56|0),f|0}function wi(f,e){if(s[f+11|0]>>>7|0){i[f+4>>2]=e;return}l[f+11|0]=s[f+11|0]&128|e&127,l[f+11|0]=s[f+11|0]&127}function OG(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;A2(e,0),A=i[f+4>>2],k1(e,r,A,A>>31),f=i[f+8>>2],k1(e,r,f,f>>31)}function C4(f){var e=0;return s[f+11|0]>>>7|0&&(f=i[f>>2]),e=B-16|0,B=e,i[e+12>>2]=f,B=e+16|0,i[e+12>>2]}function Et(f,e,r,A,k){e=q4(e,r,A,k,4),s[A|0]&4||(i[f>>2]=((e|0)<69?e+2e3|0:e>>>0<100?e+1900|0:e)-1900)}function Yt(f,e,r,A,k){e=$4(e,r,A,k,4),s[A|0]&4||(i[f>>2]=((e|0)<69?e+2e3|0:e>>>0<100?e+1900|0:e)-1900)}function T6(f,e,r){f=f|0,e=e|0,r=r|0;i:{if(f&&(f=i[f>>2],f))break i;return i[r>>2]=0,0}return v0(f,e,r)|0}function U3(f,e,r){if(r)for(;;){if(i[f>>2]==(e|0))return f;if(f=f+4|0,r=r-1|0,!r)break}return 0}function jG(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;f=i[f>>2],r=e>>31,A=f,k=q0(e,r,e,r),i[A+64>>2]=k,i[f+68>>2]=w0}function M3(f,e){var r=0;r=f+4|0,i[r>>2]=55348,i[r>>2]=53680,i[f>>2]=53260,i[r>>2]=53280,Qe(i[13312]+f|0,e)}function x3(f,e){var r=0;r=f+4|0,i[r>>2]=55348,i[r>>2]=54116,i[f>>2]=53508,i[r>>2]=53528,Qe(i[13374]+f|0,e)}function Jt(f,e){e&&(X[f+4>>1]=i[e+4>>2],X[f+6>>1]=i[e+8>>2],X[f+8>>1]=i[e+12>>2],l[f+10|0]=s[e+16|0]!=0)}function PG(f,e,r){f=f|0,e=e|0,r=r|0,i[r>>2]=100,i[f+8>>2]=i[18554],e=i[18553],i[f>>2]=i[18552],i[f+4>>2]=e}function LG(f){f=f|0;var e=0;return e=i[f+4>>2],i[f+4>>2]=0,i[f>>2]=68360,e&&V[i[i[e>>2]+4>>2]](e),f|0}function KG(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;return A=B-16|0,B=A,V[f|0](A+8|0,e,r),B=A+16|0,i[A+12>>2]}function gt(){var f=0;return f=Z2(52),f&&(l[f+16|0]=1,i[f+12>>2]=6,i[f+4>>2]=1,i[f+8>>2]=13,l[f|0]=1),f|0}function Nt(f,e,r,A,k,n,t,o){return f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,i[k>>2]=r,i[o>>2]=n,3}function _i(f,e){var r=0,A=0;return r=i[f+56>>2],A=e,e=i[f+60>>2],r=U3(r,A,e-r>>2),((r||e)|0)!=i[f+60>>2]}function qG(f,e,r){f=f|0,e=e|0,r=r|0,i[r>>2]=1,i[f+8>>2]=i[18554],e=i[18553],i[f>>2]=i[18552],i[f+4>>2]=e}function $G(f,e,r){f=f|0,e=e|0,r=r|0,i[r>>2]=0,i[f+8>>2]=i[18554],e=i[18553],i[f>>2]=i[18552],i[f+4>>2]=e}function Rt(f,e,r){return f=f|0,e=e|0,r=r|0,e=e>>>0>k0[f+8>>2],f=i[f+12>>2],(e&(r|0)>=(f|0)|(f|0)<(r|0))<<1}function Dt(f){Q[f+8>>1]==2&&(X[f+8>>1]=6),Q[f+4>>1]==2&&(X[f+4>>1]=1),Q[f+6>>1]==2&&(X[f+6>>1]=13)}function bG(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,e=i[18553],i[f>>2]=i[18552],i[f+4>>2]=e,i[f+8>>2]=i[18554]}function a6(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,e=i[18556],i[f>>2]=i[18555],i[f+4>>2]=e,i[f+8>>2]=i[18557]}function dG(f){f=f|0;var e=0,r=0;return f=i[f+4>>2],e=G2(f)+1|0,r=Z2(e),r?f=l0(r,f,e):f=0,f|0}function cG(f){f=f|0;var e=0;e=i[f+4>>2],i[f+4>>2]=0,i[f>>2]=68360,e&&V[i[i[e>>2]+4>>2]](e),G(f)}function iC(f,e,r){return f=f|0,e=e|0,r=r|0,f=V[i[i[f+4>>2]+16>>2]](e,r,i[f+8>>2])|0,(f>>>0>=2?2:f)|0}function Ut(f){if(i[f+20>>2]!=i[f+24>>2])for(;On(f),i[f+20>>2]!=i[f+24>>2];);}function z3(f){i[f+136>>2]||(i[f+136>>2]=i[i[23985]>>2]?55472:55448),i[f+72>>2]||(i[f+72>>2]=1)}function rC(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,v8(f,e,r,A,k,n,t,1,1,o)}function eC(f){f=f|0;var e=0;return e=B-16|0,B=e,s9(e,i[f+4>>2]),B=e+16|0,w0=i[e+12>>2],i[e+8>>2]}function AC(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,v8(f,e,r,A,k,n,t,1,2,o)}function fC(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,v8(f,e,r,A,k,n,t,1,3,o)}function kC(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,v8(f,e,r,A,k,n,t,2,1,o)}function nC(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,v8(f,e,r,A,k,n,t,2,2,o)}function tC(f,e){return f=f|0,e=e|0,e>>>0<=2?f=i[i[f+124>>2]+i[(e<<2)+41368>>2]>>2]:f=0,f|0}function oC(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,v8(f,e,r,A,k,n,t,2,3,o)}function lC(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,v8(f,e,r,A,k,n,t,3,1,o)}function uC(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,v8(f,e,r,A,k,n,t,3,3,o)}function sC(){i[19641]=1,i[19635]=5952,i[19634]=3,i[19633]=9093,i[19632]=2,i[19617]=0,i[19616]=78528}function hC(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,v8(f,e,r,A,k,n,t,3,2,o)}function wC(f,e,r){return f=f|0,e=e|0,r=r|0,r>>>0<=127?f=(i[(r<<2)+60384>>2]&e)!=0:f=0,f|0}function Mt(f,e){var r=0;r=B-16|0,B=r;i:{if((f|0)==(e|0)){l[f+120|0]=0;break i}Q8(e,4)}B=r+16|0}function H3(f,e,r){var A=0;return A=B-16|0,B=A,r=U3(f,i[r>>2],e-f>>2),B=A+16|0,((r||e)-f|0)+f|0}function _C(f,e,r,A,k,n,t){return f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,V[f|0](e,r,A,k,n,t)|0}function We(f){if(i[f+336>>2]!=i[f+340>>2])for(;i[f+336>>2]!=i[f+340>>2];);}function Xe(f,e){e&&(Xe(f,i[e>>2]),Xe(f,i[e+4>>2]),f=i[e+16>>2],i[e+16>>2]=0,f&&G(f),G(e))}function xt(f,e){var r=0;for(r=i[f+4>>2];;){if((e|0)!=(r|0)){r=r-4|0;continue}break}i[f+4>>2]=e}function vC(f,e){f=f|0,e=e|0;var r=0;return r=B-16|0,B=r,V[f|0](r+8|0,e),B=r+16|0,i[r+12>>2]}function T3(f,e,r){var A=0;return A=B-16|0,B=A,r=PA(f,l[r|0],e-f|0),B=A+16|0,((r||e)-f|0)+f|0}function mC(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,Q1(f,i[e+8>>2],n)&&n3(e,r,A,k)}function a3(f,e,r){f=f|0,e=e|0,r=r|0,e=i[18553],i[f>>2]=i[18552],i[f+4>>2]=e,i[f+8>>2]=i[18554]}function BC(f){f=f|0;var e=0;f&&(e=i[f+4>>2],e&&(V[i[i[f>>2]+40>>2]](e),i[f+4>>2]=0),G(f))}function ZC(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,V[i[i[e>>2]+16>>2]](f,e,i[r+8>>2],i[r+12>>2],0,A)}function zt(f){f=f|0;var e=0;i:{if(!f||(f=i[f>>2],!f))break i;e=i[f+24>>2]}return e|0}function Ht(f){f=f|0;var e=0;i:{if(!f||(f=i[f>>2],!f))break i;e=i[f+28>>2]}return e|0}function pC(f,e,r){f=f|0,e=e|0,r=r|0,e=i[18282],i[f>>2]=i[18281],i[f+4>>2]=e,i[f+8>>2]=i[18283]}function S6(f,e,r){(r|0)<0&&(C0(17266,14055,138,5756),P()),i[f+4>>2]=e,i[f>>2]=e,i[f+8>>2]=e+r}function Tt(f){f=f|0;var e=0;return i[f>>2]=60332,e=i[f+8>>2],!e|s[f+12|0]!=1||G(e),f|0}function WC(f){f=f|0;var e=0;return f=i[f>>2],i[f+32>>2]==1&&(e=i[f+36>>2]==3?4:10),y4(f,e)|0}function XC(f){f=f|0;var e=0;return f=i[f>>2],i[f+32>>2]==1&&(e=i[f+36>>2]==3?4:10),F4(f,e)|0}function at(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,i[f+8>>2]=-1,i[f+12>>2]=-1,i[f>>2]=0,i[f+4>>2]=0}function St(f,e){var r=0;return r=f+8|0,f=i[r>>2],i[f+(e<<2)>>2]!=0&i[r+4>>2]-f>>2>>>0>e>>>0}function Ot(f){var e=0,r=0;for(r=f;e=r,r=e+4|0,!!i[e>>2];);return e-f>>2}function GC(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,V[i[i[e>>2]+92>>2]](f,i[e+4>>2],r,A,k)}function _2(){var f=0;f=Ne(4),i[f>>2]=68064,i[f>>2]=68024,i[f>>2]=68044,wr(f|0,68156,20),P()}function S3(f,e){var r=0;i:{if(r=i[f>>2],!r||(lt(r,e)|0)!=-1)break i;i[f>>2]=0}}function CC(f){f=f|0;var e=0;return i[f>>2]=73364,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function VC(f){f=f|0;var e=0;return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function IC(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,m8(f,e,r,A,k,n,t,1,1)}function QC(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,m8(f,e,r,A,k,n,t,1,2)}function yC(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,m8(f,e,r,A,k,n,t,1,3)}function FC(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,m8(f,e,r,A,k,n,t,2,1)}function EC(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,m8(f,e,r,A,k,n,t,2,2)}function YC(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,m8(f,e,r,A,k,n,t,2,3)}function JC(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,m8(f,e,r,A,k,n,t,3,1)}function gC(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,m8(f,e,r,A,k,n,t,3,2)}function NC(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,m8(f,e,r,A,k,n,t,3,3)}function RC(f){f=f|0;var e=0;return i[f>>2]=73276,e=i[f+8>>2],e&&(i[f+12>>2]=e,G(e)),f|0}function DC(f){f=f|0;var e=0;return i[f>>2]=72952,e=i[f+8>>2],e&&(i[f+12>>2]=e,G(e)),f|0}function UC(f){return f=f|0,i[f+4>>2]-32768>>>0<4294901760|i[f+8>>2]-32768>>>0<4294901760}function MC(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,V[f|0](e,r,A,k,n,t)}function jt(f,e){f=f|0,e=e|0;i:{if(!e||(f=i[e>>2],!f))break i;G(f),i[e>>2]=0}}function I8(f,e,r,A){var k=0;return k=B-16|0,B=k,i[k+12>>2]=A,f=le(f,e,r,A),B=k+16|0,f}function Pt(f){f=f|0;var e=0;f=i[i[i[f>>2]>>2]>>2],e=i[25045]+1|0,i[25045]=e,i[f+4>>2]=e}function a0(f,e){var r=0,A=0;return r=e&31,A=(-1>>>r&f)<>>f}function U4(f,e){f=f|0,e=e|0,e=B-16|0,B=e,i[f>>2]=0,i[f+4>>2]=0,i[f+8>>2]=0,B=e+16|0}function xC(f,e,r){return f=f|0,e=e|0,r=r|0,!(V[i[i[f+4>>2]+12>>2]](e,r,i[f+8>>2])|0)|0}function zC(f,e){f=f|0,e=e|0,e=i[18282],i[f>>2]=i[18281],i[f+4>>2]=e,i[f+8>>2]=i[18283]}function x0(f,e){return f=i[f>>2],e=r1(e),St(f,e)||(u1(),P()),i[i[f+8>>2]+(e<<2)>>2]}function Lt(f,e){var r=0;return r=B-16|0,B=r,i[r+12>>2]=e,f=sk(f,8823,e),B=r+16|0,f}function Kt(f){(f|0)!=0&(f|0)!=55448&(f|0)!=55472&(f|0)!=99608&(f|0)!=99632&&G(f)}function HC(f){f=f|0;var e=0;i[f>>2]=73364,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function TC(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0}function aC(f,e,r){return f=f|0,e=e|0,r=r|0,!(V[i[i[f+4>>2]+8>>2]](e,r,i[f+8>>2])|0)|0}function SC(f){f=f|0;var e=0;i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function OC(f){f=f|0;var e=0;i[f>>2]=73276,e=i[f+8>>2],e&&(i[f+12>>2]=e,G(e)),G(f)}function jC(f){for(f=f|0,f=100584;f=z0(f-12|0),(f|0)!=100416;);}function PC(f){for(f=f|0,f=100760;f=l1(f-12|0),(f|0)!=100592;);}function LC(f){for(f=f|0,f=101056;f=z0(f-12|0),(f|0)!=100768;);}function KC(f){for(f=f|0,f=101360;f=l1(f-12|0),(f|0)!=101072;);}function qC(f){for(f=f|0,f=101400;f=z0(f-12|0),(f|0)!=101376;);}function $C(f){f=f|0;var e=0;i[f>>2]=72952,e=i[f+8>>2],e&&(i[f+12>>2]=e,G(e)),G(f)}function bC(f){for(f=f|0,f=101432;f=l1(f-12|0),(f|0)!=101408;);}function dC(f,e,r,A,k,n){return f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,Tk(f,e,r,A,k,n)|0}function cC(f,e,r){f=f|0,e=e|0,r=r|0,f=i[f>>2],i[e>>2]=i[f+72>>2],i[r>>2]=i[f+76>>2]}function qt(f){return f=f|0,i[f>>2]=61416,i[f+8>>2]!=(M2()|0)&&Kt(i[f+8>>2]),f|0}function Ge(f){return i[f+112>>2]=0,i[f+116>>2]=0,f=B0(f,0,108),i[f+108>>2]=f+112,f}function $t(f,e){for(;i[f+16>>2]=i[f+16>>2]-e,f=i[f+8>>2],!!f;);}function iV(f,e){return f=f|0,e=e|0,(e|0)>=0&&(e=i[i[14241]+(e<<2)>>2]),e<<24>>24}function rV(f,e){return f=f|0,e=e|0,(e|0)>=0&&(e=i[i[14628]+(e<<2)>>2]),e<<24>>24}function eV(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,i[f>>2]=0,i[f+4>>2]=0}function AV(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,V[i[i[e>>2]+76>>2]](f,i[e+4>>2],r,A)}function fV(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,V[i[i[e>>2]+80>>2]](f,i[e+4>>2],r,A)}function kV(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,V[i[i[e>>2]+84>>2]](f,i[e+4>>2],r,A)}function nV(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,V[i[i[e>>2]+88>>2]](f,i[e+4>>2],r,A)}function tV(f,e){f=f|0,e=e|0,e&&(f=i[i[f>>2]+80>>2],X[e>>1]=f,X[e+2>>1]=f>>>16)}function oV(f){return f=f|0,f=ik(i[f+60>>2])|0,f?(i[23944]=f,f=-1):f=0,f|0}function lV(f){f=f|0;var e=0;e=f+12|0,f=i[e+8816>>2],f&&(i[e+8820>>2]=f,G(f))}function _1(f){return f=M0(f),(f|0)==-99999|!f||(f=f&1?f+1>>1:0-(f>>1)|0),f}function uV(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,e=B-16|0,B=e,E7(f,r,A),B=e+16|0}function sV(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,e=B-16|0,B=e,F7(f,r,A),B=e+16|0}function hV(f,e){return f=f|0,e=e|0,i[f+2152>>2]-i[f+2148>>2]>>2>(e|0)&(e|0)>=0}function wV(f){return f=f|0,s[100404]||(yi(100392,61736),l[100404]=1),100392}function _V(f,e,r,A,k){return f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,V[f|0](e,r,A,k)|0}function bt(f,e){if(i[f>>2]<(e|0))for(;i[f>>2]<(e|0););}function vV(f){f=f|0;var e=0;return i[f>>2]=68392,e=i[f+24>>2],e&&G(e),f|0}function mV(f){return f=f|0,s[100324]||(yi(100312,61580),l[100324]=1),100312}function BV(f,e){return f=f|0,e=e|0,e>>>0<=127&&(e=i[i[14241]+(e<<2)>>2]),e|0}function ZV(f){return f=f|0,s[100340]||(yi(100328,61616),l[100340]=1),100328}function pV(f,e){return f=f|0,e=e|0,e>>>0<=127&&(e=i[i[14628]+(e<<2)>>2]),e|0}function WV(f){return f=f|0,s[100356]||(G6(100344,14815),l[100356]=1),100344}function XV(f){return f=f|0,s[100372]||(yi(100360,61652),l[100372]=1),100360}function GV(f){return f=f|0,s[100388]||(G6(100376,6122),l[100388]=1),100376}function Ui(f){for(var e=0;;){if(f){f=f-1&f,e=e+1|0;continue}break}return e}function CV(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,Q1(f,i[e+8>>2],0)&&v3(e,r,A)}function f8(f,e){var r=0;r=B-16|0,B=r,i[r+12>>2]=e,No(77928,f,e),B=r+16|0}function VV(f,e){return f=f|0,e=e|0,(e>>>0<=2?i[i[(e<<2)+41344>>2]+f>>2]:0)|0}function IV(f,e){return f=f|0,e=e|0,(e>>>0<=2?i[i[(e<<2)+41356>>2]+f>>2]:0)|0}function Ce(f,e,r,A){return i[f+76>>2]<0,P7(f,e,r,A)}function QV(){var f=0;return f=U(12),i[f>>2]=0,i[f+4>>2]=0,i[f+8>>2]=0,f|0}function yV(f,e){f=f|0,e=e|0,e&&(i[i[f>>2]+80>>2]=Q[e>>1]|Q[e+2>>1]<<16)}function FV(f,e){return f=f|0,e=e|0,(e|0)>=12?f=jn(f+8|0):f=0,f|0}function EV(f){f=f|0;var e=0;i[f>>2]=68392,e=i[f+24>>2],e&&G(e),G(f)}function dt(f,e){var r=0;r=Ct(i[e>>2]),i[f+4>>2]=i[e>>2],l[f|0]=r<<24>>24}function z1(f,e){e=!i[f+24>>2]|e,i[f+16>>2]=e,e&i[f+20>>2]&&(u1(),P())}function YV(f,e,r){f=f|0,e=e|0,r=r|0,f=i[f>>2],i[f+76>>2]=r,i[f+72>>2]=e}function ct(f){f=f|0;var e=0;return e=f+548|0,xn(e),xn(e),l[f+548|0]=1,0}function O3(){var f=0;f=q9(Ne(8),8538),i[f>>2]=68276,wr(f|0,68308,1),P()}function vi(f){var e=0;i[f+16>>2]=0,e=i[f+8>>2],e&&vi(e),l[f+20|0]=1}function O6(f,e,r,A,k){return f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,i[k>>2]=r,3}function Ve(){i[19575]||(mA(),s[78304]&&bA(),i[19575]=i[19575]+1)}function JV(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,C0(17356,13904,68,7984),P()}function j3(f,e,r){var A=0;return A=B-16|0,B=A,E7(f,e,r),B=A+16|0,f}function j8(f,e){f=f|0,e=e|0,l[f|0]=2,l[f+1|0]=3,l[f+2|0]=0,l[f+3|0]=4}function gV(f){return f=f|0,f?(N0(f,67148,67292)|0)!=0|0:0}function P3(f){return f=f|0,i[f+8>>2]!=(M2()|0)&&Kt(i[f+8>>2]),f|0}function NV(f){return f=f|0,f=V[i[i[f+4>>2]+4>>2]](i[f+8>>2])|0,f|0}function RV(f,e,r,A){return f=f|0,e=e|0,r=r|0,A=A|0,V[f|0](e,r,A)|0}function DV(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,I3(f,n)}function io(f,e){f=f|0,e=e|0,e&&(f=i[e>>2],f&&G(f),i[e>>2]=0)}function UV(f,e,r){return f=f|0,e=e|0,r=r|0,(e>>>0<128?e:r)<<24>>24}function ro(f,e){var r=0;r=pt(i[e>>2]),i[f+4>>2]=i[e>>2],i[f>>2]=r}function MV(f){return f=f|0,f=i[f+16>>2],V[i[i[f>>2]+8>>2]](f)|0}function xV(f){return f=f|0,f=i[f>>2],(Q[f+80>>1]|Q[f+82>>1])!=0|0}function zV(f){return f=f|0,f=i[f>>2],i[f+200>>2]-i[f+196>>2]>>2}function HV(f){return f=f|0,f=i[f+8>>2],i[f+16>>2]-i[f+12>>2]>>3}function TV(f){return f=f|0,f=i[f+8>>2],f?$9(f)|0:1}function aV(f){f=f|0,l[f+48|0]=i[f+40>>2]-i[f+36>>2]>>>0>524280}function SV(f,e,r){f=f|0,e=e|0,r=r|0,C0(17356,13904,51,7834),P()}function OV(f){return f=f|0,f=i[f>>2],i[f+40>>2]-i[f+36>>2]>>3}function L3(f){f=q9(Ne(8),f),i[f>>2]=68224,wr(f|0,68256,1),P()}function eo(f){return f>>>0>1073741823&&(u1(),P()),w9(f<<2,4)}function jV(f){return f=f|0,V[i[i[f>>2]+68>>2]](i[f+4>>2])|0}function PV(f){f=f|0,Ni(98732),Ni(99068),k3(98816),k3(99152)}function LV(f){return f=f|0,f?s[i[f>>2]+208|0]:0}function K3(f){return f=f|0,i[f>>2]=53552,z0(f+32|0),K0(f)|0}function KV(f){return f=f|0,f?s[i[f>>2]+256|0]:0}function qV(f,e){f=f|0,e=e|0,i[f+8>>2]=l[e+11|0]<0?i[e>>2]:e}function $V(f,e){f=f|0,e=e|0,f&&(l[i[f>>2]+40|0]=(e|0)!=0)}function bV(f){return f=f|0,s[100309]||(l[100309]=1),78224}function dV(f){return f=f|0,s[100325]||(l[100325]=1),78236}function q3(f,e){e&&(q3(f,i[e>>2]),q3(f,i[e+4>>2]),G(e))}function cV(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,yr(f,16,e,r,A)}function iI(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,yr(f,32,e,r,A)}function rI(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,Qr(f,r,16,e,A)}function eI(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,Qr(f,r,32,e,A)}function j6(f,e){e&&(j6(f,i[e>>2]),j6(f,i[e+4>>2]),G(e))}function P8(f,e){e&&(P8(f,i[e>>2]),P8(f,i[e+4>>2]),G(e))}function Ie(f,e){e&&(Ie(f,i[e>>2]),Ie(f,i[e+4>>2]),G(e))}function AI(f){return f=f|0,f?s[i[f>>2]+40|0]:0}function fI(f){return f=f|0,f?i[i[f+8>>2]>>2]:-1}function kI(f,e,r){return f=f|0,e=e|0,r=r|0,((e|0)<0?r:e)|0}function nI(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,yr(f,4,e,r,A)}function tI(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,yr(f,8,e,r,A)}function oI(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,Qr(f,r,4,e,A)}function lI(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,Qr(f,r,8,e,A)}function uI(f,e,r,A){return f=f|0,e=e|0,r=r|0,A=A|0,w0=0,0}function z0(f){return s[f+11|0]>>>7|0&&Q8(i[f>>2],1),f}function l1(f){return s[f+11|0]>>>7|0&&Q8(i[f>>2],4),f}function Ao(f){return f=f|0,i[f>>2]=61464,z0(f+12|0),f|0}function fo(f){return f=f|0,i[f>>2]=61504,z0(f+16|0),f|0}function Mi(f,e){var r=0;r=w9(e,1),i[f+4>>2]=e,i[f>>2]=r}function K0(f){return f=f|0,i[f>>2]=53144,O0(f+4|0),f|0}function $3(f){return f=f|0,i[f>>2]=53392,O0(f+4|0),f|0}function ko(f,e,r){return f=f|0,e=e|0,r=r|0,Q1(f,e,0)|0}function xi(f,e){var r=0;r=eo(e),i[f+4>>2]=e,i[f>>2]=r}function no(f){return f=f|0,Ee(i[i[f>>2]-12>>2]+f|0)|0}function to(f,e,r){f=f|0,e=e|0,r=r|0,i[i[f>>2]+e>>2]=r}function sI(f){return f=f|0,Fe(i[i[f>>2]-12>>2]+f|0)|0}function oo(f){return f=f|0,Ye(i[i[f>>2]-12>>2]+f|0)|0}function hI(f){return f=f|0,z6(i[i[f>>2]-12>>2]+f|0)|0}function wI(f){return f=f|0,D3(i[i[f>>2]-12>>2]+f|0)|0}function _I(f){return f=f|0,g3(i[i[f>>2]-12>>2]+f|0)|0}function vI(f){return f=f|0,N3(i[i[f>>2]-12>>2]+f|0)|0}function mI(f){return f=f|0,(i[f>>2]>=3?i[f+40>>2]:0)|0}function zi(f,e){return f=Y7(f,e),s[f|0]==(e&255)?f:0}function lo(f){return f=f|0,V[i[i[f>>2]+24>>2]]()|0}function BI(f){return f=f|0,w0=i[f+20>>2],i[f+16>>2]}function Qe(f,e){b0(f,e),i[f+72>>2]=0,i[f+76>>2]=-1}function uo(f,e){return f=f|0,e=e|0,i[i[f>>2]+e>>2]}function P6(f){return f?31-$2(f-1^f)|0:32}function D2(f){f=f|0,V[i[i[f+12>>2]>>2]](f+12|0)|0}function ZI(f,e){return f=f|0,e=e|0,r3(i[f>>2],e)|0}function pI(f,e){return f=f|0,e=e|0,U0(i[f>>2],e)|0}function m2(f){f=f|0,V[i[i[f+16>>2]>>2]](f+16|0)|0}function so(f,e){return f=f|0,e=e|0,y4(i[f>>2],e)|0}function ho(f,e){return f=f|0,e=e|0,F4(i[f>>2],e)|0}function wo(f,e){return f=f|0,e=e|0,H2(i[f>>2],e)|0}function WI(){var f=0;return f=U(4),i[f>>2]=0,f|0}function L6(f,e,r){f=f|0,e=e|0,r=r|0,Yr(f,e,r,-1)}function XI(f){f=f|0,l[78275]<0&&G(i[19566])}function GI(f){return f=f|0,i[i[f>>2]+64>>2]!=0|0}function CI(f,e,r){f=f|0,e=e|0,r=r|0,Fr(f,r,16,e)}function VI(f,e,r){f=f|0,e=e|0,r=r|0,Fr(f,r,32,e)}function II(f){return f=f|0,s[i[f+124>>2]+9016|0]}function QI(f){return f=f|0,s[i[f+124>>2]+9019|0]}function yI(f){return f=f|0,s[i[f+124>>2]+9020|0]}function FI(f,e,r){f=f|0,e=e|0,r=r|0,Ur(f,16,e,r)}function EI(f,e,r){f=f|0,e=e|0,r=r|0,Ur(f,32,e,r)}function YI(f,e,r){f=f|0,e=e|0,r=r|0,Rk(f,16,e,r)}function JI(f,e,r){f=f|0,e=e|0,r=r|0,Rk(f,32,e,r)}function gI(f){return f=f|0,s[i[f+124>>2]+9018|0]}function b3(f,e){return f=f|0,e=e|0,V[f|0](e)|0}function NI(f,e,r){f=f|0,e=e|0,r=r|0,Fr(f,r,4,e)}function RI(f,e,r){f=f|0,e=e|0,r=r|0,Fr(f,r,8,e)}function DI(f,e,r){f=f|0,e=e|0,r=r|0,Ur(f,8,e,r)}function UI(f,e,r){f=f|0,e=e|0,r=r|0,Ur(f,4,e,r)}function _o(f,e,r){return f=f|0,e=e|0,r=r|0,f|0}function MI(f,e){f=f|0,e=e|0,i[i[f>>2]+56>>2]=e}function vo(f){var e=0,r=0;e=f,r=M2(),i[e>>2]=r}function mo(f,e,r,A){vs(f|0,e|0,8,0,r|0,-1,A|0)}function Q8(f,e){if(e>>>0>8){G(f);return}G(f)}function ye(f,e){return f?ie(f,e):0}function xI(f){f=f|0,l[f+48|0]=k0[f+56>>2]>65535}function zI(f,e){f=f|0,e=e|0,l[f+4|0]=(e|0)!=0}function H1(f,e,r){s[f|0]&32||ee(e,r,f)}function HI(f){return f=f|0,i[f>>2]=72424,f|0}function TI(f){return f=f|0,i[f>>2]=74312,f|0}function aI(f){return f=f|0,i[f>>2]=71384,f|0}function SI(f){return f=f|0,i[f>>2]=75196,f|0}function OI(f){return f=f|0,i[f>>2]=76520,f|0}function jI(f){return f=f|0,i[f>>2]=72464,f|0}function PI(f){return f=f|0,i[f>>2]=71424,f|0}function LI(f){return f=f|0,i[f>>2]=75236,f|0}function KI(f){return f=f|0,i[f>>2]=76596,f|0}function qI(f){return f=f|0,i[f>>2]=71464,f|0}function $I(f){return f=f|0,i[f>>2]=72576,f|0}function bI(f){return f=f|0,i[f>>2]=75312,f|0}function dI(f){return f=f|0,i[f>>2]=76672,f|0}function cI(f){return f=f|0,i[f>>2]=71504,f|0}function iQ(f){return f=f|0,i[f>>2]=75388,f|0}function rQ(f){return f=f|0,i[f>>2]=76748,f|0}function eQ(f){return f=f|0,i[f>>2]=72616,f|0}function AQ(f){return f=f|0,i[f>>2]=71544,f|0}function fQ(f){return f=f|0,i[f>>2]=75428,f|0}function kQ(f){return f=f|0,i[f>>2]=71584,f|0}function nQ(f){return f=f|0,i[f>>2]=72656,f|0}function tQ(f){return f=f|0,i[f>>2]=75468,f|0}function Bo(f){f=f|0,Af(i[i[f>>2]-12>>2]+f|0)}function oQ(f){return f=f|0,i[f>>2]=71624,f|0}function lQ(f){return f=f|0,i[f>>2]=75508,f|0}function uQ(f){return f=f|0,i[f>>2]=71664,f|0}function sQ(f){return f=f|0,i[f>>2]=72744,f|0}function hQ(f){return f=f|0,i[f>>2]=70584,f|0}function wQ(f){return f=f|0,i[f>>2]=75548,f|0}function _Q(f){return f=f|0,i[f>>2]=71704,f|0}function vQ(f){return f=f|0,i[f>>2]=70624,f|0}function mQ(f){return f=f|0,i[f>>2]=72792,f|0}function BQ(f){return f=f|0,i[f>>2]=75588,f|0}function ZQ(f){f=f|0,kf(i[i[f>>2]-12>>2]+f|0)}function pQ(f){return f=f|0,i[f>>2]=71744,f|0}function Zo(f){f=f|0,ff(i[i[f>>2]-12>>2]+f|0)}function WQ(f){return f=f|0,i[f>>2]=70664,f|0}function XQ(f,e){return f=f|0,e=e|0,Ak(f,e)|0}function GQ(f){return f=f|0,i[f>>2]=71784,f|0}function CQ(f){return f=f|0,i[f>>2]=72832,f|0}function VQ(f){return f=f|0,i[f>>2]=73408,f|0}function IQ(f){return f=f|0,i[f>>2]=75628,f|0}function QQ(f){return f=f|0,i[f>>2]=70704,f|0}function yQ(f){return f=f|0,i[f>>2]=71824,f|0}function FQ(f){return f=f|0,i[f>>2]=73448,f|0}function EQ(f){return f=f|0,i[f>>2]=75668,f|0}function YQ(f){return f=f|0,i[f>>2]=70744,f|0}function JQ(f){return f=f|0,i[f>>2]=71864,f|0}function gQ(f){return f=f|0,i[f>>2]=73488,f|0}function NQ(f){return f=f|0,V[i[f+4>>2]]()|0}function RQ(f){return f=f|0,i[f>>2]=75708,f|0}function DQ(f){return f=f|0,i[f>>2]=70784,f|0}function UQ(f){return f=f|0,i[f>>2]=70824,f|0}function MQ(f){return f=f|0,i[f>>2]=71904,f|0}function xQ(f){return f=f|0,i[f>>2]=73528,f|0}function zQ(f){return f=f|0,i[f>>2]=75748,f|0}function HQ(f){return f=f|0,i[f>>2]=72912,f|0}function TQ(f){return f=f|0,i[f>>2]=70864,f|0}function aQ(f){return f=f|0,i[f>>2]=71944,f|0}function SQ(f){return f=f|0,i[f>>2]=73568,f|0}function OQ(f){return f=f|0,i[f>>2]=75788,f|0}function jQ(f){return f=f|0,i[f>>2]=70904,f|0}function PQ(f){return f=f|0,i[f>>2]=71984,f|0}function LQ(f){return f=f|0,i[f>>2]=73608,f|0}function KQ(f){return f=f|0,i[f>>2]=75864,f|0}function qQ(f){return f=f|0,i[f>>2]=70944,f|0}function $Q(f){return f=f|0,i[f>>2]=75940,f|0}function bQ(f){return f=f|0,i[f>>2]=72024,f|0}function dQ(f){return f=f|0,i[f>>2]=74072,f|0}function cQ(f){return f=f|0,i[f>>2]=70984,f|0}function iy(f){return f=f|0,i[f>>2]=75980,f|0}function ry(f){return f=f|0,i[f>>2]=72064,f|0}function ey(f){return f=f|0,i[f>>2]=71024,f|0}function Ay(f){return f=f|0,i[f>>2]=74112,f|0}function fy(f){return f=f|0,i[f>>2]=76020,f|0}function ky(f){return f=f|0,i[f>>2]=72104,f|0}function ny(f){return f=f|0,i[f>>2]=43652,f|0}function ty(f){return f=f|0,i[f>>2]=71064,f|0}function oy(f){return f=f|0,i[f>>2]=76060,f|0}function ly(f){return f=f|0,i[f>>2]=72144,f|0}function uy(f){return f=f|0,i[f>>2]=71104,f|0}function sy(f){return f=f|0,i[f>>2]=76100,f|0}function hy(f){return f=f|0,i[f>>2]=43768,f|0}function wy(f){return f=f|0,i[f>>2]=72184,f|0}function _y(f){return f=f|0,i[f>>2]=71144,f|0}function vy(f){return f=f|0,i[f>>2]=76140,f|0}function my(f){return f=f|0,i[f>>2]=72224,f|0}function By(f){return f=f|0,i[f>>2]=43880,f|0}function Zy(f){return f=f|0,i[f>>2]=71184,f|0}function py(f){return f=f|0,i[f>>2]=76216,f|0}function Wy(f){f=f|0,nf(i[i[f>>2]-12>>2]+f|0)}function Xy(f){return f=f|0,i[f>>2]=72264,f|0}function Gy(f){return f=f|0,i[f>>2]=73092,f|0}function Cy(f){return f=f|0,i[f>>2]=71224,f|0}function Vy(f){return f=f|0,i[f>>2]=76292,f|0}function Iy(f){f=f|0,Do(i[i[f>>2]-12>>2]+f|0)}function Qy(f){return f=f|0,i[f>>2]=72304,f|0}function yy(f){return f=f|0,i[f>>2]=71264,f|0}function Fy(f){return f=f|0,i[f>>2]=76368,f|0}function Ey(f){f=f|0,Uo(i[i[f>>2]-12>>2]+f|0)}function Yy(f){return f=f|0,i[f>>2]=72344,f|0}function Jy(f){return f=f|0,i[f>>2]=71304,f|0}function gy(f){return f=f|0,i[f>>2]=72384,f|0}function Ny(f){f=f|0,Mo(i[i[f>>2]-12>>2]+f|0)}function Ry(f){return f=f|0,i[f>>2]=71344,f|0}function Dy(f){return f=f|0,i[f>>2]=75148,f|0}function Uy(f){return f=f|0,i[f>>2]=76444,f|0}function po(f,e,r){return f=f|0,e=e|0,r=r|0,-1}function My(f){return f=f|0,i[f>>2]=72872,f|0}function xy(f){return f=f|0,((f|0)==1?100:0)|0}function Wo(f){return f=f|0,i[i[f>>2]+16>>2]}function d3(f){return f=f|0,i[i[f>>2]+20>>2]}function zy(f){return f=f|0,i[i[f>>2]+32>>2]}function Hy(f){return f=f|0,i[i[f>>2]+36>>2]}function Ty(f){return f=f|0,s[i[f>>2]+108|0]}function K6(f,e,r,A){return f=hn(f,e,r,A),f}function ay(f){return f=f|0,s[i[f>>2]+49|0]}function Sy(f){return f=f|0,(s[f+4|0]?3:6)|0}function Oy(f){return f=f|0,i[i[f>>2]+8>>2]}function jy(f){return f=f|0,i[i[f>>2]+4>>2]}function Py(f){return f=f|0,(n7(f,0)|0)!=0|0}function Xo(f){return f=f|0,s[i[f>>2]+32|0]}function Ly(f){f=f|0,V[i[i[f>>2]+4>>2]](f)}function Fe(f){return f=f|0,T0(f+12|0),f|0}function Ee(f){return f=f|0,T0(f+8|0),f|0}function Ye(f){return f=f|0,T0(f+4|0),f|0}function Ky(f){return f=f|0,Ek(i[f>>2])|0}function qy(f,e){f=f|0,e=e|0,I3(f,e+12|0)}function $y(f,e){f=f|0,e=e|0,I3(f,e+16|0)}function by(f){f=f|0,i[f>>2]=71344,G(f)}function dy(f){f=f|0,i[f>>2]=75148,G(f)}function cy(f){f=f|0,i[f>>2]=76444,G(f)}function iF(f){f=f|0,i[f>>2]=72424,G(f)}function rF(f){f=f|0,i[f>>2]=74312,G(f)}function eF(f){f=f|0,i[f>>2]=71384,G(f)}function AF(f){f=f|0,i[f>>2]=75196,G(f)}function fF(f){f=f|0,i[f>>2]=76520,G(f)}function kF(f){f=f|0,i[f>>2]=72464,G(f)}function nF(f){f=f|0,i[f>>2]=71424,G(f)}function tF(f){f=f|0,i[f>>2]=75236,G(f)}function oF(f){f=f|0,i[f>>2]=76596,G(f)}function lF(f){f=f|0,i[f>>2]=71464,G(f)}function uF(f){f=f|0,i[f>>2]=72576,G(f)}function sF(f){f=f|0,i[f>>2]=75312,G(f)}function hF(f){f=f|0,i[f>>2]=76672,G(f)}function wF(f){f=f|0,i[f>>2]=71504,G(f)}function _F(f){f=f|0,i[f>>2]=75388,G(f)}function vF(f){f=f|0,i[f>>2]=76748,G(f)}function mF(f){f=f|0,i[f>>2]=72616,G(f)}function BF(f){f=f|0,i[f>>2]=71544,G(f)}function ZF(f){f=f|0,i[f>>2]=75428,G(f)}function pF(f){f=f|0,i[f>>2]=71584,G(f)}function WF(f){f=f|0,i[f>>2]=72656,G(f)}function XF(f){f=f|0,i[f>>2]=75468,G(f)}function GF(f){f=f|0,i[f>>2]=71624,G(f)}function CF(f){f=f|0,i[f>>2]=75508,G(f)}function VF(f){f=f|0,i[f>>2]=71664,G(f)}function IF(f){f=f|0,i[f>>2]=72744,G(f)}function QF(f){f=f|0,i[f>>2]=70584,G(f)}function yF(f){f=f|0,i[f>>2]=75548,G(f)}function FF(f){f=f|0,i[f>>2]=71704,G(f)}function EF(f){f=f|0,i[f>>2]=70624,G(f)}function YF(f){f=f|0,i[f>>2]=72792,G(f)}function JF(f){f=f|0,i[f>>2]=75588,G(f)}function gF(f){f=f|0,i[f>>2]=71744,G(f)}function NF(f){f=f|0,i[f>>2]=70664,G(f)}function RF(f){f=f|0,i[f>>2]=71784,G(f)}function DF(f){f=f|0,i[f>>2]=73408,G(f)}function UF(f){f=f|0,i[f>>2]=75628,G(f)}function MF(f){f=f|0,i[f>>2]=70704,G(f)}function xF(f){f=f|0,i[f>>2]=72832,G(f)}function zF(f){f=f|0,i[f>>2]=71824,G(f)}function HF(f){f=f|0,i[f>>2]=73448,G(f)}function TF(f){f=f|0,i[f>>2]=75668,G(f)}function aF(f){f=f|0,i[f>>2]=70744,G(f)}function SF(f){f=f|0,i[f>>2]=72872,G(f)}function OF(f){f=f|0,i[f>>2]=70824,G(f)}function jF(f){f=f|0,i[f>>2]=71904,G(f)}function PF(f){f=f|0,i[f>>2]=73528,G(f)}function LF(f){f=f|0,i[f>>2]=75748,G(f)}function KF(f,e){f=f|0,e=e|0,yi(f,61556)}function qF(f){f=f|0,i[f>>2]=72912,G(f)}function $F(f){f=f|0,i[f>>2]=70864,G(f)}function bF(f){f=f|0,i[f>>2]=71944,G(f)}function dF(f){f=f|0,i[f>>2]=73568,G(f)}function cF(f){f=f|0,i[f>>2]=75788,G(f)}function iE(f){f=f|0,i[f>>2]=70904,G(f)}function rE(f){f=f|0,i[f>>2]=71984,G(f)}function eE(f){f=f|0,i[f>>2]=73608,G(f)}function AE(f){f=f|0,i[f>>2]=75864,G(f)}function fE(f){f=f|0,i[f>>2]=70944,G(f)}function kE(f){f=f|0,i[f>>2]=75940,G(f)}function nE(f){f=f|0,i[f>>2]=72024,G(f)}function tE(f){f=f|0,i[f>>2]=74072,G(f)}function oE(f){f=f|0,i[f>>2]=70984,G(f)}function lE(f){f=f|0,i[f>>2]=75980,G(f)}function uE(f){f=f|0,i[f>>2]=72064,G(f)}function sE(f){f=f|0,i[f>>2]=71024,G(f)}function hE(f){f=f|0,i[f>>2]=74112,G(f)}function wE(f){f=f|0,i[f>>2]=76020,G(f)}function _E(f){f=f|0,i[f>>2]=72104,G(f)}function vE(f){f=f|0,i[f>>2]=43652,G(f)}function mE(f){f=f|0,i[f>>2]=71064,G(f)}function BE(f){f=f|0,i[f>>2]=76060,G(f)}function ZE(f){f=f|0,i[f>>2]=72144,G(f)}function pE(f){f=f|0,i[f>>2]=71104,G(f)}function WE(f){f=f|0,i[f>>2]=76100,G(f)}function XE(f){f=f|0,i[f>>2]=43768,G(f)}function GE(f){f=f|0,i[f>>2]=72184,G(f)}function CE(f){f=f|0,i[f>>2]=71144,G(f)}function VE(f){f=f|0,i[f>>2]=76140,G(f)}function IE(f){f=f|0,i[f>>2]=72224,G(f)}function QE(f){f=f|0,i[f>>2]=43880,G(f)}function yE(f){f=f|0,i[f>>2]=71184,G(f)}function FE(f){f=f|0,i[f>>2]=76216,G(f)}function EE(f){f=f|0,i[f>>2]=72264,G(f)}function YE(f){f=f|0,i[f>>2]=73092,G(f)}function JE(f){f=f|0,i[f>>2]=71224,G(f)}function gE(f){f=f|0,i[f>>2]=76292,G(f)}function NE(f){f=f|0,i[f>>2]=72304,G(f)}function RE(f){f=f|0,i[f>>2]=71264,G(f)}function DE(f){f=f|0,i[f>>2]=76368,G(f)}function UE(f){f=f|0,i[f>>2]=72344,G(f)}function ME(f){f=f|0,i[f>>2]=71304,G(f)}function xE(f){f=f|0,i[f>>2]=72384,G(f)}function zE(f){f=f|0,i[f>>2]=70784,G(f)}function HE(f){f=f|0,i[f>>2]=71864,G(f)}function TE(f){f=f|0,i[f>>2]=73488,G(f)}function aE(f){f=f|0,i[f>>2]=75708,G(f)}function SE(f,e){f=f|0,e=e|0,yi(f,61536)}function Go(f,e){return f=f|0,e=e|0,e|0}function OE(f){f=f|0,P8(78316,i[19580])}function jE(f){f=f|0,P8(78328,i[19583])}function PE(f){f=f|0,P8(78340,i[19586])}function Co(f){return f=f|0,V[f|0]()|0}function LE(f){return f=f|0,Fe(f-8|0)|0}function c3(f,e){f=f|0,e=e|0,V[f|0](e)}function KE(f,e){f=f|0,e=e|0,G6(f,9104)}function qE(f,e){f=f|0,e=e|0,G6(f,9349)}function $E(f){f=f|0,Ie(78276,i[19570])}function bE(f){f=f|0,Xe(78288,i[19573])}function Vo(f,e){f=f|0,e=e|0,x7(f,1,45)}function Io(f,e){f=f|0,e=e|0,W7(f,1,45)}function dE(f){return f=f|0,z6(f-8|0)|0}function Je(f){return f=f|0,2147483647}function cE(f){return f=f|0,i[f+20>>2]}function iY(f){return f=f|0,i[f+12>>2]}function rY(f){f=f|0,I9(i[f>>2]),G(f)}function Qo(f,e,r){r&&F2(f,e,r<<2)}function eY(f){return f=f|0,1852009592}function yo(f,e){return(gi(f,e)|0)!=-1}function ge(f,e){return f=f|0,e=e|0,-1}function Fo(f){return f=f|0,i[f+8>>2]}function AY(f){return f=f|0,Xn(f,0)|0}function fY(f){return f=f|0,Xn(f,1)|0}function rf(f){return f=f|0,i[f+4>>2]}function kY(f){return f=f|0,Bn(f,0)|0}function nY(f){return f=f|0,Bn(f,1)|0}function Ne(f){return Z2(f+80|0)+80|0}function J2(f,e){return j9(f)^j9(e)^1}function g2(f,e){return O9(f)^O9(e)^1}function Eo(){G(i[23872]),i[23872]=0}function tY(f,e){return f=f|0,e=e|0,0}function oY(f){return f=f|0,l[f+8|0]}function lY(f){return f=f|0,l[f+9|0]}function uY(f,e,r){f=f|0,e=e|0,r=r|0}function Yo(f){return f=f|0,T0(f)|0}function E1(f){return Ct(i[f>>2]),f}function Y1(f){return pt(i[f>>2]),f}function J4(f,e){z1(f,i[f+16>>2]|e)}function Jo(f,e,r){r&&F2(f,e,r)}function y8(f){f=f|0,f&&G(f)}function sY(f){return f=f|0,13683}function hY(f){return f=f|0,73848}function wY(f){return f=f|0,73904}function _Y(f){return f=f|0,78464}function vY(f){return f=f|0,73744}function go(f){f=f|0,T0(f),G(f)}function mY(f){return f=f|0,4900}function BY(f){f=f|0,K0(f),G(f)}function ZY(f){f=f|0,$3(f),G(f)}function pY(f){return f=f|0,6180}function WY(f){return f=f|0,8382}function XY(f){f=f|0,I6(f),G(f)}function ef(f){f=f|0,Xt(f),G(f)}function GY(f){f=f|0,l[f+48|0]=0}function No(f,e,r){qr(f,e,r,0,0)}function CY(f){f=f|0,l1(100360)}function VY(f){f=f|0,z0(100376)}function IY(f){f=f|0,l1(100392)}function Re(f){return f=f|0,127}function t4(f){return f=f|0,f|0}function QY(f){f=f|0,l1(100312)}function yY(f){f=f|0,l1(100328)}function FY(f){f=f|0,z0(100344)}function EY(f){f=f|0,G(T0(f))}function YY(f){f=f|0,G(V7(f))}function Af(f){f=f|0,G(Ee(f))}function JY(f){f=f|0,G(Tt(f))}function gY(f){f=f|0,G(v7(f))}function ff(f){f=f|0,G(Ye(f))}function kf(f){f=f|0,G(Fe(f))}function NY(f){f=f|0,G(g7(f))}function nf(f){f=f|0,G(z6(f))}function RY(f){f=f|0,G(qt(f))}function DY(f){f=f|0,kf(f-8|0)}function Ro(f){f=f|0,G(P3(f))}function UY(f){f=f|0,G(Ao(f))}function MY(f){f=f|0,G(fo(f))}function Do(f){f=f|0,G(D3(f))}function Uo(f){f=f|0,G(g3(f))}function Mo(f){f=f|0,G(N3(f))}function xY(f){f=f|0,G(Ik(f))}function zY(f){f=f|0,G(B7(f))}function HY(f){f=f|0,G(K3(f))}function TY(f){f=f|0,nf(f-8|0)}function aY(f){f=f|0,G(t9(f))}function SY(f){f=f|0,G(Mn(f))}function xo(f){f=f|0,G(K0(f))}function OY(f){f=f|0,z0(78224)}function zo(f){f=f|0,G($3(f))}function jY(f){f=f|0,G(bn(f))}function PY(f){f=f|0,z0(78236)}function LY(f){f=f|0,G(A7(f))}function KY(f){f=f|0,G(e7(f))}function qY(f){f=f|0,G(I7(f))}function J1(f){return f=f|0,0}function Ho(f){return f=f|0,-1}function tf(f){return f=f|0,2}function $Y(f){return f=f|0,5}function q6(f){return f=f|0,1}function To(){return 17957376}function $6(f){return f=f|0,4}function of(f,e,r){e8(e,r,f)}function ao(f){xt(f,i[f>>2])}function De(f,e,r){ui(e,r,f)}function b6(f,e){f=f|0,e=e|0}function y0(){L3(4917),P()}function m0(f){f=f|0,G(f)}function c2(){L3(8538),P()}function bY(){return 16835}function Ue(f){B0(f,0,100)}function dY(){return 16615}function So(f){f=f|0,P()}function cY(){return 7829}function Oo(f,e){J4(f,e)}function iJ(){return 18}function u1(){Gs(),P()}function rJ(){return 1}function eJ(){return 2}function o4(){u1(),P()}function L8(f){f=f|0}function AJ(){b9()}function fJ(){Wt()}function kJ(){}K=s,E0(n1);var V=$([null,Xt,LG,cG,eC,Rt,QZ,xX,vV,EV,BI,Rt,hW,KX,t4,m0,NV,iC,aC,xC,t4,VC,SC,Hr,J1,bp,G1,Jw,GB,L8,rm,mB,xG,X7,G1,R2,BB,Iv,hp,Xp,bw,gB,Kw,wp,Gp,mw,FB,Uh,G1,Ai,q6,GY,iZ,gG,fZ,Vp,Jp,o_,eZ,kv,G1,Cm,vZ,xI,mm,A7,LY,ih,Sw,kW,xs,I7,qY,Fh,L_,mG,fw,G1,Ai,AB,aV,Om,G1,Ai,L6,G1,Nm,L6,G1,pv,NZ,YG,vm,V7,YY,ds,im,ZW,ch,JZ,UZ,aw,xB,Gw,G1,Wm,HZ,zp,G1,Uv,qZ,ap,G1,z_,RB,Oh,v7,gY,iw,Im,vW,Ts,fp,_p,Av,VB,Y_,G1,mv,RZ,Ep,G1,Xm,KZ,Sp,G1,Bv,gZ,Yp,G1,Ew,em,a_,G1,Aw,$w,_h,g7,NY,gw,IZ,Q_,kp,vp,$_,$Z,$m,G1,Ai,L6,np,$7,mn,yA,$7,M_,bh,GZ,VZ,Uw,f_,G1,Ai,L6,G1,Ai,Qw,Cp,Fp,nm,Kv,hQ,QF,m2,tY,m0,vQ,EF,m2,m0,WQ,NF,m2,m0,QQ,MF,m2,m0,YQ,aF,m2,m0,DQ,zE,m2,m0,UQ,OF,m2,m0,TQ,$F,m2,m0,jQ,iE,m2,m0,qQ,fE,m2,m0,cQ,oE,m2,m0,ey,sE,m2,m0,ty,mE,m2,m0,uy,pE,m2,m0,_y,CE,m2,m0,Zy,yE,m2,m0,Cy,JE,m2,m0,yy,RE,m2,m0,Jy,ME,m2,m0,Ry,by,m2,m0,aI,eF,m2,m0,PI,nF,m2,m0,qI,lF,m2,m0,cI,wF,m2,m0,AQ,BF,m2,m0,kQ,pF,m2,m0,oQ,GF,m2,m0,uQ,VF,m2,m0,_Q,FF,m2,m0,pQ,gF,m2,m0,GQ,RF,m2,m0,yQ,zF,m2,m0,JQ,HE,m2,m0,MQ,jF,m2,m0,aQ,bF,m2,m0,PQ,rE,m2,m0,bQ,nE,m2,m0,ry,uE,m2,m0,ky,_E,m2,m0,ly,ZE,m2,m0,wy,GE,m2,m0,my,IE,m2,m0,Xy,EE,m2,m0,Qy,NE,m2,m0,Yy,UE,m2,m0,gy,xE,m2,m0,HI,iF,m2,m0,jI,kF,m2,m0,XI,$I,uF,Yw,m0,eQ,mF,zW,m0,nQ,WF,v_,m0,sQ,IF,bX,m0,mQ,YF,gm,m0,CQ,xF,D2,m0,My,SF,m2,m0,HQ,qF,m2,m0,t4,$E,bE,DC,$C,rf,jm,yX,t4,m0,eY,N_,SW,_Z,ZZ,qw,oB,Ks,Gy,YE,D2,m0,t4,m0,J1,kw,UC,OG,m0,q6,Mh,et,lG,m0,tf,xh,et,uG,RC,OC,Sy,oh,LW,KW,m0,$6,yh,J1,sG,CC,HC,$Y,zs,jX,VQ,DF,D2,m0,FQ,HF,D2,m0,gQ,TE,D2,m0,xQ,PF,D2,m0,SQ,dF,D2,m0,LQ,eE,D2,m0,fB,FX,GX,Co,To,Co,hk,c3,G4,SZ,EX,tW,hZ,b3,TA,vC,WB,KG,xp,Hp,MG,Sh,c3,N6,b3,zt,Ht,Xo,c3,G4,vY,G4,hY,N6,wY,G4,QV,y8,uo,to,uo,to,qW,qV,XX,AW,Nk,OE,jE,PE,dQ,tE,R_,m0,Ay,hE,D2,m0,e7,KY,Ns,Ww,hh,TI,rF,m2,m0,t4,m0,tp,mp,Vh,qB,hw,G1,Gm,lW,Op,G1,km,HB,cB,op,Bp,Bm,_W,Xh,lp,Zp,Cv,$B,D_,up,pp,Qv,pZ,S_,B7,zY,uv,J_,rh,sp,Wp,Vv,bB,U_,G1,Ai,L6,Mn,SY,Hs,kh,Us,bn,jY,Rs,ym,Cw,G1,Vm,sW,cZ,aW,Dy,dy,D2,m0,SI,AF,D2,m0,LI,tF,D2,m0,t4,m0,Ym,$s,bI,sF,D2,m0,m0,wm,bs,iQ,_F,D2,m0,fQ,ZF,D2,m0,tQ,XF,D2,m0,lQ,CF,D2,m0,wQ,yF,D2,m0,BQ,JF,D2,m0,IQ,UF,D2,m0,EQ,TF,D2,m0,RQ,aE,D2,m0,zQ,LF,D2,m0,OQ,cF,D2,m0,m0,g_,Ss,KQ,AE,D2,m0,m0,P_,as,$Q,kE,D2,m0,iy,lE,D2,m0,fy,wE,D2,m0,oy,BE,D2,m0,sy,WE,D2,m0,vy,VE,D2,m0,m0,nv,qs,py,FE,D2,m0,m0,tv,Ps,Vy,gE,D2,m0,m0,ov,Zh,Fy,DE,D2,m0,m0,lv,uh,Uy,cy,D2,m0,m0,Fv,vh,OI,fF,D2,m0,m0,Ev,sh,KI,oF,D2,m0,m0,Yv,Ih,dI,hF,D2,m0,m0,Jv,mh,rQ,vF,D2,m0,m0,_v,th,m0,yv,gs,m0,Mv,Lh,m0,TC,eV,m0,Qm,zh,m0,Sv,Dh,m0,V_,Bh,m0,Wv,Eh,m0,ev,Hh,m0,rv,gh,m0,Tm,Qh,m0,Hm,Th,m0,E_,xw,m0,tB,ph,m0,wv,Rh,m0,hm,pw,m0,jv,jh,m0,Ov,Gv,sm,AJ,fJ,xy,aX,rY,TZ,nw,zI,cY,sC,kJ,DG,y8,a3,PG,a3,qG,a3,$G,_Y,a6,a6,a6,a6,a6,HG,b6,bG,TG,uY,L8,t4,m0,I_,pW,t4,So,u1,Ik,xY,JG,hV,ny,vE,wW,m0,hy,XE,lV,m0,By,QE,qp,m0,dp,SV,uC,hC,lC,bv,oC,nC,kC,qv,fC,AC,rC,$v,Dv,gv,Rv,OB,eh,zB,NC,gC,JC,om,YC,EC,FC,tm,yC,QC,IC,lm,Tv,zv,Hv,rB,Ah,dB,Mm,uB,wZ,aB,Sm,vB,LZ,oZ,CB,cp,jB,yp,js,NI,RI,CI,VI,JV,wh,oI,lI,rI,eI,kZ,SB,YB,CZ,jZ,WZ,JI,YI,Ls,fv,EI,FI,DI,UI,Gh,iI,cV,tI,nI,Ch,cv,aG,m0,Yh,GW,mW,gW,m0,iB,nW,m0,vv,WW,an,oV,pm,RX,J1,uI,Os,XG,$p,tZ,B3,K0,BY,b6,_o,Ft,at,J1,J1,KB,Ho,RG,ge,aZ,ge,Ee,Af,no,Bo,Ye,ff,oo,Zo,Fe,kf,LE,DY,sI,ZQ,$3,ZY,b6,_o,Ft,at,J1,J1,TB,Ho,NG,ge,DZ,ge,Ee,Af,no,Bo,Ye,ff,oo,Zo,K3,HY,dv,ZC,DW,Qp,Fm,I6,XY,bm,Em,Dm,lZ,p_,Xw,MW,cw,Yo,go,Yo,go,z6,nf,dE,TY,hI,Wy,D3,Do,wI,Iy,g3,Uo,_I,Ey,N3,Mo,vI,Ny,T0,EY,PV,xo,YX,AY,fY,xm,xo,ZG,l9,wX,cm,zo,JX,kY,nY,am,zo,pG,l9,hX,nB,DX,G,L8,L8,L8,L8,Pt,jC,PC,LC,KC,qC,bC,OY,QY,PY,yY,FY,CY,VY,IY,t9,aY,Ly,Tt,JY,iV,tG,rV,oG,Go,yG,kI,hG,qt,RY,Dw,ww,IW,ZX,J1,Ip,TV,Ao,UY,oY,lY,qy,KE,qE,fo,MY,Fo,iY,$y,SE,KF,t4,m0,m0,wC,TX,PX,LX,BV,eG,pV,AG,Go,QG,UV,nG,m0,Nt,Nt,O6,q6,q6,MX,q6,m0,tn,en,O6,J1,J1,Jn,$6,m0,tn,en,O6,J1,J1,Jn,$6,m0,En,nn,O6,J1,J1,Yn,$6,m0,En,nn,O6,J1,J1,Yn,$6,t4,m0,TW,uV,iG,t4,m0,PW,sV,dX,m0,Pm,W_,w_,X_,sn,sn,__,i_,r_,zw,k_,m0,Lm,m_,l_,B_,un,un,u_,e_,A_,Hw,t_,m0,NB,Rp,ep,Dp,Ap,O_,s_,Tp,m0,JB,gp,ip,Np,rp,j_,h_,Up,t4,m0,tf,UX,EW,iX,eX,kX,lh,rW,LB,fG,WV,GV,bV,dV,t4,m0,tf,XW,FW,AX,fX,nX,nh,Lp,DB,kG,XV,wV,mV,ZV,P3,Ro,EB,P3,Ro,fm,m0,Re,Re,U4,U4,U4,Vo,J1,j8,j8,m0,Re,Re,U4,U4,U4,Vo,J1,j8,j8,m0,Je,Je,U4,U4,U4,Io,J1,j8,j8,m0,Je,Je,U4,U4,U4,Io,J1,j8,j8,m0,G_,lw,m0,Z_,tw,m0,sw,Iw,m0,uw,Vw,m0,po,DV,b6,m0,po,pB,b6,t4,So,m0,mY,t4,m0,L8,L8,ko,m0,ko,m0,Kp,mC,Pp,CV,m0,_G,QB,EG,m0,ZB,F_,OW,m0,Tw,m0,sY,m0,WY,m0,pY,ef,rf,ef,ef]);function jo(){return C2.byteLength/65536|0}function nJ(f){f=f|0;var e=jo()|0,r=e+f|0;if(eF.startsWith(fl),Se=F=>F.startsWith("file://");function nl(){var F="libheif.wasm";return kl(F)?F:Ko(F)}var er;function tl(F){if(F==er&&d6)return new Uint8Array(d6);if(Oi)return Oi(F);throw\'sync fetching of the wasm failed: you can preload it to Module["wasmBinary"] manually, or emcc.py will do that for you when generating HTML (but not JS)\'}function ol(F,N){var M,T=tl(F);M=new Pi.Module(T);var $=new Pi.Instance(M,N);return[$,M]}function ll(){return{a:ks}}function ul(){var F=ll();function N(T,$){return e0=T.exports,c6=e0.P,G5(),x5=e0.R,el(e0.Q),ir("wasm-instantiate"),e0}if(ae("wasm-instantiate"),O.instantiateWasm)try{return O.instantiateWasm(F,N)}catch(T){ji(`Module.instantiateWasm callback failed with error: ${T}`),E8(T)}er||(er=nl());var M=ol(er,F);return N(M[0])}var S2,O1,Oe=F=>{for(;F.length>0;)F.shift()(O)},_J=O.noExitRuntime||!0,Q5=typeof TextDecoder!="undefined"?new TextDecoder:void 0,mi=(F,N,M)=>{for(var T=N+M,$=N;F[$]&&!($>=T);)++$;if($-N>16&&F.buffer&&Q5)return Q5.decode(F.subarray(N,$));for(var K="";N<$;){var o0=F[N++];if(!(o0&128)){K+=String.fromCharCode(o0);continue}var s0=F[N++]&63;if((o0&224)==192){K+=String.fromCharCode((o0&31)<<6|s0);continue}var t0=F[N++]&63;if((o0&240)==224?o0=(o0&15)<<12|s0<<6|t0:o0=(o0&7)<<18|s0<<12|t0<<6|F[N++]&63,o0<65536)K+=String.fromCharCode(o0);else{var E0=o0-65536;K+=String.fromCharCode(55296|E0>>10,56320|E0&1023)}}return K},qi=(F,N)=>F?mi(A4,F,N):"",sl=(F,N,M,T)=>{rr(`Assertion failed: ${qi(F)}, at: `+[N?qi(N):"unknown filename",M,T?qi(T):"unknown function"])};class hl{constructor(N){this.excPtr=N,this.ptr=N-24}set_type(N){j2[this.ptr+4>>2]=N}get_type(){return j2[this.ptr+4>>2]}set_destructor(N){j2[this.ptr+8>>2]=N}get_destructor(){return j2[this.ptr+8>>2]}set_caught(N){N=N?1:0,S1[this.ptr+12]=N}get_caught(){return S1[this.ptr+12]!=0}set_rethrown(N){N=N?1:0,S1[this.ptr+13]=N}get_rethrown(){return S1[this.ptr+13]!=0}init(N,M){this.set_adjusted_ptr(0),this.set_type(N),this.set_destructor(M)}set_adjusted_ptr(N){j2[this.ptr+16>>2]=N}get_adjusted_ptr(){return j2[this.ptr+16>>2]}get_exception_ptr(){var N=ts(this.get_type());if(N)return j2[this.excPtr>>2];var M=this.get_adjusted_ptr();return M!==0?M:this.excPtr}}var y5=0,wl=0,_l=(F,N,M)=>{var T=new hl(F);throw T.init(N,M),y5=F,wl++,y5};function Ar(){var F=a2[+m4.varargs>>2];return m4.varargs+=4,F}var Bi=Ar,w1={isAbs:F=>F.charAt(0)==="/",splitPath:F=>{var N=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;return N.exec(F).slice(1)},normalizeArray:(F,N)=>{for(var M=0,T=F.length-1;T>=0;T--){var $=F[T];$==="."?F.splice(T,1):$===".."?(F.splice(T,1),M++):M&&(F.splice(T,1),M--)}if(N)for(;M;M--)F.unshift("..");return F},normalize:F=>{var N=w1.isAbs(F),M=F.substr(-1)==="/";return F=w1.normalizeArray(F.split("/").filter(T=>!!T),!N).join("/"),!F&&!N&&(F="."),F&&M&&(F+="/"),(N?"/":"")+F},dirname:F=>{var N=w1.splitPath(F),M=N[0],T=N[1];return!M&&!T?".":(T&&(T=T.substr(0,T.length-1)),M+T)},basename:F=>{if(F==="/")return"/";F=w1.normalize(F),F=F.replace(/\\/$/,"");var N=F.lastIndexOf("/");return N===-1?F:F.substr(N+1)},join:(...F)=>w1.normalize(F.join("/")),join2:(F,N)=>w1.normalize(F+"/"+N)},vl=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return T=>crypto.getRandomValues(T);if(q8)try{var F=h5("crypto"),N=F.randomFillSync;if(N)return T=>F.randomFillSync(T);var M=F.randomBytes;return T=>(T.set(M(T.byteLength)),T)}catch(T){}rr("initRandomDevice")},F5=F=>(F5=vl())(F),n8={resolve:(...F)=>{for(var N="",M=!1,T=F.length-1;T>=-1&&!M;T--){var $=T>=0?F[T]:b.cwd();if(typeof $!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!$)return"";N=$+"/"+N,M=w1.isAbs($)}return N=w1.normalizeArray(N.split("/").filter(K=>!!K),!M).join("/"),(M?"/":"")+N||"."},relative:(F,N)=>{F=n8.resolve(F).substr(1),N=n8.resolve(N).substr(1);function M(E0){for(var R0=0;R0=0&&E0[e2]==="";e2--);return R0>e2?[]:E0.slice(R0,e2-R0+1)}for(var T=M(F.split("/")),$=M(N.split("/")),K=Math.min(T.length,$.length),o0=K,s0=0;s0{for(var N=0,M=0;M=55296&&T<=57343?(N+=4,++M):N+=3}return N},Le=(F,N,M,T)=>{if(!(T>0))return 0;for(var $=M,K=M+T-1,o0=0;o0=55296&&s0<=57343){var t0=F.charCodeAt(++o0);s0=65536+((s0&1023)<<10)|t0&1023}if(s0<=127){if(M>=K)break;N[M++]=s0}else if(s0<=2047){if(M+1>=K)break;N[M++]=192|s0>>6,N[M++]=128|s0&63}else if(s0<=65535){if(M+2>=K)break;N[M++]=224|s0>>12,N[M++]=128|s0>>6&63,N[M++]=128|s0&63}else{if(M+3>=K)break;N[M++]=240|s0>>18,N[M++]=128|s0>>12&63,N[M++]=128|s0>>6&63,N[M++]=128|s0&63}}return N[M]=0,M-$};function E5(F,N,M){var T=M>0?M:Pe(F)+1,$=new Array(T),K=Le(F,$,0,$.length);return N&&($.length=K),$}var ml=()=>{if(!je.length){var F=null;if(q8){var N=256,M=Buffer.alloc(N),T=0,$=process.stdin.fd;try{T=ze.readSync($,M,0,N)}catch(K){if(K.toString().includes("EOF"))T=0;else throw K}T>0&&(F=M.slice(0,T).toString("utf-8"))}else typeof window!="undefined"&&typeof window.prompt=="function"&&(F=window.prompt("Input: "),F!==null&&(F+=`\n`));if(!F)return null;je=E5(F,!0)}return je.shift()},Y8={ttys:[],init(){},shutdown(){},register(F,N){Y8.ttys[F]={input:[],output:[],ops:N},b.registerDevice(F,Y8.stream_ops)},stream_ops:{open(F){var N=Y8.ttys[F.node.rdev];if(!N)throw new b.ErrnoError(43);F.tty=N,F.seekable=!1},close(F){F.tty.ops.fsync(F.tty)},fsync(F){F.tty.ops.fsync(F.tty)},read(F,N,M,T,$){if(!F.tty||!F.tty.ops.get_char)throw new b.ErrnoError(60);for(var K=0,o0=0;o00&&(He(mi(F.output,0)),F.output=[])},ioctl_tcgets(F){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(F,N,M){return 0},ioctl_tiocgwinsz(F){return[24,80]}},default_tty1_ops:{put_char(F,N){N===null||N===10?(ji(mi(F.output,0)),F.output=[]):N!=0&&F.output.push(N)},fsync(F){F.output&&F.output.length>0&&(ji(mi(F.output,0)),F.output=[])}}},Y5=F=>{rr()},X2={ops_table:null,mount(F){return X2.createNode(null,"/",16895,0)},createNode(F,N,M,T){if(b.isBlkdev(M)||b.isFIFO(M))throw new b.ErrnoError(63);X2.ops_table||(X2.ops_table={dir:{node:{getattr:X2.node_ops.getattr,setattr:X2.node_ops.setattr,lookup:X2.node_ops.lookup,mknod:X2.node_ops.mknod,rename:X2.node_ops.rename,unlink:X2.node_ops.unlink,rmdir:X2.node_ops.rmdir,readdir:X2.node_ops.readdir,symlink:X2.node_ops.symlink},stream:{llseek:X2.stream_ops.llseek}},file:{node:{getattr:X2.node_ops.getattr,setattr:X2.node_ops.setattr},stream:{llseek:X2.stream_ops.llseek,read:X2.stream_ops.read,write:X2.stream_ops.write,allocate:X2.stream_ops.allocate,mmap:X2.stream_ops.mmap,msync:X2.stream_ops.msync}},link:{node:{getattr:X2.node_ops.getattr,setattr:X2.node_ops.setattr,readlink:X2.node_ops.readlink},stream:{}},chrdev:{node:{getattr:X2.node_ops.getattr,setattr:X2.node_ops.setattr},stream:b.chrdev_stream_ops}});var $=b.createNode(F,N,M,T);return b.isDir($.mode)?($.node_ops=X2.ops_table.dir.node,$.stream_ops=X2.ops_table.dir.stream,$.contents={}):b.isFile($.mode)?($.node_ops=X2.ops_table.file.node,$.stream_ops=X2.ops_table.file.stream,$.usedBytes=0,$.contents=null):b.isLink($.mode)?($.node_ops=X2.ops_table.link.node,$.stream_ops=X2.ops_table.link.stream):b.isChrdev($.mode)&&($.node_ops=X2.ops_table.chrdev.node,$.stream_ops=X2.ops_table.chrdev.stream),$.timestamp=Date.now(),F&&(F.contents[N]=$,F.timestamp=$.timestamp),$},getFileDataAsTypedArray(F){return F.contents?F.contents.subarray?F.contents.subarray(0,F.usedBytes):new Uint8Array(F.contents):new Uint8Array(0)},expandFileStorage(F,N){var M=F.contents?F.contents.length:0;if(!(M>=N)){var T=1024*1024;N=Math.max(N,M*(M>>0),M!=0&&(N=Math.max(N,256));var $=F.contents;F.contents=new Uint8Array(N),F.usedBytes>0&&F.contents.set($.subarray(0,F.usedBytes),0)}},resizeFileStorage(F,N){if(F.usedBytes!=N)if(N==0)F.contents=null,F.usedBytes=0;else{var M=F.contents;F.contents=new Uint8Array(N),M&&F.contents.set(M.subarray(0,Math.min(N,F.usedBytes))),F.usedBytes=N}},node_ops:{getattr(F){var N={};return N.dev=b.isChrdev(F.mode)?F.id:1,N.ino=F.id,N.mode=F.mode,N.nlink=1,N.uid=0,N.gid=0,N.rdev=F.rdev,b.isDir(F.mode)?N.size=4096:b.isFile(F.mode)?N.size=F.usedBytes:b.isLink(F.mode)?N.size=F.link.length:N.size=0,N.atime=new Date(F.timestamp),N.mtime=new Date(F.timestamp),N.ctime=new Date(F.timestamp),N.blksize=4096,N.blocks=Math.ceil(N.size/N.blksize),N},setattr(F,N){N.mode!==void 0&&(F.mode=N.mode),N.timestamp!==void 0&&(F.timestamp=N.timestamp),N.size!==void 0&&X2.resizeFileStorage(F,N.size)},lookup(F,N){throw b.genericErrors[44]},mknod(F,N,M,T){return X2.createNode(F,N,M,T)},rename(F,N,M){if(b.isDir(F.mode)){var T;try{T=b.lookupNode(N,M)}catch(K){}if(T)for(var $ in T.contents)throw new b.ErrnoError(55)}delete F.parent.contents[F.name],F.parent.timestamp=Date.now(),F.name=M,N.contents[M]=F,N.timestamp=F.parent.timestamp},unlink(F,N){delete F.contents[N],F.timestamp=Date.now()},rmdir(F,N){var M=b.lookupNode(F,N);for(var T in M.contents)throw new b.ErrnoError(55);delete F.contents[N],F.timestamp=Date.now()},readdir(F){var N=[".",".."];for(var M of Object.keys(F.contents))N.push(M);return N},symlink(F,N,M){var T=X2.createNode(F,N,41471,0);return T.link=M,T},readlink(F){if(!b.isLink(F.mode))throw new b.ErrnoError(28);return F.link}},stream_ops:{read(F,N,M,T,$){var K=F.node.contents;if($>=F.node.usedBytes)return 0;var o0=Math.min(F.node.usedBytes-$,T);if(o0>8&&K.subarray)N.set(K.subarray($,$+o0),M);else for(var s0=0;s00||M+N{var $=T?"":`al ${F}`;xe(F).then(K=>{N(new Uint8Array(K)),$&&ir($)},K=>{if(M)M();else throw`Loading data file "${F}" failed.`}),$&&ae($)},Zl=(F,N,M,T,$,K)=>{b.createDataFile(F,N,M,T,$,K)},pl=O.preloadPlugins||[],Wl=(F,N,M,T)=>{typeof Browser!="undefined"&&Browser.init();var $=!1;return pl.forEach(K=>{$||K.canHandle(N)&&(K.handle(F,N,M,T),$=!0)}),$},Xl=(F,N,M,T,$,K,o0,s0,t0,E0)=>{var R0=N?n8.resolve(w1.join2(F,N)):F,e2=`cp ${R0}`;function u2(k2){function j0(N2){E0==null||E0(),s0||Zl(F,N,N2,T,$,t0),K==null||K(),ir(e2)}Wl(k2,R0,j0,()=>{o0==null||o0(),ir(e2)})||j0(k2)}ae(e2),typeof M=="string"?Bl(M,u2,o0):u2(M)},Gl=F=>{var N={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},M=N[F];if(typeof M=="undefined")throw new Error(`Unknown file open mode: ${F}`);return M},Ke=(F,N)=>{var M=0;return F&&(M|=365),N&&(M|=146),M},b={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(F){this.name="ErrnoError",this.errno=F}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(F){this.node=F}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(F){this.shared.flags=F}get position(){return this.shared.position}set position(F){this.shared.position=F}},FSNode:class{constructor(F,N,M,T){F||(F=this),this.parent=F,this.mount=F.mount,this.mounted=null,this.id=b.nextInode++,this.name=N,this.mode=M,this.node_ops={},this.stream_ops={},this.rdev=T,this.readMode=365,this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(F){F?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(F){F?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return b.isDir(this.mode)}get isDevice(){return b.isChrdev(this.mode)}},lookupPath(F,N={}){if(F=n8.resolve(F),!F)return{path:"",node:null};var M={follow_mount:!0,recurse_count:0};if(N=Object.assign(M,N),N.recurse_count>8)throw new b.ErrnoError(32);for(var T=F.split("/").filter(e2=>!!e2),$=b.root,K="/",o0=0;o040)throw new b.ErrnoError(32)}}return{path:K,node:$}},getPath(F){for(var N;;){if(b.isRoot(F)){var M=F.mount.mountpoint;return N?M[M.length-1]!=="/"?`${M}/${N}`:M+N:M}N=N?`${F.name}/${N}`:F.name,F=F.parent}},hashName(F,N){for(var M=0,T=0;T>>0)%b.nameTable.length},hashAddNode(F){var N=b.hashName(F.parent.id,F.name);F.name_next=b.nameTable[N],b.nameTable[N]=F},hashRemoveNode(F){var N=b.hashName(F.parent.id,F.name);if(b.nameTable[N]===F)b.nameTable[N]=F.name_next;else for(var M=b.nameTable[N];M;){if(M.name_next===F){M.name_next=F.name_next;break}M=M.name_next}},lookupNode(F,N){var M=b.mayLookup(F);if(M)throw new b.ErrnoError(M);for(var T=b.hashName(F.id,N),$=b.nameTable[T];$;$=$.name_next){var K=$.name;if($.parent.id===F.id&&K===N)return $}return b.lookup(F,N)},createNode(F,N,M,T){var $=new b.FSNode(F,N,M,T);return b.hashAddNode($),$},destroyNode(F){b.hashRemoveNode(F)},isRoot(F){return F===F.parent},isMountpoint(F){return!!F.mounted},isFile(F){return(F&61440)===32768},isDir(F){return(F&61440)===16384},isLink(F){return(F&61440)===40960},isChrdev(F){return(F&61440)===8192},isBlkdev(F){return(F&61440)===24576},isFIFO(F){return(F&61440)===4096},isSocket(F){return(F&49152)===49152},flagsToPermissionString(F){var N=["r","w","rw"][F&3];return F&512&&(N+="w"),N},nodePermissions(F,N){return b.ignorePermissions?0:N.includes("r")&&!(F.mode&292)||N.includes("w")&&!(F.mode&146)||N.includes("x")&&!(F.mode&73)?2:0},mayLookup(F){if(!b.isDir(F.mode))return 54;var N=b.nodePermissions(F,"x");return N||(F.node_ops.lookup?0:2)},mayCreate(F,N){try{var M=b.lookupNode(F,N);return 20}catch(T){}return b.nodePermissions(F,"wx")},mayDelete(F,N,M){var T;try{T=b.lookupNode(F,N)}catch(K){return K.errno}var $=b.nodePermissions(F,"wx");if($)return $;if(M){if(!b.isDir(T.mode))return 54;if(b.isRoot(T)||b.getPath(T)===b.cwd())return 10}else if(b.isDir(T.mode))return 31;return 0},mayOpen(F,N){return F?b.isLink(F.mode)?32:b.isDir(F.mode)&&(b.flagsToPermissionString(N)!=="r"||N&512)?31:b.nodePermissions(F,b.flagsToPermissionString(N)):44},MAX_OPEN_FDS:4096,nextfd(){for(var F=0;F<=b.MAX_OPEN_FDS;F++)if(!b.streams[F])return F;throw new b.ErrnoError(33)},getStreamChecked(F){var N=b.getStream(F);if(!N)throw new b.ErrnoError(8);return N},getStream:F=>b.streams[F],createStream(F,N=-1){return F=Object.assign(new b.FSStream,F),N==-1&&(N=b.nextfd()),F.fd=N,b.streams[N]=F,F},closeStream(F){b.streams[F]=null},dupStream(F,N=-1){var T,$;var M=b.createStream(F,N);return($=(T=M.stream_ops)==null?void 0:T.dup)==null||$.call(T,M),M},chrdev_stream_ops:{open(F){var M,T;var N=b.getDevice(F.node.rdev);F.stream_ops=N.stream_ops,(T=(M=F.stream_ops).open)==null||T.call(M,F)},llseek(){throw new b.ErrnoError(70)}},major:F=>F>>8,minor:F=>F&255,makedev:(F,N)=>F<<8|N,registerDevice(F,N){b.devices[F]={stream_ops:N}},getDevice:F=>b.devices[F],getMounts(F){for(var N=[],M=[F];M.length;){var T=M.pop();N.push(T),M.push(...T.mounts)}return N},syncfs(F,N){typeof F=="function"&&(N=F,F=!1),b.syncFSRequests++,b.syncFSRequests>1&&ji(`warning: ${b.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var M=b.getMounts(b.root.mount),T=0;function $(o0){return b.syncFSRequests--,N(o0)}function K(o0){if(o0)return K.errored?void 0:(K.errored=!0,$(o0));++T>=M.length&&$(null)}M.forEach(o0=>{if(!o0.type.syncfs)return K(null);o0.type.syncfs(o0,F,K)})},mount(F,N,M){var T=M==="/",$=!M,K;if(T&&b.root)throw new b.ErrnoError(10);if(!T&&!$){var o0=b.lookupPath(M,{follow_mount:!1});if(M=o0.path,K=o0.node,b.isMountpoint(K))throw new b.ErrnoError(10);if(!b.isDir(K.mode))throw new b.ErrnoError(54)}var s0={type:F,opts:N,mountpoint:M,mounts:[]},t0=F.mount(s0);return t0.mount=s0,s0.root=t0,T?b.root=t0:K&&(K.mounted=s0,K.mount&&K.mount.mounts.push(s0)),t0},unmount(F){var N=b.lookupPath(F,{follow_mount:!1});if(!b.isMountpoint(N.node))throw new b.ErrnoError(28);var M=N.node,T=M.mounted,$=b.getMounts(T);Object.keys(b.nameTable).forEach(o0=>{for(var s0=b.nameTable[o0];s0;){var t0=s0.name_next;$.includes(s0.mount)&&b.destroyNode(s0),s0=t0}}),M.mounted=null;var K=M.mount.mounts.indexOf(T);M.mount.mounts.splice(K,1)},lookup(F,N){return F.node_ops.lookup(F,N)},mknod(F,N,M){var T=b.lookupPath(F,{parent:!0}),$=T.node,K=w1.basename(F);if(!K||K==="."||K==="..")throw new b.ErrnoError(28);var o0=b.mayCreate($,K);if(o0)throw new b.ErrnoError(o0);if(!$.node_ops.mknod)throw new b.ErrnoError(63);return $.node_ops.mknod($,K,N,M)},create(F,N){return N=N!==void 0?N:438,N&=4095,N|=32768,b.mknod(F,N,0)},mkdir(F,N){return N=N!==void 0?N:511,N&=1023,N|=16384,b.mknod(F,N,0)},mkdirTree(F,N){for(var M=F.split("/"),T="",$=0;$b.currentPath,chdir(F){var N=b.lookupPath(F,{follow:!0});if(N.node===null)throw new b.ErrnoError(44);if(!b.isDir(N.node.mode))throw new b.ErrnoError(54);var M=b.nodePermissions(N.node,"x");if(M)throw new b.ErrnoError(M);b.currentPath=N.path},createDefaultDirectories(){b.mkdir("/tmp"),b.mkdir("/home"),b.mkdir("/home/web_user")},createDefaultDevices(){b.mkdir("/dev"),b.registerDevice(b.makedev(1,3),{read:()=>0,write:(T,$,K,o0,s0)=>o0}),b.mkdev("/dev/null",b.makedev(1,3)),Y8.register(b.makedev(5,0),Y8.default_tty_ops),Y8.register(b.makedev(6,0),Y8.default_tty1_ops),b.mkdev("/dev/tty",b.makedev(5,0)),b.mkdev("/dev/tty1",b.makedev(6,0));var F=new Uint8Array(1024),N=0,M=()=>(N===0&&(N=F5(F).byteLength),F[--N]);b.createDevice("/dev","random",M),b.createDevice("/dev","urandom",M),b.mkdir("/dev/shm"),b.mkdir("/dev/shm/tmp")},createSpecialDirectories(){b.mkdir("/proc");var F=b.mkdir("/proc/self");b.mkdir("/proc/self/fd"),b.mount({mount(){var N=b.createNode(F,"fd",16895,73);return N.node_ops={lookup(M,T){var $=+T,K=b.getStreamChecked($),o0={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>K.path}};return o0.parent=o0,o0}},N}},{},"/proc/self/fd")},createStandardStreams(){O.stdin?b.createDevice("/dev","stdin",O.stdin):b.symlink("/dev/tty","/dev/stdin"),O.stdout?b.createDevice("/dev","stdout",null,O.stdout):b.symlink("/dev/tty","/dev/stdout"),O.stderr?b.createDevice("/dev","stderr",null,O.stderr):b.symlink("/dev/tty1","/dev/stderr");var F=b.open("/dev/stdin",0),N=b.open("/dev/stdout",1),M=b.open("/dev/stderr",1)},staticInit(){[44].forEach(F=>{b.genericErrors[F]=new b.ErrnoError(F),b.genericErrors[F].stack=""}),b.nameTable=new Array(4096),b.mount(X2,{},"/"),b.createDefaultDirectories(),b.createDefaultDevices(),b.createSpecialDirectories(),b.filesystems={MEMFS:X2}},init(F,N,M){b.init.initialized=!0,O.stdin=F||O.stdin,O.stdout=N||O.stdout,O.stderr=M||O.stderr,b.createStandardStreams()},quit(){b.init.initialized=!1;for(var F=0;Fthis.length-1||k2<0)){var j0=k2%this.chunkSize,N2=k2/this.chunkSize|0;return this.getter(N2)[j0]}}setDataGetter(k2){this.getter=k2}cacheLength(){var k2=new XMLHttpRequest;if(k2.open("HEAD",M,!1),k2.send(null),!(k2.status>=200&&k2.status<300||k2.status===304))throw new Error("Couldn\'t load "+M+". Status: "+k2.status);var j0=Number(k2.getResponseHeader("Content-length")),N2,m1=(N2=k2.getResponseHeader("Accept-Ranges"))&&N2==="bytes",U2=(N2=k2.getResponseHeader("Content-Encoding"))&&N2==="gzip",P=1024*1024;m1||(P=j0);var s1=(u4,n1)=>{if(u4>n1)throw new Error("invalid range ("+u4+", "+n1+") or no bytes requested!");if(n1>j0-1)throw new Error("only "+j0+" bytes available! programmer error!");var C2=new XMLHttpRequest;if(C2.open("GET",M,!1),j0!==P&&C2.setRequestHeader("Range","bytes="+u4+"-"+n1),C2.responseType="arraybuffer",C2.overrideMimeType&&C2.overrideMimeType("text/plain; charset=x-user-defined"),C2.send(null),!(C2.status>=200&&C2.status<300||C2.status===304))throw new Error("Couldn\'t load "+M+". Status: "+C2.status);return C2.response!==void 0?new Uint8Array(C2.response||[]):E5(C2.responseText||"",!0)},l8=this;l8.setDataGetter(u4=>{var n1=u4*P,C2=(u4+1)*P-1;if(C2=Math.min(C2,j0-1),typeof l8.chunks[u4]=="undefined"&&(l8.chunks[u4]=s1(n1,C2)),typeof l8.chunks[u4]=="undefined")throw new Error("doXHR failed!");return l8.chunks[u4]}),(U2||!j0)&&(P=j0=1,j0=this.getter(0).length,P=j0,He("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=j0,this._chunkSize=P,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!O4)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o0=new K,s0={isDevice:!1,contents:o0}}else var s0={isDevice:!1,url:M};var t0=b.createFile(F,N,s0,T,$);s0.contents?t0.contents=s0.contents:s0.url&&(t0.contents=null,t0.url=s0.url),Object.defineProperties(t0,{usedBytes:{get:function(){return this.contents.length}}});var E0={},R0=Object.keys(t0.stream_ops);R0.forEach(u2=>{var k2=t0.stream_ops[u2];E0[u2]=(...j0)=>(b.forceLoadFile(t0),k2(...j0))});function e2(u2,k2,j0,N2,m1){var U2=u2.node.contents;if(m1>=U2.length)return 0;var P=Math.min(U2.length-m1,N2);if(U2.slice)for(var s1=0;s1(b.forceLoadFile(t0),e2(u2,k2,j0,N2,m1)),E0.mmap=(u2,k2,j0,N2,m1)=>{b.forceLoadFile(t0);var U2=Y5(k2);if(!U2)throw new b.ErrnoError(48);return e2(u2,S1,U2,k2,j0),{ptr:U2,allocated:!0}},t0.stream_ops=E0,t0}},m4={DEFAULT_POLLMASK:5,calculateAt(F,N,M){if(w1.isAbs(N))return N;var T;if(F===-100)T=b.cwd();else{var $=m4.getStreamFromFD(F);T=$.path}if(N.length==0){if(!M)throw new b.ErrnoError(44);return T}return w1.join2(T,N)},doStat(F,N,M){var T=F(N);a2[M>>2]=T.dev,a2[M+4>>2]=T.mode,j2[M+8>>2]=T.nlink,a2[M+12>>2]=T.uid,a2[M+16>>2]=T.gid,a2[M+20>>2]=T.rdev,O1=[T.size>>>0,(S2=T.size,+Math.abs(S2)>=1?S2>0?+Math.floor(S2/4294967296)>>>0:~~+Math.ceil((S2-+(~~S2>>>0))/4294967296)>>>0:0)],a2[M+24>>2]=O1[0],a2[M+28>>2]=O1[1],a2[M+32>>2]=4096,a2[M+36>>2]=T.blocks;var $=T.atime.getTime(),K=T.mtime.getTime(),o0=T.ctime.getTime();return O1=[Math.floor($/1e3)>>>0,(S2=Math.floor($/1e3),+Math.abs(S2)>=1?S2>0?+Math.floor(S2/4294967296)>>>0:~~+Math.ceil((S2-+(~~S2>>>0))/4294967296)>>>0:0)],a2[M+40>>2]=O1[0],a2[M+44>>2]=O1[1],j2[M+48>>2]=$%1e3*1e3,O1=[Math.floor(K/1e3)>>>0,(S2=Math.floor(K/1e3),+Math.abs(S2)>=1?S2>0?+Math.floor(S2/4294967296)>>>0:~~+Math.ceil((S2-+(~~S2>>>0))/4294967296)>>>0:0)],a2[M+56>>2]=O1[0],a2[M+60>>2]=O1[1],j2[M+64>>2]=K%1e3*1e3,O1=[Math.floor(o0/1e3)>>>0,(S2=Math.floor(o0/1e3),+Math.abs(S2)>=1?S2>0?+Math.floor(S2/4294967296)>>>0:~~+Math.ceil((S2-+(~~S2>>>0))/4294967296)>>>0:0)],a2[M+72>>2]=O1[0],a2[M+76>>2]=O1[1],j2[M+80>>2]=o0%1e3*1e3,O1=[T.ino>>>0,(S2=T.ino,+Math.abs(S2)>=1?S2>0?+Math.floor(S2/4294967296)>>>0:~~+Math.ceil((S2-+(~~S2>>>0))/4294967296)>>>0:0)],a2[M+88>>2]=O1[0],a2[M+92>>2]=O1[1],0},doMsync(F,N,M,T,$){if(!b.isFile(N.node.mode))throw new b.ErrnoError(43);if(T&2)return 0;var K=A4.slice(F,F+M);b.msync(N,K,$,M,T)},getStreamFromFD(F){var N=b.getStreamChecked(F);return N},varargs:void 0,getStr(F){var N=qi(F);return N}};function Cl(F,N,M){m4.varargs=M;try{var T=m4.getStreamFromFD(F);switch(N){case 0:{var $=Ar();if($<0)return-28;for(;b.streams[$];)$++;var K;return K=b.dupStream(T,$),K.fd}case 1:case 2:return 0;case 3:return T.flags;case 4:{var $=Ar();return T.flags|=$,0}case 12:{var $=Bi(),o0=0;return k8[$+o0>>1]=2,0}case 13:case 14:return 0}return-28}catch(s0){if(typeof b=="undefined"||s0.name!=="ErrnoError")throw s0;return-s0.errno}}function Vl(F,N,M){m4.varargs=M;try{var T=m4.getStreamFromFD(F);switch(N){case 21509:return T.tty?0:-59;case 21505:{if(!T.tty)return-59;if(T.tty.ops.ioctl_tcgets){var $=T.tty.ops.ioctl_tcgets(T),K=Bi();a2[K>>2]=$.c_iflag||0,a2[K+4>>2]=$.c_oflag||0,a2[K+8>>2]=$.c_cflag||0,a2[K+12>>2]=$.c_lflag||0;for(var o0=0;o0<32;o0++)S1[K+o0+17]=$.c_cc[o0]||0;return 0}return 0}case 21510:case 21511:case 21512:return T.tty?0:-59;case 21506:case 21507:case 21508:{if(!T.tty)return-59;if(T.tty.ops.ioctl_tcsets){for(var K=Bi(),s0=a2[K>>2],t0=a2[K+4>>2],E0=a2[K+8>>2],R0=a2[K+12>>2],e2=[],o0=0;o0<32;o0++)e2.push(S1[K+o0+17]);return T.tty.ops.ioctl_tcsets(T.tty,N,{c_iflag:s0,c_oflag:t0,c_cflag:E0,c_lflag:R0,c_cc:e2})}return 0}case 21519:{if(!T.tty)return-59;var K=Bi();return a2[K>>2]=0,0}case 21520:return T.tty?-28:-59;case 21531:{var K=Bi();return b.ioctl(T,N,K)}case 21523:{if(!T.tty)return-59;if(T.tty.ops.ioctl_tiocgwinsz){var u2=T.tty.ops.ioctl_tiocgwinsz(T.tty),K=Bi();k8[K>>1]=u2[0],k8[K+2>>1]=u2[1]}return 0}case 21524:return T.tty?0:-59;case 21515:return T.tty?0:-59;default:return-28}}catch(k2){if(typeof b=="undefined"||k2.name!=="ErrnoError")throw k2;return-k2.errno}}function Il(F,N,M,T){m4.varargs=T;try{N=m4.getStr(N),N=m4.calculateAt(F,N);var $=T?Ar():0;return b.open(N,M,$).fd}catch(K){if(typeof b=="undefined"||K.name!=="ErrnoError")throw K;return-K.errno}}var Ql=()=>{rr("")},fr={},qe=F=>{for(;F.length;){var N=F.pop(),M=F.pop();M(N)}};function $i(F){return this.fromWireType(j2[F>>2])}var Zi={},b8={},kr={},J5,nr=F=>{throw new J5(F)},$e=(F,N,M)=>{F.forEach(function(s0){kr[s0]=N});function T(s0){var t0=M(s0);t0.length!==F.length&&nr("Mismatched type converter count");for(var E0=0;E0{b8.hasOwnProperty(s0)?$[t0]=b8[s0]:(K.push(s0),Zi.hasOwnProperty(s0)||(Zi[s0]=[]),Zi[s0].push(()=>{$[t0]=b8[s0],++o0,o0===K.length&&T($)}))}),K.length===0&&T($)},yl=F=>{var N=fr[F];delete fr[F];var M=N.rawConstructor,T=N.rawDestructor,$=N.fields,K=$.map(o0=>o0.getterReturnType).concat($.map(o0=>o0.setterArgumentType));$e([F],K,o0=>{var s0={};return $.forEach((t0,E0)=>{var R0=t0.fieldName,e2=o0[E0],u2=t0.getter,k2=t0.getterContext,j0=o0[E0+$.length],N2=t0.setter,m1=t0.setterContext;s0[R0]={read:U2=>e2.fromWireType(u2(k2,U2)),write:(U2,P)=>{var s1=[];N2(m1,U2,j0.toWireType(s1,P)),qe(s1)}}}),[{name:N.name,fromWireType:t0=>{var E0={};for(var R0 in s0)E0[R0]=s0[R0].read(t0);return T(t0),E0},toWireType:(t0,E0)=>{for(var R0 in s0)if(!(R0 in E0))throw new TypeError(`Missing field: "${R0}"`);var e2=M();for(R0 in s0)s0[R0].write(e2,E0[R0]);return t0!==null&&t0.push(T,e2),e2},argPackAdvance:P4,readValueFromPointer:$i,destructorFunction:T}]})},Fl=(F,N,M,T,$)=>{},El=()=>{for(var F=new Array(256),N=0;N<256;++N)F[N]=String.fromCharCode(N);g5=F},g5,f4=F=>{for(var N="",M=F;A4[M];)N+=g5[A4[M++]];return N},bi,i1=F=>{throw new bi(F)};function Yl(F,N,M={}){var T=N.name;if(F||i1(`type "${T}" must have a positive integer typeid pointer`),b8.hasOwnProperty(F)){if(M.ignoreDuplicateRegistrations)return;i1(`Cannot register type \'${T}\' twice`)}if(b8[F]=N,delete kr[F],Zi.hasOwnProperty(F)){var $=Zi[F];delete Zi[F],$.forEach(K=>K())}}function j4(F,N,M={}){if(!("argPackAdvance"in N))throw new TypeError("registerType registeredInstance requires argPackAdvance");return Yl(F,N,M)}var P4=8,Jl=(F,N,M,T)=>{N=f4(N),j4(F,{name:N,fromWireType:function($){return!!$},toWireType:function($,K){return K?M:T},argPackAdvance:P4,readValueFromPointer:function($){return this.fromWireType(A4[$])},destructorFunction:null})},gl=F=>({count:F.count,deleteScheduled:F.deleteScheduled,preservePointerOnDelete:F.preservePointerOnDelete,ptr:F.ptr,ptrType:F.ptrType,smartPtr:F.smartPtr,smartPtrType:F.smartPtrType}),be=F=>{function N(M){return M.$$.ptrType.registeredClass.name}i1(N(F)+" instance already deleted")},de=!1,N5=F=>{},Nl=F=>{F.smartPtr?F.smartPtrType.rawDestructor(F.smartPtr):F.ptrType.registeredClass.rawDestructor(F.ptr)},R5=F=>{F.count.value-=1;var N=F.count.value===0;N&&Nl(F)},D5=(F,N,M)=>{if(N===M)return F;if(M.baseClass===void 0)return null;var T=D5(F,N,M.baseClass);return T===null?null:M.downcast(T)},U5={},Rl=()=>Object.keys(i6).length,Dl=()=>{var F=[];for(var N in i6)i6.hasOwnProperty(N)&&F.push(i6[N]);return F},di=[],ce=()=>{for(;di.length;){var F=di.pop();F.$$.deleteScheduled=!1,F.delete()}},ci,Ul=F=>{ci=F,di.length&&ci&&ci(ce)},Ml=()=>{O.getInheritedInstanceCount=Rl,O.getLiveInheritedInstances=Dl,O.flushPendingDeletes=ce,O.setDelayFunction=Ul},i6={},xl=(F,N)=>{for(N===void 0&&i1("ptr should not be undefined");F.baseClass;)N=F.upcast(N),F=F.baseClass;return N},zl=(F,N)=>(N=xl(F,N),i6[N]),tr=(F,N)=>{(!N.ptrType||!N.ptr)&&nr("makeClassHandle requires ptr and ptrType");var M=!!N.smartPtrType,T=!!N.smartPtr;return M!==T&&nr("Both smartPtrType and smartPtr must be specified"),N.count={value:1},r6(Object.create(F,{$$:{value:N,writable:!0}}))};function Hl(F){var N=this.getPointee(F);if(!N)return this.destructor(F),null;var M=zl(this.registeredClass,N);if(M!==void 0){if(M.$$.count.value===0)return M.$$.ptr=N,M.$$.smartPtr=F,M.clone();var T=M.clone();return this.destructor(F),T}function $(){return this.isSmartPointer?tr(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:N,smartPtrType:this,smartPtr:F}):tr(this.registeredClass.instancePrototype,{ptrType:this,ptr:F})}var K=this.registeredClass.getActualType(N),o0=U5[K];if(!o0)return $.call(this);var s0;this.isConst?s0=o0.constPointerType:s0=o0.pointerType;var t0=D5(N,this.registeredClass,s0.registeredClass);return t0===null?$.call(this):this.isSmartPointer?tr(s0.registeredClass.instancePrototype,{ptrType:s0,ptr:t0,smartPtrType:this,smartPtr:F}):tr(s0.registeredClass.instancePrototype,{ptrType:s0,ptr:t0})}var r6=F=>typeof FinalizationRegistry=="undefined"?(r6=N=>N,F):(de=new FinalizationRegistry(N=>{R5(N.$$)}),r6=N=>{var M=N.$$,T=!!M.smartPtr;if(T){var $={$$:M};de.register(N,$,N)}return N},N5=N=>de.unregister(N),r6(F)),Tl=()=>{Object.assign(or.prototype,{isAliasOf(F){if(!(this instanceof or)||!(F instanceof or))return!1;var N=this.$$.ptrType.registeredClass,M=this.$$.ptr;F.$$=F.$$;for(var T=F.$$.ptrType.registeredClass,$=F.$$.ptr;N.baseClass;)M=N.upcast(M),N=N.baseClass;for(;T.baseClass;)$=T.upcast($),T=T.baseClass;return N===T&&M===$},clone(){if(this.$$.ptr||be(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var F=r6(Object.create(Object.getPrototypeOf(this),{$$:{value:gl(this.$$)}}));return F.$$.count.value+=1,F.$$.deleteScheduled=!1,F},delete(){this.$$.ptr||be(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&i1("Object already scheduled for deletion"),N5(this),R5(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||be(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&i1("Object already scheduled for deletion"),di.push(this),di.length===1&&ci&&ci(ce),this.$$.deleteScheduled=!0,this}})};function or(){}var pi=(F,N)=>Object.defineProperty(N,"name",{value:F}),al=(F,N,M)=>{if(F[N].overloadTable===void 0){var T=F[N];F[N]=function(...$){return F[N].overloadTable.hasOwnProperty($.length)||i1(`Function \'${M}\' called with an invalid number of arguments (${$.length}) - expects one of (${F[N].overloadTable})!`),F[N].overloadTable[$.length].apply(this,$)},F[N].overloadTable=[],F[N].overloadTable[T.argCount]=T}},iA=(F,N,M)=>{O.hasOwnProperty(F)?((M===void 0||O[F].overloadTable!==void 0&&O[F].overloadTable[M]!==void 0)&&i1(`Cannot register public name \'${F}\' twice`),al(O,F,F),O.hasOwnProperty(M)&&i1(`Cannot register multiple overloads of a function with the same number of arguments (${M})!`),O[F].overloadTable[M]=N):(O[F]=N,M!==void 0&&(O[F].numArguments=M))},Sl=48,Ol=57,jl=F=>{if(F===void 0)return"_unknown";F=F.replace(/[^a-zA-Z0-9_]/g,"$");var N=F.charCodeAt(0);return N>=Sl&&N<=Ol?`_${F}`:F};function Pl(F,N,M,T,$,K,o0,s0){this.name=F,this.constructor=N,this.instancePrototype=M,this.rawDestructor=T,this.baseClass=$,this.getActualType=K,this.upcast=o0,this.downcast=s0,this.pureVirtualFunctions=[]}var rA=(F,N,M)=>{for(;N!==M;)N.upcast||i1(`Expected null or instance of ${M.name}, got an instance of ${N.name}`),F=N.upcast(F),N=N.baseClass;return F};function Ll(F,N){if(N===null)return this.isReference&&i1(`null is not a valid ${this.name}`),0;N.$$||i1(`Cannot pass "${kA(N)}" as a ${this.name}`),N.$$.ptr||i1(`Cannot pass deleted object as a pointer of type ${this.name}`);var M=N.$$.ptrType.registeredClass,T=rA(N.$$.ptr,M,this.registeredClass);return T}function Kl(F,N){var M;if(N===null)return this.isReference&&i1(`null is not a valid ${this.name}`),this.isSmartPointer?(M=this.rawConstructor(),F!==null&&F.push(this.rawDestructor,M),M):0;(!N||!N.$$)&&i1(`Cannot pass "${kA(N)}" as a ${this.name}`),N.$$.ptr||i1(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&N.$$.ptrType.isConst&&i1(`Cannot convert argument of type ${N.$$.smartPtrType?N.$$.smartPtrType.name:N.$$.ptrType.name} to parameter type ${this.name}`);var T=N.$$.ptrType.registeredClass;if(M=rA(N.$$.ptr,T,this.registeredClass),this.isSmartPointer)switch(N.$$.smartPtr===void 0&&i1("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:N.$$.smartPtrType===this?M=N.$$.smartPtr:i1(`Cannot convert argument of type ${N.$$.smartPtrType?N.$$.smartPtrType.name:N.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:M=N.$$.smartPtr;break;case 2:if(N.$$.smartPtrType===this)M=N.$$.smartPtr;else{var $=N.clone();M=this.rawShare(M,I4.toHandle(()=>$.delete())),F!==null&&F.push(this.rawDestructor,M)}break;default:i1("Unsupporting sharing policy")}return M}function ql(F,N){if(N===null)return this.isReference&&i1(`null is not a valid ${this.name}`),0;N.$$||i1(`Cannot pass "${kA(N)}" as a ${this.name}`),N.$$.ptr||i1(`Cannot pass deleted object as a pointer of type ${this.name}`),N.$$.ptrType.isConst&&i1(`Cannot convert argument of type ${N.$$.ptrType.name} to parameter type ${this.name}`);var M=N.$$.ptrType.registeredClass,T=rA(N.$$.ptr,M,this.registeredClass);return T}var $l=()=>{Object.assign(lr.prototype,{getPointee(F){return this.rawGetPointee&&(F=this.rawGetPointee(F)),F},destructor(F){var N;(N=this.rawDestructor)==null||N.call(this,F)},argPackAdvance:P4,readValueFromPointer:$i,fromWireType:Hl})};function lr(F,N,M,T,$,K,o0,s0,t0,E0,R0){this.name=F,this.registeredClass=N,this.isReference=M,this.isConst=T,this.isSmartPointer=$,this.pointeeType=K,this.sharingPolicy=o0,this.rawGetPointee=s0,this.rawConstructor=t0,this.rawShare=E0,this.rawDestructor=R0,!$&&N.baseClass===void 0?T?(this.toWireType=Ll,this.destructorFunction=null):(this.toWireType=ql,this.destructorFunction=null):this.toWireType=Kl}var M5=(F,N,M)=>{O.hasOwnProperty(F)||nr("Replacing nonexistent public symbol"),O[F].overloadTable!==void 0&&M!==void 0?O[F].overloadTable[M]=N:(O[F]=N,O[F].argCount=M)},bl=(F,N,M)=>{F=F.replace(/p/g,"i");var T=O["dynCall_"+F];return T(N,...M)},ur=[],x5,z5=F=>{var N=ur[F];return N||(F>=ur.length&&(ur.length=F+1),ur[F]=N=x5.get(F)),N},dl=(F,N,M=[])=>{if(F.includes("j"))return bl(F,N,M);var T=z5(N)(...M);return T},cl=(F,N)=>(...M)=>dl(F,N,M),t8=(F,N)=>{F=f4(F);function M(){return F.includes("j")?cl(F,N):z5(N)}var T=M();return typeof T!="function"&&i1(`unknown function pointer with signature ${F}: ${N}`),T},iu=(F,N)=>{var M=pi(N,function(T){this.name=N,this.message=T;var $=new Error(T).stack;$!==void 0&&(this.stack=this.toString()+`\n`+$.replace(/^Error(:[^\\n]*)?\\n/,""))});return M.prototype=Object.create(F.prototype),M.prototype.constructor=M,M.prototype.toString=function(){return this.message===void 0?this.name:`${this.name}: ${this.message}`},M},H5,T5=F=>{var N=ns(F),M=f4(N);return J8(N),M},a5=(F,N)=>{var M=[],T={};function $(K){if(!T[K]&&!b8[K]){if(kr[K]){kr[K].forEach($);return}M.push(K),T[K]=!0}}throw N.forEach($),new H5(`${F}: `+M.map(T5).join([", "]))},ru=(F,N,M,T,$,K,o0,s0,t0,E0,R0,e2,u2)=>{R0=f4(R0),K=t8($,K),s0&&(s0=t8(o0,s0)),E0&&(E0=t8(t0,E0)),u2=t8(e2,u2);var k2=jl(R0);iA(k2,function(){a5(`Cannot construct ${R0} due to unbound types`,[T])}),$e([F,N,M],T?[T]:[],j0=>{var C2,l;j0=j0[0];var N2,m1;T?(N2=j0.registeredClass,m1=N2.instancePrototype):m1=or.prototype;var U2=pi(R0,function(...X){if(Object.getPrototypeOf(this)!==P)throw new bi("Use \'new\' to construct "+R0);if(s1.constructor_body===void 0)throw new bi(R0+" has no accessible constructor");var i=s1.constructor_body[X.length];if(i===void 0)throw new bi(`Tried to invoke ctor of ${R0} with invalid number of parameters (${X.length}) - expected (${Object.keys(s1.constructor_body).toString()}) parameters instead!`);return i.apply(this,X)}),P=Object.create(m1,{constructor:{value:U2}});U2.prototype=P;var s1=new Pl(R0,U2,P,u2,N2,K,s0,E0);s1.baseClass&&((l=(C2=s1.baseClass).__derivedClasses)!=null||(C2.__derivedClasses=[]),s1.baseClass.__derivedClasses.push(s1));var l8=new lr(R0,s1,!0,!1,!1),u4=new lr(R0+"*",s1,!1,!1,!1),n1=new lr(R0+" const*",s1,!1,!0,!1);return U5[F]={pointerType:u4,constPointerType:n1},M5(k2,U2),[l8,u4,n1]})},eA=[],o8=[],AA=F=>{F>9&&--o8[F+1]===0&&(o8[F]=void 0,eA.push(F))},eu=()=>o8.length/2-5-eA.length,Au=()=>{o8.push(0,1,void 0,1,null,1,!0,1,!1,1),O.count_emval_handles=eu},I4={toValue:F=>(F||i1("Cannot use deleted val. handle = "+F),o8[F]),toHandle:F=>{switch(F){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{let N=eA.pop()||o8.length;return o8[N]=F,o8[N+1]=1,N}}}},fu={name:"emscripten::val",fromWireType:F=>{var N=I4.toValue(F);return AA(F),N},toWireType:(F,N)=>I4.toHandle(N),argPackAdvance:P4,readValueFromPointer:$i,destructorFunction:null},ku=F=>j4(F,fu),nu=(F,N,M)=>{switch(N){case 1:return M?function(T){return this.fromWireType(S1[T])}:function(T){return this.fromWireType(A4[T])};case 2:return M?function(T){return this.fromWireType(k8[T>>1])}:function(T){return this.fromWireType(Li[T>>1])};case 4:return M?function(T){return this.fromWireType(a2[T>>2])}:function(T){return this.fromWireType(j2[T>>2])};default:throw new TypeError(`invalid integer width (${N}): ${F}`)}},tu=(F,N,M,T)=>{N=f4(N);function $(){}$.values={},j4(F,{name:N,constructor:$,fromWireType:function(K){return this.constructor.values[K]},toWireType:(K,o0)=>o0.value,argPackAdvance:P4,readValueFromPointer:nu(N,M,T),destructorFunction:null}),iA(N,$)},fA=(F,N)=>{var M=b8[F];return M===void 0&&i1(`${N} has unknown type ${T5(F)}`),M},ou=(F,N,M)=>{var T=fA(F,"enum");N=f4(N);var $=T.constructor,K=Object.create(T.constructor.prototype,{value:{value:M},constructor:{value:pi(`${T.name}_${N}`,function(){})}});$.values[M]=K,$[N]=K},kA=F=>{if(F===null)return"null";var N=typeof F;return N==="object"||N==="array"||N==="function"?F.toString():""+F},lu=(F,N)=>{switch(N){case 4:return function(M){return this.fromWireType(W5[M>>2])};case 8:return function(M){return this.fromWireType(X5[M>>3])};default:throw new TypeError(`invalid float width (${N}): ${F}`)}},uu=(F,N,M)=>{N=f4(N),j4(F,{name:N,fromWireType:T=>T,toWireType:(T,$)=>$,argPackAdvance:P4,readValueFromPointer:lu(N,M),destructorFunction:null})};function S5(F){for(var N=1;N0?", ":"")+s0),E0+=(M||T?"var rv = ":"")+"invoker(fn"+(s0.length>0?", ":"")+s0+`);\n`,$)E0+=`runDestructors(destructors);\n`;else for(var t0=N?1:2;t0{for(var M=[],T=0;T>2]);return M},_u=F=>{F=F.trim();let N=F.indexOf("(");return N!==-1?F.substr(0,N):F},vu=(F,N,M,T,$,K,o0)=>{var s0=wu(N,M);F=f4(F),F=_u(F),$=t8(T,$),iA(F,function(){a5(`Cannot call ${F} due to unbound types`,s0)},N-1),$e([],s0,t0=>{var E0=[t0[0],null].concat(t0.slice(1));return M5(F,hu(F,E0,null,$,K,o0),N-1),[]})},mu=(F,N,M)=>{switch(N){case 1:return M?T=>S1[T]:T=>A4[T];case 2:return M?T=>k8[T>>1]:T=>Li[T>>1];case 4:return M?T=>a2[T>>2]:T=>j2[T>>2];default:throw new TypeError(`invalid integer width (${N}): ${F}`)}},Bu=(F,N,M,T,$)=>{N=f4(N),$===-1&&($=4294967295);var K=R0=>R0;if(T===0){var o0=32-8*M;K=R0=>R0<>>o0}var s0=N.includes("unsigned"),t0=(R0,e2)=>{},E0;s0?E0=function(R0,e2){return t0(e2,this.name),e2>>>0}:E0=function(R0,e2){return t0(e2,this.name),e2},j4(F,{name:N,fromWireType:K,toWireType:E0,argPackAdvance:P4,readValueFromPointer:mu(N,M,T!==0),destructorFunction:null})},Zu=(F,N,M)=>{var T=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],$=T[N];function K(o0){var s0=j2[o0>>2],t0=j2[o0+4>>2];return new $(S1.buffer,t0,s0)}M=f4(M),j4(F,{name:M,fromWireType:K,argPackAdvance:P4,readValueFromPointer:K},{ignoreDuplicateRegistrations:!0})},e6=(F,N,M)=>Le(F,A4,N,M),pu=(F,N)=>{N=f4(N);var M=N==="std::string";j4(F,{name:N,fromWireType(T){var $=j2[T>>2],K=T+4,o0;if(M)for(var s0=K,t0=0;t0<=$;++t0){var E0=K+t0;if(t0==$||A4[E0]==0){var R0=E0-s0,e2=qi(s0,R0);o0===void 0?o0=e2:(o0+="\\0",o0+=e2),s0=E0+1}}else{for(var u2=new Array($),t0=0;t0<$;++t0)u2[t0]=String.fromCharCode(A4[K+t0]);o0=u2.join("")}return J8(T),o0},toWireType(T,$){$ instanceof ArrayBuffer&&($=new Uint8Array($));var K,o0=typeof $=="string";o0||$ instanceof Uint8Array||$ instanceof Uint8ClampedArray||$ instanceof Int8Array||i1("Cannot pass non-string to std::string"),M&&o0?K=Pe($):K=$.length;var s0=L5(4+K+1),t0=s0+4;if(j2[s0>>2]=K,M&&o0)e6($,t0,K+1);else if(o0)for(var E0=0;E0255&&(J8(t0),i1("String has UTF-16 code units that do not fit in 8 bits")),A4[t0+E0]=R0}else for(var E0=0;E0{for(var M=F,T=M>>1,$=T+N/2;!(T>=$)&&Li[T];)++T;if(M=T<<1,M-F>32&&j5)return j5.decode(A4.subarray(F,M));for(var K="",o0=0;!(o0>=N/2);++o0){var s0=k8[F+o0*2>>1];if(s0==0)break;K+=String.fromCharCode(s0)}return K},Xu=(F,N,M)=>{if(M!=null||(M=2147483647),M<2)return 0;M-=2;for(var T=N,$=M>1]=o0,N+=2}return k8[N>>1]=0,N-T},Gu=F=>F.length*2,Cu=(F,N)=>{for(var M=0,T="";!(M>=N/4);){var $=a2[F+M*4>>2];if($==0)break;if(++M,$>=65536){var K=$-65536;T+=String.fromCharCode(55296|K>>10,56320|K&1023)}else T+=String.fromCharCode($)}return T},Vu=(F,N,M)=>{if(M!=null||(M=2147483647),M<4)return 0;for(var T=N,$=T+M-4,K=0;K=55296&&o0<=57343){var s0=F.charCodeAt(++K);o0=65536+((o0&1023)<<10)|s0&1023}if(a2[N>>2]=o0,N+=4,N+4>$)break}return a2[N>>2]=0,N-T},Iu=F=>{for(var N=0,M=0;M=55296&&T<=57343&&++M,N+=4}return N},Qu=(F,N,M)=>{M=f4(M);var T,$,K,o0;N===2?(T=Wu,$=Xu,o0=Gu,K=s0=>Li[s0>>1]):N===4&&(T=Cu,$=Vu,o0=Iu,K=s0=>j2[s0>>2]),j4(F,{name:M,fromWireType:s0=>{for(var t0=j2[s0>>2],E0,R0=s0+4,e2=0;e2<=t0;++e2){var u2=s0+4+e2*N;if(e2==t0||K(u2)==0){var k2=u2-R0,j0=T(R0,k2);E0===void 0?E0=j0:(E0+="\\0",E0+=j0),R0=u2+N}}return J8(s0),E0},toWireType:(s0,t0)=>{typeof t0!="string"&&i1(`Cannot pass non-string to C++ string type ${M}`);var E0=o0(t0),R0=L5(4+E0+N);return j2[R0>>2]=E0/N,$(t0,R0+4,E0+N),s0!==null&&s0.push(J8,R0),R0},argPackAdvance:P4,readValueFromPointer:$i,destructorFunction(s0){J8(s0)}})},yu=(F,N,M,T,$,K)=>{fr[F]={name:f4(N),rawConstructor:t8(M,T),rawDestructor:t8($,K),fields:[]}},Fu=(F,N,M,T,$,K,o0,s0,t0,E0)=>{fr[F].fields.push({fieldName:f4(N),getterReturnType:M,getter:t8(T,$),getterContext:K,setterArgumentType:o0,setter:t8(s0,t0),setterContext:E0})},Eu=(F,N)=>{N=f4(N),j4(F,{isVoid:!0,name:N,argPackAdvance:0,fromWireType:()=>{},toWireType:(M,T)=>{}})},Yu=(F,N,M)=>A4.copyWithin(F,N,N+M),Ju={},P5=F=>{var N=Ju[F];return N===void 0?f4(F):N},nA=[],gu=(F,N,M,T,$)=>(F=nA[F],N=I4.toValue(N),M=P5(M),F(N,N[M],T,$)),Nu=F=>{var N=nA.length;return nA.push(F),N},Ru=(F,N)=>{for(var M=new Array(F),T=0;T>2],"parameter "+T);return M},vJ=Reflect.construct,Du=(F,N,M)=>{var T=[],$=F.toWireType(T,M);return T.length&&(j2[N>>2]=I4.toHandle(T)),$},Uu=(F,N,M)=>{var T=Ru(F,N),$=T.shift();F--;var K=`return function (obj, func, destructorsRef, args) {\n`,o0=0,s0=[];M===0&&s0.push("obj");for(var t0=["retType"],E0=[$],R0=0;R0j0.name).join(", ")}) => ${$.name}>`;return Nu(pi(k2,u2))},Mu=F=>{F>9&&(o8[F+1]+=1)},xu=()=>I4.toHandle([]),zu=F=>I4.toHandle(P5(F)),Hu=()=>I4.toHandle({}),Tu=F=>{var N=I4.toValue(F);qe(N),AA(F)},au=(F,N,M)=>{F=I4.toValue(F),N=I4.toValue(N),M=I4.toValue(M),F[N]=M},Su=(F,N)=>{F=fA(F,"_emval_take_value");var M=F.readValueFromPointer(N);return I4.toHandle(M)},Ou=(F,N,M,T)=>{var $=new Date().getFullYear(),K=new Date($,0,1),o0=new Date($,6,1),s0=K.getTimezoneOffset(),t0=o0.getTimezoneOffset(),E0=Math.max(s0,t0);j2[F>>2]=E0*60,a2[N>>2]=+(s0!=t0);var R0=k2=>{var j0=k2>=0?"-":"+",N2=Math.abs(k2),m1=String(Math.floor(N2/60)).padStart(2,"0"),U2=String(N2%60).padStart(2,"0");return`UTC${j0}${m1}${U2}`},e2=R0(s0),u2=R0(t0);t02147483648,Pu=F=>{var N=c6.buffer,M=(F-N.byteLength+65535)/65536;try{return c6.grow(M),G5(),1}catch(T){}},Lu=F=>{var N=A4.length;F>>>=0;var M=ju();if(F>M)return!1;for(var T=(t0,E0)=>t0+(E0-t0%E0)%E0,$=1;$<=4;$*=2){var K=N*(1+.2/$);K=Math.min(K,F+100663296);var o0=Math.min(M,T(Math.max(F,K),65536)),s0=Pu(o0);if(s0)return!0}return!1},tA={},Ku=()=>Me||"./this.program",A6=()=>{if(!A6.strings){var F=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",N={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:F,_:Ku()};for(var M in tA)tA[M]===void 0?delete N[M]:N[M]=tA[M];var T=[];for(var M in N)T.push(`${M}=${N[M]}`);A6.strings=T}return A6.strings},qu=(F,N)=>{for(var M=0;M{var M=0;return A6().forEach((T,$)=>{var K=N+M;j2[F+$*4>>2]=K,qu(T,K),M+=T.length+1}),0},bu=(F,N)=>{var M=A6();j2[F>>2]=M.length;var T=0;return M.forEach($=>T+=$.length+1),j2[N>>2]=T,0};function du(F){try{var N=m4.getStreamFromFD(F);return b.close(N),0}catch(M){if(typeof b=="undefined"||M.name!=="ErrnoError")throw M;return M.errno}}var cu=(F,N,M,T)=>{for(var $=0,K=0;K>2],s0=j2[N+4>>2];N+=8;var t0=b.read(F,S1,o0,s0,T);if(t0<0)return-1;if($+=t0,t0>2]=K,0}catch(o0){if(typeof b=="undefined"||o0.name!=="ErrnoError")throw o0;return o0.errno}}var rs=(F,N)=>N+2097152>>>0<4194305-!!F?(F>>>0)+N*4294967296:NaN;function es(F,N,M,T,$){var K=rs(N,M);try{if(isNaN(K))return 61;var o0=m4.getStreamFromFD(F);return b.llseek(o0,K,T),O1=[o0.position>>>0,(S2=o0.position,+Math.abs(S2)>=1?S2>0?+Math.floor(S2/4294967296)>>>0:~~+Math.ceil((S2-+(~~S2>>>0))/4294967296)>>>0:0)],a2[$>>2]=O1[0],a2[$+4>>2]=O1[1],o0.getdents&&K===0&&T===0&&(o0.getdents=null),0}catch(s0){if(typeof b=="undefined"||s0.name!=="ErrnoError")throw s0;return s0.errno}}var As=(F,N,M,T)=>{for(var $=0,K=0;K>2],s0=j2[N+4>>2];N+=8;var t0=b.write(F,S1,o0,s0,T);if(t0<0)return-1;$+=t0,typeof T!="undefined"&&(T+=t0)}return $};function fs(F,N,M,T){try{var $=m4.getStreamFromFD(F),K=As($,N,M);return j2[T>>2]=K,0}catch(o0){if(typeof b=="undefined"||o0.name!=="ErrnoError")throw o0;return o0.errno}}b.createPreloadedFile=Xl,b.staticInit(),J5=O.InternalError=class extends Error{constructor(N){super(N),this.name="InternalError"}},El(),bi=O.BindingError=class extends Error{constructor(N){super(N),this.name="BindingError"}},Tl(),Ml(),$l(),H5=O.UnboundTypeError=iu(Error,"UnboundTypeError"),Au();var ks={a:sl,l:_l,r:Cl,D:Vl,E:Il,F:Ql,v:yl,y:Fl,J:Jl,n:ru,I:ku,j:tu,b:ou,u:uu,f:vu,i:Bu,d:Zu,t:pu,p:Qu,w:yu,m:Fu,K:Eu,H:Yu,M:gu,c:AA,N:Uu,O:Mu,q:xu,h:zu,k:Hu,L:Tu,g:au,e:Su,z:Ou,G:Lu,A:$u,B:bu,s:du,C:is,x:es,o:fs},e0=ul(),mJ=e0.Q,BJ=O._memcpy=e0.S,ZJ=O._heif_image_release=e0.T,L5=O._malloc=e0.U,pJ=O._heif_nclx_color_profile_set_color_primaries=e0.V,J8=O._free=e0.W,WJ=O._heif_nclx_color_profile_set_transfer_characteristics=e0.X,XJ=O._heif_nclx_color_profile_set_matrix_coefficients=e0.Y,GJ=O._heif_init=e0.Z,CJ=O._heif_deinit=e0._,VJ=O._heif_load_plugin=e0.$,IJ=O._heif_unload_plugin=e0.aa,QJ=O._heif_load_plugins=e0.ba,yJ=O._heif_get_plugin_directories=e0.ca,FJ=O._heif_free_plugin_directories=e0.da,EJ=O._heif_get_version=e0.ea,YJ=O._heif_get_version_number=e0.fa,JJ=O._heif_get_version_number_major=e0.ga,gJ=O._heif_get_version_number_minor=e0.ha,NJ=O._heif_get_version_number_maintenance=e0.ia,RJ=O._heif_check_filetype=e0.ja,DJ=O._heif_read_main_brand=e0.ka,UJ=O._heif_has_compatible_filetype=e0.la,MJ=O._heif_list_compatible_brands=e0.ma,xJ=O._heif_free_list_of_compatible_brands=e0.na,zJ=O._heif_check_jpeg_filetype=e0.oa,HJ=O._heif_main_brand=e0.pa,TJ=O._heif_fourcc_to_brand=e0.qa,aJ=O._heif_brand_to_fourcc=e0.ra,SJ=O._heif_has_compatible_brand=e0.sa,OJ=O._heif_get_file_mime_type=e0.ta,jJ=O._heif_context_alloc=e0.ua,PJ=O._heif_context_free=e0.va,LJ=O._heif_context_read_from_file=e0.wa,KJ=O._heif_context_read_from_memory=e0.xa,qJ=O._heif_context_read_from_memory_without_copy=e0.ya,$J=O._heif_context_read_from_reader=e0.za,bJ=O._heif_context_debug_dump_boxes_to_file=e0.Aa,dJ=O._heif_context_get_primary_image_handle=e0.Ba,cJ=O._heif_context_get_primary_image_ID=e0.Ca,ig=O._heif_context_is_top_level_image_ID=e0.Da,rg=O._heif_context_get_number_of_top_level_images=e0.Ea,eg=O._heif_context_get_list_of_top_level_image_IDs=e0.Fa,Ag=O._heif_context_get_image_handle=e0.Ga,fg=O._heif_image_handle_is_primary_image=e0.Ha,kg=O._heif_image_handle_get_item_id=e0.Ia,ng=O._heif_image_handle_get_number_of_thumbnails=e0.Ja,tg=O._heif_image_handle_get_list_of_thumbnail_IDs=e0.Ka,og=O._heif_image_handle_get_thumbnail=e0.La,lg=O._heif_image_handle_get_number_of_auxiliary_images=e0.Ma,ug=O._heif_image_handle_get_list_of_auxiliary_image_IDs=e0.Na,sg=O._heif_image_handle_get_auxiliary_type=e0.Oa,hg=O._heif_image_handle_release_auxiliary_type=e0.Pa,wg=O._heif_image_handle_free_auxiliary_types=e0.Qa,_g=O._heif_image_handle_get_auxiliary_image_handle=e0.Ra,vg=O._heif_image_handle_get_width=e0.Sa,mg=O._heif_image_handle_get_height=e0.Ta,Bg=O._heif_image_handle_get_ispe_width=e0.Ua,Zg=O._heif_image_handle_get_ispe_height=e0.Va,pg=O._heif_image_handle_get_context=e0.Wa,Wg=O._heif_image_handle_get_preferred_decoding_colorspace=e0.Xa,Xg=O._heif_image_handle_has_alpha_channel=e0.Ya,Gg=O._heif_image_handle_is_premultiplied_alpha=e0.Za,Cg=O._heif_image_handle_get_luma_bits_per_pixel=e0._a,Vg=O._heif_image_handle_get_chroma_bits_per_pixel=e0.$a,Ig=O._heif_image_handle_has_depth_image=e0.ab,Qg=O._heif_depth_representation_info_free=e0.bb,yg=O._heif_image_handle_get_depth_image_representation_info=e0.cb,Fg=O._heif_image_handle_get_number_of_depth_images=e0.db,Eg=O._heif_image_handle_get_list_of_depth_image_IDs=e0.eb,Yg=O._heif_image_handle_get_depth_image_handle=e0.fb,Jg=O._heif_decoding_options_alloc=e0.gb,gg=O._heif_decoding_options_free=e0.hb,Ng=O._heif_decode_image=e0.ib,Rg=O._heif_image_create=e0.jb,Dg=O._heif_image_get_decoding_warnings=e0.kb,Ug=O._heif_image_add_decoding_warning=e0.lb,Mg=O._heif_image_has_content_light_level=e0.mb,xg=O._heif_image_get_content_light_level=e0.nb,zg=O._heif_image_set_content_light_level=e0.ob,Hg=O._heif_image_has_mastering_display_colour_volume=e0.pb,Tg=O._heif_image_get_mastering_display_colour_volume=e0.qb,ag=O._heif_image_set_mastering_display_colour_volume=e0.rb,Sg=O._heif_mastering_display_colour_volume_decode=e0.sb,Og=O._heif_image_get_pixel_aspect_ratio=e0.tb,jg=O._heif_image_set_pixel_aspect_ratio=e0.ub,Pg=O._heif_image_handle_release=e0.vb,Lg=O._heif_image_get_colorspace=e0.wb,Kg=O._heif_image_get_chroma_format=e0.xb,qg=O._heif_image_get_width=e0.yb,$g=O._heif_image_get_height=e0.zb,bg=O._heif_image_get_primary_width=e0.Ab,dg=O._heif_image_get_primary_height=e0.Bb,cg=O._heif_image_crop=e0.Cb,iN=O._heif_image_get_bits_per_pixel=e0.Db,rN=O._heif_image_get_bits_per_pixel_range=e0.Eb,eN=O._heif_image_has_channel=e0.Fb,AN=O._heif_image_add_plane=e0.Gb,fN=O._heif_image_get_plane_readonly=e0.Hb,kN=O._heif_image_get_plane=e0.Ib,nN=O._heif_image_set_premultiplied_alpha=e0.Jb,tN=O._heif_image_is_premultiplied_alpha=e0.Kb,oN=O._heif_image_extend_padding_to_size=e0.Lb,lN=O._heif_image_scale_image=e0.Mb,uN=O._heif_image_set_raw_color_profile=e0.Nb,sN=O._heif_image_set_nclx_color_profile=e0.Ob,hN=O._heif_image_handle_get_number_of_metadata_blocks=e0.Pb,wN=O._heif_image_handle_get_list_of_metadata_block_IDs=e0.Qb,_N=O._heif_image_handle_get_metadata_type=e0.Rb,vN=O._heif_image_handle_get_metadata_content_type=e0.Sb,mN=O._heif_image_handle_get_metadata_item_uri_type=e0.Tb,BN=O._heif_image_handle_get_metadata_size=e0.Ub,ZN=O._heif_image_handle_get_metadata=e0.Vb,pN=O._heif_image_handle_get_color_profile_type=e0.Wb,WN=O._heif_image_handle_get_raw_color_profile_size=e0.Xb,XN=O._heif_image_handle_get_nclx_color_profile=e0.Yb,GN=O._heif_image_handle_get_raw_color_profile=e0.Zb,CN=O._heif_image_get_color_profile_type=e0._b,VN=O._heif_image_get_raw_color_profile_size=e0.$b,IN=O._heif_image_get_raw_color_profile=e0.ac,QN=O._heif_image_get_nclx_color_profile=e0.bc,yN=O._heif_nclx_color_profile_alloc=e0.cc,FN=O._heif_nclx_color_profile_free=e0.dc,EN=O._heif_image_handle_has_camera_intrinsic_matrix=e0.ec,YN=O._heif_image_handle_get_camera_intrinsic_matrix=e0.fc,JN=O._heif_image_handle_has_camera_extrinsic_matrix=e0.gc,gN=O._heif_image_handle_get_camera_extrinsic_matrix=e0.hc,NN=O._heif_camera_extrinsic_matrix_release=e0.ic,RN=O._heif_camera_extrinsic_matrix_get_rotation_matrix=e0.jc,DN=O._heif_register_decoder=e0.kc,UN=O._heif_register_decoder_plugin=e0.lc,MN=O._heif_register_encoder_plugin=e0.mc,xN=O._heif_context_write_to_file=e0.nc,zN=O._heif_context_write=e0.oc,HN=O._heif_context_add_compatible_brand=e0.pc,TN=O._heif_context_get_encoder_descriptors=e0.qc,aN=O._heif_get_encoder_descriptors=e0.rc,SN=O._heif_encoder_descriptor_get_name=e0.sc,ON=O._heif_encoder_descriptor_get_id_name=e0.tc,jN=O._heif_get_decoder_descriptors=e0.uc,PN=O._heif_decoder_descriptor_get_name=e0.vc,LN=O._heif_decoder_descriptor_get_id_name=e0.wc,KN=O._heif_encoder_descriptor_get_compression_format=e0.xc,qN=O._heif_encoder_descriptor_supports_lossy_compression=e0.yc,$N=O._heif_encoder_descriptor_supports_lossless_compression=e0.zc,bN=O._heif_encoder_descriptor_supportes_lossy_compression=e0.Ac,dN=O._heif_encoder_descriptor_supportes_lossless_compression=e0.Bc,cN=O._heif_encoder_get_name=e0.Cc,iR=O._heif_context_get_encoder=e0.Dc,rR=O._heif_have_decoder_for_format=e0.Ec,eR=O._heif_have_encoder_for_format=e0.Fc,AR=O._heif_context_get_encoder_for_format=e0.Gc,fR=O._heif_encoder_release=e0.Hc,kR=O._heif_encoder_set_lossy_quality=e0.Ic,nR=O._heif_encoder_set_lossless=e0.Jc,tR=O._heif_encoder_set_logging_level=e0.Kc,oR=O._heif_encoder_list_parameters=e0.Lc,lR=O._heif_encoder_parameter_get_name=e0.Mc,uR=O._heif_encoder_parameter_get_type=e0.Nc,sR=O._heif_encoder_set_parameter_integer=e0.Oc,hR=O._heif_encoder_parameter_get_valid_integer_values=e0.Pc,wR=O._heif_encoder_get_parameter_integer=e0.Qc,_R=O._heif_encoder_parameter_get_valid_integer_range=e0.Rc,vR=O._heif_encoder_parameter_get_valid_string_values=e0.Sc,mR=O._heif_encoder_parameter_integer_valid_range=e0.Tc,BR=O._heif_encoder_set_parameter_boolean=e0.Uc,ZR=O._heif_encoder_get_parameter_boolean=e0.Vc,pR=O._heif_encoder_set_parameter_string=e0.Wc,WR=O._heif_encoder_get_parameter_string=e0.Xc,XR=O._heif_encoder_parameter_string_valid_values=e0.Yc,GR=O._heif_encoder_parameter_integer_valid_values=e0.Zc,CR=O._heif_encoder_set_parameter=e0._c,VR=O._heif_encoder_get_parameter=e0.$c,IR=O._heif_encoder_has_default=e0.ad,QR=O._heif_encoding_options_alloc=e0.bd,yR=O._heif_encoding_options_free=e0.cd,FR=O._heif_context_encode_image=e0.dd,ER=O._heif_context_encode_grid=e0.ed,YR=O._heif_context_assign_thumbnail=e0.fd,JR=O._heif_context_encode_thumbnail=e0.gd,gR=O._heif_context_set_primary_image=e0.hd,NR=O._heif_context_add_exif_metadata=e0.id,RR=O._heif_context_add_XMP_metadata=e0.jd,DR=O._heif_context_add_XMP_metadata2=e0.kd,UR=O._heif_context_add_generic_metadata=e0.ld,MR=O._heif_context_add_generic_uri_metadata=e0.md,xR=O._heif_context_set_maximum_image_size_limit=e0.nd,zR=O._heif_context_set_max_decoding_threads=e0.od,HR=O._heif_image_handle_get_number_of_region_items=e0.pd,TR=O._heif_image_handle_get_list_of_region_item_ids=e0.qd,aR=O._heif_context_get_region_item=e0.rd,SR=O._heif_region_item_get_id=e0.sd,OR=O._heif_region_item_release=e0.td,jR=O._heif_region_item_get_reference_size=e0.ud,PR=O._heif_region_item_get_number_of_regions=e0.vd,LR=O._heif_region_item_get_list_of_regions=e0.wd,KR=O._heif_image_handle_add_region_item=e0.xd,qR=O._heif_region_item_add_region_point=e0.yd,$R=O._heif_region_item_add_region_rectangle=e0.zd,bR=O._heif_region_item_add_region_ellipse=e0.Ad,dR=O._heif_region_item_add_region_polygon=e0.Bd,cR=O._heif_region_item_add_region_polyline=e0.Cd,iD=O._heif_region_item_add_region_referenced_mask=e0.Dd,rD=O._heif_region_item_add_region_inline_mask_data=e0.Ed,eD=O._heif_region_item_add_region_inline_mask=e0.Fd,AD=O._heif_region_release=e0.Gd,fD=O._heif_region_release_many=e0.Hd,kD=O._heif_region_get_type=e0.Id,nD=O._heif_region_get_point=e0.Jd,tD=O._heif_region_get_point_transformed=e0.Kd,oD=O._heif_region_get_rectangle=e0.Ld,lD=O._heif_region_get_rectangle_transformed=e0.Md,uD=O._heif_region_get_ellipse=e0.Nd,sD=O._heif_region_get_ellipse_transformed=e0.Od,hD=O._heif_region_get_polygon_num_points=e0.Pd,wD=O._heif_region_get_polyline_num_points=e0.Qd,_D=O._heif_region_get_polygon_points=e0.Rd,vD=O._heif_region_get_polyline_points=e0.Sd,mD=O._heif_region_get_polygon_points_transformed=e0.Td,BD=O._heif_region_get_polyline_points_transformed=e0.Ud,ZD=O._heif_region_get_referenced_mask_ID=e0.Vd,pD=O._heif_region_get_inline_mask_data_len=e0.Wd,WD=O._heif_region_get_inline_mask_data=e0.Xd,XD=O._heif_region_get_mask_image=e0.Yd,GD=O._heif_item_get_properties_of_type=e0.Zd,CD=O._heif_item_get_transformation_properties=e0._d,VD=O._heif_item_get_property_type=e0.$d,ID=O._heif_item_get_property_user_description=e0.ae,QD=O._heif_item_add_property_user_description=e0.be,yD=O._heif_item_get_property_transform_mirror=e0.ce,FD=O._heif_item_get_property_transform_rotation_ccw=e0.de,ED=O._heif_item_get_property_transform_crop_borders=e0.ee,YD=O._heif_property_user_description_release=e0.fe,JD=O._heif_item_add_raw_property=e0.ge,gD=O._heif_item_get_property_raw_size=e0.he,ND=O._heif_item_get_property_raw_data=e0.ie,RD=O._heif_context_get_number_of_items=e0.je,DD=O._heif_context_get_list_of_item_IDs=e0.ke,UD=O._heif_release_item_data=e0.le,MD=O._heif_context_get_item_references=e0.me,xD=O._heif_release_item_references=e0.ne,zD=O._heif_context_add_item=e0.oe,HD=O._heif_context_add_mime_item=e0.pe,TD=O._heif_context_add_precompressed_mime_item=e0.qe,aD=O._heif_context_add_uri_item=e0.re,SD=O._heif_context_add_item_reference=e0.se,OD=O._heif_context_add_item_references=e0.te,jD=O._heif_item_get_property_camera_intrinsic_matrix=e0.ue,PD=O._heif_property_camera_intrinsic_matrix_release=e0.ve,LD=O._heif_property_camera_intrinsic_matrix_get_focal_length=e0.we,KD=O._heif_property_camera_intrinsic_matrix_get_principal_point=e0.xe,qD=O._heif_property_camera_intrinsic_matrix_get_skew=e0.ye,$D=O._heif_property_camera_intrinsic_matrix_alloc=e0.ze,bD=O._heif_property_camera_intrinsic_matrix_set_simple=e0.Ae,dD=O._heif_property_camera_intrinsic_matrix_set_full=e0.Be,cD=O._heif_item_add_property_camera_intrinsic_matrix=e0.Ce,iU=O._heif_item_get_property_camera_extrinsic_matrix=e0.De,rU=O._heif_property_camera_extrinsic_matrix_release=e0.Ee,eU=O._heif_property_camera_extrinsic_matrix_get_rotation_matrix=e0.Fe,AU=O._heif_property_camera_extrinsic_matrix_get_position_vector=e0.Ge,fU=O._heif_property_camera_extrinsic_matrix_get_world_coordinate_system_id=e0.He,kU=O._de265_get_version=e0.Ie,nU=O._de265_init=e0.Je,tU=O._de265_free=e0.Ke,oU=O._de265_new_decoder=e0.Le,lU=O._de265_set_parameter_bool=e0.Me,uU=O._de265_free_decoder=e0.Ne,sU=O._de265_push_NAL=e0.Oe,hU=O._de265_flush_data=e0.Pe,wU=O._de265_decode=e0.Qe,_U=O._de265_get_next_picture=e0.Re,vU=O._de265_get_chroma_format=e0.Se,mU=O._de265_get_image_width=e0.Te,BU=O._de265_get_image_height=e0.Ue,ZU=O._de265_get_bits_per_pixel=e0.Ve,pU=O._de265_get_image_plane=e0.We,WU=O._de265_get_image_colour_primaries=e0.Xe,XU=O._de265_get_image_transfer_characteristics=e0.Ye,GU=O._de265_get_image_matrix_coefficients=e0.Ze,CU=O._de265_get_image_full_range_flag=e0._e,VU=O._de265_release_next_picture=e0.$e,ns=e0.af,ts=e0.bf,IU=O.dynCall_ji=e0.cf,QU=O.dynCall_iij=e0.df,yU=O.dynCall_jiji=e0.ef,FU=O.dynCall_viijii=e0.ff,EU=O.dynCall_iiiiij=e0.gf,YU=O.dynCall_iiiiijj=e0.hf,JU=O.dynCall_iiiiiijj=e0.jf,gU=O._heif_error_ok=74208,NU=O._heif_error_success=73640,RU=O._heif_error_invalid_parameter_value=74232,DU=O._heif_error_unsupported_parameter=74220,sr;Ki=function F(){sr||K5(),sr||(Ki=F)};function K5(){if($8>0||(bo(),$8>0))return;function F(){var N;sr||(sr=!0,O.calledRun=!0,!p5&&(co(),K8(O),(N=O.onRuntimeInitialized)==null||N.call(O),il()))}O.setStatus?(O.setStatus("Running..."),setTimeout(function(){setTimeout(function(){O.setStatus("")},1),F()},1)):F()}if(O.preInit)for(typeof O.preInit=="function"&&(O.preInit=[O.preInit]);O.preInit.length>0;)O.preInit.pop()();K5();function q5(F){for(var N=new ArrayBuffer(F.length),M=new Uint8Array(N),T=0,$=F.length;T<$;T++)M[T]=F.charCodeAt(T);return N}var g8=function(F){this.handle=F,this.img=null};g8.prototype.free=function(){this.handle&&(O.heif_image_handle_release(this.handle),this.handle=null)},g8.prototype._ensureImage=function(){if(!this.img){var F=O.heif_js_decode_image(this.handle,O.heif_colorspace.heif_colorspace_YCbCr,O.heif_chroma.heif_chroma_420);if(!F||F.code){console.log("Decoding image failed",this.handle,F);return}this.data=new Uint8Array(q5(F.data)),delete F.data,this.img=F,F.alpha!==void 0&&(this.alpha=new Uint8Array(q5(F.alpha)),delete F.alpha)}},g8.prototype.get_width=function(){return O.heif_image_handle_get_width(this.handle)},g8.prototype.get_height=function(){return O.heif_image_handle_get_height(this.handle)},g8.prototype.is_primary=function(){return!!heif_image_handle_is_primary_image(this.handle)},g8.prototype.display=function(F,N){var M=this.get_width(),T=this.get_height();setTimeout(function(){if(!this.img){var $=O.heif_js_decode_image2(this.handle,O.heif_colorspace.heif_colorspace_RGB,O.heif_chroma.heif_chroma_interleaved_RGBA);if(!$||$.code){console.log("Decoding image failed",this.handle,$),N(null);return}for(let K of $.channels)if(K.id==O.heif_channel.heif_channel_interleaved)if(K.stride==K.width*4)F.data.set(K.data);else for(let o0=0;o0{Lo();var uJ=Po(),sJ=y1=>w5(_5,null,function*(){let a1=new uJ.HeifDecoder().decode(y1);if(!a1.length)throw new Error("HEIF image not found");let F8=a1[0],O=F8.get_width(),K8=F8.get_height(),E8=new ImageData(O,K8);for(let l4=0;l4{F8.display(E8,q8=>{if(!q8)return O4(new Error("HEIF processing error"));l4(q8)})})});onmessage=y1=>w5(_5,null,function*(){let T1=y1.data.id;try{let a1=yield sJ(y1.data.buffer);postMessage({id:T1,imageData:a1,error:""})}catch(a1){postMessage({id:T1,imageData:null,error:a1&&a1.toString?a1.toString():a1})}})});hJ();})();\n'],{type:"application/javascript"}),so=new Worker(URL.createObjectURL(Xa)),Va=i=>At(void 0,null,function*(){return new Promise((e,r)=>{let t=(Math.random()*(new Date).getTime()).toString(),n={id:t,buffer:i};so.postMessage(n),so.addEventListener("message",i=>{if(i.data.id===t)return i.data.error?r(i.data.error):e(i.data.imageData)})})}),Ga=i=>At(void 0,null,function*(){let e=yield Va(i),r=document.createElement("canvas");return r.width=e.width,r.height=e.height,r.getContext("2d").putImageData(e,0,0),r}),Da=i=>At(void 0,[i],function*({blob:i,type:e,quality:r}){let t=yield i.arrayBuffer(),n=yield Ga(t);return yield new Promise((i,t)=>n.toBlob(e=>{null!=e?i(e):t("Can't convert canvas to blob.")},e,r))})}),YA={};ro(YA,{default:()=>wn}),module.exports=Fa(YA);var x0=require("obsidian"),rt=class{constructor(i){this.app=i}supportedMimeTypes=new Map([["image/jpeg",!0],["image/png",!0],["image/webp",!0],["image/heic",!0],["image/heif",!0],["image/avif",!0],["image/tiff",!0],["image/bmp",!0],["image/svg+xml",!0],["image/gif",!0]]);supportedExtensions=new Set(["jpg","jpeg","png","webp","heic","heif","avif","tif","tiff","bmp","svg","gif"]);extensionToMime=new Map([["jpg",["image/jpeg"]],["jpeg",["image/jpeg"]],["png",["image/png"]],["webp",["image/webp"]],["heic",["image/heic","image/heif"]],["heif",["image/heic","image/heif"]],["avif",["image/avif"]],["tif",["image/tiff"]],["tiff",["image/tiff"]],["bmp",["image/bmp"]],["svg",["image/svg+xml"]],["gif",["image/gif"]]]);isExcalidrawImage(i){if(i.classList.contains("excalidraw-svg")||i.classList.contains("excalidraw-embedded-img")||i.classList.contains("excalidraw-canvas-immersive")||i.closest(".excalidraw-svg"))return!0;let e=i.closest(".internal-embed");if(e){let i=e.getAttribute("src");if(i&&i.includes("Excalidraw/"))return!0}let r=i.getAttribute("filesource");if(r&&(r.includes("Excalidraw/")||r.endsWith(".excalidraw.md")))return!0;let t=i.getAttribute("src");return!(!t||!t.startsWith("blob:")||!i.hasAttribute("filesource")&&!i.closest(".excalidraw-svg"))}isSupported(i,e){if(i&&this.supportedMimeTypes.has(i))return!0;if(e){let r=e.split(".").pop()?.toLowerCase();if(r&&this.supportedExtensions.has(r))return"heic"!==r&&"heif"!==r||i&&this.supportedMimeTypes.has(i),!0}return!1}getMimeTypeFromCache(i){let e=this.app.metadataCache.getFileCache(i);return e?.frontmatter?.mime||e?.frontmatter?.type}getExtensionsFromMimeType(i){let e=[];return this.extensionToMime.forEach((r,t)=>{r.includes(i)&&e.push(t)}),e.length>0?e:void 0}async getMimeTypeFromFile(i){try{let e=await i.slice(0,24).arrayBuffer(),r=new Uint8Array(e).subarray(0,12),t="";for(let i=0;i0?i.type:"unknown"}catch(e){return console.error("Error reading file:",e),i.type&&i.type.length>0?i.type:"unknown"}}getFtyp(i){let e=new DataView(i);if(i.byteLength<12)return null;let r=e.getUint32(8,!1);return String.fromCharCode(r>>24&255,r>>16&255,r>>8&255,255&r).trim()}},Y0=require("obsidian"),Te=Me(require("path")),tt=class{constructor(i,e,r,t){this.app=i,this.settings=e,this.supportedImageFormats=r,this.variableProcessor=t}validateTemplates(i,e,r,t){let n={file:i,activeFile:e};if("CUSTOM"===t?.type&&t.customTemplate){let i=this.variableProcessor.validateTemplate(t.customTemplate,n);if(!i.valid)throw new Y0.Notice(`Folder template validation failed: ${i.errors.join(", ")}`),new Error(`Folder template validation failed: ${i.errors.join(", ")}`)}if("SUBFOLDER"===t?.type&&this.settings.subfolderTemplate){let i=this.variableProcessor.validateTemplate(this.settings.subfolderTemplate,n);if(!i.valid)throw new Y0.Notice(`Subfolder template validation failed: ${i.errors.join(", ")}`),new Error(`Subfolder template validation failed: ${i.errors.join(", ")}`)}if(r?.customTemplate){let i=this.variableProcessor.validateTemplate(r.customTemplate,n);if(!i.valid)throw new Y0.Notice(`Filename template validation failed: ${i.errors.join(", ")}`),new Error(`Filename template validation failed: ${i.errors.join(", ")}`)}}async determineDestination(i,e,r,t,n){this.validateTemplates(i,e,t,n);let f,a=await this.getDestinationDirectory(n,i,e),o=!1;return t&&this.shouldSkipRename(i.name,t)?(f=i.name.substring(0,i.name.lastIndexOf(".")),o=!0):f=await this.generateNewFilename(t,i,e),o||(f=await this.handleNameConflicts(a,f,t?.conflictResolution||"reuse")),f=this.addCorrectExtension(f,i,r),{destinationPath:a,newFilename:f}}async getDestinationDirectory(i,e,r){let t="";switch(i?.type){case"DEFAULT":default:t=this.getDefaultAttachmentFolderPath(r);break;case"ROOT":t=this.app.vault.getRoot().path;break;case"CURRENT":t=r.parent?.path||"";break;case"SUBFOLDER":{let i=this.settings.subfolderTemplate?await this.processSubfolderVariables(this.settings.subfolderTemplate,e,r):r.basename;t=r.parent?(0,Y0.normalizePath)(`${r.parent.path}/${i}`):i;break}case"CUSTOM":i.customTemplate?t=await this.processSubfolderVariables(i.customTemplate,e,r):(new Y0.Notice("Custom folder template is not defined."),t=this.getDefaultAttachmentFolderPath(r))}return t}combinePath(i,e){return"/"===i?(0,Y0.normalizePath)(`/${e}`):(0,Y0.normalizePath)(`${i}/${e}`)}async ensureFolderExists(i){let e=(0,Y0.normalizePath)(i);if(!await this.app.vault.adapter.exists(e)){let i=e.split("/").filter(Boolean),r="";for(let e of i)if(r+=(r?"/":"")+e,await this.app.vault.adapter.exists(r)){let i=await this.app.vault.getAbstractFileByPath(r);if(i&&i.name!==e){let e=`${r.substring(0,r.lastIndexOf("/"))}/${i.name}`;await this.app.vault.adapter.exists(e)?r=e:new Y0.Notice(`Warning: Inconsistent folder casing detected. Using original path: ${r}`)}}else{let i=this.app.vault.getAllLoadedFiles().find(i=>i.path.toLowerCase()===r.toLowerCase()&&i instanceof Y0.TFolder);i?r=i.path:await this.app.vault.createFolder(r)}}}getDefaultAttachmentFolderPath(i){let e=this.app.vault.getConfig("attachmentFolderPath");return e.startsWith("./")?i.parent?.path?(0,Y0.normalizePath)(`${i.parent.path}/${e.substring(2)}`):e.substring(2):(0,Y0.normalizePath)(e)}async handleNameConflicts(i,e,r="reuse"){let t=(0,Y0.normalizePath)(i),n=e.lastIndexOf("."),f=n>-1?e.substring(0,n):e,a=n>-1?e.substring(n):"",o=e;if("reuse"===r)return o;if(await this.app.vault.adapter.exists(`${t}/${o}`)){let i=1;for(;await this.app.vault.adapter.exists(`${t}/${f}-${i}${a}`);)i++;o=`${f}-${i}${a}`}return o}async generateNewFilename(i,e,r,t){let n=e.name;return i&&i.customTemplate?(n=await this.processSubfolderVariables(i.customTemplate,e,r),n=await this.validateAndRemoveExtension(n,e)):n=e.name.substring(0,e.name.lastIndexOf(".")),n}async validateAndRemoveExtension(i,e){let r=i.lastIndexOf(".");if(-1===r)return i;let t=i.substring(r+1).toLowerCase();if(this.supportedImageFormats.supportedExtensions.has(t)){let n=await this.supportedImageFormats.getMimeTypeFromFile(e);if("unknown"!==n){let e=this.supportedImageFormats.getExtensionsFromMimeType(n);return e&&e.includes(t)?i.substring(0,r):(console.warn(`Mismatched extension for file: ${i}, based on mime type: ${n}. Keeping original filename.`),i)}return console.warn(`Unknown mime type for file: ${i}. Removing potential extension.`),i.substring(0,r)}return i}addCorrectExtension(i,e,r){let t=e.name.substring(e.name.lastIndexOf(".")).toLowerCase();if(r&&this.shouldSkipConversion(e.name,r))return`${i}${t}`;switch(r?r.outputFormat:this.settings.outputFormat){case"WEBP":return`${i}.webp`;case"JPEG":return`${i}.jpeg`;case"PNG":return`${i}.png`;case"AVIF":return`${i}.avif`;default:return`${i}${t}`}}sanitizeFilename(i){let e=i.trim(),r=e.lastIndexOf("."),t=-1!==r?e.substring(r):"",n=(-1!==r?e.substring(0,r):e).replace(/[\\/:"*?<>|]/g,"_").replace(/^\s+|\s+$/g,"");return["CON","PRN","AUX","NUL","COM1","COM2","COM3","COM4","COM5","COM6","COM7","COM8","COM9","LPT1","LPT2","LPT3","LPT4","LPT5","LPT6","LPT7","LPT8","LPT9"].includes(n.toUpperCase())&&(n+="_"),n=n.replace(/^\.+|\.+$/g,""),n.length>250&&(n=n.substring(0,250)),n+t}shouldSkipConversion(i,e){return this.matchesPatterns(i,e.skipConversionPatterns)}shouldSkipRename(i,e){return this.matchesPatterns(i,e.skipRenamePatterns)}matchesPatterns(i,e){return!!e.trim()&&e.split(",").map(i=>i.trim()).filter(i=>i.length>0).some(e=>{try{if(e.startsWith("/")&&e.endsWith("/")){let r=e.slice(1,-1);return new RegExp(r,"i").test(i)}if(e.startsWith("r/")&&e.endsWith("/")){let r=e.slice(2,-1);return new RegExp(r,"i").test(i)}if(e.startsWith("regex:")){let r=e.slice(6);return new RegExp(r,"i").test(i)}let r=e.replace(/\./g,"\\.").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp(`^${r}$`,"i").test(i)}catch(i){return console.error(`Invalid pattern: ${e}`,i),!1}})}async processSubfolderVariables(i,e,r){let t={file:e,activeFile:r},n=await this.variableProcessor.processTemplate(i,t);return n=n.replace(/\/+/g,"/"),n=n.split("/").map(i=>this.sanitizeFilename(i)).join("/"),n=n.replace(/^\/+|\/+$/g,""),(0,Y0.normalizePath)(n)}getImagePath(i){try{let e=i.getAttribute("src");if(!e)return null;let r=this.app.vault.getAbstractFileByPath(e);if(r instanceof Y0.TFile)return r.path;if(e.startsWith("app://")){let i=e.substring(6).split("/");if(i.length>1){let e=i.slice(1).join("/");"win32"!==process.platform&&!e.startsWith("/")&&(e=`/${e}`);let[r]=e.split("?"),t=decodeURIComponent(r);t=t.replace(/\\/g,"/");let n=null;if(this.app.vault.adapter instanceof Y0.FileSystemAdapter&&(n=this.app.vault.adapter.getBasePath(),n=n.replace(/\\/g,"/")),n&&t.startsWith(n)){let i=t.substring(n.length);return(0,Y0.normalizePath)(i)}return t}}if(e.startsWith("app://local/")){let i=decodeURIComponent(e.substring(12).split("?")[0]);if(r=this.app.vault.getAbstractFileByPath(i),r instanceof Y0.TFile)return r.path}let t=this.app.workspace.getActiveFile();if(console.log("activeFile:",t),t){let i=t.parent?.path||"",n=(0,Y0.normalizePath)(Te.join(i,e));if(r=this.app.vault.getAbstractFileByPath(n),r instanceof Y0.TFile)return r.path}let n=this.app.vault.getRoot().path,f=(0,Y0.normalizePath)(Te.join(n,e));return r=this.app.vault.getAbstractFileByPath(f),r instanceof Y0.TFile?r.path:(console.warn(`Could not resolve image path for src: ${e}`),null)}catch(i){return console.error("Error getting image path:",i),null}}async safeRenameFile(i,e){let r=Te.dirname(e),t=Te.basename(e),n=(0,Y0.normalizePath)(Te.join(r,`temp-${Date.now()}-${t}`));try{await this.app.fileManager.renameFile(i,n);let r=this.app.vault.getAbstractFileByPath(n);return r instanceof Y0.TFile?(await this.app.fileManager.renameFile(r,e),!0):(new Y0.Notice("Error: Temporary file not found after renaming."),!1)}catch(i){return console.error("Error during safe rename:",i),new Y0.Notice(`Error renaming file: ${i.message}`),!1}}},a2=require("obsidian"),br=require("child_process"),f0=require("obsidian"),nt=class{linkFormatPresets;selectedLinkFormatPreset;constructor(){this.linkFormatPresets=[{name:"Default (Wikilink, Shortest)",linkFormat:"wikilink",pathFormat:"shortest",prependCurrentDir:!1,hideFolders:!1},{name:"Markdown, Relative",linkFormat:"markdown",pathFormat:"relative",prependCurrentDir:!0,hideFolders:!1}],this.selectedLinkFormatPreset="Default (Wikilink, Shortest)"}},ot=class{resizePresets;selectedResizePreset;constructor(){this.resizePresets=[{name:"Default (No Resize)",resizeDimension:"none",resizeScaleMode:"auto",respectEditorMaxWidth:!0,maintainAspectRatio:!0,resizeUnits:"pixels"},{name:"Width 500px",resizeDimension:"width",width:500,resizeScaleMode:"auto",respectEditorMaxWidth:!0,maintainAspectRatio:!0,resizeUnits:"pixels"},{name:"Height 800px",resizeDimension:"height",height:800,resizeScaleMode:"auto",respectEditorMaxWidth:!0,maintainAspectRatio:!0,resizeUnits:"pixels"},{name:"50% Width",resizeDimension:"width",width:50,resizeScaleMode:"auto",respectEditorMaxWidth:!0,maintainAspectRatio:!0,resizeUnits:"percentage"},{name:"Longest Edge 1000px",resizeDimension:"longest-edge",longestEdge:1e3,resizeScaleMode:"auto",respectEditorMaxWidth:!0,maintainAspectRatio:!0,resizeUnits:"pixels"},{name:"Fit Editor",resizeDimension:"editor-max-width",resizeScaleMode:"auto",respectEditorMaxWidth:!0,maintainAspectRatio:!0,resizeUnits:"pixels"},{name:"Original Width",resizeDimension:"original-width",resizeScaleMode:"auto",respectEditorMaxWidth:!1,maintainAspectRatio:!0,resizeUnits:"pixels"},{name:"Custom (Distort)",resizeDimension:"both",customValue:"300x100",resizeScaleMode:"auto",respectEditorMaxWidth:!1,maintainAspectRatio:!1,resizeUnits:"pixels"}],this.selectedResizePreset="Default (No Resize)"}},oo=Me(no()),Vi={folderPresets:[{type:"DEFAULT",name:"Default (Obsidian setting)"},{type:"ROOT",name:"Root folder"},{type:"CURRENT",name:"Same folder as current note"}],selectedFolderPreset:"Default (Obsidian setting)",filenamePresets:[{name:"Keep original name",customTemplate:"{imagename}",skipRenamePatterns:"",conflictResolution:"increment"},{name:"NoteName-Timestamp",customTemplate:"{notename}-{timestamp}",skipRenamePatterns:"",conflictResolution:"increment"}],selectedFilenamePreset:"Keep original name",outputFormat:"NONE",quality:100,colorDepth:1,pngquantQuality:"65-80",ffmpegExecutablePath:"",ffmpegCrf:23,ffmpegPreset:"medium",resizeMode:"None",desiredWidth:800,desiredHeight:600,desiredLongestEdge:1e3,enlargeOrReduce:"Auto",allowLargerFiles:!1,showPresetModal:{folder:!1,filename:!1},subfolderTemplate:"",conversionPresets:[{name:"None",outputFormat:"NONE",quality:100,colorDepth:1,resizeMode:"None",desiredWidth:800,desiredHeight:600,desiredLongestEdge:1e3,enlargeOrReduce:"Auto",allowLargerFiles:!1,skipConversionPatterns:"",pngquantExecutablePath:"",pngquantQuality:"65-80",ffmpegExecutablePath:"",ffmpegCrf:23,ffmpegPreset:"medium"},{name:"WEBP (75, no resizing)",outputFormat:"WEBP",quality:75,colorDepth:1,resizeMode:"None",desiredWidth:800,desiredHeight:600,desiredLongestEdge:1e3,enlargeOrReduce:"Auto",allowLargerFiles:!1,skipConversionPatterns:"",pngquantExecutablePath:"",pngquantQuality:"65-80",ffmpegExecutablePath:"",ffmpegCrf:23,ffmpegPreset:"medium"},{name:"PNGQUANT (65-80, no resizing)",outputFormat:"PNGQUANT",quality:75,colorDepth:1,resizeMode:"None",desiredWidth:800,desiredHeight:600,desiredLongestEdge:1e3,enlargeOrReduce:"Auto",allowLargerFiles:!1,skipConversionPatterns:"",pngquantExecutablePath:"",pngquantQuality:"65-80",ffmpegExecutablePath:"",ffmpegCrf:23,ffmpegPreset:"medium"}],selectedConversionPreset:"None",globalPresets:[{name:"WebP 75",folderPreset:"Default (Obsidian setting)",filenamePreset:"NoteName-Timestamp",conversionPreset:"WEBP (75, no resizing)",linkFormatPreset:"Default (Wikilink, Shortest)",resizePreset:"Default (No Resize)"}],selectedGlobalPreset:"",linkFormatSettings:new nt,nonDestructiveResizeSettings:new ot,resizeCursorLocation:"none",dropPasteCursorLocation:"back",neverProcessFilenames:"",modalBehavior:"never",singleImageModalSettings:void 0,ProcessCurrentNoteconvertTo:"webp",ProcessCurrentNotequality:.75,ProcessCurrentNoteResizeModalresizeMode:"None",ProcessCurrentNoteresizeModaldesiredWidth:600,ProcessCurrentNoteresizeModaldesiredHeight:800,ProcessCurrentNoteresizeModaldesiredLength:800,ProcessCurrentNoteskipImagesInTargetFormat:!1,ProcessCurrentNoteEnlargeOrReduce:"Always",ProcessCurrentNoteSkipFormats:"tif,tiff,heic",ProcessAllVaultconvertTo:"disabled",ProcessAllVaultquality:.75,ProcessAllVaultResizeModalresizeMode:"None",ProcessAllVaultResizeModaldesiredWidth:500,ProcessAllVaultResizeModaldesiredHeight:500,ProcessAllVaultResizeModaldesiredLength:500,ProcessAllVaultEnlargeOrReduce:"Always",ProcessAllVaultSkipFormats:"",ProcessAllVaultskipImagesInTargetFormat:!1,annotationPresets:{drawing:Array(3).fill({color:"#000000",opacity:1,blendMode:"source-over",size:2}),arrow:Array(3).fill({color:"#000000",opacity:1,blendMode:"source-over",size:8}),text:Array(3).fill({color:"#000000",opacity:1,blendMode:"source-over",size:24,backgroundColor:"transparent",backgroundOpacity:.7})},isImageAlignmentEnabled:!0,imageAlignment_cacheCleanupInterval:36e5,imageAlignment_cacheLocation:"plugin",isDragResizeEnabled:!0,isScrollResizeEnabled:!0,isDragAspectRatioLocked:!1,isResizeInReadingModeEnabled:!1,resizeSensitivity:.1,scrollwheelModifier:"Shift",isImageResizeEnbaled:!0,resizeState:{isResizing:!1},enableContextMenu:!0,showSpaceSavedNotification:!0,revertToOriginalIfLarger:!1,enableImageCaptions:!0,skipCaptionExtensions:"icns",captionFontSize:"var(--font-smaller)",captionColor:"var(--text-gray)",captionFontStyle:"italic",captionBackgroundColor:"transparent",captionPadding:"2px 4px",captionBorderRadius:"0",captionOpacity:"1",captionFontWeight:"normal",captionTextTransform:"none",captionLetterSpacing:"normal",captionBorder:"none",captionMarginTop:"4px",captionAlignment:"center"},ft=class extends f0.PluginSettingTab{constructor(i,e){super(i,e),this.plugin=e,this.presetUIState={folder:{editingPreset:null,newPreset:null},filename:{editingPreset:null,newPreset:null},conversion:{editingPreset:null,newPreset:null},linkformat:{editingPreset:null,newPreset:null},globalPresetVisible:!0,resize:{editingPreset:null,newPreset:null},imageAlignmentSectionCollapsed:!0,imageDragResizeSectionCollapsed:!0,imageCaptionSectionCollapsed:!0}}activeTab="folder";presetUIState;editingPresetKey=null;formContainer;display(){let{containerEl:i}=this;if(i.empty(),i.addClass("image-converter-settings-tab"),this.presetUIState.globalPresetVisible?i.addClass("global-presets-visible"):i.removeClass("global-presets-visible"),this.renderGlobalPresetSelector(),this.renderTabs(),this.initializeFormContainer(),this.presetUIState.globalPresetVisible)switch(this.activeTab){case"folder":this.renderPresetGroup("Folder presets",this.plugin.settings.folderPresets,"selectedFolderPreset",this.presetUIState.folder);break;case"filename":this.renderPresetGroup("Filename presets",this.plugin.settings.filenamePresets,"selectedFilenamePreset",this.presetUIState.filename);break;case"conversion":this.renderPresetGroup("Conversion presets",this.plugin.settings.conversionPresets,"selectedConversionPreset",this.presetUIState.conversion);break;case"linkformat":this.renderPresetGroup("Link format presets",this.plugin.settings.linkFormatSettings.linkFormatPresets,"selectedLinkFormatPreset",this.presetUIState.linkformat);break;case"resize":this.renderPresetGroup("Resize presets",this.plugin.settings.nonDestructiveResizeSettings.resizePresets,"selectedResizePreset",this.presetUIState.resize)}this.editingPresetKey&&this.formContainer&&this.formContainer.addClass("visible"),this.renderImageAlignmentSettingsSection(i),this.renderImageDragResizeSettingsSection(i),this.renderImageCaptionSettingsSection(i),new f0.Setting(i).setName("Right-click menu 🛈").setTooltip("Enable to show a right-click context menu.").addToggle(i=>i.setValue(this.plugin.settings.enableContextMenu).onChange(async i=>{this.plugin.settings.enableContextMenu=i,await this.plugin.saveSettings(),i?new f0.Notice("Context menu enabled. Reload Obsidian to see changes.",5e3):new f0.Notice("Context menu disabled. Reload Obsidian to see changes.",5e3)})),new f0.Setting(i).setName("Cursor position after drop/paste 🛈").setTooltip("Where to place the cursor after dropping or pasting the image").addDropdown(i=>{i.addOption("front","At the front of the link").addOption("back","At the back of the link").setValue(this.plugin.settings.dropPasteCursorLocation).onChange(async i=>{this.plugin.settings.dropPasteCursorLocation=i,await this.plugin.saveSettings()})}),new f0.Setting(i).setName("Never process these filenames 🛈").setTooltip("A comma-separated list of file names or patterns that the plugin should never process. Supports glob (*) and regex (enclosed in `/` or `r/` or `regex:`). E.g., `old.png, /^_/, r/temp-.*\\.jpg$/` . Or simply skip all cat images e.g.: /cat/ or all gif images *.gif").addTextArea(i=>{i.setValue(this.plugin.settings.neverProcessFilenames).onChange(async i=>{this.plugin.settings.neverProcessFilenames=i,await this.plugin.saveSettings()}),i.inputEl.setAttr("spellcheck","false")}),new f0.Setting(i).setName("Show notification for image size changes 🛈").setTooltip("Display a notification showing how much space was saved after processing an image.").addToggle(i=>i.setValue(this.plugin.settings.showSpaceSavedNotification).onChange(async i=>{this.plugin.settings.showSpaceSavedNotification=i,await this.plugin.saveSettings()})),new f0.Setting(i).setName("Show window").setDesc("Choose whether to show processing options on each image drop/paste").addDropdown(i=>{i.addOption("always","Always show").addOption("never","Never show").addOption("ask","Ask each time").setValue(this.plugin.settings.modalBehavior).onChange(async i=>{this.plugin.settings.modalBehavior=i,await this.plugin.saveSettings()})})}initializeFormContainer(){let i=this.containerEl.querySelector(".image-converter-tab-content-wrapper");this.formContainer=this.containerEl.querySelector(".image-converter-form-container"),this.formContainer||(this.formContainer=this.containerEl.createDiv("image-converter-form-container")),i&&!i.contains(this.formContainer)&&i.appendChild(this.formContainer)}renderGlobalPresetSelector(){let{containerEl:i}=this,e=i.createDiv("image-converter-global-preset-container"),r=e.createDiv("image-converter-global-preset-toggle"),t=r.createEl("i");(0,f0.setIcon)(t,"chevron-down"),t.addClass("image-converter-chevron-icon");let n=r.createEl("span",{text:"Drop/paste presets",cls:"settings-section-title"});r.onClickEvent(i=>{i.stopPropagation(),this.presetUIState.globalPresetVisible=!this.presetUIState.globalPresetVisible,this.presetUIState.globalPresetVisible?((0,f0.setIcon)(t,"chevron-down"),n.textContent="Drop/paste presets"):((0,f0.setIcon)(t,"chevron-right"),n.textContent="Drop/paste presets"),this.display()}),new f0.Setting(e).setDesc("Quickly apply a combination of presets").addDropdown(i=>{i.addOption("","None"),this.plugin.settings.globalPresets.forEach(e=>{i.addOption(e.name,e.name)}),i.setValue(this.plugin.settings.selectedGlobalPreset),i.onChange(async i=>{if(this.plugin.settings.selectedGlobalPreset=i,i){let e=this.plugin.settings.globalPresets.find(e=>e.name===i);e&&(this.plugin.settings.selectedFolderPreset=e.folderPreset,this.plugin.settings.selectedFilenamePreset=e.filenamePreset,this.plugin.settings.selectedConversionPreset=e.conversionPreset,this.plugin.settings.linkFormatSettings.selectedLinkFormatPreset=e.linkFormatPreset,this.plugin.settings.nonDestructiveResizeSettings.selectedResizePreset=e.resizePreset)}else this.plugin.settings.selectedFolderPreset=Vi.selectedFolderPreset,this.plugin.settings.selectedFilenamePreset=Vi.selectedFilenamePreset,this.plugin.settings.selectedConversionPreset=Vi.selectedConversionPreset,this.plugin.settings.linkFormatSettings.selectedLinkFormatPreset=Vi.linkFormatSettings.selectedLinkFormatPreset,this.plugin.settings.nonDestructiveResizeSettings.selectedResizePreset=Vi.nonDestructiveResizeSettings.selectedResizePreset;await this.plugin.saveSettings(),this.display()})}),new f0.ButtonComponent(e).setIcon("plus").setTooltip("Save current selection as a new Global Preset").onClick(i=>{i.stopPropagation(),new Vn(this.app,this.plugin,i=>{let e={name:i,folderPreset:this.plugin.settings.selectedFolderPreset,filenamePreset:this.plugin.settings.selectedFilenamePreset,conversionPreset:this.plugin.settings.selectedConversionPreset,linkFormatPreset:this.plugin.settings.linkFormatSettings.selectedLinkFormatPreset,resizePreset:this.plugin.settings.nonDestructiveResizeSettings.selectedResizePreset};this.plugin.settings.globalPresets.push(e),this.plugin.settings.selectedGlobalPreset=i,this.plugin.saveSettings().then(()=>this.display())}).open()}),this.plugin.settings.selectedGlobalPreset&&new f0.ButtonComponent(e).setIcon("trash").setClass("danger").setTooltip("Delete selected Global Preset").onClick(async i=>{i.stopPropagation(),new Qi(this.app,"Confirm Delete",`Are you sure you want to delete the global preset "${this.plugin.settings.selectedGlobalPreset}"?`,"Delete",async()=>{this.plugin.settings.globalPresets=this.plugin.settings.globalPresets.filter(i=>i.name!==this.plugin.settings.selectedGlobalPreset),this.plugin.settings.selectedGlobalPreset="",await this.plugin.saveSettings(),this.display()}).open()})}renderImageAlignmentSettingsSection(i){let e=i.createDiv("image-converter-settings-section");e.addClass("image-alignment-settings-section"),this.plugin.settings.isImageAlignmentEnabled?e.addClass("image-alignment-enabled"):e.removeClass("image-alignment-enabled");let r=e.createDiv("settings-section-header"),t=r.createEl("i");(0,f0.setIcon)(t,"chevron-down"),t.addClass("settings-section-chevron-icon"),r.createEl("span",{text:"Image alignment",cls:"settings-section-title"}),new f0.Setting(r).addToggle(i=>i.setValue(this.plugin.settings.isImageAlignmentEnabled).onChange(async i=>{this.plugin.settings.isImageAlignmentEnabled=i,await this.plugin.saveSettings(),i?new f0.Notice("Image alignment enabled. Reload Obsidian to see changes.",5e3):new f0.Notice("Image alignment disabled. Reload Obsidian to see changes.",5e3),this.display()})).settingEl.addClass("settings-section-toggle-button"),this.presetUIState.imageAlignmentSectionCollapsed&&(e.addClass("settings-section-collapsed"),(0,f0.setIcon)(t,"chevron-right")),r.onClickEvent(i=>{i.stopPropagation(),this.presetUIState.imageAlignmentSectionCollapsed=!this.presetUIState.imageAlignmentSectionCollapsed,e.toggleClass("settings-section-collapsed",this.presetUIState.imageAlignmentSectionCollapsed),this.presetUIState.imageAlignmentSectionCollapsed?(0,f0.setIcon)(t,"chevron-right"):(0,f0.setIcon)(t,"chevron-down")}),this.plugin.settings.isImageAlignmentEnabled&&(new f0.Setting(e).setName("Image alignment cache location 🛈").setDesc("Choose where to store the cache file for image alignments. Note: App reload required.").setTooltip("If you use Obsidian Sync, it is strongly recommended to use the SAME location on all your devices to ensure consistent behavior. Default: .obsidian (syncable).").addDropdown(i=>i.addOptions({".obsidian":"Within .obsidian folder (syncable)",plugin:"Within plugin folder (not syncable)"}).setValue(this.plugin.settings.imageAlignment_cacheLocation).onChange(async i=>{this.plugin.settings.imageAlignment_cacheLocation=i,await this.plugin.saveSettings(),this.plugin.ImageAlignmentManager?.updateCacheFilePath(),this.plugin.ImageAlignmentManager?.loadCache()})),new f0.Setting(e).setName("Image alignment cache cleanup interval").setDesc("Interval (in minutes) to clean up redundant entries from image alignment cache. Default: 1 hour (0 to disable)").addSlider(i=>i.setLimits(0,120,5).setValue(this.plugin.settings.imageAlignment_cacheCleanupInterval/6e4).setDynamicTooltip().onChange(async i=>{let e=i;this.plugin.settings.imageAlignment_cacheCleanupInterval=60*e*1e3,await this.plugin.saveSettings(),this.plugin.ImageAlignmentManager?.scheduleCacheCleanup()})))}renderImageDragResizeSettingsSection(i){let e=i.createDiv("image-converter-settings-section");e.addClass("image-drag-resize-settings-section"),this.plugin.settings.isImageResizeEnbaled?e.addClass("image-drag-resize-enabled"):e.removeClass("image-drag-resize-enabled");let r=e.createDiv("settings-section-header"),t=r.createEl("i");if((0,f0.setIcon)(t,"chevron-down"),t.addClass("settings-section-chevron-icon"),r.createEl("span",{text:"Drag & Scroll resize",cls:"settings-section-title"}),new f0.Setting(r).addToggle(i=>i.setValue(this.plugin.settings.isImageResizeEnbaled).onChange(async i=>{this.plugin.settings.isImageResizeEnbaled=i,await this.plugin.saveSettings(),i?new f0.Notice("Image resizing enabled. Reload Obsidian to see changes.",5e3):new f0.Notice("Image resizing disabled. Reload Obsidian to see changes.",5e3),this.display()})).settingEl.addClass("settings-section-toggle-button"),this.presetUIState.imageDragResizeSectionCollapsed&&(e.addClass("settings-section-collapsed"),(0,f0.setIcon)(t,"chevron-right")),r.onClickEvent(i=>{i.stopPropagation(),this.presetUIState.imageDragResizeSectionCollapsed=!this.presetUIState.imageDragResizeSectionCollapsed,e.toggleClass("settings-section-collapsed",this.presetUIState.imageDragResizeSectionCollapsed),this.presetUIState.imageDragResizeSectionCollapsed?(0,f0.setIcon)(t,"chevron-right"):(0,f0.setIcon)(t,"chevron-down")}),this.plugin.settings.isImageResizeEnbaled){if(new f0.Setting(e).setName("Enable drag resize 🛈").setDesc("Allow resizing images by dragging edges of the image.").setTooltip("This creates a new

under the image to show resizing HANDLES. But this might cause some incompatibility with certain themes and cause images to jump around.").addToggle(i=>i.setValue(this.plugin.settings.isDragResizeEnabled).onChange(async i=>{this.plugin.settings.isDragResizeEnabled=i,await this.plugin.saveSettings(),this.display()})),this.plugin.settings.isDragResizeEnabled){let i=e.createDiv("fix-aspect-ratio-settings");new f0.Setting(i).setName("Lock the aspect ratio when dragging").setDesc("Prevent accidental distortions of image aspect ratio when dragging to resize").addToggle(i=>i.setValue(this.plugin.settings.isDragAspectRatioLocked).onChange(async i=>{this.plugin.settings.isDragAspectRatioLocked=i,await this.plugin.saveSettings()}))}if(new f0.Setting(e).setName("Enable scroll-wheel resize").setDesc("Allow resizing images using the scroll wheel").addToggle(i=>i.setValue(this.plugin.settings.isScrollResizeEnabled).onChange(async i=>{this.plugin.settings.isScrollResizeEnabled=i,await this.plugin.saveSettings(),this.display()})),this.plugin.settings.isScrollResizeEnabled){let i=e.createDiv("scroll-resize-settings");new f0.Setting(i).setName("Scroll-wheel modifier key").setDesc("Key that must be held while using scroll-wheel to resize").addDropdown(i=>i.addOptions({None:"None",Shift:"Shift",Control:"Control",Alt:"Alt",Meta:"Meta"}).setValue(this.plugin.settings.scrollwheelModifier).onChange(async i=>{this.plugin.settings.scrollwheelModifier=i,await this.plugin.saveSettings()})),new f0.Setting(i).setName("Scroll-wheel resize sensitivity").setDesc("Adjust how sensitive the scroll-wheel resize is (0.01-1.0)").addSlider(i=>i.setLimits(.01,1,.01).setValue(this.plugin.settings.resizeSensitivity).setDynamicTooltip().onChange(async i=>{this.plugin.settings.resizeSensitivity=i,await this.plugin.saveSettings()}))}new f0.Setting(e).setName("Cursor position during resize 🛈").setTooltip("Where to place the cursor when resizing an image. Note: 'Don't move cursor' - will try to keep your exisiting cursor in place but if you DRAG-RESIZE and cursor is still over the image when you finish resizing, it will get the text selected.").addDropdown(i=>{i.addOption("front","At the front of the link").addOption("back","At the back of the link").addOption("below","1 line below the image").addOption("none","Don't move cursor").setValue(this.plugin.settings.resizeCursorLocation).onChange(async i=>{this.plugin.settings.resizeCursorLocation=i,await this.plugin.saveSettings()})}),new f0.Setting(e).setName("Allow resizing in Reading mode").setDesc("Non-destructive resizing in Reading Mode is only visual, thus if it is too distractive you can disable it.").addToggle(i=>i.setValue(this.plugin.settings.isResizeInReadingModeEnabled).onChange(async i=>{this.plugin.settings.isResizeInReadingModeEnabled=i,await this.plugin.saveSettings()}))}}renderImageCaptionSettingsSection(i){let e=i.createDiv("image-converter-settings-section");e.addClass("image-caption-settings-section"),this.plugin.settings.enableImageCaptions?e.addClass("image-caption-enabled"):e.removeClass("image-caption-enabled");let r=e.createDiv("settings-section-header"),t=r.createEl("i");(0,f0.setIcon)(t,"chevron-down"),t.addClass("settings-section-chevron-icon"),r.createEl("span",{text:"Captions",cls:"settings-section-title"}),new f0.Setting(r).addToggle(i=>i.setValue(this.plugin.settings.enableImageCaptions).onChange(async i=>{this.plugin.settings.enableImageCaptions=i,await this.plugin.saveSettings(),i?new f0.Notice("Image captions enabled. Reload Obsidian to see changes.",5e3):new f0.Notice("Image captions disabled. Reload Obsidian to see changes.",5e3),this.display()})).settingEl.addClass("settings-section-toggle-button"),this.presetUIState.imageCaptionSectionCollapsed&&(e.addClass("settings-section-collapsed"),(0,f0.setIcon)(t,"chevron-right")),r.onClickEvent(i=>{i.stopPropagation(),this.presetUIState.imageCaptionSectionCollapsed=!this.presetUIState.imageCaptionSectionCollapsed,e.toggleClass("settings-section-collapsed",this.presetUIState.imageCaptionSectionCollapsed),this.presetUIState.imageCaptionSectionCollapsed?(0,f0.setIcon)(t,"chevron-right"):(0,f0.setIcon)(t,"chevron-down")}),this.plugin.settings.enableImageCaptions&&(new f0.Setting(e).setName("Text alignment within caption").addDropdown(i=>i.addOptions({left:"Left",center:"Center",right:"Right"}).setValue(this.plugin.settings.captionAlignment).onChange(async i=>{this.plugin.settings.captionAlignment=i,await this.plugin.saveSettings(),this.plugin.captionManager.applyCaptionStyles()})),new f0.Setting(e).setName("Text transform").setDesc("Set text transformation").addDropdown(i=>i.addOptions({none:"None",uppercase:"UPPERCASE",lowercase:"lowercase",capitalize:"Capitalize"}).setValue(this.plugin.settings.captionTextTransform).onChange(async i=>{this.plugin.settings.captionTextTransform=i,await this.plugin.saveSettings(),this.plugin.captionManager.applyCaptionStyles()})),new f0.Setting(e).setName("Font size").setDesc("Set the font size for image captions (e.g., 12px, 1.2em).").addText(i=>i.setValue(this.plugin.settings.captionFontSize).onChange(async i=>{this.plugin.settings.captionFontSize=i,await this.plugin.saveSettings(),this.plugin.captionManager.applyCaptionStyles()})),new f0.Setting(e).setName("Weight").setDesc("Set font weight (e.g., normal, bold, 600)").addDropdown(i=>i.addOptions({normal:"Normal",bold:"Bold",300:"Light",400:"Regular",500:"Medium",600:"Semi-bold",700:"Bold"}).setValue(this.plugin.settings.captionFontWeight).onChange(async i=>{this.plugin.settings.captionFontWeight=i,await this.plugin.saveSettings(),this.plugin.captionManager.applyCaptionStyles()})),new f0.Setting(e).setName("Color").setDesc("Choose a color for image captions e.g.: red, grey, white, black, hsl(50, 50%, 50%), rgb(50%, 75%, 100%) ").addText(i=>i.setValue(this.plugin.settings.captionColor).onChange(async i=>{this.plugin.settings.captionColor=i,await this.plugin.saveSettings(),this.plugin.captionManager.applyCaptionStyles()})),new f0.Setting(e).setName("Font style").setDesc("Set the font style (e.g., italic, normal).").addDropdown(i=>i.addOptions({italic:"Italic",normal:"Normal"}).setValue(this.plugin.settings.captionFontStyle).onChange(async i=>{this.plugin.settings.captionFontStyle=i,await this.plugin.saveSettings(),this.plugin.captionManager.applyCaptionStyles()})),new f0.Setting(e).setName("Background color").setDesc("Choose a background color for image captions (e.g.: transparent, #f5f5f5, rgba(255,255,255,0.8))").addText(i=>i.setValue(this.plugin.settings.captionBackgroundColor).onChange(async i=>{this.plugin.settings.captionBackgroundColor=i,await this.plugin.saveSettings(),this.plugin.captionManager.applyCaptionStyles()})),new f0.Setting(e).setName("Border").setDesc("Set border style (e.g., 1px solid gray)").addText(i=>i.setValue(this.plugin.settings.captionBorder).onChange(async i=>{this.plugin.settings.captionBorder=i,await this.plugin.saveSettings(),this.plugin.captionManager.applyCaptionStyles()})),new f0.Setting(e).setName("Border corner radius").setDesc("Set border radius for caption (e.g., make it slightly rounded: 4px)").addText(i=>i.setValue(this.plugin.settings.captionBorderRadius).onChange(async i=>{this.plugin.settings.captionBorderRadius=i,await this.plugin.saveSettings(),this.plugin.captionManager.applyCaptionStyles()})),new f0.Setting(e).setName("Space at the top").setDesc("Set space between image and caption (e.g., 4px, 8px)").addText(i=>i.setValue(this.plugin.settings.captionMarginTop).onChange(async i=>{this.plugin.settings.captionMarginTop=i,await this.plugin.saveSettings(),this.plugin.captionManager.applyCaptionStyles()})),new f0.Setting(e).setName("Padding").setDesc("Set padding around caption (e.g., 4px 8px)").addText(i=>i.setValue(this.plugin.settings.captionPadding).onChange(async i=>{this.plugin.settings.captionPadding=i,await this.plugin.saveSettings(),this.plugin.captionManager.applyCaptionStyles()})),new f0.Setting(e).setName("Skip caption extensions").setDesc("Comma-separated list of image extensions to exclude from captions (e.g., png,jpg).").addText(i=>{i.setValue(this.plugin.settings.skipCaptionExtensions).onChange(async i=>{this.plugin.settings.skipCaptionExtensions=i,await this.plugin.saveSettings()}),i.inputEl.setAttr("spellcheck","false")}))}renderTabs(){let{containerEl:i}=this,e=i.querySelector(".image-converter-setting-tabs");e||(e=i.createDiv("image-converter-setting-tabs")),0===e.children.length&&(this.createTab("folder","folder","Folder"),this.createTab("filename","pencil","Filename"),this.createTab("conversion","settings","Conversion"),this.createTab("linkformat","link","Link format"),this.createTab("resize","frame","Resize")),e.querySelectorAll(".image-converter-tab").forEach(i=>i.removeClass("image-converter-tab-active"));let r=e.querySelector(`.image-converter-tab-${this.activeTab}`);r&&r.addClass("image-converter-tab-active")}createTab(i,e,r){let{containerEl:t}=this,n=t.querySelector(".image-converter-setting-tabs");n||(n=t.createDiv("image-converter-setting-tabs"));let f=n.createDiv(`image-converter-tab image-converter-tab-${i}`);(0,f0.setIcon)(f,e),f.createSpan({text:r,cls:"image-converter-tab-label"}),f.onclick=()=>{this.formContainer&&(this.formContainer.removeClass("visible"),this.formContainer.empty()),this.editingPresetKey=null,this.presetUIState[i].editingPreset=null,this.presetUIState[i].newPreset=null,this.activeTab=i,this.display()}}renderPresetGroup(i,e,r,t){let{containerEl:n}=this,f=n.createDiv("image-converter-tab-content-wrapper"),a=f.createDiv("image-converter-preset-group"),o=a.createDiv("image-converter-preset-group-header");o.createEl("h3",{text:i,cls:"image-converter-preset-group-title"});let A=this.getPresetGroupDescription(r);A&&o.createEl("p",{text:A,cls:"image-converter-preset-group-description"});let s=a.createDiv("image-converter-preset-cards");new oo.default(s,{animation:150,handle:".image-converter-preset-card-header",draggable:".image-converter-preset-card",ghostClass:"image-converter-sortable-ghost",onEnd:async i=>{if(void 0!==i.oldIndex&&void 0!==i.newIndex)if("selectedFolderPreset"===r){let e=this.arrayMove(this.plugin.settings.folderPresets,i.oldIndex,i.newIndex);this.plugin.settings.folderPresets=e,await this.plugin.saveSettings(),this.display()}else if("selectedFilenamePreset"===r){let e=this.arrayMove(this.plugin.settings.filenamePresets,i.oldIndex,i.newIndex);this.plugin.settings.filenamePresets=e,await this.plugin.saveSettings(),this.display()}else if("selectedConversionPreset"===r){let e=this.arrayMove(this.plugin.settings.conversionPresets,i.oldIndex,i.newIndex);this.plugin.settings.conversionPresets=e,await this.plugin.saveSettings(),this.display()}else if("selectedLinkFormatPreset"===r){let e=this.arrayMove(this.plugin.settings.linkFormatSettings.linkFormatPresets,i.oldIndex,i.newIndex);this.plugin.settings.linkFormatSettings.linkFormatPresets=e,await this.plugin.saveSettings(),this.display()}else if("selectedResizePreset"===r){let e=this.arrayMove(this.plugin.settings.nonDestructiveResizeSettings.resizePresets,i.oldIndex,i.newIndex);this.plugin.settings.nonDestructiveResizeSettings.resizePresets=e,await this.plugin.saveSettings(),this.display()}}});for(let i of e){let e=t.editingPreset===i,n=i.name===this.getSelectedPresetName(r);this.renderPresetCard(s,i,r,e,n,t)}this.formContainer instanceof Node&&f.appendChild(this.formContainer),t.newPreset?this.renderPresetForm(this.formContainer,t.newPreset,!0,r,t):this.addAddNewPresetCard(s,r,t)}getPresetGroupDescription(i){switch(i){case"selectedFolderPreset":return"Define where converted images will be stored. Choose from predefined locations or create custom paths using variables.";case"selectedFilenamePreset":return"Control how converted images are named. Use variables like {notename}, {timestamp}, {MD5}, {UUID} to create unique filenames.";case"selectedConversionPreset":return"Control the output format, quality, and resizing options for converted images. This allows to significantly reduce file size and keep vault size small.";case"selectedLinkFormatPreset":return"Determine how image links are inserted into notes. Choose between Wikilinks and Markdown links, and specify how the file path should be formatted. This allows to use a different link style for images than your vault's default, offering better cross-compatibility with other applications.";case"selectedResizePreset":return"Configure non-destructive resizing options for images directly within the editor. This allows to adjust the display size without altering the original file.";default:return""}}getPresetKey(i){return"type"in i?`${i.name}-${i.type}`:"linkFormat"in i?`${i.name}-${i.linkFormat}`:`${i.name}`}getTabContentWrapper(){let{containerEl:i}=this;return i.querySelector(".image-converter-tab-content-wrapper")}arrayMove(i,e,r){let t=i.slice(),[n]=t.splice(e,1);return t.splice(r,0,n),t}renderPresetCard(i,e,r,t,n,f){let a=i.createDiv({cls:`image-converter-preset-card ${this.isDefaultPreset(e,r)?"image-converter-default-preset":""} ${n?"image-converter-active-preset":""}`}),o=this.getPresetKey(e),A=this.editingPresetKey===o;if(t||A)return void this.renderPresetForm(this.formContainer,e,!1,r,f);let s=a.createDiv("image-converter-preset-card-header");if(s.createEl("h4",{text:e.name,cls:"image-converter-preset-card-title",title:e.name}),!this.isDefaultPreset(e,r)){let i=s.createDiv("image-converter-preset-card-actions");new f0.ButtonComponent(i).setIcon("pencil").setTooltip("Edit").onClick(()=>{let i=r;e.hasOwnProperty("linkFormat")&&(i="selectedLinkFormatPreset"),f.editingPreset=e,this.showPresetForm(e,!1,i,f)}),new f0.ButtonComponent(i).setIcon("trash").setClass("danger").setTooltip("Delete").onClick(async()=>{new Qi(this.app,"Confirm Delete",`Are you sure you want to delete the preset "${e.name}"?`,"Delete",async()=>{"selectedFolderPreset"===r?(this.plugin.settings.folderPresets=this.plugin.settings.folderPresets.filter(i=>i.name!==e.name),this.plugin.settings.selectedFolderPreset=Vi.selectedFolderPreset):"selectedFilenamePreset"===r?(this.plugin.settings.filenamePresets=this.plugin.settings.filenamePresets.filter(i=>i.name!==e.name),this.plugin.settings.selectedFilenamePreset=Vi.selectedFilenamePreset):"selectedConversionPreset"===r?(this.plugin.settings.conversionPresets=this.plugin.settings.conversionPresets.filter(i=>i.name!==e.name),this.plugin.settings.selectedConversionPreset=Vi.selectedConversionPreset):"selectedLinkFormatPreset"===r?(this.plugin.settings.linkFormatSettings.linkFormatPresets=this.plugin.settings.linkFormatSettings.linkFormatPresets.filter(i=>i.name!==e.name),this.plugin.settings.linkFormatSettings.selectedLinkFormatPreset===e.name&&(this.plugin.settings.linkFormatSettings.selectedLinkFormatPreset=Vi.linkFormatSettings.selectedLinkFormatPreset)):"selectedResizePreset"===r&&(this.plugin.settings.nonDestructiveResizeSettings.resizePresets=this.plugin.settings.nonDestructiveResizeSettings.resizePresets.filter(i=>i.name!==e.name),this.plugin.settings.nonDestructiveResizeSettings.selectedResizePreset===e.name&&(this.plugin.settings.nonDestructiveResizeSettings.selectedResizePreset=Vi.nonDestructiveResizeSettings.selectedResizePreset)),await this.plugin.saveSettings(),this.display()}).open()})}let l=a.createDiv("image-converter-preset-card-body");"selectedFolderPreset"===r?this.generateFolderPresetSummary(l,e):"selectedFilenamePreset"===r?this.generateFilenamePresetSummary(l,e):"selectedLinkFormatPreset"===r?l.createEl("p",{text:this.getLinkFormatPresetSummary(e)}):"selectedResizePreset"===r?l.appendChild(this.getResizePresetSummary(e)):l.appendChild(this.getConversionPresetSummary(e)),a.onClickEvent(async()=>{if(!n){switch(r){case"selectedFolderPreset":this.plugin.settings.selectedFolderPreset=e.name;break;case"selectedFilenamePreset":this.plugin.settings.selectedFilenamePreset=e.name;break;case"selectedConversionPreset":this.plugin.settings.selectedConversionPreset=e.name;break;case"selectedLinkFormatPreset":this.plugin.settings.linkFormatSettings.selectedLinkFormatPreset=e.name;break;case"selectedResizePreset":this.plugin.settings.nonDestructiveResizeSettings.selectedResizePreset=e.name}await this.plugin.saveSettings(),this.display()}})}showAvailableVariables(){new gr(this.app,this.plugin.variableProcessor).open()}showPresetForm(i,e,r,t){this.formContainer||this.initializeFormContainer(),this.formContainer.addClass("visible"),this.editingPresetKey=e?"new":this.getPresetKey(i),this.formContainer.empty(),this.renderPresetForm(this.formContainer,i,e,r,t),this.formContainer.scrollIntoView({behavior:"smooth",block:"start"})}renderPresetForm(i,e,r,t,n){i.empty();let f=!r&&this.isDefaultPreset(e,t),a=i.createDiv("image-converter-preset-form");new f0.Setting(a).setName("Preset name").addText(i=>{i.setValue(e.name).onChange(i=>{e.name=i}),i.inputEl.setAttr("spellcheck","false"),!r&&f&&i.setDisabled(!0)}),"selectedFolderPreset"===t?this.renderFolderPresetFormFields(a,e,f,()=>this.showAvailableVariables()):"selectedFilenamePreset"===t?(this.addCustomTemplateSetting(a,e,()=>this.showAvailableVariables()),this.addSkipPatternsSetting(a,e,"skipRenamePatterns","Skip rename patterns")):"selectedLinkFormatPreset"===t?this.renderLinkFormatFormFields(a,e):"selectedResizePreset"===t?this.renderResizePresetFormFields(a,e):(this.renderConversionPresetFormFields(a,e),this.addSkipPatternsSetting(a,e,"skipConversionPatterns","Skip conversion patterns"));let o=a.createDiv("image-converter-form-buttons");this.addSaveButton(o,e,r,t,n),this.addCancelButton(o,n,r)}addCustomTemplateSetting(i,e,r){let t,n=i.querySelector(".image-converter-form-buttons"),f=i.createDiv("image-converter-custom-template-setting-wrapper"),a=new f0.Setting(f).setName("Custom imagename").setClass("image-converter-custom-template-setting"),o=a.controlEl.createDiv("image-converter-input-button-container");a.addText(i=>(t=i,i.setPlaceholder("e.g., {notename}-{timestamp}").setValue(e.customTemplate||"").onChange(i=>{e.customTemplate=i,l()}),i.inputEl.setAttr("spellcheck","false"),i)),new f0.ButtonComponent(o).setIcon("help-circle").setTooltip("Show available variables").onClick(r);let A=f.createDiv("image-converter-preview-container");A.createEl("div",{text:"Preview:",cls:"image-converter-preview-label"});let s=A.createDiv("image-converter-preview-path"),l=async()=>{if(!t)return;let i=t.getValue();if(i)try{let e=this.app.workspace.getActiveFile(),r=this.app.vault.getFiles().find(i=>i.extension.match(/^(jpg|jpeg|png|gif|webp)$/i));if(!e&&!r)return void s.setText("No file available for preview.");let t=e&&e.extension.match(/^(jpg|jpeg|png|gif|webp)$/i)?e:r,n=await this.plugin.variableProcessor.processTemplate(i,{file:t,activeFile:e});s.setText(n)}catch(i){console.error("Preview generation error:",i),s.setText("Error generating preview")}else s.empty()};l(),new f0.Setting(f).setName("If an output file already exists").setDesc("Choose how to handle filename conflicts").addDropdown(i=>{i.addOptions({reuse:"Reuse existing file in vault (if any)",increment:"Add number suffix (-1, -2, etc.)"}).setValue(e.conflictResolution||"reuse").onChange(i=>{e.conflictResolution=i})}),n?i.insertBefore(f,n):i.appendChild(f)}renderFolderPresetFormFields(i,e,r,t){let n={SUBFOLDER:"In subfolder under current note",CUSTOM:"Custom"},f={DEFAULT:"Default (Obsidian setting)",ROOT:"Root folder",CURRENT:"Same folder as current note",...n};new f0.Setting(i).setName("Location").addDropdown(a=>{a.addOptions(r||!this.presetUIState.folder.newPreset?f:n).setValue(e.type||"DEFAULT").onChange(n=>{e.type=n,this.updateFolderPresetFormFields(i,e,r,t)}),r&&a.setDisabled(!0)}),this.updateFolderPresetFormFields(i,e,r,t)}updateFolderPresetFormFields(i,e,r,t){let n=i.querySelector(".image-converter-subfolder-name-setting-wrapper"),f=i.querySelector(".image-converter-custom-path-setting-wrapper"),a=i.querySelector(".image-converter-form-buttons");if(n?.remove(),f?.remove(),"SUBFOLDER"===e.type){let e,n=i.createDiv("image-converter-subfolder-name-setting-wrapper"),f=new f0.Setting(n).setName("Subfolder name").setDesc("Enter a custom subfolder name or path.").setClass("image-converter-subfolder-name-setting"),o=f.controlEl.createDiv("image-converter-input-button-container");f.addText(i=>{e=i,i.setPlaceholder("e.g., {YYYY}/{MM}/{imagename}").setValue(this.plugin.settings.subfolderTemplate).onChange(async i=>{this.plugin.settings.subfolderTemplate=i,l()}),i.inputEl.setAttr("spellcheck","false"),r&&i.setDisabled(!0)}),new f0.ButtonComponent(o).setIcon("help-circle").setTooltip("Show available variables").onClick(t);let A=n.createDiv("image-converter-preview-container");A.createEl("div",{text:"Preview:",cls:"image-converter-preview-label"});let s=A.createDiv("image-converter-preview-path"),l=async()=>{if(!e)return;let i=e.getValue();if(i)try{let e=this.app.workspace.getActiveFile(),r=this.app.vault.getFiles().find(i=>i.extension.match(/^(jpg|jpeg|png|gif|webp)$/i));if(!e&&!r)return void s.setText("No file available for preview.");let t=e&&e.extension.match(/^(jpg|jpeg|png|gif|webp)$/i)?e:r,n=await this.plugin.variableProcessor.processTemplate(i,{file:t,activeFile:e});s.setText(n)}catch(i){console.error("Preview generation error:",i),s.setText("Error generating preview")}else s.empty()};l(),a?i.insertBefore(n,a):i.appendChild(n)}else if("CUSTOM"===e.type){let n,f=i.createDiv("image-converter-custom-path-setting-wrapper"),o=new f0.Setting(f).setName("Custom path").setDesc("Enter a custom path.").setClass("image-converter-custom-template-setting"),A=o.controlEl.createDiv("image-converter-input-button-container");o.addText(i=>{n=i,i.setPlaceholder("e.g., {YYYY}/{MM}/{imagename}").setValue(e.customTemplate||"").onChange(i=>{e.customTemplate=i,k()}),i.inputEl.setAttr("spellcheck","false"),r&&i.setDisabled(!0)}),new f0.ButtonComponent(A).setIcon("help-circle").setTooltip("Show available variables").onClick(t);let s=f.createDiv("image-converter-preview-container");s.createEl("div",{text:"Preview:",cls:"image-converter-preview-label"});let l=s.createDiv("image-converter-preview-path"),k=async()=>{if(!n)return;let i=n.getValue();if(i)try{let e=this.app.workspace.getActiveFile(),r=this.app.vault.getFiles().find(i=>i.extension.match(/^(jpg|jpeg|png|gif|webp)$/i));if(!e&&!r)return void l.setText("No file available for preview.");let t=e&&e.extension.match(/^(jpg|jpeg|png|gif|webp)$/i)?e:r,n=await this.plugin.variableProcessor.processTemplate(i,{file:t,activeFile:e});l.setText(n)}catch(i){console.error("Preview generation error:",i),l.setText("Error generating preview")}else l.empty()};k(),a?i.insertBefore(f,a):i.appendChild(f)}}renderConversionPresetFormFields(i,e){let r=new f0.Setting(i).setName("Output format").addDropdown(t=>{t.addOptions({WEBP:"WEBP",JPEG:"JPEG",PNG:"PNG",ORIGINAL:"Original (Compress)",NONE:"None (No Conversion/Compression)",PNGQUANT:"pngquant (Compression for PNG only))",AVIF:"AVIF (via ffmpeg)"}).setValue(e.outputFormat).onChange(t=>{e.outputFormat=t,this.updateConversionPresetFormFields(i,e,r)})});this.updateConversionPresetFormFields(i,e,r)}updateConversionPresetFormFields(i,e,r){let t=i.querySelector(".image-converter-quality-setting"),n=i.querySelector(".image-converter-color-depth-setting"),f=i.querySelector(".image-converter-resize-mode-setting"),a=i.querySelector(".image-converter-desired-width-setting"),o=i.querySelector(".image-converter-desired-height-setting"),A=i.querySelector(".image-converter-desired-longest-edge-setting"),s=i.querySelector(".image-converter-enlarge-or-reduce-setting"),l=i.querySelector(".image-converter-revert-to-original"),k=i.querySelector(".image-converter-pngquant-executable-path"),h=i.querySelector(".image-converter-pngquant-quality"),u=i.querySelector(".image-converter-ffmpeg-executable-path"),c=i.querySelector(".image-converter-ffmpeg-crf"),d=i.querySelector(".image-converter-ffmpeg-preset");if(t?.remove(),n?.remove(),f?.remove(),a?.remove(),o?.remove(),A?.remove(),s?.remove(),l?.remove(),k?.remove(),h?.remove(),u?.remove(),c?.remove(),d?.remove(),["WEBP","JPEG","ORIGINAL"].includes(e.outputFormat)){let t=new f0.Setting(i).setName("Quality").setClass("image-converter-quality-setting").addSlider(i=>{i.setLimits(0,100,1).setValue(e.quality).setDynamicTooltip().onChange(async i=>{e.quality=i})});r.settingEl.insertAdjacentElement("afterend",t.settingEl)}if("PNG"===e.outputFormat){let t=new f0.Setting(i).setName("Color depth").setClass("image-converter-color-depth-setting").addSlider(i=>{i.setLimits(0,1,.1).setValue(e.colorDepth).setDynamicTooltip().onChange(async i=>{e.colorDepth=i})}),n=i.querySelector(".image-converter-quality-setting");n?n.insertAdjacentElement("afterend",t.settingEl):r.settingEl.insertAdjacentElement("afterend",t.settingEl)}if("PNGQUANT"===e.outputFormat){let t=new f0.Setting(i).setName("pngquant executable path 🛈").setTooltip("Provide full-path to the binary file. It can be inside vault or anywhere in your file system.").setClass("image-converter-pngquant-executable-path").addText(i=>{i.setValue(e.pngquantExecutablePath||"").onChange(i=>{e.pngquantExecutablePath=i,this.plugin.saveSettings()}),i.inputEl.setAttr("spellcheck","false")});r.settingEl.insertAdjacentElement("afterend",t.settingEl);let n=new f0.Setting(i).setName("pngquant quality range").setDesc("Quality setting for pngquant (e.g., 65-80). Both min-max values must be provided.").setClass("image-converter-pngquant-quality").addText(i=>{i.setValue(e.pngquantQuality||"").onChange(i=>{e.pngquantQuality=i,this.plugin.saveSettings()}),i.inputEl.setAttr("spellcheck","false")});t.settingEl.insertAdjacentElement("afterend",n.settingEl)}if("AVIF"===e.outputFormat){let t=new f0.Setting(i).setName("FFmpeg executable path 🛈").setTooltip("Provide full-path to the binary file. It can be inside vault or anywhere in your file system.").setClass("image-converter-ffmpeg-executable-path").addText(i=>{i.setValue(e.ffmpegExecutablePath||"").onChange(i=>{e.ffmpegExecutablePath=i,this.plugin.saveSettings()}),i.inputEl.setAttr("spellcheck","false")});r.settingEl.insertAdjacentElement("afterend",t.settingEl);let n=new f0.Setting(i).setName("FFmpeg CRF").setDesc("Constant Rate Factor for AVIF (0-63, lower is better quality).").setClass("image-converter-ffmpeg-crf").addText(i=>{i.setValue(e.ffmpegCrf?.toString()||"").onChange(i=>{let r=parseInt(i,10);e.ffmpegCrf=isNaN(r)?void 0:r,this.plugin.saveSettings()}),i.inputEl.setAttr("spellcheck","false")});t.settingEl.insertAdjacentElement("afterend",n.settingEl);let f=new f0.Setting(i).setName("FFmpeg Preset").setDesc("Encoding preset (speed vs. compression)").setClass("image-converter-ffmpeg-preset").addDropdown(i=>{i.addOptions({ultrafast:"ultrafast",superfast:"superfast",veryfast:"veryfast",faster:"faster",fast:"fast",medium:"medium",slow:"slow",slower:"slower",veryslow:"veryslow",placebo:"placebo"}).setValue(e.ffmpegPreset||"medium").onChange(i=>{e.ffmpegPreset=i,this.plugin.saveSettings()})});n.settingEl.insertAdjacentElement("afterend",f.settingEl)}let b=i.querySelector(".image-converter-color-depth-setting")||i.querySelector(".image-converter-quality-setting");b||(b=r.settingEl);let p=new f0.Setting(i).setName("Resize mode").setClass("image-converter-resize-mode-setting").addDropdown(t=>{t.addOptions({None:"None",Fit:"Fit",Fill:"Fill",LongestEdge:"Longest Edge",ShortestEdge:"Shortest Edge",Width:"Width",Height:"Height"}).setValue(e.resizeMode).onChange(t=>{e.resizeMode=t,this.updateConversionPresetFormFields(i,e,r)})});if(b&&b.insertAdjacentElement("afterend",p.settingEl),b=p.settingEl,["Fit","Fill","Width"].includes(e.resizeMode)){let r=new f0.Setting(i).setName("Desired width").setClass("image-converter-desired-width-setting").addText(i=>{i.setValue(e.desiredWidth.toString()).onChange(i=>{e.desiredWidth=parseInt(i,10)}),i.inputEl.setAttr("spellcheck","false")});b.insertAdjacentElement("afterend",r.settingEl),b=r.settingEl}if(["Fit","Fill","Height"].includes(e.resizeMode)){let r=new f0.Setting(i).setName("Desired height").setClass("image-converter-desired-height-setting").addText(i=>{i.setValue(e.desiredHeight.toString()).onChange(i=>{e.desiredHeight=parseInt(i,10)}),i.inputEl.setAttr("spellcheck","false")});b.insertAdjacentElement("afterend",r.settingEl),b=r.settingEl}if(["LongestEdge","ShortestEdge"].includes(e.resizeMode)){i.querySelector(".image-converter-desired-longest-edge-setting, .image-converter-desired-shortest-edge-setting")?.remove();let r=new f0.Setting(i).setName("LongestEdge"===e.resizeMode?"Desired longest edge":"Desired shortest edge").setClass("LongestEdge"===e.resizeMode?"image-converter-desired-longest-edge-setting":"image-converter-desired-shortest-edge-setting").addText(i=>{i.setValue(e.desiredLongestEdge.toString()).onChange(i=>{e.desiredLongestEdge=parseInt(i,10)}),i.inputEl.setAttr("spellcheck","false")});b.insertAdjacentElement("afterend",r.settingEl),b=r.settingEl}if("None"!==e.resizeMode){let r=new f0.Setting(i).setName("Scale mode").setClass("image-converter-enlarge-or-reduce-setting").addDropdown(i=>{i.addOptions({Auto:"Auto",Reduce:"Only Reduce",Enlarge:"Only Enlarge"}).setValue(e.enlargeOrReduce).onChange(i=>{e.enlargeOrReduce=i})});b.insertAdjacentElement("afterend",r.settingEl),b=r.settingEl}let g=new f0.Setting(i).setName("Revert to original if larger").setClass("image-converter-revert-to-original").setDesc("If the processed image filesize is larger than the original, use the original image instead.").addToggle(i=>i.setValue(this.plugin.settings.revertToOriginalIfLarger).onChange(async i=>{this.plugin.settings.revertToOriginalIfLarger=i,await this.plugin.saveSettings()}));b.insertAdjacentElement("afterend",g.settingEl),b=g.settingEl}renderLinkFormatSettings(){let{containerEl:i}=this;i.createDiv("image-converter-tab-content-wrapper"),this.renderPresetGroup("Link format presets",this.plugin.settings.linkFormatSettings.linkFormatPresets,"selectedLinkFormatPreset",this.presetUIState.linkformat)}renderLinkFormatFormFields(i,e){new f0.Setting(i).setName("Link format").setDesc("Choose between Wikilink and Markdown format").addDropdown(r=>{r.addOptions({wikilink:"Wikilink",markdown:"Markdown"}).setValue(e.linkFormat).onChange(r=>{e.linkFormat=r,this.updateExamples(i,e)})}),new f0.Setting(i).setName("Path format").setDesc("Choose how paths should be formatted").addDropdown(r=>{r.addOptions({shortest:"Shortest",relative:"Relative",absolute:"Absolute"}).setValue(e.pathFormat).onChange(r=>{e.pathFormat=r,this.updateExamples(i,e)})});let r=i.createEl("details",{cls:"image-converter-format-examples-section"});r.createEl("summary",{text:"Examples"}),r.createEl("div",{cls:"image-converter-format-examples-content"}),this.updateExamples(i,e)}updateExamples(i,e){let r=i.querySelector(".image-converter-format-examples-section");if(!r)return;let t=r.querySelector(".image-converter-format-examples-content");t.empty();let n=t.createEl("table",{cls:"image-converter-format-examples-table"}),f=i=>{let{linkFormat:r}=e;switch(i){case"shortest":return"wikilink"===r?"![[image.jpg]]":"![](image.jpg)";case"relative":return"wikilink"===r?"![[./subfolder/image.jpg]]":"![](./subfolder/image.jpg)";case"absolute":return"wikilink"===r?"![[/subfolder/image.jpg]]":"![](/subfolder/image.jpg)";default:return""}};[["Shortest","Uses just the file name without any path:\n
    \n
  • Wikilink: ![[image.jpg]]
  • \n
  • Markdown: ![](image.jpg)
  • \n
",f("shortest")],["Relative","Uses the path relative to the current note:\n
    \n
  • Same folder: starts with ./ (e.g., ./image.jpg)
  • \n
  • Parent folder: starts with ../ (e.g., ../image.jpg)
  • \n
  • Subfolder: includes folder path (e.g., ./subfolder/image.jpg)
  • \n
",f("relative")],["Absolute","Uses the complete path from your vault root, always starting with /. \n This ensures the link works from any note in your vault, regardless of its location.",f("absolute")]].forEach(([i,e,r])=>{let t=n.createEl("tr");t.createEl("td",{cls:"image-converter-format-label",text:i}),t.createEl("td",{cls:"image-converter-format-description"}).innerHTML=e,t.createEl("td",{cls:"image-converter-format-example",text:r})});let a=t.createEl("div",{cls:"image-converter-format-scenario"}),o=a.createEl("div",{cls:"image-converter-format-paths"});o.createEl("div",{cls:"image-converter-path-label"}).setText("📄 Note location:"),o.createEl("div",{cls:"image-converter-path-value"}).setText("/Folder/Subfolder1/note.md"),o.createEl("div",{cls:"image-converter-path-label"}).setText("🖼️ Image location:"),o.createEl("div",{cls:"image-converter-path-value"}).setText("/Folder/Subfolder2/image.jpg");let A=a.createEl("div",{cls:"image-converter-format-result"});A.createEl("div",{cls:"image-converter-result-label"}).setText("→ Path becomes:");let s=A.createEl("div",{cls:"image-converter-result-value"});(()=>{let{linkFormat:i}=e;s.empty();let r=s.createEl("table"),t=(i,e)=>{let t=r.createEl("tr");t.createEl("td",{text:i,cls:"format-label"}),t.createEl("td",{text:e,cls:"format-value"})};"wikilink"===i?(t("Shortest:","![[Bäume.jpg]]"),t("Relative:","![[../Subfolder2/Bäume.jpg]]"),t("Absolute:","![[/Folder/Subfolder2/Bäume.jpg]]")):(t("Shortest:","![](Bäume.jpg)"),t("Relative:","![](../Subfolder2/Bäume.jpg)"),t("Absolute:","![](/Folder/Subfolder2/Bäume.jpg)"))})()}isDefaultPreset(i,e){return{selectedFolderPreset:["Default (Obsidian setting)","Root folder","Same folder as current note"],selectedFilenamePreset:["Keep original name","NoteName-Timestamp"],selectedConversionPreset:["None","WEBP (75, no resizing)"],selectedLinkFormatPreset:["Default (Wikilink, Shortest)","Markdown, Relative"],selectedResizePreset:["Default (No Resize)"]}[e]?.includes(i.name)}addAddNewPresetCard(i,e,r){let t=i.createDiv({cls:"image-converter-preset-card image-converter-add-new-preset"});t.createEl("div",{text:"+ Add New",cls:"image-converter-add-new-preset-text"}),t.onClickEvent(()=>{"selectedFolderPreset"===e?r.newPreset={name:"",type:"SUBFOLDER"}:"selectedFilenamePreset"===e?r.newPreset={name:"",customTemplate:"",skipRenamePatterns:""}:"selectedLinkFormatPreset"===e?r.newPreset={name:"",linkFormat:"wikilink",pathFormat:"shortest"}:"selectedConversionPreset"===e?r.newPreset={name:"",outputFormat:"NONE",quality:100,colorDepth:1,resizeMode:"None",desiredWidth:800,desiredHeight:600,desiredLongestEdge:1e3,enlargeOrReduce:"Auto",allowLargerFiles:!1,skipConversionPatterns:"",ffmpegExecutablePath:"",ffmpegCrf:23,ffmpegPreset:"medium"}:"selectedResizePreset"===e&&(r.newPreset={name:"",resizeDimension:"none"}),null!==r.newPreset?(this.formContainer||this.initializeFormContainer(),this.showPresetForm(r.newPreset,!0,e,r)):console.error("Error: newPreset is null.")})}async generateFolderPresetSummary(i,e){i.empty();let r=document.createDocumentFragment(),t=i=>{r.createEl("p",{text:i})},n=async i=>{let e=r.createEl("p",{cls:"image-converter-summary-example"});e.textContent="Example: Loading...";try{let r=this.app.workspace.getActiveFile(),t=this.app.vault.getFiles().find(i=>i.extension.match(/^(jpg|jpeg|png|gif|webp)$/i));if(!r&&!t)return void(e.textContent="Example: No file available for preview.");let n=r&&r.extension.match(/^(jpg|jpeg|png|gif|webp)$/i)?r:t,f=await this.plugin.variableProcessor.processTemplate(i,{file:n,activeFile:r});e.textContent=`Example: ${f}`}catch(i){console.error("Preview generation error:",i),e.textContent="Example: Error generating preview"}};switch(e.type){case"DEFAULT":t("Default (Using Obsidian's configured setting for attachments)"),n("Assets/{notename}/{imagename}");break;case"ROOT":t("Root folder of the vault (Top-level folder)."),n("{imagename}");break;case"CURRENT":t("Same folder as the note you're currently editing."),n("{notepath}/{imagename}");break;case"SUBFOLDER":t(`In subfolder: ${this.plugin.settings.subfolderTemplate}`),n(this.plugin.settings.subfolderTemplate);break;case"CUSTOM":t(`Custom location: ${e.customTemplate}`),n(e.customTemplate||"");break;default:t("Unknown location")}i.appendChild(r)}async generateFilenamePresetSummary(i,e){i.empty();let r=document.createDocumentFragment(),t=i=>{r.createEl("p",{text:i})};(async i=>{let e=r.createEl("p",{cls:"image-converter-summary-example"});e.textContent="Example: Loading...";try{let r=this.app.workspace.getActiveFile(),t=this.app.vault.getFiles().find(i=>i.extension.match(/^(jpg|jpeg|png|gif|webp)$/i));if(!r&&!t)return void(e.textContent="Example: No file available for preview.");let n=r&&r.extension.match(/^(jpg|jpeg|png|gif|webp)$/i)?r:t,f=await this.plugin.variableProcessor.processTemplate(i,{file:n,activeFile:r});e.textContent=`Example: ${f}`}catch(i){console.error("Preview generation error:",i),e.textContent="Example: Error generating preview"}})(e.customTemplate||"{imagename}"),e.skipRenamePatterns&&t(`Skip rename patterns: ${e.skipRenamePatterns}`),e.conflictResolution&&t(`If an output file already exists: ${e.conflictResolution}`),i.appendChild(r)}getLinkFormatPresetSummary(i){return`Link Type: ${i.linkFormat}, Path Type: ${i.pathFormat}`}getConversionPresetSummary(i){let e=document.createDocumentFragment(),r=i=>{e.createEl("p",{text:i})};if(r(`Format: ${i.outputFormat}`),"NONE"!==i.outputFormat){switch(r(`Quality: ${i.quality}`),"PNG"===i.outputFormat&&r(`Color Depth: ${i.colorDepth}`),"AVIF"===i.outputFormat&&(r(`FFmpeg CRF: ${i.ffmpegCrf}`),r(`FFmpeg Preset: ${i.ffmpegPreset}`)),r(`Resize: ${i.resizeMode}`),i.resizeMode){case"Fit":case"Fill":r(`(${i.desiredWidth}x${i.desiredHeight})`);break;case"Width":r(`(Width: ${i.desiredWidth})`);break;case"Height":r(`(Height: ${i.desiredHeight})`);break;case"LongestEdge":r(`(Longest Edge: ${i.desiredLongestEdge})`);break;case"ShortestEdge":r(`(Shortest Edge: ${i.desiredLongestEdge})`)}"None"!==i.resizeMode&&r(`Enlarge/Reduce: ${i.enlargeOrReduce}`),r("Allow Larger Files: "+(i.allowLargerFiles?"Yes":"No"))}return i.skipConversionPatterns&&r(`Skip Patterns: ${i.skipConversionPatterns}`),e}addSkipPatternsSetting(i,e,r,t){new f0.Setting(i).setName(t).setDesc("Comma-separated list of patterns to skip (glob or regex). Regex patterns must be enclosed in `/` or `r/` or `regex:` E.g. do not proecss images which include word CAT in them /CAT/").setTooltip("Supports multiple pattern types:\n\n1. Glob patterns:\n *.png, draft-*, test-?.jpg\n * = any characters\n ? = single character\n\n2. Regular expressions:\n /pattern/ or r/pattern/ or regex:pattern\n\nExamples:\n *.png (all PNG files)\n draft-* (files starting with draft-)\n /^IMG_\\d{4}\\./ (IMG_ followed by 4 digits)\n r/\\.(jpe?g|png)$/ (files ending in .jpg/.jpeg/.png)\n regex:^(draft|temp)- (files starting with draft- or temp-)").addTextArea(i=>{i.setPlaceholder("e.g., *.png, draft-*, /^IMG_\\d{4}\\./)").setValue(e[r]).onChange(async i=>{e[r]=i.trim()?i:""}),i.inputEl.setAttr("spellcheck","false")})}getResizePresetSummary(i){let e=document.createDocumentFragment(),r=i=>{let r=document.createElement("p");r.textContent=i,e.appendChild(r)},t=`${i.width}${"percentage"===i.resizeUnits?"%":"px"}`,n=`${i.height}${"percentage"===i.resizeUnits?"%":"px"}`,{customValue:f}=i,a=`${i.longestEdge}${"percentage"===i.resizeUnits?"%":"px"}`,o=`${i.shortestEdge}${"percentage"===i.resizeUnits?"%":"px"}`,A=`${i.editorMaxWidthValue}${"percentage"===i.resizeUnits?"%":"px"}`,s=i.resizeScaleMode,l=i.respectEditorMaxWidth?"Yes":"No",k=i.maintainAspectRatio?"Yes":"No";switch(i.resizeDimension){case"none":r("No resizing");break;case"width":r(`Width: ${t}`),r(`Scale Mode: ${s}`),r(`Respect Editor Max Width: ${l}`),r(`Maintain Aspect Ratio: ${k}`);break;case"height":r(`Height: ${n}`),r(`Scale Mode: ${s}`),r(`Respect Editor Max Width: ${l}`),r(`Maintain Aspect Ratio: ${k}`);break;case"both":r(`Custom: ${f}`),r(`Scale Mode: ${s}`),r(`Respect Editor Max Width: ${l}`),r(`Maintain Aspect Ratio: ${k}`);break;case"longest-edge":r(`Longest Edge: ${a}`),r(`Scale Mode: ${s}`),r(`Respect Editor Max Width: ${l}`),r(`Maintain Aspect Ratio: ${k}`);break;case"shortest-edge":r(`Shortest Edge: ${o}`),r(`Scale Mode: ${s}`),r(`Respect Editor Max Width: ${l}`),r(`Maintain Aspect Ratio: ${k}`);break;case"original-width":r("Original Width"),r(`Scale Mode: ${s}`),r(`Respect Editor Max Width: ${l}`);break;case"original-height":r("Original Height"),r(`Scale Mode: ${s}`),r(`Respect Editor Max Width: ${l}`);break;case"editor-max-width":r(`Editor Max Width: ${A}`),r(`Scale Mode: ${s}`),r(`Respect Editor Max Width: ${l}`)}return e}renderResizePresetFormFields(i,e){new f0.Setting(i).setName("Resize dimension").setDesc("Choose how to resize the image").addDropdown(r=>{r.addOptions({none:"None",width:"Width",height:"Height",both:"WidthxHeight (Custom)","longest-edge":"Longest edge","shortest-edge":"Shortest edge","original-width":"Apply original image width","original-height":"Apply original image height","editor-max-width":"Fit editor max-width"}).setValue(e.resizeDimension).onChange(r=>{e.resizeDimension=r,this.updateResizePresetFormFields(i,e)})}),this.updateResizePresetFormFields(i,e)}updateResizePresetFormFields(i,e){i.querySelectorAll(".image-converter-resize-width-setting, .image-converter-resize-height-setting, .image-converter-resize-custom-setting, .image-converter-resize-scale-mode-setting, .image-converter-resize-respect-width-setting, .image-converter-resize-units-setting, .image-converter-maintain-aspect-ratio-setting, .image-converter-resize-longest-edge-setting, .image-converter-resize-shortest-edge-setting, .image-converter-resize-editor-max-width-value-setting").forEach(i=>i.remove());let r,t,n,f=i.querySelector(".image-converter-form-buttons"),a=(r,t,n,a,o=!1)=>{let A=new f0.Setting(i).setName(r).setClass(t).addText(i=>{i.setValue(n?.toString()||"").onChange(a),i.setPlaceholder("percentage"===e.resizeUnits?`${r} (%)`:`${r} (px)`)});return o&&A.addDropdown(i=>{i.addOptions({pixels:"px",percentage:"%"}).setValue(e.resizeUnits).onChange(i=>{e.resizeUnits=i,A.components[0].setPlaceholder("percentage"===i?`${r} (%)`:`${r} (px)`)}),i.selectEl.addClass("image-converter-resize-units-dropdown")}),f&&i.insertBefore(A.settingEl,f),A};switch(e.resizeDimension){case"width":a("Width","image-converter-resize-width-setting",e.width,i=>{let r=parseFloat(i);e.width=isNaN(r)?void 0:r},!0).setDesc("Set new custom width");break;case"height":a("Height","image-converter-resize-height-setting",e.height,i=>{let r=parseFloat(i);e.height=isNaN(r)?void 0:r},!0).setDesc("Set new custom height");break;case"longest-edge":a("Longest edge","image-converter-resize-longest-edge-setting",e.longestEdge,i=>{let r=parseFloat(i);e.longestEdge=isNaN(r)?void 0:r},!0).setDesc("Plugin automatically reads the original image dimensions and applies the provided value to the longer of the width or height. The other dimension is then calculated automatically if 'Maintain aspect ratio' is enabled.");break;case"shortest-edge":a("Shortest edge","image-converter-resize-shortest-edge-setting",e.shortestEdge,i=>{let r=parseFloat(i);e.shortestEdge=isNaN(r)?void 0:r},!0).setDesc("Plugin automatically reads the original image dimensions and applies the provided value to the shorter of the width or height. The other dimension is then calculated automatically if 'Maintain aspect ratio' is enabled.");break;case"both":r=new f0.Setting(i).setName("Custom value").setClass("image-converter-resize-custom-setting").addText(i=>{i.setValue(e.customValue||"").onChange(i=>{/^\|?\d*(?:\.\d+)?(?:x\d*(?:\.\d+)?)?%?$/.test(i)||"percentage"===e.resizeUnits&&/^\d*(?:\.\d+)?x\d*(?:\.\d+)?%$/.test(i)?e.customValue=i:new f0.Notice("Invalid custom value format. Use |widthxheight or percentage format (e.g., 50x75%).")}),i.setPlaceholder("percentage"===e.resizeUnits?"e.g. 50x75":"widthxheight")}).setDesc("Set both width and height using the format |widthxheight (e.g., 300x200) or percentage format (e.g., 50x75). This does not preserve Aspect Ratio."),f&&i.insertBefore(r.settingEl,f);break;case"editor-max-width":t=new f0.Setting(i).setName("Max width value").setClass("image-converter-resize-editor-max-width-value-setting").addText(i=>{i.setValue(e.editorMaxWidthValue?.toString()||"").onChange(i=>{let r=parseFloat(i);e.editorMaxWidthValue=isNaN(r)?void 0:r}),i.setPlaceholder("percentage"===e.resizeUnits?"e.g. 50%":"e.g. 200px")}).addDropdown(i=>{i.addOptions({pixels:"px",percentage:"%"}).setValue(e.resizeUnits).onChange(i=>{e.resizeUnits=i,t?.components[0]?.setPlaceholder("percentage"===i?"e.g. 50%":"e.g. 200px")}),i.selectEl.addClass("image-converter-resize-units-dropdown")}).setDesc("Set the maximum width of the image to fit within the editor's width. You can specify a percentage or a fixed pixel value."),f&&i.insertBefore(t.settingEl,f)}if("none"!==e.resizeDimension&&"both"!==e.resizeDimension&&(n=new f0.Setting(i).setName("Maintain aspect ratio").setClass("image-converter-maintain-aspect-ratio-setting").setDesc("Preserve the image's original proportions when resizing.").addToggle(i=>{i.setValue(e.maintainAspectRatio).onChange(i=>{e.maintainAspectRatio=i})}),f&&i.insertBefore(n.settingEl,f)),"original-width"===e.resizeDimension||"original-height"===e.resizeDimension||"editor-max-width"===e.resizeDimension?n?.settingEl.hide():n?.settingEl.show(),"editor-max-width"!==e.resizeDimension&&t?.settingEl.hide(),"none"!==e.resizeDimension&&"original-width"!==e.resizeDimension&&"original-height"!==e.resizeDimension&&"editor-max-width"!==e.resizeDimension){let r=new f0.Setting(i).setName("Scale mode").setClass("image-converter-resize-scale-mode-setting").setDesc("Controls how images are adjusted relative to target size:\n- Auto: Adjusts image to fit specified dimensions\n- Reduce Only: Only shrinks images larger than target\n- Enlarge Only: Only enlarges images smaller than target").addDropdown(i=>{i.addOptions({auto:"Auto",reduce:"Reduce Only",enlarge:"Enlarge Only"}).setValue(e.resizeScaleMode).onChange(i=>{e.resizeScaleMode=i})});f&&i.insertBefore(r.settingEl,f)}if("editor-max-width"!==e.resizeDimension&&"none"!==e.resizeDimension){let r=new f0.Setting(i).setName("Respect editor max width").setClass("image-converter-resize-respect-width-setting").setDesc("When calculating dimensions, prevent the image from exceeding the editor's width.").addToggle(i=>{i.setValue(e.respectEditorMaxWidth).onChange(i=>{e.respectEditorMaxWidth=i})});f&&i.insertBefore(r.settingEl,f)}}getSelectedPresetName(i){switch(i){case"selectedFolderPreset":return this.plugin.settings.selectedFolderPreset;case"selectedFilenamePreset":return this.plugin.settings.selectedFilenamePreset;case"selectedConversionPreset":return this.plugin.settings.selectedConversionPreset;case"selectedLinkFormatPreset":return this.plugin.settings.linkFormatSettings.selectedLinkFormatPreset;case"selectedResizePreset":return this.plugin.settings.nonDestructiveResizeSettings.selectedResizePreset;default:return}}addSaveButton(i,e,r,t,n){new f0.ButtonComponent(i).setButtonText(r?"Add":"Save").setCta().onClick(async()=>{e.name?this.isDefaultPreset(e,t)||!("selectedFolderPreset"===t&&this.plugin.settings.folderPresets.some(i=>i.name===e.name&&i!==e)||"selectedFilenamePreset"===t&&this.plugin.settings.filenamePresets.some(i=>i.name===e.name&&i!==e)||"selectedConversionPreset"===t&&this.plugin.settings.conversionPresets.some(i=>i.name===e.name&&i!==e)||"selectedLinkFormatPreset"===t&&this.plugin.settings.linkFormatSettings.linkFormatPresets.some(i=>i.name===e.name&&i!==e)||"selectedResizePreset"===t&&this.plugin.settings.nonDestructiveResizeSettings.resizePresets.some(i=>i.name===e.name&&i!==e))?(r&&("selectedFolderPreset"===t?this.plugin.settings.folderPresets.push(e):"selectedFilenamePreset"===t?this.plugin.settings.filenamePresets.push(e):"selectedConversionPreset"===t?this.plugin.settings.conversionPresets.push(e):"selectedLinkFormatPreset"===t?this.plugin.settings.linkFormatSettings.linkFormatPresets.push(e):"selectedResizePreset"===t&&this.plugin.settings.nonDestructiveResizeSettings.resizePresets.push(e)),await this.plugin.saveSettings(),n.editingPreset=null,n.newPreset=null,this.editingPresetKey=null,this.display()):new f0.Notice("A preset with this name already exists."):new f0.Notice("Preset name cannot be empty.")})}addCancelButton(i,e,r){new f0.ButtonComponent(i).setButtonText("Cancel").onClick(()=>{e.editingPreset=null,e.newPreset=null,this.editingPresetKey=null,this.formContainer.removeClass("visible"),this.display()})}onClose(){this.formContainer&&(this.formContainer.removeClass("visible"),this.formContainer.empty()),this.editingPresetKey=null,this.presetUIState={folder:{editingPreset:null,newPreset:null},filename:{editingPreset:null,newPreset:null},conversion:{editingPreset:null,newPreset:null},linkformat:{editingPreset:null,newPreset:null},resize:{editingPreset:null,newPreset:null},globalPresetVisible:!0,imageAlignmentSectionCollapsed:!1,imageDragResizeSectionCollapsed:!1,imageCaptionSectionCollapsed:!1}}},Qi=class extends f0.Modal{message;confirmText;callback;constructor(i,e,r,t,n){super(i),this.titleEl.setText(e),this.message=r,this.confirmText=t,this.callback=n}onOpen(){let{contentEl:i}=this;"string"==typeof this.message?i.setText(this.message):(i.empty(),i.appendChild(this.message));let e=i.createDiv("image-converter-confirm-modal-buttons");new f0.ButtonComponent(e).setButtonText("Cancel").onClick(()=>this.close()),new f0.ButtonComponent(e).setButtonText(this.confirmText).setCta().onClick(()=>{this.close(),this.callback()})}onClose(){let{contentEl:i}=this;i.empty()}},Vn=class extends f0.Modal{plugin;callback;presetName="";constructor(i,e,r){super(i),this.plugin=e,this.callback=r}onOpen(){let{contentEl:i}=this;i.createEl("h2",{text:"Save global preset"}),new f0.Setting(i).setName("Preset Name").addText(i=>{i.setPlaceholder("Enter preset name").setValue(this.presetName).onChange(i=>{this.presetName=i})});let e=i.createEl("div",{cls:"image-converter-preset-summary"});this.updateSummary(e),new f0.Setting(i).addButton(i=>i.setButtonText("Save").setCta().onClick(()=>{this.presetName?(this.callback(this.presetName),this.close()):new f0.Notice("Please enter a preset name.")})).addButton(i=>i.setButtonText("Cancel").onClick(()=>{this.close()}))}updateSummary(i){i.empty(),i.createEl("h4",{text:"Summary"});let e=this.plugin.settings.folderPresets.find(i=>i.name===this.plugin.settings.selectedFolderPreset),r=this.plugin.settings.filenamePresets.find(i=>i.name===this.plugin.settings.selectedFilenamePreset),t=this.plugin.settings.conversionPresets.find(i=>i.name===this.plugin.settings.selectedConversionPreset),n=this.plugin.settings.linkFormatSettings.linkFormatPresets.find(i=>i.name===this.plugin.settings.linkFormatSettings.selectedLinkFormatPreset),f=this.plugin.settings.nonDestructiveResizeSettings.resizePresets.find(i=>i.name===this.plugin.settings.nonDestructiveResizeSettings.selectedResizePreset),a=document.createDocumentFragment(),o=(i,e,r=!1)=>{let t=document.createElement("div");return t.classList.add("summary-item"),t.createEl("span",{text:`${i}: `,cls:"summary-label"}),t.createEl("span",{text:null!=e?e.toString():"None",cls:r?"summary-value-bold":"summary-value"}),t},A=(i,e)=>{if(e){let r=document.createElement("div");switch(r.classList.add("summary-section"),r.appendChild((i=>{let e=document.createElement("div");return e.classList.add("summary-section-title"),e.textContent=i,e})(`${i} Preset: ${e.name}`)),i){case"Folder":r.appendChild(o("Type",e.type)),"SUBFOLDER"===e.type?r.appendChild(o("Subfolder template",this.plugin.settings.subfolderTemplate)):"CUSTOM"===e.type&&r.appendChild(o("Custom template",e.customTemplate));break;case"Filename":r.appendChild(o("Template",e.customTemplate));break;case"Conversion":if(r.appendChild(o("Output format",e.outputFormat)),"NONE"!==e.outputFormat){switch(r.appendChild(o("Quality",e.quality)),"PNG"===e.outputFormat&&r.appendChild(o("Color depth",e.colorDepth)),r.appendChild(o("Resize mode",e.resizeMode)),e.resizeMode){case"Fit":case"Fill":r.appendChild(o("Dimensions",`${e.desiredWidth}x${e.desiredHeight}`));break;case"Width":r.appendChild(o("Width",e.desiredWidth));break;case"Height":r.appendChild(o("Height",e.desiredHeight));break;case"LongestEdge":case"ShortestEdge":r.appendChild(o("Edge",e.desiredLongestEdge))}"None"!==e.resizeMode&&r.appendChild(o("Scale",e.enlargeOrReduce)),r.appendChild(o("Allow larger files",e.allowLargerFiles?"Yes":"No")),r.appendChild(o("Skip patterns",e.skipConversionPatterns))}break;case"Link format":r.appendChild(o("Link type",e.linkFormat)),r.appendChild(o("Path format",e.pathFormat));break;case"Resize":if(f){let i="";switch(f.resizeDimension){case"width":i=`Width: ${f.width}${"percentage"===f.resizeUnits?"%":"px"}`;break;case"height":i=`Height: ${f.height}${"percentage"===f.resizeUnits?"%":"px"}`;break;case"both":i=`Custom: ${f.customValue}`;break;case"longest-edge":i=`Longest edge: ${f.longestEdge}${"percentage"===f.resizeUnits?"%":"px"}`;break;case"shortest-edge":i=`Shortest edge: ${f.shortestEdge}${"percentage"===f.resizeUnits?"%":"px"}`;break;case"original-width":i="Original width";break;case"original-height":i="Original height";break;case"editor-max-width":i=`Editor max width: ${f.editorMaxWidthValue}${"percentage"===f.resizeUnits?"%":"px"}`;break;case"none":i="No resizing"}r.appendChild(o("Dimension",i)),"none"!==f.resizeDimension&&(r.appendChild(o("Scale mode",f.resizeScaleMode)),r.appendChild(o("Respect editor max width",f.respectEditorMaxWidth?"Yes":"No")),"original-width"!==f.resizeDimension&&"original-height"!==f.resizeDimension&&"editor-max-width"!==f.resizeDimension&&r.appendChild(o("Maintain aspect ratio",f.maintainAspectRatio?"Yes":"No")))}}a.appendChild(r)}};A("Folder",e),A("Filename",r),A("Conversion",t),A("Link format",n),A("Resize",f),i.appendChild(a)}onClose(){let{contentEl:i}=this;i.empty()}},gr=class extends f0.Modal{variableProcessor;modalClass="image-converter-available-variables-modal";searchInput;categorizedVariables;contentContainer;constructor(i,e){super(i),this.variableProcessor=e}onOpen(){this.modalEl.addClass(this.modalClass);let{contentEl:i}=this;i.createEl("h2",{text:"Available variables"});let e=i.createEl("div",{cls:"variable-search-container"});this.searchInput=e.createEl("input",{type:"text",placeholder:"Search variables...",cls:"variable-search-input"}),e.createEl("span",{text:"🔍",cls:"variable-search-icon"}),this.contentContainer=i.createEl("div",{cls:"variable-content-container"}),this.categorizedVariables=this.variableProcessor.getCategorizedVariables(),this.renderVariables(),this.searchInput.addEventListener("input",()=>{this.handleSearch()}),this.searchInput.focus()}renderVariables(i=""){this.contentContainer.empty();for(let[e,r]of Object.entries(this.categorizedVariables)){let t=r.filter(e=>{if(!i)return!0;let r=i.toLowerCase();return e.name.toLowerCase().includes(r)||e.description.toLowerCase().includes(r)||e.example.toLowerCase().includes(r)});if(t.length>0){let r=this.contentContainer.createEl("div",{cls:"variable-category"});r.createEl("h4",{text:e,cls:"variable-category-title"});let n=r.createEl("table",{cls:"variable-table"}),f=n.createEl("thead").createEl("tr");f.createEl("th",{text:"Variable"}),f.createEl("th",{text:"Description"}),f.createEl("th",{text:"Example"});let a=n.createTBody();for(let e of t){let r=a.createEl("tr",{cls:"variable-row"}),t=r.createEl("td",{cls:"variable-name"});t.innerHTML=this.highlightSearchTerm(e.name,i),r.createEl("td",{cls:"variable-description"}).innerHTML=this.highlightSearchTerm(e.description,i),r.createEl("td",{cls:"variable-example"}).innerHTML=this.highlightSearchTerm(e.example,i),t.addEventListener("click",async()=>{try{await navigator.clipboard.writeText(e.name),t.classList.add("variable-name-copied");let i=t.textContent;t.textContent="Copied!",setTimeout(()=>{t.classList.remove("variable-name-copied"),t.textContent=i},800)}catch(i){console.error("Failed to copy to clipboard:",i),t.classList.add("variable-name-copy-error"),setTimeout(()=>{t.classList.remove("variable-name-copy-error")},500)}}),t.title="Click to copy variable name"}}}i&&0===this.contentContainer.children.length&&this.contentContainer.createEl("div",{cls:"variable-no-results",text:`No variables found matching "${i}"`})}highlightSearchTerm(i,e){if(!e)return i;let r=new RegExp(`(${e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")})`,"gi");return i.replace(r,"$1")}handleSearch(){let i=this.searchInput.value.trim();this.renderVariables(i)}onClose(){let{contentEl:i}=this;i.empty(),this.modalEl.removeClass(this.modalClass)}},Be=Me(fo()),f2=Me(require("fs/promises")),ko=Me(require("os")),uo=Me(require("path")),lt=class{supportedImageFormats;preset;settings;constructor(i){this.supportedImageFormats=i}async processImage(i,e,r,t,n,f,a,o,A,s,l,k){let h=await this.processImageHelper(i,e,r,t,n,f,a,o,A,s,l,k);if("JPEG"===e)try{let e=await this.extractMetadata(i);e&&e["0th"]&&e["0th"][Be.ImageIFD.Orientation]&&delete e["0th"][Be.ImageIFD.Orientation];let r=e&&Object.keys(e).length>0?Be.dump(e):"";return await this.applyMetadata(h,r)}catch(i){return console.error("JPEG EXIF handling error:",i),h}return h}async processImageHelper(i,e,r,t,n,f,a,o,A,s,l,k){this.preset=l,this.settings=k??Vi;try{if("NONE"===e&&"None"!==n)return await this.resizeImage(i,n,f,a,o,A,r);if("NONE"===e)return i.arrayBuffer();if("ORIGINAL"===e)return await this.compressOriginalImage(i,r,n,f,a,o,A);let l=i instanceof File?i.name:"image",k=await this.supportedImageFormats.getMimeTypeFromFile(i);if(!k||"unknown"===k)return i.arrayBuffer();let h=k;if(!this.supportedImageFormats.isSupported(h,l))return i.arrayBuffer();switch(h){case"image/tiff":case"image/tif":try{let l=await this.handleTiff(await i.arrayBuffer());return await this.convertAndCompress(l,e,r,t,n,f,a,o,A,s)}catch{return i.arrayBuffer()}case"image/heic":case"image/heif":try{let l=await this.handleHeic(await i.arrayBuffer(),"JPEG"===e?"JPEG":"PNG","JPEG"===e?r:1);return await this.convertAndCompress(l,e,r,t,n,f,a,o,A,s)}catch{return i.arrayBuffer()}default:try{return await this.convertAndCompress(i,e,r,t,n,f,a,o,A,s)}catch{return i.arrayBuffer()}}}catch(e){return console.error("Error processing image:",e),new a2.Notice(`Failed to process image: ${e.message}`),i.arrayBuffer()}}async handleTiff(i){try{let e=await Promise.resolve().then(()=>Me(ao())).then(i=>i.default),r=e.decode(i);e.decodeImage(i,r[0]);let t=e.toRGBA8(r[0]),n=document.createElement("canvas");n.width=r[0].width,n.height=r[0].height;let f=n.getContext("2d"),a=f.createImageData(n.width,n.height);return a.data.set(t),f.putImageData(a,0,0),new Promise((i,e)=>{n.toBlob(r=>{r?i(r):e(new Error("Failed to convert canvas to Blob"))},"image/png")})}catch(i){throw console.error("Error processing TIFF image:",i),new Error("Failed to process TIFF image")}}async handleHeic(i,e,r){try{let{heicTo:t}=await Promise.resolve().then(()=>(lo(),Ao)),n=new Blob([i],{type:"image/heic"});return await t({blob:n,type:"JPEG"===e?"image/jpeg":"image/png",quality:r})}catch(i){throw console.error("Error converting HEIC:",i),new Error(`Failed to convert HEIC image: ${i.message}`)}}async convertAndCompress(i,e,r,t,n,f,a,o,A,s){switch(e){case"WEBP":return this.convertToWebP(i,r,n,f,a,o,A,s);case"JPEG":return this.convertToJPG(i,r,n,f,a,o,A,s);case"PNG":return this.convertToPNG(i,t,n,f,a,o,A,s);case"PNGQUANT":{let e=this.preset?.pngquantExecutablePath||this.settings.singleImageModalSettings?.pngquantExecutablePath,r=this.preset?.pngquantQuality||this.settings.pngquantQuality;return e?this.processWithPngquant(i,e,r,n,f,a,o,A):(new a2.Notice("PNGQUANT executable path is not set. Please configure it in the plugin settings."),i.arrayBuffer())}case"AVIF":{let e=this.preset?.ffmpegExecutablePath||this.settings.singleImageModalSettings?.ffmpegExecutablePath,r=this.preset?.ffmpegCrf||this.settings.ffmpegCrf,t=this.preset?.ffmpegPreset||this.settings.ffmpegPreset;return e?this.processWithFFmpeg(i,e,r,t,n,f,a,o,A):(new a2.Notice("FFmpeg executable path is not set. Please configure it in the plugin settings."),i.arrayBuffer())}default:return i.arrayBuffer()}}async processWithFFmpeg(i,e,r,t,n,f,a,o,A){let s=i;if("None"!==n){let e=await this.resizeImage(i,n,f,a,o,A);s=new Blob([e],{type:i.type})}let l=await this.getImageDimensions(s),k=await s.arrayBuffer(),h=await this.checkForTransparency(s),u=ko.tmpdir(),c=`obsidian_image_converter_${Date.now()}.avif`,d=uo.join(u,c);return new Promise((i,A)=>{let s,u=this.buildScaleFilter(n,l,f,a,o);if(h){let i="format=rgba";u&&(i+=`,${u}`),s=["-i","pipe:0","-map","0","-map","0","-filter:v:0",i,"-filter:v:1","alphaextract","-c:v","libaom-av1","-crf",r.toString(),"-preset",t,"-still-picture","1","-y","-f","avif",d]}else{let i="format=yuv420p";u&&(i+=`,${u}`),s=["-i","pipe:0","-filter:v",i,"-c:v","libaom-av1","-crf",r.toString(),"-preset",t,"-still-picture","1","-y","-f","avif",d]}let c=null;try{c=a2.Platform.isWin?(0,br.spawn)(e,s,{windowsHide:!0}):(0,br.spawn)(e,s)}catch(i){let e=`Failed to spawn FFmpeg: ${i instanceof Error?i.message:String(i)}`;return console.error(e),void A(new Error(e))}if(c.on("exit",i=>{if(c?.removeAllListeners("close"),0!==i){let e=`FFmpeg failed with code ${i}: ${b}`;console.error(e);try{f2.unlink(d)}catch{}A(new Error(e))}}),!c)return void A(new Error("Failed to spawn FFmpeg process."));let b="";c.stderr?.on("data",i=>{b+=i.toString()}),c.on("close",async e=>{if(0!==e){let i=`FFmpeg failed with code ${e}: ${b}`;console.error(i);try{await f2.unlink(d)}catch{}return void A(new Error(i))}try{let e=await f2.readFile(d),r=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);i(r)}catch(i){console.error("Error reading temporary file:",i),A(new Error(`Failed to read the processed image from the temporary file: ${i}`))}finally{try{await f2.unlink(d)}catch(i){console.error("Error deleting temporary file:",i)}}}),c.on("error",i=>{let e=`Error with FFmpeg process: ${i.message}`;console.error(e),f2.unlink(d).catch(i=>{}),A(new Error(e))});let p=setTimeout(()=>{try{c?.kill?.("SIGKILL")}catch{}A(new Error("FFmpeg process timed out"))},5e3);c.on("close",()=>clearTimeout(p)),c.on("exit",()=>clearTimeout(p)),c.stdin?.write(Buffer.from(k)),c.stdin?.end()})}async checkForTransparency(i){return new Promise(e=>{let r=new Image;r.onload=()=>{let i=document.createElement("canvas");i.width=r.width,i.height=r.height;let t=i.getContext("2d");if(!t)return void e(!1);t.drawImage(r,0,0);let n=t.getImageData(0,0,i.width,i.height),{data:f}=n;for(let i=3;ie(!1);let t=new FileReader;t.onload=i=>{r.src=i.target?.result},t.onerror=()=>e(!1),t.readAsDataURL(i)})}async getImageDimensions(i){return new Promise((e,r)=>{let t=new Image;t.onload=()=>{e({width:t.naturalWidth,height:t.naturalHeight})},t.onerror=()=>{r(new Error("Failed to load image to get dimensions."))},t.src=URL.createObjectURL(i)})}buildScaleFilter(i,e,r,t,n){let f,a,{width:o,height:A}=e,s=o/A;switch(i){case"None":default:return null;case"Fit":s>r/t?(f=r,a=Math.round(r/s)):(a=t,f=Math.round(t*s));break;case"Fill":s>r/t?(a=t,f=Math.round(t*s)):(f=r,a=Math.round(r/s));break;case"LongestEdge":o>A?(f=n,a=Math.round(n/s)):(a=n,f=Math.round(n*s));break;case"ShortestEdge":onew Promise((e,o)=>{let A=new Image;A.onload=()=>{try{let{imageWidth:i,imageHeight:s}=this.calculateDesiredDimensions(A,r,t,n,f,a),l=i,k=s;"Reduce"===a&&(A.naturalWidth{console.error("WebP conversion error:",i),o(new Error("Failed to load image"))},A.src=i});try{let o=await new Promise((e,r)=>{let t=new FileReader;t.onloadend=i=>e(i.target?.result),t.onerror=()=>r(new Error("Failed to read file")),t.readAsDataURL(i)}),{canvas:s}=await A(o),[l,k]=await Promise.all([new Promise(i=>{s.toBlob(async e=>{i(e?await e.arrayBuffer():new ArrayBuffer(0))},"image/webp",e)}),new Promise(i=>{let r=s.toDataURL("image/webp",e);i(this.base64ToArrayBuffer(r))})]),h=await this.compressOriginalImage(i,e,r,t,n,f,a),u=[{type:"blob",data:l,size:l.byteLength},{type:"dataUrl",data:k,size:k.byteLength},{type:"original",data:h,size:h.byteLength}].filter(i=>i.size>0);return u.sort((i,e)=>i.size-e.size),u[0].data}catch(e){return console.error("WebP conversion error:",e),i.arrayBuffer()}}async convertToJPG(i,e,r,t,n,f,a,o){if(1===e&&"None"===r)return i.arrayBuffer();let A=async i=>new Promise((e,o)=>{let A=new Image;A.onload=()=>{try{let{imageWidth:i,imageHeight:s}=this.calculateDesiredDimensions(A,r,t,n,f,a),l=i,k=s;"Reduce"===a&&(A.naturalWidth{console.error("JPEG conversion error:",i),o(new Error("Failed to load image"))},A.src=i});try{let o=await new Promise((e,r)=>{let t=new FileReader;t.onloadend=i=>e(i.target?.result),t.onerror=()=>r(new Error("Failed to read file")),t.readAsDataURL(i)}),{canvas:s}=await A(o),[l,k]=await Promise.all([new Promise(i=>{s.toBlob(async e=>{i(e?await e.arrayBuffer():new ArrayBuffer(0))},"image/jpeg",e)}),new Promise(i=>{let r=s.toDataURL("image/jpeg",e);i(this.base64ToArrayBuffer(r))})]),h=[{type:"blob",data:l,size:l.byteLength},{type:"dataUrl",data:k,size:k.byteLength}];if("image/jpeg"!==i.type){let o=await this.compressOriginalImage(i,e,r,t,n,f,a);h.push({type:"original",data:o,size:o.byteLength})}let u=h.filter(i=>i.size>0);return u.sort((i,e)=>i.size-e.size),u[0].data}catch(e){return console.error("JPEG conversion error:",e),i.arrayBuffer()}}async convertToPNG(i,e,r,t,n,f,a,o){if(1===e&&"None"===r)return i.arrayBuffer();let A=async i=>new Promise((o,A)=>{let s=new Image;s.onload=()=>{try{let{imageWidth:i,imageHeight:l}=this.calculateDesiredDimensions(s,r,t,n,f,a),k=i,h=l;"Reduce"===a&&(s.naturalWidth{console.error("PNG conversion error:",i),A(new Error("Failed to load image"))},s.src=i});try{let e=await new Promise((e,r)=>{let t=new FileReader;t.onloadend=i=>e(i.target?.result),t.onerror=()=>r(new Error("Failed to read file")),t.readAsDataURL(i)}),{canvas:o}=await A(e),[s,l]=await Promise.all([new Promise(i=>{o.toBlob(async e=>{i(e?await e.arrayBuffer():new ArrayBuffer(0))},"image/png")}),new Promise(i=>{let e=o.toDataURL("image/png");i(this.base64ToArrayBuffer(e))})]),k=[{type:"blob",data:s,size:s.byteLength},{type:"dataUrl",data:l,size:l.byteLength}];if("image/png"!==i.type){let e=await this.compressOriginalImage(i,1,r,t,n,f,a);k.push({type:"original",data:e,size:e.byteLength})}return k.filter(i=>i.size>0).sort((i,e)=>i.size-e.size)[0].data}catch(e){return console.error("PNG conversion error:",e),i.arrayBuffer()}}async processWithPngquant(i,e,r,t,n,f,a,o){let A=i;if("None"!==t){let e=await this.resizeImage(i,t,n,f,a,o);A=new Blob([e],{type:i.type})}let s=await A.arrayBuffer();return new Promise((i,t)=>{let n=["--quality",r,"-"],f=null;try{f=a2.Platform.isWin?(0,br.spawn)(e,n,{windowsHide:!0}):(0,br.spawn)(e,n)}catch(i){let e=`Failed to spawn pngquant: ${i.message}`;return console.error(e),void t(new Error(e))}if(!f)return void t(new Error("Failed to spawn pngquant process."));let a=[],o="";f.stdout?.on("data",i=>{a.push(i)}),f.stderr?.on("data",i=>{o+=i.toString()}),f.on("close",e=>{if(0!==e){let i=`pngquant failed with code ${e}: ${o}`;return console.error(i),void t(new Error(i))}let r=Buffer.concat(a),n=r.buffer.slice(r.byteOffset,r.byteOffset+r.byteLength);i(n)}),f.on("error",i=>{let e=`Error with pngquant process: ${i.message}`;console.error(e),t(new Error(e))}),f.stdin?.write(Buffer.from(s)),f.stdin?.end()})}async compressOriginalImage(i,e,r,t,n,f,a){return new Promise((o,A)=>{let s=new Image,l=new FileReader;l.onload=l=>{s.onload=()=>{let{imageWidth:l,imageHeight:k}=this.calculateDesiredDimensions(s,r,t,n,f,a),h=document.createElement("canvas");h.width=l,h.height=k;let u=h.getContext("2d");if(!u)return void A(new Error("Failed to get canvas context"));let c=0,d=0,b=s.naturalWidth,p=s.naturalHeight;if("Fill"===r){let i=Math.max(l/s.naturalWidth,k/s.naturalHeight);b=l/i,p=k/i,c=Math.floor((s.naturalWidth-b)/2),d=Math.floor((s.naturalHeight-p)/2)}u.drawImage(s,c,d,b,p,0,0,l,k);let g=i.type||"image/jpeg";h.toBlob(i=>{i?i.arrayBuffer().then(o).catch(A):A(new Error("Failed to create blob"))},g,e)},s.onerror=i=>{console.error("Original Compression error:",i),A(new Error("Failed to load image"))},s.src=l.target?.result},l.onerror=()=>A(new Error("Failed to read file")),l.readAsDataURL(i)})}async resizeImage(i,e,r,t,n,f,a=1){return new Promise((o,A)=>{let s=new Image,l=new FileReader;l.onload=l=>{s.onload=()=>{let{imageWidth:l,imageHeight:k}=this.calculateDesiredDimensions(s,e,r,t,n,f),h=document.createElement("canvas");h.width=l,h.height=k;let u=h.getContext("2d");u?(u.drawImage(s,0,0,l,k),h.toBlob(i=>{i?i.arrayBuffer().then(o).catch(A):A(new Error("Failed to create blob"))},i.type,a)):A(new Error("Failed to get canvas context"))},s.onerror=i=>{console.error("Image resizing error:",i),A(new Error("Failed to load image for resizing"))},s.src=l.target?.result},l.onerror=()=>A(new Error("Failed to read file for resizing")),l.readAsDataURL(i)})}calculateDesiredDimensions(i,e,r,t,n,f){let a=i.naturalWidth,o=i.naturalHeight,A=a/o;switch(e){case"None":break;case"Fit":A>r/t?(a=r,o=a/A):(o=t,a=o*A);break;case"Fill":a=r,o=t;break;case"LongestEdge":a>o?(a=n,o=a/A):(o=n,a=o*A);break;case"ShortestEdge":aa||i.naturalHeight>o||(a=i.naturalWidth,o=i.naturalHeight);break;case"Enlarge":i.naturalWidth{e.onload=i=>r(i.target?.result),e.onerror=()=>t(new Error("Failed to read file for metadata")),e.readAsDataURL(i)});try{return Be.load(r)}catch{return}}async applyMetadata(i,e){try{let r=new Uint8Array(i),t="",n=8192;for(let i=0;i 2023-12"},{name:"{time}",description:"The current time (HH-mm-ss).",example:"14-30-00"},{name:"{YYYY}",description:"The current year.",example:"2023"},{name:"{MM}",description:"The current month (01-12).",example:"12"},{name:"{DD}",description:"The current day of the month (01-31).",example:"28"},{name:"{HH}",description:"The current hour (00-23).",example:"14"},{name:"{mm}",description:"The current minute (00-59).",example:"30"},{name:"{ss}",description:"The current second (00-59).",example:"00"},{name:"{weekday}",description:"The current day of the week.",example:"Thursday"},{name:"{month}",description:"The current month name.",example:"December"},{name:"{calendar}",description:"A calendar view of the current date/time.",example:"12/28/2023 2:30 PM"},{name:"{today}",description:"The current date (YYYY-MM-DD).",example:"2023-12-28"},{name:"{YYYY-MM-DD}",description:"The current date (YYYY-MM-DD).",example:"2023-12-28"},{name:"{tomorrow}",description:"Tomorrow's date (YYYY-MM-DD).",example:"2023-12-29"},{name:"{yesterday}",description:"Yesterday's date (YYYY-MM-DD).",example:"2023-12-27"},{name:"{startofweek}",description:"The start of the current week (YYYY-MM-DD).",example:"2023-12-24"},{name:"{endofweek}",description:"The end of the current week (YYYY-MM-DD).",example:"2023-12-30"},{name:"{startofmonth}",description:"The start of the current month (YYYY-MM-DD).",example:"2023-12-01"},{name:"{endofmonth}",description:"The end of the current month (YYYY-MM-DD).",example:"2023-12-31"},{name:"{nextweek}",description:"The date of next week (YYYY-MM-DD).",example:"2024-01-04"},{name:"{lastweek}",description:"The date of last week (YYYY-MM-DD).",example:"2023-12-21"},{name:"{nextmonth}",description:"The date of next month (YYYY-MM-DD).",example:"2024-01-28"},{name:"{lastmonth}",description:"The date of last month (YYYY-MM-DD).",example:"2023-11-28"},{name:"{daysinmonth}",description:"The number of days in the current month.",example:"31"},{name:"{weekofyear}",description:"The week number of the current year.",example:"52"},{name:"{quarterofyear}",description:"The quarter of the current year.",example:"4"},{name:"{week}",description:"The current week number (alias for {weekofyear}).",example:"52"},{name:"{w}",description:"The current week number (alias for {weekofyear}).",example:"52"},{name:"{quarter}",description:"The current quarter (alias for {quarterofyear}).",example:"4"},{name:"{Q}",description:"The current quarter (alias for {quarterofyear}).",example:"4"},{name:"{dayofyear}",description:"The day of the year (1-366).",example:"362"},{name:"{DDD}",description:"The day of the year (1-366).",example:"362"},{name:"{monthname}",description:"The name of the current month.",example:"December"},{name:"{MMMM}",description:"The name of the current month.",example:"December"},{name:"{dayname}",description:"The name of the current day of the week.",example:"Thursday"},{name:"{dddd}",description:"The name of the current day of the week.",example:"Thursday"},{name:"{dateordinal}",description:"The current date with ordinal suffix (e.g., 28th).",example:"28th"},{name:"{Do}",description:"The current date with ordinal suffix (e.g., 28th).",example:"28th"},{name:"{relativetime}",description:"The relative time from now.",example:"in a few seconds"},{name:"{currentdate}",description:"The current date (YYYY-MM-DD).",example:"2023-12-28"},{name:"{yyyy}",description:"The current year.",example:"2023"},{name:"{timestamp}",description:"The current timestamp in milliseconds.",example:"1672234800000"},{name:"{vaultname}",description:"The name of the vault.",example:"MyVault"},{name:"{vaultpath}",description:"The root path of the vault.",example:"/Users/username/Documents/MyVault"},{name:"{parentfolder}",description:"The name of the immediate parent folder of the note.",example:"Project"},{name:"{grandparentfolder}",description:"Parent of the parent folder of the note, but not the vault root",example:"ParentOfProject"},{name:"{notefolder}",description:"The name of the immediate parent folder of the note.",example:"Project"},{name:"{notepath}",description:"The full path of the current note.",example:"Project/MeetingNotes"},{name:"{width}",description:"The width of the image in pixels.",example:"800"},{name:"{height}",description:"The height of the image in pixels.",example:"600"},{name:"{aspectratio}",description:"The aspect ratio of the image (width/height, 2 decimal places).",example:"1.33"},{name:"{orientation}",description:"The orientation of the image (landscape, portrait, or square).",example:"landscape"},{name:"{resolution}",description:"The resolution of the image (width x height).",example:"800x600"},{name:"{ratio}",description:"The aspect ratio of the image, same as {aspectratio}.",example:"1.33"},{name:"{quality}",description:"The quality setting for image conversion/compression.",example:"75"},{name:"{megapixels}",description:"The size of the image in megapixels (2 decimal places).",example:"0.48"},{name:"{issquare}",description:"Whether the image is a perfect square (true/false).",example:"false"},{name:"{pixelcount}",description:"The total number of pixels in the image.",example:"480000"},{name:"{aspectratiotype}",description:"A common aspect ratio category (e.g., 4:3, 16:9, custom).",example:"4:3"},{name:"{resolutioncategory}",description:"A category based on pixel count (tiny, small, medium, large, very-large).",example:"small"},{name:"{filesizecategory}",description:"A category based on file size (e.g., 0-50KB, 51-200KB, etc.).",example:"0-50KB"},{name:"{dominantdimension}",description:"Whether the width or height is larger, or if they are equal.",example:"width"},{name:"{dimensiondifference}",description:"The absolute difference between width and height.",example:"200"},{name:"{bytesperpixel}",description:"The average number of bytes per pixel (2 decimal places).",example:"0.50"},{name:"{compressionratio}",description:"An estimate of the image compression ratio (2 decimal places).",example:"0.33"},{name:"{maxdimension}",description:"The larger dimension (width or height) of the image.",example:"800"},{name:"{mindimension}",description:"The smaller dimension (width or height) of the image.",example:"600"},{name:"{diagonalpixels}",description:"The diagonal pixel length of the image.",example:"1000"},{name:"{aspectratiosimplified}",description:"The aspect ratio in its simplest whole number form.",example:"4:3"},{name:"{screenfitcategory}",description:"A category based on whether the image fits within common screen sizes (e.g., fits-1080p, fits-1440p, fits-4k, above-4k).",example:"fits-1080p"},{name:"{random}",description:"A random alphanumeric string (6 characters).",example:"a8f7n2"},{name:"{randomHex:X}",description:"A random hexadecimal string of X characters.",example:"{randomHex:8} -> 3e4a7f9b"},{name:"{counter:00X}",description:"An auto-incrementing counter (padded with zeros) for the folder. X determines the padding.",example:"{counter:001} -> 005 (if it's the fifth image in the folder)"},{name:"{MD5:type}",description:"The first 8 characters of the MD5 hash of the specified type. Supports: filename, fullpath, parentfolder, rootfolder, extension, notename, notefolder, notepath.",example:"{MD5:filename} -> 7a3b9e2c"},{name:"{MD5:type:X}",description:"The first X characters of the MD5 hash of the specified type. Supports the same types as {MD5:type}.",example:"{MD5:fullpath:10} -> 7a3b9e2c1d"},{name:"{MD5:custom text}",description:"The full MD5 hash of a custom text.",example:"{MD5:MyCustomText} -> 5f9e2b8a3c7d1f6a4e8b2c9d"},{name:"{size:UNIT:DECIMALS}",description:"Image size in a specific unit (B, KB, MB) with custom decimal places.",example:"{size:KB:3} -> 24.000"},{name:"{sha256:image}",description:"The SHA-256 hash of the image content.",example:"{sha256:image} -> full hash, {sha256:image:8} -> e3b0c442"},{name:"{sha256:type}",description:"The SHA-256 hash of the specified type. Supports: filename, fullpath, parentfolder, rootfolder, extension, notename, notefolder, notepath.",example:"{sha256:filename} -> e3b0c442"},{name:"{sha256:type:X}",description:"The first X characters of the SHA-256 hash of the specified type. Supports the same types as {sha256:type}.",example:"{sha256:fullpath:10} -> e3b0c44298"},{name:"{uuid}",description:"A universally unique identifier (UUID).",example:"a1b2c3d4-e5f6-7890-1234-567890abcdef"}];async processTemplate(i,e){let r=await this.getAvailableVariables(e,i),t=i;for(let[i,e]of Object.entries(r)){let r=new RegExp(this.escapeRegExp(i),"g");t=t.replace(r,e)}return t}validateTemplate(i,e){let{activeFile:r}=e,t=[];if(i.includes("{grandparentfolder}")){let i=r.parent?.parent;(!i||"/"===i.path)&&t.push("Cannot use {grandparentfolder} - the current note has no grandparent folder. Please modify your template.")}if(i.includes("{parentfolder}")){let i=r.parent;(!i||"/"===i.path)&&t.push("Cannot use {parentfolder} - the current note is in the vault root. Please modify your template.")}return{valid:0===t.length,errors:t}}getAllVariables(){return this.allVariables}getCategorizedVariables(){return this.groupVariablesByCategory(this.allVariables)}groupVariablesByCategory(i){let e={Basic:[],"Date & Time":[],"File & Vault":[],"Image Metadata":[],"Calculated Image Properties":[],Advanced:[]};for(let r of i)r.name.startsWith("{date")||["{YYYY}","{MM}","{DD}","{HH}","{mm}","{ss}","{weekday}","{month}","{calendar}","{today}","{YYYY-MM-DD}","{tomorrow}","{yesterday}","{startofweek}","{endofweek}","{startofmonth}","{endofmonth}","{nextweek}","{lastweek}","{nextmonth}","{lastmonth}","{daysinmonth}","{weekofyear}","{quarterofyear}","{week}","{w}","{quarter}","{Q}","{dayofyear}","{DDD}","{monthname}","{MMMM}","{dayname}","{dddd}","{dateordinal}","{Do}","{relativetime}","{currentdate}","{yyyy}","{time}","{timestamp}"].includes(r.name)?e["Date & Time"].push(r):["{vaultname}","{vaultpath}","{parentfolder}","{grandparentfolder}","{notefolder}","{notepath}"].includes(r.name)?e["File & Vault"].push(r):["{imagename}","{filetype}","{sizeb}","{sizekb}","{sizemb}","{notename}","{notename_nospaces}"].includes(r.name)?e.Basic.push(r):["{width}","{height}","{aspectratio}","{orientation}","{resolution}"].includes(r.name)?e["Image Metadata"].push(r):["{ratio}","{quality}","{megapixels}","{issquare}","{pixelcount}","{aspectratiotype}","{resolutioncategory}","{filesizecategory}","{dominantdimension}","{dimensiondifference}","{bytesperpixel}","{compressionratio}","{maxdimension}","{mindimension}","{diagonalpixels}","{aspectratiosimplified}","{screenfitcategory}"].includes(r.name)?e["Calculated Image Properties"].push(r):e.Advanced.push(r);return e}async getAvailableVariables(i,e){let{file:r,activeFile:t}=i,{moment:n}=window,f={};if(f["{random}"]=Math.random().toString(36).substring(2,8),f["{uuid}"]=crypto.randomUUID(),r instanceof P2.TFile){f["{imagename}"]=r.basename,f["{filetype}"]=r.extension;try{let i=await this.app.vault.adapter.stat(r.path);if(!i)throw new Error("File stats not available");f["{sizeb}"]=i.size.toString(),f["{sizekb}"]=(i.size/1024).toFixed(2),f["{sizemb}"]=(i.size/1048576).toFixed(2)}catch(i){console.error("Error getting file stats:",i),f["{sizeb}"]="unknown",f["{sizekb}"]="unknown",f["{sizemb}"]="unknown"}if(!["heic","heif","tiff","tif"].includes(r.extension.toLowerCase()))try{let i=await this.getImageMetadata(r);Object.assign(f,i)}catch(i){console.debug("Image metadata extraction failed:",i)}}else{f["{imagename}"]=r.name.substring(0,r.name.lastIndexOf(".")),f["{filetype}"]=r.name.substring(r.name.lastIndexOf(".")+1),f["{sizeb}"]=r.size.toString(),f["{sizekb}"]=(r.size/1024).toFixed(2),f["{sizemb}"]=(r.size/1048576).toFixed(2);let i=r.name.split(".").pop()?.toLowerCase()||"";if(!["heic","heif","tiff","tif"].includes(i))try{let i=await this.getImageMetadata(r);Object.assign(f,i)}catch(i){console.debug("Image metadata extraction failed:",i)}}f["{notename}"]=t.basename,f["{notename_nospaces}"]=t.basename.replace(/\s+/g,"_"),f["{notepath}"]=t.parent?`${t.parent.path}/${t.basename}`:t.basename,f["{parentfolder}"]=t.parent?.name||"",f["{grandparentfolder}"]=("/"==t.parent?.parent?.path?t.parent?.name:t.parent?.parent?.name)||"",f["{notefolder}"]=t.parent?.name||"",f["{vaultname}"]=this.app.vault.getName(),f["{vaultpath}"]=this.app.vault.adapter.basePath||this.app.vault.getRoot().path,f["{timezone}"]=Intl.DateTimeFormat().resolvedOptions().timeZone,f["{locale}"]=navigator.language,f["{platform}"]=navigator.platform,f["{useragent}"]=navigator.userAgent,f["{YYYY}"]=n().format("YYYY"),f["{MM}"]=n().format("MM"),f["{DD}"]=n().format("DD"),f["{HH}"]=n().format("HH"),f["{mm}"]=n().format("mm"),f["{ss}"]=n().format("ss"),f["{date}"]=n().format("YYYY-MM-DD"),f["{weekday}"]=n().format("dddd"),f["{month}"]=n().format("MMMM"),f["{calendar}"]=n().calendar(),f["{today}"]=n().format("YYYY-MM-DD"),f["{YYYY-MM-DD}"]=n().format("YYYY-MM-DD"),f["{tomorrow}"]=n().add(1,"day").format("YYYY-MM-DD"),f["{yesterday}"]=n().subtract(1,"day").format("YYYY-MM-DD"),f["{startofweek}"]=n().startOf("week").format("YYYY-MM-DD"),f["{endofweek}"]=n().endOf("week").format("YYYY-MM-DD"),f["{startofmonth}"]=n().startOf("month").format("YYYY-MM-DD"),f["{endofmonth}"]=n().endOf("month").format("YYYY-MM-DD"),f["{nextweek}"]=n().add(1,"week").format("YYYY-MM-DD"),f["{lastweek}"]=n().subtract(1,"week").format("YYYY-MM-DD"),f["{nextmonth}"]=n().add(1,"month").format("YYYY-MM-DD"),f["{lastmonth}"]=n().subtract(1,"month").format("YYYY-MM-DD"),f["{daysinmonth}"]=n().daysInMonth().toString(),f["{weekofyear}"]=n().week().toString(),f["{quarterofyear}"]=n().quarter().toString(),f["{week}"]=n().format("w"),f["{w}"]=n().format("w"),f["{quarter}"]=n().format("Q"),f["{Q}"]=n().format("Q"),f["{dayofyear}"]=n().format("DDD"),f["{DDD}"]=n().format("DDD"),f["{monthname}"]=n().format("MMMM"),f["{MMMM}"]=n().format("MMMM"),f["{dayname}"]=n().format("dddd"),f["{dddd}"]=n().format("dddd"),f["{dateordinal}"]=n().format("Do"),f["{Do}"]=n().format("Do"),f["{relativetime}"]=n().fromNow(),f["{currentdate}"]=n().format("YYYY-MM-DD"),f["{yyyy}"]=n().format("YYYY"),f["{time}"]=n().format("HH-mm-ss"),f["{timestamp}"]=Date.now().toString(),f=await this.processDynamicVariables(e,i,f);try{let i=await this.getImageMetadata(r);Object.assign(f,i)}catch(i){console.debug("Image metadata extraction failed:",i)}return f}async processDynamicVariables(i,e,r){let t,{file:n,activeFile:f}=e,{moment:a}=window,o=/{randomHex:(\d+)}/g;for(;null!==(t=o.exec(i));){let i=parseInt(t[1]);r[t[0]]=this.generateRandomHex(i)}let A,s=/{counter:(\d+)}/g;for(;null!==(A=s.exec(i));){let i=A[1].length;r[A[0]]=await this.getNextCounter(f.parent?.path||"",i)}let l,k=/{date:(.*?)}/g;for(;null!==(l=k.exec(i));){let[i,e]=l;if(e)try{r[i]=a().format(e)}catch(t){console.error(`Invalid date format: ${e}`,t),r[i]=a().format("YYYY-MM-DD")}}let h,u,c=/{size:(MB|KB|B):(\d+)}/g;if(n instanceof P2.TFile)try{let i=await this.app.vault.adapter.stat(n.path);if(!i)throw new Error("File stats not available for size variables");u=i.size}catch(i){console.error("Error getting file stats for size variables:",i),u=0}else u=n.size;for(;null!==(h=c.exec(i));){let[i,e,t]=h,n=parseInt(t,10);r[i]=this.formatSize(u,e,n)}let d,b=/{MD5:([\w\-./]+?)(?::(\d+))?}/g;for(;null!==(d=b.exec(i));){let i=d[1].toLowerCase(),e=d[2]?parseInt(d[2]):void 0,t="";switch(i){case"filename":t=n.name.substring(0,n.name.lastIndexOf("."));break;case"imagepath":case"fullpath":t=n.name;break;case"parentfolder":case"notefolder":t=f.parent?.name||"";break;case"grandparentfolder":t=("/"==f.parent?.parent?.path?f.parent?.name:f.parent?.parent?.name)||"";break;case"rootfolder":t=this.app.vault.getRoot().path;break;case"extension":t=n.name.substring(n.name.lastIndexOf(".")+1);break;case"notename":t=f.basename;break;case"notename_nospaces":t=f.basename.replace(/\s+/g,"_");break;case"notepath":t=f.path;break;default:t=i}let a=await this.generateMD5(t);e&&(a=a.substring(0,e)),r[`{MD5:${i}${e?`:${e}`:""}}`]=a}let p,g=/{sha256:([\w\-./]+?)(?::(\d+))?}/g;for(;null!==(p=g.exec(i));){let i,e=p[1].toLowerCase(),t=p[2]?parseInt(p[2]):void 0;if("image"===e)i=await this.generateFileContentSHA256(n);else{let r="";switch(e){case"filename":r=n.name.substring(0,n.name.lastIndexOf("."));break;case"imagepath":case"fullpath":r=n.name;break;case"parentfolder":case"notefolder":r=f.parent?.name||"";break;case"grandparentfolder":r=("/"==f.parent?.parent?.path?f.parent?.name:f.parent?.parent?.name)||"";break;case"rootfolder":r=this.app.vault.getRoot().path;break;case"extension":r=n.name.substring(n.name.lastIndexOf(".")+1);break;case"notename":r=f.basename;break;case"notename_nospaces":r=f.basename.replace(/\s+/g,"_");break;case"notepath":r=f.path;break;default:r=e}i=await this.generateSHA256(r)}t&&(i=i.substring(0,t)),r[`{sha256:${e}${t?`:${t}`:""}}`]=i}return r}async getImageMetadata(i){let e={},r=i instanceof P2.TFile?i.extension.toLowerCase():i.name.split(".").pop()?.toLowerCase()||"";if(["heic","heif","tiff","tif"].includes(r))return e;if(i instanceof P2.TFile)try{let r=await this.app.vault.readBinary(i),t=new Blob([r],{type:`image/${i.extension}`}),n=new Image;n.src=URL.createObjectURL(t),await new Promise((i,e)=>{n.onload=()=>i(n),n.onerror=i=>{console.error("Error extracting image metadata for File: ",i),e(i)}});let{width:f,height:a}=n;e["{width}"]=f.toString(),e["{height}"]=a.toString(),e["{aspectratio}"]=(f/a).toFixed(2),e["{orientation}"]=f>a?"landscape":fa?"width":f{let i=(e,r)=>r?i(r,e%r):e,e=f,r=a,t=i(e,r);return`${e/t}:${r/t}`})(),"{screenfitcategory}":f<=1920&&a<=1080?"fits-1080p":f<=2560&&a<=1440?"fits-1440p":f<=3840&&a<=2160?"fits-4k":"above-4k"}),URL.revokeObjectURL(n.src)}catch(i){console.error("Error extracting image metadata for TFile:",i)}else try{let r=new Image;r.src=URL.createObjectURL(i),await new Promise((i,e)=>{r.onload=()=>i(r),r.onerror=i=>{console.error("Error extracting image metadata for File:",i),e(i)}});let{width:t,height:n}=r;e["{width}"]=t.toString(),e["{height}"]=n.toString(),e["{aspectratio}"]=(t/n).toFixed(2),e["{orientation}"]=t>n?"landscape":tn?"width":t{let i=(e,r)=>r?i(r,e%r):e,e=t,r=n,f=i(e,r);return`${e/f}:${r/f}`})(),"{screenfitcategory}":t<=1920&&n<=1080?"fits-1080p":t<=2560&&n<=1440?"fits-1440p":t<=3840&&n<=2160?"fits-4k":"above-4k"}),URL.revokeObjectURL(r.src)}catch(i){console.error("Error extracting image metadata for File:",i)}return e}formatSize(i,e,r){switch(e){case"MB":return(i/1048576).toFixed(r);case"KB":return(i/1024).toFixed(r);case"B":return i.toFixed(r);default:return i.toString()}}generateRandomHex(i){let e=new Uint8Array(Math.ceil(i/2));return window.crypto.getRandomValues(e),Array.from(e).map(i=>i.toString(16).padStart(2,"0")).join("").substring(0,i)}async getNextCounter(i,e){let r=`counter-${i}`,t=this.counters.get(r)||0;return t++,this.counters.set(r,t),t.toString().padStart(e,"0")}async generateMD5(i){try{return function(i){function e(i,e){return i<>>32-e}function r(i,e){let r=2147483648&i,t=2147483648&e,n=1073741824&i,f=1073741824&e,a=(1073741823&i)+(1073741823&e);return n&f?2147483648^a^r^t:n|f?1073741824&a?3221225472^a^r^t:1073741824^a^r^t:a^r^t}function t(i,t,n,f,a,o,A){return i=r(i,r(r(function(i,e,r){return i&e|~i&r}(t,n,f),a),A)),r(e(i,o),t)}function n(i,t,n,f,a,o,A){return i=r(i,r(r(function(i,e,r){return i&r|e&~r}(t,n,f),a),A)),r(e(i,o),t)}function f(i,t,n,f,a,o,A){return i=r(i,r(r(function(i,e,r){return i^e^r}(t,n,f),a),A)),r(e(i,o),t)}function a(i,t,n,f,a,o,A){return i=r(i,r(r(function(i,e,r){return e^(i|~r)}(t,n,f),a),A)),r(e(i,o),t)}function o(i){let e,r,t="",n="";for(r=0;r<=3;r++)e=i>>>8*r&255,n=`0${e.toString(16)}`,t+=n.substr(n.length-2,2);return t}let A,s,l,k,h,u,c,d,b,p=function(i){let e,r=i.length,t=r+8,n=16*((t-t%64)/64+1),f=Array(n-1),a=0,o=0;for(;o>>29,f}(i);for(u=1732584193,c=4023233417,d=2562383102,b=271733878,A=0;Ai.toString(16).padStart(2,"0")).join("")}async generateFileContentSHA256(i){try{let e;e=i instanceof P2.TFile?await this.app.vault.readBinary(i):await i.arrayBuffer();let r=await crypto.subtle.digest("SHA-256",e);return Array.from(new Uint8Array(r)).map(i=>i.toString(16).padStart(2,"0")).join("")}catch(i){return console.error("Error generating SHA-256 hash of file content:",i),"error"}}},Re=require("obsidian"),N2=class{constructor(i){this.app=i}async formatLink(i,e,r,t,n){try{if(!i)throw new Error("Link path cannot be empty.");let f=this.app.vault.getAbstractFileByPath(i);if(!(f instanceof Re.TFile))throw new Error(`No file found at path: ${i}`);let a=this.formatPath(f,e,r,t),o="";return n&&(o=await this.getResizeParams(n,f)),"wikilink"===e?`![[${a}${o}]]`:`![${o}](${this.encodeMarkdownPath(a)})`}catch(i){return i instanceof Error?new Re.Notice(`Error formatting link: ${i.message}`):new Re.Notice("An unexpected error occurred while formatting the link."),console.error("Error in LinkFormatter:",i),""}}encodeMarkdownPath(i){return i.replace(/\s/g,"%20")}formatPath(i,e,r,t){switch(r){case"shortest":return i.name;case"absolute":return this.formatAbsolutePath(i);case"relative":return this.formatRelativePath(i,t);default:throw new Error(`Invalid path format: ${r}`)}}formatAbsolutePath(i){return`/${i.path}`}formatRelativePath(i,e){if(!e)throw new Error("Cannot format relative path without an active file.");if(!e.parent)throw new Error("Active file does not have a parent directory.");let r=this.getRelativePath(e.path,i.path);return r.startsWith("../")||r.startsWith("./")?r:`./${r}`}getRelativePath(i,e){let r=i.split("/").slice(0,-1),t=e.split("/"),n=0;for(;n=o.height?(r=n,t=Math.round((r??0)*o.height/o.width)):(t=n,r=Math.round((t??0)*o.width/o.height)):(r=o.width>=o.height?n:void 0,t=o.height>o.width?n:void 0);break;case"shortest-edge":f=this.getDimensionValue(i.shortestEdge,Math.min(o.width,o.height),i.resizeUnits),i.maintainAspectRatio?o.width0){let e=n/o.width;t=Math.round(o.height*e),i.maintainAspectRatio&&t/r>2&&(t=Math.round(2*r),r=Math.round(t*(o.width/o.height)))}else t=Math.round(.75*r);break}default:return""}if(void 0!==r&&(r=this.applyScaleModeToDimension(r,o.width,i.resizeScaleMode)),void 0!==t&&(t=this.applyScaleModeToDimension(t,o.height,i.resizeScaleMode)),i.respectEditorMaxWidth&&void 0!==r){let e=this.getEditorMaxWidth();r>e&&(i.maintainAspectRatio&&void 0!==t&&(t=Math.round(e*o.height/o.width)),r=e)}if(i.maintainAspectRatio||(void 0===r&&void 0!==t?r=o?o.width:100:void 0===r&&(r=100),void 0===t&&void 0!==r?t=o?o.height:100:void 0===t&&(t=100)),void 0!==r||void 0!==t){a=`|${(void 0!==r?Math.round(r):void 0)??""}x${(void 0!==t?Math.round(t):void 0)??""}`}else a="";return a}getDimensionValue(i,e,r){if(void 0!==i)return"percentage"===r?Math.round(e*i/100):i}parseCustomDimensions(i,e,r){let t=i.match(/(\d*(?:\.\d+)?)(%)?x(\d*(?:\.\d+)?)(%)?/);if(!t)return{width:void 0,height:void 0};let n=t[1]?parseFloat(t[1]):void 0,f=t[3]?parseFloat(t[3]):void 0;return"percentage"===r&&(void 0!==n&&(n=Math.round(e.width*n/100)),void 0!==f&&(f=Math.round(e.height*f/100))),{width:n,height:f}}applyScaleModeToDimension(i,e,r){return"reduce"===r&&i>e||"enlarge"===r&&i{let r=new Image;r.onload=()=>{e({width:r.width,height:r.height})},r.onerror=r=>{new Re.Notice(`Failed to load image dimensions for ${i.name}`),e(null)};let t=this.app.vault.getResourcePath(i);r.src=t})}},l0=require("obsidian"),e2=Me(require("path")),T0=require("obsidian");function R(i,e,r){return(e="symbol"==typeof(t=function(i){if("object"!=typeof i||!i)return i;var e=i[Symbol.toPrimitive];if(void 0!==e){var r=e.call(i,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(i)}(e))?t:t+"")in i?Object.defineProperty(i,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):i[e]=r,i;var t}function ho(i,e){var r=Object.keys(i);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(i);e&&(t=t.filter(function(e){return Object.getOwnPropertyDescriptor(i,e).enumerable})),r.push.apply(r,t)}return r}function P(i){for(var e=1;e=0)continue;r[t]=i[t]}return r}(i,e);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(i);for(t=0;t=0||{}.propertyIsEnumerable.call(i,r)&&(n[r]=i[r])}return n}function $e(i,e){return e||(e=i.slice(0)),Object.freeze(Object.defineProperties(i,{raw:{value:Object.freeze(e)}}))}var co,wt=class{constructor(){R(this,"browserShadowBlurConstant",1),R(this,"DPI",96),R(this,"devicePixelRatio",typeof window<"u"?window.devicePixelRatio:1),R(this,"perfLimitSizeTotal",2097152),R(this,"maxCacheSideLimit",4096),R(this,"minCacheSideLimit",256),R(this,"disableStyleCopyPaste",!1),R(this,"enableGLFiltering",!0),R(this,"textureSize",4096),R(this,"forceGLPutImageData",!1),R(this,"cachesBoundsOfCurve",!1),R(this,"fontPaths",{}),R(this,"NUM_FRACTION_DIGITS",4)}},P0=new class extends wt{constructor(i){super(),this.configure(i)}configure(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object.assign(this,i)}addFonts(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.fontPaths=P(P({},this.fontPaths),i)}removeFonts(){(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).forEach(i=>{delete this.fontPaths[i]})}clearFonts(){this.fontPaths={}}restoreDefaults(i){let e=new wt,r=i?.reduce((i,r)=>(i[r]=e[r],i),{})||e;this.configure(r)}},He=function(i){for(var e=arguments.length,r=new Array(e>1?e-1:0),t=1;tthis.testPrecision(e,i)),e.getExtension("WEBGL_lose_context").loseContext(),He("log","WebGL: max texture size ".concat(this.maxTextureSize)))}isSupported(i){return!!this.maxTextureSize&&this.maxTextureSize>=i}},Ma={},ve=()=>co||(co={document:document,window:window,isTouchSupported:"ontouchstart"in window||"ontouchstart"in document||window&&window.navigator&&window.navigator.maxTouchPoints>0,WebGLProbe:new Ln,dispose(){},copyPasteData:Ma}),nr=()=>ve().document,Lt=()=>ve().window,Oo=()=>{var i;return Math.max(null!==(i=P0.devicePixelRatio)&&void 0!==i?i:Lt().devicePixelRatio,1)},yr=new class{constructor(){R(this,"charWidthsCache",{}),R(this,"boundsOfCurveCache",{})}getFontCache(i){let{fontFamily:e,fontStyle:r,fontWeight:t}=i;e=e.toLowerCase(),this.charWidthsCache[e]||(this.charWidthsCache[e]={});let n=this.charWidthsCache[e],f="".concat(r.toLowerCase(),"_").concat((t+"").toLowerCase());return n[f]||(n[f]={}),n[f]}clearFontCache(i){(i=(i||"").toLowerCase())?this.charWidthsCache[i]&&delete this.charWidthsCache[i]:this.charWidthsCache={}}limitDimsByArea(i){let{perfLimitSizeTotal:e}=P0,r=Math.sqrt(e*i);return[Math.floor(r),Math.floor(e/r)]}},jn="6.5.4";function Z2(){}var Ue=Math.PI/2,We=2*Math.PI,Z1=Math.PI/180,Fi=Object.freeze([1,0,0,1,0,0]),I1=16,Pe=.4477152502,V0="center",z0="left",Gi="top",$n="bottom",ui="right",Di="none",E1=/\r?\n/,zo="moving",jt="scaling",Jo="rotating",F1="rotate",Ho="skewing",Ir="resizing",Uo="modifyPoly",Ta="modifyPath",yt="changed",$t="scale",Wi="scaleX",zi="scaleY",or="skewX",fr="skewY",bi="fill",Mi="stroke",Ct="modified",Q2="json",Dn="svg",d0=new class{constructor(){this[Q2]=new Map,this[Dn]=new Map}has(i){return this[Q2].has(i)}getClass(i){let e=this[Q2].get(i);if(!e)throw new $i("No class registered for ".concat(i));return e}setClass(i,e){e?this[Q2].set(e,i):(this[Q2].set(i.type,i),this[Q2].set(i.type.toLowerCase(),i))}getSVGClass(i){return this[Dn].get(i)}setSVGClass(i,e){this[Dn].set(e??i.type.toLowerCase(),i)}},Bt=new class extends Array{remove(i){let e=this.indexOf(i);e>-1&&this.splice(e,1)}cancelAll(){let i=this.splice(0);return i.forEach(i=>i.abort()),i}cancelByCanvas(i){if(!i)return[];let e=this.filter(e=>{var r;return e.target===i||"object"==typeof e.target&&(null===(r=e.target)||void 0===r?void 0:r.canvas)===i});return e.forEach(i=>i.abort()),e}cancelByTarget(i){if(!i)return[];let e=this.filter(e=>e.target===i);return e.forEach(i=>i.abort()),e}},qn=class{constructor(){R(this,"__eventListeners",{})}on(i,e){if(this.__eventListeners||(this.__eventListeners={}),"object"==typeof i)return Object.entries(i).forEach(i=>{let[e,r]=i;this.on(e,r)}),()=>this.off(i);if(e){let r=i;return this.__eventListeners[r]||(this.__eventListeners[r]=[]),this.__eventListeners[r].push(e),()=>this.off(r,e)}return()=>!1}once(i,e){if("object"==typeof i){let e=[];return Object.entries(i).forEach(i=>{let[r,t]=i;e.push(this.once(r,t))}),()=>e.forEach(i=>i())}if(e){let r=this.on(i,function(){for(var i=arguments.length,t=new Array(i),n=0;n!1}_removeEventListener(i,e){if(this.__eventListeners[i])if(e){let r=this.__eventListeners[i],t=r.indexOf(e);t>-1&&r.splice(t,1)}else this.__eventListeners[i]=[]}off(i,e){if(this.__eventListeners)if(void 0===i)for(let i in this.__eventListeners)this._removeEventListener(i);else"object"==typeof i?Object.entries(i).forEach(i=>{let[e,r]=i;this._removeEventListener(e,r)}):this._removeEventListener(i,e)}fire(i,e){var r;if(!this.__eventListeners)return;let t=null===(r=this.__eventListeners[i])||void 0===r?void 0:r.concat();if(t)for(let i=0;i{let r=i.indexOf(e);return-1!==r&&i.splice(r,1),i},le=i=>{if(0===i)return 1;switch(Math.abs(i)/Ue){case 1:case 3:return 0;case 2:return-1}return Math.cos(i)},ke=i=>{if(0===i)return 0;let e=i/Ue,r=Math.sign(i);switch(e){case 1:return r;case 2:return 0;case 3:return-r}return Math.sin(i)},K=class i{constructor(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;"object"==typeof i?(this.x=i.x,this.y=i.y):(this.x=i,this.y=e)}add(e){return new i(this.x+e.x,this.y+e.y)}addEquals(i){return this.x+=i.x,this.y+=i.y,this}scalarAdd(e){return new i(this.x+e,this.y+e)}scalarAddEquals(i){return this.x+=i,this.y+=i,this}subtract(e){return new i(this.x-e.x,this.y-e.y)}subtractEquals(i){return this.x-=i.x,this.y-=i.y,this}scalarSubtract(e){return new i(this.x-e,this.y-e)}scalarSubtractEquals(i){return this.x-=i,this.y-=i,this}multiply(e){return new i(this.x*e.x,this.y*e.y)}scalarMultiply(e){return new i(this.x*e,this.y*e)}scalarMultiplyEquals(i){return this.x*=i,this.y*=i,this}divide(e){return new i(this.x/e.x,this.y/e.y)}scalarDivide(e){return new i(this.x/e,this.y/e)}scalarDivideEquals(i){return this.x/=i,this.y/=i,this}eq(i){return this.x===i.x&&this.y===i.y}lt(i){return this.xi.x&&this.y>i.y}gte(i){return this.x>=i.x&&this.y>=i.y}lerp(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.5;return r=Math.max(Math.min(1,r),0),new i(this.x+(e.x-this.x)*r,this.y+(e.y-this.y)*r)}distanceFrom(i){let e=this.x-i.x,r=this.y-i.y;return Math.sqrt(e*e+r*r)}midPointFrom(i){return this.lerp(i)}min(e){return new i(Math.min(this.x,e.x),Math.min(this.y,e.y))}max(e){return new i(Math.max(this.x,e.x),Math.max(this.y,e.y))}toString(){return"".concat(this.x,",").concat(this.y)}setXY(i,e){return this.x=i,this.y=e,this}setX(i){return this.x=i,this}setY(i){return this.y=i,this}setFromPoint(i){return this.x=i.x,this.y=i.y,this}swap(i){let e=this.x,r=this.y;this.x=i.x,this.y=i.y,i.x=e,i.y=r}clone(){return new i(this.x,this.y)}rotate(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:W1,t=ke(e),n=le(e),f=this.subtract(r);return new i(f.x*n-f.y*t,f.x*t+f.y*n).add(r)}transform(e){let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return new i(e[0]*this.x+e[2]*this.y+(r?0:e[4]),e[1]*this.x+e[3]*this.y+(r?0:e[5]))}},W1=new K(0,0),bt=i=>!!i&&Array.isArray(i._objects);function Lo(i){class e extends i{constructor(){super(...arguments),R(this,"_objects",[])}_onObjectAdded(i){}_onObjectRemoved(i){}_onStackOrderChanged(i){}add(){for(var i=arguments.length,e=new Array(i),r=0;rthis._onObjectAdded(i)),t}insertAt(i){for(var e=arguments.length,r=new Array(e>1?e-1:0),t=1;tthis._onObjectAdded(i)),this._objects.length}remove(){let i=this._objects,e=[];for(var r=arguments.length,t=new Array(r),n=0;n{let t=i.indexOf(r);-1!==t&&(i.splice(t,1),e.push(r),this._onObjectRemoved(r))}),e}forEachObject(i){this.getObjects().forEach((e,r,t)=>i(e,r,t))}getObjects(){for(var i=arguments.length,e=new Array(i),r=0;ri.isType(...e))}item(i){return this._objects[i]}isEmpty(){return 0===this._objects.length}size(){return this._objects.length}contains(i,r){return!!this._objects.includes(i)||!!r&&this._objects.some(r=>r instanceof e&&r.contains(i,!0))}complexity(){return this._objects.reduce((i,e)=>i+(e.complexity?e.complexity():0),0)}sendObjectToBack(i){return!(!i||i===this._objects[0]||(s2(this._objects,i),this._objects.unshift(i),this._onStackOrderChanged(i),0))}bringObjectToFront(i){return!(!i||i===this._objects[this._objects.length-1]||(s2(this._objects,i),this._objects.push(i),this._onStackOrderChanged(i),0))}sendObjectBackwards(i,e){if(!i)return!1;let r=this._objects.indexOf(i);if(0!==r){let t=this.findNewLowerIndex(i,r,e);return s2(this._objects,i),this._objects.splice(t,0,i),this._onStackOrderChanged(i),!0}return!1}bringObjectForward(i,e){if(!i)return!1;let r=this._objects.indexOf(i);if(r!==this._objects.length-1){let t=this.findNewUpperIndex(i,r,e);return s2(this._objects,i),this._objects.splice(t,0,i),this._onStackOrderChanged(i),!0}return!1}moveObjectTo(i,e){return i!==this._objects[e]&&(s2(this._objects,i),this._objects.splice(e,0,i),this._onStackOrderChanged(i),!0)}findNewLowerIndex(i,e,r){let t;if(r){t=e;for(let r=e-1;r>=0;--r)if(i.isOverlapping(this._objects[r])){t=r;break}}else t=e-1;return t}findNewUpperIndex(i,e,r){let t;if(r){t=e;for(let r=e+1;r1&&void 0!==arguments[1]?arguments[1]:{},a=[],o=new K(e,r),A=o.add(new K(t,n));for(let i=this._objects.length-1;i>=0;i--){let e=this._objects[i];e.selectable&&e.visible&&(f&&e.intersectsWithRect(o,A)||e.isContainedWithinRect(o,A)||f&&e.containsPoint(o)||f&&e.containsPoint(A))&&a.push(e)}return a}}return e}var xt=class extends qn{_setOptions(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(let e in i)this.set(e,i[e])}_setObject(i){for(let e in i)this._set(e,i[e])}set(i,e){return"object"==typeof i?this._setObject(i):this._set(i,e),this}_set(i,e){this[i]=e}toggle(i){let e=this.get(i);return"boolean"==typeof e&&this.set(i,!e),this}get(i){return this[i]}};function Cr(i){return Lt().requestAnimationFrame(i)}function jo(i){return Lt().cancelAnimationFrame(i)}var Ra=0,Le=()=>Ra++,Ki=()=>{let i=nr().createElement("canvas");if(!i||void 0===i.getContext)throw new $i("Failed to create `canvas` element");return i},$o=()=>nr().createElement("img"),ue=i=>{let e=Ki();return e.width=i.width,e.height=i.height,e},S1=(i,e,r)=>i.toDataURL("image/".concat(e),r),si=i=>i*Z1,je=i=>i/Z1,qo=i=>i.every((i,e)=>i===Fi[e]),Bi=(i,e,r)=>new K(i).transform(e,r),Oi=i=>{let e=1/(i[0]*i[3]-i[1]*i[2]),r=[e*i[3],-e*i[1],-e*i[2],e*i[0],0,0],{x:t,y:n}=new K(i[4],i[5]).transform(r,!0);return r[4]=-t,r[5]=-n,r},Ai=(i,e,r)=>[i[0]*e[0]+i[2]*e[1],i[1]*e[0]+i[3]*e[1],i[0]*e[2]+i[2]*e[3],i[1]*e[2]+i[3]*e[3],r?0:i[0]*e[4]+i[2]*e[5]+i[4],r?0:i[1]*e[4]+i[3]*e[5]+i[5]],qt=(i,e)=>i.reduceRight((i,r)=>r&&i?Ai(r,i,e):r||i,void 0)||Fi.concat(),Ko=i=>{let[e,r]=i;return Math.atan2(r,e)},q2=i=>{let e=Ko(i),r=Math.pow(i[0],2)+Math.pow(i[1],2),t=Math.sqrt(r),n=(i[0]*i[3]-i[2]*i[1])/t,f=Math.atan2(i[0]*i[2]+i[1]*i[3],r);return{angle:je(e),scaleX:t,scaleY:n,skewX:je(f),skewY:0,translateX:i[4]||0,translateY:i[5]||0}},ar=function(i){return[1,0,0,1,i,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0]};function sr(){let{angle:i=0}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{x:e=0,y:r=0}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=si(i),n=le(t),f=ke(t);return[n,f,-f,n,e?e-(n*e-f*r):0,r?r-(f*e+n*r):0]}var Kt=function(i){return[i,0,0,arguments.length>1&&void 0!==arguments[1]?arguments[1]:i,0,0]},ef=i=>Math.tan(si(i)),X1=i=>[1,0,ef(i),1,0,0],V1=i=>[1,ef(i),0,1,0,0],Gr=i=>{let{scaleX:e=1,scaleY:r=1,flipX:t=!1,flipY:n=!1,skewX:f=0,skewY:a=0}=i,o=Kt(t?-e:e,n?-r:r);return f&&(o=Ai(o,X1(f),!0)),a&&(o=Ai(o,V1(a),!0)),o},rf=i=>{let{translateX:e=0,translateY:r=0,angle:t=0}=i,n=ar(e,r);t&&(n=Ai(n,sr({angle:t})));let f=Gr(i);return qo(f)||(n=Ai(n,f)),n},Br=function(i){let{signal:e,crossOrigin:r=null}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(function(t,n){if(e&&e.aborted)return n(new _t("loadImage"));let f,a=$o();e&&(f=function(i){a.src="",n(i)},e.addEventListener("abort",f,{once:!0}));let o=function(){a.onload=a.onerror=null,f&&e?.removeEventListener("abort",f),t(a)};i?(a.onload=o,a.onerror=function(){f&&e?.removeEventListener("abort",f),n(new $i("Error loading ".concat(a.src)))},r&&(a.crossOrigin=r),a.src=i):o()})},K2=function(i){let{signal:e,reviver:r=Z2}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((t,n)=>{let f=[];e&&e.addEventListener("abort",n,{once:!0}),Promise.all(i.map(i=>d0.getClass(i.type).fromObject(i,{signal:e}).then(e=>(r(i,e),f.push(e),e)))).then(t).catch(i=>{f.forEach(i=>{i.dispose&&i.dispose()}),n(i)}).finally(()=>{e&&e.removeEventListener("abort",n)})})},Dr=function(i){let{signal:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((r,t)=>{let n=[];e&&e.addEventListener("abort",t,{once:!0});let f=Object.values(i).map(i=>i&&i.type&&d0.has(i.type)?K2([i],{signal:e}).then(i=>{let[e]=i;return n.push(e),e}):i),a=Object.keys(i);Promise.all(f).then(i=>i.reduce((i,e,r)=>(i[a[r]]=e,i),{})).then(r).catch(i=>{n.forEach(i=>{i.dispose&&i.dispose()}),t(i)}).finally(()=>{e&&e.removeEventListener("abort",t)})})},S2=function(i){return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:[]).reduce((e,r)=>(r in i&&(e[r]=i[r]),e),{})},G1=(i,e)=>Object.keys(i).reduce((r,t)=>(e(i[t],t,i)&&(r[t]=i[t]),r),{}),mo={aliceblue:"#F0F8FF",antiquewhite:"#FAEBD7",aqua:"#0FF",aquamarine:"#7FFFD4",azure:"#F0FFFF",beige:"#F5F5DC",bisque:"#FFE4C4",black:"#000",blanchedalmond:"#FFEBCD",blue:"#00F",blueviolet:"#8A2BE2",brown:"#A52A2A",burlywood:"#DEB887",cadetblue:"#5F9EA0",chartreuse:"#7FFF00",chocolate:"#D2691E",coral:"#FF7F50",cornflowerblue:"#6495ED",cornsilk:"#FFF8DC",crimson:"#DC143C",cyan:"#0FF",darkblue:"#00008B",darkcyan:"#008B8B",darkgoldenrod:"#B8860B",darkgray:"#A9A9A9",darkgrey:"#A9A9A9",darkgreen:"#006400",darkkhaki:"#BDB76B",darkmagenta:"#8B008B",darkolivegreen:"#556B2F",darkorange:"#FF8C00",darkorchid:"#9932CC",darkred:"#8B0000",darksalmon:"#E9967A",darkseagreen:"#8FBC8F",darkslateblue:"#483D8B",darkslategray:"#2F4F4F",darkslategrey:"#2F4F4F",darkturquoise:"#00CED1",darkviolet:"#9400D3",deeppink:"#FF1493",deepskyblue:"#00BFFF",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1E90FF",firebrick:"#B22222",floralwhite:"#FFFAF0",forestgreen:"#228B22",fuchsia:"#F0F",gainsboro:"#DCDCDC",ghostwhite:"#F8F8FF",gold:"#FFD700",goldenrod:"#DAA520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"#ADFF2F",honeydew:"#F0FFF0",hotpink:"#FF69B4",indianred:"#CD5C5C",indigo:"#4B0082",ivory:"#FFFFF0",khaki:"#F0E68C",lavender:"#E6E6FA",lavenderblush:"#FFF0F5",lawngreen:"#7CFC00",lemonchiffon:"#FFFACD",lightblue:"#ADD8E6",lightcoral:"#F08080",lightcyan:"#E0FFFF",lightgoldenrodyellow:"#FAFAD2",lightgray:"#D3D3D3",lightgrey:"#D3D3D3",lightgreen:"#90EE90",lightpink:"#FFB6C1",lightsalmon:"#FFA07A",lightseagreen:"#20B2AA",lightskyblue:"#87CEFA",lightslategray:"#789",lightslategrey:"#789",lightsteelblue:"#B0C4DE",lightyellow:"#FFFFE0",lime:"#0F0",limegreen:"#32CD32",linen:"#FAF0E6",magenta:"#F0F",maroon:"#800000",mediumaquamarine:"#66CDAA",mediumblue:"#0000CD",mediumorchid:"#BA55D3",mediumpurple:"#9370DB",mediumseagreen:"#3CB371",mediumslateblue:"#7B68EE",mediumspringgreen:"#00FA9A",mediumturquoise:"#48D1CC",mediumvioletred:"#C71585",midnightblue:"#191970",mintcream:"#F5FFFA",mistyrose:"#FFE4E1",moccasin:"#FFE4B5",navajowhite:"#FFDEAD",navy:"#000080",oldlace:"#FDF5E6",olive:"#808000",olivedrab:"#6B8E23",orange:"#FFA500",orangered:"#FF4500",orchid:"#DA70D6",palegoldenrod:"#EEE8AA",palegreen:"#98FB98",paleturquoise:"#AFEEEE",palevioletred:"#DB7093",papayawhip:"#FFEFD5",peachpuff:"#FFDAB9",peru:"#CD853F",pink:"#FFC0CB",plum:"#DDA0DD",powderblue:"#B0E0E6",purple:"#800080",rebeccapurple:"#639",red:"#F00",rosybrown:"#BC8F8F",royalblue:"#4169E1",saddlebrown:"#8B4513",salmon:"#FA8072",sandybrown:"#F4A460",seagreen:"#2E8B57",seashell:"#FFF5EE",sienna:"#A0522D",silver:"#C0C0C0",skyblue:"#87CEEB",slateblue:"#6A5ACD",slategray:"#708090",slategrey:"#708090",snow:"#FFFAFA",springgreen:"#00FF7F",steelblue:"#4682B4",tan:"#D2B48C",teal:"#008080",thistle:"#D8BFD8",tomato:"#FF6347",turquoise:"#40E0D0",violet:"#EE82EE",wheat:"#F5DEB3",white:"#FFF",whitesmoke:"#F5F5F5",yellow:"#FF0",yellowgreen:"#9ACD32"},Mn=(i,e,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<1/6?i+6*(e-i)*r:r<.5?e:r<2/3?i+(e-i)*(2/3-r)*6:i),po=(i,e,r,t)=>{i/=255,e/=255,r/=255;let n,f,a=Math.max(i,e,r),o=Math.min(i,e,r),A=(a+o)/2;if(a===o)n=f=0;else{let t=a-o;switch(f=A>.5?t/(2-a-o):t/(a+o),a){case i:n=(e-r)/t+(e0&&void 0!==arguments[0]?arguments[0]:"1";return parseFloat(i)/(i.endsWith("%")?100:1)},ut=i=>Math.min(Math.round(i),255).toString(16).toUpperCase().padStart(2,"0"),bo=i=>{let[e,r,t,n=1]=i,f=Math.round(.3*e+.59*r+.11*t);return[f,f,f,n]},xi=class i{constructor(e){if(R(this,"isUnrecognised",!1),e)if(e instanceof i)this.setSource([...e._source]);else if(Array.isArray(e)){let[i,r,t,n=1]=e;this.setSource([i,r,t,n])}else this.setSource(this._tryParsingColor(e));else this.setSource([0,0,0,1])}_tryParsingColor(e){return(e=e.toLowerCase())in mo&&(e=mo[e]),"transparent"===e?[255,255,255,0]:i.sourceFromHex(e)||i.sourceFromRgb(e)||i.sourceFromHsl(e)||(this.isUnrecognised=!0)&&[0,0,0,1]}getSource(){return this._source}setSource(i){this._source=i}toRgb(){let[i,e,r]=this.getSource();return"rgb(".concat(i,",").concat(e,",").concat(r,")")}toRgba(){return"rgba(".concat(this.getSource().join(","),")")}toHsl(){let[i,e,r]=po(...this.getSource());return"hsl(".concat(i,",").concat(e,"%,").concat(r,"%)")}toHsla(){let[i,e,r,t]=po(...this.getSource());return"hsla(".concat(i,",").concat(e,"%,").concat(r,"%,").concat(t,")")}toHex(){return this.toHexa().slice(0,6)}toHexa(){let[i,e,r,t]=this.getSource();return"".concat(ut(i)).concat(ut(e)).concat(ut(r)).concat(ut(Math.round(255*t)))}getAlpha(){return this.getSource()[3]}setAlpha(i){return this._source[3]=i,this}toGrayscale(){return this.setSource(bo(this.getSource())),this}toBlackWhite(i){let[e,,,r]=bo(this.getSource()),t=e<(i||127)?0:255;return this.setSource([t,t,t,r]),this}overlayWith(e){e instanceof i||(e=new i(e));let r=this.getSource(),t=e.getSource(),[n,f,a]=r.map((i,e)=>Math.round(.5*i+.5*t[e]));return this.setSource([n,f,a,r[3]]),this}static fromRgb(e){return i.fromRgba(e)}static fromRgba(e){return new i(i.sourceFromRgb(e))}static sourceFromRgb(i){let e=i.match(/^rgba?\(\s*(\d{0,3}(?:\.\d+)?%?)\s*[\s|,]\s*(\d{0,3}(?:\.\d+)?%?)\s*[\s|,]\s*(\d{0,3}(?:\.\d+)?%?)\s*(?:\s*[,/]\s*(\d{0,3}(?:\.\d+)?%?)\s*)?\)$/i);if(e){let[i,r,t]=e.slice(1,4).map(i=>{let e=parseFloat(i);return i.endsWith("%")?Math.round(2.55*e):e});return[i,r,t,go(e[4])]}}static fromHsl(e){return i.fromHsla(e)}static fromHsla(e){return new i(i.sourceFromHsl(e))}static sourceFromHsl(e){let r=e.match(/^hsla?\(\s*([+-]?\d{0,3}(?:\.\d+)?(?:deg|turn|rad)?)\s*[\s|,]\s*(\d{0,3}(?:\.\d+)?%?)\s*[\s|,]\s*(\d{0,3}(?:\.\d+)?%?)\s*(?:\s*[,/]\s*(\d*(?:\.\d+)?%?)\s*)?\)$/i);if(!r)return;let t,n,f,a=(i.parseAngletoDegrees(r[1])%360+360)%360/360,o=parseFloat(r[2])/100,A=parseFloat(r[3])/100;if(0===o)t=n=f=A;else{let i=A<=.5?A*(o+1):A+o-A*o,e=2*A-i;t=Mn(e,i,a+1/3),n=Mn(e,i,a),f=Mn(e,i,a-1/3)}return[Math.round(255*t),Math.round(255*n),Math.round(255*f),go(r[4])]}static fromHex(e){return new i(i.sourceFromHex(e))}static sourceFromHex(i){if(i.match(/^#?(([0-9a-f]){3,4}|([0-9a-f]{2}){3,4})$/i)){let e,r=i.slice(i.indexOf("#")+1);e=r.length<=4?r.split("").map(i=>i+i):r.match(/.{2}/g);let[t,n,f,a=255]=e.map(i=>parseInt(i,16));return[t,n,f,a/255]}}static parseAngletoDegrees(i){let e=i.toLowerCase(),r=parseFloat(e);return e.includes("rad")?je(r):e.includes("turn")?360*r:r}},ti=(i,e)=>parseFloat(Number(i).toFixed(e)),I2=function(i){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:I1,r=/\D{0,2}$/.exec(i),t=parseFloat(i),n=P0.DPI;switch(r?.[0]){case"mm":return t*n/25.4;case"cm":return t*n/2.54;case"in":return t*n;case"pt":return t*n/72;case"pc":return t*n/72*12;case"em":return t*e;default:return t}},tf=i=>{let[e,r]=i.trim().split(" "),[t,n]=(f=e)&&f!==Di?[f.slice(1,4),f.slice(5,8)]:f===Di?[f,f]:["Mid","Mid"];var f;return{meetOrSlice:r||"meet",alignX:t,alignY:n}},Er=i=>"matrix("+i.map(i=>ti(i,P0.NUM_FRACTION_DIGITS)).join(" ")+")",Fr=function(i,e){let r,t,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(e)if(e.toLive)r="url(#SVGID_".concat(e.id,")");else{let i=new xi(e),n=i.getAlpha();r=i.toRgb(),1!==n&&(t=n.toString())}else r="none";return n?"".concat(i,": ").concat(r,"; ").concat(t?"".concat(i,"-opacity: ").concat(t,"; "):""):"".concat(i,'="').concat(r,'" ').concat(t?"".concat(i,'-opacity="').concat(t,'" '):"")},ji=i=>!!i&&void 0!==i.toLive,vo=i=>!!i&&"function"==typeof i.toObject,wo=i=>!!i&&void 0!==i.offsetX&&"source"in i,A2=i=>!!i&&"multiSelectionStacking"in i;function nf(i){let e=i&&fe(i),r=0,t=0;if(!i||!e)return{left:r,top:t};let n=i,f=e.documentElement,a=e.body||{scrollLeft:0,scrollTop:0};for(;n&&(n.parentNode||n.host)&&(n=n.parentNode||n.host,n===e?(r=a.scrollLeft||f.scrollLeft||0,t=a.scrollTop||f.scrollTop||0):(r+=n.scrollLeft||0,t+=n.scrollTop||0),1!==n.nodeType||"fixed"!==n.style.position););return{left:r,top:t}}var fe=i=>i.ownerDocument||null,of=i=>{var e;return(null===(e=i.ownerDocument)||void 0===e?void 0:e.defaultView)||null},ff=function(i,e,r){let{width:t,height:n}=r,f=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;i.width=t,i.height=n,f>1&&(i.setAttribute("width",(t*f).toString()),i.setAttribute("height",(n*f).toString()),e.scale(f,f))},Kn=(i,e)=>{let{width:r,height:t}=e;r&&(i.style.width="number"==typeof r?"".concat(r,"px"):r),t&&(i.style.height="number"==typeof t?"".concat(t,"px"):t)};function _o(i){return void 0!==i.onselectstart&&(i.onselectstart=()=>!1),i.style.userSelect=Di,i}var Zt=class{constructor(i){R(this,"_originalCanvasStyle",void 0),R(this,"lower",void 0);let e=this.createLowerCanvas(i);this.lower={el:e,ctx:e.getContext("2d")}}createLowerCanvas(i){let e=(r=i)&&void 0!==r.getContext?i:i&&nr().getElementById(i)||Ki();var r;if(e.hasAttribute("data-fabric"))throw new $i("Trying to initialize a canvas that has already been initialized. Did you forget to dispose the canvas?");return this._originalCanvasStyle=e.style.cssText,e.setAttribute("data-fabric","main"),e.classList.add("lower-canvas"),e}cleanupDOM(i){let{width:e,height:r}=i,{el:t}=this.lower;t.classList.remove("lower-canvas"),t.removeAttribute("data-fabric"),t.setAttribute("width","".concat(e)),t.setAttribute("height","".concat(r)),t.style.cssText=this._originalCanvasStyle||"",this._originalCanvasStyle=void 0}setDimensions(i,e){let{el:r,ctx:t}=this.lower;ff(r,t,i,e)}setCSSDimensions(i){Kn(this.lower.el,i)}calcOffset(){return function(i){var e;let r=i&&fe(i),t={left:0,top:0};if(!r)return t;let n=(null===(e=of(i))||void 0===e?void 0:e.getComputedStyle(i,null))||{};t.left+=parseInt(n.borderLeftWidth,10)||0,t.top+=parseInt(n.borderTopWidth,10)||0,t.left+=parseInt(n.paddingLeft,10)||0,t.top+=parseInt(n.paddingTop,10)||0;let f={left:0,top:0},a=r.documentElement;void 0!==i.getBoundingClientRect&&(f=i.getBoundingClientRect());let o=nf(i);return{left:f.left+o.left-(a.clientLeft||0)+t.left,top:f.top+o.top-(a.clientTop||0)+t.top}}(this.lower.el)}dispose(){ve().dispose(this.lower.el),delete this.lower}},Pa={backgroundVpt:!0,backgroundColor:"",overlayVpt:!0,overlayColor:"",includeDefaultValues:!0,svgViewportTransformation:!0,renderOnAddRemove:!0,skipOffscreen:!0,enableRetinaScaling:!0,imageSmoothingEnabled:!0,controlsAboveOverlay:!1,allowTouchScrolling:!1,viewportTransform:[...Fi]},Wr=class i extends(Lo(xt)){get lowerCanvasEl(){var i;return null===(i=this.elements.lower)||void 0===i?void 0:i.el}get contextContainer(){var i;return null===(i=this.elements.lower)||void 0===i?void 0:i.ctx}static getDefaults(){return i.ownDefaults}constructor(i){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),Object.assign(this,this.constructor.getDefaults()),this.set(e),this.initElements(i),this._setDimensionsImpl({width:this.width||this.elements.lower.el.width||0,height:this.height||this.elements.lower.el.height||0}),this.skipControlsDrawing=!1,this.viewportTransform=[...this.viewportTransform],this.calcViewportBoundaries()}initElements(i){this.elements=new Zt(i)}add(){let i=super.add(...arguments);return arguments.length>0&&this.renderOnAddRemove&&this.requestRenderAll(),i}insertAt(i){for(var e=arguments.length,r=new Array(e>1?e-1:0),t=1;t0&&this.renderOnAddRemove&&this.requestRenderAll(),n}remove(){let i=super.remove(...arguments);return i.length>0&&this.renderOnAddRemove&&this.requestRenderAll(),i}_onObjectAdded(i){i.canvas&&i.canvas!==this&&(He("warn","Canvas is trying to add an object that belongs to a different canvas.\nResulting to default behavior: removing object from previous canvas and adding to new canvas"),i.canvas.remove(i)),i._set("canvas",this),i.setCoords(),this.fire("object:added",{target:i}),i.fire("added",{target:this})}_onObjectRemoved(i){i._set("canvas",void 0),this.fire("object:removed",{target:i}),i.fire("removed",{target:this})}_onStackOrderChanged(){this.renderOnAddRemove&&this.requestRenderAll()}getRetinaScaling(){return this.enableRetinaScaling?Oo():1}calcOffset(){return this._offset=this.elements.calcOffset()}getWidth(){return this.width}getHeight(){return this.height}setWidth(i,e){return this.setDimensions({width:i},e)}setHeight(i,e){return this.setDimensions({height:i},e)}_setDimensionsImpl(i){let{cssOnly:e=!1,backstoreOnly:r=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e){let e=P({width:this.width,height:this.height},i);this.elements.setDimensions(e,this.getRetinaScaling()),this.hasLostContext=!0,this.width=e.width,this.height=e.height}r||this.elements.setCSSDimensions(i),this.calcOffset()}setDimensions(i,e){this._setDimensionsImpl(i,e),e&&e.cssOnly||this.requestRenderAll()}getZoom(){return this.viewportTransform[0]}setViewportTransform(i){this.viewportTransform=i,this.calcViewportBoundaries(),this.renderOnAddRemove&&this.requestRenderAll()}zoomToPoint(i,e){let r=i,t=[...this.viewportTransform],n=Bi(i,Oi(t));t[0]=e,t[3]=e;let f=Bi(n,t);t[4]+=r.x-f.x,t[5]+=r.y-f.y,this.setViewportTransform(t)}setZoom(i){this.zoomToPoint(new K(0,0),i)}absolutePan(i){let e=[...this.viewportTransform];return e[4]=-i.x,e[5]=-i.y,this.setViewportTransform(e)}relativePan(i){return this.absolutePan(new K(-i.x-this.viewportTransform[4],-i.y-this.viewportTransform[5]))}getElement(){return this.elements.lower.el}clearContext(i){i.clearRect(0,0,this.width,this.height)}getContext(){return this.elements.lower.ctx}clear(){this.remove(...this.getObjects()),this.backgroundImage=void 0,this.overlayImage=void 0,this.backgroundColor="",this.overlayColor="",this.clearContext(this.getContext()),this.fire("canvas:cleared"),this.renderOnAddRemove&&this.requestRenderAll()}renderAll(){this.cancelRequestedRender(),this.destroyed||this.renderCanvas(this.getContext(),this._objects)}renderAndReset(){this.nextRenderHandle=0,this.renderAll()}requestRenderAll(){this.nextRenderHandle||this.disposed||this.destroyed||(this.nextRenderHandle=Cr(()=>this.renderAndReset()))}calcViewportBoundaries(){let i=this.width,e=this.height,r=Oi(this.viewportTransform),t=Bi({x:0,y:0},r),n=Bi({x:i,y:e},r),f=t.min(n),a=t.max(n);return this.vptCoords={tl:f,tr:new K(a.x,f.y),bl:new K(f.x,a.y),br:a}}cancelRequestedRender(){this.nextRenderHandle&&(jo(this.nextRenderHandle),this.nextRenderHandle=0)}drawControls(i){}renderCanvas(i,e){if(this.destroyed)return;let r=this.viewportTransform,t=this.clipPath;this.calcViewportBoundaries(),this.clearContext(i),i.imageSmoothingEnabled=this.imageSmoothingEnabled,i.patternQuality="best",this.fire("before:render",{ctx:i}),this._renderBackground(i),i.save(),i.transform(r[0],r[1],r[2],r[3],r[4],r[5]),this._renderObjects(i,e),i.restore(),this.controlsAboveOverlay||this.skipControlsDrawing||this.drawControls(i),t&&(t._set("canvas",this),t.shouldCache(),t._transformDone=!0,t.renderCache({forClipping:!0}),this.drawClipPathOnCanvas(i,t)),this._renderOverlay(i),this.controlsAboveOverlay&&!this.skipControlsDrawing&&this.drawControls(i),this.fire("after:render",{ctx:i}),this.__cleanupTask&&(this.__cleanupTask(),this.__cleanupTask=void 0)}drawClipPathOnCanvas(i,e){let r=this.viewportTransform;i.save(),i.transform(...r),i.globalCompositeOperation="destination-in",e.transform(i),i.scale(1/e.zoomX,1/e.zoomY),i.drawImage(e._cacheCanvas,-e.cacheTranslationX,-e.cacheTranslationY),i.restore()}_renderObjects(i,e){for(let r=0,t=e.length;r!i.excludeFromExport).map(r=>this._toObject(r,i,e))},this.__serializeBgOverlay(i,e)),t?{clipPath:t}:null)}_toObject(i,e,r){let t;this.includeDefaultValues||(t=i.includeDefaultValues,i.includeDefaultValues=!1);let n=i[e](r);return this.includeDefaultValues||(i.includeDefaultValues=!!t),n}__serializeBgOverlay(i,e){let r={},t=this.backgroundImage,n=this.overlayImage,f=this.backgroundColor,a=this.overlayColor;return ji(f)?f.excludeFromExport||(r.background=f.toObject(e)):f&&(r.background=f),ji(a)?a.excludeFromExport||(r.overlay=a.toObject(e)):a&&(r.overlay=a),t&&!t.excludeFromExport&&(r.backgroundImage=this._toObject(t,i,e)),n&&!n.excludeFromExport&&(r.overlayImage=this._toObject(n,i,e)),r}toSVG(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;i.reviver=e;let r=[];return this._setSVGPreamble(r,i),this._setSVGHeader(r,i),this.clipPath&&r.push('\n')),this._setSVGBgOverlayColor(r,"background"),this._setSVGBgOverlayImage(r,"backgroundImage",e),this._setSVGObjects(r,e),this.clipPath&&r.push("\n"),this._setSVGBgOverlayColor(r,"overlay"),this._setSVGBgOverlayImage(r,"overlayImage",e),r.push(""),r.join("")}_setSVGPreamble(i,e){e.suppressPreamble||i.push('\n','\n')}_setSVGHeader(i,e){let r,t=e.width||"".concat(this.width),n=e.height||"".concat(this.height),f=P0.NUM_FRACTION_DIGITS,a=e.viewBox;if(a)r='viewBox="'.concat(a.x," ").concat(a.y," ").concat(a.width," ").concat(a.height,'" ');else if(this.svgViewportTransformation){let i=this.viewportTransform;r='viewBox="'.concat(ti(-i[4]/i[0],f)," ").concat(ti(-i[5]/i[3],f)," ").concat(ti(this.width/i[0],f)," ").concat(ti(this.height/i[3],f),'" ')}else r='viewBox="0 0 '.concat(this.width," ").concat(this.height,'" ');i.push("\n',"Created with Fabric.js ",jn,"\n","\n",this.createSVGFontFacesMarkup(),this.createSVGRefElementsMarkup(),this.createSVGClipPathMarkup(e),"\n")}createSVGClipPathMarkup(i){let e=this.clipPath;return e?(e.clipPathId="CLIPPATH_".concat(Le()),'\n').concat(e.toClipPathSVG(i.reviver),"\n")):""}createSVGRefElementsMarkup(){return["background","overlay"].map(i=>{let e=this["".concat(i,"Color")];if(ji(e)){let r=this["".concat(i,"Vpt")],t=this.viewportTransform,n={isType:()=>!1,width:this.width/(r?t[0]:1),height:this.height/(r?t[3]:1)};return e.toSVG(n,{additionalTransform:r?Er(t):""})}}).join("")}createSVGFontFacesMarkup(){let i=[],e={},r=P0.fontPaths;this._objects.forEach(function e(r){i.push(r),bt(r)&&r._objects.forEach(e)}),i.forEach(i=>{if(!(t=i)||"function"!=typeof t._renderText)return;var t;let{styles:n,fontFamily:f}=i;!e[f]&&r[f]&&(e[f]=!0,n&&Object.values(n).forEach(i=>{Object.values(i).forEach(i=>{let{fontFamily:t=""}=i;!e[t]&&r[t]&&(e[t]=!0)})}))});let t=Object.keys(e).map(i=>"\t\t@font-face {\n\t\t\tfont-family: '".concat(i,"';\n\t\t\tsrc: url('").concat(r[i],"');\n\t\t}\n")).join("");return t?'\t\n"):""}_setSVGObjects(i,e){this.forEachObject(r=>{r.excludeFromExport||this._setSVGObject(i,r,e)})}_setSVGObject(i,e,r){i.push(e.toSVG(r))}_setSVGBgOverlayImage(i,e,r){let t=this[e];t&&!t.excludeFromExport&&t.toSVG&&i.push(t.toSVG(r))}_setSVGBgOverlayColor(i,e){let r=this["".concat(e,"Color")];if(r)if(ji(r)){let t=r.repeat||"",n=this.width,f=this.height,a=this["".concat(e,"Vpt")]?Er(Oi(this.viewportTransform)):"";i.push('\n'))}else i.push('\n")}loadFromJSON(i,e){let{signal:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!i)return Promise.reject(new $i("`json` is undefined"));let t="string"==typeof i?JSON.parse(i):i,{objects:n=[],backgroundImage:f,background:a,overlayImage:o,overlay:A,clipPath:s}=t,l=this.renderOnAddRemove;return this.renderOnAddRemove=!1,Promise.all([K2(n,{reviver:e,signal:r}),Dr({backgroundImage:f,backgroundColor:a,overlayImage:o,overlayColor:A,clipPath:s},{signal:r})]).then(i=>{let[e,r]=i;return this.clear(),this.add(...e),this.set(t),this.set(r),this.renderOnAddRemove=l,this})}clone(i){let e=this.toObject(i);return this.cloneWithoutData().loadFromJSON(e)}cloneWithoutData(){let i=ue(this);return new this.constructor(i)}toDataURL(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{format:e="png",quality:r=1,multiplier:t=1,enableRetinaScaling:n=!1}=i,f=t*(n?this.getRetinaScaling():1);return S1(this.toCanvasElement(f,i),e,r)}toCanvasElement(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,{width:e,height:r,left:t,top:n,filter:f}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=(e||this.width)*i,o=(r||this.height)*i,A=this.getZoom(),s=this.width,l=this.height,k=this.skipControlsDrawing,h=A*i,u=this.viewportTransform,c=[h,0,0,h,(u[4]-(t||0))*i,(u[5]-(n||0))*i],d=this.enableRetinaScaling,b=ue({width:a,height:o}),p=f?this._objects.filter(i=>f(i)):this._objects;return this.enableRetinaScaling=!1,this.viewportTransform=c,this.width=a,this.height=o,this.skipControlsDrawing=!0,this.calcViewportBoundaries(),this.renderCanvas(b.getContext("2d"),p),this.viewportTransform=u,this.width=s,this.height=l,this.calcViewportBoundaries(),this.enableRetinaScaling=d,this.skipControlsDrawing=k,b}dispose(){return!this.disposed&&this.elements.cleanupDOM({width:this.width,height:this.height}),Bt.cancelByCanvas(this),this.disposed=!0,new Promise((i,e)=>{let r=()=>{this.destroy(),i(!0)};r.kill=e,this.__cleanupTask&&this.__cleanupTask.kill("aborted"),this.destroyed?i(!1):this.nextRenderHandle?this.__cleanupTask=r:r()})}destroy(){this.destroyed=!0,this.cancelRequestedRender(),this.forEachObject(i=>i.dispose()),this._objects=[],this.backgroundImage&&this.backgroundImage.dispose(),this.backgroundImage=void 0,this.overlayImage&&this.overlayImage.dispose(),this.overlayImage=void 0,this.elements.dispose()}toString(){return"#")}};R(Wr,"ownDefaults",Pa);var Na=["touchstart","touchmove","touchend"],af=i=>{let e=nf(i.target),r=function(i){let e=i.changedTouches;return e&&e[0]?e[0]:i}(i);return new K(r.clientX+e.left,r.clientY+e.top)},It=i=>Na.includes(i.type)||"touch"===i.pointerType,i1=i=>{i.preventDefault(),i.stopPropagation()},be=i=>{let e=0,r=0,t=0,n=0;for(let f=0,a=i.length;ft||!f)&&(t=a),(an||!f)&&(n=o),(oir(i,Ai(e,i.calcOwnMatrix())),ir=(i,e)=>{let r=q2(e),{translateX:t,translateY:n,scaleX:f,scaleY:a}=r,o=ni(r,Qa),A=new K(t,n);i.flipX=!1,i.flipY=!1,Object.assign(i,o),i.set({scaleX:f,scaleY:a}),i.setPositionByOrigin(A,V0,V0)},Af=i=>{i.scaleX=1,i.scaleY=1,i.skewX=0,i.skewY=0,i.flipX=!1,i.flipY=!1,i.rotate(0)},D1=i=>({scaleX:i.scaleX,scaleY:i.scaleY,skewX:i.skewX,skewY:i.skewY,angle:i.angle,left:i.left,flipX:i.flipX,flipY:i.flipY,top:i.top}),en=(i,e,r)=>{let t=i/2,n=e/2,f=[new K(-t,-n),new K(t,-n),new K(-t,n),new K(t,n)].map(i=>i.transform(r)),a=be(f);return new K(a.width,a.height)},Mr=function(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Fi;return Ai(Oi(arguments.length>1&&void 0!==arguments[1]?arguments[1]:Fi),i)},Fe=function(i){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Fi,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Fi;return i.transform(Mr(e,r))},lf=function(i){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Fi,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Fi;return i.transform(Mr(e,r),!0)},e1=(i,e,r)=>{let t=Mr(e,r);return ir(i,Ai(t,i.calcOwnMatrix())),t},M1=(i,e)=>{var r;let{transform:{target:t}}=e;null===(r=t.canvas)||void 0===r||r.fire("object:".concat(i),P(P({},e),{},{target:t})),t.fire(i,e)},Ya={left:-.5,top:-.5,center:0,bottom:.5,right:.5},gi=i=>"string"==typeof i?Ya[i]:i-.5,Et="not-allowed";function kf(i){return gi(i.originX)===gi(V0)&&gi(i.originY)===gi(V0)}function yo(i){return.5-gi(i)}var Ae=(i,e)=>i[e],T1=(i,e,r,t)=>({e:i,transform:e,pointer:new K(r,t)});function uf(i,e){let r=i.getTotalAngle()+je(Math.atan2(e.y,e.x))+360;return Math.round(r%360/45)}function rn(i,e,r,t,n){var f;let{target:a,corner:o}=i,A=a.controls[o],s=(null===(f=a.canvas)||void 0===f?void 0:f.getZoom())||1,l=a.padding/s,k=function(i,e,r,t){let n=i.getRelativeCenterPoint(),f=void 0!==r&&void 0!==t?i.translateToGivenOrigin(n,V0,V0,r,t):new K(i.left,i.top);return(i.angle?e.rotate(-si(i.angle),n):e).subtract(f)}(a,new K(t,n),e,r);return k.x>=l&&(k.x-=l),k.x<=-l&&(k.x+=l),k.y>=l&&(k.y-=l),k.y<=l&&(k.y+=l),k.x-=A.offsetX,k.y-=A.offsetY,k}var hf=(i,e,r,t)=>{let{target:n,offsetX:f,offsetY:a}=e,o=r-f,A=t-a,s=!Ae(n,"lockMovementX")&&n.left!==o,l=!Ae(n,"lockMovementY")&&n.top!==A;return s&&n.set(z0,o),l&&n.set(Gi,A),(s||l)&&M1(zo,T1(i,e,r,t)),s||l},Ft=class{getSvgStyles(i){let e=this.fillRule?this.fillRule:"nonzero",r=this.strokeWidth?this.strokeWidth:"0",t=this.strokeDashArray?this.strokeDashArray.join(" "):Di,n=this.strokeDashOffset?this.strokeDashOffset:"0",f=this.strokeLineCap?this.strokeLineCap:"butt",a=this.strokeLineJoin?this.strokeLineJoin:"miter",o=this.strokeMiterLimit?this.strokeMiterLimit:"4",A=void 0!==this.opacity?this.opacity:"1",s=this.visible?"":" visibility: hidden;",l=i?"":this.getSvgFilter(),k=Fr(bi,this.fill);return[Fr(Mi,this.stroke),"stroke-width: ",r,"; ","stroke-dasharray: ",t,"; ","stroke-linecap: ",f,"; ","stroke-dashoffset: ",n,"; ","stroke-linejoin: ",a,"; ","stroke-miterlimit: ",o,"; ",k,"fill-rule: ",e,"; ","opacity: ",A,";",l,s].join("")}getSvgFilter(){return this.shadow?"filter: url(#SVGID_".concat(this.shadow.id,");"):""}getSvgCommons(){return[this.id?'id="'.concat(this.id,'" '):"",this.clipPath?'clip-path="url(#'.concat(this.clipPath.clipPathId,')" '):""].join("")}getSvgTransform(i){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=i?this.calcTransformMatrix():this.calcOwnMatrix(),t='transform="'.concat(Er(r));return"".concat(t).concat(e,'" ')}_toSVG(i){return[""]}toSVG(i){return this._createBaseSVGMarkup(this._toSVG(i),{reviver:i})}toClipPathSVG(i){return"\t"+this._createBaseClipPathSVGMarkup(this._toSVG(i),{reviver:i})}_createBaseClipPathSVGMarkup(i){let{reviver:e,additionalTransform:r=""}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=[this.getSvgTransform(!0,r),this.getSvgCommons()].join(""),n=i.indexOf("COMMON_PARTS");return i[n]=t,e?e(i.join("")):i.join("")}_createBaseSVGMarkup(i){let e,{noStyle:r,reviver:t,withShadow:n,additionalTransform:f}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=r?"":'style="'.concat(this.getSvgStyles(),'" '),o=n?'style="'.concat(this.getSvgFilter(),'" '):"",A=this.clipPath,s=this.strokeUniform?'vector-effect="non-scaling-stroke" ':"",l=A&&A.absolutePositioned,k=this.stroke,h=this.fill,u=this.shadow,c=[],d=i.indexOf("COMMON_PARTS");A&&(A.clipPathId="CLIPPATH_".concat(Le()),e='\n').concat(A.toClipPathSVG(t),"\n")),l&&c.push("\n"),c.push("\n");let b=[a,s,r?"":this.addPaintOrder()," ",f?'transform="'.concat(f,'" '):""].join("");return i[d]=b,ji(h)&&c.push(h.toSVG(this)),ji(k)&&c.push(k.toSVG(this)),u&&c.push(u.toSVG(this)),A&&c.push(e),c.push(i.join("")),c.push("\n"),l&&c.push("\n"),t?t(c.join("")):c.join("")}addPaintOrder(){return this.paintFirst!==bi?' paint-order="'.concat(this.paintFirst,'" '):""}};function tn(i){return new RegExp("^("+i.join("|")+")\\b","i")}var Co,se=String.raw(Co||(Co=$e(["(?:[-+]?(?:d*.d+|d+.?)(?:[eE][-+]?d+)?)"],["(?:[-+]?(?:\\d*\\.\\d+|\\d+\\.?)(?:[eE][-+]?\\d+)?)"]))),Oa=new RegExp("(normal|italic)?\\s*(normal|small-caps)?\\s*(normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900)?\\s*("+se+"(?:px|cm|mm|em|pt|pc|in)*)(?:\\/(normal|"+se+"))?\\s+(.*)"),za={cx:z0,x:z0,r:"radius",cy:Gi,y:Gi,display:"visible",visibility:"visible",transform:"transformMatrix","fill-opacity":"fillOpacity","fill-rule":"fillRule","font-family":"fontFamily","font-size":"fontSize","font-style":"fontStyle","font-weight":"fontWeight","letter-spacing":"charSpacing","paint-order":"paintFirst","stroke-dasharray":"strokeDashArray","stroke-dashoffset":"strokeDashOffset","stroke-linecap":"strokeLineCap","stroke-linejoin":"strokeLineJoin","stroke-miterlimit":"strokeMiterLimit","stroke-opacity":"strokeOpacity","stroke-width":"strokeWidth","text-decoration":"textDecoration","text-anchor":"textAnchor",opacity:"opacity","clip-path":"clipPath","clip-rule":"clipRule","vector-effect":"strokeUniform","image-rendering":"imageSmoothing"},Tn="font-size",Rn="clip-path",gl=tn(["path","circle","polygon","polyline","ellipse","rect","line","image","text"]),bl=tn(["symbol","image","marker","pattern","view","svg"]),Bo=tn(["symbol","g","a","svg","clipPath","defs"]),vl=new RegExp("^\\s*("+se+"+)\\s*,?\\s*("+se+"+)\\s*,?\\s*("+se+"+)\\s*,?\\s*("+se+"+)\\s*$"),Ja=new K(1,0),cf=new K,R1=(i,e)=>i.rotate(e),Wt=(i,e)=>new K(e).subtract(i),St=i=>i.distanceFrom(cf),Xt=(i,e)=>Math.atan2(j2(i,e),mf(i,e)),df=i=>Xt(Ja,i),nn=i=>i.eq(cf)?i:i.scalarDivide(St(i)),P1=function(i){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return nn(new K(-i.y,i.x).scalarMultiply(e?1:-1))},j2=(i,e)=>i.x*e.y-i.y*e.x,mf=(i,e)=>i.x*e.x+i.y*e.y,r1=(i,e,r)=>{if(i.eq(e)||i.eq(r))return!0;let t=j2(e,r),n=j2(e,i),f=j2(r,i);return t>=0?n>=0&&f<=0:!(n<=0&&f>=0)},xo="(-?\\d+(?:\\.\\d*)?(?:px)?(?:\\s?|$))?",Zo=new RegExp("(?:\\s|^)"+xo+xo+"("+se+"?(?:px)?)?(?:\\s?|$)(?:$|\\s)"),Oe=class i{constructor(e){let r="string"==typeof e?i.parseShadow(e):e;Object.assign(this,i.ownDefaults,r),this.id=Le()}static parseShadow(i){let e=i.trim(),[,r=0,t=0,n=0]=(Zo.exec(e)||[]).map(i=>parseFloat(i)||0);return{color:(e.replace(Zo,"")||"rgb(0,0,0)").trim(),offsetX:r,offsetY:t,blur:n}}toString(){return[this.offsetX,this.offsetY,this.blur,this.color].join("px ")}toSVG(i){let e=R1(new K(this.offsetX,this.offsetY),si(-i.angle)),r=new xi(this.color),t=40,n=40;return i.width&&i.height&&(t=100*ti((Math.abs(e.x)+this.blur)/i.width,P0.NUM_FRACTION_DIGITS)+20,n=100*ti((Math.abs(e.y)+this.blur)/i.height,P0.NUM_FRACTION_DIGITS)+20),i.flipX&&(e.x*=-1),i.flipY&&(e.y*=-1),'\n\t\n\t\n\t\n\t\n\t\n\t\t\n\t\t\n\t\n\n')}toObject(){let e={color:this.color,blur:this.blur,offsetX:this.offsetX,offsetY:this.offsetY,affectStroke:this.affectStroke,nonScaling:this.nonScaling,type:this.constructor.type},r=i.ownDefaults;return this.includeDefaultValues?e:G1(e,(i,e)=>i!==r[e])}static async fromObject(i){return new this(i)}};R(Oe,"ownDefaults",{color:"rgb(0,0,0)",blur:0,offsetX:0,offsetY:0,affectStroke:!1,includeDefaultValues:!0,nonScaling:!1}),R(Oe,"type","shadow"),d0.setClass(Oe,"shadow");var F2=(i,e,r)=>Math.max(i,Math.min(e,r)),Ha=[Gi,z0,Wi,zi,"flipX","flipY","originX","originY","angle","opacity","globalCompositeOperation","shadow","visible",or,fr],Se=[bi,Mi,"strokeWidth","strokeDashArray","width","height","paintFirst","strokeUniform","strokeLineCap","strokeDashOffset","strokeLineJoin","strokeMiterLimit","backgroundColor","clipPath"],Ua={top:0,left:0,width:0,height:0,angle:0,flipX:!1,flipY:!1,scaleX:1,scaleY:1,minScaleLimit:0,skewX:0,skewY:0,originX:z0,originY:Gi,strokeWidth:1,strokeUniform:!1,padding:0,opacity:1,paintFirst:bi,fill:"rgb(0,0,0)",fillRule:"nonzero",stroke:null,strokeDashArray:null,strokeDashOffset:0,strokeLineCap:"butt",strokeLineJoin:"miter",strokeMiterLimit:4,globalCompositeOperation:"source-over",backgroundColor:"",shadow:null,visible:!0,includeDefaultValues:!0,excludeFromExport:!1,objectCaching:!0,clipPath:void 0,inverted:!1,absolutePositioned:!1,centeredRotation:!0,centeredScaling:!1,dirty:!0},Pn=(i,e,r,t)=>(ii*Math.pow(2,10*(t-=1))*Math.sin((t*n-e)*We/r),pf=(i,e,r,t)=>-r*Math.cos(i/t*Ue)+r+e,t1=(i,e,r,t)=>(i/=t)<1/2.75?r*(7.5625*i*i)+e:i<2/2.75?r*(7.5625*(i-=1.5/2.75)*i+.75)+e:i<2.5/2.75?r*(7.5625*(i-=2.25/2.75)*i+.9375)+e:r*(7.5625*(i-=2.625/2.75)*i+.984375)+e,Eo=(i,e,r,t)=>r-t1(t-i,0,r,t)+e,La=Object.freeze({__proto__:null,defaultEasing:pf,easeInBack:function(i,e,r,t){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1.70158;return r*(i/=t)*i*((n+1)*i-n)+e},easeInBounce:Eo,easeInCirc:(i,e,r,t)=>-r*(Math.sqrt(1-(i/=t)*i)-1)+e,easeInCubic:(i,e,r,t)=>r*(i/t)**3+e,easeInElastic:(i,e,r,t)=>{let n=r,f=0;if(0===i)return e;if(1===(i/=t))return e+r;f||(f=.3*t);let{a:a,s:o,p:A}=Pn(n,r,f,1.70158);return-Io(a,o,A,i,t)+e},easeInExpo:(i,e,r,t)=>0===i?e:r*2**(10*(i/t-1))+e,easeInOutBack:function(i,e,r,t){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1.70158;return(i/=t/2)<1?r/2*(i*i*((1+(n*=1.525))*i-n))+e:r/2*((i-=2)*i*((1+(n*=1.525))*i+n)+2)+e},easeInOutBounce:(i,e,r,t)=>i(i/=t/2)<1?-r/2*(Math.sqrt(1-i**2)-1)+e:r/2*(Math.sqrt(1-(i-=2)*i)+1)+e,easeInOutCubic:(i,e,r,t)=>(i/=t/2)<1?r/2*i**3+e:r/2*((i-2)**3+2)+e,easeInOutElastic:(i,e,r,t)=>{let n=r,f=0;if(0===i)return e;if(2==(i/=t/2))return e+r;f||(f=t*(.3*1.5));let{a:a,s:o,p:A,c:s}=Pn(n,r,f,1.70158);return i<1?-.5*Io(a,o,A,i,t)+e:a*Math.pow(2,-10*(i-=1))*Math.sin((i*t-o)*We/A)*.5+s+e},easeInOutExpo:(i,e,r,t)=>0===i?e:i===t?e+r:(i/=t/2)<1?r/2*2**(10*(i-1))+e:r/2*-(2**(-10*--i)+2)+e,easeInOutQuad:(i,e,r,t)=>(i/=t/2)<1?r/2*i**2+e:-r/2*(--i*(i-2)-1)+e,easeInOutQuart:(i,e,r,t)=>(i/=t/2)<1?r/2*i**4+e:-r/2*((i-=2)*i**3-2)+e,easeInOutQuint:(i,e,r,t)=>(i/=t/2)<1?r/2*i**5+e:r/2*((i-2)**5+2)+e,easeInOutSine:(i,e,r,t)=>-r/2*(Math.cos(Math.PI*i/t)-1)+e,easeInQuad:(i,e,r,t)=>r*(i/=t)*i+e,easeInQuart:(i,e,r,t)=>r*(i/=t)*i**3+e,easeInQuint:(i,e,r,t)=>r*(i/t)**5+e,easeInSine:(i,e,r,t)=>-r*Math.cos(i/t*Ue)+r+e,easeOutBack:function(i,e,r,t){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1.70158;return r*((i=i/t-1)*i*((n+1)*i+n)+1)+e},easeOutBounce:t1,easeOutCirc:(i,e,r,t)=>r*Math.sqrt(1-(i=i/t-1)*i)+e,easeOutCubic:(i,e,r,t)=>r*((i/t-1)**3+1)+e,easeOutElastic:(i,e,r,t)=>{let n=r,f=0;if(0===i)return e;if(1===(i/=t))return e+r;f||(f=.3*t);let{a:a,s:o,p:A,c:s}=Pn(n,r,f,1.70158);return a*2**(-10*i)*Math.sin((i*t-o)*We/A)+s+e},easeOutExpo:(i,e,r,t)=>i===t?e+r:r*-(2**(-10*i/t)+1)+e,easeOutQuad:(i,e,r,t)=>-r*(i/=t)*(i-2)+e,easeOutQuart:(i,e,r,t)=>-r*((i=i/t-1)*i**3-1)+e,easeOutQuint:(i,e,r,t)=>r*((i/t-1)**5+1)+e,easeOutSine:(i,e,r,t)=>r*Math.sin(i/t*Ue)+e}),ja=()=>!1,Sr=class{constructor(i){let{startValue:e,byValue:r,duration:t=500,delay:n=0,easing:f=pf,onStart:a=Z2,onChange:o=Z2,onComplete:A=Z2,abort:s=ja,target:l}=i;R(this,"_state","pending"),R(this,"durationProgress",0),R(this,"valueProgress",0),this.tick=this.tick.bind(this),this.duration=t,this.delay=n,this.easing=f,this._onStart=a,this._onChange=o,this._onComplete=A,this._abort=s,this.target=l,this.startValue=e,this.byValue=r,this.value=this.startValue,this.endValue=Object.freeze(this.calculate(this.duration).value)}get state(){return this._state}isDone(){return"aborted"===this._state||"completed"===this._state}start(){let i=i=>{"pending"===this._state&&(this.startTime=i||+new Date,this._state="running",this._onStart(),this.tick(this.startTime))};this.register(),this.delay>0?setTimeout(()=>Cr(i),this.delay):Cr(i)}tick(i){let e=(i||+new Date)-this.startTime,r=Math.min(e,this.duration);this.durationProgress=r/this.duration;let{value:t,valueProgress:n}=this.calculate(r);this.value=Object.freeze(t),this.valueProgress=n,"aborted"!==this._state&&(this._abort(this.value,this.valueProgress,this.durationProgress)?(this._state="aborted",this.unregister()):e>=this.duration?(this.durationProgress=this.valueProgress=1,this._onChange(this.endValue,this.valueProgress,this.durationProgress),this._state="completed",this._onComplete(this.endValue,this.valueProgress,this.durationProgress),this.unregister()):(this._onChange(this.value,this.valueProgress,this.durationProgress),Cr(this.tick)))}register(){Bt.push(this)}unregister(){Bt.remove(this)}abort(){this._state="aborted",this.unregister()}},$a=["startValue","endValue"],n1=class extends Sr{constructor(i){let{startValue:e=0,endValue:r=100}=i;super(P(P({},ni(i,$a)),{},{startValue:e,byValue:r-e}))}calculate(i){let e=this.easing(i,this.startValue,this.byValue,this.duration);return{value:e,valueProgress:Math.abs((e-this.startValue)/this.byValue)}}},qa=["startValue","endValue"],o1=class extends Sr{constructor(i){let{startValue:e=[0],endValue:r=[100]}=i;super(P(P({},ni(i,qa)),{},{startValue:e,byValue:r.map((i,r)=>i-e[r])}))}calculate(i){let e=this.startValue.map((e,r)=>this.easing(i,e,this.byValue[r],this.duration,r));return{value:e,valueProgress:Math.abs((e[0]-this.startValue[0])/this.byValue[0])}}},Ka=["startValue","endValue","easing","onChange","onComplete","abort"],is=(i,e,r,t)=>e+r*(1-Math.cos(i/t*Ue)),Nn=i=>i&&((e,r,t)=>i(new xi(e).toRgba(),r,t)),f1=class extends Sr{constructor(i){let{startValue:e,endValue:r,easing:t=is,onChange:n,onComplete:f,abort:a}=i,o=ni(i,Ka),A=new xi(e).getSource(),s=new xi(r).getSource();super(P(P({},o),{},{startValue:A,byValue:s.map((i,e)=>i-A[e]),easing:t,onChange:Nn(n),onComplete:Nn(f),abort:Nn(a)}))}calculate(i){let[e,r,t,n]=this.startValue.map((e,r)=>this.easing(i,e,this.byValue[r],this.duration,r)),f=[...[e,r,t].map(Math.round),F2(0,n,1)];return{value:f,valueProgress:f.map((i,e)=>0!==this.byValue[e]?Math.abs((i-this.startValue[e])/this.byValue[e]):0).find(i=>0!==i)||0}}};function N1(i){let e=(r=i,Array.isArray(r.startValue)||Array.isArray(r.endValue)?new o1(i):new n1(i));var r;return e.start(),e}function gf(i){let e=new f1(i);return e.start(),e}var E2=class i{constructor(i){this.status=i,this.points=[]}includes(i){return this.points.some(e=>e.eq(i))}append(){for(var i=arguments.length,e=new Array(i),r=0;r!this.includes(i))),this}static isPointContained(i,e,r){let t=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(e.eq(r))return i.eq(e);if(e.x===r.x)return i.x===e.x&&(t||i.y>=Math.min(e.y,r.y)&&i.y<=Math.max(e.y,r.y));if(e.y===r.y)return i.y===e.y&&(t||i.x>=Math.min(e.x,r.x)&&i.x<=Math.max(e.x,r.x));{let n=Wt(e,r),f=Wt(e,i).divide(n);return t?Math.abs(f.x)===Math.abs(f.y):f.x===f.y&&f.x>=0&&f.x<=1}}static isPointInPolygon(i,e){let r=new K(i).setX(Math.min(i.x-1,...e.map(i=>i.x))),t=0;for(let n=0;n4&&void 0!==arguments[4])||arguments[4],a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],o=r.x-e.x,A=r.y-e.y,s=n.x-t.x,l=n.y-t.y,k=e.x-t.x,h=e.y-t.y,u=s*h-l*k,c=o*h-A*k,d=l*o-s*A;if(0!==d){let r=u/d,t=c/d;return(f||0<=r&&r<=1)&&(a||0<=t&&t<=1)?new i("Intersection").append(new K(e.x+r*o,e.y+r*A)):new i}if(0===u||0===c){let o=f||a||i.isPointContained(e,t,n)||i.isPointContained(r,t,n)||i.isPointContained(t,e,r)||i.isPointContained(n,e,r);return new i(o?"Coincident":void 0)}return new i("Parallel")}static intersectSegmentLine(e,r,t,n){return i.intersectLineLine(e,r,t,n,!1,!0)}static intersectSegmentSegment(e,r,t,n){return i.intersectLineLine(e,r,t,n,!1,!1)}static intersectLinePolygon(e,r,t){let n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],f=new i,a=t.length;for(let o,A,s,l=0;l0&&(f.status="Intersection"),f}static intersectSegmentPolygon(e,r,t){return i.intersectLinePolygon(e,r,t,!1)}static intersectPolygonPolygon(e,r){let t=new i,n=e.length,f=[];for(let a=0;a0&&f.length===e.length?new i("Coincident"):(t.points.length>0&&(t.status="Intersection"),t)}static intersectPolygonRectangle(e,r,t){let n=r.min(t),f=r.max(t),a=new K(f.x,n.y),o=new K(n.x,f.y);return i.intersectPolygonPolygon(e,[n,a,f,o])}},a1=class extends xt{getX(){return this.getXY().x}setX(i){this.setXY(this.getXY().setX(i))}getY(){return this.getXY().y}setY(i){this.setXY(this.getXY().setY(i))}getRelativeX(){return this.left}setRelativeX(i){this.left=i}getRelativeY(){return this.top}setRelativeY(i){this.top=i}getXY(){let i=this.getRelativeXY();return this.group?Bi(i,this.group.calcTransformMatrix()):i}setXY(i,e,r){this.group&&(i=Bi(i,Oi(this.group.calcTransformMatrix()))),this.setRelativeXY(i,e,r)}getRelativeXY(){return new K(this.left,this.top)}setRelativeXY(i){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.originX,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.originY;this.setPositionByOrigin(i,e,r)}isStrokeAccountedForInDimensions(){return!1}getCoords(){let{tl:i,tr:e,br:r,bl:t}=this.aCoords||(this.aCoords=this.calcACoords()),n=[i,e,r,t];if(this.group){let i=this.group.calcTransformMatrix();return n.map(e=>Bi(e,i))}return n}intersectsWithRect(i,e){return"Intersection"===E2.intersectPolygonRectangle(this.getCoords(),i,e).status}intersectsWithObject(i){let e=E2.intersectPolygonPolygon(this.getCoords(),i.getCoords());return"Intersection"===e.status||"Coincident"===e.status||i.isContainedWithinObject(this)||this.isContainedWithinObject(i)}isContainedWithinObject(i){return this.getCoords().every(e=>i.containsPoint(e))}isContainedWithinRect(i,e){let{left:r,top:t,width:n,height:f}=this.getBoundingRect();return r>=i.x&&r+n<=e.x&&t>=i.y&&t+f<=e.y}isOverlapping(i){return this.intersectsWithObject(i)||this.isContainedWithinObject(i)||i.isContainedWithinObject(this)}containsPoint(i){return E2.isPointInPolygon(i,this.getCoords())}isOnScreen(){if(!this.canvas)return!1;let{tl:i,br:e}=this.canvas.vptCoords;return!!this.getCoords().some(r=>r.x<=e.x&&r.x>=i.x&&r.y<=e.y&&r.y>=i.y)||!!this.intersectsWithRect(i,e)||this.containsPoint(i.midPointFrom(e))}isPartiallyOnScreen(){if(!this.canvas)return!1;let{tl:i,br:e}=this.canvas.vptCoords;return!!this.intersectsWithRect(i,e)||this.getCoords().every(r=>(r.x>=e.x||r.x<=i.x)&&(r.y>=e.y||r.y<=i.y))&&this.containsPoint(i.midPointFrom(e))}getBoundingRect(){return be(this.getCoords())}getScaledWidth(){return this._getTransformedDimensions().x}getScaledHeight(){return this._getTransformedDimensions().y}scale(i){this._set(Wi,i),this._set(zi,i),this.setCoords()}scaleToWidth(i){let e=this.getBoundingRect().width/this.getScaledWidth();return this.scale(i/this.width/e)}scaleToHeight(i){let e=this.getBoundingRect().height/this.getScaledHeight();return this.scale(i/this.height/e)}getCanvasRetinaScaling(){var i;return(null===(i=this.canvas)||void 0===i?void 0:i.getRetinaScaling())||1}getTotalAngle(){return this.group?je(Ko(this.calcTransformMatrix())):this.angle}getViewportTransform(){var i;return(null===(i=this.canvas)||void 0===i?void 0:i.viewportTransform)||Fi.concat()}calcACoords(){let i=sr({angle:this.angle}),{x:e,y:r}=this.getRelativeCenterPoint(),t=ar(e,r),n=Ai(t,i),f=this._getTransformedDimensions(),a=f.x/2,o=f.y/2;return{tl:Bi({x:-a,y:-o},n),tr:Bi({x:a,y:-o},n),bl:Bi({x:-a,y:o},n),br:Bi({x:a,y:o},n)}}setCoords(){this.aCoords=this.calcACoords()}transformMatrixKey(){let i=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=[];return!i&&this.group&&(e=this.group.transformMatrixKey(i)),e.push(this.top,this.left,this.width,this.height,this.scaleX,this.scaleY,this.angle,this.strokeWidth,this.skewX,this.skewY,+this.flipX,+this.flipY,gi(this.originX),gi(this.originY)),e}calcTransformMatrix(){let i=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.calcOwnMatrix();if(i||!this.group)return e;let r=this.transformMatrixKey(i),t=this.matrixCache;return t&&t.key.every((i,e)=>i===r[e])?t.value:(this.group&&(e=Ai(this.group.calcTransformMatrix(!1),e)),this.matrixCache={key:r,value:e},e)}calcOwnMatrix(){let i=this.transformMatrixKey(!0),e=this.ownMatrixCache;if(e&&e.key===i)return e.value;let r=this.getRelativeCenterPoint(),t={angle:this.angle,translateX:r.x,translateY:r.y,scaleX:this.scaleX,scaleY:this.scaleY,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY},n=rf(t);return this.ownMatrixCache={key:i,value:n},n}_getNonTransformedDimensions(){return new K(this.width,this.height).scalarAdd(this.strokeWidth)}_calculateCurrentDimensions(i){return this._getTransformedDimensions(i).transform(this.getViewportTransform(),!0).scalarAdd(2*this.padding)}_getTransformedDimensions(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=P({scaleX:this.scaleX,scaleY:this.scaleY,skewX:this.skewX,skewY:this.skewY,width:this.width,height:this.height,strokeWidth:this.strokeWidth},i),r=e.strokeWidth,t=r,n=0;this.strokeUniform&&(t=0,n=r);let f,a=e.width+t,o=e.height+t;return f=0===e.skewX&&0===e.skewY?new K(a*e.scaleX,o*e.scaleY):en(a,o,Gr(e)),f.scalarAdd(n)}translateToGivenOrigin(i,e,r,t,n){let f=i.x,a=i.y,o=gi(t)-gi(e),A=gi(n)-gi(r);if(o||A){let i=this._getTransformedDimensions();f+=o*i.x,a+=A*i.y}return new K(f,a)}translateToCenterPoint(i,e,r){if(e===V0&&r===V0)return i;let t=this.translateToGivenOrigin(i,e,r,V0,V0);return this.angle?t.rotate(si(this.angle),i):t}translateToOriginPoint(i,e,r){let t=this.translateToGivenOrigin(i,V0,V0,e,r);return this.angle?t.rotate(si(this.angle),i):t}getCenterPoint(){let i=this.getRelativeCenterPoint();return this.group?Bi(i,this.group.calcTransformMatrix()):i}getRelativeCenterPoint(){return this.translateToCenterPoint(new K(this.left,this.top),this.originX,this.originY)}getPointByOrigin(i,e){return this.translateToOriginPoint(this.getRelativeCenterPoint(),i,e)}setPositionByOrigin(i,e,r){let t=this.translateToCenterPoint(i,e,r),n=this.translateToOriginPoint(t,this.originX,this.originY);this.set({left:n.x,top:n.y})}_getLeftTopCoords(){return this.translateToOriginPoint(this.getRelativeCenterPoint(),z0,Gi)}},es=["type"],rs=["extraParam"],xe=class i extends a1{static getDefaults(){return i.ownDefaults}get type(){let i=this.constructor.type;return"FabricObject"===i?"object":i.toLowerCase()}set type(i){He("warn","Setting type has no effect",i)}constructor(e){super(),R(this,"_cacheContext",null),Object.assign(this,i.ownDefaults),this.setOptions(e)}_createCacheCanvas(){this._cacheCanvas=Ki(),this._cacheContext=this._cacheCanvas.getContext("2d"),this._updateCacheCanvas(),this.dirty=!0}_limitCacheSize(i){let e=i.width,r=i.height,t=P0.maxCacheSideLimit,n=P0.minCacheSideLimit;if(e<=t&&r<=t&&e*r<=P0.perfLimitSizeTotal)return eA&&(i.zoomX/=e/A,i.width=A,i.capped=!0),r>s&&(i.zoomY/=r/s,i.height=s,i.capped=!0),i}_getCacheCanvasDimensions(){let i=this.getTotalObjectScaling(),e=this._getTransformedDimensions({skewX:0,skewY:0}),r=e.x*i.x/this.scaleX,t=e.y*i.y/this.scaleY;return{width:Math.ceil(r+2),height:Math.ceil(t+2),zoomX:i.x,zoomY:i.y,x:r,y:t}}_updateCacheCanvas(){let i=this._cacheCanvas,e=this._cacheContext,{width:r,height:t,zoomX:n,zoomY:f,x:a,y:o}=this._limitCacheSize(this._getCacheCanvasDimensions()),A=r!==i.width||t!==i.height,s=this.zoomX!==n||this.zoomY!==f;if(!i||!e)return!1;if(A||s){r!==i.width||t!==i.height?(i.width=r,i.height=t):(e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,i.width,i.height));let A=a/2,s=o/2;return this.cacheTranslationX=Math.round(i.width/2-A)+A,this.cacheTranslationY=Math.round(i.height/2-s)+s,e.translate(this.cacheTranslationX,this.cacheTranslationY),e.scale(n,f),this.zoomX=n,this.zoomY=f,!0}return!1}setOptions(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setOptions(i)}transform(i){let e=this.group&&!this.group._transformDone||this.group&&this.canvas&&i===this.canvas.contextTop,r=this.calcTransformMatrix(!e);i.transform(r[0],r[1],r[2],r[3],r[4],r[5])}getObjectScaling(){if(!this.group)return new K(Math.abs(this.scaleX),Math.abs(this.scaleY));let i=q2(this.calcTransformMatrix());return new K(Math.abs(i.scaleX),Math.abs(i.scaleY))}getTotalObjectScaling(){let i=this.getObjectScaling();if(this.canvas){let e=this.canvas.getZoom(),r=this.getCanvasRetinaScaling();return i.scalarMultiply(e*r)}return i}getObjectOpacity(){let i=this.opacity;return this.group&&(i*=this.group.getObjectOpacity()),i}_constrainScale(i){return Math.abs(i){i.transform(t)}),e.parentClipPaths.push(i),i.absolutePositioned){let i=Oi(this.calcTransformMatrix());t.transform(i[0],i[1],i[2],i[3],i[4],i[5])}return i.transform(t),i.drawObject(t,!0,e),r}_drawClipPath(i,e,r){if(!e)return;e._transformDone=!0;let t=this.createClipPathLayer(e,r);this.drawClipPathOnCache(i,e,t)}drawCacheOnCanvas(i){i.scale(1/this.zoomX,1/this.zoomY),i.drawImage(this._cacheCanvas,-this.cacheTranslationX,-this.cacheTranslationY)}isCacheDirty(){let i=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.isNotVisible())return!1;let e=this._cacheCanvas,r=this._cacheContext;return!(!e||!r||i||!this._updateCacheCanvas())||!!(this.dirty||this.clipPath&&this.clipPath.absolutePositioned)&&(e&&r&&!i&&(r.save(),r.setTransform(1,0,0,1,0,0),r.clearRect(0,0,e.width,e.height),r.restore()),!0)}_renderBackground(i){if(!this.backgroundColor)return;let e=this._getNonTransformedDimensions();i.fillStyle=this.backgroundColor,i.fillRect(-e.x/2,-e.y/2,e.x,e.y),this._removeShadow(i)}_setOpacity(i){this.group&&!this.group._transformDone?i.globalAlpha=this.getObjectOpacity():i.globalAlpha*=this.opacity}_setStrokeStyles(i,e){let r=e.stroke;r&&(i.lineWidth=e.strokeWidth,i.lineCap=e.strokeLineCap,i.lineDashOffset=e.strokeDashOffset,i.lineJoin=e.strokeLineJoin,i.miterLimit=e.strokeMiterLimit,ji(r)?"percentage"===r.gradientUnits||r.gradientTransform||r.patternTransform?this._applyPatternForTransformedGradient(i,r):(i.strokeStyle=r.toLive(i),this._applyPatternGradientTransform(i,r)):i.strokeStyle=e.stroke)}_setFillStyles(i,e){let{fill:r}=e;r&&(ji(r)?(i.fillStyle=r.toLive(i),this._applyPatternGradientTransform(i,r)):i.fillStyle=r)}_setClippingProperties(i){i.globalAlpha=1,i.strokeStyle="transparent",i.fillStyle="#000000"}_setLineDash(i,e){e&&0!==e.length&&i.setLineDash(e)}_setShadow(i){if(!this.shadow)return;let e=this.shadow,r=this.canvas,t=this.getCanvasRetinaScaling(),[n,,,f]=r?.viewportTransform||Fi,a=n*t,o=f*t,A=e.nonScaling?new K(1,1):this.getObjectScaling();i.shadowColor=e.color,i.shadowBlur=e.blur*P0.browserShadowBlurConstant*(a+o)*(A.x+A.y)/4,i.shadowOffsetX=e.offsetX*a*A.x,i.shadowOffsetY=e.offsetY*o*A.y}_removeShadow(i){this.shadow&&(i.shadowColor="",i.shadowBlur=i.shadowOffsetX=i.shadowOffsetY=0)}_applyPatternGradientTransform(i,e){if(!ji(e))return{offsetX:0,offsetY:0};let r=e.gradientTransform||e.patternTransform,t=-this.width/2+e.offsetX||0,n=-this.height/2+e.offsetY||0;return"percentage"===e.gradientUnits?i.transform(this.width,0,0,this.height,t,n):i.transform(1,0,0,1,t,n),r&&i.transform(r[0],r[1],r[2],r[3],r[4],r[5]),{offsetX:t,offsetY:n}}_renderPaintInOrder(i){this.paintFirst===Mi?(this._renderStroke(i),this._renderFill(i)):(this._renderFill(i),this._renderStroke(i))}_render(i){}_renderFill(i){this.fill&&(i.save(),this._setFillStyles(i,this),"evenodd"===this.fillRule?i.fill("evenodd"):i.fill(),i.restore())}_renderStroke(i){if(this.stroke&&0!==this.strokeWidth){if(this.shadow&&!this.shadow.affectStroke&&this._removeShadow(i),i.save(),this.strokeUniform){let e=this.getObjectScaling();i.scale(1/e.x,1/e.y)}this._setLineDash(i,this.strokeDashArray),this._setStrokeStyles(i,this),i.stroke(),i.restore()}}_applyPatternForTransformedGradient(i,e){var r;let t=this._limitCacheSize(this._getCacheCanvasDimensions()),n=this.getCanvasRetinaScaling(),f=t.x/this.scaleX/n,a=t.y/this.scaleY/n,o=ue({width:Math.ceil(f),height:Math.ceil(a)}),A=o.getContext("2d");A&&(A.beginPath(),A.moveTo(0,0),A.lineTo(f,0),A.lineTo(f,a),A.lineTo(0,a),A.closePath(),A.translate(f/2,a/2),A.scale(t.zoomX/this.scaleX/n,t.zoomY/this.scaleY/n),this._applyPatternGradientTransform(A,e),A.fillStyle=e.toLive(i),A.fill(),i.translate(-this.width/2-this.strokeWidth/2,-this.height/2-this.strokeWidth/2),i.scale(n*this.scaleX/t.zoomX,n*this.scaleY/t.zoomY),i.strokeStyle=null!==(r=A.createPattern(o,"no-repeat"))&&void 0!==r?r:"")}_findCenterFromElement(){return new K(this.left+this.width/2,this.top+this.height/2)}clone(i){let e=this.toObject(i);return this.constructor.fromObject(e)}cloneAsImage(i){let e=this.toCanvasElement(i);return new(d0.getClass("image"))(e)}toCanvasElement(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=D1(this),r=this.group,t=this.shadow,n=Math.abs,f=i.enableRetinaScaling?Oo():1,a=(i.multiplier||1)*f,o=i.canvasProvider||(i=>new Wr(i,{enableRetinaScaling:!1,renderOnAddRemove:!1,skipOffscreen:!1}));delete this.group,i.withoutTransform&&Af(this),i.withoutShadow&&(this.shadow=null),i.viewportTransform&&e1(this,this.getViewportTransform()),this.setCoords();let A=Ki(),s=this.getBoundingRect(),l=this.shadow,k=new K;if(l){let i=l.blur,e=l.nonScaling?new K(1,1):this.getObjectScaling();k.x=2*Math.round(n(l.offsetX)+i)*n(e.x),k.y=2*Math.round(n(l.offsetY)+i)*n(e.y)}let h=s.width+k.x,u=s.height+k.y;A.width=Math.ceil(h),A.height=Math.ceil(u);let c=o(A);"jpeg"===i.format&&(c.backgroundColor="#fff"),this.setPositionByOrigin(new K(c.width/2,c.height/2),V0,V0);let d=this.canvas;c._objects=[this],this.set("canvas",c),this.setCoords();let b=c.toCanvasElement(a||1,i);return this.set("canvas",d),this.shadow=t,r&&(this.group=r),this.set(e),this.setCoords(),c._objects=[],c.destroy(),b}toDataURL(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return S1(this.toCanvasElement(i),i.format||"png",i.quality||1)}isType(){for(var i=arguments.length,e=new Array(i),r=0;r{let[t,n]=r;return i[t]=this._animate(t,n,e),i},{})}_animate(i,e){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},t=i.split("."),n=this.constructor.colorProperties.includes(t[t.length-1]),{abort:f,startValue:a,onChange:o,onComplete:A}=r,s=P(P({},r),{},{target:this,startValue:a??t.reduce((i,e)=>i[e],this),endValue:e,abort:f?.bind(this),onChange:(i,e,r)=>{t.reduce((e,r,n)=>(n===t.length-1&&(e[r]=i),e[r]),this),o&&o(i,e,r)},onComplete:(i,e,r)=>{this.setCoords(),A&&A(i,e,r)}});return n?gf(s):N1(s)}isDescendantOf(i){let{parent:e,group:r}=this;return e===i||r===i||!!e&&e.isDescendantOf(i)||!!r&&r!==e&&r.isDescendantOf(i)}getAncestors(){let i=[],e=this;do{e=e.parent,e&&i.push(e)}while(e);return i}findCommonAncestors(i){if(this===i)return{fork:[],otherFork:[],common:[this,...this.getAncestors()]};let e=this.getAncestors(),r=i.getAncestors();if(0===e.length&&r.length>0&&this===r[r.length-1])return{fork:[],otherFork:[i,...r.slice(0,r.length-1)],common:[this]};for(let t,n=0;n-1&&f>a}toObject(){let e,r=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).concat(i.customProperties,this.constructor.customProperties||[]),t=P0.NUM_FRACTION_DIGITS,{clipPath:n,fill:f,stroke:a,shadow:o,strokeDashArray:A,left:s,top:l,originX:k,originY:h,width:u,height:c,strokeWidth:d,strokeLineCap:b,strokeDashOffset:p,strokeLineJoin:g,strokeUniform:m,strokeMiterLimit:v,scaleX:w,scaleY:_,angle:y,flipX:C,flipY:B,opacity:x,visible:Z,backgroundColor:I,fillRule:W,paintFirst:E,globalCompositeOperation:F,skewX:S,skewY:X}=this;n&&!n.excludeFromExport&&(e=n.toObject(r.concat("inverted","absolutePositioned")));let V=i=>ti(i,t),G=P(P({},S2(this,r)),{},{type:this.constructor.type,version:jn,originX:k,originY:h,left:V(s),top:V(l),width:V(u),height:V(c),fill:vo(f)?f.toObject():f,stroke:vo(a)?a.toObject():a,strokeWidth:V(d),strokeDashArray:A&&A.concat(),strokeLineCap:b,strokeDashOffset:p,strokeLineJoin:g,strokeUniform:m,strokeMiterLimit:V(v),scaleX:V(w),scaleY:V(_),angle:V(y),flipX:C,flipY:B,opacity:V(x),shadow:o&&o.toObject(),visible:Z,backgroundColor:I,fillRule:W,paintFirst:E,globalCompositeOperation:F,skewX:V(S),skewY:V(X)},e?{clipPath:e}:null);return this.includeDefaultValues?G:this._removeDefaultValues(G)}toDatalessObject(i){return this.toObject(i)}_removeDefaultValues(i){let e=this.constructor.getDefaults(),r=Object.keys(e).length>0?e:Object.getPrototypeOf(this);return G1(i,(i,e)=>{if(e===z0||e===Gi||"type"===e)return!0;let t=r[e];return i!==t&&!(Array.isArray(i)&&Array.isArray(t)&&0===i.length&&0===t.length)})}toString(){return"#<".concat(this.constructor.type,">")}static _fromObject(i){let e=ni(i,es),r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{extraParam:t}=r,n=ni(r,rs);return Dr(e,n).then(i=>t?(delete i[t],new this(e[t],i)):new this(i))}static fromObject(i,e){return this._fromObject(i,e)}};R(xe,"stateProperties",Ha),R(xe,"cacheProperties",Se),R(xe,"ownDefaults",Ua),R(xe,"type","FabricObject"),R(xe,"colorProperties",[bi,Mi,"backgroundColor"]),R(xe,"customProperties",[]),d0.setClass(xe),d0.setClass(xe,"object");var qe=(i,e,r)=>(t,n,f,a)=>{let o=e(t,n,f,a);return o&&M1(i,P(P({},T1(t,n,f,a)),r)),o};function X2(i){return(e,r,t,n)=>{let{target:f,originX:a,originY:o}=r,A=f.getRelativeCenterPoint(),s=f.translateToOriginPoint(A,a,o),l=i(e,r,t,n);return f.setPositionByOrigin(s,r.originX,r.originY),l}}var s1=qe(Ir,X2((i,e,r,t)=>{let n=rn(e,e.originX,e.originY,r,t);if(gi(e.originX)===gi(V0)||gi(e.originX)===gi(ui)&&n.x<0||gi(e.originX)===gi(z0)&&n.x>0){let{target:i}=e,r=i.strokeWidth/(i.strokeUniform?i.scaleX:1),t=kf(e)?2:1,f=i.width,a=Math.abs(n.x*t/i.scaleX)-r;return i.set("width",Math.max(a,1)),f!==i.width}return!1}));function bf(i,e,r,t,n){t=t||{};let f,a=this.sizeX||t.cornerSize||n.cornerSize,o=this.sizeY||t.cornerSize||n.cornerSize,A=void 0!==t.transparentCorners?t.transparentCorners:n.transparentCorners,s=A?Mi:bi,l=!A&&(t.cornerStrokeColor||n.cornerStrokeColor),k=e,h=r;i.save(),i.fillStyle=t.cornerColor||n.cornerColor||"",i.strokeStyle=t.cornerStrokeColor||n.cornerStrokeColor||"",a>o?(f=a,i.scale(1,o/a),h=r*a/o):o>a?(f=o,i.scale(a/o,1),k=e*o/a):f=a,i.beginPath(),i.arc(k,h,f/2,0,We,!1),i[s](),l&&i.stroke(),i.restore()}function vf(i,e,r,t,n){t=t||{};let f=this.sizeX||t.cornerSize||n.cornerSize,a=this.sizeY||t.cornerSize||n.cornerSize,o=void 0!==t.transparentCorners?t.transparentCorners:n.transparentCorners,A=o?Mi:bi,s=!o&&(t.cornerStrokeColor||n.cornerStrokeColor),l=f/2,k=a/2;i.save(),i.fillStyle=t.cornerColor||n.cornerColor||"",i.strokeStyle=t.cornerStrokeColor||n.cornerStrokeColor||"",i.translate(e,r);let h=n.getTotalAngle();i.rotate(si(h)),i["".concat(A,"Rect")](-l,-k,f,a),s&&i.strokeRect(-l,-k,f,a),i.restore()}var Ii=class{constructor(i){R(this,"visible",!0),R(this,"actionName",$t),R(this,"angle",0),R(this,"x",0),R(this,"y",0),R(this,"offsetX",0),R(this,"offsetY",0),R(this,"sizeX",0),R(this,"sizeY",0),R(this,"touchSizeX",0),R(this,"touchSizeY",0),R(this,"cursorStyle","crosshair"),R(this,"withConnection",!1),Object.assign(this,i)}shouldActivate(i,e,r,t){var n;let{tl:f,tr:a,br:o,bl:A}=t;return(null===(n=e.canvas)||void 0===n?void 0:n.getActiveObject())===e&&e.isControlVisible(i)&&E2.isPointInPolygon(r,[f,a,o,A])}getActionHandler(i,e,r){return this.actionHandler}getMouseDownHandler(i,e,r){return this.mouseDownHandler}getMouseUpHandler(i,e,r){return this.mouseUpHandler}cursorStyleHandler(i,e,r){return e.cursorStyle}getActionName(i,e,r){return e.actionName}getVisibility(i,e){var r,t;return null!==(r=null===(t=i._controlsVisibility)||void 0===t?void 0:t[e])&&void 0!==r?r:this.visible}setVisibility(i,e,r){this.visible=i}positionHandler(i,e,r,t){return new K(this.x*i.x+this.offsetX,this.y*i.y+this.offsetY).transform(e)}calcCornerCoords(i,e,r,t,n,f){let a=qt([ar(r,t),sr({angle:i}),Kt((n?this.touchSizeX:this.sizeX)||e,(n?this.touchSizeY:this.sizeY)||e)]);return{tl:new K(-.5,-.5).transform(a),tr:new K(.5,-.5).transform(a),br:new K(.5,.5).transform(a),bl:new K(-.5,.5).transform(a)}}render(i,e,r,t,n){"circle"===((t=t||{}).cornerStyle||n.cornerStyle)?bf.call(this,i,e,r,t,n):vf.call(this,i,e,r,t,n)}},wf=(i,e,r)=>r.lockRotation?Et:e.cursorStyle,_f=qe(Jo,X2((i,e,r,t)=>{let{target:n,ex:f,ey:a,theta:o,originX:A,originY:s}=e,l=n.translateToOriginPoint(n.getRelativeCenterPoint(),A,s);if(Ae(n,"lockRotation"))return!1;let k=Math.atan2(a-l.y,f-l.x),h=Math.atan2(t-l.y,r-l.x),u=je(h-k+o);if(n.snapAngle&&n.snapAngle>0){let i=n.snapAngle,e=n.snapThreshold||i,r=Math.ceil(u/i)*i,t=Math.floor(u/i)*i;Math.abs(u-t){let t=yf(i,r);if(Cf(r,0!==e.x&&0===e.y?"x":0===e.x&&0!==e.y?"y":"",t))return Et;let n=uf(r,e);return"".concat(ts[n],"-resize")};function Q1(i,e,r,t){let n,f,a,o,A,s,l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},k=e.target,h=l.by,u=yf(i,k);if(Cf(k,h,u))return!1;if(e.gestureScale)f=e.scaleX*e.gestureScale,a=e.scaleY*e.gestureScale;else{if(n=rn(e,e.originX,e.originY,r,t),A="y"!==h?Math.sign(n.x||e.signX||1):1,s="x"!==h?Math.sign(n.y||e.signY||1):1,e.signX||(e.signX=A),e.signY||(e.signY=s),Ae(k,"lockScalingFlip")&&(e.signX!==A||e.signY!==s))return!1;if(o=k._getTransformedDimensions(),u&&!h){let i=Math.abs(n.x)+Math.abs(n.y),{original:r}=e,t=i/(Math.abs(o.x*r.scaleX/k.scaleX)+Math.abs(o.y*r.scaleY/k.scaleY));f=r.scaleX*t,a=r.scaleY*t}else f=Math.abs(n.x*k.scaleX/o.x),a=Math.abs(n.y*k.scaleY/o.y);kf(e)&&(f*=2,a*=2),e.signX!==A&&"y"!==h&&(e.originX=yo(e.originX),f*=-1,e.signX=A),e.signY!==s&&"x"!==h&&(e.originY=yo(e.originY),a*=-1,e.signY=s)}let c=k.scaleX,d=k.scaleY;return h?("x"===h&&k.set(Wi,f),"y"===h&&k.set(zi,a)):(!Ae(k,"lockScalingX")&&k.set(Wi,f),!Ae(k,"lockScalingY")&&k.set(zi,a)),c!==k.scaleX||d!==k.scaleY}var wr=qe(jt,X2((i,e,r,t)=>Q1(i,e,r,t))),Bf=qe(jt,X2((i,e,r,t)=>Q1(i,e,r,t,{by:"x"}))),xf=qe(jt,X2((i,e,r,t)=>Q1(i,e,r,t,{by:"y"}))),ns=["target","ex","ey","skewingSide"],Qn={x:{counterAxis:"y",scale:Wi,skew:or,lockSkewing:"lockSkewingX",origin:"originX",flip:"flipX"},y:{counterAxis:"x",scale:zi,skew:fr,lockSkewing:"lockSkewingY",origin:"originY",flip:"flipY"}},os=["ns","nesw","ew","nwse"],Zf=(i,e,r)=>{if(0!==e.x&&Ae(r,"lockSkewingY")||0!==e.y&&Ae(r,"lockSkewingX"))return Et;let t=uf(r,e)%4;return"".concat(os[t],"-resize")};function If(i,e,r,t,n){let{target:f}=r,{counterAxis:a,origin:o,lockSkewing:A,skew:s,flip:l}=Qn[i];if(Ae(f,A))return!1;let{origin:k,flip:h}=Qn[a],u=gi(r[k])*(f[h]?-1:1),c=-Math.sign(u)*(f[l]?-1:1),d=-(0===f[s]&&rn(r,V0,V0,t,n)[i]>0||f[s]>0?1:-1)*c*.5+.5;return qe(Ho,X2((e,r,t,n)=>function(i,e,r){let{target:t,ex:n,ey:f,skewingSide:a}=e,o=ni(e,ns),{skew:A}=Qn[i],s=r.subtract(new K(n,f)).divide(new K(t.scaleX,t.scaleY))[i],l=t[A],k=o[A],h=Math.tan(si(k)),u="y"===i?t._getTransformedDimensions({scaleX:1,scaleY:1,skewX:0}).x:t._getTransformedDimensions({scaleX:1,scaleY:1}).y,c=2*s*a/Math.max(u,1)+h,d=je(Math.atan(c));t.set(A,d);let b=l!==t[A];if(b&&"y"===i){let{skewX:i,scaleX:e}=t,r=t._getTransformedDimensions({skewY:l}),n=t._getTransformedDimensions(),f=0!==i?r.x/n.x:1;1!==f&&t.set(Wi,f*e)}return b}(i,r,new K(t,n))))(e,P(P({},r),{},{[o]:d,skewingSide:c}),t,n)}var Ef=(i,e,r,t)=>If("x",i,e,r,t),Ff=(i,e,r,t)=>If("y",i,e,r,t);function on(i,e){return i[e.canvas.altActionKey]}var _r=(i,e,r)=>{let t=on(i,r);return 0===e.x?t?or:zi:0===e.y?t?fr:Wi:""},k2=(i,e,r)=>on(i,r)?Zf(0,e,r):O2(i,e,r),A1=(i,e,r,t)=>on(i,e.target)?Ff(i,e,r,t):Bf(i,e,r,t),l1=(i,e,r,t)=>on(i,e.target)?Ef(i,e,r,t):xf(i,e,r,t),Y1=()=>({ml:new Ii({x:-.5,y:0,cursorStyleHandler:k2,actionHandler:A1,getActionName:_r}),mr:new Ii({x:.5,y:0,cursorStyleHandler:k2,actionHandler:A1,getActionName:_r}),mb:new Ii({x:0,y:.5,cursorStyleHandler:k2,actionHandler:l1,getActionName:_r}),mt:new Ii({x:0,y:-.5,cursorStyleHandler:k2,actionHandler:l1,getActionName:_r}),tl:new Ii({x:-.5,y:-.5,cursorStyleHandler:O2,actionHandler:wr}),tr:new Ii({x:.5,y:-.5,cursorStyleHandler:O2,actionHandler:wr}),bl:new Ii({x:-.5,y:.5,cursorStyleHandler:O2,actionHandler:wr}),br:new Ii({x:.5,y:.5,cursorStyleHandler:O2,actionHandler:wr}),mtr:new Ii({x:0,y:-.5,actionHandler:_f,cursorStyleHandler:wf,offsetY:-40,withConnection:!0,actionName:F1})}),Wf=()=>({mr:new Ii({x:.5,y:0,actionHandler:s1,cursorStyleHandler:k2,actionName:Ir}),ml:new Ii({x:-.5,y:0,actionHandler:s1,cursorStyleHandler:k2,actionName:Ir})}),Sf=()=>P(P({},Y1()),Wf()),Vt=class i extends xe{static getDefaults(){return P(P({},super.getDefaults()),i.ownDefaults)}constructor(e){super(),Object.assign(this,this.constructor.createControls(),i.ownDefaults),this.setOptions(e)}static createControls(){return{controls:Y1()}}_updateCacheCanvas(){let i=this.canvas;if(this.noScaleCache&&i&&i._currentTransform){let e=i._currentTransform,r=e.target,t=e.action;if(this===r&&t&&t.startsWith($t))return!1}return super._updateCacheCanvas()}getActiveControl(){let i=this.__corner;return i?{key:i,control:this.controls[i],coord:this.oCoords[i]}:void 0}findControl(i){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!this.hasControls||!this.canvas)return;this.__corner=void 0;let r=Object.entries(this.oCoords);for(let t=r.length-1;t>=0;t--){let[n,f]=r[t],a=this.controls[n];if(a.shouldActivate(n,this,i,e?f.touchCorner:f.corner))return this.__corner=n,{key:n,control:a,coord:this.oCoords[n]}}}calcOCoords(){let i=this.getViewportTransform(),e=this.getCenterPoint(),r=ar(e.x,e.y),t=sr({angle:this.getTotalAngle()-(this.group&&this.flipX?180:0)}),n=Ai(r,t),f=Ai(i,n),a=Ai(f,[1/i[0],0,0,1/i[3],0,0]),o=this.group?q2(this.calcTransformMatrix()):void 0;o&&(o.scaleX=Math.abs(o.scaleX),o.scaleY=Math.abs(o.scaleY));let A=this._calculateCurrentDimensions(o),s={};return this.forEachControl((i,e)=>{let r=i.positionHandler(A,a,this,i);s[e]=Object.assign(r,this._calcCornerCoords(i,r))}),s}_calcCornerCoords(i,e){let r=this.getTotalAngle();return{corner:i.calcCornerCoords(r,this.cornerSize,e.x,e.y,!1,this),touchCorner:i.calcCornerCoords(r,this.touchCornerSize,e.x,e.y,!0,this)}}setCoords(){super.setCoords(),this.canvas&&(this.oCoords=this.calcOCoords())}forEachControl(i){for(let e in this.controls)i(this.controls[e],e,this)}drawSelectionBackground(i){if(!this.selectionBackgroundColor||this.canvas&&this.canvas._activeObject!==this)return;i.save();let e=this.getRelativeCenterPoint(),r=this._calculateCurrentDimensions(),t=this.getViewportTransform();i.translate(e.x,e.y),i.scale(1/t[0],1/t[3]),i.rotate(si(this.angle)),i.fillStyle=this.selectionBackgroundColor,i.fillRect(-r.x/2,-r.y/2,r.x,r.y),i.restore()}strokeBorders(i,e){i.strokeRect(-e.x/2,-e.y/2,e.x,e.y)}_drawBorders(i,e){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},t=P({hasControls:this.hasControls,borderColor:this.borderColor,borderDashArray:this.borderDashArray},r);i.save(),i.strokeStyle=t.borderColor,this._setLineDash(i,t.borderDashArray),this.strokeBorders(i,e),t.hasControls&&this.drawControlsConnectingLines(i,e),i.restore()}_renderControls(i){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{hasBorders:r,hasControls:t}=this,n=P({hasBorders:r,hasControls:t},e),f=this.getViewportTransform(),a=n.hasBorders,o=n.hasControls,A=Ai(f,this.calcTransformMatrix()),s=q2(A);i.save(),i.translate(s.translateX,s.translateY),i.lineWidth=this.borderScaleFactor,this.group===this.parent&&(i.globalAlpha=this.isMoving?this.borderOpacityWhenMoving:1),this.flipX&&(s.angle-=180),i.rotate(si(this.group?s.angle:this.angle)),a&&this.drawBorders(i,s,e),o&&this.drawControls(i,e),i.restore()}drawBorders(i,e,r){let t;if(r&&r.forActiveSelection||this.group){let i=en(this.width,this.height,Gr(e)),r=this.isStrokeAccountedForInDimensions()?W1:(this.strokeUniform?(new K).scalarAdd(this.canvas?this.canvas.getZoom():1):new K(e.scaleX,e.scaleY)).scalarMultiply(this.strokeWidth);t=i.add(r).scalarAdd(this.borderScaleFactor).scalarAdd(2*this.padding)}else t=this._calculateCurrentDimensions().scalarAdd(this.borderScaleFactor);this._drawBorders(i,t,r)}drawControlsConnectingLines(i,e){let r=!1;i.beginPath(),this.forEachControl((t,n)=>{t.withConnection&&t.getVisibility(this,n)&&(r=!0,i.moveTo(t.x*e.x,t.y*e.y),i.lineTo(t.x*e.x+t.offsetX,t.y*e.y+t.offsetY))}),r&&i.stroke()}drawControls(i){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};i.save();let r=this.getCanvasRetinaScaling(),{cornerStrokeColor:t,cornerDashArray:n,cornerColor:f}=this,a=P({cornerStrokeColor:t,cornerDashArray:n,cornerColor:f},e);i.setTransform(r,0,0,r,0,0),i.strokeStyle=i.fillStyle=a.cornerColor,this.transparentCorners||(i.strokeStyle=a.cornerStrokeColor),this._setLineDash(i,a.cornerDashArray),this.forEachControl((e,r)=>{if(e.getVisibility(this,r)){let t=this.oCoords[r];e.render(i,t.x,t.y,a,this)}}),i.restore()}isControlVisible(i){return this.controls[i]&&this.controls[i].getVisibility(this,i)}setControlVisible(i,e){this._controlsVisibility||(this._controlsVisibility={}),this._controlsVisibility[i]=e}setControlsVisibility(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object.entries(i).forEach(i=>{let[e,r]=i;return this.setControlVisible(e,r)})}clearContextTop(i){if(!this.canvas)return;let e=this.canvas.contextTop;if(!e)return;let r=this.canvas.viewportTransform;e.save(),e.transform(r[0],r[1],r[2],r[3],r[4],r[5]),this.transform(e);let t=this.width+4,n=this.height+4;return e.clearRect(-t/2,-n/2,t,n),i||e.restore(),e}onDeselect(i){return!1}onSelect(i){return!1}shouldStartDragging(i){return!1}onDragStart(i){return!1}canDrop(i){return!1}renderDragSourceEffect(i){}renderDropTargetEffect(i){}};function Xf(i,e){return e.forEach(e=>{Object.getOwnPropertyNames(e.prototype).forEach(r=>{"constructor"!==r&&Object.defineProperty(i.prototype,r,Object.getOwnPropertyDescriptor(e.prototype,r)||Object.create(null))})}),i}R(Vt,"ownDefaults",{noScaleCache:!0,lockMovementX:!1,lockMovementY:!1,lockRotation:!1,lockScalingX:!1,lockScalingY:!1,lockSkewingX:!1,lockSkewingY:!1,lockScalingFlip:!1,cornerSize:13,touchCornerSize:24,transparentCorners:!0,cornerColor:"rgb(178,204,255)",cornerStrokeColor:"",cornerStyle:"rect",cornerDashArray:null,hasControls:!0,borderColor:"rgb(178,204,255)",borderDashArray:null,borderOpacityWhenMoving:.4,borderScaleFactor:1,hasBorders:!0,selectionBackgroundColor:"",selectable:!0,evented:!0,perPixelTargetFind:!1,activeOn:"down",hoverCursor:null,moveCursor:null});var ci=class extends Vt{};Xf(ci,[Ft]),d0.setClass(ci),d0.setClass(ci,"object");var Vf=(i,e,r,t)=>{let n=2*(t=Math.round(t))+1,{data:f}=i.getImageData(e-t,r-t,n,n);for(let i=3;i0)return!1;return!0},Gt=class{constructor(i){this.options=i,this.strokeProjectionMagnitude=this.options.strokeWidth/2,this.scale=new K(this.options.scaleX,this.options.scaleY),this.strokeUniformScalar=this.options.strokeUniform?new K(1/this.options.scaleX,1/this.options.scaleY):new K(1,1)}createSideVector(i,e){let r=Wt(i,e);return this.options.strokeUniform?r.multiply(this.scale):r}projectOrthogonally(i,e,r){return this.applySkew(i.add(this.calcOrthogonalProjection(i,e,r)))}isSkewed(){return 0!==this.options.skewX||0!==this.options.skewY}applySkew(i){let e=new K(i);return e.y+=e.x*Math.tan(si(this.options.skewY)),e.x+=e.y*Math.tan(si(this.options.skewX)),e}scaleUnitVector(i,e){return i.multiply(this.strokeUniformScalar).scalarMultiply(e)}},fs=new K,Dt=class i extends Gt{static getOrthogonalRotationFactor(i,e){let r=e?Xt(i,e):df(i);return Math.abs(r)2&&void 0!==arguments[2]?arguments[2]:this.strokeProjectionMagnitude,n=this.createSideVector(e,r),f=P1(n),a=i.getOrthogonalRotationFactor(f,this.bisector);return this.scaleUnitVector(f,t*a)}projectBevel(){let i=[];return(this.alpha%We==0?[this.B]:[this.B,this.C]).forEach(e=>{i.push(this.projectOrthogonally(this.A,e)),i.push(this.projectOrthogonally(this.A,e,-this.strokeProjectionMagnitude))}),i}projectMiter(){let i=[],e=Math.abs(this.alpha),r=1/Math.sin(e/2),t=this.scaleUnitVector(this.bisector,-this.strokeProjectionMagnitude*r),n=this.options.strokeUniform?St(this.scaleUnitVector(this.bisector,this.options.strokeMiterLimit)):this.options.strokeMiterLimit;return St(t)/this.strokeProjectionMagnitude<=n&&i.push(this.applySkew(this.A.add(t))),i.push(...this.projectBevel()),i}projectRoundNoSkew(e,r){let t=[],n=new K(i.getOrthogonalRotationFactor(this.bisector),i.getOrthogonalRotationFactor(new K(this.bisector.y,this.bisector.x)));return[new K(1,0).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar).multiply(n),new K(0,1).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar).multiply(n)].forEach(i=>{r1(i,e,r)&&t.push(this.A.add(i))}),t}projectRoundWithSkew(i,e){let r=[],{skewX:t,skewY:n,scaleX:f,scaleY:a,strokeUniform:o}=this.options,A=new K(Math.tan(si(t)),Math.tan(si(n))),s=this.strokeProjectionMagnitude,l=o?s/a/Math.sqrt(1/a**2+1/f**2*A.y**2):s/Math.sqrt(1+A.y**2),k=new K(Math.sqrt(Math.max(s**2-l**2,0)),l),h=o?s/Math.sqrt(1+A.x**2*(1/a)**2/(1/f+1/f*A.x*A.y)**2):s/Math.sqrt(1+A.x**2/(1+A.x*A.y)**2),u=new K(h,Math.sqrt(Math.max(s**2-h**2,0)));return[u,u.scalarMultiply(-1),k,k.scalarMultiply(-1)].map(i=>this.applySkew(o?i.multiply(this.strokeUniformScalar):i)).forEach(t=>{r1(t,i,e)&&r.push(this.applySkew(this.A).add(t))}),r}projectRound(){let i=[];i.push(...this.projectBevel());let e=this.alpha%We==0,r=this.applySkew(this.A),t=i[e?0:2].subtract(r),n=i[e?1:0].subtract(r),f=e?this.applySkew(this.AB.scalarMultiply(-1)):this.applySkew(this.bisector.multiply(this.strokeUniformScalar).scalarMultiply(-1)),a=j2(t,f)>0,o=a?t:n,A=a?n:t;return this.isSkewed()?i.push(...this.projectRoundWithSkew(o,A)):i.push(...this.projectRoundNoSkew(o,A)),i}projectPoints(){switch(this.options.strokeLineJoin){case"miter":return this.projectMiter();case"round":return this.projectRound();default:return this.projectBevel()}}project(){return this.projectPoints().map(i=>({originPoint:this.A,projectedPoint:i,angle:this.alpha,bisector:this.bisector}))}},Mt=class extends Gt{constructor(i,e,r){super(r),this.A=new K(i),this.T=new K(e)}calcOrthogonalProjection(i,e){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.strokeProjectionMagnitude,t=this.createSideVector(i,e);return this.scaleUnitVector(P1(t),r)}projectButt(){return[this.projectOrthogonally(this.A,this.T,this.strokeProjectionMagnitude),this.projectOrthogonally(this.A,this.T,-this.strokeProjectionMagnitude)]}projectRound(){let i=[];if(!this.isSkewed()&&this.A.eq(this.T)){let e=new K(1,1).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar);i.push(this.applySkew(this.A.add(e)),this.applySkew(this.A.subtract(e)))}else i.push(...new Dt(this.A,this.T,this.T,this.options).projectRound());return i}projectSquare(){let i=[];if(this.A.eq(this.T)){let e=new K(1,1).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar);i.push(this.A.add(e),this.A.subtract(e))}else{let e=this.calcOrthogonalProjection(this.A,this.T,this.strokeProjectionMagnitude),r=this.scaleUnitVector(nn(this.createSideVector(this.A,this.T)),-this.strokeProjectionMagnitude),t=this.A.add(r);i.push(t.add(e),t.subtract(e))}return i.map(i=>this.applySkew(i))}projectPoints(){switch(this.options.strokeLineCap){case"round":return this.projectRound();case"square":return this.projectSquare();default:return this.projectButt()}}project(){return this.projectPoints().map(i=>({originPoint:this.A,projectedPoint:i}))}},Gf=function(i,e){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],t=[];if(0===i.length)return t;let n=i.reduce((i,e)=>(i[i.length-1].eq(e)||i.push(new K(e)),i),[new K(i[0])]);if(1===n.length)r=!0;else if(!r){let i=n[0],e=((i,e)=>{for(let r=i.length-1;r>=0;r--)if(e(i[r]))return r;return-1})(n,e=>!e.eq(i));n.splice(e+1)}return n.forEach((i,n,f)=>{let a,o;0===n?(o=f[1],a=r?i:f[f.length-1]):n===f.length-1?(a=f[n-1],o=r?i:f[0]):(a=f[n-1],o=f[n+1]),r&&1===f.length?t.push(...new Mt(i,i,e).project()):!r||0!==n&&n!==f.length-1?t.push(...new Dt(i,a,o,e).project()):t.push(...new Mt(i,0===n?o:a,e).project())}),t},O1=i=>{let e={};return Object.keys(i).forEach(r=>{e[r]={},Object.keys(i[r]).forEach(t=>{e[r][t]=P({},i[r][t])})}),e},Df=i=>i.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">"),fn=i=>{let e=[];for(let r,t=0;t{let r=i.charCodeAt(e);if(isNaN(r))return"";if(r<55296||r>57343)return i.charAt(e);if(55296<=r&&r<=56319){if(i.length<=e+1)throw"High surrogate without following low surrogate";let r=i.charCodeAt(e+1);if(56320>r||r>57343)throw"High surrogate without following low surrogate";return i.charAt(e)+i.charAt(e+1)}if(0===e)throw"Low surrogate without preceding high surrogate";let t=i.charCodeAt(e-1);if(55296>t||t>56319)throw"Low surrogate without preceding high surrogate";return!1},ss=Object.freeze({__proto__:null,capitalize:function(i){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return"".concat(i.charAt(0).toUpperCase()).concat(e?i.slice(1):i.slice(1).toLowerCase())},escapeXml:Df,graphemeSplit:fn}),an=function(i,e){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return i.fill!==e.fill||i.stroke!==e.stroke||i.strokeWidth!==e.strokeWidth||i.fontSize!==e.fontSize||i.fontFamily!==e.fontFamily||i.fontWeight!==e.fontWeight||i.fontStyle!==e.fontStyle||i.textBackgroundColor!==e.textBackgroundColor||i.deltaY!==e.deltaY||r&&(i.overline!==e.overline||i.underline!==e.underline||i.linethrough!==e.linethrough)},Mf=(i,e)=>{let r=e.split("\n"),t=[],n=-1,f={};i=O1(i);for(let e=0;e0&&(an(f,a,!0)?t.push({start:n,end:n+1,style:a}):t[t.length-1].end++),f=a||{}}else n+=a.length,f={}}return t},Tf=(i,e)=>{if(!Array.isArray(i))return O1(i);let r=e.split(E1),t={},n=-1,f=0;for(let e=0;e{var e;return null!==(e=za[i])&&void 0!==e?e:i},ks=new RegExp("(".concat(se,")"),"gi"),us=i=>i.replace(ks," $1 ").replace(/,/gi," ").replace(/\s+/gi," "),Ei="(".concat(se,")"),hs=String.raw(Wo||(Wo=$e(["(skewX)(",")"],["(skewX)\\(","\\)"])),Ei),cs=String.raw(So||(So=$e(["(skewY)(",")"],["(skewY)\\(","\\)"])),Ei),ds=String.raw(Xo||(Xo=$e(["(rotate)(","(?: "," ",")?)"],["(rotate)\\(","(?: "," ",")?\\)"])),Ei,Ei,Ei),ms=String.raw(Vo||(Vo=$e(["(scale)(","(?: ",")?)"],["(scale)\\(","(?: ",")?\\)"])),Ei,Ei),ps=String.raw(Go||(Go=$e(["(translate)(","(?: ",")?)"],["(translate)\\(","(?: ",")?\\)"])),Ei,Ei),gs=String.raw(Do||(Do=$e(["(matrix)("," "," "," "," "," ",")"],["(matrix)\\("," "," "," "," "," ","\\)"])),Ei,Ei,Ei,Ei,Ei,Ei),z1="(?:".concat(gs,"|").concat(ps,"|").concat(ds,"|").concat(ms,"|").concat(hs,"|").concat(cs,")"),bs="(?:".concat(z1,"*)"),vs=String.raw(Mo||(Mo=$e(["^s*(?:","?)s*$"],["^\\s*(?:","?)\\s*$"])),bs),ws=new RegExp(vs),_s=new RegExp(z1),ys=new RegExp(z1,"g");function k1(i){let e=[];if(!(i=us(i).replace(/\s*([()])\s*/gi,"$1"))||i&&!ws.test(i))return[...Fi];for(let r of i.matchAll(ys)){let i=_s.exec(r[0]);if(!i)continue;let t=Fi,n=i.filter(i=>!!i),[,f,...a]=n,[o,A,s,l,k,h]=a.map(i=>parseFloat(i));switch(f){case"translate":t=ar(o,A);break;case F1:t=sr({angle:o},{x:A,y:s});break;case $t:t=Kt(o,A);break;case or:t=X1(o);break;case fr:t=V1(o);break;case"matrix":t=[o,A,s,l,k,h]}e.push(t)}return qt(e)}function Cs(i,e,r,t){let n,f=Array.isArray(e),a=e;if(i!==bi&&i!==Mi||e!==Di){if("strokeUniform"===i)return"non-scaling-stroke"===e;if("strokeDashArray"===i)a=e===Di?null:e.replace(/,/g," ").split(/\s+/).map(parseFloat);else if("transformMatrix"===i)a=r&&r.transformMatrix?Ai(r.transformMatrix,k1(e)):k1(e);else if("visible"===i)a=e!==Di&&"hidden"!==e,r&&!1===r.visible&&(a=!1);else if("opacity"===i)a=parseFloat(e),r&&void 0!==r.opacity&&(a*=r.opacity);else if("textAnchor"===i)a="start"===e?z0:"end"===e?ui:V0;else if("charSpacing"===i)n=I2(e,t)/t*1e3;else if("paintFirst"===i){let i=e.indexOf(bi),r=e.indexOf(Mi);a=bi,(i>-1&&r>-1&&r-1)&&(a=Mi)}else{if("href"===i||"xlink:href"===i||"font"===i||"id"===i)return e;if("imageSmoothing"===i)return"optimizeQuality"===e;n=f?e.map(I2):I2(e,t)}}else a="";return!f&&isNaN(n)?a:n}function Bs(i,e){let r=i.match(Oa);if(!r)return;let t=r[1],n=r[3],f=r[4],a=r[5],o=r[6];t&&(e.fontStyle=t),n&&(e.fontWeight=isNaN(parseFloat(n))?n:parseFloat(n)),f&&(e.fontSize=I2(f)),o&&(e.fontFamily=o),a&&(e.lineHeight="normal"===a?1:a)}function xs(i,e){i.replace(/;\s*$/,"").split(";").forEach(i=>{if(!i)return;let[r,t]=i.split(":");e[r.trim().toLowerCase()]=t.trim()})}function Zs(i){let e={},r=i.getAttribute("style");return r&&("string"==typeof r?xs(r,e):(t=r,n=e,Object.entries(t).forEach(i=>{let[e,r]=i;void 0!==r&&(n[e.toLowerCase()]=r)}))),e;var t,n}var Is={stroke:"strokeOpacity",fill:"fillOpacity"};function Xe(i,e,r){if(!i)return{};let t,n={},f=I1;i.parentNode&&Bo.test(i.parentNode.nodeName)&&(n=Xe(i.parentElement,e,r),n.fontSize&&(t=f=I2(n.fontSize)));let a=P(P(P({},e.reduce((e,r)=>{let t=i.getAttribute(r);return t&&(e[r]=t),e},{})),function(i){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r={};for(let t in e)As(i,t.split(" "))&&(r=P(P({},r),e[t]));return r}(i,r)),Zs(i));a[Rn]&&i.setAttribute(Rn,a[Rn]),a[Tn]&&(t=I2(a[Tn],f),a[Tn]="".concat(t));let o={};for(let i in a){let e=ls(i),r=Cs(e,a[i],n,t);o[e]=r}o&&o.font&&Bs(o.font,o);let A=P(P({},n),o);return Bo.test(i.nodeName)?A:function(i){let e=ci.getDefaults();return Object.entries(Is).forEach(r=>{let[t,n]=r;if(void 0===i[n]||""===i[t])return;if(void 0===i[t]){if(!e[t])return;i[t]=e[t]}if(0===i[t].indexOf("url("))return;let f=new xi(i[t]);i[t]=f.setAlpha(ti(f.getAlpha()*i[n],2)).toRgba()}),i}(A)}var Es=["left","top","width","height","visible"],Rf=["rx","ry"],Ze=class i extends ci{static getDefaults(){return P(P({},super.getDefaults()),i.ownDefaults)}constructor(e){super(),Object.assign(this,i.ownDefaults),this.setOptions(e),this._initRxRy()}_initRxRy(){let{rx:i,ry:e}=this;i&&!e?this.ry=i:e&&!i&&(this.rx=e)}_render(i){let{width:e,height:r}=this,t=-e/2,n=-r/2,f=this.rx?Math.min(this.rx,e/2):0,a=this.ry?Math.min(this.ry,r/2):0,o=0!==f||0!==a;i.beginPath(),i.moveTo(t+f,n),i.lineTo(t+e-f,n),o&&i.bezierCurveTo(t+e-Pe*f,n,t+e,n+Pe*a,t+e,n+a),i.lineTo(t+e,n+r-a),o&&i.bezierCurveTo(t+e,n+r-Pe*a,t+e-Pe*f,n+r,t+e-f,n+r),i.lineTo(t+f,n+r),o&&i.bezierCurveTo(t+Pe*f,n+r,t,n+r-Pe*a,t,n+r-a),i.lineTo(t,n+a),o&&i.bezierCurveTo(t,n+Pe*a,t+Pe*f,n,t+f,n),i.closePath(),this._renderPaintInOrder(i)}toObject(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return super.toObject([...Rf,...i])}_toSVG(){let{width:i,height:e,rx:r,ry:t}=this;return["\n')]}static async fromElement(i,e,r){let t=Xe(i,this.ATTRIBUTE_NAMES,r),{left:n=0,top:f=0,width:a=0,height:o=0,visible:A=!0}=t,s=ni(t,Es);return new this(P(P(P({},e),s),{},{left:n,top:f,width:a,height:o,visible:!!(A&&a&&o)}))}};R(Ze,"type","Rect"),R(Ze,"cacheProperties",[...Se,...Rf]),R(Ze,"ownDefaults",{rx:0,ry:0}),R(Ze,"ATTRIBUTE_NAMES",[...Ke,"x","y","rx","ry","width","height"]),d0.setClass(Ze),d0.setSVGClass(Ze);var Ie="initialization",Tt="added",J1="removed",Rt="imperative",Pf=(i,e)=>{let{strokeUniform:r,strokeWidth:t,width:n,height:f,group:a}=e,o=a&&a!==i?Mr(a.calcTransformMatrix(),i.calcTransformMatrix()):null,A=o?e.getRelativeCenterPoint().transform(o):e.getRelativeCenterPoint(),s=!e.isStrokeAccountedForInDimensions(),l=r&&s?lf(new K(t,t),void 0,i.calcTransformMatrix()):W1,k=!r&&s?t:0,h=en(n+k,f+k,qt([o,e.calcOwnMatrix()],!0)).add(l).scalarDivide(2);return[A.subtract(h),A.add(h)]},er=class{calcLayoutResult(i,e){if(this.shouldPerformLayout(i))return this.calcBoundingBox(e,i)}shouldPerformLayout(i){let{type:e,prevStrategy:r,strategy:t}=i;return e===Ie||e===Rt||!!r&&t!==r}shouldLayoutClipPath(i){let{type:e,target:{clipPath:r}}=i;return e!==Ie&&r&&!r.absolutePositioned}getInitialSize(i,e){return e.size}calcBoundingBox(i,e){let{type:r,target:t}=e;if(r===Rt&&e.overrides)return e.overrides;if(0===i.length)return;let{left:n,top:f,width:a,height:o}=be(i.map(i=>Pf(t,i)).reduce((i,e)=>i.concat(e),[])),A=new K(a,o),s=new K(n,f).add(A.scalarDivide(2));if(r===Ie){let i=this.getInitialSize(e,{size:A,center:s});return{center:s,relativeCorrection:new K(0,0),size:i}}return{center:s.transform(t.calcOwnMatrix()),size:A}}};R(er,"type","strategy");var Xr=class extends er{shouldPerformLayout(i){return!0}};R(Xr,"type","fit-content"),d0.setClass(Xr);var Fs=["strategy"],Ws=["target","strategy","bubbles","prevStrategy"],Nf="layoutManager",W2=class{constructor(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Xr;R(this,"strategy",void 0),this.strategy=i,this._subscriptions=new Map}performLayout(i){let e=P(P({bubbles:!0,strategy:this.strategy},i),{},{prevStrategy:this._prevLayoutStrategy,stopPropagation(){this.bubbles=!1}});this.onBeforeLayout(e);let r=this.getLayoutResult(e);r&&this.commitLayout(e,r),this.onAfterLayout(e,r),this._prevLayoutStrategy=e.strategy}attachHandlers(i,e){let{target:r}=e;return[Ct,zo,Ir,Jo,jt,Ho,yt,Uo,Ta].map(e=>i.on(e,i=>this.performLayout(e===Ct?{type:"object_modified",trigger:e,e:i,target:r}:{type:"object_modifying",trigger:e,e:i,target:r})))}subscribe(i,e){this.unsubscribe(i,e);let r=this.attachHandlers(i,e);this._subscriptions.set(i,r)}unsubscribe(i,e){(this._subscriptions.get(i)||[]).forEach(i=>i()),this._subscriptions.delete(i)}unsubscribeTargets(i){i.targets.forEach(e=>this.unsubscribe(e,i))}subscribeTargets(i){i.targets.forEach(e=>this.subscribe(e,i))}onBeforeLayout(i){let{target:e,type:r}=i,{canvas:t}=e;if(r===Ie||r===Tt?this.subscribeTargets(i):r===J1&&this.unsubscribeTargets(i),e.fire("layout:before",{context:i}),t&&t.fire("object:layout:before",{target:e,context:i}),r===Rt&&i.deep){let r=ni(i,Fs);e.forEachObject(i=>i.layoutManager&&i.layoutManager.performLayout(P(P({},r),{},{bubbles:!1,target:i})))}}getLayoutResult(i){let{target:e,strategy:r,type:t}=i,n=r.calcLayoutResult(i,e.getObjects());if(!n)return;let f=t===Ie?new K:e.getRelativeCenterPoint(),{center:a,correction:o=new K,relativeCorrection:A=new K}=n,s=f.subtract(a).add(o).transform(t===Ie?Fi:Oi(e.calcOwnMatrix()),!0).add(A);return{result:n,prevCenter:f,nextCenter:a,offset:s}}commitLayout(i,e){let{target:r}=i,{result:{size:t},nextCenter:n}=e;var f,a;r.set({width:t.x,height:t.y}),this.layoutObjects(i,e),i.type===Ie?r.set({left:null!==(f=i.x)&&void 0!==f?f:n.x+t.x*gi(r.originX),top:null!==(a=i.y)&&void 0!==a?a:n.y+t.y*gi(r.originY)}):(r.setPositionByOrigin(n,V0,V0),r.setCoords(),r.set("dirty",!0))}layoutObjects(i,e){let{target:r}=i;r.forEachObject(t=>{t.group===r&&this.layoutObject(i,e,t)}),i.strategy.shouldLayoutClipPath(i)&&this.layoutObject(i,e,r.clipPath)}layoutObject(i,e,r){let{offset:t}=e;r.set({left:r.left+t.x,top:r.top+t.y})}onAfterLayout(i,e){let{target:r,strategy:t,bubbles:n,prevStrategy:f}=i,a=ni(i,Ws),{canvas:o}=r;r.fire("layout:after",{context:i,result:e}),o&&o.fire("object:layout:after",{context:i,result:e,target:r});let A=r.parent;n&&null!=A&&A.layoutManager&&((a.path||(a.path=[])).push(r),A.layoutManager.performLayout(P(P({},a),{},{target:A}))),r.set("dirty",!0)}dispose(){let{_subscriptions:i}=this;i.forEach(i=>i.forEach(i=>i())),i.clear()}toObject(){return{type:Nf,strategy:this.strategy.constructor.type}}toJSON(){return this.toObject()}};d0.setClass(W2,Nf);var Ss=["type","objects","layoutManager"],u1=class extends W2{performLayout(){}},ze=class i extends(Lo(ci)){static getDefaults(){return P(P({},super.getDefaults()),i.ownDefaults)}constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),R(this,"_activeObjects",[]),R(this,"__objectSelectionTracker",void 0),R(this,"__objectSelectionDisposer",void 0),Object.assign(this,i.ownDefaults),this.setOptions(r),this.groupInit(e,r)}groupInit(i,e){var r;this._objects=[...i],this.__objectSelectionTracker=this.__objectSelectionMonitor.bind(this,!0),this.__objectSelectionDisposer=this.__objectSelectionMonitor.bind(this,!1),this.forEachObject(i=>{this.enterGroup(i,!1)}),this.layoutManager=null!==(r=e.layoutManager)&&void 0!==r?r:new W2,this.layoutManager.performLayout({type:Ie,target:this,targets:[...i],x:e.left,y:e.top})}canEnterGroup(i){return i===this||this.isDescendantOf(i)?(He("error","Group: circular object trees are not supported, this call has no effect"),!1):-1===this._objects.indexOf(i)||(He("error","Group: duplicate objects are not supported inside group, this call has no effect"),!1)}_filterObjectsBeforeEnteringGroup(i){return i.filter((i,e,r)=>this.canEnterGroup(i)&&r.indexOf(i)===e)}add(){for(var i=arguments.length,e=new Array(i),r=0;r1?e-1:0),t=1;t{r._set(i,e)}),this}_shouldSetNestedCoords(){return this.subTargetCheck}removeAll(){return this._activeObjects=[],this.remove(...this._objects)}__objectSelectionMonitor(i,e){let{target:r}=e,t=this._activeObjects;if(i)t.push(r),this._set("dirty",!0);else if(t.length>0){let i=t.indexOf(r);i>-1&&(t.splice(i,1),this._set("dirty",!0))}}_watchObject(i,e){i&&this._watchObject(!1,e),i?(e.on("selected",this.__objectSelectionTracker),e.on("deselected",this.__objectSelectionDisposer)):(e.off("selected",this.__objectSelectionTracker),e.off("deselected",this.__objectSelectionDisposer))}enterGroup(i,e){i.group&&i.group.remove(i),i._set("parent",this),this._enterGroup(i,e)}_enterGroup(i,e){e&&ir(i,Ai(Oi(this.calcTransformMatrix()),i.calcTransformMatrix())),this._shouldSetNestedCoords()&&i.setCoords(),i._set("group",this),i._set("canvas",this.canvas),this._watchObject(!0,i);let r=this.canvas&&this.canvas.getActiveObject&&this.canvas.getActiveObject();r&&(r===i||i.isDescendantOf(r))&&this._activeObjects.push(i)}exitGroup(i,e){this._exitGroup(i,e),i._set("parent",void 0),i._set("canvas",void 0)}_exitGroup(i,e){i._set("group",void 0),e||(ir(i,Ai(this.calcTransformMatrix(),i.calcTransformMatrix())),i.setCoords()),this._watchObject(!1,i);let r=this._activeObjects.length>0?this._activeObjects.indexOf(i):-1;r>-1&&this._activeObjects.splice(r,1)}shouldCache(){let i=ci.prototype.shouldCache.call(this);if(i)for(let i=0;ii.setCoords())}triggerLayout(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.layoutManager.performLayout(P({target:this,type:Rt},i))}render(i){this._transformDone=!0,super.render(i),this._transformDone=!1}__serializeObjects(i,e){let r=this.includeDefaultValues;return this._objects.filter(function(i){return!i.excludeFromExport}).map(function(t){let n=t.includeDefaultValues;t.includeDefaultValues=r;let f=t[i||"toObject"](e);return t.includeDefaultValues=n,f})}toObject(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=this.layoutManager.toObject();return P(P(P({},super.toObject(["subTargetCheck","interactive",...i])),"fit-content"!==e.strategy||this.includeDefaultValues?{layoutManager:e}:{}),{},{objects:this.__serializeObjects("toObject",i)})}toString(){return"#")}dispose(){this.layoutManager.unsubscribeTargets({targets:this.getObjects(),target:this}),this._activeObjects=[],this.forEachObject(i=>{this._watchObject(!1,i),i.dispose()}),super.dispose()}_createSVGBgRect(i){if(!this.backgroundColor)return"";let e=Ze.prototype._toSVG.call(this),r=e.indexOf("COMMON_PARTS");e[r]='for="group" ';let t=e.join("");return i?i(t):t}_toSVG(i){let e=["\n"],r=this._createSVGBgRect(i);r&&e.push("\t\t",r);for(let r=0;r\n"),e}getSvgStyles(){let i=void 0!==this.opacity&&1!==this.opacity?"opacity: ".concat(this.opacity,";"):"",e=this.visible?"":" visibility: hidden;";return[i,this.getSvgFilter(),e].join("")}toClipPathSVG(i){let e=[],r=this._createSVGBgRect(i);r&&e.push("\t",r);for(let r=0;r{let[e,r]=i,t=new this(e,P(P(P({},f),r),{},{layoutManager:new u1}));if(n){let i=d0.getClass(n.type),e=d0.getClass(n.strategy);t.layoutManager=new i(new e)}else t.layoutManager=new W2;return t.layoutManager.subscribeTargets({type:Ie,target:t,targets:t.getObjects()}),t.setCoords(),t})}};R(ze,"type","Group"),R(ze,"ownDefaults",{strokeWidth:0,subTargetCheck:!1,interactive:!1}),d0.setClass(ze);var Qf=(i,e)=>Math.min(e.width/i.width,e.height/i.height),Yf=(i,e)=>Math.max(e.width/i.width,e.height/i.height),h1="\\s*,?\\s*",vr="".concat(h1,"(").concat(se,")"),Xs="".concat(vr).concat(vr).concat(vr).concat(h1,"([01])").concat(h1,"([01])").concat(vr).concat(vr),Vs={m:"l",M:"L"},Gs=(i,e,r,t,n,f,a,o,A,s,l)=>{let k=le(i),h=ke(i),u=le(e),c=ke(e),d=r*n*u-t*f*c+a,b=t*n*u+r*f*c+o;return["C",s+A*(-r*n*h-t*f*k),l+A*(-t*n*h+r*f*k),d+A*(r*n*c+t*f*u),b+A*(t*n*c-r*f*u),d,b]},To=(i,e,r,t)=>{let n=Math.atan2(e,i),f=Math.atan2(t,r);return f>=n?f-n:2*Math.PI-(n-f)};function c1(i,e,r,t,n,f,a,o){let A;if(P0.cachesBoundsOfCurve&&(A=[...arguments].join(),yr.boundsOfCurveCache[A]))return yr.boundsOfCurveCache[A];let s=Math.sqrt,l=Math.abs,k=[],h=[[0,0],[0,0]],u=6*i-12*r+6*n,c=-3*i+9*r-9*n+3*a,d=3*r-3*i;for(let i=0;i<2;++i){if(i>0&&(u=6*e-12*t+6*f,c=-3*e+9*t-9*f+3*o,d=3*t-3*e),l(c)<1e-12){if(l(u)<1e-12)continue;let i=-d/u;0{let[t,n,f,a,o,A,s,l]=r,k=((i,e,r,t,n,f,a)=>{if(0===r||0===t)return[];let o=0,A=0,s=0,l=Math.PI,k=a*Z1,h=ke(k),u=le(k),c=.5*(-u*i-h*e),d=.5*(-u*e+h*i),b=r**2,p=t**2,g=d**2,m=c**2,v=b*p-b*g-p*m,w=Math.abs(r),_=Math.abs(t);if(v<0){let i=Math.sqrt(1-v/(b*p));w*=i,_*=i}else s=(n===f?-1:1)*Math.sqrt(v/(b*g+p*m));let y=s*w*d/_,C=-s*_*c/w,B=u*y-h*C+.5*i,x=h*y+u*C+.5*e,Z=To(1,0,(c-y)/w,(d-C)/_),I=To((c-y)/w,(d-C)/_,(-c-y)/w,(-d-C)/_);0===f&&I>0?I-=2*l:1===f&&I<0&&(I+=2*l);let W=Math.ceil(Math.abs(I/l*2)),E=[],F=I/W,S=8/3*Math.sin(F/4)*Math.sin(F/4)/Math.sin(F/2),X=Z+F;for(let i=0;i{let e,r=0,t=0,n=0,f=0,a=[],o=0,A=0;for(let s of i){let i,l=[...s];switch(l[0]){case"l":l[1]+=r,l[2]+=t;case"L":r=l[1],t=l[2],i=["L",r,t];break;case"h":l[1]+=r;case"H":r=l[1],i=["L",r,t];break;case"v":l[1]+=t;case"V":t=l[1],i=["L",r,t];break;case"m":l[1]+=r,l[2]+=t;case"M":r=l[1],t=l[2],n=l[1],f=l[2],i=["M",r,t];break;case"c":l[1]+=r,l[2]+=t,l[3]+=r,l[4]+=t,l[5]+=r,l[6]+=t;case"C":o=l[3],A=l[4],r=l[5],t=l[6],i=["C",l[1],l[2],o,A,r,t];break;case"s":l[1]+=r,l[2]+=t,l[3]+=r,l[4]+=t;case"S":"C"===e?(o=2*r-o,A=2*t-A):(o=r,A=t),r=l[3],t=l[4],i=["C",o,A,l[1],l[2],r,t],o=i[3],A=i[4];break;case"q":l[1]+=r,l[2]+=t,l[3]+=r,l[4]+=t;case"Q":o=l[1],A=l[2],r=l[3],t=l[4],i=["Q",o,A,r,t];break;case"t":l[1]+=r,l[2]+=t;case"T":"Q"===e?(o=2*r-o,A=2*t-A):(o=r,A=t),r=l[1],t=l[2],i=["Q",o,A,r,t];break;case"a":l[6]+=r,l[7]+=t;case"A":Ds(r,t,l).forEach(i=>a.push(i)),r=l[6],t=l[7];break;case"z":case"Z":r=n,t=f,i=["Z"]}i?(a.push(i),e=i[0]):e=""}return a},Pt=(i,e,r,t)=>Math.sqrt((r-i)**2+(t-e)**2),zf=(i,e,r,t,n,f,a,o)=>A=>{let s=A**3,l=3*(u=A)**2*(1-u),k=(i=>3*i*(1-i)**2)(A),h=(i=>(1-i)**3)(A);var u;return new K(a*s+n*l+r*k+i*h,o*s+f*l+t*k+e*h)},Jf=i=>i**2,Hf=i=>2*i*(1-i),Uf=i=>(1-i)**2,Ms=(i,e,r,t,n,f,a,o)=>A=>{let s=Jf(A),l=Hf(A),k=Uf(A),h=3*(k*(r-i)+l*(n-r)+s*(a-n)),u=3*(k*(t-e)+l*(f-t)+s*(o-f));return Math.atan2(u,h)},Ts=(i,e,r,t,n,f)=>a=>{let o=Jf(a),A=Hf(a),s=Uf(a);return new K(n*o+r*A+i*s,f*o+t*A+e*s)},Rs=(i,e,r,t,n,f)=>a=>{let o=1-a,A=2*(o*(r-i)+a*(n-r)),s=2*(o*(t-e)+a*(f-t));return Math.atan2(s,A)},Ro=(i,e,r)=>{let t=new K(e,r),n=0;for(let e=1;e<=100;e+=1){let r=i(e/100);n+=Pt(t.x,t.y,r.x,r.y),t=r}return n},Ps=(i,e)=>{let r,t=0,n=0,f={x:i.x,y:i.y},a=P({},f),o=.01,A=0,s=i.iterator,l=i.angleFinder;for(;n1e-4;)a=s(t),A=t,r=Pt(f.x,f.y,a.x,a.y),r+n>e?(t-=o,o/=2):(f=a,t+=o,n+=r);return P(P({},a),{},{angle:l(A)})},H1=i=>{let e,r,t=0,n=0,f=0,a=0,o=0,A=[];for(let s of i){let i={x:n,y:f,command:s[0],length:0};switch(s[0]){case"M":r=i,r.x=a=n=s[1],r.y=o=f=s[2];break;case"L":r=i,r.length=Pt(n,f,s[1],s[2]),n=s[1],f=s[2];break;case"C":e=zf(n,f,s[1],s[2],s[3],s[4],s[5],s[6]),r=i,r.iterator=e,r.angleFinder=Ms(n,f,s[1],s[2],s[3],s[4],s[5],s[6]),r.length=Ro(e,n,f),n=s[5],f=s[6];break;case"Q":e=Ts(n,f,s[1],s[2],s[3],s[4]),r=i,r.iterator=e,r.angleFinder=Rs(n,f,s[1],s[2],s[3],s[4]),r.length=Ro(e,n,f),n=s[3],f=s[4];break;case"Z":r=i,r.destX=a,r.destY=o,r.length=Pt(n,f,a,o),n=a,f=o}t+=r.length,A.push(r)}return A.push({length:t,x:n,y:f}),A},Lf=function(i,e){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:H1(i),t=0;for(;e-r[t].length>0&&t{var e;let r=[],t=null!==(e=i.match(Ns))&&void 0!==e?e:[];for(let i of t){let e=i[0];if("z"===e||"Z"===e){r.push([e]);continue}let t=Ys[e.toLowerCase()],n=[];if("a"===e||"A"===e){Po.lastIndex=0;for(let e=null;e=Po.exec(i);)n.push(...e.slice(1))}else n=i.match(Qs)||[];for(let i=0;i0&&a?a:e;for(let e=0;e1&&void 0!==arguments[1]?arguments[1]:0,t=new K(i[0]),n=new K(i[1]),f=1,a=0,o=[],A=i.length,s=A>2;for(s&&(f=i[2].xi[e-2].x?1:t.x===i[e-2].x?0:-1,a=t.y>i[e-2].y?1:t.y===i[e-2].y?0:-1),o.push(["L",t.x+f*r,t.y+a*r]),o},U1=(i,e)=>i.map(i=>i.map((i,r)=>0===r||void 0===e?i:ti(i,e)).join(" ")).join(" ");function Nt(i,e){let r=i.style;r&&e&&("string"==typeof e?r.cssText+=";"+e:Object.entries(e).forEach(i=>{let[e,t]=i;return r.setProperty(e,t)}))}var Os=(i,e)=>Math.floor(Math.random()*(e-i+1))+i;function zs(i){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=e.onComplete||Z2,t=new(Lt().XMLHttpRequest),n=e.signal,f=function(){t.abort()},a=function(){n&&n.removeEventListener("abort",f),t.onerror=t.ontimeout=Z2};if(n&&n.aborted)throw new _t("request");return n&&n.addEventListener("abort",f,{once:!0}),t.onreadystatechange=function(){4===t.readyState&&(a(),r(t),t.onreadystatechange=Z2)},t.onerror=t.ontimeout=a,t.open("get",i,!0),t.send(),t}var Js=(i,e)=>{let r=i._findCenterFromElement();i.transformMatrix&&((i=>{if(i.transformMatrix){let{scaleX:e,scaleY:r,angle:t,skewX:n}=q2(i.transformMatrix);i.flipX=!1,i.flipY=!1,i.set(Wi,e),i.set(zi,r),i.angle=t,i.skewX=n,i.skewY=0}})(i),r=r.transform(i.transformMatrix)),delete i.transformMatrix,e&&(i.scaleX*=e.scaleX,i.scaleY*=e.scaleY,i.cropX=e.cropX,i.cropY=e.cropY,r.x+=e.offsetLeft,r.y+=e.offsetTop,i.width=e.width,i.height=e.height),i.setPositionByOrigin(r,V0,V0)},L1=Object.freeze({__proto__:null,addTransformToObject:sf,animate:N1,animateColor:gf,applyTransformToObject:ir,calcAngleBetweenVectors:Xt,calcDimensionsMatrix:Gr,calcPlaneChangeMatrix:Mr,calcVectorRotation:df,cancelAnimFrame:jo,capValue:F2,composeMatrix:rf,copyCanvasElement:i=>{var e;let r=ue(i);return null===(e=r.getContext("2d"))||void 0===e||e.drawImage(i,0,0),r},cos:le,createCanvasElement:Ki,createImage:$o,createRotateMatrix:sr,createScaleMatrix:Kt,createSkewXMatrix:X1,createSkewYMatrix:V1,createTranslateMatrix:ar,createVector:Wt,crossProduct:j2,degreesToRadians:si,dotProduct:mf,ease:La,enlivenObjectEnlivables:Dr,enlivenObjects:K2,findScaleToCover:Yf,findScaleToFit:Qf,getBoundsOfCurve:c1,getOrthonormalVector:P1,getPathSegmentsInfo:H1,getPointOnPath:Lf,getPointer:af,getRandomInt:Os,getRegularPolygonPath:(i,e)=>{let r=2*Math.PI/i,t=-Ue;i%2==0&&(t+=r/2);let n=new Array(i+1);for(let f=0;f{let e=["instantiated_by_use","style","id","class"];switch(i){case"linearGradient":return e.concat(["x1","y1","x2","y2","gradientUnits","gradientTransform"]);case"radialGradient":return e.concat(["gradientUnits","gradientTransform","cx","cy","r","fx","fy","fr"]);case"stop":return e.concat(["offset","stop-color","stop-opacity"])}return e},getUnitVector:nn,groupSVGElements:(i,e)=>i&&1===i.length?i[0]:new ze(i,e),hasStyleChanged:an,invertTransform:Oi,isBetweenVectors:r1,isIdentityMatrix:qo,isTouchEvent:It,isTransparent:Vf,joinPath:U1,loadImage:Br,magnitude:St,makeBoundingBoxFromPoints:be,makePathSimpler:Of,matrixToSVG:Er,mergeClipPaths:(i,e)=>{var r;let t=i,n=e;t.inverted&&!n.inverted&&(t=e,n=i),e1(n,null===(r=n.group)||void 0===r?void 0:r.calcTransformMatrix(),t.calcTransformMatrix());let f=t.inverted&&n.inverted;return f&&(t.inverted=n.inverted=!1),new ze([t],{clipPath:n,inverted:f})},multiplyTransformMatrices:Ai,multiplyTransformMatrixArray:qt,parsePath:jf,parsePreserveAspectRatioAttribute:tf,parseUnit:I2,pick:S2,projectStrokeOnPoints:Gf,qrDecompose:q2,radiansToDegrees:je,removeFromArray:s2,removeTransformFromObject:(i,e)=>{let r=Oi(e),t=Ai(r,i.calcOwnMatrix());ir(i,t)},removeTransformMatrixForSvgParsing:Js,request:zs,requestAnimFrame:Cr,resetObjectTransform:Af,rotatePoint:(i,e,r)=>i.rotate(r,e),rotateVector:R1,saveObjectTransform:D1,sendObjectToPlane:e1,sendPointToPlane:Fe,sendVectorToPlane:lf,setStyle:Nt,sin:ke,sizeAfterTransform:en,string:ss,stylesFromArray:Tf,stylesToArray:Mf,toDataURL:S1,toFixed:ti,transformPath:(i,e,r)=>(r&&(e=Ai(e,[1,0,0,1,-r.x,-r.y])),i.map(i=>{let r=[...i];for(let t=1;t1&&void 0!==arguments[1]?arguments[1]:{};super(i),R(this,"upper",void 0),R(this,"container",void 0);let{el:t}=this.lower,n=this.createUpperCanvas();this.upper={el:n,ctx:n.getContext("2d")},this.applyCanvasStyle(t,{allowTouchScrolling:e}),this.applyCanvasStyle(n,{allowTouchScrolling:e,styles:{position:"absolute",left:"0",top:"0"}});let f=this.createContainerElement();f.classList.add(r),t.parentNode&&t.parentNode.replaceChild(f,t),f.append(t,n),this.container=f}createUpperCanvas(){let{el:i}=this.lower,e=Ki();return e.className=i.className,e.classList.remove("lower-canvas"),e.classList.add("upper-canvas"),e.setAttribute("data-fabric","top"),e.style.cssText=i.style.cssText,e.setAttribute("draggable","true"),e}createContainerElement(){let i=nr().createElement("div");return i.setAttribute("data-fabric","wrapper"),Nt(i,{position:"relative"}),_o(i),i}applyCanvasStyle(i,e){let{styles:r,allowTouchScrolling:t}=e;Nt(i,P(P({},r),{},{"touch-action":t?"manipulation":Di})),_o(i)}setDimensions(i,e){super.setDimensions(i,e);let{el:r,ctx:t}=this.upper;ff(r,t,i,e)}setCSSDimensions(i){super.setCSSDimensions(i),Kn(this.upper.el,i),Kn(this.container,i)}cleanupDOM(i){let e=this.container,{el:r}=this.lower,{el:t}=this.upper;super.cleanupDOM(i),e.removeChild(t),e.removeChild(r),e.parentNode&&e.parentNode.replaceChild(r,e)}dispose(){super.dispose(),ve().dispose(this.upper.el),delete this.upper,delete this.container}},Qt=class i extends Wr{constructor(){super(...arguments),R(this,"targets",[]),R(this,"_hoveredTargets",[]),R(this,"_objectsToRender",void 0),R(this,"_currentTransform",null),R(this,"_groupSelector",null),R(this,"contextTopDirty",!1)}static getDefaults(){return P(P({},super.getDefaults()),i.ownDefaults)}get upperCanvasEl(){var i;return null===(i=this.elements.upper)||void 0===i?void 0:i.el}get contextTop(){var i;return null===(i=this.elements.upper)||void 0===i?void 0:i.ctx}get wrapperEl(){return this.elements.container}initElements(i){this.elements=new d1(i,{allowTouchScrolling:this.allowTouchScrolling,containerClass:this.containerClass}),this._createCacheCanvas()}_onObjectAdded(i){this._objectsToRender=void 0,super._onObjectAdded(i)}_onObjectRemoved(i){this._objectsToRender=void 0,i===this._activeObject&&(this.fire("before:selection:cleared",{deselected:[i]}),this._discardActiveObject(),this.fire("selection:cleared",{deselected:[i]}),i.fire("deselected",{target:i})),i===this._hoveredTarget&&(this._hoveredTarget=void 0,this._hoveredTargets=[]),super._onObjectRemoved(i)}_onStackOrderChanged(){this._objectsToRender=void 0,super._onStackOrderChanged()}_chooseObjectsToRender(){let i=this._activeObject;return!this.preserveObjectStacking&&i?this._objects.filter(e=>!e.group&&e!==i).concat(i):this._objects}renderAll(){this.cancelRequestedRender(),this.destroyed||(!this.contextTopDirty||this._groupSelector||this.isDrawingMode||(this.clearContext(this.contextTop),this.contextTopDirty=!1),this.hasLostContext&&(this.renderTopLayer(this.contextTop),this.hasLostContext=!1),!this._objectsToRender&&(this._objectsToRender=this._chooseObjectsToRender()),this.renderCanvas(this.getContext(),this._objectsToRender))}renderTopLayer(i){i.save(),this.isDrawingMode&&this._isCurrentlyDrawing&&(this.freeDrawingBrush&&this.freeDrawingBrush._render(),this.contextTopDirty=!0),this.selection&&this._groupSelector&&(this._drawSelection(i),this.contextTopDirty=!0),i.restore()}renderTop(){let i=this.contextTop;this.clearContext(i),this.renderTopLayer(i),this.fire("after:render",{ctx:i})}setTargetFindTolerance(i){i=Math.round(i),this.targetFindTolerance=i;let e=this.getRetinaScaling(),r=Math.ceil((2*i+1)*e);this.pixelFindCanvasEl.width=this.pixelFindCanvasEl.height=r,this.pixelFindContext.scale(e,e)}isTargetTransparent(i,e,r){let t=this.targetFindTolerance,n=this.pixelFindContext;this.clearContext(n),n.save(),n.translate(-e+t,-r+t),n.transform(...this.viewportTransform);let f=i.selectionBackgroundColor;i.selectionBackgroundColor="",i.render(n),i.selectionBackgroundColor=f,n.restore();let a=Math.round(t*this.getRetinaScaling());return Vf(n,a,a,a)}_isSelectionKeyPressed(i){let e=this.selectionKey;return!!e&&(Array.isArray(e)?!!e.find(e=>!!e&&!0===i[e]):i[e])}_shouldClearSelection(i,e){let r=this.getActiveObjects(),t=this._activeObject;return!!(!e||e&&t&&r.length>1&&-1===r.indexOf(e)&&t!==e&&!this._isSelectionKeyPressed(i)||e&&!e.evented||e&&!e.selectable&&t&&t!==e)}_shouldCenterTransform(i,e,r){if(!i)return;let t;return e===$t||e===Wi||e===zi||e===Ir?t=this.centeredScaling||i.centeredScaling:e===F1&&(t=this.centeredRotation||i.centeredRotation),t?!r:r}_getOriginFromCorner(i,e){let r={x:i.originX,y:i.originY};return e&&(["ml","tl","bl"].includes(e)?r.x=ui:["mr","tr","br"].includes(e)&&(r.x=z0),["tl","mt","tr"].includes(e)?r.y=$n:["bl","mb","br"].includes(e)&&(r.y=Gi)),r}_setupCurrentTransform(i,e,r){var t;let n=e.group?Fe(this.getScenePoint(i),void 0,e.group.calcTransformMatrix()):this.getScenePoint(i),{key:f="",control:a}=e.getActiveControl()||{},o=r&&a?null===(t=a.getActionHandler(i,e,a))||void 0===t?void 0:t.bind(a):hf,A=((i,e,r,t)=>{if(!e||!i)return"drag";let n=t.controls[e];return n.getActionName(r,n,t)})(r,f,i,e),s=i[this.centeredKey],l=this._shouldCenterTransform(e,A,s)?{x:V0,y:V0}:this._getOriginFromCorner(e,f),k={target:e,action:A,actionHandler:o,actionPerformed:!1,corner:f,scaleX:e.scaleX,scaleY:e.scaleY,skewX:e.skewX,skewY:e.skewY,offsetX:n.x-e.left,offsetY:n.y-e.top,originX:l.x,originY:l.y,ex:n.x,ey:n.y,lastX:n.x,lastY:n.y,theta:si(e.angle),width:e.width,height:e.height,shiftKey:i.shiftKey,altKey:s,original:P(P({},D1(e)),{},{originX:l.x,originY:l.y})};this._currentTransform=k,this.fire("before:transform",{e:i,transform:k})}setCursor(i){this.upperCanvasEl.style.cursor=i}_drawSelection(i){let{x:e,y:r,deltaX:t,deltaY:n}=this._groupSelector,f=new K(e,r).transform(this.viewportTransform),a=new K(e+t,r+n).transform(this.viewportTransform),o=this.selectionLineWidth/2,A=Math.min(f.x,a.x),s=Math.min(f.y,a.y),l=Math.max(f.x,a.x),k=Math.max(f.y,a.y);this.selectionColor&&(i.fillStyle=this.selectionColor,i.fillRect(A,s,l-A,k-s)),this.selectionLineWidth&&this.selectionBorderColor&&(i.lineWidth=this.selectionLineWidth,i.strokeStyle=this.selectionBorderColor,A+=o,s+=o,l-=o,k-=o,ci.prototype._setLineDash.call(this,i,this.selectionDashArray),i.strokeRect(A,s,l-A,k-s))}findTarget(i){if(this.skipTargetFind)return;let e=this.getViewportPoint(i),r=this._activeObject,t=this.getActiveObjects();if(this.targets=[],r&&t.length>=1){if(r.findControl(e,It(i))||t.length>1&&this.searchPossibleTargets([r],e))return r;if(r===this.searchPossibleTargets([r],e)){if(this.preserveObjectStacking){let t=this.targets;this.targets=[];let n=this.searchPossibleTargets(this._objects,e);return i[this.altSelectionKey]&&n&&n!==r?(this.targets=t,r):n}return r}}return this.searchPossibleTargets(this._objects,e)}_pointIsInObjectSelectionArea(i,e){let r=i.getCoords(),t=this.getZoom(),n=i.padding/t;if(n){let[i,e,t,f]=r,a=Math.atan2(e.y-i.y,e.x-i.x),o=le(a)*n,A=ke(a)*n,s=o+A,l=o-A;r=[new K(i.x-l,i.y-s),new K(e.x+s,e.y-l),new K(t.x+l,t.y+s),new K(f.x-s,f.y+l)]}return E2.isPointInPolygon(e,r)}_checkTarget(i,e){return!(!(i&&i.visible&&i.evented&&this._pointIsInObjectSelectionArea(i,Fe(e,void 0,this.viewportTransform)))||(this.perPixelTargetFind||i.perPixelTargetFind)&&!i.isEditing&&this.isTargetTransparent(i,e.x,e.y))}_searchPossibleTargets(i,e){let r=i.length;for(;r--;){let t=i[r];if(this._checkTarget(t,e)){if(bt(t)&&t.subTargetCheck){let i=this._searchPossibleTargets(t._objects,e);i&&this.targets.push(i)}return t}}}searchPossibleTargets(i,e){let r=this._searchPossibleTargets(i,e);if(r&&bt(r)&&r.interactive&&this.targets[0]){let i=this.targets;for(let e=i.length-1;e>0;e--){let r=i[e];if(!bt(r)||!r.interactive)return r}return i[0]}return r}getViewportPoint(i){return this._pointer?this._pointer:this.getPointer(i,!0)}getScenePoint(i){return this._absolutePointer?this._absolutePointer:this.getPointer(i)}getPointer(i){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=this.upperCanvasEl,t=r.getBoundingClientRect(),n=af(i),f=t.width||0,a=t.height||0;f&&a||(Gi in t&&$n in t&&(a=Math.abs(t.top-t.bottom)),ui in t&&z0 in t&&(f=Math.abs(t.right-t.left))),this.calcOffset(),n.x=n.x-this._offset.left,n.y=n.y-this._offset.top,e||(n=Fe(n,void 0,this.viewportTransform));let o=this.getRetinaScaling();1!==o&&(n.x/=o,n.y/=o);let A=0===f||0===a?new K(1,1):new K(r.width/f,r.height/a);return n.multiply(A)}_setDimensionsImpl(i,e){this._resetTransformEventData(),super._setDimensionsImpl(i,e),this._isCurrentlyDrawing&&this.freeDrawingBrush&&this.freeDrawingBrush._setBrushStyles(this.contextTop)}_createCacheCanvas(){this.pixelFindCanvasEl=Ki(),this.pixelFindContext=this.pixelFindCanvasEl.getContext("2d",{willReadFrequently:!0}),this.setTargetFindTolerance(this.targetFindTolerance)}getTopContext(){return this.elements.upper.ctx}getSelectionContext(){return this.elements.upper.ctx}getSelectionElement(){return this.elements.upper.el}getActiveObject(){return this._activeObject}getActiveObjects(){let i=this._activeObject;return A2(i)?i.getObjects():i?[i]:[]}_fireSelectionEvents(i,e){let r=!1,t=!1,n=this.getActiveObjects(),f=[],a=[];i.forEach(i=>{n.includes(i)||(r=!0,i.fire("deselected",{e:e,target:i}),a.push(i))}),n.forEach(t=>{i.includes(t)||(r=!0,t.fire("selected",{e:e,target:t}),f.push(t))}),i.length>0&&n.length>0?(t=!0,r&&this.fire("selection:updated",{e:e,selected:f,deselected:a})):n.length>0?(t=!0,this.fire("selection:created",{e:e,selected:f})):i.length>0&&(t=!0,this.fire("selection:cleared",{e:e,deselected:a})),t&&(this._objectsToRender=void 0)}setActiveObject(i,e){let r=this.getActiveObjects(),t=this._setActiveObject(i,e);return this._fireSelectionEvents(r,e),t}_setActiveObject(i,e){let r=this._activeObject;return!(r===i||!this._discardActiveObject(e,i)&&this._activeObject||i.onSelect({e:e})||(this._activeObject=i,A2(i)&&r!==i&&i.set("canvas",this),i.setCoords(),0))}_discardActiveObject(i,e){let r=this._activeObject;return!!r&&!r.onDeselect({e:i,object:e})&&(this._currentTransform&&this._currentTransform.target===r&&this.endCurrentTransform(i),A2(r)&&r===this._hoveredTarget&&(this._hoveredTarget=void 0),this._activeObject=void 0,!0)}discardActiveObject(i){let e=this.getActiveObjects(),r=this.getActiveObject();e.length&&this.fire("before:selection:cleared",{e:i,deselected:[r]});let t=this._discardActiveObject(i);return this._fireSelectionEvents(e,i),t}endCurrentTransform(i){let e=this._currentTransform;this._finalizeCurrentTransform(i),e&&e.target&&(e.target.isMoving=!1),this._currentTransform=null}_finalizeCurrentTransform(i){let e=this._currentTransform,r=e.target,t={e:i,target:r,transform:e,action:e.action};r._scaling&&(r._scaling=!1),r.setCoords(),e.actionPerformed&&(this.fire("object:modified",t),r.fire(Ct,t))}setViewportTransform(i){super.setViewportTransform(i);let e=this._activeObject;e&&e.setCoords()}destroy(){let i=this._activeObject;A2(i)&&(i.removeAll(),i.dispose()),delete this._activeObject,super.destroy(),this.pixelFindContext=null,this.pixelFindCanvasEl=void 0}clear(){this.discardActiveObject(),this._activeObject=void 0,this.clearContext(this.contextTop),super.clear()}drawControls(i){let e=this._activeObject;e&&e._renderControls(i)}_toObject(i,e,r){let t=this._realizeGroupTransformOnObject(i),n=super._toObject(i,e,r);return i.set(t),n}_realizeGroupTransformOnObject(i){let{group:e}=i;if(e&&A2(e)&&this._activeObject===e){let r=S2(i,["angle","flipX","flipY",z0,Wi,zi,or,fr,Gi]);return sf(i,e.calcOwnMatrix()),r}return{}}_setSVGObject(i,e,r){let t=this._realizeGroupTransformOnObject(e);super._setSVGObject(i,e,r),e.set(t)}};R(Qt,"ownDefaults",{uniformScaling:!0,uniScaleKey:"shiftKey",centeredScaling:!1,centeredRotation:!1,centeredKey:"altKey",altActionKey:"shiftKey",selection:!0,selectionKey:"shiftKey",selectionColor:"rgba(100, 100, 255, 0.3)",selectionDashArray:[],selectionBorderColor:"rgba(255, 255, 255, 0.3)",selectionLineWidth:1,selectionFullyContained:!1,hoverCursor:"move",moveCursor:"move",defaultCursor:"default",freeDrawingCursor:"crosshair",notAllowedCursor:"not-allowed",perPixelTargetFind:!1,targetFindTolerance:0,skipTargetFind:!1,stopContextMenu:!1,fireRightClick:!1,fireMiddleClick:!1,enablePointerEvents:!1,containerClass:"canvas-container",preserveObjectStacking:!1});var m1=class{constructor(i){R(this,"targets",[]),R(this,"__disposer",void 0);let e=()=>{let{hiddenTextarea:e}=i.getActiveObject()||{};e&&e.focus()},r=i.upperCanvasEl;r.addEventListener("click",e),this.__disposer=()=>r.removeEventListener("click",e)}exitTextEditing(){this.target=void 0,this.targets.forEach(i=>{i.isEditing&&i.exitEditing()})}add(i){this.targets.push(i)}remove(i){this.unregister(i),s2(this.targets,i)}register(i){this.target=i}unregister(i){i===this.target&&(this.target=void 0)}onMouseMove(i){var e;null!==(e=this.target)&&void 0!==e&&e.isEditing&&this.target.updateSelectionOnMouseMove(i)}clear(){this.targets=[],this.target=void 0}dispose(){this.clear(),this.__disposer(),delete this.__disposer}},Hs=["target","oldTarget","fireCanvas","e"],Yi={passive:!1},Y2=(i,e)=>{let r=i.getViewportPoint(e),t=i.getScenePoint(e);return{viewportPoint:r,scenePoint:t,pointer:r,absolutePointer:t}},Ne=function(i){for(var e=arguments.length,r=new Array(e>1?e-1:0),t=1;t1?e-1:0),t=1;t1&&void 0!==arguments[1]?arguments[1]:{}),R(this,"_isClick",void 0),R(this,"textEditingManager",new m1(this)),["_onMouseDown","_onTouchStart","_onMouseMove","_onMouseUp","_onTouchEnd","_onResize","_onMouseWheel","_onMouseOut","_onMouseEnter","_onContextMenu","_onDoubleClick","_onDragStart","_onDragEnd","_onDragProgress","_onDragOver","_onDragEnter","_onDragLeave","_onDrop"].forEach(i=>{this[i]=this[i].bind(this)}),this.addOrRemove(Ne,"add")}_getEventPrefix(){return this.enablePointerEvents?"pointer":"mouse"}addOrRemove(i,e){let r=this.upperCanvasEl,t=this._getEventPrefix();i(of(r),"resize",this._onResize),i(r,t+"down",this._onMouseDown),i(r,"".concat(t,"move"),this._onMouseMove,Yi),i(r,"".concat(t,"out"),this._onMouseOut),i(r,"".concat(t,"enter"),this._onMouseEnter),i(r,"wheel",this._onMouseWheel),i(r,"contextmenu",this._onContextMenu),i(r,"dblclick",this._onDoubleClick),i(r,"dragstart",this._onDragStart),i(r,"dragend",this._onDragEnd),i(r,"dragover",this._onDragOver),i(r,"dragenter",this._onDragEnter),i(r,"dragleave",this._onDragLeave),i(r,"drop",this._onDrop),this.enablePointerEvents||i(r,"touchstart",this._onTouchStart,Yi)}removeListeners(){this.addOrRemove(Ui,"remove");let i=this._getEventPrefix(),e=fe(this.upperCanvasEl);Ui(e,"".concat(i,"up"),this._onMouseUp),Ui(e,"touchend",this._onTouchEnd,Yi),Ui(e,"".concat(i,"move"),this._onMouseMove,Yi),Ui(e,"touchmove",this._onMouseMove,Yi),clearTimeout(this._willAddMouseDown)}_onMouseWheel(i){this.__onMouseWheel(i)}_onMouseOut(i){let e=this._hoveredTarget,r=P({e:i},Y2(this,i));this.fire("mouse:out",P(P({},r),{},{target:e})),this._hoveredTarget=void 0,e&&e.fire("mouseout",P({},r)),this._hoveredTargets.forEach(i=>{this.fire("mouse:out",P(P({},r),{},{target:i})),i&&i.fire("mouseout",P({},r))}),this._hoveredTargets=[]}_onMouseEnter(i){this._currentTransform||this.findTarget(i)||(this.fire("mouse:over",P({e:i},Y2(this,i))),this._hoveredTarget=void 0,this._hoveredTargets=[])}_onDragStart(i){this._isClick=!1;let e=this.getActiveObject();if(e&&e.onDragStart(i)){this._dragSource=e;let r={e:i,target:e};return this.fire("dragstart",r),e.fire("dragstart",r),void Ne(this.upperCanvasEl,"drag",this._onDragProgress)}i1(i)}_renderDragEffects(i,e,r){let t=!1,n=this._dropTarget;n&&n!==e&&n!==r&&(n.clearContextTop(),t=!0),e?.clearContextTop(),r!==e&&r?.clearContextTop();let f=this.contextTop;f.save(),f.transform(...this.viewportTransform),e&&(f.save(),e.transform(f),e.renderDragSourceEffect(i),f.restore(),t=!0),r&&(f.save(),r.transform(f),r.renderDropTargetEffect(i),f.restore(),t=!0),f.restore(),t&&(this.contextTopDirty=!0)}_onDragEnd(i){let e=!!i.dataTransfer&&i.dataTransfer.dropEffect!==Di,r=e?this._activeObject:void 0,t={e:i,target:this._dragSource,subTargets:this.targets,dragSource:this._dragSource,didDrop:e,dropTarget:r};Ui(this.upperCanvasEl,"drag",this._onDragProgress),this.fire("dragend",t),this._dragSource&&this._dragSource.fire("dragend",t),delete this._dragSource,this._onMouseUp(i)}_onDragProgress(i){let e={e:i,target:this._dragSource,dragSource:this._dragSource,dropTarget:this._draggedoverTarget};this.fire("drag",e),this._dragSource&&this._dragSource.fire("drag",e)}findDragTargets(i){return this.targets=[],{target:this._searchPossibleTargets(this._objects,this.getViewportPoint(i)),targets:[...this.targets]}}_onDragOver(i){let e,r="dragover",{target:t,targets:n}=this.findDragTargets(i),f=this._dragSource,a={e:i,target:t,subTargets:n,dragSource:f,canDrop:!1,dropTarget:void 0};this.fire(r,a),this._fireEnterLeaveEvents(t,a),t&&(t.canDrop(i)&&(e=t),t.fire(r,a));for(let t=0;t0)return;this.__onMouseUp(i),this._resetTransformEventData(),delete this.mainTouchId;let e=this._getEventPrefix(),r=fe(this.upperCanvasEl);Ui(r,"touchend",this._onTouchEnd,Yi),Ui(r,"touchmove",this._onMouseMove,Yi),this._willAddMouseDown&&clearTimeout(this._willAddMouseDown),this._willAddMouseDown=setTimeout(()=>{Ne(this.upperCanvasEl,"".concat(e,"down"),this._onMouseDown),this._willAddMouseDown=0},400)}_onMouseUp(i){this.__onMouseUp(i),this._resetTransformEventData();let e=this.upperCanvasEl,r=this._getEventPrefix();if(this._isMainEvent(i)){let i=fe(this.upperCanvasEl);Ui(i,"".concat(r,"up"),this._onMouseUp),Ui(i,"".concat(r,"move"),this._onMouseMove,Yi),Ne(e,"".concat(r,"move"),this._onMouseMove,Yi)}}_onMouseMove(i){let e=this.getActiveObject();!this.allowTouchScrolling&&(!e||!e.shouldStartDragging(i))&&i.preventDefault&&i.preventDefault(),this.__onMouseMove(i)}_onResize(){this.calcOffset(),this._resetTransformEventData()}_shouldRender(i){let e=this.getActiveObject();return!!e!=!!i||e&&i&&e!==i}__onMouseUp(i){var e;this._cacheTransformEventData(i),this._handleEvent(i,"up:before");let r=this._currentTransform,t=this._isClick,n=this._target,{button:f}=i;if(f)return(this.fireMiddleClick&&1===f||this.fireRightClick&&2===f)&&this._handleEvent(i,"up"),void this._resetTransformEventData();if(this.isDrawingMode&&this._isCurrentlyDrawing)return void this._onMouseUpInDrawingMode(i);if(!this._isMainEvent(i))return;let a,o,A=!1;if(r&&(this._finalizeCurrentTransform(i),A=r.actionPerformed),!t){let e=n===this._activeObject;this.handleSelection(i),A||(A=this._shouldRender(n)||!e&&n===this._activeObject)}if(n){let e=n.findControl(this.getViewportPoint(i),It(i)),{key:t,control:f}=e||{};if(o=t,n.selectable&&n!==this._activeObject&&"up"===n.activeOn)this.setActiveObject(n,i),A=!0;else if(f){let e=f.getMouseUpHandler(i,n,f);e&&(a=this.getScenePoint(i),e.call(f,i,r,a.x,a.y))}n.isMoving=!1}if(r&&(r.target!==n||r.corner!==o)){let e=r.target&&r.target.controls[r.corner],t=e&&e.getMouseUpHandler(i,r.target,e);a=a||this.getScenePoint(i),t&&t.call(e,i,r,a.x,a.y)}this._setCursorFromEvent(i,n),this._handleEvent(i,"up"),this._groupSelector=null,this._currentTransform=null,n&&(n.__corner=void 0),A?this.requestRenderAll():t||null!==(e=this._activeObject)&&void 0!==e&&e.isEditing||this.renderTop()}_basicEventHandler(i,e){let{target:r,subTargets:t=[]}=e;this.fire(i,e),r&&r.fire(i,e);for(let n=0;n{r=i.hoverCursor||r}),this.setCursor(r)}handleMultiSelection(i,e){let r=this._activeObject,t=A2(r);if(r&&this._isSelectionKeyPressed(i)&&this.selection&&e&&e.selectable&&(r!==e||t)&&(t||!e.isDescendantOf(r)&&!r.isDescendantOf(e))&&!e.onSelect({e:i})&&!r.getActiveControl()){if(t){let t=r.getObjects();if(e===r){let r=this.getViewportPoint(i);if(!(e=this.searchPossibleTargets(t,r)||this.searchPossibleTargets(this._objects,r))||!e.selectable)return!1}e.group===r?(r.remove(e),this._hoveredTarget=e,this._hoveredTargets=[...this.targets],1===r.size()&&this._setActiveObject(r.item(0),i)):(r.multiSelectAdd(e),this._hoveredTarget=r,this._hoveredTargets=[...this.targets]),this._fireSelectionEvents(t,i)}else{r.isEditing&&r.exitEditing();let t=new(d0.getClass("ActiveSelection"))([],{canvas:this});t.multiSelectAdd(r,e),this._hoveredTarget=t,this._setActiveObject(t,i),this._fireSelectionEvents([r],i)}return!0}return!1}handleSelection(i){if(!this.selection||!this._groupSelector)return!1;let{x:e,y:r,deltaX:t,deltaY:n}=this._groupSelector,f=new K(e,r),a=f.add(new K(t,n)),o=f.min(a),A=f.max(a).subtract(o),s=this.collectObjects({left:o.x,top:o.y,width:A.x,height:A.y},{includeIntersecting:!this.selectionFullyContained}),l=f.eq(a)?s[0]?[s[0]]:[]:s.length>1?s.filter(e=>!e.onSelect({e:i})).reverse():s;if(1===l.length)this.setActiveObject(l[0],i);else if(l.length>1){let e=d0.getClass("ActiveSelection");this.setActiveObject(new e(l,{canvas:this}),i)}return this._groupSelector=null,!0}clear(){this.textEditingManager.clear(),super.clear()}destroy(){this.removeListeners(),this.textEditingManager.dispose(),super.destroy()}},qf={x1:0,y1:0,x2:0,y2:0},Ls=P(P({},qf),{},{r1:0,r2:0}),z2=(i,e)=>isNaN(i)&&"number"==typeof e?e:i,js=/^(\d+\.\d+)%|(\d+)%$/;function Kf(i){return i&&js.test(i)}function ia(i,e){let r="number"==typeof i?i:"string"==typeof i?parseFloat(i)/(Kf(i)?100:1):NaN;return F2(0,z2(r,e),1)}var $s=/\s*;\s*/,qs=/\s*:\s*/;function Ks(i,e){let r,t,n=i.getAttribute("style");if(n){let i=n.split($s);""===i[i.length-1]&&i.pop();for(let e=i.length;e--;){let[n,f]=i[e].split(qs).map(i=>i.trim());"stop-color"===n?r=f:"stop-opacity"===n&&(t=f)}}let f=new xi(r||i.getAttribute("stop-color")||"rgb(0,0,0)");return{offset:ia(i.getAttribute("offset"),0),color:f.toRgb(),opacity:z2(parseFloat(t||i.getAttribute("stop-opacity")||""),1)*f.getAlpha()*e}}function iA(i,e){let r=[],t=i.getElementsByTagName("stop"),n=ia(e,1);for(let i=t.length;i--;)r.push(Ks(t[i],n));return r}function ea(i){return"linearGradient"===i.nodeName||"LINEARGRADIENT"===i.nodeName?"linear":"radial"}function ra(i){return"userSpaceOnUse"===i.getAttribute("gradientUnits")?"pixels":"percentage"}function oe(i,e){return i.getAttribute(e)}function eA(i,e){return function(i,e){let r,{width:t,height:n,gradientUnits:f}=e;return Object.keys(i).reduce((e,a)=>{let o=i[a];return"Infinity"===o?r=1:"-Infinity"===o?r=0:(r="string"==typeof o?parseFloat(o):o,"string"==typeof o&&Kf(o)&&(r*=.01,"pixels"===f&&("x1"!==a&&"x2"!==a&&"r2"!==a||(r*=t),"y1"!==a&&"y2"!==a||(r*=n)))),e[a]=r,e},{})}("linear"===ea(i)?{x1:oe(r=i,"x1")||0,y1:oe(r,"y1")||0,x2:oe(r,"x2")||"100%",y2:oe(r,"y2")||0}:function(i){return{x1:oe(i,"fx")||oe(i,"cx")||"50%",y1:oe(i,"fy")||oe(i,"cy")||"50%",r1:0,x2:oe(i,"cx")||"50%",y2:oe(i,"cy")||"50%",r2:oe(i,"r")||"50%"}}(i),P(P({},e),{},{gradientUnits:ra(i)}));var r}var J2=class{constructor(i){let{type:e="linear",gradientUnits:r="pixels",coords:t={},colorStops:n=[],offsetX:f=0,offsetY:a=0,gradientTransform:o,id:A}=i||{};Object.assign(this,{type:e,gradientUnits:r,coords:P(P({},"radial"===e?Ls:qf),t),colorStops:n,offsetX:f,offsetY:a,gradientTransform:o,id:A?"".concat(A,"_").concat(Le()):Le()})}addColorStop(i){for(let e in i){let r=new xi(i[e]);this.colorStops.push({offset:parseFloat(e),color:r.toRgb(),opacity:r.getAlpha()})}return this}toObject(i){return P(P({},S2(this,i)),{},{type:this.type,coords:P({},this.coords),colorStops:this.colorStops.map(i=>P({},i)),offsetX:this.offsetX,offsetY:this.offsetY,gradientUnits:this.gradientUnits,gradientTransform:this.gradientTransform?[...this.gradientTransform]:void 0})}toSVG(i){let{additionalTransform:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=[],t=this.gradientTransform?this.gradientTransform.concat():Fi.concat(),n="pixels"===this.gradientUnits?"userSpaceOnUse":"objectBoundingBox",f=this.colorStops.map(i=>P({},i)).sort((i,e)=>i.offset-e.offset),a=-this.offsetX,o=-this.offsetY;var A;"objectBoundingBox"===n?(a/=i.width,o/=i.height):(a+=i.width/2,o+=i.height/2),(A=i)&&"function"==typeof A._renderPathCommands&&"percentage"!==this.gradientUnits&&(a-=i.pathOffset.x,o-=i.pathOffset.y),t[4]-=a,t[5]-=o;let s=['id="SVGID_'.concat(this.id,'"'),'gradientUnits="'.concat(n,'"'),'gradientTransform="'.concat(e?e+" ":"").concat(Er(t),'"'),""].join(" ");if("linear"===this.type){let{x1:i,y1:e,x2:t,y2:n}=this.coords;r.push("\n')}else if("radial"===this.type){let{x1:i,y1:e,x2:t,y2:n,r1:a,r2:o}=this.coords,A=a>o;r.push("\n'),A&&(f.reverse(),f.forEach(i=>{i.offset=1-i.offset}));let l=Math.min(a,o);if(l>0){let i=l/Math.max(a,o);f.forEach(e=>{e.offset+=i*(1-e.offset)})}}return f.forEach(i=>{let{color:e,offset:t,opacity:n}=i;r.push("\n')}),r.push("linear"===this.type?"":"","\n"),r.join("")}toLive(i){let{x1:e,y1:r,x2:t,y2:n,r1:f,r2:a}=this.coords,o="linear"===this.type?i.createLinearGradient(e,r,t,n):i.createRadialGradient(e,r,f,t,n,a);return this.colorStops.forEach(i=>{let{color:e,opacity:r,offset:t}=i;o.addColorStop(t,void 0!==r?new xi(e).setAlpha(r).toRgba():e)}),o}static async fromObject(i){let{colorStops:e,gradientTransform:r}=i;return new this(P(P({},i),{},{colorStops:e?e.map(i=>P({},i)):void 0,gradientTransform:r?[...r]:void 0}))}static fromElement(i,e,r){let t=ra(i),n=e._findCenterFromElement();return new this(P({id:i.getAttribute("id")||void 0,type:ea(i),coords:eA(i,{width:r.viewBoxWidth||r.width,height:r.viewBoxHeight||r.height}),colorStops:iA(i,r.opacity),gradientUnits:t,gradientTransform:k1(i.getAttribute("gradientTransform")||"")},"pixels"===t?{offsetX:e.width/2-n.x,offsetY:e.height/2-n.y}:{offsetX:0,offsetY:0}))}};R(J2,"type","Gradient"),d0.setClass(J2,"gradient"),d0.setClass(J2,"linear"),d0.setClass(J2,"radial");var rA=["type","source","patternTransform"],Je=class{get type(){return"pattern"}set type(i){He("warn","Setting type has no effect",i)}constructor(i){R(this,"repeat","repeat"),R(this,"offsetX",0),R(this,"offsetY",0),R(this,"crossOrigin",""),this.id=Le(),Object.assign(this,i)}isImageSource(){return!!this.source&&"string"==typeof this.source.src}isCanvasSource(){return!!this.source&&!!this.source.toDataURL}sourceToString(){return this.isImageSource()?this.source.src:this.isCanvasSource()?this.source.toDataURL():""}toLive(i){return this.source&&(!this.isImageSource()||this.source.complete&&0!==this.source.naturalWidth&&0!==this.source.naturalHeight)?i.createPattern(this.source,this.repeat):null}toObject(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],{repeat:e,crossOrigin:r}=this;return P(P({},S2(this,i)),{},{type:"pattern",source:this.sourceToString(),repeat:e,crossOrigin:r,offsetX:ti(this.offsetX,P0.NUM_FRACTION_DIGITS),offsetY:ti(this.offsetY,P0.NUM_FRACTION_DIGITS),patternTransform:this.patternTransform?[...this.patternTransform]:null})}toSVG(i){let{width:e,height:r}=i,{source:t,repeat:n,id:f}=this,a=z2(this.offsetX/e,0),o=z2(this.offsetY/r,0),A="repeat-y"===n||"no-repeat"===n?1+Math.abs(a||0):z2(t.width/e,0),s="repeat-x"===n||"no-repeat"===n?1+Math.abs(o||0):z2(t.height/r,0);return[''),''),"",""].join("\n")}static async fromObject(i,e){let{type:r,source:t,patternTransform:n}=i,f=ni(i,rA),a=await Br(t,P(P({},e),{},{crossOrigin:f.crossOrigin}));return new this(P(P({},f),{},{patternTransform:n&&n.slice(0),source:a}))}};R(Je,"type","Pattern"),d0.setClass(Je),d0.setClass(Je,"pattern");var p1=class{constructor(i){R(this,"color","rgb(0, 0, 0)"),R(this,"width",1),R(this,"shadow",null),R(this,"strokeLineCap","round"),R(this,"strokeLineJoin","round"),R(this,"strokeMiterLimit",10),R(this,"strokeDashArray",null),R(this,"limitedToCanvasSize",!1),this.canvas=i}_setBrushStyles(i){i.strokeStyle=this.color,i.lineWidth=this.width,i.lineCap=this.strokeLineCap,i.miterLimit=this.strokeMiterLimit,i.lineJoin=this.strokeLineJoin,i.setLineDash(this.strokeDashArray||[])}_saveAndTransform(i){let e=this.canvas.viewportTransform;i.save(),i.transform(e[0],e[1],e[2],e[3],e[4],e[5])}needsFullRender(){return new xi(this.color).getAlpha()<1||!!this.shadow}_setShadow(){if(!this.shadow||!this.canvas)return;let i=this.canvas,e=this.shadow,r=i.contextTop,t=i.getZoom()*i.getRetinaScaling();r.shadowColor=e.color,r.shadowBlur=e.blur*t,r.shadowOffsetX=e.offsetX*t,r.shadowOffsetY=e.offsetY*t}_resetShadow(){let i=this.canvas.contextTop;i.shadowColor="",i.shadowBlur=i.shadowOffsetX=i.shadowOffsetY=0}_isOutSideCanvas(i){return i.x<0||i.x>this.canvas.getWidth()||i.y<0||i.y>this.canvas.getHeight()}},tA=["path","left","top"],nA=["d"],ae=class i extends ci{constructor(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{path:t,left:n,top:f}=r,a=ni(r,tA);super(),Object.assign(this,i.ownDefaults),this.setOptions(a),this._setPath(e||[],!0),"number"==typeof n&&this.set(z0,n),"number"==typeof f&&this.set(Gi,f)}_setPath(i,e){this.path=Of(Array.isArray(i)?i:jf(i)),this.setBoundingBox(e)}_findCenterFromElement(){let i=this._calcBoundsFromPath();return new K(i.left+i.width/2,i.top+i.height/2)}_renderPathCommands(i){let e=-this.pathOffset.x,r=-this.pathOffset.y;i.beginPath();for(let t of this.path)switch(t[0]){case"L":i.lineTo(t[1]+e,t[2]+r);break;case"M":i.moveTo(t[1]+e,t[2]+r);break;case"C":i.bezierCurveTo(t[1]+e,t[2]+r,t[3]+e,t[4]+r,t[5]+e,t[6]+r);break;case"Q":i.quadraticCurveTo(t[1]+e,t[2]+r,t[3]+e,t[4]+r);break;case"Z":i.closePath()}}_render(i){this._renderPathCommands(i),this._renderPaintInOrder(i)}toString(){return"#")}toObject(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return P(P({},super.toObject(i)),{},{path:this.path.map(i=>i.slice())})}toDatalessObject(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=this.toObject(i);return this.sourcePath&&(delete e.path,e.sourcePath=this.sourcePath),e}_toSVG(){let i=U1(this.path,P0.NUM_FRACTION_DIGITS);return["\n')]}_getOffsetTransform(){let i=P0.NUM_FRACTION_DIGITS;return" translate(".concat(ti(-this.pathOffset.x,i),", ").concat(ti(-this.pathOffset.y,i),")")}toClipPathSVG(i){let e=this._getOffsetTransform();return"\t"+this._createBaseClipPathSVGMarkup(this._toSVG(),{reviver:i,additionalTransform:e})}toSVG(i){let e=this._getOffsetTransform();return this._createBaseSVGMarkup(this._toSVG(),{reviver:i,additionalTransform:e})}complexity(){return this.path.length}setDimensions(){this.setBoundingBox()}setBoundingBox(i){let{width:e,height:r,pathOffset:t}=this._calcDimensions();this.set({width:e,height:r,pathOffset:t}),i&&this.setPositionByOrigin(t,V0,V0)}_calcBoundsFromPath(){let i=[],e=0,r=0,t=0,n=0;for(let f of this.path)switch(f[0]){case"L":t=f[1],n=f[2],i.push({x:e,y:r},{x:t,y:n});break;case"M":t=f[1],n=f[2],e=t,r=n;break;case"C":i.push(...c1(t,n,f[1],f[2],f[3],f[4],f[5],f[6])),t=f[5],n=f[6];break;case"Q":i.push(...c1(t,n,f[1],f[2],f[1],f[2],f[3],f[4])),t=f[3],n=f[4];break;case"Z":t=e,n=r}return be(i)}_calcDimensions(){let i=this._calcBoundsFromPath();return P(P({},i),{},{pathOffset:new K(i.left+i.width/2,i.top+i.height/2)})}static fromObject(i){return this._fromObject(i,{extraParam:"path"})}static async fromElement(i,e,r){let t=Xe(i,this.ATTRIBUTE_NAMES,r),{d:n}=t;return new this(n,P(P(P({},ni(t,nA)),e),{},{left:void 0,top:void 0}))}};R(ae,"type","Path"),R(ae,"cacheProperties",[...Se,"path","fillRule"]),R(ae,"ATTRIBUTE_NAMES",[...Ke,"d"]),d0.setClass(ae),d0.setSVGClass(ae);var tr=class i extends p1{constructor(i){super(i),R(this,"decimate",.4),R(this,"drawStraightLine",!1),R(this,"straightLineKey","shiftKey"),this._points=[],this._hasStraightLine=!1}needsFullRender(){return super.needsFullRender()||this._hasStraightLine}static drawSegment(i,e,r){let t=e.midPointFrom(r);return i.quadraticCurveTo(e.x,e.y,t.x,t.y),t}onMouseDown(i,e){let{e:r}=e;this.canvas._isMainEvent(r)&&(this.drawStraightLine=!!this.straightLineKey&&r[this.straightLineKey],this._prepareForDrawing(i),this._addPoint(i),this._render())}onMouseMove(e,r){let{e:t}=r;if(this.canvas._isMainEvent(t)&&(this.drawStraightLine=!!this.straightLineKey&&t[this.straightLineKey],(!0!==this.limitedToCanvasSize||!this._isOutSideCanvas(e))&&this._addPoint(e)&&this._points.length>1))if(this.needsFullRender())this.canvas.clearContext(this.canvas.contextTop),this._render();else{let e=this._points,r=e.length,t=this.canvas.contextTop;this._saveAndTransform(t),this.oldEnd&&(t.beginPath(),t.moveTo(this.oldEnd.x,this.oldEnd.y)),this.oldEnd=i.drawSegment(t,e[r-2],e[r-1]),t.stroke(),t.restore()}}onMouseUp(i){let{e:e}=i;return!this.canvas._isMainEvent(e)||(this.drawStraightLine=!1,this.oldEnd=void 0,this._finalizeAndAddPath(),!1)}_prepareForDrawing(i){this._reset(),this._addPoint(i),this.canvas.contextTop.moveTo(i.x,i.y)}_addPoint(i){return!(this._points.length>1&&i.eq(this._points[this._points.length-1])||(this.drawStraightLine&&this._points.length>1&&(this._hasStraightLine=!0,this._points.pop()),this._points.push(i),0))}_reset(){this._points=[],this._setBrushStyles(this.canvas.contextTop),this._setShadow(),this._hasStraightLine=!1}_render(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.canvas.contextTop,r=this._points[0],t=this._points[1];if(this._saveAndTransform(e),e.beginPath(),2===this._points.length&&r.x===t.x&&r.y===t.y){let i=this.width/1e3;r.x-=i,t.x+=i}e.moveTo(r.x,r.y);for(let n=1;n=f&&(t=i[e],o.push(t));return o.push(i[a]),o}_finalizeAndAddPath(){this.canvas.contextTop.closePath(),this.decimate&&(this._points=this.decimatePoints(this._points,this.decimate));let i=this.convertPointsToSVGPath(this._points);if("M 0 0 Q 0 0 0 0 L 0 0"===U1(i))return void this.canvas.requestRenderAll();let e=this.createPath(i);this.canvas.clearContext(this.canvas.contextTop),this.canvas.fire("before:path:created",{path:e}),this.canvas.add(e),this.canvas.requestRenderAll(),e.setCoords(),this._resetShadow(),this.canvas.fire("path:created",{path:e})}},oA=["left","top","radius"],ta=["radius","startAngle","endAngle","counterClockwise"],Qe=class i extends ci{static getDefaults(){return P(P({},super.getDefaults()),i.ownDefaults)}constructor(e){super(),Object.assign(this,i.ownDefaults),this.setOptions(e)}_set(i,e){return super._set(i,e),"radius"===i&&this.setRadius(e),this}_render(i){i.beginPath(),i.arc(0,0,this.radius,si(this.startAngle),si(this.endAngle),this.counterClockwise),this._renderPaintInOrder(i)}getRadiusX(){return this.get("radius")*this.get(Wi)}getRadiusY(){return this.get("radius")*this.get(zi)}setRadius(i){this.radius=i,this.set({width:2*i,height:2*i})}toObject(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return super.toObject([...ta,...i])}_toSVG(){let i=(this.endAngle-this.startAngle)%360;if(0===i)return["\n'];{let{radius:e}=this,r=si(this.startAngle),t=si(this.endAngle),n=le(r)*e,f=ke(r)*e,a=le(t)*e,o=ke(t)*e,A=i>180?1:0,s=this.counterClockwise?0:1;return['\n"]}}static async fromElement(i,e,r){let t=Xe(i,this.ATTRIBUTE_NAMES,r),{left:n=0,top:f=0,radius:a=0}=t;return new this(P(P({},ni(t,oA)),{},{radius:a,left:n-a,top:f-a}))}static fromObject(i){return super._fromObject(i)}};R(Qe,"type","Circle"),R(Qe,"cacheProperties",[...Se,...ta]),R(Qe,"ownDefaults",{radius:0,startAngle:0,endAngle:360,counterClockwise:!1}),R(Qe,"ATTRIBUTE_NAMES",["cx","cy","r",...Ke]),d0.setClass(Qe),d0.setSVGClass(Qe);var fA=["x1","y1","x2","y2"],aA=["x1","y1","x2","y2"],g1=["x1","x2","y1","y2"],l2=class i extends ci{constructor(){let[e,r,t,n]=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[0,0,0,0],f=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),Object.assign(this,i.ownDefaults),this.setOptions(f),this.x1=e,this.x2=t,this.y1=r,this.y2=n,this._setWidthHeight();let{left:a,top:o}=f;"number"==typeof a&&this.set(z0,a),"number"==typeof o&&this.set(Gi,o)}_setWidthHeight(){let{x1:i,y1:e,x2:r,y2:t}=this;this.width=Math.abs(r-i),this.height=Math.abs(t-e);let{left:n,top:f,width:a,height:o}=be([{x:i,y:e},{x:r,y:t}]),A=new K(n+a/2,f+o/2);this.setPositionByOrigin(A,V0,V0)}_set(i,e){return super._set(i,e),g1.includes(i)&&this._setWidthHeight(),this}_render(i){i.beginPath();let e=this.calcLinePoints();i.moveTo(e.x1,e.y1),i.lineTo(e.x2,e.y2),i.lineWidth=this.strokeWidth;let r=i.strokeStyle;var t;ji(this.stroke)?i.strokeStyle=this.stroke.toLive(i):i.strokeStyle=null!==(t=this.stroke)&&void 0!==t?t:i.fillStyle,this.stroke&&this._renderStroke(i),i.strokeStyle=r}_findCenterFromElement(){return new K((this.x1+this.x2)/2,(this.y1+this.y2)/2)}toObject(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return P(P({},super.toObject(i)),this.calcLinePoints())}_getNonTransformedDimensions(){let i=super._getNonTransformedDimensions();return"butt"===this.strokeLineCap&&(0===this.width&&(i.y-=this.strokeWidth),0===this.height&&(i.x-=this.strokeWidth)),i}calcLinePoints(){let{x1:i,x2:e,y1:r,y2:t,width:n,height:f}=this,a=i<=e?-1:1,o=r<=t?-1:1;return{x1:a*n/2,x2:a*-n/2,y1:o*f/2,y2:o*-f/2}}_toSVG(){let{x1:i,x2:e,y1:r,y2:t}=this.calcLinePoints();return["\n')]}static async fromElement(i,e,r){let t=Xe(i,this.ATTRIBUTE_NAMES,r),{x1:n=0,y1:f=0,x2:a=0,y2:o=0}=t;return new this([n,f,a,o],ni(t,fA))}static fromObject(i){let{x1:e,y1:r,x2:t,y2:n}=i,f=ni(i,aA);return this._fromObject(P(P({},f),{},{points:[e,r,t,n]}),{extraParam:"points"})}};R(l2,"type","Line"),R(l2,"cacheProperties",[...Se,...g1]),R(l2,"ATTRIBUTE_NAMES",Ke.concat(g1)),d0.setClass(l2),d0.setSVGClass(l2);var H2=class i extends ci{static getDefaults(){return P(P({},super.getDefaults()),i.ownDefaults)}constructor(e){super(),Object.assign(this,i.ownDefaults),this.setOptions(e)}_render(i){let e=this.width/2,r=this.height/2;i.beginPath(),i.moveTo(-e,r),i.lineTo(0,-r),i.lineTo(e,r),i.closePath(),this._renderPaintInOrder(i)}_toSVG(){let i=this.width/2,e=this.height/2;return["']}};R(H2,"type","Triangle"),R(H2,"ownDefaults",{width:100,height:100}),d0.setClass(H2),d0.setSVGClass(H2);var na=["rx","ry"],Ye=class i extends ci{static getDefaults(){return P(P({},super.getDefaults()),i.ownDefaults)}constructor(e){super(),Object.assign(this,i.ownDefaults),this.setOptions(e)}_set(i,e){switch(super._set(i,e),i){case"rx":this.rx=e,this.set("width",2*e);break;case"ry":this.ry=e,this.set("height",2*e)}return this}getRx(){return this.get("rx")*this.get(Wi)}getRy(){return this.get("ry")*this.get(zi)}toObject(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return super.toObject([...na,...i])}_toSVG(){return["\n')]}_render(i){i.beginPath(),i.save(),i.transform(1,0,0,this.ry/this.rx,0,0),i.arc(0,0,this.rx,0,We,!1),i.restore(),this._renderPaintInOrder(i)}static async fromElement(i,e,r){let t=Xe(i,this.ATTRIBUTE_NAMES,r);return t.left=(t.left||0)-t.rx,t.top=(t.top||0)-t.ry,new this(t)}};function sA(i){if(!i)return[];let e=i.replace(/,/g," ").trim().split(/\s+/),r=[];for(let i=0;i0&&void 0!==arguments[0]?arguments[0]:[],r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),R(this,"strokeDiff",void 0),Object.assign(this,i.ownDefaults),this.setOptions(r),this.points=e;let{left:t,top:n}=r;this.initialized=!0,this.setBoundingBox(!0),"number"==typeof t&&this.set(z0,t),"number"==typeof n&&this.set(Gi,n)}isOpen(){return!0}_projectStrokeOnPoints(i){return Gf(this.points,i,this.isOpen())}_calcDimensions(i){i=P({scaleX:this.scaleX,scaleY:this.scaleY,skewX:this.skewX,skewY:this.skewY,strokeLineCap:this.strokeLineCap,strokeLineJoin:this.strokeLineJoin,strokeMiterLimit:this.strokeMiterLimit,strokeUniform:this.strokeUniform,strokeWidth:this.strokeWidth},i||{});let e=this.exactBoundingBox?this._projectStrokeOnPoints(i).map(i=>i.projectedPoint):this.points;if(0===e.length)return{left:0,top:0,width:0,height:0,pathOffset:new K,strokeOffset:new K,strokeDiff:new K};let r=be(e),t=Gr(P(P({},i),{},{scaleX:1,scaleY:1})),n=be(this.points.map(i=>Bi(i,t,!0))),f=new K(this.scaleX,this.scaleY),a=r.left+r.width/2,o=r.top+r.height/2;return this.exactBoundingBox&&(a-=o*Math.tan(si(this.skewX)),o-=a*Math.tan(si(this.skewY))),P(P({},r),{},{pathOffset:new K(a,o),strokeOffset:new K(n.left,n.top).subtract(new K(r.left,r.top)).multiply(f),strokeDiff:new K(r.width,r.height).subtract(new K(n.width,n.height)).multiply(f)})}_findCenterFromElement(){let i=be(this.points);return new K(i.left+i.width/2,i.top+i.height/2)}setDimensions(){this.setBoundingBox()}setBoundingBox(i){let{left:e,top:r,width:t,height:n,pathOffset:f,strokeOffset:a,strokeDiff:o}=this._calcDimensions();this.set({width:t,height:n,pathOffset:f,strokeOffset:a,strokeDiff:o}),i&&this.setPositionByOrigin(new K(e+t/2,r+n/2),V0,V0)}isStrokeAccountedForInDimensions(){return this.exactBoundingBox}_getNonTransformedDimensions(){return this.exactBoundingBox?new K(this.width,this.height):super._getNonTransformedDimensions()}_getTransformedDimensions(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.exactBoundingBox){let f;if(Object.keys(i).some(i=>this.strokeUniform||this.constructor.layoutProperties.includes(i))){var e,r;let{width:t,height:n}=this._calcDimensions(i);f=new K(null!==(e=i.width)&&void 0!==e?e:t,null!==(r=i.height)&&void 0!==r?r:n)}else{var t,n;f=new K(null!==(t=i.width)&&void 0!==t?t:this.width,null!==(n=i.height)&&void 0!==n?n:this.height)}return f.multiply(new K(i.scaleX||this.scaleX,i.scaleY||this.scaleY))}return super._getTransformedDimensions(i)}_set(i,e){let r=this.initialized&&this[i]!==e,t=super._set(i,e);return this.exactBoundingBox&&r&&((i===Wi||i===zi)&&this.strokeUniform&&this.constructor.layoutProperties.includes("strokeUniform")||this.constructor.layoutProperties.includes(i))&&this.setDimensions(),t}toObject(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return P(P({},super.toObject(i)),{},{points:this.points.map(i=>{let{x:e,y:r}=i;return{x:e,y:r}})})}_toSVG(){let i=[],e=this.pathOffset.x,r=this.pathOffset.y,t=P0.NUM_FRACTION_DIGITS;for(let n=0,f=this.points.length;n\n')]}_render(i){let e=this.points.length,r=this.pathOffset.x,t=this.pathOffset.y;if(e&&!isNaN(this.points[e-1].y)){i.beginPath(),i.moveTo(this.points[0].x-r,this.points[0].y-t);for(let n=0;nvoid 0!==i);this._setStyleDeclaration(r,t,n)}getSelectionStyles(i,e,r){let t=[];for(let n=i;n<(e||i);n++)t.push(this.getStyleAtPosition(n,r));return t}getStyleAtPosition(i,e){let{lineIndex:r,charIndex:t}=this.get2DCursorLocation(i);return e?this.getCompleteStyleDeclaration(r,t):this._getStyleDeclaration(r,t)}setSelectionStyles(i,e,r){for(let t=e;t<(r||e);t++)this._extendStyles(t,i);this._forceClearCache=!0}_getStyleDeclaration(i,e){var r;let t=this.styles&&this.styles[i];return t&&null!==(r=t[e])&&void 0!==r?r:{}}getCompleteStyleDeclaration(i,e){return P(P({},S2(this,this.constructor._styleProperties)),this._getStyleDeclaration(i,e))}_setStyleDeclaration(i,e,r){this.styles[i][e]=r}_deleteStyleDeclaration(i,e){delete this.styles[i][e]}_getLineStyle(i){return!!this.styles[i]}_setLineStyle(i){this.styles[i]={}}_deleteLineStyle(i){delete this.styles[i]}};R(Ot,"_styleProperties",lA);var uA=/ +/g,hA=/"/g;function Yn(i,e,r,t,n){return"\t\t".concat(function(i,e){let{left:r,top:t,width:n,height:f}=e,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:P0.NUM_FRACTION_DIGITS,o=Fr(bi,i,!1),[A,s,l,k]=[r,t,n,f].map(i=>ti(i,a));return"')}(i,{left:e,top:r,width:t,height:n}),"\n")}var On,cA=["textAnchor","textDecoration","dx","dy","top","left","fontSize","strokeWidth"],Li=class i extends Ot{static getDefaults(){return P(P({},super.getDefaults()),i.ownDefaults)}constructor(e,r){super(),R(this,"__charBounds",[]),Object.assign(this,i.ownDefaults),this.setOptions(r),this.styles||(this.styles={}),this.text=e,this.initialized=!0,this.path&&this.setPathInfo(),this.initDimensions(),this.setCoords()}setPathInfo(){let i=this.path;i&&(i.segmentsInfo=H1(i.path))}_splitText(){let i=this._splitTextIntoLines(this.text);return this.textLines=i.lines,this._textLines=i.graphemeLines,this._unwrappedTextLines=i._unwrappedLines,this._text=i.graphemeText,i}initDimensions(){this._splitText(),this._clearCache(),this.dirty=!0,this.path?(this.width=this.path.width,this.height=this.path.height):(this.width=this.calcTextWidth()||this.cursorWidth||this.MIN_TEXT_WIDTH,this.height=this.calcTextHeight()),this.textAlign.includes(ge)&&this.enlargeSpaces()}enlargeSpaces(){let i,e,r,t,n,f,a;for(let o=0,A=this._textLines.length;o')}_getCacheCanvasDimensions(){let i=super._getCacheCanvasDimensions(),e=this.fontSize;return i.width+=e*i.zoomX,i.height+=e*i.zoomY,i}_render(i){let e=this.path;e&&!e.isNotVisible()&&e._render(i),this._setTextStyles(i),this._renderTextLinesBackground(i),this._renderTextDecoration(i,"underline"),this._renderText(i),this._renderTextDecoration(i,"overline"),this._renderTextDecoration(i,"linethrough")}_renderText(i){this.paintFirst===Mi?(this._renderTextStroke(i),this._renderTextFill(i)):(this._renderTextFill(i),this._renderTextStroke(i))}_setTextStyles(i,e,r){if(i.textBaseline="alphabetic",this.path)switch(this.pathAlign){case V0:i.textBaseline="middle";break;case"ascender":i.textBaseline=Gi;break;case"descender":i.textBaseline=$n}i.font=this._getFontDeclaration(e,r)}calcTextWidth(){let i=this.getLineWidth(0);for(let e=1,r=this._textLines.length;ei&&(i=r)}return i}_renderTextLine(i,e,r,t,n,f){this._renderChars(i,e,r,t,n,f)}_renderTextLinesBackground(i){if(!this.textBackgroundColor&&!this.styleHas("textBackgroundColor"))return;let e=i.fillStyle,r=this._getLeftOffset(),t=this._getTopOffset();for(let e=0,n=this._textLines.length;e=0:te?i%=e:i<0&&(i+=e),this._setGraphemeOnPath(i,r),i+=r.kernedWidth}return{width:t,numOfSpaces:0}}_setGraphemeOnPath(i,e){let r=i+e.kernedWidth/2,t=this.path,n=Lf(t.path,r,t.segmentsInfo);e.renderLeft=n.x-t.pathOffset.x,e.renderTop=n.y-t.pathOffset.y,e.angle=n.angle+(this.pathSide===ui?Math.PI:0)}_getGraphemeBox(i,e,r,t,n){let f,a=this.getCompleteStyleDeclaration(e,r),o=t?this.getCompleteStyleDeclaration(e,r-1):{},A=this._measureChar(i,a,t,o),s=A.kernedWidth,l=A.width;0!==this.charSpacing&&(f=this._getWidthOfCharSpacing(),l+=f,s+=f);let k={width:l,left:0,height:a.fontSize,kernedWidth:s,deltaY:a.deltaY};if(r>0&&!n){let i=this.__charBounds[e][r-1];k.left=i.left+i.width+A.kernedWidth-A.width}return k}getHeightOfLine(i){if(this.__lineHeights[i])return this.__lineHeights[i];let e=this.getHeightOfChar(i,0);for(let r=1,t=this._textLines[i].length;r0){let e=t+u+c;"rtl"===this.direction&&(e=this.width-e-d),b&&p&&(i.fillStyle=p,i.fillRect(e,g+a*m+v,d,this.fontSize/15)),c=f.left,d=f.width,b=s,p=l,m=A,v=k}else d+=f.kernedWidth}let w=t+u+c;"rtl"===this.direction&&(w=this.width-w-d),i.fillStyle=l,s&&l&&i.fillRect(w,g+a*m+v,d-f,this.fontSize/15),r+=A}this._removeShadow(i)}_getFontDeclaration(){let{fontFamily:e=this.fontFamily,fontStyle:r=this.fontStyle,fontWeight:t=this.fontWeight,fontSize:n=this.fontSize}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},f=arguments.length>1?arguments[1]:void 0,a=e.includes("'")||e.includes('"')||e.includes(",")||i.genericFonts.includes(e.toLowerCase())?e:'"'.concat(e,'"');return[r,t,"".concat(f?this.CACHE_FONT_SIZE:n,"px"),a].join(" ")}render(i){this.visible&&(this.canvas&&this.canvas.skipOffscreen&&!this.group&&!this.isOnScreen()||(this._forceClearCache&&this.initDimensions(),super.render(i)))}graphemeSplit(i){return fn(i)}_splitTextIntoLines(i){let e=i.split(this._reNewline),r=new Array(e.length),t=["\n"],n=[];for(let i=0;i0&&void 0!==arguments[0]?arguments[0]:[];return P(P({},super.toObject([...Aa,...i])),{},{styles:Mf(this.styles,this.text)},this.path?{path:this.path.toObject()}:{})}set(i,e){let{textLayoutProperties:r}=this.constructor;super.set(i,e);let t=!1,n=!1;if("object"==typeof i)for(let e in i)"path"===e&&this.setPathInfo(),t=t||r.includes(e),n=n||"path"===e;else t=r.includes(i),n="path"===i;return n&&this.setPathInfo(),t&&this.initialized&&(this.initDimensions(),this.setCoords()),this}complexity(){return 1}static async fromElement(e,r,t){let n=Xe(e,i.ATTRIBUTE_NAMES,t),f=P(P({},r),n),{textAnchor:a=z0,textDecoration:o="",dx:A=0,dy:s=0,top:l=0,left:k=0,fontSize:h=I1,strokeWidth:u=1}=f,c=ni(f,cA),d=new this((e.textContent||"").replace(/^\s+|\s+$|\n+/g,"").replace(/\s+/g," "),P({left:k+A,top:l+s,underline:o.includes("underline"),overline:o.includes("overline"),linethrough:o.includes("line-through"),strokeWidth:0,fontSize:h},c)),b=d.getScaledHeight()/d.height,p=((d.height+d.strokeWidth)*d.lineHeight-d.height)*b,g=d.getScaledHeight()+p,m=0;return a===V0&&(m=d.getScaledWidth()/2),a===ui&&(m=d.getScaledWidth()),d.set({left:d.left-m,top:d.top-(g-d.fontSize*(.07+d._fontSizeFraction))/d.lineHeight,strokeWidth:u}),d}static fromObject(i){return this._fromObject(P(P({},i),{},{styles:Tf(i.styles||{},i.text)}),{extraParam:"text"})}};R(Li,"textLayoutProperties",sa),R(Li,"cacheProperties",[...Se,...Aa]),R(Li,"ownDefaults",kA),R(Li,"type","Text"),R(Li,"genericFonts",["serif","sans-serif","monospace","cursive","fantasy","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded","math","emoji","fangsong"]),R(Li,"ATTRIBUTE_NAMES",Ke.concat("x","y","dx","dy","font-family","font-style","font-weight","font-size","letter-spacing","text-decoration","text-anchor")),Xf(Li,[class extends Ft{_toSVG(){let i=this._getSVGLeftTopOffsets(),e=this._getSVGTextAndBg(i.textTop,i.textLeft);return this._wrapSVGTextAndBg(e)}toSVG(i){return this._createBaseSVGMarkup(this._toSVG(),{reviver:i,noStyle:!0,withShadow:!0})}_getSVGLeftTopOffsets(){return{textLeft:-this.width/2,textTop:-this.height/2,lineTop:this.getHeightOfLine(0)}}_wrapSVGTextAndBg(i){let{textBgRects:e,textSpans:r}=i,t=this.getSvgTextDecoration(this);return[e.join(""),'\t\t",r.join(""),"\n"]}_getSVGTextAndBg(i,e){let r,t=[],n=[],f=i;this.backgroundColor&&n.push(...Yn(this.backgroundColor,-this.width/2,-this.height/2,this.width,this.height));for(let i=0,a=this._textLines.length;i").concat(Df(i),"")}_setSVGTextLineText(i,e,r,t){let n,f,a,o,A,s=this.getHeightOfLine(e),l=this.textAlign.includes(ge),k=this._textLines[e],h="",u=0;t+=s*(1-this._fontSizeFraction)/this.lineHeight;for(let s=0,c=k.length-1;s<=c;s++)A=s===c||this.charSpacing,h+=k[s],a=this.__charBounds[e][s],0===u?(r+=a.kernedWidth-a.width,u+=a.width):u+=a.kernedWidth,l&&!A&&this._reSpaceAndTab.test(k[s])&&(A=!0),A||(n=n||this.getCompleteStyleDeclaration(e,s),f=this.getCompleteStyleDeclaration(e,s+1),A=an(n,f,!0)),A&&(o=this._getStyleDeclaration(e,s),i.push(this._createTextCharSpan(h,o,r,t)),h="",n=f,"rtl"===this.direction?r-=u:r+=u,u=0)}_setSVGTextLineBg(i,e,r,t){let n,f=this._textLines[e],a=this.getHeightOfLine(e)/this.lineHeight,o=0,A=0,s=this.getValueOfPropertyAt(e,0,"textBackgroundColor");for(let l=0;li[e.replace("-","")]).join(" ")}}]),d0.setClass(Li),d0.setSVGClass(Li);var b1=class{constructor(i){R(this,"target",void 0),R(this,"__mouseDownInPlace",!1),R(this,"__dragStartFired",!1),R(this,"__isDraggingOver",!1),R(this,"__dragStartSelection",void 0),R(this,"__dragImageDisposer",void 0),R(this,"_dispose",void 0),this.target=i;let e=[this.target.on("dragenter",this.dragEnterHandler.bind(this)),this.target.on("dragover",this.dragOverHandler.bind(this)),this.target.on("dragleave",this.dragLeaveHandler.bind(this)),this.target.on("dragend",this.dragEndHandler.bind(this)),this.target.on("drop",this.dropHandler.bind(this))];this._dispose=()=>{e.forEach(i=>i()),this._dispose=void 0}}isPointerOverSelection(i){let e=this.target,r=e.getSelectionStartFromPointer(i);return e.isEditing&&r>=e.selectionStart&&r<=e.selectionEnd&&e.selectionStart{m.remove()},fe(i.target||this.target.hiddenTextarea).body.appendChild(m),null===(r=i.dataTransfer)||void 0===r||r.setDragImage(m,d.x,d.y)}onDragStart(i){this.__dragStartFired=!0;let e=this.target,r=this.isActive();if(r&&i.dataTransfer){let r=this.__dragStartSelection={selectionStart:e.selectionStart,selectionEnd:e.selectionEnd},t=e._text.slice(r.selectionStart,r.selectionEnd).join(""),n=P({text:e.text,value:t},r);i.dataTransfer.setData("text/plain",t),i.dataTransfer.setData("application/fabric",JSON.stringify({value:t,styles:e.getSelectionStyles(r.selectionStart,r.selectionEnd,!0)})),i.dataTransfer.effectAllowed="copyMove",this.setDragImage(i,n)}return e.abortCursorAnimation(),r}canDrop(i){if(this.target.editable&&!this.target.getActiveControl()&&!i.defaultPrevented){if(this.isActive()&&this.__dragStartSelection){let e=this.target.getSelectionStartFromPointer(i),r=this.__dragStartSelection;return er.selectionEnd}return!0}return!1}targetCanDrop(i){return this.target.canDrop(i)}dragEnterHandler(i){let{e:e}=i,r=this.targetCanDrop(e);!this.__isDraggingOver&&r&&(this.__isDraggingOver=!0)}dragOverHandler(i){let{e:e}=i,r=this.targetCanDrop(e);!this.__isDraggingOver&&r?this.__isDraggingOver=!0:this.__isDraggingOver&&!r&&(this.__isDraggingOver=!1),this.__isDraggingOver&&(e.preventDefault(),i.canDrop=!0,i.dropTarget=this.target)}dragLeaveHandler(){(this.__isDraggingOver||this.isActive())&&(this.__isDraggingOver=!1)}dropHandler(i){var e;let{e:r}=i,t=r.defaultPrevented;this.__isDraggingOver=!1,r.preventDefault();let n=null===(e=r.dataTransfer)||void 0===e?void 0:e.getData("text/plain");if(n&&!t){let e=this.target,t=e.canvas,f=e.getSelectionStartFromPointer(r),{styles:a}=r.dataTransfer.types.includes("application/fabric")?JSON.parse(r.dataTransfer.getData("application/fabric")):{},o=n[Math.max(0,n.length-1)],A=0;if(this.__dragStartSelection){let i=this.__dragStartSelection.selectionStart,r=this.__dragStartSelection.selectionEnd;f>i&&f<=r?f=i:f>r&&(f-=r-i),e.removeChars(i,r),delete this.__dragStartSelection}e._reNewline.test(o)&&(e._reNewline.test(e._text[f])||f===e._text.length)&&(n=n.trimEnd()),i.didDrop=!0,i.dropTarget=e,e.insertChars(n,a,f),t.setActiveObject(e),e.enterEditing(r),e.selectionStart=Math.min(f+A,e._text.length),e.selectionEnd=Math.min(e.selectionStart+n.length,e._text.length),e.hiddenTextarea.value=e.text,e._updateTextarea(),e.hiddenTextarea.focus(),e.fire(yt,{index:f+A,action:"drop"}),t.fire("text:changed",{target:e}),t.contextTopDirty=!0,t.requestRenderAll()}}dragEndHandler(i){let{e:e}=i;if(this.isActive()&&this.__dragStartFired&&this.__dragStartSelection){var r;let i=this.target,t=this.target.canvas,{selectionStart:n,selectionEnd:f}=this.__dragStartSelection,a=(null===(r=e.dataTransfer)||void 0===r?void 0:r.dropEffect)||Di;a===Di?(i.selectionStart=n,i.selectionEnd=f,i._updateTextarea(),i.hiddenTextarea.focus()):(i.clearContextTop(),"move"===a&&(i.removeChars(n,f),i.selectionStart=i.selectionEnd=n,i.hiddenTextarea&&(i.hiddenTextarea.value=i.text),i._updateTextarea(),i.fire(yt,{index:n,action:"dragend"}),t.fire("text:changed",{target:i}),t.requestRenderAll()),i.exitEditing())}this.__dragImageDisposer&&this.__dragImageDisposer(),delete this.__dragImageDisposer,delete this.__dragStartSelection,this.__isDraggingOver=!1}dispose(){this._dispose&&this._dispose()}},No=/[ \n\.,;!\?\-]/,v1=class extends Li{constructor(){super(...arguments),R(this,"_currentCursorOpacity",1)}initBehavior(){this._tick=this._tick.bind(this),this._onTickComplete=this._onTickComplete.bind(this),this.updateSelectionOnMouseMove=this.updateSelectionOnMouseMove.bind(this)}onDeselect(i){return this.isEditing&&this.exitEditing(),this.selected=!1,super.onDeselect(i)}_animateCursor(i){let{toValue:e,duration:r,delay:t,onComplete:n}=i;return N1({startValue:this._currentCursorOpacity,endValue:e,duration:r,delay:t,onComplete:n,abort:()=>!this.canvas||this.selectionStart!==this.selectionEnd,onChange:i=>{this._currentCursorOpacity=i,this.renderCursorOrSelection()}})}_tick(i){this._currentTickState=this._animateCursor({toValue:0,duration:this.cursorDuration/2,delay:Math.max(i||0,100),onComplete:this._onTickComplete})}_onTickComplete(){var i;null===(i=this._currentTickCompleteState)||void 0===i||i.abort(),this._currentTickCompleteState=this._animateCursor({toValue:1,duration:this.cursorDuration,onComplete:this._tick})}initDelayedCursor(i){this.abortCursorAnimation(),this._tick(i?0:this.cursorDelay)}abortCursorAnimation(){let i=!1;[this._currentTickState,this._currentTickCompleteState].forEach(e=>{e&&!e.isDone()&&(i=!0,e.abort())}),this._currentCursorOpacity=1,i&&this.clearContextTop()}restartCursorIfNeeded(){[this._currentTickState,this._currentTickCompleteState].some(i=>!i||i.isDone())&&this.initDelayedCursor()}selectAll(){return this.selectionStart=0,this.selectionEnd=this._text.length,this._fireSelectionChanged(),this._updateTextarea(),this}getSelectedText(){return this._text.slice(this.selectionStart,this.selectionEnd).join("")}findWordBoundaryLeft(i){let e=0,r=i-1;if(this._reSpace.test(this._text[r]))for(;this._reSpace.test(this._text[r]);)e++,r--;for(;/\S/.test(this._text[r])&&r>-1;)e++,r--;return i-e}findWordBoundaryRight(i){let e=0,r=i;if(this._reSpace.test(this._text[r]))for(;this._reSpace.test(this._text[r]);)e++,r++;for(;/\S/.test(this._text[r])&&r-1;)e++,r--;return i-e}findLineBoundaryRight(i){let e=0,r=i;for(;!/\n/.test(this._text[r])&&r0&&this._reSpace.test(r[i])&&(-1===e||!E1.test(r[i-1]))?i-1:i,n=r[t];for(;t>0&&tthis.__selectionStartOnMouseDown?(this.selectionStart=this.__selectionStartOnMouseDown,this.selectionEnd=r):(this.selectionStart=r,this.selectionEnd=this.__selectionStartOnMouseDown),this.selectionStart===t&&this.selectionEnd===n||(this._fireSelectionChanged(),this._updateTextarea(),this.renderCursorOrSelection()))}_setEditingProps(){this.hoverCursor="text",this.canvas&&(this.canvas.defaultCursor=this.canvas.moveCursor="text"),this.borderColor=this.editingBorderColor,this.hasControls=this.selectable=!1,this.lockMovementX=this.lockMovementY=!0}fromStringToGraphemeSelection(i,e,r){let t=r.slice(0,i),n=this.graphemeSplit(t).length;if(i===e)return{selectionStart:n,selectionEnd:n};let f=r.slice(i,e);return{selectionStart:n,selectionEnd:n+this.graphemeSplit(f).length}}fromGraphemeToStringSelection(i,e,r){let t=r.slice(0,i).join("").length;return i===e?{selectionStart:t,selectionEnd:t}:{selectionStart:t,selectionEnd:t+r.slice(i,e).join("").length}}_updateTextarea(){if(this.cursorOffsetCache={},this.hiddenTextarea){if(!this.inCompositionMode){let i=this.fromGraphemeToStringSelection(this.selectionStart,this.selectionEnd,this._text);this.hiddenTextarea.selectionStart=i.selectionStart,this.hiddenTextarea.selectionEnd=i.selectionEnd}this.updateTextareaPosition()}}updateFromTextArea(){if(!this.hiddenTextarea)return;this.cursorOffsetCache={};let i=this.hiddenTextarea;this.text=i.value,this.set("dirty",!0),this.initDimensions(),this.setCoords();let e=this.fromStringToGraphemeSelection(i.selectionStart,i.selectionEnd,i.value);this.selectionEnd=this.selectionStart=e.selectionEnd,this.inCompositionMode||(this.selectionStart=e.selectionStart),this.updateTextareaPosition()}updateTextareaPosition(){if(this.selectionStart===this.selectionEnd){let i=this._calcTextareaPosition();this.hiddenTextarea.style.left=i.left,this.hiddenTextarea.style.top=i.top}}_calcTextareaPosition(){if(!this.canvas)return{left:"1px",top:"1px"};let i=this.inCompositionMode?this.compositionStart:this.selectionStart,e=this._getCursorBoundaries(i),r=this.get2DCursorLocation(i),t=r.lineIndex,n=r.charIndex,f=this.getValueOfPropertyAt(t,n,"fontSize")*this.lineHeight,a=e.leftOffset,o=this.getCanvasRetinaScaling(),A=this.canvas.upperCanvasEl,s=A.width/o,l=A.height/o,k=s-f,h=l-f,u=new K(e.left+a,e.top+e.topOffset+f).transform(this.calcTransformMatrix()).transform(this.canvas.viewportTransform).multiply(new K(A.clientWidth/s,A.clientHeight/l));return u.x<0&&(u.x=0),u.x>k&&(u.x=k),u.y<0&&(u.y=0),u.y>h&&(u.y=h),u.x+=this.canvas._offset.left,u.y+=this.canvas._offset.top,{left:"".concat(u.x,"px"),top:"".concat(u.y,"px"),fontSize:"".concat(f,"px"),charHeight:f}}_saveEditingProps(){this._savedProps={hasControls:this.hasControls,borderColor:this.borderColor,lockMovementX:this.lockMovementX,lockMovementY:this.lockMovementY,hoverCursor:this.hoverCursor,selectable:this.selectable,defaultCursor:this.canvas&&this.canvas.defaultCursor,moveCursor:this.canvas&&this.canvas.moveCursor}}_restoreEditingProps(){this._savedProps&&(this.hoverCursor=this._savedProps.hoverCursor,this.hasControls=this._savedProps.hasControls,this.borderColor=this._savedProps.borderColor,this.selectable=this._savedProps.selectable,this.lockMovementX=this._savedProps.lockMovementX,this.lockMovementY=this._savedProps.lockMovementY,this.canvas&&(this.canvas.defaultCursor=this._savedProps.defaultCursor||this.canvas.defaultCursor,this.canvas.moveCursor=this._savedProps.moveCursor||this.canvas.moveCursor),delete this._savedProps)}_exitEditing(){let i=this.hiddenTextarea;this.selected=!1,this.isEditing=!1,i&&(i.blur&&i.blur(),i.parentNode&&i.parentNode.removeChild(i)),this.hiddenTextarea=null,this.abortCursorAnimation(),this.selectionStart!==this.selectionEnd&&this.clearContextTop()}exitEditingImpl(){this._exitEditing(),this.selectionEnd=this.selectionStart,this._restoreEditingProps(),this._forceClearCache&&(this.initDimensions(),this.setCoords())}exitEditing(){let i=this._textBeforeEdit!==this.text;return this.exitEditingImpl(),this.fire("editing:exited"),i&&this.fire(Ct),this.canvas&&(this.canvas.fire("text:editing:exited",{target:this}),i&&this.canvas.fire("object:modified",{target:this})),this}_removeExtraneousStyles(){for(let i in this.styles)this._textLines[i]||delete this.styles[i]}removeStyleFromTo(i,e){let{lineIndex:r,charIndex:t}=this.get2DCursorLocation(i,!0),{lineIndex:n,charIndex:f}=this.get2DCursorLocation(e,!0);if(r!==n){if(this.styles[r])for(let i=t;i=f&&(i[r-e]=i[t],delete i[t])}}}shiftLineStyles(i,e){let r=Object.assign({},this.styles);for(let t in this.styles){let n=parseInt(t,10);n>i&&(this.styles[n+e]=r[n],r[n-e]||delete this.styles[n])}}insertNewlineStyleObject(i,e,r,t){let n={},f=this._unwrappedTextLines[i].length,a=f===e,o=!1;r||(r=1),this.shiftLineStyles(i,r);let A=this.styles[i]?this.styles[i][0===e?e:e-1]:void 0;for(let r in this.styles[i]){let t=parseInt(r,10);t>=e&&(o=!0,n[t-e]=this.styles[i][r],a&&0===e||delete this.styles[i][r])}let s=!1;for(o&&!a&&(this.styles[i+r]=n,s=!0),(s||f>e)&&r--;r>0;)t&&t[r-1]?this.styles[i+r]={0:P({},t[r-1])}:A?this.styles[i+r]={0:P({},A)}:delete this.styles[i+r],r--;this._forceClearCache=!0}insertCharStyleObject(i,e,r,t){this.styles||(this.styles={});let n=this.styles[i],f=n?P({},n):{};r||(r=1);for(let i in f){let t=parseInt(i,10);t>=e&&(n[t+r]=f[t],f[t-r]||delete n[t])}if(this._forceClearCache=!0,t){for(;r--;)Object.keys(t[r]).length&&(this.styles[i]||(this.styles[i]={}),this.styles[i][e+r]=P({},t[r]));return}if(!n)return;let a=n[e?e-1:1];for(;a&&r--;)this.styles[i][e+r]=P({},a)}insertNewStyleBlock(i,e,r){let t,n=this.get2DCursorLocation(e,!0),f=[0],a=0;for(let e=0;e0&&(this.insertCharStyleObject(n.lineIndex,n.charIndex,f[0],r),r=r&&r.slice(f[0]+1)),a&&this.insertNewlineStyleObject(n.lineIndex,n.charIndex+f[0],a),t=1;t0?this.insertCharStyleObject(n.lineIndex+t,0,f[t],r):r&&this.styles[n.lineIndex+t]&&r[0]&&(this.styles[n.lineIndex+t][0]=r[0]),r=r&&r.slice(f[t]+1);f[t]>0&&this.insertCharStyleObject(n.lineIndex+t,0,f[t],r)}removeChars(i){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i+1;this.removeStyleFromTo(i,e),this._text.splice(i,e-i),this.text=this._text.join(""),this.set("dirty",!0),this.initDimensions(),this.setCoords(),this._removeExtraneousStyles()}insertChars(i,e,r){let t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:r;t>r&&this.removeStyleFromTo(r,t);let n=this.graphemeSplit(i);this.insertNewStyleBlock(n,r,e),this._text=[...this._text.slice(0,r),...n,...this._text.slice(t)],this.text=this._text.join(""),this.set("dirty",!0),this.initDimensions(),this.setCoords(),this._removeExtraneousStyles()}setSelectionStartEndWithShift(i,e,r){r<=i?(e===i?this._selectionDirection=z0:this._selectionDirection===ui&&(this._selectionDirection=z0,this.selectionEnd=i),this.selectionStart=r):r>i&&r{let[r,t]=i;return e.setAttribute(r,t)});let{top:r,left:t,fontSize:n}=this._calcTextareaPosition();e.style.cssText="position: absolute; top: ".concat(r,"; left: ").concat(t,"; z-index: -999; opacity: 0; width: 1px; height: 1px; font-size: 1px; padding-top: ").concat(n,";"),(this.hiddenTextareaContainer||i.body).appendChild(e),Object.entries({blur:"blur",keydown:"onKeyDown",keyup:"onKeyUp",input:"onInput",copy:"copy",cut:"copy",paste:"paste",compositionstart:"onCompositionStart",compositionupdate:"onCompositionUpdate",compositionend:"onCompositionEnd"}).map(i=>{let[r,t]=i;return e.addEventListener(r,this[t].bind(this))}),this.hiddenTextarea=e}blur(){this.abortCursorAnimation()}onKeyDown(i){if(!this.isEditing)return;let e="rtl"===this.direction?this.keysMapRtl:this.keysMap;if(i.keyCode in e)this[e[i.keyCode]](i);else{if(!(i.keyCode in this.ctrlKeysMapDown)||!i.ctrlKey&&!i.metaKey)return;this[this.ctrlKeysMapDown[i.keyCode]](i)}i.stopImmediatePropagation(),i.preventDefault(),i.keyCode>=33&&i.keyCode<=40?(this.inCompositionMode=!1,this.clearContextTop(),this.renderCursorOrSelection()):this.canvas&&this.canvas.requestRenderAll()}onKeyUp(i){!this.isEditing||this._copyDone||this.inCompositionMode?this._copyDone=!1:i.keyCode in this.ctrlKeysMapUp&&(i.ctrlKey||i.metaKey)&&(this[this.ctrlKeysMapUp[i.keyCode]](i),i.stopImmediatePropagation(),i.preventDefault(),this.canvas&&this.canvas.requestRenderAll())}onInput(i){let e=this.fromPaste;if(this.fromPaste=!1,i&&i.stopPropagation(),!this.isEditing)return;let r=()=>{this.updateFromTextArea(),this.fire(yt),this.canvas&&(this.canvas.fire("text:changed",{target:this}),this.canvas.requestRenderAll())};if(""===this.hiddenTextarea.value)return this.styles={},void r();let t,n,f,a,o=this._splitTextIntoLines(this.hiddenTextarea.value).graphemeText,A=this._text.length,s=o.length,l=this.selectionStart,k=this.selectionEnd,h=l!==k,u=s-A,c=this.fromStringToGraphemeSelection(this.hiddenTextarea.selectionStart,this.hiddenTextarea.selectionEnd,this.hiddenTextarea.value),d=l>c.selectionStart;h?(n=this._text.slice(l,k),u+=k-l):st[0])),h?(f=l,a=k):d?(f=k-n.length,a=k):(f=k,a=k+n.length),this.removeStyleFromTo(f,a)),b.length){let{copyPasteData:i}=ve();e&&b.join("")===i.copiedText&&!P0.disableStyleCopyPaste&&(t=i.copiedTextStyle),this.insertNewStyleBlock(b,l,t)}r()}onCompositionStart(){this.inCompositionMode=!0}onCompositionEnd(){this.inCompositionMode=!1}onCompositionUpdate(i){let{target:e}=i,{selectionStart:r,selectionEnd:t}=e;this.compositionStart=r,this.compositionEnd=t,this.updateTextareaPosition()}copy(){if(this.selectionStart===this.selectionEnd)return;let{copyPasteData:i}=ve();i.copiedText=this.getSelectedText(),P0.disableStyleCopyPaste?i.copiedTextStyle=void 0:i.copiedTextStyle=this.getSelectionStyles(this.selectionStart,this.selectionEnd,!0),this._copyDone=!0}paste(){this.fromPaste=!0}_getWidthBeforeCursor(i,e){let r,t=this._getLineLeftOffset(i);return e>0&&(r=this.__charBounds[i][e-1],t+=r.left+r.width),t}getDownCursorOffset(i,e){let r=this._getSelectionForOffset(i,e),t=this.get2DCursorLocation(r),n=t.lineIndex;if(n===this._textLines.length-1||i.metaKey||34===i.keyCode)return this._text.length-r;let f=t.charIndex,a=this._getWidthBeforeCursor(n,f),o=this._getIndexOnLine(n+1,a);return this._textLines[n].slice(f).length+o+1+this.missingNewlineOffset(n)}_getSelectionForOffset(i,e){return i.shiftKey&&this.selectionStart!==this.selectionEnd&&e?this.selectionEnd:this.selectionStart}getUpCursorOffset(i,e){let r=this._getSelectionForOffset(i,e),t=this.get2DCursorLocation(r),n=t.lineIndex;if(0===n||i.metaKey||33===i.keyCode)return-r;let f=t.charIndex,a=this._getWidthBeforeCursor(n,f),o=this._getIndexOnLine(n-1,a),A=this._textLines[n].slice(0,f),s=this.missingNewlineOffset(n-1);return-this._textLines[n-1].length+o-A.length+(1-s)}_getIndexOnLine(i,e){let r,t,n=this._textLines[i],f=this._getLineLeftOffset(i),a=0;for(let o=0,A=n.length;oe){t=!0;let i=f-r,n=f,A=Math.abs(i-e);a=Math.abs(n-e)=this._text.length&&this.selectionEnd>=this._text.length||this._moveCursorUpOrDown("Down",i)}moveCursorUp(i){0===this.selectionStart&&0===this.selectionEnd||this._moveCursorUpOrDown("Up",i)}_moveCursorUpOrDown(i,e){let r=this["get".concat(i,"CursorOffset")](e,this._selectionDirection===ui);if(e.shiftKey?this.moveCursorWithShift(r):this.moveCursorWithoutShift(r),0!==r){let i=this.text.length;this.selectionStart=F2(0,this.selectionStart,i),this.selectionEnd=F2(0,this.selectionEnd,i),this.abortCursorAnimation(),this.initDelayedCursor(),this._fireSelectionChanged(),this._updateTextarea()}}moveCursorWithShift(i){let e=this._selectionDirection===z0?this.selectionStart+i:this.selectionEnd+i;return this.setSelectionStartEndWithShift(this.selectionStart,this.selectionEnd,e),0!==i}moveCursorWithoutShift(i){return i<0?(this.selectionStart+=i,this.selectionEnd=this.selectionStart):(this.selectionEnd+=i,this.selectionStart=this.selectionEnd),0!==i}moveCursorLeft(i){0===this.selectionStart&&0===this.selectionEnd||this._moveCursorLeftOrRight("Left",i)}_move(i,e,r){let t;if(i.altKey)t=this["findWordBoundary".concat(r)](this[e]);else{if(!i.metaKey&&35!==i.keyCode&&36!==i.keyCode)return this[e]+="Left"===r?-1:1,!0;t=this["findLineBoundary".concat(r)](this[e])}return void 0!==t&&this[e]!==t&&(this[e]=t,!0)}_moveLeft(i,e){return this._move(i,e,"Left")}_moveRight(i,e){return this._move(i,e,"Right")}moveCursorLeftWithoutShift(i){let e=!0;return this._selectionDirection=z0,this.selectionEnd===this.selectionStart&&0!==this.selectionStart&&(e=this._moveLeft(i,"selectionStart")),this.selectionEnd=this.selectionStart,e}moveCursorLeftWithShift(i){return this._selectionDirection===ui&&this.selectionStart!==this.selectionEnd?this._moveLeft(i,"selectionEnd"):0!==this.selectionStart?(this._selectionDirection=z0,this._moveLeft(i,"selectionStart")):void 0}moveCursorRight(i){this.selectionStart>=this._text.length&&this.selectionEnd>=this._text.length||this._moveCursorLeftOrRight("Right",i)}_moveCursorLeftOrRight(i,e){let r="moveCursor".concat(i).concat(e.shiftKey?"WithShift":"WithoutShift");this._currentCursorOpacity=1,this[r](e)&&(this.abortCursorAnimation(),this.initDelayedCursor(),this._fireSelectionChanged(),this._updateTextarea())}moveCursorRightWithShift(i){return this._selectionDirection===z0&&this.selectionStart!==this.selectionEnd?this._moveRight(i,"selectionStart"):this.selectionEnd!==this._text.length?(this._selectionDirection=ui,this._moveRight(i,"selectionEnd")):void 0}moveCursorRightWithoutShift(i){let e=!0;return this._selectionDirection=ui,this.selectionStart===this.selectionEnd?(e=this._moveRight(i,"selectionStart"),this.selectionEnd=this.selectionStart):this.selectionStart=this.selectionEnd,e}},zn=i=>!!i.button,_1=class extends w1{constructor(){super(...arguments),R(this,"draggableTextDelegate",void 0)}initBehavior(){this.on("mousedown",this._mouseDownHandler),this.on("mousedown:before",this._mouseDownHandlerBefore),this.on("mouseup",this.mouseUpHandler),this.on("mousedblclick",this.doubleClickHandler),this.on("tripleclick",this.tripleClickHandler),this.__lastClickTime=+new Date,this.__lastLastClickTime=+new Date,this.__lastPointer={},this.on("mousedown",this.onMouseDown),this.draggableTextDelegate=new b1(this),super.initBehavior()}shouldStartDragging(){return this.draggableTextDelegate.isActive()}onDragStart(i){return this.draggableTextDelegate.onDragStart(i)}canDrop(i){return this.draggableTextDelegate.canDrop(i)}onMouseDown(i){if(!this.canvas)return;this.__newClickTime=+new Date;let e=i.pointer;this.isTripleClick(e)&&(this.fire("tripleclick",i),i1(i.e)),this.__lastLastClickTime=this.__lastClickTime,this.__lastClickTime=this.__newClickTime,this.__lastPointer=e,this.__lastSelected=this.selected&&!this.getActiveControl()}isTripleClick(i){return this.__newClickTime-this.__lastClickTime<500&&this.__lastClickTime-this.__lastLastClickTime<500&&this.__lastPointer.x===i.x&&this.__lastPointer.y===i.y}doubleClickHandler(i){this.isEditing&&this.selectWord(this.getSelectionStartFromPointer(i.e))}tripleClickHandler(i){this.isEditing&&this.selectLine(this.getSelectionStartFromPointer(i.e))}_mouseDownHandler(i){let{e:e}=i;this.canvas&&this.editable&&!zn(e)&&!this.getActiveControl()&&(this.draggableTextDelegate.start(e)||(this.canvas.textEditingManager.register(this),this.selected&&(this.inCompositionMode=!1,this.setCursorByClick(e)),this.isEditing&&(this.__selectionStartOnMouseDown=this.selectionStart,this.selectionStart===this.selectionEnd&&this.abortCursorAnimation(),this.renderCursorOrSelection())))}_mouseDownHandlerBefore(i){let{e:e}=i;this.canvas&&this.editable&&!zn(e)&&(this.selected=this===this.canvas._activeObject)}mouseUpHandler(i){let{e:e,transform:r}=i,t=this.draggableTextDelegate.end(e);if(this.canvas){this.canvas.textEditingManager.unregister(this);let i=this.canvas._activeObject;if(i&&i!==this)return}!this.editable||this.group&&!this.group.interactive||r&&r.actionPerformed||zn(e)||t||(this.__lastSelected&&!this.getActiveControl()?(this.selected=!1,this.__lastSelected=!1,this.enterEditing(e),this.selectionStart===this.selectionEnd?this.initDelayedCursor(!0):this.renderCursorOrSelection()):this.selected=!0)}setCursorByClick(i){let e=this.getSelectionStartFromPointer(i),r=this.selectionStart,t=this.selectionEnd;i.shiftKey?this.setSelectionStartEndWithShift(r,t,e):(this.selectionStart=e,this.selectionEnd=e),this.isEditing&&(this._fireSelectionChanged(),this._updateTextarea())}getSelectionStartFromPointer(i){let e=this.canvas.getScenePoint(i).transform(Oi(this.calcTransformMatrix())).add(new K(-this._getLeftOffset(),-this._getTopOffset())),r=0,t=0,n=0;for(let i=0;i0&&(t+=this._textLines[i-1].length+this.missingNewlineOffset(i-1));let f=Math.abs(this._getLineLeftOffset(n)),a=this._textLines[n].length,o=this.__charBounds[n];for(let i=0;i0&&void 0!==arguments[0]?arguments[0]:this.selectionStart||0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selectionEnd,r=arguments.length>2?arguments[2]:void 0;return super.getSelectionStyles(i,e,r)}setSelectionStyles(i){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selectionStart||0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.selectionEnd;return super.setSelectionStyles(i,e,r)}get2DCursorLocation(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selectionStart,e=arguments.length>1?arguments[1]:void 0;return super.get2DCursorLocation(i,e)}render(i){super.render(i),this.cursorOffsetCache={},this.renderCursorOrSelection()}toCanvasElement(i){let e=this.isEditing;this.isEditing=!1;let r=super.toCanvasElement(i);return this.isEditing=e,r}renderCursorOrSelection(){if(!this.isEditing)return;let i=this.clearContextTop(!0);if(!i)return;let e=this._getCursorBoundaries();this.selectionStart!==this.selectionEnd||this.inCompositionMode?this.renderSelection(i,e):this.renderCursor(i,e),this.canvas.contextTopDirty=!0,i.restore()}_getCursorBoundaries(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selectionStart,e=arguments.length>1?arguments[1]:void 0,r=this._getLeftOffset(),t=this._getTopOffset(),n=this._getCursorBoundariesOffsets(i,e);return{left:r,top:t,leftOffset:n.left,topOffset:n.top}}_getCursorBoundariesOffsets(i,e){return e?this.__getCursorBoundariesOffsets(i):this.cursorOffsetCache&&"top"in this.cursorOffsetCache?this.cursorOffsetCache:this.cursorOffsetCache=this.__getCursorBoundariesOffsets(i)}__getCursorBoundariesOffsets(i){let e=0,r=0,{charIndex:t,lineIndex:n}=this.get2DCursorLocation(i);for(let i=0;i0?r:0)};return"rtl"===this.direction&&(this.textAlign===ui||this.textAlign===ge||this.textAlign===xr?o.left*=-1:this.textAlign===z0||this.textAlign===Yt?o.left=f-(r>0?r:0):this.textAlign!==V0&&this.textAlign!==Zr||(o.left=f-(r>0?r:0))),o}renderCursorAt(i){this._renderCursor(this.canvas.contextTop,this._getCursorBoundaries(i,!0),i)}renderCursor(i,e){this._renderCursor(i,e,this.selectionStart)}getCursorRenderingData(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selectionStart,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getCursorBoundaries(i),r=this.get2DCursorLocation(i),t=r.lineIndex,n=r.charIndex>0?r.charIndex-1:0,f=this.getValueOfPropertyAt(t,n,"fontSize"),a=this.getObjectScaling().x*this.canvas.getZoom(),o=this.cursorWidth/a,A=this.getValueOfPropertyAt(t,n,"deltaY"),s=e.topOffset+(1-this._fontSizeFraction)*this.getHeightOfLine(t)/this.lineHeight-f*(1-this._fontSizeFraction);return{color:this.cursorColor||this.getValueOfPropertyAt(t,n,"fill"),opacity:this._currentCursorOpacity,left:e.left+e.leftOffset-o/2,top:s+e.top+A,width:o,height:f}}_renderCursor(i,e,r){let{color:t,opacity:n,left:f,top:a,width:o,height:A}=this.getCursorRenderingData(r,e);i.fillStyle=t,i.globalAlpha=n,i.fillRect(f,a,o,A)}renderSelection(i,e){let r={selectionStart:this.inCompositionMode?this.hiddenTextarea.selectionStart:this.selectionStart,selectionEnd:this.inCompositionMode?this.hiddenTextarea.selectionEnd:this.selectionEnd};this._renderSelection(i,r,e)}renderDragSourceEffect(){let i=this.draggableTextDelegate.getDragStartSelection();this._renderSelection(this.canvas.contextTop,i,this._getCursorBoundaries(i.selectionStart,!0))}renderDropTargetEffect(i){let e=this.getSelectionStartFromPointer(i);this.renderCursorAt(e)}_renderSelection(i,e,r){let t=e.selectionStart,n=e.selectionEnd,f=this.textAlign.includes(ge),a=this.get2DCursorLocation(t),o=this.get2DCursorLocation(n),A=a.lineIndex,s=o.lineIndex,l=a.charIndex<0?0:a.charIndex,k=o.charIndex<0?0:o.charIndex;for(let e=A;e<=s;e++){let t=this._getLineLeftOffset(e)||0,n=this.getHeightOfLine(e),a=0,o=0,h=0;if(e===A&&(o=this.__charBounds[A][l].left),e>=A&&e1)&&(n/=this.lineHeight);let u=r.left+t+o,c=n,d=0,b=h-o;this.inCompositionMode?(i.fillStyle=this.compositionColor||"black",c=1,d=n):i.fillStyle=this.selectionColor,"rtl"===this.direction&&(this.textAlign===ui||this.textAlign===ge||this.textAlign===xr?u=this.width-u-b:this.textAlign===z0||this.textAlign===Yt?u=r.left+t-h:this.textAlign!==V0&&this.textAlign!==Zr||(u=r.left+t-h)),i.fillRect(u,r.top+r.topOffset+d,b,c),r.topOffset+=a}}getCurrentCharFontSize(){let i=this._getCurrentCharIndex();return this.getValueOfPropertyAt(i.l,i.c,"fontSize")}getCurrentCharColor(){let i=this._getCurrentCharIndex();return this.getValueOfPropertyAt(i.l,i.c,bi)}_getCurrentCharIndex(){let i=this.get2DCursorLocation(this.selectionStart,!0),e=i.charIndex>0?i.charIndex-1:0;return{l:i.lineIndex,c:e}}dispose(){this.exitEditingImpl(),this.draggableTextDelegate.dispose(),super.dispose()}};R(M0,"ownDefaults",dA),R(M0,"type","IText"),d0.setClass(M0),d0.setClass(M0,"i-text");var L2=class i extends M0{static getDefaults(){return P(P({},super.getDefaults()),i.ownDefaults)}constructor(e,r){super(e,P(P({},i.ownDefaults),r))}static createControls(){return{controls:Sf()}}initDimensions(){this.initialized&&(this.isEditing&&this.initDelayedCursor(),this._clearCache(),this.dynamicMinWidth=0,this._styleMap=this._generateStyleMap(this._splitText()),this.dynamicMinWidth>this.width&&this._set("width",this.dynamicMinWidth),this.textAlign.includes(ge)&&this.enlargeSpaces(),this.height=this.calcTextHeight())}_generateStyleMap(i){let e=0,r=0,t=0,n={};for(let f=0;f0?(r=0,t++,e++):!this.splitByGrapheme&&this._reSpaceAndTab.test(i.graphemeText[t])&&f>0&&(r++,t++),n[f]={line:e,offset:r},t+=i.graphemeLines[f].length,r+=i.graphemeLines[f].length;return n}styleHas(i,e){if(this._styleMap&&!this.isWrapping){let i=this._styleMap[e];i&&(e=i.line)}return super.styleHas(i,e)}isEmptyStyles(i){if(!this.styles)return!0;let e,r=0,t=i+1,n=!1,f=this._styleMap[i],a=this._styleMap[i+1];f&&(i=f.line,r=f.offset),a&&(t=a.line,n=t===i,e=a.offset);let o=void 0===i?this.styles:{line:this.styles[i]};for(let i in o)for(let t in o[i]){let f=parseInt(t,10);if(f>=r&&(!n||f{let f=0,a=e?this.graphemeSplit(i):this.wordSplit(i);return 0===a.length?[{word:[],width:0}]:a.map(i=>{let a=e?[i]:this.graphemeSplit(i),o=this._measureWord(a,n,f);return t=Math.max(o,t),f+=a.length+r.length,{word:a,width:o}})}),largestWordWidth:t}}_measureWord(i,e){let r,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=0;for(let f=0,a=i.length;f3&&void 0!==arguments[3]?arguments[3]:0,a=this._getWidthOfCharSpacing(),o=this.splitByGrapheme,A=[],s=o?"":" ",l=0,k=[],h=0,u=0,c=!0;e-=f;let d,b=Math.max(e,t,this.dynamicMinWidth),p=n[i];for(h=0,d=0;db&&!c?(A.push(k),k=[],l=r,c=!0):l+=a,c||o||k.push(s),k=k.concat(e),u=o?0:this._measureWord([s],i,h),h++,c=!1}return d&&A.push(k),t+f>this.dynamicMinWidth&&(this.dynamicMinWidth=t-a+f),A}isEndOfWrapping(i){return!this._styleMap[i+1]||this._styleMap[i+1].line!==this._styleMap[i].line}missingNewlineOffset(i,e){return this.splitByGrapheme&&!e?this.isEndOfWrapping(i)?1:0:1}_splitTextIntoLines(i){let e=super._splitTextIntoLines(i),r=this._wrapText(e.lines,this.width),t=new Array(r.length);for(let i=0;i0&&void 0!==arguments[0]?arguments[0]:[];return super.toObject(["minWidth","splitByGrapheme",...i])}};R(L2,"type","Textbox"),R(L2,"textLayoutProperties",[...M0.textLayoutProperties,"width"]),R(L2,"ownDefaults",{minWidth:20,dynamicMinWidth:2,lockScalingFlip:!0,noScaleCache:!1,_wordJoiners:/[ \t\r]/,splitByGrapheme:!1}),d0.setClass(L2);var zt=class extends er{shouldPerformLayout(i){return!!i.target.clipPath&&super.shouldPerformLayout(i)}shouldLayoutClipPath(){return!1}calcLayoutResult(i,e){let{target:r}=i,{clipPath:t,group:n}=r;if(!t||!this.shouldPerformLayout(i))return;let{width:f,height:a}=be(Pf(r,t)),o=new K(f,a);if(t.absolutePositioned)return{center:Fe(t.getRelativeCenterPoint(),void 0,n?n.calcTransformMatrix():void 0),size:o};{let n=t.getRelativeCenterPoint().transform(r.calcOwnMatrix(),!0);if(this.shouldPerformLayout(i)){let{center:r=new K,correction:t=new K}=this.calcBoundingBox(e,i)||{};return{center:r.add(n),correction:t.subtract(n),size:o}}return{center:r.getRelativeCenterPoint().add(n),size:o}}}};R(zt,"type","clip-path"),d0.setClass(zt);var Jt=class extends er{getInitialSize(i,e){let{target:r}=i,{size:t}=e;return new K(r.width||t.x,r.height||t.y)}};R(Jt,"type","fixed"),d0.setClass(Jt);var y1=class extends W2{subscribeTargets(i){let e=i.target;i.targets.reduce((i,e)=>(e.parent&&i.add(e.parent),i),new Set).forEach(i=>{i.layoutManager.subscribeTargets({target:i,targets:[e]})})}unsubscribeTargets(i){let e=i.target,r=e.getObjects();i.targets.reduce((i,e)=>(e.parent&&i.add(e.parent),i),new Set).forEach(i=>{!r.some(e=>e.parent===i)&&i.layoutManager.unsubscribeTargets({target:i,targets:[e]})})}},qi=class i extends ze{static getDefaults(){return P(P({},super.getDefaults()),i.ownDefaults)}constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),Object.assign(this,i.ownDefaults),this.setOptions(r);let{left:t,top:n,layoutManager:f}=r;this.groupInit(e,{left:t,top:n,layoutManager:f??new y1})}_shouldSetNestedCoords(){return!0}__objectSelectionMonitor(){}multiSelectAdd(){for(var i=arguments.length,e=new Array(i),r=0;r{let e=this._objects.findIndex(e=>e.isInFrontOf(i)),r=-1===e?this.size():e;this.insertAt(r,i)})}canEnterGroup(i){return this.getObjects().some(e=>e.isDescendantOf(i)||i.isDescendantOf(e))?(He("error","ActiveSelection: circular object trees are not supported, this call has no effect"),!1):super.canEnterGroup(i)}enterGroup(i,e){i.parent&&i.parent===i.group?i.parent._exitGroup(i):i.group&&i.parent!==i.group&&i.group.remove(i),this._enterGroup(i,e)}exitGroup(i,e){this._exitGroup(i,e),i.parent&&i.parent._enterGroup(i,!0)}_onAfterObjectsChange(i,e){super._onAfterObjectsChange(i,e);let r=new Set;e.forEach(i=>{let{parent:e}=i;e&&r.add(e)}),i===J1?r.forEach(i=>{i._onAfterObjectsChange(Tt,e)}):r.forEach(i=>{i._set("dirty",!0)})}onDeselect(){return this.removeAll(),!1}toString(){return"#")}shouldCache(){return!1}isOnACache(){return!1}_renderControls(i,e,r){i.save(),i.globalAlpha=this.isMoving?this.borderOpacityWhenMoving:1;let t=P(P({hasControls:!1},r),{},{forActiveSelection:!0});for(let e=0;e{i.applyTo(a)});let{imageData:o}=a;return o.width===r&&o.height===t||(n.width=o.width,n.height=o.height),f.putImageData(o,0,0),a}},Ht=class{constructor(){let{tileSize:i=P0.textureSize}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};R(this,"aPosition",new Float32Array([0,0,0,1,1,0,1,1])),R(this,"resources",{}),this.tileSize=i,this.setupGLContext(i,i),this.captureGPUInfo()}setupGLContext(i,e){this.dispose(),this.createWebGLCanvas(i,e)}createWebGLCanvas(i,e){let r=ue({width:i,height:e}),t=r.getContext("webgl",{alpha:!0,premultipliedAlpha:!1,depth:!1,stencil:!1,antialias:!1});t&&(t.clearColor(0,0,0,0),this.canvas=r,this.gl=t)}applyFilters(i,e,r,t,n,f){let a,o=this.gl,A=n.getContext("2d");if(!o||!A)return;f&&(a=this.getCachedTexture(f,e));let s={originalWidth:e.width||e.naturalWidth||0,originalHeight:e.height||e.naturalHeight||0,sourceWidth:r,sourceHeight:t,destinationWidth:r,destinationHeight:t,context:o,sourceTexture:this.createTexture(o,r,t,a?void 0:e),targetTexture:this.createTexture(o,r,t),originalTexture:a||this.createTexture(o,r,t,a?void 0:e),passes:i.length,webgl:!0,aPosition:this.aPosition,programCache:this.programCache,pass:0,filterBackend:this,targetCanvas:n},l=o.createFramebuffer();return o.bindFramebuffer(o.FRAMEBUFFER,l),i.forEach(i=>{i&&i.applyTo(s)}),function(i){let e=i.targetCanvas,r=e.width,t=e.height,n=i.destinationWidth,f=i.destinationHeight;r===n&&t===f||(e.width=n,e.height=f)}(s),this.copyGLTo2D(o,s),o.bindTexture(o.TEXTURE_2D,null),o.deleteTexture(s.sourceTexture),o.deleteTexture(s.targetTexture),o.deleteFramebuffer(l),A.setTransform(1,0,0,1,0,0),s}dispose(){this.canvas&&(this.canvas=null,this.gl=null),this.clearWebGLCaches()}clearWebGLCaches(){this.programCache={},this.textureCache={}}createTexture(i,e,r,t,n){let{NEAREST:f,TEXTURE_2D:a,RGBA:o,UNSIGNED_BYTE:A,CLAMP_TO_EDGE:s,TEXTURE_MAG_FILTER:l,TEXTURE_MIN_FILTER:k,TEXTURE_WRAP_S:h,TEXTURE_WRAP_T:u}=i,c=i.createTexture();return i.bindTexture(a,c),i.texParameteri(a,l,n||f),i.texParameteri(a,k,n||f),i.texParameteri(a,h,s),i.texParameteri(a,u,s),t?i.texImage2D(a,0,o,o,A,t):i.texImage2D(a,0,o,e,r,0,o,A,null),c}getCachedTexture(i,e,r){let{textureCache:t}=this;if(t[i])return t[i];{let n=this.createTexture(this.gl,e.width,e.height,e,r);return n&&(t[i]=n),n}}evictCachesForKey(i){this.textureCache[i]&&(this.gl.deleteTexture(this.textureCache[i]),delete this.textureCache[i])}copyGLTo2D(i,e){let r=i.canvas,t=e.targetCanvas,n=t.getContext("2d");if(!n)return;n.translate(0,t.height),n.scale(1,-1);let f=r.height-t.height;n.drawImage(r,0,f,t.width,t.height,0,0,t.width,t.height)}copyGLTo2DPutImageData(i,e){let r=e.targetCanvas.getContext("2d"),t=e.destinationWidth,n=e.destinationHeight,f=t*n*4;if(!r)return;let a=new Uint8Array(this.imageBuffer,0,f),o=new Uint8ClampedArray(this.imageBuffer,0,f);i.readPixels(0,0,t,n,i.RGBA,i.UNSIGNED_BYTE,a);let A=new ImageData(o,t,n);r.putImageData(A,0,0)}captureGPUInfo(){if(this.gpuInfo)return this.gpuInfo;let i=this.gl,e={renderer:"",vendor:""};if(!i)return e;let r=i.getExtension("WEBGL_debug_renderer_info");if(r){let t=i.getParameter(r.UNMASKED_RENDERER_WEBGL),n=i.getParameter(r.UNMASKED_VENDOR_WEBGL);t&&(e.renderer=t.toLowerCase()),n&&(e.vendor=n.toLowerCase())}return this.gpuInfo=e,e}};function mA(){let{WebGLProbe:i}=ve();return i.queryWebGL(Ki()),P0.enableGLFiltering&&i.isSupported(P0.textureSize)?new Ht({tileSize:P0.textureSize}):new C1}function Hn(){return!Jn&&(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])&&(Jn=mA()),Jn}var pA=["filters","resizeFilter","src","crossOrigin","type"],la=["cropX","cropY"],hi=class i extends ci{static getDefaults(){return P(P({},super.getDefaults()),i.ownDefaults)}constructor(e,r){super(),R(this,"_lastScaleX",1),R(this,"_lastScaleY",1),R(this,"_filterScalingX",1),R(this,"_filterScalingY",1),this.filters=[],Object.assign(this,i.ownDefaults),this.setOptions(r),this.cacheKey="texture".concat(Le()),this.setElement("string"==typeof e?(this.canvas&&fe(this.canvas.getElement())||nr()).getElementById(e):e,r)}getElement(){return this._element}setElement(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.removeTexture(this.cacheKey),this.removeTexture("".concat(this.cacheKey,"_filtered")),this._element=e,this._originalElement=e,this._setWidthHeight(r),e.classList.add(i.CSS_CANVAS),0!==this.filters.length&&this.applyFilters(),this.resizeFilter&&this.applyResizeFilters()}removeTexture(i){let e=Hn(!1);e instanceof Ht&&e.evictCachesForKey(i)}dispose(){super.dispose(),this.removeTexture(this.cacheKey),this.removeTexture("".concat(this.cacheKey,"_filtered")),this._cacheContext=null,["_originalElement","_element","_filteredEl","_cacheCanvas"].forEach(i=>{let e=this[i];e&&ve().dispose(e),this[i]=void 0})}getCrossOrigin(){return this._originalElement&&(this._originalElement.crossOrigin||null)}getOriginalSize(){let i=this.getElement();return i?{width:i.naturalWidth||i.width,height:i.naturalHeight||i.height}:{width:0,height:0}}_stroke(i){if(!this.stroke||0===this.strokeWidth)return;let e=this.width/2,r=this.height/2;i.beginPath(),i.moveTo(-e,-r),i.lineTo(e,-r),i.lineTo(e,r),i.lineTo(-e,r),i.lineTo(-e,-r),i.closePath()}toObject(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=[];return this.filters.forEach(i=>{i&&e.push(i.toObject())}),P(P({},super.toObject([...la,...i])),{},{src:this.getSrc(),crossOrigin:this.getCrossOrigin(),filters:e},this.resizeFilter?{resizeFilter:this.resizeFilter.toObject()}:{})}hasCrop(){return!!this.cropX||!!this.cropY||this.width\n','\t\n',"\n"),a=' clip-path="url(#imageCrop_'+i+')" '}if(this.imageSmoothing||(o=' image-rendering="optimizeSpeed"'),i.push("\t\n")),this.stroke||this.strokeDashArray){let i=this.fill;this.fill=null,f=['\t\n')],this.fill=i}return n=this.paintFirst!==bi?n.concat(f,i):n.concat(i,f),n}getSrc(i){let e=i?this._element:this._originalElement;return e?e.toDataURL?e.toDataURL():this.srcFromAttribute?e.getAttribute("src")||"":e.src:this.src||""}getSvgSrc(i){return this.getSrc(i)}setSrc(i){let{crossOrigin:e,signal:r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Br(i,{crossOrigin:e,signal:r}).then(i=>{void 0!==e&&this.set({crossOrigin:e}),this.setElement(i)})}toString(){return'#')}applyResizeFilters(){let i=this.resizeFilter,e=this.minimumScaleTrigger,r=this.getTotalObjectScaling(),t=r.x,n=r.y,f=this._filteredEl||this._originalElement;if(this.group&&this.set("dirty",!0),!i||t>e&&n>e)return this._element=f,this._filterScalingX=1,this._filterScalingY=1,this._lastScaleX=t,void(this._lastScaleY=n);let a=ue(f),{width:o,height:A}=f;this._element=a,this._lastScaleX=i.scaleX=t,this._lastScaleY=i.scaleY=n,Hn().applyFilters([i],f,o,A,this._element),this._filterScalingX=a.width/this._originalElement.width,this._filterScalingY=a.height/this._originalElement.height}applyFilters(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.filters||[];if(i=i.filter(i=>i&&!i.isNeutralState()),this.set("dirty",!0),this.removeTexture("".concat(this.cacheKey,"_filtered")),0===i.length)return this._element=this._originalElement,this._filteredEl=void 0,this._filterScalingX=1,void(this._filterScalingY=1);let e=this._originalElement,r=e.naturalWidth||e.width,t=e.naturalHeight||e.height;if(this._element===this._originalElement){let i=ue({width:r,height:t});this._element=i,this._filteredEl=i}else this._filteredEl&&(this._element=this._filteredEl,this._filteredEl.getContext("2d").clearRect(0,0,r,t),this._lastScaleX=1,this._lastScaleY=1);Hn().applyFilters(i,this._originalElement,r,t,this._element),this._originalElement.width===this._element.width&&this._originalElement.height===this._element.height||(this._filterScalingX=this._element.width/this._originalElement.width,this._filterScalingY=this._element.height/this._originalElement.height)}_render(i){i.imageSmoothingEnabled=this.imageSmoothing,!0!==this.isMoving&&this.resizeFilter&&this._needsResize()&&this.applyResizeFilters(),this._stroke(i),this._renderPaintInOrder(i)}drawCacheOnCanvas(i){i.imageSmoothingEnabled=this.imageSmoothing,super.drawCacheOnCanvas(i)}shouldCache(){return this.needsItsOwnCache()}_renderFill(i){let e=this._element;if(!e)return;let r=this._filterScalingX,t=this._filterScalingY,n=this.width,f=this.height,a=Math.max(this.cropX,0),o=Math.max(this.cropY,0),A=e.naturalWidth||e.width,s=e.naturalHeight||e.height,l=a*r,k=o*t,h=Math.min(n*r,A-l),u=Math.min(f*t,s-k),c=-n/2,d=-f/2,b=Math.min(n,A/r-a),p=Math.min(f,s/t-o);e&&i.drawImage(e,l,k,h,u,c,d,b,p)}_needsResize(){let i=this.getTotalObjectScaling();return i.x!==this._lastScaleX||i.y!==this._lastScaleY}_resetWidthHeight(){this.set(this.getOriginalSize())}_setWidthHeight(){let{width:i,height:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=this.getOriginalSize();this.width=i||r.width,this.height=e||r.height}parsePreserveAspectRatioAttribute(){let i,e=tf(this.preserveAspectRatio||""),r=this.width,t=this.height,n={width:r,height:t},f=this._element.width,a=this._element.height,o=1,A=1,s=0,l=0,k=0,h=0;return!e||e.alignX===Di&&e.alignY===Di?(o=r/f,A=t/a):("meet"===e.meetOrSlice&&(o=A=Qf(this._element,n),i=(r-f*o)/2,"Min"===e.alignX&&(s=-i),"Max"===e.alignX&&(s=i),i=(t-a*A)/2,"Min"===e.alignY&&(l=-i),"Max"===e.alignY&&(l=i)),"slice"===e.meetOrSlice&&(o=A=Yf(this._element,n),i=f-r/o,"Mid"===e.alignX&&(k=i/2),"Max"===e.alignX&&(k=i),i=a-t/A,"Mid"===e.alignY&&(h=i/2),"Max"===e.alignY&&(h=i),f=r/o,a=t/A)),{width:f,height:a,scaleX:o,scaleY:A,offsetLeft:s,offsetTop:l,cropX:k,cropY:h}}static fromObject(i,e){let{filters:r,resizeFilter:t,src:n,crossOrigin:f,type:a}=i,o=ni(i,pA);return Promise.all([Br(n,P(P({},e),{},{crossOrigin:f})),r&&K2(r,e),t&&K2([t],e),Dr(o,e)]).then(i=>{let[e,r=[],[t]=[],f={}]=i;return new this(e,P(P({},o),{},{src:n,filters:r,resizeFilter:t},f))})}static fromURL(i){let{crossOrigin:e=null,signal:r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=arguments.length>2?arguments[2]:void 0;return Br(i,{crossOrigin:e,signal:r}).then(i=>new this(i,t))}static async fromElement(i){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,t=Xe(i,this.ATTRIBUTE_NAMES,r);return this.fromURL(t["xlink:href"],e,t).catch(i=>(He("log","Unable to parse Image",i),null))}};R(hi,"type","Image"),R(hi,"cacheProperties",[...Se,...la]),R(hi,"ownDefaults",{strokeWidth:0,srcFromAttribute:!1,minimumScaleTrigger:.5,cropX:0,cropY:0,imageSmoothing:!0}),R(hi,"CSS_CANVAS","canvas-img"),R(hi,"ATTRIBUTE_NAMES",[...Ke,"x","y","width","height","preserveAspectRatio","xlink:href","crossOrigin","image-rendering"]),d0.setClass(hi),d0.setSVGClass(hi);var wl=tn(["pattern","defs","symbol","metadata","clipPath","mask","desc"]),ka=Uo,Qo=i=>function(e,r,t){let{points:n,pathOffset:f}=t;return new K(n[i]).subtract(f).transform(Ai(t.getViewportTransform(),t.calcTransformMatrix()))},ua=(i,e,r,t)=>{let{target:n,pointIndex:f}=e,a=n,o=Fe(new K(r,t),void 0,a.calcOwnMatrix());return a.points[f]=o.add(a.pathOffset),a.setDimensions(),!0},ha=(i,e)=>function(r,t,n,f){let a=t.target,o=new K(a.points[(i>0?i:a.points.length)-1]),A=o.subtract(a.pathOffset).transform(a.calcOwnMatrix()),s=e(r,P(P({},t),{},{pointIndex:i}),n,f),l=o.subtract(a.pathOffset).transform(a.calcOwnMatrix()).subtract(A);return a.left-=l.x,a.top-=l.y,s},Yo=i=>qe(ka,ha(i,ua)),B1=(i,e,r)=>{let{path:t,pathOffset:n}=i,f=t[e];return new K(f[r]-n.x,f[r+1]-n.y).transform(Ai(i.getViewportTransform(),i.calcTransformMatrix()))};function gA(i,e,r){let{commandIndex:t,pointIndex:n}=this;return B1(r,t,n)}function bA(i,e,r,t){let{target:n}=e,{commandIndex:f,pointIndex:a}=this,o=((i,e,r,t,n)=>{let{path:f,pathOffset:a}=i,o=f[(t>0?t:f.length)-1],A=new K(o[n],o[n+1]),s=A.subtract(a).transform(i.calcOwnMatrix()),l=Fe(new K(e,r),void 0,i.calcOwnMatrix());f[t][n]=l.x+a.x,f[t][n+1]=l.y+a.y,i.setDimensions();let k=A.subtract(i.pathOffset).transform(i.calcOwnMatrix()).subtract(s);return i.left-=k.x,i.top-=k.y,i.set("dirty",!0),!0})(n,r,t,f,a);return M1(this.actionName,P(P({},T1(i,e,r,t)),{},{commandIndex:f,pointIndex:a})),o}var Ut=class extends Ii{constructor(i){super(i)}render(i,e,r,t,n){let f=P(P({},t),{},{cornerColor:this.controlFill,cornerStrokeColor:this.controlStroke,transparentCorners:!this.controlFill});super.render(i,e,r,f,n)}},x1=class extends Ut{constructor(i){super(i)}render(i,e,r,t,n){let{path:f}=n,{commandIndex:a,pointIndex:o,connectToCommandIndex:A,connectToPointIndex:s}=this;i.save(),i.strokeStyle=this.controlStroke,this.connectionDashArray&&i.setLineDash(this.connectionDashArray);let[l]=f[a],k=B1(n,A,s);if("Q"===l){let t=B1(n,a,o+2);i.moveTo(t.x,t.y),i.lineTo(e,r)}else i.moveTo(e,r);i.lineTo(k.x,k.y),i.stroke(),i.restore(),super.render(i,e,r,t,n)}},gt=(i,e,r,t,n,f)=>new(r?x1:Ut)(P(P({commandIndex:i,pointIndex:e,actionName:"modifyPath",positionHandler:gA,actionHandler:bA,connectToCommandIndex:n,connectToPointIndex:f},t),r?t.controlPointStyle:t.pointStyle)),_l=Object.freeze({__proto__:null,changeWidth:s1,createObjectDefaultControls:Y1,createPathControls:function(i){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r={},t="M";return i.path.forEach((i,n)=>{let f=i[0];switch("Z"!==f&&(r["c_".concat(n,"_").concat(f)]=gt(n,i.length-2,!1,e)),f){case"C":r["c_".concat(n,"_C_CP_1")]=gt(n,1,!0,e,n-1,"C"===(a=t)?5:"Q"===a?3:1),r["c_".concat(n,"_C_CP_2")]=gt(n,3,!0,e,n,5);break;case"Q":r["c_".concat(n,"_Q_CP_1")]=gt(n,1,!0,e,n,3)}var a;t=f}),r},createPolyActionHandler:Yo,createPolyControls:function(i){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r={};for(let t=0;t<("number"==typeof i?i:i.points.length);t++)r["p".concat(t)]=new Ii(P({actionName:ka,positionHandler:Qo(t),actionHandler:Yo(t)},e));return r},createPolyPositionHandler:Qo,createResizeControls:Wf,createTextboxDefaultControls:Sf,dragHandler:hf,factoryPolyActionHandler:ha,getLocalPoint:rn,polyActionHandler:ua,renderCircleControl:bf,renderSquareControl:vf,rotationStyleHandler:wf,rotationWithSnapping:_f,scaleCursorStyleHandler:O2,scaleOrSkewActionName:_r,scaleSkewCursorStyleHandler:k2,scalingEqually:wr,scalingX:Bf,scalingXOrSkewingY:A1,scalingY:xf,scalingYOrSkewingX:l1,skewCursorStyleHandler:Zf,skewHandlerX:Ef,skewHandlerY:Ff,wrapWithFireEvent:qe,wrapWithFixedAnchor:X2}),sn=i=>void 0!==i.webgl,j1="precision highp float",vA="\n ".concat(j1,";\n varying vec2 vTexCoord;\n uniform sampler2D uTexture;\n void main() {\n gl_FragColor = texture2D(uTexture, vTexCoord);\n }"),wA=["type"],_A=["type"],yA=new RegExp(j1,"g"),li=class{get type(){return this.constructor.type}constructor(){let i=ni(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},wA);Object.assign(this,this.constructor.defaults,i)}getFragmentSource(){return vA}getVertexSource(){return"\n attribute vec2 aPosition;\n varying vec2 vTexCoord;\n void main() {\n vTexCoord = aPosition;\n gl_Position = vec4(aPosition * 2.0 - 1.0, 0.0, 1.0);\n }"}createProgram(i){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.getFragmentSource(),r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.getVertexSource(),{WebGLProbe:{GLPrecision:t="highp"}}=ve();"highp"!==t&&(e=e.replace(yA,j1.replace("highp",t)));let n=i.createShader(i.VERTEX_SHADER),f=i.createShader(i.FRAGMENT_SHADER),a=i.createProgram();if(!n||!f||!a)throw new $i("Vertex, fragment shader or program creation error");if(i.shaderSource(n,r),i.compileShader(n),!i.getShaderParameter(n,i.COMPILE_STATUS))throw new $i("Vertex shader compile error for ".concat(this.type,": ").concat(i.getShaderInfoLog(n)));if(i.shaderSource(f,e),i.compileShader(f),!i.getShaderParameter(f,i.COMPILE_STATUS))throw new $i("Fragment shader compile error for ".concat(this.type,": ").concat(i.getShaderInfoLog(f)));if(i.attachShader(a,n),i.attachShader(a,f),i.linkProgram(a),!i.getProgramParameter(a,i.LINK_STATUS))throw new $i('Shader link error for "'.concat(this.type,'" ').concat(i.getProgramInfoLog(a)));let o=this.getUniformLocations(i,a)||{};return o.uStepW=i.getUniformLocation(a,"uStepW"),o.uStepH=i.getUniformLocation(a,"uStepH"),{program:a,attributeLocations:this.getAttributeLocations(i,a),uniformLocations:o}}getAttributeLocations(i,e){return{aPosition:i.getAttribLocation(e,"aPosition")}}getUniformLocations(i,e){let r=this.constructor.uniformLocations,t={};for(let n=0;n1){let r=i.destinationWidth,t=i.destinationHeight;i.sourceWidth===r&&i.sourceHeight===t||(e.deleteTexture(i.targetTexture),i.targetTexture=i.filterBackend.createTexture(e,r,t)),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,i.targetTexture,0)}else e.bindFramebuffer(e.FRAMEBUFFER,null),e.finish()}_swapTextures(i){i.passes--,i.pass++;let e=i.targetTexture;i.targetTexture=i.sourceTexture,i.sourceTexture=e}isNeutralState(i){return!1}applyTo(i){sn(i)?(this._setupFrameBuffer(i),this.applyToWebGL(i),this._swapTextures(i)):this.applyTo2d(i)}applyTo2d(i){}getCacheKey(){return this.type}retrieveShader(i){let e=this.getCacheKey();return i.programCache[e]||(i.programCache[e]=this.createProgram(i.context)),i.programCache[e]}applyToWebGL(i){let e=i.context,r=this.retrieveShader(i);0===i.pass&&i.originalTexture?e.bindTexture(e.TEXTURE_2D,i.originalTexture):e.bindTexture(e.TEXTURE_2D,i.sourceTexture),e.useProgram(r.program),this.sendAttributeData(e,r.attributeLocations,i.aPosition),e.uniform1f(r.uniformLocations.uStepW,1/i.sourceWidth),e.uniform1f(r.uniformLocations.uStepH,1/i.sourceHeight),this.sendUniformData(e,r.uniformLocations),e.viewport(0,0,i.destinationWidth,i.destinationHeight),e.drawArrays(e.TRIANGLE_STRIP,0,4)}bindAdditionalTexture(i,e,r){i.activeTexture(r),i.bindTexture(i.TEXTURE_2D,e),i.activeTexture(i.TEXTURE0)}unbindAdditionalTexture(i,e){i.activeTexture(e),i.bindTexture(i.TEXTURE_2D,null),i.activeTexture(i.TEXTURE0)}sendUniformData(i,e){}createHelpLayer(i){if(!i.helpLayer){let{sourceWidth:e,sourceHeight:r}=i,t=ue({width:e,height:r});i.helpLayer=t}}toObject(){let i=Object.keys(this.constructor.defaults||{});return P({type:this.type},i.reduce((i,e)=>(i[e]=this[e],i),{}))}toJSON(){return this.toObject()}static async fromObject(i,e){return new this(ni(i,_A))}};R(li,"type","BaseFilter"),R(li,"uniformLocations",[]);var CA={multiply:"gl_FragColor.rgb *= uColor.rgb;\n",screen:"gl_FragColor.rgb = 1.0 - (1.0 - gl_FragColor.rgb) * (1.0 - uColor.rgb);\n",add:"gl_FragColor.rgb += uColor.rgb;\n",difference:"gl_FragColor.rgb = abs(gl_FragColor.rgb - uColor.rgb);\n",subtract:"gl_FragColor.rgb -= uColor.rgb;\n",lighten:"gl_FragColor.rgb = max(gl_FragColor.rgb, uColor.rgb);\n",darken:"gl_FragColor.rgb = min(gl_FragColor.rgb, uColor.rgb);\n",exclusion:"gl_FragColor.rgb += uColor.rgb - 2.0 * (uColor.rgb * gl_FragColor.rgb);\n",overlay:"\n if (uColor.r < 0.5) {\n gl_FragColor.r *= 2.0 * uColor.r;\n } else {\n gl_FragColor.r = 1.0 - 2.0 * (1.0 - gl_FragColor.r) * (1.0 - uColor.r);\n }\n if (uColor.g < 0.5) {\n gl_FragColor.g *= 2.0 * uColor.g;\n } else {\n gl_FragColor.g = 1.0 - 2.0 * (1.0 - gl_FragColor.g) * (1.0 - uColor.g);\n }\n if (uColor.b < 0.5) {\n gl_FragColor.b *= 2.0 * uColor.b;\n } else {\n gl_FragColor.b = 1.0 - 2.0 * (1.0 - gl_FragColor.b) * (1.0 - uColor.b);\n }\n ",tint:"\n gl_FragColor.rgb *= (1.0 - uColor.a);\n gl_FragColor.rgb += uColor.rgb;\n "},u2=class extends li{getCacheKey(){return"".concat(this.type,"_").concat(this.mode)}getFragmentSource(){return"\n precision highp float;\n uniform sampler2D uTexture;\n uniform vec4 uColor;\n varying vec2 vTexCoord;\n void main() {\n vec4 color = texture2D(uTexture, vTexCoord);\n gl_FragColor = color;\n if (color.a > 0.0) {\n ".concat(CA[this.mode],"\n }\n }\n ")}applyTo2d(i){let{imageData:{data:e}}=i,r=new xi(this.color).getSource(),t=this.alpha,n=r[0]*t,f=r[1]*t,a=r[2]*t,o=1-t;for(let i=0;inew this(P(P({},n),{},{image:i})))}};R(h2,"type","BlendImage"),R(h2,"defaults",{mode:"multiply",alpha:1}),R(h2,"uniformLocations",["uTransformMatrix","uImage"]),d0.setClass(h2);var c2=class extends li{getFragmentSource(){return"\n precision highp float;\n uniform sampler2D uTexture;\n uniform vec2 uDelta;\n varying vec2 vTexCoord;\n const float nSamples = 15.0;\n vec3 v3offset = vec3(12.9898, 78.233, 151.7182);\n float random(vec3 scale) {\n /* use the fragment position for a different seed per-pixel */\n return fract(sin(dot(gl_FragCoord.xyz, scale)) * 43758.5453);\n }\n void main() {\n vec4 color = vec4(0.0);\n float total = 0.0;\n float offset = random(v3offset);\n for (float t = -nSamples; t <= nSamples; t++) {\n float percent = (t + offset - 0.5) / nSamples;\n float weight = 1.0 - abs(percent);\n color += texture2D(uTexture, vTexCoord + uDelta * percent) * weight;\n total += weight;\n }\n gl_FragColor = color / total;\n }\n "}applyTo(i){sn(i)?(this.aspectRatio=i.sourceWidth/i.sourceHeight,i.passes++,this._setupFrameBuffer(i),this.horizontal=!0,this.applyToWebGL(i),this._swapTextures(i),this._setupFrameBuffer(i),this.horizontal=!1,this.applyToWebGL(i),this._swapTextures(i)):this.applyTo2d(i)}applyTo2d(i){i.imageData=this.simpleBlur(i)}simpleBlur(i){let{ctx:e,imageData:r,filterBackend:{resources:t}}=i,{width:n,height:f}=r;t.blurLayer1||(t.blurLayer1=Ki(),t.blurLayer2=Ki());let a=t.blurLayer1,o=t.blurLayer2;a.width===n&&a.height===f||(o.width=a.width=n,o.height=a.height=f);let A,s,l,k,h=a.getContext("2d"),u=o.getContext("2d"),c=.06*this.blur*.5;for(h.putImageData(r,0,0),u.clearRect(0,0,n,f),k=-15;k<=15;k++)A=(Math.random()-.5)/4,s=k/15,l=c*s*n+A,u.globalAlpha=1-Math.abs(s),u.drawImage(a,l,A),h.drawImage(o,0,0),u.globalAlpha=1,u.clearRect(0,0,o.width,o.height);for(k=-15;k<=15;k++)A=(Math.random()-.5)/4,s=k/15,l=c*s*f+A,u.globalAlpha=1-Math.abs(s),u.drawImage(a,A,l),h.drawImage(o,0,0),u.globalAlpha=1,u.clearRect(0,0,o.width,o.height);e.drawImage(a,0,0);let d=e.getImageData(0,0,a.width,a.height);return h.globalAlpha=1,h.clearRect(0,0,a.width,a.height),d}sendUniformData(i,e){let r=this.chooseRightDelta();i.uniform2fv(e.uDelta,r)}isNeutralState(){return 0===this.blur}chooseRightDelta(){let i=1,e=[0,0];this.horizontal?this.aspectRatio>1&&(i=1/this.aspectRatio):this.aspectRatio<1&&(i=this.aspectRatio);let r=i*this.blur*.12;return this.horizontal?e[0]=r:e[1]=r,e}};R(c2,"type","Blur"),R(c2,"defaults",{blur:0}),R(c2,"uniformLocations",["uDelta"]),d0.setClass(c2);var d2=class extends li{getFragmentSource(){return"\n precision highp float;\n uniform sampler2D uTexture;\n uniform float uBrightness;\n varying vec2 vTexCoord;\n void main() {\n vec4 color = texture2D(uTexture, vTexCoord);\n color.rgb += uBrightness;\n gl_FragColor = color;\n }\n"}applyTo2d(i){let{imageData:{data:e}}=i,r=Math.round(255*this.brightness);for(let i=0;i0&&void 0!==arguments[0]?arguments[0]:{};super(i),this.subFilters=i.subFilters||[]}applyTo(i){sn(i)&&(i.passes+=this.subFilters.length-1),this.subFilters.forEach(e=>{e.applyTo(i)})}toObject(){return{type:this.type,subFilters:this.subFilters.map(i=>i.toObject())}}isNeutralState(){return!this.subFilters.some(i=>!i.isNeutralState())}static fromObject(i,e){return Promise.all((i.subFilters||[]).map(i=>d0.getClass(i.type).fromObject(i,e))).then(i=>new this({subFilters:i}))}};R(Vr,"type","Composed"),d0.setClass(Vr);var m2=class extends li{getFragmentSource(){return"\n precision highp float;\n uniform sampler2D uTexture;\n uniform float uContrast;\n varying vec2 vTexCoord;\n void main() {\n vec4 color = texture2D(uTexture, vTexCoord);\n float contrastF = 1.015 * (uContrast + 1.0) / (1.0 * (1.015 - uContrast));\n color.rgb = contrastF * (color.rgb - 0.5) + 0.5;\n gl_FragColor = color;\n }"}isNeutralState(){return 0===this.contrast}applyTo2d(i){let{imageData:{data:e}}=i,r=Math.floor(255*this.contrast),t=259*(r+255)/(255*(259-r));for(let i=0;i=v||a<0||a>=m||(A=4*(o*m+a),s=b[u*p+h],e+=d[A]*s,r+=d[A+1]*s,t+=d[A+2]*s,y||(n+=d[A+3]*s));_[f]=e,_[f+1]=r,_[f+2]=t,_[f+3]=y?d[f+3]:n}i.imageData=w}sendUniformData(i,e){i.uniform1fv(e.uMatrix,this.matrix)}toObject(){return P(P({},super.toObject()),{},{opaque:this.opaque,matrix:[...this.matrix]})}};R(p2,"type","Convolute"),R(p2,"defaults",{opaque:!1,matrix:[0,0,0,0,1,0,0,0,0]}),R(p2,"uniformLocations",["uMatrix","uOpaque","uHalfSize","uSize"]),d0.setClass(p2);var da="Gamma",g2=class extends li{getFragmentSource(){return"\n precision highp float;\n uniform sampler2D uTexture;\n uniform vec3 uGamma;\n varying vec2 vTexCoord;\n void main() {\n vec4 color = texture2D(uTexture, vTexCoord);\n vec3 correction = (1.0 / uGamma);\n color.r = pow(color.r, correction.r);\n color.g = pow(color.g, correction.g);\n color.b = pow(color.b, correction.b);\n gl_FragColor = color;\n gl_FragColor.rgb *= color.a;\n }\n"}constructor(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(i),this.gamma=i.gamma||this.constructor.defaults.gamma.concat()}applyTo2d(i){let{imageData:{data:e}}=i,r=this.gamma,t=1/r[0],n=1/r[1],f=1/r[2];this.rgbValues||(this.rgbValues={r:new Uint8Array(256),g:new Uint8Array(256),b:new Uint8Array(256)});let a=this.rgbValues;for(let i=0;i<256;i++)a.r[i]=255*Math.pow(i/255,t),a.g[i]=255*Math.pow(i/255,n),a.b[i]=255*Math.pow(i/255,f);for(let i=0;in[0]&&t>n[1]&&a>n[2]&&r"\n color += texture2D(uTexture, vTexCoord + ".concat(i,") * uTaps[").concat(e,"] + texture2D(uTexture, vTexCoord - ").concat(i,") * uTaps[").concat(e,"];\n sum += 2.0 * uTaps[").concat(e,"];\n ")).join("\n"),"\n gl_FragColor = color / sum;\n }\n ")}applyToForWebgl(i){i.passes++,this.width=i.sourceWidth,this.horizontal=!0,this.dW=Math.round(this.width*this.scaleX),this.dH=i.sourceHeight,this.tempScale=this.dW/this.width,this.taps=this.getTaps(),i.destinationWidth=this.dW,super.applyTo(i),i.sourceWidth=i.destinationWidth,this.height=i.sourceHeight,this.horizontal=!1,this.dH=Math.round(this.height*this.scaleY),this.tempScale=this.dH/this.height,this.taps=this.getTaps(),i.destinationHeight=this.dH,super.applyTo(i),i.sourceHeight=i.destinationHeight}applyTo(i){sn(i)?this.applyToForWebgl(i):this.applyTo2d(i)}isNeutralState(){return 1===this.scaleX&&1===this.scaleY}lanczosCreate(i){return e=>{if(e>=i||e<=-i)return 0;if(e<1.1920929e-7&&e>-1.1920929e-7)return 1;let r=(e*=Math.PI)/i;return Math.sin(e)/e*Math.sin(r)/r}}applyTo2d(i){let e=i.imageData,r=this.scaleX,t=this.scaleY;this.rcpScaleX=1/r,this.rcpScaleY=1/t;let n,f=e.width,a=e.height,o=Math.round(f*r),A=Math.round(a*t);n="sliceHack"===this.resizeType?this.sliceByTwo(i,f,a,o,A):"hermite"===this.resizeType?this.hermiteFastResize(i,f,a,o,A):"bilinear"===this.resizeType?this.bilinearFiltering(i,f,a,o,A):"lanczos"===this.resizeType?this.lanczosResize(i,f,a,o,A):new ImageData(o,A),i.imageData=n}sliceByTwo(i,e,r,t,n){let f=i.imageData,a=.5,o=!1,A=!1,s=e*a,l=r*a,k=i.filterBackend.resources,h=0,u=0,c=e,d=0;k.sliceByTwo||(k.sliceByTwo=Ki());let b=k.sliceByTwo;(b.width<1.5*e||b.height=e)){I=Math.floor(1e3*Math.abs(v-b.x)),d[I]||(d[I]={});for(let i=p.y-c;i<=p.y+c;i++)i<0||i>=r||(W=Math.floor(1e3*Math.abs(i-b.y)),d[I][W]||(d[I][W]=A(Math.sqrt(Math.pow(I*k,2)+Math.pow(W*h,2))/1e3)),w=d[I][W],w>0&&(_=4*(i*e+v),y+=w,C+=w*f[_],B+=w*f[_+1],x+=w*f[_+2],Z+=w*f[_+3]))}_=4*(m*t+g),o[_]=C/y,o[_+1]=B/y,o[_+2]=x/y,o[_+3]=Z/y}return++g1&&f<-1||(l=2*f*f*f-3*f*f+1,l>0&&(r=4*(i+t*e),p+=l*s[r+3],u+=l,s[r+3]<255&&(l=l*s[r+3]/250),c+=l*s[r],d+=l*s[r+1],b+=l*s[r+2],h+=l))}}k[n]=c/h,k[n+1]=d/h,k[n+2]=b/h,k[n+3]=p/u}return l}};R(C2,"type","Resize"),R(C2,"defaults",{resizeType:"hermite",scaleX:1,scaleY:1,lanczosLobes:3}),R(C2,"uniformLocations",["uDelta","uTaps"]),d0.setClass(C2);var B2=class extends li{getFragmentSource(){return"\n precision highp float;\n uniform sampler2D uTexture;\n uniform float uSaturation;\n varying vec2 vTexCoord;\n void main() {\n vec4 color = texture2D(uTexture, vTexCoord);\n float rgMax = max(color.r, color.g);\n float rgbMax = max(rgMax, color.b);\n color.r += rgbMax != color.r ? (rgbMax - color.r) * uSaturation : 0.00;\n color.g += rgbMax != color.g ? (rgbMax - color.g) * uSaturation : 0.00;\n color.b += rgbMax != color.b ? (rgbMax - color.b) * uSaturation : 0.00;\n gl_FragColor = color;\n }\n"}applyTo2d(i){let{imageData:{data:e}}=i,r=-this.saturation;for(let i=0;ii.toLowerCase()),ie(this,G2,"f").has(r)||ie(this,G2,"f").set(r,new Set);let i=ie(this,G2,"f").get(r),n=!0;for(let f of t){let t=f.startsWith("*");if(f=t?f.slice(1):f,i?.add(f),n&&ie(this,Tr,"f").set(r,f),n=!1,t)continue;let a=ie(this,Ar,"f").get(f);if(a&&a!=r&&!e)throw new Error(`"${r} -> ${f}" conflicts with "${a} -> ${f}". Pass \`force=true\` to override this definition.`);ie(this,Ar,"f").set(f,r)}}return this}getType(i){if("string"!=typeof i)return null;let e=i.replace(/^.*[/\\]/,"").toLowerCase(),r=e.replace(/^.*\./,"").toLowerCase(),t=e.length{throw new Error("define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances")},Object.freeze(this);for(let i of ie(this,G2,"f").values())Object.freeze(i);return this}_getTestState(){return{types:ie(this,Ar,"f"),extensions:ie(this,Tr,"f")}}};Ar=new WeakMap,Tr=new WeakMap,G2=new WeakMap;var PA=RA,ga=new PA(TA,MA)._freeze(),An=class extends T0.Modal{constructor(i,e,r){super(i),this.plugin=e,this.file=r,this.setupModal(),this.setupEventHandlers()}componentContainer=new T0.Component;currentTool=0;canvas;drawButton=void 0;textButton;arrowButton;resizeHandle=null;backgroundDropdown=null;textBackgroundControls=null;isDrawingMode=!1;isTextMode=!1;isArrowMode=!1;isTextEditingBlocked=!1;_previousStates=null;isResizing=!1;isPanning=!1;isSpacebarDown=!1;isUndoRedoAction=!1;preserveObjectStacking=!0;brushSizes=[2,4,8,12,16,24];brushOpacities=[.2,.4,.6,.8,.9,1];currentBrushSizeIndex=2;currentOpacityIndex=5;currentBlendMode="source-over";currentBackground="transparent";minWidth=400;minHeight=300;minZoom=.1;maxZoom=10;currentZoom=1;boundKeyDownHandler;boundKeyUpHandler;lastPanPoint=null;undoStack=[];redoStack=[];blendModes=["source-over","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion"];backgroundOptions=["transparent","#ffffff","#000000","grid","dots"];dominantColors=[];complementaryColors=[];setupModal(){this.componentContainer.load(),this.modalEl.addClass("image-converter-annotation-tool-image-annotation-modal"),this.setupCloseButton()}setupEventHandlers(){this.boundKeyDownHandler=this.handleKeyDown.bind(this),this.boundKeyUpHandler=this.handleKeyUp.bind(this),this.scope=new T0.Scope,this.registerShortcuts(),this.preventDefaultHandlers()}setupCloseButton(){let i=this.modalEl.querySelector(".modal-close-button");i&&this.componentContainer.registerDomEvent(i,"click",i=>{i.stopPropagation(),this.close()})}registerShortcuts(){this.scope.register([],"Escape",i=>{i.preventDefault(),i.stopPropagation();let e=this.canvas?.getActiveObject();return e instanceof M0&&e.isEditing&&e.exitEditing(),!1})}async onOpen(){let{contentEl:i}=this;i.style.padding="0",i.style.overflow="hidden";let e=i.createDiv("image-converter-annotation-tool-modal-container");this.setupResizable(),this.setupToolbar(e);let r=e.createDiv("image-converter-annotation-tool-canvas-container").createEl("canvas");try{let i=await this.app.vault.readBinary(this.file),e=new Blob([i]),t=URL.createObjectURL(e),n=new Image;n.onload=()=>{this.undoStack=[JSON.stringify([])],this.redoStack=[];let i=.9*window.innerWidth-80,e=.9*window.innerHeight-80-60;this.canvas=new rr(r,{width:i,height:e,backgroundColor:"transparent",isDrawingMode:!1,preserveObjectStacking:this.preserveObjectStacking});let f=.8*Math.min(i/n.width,e/n.height),a=new hi(n,{selectable:!1,evented:!1,scaleX:f,scaleY:f,objectCaching:!0,opacity:1,erasable:!1,crossOrigin:"anonymous",strokeWidth:0});this.canvas.add(a),this.centerFabricImage(a),this.modalEl.style.width=`${i+80}px`,this.modalEl.style.height=`${e+80+60}px`,this.analyzeImageColors(n),this.setupZoomAndPan(),this.initializeUndoRedo(),this.initializeCanvasEventHandlers(),this.componentContainer.registerDomEvent(this.modalEl,"mousedown",i=>{i.target===this.modalEl&&(i.preventDefault(),i.stopPropagation())}),this.componentContainer.registerDomEvent(this.modalEl,"keydown",i=>{i.preventDefault(),i.stopPropagation()},!0),this.componentContainer.registerDomEvent(this.modalEl,"keyup",i=>{i.preventDefault(),i.stopPropagation()},!0),this.setupSelectionEvents(),URL.revokeObjectURL(t),this.canvas.renderAll()},n.src=t}catch(i){return console.error("Error loading image:",i),void new T0.Notice("Error loading image")}}centerFabricImage(i){if(!this.canvas)return;let e=this.canvas.width??0,r=this.canvas.height??0,t=i.width??0,n=i.height??0,f=(e-t*(i.scaleX??1))/2,a=(r-n*(i.scaleY??1))/2;i.set({left:f,top:a})}updateDrawingModeUI(i){this.isDrawingMode=i,this.canvas.isDrawingMode=i,this.updateObjectInteractivity(),this.drawButton&&(i?this.drawButton.buttonEl.addClass("is-active"):this.drawButton.buttonEl.removeClass("is-active")),this.canvas.requestRenderAll()}updateObjectInteractivity(){this.canvas&&(this.canvas.forEachObject(i=>{i instanceof hi?(i.selectable=!1,i.evented=!1):i instanceof M0?this.isDrawingMode?(i.selectable=!1,i.evented=!1,i.editable=!1):(i.selectable=!0,i.evented=!0,i.editable=!0):this.isTextMode?(i.selectable=!1,i.evented=!1):(i.selectable=!this.isDrawingMode,i.evented=!this.isDrawingMode)}),this.canvas.selection=!this.isDrawingMode&&!this.isTextMode,this.canvas.requestRenderAll())}createColorSwatches(){let i=this.modalEl.querySelector(".image-converter-annotation-tool-color-picker-wrapper");if(!i)return;let e=i=>{let e=this.modalEl.querySelector(".color-picker");if(e&&(e.value=i,this.updateBrushColor(),this.canvas)){let e=this.canvas.getActiveObject();e&&("activeselection"===e.type?e.getObjects().forEach(e=>{e instanceof M0?e.set("fill",i):e.set("stroke",this.hexToRgba(i,this.brushOpacities[this.currentOpacityIndex]))}):e instanceof M0?e.set("fill",i):e.set("stroke",this.hexToRgba(i,this.brushOpacities[this.currentOpacityIndex])),this.canvas.requestRenderAll())}},r=i.querySelector(".image-converter-annotation-tool-color-swatches");r&&r.remove();let t=i.createDiv("image-converter-annotation-tool-color-swatches"),n=t.createDiv("image-converter-annotation-tool-color-row");n.createSpan("image-converter-annotation-tool-row-label").setText("Grayscale:");let f=n.createDiv("image-converter-annotation-tool-swatches-container");["#000000","#ffffff","#d1d3d4","#a7a9acCC","#808285","#58595b"].forEach(i=>{let r=f.createDiv("color-swatch preset");r.style.backgroundColor=i,r.setAttribute("title",i),this.componentContainer.registerDomEvent(r,"click",()=>e(i))});let a=t.createDiv("image-converter-annotation-tool-color-row");a.createSpan("image-converter-annotation-tool-row-label").setText("Palette:");let o=a.createDiv("image-converter-annotation-tool-swatches-container");["#ff80ff","#ffc680","#ffff80","#80ff9e","#80d6ff","#bcb3ff"].forEach(i=>{let r=o.createDiv("color-swatch preset");r.style.backgroundColor=i,r.setAttribute("title",i),this.componentContainer.registerDomEvent(r,"click",()=>e(i))});let A=this.dominantColors.map((i,e)=>({dominant:i,complementary:this.complementaryColors[e][0],luminosity:this.getLuminosity(i)})).sort((i,e)=>i.luminosity-e.luminosity),s=t.createDiv("image-converter-annotation-tool-color-row");s.createSpan("image-converter-annotation-tool-row-label").setText("Dominant:");let l=s.createDiv("image-converter-annotation-tool-swatches-container");A.forEach(i=>{let r=l.createDiv("color-swatch dominant");r.style.backgroundColor=i.dominant,r.setAttribute("title",i.dominant),this.componentContainer.registerDomEvent(r,"click",()=>e(i.dominant))});let k=t.createDiv("image-converter-annotation-tool-color-row");k.createSpan("image-converter-annotation-tool-row-label").setText("180:");let h=k.createDiv("image-converter-annotation-tool-swatches-container");A.forEach(i=>{let r=h.createDiv("color-swatch complementary");r.style.backgroundColor=i.complementary,r.setAttribute("title",i.complementary),this.componentContainer.registerDomEvent(r,"click",()=>{let r=this.hslToRgb(i.complementary),t=this.rgbToHex(r.red,r.green,r.blue);e(t)})}),this.createPresetButtons(t)}updateBrushColor(){if(!this.canvas?.freeDrawingBrush)return;let i=this.modalEl.querySelector(".color-picker");if(!i)return;let e=i.value,r=this.brushOpacities[this.currentOpacityIndex];this.canvas.freeDrawingBrush.color=this.hexToRgba(e,r),this.canvas.freeDrawingBrush.width=this.brushSizes[this.currentBrushSizeIndex]}createTextBackgroundControls(i){let e=i.createDiv("image-converter-annotation-tool-control-group");e.createDiv("control-label").setText("Text Background:");let r=e.createDiv("image-converter-annotation-tool-button-group"),t=r.createDiv("image-converter-annotation-tool-background-color-wrapper"),n=t.createEl("input",{type:"color",cls:"background-color-picker",value:"#ffffff"}),f=t.createEl("input",{type:"range",cls:"background-alpha-slider",attr:{min:"0",max:"100",value:"70"}});new T0.ButtonComponent(r).setTooltip("Transparent").setIcon("eraser").onClick(()=>{this.setTextBackground("transparent")}),new T0.ButtonComponent(r).setTooltip("Semi-transparent white").setIcon("square").onClick(()=>{this.setTextBackground("rgba(255, 255, 255, 0.7)")}).buttonEl.addClass("bg-white-semi"),new T0.ButtonComponent(r).setTooltip("Semi-transparent black").setIcon("square").onClick(()=>{this.setTextBackground("rgba(0, 0, 0, 0.7)")}).buttonEl.addClass("bg-black-semi");let a=()=>{let i=n.value,e=parseInt(f.value)/100,r=this.hexToRgba(i,e);this.setTextBackground(r)};this.componentContainer.registerDomEvent(n,"input",a),this.componentContainer.registerDomEvent(f,"input",a)}setTextBackground(i){if(!this.canvas)return;let e=this.canvas.getActiveObject();e&&(e instanceof M0?e.set("backgroundColor",i):e instanceof qi&&e.getObjects().forEach(e=>{e instanceof M0&&e.set("backgroundColor",i)}),this.canvas.requestRenderAll(),this.saveState())}createAndAddText(i,e,r){if(this.isTextEditingBlocked)console.debug("Text creation blocked");else try{let t=this.modalEl.querySelector(".background-color-picker"),n=this.modalEl.querySelector(".background-alpha-slider"),f="transparent";if(t&&n){let i=parseInt(n.value)/100;f=this.hexToRgba(t.value,i)}let a=new M0("Type here",{left:e,top:r,fontSize:20,fill:i,backgroundColor:f,selectable:!0,evented:!0,editable:!0,hasControls:!0,hasBorders:!0,centeredScaling:!0,originX:"center",originY:"center"});this.canvas?.add(a),this.canvas?.setActiveObject(a),this.canvas?.requestRenderAll(),setTimeout(()=>{a.enterEditing(),a.selectAll(),this.canvas?.requestRenderAll()},50)}catch(i){console.error("Error in createAndAddText:",i),this.isTextEditingBlocked=!1}}registerHotkeys(){this.scope.register(["Mod"],"S",i=>{i.preventDefault(),this.saveAnnotation()}),this.scope.register(["Mod"],"A",i=>{if(this.canvas){let i=this.canvas.getActiveObject();if(i instanceof M0&&i.isEditing)return!0}return i.preventDefault(),this.selectAll(),!1}),this.scope.register(["Mod"],"Z",i=>(i.preventDefault(),i.shiftKey?this.redo():this.undo(),!1)),this.scope.register(["Mod","Shift"],"Z",i=>(i.preventDefault(),this.redo(),!1)),this.scope.register([],"A",i=>!!this.isTextEditing()||(i.preventDefault(),this.switchTool(3===this.currentTool?0:3),!1)),this.scope.register([],"B",i=>{if(this.canvas){let i=this.canvas.getActiveObject();if(i instanceof M0&&i.isEditing)return!0}return i.preventDefault(),this.isTextMode&&this.toggleTextMode(),this.toggleDrawingMode(this.drawButton),!1}),this.scope.register([],"T",i=>{if(this.canvas){let i=this.canvas.getActiveObject();if(i instanceof M0&&i.isEditing)return!0}return i.preventDefault(),this.isDrawingMode&&this.updateDrawingModeUI(!1),this.toggleTextMode(),!1}),this.scope.register([],"Delete",i=>(i.preventDefault(),this.deleteSelectedObjects(),!1)),this.scope.register([],"Backspace",i=>{let e=this.canvas?.getActiveObject();return!!(e instanceof M0&&e.isEditing)||(i.preventDefault(),this.deleteSelectedObjects(),!1)})}switchTool(i){switch(this.isDrawingMode=!1,this.isTextMode=!1,this.isArrowMode=!1,this.drawButton&&this.drawButton.buttonEl.removeClass("is-active"),this.textButton&&this.textButton.buttonEl.removeClass("is-active"),this.arrowButton&&this.arrowButton.buttonEl.removeClass("is-active"),i){case 1:this.isDrawingMode=!0,this.drawButton&&this.drawButton.buttonEl.addClass("is-active"),this.canvas&&(this.canvas.isDrawingMode=!0,this.canvas.freeDrawingBrush=new tr(this.canvas),this.updateBrushColor(),this.canvas.freeDrawingBrush.width=this.brushSizes[this.currentBrushSizeIndex]);break;case 2:this.isTextMode=!0,this.textButton&&this.textButton.buttonEl.addClass("is-active"),this.canvas&&(this.canvas.isDrawingMode=!1);break;case 3:if(this.isArrowMode=!0,this.arrowButton&&this.arrowButton.buttonEl.addClass("is-active"),this.canvas){this.canvas.isDrawingMode=!0;let i=new $1(this.canvas);this.canvas.freeDrawingBrush=i,this.updateBrushColor(),i.width=this.brushSizes[this.currentBrushSizeIndex]}break;case 0:this.canvas&&(this.canvas.isDrawingMode=!1)}this.currentTool=i,this.updateObjectInteractivity();let e=this.modalEl.querySelector(".text-background-controls");e instanceof HTMLElement&&(e.style.display=2===i?"flex":"none");let r=this.modalEl.querySelector(".image-converter-annotation-tool-preset-buttons");r instanceof HTMLElement&&(r.style.display=0===i?"none":"flex",this.updatePresetButtons())}toggleDrawingMode(i){let e=1===this.currentTool?0:1;this.switchTool(e)}toggleTextMode(){let i=2===this.currentTool?0:2;this.switchTool(i)}toggleArrowMode(i){let e=3===this.currentTool?0:3;this.switchTool(e)}createPresetButtons(i){let e=i.createDiv("image-converter-annotation-tool-preset-buttons");e.style.display="none";for(let i=0;i<3;i++){let r=e.createDiv(`preset-button preset-${i+1}`);r.createDiv("image-converter-annotation-tool-preset-color"),r.createSpan("preset-number").setText(`${i+1}`),this.componentContainer.registerDomEvent(r,"click",e=>{e.shiftKey?this.savePreset(i):this.loadPreset(i)}),r.setAttribute("title","Click to load, Shift+Click to save")}return e}async savePreset(i){let e=this.modalEl.querySelector(".color-picker"),r=this.modalEl.querySelector(".background-color-picker"),t=this.modalEl.querySelector(".background-alpha-slider");if(!e)return;let n={size:this.brushSizes[this.currentBrushSizeIndex],color:e.value,opacity:this.brushOpacities[this.currentOpacityIndex],blendMode:this.currentBlendMode,backgroundColor:r?.value,backgroundOpacity:t?parseInt(t.value)/100:void 0};this.isDrawingMode?this.plugin.settings.annotationPresets.drawing[i]=n:this.isArrowMode?this.plugin.settings.annotationPresets.arrow[i]=n:this.isTextMode&&(this.plugin.settings.annotationPresets.text[i]=n),await this.plugin.saveSettings(),this.updatePresetButtons(),new T0.Notice(`Preset ${i+1} saved`)}loadPreset(i){let e;if(this.isDrawingMode)e=this.plugin.settings.annotationPresets.drawing[i];else if(this.isArrowMode)e=this.plugin.settings.annotationPresets.arrow[i];else{if(!this.isTextMode)return;e=this.plugin.settings.annotationPresets.text[i]}if(!e)return;let r=this.modalEl.querySelector(".color-picker");if(r&&(r.value=e.color),this.isTextMode){let i=this.modalEl.querySelector(".background-color-picker"),r=this.modalEl.querySelector(".background-alpha-slider");i&&e.backgroundColor&&(i.value=e.backgroundColor),r&&void 0!==e.backgroundOpacity&&(r.value=(100*e.backgroundOpacity).toString());let t=this.canvas?.getActiveObject();if(t)if(t instanceof M0){if(t.set("fill",e.color),e.backgroundColor){let i=this.hexToRgba(e.backgroundColor,e.backgroundOpacity??1);t.set("backgroundColor",i)}this.canvas?.requestRenderAll()}else t instanceof qi&&(t.getObjects().forEach(i=>{if(i instanceof M0&&(i.set("fill",e.color),e.backgroundColor)){let r=this.hexToRgba(e.backgroundColor,e.backgroundOpacity??1);i.set("backgroundColor",r)}}),this.canvas?.requestRenderAll())}else{let i=this.canvas?.getActiveObject();i&&(i instanceof qi?i.getObjects().forEach(i=>{i instanceof M0||i.set("stroke",this.hexToRgba(e.color,e.opacity??1))}):i instanceof M0||i.set("stroke",this.hexToRgba(e.color,e.opacity??1)),this.canvas?.requestRenderAll())}let t=this.brushOpacities.indexOf(e.opacity);if(-1!==t){this.currentOpacityIndex=t;let i=this.modalEl.querySelectorAll(".opacity-buttons-container button")[t];i instanceof HTMLElement&&i.click()}let n=this.brushSizes.indexOf(e.size);if(-1!==n){this.currentBrushSizeIndex=n;let i=this.modalEl.querySelectorAll(".size-buttons-container button")[n];i instanceof HTMLElement&&i.click()}this.currentBlendMode=e.blendMode;let f=this.modalEl.querySelector(".blend-modes-container select");f&&(f.value=e.blendMode),this.updateBrushColor()}updatePresetButtons(){let i=this.modalEl.querySelectorAll(".preset-button"),e=this.isDrawingMode?this.plugin.settings.annotationPresets.drawing:this.isArrowMode?this.plugin.settings.annotationPresets.arrow:this.isTextMode?this.plugin.settings.annotationPresets.text:null;e&&i.forEach((i,r)=>{let t=i.querySelector(".image-converter-annotation-tool-preset-color");t&&(this.isTextMode&&e[r].backgroundColor?(t.style.backgroundColor=e[r].backgroundColor??"transparent",t.style.opacity=(e[r].backgroundOpacity??1).toString(),t.style.border=`2px solid ${e[r].color}`):(t.style.backgroundColor=e[r].color,t.style.opacity=e[r].opacity.toString(),t.style.border="none"))})}setupToolbar(i){let e=i.createDiv("image-converter-annotation-tool-annotation-toolbar"),r=e.createDiv("annotation-toolbar-group drawing-group"),t=e.createDiv("annotation-toolbar-group brush-controls"),n=e.createDiv("annotation-toolbar-group"),f=r.createDiv("image-converter-annotation-tool-left-section"),a=f.createDiv("image-converter-annotation-tool-drawing-tools-column");this.drawButton=new T0.ButtonComponent(a).setTooltip("Draw (B)").setIcon("pencil").onClick(()=>{this.toggleDrawingMode(this.drawButton)});let o=new T0.ButtonComponent(a).setTooltip("Arrow (A)").setIcon("arrow-right").onClick(()=>{this.toggleArrowMode(o)});this.arrowButton=o,this.textButton=new T0.ButtonComponent(a).setTooltip("Add Text (T)").setIcon("type").onClick(()=>{this.toggleTextMode()}),new T0.ButtonComponent(a).setTooltip("Reset Zoom (1:1)").setIcon("search").onClick(()=>this.resetZoom());let A=f.createDiv("image-converter-annotation-tool-color-picker-wrapper").createEl("input",{type:"color",value:"#ff0000"});A.addClass("color-picker"),this.componentContainer.registerDomEvent(A,"input",i=>{let e=i.target.value;this.updateColorForSelectedObjects(e),this.updateBrushColor()});let s=t.createDiv("brush-controls-column");this.createSizeButtons(s),this.createOpacityButtons(s),this.createBlendModeButtons(s);let l=s.createDiv("layer-controls");l.createDiv("control-label").setText("Layer:");let k=l.createDiv("image-converter-annotation-tool-button-group");new T0.ButtonComponent(k).setTooltip("Bring to Front").setIcon("arrow-up-to-line").onClick(()=>this.bringToFront()),new T0.ButtonComponent(k).setTooltip("Bring Forward").setIcon("arrow-up").onClick(()=>this.bringForward()),new T0.ButtonComponent(k).setTooltip("Send Backward").setIcon("arrow-down").onClick(()=>this.sendBackward()),new T0.ButtonComponent(k).setTooltip("Send to Back").setIcon("arrow-down-to-line").onClick(()=>this.sendToBack()),this.textBackgroundControls=s.createDiv("text-background-controls"),this.textBackgroundControls.style.display="none",this.createTextBackgroundControls(this.textBackgroundControls),new T0.ButtonComponent(n).setTooltip("Clear All").setIcon("trash").onClick(()=>this.clearAll()),this.createBackgroundControls(n),new T0.ButtonComponent(n).setTooltip("Save (Ctrl/Cmd + S)").setIcon("checkmark").onClick(()=>this.saveAnnotation()).buttonEl.addClass("mod-cta"),this.registerHotkeys()}createSizeButtons(i){let e=i.createDiv("brush-controls-column").createDiv("size-buttons-container");e.createDiv("control-label").setText("Size:");let r=e.createDiv("image-converter-annotation-tool-button-group");this.brushSizes.forEach((i,e)=>{let t=new T0.ButtonComponent(r).setButtonText(i.toString()).onClick(()=>{this.currentBrushSizeIndex=e,this.canvas?.freeDrawingBrush&&(this.canvas.freeDrawingBrush.width=this.brushSizes[this.currentBrushSizeIndex]),r.querySelectorAll("button").forEach(i=>i.removeClass("is-active")),t.buttonEl.addClass("is-active")});e===this.currentBrushSizeIndex&&t.buttonEl.addClass("is-active")})}createOpacityButtons(i){let e=i.querySelector(".brush-controls-column");e||(e=i.createDiv("brush-controls-column"));let r=e.createDiv("opacity-buttons-container");r.createDiv("control-label").setText("Opacity:");let t=r.createDiv("image-converter-annotation-tool-button-group");this.brushOpacities.forEach((i,e)=>{let r=new T0.ButtonComponent(t).setButtonText(String(100*i)).onClick(()=>{if(this.currentOpacityIndex=e,this.updateBrushColor(),this.canvas){let e=this.canvas.getActiveObject();if(e){if("activeselection"===e.type){let r=e;r.getObjects().forEach(e=>{this.updateObjectOpacity(e,i)}),r.dirty=!0}else this.updateObjectOpacity(e,i);this.canvas.requestRenderAll()}}t.querySelectorAll("button").forEach(i=>i.removeClass("is-active")),r.buttonEl.addClass("is-active")});e===this.currentOpacityIndex&&r.buttonEl.addClass("is-active")})}updateObjectOpacity(i,e){if(i instanceof M0){let r=i.get("fill");r.startsWith("rgba")?i.set("fill",this.updateRgbaOpacity(r,e)):i.set("fill",this.hexToRgba(r,e))}else{let r=i.get("stroke");r.startsWith("rgba")?i.set("stroke",this.updateRgbaOpacity(r,e)):i.set("stroke",this.hexToRgba(r,e))}i.dirty=!0}updateRgbaOpacity(i,e){let r=i.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*[\d.]+)?\)/);if(r){let[,i,t,n]=r;return`rgba(${i}, ${t}, ${n}, ${e})`}return i}createBlendModeButtons(i){let e=i.createDiv("blend-modes-container");e.createDiv("control-label").setText("Blend:");let r=e.createDiv("dropdown-container"),t=new T0.DropdownComponent(r);this.blendModes.forEach(i=>{t.addOption(i,(i=>{switch(i){case"source-over":return"Normal";case"multiply":return"Multiply";case"screen":return"Screen";case"overlay":return"Overlay";case"darken":return"Darken";case"lighten":return"Lighten";case"color-dodge":return"Dodge";case"color-burn":return"Burn";case"hard-light":return"Hard Light";case"soft-light":return"Soft Light";case"difference":return"Difference";case"exclusion":return"Exclusion";default:return i}})(i))}),t.setValue(this.currentBlendMode),t.onChange(i=>{let e=i;if(this.currentBlendMode=e,this.canvas?.freeDrawingBrush&&(this.canvas.freeDrawingBrush.globalCompositeOperation=e),this.canvas){let i=this.canvas.getActiveObject();if(i){if("activeselection"===i.type){let r=i;r.getObjects().forEach(i=>{i instanceof hi||(i.globalCompositeOperation=e)}),r.dirty=!0}else i instanceof hi||(i.globalCompositeOperation=e);this.canvas.requestRenderAll()}}})}bringToFront(){if(!this.canvas)return;let i=this.canvas.getActiveObject();if(i){if("activeselection"===i.type){let e=i;e.getObjects().forEach(i=>{this.canvas?.bringObjectToFront(i)}),this.canvas.bringObjectToFront(e)}else this.canvas.bringObjectToFront(i);this.canvas.requestRenderAll(),this.saveState()}}bringForward(){if(!this.canvas)return;let i=this.canvas.getActiveObject();if(i){if("activeselection"===i.type){let e=i;e.getObjects().forEach(i=>{this.canvas?.bringObjectForward(i)}),this.canvas.bringObjectForward(e)}else this.canvas.bringObjectForward(i);this.canvas.requestRenderAll(),this.saveState()}}sendBackward(){if(!this.canvas)return;let i=this.canvas.getActiveObject();if(i){if("activeselection"===i.type){let e=i;e.getObjects().reverse().forEach(i=>{this.canvas?.sendObjectBackwards(i)}),this.canvas.sendObjectBackwards(e)}else this.canvas.sendObjectBackwards(i);this.canvas.requestRenderAll(),this.saveState()}}sendToBack(){if(!this.canvas)return;let i=this.canvas.getActiveObject();if(i){if("activeselection"===i.type){let e=i;e.getObjects().reverse().forEach(i=>{this.canvas?.sendObjectToBack(i),i!==e&&(this.canvas?.getObjects()||[]).indexOf(i)>1&&this.canvas?.moveObjectTo(i,1)}),this.canvas.sendObjectToBack(e)}else this.canvas.sendObjectToBack(i),this.canvas.getObjects().indexOf(i)>1&&this.canvas.moveObjectTo(i,1);this.canvas.requestRenderAll(),this.saveState()}}setupSelectionEvents(){if(!this.canvas)return;this.canvas.on("selection:created",i=>{let e=i;this.syncColorPickerWithSelection(e)}),this.canvas.on("selection:updated",i=>{let e=i;this.syncColorPickerWithSelection(e)});let i=this.modalEl.querySelector(".color-picker");i&&this.componentContainer.registerDomEvent(i,"input",i=>{let e=i.target.value;this.updateColorForSelectedObjects(e),this.updateBrushColor()})}deleteSelectedObjects(){if(!this.canvas)return;let i=this.canvas.getActiveObject();i&&(i instanceof M0&&i.isEditing||("activeselection"===i.type?(i.getObjects().forEach(i=>{i instanceof hi||this.canvas?.remove(i)}),this.canvas.discardActiveObject()):i instanceof hi||this.canvas.remove(i),this.canvas.requestRenderAll()))}initializeCanvasEventHandlers(){this.canvas&&(this.canvas.freeDrawingBrush=new tr(this.canvas),this.canvas.freeDrawingBrush.width=this.brushSizes[this.currentBrushSizeIndex],this.canvas.freeDrawingBrush.globalCompositeOperation=this.currentBlendMode,this.modalEl.querySelector(".color-picker")&&this.updateBrushColor(),this.canvas.on("path:created",i=>{this.isUndoRedoAction||(i.path&&(i.path.globalCompositeOperation=this.currentBlendMode,this.canvas?.requestRenderAll()),this.saveState())}),this.canvas.on("object:added",i=>{this.updateObjectInteractivity(),!(i.target instanceof hi||this.isUndoRedoAction)&&"path"!==i.target.type&&this.saveState()}),this.canvas.on("object:modified",i=>{i.target instanceof hi||this.isUndoRedoAction||this.saveState()}),this.canvas.on("object:removed",i=>{i.target instanceof hi||this.isUndoRedoAction||this.saveState()}),this.canvas.on("mouse:down",i=>{let{target:e}=i;e instanceof M0&&(this.updateDrawingModeUI(!1),this.isTextEditingBlocked=!1,e.selectable=!0,e.evented=!0)}),this.canvas.on("text:editing:entered",i=>{let e=i.target;e&&(this.isTextEditingBlocked=!1,this.updateDrawingModeUI(!1),e.selectable=!0,e.evented=!0)}),this.canvas.on("text:editing:exited",i=>{let e=i.target;e&&(this.isTextEditingBlocked=!1,e.selectable=!0,e.evented=!0)}),this.canvas.on("mouse:dblclick",i=>{if(!this.isTextMode||this.isDrawingMode||this.isTextEditingBlocked)return void console.debug("Blocked text creation - not in text mode or text editing blocked");let{target:e}=i;if(e instanceof M0)return this.isTextEditingBlocked=!1,e.enterEditing(),e.selectAll(),void this.canvas?.requestRenderAll();try{let e=this.canvas.getScenePoint(i.e),r=this.modalEl.querySelector(".color-picker"),t=r?r.value:"#ff0000";this.createAndAddText(t,e.x,e.y)}catch(i){console.error("Error creating text:",i),this.isTextEditingBlocked=!1}}),setInterval(()=>{let i=this.canvas?.getActiveObject();i instanceof M0&&!i.isEditing&&this.isTextEditingBlocked&&(console.debug("Resetting blocked text editing state"),this.isTextEditingBlocked=!1)},5e3))}preventDefaultHandlers(){let i=i=>{let e=i.target,r=this.canvas?.getActiveObject();return!!(r instanceof M0&&r.isEditing&&i instanceof KeyboardEvent)||("canvas"===e.tagName.toLowerCase()||null!==e.closest(".image-converter-annotation-tool-annotation-toolbar")||null!==e.closest(".image-converter-annotation-tool-color-picker-wrapper")||null!==e.closest(".modal-close-button")||e.hasClass("modal-close-button"))},e=e=>{i(e)||e.stopPropagation()},r=e=>{let r=this.canvas?.getActiveObject();if(!(r instanceof M0&&r.isEditing))return this.isHandledKey(e)?(e.preventDefault(),void e.stopPropagation()):void(i(e)||e.stopPropagation());(e.ctrlKey||e.metaKey)&&"s"===e.key.toLowerCase()&&(e.preventDefault(),e.stopPropagation())};this.componentContainer.registerDomEvent(this.modalEl,"mousedown",e,!0),this.componentContainer.registerDomEvent(this.modalEl,"mousemove",e,!0),this.componentContainer.registerDomEvent(this.modalEl,"mouseup",e,!0),this.componentContainer.registerDomEvent(this.modalEl,"click",e,!0),this.componentContainer.registerDomEvent(this.modalEl,"dblclick",e,!0),this.componentContainer.registerDomEvent(this.modalEl,"keydown",r,!0),this.componentContainer.registerDomEvent(this.modalEl,"keyup",r,!0)}isHandledKey(i){let e=this.canvas?.getActiveObject();return!(e instanceof M0&&e.isEditing)&&((i.ctrlKey||i.metaKey)&&("s"===i.key.toLowerCase()||"a"===i.key.toLowerCase())||"Escape"===i.key||!this.isTextEditing()&&("Delete"===i.key||"Backspace"===i.key||"b"===i.key.toLowerCase()||"t"===i.key.toLowerCase()||"a"===i.key.toLowerCase()))}isTextEditing(){let i=this.canvas?.getActiveObject();return!!(i instanceof M0&&i.isEditing)}syncColorPickerWithSelection(i){let e=this.modalEl.querySelector(".color-picker"),r=this.modalEl.querySelector(".background-color-picker"),t=this.modalEl.querySelector(".background-alpha-slider");if(!e||!r||!t||0===i.selected.length)return;let[n]=i.selected;if(n instanceof M0){let i=n.fill;i&&i!==e.value&&(e.value=this.rgbaToHex(i));let f=n.backgroundColor;if(f&&"transparent"!==f){let{hex:i,alpha:e}=this.rgbaToHexWithAlpha(f);i!==r.value&&(r.value=i);let n=Math.round(100*e).toString();n!==t.value&&(t.value=n)}}}updateColorForSelectedObjects(i){if(!this.canvas)return;let e=this.canvas.getActiveObject();if(!e)return;let r=this.brushOpacities[this.currentOpacityIndex];if(e instanceof qi){let t=e;t.forEachObject(e=>{e instanceof M0?e.set("fill",i):e.set("stroke",this.hexToRgba(i,r))}),t.dirty=!0}else e instanceof M0?e.set("fill",i):e.set("stroke",this.hexToRgba(i,r));this.canvas.requestRenderAll()}rgbaToHex(i){let e=i.match(/rgba?\((\d+), (\d+), (\d+)\)/);if(!e)return"#ff0000";let[,r,t,n]=e.map(Number);return`#${((1<<24)+(r<<16)+(t<<8)+n).toString(16).slice(1)}`}rgbaToHexWithAlpha(i){let e=i.match(/rgba\((\d+), (\d+), (\d+), ([0-9.]+)\)/);if(!e)return{hex:"#ffffff",alpha:1};let r=Number(e[1]),t=Number(e[2]),n=Number(e[3]),f=parseFloat(e[4]);return{hex:`#${((1<<24)+(r<<16)+(t<<8)+n).toString(16).slice(1)}`,alpha:f}}hexToRgba(i,e){let r=i.replace("#","");return`rgba(${parseInt(r.substring(0,2),16)}, ${parseInt(r.substring(2,4),16)}, ${parseInt(r.substring(4,6),16)}, ${e})`}async analyzeImageColors(i){let e=document.createElement("canvas"),r=e.getContext("2d");if(!r)return;e.width=i.width,e.height=i.height,r.drawImage(i,0,0);let t=r.getImageData(0,0,e.width,e.height).data,n=new Map;for(let i=0;i({color:i,count:e})).sort((i,e)=>e.count-i.count).slice(0,6).map(i=>i.color);this.dominantColors=f,this.complementaryColors=f.map(i=>this.getComplementaryColors(i)),this.createColorSwatches()}getLuminosity(i){let e=this.hexToRgb(i);return.299*e.red+.587*e.green+.114*e.blue}rgbToHex(i,e,r){return`#${[i,e,r].map(i=>i.toString(16).padStart(2,"0")).join("")}`}hexToRgb(i){let e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(i);return e?{red:parseInt(e[1],16),green:parseInt(e[2],16),blue:parseInt(e[3],16)}:{red:0,green:0,blue:0}}getComplementaryColors(i){let e=this.hexToRgb(i),r=this.rgbToHsl(e.red,e.green,e.blue);return[this.hslToString((r.hue+180)%360,r.saturation,r.lightness)]}rgbToHsl(i,e,r){let t=i/255,n=e/255,f=r/255,a=Math.max(t,n,f),o=Math.min(t,n,f),A=0,s=0,l=(a+o)/2;if(a!==o){let i=a-o;switch(s=l>.5?i/(2-a-o):i/(a+o),a){case t:A=(n-f)/i+(n{let t=r;return t<0&&(t+=1),t>1&&(t-=1),t<.16666666666666666?i+6*(e-i)*t:t<.5?e:t<.6666666666666666?i+(e-i)*(.6666666666666666-t)*6:i},e=o<.5?o*(1+a):o+a-o*a,A=2*o-e;r=i(A,e,f+1/3),t=i(A,e,f),n=i(A,e,f-1/3)}return{red:Math.round(255*r),green:Math.round(255*t),blue:Math.round(255*n)}}setupResizable(){this.resizeHandle=this.modalEl.createDiv("modal-resize-handle"),this.resizeHandle.innerHTML="⋮⋮",this.componentContainer.registerDomEvent(this.resizeHandle,"mousedown",this.startResize.bind(this)),this.componentContainer.registerDomEvent(document,"mousemove",this.resize.bind(this)),this.componentContainer.registerDomEvent(document,"mouseup",this.stopResize.bind(this)),this.modalEl.addClass("resizable-modal")}startResize(i){this.isResizing=!0,this.modalEl.addClass("is-resizing"),i.preventDefault()}resize(i){if(!this.isResizing||!this.canvas)return;let e=this.modalEl.getBoundingClientRect(),r=Math.max(this.minWidth,i.clientX-e.left),t=Math.max(this.minHeight,i.clientY-e.top);this.modalEl.style.width=`${r}px`,this.modalEl.style.height=`${t}px`;let n=this.modalEl.querySelector(".image-converter-annotation-tool-annotation-toolbar")?.offsetHeight??0;this.canvas.setDimensions({width:r-40,height:t-n-40});let f=this.canvas.getObjects()[0];if(f){let i=f.width??1,e=f.height??1,a=.8*Math.min((r-40)/i,(t-n-40)/e);f.set({scaleX:a,scaleY:a})}let a=this.canvas.width??0,o=this.canvas.height??0;this.canvas.getObjects().slice(1).forEach(i=>{let e=i.getBoundingRect();e.left<0&&i.set("left",0),e.top<0&&i.set("top",0),e.left+e.width>a&&i.set("left",Math.max(0,a-e.width)),e.top+e.height>o&&i.set("top",Math.max(0,o-e.height))}),this.canvas.requestRenderAll()}stopResize(){this.isResizing=!1,this.modalEl.removeClass("is-resizing")}setupZoomAndPan(){this.canvas&&(this.canvas.on("mouse:wheel",i=>{let e=i.e;e.preventDefault(),e.stopPropagation();let r=this.canvas.getScenePoint(e),t=e.deltaY,n=this.currentZoom*(t>0?.95:1.05);if(n=Math.min(Math.max(n,this.minZoom),this.maxZoom),n!==this.currentZoom){let i=this.canvas.getObjects()[0];i&&(i.objectCaching=!1),this.zoomToPoint(r,n),setTimeout(()=>{i&&(i.objectCaching=!0,this.canvas?.requestRenderAll())},100)}}),this.componentContainer.registerDomEvent(document,"keydown",this.boundKeyDownHandler),this.componentContainer.registerDomEvent(document,"keyup",this.boundKeyUpHandler),this.canvas.on("mouse:down",i=>{if(this.isSpacebarDown&&i.e){this.isPanning=!0,this.canvas.defaultCursor="grabbing";let e=i.e;this.lastPanPoint={x:e.clientX,y:e.clientY}}}),this.canvas.on("mouse:move",i=>{if(!this.isPanning||!this.lastPanPoint||!i.e)return;let e=i.e,r={x:e.clientX,y:e.clientY},t=r.x-this.lastPanPoint.x,n=r.y-this.lastPanPoint.y;this.canvas.relativePan(new K(t,n)),this.lastPanPoint=r}),this.canvas.on("mouse:up",()=>{this.isPanning&&(this.isPanning=!1,this.lastPanPoint=null,this.canvas.defaultCursor=this.isSpacebarDown?"grab":"default")}))}handleKeyDown(i){if("Space"===i.code){let e=this.canvas?.getActiveObject();if(e instanceof M0&&e.isEditing)return;if(!this.isSpacebarDown){i.preventDefault(),this.isSpacebarDown=!0,this.canvas.defaultCursor="grab";let e=this.isDrawingMode;this.isDrawingMode&&(this.canvas.isDrawingMode=!1),this._previousStates={drawingMode:e}}}(i.metaKey||i.ctrlKey)&&"z"===i.key.toLowerCase()&&(i.preventDefault(),i.stopPropagation(),i.shiftKey?this.redo():this.undo())}handleKeyUp(i){if("Space"===i.code){let e=this.canvas?.getActiveObject();if(e instanceof M0&&e.isEditing)return;i.preventDefault(),this.isSpacebarDown=!1,this.isPanning=!1,this.lastPanPoint=null,this.canvas.defaultCursor="default",this._previousStates?.drawingMode&&(this.canvas.isDrawingMode=!0,this.isDrawingMode=!0),this._previousStates=null}}zoomToPoint(i,e){if(!this.canvas)return;let r=e/this.currentZoom;this.currentZoom=e;let t=[...this.canvas.viewportTransform];if(!t)return;let n=i.x-t[4],f=i.y-t[5],a=[e,0,0,e,i.x-n*r,i.y-f*r];this.canvas.setViewportTransform(a),this.enforceViewportBounds();let o=this.canvas.getObjects()[0];o&&o.setCoords(),this.canvas.requestRenderAll(),setTimeout(()=>{this.canvas?.requestRenderAll()},50)}enforceViewportBounds(){if(!this.canvas)return;let i=this.canvas.viewportTransform;if(!i)return;let e=this.canvas.width??0,r=this.canvas.height??0,t=this.currentZoom,n=e*(1-t),f=r*(1-t);i[4]=Math.min(Math.max(i[4],n),0),i[5]=Math.min(Math.max(i[5],f),0),this.canvas.setViewportTransform(i)}resetZoom(){this.canvas&&(this.currentZoom=1,this.canvas.setViewportTransform([1,0,0,1,0,0]),this.canvas.requestRenderAll())}createBackgroundControls(i){let e=new T0.ButtonComponent(i).setTooltip("Background").setIcon("layout-template").onClick(i=>{i.stopPropagation(),this.toggleBackgroundDropdown(e.buttonEl)});this.backgroundDropdown=i.createDiv("background-dropdown"),this.backgroundDropdown.style.display="none",this.backgroundOptions.forEach(i=>{let e=this.backgroundDropdown.createDiv("background-option");switch(i){case"transparent":e.createDiv("option-icon").innerHTML='\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t';break;case"grid":e.createDiv("option-icon").innerHTML='\n\t\t\t\t\t\t\n\t\t\t\t\t';break;case"dots":e.createDiv("option-icon").innerHTML='\n\t\t\t\t\t\t\n\t\t\t\t\t';break;default:e.createDiv("color-preview").style.backgroundColor=i}this.componentContainer.registerDomEvent(e,"click",e=>{e.stopPropagation();let r=this.canvas?.getActiveObject();r instanceof M0&&r.isEditing||(this.setBackground(i),this.hideBackgroundDropdown())}),i===this.currentBackground&&e.addClass("is-active")}),this.componentContainer.registerDomEvent(document,"click",()=>{this.hideBackgroundDropdown()})}createBackgroundPattern(i){if("grid"===i||"dots"===i){let e=document.createElement("canvas"),r=e.getContext("2d");if(!r)return"transparent";switch(e.width=20,e.height=20,i){case"grid":return r.strokeStyle="#ddd",r.lineWidth=1,r.beginPath(),r.moveTo(0,0),r.lineTo(20,0),r.moveTo(0,0),r.lineTo(0,20),r.stroke(),new Je({source:e,repeat:"repeat"});case"dots":return r.fillStyle="#ddd",r.beginPath(),r.arc(10,10,1,0,2*Math.PI),r.fill(),new Je({source:e,repeat:"repeat"})}}return i}toggleBackgroundDropdown(i){if(this.backgroundDropdown)if("none"===this.backgroundDropdown.style.display){let e=i.getBoundingClientRect();this.backgroundDropdown.style.top=`${e.bottom+5}px`,this.backgroundDropdown.style.left=`${e.left}px`,this.backgroundDropdown.style.display="block"}else this.hideBackgroundDropdown()}hideBackgroundDropdown(){this.backgroundDropdown&&(this.backgroundDropdown.style.display="none")}setBackground(i){if(!this.canvas)return;let e=this.createBackgroundPattern(i);this.canvas.backgroundColor=e,this.canvas.requestRenderAll(),this.currentBackground=i;let r=this.modalEl.querySelectorAll(".background-controls .image-converter-annotation-tool-button-group button");r.forEach(i=>i.removeClass("is-active")),r[this.backgroundOptions.indexOf(i)]?.addClass("is-active")}initializeUndoRedo(){this.undoStack=[JSON.stringify([])],this.redoStack=[]}saveState(){if(!this.canvas||this.isUndoRedoAction)return;0===this.undoStack.length&&this.undoStack.push(JSON.stringify([]));let i=this.canvas.getObjects().slice(1),e=JSON.stringify(i.map(i=>i.toObject()));this.undoStack[this.undoStack.length-1]!==e&&(this.undoStack.push(e),this.redoStack=[])}async undo(){if(this.canvas&&!(this.undoStack.length<=1)){this.isUndoRedoAction=!0;try{let i=this.undoStack.pop();i&&this.redoStack.push(i);let e=this.undoStack[this.undoStack.length-1];if(this.canvas.getObjects().slice(1).forEach(i=>this.canvas.remove(i)),e){let i=JSON.parse(e);for(let e of i)(await L1.enlivenObjects([e])).forEach(i=>{i instanceof ci&&this.canvas.add(i)})}this.canvas.requestRenderAll()}catch(i){console.error("Error during undo:",i)}finally{this.isUndoRedoAction=!1}}}async redo(){if(this.canvas&&0!==this.redoStack.length){this.isUndoRedoAction=!0;try{let i=this.redoStack.pop();if(!i)return;let e=this.canvas.getObjects().slice(1),r=JSON.stringify(e.map(i=>i.toObject()));this.undoStack.push(r),this.canvas.getObjects().slice(1).forEach(i=>this.canvas.remove(i));let t=JSON.parse(i);for(let i of t)(await L1.enlivenObjects([i])).forEach(i=>{i instanceof ci&&this.canvas.add(i)});this.canvas.requestRenderAll()}catch(i){console.error("Error during redo:",i)}finally{this.isUndoRedoAction=!1}}}clearAll(){if(!this.canvas)return;new Qi(this.app,"Clear Annotations","Are you sure you want to clear all annotations?","Clear",()=>{this.canvas.getObjects().slice(1).forEach(i=>this.canvas.remove(i)),this.canvas.requestRenderAll(),this.saveState()}).open()}selectAll(){if(!this.canvas)return;let i=this.canvas.getObjects().slice(1);if(0===i.length)return;let e=this.isDrawingMode,r=this.isTextMode;if(e&&this.updateDrawingModeUI(!1),r&&this.toggleTextMode(),1===i.length)this.canvas.setActiveObject(i[0]);else{let e=new qi(i,{canvas:this.canvas});this.canvas.setActiveObject(e)}this.canvas.requestRenderAll(),e&&this.updateDrawingModeUI(!0),r&&this.toggleTextMode()}async saveAnnotation(){if(this.canvas)try{let i=this.canvas.preserveObjectStacking;this.canvas.preserveObjectStacking=!1;let e=ga.getType(this.file.name)||`image/${this.file.extension}`;if(!e)throw new Error("Unable to determine file type");let r="png";"image/jpeg"===e||"image/jpg"===e?r="jpeg":"image/png"===e?r="png":"image/webp"===e?r="webp":"image/avif"===e&&(r="avif");let t=this.canvas.getObjects();if(0===t.length)return;let n=t.find(i=>i instanceof hi);if(!n)return;this.canvas.renderAll(),await new Promise(i=>setTimeout(i,100));let f=n.width??0,a=n.height??0,o={x:n.scaleX??1,y:n.scaleY??1},A=f*o.x,s=a*o.y,l=n.left??0,k=n.top??0,h=l+A,u=k+s,c=l,d=k,b=h,p=u,g=t.filter(i=>i!==n);g.length>0&&g.forEach(i=>{if(!i.visible)return;let e=i.getBoundingRect();isFinite(e.left)&&(c=Math.min(c,e.left)),isFinite(e.top)&&(d=Math.min(d,e.top)),isFinite(e.width)&&(b=Math.max(b,e.left+e.width)),isFinite(e.height)&&(p=Math.max(p,e.top+e.height))}),c=Math.min(c,l),d=Math.min(d,k),b=Math.max(b,h),p=Math.max(p,u);let m=b-c,v=p-d;if(m<=0||v<=0)throw new Error("Invalid export dimensions");let w=Math.max(f/A,a/s),_=[...this.canvas.viewportTransform];this.canvas.setViewportTransform([1,0,0,1,0,0]),this.canvas.setZoom(1),t.forEach(i=>{i.setCoords(),i.visible=!0}),this.canvas.renderAll(),await new Promise(i=>setTimeout(i,100));let y=null;try{let i=this.canvas.toCanvasElement(w),r=document.createElement("canvas");r.width=m*w,r.height=v*w;let t=r.getContext("2d");t&&(t.drawImage(i,c*w,d*w,m*w,v*w,0,0,r.width,r.height),y=await new Promise((i,t)=>{r.toBlob(e=>{e?e.arrayBuffer().then(i).catch(t):t(new Error("Blob creation failed"))},e,1)}))}catch(i){console.log("toCanvasElement method failed, trying alternative...",i)}if(!y)try{let i=this.canvas.toDataURL({format:r,quality:1,multiplier:w,left:c,top:d,width:m,height:v,enableRetinaScaling:!0});if(!i||"data:,"===i)throw new Error("Invalid data URL");y=NA(i)}catch(i){console.log("toDataURL method failed, trying alternative...",i)}if(!y){new T0.Notice("6");try{let i=this.canvas.getElement(),r=document.createElement("canvas");r.width=m*w,r.height=v*w;let t=r.getContext("2d");new T0.Notice("7"),t&&(new T0.Notice("8"),t.drawImage(i,c,d,m,v,0,0,r.width,r.height),y=await(await new Promise((i,t)=>{r.toBlob(e=>{e?i(e):t(new Error("Blob creation failed"))},e,1)})).arrayBuffer())}catch(i){console.log("Native canvas fallback failed",i)}}if(!y)throw new Error("All export methods failed");if(this.canvas.setViewportTransform(_),this.canvas.renderAll(),await this.app.vault.modifyBinary(this.file,y),new T0.Notice("Image saved successfully"),!this.app.workspace.getActiveViewOfType(T0.MarkdownView))return;let C=this.app.workspace.getMostRecentLeaf();if(C){let i=C.getViewState();await C.setViewState({type:"empty",state:{}}),await C.setViewState(i)}this.canvas.preserveObjectStacking=i,this.canvas.requestRenderAll(),this.close()}catch(i){console.error("Save error:",i),new T0.Notice("Error saving image")}}cleanup(){this.canvas&&(this.canvas.off(),this.canvas.dispose()),this.componentContainer.unload(),this.isTextEditingBlocked=!1,this.isDrawingMode=!1,this.isTextMode=!1,this._previousStates=null,this.drawButton&&this.drawButton.buttonEl.removeClass("is-active"),this.textButton&&this.textButton.buttonEl.removeClass("is-active"),this.canvas&&this.resetZoom(),this.isPanning=!1,this.isSpacebarDown=!1,this.lastPanPoint=null,this.canvas&&(this.canvas.defaultCursor="default"),this.undoStack=[],this.redoStack=[],this.isUndoRedoAction=!1,this.isArrowMode=!1,this.arrowButton&&this.arrowButton.buttonEl.removeClass("is-active")}onClose(){let{contentEl:i}=this;i.empty(),this.cleanup(),this.componentContainer.registerDomEvent(document,"mousemove",this.resize.bind(this)),this.componentContainer.registerDomEvent(document,"mouseup",this.stopResize.bind(this)),this.componentContainer.unload(),super.onClose()}},$1=class extends tr{points=[];minDistance=3;currentPath=null;currentArrowHead=null;constructor(i){super(i),this.width||(this.width=8)}onMouseDown(i,e){this.points=[i],this.currentPath=null,this.currentArrowHead=null}onMouseMove(i,e){if(!this.points.length)return;let r=this.points[this.points.length-1];Math.sqrt(Math.pow(i.x-r.x,2)+Math.pow(i.y-r.y,2))>=this.minDistance&&(this.points.push(i),this.currentPath&&this.canvas.remove(this.currentPath),this.currentArrowHead&&this.canvas.remove(this.currentArrowHead),this.currentPath=this.createSmoothedPath(),this.currentArrowHead=this.createArrowHead(),this.currentPath&&this.canvas.add(this.currentPath),this.currentArrowHead&&this.canvas.add(this.currentArrowHead),this.canvas.requestRenderAll())}onMouseUp({e:i}){if(this.points.length>=2){this.currentPath&&this.canvas.remove(this.currentPath),this.currentArrowHead&&this.canvas.remove(this.currentArrowHead);let i=this.createSmoothedPath(),e=this.createArrowHead();i&&this.canvas.add(i),e&&this.canvas.add(e),this.canvas.requestRenderAll()}return this.points=[],this.currentPath=null,this.currentArrowHead=null,!1}createSmoothedPath(){if(this.points.length<2)return null;try{let i=this.simplifyPoints(this.points,50),e=this.getControlPoints(i),r=`M ${i[0].x} ${i[0].y}`;for(let i=0;ie&&(r.push(f),t=f)}return r.push(i[i.length-1]),r}getControlPoints(i){let e=[];for(let r=0;r{if(i.target===this.originalImage){this.isDrawing=!0;let e=this.cropContainer.getBoundingClientRect();this.startX=i.clientX-e.left,this.startY=i.clientY-e.top,this.selectionArea.style.display="block",this.selectionArea.style.left=`${this.startX}px`,this.selectionArea.style.top=`${this.startY}px`,this.selectionArea.style.width="0",this.selectionArea.style.height="0"}}),this.componentContainer.registerDomEvent(this.cropContainer,"mousemove",i=>{if(!this.isDrawing)return;let e=this.cropContainer.getBoundingClientRect(),r=i.clientX-e.left,t=i.clientY-e.top;this.updateSelectionSize(r,t)}),this.componentContainer.registerDomEvent(this.cropContainer,"mouseup",i=>{this.isDrawing=!1,this.makeSelectionMovable()}),this.componentContainer.registerDomEvent(this.cropContainer,"mouseleave",i=>{this.isDrawing=!1})}async onOpen(){let{contentEl:i}=this;i.empty();let e=i.createDiv("crop-modal-wrapper"),r=e.createDiv("crop-modal-header");r.createEl("h2",{text:"Crop image"});let t=e.createDiv("crop-modal-content");this.cropContainer=t.createDiv("crop-container"),this.selectionArea=this.cropContainer.createDiv("selection-area"),this.selectionArea.style.display="none";let n=e.createDiv("crop-modal-buttons"),f=n.createEl("button",{text:"Save"}),a=n.createEl("button",{text:"Cancel"}),o=n.createEl("button",{text:"Reset"}),A=r.createDiv("aspect-ratio-controls");this.createTransformControls(A),A.createEl("span",{text:" "});let s=A.createDiv("ratio-buttons-container");[{name:"free",ratio:null,label:"Free"},{name:"square",ratio:1,label:"1:1"},{name:"16:9",ratio:16/9,label:"16:9"},{name:"4:3",ratio:4/3,label:"4:3"}].forEach(({name:i,ratio:e,label:r})=>{let t=s.createEl("button",{text:r,cls:"aspect-ratio-button"});this.componentContainer.registerDomEvent(t,"click",()=>{A.querySelectorAll(".aspect-ratio-button").forEach(i=>i.removeClass("active")),t.addClass("active"),null!==e&&(k.value="",h.value=""),this.currentAspectRatio=e,"none"!==this.selectionArea.style.display&&this.adjustSelectionToAspectRatio()}),"free"===i&&t.addClass("active")});let l=A.createDiv("custom-ratio-container"),k=l.createEl("input",{type:"number",placeholder:"W",cls:"custom-ratio-input"});l.createEl("span",{text:":"});let h=l.createEl("input",{type:"number",placeholder:"H",cls:"custom-ratio-input"}),u=()=>{let i=parseFloat(k.value),e=parseFloat(h.value);i>0&&e>0&&(A.querySelectorAll(".aspect-ratio-button").forEach(i=>i.removeClass("active")),this.currentAspectRatio=i/e,"none"!==this.selectionArea.style.display&&this.adjustSelectionToAspectRatio())};this.componentContainer.registerDomEvent(k,"input",u),this.componentContainer.registerDomEvent(h,"input",u),this.createImageControls(r);try{await this.loadImage(),this.setupEventListeners(),this.componentContainer.registerDomEvent(f,"click",()=>this.saveImage()),this.componentContainer.registerDomEvent(a,"click",()=>this.close()),this.componentContainer.registerDomEvent(o,"click",()=>this.resetSelection()),this.componentContainer.registerDomEvent(document,"keydown",i=>{"Escape"===i.key&&(this.resetSelection(),i.stopPropagation())})}catch(i){new i2.Notice("Error loading image for cropping"),console.error("Crop modal error:",i),this.close()}}async loadImage(){this.originalArrayBuffer=await this.app.vault.readBinary(this.imageFile);let i=new Blob([this.originalArrayBuffer]),e=URL.createObjectURL(i);return this.originalImage=document.createElement("img"),this.originalImage.className="crop-original-image",new Promise((i,r)=>{this.originalImage.onload=()=>{this.adjustModalSize(),this.imageScale.x=this.originalImage.naturalWidth/this.originalImage.clientWidth,this.imageScale.y=this.originalImage.naturalHeight/this.originalImage.clientHeight,this.cropContainer.appendChild(this.originalImage),i()},this.originalImage.onerror=r,this.originalImage.src=e})}adjustModalSize(){if(!this.originalImage)return;let i=this.containerEl.querySelector(".modal");if(!i)return;let e,r,t=window.innerWidth<=768,n=this.originalImage.naturalWidth/this.originalImage.naturalHeight;if(t)e=window.innerWidth-2*this.MODAL_PADDING,r=Math.min(window.innerHeight-2*this.MODAL_PADDING,e/n+this.CHROME_HEIGHT);else{e=window.innerWidth*this.STATIC_DESKTOP_WIDTH_RATIO,r=window.innerHeight*this.STATIC_DESKTOP_HEIGHT_RATIO;let i=r-this.CHROME_HEIGHT;n>e/i?r=e/n+this.CHROME_HEIGHT:e=i*n}e=Math.max(this.MIN_WIDTH,e),r=Math.max(this.MIN_HEIGHT,r),i.style.width=`${e}px`,i.style.height=`${r}px`,i.style.top="50%",i.style.left="50%",i.style.transform="translate(-50%, -50%)"}createTransformControls(i){let e=i.createDiv({cls:"transform-controls"}),r=e.createDiv({cls:"rotate-container"}),t=r.createEl("button",{cls:"transform-button",text:"↺",attr:{title:"90° Counter Clockwise"}}),n=r.createEl("button",{cls:"transform-button",text:"↻",attr:{title:"90° Clockwise"}}),f=e.createDiv({cls:"flip-container"}),a=f.createEl("button",{cls:"transform-button",text:"↔",attr:{title:"Flip Horizontally"}}),o=f.createEl("button",{cls:"transform-button",text:"↕",attr:{title:"Flip Vertically"}});this.componentContainer.registerDomEvent(t,"click",()=>this.rotate(-90)),this.componentContainer.registerDomEvent(n,"click",()=>this.rotate(90)),this.componentContainer.registerDomEvent(a,"click",()=>this.flip("horizontal")),this.componentContainer.registerDomEvent(o,"click",()=>this.flip("vertical"))}rotate(i){this.currentRotation=(this.currentRotation+i)%360,this.applyTransforms()}flip(i){"horizontal"===i?this.isFlippedX=!this.isFlippedX:this.isFlippedY=!this.isFlippedY,this.applyTransforms()}createImageControls(i){let e=i.createDiv({cls:"image-controls"}),r=e.createDiv({cls:"control-group rotation-controls"});r.createEl("span",{text:"Rotation: ",cls:"control-label"});let t=r.createEl("span",{text:"0°",cls:"rotation-value"}),n=r.createEl("input",{type:"range",cls:"slider rotation-slider",attr:{min:"0",max:"360",value:"0"}}),f=e.createDiv({cls:"control-group zoom-controls"});f.createEl("span",{text:"Zoom: ",cls:"control-label"});let a=f.createEl("span",{text:"100%",cls:"zoom-value"}),o=f.createEl("input",{type:"range",cls:"slider zoom-slider",attr:{min:String(100*this.MIN_ZOOM),max:String(100*this.MAX_ZOOM),value:"100"}});this.componentContainer.registerDomEvent(n,"input",i=>{let e=parseInt(i.target.value);this.currentRotation=e,t.textContent=`${e}°`,this.applyTransforms()}),this.componentContainer.registerDomEvent(o,"input",i=>{let e=parseInt(i.target.value);this.zoom=e/100,a.textContent=`${e}%`,this.applyTransforms()}),this.cropContainer&&this.componentContainer.registerDomEvent(this.cropContainer,"wheel",i=>{i.preventDefault();let e=-Math.sign(i.deltaY)*this.ZOOM_STEP,r=Math.max(this.MIN_ZOOM,Math.min(this.MAX_ZOOM,this.zoom+e));r!==this.zoom&&(this.zoom=r,o.value=String(100*this.zoom),a.textContent=`${Math.round(100*this.zoom)}%`,this.applyTransforms())})}applyTransforms(){let i=[];1!==this.zoom&&i.push(`scale(${this.zoom})`),0!==this.currentRotation&&i.push(`rotate(${this.currentRotation}deg)`),this.isFlippedX&&i.push("scaleX(-1)"),this.isFlippedY&&i.push("scaleY(-1)"),this.originalImage.style.transform=i.join(" "),(90===Math.abs(this.currentRotation)||270===Math.abs(this.currentRotation)||1!==this.zoom)&&this.adjustModalSize()}makeSelectionMovable(){this.addResizeHandles(),this.setupResizeHandlers();let i=!1,e=0,r=0,t=0,n=0;this.componentContainer.registerDomEvent(this.selectionArea,"mousedown",f=>{f.stopPropagation(),i=!0,t=parseInt(this.selectionArea.style.left)||0,n=parseInt(this.selectionArea.style.top)||0,e=f.clientX,r=f.clientY,this.selectionArea.style.cursor="move"}),this.componentContainer.registerDomEvent(document,"mousemove",f=>{if(!i)return;let a=f.clientX-e,o=f.clientY-r,A=t+a,s=n+o,l=this.cropContainer.getBoundingClientRect(),k=this.selectionArea.getBoundingClientRect();A=Math.max(0,Math.min(A,l.width-k.width)),s=Math.max(0,Math.min(s,l.height-k.height)),this.selectionArea.style.left=`${A}px`,this.selectionArea.style.top=`${s}px`}),this.componentContainer.registerDomEvent(document,"mouseup",e=>{i=!1,this.selectionArea.style.cursor="move"})}updateSelectionSize(i,e){let r=i-this.startX,t=e-this.startY;if(this.currentAspectRatio){let i=Math.abs(r),e=Math.abs(t);i/e>this.currentAspectRatio?r=Math.sign(r)*e*this.currentAspectRatio:t=Math.sign(t)*i/this.currentAspectRatio}r<0?(this.selectionArea.style.left=`${this.startX+r}px`,this.selectionArea.style.width=`${Math.abs(r)}px`):(this.selectionArea.style.left=`${this.startX}px`,this.selectionArea.style.width=`${r}px`),t<0?(this.selectionArea.style.top=`${this.startY+t}px`,this.selectionArea.style.height=`${Math.abs(t)}px`):(this.selectionArea.style.top=`${this.startY}px`,this.selectionArea.style.height=`${t}px`)}adjustSelectionToAspectRatio(){if(!this.currentAspectRatio)return;let i=parseInt(this.selectionArea.style.width),e=parseInt(this.selectionArea.style.height);if(i/e>this.currentAspectRatio){let i=e*this.currentAspectRatio;this.selectionArea.style.width=`${i}px`}else{let e=i/this.currentAspectRatio;this.selectionArea.style.height=`${e}px`}}addResizeHandles(){["nw","n","ne","w","e","sw","s","se"].forEach(i=>{let e=document.createElement("div");e.className=`resize-handle ${i}-resize`,this.selectionArea.appendChild(e)})}setupResizeHandlers(){let i=!1,e=null,r=0,t=0,n=0,f=0,a=0,o=0;this.selectionArea.querySelectorAll(".resize-handle").forEach(A=>{this.componentContainer.registerDomEvent(A,"mousedown",s=>{s.stopPropagation(),i=!0;let[,l]=A.className.split(" ");[e]=l.split("-"),r=s.clientX,t=s.clientY,n=this.selectionArea.offsetWidth,f=this.selectionArea.offsetHeight,a=this.selectionArea.offsetLeft,o=this.selectionArea.offsetTop})}),this.componentContainer.registerDomEvent(document,"mousemove",A=>{if(!i)return;let s=A.clientX-r,l=A.clientY-t,k=n,h=f,u=a,c=o;switch(e){case"se":k=n+s,h=this.currentAspectRatio?k/this.currentAspectRatio:f+l;break;case"sw":k=n-s,h=this.currentAspectRatio?k/this.currentAspectRatio:f+l,u=a+s;break;case"ne":k=n+s,h=this.currentAspectRatio?k/this.currentAspectRatio:f-l,c=o+(f-h);break;case"nw":k=n-s,h=this.currentAspectRatio?k/this.currentAspectRatio:f-l,u=a+s,c=o+(f-h);break;case"n":h=f-l,this.currentAspectRatio&&(k=h*this.currentAspectRatio,u=a+(n-k)/2),c=o+l;break;case"s":h=f+l,this.currentAspectRatio&&(k=h*this.currentAspectRatio,u=a+(n-k)/2);break;case"e":k=n+s,this.currentAspectRatio&&(h=k/this.currentAspectRatio,c=o+(f-h)/2);break;case"w":k=n-s,this.currentAspectRatio&&(h=k/this.currentAspectRatio,c=o+(f-h)/2),u=a+s}let d=this.cropContainer.getBoundingClientRect();k=Math.max(20,Math.min(k,d.width-u)),h=Math.max(20,Math.min(h,d.height-c)),u=Math.max(0,Math.min(u,d.width-k)),c=Math.max(0,Math.min(c,d.height-h)),this.selectionArea.style.width=`${k}px`,this.selectionArea.style.height=`${h}px`,this.selectionArea.style.left=`${u}px`,this.selectionArea.style.top=`${c}px`}),this.componentContainer.registerDomEvent(document,"mouseup",r=>{i=!1,e=null})}resetSelection(){this.selectionArea.style.display="none",this.selectionArea.style.width="0",this.selectionArea.style.height="0"}async saveImage(){try{let i=document.createElement("canvas"),e=i.getContext("2d");if(!e)throw new Error("Could not get canvas context");i.width=this.originalImage.naturalWidth,i.height=this.originalImage.naturalHeight,e.drawImage(this.originalImage,0,0);let r=document.createElement("canvas"),t=r.getContext("2d");if(!t)throw new Error("Could not get canvas context for rotation");r.width=90===Math.abs(this.currentRotation)||270===Math.abs(this.currentRotation)?i.height:i.width,r.height=90===Math.abs(this.currentRotation)||270===Math.abs(this.currentRotation)?i.width:i.height,t.translate(r.width/2,r.height/2),t.rotate(this.currentRotation*Math.PI/180),t.scale(this.isFlippedX?-1:1,this.isFlippedY?-1:1),t.drawImage(i,-i.width/2,-i.height/2);let n=document.createElement("canvas"),f=n.getContext("2d");if(!f)throw new Error("Could not get canvas context for cropping");if("none"!==this.selectionArea.style.display&&this.selectionArea.offsetWidth){let e=this.selectionArea.getBoundingClientRect(),t=this.originalImage.getBoundingClientRect(),a=(e.left-t.left)*(this.originalImage.naturalWidth/t.width),o=(e.top-t.top)*(this.originalImage.naturalHeight/t.height),A=e.width*(this.originalImage.naturalWidth/t.width),s=e.height*(this.originalImage.naturalHeight/t.height),l=this.currentRotation*Math.PI/180,k=[{x:a,y:o},{x:a+A,y:o},{x:a,y:o+s},{x:a+A,y:o+s}].map(e=>{let t=e.x-i.width/2,n=e.y-i.height/2,f=t*Math.cos(l)-n*Math.sin(l),a=t*Math.sin(l)+n*Math.cos(l);return{x:f+r.width/2,y:a+r.height/2}}),h=Math.min(...k.map(i=>i.x)),u=Math.max(...k.map(i=>i.x)),c=Math.min(...k.map(i=>i.y)),d=Math.max(...k.map(i=>i.y)),b=h,p=c,g=u-h,m=d-c;n.width=Math.round(g),n.height=Math.round(m),f.drawImage(r,Math.round(b),Math.round(p),Math.round(g),Math.round(m),0,0,Math.round(g),Math.round(m))}else n.width=r.width,n.height=r.height,f.drawImage(r,0,0);let a=this.imageFile.extension.toLowerCase(),o="png",A=1;switch(a){case"jpg":case"jpeg":o="jpeg",A=.92;break;case"webp":o="webp",A=.92;break;case"avif":o="avif",A=.85;break;case"png":o="png"}let s=await new Promise((i,e)=>{n.toBlob(r=>{r?i(r):e(new Error("Failed to create blob from canvas"))},`image/${o}`,A)});if(!s)throw new Error("Failed to create image blob");let l=await s.arrayBuffer();if(!l)throw new Error("Failed to create array buffer from blob");await this.app.vault.modifyBinary(this.imageFile,l),new i2.Notice("Image saved successfully");let k=this.app.workspace.getMostRecentLeaf();if(k){let i=k.getViewState();await k.setViewState({type:"empty",state:{}}),await k.setViewState(i)}this.close()}catch(i){console.error("Save error:",i),new i2.Notice(`Error saving image: ${i.message}`)}}onClose(){this.originalImage?.src&&URL.revokeObjectURL(this.originalImage.src),this.containerEl.querySelectorAll("canvas").forEach(i=>{let e=i.getContext("2d");e&&e.clearRect(0,0,i.width,i.height),i.width=0,i.height=0}),this.originalArrayBuffer=null,this.componentContainer.unload(),this.contentEl.empty()}},H0=require("obsidian"),lr=class extends H0.Modal{constructor(i,e,r){super(i),this.plugin=e,this.imageFile=r,this.loadModalSettings(),this.titleEl.setText(`Process Image: ${r.name}`)}imageFile;modalSettings;previewImageUrl=null;previewContainer;conversionSettingsContainer;resizeSettingsContainer;buttonContainer;loadModalSettings(){let i=this.plugin.settings.singleImageModalSettings;if(i)this.modalSettings={...i};else{let i=this.plugin.settings.conversionPresets.find(i=>"AVIF"===i.outputFormat),e=this.plugin.settings.conversionPresets.find(i=>"PNGQUANT"===i.outputFormat);this.modalSettings={conversionPresetName:this.plugin.settings.selectedConversionPreset,outputFormat:this.plugin.settings.outputFormat,quality:this.plugin.settings.quality,colorDepth:this.plugin.settings.colorDepth,resizeMode:this.plugin.settings.resizeMode,desiredWidth:this.plugin.settings.desiredWidth,desiredHeight:this.plugin.settings.desiredHeight,desiredLongestEdge:this.plugin.settings.desiredLongestEdge,enlargeOrReduce:this.plugin.settings.enlargeOrReduce,allowLargerFiles:this.plugin.settings.allowLargerFiles,pngquantExecutablePath:e?.pngquantExecutablePath||"",pngquantQuality:e?.pngquantQuality||"",ffmpegExecutablePath:i?.ffmpegExecutablePath||"",ffmpegCrf:void 0!==i?.ffmpegCrf?i.ffmpegCrf:void 0!==this.plugin.settings.ffmpegCrf?this.plugin.settings.ffmpegCrf:23,ffmpegPreset:i?.ffmpegPreset||this.plugin.settings.ffmpegPreset||"medium"}}}saveModalSettings(){this.plugin.settings.singleImageModalSettings={...this.modalSettings},this.plugin.saveSettings()}async onOpen(){this.contentEl.empty(),this.contentEl.addClass("process-single-image-modal"),this.previewContainer=this.contentEl.createDiv("preview-image-container"),this.previewContainer.setCssStyles({border:"1px solid #ccc",padding:"10px",margin:"1em 0",textAlign:"center",maxHeight:"400px",overflowY:"auto",overflowX:"hidden"}),this.conversionSettingsContainer=this.contentEl.createDiv("conversion-settings-container"),this.resizeSettingsContainer=this.contentEl.createDiv("resize-settings-container"),this.buttonContainer=this.contentEl.createDiv("process-single-image-modal-buttons");let i=window.innerWidth,e=Math.min(.9*i,800);this.modalEl.setCssStyles({width:`${e}px`}),this.renderSettings(),await this.generatePreview(),this.renderActionButtons()}renderSettings(){this.renderConversionSettings(),this.renderResizeSettings()}renderConversionSettings(){this.conversionSettingsContainer.empty();let i=this.plugin.getPresetByName(this.modalSettings.conversionPresetName,this.plugin.settings.conversionPresets,"Conversion");new H0.Setting(this.conversionSettingsContainer).setName("Output Format").addDropdown(i=>{Object.entries({WEBP:"WEBP",JPEG:"JPEG",PNG:"PNG",ORIGINAL:"Original (Compress)",NONE:"None (No Conversion)",PNGQUANT:"pngquant (PNG Only)",AVIF:"AVIF (via ffmpeg)"}).forEach(([e,r])=>{i.addOption(e,r)}),i.setValue(this.modalSettings.outputFormat),i.onChange(async i=>{let e=this.modalSettings.pngquantExecutablePath,r=this.modalSettings.ffmpegExecutablePath;this.modalSettings.outputFormat=i,this.modalSettings.pngquantExecutablePath=e,this.modalSettings.ffmpegExecutablePath=r,this.renderConversionSettings(),await this.generatePreview()})}),["WEBP","JPEG","ORIGINAL"].includes(this.modalSettings.outputFormat)&&new H0.Setting(this.conversionSettingsContainer).setName("Quality").addSlider(i=>{i.setLimits(1,100,1).setValue(this.modalSettings.quality).setDynamicTooltip().onChange(async i=>{this.modalSettings.quality=i,await this.generatePreview()})}),"PNG"===this.modalSettings.outputFormat&&new H0.Setting(this.conversionSettingsContainer).setName("Color depth").addSlider(i=>{i.setLimits(0,1,.1).setValue(this.modalSettings.colorDepth).setDynamicTooltip().onChange(async i=>{this.modalSettings.colorDepth=i,await this.generatePreview()})}),"PNGQUANT"===this.modalSettings.outputFormat&&(new H0.Setting(this.conversionSettingsContainer).setName("pngquant executable path 🛈").setTooltip("Provide full-path to the binary file. It can be inside vault or anywhere in your file system.").addText(e=>{this.plugin.settings.conversionPresets.find(i=>"PNGQUANT"===i.outputFormat),e.setValue(this.modalSettings.pngquantExecutablePath).onChange(async e=>{i&&(i.pngquantExecutablePath=e),this.modalSettings.pngquantExecutablePath=e}),e.inputEl.setAttr("spellcheck","false")}),new H0.Setting(this.conversionSettingsContainer).setName("Quality min-max range 🛈").setTooltip("Instructs pngquant to use the least amount of colors required to meet or exceed the max quality. min and max are numbers in range 0 (worst) to 100 (perfect).").addText(i=>{i.setValue(this.modalSettings.pngquantQuality).onChange(async i=>{this.modalSettings.pngquantQuality=i}),i.inputEl.setAttr("spellcheck","false")})),"AVIF"===this.modalSettings.outputFormat&&(new H0.Setting(this.conversionSettingsContainer).setName("FFmpeg executable path 🛈").setTooltip("Provide full-path to the binary file. It can be inside vault or anywhere in your file system.").addText(e=>{this.plugin.settings.conversionPresets.find(i=>"AVIF"===i.outputFormat),e.setValue(this.modalSettings.ffmpegExecutablePath).onChange(async e=>{i&&(i.ffmpegExecutablePath=e),this.modalSettings.ffmpegExecutablePath=e}),e.inputEl.setAttr("spellcheck","false")}),new H0.Setting(this.conversionSettingsContainer).setName("FFmpeg CRF").setDesc("Lower values mean better quality (larger file size). 0 is lossless.").addSlider(i=>{i.setLimits(0,63,1).setValue(this.modalSettings.ffmpegCrf).setDynamicTooltip().onChange(async i=>{this.modalSettings.ffmpegCrf=i})}),new H0.Setting(this.conversionSettingsContainer).setName("FFmpeg Preset").addDropdown(i=>{i.addOptions({ultrafast:"ultrafast",superfast:"superfast",veryfast:"veryfast",faster:"faster",fast:"fast",medium:"medium",slow:"slow",slower:"slower",veryslow:"veryslow",placebo:"placebo"}),i.setValue(this.modalSettings.ffmpegPreset),i.onChange(async i=>{this.modalSettings.ffmpegPreset=i})}))}renderResizeSettings(){this.resizeSettingsContainer.empty(),new H0.Setting(this.resizeSettingsContainer).setName("Resize Mode").addDropdown(i=>{Object.entries({None:"None",Fit:"Fit",Fill:"Fill",LongestEdge:"Longest Edge",ShortestEdge:"Shortest Edge",Width:"Width",Height:"Height"}).forEach(([e,r])=>{i.addOption(e,r)}),i.setValue(this.modalSettings.resizeMode).onChange(async i=>{this.modalSettings.resizeMode=i,this.renderResizeSettings(),await this.generatePreview()})}),["Fit","Fill","Width","Height","LongestEdge","ShortestEdge"].includes(this.modalSettings.resizeMode)&&(["Fit","Fill","Width"].includes(this.modalSettings.resizeMode)&&new H0.Setting(this.resizeSettingsContainer).setName("Desired Width").addText(i=>{i.setValue(this.modalSettings.desiredWidth.toString()).onChange(async i=>{this.modalSettings.desiredWidth=parseInt(i,10)||0,["PNGQUANT","AVIF"].includes(this.modalSettings.outputFormat)||await this.generatePreview()}),i.inputEl.setAttr("spellcheck","false")}),["Fit","Fill","Height"].includes(this.modalSettings.resizeMode)&&new H0.Setting(this.resizeSettingsContainer).setName("Desired Height").addText(i=>{i.setValue(this.modalSettings.desiredHeight.toString()).onChange(async i=>{this.modalSettings.desiredHeight=parseInt(i,10)||0,["PNGQUANT","AVIF"].includes(this.modalSettings.outputFormat)||await this.generatePreview()}),i.inputEl.setAttr("spellcheck","false")}),["LongestEdge","ShortestEdge"].includes(this.modalSettings.resizeMode)&&new H0.Setting(this.resizeSettingsContainer).setName("LongestEdge"===this.modalSettings.resizeMode?"Desired Longest Edge":"Desired Shortest Edge").addText(i=>{i.setValue(this.modalSettings.desiredLongestEdge.toString()).onChange(async i=>{this.modalSettings.desiredLongestEdge=parseInt(i,10)||0,["PNGQUANT","AVIF"].includes(this.modalSettings.outputFormat)||await this.generatePreview()}),i.inputEl.setAttr("spellcheck","false")}),new H0.Setting(this.resizeSettingsContainer).setName("Enlarge/Reduce").addDropdown(i=>{Object.entries({Auto:"Auto",Reduce:"Only Reduce",Enlarge:"Only Enlarge"}).forEach(([e,r])=>{i.addOption(e,r)}),i.setValue(this.modalSettings.enlargeOrReduce).onChange(async i=>{this.modalSettings.enlargeOrReduce=i,["PNGQUANT","AVIF"].includes(this.modalSettings.outputFormat)||await this.generatePreview()})}))}renderActionButtons(){this.buttonContainer.empty(),new H0.Setting(this.buttonContainer).addButton(i=>{i.setButtonText("Process").setCta().onClick(()=>this.processImage())}).addButton(i=>{i.setButtonText("Cancel").onClick(()=>this.close())})}async generatePreview(){if("PNGQUANT"===this.modalSettings.outputFormat||"AVIF"===this.modalSettings.outputFormat)return this.previewContainer.empty(),void this.previewContainer.createEl("p",{text:"Preview not available for this format."});this.previewContainer.empty();let i=this.previewContainer.createEl("p",{text:"Generating preview..."});try{let e=await this.app.vault.readBinary(this.imageFile),r=new Blob([e],{type:this.imageFile.extension?`image/${this.imageFile.extension}`:"application/octet-stream"}),t=await this.plugin.imageProcessor.processImage(r,this.modalSettings.outputFormat,this.modalSettings.quality/100,this.modalSettings.colorDepth,this.modalSettings.resizeMode,this.modalSettings.desiredWidth,this.modalSettings.desiredHeight,this.modalSettings.desiredLongestEdge,this.modalSettings.enlargeOrReduce,this.modalSettings.allowLargerFiles,void 0,this.plugin.settings),n=new Blob([t],{type:`image/${this.modalSettings.outputFormat.toLowerCase()}`});this.previewImageUrl=URL.createObjectURL(n),this.previewContainer.createEl("img",{attr:{src:this.previewImageUrl},cls:"preview-image"}).setCssStyles({maxWidth:"100%",maxHeight:"350px",height:"auto",display:"block",margin:"0 auto"}),i.remove()}catch(e){i.setText(`Preview failed: ${e.message}`),console.error("Preview generation failed:",e)}}async processImage(){try{let i=await this.app.vault.readBinary(this.imageFile),e=new File([i],this.imageFile.name,{type:this.imageFile.extension?`image/${this.imageFile.extension}`:"application/octet-stream"}),r=this.imageFile.parent?.path||"",t="NONE"===this.modalSettings.outputFormat||"ORIGINAL"===this.modalSettings.outputFormat?this.imageFile.name:`${this.imageFile.name.substring(0,this.imageFile.name.lastIndexOf("."))}.${this.modalSettings.outputFormat.toLowerCase()}`;"PNGQUANT"===this.modalSettings.outputFormat&&(t=`${this.imageFile.name.substring(0,this.imageFile.name.lastIndexOf("."))}.png`);let n=this.plugin.folderAndFilenameManagement.combinePath(r,t),f=this.plugin.getPresetByName(this.modalSettings.conversionPresetName,this.plugin.settings.conversionPresets,"Conversion");if("NONE"===this.modalSettings.outputFormat&&"None"===this.modalSettings.resizeMode)return new H0.Notice(`No processing needed for "${this.imageFile.name}".`,1e3),void this.close();if(f&&this.plugin.folderAndFilenameManagement.shouldSkipConversion(this.imageFile.name,f))return new H0.Notice(`Skipped conversion of image "${this.imageFile.name}" due to skip pattern match in the conversion preset.`,2e3),void this.close();let a,o=this.imageFile.stat.size;if("NONE"===this.modalSettings.outputFormat&&"None"!==this.modalSettings.resizeMode)a=await this.plugin.imageProcessor.resizeImage(e,this.modalSettings.resizeMode,this.modalSettings.desiredWidth,this.modalSettings.desiredHeight,this.modalSettings.desiredLongestEdge,this.modalSettings.enlargeOrReduce);else if("ORIGINAL"===this.modalSettings.outputFormat)a=await this.plugin.imageProcessor.compressOriginalImage(e,this.modalSettings.quality/100,this.modalSettings.resizeMode,this.modalSettings.desiredWidth,this.modalSettings.desiredHeight,this.modalSettings.desiredLongestEdge,this.modalSettings.enlargeOrReduce);else{let i=this.plugin.settings.conversionPresets.find(i=>"AVIF"===i.outputFormat);a=await this.plugin.imageProcessor.processImage(e,this.modalSettings.outputFormat,"AVIF"===this.modalSettings.outputFormat?100:this.modalSettings.quality/100,this.modalSettings.colorDepth,this.modalSettings.resizeMode,this.modalSettings.desiredWidth,this.modalSettings.desiredHeight,this.modalSettings.desiredLongestEdge,this.modalSettings.enlargeOrReduce,this.modalSettings.allowLargerFiles,"PNGQUANT"===this.modalSettings.outputFormat?{name:"temp",outputFormat:"PNGQUANT",quality:100,colorDepth:1,resizeMode:"None",desiredWidth:0,desiredHeight:0,desiredLongestEdge:0,enlargeOrReduce:"Auto",allowLargerFiles:!1,skipConversionPatterns:"",pngquantExecutablePath:this.modalSettings.pngquantExecutablePath,pngquantQuality:this.modalSettings.pngquantQuality}:"AVIF"===this.modalSettings.outputFormat?{name:"temp",outputFormat:"AVIF",quality:100,colorDepth:1,resizeMode:"None",desiredWidth:0,desiredHeight:0,desiredLongestEdge:0,enlargeOrReduce:"Auto",allowLargerFiles:!1,skipConversionPatterns:"",ffmpegExecutablePath:i?.ffmpegExecutablePath||"",ffmpegCrf:this.modalSettings.ffmpegCrf,ffmpegPreset:this.modalSettings.ffmpegPreset}:void 0,this.plugin.settings)}if(a&&this.plugin.settings.revertToOriginalIfLarger&&a.byteLength>o)this.plugin.showSizeComparisonNotification(o,a.byteLength),new H0.Notice(`Using original image for "${this.imageFile.name}" as processed image is larger.`,1e3);else if(a)if(this.plugin.showSizeComparisonNotification(o,a.byteLength),this.imageFile.path!==n){await this.app.fileManager.renameFile(this.imageFile,n);let i=this.app.vault.getAbstractFileByPath(n);if(!(i instanceof H0.TFile))return void new H0.Notice(`Error: Could not find renamed file at ${n}`);await this.app.vault.modifyBinary(i,a)}else await this.app.vault.modifyBinary(this.imageFile,a);let A=this.app.workspace.getActiveViewOfType(H0.MarkdownView);if(A){let{editor:i}=A,e=i.getValue(),r=this.imageFile.name.replace(/[[\]]/g,"\\$&"),n=new RegExp(`!\\[\\[${r}(?:\\|[^\\]]+)?\\]\\[\\]|!\\[.*?\\]\\((${r})(?:\\?[^)]*)?\\)`,"g"),f=`![[${t}]]`,a=e.replace(n,f);a!==e&&(i.setValue(a),new H0.Notice(`Link updated in "${A.file?.name}"`,1e3))}this.refreshActiveNote(),new H0.Notice(`Image "${this.imageFile.name}" processed`,1e3),this.close()}catch(i){console.error("Error processing image:",i),new H0.Notice(`Failed to process image: ${i.message}`,2e3)}finally{this.previewImageUrl&&(URL.revokeObjectURL(this.previewImageUrl),this.previewImageUrl=null)}}async refreshActiveNote(){let i=this.app.workspace.getActiveFile();if(i){let e=this.app.workspace.getLeaf();if(e){let r=this.app.workspace.getMostRecentLeaf();if(r){let i=r.getViewState();await r.setViewState({type:"empty",state:{}}),await r.setViewState(i)}await e.openFile(i,{active:!0})}}}onClose(){this.saveModalSettings(),this.previewImageUrl&&(URL.revokeObjectURL(this.previewImageUrl),this.previewImageUrl=null),this.contentEl.empty()}},kn=class extends l0.Component{constructor(i,e,r,t){super(),this.app=i,this.plugin=e,this.folderAndFilenameManagement=r,this.variableProcessor=t,this.registerContextMenuListener()}contextMenuRegistered=!1;currentMenu=null;stopPropagationHandler=i=>i.stopPropagation();documentClickHandler=i=>{!i.target.closest(".image-converter-contextmenu-info-container")&&!i.target.closest(".menu-item")&&this.currentMenu?.hide()};registerContextMenuListener(){this.contextMenuRegistered||(this.plugin.registerDomEvent(document,"contextmenu",this.handleContextMenuEvent,!0),this.contextMenuRegistered=!0)}handleContextMenuEvent=i=>{let e=i.target;if("canvas"===this.app.workspace.getActiveViewOfType(l0.View)?.getViewType())return;let r=e instanceof HTMLImageElement?e:e.closest("img");if(!r||this.plugin.supportedImageFormats.isExcalidrawImage(r))return;if(!r.closest(".markdown-preview-view")&&!r.closest(".markdown-source-view"))return void e.closest(".map-view-main");i.preventDefault(),i.stopPropagation();let t=new l0.Menu,n=this.app.workspace.getActiveFile();n&&this.createContextMenuItems(t,r,n,i),t.showAtMouseEvent(i)};createContextMenuItems(i,e,r,t){return this.currentMenu=i,this.addRenameAndMoveInputs(i,e,r),i.addSeparator(),l0.Platform.isMobile||(this.addOpenInNewWindowMenuItem(i,e),i.addSeparator(),this.addCutImageMenuItem(i,t)),this.addCopyImageMenuItem(i,t),this.addCopyBase64ImageMenuItem(i,t),i.addSeparator(),this.plugin.settings.isImageAlignmentEnabled&&this.plugin.ImageAlignmentManager&&this.plugin.ImageAlignmentManager.addAlignmentOptionsToContextMenu(i,e,r),this.addProcessImageMenuItem(i,e,t),this.addCropRotateFlipMenuItem(i,e),this.addAnnotateImageMenuItem(i,e),i.addSeparator(),l0.Platform.isMobile||(this.addShowInNavigationMenuItem(i,e),this.addShowInSystemExplorerMenuItem(i,e)),i.addSeparator(),this.addDeleteImageAndLinkMenuItem(i,t),!0}async loadCurrentCaption(i,e){try{let e=this.folderAndFilenameManagement.getImagePath(i);if(!e)return"";let r=this.app.workspace.getActiveViewOfType(l0.MarkdownView);if(!r)return"";let{editor:t}=r,n=!e,f=await this.findImageMatches(t,e,n);if(f&&f.length>0){let[i]=f,e=i.fullMatch.match(/!\[\[([^\]]+?)(?:\|([^|\]]+?))?\s*(?:\|([^|\]]+?))?\]\]/);if(e){let i=e[2]||"",r=e[3]||"",t=i=>/^\s*\d+x\d+\s*$/.test(i);return r&&!t(i)||i&&!t(i)?i.trim():""}let r=i.fullMatch.match(/!\[([^|\]]*?)(?:\|(\d+x\d+))?\]\(([^)]+)\)/);if(r)return(r[1]||"").trim()}return""}catch(i){return console.error("Error loading caption:",i),""}}async loadCurrentDimensions(i,e){try{let e=this.folderAndFilenameManagement.getImagePath(i);if(!e)return{width:"",height:""};let r=this.app.workspace.getActiveViewOfType(l0.MarkdownView);if(!r)return{width:"",height:""};let{editor:t}=r,n=!e,f=await this.findImageMatches(t,e,n);if(f&&f.length>0){let[i]=f,e=i.fullMatch.match(/!\[\[([^\]]+?)(?:\|([^|\]]+?))?\s*(?:\|([^|\]]+?))?\]\]/);if(e){let i=e[2]||"",r=e[3]||"",t=i=>/^\s*\d+(?:x\d+)?\s*$/.test(i),n="";if(t(r)?n=r.trim():t(i)&&(n=i.trim()),n){let i=n.split("x");return{width:i[0],height:i.length>1?i[1]:""}}}let r=i.fullMatch.match(/!\[([^|\]]*?)(?:\|(\d+(?:x\d+)?))?\]\(([^)]+)\)/);if(r&&r[2]){let i=r[2].split("x");return{width:i[0],height:i.length>1?i[1]:""}}}return{width:"",height:""}}catch(i){return console.error("Error loading dimensions:",i),{width:"",height:""}}}async updateImageLinkWithDimensions(i,e,r,t,n){let f=t?n?`${t}x${n}`:t:"",{line:a}=e;return a.includes("![[")?a.replace(/!\[\[([^\]]+?)(?:\|([^|\]]+?))?\s*(?:\|([^|\]]+?))?\]\]/g,(i,e)=>r&&f?`![[${e}|${r}|${f}]]`:r?`![[${e}|${r}]]`:f?`![[${e}|${f}]]`:`![[${e}]]`):a.replace(/!\[([^|\]]*?)(?:\|(\d+(?:x\d+)?))?\]\(([^)]+)\)/g,(i,e,t,n)=>r&&f?`![${r}|${f}](${n})`:r?`![${r}](${n})`:f?`![|${f}](${n})`:`![](${n})`)}async handleDimensionsAndCaptionUpdate(i,e,r,t,n,f,a){if(!a)return;let o=e.value.trim(),A=r.value.trim(),s=t.value.trim();if(A&&!/^\d+$/.test(A)||s&&!/^\d+$/.test(s))return void new l0.Notice("Dimensions must be positive numbers");let l=this.app.workspace.getActiveViewOfType(l0.MarkdownView);if(!l)return;let{editor:k}=l,h=this.folderAndFilenameManagement.getImagePath(n),u=!h,c=await this.findImageMatches(k,h,u);if(0===c.length)return void new l0.Notice("Failed to find image link in the current note.");let d=async()=>{for(let i of c){let e=await this.updateImageLinkWithDimensions(k,i,o,A,s);k.setLine(i.lineNumber,e)}new l0.Notice("Image caption and dimensions updated successfully."),this.plugin.captionManager?.refresh()};c.length>1?new Qi(this.app,"Confirm Updates",`Found ${c.length} matching image links. Update all?`,"Update",d).open():await d(),i.hide()}addRenameAndMoveInputs(i,e,r){if(!this.app.vault.getConfig("nativeMenus")&&!l0.Platform.isMobile){let t,n,f=this.folderAndFilenameManagement.getImagePath(e),a=null!==f,o="",A="",s="";if(a){let i=e2.parse(f);o=i.name,A=i.dir,s=i.ext,t=f,A||(A="/");let e=this.app.vault.getAbstractFileByPath(f);n=e instanceof l0.TFile?e:new File([""],f)}i.addItem(f=>{let l=f,k=document.createElement("div");k.className="image-converter-contextmenu-info-container";let h=document.createElement("div");h.className="image-converter-contextmenu-input-group";let u=document.createElement("div");u.className="image-converter-contextmenu-icon-container",(0,l0.setIcon)(u,"file-text"),h.appendChild(u);let c=document.createElement("label");c.textContent="Name:",c.setAttribute("for","image-converter-name-input"),h.appendChild(c);let d=document.createElement("input");d.type="text",d.value=o,d.placeholder="Enter a new image name",d.className="image-converter-contextmenu-name-input",d.id="image-converter-name-input",a||d.classList.add("image-converter-contextmenu-disabled"),h.appendChild(d);let b=document.createElement("div");b.className="image-converter-contextmenu-input-group";let p=document.createElement("div");p.className="image-converter-contextmenu-icon-container",(0,l0.setIcon)(p,"folder"),b.appendChild(p);let g=document.createElement("label");g.textContent="Folder:",g.setAttribute("for","image-converter-path-input"),b.appendChild(g);let m=document.createElement("input");m.type="text",m.value=A,m.placeholder="Enter a new path for the image",m.className="image-converter-contextmenu-path-input",m.id="image-converter-path-input",a||m.classList.add("image-converter-contextmenu-disabled"),b.appendChild(m);let v=document.createElement("div");v.className="image-converter-contextmenu-input-group";let w=document.createElement("div");w.className="image-converter-contextmenu-icon-container",(0,l0.setIcon)(w,"subtitles"),v.appendChild(w);let _=document.createElement("label");_.textContent="Caption:",_.setAttribute("for","image-converter-caption-input"),v.appendChild(_);let y=document.createElement("input");y.type="text",y.placeholder="Loading caption...",y.className="image-converter-contextmenu-caption-input",y.id="image-converter-caption-input",v.appendChild(y);let C=document.createElement("div");C.className="image-converter-contextmenu-input-group";let B=document.createElement("div");B.className="image-converter-contextmenu-icon-container",(0,l0.setIcon)(B,"aspect-ratio"),C.appendChild(B);let x=document.createElement("label");x.textContent="Size:",x.setAttribute("for","image-converter-width-input"),C.appendChild(x);let Z=document.createElement("input");Z.type="number",Z.min="1",Z.placeholder="W",Z.className="image-converter-contextmenu-dimension-input",Z.id="image-converter-width-input";let I=document.createElement("input");I.type="number",I.min="1",I.placeholder="H",I.className="image-converter-contextmenu-dimension-input",I.id="image-converter-height-input";let W=document.createElement("div");W.className="image-converter-contextmenu-dimension-inputs",W.appendChild(Z),W.appendChild(document.createTextNode("×")),W.appendChild(I),C.appendChild(W),this.loadCurrentDimensions(e,r).then(({width:i,height:e})=>{Z.value=i,I.value=e}),k.appendChild(h),k.appendChild(b),k.appendChild(v),k.appendChild(C);let E=document.createElement("div");E.className="image-converter-contextmenu-button image-converter-contextmenu-confirm",(0,l0.setIcon)(E,"check"),k.appendChild(E),[d,m,y,Z,I].forEach(i=>{this.registerDomEvent(i,"mousedown",this.stopPropagationHandler),this.registerDomEvent(i,"click",this.stopPropagationHandler),this.registerDomEvent(i,"keydown",this.stopPropagationHandler)}),this.registerDomEvent(document,"click",this.documentClickHandler),this.loadCurrentCaption(e,r).then(i=>{y.value=i,y.placeholder="Enter a custom caption"}),this.registerDomEvent(E,"click",async()=>{a&&(await this.handleRenameAndMove(i,d,m,e,a,o,s,t,n,r),await this.handleDimensionsAndCaptionUpdate(i,y,Z,I,e,r,a))}),l.dom.empty(),l.dom.appendChild(k)})}}handleRenameAndMove=async(i,e,r,t,n,f,a,o,A,s)=>{if(!n)return;let l=e.value,k=r.value,h={file:A,activeFile:s};if(l=await this.variableProcessor.processTemplate(l,h),k=await this.variableProcessor.processTemplate(k,h),l.trim())if(l=this.folderAndFilenameManagement.sanitizeFilename(l),/^[.]+$/.test(l.trim()))new l0.Notice("Please enter a valid file name");else if(k.trim()){if(o)try{if(l&&l!==f){let i=(0,l0.normalizePath)(e2.join(k,`${l}${a}`)),e=this.app.vault.getAbstractFileByPath(o);e instanceof l0.TFile&&(await this.folderAndFilenameManagement.ensureFolderExists(k),await this.app.fileManager.renameFile(e,i),t.src=this.app.vault.getResourcePath(e),new l0.Notice("Image name updated successfully"))}let i=`${l}${a}`,e=o,r=(0,l0.normalizePath)(e2.join(k,i));if(r!==e){let i=this.app.vault.getAbstractFileByPath(e);if(i instanceof l0.TFile){await this.folderAndFilenameManagement.ensureFolderExists(k),e.toLowerCase()===r.toLowerCase()?await this.folderAndFilenameManagement.safeRenameFile(i,r)?new l0.Notice("Image path updated (case-sensitive change)."):new l0.Notice("Image path update failed (case-sensitive change)."):(await this.app.fileManager.renameFile(i,r),new l0.Notice("Image path updated successfully")),t.src=this.app.vault.getResourcePath(i);let n=this.app.workspace.getMostRecentLeaf();if(n){let i=n.getViewState();await n.setViewState({type:"empty",state:{}}),await n.setViewState(i)}}}}catch(i){console.error("Failed to update image path:",i),new l0.Notice("Failed to update image path")}i.hide()}else new l0.Notice("Please enter a new path.");else new l0.Notice("Please enter a new file name.")};addOpenInNewWindowMenuItem(i,e){i.addItem(i=>{i.setTitle("Open in new window").setIcon("square-arrow-out-up-right").onClick(async()=>{try{let i=this.folderAndFilenameManagement.getImagePath(e);if(i){let e=this.app.vault.getAbstractFileByPath(i);if(e instanceof l0.TFile){let i=this.app.workspace.getLeaf("window");i&&await i.openFile(e)}}}catch(i){new l0.Notice("Failed to open in new window"),console.error(i)}})})}normalizeImagePath(i){if(!i)return"";let e=decodeURIComponent(i),[r]=e.split("?");return e=r,e=e.replace(/\\/g,"/"),e=e.replace(/%20/g," "),e.startsWith("/")||(e=`/${e}`),e=(0,l0.normalizePath)(e),e.toLowerCase()}findFrontmatterEnd(i){let e=!1,r=i.getDoc().lineCount();for(let t=0;t{let r=e2.dirname(e);return i.startsWith("./")||i.startsWith("../")?(0,l0.normalizePath)(e2.join(r,i)):(0,l0.normalizePath)(i)},n=i.getDoc().lineCount(),f=this.findFrontmatterEnd(i),a=[],o=this.app.workspace.getActiveFile();if(!o)return a;for(let A=f+1;A/g)];for(let a of f)if(a[0].includes(e))return await r(i,n,t,a[0]),!0}return!1}async removeImageLinkFromEditor(i,e,r,t,n){n&&await navigator.clipboard.writeText(t);let f={line:e,ch:r.indexOf(t)},a=f.ch+t.length,o=0;for(;" "===r[a+o]||"\t"===r[a+o];)o++;r.trim()===t.trim()?i.replaceRange("",{line:e,ch:0},{line:e+1,ch:0}):i.replaceRange("",f,{line:e,ch:a+o})}addCutImageMenuItem(i,e){i.addItem(i=>{i.setTitle("Cut").setIcon("scissors").onClick(async()=>{await this.cutImageAndLinkFromNote(e)})})}async cutImageAndLinkFromNote(i){let e=i.target,r=e.getAttribute("src");if(!r)return;let t=this.app.workspace.getActiveViewOfType(l0.MarkdownView);if(t)try{let{editor:i}=t;if(r.startsWith("data:image/"))return void(await this.processBase64Image(i,r,async(i,e,r,t)=>{await this.removeImageLinkFromEditor(i,e,r,t,!0)})||new l0.Notice("Failed to find Base64 image link"));let n=r.startsWith("http://")||r.startsWith("https://")?null:this.folderAndFilenameManagement.getImagePath(e),f=!n,a=await this.findImageMatches(i,n,f);if(0===a.length)return void new l0.Notice("Failed to find image link in the current note.");let o=async()=>{for(let e of a)await this.removeImageLinkFromEditor(i,e.lineNumber,e.line,e.fullMatch,!0);new l0.Notice("Image link(s) cut from note and copied to clipboard")};a.length>1?new Qi(this.app,"Confirm Cut",`Found ${a.length} matching image links inside current note. Do you want to cut all of them?`,"Cut",async()=>{for(let e of a)await this.removeImageLinkFromEditor(i,e.lineNumber,e.line,e.fullMatch,!0);new l0.Notice("Image link(s) cut from note and copied to clipboard")}).open():await o()}catch(i){console.error("Error cutting image:",i),new l0.Notice("Failed to cut image. Check console for details.")}else new l0.Notice("No active Markdown view found")}addCopyImageMenuItem(i,e){i.addItem(i=>i.setTitle("Copy image").setIcon("copy").onClick(async()=>{await this.copyImageToClipboard(e)}))}async copyImageToClipboard(i){let e=new Image;e.crossOrigin="anonymous";let r=i.target;this.registerDomEvent(e,"load",async()=>{try{let i=document.createElement("canvas");i.width=e.naturalWidth,i.height=e.naturalHeight;let r=i.getContext("2d");if(!r)return void new l0.Notice("Failed to get canvas context");r.drawImage(e,0,0);let t=i.toDataURL(),n=await(await fetch(t)).blob(),f=new ClipboardItem({[n.type]:n});await navigator.clipboard.write([f]),new l0.Notice("Image copied to clipboard")}catch(i){console.error("Failed to copy image:",i),new l0.Notice("Failed to copy image to clipboard")}}),e.src=r.src}addCopyBase64ImageMenuItem(i,e){i.addItem(i=>i.setTitle("Copy as Base64 encoded image").setIcon("copy").onClick(()=>{this.copyImageAsBase64(e)}))}async copyImageAsBase64(i){let e=i.target,r=new Image;r.crossOrigin="anonymous",this.registerDomEvent(r,"load",async()=>{try{let i=document.createElement("canvas");i.width=r.naturalWidth,i.height=r.naturalHeight;let e=i.getContext("2d");if(!e)return void new l0.Notice("Failed to get canvas context");e.drawImage(r,0,0);let t=i.toDataURL();await navigator.clipboard.writeText(``),new l0.Notice("Image copied to clipboard as Base64")}catch(i){console.error("Failed to copy image as Base64:",i),new l0.Notice("Failed to copy image as Base64")}}),r.src=e.src}addProcessImageMenuItem(i,e,r){i.addItem(i=>{i.setTitle("Convert/compress...").setIcon("cog").onClick(async()=>{try{let i=this.app.workspace.getActiveViewOfType(l0.MarkdownView);if(!i)return void new l0.Notice("No active markdown view");let r=i.file;if(!r)return void new l0.Notice("No current file found");let t=e.getAttribute("src");if(!t)return void new l0.Notice("No source attribute found on the image");let n=decodeURIComponent(t.split("?")[0].split("/").pop()||"");if(!n)return void new l0.Notice("Unable to extract filename from the image source");let f=this.app.vault.getFiles().filter(i=>i.name===n);if(0===f.length)return console.error("No matching files found for:",n),void new l0.Notice(`Unable to find image: ${n}`);let a=1===f.length?f[0]:f.find(i=>{let e=r.parent?.path;return!!e&&i.path.startsWith(e)})||f[0];a instanceof l0.TFile?new lr(this.app,this.plugin,a).open():new l0.Notice("Error: Not a valid image file.")}catch(i){console.error("Error processing image:",i),new l0.Notice("Error processing image")}})})}addCropRotateFlipMenuItem(i,e){i.addItem(i=>{i.setTitle("Crop/Rotate/Flip").setIcon("scissors").onClick(async()=>{let i=this.app.workspace.getActiveViewOfType(l0.MarkdownView);if(!i)return void new l0.Notice("No active markdown view");let r=i.file;if(!r)return void new l0.Notice("No current file found");let t=e.getAttribute("src");if(!t)return void new l0.Notice("No source attribute found");let n=decodeURIComponent(t.split("?")[0].split("/").pop()||""),f=this.app.vault.getFiles().filter(i=>i.name===n);if(0===f.length)return console.error("No matching files found for:",n),void new l0.Notice(`Unable to find image: ${n}`);let a=1===f.length?f[0]:f.find(i=>{let e=r.parent?.path;return!!e&&i.path.startsWith(e)})||f[0];a instanceof l0.TFile?new ln(this.app,a).open():new l0.Notice("Unable to locate image file")})})}addAnnotateImageMenuItem(i,e){i.addItem(i=>{i.setTitle("Annotate image").setIcon("pencil").onClick(async()=>{try{let i=this.app.workspace.getActiveViewOfType(l0.MarkdownView);if(!i)return void new l0.Notice("No active markdown view");let r=i.file;if(!r)return void new l0.Notice("No current file found");let t=e.getAttribute("src");if(!t)return void new l0.Notice("No source attribute found");let n=decodeURIComponent(t.split("?")[0].split("/").pop()||""),f=this.app.vault.getFiles().filter(i=>i.name===n);if(0===f.length)return console.error("No matching files found for:",n),void new l0.Notice(`Unable to find image: ${n}`);let a=1===f.length?f[0]:f.find(i=>{let e=r.parent?.path;return!!e&&i.path.startsWith(e)})||f[0];a instanceof l0.TFile?new An(this.app,this.plugin,a).open():new l0.Notice("Unable to locate image file")}catch(i){console.error("Image location error:",i),new l0.Notice("Error processing image path")}})})}addShowInNavigationMenuItem(i,e){i.addItem(i=>{i.setTitle("Show in navigation").setIcon("folder-open").onClick(async()=>{await this.showImageInNavigation(e)})})}async showImageInNavigation(i){try{let e=this.folderAndFilenameManagement.getImagePath(i);if(e){let i=this.app.vault.getAbstractFileByPath(e);if(i instanceof l0.TFile){let[e]=this.app.workspace.getLeavesOfType("file-explorer");if(!e){let i=this.app.workspace.getLeftLeaf(!1);i&&(await i.setViewState({type:"file-explorer"}),e=i)}if(e){this.app.workspace.leftSplit&&this.app.workspace.leftSplit.expand();let r=e.view;r&&r.revealInFolder(i)}}}}catch(i){new l0.Notice("Failed to show in navigation"),console.error(i)}}addShowInSystemExplorerMenuItem(i,e){i.addItem(i=>{i.setTitle("Show in system explorer").setIcon("arrow-up-right").onClick(async()=>{await this.showImageInSystemExplorer(e)})})}async showImageInSystemExplorer(i){try{let e=this.folderAndFilenameManagement.getImagePath(i);e&&await this.app.showInFolder(e)}catch(i){new l0.Notice("Failed to show in system explorer"),console.error(i)}}addDeleteImageAndLinkMenuItem(i,e){i.addItem(i=>{i.setTitle("Delete Image and Link").setIcon("trash").onClick(async()=>{await this.deleteImageAndLinkFromNote(e)})})}async deleteImageAndLinkFromNote(i){let e=i.target,r=e.getAttribute("src");if(!r)return;let t=this.app.workspace.getActiveViewOfType(l0.MarkdownView);if(t)try{let{editor:i}=t;if(r.startsWith("data:image/"))return void(await this.processBase64Image(i,r,async(i,e,r,t)=>{await this.removeImageLinkFromEditor(i,e,r,t,!1)})||new l0.Notice("Failed to find Base64 image link"));let n=r.startsWith("http://")||r.startsWith("https://")?null:this.folderAndFilenameManagement.getImagePath(e),f=!n,a=await this.findImageMatches(i,n,f);if(0===a.length)return void new l0.Notice("Failed to find image link in the current note.");let o=new Map;for(let i of a){let e=`${i.lineNumber}-${i.line}-${i.fullMatch}`;o.has(e)||o.set(e,i)}let A=Array.from(o.values());if(0===A.length)return void new l0.Notice("Failed to find unique image links in the current note.");let s=async()=>{let e=A.sort((i,e)=>e.lineNumber-i.lineNumber);for(let r of e)await this.removeImageLinkFromEditor(i,r.lineNumber,r.line,r.fullMatch,!1);if(new l0.Notice("Image link(s) removed from note"),n){let i=this.app.vault.getAbstractFileByPath(n);i instanceof l0.TFile&&(await this.app.vault.trash(i,!0),new l0.Notice("Image file moved to trash"))}};if(A.length>1){let i=document.createDocumentFragment(),e=document.createElement("div");i.appendChild(e);let r=document.createElement("p");r.textContent=`Found ${A.length} unique matching image links inside current note. Do you want to delete all of them?`,e.appendChild(r),A.forEach((i,r)=>{let t=i.lineNumber+1,n=i.line.trim(),f=document.createElement("div");f.style.marginBottom="5px",f.innerHTML=` ${r+1}. Line ${t}: ${n}`,e.appendChild(f)}),new Qi(this.app,"Confirm Delete",i,"Delete",s).open()}else 1===A.length?await s():new l0.Notice("No unique image links found to delete.")}catch(i){console.error("Error deleting image:",i),new l0.Notice("Failed to delete image. Check console for details.")}else new l0.Notice("No active Markdown view found")}onunload(){super.onunload(),this.currentMenu&&(this.currentMenu.hide(),this.currentMenu=null),this.contextMenuRegistered=!1}},D2=require("obsidian"),ba=require("obsidian"),un=class extends ba.Component{constructor(i,e,r){super(),this.app=i,this.plugin=e,this.imageAlignmentManager=r}addAlignmentOptionsToContextMenu(i,e,r){i.addItem(i=>{i.setTitle("Align image").setIcon("align-justify").setSubmenu().addItem(i=>{let r=this.getCurrentImageAlignment(e);i.setTitle("Left").setIcon("align-left").setChecked("left"===r.align).onClick(async()=>{await this.updateImageAlignment(e,{align:"left"===r.align?"none":"left",wrap:r.wrap})})}).addItem(i=>{let r=this.getCurrentImageAlignment(e);i.setTitle("Center").setIcon("align-center").setChecked("center"===r.align).onClick(async()=>{await this.updateImageAlignment(e,{align:"center"===r.align?"none":"center",wrap:r.wrap})})}).addItem(i=>{let r=this.getCurrentImageAlignment(e);i.setTitle("Right").setIcon("align-right").setChecked("right"===r.align).onClick(async()=>{await this.updateImageAlignment(e,{align:"right"===r.align?"none":"right",wrap:r.wrap})})}).addSeparator().addItem(i=>{let r=this.getCurrentImageAlignment(e);i.setTitle("Wrap Text").setChecked(r.wrap).onClick(async()=>{let i="none"===r.align?"left":r.align;await this.updateImageAlignment(e,{align:i,wrap:!r.wrap})})})})}applyAlignmentToImage(i,e){if(!e)return void console.error("No position data provided for image:",i.src);let r=i.matchParent(".internal-embed.image-embed");r&&(r.removeClass("image-position-left","image-position-center","image-position-right","image-wrap","image-no-wrap"),"none"!==e.position&&(r.addClass(`image-position-${e.position}`,"image-converter-aligned"),r.addClass(e.wrap?"image-wrap":"image-no-wrap"))),i.removeClass("image-position-left","image-position-center","image-position-right","image-wrap","image-no-wrap","image-converter-aligned"),"none"!==e.position&&(i.addClass("image-converter-aligned"),i.addClass(`image-position-${e.position}`),i.addClass(e.wrap?"image-wrap":"image-no-wrap"),e.width&&i.setCssStyles({width:e.width}),e.height&&i.setCssStyles({height:e.height}))}async updateImageAlignment(i,e){let r=this.app.workspace.getActiveFile();if(!r)return;let t=i.getAttribute("src");if(!t)return;let n=this.imageAlignmentManager.getRelativePath(t);i.removeClass("image-position-left","image-position-center","image-position-right","image-wrap","image-no-wrap","image-converter-aligned"),"none"!==e.align&&(i.addClass(`image-position-${e.align}`,"image-converter-aligned"),i.addClass(e.wrap?"image-wrap":"image-no-wrap"));let f=i.matchParent(".internal-embed.image-embed");f&&(f.removeClass("image-position-left","image-position-center","image-position-right","image-wrap","image-no-wrap","image-converter-aligned"),"none"!==e.align&&(f.addClass(`image-position-${e.align}`),f.addClass(e.wrap?"image-wrap":"image-no-wrap"))),"none"===e.align?this.plugin.ImageAlignmentManager.removeImageFromCache(r.path,n):this.plugin.ImageAlignmentManager.saveImageAlignmentToCache(r.path,n,e.align,i.style.width,i.style.height,e.wrap)}getCurrentImageAlignment(i){let e=this.app.workspace.getActiveFile();if(!e)return{align:"none",wrap:!1};let r=i.getAttr("src");if(!r)return{align:"none",wrap:!1};let t=this.imageAlignmentManager.getImageAlignment(e.path,r);if(t)return{align:t.position,wrap:t.wrap};let n=Array.from(i.classList).find(i=>i.startsWith("image-position-"));return{align:n?n.replace("image-position-",""):"none",wrap:i.hasClass("image-wrap")}}},hn=class{locks=new Map;async acquire(i,e){let r=await this.acquireLock(i);try{return await e()}finally{r()}}async acquireLock(i){for(;this.locks.has(i);)await this.locks.get(i);let e,r=new Promise(i=>e=i);return this.locks.set(i,r),()=>{this.locks.delete(i),e()}}},cn=class{constructor(i,e,r){this.app=i,this.plugin=e,this.supportedImageFormats=r,this.pluginDir=this.getPluginDir(),this.updateCacheFilePath(),this.imageAlignment=new un(this.app,this.plugin,this),this.debouncedValidateNoteCache=(0,D2.debounce)(this.validateNoteCache.bind(this),300,!0)}imageAlignment;pluginDir;cacheFilePath;cache={};imageObserver=null;lock=new hn;imageStates=new Map;eventRefs=[];cleanupIntervalId=null;debouncedValidateNoteCache;async initialize(){await this.loadCache(),this.registerEvents(),this.scheduleCacheCleanup();let i=this.app.workspace.getActiveFile();i&&this.applyAlignmentsToNote(i.path)}addAlignmentOptionsToContextMenu(i,e,r){this.imageAlignment.addAlignmentOptionsToContextMenu(i,e,r)}updateCacheFilePath(){".obsidian"===this.plugin.settings.imageAlignment_cacheLocation?this.cacheFilePath=".obsidian/image-converter-image-alignments.json":this.cacheFilePath=`${this.pluginDir}/image-converter-image-alignments.json`}getPluginDir(){return this.plugin.manifest.dir||(console.error("Could not determine plugin directory"),"")}getCache(){return this.cache}async loadCache(){try{let{adapter:i}=this.app.vault;if(await i.exists(this.cacheFilePath)){let e=await i.read(this.cacheFilePath);this.cache=JSON.parse(e)}}catch(i){console.error("Error loading image alignment cache:",i),this.cache={}}}async saveCache(){try{if(!this.pluginDir)return void console.error("Plugin directory not found");let{adapter:i}=this.app.vault;await i.write(this.cacheFilePath,JSON.stringify(this.cache,null,2))}catch(i){console.error("Error saving image alignment cache:",i)}}registerEvents(){this.eventRefs.push(this.app.vault.on("delete",async i=>{if(i instanceof D2.TFile){if("md"===i.extension)await this.removeNoteFromCache(i.path);else if(this.supportedImageFormats.isSupported(void 0,i.name)){let e=Object.keys(this.getCache());for(let r of e){let e=this.getImageHash(r,i.path);await this.removeImageFromCache(r,e)}}let e=this.app.workspace.getActiveFile();if(e&&"md"===e.extension){let i=await this.app.vault.cachedRead(e);this.validateNoteCache(e.path,i)}}})),this.eventRefs.push(this.app.vault.on("rename",async(i,e)=>{if(i instanceof D2.TFile){if("md"===i.extension)this.cache[e]&&(this.cache[i.path]=this.cache[e],delete this.cache[e],await this.saveCache());else if(this.supportedImageFormats.isSupported(void 0,i.name)){let r=Object.keys(this.cache);for(let t of r){let r=this.getImageHash(t,e),n=this.getImageHash(t,i.path);this.cache[t][r]&&(this.cache[t][n]=this.cache[t][r],delete this.cache[t][r])}await this.saveCache()}let r=this.app.workspace.getActiveFile();if(r&&"md"===r.extension){let i=await this.app.vault.cachedRead(r);this.validateNoteCache(r.path,i)}}}))}async saveImageAlignmentToCache(i,e,r,t,n,f=!1){try{await this.lock.acquire("cacheOperation",async()=>{let a=this.getRelativePath(e),o=this.getImageHash(i,a);this.cache[i]||(this.cache[i]={}),this.cache[i][o]={position:r,width:t||"",height:n||"",wrap:f},await this.saveCache()})}catch(i){console.error("Error in saveImageAlignmentToCache:",i)}}getImageHash(i,e){return QA(`${i}:${this.getRelativePath(e)}`,0)}getImageAlignment(i,e){let r=this.getImageHash(i,e);return this.cache[i]?.[r]}getRelativePath(i){if(i.startsWith("http://")||i.startsWith("https://"))return i;let[e]=i.split("?"),r=e;if(r.startsWith("app://")||r.startsWith("file:///")){let i="";if(r.startsWith("app://")){let e=r.substring(6).split("/");e.length>1&&(i=decodeURIComponent(e.slice(1).join("/")))}else r.startsWith("file:///")&&(i=decodeURIComponent(r.substring(8)));if(i){let e=null;if(this.app.vault.adapter instanceof D2.FileSystemAdapter&&(e=this.app.vault.adapter.getBasePath()),e){let r=e.toLowerCase().replace(/\\/g,"/").replace(/^\/+|\/+$/g,"");if(i.toLowerCase().replace(/\\/g,"/").replace(/^\/+/,"").startsWith(r)){let r=i.substring(e.length);return r=r.replace(/^\\+/,""),r}}}}let t=this.app.vault.getFiles().find(i=>i.path.endsWith(r));return t?t.path:r}async applyAlignmentsToNote(i){try{await this.lock.acquire("applyAlignments",async()=>{let e=this.cache[i];e&&document.querySelectorAll("img").forEach(r=>{let t=r.getAttr("src");if(!t)return;let n=this.getImageHash(i,t),f=e[n];f&&this.imageAlignment.applyAlignmentToImage(r,f)})})}catch(i){console.error("Error in applyAlignmentsToNote:",i)}}async cleanCache(){await this.lock.acquire("cacheCleanup",async()=>{console.time("Cache cleanup time");let i={};for(let e in this.cache)if(this.app.vault.getAbstractFileByPath(e)){i[e]={};for(let r in this.cache[e]){let t=!1,n=this.app.vault.getFiles();for(let i of n)if(this.supportedImageFormats.isSupported(void 0,i.name)&&this.getImageHash(e,i.path)===r){t=!0;break}t&&(i[e][r]=this.cache[e][r])}0===Object.keys(i[e]).length&&delete i[e]}this.cache=i,await this.saveCache(),console.timeEnd("Cache cleanup time"),console.log("Cache cleaned:",this.cache)})}async validateNoteCache(i,e){await this.lock.acquire("validateCache",async()=>{if(!this.cache[i])return;let r=this.extractImageLinks(e);if(0===r.length)return void(this.cache[i]&&(delete this.cache[i],await this.saveCache()));let t=Object.keys(this.cache[i]),n=r.map(e=>this.getImageHash(i,e)),f=t.filter(i=>!n.includes(i));for(let e of f)delete this.cache[i][e];0===Object.keys(this.cache[i]).length&&delete this.cache[i],await this.saveCache()})}extractImageLinks(i){let e,r=[],t=/!\[[^\]]*?(?:\|\d+(?:\|\d+)?)?\]\(([^)\s"]+)(?:\s+"[^"]*")?\)/g,n=/!\[\[([^\]]+?)(?:\|[^\]]+?)?\]\]/g;for(;null!==(e=t.exec(i));)r.push(e[1]);for(;null!==(e=n.exec(i));)r.push(e[1]);return r}async removeImageFromCache(i,e){await this.lock.acquire("cacheOperation",async()=>{let r=this.getRelativePath(e),t=this.getImageHash(i,r);this.cache[i]&&this.cache[i][t]&&(delete this.cache[i][t],0===Object.keys(this.cache[i]).length&&delete this.cache[i],await this.saveCache())})}async removeNoteFromCache(i){this.cache[i]&&(delete this.cache[i],await this.saveCache())}scheduleCacheCleanup(){this.cleanupIntervalId&&window.clearInterval(this.cleanupIntervalId);let i=this.plugin.settings.imageAlignment_cacheCleanupInterval;i>0&&(this.cleanupIntervalId=window.setInterval(()=>{this.cleanCache()},i))}cleanupObserver(){this.imageObserver&&(this.imageObserver.disconnect(),this.imageObserver=null)}onunload(){this.cleanupObserver(),this.eventRefs.forEach(i=>this.app.workspace.offref(i)),this.eventRefs=[],this.cleanupIntervalId&&(window.clearInterval(this.cleanupIntervalId),this.cleanupIntervalId=null),this.imageAlignment&&this.imageAlignment.onunload(),this.imageObserver=null,this.cache={},this.imageStates.clear(),this.debouncedValidateNoteCache?.cancel()}};function QA(i,e){let r=e>>>0,t=e>>>0,n=e>>>0,f=e>>>0,a=2277735313,o=1291169091,{length:A}=i,s=A>>>4;for(let e=0;e>>17,s=Math.imul(s,o),r^=s,r=r<<19|r>>>13,r=Math.imul(r,5)+3864292196>>>0,l=Math.imul(l,a),l=l<<15|l>>>17,l=Math.imul(l,o),t^=l,t=t<<17|t>>>15,t=Math.imul(t,5)+3864292196>>>0,k=Math.imul(k,a),k=k<<15|k>>>17,k=Math.imul(k,o),n^=k,n=n<<15|n>>>17,n=Math.imul(n,5)+3864292196>>>0,h=Math.imul(h,a),h=h<<15|h>>>17,h=Math.imul(h,o),f^=h,f=f<<13|f>>>19,f=Math.imul(f,5)+3864292196>>>0}let l=0,k=0,h=0,u=0,c=16*s,d=A%16;if(d>0)switch(d){case 15:u^=(255&i.charCodeAt(c+14))<<16;case 14:u^=(255&i.charCodeAt(c+13))<<8;case 13:u^=255&i.charCodeAt(c+12),u=Math.imul(u,a),u=u<<15|u>>>17,u=Math.imul(u,o),f^=u;case 12:h^=(255&i.charCodeAt(c+11))<<24;case 11:h^=(255&i.charCodeAt(c+10))<<16;case 10:h^=(255&i.charCodeAt(c+9))<<8;case 9:h^=255&i.charCodeAt(c+8),h=Math.imul(h,a),h=h<<15|h>>>17,h=Math.imul(h,o),n^=h;case 8:k^=(255&i.charCodeAt(c+7))<<24;case 7:k^=(255&i.charCodeAt(c+6))<<16;case 6:k^=(255&i.charCodeAt(c+5))<<8;case 5:k^=255&i.charCodeAt(c+4),k=Math.imul(k,a),k=k<<15|k>>>17,k=Math.imul(k,o),t^=k;case 4:l^=(255&i.charCodeAt(c+3))<<24;case 3:l^=(255&i.charCodeAt(c+2))<<16;case 2:l^=(255&i.charCodeAt(c+1))<<8;case 1:l^=255&i.charCodeAt(c+0),l=Math.imul(l,a),l=l<<15|l>>>17,l=Math.imul(l,o),r^=l}return r^=A,t^=A,n^=A,f^=A,r=r+t>>>0,r=r+n>>>0,r=r+f>>>0,t=t+r>>>0,t=t+n>>>0,t=t+f>>>0,n=n+r>>>0,n=n+t>>>0,n=n+f>>>0,f=f+r>>>0,f=f+t>>>0,f=f+n>>>0,r^=r>>>16,r=Math.imul(r,2246822507),r^=r>>>13,r=Math.imul(r,3266489909),r^=r>>>16,t^=t>>>16,t=Math.imul(t,2246822507),t^=t>>>13,t=Math.imul(t,3266489909),t^=t>>>16,n^=n>>>16,n=Math.imul(n,2246822507),n^=n>>>13,n=Math.imul(n,3266489909),n^=n>>>16,f^=f>>>16,f=Math.imul(f,2246822507),f^=f>>>13,f=Math.imul(f,3266489909),f^=f>>>16,`${(f>>>0).toString(16).padStart(8,"0")}${(n>>>0).toString(16).padStart(8,"0")}${(t>>>0).toString(16).padStart(8,"0")}${(r>>>0).toString(16).padStart(8,"0")}`}var mn=require("obsidian"),dn=class{constructor(i){this.plugin=i,this.linkFormatter=new N2(this.plugin.app),this.throttledUpdateImageLink=this.throttle((i,e,r,t)=>{this.updateMarkdownLink(i,e,r,t)},100),this.resizeSensitivity=this.plugin.settings.resizeSensitivity,this.scrollwheelModifier=this.plugin.settings.scrollwheelModifier,this.debouncedSaveToCache=(0,mn.debounce)(this.saveDimensionsToCache,this.SCROLL_DEBOUNCE_MS,!0)}editor=null;markdownView=null;handles=[];activeImage=null;handleSize=8;startX=0;startY=0;initialWidth=0;initialHeight=0;currentHandle=null;initialAspectRatio=1;rafId=null;resizeState={isResizing:!1,isDragging:!1,isScrolling:!1};resizeBuffer={};debouncedSaveToCache;scrollTimeout=null;SCROLL_DEBOUNCE_MS=300;resizeSensitivity;scrollwheelModifier;lastMouseEvent=null;EDGE_SIZE=30;throttledUpdateImageLink;cachedEditorMaxWidth=null;linkFormatter;onload(i){this.markdownView=i,this.editor=i.editor,this.plugin.settings.isImageResizeEnbaled&&this.registerEditorEvents()}onunload(){this.rafId&&(cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollTimeout&&(clearTimeout(this.scrollTimeout),this.scrollTimeout=null),this.debouncedSaveToCache?.cancel&&this.debouncedSaveToCache.cancel(),this.cleanupHandles(),this.resizeState={isResizing:!1,isDragging:!1,isScrolling:!1},this.cachedEditorMaxWidth=null,this.activeImage=null,this.lastMouseEvent=null,this.currentHandle=null,this.handles=[],this.editor=null,this.markdownView=null}onLayoutChange(i){this.cachedEditorMaxWidth=null,this.cleanupHandles(),this.onload(i),this.lastMouseEvent&&this.handleImageHover(this.lastMouseEvent)}getCachedEditorMaxWidth(){return null===this.cachedEditorMaxWidth&&(this.cachedEditorMaxWidth=this.linkFormatter.getEditorMaxWidth()),this.cachedEditorMaxWidth}registerEditorEvents(){!this.editor||!this.markdownView||(this.plugin.registerDomEvent(this.markdownView.containerEl,"mouseover",this.handleImageHover),this.plugin.registerDomEvent(document,"mousedown",this.handleMouseDown),this.plugin.registerDomEvent(document,"mousemove",this.handleMouseMove),this.plugin.registerDomEvent(document,"mouseup",this.handleMouseUp),this.plugin.registerDomEvent(this.markdownView.containerEl,"wheel",this.handleMouseWheel,{passive:!1}))}handleImageHover=i=>{if(this.resizeState.isScrolling)return;if(!this.isResizingPermitted("drag"))return void this.cleanupHandles();let e=i.target;if(this.lastMouseEvent=i,!e.instanceOf(HTMLImageElement)&&!e.hasClass("image-resize-handle"))return void this.cleanupHandles();if(e.instanceOf(HTMLImageElement)&&this.plugin.supportedImageFormats.isExcalidrawImage(e))return void this.cleanupHandles();let r=this.plugin.app.workspace.getActiveViewOfType(mn.MarkdownView);if(r&&r.containerEl.contains(e)){if(e.matchParent(".map-view-main"))this.cleanupHandles();else if(!this.resizeState.isResizing){if(e.instanceOf(HTMLImageElement)&&this.isExternalLink(e.src))return this.activeImage=e,e.addClass("image-resize-border"),void this.handleEdgeDetection(i,e);if(e.instanceOf(HTMLImageElement)&&!this.isExternalLink(e.src))return this.activeImage=e,void this.createHandles(e)}}else this.cleanupHandles()};handleEdgeDetection(i,e){if(this.resizeState.isScrolling||i.target&&i.target.hasClass("image-resize-handle"))return;let r=e.getBoundingClientRect(),t=i.clientX-r.left,n=i.clientY-r.top,f=n<=this.EDGE_SIZE,a=n>=r.height-this.EDGE_SIZE,o=t<=this.EDGE_SIZE,A=t>=r.width-this.EDGE_SIZE;e.style.cursor=f||a||o||A?f&&o||a&&A?"nwse-resize":f&&A||a&&o?"nesw-resize":f||a?"ns-resize":o||A?"ew-resize":"se-resize":"news-resize"}cleanupHandles(){if(this.resizeState.isResizing||!this.activeImage)return;let i=this.activeImage.matchParent(".image-resize-container");if(i){let e=["image-position-left","image-position-center","image-position-right","image-wrap","image-no-wrap","image-converter-aligned"];for(let r of e)i.hasClass(r)&&(this.activeImage.addClass(r),i.removeClass(r));i.parentNode?.insertBefore(this.activeImage,i),i.detach(),this.handles=[]}this.activeImage.hasClass("image-resize-border")&&(this.activeImage.removeClass("image-resize-border"),this.activeImage.style.cursor="default"),this.activeImage=null,this.lastMouseEvent=null}createHandles(i){this.cleanupHandles(),this.activeImage=i;let e=i.parentElement;if(!e)return;let r=e.createEl("div",{cls:"image-resize-container"}),t=["image-position-left","image-position-center","image-position-right","image-wrap","image-no-wrap","image-converter-aligned"];for(let e of t)i.hasClass(e)&&r.addClass(e);e.insertBefore(r,i),r.appendChild(i);this.handles=["nw","ne","sw","se","n","s","e","w"].map(i=>{let e=r.createEl("div",{cls:`image-resize-handle image-resize-handle-${i}`});return e.setAttr("data-handle-type",i),e})}handleMouseDown=i=>{if(!this.isResizingPermitted("drag"))return;let e=i.target;return e.hasClass("image-resize-handle")||e.instanceOf(HTMLImageElement)&&e.hasClass("image-resize-border")?(i.preventDefault(),i.stopPropagation(),this.startResize(i,e),void(this.resizeState.isDragging=!0)):void 0};startResize(i,e){if(this.resizeState.isResizing=!0,this.activeImage=this.activeImage||e.matchParent("img"),!this.activeImage)return void(this.resizeState.isResizing=!1);if(this.activeImage.hasClass("image-resize-border"))this.activeImage.addClass("resizing");else{let i=this.activeImage.matchParent(".image-resize-container");i&&i.addClass("resizing")}this.currentHandle=e.hasClass("image-resize-border")?"border":e.getAttr("data-handle-type")||null;let r=this.activeImage.getBoundingClientRect();r?(this.startX=i.clientX,this.startY=i.clientY,this.initialWidth=r.width,this.initialHeight=r.height,this.initialAspectRatio=this.initialWidth/this.initialHeight):this.resizeState.isResizing=!1}handleMouseMove=i=>{this.resizeState.isDragging&&(this.rafId&&cancelAnimationFrame(this.rafId),this.rafId=requestAnimationFrame(()=>{if(this.activeImage&&this.activeImage.hasClass("image-resize-border")&&this.handleEdgeDetection(i,this.activeImage),!this.resizeState.isResizing||!this.activeImage||!this.editor)return;let e=i.clientX-this.startX,r=i.clientY-this.startY,t=this.initialWidth,n=this.initialHeight,f=10;if("border"===this.currentHandle){let i=Math.max((this.initialWidth+e)/this.initialWidth,(this.initialHeight+r)/this.initialHeight);t=Math.max(f,this.initialWidth*i),n=Math.max(f,this.initialHeight*i)}else{let i=this.plugin.settings.isDragAspectRatioLocked;switch(this.currentHandle){case"n":i?(n=Math.max(f,this.initialHeight-r),t=n*this.initialAspectRatio):n=Math.max(f,this.initialHeight-r);break;case"s":i?(n=Math.max(f,this.initialHeight+r),t=n*this.initialAspectRatio):n=Math.max(f,this.initialHeight+r);break;case"e":i?(t=Math.max(f,this.initialWidth+e),n=t/this.initialAspectRatio):t=Math.max(f,this.initialWidth+e);break;case"w":i?(t=Math.max(f,this.initialWidth-e),n=t/this.initialAspectRatio):t=Math.max(f,this.initialWidth-e);break;case"nw":case"sw":t=Math.max(f,this.initialWidth-e),n=t/this.initialAspectRatio;break;case"ne":case"se":t=Math.max(f,this.initialWidth+e),n=t/this.initialAspectRatio}}let a=this.getCachedEditorMaxWidth();if(t>a){let i=this.initialAspectRatio;t=a,("border"===this.currentHandle||["nw","ne","sw","se"].includes(this.currentHandle||"")||this.plugin.settings.isDragAspectRatioLocked)&&(n=t/i)}this.activeImage.style.width=`${Math.round(t)}px`,this.activeImage.style.height=`${Math.round(n)}px`,this.throttledUpdateImageLink(this.activeImage,t,n,this.currentHandle),this.updateCursorPositionDuringResize()}))};handleMouseUp=()=>{if(!this.resizeState.isResizing||this.resizeState.isScrolling||!this.activeImage)return;if(this.activeImage.hasClass("image-resize-border"))this.activeImage.removeClass("resizing");else{let i=this.activeImage.matchParent(".image-resize-container");i&&i.removeClass("resizing")}this.currentHandle=null;let i=Math.round(this.activeImage.offsetWidth),e=Math.round(this.activeImage.offsetHeight);this.updateMarkdownLink(this.activeImage,i,e,this.currentHandle),this.cleanupHandles(),this.resizeState.isDragging=!1,this.resizeState.isResizing=!1};handleMouseWheel=i=>{if(!this.plugin.settings.isScrollResizeEnabled||!this.checkModifierKey(i))return;let e=i.target,r=null;if("IMG"===e.tagName)r=e;else if(e.hasClass("image-resize-handle")){let i=e.closest(".image-resize-container");i&&(r=i.querySelector("img"))}if(!r||!this.markdownView?.containerEl.contains(r)||this.plugin.supportedImageFormats.isExcalidrawImage(r))return;i.preventDefault(),i.stopPropagation(),this.resizeState.isScrolling=!0,this.activeImage=r;let t=r.getBoundingClientRect();if(!t)return;this.initialWidth=t.width,this.initialHeight=t.height,this.initialAspectRatio=this.initialWidth/this.initialHeight;let{newWidth:n,newHeight:f}=this.resizeImageScrollWheel(i,r),a=this.getCachedEditorMaxWidth();if(n>a){n=a,f=n/this.initialAspectRatio}getComputedStyle(r).width.endsWith("%")?r.style.width=`${n}%`:r.style.width=`${n}px`,r.style.height=`${f}px`;let o=this.plugin.app.workspace.getActiveFile();if(!o)return void console.warn("Could not get active file for image:",r);let A=o.path,s=this.getImageName(r);if(!s)return;let l=this.plugin.settings.isImageAlignmentEnabled,k=null;l&&this.plugin.ImageAlignmentManager&&(k=this.plugin.ImageAlignmentManager.getImageHash(A,s));let h=l&&Array.from(r.classList).some(i=>i.startsWith("image-position-"));l&&(this.resizeBuffer[k]={width:n,height:f}),(!l||!h)&&this.throttledUpdateImageLink(r,n,f,null),l&&this.debouncedSaveToCache(r,n,f),this.scrollTimeout&&clearTimeout(this.scrollTimeout),this.scrollTimeout=window.setTimeout(()=>{this.resizeState.isScrolling=!1,this.activeImage=null},this.SCROLL_DEBOUNCE_MS)};checkModifierKey(i){if(!this.isResizingPermitted("scroll"))return!1;switch(this.scrollwheelModifier){case"Shift":return i.shiftKey;case"Control":return i.ctrlKey;case"Alt":return i.altKey;case"Meta":return i.metaKey;case"None":return!0;default:return!1}}resizeImageScrollWheel(i,e){let r,t=Math.sign(i.deltaY),n=this.plugin.settings.resizeSensitivity,f=t<0?1+n:1/(1+n),a=getComputedStyle(e).width;e instanceof HTMLVideoElement&&a.endsWith("%")?(r=parseFloat(a)*f,r=Math.max(1,Math.min(r,100))):(r=e.clientWidth*f,r=Math.max(22,r));let o=e.clientWidth/e.clientHeight,A=Math.max(22,r/o);return r=Math.round(r),A=Math.round(A),{newWidth:r,newHeight:A,newLeft:0,newTop:0}}getEndLineOfLink(i,e,r,t){let n=i.getLine(e).substring(r,t),f=e;for(;!n.match(/\]\]|\)/)&&f"))return e;let[n]=t.trimStart();for(;r{this.isFrontmatter(o,f)||this.findAllMatches(i).filter(i=>(this.isBase64Image(i.path)?i.path:this.getFilenameFromPath(i.path))===a).forEach(i=>{let a="",h="",u="",c=this.plugin.settings.isImageAlignmentEnabled&&this.plugin.ImageAlignmentManager?this.plugin.ImageAlignmentManager.getImageAlignment(A,n):null,d=c?.width||void 0,b=c?.height||void 0,p=`${Math.round(e)}x${Math.round(r)}`;if("md"===i.type)"border"===this.currentHandle?(a=`${Math.round(e)}x`,h=`${Math.round(r)}`):["n","s"].includes(t||"")?(a=d??(void 0!==i.existingWidth?`${i.existingWidth}x`:"x"),h=`${Math.round(r)}`,"x"===a&&(a=`${this.initialWidth}x`)):["e","w"].includes(t||"")?(a=`${Math.round(e)}x`,h=b??(void 0!==i.existingHeight?`${i.existingHeight}`:""),""===h&&(h=`${this.initialHeight}`)):(a=`${Math.round(e)}x`,h=`${Math.round(r)}`),u=i.caption?`![${i.altText||""}${i.spacing.beforeFirstPipe}|${i.caption}${i.spacing.beforeSecondPipe}|${p}](${i.path})`:`![${i.altText||""}${i.spacing.beforeFirstPipe}|${p}](${i.path})`;else{"border"===this.currentHandle?(a=`${Math.round(e)}x`,h=`${Math.round(r)}`):["n","s"].includes(t||"")?(a=d??(void 0!==i.existingWidth?`${i.existingWidth}x`:"x"),h=`${Math.round(r)}`,"x"===a&&(a=`${this.initialWidth}x`)):["e","w"].includes(t||"")?(a=`${Math.round(e)}x`,h=b??(void 0!==i.existingHeight?`${i.existingHeight}`:""),""===h&&(h=`${this.initialHeight}`)):(a=`${Math.round(e)}x`,h=`${Math.round(r)}`);let n=`${Math.round(e)}x${Math.round(r)}`;u=i.caption?`![[${i.path}${i.spacing.beforeFirstPipe}|${i.caption}${i.spacing.beforeSecondPipe}|${n}]]`:`![[${i.path}${i.spacing.beforeFirstPipe}|${n}]]`}if(u){let e=i.index,r=e+i.fullMatch.length;s.push({from:{line:o,ch:e},to:{line:o,ch:r},text:u});let t=o;"front"===k?l={line:o,ch:e}:"back"===k?l={line:o,ch:e+u.length}:"below"===k&&(t=this.getEndLineOfLink(f,o,e,r),t=this.getEndOfCallout(f,t),l={line:t+1,ch:0})}})}),s.length>0&&(f.transaction({changes:s}),l&&"none"!==this.plugin.settings.resizeCursorLocation&&f.setCursor(l))}updateCursorPositionDuringResize(){if("none"===this.plugin.settings.resizeCursorLocation||!this.markdownView||!this.activeImage||!this.editor)return;let{editor:i}=this,e=i.getCursor(),r=i.getLine(e.line),t=this.getImageName(this.activeImage);if(!t||!r.includes(t))return;let n,f=r.indexOf("![["),a=r.indexOf("!["),o=r.search(/\]\]|\)/);if("front"===this.plugin.settings.resizeCursorLocation){if(-1===f&&-1===a)return;n={line:e.line,ch:Math.max(0,Math.max(f,a))}}else if("back"===this.plugin.settings.resizeCursorLocation){if(-1===o)return;n={line:e.line,ch:o+("]"===r[o]?2:1)}}else"below"===this.plugin.settings.resizeCursorLocation&&-1!==o&&(n={line:this.getEndLineOfLink(i,e.line,-1!==f?f:a,o)+1,ch:0});n&&!this.areEditorPositionsEqual(e,n)&&i.setCursor(n)}areEditorPositionsEqual(i,e){return i.line===e.line&&i.ch===e.ch}normalizePath(i){try{return decodeURIComponent(i).replace(/\\/g,"/")}catch{return i.replace(/\\/g,"/")}}getFilenameFromPath(i){let e=this.normalizePath(i);return e.split("/").pop()||e}isFrontmatter(i,e){let r=!1,t=!1;for(let n=0;n<=i;n++){let f=e.getLine(n);if(0!==n||"---"!==f){if(r&&"---"===f)r=!1;else if(n===i&&r&&t)return!0}else r=!0,t=!0}return!1}findAllMatches(i){let e,r=[],t=i=>/^\d+x\d+$/.test(i.trim()),n=/!\[\[([^|\]]+?)(?:\s*\|([^|\]]*?))?(?:\s*\|([^|\]]*))?\]\]/g;for(;null!==(e=n.exec(i));){let i,n,f=e[1].trim(),a=e[2]?.trim(),o=e[3]?.trim();if(a&&!o&&t(a)&&(o=a,a=void 0),o){let e=o.match(/^(\d+)x(\d+)$/);e&&(i=parseInt(e[1],10),n=parseInt(e[2],10))}r.push({type:"wiki",fullMatch:e[0],index:e.index,path:f,caption:a,existingWidth:i,existingHeight:n,spacing:{beforeFirstPipe:e[0].match(/\[\[[^|]+?(\s*)\|/)?.[1]||"",beforeSecondPipe:e[0].match(/\|[^|]*?(\s*)\|/)?.[1]||""}})}let f,a=/!\[([^\]]*?)(?:\s*\|([^\]|]*?))?(?:\s*\|([^\]|]*))?\]\(([^)]+)\)/g;for(;null!==(f=a.exec(i));){let i,e,n=f[1]?.trim(),a=f[2]?.trim(),o=f[3]?.trim(),A=f[4].trim();if(a&&!o&&t(a)&&(o=a,a=void 0),o){let r=o.match(/^(\d+)x(\d+)$/);r&&(i=parseInt(r[1],10),e=parseInt(r[2],10))}r.push({type:"md",fullMatch:f[0],index:f.index,path:A,altText:n,caption:a,existingWidth:i,existingHeight:e,spacing:{beforeFirstPipe:f[0].match(/\[([^\]]*?)(\s*)\|/)?.[2]||"",beforeSecondPipe:f[0].match(/\|[^|]*?(\s*)\|/)?.[1]||""}})}return r}getImageName(i){if(!i)return null;let e=i.getAttribute("src");if(!e)return null;if(this.isBase64Image(e)||this.isExternalLink(e))return e;try{e=decodeURIComponent(e);let i=e.split(/[/\\]/),[r]=i.slice(-1),[t]=(r??"").split("?");return t}catch(i){return console.error("Error processing image path:",i),null}}isExternalLink(i){return i.startsWith("http://")||i.startsWith("https://")}isBase64Image(i){return i.startsWith("data:image")}isResizingPermitted(i){return!(!this.markdownView||!this.plugin.settings.isImageResizeEnbaled||"preview"===this.markdownView.getState().mode&&!this.plugin.settings.isResizeInReadingModeEnabled)&&("drag"===i?this.plugin.settings.isDragResizeEnabled:"scroll"===i&&this.plugin.settings.isScrollResizeEnabled)}saveDimensionsToCache=async(i,e,r)=>{this.updateMarkdownLink(i,e,r,null);let t=this.plugin.app.workspace.getActiveFile();if(!t)return;let n=t.path,f=this.getImageName(i);if(!f)return;let a=this.plugin.ImageAlignmentManager.getImageHash(n,f),o=this.resizeBuffer[a];if(o&&this.plugin.settings.isImageAlignmentEnabled&&this.plugin.ImageAlignmentManager){let i=this.plugin.ImageAlignmentManager.getImageAlignment(n,f);i&&await this.plugin.ImageAlignmentManager.saveImageAlignmentToCache(n,f,i.position,`${Math.round(o.width)}px`,`${Math.round(o.height)}px`,i.wrap),delete this.resizeBuffer[a]}};throttle(i,e){let r;return(...t)=>{r||(i(...t),r=!0,window.setTimeout(()=>r=!1,e))}}},ei=require("obsidian"),pn=class{constructor(i,e,r,t){this.app=i,this.plugin=e,this.imageProcessor=r,this.folderAndFilenameManagement=t}async processImagesInNote(i){try{let{ProcessCurrentNoteconvertTo:e,ProcessCurrentNotequality:r,ProcessCurrentNoteResizeModalresizeMode:t,ProcessCurrentNoteresizeModaldesiredWidth:n,ProcessCurrentNoteresizeModaldesiredHeight:f,ProcessCurrentNoteresizeModaldesiredLength:a,ProcessCurrentNoteEnlargeOrReduce:o,allowLargerFiles:A,ProcessCurrentNoteSkipFormats:s,ProcessCurrentNoteskipImagesInTargetFormat:l}=this.plugin.settings,k="disabled"===e,h=1===r,u="None"===t,c=e,d="disabled"===e?"ORIGINAL":e.toUpperCase(),b=1,p=s.toLowerCase().split(",").map(i=>i.trim()).filter(i=>i.length>0),g=[];if(g="canvas"===i.extension?await this.getImageFilesFromCanvas(i):this.getLinkedImageFiles(i),0===g.length)return void new ei.Notice("No images found in the note.");if(g.every(i=>i.extension===(k?i.extension:c)||p.includes(i.extension.toLowerCase()))&&h&&u)return void(k?new ei.Notice("No processing needed: All images are either in skip list or kept in original format with no compression or resizing."):new ei.Notice(`No processing needed: All images are either in skip list or already in ${c.toUpperCase()} format with no compression or resizing.`));if(k&&h&&u)return void new ei.Notice("No processing needed: Original format selected with no compression or resizing.");let m=g.filter(i=>this.shouldProcessImage(i,k,c,p,l));if(0===m.length)return void(l?new ei.Notice(`No processing needed: All images are already in ${k?"their original":c.toUpperCase()} format.`):new ei.Notice("No images found that need processing."));let v=0,w=this.plugin.addStatusBarItem(),_=Date.now(),y=m.length;for(let e of m){v++;let s=await this.app.vault.readBinary(e),l=new Blob([s],{type:`image/${e.extension}`}),k=await this.imageProcessor.processImage(l,d,r,b,t,n,f,a,o,A),h=`${e.basename}.${d.toLowerCase()}`,u=e.path.replace(e.name,h);e.path!==u&&await this.app.fileManager.renameFile(e,u);let c=this.app.vault.getAbstractFileByPath(u);if(!c){console.error("Failed to find renamed file:",u);continue}await this.app.vault.modifyBinary(c,k),e.path!==u&&await this.updateLinksInNote(i,e.path,u);let p=((Date.now()-_)/1e3).toFixed(2);w.setText(`Processing image ${v} of ${y}, elapsed time: ${p} seconds`)}let C=((Date.now()-_)/1e3).toFixed(2);w.setText(`Finished processing ${v} images, total time: ${C} seconds`),window.setTimeout(()=>{w.remove()},5e3)}catch(i){console.error("Error processing images in current note:",i),new ei.Notice(`Error processing images: ${i.message}`)}}async getImageFilesFromCanvas(i){let e=await this.app.vault.read(i),r=JSON.parse(e),t=[],n=i=>{for(let e of i){if("file"===e.type&&e.file){let i=this.app.vault.getAbstractFileByPath(e.file);i instanceof ei.TFile&&this.plugin.supportedImageFormats.isSupported(void 0,i.name)&&t.push(i)}e.children&&Array.isArray(e.children)&&n(e.children)}};return r.nodes&&Array.isArray(r.nodes)&&n(r.nodes),t}getLinkedImageFiles(i){let{resolvedLinks:e}=this.app.metadataCache,r=e[i.path];return Object.keys(r).map(i=>this.app.vault.getAbstractFileByPath(i)).filter(i=>i instanceof ei.TFile&&this.plugin.supportedImageFormats.isSupported(void 0,i.name))}async processImagesInFolder(i,e){try{let r=this.app.vault.getAbstractFileByPath(i);if(!(r instanceof ei.TFolder))return void new ei.Notice("Error: Invalid folder path.");let{ProcessCurrentNoteconvertTo:t,ProcessCurrentNotequality:n,ProcessCurrentNoteResizeModalresizeMode:f,ProcessCurrentNoteresizeModaldesiredWidth:a,ProcessCurrentNoteresizeModaldesiredHeight:o,ProcessCurrentNoteresizeModaldesiredLength:A,ProcessCurrentNoteEnlargeOrReduce:s,allowLargerFiles:l,ProcessCurrentNoteSkipFormats:k}=this.plugin.settings,h="disabled"===t?"ORIGINAL":t.toUpperCase(),u=1,c=k.toLowerCase().split(",").map(i=>i.trim()).filter(i=>i.length>0),d=this.getImageFiles(r,e);if(0===d.length)return void new ei.Notice("No images found in the folder.");let b=0,p=this.plugin.addStatusBarItem(),g=Date.now(),m=d.length;for(let i of d){if(c.includes(i.extension.toLowerCase())){console.log(`Skipping image ${i.name} (format in skip list)`);continue}b++;let e=`${i.basename}.${h.toLowerCase()}`,r=i.path.replace(i.name,e),t=await this.app.vault.readBinary(i),k=new Blob([t],{type:`image/${i.extension}`}),d=await this.imageProcessor.processImage(k,h,n,u,f,a,o,A,s,l);i.path!==r&&await this.app.fileManager.renameFile(i,r);let v=this.app.vault.getAbstractFileByPath(r);if(!v){console.error("Failed to find renamed file:",r);continue}await this.app.vault.modifyBinary(v,d);let w=((Date.now()-g)/1e3).toFixed(2);p.setText(`Processing image ${b} of ${m}, elapsed time: ${w} seconds`)}let v=((Date.now()-g)/1e3).toFixed(2);p.setText(`Finished processing ${b} images, total time: ${v} seconds`),window.setTimeout(()=>{p.remove()},5e3)}catch(i){console.error("Error processing images in folder:",i),new ei.Notice(`Error processing images: ${i.message}`)}}getImageFiles(i,e){let r=[];return i.children.forEach(i=>{i instanceof ei.TFile&&this.plugin.supportedImageFormats.isSupported(void 0,i.name)?r.push(i):e&&i instanceof ei.TFolder&&(r=r.concat(this.getImageFiles(i,e)))}),r}async processAllVaultImages(){try{let{ProcessAllVaultconvertTo:i,ProcessAllVaultquality:e,ProcessAllVaultResizeModalresizeMode:r,ProcessAllVaultResizeModaldesiredWidth:t,ProcessAllVaultResizeModaldesiredHeight:n,ProcessAllVaultResizeModaldesiredLength:f,ProcessAllVaultEnlargeOrReduce:a,allowLargerFiles:o,ProcessAllVaultSkipFormats:A,ProcessAllVaultskipImagesInTargetFormat:s}=this.plugin.settings,l="disabled"===i,k=1===e,h="None"===r,u=i,c="disabled"===i?"ORIGINAL":i.toUpperCase(),d=1,b=A.toLowerCase().split(",").map(i=>i.trim()).filter(i=>i.length>0),p=await this.getAllImageFiles();if(0===p.length)return void new ei.Notice("No images found in the vault.");if(p.every(i=>i.extension===(l?i.extension:u)||b.includes(i.extension.toLowerCase()))&&k&&h)return void(l?new ei.Notice("No processing needed: All vault images are either in skip list or kept in original format with no compression or resizing."):new ei.Notice(`No processing needed: All vault images are either in skip list or already in ${u.toUpperCase()} format with no compression or resizing.`));let g=p.filter(i=>this.shouldProcessImage(i,l,u,b,s));if(0===g.length)return void(s?new ei.Notice(`No processing needed: All vault images are either in ${l?"their original":u.toUpperCase()} format or in skip list.`):new ei.Notice("No images found that need processing."));let m=0,v=this.plugin.addStatusBarItem(),w=Date.now(),_=g.length;for(let i of g){m++;let A=await this.app.vault.readBinary(i),s=new Blob([A],{type:`image/${i.extension}`}),l=await this.imageProcessor.processImage(s,c,e,d,r,t,n,f,a,o),k=`${i.basename}.${c.toLowerCase()}`,h=i.path.replace(i.name,k);i.path!==h&&this.app.vault.getAbstractFileByPath(h)&&(h=await this.folderAndFilenameManagement.handleNameConflicts(i.parent?.path||"",k)),i.path!==h&&await this.app.fileManager.renameFile(i,h);let u=this.app.vault.getAbstractFileByPath(h);if(!u){console.error("Failed to find renamed file:",h);continue}await this.app.vault.modifyBinary(u,l),await this.updateLinksInAllNotes(i.path,h);let b=((Date.now()-w)/1e3).toFixed(2);v.setText(`Processing image ${m} of ${_}, elapsed time: ${b} seconds`)}let y=((Date.now()-w)/1e3).toFixed(2);v.setText(`Finished processing ${m} images, total time: ${y} seconds`),window.setTimeout(()=>{v.remove()},5e3)}catch(i){console.error("Error processing images:",i),new ei.Notice(`Error processing images: ${i.message}`)}}async getAllImageFiles(){let i=this.app.vault.getFiles(),e=i.filter(i=>this.plugin.supportedImageFormats.isSupported(void 0,i.name)),r=i.filter(i=>i instanceof ei.TFile&&"canvas"===i.extension);for(let i of r){let r=await this.getImagesFromCanvas(i);for(let i of r){let r=this.app.vault.getAbstractFileByPath(i);r instanceof ei.TFile&&this.plugin.supportedImageFormats.isSupported(void 0,r.name)&&(e.find(i=>i.path===r.path)||e.push(r))}}return e}async getImagesFromCanvas(i){let e=[],r=await this.app.vault.read(i),t=JSON.parse(r);if(t.nodes&&Array.isArray(t.nodes))for(let i of t.nodes)"file"===i.type&&i.file&&e.push(i.file);return e}shouldProcessImage(i,e,r,t,n){let f=e?i.extension:r;return t.includes(i.extension.toLowerCase())?(console.log(`Skipping ${i.name}: Format ${i.extension} is in skip list`),!1):!n||i.extension!==f||(console.log(`Skipping ${i.name}: Already in ${f} format`),!1)}async updateLinksInAllNotes(i,e){let r=this.app.vault.getMarkdownFiles();for(let t of r)await this.updateLinksInNote(t,i,e);let t=this.app.vault.getFiles().filter(i=>"canvas"===i.extension);for(let r of t)await this.updateCanvasFileLinks(r,i,e)}async updateLinksInNote(i,e,r){let t=this.escapeRegexCharacters(e),n=this.escapeRegexCharacters(r),f=await this.app.vault.read(i),a=f.replace(new RegExp(t,"g"),n);f!==a&&(await this.app.vault.modify(i,a),console.log(`Links updated in ${i.path}`))}escapeRegexCharacters(i){return i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}async updateCanvasFileLinks(i,e,r){try{let t=await this.app.vault.read(i),n=JSON.parse(t),f=i=>{for(let t of i)"file"===t.type&&t.file===e&&(t.file=r),t.children&&Array.isArray(t.children)&&f(t.children)};n.nodes&&Array.isArray(n.nodes)&&(f(n.nodes),await this.app.vault.modify(i,JSON.stringify(n,null,2)))}catch(i){console.error("Error updating canvas file links:",i)}}},U0=require("obsidian"),gn=class extends U0.Modal{constructor(i,e,r,t){super(i),this.plugin=e,this.folderPath=r,this.batchImageProcessor=t}recursive=!1;selectedImageSource="direct";imageSourceSetting=null;qualitySetting=null;convertToSetting=null;skipFormatsSetting=null;resizeModeSetting=null;resizeInputSettings=null;enlargeReduceSettings=null;skipTargetFormatSetting=null;resizeInputsDiv=null;enlargeReduceDiv=null;imageCount=0;processedCount=0;skippedCount=0;imageCountDisplay;processedCountDisplay;skippedCountDisplay;updateImageSourceDescription=null;async onOpen(){let{contentEl:i}=this;i.addClass("image-convert-modal"),await this.createUI(i),await this.updateImageCountsAndDisplay()}onClose(){this.imageSourceSetting=null,this.qualitySetting=null,this.convertToSetting=null,this.skipFormatsSetting=null,this.resizeModeSetting=null,this.resizeInputSettings=null,this.enlargeReduceSettings=null,this.skipTargetFormatSetting=null,this.resizeInputsDiv=null,this.enlargeReduceDiv=null,this.updateImageSourceDescription=null;let{contentEl:i}=this;i.empty()}async createUI(i){this.createHeader(i),this.createWarningMessage(i),this.createImageCountsDisplay(i);let e=i.createDiv({cls:"settings-container"});this.createImageSourceSettings(e);let r=e.createDiv({cls:"format-quality-container"});this.createGeneralSettings(r);let t=e.createDiv({cls:"resize-container"});this.createResizeSettings(t);let n=e.createDiv({cls:"skip-container"});this.createSkipSettings(n),this.createProcessButton(e)}createHeader(i){let e=this.folderPath.split("/").pop()||this.folderPath,r=i.createDiv({cls:"modal-header"});r.createEl("h2",{text:"Convert, compress and resize"}),r.createEl("h6",{text:`all images in: /${e}`,cls:"modal-subtitle"})}createWarningMessage(i){i.createEl("p",{cls:"modal-warning",text:"⚠️ This will modify all images in the selected folder and subfolders (if recursive is enabled). Please ensure you have backups."})}createImageCountsDisplay(i){let e=i.createDiv({cls:"image-counts-display-container"}),r=e.createDiv({cls:"image-source-description"});r.id="image-source-description";let t=i=>{let e="No selection.";"direct"===i?e="Processing images directly in the folder.":"linked"===i&&(e="Processing images linked in notes or Canvas files."),r.setText(e)};this.updateImageSourceDescription=t,t(this.selectedImageSource),e.createEl("span",{text:"Total images found: "}),this.imageCountDisplay=e.createEl("span",{text:this.imageCount.toString()}),e.createEl("br"),e.createEl("span",{text:"To be skipped: "}),this.skippedCountDisplay=e.createEl("span",{text:this.skippedCount.toString()}),e.createEl("br"),e.createEl("span",{text:"To be processed: "}),this.processedCountDisplay=e.createEl("span",{text:this.processedCount.toString()})}createImageSourceSettings(i){i.createEl("h4",{text:"Image source"}),new U0.Setting(i).setName("Recursive").setDesc("Process images in all subfolders as well").addToggle(i=>i.setValue(this.recursive).onChange(async i=>{this.recursive=i,await this.updateImageCountsAndDisplay()}));let e=i.createDiv();e.addClass("image-source-setting-container");let r={direct:null,linked:null},t=()=>{Object.entries(r).forEach(([i,e])=>{e&&e.setIcon(this.selectedImageSource===i?"lucide-check-circle":"lucide-circle")})};new U0.Setting(e).setName("Direct images").setDesc("Images directly in the folder").addExtraButton(i=>{r.direct=i,i.setIcon("direct"===this.selectedImageSource?"lucide-check-circle":"lucide-circle").setTooltip("direct"===this.selectedImageSource?"Selected":"Select").onClick(async()=>{this.selectedImageSource="direct",this.updateImageSourceDescription&&this.updateImageSourceDescription(this.selectedImageSource),await this.updateImageCountsAndDisplay(),t()})}),new U0.Setting(e).setName("Linked images").setDesc("Images linked in notes or Canvas").addExtraButton(i=>{r.linked=i,i.setIcon("linked"===this.selectedImageSource?"lucide-check-circle":"lucide-circle").setTooltip("linked"===this.selectedImageSource?"Selected":"Select").onClick(async()=>{this.selectedImageSource="linked",this.updateImageSourceDescription&&this.updateImageSourceDescription(this.selectedImageSource),await this.updateImageCountsAndDisplay(),t()})}),i.appendChild(e),this.updateImageSourceDescription&&this.updateImageSourceDescription(this.selectedImageSource),t()}async createGeneralSettings(i){i.createEl("h4",{text:"General"}),this.convertToSetting=new U0.Setting(i).setName("Convert to ⓘ").setDesc("Choose output format. 'Same as original' applies compression/resizing to current format.").setTooltip("Same as original: preserves current format while applying compression/resizing").addDropdown(i=>{i.addOption("disabled","Same as original").addOptions({webp:"WebP",jpg:"JPG",png:"PNG"}).setValue(this.plugin.settings.ProcessCurrentNoteconvertTo).onChange(async i=>{this.plugin.settings.ProcessCurrentNoteconvertTo=i,await this.plugin.saveSettings(),await this.updateImageCountsAndDisplay()})}),this.qualitySetting=new U0.Setting(i).setName("Quality ⓘ").setDesc("Compression level (0-100)").setTooltip("100: No compression (original quality)\n75: Recommended (good balance)\n0-50: High compression (lower quality)").addText(i=>{i.setPlaceholder("Enter quality (0-100)").setValue((100*this.plugin.settings.ProcessCurrentNotequality).toString()).onChange(async i=>{let e=parseInt(i,10);!isNaN(e)&&e>=0&&e<=100&&(this.plugin.settings.ProcessCurrentNotequality=e/100,await this.plugin.saveSettings(),await this.updateImageCountsAndDisplay())})})}createSkipSettings(i){i.createEl("h4",{text:"Skip"}),this.skipFormatsSetting=new U0.Setting(i).setName("Skip formats ⓘ").setDesc("Comma-separated list (no dots or spaces, e.g., png,gif).").setTooltip("Comma-separated list of file formats to skip (e.g., tif,tiff,heic). Leave empty to process all formats.").addText(i=>{i.setPlaceholder("png,gif").setValue(this.plugin.settings.ProcessCurrentNoteSkipFormats).onChange(async i=>{this.plugin.settings.ProcessCurrentNoteSkipFormats=i,await this.plugin.saveSettings(),await this.updateImageCountsAndDisplay()})}),this.skipTargetFormatSetting=new U0.Setting(i).setName("Skip images in target format ⓘ").setDesc("Skip compression/resizing if image is already in target format.").setTooltip("If image is already in target format, this allows you to skip its compression, conversion and resizing. Processing of all other formats will be still performed.").addToggle(i=>{i.setValue(this.plugin.settings.ProcessCurrentNoteskipImagesInTargetFormat).onChange(async i=>{this.plugin.settings.ProcessCurrentNoteskipImagesInTargetFormat=i,await this.plugin.saveSettings(),await this.updateImageCountsAndDisplay()})})}async createResizeSettings(i){i.createEl("h4",{text:"Resize"}),this.resizeModeSetting=new U0.Setting(i).setName("Resize mode ⓘ").setDesc("Choose how images should be resized. Note: Results are permanent").setTooltip("Fit: Maintains aspect ratio within dimensions\nFill: Exactly matches dimensions\nLongest Edge: Limits the longest side\nShortest Edge: Limits the shortest side\nWidth/Height: Constrains single dimension").addDropdown(i=>{i.addOptions({None:"None",Fit:"Fit (maintain aspect ratio within dimensions)",Fill:"Fill (exactly match dimensions)",LongestEdge:"Longest edge",ShortestEdge:"Shortest edge",Width:"Width",Height:"Height"}).setValue(this.plugin.settings.ProcessCurrentNoteResizeModalresizeMode).onChange(async i=>{this.plugin.settings.ProcessCurrentNoteResizeModalresizeMode=i,await this.plugin.saveSettings(),this.updateResizeInputVisibility(i),await this.updateImageCountsAndDisplay()})}),this.createEnlargeReduceInputs(i),this.resizeInputsDiv=i.createDiv({cls:"resize-inputs"}),this.updateResizeInputVisibility(this.plugin.settings.ProcessCurrentNoteResizeModalresizeMode)}createEnlargeReduceInputs(i){this.enlargeReduceDiv=i.createDiv({cls:"enlarge-reduce-settings"}),this.createEnlargeReduceSettings()}createProcessButton(i){let e=i.createDiv({cls:"button-container"});new U0.ButtonComponent(e).setButtonText("Process").setCta().onClick(async()=>{this.close(),await this.batchImageProcessor.processImagesInFolder(this.folderPath,this.recursive)})}updateResizeInputVisibility(i){"None"===i?(this.resizeInputsDiv?.empty(),this.enlargeReduceDiv?.hide(),this.resizeInputSettings=null,this.enlargeReduceSettings=null):(this.resizeInputSettings?this.updateResizeInputSettings(i):this.createResizeInputSettings(i),this.enlargeReduceSettings||this.createEnlargeReduceSettings(),this.enlargeReduceDiv?.show())}createEnlargeReduceSettings(){this.enlargeReduceDiv&&(this.enlargeReduceDiv.empty(),this.enlargeReduceSettings=new U0.Setting(this.enlargeReduceDiv).setClass("enlarge-reduce-setting").setName("Enlarge or Reduce ⓘ").setDesc("Reduce and Enlarge: Adjusts all images. Reduce only: Shrinks larger images. Enlarge only: Enlarges smaller images.").setTooltip("• Reduce and Enlarge: Adjusts all images to fit specified dimensions\n• Reduce only: Only shrinks images larger than target\n• Enlarge only: Only enlarges images smaller than target").addDropdown(i=>{i.addOptions({Always:"Reduce and Enlarge",Reduce:"Reduce only",Enlarge:"Enlarge only"}).setValue(this.plugin.settings.ProcessCurrentNoteEnlargeOrReduce).onChange(async i=>{this.plugin.settings.ProcessCurrentNoteEnlargeOrReduce=i,await this.plugin.saveSettings()})}))}createResizeInputSettings(i){this.resizeInputsDiv&&(this.resizeInputsDiv.empty(),this.resizeInputSettings=new U0.Setting(this.resizeInputsDiv).setClass("resize-input-setting"),this.updateResizeInputSettings(i))}updateResizeInputSettings(i){if(!this.resizeInputSettings)return;this.resizeInputSettings.clear();let e="",r="";if(["Fit","Fill"].includes(i))e="Resize dimensions",r="Enter the desired width and height in pixels",this.resizeInputSettings.setName(e).setDesc(r).addText(i=>i.setPlaceholder("Width").setValue(this.plugin.settings.ProcessCurrentNoteresizeModaldesiredWidth.toString()).onChange(async i=>{let e=parseInt(i);/^\d+$/.test(i)&&e>0&&(this.plugin.settings.ProcessCurrentNoteresizeModaldesiredWidth=e,await this.plugin.saveSettings())})).addText(i=>i.setPlaceholder("Height").setValue(this.plugin.settings.ProcessCurrentNoteresizeModaldesiredHeight.toString()).onChange(async i=>{let e=parseInt(i);/^\d+$/.test(i)&&e>0&&(this.plugin.settings.ProcessCurrentNoteresizeModaldesiredHeight=e,await this.plugin.saveSettings())}));else{switch(i){case"LongestEdge":case"ShortestEdge":e=`${i}`,r="Enter the desired length in pixels";break;case"Width":e="Width",r="Enter the desired width in pixels";break;case"Height":e="Height",r="Enter the desired height in pixels"}this.resizeInputSettings.setName(e).setDesc(r).addText(e=>e.setPlaceholder("").setValue(this.getInitialValue(i).toString()).onChange(async e=>{let r=parseInt(e);/^\d+$/.test(e)&&r>0&&await this.updateSettingValue(i,r)}))}}getInitialValue(i){switch(i){case"LongestEdge":case"ShortestEdge":return this.plugin.settings.ProcessCurrentNoteresizeModaldesiredLength;case"Width":return this.plugin.settings.ProcessCurrentNoteresizeModaldesiredWidth;case"Height":return this.plugin.settings.ProcessCurrentNoteresizeModaldesiredHeight;default:return 0}}async updateSettingValue(i,e){switch(i){case"LongestEdge":case"ShortestEdge":this.plugin.settings.ProcessCurrentNoteresizeModaldesiredLength=e;break;case"Width":this.plugin.settings.ProcessCurrentNoteresizeModaldesiredWidth=e;break;case"Height":this.plugin.settings.ProcessCurrentNoteresizeModaldesiredHeight=e}await this.plugin.saveSettings()}async updateImageCountsAndDisplay(){let i=await this.updateImageCounts();this.updateCountDisplays(i)}async updateImageCounts(){let i=this.app.vault.getAbstractFileByPath(this.folderPath);if(!(i instanceof U0.TFolder))return new U0.Notice("Error: Invalid folder path."),{total:0,processed:0,skipped:0};let e=this.plugin.settings.ProcessCurrentNoteSkipFormats.toLowerCase().split(",").map(i=>i.trim()).filter(i=>i.length>0),r=this.plugin.settings.ProcessCurrentNoteconvertTo,t=this.plugin.settings.ProcessCurrentNoteskipImagesInTargetFormat,{directImages:n,linkedImages:f}=await this.getImageFiles(i,this.recursive,this.selectedImageSource),a=0,o=0,A=0;for(let i of n)a++,e.includes(i.extension.toLowerCase())||t&&i.extension.toLowerCase()===r?A++:o++;for(let i of f)a++,e.includes(i.extension.toLowerCase())||t&&i.extension.toLowerCase()===r?A++:o++;return console.log("updateImageCounts:",{total:a,processed:o,skipped:A,directImages:n,linkedImages:f}),{total:a,processed:o,skipped:A}}async getImageFiles(i,e,r){let t=[],n=[];for(let f of i.children)if(f instanceof U0.TFolder){if(e){let{directImages:i,linkedImages:a}=await this.getImageFiles(f,e,r);t.push(...i),n.push(...a)}}else if(f instanceof U0.TFile)if("direct"===r&&this.plugin.supportedImageFormats.isSupported(void 0,f.name))t.push(f);else if("linked"===r&&"md"===f.extension){let i=await this.getImagesFromMarkdownFile(f);n.push(...i)}else if("linked"===r&&"canvas"===f.extension){let i=await this.getImagesFromCanvasFile(f);n.push(...i)}return console.log("Images found in folder",i.path,":",{directImages:t,linkedImages:n},"recursive:",e,"selectedImageSource:",r),{directImages:t,linkedImages:n}}async getImagesFromMarkdownFile(i){console.log("Getting images from Markdown file:",i.path);let e,r=[],t=await this.app.vault.read(i),{vault:n}=this.app,f=/!\[\[([^\]]+?)(?:\|[^\]]+?)?\]\]/g;for(;null!==(e=f.exec(t));){let[,t]=e,n=this.app.metadataCache.getFirstLinkpathDest(t,i.path);n instanceof U0.TFile&&this.plugin.supportedImageFormats.isSupported(void 0,n.name)&&r.push(n)}let a=/!\[.*?\]\(([^)]+?)\)/g;for(;null!==(e=a.exec(t));){let[,i]=e;if(!i.startsWith("http")){let e=(0,U0.normalizePath)(`${n.getRoot().path}/${i}`),t=n.getAbstractFileByPath(e);t instanceof U0.TFile&&this.plugin.supportedImageFormats.isSupported(void 0,t.name)&&(console.log("Found relative linked image:",t.path),r.push(t))}}return console.log("Images found in Markdown file:",r.map(i=>i.path)),r}extractLinkedImageNames(i){let e,r=/!\[\[([^\]]+?)(?:\|[^\]]+?)?\]\]/g,t=/!\[.*?\]\(([^)]+?)\)/g,n=[];for(;null!==(e=r.exec(i));)n.push(e[1]);for(;null!==(e=t.exec(i));)n.push(e[1]);return console.log("Image names extracted from Markdown:",n),n}getFullPath(i,e){return i?(0,U0.normalizePath)(`${i.path}/${e}`):(0,U0.normalizePath)(e)}async getImagesFromCanvasFile(i){let e=[],r=await this.app.vault.read(i),t=JSON.parse(r);if(t.nodes&&Array.isArray(t.nodes))for(let i of t.nodes)if("file"===i.type&&i.file){let r=this.app.vault.getAbstractFileByPath(i.file);if(!r){console.warn("Could not find file:",i.file);continue}r instanceof U0.TFile&&this.plugin.supportedImageFormats.isSupported(void 0,r.name)&&e.push(r)}return e}updateCountDisplays(i){this.imageCount=i.total,this.processedCount=i.processed,this.skippedCount=i.skipped,this.imageCountDisplay.setText(i.total.toString()),this.processedCountDisplay.setText(i.processed.toString()),this.skippedCountDisplay.setText(i.skipped.toString())}},yi=require("obsidian"),Rr=class extends yi.Modal{constructor(i,e,r,t){super(i),this.plugin=e,this.activeFile=r,this.batchImageProcessor=t}imageCount=0;processedCount=0;skippedCount=0;imageCountDisplay;processedCountDisplay;skippedCountDisplay;enlargeReduceSettings=null;resizeInputSettings=null;submitButton=null;resizeInputsDiv=null;enlargeReduceDiv=null;convertToSetting;skipFormatsSetting;resizeModeSetting;skipTargetFormatSetting;async onOpen(){let{contentEl:i}=this,e=i.createDiv({cls:"image-convert-modal"}),r=e.createDiv({cls:"modal-header"});r.createEl("h2",{text:"Convert, compress and resize"}),r.createEl("h6",{text:`all images in: ${this.activeFile.basename}.${this.activeFile.extension}`,cls:"modal-subtitle"}),await this.updateImageCounts();let t=i.createDiv({cls:"image-counts-display"});t.createEl("span",{text:"Total Images Found: "}),this.imageCountDisplay=t.createEl("span"),t.createEl("br"),t.createEl("span",{text:"To be Processed: "}),this.processedCountDisplay=t.createEl("span"),t.createEl("br"),t.createEl("span",{text:"Skipped: "}),this.skippedCountDisplay=t.createEl("span"),r.createEl("p",{cls:"modal-warning",text:"⚠️ This will modify all images in the current note. Please ensure you have backups."});let n=e.createDiv({cls:"settings-container"}),f=n.createDiv({cls:"format-quality-container"});this.convertToSetting=new yi.Setting(f).setName("Convert to ⓘ ").setDesc("Choose output format for your images").setTooltip("Same as original: preserves current format while applying compression/resizing").addDropdown(i=>i.addOptions({disabled:"Same as original",webp:"WebP",jpg:"JPG",png:"PNG"}).setValue(this.plugin.settings.ProcessCurrentNoteconvertTo).onChange(async i=>{this.plugin.settings.ProcessCurrentNoteconvertTo=i,await this.plugin.saveSettings(),this.updateImageCountsAndDisplay()})),new yi.Setting(f).setName("Quality ⓘ").setDesc("Compression level (0-100)").setTooltip("100: No compression (original quality)\n75: Recommended (good balance)\n0-50: High compression (lower quality)").addText(i=>i.setPlaceholder("Enter quality (0-100)").setValue((100*this.plugin.settings.ProcessCurrentNotequality).toString()).onChange(async i=>{let e=parseInt(i);/^\d+$/.test(i)&&e>=0&&e<=100&&(this.plugin.settings.ProcessCurrentNotequality=e/100,await this.plugin.saveSettings())}));let a=n.createDiv({cls:"resize-container"});this.resizeModeSetting=new yi.Setting(a).setName("Resize Mode ⓘ").setDesc("Choose how images should be resized. Note: Results are permanent.").setTooltip("Fit: Maintains aspect ratio within dimensions\nFill: Exactly matches dimensions\nLongest Edge: Limits the longest side\nShortest Edge: Limits the shortest side\nWidth/Height: Constrains single dimension").addDropdown(i=>i.addOptions({None:"None",LongestEdge:"Longest Edge",ShortestEdge:"Shortest Edge",Width:"Width",Height:"Height",Fit:"Fit",Fill:"Fill"}).setValue(this.plugin.settings.ProcessCurrentNoteResizeModalresizeMode).onChange(async i=>{this.plugin.settings.ProcessCurrentNoteResizeModalresizeMode=i,await this.plugin.saveSettings(),this.updateResizeInputVisibility(i),this.updateImageCountsAndDisplay()})),this.resizeInputsDiv=a.createDiv({cls:"resize-inputs"}),this.enlargeReduceDiv=a.createDiv({cls:"enlarge-reduce-settings"});let o=n.createDiv({cls:"skip-container"});this.skipFormatsSetting=new yi.Setting(o).setName("Skip File Formats ⓘ").setTooltip("Comma-separated list of file formats to skip (e.g., tif,tiff,heic). Leave empty to process all formats.").addText(i=>i.setPlaceholder("tif,tiff,heic").setValue(this.plugin.settings.ProcessCurrentNoteSkipFormats).onChange(async i=>{this.plugin.settings.ProcessCurrentNoteSkipFormats=i,await this.plugin.saveSettings(),this.updateImageCountsAndDisplay()})),this.skipTargetFormatSetting=new yi.Setting(o).setName("Skip images in target format ⓘ").setTooltip("If image is already in target format, this allows you to skip its compression, conversion and resizing. Processing of all other formats will be still performed.").addToggle(i=>i.setValue(this.plugin.settings.ProcessCurrentNoteskipImagesInTargetFormat).onChange(async i=>{this.plugin.settings.ProcessCurrentNoteskipImagesInTargetFormat=i,await this.plugin.saveSettings(),this.updateImageCountsAndDisplay()})),this.updateResizeInputVisibility(this.plugin.settings.ProcessCurrentNoteResizeModalresizeMode),await this.updateImageCountsAndDisplay();let A=n.createDiv({cls:"button-container"});this.submitButton=new yi.ButtonComponent(A).setButtonText("Submit").onClick(async()=>{this.close(),"md"===this.activeFile.extension||"canvas"===this.activeFile.extension?(await this.batchImageProcessor.processImagesInNote(this.activeFile),await this.refreshActiveNote()):new yi.Notice("Error: Active file must be a markdown or canvas file.")})}updateResizeInputVisibility(i){"None"===i?(this.resizeInputsDiv?.empty(),this.enlargeReduceDiv?.hide(),this.resizeInputSettings=null,this.enlargeReduceSettings=null):(this.resizeInputSettings?this.updateResizeInputSettings(i):this.createResizeInputSettings(i),this.enlargeReduceSettings||this.createEnlargeReduceSettings(),this.enlargeReduceDiv?.show())}createEnlargeReduceSettings(){this.enlargeReduceDiv&&(this.enlargeReduceDiv.empty(),this.enlargeReduceSettings=new yi.Setting(this.enlargeReduceDiv).setClass("enlarge-reduce-setting").setName("Enlarge or Reduce ⓘ").setDesc("Controls how images are adjusted relative to target size:").setTooltip("• Reduce and Enlarge: Adjusts all images to fit specified dimensions\n• Reduce only: Only shrinks images larger than target\n• Enlarge only: Only enlarges images smaller than target").addDropdown(i=>{i.addOptions({Always:"Reduce and Enlarge",Reduce:"Reduce only",Enlarge:"Enlarge only"}).setValue(this.plugin.settings.ProcessCurrentNoteEnlargeOrReduce).onChange(async i=>{this.plugin.settings.ProcessCurrentNoteEnlargeOrReduce=i,await this.plugin.saveSettings()})}))}createResizeInputSettings(i){this.resizeInputsDiv&&(this.resizeInputsDiv.empty(),this.resizeInputSettings=new yi.Setting(this.resizeInputsDiv).setClass("resize-input-setting"),this.updateResizeInputSettings(i))}updateResizeInputSettings(i){if(!this.resizeInputSettings)return;this.resizeInputSettings.clear();let e="",r="";if(["Fit","Fill"].includes(i))e="Resize dimensions",r="Enter the desired width and height in pixels",this.resizeInputSettings.setName(e).setDesc(r).addText(i=>i.setPlaceholder("Width").setValue(this.plugin.settings.ProcessCurrentNoteresizeModaldesiredWidth.toString()).onChange(async i=>{let e=parseInt(i);/^\d+$/.test(i)&&e>0&&(this.plugin.settings.ProcessCurrentNoteresizeModaldesiredWidth=e,await this.plugin.saveSettings())})).addText(i=>i.setPlaceholder("Height").setValue(this.plugin.settings.ProcessCurrentNoteresizeModaldesiredHeight.toString()).onChange(async i=>{let e=parseInt(i);/^\d+$/.test(i)&&e>0&&(this.plugin.settings.ProcessCurrentNoteresizeModaldesiredHeight=e,await this.plugin.saveSettings())}));else{switch(i){case"LongestEdge":case"ShortestEdge":e=`${i}`,r="Enter the desired length in pixels";break;case"Width":e="Width",r="Enter the desired width in pixels";break;case"Height":e="Height",r="Enter the desired height in pixels"}this.resizeInputSettings.setName(e).setDesc(r).addText(e=>e.setPlaceholder("").setValue(this.getInitialValue(i).toString()).onChange(async e=>{let r=parseInt(e);/^\d+$/.test(e)&&r>0&&await this.updateSettingValue(i,r)}))}this.enlargeReduceSettings||this.createEnlargeReduceSettings()}getInitialValue(i){switch(i){case"LongestEdge":case"ShortestEdge":return this.plugin.settings.ProcessCurrentNoteresizeModaldesiredLength;case"Width":return this.plugin.settings.ProcessCurrentNoteresizeModaldesiredWidth;case"Height":return this.plugin.settings.ProcessCurrentNoteresizeModaldesiredHeight;default:return 0}}async updateSettingValue(i,e){switch(i){case"LongestEdge":case"ShortestEdge":this.plugin.settings.ProcessCurrentNoteresizeModaldesiredLength=e;break;case"Width":this.plugin.settings.ProcessCurrentNoteresizeModaldesiredWidth=e;break;case"Height":this.plugin.settings.ProcessCurrentNoteresizeModaldesiredHeight=e}await this.plugin.saveSettings()}async updateImageCountsAndDisplay(){await this.updateImageCounts(),this.updateCountDisplays()}async updateImageCounts(){if(!this.activeFile)return;let i=this.plugin.settings.ProcessCurrentNoteSkipFormats.toLowerCase().split(",").map(i=>i.trim()).filter(i=>i.length>0),e=this.plugin.settings.ProcessCurrentNoteconvertTo.toLowerCase(),r=this.plugin.settings.ProcessCurrentNoteskipImagesInTargetFormat;if("canvas"===this.activeFile.extension){let t=JSON.parse(await this.app.vault.read(this.activeFile)),n=this.getImagePathsFromCanvas(t);this.imageCount=n.length,this.processedCount=n.filter(t=>{let n=this.app.vault.getAbstractFileByPath(t);return!(!(n instanceof yi.TFile)||i.includes(n.extension.toLowerCase())||r&&n.extension.toLowerCase()===e)}).length,this.skippedCount=this.imageCount-this.processedCount}else{let t=this.getLinkedImageFiles(this.activeFile);this.imageCount=t.length,this.processedCount=t.filter(t=>!(i.includes(t.extension.toLowerCase())||r&&t.extension.toLowerCase()===e)).length,this.skippedCount=this.imageCount-this.processedCount}}getImagePathsFromCanvas(i){let e=[];for(let r of i.nodes||[])"file"===r.type&&r.file&&e.push(r.file),r.children&&Array.isArray(r.children)&&(e=e.concat(this.getImagePathsFromCanvas(r)));return e}async refreshActiveNote(){let i=this.app.workspace.getActiveFile();if(i){let e=this.app.workspace.getLeaf();if(e){let r=this.app.workspace.getMostRecentLeaf();if(r){let i=r.getViewState();await r.setViewState({type:"empty",state:{}}),await r.setViewState(i)}await e.openFile(i,{active:!0})}}}getLinkedImageFiles(i){let{resolvedLinks:e}=this.app.metadataCache,r=e[i.path];return Object.keys(r).map(i=>this.app.vault.getAbstractFileByPath(i)).filter(i=>i instanceof yi.TFile&&this.plugin.supportedImageFormats.isSupported(void 0,i.name))}updateCountDisplays(){this.imageCountDisplay.setText(this.imageCount.toString()),this.processedCountDisplay.setText(this.processedCount.toString()),this.skippedCountDisplay.setText(this.skippedCount.toString())}onClose(){this.enlargeReduceSettings=null,this.resizeInputSettings=null,this.submitButton=null,this.resizeInputsDiv=null,this.enlargeReduceDiv=null;let{contentEl:i}=this;i.empty()}},ee=require("obsidian"),bn=class extends ee.Modal{constructor(i,e,r){super(i),this.plugin=e,this.batchImageProcessor=r,this.modalEl.addClass("image-convert-modal")}enlargeReduceSettings=null;resizeInputSettings=null;resizeInputsDiv=null;enlargeReduceDiv=null;onOpen(){let{contentEl:i}=this;this.createUI(i)}onClose(){this.enlargeReduceSettings=null,this.resizeInputSettings=null,this.resizeInputsDiv=null,this.enlargeReduceDiv=null;let{contentEl:i}=this;i.empty()}createUI(i){this.createHeader(i),this.createWarningMessage(i);let e=i.createDiv({cls:"settings-container"}),r=e.createDiv({cls:"format-quality-container"});this.createGeneralSettings(r);let t=e.createDiv({cls:"resize-container"});this.createResizeSettings(t);let n=e.createDiv({cls:"skip-container"});this.createSkipSettings(n),this.createProcessButton(e)}createHeader(i){let e=i.createDiv({cls:"modal-header"});e.createEl("h2",{text:"Convert, compress and resize all images"}),e.createEl("h6",{text:"in the Vault",cls:"modal-subtitle"})}createWarningMessage(i){i.createEl("p",{cls:"modal-warning",text:"⚠️ This will modify all images in the Vault. Please ensure you have backups."})}createGeneralSettings(i){new ee.Setting(i).setName("Convert to ⓘ").setDesc("Choose output format. 'Same as original' applies compression/resizing to current format.").setTooltip("Same as original: preserves current format while applying compression/resizing").addDropdown(i=>{i.addOption("disabled","Same as original").addOptions({webp:"WebP",jpg:"JPG",png:"PNG"}).setValue(this.plugin.settings.ProcessAllVaultconvertTo).onChange(async i=>{this.plugin.settings.ProcessAllVaultconvertTo=i,await this.plugin.saveSettings()})}),new ee.Setting(i).setName("Quality ⓘ").setDesc("Compression level (0-100)").setTooltip("100: No compression (original quality)\n75: Recommended (good balance)\n0-50: High compression (lower quality)").addText(i=>{i.setPlaceholder("Enter quality (0-100)").setValue((100*this.plugin.settings.ProcessAllVaultquality).toString()).onChange(async i=>{let e=parseInt(i,10);!isNaN(e)&&e>=0&&e<=100&&(this.plugin.settings.ProcessAllVaultquality=e/100,await this.plugin.saveSettings())})})}createResizeSettings(i){new ee.Setting(i).setName("Resize mode ⓘ").setDesc("Choose how images should be resized. Note: Results are permanent.").setTooltip("Fit: Maintains aspect ratio within dimensions\nFill: Exactly matches dimensions\nLongest Edge: Limits the longest side\nShortest Edge: Limits the shortest side\nWidth/Height: Constrains single dimension").addDropdown(i=>{i.addOptions({None:"None",Fit:"Fit",Fill:"Fill",LongestEdge:"Longest Edge",ShortestEdge:"Shortest Edge",Width:"Width",Height:"Height"}).setValue(this.plugin.settings.ProcessAllVaultResizeModalresizeMode).onChange(async i=>{this.plugin.settings.ProcessAllVaultResizeModalresizeMode=i,await this.plugin.saveSettings(),this.updateResizeInputVisibility(i)})}),this.resizeInputsDiv=i.createDiv({cls:"resize-inputs"}),this.enlargeReduceDiv=i.createDiv({cls:"enlarge-reduce-settings"}),this.updateResizeInputVisibility(this.plugin.settings.ProcessAllVaultResizeModalresizeMode)}createSkipSettings(i){new ee.Setting(i).setName("Skip formats ⓘ").setDesc("Comma-separated list (no dots or spaces, e.g., png,gif).").setTooltip("Comma-separated list of file formats to skip (e.g., tif,tiff,heic). Leave empty to process all formats.").addText(i=>{i.setPlaceholder("png,gif").setValue(this.plugin.settings.ProcessAllVaultSkipFormats).onChange(async i=>{this.plugin.settings.ProcessAllVaultSkipFormats=i,await this.plugin.saveSettings()})}),new ee.Setting(i).setName("Skip images in target format ⓘ").setDesc("Skip compression/resizing if image is already in target format.").setTooltip("If image is already in target format, this allows you to skip its compression, conversion and resizing. Processing of all other formats will be still performed.").addToggle(i=>{i.setValue(this.plugin.settings.ProcessAllVaultskipImagesInTargetFormat).onChange(async i=>{this.plugin.settings.ProcessAllVaultskipImagesInTargetFormat=i,await this.plugin.saveSettings()})})}createProcessButton(i){let e=i.createDiv({cls:"button-container"});new ee.ButtonComponent(e).setButtonText("Process All Images").setCta().onClick(async()=>{this.close(),await this.batchImageProcessor.processAllVaultImages()})}updateResizeInputVisibility(i){"None"===i?(this.resizeInputsDiv?.empty(),this.enlargeReduceDiv?.hide(),this.resizeInputSettings=null,this.enlargeReduceSettings=null):(this.resizeInputSettings?this.updateResizeInputSettings(i):this.createResizeInputSettings(i),this.enlargeReduceSettings||this.createEnlargeReduceSettings(),this.enlargeReduceDiv?.show())}createEnlargeReduceSettings(){this.enlargeReduceDiv&&(this.enlargeReduceDiv.empty(),this.enlargeReduceSettings=new ee.Setting(this.enlargeReduceDiv).setClass("enlarge-reduce-setting").setName("Enlarge or Reduce ⓘ").setDesc("Reduce and Enlarge: Adjusts all images. Reduce only: Shrinks larger images. Enlarge only: Enlarges smaller images.").setTooltip("• Reduce and Enlarge: Adjusts all images to fit specified dimensions\n• Reduce only: Only shrinks images larger than target\n• Enlarge only: Only enlarges images smaller than target").addDropdown(i=>{i.addOptions({Always:"Reduce and Enlarge",Reduce:"Reduce only",Enlarge:"Enlarge only"}).setValue(this.plugin.settings.ProcessAllVaultEnlargeOrReduce).onChange(async i=>{this.plugin.settings.ProcessAllVaultEnlargeOrReduce=i,await this.plugin.saveSettings()})}))}createResizeInputSettings(i){this.resizeInputsDiv&&(this.resizeInputsDiv.empty(),this.resizeInputSettings=new ee.Setting(this.resizeInputsDiv).setClass("resize-input-setting"),this.updateResizeInputSettings(i))}updateResizeInputSettings(i){if(!this.resizeInputSettings)return;this.resizeInputSettings.clear();let e="",r="";if(["Fit","Fill"].includes(i))e="Resize dimensions",r="Enter the desired width and height in pixels",this.resizeInputSettings.setName(e).setDesc(r).addText(i=>i.setPlaceholder("Width").setValue(this.plugin.settings.ProcessAllVaultResizeModaldesiredWidth.toString()).onChange(async i=>{let e=parseInt(i);/^\d+$/.test(i)&&e>0&&(this.plugin.settings.ProcessAllVaultResizeModaldesiredWidth=e,await this.plugin.saveSettings())})).addText(i=>i.setPlaceholder("Height").setValue(this.plugin.settings.ProcessAllVaultResizeModaldesiredHeight.toString()).onChange(async i=>{let e=parseInt(i);/^\d+$/.test(i)&&e>0&&(this.plugin.settings.ProcessAllVaultResizeModaldesiredHeight=e,await this.plugin.saveSettings())}));else{switch(i){case"LongestEdge":case"ShortestEdge":e=`${i}`,r="Enter the desired length in pixels";break;case"Width":e="Width",r="Enter the desired width in pixels";break;case"Height":e="Height",r="Enter the desired height in pixels"}this.resizeInputSettings.setName(e).setDesc(r).addText(e=>e.setPlaceholder("").setValue(this.getInitialValue(i).toString()).onChange(async e=>{let r=parseInt(e);/^\d+$/.test(e)&&r>0&&await this.updateSettingValue(i,r)}))}}getInitialValue(i){switch(i){case"LongestEdge":case"ShortestEdge":return this.plugin.settings.ProcessAllVaultResizeModaldesiredLength;case"Width":return this.plugin.settings.ProcessAllVaultResizeModaldesiredWidth;case"Height":return this.plugin.settings.ProcessAllVaultResizeModaldesiredHeight;default:return 0}}async updateSettingValue(i,e){switch(i){case"LongestEdge":case"ShortestEdge":this.plugin.settings.ProcessAllVaultResizeModaldesiredLength=e;break;case"Width":this.plugin.settings.ProcessAllVaultResizeModaldesiredWidth=e;break;case"Height":this.plugin.settings.ProcessAllVaultResizeModaldesiredHeight=e}await this.plugin.saveSettings()}},q1=require("obsidian"),vn=class{constructor(i){this.plugin=i,this.initializeObserver(),this.applyCaptionStyles(),this.applyCaptionClass()}observer=null;observerTimeout=null;processing=!1;initializeObserver(){this.cleanup(),this.observer=new MutationObserver(this.handleMutations.bind(this)),this.startObserving()}startObserving(){if(!this.observer)return;let i=this.plugin.app.workspace.getActiveViewOfType(q1.MarkdownView);i&&this.observer.observe(i.contentEl,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["alt","src","class"]})}handleMutations(i){if(this.processing)return;this.processing=!0,this.observerTimeout&&clearTimeout(this.observerTimeout);let e=i.filter(i=>{let e=i.target;return"childList"===i.type?Array.from(i.addedNodes).some(i=>this.isRelevantNode(i)):"attributes"===i.type&&this.isRelevantNode(e)});this.observerTimeout=setTimeout(()=>{try{e.length>0&&this.processImageCaptions()}catch(i){console.error("Error processing mutations:",i)}finally{this.processing=!1}},100)}isRelevantNode(i){if(!(i instanceof Element))return!1;let{className:e}=i;return!("string"!=typeof e||e.includes("cm-")||e.includes("image-resize")||e.includes("cm-content cm-lineWrapping"))&&(i.matches("div.image-embed, div.callout")||!!i.querySelector("div.image-embed, div.callout"))}processImageCaptions(){this.observer?.disconnect();try{let i=this.plugin.app.workspace.getActiveViewOfType(q1.MarkdownView);i&&i.contentEl.querySelectorAll(".image-embed").forEach(i=>{this.processImageEmbed(i)}),document.querySelectorAll(".callout .image-embed").forEach(i=>{this.processImageEmbed(i,!0)})}finally{this.startObserving()}}processImageEmbed(i,e=!1){let r=i.querySelector("img");if(!r)return;let{enableImageCaptions:t,skipCaptionExtensions:n}=this.plugin.settings;if(!t)return;let f=r.width||r.getAttribute("width");f&&i.style.setProperty("--img-width",`${f}px`);let a=i.getAttribute("src")||"",o=r.getAttribute("alt")||"",A=a.split(".").pop()?.split("?")[0]?.toLowerCase()||"",s=n.split(",").map(i=>i.trim().toLowerCase()),l=o.trim().toLowerCase()===a.trim().toLowerCase();s.includes(A)||l?(i.removeAttribute("alt"),r.removeAttribute("alt")):e&&(i.setAttribute("data-in-callout","true"),o&&i.setAttribute("alt",o))}applyCaptionClass(){let{enableImageCaptions:i,skipCaptionExtensions:e}=this.plugin.settings,r=e.split(",").map(i=>i.trim().toLowerCase());i?(document.body.classList.add("image-captions-enabled"),document.querySelectorAll(".image-embed").forEach(i=>{let e=i.querySelector("img");if(e){let t=i.getAttribute("src")??"",n=e.getAttribute("alt")??"",f=t.split(".").pop()?.split("?")[0]?.toLowerCase()??"",a=n.trim().toLowerCase()===t.trim().toLowerCase();(r.includes(f)||a)&&(i.removeAttribute("alt"),e.removeAttribute("alt"))}})):document.body.classList.remove("image-captions-enabled")}applyCaptionStyles(){let i="image-caption-styles",e=document.getElementById(i);e||(e=document.createElement("style"),e.id=i,document.head.appendChild(e));let{captionFontSize:r,captionColor:t,captionFontStyle:n,captionBackgroundColor:f,captionPadding:a,captionBorderRadius:o,captionMarginTop:A,captionOpacity:s,captionFontWeight:l,captionTextTransform:k,captionLetterSpacing:h,captionBorder:u,captionAlignment:c}=this.plugin.settings;e.textContent=`\n /* Container styling */\n .image-captions-enabled .internal-embed.image-embed[alt] {\n display: flex !important;\n flex-direction: column;\n align-items: ${"center"===c?"center":"left"===c?"flex-start":"flex-end"};\n justify-content: center;\n width: fit-content;\n }\n \n /* Caption styling */\n .image-captions-enabled .image-embed[alt]:after {\n display: block;\n width: var(--img-width);\n font-family: var(--font-interface);\n font-size: ${r||"var(--font-smaller)"};\n color: ${t||"var(--text-gray)"};\n background-color: ${f||"transparent"};\n opacity: ${s||"1"};\n content: attr(alt);\n margin-top: ${A||"4px"};\n padding: ${a||"2px 4px"};\n border-radius: ${o||"0"};\n font-style: ${n||"italic"};\n font-weight: ${l||"normal"};\n text-transform: ${k||"none"};\n letter-spacing: ${h||"normal"};\n border: ${u||"none"};\n text-align: ${c||"center"};\n transition: all 0.2s ease;\n box-sizing: border-box;\n }\n \n /* Image styling */\n .image-captions-enabled .image-embed[alt] img {\n display: block;\n max-width: 100%;\n height: auto;\n }\n `}refresh(){this.processImageCaptions(),this.applyCaptionClass(),this.applyCaptionStyles()}updateStyles(){this.applyCaptionStyles()}cleanup(){this.observer&&(this.observer.disconnect(),this.observer=null),this.observerTimeout&&(clearTimeout(this.observerTimeout),this.observerTimeout=null)}},Ti=require("obsidian"),Pr=class extends Ti.Modal{constructor(i,e,r,t,n){super(i),this.settings=e,this.onApply=r,this.plugin=t,this.variableProcessor=n,this.selectedConversionPreset=this.plugin.getPresetByName(this.settings.selectedConversionPreset,this.settings.conversionPresets,"Conversion"),this.selectedFilenamePreset=this.plugin.getPresetByName(this.settings.selectedFilenamePreset,this.settings.filenamePresets,"Filename"),this.selectedFolderPreset=this.plugin.getPresetByName(this.settings.selectedFolderPreset,this.settings.folderPresets,"Folder"),this.selectedLinkFormatPreset=this.plugin.getPresetByName(this.settings.linkFormatSettings.selectedLinkFormatPreset,this.settings.linkFormatSettings.linkFormatPresets,"LinkFormat"),this.selectedResizePreset=this.plugin.getPresetByName(this.settings.nonDestructiveResizeSettings.selectedResizePreset,this.settings.nonDestructiveResizeSettings.resizePresets,"Resize"),this.initializeSessionState()}variableProcessor;selectedConversionPreset;selectedFilenamePreset;selectedFolderPreset;selectedLinkFormatPreset;selectedResizePreset;conversionQualitySetting=null;conversionColorDepthSetting=null;selectedGlobalPreset=null;folderPresetDropdown;filenamePresetDropdown;conversionPresetDropdown;linkFormatPresetDropdown;resizePresetDropdown;customFilenameSetting=null;customFilenameText=null;customFolderSetting=null;customFolderText=null;previewContainer=null;updateTimeout=null;isProcessingCardExpanded=!1;processingCardContent=null;processingCardPreview=null;processingCardChevron=null;temporaryCustomFolderOverride="";temporaryCustomFilenameOverride="";initializeSessionState(){let i=this.settings.modalSessionState;void 0!==i?.customFolderOverride?this.temporaryCustomFolderOverride=i.customFolderOverride:this.selectedFolderPreset.customTemplate&&(this.temporaryCustomFolderOverride=this.selectedFolderPreset.customTemplate),void 0!==i?.customFilenameOverride?this.temporaryCustomFilenameOverride=i.customFilenameOverride:this.selectedFilenamePreset.customTemplate&&(this.temporaryCustomFilenameOverride=this.selectedFilenamePreset.customTemplate)}saveSessionState(){this.settings.modalSessionState||(this.settings.modalSessionState={customFolderOverride:"",customFilenameOverride:""}),this.settings.modalSessionState.customFolderOverride=this.temporaryCustomFolderOverride,this.settings.modalSessionState.customFilenameOverride=this.temporaryCustomFilenameOverride,this.plugin.saveSettings()}onOpen(){let{contentEl:i}=this;i.empty(),i.addClass("image-converter-preset-selection-modal");let e=i.createDiv("image-converter-compact-container");this.createCompactHeader(e),this.createCompactInputSection(e),this.createCompactProcessingSection(e),this.createCompactPreview(e),this.createActionButtons(e),this.updatePreviews(),setTimeout(()=>{this.customFilenameText&&this.customFilenameText.inputEl&&(this.customFilenameText.inputEl.focus(),this.customFilenameText.inputEl.select())},50)}createCompactHeader(i){let e=i.createDiv("image-converter-compact-header");e.createEl("h2",{text:"Image Converter",cls:"image-converter-compact-title"});let r=e.createDiv("image-converter-variables-header");new Ti.Setting(r).addButton(i=>{i.setButtonText("{Variables}").setTooltip("Show available variables").onClick(()=>this.showAvailableVariables()),i.buttonEl.addClass("image-converter-variables-header-btn")});let t=e.createDiv("image-converter-global-mini");this.createGlobalPresetDropdown(t)}createCompactInputSection(i){let e=i.createDiv("image-converter-compact-inputs");this.createCompactInputWithPreset(e,"📂 Folder","Temporarily overwrite path defined in selected preset e.g.: assets/{YYYY}/{MM}","Where to save the image",this.selectedFolderPreset,this.settings.folderPresets,i=>{this.customFolderText=i},i=>{this.selectedFolderPreset=this.settings.folderPresets.find(e=>e.name===i)||this.settings.folderPresets[0],this.temporaryCustomFolderOverride=this.selectedFolderPreset.customTemplate||"",this.customFolderText&&this.customFolderText.setValue(this.temporaryCustomFolderOverride),this.updatePreviews()},i=>{this.folderPresetDropdown=i}),this.createCompactInputWithPreset(e,"📄 Filename","e.g., {imagename}-{timestamp}","What to name the file",this.selectedFilenamePreset,this.settings.filenamePresets,i=>{this.customFilenameText=i},i=>{this.selectedFilenamePreset=this.settings.filenamePresets.find(e=>e.name===i)||this.settings.filenamePresets[0],this.temporaryCustomFilenameOverride=this.selectedFilenamePreset.customTemplate||"",this.customFilenameText&&this.customFilenameText.setValue(this.temporaryCustomFilenameOverride),this.updatePreviews()},i=>{this.filenamePresetDropdown=i})}createCompactInputWithPreset(i,e,r,t,n,f,a,o,A){let s=i.createDiv("image-converter-compact-input-group"),l=s.createDiv("image-converter-label-dropdown-row");l.createEl("div",{text:e,cls:"image-converter-group-label"});let k=l.createDiv("image-converter-preset-dropdown-container"),h=new Ti.Setting(k).setClass("image-converter-preset-dropdown-setting").addDropdown(i=>{f.forEach(e=>{i.addOption(e.name,e.name)}),i.setValue(n.name),i.onChange(o),i.selectEl.addClass("image-converter-compact-dropdown");let r=e.replace("📂 ","").replace("📄 ","");i.selectEl.setAttribute("data-preset-type",r.toLowerCase())});h.settingEl.addClass("image-converter-preset-dropdown-setting-item"),h.settingEl.addClass("image-converter-hide-name-desc");let u=s.createDiv("image-converter-input-row"),c=new Ti.Setting(u).setClass("image-converter-text-setting").addText(i=>{a(i);let t="";return t=e.includes("📂")?this.temporaryCustomFolderOverride:e.includes("📄")?this.temporaryCustomFilenameOverride:n.customTemplate||"",i.setPlaceholder(r).setValue(t).onChange(i=>{e.includes("📂")?this.temporaryCustomFolderOverride=i:e.includes("📄")&&(this.temporaryCustomFilenameOverride=i),this.updatePreviews()}),i.inputEl.setAttr("spellcheck","false"),i.inputEl.addClass("image-converter-full-width-input"),i});c.settingEl.addClass("image-converter-text-setting-item"),c.settingEl.addClass("image-converter-hide-name-desc"),A(h)}createCompactProcessingSection(i){let e=i.createDiv("image-converter-processing-card"),r=e.createDiv("image-converter-processing-card-header");r.addClass("image-converter-processing-card-header-clickable");let t=r.createDiv("image-converter-processing-card-header-content");this.processingCardPreview=t.createDiv("image-converter-processing-preview-text"),this.processingCardChevron=t.createEl("span",{text:"▶",cls:"image-converter-processing-card-chevron"}),this.updateProcessingPreview(),this.processingCardContent=e.createDiv("image-converter-processing-card-content"),this.processingCardContent.addClass("image-converter-collapsed");let n=this.processingCardContent.createDiv("image-converter-grid-header-row");n.createEl("div",{text:"Format",cls:"image-converter-grid-header"}),n.createEl("div",{text:"Link",cls:"image-converter-grid-header"});let f=this.processingCardContent.createDiv("image-converter-grid-component-row"),a=f.createDiv("image-converter-grid-component");this.conversionPresetDropdown=new Ti.Setting(a).addDropdown(i=>{this.settings.conversionPresets.forEach(e=>{i.addOption(e.name,e.name)}),i.setValue(this.selectedConversionPreset.name),i.onChange(i=>{this.selectedConversionPreset=this.settings.conversionPresets.find(e=>e.name===i)||this.settings.conversionPresets[0],this.updateConversionSettings(e),this.updateProcessingPreview()}),i.selectEl.addClass("image-converter-format-dropdown")}),this.conversionPresetDropdown.settingEl.addClass("image-converter-grid-dropdown-setting");let o=f.createDiv("image-converter-grid-component");this.linkFormatPresetDropdown=new Ti.Setting(o).addDropdown(i=>{this.settings.linkFormatSettings.linkFormatPresets.forEach(e=>{i.addOption(e.name,e.name)}),i.setValue(this.selectedLinkFormatPreset.name),i.onChange(i=>{this.selectedLinkFormatPreset=this.settings.linkFormatSettings.linkFormatPresets.find(e=>e.name===i)||this.settings.linkFormatSettings.linkFormatPresets[0],this.updateProcessingPreview()}),i.selectEl.addClass("image-converter-link-dropdown")}),this.linkFormatPresetDropdown.settingEl.addClass("image-converter-grid-dropdown-setting");let A=this.processingCardContent.createDiv("image-converter-grid-header-row");A.createEl("div",{text:"Resize",cls:"image-converter-grid-header"});let s=A.createEl("div",{text:`Quality ${this.selectedConversionPreset.quality}%`,cls:"image-converter-grid-header image-converter-quality-header"}),l=this.processingCardContent.createDiv("image-converter-grid-component-row"),k=l.createDiv("image-converter-grid-component");this.resizePresetDropdown=new Ti.Setting(k).addDropdown(i=>{this.settings.nonDestructiveResizeSettings.resizePresets.forEach(e=>{i.addOption(e.name,e.name)}),i.setValue(this.selectedResizePreset.name),i.onChange(i=>{this.selectedResizePreset=this.settings.nonDestructiveResizeSettings.resizePresets.find(e=>e.name===i)||this.settings.nonDestructiveResizeSettings.resizePresets[0],this.updateProcessingPreview()}),i.selectEl.addClass("image-converter-resize-dropdown")}),this.resizePresetDropdown.settingEl.addClass("image-converter-grid-dropdown-setting");let h=l.createDiv("image-converter-grid-component");this.conversionQualitySetting=new Ti.Setting(h).addSlider(i=>{i.setLimits(0,100,1).setValue(this.selectedConversionPreset.quality).setDynamicTooltip().onChange(i=>{this.selectedConversionPreset.quality=i,s.textContent=`Quality ${i}%`,this.updateProcessingPreview()}),i.sliderEl.addClass("image-converter-quality-slider")}),this.conversionQualitySetting.settingEl.addClass("image-converter-grid-slider-setting"),r.onclick=()=>{this.toggleProcessingCard()}}createCompactPreview(i){let e=i.createDiv("image-converter-compact-preview");e.createDiv("image-converter-preview-header-compact").createEl("span",{text:"Preview",cls:"image-converter-preview-title-compact"}),this.previewContainer=e.createDiv("image-converter-preview-content-compact")}updateConversionSettings(i){}createActionButtons(i){let e=i.createDiv("image-converter-compact-actions");new Ti.Setting(e).addButton(i=>{i.setButtonText("Edit presets").onClick(()=>{this.close();let i=this.app;i.setting?(i.setting.open(),i.setting.openTabById(this.plugin.manifest.id)):new Ti.Notice("Unable to open settings.")})}).addButton(i=>{i.setButtonText("Apply").setCta().onClick(()=>{this.saveSessionState();let i={...this.selectedFilenamePreset},e={...this.selectedFolderPreset};i.customTemplate=this.temporaryCustomFilenameOverride,e.customTemplate=this.temporaryCustomFolderOverride,this.temporaryCustomFolderOverride&&""!==this.temporaryCustomFolderOverride.trim()&&(e.type="CUSTOM"),this.onApply(this.selectedConversionPreset,i,e,this.selectedLinkFormatPreset,this.selectedResizePreset),this.close()})})}createGlobalPresetDropdown(i){new Ti.Setting(i).addDropdown(e=>{e.addOption("none","None"),this.settings.globalPresets.forEach(i=>{e.addOption(i.name,i.name)}),e.setValue(this.selectedGlobalPreset?this.selectedGlobalPreset.name:"none"),e.onChange(e=>{"none"===e?(this.selectedGlobalPreset=null,this.selectedConversionPreset=this.settings.conversionPresets.find(i=>i.name===this.settings.selectedConversionPreset)||this.settings.conversionPresets[0],this.selectedFilenamePreset=this.settings.filenamePresets.find(i=>i.name===this.settings.selectedFilenamePreset)||this.settings.filenamePresets[0],this.selectedFolderPreset=this.settings.folderPresets.find(i=>i.name===this.settings.selectedFolderPreset)||this.settings.folderPresets[0],this.selectedLinkFormatPreset=this.settings.linkFormatSettings.linkFormatPresets.find(i=>i.name===this.settings.linkFormatSettings.selectedLinkFormatPreset)||this.settings.linkFormatSettings.linkFormatPresets[0],this.selectedResizePreset=this.settings.nonDestructiveResizeSettings.resizePresets.find(i=>i.name===this.settings.nonDestructiveResizeSettings.selectedResizePreset)||this.settings.nonDestructiveResizeSettings.resizePresets[0]):(this.selectedGlobalPreset=this.settings.globalPresets.find(i=>i.name===e)||null,this.selectedGlobalPreset&&(this.selectedConversionPreset=this.settings.conversionPresets.find(i=>i.name===(this.selectedGlobalPreset?.conversionPreset||""))||this.settings.conversionPresets[0],this.selectedFilenamePreset=this.settings.filenamePresets.find(i=>i.name===(this.selectedGlobalPreset?.filenamePreset||""))||this.settings.filenamePresets[0],this.selectedFolderPreset=this.settings.folderPresets.find(i=>i.name===(this.selectedGlobalPreset?.folderPreset||""))||this.settings.folderPresets[0],this.selectedLinkFormatPreset=this.settings.linkFormatSettings.linkFormatPresets.find(i=>i.name===(this.selectedGlobalPreset?.linkFormatPreset||""))||this.settings.linkFormatSettings.linkFormatPresets[0],this.selectedResizePreset=this.settings.nonDestructiveResizeSettings.resizePresets.find(i=>i.name===(this.selectedGlobalPreset?.resizePreset||""))||this.settings.nonDestructiveResizeSettings.resizePresets[0])),this.folderPresetDropdown.components[0].setValue(this.selectedFolderPreset.name),this.filenamePresetDropdown.components[0].setValue(this.selectedFilenamePreset.name),this.conversionPresetDropdown.components[0].setValue(this.selectedConversionPreset.name),this.linkFormatPresetDropdown.components[0].setValue(this.selectedLinkFormatPreset.name),this.resizePresetDropdown.components[0].setValue(this.selectedResizePreset.name),this.temporaryCustomFolderOverride=this.selectedFolderPreset.customTemplate||"",this.temporaryCustomFilenameOverride=this.selectedFilenamePreset.customTemplate||"",this.customFolderText&&this.customFolderText.setValue(this.temporaryCustomFolderOverride),this.customFilenameText&&this.customFilenameText.setValue(this.temporaryCustomFilenameOverride);let r=i.closest(".image-converter-compact-container")?.querySelectorAll(".image-converter-compact-processing");r&&r.length>0&&this.updateConversionSettings(r[0]),this.updatePreviews()})}).settingEl.addClass("image-converter-global-mini-setting")}updatePreviews=async()=>{!this.previewContainer||!this.customFolderText||!this.customFilenameText||(this.updateTimeout&&window.clearTimeout(this.updateTimeout),this.updateTimeout=window.setTimeout(async()=>{if(this.previewContainer)try{let i=this.app.workspace.getActiveFile(),e=this.app.vault.getFiles().find(i=>i.extension.match(/^(jpg|jpeg|png|gif|webp)$/i)),r=i?.extension.match(/^(jpg|jpeg|png|gif|webp)$/i)?i:e,t=this.temporaryCustomFolderOverride||"",n=this.temporaryCustomFilenameOverride||"",f=document.createElement("div");if(t||n){let e=[t?await this.variableProcessor.processTemplate(t,{file:r||this.app.vault.getFiles()[0],activeFile:i||this.app.vault.getFiles()[0]}):"",n?await this.variableProcessor.processTemplate(n,{file:r||this.app.vault.getFiles()[0],activeFile:i||this.app.vault.getFiles()[0]}):""].filter(Boolean).join("/");f.createEl("div",{text:e||"No path specified",cls:"image-converter-preview-path-compact"})}else f.createEl("div",{text:"Enter templates to see preview",cls:"image-converter-preview-empty-compact"});this.previewContainer&&(this.previewContainer.empty(),this.previewContainer.append(f))}catch(i){console.error("Preview generation error:",i),this.previewContainer&&(this.previewContainer.empty(),this.previewContainer.createEl("div",{text:"Error generating preview",cls:"image-converter-preview-error-compact"}))}},150))};showAvailableVariables(){new gr(this.app,this.variableProcessor).open()}updateProcessingPreview(){if(!this.processingCardPreview)return;let i=`${this.selectedConversionPreset.name} ${`${this.selectedConversionPreset.quality}%`} • ${this.selectedLinkFormatPreset.name} • ${this.selectedResizePreset.name}`;this.processingCardPreview.textContent=i}toggleProcessingCard(){this.isProcessingCardExpanded=!this.isProcessingCardExpanded,this.processingCardContent&&this.processingCardChevron&&(this.isProcessingCardExpanded?(this.processingCardContent.removeClass("image-converter-collapsed"),this.processingCardChevron.textContent="▼"):(this.processingCardContent.addClass("image-converter-collapsed"),this.processingCardChevron.textContent="▶"))}onClose(){this.updateTimeout&&(window.clearTimeout(this.updateTimeout),this.updateTimeout=null),this.conversionQualitySetting=null,this.conversionColorDepthSetting=null,this.customFilenameSetting=null,this.customFilenameText=null,this.customFolderSetting=null,this.customFolderText=null,this.previewContainer=null;let{contentEl:i}=this;i.empty()}},wn=class extends x0.Plugin{settings;supportedImageFormats;folderAndFilenameManagement;imageProcessor;variableProcessor;linkFormatter;contextMenu;ImageAlignmentManager=null;imageResizer=null;batchImageProcessor;processSingleImageModal;processFolderModal;processCurrentNote;processAllVaultModal;captionManager;processedImage=null;temporaryBuffers=[];async onload(){await this.loadSettings(),this.addSettingTab(new ft(this.app,this)),this.supportedImageFormats=new rt(this.app),this.settings.enableImageCaptions&&(this.captionManager=new vn(this),this.register(()=>this.captionManager.cleanup())),this.settings.isImageAlignmentEnabled&&(this.ImageAlignmentManager=new cn(this.app,this,this.supportedImageFormats),await this.ImageAlignmentManager.initialize(),this.registerEvent(this.app.workspace.on("file-open",i=>{i&&(this.ImageAlignmentManager?.applyAlignmentsToNote(i.path),this.settings.enableImageCaptions&&this.captionManager.refresh())}))),this.app.workspace.onLayoutReady(()=>{this.initializeComponents(),(this.settings.isImageAlignmentEnabled||this.settings.isImageResizeEnbaled)&&this.registerEvent(this.app.workspace.on("layout-change",()=>{if(this.settings.isImageAlignmentEnabled){let i=this.app.workspace.getActiveFile();i&&this.ImageAlignmentManager?.applyAlignmentsToNote(i.path)}if(this.settings.isImageResizeEnbaled){let i=this.app.workspace.getActiveViewOfType(x0.MarkdownView);i&&this.imageResizer?.onLayoutChange(i)}this.settings.enableImageCaptions&&this.captionManager.refresh()}))})}async initializeComponents(){if(this.variableProcessor=new kt(this.app,this.settings),this.linkFormatter=new N2(this.app),this.imageProcessor=new lt(this.supportedImageFormats),this.settings.isImageResizeEnbaled){this.imageResizer=new dn(this);let i=this.app.workspace.getActiveViewOfType(x0.MarkdownView);i&&this.imageResizer.onload(i)}this.folderAndFilenameManagement=new tt(this.app,this.settings,this.supportedImageFormats,this.variableProcessor),this.batchImageProcessor=new pn(this.app,this,this.imageProcessor,this.folderAndFilenameManagement),this.settings.enableContextMenu&&(this.contextMenu=new kn(this.app,this,this.folderAndFilenameManagement,this.variableProcessor)),this.dropPasteRegisterEvents(),this.registerEvent(this.app.workspace.on("file-menu",(i,e)=>{e instanceof x0.TFile&&this.supportedImageFormats.isSupported(void 0,e.name)?i.addItem(i=>{i.setTitle("Process image").setIcon("cog").onClick(()=>{new lr(this.app,this,e).open()})}):e instanceof x0.TFolder?i.addItem(i=>{i.setTitle("Process all images in Folder").setIcon("cog").onClick(()=>{new gn(this.app,this,e.path,this.batchImageProcessor).open()})}):e instanceof x0.TFile&&("md"===e.extension||"canvas"===e.extension)&&i.addItem(i=>{i.setTitle("Process all images in "+("md"===e.extension?"Note":"Canvas")).setIcon("cog").onClick(()=>{new Rr(this.app,this,e,this.batchImageProcessor).open()})})})),this.addCommand({id:"process-all-vault-images",name:"Process all vault images",callback:()=>{new bn(this.app,this,this.batchImageProcessor).open()}}),this.addCommand({id:"process-all-images-current-note",name:"Process all images in current note",callback:()=>{let i=this.app.workspace.getActiveFile();i?new Rr(this.app,this,i,this.batchImageProcessor).open():new x0.Notice("Error: No active file found.")}}),this.addCommand({id:"open-image-converter-settings",name:"Open Image Converter Settings",callback:()=>this.commandOpenSettingsTab()}),this.addReloadCommand()}async onunload(){this.ImageAlignmentManager&&(this.ImageAlignmentManager.onunload(),this.ImageAlignmentManager=null),this.imageResizer&&(this.imageResizer.onunload(),this.imageResizer=null),this.contextMenu&&this.contextMenu.onunload(),[this.processSingleImageModal,this.processFolderModal,this.processCurrentNote,this.processAllVaultModal].forEach(i=>{i?.close&&i.close()}),[this.processSingleImageModal,this.processFolderModal,this.processCurrentNote,this.processAllVaultModal].forEach(i=>{i?.close&&i.close()}),document.body.classList.remove("image-captions-enabled")}async loadSettings(){this.settings=Object.assign({},Vi,await this.loadData())}async saveSettings(){await this.saveData(this.settings)}async commandOpenSettingsTab(){let{setting:i}=this.app;i?(await i.open(),i.openTabById(this.manifest.id)):new x0.Notice("Unable to open settings. Please check if the settings plugin is enabled.")}addReloadCommand(){this.addCommand({id:"reload-plugin",name:"Reload plugin",callback:async()=>{new x0.Notice("Reloading Image Converter plugin...");try{let{plugins:i}=this.app;if(!i||!i.disablePlugin)return console.error("Plugins API is not accessible."),void new x0.Notice("Failed to reload plugin: Plugins API unavailable.");if(await i.disablePlugin(this.manifest.id),await new Promise(i=>setTimeout(i,500)),!i||!i.enablePlugin)return console.error("Plugins API is not accessible."),void new x0.Notice("Failed to reload plugin: Plugins API unavailable.");await i.enablePlugin(this.manifest.id),new x0.Notice("Image Converter plugin reloaded!")}catch(i){console.error("Error reloading plugin:",i),new x0.Notice("Failed to reload plugin. See console for details.")}}})}dropPasteRegisterEvents(){x0.Platform.isMobile||(this.registerEvent(this.app.workspace.on("editor-drop",async(i,e)=>{if(!i.dataTransfer)return void console.warn("DataTransfer object is null initially. Cannot process drop event.");let r=e.posAtMouse(i);if(!r)return void console.warn("Could not determine drop position");let t=[];for(let e=0;ethis.supportedImageFormats.isSupported(i.type,i.name)&&!this.folderAndFilenameManagement.matchesPatterns(i.name,this.settings.neverProcessFilenames))&&(i.preventDefault(),await this.handleDrop(t,e,i,r))})),this.registerEvent(this.app.workspace.on("editor-paste",async(i,e)=>{if(!i.clipboardData)return void console.warn("ClipboardData object is null. Cannot process paste event.");let r=e.getCursor(),t=[];for(let e=0;e"file"===i.kind&&i.file&&this.supportedImageFormats.isSupported(i.type,i.file.name)&&!this.folderAndFilenameManagement.matchesPatterns(i.file.name,this.settings.neverProcessFilenames))&&(i.preventDefault(),await this.handlePaste(t,e,r))})))}async handleDrop(i,e,r,t){let n=i.filter(i=>this.supportedImageFormats.isSupported(i.type,i.name)).map(i=>i.file);if(0===n.length)return;let f=this.app.workspace.getActiveFile();if(!f)return void new x0.Notice("No active file detected.");let a=n.map(async i=>{try{let r,n,a,o,A,s,l,{modalBehavior:k}=this.settings,h="always"===k;"ask"===k&&(h=await new Promise(i=>{new Qi(this.app,"Show Preset Selection Modal?","Do you want to select presets for this image?","Yes",()=>i(!0)).open()})),h?({selectedConversionPreset:r,selectedFilenamePreset:n,selectedFolderPreset:a,selectedLinkFormatPreset:o,selectedResizePreset:A}=await new Promise(i=>{new Pr(this.app,this.settings,(e,r,t,n,f)=>{i({selectedConversionPreset:e,selectedFilenamePreset:r,selectedFolderPreset:t,selectedLinkFormatPreset:n,selectedResizePreset:f})},this,this.variableProcessor).open()})):(r=this.getPresetByName(this.settings.selectedConversionPreset,this.settings.conversionPresets,"Conversion"),n=this.getPresetByName(this.settings.selectedFilenamePreset,this.settings.filenamePresets,"Filename"),a=this.getPresetByName(this.settings.selectedFolderPreset,this.settings.folderPresets,"Folder"),o=this.getPresetByName(this.settings.linkFormatSettings.selectedLinkFormatPreset,this.settings.linkFormatSettings.linkFormatPresets,"Link Format"),A=this.getPresetByName(this.settings.nonDestructiveResizeSettings.selectedResizePreset,this.settings.nonDestructiveResizeSettings.resizePresets,"Resize"));try{({destinationPath:s,newFilename:l}=await this.folderAndFilenameManagement.determineDestination(i,f,r,n,a))}catch(e){return console.error("Error determining destination and filename:",e),void new x0.Notice(`Failed to determine destination or filename for "${i.name}". Check console for details.`)}try{await this.folderAndFilenameManagement.ensureFolderExists(s)}catch(i){if(!i.message.startsWith("Folder already exists"))return console.error("Error creating folder:",i),void new x0.Notice(`Failed to create folder "${s}". Check console for details.`)}let u=`${s}/${l}`,c=this.app.vault.getAbstractFileByPath(u),d=!1;if(n&&this.folderAndFilenameManagement.shouldSkipRename(i.name,n))new x0.Notice(`Skipped renaming/conversion of image "${i.name}" due to skip pattern match.`),d=!0;else if(n&&"increment"===n.conflictResolution)try{l=await this.folderAndFilenameManagement.handleNameConflicts(s,l,"increment"),c=this.app.vault.getAbstractFileByPath(`${s}/${l}`)}catch(e){return console.error("Error handling filename conflicts:",e),void new x0.Notice(`Error incrementing filename for "${i.name}". Check console for details.`)}let b=this.folderAndFilenameManagement.combinePath(s,l);if(d)c&&this.insertLinkAtCursorPosition(e,c.path,t,o,A);else{if(c&&n&&"reuse"===n.conflictResolution)return void this.insertLinkAtCursorPosition(e,c.path,t,o,A);if(r&&this.folderAndFilenameManagement.shouldSkipConversion(i.name,r)){new x0.Notice(`Skipped conversion of image "${i.name}" due to skip pattern match in the conversion preset.`);let r=await i.arrayBuffer(),n=await this.app.vault.createBinary(b,r);if(!n)return void new x0.Notice(`Failed to create file "${l}". Check console for details.`);this.insertLinkAtCursorPosition(e,n.path,t,o,A)}else try{let n,f=i.size;if(this.processedImage=await this.imageProcessor.processImage(i,r?r.outputFormat:this.settings.outputFormat,r?r.quality/100:this.settings.quality/100,r?r.colorDepth:this.settings.colorDepth,r?r.resizeMode:this.settings.resizeMode,r?r.desiredWidth:this.settings.desiredWidth,r?r.desiredHeight:this.settings.desiredHeight,r?r.desiredLongestEdge:this.settings.desiredLongestEdge,r?r.enlargeOrReduce:this.settings.enlargeOrReduce,r?r.allowLargerFiles:this.settings.allowLargerFiles,r,this.settings),this.settings.revertToOriginalIfLarger&&this.processedImage.byteLength>f){this.showSizeComparisonNotification(f,this.processedImage.byteLength),new x0.Notice(`Using original image for "${i.name}" as processed image is larger.`);let e=await i.arrayBuffer();n=await this.app.vault.createBinary(b,e)}else this.showSizeComparisonNotification(f,this.processedImage.byteLength),n=await this.app.vault.createBinary(b,this.processedImage);await this.insertLinkAtCursorPosition(e,n.path,t,o,A)}catch(e){return console.error("Image processing failed:",e),void(e instanceof Error?e.message.includes("File already exists")?new x0.Notice(`Failed to process image: File "${l}" already exists.`):e.message.includes("Invalid input file type")?new x0.Notice(`Failed to process image: Invalid input file type for "${i.name}".`):new x0.Notice(`Failed to process image "${i.name}": ${e.message}. Check console for details.`):new x0.Notice(`Failed to process image "${i.name}". Check console for details.`))}finally{this.clearMemory()}}}catch(i){console.error("An unexpected error occurred:",i),new x0.Notice("An unexpected error occurred. Check console for details.")}});await Promise.all(a),this.settings.enableImageCaptions&&this.captionManager.refresh()}async handlePaste(i,e,r){let t=i.filter(i=>"file"===i.kind&&i.file&&this.supportedImageFormats.isSupported(i.type,i.file.name)).map(i=>i.file).filter(i=>null!==i);if(0===t.length)return;let n=this.app.workspace.getActiveFile();if(!n)return void new x0.Notice("No active file found!");let f=t.map(async i=>{let t,f,a,o,A,{modalBehavior:s}=this.settings,l="always"===s;"ask"===s&&(l=await new Promise(i=>{new Qi(this.app,"Show Preset Selection Modal?","Do you want to select presets for this image?","Yes",()=>i(!0)).open()})),l?({selectedConversionPreset:t,selectedFilenamePreset:f,selectedFolderPreset:a,selectedLinkFormatPreset:o,selectedResizePreset:A}=await new Promise(i=>{new Pr(this.app,this.settings,(e,r,t,n,f)=>{i({selectedConversionPreset:e,selectedFilenamePreset:r,selectedFolderPreset:t,selectedLinkFormatPreset:n,selectedResizePreset:f})},this,this.variableProcessor).open()})):(t=this.getPresetByName(this.settings.selectedConversionPreset,this.settings.conversionPresets,"Conversion"),f=this.getPresetByName(this.settings.selectedFilenamePreset,this.settings.filenamePresets,"Filename"),a=this.getPresetByName(this.settings.selectedFolderPreset,this.settings.folderPresets,"Folder"),o=this.getPresetByName(this.settings.linkFormatSettings.selectedLinkFormatPreset,this.settings.linkFormatSettings.linkFormatPresets,"Link Format"),A=this.getPresetByName(this.settings.nonDestructiveResizeSettings.selectedResizePreset,this.settings.nonDestructiveResizeSettings.resizePresets,"Resize"));try{let s,l;try{({destinationPath:s,newFilename:l}=await this.folderAndFilenameManagement.determineDestination(i,n,t,f,a))}catch(e){return console.error("Error determining destination and filename:",e),void new x0.Notice(`Failed to determine destination or filename for "${i.name}". Check console for details.`)}try{await this.folderAndFilenameManagement.ensureFolderExists(s)}catch(i){if(!i.message.startsWith("Folder already exists"))return console.error("Error creating folder:",i),void new x0.Notice(`Failed to create folder: ${s}`)}let k=`${s}/${l}`,h=this.app.vault.getAbstractFileByPath(k),u=!1;if(f&&this.folderAndFilenameManagement.shouldSkipRename(i.name,f))new x0.Notice(`Skipped renaming/conversion of image "${i.name}" due to skip pattern match.`),u=!0;else if(f&&"increment"===f.conflictResolution)try{l=await this.folderAndFilenameManagement.handleNameConflicts(s,l,"increment"),h=this.app.vault.getAbstractFileByPath(`${s}/${l}`)}catch(e){return console.error("Error handling filename conflicts:",e),void new x0.Notice(`Error incrementing filename for "${i.name}". Check console for details.`)}let c=this.folderAndFilenameManagement.combinePath(s,l);if(u)h&&this.insertLinkAtCursorPosition(e,h.path,r,o,A);else{if(h&&f&&"reuse"===f.conflictResolution)return void this.insertLinkAtCursorPosition(e,h.path,r,o,A);if(t&&this.folderAndFilenameManagement.shouldSkipConversion(i.name,t)){new x0.Notice(`Skipped conversion of image "${i.name}" due to skip pattern match in the conversion preset.`);let t=await i.arrayBuffer(),n=await this.app.vault.createBinary(c,t);if(!n)return void new x0.Notice(`Failed to create file: ${l}`);this.insertLinkAtCursorPosition(e,n.path,r,o,A)}else try{let n,f=i.size;if(this.processedImage=await this.imageProcessor.processImage(i,t?t.outputFormat:this.settings.outputFormat,t?t.quality/100:this.settings.quality/100,t?t.colorDepth:this.settings.colorDepth,t?t.resizeMode:this.settings.resizeMode,t?t.desiredWidth:this.settings.desiredWidth,t?t.desiredHeight:this.settings.desiredHeight,t?t.desiredLongestEdge:this.settings.desiredLongestEdge,t?t.enlargeOrReduce:this.settings.enlargeOrReduce,t?t.allowLargerFiles:this.settings.allowLargerFiles,t,this.settings),this.settings.revertToOriginalIfLarger&&this.processedImage.byteLength>f){this.showSizeComparisonNotification(f,this.processedImage.byteLength),new x0.Notice(`Using original image for "${i.name}" as processed image is larger.`);let e=await i.arrayBuffer();n=await this.app.vault.createBinary(c,e)}else this.showSizeComparisonNotification(f,this.processedImage.byteLength),n=await this.app.vault.createBinary(c,this.processedImage);if(!n)return void new x0.Notice(`Failed to create file "${l}". Check console for details.`);this.insertLinkAtCursorPosition(e,n.path,r,o,A)}catch(e){return console.error("Image processing failed:",e),void(e instanceof Error?e.message.includes("File already exists")?new x0.Notice(`Failed to process image: File "${l}" already exists.`):e.message.includes("Invalid input file type")?new x0.Notice(`Failed to process image: Invalid input file type for "${i.name}".`):new x0.Notice(`Failed to process image "${i.name}": ${e.message}. Check console for details.`):new x0.Notice(`Failed to process image "${i.name}". Check console for details.`))}}}catch(i){console.error("An unexpected error occurred:",i),new x0.Notice("An unexpected error occurred. Check console for details.")}finally{this.clearMemory()}});await Promise.all(f),this.settings.enableImageCaptions&&this.captionManager.refresh()}async insertLinkAtCursorPosition(i,e,r,t,n){let f=this.app.workspace.getActiveFile(),a=t||this.settings.linkFormatSettings.linkFormatPresets.find(i=>i.name===this.settings.linkFormatSettings.selectedLinkFormatPreset),o=n||this.settings.nonDestructiveResizeSettings.resizePresets.find(i=>i.name===this.settings.nonDestructiveResizeSettings.selectedResizePreset),A=await this.linkFormatter.formatLink(e,a?.linkFormat||"wikilink",a?.pathFormat||"shortest",f,o);i.replaceRange(A,r),"back"===this.settings.dropPasteCursorLocation&&i.setCursor({line:r.line,ch:r.ch+A.length})}formatFileSize(i){return i<1024?`${i} bytes`:i<1048576?`${(i/1024).toFixed(1)} KB`:`${(i/1048576).toFixed(1)} MB`}showSizeComparisonNotification(i,e){if(!this.settings.showSpaceSavedNotification)return;let r=`${this.formatFileSize(i)} → ${this.formatFileSize(e)} (${e>i?"+":""}${((e-i)/i*100).toFixed(1)}%)`;new x0.Notice(r)}getPresetByName(i,e,r){return e.find(e=>e.name===i)||(console.warn(`${r} preset "${i}" not found, using default`),e[0])}clearMemory(){if(this.processedImage&&(this.processedImage=null),this.temporaryBuffers){for(let i=0;isvg { + width: 1.2em; + height: 1.2em; + margin-right: 6px; + stroke-width: 1.5; +} + +/* Tab label text - inherit font weight (normal or slightly bolder) */ +.image-converter-tab-label { + /* No specific styles needed here - inherits from parent */ +} + +/* ------------------- Preset Group --------------------- */ +.image-converter-preset-group { + margin-bottom: 20px; + position: relative; + /* For absolute positioning of child elements */ + z-index: 1; + /* Ensure preset group is above other elements */ + transition: transform 0.3s ease, filter 0.3s ease, opacity 0.3s ease; + transform-origin: top center; + transform: scale(1); + /* Initially no scaling */ + filter: brightness(1) blur(0); + /* No initial filter */ + opacity: 1; + /* Fully opaque */ +} + +.image-converter-preset-group-title { + margin-bottom: 15px; + font-size: 1.2em; + font-weight: 600; + border-bottom: 2px solid var(--background-modifier-border); + padding-bottom: 5px; + display: none; + /* HIDDEN - Remove this to show titles */ +} + +.image-converter-preset-group-description { + font-size: var(--font-ui-smaller); + color: var(--text-muted); + margin-bottom: 1em; +} + +/* ---------------------- Preset Card ------------------------------- */ +.image-converter-preset-card { + border: 1px solid var(--background-modifier-border); + border-radius: 8px; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08); + /* Subtle shadow */ + padding: 14px 20px; + display: flex; + flex-direction: column; + background-color: var(--background-primary); + height: auto; + transition: opacity 0.3s ease; + overflow: hidden; + /* Prevent content from spilling out */ +} + +/* "Grabbing" cursor when dragging */ +.image-converter-preset-card:active { + cursor: grabbing; +} + +/* Pointer cursor for non-add-new cards */ +.image-converter-preset-card:not(.image-converter-add-new-preset) { + cursor: pointer; +} + +.image-converter-preset-card-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 15px; + margin-top: -20px; + cursor: move; + /* Indicate draggable */ +} + +.image-converter-preset-card-title { + font-size: calc(var(--font-ui-small) + 1px); + font-weight: 600; + color: var(--text-normal); + overflow: hidden; + text-overflow: ellipsis; + /* Add ellipsis (...) for long titles */ + white-space: nowrap; +} + +/* --- Button Styling --- */ +.image-converter-preset-card-actions { + display: flex; + gap: 2px; + margin-right: -16px; +} + +.image-converter-preset-card-actions .clickable-icon { + color: var(--text-muted); + transition: color 0.2s ease; +} + +.image-converter-preset-card-actions .clickable-icon:hover { + color: var(--text-accent); +} + +/* --- Danger Button (e.g., DELETE) --- */ +.image-converter-preset-card-actions .danger { + color: var(--text-error); +} + +/* --- SortableJS Ghost Styling --- */ +.image-converter-sortable-ghost { + opacity: 0.5; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); +} + +.image-converter-preset-card-body { + color: var(--text-mute); + font-size: 0.75em; + line-height: 1.4; + overflow: hidden; + text-overflow: ellipsis; + white-space: wrap; + margin-top: -22px; +} + +.image-converter-preset-card-body p { + margin-block-start: 0; + margin-block-end: 0; + line-height: 1.4; +} + +/* --- Preset Cards Grid --- */ +.image-converter-preset-cards { + display: grid; + gap: 15px; + grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); + /* Responsive grid */ + cursor: grab; + /* Indicate draggable */ +} + +/* Media Query for 3-column layout on larger screens */ +@media (min-width: 1000px) { + .image-converter-preset-cards { + grid-template-columns: repeat(3, 1fr); + } +} + +/* --- Active and Default Preset Styling --- */ +.image-converter-active-preset { + border-color: var(--interactive-accent); + box-shadow: 0 0 5px var(--interactive-accent); +} + +.image-converter-default-preset { + background-color: var(--background-modifier-hover); +} + +/* --- Custom Variables for Default Preset Background --- */ +:root { + --image-converter-default-bg: #f5f5f5; + /* Light mode default */ +} + +html[data-theme='dark'] { + --image-converter-default-bg: #2b2b2b; + /* Dark mode default */ +} + +/* ----------------------------- Preset Form ------------ */ +.image-converter-preset-form { + display: flex; + flex-direction: column; + gap: 10px; +} + +.image-converter-form-buttons { + display: flex; + justify-content: flex-end; + /* Align buttons to the right */ + gap: 10px; + margin-top: 10px; +} + +/* ------------------- Add New Preset Card --------------- */ +.image-converter-add-new-preset { + display: flex; + justify-content: center; + align-items: center; + border: 1px dashed var(--background-modifier-border); + min-height: 100px; + height: 100%; + cursor: pointer; + transition: background-color 0.2s ease; + text-align: center; +} + +.image-converter-add-new-preset:hover { + background-color: var(--background-modifier-hover); +} + +.image-converter-add-new-preset-text { + font-weight: 500; + color: var(--text-accent); +} + +/* ----------- Modal Styling --------------------------*/ +.image-converter-confirm-modal-buttons { + display: flex; + justify-content: flex-end; + gap: 0.5em; + margin-top: 1em; +} + +/* --------- GLOBAL PRESET ------------------------------ */ +.image-converter-global-preset-container { + display: flex; + align-items: center; + gap: 10px; + /* margin-bottom: 20px; */ + cursor: pointer; +} + +.image-converter-global-preset-container .image-converter-global-preset-title { + width: 135px; +} + +/* --- Dropdown --- */ +.image-converter-global-preset-container .setting-item { + display: flex; + align-items: center; + gap: 10px; + flex-grow: 1; + width: 100%; + border-top: none; + min-width: 112px; +} + +.image-converter-global-preset-container .settings-section-title { + margin-left: 0.5em; + margin-bottom: 1px; + font-weight: 600; + width: 130px; +} + +.image-converter-global-preset-container .setting-item-name { + flex: 0 0 auto; + /* Prevent label from shrinking */ +} + +/* --- Clickable Toggle Area --- */ +.image-converter-global-preset-toggle { + display: flex; + align-items: center; + margin-right: 10px; + font-weight: 600; +} + +.image-converter-chevron-icon { + margin-right: 5px; + transition: transform 0.2s ease; +} + +/* Rotate chevron when collapsed */ +.image-converter-settings-tab:not(.global-presets-visible) .image-converter-chevron-icon { + transform: rotate(-90deg); +} + + + + + +/* --------------- IMAGE ALIGNMENT SETTINGS ------------------------------ */ +/* ----------------------------------------------------------------------- */ + +/* --- Section Container --- */ +.image-converter-settings-tab .image-alignment-settings-section { + display: flex; + /* align-items: center; */ + gap: 10px; + /* margin-bottom: 10px; */ + cursor: pointer; + flex-direction: column; +} + + +/* --- Section Header (Clickable Toggle Area) --- */ +.image-converter-settings-tab .image-alignment-settings-section .settings-section-header { + display: flex; + align-items: center; + justify-content: space-between; + width: 100%; + padding: 8px 0; +} + + +.image-converter-settings-tab .image-alignment-settings-section .settings-section-title { + /* flex-grow: 1; */ + margin-left: 0.5em; + font-weight: 600; + margin-bottom: 5px; +} + +.image-converter-settings-tab .image-alignment-settings-section .settings-section-toggle-button { + margin-left: auto; + margin-right: 0; +} + + +/* --- Chevron Icon --- */ +.image-converter-settings-tab .image-alignment-settings-section .settings-section-chevron-icon { + margin-right: 5px; + transition: transform 0.2s ease; +} + + +/* --- HIDE CHEVRON WHEN IMAGE ALIGNMENT IS DISABLED --- */ +.image-converter-settings-tab .image-alignment-settings-section:not(.image-alignment-enabled) .settings-section-chevron-icon { + /* Refined selector */ + display: none; + /* Hide chevron when image alignment section is disabled */ +} + + +/* --- Indentation for Settings within Section --- */ +.image-converter-settings-tab .image-alignment-settings-section .setting-item { + padding-left: 1.5em; + border-top: none; + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +/* --- Hide Settings when Section is Collapsed --- */ +.image-converter-settings-tab .image-alignment-settings-section.settings-section-collapsed>*:not(.settings-section-header) { + display: none; +} + +.settings-section-clarification-text { + margin-left: 19px; + color: var(--text-muted); + font-size: var(--font-ui-smaller); + padding-top: var(--size-4-1); + line-height: var(--line-height-tight); +} + +/* ----------------------------------------------------------------------- */ +/* ----------------------------------------------------------------------- */ + + + +/* --------- Image Drag & Resize Settings Section --------- */ + +/* --- Main Container --- */ +.image-drag-resize-settings-section { + display: flex; + /* align-items: center; */ + gap: 10px; + /* margin-bottom: 10px; */ + cursor: pointer; + flex-direction: column; +} + +/* --- Collapsible Section Header --- */ +.image-drag-resize-settings-section .settings-section-header { + display: flex; + align-items: center; + justify-content: space-between; + width: 100%; + padding: 8px 0; +} + +/* --- Section Title --- */ +.image-drag-resize-settings-section .settings-section-title { + /* flex-grow: 1; */ + margin-left: 0.5em; + margin-bottom: 5px; + font-weight: 600; +} + +/* --- Toggle Switch --- */ +.image-drag-resize-settings-section .settings-section-toggle-button { + margin-left: auto; + margin-right: 0; +} + + +/* --- Chevron Icon --- */ +.image-drag-resize-settings-section .settings-section-chevron-icon { + margin-right: 5px; + transition: transform 0.2s ease; +} + +/* --- HIDE CHEVRON WHEN IMAGE ALIGNMENT IS DISABLED --- */ +.image-converter-settings-tab .image-drag-resize-settings-section:not(.image-drag-resize-enabled) .settings-section-chevron-icon { + /* Refined selector */ + display: none; + /* Hide chevron when image alignment section is disabled */ +} + +/* --- Indentation for Settings within Section --- */ +.image-converter-settings-tab .image-drag-resize-settings-section .setting-item { + padding-left: 1.5em; + border-top: none; + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +/* --- Hide Settings when Section is Collapsed --- */ +.image-converter-settings-tab .image-drag-resize-settings-section.settings-section-collapsed>*:not(.settings-section-header) { + display: none; +} + +/* ----------------------------------------------------------------------- */ +/* ----------------------------------------------------------------------- */ + + + +/* --- Hide Tabs and Content --- */ +/* Hide tabs and preset groups when global presets are not visible */ +.image-converter-settings-tab:not(.global-presets-visible) .image-converter-setting-tabs, +.image-converter-settings-tab:not(.global-presets-visible) .image-converter-tab-content-wrapper { + display: none; +} + +/* ------- Preset Summary in Modal ----------------------*/ +.image-converter-preset-summary { + margin-top: 10px; +} + +.image-converter-preset-summary .summary-section { + margin-bottom: 15px; +} + +.image-converter-preset-summary .summary-section-title { + font-weight: bold; + font-size: 1.1em; + margin-bottom: 5px; +} + +.image-converter-preset-summary .summary-item { + margin-left: 20px; + margin-bottom: 3px; +} + +.image-converter-preset-summary .summary-label { + font-weight: 600; +} + +.image-converter-preset-summary .summary-value { + font-style: italic; +} + +.image-converter-preset-summary .summary-value-bold { + font-weight: bold; +} + +.image-converter-summary-example { + font-style: italic; +} + +/* --------------------------- Form Container ----------- */ +.image-converter-form-container { + margin-top: 20px; + padding: 20px; + border: 1px solid var(--background-modifier-border); + border-radius: 8px; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08); + background-color: var(--background-primary); + display: none; + z-index: 2; + /* Ensure form is above preset group */ + position: relative; +} + +/* Class to make the form container visible */ +.image-converter-form-container.visible { + display: block; + border: var(--interactive-accent); + box-shadow: 0 0 5px var(--interactive-accent); + animation: slideDown 0.3s ease forwards; +} + + +/* --- Responsive Design --- */ +@media (max-width: 600px) { + .image-converter-available-variables-modal { + width: 95vw; + } + + .image-converter-available-variables-modal th, + .image-converter-available-variables-modal td { + font-size: 0.9em; + padding: 8px; + } +} + +/* --- Animation --- */ +@keyframes slideDown { + from { + opacity: 0; + transform: translateY(-10px); + } + + to { + opacity: 1; + transform: translateY(0); + } +} + +/* ------------- VARIABLES Modal -----------------------*/ +.image-converter-available-variables-modal { + width: 90vw; + max-width: 800px; +} + +.image-converter-available-variables-modal .modal-content { + padding: 0px; + /* Remove padding */ +} + +.image-converter-available-variables-modal .modal-title { + margin-bottom: 20px; + font-size: 1.4em; + font-weight: 600; +} + +.image-converter-available-variables-modal h4 { + margin-top: 20px; + margin-bottom: 10px; + font-size: 1.2em; + font-weight: 600; + color: var(--text-normal); +} + +.image-converter-available-variables-modal table { + width: 100%; + border-collapse: collapse; +} + +.image-converter-available-variables-modal th, +.image-converter-available-variables-modal td { + border: 1px solid var(--background-modifier-border); + padding: 10px; + text-align: left; + font-size: 0.95em; + vertical-align: top; +} + +.image-converter-available-variables-modal th { + background-color: var(--background-secondary); + font-weight: 600; +} + +.image-converter-available-variables-modal td:first-child { + font-family: monospace; + font-weight: 600; + color: var(--text-accent); + white-space: nowrap; + cursor: pointer; + transition: all 0.15s ease; +} + +.image-converter-available-variables-modal td:first-child:hover { + background-color: var(--background-modifier-hover); +} + +.image-converter-available-variables-modal td:nth-child(2) { + /* width: 60%; */ + /* Adjust width ratio as needed */ +} + +.image-converter-available-variables-modal td:last-child { + font-family: monospace; + color: var(--text-muted); +} + +/* Variable copy feedback animations */ +.variable-name-copied { + background-color: var(--interactive-accent) !important; + color: var(--text-on-accent) !important; + transform: scale(1.05) !important; +} + +.variable-name-copy-error { + background-color: var(--background-modifier-error) !important; + color: var(--text-error) !important; +} + +/* -------------- Link FORMATS --------------------- */ +.image-converter-format-examples-section { + margin-top: 20px; + margin-bottom: 20px; + border: 1px solid var(--background-modifier-border); + border-radius: 6px; +} + +/* --- Summary (Clickable Part) --- */ +.image-converter-format-examples-section summary { + padding: 10px; + cursor: pointer; + display: flex; + justify-content: space-between; + align-items: center; + color: var(--text-muted); + user-select: none; + list-style: none; + /* Remove default list-style */ +} + +.image-converter-format-examples-section summary::-webkit-details-marker { + display: none; + /* Remove default WebKit marker */ +} + +.image-converter-format-examples-section summary:hover { + background-color: var(--background-secondary); +} + +/* --- Arrow --- */ +.image-converter-format-examples-section summary::after { + content: '▼'; + /* Downward arrow */ + transition: transform 0.2s ease; + transform-origin: center; + font-size: 0.8em; + margin-left: 5px; + display: inline-block; +} + +/* Rotate arrow when details is open */ +.image-converter-format-examples-section[open] summary::after { + transform: rotate(90deg); +} + +/* --- Content --- */ +.image-converter-format-examples-content { + padding: 10px; + border-top: 1px solid var(--background-modifier-border); +} + +.image-converter-format-examples-table { + width: 100%; + margin-top: 10px; + border-collapse: collapse; +} + +.image-converter-format-label, +.image-converter-format-example, +.image-converter-format-description { + border: 1px solid var(--background-modifier-border); + padding: 8px; + text-align: left; + vertical-align: middle; +} + +.image-converter-format-label { + font-weight: bold; + width: 15%; +} + +.image-converter-format-description { + width: 60%; +} + +/* Styling for the
    list within the description */ +.image-converter-format-description ul { + margin: 0; + padding-left: 20px; + line-height: 1.5; +} + +.image-converter-format-description li { + margin-bottom: 0; +} + +.image-converter-format-example { + /* font-family: var(--font-monospace); */ + white-space: pre-wrap; + width: 25%; + font-size: 0.735em; +} + +/* --- Practical Scenario --- */ +.image-converter-format-scenario { + margin-top: 15px; + border: 1px solid var(--background-modifier-border); + padding: 10px; + border-radius: 4px; +} + +.image-converter-format-paths { + font-family: var(--font-monospace); + font-size: 0.9em; +} + +.image-converter-format-paths>div { + display: flex; + align-items: center; + margin-bottom: 2px; +} + +.image-converter-path-label { + margin-top: 4px; + margin-right: 5px; +} + +.image-converter-path-value { + padding-left: 5px; +} + +.image-converter-format-result { + margin-top: 8px; + padding-top: 8px; + border-top: 1px solid var(--background-modifier-border); +} + +.image-converter-result-label { + color: var(--text-muted); +} + +.image-converter-result-value { + font-family: var(--font-monospace); + padding-left: 20px; +} + +/* ---------- Preview Container ------------------------*/ +.image-converter-preview-container { + margin-top: -8px; + padding: 0px; + border: none; + border-radius: 0px; + background-color: transparent; + display: flex; + align-items: baseline; + justify-content: flex-end; +} + +.image-converter-preview-label { + font-style: italic; + font-weight: normal; + font-size: smaller; + color: #666; + /* Lighter gray */ + margin-bottom: 0px; + margin-right: 5px; + margin-bottom: 5px; + /* display: none; */ + /* Hide the label if desired */ +} + +.image-converter-preview-path { + font-style: italic; + font-family: var(--font-monospace); + font-size: var(--font-ui-smaller); + color: var(--text-muted); + overflow-wrap: break-word; + margin-top: 0px; +} + +/* --- Input Field and Preview Wrapper --- */ +.image-converter-custom-template-setting-wrapper, +.image-converter-subfolder-name-setting-wrapper { + /* Consider removing border/padding if you want a more seamless look */ + /* border: 1px solid var(--background-modifier-border); + padding: 10px; */ + border-radius: 6px; +} + +.image-converter-subfolder-name-setting-wrapper input[type='text'], +.image-converter-custom-path-setting-wrapper input[type='text'], +.image-converter-custom-template-setting-wrapper input[type='text'] { + width: 350px; +} + +.image-converter-preset-form textarea { + width: 239px; +} + +/* --- Style for Units Dropdown --- */ +.image-converter-resize-units-dropdown { + max-width: 55px; + min-width: 55px; + width: auto; +} + + + + + + + + + + +/* --------------- CAPTIONS SETTINGS ------------------------------ */ +/* ----------------------------------------------------------------------- */ + +/* --- Section Container --- */ +.image-converter-settings-tab .image-caption-settings-section { + display: flex; + /* align-items: center; */ + gap: 10px; + /* margin-bottom: 10px; */ + cursor: pointer; + flex-direction: column; +} + + +/* --- Section Header (Clickable Toggle Area) --- */ +.image-converter-settings-tab .image-caption-settings-section .settings-section-header { + display: flex; + align-items: center; + justify-content: space-between; + width: 100%; + padding: 8px 0; +} + + +.image-converter-settings-tab .image-caption-settings-section .settings-section-title { + /* flex-grow: 1; */ + margin-left: 0.5em; + font-weight: 600; + margin-bottom: 5px; +} + +.image-converter-settings-tab .image-caption-settings-section .settings-section-toggle-button { + margin-left: auto; + margin-right: 0; +} + + +/* --- Chevron Icon --- */ +.image-converter-settings-tab .image-caption-settings-section .settings-section-chevron-icon { + margin-right: 5px; + transition: transform 0.2s ease; +} + + +/* --- HIDE CHEVRON WHEN IMAGE ALIGNMENT IS DISABLED --- */ +.image-converter-settings-tab .image-caption-settings-section:not(.image-caption-enabled) .settings-section-chevron-icon { + /* Refined selector */ + display: none; + /* Hide chevron when image alignment section is disabled */ +} + + +/* --- Indentation for Settings within Section --- */ +.image-converter-settings-tab .image-caption-settings-section .setting-item { + padding-left: 1.5em; + border-top: none; + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +/* --- Hide Settings when Section is Collapsed --- */ +.image-converter-settings-tab .image-caption-settings-section.settings-section-collapsed>*:not(.settings-section-header) { + display: none; +} + +.settings-section-clarification-text { + margin-left: 19px; + color: var(--text-muted); + font-size: var(--font-ui-smaller); + padding-top: var(--size-4-1); + line-height: var(--line-height-tight); +} + +/* ----------------------------------------------------------------------- */ +/* ----------------------------------------------------------------------- */ + + + + + + + + + + + + + + + + + + + + + + + + + + +/* MODAL WINDOW - each drop */ +/* FILENAME--------------------------------------------------------------------------- */ +.image-converter-preset-selection-modal { + padding: 0; +} + +.image-converter-main-container { + display: flex; + height: 100%; + gap: 20px; +} + +.image-converter-settings-column { + flex: 3; + padding: 0px; + /* overflow-y: auto; */ + max-height: 80vh; +} + +.image-converter-preview-column { + flex: 2; + background: var(--background-secondary); + padding: 20px; + border-left: 1px solid var(--background-modifier-border); + position: sticky; + top: 0; + max-height: 80vh; + overflow-y: auto; +} + +.image-converter-section-header { + display: flex; + align-items: center; + gap: 8px; + margin-bottom: 7px; +} + +.image-converter-section-header h3 { + margin: 0; +} + +.image-converter-help-button { + color: var(--text-muted); + padding: 4px; + height: 24px; + width: 24px; +} + +.image-converter-preset-section { + margin-bottom: 6px; + padding: 15px; + background: var(--background-primary); + border-radius: 8px; + border: 1px solid var(--background-modifier-border); +} + +.image-converter-preset-section h3 { + margin-top: 0; + margin-bottom: 15px; + font-size: 1.1em; + color: var(--text-normal); +} + +.image-converter-input-group { + margin-bottom: 5px; + /* padding: 15px; */ + background: var(--background-primary); + border-radius: 6px; +} + +.image-converter-preview-header { + margin-bottom: 5px; + margin-top: 15px; +} + +.image-converter-modal-preview-container { + font-family: var(--font-monospace); + font-size: 0.9em; + padding: 15px; + background: var(--background-primary); + border-radius: 6px; + border: 1px solid var(--background-modifier-border); +} + +.image-converter-conversion-container { + padding: 15px; + background: var(--background-secondary); + border-radius: 6px; +} + +/* Action buttons */ +.image-converter-action-section { + margin-top: 32px; + padding-top: 20px; + border-top: 1px solid var(--background-modifier-border); + display: flex; + justify-content: flex-end; + gap: 8px; +} + +.image-converter-action-section .setting-item { + padding: 0; + margin: 0; + border-top: none; +} + +/* Enhance dropdown and input styling */ +.image-converter-preset-selection-modal .dropdown { + border-radius: 4px; + min-width: 200px; +} + +.image-converter-preset-selection-modal input { + border-radius: 4px; + width: 100%; +} + +/* Preview components */ +.image-converter-preview-path { + display: flex; + flex-direction: column; + gap: 10px; +} + +.image-converter-preview-component { + padding: 8px; + background: var(--background-secondary); + border-radius: 4px; +} + +.image-converter-preview-label { + color: var(--text-muted); + font-size: 0.9em; + margin-bottom: 4px; +} + +.image-converter-preview-value { + word-break: break-all; + color: var(--text-normal); +} + +.image-converter-title-group { + display: flex; + align-items: center; + gap: 8px; +} + +.image-converter-title-group h3 { + margin: 0; +} + +/* Dropdown and input styling */ +.image-converter-preset-selection-modal .setting-item { + border: none; + padding: 0 0 12px 0; +} + +.image-converter-section-description { + margin: 0 0 20px 0; + color: var(--text-muted); + font-size: 12px; + line-height: 1.4; +} + + +/* ------------------------------- */ +.image-converter-contextmenu-input-group { + display: flex; + align-items: center; + gap: 2px; + position: relative; /* Added */ +} + +/* New style for labels */ +.image-converter-contextmenu-input-group label { + min-width: 53px; /* Fixed width for all labels */ + text-align: left; /* Right-align the labels */ + padding-right: 2px; /* Space between label and input */ +} + +/* Updated input styles */ +.image-converter-contextmenu-dimensions-input, +.image-converter-contextmenu-name-input, +.image-converter-contextmenu-path-input, +.image-converter-contextmenu-caption-input { + flex: 1; + min-width: 0; /* Prevents flex items from overflowing */ + padding: 4px 8px; + border: 1px solid var(--background-modifier-border); + border-radius: 4px; + background-color: var(--background-secondary); + color: var(--text-normal); + height: 28px; /* Consistent height */ +} + +/* Add hover state for inputs */ +.image-converter-contextmenu-dimensions-input:hover, +.image-converter-contextmenu-name-input:hover, +.image-converter-contextmenu-path-input:hover, +.image-converter-contextmenu-caption-input:hover { + border-color: var(--background-modifier-border-hover); +} + +/* Add focus state for inputs */ +.image-converter-contextmenu-dimensions-input:focus, +.image-converter-contextmenu-name-input:focus, +.image-converter-contextmenu-path-input:focus, +.image-converter-contextmenu-caption-input:focus { + border-color: var(--interactive-accent); + box-shadow: 0 0 0 2px var(--background-modifier-border-focus); + outline: none; +} + +.image-converter-contextmenu-input-group .image-converter-contextmenu-dimensions-input { + max-width: 85px +} +/* Updated container style */ +.image-converter-contextmenu-info-container { + display: grid; + grid-template-columns: minmax(200px, 1fr) auto; /* Minimum width for inputs */ + gap: var(--size-4-1); + /* padding: 8px; */ + cursor: var(--cursor); + font-size: var(--font-ui-small); + border-radius: var(--radius-s); + white-space: nowrap; + transition: background-color 0.15s ease; +} + +/* Update button style */ +.image-converter-contextmenu-button { + display: flex; + align-items: center; + justify-content: center; + padding: 4px; + cursor: pointer; + border-radius: 4px; + grid-column: 2; + grid-row: 1 / span 4; + color: var(--text-normal); + width: 28px; /* Fixed width */ + align-self: stretch; /* Makes button fill entire height */ + transition: background-color 0.15s ease, color 0.15s ease; +} + +.image-converter-contextmenu-button:hover { + background-color: var(--interactive-accent); + color: var(--text-on-accent); +} + +/* Optional: Style for the icon containers */ +.image-converter-contextmenu-icon-container { + display: flex; + align-items: center; + justify-content: center; + width: 20px; /* Fixed width */ +} + +/* Add disabled state styles */ +.image-converter-contextmenu-disabled { + opacity: 0.5; + cursor: not-allowed; + background-color: var(--background-modifier-form-field); +} + + +.image-converter-contextmenu-dimension-inputs { + display: flex; + align-items: center; + gap: 4px; + flex: 1; +} + +.image-converter-contextmenu-dimension-input { + width: 60px; + padding: 4px 8px; + border: 1px solid var(--background-modifier-border); + border-radius: 4px; + background-color: var(--background-secondary); + color: var(--text-normal); + height: 28px; + -moz-appearance: textfield; /* Removes arrows in Firefox */ +} + +/* Remove arrows from number inputs */ +.image-converter-contextmenu-dimension-input::-webkit-outer-spin-button, +.image-converter-contextmenu-dimension-input::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +/* Style the multiplication symbol */ +.image-converter-contextmenu-dimension-inputs > span { + color: var(--text-muted); + font-size: 0.9em; +} + + + +/* ------------------------------------------------------------------ */ +/* -------------------IMAGE ANNOTATION ------------------------------ */ +/* ------------------------------------------------------------------ */ + +/* Modal styling */ +.image-converter-annotation-tool-image-annotation-modal { + max-width: 95vw; + max-height: 95vh; + margin: auto; + border-radius: var(--radius-l); + box-shadow: var(--shadow-l); + display: flex; + flex-direction: column; + overflow: hidden; +} + +.image-converter-annotation-tool-image-annotation-modal .image-converter-annotation-tool-modal-container { + background-color: var(--background-primary); + border-radius: 8px; + display: flex; + flex-direction: column; + height: 100%; + width: 100%; + gap: 10px; + padding: 10px; + position: relative; +} + +.image-converter-annotation-tool-image-annotation-modal .image-converter-annotation-tool-canvas-container { + flex: 1; + display: flex; + justify-content: center; + align-items: center; + background-color: var(--background-secondary); + border-radius: var(--radius-m); + overflow: hidden; + position: relative; +} + +.image-converter-annotation-tool-image-annotation-modal .image-converter-annotation-tool-canvas-container canvas { + max-width: 100%; + max-height: 100%; + object-fit: contain; +} + +/* Toolbar styling */ +.image-converter-annotation-tool-image-annotation-modal .image-converter-annotation-tool-annotation-toolbar { + position: relative; + /* Changed from absolute */ + top: auto; + left: auto; + transform: none; + display: flex; + flex-wrap: wrap; + /* Allow wrapping on smaller screens */ + justify-content: center; + gap: 8px; + padding: 8px; + background-color: var(--background-secondary); + border-radius: var(--radius-m); +} + +.image-converter-annotation-tool-image-annotation-modal .image-converter-annotation-tool-annotation-toolbar button { + background-color: var(--interactive-normal); + border: none; + padding: 4px 8px; + border-radius: 4px; + cursor: pointer; + display: flex; + align-items: center; + gap: 4px; + transition: background-color 0.2s ease; + color: var(--text-normal); + font-size: var(--font-ui-small); +} + +.image-converter-annotation-tool-image-annotation-modal .image-converter-annotation-tool-preset-buttons { + margin-left: auto; + margin-right: auto; + gap: 8px; + padding: 8px; + border-top: 1px solid var(--background-modifier-border); +} + +.image-converter-annotation-tool-image-annotation-modal .preset-button { + display: flex; + padding: 4px 8px; + border: 1px solid var(--background-modifier-border); + border-radius: 4px; + cursor: pointer; + background: var(--background-primary); +} + +.image-converter-annotation-tool-image-annotation-modal .image-converter-annotation-tool-preset-color { + width: 16px; + height: 16px; + border: 1px solid var(--background-modifier-border); + border-radius: 2px; +} + +.image-converter-annotation-tool-image-annotation-modal .preset-button:hover { + background-color: var(--background-modifier-hover); +} + +.image-converter-annotation-tool-image-annotation-modal .preset-number { + font-size: 0.8em; + opacity: 0.8; + margin-left: 4.5px; +} + + + + + +.image-converter-annotation-tool-image-annotation-modal .control-label { + font-size: 12px; + color: var(--text-muted); + margin-bottom: 2px; + white-space: nowrap; +} + +.image-converter-annotation-tool-image-annotation-modal .size-buttons-container { + display: flex; + gap: 27px; + margin-top: 8px; + margin-bottom: 2px; +} + + + +.image-converter-annotation-tool-image-annotation-modal .opacity-buttons-container { + display: flex; + gap: 8px; + margin-top: 8px; + margin-bottom: 2px; +} + +.image-converter-annotation-tool-image-annotation-modal .image-converter-annotation-tool-button-group { + display: flex; + gap: 4px; + align-items: center; +} + +.image-converter-annotation-tool-image-annotation-modal .image-converter-annotation-tool-button-group button { + padding: 4px 8px; + min-width: 36px; + height: 24px; + font-size: 12px; +} + +.image-converter-annotation-tool-image-annotation-modal .image-converter-annotation-tool-button-group button.is-active { + background-color: var(--interactive-accent); + color: var(--text-on-accent); +} + + + +.image-converter-annotation-tool-image-annotation-modal .blend-modes-container { + display: flex; + gap: 18px; + margin-top: 8px; + margin-bottom: 2px; +} + +.image-converter-annotation-tool-image-annotation-modal .blend-modes-container .dropdown-container { + min-width: 100px; +} + +.image-converter-annotation-tool-image-annotation-modal .blend-modes-container .dropdown { + width: 80%; + height: 100%; +} + + + +.image-converter-annotation-tool-image-annotation-modal .layer-controls { + display: flex; + gap: 20px; + margin-top: 8px; + margin-bottom: 2px; +} + + + +.image-converter-annotation-tool-image-annotation-modal .size-buttons-container .control-label, +.image-converter-annotation-tool-image-annotation-modal .opacity-buttons-container .control-label, +.image-converter-annotation-tool-image-annotation-modal .blend-modes-container .control-label, +.image-converter-annotation-tool-image-annotation-modal .layer-controls .control-label { + margin-top: auto; + margin-bottom: auto; +} + + + + + + +.image-converter-annotation-tool-image-annotation-modal .image-converter-annotation-tool-color-swatches { + display: flex; + flex-direction: column; + gap: 8px; + padding: 8px; +} + +.image-converter-annotation-tool-image-annotation-modal .image-converter-annotation-tool-color-row { + display: flex; + align-items: center; + gap: 8px; +} + +.image-converter-annotation-tool-image-annotation-modal .image-converter-annotation-tool-row-label { + font-size: 12px; + min-width: 70px; +} + +.image-converter-annotation-tool-image-annotation-modal .image-converter-annotation-tool-swatches-container { + display: flex; + gap: 8px; +} + +/* .image-converter-annotation-tool-image-annotation-modal .color-column { + display: flex; + flex-direction: column; + gap: 4px; +} */ + +.image-converter-annotation-tool-image-annotation-modal .section-label { + font-size: 12px; + margin-bottom: 4px; +} + +.image-converter-annotation-tool-image-annotation-modal .dominant-container { + display: flex; + gap: 8px; +} + +.image-converter-annotation-tool-image-annotation-modal .color-swatch { + width: 24px; + height: 24px; + border-radius: 4px; + cursor: pointer; + transition: transform 0.2s; +} + + +.image-converter-annotation-tool-image-annotation-modal .color-swatch:hover { + transform: scale(1.1); +} + +.image-converter-annotation-tool-image-annotation-modal .color-separator { + height: 1px; + margin: 4px 0; +} + + + + + +.image-converter-annotation-tool-image-annotation-modal .background-dropdown { + position: fixed; + z-index: 1000; + background-color: var(--background-primary); + border: 1px solid var(--background-modifier-border); + border-radius: 4px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); + padding: 4px; + width: 54px; + + .background-option { + display: flex; + align-items: center; + padding: 6px 8px; + cursor: pointer; + border-radius: 3px; + margin-left: 2px; + + &:hover { + background-color: var(--background-modifier-hover); + } + + &.is-active { + background-color: var(--background-modifier-active); + } + + .option-icon, + .color-preview { + width: 20px; + height: 20px; + margin-right: 8px; + border-radius: 3px; + border: 1px solid var(--background-modifier-border); + + svg { + width: 100%; + height: 100%; + + path, + circle { + stroke: var(--text-muted); + fill: none; + } + + circle { + fill: var(--text-muted); + } + } + } + + .color-preview { + border: 1px solid var(--background-modifier-border); + } + } +} + + + + + +.image-converter-annotation-tool-image-annotation-modal .dominant-section { + display: flex; + flex-direction: column; +} + +.resizable-modal { + position: relative; + resize: both; + overflow: hidden; +} + +.image-converter-annotation-tool-image-annotation-modal .modal-resize-handle { + position: absolute; + bottom: 0; + right: 0; + width: 20px; + height: 20px; + cursor: se-resize; + display: flex; + align-items: center; + justify-content: center; + font-size: 12px; + color: var(--text-muted); + user-select: none; + z-index: 100; +} + +.image-converter-annotation-tool-image-annotation-modal .is-resizing { + user-select: none; +} + +.image-converter-annotation-tool-image-annotation-modal .image-converter-annotation-tool-canvas-container { + transition: width 0.1s ease, height 0.1s ease; + background: var(--background-secondary); + overflow: hidden; + position: relative; + border: 1px solid var(--background-modifier-border); +} + +/* Add checkerboard pattern for transparent areas */ +.image-converter-annotation-tool-image-annotation-modal .image-converter-annotation-tool-canvas-container::before { + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-image: linear-gradient(45deg, var(--background-modifier-border) 25%, transparent 25%), + linear-gradient(-45deg, var(--background-modifier-border) 25%, transparent 25%), + linear-gradient(45deg, transparent 75%, var(--background-modifier-border) 75%), + linear-gradient(-45deg, transparent 75%, var(--background-modifier-border) 75%); + background-size: 20px 20px; + background-position: 0 0, 0 10px, 10px -10px, -10px 0px; + opacity: 0; + pointer-events: all; + z-index: 0; +} + +/* Hover states */ +.image-converter-annotation-tool-image-annotation-modal .image-converter-annotation-tool-annotation-toolbar button:hover { + background-color: var(--interactive-hover); +} + +/* Active state for buttons */ +.image-converter-annotation-tool-image-annotation-modal .image-converter-annotation-tool-annotation-toolbar button.is-active { + background-color: var(--interactive-accent); + color: var(--text-on-accent); +} + +.image-converter-annotation-tool-image-annotation-modal .image-converter-annotation-tool-annotation-toolbar button svg { + width: 16px; + height: 16px; +} + +.image-converter-annotation-tool-image-annotation-modal .annotation-toolbar-group { + display: flex; + flex-wrap: wrap; + gap: 4px; + padding: 4px; + min-width: auto; + /* Remove fixed width */ +} + +.image-converter-annotation-tool-image-annotation-modal .image-converter-annotation-tool-annotation-toolbar input[type="color"] { + width: 30px; + height: 30px; + padding: 0; + border: none; + border-radius: 4px; + cursor: pointer; +} + +.image-converter-annotation-tool-image-annotation-modal .annotation-toolbar-group:last-child { + border-right: none; +} + + +.image-converter-annotation-tool-image-annotation-modal .image-converter-annotation-tool-left-section { + display: flex; + /* align-items: center; */ + gap: 8px; +} + +.image-converter-annotation-tool-image-annotation-modal .image-converter-annotation-tool-drawing-tools-column { + display: flex; + flex-direction: column; + gap: 4px; +} + +.image-converter-annotation-tool-image-annotation-modal .toolbar-separator { + width: 1px; + height: 100%; + background-color: var(--background-modifier-border); + margin: 0 8px; +} + + +.image-converter-annotation-tool-image-annotation-modal .drawing-group { + display: flex; + align-items: center; +} + +.image-converter-annotation-tool-image-annotation-modal .image-converter-annotation-tool-color-picker-wrapper { + display: flex; + /* align-items: center; */ + padding: 2px; +} + +.image-converter-annotation-tool-image-annotation-modal .image-converter-annotation-tool-background-color-wrapper { + display: flex; + align-items: center; +} + +/* +.image-converter-annotation-tool-image-annotation-modal .background-alpha-slider { + width: 60px; + height: 24px; + margin: 0; + padding: 0; +} */ + +.image-converter-annotation-tool-image-annotation-modal .preset-button .image-converter-annotation-tool-preset-color { + width: 20px; + height: 20px; + border-radius: 10px; + transition: all 0.2s ease; +} + +.image-converter-annotation-tool-image-annotation-modal .preset-button.text-preset .image-converter-annotation-tool-preset-color { + position: relative; + border-style: solid; + border-width: 2px; +} + +.image-converter-annotation-tool-image-annotation-modal .color-picker { + width: 24px; + height: 24px; + margin-top: 30px; + padding: 0; + border: none; + border-radius: var(--radius-s); + cursor: pointer; +} + +.image-converter-annotation-tool-image-annotation-modal .color-picker::-webkit-color-swatch-wrapper { + padding: 0; +} + +.image-converter-annotation-tool-image-annotation-modal .color-picker::-webkit-color-swatch { + border: none; + border-radius: var(--radius-s); +} + +.image-converter-annotation-tool-image-annotation-modal .color-picker::-moz-color-swatch { + border: 2px solid var(--background-modifier-border); + border-radius: var(--radius-s); +} + +.image-converter-annotation-tool-image-annotation-modal .color-picker:hover { + opacity: 0.8; +} + +.image-converter-annotation-tool-image-annotation-modal .annotation-toolbar-group { + display: flex; + gap: 4px; + padding: 0 8px; + border-right: 1px solid var(--background-modifier-border); +} + +.image-converter-annotation-tool-image-annotation-modal .annotation-toolbar-group:last-child { + border-right: none; +} + +.image-converter-annotation-tool-image-annotation-modal button.is-active { + background-color: var(--interactive-accent); + color: var(--text-on-accent); +} + +.image-converter-annotation-tool-image-annotation-modal button:disabled { + opacity: 0.5; + cursor: not-allowed; +} + +.image-converter-annotation-tool-image-annotation-modal .image-converter-annotation-tool-canvas-container { + position: relative; +} + +.image-converter-annotation-tool-image-annotation-modal .image-converter-annotation-tool-canvas-container textarea { + position: absolute; + pointer-events: auto; +} + + +/* Optional: Add hover effect for delete icon */ +.image-converter-annotation-tool-image-annotation-modal .image-converter-annotation-tool-canvas-container:hover .delete-icon { + opacity: 1; +} + +/* Save button styling */ +.image-converter-annotation-tool-image-annotation-modal .image-converter-annotation-tool-annotation-toolbar button.mod-cta { + background-color: var(--interactive-accent); + color: var(--text-on-accent); +} + +.image-converter-annotation-tool-image-annotation-modal .image-converter-annotation-tool-annotation-toolbar button.mod-cta:hover { + background-color: var(--interactive-accent-hover); +} + +/* Mobile-specific adjustments */ +@media (max-width: 768px) { + .image-converter-annotation-tool-image-annotation-modal .image-converter-annotation-tool-annotation-toolbar { + padding: 4px; + gap: 4px; + } + + .image-converter-annotation-tool-image-annotation-modal .image-converter-annotation-tool-annotation-toolbar button { + padding: 6px; + } + + .image-converter-annotation-tool-image-annotation-modal .image-converter-annotation-tool-annotation-toolbar button svg { + width: 14px; + height: 14px; + } + + .image-converter-annotation-tool-image-annotation-modal .slider-container { + min-width: 100px; + } + + .image-converter-annotation-tool-image-annotation-modal .brush-controls { + flex-direction: column; + padding-left: 4px; + margin-left: 4px; + } +} + + +.image-converter-annotation-tool-image-annotation-modal .image-converter-annotation-tool-control-group { + display: flex; + gap: 5px; + margin-top: 8px; + margin-bottom: 2px; + align-items: center; +} + +.image-converter-annotation-tool-image-annotation-modal .text-background-controls { + display: flex; + flex-direction: column; + gap: 4px; +} + +.image-converter-annotation-tool-image-annotation-modal .text-bg-controls { + display: flex; + flex-direction: row; + align-content: center; + flex-wrap: nowrap; + align-items: center; +} + +.image-converter-annotation-tool-image-annotation-modal .background-color-picker { + width: 24px; + height: 24px; + padding: 0; + border: 1px solid var(--background-modifier-border); + border-radius: 4px; + cursor: pointer; + margin-right: 4px; +} + +.image-converter-annotation-tool-image-annotation-modal .layer-controls { + display: flex; + flex-direction: row; + align-content: center; + flex-wrap: nowrap; + align-items: center; +} + +/* ------------------------------------------------------------------ */ +/* ------------------------------------------------------------------ */ + + +/* ------------------------------------------------------------------ */ +/* ------------------------------ CROP ------------------------------ */ +/* ------------------------------------------------------------------ */ + +/* CROP */ +.crop-tool-modal .modal { + position: fixed; + border-radius: var(--radius-m); + padding: 0; + overflow: hidden; + background-color: var(--background-primary); + box-shadow: var(--shadow-l); + animation: modalOpen 200ms ease-out; + /* margin-top: auto; */ +} + +.crop-tool-modal .crop-modal-wrapper { + display: flex; + flex-direction: column; + height: 100%; + background-color: var(--background-primary); + border-radius: var(--radius-m); +} + +.crop-tool-modal .crop-modal-header { + padding: var(--size-4-4); + /* background-color: var(--background-secondary); + border-bottom: 1px solid var(--background-modifier-border); */ +} + +.crop-tool-modal .crop-modal-header h2 { + margin: 0; + font-size: 1.5em; +} + +.crop-tool-modal .crop-container { + position: relative; + width: 100%; + height: 100%; + /* overflow: hidden; Contain the overlay */ +} + +.crop-tool-modal .crop-original-image { + max-width: 100%; + max-height: 100%; + object-fit: contain; + display: block; + margin: auto; +} + +/* Remove the separate overlay div since we're using box-shadow */ +.crop-tool-modal .crop-overlay { + display: none; +} + +.crop-tool-modal .selection-area { + position: absolute; + border: 2px solid var(--interactive-accent); + box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.5); + pointer-events: auto; + cursor: move; + z-index: 2; +} + +.crop-tool-modal .resize-handle { + position: absolute; + width: 10px; + height: 10px; + background-color: #fff; + border: 1px solid #00a8ff; + border-radius: 50%; +} + +/* Position handles */ +.crop-tool-modal .nw-resize { + top: -5px; + left: -5px; + cursor: nw-resize; +} + +.crop-tool-modal .n-resize { + top: -5px; + left: 50%; + transform: translateX(-50%); + cursor: n-resize; +} + +.crop-tool-modal .ne-resize { + top: -5px; + right: -5px; + cursor: ne-resize; +} + +.crop-tool-modal .w-resize { + top: 50%; + left: -5px; + transform: translateY(-50%); + cursor: w-resize; +} + +.crop-tool-modal .e-resize { + top: 50%; + right: -5px; + transform: translateY(-50%); + cursor: e-resize; +} + +.crop-tool-modal .sw-resize { + bottom: -5px; + left: -5px; + cursor: sw-resize; +} + +.crop-tool-modal .s-resize { + bottom: -5px; + left: 50%; + transform: translateX(-50%); + cursor: s-resize; +} + +.crop-tool-modal .se-resize { + bottom: -5px; + right: -5px; + cursor: se-resize; +} + +.crop-tool-modal .crop-modal-buttons { + padding: var(--size-4-2); + border-top: 1px solid var(--background-modifier-border); + display: flex; + justify-content: flex-end; + gap: var(--size-2-3); + background-color: var(--background-secondary); + position: absolute; + bottom: 0; + left: 0; + right: 0; + z-index: 3; +} + +.crop-tool-modal .crop-modal-buttons button { + padding: var(--size-4-1) var(--size-4-3); + border-radius: var(--radius-s); + font-size: var(--font-ui-small); + font-weight: var(--font-medium); + border: 1px solid var(--background-modifier-border); + background-color: var(--interactive-normal); + color: var(--text-normal); + cursor: pointer; + min-width: 70px; +} + +.crop-tool-modal .crop-modal-buttons button:hover { + background-color: var(--interactive-hover); +} + +/* Make the Save button more prominent */ +.crop-tool-modal .crop-modal-buttons button:first-child { + background-color: var(--interactive-accent); + color: var(--text-on-accent); + border-color: var(--interactive-accent); +} + +.crop-tool-modal .crop-modal-buttons button:first-child:hover { + background-color: var(--interactive-accent-hover); +} + +.crop-tool-modal .crop-modal-content { + flex: 1; + overflow: hidden; + position: relative; + padding: 16px; +} + +/* Aspect ratio */ + +.crop-tool-modal .aspect-ratio-controls { + padding: 8px 0px; + border-bottom: 1px solid var(--background-modifier-border); + display: flex; + align-items: center; + gap: 12px; + flex-wrap: wrap; +} + +.crop-tool-modal .ratio-buttons-container { + display: flex; + gap: 8px; +} + +.crop-tool-modal .custom-ratio-container { + display: flex; + align-items: center; + gap: 4px; + margin-left: auto; + margin-right: 0; +} + +.crop-tool-modal .aspect-ratio-button { + padding: 4px 8px; + border: 1px solid var(--background-modifier-border); + border-radius: 4px; + background: var(--background-secondary); + cursor: pointer; +} + +.crop-tool-modal .aspect-ratio-button:hover { + background: var(--background-modifier-hover); +} + +.crop-tool-modal .aspect-ratio-button.active { + background: var(--interactive-accent); + color: var(--text-on-accent); +} + +.crop-tool-modal .custom-ratio-input { + width: 40px; + height: 24px; + padding: 2px 4px; + border: 1px solid var(--background-modifier-border); + border-radius: 4px; + background: var(--background-primary); + text-align: center; +} + +.crop-tool-modal .custom-ratio-input:focus { + outline: none; + border-color: var(--interactive-accent); +} + +/* Remove spinner buttons from number inputs */ +.crop-tool-modal .custom-ratio-input::-webkit-outer-spin-button, +.crop-tool-modal .custom-ratio-input::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +.crop-tool-modal .custom-ratio-input[type=number] { + -moz-appearance: textfield; +} + +/* Rotate / Flip */ +.crop-tool-modal .transform-controls { + display: flex; + margin-left: 0; + margin-right: auto; +} + +.crop-tool-modal .rotate-container, +.crop-tool-modal .flip-container { + display: flex; + gap: 1px; +} + +.crop-tool-modal .transform-button { + padding: 4px 8px; + border: 1px solid var(--background-modifier-border); + border-radius: 4px; + background: var(--background-secondary); + cursor: pointer; + font-size: 18px; + line-height: 1; + display: flex; + align-items: center; + justify-content: center; + min-width: 32px; +} + +.crop-tool-modal .transform-button:hover { + background: var(--background-modifier-hover); +} + +/* Rotate / Zoom slider */ +.crop-tool-modal .image-controls { + display: flex; + gap: 20px; + padding: 6px 0px; + border-bottom: 1px solid var(--background-modifier-border); +} + +.crop-tool-modal .control-group { + display: flex; + align-items: center; + gap: 8px; + flex: 1; +} + +.crop-tool-modal .control-label { + min-width: 10px; + font-weight: var(--font-medium); +} + +.crop-tool-modal .slider { + flex: 1; + height: 6px; + -webkit-appearance: none; + background: var(--background-modifier-border); + border-radius: 3px; + outline: none; +} + +.crop-tool-modal .slider::-webkit-slider-thumb { + -webkit-appearance: none; + width: 16px; + height: 16px; + border-radius: 50%; + background: var(--interactive-accent); + cursor: pointer; + border: none; +} + +.crop-tool-modal .slider::-moz-range-thumb { + width: 16px; + height: 16px; + border-radius: 50%; + background: var(--interactive-accent); + cursor: pointer; + border: none; +} + +.crop-tool-modal .rotation-value, +.crop-tool-modal .zoom-value { + min-width: 5px; + text-align: right; +} + + +/* Mobile-specific styles */ +@media screen and (max-width: 768px) { + .crop-tool-modal .modal { + width: calc(100% - var(--size-4-4)); + height: calc(100% - var(--size-4-4)); + max-height: 90vh; + margin: var(--size-4-2); + } + + .crop-tool-modal .crop-modal-header { + padding: var(--size-4-2); + } + + .crop-tool-modal .crop-modal-buttons { + padding: var(--size-4-2); + } +} + +/* Animation for modal opening */ + +/* @keyframes modalOpen { + from { + opacity: 0; + transform: translate(-50%, -48%) scale(0.96); + } + to { + opacity: 1; + transform: translate(-50%, -50%) scale(1); + } +} */ +/* ------------------------------------------------------------------ */ +/* ------------------------------------------------------------------ */ + + +/* ------------------------------DRAG-resize----------------------- */ + +/* Apply vertical-align only when image is aligned */ + + +/* THIS IS NEEDED to PREVENT CONTENT SHIFT WHEN HOVERING OVER IMAGE */ +.internal-embed.image-embed img { + vertical-align: bottom; +} + +.image-resize-container { + position: relative; + /* Needed for absolute positioning of the pseudo-element */ + display: inline-block; + font-size: 0; + line-height: 0; + margin: 0px; + vertical-align: bottom; + max-width: fit-content; +} + +.image-resize-container::before { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + border: 1px solid var(--background-modifier-hover); + /* Use Obsidian's hover border color */ + transition: opacity 0.2s ease; + /* Smooth transition for visibility */ + pointer-events: none; + /* Ensures the pseudo-element doesn't interfere with interactions */ + margin: 0; +} + +.image-resize-container:hover::before { + opacity: 0.5; + /* Show border on hover */ +} + +/* .image-resize-container { + display: inline-block; + position: relative; + margin: 0px; + border: 1.5px solid rgba(153, 115, 247, 0.507); + line-height: 0; +} */ + +/* ------ EXTERNAL */ +/* Style for external images when hovered (updated for transparency) */ +.image-resize-border { + position: relative; + outline: 2px solid var(--background-modifier-hover); + resize: both; + overflow: hidden; +} + + +.image-resize-border:hover { + cursor: default; +} + +.image-resize-border:hover:has(.resizing) { + cursor: grabbing !important; +} + +/* Style for external images when resizing is active */ +.image-resize-border.resizing { + cursor: grabbing !important; + user-select: none; /* Prevent accidental text selection */ +} + +/* Style for internal image container when resizing is active */ +.image-resize-container.resizing { + cursor: grabbing !important; + user-select: none; +} + +/* --------- */ + + +.image-resize-handle { + position: absolute; + width: 8px !important; + height: 8px !important; + /* padding: 1px; Create larger invisible hit area */ + background-color: var(--background-secondary); + border: 1px solid var(--interactive-accent); + /* Obsidian's UI element border color */ + border-radius: 2px; + cursor: grab; + opacity: 0; + pointer-events: none; + /* Make handles non-clickable by default */ + /* box-shadow: 0 0 0 1.5px var(--background-modifier-border-hover); */ + transform: translateZ(0); + transition: opacity 0.2s ease, transform 0.1s ease; + /* Smooth transitions */ + z-index: 2; + /* Ensure handles are visible above the image */ +} + +.image-resize-handle-nw { + top: 0px; + left: 0px; + cursor: nwse-resize; +} + +.image-resize-handle-ne { + top: 0px; + right: 0px; + cursor: nesw-resize; +} + +.image-resize-handle-sw { + bottom: 0px; + left: 0px; + cursor: nesw-resize; +} + +.image-resize-handle-se { + bottom: 0px; + right: 0px; + cursor: nwse-resize; +} + +.image-resize-handle-n { + top: 0px; + left: 50%; + margin-left: -6px; + /* Half of handle width to center */ + cursor: ns-resize; +} + +.image-resize-handle-s { + bottom: 0px; + left: 50%; + margin-left: -6px; + /* Half of handle width to center */ + cursor: ns-resize; +} + +.image-resize-handle-e { + right: 0px; + top: 50%; + margin-top: -6px; + /* Half of handle height to center */ + cursor: ew-resize; +} + +.image-resize-handle-w { + left: 0px; + top: 50%; + margin-top: -6px; + /* Half of handle height to center */ + cursor: ew-resize; +} + + +/* Make handles visible on container hover */ +/* Handle Visibility on Hover */ +.image-resize-container:hover .image-resize-handle, +.image-resize-border:hover .image-resize-handle { + opacity: 1; + pointer-events: auto; + /* Clickable on hover */ +} + +/* Enhance handle hover effects */ +.image-resize-handle:hover { + background-color: var(--interactive-hover); + transform: scale(1.1); + /* Subtle scale increase on hover */ +} + + +/* Active resize state */ +.resizing { + cursor: grabbing !important; + user-select: none; +} + +.resizing .image-resize-handle { + + opacity: 1 !important; + +} + +/* ------------------------------------------------------------------- */ +/* ------------------------------------------------------------------- */ + + +/* --- Map View Compatibility --- */ +.map-view-main .image-resize-container { + display: none !important; +} + +.map-view-main .image-resize-border { + outline: none !important; +} + + +/* ------------------------------------------------------------------- */ +/* ------------------------------------------------------------------- */ + + + + +/* ---------------------- IMAGE ALIGNMENT --------------------------- */ +/* ------------------------------------------------------------------ */ +/* We could add a border or other visual indicator here?? For now it is just + generally class to keep for identification purposes.*/ +/*.image-converter-aligned { + border: 1px solid red; +} */ + +/* General styles for image positioning (using flexbox) - apply to containers */ +.image-position-left { + justify-content: flex-start; /* Align to the left */ +} + +.image-position-center { + justify-content: center; /* Align to the center */ +} + +.image-position-right { + justify-content: flex-end; /* Align to the right */ +} + +/* General styles for wrapping - apply to containers */ +.image-wrap { + float: left; /* Allow text to wrap. Apply to the image itself. */ + margin-right: 10px; /* Add spacing. Apply to the image. */ + clear: left; /* Ensure it clears previous floats. Apply to the image. */ +} + +.image-no-wrap { + float: none; /* Prevent text wrapping. Apply to the image itself. */ + clear: both; /* Clear any previous floats */ +} + +/* Styles for internal embeds to control alignment without affecting image size */ +.internal-embed.image-embed.image-position-left { + text-align: left; +} + +.internal-embed.image-embed.image-position-center { + text-align: center; +} + +.internal-embed.image-embed.image-position-right { + text-align: right; +} + +/* ===== Live Preview Specific Styles ===== */ +.markdown-source-view.mod-cm6 { + + /* Left alignment WITH wrapping */ + .image-wrap.image-position-left + .image-wrap.image-position-left { + float: left !important; /* !important to override Obsidian */ + margin: 0 1em 0.5em 0 !important; + clear: left !important; + /* position: relative !important; to allow right-click and allow it to be above any other content + z-index: 10 !important */ + } + + /* Right alignment WITH wrapping */ + .image-wrap.image-position-right { + float: right !important; + margin: 0em 0 0.5em 1em !important; + clear: right !important; + /* position: relative; THIS WORKS BUT BREAKS HANDLES to allow right-click and allow it to be above any other content */ + /* z-index: 10; */ + } + + /* Left alignment WITHOUT wrapping */ + .image-no-wrap.image-position-left { + display: block !important; + margin: auto !important; + margin-left: 0 !important; + clear: both !important; + float: none !important; + } + + /* Right alignment WITHOUT wrapping */ + .image-no-wrap.image-position-right { + display: block !important; + margin: auto !important; + margin-right: 0 !important; + clear: both !important; + float: none !important; + } + + /* Center alignment (always no wrap) */ + .image-position-center { + display: block !important; + margin: auto !important; + clear: both !important; + float: none !important; + text-align: center !important; + /* For the image itself */ + } + + .image-captions-figure { + margin: 0; + padding: 2px; + display: inline-table; + border-radius: 2px; + } + + + + /* Center alignment for internal embeds */ + .internal-embed.image-embed.image-position-center { + text-align: center !important; + } +} + + +/* ------------------------ Reading Mode Styles --------------------------------------*/ +.markdown-reading-view { + + /* Left alignment WITH wrapping */ + .image-wrap.image-position-left { + float: left !important; + margin: 0 1em 0.5em 0 !important; + clear: left !important; + } + + /* Right alignment WITH wrapping */ + .image-wrap.image-position-right { + float: right !important; + margin: 0em 0 0.5em 1em !important; + clear: right !important; + } + + /* Left alignment WITHOUT wrapping */ + .image-no-wrap.image-position-left { + display: block !important; + margin: auto !important; + margin-left: 0 !important; + clear: both !important; + float: none !important; + } + + /* Right alignment WITHOUT wrapping */ + .image-no-wrap.image-position-right { + display: block !important; + margin: auto !important; + margin-right: 0 !important; + clear: both !important; + float: none !important; + } + + /* Center alignment (always no wrap) */ + .image-position-center { + display: block !important; + margin: auto !important; + clear: both !important; + float: none !important; + text-align: center !important; + } + + /* Center alignment for internal embeds */ + .internal-embed.image-embed.image-position-center { + text-align: center !important; + } +} + +/* --- List Handle Position --- */ +/* Reset line-height - probably not needed anymore */ +/* .cm-line .image-resize-container li { + line-height: normal; +} */ + +/* ------------------------------------------------------------------ */ +/* ------------------------------------------------------------------ */ + + +/* ---------------------- MODAL - BATCH PROCESSING ------------------- */ + +/* Convert current note */ +/* //////////////////////////////////////////////// */ +.image-convert-modal { + padding: 1rem; +} + +.image-convert-modal .image-counts-display-container { + margin-top: 20px; + text-align: center; + /* Center-align the counts */ +} + +.image-counts-display { + width: fit-content; + margin-left: auto; + margin-right: auto; + text-align: center; +} + +.image-convert-modal .modal-subtitle { + font-size: 0.9em; + color: #666; +} + +.image-convert-modal .modal-header { + text-align: center; + margin-bottom: 1rem; +} + +.image-convert-modal .modal-subtitle { + margin-top: -18px; +} + +.image-convert-modal .modal-warning { + margin-top: -10px; + padding: 20px; + border-radius: 10px; + background-color: var(--background-secondary); +} + +.image-convert-modal .settings-container { + margin-top: 1rem; +} + +.image-convert-modal .button-container { + margin-top: 1rem; + text-align: center; +} + +.image-convert-modal .resize-input-setting, +.image-convert-modal .enlarge-reduce-setting { + margin-top: 1em; +} + +.image-convert-modal .conditional-settings { + margin-top: 1em; + padding: 1em; + border: 1px solid var(--background-modifier-border); + border-radius: 4px; +} + + +/* ============================================ */ +/* COMPACT SINGLE-COLUMN LAYOUT STYLES */ +/* ============================================ */ + +/* Main compact container */ +.image-converter-compact-container { + max-width: -webkit-fill-available; + margin: 0 auto; + padding: 0; + display: flex; + flex-direction: column; + gap: 9px; +} + +/* Compact header */ +.image-converter-compact-header { + display: flex; + align-items: center; + justify-content: space-between; + padding-bottom: 16px; + /* border-bottom: 1px solid var(--background-modifier-border); */ + /* gap: 12px; */ + max-width: 100%; + overflow: hidden; +} + +.image-converter-compact-title { + margin: 0; + font-size: 1.4em; + font-weight: 600; + /* flex: 1 1 auto; */ + min-width: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +/* Variables button in header */ +.image-converter-variables-header { + flex: 0 0 auto; + order: 2; +} + +.image-converter-variables-header .setting-item { + padding: 0 !important; + border: none !important; + margin: 0 !important; + min-height: auto !important; +} + +.image-converter-variables-header-btn { + font-size: 0.85em !important; + padding: 4px 10px !important; + height: auto !important; + min-height: 26px !important; + white-space: nowrap !important; +} + +/* Global preset dropdown in header */ +.image-converter-global-mini { + flex: 0 0 auto; + min-width: 110px; + /* max-width: 140px; */ + order: 3; +} + +.image-converter-compact-inputs { + display: flex; + /* flex-direction: column; */ + gap: 6px; +} + +/* NEW LAYOUT: Two-row structure for folder/filename groups */ +.image-converter-compact-input-group { + padding: 4px; + background: var(--background-secondary); + border-radius: 8px; + border: 1px solid var(--background-modifier-border); + display: flex; + flex-direction: column; + gap: 4px; + min-width: 260px; + max-width: 260px; + overflow: hidden; +} + +/* Row 1: Label and Dropdown on same line */ +.image-converter-label-dropdown-row { + display: flex; + align-items: center; + justify-content: space-between; + width: 100%; + min-width: 0; + overflow: hidden; +} + +.image-converter-group-label { + font-weight: 500; + font-size: 0.735em; + color: var(--text-faint); + flex-shrink: 0; + max-width: 100px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.image-converter-preset-dropdown-container { + flex: 0 0 auto; + min-width: 140px; + max-width: 100%; + overflow: hidden; +} + +.image-converter-preset-dropdown-setting { + padding: 0 !important; + border: none !important; + margin: 0 !important; +} + +.image-converter-preset-dropdown-setting .setting-item { + padding: 0; + border: none; + margin: 0; + min-height: auto; +} + +.image-converter-preset-dropdown-setting .setting-item-control { + margin-left: 0 !important; +} + +.image-converter-preset-dropdown-setting-item { + padding: 0 !important; + border: none !important; + margin: 0 !important; + min-height: auto !important; +} + +/* Style the dropdown - let Obsidian handle the native appearance and arrows */ +.image-converter-preset-dropdown { + width: 100% !important; + height: 16px !important; + font-size: var(--font-ui-smaller) !important; + min-width: 0 !important; + box-sizing: border-box !important; +} + +/* Add preset type indicators to dropdown */ +.image-converter-preset-dropdown[data-preset-type="folder"]::before { + content: "Folder-presets "; +} + +.image-converter-preset-dropdown[data-preset-type="filename"]::before { + content: "Filename-presets "; +} + +/* Compact dropdown styling for folder and filename dropdowns */ +.image-converter-compact-dropdown { + height: 24px !important; + font-size: 12px !important; + padding: 2px 8px !important; + border-radius: var(--radius-s) !important; + border: 1px solid var(--background-modifier-border) !important; + background-color: var(--background-secondary) !important; + color: var(--text-normal) !important; + min-width: 120px !important; + max-width: 160px !important; + box-sizing: border-box !important; + line-height: 1.2 !important; + /* Remove the native dropdown arrow completely */ + appearance: none !important; + -webkit-appearance: none !important; + -moz-appearance: none !important; + /* Add custom arrow that adapts to theme */ + background-image: var(--icon-dropdown) !important; + background-repeat: no-repeat !important; + background-position: right 6px center !important; + background-size: 12px !important; + padding-right: 24px !important; /* Make room for our custom arrow */ +} + +/* Fallback for custom arrow if Obsidian doesn't provide the icon variable */ +.image-converter-compact-dropdown:not([style*="--icon-dropdown"]) { + background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e") !important; +} + +/* Light theme specific arrow */ +.theme-light .image-converter-compact-dropdown { + background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e") !important; +} + +/* Dark theme specific arrow */ +.theme-dark .image-converter-compact-dropdown { + background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23aaaaaa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e") !important; +} + +/* Hover state for compact dropdown */ +.image-converter-compact-dropdown:hover { + background-color: var(--background-modifier-hover) !important; + border-color: var(--interactive-accent) !important; +} + +/* Focus state for compact dropdown */ +.image-converter-compact-dropdown:focus { + border-color: var(--interactive-accent) !important; + box-shadow: 0 0 0 2px var(--interactive-accent-alpha) !important; + outline: none !important; +} + +/* Row 2: Full-width input field */ +.image-converter-input-row { + width: 100%; +} + +.image-converter-input-row .setting-item { + padding: 0; + border: none; + margin: 0; + width: 100%; +} + +.image-converter-input-row .setting-item-control { + margin-left: 0 !important; + width: 100%; +} + +/* Override default Obsidian setting-item spacing */ +.image-converter-input-row .setting-item > *:first-child { + margin-inline-end: 0 !important; +} + +.image-converter-full-width-input { + width: 100% !important; + height: 32px !important; + padding: 6px 12px !important; + border-radius: 4px !important; + border: 1px solid var(--background-modifier-border) !important; + background: var(--background-primary) !important; + font-size: var(--font-ui-small) !important; + box-sizing: border-box !important; +} + +/* Legacy styles - keeping for backward compatibility */ +.image-converter-compact-input-row { + display: flex; + align-items: stretch; + gap: 16px; + padding: 16px; + background: var(--background-secondary); + border-radius: 8px; + border: 1px solid var(--background-modifier-border); +} + +.image-converter-compact-label { + min-width: 80px; + font-weight: 500; + color: var(--text-normal); + flex-shrink: 0; + display: flex; + align-items: center; +} + +.image-converter-compact-input-container { + display: flex; + gap: 8px; + flex: 1; + align-items: stretch; +} + +.image-converter-text-container { + flex: 1; + display: flex; + align-items: stretch; +} + +.image-converter-text-container .setting-item { + padding: 0; + border: none; + margin: 0; + flex: 1; +} + +.image-converter-text-container .setting-item-control { + flex: 1; +} + +.image-converter-text-container input[type="text"] { + width: 100%; + height: 32px; + padding: 4px 8px; + border-radius: 4px; + border: 1px solid var(--background-modifier-border); + background: var(--background-primary); +} + +.image-converter-preset-mini { + flex: 0 0 120px; + min-width: 120px; + display: flex; + align-items: stretch; +} + +.image-converter-preset-mini .setting-item { + padding: 0; + border: none; + margin: 0; + flex: 1; +} + +.image-converter-preset-mini .setting-item-control { + flex: 1; +} + +.image-converter-preset-mini select, +.image-converter-preset-mini .dropdown { + width: 100%; + height: 32px; + padding: 4px 8px; + border-radius: 4px; + border: 1px solid var(--background-modifier-border); + background: var(--background-primary); +} + +.image-converter-preset-mini-setting { + padding: 0 !important; + border: none !important; + margin: 0 !important; +} + +.image-converter-preset-mini-setting .setting-item-control { + margin-left: 0 !important; +} + +/* Additional styling for the new text and preset setting items */ +.image-converter-text-setting-item { + padding: 0 !important; + border: none !important; + margin: 0 !important; + min-height: auto !important; +} + +.image-converter-text-setting-item .setting-item-control { + margin-left: 0 !important; +} + +.image-converter-preset-setting-item { + padding: 0 !important; + border: none !important; + margin: 0 !important; + min-height: auto !important; +} + +.image-converter-preset-setting-item .setting-item-control { + margin-left: 0 !important; +} + +.image-converter-text-input { + width: 100% !important; + height: 32px !important; + padding: 4px 8px !important; + border-radius: 4px !important; + border: 1px solid var(--background-modifier-border) !important; + background: var(--background-primary) !important; + font-size: var(--font-ui-small) !important; +} + +.image-converter-preset-dropdown { + width: 100% !important; + height: 28px !important; + font-size: var(--font-ui-small) !important; +} + +/* Fix global preset mini styling */ +.image-converter-global-mini-setting { + padding: 0 !important; + border: none !important; + margin: 0 !important; + min-height: auto !important; +} + +.image-converter-global-mini-setting .setting-item-control { + margin-left: 0 !important; + max-width: 120px; + overflow: visible; +} + +.image-converter-global-mini-setting .dropdown { + max-width: 120px !important; + width: 120px !important; + box-sizing: border-box !important; + position: relative !important; + z-index: 1000 !important; + + /* When closed, truncate text with ellipsis */ + text-overflow: ellipsis !important; + white-space: nowrap !important; + overflow: hidden !important; +} + +/* When dropdown is opened, the dropdown list should expand */ +.image-converter-global-mini-setting .dropdown[size]:not([size="1"]), +.image-converter-global-mini-setting .dropdown:not([size]) { + width: auto !important; + min-width: 120px !important; + max-width: 250px !important; + z-index: 1001 !important; +} + +/* Style the dropdown options to handle long text better */ +.image-converter-global-mini-setting .dropdown option { + white-space: nowrap !important; + padding: 4px 8px !important; + min-width: 120px !important; + width: auto !important; +} + +/* For browsers that support it, expand the dropdown list container */ +.image-converter-global-mini-setting select:focus, +.image-converter-global-mini-setting select:active { + width: auto !important; + min-width: 120px !important; + max-width: 250px !important; + position: relative !important; + z-index: 1001 !important; +} + +.image-converter-global-mini-setting .setting-item-name { + font-size: 1.1em !important; + font-weight: 600 !important; + min-width: 30px !important; +} + +/* Quality grid styling */ +.image-converter-quality-grid { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 16px; + margin-top: 16px; +} + +/* Hide setting item borders in compact layout */ +.image-converter-compact-container .setting-item { + border-top: none !important; +} + +/* Ensure consistent heights for all interactive elements */ +.image-converter-compact-input-row input, +.image-converter-compact-input-row select, +.image-converter-compact-input-row .dropdown { + height: 32px !important; + box-sizing: border-box !important; +} + +/* Processing Card Layout */ +.image-converter-processing-card { + background: var(--background-secondary); + border-radius: 8px; + border: 1px solid var(--background-modifier-border); + overflow: hidden; +} + +.image-converter-processing-card-header { + padding: 4px 4px; + /* border-bottom: 1px solid var(--background-modifier-border); */ + background: var(--background-primary); + transition: background-color 0.2s ease; +} + +.image-converter-processing-card-header-clickable { + cursor: pointer; + user-select: none; +} + +.image-converter-processing-card-header-clickable:hover { + background: var(--background-modifier-hover); +} + +.image-converter-processing-card-header-content { + display: flex; + align-items: center; + justify-content: space-between; + gap: 8px; + padding: 4px; +} + +.image-converter-processing-card-chevron { + font-size: 0.535em; + transition: transform 0.3s cubic-bezier(0.4, 0.0, 0.2, 1); + color: var(--text-faint); + font-weight: 600; + min-width: 16px; + text-align: center; + flex-shrink: 0; +} + +.image-converter-processing-card-title { + margin: 0; + font-size: 1.1em; + font-weight: 600; + color: var(--text-normal); +} + +.image-converter-processing-card-content { + padding: 10px; + overflow: hidden; + transition: max-height 0.3s cubic-bezier(0.4, 0.0, 0.2, 1), + opacity 0.3s cubic-bezier(0.4, 0.0, 0.2, 1), + padding 0.3s cubic-bezier(0.4, 0.0, 0.2, 1); + max-height: 500px; /* Large enough to accommodate content */ + opacity: 1; +} + +.image-converter-processing-card-preview { + padding: 12px 20px; + background: var(--background-primary); + border-bottom: 1px solid var(--background-modifier-border); + display: block; +} + +.image-converter-processing-card-preview-content { + display: flex; + align-items: center; + gap: 8px; +} + +.image-converter-processing-preview-text { + font-size: 0.735em; + color: var(--text-faint); + /* font-family: var(--font-monospace); */ + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + /* padding: 4px 0; */ + flex: 1; +} + +/* Grid Layout for 2x2 structure */ +.image-converter-grid-header-row { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 16px; + margin-bottom: 8px; +} + +.image-converter-grid-header { + font-weight: 600; + color: var(--text-faint); + font-size: 0.735em; + text-align: left; +} + +.image-converter-grid-component-row { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 16px; + /* margin-bottom: 20px; */ +} + +.image-converter-grid-component { + min-height: 32px; +} + +/* Dropdown and slider styling for grid components - ensure proper alignment */ +.image-converter-grid-dropdown-setting, +.image-converter-grid-slider-setting { + padding: 0 !important; + border: none !important; + margin: 0 !important; + min-height: auto !important; +} + +.image-converter-grid-dropdown-setting .setting-item, +.image-converter-grid-slider-setting .setting-item { + padding: 0 !important; + border: none !important; + margin: 0 !important; + min-height: auto !important; + display: flex !important; + align-items: stretch !important; +} + +.image-converter-grid-dropdown-setting .setting-item-control, +.image-converter-grid-slider-setting .setting-item-control { + margin-left: 0 !important; + margin-right: 0 !important; + width: 100% !important; + flex: 1 !important; +} + +/* Ensure the dropdown and slider fill their containers and align properly */ +.image-converter-grid-dropdown-setting .dropdown, +.image-converter-grid-slider-setting .slider { + width: 100% !important; + margin: 0 !important; +} + +/* Remove any default setting item spacing that could cause misalignment */ +.image-converter-grid-dropdown-setting .setting-item-info, +.image-converter-grid-slider-setting .setting-item-info { + display: none !important; +} + +.image-converter-grid-dropdown-setting .setting-item-name, +.image-converter-grid-slider-setting .setting-item-name { + display: none !important; +} + +.image-converter-grid-dropdown-setting .setting-item-description, +.image-converter-grid-slider-setting .setting-item-description { + display: none !important; +} + +/* Quality header that shows percentage */ +.image-converter-quality-header { + font-weight: 600; + font-size: 0.735em; + color: var(--text-faint); +} + +/* Make quality slider appear slightly lower for better visual alignment */ +.image-converter-grid-slider-setting { + padding-top: 6px !important; +} + +/* Ensure the slider container has consistent spacing */ +.image-converter-grid-slider-setting .setting-item-control { + padding-top: 8px !important; +} + +/* Legacy styles - keeping for backward compatibility */ +.image-converter-compact-processing { + background: var(--background-secondary); + border-radius: 8px; + padding: 20px; + border: 1px solid var(--background-modifier-border); +} + +.image-converter-compact-section-title { + margin: 0 0 16px 0; + font-size: 1.1em; + font-weight: 600; + color: var(--text-normal); +} + +.image-converter-processing-grid { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 16px; + margin-bottom: 20px; +} + +.image-converter-grid-item .setting-item { + padding: 0; + border: none; + background: var(--background-primary); + border-radius: 6px; + padding: 12px; + border: 1px solid var(--background-modifier-border); +} + +.image-converter-compact-preview { + /* border-radius: 8px; + padding: 20px; */ + display: flex; + flex-direction: row; + align-items: center; + justify-content: flex-start; + margin-top: 20px; + gap: 16px; +} + +.image-converter-preview-title-compact { + font-weight: 600; + color: var(--text-normal); + margin-bottom: 12px; +} + +.image-converter-preview-content-compact { + /* font-family: var(--font-monospace); */ + font-size: 0.9em; + /* padding: 12px; */ + /* background: var(--background-primary); */ + /* border-radius: 6px; */ + /* border: 1px solid var(--background-modifier-border); */ + color: var(--text-muted); +} + +.image-converter-compact-actions { + display: flex; + justify-content: flex-end; + gap: 12px; + padding-top: 20px; + /* border-top: 1px solid var(--background-modifier-border); */ +} + +.image-converter-help-compact { + margin-top: 16px; +} + +.image-converter-help-compact-btn { + font-size: 0.85em !important; + padding: 4px 8px !important; +} + +/* Ensure dropdowns and inputs have proper sizing - made thinner for compact design */ +.image-converter-preset-selection-modal .dropdown, +.image-converter-preset-selection-modal input[type="text"] { + min-height: 24px; + height: 24px; + font-size: 12px; + padding: 2px 8px; + border-radius: var(--radius-s); + border: 1px solid var(--background-modifier-border); + line-height: 1.2; + box-sizing: border-box; +} + +.image-converter-preset-selection-modal .dropdown:hover, +.image-converter-preset-selection-modal input[type="text"]:hover { + border-color: var(--background-modifier-border-hover); +} + +.image-converter-preset-selection-modal .dropdown:focus, +.image-converter-preset-selection-modal input[type="text"]:focus { + border-color: var(--interactive-accent); + box-shadow: 0 0 0 2px var(--background-modifier-border-focus); +} + +/* ============================================ */ +/* PRESET SELECTION MODAL - ELEMENT HIDING */ +/* ============================================ */ + +/* Hide setting name and description elements in preset selection modal */ +.image-converter-preset-selection-modal .image-converter-hide-name-desc .setting-item-name, +.image-converter-preset-selection-modal .image-converter-hide-name-desc .setting-item-description { + display: none !important; +} + +/* Alternative approach using specific classes for different setting types */ +.image-converter-preset-dropdown-setting .setting-item-name, +.image-converter-preset-dropdown-setting .setting-item-description, +.image-converter-text-setting .setting-item-name, +.image-converter-text-setting .setting-item-description, +.image-converter-grid-dropdown-setting .setting-item-name, +.image-converter-grid-dropdown-setting .setting-item-description, +.image-converter-grid-slider-setting .setting-item-name, +.image-converter-grid-slider-setting .setting-item-description { + display: none !important; +} + +/* Processing card header cursor pointer */ +.image-converter-processing-card-header-clickable { + cursor: pointer !important; +} + +/* Processing card content visibility states */ +.image-converter-processing-card-content.image-converter-collapsed { + max-height: 0; + opacity: 0; + padding-top: 0; + padding-bottom: 0; + overflow: hidden; +} + +.image-converter-processing-card-content.image-converter-expanded { + max-height: 500px; + opacity: 1; + padding: 10px; +} + +.image-converter-preview-header-compact { + /* margin-top: 10px; */ +} +/* ============================================ */ +/* RESPONSIVE DESIGN FOR SMALL SCREENS */ +/* ============================================ */ + +/* Small screens - adjust dropdown layout */ +@media (max-width: 400px) { + /* Make the first row stack vertically on very small screens */ + .image-converter-label-dropdown-row { + flex-direction: column; + align-items: flex-start; + gap: 8px; + } + + .image-converter-preset-dropdown-container { + width: 100%; + min-width: 0; + max-width: 100%; + } + + .image-converter-group-label { + margin-bottom: 4px; + } + + /* Reduce padding on very small screens */ + .image-converter-compact-input-group { + padding: 12px; + } + + .image-converter-compact-container { + padding: 0 8px; + gap: 9px; + } +} + +/* Medium small screens - keep horizontal but adjust sizing */ +@media (max-width: 500px) and (min-width: 401px) { + .image-converter-preset-dropdown-container { + min-width: 100px; + flex: 1 1 auto; + } + + .image-converter-group-label { + font-size: 0.9em; + } +} diff --git a/content/.obsidian/plugins/manual-sorting/data.json b/content/.obsidian/plugins/manual-sorting/data.json index 7a37a25..d455831 100644 --- a/content/.obsidian/plugins/manual-sorting/data.json +++ b/content/.obsidian/plugins/manual-sorting/data.json @@ -1,6 +1,8 @@ { "customOrder": { "/": [ + "has.txt", + "all.txt", "Biokemi", "Anatomi & Histologi", "attachments", @@ -2039,12 +2041,12 @@ "Biokemi/Metabolism/📋 Metabolismen översikt.canvas" ], "Biokemi/Metabolism/⛓️ Elektrontransportkedjan": [ + "Biokemi/Metabolism/⛓️ Elektrontransportkedjan/🗒 Anteckningar.md", "Biokemi/Metabolism/⛓️ Elektrontransportkedjan/❓ Provfrågor.md", "Biokemi/Metabolism/⛓️ Elektrontransportkedjan/🎯 Lärandemål.md", "Biokemi/Metabolism/⛓️ Elektrontransportkedjan/👨🏻‍🏫 Slides.md", "Biokemi/Metabolism/⛓️ Elektrontransportkedjan/👩‍🏫 Slides.pdf.pdf", - "Biokemi/Metabolism/⛓️ Elektrontransportkedjan/📚 Instuderingsuppgifter.md", - "Biokemi/Metabolism/⛓️ Elektrontransportkedjan/🗒 Anteckningar.md" + "Biokemi/Metabolism/⛓️ Elektrontransportkedjan/📚 Instuderingsuppgifter.md" ], "Biokemi/Metabolism/🌡️ Termodynamik": [ "Biokemi/Metabolism/🌡️ Termodynamik/Anteckningar.md", diff --git a/content/.obsidian/workspace.json b/content/.obsidian/workspace.json index 9ff0c2b..0f436d1 100644 --- a/content/.obsidian/workspace.json +++ b/content/.obsidian/workspace.json @@ -13,13 +13,13 @@ "state": { "type": "markdown", "state": { - "file": "Biokemi/Gamla tentor/2023-12-18/13.md", + "file": "Biokemi/Metabolism/Enzymer/Anteckningar I.md", "mode": "source", "source": false, "backlinks": false }, "icon": "lucide-file", - "title": "13" + "title": "Anteckningar I" } } ] @@ -158,12 +158,11 @@ } } ], - "currentTab": 5 + "currentTab": 4 } ], "direction": "horizontal", - "width": 200, - "collapsed": true + "width": 200 }, "left-ribbon": { "hiddenItems": { @@ -180,8 +179,11 @@ "random-note:Open random note": false } }, - "active": "e37d77cee0dbc12f", + "active": "41f1a2a8dc1c3ad7", "lastOpenFiles": [ + "Biokemi/Metabolism/🍖 Aminosyrametabolism/Anteckningar.md", + "Biokemi/Metabolism/⛓️ Elektrontransportkedjan/🗒 Anteckningar.md", + "Biokemi/Gamla tentor/2023-12-18/13.md", "Biokemi/Gamla tentor/Template/33.md", "Anatomi & Histologi/Målbeskrivning/4.2 Histologi KUG 1.md", "Anatomi & Histologi/Histologi/KUG/Sen primärfollikel.md", @@ -205,9 +207,6 @@ "Biokemi/Gamla tentor/2024-08-01/16.md", "Biokemi/Gamla tentor/2024-08-01/20.md", "Biokemi/Gamla tentor/2024-08-01/27.md", - "Biokemi/Gamla tentor/2024-08-01/29.md", - "Biokemi/Gamla tentor/2024-08-01/12.md", - "Biokemi/Gamla tentor/2023-12-18/28.md", "Biokemi/Gamla tentor/2022-12-19/2022-12-19-0097-TUX.pdf", "Biokemi/Gamla tentor/2022-12-19/2022-12-19-0119-FAE.pdf", "Biokemi/Gamla tentor/2023-05-15/2023-05-15-0134-FDC.pdf", diff --git a/content/Biokemi/Metabolism/Enzymer/Anteckningar I.md b/content/Biokemi/Metabolism/Enzymer/Anteckningar I.md index 14c992a..bdd7efe 100644 --- a/content/Biokemi/Metabolism/Enzymer/Anteckningar I.md +++ b/content/Biokemi/Metabolism/Enzymer/Anteckningar I.md @@ -18,13 +18,13 @@ En ökning av temperaturen minskar kinesiska energin som behövs för att utför - det höjer sannolikheten att molekylerna krockar med varandra eftersom det krävs mindre energi för att det ska ske Aktiveringsenergin är skillnaden mellan övergångstillståndet och reaktanterna (T - R) -![[Pasted image 20251112085054.png|400]] +![[Pasted image 20251112085054.png|400|291x161]] Nettoreaktioenn P - R är alltid det samma, oavsett aktiveringsenergi. Aktiveringsenergin kan sänkas med en katalysator som en enzym. Ej reaktion utan katalysator kostar mer, kräver mer energi Katalysatorn gör att det går fortare -![[Pasted image 20251112085710.png|350]] +![[Pasted image 20251112085710.png|350|391x354]] Katalysatorn binder in reaktanterna i rätt konfiguration, förlänger/stabiliserar övergångstillståndet