diff --git a/CookieMonster.js b/CookieMonster.js index d24ec092..93a56918 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],f=o.fixed?"fixed":"absolute",g=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var f=m[h];if(f)if(i.pub.presets.hasOwnProperty(f)){for(var u in i.pub.presets[f])if(i.pub.presets[f].hasOwnProperty(u))try{a(u,i.pub.presets[f][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",f)}var g=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===g.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){if(t[n])return t[n].exports;var i=t[n]={exports:{}};return e[n].call(i.exports,i,i.exports,o),i.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};const t=["","","M","G","T","P","E","Z","Y"],n=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],i=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let a,r,s,c,d,p,u,m,h,f,g,C,y,b,k,G,v,w=[],x=[],T=[],M={};const S="CMText",B="CMBack",P="Blue",E="Green",N="Yellow",O="Orange",F="Red",W="Purple",L="Gray",A="Pink",j="Brown",U=[L,P,E,N,O,F,W,A,j],D=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]];let R,H,$=0,I=-1,z=[],V=1,_=1,X=1;const Q=[10,15,30,60,300,600,900,1800],q=[1,5,10,15,30],Y={Frenzy:N,"Dragon Harvest":j,"Elder frenzy":E,Clot:F,"Click frenzy":P,Dragonflight:A};let K,J,Z,ee,te,oe,ne,ie={},ae="";function re(o,a,r){const l=e.ScaleDecimals+1;if(o===1/0)return"Infinity";if(void 0===o)return"0";if(0===e.Scale)return M.Beautify(o,a);if(Number.isFinite(o)){let s="";if(0===o)return o.toString();if(o>.001&&o=.01&&o=.01&&o=.01&&o315576e4)return"XX:XX:XX:XX:XX";s+=(n<10?"0":"")+n+":",s+=(i<10?"0":"")+i+":",s+=(a<10?"0":"")+a+":",s+=(r<10?"0":"")+r+":",s+=(l<10?"0":"")+l}else{if(t>7776e5)return o?"Over 9000 days!":">9000d";s+=n>0?n+(o?1===n?" year":" years":"y")+", ":"",s+=i>0?i+(o?1===i?" day":" days":"d")+", ":"",(s.length>0||a>0)&&(s+=a+(o?1===a?" hour":" hours":"h")+", "),(s.length>0||r>0)&&(s+=r+(o?1===r?" minute":" minutes":"m")+", "),s+=l+(o?1===l?" second":" seconds":"s")}return s}function se(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=E):(n=le(t),o=t>300?F:t>60?O:N),{text:n,color:o}}let ce,de,pe,ue,me,he,fe,ge,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Be,Pe,Ee,Ne,Oe,Fe,We,Le,Ae,je,Ue,De,Re,He=0,$e=0,Ie=0,ze=0,Ve=0,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=1,nt=1,it=1,at=0,rt=0,lt=0,st=0,ct={},dt={},pt={},ut=0,mt=0,ht=[0,null],ft=0,gt=0,Ct={},yt={},bt={},kt={},Gt={},vt=0,wt=0,xt=[],Tt=0,Mt=0,St=[],Bt=0,Pt=0,Et=[],Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At={},jt={},Ut=0,Dt=0,Rt=0,Ht=0,$t=[],It={},zt=0,Vt=[],_t=[],Xt=[],Qt=Game.startDate,qt=Game.startDate;function Yt(e){let t=0;return Game.dragonAuras[Le].name!==e&&Game.dragonAuras[Ae].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Le].name&&"Reality Bending"!==Game.dragonAuras[Ae].name||(t+=.1),t}function Kt(){let e=.25;return e*=1+Yt("Earth Shatterer"),e}function Jt(e,t){return void 0===Ue[e]?void 0===t?1:t:Ue[e]}function Zt(e){const t=_t[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function eo(e){if(Game.hasGod){void 0===Vt.Temple.minigame&&(Vt.Temple.minigame=Game.Objects.Temple.minigame);const t=Vt.Temple.minigame.gods[e];for(let e=0;e<3;e++)if(Vt.Temple.minigame.slot[e]===t.id)return e+1}return!1}function to(e,t){if(Zt("Season savings")&&(t*=.99),Zt("Santa's dominion")&&(t*=.99),Zt("Faberge egg")&&(t*=.99),Zt("Divine discount")&&(t*=.99),Zt("Fortune #100")&&(t*=.99),t*=1-.02*Yt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(t*=.95),Game.hasBuff("Crafty pixies")&&(t*=.98),Game.hasBuff("Nasty goblins")&&(t*=1.02),e.fortune&&Zt(e.fortune.name)&&(t*=.93),t*=Jt("buildingCost"),Vt.Temple.minigameLoaded){const e=eo("creation");1===e?t*=.93:2===e?t*=.95:3===e&&(t*=.98)}return t}function oo(e,t,o,n,i,a){a=void 0===a?0:a;let r=0;-1===i&&(i=o),i||(i=Game.buyBulk);for(let l=0;l0&&(r+=i,o--)}return r}function no(){let t=Game.buyBulk;if(1===Game.buyMode?_=t:t=_,1===t?t=ct:10===t?t=dt:100===t&&(t=pt),1===Game.buyMode)if(1===e.BuildColor)for(const o of Object.keys(t))l(`productPrice${Game.Objects[o].id}`).style.color=e.Colors[t[o].color];else for(const e of Object.keys(Game.Objects))l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color");else if(-1===Game.buyMode)for(const e of Object.keys(ct)){const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=re(oo(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))}if(1===Game.buyMode&&e.SortBuildings){const e=Object.keys(t).map((e=>{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o}));e.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const t=ct[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;for(const s of Object.keys(Game.UpgradesInStore)){const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eU.indexOf(t.color)?1:U.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e=10&&(e+=1);return e}:o.power=function(){let e=2;if(Zt("Starlove")&&(e=3),Game.hasGod){const t=eo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function xo(){Ee=Game.UpgradesOwned,Ne=Game.pledges,Oe=Game.AchievementsOwned,Fe=Game.heavenlyPower,We=Game.prestige;for(const e of Object.keys(Game.Objects)){const t=Game.Objects[e];let o=Vt[e];void 0===o&&(Vt[e]=vo(e),o=Vt[e],so(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&(o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Vt[e]=o}for(const e of Object.keys(Game.Upgrades)){const t=Game.Upgrades[e];let o=_t[e];void 0===o&&(_t[e]=wo(e),o=_t[e]),o.bought=t.bought,_t[e]=o}for(const e of Object.keys(Game.Achievements)){const t=Game.Achievements[e];let o=Xt[e];void 0===o&&(Xt[e]=ko(e),o=Xt[e]),o.won=t.won,Xt[e]=o}bo(),Le=He,Ae=$e}function To(e,t,o,n,i){let a=0;for(let r=0;rt.plantsById[t.plot[ee[1]][ee[0]][0]-1].matureBase,o=t.plantsById[t.plot[ee[1]][ee[0]][0]-1].name;l("CMTooltipBorder").appendChild(Co("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${re(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${re(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${re(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${re(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===Z&&function(){const t=Game.Objects.Farm.minigame;if(e.TooltipLump){l("CMTooltipBorder").appendChild(Co("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${re(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${se((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(re(Game.Objects[o].bulkPrice)).join(re((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t&&(l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return Z=t,ee=o,So(),l("tooltip").innerHTML}function Po(){if(Game.prefs.autosave&&Game.drawT%10==0&&"stats"===Game.onMenu&&e.Stats){const e=document.getElementById("CMStatsAutosaveTimer");e&&(e.innerText=Game.sayTime(60*Game.fps-Game.T%(60*Game.fps),4))}no(),io(),function(){if(1===e.TimerBar){const t=l("CMTimerBar").offsetWidth-163,o=l("CMTimerBar").offsetWidth-133;let n=0;0!==Game.shimmerTypes.golden.spawned||Game.Has("Golden switch [off]")?l("CMTimerBarGC").style.display="none":(l("CMTimerBarGC").style.display="",l("CMTimerBarGCMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n++),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n++):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="";for(const t of Object.keys(Game.buffs))if(Game.buffs[t]){const a=lo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==Y[Game.buffs[t].name]?Y[Game.buffs[t].name]:W,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n++,i[Game.buffs[t].name]=a}for(const e of Object.keys(i))l("CMTimerBarBuffTimers").appendChild(i[e]);0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ne!==n&&(ne=n,uo())}}(),co(),So(),function(){if(1===e.TooltipWrink&&1===$){let e=!1;for(const t of Object.keys(Game.wrinklers)){const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0!==z[t]&&void 0!==z[t])break;{const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),I=t,z[t]=1}}else z[t]=0}e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let e=Game.wrinklers[I].sucked,t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[I].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Vt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=re(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),l("cookies").innerHTML=l("cookies").innerHTML.replace(/.*(?=
)/i,re(Game.cookies))}class Eo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){e>this.maxLength&&(e=this.maxLength),e>this.queue.length&&(e=this.queue.length);let t=0;for(let o=this.queue.length-1;o>=0&&o>this.queue.length-1-e;o--)t+=this.queue[o];return 0===t?0:t/e}}function No(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+zt;Game.cpsSucked>0&&(o+=ut),Wt=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-fe,i=Math.max(0,Game.cookies-ge)/n,a=Math.max(0,ut-Ce)/n,r=Math.max(0,ht[0]-ye)/n,l=Math.max(0,o-st)/n,s=(Game.cookieClicks-be)/n;for(let e=0;eHt?W:t.pp>Rt?O:N,0!==Number(e.PPSecondsLowerLimit)&&o/ao()0&&(n=F),n}function Fo(e){for(const t of Object.keys(e))Game.cookiesPs?e[t].pp=Math.max(e[t].price-(Game.cookies+ro()),0)/Game.cookiesPs+e[t].price/e[t].bonus:e[t].pp=e[t].price/e[t].bonus,e[t].color=Oo(e[t],e[t].price)}function Wo(){!function(){if(Dt=1/0,Ht=1,$t=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),0===e.ColorPPBulkMode&&Game.buyMode>0){for(const e of Object.keys(ct))Game.cookiesPs?ct[e].pp=Math.max(Game.Objects[e].getPrice()-(Game.cookies+ro()),0)/Game.cookiesPs+Game.Objects[e].getPrice()/ct[e].bonus:ct[e].pp=Game.Objects[e].getPrice()/ct[e].bonus,$t.push([ct[e].pp,Game.Objects[e].getPrice()]);if($t.sort(((e,t)=>e[0]-t[0])),e.PPOnlyConsiderBuyable)for(;$t[0][1]>Game.cookies&&1!==$t.length;)$t.shift();Dt=$t[e.PPExcludeTop][0],Ht=$t[$t.length-1][0],Rt=(Ht-Dt)/2+Dt;for(const t of Object.keys(ct)){ct[t].color=Oo(ct[t],Game.Objects[t].getPrice());for(let o=0;o0){let t;1===Game.buyBulk?t=ct:10===Game.buyBulk?t=dt:100===Game.buyBulk&&(t=pt);for(const e of Object.keys(t))Game.cookiesPs?t[e].pp=Math.max(Game.Objects[e].bulkPrice-(Game.cookies+ro()),0)/Game.cookiesPs+Game.Objects[e].bulkPrice/t[e].bonus:t[e].pp=Game.Objects[e].bulkPrice/t[e].bonus,$t.push([t[e].pp,Game.Objects[e].bulkPrice]);if($t.sort(((e,t)=>e[0]-t[0])),e.PPOnlyConsiderBuyable)for(;$t[0][1]>Game.cookies&&1!==$t.length;)$t.shift();Dt=$t[e.PPExcludeTop][0],Ht=$t[$t.length-1][0],Rt=(Ht-Dt)/2+Dt;for(const o of Object.keys(ct)){t[o].color=Oo(t[o],Game.Objects[o].bulkPrice);for(let n=0;n=Game.CpsAchievements[e].threshold&&Lo(Game.CpsAchievements[e].name);Re=l;const s=Game.shimmerTypes.golden.n,c=Yt("Dragon's Fortune");for(let t=0;t=7&&Lo("Elder"),!$o("Veteran")&&e>=14&&Lo("Veteran");let t=0,o=1,n=1,i=1e5;for(const e of Object.keys(Vt))t+=Vt[e].amount,i=Math.min(Vt[e].amount,i),$o("Mathematician")||Vt[e].amount=1&&Lo("One with everything"),1===o&&Lo("Mathematician"),1===n&&Lo("Base 10"),i>=100&&Lo("Centennial"),i>=150&&Lo("Centennial and a half"),i>=200&&Lo("Bicentennial"),i>=250&&Lo("Bicentennial and a half"),i>=300&&Lo("Tricentennial"),i>=350&&Lo("Tricentennial and a half"),i>=400&&Lo("Quadricentennial"),i>=450&&Lo("Quadricentennial and a half"),i>=500&&Lo("Quincentennial"),i>=550&&Lo("Quincentennial and a half"),i>=600&&Lo("Sexcentennial"),t>=100&&Lo("Builder"),t>=500&&Lo("Architect"),t>=1e3&&Lo("Engineer"),t>=2e3&&Lo("Lord of Constructs"),t>=4e3&&Lo("Grand design"),t>=8e3&&Lo("Ecumenopolis"),Ee>=20&&Lo("Enhancer"),Ee>=50&&Lo("Augmenter"),Ee>=100&&Lo("Upgrader"),Ee>=200&&Lo("Lord of Progress"),Ee>=300&&Lo("The full picture"),Ee>=400&&Lo("When there's nothing left to add"),t>=4e3&&Ee>=300&&Lo("Polymath"),t>=8e3&&Ee>=400&&Lo("Renaissance baker"),Vt.Cursor.amount+Vt.Grandma.amount>=777&&Lo("The elder scrolls");let a=!0;for(const e of Object.keys(Uo))Zt(Uo[e])||(a=!1);a&&Lo("Spooky cookies");let r=!0;for(const e of Object.keys(Do))Zt(Do[e])||(r=!1);if(r&&Lo("Let it snow"),Zt("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;for(const o of Object.keys(e))Zt(e[o].name)&&t++;t>=e.length&&Lo("O Fortuna")}}function zo(e,t){xo(),Vt[e].amount+=t;const o=Vt[e];if("Cursor"===e)o.amount>=1&&Lo("Click"),o.amount>=2&&Lo("Double-click"),o.amount>=50&&Lo("Mouse wheel"),o.amount>=100&&Lo("Of Mice and Men"),o.amount>=200&&Lo("The Digital"),o.amount>=300&&Lo("Extreme polydactyly"),o.amount>=400&&Lo("Dr. T"),o.amount>=500&&Lo("Thumbs, phalanges, metacarpals"),o.amount>=600&&Lo("With her finger and her thumb"),o.amount>=700&&Lo("Gotta hand it to you"),o.amount>=800&&Lo("The devil's workshop");else for(const e in Game.Objects[o.name].tieredAchievs)o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Lo(Game.Objects[o.name].tieredAchievs[e].name);const n=Oe;return Ao(),Io(),n!==Oe&&Ao(),De-Game.cookiesPs}function Vo(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){xo(),"Shimmering veil [on]"===_t[e].name?_t["Shimmering veil [off]"].bought=0:"Golden switch [on]"===_t[e].name?_t["Golden switch [off]"].bought=0:_t[e].bought=(_t[e].bought+1)%2,_t[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&Ee++,"Elder Pledge"===e?(Ne++,Ne>0&&Lo("Elder nap"),Ne>=5&&Lo("Elder slumber")):"Elder Covenant"===e?Lo("Elder calm"):"Prism heart biscuits"===e?Lo("Lovely cookies"):"Heavenly key"===e&&Lo("Wholesome");const t=Oe;Ao(),Io(),t!==Oe&&Ao();const o=function(){let e=0;Zt("Thousand fingers")&&(e+=.1),Zt("Million fingers")&&(e*=5),Zt("Billion fingers")&&(e*=10),Zt("Trillion fingers")&&(e*=20),Zt("Quadrillion fingers")&&(e*=20),Zt("Quintillion fingers")&&(e*=20),Zt("Sextillion fingers")&&(e*=20),Zt("Septillion fingers")&&(e*=20),Zt("Octillion fingers")&&(e*=20),Zt("Nonillion fingers")&&(e*=20);let t=0;for(const e of Object.keys(Vt))t+=Vt[e].amount;t-=Vt.Cursor.amount,e*=t,Zt("Plastic mouse")&&(e+=.01*De),Zt("Iron mouse")&&(e+=.01*De),Zt("Titanium mouse")&&(e+=.01*De),Zt("Adamantium mouse")&&(e+=.01*De),Zt("Unobtainium mouse")&&(e+=.01*De),Zt("Eludium mouse")&&(e+=.01*De),Zt("Wishalloy mouse")&&(e+=.01*De),Zt("Fantasteel mouse")&&(e+=.01*De),Zt("Nevercrack mouse")&&(e+=.01*De),Zt("Armythril mouse")&&(e+=.01*De),Zt("Technobsidian mouse")&&(e+=.01*De),Zt("Plasmarble mouse")&&(e+=.01*De),Zt("Miraculite mouse")&&(e+=.01*De),Zt("Fortune #104")&&(e+=.01*De);let o=1;if(Zt("Santa's helpers")&&(o*=1.1),Zt("Cookie egg")&&(o*=1.1),Zt("Halo gloves")&&(o*=1.1),Zt("Dragon claw")&&(o*=1.03),Zt("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,Zt("Luminous gloves")?20:10)),o*=Jt("click"),Vt.Temple.minigameLoaded&&eo){const e=eo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}for(const e of Object.keys(Game.buffs))void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick);o*=1+.05*Yt("Dragon Cursor");let n=o*Game.ComputeCps(1,Zt("Reinforced index finger")+Zt("Carpal tunnel prevention cream")+Zt("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[De-Game.cookiesPs,o]:[De-Game.cookiesPs]}return[]}function _o(e,t){const o=[];for(const t of Object.keys(Game.Objects))o[t]={},o[t].bonus=zo(t,e),1!==e&&(Se=1);return o}function Xo(){for(const e of Object.keys(Game.Objects))ct[e].price=To(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),dt[e].price=To(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),pt[e].price=To(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}function Qo(){ct=_o(1),dt=_o(10),pt=_o(100),function(){Ct=[];for(const e of Object.keys(Game.Upgrades)){const t=Vo(e);Ct[e]={},t[0]&&(Ct[e].bonus=t[0]),t[1]&&(Ct[e].bonusMouse=t[1])}}()}function qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,xt=qo(7,e,nt),vt=2*xt[1]/nt,wt=xt[2]/60/60/6/ot,St=qo(6,e,it),Tt=2*St[1]/it,Mt=St[2]/60/60/6/ot,Et=qo(7,7*e,nt),Bt=2*Et[1]/nt,Pt=Et[2]/60/60/6/ot,Ft=qo(6,7*e,it),Nt=2*Ft[1]/it,Ot=Ft[2]/60/60/6/ot}function Ko(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Te,i=Math.max(0,o-Me)/n;for(let e=0;e\n\t`}function Zo(){bt="",Gt="",kt="";const e=[];for(const t of Object.keys(Game.Upgrades))e.push(Game.Upgrades[t]);e.sort((function(e,t){return e.order>t.order?1:e.order0?Ve/=e:Ve=0,_e=nt*(.15*Ve)+13,Xe=it*(.15*Ve)+13,Qe=7*Ve,qe=nt*(.15*Qe)+13,Ye=it*(.15*Qe)+13,Ke=2*Ve,Je=.15*Ke,Ze=0;let t=0,o=0;for(const e of Object.keys(Game.Objects))Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&o++;for(const e of Object.keys(Game.Objects))(Game.Objects[e].amountZe&&(Ze=2*Game.Objects[e].price,et=e)}function on(){let e=1,t=1,o=1;Zt("Green yeast digestives")&&(o*=1.01),Zt("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),nt=o*e,it=o*t,ot=1,0===Game.shimmerTypes.golden.n&&(ot*=1+1.23*Game.auraMult("Dragon's Fortune"))}function nn(){ut=0,mt=0,ht=[0,null];for(let e=0;eht[0]&&(ht=[t,e]))}}function an(){bo(),nn(),tn(),on(),Yo(),Zo(),en(),ce=new Eo(Q[Q.length-1]),de=new Eo(Q[Q.length-1]),pe=new Eo(Q[Q.length-1]),ue=new Eo(Q[Q.length-1]),me=new Eo(q[q.length-1]),he=new Eo(5),Ko(),No(),Qo(),Xo(),Wo()}const rn={BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,BuildColor:1,BulkBuildColor:0,UpBarColor:1,UpgradeBarFixedPos:1,CalcWrink:0,CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,ColorPPBulkMode:1,PPExcludeTop:0,PPSecondsLowerLimit:0,PPOnlyConsiderBuyable:0,ToolWarnBon:0,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,DragonAuraInfo:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,TimeFormat:0,DetailedTime:1,GrimoireBar:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,Colors:{Blue:"#4bb8f0",Green:"#00ff00",Yellow:"#ffff00",Orange:"#ff7f00",Red:"#ff0000",Purple:"#ff00ff",Gray:"#b3b3b3",Pink:"#ff1493",Brown:"#8b4513"},SortBuildings:0,SortUpgrades:0,GCTimer:1,Favicon:1,WrinklerButtons:1,BulkBuyBlock:0,Header:{BarsColors:1,Calculation:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Tooltip:1,Statistics:1,Notation:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},ln=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function sn(){1===e.BotBar?(l("CMBotBar").style.display="",co()):l("CMBotBar").style.display="none",uo()}function cn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),co(),no(),io()}function dn(){let t="";for(let o=0;o0?At.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class un{constructor(e,t){this.type=e,this.group=t}}class mn extends un{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class hn extends un{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class fn extends un{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const gn={BotBar:new mn("bool","BarsColors",["Bottom Bar OFF","Bottom Bar ON"],"Building Information",!0,(function(){sn()})),TimerBar:new mn("bool","BarsColors",["Timer Bar OFF","Timer Bar ON"],"Timers of Golden Cookie, Season Popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){mo()})),TimerBarPos:new mn("bool","BarsColors",["Timer Bar Position (Top Left)","Timer Bar Position (Bottom)"],"Placement of the Timer Bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),uo()})),TimerBarOverlay:new mn("bool","BarsColors",["Timer Bar Overlay OFF","Timer Bar Overlay Only Seconds","Timer Bar Overlay Full"],"Overlay on timers displaying seconds and/or percentage left",!0),SortBuildings:new mn("bool","BarsColors",["Sort Buildings: Default","Sort Buildings: PP"],"Sort the display of buildings in either default order or by PP",!1,(function(){no()})),SortUpgrades:new mn("bool","BarsColors",["Sort Upgrades: Default","Sort Upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){io()})),BuildColor:new mn("bool","BarsColors",["Building Colors OFF","Building Colors ON"],"Color code buildings",!0,(function(){no()})),BulkBuildColor:new mn("bool","BarsColors",["Bulk Building Colors (Single Building Color)","Bulk Building Colors (Calculated Bulk Color)"],"Color code bulk buildings based on single buildings color or calculated bulk value color",!1,(function(){no()})),UpBarColor:new mn("bool","BarsColors",["Upgrade Colors/Bar OFF","Upgrade Colors with Bar ON","Upgrade Colors without Bar ON"],"Color code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",io()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",io()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),Colors:new class extends un{constructor(e,t,o,n){super(e,t),this.desc=o,this.func=n}}("color","BarsColors",{Blue:"Color Blue. Used to show better than best PP building, for Click Frenzy bar, and for various labels",Green:"Color Green. Used to show best PP building, for Blood Frenzy bar, and for various labels",Yellow:"Color Yellow. Used to show between best and worst PP buildings closer to best, for Frenzy bar, and for various labels",Orange:"Color Orange. Used to show between best and worst PP buildings closer to worst, for Next Reindeer bar, and for various labels",Red:"Color Red. Used to show worst PP building, for Clot bar, and for various labels",Purple:"Color Purple. Used to show worse than worst PP building, for Next Cookie bar, and for various labels",Gray:"Color Gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar",Pink:"Color Pink. Used for Dragonflight bar",Brown:"Color Brown. Used for Dragon Harvest bar"},(function(){dn()})),UpgradeBarFixedPos:new mn("bool","BarsColors",["Upgrade Bar Fixed Position OFF","Upgrade Bar Fixed Position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),CalcWrink:new mn("bool","Calculation",["Calculate with Wrinklers OFF","Calculate with Wrinklers ON","Calculate with Single Fattest Wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) Wrinklers",!0),CPSMode:new mn("bool","Calculation",["Current Cookies Per Second","Average Cookies Per Second"],"Calculate times using current Cookies Per Second or average Cookies Per Second",!1),AvgCPSHist:new mn("bool","Calculation",["Average CPS for past 10s","Average CPS for past 15s","Average CPS for past 30s","Average CPS for past 1m","Average CPS for past 5m","Average CPS for past 10m","Average CPS for past 15m","Average CPS for past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new mn("bool","Calculation",["Average Cookie Clicks for past 1s","Average Cookie Clicks for past 5s","Average Cookie Clicks for past 10s","Average Cookie Clicks for past 15s","Average Cookie Clicks for past 30s"],"How much time average Cookie Clicks should consider",!1),ColorPPBulkMode:new mn("bool","Calculation",["Color of PP (Compared to Single)","Color of PP (Compared to Bulk)"],"Color PP-values based on comparison with single purchase or with selected bulk-buy mode",!1,(function(){Wo()})),PPExcludeTop:new mn("bool","Calculation",["Don't Ignore Any","Ignore 1st Best","Ignore 1st and 2nd Best","Ignore 1st, 2nd and 3rd Best"],"Makes CookieMonster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPSecondsLowerLimit:new fn("numscale","Calculation","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),PPOnlyConsiderBuyable:new mn("bool","Calculation",["Don't Ignore Non-Buyable","Ignore Non-Buyable"],"Makes CookieMonster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),ToolWarnBon:new mn("bool","Calculation",["Calculate Tooltip Warning With Bonus CPS OFF","Calculate Tooltip Warning With Bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),Title:new mn("bool","NotificationGeneral",["Title OFF","Title ON","Title Pinned Tab Highlight"],'Update title with Golden Cookie/Season Popup timers; pinned tab highlight only changes the title when a Golden Cookie/Season Popup spawns; "!" means that Golden Cookie/Reindeer can spawn',!0),GeneralSound:new mn("bool","NotificationGeneral",["Consider Game Volume Setting OFF","Consider Game Volume Setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new mn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when Golden Cookie spawns",!0,(function(){ln(e.GCNotification)})),GCFlash:new mn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on Golden Cookie",!0),GCSound:new mn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on Golden Cookie",!0),GCVolume:new hn("vol","NotificationGC",[],"Volume"),GCSoundURL:new mn("url","NotificationGC","Sound URL:","URL of the sound to be played when a Golden Cookie spawns"),FortuneNotification:new mn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when Fortune Cookie is on the Ticker",!0,(function(){ln(e.FortuneNotification)})),FortuneFlash:new mn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on Fortune Cookie",!0),FortuneSound:new mn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on Fortune Cookie",!0),FortuneVolume:new hn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new mn("url","NotificationFC","Sound URL:","URL of the sound to be played when the Ticker has a Fortune Cookie"),SeaNotification:new mn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on Season Popup",!0,(function(){ln(e.SeaNotification)})),SeaFlash:new mn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on Season Popup",!0),SeaSound:new mn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on Season Popup",!0),SeaVolume:new hn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new mn("url","NotificationSea","Sound URL:","URL of the sound to be played when a Season Special spawns"),GardFlash:new mn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on Garden Tick",!0),GardSound:new mn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on Garden Tick",!0),GardVolume:new hn("vol","NotificationGard",[],"Volume"),GardSoundURL:new mn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new mn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){ln(e.MagicNotification)})),MagicFlash:new mn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),MagicSound:new mn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new hn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new mn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new mn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a Wrinkler appears",!0,(function(){ln(e.WrinklerNotification)})),WrinklerFlash:new mn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a Wrinkler appears",!0),WrinklerSound:new mn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a Wrinkler appears",!0),WrinklerVolume:new hn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new mn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a Wrinkler appears"),WrinklerMaxNotification:new mn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of Wrinklers has appeared",!0,(function(){ln(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new mn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxSound:new mn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxVolume:new hn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new mn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of Wrinklers has appeared"),TooltipBuildUpgrade:new mn("bool","Tooltip",["Building/Upgrade Tooltip Information OFF","Building/Upgrade Tooltip Information ON"],"Extra information in Building/Upgrade tooltips",!0),TooltipAmor:new mn("bool","Tooltip",["Buildings Tooltip Amortization Information OFF","Buildings Tooltip Amortization Information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new mn("bool","Tooltip",["Tooltip Lucky Warning OFF","Tooltip Lucky Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new mn("bool","Tooltip",["Tooltip Lucky Frenzy Warning OFF","Tooltip Lucky Frenzy Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new mn("bool","Tooltip",["Tooltip Conjure Warning OFF","Tooltip Conjure Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new mn("bool","Tooltip",["Tooltip Conjure Frenzy Warning OFF","Tooltip Conjure Frenzy Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new mn("bool","Tooltip",["Tooltip Edifice Warning OFF","Tooltip Edifice Warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new fn("numscale","Tooltip","Tooltip Warning At x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnPos:new mn("bool","Tooltip",["Tooltip Warning Position (Left)","Tooltip Warning Position (Bottom)"],"Placement of the warning boxes",!1,(function(){fo()})),TooltipGrim:new mn("bool","Tooltip",["Grimoire Tooltip Information OFF","Grimoire Tooltip Information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new mn("bool","Tooltip",["Wrinkler Tooltip OFF","Wrinkler Tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new mn("bool","Tooltip",["Sugar Lump Tooltip OFF","Sugar Lump Tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new mn("bool","Tooltip",["Garden Plots Tooltip OFF","Garden Plots Tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),DragonAuraInfo:new mn("bool","Tooltip",["Extra Dragon Aura Info OFF","Extra Dragon Aura Info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),TooltipAscendButton:new mn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new mn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new mn("bool","Statistics",["Missing Upgrades OFF","Missing Upgrades ON"],"Shows Missing upgrades in Stats Menu. This feature can be laggy for users with a low amount of unlocked achievements.",!0),UpStats:new mn("bool","Statistics",["Statistics Update Rate (Default)","Statistics Update Rate (1s)"],"Default Game rate is once every 5 seconds",!1),TimeFormat:new mn("bool","Statistics",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new mn("bool","Statistics",["Detailed Time OFF","Detailed Time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=H:Game.sayTime=M.sayTime})),GrimoireBar:new mn("bool","Statistics",["Grimoire Magic Meter Timer OFF","Grimoire Magic Meter Timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),HeavenlyChipsTarget:new fn("numscale","Statistics","Heavenly Chips Target: ",'Use this to set a Heavenly Chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new mn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many Golden Cookies you have missed",!0),Scale:new mn("bool","Notation",["Game's Setting Scale","Metric","Short Scale","Short Scale (Abbreviated)","Scientific Notation","Engineering Notation"],"Change how long numbers are handled",!1,(function(){cn()})),ScaleDecimals:new mn("bool","Notation",["1 decimals","2 decimals","3 decimals"],"Set the number of decimals used when applicable",!1,(function(){cn()})),ScaleSeparator:new mn("bool","Notation",[". for decimals (Standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){cn()})),ScaleCutoff:new fn("numscale","Notation","Notation Cut-off Point: ","The number from which CookieMonster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),GCTimer:new mn("bool","Miscellaneous",["Golden Cookie Timer OFF","Golden Cookie Timer ON"],"A timer on the Golden Cookie when it has been spawned",!0,(function(){!function(){if(1===e.GCTimer)for(const e of Object.keys(ie))ie[e].style.display="block",ie[e].style.left=It[e].l.style.left,ie[e].style.top=It[e].l.style.top;else for(const e of Object.keys(ie))ie[e].style.display="none"}()})),Favicon:new mn("bool","Miscellaneous",["Favicon OFF","Favicon ON"],"Update favicon with Golden/Wrath Cookie",!0,(function(){pn()})),WrinklerButtons:new mn("bool","Miscellaneous",["Extra Buttons OFF","Extra Buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){e.WrinklerButtons?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")})),BulkBuyBlock:new mn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function Cn(){return JSON.stringify({settings:e,version:"2.031.5"})}function yn(){if(Ie!==Game.dragonLevel||je){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount0&&(e=t);Vt[e].amount--,Pe--}for(const t of Object.keys(Vt)){const o=Vt[t];e+=oo(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)}return e}(),zt=e}(),je=0);const t=Game.auraMult("Fierce Hoarder")>0;!Be&&t?(Be=!0,Se=1):Be&&!t&&(Be=!1,Se=1),Se&&(Xo(),Se=0),function(){nn(),Wo(),function(){ft=0;let e=0;for(const t in Game.wrinklers)2===Game.wrinklers[t].phase&&e++;let t=1;if(Vt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}gt=e,ft=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),No(),Ko();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Ut=le(e/ao())}(),function(){!function(){k=0,It={};for(const e of Object.keys(Game.shimmers))It[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(At=Game.shimmers[e],k+=1)}();for(const e of Object.keys(ie))void 0===It[e]&&(ie[e].parentNode.removeChild(ie[e]),delete ie[e]);if(C!==Game.shimmerTypes.golden.n){if(C=Game.shimmerTypes.golden.n,C){y0){let t=0;for(const e in Game.wrinklers)2===Game.wrinklers[e].phase&&t++;t>G?(G=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Gn(3,"WrinklerMaxFlash"):Gn(3,"WrinklerFlash"),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?vn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume"):vn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume"),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?xn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):xn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):G=t}}()}}function Mn(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${Cn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Sn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t;let o=!1;for(const t in rn)if(void 0===e[t])o=!0,e[t]=rn[t];else if("Header"!==t&&"Colors"!==t)-1===t.indexOf("SoundURL")?e[t]>-1&&e[t]-1&&e[t][n]<2||(o=!0,e[t][n]=rn[t][n]);else for(const n in rn.Colors)void 0!==e[t][n]&&"string"==typeof e[t][n]||(o=!0,e[t][n]=rn[t][n]);o&&Mn(),Tn();for(const e in rn)"Header"!==e&&void 0!==gn[e].func&&gn[e].func()}else Sn(rn)}function Bn(){for(const e of Object.keys(Game.wrinklers))Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}function Pn(){if(Game.Objects["Wizard tower"].minigameLoaded)for(const e in Game.Objects["Wizard tower"].minigame.spellsById)null!==l(`grimoireSpell${e}`).onmouseover&&(x[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("g",`${e}`)}),"this"),Game.tooltip.wobble()})}function En(){if(!u&&Game.Objects["Wizard tower"].minigameLoaded){const t=Game.Objects["Wizard tower"].minigame;d=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){d(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Mn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Un(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(D[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Dn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a);for(const t of Object.keys(e)){const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)}return n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Rn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+ro()0&&(t.appendChild(Un("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(re(e)))),t.appendChild(Un("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(le(e/at)))))}const l=function(e){let t=Game.cookiesPs;xo(),0===_t["Heavenly key"].bought&&(_t["Heavenly chip secret"].bought=1,_t["Heavenly cookie stand"].bought=1,_t["Heavenly bakery"].bought=1,_t["Heavenly confectionery"].bought=1,_t["Heavenly key"].bought=1,Ao(),t=De,xo()),Wt>=1e6&&Lo("Sacrifice"),Wt>=1e9&&Lo("Oblivion"),Wt>=1e12&&Lo("From scratch"),Wt>=1e15&&Lo("Nihilism"),Wt>=1e18&&Lo("Dematerialize"),Wt>=1e21&&Lo("Nil zero zilch"),Wt>=1e24&&Lo("Transcendence"),Wt>=1e27&&Lo("Obliterate"),Wt>=1e30&&Lo("Negative void"),Wt>=1e33&&Lo("To crumbs, you say?"),Wt>=1e36&&Lo("You get nothing"),Wt>=1e39&&Lo("Humble rebeginnings"),Wt>=1e42&&Lo("The end of the world"),Wt>=1e45&&Lo("Oh, you're back"),Wt>=1e48&&Lo("Lazarus"),Wt>=1e51&&Lo("Smurf account"),Wt>=1e54&&Lo("If at first you don't succeed"),_t["Heavenly chip secret"].bought=1,_t["Heavenly cookie stand"].bought=1,_t["Heavenly bakery"].bought=1,_t["Heavenly confectionery"].bought=1,_t["Heavenly key"].bought=1,We=e;const o=Oe;Ao(),Io(),o!==Oe&&Ao();const n=De-t;return We=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(re(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Un("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Un("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Un("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Un("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${re(ut)} / ${re(mt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Bn()},e.appendChild(t),o.appendChild(Un("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${re(ht[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==ht[1]&&(Game.wrinklers[ht[1]].hp=0)},n.appendChild(i),o.appendChild(Un("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==ht[1]?ht[1]:"None"})`,n))}let n=!1;const i=[];for(const e of Object.keys(Uo))Game.Has(Uo[e])||(i.push(Uo[e]),n=!0);const a=[];for(const e of Object.keys(Do))Game.Has(Do[e])||(a.push(Do[e]),n=!0);const r=[];for(const e of Object.keys(Ro))Game.Has(Ro[e])||(r.push(Ro[e]),n=!0);const s=[];for(const e of Object.keys(Game.eggDrops))Game.HasUnlocked(Game.eggDrops[e])||(s.push(Game.eggDrops[e]),n=!0);const c=[];for(const e of Object.keys(Game.rareEggDrops))Game.HasUnlocked(Game.rareEggDrops[e])||(c.push(Game.rareEggDrops[e]),n=!0);const d=[];for(const e of Object.keys(Ho))Game.HasUnlocked(Ho[e])||(d.push(Ho[e]),n=!0);const p=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),u=Game.Has("Century egg");if(("christmas"===Game.season||n||p||u)&&(o.appendChild(jn("Season Specials","Sea")),e.Header.Sea&&(0!==i.length&&o.appendChild(Un("basic","Halloween Cookies Left to Buy",Dn(i))),0!==a.length&&o.appendChild(Un("basic","Christmas Cookies Left to Buy",Dn(a))),0!==r.length&&o.appendChild(Un("basic","Valentine Cookies Left to Buy",Dn(r))),0!==s.length&&o.appendChild(Un("basic","Normal Easter Eggs Left to Unlock",Dn(s))),0!==c.length&&o.appendChild(Un("basic","Rare Easter Eggs Left to Unlock",Dn(c))),0!==d.length&&o.appendChild(Un("basic","Rare Plant Drops Left to Unlock",Dn(d))),"christmas"===Game.season&&o.appendChild(Un("basic","Reindeer Reward",document.createTextNode(re(lt)))),p&&o.appendChild(Un("withTooltip","Chocolate Egg Cookies",document.createTextNode(re(st)),"ChoEggTooltipPlaceholder")),u&&o.appendChild(Un("basic","Century Egg Multiplier",document.createTextNode(Math.round(1e4*(rt-1))/100+"%"))))),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Un("basic",`Average Cookies Per Second (Past ${Q[e.AvgCPSHist]<60?`${Q[e.AvgCPSHist]} seconds`:Q[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(re(ao(),3)))),o.appendChild(Un("basic",`Average Cookie Clicks Per Second (Past ${q[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(re(yt,1)))),Game.Has("Fortune cookies")){const e=[];for(const t of Object.keys(jo))Game.Has(jo[t])||e.push(jo[t]);0!==e.length&&o.appendChild(Un("basic","Fortune Upgrades Left to Buy",Dn(e)))}if(e.ShowMissedGC&&o.appendChild(Un("basic","Missed Golden Cookies",document.createTextNode(re(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Un("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&function(){for(const e of l("menu").children)if(e.children[0])if("Prestige"===e.children[0].innerHTML&&kt){const t=kt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=kt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(bt){const t=bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=bt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Gt){const t=Gt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Gt,e.appendChild(i)}}}()}const Hn={BarsColors:"Bars/Colors",Calculation:"Calculation",Notification:"Notification",Tooltip:"Tooltips and additional insights",Statistics:"Statistics",Notation:"Notation",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===gn[t].type){const n=document.createElement("a");gn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]++,e[t]===gn[t].label.length?(e[t]=0,gn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==gn[t].func&&gn[t].func(),l(Wn+t).innerHTML=gn[t].label[e[t]],Mn()}(t)},n.textContent=gn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=gn[t].desc,o.appendChild(i),o}if("vol"===gn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=gn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");return r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n),o}if("url"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,Mn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=gn[t].desc,o.appendChild(s),o}if("color"===gn[t].type){o.className="";for(let t=0;tthis.max&&console.log("TEST"),e[t]=this.value,Mn(),cn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=gn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){M.Beautify=Beautify,Beautify=re,M.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){M.CalculateGains(),je=1,qt=Date.now(),Qt=Date.now()},M.tooltip={},M.tooltip.draw=Game.tooltip.draw,M.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){M.tooltip.drawMod(e,t,o)},M.tooltip.update=Game.tooltip.update,M.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){M.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},M.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(M.UpdateWrinklers)},M.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(M.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),M.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){M.RebuildUpgrades(),function(){T=[];for(const e of Object.keys(Game.UpgradesInStore))null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("u",`${e}`)}),"store"),Game.tooltip.wobble())})}(),Game.CalculateGains()},M.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=Vt[Game.ObjectsById[e].name].name;Vt[o].amount-=1,Pe-=1,t=Vt[o].basePrice*Game.priceIncrease**Math.max(0,Vt[o].amount-1-Vt[o].free),t=Game.modifyBuildingPrice(Vt[o],t),t=Math.ceil(t);break}const o=Oe;return Ao(),Io(),o!==Oe&&Ao(),[De-Game.cookiesPs,t]}(t),n=le(o/(e+Game.cookiesPs)),i=re(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${re(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},M.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){M.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},M.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(M.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t);for(const t of Object.keys(Hn)){const n=In(t,Hn[t]);if(o.appendChild(n),e.Header[t])if("Notification"===t)for(const t of Object.keys($n)){const n=In(t,$n[t]);if(n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t])for(const e in gn)gn[e].group===t&&o.appendChild(zn(e))}else for(const e of Object.keys(gn))gn[e].group===t&&o.appendChild(zn(e))}const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Sn(rn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Rn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.5) sees a total rehaul of the backend of the mod. It does not introduce any new functions, this is planned for the next release.
\nWe believe we have fixed all bugs related to this new code, but if you find any bugs, please report them on the GitHub!
\n
\nBesides, this update fixes the following bugs:
\n- Fixed some upgrade tooltips which did not display the full effect of buying the upgrades
\n- Fixed not always being able to sell when "blocking bulk buy"
\n- Fixed heavenly chips per second display
\n- Fixed small display bug when pressing shift and hovering over garden plots
\n- Fixed some bugs with the display of numbers and formatting of them
\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},M.sayTime=Game.sayTime,H=function(e,t){return Number.isNaN(e)||e<=0?M.sayTime(e,t):le(e/Game.fps,1)},M.Logic=Game.Logic,Game.Logic=function(){M.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ae=`${Game.OnAscend?"Ascending! ":""}${re(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ae;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=At?At.wrath?`[W${Math.ceil(At.life/Game.fps)}]`:`[G${Math.ceil(At.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=h?`[R${Math.ceil(jt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ae;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;At&&(t=!0,At.wrath?e+=`[W${Math.ceil(At.life/Game.fps)}]`:e+=`[G${Math.ceil(At.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&h&&(e+=`[R${Math.ceil(jt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${re(Game.prestige)}.
(CpS +${re(Game.prestige)}%)`,n+='
'),n+=Me<1?"Ascending now would grant you no prestige.":Me<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${re(Me)} prestige levels (+${re(Me)}% CpS)
and ${re(Me)} heavenly chips to spend.`,n+='
',n+=`You need ${re(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Ut} to reach the next level and you are making ${re(at,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){bn(),tn(),an(),a=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColor="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=S+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.5",N)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",P)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",P)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",P)),l("wrapper").appendChild(e);for(const e of Object.keys(Game.Objects))so(e)}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColor="black";const t=lo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:L},{id:"CMTimerBarGCBar",color:W}]);e.appendChild(t);const o=lo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:L},{id:"CMTimerBarRenBar",color:O}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColor="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(P,"Better than best PP building")),e.appendChild(o(E,"Same as best PP building")),e.appendChild(o(N,"Between best and worst PP buildings closer to best")),e.appendChild(o(O,"Between best and worst PP buildings closer to worst")),e.appendChild(o(F,"Same as worst PP building")),e.appendChild(o(W,"Worse than worst PP building")),e.appendChild(o(L,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=S+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",P)),e.appendChild(o("CMUpgradeBarGreen",E)),e.appendChild(o("CMUpgradeBarYellow",N)),e.appendChild(o("CMUpgradeBarOrange",O)),e.appendChild(o("CMUpgradeBarRed",F)),e.appendChild(o("CMUpgradeBarPurple",W)),e.appendChild(o("CMUpgradeBarGray",L)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMWhiteScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}();for(const e of Object.keys(D))Mo(D[e][0],D[e][1],D[e][2]);!function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Bn()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==ht[1]&&(Game.wrinklers[ht[1]].hp=0)},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",function(){for(const e of Object.keys(Game.Objects)){const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(w[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("b",`${e}`)}),"store"),Game.tooltip.wobble()})}}(),Game.canLumps()&&(r=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("s","Lump")}),"this"),Game.tooltip.wobble()}),m=Game.LoadMinigames,Game.LoadMinigames=function(){m(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Pn(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){$=1},l("backgroundLeftCanvas").onmouseout=function(){$=0,Game.tooltip.hide();for(const e of Object.keys(Game.wrinklers))z[e]=0},_n(),Nn(),Game.CalculateGains(),Sn(),R=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.5 loaded!"):Game.Notify("Cookie Monster version 2.031.5 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){kn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.5 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",Tn),kn=!1)},load:function(e){const t=JSON.parse(e);bn(),Sn(t.settings),"2.031.5"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:Cn};Game.registerMod("CookieMonster",Qn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],f=o.fixed?"fixed":"absolute",g=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var f=m[h];if(f)if(i.pub.presets.hasOwnProperty(f)){for(var u in i.pub.presets[f])if(i.pub.presets[f].hasOwnProperty(u))try{a(u,i.pub.presets[f][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",f)}var g=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===g.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){if(t[n])return t[n].exports;var i=t[n]={exports:{}};return e[n].call(i.exports,i,i.exports,o),i.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};const t=["","","M","G","T","P","E","Z","Y"],n=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],i=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let a,r,s,c,d,p,u,m,h,f,g,C,y,b,k,G,v,w=[],x=[],T=[],M={};const S="CMText",B="CMBack",P="Blue",E="Green",N="Yellow",O="Orange",F="Red",W="Purple",L="Gray",A="Pink",j="Brown",U=[L,P,E,N,O,F,W,A,j],D=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]];let R,H,$=0,I=-1,z=[],V=1,_=1,X=1;const Q=[10,15,30,60,300,600,900,1800],q=[1,5,10,15,30],Y={Frenzy:N,"Dragon Harvest":j,"Elder frenzy":E,Clot:F,"Click frenzy":P,Dragonflight:A};let K,J,Z,ee,te,oe,ne,ie={},ae="";function re(o,a,r){const l=e.ScaleDecimals+1;if(o===1/0)return"Infinity";if(void 0===o)return"0";if(0===e.Scale)return M.Beautify(o,a);if(Number.isFinite(o)){let s="";if(0===o)return o.toString();if(o>.001&&o=.01&&o=.01&&o=.01&&o315576e4)return"XX:XX:XX:XX:XX";s+=(n<10?"0":"")+n+":",s+=(i<10?"0":"")+i+":",s+=(a<10?"0":"")+a+":",s+=(r<10?"0":"")+r+":",s+=(l<10?"0":"")+l}else{if(t>7776e5)return o?"Over 9000 days!":">9000d";s+=n>0?n+(o?1===n?" year":" years":"y")+", ":"",s+=i>0?i+(o?1===i?" day":" days":"d")+", ":"",(s.length>0||a>0)&&(s+=a+(o?1===a?" hour":" hours":"h")+", "),(s.length>0||r>0)&&(s+=r+(o?1===r?" minute":" minutes":"m")+", "),s+=l+(o?1===l?" second":" seconds":"s")}return s}function se(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=E):(n=le(t),o=t>300?F:t>60?O:N),{text:n,color:o}}let ce,de,pe,ue,me,he,fe,ge,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Be,Pe,Ee,Ne,Oe,Fe,We,Le,Ae,je,Ue,De,Re,He=0,$e=0,Ie=0,ze=0,Ve=0,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=1,nt=1,it=1,at=0,rt=0,lt=0,st=0,ct={},dt={},pt={},ut=0,mt=0,ht=[0,null],ft=0,gt=0,Ct={},yt={},bt={},kt={},Gt={},vt=0,wt=0,xt=[],Tt=0,Mt=0,St=[],Bt=0,Pt=0,Et=[],Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At={},jt={},Ut=0,Dt=0,Rt=0,Ht=0,$t=[],It={},zt=0,Vt=[],_t=[],Xt=[],Qt=Game.startDate,qt=Game.startDate;function Yt(e){let t=0;return Game.dragonAuras[Le].name!==e&&Game.dragonAuras[Ae].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Le].name&&"Reality Bending"!==Game.dragonAuras[Ae].name||(t+=.1),t}function Kt(){let e=.25;return e*=1+Yt("Earth Shatterer"),e}function Jt(e,t){return void 0===Ue[e]?void 0===t?1:t:Ue[e]}function Zt(e){const t=_t[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function eo(e){if(Game.hasGod){void 0===Vt.Temple.minigame&&(Vt.Temple.minigame=Game.Objects.Temple.minigame);const t=Vt.Temple.minigame.gods[e];for(let e=0;e<3;e++)if(Vt.Temple.minigame.slot[e]===t.id)return e+1}return!1}function to(e,t){if(Zt("Season savings")&&(t*=.99),Zt("Santa's dominion")&&(t*=.99),Zt("Faberge egg")&&(t*=.99),Zt("Divine discount")&&(t*=.99),Zt("Fortune #100")&&(t*=.99),t*=1-.02*Yt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(t*=.95),Game.hasBuff("Crafty pixies")&&(t*=.98),Game.hasBuff("Nasty goblins")&&(t*=1.02),e.fortune&&Zt(e.fortune.name)&&(t*=.93),t*=Jt("buildingCost"),Vt.Temple.minigameLoaded){const e=eo("creation");1===e?t*=.93:2===e?t*=.95:3===e&&(t*=.98)}return t}function oo(e,t,o,n,i,a){a=void 0===a?0:a;let r=0;-1===i&&(i=o),i||(i=Game.buyBulk);for(let l=0;l0&&(r+=i,o--)}return r}function no(){let t=Game.buyBulk;if(1===Game.buyMode?_=t:t=_,1===t?t=ct:10===t?t=dt:100===t&&(t=pt),1===Game.buyMode)if(1===e.BuildColor)for(const o of Object.keys(t))l(`productPrice${Game.Objects[o].id}`).style.color=e.Colors[t[o].color];else for(const e of Object.keys(Game.Objects))l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color");else if(-1===Game.buyMode)for(const e of Object.keys(ct)){const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=re(oo(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))}if(1===Game.buyMode&&e.SortBuildings){const e=Object.keys(t).map((e=>{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o}));e.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const t=ct[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;for(const s of Object.keys(Game.UpgradesInStore)){const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eU.indexOf(t.color)?1:U.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e=10&&(e+=1);return e}:o.power=function(){let e=2;if(Zt("Starlove")&&(e=3),Game.hasGod){const t=eo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function xo(){Ee=Game.UpgradesOwned,Ne=Game.pledges,Oe=Game.AchievementsOwned,Fe=Game.heavenlyPower,We=Game.prestige;for(const e of Object.keys(Game.Objects)){const t=Game.Objects[e];let o=Vt[e];void 0===o&&(Vt[e]=vo(e),o=Vt[e],so(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&(o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Vt[e]=o}for(const e of Object.keys(Game.Upgrades)){const t=Game.Upgrades[e];let o=_t[e];void 0===o&&(_t[e]=wo(e),o=_t[e]),o.bought=t.bought,_t[e]=o}for(const e of Object.keys(Game.Achievements)){const t=Game.Achievements[e];let o=Xt[e];void 0===o&&(Xt[e]=ko(e),o=Xt[e]),o.won=t.won,Xt[e]=o}bo(),Le=He,Ae=$e}function To(e,t,o,n,i){let a=0;for(let r=0;rt.plantsById[t.plot[ee[1]][ee[0]][0]-1].matureBase,o=t.plantsById[t.plot[ee[1]][ee[0]][0]-1].name;l("CMTooltipBorder").appendChild(Co("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${re(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${re(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${re(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${re(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===Z&&function(){const t=Game.Objects.Farm.minigame;if(e.TooltipLump){l("CMTooltipBorder").appendChild(Co("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${re(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${se((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(re(Game.Objects[o].bulkPrice)).join(re((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t&&(l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return Z=t,ee=o,So(),l("tooltip").innerHTML}function Po(){if(Game.prefs.autosave&&Game.drawT%10==0&&"stats"===Game.onMenu&&e.Stats){const e=document.getElementById("CMStatsAutosaveTimer");e&&(e.innerText=Game.sayTime(60*Game.fps-Game.T%(60*Game.fps),4))}no(),io(),function(){if(1===e.TimerBar){const t=l("CMTimerBar").offsetWidth-163,o=l("CMTimerBar").offsetWidth-133;let n=0;0!==Game.shimmerTypes.golden.spawned||Game.Has("Golden switch [off]")?l("CMTimerBarGC").style.display="none":(l("CMTimerBarGC").style.display="",l("CMTimerBarGCMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n++),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n++):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="";for(const t of Object.keys(Game.buffs))if(Game.buffs[t]){const a=lo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==Y[Game.buffs[t].name]?Y[Game.buffs[t].name]:W,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n++,i[Game.buffs[t].name]=a}for(const e of Object.keys(i))l("CMTimerBarBuffTimers").appendChild(i[e]);0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ne!==n&&(ne=n,uo())}}(),co(),So(),function(){if(1===e.TooltipWrink&&1===$){let e=!1;for(const t of Object.keys(Game.wrinklers)){const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0!==z[t]&&void 0!==z[t])break;{const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),I=t,z[t]=1}}else z[t]=0}e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let e=Game.wrinklers[I].sucked,t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[I].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Vt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=re(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu();let t=l("cookies").innerHTML.replace(/.*(?=
)/i,re(Game.cookies));Game.prefs.monospace&&(t=`${t}`),l("cookies").innerHTML=t}class Eo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){e>this.maxLength&&(e=this.maxLength),e>this.queue.length&&(e=this.queue.length);let t=0;for(let o=this.queue.length-1;o>=0&&o>this.queue.length-1-e;o--)t+=this.queue[o];return 0===t?0:t/e}}function No(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+zt;Game.cpsSucked>0&&(o+=ut),Wt=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-fe,i=Math.max(0,Game.cookies-ge)/n,a=Math.max(0,ut-Ce)/n,r=Math.max(0,ht[0]-ye)/n,l=Math.max(0,o-st)/n,s=(Game.cookieClicks-be)/n;for(let e=0;eHt?W:t.pp>Rt?O:N,0!==Number(e.PPSecondsLowerLimit)&&o/ao()0&&(n=F),n}function Fo(e){for(const t of Object.keys(e))Game.cookiesPs?e[t].pp=Math.max(e[t].price-(Game.cookies+ro()),0)/Game.cookiesPs+e[t].price/e[t].bonus:e[t].pp=e[t].price/e[t].bonus,e[t].color=Oo(e[t],e[t].price)}function Wo(){!function(){if(Dt=1/0,Ht=1,$t=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),0===e.ColorPPBulkMode&&Game.buyMode>0){for(const e of Object.keys(ct))Game.cookiesPs?ct[e].pp=Math.max(Game.Objects[e].getPrice()-(Game.cookies+ro()),0)/Game.cookiesPs+Game.Objects[e].getPrice()/ct[e].bonus:ct[e].pp=Game.Objects[e].getPrice()/ct[e].bonus,$t.push([ct[e].pp,Game.Objects[e].getPrice()]);if($t.sort(((e,t)=>e[0]-t[0])),e.PPOnlyConsiderBuyable)for(;$t[0][1]>Game.cookies&&1!==$t.length;)$t.shift();Dt=$t[e.PPExcludeTop][0],Ht=$t[$t.length-1][0],Rt=(Ht-Dt)/2+Dt;for(const t of Object.keys(ct)){ct[t].color=Oo(ct[t],Game.Objects[t].getPrice());for(let o=0;o0){let t;1===Game.buyBulk?t=ct:10===Game.buyBulk?t=dt:100===Game.buyBulk&&(t=pt);for(const e of Object.keys(t))Game.cookiesPs?t[e].pp=Math.max(Game.Objects[e].bulkPrice-(Game.cookies+ro()),0)/Game.cookiesPs+Game.Objects[e].bulkPrice/t[e].bonus:t[e].pp=Game.Objects[e].bulkPrice/t[e].bonus,$t.push([t[e].pp,Game.Objects[e].bulkPrice]);if($t.sort(((e,t)=>e[0]-t[0])),e.PPOnlyConsiderBuyable)for(;$t[0][1]>Game.cookies&&1!==$t.length;)$t.shift();Dt=$t[e.PPExcludeTop][0],Ht=$t[$t.length-1][0],Rt=(Ht-Dt)/2+Dt;for(const o of Object.keys(ct)){t[o].color=Oo(t[o],Game.Objects[o].bulkPrice);for(let n=0;n=Game.CpsAchievements[e].threshold&&Lo(Game.CpsAchievements[e].name);Re=l;const s=Game.shimmerTypes.golden.n,c=Yt("Dragon's Fortune");for(let t=0;t=7&&Lo("Elder"),!$o("Veteran")&&e>=14&&Lo("Veteran");let t=0,o=1,n=1,i=1e5;for(const e of Object.keys(Vt))t+=Vt[e].amount,i=Math.min(Vt[e].amount,i),$o("Mathematician")||Vt[e].amount=1&&Lo("One with everything"),1===o&&Lo("Mathematician"),1===n&&Lo("Base 10"),i>=100&&Lo("Centennial"),i>=150&&Lo("Centennial and a half"),i>=200&&Lo("Bicentennial"),i>=250&&Lo("Bicentennial and a half"),i>=300&&Lo("Tricentennial"),i>=350&&Lo("Tricentennial and a half"),i>=400&&Lo("Quadricentennial"),i>=450&&Lo("Quadricentennial and a half"),i>=500&&Lo("Quincentennial"),i>=550&&Lo("Quincentennial and a half"),i>=600&&Lo("Sexcentennial"),t>=100&&Lo("Builder"),t>=500&&Lo("Architect"),t>=1e3&&Lo("Engineer"),t>=2e3&&Lo("Lord of Constructs"),t>=4e3&&Lo("Grand design"),t>=8e3&&Lo("Ecumenopolis"),Ee>=20&&Lo("Enhancer"),Ee>=50&&Lo("Augmenter"),Ee>=100&&Lo("Upgrader"),Ee>=200&&Lo("Lord of Progress"),Ee>=300&&Lo("The full picture"),Ee>=400&&Lo("When there's nothing left to add"),t>=4e3&&Ee>=300&&Lo("Polymath"),t>=8e3&&Ee>=400&&Lo("Renaissance baker"),Vt.Cursor.amount+Vt.Grandma.amount>=777&&Lo("The elder scrolls");let a=!0;for(const e of Object.keys(Uo))Zt(Uo[e])||(a=!1);a&&Lo("Spooky cookies");let r=!0;for(const e of Object.keys(Do))Zt(Do[e])||(r=!1);if(r&&Lo("Let it snow"),Zt("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;for(const o of Object.keys(e))Zt(e[o].name)&&t++;t>=e.length&&Lo("O Fortuna")}}function zo(e,t){xo(),Vt[e].amount+=t;const o=Vt[e];if("Cursor"===e)o.amount>=1&&Lo("Click"),o.amount>=2&&Lo("Double-click"),o.amount>=50&&Lo("Mouse wheel"),o.amount>=100&&Lo("Of Mice and Men"),o.amount>=200&&Lo("The Digital"),o.amount>=300&&Lo("Extreme polydactyly"),o.amount>=400&&Lo("Dr. T"),o.amount>=500&&Lo("Thumbs, phalanges, metacarpals"),o.amount>=600&&Lo("With her finger and her thumb"),o.amount>=700&&Lo("Gotta hand it to you"),o.amount>=800&&Lo("The devil's workshop");else for(const e in Game.Objects[o.name].tieredAchievs)o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Lo(Game.Objects[o.name].tieredAchievs[e].name);const n=Oe;return Ao(),Io(),n!==Oe&&Ao(),De-Game.cookiesPs}function Vo(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){xo(),"Shimmering veil [on]"===_t[e].name?_t["Shimmering veil [off]"].bought=0:"Golden switch [on]"===_t[e].name?_t["Golden switch [off]"].bought=0:_t[e].bought=(_t[e].bought+1)%2,_t[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&Ee++,"Elder Pledge"===e?(Ne++,Ne>0&&Lo("Elder nap"),Ne>=5&&Lo("Elder slumber")):"Elder Covenant"===e?Lo("Elder calm"):"Prism heart biscuits"===e?Lo("Lovely cookies"):"Heavenly key"===e&&Lo("Wholesome");const t=Oe;Ao(),Io(),t!==Oe&&Ao();const o=function(){let e=0;Zt("Thousand fingers")&&(e+=.1),Zt("Million fingers")&&(e*=5),Zt("Billion fingers")&&(e*=10),Zt("Trillion fingers")&&(e*=20),Zt("Quadrillion fingers")&&(e*=20),Zt("Quintillion fingers")&&(e*=20),Zt("Sextillion fingers")&&(e*=20),Zt("Septillion fingers")&&(e*=20),Zt("Octillion fingers")&&(e*=20),Zt("Nonillion fingers")&&(e*=20);let t=0;for(const e of Object.keys(Vt))t+=Vt[e].amount;t-=Vt.Cursor.amount,e*=t,Zt("Plastic mouse")&&(e+=.01*De),Zt("Iron mouse")&&(e+=.01*De),Zt("Titanium mouse")&&(e+=.01*De),Zt("Adamantium mouse")&&(e+=.01*De),Zt("Unobtainium mouse")&&(e+=.01*De),Zt("Eludium mouse")&&(e+=.01*De),Zt("Wishalloy mouse")&&(e+=.01*De),Zt("Fantasteel mouse")&&(e+=.01*De),Zt("Nevercrack mouse")&&(e+=.01*De),Zt("Armythril mouse")&&(e+=.01*De),Zt("Technobsidian mouse")&&(e+=.01*De),Zt("Plasmarble mouse")&&(e+=.01*De),Zt("Miraculite mouse")&&(e+=.01*De),Zt("Fortune #104")&&(e+=.01*De);let o=1;if(Zt("Santa's helpers")&&(o*=1.1),Zt("Cookie egg")&&(o*=1.1),Zt("Halo gloves")&&(o*=1.1),Zt("Dragon claw")&&(o*=1.03),Zt("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,Zt("Luminous gloves")?20:10)),o*=Jt("click"),Vt.Temple.minigameLoaded&&eo){const e=eo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}for(const e of Object.keys(Game.buffs))void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick);o*=1+.05*Yt("Dragon Cursor");let n=o*Game.ComputeCps(1,Zt("Reinforced index finger")+Zt("Carpal tunnel prevention cream")+Zt("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[De-Game.cookiesPs,o]:[De-Game.cookiesPs]}return[]}function _o(e,t){const o=[];for(const t of Object.keys(Game.Objects))o[t]={},o[t].bonus=zo(t,e),1!==e&&(Se=1);return o}function Xo(){for(const e of Object.keys(Game.Objects))ct[e].price=To(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),dt[e].price=To(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),pt[e].price=To(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}function Qo(){ct=_o(1),dt=_o(10),pt=_o(100),function(){Ct=[];for(const e of Object.keys(Game.Upgrades)){const t=Vo(e);Ct[e]={},t[0]&&(Ct[e].bonus=t[0]),t[1]&&(Ct[e].bonusMouse=t[1])}}()}function qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,xt=qo(7,e,nt),vt=2*xt[1]/nt,wt=xt[2]/60/60/6/ot,St=qo(6,e,it),Tt=2*St[1]/it,Mt=St[2]/60/60/6/ot,Et=qo(7,7*e,nt),Bt=2*Et[1]/nt,Pt=Et[2]/60/60/6/ot,Ft=qo(6,7*e,it),Nt=2*Ft[1]/it,Ot=Ft[2]/60/60/6/ot}function Ko(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Te,i=Math.max(0,o-Me)/n;for(let e=0;e\n\t`}function Zo(){bt="",Gt="",kt="";const e=[];for(const t of Object.keys(Game.Upgrades))e.push(Game.Upgrades[t]);e.sort((function(e,t){return e.order>t.order?1:e.order0?Ve/=e:Ve=0,_e=nt*(.15*Ve)+13,Xe=it*(.15*Ve)+13,Qe=7*Ve,qe=nt*(.15*Qe)+13,Ye=it*(.15*Qe)+13,Ke=2*Ve,Je=.15*Ke,Ze=0;let t=0,o=0;for(const e of Object.keys(Game.Objects))Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&o++;for(const e of Object.keys(Game.Objects))(Game.Objects[e].amountZe&&(Ze=2*Game.Objects[e].price,et=e)}function on(){let e=1,t=1,o=1;Zt("Green yeast digestives")&&(o*=1.01),Zt("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),nt=o*e,it=o*t,ot=1,0===Game.shimmerTypes.golden.n&&(ot*=1+1.23*Game.auraMult("Dragon's Fortune"))}function nn(){ut=0,mt=0,ht=[0,null];for(let e=0;eht[0]&&(ht=[t,e]))}}function an(){bo(),nn(),tn(),on(),Yo(),Zo(),en(),ce=new Eo(Q[Q.length-1]),de=new Eo(Q[Q.length-1]),pe=new Eo(Q[Q.length-1]),ue=new Eo(Q[Q.length-1]),me=new Eo(q[q.length-1]),he=new Eo(5),Ko(),No(),Qo(),Xo(),Wo()}const rn={BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,BuildColor:1,BulkBuildColor:0,UpBarColor:1,UpgradeBarFixedPos:1,CalcWrink:0,CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,ColorPPBulkMode:1,PPExcludeTop:0,PPSecondsLowerLimit:0,PPOnlyConsiderBuyable:0,ToolWarnBon:0,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,DragonAuraInfo:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,TimeFormat:0,DetailedTime:1,GrimoireBar:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,Colors:{Blue:"#4bb8f0",Green:"#00ff00",Yellow:"#ffff00",Orange:"#ff7f00",Red:"#ff0000",Purple:"#ff00ff",Gray:"#b3b3b3",Pink:"#ff1493",Brown:"#8b4513"},SortBuildings:0,SortUpgrades:0,GCTimer:1,Favicon:1,WrinklerButtons:1,BulkBuyBlock:0,Header:{BarsColors:1,Calculation:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Tooltip:1,Statistics:1,Notation:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},ln=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function sn(){1===e.BotBar?(l("CMBotBar").style.display="",co()):l("CMBotBar").style.display="none",uo()}function cn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),co(),no(),io()}function dn(){let t="";for(let o=0;o0?At.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class un{constructor(e,t){this.type=e,this.group=t}}class mn extends un{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class hn extends un{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class fn extends un{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const gn={BotBar:new mn("bool","BarsColors",["Bottom Bar OFF","Bottom Bar ON"],"Building Information",!0,(function(){sn()})),TimerBar:new mn("bool","BarsColors",["Timer Bar OFF","Timer Bar ON"],"Timers of Golden Cookie, Season Popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){mo()})),TimerBarPos:new mn("bool","BarsColors",["Timer Bar Position (Top Left)","Timer Bar Position (Bottom)"],"Placement of the Timer Bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),uo()})),TimerBarOverlay:new mn("bool","BarsColors",["Timer Bar Overlay OFF","Timer Bar Overlay Only Seconds","Timer Bar Overlay Full"],"Overlay on timers displaying seconds and/or percentage left",!0),SortBuildings:new mn("bool","BarsColors",["Sort Buildings: Default","Sort Buildings: PP"],"Sort the display of buildings in either default order or by PP",!1,(function(){no()})),SortUpgrades:new mn("bool","BarsColors",["Sort Upgrades: Default","Sort Upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){io()})),BuildColor:new mn("bool","BarsColors",["Building Colors OFF","Building Colors ON"],"Color code buildings",!0,(function(){no()})),BulkBuildColor:new mn("bool","BarsColors",["Bulk Building Colors (Single Building Color)","Bulk Building Colors (Calculated Bulk Color)"],"Color code bulk buildings based on single buildings color or calculated bulk value color",!1,(function(){no()})),UpBarColor:new mn("bool","BarsColors",["Upgrade Colors/Bar OFF","Upgrade Colors with Bar ON","Upgrade Colors without Bar ON"],"Color code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",io()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",io()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),Colors:new class extends un{constructor(e,t,o,n){super(e,t),this.desc=o,this.func=n}}("color","BarsColors",{Blue:"Color Blue. Used to show better than best PP building, for Click Frenzy bar, and for various labels",Green:"Color Green. Used to show best PP building, for Blood Frenzy bar, and for various labels",Yellow:"Color Yellow. Used to show between best and worst PP buildings closer to best, for Frenzy bar, and for various labels",Orange:"Color Orange. Used to show between best and worst PP buildings closer to worst, for Next Reindeer bar, and for various labels",Red:"Color Red. Used to show worst PP building, for Clot bar, and for various labels",Purple:"Color Purple. Used to show worse than worst PP building, for Next Cookie bar, and for various labels",Gray:"Color Gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar",Pink:"Color Pink. Used for Dragonflight bar",Brown:"Color Brown. Used for Dragon Harvest bar"},(function(){dn()})),UpgradeBarFixedPos:new mn("bool","BarsColors",["Upgrade Bar Fixed Position OFF","Upgrade Bar Fixed Position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),CalcWrink:new mn("bool","Calculation",["Calculate with Wrinklers OFF","Calculate with Wrinklers ON","Calculate with Single Fattest Wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) Wrinklers",!0),CPSMode:new mn("bool","Calculation",["Current Cookies Per Second","Average Cookies Per Second"],"Calculate times using current Cookies Per Second or average Cookies Per Second",!1),AvgCPSHist:new mn("bool","Calculation",["Average CPS for past 10s","Average CPS for past 15s","Average CPS for past 30s","Average CPS for past 1m","Average CPS for past 5m","Average CPS for past 10m","Average CPS for past 15m","Average CPS for past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new mn("bool","Calculation",["Average Cookie Clicks for past 1s","Average Cookie Clicks for past 5s","Average Cookie Clicks for past 10s","Average Cookie Clicks for past 15s","Average Cookie Clicks for past 30s"],"How much time average Cookie Clicks should consider",!1),ColorPPBulkMode:new mn("bool","Calculation",["Color of PP (Compared to Single)","Color of PP (Compared to Bulk)"],"Color PP-values based on comparison with single purchase or with selected bulk-buy mode",!1,(function(){Wo()})),PPExcludeTop:new mn("bool","Calculation",["Don't Ignore Any","Ignore 1st Best","Ignore 1st and 2nd Best","Ignore 1st, 2nd and 3rd Best"],"Makes CookieMonster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPSecondsLowerLimit:new fn("numscale","Calculation","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),PPOnlyConsiderBuyable:new mn("bool","Calculation",["Don't Ignore Non-Buyable","Ignore Non-Buyable"],"Makes CookieMonster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),ToolWarnBon:new mn("bool","Calculation",["Calculate Tooltip Warning With Bonus CPS OFF","Calculate Tooltip Warning With Bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),Title:new mn("bool","NotificationGeneral",["Title OFF","Title ON","Title Pinned Tab Highlight"],'Update title with Golden Cookie/Season Popup timers; pinned tab highlight only changes the title when a Golden Cookie/Season Popup spawns; "!" means that Golden Cookie/Reindeer can spawn',!0),GeneralSound:new mn("bool","NotificationGeneral",["Consider Game Volume Setting OFF","Consider Game Volume Setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new mn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when Golden Cookie spawns",!0,(function(){ln(e.GCNotification)})),GCFlash:new mn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on Golden Cookie",!0),GCSound:new mn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on Golden Cookie",!0),GCVolume:new hn("vol","NotificationGC",[],"Volume"),GCSoundURL:new mn("url","NotificationGC","Sound URL:","URL of the sound to be played when a Golden Cookie spawns"),FortuneNotification:new mn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when Fortune Cookie is on the Ticker",!0,(function(){ln(e.FortuneNotification)})),FortuneFlash:new mn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on Fortune Cookie",!0),FortuneSound:new mn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on Fortune Cookie",!0),FortuneVolume:new hn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new mn("url","NotificationFC","Sound URL:","URL of the sound to be played when the Ticker has a Fortune Cookie"),SeaNotification:new mn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on Season Popup",!0,(function(){ln(e.SeaNotification)})),SeaFlash:new mn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on Season Popup",!0),SeaSound:new mn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on Season Popup",!0),SeaVolume:new hn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new mn("url","NotificationSea","Sound URL:","URL of the sound to be played when a Season Special spawns"),GardFlash:new mn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on Garden Tick",!0),GardSound:new mn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on Garden Tick",!0),GardVolume:new hn("vol","NotificationGard",[],"Volume"),GardSoundURL:new mn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new mn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){ln(e.MagicNotification)})),MagicFlash:new mn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),MagicSound:new mn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new hn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new mn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new mn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a Wrinkler appears",!0,(function(){ln(e.WrinklerNotification)})),WrinklerFlash:new mn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a Wrinkler appears",!0),WrinklerSound:new mn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a Wrinkler appears",!0),WrinklerVolume:new hn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new mn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a Wrinkler appears"),WrinklerMaxNotification:new mn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of Wrinklers has appeared",!0,(function(){ln(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new mn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxSound:new mn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxVolume:new hn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new mn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of Wrinklers has appeared"),TooltipBuildUpgrade:new mn("bool","Tooltip",["Building/Upgrade Tooltip Information OFF","Building/Upgrade Tooltip Information ON"],"Extra information in Building/Upgrade tooltips",!0),TooltipAmor:new mn("bool","Tooltip",["Buildings Tooltip Amortization Information OFF","Buildings Tooltip Amortization Information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new mn("bool","Tooltip",["Tooltip Lucky Warning OFF","Tooltip Lucky Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new mn("bool","Tooltip",["Tooltip Lucky Frenzy Warning OFF","Tooltip Lucky Frenzy Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new mn("bool","Tooltip",["Tooltip Conjure Warning OFF","Tooltip Conjure Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new mn("bool","Tooltip",["Tooltip Conjure Frenzy Warning OFF","Tooltip Conjure Frenzy Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new mn("bool","Tooltip",["Tooltip Edifice Warning OFF","Tooltip Edifice Warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new fn("numscale","Tooltip","Tooltip Warning At x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnPos:new mn("bool","Tooltip",["Tooltip Warning Position (Left)","Tooltip Warning Position (Bottom)"],"Placement of the warning boxes",!1,(function(){fo()})),TooltipGrim:new mn("bool","Tooltip",["Grimoire Tooltip Information OFF","Grimoire Tooltip Information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new mn("bool","Tooltip",["Wrinkler Tooltip OFF","Wrinkler Tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new mn("bool","Tooltip",["Sugar Lump Tooltip OFF","Sugar Lump Tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new mn("bool","Tooltip",["Garden Plots Tooltip OFF","Garden Plots Tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),DragonAuraInfo:new mn("bool","Tooltip",["Extra Dragon Aura Info OFF","Extra Dragon Aura Info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),TooltipAscendButton:new mn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new mn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new mn("bool","Statistics",["Missing Upgrades OFF","Missing Upgrades ON"],"Shows Missing upgrades in Stats Menu. This feature can be laggy for users with a low amount of unlocked achievements.",!0),UpStats:new mn("bool","Statistics",["Statistics Update Rate (Default)","Statistics Update Rate (1s)"],"Default Game rate is once every 5 seconds",!1),TimeFormat:new mn("bool","Statistics",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new mn("bool","Statistics",["Detailed Time OFF","Detailed Time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=H:Game.sayTime=M.sayTime})),GrimoireBar:new mn("bool","Statistics",["Grimoire Magic Meter Timer OFF","Grimoire Magic Meter Timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),HeavenlyChipsTarget:new fn("numscale","Statistics","Heavenly Chips Target: ",'Use this to set a Heavenly Chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new mn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many Golden Cookies you have missed",!0),Scale:new mn("bool","Notation",["Game's Setting Scale","Metric","Short Scale","Short Scale (Abbreviated)","Scientific Notation","Engineering Notation"],"Change how long numbers are handled",!1,(function(){cn()})),ScaleDecimals:new mn("bool","Notation",["1 decimals","2 decimals","3 decimals"],"Set the number of decimals used when applicable",!1,(function(){cn()})),ScaleSeparator:new mn("bool","Notation",[". for decimals (Standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){cn()})),ScaleCutoff:new fn("numscale","Notation","Notation Cut-off Point: ","The number from which CookieMonster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),GCTimer:new mn("bool","Miscellaneous",["Golden Cookie Timer OFF","Golden Cookie Timer ON"],"A timer on the Golden Cookie when it has been spawned",!0,(function(){!function(){if(1===e.GCTimer)for(const e of Object.keys(ie))ie[e].style.display="block",ie[e].style.left=It[e].l.style.left,ie[e].style.top=It[e].l.style.top;else for(const e of Object.keys(ie))ie[e].style.display="none"}()})),Favicon:new mn("bool","Miscellaneous",["Favicon OFF","Favicon ON"],"Update favicon with Golden/Wrath Cookie",!0,(function(){pn()})),WrinklerButtons:new mn("bool","Miscellaneous",["Extra Buttons OFF","Extra Buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){e.WrinklerButtons?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")})),BulkBuyBlock:new mn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function Cn(){return JSON.stringify({settings:e,version:"2.031.5"})}function yn(){if(Ie!==Game.dragonLevel||je){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount0&&(e=t);Vt[e].amount--,Pe--}for(const t of Object.keys(Vt)){const o=Vt[t];e+=oo(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)}return e}(),zt=e}(),je=0);const t=Game.auraMult("Fierce Hoarder")>0;!Be&&t?(Be=!0,Se=1):Be&&!t&&(Be=!1,Se=1),Se&&(Xo(),Se=0),function(){nn(),Wo(),function(){ft=0;let e=0;for(const t in Game.wrinklers)2===Game.wrinklers[t].phase&&e++;let t=1;if(Vt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}gt=e,ft=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),No(),Ko();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Ut=le(e/ao())}(),function(){!function(){k=0,It={};for(const e of Object.keys(Game.shimmers))It[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(At=Game.shimmers[e],k+=1)}();for(const e of Object.keys(ie))void 0===It[e]&&(ie[e].parentNode.removeChild(ie[e]),delete ie[e]);if(C!==Game.shimmerTypes.golden.n){if(C=Game.shimmerTypes.golden.n,C){y0){let t=0;for(const e in Game.wrinklers)2===Game.wrinklers[e].phase&&t++;t>G?(G=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Gn(3,"WrinklerMaxFlash"):Gn(3,"WrinklerFlash"),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?vn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume"):vn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume"),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?xn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):xn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):G=t}}()}}function Mn(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${Cn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Sn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t;let o=!1;for(const t in rn)if(void 0===e[t])o=!0,e[t]=rn[t];else if("Header"!==t&&"Colors"!==t)-1===t.indexOf("SoundURL")?e[t]>-1&&e[t]-1&&e[t][n]<2||(o=!0,e[t][n]=rn[t][n]);else for(const n in rn.Colors)void 0!==e[t][n]&&"string"==typeof e[t][n]||(o=!0,e[t][n]=rn[t][n]);o&&Mn(),Tn();for(const e in rn)"Header"!==e&&void 0!==gn[e].func&&gn[e].func()}else Sn(rn)}function Bn(){for(const e of Object.keys(Game.wrinklers))Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}function Pn(){if(Game.Objects["Wizard tower"].minigameLoaded)for(const e in Game.Objects["Wizard tower"].minigame.spellsById)null!==l(`grimoireSpell${e}`).onmouseover&&(x[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("g",`${e}`)}),"this"),Game.tooltip.wobble()})}function En(){if(!u&&Game.Objects["Wizard tower"].minigameLoaded){const t=Game.Objects["Wizard tower"].minigame;d=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){d(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Mn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Un(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(D[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Dn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a);for(const t of Object.keys(e)){const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)}return n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Rn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+ro()0&&(t.appendChild(Un("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(re(e)))),t.appendChild(Un("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(le(e/at)))))}const l=function(e){let t=Game.cookiesPs;xo(),0===_t["Heavenly key"].bought&&(_t["Heavenly chip secret"].bought=1,_t["Heavenly cookie stand"].bought=1,_t["Heavenly bakery"].bought=1,_t["Heavenly confectionery"].bought=1,_t["Heavenly key"].bought=1,Ao(),t=De,xo()),Wt>=1e6&&Lo("Sacrifice"),Wt>=1e9&&Lo("Oblivion"),Wt>=1e12&&Lo("From scratch"),Wt>=1e15&&Lo("Nihilism"),Wt>=1e18&&Lo("Dematerialize"),Wt>=1e21&&Lo("Nil zero zilch"),Wt>=1e24&&Lo("Transcendence"),Wt>=1e27&&Lo("Obliterate"),Wt>=1e30&&Lo("Negative void"),Wt>=1e33&&Lo("To crumbs, you say?"),Wt>=1e36&&Lo("You get nothing"),Wt>=1e39&&Lo("Humble rebeginnings"),Wt>=1e42&&Lo("The end of the world"),Wt>=1e45&&Lo("Oh, you're back"),Wt>=1e48&&Lo("Lazarus"),Wt>=1e51&&Lo("Smurf account"),Wt>=1e54&&Lo("If at first you don't succeed"),_t["Heavenly chip secret"].bought=1,_t["Heavenly cookie stand"].bought=1,_t["Heavenly bakery"].bought=1,_t["Heavenly confectionery"].bought=1,_t["Heavenly key"].bought=1,We=e;const o=Oe;Ao(),Io(),o!==Oe&&Ao();const n=De-t;return We=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(re(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Un("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Un("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Un("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Un("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${re(ut)} / ${re(mt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Bn()},e.appendChild(t),o.appendChild(Un("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${re(ht[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==ht[1]&&(Game.wrinklers[ht[1]].hp=0)},n.appendChild(i),o.appendChild(Un("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==ht[1]?ht[1]:"None"})`,n))}let n=!1;const i=[];for(const e of Object.keys(Uo))Game.Has(Uo[e])||(i.push(Uo[e]),n=!0);const a=[];for(const e of Object.keys(Do))Game.Has(Do[e])||(a.push(Do[e]),n=!0);const r=[];for(const e of Object.keys(Ro))Game.Has(Ro[e])||(r.push(Ro[e]),n=!0);const s=[];for(const e of Object.keys(Game.eggDrops))Game.HasUnlocked(Game.eggDrops[e])||(s.push(Game.eggDrops[e]),n=!0);const c=[];for(const e of Object.keys(Game.rareEggDrops))Game.HasUnlocked(Game.rareEggDrops[e])||(c.push(Game.rareEggDrops[e]),n=!0);const d=[];for(const e of Object.keys(Ho))Game.HasUnlocked(Ho[e])||(d.push(Ho[e]),n=!0);const p=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),u=Game.Has("Century egg");if(("christmas"===Game.season||n||p||u)&&(o.appendChild(jn("Season Specials","Sea")),e.Header.Sea&&(0!==i.length&&o.appendChild(Un("basic","Halloween Cookies Left to Buy",Dn(i))),0!==a.length&&o.appendChild(Un("basic","Christmas Cookies Left to Buy",Dn(a))),0!==r.length&&o.appendChild(Un("basic","Valentine Cookies Left to Buy",Dn(r))),0!==s.length&&o.appendChild(Un("basic","Normal Easter Eggs Left to Unlock",Dn(s))),0!==c.length&&o.appendChild(Un("basic","Rare Easter Eggs Left to Unlock",Dn(c))),0!==d.length&&o.appendChild(Un("basic","Rare Plant Drops Left to Unlock",Dn(d))),"christmas"===Game.season&&o.appendChild(Un("basic","Reindeer Reward",document.createTextNode(re(lt)))),p&&o.appendChild(Un("withTooltip","Chocolate Egg Cookies",document.createTextNode(re(st)),"ChoEggTooltipPlaceholder")),u&&o.appendChild(Un("basic","Century Egg Multiplier",document.createTextNode(Math.round(1e4*(rt-1))/100+"%"))))),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Un("basic",`Average Cookies Per Second (Past ${Q[e.AvgCPSHist]<60?`${Q[e.AvgCPSHist]} seconds`:Q[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(re(ao(),3)))),o.appendChild(Un("basic",`Average Cookie Clicks Per Second (Past ${q[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(re(yt,1)))),Game.Has("Fortune cookies")){const e=[];for(const t of Object.keys(jo))Game.Has(jo[t])||e.push(jo[t]);0!==e.length&&o.appendChild(Un("basic","Fortune Upgrades Left to Buy",Dn(e)))}if(e.ShowMissedGC&&o.appendChild(Un("basic","Missed Golden Cookies",document.createTextNode(re(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Un("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&function(){for(const e of l("menu").children)if(e.children[0])if("Prestige"===e.children[0].innerHTML&&kt){const t=kt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=kt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(bt){const t=bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=bt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Gt){const t=Gt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Gt,e.appendChild(i)}}}()}const Hn={BarsColors:"Bars/Colors",Calculation:"Calculation",Notification:"Notification",Tooltip:"Tooltips and additional insights",Statistics:"Statistics",Notation:"Notation",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===gn[t].type){const n=document.createElement("a");gn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]++,e[t]===gn[t].label.length?(e[t]=0,gn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==gn[t].func&&gn[t].func(),l(Wn+t).innerHTML=gn[t].label[e[t]],Mn()}(t)},n.textContent=gn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=gn[t].desc,o.appendChild(i),o}if("vol"===gn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=gn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");return r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n),o}if("url"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,Mn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=gn[t].desc,o.appendChild(s),o}if("color"===gn[t].type){o.className="";for(let t=0;tthis.max&&console.log("TEST"),e[t]=this.value,Mn(),cn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=gn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){M.Beautify=Beautify,Beautify=re,M.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){M.CalculateGains(),je=1,qt=Date.now(),Qt=Date.now()},M.tooltip={},M.tooltip.draw=Game.tooltip.draw,M.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){M.tooltip.drawMod(e,t,o)},M.tooltip.update=Game.tooltip.update,M.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){M.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},M.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(M.UpdateWrinklers)},M.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(M.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),M.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){M.RebuildUpgrades(),function(){T=[];for(const e of Object.keys(Game.UpgradesInStore))null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("u",`${e}`)}),"store"),Game.tooltip.wobble())})}(),Game.CalculateGains()},M.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=Vt[Game.ObjectsById[e].name].name;Vt[o].amount-=1,Pe-=1,t=Vt[o].basePrice*Game.priceIncrease**Math.max(0,Vt[o].amount-1-Vt[o].free),t=Game.modifyBuildingPrice(Vt[o],t),t=Math.ceil(t);break}const o=Oe;return Ao(),Io(),o!==Oe&&Ao(),[De-Game.cookiesPs,t]}(t),n=le(o/(e+Game.cookiesPs)),i=re(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${re(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},M.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){M.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},M.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(M.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t);for(const t of Object.keys(Hn)){const n=In(t,Hn[t]);if(o.appendChild(n),e.Header[t])if("Notification"===t)for(const t of Object.keys($n)){const n=In(t,$n[t]);if(n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t])for(const e in gn)gn[e].group===t&&o.appendChild(zn(e))}else for(const e of Object.keys(gn))gn[e].group===t&&o.appendChild(zn(e))}const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Sn(rn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Rn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.5) sees a total rehaul of the backend of the mod. It does not introduce any new functions, this is planned for the next release.
\nWe believe we have fixed all bugs related to this new code, but if you find any bugs, please report them on the GitHub!
\n
\nBesides, this update fixes the following bugs:
\n- Fixed some upgrade tooltips which did not display the full effect of buying the upgrades
\n- Fixed not always being able to sell when "blocking bulk buy"
\n- Fixed heavenly chips per second display
\n- Fixed small display bug when pressing shift and hovering over garden plots
\n- Fixed some bugs with the display of numbers and formatting of them
\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},M.sayTime=Game.sayTime,H=function(e,t){return Number.isNaN(e)||e<=0?M.sayTime(e,t):le(e/Game.fps,1)},M.Logic=Game.Logic,Game.Logic=function(){M.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ae=`${Game.OnAscend?"Ascending! ":""}${re(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ae;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=At?At.wrath?`[W${Math.ceil(At.life/Game.fps)}]`:`[G${Math.ceil(At.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=h?`[R${Math.ceil(jt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ae;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;At&&(t=!0,At.wrath?e+=`[W${Math.ceil(At.life/Game.fps)}]`:e+=`[G${Math.ceil(At.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&h&&(e+=`[R${Math.ceil(jt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${re(Game.prestige)}.
(CpS +${re(Game.prestige)}%)`,n+='
'),n+=Me<1?"Ascending now would grant you no prestige.":Me<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${re(Me)} prestige levels (+${re(Me)}% CpS)
and ${re(Me)} heavenly chips to spend.`,n+='
',n+=`You need ${re(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Ut} to reach the next level and you are making ${re(at,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){bn(),tn(),an(),a=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColor="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=S+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.5",N)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",P)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",P)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",P)),l("wrapper").appendChild(e);for(const e of Object.keys(Game.Objects))so(e)}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColor="black";const t=lo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:L},{id:"CMTimerBarGCBar",color:W}]);e.appendChild(t);const o=lo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:L},{id:"CMTimerBarRenBar",color:O}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColor="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(P,"Better than best PP building")),e.appendChild(o(E,"Same as best PP building")),e.appendChild(o(N,"Between best and worst PP buildings closer to best")),e.appendChild(o(O,"Between best and worst PP buildings closer to worst")),e.appendChild(o(F,"Same as worst PP building")),e.appendChild(o(W,"Worse than worst PP building")),e.appendChild(o(L,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=S+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",P)),e.appendChild(o("CMUpgradeBarGreen",E)),e.appendChild(o("CMUpgradeBarYellow",N)),e.appendChild(o("CMUpgradeBarOrange",O)),e.appendChild(o("CMUpgradeBarRed",F)),e.appendChild(o("CMUpgradeBarPurple",W)),e.appendChild(o("CMUpgradeBarGray",L)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMWhiteScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}();for(const e of Object.keys(D))Mo(D[e][0],D[e][1],D[e][2]);!function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Bn()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==ht[1]&&(Game.wrinklers[ht[1]].hp=0)},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",function(){for(const e of Object.keys(Game.Objects)){const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(w[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("b",`${e}`)}),"store"),Game.tooltip.wobble()})}}(),Game.canLumps()&&(r=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("s","Lump")}),"this"),Game.tooltip.wobble()}),m=Game.LoadMinigames,Game.LoadMinigames=function(){m(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Pn(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){$=1},l("backgroundLeftCanvas").onmouseout=function(){$=0,Game.tooltip.hide();for(const e of Object.keys(Game.wrinklers))z[e]=0},_n(),Nn(),Game.CalculateGains(),Sn(),R=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.5 loaded!"):Game.Notify("Cookie Monster version 2.031.5 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){kn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.5 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",Tn),kn=!1)},load:function(e){const t=JSON.parse(e);bn(),Sn(t.settings),"2.031.5"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:Cn};Game.registerMod("CookieMonster",Qn)})()})(); diff --git a/dist/CookieMonster.js b/dist/CookieMonster.js index d24ec092..93a56918 100644 --- a/dist/CookieMonster.js +++ b/dist/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],f=o.fixed?"fixed":"absolute",g=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var f=m[h];if(f)if(i.pub.presets.hasOwnProperty(f)){for(var u in i.pub.presets[f])if(i.pub.presets[f].hasOwnProperty(u))try{a(u,i.pub.presets[f][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",f)}var g=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===g.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){if(t[n])return t[n].exports;var i=t[n]={exports:{}};return e[n].call(i.exports,i,i.exports,o),i.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};const t=["","","M","G","T","P","E","Z","Y"],n=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],i=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let a,r,s,c,d,p,u,m,h,f,g,C,y,b,k,G,v,w=[],x=[],T=[],M={};const S="CMText",B="CMBack",P="Blue",E="Green",N="Yellow",O="Orange",F="Red",W="Purple",L="Gray",A="Pink",j="Brown",U=[L,P,E,N,O,F,W,A,j],D=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]];let R,H,$=0,I=-1,z=[],V=1,_=1,X=1;const Q=[10,15,30,60,300,600,900,1800],q=[1,5,10,15,30],Y={Frenzy:N,"Dragon Harvest":j,"Elder frenzy":E,Clot:F,"Click frenzy":P,Dragonflight:A};let K,J,Z,ee,te,oe,ne,ie={},ae="";function re(o,a,r){const l=e.ScaleDecimals+1;if(o===1/0)return"Infinity";if(void 0===o)return"0";if(0===e.Scale)return M.Beautify(o,a);if(Number.isFinite(o)){let s="";if(0===o)return o.toString();if(o>.001&&o=.01&&o=.01&&o=.01&&o315576e4)return"XX:XX:XX:XX:XX";s+=(n<10?"0":"")+n+":",s+=(i<10?"0":"")+i+":",s+=(a<10?"0":"")+a+":",s+=(r<10?"0":"")+r+":",s+=(l<10?"0":"")+l}else{if(t>7776e5)return o?"Over 9000 days!":">9000d";s+=n>0?n+(o?1===n?" year":" years":"y")+", ":"",s+=i>0?i+(o?1===i?" day":" days":"d")+", ":"",(s.length>0||a>0)&&(s+=a+(o?1===a?" hour":" hours":"h")+", "),(s.length>0||r>0)&&(s+=r+(o?1===r?" minute":" minutes":"m")+", "),s+=l+(o?1===l?" second":" seconds":"s")}return s}function se(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=E):(n=le(t),o=t>300?F:t>60?O:N),{text:n,color:o}}let ce,de,pe,ue,me,he,fe,ge,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Be,Pe,Ee,Ne,Oe,Fe,We,Le,Ae,je,Ue,De,Re,He=0,$e=0,Ie=0,ze=0,Ve=0,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=1,nt=1,it=1,at=0,rt=0,lt=0,st=0,ct={},dt={},pt={},ut=0,mt=0,ht=[0,null],ft=0,gt=0,Ct={},yt={},bt={},kt={},Gt={},vt=0,wt=0,xt=[],Tt=0,Mt=0,St=[],Bt=0,Pt=0,Et=[],Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At={},jt={},Ut=0,Dt=0,Rt=0,Ht=0,$t=[],It={},zt=0,Vt=[],_t=[],Xt=[],Qt=Game.startDate,qt=Game.startDate;function Yt(e){let t=0;return Game.dragonAuras[Le].name!==e&&Game.dragonAuras[Ae].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Le].name&&"Reality Bending"!==Game.dragonAuras[Ae].name||(t+=.1),t}function Kt(){let e=.25;return e*=1+Yt("Earth Shatterer"),e}function Jt(e,t){return void 0===Ue[e]?void 0===t?1:t:Ue[e]}function Zt(e){const t=_t[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function eo(e){if(Game.hasGod){void 0===Vt.Temple.minigame&&(Vt.Temple.minigame=Game.Objects.Temple.minigame);const t=Vt.Temple.minigame.gods[e];for(let e=0;e<3;e++)if(Vt.Temple.minigame.slot[e]===t.id)return e+1}return!1}function to(e,t){if(Zt("Season savings")&&(t*=.99),Zt("Santa's dominion")&&(t*=.99),Zt("Faberge egg")&&(t*=.99),Zt("Divine discount")&&(t*=.99),Zt("Fortune #100")&&(t*=.99),t*=1-.02*Yt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(t*=.95),Game.hasBuff("Crafty pixies")&&(t*=.98),Game.hasBuff("Nasty goblins")&&(t*=1.02),e.fortune&&Zt(e.fortune.name)&&(t*=.93),t*=Jt("buildingCost"),Vt.Temple.minigameLoaded){const e=eo("creation");1===e?t*=.93:2===e?t*=.95:3===e&&(t*=.98)}return t}function oo(e,t,o,n,i,a){a=void 0===a?0:a;let r=0;-1===i&&(i=o),i||(i=Game.buyBulk);for(let l=0;l0&&(r+=i,o--)}return r}function no(){let t=Game.buyBulk;if(1===Game.buyMode?_=t:t=_,1===t?t=ct:10===t?t=dt:100===t&&(t=pt),1===Game.buyMode)if(1===e.BuildColor)for(const o of Object.keys(t))l(`productPrice${Game.Objects[o].id}`).style.color=e.Colors[t[o].color];else for(const e of Object.keys(Game.Objects))l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color");else if(-1===Game.buyMode)for(const e of Object.keys(ct)){const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=re(oo(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))}if(1===Game.buyMode&&e.SortBuildings){const e=Object.keys(t).map((e=>{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o}));e.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const t=ct[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;for(const s of Object.keys(Game.UpgradesInStore)){const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eU.indexOf(t.color)?1:U.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e=10&&(e+=1);return e}:o.power=function(){let e=2;if(Zt("Starlove")&&(e=3),Game.hasGod){const t=eo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function xo(){Ee=Game.UpgradesOwned,Ne=Game.pledges,Oe=Game.AchievementsOwned,Fe=Game.heavenlyPower,We=Game.prestige;for(const e of Object.keys(Game.Objects)){const t=Game.Objects[e];let o=Vt[e];void 0===o&&(Vt[e]=vo(e),o=Vt[e],so(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&(o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Vt[e]=o}for(const e of Object.keys(Game.Upgrades)){const t=Game.Upgrades[e];let o=_t[e];void 0===o&&(_t[e]=wo(e),o=_t[e]),o.bought=t.bought,_t[e]=o}for(const e of Object.keys(Game.Achievements)){const t=Game.Achievements[e];let o=Xt[e];void 0===o&&(Xt[e]=ko(e),o=Xt[e]),o.won=t.won,Xt[e]=o}bo(),Le=He,Ae=$e}function To(e,t,o,n,i){let a=0;for(let r=0;rt.plantsById[t.plot[ee[1]][ee[0]][0]-1].matureBase,o=t.plantsById[t.plot[ee[1]][ee[0]][0]-1].name;l("CMTooltipBorder").appendChild(Co("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${re(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${re(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${re(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${re(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===Z&&function(){const t=Game.Objects.Farm.minigame;if(e.TooltipLump){l("CMTooltipBorder").appendChild(Co("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${re(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${se((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(re(Game.Objects[o].bulkPrice)).join(re((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t&&(l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return Z=t,ee=o,So(),l("tooltip").innerHTML}function Po(){if(Game.prefs.autosave&&Game.drawT%10==0&&"stats"===Game.onMenu&&e.Stats){const e=document.getElementById("CMStatsAutosaveTimer");e&&(e.innerText=Game.sayTime(60*Game.fps-Game.T%(60*Game.fps),4))}no(),io(),function(){if(1===e.TimerBar){const t=l("CMTimerBar").offsetWidth-163,o=l("CMTimerBar").offsetWidth-133;let n=0;0!==Game.shimmerTypes.golden.spawned||Game.Has("Golden switch [off]")?l("CMTimerBarGC").style.display="none":(l("CMTimerBarGC").style.display="",l("CMTimerBarGCMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n++),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n++):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="";for(const t of Object.keys(Game.buffs))if(Game.buffs[t]){const a=lo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==Y[Game.buffs[t].name]?Y[Game.buffs[t].name]:W,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n++,i[Game.buffs[t].name]=a}for(const e of Object.keys(i))l("CMTimerBarBuffTimers").appendChild(i[e]);0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ne!==n&&(ne=n,uo())}}(),co(),So(),function(){if(1===e.TooltipWrink&&1===$){let e=!1;for(const t of Object.keys(Game.wrinklers)){const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0!==z[t]&&void 0!==z[t])break;{const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),I=t,z[t]=1}}else z[t]=0}e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let e=Game.wrinklers[I].sucked,t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[I].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Vt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=re(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),l("cookies").innerHTML=l("cookies").innerHTML.replace(/.*(?=
)/i,re(Game.cookies))}class Eo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){e>this.maxLength&&(e=this.maxLength),e>this.queue.length&&(e=this.queue.length);let t=0;for(let o=this.queue.length-1;o>=0&&o>this.queue.length-1-e;o--)t+=this.queue[o];return 0===t?0:t/e}}function No(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+zt;Game.cpsSucked>0&&(o+=ut),Wt=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-fe,i=Math.max(0,Game.cookies-ge)/n,a=Math.max(0,ut-Ce)/n,r=Math.max(0,ht[0]-ye)/n,l=Math.max(0,o-st)/n,s=(Game.cookieClicks-be)/n;for(let e=0;eHt?W:t.pp>Rt?O:N,0!==Number(e.PPSecondsLowerLimit)&&o/ao()0&&(n=F),n}function Fo(e){for(const t of Object.keys(e))Game.cookiesPs?e[t].pp=Math.max(e[t].price-(Game.cookies+ro()),0)/Game.cookiesPs+e[t].price/e[t].bonus:e[t].pp=e[t].price/e[t].bonus,e[t].color=Oo(e[t],e[t].price)}function Wo(){!function(){if(Dt=1/0,Ht=1,$t=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),0===e.ColorPPBulkMode&&Game.buyMode>0){for(const e of Object.keys(ct))Game.cookiesPs?ct[e].pp=Math.max(Game.Objects[e].getPrice()-(Game.cookies+ro()),0)/Game.cookiesPs+Game.Objects[e].getPrice()/ct[e].bonus:ct[e].pp=Game.Objects[e].getPrice()/ct[e].bonus,$t.push([ct[e].pp,Game.Objects[e].getPrice()]);if($t.sort(((e,t)=>e[0]-t[0])),e.PPOnlyConsiderBuyable)for(;$t[0][1]>Game.cookies&&1!==$t.length;)$t.shift();Dt=$t[e.PPExcludeTop][0],Ht=$t[$t.length-1][0],Rt=(Ht-Dt)/2+Dt;for(const t of Object.keys(ct)){ct[t].color=Oo(ct[t],Game.Objects[t].getPrice());for(let o=0;o0){let t;1===Game.buyBulk?t=ct:10===Game.buyBulk?t=dt:100===Game.buyBulk&&(t=pt);for(const e of Object.keys(t))Game.cookiesPs?t[e].pp=Math.max(Game.Objects[e].bulkPrice-(Game.cookies+ro()),0)/Game.cookiesPs+Game.Objects[e].bulkPrice/t[e].bonus:t[e].pp=Game.Objects[e].bulkPrice/t[e].bonus,$t.push([t[e].pp,Game.Objects[e].bulkPrice]);if($t.sort(((e,t)=>e[0]-t[0])),e.PPOnlyConsiderBuyable)for(;$t[0][1]>Game.cookies&&1!==$t.length;)$t.shift();Dt=$t[e.PPExcludeTop][0],Ht=$t[$t.length-1][0],Rt=(Ht-Dt)/2+Dt;for(const o of Object.keys(ct)){t[o].color=Oo(t[o],Game.Objects[o].bulkPrice);for(let n=0;n=Game.CpsAchievements[e].threshold&&Lo(Game.CpsAchievements[e].name);Re=l;const s=Game.shimmerTypes.golden.n,c=Yt("Dragon's Fortune");for(let t=0;t=7&&Lo("Elder"),!$o("Veteran")&&e>=14&&Lo("Veteran");let t=0,o=1,n=1,i=1e5;for(const e of Object.keys(Vt))t+=Vt[e].amount,i=Math.min(Vt[e].amount,i),$o("Mathematician")||Vt[e].amount=1&&Lo("One with everything"),1===o&&Lo("Mathematician"),1===n&&Lo("Base 10"),i>=100&&Lo("Centennial"),i>=150&&Lo("Centennial and a half"),i>=200&&Lo("Bicentennial"),i>=250&&Lo("Bicentennial and a half"),i>=300&&Lo("Tricentennial"),i>=350&&Lo("Tricentennial and a half"),i>=400&&Lo("Quadricentennial"),i>=450&&Lo("Quadricentennial and a half"),i>=500&&Lo("Quincentennial"),i>=550&&Lo("Quincentennial and a half"),i>=600&&Lo("Sexcentennial"),t>=100&&Lo("Builder"),t>=500&&Lo("Architect"),t>=1e3&&Lo("Engineer"),t>=2e3&&Lo("Lord of Constructs"),t>=4e3&&Lo("Grand design"),t>=8e3&&Lo("Ecumenopolis"),Ee>=20&&Lo("Enhancer"),Ee>=50&&Lo("Augmenter"),Ee>=100&&Lo("Upgrader"),Ee>=200&&Lo("Lord of Progress"),Ee>=300&&Lo("The full picture"),Ee>=400&&Lo("When there's nothing left to add"),t>=4e3&&Ee>=300&&Lo("Polymath"),t>=8e3&&Ee>=400&&Lo("Renaissance baker"),Vt.Cursor.amount+Vt.Grandma.amount>=777&&Lo("The elder scrolls");let a=!0;for(const e of Object.keys(Uo))Zt(Uo[e])||(a=!1);a&&Lo("Spooky cookies");let r=!0;for(const e of Object.keys(Do))Zt(Do[e])||(r=!1);if(r&&Lo("Let it snow"),Zt("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;for(const o of Object.keys(e))Zt(e[o].name)&&t++;t>=e.length&&Lo("O Fortuna")}}function zo(e,t){xo(),Vt[e].amount+=t;const o=Vt[e];if("Cursor"===e)o.amount>=1&&Lo("Click"),o.amount>=2&&Lo("Double-click"),o.amount>=50&&Lo("Mouse wheel"),o.amount>=100&&Lo("Of Mice and Men"),o.amount>=200&&Lo("The Digital"),o.amount>=300&&Lo("Extreme polydactyly"),o.amount>=400&&Lo("Dr. T"),o.amount>=500&&Lo("Thumbs, phalanges, metacarpals"),o.amount>=600&&Lo("With her finger and her thumb"),o.amount>=700&&Lo("Gotta hand it to you"),o.amount>=800&&Lo("The devil's workshop");else for(const e in Game.Objects[o.name].tieredAchievs)o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Lo(Game.Objects[o.name].tieredAchievs[e].name);const n=Oe;return Ao(),Io(),n!==Oe&&Ao(),De-Game.cookiesPs}function Vo(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){xo(),"Shimmering veil [on]"===_t[e].name?_t["Shimmering veil [off]"].bought=0:"Golden switch [on]"===_t[e].name?_t["Golden switch [off]"].bought=0:_t[e].bought=(_t[e].bought+1)%2,_t[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&Ee++,"Elder Pledge"===e?(Ne++,Ne>0&&Lo("Elder nap"),Ne>=5&&Lo("Elder slumber")):"Elder Covenant"===e?Lo("Elder calm"):"Prism heart biscuits"===e?Lo("Lovely cookies"):"Heavenly key"===e&&Lo("Wholesome");const t=Oe;Ao(),Io(),t!==Oe&&Ao();const o=function(){let e=0;Zt("Thousand fingers")&&(e+=.1),Zt("Million fingers")&&(e*=5),Zt("Billion fingers")&&(e*=10),Zt("Trillion fingers")&&(e*=20),Zt("Quadrillion fingers")&&(e*=20),Zt("Quintillion fingers")&&(e*=20),Zt("Sextillion fingers")&&(e*=20),Zt("Septillion fingers")&&(e*=20),Zt("Octillion fingers")&&(e*=20),Zt("Nonillion fingers")&&(e*=20);let t=0;for(const e of Object.keys(Vt))t+=Vt[e].amount;t-=Vt.Cursor.amount,e*=t,Zt("Plastic mouse")&&(e+=.01*De),Zt("Iron mouse")&&(e+=.01*De),Zt("Titanium mouse")&&(e+=.01*De),Zt("Adamantium mouse")&&(e+=.01*De),Zt("Unobtainium mouse")&&(e+=.01*De),Zt("Eludium mouse")&&(e+=.01*De),Zt("Wishalloy mouse")&&(e+=.01*De),Zt("Fantasteel mouse")&&(e+=.01*De),Zt("Nevercrack mouse")&&(e+=.01*De),Zt("Armythril mouse")&&(e+=.01*De),Zt("Technobsidian mouse")&&(e+=.01*De),Zt("Plasmarble mouse")&&(e+=.01*De),Zt("Miraculite mouse")&&(e+=.01*De),Zt("Fortune #104")&&(e+=.01*De);let o=1;if(Zt("Santa's helpers")&&(o*=1.1),Zt("Cookie egg")&&(o*=1.1),Zt("Halo gloves")&&(o*=1.1),Zt("Dragon claw")&&(o*=1.03),Zt("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,Zt("Luminous gloves")?20:10)),o*=Jt("click"),Vt.Temple.minigameLoaded&&eo){const e=eo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}for(const e of Object.keys(Game.buffs))void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick);o*=1+.05*Yt("Dragon Cursor");let n=o*Game.ComputeCps(1,Zt("Reinforced index finger")+Zt("Carpal tunnel prevention cream")+Zt("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[De-Game.cookiesPs,o]:[De-Game.cookiesPs]}return[]}function _o(e,t){const o=[];for(const t of Object.keys(Game.Objects))o[t]={},o[t].bonus=zo(t,e),1!==e&&(Se=1);return o}function Xo(){for(const e of Object.keys(Game.Objects))ct[e].price=To(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),dt[e].price=To(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),pt[e].price=To(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}function Qo(){ct=_o(1),dt=_o(10),pt=_o(100),function(){Ct=[];for(const e of Object.keys(Game.Upgrades)){const t=Vo(e);Ct[e]={},t[0]&&(Ct[e].bonus=t[0]),t[1]&&(Ct[e].bonusMouse=t[1])}}()}function qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,xt=qo(7,e,nt),vt=2*xt[1]/nt,wt=xt[2]/60/60/6/ot,St=qo(6,e,it),Tt=2*St[1]/it,Mt=St[2]/60/60/6/ot,Et=qo(7,7*e,nt),Bt=2*Et[1]/nt,Pt=Et[2]/60/60/6/ot,Ft=qo(6,7*e,it),Nt=2*Ft[1]/it,Ot=Ft[2]/60/60/6/ot}function Ko(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Te,i=Math.max(0,o-Me)/n;for(let e=0;e\n\t`}function Zo(){bt="",Gt="",kt="";const e=[];for(const t of Object.keys(Game.Upgrades))e.push(Game.Upgrades[t]);e.sort((function(e,t){return e.order>t.order?1:e.order0?Ve/=e:Ve=0,_e=nt*(.15*Ve)+13,Xe=it*(.15*Ve)+13,Qe=7*Ve,qe=nt*(.15*Qe)+13,Ye=it*(.15*Qe)+13,Ke=2*Ve,Je=.15*Ke,Ze=0;let t=0,o=0;for(const e of Object.keys(Game.Objects))Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&o++;for(const e of Object.keys(Game.Objects))(Game.Objects[e].amountZe&&(Ze=2*Game.Objects[e].price,et=e)}function on(){let e=1,t=1,o=1;Zt("Green yeast digestives")&&(o*=1.01),Zt("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),nt=o*e,it=o*t,ot=1,0===Game.shimmerTypes.golden.n&&(ot*=1+1.23*Game.auraMult("Dragon's Fortune"))}function nn(){ut=0,mt=0,ht=[0,null];for(let e=0;eht[0]&&(ht=[t,e]))}}function an(){bo(),nn(),tn(),on(),Yo(),Zo(),en(),ce=new Eo(Q[Q.length-1]),de=new Eo(Q[Q.length-1]),pe=new Eo(Q[Q.length-1]),ue=new Eo(Q[Q.length-1]),me=new Eo(q[q.length-1]),he=new Eo(5),Ko(),No(),Qo(),Xo(),Wo()}const rn={BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,BuildColor:1,BulkBuildColor:0,UpBarColor:1,UpgradeBarFixedPos:1,CalcWrink:0,CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,ColorPPBulkMode:1,PPExcludeTop:0,PPSecondsLowerLimit:0,PPOnlyConsiderBuyable:0,ToolWarnBon:0,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,DragonAuraInfo:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,TimeFormat:0,DetailedTime:1,GrimoireBar:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,Colors:{Blue:"#4bb8f0",Green:"#00ff00",Yellow:"#ffff00",Orange:"#ff7f00",Red:"#ff0000",Purple:"#ff00ff",Gray:"#b3b3b3",Pink:"#ff1493",Brown:"#8b4513"},SortBuildings:0,SortUpgrades:0,GCTimer:1,Favicon:1,WrinklerButtons:1,BulkBuyBlock:0,Header:{BarsColors:1,Calculation:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Tooltip:1,Statistics:1,Notation:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},ln=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function sn(){1===e.BotBar?(l("CMBotBar").style.display="",co()):l("CMBotBar").style.display="none",uo()}function cn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),co(),no(),io()}function dn(){let t="";for(let o=0;o0?At.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class un{constructor(e,t){this.type=e,this.group=t}}class mn extends un{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class hn extends un{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class fn extends un{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const gn={BotBar:new mn("bool","BarsColors",["Bottom Bar OFF","Bottom Bar ON"],"Building Information",!0,(function(){sn()})),TimerBar:new mn("bool","BarsColors",["Timer Bar OFF","Timer Bar ON"],"Timers of Golden Cookie, Season Popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){mo()})),TimerBarPos:new mn("bool","BarsColors",["Timer Bar Position (Top Left)","Timer Bar Position (Bottom)"],"Placement of the Timer Bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),uo()})),TimerBarOverlay:new mn("bool","BarsColors",["Timer Bar Overlay OFF","Timer Bar Overlay Only Seconds","Timer Bar Overlay Full"],"Overlay on timers displaying seconds and/or percentage left",!0),SortBuildings:new mn("bool","BarsColors",["Sort Buildings: Default","Sort Buildings: PP"],"Sort the display of buildings in either default order or by PP",!1,(function(){no()})),SortUpgrades:new mn("bool","BarsColors",["Sort Upgrades: Default","Sort Upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){io()})),BuildColor:new mn("bool","BarsColors",["Building Colors OFF","Building Colors ON"],"Color code buildings",!0,(function(){no()})),BulkBuildColor:new mn("bool","BarsColors",["Bulk Building Colors (Single Building Color)","Bulk Building Colors (Calculated Bulk Color)"],"Color code bulk buildings based on single buildings color or calculated bulk value color",!1,(function(){no()})),UpBarColor:new mn("bool","BarsColors",["Upgrade Colors/Bar OFF","Upgrade Colors with Bar ON","Upgrade Colors without Bar ON"],"Color code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",io()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",io()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),Colors:new class extends un{constructor(e,t,o,n){super(e,t),this.desc=o,this.func=n}}("color","BarsColors",{Blue:"Color Blue. Used to show better than best PP building, for Click Frenzy bar, and for various labels",Green:"Color Green. Used to show best PP building, for Blood Frenzy bar, and for various labels",Yellow:"Color Yellow. Used to show between best and worst PP buildings closer to best, for Frenzy bar, and for various labels",Orange:"Color Orange. Used to show between best and worst PP buildings closer to worst, for Next Reindeer bar, and for various labels",Red:"Color Red. Used to show worst PP building, for Clot bar, and for various labels",Purple:"Color Purple. Used to show worse than worst PP building, for Next Cookie bar, and for various labels",Gray:"Color Gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar",Pink:"Color Pink. Used for Dragonflight bar",Brown:"Color Brown. Used for Dragon Harvest bar"},(function(){dn()})),UpgradeBarFixedPos:new mn("bool","BarsColors",["Upgrade Bar Fixed Position OFF","Upgrade Bar Fixed Position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),CalcWrink:new mn("bool","Calculation",["Calculate with Wrinklers OFF","Calculate with Wrinklers ON","Calculate with Single Fattest Wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) Wrinklers",!0),CPSMode:new mn("bool","Calculation",["Current Cookies Per Second","Average Cookies Per Second"],"Calculate times using current Cookies Per Second or average Cookies Per Second",!1),AvgCPSHist:new mn("bool","Calculation",["Average CPS for past 10s","Average CPS for past 15s","Average CPS for past 30s","Average CPS for past 1m","Average CPS for past 5m","Average CPS for past 10m","Average CPS for past 15m","Average CPS for past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new mn("bool","Calculation",["Average Cookie Clicks for past 1s","Average Cookie Clicks for past 5s","Average Cookie Clicks for past 10s","Average Cookie Clicks for past 15s","Average Cookie Clicks for past 30s"],"How much time average Cookie Clicks should consider",!1),ColorPPBulkMode:new mn("bool","Calculation",["Color of PP (Compared to Single)","Color of PP (Compared to Bulk)"],"Color PP-values based on comparison with single purchase or with selected bulk-buy mode",!1,(function(){Wo()})),PPExcludeTop:new mn("bool","Calculation",["Don't Ignore Any","Ignore 1st Best","Ignore 1st and 2nd Best","Ignore 1st, 2nd and 3rd Best"],"Makes CookieMonster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPSecondsLowerLimit:new fn("numscale","Calculation","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),PPOnlyConsiderBuyable:new mn("bool","Calculation",["Don't Ignore Non-Buyable","Ignore Non-Buyable"],"Makes CookieMonster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),ToolWarnBon:new mn("bool","Calculation",["Calculate Tooltip Warning With Bonus CPS OFF","Calculate Tooltip Warning With Bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),Title:new mn("bool","NotificationGeneral",["Title OFF","Title ON","Title Pinned Tab Highlight"],'Update title with Golden Cookie/Season Popup timers; pinned tab highlight only changes the title when a Golden Cookie/Season Popup spawns; "!" means that Golden Cookie/Reindeer can spawn',!0),GeneralSound:new mn("bool","NotificationGeneral",["Consider Game Volume Setting OFF","Consider Game Volume Setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new mn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when Golden Cookie spawns",!0,(function(){ln(e.GCNotification)})),GCFlash:new mn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on Golden Cookie",!0),GCSound:new mn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on Golden Cookie",!0),GCVolume:new hn("vol","NotificationGC",[],"Volume"),GCSoundURL:new mn("url","NotificationGC","Sound URL:","URL of the sound to be played when a Golden Cookie spawns"),FortuneNotification:new mn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when Fortune Cookie is on the Ticker",!0,(function(){ln(e.FortuneNotification)})),FortuneFlash:new mn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on Fortune Cookie",!0),FortuneSound:new mn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on Fortune Cookie",!0),FortuneVolume:new hn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new mn("url","NotificationFC","Sound URL:","URL of the sound to be played when the Ticker has a Fortune Cookie"),SeaNotification:new mn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on Season Popup",!0,(function(){ln(e.SeaNotification)})),SeaFlash:new mn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on Season Popup",!0),SeaSound:new mn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on Season Popup",!0),SeaVolume:new hn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new mn("url","NotificationSea","Sound URL:","URL of the sound to be played when a Season Special spawns"),GardFlash:new mn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on Garden Tick",!0),GardSound:new mn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on Garden Tick",!0),GardVolume:new hn("vol","NotificationGard",[],"Volume"),GardSoundURL:new mn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new mn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){ln(e.MagicNotification)})),MagicFlash:new mn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),MagicSound:new mn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new hn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new mn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new mn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a Wrinkler appears",!0,(function(){ln(e.WrinklerNotification)})),WrinklerFlash:new mn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a Wrinkler appears",!0),WrinklerSound:new mn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a Wrinkler appears",!0),WrinklerVolume:new hn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new mn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a Wrinkler appears"),WrinklerMaxNotification:new mn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of Wrinklers has appeared",!0,(function(){ln(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new mn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxSound:new mn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxVolume:new hn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new mn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of Wrinklers has appeared"),TooltipBuildUpgrade:new mn("bool","Tooltip",["Building/Upgrade Tooltip Information OFF","Building/Upgrade Tooltip Information ON"],"Extra information in Building/Upgrade tooltips",!0),TooltipAmor:new mn("bool","Tooltip",["Buildings Tooltip Amortization Information OFF","Buildings Tooltip Amortization Information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new mn("bool","Tooltip",["Tooltip Lucky Warning OFF","Tooltip Lucky Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new mn("bool","Tooltip",["Tooltip Lucky Frenzy Warning OFF","Tooltip Lucky Frenzy Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new mn("bool","Tooltip",["Tooltip Conjure Warning OFF","Tooltip Conjure Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new mn("bool","Tooltip",["Tooltip Conjure Frenzy Warning OFF","Tooltip Conjure Frenzy Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new mn("bool","Tooltip",["Tooltip Edifice Warning OFF","Tooltip Edifice Warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new fn("numscale","Tooltip","Tooltip Warning At x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnPos:new mn("bool","Tooltip",["Tooltip Warning Position (Left)","Tooltip Warning Position (Bottom)"],"Placement of the warning boxes",!1,(function(){fo()})),TooltipGrim:new mn("bool","Tooltip",["Grimoire Tooltip Information OFF","Grimoire Tooltip Information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new mn("bool","Tooltip",["Wrinkler Tooltip OFF","Wrinkler Tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new mn("bool","Tooltip",["Sugar Lump Tooltip OFF","Sugar Lump Tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new mn("bool","Tooltip",["Garden Plots Tooltip OFF","Garden Plots Tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),DragonAuraInfo:new mn("bool","Tooltip",["Extra Dragon Aura Info OFF","Extra Dragon Aura Info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),TooltipAscendButton:new mn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new mn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new mn("bool","Statistics",["Missing Upgrades OFF","Missing Upgrades ON"],"Shows Missing upgrades in Stats Menu. This feature can be laggy for users with a low amount of unlocked achievements.",!0),UpStats:new mn("bool","Statistics",["Statistics Update Rate (Default)","Statistics Update Rate (1s)"],"Default Game rate is once every 5 seconds",!1),TimeFormat:new mn("bool","Statistics",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new mn("bool","Statistics",["Detailed Time OFF","Detailed Time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=H:Game.sayTime=M.sayTime})),GrimoireBar:new mn("bool","Statistics",["Grimoire Magic Meter Timer OFF","Grimoire Magic Meter Timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),HeavenlyChipsTarget:new fn("numscale","Statistics","Heavenly Chips Target: ",'Use this to set a Heavenly Chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new mn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many Golden Cookies you have missed",!0),Scale:new mn("bool","Notation",["Game's Setting Scale","Metric","Short Scale","Short Scale (Abbreviated)","Scientific Notation","Engineering Notation"],"Change how long numbers are handled",!1,(function(){cn()})),ScaleDecimals:new mn("bool","Notation",["1 decimals","2 decimals","3 decimals"],"Set the number of decimals used when applicable",!1,(function(){cn()})),ScaleSeparator:new mn("bool","Notation",[". for decimals (Standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){cn()})),ScaleCutoff:new fn("numscale","Notation","Notation Cut-off Point: ","The number from which CookieMonster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),GCTimer:new mn("bool","Miscellaneous",["Golden Cookie Timer OFF","Golden Cookie Timer ON"],"A timer on the Golden Cookie when it has been spawned",!0,(function(){!function(){if(1===e.GCTimer)for(const e of Object.keys(ie))ie[e].style.display="block",ie[e].style.left=It[e].l.style.left,ie[e].style.top=It[e].l.style.top;else for(const e of Object.keys(ie))ie[e].style.display="none"}()})),Favicon:new mn("bool","Miscellaneous",["Favicon OFF","Favicon ON"],"Update favicon with Golden/Wrath Cookie",!0,(function(){pn()})),WrinklerButtons:new mn("bool","Miscellaneous",["Extra Buttons OFF","Extra Buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){e.WrinklerButtons?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")})),BulkBuyBlock:new mn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function Cn(){return JSON.stringify({settings:e,version:"2.031.5"})}function yn(){if(Ie!==Game.dragonLevel||je){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount0&&(e=t);Vt[e].amount--,Pe--}for(const t of Object.keys(Vt)){const o=Vt[t];e+=oo(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)}return e}(),zt=e}(),je=0);const t=Game.auraMult("Fierce Hoarder")>0;!Be&&t?(Be=!0,Se=1):Be&&!t&&(Be=!1,Se=1),Se&&(Xo(),Se=0),function(){nn(),Wo(),function(){ft=0;let e=0;for(const t in Game.wrinklers)2===Game.wrinklers[t].phase&&e++;let t=1;if(Vt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}gt=e,ft=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),No(),Ko();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Ut=le(e/ao())}(),function(){!function(){k=0,It={};for(const e of Object.keys(Game.shimmers))It[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(At=Game.shimmers[e],k+=1)}();for(const e of Object.keys(ie))void 0===It[e]&&(ie[e].parentNode.removeChild(ie[e]),delete ie[e]);if(C!==Game.shimmerTypes.golden.n){if(C=Game.shimmerTypes.golden.n,C){y0){let t=0;for(const e in Game.wrinklers)2===Game.wrinklers[e].phase&&t++;t>G?(G=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Gn(3,"WrinklerMaxFlash"):Gn(3,"WrinklerFlash"),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?vn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume"):vn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume"),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?xn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):xn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):G=t}}()}}function Mn(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${Cn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Sn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t;let o=!1;for(const t in rn)if(void 0===e[t])o=!0,e[t]=rn[t];else if("Header"!==t&&"Colors"!==t)-1===t.indexOf("SoundURL")?e[t]>-1&&e[t]-1&&e[t][n]<2||(o=!0,e[t][n]=rn[t][n]);else for(const n in rn.Colors)void 0!==e[t][n]&&"string"==typeof e[t][n]||(o=!0,e[t][n]=rn[t][n]);o&&Mn(),Tn();for(const e in rn)"Header"!==e&&void 0!==gn[e].func&&gn[e].func()}else Sn(rn)}function Bn(){for(const e of Object.keys(Game.wrinklers))Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}function Pn(){if(Game.Objects["Wizard tower"].minigameLoaded)for(const e in Game.Objects["Wizard tower"].minigame.spellsById)null!==l(`grimoireSpell${e}`).onmouseover&&(x[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("g",`${e}`)}),"this"),Game.tooltip.wobble()})}function En(){if(!u&&Game.Objects["Wizard tower"].minigameLoaded){const t=Game.Objects["Wizard tower"].minigame;d=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){d(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Mn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Un(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(D[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Dn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a);for(const t of Object.keys(e)){const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)}return n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Rn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+ro()0&&(t.appendChild(Un("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(re(e)))),t.appendChild(Un("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(le(e/at)))))}const l=function(e){let t=Game.cookiesPs;xo(),0===_t["Heavenly key"].bought&&(_t["Heavenly chip secret"].bought=1,_t["Heavenly cookie stand"].bought=1,_t["Heavenly bakery"].bought=1,_t["Heavenly confectionery"].bought=1,_t["Heavenly key"].bought=1,Ao(),t=De,xo()),Wt>=1e6&&Lo("Sacrifice"),Wt>=1e9&&Lo("Oblivion"),Wt>=1e12&&Lo("From scratch"),Wt>=1e15&&Lo("Nihilism"),Wt>=1e18&&Lo("Dematerialize"),Wt>=1e21&&Lo("Nil zero zilch"),Wt>=1e24&&Lo("Transcendence"),Wt>=1e27&&Lo("Obliterate"),Wt>=1e30&&Lo("Negative void"),Wt>=1e33&&Lo("To crumbs, you say?"),Wt>=1e36&&Lo("You get nothing"),Wt>=1e39&&Lo("Humble rebeginnings"),Wt>=1e42&&Lo("The end of the world"),Wt>=1e45&&Lo("Oh, you're back"),Wt>=1e48&&Lo("Lazarus"),Wt>=1e51&&Lo("Smurf account"),Wt>=1e54&&Lo("If at first you don't succeed"),_t["Heavenly chip secret"].bought=1,_t["Heavenly cookie stand"].bought=1,_t["Heavenly bakery"].bought=1,_t["Heavenly confectionery"].bought=1,_t["Heavenly key"].bought=1,We=e;const o=Oe;Ao(),Io(),o!==Oe&&Ao();const n=De-t;return We=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(re(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Un("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Un("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Un("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Un("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${re(ut)} / ${re(mt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Bn()},e.appendChild(t),o.appendChild(Un("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${re(ht[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==ht[1]&&(Game.wrinklers[ht[1]].hp=0)},n.appendChild(i),o.appendChild(Un("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==ht[1]?ht[1]:"None"})`,n))}let n=!1;const i=[];for(const e of Object.keys(Uo))Game.Has(Uo[e])||(i.push(Uo[e]),n=!0);const a=[];for(const e of Object.keys(Do))Game.Has(Do[e])||(a.push(Do[e]),n=!0);const r=[];for(const e of Object.keys(Ro))Game.Has(Ro[e])||(r.push(Ro[e]),n=!0);const s=[];for(const e of Object.keys(Game.eggDrops))Game.HasUnlocked(Game.eggDrops[e])||(s.push(Game.eggDrops[e]),n=!0);const c=[];for(const e of Object.keys(Game.rareEggDrops))Game.HasUnlocked(Game.rareEggDrops[e])||(c.push(Game.rareEggDrops[e]),n=!0);const d=[];for(const e of Object.keys(Ho))Game.HasUnlocked(Ho[e])||(d.push(Ho[e]),n=!0);const p=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),u=Game.Has("Century egg");if(("christmas"===Game.season||n||p||u)&&(o.appendChild(jn("Season Specials","Sea")),e.Header.Sea&&(0!==i.length&&o.appendChild(Un("basic","Halloween Cookies Left to Buy",Dn(i))),0!==a.length&&o.appendChild(Un("basic","Christmas Cookies Left to Buy",Dn(a))),0!==r.length&&o.appendChild(Un("basic","Valentine Cookies Left to Buy",Dn(r))),0!==s.length&&o.appendChild(Un("basic","Normal Easter Eggs Left to Unlock",Dn(s))),0!==c.length&&o.appendChild(Un("basic","Rare Easter Eggs Left to Unlock",Dn(c))),0!==d.length&&o.appendChild(Un("basic","Rare Plant Drops Left to Unlock",Dn(d))),"christmas"===Game.season&&o.appendChild(Un("basic","Reindeer Reward",document.createTextNode(re(lt)))),p&&o.appendChild(Un("withTooltip","Chocolate Egg Cookies",document.createTextNode(re(st)),"ChoEggTooltipPlaceholder")),u&&o.appendChild(Un("basic","Century Egg Multiplier",document.createTextNode(Math.round(1e4*(rt-1))/100+"%"))))),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Un("basic",`Average Cookies Per Second (Past ${Q[e.AvgCPSHist]<60?`${Q[e.AvgCPSHist]} seconds`:Q[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(re(ao(),3)))),o.appendChild(Un("basic",`Average Cookie Clicks Per Second (Past ${q[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(re(yt,1)))),Game.Has("Fortune cookies")){const e=[];for(const t of Object.keys(jo))Game.Has(jo[t])||e.push(jo[t]);0!==e.length&&o.appendChild(Un("basic","Fortune Upgrades Left to Buy",Dn(e)))}if(e.ShowMissedGC&&o.appendChild(Un("basic","Missed Golden Cookies",document.createTextNode(re(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Un("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&function(){for(const e of l("menu").children)if(e.children[0])if("Prestige"===e.children[0].innerHTML&&kt){const t=kt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=kt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(bt){const t=bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=bt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Gt){const t=Gt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Gt,e.appendChild(i)}}}()}const Hn={BarsColors:"Bars/Colors",Calculation:"Calculation",Notification:"Notification",Tooltip:"Tooltips and additional insights",Statistics:"Statistics",Notation:"Notation",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===gn[t].type){const n=document.createElement("a");gn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]++,e[t]===gn[t].label.length?(e[t]=0,gn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==gn[t].func&&gn[t].func(),l(Wn+t).innerHTML=gn[t].label[e[t]],Mn()}(t)},n.textContent=gn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=gn[t].desc,o.appendChild(i),o}if("vol"===gn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=gn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");return r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n),o}if("url"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,Mn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=gn[t].desc,o.appendChild(s),o}if("color"===gn[t].type){o.className="";for(let t=0;tthis.max&&console.log("TEST"),e[t]=this.value,Mn(),cn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=gn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){M.Beautify=Beautify,Beautify=re,M.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){M.CalculateGains(),je=1,qt=Date.now(),Qt=Date.now()},M.tooltip={},M.tooltip.draw=Game.tooltip.draw,M.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){M.tooltip.drawMod(e,t,o)},M.tooltip.update=Game.tooltip.update,M.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){M.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},M.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(M.UpdateWrinklers)},M.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(M.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),M.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){M.RebuildUpgrades(),function(){T=[];for(const e of Object.keys(Game.UpgradesInStore))null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("u",`${e}`)}),"store"),Game.tooltip.wobble())})}(),Game.CalculateGains()},M.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=Vt[Game.ObjectsById[e].name].name;Vt[o].amount-=1,Pe-=1,t=Vt[o].basePrice*Game.priceIncrease**Math.max(0,Vt[o].amount-1-Vt[o].free),t=Game.modifyBuildingPrice(Vt[o],t),t=Math.ceil(t);break}const o=Oe;return Ao(),Io(),o!==Oe&&Ao(),[De-Game.cookiesPs,t]}(t),n=le(o/(e+Game.cookiesPs)),i=re(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${re(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},M.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){M.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},M.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(M.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t);for(const t of Object.keys(Hn)){const n=In(t,Hn[t]);if(o.appendChild(n),e.Header[t])if("Notification"===t)for(const t of Object.keys($n)){const n=In(t,$n[t]);if(n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t])for(const e in gn)gn[e].group===t&&o.appendChild(zn(e))}else for(const e of Object.keys(gn))gn[e].group===t&&o.appendChild(zn(e))}const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Sn(rn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Rn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.5) sees a total rehaul of the backend of the mod. It does not introduce any new functions, this is planned for the next release.
\nWe believe we have fixed all bugs related to this new code, but if you find any bugs, please report them on the GitHub!
\n
\nBesides, this update fixes the following bugs:
\n- Fixed some upgrade tooltips which did not display the full effect of buying the upgrades
\n- Fixed not always being able to sell when "blocking bulk buy"
\n- Fixed heavenly chips per second display
\n- Fixed small display bug when pressing shift and hovering over garden plots
\n- Fixed some bugs with the display of numbers and formatting of them
\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},M.sayTime=Game.sayTime,H=function(e,t){return Number.isNaN(e)||e<=0?M.sayTime(e,t):le(e/Game.fps,1)},M.Logic=Game.Logic,Game.Logic=function(){M.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ae=`${Game.OnAscend?"Ascending! ":""}${re(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ae;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=At?At.wrath?`[W${Math.ceil(At.life/Game.fps)}]`:`[G${Math.ceil(At.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=h?`[R${Math.ceil(jt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ae;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;At&&(t=!0,At.wrath?e+=`[W${Math.ceil(At.life/Game.fps)}]`:e+=`[G${Math.ceil(At.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&h&&(e+=`[R${Math.ceil(jt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${re(Game.prestige)}.
(CpS +${re(Game.prestige)}%)`,n+='
'),n+=Me<1?"Ascending now would grant you no prestige.":Me<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${re(Me)} prestige levels (+${re(Me)}% CpS)
and ${re(Me)} heavenly chips to spend.`,n+='
',n+=`You need ${re(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Ut} to reach the next level and you are making ${re(at,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){bn(),tn(),an(),a=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColor="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=S+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.5",N)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",P)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",P)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",P)),l("wrapper").appendChild(e);for(const e of Object.keys(Game.Objects))so(e)}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColor="black";const t=lo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:L},{id:"CMTimerBarGCBar",color:W}]);e.appendChild(t);const o=lo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:L},{id:"CMTimerBarRenBar",color:O}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColor="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(P,"Better than best PP building")),e.appendChild(o(E,"Same as best PP building")),e.appendChild(o(N,"Between best and worst PP buildings closer to best")),e.appendChild(o(O,"Between best and worst PP buildings closer to worst")),e.appendChild(o(F,"Same as worst PP building")),e.appendChild(o(W,"Worse than worst PP building")),e.appendChild(o(L,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=S+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",P)),e.appendChild(o("CMUpgradeBarGreen",E)),e.appendChild(o("CMUpgradeBarYellow",N)),e.appendChild(o("CMUpgradeBarOrange",O)),e.appendChild(o("CMUpgradeBarRed",F)),e.appendChild(o("CMUpgradeBarPurple",W)),e.appendChild(o("CMUpgradeBarGray",L)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMWhiteScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}();for(const e of Object.keys(D))Mo(D[e][0],D[e][1],D[e][2]);!function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Bn()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==ht[1]&&(Game.wrinklers[ht[1]].hp=0)},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",function(){for(const e of Object.keys(Game.Objects)){const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(w[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("b",`${e}`)}),"store"),Game.tooltip.wobble()})}}(),Game.canLumps()&&(r=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("s","Lump")}),"this"),Game.tooltip.wobble()}),m=Game.LoadMinigames,Game.LoadMinigames=function(){m(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Pn(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){$=1},l("backgroundLeftCanvas").onmouseout=function(){$=0,Game.tooltip.hide();for(const e of Object.keys(Game.wrinklers))z[e]=0},_n(),Nn(),Game.CalculateGains(),Sn(),R=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.5 loaded!"):Game.Notify("Cookie Monster version 2.031.5 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){kn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.5 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",Tn),kn=!1)},load:function(e){const t=JSON.parse(e);bn(),Sn(t.settings),"2.031.5"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:Cn};Game.registerMod("CookieMonster",Qn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],f=o.fixed?"fixed":"absolute",g=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var f=m[h];if(f)if(i.pub.presets.hasOwnProperty(f)){for(var u in i.pub.presets[f])if(i.pub.presets[f].hasOwnProperty(u))try{a(u,i.pub.presets[f][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",f)}var g=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===g.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){if(t[n])return t[n].exports;var i=t[n]={exports:{}};return e[n].call(i.exports,i,i.exports,o),i.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};const t=["","","M","G","T","P","E","Z","Y"],n=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],i=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let a,r,s,c,d,p,u,m,h,f,g,C,y,b,k,G,v,w=[],x=[],T=[],M={};const S="CMText",B="CMBack",P="Blue",E="Green",N="Yellow",O="Orange",F="Red",W="Purple",L="Gray",A="Pink",j="Brown",U=[L,P,E,N,O,F,W,A,j],D=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]];let R,H,$=0,I=-1,z=[],V=1,_=1,X=1;const Q=[10,15,30,60,300,600,900,1800],q=[1,5,10,15,30],Y={Frenzy:N,"Dragon Harvest":j,"Elder frenzy":E,Clot:F,"Click frenzy":P,Dragonflight:A};let K,J,Z,ee,te,oe,ne,ie={},ae="";function re(o,a,r){const l=e.ScaleDecimals+1;if(o===1/0)return"Infinity";if(void 0===o)return"0";if(0===e.Scale)return M.Beautify(o,a);if(Number.isFinite(o)){let s="";if(0===o)return o.toString();if(o>.001&&o=.01&&o=.01&&o=.01&&o315576e4)return"XX:XX:XX:XX:XX";s+=(n<10?"0":"")+n+":",s+=(i<10?"0":"")+i+":",s+=(a<10?"0":"")+a+":",s+=(r<10?"0":"")+r+":",s+=(l<10?"0":"")+l}else{if(t>7776e5)return o?"Over 9000 days!":">9000d";s+=n>0?n+(o?1===n?" year":" years":"y")+", ":"",s+=i>0?i+(o?1===i?" day":" days":"d")+", ":"",(s.length>0||a>0)&&(s+=a+(o?1===a?" hour":" hours":"h")+", "),(s.length>0||r>0)&&(s+=r+(o?1===r?" minute":" minutes":"m")+", "),s+=l+(o?1===l?" second":" seconds":"s")}return s}function se(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=E):(n=le(t),o=t>300?F:t>60?O:N),{text:n,color:o}}let ce,de,pe,ue,me,he,fe,ge,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Be,Pe,Ee,Ne,Oe,Fe,We,Le,Ae,je,Ue,De,Re,He=0,$e=0,Ie=0,ze=0,Ve=0,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=1,nt=1,it=1,at=0,rt=0,lt=0,st=0,ct={},dt={},pt={},ut=0,mt=0,ht=[0,null],ft=0,gt=0,Ct={},yt={},bt={},kt={},Gt={},vt=0,wt=0,xt=[],Tt=0,Mt=0,St=[],Bt=0,Pt=0,Et=[],Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At={},jt={},Ut=0,Dt=0,Rt=0,Ht=0,$t=[],It={},zt=0,Vt=[],_t=[],Xt=[],Qt=Game.startDate,qt=Game.startDate;function Yt(e){let t=0;return Game.dragonAuras[Le].name!==e&&Game.dragonAuras[Ae].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Le].name&&"Reality Bending"!==Game.dragonAuras[Ae].name||(t+=.1),t}function Kt(){let e=.25;return e*=1+Yt("Earth Shatterer"),e}function Jt(e,t){return void 0===Ue[e]?void 0===t?1:t:Ue[e]}function Zt(e){const t=_t[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function eo(e){if(Game.hasGod){void 0===Vt.Temple.minigame&&(Vt.Temple.minigame=Game.Objects.Temple.minigame);const t=Vt.Temple.minigame.gods[e];for(let e=0;e<3;e++)if(Vt.Temple.minigame.slot[e]===t.id)return e+1}return!1}function to(e,t){if(Zt("Season savings")&&(t*=.99),Zt("Santa's dominion")&&(t*=.99),Zt("Faberge egg")&&(t*=.99),Zt("Divine discount")&&(t*=.99),Zt("Fortune #100")&&(t*=.99),t*=1-.02*Yt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(t*=.95),Game.hasBuff("Crafty pixies")&&(t*=.98),Game.hasBuff("Nasty goblins")&&(t*=1.02),e.fortune&&Zt(e.fortune.name)&&(t*=.93),t*=Jt("buildingCost"),Vt.Temple.minigameLoaded){const e=eo("creation");1===e?t*=.93:2===e?t*=.95:3===e&&(t*=.98)}return t}function oo(e,t,o,n,i,a){a=void 0===a?0:a;let r=0;-1===i&&(i=o),i||(i=Game.buyBulk);for(let l=0;l0&&(r+=i,o--)}return r}function no(){let t=Game.buyBulk;if(1===Game.buyMode?_=t:t=_,1===t?t=ct:10===t?t=dt:100===t&&(t=pt),1===Game.buyMode)if(1===e.BuildColor)for(const o of Object.keys(t))l(`productPrice${Game.Objects[o].id}`).style.color=e.Colors[t[o].color];else for(const e of Object.keys(Game.Objects))l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color");else if(-1===Game.buyMode)for(const e of Object.keys(ct)){const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=re(oo(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))}if(1===Game.buyMode&&e.SortBuildings){const e=Object.keys(t).map((e=>{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o}));e.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const t=ct[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;for(const s of Object.keys(Game.UpgradesInStore)){const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eU.indexOf(t.color)?1:U.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e=10&&(e+=1);return e}:o.power=function(){let e=2;if(Zt("Starlove")&&(e=3),Game.hasGod){const t=eo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function xo(){Ee=Game.UpgradesOwned,Ne=Game.pledges,Oe=Game.AchievementsOwned,Fe=Game.heavenlyPower,We=Game.prestige;for(const e of Object.keys(Game.Objects)){const t=Game.Objects[e];let o=Vt[e];void 0===o&&(Vt[e]=vo(e),o=Vt[e],so(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&(o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Vt[e]=o}for(const e of Object.keys(Game.Upgrades)){const t=Game.Upgrades[e];let o=_t[e];void 0===o&&(_t[e]=wo(e),o=_t[e]),o.bought=t.bought,_t[e]=o}for(const e of Object.keys(Game.Achievements)){const t=Game.Achievements[e];let o=Xt[e];void 0===o&&(Xt[e]=ko(e),o=Xt[e]),o.won=t.won,Xt[e]=o}bo(),Le=He,Ae=$e}function To(e,t,o,n,i){let a=0;for(let r=0;rt.plantsById[t.plot[ee[1]][ee[0]][0]-1].matureBase,o=t.plantsById[t.plot[ee[1]][ee[0]][0]-1].name;l("CMTooltipBorder").appendChild(Co("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${re(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${re(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${re(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${re(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===Z&&function(){const t=Game.Objects.Farm.minigame;if(e.TooltipLump){l("CMTooltipBorder").appendChild(Co("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${re(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${se((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(re(Game.Objects[o].bulkPrice)).join(re((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t&&(l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return Z=t,ee=o,So(),l("tooltip").innerHTML}function Po(){if(Game.prefs.autosave&&Game.drawT%10==0&&"stats"===Game.onMenu&&e.Stats){const e=document.getElementById("CMStatsAutosaveTimer");e&&(e.innerText=Game.sayTime(60*Game.fps-Game.T%(60*Game.fps),4))}no(),io(),function(){if(1===e.TimerBar){const t=l("CMTimerBar").offsetWidth-163,o=l("CMTimerBar").offsetWidth-133;let n=0;0!==Game.shimmerTypes.golden.spawned||Game.Has("Golden switch [off]")?l("CMTimerBarGC").style.display="none":(l("CMTimerBarGC").style.display="",l("CMTimerBarGCMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n++),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n++):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="";for(const t of Object.keys(Game.buffs))if(Game.buffs[t]){const a=lo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==Y[Game.buffs[t].name]?Y[Game.buffs[t].name]:W,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n++,i[Game.buffs[t].name]=a}for(const e of Object.keys(i))l("CMTimerBarBuffTimers").appendChild(i[e]);0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ne!==n&&(ne=n,uo())}}(),co(),So(),function(){if(1===e.TooltipWrink&&1===$){let e=!1;for(const t of Object.keys(Game.wrinklers)){const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0!==z[t]&&void 0!==z[t])break;{const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),I=t,z[t]=1}}else z[t]=0}e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let e=Game.wrinklers[I].sucked,t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[I].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Vt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=re(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu();let t=l("cookies").innerHTML.replace(/.*(?=
)/i,re(Game.cookies));Game.prefs.monospace&&(t=`${t}`),l("cookies").innerHTML=t}class Eo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){e>this.maxLength&&(e=this.maxLength),e>this.queue.length&&(e=this.queue.length);let t=0;for(let o=this.queue.length-1;o>=0&&o>this.queue.length-1-e;o--)t+=this.queue[o];return 0===t?0:t/e}}function No(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+zt;Game.cpsSucked>0&&(o+=ut),Wt=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-fe,i=Math.max(0,Game.cookies-ge)/n,a=Math.max(0,ut-Ce)/n,r=Math.max(0,ht[0]-ye)/n,l=Math.max(0,o-st)/n,s=(Game.cookieClicks-be)/n;for(let e=0;eHt?W:t.pp>Rt?O:N,0!==Number(e.PPSecondsLowerLimit)&&o/ao()0&&(n=F),n}function Fo(e){for(const t of Object.keys(e))Game.cookiesPs?e[t].pp=Math.max(e[t].price-(Game.cookies+ro()),0)/Game.cookiesPs+e[t].price/e[t].bonus:e[t].pp=e[t].price/e[t].bonus,e[t].color=Oo(e[t],e[t].price)}function Wo(){!function(){if(Dt=1/0,Ht=1,$t=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),0===e.ColorPPBulkMode&&Game.buyMode>0){for(const e of Object.keys(ct))Game.cookiesPs?ct[e].pp=Math.max(Game.Objects[e].getPrice()-(Game.cookies+ro()),0)/Game.cookiesPs+Game.Objects[e].getPrice()/ct[e].bonus:ct[e].pp=Game.Objects[e].getPrice()/ct[e].bonus,$t.push([ct[e].pp,Game.Objects[e].getPrice()]);if($t.sort(((e,t)=>e[0]-t[0])),e.PPOnlyConsiderBuyable)for(;$t[0][1]>Game.cookies&&1!==$t.length;)$t.shift();Dt=$t[e.PPExcludeTop][0],Ht=$t[$t.length-1][0],Rt=(Ht-Dt)/2+Dt;for(const t of Object.keys(ct)){ct[t].color=Oo(ct[t],Game.Objects[t].getPrice());for(let o=0;o0){let t;1===Game.buyBulk?t=ct:10===Game.buyBulk?t=dt:100===Game.buyBulk&&(t=pt);for(const e of Object.keys(t))Game.cookiesPs?t[e].pp=Math.max(Game.Objects[e].bulkPrice-(Game.cookies+ro()),0)/Game.cookiesPs+Game.Objects[e].bulkPrice/t[e].bonus:t[e].pp=Game.Objects[e].bulkPrice/t[e].bonus,$t.push([t[e].pp,Game.Objects[e].bulkPrice]);if($t.sort(((e,t)=>e[0]-t[0])),e.PPOnlyConsiderBuyable)for(;$t[0][1]>Game.cookies&&1!==$t.length;)$t.shift();Dt=$t[e.PPExcludeTop][0],Ht=$t[$t.length-1][0],Rt=(Ht-Dt)/2+Dt;for(const o of Object.keys(ct)){t[o].color=Oo(t[o],Game.Objects[o].bulkPrice);for(let n=0;n=Game.CpsAchievements[e].threshold&&Lo(Game.CpsAchievements[e].name);Re=l;const s=Game.shimmerTypes.golden.n,c=Yt("Dragon's Fortune");for(let t=0;t=7&&Lo("Elder"),!$o("Veteran")&&e>=14&&Lo("Veteran");let t=0,o=1,n=1,i=1e5;for(const e of Object.keys(Vt))t+=Vt[e].amount,i=Math.min(Vt[e].amount,i),$o("Mathematician")||Vt[e].amount=1&&Lo("One with everything"),1===o&&Lo("Mathematician"),1===n&&Lo("Base 10"),i>=100&&Lo("Centennial"),i>=150&&Lo("Centennial and a half"),i>=200&&Lo("Bicentennial"),i>=250&&Lo("Bicentennial and a half"),i>=300&&Lo("Tricentennial"),i>=350&&Lo("Tricentennial and a half"),i>=400&&Lo("Quadricentennial"),i>=450&&Lo("Quadricentennial and a half"),i>=500&&Lo("Quincentennial"),i>=550&&Lo("Quincentennial and a half"),i>=600&&Lo("Sexcentennial"),t>=100&&Lo("Builder"),t>=500&&Lo("Architect"),t>=1e3&&Lo("Engineer"),t>=2e3&&Lo("Lord of Constructs"),t>=4e3&&Lo("Grand design"),t>=8e3&&Lo("Ecumenopolis"),Ee>=20&&Lo("Enhancer"),Ee>=50&&Lo("Augmenter"),Ee>=100&&Lo("Upgrader"),Ee>=200&&Lo("Lord of Progress"),Ee>=300&&Lo("The full picture"),Ee>=400&&Lo("When there's nothing left to add"),t>=4e3&&Ee>=300&&Lo("Polymath"),t>=8e3&&Ee>=400&&Lo("Renaissance baker"),Vt.Cursor.amount+Vt.Grandma.amount>=777&&Lo("The elder scrolls");let a=!0;for(const e of Object.keys(Uo))Zt(Uo[e])||(a=!1);a&&Lo("Spooky cookies");let r=!0;for(const e of Object.keys(Do))Zt(Do[e])||(r=!1);if(r&&Lo("Let it snow"),Zt("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;for(const o of Object.keys(e))Zt(e[o].name)&&t++;t>=e.length&&Lo("O Fortuna")}}function zo(e,t){xo(),Vt[e].amount+=t;const o=Vt[e];if("Cursor"===e)o.amount>=1&&Lo("Click"),o.amount>=2&&Lo("Double-click"),o.amount>=50&&Lo("Mouse wheel"),o.amount>=100&&Lo("Of Mice and Men"),o.amount>=200&&Lo("The Digital"),o.amount>=300&&Lo("Extreme polydactyly"),o.amount>=400&&Lo("Dr. T"),o.amount>=500&&Lo("Thumbs, phalanges, metacarpals"),o.amount>=600&&Lo("With her finger and her thumb"),o.amount>=700&&Lo("Gotta hand it to you"),o.amount>=800&&Lo("The devil's workshop");else for(const e in Game.Objects[o.name].tieredAchievs)o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Lo(Game.Objects[o.name].tieredAchievs[e].name);const n=Oe;return Ao(),Io(),n!==Oe&&Ao(),De-Game.cookiesPs}function Vo(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){xo(),"Shimmering veil [on]"===_t[e].name?_t["Shimmering veil [off]"].bought=0:"Golden switch [on]"===_t[e].name?_t["Golden switch [off]"].bought=0:_t[e].bought=(_t[e].bought+1)%2,_t[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&Ee++,"Elder Pledge"===e?(Ne++,Ne>0&&Lo("Elder nap"),Ne>=5&&Lo("Elder slumber")):"Elder Covenant"===e?Lo("Elder calm"):"Prism heart biscuits"===e?Lo("Lovely cookies"):"Heavenly key"===e&&Lo("Wholesome");const t=Oe;Ao(),Io(),t!==Oe&&Ao();const o=function(){let e=0;Zt("Thousand fingers")&&(e+=.1),Zt("Million fingers")&&(e*=5),Zt("Billion fingers")&&(e*=10),Zt("Trillion fingers")&&(e*=20),Zt("Quadrillion fingers")&&(e*=20),Zt("Quintillion fingers")&&(e*=20),Zt("Sextillion fingers")&&(e*=20),Zt("Septillion fingers")&&(e*=20),Zt("Octillion fingers")&&(e*=20),Zt("Nonillion fingers")&&(e*=20);let t=0;for(const e of Object.keys(Vt))t+=Vt[e].amount;t-=Vt.Cursor.amount,e*=t,Zt("Plastic mouse")&&(e+=.01*De),Zt("Iron mouse")&&(e+=.01*De),Zt("Titanium mouse")&&(e+=.01*De),Zt("Adamantium mouse")&&(e+=.01*De),Zt("Unobtainium mouse")&&(e+=.01*De),Zt("Eludium mouse")&&(e+=.01*De),Zt("Wishalloy mouse")&&(e+=.01*De),Zt("Fantasteel mouse")&&(e+=.01*De),Zt("Nevercrack mouse")&&(e+=.01*De),Zt("Armythril mouse")&&(e+=.01*De),Zt("Technobsidian mouse")&&(e+=.01*De),Zt("Plasmarble mouse")&&(e+=.01*De),Zt("Miraculite mouse")&&(e+=.01*De),Zt("Fortune #104")&&(e+=.01*De);let o=1;if(Zt("Santa's helpers")&&(o*=1.1),Zt("Cookie egg")&&(o*=1.1),Zt("Halo gloves")&&(o*=1.1),Zt("Dragon claw")&&(o*=1.03),Zt("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,Zt("Luminous gloves")?20:10)),o*=Jt("click"),Vt.Temple.minigameLoaded&&eo){const e=eo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}for(const e of Object.keys(Game.buffs))void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick);o*=1+.05*Yt("Dragon Cursor");let n=o*Game.ComputeCps(1,Zt("Reinforced index finger")+Zt("Carpal tunnel prevention cream")+Zt("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[De-Game.cookiesPs,o]:[De-Game.cookiesPs]}return[]}function _o(e,t){const o=[];for(const t of Object.keys(Game.Objects))o[t]={},o[t].bonus=zo(t,e),1!==e&&(Se=1);return o}function Xo(){for(const e of Object.keys(Game.Objects))ct[e].price=To(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),dt[e].price=To(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),pt[e].price=To(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}function Qo(){ct=_o(1),dt=_o(10),pt=_o(100),function(){Ct=[];for(const e of Object.keys(Game.Upgrades)){const t=Vo(e);Ct[e]={},t[0]&&(Ct[e].bonus=t[0]),t[1]&&(Ct[e].bonusMouse=t[1])}}()}function qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,xt=qo(7,e,nt),vt=2*xt[1]/nt,wt=xt[2]/60/60/6/ot,St=qo(6,e,it),Tt=2*St[1]/it,Mt=St[2]/60/60/6/ot,Et=qo(7,7*e,nt),Bt=2*Et[1]/nt,Pt=Et[2]/60/60/6/ot,Ft=qo(6,7*e,it),Nt=2*Ft[1]/it,Ot=Ft[2]/60/60/6/ot}function Ko(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Te,i=Math.max(0,o-Me)/n;for(let e=0;e\n\t`}function Zo(){bt="",Gt="",kt="";const e=[];for(const t of Object.keys(Game.Upgrades))e.push(Game.Upgrades[t]);e.sort((function(e,t){return e.order>t.order?1:e.order0?Ve/=e:Ve=0,_e=nt*(.15*Ve)+13,Xe=it*(.15*Ve)+13,Qe=7*Ve,qe=nt*(.15*Qe)+13,Ye=it*(.15*Qe)+13,Ke=2*Ve,Je=.15*Ke,Ze=0;let t=0,o=0;for(const e of Object.keys(Game.Objects))Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&o++;for(const e of Object.keys(Game.Objects))(Game.Objects[e].amountZe&&(Ze=2*Game.Objects[e].price,et=e)}function on(){let e=1,t=1,o=1;Zt("Green yeast digestives")&&(o*=1.01),Zt("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),nt=o*e,it=o*t,ot=1,0===Game.shimmerTypes.golden.n&&(ot*=1+1.23*Game.auraMult("Dragon's Fortune"))}function nn(){ut=0,mt=0,ht=[0,null];for(let e=0;eht[0]&&(ht=[t,e]))}}function an(){bo(),nn(),tn(),on(),Yo(),Zo(),en(),ce=new Eo(Q[Q.length-1]),de=new Eo(Q[Q.length-1]),pe=new Eo(Q[Q.length-1]),ue=new Eo(Q[Q.length-1]),me=new Eo(q[q.length-1]),he=new Eo(5),Ko(),No(),Qo(),Xo(),Wo()}const rn={BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,BuildColor:1,BulkBuildColor:0,UpBarColor:1,UpgradeBarFixedPos:1,CalcWrink:0,CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,ColorPPBulkMode:1,PPExcludeTop:0,PPSecondsLowerLimit:0,PPOnlyConsiderBuyable:0,ToolWarnBon:0,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,DragonAuraInfo:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,TimeFormat:0,DetailedTime:1,GrimoireBar:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,Colors:{Blue:"#4bb8f0",Green:"#00ff00",Yellow:"#ffff00",Orange:"#ff7f00",Red:"#ff0000",Purple:"#ff00ff",Gray:"#b3b3b3",Pink:"#ff1493",Brown:"#8b4513"},SortBuildings:0,SortUpgrades:0,GCTimer:1,Favicon:1,WrinklerButtons:1,BulkBuyBlock:0,Header:{BarsColors:1,Calculation:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Tooltip:1,Statistics:1,Notation:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},ln=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function sn(){1===e.BotBar?(l("CMBotBar").style.display="",co()):l("CMBotBar").style.display="none",uo()}function cn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),co(),no(),io()}function dn(){let t="";for(let o=0;o0?At.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class un{constructor(e,t){this.type=e,this.group=t}}class mn extends un{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class hn extends un{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class fn extends un{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const gn={BotBar:new mn("bool","BarsColors",["Bottom Bar OFF","Bottom Bar ON"],"Building Information",!0,(function(){sn()})),TimerBar:new mn("bool","BarsColors",["Timer Bar OFF","Timer Bar ON"],"Timers of Golden Cookie, Season Popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){mo()})),TimerBarPos:new mn("bool","BarsColors",["Timer Bar Position (Top Left)","Timer Bar Position (Bottom)"],"Placement of the Timer Bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),uo()})),TimerBarOverlay:new mn("bool","BarsColors",["Timer Bar Overlay OFF","Timer Bar Overlay Only Seconds","Timer Bar Overlay Full"],"Overlay on timers displaying seconds and/or percentage left",!0),SortBuildings:new mn("bool","BarsColors",["Sort Buildings: Default","Sort Buildings: PP"],"Sort the display of buildings in either default order or by PP",!1,(function(){no()})),SortUpgrades:new mn("bool","BarsColors",["Sort Upgrades: Default","Sort Upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){io()})),BuildColor:new mn("bool","BarsColors",["Building Colors OFF","Building Colors ON"],"Color code buildings",!0,(function(){no()})),BulkBuildColor:new mn("bool","BarsColors",["Bulk Building Colors (Single Building Color)","Bulk Building Colors (Calculated Bulk Color)"],"Color code bulk buildings based on single buildings color or calculated bulk value color",!1,(function(){no()})),UpBarColor:new mn("bool","BarsColors",["Upgrade Colors/Bar OFF","Upgrade Colors with Bar ON","Upgrade Colors without Bar ON"],"Color code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",io()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",io()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),Colors:new class extends un{constructor(e,t,o,n){super(e,t),this.desc=o,this.func=n}}("color","BarsColors",{Blue:"Color Blue. Used to show better than best PP building, for Click Frenzy bar, and for various labels",Green:"Color Green. Used to show best PP building, for Blood Frenzy bar, and for various labels",Yellow:"Color Yellow. Used to show between best and worst PP buildings closer to best, for Frenzy bar, and for various labels",Orange:"Color Orange. Used to show between best and worst PP buildings closer to worst, for Next Reindeer bar, and for various labels",Red:"Color Red. Used to show worst PP building, for Clot bar, and for various labels",Purple:"Color Purple. Used to show worse than worst PP building, for Next Cookie bar, and for various labels",Gray:"Color Gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar",Pink:"Color Pink. Used for Dragonflight bar",Brown:"Color Brown. Used for Dragon Harvest bar"},(function(){dn()})),UpgradeBarFixedPos:new mn("bool","BarsColors",["Upgrade Bar Fixed Position OFF","Upgrade Bar Fixed Position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),CalcWrink:new mn("bool","Calculation",["Calculate with Wrinklers OFF","Calculate with Wrinklers ON","Calculate with Single Fattest Wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) Wrinklers",!0),CPSMode:new mn("bool","Calculation",["Current Cookies Per Second","Average Cookies Per Second"],"Calculate times using current Cookies Per Second or average Cookies Per Second",!1),AvgCPSHist:new mn("bool","Calculation",["Average CPS for past 10s","Average CPS for past 15s","Average CPS for past 30s","Average CPS for past 1m","Average CPS for past 5m","Average CPS for past 10m","Average CPS for past 15m","Average CPS for past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new mn("bool","Calculation",["Average Cookie Clicks for past 1s","Average Cookie Clicks for past 5s","Average Cookie Clicks for past 10s","Average Cookie Clicks for past 15s","Average Cookie Clicks for past 30s"],"How much time average Cookie Clicks should consider",!1),ColorPPBulkMode:new mn("bool","Calculation",["Color of PP (Compared to Single)","Color of PP (Compared to Bulk)"],"Color PP-values based on comparison with single purchase or with selected bulk-buy mode",!1,(function(){Wo()})),PPExcludeTop:new mn("bool","Calculation",["Don't Ignore Any","Ignore 1st Best","Ignore 1st and 2nd Best","Ignore 1st, 2nd and 3rd Best"],"Makes CookieMonster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPSecondsLowerLimit:new fn("numscale","Calculation","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),PPOnlyConsiderBuyable:new mn("bool","Calculation",["Don't Ignore Non-Buyable","Ignore Non-Buyable"],"Makes CookieMonster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),ToolWarnBon:new mn("bool","Calculation",["Calculate Tooltip Warning With Bonus CPS OFF","Calculate Tooltip Warning With Bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),Title:new mn("bool","NotificationGeneral",["Title OFF","Title ON","Title Pinned Tab Highlight"],'Update title with Golden Cookie/Season Popup timers; pinned tab highlight only changes the title when a Golden Cookie/Season Popup spawns; "!" means that Golden Cookie/Reindeer can spawn',!0),GeneralSound:new mn("bool","NotificationGeneral",["Consider Game Volume Setting OFF","Consider Game Volume Setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new mn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when Golden Cookie spawns",!0,(function(){ln(e.GCNotification)})),GCFlash:new mn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on Golden Cookie",!0),GCSound:new mn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on Golden Cookie",!0),GCVolume:new hn("vol","NotificationGC",[],"Volume"),GCSoundURL:new mn("url","NotificationGC","Sound URL:","URL of the sound to be played when a Golden Cookie spawns"),FortuneNotification:new mn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when Fortune Cookie is on the Ticker",!0,(function(){ln(e.FortuneNotification)})),FortuneFlash:new mn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on Fortune Cookie",!0),FortuneSound:new mn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on Fortune Cookie",!0),FortuneVolume:new hn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new mn("url","NotificationFC","Sound URL:","URL of the sound to be played when the Ticker has a Fortune Cookie"),SeaNotification:new mn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on Season Popup",!0,(function(){ln(e.SeaNotification)})),SeaFlash:new mn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on Season Popup",!0),SeaSound:new mn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on Season Popup",!0),SeaVolume:new hn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new mn("url","NotificationSea","Sound URL:","URL of the sound to be played when a Season Special spawns"),GardFlash:new mn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on Garden Tick",!0),GardSound:new mn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on Garden Tick",!0),GardVolume:new hn("vol","NotificationGard",[],"Volume"),GardSoundURL:new mn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new mn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){ln(e.MagicNotification)})),MagicFlash:new mn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),MagicSound:new mn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new hn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new mn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new mn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a Wrinkler appears",!0,(function(){ln(e.WrinklerNotification)})),WrinklerFlash:new mn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a Wrinkler appears",!0),WrinklerSound:new mn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a Wrinkler appears",!0),WrinklerVolume:new hn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new mn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a Wrinkler appears"),WrinklerMaxNotification:new mn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of Wrinklers has appeared",!0,(function(){ln(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new mn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxSound:new mn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxVolume:new hn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new mn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of Wrinklers has appeared"),TooltipBuildUpgrade:new mn("bool","Tooltip",["Building/Upgrade Tooltip Information OFF","Building/Upgrade Tooltip Information ON"],"Extra information in Building/Upgrade tooltips",!0),TooltipAmor:new mn("bool","Tooltip",["Buildings Tooltip Amortization Information OFF","Buildings Tooltip Amortization Information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new mn("bool","Tooltip",["Tooltip Lucky Warning OFF","Tooltip Lucky Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new mn("bool","Tooltip",["Tooltip Lucky Frenzy Warning OFF","Tooltip Lucky Frenzy Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new mn("bool","Tooltip",["Tooltip Conjure Warning OFF","Tooltip Conjure Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new mn("bool","Tooltip",["Tooltip Conjure Frenzy Warning OFF","Tooltip Conjure Frenzy Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new mn("bool","Tooltip",["Tooltip Edifice Warning OFF","Tooltip Edifice Warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new fn("numscale","Tooltip","Tooltip Warning At x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnPos:new mn("bool","Tooltip",["Tooltip Warning Position (Left)","Tooltip Warning Position (Bottom)"],"Placement of the warning boxes",!1,(function(){fo()})),TooltipGrim:new mn("bool","Tooltip",["Grimoire Tooltip Information OFF","Grimoire Tooltip Information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new mn("bool","Tooltip",["Wrinkler Tooltip OFF","Wrinkler Tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new mn("bool","Tooltip",["Sugar Lump Tooltip OFF","Sugar Lump Tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new mn("bool","Tooltip",["Garden Plots Tooltip OFF","Garden Plots Tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),DragonAuraInfo:new mn("bool","Tooltip",["Extra Dragon Aura Info OFF","Extra Dragon Aura Info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),TooltipAscendButton:new mn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new mn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new mn("bool","Statistics",["Missing Upgrades OFF","Missing Upgrades ON"],"Shows Missing upgrades in Stats Menu. This feature can be laggy for users with a low amount of unlocked achievements.",!0),UpStats:new mn("bool","Statistics",["Statistics Update Rate (Default)","Statistics Update Rate (1s)"],"Default Game rate is once every 5 seconds",!1),TimeFormat:new mn("bool","Statistics",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new mn("bool","Statistics",["Detailed Time OFF","Detailed Time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=H:Game.sayTime=M.sayTime})),GrimoireBar:new mn("bool","Statistics",["Grimoire Magic Meter Timer OFF","Grimoire Magic Meter Timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),HeavenlyChipsTarget:new fn("numscale","Statistics","Heavenly Chips Target: ",'Use this to set a Heavenly Chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new mn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many Golden Cookies you have missed",!0),Scale:new mn("bool","Notation",["Game's Setting Scale","Metric","Short Scale","Short Scale (Abbreviated)","Scientific Notation","Engineering Notation"],"Change how long numbers are handled",!1,(function(){cn()})),ScaleDecimals:new mn("bool","Notation",["1 decimals","2 decimals","3 decimals"],"Set the number of decimals used when applicable",!1,(function(){cn()})),ScaleSeparator:new mn("bool","Notation",[". for decimals (Standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){cn()})),ScaleCutoff:new fn("numscale","Notation","Notation Cut-off Point: ","The number from which CookieMonster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),GCTimer:new mn("bool","Miscellaneous",["Golden Cookie Timer OFF","Golden Cookie Timer ON"],"A timer on the Golden Cookie when it has been spawned",!0,(function(){!function(){if(1===e.GCTimer)for(const e of Object.keys(ie))ie[e].style.display="block",ie[e].style.left=It[e].l.style.left,ie[e].style.top=It[e].l.style.top;else for(const e of Object.keys(ie))ie[e].style.display="none"}()})),Favicon:new mn("bool","Miscellaneous",["Favicon OFF","Favicon ON"],"Update favicon with Golden/Wrath Cookie",!0,(function(){pn()})),WrinklerButtons:new mn("bool","Miscellaneous",["Extra Buttons OFF","Extra Buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){e.WrinklerButtons?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")})),BulkBuyBlock:new mn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function Cn(){return JSON.stringify({settings:e,version:"2.031.5"})}function yn(){if(Ie!==Game.dragonLevel||je){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount0&&(e=t);Vt[e].amount--,Pe--}for(const t of Object.keys(Vt)){const o=Vt[t];e+=oo(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)}return e}(),zt=e}(),je=0);const t=Game.auraMult("Fierce Hoarder")>0;!Be&&t?(Be=!0,Se=1):Be&&!t&&(Be=!1,Se=1),Se&&(Xo(),Se=0),function(){nn(),Wo(),function(){ft=0;let e=0;for(const t in Game.wrinklers)2===Game.wrinklers[t].phase&&e++;let t=1;if(Vt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}gt=e,ft=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),No(),Ko();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Ut=le(e/ao())}(),function(){!function(){k=0,It={};for(const e of Object.keys(Game.shimmers))It[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(At=Game.shimmers[e],k+=1)}();for(const e of Object.keys(ie))void 0===It[e]&&(ie[e].parentNode.removeChild(ie[e]),delete ie[e]);if(C!==Game.shimmerTypes.golden.n){if(C=Game.shimmerTypes.golden.n,C){y0){let t=0;for(const e in Game.wrinklers)2===Game.wrinklers[e].phase&&t++;t>G?(G=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Gn(3,"WrinklerMaxFlash"):Gn(3,"WrinklerFlash"),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?vn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume"):vn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume"),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?xn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):xn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):G=t}}()}}function Mn(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${Cn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Sn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t;let o=!1;for(const t in rn)if(void 0===e[t])o=!0,e[t]=rn[t];else if("Header"!==t&&"Colors"!==t)-1===t.indexOf("SoundURL")?e[t]>-1&&e[t]-1&&e[t][n]<2||(o=!0,e[t][n]=rn[t][n]);else for(const n in rn.Colors)void 0!==e[t][n]&&"string"==typeof e[t][n]||(o=!0,e[t][n]=rn[t][n]);o&&Mn(),Tn();for(const e in rn)"Header"!==e&&void 0!==gn[e].func&&gn[e].func()}else Sn(rn)}function Bn(){for(const e of Object.keys(Game.wrinklers))Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}function Pn(){if(Game.Objects["Wizard tower"].minigameLoaded)for(const e in Game.Objects["Wizard tower"].minigame.spellsById)null!==l(`grimoireSpell${e}`).onmouseover&&(x[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("g",`${e}`)}),"this"),Game.tooltip.wobble()})}function En(){if(!u&&Game.Objects["Wizard tower"].minigameLoaded){const t=Game.Objects["Wizard tower"].minigame;d=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){d(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Mn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Un(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(D[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Dn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a);for(const t of Object.keys(e)){const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)}return n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Rn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+ro()0&&(t.appendChild(Un("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(re(e)))),t.appendChild(Un("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(le(e/at)))))}const l=function(e){let t=Game.cookiesPs;xo(),0===_t["Heavenly key"].bought&&(_t["Heavenly chip secret"].bought=1,_t["Heavenly cookie stand"].bought=1,_t["Heavenly bakery"].bought=1,_t["Heavenly confectionery"].bought=1,_t["Heavenly key"].bought=1,Ao(),t=De,xo()),Wt>=1e6&&Lo("Sacrifice"),Wt>=1e9&&Lo("Oblivion"),Wt>=1e12&&Lo("From scratch"),Wt>=1e15&&Lo("Nihilism"),Wt>=1e18&&Lo("Dematerialize"),Wt>=1e21&&Lo("Nil zero zilch"),Wt>=1e24&&Lo("Transcendence"),Wt>=1e27&&Lo("Obliterate"),Wt>=1e30&&Lo("Negative void"),Wt>=1e33&&Lo("To crumbs, you say?"),Wt>=1e36&&Lo("You get nothing"),Wt>=1e39&&Lo("Humble rebeginnings"),Wt>=1e42&&Lo("The end of the world"),Wt>=1e45&&Lo("Oh, you're back"),Wt>=1e48&&Lo("Lazarus"),Wt>=1e51&&Lo("Smurf account"),Wt>=1e54&&Lo("If at first you don't succeed"),_t["Heavenly chip secret"].bought=1,_t["Heavenly cookie stand"].bought=1,_t["Heavenly bakery"].bought=1,_t["Heavenly confectionery"].bought=1,_t["Heavenly key"].bought=1,We=e;const o=Oe;Ao(),Io(),o!==Oe&&Ao();const n=De-t;return We=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(re(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Un("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Un("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Un("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Un("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${re(ut)} / ${re(mt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Bn()},e.appendChild(t),o.appendChild(Un("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${re(ht[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==ht[1]&&(Game.wrinklers[ht[1]].hp=0)},n.appendChild(i),o.appendChild(Un("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==ht[1]?ht[1]:"None"})`,n))}let n=!1;const i=[];for(const e of Object.keys(Uo))Game.Has(Uo[e])||(i.push(Uo[e]),n=!0);const a=[];for(const e of Object.keys(Do))Game.Has(Do[e])||(a.push(Do[e]),n=!0);const r=[];for(const e of Object.keys(Ro))Game.Has(Ro[e])||(r.push(Ro[e]),n=!0);const s=[];for(const e of Object.keys(Game.eggDrops))Game.HasUnlocked(Game.eggDrops[e])||(s.push(Game.eggDrops[e]),n=!0);const c=[];for(const e of Object.keys(Game.rareEggDrops))Game.HasUnlocked(Game.rareEggDrops[e])||(c.push(Game.rareEggDrops[e]),n=!0);const d=[];for(const e of Object.keys(Ho))Game.HasUnlocked(Ho[e])||(d.push(Ho[e]),n=!0);const p=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),u=Game.Has("Century egg");if(("christmas"===Game.season||n||p||u)&&(o.appendChild(jn("Season Specials","Sea")),e.Header.Sea&&(0!==i.length&&o.appendChild(Un("basic","Halloween Cookies Left to Buy",Dn(i))),0!==a.length&&o.appendChild(Un("basic","Christmas Cookies Left to Buy",Dn(a))),0!==r.length&&o.appendChild(Un("basic","Valentine Cookies Left to Buy",Dn(r))),0!==s.length&&o.appendChild(Un("basic","Normal Easter Eggs Left to Unlock",Dn(s))),0!==c.length&&o.appendChild(Un("basic","Rare Easter Eggs Left to Unlock",Dn(c))),0!==d.length&&o.appendChild(Un("basic","Rare Plant Drops Left to Unlock",Dn(d))),"christmas"===Game.season&&o.appendChild(Un("basic","Reindeer Reward",document.createTextNode(re(lt)))),p&&o.appendChild(Un("withTooltip","Chocolate Egg Cookies",document.createTextNode(re(st)),"ChoEggTooltipPlaceholder")),u&&o.appendChild(Un("basic","Century Egg Multiplier",document.createTextNode(Math.round(1e4*(rt-1))/100+"%"))))),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Un("basic",`Average Cookies Per Second (Past ${Q[e.AvgCPSHist]<60?`${Q[e.AvgCPSHist]} seconds`:Q[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(re(ao(),3)))),o.appendChild(Un("basic",`Average Cookie Clicks Per Second (Past ${q[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(re(yt,1)))),Game.Has("Fortune cookies")){const e=[];for(const t of Object.keys(jo))Game.Has(jo[t])||e.push(jo[t]);0!==e.length&&o.appendChild(Un("basic","Fortune Upgrades Left to Buy",Dn(e)))}if(e.ShowMissedGC&&o.appendChild(Un("basic","Missed Golden Cookies",document.createTextNode(re(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Un("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&function(){for(const e of l("menu").children)if(e.children[0])if("Prestige"===e.children[0].innerHTML&&kt){const t=kt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=kt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(bt){const t=bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=bt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Gt){const t=Gt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Gt,e.appendChild(i)}}}()}const Hn={BarsColors:"Bars/Colors",Calculation:"Calculation",Notification:"Notification",Tooltip:"Tooltips and additional insights",Statistics:"Statistics",Notation:"Notation",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===gn[t].type){const n=document.createElement("a");gn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]++,e[t]===gn[t].label.length?(e[t]=0,gn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==gn[t].func&&gn[t].func(),l(Wn+t).innerHTML=gn[t].label[e[t]],Mn()}(t)},n.textContent=gn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=gn[t].desc,o.appendChild(i),o}if("vol"===gn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=gn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");return r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n),o}if("url"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,Mn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=gn[t].desc,o.appendChild(s),o}if("color"===gn[t].type){o.className="";for(let t=0;tthis.max&&console.log("TEST"),e[t]=this.value,Mn(),cn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=gn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){M.Beautify=Beautify,Beautify=re,M.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){M.CalculateGains(),je=1,qt=Date.now(),Qt=Date.now()},M.tooltip={},M.tooltip.draw=Game.tooltip.draw,M.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){M.tooltip.drawMod(e,t,o)},M.tooltip.update=Game.tooltip.update,M.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){M.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},M.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(M.UpdateWrinklers)},M.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(M.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),M.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){M.RebuildUpgrades(),function(){T=[];for(const e of Object.keys(Game.UpgradesInStore))null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("u",`${e}`)}),"store"),Game.tooltip.wobble())})}(),Game.CalculateGains()},M.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=Vt[Game.ObjectsById[e].name].name;Vt[o].amount-=1,Pe-=1,t=Vt[o].basePrice*Game.priceIncrease**Math.max(0,Vt[o].amount-1-Vt[o].free),t=Game.modifyBuildingPrice(Vt[o],t),t=Math.ceil(t);break}const o=Oe;return Ao(),Io(),o!==Oe&&Ao(),[De-Game.cookiesPs,t]}(t),n=le(o/(e+Game.cookiesPs)),i=re(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${re(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},M.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){M.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},M.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(M.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t);for(const t of Object.keys(Hn)){const n=In(t,Hn[t]);if(o.appendChild(n),e.Header[t])if("Notification"===t)for(const t of Object.keys($n)){const n=In(t,$n[t]);if(n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t])for(const e in gn)gn[e].group===t&&o.appendChild(zn(e))}else for(const e of Object.keys(gn))gn[e].group===t&&o.appendChild(zn(e))}const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Sn(rn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Rn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.5) sees a total rehaul of the backend of the mod. It does not introduce any new functions, this is planned for the next release.
\nWe believe we have fixed all bugs related to this new code, but if you find any bugs, please report them on the GitHub!
\n
\nBesides, this update fixes the following bugs:
\n- Fixed some upgrade tooltips which did not display the full effect of buying the upgrades
\n- Fixed not always being able to sell when "blocking bulk buy"
\n- Fixed heavenly chips per second display
\n- Fixed small display bug when pressing shift and hovering over garden plots
\n- Fixed some bugs with the display of numbers and formatting of them
\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},M.sayTime=Game.sayTime,H=function(e,t){return Number.isNaN(e)||e<=0?M.sayTime(e,t):le(e/Game.fps,1)},M.Logic=Game.Logic,Game.Logic=function(){M.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ae=`${Game.OnAscend?"Ascending! ":""}${re(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ae;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=At?At.wrath?`[W${Math.ceil(At.life/Game.fps)}]`:`[G${Math.ceil(At.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=h?`[R${Math.ceil(jt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ae;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;At&&(t=!0,At.wrath?e+=`[W${Math.ceil(At.life/Game.fps)}]`:e+=`[G${Math.ceil(At.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&h&&(e+=`[R${Math.ceil(jt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${re(Game.prestige)}.
(CpS +${re(Game.prestige)}%)`,n+='
'),n+=Me<1?"Ascending now would grant you no prestige.":Me<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${re(Me)} prestige levels (+${re(Me)}% CpS)
and ${re(Me)} heavenly chips to spend.`,n+='
',n+=`You need ${re(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Ut} to reach the next level and you are making ${re(at,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){bn(),tn(),an(),a=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColor="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=S+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.5",N)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",P)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",P)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",P)),l("wrapper").appendChild(e);for(const e of Object.keys(Game.Objects))so(e)}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColor="black";const t=lo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:L},{id:"CMTimerBarGCBar",color:W}]);e.appendChild(t);const o=lo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:L},{id:"CMTimerBarRenBar",color:O}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColor="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(P,"Better than best PP building")),e.appendChild(o(E,"Same as best PP building")),e.appendChild(o(N,"Between best and worst PP buildings closer to best")),e.appendChild(o(O,"Between best and worst PP buildings closer to worst")),e.appendChild(o(F,"Same as worst PP building")),e.appendChild(o(W,"Worse than worst PP building")),e.appendChild(o(L,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=S+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",P)),e.appendChild(o("CMUpgradeBarGreen",E)),e.appendChild(o("CMUpgradeBarYellow",N)),e.appendChild(o("CMUpgradeBarOrange",O)),e.appendChild(o("CMUpgradeBarRed",F)),e.appendChild(o("CMUpgradeBarPurple",W)),e.appendChild(o("CMUpgradeBarGray",L)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMWhiteScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}();for(const e of Object.keys(D))Mo(D[e][0],D[e][1],D[e][2]);!function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Bn()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==ht[1]&&(Game.wrinklers[ht[1]].hp=0)},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",function(){for(const e of Object.keys(Game.Objects)){const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(w[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("b",`${e}`)}),"store"),Game.tooltip.wobble()})}}(),Game.canLumps()&&(r=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("s","Lump")}),"this"),Game.tooltip.wobble()}),m=Game.LoadMinigames,Game.LoadMinigames=function(){m(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Pn(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){$=1},l("backgroundLeftCanvas").onmouseout=function(){$=0,Game.tooltip.hide();for(const e of Object.keys(Game.wrinklers))z[e]=0},_n(),Nn(),Game.CalculateGains(),Sn(),R=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.5 loaded!"):Game.Notify("Cookie Monster version 2.031.5 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){kn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.5 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",Tn),kn=!1)},load:function(e){const t=JSON.parse(e);bn(),Sn(t.settings),"2.031.5"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:Cn};Game.registerMod("CookieMonster",Qn)})()})(); diff --git a/dist/CookieMonster.js.map b/dist/CookieMonster.js.map index 48975188..54c21cbb 100644 --- a/dist/CookieMonster.js.map +++ b/dist/CookieMonster.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","__esModule","d","definition","key","o","enumerable","CMOptions","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColorTextPre","ColorBackPre","ColorBlue","ColorGreen","ColorYellow","ColorOrange","ColorRed","ColorPurple","ColorGray","ColorPink","ColorBrown","Colors","TooltipText","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColors","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","TimeFormat","GetTimeColor","text","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CacheMidPP","CacheMaxPP","CacheArrayOfPPs","CacheGoldenShimmersByID","CacheSellForChoEgg","SimObjects","SimUpgrades","SimAchievements","SimDateCentury","Game","startDate","SimDateAges","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","slot","id","SimModifyBuildingPrice","building","price","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColor","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColor","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColor","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","UpdateBotBar","BotBar","count","timeColor","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","GetCPSBuffMult","mult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","fps","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","lastChild","click","production","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","elderWrath","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","won","BuildingGetPrice","increase","CreateSimpleTooltip","placeholder","minWidth","Tooltip","desc","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColor","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","magic","recover","recoverColor","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","matureBase","plantName","GardenPlots","totalGain","mortal","tile","immortal","HarvestAll","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","CreateTooltip","TooltipAmor","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","ObjectsById","tileTooltip","toolTooltip","area","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColor","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","wrinkler","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","addLatest","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheBuildingsBulkPP","CachePP","PPExcludeTop","ColorPPBulkMode","CacheBuildingsPP","CacheUpgradePP","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","BuyBuildingsBonusIncome","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyUpgradesBonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","CacheBuildingIncome","result","CacheBuildingsPrices","CacheIncome","bonusIncome","CacheUpgradeIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","crateMissing","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","CacheAllMissingUpgrades","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","BulkBuildColor","UpgradeBarFixedPos","GeneralSound","GCNotification","GCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","DragonAuraInfo","TooltipAscendButton","MissingUpgrades","DetailedTime","GrimoireBar","HeavenlyChipsTarget","ShowMissedGC","Blue","Green","Yellow","Orange","Red","Purple","Gray","Pink","Brown","GCTimer","Favicon","WrinklerButtons","BulkBuyBlock","Header","BarsColors","Calculation","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Statistics","Notation","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateColors","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","toggle","super","SettingVolume","SettingInputNumber","SettingsData","insertBefore","ToggleGCTimer","save","stringify","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","InitData","isInitializing","Flash","config","setTimeout","PlaySound","url","sndConfig","volConfig","sound","realAudio","volume","play","CreateGCTimer","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","Notification_Notification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","FindShimmer","transform","life","CheckGoldenCookie","TickerEffect","CheckSeasonPopup","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","mod","PopAllNormalWrinklers","hp","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColor","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColorFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColor","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColor","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColorFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColorFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColor","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColor","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColor","bakeberryFrag","chocorootColor","chocorootFrag","queenbeetColor","queenbeetFrag","duketaterColor","duketaterFrag","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","missingPlantDrops","centEgg","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","AddMissingUpgrades","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","Prompt","outerHTML","ClosePrompt","innerDiv","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ReplaceTooltipUpgrade","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","groupObject","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateWhiteScreen","getElementsByTagName","CreateFavicon","append","CreateWrinklerButtons","ReplaceTooltipBuild","canLumps","forEach","child","coords","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAe,SACfC,EAAe,SAMfC,EAAY,OACZC,EAAa,QACbC,EAAc,SACdC,EAAc,SACdC,EAAW,MACXC,EAAc,SACdC,EAAY,OACZC,EAAY,OACZC,EAAa,QACbC,EAAS,CACbH,EACAN,EACAC,EACAC,EACAC,EACAC,EACAC,EACAE,EACAC,GAUIE,EAAc,CAClB,CAAC,6BAA8B,oCAAqC,SACpE,CACE,2CACA,6EACA,SAEF,CACE,6BACA,qPACA,SAEF,CACE,8BACA,kEACA,SAEF,CACE,kCACA,2PACA,SAEF,CACE,0BACA,gLACA,SAEF,CACE,2BACA,uOACA,SAEF,CACE,4BACA,2CACA,UAQJ,IAUIC,EACAC,EAXAC,EAAsB,EACtBC,GAAmB,EAOnBC,EAA4B,GAQ5BC,EAAmB,EACnBC,EAAsB,EACtBC,EAA4B,EAMhC,MAAMC,EAAc,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,MAC9CC,EAAa,CAAC,EAAG,EAAG,GAAI,GAAI,IAK5BC,EAAa,CACjBC,OAAQpB,EACRqB,iBAAkBf,EAClBgB,eAAgBvB,EAChBwB,KAAMrB,EACNsB,eAAgB1B,EAChB2B,aAAcpB,GAMhB,IAOIqB,EACAC,EACAC,EACAC,GACAC,GAEAC,GACAC,GAdAC,GAAW,GAKXC,GAAQ,GA0BZ,SAASC,GAA4BC,EAAKC,EAAQC,GAChD,MAAMC,EAAWpE,EAAUqE,cAAgB,EAC3C,GAAIJ,IAAQK,IACV,MAAO,WAET,QAAmB,IAARL,EACT,MAAO,IAET,GAAwB,IAApBjE,EAAUuE,MACZ,OAAO/C,EAAgBgD,SAASP,EAAKC,GAEvC,GAAIO,OAAOC,SAAST,GAAM,CACxB,IAAIU,EAAS,GACb,GAAY,IAARV,EACF,OAAOA,EAAIjhB,WAEb,GAAIihB,EAAM,MAASA,EAAMjE,EAAU4E,YAGjC,OAF8BD,EAA1B3E,EAAU6E,eAAyBZ,EAAIa,eAAe,MAC5Cb,EAAIa,eAAe,MAC1BH,EAET,GAAyB,IAApB3E,EAAUuE,QAAgBJ,GAAsB,IAAXA,EAExCQ,EAASV,EAAIc,cAAcX,GAAUphB,WAAW7B,QAAQ,IAAK,SACxD,CACL,MAAM6jB,EAAcf,EAAIc,gBAAgB/hB,WAClCiiB,EAAwBniB,KAAKkE,MACjCge,EAAY1G,MAAM0G,EAAYvnB,QAAQ,KAAO,GAAK,GAEpDknB,GAAUV,EAAMQ,OAAO,KAA6B,EAAxBQ,IAA8BC,QACxDd,GAGuB,IAApBpE,EAAUuE,QAAgBJ,GAAsB,IAAXA,EAEpCF,GAAO,KAAQA,EAAMQ,OAAO,KAAqB,EAAhBxE,EAAOzlB,QAC1CmqB,GAAU,IAAI1E,EAAOgF,KAChBN,EAASX,GAA4BC,EAAK,EAAG,GACtB,IAApBjE,EAAUuE,QAAgBJ,GAAsB,IAAXA,EAE3CF,GAAO,KAAQA,EAAMQ,OAAO,KAAyB,EAApBvE,EAAW1lB,QAC9CmqB,GAAU,IAAIzE,EAAW+E,KACpBN,EAASX,GAA4BC,EAAK,EAAG,GACtB,IAApBjE,EAAUuE,QAAgBJ,GAAsB,IAAXA,EAG7CF,GAAO,KACPA,EAAMQ,OAAO,KAAoC,EAA/BtE,EAAsB3lB,QAExCmqB,GAAU,IAAIxE,EAAsB8E,KAC/BN,EAASX,GAA4BC,EAAK,EAAG,IACtB,IAApBjE,EAAUuE,QAAgBJ,GAAsB,IAAXA,KAE/CQ,GAAU,IAA4B,EAAxBM,GAUlB,MAPe,KAAXN,IACFvpB,QAAQ+pB,IACN,2DAA2DlB,KAE7DU,EAASnD,EAAgBgD,SAASP,EAAKC,IAErClE,EAAU6E,iBAAgBF,EAASA,EAAOxjB,QAAQ,IAAK,MACpDwjB,EAGT,OADAvpB,QAAQ+pB,IAAI,2DAA2DlB,KAChEzC,EAAgBgD,SAASP,EAAKC,GASvC,SAASkB,GAAWC,EAAMC,GACxB,GAAID,IAASf,IAAU,OAAOe,EAC9BA,EAAOviB,KAAKoL,KAAKmX,GACjB,MAAM3gB,EAAI5B,KAAKkE,MAAMqe,EAAO,UACtB1F,EAAI7c,KAAKkE,MAAOqe,EAAO,SAAY,OACnCze,EAAI9D,KAAKkE,MAAOqe,EAAO,MAAS,MAChC3qB,EAAIoI,KAAKkE,MAAOqe,EAAO,KAAQ,IAC/Bve,EAAIhE,KAAKkE,MAAMqe,EAAO,IAC5B,IAAI1pB,EAAM,GACV,GAAIqkB,EAAUuF,WAAY,CACxB,GAAIF,EAAO,SAAY,MAAO,iBAC9B1pB,IAAW+I,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACP/I,IAAWgkB,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACPhkB,IAAWiL,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACPjL,IAAWjB,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACPiB,IAAQmL,EAAI,GAAK,IAAM,IAAMA,MACxB,CACL,GAAIue,EAAO,OAAW,OAAOC,EAAa,kBAAoB,SAC9D3pB,GACE+I,EAAI,EACGA,GAAK4gB,EAAoB,IAAN5gB,EAAU,QAAU,SAAY,KAAtD,KACA,GACN/I,GACEgkB,EAAI,EAAOA,GAAK2F,EAAoB,IAAN3F,EAAU,OAAS,QAAW,KAApD,KAA+D,IACrEhkB,EAAInB,OAAS,GAAKoM,EAAI,KACxBjL,GAAUiL,GAAK0e,EAAoB,IAAN1e,EAAU,QAAU,SAAY,KAAtD,OACLjL,EAAInB,OAAS,GAAKE,EAAI,KACxBiB,GAAUjB,GAAK4qB,EAAoB,IAAN5qB,EAAU,UAAY,WAAc,KAA1D,MACTiB,GAAOmL,GAAKwe,EAAoB,IAANxe,EAAU,UAAY,WAAc,KAEhE,OAAOnL,EAQT,SAAS6pB,GAAaH,GACpB,IAAIld,EACAsd,EAWJ,OAVIJ,GAAQ,GACgBI,EAAtBzF,EAAUuF,WAAmB,iBACrB,QACZpd,EAAQyZ,IAER6D,EAAOL,GAAWC,GACFld,EAAZkd,EAAO,IAAatD,EACfsD,EAAO,GAAYvD,EACfD,GAER,CAAE4D,OAAMtd,SAMjB,IA0EIud,GACAC,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GAEAC,GAEAC,GASAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GAGAC,GACAC,GAxHAC,GAAkB,EAClBC,GAAmB,EACnBC,GAAuB,EACvBC,GAAyB,EACzBC,GAAa,EACbC,GAAmB,EACnBC,GAAwB,EACxBC,GAAmB,EACnBC,GAAyB,EACzBC,GAA8B,EAC9BC,GAAe,EACfC,GAAqB,EACrBC,GAAe,EACfC,GAAuB,EACvBC,GAA6B,EAC7BC,GAAoC,EACpCC,GAAyB,EACzBC,GAAwB,EAExBC,GAAmB,EAEnBC,GAAe,EACfC,GAAe,EACfC,GAAkB,EAElBC,GAAgB,GAChBC,GAAiB,GACjBC,GAAkB,GAElBC,GAAsB,EACtBC,GAAuB,EACvBC,GAAwB,CAAC,EAAG,MAE5BC,GAA2B,EAC3BC,GAAyB,EAEzBC,GAAgB,GAEhBC,GAAqB,GAErBC,GAAuB,GACvBC,GAA+B,GAC/BC,GAA8B,GAE9BC,GAAqB,EACrBC,GAAyB,EACzBC,GAAsB,GACtBC,GAA0B,EAC1BC,GAA8B,EAC9BC,GAA2B,GAC3BC,GAA2B,EAC3BC,GAA+B,EAC/BC,GAA4B,GAC5BC,GAAgC,EAChCC,GAAoC,EACpCC,GAAiC,GAEjCC,GAAyB,EACzBC,GAAwB,EAExBC,GAA4B,GAC5BC,GAAwB,GAExBC,GAA4B,EAE5BC,GAAa,EACbC,GAAa,EACbC,GAAa,EACbC,GAAkB,GAElBC,GAA0B,GAE1BC,GAAqB,EAgCrBC,GAAa,GACbC,GAAc,GACdC,GAAkB,GAWlBC,GAAiBC,KAAKC,UACtBC,GAAcF,KAAKC,UAUvB,SAASE,GAAYC,GACnB,IAAIpuB,EAAI,EAWR,OATEguB,KAAKK,YAAYzE,IAAetoB,OAAS8sB,GACzCJ,KAAKK,YAAYxE,IAAgBvoB,OAAS8sB,IAE1CpuB,EAAI,GAEqC,oBAAzCguB,KAAKK,YAAYzE,IAAetoB,MACU,oBAA1C0sB,KAAKK,YAAYxE,IAAgBvoB,OAEjCtB,GAAK,IACAA,EAWT,SAASsuB,KACP,IAAIC,EAAW,IAEf,OADAA,GAAY,EAAIJ,GAAY,mBACrBI,EAST,SAASC,GAAOltB,EAAMmtB,GACpB,YAA6B,IAAlB1E,GAAQzoB,QACK,IAARmtB,EAAsB,EAAIA,EAEnC1E,GAAQzoB,GASjB,SAASotB,GAAON,GACd,MAAMO,EAAKd,GAAYO,GACvB,OACyB,IAAvBJ,KAAKY,eACQ,aAAZD,EAAGE,MAAmC,YAAZF,EAAGG,OAGzBH,EAAKA,EAAGI,OADN,EAYX,SAASC,GAAUZ,GACjB,GAAIJ,KAAKiB,OAAQ,MACoB9xB,IAA/BywB,GAAWsB,OAAOC,WACpBvB,GAAWsB,OAAOC,SAAWnB,KAAKoB,QAAQF,OAAOC,UAEnD,MAAME,EAAMzB,GAAWsB,OAAOC,SAASG,KAAKlB,GAC5C,IAAK,IAAIrxB,EAAI,EAAGA,EAAI,EAAGA,IACrB,GAAI6wB,GAAWsB,OAAOC,SAASI,KAAKxyB,KAAOsyB,EAAIG,GAC7C,OAAOzyB,EAAI,EAIjB,OAAO,EAgBT,SAAS0yB,GAAuBC,EAAUC,GAaxC,GAZIjB,GAAO,oBAAmBiB,GAAS,KACnCjB,GAAO,sBAAqBiB,GAAS,KACrCjB,GAAO,iBAAgBiB,GAAS,KAChCjB,GAAO,qBAAoBiB,GAAS,KACpCjB,GAAO,kBAAiBiB,GAAS,KAErCA,GAAS,EAAoC,IAAhCxB,GAAY,kBACrBH,KAAK4B,QAAQ,wBAAuBD,GAAS,KAC7C3B,KAAK4B,QAAQ,mBAAkBD,GAAS,KACxC3B,KAAK4B,QAAQ,mBAAkBD,GAAS,MACxCD,EAASG,SAAWnB,GAAOgB,EAASG,QAAQvuB,QAAOquB,GAAS,KAChEA,GAASnB,GAAO,gBACZZ,GAAWsB,OAAOY,eAAgB,CACpC,MAAMC,EAASf,GAAU,YACV,IAAXe,EAAcJ,GAAS,IACP,IAAXI,EAAcJ,GAAS,IACZ,IAAXI,IAAcJ,GAAS,KAElC,OAAOA,EAkBT,SAASK,GACPC,EACAC,EACA3jB,EACA4jB,EACAC,EACAC,GAIAA,OAAyB,IAAVA,EAAwB,EAAIA,EAC3C,IAAIC,EAAO,GACK,IAAZF,IAAeA,EAAS7jB,GACvB6jB,IAAQA,EAASpC,KAAKuC,SAC3B,IAAK,IAAIxzB,EAAI,EAAGA,EAAIqzB,EAAQrzB,IAAK,CAC/B,IAAI4yB,EAAQO,EAAYlC,KAAKwC,eAAiBlrB,KAAK6D,IAAI,EAAGoD,EAAQ4jB,GAClER,EAAQU,EACJrC,KAAKyC,oBAAoBR,EAAON,GAChCF,GAAuBQ,EAAON,GAClCA,EAAQrqB,KAAKoL,KAAKif,GAClB,MAAMpB,EAAW8B,EAAQJ,EAAMS,oBAAsBpC,KACrDqB,EAAQrqB,KAAKkE,MAAMmmB,EAAQpB,GACvBhiB,EAAQ,IACV+jB,GAAQX,EACRpjB,KAGJ,OAAO+jB,EAmBT,SAASK,KACP,IAAIvuB,EAAS4rB,KAAKuC,QAUlB,GATqB,IAAjBvC,KAAK4C,QACPxL,EAAsBhjB,EAEtBA,EAASgjB,EAEI,IAAXhjB,EAAcA,EAASopB,GACP,KAAXppB,EAAeA,EAASqpB,GACb,MAAXrpB,IAAgBA,EAASspB,IAEb,IAAjBsC,KAAK4C,QACP,GAA6B,IAAzBpO,EAAUqO,WACZ,IAAK,MAAM9zB,KAAKwD,OAAO6C,KAAKhB,GAC1B+L,EAAE,eAAe6f,KAAKoB,QAAQryB,GAAGyyB,MAAMxqB,MAAM2F,MAC3C6X,EAAUoC,OAAOxiB,EAAOrF,GAAG4N,YAG/B,IAAK,MAAM5N,KAAKwD,OAAO6C,KAAK4qB,KAAKoB,SAC/BjhB,EAAE,eAAe6f,KAAKoB,QAAQryB,GAAGyyB,MAAMxqB,MAAM8rB,eAAe,cAG3D,IAAsB,IAAlB9C,KAAK4C,QACd,IAAK,MAAM7zB,KAAKwD,OAAO6C,KAAKooB,IAAgB,CAC1C,MAAMlJ,EAAI0L,KAAKoB,QAAQryB,GACvBoR,EAAE,eAAemU,EAAEkN,MAAMxqB,MAAM2F,MAAQ,GASvCwD,EAAE,eAAemU,EAAEkN,MAAMjV,UAAYiM,GACnCwJ,GAAa1N,EAAGA,EAAE4N,UAAW5N,EAAE8N,OAAQ9N,EAAE6N,KAAMnC,KAAKuC,QAAS,IAQnE,GAAqB,IAAjBvC,KAAK4C,SAAiBpO,EAAUuO,cAAe,CACjD,MAAMC,EAAMzwB,OAAO6C,KAAKhB,GAAQlB,KAAK+vB,IACnC,MAAM3O,EAAIlgB,EAAO6uB,GAGjB,OAFA3O,EAAEhhB,KAAO2vB,EACT3O,EAAEkN,GAAKxB,KAAKoB,QAAQ6B,GAAGzB,GAChBlN,KAGT0O,EAAIE,MAAK,SAAUtrB,EAAGP,GACpB,OAAOuf,EAAO3kB,QAAQ2F,EAAE+E,OAASia,EAAO3kB,QAAQoF,EAAEsF,OAC9C,EACAia,EAAO3kB,QAAQ2F,EAAE+E,OAASia,EAAO3kB,QAAQoF,EAAEsF,QAE3C/E,EAAEyI,GAAKhJ,EAAEgJ,IADR,EAGD,KAGN,IAAK,IAAIpH,EAAI,EAAGA,EAAI+pB,EAAIh0B,OAAQiK,IAC9B+mB,KAAKoB,QAAQ4B,EAAI/pB,GAAG3F,MAAM6M,EAAEnJ,MAAMmsB,QAAU,GAAGlqB,EAAI,KAAKA,EAAI,QAEzD,CACL,MAAM+pB,EAAMzwB,OAAO6C,KAAKooB,IAAetqB,KAAK+vB,IAC1C,MAAM3O,EAAIkJ,GAAcyF,GAGxB,OAFA3O,EAAEhhB,KAAO2vB,EACT3O,EAAEkN,GAAKxB,KAAKoB,QAAQ6B,GAAGzB,GAChBlN,KAET0O,EAAIE,MAAK,CAACtrB,EAAGP,IAAMO,EAAE4pB,GAAKnqB,EAAEmqB,KAC5B,IAAK,IAAIvoB,EAAI,EAAGA,EAAI+pB,EAAIh0B,OAAQiK,IAC9B+mB,KAAKoB,QAAQ4B,EAAI/pB,GAAG3F,MAAM6M,EAAEnJ,MAAMmsB,QAAU,GAAGlqB,EAAI,KAAKA,EAAI,KAgBlE,SAASmqB,KAEP,GAAI5O,EAAU6O,WAAa,EAAG,CAC5B,IAAIC,EAAO,EACPC,EAAQ,EACRC,EAAS,EACTC,EAAS,EACTC,EAAM,EACNC,EAAS,EACTC,EAAO,EAEX,IAAK,MAAM70B,KAAKwD,OAAO6C,KAAK4qB,KAAK6D,iBAAkB,CACjD,MAAMC,EAAK9D,KAAK6D,gBAAgB90B,GAChC,IAAIg1B,GAAa,EACjB,IAAK,IAAIC,EAAI,EAAGA,EAAI7jB,EAAE,UAAUpR,KAAKk1B,WAAWj1B,OAAQg1B,IACtD,IACsE,IAApE7jB,EAAE,UAAUpR,KAAKk1B,WAAWD,GAAGx0B,UAAUyC,QAAQikB,GACjD,CACA/V,EAAE,UAAUpR,KAAKk1B,WAAWD,GAAGx0B,UAC7B0mB,EAAe8H,GAAc8F,EAAGxwB,MAAMqJ,MACxConB,GAAa,EACb,MAGJ,IAAKA,EAAY,CACf,MAAMG,EAAM72B,SAAS4D,cAAc,OACnCizB,EAAIltB,MAAMkG,MAAQ,OAClBgnB,EAAIltB,MAAMmG,OAAS,OACnB+mB,EAAI10B,UAAY0mB,EAAe8H,GAAc8F,EAAGxwB,MAAMqJ,MACtDwD,EAAE,UAAUpR,KAAK4b,YAAYuZ,GAE3BlG,GAAc8F,EAAGxwB,MAAMqJ,QAAUwZ,EAAWmN,IACvCtF,GAAc8F,EAAGxwB,MAAMqJ,QAAUyZ,EAAYmN,IAC7CvF,GAAc8F,EAAGxwB,MAAMqJ,QAAU0Z,EAAamN,IAC9CxF,GAAc8F,EAAGxwB,MAAMqJ,QAAU2Z,EAAamN,IAC9CzF,GAAc8F,EAAGxwB,MAAMqJ,QAAU4Z,EAAUmN,IAC3C1F,GAAc8F,EAAGxwB,MAAMqJ,QAAU6Z,EAAamN,IAC9C3F,GAAc8F,EAAGxwB,MAAMqJ,QAAU8Z,GAAWmN,IAGvDzjB,EAAE,oBAAoB/N,YAAckxB,EACpCnjB,EAAE,qBAAqB/N,YAAcmxB,EACrCpjB,EAAE,sBAAsB/N,YAAcoxB,EACtCrjB,EAAE,sBAAsB/N,YAAcqxB,EACtCtjB,EAAE,mBAAmB/N,YAAcsxB,EACnCvjB,EAAE,sBAAsB/N,YAAcuxB,EACtCxjB,EAAE,oBAAoB/N,YAAcwxB,EAGtC,MAAMZ,EAAM,GAGZ,IAAK,IAAI/pB,EAAI,EAAGA,EAAI+mB,KAAK6D,gBAAgB70B,OAAQiK,IAAK,CACpD,MAAMqb,EAAI,GACVA,EAAEhhB,KAAO0sB,KAAK6D,gBAAgB5qB,GAAG3F,KACjCghB,EAAEqN,MAAQ3B,KAAK6D,gBAAgB5qB,GAAGipB,UAClC5N,EAAEjU,GAAK2d,GAAc1J,EAAEhhB,MAAM+M,GAC7B2iB,EAAInyB,KAAKyjB,GAGPE,EAAU2P,aACZnB,EAAIE,MAAK,SAAUtrB,EAAGP,GACpB,OAAOuf,EAAO3kB,QAAQ2F,EAAE+E,OAASia,EAAO3kB,QAAQoF,EAAEsF,OAC9C,EACAia,EAAO3kB,QAAQ2F,EAAE+E,OAASia,EAAO3kB,QAAQoF,EAAEsF,QAE3C/E,EAAEyI,GAAKhJ,EAAEgJ,IADR,EAGD,KAGN2iB,EAAIE,MAAK,CAACtrB,EAAGP,IAAMO,EAAE+pB,MAAQtqB,EAAEsqB,QAGjC,MAAMyC,EAAc,SAAUC,EAAMC,GAClC,OAAOD,EAAKE,WAAWr0B,GAAMA,EAAEoD,OAASgxB,EAAQhxB,QAElD,IAAK,IAAI2F,EAAI,EAAGA,EAAI+mB,KAAK6D,gBAAgB70B,OAAQiK,IAC/CkH,EAAE,UAAUlH,KAAKjC,MAAMwtB,MACrBJ,EAAYpB,EAAKhD,KAAK6D,gBAAgB5qB,IAAM,EAYlD,SAASwrB,KACP,OAAIjQ,EAAUkQ,QACLzJ,GAEmB,IAAxBzG,EAAUmQ,UACL3E,KAAK4E,WAAa,EAAI5E,KAAK6E,WAER,IAAxBrQ,EAAUmQ,UAEV3E,KAAK4E,WACJ9G,IAA4B,EAA6B,IAAzBC,KAIX,IAAxBvJ,EAAUmQ,WACwC,IAAlD3E,KAAK8E,UAAUjH,GAAsB,IAAIzuB,KAGvC4wB,KAAK4E,WACwB,EAA3B9G,GAAgCC,IAC/B,EAA6B,IAAzBA,KAITiC,KAAK4E,WACJ9G,GAA2BC,IACzB,EAA6B,IAAzBA,KAaX,SAASgH,KACP,OAA4B,IAAxBvQ,EAAUmQ,UACLhH,GAEmB,IAAxBnJ,EAAUmQ,UACL9G,GAAsB,GAExB,EAcT,SAASmH,GAAYxD,EAAIluB,EAAM2xB,GAC7B,MAAMC,EAAW73B,SAAS4D,cAAc,OACxCi0B,EAAS1D,GAAKA,EACd0D,EAASluB,MAAMmG,OAAS,OACxB+nB,EAASluB,MAAMmuB,OAAS,WACxBD,EAASluB,MAAMgI,SAAW,WAE1B,MAAMklB,EAAM72B,SAAS4D,cAAc,OACnCizB,EAAIltB,MAAMkG,MAAQ,OAClBgnB,EAAIltB,MAAMmG,OAAS,OACnB+mB,EAAIltB,MAAMmuB,OAAS,OACnBjB,EAAIltB,MAAMgI,SAAW,WACrBklB,EAAIltB,MAAMqC,KAAO,MACjB6qB,EAAIltB,MAAMsC,IAAM,MAChB4qB,EAAIltB,MAAMkI,MAAQ,MAClBglB,EAAIltB,MAAMkW,OAAS,MAEnB,MAAM9d,EAAO/B,SAAS4D,cAAc,QACpC7B,EAAK4H,MAAMqV,QAAU,eACrBjd,EAAK4H,MAAMuW,UAAY,QACvBne,EAAK4H,MAAMouB,SAAW,OACtBh2B,EAAK4H,MAAMkG,MAAQ,QACnB9N,EAAK4H,MAAMquB,YAAc,MACzBj2B,EAAK4H,MAAMsuB,cAAgB,WAC3Bl2B,EAAKgD,YAAckB,EACnB4wB,EAAIvZ,YAAYvb,GAEhB,IAAK,IAAIL,EAAI,EAAGA,EAAIk2B,EAAKj2B,OAAQD,IAAK,CACpC,MAAMw2B,EAAWl4B,SAAS4D,cAAc,QACxCs0B,EAAS/D,GAAKyD,EAAKl2B,GAAGyyB,GACtB+D,EAASvuB,MAAMqV,QAAU,eACzBkZ,EAASvuB,MAAMmG,OAAS,OACxBooB,EAASvuB,MAAMsuB,cAAgB,WAC/BC,EAASvuB,MAAMuW,UAAY,SACvB0X,EAAKj2B,OAAS,IAAMD,IACtBw2B,EAASvuB,MAAMwuB,qBAAuB,OACtCD,EAASvuB,MAAMyuB,wBAA0B,aAEd,IAAlBR,EAAKl2B,GAAG4N,QACjB4oB,EAAS/1B,UAAY0mB,EAAe+O,EAAKl2B,GAAG4N,OAE9CunB,EAAIvZ,YAAY4a,GAGlB,MAAMG,EAAQr4B,SAAS4D,cAAc,QAQrC,OAPAy0B,EAAMlE,GAAK,GAAGA,QACdkE,EAAM1uB,MAAM2uB,WAAa,MACzBD,EAAM1uB,MAAMsuB,cAAgB,WAC5BpB,EAAIvZ,YAAY+a,GAEhBR,EAASva,YAAYuZ,GAEdgB,EAOT,SAASU,GAA2BC,GAClC,GAAsB,OAAlB1lB,EAAE,YAAsB,CAC1B,MAAM/Q,EAAO+Q,EAAE,YAAYvO,WAAWA,WAAWqyB,WAAW,GACtD6B,EAAQ3lB,EAAE,YAAYvO,WAAWA,WAAWqyB,WAAW,GACvD5jB,EAAKF,EAAE,YAAYvO,WAAWA,WAAWqyB,WAAW,GACpDpK,EAAO1Z,EAAE,YAAYvO,WAAWA,WAAWqyB,WAAW,GAEtDl1B,EAAI82B,EACJE,EAAS32B,EAAKub,YAAYtd,SAAS4D,cAAc,OACvD80B,EAAOpb,YACLtd,SAASqgB,eACP,IAAuB,IAApB3e,EAAEkD,QAAQ,KAAclD,EAAEi3B,UAAU,EAAGj3B,EAAEkD,QAAQ,MAAQlD,QAInDg3B,EAAOpb,YAAYtd,SAAS4D,cAAc,SAClDzB,UAAYymB,aAEjB8P,EAAOpb,YAAYtd,SAASqgB,eAAe,MAC3CoY,EAAMnb,YAAYtd,SAAS4D,cAAc,OACzCoP,EAAGsK,YAAYtd,SAAS4D,cAAc,OACtC4oB,EAAKlP,YAAYtd,SAAS4D,cAAc,QAkE5C,SAASg1B,KACP,GAAyB,IAArBzR,EAAU0R,QAAgB1I,IAAkC,IAAjBwC,KAAK4C,QAAe,CACjE,IAAIuD,EAAQ,EACZ,IAAK,MAAMp3B,KAAKwD,OAAO6C,KAAKooB,IAAgB,CAC1C,IAAIppB,EAAS4rB,KAAKuC,QACG,IAAjBvC,KAAK4C,QACPzL,EAAmB/iB,EAEnBA,EAAS+iB,EAEI,IAAX/iB,IAAcA,EAASopB,IACZ,KAAXppB,IAAeA,EAASqpB,IACb,MAAXrpB,IAAgBA,EAASspB,IAC7ByI,IACAhmB,EAAE,YAAYvO,WAAWA,WAAWqyB,WAAW,GAAGA,WAChDkC,GACAlC,WAAW,GAAG7xB,YAAc4tB,KAAKoB,QAAQryB,GAAGqzB,OAC9CjiB,EAAE,YAAYvO,WAAWA,WAAWqyB,WAAW,GAAGA,WAChDkC,GACA/zB,YAAcomB,GAA4BpkB,EAAOrF,GAAG+2B,MAAO,GAC7D3lB,EAAE,YAAYvO,WAAWA,WAAWqyB,WAAW,GAAGA,WAChDkC,GACA32B,UAAYymB,EAAe7hB,EAAOrF,GAAG4N,MACvCwD,EAAE,YAAYvO,WAAWA,WAAWqyB,WAAW,GAAGA,WAChDkC,GACA/zB,YAAcomB,GAA4BpkB,EAAOrF,GAAGsR,GAAI,GAC1D,MAAM+lB,EAAYpM,IACfgG,KAAKoB,QAAQryB,GAAGs3B,WAAarG,KAAKsG,QAAUvB,OAC3CN,MAEJtkB,EAAE,YAAYvO,WAAWA,WAAWqyB,WAAW,GAAGA,WAChDkC,GACA32B,UAAYymB,EAAemQ,EAAUzpB,MAElB,UAAnBypB,EAAUnM,MACV+F,KAAKsG,QAAUtG,KAAKoB,QAAQryB,GAAGs3B,UAE/BlmB,EAAE,YAAYvO,WAAWA,WAAWqyB,WAAW,GAAGA,WAChDkC,GACA/zB,YAAc,GAAGg0B,EAAUnM,oBAE7B9Z,EAAE,YAAYvO,WAAWA,WAAWqyB,WAAW,GAAGA,WAChDkC,GACA/zB,YAAcg0B,EAAUnM,OAWlC,SAASsM,KACPvG,KAAKwG,WAAWzpB,OAAOG,MAAQ8iB,KAAKwG,WAAWzpB,OAAOmR,WAAWxU,YACjEsmB,KAAKwG,WAAWzpB,OAAOI,OACrB6iB,KAAKwG,WAAWzpB,OAAOmR,WAAWvU,aACpCqmB,KAAKyG,eAAe1pB,OAAOG,MACzB8iB,KAAKyG,eAAe1pB,OAAOmR,WAAWxU,YACxCsmB,KAAKyG,eAAe1pB,OAAOI,OACzB6iB,KAAKyG,eAAe1pB,OAAOmR,WAAWvU,aAY1C,SAAS+sB,KAEgB,IAArBlS,EAAU0R,QACa,IAAvB1R,EAAUmS,UACgB,IAA1BnS,EAAUoS,aAEVzmB,EAAE,YAAYnJ,MAAMkW,OAAS/M,EAAE,cAAcnJ,MAAMmG,OACnDgD,EAAE,QAAQnJ,MAAMkW,OAAS,GACvB+L,OAAO9Y,EAAE,cAAcnJ,MAAMmG,OAAOxH,QAAQ,KAAM,KAAO,QAE7B,IAArB6e,EAAU0R,QACnB/lB,EAAE,YAAYnJ,MAAMkW,OAAS,MAC7B/M,EAAE,QAAQnJ,MAAMkW,OAAS,QACO,IAAvBsH,EAAUmS,UAA4C,IAA1BnS,EAAUoS,YAC/CzmB,EAAE,QAAQnJ,MAAMkW,OAAS/M,EAAE,cAAcnJ,MAAMmG,OAG/CgD,EAAE,QAAQnJ,MAAMkW,OAAS,MAGA,IAAvBsH,EAAUmS,UAA4C,IAA1BnS,EAAUoS,YACxCzmB,EAAE,eAAenJ,MAAMsC,IAAM6G,EAAE,cAAcnJ,MAAMmG,OAEnDgD,EAAE,eAAenJ,MAAMsC,IAAM,GAG/BitB,KAMF,SAASM,KACoB,IAAvBrS,EAAUmS,SAAgBxmB,EAAE,cAAcnJ,MAAMqV,QAAU,GACzDlM,EAAE,cAAcnJ,MAAMqV,QAAU,OACrCqa,KAkPF,SAASI,KACP,IAAIC,EAAO,EACX,IAAK,MAAMh4B,KAAKwD,OAAO6C,KAAK4qB,KAAKgH,YACM,IAA1BhH,KAAKgH,MAAMj4B,GAAGk4B,UACvBF,GAAQ/G,KAAKgH,MAAMj4B,GAAGk4B,SAE1B,OAAOF,EAWT,SAASG,KACiC,OAApC/mB,EAAE,gCAC0B,IAA1BqU,EAAU2S,aACZhnB,EAAE,8BAA8BnJ,MAAMsC,IAAM,OAC5C6G,EAAE,8BAA8BnJ,MAAMmuB,OAAS,WAC/ChlB,EAAE,8BAA8BnJ,MAAMwK,QAAU,YAEhDrB,EAAE,8BAA8BnJ,MAAMkI,MAAQ,OAC9CiB,EAAE,8BAA8BnJ,MAAMmuB,OAAS,MAC/ChlB,EAAE,8BAA8BnJ,MAAMwK,QAAU,YAatD,SAAS4lB,GACPC,EACAC,EACAC,GAEA,IAAIpB,EAAQ,EACZ,KAAOkB,EAAeE,GACpBF,GACqE,KAAnE/vB,KAAK6D,IAAI,MAAQksB,EAAe/vB,KAAK6D,IAAImsB,EAAU,OAAS,IAC9DnB,IAEF,OAAOA,EAAQnG,KAAKwH,IAyDtB,SAASC,GAAoBxN,GAC3B,MAAMiK,EAAM72B,SAAS4D,cAAc,OAKnC,OAJAizB,EAAIltB,MAAM0wB,WAAa,OACvBxD,EAAI1C,GAAK,GAAGvH,SACZiK,EAAI10B,UAAYymB,aAChBiO,EAAI9xB,YAAc6nB,EACXiK,EAmHT,SAASyD,GAAgCC,GACvCA,EAAQjd,YAAY8c,GAAoB,iBACxC,MAAMI,EAASx6B,SAAS4D,cAAc,OACtC42B,EAAO7wB,MAAM8wB,aAAe,MAC5BD,EAAO7wB,MAAM2F,MAAQ,QACrBkrB,EAAOrG,GAAK,kBACZoG,EAAQjd,YAAYkd,GAEpBD,EAAQjd,YAAY8c,GAAoB,4BACxCG,EAAQG,UAAU/wB,MAAMqV,QAAU,OAClC,MAAM2b,EAAQ36B,SAAS4D,cAAc,OACrC+2B,EAAMhxB,MAAM8wB,aAAe,MAC3BE,EAAMhxB,MAAM2F,MAAQ,QACpBqrB,EAAMhxB,MAAMqV,QAAU,OACtB2b,EAAMxG,GAAK,0BACXoG,EAAQjd,YAAYqd,GAEpBJ,EAAQjd,YAAY8c,GAAoB,mBACxC,MAAMpnB,EAAKhT,SAAS4D,cAAc,OAClCoP,EAAGrJ,MAAM8wB,aAAe,MACxBznB,EAAGmhB,GAAK,cACRoG,EAAQjd,YAAYtK,GAEpBunB,EAAQjd,YAAY8c,GAAoB,cACxC,MAAM5N,EAAOxsB,SAAS4D,cAAc,OAIpC,GAHA4oB,EAAK2H,GAAK,gBACVoG,EAAQjd,YAAYkP,GAEA,MAAhB5B,EAAqB,CACvB2P,EAAQjd,YACN8c,GAAoB,0CAEtBG,EAAQG,UAAUvG,GAAK,4BACvB,MAAMyG,EAAa56B,SAAS4D,cAAc,OAC1Cg3B,EAAWzG,GAAK,sBAChBoG,EAAQjd,YAAYsd,IA+fxB,SAASC,KACPhM,GAAkB8D,KAAKmI,WACvBhM,GAAmB6D,KAAKoI,YAS1B,SAASC,GAAgBC,GACvB,MAAMxE,EAAK9D,KAAKuI,aAAaD,GACvBE,EAAM,GAEZ,OADAA,EAAIl1B,KAAOwwB,EAAGxwB,KACPk1B,EAUT,SAASC,GAAoB3E,GAC3B,IAAIiD,EAAO,EACX,IAAK,MAAMh4B,KAAK+0B,EAAG4E,gBAEd1I,KAAK2I,MAAM7E,EAAG4E,eAAe35B,GAAG+xB,MAAM8H,SACvClI,GAAOoD,EAAG4E,eAAe35B,GAAGuE,QAE5ByzB,GAAQ,GAEZ,IAAK,MAAMh4B,KAAK+0B,EAAG+E,UACjB,GAAInI,GAAOoD,EAAG+E,UAAU95B,GAAGuE,MAAO,CAChC,MAAMw1B,EAAMhF,EAAG+E,UAAU95B,GACrB+5B,EAAIC,aAAaz1B,OAASwwB,EAAGxwB,KAC/ByzB,GAAQ,EAAI,IAAO+B,EAAIE,aAAa5G,OAC7B0G,EAAIE,aAAa11B,OAASwwB,EAAGxwB,OACpCyzB,GAAQ,EAAI,KAAQ+B,EAAIC,aAAa3G,QAM3C,GAHI0B,EAAGjC,SAAWnB,GAAOoD,EAAGjC,QAAQvuB,QAAOyzB,GAAQ,MAC/CjD,EAAGmF,SAAWvI,GAAOoD,EAAGmF,QAAQ31B,QAClCyzB,GAAQ,EAAgC,IAA5BnH,GAAWsJ,QAAQ9G,QAAiB,GAAK0B,EAAGtC,GAAK,KACnB,iBAAjCsC,EAAG4E,eAAeS,YACR,IAAfrF,EAAGsF,SAAiB1I,GAAOoD,EAAG4E,eAAeS,WAAW71B,MAC1D,OAAQ0sB,KAAKqJ,YACX,QACEtC,GAAQ,EACR,MACF,KAAK,EACHA,GAAQ,KACR,MACF,KAAK,EACHA,GAAQ,KACR,MACF,KAAK,EACHA,GAAQ,KAKhB,OAAOA,EAiBT,SAASuC,GAAoBzD,GAC3B,MAAM/B,EAAK9D,KAAKoB,QAAQyE,GAClB2C,EAAM,GA2FZ,MA1FgB,WAAZ1E,EAAGxwB,KACLk1B,EAAIe,IAAM,SAAU5I,GAClB,IAAIzqB,EAAM,EACNwqB,GAAO,sBAAqBxqB,GAAO,IACnCwqB,GAAO,qBAAoBxqB,GAAO,GAClCwqB,GAAO,qBAAoBxqB,GAAO,IAClCwqB,GAAO,sBAAqBxqB,GAAO,IACnCwqB,GAAO,yBAAwBxqB,GAAO,IACtCwqB,GAAO,yBAAwBxqB,GAAO,IACtCwqB,GAAO,wBAAuBxqB,GAAO,IACrCwqB,GAAO,wBAAuBxqB,GAAO,IACrCwqB,GAAO,uBAAsBxqB,GAAO,IACpCwqB,GAAO,uBAAsBxqB,GAAO,IACxC,IAAI6wB,EAAO,EACPtO,EAAM,EACV,IAAK,MAAM1pB,KAAK6wB,GACa,WAAvBA,GAAW7wB,GAAGuE,OAAmBmlB,GAAOmH,GAAW7wB,GAAGqzB,QAM5D,OAJAlsB,GAAOuiB,EACPsO,GAAQ0B,GAAoB9H,GAC5BoG,GAAQ/G,KAAKwJ,SAAS,UACtBzC,GAAQvG,GAAO,aAEbR,KAAKyJ,WACH,GACA/I,GAAO,2BACLA,GAAO,kCACPA,GAAO,gBACTxqB,GACE6wB,GAGa,YAAZjD,EAAGxwB,KACZk1B,EAAIe,IAAM,SAAU5I,GAClB,IAAIoG,EAAO,EACX,IAAK,MAAMh4B,KAAKixB,KAAK0J,iBACfhJ,GAAOV,KAAK0J,iBAAiB36B,MAAKg4B,GAAQ,GAUhD,GARIrG,GAAO,oCAAmCqG,GAAQ,GAClDrG,GAAO,yBAAwBqG,GAAQ,GACvCrG,GAAO,kBAAiBqG,GAAQ,GAEhCrG,GAAO,wBAAuBqG,GAAQ,MAE1CA,GAAQvG,GAAO,cAEXE,GAAO,cACT,IAAK,IAAI3xB,EAAI,EAAGA,EAAIixB,KAAK2J,eAAeC,OAAO56B,OAAQD,IACjD2xB,GAAOV,KAAK2J,eAAeC,OAAO76B,GAAGuE,QAAOyzB,GAAQ,MAI5DA,GAAQ0B,GAAoB9H,GAE5B,IAAIzqB,EAAM,EACNwqB,GAAO,cAAaxqB,GAAmC,IAA5B0pB,GAAWsJ,QAAQ9G,QAC9C1B,GAAO,yBACTxqB,GAAmC,IAA5B0pB,GAAWsJ,QAAQ9G,QACxB1B,GAAO,gBAAexqB,GAAkC,IAA3B0pB,GAAWiK,OAAOzH,QAEnD,IAAI3J,EAAM,EACV,IAAK,MAAM1pB,KAAK6wB,GACa,YAAvBA,GAAW7wB,GAAGuE,OAAoBmlB,GAAOmH,GAAW7wB,GAAGqzB,QAO7D,OAJA2E,GAAQ,EAAqC,IAAjC5G,GAAY,mBAA4B1H,EAEpDsO,GAAQ/G,KAAKwJ,SAAS1F,EAAGxwB,OAEjBwwB,EAAGgG,QAAU5zB,GAAO6wB,GAG9ByB,EAAIe,IAAM,SAAU5I,GAClB,IAAIoG,EAAO,EAGX,OAFAA,GAAQ0B,GAAoB9H,GAC5BoG,GAAQ/G,KAAKwJ,SAAS7I,EAAGrtB,MAClBqtB,EAAGoJ,QAAUhD,GAKxByB,EAAIsB,QAAUhG,EAAGgG,QACjBtB,EAAIl1B,KAAOwwB,EAAGxwB,KACdk1B,EAAIE,eAAiB5E,EAAG4E,eACxBF,EAAIK,UAAY/E,EAAG+E,UACnBL,EAAI3G,QAAUiC,EAAGjC,QACjB2G,EAAIS,QAAUnF,EAAGmF,QACjBT,EAAIuB,QAAUjG,EAAGgG,QACjBtB,EAAIhH,GAAKsC,EAAGtC,GACZgH,EAAIY,QAAUtF,EAAGsF,QACVZ,EAaT,SAASwB,GAAYC,GACnB,MAAMnG,EAAK9D,KAAKkK,SAASD,GACnBzB,EAAM,GA4BZ,OA1BAA,EAAI2B,MAAQrG,EAAGqG,MACU,mBAAd3B,EAAI2B,QACG,0BAAZrG,EAAGxwB,KACLk1B,EAAI2B,MAAQ,WACV,IAAIn4B,EAAI,EACR,IAAK,MAAMjD,KAAK6wB,GACVA,GAAW7wB,GAAGq7B,OAAS,KAAIp4B,GAAK,GAEtC,OAAOA,GAGTw2B,EAAI2B,MAAQ,WACV,IAAIE,EAAM,EAEV,GADI3J,GAAO,cAAa2J,EAAM,GAC1BrK,KAAKiB,OAAQ,CACf,MAAMc,EAASf,GAAU,WACV,IAAXe,EAAcsI,GAAO,IACL,IAAXtI,EAAcsI,GAAO,IACV,IAAXtI,IAAcsI,GAAO,KAEhC,OAAOA,IAIb7B,EAAI3H,KAAOiD,EAAGjD,KACd2H,EAAIl1B,KAAOwwB,EAAGxwB,KACPk1B,EAiBT,SAAS8B,KAEP/O,GAAmByE,KAAKuK,cACxB/O,GAAawE,KAAKwK,QAClB/O,GAAuBuE,KAAKyK,kBAC5B/O,GAAmBsE,KAAK0K,cACxB/O,GAAcqE,KAAK2K,SAGnB,IAAK,MAAM57B,KAAKwD,OAAO6C,KAAK4qB,KAAKoB,SAAU,CACzC,MAAM0C,EAAK9D,KAAKoB,QAAQryB,GACxB,IAAIy5B,EAAM5I,GAAW7wB,QACTI,IAARq5B,IAEF5I,GAAW7wB,GAAKu6B,GAAoBv6B,GACpCy5B,EAAM5I,GAAW7wB,GACjB62B,GAA2B72B,IAE7By5B,EAAIpG,OAAS0B,EAAG1B,OAChBoG,EAAI4B,MAAQtG,EAAGsG,MACf5B,EAAIoC,aAAe9G,EAAG8G,aACtBpC,EAAItG,UAAY4B,EAAG5B,UACnBsG,EAAIrG,KAAO2B,EAAG3B,KACV2B,EAAGhC,iBACL0G,EAAI1G,eAAiBgC,EAAGhC,eACxB0G,EAAIrH,SAAW2C,EAAG3C,UAEpBvB,GAAW7wB,GAAKy5B,EAIlB,IAAK,MAAMz5B,KAAKwD,OAAO6C,KAAK4qB,KAAKkK,UAAW,CAC1C,MAAMpG,EAAK9D,KAAKkK,SAASn7B,GACzB,IAAIy5B,EAAM3I,GAAY9wB,QACVI,IAARq5B,IACF3I,GAAY9wB,GAAKi7B,GAAYj7B,GAC7By5B,EAAM3I,GAAY9wB,IAEpBy5B,EAAIzH,OAAS+C,EAAG/C,OAChBlB,GAAY9wB,GAAKy5B,EAInB,IAAK,MAAMz5B,KAAKwD,OAAO6C,KAAK4qB,KAAKuI,cAAe,CAC9C,MAAMzE,EAAK9D,KAAKuI,aAAax5B,GAC7B,IAAIy5B,EAAM1I,GAAgB/wB,QACdI,IAARq5B,IACF1I,GAAgB/wB,GAAKs5B,GAAgBt5B,GACrCy5B,EAAM1I,GAAgB/wB,IAExBy5B,EAAIqC,IAAM/G,EAAG+G,IACb/K,GAAgB/wB,GAAKy5B,EAIvBN,KACAtM,GAAgBM,GAChBL,GAAiBM,GAenB,SAAS2O,GACP7I,EACAC,EACA3jB,EACA4jB,EACA4I,GAEA,IAAIzI,EAAO,EACX,IAAK,IAAIvzB,EAAI,EAAGA,EAAIg8B,EAAUh8B,IAAK,CACjC,IAAI4yB,EAAQO,EAAYlC,KAAKwC,eAAiBlrB,KAAK6D,IAAI,EAAGoD,EAAQ4jB,GAClER,EAAQ3B,KAAKyC,oBAAoBR,EAAON,GACxCA,EAAQrqB,KAAKoL,KAAKif,GAClBW,GAAQX,EACRpjB,IAEF,OAAO+jB,EAsBT,SAAS0I,GAAoBC,EAAahR,EAAMiR,GAC9C,MAAMC,EAAU99B,SAAS4D,cAAc,OACvCk6B,EAAQ3J,GAAKyJ,EACb,MAAMG,EAAO/9B,SAAS4D,cAAc,OACpCm6B,EAAKp0B,MAAMk0B,SAAWA,EACtBE,EAAKp0B,MAAM8wB,aAAe,MAC1B,MAAM5D,EAAM72B,SAAS4D,cAAc,OACnCizB,EAAIltB,MAAMuW,UAAY,OACtB2W,EAAI9xB,YAAc6nB,EAClBmR,EAAKzgB,YAAYuZ,GACjBiH,EAAQxgB,YAAYygB,GAMtB,SAASC,KAEP,GADAf,KACyC,SAArCnqB,EAAE,iBAAiBnJ,MAAMqV,SAAsBlM,EAAE,iBAAkB,CACrEA,EAAE,iBAAiBoM,UAAY,GAC/B,MAAM+e,EAthCV,WACEnrB,EAAE,WAAWvO,WAAWoF,MAAMu0B,cAAgB,MAC9C,MAAMD,EAAaj+B,SAAS4D,cAAc,OAM1C,OALAq6B,EAAWt0B,MAAM0U,OAAS,YAC1B4f,EAAWt0B,MAAMwK,QAAU,MAC3B8pB,EAAWt0B,MAAMmuB,OAAS,WAC1BmG,EAAW9J,GAAK,kBAChB8J,EAAW97B,UAAYymB,aAChBqV,EA8gCcE,GACnBrrB,EAAE,iBAAiBwK,YAAY2gB,GAEX,MAAhBrT,EAt1BR,WACE,GAAsC,IAAlCzD,EAAUiX,qBAA8C,IAAjBzL,KAAK4C,QAAe,CAI7D,IAAIxuB,EAaJ,GAfAuzB,GADmBxnB,EAAE,oBAIA,IAAjB6f,KAAK4C,QACPvL,EAA4BjjB,EAE5BA,EAASijB,EAEU,IAAjB2I,KAAKuC,QAAenuB,EAASopB,GACP,KAAjBwC,KAAKuC,QAAgBnuB,EAASqpB,GACb,MAAjBuC,KAAKuC,UAAiBnuB,EAASspB,IAExC3F,EAAeiI,KAAKoB,QAAQlJ,IAAamO,UACzCrO,EAAqB5jB,EAAO8jB,IAAa4N,MAEH,IAAlCtR,EAAUiX,qBAA8C,IAAjBzL,KAAK4C,QAAe,CAC7DziB,EAAE,mBAAmB/N,YAAcomB,GAA4BR,EAAoB,GACnF,MAAM+S,EAAWzzB,KAAKC,MACnBygB,EAAqBgI,KAAK4E,UAAa,KAEtC3L,OAAOC,SAAS6R,IAA0B,IAAbA,EAC/B5qB,EAAE,mBAAmB/N,aAAe,KAAK24B,EAAW,kBAEpD5qB,EAAE,mBAAmB/N,aAAe,OAClCoiB,EAAU6E,eAAiB,IAAM,oBAGrClZ,EAAE,mBAAmB3Q,UAAYymB,EAAe7hB,EAAO8jB,IAAavb,MACpEwD,EAAE,eAAe/N,YAAcomB,GAA4BpkB,EAAO8jB,IAAa7X,GAAI,GACnFF,EAAE,eAAe3Q,UAAYymB,EAAe7hB,EAAO8jB,IAAavb,MAChE,MAAMypB,EAAYpM,IACfjC,GAAgBiI,KAAKsG,QAAUvB,OAAyBN,MAE3DtkB,EAAE,iBAAiB/N,YAAcg0B,EAAUnM,KAEtB,UAAnBmM,EAAUnM,MACV+F,KAAKsG,QAAUlyB,EAAO8jB,IAAayJ,MAEnCxhB,EAAE,iBAAiB/N,YAAc,GAAGg0B,EAAUnM,oBACzC9Z,EAAE,iBAAiB/N,YAAcg0B,EAAUnM,KAClD9Z,EAAE,iBAAiB3Q,UAAYymB,EAAemQ,EAAUzpB,MAI1DwD,EAAE,6BAA6BnJ,MAAMqV,QAAU,OAC/ClM,EAAE,iBAAiBnJ,MAAM8wB,aAAe,MACxC,IAAK,MAAM/4B,KAAKwD,OAAO6C,KAAK4qB,KAAKoB,QAAQlJ,IAAawT,mBACpD,IACG1L,KAAK2L,UACJ3L,KAAKoB,QAAQlJ,IAAawT,kBAAkB38B,GAAG68B,OAAOt4B,MAExD,CACA,MAAMu4B,EACJ7L,KAAKoB,QAAQlJ,IAAawT,kBAAkB38B,GAC9CoR,EAAE,iBAAiBnJ,MAAM8wB,aAAe,MACxC3nB,EAAE,6BAA6BnJ,MAAMqV,QAAU,GAC/ClM,EAAE,uBAAuB3Q,UAAY,kBAAkB0oB,KACvD/X,EAAE,uBAAuB/N,YAAcomB,GACrCqT,EAAqBxB,IAAMzK,GAAW1H,IAAa0S,aACnD,IAEFzqB,EAAE,uBAAuBnJ,MAAM2F,MAAQ,QACvC,YAGCwD,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAmxBtCyf,GACyB,MAAhB7T,EA9wBf,WAYE,GAVA0P,GADmBxnB,EAAE,oBAGrB6X,EACEgG,GAAcgC,KAAK6D,gBAAgB3L,IAAa5kB,MAAMwyB,MACxD/N,EAAeiI,KAAKkK,SAClBlK,KAAK6D,gBAAgB3L,IAAa5kB,MAClCy4B,WACF5T,GACE6F,GAAcgC,KAAK6D,gBAAgB3L,IAAa5kB,MAAM04B,WAElB,IAAlCxX,EAAUiX,oBAA2B,CACvCtrB,EAAE,mBAAmB/N,YAAcomB,GAA4BR,EAAoB,GACnF,MAAM+S,EAAWzzB,KAAKC,MAAOygB,EAAqBgI,KAAK4E,UAAa,KAG7B,MAArCzkB,EAAE,mBAAmB/N,aACJ,MAAhB6lB,GAAuC,MAAhBA,GAOpBgB,OAAOC,SAAS6R,IAA0B,IAAbA,EAC/B5qB,EAAE,mBAAmB/N,aAAe,KAAK24B,EAAW,kBAEpD5qB,EAAE,mBAAmB/N,aAAe,OAClCoiB,EAAU6E,eAAiB,IAAM,oBAGrClZ,EAAE,mBAAmB3Q,UACnBymB,EACA+H,GAAcgC,KAAK6D,gBAAgB3L,IAAa5kB,MAAMqJ,MAEpDwb,KACFhY,EAAE,2BAA2B/N,YAAcomB,GAA4BL,IACvEhY,EAAE,2BAA2BnJ,MAAMqV,QAAU,QAC7ClM,EAAE,2BAA2B8rB,gBAAgBj1B,MAAMqV,QAAU,SAGpC,IAAvB2L,GAA4BG,IAC9BhY,EAAE,eAAe/N,YAAc,GAAGomB,GAChCT,EAAeI,aAEjBhY,EAAE,eAAenJ,MAAM2F,MAAQ,UAE/BwD,EAAE,eAAe/N,YAAcomB,GAC7BwF,GAAcgC,KAAK6D,gBAAgB3L,IAAa5kB,MAAM+M,GACtD,GAEFF,EAAE,eAAe3Q,UACfymB,EACA+H,GAAcgC,KAAK6D,gBAAgB3L,IAAa5kB,MAAMqJ,SAlC1DwD,EAAE,qBAAqBnJ,MAAMqV,QAAU,OACvClM,EAAE,mBAAmBnJ,MAAMqV,QAAU,OACrClM,EAAE,uBAAuBnJ,MAAMqV,QAAU,OACzClM,EAAE,eAAenJ,MAAMqV,QAAU,QAkCnC,MAAM+Z,EAAYpM,IACfjC,GAAgBiI,KAAKsG,QAAUvB,OAAyBN,MAY3D,GAVAtkB,EAAE,iBAAiB/N,YAAcg0B,EAAUnM,KAEtB,UAAnBmM,EAAUnM,MACV+F,KAAKsG,QAAUtG,KAAK6D,gBAAgB3L,IAAa6T,WAEjD5rB,EAAE,iBAAiB/N,YAAc,GAAGg0B,EAAUnM,oBACzC9Z,EAAE,iBAAiB/N,YAAcg0B,EAAUnM,KAClD9Z,EAAE,iBAAiB3Q,UAAYymB,EAAemQ,EAAUzpB,MAGT,kBAA3CqjB,KAAK6D,gBAAgB3L,IAAa5kB,KAA0B,CAC9D6M,EAAE,mBAAmB4nB,UAAU/wB,MAAM8wB,aAAe,MACpD3nB,EAAE,mBAAmBwK,YACnB8c,GAAoB,yCAEtB,MAAMyE,EAAY7+B,SAAS4D,cAAc,OACzCi7B,EAAUl1B,MAAM2F,MAAQ,QACxBuvB,EAAU95B,YAAc,GAAGomB,GAA2C,IAAfwH,KAAKsG,cAAqB9N,GAC/E+E,MAEFpd,EAAE,mBAAmBwK,YAAYuhB,SAE9B/rB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OA6rBtC8f,GACyB,MAAhBlU,EAvrBf,WACE,GAA8B,IAA1BzD,EAAU4X,YAAmB,CAC/B,MAAMd,EAAanrB,EAAE,mBAErBmrB,EAAW3gB,YAAY8c,GAAoB,uBAE3C,MAAM4E,EAAWh/B,SAAS4D,cAAc,OACxCo7B,EAAS7K,GAAK,gBACd8J,EAAW3gB,YAAY0hB,GACvB,MAAMC,EA3YK,KADOl9B,EA4Ya4wB,KAAKuM,iBA1Y7B,CAAEtS,KAAM,SAAUtd,MAAO8Z,GAErB,IAATrnB,EACK,CAAE6qB,KAAM,aAActd,MAAOyZ,GAEzB,IAAThnB,EACK,CAAE6qB,KAAM,SAAUtd,MAAO0Z,GAErB,IAATjnB,EACK,CAAE6qB,KAAM,QAAStd,MAAO2Z,GAEpB,IAATlnB,EACK,CAAE6qB,KAAM,cAAetd,MAAO6Z,GAEhC,CAAEyD,KAAM,qBAAsBtd,MAAO4Z,GA6X1C8V,EAASj6B,YAAck6B,EAAUrS,KACjCoS,EAAS78B,UAAYymB,EAAeqW,EAAU3vB,WACzCwD,EAAE,iBAAiBnJ,MAAMqV,QAAU,OA/Y5C,IAAsBjd,EA2jChBo9B,GACyB,MAAhBvU,EAtqBf,WACE,MAAMkJ,EAAWnB,KAAKoB,QAAQ,gBAAgBD,SACxCsL,EAAYtL,EAASuL,aAAavL,EAASwL,WAAWzU,KAE5D,GAA8B,IAA1B1D,EAAUoY,aAAqBH,GAAatL,EAAS0L,OAAQ,CAC/D,MAAMvB,EAAanrB,EAAE,mBAGrBmrB,EAAW3gB,YAAY8c,GAAoB,cAC3C,MAAM5N,EAAOxsB,SAAS4D,cAAc,OACpC4oB,EAAK2H,GAAK,gBACV8J,EAAW3gB,YAAYkP,GACvB,MAAMuM,EAAYpM,GAChBoN,GAA4BjG,EAAS2L,MAAO3L,EAAS0L,OAAQJ,IAM/D,GAJA5S,EAAKznB,YAAcg0B,EAAUnM,KAC7BJ,EAAKrqB,UAAYymB,EAAemQ,EAAUzpB,MAGtC8vB,GAAatL,EAAS2L,MAAO,CAC/BxB,EAAW3gB,YAAY8c,GAAoB,iBAC3C,MAAMsF,EAAU1/B,SAAS4D,cAAc,OACvC87B,EAAQvL,GAAK,mBACb8J,EAAW3gB,YAAYoiB,GACvB,MAAMC,EAAehT,GACnBoN,GACE9vB,KAAK6D,IAAI,EAAGgmB,EAAS2L,MAAQL,GAC7BtL,EAAS0L,OACT1L,EAAS2L,QAGbC,EAAQ36B,YAAc46B,EAAa/S,KACnC8S,EAAQv9B,UAAYymB,EAAe+W,EAAarwB,MAIlD,GAAoB,MAAhBub,GAAqB,CACvBoT,EAAW3gB,YACT8c,GAAoB,8BAEtB,MAAMwF,EAAU5/B,SAAS4D,cAAc,OACvCg8B,EAAQzL,GAAK,IACb8J,EAAW3gB,YAAYsiB,GACvB,MAAMC,EAAS7/B,SAAS4D,cAAc,QACtCi8B,EAAOl2B,MAAM2F,MAAQ,UACrBuwB,EAAO96B,YAAcomB,GACnBlhB,KAAK2D,IACqC,KAAvC+kB,KAAKsG,QAAUvB,MACa,GAA7B/H,GAAkC,IAEpC,GAEFiQ,EAAQtiB,YAAYuiB,GACpB,MAAMC,EAAY9/B,SAAS4D,cAAc,QACzCk8B,EAAU/6B,YAAc,MACxB66B,EAAQtiB,YAAYwiB,GACpB,MAAMC,EAAO//B,SAAS4D,cAAc,QACpCm8B,EAAKp2B,MAAM2F,MAAQ,MACnBywB,EAAKh7B,YAAcomB,GAAyD,GAA7BwE,GAAkC,GAAI,GACrFiQ,EAAQtiB,YAAYyiB,GAGtBjtB,EAAE,iBAAiBwK,YAAY2gB,QAC1BnrB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAwmBtCghB,GACyB,MAAhBpV,EAlmBf,WACE,MAAMkJ,EAAWnB,KAAKoB,QAAQkM,KAAKnM,SACnC,GACE3M,EAAU+Y,cAC2C,IAArDpM,EAASqM,KAAKtV,GAAY,IAAIA,GAAY,IAAI,GAC9C,CACA,MAAMuV,EACJtM,EAASqM,KAAKtV,GAAY,IAAIA,GAAY,IAAI,GAC9CiJ,EAASuM,WAAWvM,EAASqM,KAAKtV,GAAY,IAAIA,GAAY,IAAI,GAAK,GACpEyV,WACCC,EACJzM,EAASuM,WAAWvM,EAASqM,KAAKtV,GAAY,IAAIA,GAAY,IAAI,GAAK,GACpE5kB,KACL6M,EAAE,mBAAmBwK,YACnB8c,GAAoB,+BAEtB,MAAMyF,EAAS7/B,SAAS4D,cAAc,OACtCi8B,EAAO1L,GAAK,uBACZrhB,EAAE,mBAAmBwK,YAAYuiB,GACf,cAAdU,EACFztB,EAAE,wBAAwB/N,YAAc,GACtCq7B,EACIjV,GAA4BlhB,KAAK2D,IAAmB,IAAf+kB,KAAKsG,QAAiC,GAAjBtG,KAAK4E,UAAiB,KAChF,SACApM,GAA6C,GAAjBwH,KAAK4E,UAAiB,MACjC,cAAdgJ,GAA2C,oBAAdA,EACtCztB,EAAE,wBAAwB/N,YAAc,GACtCq7B,EACIjV,GAA4BlhB,KAAK2D,IAAmB,IAAf+kB,KAAKsG,QAAiC,GAAjBtG,KAAK4E,UAAiB,IAChF,SACApM,GAA6C,GAAjBwH,KAAK4E,UAAiB,KACjC,cAAdgJ,EACTztB,EAAE,wBAAwB/N,YAAc,GACtCq7B,EACIjV,GAA4BlhB,KAAK2D,IAAmB,IAAf+kB,KAAKsG,QAAiC,GAAjBtG,KAAK4E,UAAiB,KAChF,SACApM,GAA6C,GAAjBwH,KAAK4E,UAAiB,MACjC,cAAdgJ,EACTztB,EAAE,wBAAwB/N,YAAc,GACtCq7B,EACIjV,GAA4BlhB,KAAK2D,IAAmB,IAAf+kB,KAAKsG,QAAiC,GAAjBtG,KAAK4E,UAAiB,MAChF,SACApM,GAA6C,GAAjBwH,KAAK4E,UAAiB,OACnDzkB,EAAE,iBAAiBnJ,MAAMqV,QAAU,YACrClM,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAujBtCwhB,GACyB,OAAhB5V,GAhjBf,WACE,MAAMkJ,EAAWnB,KAAKoB,QAAQkM,KAAKnM,SACnC,GAAI3M,EAAU4X,YAAa,CACzBjsB,EAAE,mBAAmBwK,YACnB8c,GAAoB,oCAEtB,IAAIqG,EAAY,EACZC,EAAS,EACT/N,KAAK5qB,KAAK,KAAO4qB,KAAK5qB,KAAK,MAAK24B,EAAS,GAC7C,IAAK,IAAI70B,EAAI,EAAGA,EAAI,EAAGA,IACrB,IAAK,IAAID,EAAI,EAAGA,EAAI,EAAGA,IACrB,GAAIkoB,EAASqM,KAAKt0B,GAAGD,GAAG,IAAM,EAAG,CAC/B,MAAM+0B,EAAO7M,EAASqM,KAAKt0B,GAAGD,GACxB6qB,EAAK3C,EAASuM,WAAWM,EAAK,GAAK,GACnCJ,EAAY9J,EAAGxwB,KAErB,IAAI6yB,GAAQ,EACR4H,GAAUjK,EAAGmK,WAAU9H,GAAQ,GAC/B6H,EAAK,GAAKlK,EAAG6J,aAAYxH,GAAQ,GACjCA,GAAuB,cAAdyH,EACXE,GAAax2B,KAAK2D,IACD,IAAf+kB,KAAKsG,QACY,GAAjBtG,KAAK4E,UAAiB,IAGvBuB,GAAuB,cAAdyH,GACI,oBAAdA,EAEAE,GAAax2B,KAAK2D,IAAmB,IAAf+kB,KAAKsG,QAAiC,GAAjBtG,KAAK4E,UAAiB,GACxDuB,GAAuB,cAAdyH,EAClBE,GAAax2B,KAAK2D,IACD,IAAf+kB,KAAKsG,QACY,GAAjBtG,KAAK4E,UAAiB,IAEfuB,GAAuB,cAAdyH,IAClBE,GAAax2B,KAAK2D,IACD,IAAf+kB,KAAKsG,QACY,GAAjBtG,KAAK4E,UAAiB,MAMhCzkB,EAAE,mBAAmBwK,YACnBtd,SAASqgB,eAAe8K,GAA4BsV,UAEjD3tB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAmgBtC6hB,GA5fN,WACE,GAAoB,MAAhBjW,GAAuC,MAAhBA,EAAqB,CACgB,OAA1D5qB,SAAS8gC,eAAe,gCAC1BhuB,EAAE,iBAAiBwK,YA7gBzB,WACE,MAAMyjB,EAAc/gC,SAAS4D,cAAc,OAC3Cm9B,EAAYp3B,MAAMgI,SAAW,WAC7BovB,EAAYp3B,MAAMqV,QAAU,QAC5B+hB,EAAYp3B,MAAMqC,KAAO,OACzB+0B,EAAYp3B,MAAMkW,OAAS,OAC3BkhB,EAAY5M,GAAK,6BAEjB,MAAM6M,EAAS,SACbC,EACA3xB,EACA4xB,EACAC,EACAC,GAEA,MAAM3lB,EAAMzb,SAAS4D,cAAc,OACnC6X,EAAI0Y,GAAK8M,EACTxlB,EAAI9R,MAAMqV,QAAU,OACpBvD,EAAI9R,MAAM03B,WAAa,wBACvB5lB,EAAItZ,UAt7Ce,WAs7CcmN,EACjCmM,EAAI9R,MAAMwK,QAAU,MACpBsH,EAAI9R,MAAMqB,WAAa,8BACvB,MAAMs2B,EAAWthC,SAAS4D,cAAc,OACxC6X,EAAI6B,YAAYgkB,GAChB,MAAMC,EAAYvhC,SAAS4D,cAAc,QACzC29B,EAAUp/B,UAAYymB,EAAetZ,EACrCiyB,EAAU53B,MAAM0wB,WAAa,OAC7BkH,EAAUx8B,YAAcm8B,EACxBI,EAAShkB,YAAYikB,GACrBD,EAAShkB,YAAYtd,SAASqgB,eAAe8gB,IAC7C,MAAMK,EAAaxhC,SAAS4D,cAAc,OAC1C6X,EAAI6B,YAAYkkB,GAChB,MAAMC,EAAczhC,SAAS4D,cAAc,QAI3C,OAHA69B,EAAYtN,GAAKiN,EACjBI,EAAWlkB,YAAYtd,SAASqgB,eAAe,cAC/CmhB,EAAWlkB,YAAYmkB,GAChBhmB,GA+DT,OA5DAslB,EAAYzjB,YACV0jB,EACE,yBACA9X,EACA,YACA,uFACA,+BAGJ6X,EAAYx8B,WAAWoF,MAAM8wB,aAAe,MAC5CsG,EAAYzjB,YACV0jB,EACE,+BACAhY,EACA,YACA,gGACA,qCAGJ+X,EAAYrG,UAAU/wB,MAAM8wB,aAAe,MAC3CsG,EAAYzjB,YACV0jB,EACE,2BACA7X,EACA,YACA,oGACA,iCAGJ4X,EAAYrG,UAAU/wB,MAAM8wB,aAAe,MAC3CsG,EAAYzjB,YACV0jB,EACE,iCACA7X,EACA,YACA,6GACA,uCAGJ4X,EAAYrG,UAAU/wB,MAAM8wB,aAAe,MAC3CsG,EAAYzjB,YACV0jB,EACE,2BACA7X,EACA,YACA,qJACA,iCAGJ4X,EAAYrG,UAAU/wB,MAAM8wB,aAAe,MAC3CsG,EAAYzjB,YACV0jB,EACE,wBACA9X,EACA,YACA,2EAA2E/B,EAAUua,8BACrF,8BAIGX,EA0a4BY,IAC/B9H,MAG4B,IAA1B1S,EAAU2S,YACZhnB,EAAE,8BAA8BnJ,MAAMkI,MAAQ,MAE9CiB,EAAE,8BAA8BnJ,MAAMsC,IAAM,GAC1C6G,EAAE,WAAWxG,iBAGjBwG,EAAE,8BAA8BnJ,MAAMkG,MACpCiD,EAAE,WAAWzG,YAAc,EADiB,KAI9C,MAAM0oB,EAASpC,KAAKsG,QAAUvB,KAAuBhN,EAC/CkX,EAAkBza,EAAU0a,YAAclX,EAAqB,EACrE,IAAImX,EAAa7S,GACjB,GAA8B,IAA1B9H,EAAU0a,YAAmB,CAC/B,IAAIE,EAAcpX,EAClBoX,GAAetI,KACfqI,GAA6B,GAAdC,EAAmB,GAAM,IAc1C,GAXgC,IAA5B5a,EAAU6a,eACRjN,EAAS+M,IAA+B,MAAhBlX,GAAwC,IAAjB+H,KAAK4C,UACtDziB,EAAE,0BAA0BnJ,MAAMqV,QAAU,GAC5ClM,EAAE,8BAA8B/N,YAAc,GAAGomB,GAC/C2W,EAAa/M,OACTxI,IACHuV,EAAa/M,IAAWqC,KAAWwK,QAGnC9uB,EAAE,0BAA0BnJ,MAAMqV,QAAU,OAEb,IAAlCmI,EAAU8a,oBAA2B,CACvC,MAAMC,EAAgC,EAAbJ,EAEvB/M,EAASmN,IACQ,MAAhBtX,GAAwC,IAAjB+H,KAAK4C,UAE7BziB,EAAE,gCAAgCnJ,MAAMqV,QAAU,GAClDlM,EAAE,oCAAoC/N,YAAc,GAAGomB,GACrD+W,EAAmBnN,OACfxI,IACH2V,EAAmBnN,IAAWqC,KAAWwK,QAEvC9uB,EAAE,gCAAgCnJ,MAAMqV,QAAU,YACpDlM,EAAE,gCAAgCnJ,MAAMqV,QAAU,OAEzD,GAAkC,IAA9BmI,EAAUgb,gBAAuB,CACnC,MAAMC,EAA4B,EAAbN,EAEnB/M,EAASqN,IACQ,MAAhBxX,GAAwC,IAAjB+H,KAAK4C,UAE7BziB,EAAE,4BAA4BnJ,MAAMqV,QAAU,GAC9ClM,EAAE,gCAAgC/N,YAAc,GAAGomB,GACjDiX,EAAerN,OACXxI,IACH6V,EAAerN,IAAWqC,KAAWwK,QAEnC9uB,EAAE,4BAA4BnJ,MAAMqV,QAAU,YAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,OAErD,GAAwC,IAApCmI,EAAUkb,sBAA6B,CACzC,MAAMC,EAAkC,EAAbR,EAAiB,EAE1C/M,EAASuN,IACQ,MAAhB1X,GAAwC,IAAjB+H,KAAK4C,UAE7BziB,EAAE,kCAAkCnJ,MAAMqV,QAAU,GACpDlM,EAAE,sCAAsC/N,YAAc,GAAGomB,GACvDmX,EAAqBvN,OACjBxI,IACH+V,EAAqBvN,IAAWqC,KAAWwK,QAEzC9uB,EAAE,kCAAkCnJ,MAAMqV,QAAU,YACtDlM,EAAE,kCAAkCnJ,MAAMqV,QAAU,OAG3B,IAA9BmI,EAAUob,iBACV5P,KAAKoB,QAAQ,gBAAgBU,gBAG3BhF,IACAsF,EAAStF,KACQ,MAAhB7E,GAAwC,IAAjB+H,KAAK4C,UAE7BziB,EAAE,4BAA4BnJ,MAAMqV,QAAU,GAC9ClM,EAAE,gCAAgC/N,YAAc,GAAGomB,GACjDsE,GAAesF,OACXxI,IACHkD,GAAesF,IAAWqC,KAAWwK,QAGrC9uB,EAAE,4BAA4BnJ,MAAMqV,QAAU,OAEjDmI,EAAUua,aAAe,GAEzB3M,EAAS5N,EAAUua,aAAetK,OACjB,MAAhBxM,GAAwC,IAAjB+H,KAAK4C,UAE7BziB,EAAE,yBAAyBnJ,MAAMqV,QAAU,GAE3ClM,EACE,yBACA0vB,SAAS,GAAGz9B,YAAc,2EAA2EoiB,EAAUua,8BACjH5uB,EAAE,6BAA6B/N,YAAc,GAAGomB,GAC9ChE,EAAUua,aAAetK,KAAWrC,OAChCxI,IACHpF,EAAUua,aAAetK,KAAWrC,IAClCqC,KAAWwK,QAGb9uB,EAAE,yBAAyBnJ,MAAMqV,QAAU,YACL,OAApClM,EAAE,+BACXA,EAAE,8BAA8B9J,SAsYhCy5B,QACgC,OAAvB3vB,EAAE,kBAE6B,OAApCA,EAAE,+BACJA,EAAE,8BAA8B9J,SAYtC,SAAS05B,GAAc3gC,EAAMkE,GAC3B,GAAa,MAATlE,EAAc,CAIhB,GAFA+Q,EAAE,WAAWoM,UAAYyT,KAAKoB,QAAQ9tB,GAAMs0B,UAEd,IAA1BpT,EAAUwb,YAAmB,CAC/B,MAAMC,EAAanF,GACjB9K,KAAKoB,QAAQ9tB,GACb0sB,KAAKoB,QAAQ9tB,GAAM4uB,UACnB,EACAlC,KAAKoB,QAAQ9tB,GAAM6uB,KACnBnC,KAAKoB,QAAQ9tB,GAAM8uB,QAEf8N,EAAiBD,EAAajQ,KAAKoB,QAAQ9tB,GAAMs3B,aACnDsF,EAAiB,IACnB/vB,EAAE,WAAWoM,UAAYpM,EAAE,WACxBoM,UAAU3W,MAAM,gBAChB6C,KACC,wBAAwB+f,GAA4B0X,UACnB,IAA/B54B,KAAKkE,MAAM00B,GAAwB,SAAW,+BAE9ClW,IACGiW,EAAajQ,KAAKoB,QAAQ9tB,GAAMs3B,eAC9B5K,KAAKoB,QAAQ9tB,GAAM68B,eAAiBnQ,KAAKoQ,gBAC5CnW,iBAKU,IAAlB+F,KAAK4C,UASPziB,EAAE,WAAWoM,UAAYpM,EAAE,WACxBoM,UAAU3W,MAAM4iB,GAA4BwH,KAAKoB,QAAQ9tB,GAAM+yB,YAC/D5tB,KACC+f,IACGwH,KAAKoB,QAAQ9tB,GACd0sB,KAAKoB,QAAQ9tB,GAAM4uB,UACnBlC,KAAKoB,QAAQ9tB,GAAM8uB,OACnBpC,KAAKoB,QAAQ9tB,GAAM6uB,KACnBnC,KAAKuC,QACL,WAIH,GAAa,MAATnzB,EAAc,CAEvB,IAAK4wB,KAAK6D,gBAAgBvwB,GAAO,MAAO,GACxC6M,EAAE,WAAWoM,UAAYyT,KAAKqQ,aAC5BrQ,KAAK6D,gBAAgBvwB,GACrB,aAEgB,MAATlE,EAAc+Q,EAAE,WAAWoM,UAAYyT,KAAKsQ,cAErC,MAATlhC,EACP+Q,EAAE,WAAWoM,UAAYyT,KAAKoB,QAAQ,gBAAgBD,SAASoP,aAC7Dj9B,EADuB0sB,GAIT,MAAT5wB,EACP+Q,EAAE,WAAWoM,UAAYyT,KAAKwQ,YAAY,GAAGrP,SAASsP,YACpDn9B,EAAK,GACLA,EAAK,GAFkB0sB,GAKT,OAAT5wB,IACP+Q,EAAE,WAAWoM,UAAYyT,KAAKwQ,YAAY,GAAGrP,SAASuP,YAAY,EAAzC1Q,IAG3B,GACY,MAAT5wB,GAAiC,IAAjB4wB,KAAK4C,SACb,MAATxzB,GACS,MAATA,GACS,MAATA,GACU,MAATA,IAAiB4wB,KAAK5qB,KAAK,KACnB,OAAThG,EACA,CACA,MAAMuhC,EAAOtjC,SAAS4D,cAAc,OACpC0/B,EAAKnP,GAAK,gBACVrhB,EAAE,WAAWwK,YAAYgmB,GAS3B,OALA1Y,EAAc7oB,EACd8oB,GAAc5kB,EAEd+3B,KAEOlrB,EAAE,WAAWoM,UAuFtB,SAASqkB,KAEP,GACE5Q,KAAK6Q,MAAMC,UACX9Q,KAAK+Q,MAAQ,IAAO,GACJ,UAAhB/Q,KAAKgR,QACLxc,EAAUyc,MACV,CACA,MAAMvL,EAAQr4B,SAAS8gC,eAAe,wBAClCzI,IACFA,EAAMwL,UAAYlR,KAAKmR,QACV,GAAXnR,KAAKwH,IAAYxH,KAAKoR,GAAgB,GAAXpR,KAAKwH,KAChC,IAMN7E,KACAS,KA5gDF,WACE,GAA2B,IAAvB5O,EAAUmS,SAAgB,CAE5B,MAAM0K,EAAiBlxB,EAAE,cAAczG,YAAc,IAE/C43B,EAAiBnxB,EAAE,cAAczG,YAAc,IACrD,IAAI63B,EAAiB,EAIkB,IAArCvR,KAAKwR,aAAaC,OAAOC,SACxB1R,KAAK2R,IAAI,uBA+CLxxB,EAAE,gBAAgBnJ,MAAMqV,QAAU,QA7CvClM,EAAE,gBAAgBnJ,MAAMqV,QAAU,GAClClM,EAAE,sBAAsBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MAC3CD,KAAK6D,IACJ,EACA6kB,KAAKwR,aAAaC,OAAOG,QAAU5R,KAAKwR,aAAaC,OAAO5X,MAE5DwX,EACArR,KAAKwR,aAAaC,OAAOI,aAEzBrd,EAAUsd,iBAAmB,EAC/B3xB,EAAE,sBAAsB/N,YAAckF,KAAKoL,MACxCsd,KAAKwR,aAAaC,OAAOG,QAAU5R,KAAKwR,aAAaC,OAAO5X,MAC3DmG,KAAKwH,KAENrnB,EAAE,sBAAsB/N,YAAc,GAEzC4tB,KAAKwR,aAAaC,OAAOG,UAAY5R,KAAKwR,aAAaC,OAAOI,SAE9D1xB,EAAE,sBAAsBnJ,MAAMwuB,qBAAuB,OACrDrlB,EAAE,sBAAsBnJ,MAAMyuB,wBAA0B,SAExDtlB,EAAE,sBAAsBnJ,MAAMwuB,qBAAuB,GACrDrlB,EAAE,sBAAsBnJ,MAAMyuB,wBAA0B,IAE1DtlB,EAAE,mBAAmBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MACxCD,KAAK2D,IACJ+kB,KAAKwR,aAAaC,OAAOI,QAAU7R,KAAKwR,aAAaC,OAAOG,QAC5D5R,KAAKwR,aAAaC,OAAOI,QAAU7R,KAAKwR,aAAaC,OAAO5X,MAE5DwX,EACArR,KAAKwR,aAAaC,OAAOI,aAEzBrd,EAAUsd,iBAAmB,EAC/B3xB,EAAE,mBAAmB/N,YAAckF,KAAKoL,KACtCpL,KAAK2D,IACH+kB,KAAKwR,aAAaC,OAAOI,QAAU7R,KAAKwR,aAAaC,OAAOG,QAC5D5R,KAAKwR,aAAaC,OAAOI,QAAU7R,KAAKwR,aAAaC,OAAO5X,MAC1DmG,KAAKwH,KAERrnB,EAAE,mBAAmB/N,YAAc,GACxC+N,EAAE,oBAAoB/N,YAAckF,KAAKoL,MACtCsd,KAAKwR,aAAaC,OAAOI,QAAU7R,KAAKwR,aAAaC,OAAO5X,MAC3DmG,KAAKwH,KAET+J,KAKgB,cAAhBvR,KAAK+R,QACkC,IAAvC/R,KAAKwR,aAAaQ,SAASN,SAE3BvxB,EAAE,iBAAiBnJ,MAAMqV,QAAU,GACnClM,EAAE,uBAAuBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MAC5CD,KAAK6D,IACJ,EACA6kB,KAAKwR,aAAaQ,SAASJ,QAAU5R,KAAKwR,aAAaQ,SAASnY,MAEhEwX,EACArR,KAAKwR,aAAaQ,SAASH,aAE3Brd,EAAUsd,iBAAmB,EAC/B3xB,EAAE,uBAAuB/N,YAAckF,KAAKoL,MACzCsd,KAAKwR,aAAaQ,SAASJ,QAC1B5R,KAAKwR,aAAaQ,SAASnY,MAC3BmG,KAAKwH,KAENrnB,EAAE,uBAAuB/N,YAAc,GAC5C+N,EAAE,oBAAoBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MACzCD,KAAK2D,IACJ+kB,KAAKwR,aAAaQ,SAASH,QACzB7R,KAAKwR,aAAaQ,SAASJ,QAC7B5R,KAAKwR,aAAaQ,SAASH,QAAU7R,KAAKwR,aAAaQ,SAASnY,MAEhEwX,EACArR,KAAKwR,aAAaQ,SAASH,aAE3Brd,EAAUsd,iBAAmB,EAC/B3xB,EAAE,oBAAoB/N,YAAckF,KAAKoL,KACvCpL,KAAK2D,IACH+kB,KAAKwR,aAAaQ,SAASH,QACzB7R,KAAKwR,aAAaQ,SAASJ,QAC7B5R,KAAKwR,aAAaQ,SAASH,QACzB7R,KAAKwR,aAAaQ,SAASnY,MAC3BmG,KAAKwH,KAERrnB,EAAE,oBAAoB/N,YAAc,GACzC+N,EAAE,qBAAqB/N,YAAckF,KAAKoL,MACvCsd,KAAKwR,aAAaQ,SAASH,QAAU7R,KAAKwR,aAAaQ,SAASnY,MAC/DmG,KAAKwH,KAET+J,KAEApxB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAIrC,MAAM4lB,EAAgB,GACtB9xB,EAAE,wBAAwBoM,UAAY,GACtC,IAAK,MAAMxd,KAAKwD,OAAO6C,KAAK4qB,KAAKgH,OAC/B,GAAIhH,KAAKgH,MAAMj4B,GAAI,CACjB,MAAM22B,EAAQV,GAAYhF,KAAKgH,MAAMj4B,GAAGuE,KAAM0sB,KAAKgH,MAAMj4B,GAAGuE,KAAM,CAChE,CAAEkuB,GAAI,GAAGxB,KAAKgH,MAAMj4B,GAAGuE,aAEzBoyB,EAAM1uB,MAAMqV,QAAU,GACtB,IAAI6lB,EAAa,GAGfA,OAD4C,IAAnC1a,EAAWwI,KAAKgH,MAAMj4B,GAAGuE,MACrBkkB,EAAWwI,KAAKgH,MAAMj4B,GAAGuE,MACpBkjB,EACpBkP,EAAMqC,UAAU8H,SAAS,GAAGrgC,UAAY0mB,EAAegc,EACvDxM,EAAMqC,UAAU8H,SAAS,GAAG74B,MAAM2F,MAAQ,QACR,IAA9B6X,EAAUsd,gBACZpM,EAAMqC,UAAU8H,SAAS,GAAGz9B,YAAc,GAAGkF,KAAKC,MACzCyoB,KAAKgH,MAAMj4B,GAAG8qB,KAAOmG,KAAKgH,MAAMj4B,GAAG8iC,QAA1C,QAECnM,EAAMqC,UAAU8H,SAAS,GAAGz9B,YAAc,GAC/CszB,EAAMqC,UAAU8H,SAAS,GAAG74B,MAAMkG,MAAQ,GAAG5F,KAAKC,MAC/CyoB,KAAKgH,MAAMj4B,GAAG8qB,MACZyX,EAC8D,EAA7Dh6B,KAAKoL,KAAKsd,KAAKgH,MAAMj4B,GAAG8qB,KAAOmG,KAAKwH,KAAKhwB,WAAWxI,QACtDgxB,KAAKgH,MAAMj4B,GAAG8iC,aAElBnM,EAAMqC,UAAU8H,SAAS,GAAGz9B,YAAckF,KAAKoL,KAC7Csd,KAAKgH,MAAMj4B,GAAG8qB,KAAOmG,KAAKwH,KAE5B+J,IACAU,EAAcjS,KAAKgH,MAAMj4B,GAAGuE,MAAQoyB,EAGxC,IAAK,MAAM32B,KAAKwD,OAAO6C,KAAK68B,GAC1B9xB,EAAE,wBAAwBwK,YAAYsnB,EAAcljC,IAG/B,IAAnBwiC,IACFpxB,EAAE,cAAcnJ,MAAMmG,OAA6B,GAAjBo0B,EAAsB,EAAzB,MAE7BlZ,KAAuBkZ,IACzBlZ,GAAqBkZ,EACrB7K,OAu3CJyL,GAGAlM,KAGAoF,KArGF,WACE,GAA+B,IAA3B7W,EAAU4d,cAA8C,IAAxBpb,EAA2B,CAE7D,IAAIqb,GAAiB,EACrB,IAAK,MAAMtjC,KAAKwD,OAAO6C,KAAK4qB,KAAK8E,WAAY,CAC3C,MAAMhB,EAAK9D,KAAK8E,UAAU/1B,GAC1B,GAAI+0B,EAAGwO,MAAQ,GAAKxO,EAAGyO,SAAU,CAE/B,GADAF,GAAiB,EAEkB,IAAjCnb,EAA0BnoB,SACOI,IAAjC+nB,EAA0BnoB,GAcrB,MAbL,CACA,MAAMk8B,EAAc59B,SAAS4D,cAAc,OACrCuhC,EAAWnlC,SAAS4D,cAAc,OACxCuhC,EAASx7B,MAAMk0B,SAAW,QAC1BsH,EAASx7B,MAAM8wB,aAAe,MAC9B,MAAM5D,EAAM72B,SAAS4D,cAAc,OACnCizB,EAAIltB,MAAMuW,UAAY,SACtB2W,EAAI1C,GAAK,oBACTgR,EAAS7nB,YAAYuZ,GACrB+G,EAAYtgB,YAAY6nB,GACxBxS,KAAK4H,QAAQrhB,KAAK9Y,KAAMglC,OAAOxH,EAAY1e,YAC3C0K,EAAkBloB,EAClBmoB,EAA0BnoB,GAAK,QAGjCmoB,EAA0BnoB,GAAK,EAG9BsjC,GACHrS,KAAK4H,QAAQ7hB,QA0EjB2sB,GAhEF,WACE,GAA+B,IAA3Ble,EAAU4d,cAAiD,OAA3BjyB,EAAE,qBAA+B,CACnE,IAAIwyB,EAAS3S,KAAK8E,UAAU7N,GAAiB0b,OACzCC,EAAS,IAKb,GAJI5S,KAAK2R,IAAI,6BAA4BiB,GAAU,MACN,IAAzC5S,KAAK8E,UAAU7N,GAAiB7nB,OAAYwjC,GAAU,GAC1DD,GAAUC,EACN5S,KAAK2R,IAAI,mBAAkBgB,GAAU,MACrC/S,GAAWsB,OAAOY,eAAgB,CACpC,MAAMC,EAAS/B,KAAKiB,OAAO,SACZ,IAAXc,EAAc4Q,GAAU,KACR,IAAX5Q,EAAc4Q,GAAU,IACb,IAAX5Q,IAAc4Q,GAAU,MAEnCxyB,EAAE,qBAAqB/N,YAAcomB,GAA4Bma,IAmDnEE,GAn3CEre,EAAUse,SACM,UAAhB9S,KAAKgR,SACJhR,KAAK+Q,MAAQ,IAAiB,EAAX/Q,KAAKwH,MAAa,IACrCxH,KAAK+Q,MAAQ,GAAK/Q,KAAKwH,KAAQ,GAEhCxH,KAAK+S,aAo3CP5yB,EAAE,WAAWoM,UAAYpM,EAAE,WAAWoM,UAAU5W,QAC9C,cACA6iB,GAA4BwH,KAAKsG,UAiBrC,MAAM0M,GACJC,YAAYC,GACVzlC,KAAKylC,UAAYA,EACjBzlC,KAAK0lC,MAAQ,GAGfF,UAAUG,GACJ3lC,KAAK0lC,MAAMtiC,KAAKuiC,GAAY3lC,KAAKylC,WACnCzlC,KAAK0lC,MAAMzf,QASfuf,YAAYI,GACNA,EAAa5lC,KAAKylC,YAAWG,EAAa5lC,KAAKylC,WAC/CG,EAAa5lC,KAAK0lC,MAAMnkC,SAAQqkC,EAAa5lC,KAAK0lC,MAAMnkC,QAC5D,IAAI0M,EAAM,EACV,IACE,IAAI3M,EAAItB,KAAK0lC,MAAMnkC,OAAS,EAC5BD,GAAK,GAAKA,EAAItB,KAAK0lC,MAAMnkC,OAAS,EAAIqkC,EACtCtkC,IAEA2M,GAAOjO,KAAK0lC,MAAMpkC,GAEpB,OAAY,IAAR2M,EACK,EAEFA,EAAM23B,GA+BjB,SAASC,KACP,MAAMC,EAAWj8B,KAAKkE,MAAMg4B,KAAKC,MAAQ,KAEzC,GAAKzT,KAAKoR,EAAIpR,KAAKwH,IAAO,GAAM,EAAG,CACjC,IAAIkM,EAAc1T,KAAKsG,QAAU3G,GAC7BK,KAAK6E,UAAY,IAAG6O,GAAe/V,IACvCsB,GAAyB3nB,KAAK6D,IAAI6kB,KAAK2T,cAAeD,GACtDA,GAAe,IAGf,MAAME,EAAWL,EAAW/Y,GACtBqZ,EAAcv8B,KAAK6D,IAAI,EAAG6kB,KAAKsG,QAAU7L,IAAoBmZ,EAC7DE,EACJx8B,KAAK6D,IAAI,EAAGwiB,GAAsBjD,IAAyBkZ,EACvDG,EACJz8B,KAAK6D,IAAI,EAAG0iB,GAAsB,GAAKlD,IACvCiZ,EACII,EAAgB18B,KAAK6D,IAAI,EAAGu4B,EAAcnW,IAAmBqW,EAC7DK,GAAiBjU,KAAKkU,aAAetZ,IAAmBgZ,EAC9D,IAAK,IAAI7kC,EAAI,EAAGA,EAAI6kC,EAAU7kC,IAC5BmrB,GAAYia,UAAUN,GACtB1Z,GAAUga,UAAUL,GACpB1Z,GAAiB+Z,UAAUJ,GAC3B1Z,GAAW8Z,UAAUH,GACrB1Z,GAAW6Z,UAAUF,GAIvBzZ,GAAoB+Y,EACpB9Y,GAAmBuF,KAAKsG,QACxB5L,GAAwBiD,GACxBhD,GAA+BkD,GAAsB,GACrDN,GAAkBmW,EAClB9Y,GAAkBoF,KAAKkU,aAGvB,MAAME,EAAY9c,EAAY9C,EAAU6f,YACxCxZ,GAAuBX,GAAYoa,YAAYF,GAC/CtZ,GAAwBX,GAAUma,YAAYF,GAC9CrZ,GAA+BX,GAAiBka,YAAYF,GAC5DpZ,GAAyBX,GAAWia,YAAYF,GAChDnZ,GAAkBJ,GACU,IAAxBrG,EAAUmQ,YAAiB1J,IAAmBH,IACtB,IAAxBtG,EAAUmQ,YACZ1J,IAAmBF,IAErB,MAAMwZ,EACJvU,KAAKwU,YAAY,mBAAqBxU,KAAK2R,IAAI,iBAG/CzS,GADEqV,GAAkC,IAAxB/f,EAAUmQ,UAEpB9J,GACAC,IACCyZ,EAASvZ,GAAyB,GACRC,GAE/BgD,GAAqB3D,GAAWga,YAC9B/c,EAAW/C,EAAUigB,iBAkB3B,SAASC,GAAW5Q,EAAInC,GACtB,IAAIhlB,EAAQ,GAmBZ,OAjBsCA,EAAlCmnB,EAAGzjB,IAAM,GAAKyjB,EAAGzjB,KAAOyY,IAAkBrC,EACrCqN,EAAGzjB,GAAKif,GAAoBnJ,EAC5B2N,EAAGzjB,KAAOif,GAAoBlJ,EAC9B0N,EAAGzjB,KAAOmf,GAAoBjJ,EAC9BuN,EAAGzjB,GAAKmf,GAAoBhJ,EAC5BsN,EAAGzjB,GAAKkf,GAAoBjJ,EACxBD,EAGiC,IAA1C4C,OAAOzE,EAAUmgB,sBACfhT,EAAQ8C,KAAWxL,OAAOzE,EAAUmgB,uBACtCh4B,EAAQwZ,GAGR3B,EAAUogB,uBACRjT,EAAQ3B,KAAKsG,QAAU,IAAG3pB,EAAQ4Z,GAEjC5Z,EAgBT,SAASk4B,GAAqBzgC,GAC5B,IAAK,MAAMrF,KAAKwD,OAAO6C,KAAKhB,GACtB4rB,KAAK4E,UACPxwB,EAAOrF,GAAGsR,GACR/I,KAAK6D,IAAI/G,EAAOrF,GAAG4yB,OAAS3B,KAAKsG,QAAUvB,MAAuB,GAChE/E,KAAK4E,UACPxwB,EAAOrF,GAAG4yB,MAAQvtB,EAAOrF,GAAG+2B,MACzB1xB,EAAOrF,GAAGsR,GAAKjM,EAAOrF,GAAG4yB,MAAQvtB,EAAOrF,GAAG+2B,MAElD1xB,EAAOrF,GAAG4N,MAAQ+3B,GAAWtgC,EAAOrF,GAAIqF,EAAOrF,GAAG4yB,OA6ItD,SAASmT,MArIT,WAOE,GANAxV,GAAaxG,IACb0G,GAAa,EACbC,GAAkB,QACoB,IAA3BjL,EAAUugB,eAA8BvgB,EAAUugB,aAAe,GAG1C,IAA9BvgB,EAAUwgB,iBAAyBhV,KAAK4C,QAAU,EAAG,CACvD,IAAK,MAAM7zB,KAAKwD,OAAO6C,KAAKooB,IACtBwC,KAAK4E,UACPpH,GAAczuB,GAAGsR,GACf/I,KAAK6D,IACH6kB,KAAKoB,QAAQryB,GAAGg9B,YAAc/L,KAAKsG,QAAUvB,MAC7C,GAEA/E,KAAK4E,UACP5E,KAAKoB,QAAQryB,GAAGg9B,WAAavO,GAAczuB,GAAG+2B,MAEhDtI,GAAczuB,GAAGsR,GACf2f,KAAKoB,QAAQryB,GAAGg9B,WAAavO,GAAczuB,GAAG+2B,MAClDrG,GAAgB5uB,KAAK,CAAC2sB,GAAczuB,GAAGsR,GAAI2f,KAAKoB,QAAQryB,GAAGg9B,aAI7D,GADAtM,GAAgByD,MAAK,CAACtrB,EAAGP,IAAMO,EAAE,GAAKP,EAAE,KACpCmd,EAAUogB,sBACZ,KAAOnV,GAAgB,GAAG,GAAKO,KAAKsG,SACH,IAA3B7G,GAAgBzwB,QAGpBywB,GAAgB/L,QAGpB4L,GAAaG,GAAgBjL,EAAUugB,cAAc,GACrDvV,GAAaC,GAAgBA,GAAgBzwB,OAAS,GAAG,GACzDuwB,IAAcC,GAAaF,IAAc,EAAIA,GAC7C,IAAK,MAAMvwB,KAAKwD,OAAO6C,KAAKooB,IAAgB,CAC1CA,GAAczuB,GAAG4N,MAAQ+3B,GACvBlX,GAAczuB,GACdixB,KAAKoB,QAAQryB,GAAGg9B,YAGlB,IAAK,IAAI/H,EAAI,EAAGA,EAAIxP,EAAUugB,aAAc/Q,IACtCxG,GAAczuB,GAAGsR,KAAOof,GAAgBuE,GAAG,KAC7CxG,GAAczuB,GAAG4N,MAAQ8Z,GAI/Boe,GAAqBpX,IACrBoX,GAAqBnX,SAChB,GAAIsC,KAAK4C,QAAU,EAAG,CAE3B,IAAIxuB,EACiB,IAAjB4rB,KAAKuC,QAAenuB,EAASopB,GACP,KAAjBwC,KAAKuC,QAAgBnuB,EAASqpB,GACb,MAAjBuC,KAAKuC,UAAiBnuB,EAASspB,IACxC,IAAK,MAAM3uB,KAAKwD,OAAO6C,KAAKhB,GACtB4rB,KAAK4E,UACPxwB,EAAOrF,GAAGsR,GACR/I,KAAK6D,IACH6kB,KAAKoB,QAAQryB,GAAGs3B,WAAarG,KAAKsG,QAAUvB,MAC5C,GAEA/E,KAAK4E,UACP5E,KAAKoB,QAAQryB,GAAGs3B,UAAYjyB,EAAOrF,GAAG+2B,MACnC1xB,EAAOrF,GAAGsR,GAAK2f,KAAKoB,QAAQryB,GAAGs3B,UAAYjyB,EAAOrF,GAAG+2B,MAC5DrG,GAAgB5uB,KAAK,CAACuD,EAAOrF,GAAGsR,GAAI2f,KAAKoB,QAAQryB,GAAGs3B,YAItD,GADA5G,GAAgByD,MAAK,CAACtrB,EAAGP,IAAMO,EAAE,GAAKP,EAAE,KACpCmd,EAAUogB,sBACZ,KAAOnV,GAAgB,GAAG,GAAKO,KAAKsG,SACH,IAA3B7G,GAAgBzwB,QAGpBywB,GAAgB/L,QAGpB4L,GAAaG,GAAgBjL,EAAUugB,cAAc,GACrDvV,GAAaC,GAAgBA,GAAgBzwB,OAAS,GAAG,GACzDuwB,IAAcC,GAAaF,IAAc,EAAIA,GAE7C,IAAK,MAAMvwB,KAAKwD,OAAO6C,KAAKooB,IAAgB,CAC1CppB,EAAOrF,GAAG4N,MAAQ+3B,GAAWtgC,EAAOrF,GAAIixB,KAAKoB,QAAQryB,GAAGs3B,WAExD,IAAK,IAAIrC,EAAI,EAAGA,EAAIxP,EAAUugB,aAAc/Q,IACtC5vB,EAAOrF,GAAGsR,KAAOof,GAAgBuE,GAAG,KAAI5vB,EAAOrF,GAAG4N,MAAQ8Z,KAiDpEwe,GAlCF,WACE,IAAK,MAAMlmC,KAAKwD,OAAO6C,KAAK4oB,IACtBgC,KAAK4E,UACP5G,GAAcjvB,GAAGsR,GACf/I,KAAK6D,IACH6kB,KAAKkK,SAASn7B,GAAGg9B,YAAc/L,KAAKsG,QAAUvB,MAC9C,GAEA/E,KAAK4E,UACP5E,KAAKkK,SAASn7B,GAAGg9B,WAAa/N,GAAcjvB,GAAG+2B,MAEjD9H,GAAcjvB,GAAGsR,GACf2f,KAAKkK,SAASn7B,GAAGg9B,WAAa/N,GAAcjvB,GAAG+2B,MAC/C7M,OAAO5I,MAAM2N,GAAcjvB,GAAGsR,MAAK2d,GAAcjvB,GAAGsR,GAAKyY,KAE7DkF,GAAcjvB,GAAG4N,MAAQ+3B,GACvB1W,GAAcjvB,GACdixB,KAAKkK,SAASn7B,GAAGg9B,YAkBrBmJ,GA0CF,SAASC,GAAO/U,GACVN,GAAgBM,IACgB,IAA9BN,GAAgBM,GAAMyK,MACxB/K,GAAgBM,GAAMyK,IAAM,EACS,WAAjC7K,KAAKuI,aAAanI,GAAMS,MAAmBpF,MAuBrD,SAAS2Z,KACPpZ,GAAe,EACf,IAAI+K,EAAO,EAEX,MAAMsO,EAAO,GACb,IAAK,MAAMtmC,KAAKwD,OAAO6C,KAAK4qB,KAAKoB,SAC/B,GAAIpB,KAAKoB,QAAQryB,GAAG+yB,gBAAkB9B,KAAKoB,QAAQryB,GAAGoyB,SAASkU,KAAM,CACnE,MAAMC,EAAStV,KAAKoB,QAAQryB,GAAGoyB,SAASkU,KACxC,IAAK,MAAME,KAAMD,EACXD,EAAKE,GAAKF,EAAKE,IAAOD,EAAOC,GAC5BF,EAAKE,GAAMD,EAAOC,GAI7BxZ,GAAUsZ,EAEiB,IAAvBrV,KAAKY,gBACPmG,GAEE,IADA1qB,WAAWsf,IAEXD,GA9EN,WACE,IAAI8Z,EAAe,EAWnB,GAVI9U,GAAO,0BAAyB8U,GAAgB,KAChD9U,GAAO,2BAA0B8U,GAAgB,IACjD9U,GAAO,qBAAoB8U,GAAgB,KAC3C9U,GAAO,4BAA2B8U,GAAgB,KAClD9U,GAAO,kBAAiB8U,GAAgB,KAE5CA,GAAgB,EAAgC,IAA5BrV,GAAY,cAC5BO,GAAO,iBAAgB8U,GAAgB,MACvC9U,GAAO,kBAAiB8U,GAAgB,MACxC9U,GAAO,kBAAiB8U,GAAgB,MACxCxV,KAAKiB,OAAQ,CACf,MAAMc,EAASf,GAAU,YACV,IAAXe,EAAcyT,GAAgB,GACd,IAAXzT,EAAcyT,GAAgB,GACnB,IAAXzT,IAAcyT,GAAgB,IAEzC,OAAOA,EA6DHC,IAEJ1O,GAAQvG,GAAO,OAEXE,GAAO,YAAqC,IAAvBV,KAAKY,gBAC5BmG,GAAQ,EAAI,IAAO/G,KAAK0V,SAE1B,IAAK,MAAM3mC,KAAKwD,OAAO6C,KAAK4qB,KAAK2V,gBAAiB,CAChD,MAAM7R,EAAK9D,KAAK2V,eAAe5mC,GAC3B2xB,GAAOoD,EAAGxwB,QAIY,mBAAbwwB,EAAGqG,MACZpD,GAAQ,EAAuD,IAAnDlH,GAAYiE,EAAGxwB,MAAM62B,MAAMtK,GAAYiE,EAAGxwB,OACjDyzB,GAAQ,EAAe,IAAXjD,EAAGqG,OAItBzJ,GAAO,iCAAgCqG,GAAQ,MAC/CrG,GAAO,0BAAyBqG,GAAQ,MACxCrG,GAAO,sBAAqBqG,GAAQ,MACpCrG,GAAO,iBAAgBqG,GAAQ,MAC/BrG,GAAO,kBAAiBqG,GAAQ,MAEhCrG,GAAO,yBAAwBqG,GAAQ,MACvCrG,GAAO,wBAAuBqG,GAAQ,MACtCrG,GAAO,oBAAmBqG,GAAQ,MAClCrG,GAAO,sBAAqBqG,GAAQ,MACpCrG,GAAO,sBAAqBqG,GAAQ,KAEpCrG,GAAO,kBAAiBqG,GAAQ,MAChCrG,GAAO,kBAAiBqG,GAAQ,MAEhCrG,GAAO,kBAAiBqG,GAAQ,MAGpC,IAAI6O,EAAY,EAChB,GAAI5U,GAAW,CACb,IAAIe,EAASf,GAAU,cACR,IAAXe,EAAcgF,GAAQ,KACN,IAAXhF,EAAcgF,GAAQ,IACX,IAAXhF,IAAcgF,GAAQ,MAE/BhF,EAASf,GAAU,QACJ,IAAXe,EACFgF,GACE,EAAI,IAAOzvB,KAAKu+B,IAAK3V,GAAc,IAAO,MAAiB5oB,KAAKiU,GAAK,GACrD,IAAXwW,EACPgF,GACE,EACA,IAAOzvB,KAAKu+B,IAAK3V,GAAc,IAAO,MAAkB5oB,KAAKiU,GAAK,GAClD,IAAXwW,IACPgF,GACE,EACA,IAAOzvB,KAAKu+B,IAAK3V,GAAc,IAAO,MAAkB5oB,KAAKiU,GAAK,IAEtEwW,EAASf,GAAU,aACJ,IAAXe,EAAc6T,GAAa,IACX,IAAX7T,EAAc6T,GAAa,IAChB,IAAX7T,IAAc6T,GAAa,KAEpC7T,EAASf,GAAU,YACJ,IAAXe,EAAc6T,GAAa,IACX,IAAX7T,EAAc6T,GAAa,KAChB,IAAX7T,IAAc6T,GAAa,MAEpC7T,EAASf,GAAU,SACJ,IAAXe,EAAc6T,GAAa,IACX,IAAX7T,EAAc6T,GAAa,IAChB,IAAX7T,IAAc6T,GAAa,KAGlClV,GAAO,oBAAmBqG,GAAQ,EAA4B,KAAvB/G,KAAK8V,WAAa,IAE7D,MAAMC,EAAeta,GAAuB,GAC5C,IAAIua,EAAW,EAIf,GAHItV,GAAO,8BAA6BsV,GAAY,MAEpDA,GAAY,EAAoC,IAAhC7V,GAAY,kBACxBa,GAAW,CACb,MAAMe,EAASf,GAAU,UACV,IAAXe,EAAciU,GAAY,IACV,IAAXjU,EAAciU,GAAY,KACf,IAAXjU,IAAciU,GAAY,MAErCA,GAAYxV,GAAO,QAEnB,IAAIyV,EAAU,EAEVvV,GAAO,oBAAmBuV,GAAW,EAAmB,GAAfF,EAAqBC,GAC9DtV,GAAO,oBAAmBuV,GAAW,EAAmB,KAAfF,EAAuBC,GAChEtV,GAAO,sBAAqBuV,GAAW,EAAmB,IAAfF,EAAsBC,GACjEtV,GAAO,sBACTuV,GAAW,EAAmB,KAAfF,EAAuBC,GACpCtV,GAAO,qBAAoBuV,GAAW,EAAmB,GAAfF,EAAqBC,GAC/DtV,GAAO,wBACTuV,GAAW,EAAmB,GAAfF,EAAqBC,GAClCtV,GAAO,wBACTuV,GAAW,EAAmB,GAAfF,EAAqBC,GAClCtV,GAAO,oBAAmBuV,GAAW,EAAmB,GAAfF,EAAqBC,GAC9DtV,GAAO,wBACTuV,GAAW,EAAmB,GAAfF,EAAqBC,GAClCtV,GAAO,+CACTuV,GAAW,EAAmB,KAAfF,EAAuBC,GACpCtV,GAAO,uBACTuV,GAAW,EAAmB,IAAfF,EAAsBC,GACnCtV,GAAO,qBAAoBuV,GAAW,EAAmB,KAAfF,EAAuBC,GACjEtV,GAAO,uBACTuV,GAAW,EAAmB,KAAfF,EAAuBC,GACpCtV,GAAO,mBAAkBuV,GAAW,EAAmB,GAAfF,EAAqBC,GAC7DtV,GAAO,kBAAiBuV,GAAW,EAAmB,IAAfF,EAAsBC,GAEjE,IAAK,MAAMjnC,KAAKwD,OAAO6C,KAAKwqB,IAAa,CACvC,MAAMkE,EAAKlE,GAAW7wB,GACtB,IAAImnC,EAAYpS,EAAGyF,IAAIzF,GACI,IAAvB9D,KAAKY,gBACPsV,IAAc,EAAe,IAAXpS,EAAGsG,OAAgBwL,GAEzB,YAAZ9R,EAAGxwB,MACHotB,GAAO,sDAEPwV,GAAa,EAAI,IAAOH,EAAeC,GACzCha,IAAgB8H,EAAG1B,OAAS8T,EAG1BxV,GAAO,WAAU1E,IAAgB,GAErC+K,GAAQkP,EAER,IAAIE,EAAU,EAad,GAZIzV,GAAO,iBAAgByV,GAAW,MAClCzV,GAAO,cAAayV,GAAW,MAC/BzV,GAAO,gBAAeyV,GAAW,MACjCzV,GAAO,eAAcyV,GAAW,MAChCzV,GAAO,eAAcyV,GAAW,MAChCzV,GAAO,iBAAgByV,GAAW,MAClCzV,GAAO,mBAAkByV,GAAW,MACpCzV,GAAO,gBAAeyV,GAAW,MACjCzV,GAAO,eAAcyV,GAAW,MAChCzV,GAAO,eAAcyV,GAAW,MAChCzV,GAAO,gBAAeyV,GAAW,MACjCzV,GAAO,eAAcyV,GAAW,MAChCzV,GAAO,eAAgB,CAEzB,IAAI0V,EAC2D,GAA5D9+B,KAAKkE,OAAOukB,GAAiBC,KAAKC,WAAa,IAAO,IACvD,GACA,GACA,GACFmW,EAAM9+B,KAAK2D,IAAIm7B,EAAK,KAEpB/Y,GAAe,EAAiC,IAA5B,GAAK,EAAI+Y,EAAM,MAAQ,GAC3CD,GAAW9Y,GAEb0J,GAAQoP,EAEJzV,GAAO,kBAAiBqG,GAAQ,EAAgC,IAA5BzvB,KAAK2D,IAAI,IAAK+kB,KAAKqW,QAG3DtP,GAAQ,EAAI5G,GAAY,oBAExB,MAAMmW,EAAeta,GAAe+K,EACpC,IAAK,MAAMh4B,KAAKwD,OAAO6C,KAAK4qB,KAAKuW,iBAC3BD,GAAgBtW,KAAKuW,gBAAgBxnC,GAAGynC,WAC1CrB,GAAOnV,KAAKuW,gBAAgBxnC,GAAGuE,MAGnC2oB,GAAkBqa,EAElB,MAAMtkC,EAAIguB,KAAKwR,aAAaC,OAAOz/B,EAC7BykC,EAAWtW,GAAY,oBAC7B,IAAK,IAAIpxB,EAAI,EAAGA,EAAIiD,EAAGjD,IACrBg4B,GAAQ,EAAe,KAAX0P,EAGd,MAAMnjC,EAAO0sB,KAAK0W,WAAWrnC,cAM7B,GALa,WAATiE,EAAmByzB,GAAQ,IACb,WAATzzB,IAAmByzB,GAAQ,KAEhCrG,GAAO,oBAAmBqG,GAAQ,KAElCrG,GAAO,uBAAwB,CACjC,IAAIiW,EAAmB,IACvB,GAAIjW,GAAO,iBAAkB,CAC3B,MAAMkW,EAAW5W,KAAK6W,qBACtB,IAAK,MAAM9nC,KAAKwD,OAAO6C,KAAKwhC,GACtBlW,GAAOkW,EAAS7nC,MAAK4nC,GAAoB,IAGjD5P,GAAQ4P,EAEV,GAAIjW,GAAO,yBAA0B,CACnC,IAAIoW,EAAW,GACXpW,GAAO,yBAAwBoW,GAAY,IAC/C/P,GAAQ,EAAI+P,EAGVpW,GAAO,uBAAsBqG,GAAQ,KACrCrG,GAAO,wBAAuBqG,GAAQ,GAE1C/K,GAAegE,KAAK+W,kBAAkB,MAAO/a,IAE7C+K,GAAQD,KAER9K,IAAgB+K,EASlB,MAAMiQ,GAAW,CACf,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBAIIC,GAAe,CACnB,gBACA,gBACA,cACA,gBACA,kBACA,kBACA,kBAIIC,GAAgB,CACpB,0BACA,qBACA,mBACA,iBACA,sBACA,gBACA,oBAIIC,GAAa,CACjB,sBACA,wBACA,sBACA,yBACA,wBACA,yBACA,wBAIIC,GAAa,CACjB,qBACA,oBACA,oBACA,yBACA,cACA,WACA,eAkCF,SAASC,GAAajX,GACpB,OAAON,GAAgBM,GAAQN,GAAgBM,GAAMyK,IAAM,EAe7D,SAASyM,KACP,IAAIC,EAAW,EACf,IAAK,MAAMxoC,KAAKwD,OAAO6C,KAAK4qB,KAAK0J,kBAC3BhJ,GAAOV,KAAK0J,iBAAiB36B,KAAKwoC,KAEnCF,GAAa,UAAYE,GAAY,GAAGpC,GAAO,UAC/CkC,GAAa,YAAcE,GAAY,IAAIpC,GAAO,WAEvD,IAAIqC,EAAiB,EACjBC,EAAgB,EAChBC,EAAS,EACTC,EAAY,IAChB,IAAK,MAAM5oC,KAAKwD,OAAO6C,KAAKwqB,IAC1B4X,GAAkB5X,GAAW7wB,GAAGqzB,OAChCuV,EAAYrgC,KAAK2D,IAAI2kB,GAAW7wB,GAAGqzB,OAAQuV,GACtCN,GAAa,kBAEdzX,GAAW7wB,GAAGqzB,OACd9qB,KAAK2D,IAAI,IAAK,IAAM+kB,KAAKwQ,YAAYxhC,OAASgxB,KAAKoB,QAAQryB,GAAGyyB,GAAK,MAEnEiW,EAAgB,GAEfJ,GAAa,YAEdzX,GAAW7wB,GAAGqzB,OACmC,IAAhDpC,KAAKwQ,YAAYxhC,OAASgxB,KAAKoB,QAAQryB,GAAGyyB,MAE3CkW,EAAS,GAGXC,GAAa,GAAGxC,GAAO,uBACL,IAAlBsC,GAAqBtC,GAAO,iBACjB,IAAXuC,GAAcvC,GAAO,WACrBwC,GAAa,KAAKxC,GAAO,cACzBwC,GAAa,KAAKxC,GAAO,yBACzBwC,GAAa,KAAKxC,GAAO,gBACzBwC,GAAa,KAAKxC,GAAO,2BACzBwC,GAAa,KAAKxC,GAAO,iBACzBwC,GAAa,KAAKxC,GAAO,4BACzBwC,GAAa,KAAKxC,GAAO,oBACzBwC,GAAa,KAAKxC,GAAO,+BACzBwC,GAAa,KAAKxC,GAAO,kBACzBwC,GAAa,KAAKxC,GAAO,6BACzBwC,GAAa,KAAKxC,GAAO,iBAEzBqC,GAAkB,KAAKrC,GAAO,WAC9BqC,GAAkB,KAAKrC,GAAO,aAC9BqC,GAAkB,KAAMrC,GAAO,YAC/BqC,GAAkB,KAAMrC,GAAO,sBAC/BqC,GAAkB,KAAMrC,GAAO,gBAC/BqC,GAAkB,KAAMrC,GAAO,gBAE/B5Z,IAAoB,IAAI4Z,GAAO,YAC/B5Z,IAAoB,IAAI4Z,GAAO,aAC/B5Z,IAAoB,KAAK4Z,GAAO,YAChC5Z,IAAoB,KAAK4Z,GAAO,oBAChC5Z,IAAoB,KAAK4Z,GAAO,oBAChC5Z,IAAoB,KAAK4Z,GAAO,oCAEhCqC,GAAkB,KAAQjc,IAAoB,KAAK4Z,GAAO,YAC1DqC,GAAkB,KAAQjc,IAAoB,KAChD4Z,GAAO,qBAELvV,GAAWgY,OAAOxV,OAASxC,GAAWsJ,QAAQ9G,QAAU,KAC1D+S,GAAO,qBAET,IAAI0C,GAAkB,EACtB,IAAK,MAAM9oC,KAAKwD,OAAO6C,KAAK6hC,IACrBvW,GAAOuW,GAAaloC,MAAK8oC,GAAkB,GAE9CA,GAAiB1C,GAAO,kBAE5B,IAAI2C,GAAmB,EACvB,IAAK,MAAM/oC,KAAKwD,OAAO6C,KAAK8hC,IACrBxW,GAAOwW,GAAcnoC,MAAK+oC,GAAmB,GAIpD,GAFIA,GAAkB3C,GAAO,eAEzBzU,GAAO,mBAAoB,CAC7B,MAAMqX,EAAO/X,KAAK2I,MAAM9G,QAAQ+U,SAChC,IAAIoB,EAAW,EACf,IAAK,MAAMjpC,KAAKwD,OAAO6C,KAAK2iC,GACtBrX,GAAOqX,EAAKhpC,GAAGuE,OAAO0kC,IAExBA,GAAYD,EAAK/oC,QAAQmmC,GAAO,cAkBxC,SAAS8C,GAAwBvW,EAAUU,GACzCkI,KACA1K,GAAW8B,GAAUU,QAAUA,EAC/B,MAAM0B,EAAKlE,GAAW8B,GAEtB,GAAiB,WAAbA,EACEoC,EAAG1B,QAAU,GAAG+S,GAAO,SACvBrR,EAAG1B,QAAU,GAAG+S,GAAO,gBACvBrR,EAAG1B,QAAU,IAAI+S,GAAO,eACxBrR,EAAG1B,QAAU,KAAK+S,GAAO,mBACzBrR,EAAG1B,QAAU,KAAK+S,GAAO,eACzBrR,EAAG1B,QAAU,KAAK+S,GAAO,uBACzBrR,EAAG1B,QAAU,KAAK+S,GAAO,SACzBrR,EAAG1B,QAAU,KAAK+S,GAAO,kCACzBrR,EAAG1B,QAAU,KAAK+S,GAAO,iCACzBrR,EAAG1B,QAAU,KAAK+S,GAAO,wBACzBrR,EAAG1B,QAAU,KAAK+S,GAAO,6BAE7B,IAAK,MAAMnR,KAAKhE,KAAKoB,QAAQ0C,EAAGxwB,MAAM4kC,cAElCpU,EAAG1B,QACHpC,KAAK2I,MAAM3I,KAAKoB,QAAQ0C,EAAGxwB,MAAM4kC,cAAclU,GAAGlD,MAAMqX,cAExDhD,GAAOnV,KAAKoB,QAAQ0C,EAAGxwB,MAAM4kC,cAAclU,GAAG1wB,MAKpD,MAAM8kC,EAAwB3c,GAU9B,OARA2Z,KAEAkC,KAEIc,IAA0B3c,IAC5B2Z,KAGKpZ,GAAegE,KAAK4E,UAkH7B,SAASyT,GAAuB/T,GAC9B,GACkC,WAAhCtE,KAAKkK,SAAS5F,GAASzD,MACY,IAAlCb,KAAKkK,SAAS5F,GAASvD,QACtBf,KAAKkK,SAAS5F,GAASgU,UACS,aAAhCtY,KAAKkK,SAAS5F,GAASzD,KACzB,CACAyJ,KACkC,yBAA9BzK,GAAYyE,GAAShxB,KACvBusB,GAAY,yBAAyBkB,OAAS,EACP,uBAA9BlB,GAAYyE,GAAShxB,KAC9BusB,GAAY,uBAAuBkB,OAAS,EAE5ClB,GAAYyE,GAASvD,QAAUlB,GAAYyE,GAASvD,OAAS,GAAK,EAEzDlB,GAAYyE,GACnBtE,KAAKuY,qBAAqBvY,KAAKkK,SAAS5F,GAASzD,OACnDtF,KAEc,iBAAZ+I,GACF9I,KACIA,GAAa,GAAG2Z,GAAO,aACvB3Z,IAAc,GAAG2Z,GAAO,kBACP,mBAAZ7Q,EACT6Q,GAAO,cACc,yBAAZ7Q,EACT6Q,GAAO,kBACc,iBAAZ7Q,GACT6Q,GAAO,aAGT,MAAMiD,EAAwB3c,GAE9B2Z,KAEAkC,KAEIc,IAA0B3c,IAC5B2Z,KAGF,MAAMoD,EAvIV,WACE,IAAItiC,EAAM,EACNwqB,GAAO,sBAAqBxqB,GAAO,IACnCwqB,GAAO,qBAAoBxqB,GAAO,GAClCwqB,GAAO,qBAAoBxqB,GAAO,IAClCwqB,GAAO,sBAAqBxqB,GAAO,IACnCwqB,GAAO,yBAAwBxqB,GAAO,IACtCwqB,GAAO,yBAAwBxqB,GAAO,IACtCwqB,GAAO,wBAAuBxqB,GAAO,IACrCwqB,GAAO,wBAAuBxqB,GAAO,IACrCwqB,GAAO,uBAAsBxqB,GAAO,IACpCwqB,GAAO,uBAAsBxqB,GAAO,IACxC,IAAIuiB,EAAM,EACV,IAAK,MAAM1pB,KAAKwD,OAAO6C,KAAKwqB,IAC1BnH,GAAOmH,GAAW7wB,GAAGqzB,OAEvB3J,GAAOmH,GAAWgY,OAAOxV,OACzBlsB,GAAOuiB,EAGHiI,GAAO,mBAAkBxqB,GAAsB,IAAf8lB,IAChC0E,GAAO,gBAAexqB,GAAsB,IAAf8lB,IAC7B0E,GAAO,oBAAmBxqB,GAAsB,IAAf8lB,IACjC0E,GAAO,sBAAqBxqB,GAAsB,IAAf8lB,IACnC0E,GAAO,uBAAsBxqB,GAAsB,IAAf8lB,IACpC0E,GAAO,mBAAkBxqB,GAAsB,IAAf8lB,IAChC0E,GAAO,qBAAoBxqB,GAAsB,IAAf8lB,IAClC0E,GAAO,sBAAqBxqB,GAAsB,IAAf8lB,IACnC0E,GAAO,sBAAqBxqB,GAAsB,IAAf8lB,IACnC0E,GAAO,qBAAoBxqB,GAAsB,IAAf8lB,IAClC0E,GAAO,yBAAwBxqB,GAAsB,IAAf8lB,IACtC0E,GAAO,sBAAqBxqB,GAAsB,IAAf8lB,IACnC0E,GAAO,sBAAqBxqB,GAAsB,IAAf8lB,IAEnC0E,GAAO,kBAAiBxqB,GAAsB,IAAf8lB,IAEnC,IAAI+K,EAAO,EAiBX,GAhBIrG,GAAO,qBAAoBqG,GAAQ,KACnCrG,GAAO,gBAAeqG,GAAQ,KAC9BrG,GAAO,iBAAgBqG,GAAQ,KAC/BrG,GAAO,iBAAgBqG,GAAQ,MAE/BrG,GAAO,iBACTqG,GACE,EACA,IACEzvB,KAAK2D,IACH+kB,KAAKoB,QAAQwW,OAAOxN,MACpB1J,GAAO,mBAAqB,GAAK,KAIzCqG,GAAQvG,GAAO,SACXZ,GAAWsB,OAAOY,gBAChBd,GAAW,CACb,MAAMe,EAASf,GAAU,SACV,IAAXe,EAAcgF,GAAQ,KACN,IAAXhF,EAAcgF,GAAQ,IACX,IAAXhF,IAAcgF,GAAQ,MAInC,IAAK,MAAMh4B,KAAKwD,OAAO6C,KAAK4qB,KAAKgH,YACQ,IAA5BhH,KAAKgH,MAAMj4B,GAAG0pC,YACvB1R,GAAQ/G,KAAKgH,MAAMj4B,GAAG0pC,WAI1B1R,GAAQ,EAAmC,IAA/B5G,GAAY,iBAGxB,IAAIuY,EACF3R,EACA/G,KAAKyJ,WACH,EACA/I,GAAO,2BACLA,GAAO,kCACPA,GAAO,gBACTxqB,GAOJ,OAJAwiC,EAAM1Y,KAAK+W,kBAAkB,kBAAmB2B,GAE5C1Y,KAAK4B,QAAQ,mBAAkB8W,EAAM1Y,KAAKgH,MAAM,iBAAiBmD,OAE9DuO,EAkDgBC,GAAa3Y,KAAK4Y,iBACvC,OAAIJ,EACK,CAACxc,GAAegE,KAAK4E,UAAW4T,GAElC,CAACxc,GAAegE,KAAK4E,WAE9B,MAAO,GAkBT,SAASiU,GAAoBzW,EAAQhuB,GACnC,MAAM0kC,EAAS,GACf,IAAK,MAAM/pC,KAAKwD,OAAO6C,KAAK4qB,KAAKoB,SAC/B0X,EAAO/pC,GAAK,GACZ+pC,EAAO/pC,GAAG+2B,MAAQmS,GAAwBlpC,EAAGqzB,GAC9B,IAAXA,IACFhH,GAA2B,GAG/B,OAAO0d,EAoBT,SAASC,KACP,IAAK,MAAMhqC,KAAKwD,OAAO6C,KAAK4qB,KAAKoB,SAC/B5D,GAAczuB,GAAG4yB,MAAQmJ,GACvB9K,KAAKoB,QAAQryB,GACbixB,KAAKoB,QAAQryB,GAAGmzB,UAChBlC,KAAKoB,QAAQryB,GAAGqzB,OAChBpC,KAAKoB,QAAQryB,GAAGozB,KAChB,GAEF1E,GAAe1uB,GAAG4yB,MAAQmJ,GACxB9K,KAAKoB,QAAQryB,GACbixB,KAAKoB,QAAQryB,GAAGmzB,UAChBlC,KAAKoB,QAAQryB,GAAGqzB,OAChBpC,KAAKoB,QAAQryB,GAAGozB,KAChB,IAEFzE,GAAgB3uB,GAAG4yB,MAAQmJ,GACzB9K,KAAKoB,QAAQryB,GACbixB,KAAKoB,QAAQryB,GAAGmzB,UAChBlC,KAAKoB,QAAQryB,GAAGqzB,OAChBpC,KAAKoB,QAAQryB,GAAGozB,KAChB,KASN,SAAS6W,KAEPxb,GAAgBqb,GAAoB,GACpCpb,GAAiBob,GAAoB,IACrCnb,GAAkBmb,GAAoB,KA/CxC,WACE7a,GAAgB,GAChB,IAAK,MAAMjvB,KAAKwD,OAAO6C,KAAK4qB,KAAKkK,UAAW,CAC1C,MAAM+O,EAAcZ,GAAuBtpC,GAC3CivB,GAAcjvB,GAAK,GACfkqC,EAAY,KAAIjb,GAAcjvB,GAAG+2B,MAAQmT,EAAY,IACrDA,EAAY,KAAIjb,GAAcjvB,GAAGi9B,WAAaiN,EAAY,KA4ChEC,GAgBF,SAASC,GAAqBC,EAAOC,EAAWtS,GAC9C,IAAIuS,EAAiB,EACjBhX,EAAO,EACPiX,EAAW,EACXC,EAAe,EACfC,EACF,EAAIniC,KAAK6D,IAAI,EAAG7D,KAAKoL,KAAKpL,KAAKqiB,IAAIqG,KAAKsG,SAAWhvB,KAAKoiC,MAAQ,IAClE,KAAOH,EAAWF,GAChB/W,EAAOhrB,KAAK6D,IACVi+B,EACA9hC,KAAK2D,IACH3D,KAAKkE,MAAO,EAAI,EAAK,IAAMi+B,EAAQL,EAAQrS,GAC3CsS,EAAYtS,IAGhBwS,EAAWjiC,KAAK6D,IACdi+B,EACA9hC,KAAK2D,IACH3D,KAAKkE,MAAO,EAAI,EAAK,KAAOi+B,EAAQ,GAAKL,EAAQrS,GACjDsS,EAAYtS,IAGhByS,EAAeliC,KAAKkE,MAAO,EAAI,EAAK,KAAOi+B,EAAQ,GAAKL,EAAQrS,GAChEuS,GAAkBhX,EAClBmX,IAEF,MAAO,CAACH,EAAgBhX,EAAMkX,GAmBhC,SAASG,KACP,IAAIN,EAEF,GADArc,GAEA,GACA,EACAC,GAEF,MAAM2c,EAAc9S,KAChB8S,EAAc,EAAGP,GAAaO,EAC7BP,EAAY,EAEjB9a,GAAsB4a,GACpB,EACAE,EACAnc,IAEFmB,GAA+C,EAAzBE,GAAoB,GAAUrB,GACpDoB,GACEC,GAAoB,GAAK,GAAK,GAAK,EAAItB,GAEzCyB,GAA2Bya,GACzB,EACAE,EACAlc,IAEFqB,GACiC,EAA9BE,GAAyB,GAAUvB,GACtCsB,GACEC,GAAyB,GACzB,GACA,GACA,EACAzB,GAEF4B,GAA4Bsa,GAC1B,EACY,EAAZE,EACAnc,IAEFyB,GACkC,EAA/BE,GAA0B,GAAU3B,GACvC0B,GACEC,GAA0B,GAC1B,GACA,GACA,EACA5B,GAEF+B,GAAiCma,GAC/B,EACY,EAAZE,EACAlc,IAEF2B,GACuC,EAApCE,GAA+B,GAAU7B,GAC5C4B,GACEC,GAA+B,GAC/B,GACA,GACA,EACA/B,GAYJ,SAAS4c,KACP,MAAMtG,EAAWj8B,KAAKkE,MAAMg4B,KAAKC,MAAQ,KAEzC,GAAKzT,KAAKoR,EAAIpR,KAAKwH,IAAO,GAAM,EAAG,CACjC,MAAMsS,EAAa9Z,KAAK+Z,gBAAgB/Z,KAAKga,cAIvCC,EAHiB3iC,KAAKkE,MAC1BwkB,KAAK+Z,gBAAgB/Z,KAAKga,aAAeha,KAAK2T,gBAERr8B,KAAKkE,MAAMs+B,GAG7ClG,EAAWL,EAAWrY,GACtBgf,EACJ5iC,KAAK6D,IAAI,EAAG8+B,EAAiB9e,IAA0ByY,EACzD,IAAK,IAAI7kC,EAAI,EAAGA,EAAI6kC,EAAU7kC,IAC5BwrB,GAAkB4Z,UAAU+F,GAI9Bhf,GAAyBqY,EACzBpY,GAAyB8e,EAGzB7c,GAAmB7C,GAAkB+Z,YAAY,IA8FrD,SAAS6F,GAAarW,GACpB,IAAIsW,EAAU,wBACE,aAAZtW,EAAGjD,OAAqBuZ,GAAW,aAEvC,IAAIC,EAAU,EACTra,KAAK6Q,MAAMyJ,SAAQD,EAAU,GAC9BA,IAASD,GAAW,YAExB,IAAIG,EAAOzW,EAAGyW,KACVzW,EAAG0W,eAAcD,EAAOzW,EAAG0W,gBAC/B,MAAM5S,EAAU,0DAA0D9D,EAAGtC,kBAC7E,MAAO,eAAe4Y,SACrBpa,KAAKya,kBAAkB7S,EAAS,OAAO,kBAEtC2S,EAAK,GAAK,yBAAyBA,EAAK,OAAS,yBACjB,IAAVA,EAAK,QAAwB,IAAVA,EAAK,oBAgBlD,SAASG,KACPxc,GAAuB,GACvBE,GAA8B,GAC9BD,GAA+B,GAC/B,MAAM4Z,EAAO,GAEb,IAAK,MAAMhpC,KAAKwD,OAAO6C,KAAK4qB,KAAKkK,UAC/B6N,EAAKlnC,KAAKmvB,KAAKkK,SAASn7B,IAO1BgpC,EAAK7U,MALW,SAAUtrB,EAAGP,GAC3B,OAAIO,EAAE4sB,MAAQntB,EAAEmtB,MAAc,EAC1B5sB,EAAE4sB,MAAQntB,EAAEmtB,OAAe,EACxB,KAIT,IAAK,MAAMz1B,KAAKwD,OAAO6C,KAAK2iC,GAAO,CACjC,MAAMjU,EAAKiU,EAAKhpC,GAEhB,GAAkB,IAAd+0B,EAAG/C,OAAc,CACnB,IAAI5wB,EAAM,GAEVA,GAAOgqC,GAAarW,GACJ,aAAZA,EAAGjD,KAAqB1C,IAAgChuB,EACvC,WAAZ2zB,EAAGjD,KAAmBzC,IAA+BjuB,EAEhD,WAAZ2zB,EAAGjD,MACS,WAAZiD,EAAGjD,MACS,UAAZiD,EAAGjD,OAEH3C,IAAwB/tB,KAchC,SAASwqC,KACP,GAAoB,cAAhB3a,KAAK+R,OAAwB,CAC/B,IAAIxgC,EAAuB,GAAjByuB,KAAK4E,UACX5E,KAAK4B,QAAQ,kBAAiBrwB,GAAO,IACrCyuB,KAAK4B,QAAQ,YAAWrwB,GAAO,KACnC+rB,GAAehmB,KAAK6D,IAAI,GAAI5J,GACxByuB,KAAK2R,IAAI,gCAA+BrU,IAAgB,IAehE,SAASsd,KACPte,GAA2C,IAA7BU,GAAoC,IAClDV,IAAcW,GACd,MAAM2c,EAAc9S,KAChB8S,EAAc,EAAGtd,IAAcsd,EAC9Btd,GAAa,EAClBC,GAAmBW,IAAuC,IAAbZ,IAAqB,GAClEE,GAAwBW,IAAsC,IAAbb,IAAqB,GACtEG,GAAgC,EAAbH,GACnBI,GACEQ,IAA6C,IAAnBT,IAA2B,GACvDE,GACEQ,IAA4C,IAAnBV,IAA2B,GACtDG,GAA4B,EAAbN,GACfO,GAAoC,IAAfD,GAErBE,GAAe,EACf,IAAI3hB,EAAM,EACNnJ,EAAI,EACR,IAAK,MAAMjD,KAAKwD,OAAO6C,KAAK4qB,KAAKoB,SAC3BpB,KAAKoB,QAAQryB,GAAGqzB,OAASjnB,IAAKA,EAAM6kB,KAAKoB,QAAQryB,GAAGqzB,QACpDpC,KAAKoB,QAAQryB,GAAGqzB,OAAS,GAAGpwB,IAElC,IAAK,MAAMjD,KAAKwD,OAAO6C,KAAK4qB,KAAKoB,UAE5BpB,KAAKoB,QAAQryB,GAAGqzB,OAASjnB,GAAa,IAANnJ,IACjCguB,KAAKoB,QAAQryB,GAAGqzB,OAAS,KACD,EAAxBpC,KAAKoB,QAAQryB,GAAG4yB,MAAY7E,KAE5BA,GAAuC,EAAxBkD,KAAKoB,QAAQryB,GAAG4yB,MAC/B5E,GAAuBhuB,GAQ7B,SAAS8rC,KACP,IAAIC,EAAa,EACbC,EAAY,EACZhU,EAAO,EAGPrG,GAAO,4BAA2BqG,GAAQ,MAC1CrG,GAAO,iBAAgBqG,GAAQ,MAEnC+T,GAAc,EAA+C,GAA3C9a,KAAKyW,SAAS,2BAChCqE,GAAc9a,KAAKgb,IAAI,oBACvBD,GAAa,EAAuC,GAAnC/a,KAAKyW,SAAS,mBAC/BsE,GAAa/a,KAAKgb,IAAI,mBAGtB9d,GAAyB6J,EAAO+T,EAChC3d,GAAwB4J,EAAOgU,EAM/B9d,GAAoC,EACD,IAA/B+C,KAAKwR,aAAaC,OAAOz/B,IAC3BirB,IACE,EAAwC,KAApC+C,KAAKyW,SAAS,qBAkBxB,SAASwE,KACPtd,GAAsB,EACtBC,GAAuB,EACvBC,GAAwB,CAAC,EAAG,MAC5B,IAAK,IAAI9uB,EAAI,EAAGA,EAAIixB,KAAK8E,UAAU91B,OAAQD,IAAK,CAC9C,IAAI4jC,EAAS3S,KAAK8E,UAAU/1B,GAAG4jC,OAC3BC,EAAS,IAKb,GAJI5S,KAAK2R,IAAI,6BAA4BiB,GAAU,MACpB,IAA3B5S,KAAK8E,UAAU/1B,GAAGK,OAAYwjC,GAAU,GAC5CD,GAAUC,EACN5S,KAAK2R,IAAI,mBAAkBgB,GAAU,MACrC/S,GAAWsB,OAAOY,eAAgB,CACpC,MAAMC,EAAS/B,KAAKiB,OAAO,SACZ,IAAXc,EAAc4Q,GAAU,KACR,IAAX5Q,EAAc4Q,GAAU,IACb,IAAX5Q,IAAc4Q,GAAU,MAEnChV,IAAuBgV,EACQ,IAA3B3S,KAAK8E,UAAU/1B,GAAGK,OACpBwuB,IAAwB+U,EACpBA,EAAS9U,GAAsB,KACjCA,GAAwB,CAAC8U,EAAQ5jC,MAuBzC,SAASmsC,KACPhT,KACA+S,KACAL,KACAC,KACAlB,KACAe,KACAC,KAliDAzgB,GAAc,IAAI8Y,GAAW1b,EAAYA,EAAYtoB,OAAS,IAC9DmrB,GAAY,IAAI6Y,GAAW1b,EAAYA,EAAYtoB,OAAS,IAC5DorB,GAAmB,IAAI4Y,GAAW1b,EAAYA,EAAYtoB,OAAS,IACnEqrB,GAAa,IAAI2Y,GAAW1b,EAAYA,EAAYtoB,OAAS,IAC7DsrB,GAAa,IAAI0Y,GAAWzb,EAAWA,EAAWvoB,OAAS,IAgiD3DurB,GAAoB,IAAIyY,GAAW,GACnC6G,KACAvG,KACA0F,KACAD,KACAjE,KAKF,MAmImCqG,GAnIb,CACpBjV,OAAQ,EACRS,SAAU,EACVC,YAAa,EACbkL,gBAAiB,EACjBjP,WAAY,EACZuY,eAAgB,EAChB/X,WAAY,EACZgY,mBAAoB,EACpB1W,UAAW,EACXD,QAAS,EACT2P,WAAY,EACZI,cAAe,EACfO,gBAAiB,EACjBD,aAAc,EACdJ,oBAAqB,EACrBC,sBAAuB,EACvB1F,YAAa,EACb3W,MAAO,EACP+iB,aAAc,EACdC,eAAgB,EAChBC,QAAS,EACTC,QAAS,EACTC,SAAU,IACVC,WAAY,6DACZC,oBAAqB,EACrBC,aAAc,EACdC,aAAc,EACdC,cAAe,IACfC,gBACE,gEACFC,gBAAiB,EACjBC,SAAU,EACVC,SAAU,EACVC,UAAW,IACXC,YACE,oEACFC,UAAW,EACXC,UAAW,EACXC,WAAY,IACZC,aAAc,+DACdC,kBAAmB,EACnBC,WAAY,EACZC,WAAY,EACZC,YAAa,IACbC,cACE,gEACFC,qBAAsB,EACtBC,cAAe,EACfC,cAAe,EACfC,eAAgB,IAChBC,iBACE,6DACFC,wBAAyB,EACzBC,iBAAkB,EAClBC,iBAAkB,EAClBC,kBAAmB,IACnBC,oBACE,8DACF/R,oBAAqB,EACrBuE,YAAa,EACbX,cAAe,EACfC,oBAAqB,EACrBE,gBAAiB,EACjBE,sBAAuB,EACvBE,gBAAiB,EACjBb,aAAc,EACd5H,YAAa,EACbyF,YAAa,EACbwF,aAAc,EACdhG,YAAa,EACbmB,aAAc,EACdkQ,eAAgB,EAChBC,oBAAqB,EACrBzM,MAAO,EACP0M,gBAAiB,EACjB7K,QAAS,EACT/Y,WAAY,EACZ6jB,aAAc,EACdC,YAAa,EACbC,oBAAqB,EACrBC,aAAc,EACdhlB,MAAO,EACPF,cAAe,EACfQ,eAAgB,EAChBD,YAAa,OACbxC,OAAQ,CACNonB,KAAM,UACNC,MAAO,UACPC,OAAQ,UACRC,OAAQ,UACRC,IAAK,UACLC,OAAQ,UACRC,KAAM,UACNC,KAAM,UACNC,MAAO,WAETzb,cAAe,EACfoB,aAAc,EACdsa,QAAS,EACTC,QAAS,EACTC,gBAAiB,EACjBC,aAAc,EACdC,OAAQ,CACNC,WAAY,EACZC,YAAa,EACbC,aAAc,EACdC,oBAAqB,EACrBC,eAAgB,EAChBC,eAAgB,EAChBC,gBAAiB,EACjBC,iBAAkB,EAClBC,iBAAkB,EAClBC,kBAAmB,EACnBC,qBAAsB,EACtBrU,QAAS,EACTsU,WAAY,EACZC,SAAU,EACVC,cAAe,EACfC,MAAO,EACPC,MAAO,EACPC,OAAQ,EACRC,OAAQ,EACRC,SAAU,EACVC,MAAO,EACPC,IAAK,EACLC,KAAM,EACNC,QAAS,IAoCsBC,GAvBnC,SAAsCC,GACpC,GAAoB,IAAhBA,EAAmB,CAErB,MAAMC,EAA2B,WAC/B,IACEvB,aAAawB,oBAAoBC,OACjC,MAAOvwC,GACP,OAAO,EAET,OAAO,GAIH,iBAAkB1C,OAEb+yC,IACTvB,aAAawB,oBAAoBC,OAEjCzB,aAAawB,oBAJb5wC,QAAQ+pB,IAAI,kDAoBlB,SAAS+mB,KACkB,IAArBlsB,EAAU0R,QACZ/lB,EAAE,YAAYnJ,MAAMqV,QAAU,GAC9B4Z,MAEA9lB,EAAE,YAAYnJ,MAAMqV,QAAU,OAEhCqa,KA4GF,SAASia,KACPC,cACA5gB,KAAK6gB,eACL7gB,KAAK8gB,kBAEL7a,KACAtD,KACAS,KAYF,SAAS2d,KACP,IAAI5wC,EAAM,GACV,IAAK,IAAIpB,EAAI,EAAGA,EAAI6nB,EAAO5nB,OAAQD,IACjCoB,GAAO,UAAmBymB,EAAO7nB,eAC/BylB,EAAUoC,OAAOA,EAAO7nB,WAG5B,IAAK,IAAIA,EAAI,EAAGA,EAAI6nB,EAAO5nB,OAAQD,IACjCoB,GAAO,UAAmBymB,EAAO7nB,0BAC/BylB,EAAUoC,OAAOA,EAAO7nB,WAG5B,IAAK,IAAIA,EAAI,EAAGA,EAAI6nB,EAAO5nB,OAAQD,IACjCoB,GAAO,YAAqBymB,EAAO7nB,0BACjCylB,EAAUoC,OAAOA,EAAO7nB,WAG5BoR,EAAE,SAAS/N,YAAcjC,EACzBwyB,KAuBF,SAASqe,KACmB,IAAtBxsB,EAAUkqB,SAAiBnpB,EAAwB,EACjD4J,GAA0B8hB,MAC5B9gC,EAAE,aAAa+gC,KACb,mEAEF/gC,EAAE,aAAa+gC,KACb,oEAEJ/gC,EAAE,aAAa+gC,KACb,uDAQN,MAAMC,GACJlO,YAAY7jC,EAAMgyC,GAChB3zC,KAAK2B,KAAOA,EACZ3B,KAAK2zC,MAAQA,GAKjB,MAAMC,WAAwBF,GAC5BlO,YAAY7jC,EAAMgyC,EAAOE,EAAOlW,EAAMmW,EAAQztC,EAAO,MACnD0tC,MAAMpyC,EAAMgyC,GACZ3zC,KAAK6zC,MAAQA,EACb7zC,KAAK29B,KAAOA,EACZ39B,KAAK8zC,OAASA,EACVztC,IACFrG,KAAKqG,KAAOA,IAclB,MAAM2tC,WAAsBN,GAC1BlO,YAAY7jC,EAAMgyC,EAAOE,EAAOlW,GAC9BoW,MAAMpyC,EAAMgyC,GACZ3zC,KAAK6zC,MAAQA,EACb7zC,KAAK29B,KAAOA,EACZ,IAAK,IAAIr8B,EAAI,EAAGA,EAAI,IAAKA,IACvBtB,KAAK6zC,MAAMvyC,GAAK,GAAGA,MAMzB,MAAM2yC,WAA2BP,GAC/BlO,YAAY7jC,EAAMgyC,EAAOE,EAAOlW,EAAMnwB,EAAKE,GACzCqmC,MAAMpyC,EAAMgyC,GACZ3zC,KAAK6zC,MAAQA,EACb7zC,KAAK29B,KAAOA,EACZ39B,KAAKwN,IAAMA,EACXxN,KAAK0N,IAAMA,GAwBf,MAutBmCwmC,GAvtBpB,CAEbzb,OAAQ,IAAImb,GACV,OACA,aACA,CAAC,iBAAkB,iBACnB,wBACA,GACA,WACEX,QAGJ/Z,SAAU,IAAI0a,GACZ,OACA,aACA,CAAC,gBAAiB,gBAClB,qFACA,GACA,WACExa,QAGJD,YAAa,IAAIya,GACf,OACA,aACA,CAAC,gCAAiC,+BAClC,8BACA,GACA,WAlpH4B,IAA1B7sB,EAAUoS,aACZzmB,EAAE,cAAcnJ,MAAMkG,MAAQ,MAC9BiD,EAAE,cAAcnJ,MAAMkW,OAAS,GAC/B/M,EAAE,QAAQyhC,aAAazhC,EAAE,cAAeA,EAAE,kBAE1CA,EAAE,cAAcnJ,MAAMkG,MAAQ,OAC9BiD,EAAE,cAAcnJ,MAAMkW,OAAS,MAC/B/M,EAAE,WAAWwK,YAAYxK,EAAE,gBAE7BumB,QA6oHAoL,gBAAiB,IAAIuP,GACnB,OACA,aACA,CACE,wBACA,iCACA,0BAEF,+DACA,GAEFte,cAAe,IAAIse,GACjB,OACA,aACA,CAAC,0BAA2B,sBAC5B,kEACA,GACA,WACE1e,QAGJwB,aAAc,IAAIkd,GAChB,OACA,aACA,CAAC,yBAA0B,qBAC3B,iEACA,GACA,WACEje,QAGJP,WAAY,IAAIwe,GACd,OACA,aACA,CAAC,sBAAuB,sBACxB,wBACA,GACA,WACE1e,QAGJyY,eAAgB,IAAIiG,GAClB,OACA,aACA,CACE,+CACA,gDAEF,4FACA,GACA,WACE1e,QAGJU,WAAY,IAAIge,GACd,OACA,aACA,CACE,yBACA,6BACA,iCAEF,wDACA,GACA,WA/S2B,IAAzB7sB,EAAU6O,YAEZljB,EAAE,gBAAgBnJ,MAAMqV,QAAU,GAClC+W,MACkC,IAAzB5O,EAAU6O,YAEnBljB,EAAE,gBAAgBnJ,MAAMqV,QAAU,OAClC+W,OAGAjjB,EAAE,gBAAgBnJ,MAAMqV,QAAU,OAClC2T,KAAK8gB,sBAwSPlqB,OAAQ,IAvJV,cAA6BuqB,GAC3BlO,YAAY7jC,EAAMgyC,EAAOhW,EAAMt3B,GAC7B0tC,MAAMpyC,EAAMgyC,GACZ3zC,KAAK29B,KAAOA,EACZ39B,KAAKqG,KAAOA,IAoJZ,QACA,aACA,CACEkqC,KACE,uGACFC,MACE,4FACFC,OACE,yHACFC,OACE,iIACFC,IACE,mFACFC,OACE,wGACFC,KACE,2FACFC,KAAM,yCACNC,MAAO,8CAET,WACEuC,QAGJ1F,mBAAoB,IAAIgG,GACtB,OACA,aACA,CAAC,iCAAkC,iCACnC,+FACA,GACA,WA3TmC,IAAjC7sB,EAAU6mB,oBAEZl7B,EAAE,gBAAgBnJ,MAAMgI,SAAW,SACnCmB,EAAE,gBAAgBnJ,MAAMsC,IAAM,OAE9B6G,EAAE,gBAAgBnJ,MAAMgI,SAAW,MA4TrC2lB,UAAW,IAAI0c,GACb,OACA,cACA,CACE,+BACA,8BACA,6CAEF,qGACA,GAEF3c,QAAS,IAAI2c,GACX,OACA,cACA,CAAC,6BAA8B,8BAC/B,kFACA,GAEFhN,WAAY,IAAIgN,GACd,OACA,cACA,CACE,2BACA,2BACA,2BACA,0BACA,0BACA,2BACA,2BACA,4BAEF,4DACA,GAEF5M,cAAe,IAAI4M,GACjB,OACA,cACA,CACE,oCACA,oCACA,qCACA,qCACA,sCAEF,uDACA,GAEFrM,gBAAiB,IAAIqM,GACnB,OACA,cACA,CAAC,mCAAoC,kCACrC,2FACA,GACA,WACEvM,QAGJC,aAAc,IAAIsM,GAChB,OACA,cACA,CACE,mBACA,kBACA,0BACA,gCAEF,qGACA,GAEF1M,oBAAqB,IAAI+M,GACvB,WACA,cACA,oCACA,wMACA,EACA5oB,KAEF8b,sBAAuB,IAAIyM,GACzB,OACA,cACA,CAAC,2BAA4B,sBAC7B,yKACA,GAEFnS,YAAa,IAAImS,GACf,OACA,cACA,CACE,+CACA,+CAEF,2EACA,GAIF9oB,MAAO,IAAI8oB,GACT,OACA,sBACA,CAAC,YAAa,WAAY,8BAC1B,8LACA,GAEF/F,aAAc,IAAI+F,GAChB,OACA,sBACA,CAAC,mCAAoC,mCACrC,kLACA,GAEF9F,eAAgB,IAAI8F,GAClB,OACA,iBACA,CAAC,mBAAoB,mBACrB,mDACA,GACA,WACEhB,GAAoC7rB,EAAU+mB,mBAGlDC,QAAS,IAAI6F,GACX,OACA,iBACA,CAAC,YAAa,YACd,iCACA,GAEF5F,QAAS,IAAI4F,GACX,OACA,iBACA,CAAC,YAAa,YACd,iCACA,GAEF3F,SAAU,IAAI+F,GAAc,MAAO,iBAAkB,GAAI,UACzD9F,WAAY,IAAI0F,GACd,MACA,iBACA,aACA,6DAEFzF,oBAAqB,IAAIyF,GACvB,OACA,iBACA,CAAC,mBAAoB,mBACrB,8DACA,GACA,WACEhB,GAAoC7rB,EAAUonB,wBAGlDC,aAAc,IAAIwF,GAChB,OACA,iBACA,CAAC,YAAa,YACd,kCACA,GAEFvF,aAAc,IAAIuF,GAChB,OACA,iBACA,CAAC,YAAa,YACd,kCACA,GAEFtF,cAAe,IAAI0F,GAAc,MAAO,iBAAkB,GAAI,UAE9DzF,gBAAiB,IAAIqF,GACnB,MACA,iBACA,aACA,sEAEFpF,gBAAiB,IAAIoF,GACnB,OACA,kBACA,CAAC,mBAAoB,mBACrB,yCACA,GACA,WACEhB,GAAoC7rB,EAAUynB,oBAGlDC,SAAU,IAAImF,GACZ,OACA,kBACA,CAAC,YAAa,YACd,gCACA,GAEFlF,SAAU,IAAIkF,GACZ,OACA,kBACA,CAAC,YAAa,YACd,gCACA,GAEFjF,UAAW,IAAIqF,GAAc,MAAO,kBAAmB,GAAI,UAC3DpF,YAAa,IAAIgF,GACf,MACA,kBACA,aACA,8DAEF/E,UAAW,IAAI+E,GACb,OACA,mBACA,CAAC,wBAAyB,YAC1B,+BACA,GAEF9E,UAAW,IAAI8E,GACb,OACA,mBACA,CAAC,YAAa,YACd,+BACA,GAEF7E,WAAY,IAAIiF,GAAc,MAAO,mBAAoB,GAAI,UAC7DhF,aAAc,IAAI4E,GAChB,MACA,mBACA,yBACA,uDAEF3E,kBAAmB,IAAI2E,GACrB,OACA,mBACA,CAAC,mBAAoB,mBACrB,oDACA,GACA,WACEhB,GAAoC7rB,EAAUkoB,sBAGlDC,WAAY,IAAI0E,GACd,OACA,mBACA,CAAC,YAAa,YACd,2CACA,GAEFzE,WAAY,IAAIyE,GACd,OACA,mBACA,CAAC,YAAa,YACd,2CACA,GAEFxE,YAAa,IAAI4E,GAAc,MAAO,mBAAoB,GAAI,UAC9D3E,cAAe,IAAIuE,GACjB,MACA,mBACA,aACA,2DAEFtE,qBAAsB,IAAIsE,GACxB,OACA,oBACA,CAAC,mBAAoB,mBACrB,iDACA,GACA,WACEhB,GAAoC7rB,EAAUuoB,yBAGlDC,cAAe,IAAIqE,GACjB,OACA,oBACA,CAAC,YAAa,YACd,wCACA,GAEFpE,cAAe,IAAIoE,GACjB,OACA,oBACA,CAAC,YAAa,YACd,wCACA,GAEFnE,eAAgB,IAAIuE,GAAc,MAAO,oBAAqB,GAAI,UAClEtE,iBAAkB,IAAIkE,GACpB,MACA,oBACA,aACA,yDAEFjE,wBAAyB,IAAIiE,GAC3B,OACA,uBACA,CAAC,mBAAoB,mBACrB,2EACA,GACA,WACEhB,GAAoC7rB,EAAU4oB,4BAGlDC,iBAAkB,IAAIgE,GACpB,OACA,uBACA,CAAC,YAAa,YACd,kEACA,GAEF/D,iBAAkB,IAAI+D,GACpB,OACA,uBACA,CAAC,YAAa,YACd,kEACA,GAEF9D,kBAAmB,IAAIkE,GACrB,MACA,uBACA,GACA,UAEFjE,oBAAqB,IAAI6D,GACvB,MACA,uBACA,aACA,mFAIF5V,oBAAqB,IAAI4V,GACvB,OACA,UACA,CACE,2CACA,4CAEF,kDACA,GAEFrR,YAAa,IAAIqR,GACf,OACA,UACA,CACE,iDACA,iDAEF,qDACA,GAEFhS,cAAe,IAAIgS,GACjB,OACA,UACA,CAAC,4BAA6B,4BAC9B,kGACA,GAEF/R,oBAAqB,IAAI+R,GACvB,OACA,UACA,CAAC,mCAAoC,mCACrC,2GACA,GAEF7R,gBAAiB,IAAI6R,GACnB,OACA,UACA,CAAC,8BAA+B,8BAChC,+GACA,GAEF3R,sBAAuB,IAAI2R,GACzB,OACA,UACA,CAAC,qCAAsC,qCACvC,kIACA,GAEFzR,gBAAiB,IAAIyR,GACnB,OACA,UACA,CAAC,8BAA+B,8BAChC,qJACA,GAEFtS,aAAc,IAAI2S,GAChB,WACA,UACA,mCACA,gKACA,EACA5oB,KAEFqO,YAAa,IAAIka,GACf,OACA,UACA,CAAC,kCAAmC,qCACpC,kCACA,GACA,WACEna,QAGJ0F,YAAa,IAAIyU,GACf,OACA,UACA,CAAC,mCAAoC,mCACrC,6CACA,GAEFjP,aAAc,IAAIiP,GAChB,OACA,UACA,CAAC,uBAAwB,uBACzB,oEACA,GAEFjV,YAAa,IAAIiV,GACf,OACA,UACA,CAAC,yBAA0B,yBAC3B,4DACA,GAEF9T,aAAc,IAAI8T,GAChB,OACA,UACA,CAAC,2BAA4B,2BAC7B,yDACA,GAEF5D,eAAgB,IAAI4D,GAClB,OACA,UACA,CAAC,6BAA8B,6BAC/B,kFACA,GAEF3D,oBAAqB,IAAI2D,GACvB,OACA,UACA,CAAC,qCAAsC,qCACvC,+CACA,GAIFpQ,MAAO,IAAIoQ,GACT,OACA,aACA,CAAC,iBAAkB,iBACnB,oCACA,GAEF1D,gBAAiB,IAAI0D,GACnB,OACA,aACA,CAAC,uBAAwB,uBACzB,yHACA,GAEFvO,QAAS,IAAIuO,GACX,OACA,aACA,CAAC,mCAAoC,+BACrC,6CACA,GAEFtnB,WAAY,IAAIsnB,GACd,OACA,aACA,CAAC,0BAA2B,uBAC5B,0BACA,GAEFzD,aAAc,IAAIyD,GAChB,OACA,aACA,CAAC,oBAAqB,oBACtB,mEACA,GACA,WAz1B6B,IAA3B7sB,EAAUopB,aAAoB5d,KAAKmR,QAAUpa,EAC5CiJ,KAAKmR,QAAUnb,EAAgBmb,WA41BpC0M,YAAa,IAAIwD,GACf,OACA,aACA,CAAC,iCAAkC,iCACnC,+DACA,GAEFvD,oBAAqB,IAAI4D,GACvB,WACA,aACA,0BACA,8GACA,EACA5oB,KAEFilB,aAAc,IAAIsD,GAChB,OACA,aACA,CAAC,gBAAiB,gBAClB,4FACA,GAIFtoB,MAAO,IAAIsoB,GACT,OACA,WACA,CACE,uBACA,SACA,cACA,4BACA,sBACA,wBAEF,uCACA,GACA,WACEV,QAGJ9nB,cAAe,IAAIwoB,GACjB,OACA,WACA,CAAC,aAAc,aAAc,cAC7B,mDACA,GACA,WACEV,QAGJtnB,eAAgB,IAAIgoB,GAClB,OACA,WACA,CAAC,4BAA6B,mBAC9B,qDACA,GACA,WACEV,QAGJvnB,YAAa,IAAIsoB,GACf,WACA,WACA,2BACA,6KACA,EACA,WAIFjD,QAAS,IAAI4C,GACX,OACA,gBACA,CAAC,0BAA2B,0BAC5B,yDACA,GACA,YA75BJ,WACE,GAA0B,IAAtB7sB,EAAUiqB,QACZ,IAAK,MAAM1vC,KAAKwD,OAAO6C,KAAKkjB,IAC1BA,GAASvpB,GAAGiI,MAAMqV,QAAU,QAC5BiM,GAASvpB,GAAGiI,MAAMqC,KAAOqmB,GAAwB3wB,GAAGoR,EAAEnJ,MAAMqC,KAC5Dif,GAASvpB,GAAGiI,MAAMsC,IAAMomB,GAAwB3wB,GAAGoR,EAAEnJ,MAAMsC,SAG7D,IAAK,MAAMvK,KAAKwD,OAAO6C,KAAKkjB,IAAWA,GAASvpB,GAAGiI,MAAMqV,QAAU,OAs5BjEw1B,MAGJnD,QAAS,IAAI2C,GACX,OACA,gBACA,CAAC,cAAe,cAChB,2CACA,GACA,WACEL,QAGJrC,gBAAiB,IAAI0C,GACnB,OACA,gBACA,CAAC,oBAAqB,oBACtB,kEACA,GACA,WAj3BE7sB,EAAUmqB,iBACZx+B,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,WAg3BhDuyB,aAAc,IAAIyC,GAChB,OACA,gBACA,CAAC,wBAAyB,wBAC1B,mIACA,IAeJ,SAASS,KACP,OAAO1xC,KAAK2xC,UAAU,CACpBC,SAAUxtB,EACVytB,QAAS,YAkMb,SAASC,KACP,GAAI9lB,KAAyB4D,KAAKmiB,aAAermB,GAAW,CAC1D,GACEkE,KAAKmiB,YAAc,IACnBniB,KAAKoiB,aAAapiB,KAAKmiB,aAAaE,IAAI7qC,WAAW8qC,SAAS,aAC5D,CACA,IAAIluC,EAAS4rB,KAAKoiB,aAAapiB,KAAKmiB,aAAaE,IAC9C7qC,WACA/H,MAAM,mBAAmB,GAC5B,MAAM2yB,EAASpC,KAAKoiB,aAAapiB,KAAKmiB,aAAaE,IAChD7qC,WACA/H,MAAM,sBAAsB,GAC/B,GAAe,MAAX2E,EAEF,GADAA,EAASA,EAAOmuC,WAAW,IAAK,IAC5BviB,KAAKoB,QAAQhtB,GAAQguB,OAASA,EAChC/F,GAAyB,mCACpB,CACL,IAAImmB,EAAO,EACXlY,KACA,IAAK,IAAIv7B,EAAI,EAAGA,EAAIqzB,EAAQrzB,IAAK,CAC/B,IAAI4yB,EACF/B,GAAWxrB,GAAQ8tB,UACnBlC,KAAKwC,eACHlrB,KAAK6D,IACH,EACAykB,GAAWxrB,GAAQguB,OAAS,EAAIxC,GAAWxrB,GAAQ+tB,MAEzDR,EAAQ3B,KAAKyC,oBAAoB7C,GAAWxrB,GAASutB,GACrDA,EAAQrqB,KAAKoL,KAAKif,GAClB6gB,GAAQ7gB,EACR/B,GAAWxrB,GAAQguB,SAErB/F,GAAyB,kBAAkBmmB,QAExC,CACL,IAAIA,EAAO,EACXlY,KACA,IAAK,MAAMtG,KAAKzxB,OAAO6C,KAAK4qB,KAAKoB,SAAU,CAEzC,GADAhtB,EAAS4vB,EACLhE,KAAKoB,QAAQhtB,GAAQguB,OAASA,EAAQ,CACxC/F,GAAyB,+BACzB,MAEA,IAAK,IAAIttB,EAAI,EAAGA,EAAIqzB,EAAQrzB,IAAK,CAC/B,IAAI4yB,EACF/B,GAAWxrB,GAAQ8tB,UACnBlC,KAAKwC,eACHlrB,KAAK6D,IACH,EACAykB,GAAWxrB,GAAQguB,OAAS,EAAIxC,GAAWxrB,GAAQ+tB,MAEzDR,EAAQ3B,KAAKyC,oBAAoB7C,GAAWxrB,GAASutB,GACrDA,EAAQrqB,KAAKoL,KAAKif,GAClB6gB,GAAQ7gB,EACR/B,GAAWxrB,GAAQguB,SAGvB/F,GAAyB,kBAAkB7D,GAA4BgqB,OAI7EpmB,GAAuB4D,KAAKmiB,aAsChC,SAASM,KAEP7iB,GAAa,GACb,IAAK,MAAM7wB,KAAKwD,OAAO6C,KAAK4qB,KAAKoB,SAC/BxB,GAAW7wB,GAAKu6B,GAAoBv6B,GAItC8wB,GAAc,GACd,IAAK,MAAM9wB,KAAKwD,OAAO6C,KAAK4qB,KAAKkK,UAC/BrK,GAAY9wB,GAAKi7B,GAAYj7B,GAI/B+wB,GAAkB,GAClB,IAAK,MAAM/wB,KAAKwD,OAAO6C,KAAK4qB,KAAKuI,cAC/BzI,GAAgB/wB,GAAKs5B,GAAgBt5B,GAEvCu7B,KAMF,IAAIoY,IAAiB,EAcrB,SAASC,GAAM3/B,EAAM4/B,GAGM,IAAtBpuB,EAAUouB,IAA0B,IAAT5/B,IAAiC,IAAnB0/B,IACjC,IAAT1/B,GAEA7C,EAAE,iBAAiBnJ,MAAM6U,QAAU,MACtB,IAAT7I,GACF7C,EAAE,iBAAiBnJ,MAAMqV,QAAU,SACnCw2B,YAAW,WACTF,GAAM,EAAGC,KACR,IAAO5iB,KAAKwH,MAEfqb,YAAW,WACTF,GAAM,EAAGC,KACR,IAAO5iB,KAAKwH,MAEC,IAATxkB,GACT7C,EAAE,iBAAiBnJ,MAAM6U,QAAU,IACnCg3B,YAAW,WACTF,GAAM,EAAGC,KACR,IAAO5iB,KAAKwH,MACG,IAATxkB,IAAY7C,EAAE,iBAAiBnJ,MAAMqV,QAAU,QAc5D,SAASy2B,GAAUC,EAAKC,EAAWC,GAEjC,GAA6B,IAAzBzuB,EAAUwuB,KAAuC,IAAnBN,GAA0B,CAE1D,MAAMQ,EAAQ,IAAIC,UAAUJ,GACxBvuB,EAAU8mB,aACZ4H,EAAME,OAAU5uB,EAAUyuB,GAAa,KAAQjjB,KAAKojB,OAAS,KAC1DF,EAAME,OAAS5uB,EAAUyuB,GAAa,IAC3CC,EAAMG,QAoCV,SAASC,GAAcC,GACrB,MAAM9E,EAAUpxC,SAAS4D,cAAc,OACvCwtC,EAAQjd,GAAK,UAAU+hB,EAAO/hB,KAC9Bid,EAAQznC,MAAMkG,MAAQ,OACtBuhC,EAAQznC,MAAMmG,OAAS,OACvBshC,EAAQznC,MAAMgI,SAAW,WACzBy/B,EAAQznC,MAAMyU,OAAS,cACvBgzB,EAAQznC,MAAMuW,UAAY,SAC1BkxB,EAAQznC,MAAMyW,WAAa,OAC3BgxB,EAAQznC,MAAMwsC,WAAa,2BAC3B/E,EAAQznC,MAAMouB,SAAW,OACzBqZ,EAAQznC,MAAM+U,OAAS,UACvB0yB,EAAQznC,MAAMqV,QAAU,QACE,IAAtBmI,EAAUiqB,UAAeA,EAAQznC,MAAMqV,QAAU,QACrDoyB,EAAQznC,MAAMqC,KAAOkqC,EAAOpjC,EAAEnJ,MAAMqC,KACpColC,EAAQznC,MAAMsC,IAAMiqC,EAAOpjC,EAAEnJ,MAAMsC,IACnCmlC,EAAQgF,QAAU,WAChBF,EAAOG,OAETjF,EAAQkF,YAAc,WACpBJ,EAAOpjC,EAAEnJ,MAAM4sC,OACb,gEACFL,EAAOpjC,EAAEnJ,MAAM6sC,aACb,iEAEJpF,EAAQqF,WAAa,WACnBP,EAAOpjC,EAAEnJ,MAAM4sC,OAAS,GACxBL,EAAOpjC,EAAEnJ,MAAM6sC,aAAe,IAGhCvrB,GAASirB,EAAO/hB,IAAMid,EACtBt+B,EAAE,YAAYwK,YAAY8zB,GAgB5B,SAASsF,GAA0BC,EAAcC,EAAOC,GAGxB,IAA5B1vB,EAAUwvB,IACmB,WAA7B32C,SAAS82C,kBACU,IAAnBzB,IAGA,IAAIqB,GAA0BE,EAAO,CAAEh2B,KAAMi2B,EAASE,MADnC,yDA0QvB,SAASC,KAKP,GAJIjsB,KAAoB4H,KAAKskB,WAC3BlsB,GAAkB4H,KAAKskB,SA/crBtkB,KAAKskB,UACPnkC,EAAE,QAAQnJ,MAAMkW,OAAS,MACA,IAArBsH,EAAU0R,SAAc/lB,EAAE,YAAYnJ,MAAMqV,QAAU,QAC/B,IAAvBmI,EAAUmS,WAAgBxmB,EAAE,cAAcnJ,MAAMqV,QAAU,UAE9Dq0B,KACA7Z,MAEFN,OA0cKvG,KAAKskB,UAAiC,IAArBtkB,KAAKukB,YAAmB,CAExC3vB,IAAiBriB,OAAO6C,KAAK4qB,KAAKwkB,MAAMx1C,SAC1CyzC,KACAvH,KACAtmB,EAAeriB,OAAO6C,KAAK4qB,KAAKwkB,MAAMx1C,QAIpC8sB,KACFkd,KA1oBAhZ,KAAK2R,IAAI,wBAjBbrH,KACAzK,GAAY,uBAAuBkB,OAAS,EAC5CqU,KAgBEpY,GAfKhB,IAgBAgB,GAA6BgD,KAAK4E,UA2oBrCiW,KACAD,KACAF,KACAf,KACAuI,KAEAvH,KA9kBN,WACE,IAAI8J,EAAY,EAEhB,GAAIzkB,KAAKoB,QAAQsjB,KAAK5iB,eAAgB,CACpC,MAAM6iB,EAAc3kB,KAAKoB,QAAQsjB,KAAKvjB,SAASyjB,MAC/C,IAAIC,EAAW,EACf,IAAK,MAAM91C,KAAKwD,OAAO6C,KAAKuvC,GAAc,CACxC,MAAMG,EAAaH,EAAY51C,GAC/B81C,GAAYC,EAAWC,MAAQD,EAAWvzC,IAE5CkzC,GAAaI,EAAW7kB,KAAKglB,oBAG/BP,GAlEF,WACE,IAAIA,EAAY,EAEhBna,KAGA,IAAI2a,EAAuB,EACL,IAAlBrpB,IAAyC,KAAlBA,MACvBqpB,EAEmB,IAAnBppB,IAA2C,KAAnBA,MACxBopB,EAEJrpB,GAAgB,EAChBC,GAAiB,GAGjB,IAAK,IAAI9sB,EAAI,EAAGA,EAAIk2C,IAAwBl2C,EAAG,CAC7C,IAAIm2C,EAAkB,SACtB,IAAK,MAAMlhB,KAAKpE,GACVA,GAAWoE,GAAG5B,OAAS,IACzB8iB,EAAkBlhB,GAGtBpE,GAAWslB,GAAiB9iB,SAC5B9G,KAIF,IAAK,MAAMvsB,KAAKwD,OAAO6C,KAAKwqB,IAAa,CACvC,MAAMkE,EAAKlE,GAAW7wB,GACtB01C,GAAaziB,GACXhC,KAAKoB,QAAQ0C,EAAGxwB,MAChB0sB,KAAKoB,QAAQryB,GAAGmzB,UAChB4B,EAAG1B,OACHpC,KAAKoB,QAAQryB,GAAGozB,KAChB2B,EAAG1B,QAIP,OAAOqiB,EA0BMU,GACbxlB,GAAqB8kB,EAikBjBW,GAEAtpB,GAAY,GAId,MAAMupB,EAAerlB,KAAKyW,SAAS,kBAAoB,GAClDpb,IAAqBgqB,GACxBhqB,IAAoB,EACpBD,GAA2B,GAClBC,KAAsBgqB,IAC/BhqB,IAAoB,EACpBD,GAA2B,GAGzBA,KACF2d,KACA3d,GAA2B,GAltBjC,WAEE6f,KAEAnG,KAzCF,WACEhX,GAA2B,EAC3B,IAAIqI,EAAQ,EACZ,IAAK,MAAMp3B,KAAKixB,KAAK8E,UACa,IAA5B9E,KAAK8E,UAAU/1B,GAAGujC,OAAanM,IAErC,IAAImf,EAAU,EACd,GAAI1lB,GAAWsB,OAAOY,eAAgB,CACpC,MAAMC,EAAS/B,KAAKiB,OAAO,SACZ,IAAXc,EAAcujB,GAAW,KACT,IAAXvjB,EAAcujB,GAAW,IACd,IAAXvjB,IAAcujB,GAAW,MAEpCvnB,GAAyBoI,EACzBrI,GACEqI,GACS,IAARA,EAAe,MACuB,IAAtCnG,KAAK2R,IAAI,2BAAoC,IACjB,IAA5B3R,KAAK2R,IAAI,iBAA0B,GACpC2T,EAuBFC,GACAjS,KACAuG,KAEA,MAAM2L,EACJxlB,KAAKylB,oBACHnuC,KAAKkE,MAAMwkB,KAAK+Z,gBAAgB/Z,KAAKga,aAAeha,KAAK2T,gBACvD,IAEH3T,KAAK2T,cAAgB3T,KAAKga,cAC7B3a,GAA4BzF,GAAW4rB,EAAgB/gB,MAssBrDihB,GAjRJ,YAhBA,WACEhwB,EAA+B,EAC/BgK,GAA0B,GAC1B,IAAK,MAAM3wB,KAAKwD,OAAO6C,KAAK4qB,KAAK2lB,UAC/BjmB,GAAwBM,KAAK2lB,SAAS52C,GAAGyyB,IAAMxB,KAAK2lB,SAAS52C,GACzDixB,KAAK2lB,SAAS52C,GAAG62C,WAAuC,WAA1B5lB,KAAK2lB,SAAS52C,GAAGK,OACjD+vB,GAA4Ba,KAAK2lB,SAAS52C,GAC1C2mB,GAAgC,GAUpCmwB,GACA,IAAK,MAAM92C,KAAKwD,OAAO6C,KAAKkjB,SACgB,IAA/BoH,GAAwB3wB,KACjCupB,GAASvpB,GAAGmf,WAAWrc,YAAYymB,GAASvpB,WACrCupB,GAASvpB,IAGpB,GAAIwmB,IAA0ByK,KAAKwR,aAAaC,OAAOz/B,EAAG,CAExD,GADAujB,EAAwByK,KAAKwR,aAAaC,OAAOz/B,EAC7CujB,EAAuB,CACrBC,EAA+BE,IACjCitB,GAAM,EAAG,WACTG,GAAUtuB,EAAUmnB,WAAY,UAAW,YAC3CoI,GACE,iBACA,wBACA,+CAIJ,IAAK,MAAMh1C,KAAKwD,OAAO6C,KAAK4qB,KAAK2lB,eACc,IAAlCrtB,GAAS0H,KAAK2lB,SAAS52C,GAAGyyB,KACnC8hB,GAActjB,KAAK2lB,SAAS52C,IAIlCiyC,KACAxrB,EAA+BE,EACM,IAAjCA,IAAoCyJ,GAA4B,QAC/D,GAA0B,IAAtB3K,EAAUiqB,SAAiBlpB,EACpC,IAAK,MAAMxmB,KAAKwD,OAAO6C,KAAKkjB,IAC1BA,GAASvpB,GAAGiI,MAAM6U,QAAU6T,GAAwB3wB,GAAGoR,EAAEnJ,MAAM6U,QAC/DyM,GAASvpB,GAAGiI,MAAM8uC,UAChBpmB,GAAwB3wB,GAAGoR,EAAEnJ,MAAM8uC,UACrCxtB,GAASvpB,GAAGqD,YAAckF,KAAKoL,KAC7Bgd,GAAwB3wB,GAAGg3C,KAAO/lB,KAAKwH,KAgP3Cwe,GA9JA3wB,KACC2K,KAAKimB,cAA2C,YAA3BjmB,KAAKimB,aAAa72C,QAExCimB,EACE2K,KAAKimB,cAA2C,YAA3BjmB,KAAKimB,aAAa72C,KACrCimB,IACFstB,GAAM,EAAG,gBACTG,GAAUtuB,EAAUwnB,gBAAiB,eAAgB,iBACrD+H,GACE,sBACA,uBACA,kDA3CR,WACE,GAAI3uB,IAAyB4K,KAAKwR,aAAaQ,SAASN,QAAS,CAC/Dtc,EAAuB4K,KAAKwR,aAAaQ,SAASN,QAClD,IAAK,MAAM3iC,KAAKwD,OAAO6C,KAAK4qB,KAAK2lB,UAC/B,GAAI3lB,KAAK2lB,SAAS52C,GAAG62C,WAAuC,aAA1B5lB,KAAK2lB,SAAS52C,GAAGK,KAAqB,CACtEgwB,GAAwBY,KAAK2lB,SAAS52C,GACtC,MAGJ4zC,GAAM,EAAG,YACTG,GAAUtuB,EAAU6nB,YAAa,WAAY,aAC7C0H,GACE,kBACA,oBACA,0CAkLFmC,GAvYAlmB,KAAKoB,QAAQkM,KAAKxL,gBAClBxM,IAAuB0K,KAAKoB,QAAQkM,KAAKnM,SAASglB,WAEvB,IAAvB7wB,GAA4BA,EAAqBke,KAAKC,QACxDkP,GAAM,EAAG,aACTG,GAAUtuB,EAAUioB,aAAc,YAAa,eAEjDnnB,EAAqB0K,KAAKoB,QAAQkM,KAAKnM,SAASglB,UA+JpD,WACE,GACEnmB,KAAKoB,QAAQ,gBAAgBU,gBACH,IAA1BtN,EAAUqpB,YACV,CACA,MAAM1c,EAAWnB,KAAKoB,QAAQ,gBAAgBD,SAC1CA,EAAS2L,MAAQ3L,EAAS0L,OAAQpX,GAAmB,EAC/CA,IACRA,GAAmB,EACnBktB,GAAM,EAAG,cACTG,GAAUtuB,EAAUsoB,cAAe,aAAc,eACjDiH,GACE,oBACA,mBACA,6CAqNJqC,GAtIJ,WACE,GAAIpmB,KAAKqJ,WAAa,EAAG,CACvB,IAAIgd,EAAmB,EACvB,IAAK,MAAMt3C,KAAKixB,KAAK8E,UACa,IAA5B9E,KAAK8E,UAAU/1B,GAAGujC,OAAa+T,IAEjCA,EAAmB1wB,GACrBA,EAAoB0wB,EAElBA,IAAqBrmB,KAAKsmB,mBAC1B9xB,EAAU6oB,iBAEVsF,GAAM,EAAG,oBAETA,GAAM,EAAG,iBAGT0D,IAAqBrmB,KAAKsmB,mBAC1B9xB,EAAU8oB,iBAEVwF,GACEtuB,EAAUgpB,oBACV,mBACA,qBAGFsF,GACEtuB,EAAU2oB,iBACV,gBACA,kBAIFkJ,IAAqBrmB,KAAKsmB,mBAC1B9xB,EAAU4oB,wBAEV2G,GACE,0BACA,4BACA,sDAGFA,GACE,uBACA,sBACA,gCAIJpuB,EAAoB0wB,GAsFtBE,IAmBJ,SAASC,KACP,MAAMC,EAAaC,YACjBC,SAASC,aAAaC,QAAQ,sBAAsBjxC,MAAM,SAAS,IAE/DkxC,EAAoBL,EAAWh3C,MAAM,wBAC3C,GAA0B,OAAtBq3C,EAA4B,CAC9B,MAAMC,EAAgBN,EAAW9wC,QAC/BmxC,EAAkB,GAClB,iBAAiBhF,QAEnB8E,aAAaI,QACX,oBACAvU,OAAO,GAAGwU,YAAYF,aAS5B,SAASG,GAAWlF,GAKlB,QAHqC,IAA1B4E,aAAaO,iBACfP,aAAaO,cAELh4C,IAAb6yC,EAAwB,CAC1BxtB,EAAYwtB,EAGZ,IAAIoF,GAAM,EACV,IAAK,MAAMr4C,KAAKosC,GACd,QAA4B,IAAjB3mB,EAAUzlB,GACnBq4C,GAAM,EACN5yB,EAAUzlB,GAAKosC,GAAgBpsC,QAC1B,GAAU,WAANA,GAAwB,WAANA,GACI,IAA3BA,EAAEkD,QAAQ,YAERuiB,EAAUzlB,IAAM,GAAKylB,EAAUzlB,GAAK4yC,GAAa5yC,GAAGuyC,MAAMtyC,SAE5Do4C,GAAM,EACN5yB,EAAUzlB,GAAKosC,GAAgBpsC,IAEA,iBAAjBylB,EAAUzlB,KAE1Bq4C,GAAM,EACN5yB,EAAUzlB,GAAKosC,GAAgBpsC,SAE5B,GAAU,WAANA,EACT,IAAK,MAAMi1B,KAAKmX,GAAgB0D,YAED,IAApBrqB,EAAUzlB,GAAGi1B,IAClBxP,EAAUzlB,GAAGi1B,IAAM,GAAKxP,EAAUzlB,GAAGi1B,GAAK,IAE5CojB,GAAM,EACN5yB,EAAUzlB,GAAGi1B,GAAKmX,GAAgBpsC,GAAGi1B,SAKzC,IAAK,MAAMA,KAAKmX,GAAgBvkB,YAED,IAApBpC,EAAUzlB,GAAGi1B,IACO,iBAApBxP,EAAUzlB,GAAGi1B,KAEpBojB,GAAM,EACN5yB,EAAUzlB,GAAGi1B,GAAKmX,GAAgBpsC,GAAGi1B,IAKzCojB,GAAKZ,KACTnC,KACA,IAAK,MAAMt1C,KAAKosC,GACJ,WAANpsC,QAAkD,IAAzB4yC,GAAa5yC,GAAG+E,MAC3C6tC,GAAa5yC,GAAG+E,YAKpBozC,GAAW/L,IAyGf,SAASkM,KACP,IAAK,MAAMt4C,KAAKwD,OAAO6C,KAAK4qB,KAAK8E,WAC3B9E,KAAK8E,UAAU/1B,GAAG4jC,OAAS,GAAgC,IAA3B3S,KAAK8E,UAAU/1B,GAAGK,OACpD4wB,KAAK8E,UAAU/1B,GAAGu4C,GAAK,GAkF7B,SAASC,KACP,GAAIvnB,KAAKoB,QAAQ,gBAAgBU,eAC/B,IAAK,MAAM/yB,KAAKixB,KAAKoB,QAAQ,gBAAgBD,SAASwL,WACT,OAAvCxsB,EAAE,gBAAgBpR,KAAK40C,cACzB7tB,EAAsB/mB,GAAKoR,EAAE,gBAAgBpR,KAAK40C,YAClDxjC,EAAE,gBAAgBpR,KAAK40C,YAAc,WACnC3jB,KAAK4H,QAAQ4f,QAAU,EACvBxnB,KAAK4H,QAAQrhB,KACX9Y,MACA,WACE,OAAOsiC,GAAc,IAAK,GAAGhhC,OAE/B,QAEFixB,KAAK4H,QAAQ6f,WAmBvB,SAASC,KACP,IACGxyB,GACD8K,KAAKoB,QAAQ,gBAAgBU,eAC7B,CACA,MAAMX,EAAWnB,KAAKoB,QAAQ,gBAAgBD,SAC9CnM,EAAqBmM,EAAS5a,KAC9ByZ,KAAKoB,QAAQ,gBAAgBD,SAAS5a,KAAO,WAC3CyO,IAC8B,IAA1BR,EAAUqpB,aAAqB1c,EAAS2L,MAAQ3L,EAAS0L,SAC3D1L,EAASwmB,cAAcp7B,WAAa,KAAKqN,GACvCwN,GACEjG,EAAS2L,MACT3L,EAAS0L,OACT1L,EAAS0L,cAKjB3X,GAA+B,GAkCnC,SAAS0yB,MA3BT,WACE,IACG3yB,GACD+K,KAAKoB,QAAQ,gBAAgBU,eAC7B,CACA,MAAMX,EAAWnB,KAAKoB,QAAQ,gBAAgBD,SAC9CrM,EAAuBqM,EAAS0mB,OAChC9yB,EAA0B,IAAIvkB,SAC5B,UAAU2wB,EAAS0mB,OAChBrwC,WACA5B,MAAM,SACN6C,KAAK,8CAEVunB,KAAKoB,QAAQ,gBAAgBD,SAAS0mB,OAAS,WAC7C9yB,IACAwyB,KACAryB,GAA+B,EAC/BwyB,KAEAzyB,GAAiC,IASrC6yB,GACAJ,KA4GF,IAAI55C,GAAUkmB,EAAoB,KAC9B+zB,GAA+B/zB,EAAoBhiB,EAAElE,IA+OzD,MAAMk6C,GAA6B,WA8BnC,SAASC,GAAmBrF,GACG,OAAzBziC,EAAE,SAASyiC,OACbziC,EAAE,SAASyiC,UAAer2B,UAAY,GAAGpM,EAAE,SAASyiC,KAAUzwC,SAC9DqiB,EAAUouB,GAAUtrC,KAAKC,MAAM4I,EAAE,SAASyiC,KAAUzwC,QAEtDq0C,KAQF,SAAS0B,GAAatF,GACpBpuB,EAAUqqB,OAAO+D,KACbpuB,EAAUqqB,OAAO+D,GAAU,IAAGpuB,EAAUqqB,OAAO+D,GAAU,GAC7D4D,KAiBF,SAAS2B,GAAYluB,EAAM2oB,GACzB,MAAM1e,EAAM72B,SAAS4D,cAAc,OACnCizB,EAAI10B,UAAY,QAChB00B,EAAIltB,MAAMwK,QAAU,WACpB0iB,EAAIltB,MAAM6U,QAAU,MACpBqY,EAAIltB,MAAMouB,SAAW,OACrBlB,EAAIltB,MAAMwsC,WAAa,2BACvBtf,EAAIvZ,YAAYtd,SAASqgB,eAAe,GAAGuM,OAC3C,MAAMmuB,EAAO/6C,SAAS4D,cAAc,QAiBpC,OAhBAm3C,EAAKpxC,MAAM+U,OAAS,UACpBq8B,EAAKpxC,MAAMqV,QAAU,eACrB+7B,EAAKpxC,MAAMmG,OAAS,OACpBirC,EAAKpxC,MAAMkG,MAAQ,OACnBkrC,EAAKpxC,MAAMsU,aAAe,MAC1B88B,EAAKpxC,MAAMuW,UAAY,SACvB66B,EAAKpxC,MAAM4U,gBAAkB,UAC7Bw8B,EAAKpxC,MAAM2F,MAAQ,QACnByrC,EAAKpxC,MAAMouB,SAAW,OACtBgjB,EAAKpxC,MAAMsuB,cAAgB,SAC3B8iB,EAAKh2C,YAAcoiB,EAAUqqB,OAAO+D,GAAU,IAAM,IACpDwF,EAAK3E,QAAU,WACbyE,GAAatF,GACb5iB,KAAK+S,cAEP7O,EAAIvZ,YAAYy9B,GACTlkB,EAYT,SAASmkB,GAAaj5C,EAAMkE,EAAM2mB,EAAMgR,GACtC,MAAM/G,EAAM72B,SAAS4D,cAAc,OACnCizB,EAAI10B,UAAY,UAEhB,MAAM84C,EAAcj7C,SAAS4D,cAAc,KAG3C,GAFAq3C,EAAYl2C,YAAckB,EAC1B4wB,EAAIvZ,YAAY29B,GACH,gBAATl5C,EAAwB,CAC1B80B,EAAI10B,UAAY,UAChB00B,EAAIvZ,YAAYtd,SAASqgB,eAAe,MAExC,MAAMka,EAAUv6B,SAAS4D,cAAc,QACvC22B,EAAQkc,WAAa,WACnB9jB,KAAK4H,QAAQ7hB,QAEf6hB,EAAQ+b,YAAc,WACpB3jB,KAAK4H,QAAQrhB,KAAK9Y,KAAMglC,OAAO5b,EAAYoU,GAAa1e,aAE1Dqb,EAAQ5wB,MAAM+U,OAAS,UACvB6b,EAAQ5wB,MAAMqV,QAAU,eACxBub,EAAQ5wB,MAAMmG,OAAS,OACvByqB,EAAQ5wB,MAAMkG,MAAQ,OACtB0qB,EAAQ5wB,MAAMsU,aAAe,MAC7Bsc,EAAQ5wB,MAAMuW,UAAY,SAC1Bqa,EAAQ5wB,MAAM4U,gBAAkB,UAChCgc,EAAQ5wB,MAAM2F,MAAQ,QACtBirB,EAAQ5wB,MAAMouB,SAAW,MACzBwC,EAAQ5wB,MAAMsuB,cAAgB,SAC9BsC,EAAQx1B,YAAc,IACtB8xB,EAAIvZ,YAAYid,GAIlB,OAFA1D,EAAIvZ,YAAYtd,SAASqgB,eAAe,OACxCwW,EAAIvZ,YAAYsP,GACTiK,EAQT,SAASqkB,GAAcC,GACrB,MAAMC,EAAOp7C,SAASq7C,yBACtBD,EAAK99B,YAAYtd,SAASqgB,eAAe,GAAG86B,EAAYx5C,YACxD,MAAMo5C,EAAO/6C,SAAS4D,cAAc,QACpCm3C,EAAKtE,WAAa,WAChB9jB,KAAK4H,QAAQ7hB,QAEf,MAAMklB,EAAc59B,SAAS4D,cAAc,OACrC03C,EAAUt7C,SAAS4D,cAAc,OACvC03C,EAAQ3xC,MAAMk0B,SAAW,QACzByd,EAAQ3xC,MAAM8wB,aAAe,MAC7B,MAAMmc,EAAQ52C,SAAS4D,cAAc,OACrCgzC,EAAMz0C,UAAY,OAClBy0C,EAAMjtC,MAAM8wB,aAAe,MAC3Bmc,EAAMjtC,MAAMuW,UAAY,SACxB02B,EAAM7xC,YAAc,UACpBu2C,EAAQh+B,YAAYs5B,GACpB,IAAK,MAAMl1C,KAAKwD,OAAO6C,KAAKozC,GAAc,CACxC,MAAMtkB,EAAM72B,SAAS4D,cAAc,OACnCizB,EAAIltB,MAAMuW,UAAY,SACtB2W,EAAIvZ,YAAYtd,SAASqgB,eAAe86B,EAAYz5C,KACpD45C,EAAQh+B,YAAYuZ,GAkBtB,OAhBA+G,EAAYtgB,YAAYg+B,GACxBP,EAAKzE,YAAc,WACjB3jB,KAAK4H,QAAQrhB,KAAK9Y,KAAMglC,OAAOxH,EAAY1e,aAE7C67B,EAAKpxC,MAAM+U,OAAS,UACpBq8B,EAAKpxC,MAAMqV,QAAU,eACrB+7B,EAAKpxC,MAAMmG,OAAS,OACpBirC,EAAKpxC,MAAMkG,MAAQ,OACnBkrC,EAAKpxC,MAAMsU,aAAe,MAC1B88B,EAAKpxC,MAAMuW,UAAY,SACvB66B,EAAKpxC,MAAM4U,gBAAkB,UAC7Bw8B,EAAKpxC,MAAM2F,MAAQ,QACnByrC,EAAKpxC,MAAMouB,SAAW,MACtBgjB,EAAKpxC,MAAMsuB,cAAgB,SAC3B8iB,EAAKh2C,YAAc,IACnBq2C,EAAK99B,YAAYy9B,GACVK,EA8tBT,SAASG,GAAa3E,GACpB,MAAM4E,EAAQx7C,SAAS4D,cAAc,OAiCrC,GAhCA43C,EAAMr5C,UAAY,aAClBq5C,EAAMl+B,YAAYs5B,GAElB4E,EAAMl+B,YAAYw9B,GAAY,gBAAiB,UAC3C3zB,EAAUqqB,OAAOe,OACnBiJ,EAAMl+B,YAhtBV,WAEE,MAAMm+B,EAAkB9oB,KAAKyW,SAAS,oBAClC,2CACA,6BAEEsS,EAAU17C,SAAS4D,cAAc,OACvC83C,EAAQv5C,UAAY,sBAEpB,MAAMw5C,EACJhpB,KAAKsG,QAAUvB,KAAuBzI,GAAa/F,EAAWH,EAC1D6yB,EACJjpB,KAAKsG,QAAUvB,KAAuBzI,GAClC1C,IACG0C,IAAc0D,KAAKsG,QAAUvB,OAAyBN,MAEzD,GACAykB,EAAe77C,SAASq7C,yBACxBS,EAAe97C,SAAS4D,cAAc,QAK5C,GAJAk4C,EAAanyC,MAAM0wB,WAAa,OAChCyhB,EAAa35C,UAAYymB,EAAe+yB,EACxCG,EAAa/2C,YAAcomB,GAA4B8D,IACvD4sB,EAAav+B,YAAYw+B,GACP,KAAdF,EAAkB,CACpB,MAAMG,EAAgB/7C,SAAS4D,cAAc,SAC7Cm4C,EAAch3C,YAAc,KAAK62C,KACjCC,EAAav+B,YAAYy+B,GAE3BL,EAAQp+B,YACN09B,GACE,cACA,4BACAa,EACAJ,IAIJ,MAAMO,EACJrpB,KAAKsG,QAAUvB,KAAuBtI,GAClClG,EACAH,EACAkzB,EACJtpB,KAAKsG,QAAUvB,KAAuBtI,GAClC7C,IACG6C,IAAoBuD,KAAKsG,QAAUvB,OAAyBN,MAE/D,GACA8kB,EAAmBl8C,SAASq7C,yBAC5Bc,EAAmBn8C,SAAS4D,cAAc,QAKhD,GAJAu4C,EAAiBxyC,MAAM0wB,WAAa,OACpC8hB,EAAiBh6C,UAAYymB,EAAeozB,EAC5CG,EAAiBp3C,YAAcomB,GAA4BiE,IAC3D8sB,EAAiB5+B,YAAY6+B,GACL,KAApBF,EAAwB,CAC1B,MAAMG,EAAoBp8C,SAAS4D,cAAc,SACjDw4C,EAAkBr3C,YAAc,KAAKk3C,KACrCC,EAAiB5+B,YAAY8+B,GAE/BV,EAAQp+B,YACN09B,GACE,cACA,qCACAkB,EACAT,IAIJ,MAAMY,EAAantB,KAAqBC,GAElCmtB,EAAqBt8C,SAAS4D,cAAc,QAClD04C,EAAmB3yC,MAAM0wB,WAAa,OACtCiiB,EAAmBn6C,UAAYymB,EAAesG,GAC9CotB,EAAmBv3C,YACjBomB,GAA4B+D,KAC3BmtB,EAAa,MAAMlxB,GAA4BgE,MAA2B,IAC7EusB,EAAQp+B,YACN09B,GACE,cACA,yBAAwBqB,EAAa,oBAAsB,IAC3DC,EACAb,IAIJ,MAAMc,EAA2Bv8C,SAAS4D,cAAc,QACxD24C,EAAyB5yC,MAAM0wB,WAAa,OAC5CkiB,EAAyBp6C,UAAYymB,EAAe2zB,EACpDA,EAAyBx3C,YACvBomB,GAA4BkE,KAC3BgtB,EAAa,MAAMlxB,GAA4BmE,MAAiC,IACnFosB,EAAQp+B,YACN09B,GACE,cACA,kCAAiCqB,EAAa,oBAAsB,IACpEE,EACAd,IAIJ,MAAMe,EACJvyC,KAAK2D,IACqC,KAAvC+kB,KAAKsG,QAAUvB,MAChB/H,GAA6BC,GAAoC,GAAK,IACpE,GACA6sB,EAAez8C,SAAS4D,cAAc,QAc5C,OAbA64C,EAAa9yC,MAAM0wB,WAAa,OAChCoiB,EAAat6C,UAAYymB,EAAe6zB,EACxCA,EAAa13C,YACXomB,GAA4B0E,GAAyB2sB,IACpDH,EAAa,MAAMlxB,GAA4B2E,GAAwB0sB,KAAkB,IAC5Fd,EAAQp+B,YACN09B,GACE,cACA,yBAAwBqB,EAAa,oBAAsB,IAC3DI,EACAhB,IAGGC,EA0lBagB,IAGpBlB,EAAMl+B,YAAYw9B,GAAY,gBAAiB,UAC3C3zB,EAAUqqB,OAAOgB,OACnBgJ,EAAMl+B,YAxlBV,WAEE,MAAMm+B,EAAkB9oB,KAAKyW,SAAS,oBAClC,2CACA,6BAEEsS,EAAU17C,SAAS4D,cAAc,OACvC83C,EAAQv5C,UAAY,sBAEpB,MAAMw6C,EACJhqB,KAAKsG,QAAUvB,KAAuB1G,GAClC9H,EACAH,EACA6zB,EACJjqB,KAAKsG,QAAUvB,KAAuB1G,GAClCzE,IACGyE,IAAsB2B,KAAKsG,QAAUvB,OACpCN,MAEJ,GACAylB,EAAe78C,SAASq7C,yBACxByB,EAAe98C,SAAS4D,cAAc,QAK5C,GAJAk5C,EAAanzC,MAAM0wB,WAAa,OAChCyiB,EAAa36C,UAAYymB,EAAe+zB,EACxCG,EAAa/3C,YAAcomB,GAA4B6F,IACvD6rB,EAAav/B,YAAYw/B,GACP,KAAdF,EAAkB,CACpB,MAAMG,EAAgB/8C,SAAS4D,cAAc,SAC7Cm5C,EAAch4C,YAAc,KAAK63C,KACjCC,EAAav/B,YAAYy/B,GAE3BrB,EAAQp+B,YACN09B,GACE,cACA,2BACA6B,EACApB,IAIJ,MAAMuB,EACJrqB,KAAKsG,QAAUvB,KAAuBvG,GAClCjI,EACAH,EACAk0B,EACJtqB,KAAKsG,QAAUvB,KAAuBvG,GAClC5E,IACG4E,IAA2BwB,KAAKsG,QAAUvB,OACzCN,MAEJ,GACA8lB,EAAoBl9C,SAASq7C,yBAC7B8B,EAAoBn9C,SAAS4D,cAAc,QAKjD,GAJAu5C,EAAkBxzC,MAAM0wB,WAAa,OACrC8iB,EAAkBh7C,UAAYymB,EAAeo0B,EAC7CG,EAAkBp4C,YAAcomB,GAA4BgG,IAC5D+rB,EAAkB5/B,YAAY6/B,GACP,KAAnBF,EAAuB,CACzB,MAAMG,EAAqBp9C,SAAS4D,cAAc,SAClDw5C,EAAmBr4C,YAAc,KAAKk4C,KACtCC,EAAkB5/B,YAAY8/B,GAEhC1B,EAAQp+B,YACN09B,GACE,cACA,mCACAkC,EACAzB,IAIJ,MAAM4B,EACJ1qB,KAAKsG,QAAUvB,KAAuBpG,GAClCpI,EACAH,EACAu0B,EACJ3qB,KAAKsG,QAAUvB,KAAuBpG,GAClC/E,IACG+E,IAA4BqB,KAAKsG,QAAUvB,OAC1CN,MAEJ,GACAmmB,EAAmBv9C,SAASq7C,yBAC5BmC,EAAmBx9C,SAAS4D,cAAc,QAKhD,GAJA45C,EAAiB7zC,MAAM0wB,WAAa,OACpCmjB,EAAiBr7C,UAAYymB,EAAey0B,EAC5CG,EAAiBz4C,YAAcomB,GAA4BmG,IAC3DisB,EAAiBjgC,YAAYkgC,GACL,KAApBF,EAAwB,CAC1B,MAAMG,EAAoBz9C,SAAS4D,cAAc,SACjD65C,EAAkB14C,YAAc,KAAKu4C,KACrCC,EAAiBjgC,YAAYmgC,GAE/B/B,EAAQp+B,YACN09B,GACE,cACA,oCACAuC,EACA9B,IAIJ,MAAMiC,EACJ/qB,KAAKsG,QAAUvB,KAAuBjG,GAClCvI,EACAH,EACA40B,EACJhrB,KAAKsG,QAAUvB,KAAuBjG,GAClClF,IACGkF,IACEkB,KAAKsG,QAAUvB,OAChBN,MAEJ,GACAwmB,EAAwB59C,SAASq7C,yBACjCwC,EAAwB79C,SAAS4D,cAAc,QAKrD,GAJAi6C,EAAsBl0C,MAAM0wB,WAAa,OACzCwjB,EAAsB17C,UAAYymB,EAAe80B,EACjDG,EAAsB94C,YAAcomB,GAA4BsG,IAChEmsB,EAAsBtgC,YAAYugC,GACL,KAAzBF,EAA6B,CAC/B,MAAMG,EAAyB99C,SAAS4D,cAAc,SACtDk6C,EAAuB/4C,YAAc,KAAK44C,KAC1CC,EAAsBtgC,YAAYwgC,GAEpCpC,EAAQp+B,YACN09B,GACE,cACA,4CACA4C,EACAnC,IAIJC,EAAQp+B,YACN09B,GACE,cACA,wCACAh7C,SAASqgB,eACP,GAAG8K,GAA4B+F,GAAoB,SAAS/F,GAC1DkG,GAAyB,OAG7BoqB,IAIJC,EAAQp+B,YACN09B,GACE,cACA,iDACAh7C,SAASqgB,eACP,GAAG8K,GAA4BqG,GAA0B,SAASrG,GAChEqG,GAA0B,OAG9BiqB,IAIJ,MAAMsC,EAAc9zC,KAAK2D,IACN,GAAjB+kB,KAAK4E,UAAiB,GAAK,EAAI3H,GAChB,GAAf+C,KAAKsG,SAED+kB,EAAWlS,GACf,EACAiS,EACAluB,IACA,GACIouB,EAAgBnS,GACpB,EACAiS,EACAjuB,IACA,GAoCF,OAnCA4rB,EAAQp+B,YACN09B,GACE,cACA,wCACAh7C,SAASqgB,eACP,GAAG8K,GAA4B6yB,QAAe7yB,GAA4B8yB,MAE5ExC,IAIJC,EAAQp+B,YACN09B,GACE,cACA,oCACAh7C,SAASqgB,eACP,GAAG8K,GAA4B8F,SAA6B9F,GAC1DiG,OAGJ,8BAGJsqB,EAAQp+B,YACN09B,GACE,cACA,6CACAh7C,SAASqgB,eACP,GAAG8K,GAA4BoG,SAAmCpG,GAChEuG,OAGJ,8BAGGgqB,EAuYawC,IAGhBvrB,KAAKoB,QAAQ,gBAAgBU,iBAC/B+mB,EAAMl+B,YAAYw9B,GAAY,SAAU,WACpC3zB,EAAUqqB,OAAOiB,QACnB+I,EAAMl+B,YAtYZ,WACE,MAAMo+B,EAAU17C,SAAS4D,cAAc,OACvC83C,EAAQv5C,UAAY,uBAEpB,MAAMg8C,EACJxrB,KAAKsG,QAAUvB,KAAuBnI,GAAerG,EAAWH,EAC5Dq1B,EACJzrB,KAAKsG,QAAUvB,KAAuBnI,GAClChD,IACGgD,IAAgBoD,KAAKsG,QAAUvB,OAAyBN,MAE3D,GAEAinB,EAAiBr+C,SAASq7C,yBAC1BiD,EAAiBt+C,SAAS4D,cAAc,QAK9C,GAJA06C,EAAe30C,MAAM0wB,WAAa,OAClCikB,EAAen8C,UAAYymB,EAAeu1B,EAC1CG,EAAev5C,YAAcomB,GAA4BoE,IACzD8uB,EAAe/gC,YAAYghC,GACP,KAAhBF,EAAoB,CACtB,MAAMG,EAAkBv+C,SAAS4D,cAAc,SAC/C26C,EAAgBx5C,YAAc,KAAKq5C,KACnCC,EAAe/gC,YAAYihC,GAE7B7C,EAAQp+B,YACN09B,GACE,cACA,yCACAqD,EACA,+BAGJ3C,EAAQp+B,YACN09B,GACE,cACA,qCACAh7C,SAASqgB,eAAe8K,GAA4BqE,KACpD,+BAIJ,MAAMgvB,EACJ7rB,KAAKsG,QAAUvB,KAAsC,EAAfnI,GAClCrG,EACAH,EACA01B,EAAmBx0C,KAAK2D,IACY,KAAvC+kB,KAAKsG,QAAUvB,MACa,GAA7B/H,GAAkC,IAE9B+uB,EACJ/rB,KAAKsG,QAAUvB,KAAsC,EAAfnI,GAClChD,IACkB,EAAfgD,IAAoBoD,KAAKsG,QAAUvB,OAAyBN,MAE/D,GAEAunB,EAAuB3+C,SAASq7C,yBAChCuD,EAAuB5+C,SAAS4D,cAAc,QAKpD,GAJAg7C,EAAqBj1C,MAAM0wB,WAAa,OACxCukB,EAAqBz8C,UAAYymB,EAAe41B,EAChDI,EAAqB75C,YAAcomB,GAA2C,EAAfoE,IAC/DovB,EAAqBrhC,YAAYshC,GACP,KAAtBF,EAA0B,CAC5B,MAAMG,EAAwB7+C,SAAS4D,cAAc,SACrDi7C,EAAsB95C,YAAc,KAAK25C,KACzCC,EAAqBrhC,YAAYuhC,GAsCnC,OApCAnD,EAAQp+B,YACN09B,GACE,cACA,kDACA2D,EACA,+BAGJjD,EAAQp+B,YACN09B,GACE,cACA,8CACAh7C,SAASqgB,eAAe8K,GAAiD,EAArBqE,KACpD,+BAGJksB,EAAQp+B,YACN09B,GACE,cACA,qCACAh7C,SAASqgB,eAAe8K,GAA4BszB,IACpD,+BAGAhvB,IACFisB,EAAQp+B,YACN09B,GACE,cACA,mEACAh7C,SAASqgB,eACP,GAAG8K,GAA4BsE,QAAkBC,OAEnD,+BAICgsB,EA+ReoD,KAIlBnsB,KAAKoB,QAAQkM,KAAKxL,iBACpB+mB,EAAMl+B,YAAYw9B,GAAY,SAAU,WACpC3zB,EAAUqqB,OAAOkB,QACnB8I,EAAMl+B,YA/RZ,WACE,MAAMo+B,EAAU17C,SAAS4D,cAAc,OACvC83C,EAAQv5C,UAAY,uBAEpB,MAAM48C,EACJpsB,KAAKsG,QAA2B,GAAjBtG,KAAK4E,UAAiB,GAAK,IAAMrO,EAAWH,EACvDi2B,EAAgBh/C,SAAS4D,cAAc,QAC7Co7C,EAAcr1C,MAAM0wB,WAAa,OACjC2kB,EAAc78C,UAAYymB,EAAem2B,EACzCC,EAAcj6C,YAAcomB,GAA6C,GAAjBwH,KAAK4E,UAAiB,GAAK,KACnFmkB,EAAQp+B,YACN09B,GACE,QACA,iDACAgE,IAIJ,MAAMC,EACJtsB,KAAKsG,QAA2B,GAAjBtG,KAAK4E,UAAiB,IAAMrO,EAAWH,EAClDm2B,EAAgBl/C,SAAS4D,cAAc,QAC7Cs7C,EAAcv1C,MAAM0wB,WAAa,OACjC6kB,EAAc/8C,UAAYymB,EAAeq2B,EACzCC,EAAcn6C,YAAcomB,GAA6C,GAAjBwH,KAAK4E,UAAiB,KAC9EmkB,EAAQp+B,YACN09B,GACE,QACA,iDACAkE,IAIJ,MAAMC,EACJxsB,KAAKsG,QAA2B,GAAjBtG,KAAK4E,UAAiB,GAAK,GAAKrO,EAAWH,EACtDq2B,EAAgBp/C,SAAS4D,cAAc,QAC7Cw7C,EAAcz1C,MAAM0wB,WAAa,OACjC+kB,EAAcj9C,UAAYymB,EAAeu2B,EACzCC,EAAcr6C,YAAcomB,GAA6C,GAAjBwH,KAAK4E,UAAiB,GAAK,IACnFmkB,EAAQp+B,YACN09B,GACE,QACA,iDACAoE,IAIJ,MAAMC,EACJ1sB,KAAKsG,QAA2B,GAAjBtG,KAAK4E,UAAiB,GAAK,IAAMrO,EAAWH,EACvDu2B,EAAgBt/C,SAAS4D,cAAc,QAW7C,OAVA07C,EAAc31C,MAAM0wB,WAAa,OACjCilB,EAAcn9C,UAAYymB,EAAey2B,EACzCC,EAAcv6C,YAAcomB,GAA6C,GAAjBwH,KAAK4E,UAAiB,GAAK,KACnFmkB,EAAQp+B,YACN09B,GACE,QACA,iDACAsE,IAGG5D,EAoOe6D,KAItB/D,EAAMl+B,YAAYw9B,GAAY,WAAY,aACtC3zB,EAAUqqB,OAAOmB,UACnB6I,EAAMl+B,YAnOV,WACE,MAAMo+B,EAAU17C,SAAS4D,cAAc,OACvC83C,EAAQv5C,UAAY,yBAEpB,MAAMq9C,EAAkBv1C,KAAKkE,MAC3BwkB,KAAK+Z,gBACH9a,GACEe,KAAKga,aACLrc,IACCqC,KAAKwU,YAAY,mBAAqBxU,KAAK2R,IAAI,iBAC5CpU,GACA,KAGVwrB,EAAQp+B,YACN09B,GACE,cACA,6BACAh7C,SAASqgB,eACP,GAAG8K,GAA4BwH,KAAK2K,eAAenS,GAA4Bq0B,MAEjF,+BAIJ,MAAMC,EAAax1C,KAAK6D,IACtB,EACA6kB,KAAKylB,oBAAoBoH,EAAkB,IACxC5tB,GACCe,KAAKga,aACLrc,IAEEqC,KAAKwU,YAAY,mBAAqBxU,KAAK2R,IAAI,kBAC3CpU,GAGFA,GACA,KAEJwvB,EAAkB1/C,SAASq7C,yBACjCqE,EAAgBpiC,YAAYtd,SAASqgB,eAAe8K,GAA4Bs0B,KAChF,MAAME,EAAmB3/C,SAAS4D,cAAc,SAChD+7C,EAAiB56C,YAAc,KAAKwnB,GAClCkzB,EAAa5tB,GACb,MAEF6tB,EAAgBpiC,YAAYqiC,GAC5BjE,EAAQp+B,YACN09B,GACE,cACA,wBACA0E,EACA,gCAIJhE,EAAQp+B,YACN09B,GACE,cACA,6BACAh7C,SAASqgB,eACP,GAAG8K,GAA4BwH,KAAKitB,oBAAoBz0B,GACtDq0B,EAAkB7sB,KAAK2K,SAAW3K,KAAKitB,kBAG3C,oCAIJlE,EAAQp+B,YACN09B,GACE,QACA,6CACAh7C,SAASqgB,eAAe8K,GAA4B4E,GAAkB,MAI1E,MAAM8vB,EAAWj0B,OAAOzE,EAAUspB,qBAClC,IAAK7kB,OAAO5I,MAAM68B,GAAW,CAC3B,MAAMC,EACJD,EACA51C,KAAKkE,MAAMwkB,KAAK+Z,gBAAgB/Z,KAAKga,aAAeha,KAAK2T,gBACvDwZ,EAAoB,IACtBpE,EAAQp+B,YACN09B,GACE,QACA,iDACAh7C,SAASqgB,eAAe8K,GAA4B20B,MAGxDpE,EAAQp+B,YACN09B,GACE,QACA,iDACAh7C,SAASqgB,eACPkM,GAAWuzB,EAAoB/vB,QAOzC,MAAMgwB,EAh5BR,SAAoBC,GAElB,IAAIC,EAASttB,KAAK4E,UAElB0F,KAE2C,IAAvCzK,GAAY,gBAAgBkB,SAC9BlB,GAAY,wBAAwBkB,OAAS,EAC7ClB,GAAY,yBAAyBkB,OAAS,EAC9ClB,GAAY,mBAAmBkB,OAAS,EACxClB,GAAY,0BAA0BkB,OAAS,EAC/ClB,GAAY,gBAAgBkB,OAAS,EAErCqU,KAEAkY,EAAStxB,GAETsO,MAGErL,IAA0B,KAASkW,GAAO,aAC1ClW,IAA0B,KAAYkW,GAAO,YAC7ClW,IAA0B,MAAekW,GAAO,gBAChDlW,IAA0B,MAAkBkW,GAAO,YACnDlW,IAA0B,MAAqBkW,GAAO,iBACtDlW,IAA0B,MAC5BkW,GAAO,kBACLlW,IAA0B,MAC5BkW,GAAO,iBACLlW,IAA0B,MAC5BkW,GAAO,cACLlW,IAA0B,MAC5BkW,GAAO,iBACLlW,IAA0B,MAC5BkW,GAAO,uBACLlW,IAA0B,MAC5BkW,GAAO,mBACLlW,IAA0B,MAC5BkW,GAAO,uBACLlW,IAA0B,MAC5BkW,GAAO,wBACLlW,IAA0B,MAC5BkW,GAAO,mBAEPlW,IAA0B,MAE1BkW,GAAO,WAEPlW,IACA,MAEAkW,GAAO,iBAEPlW,IACA,MAEAkW,GAAO,iCAETtV,GAAY,wBAAwBkB,OAAS,EAC7ClB,GAAY,yBAAyBkB,OAAS,EAC9ClB,GAAY,mBAAmBkB,OAAS,EACxClB,GAAY,0BAA0BkB,OAAS,EAC/ClB,GAAY,gBAAgBkB,OAAS,EAErCpF,GAAc0xB,EAEd,MAAMjV,EAAwB3c,GAE9B2Z,KAEAkC,KAEIc,IAA0B3c,IAC5B2Z,KAGF,MAAMmY,EAAWvxB,GAAesxB,EAKhC,OAFA3xB,GAAcqE,KAAK2K,SAEZ4iB,EA+zBYC,CAAWX,GACxBY,EAAYpgD,SAASq7C,yBAC3B+E,EAAU9iC,YAAYtd,SAASqgB,eAAe8K,GAA4B40B,KAC1E,MAAMriB,EAAWzzB,KAAKC,MAAO61C,EAAaptB,KAAK4E,UAAa,KAC5D,GAAI3L,OAAOC,SAAS6R,IAA0B,IAAbA,EAAgB,CAC/C,MAAM2iB,EAAargD,SAAS4D,cAAc,SAC1Cy8C,EAAWt7C,YAAc,KAAK24B,EAAW,kBACzC0iB,EAAU9iC,YAAY+iC,GAExB3E,EAAQp+B,YACN09B,GACE,cACA,qBACAoF,EACA,4BAIJ,MAAME,EAAkBr2C,KAAKkE,MAAMwkB,KAAK+Z,gBAAgB/Z,KAAKga,eACvD4T,EAAWt2C,KAAKkE,MACpBwkB,KAAK+Z,gBAAgB/Z,KAAKga,aAAeha,KAAK2T,gBAE1Cka,EAAUD,EAAWD,EAC3B,IAAK3tB,KAAK2R,IAAI,eAAgB,CAC5B,IAAImc,EAAS,EAAKF,EAAW,GACzBE,EAAS,IAAGA,GAAU,IAC1B,MAAMC,EAAaF,EAAUC,EACvBE,EAAaJ,EAAWE,EACxBG,EAAQ5gD,SAASq7C,yBACvBuF,EAAMtjC,YACJtd,SAASqgB,eACP,GAAGsgC,EAAW10B,sBAAsBy0B,EAAWz0B,sBAAsBw0B,OAGzE/E,EAAQp+B,YACN09B,GAAa,QAAS,qCAAsC4F,IAIhE,IAAKjuB,KAAK2R,IAAI,gBAAiB,CAC7B,IAAIuc,EAAW,IAAON,EAAW,IAC7BM,EAAW,IAAGA,GAAY,KAC9B,MAAMC,EAAeN,EAAUK,EACzBE,EAAeR,EAAWM,EAC1BG,EAAUhhD,SAASq7C,yBACzB2F,EAAQ1jC,YACNtd,SAASqgB,eACP,GAAG0gC,EAAa90B,sBAAsB60B,EAAa70B,sBAAsB40B,OAG7EnF,EAAQp+B,YACN09B,GAAa,QAAS,sCAAuCgG,IAIjE,IAAKruB,KAAK2R,IAAI,gBAAiB,CAC7B,IAAI2c,EAAc,OAAUV,EAAW,IACnCU,EAAc,IAAGA,GAAe,KACpC,MAAMC,EAAkBV,EAAUS,EAC5BE,EAAkBZ,EAAWU,EAC7BG,EAAaphD,SAASq7C,yBAC5B+F,EAAW9jC,YACTtd,SAASqgB,eACP,GAAG8gC,EAAgBl1B,sBAAsBi1B,EAAgBj1B,sBAAsBg1B,OAGnFvF,EAAQp+B,YACN09B,GAAa,QAAS,sCAAuCoG,IAIjE,OAAO1F,EAsDa2F,IAGhB1uB,KAAK6E,UAAY,IACnBgkB,EAAMl+B,YAAYw9B,GAAY,YAAa,UACvC3zB,EAAUqqB,OAAOoB,OAAO,CAC1B,MAAM0O,EAAathD,SAASq7C,yBAC5BiG,EAAWhkC,YACTtd,SAASqgB,eACP,GAAG8K,GAA4BmF,SAA0BnF,GACvDoF,SAIN,MAAMgxB,EAAUvhD,SAAS4D,cAAc,KACvC29C,EAAQx8C,YAAc,iBACtBw8C,EAAQp/C,UAAY,SACpBo/C,EAAQnL,QAAU,WAChB4D,MAEFsH,EAAWhkC,YAAYikC,GACvB/F,EAAMl+B,YACJ09B,GACE,QACA,kCACAsG,IAGJ,MAAME,EAAiBxhD,SAASq7C,yBAChCmG,EAAelkC,YACbtd,SAASqgB,eAAe,GAAG8K,GAA4BqF,GAAsB,SAE/E,MAAMixB,EAAczhD,SAAS4D,cAAc,KAC3C69C,EAAY18C,YAAc,qBAC1B08C,EAAYt/C,UAAY,SACxBs/C,EAAYrL,QAAU,WACa,OAA7B5lB,GAAsB,KACxBmC,KAAK8E,UAAUjH,GAAsB,IAAIypB,GAAK,IAElDuH,EAAelkC,YAAYmkC,GAC3BjG,EAAMl+B,YACJ09B,GACE,QACA,6DAC+B,OAA7BxqB,GAAsB,GAClBA,GAAsB,GACtB,UAENgxB,IAMR,IAAIE,GAAW,EACf,MAAMC,EAA0B,GAChC,IAAK,MAAMjgD,KAAKwD,OAAO6C,KAAK6hC,IACrBjX,KAAK2R,IAAIsF,GAAaloC,MACzBigD,EAAwBn+C,KAAKomC,GAAaloC,IAC1CggD,GAAW,GAGf,MAAME,EAA0B,GAChC,IAAK,MAAMlgD,KAAKwD,OAAO6C,KAAK8hC,IACrBlX,KAAK2R,IAAIuF,GAAcnoC,MAC1BkgD,EAAwBp+C,KAAKqmC,GAAcnoC,IAC3CggD,GAAW,GAGf,MAAMG,EAA0B,GAChC,IAAK,MAAMngD,KAAKwD,OAAO6C,KAAK+hC,IACrBnX,KAAK2R,IAAIwF,GAAWpoC,MACvBmgD,EAAwBr+C,KAAKsmC,GAAWpoC,IACxCggD,GAAW,GAGf,MAAMI,EAAoB,GAC1B,IAAK,MAAMpgD,KAAKwD,OAAO6C,KAAK4qB,KAAKovB,UAC1BpvB,KAAKwU,YAAYxU,KAAKovB,SAASrgD,MAClCogD,EAAkBt+C,KAAKmvB,KAAKovB,SAASrgD,IACrCggD,GAAW,GAGf,MAAMM,EAAkB,GACxB,IAAK,MAAMtgD,KAAKwD,OAAO6C,KAAK4qB,KAAKsvB,cAC1BtvB,KAAKwU,YAAYxU,KAAKsvB,aAAavgD,MACtCsgD,EAAgBx+C,KAAKmvB,KAAKsvB,aAAavgD,IACvCggD,GAAW,GAGf,MAAMQ,EAAoB,GAC1B,IAAK,MAAMxgD,KAAKwD,OAAO6C,KAAKgiC,IACrBpX,KAAKwU,YAAY4C,GAAWroC,MAC/BwgD,EAAkB1+C,KAAKumC,GAAWroC,IAClCggD,GAAW,GAGf,MAAMxa,EACJvU,KAAKwU,YAAY,mBAAqBxU,KAAK2R,IAAI,iBAC3C6d,EAAUxvB,KAAK2R,IAAI,eAuFzB,IArFoB,cAAhB3R,KAAK+R,QAA0Bgd,GAAYxa,GAAUib,KACvD3G,EAAMl+B,YAAYw9B,GAAY,kBAAmB,QAC7C3zB,EAAUqqB,OAAOqB,MACoB,IAAnC8O,EAAwBhgD,QAC1B65C,EAAMl+B,YACJ09B,GACE,QACA,gCACAE,GAAcyG,KAGmB,IAAnCC,EAAwBjgD,QAC1B65C,EAAMl+B,YACJ09B,GACE,QACA,gCACAE,GAAc0G,KAGmB,IAAnCC,EAAwBlgD,QAC1B65C,EAAMl+B,YACJ09B,GACE,QACA,gCACAE,GAAc2G,KAGa,IAA7BC,EAAkBngD,QACpB65C,EAAMl+B,YACJ09B,GACE,QACA,oCACAE,GAAc4G,KAGW,IAA3BE,EAAgBrgD,QAClB65C,EAAMl+B,YACJ09B,GACE,QACA,kCACAE,GAAc8G,KAGa,IAA7BE,EAAkBvgD,QACpB65C,EAAMl+B,YACJ09B,GACE,QACA,kCACAE,GAAcgH,KAIA,cAAhBvvB,KAAK+R,QACP8W,EAAMl+B,YACJ09B,GACE,QACA,kBACAh7C,SAASqgB,eAAe8K,GAA4B8E,OAGtDiX,GACFsU,EAAMl+B,YACJ09B,GACE,cACA,wBACAh7C,SAASqgB,eAAe8K,GAA4B+E,KACpD,6BAIFiyB,GACF3G,EAAMl+B,YACJ09B,GACE,QACA,yBACAh7C,SAASqgB,eACJpW,KAAKC,MAA2B,KAApB8lB,GAAe,IAAc,IAA5C,SAQZwrB,EAAMl+B,YAAYw9B,GAAY,gBAAiB,SAC3C3zB,EAAUqqB,OAAOsB,KAAM,CAsBzB,GArBA0I,EAAMl+B,YACJ09B,GACE,QACA,oCACE/wB,EAAY9C,EAAU6f,YAAc,GAChC,GAAG/c,EAAY9C,EAAU6f,sBACzB/c,EAAY9C,EAAU6f,YAAc,IACV,IAAzB7f,EAAU6f,WAAmB,UAAY,eAEhDhnC,SAASqgB,eAAe8K,GAA4BiM,KAAU,MAGlEokB,EAAMl+B,YACJ09B,GACE,QACA,0CACE9wB,EAAW/C,EAAUigB,iBACQ,IAA5BjgB,EAAUigB,cAAsB,UAAY,cAC/CpnC,SAASqgB,eAAe8K,GAA4ByF,GAAoB,MAGxE+B,KAAK2R,IAAI,mBAAoB,CAC/B,MAAMqG,EAAW,GACjB,IAAK,MAAMjpC,KAAKwD,OAAO6C,KAAK4hC,IACrBhX,KAAK2R,IAAIqF,GAASjoC,KACrBipC,EAASnnC,KAAKmmC,GAASjoC,IAGH,IAApBipC,EAAShpC,QACX65C,EAAMl+B,YACJ09B,GACE,QACA,+BACAE,GAAcvQ,KAatB,GATIxjB,EAAUupB,cACZ8K,EAAMl+B,YACJ09B,GACE,QACA,wBACAh7C,SAASqgB,eAAe8K,GAA4BwH,KAAKyvB,uBAI3DzvB,KAAK6Q,MAAMC,SAAU,CACvB,MAAMpL,EAAQr4B,SAAS4D,cAAc,QACrCy0B,EAAMlE,GAAK,uBACXkE,EAAMwL,UAAYlR,KAAKmR,QACV,GAAXnR,KAAKwH,KAAYxH,KAAKskB,SAAW,EAAItkB,KAAKoR,GAAgB,GAAXpR,KAAKwH,MACpD,GAEFqhB,EAAMl+B,YACJ09B,GAAa,QAAS,qBAAsB3iB,KAKlDvlB,EAAE,QAAQyhC,aAAaiH,EAAO1oC,EAAE,QAAQ8jB,WAAW,IAE/CzP,EAAUmpB,iBA3mIhB,WACE,IAAK,MAAM+R,KAAevvC,EAAE,QAAQ0vB,SAClC,GAAI6f,EAAY7f,SAAS,GACvB,GACwC,aAAtC6f,EAAY7f,SAAS,GAAGtjB,WACxB4R,GACA,CACA,MAAMwxB,EACJxxB,GAA6B1uB,MAAM,IAAIZ,OAAO,MAAO,MAAQ,GAC1DG,OAAS,EACRi1C,EAAQ52C,SAAS4D,cAAc,OACrCgzC,EAAMziB,GAAK,iCACXyiB,EAAMz0C,UAAY,UAClB,MAAMogD,EAAYviD,SAAS4D,cAAc,OACzC2+C,EAAUrjC,UAAY,qCAAqCojC,KACzD3vB,KAAK6vB,iBAAiB7gD,WACnBsI,KAAKkE,MACPm0C,EAA0B3vB,KAAK6vB,iBAAiB7gD,OAAU,SAE7Di1C,EAAMt5B,YAAYilC,GAClBF,EAAY/kC,YAAYs5B,GACxB,MAAMrN,EAAWvpC,SAAS4D,cAAc,OACxC2lC,EAASpnC,UAAY,mBACrBonC,EAASrqB,UAAY4R,GACrBuxB,EAAY/kC,YAAYisB,QACnB,GAA0C,aAAtC8Y,EAAY7f,SAAS,GAAGtjB,UAA0B,CAC3D,GAAI2R,GAAsB,CACxB,MAAM4xB,EACJ5xB,GAAqBzuB,MAAM,IAAIZ,OAAO,MAAO,MAAQ,GAAGG,OAAS,EAC7Di1C,EAAQ52C,SAAS4D,cAAc,OACrCgzC,EAAMziB,GAAK,yBACXyiB,EAAMz0C,UAAY,UAClB,MAAMogD,EAAYviD,SAAS4D,cAAc,OACzC2+C,EAAUrjC,UAAY,mCAAmCujC,KACvD9vB,KAAK2J,eAAe,IAAI36B,OAASgxB,KAAK2J,eAAeomB,KAAK/gD,WACvDsI,KAAKkE,MACPs0C,GACE9vB,KAAK2J,eAAe,IAAI36B,OACvBgxB,KAAK2J,eAAeomB,KAAK/gD,QAC3B,SAEJi1C,EAAMt5B,YAAYilC,GAClBF,EAAY9N,aAAaqC,EAAOyL,EAAYzrB,WAAW,IACvD,MAAM2S,EAAWvpC,SAAS4D,cAAc,OACxC2lC,EAASpnC,UAAY,mBACrBonC,EAASrqB,UAAY2R,GACrBwxB,EAAY9N,aACVhL,EACAvpC,SAAS8gC,eAAe,0BAA0B6hB,aAGtD,GAAI5xB,GAA6B,CAC/B,MAAM6xB,EACJ7xB,GAA4B3uB,MAAM,IAAIZ,OAAO,MAAO,MAAQ,GACzDG,OAAS,EACRi1C,EAAQ52C,SAAS4D,cAAc,OACrCgzC,EAAMziB,GAAK,gCACXyiB,EAAMz0C,UAAY,UAClB,MAAMogD,EAAYviD,SAAS4D,cAAc,OACzC2+C,EAAUrjC,UAAY,mCAAmC0jC,KACvDjwB,KAAK2J,eAAe4Z,OAAOv0C,WACxBsI,KAAKkE,MACPy0C,EAAwBjwB,KAAK2J,eAAe4Z,OAAOv0C,OAAU,SAEhEi1C,EAAMt5B,YAAYilC,GAClBF,EAAY/kC,YAAYs5B,GACxB,MAAMrN,EAAWvpC,SAAS4D,cAAc,OACxC2lC,EAASpnC,UAAY,mBACrBonC,EAASrqB,UAAY6R,GACrBsxB,EAAY/kC,YAAYisB,KAuiI9BsZ,GAuDJ,MAAMC,GAAe,CACnBrR,WAAY,cACZC,YAAa,cACbC,aAAc,eACd7T,QAAS,mCACTsU,WAAY,aACZC,SAAU,WACVC,cAAe,iBAIXyQ,GAA2B,CAC/BnR,oBAAqB,wBACrBC,eAAgB,gBAChBC,eAAgB,iBAChBC,gBAAiB,iBACjBC,iBAAkB,cAClBC,iBAAkB,iBAClBC,kBAAmB,WACnBC,qBAAsB,qBAuBxB,SAAS6Q,GAAiBzN,EAAQ3oB,GAChC,MAAMiK,EAAM72B,SAAS4D,cAAc,OACnCizB,EAAI10B,UAAY,QAEhB00B,EAAIltB,MAAM6U,QAAU,MACpBqY,EAAIltB,MAAMouB,SAAW,OACrBlB,EAAIvZ,YAAYtd,SAASqgB,eAAe,GAAGuM,OAC3C,MAAMmuB,EAAO/6C,SAAS4D,cAAc,QAiBpC,OAhBAm3C,EAAKpxC,MAAM+U,OAAS,UACpBq8B,EAAKpxC,MAAMqV,QAAU,eACrB+7B,EAAKpxC,MAAMmG,OAAS,OACpBirC,EAAKpxC,MAAMkG,MAAQ,OACnBkrC,EAAKpxC,MAAMsU,aAAe,MAC1B88B,EAAKpxC,MAAMuW,UAAY,SACvB66B,EAAKpxC,MAAM4U,gBAAkB,UAC7Bw8B,EAAKpxC,MAAM2F,MAAQ,QACnByrC,EAAKpxC,MAAMouB,SAAW,OACtBgjB,EAAKpxC,MAAMsuB,cAAgB,SAC3B8iB,EAAKh2C,YAAcoiB,EAAUqqB,OAAO+D,GAAU,IAAM,IACpDwF,EAAK3E,QAAU,WACbyE,GAAatF,GACb5iB,KAAK+S,cAEP7O,EAAIvZ,YAAYy9B,GACTlkB,EAQT,SAASosB,GAAiB1N,GACxB,MAAM1e,EAAM72B,SAAS4D,cAAc,OAEnC,GADAizB,EAAI10B,UAAY,UACkB,SAA9BmyC,GAAaiB,GAAQxzC,KAAiB,CACxC,MAAMwI,EAAIvK,SAAS4D,cAAc,KAC7B0wC,GAAaiB,GAAQrB,QAAgC,IAAtB/sB,EAAUouB,GAC3ChrC,EAAEpI,UAAY,aAEdoI,EAAEpI,UAAY,SAEhBoI,EAAE4pB,GAAKwmB,GAA6BpF,EACpChrC,EAAE6rC,QAAU,YA/yChB,SAAsBb,GACpBpuB,EAAUouB,KAENpuB,EAAUouB,KAAYjB,GAAaiB,GAAQtB,MAAMtyC,QACnDwlB,EAAUouB,GAAU,EAChBjB,GAAaiB,GAAQrB,SACvBphC,EAAE6nC,GAA6BpF,GAAQpzC,UAAY,eAChD2Q,EAAE6nC,GAA6BpF,GAAQpzC,UAAY,cAEjB,IAA9BmyC,GAAaiB,GAAQ9uC,MAC9B6tC,GAAaiB,GAAQ9uC,OAGvBqM,EAAE6nC,GAA6BpF,GAAQr2B,UACrCo1B,GAAaiB,GAAQtB,MAAM9sB,EAAUouB,IACvC4D,KAiyCI+J,CAAa3N,IAEfhrC,EAAExF,YAAcuvC,GAAaiB,GAAQtB,MAAM9sB,EAAUouB,IACrD1e,EAAIvZ,YAAY/S,GAChB,MAAM0pC,EAAQj0C,SAAS4D,cAAc,SAGrC,OAFAqwC,EAAMlvC,YAAcuvC,GAAaiB,GAAQxX,KACzClH,EAAIvZ,YAAY22B,GACTpd,EAET,GAAkC,QAA9Byd,GAAaiB,GAAQxzC,KAAgB,CACvC,MAAMg0C,EAAS/1C,SAAS4D,cAAc,OACtCmyC,EAAO5zC,UAAY,YACnB,MAAMy0C,EAAQ52C,SAAS4D,cAAc,OACrCgzC,EAAMjtC,MAAMw5C,MAAQ,OACpBvM,EAAM13B,UAAYo1B,GAAaiB,GAAQxX,KACvCgY,EAAOz4B,YAAYs5B,GACnB,MAAMwM,EAAUpjD,SAAS4D,cAAc,OACvCw/C,EAAQjvB,GAAK,SAASohB,SACtB6N,EAAQz5C,MAAMw5C,MAAQ,QACtBC,EAAQlkC,UAAY,GAAGiI,EAAUouB,MACjCQ,EAAOz4B,YAAY8lC,GACnB,MAAMC,EAASrjD,SAAS4D,cAAc,SAiBtC,OAhBAy/C,EAAOlhD,UAAY,SACnBkhD,EAAOlvB,GAAK,SAASohB,IACrB8N,EAAO15C,MAAMwU,MAAQ,OACrBklC,EAAOthD,KAAO,QACdshD,EAAOz1C,IAAM,IACby1C,EAAOv1C,IAAM,MACbu1C,EAAOC,KAAO,IACdD,EAAOv+C,MAAQqiB,EAAUouB,GACzB8N,EAAOr9B,QAAU,WACf40B,GAAmBrF,IAErB8N,EAAOE,SAAW,WAChB3I,GAAmBrF,IAErBQ,EAAOz4B,YAAY+lC,GACnBxsB,EAAIvZ,YAAYy4B,GACTlf,EAET,GAAkC,QAA9Byd,GAAaiB,GAAQxzC,KAAgB,CACvC,MAAMg5C,EAAO/6C,SAAS4D,cAAc,QACpCm3C,EAAK54C,UAAY,SACjB44C,EAAKh2C,YAAc,GAAGuvC,GAAaiB,GAAQtB,SAC3Cpd,EAAIvZ,YAAYy9B,GAChB,MAAMyI,EAAQxjD,SAAS4D,cAAc,SACrC4/C,EAAMrvB,GAAKwmB,GAA6BpF,EACxCiO,EAAMrhD,UAAY,SAClBqhD,EAAMzhD,KAAO,OACbyhD,EAAMC,UAAW,EACjBD,EAAMl+C,aAAa,QAAS6hB,EAAUouB,IACtCiO,EAAM75C,MAAMkG,MAAQ,QACpBgnB,EAAIvZ,YAAYkmC,GAChB3sB,EAAIvZ,YAAYtd,SAASqgB,eAAe,MACxC,MAAMqjC,EAAc1jD,SAAS4D,cAAc,SAC3C8/C,EAAYvvB,GAAK,GAAGwmB,GAA6BpF,UACjDmO,EAAYvhD,UAAY,SACxBuhD,EAAY3hD,KAAO,OACnB2hD,EAAYp+C,aAAa,QAAS6hB,EAAUouB,IAC5C,MAAMhrC,EAAIvK,SAAS4D,cAAc,KACjC2G,EAAEpI,UAAY,SACdoI,EAAE6rC,QAAU,WACVzjB,KAAKgxB,OAAOD,EAAYE,UAAW,CACjC,CACE,OACA,WACEz8B,EAAU,GAAGouB,KAAYziC,EAAE,WAAgCyiC,WAAgBzwC,MAC3Eq0C,KACAxmB,KAAKkxB,cACLlxB,KAAK+S,eAGT,YAGJn7B,EAAExF,YAAc,OAChB8xB,EAAIvZ,YAAY/S,GAChB,MAAM0pC,EAAQj0C,SAAS4D,cAAc,SAGrC,OAFAqwC,EAAMlvC,YAAcuvC,GAAaiB,GAAQxX,KACzClH,EAAIvZ,YAAY22B,GACTpd,EAET,GAAkC,UAA9Byd,GAAaiB,GAAQxzC,KAAkB,CACzC80B,EAAI10B,UAAY,GAChB,IAAK,IAAIT,EAAI,EAAGA,EAAI6nB,EAAO5nB,OAAQD,IAAK,CACtC,MAAMoiD,EAAW9jD,SAAS4D,cAAc,OACxCkgD,EAAS3hD,UAAY,UACrB,MAAMqhD,EAAQxjD,SAAS4D,cAAc,SACrC4/C,EAAMrvB,GAAK5K,EAAO7nB,GAClB8hD,EAAM75C,MAAMkG,MAAQ,OACpB2zC,EAAMl+C,aAAa,QAAS6hB,EAAUoC,OAAOA,EAAO7nB,KACpDoiD,EAASxmC,YAAYkmC,GAOrB,IAAI/iD,GAAQ+iD,EAAO,CAAE1hC,MAAM,EAAMnQ,SAAU,QAAS4P,QANrC,WACb4F,EAAUoC,OAAOnpB,KAAKmD,cAAc4wB,IAAM/zB,KAAK8gB,cAC/CwyB,KACAyF,KACAxmB,KAAK+S,gBAGP,MAAMuO,EAAQj0C,SAAS4D,cAAc,SACrCqwC,EAAMlvC,YAAcuvC,GAAa/qB,OAAOwU,KAAKxU,EAAO7nB,IACpDoiD,EAASxmC,YAAY22B,GACrBpd,EAAIvZ,YAAYwmC,GAGlB,OADApJ,KAAkB15C,OACX61B,EAET,GAAkC,aAA9Byd,GAAaiB,GAAQxzC,KAAqB,CAC5C,MAAMg5C,EAAO/6C,SAAS4D,cAAc,QACpCm3C,EAAK54C,UAAY,SACjB44C,EAAKh2C,YAAc,GAAGuvC,GAAaiB,GAAQtB,SAC3Cpd,EAAIvZ,YAAYy9B,GAChB,MAAMyI,EAAQxjD,SAAS4D,cAAc,SACrC4/C,EAAMrvB,GAAKwmB,GAA6BpF,EACxCiO,EAAMrhD,UAAY,SAClBqhD,EAAMzhD,KAAO,SACbyhD,EAAM1+C,MAAQqiB,EAAUouB,GACxBiO,EAAM51C,IAAM0mC,GAAaiB,GAAQ3nC,IACjC41C,EAAM11C,IAAMwmC,GAAaiB,GAAQznC,IACjC01C,EAAMx9B,QAAU,WACV5lB,KAAK0E,MAAQ1E,KAAK0N,KAAKvL,QAAQ+pB,IAAI,QACvCnF,EAAUouB,GAAUn1C,KAAK0E,MACzBq0C,KACA7F,MAEFzc,EAAIvZ,YAAYkmC,GAChB3sB,EAAIvZ,YAAYtd,SAASqgB,eAAe,MACxC,MAAM4zB,EAAQj0C,SAAS4D,cAAc,SAGrC,OAFAqwC,EAAMlvC,YAAcuvC,GAAaiB,GAAQxX,KACzClH,EAAIvZ,YAAY22B,GACTpd,EAET,OAAOA,EAyTT,SAASktB,GAAUh9C,GACjB,GAA2B,IAAvBogB,EAAUmS,UAA4C,IAA1BnS,EAAUoS,YAAmB,CAC3D,MAAMyqB,EAAiBx1C,SAASsE,EAAE,cAAcnJ,MAAMmG,OAAQ,IAC9D6iB,KAAKsxB,QAAUD,EACfj9C,IACA4rB,KAAKsxB,QAAUD,OAEfj9C,IAuBJ,SAASm9C,KAEPv7B,EAAgBgD,SAAWA,SAE3BA,SAAWR,GAEXxC,EAAgBof,eAAiBpV,KAAKoV,eACtCpV,KAAKoV,eAAiB,WACpBpf,EAAgBof,iBAChBtZ,GAAY,EACZoE,GAAcsT,KAAKC,MACnB1T,GAAiByT,KAAKC,OAGxBzd,EAAgB4R,QAAU,GAC1B5R,EAAgB4R,QAAQrhB,KAAOyZ,KAAK4H,QAAQrhB,KAC5CyP,EAAgB4R,QAAQ4pB,QAAU,IAAIhhD,SACpC,UAAUwvB,KAAK4H,QAAQrhB,KAAK/O,WAAW5B,MAAM,QAAQ6C,KAAK,kBAD1B,GAGlCunB,KAAK4H,QAAQrhB,KAAO,SAAUkrC,EAAMx3B,EAAMpI,GACxCmE,EAAgB4R,QAAQ4pB,QAAQC,EAAMx3B,EAAMpI,IAG9CmE,EAAgB4R,QAAQ8pB,OAAS1xB,KAAK4H,QAAQ8pB,OAC9C17B,EAAgB4R,QAAQ+pB,UAAY,IAAInhD,SACtC,UAAUwvB,KAAK4H,QAAQ8pB,OACpBl6C,WACA5B,MAAM,SACN6C,KAAK,mBAJ0B,GAMpCunB,KAAK4H,QAAQ8pB,OAAS,WACpB17B,EAAgB4R,QAAQ+pB,YA9H5B,WACE,GAA4B,UAAxB3xB,KAAK4H,QAAQ/V,OAAoB,CACnC,IAAI+/B,EAAa,EAEa,IAA5Bp9B,EAAU6a,eACgB,IAA1B7a,EAAU2S,aAC0B,OAApChnB,EAAE,gCAEFyxC,EAAazxC,EAAE,8BAA8BpF,aAAe,GAE9DilB,KAAK4H,QAAQiqB,IAAI76C,MAAMsC,IAAM,GAAGhC,KAAK2D,IACnCY,SAASmkB,KAAK4H,QAAQiqB,IAAI76C,MAAMsC,IAAK,IACrC6G,EAAE,QAAQpF,aACRoF,EAAE,UAAUpF,aACZilB,KAAK4H,QAAQkqB,GAAG/2C,aAChB62C,EACA,SA+GJG,IAGF/7B,EAAgBg8B,gBAAkBhyB,KAAKgyB,gBACvChyB,KAAKgyB,gBAAkB,WACrBZ,GAAUp7B,EAAgBg8B,kBAG5Bh8B,EAAgBi8B,cAAgBjyB,KAAKiyB,cACrCjyB,KAAKiyB,cAAgB,WACnBb,GAAUp7B,EAAgBi8B,gBAI5B9xC,EAAE,aAAazN,oBAAoB,QAASstB,KAAKkyB,aAAa,GAC9D/xC,EAAE,aAAahS,iBACb,SACA,WACEijD,GAAUpxB,KAAKkyB,gBAEjB,GAGFl8B,EAAgB8qB,gBAAkB9gB,KAAK8gB,gBACvC9gB,KAAK8gB,gBAAkB,WACrB9qB,EAAgB8qB,kBAtHpB,WACE/qB,EAAuB,GACvB,IAAK,MAAMhnB,KAAKwD,OAAO6C,KAAK4qB,KAAK6D,iBACM,OAAjC1jB,EAAE,UAAUpR,KAAK40C,cACnB5tB,EAAqBhnB,GAAKoR,EAAE,UAAUpR,KAAK40C,YAC3CxjC,EAAE,UAAUpR,KAAK40C,YAAc,WACxB3jB,KAAKmyB,YACRnyB,KAAKoyB,WAAW3kD,MAChBuyB,KAAK4H,QAAQ4f,QAAU,EACvBxnB,KAAK4H,QAAQrhB,KACX9Y,MACA,WACE,OAAOsiC,GAAc,IAAK,GAAGhhC,OAE/B,SAEFixB,KAAK4H,QAAQ6f,YAuGnB4K,GACAryB,KAAKoV,kBAGPpf,EAAgBs8B,aAAetyB,KAAKsyB,aAKpCtyB,KAAKsyB,aAAe,SAAUlyB,KAEzB5L,EAAUoqB,cACX5e,KAAKwQ,YAAYpQ,GAAMiG,UAAYrG,KAAKsG,UACtB,IAAlBtG,KAAK4C,UAEL5M,EAAgBs8B,aAAalyB,IAIjCpK,EAAgBu8B,mBAAqBvyB,KAAKuyB,mBAM1CvyB,KAAKuyB,mBAAqB,SAAUC,GAClCx8B,EAAgBu8B,mBAAmBC,GA1gEvC,SAAqBA,GACnB,GAAiC,IAA7Bh+B,EAAUipB,eAAsB,CAClC,MAAOgV,EAAUC,GA9DrB,SAA6BF,GAC3BloB,KAGwBnqB,EAAE,iBAAiB0vB,SAAS,GAAGtjB,UAAU+1B,SAC/D,aAEmBzmB,GAAiB22B,EACjC52B,GAAgB42B,EAGrB,IAAI7wB,EAAQ,EACZ,GACE/F,KAAkBM,IAClBL,KAAmBM,GAEnB,IAAK,IAAIptB,EAAIixB,KAAKwQ,YAAYxhC,OAAS,EAAGD,GAAK,IAAKA,EAClD,GAAIixB,KAAKwQ,YAAYzhC,EAAI,GAAGqzB,OAAS,EAAG,CACtC,MAAM8iB,EAAkBtlB,GAAWI,KAAKwQ,YAAYzhC,GAAGuE,MAAMA,KAC7DssB,GAAWslB,GAAiB9iB,QAAU,EACtC9G,IAAqB,EACrBqG,EACE/B,GAAWslB,GAAiBhjB,UAC5BlC,KAAKwC,eACHlrB,KAAK6D,IACH,EACAykB,GAAWslB,GAAiB9iB,OAC1B,EACAxC,GAAWslB,GAAiB/iB,MAEpCR,EAAQ3B,KAAKyC,oBAAoB7C,GAAWslB,GAAkBvjB,GAC9DA,EAAQrqB,KAAKoL,KAAKif,GAClB,MAKN,MAAMyW,EAAwB3c,GAO9B,OANA2Z,KAEAkC,KACIc,IAA0B3c,IAC5B2Z,KAEK,CAACpZ,GAAegE,KAAK4E,UAAWjD,GAkBHgxB,CAAoBH,GAChDI,EAAgBh5B,GACpB84B,GAAiBD,EAAWzyB,KAAK4E,YAE7BiuB,EAAqBr6B,GAA4Bi6B,EAAWzyB,KAAK4E,WAEvEzkB,EAAE,kBAAkBnJ,MAAM87C,UAAY,OACtC3yC,EAAE,kBAAkBnJ,MAAMmuB,OAAS,MACnChlB,EAAE,kBAAkBwK,YAAYtd,SAAS4D,cAAc,QAAQzB,UAC7D,OACF,MAAM00B,EAAM72B,SAAS4D,cAAc,OACnCizB,EAAIltB,MAAMk0B,SAAW,QACrBhH,EAAIltB,MAAMuW,UAAY,SACtB2W,EAAI9xB,YAAc,wCAAwComB,GACxDi6B,OACII,sBACN1yC,EAAE,kBAAkBwK,YAAYuZ,GAChC,MAAM6uB,EAAO1lD,SAAS4D,cAAc,OACpC8hD,EAAK/7C,MAAMk0B,SAAW,QACtB6nB,EAAK/7C,MAAMuW,UAAY,SACvBwlC,EAAK3gD,YAAc,gBAAgBwgD,yBACnCzyC,EAAE,kBAAkBwK,YAAYooC,IAo/DhCC,CAAYR,IAGdx8B,EAAgBi9B,kBAAoBjzB,KAAKizB,kBAIzCjzB,KAAKizB,kBAAoB,SAAUC,GACjCl9B,EAAgBi9B,kBAAkBC,GAp/DtC,WAEE,GAEwE,QADrE/yC,EAAE,gBAAgB3Q,UAAUC,MAAM,aACjC0Q,EAAE,gBAAgB0vB,SAAS,GAAG74B,MAAMqB,WAAW5I,MAAM,WAEvD,IAAK,IAAIV,EAAI,EAAGA,EAAIoR,EAAE,gBAAgB8jB,WAAWj1B,OAAQD,IACL,cAA9CoR,EAAE,gBAAgB8jB,WAAWl1B,GAAGS,YAClC2Q,EAAE,gBAAgB0vB,SAAS9gC,GAAG40C,YAAc,WAC1CzB,KACAliB,KAAK4H,QAAQ4f,QAAU,EACvBxnB,KAAK4H,QAAQrhB,KACXpG,EAAE,gBACF,mDAAmDkc,WACnD,QAEF2D,KAAK4H,QAAQ6f,UAEftnC,EAAE,gBAAgB0vB,SAAS9gC,GAAG+0C,WAAa,WACzC9jB,KAAK4H,QAAQurB,WAAa,IAk+DhCC,IAGFp9B,EAAgB+c,WAAa/S,KAAK+S,WAClC/S,KAAK+S,WAAa,gBAEwB,IAA9BgV,KAAmB1oC,aACiB,IAApC0oC,KAAmB1oC,OAAOC,QAElC0W,EAAgB+c,aAvXtB,WACE,MAAMkR,EAAQ52C,SAAS4D,cAAc,OACrCgzC,EAAMz0C,UAAY,QAEE,UAAhBwwB,KAAKgR,QACPiT,EAAM7xC,YAAc,0BApExB,SAAqB6xC,GACnB,MAAMwE,EAAOp7C,SAASq7C,yBACtBD,EAAK99B,YAAYs5B,GAEjB,IAAK,MAAM7C,KAAS7uC,OAAO6C,KAAK+6C,IAAe,CAC7C,MAAMkD,EAAchD,GAAiBjP,EAAO+O,GAAa/O,IAEzD,GADAqH,EAAK99B,YAAY0oC,GACb7+B,EAAUqqB,OAAOuC,GAGnB,GAAc,iBAAVA,EACF,IAAK,MAAMkS,KAAY/gD,OAAO6C,KAAKg7C,IAA2B,CAC5D,MAAMmD,EAAiBlD,GACrBiD,EACAlD,GAAyBkD,IAK3B,GAHAC,EAAev8C,MAAMouB,SAAW,OAChCmuB,EAAev8C,MAAM6U,QAAU,MAC/B48B,EAAK99B,YAAY4oC,GACb/+B,EAAUqqB,OAAOyU,GACnB,IAAK,MAAMhrC,KAAUq5B,GACfA,GAAar5B,GAAQ84B,QAAUkS,GACjC7K,EAAK99B,YAAY2lC,GAAiBhoC,SAK1C,IAAK,MAAMA,KAAU/V,OAAO6C,KAAKusC,IAC3BA,GAAar5B,GAAQ84B,QAAUA,GACjCqH,EAAK99B,YAAY2lC,GAAiBhoC,IAM5C,MAAMkrC,EAASnmD,SAAS4D,cAAc,OACtCuiD,EAAOhkD,UAAY,UACnB,MAAMikD,EAAYpmD,SAAS4D,cAAc,KACzCwiD,EAAUjkD,UAAY,SACtBikD,EAAUhQ,QAAU,WAClByD,GAAW/L,KAEbsY,EAAUrhD,YAAc,kBACxBohD,EAAO7oC,YAAY8oC,GACnBhL,EAAK99B,YAAY6oC,GAEjBrzC,EAAE,QAAQ8jB,WAAW,GAAG2d,aACtB6G,EACAtoC,EAAE,QAAQ8jB,WAAW,GAAGA,WACtB9jB,EAAE,QAAQ8jB,WAAW,GAAGA,WAAWj1B,OAAS,IAoB9C0kD,CAAYzP,IACa,UAAhBjkB,KAAKgR,OACVxc,EAAUyc,QACZgT,EAAM7xC,YAAc,4BACpBw2C,GAAa3E,IAEU,QAAhBjkB,KAAKgR,SACdiT,EAAM7xC,YAAc,kBAtVxB,SAAqB6xC,GACnB,MAAM0P,EAAOtmD,SAAS4D,cAAc,OACpC0iD,EAAKnkD,UAAY,aAEjB,MAAM44C,EAAO/6C,SAAS4D,cAAc,QAmBpC,GAlBAm3C,EAAKpxC,MAAM+U,OAAS,UACpBq8B,EAAKpxC,MAAMqV,QAAU,eACrB+7B,EAAKpxC,MAAMmG,OAAS,OACpBirC,EAAKpxC,MAAMkG,MAAQ,OACnBkrC,EAAKpxC,MAAMsU,aAAe,MAC1B88B,EAAKpxC,MAAMuW,UAAY,SACvB66B,EAAKpxC,MAAM4U,gBAAkB,UAC7Bw8B,EAAKpxC,MAAM2F,MAAQ,QACnByrC,EAAKpxC,MAAMouB,SAAW,OACtBgjB,EAAKpxC,MAAMsuB,cAAgB,SAC3B8iB,EAAKh2C,YAAcoiB,EAAUqqB,OAAOuB,QAAU,IAAM,IACpDgI,EAAK3E,QAAU,WACbyE,GAAa,WACbloB,KAAK+S,cAEPkR,EAAMt5B,YAAYy9B,GAClBuL,EAAKhpC,YAAYs5B,GAEbzvB,EAAUqqB,OAAOuB,QAAS,CAC5B,MAAMwT,EAAcvmD,SAAS4D,cAAc,OAC3C2iD,EAAYrnC,UAnyQO,siBAoyQnBonC,EAAKhpC,YAAYipC,GACjB,MAAMC,EAAQxmD,SAAS4D,cAAc,OACrC4iD,EAAMtnC,UA5xQiB,gwBA6xQvBonC,EAAKhpC,YAAYkpC,GAGnB,MAAMC,EAAO3zC,EAAE,QAAQ0vB,SAAS,GAChCikB,EAAKlS,aAAa+R,EAAMG,EAAKjkB,SAAS,IAsTpCkkB,CAAY9P,IA0WV+P,KAIJh+B,EAAgBmb,QAAUnR,KAAKmR,QAC/Bpa,EAAY,SAAU8C,EAAMo6B,GAC1B,OAAIh7B,OAAO5I,MAAMwJ,IAASA,GAAQ,EACzB7D,EAAgBmb,QAAQtX,EAAMo6B,GAChCr6B,GAAWC,EAAOmG,KAAKwH,IAAK,IAGrCxR,EAAgBk+B,MAAQl0B,KAAKk0B,MAC7Bl0B,KAAKk0B,MAAQ,WACXl+B,EAAgBk+B,QAGhB,IAAIjQ,EAAQ,iBACQ,UAAhBjkB,KAAK+R,SAAoBkS,EAAQ,gBACrC1rB,GAAQ,GAAGyH,KAAKskB,SAAW,cAAgB,KAAK9rB,GAA4BwH,KAAKsG,YAC9D,IAAjBtG,KAAKsG,QAAgB,SAAW,eAC5B2d,IA9WV,WACE,GAAIjkB,KAAKskB,UAAgC,IAApB9vB,EAAU+D,MAC7BlrB,SAAS42C,MAAQ1rB,QACZ,GAAwB,IAApB/D,EAAU+D,MAAa,CAChC,IAEI47B,EACAC,EACAC,EAJAC,GAAQ,EACRC,GAAQ,EAORJ,EAFAh1B,GACEA,GAA0B8hB,MAClB,KAAK3pC,KAAKoL,KAAKyc,GAA0B4mB,KAAO/lB,KAAKwH,QAErD,KAAKlwB,KAAKoL,KAAKyc,GAA0B4mB,KAAO/lB,KAAKwH,QACvDxH,KAAK2R,IAAI,uBAOJ,OANL,IACR1Y,OAAO9Y,EAAE,sBAAsB/N,aAAe,EAAI,IAAM,KACvDkF,KAAKoL,MACLsd,KAAKwR,aAAaC,OAAOI,QAAU7R,KAAKwR,aAAaC,OAAO5X,MAC3DmG,KAAKwH,QAIPnS,IACFi/B,GAAQ,EACRF,EAAU,OAGQ,cAAhBp0B,KAAK+R,SACPwiB,GAAQ,EAENF,EADEj/B,EACQ,KAAK9d,KAAKoL,KAAK0c,GAAsB2mB,KAAO/lB,KAAKwH,QAEjD,IACRvO,OAAO9Y,EAAE,uBAAuB/N,aAAe,EAAI,IAAM,KACxDkF,KAAKoL,MACLsd,KAAKwR,aAAaQ,SAASH,QAC1B7R,KAAKwR,aAAaQ,SAASnY,MAC3BmG,KAAKwH,SAMb,IAAIr3B,EAAMooB,GACY,MAAlBpoB,EAAI2L,OAAO,KACb3L,EAAMA,EAAI61B,UAAU71B,EAAIqkD,YAAY,KAAO,IAE7CnnD,SAAS42C,MAAQ,GACfkQ,GAAWG,EAAQF,EAAU,KAAOG,EAAQF,EAAU,OACpDlkD,SACC,GAAwB,IAApBqkB,EAAU+D,MAAa,CAChC,IAAIpoB,EAAM,GACNskD,GAAQ,EACRt1B,KACFs1B,GAAQ,EACJt1B,GAA0B8hB,MAC5B9wC,GAAO,KAAKmH,KAAKoL,KAAKyc,GAA0B4mB,KAAO/lB,KAAKwH,QACzDr3B,GAAO,KAAKmH,KAAKoL,KAAKyc,GAA0B4mB,KAAO/lB,KAAKwH,SAE/DnS,IACFo/B,GAAQ,EACRtkD,GAAO,OAEW,cAAhB6vB,KAAK+R,QAA0B3c,IACjCjlB,GAAO,KAAKmH,KAAKoL,KAAK0c,GAAsB2mB,KAAO/lB,KAAKwH,QACxDitB,GAAQ,GAENA,IAAOtkD,GAAO,OAClB,IAAI8zC,EAAQ,iBACQ,UAAhBjkB,KAAK+R,SAAoBkS,EAAQ,gBACrC9zC,GAAO8zC,EACP52C,SAAS42C,MAAQ9zC,GAsSjBukD,GAxRJ,WACE,MAAMlP,EAAgBluC,KAAK6D,IACzB,EACA6kB,KAAKylB,oBACHnuC,KAAKkE,MAAMwkB,KAAK+Z,gBAAgB/Z,KAAKga,aAAeha,KAAK2T,gBACvD,IAED3T,KAAK2T,cAAgB3T,KAAKga,eAGzB/Z,EAAYD,KAAKmR,SACnBqC,KAAKC,MAAQzT,KAAKC,WAAa,IAAQD,KAAKwH,KAC7C,GAEH,IAAIr3B,EAAM,GACVA,GAAO,kCACS,KAAd8vB,EAAmB,gBAAkBA,aAEvC9vB,GAAO,2BACH6vB,KAAK2K,SAAW,IAClBx6B,GAAO,uCAAuCqoB,GAC5CwH,KAAK2K,2BACYnS,GAA4BwH,KAAK2K,cACpDx6B,GAAO,4BAGPA,GADEgrB,GAAyB,EACpB,6CACAA,GAAyB,EAE9B,6GAEK,uCAAuC3C,GAC5C2C,6BACyB3C,GACzB2C,uBACmB3C,GACnB2C,mCAEJhrB,GAAO,2BACPA,GAAO,eAAeqoB,GACpBgtB,8CAEFr1C,GACEqkB,EAAUkpB,oBACN,oCAAoCre,iDAAwE7G,GAC1G4E,GACA,iDAEF,GAENjd,EAAE,iBAAiBoM,UAAYpc,EAyO7BwkD,IAmDJ,SAASC,KACPnS,KACA7H,KACAM,KAGAtmB,EAAeriB,OAAO6C,KAAK4qB,KAAKwkB,MAAMx1C,OAz6EtC4mB,EAAUvoB,SAAS4D,cAAc,SACjC2kB,EAAQxmB,KAAO,WACfwmB,EAAQ4L,GAAK,QAEbn0B,SAASwnD,KAAKlqC,YAAYiL,GAxgL5B,WACE,MAAMsQ,EAAS74B,SAAS4D,cAAc,OACtCi1B,EAAO1E,GAAK,WACZ0E,EAAOlvB,MAAMmG,OAAS,OACtB+oB,EAAOlvB,MAAMkG,MAAQ,OACrBgpB,EAAOlvB,MAAMgI,SAAW,WACxBknB,EAAOlvB,MAAMqV,QAAU,OACvB6Z,EAAOlvB,MAAM4U,gBAAkB,UAC/Bsa,EAAOlvB,MAAM8V,gBAAkB,+CAC/BoZ,EAAOlvB,MAAM89C,UAAY,kBACzB5uB,EAAOlvB,MAAMoV,SAAW,OACxB8Z,EAAOlvB,MAAM+9C,WACX,uDAEF,MAAMC,EAAQ9uB,EAAOvb,YAAYtd,SAAS4D,cAAc,UACxD+jD,EAAMh+C,MAAMkG,MAAQ,OACpB83C,EAAMh+C,MAAMuW,UAAY,SACxBynC,EAAMh+C,MAAMoW,WAAa,SACzB,MAAM6nC,EAAQD,EAAMrqC,YAAYtd,SAAS4D,cAAc,UAEjDikD,EAAW,SAAUj7B,EAAMtd,GAC/B,MAAMw4C,EAAK9nD,SAAS4D,cAAc,MAIlC,OAHAkkD,EAAGn+C,MAAMuW,UAAY,QACrB4nC,EAAG3lD,UAAYymB,EAAetZ,EAC9Bw4C,EAAG/iD,YAAc6nB,EACVk7B,GAEH/lD,EAAO6lD,EAAMtqC,YAAYtd,SAAS4D,cAAc,OACtD7B,EAAK4H,MAAM0wB,WAAa,OACxBt4B,EAAKub,YAAYuqC,EAAS,aAAsC7+B,IAClD4+B,EAAMtqC,YAAYtd,SAAS4D,cAAc,OACjD0Z,YAAYuqC,EAAS,eAAgB/+B,IAChC8+B,EAAMtqC,YAAYtd,SAAS4D,cAAc,OACjD0Z,YAAYuqC,EAAS,iBAAkB/+B,IAC7B8+B,EAAMtqC,YAAYtd,SAAS4D,cAAc,OACjD0Z,YAAYuqC,EAAS,YAAa/+B,IAEvChW,EAAE,WAAWwK,YAAYub,GAEzB,IAAK,MAAMn3B,KAAKwD,OAAO6C,KAAK4qB,KAAKoB,SAC/BwE,GAA2B72B,GAy4P7BqmD,GAxvPF,WACE,MAAMzuB,EAAWt5B,SAAS4D,cAAc,OACxC01B,EAASnF,GAAK,aACdmF,EAAS3vB,MAAMgI,SAAW,WAC1B2nB,EAAS3vB,MAAMqV,QAAU,OACzBsa,EAAS3vB,MAAMmG,OAAS,MACxBwpB,EAAS3vB,MAAMouB,SAAW,OAC1BuB,EAAS3vB,MAAM0wB,WAAa,OAC5Bf,EAAS3vB,MAAM4U,gBAAkB,QAGjC,MAAMypC,EAAerwB,GAAY,eAAgB,cAAe,CAC9D,CAAExD,GAAI,qBAAsB7kB,MAAO8Z,GACnC,CAAE+K,GAAI,kBAAmB7kB,MAAO6Z,KAElCmQ,EAAShc,YAAY0qC,GAGrB,MAAMC,EAAgBtwB,GAAY,gBAAiB,gBAAiB,CAClE,CAAExD,GAAI,sBAAuB7kB,MAAO8Z,GACpC,CAAE+K,GAAI,mBAAoB7kB,MAAO2Z,KAEnCqQ,EAAShc,YAAY2qC,GACrB,MAAMC,EAAqBloD,SAAS4D,cAAc,OAClDskD,EAAmB/zB,GAAK,uBACxBmF,EAAShc,YAAY4qC,GAErBp1C,EAAE,WAAWwK,YAAYgc,GA8tPzB6uB,GAxgFF,WACE,MAAMC,EAAapoD,SAAS4D,cAAc,OAC1CwkD,EAAWj0B,GAAK,eAChBi0B,EAAWz+C,MAAMkG,MAAQ,OACzBu4C,EAAWz+C,MAAM4U,gBAAkB,QACnC6pC,EAAWz+C,MAAMuW,UAAY,SAC7BkoC,EAAWz+C,MAAM0wB,WAAa,OAC9B+tB,EAAWz+C,MAAMqV,QAAU,OAC3BopC,EAAWz+C,MAAMyU,OAAS,KAC1BgqC,EAAW3R,WAAa,WACtB9jB,KAAK4H,QAAQ7hB,QAGf,MAAMklB,EAAc59B,SAAS4D,cAAc,OAC3Cg6B,EAAYtgB,YA7Dd,WACE,MAAM+qC,EAASroD,SAAS4D,cAAc,OACtCykD,EAAO1+C,MAAMk0B,SAAW,QACxBwqB,EAAO1+C,MAAM8wB,aAAe,MAC5B,MAAMmc,EAAQ52C,SAAS4D,cAAc,OACrCgzC,EAAMz0C,UAAY,OAClBy0C,EAAMjtC,MAAM8wB,aAAe,MAC3Bmc,EAAM7xC,YAAc,SACpBsjD,EAAO/qC,YAAYs5B,GAEnB,MAAM0R,EAAa,SAAUh5C,EAAOsd,GAClC,MAAMiK,EAAM72B,SAAS4D,cAAc,OACnCizB,EAAIltB,MAAMsuB,cAAgB,SAC1B,MAAM8iB,EAAO/6C,SAAS4D,cAAc,QAQpC,OAPAm3C,EAAK54C,UAAY0mB,EAAevZ,EAChCyrC,EAAKpxC,MAAMqV,QAAU,eACrB+7B,EAAKpxC,MAAMmG,OAAS,OACpBirC,EAAKpxC,MAAMkG,MAAQ,OACnBkrC,EAAKpxC,MAAMquB,YAAc,MACzBnB,EAAIvZ,YAAYy9B,GAChBlkB,EAAIvZ,YAAYtd,SAASqgB,eAAeuM,IACjCiK,GAoBT,OAjBAwxB,EAAO/qC,YAAYgrC,EAAWx/B,EAAW,iCACzCu/B,EAAO/qC,YAAYgrC,EAAWv/B,EAAY,6BAC1Cs/B,EAAO/qC,YACLgrC,EACEt/B,EACA,uDAGJq/B,EAAO/qC,YACLgrC,EACEr/B,EACA,wDAGJo/B,EAAO/qC,YAAYgrC,EAAWp/B,EAAU,8BACxCm/B,EAAO/qC,YAAYgrC,EAAWn/B,EAAa,iCAC3Ck/B,EAAO/qC,YAAYgrC,EAAWl/B,EAAW,4BAClCi/B,EAoBiBE,IACxBH,EAAW9R,YAAc,WACvB3jB,KAAK4H,QAAQrhB,KAAK9Y,KAAMglC,OAAOxH,EAAY1e,WAAY,UAGzD,MAAMspC,EAAgB,SAAUr0B,EAAI7kB,GAClC,MAAMyrC,EAAO/6C,SAAS4D,cAAc,QAMpC,OALAm3C,EAAK5mB,GAAKA,EACV4mB,EAAK54C,UAAYymB,EAAetZ,EAChCyrC,EAAKpxC,MAAMkG,MAAQ,qBACnBkrC,EAAKpxC,MAAMqV,QAAU,eACrB+7B,EAAKh2C,YAAc,IACZg2C,GAETqN,EAAW9qC,YAAYkrC,EAAc,mBAAoB1/B,IACzDs/B,EAAW9qC,YAAYkrC,EAAc,oBAAqBz/B,IAC1Dq/B,EAAW9qC,YAAYkrC,EAAc,qBAAsBx/B,IAC3Do/B,EAAW9qC,YAAYkrC,EAAc,qBAAsBv/B,IAC3Dm/B,EAAW9qC,YAAYkrC,EAAc,kBAAmBt/B,IACxDk/B,EAAW9qC,YAAYkrC,EAAc,qBAAsBr/B,IAC3Di/B,EAAW9qC,YAAYkrC,EAAc,mBAAoBp/B,IAEzDtW,EAAE,YAAY+N,WAAW0zB,aACvB6T,EACAt1C,EAAE,YAAY+N,WAAW+V,WAAW,IAm+EtC6xB,GAx5EF,WACE,MAAMC,EAAc1oD,SAAS4D,cAAc,OAC3C8kD,EAAYv0B,GAAK,gBACjBu0B,EAAY/+C,MAAMkG,MAAQ,OAC1B64C,EAAY/+C,MAAMmG,OAAS,OAC3B44C,EAAY/+C,MAAM4U,gBAAkB,QACpCmqC,EAAY/+C,MAAMqV,QAAU,OAC5B0pC,EAAY/+C,MAAMyU,OAAS,aAC3BsqC,EAAY/+C,MAAMgI,SAAW,WAC7BmB,EAAE,WAAWwK,YAAYorC,GAg5EzBC,GAjwIF,WACE,MAAMtX,EAAUrxC,SAAS4D,cAAc,QACvCytC,EAAQld,GAAK,YACbkd,EAAQz5B,IAAM,gBACdy5B,EAAQwC,KAAO,uDACf7zC,SAAS4oD,qBAAqB,QAAQ,GAAGtrC,YAAY+zB,GA6vIrDwX,GACA,IAAK,MAAMnnD,KAAKwD,OAAO6C,KAAKyhB,GAC1BmU,GACEnU,EAAY9nB,GAAG,GACf8nB,EAAY9nB,GAAG,GACf8nB,EAAY9nB,GAAG,KAl9ErB,WACE,MAAM6/C,EAAUvhD,SAAS4D,cAAc,KACvC29C,EAAQptB,GAAK,6BACbotB,EAAQx8C,YAAc,iBACtBw8C,EAAQp/C,UAAY,SACpBo/C,EAAQnL,QAAU,WAChB4D,MAEFlnC,EAAE,oBAAoB0vB,SAAS,GAAGsmB,OAAOvH,GACzC,MAAME,EAAczhD,SAAS4D,cAAc,KAC3C69C,EAAYttB,GAAK,2BACjBstB,EAAY18C,YAAc,qBAC1B08C,EAAYt/C,UAAY,SACxBs/C,EAAYrL,QAAU,WACa,OAA7B5lB,GAAsB,KACxBmC,KAAK8E,UAAUjH,GAAsB,IAAIypB,GAAK,IAElDnnC,EAAE,oBAAoB0vB,SAAS,GAAGsmB,OAAOrH,GAo8EzCsH,GA76EAj2C,EAAE,YAAYnJ,MAAMqV,QAAU,OAC9BlM,EAAE,aAAanJ,MAAMmsB,QAAU,MAE/BhjB,EAAE,YAAYnJ,MAAMqV,QAAU,OAC9BlM,EAAE,YAAYnJ,MAAM,aAAe,OAiIrC,WACE,IAAK,MAAMjI,KAAKwD,OAAO6C,KAAK4qB,KAAKoB,SAAU,CACzC,MAAM0C,EAAK9D,KAAKoB,QAAQryB,GACiB,OAArCoR,EAAE,UAAU2jB,EAAGtC,MAAMmiB,cACvB9tB,EAAmB9mB,GAAKoR,EAAE,UAAU2jB,EAAGtC,MAAMmiB,YAC7CxjC,EAAE,UAAU2jB,EAAGtC,MAAMmiB,YAAc,WACjC3jB,KAAK4H,QAAQ4f,QAAU,EACvBxnB,KAAK4H,QAAQrhB,KACX9Y,MACA,WACE,OAAOsiC,GAAc,IAAK,GAAGhhC,OAE/B,SAEFixB,KAAK4H,QAAQ6f,YA+DnB4O,GArDIr2B,KAAKs2B,aACPzhC,EAAoB1U,EAAE,SAASwjC,YAC/BxjC,EAAE,SAASwjC,YAAc,WACvB3jB,KAAK4H,QAAQ4f,QAAU,EACvBxnB,KAAK4H,QAAQrhB,KACX9Y,MACA,WACE,OAAOsiC,GAAc,IAAK,UAE5B,QAEF/P,KAAK4H,QAAQ6f,WA+CjBtyB,EAAgB6K,KAAK7K,cACrB6K,KAAK7K,cAAgB,WACnBA,IAxCE6K,KAAKoB,QAAQkM,KAAKxL,iBACpB3hB,EAAE,gBAAgBwjC,YAAc,WAC9B3jB,KAAK4H,QAAQ4f,QAAU,EACvBxnB,KAAK4H,QAAQrhB,KACX9Y,MACA,WACE,OAAOsiC,GAAc,KAAM,sBAE7B,QAEF/P,KAAK4H,QAAQ6f,UAEflvC,MAAMk5C,KAAKtxC,EAAE,cAAc0vB,UAAU0mB,SAASC,IAC5C,MAAMC,EAASD,EAAMh1B,GAAG1O,OAAO,GAC/B0jC,EAAM7S,YAAc,WAClB3jB,KAAK4H,QAAQ4f,QAAU,EACvBxnB,KAAK4H,QAAQrhB,KACX9Y,MACA,WACE,OAAOsiC,GAAc,IAAK,CAAC,GAAG0mB,EAAO,KAAM,GAAGA,EAAO,SAEvD,QAEFz2B,KAAK4H,QAAQ6f,cAmBjBF,KACAK,MAEF5nB,KAAK7K,gBAmpELhV,EAAE,wBAAwBwjC,YAAc,WACtC3sB,EAAsB,GAExB7W,EAAE,wBAAwB2jC,WAAa,WACrC9sB,EAAsB,EACtBgJ,KAAK4H,QAAQ7hB,OACb,IAAK,MAAMhX,KAAKwD,OAAO6C,KAAK4qB,KAAK8E,WAC/B5N,EAA0BnoB,GAAK,GA4DnCwiD,KACA3J,KACA5nB,KAAKoV,iBAEL8R,KACApwB,EAAoBkJ,KAAKskB,SAErBtkB,KAAK6Q,MAAM6lB,OACb12B,KAAK22B,MACH,0CAGF32B,KAAK42B,OACH,yCACA,GACA,GACA,EACA,GAGJ52B,KAAK62B,IAAI,eAoEX,MAAMC,GAAK,CACTzoD,KApDF,WACEq0C,IAAiB,EACjB,IAAIqU,GAAU,EACV/2B,KAAKiiB,UAAYhpB,OA/lSF,WAgmSjB89B,EAAUC,QACR,8JAGAD,IACFnC,KACA50B,KAAKi3B,aAAa,OAAQrmB,IAC1B5Q,KAAKi3B,aAAa,QAAS5S,IAC3B3B,IAAiB,IAyCnBwU,KA5BF,SAAc/mD,GACZ,MAAM2xC,EAAO1xC,KAAKC,MAAMF,GACxBsyC,KACAyE,GAAWpF,EAAKE,UACK,YAAjBF,EAAKG,UACHjiB,KAAK6Q,MAAM6lB,OACb12B,KAAK22B,MACH,iGAGF32B,KAAK42B,OACH,gGACA,GACA,GACA,EACA,KAcN9U,KAAMA,IAGR9hB,KAAKm3B,YAAY,gBAAiBL,KA3pSlC,IAvgHS","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","__esModule","d","definition","key","o","enumerable","CMOptions","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColorTextPre","ColorBackPre","ColorBlue","ColorGreen","ColorYellow","ColorOrange","ColorRed","ColorPurple","ColorGray","ColorPink","ColorBrown","Colors","TooltipText","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColors","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","TimeFormat","GetTimeColor","text","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CacheMidPP","CacheMaxPP","CacheArrayOfPPs","CacheGoldenShimmersByID","CacheSellForChoEgg","SimObjects","SimUpgrades","SimAchievements","SimDateCentury","Game","startDate","SimDateAges","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","slot","id","SimModifyBuildingPrice","building","price","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColor","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColor","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColor","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","UpdateBotBar","BotBar","count","timeColor","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","GetCPSBuffMult","mult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","fps","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","lastChild","click","production","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","elderWrath","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","won","BuildingGetPrice","increase","CreateSimpleTooltip","placeholder","minWidth","Tooltip","desc","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColor","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","magic","recover","recoverColor","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","matureBase","plantName","GardenPlots","totalGain","mortal","tile","immortal","HarvestAll","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","CreateTooltip","TooltipAmor","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","ObjectsById","tileTooltip","toolTooltip","area","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColor","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","wrinkler","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","addLatest","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheBuildingsBulkPP","CachePP","PPExcludeTop","ColorPPBulkMode","CacheBuildingsPP","CacheUpgradePP","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","BuyBuildingsBonusIncome","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyUpgradesBonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","CacheBuildingIncome","result","CacheBuildingsPrices","CacheIncome","bonusIncome","CacheUpgradeIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","crateMissing","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","CacheAllMissingUpgrades","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","BulkBuildColor","UpgradeBarFixedPos","GeneralSound","GCNotification","GCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","DragonAuraInfo","TooltipAscendButton","MissingUpgrades","DetailedTime","GrimoireBar","HeavenlyChipsTarget","ShowMissedGC","Blue","Green","Yellow","Orange","Red","Purple","Gray","Pink","Brown","GCTimer","Favicon","WrinklerButtons","BulkBuyBlock","Header","BarsColors","Calculation","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Statistics","Notation","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateColors","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","toggle","super","SettingVolume","SettingInputNumber","SettingsData","insertBefore","ToggleGCTimer","save","stringify","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","InitData","isInitializing","Flash","config","setTimeout","PlaySound","url","sndConfig","volConfig","sound","realAudio","volume","play","CreateGCTimer","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","Notification_Notification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","FindShimmer","transform","life","CheckGoldenCookie","TickerEffect","CheckSeasonPopup","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","mod","PopAllNormalWrinklers","hp","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColor","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColorFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColor","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColor","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColorFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColorFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColor","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColor","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColor","bakeberryFrag","chocorootColor","chocorootFrag","queenbeetColor","queenbeetFrag","duketaterColor","duketaterFrag","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","missingPlantDrops","centEgg","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","AddMissingUpgrades","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","Prompt","outerHTML","ClosePrompt","innerDiv","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ReplaceTooltipUpgrade","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","groupObject","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateWhiteScreen","getElementsByTagName","CreateFavicon","append","CreateWrinklerButtons","ReplaceTooltipBuild","canLumps","forEach","child","coords","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAe,SACfC,EAAe,SAMfC,EAAY,OACZC,EAAa,QACbC,EAAc,SACdC,EAAc,SACdC,EAAW,MACXC,EAAc,SACdC,EAAY,OACZC,EAAY,OACZC,EAAa,QACbC,EAAS,CACbH,EACAN,EACAC,EACAC,EACAC,EACAC,EACAC,EACAE,EACAC,GAUIE,EAAc,CAClB,CAAC,6BAA8B,oCAAqC,SACpE,CACE,2CACA,6EACA,SAEF,CACE,6BACA,qPACA,SAEF,CACE,8BACA,kEACA,SAEF,CACE,kCACA,2PACA,SAEF,CACE,0BACA,gLACA,SAEF,CACE,2BACA,uOA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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file diff --git a/src/Disp/Draw.js b/src/Disp/Draw.js index 2d7261c5..6ae6bfad 100644 --- a/src/Disp/Draw.js +++ b/src/Disp/Draw.js @@ -53,8 +53,10 @@ export default function Draw() { RefreshMenu(); // Replace Cookies counter because Orteil uses very weird code to "pad" it... - l('cookies').innerHTML = l('cookies').innerHTML.replace( + let str = l('cookies').innerHTML.replace( /.*(?=
)/i, Beautify(Game.cookies), ); + if (Game.prefs.monospace) str = `${str}`; + l('cookies').innerHTML = str; }