diff --git a/CookieMonster.js b/CookieMonster.js index ef2ced0..bf9f8db 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],g=o.fixed?"fixed":"absolute",f=(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 g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.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){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.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={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","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 r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["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"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=1,ct=1,dt=1,pt=0,ut=0,mt=0,ht=0,gt={},ft={},Ct={},yt=0,bt=0,kt=[0,null],Gt=0,wt=0,vt={},xt={},Tt={},Mt={},St={},Pt=0,Bt=0,Et=[],Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,Rt=0,$t={},It={},zt=0,Vt=0,_t=[],Xt={},Qt=0,qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Yt=[],Kt=[],Jt=[];function Zt(e){let t=0;return Game.dragonAuras[De].name!==e&&Game.dragonAuras[He].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[De].name&&"Reality Bending"!==Game.dragonAuras[He].name||(t+=.1),t}function eo(){let e=.25;return e*=1+Zt("Earth Shatterer"),e}function to(e,t){return void 0===ze[e]?void 0===t?1:t:ze[e]}function oo(e){const t=Kt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function no(e){if(Game.hasGod){void 0===Yt.Temple.minigame&&(Yt.Temple.minigame=Game.Objects.Temple.minigame);const t=Yt.Temple.minigame.gods[e];if(Ue===t.id)return 1;if(Re===t.id)return 2;if($e===t.id)return 3}return!1}function io(e,t){let o=t;if(oo("Season savings")&&(o*=.99),oo("Santa's dominion")&&(o*=.99),oo("Faberge egg")&&(o*=.99),oo("Divine discount")&&(o*=.99),oo("Fortune #100")&&(o*=.99),o*=1-.02*Zt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&oo(e.fortune.name)&&(o*=.93),o*=to("buildingCost"),Yt.Temple.minigameLoaded){const e=no("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ao(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ro(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=gt:10===t?t=ft:100===t&&(t=Ct),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(gt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ao(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(gt).map((e=>{const t=gt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=gt[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;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.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{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=gt),10===i&&(i=ft),100===i&&(i=Ct),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+co()))/so());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&oo(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(oo(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&oo(e.fortune.name)&&(t*=1.07),e.grandma&&oo(e.grandma.name)&&(t*=1+.01*Yt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&oo(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function ko(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;oo("Thousand fingers")&&(t+=.1),oo("Million fingers")&&(t*=5),oo("Billion fingers")&&(t*=10),oo("Trillion fingers")&&(t*=20),oo("Quadrillion fingers")&&(t*=20),oo("Quintillion fingers")&&(t*=20),oo("Sextillion fingers")&&(t*=20),oo("Septillion fingers")&&(t*=20),oo("Octillion fingers")&&(t*=20),oo("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Yt).forEach((e=>{"Cursor"!==Yt[e].name&&(n+=Yt[e].amount)})),t*=n,o*=bo(e),o*=Game.magicCpS("Cursor"),o*=to("cursorCps"),Game.ComputeCps(.1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{oo(Game.GrandmaSynergies[e])&&(o*=2)})),oo("Bingo center/Research facility")&&(o*=4),oo("Ritual rolling pins")&&(o*=2),oo("Naughty list")&&(o*=2),oo("Elderwort biscuits")&&(o*=1.02),o*=to("grandmaCps"),oo("Cat ladies"))for(let e=0;e{"Grandma"!==Yt[e].name&&(i+=Yt[e].amount)})),o*=1+.01*Zt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=bo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function Go(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Yt).forEach((t=>{Yt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(oo("Starlove")&&(e=3),Game.hasGod){const t=no("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 wo(){Fe=Game.UpgradesOwned,We=Game.pledges,Le=Game.AchievementsOwned,Ae=Game.heavenlyPower,je=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e],uo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ue=t.minigame.slot[0],Re=t.minigame.slot[1],$e=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Yt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e]),o.bought=t.bought,Kt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Jt[e];void 0===o&&(Jt[e]=yo(e),o=Jt[e]),o.won=t.won,Jt[e]=o})),Co(),De=Xe,He=Qe}function vo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function xo(e){e.appendChild(vo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(vo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(vo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(vo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(vo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function To(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function So(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Po(){if(wo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(xo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=gt:10===Game.buyBulk?t=ft:100===Game.buyBulk&&(t=Ct),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+co()))/so());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(vo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(vo("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&&t=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+=1),"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+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=po(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,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+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,go())}}(),mo(),Po(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){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)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Yt.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=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Eo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function No(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Qt;Game.cpsSucked>0&&(o+=yt),Ut=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-ye,i=Math.max(0,Game.cookies-be)/n,a=Math.max(0,yt-ke)/n,r=Math.max(0,kt[0]-Ge)/n,l=Math.max(0,o-ht)/n,s=(Game.cookieClicks-we)/n;for(let e=0;e0&&(n=W),n}function Fo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Oo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+co()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||_t.push([t[n].pp,o])}))}function Lo(){!function(){Vt=1/0,_t=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Wo(gt,1),Wo(ft,10),Wo(Ct,100),_t.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;_t[t][1]>Game.cookies&&(t+=1,_t.length!==t+1););Vt=_t[e.PPExcludeTop][t],Fo(gt,1),Fo(ft,10),Fo(Ct,100)}(),Object.keys(vt).forEach((e=>{Game.cookiesPs?vt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+co()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/vt[e].bonus:vt[e].pp=Game.Upgrades[e].getPrice()/vt[e].bonus,Number.isNaN(vt[e].pp)&&(vt[e].pp=1/0),vt[e].color=Oo(vt[e],Game.Upgrades[e].getPrice())}))}function Ao(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),ze=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(je)*Ae*function(){let e=0;if(oo("Heavenly chip secret")&&(e+=.05),oo("Heavenly cookie stand")&&(e+=.2),oo("Heavenly bakery")&&(e+=.25),oo("Heavenly confectionery")&&(e+=.25),oo("Heavenly key")&&(e+=.25),e*=1+.05*Zt("Dragon God"),oo("Lucky digit")&&(e*=1.01),oo("Lucky number")&&(e*=1.01),oo("Lucky payout")&&(e*=1.01),Game.hasGod){const t=no("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=to("cps"),oo("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];oo(o.name)&&("function"==typeof o.power?e*=1+.01*Kt[o.name].power(Kt[o.name]):e*=1+.01*o.power)})),oo("Specialized chocolate chips")&&(e*=1.01),oo("Designer cocoa beans")&&(e*=1.02),oo("Underworld ovens")&&(e*=1.03),oo("Exotic nuts")&&(e*=1.04),oo("Arcane sugar")&&(e*=1.05),oo("Increased merriness")&&(e*=1.15),oo("Improved jolliness")&&(e*=1.15),oo("A lump of coal")&&(e*=1.01),oo("An itchy sweater")&&(e*=1.01),oo("Santa's dominion")&&(e*=1.2),oo("Fortune #100")&&(e*=1.01),oo("Fortune #101")&&(e*=1.07),oo("Dragon scale")&&(e*=1.03);let o=1;if(no){let t=no("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=no("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=no("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=no("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=no("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}oo("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Le/25;let i=1;if(oo("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Zt("Breath of Milk"),no){const e=no("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=to("milk");let a=1;oo("Kitten helpers")&&(a*=1+.1*n*i),oo("Kitten workers")&&(a*=1+.125*n*i),oo("Kitten engineers")&&(a*=1+.15*n*i),oo("Kitten overseers")&&(a*=1+.175*n*i),oo("Kitten managers")&&(a*=1+.2*n*i),oo("Kitten accountants")&&(a*=1+.2*n*i),oo("Kitten specialists")&&(a*=1+.2*n*i),oo("Kitten experts")&&(a*=1+.2*n*i),oo("Kitten consultants")&&(a*=1+.2*n*i),oo("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),oo("Kitten marketeers")&&(a*=1+.15*n*i),oo("Kitten analysts")&&(a*=1+.125*n*i),oo("Kitten executives")&&(a*=1+.115*n*i),oo("Kitten angels")&&(a*=1+.1*n*i),oo("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Yt).forEach((e=>{const t=Yt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&oo("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Ve+=t.amount*a})),oo('"egg"')&&(Ve+=9),e*=a;let r=1;if(oo("Chicken egg")&&(r*=1.01),oo("Duck egg")&&(r*=1.01),oo("Turkey egg")&&(r*=1.01),oo("Quail egg")&&(r*=1.01),oo("Robin egg")&&(r*=1.01),oo("Ostrich egg")&&(r*=1.01),oo("Cassowary egg")&&(r*=1.01),oo("Salmon roe")&&(r*=1.01),oo("Frogspawn")&&(r*=1.01),oo("Shark egg")&&(r*=1.01),oo("Turtle egg")&&(r*=1.01),oo("Ant larva")&&(r*=1.01),oo("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),ut=1+.1*(1-(1-e/100)**3),r*=ut}e*=r,oo("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Zt("Radiant Appetite");const l=Ve*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&jo(Game.CpsAchievements[e].name)})),_e=l;const{n:s}=Game.shimmerTypes.golden,c=Zt("Dragon's Fortune");for(let t=0;t{oo(e[o])&&(t+=.1)}))}e*=t}if(oo("Shimmering veil [off]")){let t=.5;oo("Reinforced membrane")&&(t+=.1),e*=1+t}oo("Magic shenanigans")&&(e*=1e3),oo("Occult obstruction")&&(e*=0),Ve=Game.runModHookOnValue("cps",Ve),e*=Mo(),Ve*=e}const Ho=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Uo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ro=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],$o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Io=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function zo(e){return Jt[e]?Jt[e].won:0}function Vo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{oo(Game.GrandmaSynergies[t])&&(e+=1)})),!zo("Elder")&&e>=7&&jo("Elder"),!zo("Veteran")&&e>=14&&jo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Yt).forEach((e=>{t+=Yt[e].amount,i=Math.min(Yt[e].amount,i),zo("Mathematician")||Yt[e].amount=1&&jo("One with everything"),1===o&&jo("Mathematician"),1===n&&jo("Base 10"),i>=100&&jo("Centennial"),i>=150&&jo("Centennial and a half"),i>=200&&jo("Bicentennial"),i>=250&&jo("Bicentennial and a half"),i>=300&&jo("Tricentennial"),i>=350&&jo("Tricentennial and a half"),i>=400&&jo("Quadricentennial"),i>=450&&jo("Quadricentennial and a half"),i>=500&&jo("Quincentennial"),i>=550&&jo("Quincentennial and a half"),i>=600&&jo("Sexcentennial"),t>=100&&jo("Builder"),t>=500&&jo("Architect"),t>=1e3&&jo("Engineer"),t>=2e3&&jo("Lord of Constructs"),t>=4e3&&jo("Grand design"),t>=8e3&&jo("Ecumenopolis"),Fe>=20&&jo("Enhancer"),Fe>=50&&jo("Augmenter"),Fe>=100&&jo("Upgrader"),Fe>=200&&jo("Lord of Progress"),Fe>=300&&jo("The full picture"),Fe>=400&&jo("When there's nothing left to add"),t>=4e3&&Fe>=300&&jo("Polymath"),t>=8e3&&Fe>=400&&jo("Renaissance baker"),Yt.Cursor.amount+Yt.Grandma.amount>=777&&jo("The elder scrolls");let a=!0;Object.keys(Uo).forEach((e=>{oo(Uo[e])||(a=!1)})),a&&jo("Spooky cookies");let r=!0;if(Object.keys(Ro).forEach((e=>{oo(Ro[e])||(r=!1)})),r&&jo("Let it snow"),oo("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{oo(e[o].name)&&(t+=1)})),t>=e.length&&jo("O Fortuna")}}function _o(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){wo(),Yt[e].amount+=t;const o=Yt[e];"Cursor"===e?(o.amount>=1&&jo("Click"),o.amount>=2&&jo("Double-click"),o.amount>=50&&jo("Mouse wheel"),o.amount>=100&&jo("Of Mice and Men"),o.amount>=200&&jo("The Digital"),o.amount>=300&&jo("Extreme polydactyly"),o.amount>=400&&jo("Dr. T"),o.amount>=500&&jo("Thumbs, phalanges, metacarpals"),o.amount>=600&&jo("With her finger and her thumb"),o.amount>=700&&jo("Gotta hand it to you"),o.amount>=800&&jo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&jo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Le;return Do(),Vo(),n!==Le&&Do(),Ve-Game.cookiesPs}(o,e),1!==e&&(Ee=1)})),t}function Xo(){Object.keys(Game.Objects).forEach((e=>{gt[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),ft[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),Ct[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Qo(){gt=_o(1),ft=_o(10),Ct=_o(100),vt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){wo(),"Shimmering veil [on]"===Kt[e].name?Kt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Kt[e].name?Kt["Golden switch [off]"].bought=0:Kt[e].bought=(Kt[e].bought+1)%2,Kt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Fe+=1),"Elder Pledge"===e?(We+=1,We>0&&jo("Elder nap"),We>=5&&jo("Elder slumber")):"Elder Covenant"===e?jo("Elder calm"):"Prism heart biscuits"===e?jo("Lovely cookies"):"Heavenly key"===e&&jo("Wholesome");const t=Le;Do(),Vo(),t!==Le&&Do();const o=function(){let e=0;oo("Thousand fingers")&&(e+=.1),oo("Million fingers")&&(e*=5),oo("Billion fingers")&&(e*=10),oo("Trillion fingers")&&(e*=20),oo("Quadrillion fingers")&&(e*=20),oo("Quintillion fingers")&&(e*=20),oo("Sextillion fingers")&&(e*=20),oo("Septillion fingers")&&(e*=20),oo("Octillion fingers")&&(e*=20),oo("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Yt).forEach((e=>{t+=Yt[e].amount})),t-=Yt.Cursor.amount,e*=t,oo("Plastic mouse")&&(e+=.01*Ve),oo("Iron mouse")&&(e+=.01*Ve),oo("Titanium mouse")&&(e+=.01*Ve),oo("Adamantium mouse")&&(e+=.01*Ve),oo("Unobtainium mouse")&&(e+=.01*Ve),oo("Eludium mouse")&&(e+=.01*Ve),oo("Wishalloy mouse")&&(e+=.01*Ve),oo("Fantasteel mouse")&&(e+=.01*Ve),oo("Nevercrack mouse")&&(e+=.01*Ve),oo("Armythril mouse")&&(e+=.01*Ve),oo("Technobsidian mouse")&&(e+=.01*Ve),oo("Plasmarble mouse")&&(e+=.01*Ve),oo("Miraculite mouse")&&(e+=.01*Ve),oo("Fortune #104")&&(e+=.01*Ve);let o=1;if(oo("Santa's helpers")&&(o*=1.1),oo("Cookie egg")&&(o*=1.1),oo("Halo gloves")&&(o*=1.1),oo("Dragon claw")&&(o*=1.03),oo("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,oo("Luminous gloves")?20:10)),o*=to("click"),Yt.Temple.minigameLoaded&&no){const e=no("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Zt("Dragon Cursor");let n=o*Game.ComputeCps(1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Ve-Game.cookiesPs,o]:[Ve-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(vt[t]={bonus:Game.cookiesPs-ve},1===e.CalcWrink?vt[t].bonus-=xe:2===e.CalcWrink&&(vt[t].bonus-=Te),Number.isFinite(vt[t].bonus)||(vt[t].bonus=0)):(vt[t]={},o[0]&&(vt[t].bonus=o[0]),o[1]&&(vt[t].bonusMouse=o[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,Et=qo(7,e,ct),Pt=2*Et[1]/ct,Bt=Et[2]/60/60/6/st,Ft=qo(6,e,dt),Nt=2*Ft[1]/dt,Ot=Ft[2]/60/60/6/st,At=qo(7,7*e,ct),Wt=2*At[1]/ct,Lt=At[2]/60/60/6/st,Ht=qo(6,7*e,dt),jt=2*Ht[1]/dt,Dt=Ht[2]/60/60/6/st}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-Pe,i=Math.max(0,o-Be)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Mt+=e:"cookie"===o.pool?St+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Tt+=e)}}))}function Zo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),mt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(mt*=2)}}function en(){Ke=900*lt/.15,Ke*=st;const e=Mo();e>0?Ke/=e:Ke=0,Je=ct*(.15*Ke)+13,Ze=dt*(.15*Ke)+13,et=7*Ke,tt=ct*(.15*et)+13,ot=dt*(.15*et)+13,nt=2*Ke,it=.15*nt,at=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountat&&(at=2*Game.Objects[e].price,rt=e)}))}function tn(){let e=1,t=1,o=1;oo("Green yeast digestives")&&(o*=1.01),oo("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"),ct=o*e,dt=o*t,st=1,0===Game.shimmerTypes.golden.n&&(st*=1+1.23*Game.auraMult("Dragon's Fortune"))}function on(){yt=0,bt=0,kt=[0,null];for(let e=0;ekt[0]&&(kt=[t,e]))}}function nn(){Co(),on(),en(),tn(),Yo(),Jo(),Zo(),ue=new Eo(Y[Y.length-1]),me=new Eo(Y[Y.length-1]),he=new Eo(Y[Y.length-1]),ge=new Eo(Y[Y.length-1]),fe=new Eo(K[K.length-1]),Ce=new Eo(5),Ko(),No(),Qo(),Xo(),Lo()}const an={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},rn=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 ln(){1===e.BotBar?(l("CMBotBar").style.display="",mo()):l("CMBotBar").style.display="none",go()}function sn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),mo(),ro(),lo()}function cn(){1===e.Favicon&&y>0?$t.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 dn{constructor(e,t){this.type=e,this.group=t}}class pn extends dn{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 un extends dn{constructor(e,t,o){super(e,t),this.desc=o}}class mn extends dn{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 hn extends dn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const gn={CPSMode:new pn("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 pn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new pn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new pn("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,(function(){Ie=!0})),Scale:new pn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){sn()})),ScaleDecimals:new pn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){sn()})),ScaleSeparator:new pn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){sn()})),ScaleCutoff:new hn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new pn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new pn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new pn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new pn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ro()})),PPOnlyConsiderBuyable:new pn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster 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),PPExcludeTop:new pn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new pn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new hn("numscale","Colours","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),ColourBlue:new un("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new un("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new un("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new un("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new un("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new un("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new un("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new un("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new un("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new pn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){ln()})),TimerBar:new pn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){fo()})),TimerBarPos:new pn("bool","BarsDisplay",["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"))),go()})),TimerBarOverlay:new pn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new pn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",lo()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",lo()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new pn("bool","BarsDisplay",["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=""})),SortBuildings:new pn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ro()})),SortUpgrades:new pn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){lo()})),DragonAuraInfo:new pn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new pn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new pn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Xt[e].l.style.left,re[e].style.top=Xt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new pn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){cn()})),WrinklerButtons:new pn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new pn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new pn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new pn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new pn("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 pn("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 pn("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 pn("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 pn("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 hn("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),ToolWarnBon:new pn("bool","Tooltip",["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),ToolWarnPos:new pn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){So()})),TooltipGrim:new pn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new pn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new pn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new pn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new pn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new pn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new pn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new pn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new pn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new hn("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 pn("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),Title:new pn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden 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 pn("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 pn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){rn(e.GCNotification)})),GCFlash:new pn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new un("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new pn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new mn("vol","NotificationGC",[],"Volume"),GCSoundURL:new pn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new pn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){rn(e.FortuneNotification)})),FortuneFlash:new pn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new un("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new pn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new mn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new pn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new pn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){rn(e.SeaNotification)})),SeaFlash:new pn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new un("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new pn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new mn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new pn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new pn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new un("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new pn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new mn("vol","NotificationGard",[],"Volume"),GardSoundURL:new pn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new pn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){rn(e.MagicNotification)})),MagicFlash:new pn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new un("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new pn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new mn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new pn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new pn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){rn(e.WrinklerNotification)})),WrinklerFlash:new pn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new un("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new pn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new mn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new pn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new pn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){rn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new pn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new un("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new pn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new mn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new pn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new pn("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),FavouriteSettings:new pn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function fn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function Cn(){if(qe!==Game.dragonLevel||Ie){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].amount{if(e=n,Game.Objects[e].amount{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Upgrades).forEach((e=>{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Achievements).forEach((e=>{Jt[e]=yo(e)})),wo()}let kn=!1;function Gn(t,o,n){(1===e[o]||n)&&3===t&&!1===kn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Gn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Gn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Gn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function wn(t,o,n,i){if((1===e[o]||i)&&!1===kn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function vn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===kn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function xn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(ln(),fo()),ho()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(bn(),nn(),r=Object.keys(Game.mods).length),Ie&&(Qo(),Game.Has("Golden switch [off]")?(wo(),Kt["Golden switch [off]"].bought=0,Do(),lt=Ve):lt=Game.cookiesPs,tn(),en(),Jo(),Yo(),Cn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)qt[e][t]=yn(e,t)}(),Zo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;wo();let t=2;5!==De&&18!==De||(t-=1),5!==He&&18!==He||(t-=1),De=5,He=18;for(let e=0;e{Yt[t].amount>0&&(e=t)})),Yt[e].amount-=1,Oe-=1}return Object.keys(Yt).forEach((t=>{const o=Yt[t];e+=ao(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Qt=e}(),Ie=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ne&&t?(Ne=!0,Ee=1):Ne&&!t&&(Ne=!1,Ee=1),Ee&&(Xo(),Ee=0),function(){on(),Lo(),function(){Gt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Yt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}wt=e,Gt=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);zt=de(e/so())}(),G=0,Xt={},Object.keys(Game.shimmers).forEach((e=>{Xt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&($t=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Xt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),cn(),b=G,0===G&&($t=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Xt[e].l.style.opacity,re[e].style.transform=Xt[e].l.style.transform,re[e].textContent=Math.ceil(Xt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Gn(3,"FortuneFlash",!1),wn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),vn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(It=Game.shimmers[e])})),Gn(3,"SeaFlash",!1),wn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),vn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Gn(3,"WrinklerMaxFlash",!1):Gn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?wn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):wn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?vn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):vn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function Tn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=an[t]):"Header"===t&&Object.keys(an.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=an[t][n])}))})),o&&Mn(),xn(),Object.keys(an).forEach((e=>{"Header"!==e&&void 0!==gn[e].func&&gn[e].func()}))}else Sn(an);Game.UpdateMenu(),Tn()}function Pn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Bn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Ao(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((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)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Po(),l("tooltip").innerHTML}function En(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Nn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Mn()}function Dn(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(){jn(o),Game.UpdateMenu()},n.appendChild(i),n}function Hn(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(R[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 Un(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");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),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(Dn("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+co(){Game.HasUnlocked(Io[e])||c.push(Io[e])})),0!==c.length&&e.appendChild(Hn("basic","Rare plant drops left to unlock",Un(c))),e}())),o.appendChild(Dn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ut+Game.cookiesReset+yt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?ht:0)));t.appendChild(Hn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ut+Game.cookiesReset+yt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&ht?ht:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/Rt,1)})`,i.appendChild(a),t.appendChild(Hn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Hn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Hn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(ce(pt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Hn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(ce(e)))),t.appendChild(Hn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(de(e/pt)))))}const l=function(e){let t=Game.cookiesPs;wo(),0===Kt["Heavenly key"].bought&&(Kt["Heavenly chip secret"].bought=1,Kt["Heavenly cookie stand"].bought=1,Kt["Heavenly bakery"].bought=1,Kt["Heavenly confectionery"].bought=1,Kt["Heavenly key"].bought=1,Do(),t=Ve,wo()),Ut>=1e6&&jo("Sacrifice"),Ut>=1e9&&jo("Oblivion"),Ut>=1e12&&jo("From scratch"),Ut>=1e15&&jo("Nihilism"),Ut>=1e18&&jo("Dematerialize"),Ut>=1e21&&jo("Nil zero zilch"),Ut>=1e24&&jo("Transcendence"),Ut>=1e27&&jo("Obliterate"),Ut>=1e30&&jo("Negative void"),Ut>=1e33&&jo("To crumbs, you say?"),Ut>=1e36&&jo("You get nothing"),Ut>=1e39&&jo("Humble rebeginnings"),Ut>=1e42&&jo("The end of the world"),Ut>=1e45&&jo("Oh, you're back"),Ut>=1e48&&jo("Lazarus"),Ut>=1e51&&jo("Smurf account"),Ut>=1e54&&jo("If at first you don't succeed"),Kt["Heavenly chip secret"].bought=1,Kt["Heavenly cookie stand"].bought=1,Kt["Heavenly bakery"].bought=1,Kt["Heavenly confectionery"].bought=1,Kt["Heavenly key"].bought=1,je=e;const o=Le;Do(),Vo(),o!==Le&&Do();const n=Ve-t;return je=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(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(Hn("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(Hn("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(Hn("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(Hn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Dn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(yt)} / ${ce(bt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Pn()},e.appendChild(t),o.appendChild(Hn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(kt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==kt[1]&&(Game.wrinklers[kt[1]].hp=0)},n.appendChild(i),o.appendChild(Hn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==kt[1]?kt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(n.push(Uo[e]),o=!0)}));const i=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(i.push(Ro[e]),o=!0)}));const a=[];Object.keys($o).forEach((e=>{Game.Has($o[e])||(a.push($o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Dn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Hn("basic","Halloween cookies left to buy",Un(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Hn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Hn("basic","Christmas cookies left to buy",Un(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Hn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Hn("basic","Valentine cookies left to buy",Un(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Hn("basic","Normal easter eggs left to unlock",Un(r))),t.appendChild(Hn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Hn("basic","Rare easter eggs left to unlock",Un(l))),t.appendChild(Hn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Hn("basic","Reindeer reward",document.createTextNode(ce(mt)))),s&&t.appendChild(Hn("withTooltip","Chocolate egg cookies",document.createTextNode(ce(ht)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Hn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(ut-1))/100+"%")))}return t}()),o.appendChild(Dn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Hn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(so(),3)))),o.appendChild(Hn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(xt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Ho).forEach((t=>{Game.Has(Ho[t])||e.push(Ho[t])})),0!==e.length&&o.appendChild(Hn("basic","Fortune Upgrades Left to Buy",Un(e)))}if(e.ShowMissedGC&&o.appendChild(Hn("basic","Missed Golden Cookies",document.createTextNode(ce(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(Hn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Mt){const t=Mt.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=Mt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Tt){const t=Tt.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=Tt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(St){const t=St.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=St,e.appendChild(i)}}}))}const $n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},In={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 zn(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(){jn(t),Game.UpdateMenu()},n.appendChild(i),n}function Vn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return se.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(e),Mn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(R.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===gn[t].type){const n=document.createElement("a");gn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Ln+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===gn[t].label.length?(e[t]=0,gn[t].toggle&&(l(Ln+t).className="option off")):l(Ln+t).className="option",void 0!==gn[t].func&&gn[t].func(),l(Ln+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,i.style.lineHeight="1.6",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");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(){An(t)},r.onchange=function(){An(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){wn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Ln+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=`${Ln+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Mn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=gn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===gn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Fn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Tn(),Mn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=gn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Gn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Wn().init(),o}if("numscale"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Ln+t,i.className="option",i.type="number",i.value=e[t],i.min=gn[t].min,i.max=gn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Mn(),sn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=gn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function _n(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 Xn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),Ie=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.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`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){_n(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){_n(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){_n(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[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 Bn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Yt[Game.ObjectsById[e].name].name;Yt[o].amount-=1,Oe-=1,t=Yt[o].basePrice*Game.priceIncrease**Math.max(0,Yt[o].amount-1-Yt[o].free),t=Game.modifyBuildingPrice(Yt[o],t),t=Math.ceil(t);break}const o=Le;return Do(),Vo(),o!==Le&&Do(),[Ve-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);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 ${ce(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)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ye}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Wn().picker&&void 0!==Wn().picker.owner||(S.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),Object.keys($n).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(zn(t,$n[t])),e.Header[t]))for(let e=0;e{const n=zn(t,In[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(gn).forEach((e=>{gn[e].group===t&&o.appendChild(Vn(e))}))})):Object.keys(gn).forEach((e=>{gn[e].group===t&&o.appendChild(Vn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Sn(an)},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(){jn("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.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=$t?$t.wrath?`[W${Math.ceil($t.life/Game.fps)}]`:`[G${Math.ceil($t.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=g?`[R${Math.ceil(It.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===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;$t&&(t=!0,$t.wrath?e+=`[W${Math.ceil($t.life/Game.fps)}]`:e+=`[G${Math.ceil($t.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(It.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 ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Be<1?"Ascending now would grant you no prestige.":Be<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Be)} prestige levels (+${ce(Be)}% CpS)
and ${ce(Be)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${zt} to reach the next level and you are making ${ce(pt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Qn(){bn(),en(),nn(),r=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.backgroundColour="#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=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{uo(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.backgroundColour="black";const t=po("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=po("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);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.backgroundColour="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(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"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=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",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("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),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)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Pn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopAll")}),"this"),Game.tooltip.wobble()},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!==kt[1]&&(Game.wrinklers[kt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},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",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("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 Bn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),En(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),On()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},Xn(),On(),Game.CalculateGains(),Sn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 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.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Qn(),Game.registerHook("draw",Bo),Game.registerHook("logic",xn),kn=!1)},load:function(e){const t=JSON.parse(e);bn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Sn(t.settings),"2.031.6"!==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:fn};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],g=o.fixed?"fixed":"absolute",f=(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 g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.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){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.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={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","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 r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["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"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],$={};let R,I,z=0,V=-1,_=[],Q=1,X=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=1,dt=1,pt=1,ut=0,mt=0,ht=0,gt=0,ft={},Ct={},yt={},bt=0,kt=0,Gt=[0,null],wt=0,vt=0,xt={},Tt={},Mt={},St={},Pt={},Bt=0,Et=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Dt=0,Ht=0,Ut=[],$t=0,Rt=0,It={},zt={},Vt=0,_t=0,Qt=[],Xt={},qt=0,Yt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Kt=[],Jt=[],Zt=[];function eo(e){let t=0;return Game.dragonAuras[He].name!==e&&Game.dragonAuras[Ue].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[He].name&&"Reality Bending"!==Game.dragonAuras[Ue].name||(t+=.1),t}function to(){let e=.25;return e*=1+eo("Earth Shatterer"),e}function oo(e,t){return void 0===Ve[e]?void 0===t?1:t:Ve[e]}function no(e){const t=Jt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function io(e){if(Game.hasGod){void 0===Kt.Temple.minigame&&(Kt.Temple.minigame=Game.Objects.Temple.minigame);const t=Kt.Temple.minigame.gods[e];if($e===t.id)return 1;if(Re===t.id)return 2;if(Ie===t.id)return 3}return!1}function ao(e,t){let o=t;if(no("Season savings")&&(o*=.99),no("Santa's dominion")&&(o*=.99),no("Faberge egg")&&(o*=.99),no("Divine discount")&&(o*=.99),no("Fortune #100")&&(o*=.99),o*=1-.02*eo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&no(e.fortune.name)&&(o*=.93),o*=oo("buildingCost"),Kt.Temple.minigameLoaded){const e=io("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ro(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function lo(){let t=Game.buyBulk;if(1===Game.buyMode?X=t:t=X,1===t?t=ft:10===t?t=Ct:100===t&&(t=yt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ft).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ro(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ft).map((e=>{const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ft[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;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.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{let n,i=Game.buyBulk;1===Game.buyMode?Q=i:i=Q,1===i&&(i=ft),10===i&&(i=Ct),100===i&&(i=yt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+po()))/co());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&no(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(no(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&no(e.fortune.name)&&(t*=1.07),e.grandma&&no(e.grandma.name)&&(t*=1+.01*Kt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&no(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function Go(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;no("Thousand fingers")&&(t+=.1),no("Million fingers")&&(t*=5),no("Billion fingers")&&(t*=10),no("Trillion fingers")&&(t*=20),no("Quadrillion fingers")&&(t*=20),no("Quintillion fingers")&&(t*=20),no("Sextillion fingers")&&(t*=20),no("Septillion fingers")&&(t*=20),no("Octillion fingers")&&(t*=20),no("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Kt).forEach((e=>{"Cursor"!==Kt[e].name&&(n+=Kt[e].amount)})),t*=n,o*=ko(e),o*=Game.magicCpS("Cursor"),o*=oo("cursorCps"),Game.ComputeCps(.1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{no(Game.GrandmaSynergies[e])&&(o*=2)})),no("Bingo center/Research facility")&&(o*=4),no("Ritual rolling pins")&&(o*=2),no("Naughty list")&&(o*=2),no("Elderwort biscuits")&&(o*=1.02),o*=oo("grandmaCps"),no("Cat ladies"))for(let e=0;e{"Grandma"!==Kt[e].name&&(i+=Kt[e].amount)})),o*=1+.01*eo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=ko(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function wo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Kt).forEach((t=>{Kt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(no("Starlove")&&(e=3),Game.hasGod){const t=io("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 vo(){We=Game.UpgradesOwned,Le=Game.pledges,Ae=Game.AchievementsOwned,je=Game.heavenlyPower,De=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e],mo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&($e=t.minigame.slot[0],Re=t.minigame.slot[1],Ie=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Kt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Jt[e];void 0===o&&(Jt[e]=wo(e),o=Jt[e]),o.bought=t.bought,Jt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Zt[e];void 0===o&&(Zt[e]=bo(e),o=Zt[e]),o.won=t.won,Zt[e]=o})),yo(),He=Xe,Ue=qe}function xo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function To(e){e.appendChild(xo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(xo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(xo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(xo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(xo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Mo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Po(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Bo(){if(vo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(To(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ft:10===Game.buyBulk?t=Ct:100===Game.buyBulk&&(t=yt),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+po()))/co());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(xo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(xo("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&&t=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+=1),"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+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=uo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,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+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,fo())}}(),ho(),Bo(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){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)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Kt.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=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function No(){ue.addLatest(Game.computedMouseCps)}class Oo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Fo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+qt;Game.cpsSucked>0&&(o+=bt),$t=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-be,i=Math.max(0,Game.cookies-ke)/n,a=Math.max(0,bt-Ge)/n,r=Math.max(0,Gt[0]-we)/n,l=Math.max(0,o-gt)/n,s=(Game.cookieClicks-ve)/n;for(let e=0;e0&&(n=W),n}function Lo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Wo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+po()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Qt.push([t[n].pp,o])}))}function jo(){!function(){_t=1/0,Qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Ao(ft,1),Ao(Ct,10),Ao(yt,100),Qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Qt[t][1]>Game.cookies&&(t+=1,Qt.length!==t+1););_t=Qt[e.PPExcludeTop][t],Lo(ft,1),Lo(Ct,10),Lo(yt,100)}(),Object.keys(xt).forEach((e=>{Game.cookiesPs?xt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+po()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/xt[e].bonus:xt[e].pp=Game.Upgrades[e].getPrice()/xt[e].bonus,Number.isNaN(xt[e].pp)&&(xt[e].pp=1/0),xt[e].color=Wo(xt[e],Game.Upgrades[e].getPrice())}))}function Do(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ve=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(De)*je*function(){let e=0;if(no("Heavenly chip secret")&&(e+=.05),no("Heavenly cookie stand")&&(e+=.2),no("Heavenly bakery")&&(e+=.25),no("Heavenly confectionery")&&(e+=.25),no("Heavenly key")&&(e+=.25),e*=1+.05*eo("Dragon God"),no("Lucky digit")&&(e*=1.01),no("Lucky number")&&(e*=1.01),no("Lucky payout")&&(e*=1.01),Game.hasGod){const t=io("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=oo("cps"),no("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];no(o.name)&&("function"==typeof o.power?e*=1+.01*Jt[o.name].power(Jt[o.name]):e*=1+.01*o.power)})),no("Specialized chocolate chips")&&(e*=1.01),no("Designer cocoa beans")&&(e*=1.02),no("Underworld ovens")&&(e*=1.03),no("Exotic nuts")&&(e*=1.04),no("Arcane sugar")&&(e*=1.05),no("Increased merriness")&&(e*=1.15),no("Improved jolliness")&&(e*=1.15),no("A lump of coal")&&(e*=1.01),no("An itchy sweater")&&(e*=1.01),no("Santa's dominion")&&(e*=1.2),no("Fortune #100")&&(e*=1.01),no("Fortune #101")&&(e*=1.07),no("Dragon scale")&&(e*=1.03);let o=1;if(io){let t=io("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=io("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=io("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=io("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=io("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}no("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Ae/25;let i=1;if(no("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*eo("Breath of Milk"),io){const e=io("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=oo("milk");let a=1;no("Kitten helpers")&&(a*=1+.1*n*i),no("Kitten workers")&&(a*=1+.125*n*i),no("Kitten engineers")&&(a*=1+.15*n*i),no("Kitten overseers")&&(a*=1+.175*n*i),no("Kitten managers")&&(a*=1+.2*n*i),no("Kitten accountants")&&(a*=1+.2*n*i),no("Kitten specialists")&&(a*=1+.2*n*i),no("Kitten experts")&&(a*=1+.2*n*i),no("Kitten consultants")&&(a*=1+.2*n*i),no("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),no("Kitten marketeers")&&(a*=1+.15*n*i),no("Kitten analysts")&&(a*=1+.125*n*i),no("Kitten executives")&&(a*=1+.115*n*i),no("Kitten angels")&&(a*=1+.1*n*i),no("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Kt).forEach((e=>{const t=Kt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&no("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),_e+=t.amount*a})),no('"egg"')&&(_e+=9),e*=a;let r=1;if(no("Chicken egg")&&(r*=1.01),no("Duck egg")&&(r*=1.01),no("Turkey egg")&&(r*=1.01),no("Quail egg")&&(r*=1.01),no("Robin egg")&&(r*=1.01),no("Ostrich egg")&&(r*=1.01),no("Cassowary egg")&&(r*=1.01),no("Salmon roe")&&(r*=1.01),no("Frogspawn")&&(r*=1.01),no("Shark egg")&&(r*=1.01),no("Turtle egg")&&(r*=1.01),no("Ant larva")&&(r*=1.01),no("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),mt=1+.1*(1-(1-e/100)**3),r*=mt}e*=r,no("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+eo("Radiant Appetite");const l=_e*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ho(Game.CpsAchievements[e].name)})),Qe=l;const{n:s}=Game.shimmerTypes.golden,c=eo("Dragon's Fortune");for(let t=0;t{no(e[o])&&(t+=.1)}))}e*=t}if(no("Shimmering veil [off]")){let t=.5;no("Reinforced membrane")&&(t+=.1),e*=1+t}no("Magic shenanigans")&&(e*=1e3),no("Occult obstruction")&&(e*=0),_e=Game.runModHookOnValue("cps",_e),e*=So(),_e*=e}const $o=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ro=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Io=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],zo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Vo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function _o(e){return Zt[e]?Zt[e].won:0}function Qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{no(Game.GrandmaSynergies[t])&&(e+=1)})),!_o("Elder")&&e>=7&&Ho("Elder"),!_o("Veteran")&&e>=14&&Ho("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount,i=Math.min(Kt[e].amount,i),_o("Mathematician")||Kt[e].amount=1&&Ho("One with everything"),1===o&&Ho("Mathematician"),1===n&&Ho("Base 10"),i>=100&&Ho("Centennial"),i>=150&&Ho("Centennial and a half"),i>=200&&Ho("Bicentennial"),i>=250&&Ho("Bicentennial and a half"),i>=300&&Ho("Tricentennial"),i>=350&&Ho("Tricentennial and a half"),i>=400&&Ho("Quadricentennial"),i>=450&&Ho("Quadricentennial and a half"),i>=500&&Ho("Quincentennial"),i>=550&&Ho("Quincentennial and a half"),i>=600&&Ho("Sexcentennial"),t>=100&&Ho("Builder"),t>=500&&Ho("Architect"),t>=1e3&&Ho("Engineer"),t>=2e3&&Ho("Lord of Constructs"),t>=4e3&&Ho("Grand design"),t>=8e3&&Ho("Ecumenopolis"),We>=20&&Ho("Enhancer"),We>=50&&Ho("Augmenter"),We>=100&&Ho("Upgrader"),We>=200&&Ho("Lord of Progress"),We>=300&&Ho("The full picture"),We>=400&&Ho("When there's nothing left to add"),t>=4e3&&We>=300&&Ho("Polymath"),t>=8e3&&We>=400&&Ho("Renaissance baker"),Kt.Cursor.amount+Kt.Grandma.amount>=777&&Ho("The elder scrolls");let a=!0;Object.keys(Ro).forEach((e=>{no(Ro[e])||(a=!1)})),a&&Ho("Spooky cookies");let r=!0;if(Object.keys(Io).forEach((e=>{no(Io[e])||(r=!1)})),r&&Ho("Let it snow"),no("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{no(e[o].name)&&(t+=1)})),t>=e.length&&Ho("O Fortuna")}}function Xo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){vo(),Kt[e].amount+=t;const o=Kt[e];"Cursor"===e?(o.amount>=1&&Ho("Click"),o.amount>=2&&Ho("Double-click"),o.amount>=50&&Ho("Mouse wheel"),o.amount>=100&&Ho("Of Mice and Men"),o.amount>=200&&Ho("The Digital"),o.amount>=300&&Ho("Extreme polydactyly"),o.amount>=400&&Ho("Dr. T"),o.amount>=500&&Ho("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ho("With her finger and her thumb"),o.amount>=700&&Ho("Gotta hand it to you"),o.amount>=800&&Ho("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ho(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Ae;return Uo(),Qo(),n!==Ae&&Uo(),_e-Game.cookiesPs}(o,e),1!==e&&(Ne=1)})),t}function qo(){Object.keys(Game.Objects).forEach((e=>{ft[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),Ct[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),yt[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Yo(){ft=Xo(1),Ct=Xo(10),yt=Xo(100),xt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){vo(),"Shimmering veil [on]"===Jt[e].name?Jt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Jt[e].name?Jt["Golden switch [off]"].bought=0:Jt[e].bought=(Jt[e].bought+1)%2,Jt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(We+=1),"Elder Pledge"===e?(Le+=1,Le>0&&Ho("Elder nap"),Le>=5&&Ho("Elder slumber")):"Elder Covenant"===e?Ho("Elder calm"):"Prism heart biscuits"===e?Ho("Lovely cookies"):"Heavenly key"===e&&Ho("Wholesome");const t=Ae;Uo(),Qo(),t!==Ae&&Uo();const o=function(){let e=0;no("Thousand fingers")&&(e+=.1),no("Million fingers")&&(e*=5),no("Billion fingers")&&(e*=10),no("Trillion fingers")&&(e*=20),no("Quadrillion fingers")&&(e*=20),no("Quintillion fingers")&&(e*=20),no("Sextillion fingers")&&(e*=20),no("Septillion fingers")&&(e*=20),no("Octillion fingers")&&(e*=20),no("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount})),t-=Kt.Cursor.amount,e*=t,no("Plastic mouse")&&(e+=.01*_e),no("Iron mouse")&&(e+=.01*_e),no("Titanium mouse")&&(e+=.01*_e),no("Adamantium mouse")&&(e+=.01*_e),no("Unobtainium mouse")&&(e+=.01*_e),no("Eludium mouse")&&(e+=.01*_e),no("Wishalloy mouse")&&(e+=.01*_e),no("Fantasteel mouse")&&(e+=.01*_e),no("Nevercrack mouse")&&(e+=.01*_e),no("Armythril mouse")&&(e+=.01*_e),no("Technobsidian mouse")&&(e+=.01*_e),no("Plasmarble mouse")&&(e+=.01*_e),no("Miraculite mouse")&&(e+=.01*_e),no("Fortune #104")&&(e+=.01*_e);let o=1;if(no("Santa's helpers")&&(o*=1.1),no("Cookie egg")&&(o*=1.1),no("Halo gloves")&&(o*=1.1),no("Dragon claw")&&(o*=1.03),no("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,no("Luminous gloves")?20:10)),o*=oo("click"),Kt.Temple.minigameLoaded&&io){const e=io("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*eo("Dragon Cursor");let n=o*Game.ComputeCps(1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[_e-Game.cookiesPs,o]:[_e-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(xt[t]={bonus:Game.cookiesPs-xe},1===e.CalcWrink?xt[t].bonus-=Te:2===e.CalcWrink&&(xt[t].bonus-=Me),Number.isFinite(xt[t].bonus)||(xt[t].bonus=0)):(xt[t]={},o[0]&&(xt[t].bonus=o[0]),o[1]&&(xt[t].bonusMouse=o[1]))}))}function Ko(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,Nt=Ko(7,e,dt),Bt=2*Nt[1]/dt,Et=Nt[2]/60/60/6/ct,Wt=Ko(6,e,pt),Ot=2*Wt[1]/pt,Ft=Wt[2]/60/60/6/ct,jt=Ko(7,7*e,dt),Lt=2*jt[1]/dt,At=jt[2]/60/60/6/ct,Ut=Ko(6,7*e,pt),Dt=2*Ut[1]/pt,Ht=Ut[2]/60/60/6/ct}function Zo(){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-Be,i=Math.max(0,o-Ee)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?St+=e:"cookie"===o.pool?Pt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Mt+=e)}}))}function tn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ht=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ht*=2)}}function on(){Je=900*st/.15,Je*=ct;const e=So();e>0?Je/=e:Je=0,Ze=dt*(.15*Je)+13,et=pt*(.15*Je)+13,tt=7*Je,ot=dt*(.15*tt)+13,nt=pt*(.15*tt)+13,it=2*Je,at=.15*it,rt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountrt&&(rt=2*Game.Objects[e].price,lt=e)}))}function nn(){let e=1,t=1,o=1;no("Green yeast digestives")&&(o*=1.01),no("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"),dt=o*e,pt=o*t,ct=1,0===Game.shimmerTypes.golden.n&&(ct*=1+1.23*Game.auraMult("Dragon's Fortune"))}function an(){bt=0,kt=0,Gt=[0,null];for(let e=0;eGt[0]&&(Gt=[t,e]))}}function rn(){yo(),an(),on(),nn(),Jo(),en(),tn(),me=new Oo(Y[Y.length-1]),he=new Oo(Y[Y.length-1]),ge=new Oo(Y[Y.length-1]),fe=new Oo(Y[Y.length-1]),Ce=new Oo(K[K.length-1]),ye=new Oo(5),ue=new Oo(20*K[K.length-1]),Zo(),Fo(),Yo(),qo(),jo()}const ln={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},sn=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 cn(){1===e.BotBar?(l("CMBotBar").style.display="",ho()):l("CMBotBar").style.display="none",fo()}function dn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),ho(),lo(),so()}function pn(){1===e.Favicon&&y>0?It.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){super(e,t),this.desc=o}}class gn 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 Cn={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 in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new mn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),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,(function(){ze=!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 formatted",!1,(function(){dn()})),ScaleDecimals:new mn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){dn()})),ScaleSeparator:new mn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){dn()})),ScaleCutoff:new fn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new mn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new mn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new mn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new mn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){lo()})),PPOnlyConsiderBuyable:new mn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster 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),PPExcludeTop:new mn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new mn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new fn("numscale","Colours","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),ColourBlue:new hn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new hn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new hn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new hn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new hn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new hn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new hn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new hn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new hn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new mn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){cn()})),TimerBar:new mn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){Co()})),TimerBarPos:new mn("bool","BarsDisplay",["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"))),fo()})),TimerBarOverlay:new mn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new mn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",so()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",so()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new mn("bool","BarsDisplay",["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=""})),SortBuildings:new mn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){lo()})),SortUpgrades:new mn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){so()})),DragonAuraInfo:new mn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new mn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new mn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Xt[e].l.style.left,re[e].style.top=Xt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new mn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){pn()})),WrinklerButtons:new mn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new mn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),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),ToolWarnBon:new mn("bool","Tooltip",["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),ToolWarnPos:new mn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Po()})),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),TooltipPantheon:new mn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!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",!0),UpStats:new mn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),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),Title:new mn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden 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(){sn(e.GCNotification)})),GCFlash:new mn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new hn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new mn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new gn("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(){sn(e.FortuneNotification)})),FortuneFlash:new mn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new hn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new mn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new gn("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(){sn(e.SeaNotification)})),SeaFlash:new mn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new hn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new mn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new gn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new mn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new mn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new hn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new mn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new gn("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(){sn(e.MagicNotification)})),MagicFlash:new mn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new hn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new mn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new gn("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(){sn(e.WrinklerNotification)})),WrinklerFlash:new mn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new hn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new mn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new gn("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(){sn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new mn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new hn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new mn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new gn("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"),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),FavouriteSettings:new mn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function yn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function bn(){if(Ye!==Game.dragonLevel||ze){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].amount{if(e=n,Game.Objects[e].amount{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Upgrades).forEach((e=>{Jt[e]=wo(e)})),Zt=[],Object.keys(Game.Achievements).forEach((e=>{Zt[e]=bo(e)})),vo()}let wn=!1;function vn(t,o,n){(1===e[o]||n)&&3===t&&!1===wn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){vn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){vn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){vn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function xn(t,o,n,i){if((1===e[o]||i)&&!1===wn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Tn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===wn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Mn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(cn(),Co()),go()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(Gn(),rn(),r=Object.keys(Game.mods).length),ze&&(Yo(),Game.Has("Golden switch [off]")?(vo(),Jt["Golden switch [off]"].bought=0,Uo(),st=_e):st=Game.cookiesPs,nn(),on(),en(),Jo(),bn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Yt[e][t]=kn(e,t)}(),tn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;vo();let t=2;5!==He&&18!==He||(t-=1),5!==Ue&&18!==Ue||(t-=1),He=5,Ue=18;for(let e=0;e{Kt[t].amount>0&&(e=t)})),Kt[e].amount-=1,Fe-=1}return Object.keys(Kt).forEach((t=>{const o=Kt[t];e+=ro(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),qt=e}(),ze=0);const t=Game.auraMult("Fierce Hoarder")>0;!Oe&&t?(Oe=!0,Ne=1):Oe&&!t&&(Oe=!1,Ne=1),Ne&&(qo(),Ne=0),function(){an(),jo(),function(){wt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Kt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}vt=e,wt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Fo(),Zo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Vt=de(e/co())}(),G=0,Xt={},Object.keys(Game.shimmers).forEach((e=>{Xt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(It=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Xt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),pn(),b=G,0===G&&(It=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Xt[e].l.style.opacity,re[e].style.transform=Xt[e].l.style.transform,re[e].textContent=Math.ceil(Xt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(vn(3,"FortuneFlash",!1),xn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Tn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(zt=Game.shimmers[e])})),vn(3,"SeaFlash",!1),xn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Tn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?vn(3,"WrinklerMaxFlash",!1):vn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?xn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):xn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Tn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Tn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function Sn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=ln[t]):"Header"===t&&Object.keys(ln.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=ln[t][n])}))})),o&&Pn(),Mn(),Object.keys(ln).forEach((e=>{"Header"!==e&&void 0!==Cn[e].func&&Cn[e].func()}))}else Bn(ln);Game.UpdateMenu(),Sn()}function En(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Nn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Do(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((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)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Bo(),l("tooltip").innerHTML}function On(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Fn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Pn()}function Un(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(){Hn(o),Game.UpdateMenu()},n.appendChild(i),n}function $n(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($[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 Rn(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");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),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 In(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Un("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+po(){Game.HasUnlocked(Vo[e])||c.push(Vo[e])})),0!==c.length&&e.appendChild($n("basic","Rare plant drops left to unlock",Rn(c))),e}())),o.appendChild(Un("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige($t+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?gt:0)));t.appendChild($n("withTooltip","Prestige level (cur / max)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-($t+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&>?gt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/Rt,1)})`,i.appendChild(a),t.appendChild($n("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild($n("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild($n("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(ce(ut,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild($n("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(ce(e)))),t.appendChild($n("basic","Time till target (cur, current 5 second average)",document.createTextNode(de(e/ut)))))}const l=function(e){let t=Game.cookiesPs;vo(),0===Jt["Heavenly key"].bought&&(Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,Uo(),t=_e,vo()),$t>=1e6&&Ho("Sacrifice"),$t>=1e9&&Ho("Oblivion"),$t>=1e12&&Ho("From scratch"),$t>=1e15&&Ho("Nihilism"),$t>=1e18&&Ho("Dematerialize"),$t>=1e21&&Ho("Nil zero zilch"),$t>=1e24&&Ho("Transcendence"),$t>=1e27&&Ho("Obliterate"),$t>=1e30&&Ho("Negative void"),$t>=1e33&&Ho("To crumbs, you say?"),$t>=1e36&&Ho("You get nothing"),$t>=1e39&&Ho("Humble rebeginnings"),$t>=1e42&&Ho("The end of the world"),$t>=1e45&&Ho("Oh, you're back"),$t>=1e48&&Ho("Lazarus"),$t>=1e51&&Ho("Smurf account"),$t>=1e54&&Ho("If at first you don't succeed"),Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,De=e;const o=Ae;Uo(),Qo(),o!==Ae&&Uo();const n=_e-t;return De=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(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($n("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($n("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($n("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($n("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Un("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(bt)} / ${ce(kt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){En()},e.appendChild(t),o.appendChild($n("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(Gt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},n.appendChild(i),o.appendChild($n("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==Gt[1]?Gt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(n.push(Ro[e]),o=!0)}));const i=[];Object.keys(Io).forEach((e=>{Game.Has(Io[e])||(i.push(Io[e]),o=!0)}));const a=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(a.push(zo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Un("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild($n("basic","Halloween cookies left to buy",Rn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild($n("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild($n("basic","Christmas cookies left to buy",Rn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild($n("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild($n("basic","Valentine cookies left to buy",Rn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild($n("basic","Normal easter eggs left to unlock",Rn(r))),t.appendChild($n("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild($n("basic","Rare easter eggs left to unlock",Rn(l))),t.appendChild($n("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild($n("basic","Reindeer reward",document.createTextNode(ce(ht)))),s&&t.appendChild($n("withTooltip","Chocolate egg cookies",document.createTextNode(ce(gt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild($n("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(mt-1))/100+"%")))}return t}()),o.appendChild(Un("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild($n("basic",`Average cookies per second (past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(co(),3)))),o.appendChild($n("basic",`Average cookie clicks per second (past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(Tt,1)))),o.appendChild($n("basic",`Cookies from clicking (past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(ue.calcSum(Tt*K[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys($o).forEach((t=>{Game.Has($o[t])||e.push($o[t])})),0!==e.length&&o.appendChild($n("basic","Fortune Upgrades Left to Buy",Rn(e)))}if(e.ShowMissedGC&&o.appendChild($n("basic","Missed golden cookies",document.createTextNode(ce(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($n("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&St){const t=St.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=St,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Mt){const t=Mt.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=Mt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Pt){const t=Pt.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=Pt,e.appendChild(i)}}}))}const zn={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Vn={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 _n(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(){Hn(t),Game.UpdateMenu()},n.appendChild(i),n}function Qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return se.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(e),Pn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape($.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===Cn[t].type){const n=document.createElement("a");Cn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=jn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===Cn[t].label.length?(e[t]=0,Cn[t].toggle&&(l(jn+t).className="option off")):l(jn+t).className="option",void 0!==Cn[t].func&&Cn[t].func(),l(jn+t).innerHTML=Cn[t].label[e[t]],Pn()}(t)},n.textContent=Cn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=Cn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===Cn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=Cn[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");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(){Dn(t)},r.onchange=function(){Dn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){xn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+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=`${jn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Pn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=Cn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===Cn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Ln(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Sn(),Pn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=Cn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){vn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),An().init(),o}if("numscale"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="number",i.value=e[t],i.min=Cn[t].min,i.max=Cn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Pn(),dn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=Cn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Xn(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 qn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),ze=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.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`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Xn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Xn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Xn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[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 Nn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Kt[Game.ObjectsById[e].name].name;Kt[o].amount-=1,Fe-=1,t=Kt[o].basePrice*Game.priceIncrease**Math.max(0,Kt[o].amount-1-Kt[o].free),t=Game.modifyBuildingPrice(Kt[o],t),t=Math.ceil(t);break}const o=Ae;return Uo(),Qo(),o!==Ae&&Uo(),[_e-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);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 ${ce(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)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ke}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==An().picker&&void 0!==An().picker.owner||(S.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),Object.keys(zn).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(_n(t,zn[t])),e.Header[t]))for(let e=0;e{const n=_n(t,Vn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Qn(e))}))})):Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Bn(ln)},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",In(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(){Hn("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.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=It?It.wrath?`[W${Math.ceil(It.life/Game.fps)}]`:`[G${Math.ceil(It.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=g?`[R${Math.ceil(zt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===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;It&&(t=!0,It.wrath?e+=`[W${Math.ceil(It.life/Game.fps)}]`:e+=`[G${Math.ceil(It.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(zt.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 ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Ee<1?"Ascending now would grant you no prestige.":Ee<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Ee)} prestige levels (+${ce(Ee)}% CpS)
and ${ce(Ee)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Vt} to reach the next level and you were making ${ce(ut,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Yn(){Gn(),on(),rn(),r=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.backgroundColour="#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=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{mo(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.backgroundColour="black";const t=uo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=uo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);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.backgroundColour="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(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"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=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",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("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),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)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),$[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){En()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopAll")}),"this"),Game.tooltip.wobble()},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!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},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",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("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 Nn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),On(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Wn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},qn(),Wn(),Game.CalculateGains(),Bn(),R=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Kn={init:function(){wn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Yn(),Game.registerHook("draw",Eo),Game.registerHook("logic",Mn),Game.registerHook("click",No),wn=!1)},load:function(e){const t=JSON.parse(e);Gn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Bn(t.settings),"2.031.6"!==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:yn};Game.registerMod("CookieMonster",Kn)})()})(); diff --git a/dist/CookieMonster.js b/dist/CookieMonster.js index ef2ced0..bf9f8db 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],g=o.fixed?"fixed":"absolute",f=(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 g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.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){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.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={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","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 r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["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"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=1,ct=1,dt=1,pt=0,ut=0,mt=0,ht=0,gt={},ft={},Ct={},yt=0,bt=0,kt=[0,null],Gt=0,wt=0,vt={},xt={},Tt={},Mt={},St={},Pt=0,Bt=0,Et=[],Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,Rt=0,$t={},It={},zt=0,Vt=0,_t=[],Xt={},Qt=0,qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Yt=[],Kt=[],Jt=[];function Zt(e){let t=0;return Game.dragonAuras[De].name!==e&&Game.dragonAuras[He].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[De].name&&"Reality Bending"!==Game.dragonAuras[He].name||(t+=.1),t}function eo(){let e=.25;return e*=1+Zt("Earth Shatterer"),e}function to(e,t){return void 0===ze[e]?void 0===t?1:t:ze[e]}function oo(e){const t=Kt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function no(e){if(Game.hasGod){void 0===Yt.Temple.minigame&&(Yt.Temple.minigame=Game.Objects.Temple.minigame);const t=Yt.Temple.minigame.gods[e];if(Ue===t.id)return 1;if(Re===t.id)return 2;if($e===t.id)return 3}return!1}function io(e,t){let o=t;if(oo("Season savings")&&(o*=.99),oo("Santa's dominion")&&(o*=.99),oo("Faberge egg")&&(o*=.99),oo("Divine discount")&&(o*=.99),oo("Fortune #100")&&(o*=.99),o*=1-.02*Zt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&oo(e.fortune.name)&&(o*=.93),o*=to("buildingCost"),Yt.Temple.minigameLoaded){const e=no("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ao(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ro(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=gt:10===t?t=ft:100===t&&(t=Ct),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(gt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ao(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(gt).map((e=>{const t=gt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=gt[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;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.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{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=gt),10===i&&(i=ft),100===i&&(i=Ct),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+co()))/so());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&oo(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(oo(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&oo(e.fortune.name)&&(t*=1.07),e.grandma&&oo(e.grandma.name)&&(t*=1+.01*Yt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&oo(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function ko(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;oo("Thousand fingers")&&(t+=.1),oo("Million fingers")&&(t*=5),oo("Billion fingers")&&(t*=10),oo("Trillion fingers")&&(t*=20),oo("Quadrillion fingers")&&(t*=20),oo("Quintillion fingers")&&(t*=20),oo("Sextillion fingers")&&(t*=20),oo("Septillion fingers")&&(t*=20),oo("Octillion fingers")&&(t*=20),oo("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Yt).forEach((e=>{"Cursor"!==Yt[e].name&&(n+=Yt[e].amount)})),t*=n,o*=bo(e),o*=Game.magicCpS("Cursor"),o*=to("cursorCps"),Game.ComputeCps(.1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{oo(Game.GrandmaSynergies[e])&&(o*=2)})),oo("Bingo center/Research facility")&&(o*=4),oo("Ritual rolling pins")&&(o*=2),oo("Naughty list")&&(o*=2),oo("Elderwort biscuits")&&(o*=1.02),o*=to("grandmaCps"),oo("Cat ladies"))for(let e=0;e{"Grandma"!==Yt[e].name&&(i+=Yt[e].amount)})),o*=1+.01*Zt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=bo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function Go(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Yt).forEach((t=>{Yt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(oo("Starlove")&&(e=3),Game.hasGod){const t=no("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 wo(){Fe=Game.UpgradesOwned,We=Game.pledges,Le=Game.AchievementsOwned,Ae=Game.heavenlyPower,je=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e],uo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ue=t.minigame.slot[0],Re=t.minigame.slot[1],$e=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Yt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e]),o.bought=t.bought,Kt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Jt[e];void 0===o&&(Jt[e]=yo(e),o=Jt[e]),o.won=t.won,Jt[e]=o})),Co(),De=Xe,He=Qe}function vo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function xo(e){e.appendChild(vo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(vo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(vo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(vo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(vo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function To(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function So(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Po(){if(wo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(xo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=gt:10===Game.buyBulk?t=ft:100===Game.buyBulk&&(t=Ct),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+co()))/so());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(vo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(vo("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&&t=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+=1),"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+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=po(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,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+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,go())}}(),mo(),Po(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){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)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Yt.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=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Eo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function No(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Qt;Game.cpsSucked>0&&(o+=yt),Ut=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-ye,i=Math.max(0,Game.cookies-be)/n,a=Math.max(0,yt-ke)/n,r=Math.max(0,kt[0]-Ge)/n,l=Math.max(0,o-ht)/n,s=(Game.cookieClicks-we)/n;for(let e=0;e0&&(n=W),n}function Fo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Oo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+co()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||_t.push([t[n].pp,o])}))}function Lo(){!function(){Vt=1/0,_t=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Wo(gt,1),Wo(ft,10),Wo(Ct,100),_t.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;_t[t][1]>Game.cookies&&(t+=1,_t.length!==t+1););Vt=_t[e.PPExcludeTop][t],Fo(gt,1),Fo(ft,10),Fo(Ct,100)}(),Object.keys(vt).forEach((e=>{Game.cookiesPs?vt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+co()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/vt[e].bonus:vt[e].pp=Game.Upgrades[e].getPrice()/vt[e].bonus,Number.isNaN(vt[e].pp)&&(vt[e].pp=1/0),vt[e].color=Oo(vt[e],Game.Upgrades[e].getPrice())}))}function Ao(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),ze=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(je)*Ae*function(){let e=0;if(oo("Heavenly chip secret")&&(e+=.05),oo("Heavenly cookie stand")&&(e+=.2),oo("Heavenly bakery")&&(e+=.25),oo("Heavenly confectionery")&&(e+=.25),oo("Heavenly key")&&(e+=.25),e*=1+.05*Zt("Dragon God"),oo("Lucky digit")&&(e*=1.01),oo("Lucky number")&&(e*=1.01),oo("Lucky payout")&&(e*=1.01),Game.hasGod){const t=no("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=to("cps"),oo("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];oo(o.name)&&("function"==typeof o.power?e*=1+.01*Kt[o.name].power(Kt[o.name]):e*=1+.01*o.power)})),oo("Specialized chocolate chips")&&(e*=1.01),oo("Designer cocoa beans")&&(e*=1.02),oo("Underworld ovens")&&(e*=1.03),oo("Exotic nuts")&&(e*=1.04),oo("Arcane sugar")&&(e*=1.05),oo("Increased merriness")&&(e*=1.15),oo("Improved jolliness")&&(e*=1.15),oo("A lump of coal")&&(e*=1.01),oo("An itchy sweater")&&(e*=1.01),oo("Santa's dominion")&&(e*=1.2),oo("Fortune #100")&&(e*=1.01),oo("Fortune #101")&&(e*=1.07),oo("Dragon scale")&&(e*=1.03);let o=1;if(no){let t=no("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=no("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=no("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=no("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=no("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}oo("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Le/25;let i=1;if(oo("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Zt("Breath of Milk"),no){const e=no("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=to("milk");let a=1;oo("Kitten helpers")&&(a*=1+.1*n*i),oo("Kitten workers")&&(a*=1+.125*n*i),oo("Kitten engineers")&&(a*=1+.15*n*i),oo("Kitten overseers")&&(a*=1+.175*n*i),oo("Kitten managers")&&(a*=1+.2*n*i),oo("Kitten accountants")&&(a*=1+.2*n*i),oo("Kitten specialists")&&(a*=1+.2*n*i),oo("Kitten experts")&&(a*=1+.2*n*i),oo("Kitten consultants")&&(a*=1+.2*n*i),oo("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),oo("Kitten marketeers")&&(a*=1+.15*n*i),oo("Kitten analysts")&&(a*=1+.125*n*i),oo("Kitten executives")&&(a*=1+.115*n*i),oo("Kitten angels")&&(a*=1+.1*n*i),oo("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Yt).forEach((e=>{const t=Yt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&oo("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Ve+=t.amount*a})),oo('"egg"')&&(Ve+=9),e*=a;let r=1;if(oo("Chicken egg")&&(r*=1.01),oo("Duck egg")&&(r*=1.01),oo("Turkey egg")&&(r*=1.01),oo("Quail egg")&&(r*=1.01),oo("Robin egg")&&(r*=1.01),oo("Ostrich egg")&&(r*=1.01),oo("Cassowary egg")&&(r*=1.01),oo("Salmon roe")&&(r*=1.01),oo("Frogspawn")&&(r*=1.01),oo("Shark egg")&&(r*=1.01),oo("Turtle egg")&&(r*=1.01),oo("Ant larva")&&(r*=1.01),oo("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),ut=1+.1*(1-(1-e/100)**3),r*=ut}e*=r,oo("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Zt("Radiant Appetite");const l=Ve*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&jo(Game.CpsAchievements[e].name)})),_e=l;const{n:s}=Game.shimmerTypes.golden,c=Zt("Dragon's Fortune");for(let t=0;t{oo(e[o])&&(t+=.1)}))}e*=t}if(oo("Shimmering veil [off]")){let t=.5;oo("Reinforced membrane")&&(t+=.1),e*=1+t}oo("Magic shenanigans")&&(e*=1e3),oo("Occult obstruction")&&(e*=0),Ve=Game.runModHookOnValue("cps",Ve),e*=Mo(),Ve*=e}const Ho=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Uo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ro=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],$o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Io=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function zo(e){return Jt[e]?Jt[e].won:0}function Vo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{oo(Game.GrandmaSynergies[t])&&(e+=1)})),!zo("Elder")&&e>=7&&jo("Elder"),!zo("Veteran")&&e>=14&&jo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Yt).forEach((e=>{t+=Yt[e].amount,i=Math.min(Yt[e].amount,i),zo("Mathematician")||Yt[e].amount=1&&jo("One with everything"),1===o&&jo("Mathematician"),1===n&&jo("Base 10"),i>=100&&jo("Centennial"),i>=150&&jo("Centennial and a half"),i>=200&&jo("Bicentennial"),i>=250&&jo("Bicentennial and a half"),i>=300&&jo("Tricentennial"),i>=350&&jo("Tricentennial and a half"),i>=400&&jo("Quadricentennial"),i>=450&&jo("Quadricentennial and a half"),i>=500&&jo("Quincentennial"),i>=550&&jo("Quincentennial and a half"),i>=600&&jo("Sexcentennial"),t>=100&&jo("Builder"),t>=500&&jo("Architect"),t>=1e3&&jo("Engineer"),t>=2e3&&jo("Lord of Constructs"),t>=4e3&&jo("Grand design"),t>=8e3&&jo("Ecumenopolis"),Fe>=20&&jo("Enhancer"),Fe>=50&&jo("Augmenter"),Fe>=100&&jo("Upgrader"),Fe>=200&&jo("Lord of Progress"),Fe>=300&&jo("The full picture"),Fe>=400&&jo("When there's nothing left to add"),t>=4e3&&Fe>=300&&jo("Polymath"),t>=8e3&&Fe>=400&&jo("Renaissance baker"),Yt.Cursor.amount+Yt.Grandma.amount>=777&&jo("The elder scrolls");let a=!0;Object.keys(Uo).forEach((e=>{oo(Uo[e])||(a=!1)})),a&&jo("Spooky cookies");let r=!0;if(Object.keys(Ro).forEach((e=>{oo(Ro[e])||(r=!1)})),r&&jo("Let it snow"),oo("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{oo(e[o].name)&&(t+=1)})),t>=e.length&&jo("O Fortuna")}}function _o(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){wo(),Yt[e].amount+=t;const o=Yt[e];"Cursor"===e?(o.amount>=1&&jo("Click"),o.amount>=2&&jo("Double-click"),o.amount>=50&&jo("Mouse wheel"),o.amount>=100&&jo("Of Mice and Men"),o.amount>=200&&jo("The Digital"),o.amount>=300&&jo("Extreme polydactyly"),o.amount>=400&&jo("Dr. T"),o.amount>=500&&jo("Thumbs, phalanges, metacarpals"),o.amount>=600&&jo("With her finger and her thumb"),o.amount>=700&&jo("Gotta hand it to you"),o.amount>=800&&jo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&jo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Le;return Do(),Vo(),n!==Le&&Do(),Ve-Game.cookiesPs}(o,e),1!==e&&(Ee=1)})),t}function Xo(){Object.keys(Game.Objects).forEach((e=>{gt[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),ft[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),Ct[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Qo(){gt=_o(1),ft=_o(10),Ct=_o(100),vt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){wo(),"Shimmering veil [on]"===Kt[e].name?Kt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Kt[e].name?Kt["Golden switch [off]"].bought=0:Kt[e].bought=(Kt[e].bought+1)%2,Kt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Fe+=1),"Elder Pledge"===e?(We+=1,We>0&&jo("Elder nap"),We>=5&&jo("Elder slumber")):"Elder Covenant"===e?jo("Elder calm"):"Prism heart biscuits"===e?jo("Lovely cookies"):"Heavenly key"===e&&jo("Wholesome");const t=Le;Do(),Vo(),t!==Le&&Do();const o=function(){let e=0;oo("Thousand fingers")&&(e+=.1),oo("Million fingers")&&(e*=5),oo("Billion fingers")&&(e*=10),oo("Trillion fingers")&&(e*=20),oo("Quadrillion fingers")&&(e*=20),oo("Quintillion fingers")&&(e*=20),oo("Sextillion fingers")&&(e*=20),oo("Septillion fingers")&&(e*=20),oo("Octillion fingers")&&(e*=20),oo("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Yt).forEach((e=>{t+=Yt[e].amount})),t-=Yt.Cursor.amount,e*=t,oo("Plastic mouse")&&(e+=.01*Ve),oo("Iron mouse")&&(e+=.01*Ve),oo("Titanium mouse")&&(e+=.01*Ve),oo("Adamantium mouse")&&(e+=.01*Ve),oo("Unobtainium mouse")&&(e+=.01*Ve),oo("Eludium mouse")&&(e+=.01*Ve),oo("Wishalloy mouse")&&(e+=.01*Ve),oo("Fantasteel mouse")&&(e+=.01*Ve),oo("Nevercrack mouse")&&(e+=.01*Ve),oo("Armythril mouse")&&(e+=.01*Ve),oo("Technobsidian mouse")&&(e+=.01*Ve),oo("Plasmarble mouse")&&(e+=.01*Ve),oo("Miraculite mouse")&&(e+=.01*Ve),oo("Fortune #104")&&(e+=.01*Ve);let o=1;if(oo("Santa's helpers")&&(o*=1.1),oo("Cookie egg")&&(o*=1.1),oo("Halo gloves")&&(o*=1.1),oo("Dragon claw")&&(o*=1.03),oo("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,oo("Luminous gloves")?20:10)),o*=to("click"),Yt.Temple.minigameLoaded&&no){const e=no("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Zt("Dragon Cursor");let n=o*Game.ComputeCps(1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Ve-Game.cookiesPs,o]:[Ve-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(vt[t]={bonus:Game.cookiesPs-ve},1===e.CalcWrink?vt[t].bonus-=xe:2===e.CalcWrink&&(vt[t].bonus-=Te),Number.isFinite(vt[t].bonus)||(vt[t].bonus=0)):(vt[t]={},o[0]&&(vt[t].bonus=o[0]),o[1]&&(vt[t].bonusMouse=o[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,Et=qo(7,e,ct),Pt=2*Et[1]/ct,Bt=Et[2]/60/60/6/st,Ft=qo(6,e,dt),Nt=2*Ft[1]/dt,Ot=Ft[2]/60/60/6/st,At=qo(7,7*e,ct),Wt=2*At[1]/ct,Lt=At[2]/60/60/6/st,Ht=qo(6,7*e,dt),jt=2*Ht[1]/dt,Dt=Ht[2]/60/60/6/st}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-Pe,i=Math.max(0,o-Be)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Mt+=e:"cookie"===o.pool?St+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Tt+=e)}}))}function Zo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),mt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(mt*=2)}}function en(){Ke=900*lt/.15,Ke*=st;const e=Mo();e>0?Ke/=e:Ke=0,Je=ct*(.15*Ke)+13,Ze=dt*(.15*Ke)+13,et=7*Ke,tt=ct*(.15*et)+13,ot=dt*(.15*et)+13,nt=2*Ke,it=.15*nt,at=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountat&&(at=2*Game.Objects[e].price,rt=e)}))}function tn(){let e=1,t=1,o=1;oo("Green yeast digestives")&&(o*=1.01),oo("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"),ct=o*e,dt=o*t,st=1,0===Game.shimmerTypes.golden.n&&(st*=1+1.23*Game.auraMult("Dragon's Fortune"))}function on(){yt=0,bt=0,kt=[0,null];for(let e=0;ekt[0]&&(kt=[t,e]))}}function nn(){Co(),on(),en(),tn(),Yo(),Jo(),Zo(),ue=new Eo(Y[Y.length-1]),me=new Eo(Y[Y.length-1]),he=new Eo(Y[Y.length-1]),ge=new Eo(Y[Y.length-1]),fe=new Eo(K[K.length-1]),Ce=new Eo(5),Ko(),No(),Qo(),Xo(),Lo()}const an={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},rn=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 ln(){1===e.BotBar?(l("CMBotBar").style.display="",mo()):l("CMBotBar").style.display="none",go()}function sn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),mo(),ro(),lo()}function cn(){1===e.Favicon&&y>0?$t.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 dn{constructor(e,t){this.type=e,this.group=t}}class pn extends dn{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 un extends dn{constructor(e,t,o){super(e,t),this.desc=o}}class mn extends dn{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 hn extends dn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const gn={CPSMode:new pn("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 pn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new pn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new pn("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,(function(){Ie=!0})),Scale:new pn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){sn()})),ScaleDecimals:new pn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){sn()})),ScaleSeparator:new pn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){sn()})),ScaleCutoff:new hn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new pn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new pn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new pn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new pn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ro()})),PPOnlyConsiderBuyable:new pn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster 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),PPExcludeTop:new pn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new pn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new hn("numscale","Colours","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),ColourBlue:new un("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new un("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new un("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new un("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new un("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new un("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new un("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new un("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new un("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new pn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){ln()})),TimerBar:new pn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){fo()})),TimerBarPos:new pn("bool","BarsDisplay",["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"))),go()})),TimerBarOverlay:new pn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new pn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",lo()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",lo()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new pn("bool","BarsDisplay",["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=""})),SortBuildings:new pn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ro()})),SortUpgrades:new pn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){lo()})),DragonAuraInfo:new pn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new pn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new pn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Xt[e].l.style.left,re[e].style.top=Xt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new pn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){cn()})),WrinklerButtons:new pn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new pn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new pn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new pn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new pn("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 pn("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 pn("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 pn("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 pn("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 hn("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),ToolWarnBon:new pn("bool","Tooltip",["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),ToolWarnPos:new pn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){So()})),TooltipGrim:new pn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new pn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new pn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new pn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new pn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new pn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new pn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new pn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new pn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new hn("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 pn("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),Title:new pn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden 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 pn("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 pn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){rn(e.GCNotification)})),GCFlash:new pn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new un("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new pn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new mn("vol","NotificationGC",[],"Volume"),GCSoundURL:new pn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new pn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){rn(e.FortuneNotification)})),FortuneFlash:new pn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new un("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new pn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new mn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new pn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new pn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){rn(e.SeaNotification)})),SeaFlash:new pn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new un("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new pn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new mn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new pn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new pn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new un("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new pn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new mn("vol","NotificationGard",[],"Volume"),GardSoundURL:new pn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new pn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){rn(e.MagicNotification)})),MagicFlash:new pn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new un("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new pn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new mn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new pn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new pn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){rn(e.WrinklerNotification)})),WrinklerFlash:new pn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new un("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new pn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new mn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new pn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new pn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){rn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new pn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new un("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new pn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new mn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new pn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new pn("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),FavouriteSettings:new pn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function fn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function Cn(){if(qe!==Game.dragonLevel||Ie){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].amount{if(e=n,Game.Objects[e].amount{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Upgrades).forEach((e=>{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Achievements).forEach((e=>{Jt[e]=yo(e)})),wo()}let kn=!1;function Gn(t,o,n){(1===e[o]||n)&&3===t&&!1===kn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Gn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Gn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Gn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function wn(t,o,n,i){if((1===e[o]||i)&&!1===kn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function vn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===kn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function xn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(ln(),fo()),ho()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(bn(),nn(),r=Object.keys(Game.mods).length),Ie&&(Qo(),Game.Has("Golden switch [off]")?(wo(),Kt["Golden switch [off]"].bought=0,Do(),lt=Ve):lt=Game.cookiesPs,tn(),en(),Jo(),Yo(),Cn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)qt[e][t]=yn(e,t)}(),Zo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;wo();let t=2;5!==De&&18!==De||(t-=1),5!==He&&18!==He||(t-=1),De=5,He=18;for(let e=0;e{Yt[t].amount>0&&(e=t)})),Yt[e].amount-=1,Oe-=1}return Object.keys(Yt).forEach((t=>{const o=Yt[t];e+=ao(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Qt=e}(),Ie=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ne&&t?(Ne=!0,Ee=1):Ne&&!t&&(Ne=!1,Ee=1),Ee&&(Xo(),Ee=0),function(){on(),Lo(),function(){Gt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Yt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}wt=e,Gt=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);zt=de(e/so())}(),G=0,Xt={},Object.keys(Game.shimmers).forEach((e=>{Xt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&($t=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Xt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),cn(),b=G,0===G&&($t=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Xt[e].l.style.opacity,re[e].style.transform=Xt[e].l.style.transform,re[e].textContent=Math.ceil(Xt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Gn(3,"FortuneFlash",!1),wn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),vn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(It=Game.shimmers[e])})),Gn(3,"SeaFlash",!1),wn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),vn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Gn(3,"WrinklerMaxFlash",!1):Gn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?wn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):wn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?vn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):vn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function Tn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=an[t]):"Header"===t&&Object.keys(an.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=an[t][n])}))})),o&&Mn(),xn(),Object.keys(an).forEach((e=>{"Header"!==e&&void 0!==gn[e].func&&gn[e].func()}))}else Sn(an);Game.UpdateMenu(),Tn()}function Pn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Bn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Ao(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((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)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Po(),l("tooltip").innerHTML}function En(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Nn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Mn()}function Dn(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(){jn(o),Game.UpdateMenu()},n.appendChild(i),n}function Hn(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(R[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 Un(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");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),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(Dn("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+co(){Game.HasUnlocked(Io[e])||c.push(Io[e])})),0!==c.length&&e.appendChild(Hn("basic","Rare plant drops left to unlock",Un(c))),e}())),o.appendChild(Dn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ut+Game.cookiesReset+yt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?ht:0)));t.appendChild(Hn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ut+Game.cookiesReset+yt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&ht?ht:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/Rt,1)})`,i.appendChild(a),t.appendChild(Hn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Hn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Hn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(ce(pt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Hn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(ce(e)))),t.appendChild(Hn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(de(e/pt)))))}const l=function(e){let t=Game.cookiesPs;wo(),0===Kt["Heavenly key"].bought&&(Kt["Heavenly chip secret"].bought=1,Kt["Heavenly cookie stand"].bought=1,Kt["Heavenly bakery"].bought=1,Kt["Heavenly confectionery"].bought=1,Kt["Heavenly key"].bought=1,Do(),t=Ve,wo()),Ut>=1e6&&jo("Sacrifice"),Ut>=1e9&&jo("Oblivion"),Ut>=1e12&&jo("From scratch"),Ut>=1e15&&jo("Nihilism"),Ut>=1e18&&jo("Dematerialize"),Ut>=1e21&&jo("Nil zero zilch"),Ut>=1e24&&jo("Transcendence"),Ut>=1e27&&jo("Obliterate"),Ut>=1e30&&jo("Negative void"),Ut>=1e33&&jo("To crumbs, you say?"),Ut>=1e36&&jo("You get nothing"),Ut>=1e39&&jo("Humble rebeginnings"),Ut>=1e42&&jo("The end of the world"),Ut>=1e45&&jo("Oh, you're back"),Ut>=1e48&&jo("Lazarus"),Ut>=1e51&&jo("Smurf account"),Ut>=1e54&&jo("If at first you don't succeed"),Kt["Heavenly chip secret"].bought=1,Kt["Heavenly cookie stand"].bought=1,Kt["Heavenly bakery"].bought=1,Kt["Heavenly confectionery"].bought=1,Kt["Heavenly key"].bought=1,je=e;const o=Le;Do(),Vo(),o!==Le&&Do();const n=Ve-t;return je=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(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(Hn("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(Hn("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(Hn("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(Hn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Dn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(yt)} / ${ce(bt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Pn()},e.appendChild(t),o.appendChild(Hn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(kt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==kt[1]&&(Game.wrinklers[kt[1]].hp=0)},n.appendChild(i),o.appendChild(Hn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==kt[1]?kt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(n.push(Uo[e]),o=!0)}));const i=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(i.push(Ro[e]),o=!0)}));const a=[];Object.keys($o).forEach((e=>{Game.Has($o[e])||(a.push($o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Dn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Hn("basic","Halloween cookies left to buy",Un(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Hn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Hn("basic","Christmas cookies left to buy",Un(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Hn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Hn("basic","Valentine cookies left to buy",Un(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Hn("basic","Normal easter eggs left to unlock",Un(r))),t.appendChild(Hn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Hn("basic","Rare easter eggs left to unlock",Un(l))),t.appendChild(Hn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Hn("basic","Reindeer reward",document.createTextNode(ce(mt)))),s&&t.appendChild(Hn("withTooltip","Chocolate egg cookies",document.createTextNode(ce(ht)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Hn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(ut-1))/100+"%")))}return t}()),o.appendChild(Dn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Hn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(so(),3)))),o.appendChild(Hn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(xt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Ho).forEach((t=>{Game.Has(Ho[t])||e.push(Ho[t])})),0!==e.length&&o.appendChild(Hn("basic","Fortune Upgrades Left to Buy",Un(e)))}if(e.ShowMissedGC&&o.appendChild(Hn("basic","Missed Golden Cookies",document.createTextNode(ce(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(Hn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Mt){const t=Mt.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=Mt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Tt){const t=Tt.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=Tt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(St){const t=St.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=St,e.appendChild(i)}}}))}const $n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},In={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 zn(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(){jn(t),Game.UpdateMenu()},n.appendChild(i),n}function Vn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return se.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(e),Mn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(R.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===gn[t].type){const n=document.createElement("a");gn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Ln+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===gn[t].label.length?(e[t]=0,gn[t].toggle&&(l(Ln+t).className="option off")):l(Ln+t).className="option",void 0!==gn[t].func&&gn[t].func(),l(Ln+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,i.style.lineHeight="1.6",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");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(){An(t)},r.onchange=function(){An(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){wn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Ln+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=`${Ln+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Mn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=gn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===gn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Fn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Tn(),Mn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=gn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Gn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Wn().init(),o}if("numscale"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Ln+t,i.className="option",i.type="number",i.value=e[t],i.min=gn[t].min,i.max=gn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Mn(),sn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=gn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function _n(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 Xn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),Ie=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.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`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){_n(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){_n(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){_n(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[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 Bn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Yt[Game.ObjectsById[e].name].name;Yt[o].amount-=1,Oe-=1,t=Yt[o].basePrice*Game.priceIncrease**Math.max(0,Yt[o].amount-1-Yt[o].free),t=Game.modifyBuildingPrice(Yt[o],t),t=Math.ceil(t);break}const o=Le;return Do(),Vo(),o!==Le&&Do(),[Ve-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);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 ${ce(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)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ye}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Wn().picker&&void 0!==Wn().picker.owner||(S.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),Object.keys($n).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(zn(t,$n[t])),e.Header[t]))for(let e=0;e{const n=zn(t,In[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(gn).forEach((e=>{gn[e].group===t&&o.appendChild(Vn(e))}))})):Object.keys(gn).forEach((e=>{gn[e].group===t&&o.appendChild(Vn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Sn(an)},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(){jn("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.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=$t?$t.wrath?`[W${Math.ceil($t.life/Game.fps)}]`:`[G${Math.ceil($t.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=g?`[R${Math.ceil(It.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===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;$t&&(t=!0,$t.wrath?e+=`[W${Math.ceil($t.life/Game.fps)}]`:e+=`[G${Math.ceil($t.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(It.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 ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Be<1?"Ascending now would grant you no prestige.":Be<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Be)} prestige levels (+${ce(Be)}% CpS)
and ${ce(Be)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${zt} to reach the next level and you are making ${ce(pt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Qn(){bn(),en(),nn(),r=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.backgroundColour="#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=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{uo(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.backgroundColour="black";const t=po("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=po("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);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.backgroundColour="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(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"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=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",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("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),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)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Pn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopAll")}),"this"),Game.tooltip.wobble()},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!==kt[1]&&(Game.wrinklers[kt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},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",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("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 Bn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),En(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),On()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},Xn(),On(),Game.CalculateGains(),Sn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 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.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Qn(),Game.registerHook("draw",Bo),Game.registerHook("logic",xn),kn=!1)},load:function(e){const t=JSON.parse(e);bn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Sn(t.settings),"2.031.6"!==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:fn};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],g=o.fixed?"fixed":"absolute",f=(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 g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.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){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.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={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","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 r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["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"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],$={};let R,I,z=0,V=-1,_=[],Q=1,X=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=1,dt=1,pt=1,ut=0,mt=0,ht=0,gt=0,ft={},Ct={},yt={},bt=0,kt=0,Gt=[0,null],wt=0,vt=0,xt={},Tt={},Mt={},St={},Pt={},Bt=0,Et=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Dt=0,Ht=0,Ut=[],$t=0,Rt=0,It={},zt={},Vt=0,_t=0,Qt=[],Xt={},qt=0,Yt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Kt=[],Jt=[],Zt=[];function eo(e){let t=0;return Game.dragonAuras[He].name!==e&&Game.dragonAuras[Ue].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[He].name&&"Reality Bending"!==Game.dragonAuras[Ue].name||(t+=.1),t}function to(){let e=.25;return e*=1+eo("Earth Shatterer"),e}function oo(e,t){return void 0===Ve[e]?void 0===t?1:t:Ve[e]}function no(e){const t=Jt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function io(e){if(Game.hasGod){void 0===Kt.Temple.minigame&&(Kt.Temple.minigame=Game.Objects.Temple.minigame);const t=Kt.Temple.minigame.gods[e];if($e===t.id)return 1;if(Re===t.id)return 2;if(Ie===t.id)return 3}return!1}function ao(e,t){let o=t;if(no("Season savings")&&(o*=.99),no("Santa's dominion")&&(o*=.99),no("Faberge egg")&&(o*=.99),no("Divine discount")&&(o*=.99),no("Fortune #100")&&(o*=.99),o*=1-.02*eo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&no(e.fortune.name)&&(o*=.93),o*=oo("buildingCost"),Kt.Temple.minigameLoaded){const e=io("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ro(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function lo(){let t=Game.buyBulk;if(1===Game.buyMode?X=t:t=X,1===t?t=ft:10===t?t=Ct:100===t&&(t=yt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ft).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ro(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ft).map((e=>{const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ft[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;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.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{let n,i=Game.buyBulk;1===Game.buyMode?Q=i:i=Q,1===i&&(i=ft),10===i&&(i=Ct),100===i&&(i=yt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+po()))/co());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&no(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(no(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&no(e.fortune.name)&&(t*=1.07),e.grandma&&no(e.grandma.name)&&(t*=1+.01*Kt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&no(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function Go(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;no("Thousand fingers")&&(t+=.1),no("Million fingers")&&(t*=5),no("Billion fingers")&&(t*=10),no("Trillion fingers")&&(t*=20),no("Quadrillion fingers")&&(t*=20),no("Quintillion fingers")&&(t*=20),no("Sextillion fingers")&&(t*=20),no("Septillion fingers")&&(t*=20),no("Octillion fingers")&&(t*=20),no("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Kt).forEach((e=>{"Cursor"!==Kt[e].name&&(n+=Kt[e].amount)})),t*=n,o*=ko(e),o*=Game.magicCpS("Cursor"),o*=oo("cursorCps"),Game.ComputeCps(.1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{no(Game.GrandmaSynergies[e])&&(o*=2)})),no("Bingo center/Research facility")&&(o*=4),no("Ritual rolling pins")&&(o*=2),no("Naughty list")&&(o*=2),no("Elderwort biscuits")&&(o*=1.02),o*=oo("grandmaCps"),no("Cat ladies"))for(let e=0;e{"Grandma"!==Kt[e].name&&(i+=Kt[e].amount)})),o*=1+.01*eo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=ko(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function wo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Kt).forEach((t=>{Kt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(no("Starlove")&&(e=3),Game.hasGod){const t=io("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 vo(){We=Game.UpgradesOwned,Le=Game.pledges,Ae=Game.AchievementsOwned,je=Game.heavenlyPower,De=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e],mo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&($e=t.minigame.slot[0],Re=t.minigame.slot[1],Ie=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Kt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Jt[e];void 0===o&&(Jt[e]=wo(e),o=Jt[e]),o.bought=t.bought,Jt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Zt[e];void 0===o&&(Zt[e]=bo(e),o=Zt[e]),o.won=t.won,Zt[e]=o})),yo(),He=Xe,Ue=qe}function xo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function To(e){e.appendChild(xo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(xo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(xo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(xo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(xo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Mo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Po(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Bo(){if(vo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(To(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ft:10===Game.buyBulk?t=Ct:100===Game.buyBulk&&(t=yt),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+po()))/co());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(xo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(xo("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&&t=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+=1),"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+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=uo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,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+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,fo())}}(),ho(),Bo(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){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)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Kt.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=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function No(){ue.addLatest(Game.computedMouseCps)}class Oo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Fo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+qt;Game.cpsSucked>0&&(o+=bt),$t=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-be,i=Math.max(0,Game.cookies-ke)/n,a=Math.max(0,bt-Ge)/n,r=Math.max(0,Gt[0]-we)/n,l=Math.max(0,o-gt)/n,s=(Game.cookieClicks-ve)/n;for(let e=0;e0&&(n=W),n}function Lo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Wo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+po()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Qt.push([t[n].pp,o])}))}function jo(){!function(){_t=1/0,Qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Ao(ft,1),Ao(Ct,10),Ao(yt,100),Qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Qt[t][1]>Game.cookies&&(t+=1,Qt.length!==t+1););_t=Qt[e.PPExcludeTop][t],Lo(ft,1),Lo(Ct,10),Lo(yt,100)}(),Object.keys(xt).forEach((e=>{Game.cookiesPs?xt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+po()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/xt[e].bonus:xt[e].pp=Game.Upgrades[e].getPrice()/xt[e].bonus,Number.isNaN(xt[e].pp)&&(xt[e].pp=1/0),xt[e].color=Wo(xt[e],Game.Upgrades[e].getPrice())}))}function Do(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ve=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(De)*je*function(){let e=0;if(no("Heavenly chip secret")&&(e+=.05),no("Heavenly cookie stand")&&(e+=.2),no("Heavenly bakery")&&(e+=.25),no("Heavenly confectionery")&&(e+=.25),no("Heavenly key")&&(e+=.25),e*=1+.05*eo("Dragon God"),no("Lucky digit")&&(e*=1.01),no("Lucky number")&&(e*=1.01),no("Lucky payout")&&(e*=1.01),Game.hasGod){const t=io("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=oo("cps"),no("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];no(o.name)&&("function"==typeof o.power?e*=1+.01*Jt[o.name].power(Jt[o.name]):e*=1+.01*o.power)})),no("Specialized chocolate chips")&&(e*=1.01),no("Designer cocoa beans")&&(e*=1.02),no("Underworld ovens")&&(e*=1.03),no("Exotic nuts")&&(e*=1.04),no("Arcane sugar")&&(e*=1.05),no("Increased merriness")&&(e*=1.15),no("Improved jolliness")&&(e*=1.15),no("A lump of coal")&&(e*=1.01),no("An itchy sweater")&&(e*=1.01),no("Santa's dominion")&&(e*=1.2),no("Fortune #100")&&(e*=1.01),no("Fortune #101")&&(e*=1.07),no("Dragon scale")&&(e*=1.03);let o=1;if(io){let t=io("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=io("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=io("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=io("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=io("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}no("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Ae/25;let i=1;if(no("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*eo("Breath of Milk"),io){const e=io("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=oo("milk");let a=1;no("Kitten helpers")&&(a*=1+.1*n*i),no("Kitten workers")&&(a*=1+.125*n*i),no("Kitten engineers")&&(a*=1+.15*n*i),no("Kitten overseers")&&(a*=1+.175*n*i),no("Kitten managers")&&(a*=1+.2*n*i),no("Kitten accountants")&&(a*=1+.2*n*i),no("Kitten specialists")&&(a*=1+.2*n*i),no("Kitten experts")&&(a*=1+.2*n*i),no("Kitten consultants")&&(a*=1+.2*n*i),no("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),no("Kitten marketeers")&&(a*=1+.15*n*i),no("Kitten analysts")&&(a*=1+.125*n*i),no("Kitten executives")&&(a*=1+.115*n*i),no("Kitten angels")&&(a*=1+.1*n*i),no("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Kt).forEach((e=>{const t=Kt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&no("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),_e+=t.amount*a})),no('"egg"')&&(_e+=9),e*=a;let r=1;if(no("Chicken egg")&&(r*=1.01),no("Duck egg")&&(r*=1.01),no("Turkey egg")&&(r*=1.01),no("Quail egg")&&(r*=1.01),no("Robin egg")&&(r*=1.01),no("Ostrich egg")&&(r*=1.01),no("Cassowary egg")&&(r*=1.01),no("Salmon roe")&&(r*=1.01),no("Frogspawn")&&(r*=1.01),no("Shark egg")&&(r*=1.01),no("Turtle egg")&&(r*=1.01),no("Ant larva")&&(r*=1.01),no("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),mt=1+.1*(1-(1-e/100)**3),r*=mt}e*=r,no("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+eo("Radiant Appetite");const l=_e*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ho(Game.CpsAchievements[e].name)})),Qe=l;const{n:s}=Game.shimmerTypes.golden,c=eo("Dragon's Fortune");for(let t=0;t{no(e[o])&&(t+=.1)}))}e*=t}if(no("Shimmering veil [off]")){let t=.5;no("Reinforced membrane")&&(t+=.1),e*=1+t}no("Magic shenanigans")&&(e*=1e3),no("Occult obstruction")&&(e*=0),_e=Game.runModHookOnValue("cps",_e),e*=So(),_e*=e}const $o=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ro=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Io=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],zo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Vo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function _o(e){return Zt[e]?Zt[e].won:0}function Qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{no(Game.GrandmaSynergies[t])&&(e+=1)})),!_o("Elder")&&e>=7&&Ho("Elder"),!_o("Veteran")&&e>=14&&Ho("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount,i=Math.min(Kt[e].amount,i),_o("Mathematician")||Kt[e].amount=1&&Ho("One with everything"),1===o&&Ho("Mathematician"),1===n&&Ho("Base 10"),i>=100&&Ho("Centennial"),i>=150&&Ho("Centennial and a half"),i>=200&&Ho("Bicentennial"),i>=250&&Ho("Bicentennial and a half"),i>=300&&Ho("Tricentennial"),i>=350&&Ho("Tricentennial and a half"),i>=400&&Ho("Quadricentennial"),i>=450&&Ho("Quadricentennial and a half"),i>=500&&Ho("Quincentennial"),i>=550&&Ho("Quincentennial and a half"),i>=600&&Ho("Sexcentennial"),t>=100&&Ho("Builder"),t>=500&&Ho("Architect"),t>=1e3&&Ho("Engineer"),t>=2e3&&Ho("Lord of Constructs"),t>=4e3&&Ho("Grand design"),t>=8e3&&Ho("Ecumenopolis"),We>=20&&Ho("Enhancer"),We>=50&&Ho("Augmenter"),We>=100&&Ho("Upgrader"),We>=200&&Ho("Lord of Progress"),We>=300&&Ho("The full picture"),We>=400&&Ho("When there's nothing left to add"),t>=4e3&&We>=300&&Ho("Polymath"),t>=8e3&&We>=400&&Ho("Renaissance baker"),Kt.Cursor.amount+Kt.Grandma.amount>=777&&Ho("The elder scrolls");let a=!0;Object.keys(Ro).forEach((e=>{no(Ro[e])||(a=!1)})),a&&Ho("Spooky cookies");let r=!0;if(Object.keys(Io).forEach((e=>{no(Io[e])||(r=!1)})),r&&Ho("Let it snow"),no("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{no(e[o].name)&&(t+=1)})),t>=e.length&&Ho("O Fortuna")}}function Xo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){vo(),Kt[e].amount+=t;const o=Kt[e];"Cursor"===e?(o.amount>=1&&Ho("Click"),o.amount>=2&&Ho("Double-click"),o.amount>=50&&Ho("Mouse wheel"),o.amount>=100&&Ho("Of Mice and Men"),o.amount>=200&&Ho("The Digital"),o.amount>=300&&Ho("Extreme polydactyly"),o.amount>=400&&Ho("Dr. T"),o.amount>=500&&Ho("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ho("With her finger and her thumb"),o.amount>=700&&Ho("Gotta hand it to you"),o.amount>=800&&Ho("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ho(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Ae;return Uo(),Qo(),n!==Ae&&Uo(),_e-Game.cookiesPs}(o,e),1!==e&&(Ne=1)})),t}function qo(){Object.keys(Game.Objects).forEach((e=>{ft[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),Ct[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),yt[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Yo(){ft=Xo(1),Ct=Xo(10),yt=Xo(100),xt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){vo(),"Shimmering veil [on]"===Jt[e].name?Jt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Jt[e].name?Jt["Golden switch [off]"].bought=0:Jt[e].bought=(Jt[e].bought+1)%2,Jt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(We+=1),"Elder Pledge"===e?(Le+=1,Le>0&&Ho("Elder nap"),Le>=5&&Ho("Elder slumber")):"Elder Covenant"===e?Ho("Elder calm"):"Prism heart biscuits"===e?Ho("Lovely cookies"):"Heavenly key"===e&&Ho("Wholesome");const t=Ae;Uo(),Qo(),t!==Ae&&Uo();const o=function(){let e=0;no("Thousand fingers")&&(e+=.1),no("Million fingers")&&(e*=5),no("Billion fingers")&&(e*=10),no("Trillion fingers")&&(e*=20),no("Quadrillion fingers")&&(e*=20),no("Quintillion fingers")&&(e*=20),no("Sextillion fingers")&&(e*=20),no("Septillion fingers")&&(e*=20),no("Octillion fingers")&&(e*=20),no("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount})),t-=Kt.Cursor.amount,e*=t,no("Plastic mouse")&&(e+=.01*_e),no("Iron mouse")&&(e+=.01*_e),no("Titanium mouse")&&(e+=.01*_e),no("Adamantium mouse")&&(e+=.01*_e),no("Unobtainium mouse")&&(e+=.01*_e),no("Eludium mouse")&&(e+=.01*_e),no("Wishalloy mouse")&&(e+=.01*_e),no("Fantasteel mouse")&&(e+=.01*_e),no("Nevercrack mouse")&&(e+=.01*_e),no("Armythril mouse")&&(e+=.01*_e),no("Technobsidian mouse")&&(e+=.01*_e),no("Plasmarble mouse")&&(e+=.01*_e),no("Miraculite mouse")&&(e+=.01*_e),no("Fortune #104")&&(e+=.01*_e);let o=1;if(no("Santa's helpers")&&(o*=1.1),no("Cookie egg")&&(o*=1.1),no("Halo gloves")&&(o*=1.1),no("Dragon claw")&&(o*=1.03),no("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,no("Luminous gloves")?20:10)),o*=oo("click"),Kt.Temple.minigameLoaded&&io){const e=io("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*eo("Dragon Cursor");let n=o*Game.ComputeCps(1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[_e-Game.cookiesPs,o]:[_e-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(xt[t]={bonus:Game.cookiesPs-xe},1===e.CalcWrink?xt[t].bonus-=Te:2===e.CalcWrink&&(xt[t].bonus-=Me),Number.isFinite(xt[t].bonus)||(xt[t].bonus=0)):(xt[t]={},o[0]&&(xt[t].bonus=o[0]),o[1]&&(xt[t].bonusMouse=o[1]))}))}function Ko(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,Nt=Ko(7,e,dt),Bt=2*Nt[1]/dt,Et=Nt[2]/60/60/6/ct,Wt=Ko(6,e,pt),Ot=2*Wt[1]/pt,Ft=Wt[2]/60/60/6/ct,jt=Ko(7,7*e,dt),Lt=2*jt[1]/dt,At=jt[2]/60/60/6/ct,Ut=Ko(6,7*e,pt),Dt=2*Ut[1]/pt,Ht=Ut[2]/60/60/6/ct}function Zo(){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-Be,i=Math.max(0,o-Ee)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?St+=e:"cookie"===o.pool?Pt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Mt+=e)}}))}function tn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ht=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ht*=2)}}function on(){Je=900*st/.15,Je*=ct;const e=So();e>0?Je/=e:Je=0,Ze=dt*(.15*Je)+13,et=pt*(.15*Je)+13,tt=7*Je,ot=dt*(.15*tt)+13,nt=pt*(.15*tt)+13,it=2*Je,at=.15*it,rt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountrt&&(rt=2*Game.Objects[e].price,lt=e)}))}function nn(){let e=1,t=1,o=1;no("Green yeast digestives")&&(o*=1.01),no("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"),dt=o*e,pt=o*t,ct=1,0===Game.shimmerTypes.golden.n&&(ct*=1+1.23*Game.auraMult("Dragon's Fortune"))}function an(){bt=0,kt=0,Gt=[0,null];for(let e=0;eGt[0]&&(Gt=[t,e]))}}function rn(){yo(),an(),on(),nn(),Jo(),en(),tn(),me=new Oo(Y[Y.length-1]),he=new Oo(Y[Y.length-1]),ge=new Oo(Y[Y.length-1]),fe=new Oo(Y[Y.length-1]),Ce=new Oo(K[K.length-1]),ye=new Oo(5),ue=new Oo(20*K[K.length-1]),Zo(),Fo(),Yo(),qo(),jo()}const ln={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},sn=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 cn(){1===e.BotBar?(l("CMBotBar").style.display="",ho()):l("CMBotBar").style.display="none",fo()}function dn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),ho(),lo(),so()}function pn(){1===e.Favicon&&y>0?It.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){super(e,t),this.desc=o}}class gn 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 Cn={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 in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new mn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),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,(function(){ze=!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 formatted",!1,(function(){dn()})),ScaleDecimals:new mn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){dn()})),ScaleSeparator:new mn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){dn()})),ScaleCutoff:new fn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new mn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new mn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new mn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new mn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){lo()})),PPOnlyConsiderBuyable:new mn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster 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),PPExcludeTop:new mn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new mn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new fn("numscale","Colours","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),ColourBlue:new hn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new hn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new hn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new hn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new hn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new hn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new hn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new hn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new hn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new mn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){cn()})),TimerBar:new mn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){Co()})),TimerBarPos:new mn("bool","BarsDisplay",["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"))),fo()})),TimerBarOverlay:new mn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new mn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",so()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",so()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new mn("bool","BarsDisplay",["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=""})),SortBuildings:new mn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){lo()})),SortUpgrades:new mn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){so()})),DragonAuraInfo:new mn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new mn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new mn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Xt[e].l.style.left,re[e].style.top=Xt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new mn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){pn()})),WrinklerButtons:new mn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new mn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),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),ToolWarnBon:new mn("bool","Tooltip",["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),ToolWarnPos:new mn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Po()})),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),TooltipPantheon:new mn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!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",!0),UpStats:new mn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),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),Title:new mn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden 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(){sn(e.GCNotification)})),GCFlash:new mn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new hn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new mn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new gn("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(){sn(e.FortuneNotification)})),FortuneFlash:new mn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new hn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new mn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new gn("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(){sn(e.SeaNotification)})),SeaFlash:new mn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new hn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new mn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new gn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new mn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new mn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new hn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new mn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new gn("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(){sn(e.MagicNotification)})),MagicFlash:new mn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new hn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new mn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new gn("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(){sn(e.WrinklerNotification)})),WrinklerFlash:new mn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new hn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new mn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new gn("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(){sn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new mn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new hn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new mn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new gn("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"),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),FavouriteSettings:new mn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function yn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function bn(){if(Ye!==Game.dragonLevel||ze){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].amount{if(e=n,Game.Objects[e].amount{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Upgrades).forEach((e=>{Jt[e]=wo(e)})),Zt=[],Object.keys(Game.Achievements).forEach((e=>{Zt[e]=bo(e)})),vo()}let wn=!1;function vn(t,o,n){(1===e[o]||n)&&3===t&&!1===wn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){vn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){vn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){vn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function xn(t,o,n,i){if((1===e[o]||i)&&!1===wn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Tn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===wn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Mn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(cn(),Co()),go()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(Gn(),rn(),r=Object.keys(Game.mods).length),ze&&(Yo(),Game.Has("Golden switch [off]")?(vo(),Jt["Golden switch [off]"].bought=0,Uo(),st=_e):st=Game.cookiesPs,nn(),on(),en(),Jo(),bn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Yt[e][t]=kn(e,t)}(),tn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;vo();let t=2;5!==He&&18!==He||(t-=1),5!==Ue&&18!==Ue||(t-=1),He=5,Ue=18;for(let e=0;e{Kt[t].amount>0&&(e=t)})),Kt[e].amount-=1,Fe-=1}return Object.keys(Kt).forEach((t=>{const o=Kt[t];e+=ro(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),qt=e}(),ze=0);const t=Game.auraMult("Fierce Hoarder")>0;!Oe&&t?(Oe=!0,Ne=1):Oe&&!t&&(Oe=!1,Ne=1),Ne&&(qo(),Ne=0),function(){an(),jo(),function(){wt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Kt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}vt=e,wt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Fo(),Zo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Vt=de(e/co())}(),G=0,Xt={},Object.keys(Game.shimmers).forEach((e=>{Xt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(It=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Xt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),pn(),b=G,0===G&&(It=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Xt[e].l.style.opacity,re[e].style.transform=Xt[e].l.style.transform,re[e].textContent=Math.ceil(Xt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(vn(3,"FortuneFlash",!1),xn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Tn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(zt=Game.shimmers[e])})),vn(3,"SeaFlash",!1),xn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Tn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?vn(3,"WrinklerMaxFlash",!1):vn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?xn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):xn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Tn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Tn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function Sn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=ln[t]):"Header"===t&&Object.keys(ln.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=ln[t][n])}))})),o&&Pn(),Mn(),Object.keys(ln).forEach((e=>{"Header"!==e&&void 0!==Cn[e].func&&Cn[e].func()}))}else Bn(ln);Game.UpdateMenu(),Sn()}function En(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Nn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Do(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((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)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Bo(),l("tooltip").innerHTML}function On(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Fn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Pn()}function Un(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(){Hn(o),Game.UpdateMenu()},n.appendChild(i),n}function $n(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($[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 Rn(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");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),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 In(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Un("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+po(){Game.HasUnlocked(Vo[e])||c.push(Vo[e])})),0!==c.length&&e.appendChild($n("basic","Rare plant drops left to unlock",Rn(c))),e}())),o.appendChild(Un("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige($t+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?gt:0)));t.appendChild($n("withTooltip","Prestige level (cur / max)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-($t+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&>?gt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/Rt,1)})`,i.appendChild(a),t.appendChild($n("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild($n("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild($n("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(ce(ut,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild($n("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(ce(e)))),t.appendChild($n("basic","Time till target (cur, current 5 second average)",document.createTextNode(de(e/ut)))))}const l=function(e){let t=Game.cookiesPs;vo(),0===Jt["Heavenly key"].bought&&(Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,Uo(),t=_e,vo()),$t>=1e6&&Ho("Sacrifice"),$t>=1e9&&Ho("Oblivion"),$t>=1e12&&Ho("From scratch"),$t>=1e15&&Ho("Nihilism"),$t>=1e18&&Ho("Dematerialize"),$t>=1e21&&Ho("Nil zero zilch"),$t>=1e24&&Ho("Transcendence"),$t>=1e27&&Ho("Obliterate"),$t>=1e30&&Ho("Negative void"),$t>=1e33&&Ho("To crumbs, you say?"),$t>=1e36&&Ho("You get nothing"),$t>=1e39&&Ho("Humble rebeginnings"),$t>=1e42&&Ho("The end of the world"),$t>=1e45&&Ho("Oh, you're back"),$t>=1e48&&Ho("Lazarus"),$t>=1e51&&Ho("Smurf account"),$t>=1e54&&Ho("If at first you don't succeed"),Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,De=e;const o=Ae;Uo(),Qo(),o!==Ae&&Uo();const n=_e-t;return De=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(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($n("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($n("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($n("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($n("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Un("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(bt)} / ${ce(kt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){En()},e.appendChild(t),o.appendChild($n("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(Gt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},n.appendChild(i),o.appendChild($n("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==Gt[1]?Gt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(n.push(Ro[e]),o=!0)}));const i=[];Object.keys(Io).forEach((e=>{Game.Has(Io[e])||(i.push(Io[e]),o=!0)}));const a=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(a.push(zo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Un("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild($n("basic","Halloween cookies left to buy",Rn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild($n("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild($n("basic","Christmas cookies left to buy",Rn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild($n("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild($n("basic","Valentine cookies left to buy",Rn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild($n("basic","Normal easter eggs left to unlock",Rn(r))),t.appendChild($n("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild($n("basic","Rare easter eggs left to unlock",Rn(l))),t.appendChild($n("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild($n("basic","Reindeer reward",document.createTextNode(ce(ht)))),s&&t.appendChild($n("withTooltip","Chocolate egg cookies",document.createTextNode(ce(gt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild($n("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(mt-1))/100+"%")))}return t}()),o.appendChild(Un("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild($n("basic",`Average cookies per second (past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(co(),3)))),o.appendChild($n("basic",`Average cookie clicks per second (past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(Tt,1)))),o.appendChild($n("basic",`Cookies from clicking (past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(ue.calcSum(Tt*K[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys($o).forEach((t=>{Game.Has($o[t])||e.push($o[t])})),0!==e.length&&o.appendChild($n("basic","Fortune Upgrades Left to Buy",Rn(e)))}if(e.ShowMissedGC&&o.appendChild($n("basic","Missed golden cookies",document.createTextNode(ce(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($n("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&St){const t=St.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=St,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Mt){const t=Mt.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=Mt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Pt){const t=Pt.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=Pt,e.appendChild(i)}}}))}const zn={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Vn={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 _n(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(){Hn(t),Game.UpdateMenu()},n.appendChild(i),n}function Qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return se.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(e),Pn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape($.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===Cn[t].type){const n=document.createElement("a");Cn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=jn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===Cn[t].label.length?(e[t]=0,Cn[t].toggle&&(l(jn+t).className="option off")):l(jn+t).className="option",void 0!==Cn[t].func&&Cn[t].func(),l(jn+t).innerHTML=Cn[t].label[e[t]],Pn()}(t)},n.textContent=Cn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=Cn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===Cn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=Cn[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");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(){Dn(t)},r.onchange=function(){Dn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){xn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+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=`${jn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Pn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=Cn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===Cn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Ln(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Sn(),Pn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=Cn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){vn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),An().init(),o}if("numscale"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="number",i.value=e[t],i.min=Cn[t].min,i.max=Cn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Pn(),dn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=Cn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Xn(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 qn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),ze=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.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`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Xn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Xn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Xn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[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 Nn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Kt[Game.ObjectsById[e].name].name;Kt[o].amount-=1,Fe-=1,t=Kt[o].basePrice*Game.priceIncrease**Math.max(0,Kt[o].amount-1-Kt[o].free),t=Game.modifyBuildingPrice(Kt[o],t),t=Math.ceil(t);break}const o=Ae;return Uo(),Qo(),o!==Ae&&Uo(),[_e-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);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 ${ce(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)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ke}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==An().picker&&void 0!==An().picker.owner||(S.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),Object.keys(zn).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(_n(t,zn[t])),e.Header[t]))for(let e=0;e{const n=_n(t,Vn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Qn(e))}))})):Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Bn(ln)},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",In(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(){Hn("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.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=It?It.wrath?`[W${Math.ceil(It.life/Game.fps)}]`:`[G${Math.ceil(It.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=g?`[R${Math.ceil(zt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===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;It&&(t=!0,It.wrath?e+=`[W${Math.ceil(It.life/Game.fps)}]`:e+=`[G${Math.ceil(It.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(zt.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 ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Ee<1?"Ascending now would grant you no prestige.":Ee<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Ee)} prestige levels (+${ce(Ee)}% CpS)
and ${ce(Ee)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Vt} to reach the next level and you were making ${ce(ut,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Yn(){Gn(),on(),rn(),r=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.backgroundColour="#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=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{mo(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.backgroundColour="black";const t=uo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=uo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);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.backgroundColour="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(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"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=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",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("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),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)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),$[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){En()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopAll")}),"this"),Game.tooltip.wobble()},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!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},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",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("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 Nn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),On(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Wn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},qn(),Wn(),Game.CalculateGains(),Bn(),R=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Kn={init:function(){wn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Yn(),Game.registerHook("draw",Eo),Game.registerHook("logic",Mn),Game.registerHook("click",No),wn=!1)},load:function(e){const t=JSON.parse(e);Gn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Bn(t.settings),"2.031.6"!==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:yn};Game.registerMod("CookieMonster",Kn)})()})(); diff --git a/dist/CookieMonster.js.map b/dist/CookieMonster.js.map index 56db8f6..86da0f7 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","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","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","SimGod1","SimGod2","SimGod3","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","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","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","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","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","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","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","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","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","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","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","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,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,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC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Cb,OACA,cACA,CACE,+BACA,8BACA,6CAEF,qGACA,GACA,WACE/lB,IAAY,KAKhBnD,MAAO,IAAIkpB,GACT,OACA,WACA,CACE,uBACA,SACA,cACA,4BACA,sBACA,wBAEF,yCACA,GACA,WACET,QAGJ3oB,cAAe,IAAIopB,GACjB,OACA,WACA,CAAC,aAAc,aAAc,cAC7B,oIACA,GACA,WACET,QAGJnoB,eAAgB,IAAI4oB,GAClB,OACA,WACA,CAAC,4BAA6B,mBAC9B,qDACA,GACA,WACET,QAGJpoB,YAAa,IAAIopB,GACf,WACA,WACA,2BACA,8KACA,EACA,WAEFxoB,WAAY,IAAIioB,GACd,OACA,WACA,CAAC,0BAA2B,uBAC5B,0BACA,GAEFjG,aAAc,IAAIiG,GAChB,OACA,WACA,CAAC,oBAAqB,oBACtB,mEACA,GACA,WAlU6B,IAA3B/tB,EAAU8nB,aAAoB3nB,KAAKmd,QAAU1a,EAC5CzC,KAAKmd,QAAU1b,EAAgB0b,WAqUpCpK,cAAe,IAAI6a,GACjB,OACA,WACA,CAAC,yBAA0B,mBAC3B,sKACA,GAIFxe,YAAa,IAAIwe,GACf,OACA,UACA,CAAC,uBAAwB,uBACzB,yBACA,GACA,WACE1e,QAGJ6R,sBAAuB,IAAI6M,GACzB,OACA,UACA,CAAC,2BAA4B,sBAC7B,0KACA,GAEFzM,aAAc,IAAIyM,GAChB,OACA,UACA,CACE,mBACA,kBACA,0BACA,gCAEF,sGACA,GAEF3M,cAAe,IAAI2M,GACjB,OACA,UACA,CAAC,mBAAoB,mBACrB,sJACA,GAEF9M,oBAAqB,IAAIqN,GACvB,WACA,UACA,oCACA,wMACA,EACA1pB,KAEF7C,WAAY,IAAIqsB,GACd,SACA,UACA,6HAEFpsB,YAAa,IAAIosB,GACf,SACA,UACA,yGAEFnsB,aAAc,IAAImsB,GAChB,SACA,UACA,qHAEFlsB,aAAc,IAAIksB,GAChB,SACA,UACA,4HAEFjsB,UAAW,IAAIisB,GACb,SACA,UACA,gHAEFhsB,aAAc,IAAIgsB,GAChB,SACA,UACA,8HAEF/rB,WAAY,IAAI+rB,GACd,SACA,UACA,w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","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","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CacheAverageCookiesFromClicks","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","SimGod1","SimGod2","SimGod3","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","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","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","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","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","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMClickHook","addLatest","computedMouseCps","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","reduce","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoopHook","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","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","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","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","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","calcSum","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,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,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC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CZj1C,KAAKm1C,MAAQA,EACbn1C,KAAKo1C,KAAOA,EACZp1C,KAAKwN,IAAMA,EACXxN,KAAK0N,IAAMA,GAyBf,MA4yBmCgoC,GA5yBpB,CAEbpd,QAAS,IAAI4c,GACX,OACA,cACA,CAAC,6BAA8B,8BAC/B,kFACA,GAEFnN,WAAY,IAAImN,GACd,OACA,cACA,CACE,0BACA,0BACA,0BACA,yBACA,yBACA,0BACA,0BACA,2BAEF,4DACA,GAEF/M,cAAe,IAAI+M,GACjB,OACA,cACA,CACE,4BACA,4BACA,6BACA,6BACA,8BAEF,uDACA,GAEF3c,UAAW,IAAI2c,GACb,OACA,cACA,CACE,+BACA,8BACA,6CAEF,qGACA,GACA,WACEjmB,IAAY,KAKhBpD,MAAO,IAAIqpB,GACT,OACA,WACA,CACE,uBACA,SACA,cACA,4BACA,sBACA,wBAEF,yCACA,GACA,WACET,QAGJ9oB,cAAe,IAAIupB,GACjB,OACA,WACA,CAAC,aAAc,aAAc,cAC7B,oIACA,GACA,WACET,QAGJtoB,eAAgB,IAAI+oB,GAClB,OACA,WACA,CAAC,4BAA6B,mBAC9B,qDACA,GACA,WACET,QAGJvoB,YAAa,IAAIupB,GACf,WACA,WACA,2BACA,8KACA,EACA,WAEF3oB,WAAY,IAAIooB,GACd,OACA,WACA,CAAC,0BAA2B,uBAC5B,0BACA,GAEFjG,aAAc,IAAIiG,GAChB,OACA,WACA,CAAC,oBAAqB,oBACtB,mEACA,GACA,WAlU6B,IAA3BluB,EAAUioB,aAAoB9nB,KAAKod,QAAU3a,EAC5CzC,KAAKod,QAAU3b,EAAgB2b,WAqUpCpK,cAAe,IAAI+a,GACjB,OACA,WACA,CAAC,yBAA0B,mBAC3B,sKACA,GAIF1e,YAAa,IAAI0e,GACf,OACA,UACA,CAAC,uBAAwB,uBACzB,yBACA,GACA,WACE5e,QAGJgS,sBAAuB,IAAI4M,GACzB,OACA,UACA,CAAC,2BAA4B,sBAC7B,0KACA,GAEFxM,aAAc,IAAIwM,GAChB,OACA,UACA,CACE,mBACA,kBACA,0BACA,gCAEF,sGACA,GAEF1M,cAAe,IAAI0M,GA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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 59d911e..13a7f4f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -25,21 +25,24 @@ }, "node_modules/@babel/code-frame": { "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/highlight": "^7.10.4" } }, "node_modules/@babel/helper-validator-identifier": { "version": "7.12.11", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true }, "node_modules/@babel/highlight": { "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", + "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.12.11", "chalk": "^2.0.0", @@ -48,8 +51,9 @@ }, "node_modules/@babel/highlight/node_modules/ansi-styles": { "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -59,8 +63,9 @@ }, "node_modules/@babel/highlight/node_modules/chalk": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -72,29 +77,33 @@ }, "node_modules/@babel/highlight/node_modules/color-convert": { "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/@babel/highlight/node_modules/color-name": { "version": "1.1.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true }, "node_modules/@babel/highlight/node_modules/has-flag": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/@babel/highlight/node_modules/supports-color": { "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -104,20 +113,23 @@ }, "node_modules/@discoveryjs/json-ext": { "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz", + "integrity": "sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg==", "dev": true, - "license": "MIT", "engines": { "node": ">=10.0.0" } }, "node_modules/@eastdesire/jscolor": { "version": "2.4.5", - "license": "GPL-3.0-or-later" + "resolved": "https://registry.npmjs.org/@eastdesire/jscolor/-/jscolor-2.4.5.tgz", + "integrity": "sha512-LDCEGN7qKKO3tq6yYtx6cbz/tQlr9LqKNSFaG2GIIn03y67ot3doucpDGoQjCwXG2xUB4pDXRuH2lobjjxhtJA==" }, "node_modules/@eslint/eslintrc": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.0.tgz", + "integrity": "sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog==", "dev": true, - "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.1.1", @@ -135,8 +147,9 @@ }, "node_modules/@eslint/eslintrc/node_modules/globals": { "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", "dev": true, - "license": "MIT", "dependencies": { "type-fest": "^0.8.1" }, @@ -149,16 +162,18 @@ }, "node_modules/@eslint/eslintrc/node_modules/type-fest": { "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" } }, "node_modules/@types/eslint": { - "version": "7.2.7", + "version": "7.2.8", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.8.tgz", + "integrity": "sha512-RTKvBsfz0T8CKOGZMfuluDNyMFHnu5lvNr4hWEsQeHXH6FcmIDIozOyWMh36nLGMwVd5UFNXC2xztA8lln22MQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/estree": "*", "@types/json-schema": "*" @@ -166,8 +181,9 @@ }, "node_modules/@types/eslint-scope": { "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.0.tgz", + "integrity": "sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw==", "dev": true, - "license": "MIT", "dependencies": { "@types/eslint": "*", "@types/estree": "*" @@ -175,28 +191,33 @@ }, "node_modules/@types/estree": { "version": "0.0.46", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.46.tgz", + "integrity": "sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg==", + "dev": true }, "node_modules/@types/json-schema": { "version": "7.0.7", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", + "dev": true }, "node_modules/@types/json5": { "version": "0.0.29", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", + "dev": true }, "node_modules/@types/node": { - "version": "14.14.35", - "dev": true, - "license": "MIT" + "version": "14.14.37", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.37.tgz", + "integrity": "sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw==", + "dev": true }, "node_modules/@webassemblyjs/ast": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.0.tgz", + "integrity": "sha512-kX2W49LWsbthrmIRMbQZuQDhGtjyqXfEmmHyEi4XWnSZtPmxY0+3anPIzsnRb45VH/J55zlOfWvZuY47aJZTJg==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/helper-numbers": "1.11.0", "@webassemblyjs/helper-wasm-bytecode": "1.11.0" @@ -204,23 +225,27 @@ }, "node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.11.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.0.tgz", + "integrity": "sha512-Q/aVYs/VnPDVYvsCBL/gSgwmfjeCb4LW8+TMrO3cSzJImgv8lxxEPM2JA5jMrivE7LSz3V+PFqtMbls3m1exDA==", + "dev": true }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.11.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.0.tgz", + "integrity": "sha512-baT/va95eXiXb2QflSx95QGT5ClzWpGaa8L7JnJbgzoYeaA27FCvuBXU758l+KXWRndEmUXjP0Q5fibhavIn8w==", + "dev": true }, "node_modules/@webassemblyjs/helper-buffer": { "version": "1.11.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.0.tgz", + "integrity": "sha512-u9HPBEl4DS+vA8qLQdEQ6N/eJQ7gT7aNvMIo8AAWvAl/xMrcOSiI2M0MAnMCy3jIFke7bEee/JwdX1nUpCtdyA==", + "dev": true }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.0.tgz", + "integrity": "sha512-DhRQKelIj01s5IgdsOJMKLppI+4zpmcMQ3XboFPLwCpSNH6Hqo1ritgHgD0nqHeSYqofA6aBN/NmXuGjM1jEfQ==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.11.0", "@webassemblyjs/helper-api-error": "1.11.0", @@ -229,13 +254,15 @@ }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.0.tgz", + "integrity": "sha512-MbmhvxXExm542tWREgSFnOVo07fDpsBJg3sIl6fSp9xuu75eGz5lz31q7wTLffwL3Za7XNRCMZy210+tnsUSEA==", + "dev": true }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.0.tgz", + "integrity": "sha512-3Eb88hcbfY/FCukrg6i3EH8H2UsD7x8Vy47iVJrP967A9JGqgBVL9aH71SETPx1JrGsOUVLo0c7vMCN22ytJew==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.0", "@webassemblyjs/helper-buffer": "1.11.0", @@ -245,29 +272,33 @@ }, "node_modules/@webassemblyjs/ieee754": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.0.tgz", + "integrity": "sha512-KXzOqpcYQwAfeQ6WbF6HXo+0udBNmw0iXDmEK5sFlmQdmND+tr773Ti8/5T/M6Tl/413ArSJErATd8In3B+WBA==", "dev": true, - "license": "MIT", "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/@webassemblyjs/leb128": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.0.tgz", + "integrity": "sha512-aqbsHa1mSQAbeeNcl38un6qVY++hh8OpCOzxhixSYgbRfNWcxJNJQwe2rezK9XEcssJbbWIkblaJRwGMS9zp+g==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { "version": "1.11.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.0.tgz", + "integrity": "sha512-A/lclGxH6SpSLSyFowMzO/+aDEPU4hvEiooCMXQPcQFPPJaYcPQNKGOCLUySJsYJ4trbpr+Fs08n4jelkVTGVw==", + "dev": true }, "node_modules/@webassemblyjs/wasm-edit": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.0.tgz", + "integrity": "sha512-JHQ0damXy0G6J9ucyKVXO2j08JVJ2ntkdJlq1UTiUrIgfGMmA7Ik5VdC/L8hBK46kVJgujkBIoMtT8yVr+yVOQ==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.0", "@webassemblyjs/helper-buffer": "1.11.0", @@ -281,8 +312,9 @@ }, "node_modules/@webassemblyjs/wasm-gen": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.0.tgz", + "integrity": "sha512-BEUv1aj0WptCZ9kIS30th5ILASUnAPEvE3tVMTrItnZRT9tXCLW2LEXT8ezLw59rqPP9klh9LPmpU+WmRQmCPQ==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.0", "@webassemblyjs/helper-wasm-bytecode": "1.11.0", @@ -293,8 +325,9 @@ }, "node_modules/@webassemblyjs/wasm-opt": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.0.tgz", + "integrity": "sha512-tHUSP5F4ywyh3hZ0+fDQuWxKx3mJiPeFufg+9gwTpYp324mPCQgnuVKwzLTZVqj0duRDovnPaZqDwoyhIO8kYg==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.0", "@webassemblyjs/helper-buffer": "1.11.0", @@ -304,8 +337,9 @@ }, "node_modules/@webassemblyjs/wasm-parser": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.0.tgz", + "integrity": "sha512-6L285Sgu9gphrcpDXINvm0M9BskznnzJTE7gYkjDbxET28shDqp27wpruyx3C2S/dvEwiigBwLA1cz7lNUi0kw==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.0", "@webassemblyjs/helper-api-error": "1.11.0", @@ -317,26 +351,29 @@ }, "node_modules/@webassemblyjs/wast-printer": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.0.tgz", + "integrity": "sha512-Fg5OX46pRdTgB7rKIUojkh9vXaVN6sGYCnEiJN1GYkb0RPwShZXp6KTDqmoMdQPKhcroOXh3fEzmkWmCYaKYhQ==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.0", "@xtuc/long": "4.2.2" } }, "node_modules/@webpack-cli/configtest": { - "version": "1.0.1", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.0.2.tgz", + "integrity": "sha512-3OBzV2fBGZ5TBfdW50cha1lHDVf9vlvRXnjpVbJBa20pSZQaSkMJZiwA8V2vD9ogyeXn8nU5s5A6mHyf5jhMzA==", "dev": true, - "license": "MIT", "peerDependencies": { "webpack": "4.x.x || 5.x.x", "webpack-cli": "4.x.x" } }, "node_modules/@webpack-cli/info": { - "version": "1.2.2", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.2.3.tgz", + "integrity": "sha512-lLek3/T7u40lTqzCGpC6CAbY6+vXhdhmwFRxZLMnRm6/sIF/7qMpT8MocXCRQfz0JAh63wpbXLMnsQ5162WS7Q==", "dev": true, - "license": "MIT", "dependencies": { "envinfo": "^7.7.3" }, @@ -345,9 +382,10 @@ } }, "node_modules/@webpack-cli/serve": { - "version": "1.3.0", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.3.1.tgz", + "integrity": "sha512-0qXvpeYO6vaNoRBI52/UsbcaBydJCggoBBnIo/ovQQdn6fug0BgwsjorV1hVS7fMqGVTZGcVxv8334gjmbj5hw==", "dev": true, - "license": "MIT", "peerDependencies": { "webpack-cli": "4.x.x" }, @@ -359,18 +397,21 @@ }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true }, "node_modules/@xtuc/long": { "version": "4.2.2", - "dev": true, - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true }, "node_modules/acorn": { "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true, - "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -380,16 +421,18 @@ }, "node_modules/acorn-jsx": { "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", "dev": true, - "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "node_modules/ajv": { "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, - "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -403,32 +446,36 @@ }, "node_modules/ajv-keywords": { "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true, - "license": "MIT", "peerDependencies": { "ajv": "^6.9.1" } }, "node_modules/ansi-colors": { "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/ansi-regex": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -441,16 +488,18 @@ }, "node_modules/argparse": { "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, - "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } }, "node_modules/array-includes": { "version": "3.1.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", + "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", @@ -467,8 +516,9 @@ }, "node_modules/array.prototype.flat": { "version": "1.2.4", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", + "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", @@ -483,21 +533,24 @@ }, "node_modules/astral-regex": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/balanced-match": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true }, "node_modules/brace-expansion": { "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -505,8 +558,9 @@ }, "node_modules/browserslist": { "version": "4.16.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", + "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", "dev": true, - "license": "MIT", "dependencies": { "caniuse-lite": "^1.0.30001181", "colorette": "^1.2.1", @@ -527,13 +581,15 @@ }, "node_modules/buffer-from": { "version": "1.1.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true }, "node_modules/call-bind": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, - "license": "MIT", "dependencies": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" @@ -544,21 +600,24 @@ }, "node_modules/callsites": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/caniuse-lite": { - "version": "1.0.30001202", - "dev": true, - "license": "CC-BY-4.0" + "version": "1.0.30001205", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001205.tgz", + "integrity": "sha512-TL1GrS5V6LElbitPazidkBMD9sa448bQDDLrumDqaggmKFcuU2JW1wTOHJPukAcOMtEmLcmDJEzfRrf+GjM0Og==", + "dev": true }, "node_modules/chalk": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -572,8 +631,9 @@ }, "node_modules/chrome-trace-event": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", "dev": true, - "license": "MIT", "dependencies": { "tslib": "^1.9.0" }, @@ -583,8 +643,9 @@ }, "node_modules/clone-deep": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, - "license": "MIT", "dependencies": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", @@ -596,8 +657,9 @@ }, "node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -607,41 +669,48 @@ }, "node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/colorette": { "version": "1.2.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", + "dev": true }, "node_modules/commander": { "version": "2.20.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true }, "node_modules/concat-map": { "version": "0.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true }, "node_modules/confusing-browser-globals": { "version": "1.0.10", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz", + "integrity": "sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==", + "dev": true }, "node_modules/contains-path": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/cross-spawn": { "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, - "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -653,8 +722,9 @@ }, "node_modules/debug": { "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -669,13 +739,15 @@ }, "node_modules/deep-is": { "version": "0.1.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true }, "node_modules/define-properties": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dev": true, - "license": "MIT", "dependencies": { "object-keys": "^1.0.12" }, @@ -685,8 +757,9 @@ }, "node_modules/doctrine": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, - "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -695,19 +768,22 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.3.690", - "dev": true, - "license": "ISC" + "version": "1.3.707", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.707.tgz", + "integrity": "sha512-BqddgxNPrcWnbDdJw7SzXVzPmp+oiyjVrc7tkQVaznPGSS9SKZatw6qxoP857M+HbOyyqJQwYQtsuFIMSTNSZA==", + "dev": true }, "node_modules/emoji-regex": { "version": "8.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, "node_modules/enhanced-resolve": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.7.0.tgz", + "integrity": "sha512-6njwt/NsZFUKhM6j9U8hzVyD4E4r0x7NQzhTCbcWOJ0IQjNSAoalWmb0AE51Wn+fwan5qVESWi7t2ToBxs9vrw==", "dev": true, - "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -718,8 +794,9 @@ }, "node_modules/enquirer": { "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "dev": true, - "license": "MIT", "dependencies": { "ansi-colors": "^4.1.1" }, @@ -729,8 +806,9 @@ }, "node_modules/envinfo": { "version": "7.7.4", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.4.tgz", + "integrity": "sha512-TQXTYFVVwwluWSFis6K2XKxgrD22jEv0FTuLCQI+OjH7rn93+iY0fSSFM5lrSxFY+H1+B0/cvvlamr3UsBivdQ==", "dev": true, - "license": "MIT", "bin": { "envinfo": "dist/cli.js" }, @@ -740,16 +818,18 @@ }, "node_modules/error-ex": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, - "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" } }, "node_modules/es-abstract": { "version": "1.18.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", + "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", @@ -777,13 +857,15 @@ }, "node_modules/es-module-lexer": { "version": "0.4.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.4.1.tgz", + "integrity": "sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA==", + "dev": true }, "node_modules/es-to-primitive": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, - "license": "MIT", "dependencies": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -798,24 +880,27 @@ }, "node_modules/escalade": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/escape-string-regexp": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/eslint": { - "version": "7.22.0", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.23.0.tgz", + "integrity": "sha512-kqvNVbdkjzpFy0XOszNwjkKzZ+6TcwCQ/h+ozlcIWwaimBBuhlQ4nN6kbiM2L+OjDcznkTJxzYfRFH92sx4a0Q==", "dev": true, - "license": "MIT", "dependencies": { "@babel/code-frame": "7.12.11", "@eslint/eslintrc": "^0.4.0", @@ -867,8 +952,9 @@ }, "node_modules/eslint-config-airbnb-base": { "version": "14.2.1", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.1.tgz", + "integrity": "sha512-GOrQyDtVEc1Xy20U7vsB2yAoB4nBlfH5HZJeatRXHleO+OS5Ot+MWij4Dpltw4/DyIkqUfqz1epfhVR5XWWQPA==", "dev": true, - "license": "MIT", "dependencies": { "confusing-browser-globals": "^1.0.10", "object.assign": "^4.1.2", @@ -884,8 +970,9 @@ }, "node_modules/eslint-config-prettier": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.1.0.tgz", + "integrity": "sha512-oKMhGv3ihGbCIimCAjqkdzx2Q+jthoqnXSP+d86M9tptwugycmTFdVR4IpLgq2c4SHifbwO90z2fQ8/Aio73yw==", "dev": true, - "license": "MIT", "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -895,8 +982,9 @@ }, "node_modules/eslint-import-resolver-node": { "version": "0.3.4", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", + "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", "dev": true, - "license": "MIT", "dependencies": { "debug": "^2.6.9", "resolve": "^1.13.1" @@ -904,21 +992,24 @@ }, "node_modules/eslint-import-resolver-node/node_modules/debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/eslint-import-resolver-node/node_modules/ms": { "version": "2.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true }, "node_modules/eslint-module-utils": { "version": "2.6.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", + "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", "dev": true, - "license": "MIT", "dependencies": { "debug": "^2.6.9", "pkg-dir": "^2.0.0" @@ -929,21 +1020,24 @@ }, "node_modules/eslint-module-utils/node_modules/debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/eslint-module-utils/node_modules/ms": { "version": "2.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true }, "node_modules/eslint-plugin-import": { "version": "2.22.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", + "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", "dev": true, - "license": "MIT", "dependencies": { "array-includes": "^3.1.1", "array.prototype.flat": "^1.2.3", @@ -968,14 +1062,17 @@ }, "node_modules/eslint-plugin-import/node_modules/debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/eslint-plugin-import/node_modules/doctrine": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", "dev": true, "dependencies": { "esutils": "^2.0.2", @@ -987,13 +1084,15 @@ }, "node_modules/eslint-plugin-import/node_modules/ms": { "version": "2.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true }, "node_modules/eslint-plugin-prettier": { "version": "3.3.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.3.1.tgz", + "integrity": "sha512-Rq3jkcFY8RYeQLgk2cCwuc0P7SEFwDravPhsJZOQ5N4YI4DSg50NyqJ/9gdZHzQlHf8MvafSesbNJCcP/FF6pQ==", "dev": true, - "license": "MIT", "dependencies": { "prettier-linter-helpers": "^1.0.0" }, @@ -1012,8 +1111,9 @@ }, "node_modules/eslint-scope": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -1024,8 +1124,9 @@ }, "node_modules/eslint-utils": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "dev": true, - "license": "MIT", "dependencies": { "eslint-visitor-keys": "^1.1.0" }, @@ -1038,24 +1139,27 @@ }, "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=4" } }, "node_modules/eslint-visitor-keys": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", + "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=10" } }, "node_modules/espree": { "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "acorn": "^7.4.0", "acorn-jsx": "^5.3.1", @@ -1067,16 +1171,18 @@ }, "node_modules/espree/node_modules/eslint-visitor-keys": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=4" } }, "node_modules/esprima": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, - "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -1087,8 +1193,9 @@ }, "node_modules/esquery": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -1098,16 +1205,18 @@ }, "node_modules/esquery/node_modules/estraverse": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/esrecurse": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -1117,40 +1226,45 @@ }, "node_modules/esrecurse/node_modules/estraverse": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/estraverse": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/esutils": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/events": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.x" } }, "node_modules/execa": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz", + "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==", "dev": true, - "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -1171,33 +1285,39 @@ }, "node_modules/fast-deep-equal": { "version": "3.1.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true }, "node_modules/fast-diff": { "version": "1.2.0", - "dev": true, - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true }, "node_modules/fast-levenshtein": { "version": "2.0.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true }, "node_modules/fastest-levenshtein": { "version": "1.0.12", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", + "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", + "dev": true }, "node_modules/file-entry-cache": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, - "license": "MIT", "dependencies": { "flat-cache": "^3.0.4" }, @@ -1207,8 +1327,9 @@ }, "node_modules/find-up": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^2.0.0" }, @@ -1218,8 +1339,9 @@ }, "node_modules/flat-cache": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, - "license": "MIT", "dependencies": { "flatted": "^3.1.0", "rimraf": "^3.0.2" @@ -1230,28 +1352,33 @@ }, "node_modules/flatted": { "version": "3.1.1", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", + "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", + "dev": true }, "node_modules/fs.realpath": { "version": "1.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true }, "node_modules/function-bind": { "version": "1.1.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true }, "node_modules/functional-red-black-tree": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true }, "node_modules/get-intrinsic": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", "dev": true, - "license": "MIT", "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -1263,8 +1390,9 @@ }, "node_modules/get-stream": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz", + "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -1274,8 +1402,9 @@ }, "node_modules/glob": { "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, - "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -1293,8 +1422,9 @@ }, "node_modules/glob-parent": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -1304,13 +1434,15 @@ }, "node_modules/glob-to-regexp": { "version": "0.4.1", - "dev": true, - "license": "BSD-2-Clause" + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true }, "node_modules/globals": { - "version": "13.6.0", + "version": "13.7.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.7.0.tgz", + "integrity": "sha512-Aipsz6ZKRxa/xQkZhNg0qIWXT6x6rD46f6x/PCnBomlttdIyAPak4YD9jTmKpZ72uROSMU87qJtcgpgHaVchiA==", "dev": true, - "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -1323,13 +1455,15 @@ }, "node_modules/graceful-fs": { "version": "4.2.6", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "dev": true }, "node_modules/has": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, - "license": "MIT", "dependencies": { "function-bind": "^1.1.1" }, @@ -1339,24 +1473,27 @@ }, "node_modules/has-bigints": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/has-symbols": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -1366,29 +1503,33 @@ }, "node_modules/hosted-git-info": { "version": "2.8.8", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "dev": true }, "node_modules/human-signals": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=10.17.0" } }, "node_modules/ignore": { "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/import-fresh": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, - "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -1402,8 +1543,9 @@ }, "node_modules/import-local": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", "dev": true, - "license": "MIT", "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -1417,8 +1559,9 @@ }, "node_modules/import-local/node_modules/find-up": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -1429,8 +1572,9 @@ }, "node_modules/import-local/node_modules/locate-path": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -1440,8 +1584,9 @@ }, "node_modules/import-local/node_modules/p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, - "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -1454,8 +1599,9 @@ }, "node_modules/import-local/node_modules/p-locate": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -1465,24 +1611,27 @@ }, "node_modules/import-local/node_modules/p-try": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/import-local/node_modules/path-exists": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/import-local/node_modules/pkg-dir": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, - "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, @@ -1492,16 +1641,18 @@ }, "node_modules/imurmurhash": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.19" } }, "node_modules/inflight": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, - "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -1509,34 +1660,39 @@ }, "node_modules/inherits": { "version": "2.0.4", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, "node_modules/interpret": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.10" } }, "node_modules/is-arrayish": { "version": "0.2.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true }, "node_modules/is-bigint": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.1.tgz", + "integrity": "sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-boolean-object": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz", + "integrity": "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.0" }, @@ -1549,8 +1705,9 @@ }, "node_modules/is-callable": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -1560,8 +1717,9 @@ }, "node_modules/is-core-module": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", "dev": true, - "license": "MIT", "dependencies": { "has": "^1.0.3" }, @@ -1571,8 +1729,9 @@ }, "node_modules/is-date-object": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -1582,24 +1741,27 @@ }, "node_modules/is-extglob": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-glob": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", "dev": true, - "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -1609,8 +1771,9 @@ }, "node_modules/is-negative-zero": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -1620,8 +1783,9 @@ }, "node_modules/is-number-object": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz", + "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -1631,8 +1795,9 @@ }, "node_modules/is-plain-object": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, - "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -1642,8 +1807,9 @@ }, "node_modules/is-regex": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-symbols": "^1.0.1" @@ -1657,16 +1823,18 @@ }, "node_modules/is-stream": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-string": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -1676,8 +1844,9 @@ }, "node_modules/is-symbol": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", "dev": true, - "license": "MIT", "dependencies": { "has-symbols": "^1.0.1" }, @@ -1690,26 +1859,30 @@ }, "node_modules/isarray": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true }, "node_modules/isexe": { "version": "2.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true }, "node_modules/isobject": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/jest-worker": { "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -1721,13 +1894,15 @@ }, "node_modules/js-tokens": { "version": "4.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true }, "node_modules/js-yaml": { "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, - "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -1738,23 +1913,27 @@ }, "node_modules/json-parse-better-errors": { "version": "1.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true }, "node_modules/json-schema-traverse": { "version": "0.4.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true }, "node_modules/json5": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", "dev": true, - "license": "MIT", "dependencies": { "minimist": "^1.2.0" }, @@ -1764,16 +1943,18 @@ }, "node_modules/kind-of": { "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/levn": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, - "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -1784,8 +1965,9 @@ }, "node_modules/load-json-file": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, - "license": "MIT", "dependencies": { "graceful-fs": "^4.1.2", "parse-json": "^4.0.0", @@ -1798,16 +1980,18 @@ }, "node_modules/loader-runner": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", + "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.11.5" } }, "node_modules/locate-path": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^2.0.0", "path-exists": "^3.0.0" @@ -1818,13 +2002,33 @@ }, "node_modules/lodash": { "version": "4.17.21", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "node_modules/lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", + "dev": true + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true }, "node_modules/lru-cache": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -1834,6 +2038,8 @@ }, "node_modules/memorystream": { "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", "dev": true, "engines": { "node": ">= 0.10.0" @@ -1841,23 +2047,26 @@ }, "node_modules/merge-stream": { "version": "2.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true }, "node_modules/mime-db": { - "version": "1.46.0", + "version": "1.47.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", + "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { - "version": "2.1.29", + "version": "2.1.30", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", + "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", "dev": true, - "license": "MIT", "dependencies": { - "mime-db": "1.46.0" + "mime-db": "1.47.0" }, "engines": { "node": ">= 0.6" @@ -1865,16 +2074,18 @@ }, "node_modules/mimic-fn": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/minimatch": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -1884,38 +2095,45 @@ }, "node_modules/minimist": { "version": "1.2.5", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true }, "node_modules/ms": { "version": "2.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "node_modules/natural-compare": { "version": "1.4.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true }, "node_modules/neo-async": { "version": "2.6.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true }, "node_modules/nice-try": { "version": "1.0.5", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true }, "node_modules/node-releases": { "version": "1.1.71", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", + "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==", + "dev": true }, "node_modules/normalize-package-data": { "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", @@ -1925,16 +2143,18 @@ }, "node_modules/normalize-package-data/node_modules/semver": { "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/npm-run-all": { "version": "4.1.5", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", + "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "chalk": "^2.4.1", @@ -1957,8 +2177,9 @@ }, "node_modules/npm-run-all/node_modules/ansi-styles": { "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -1968,8 +2189,9 @@ }, "node_modules/npm-run-all/node_modules/chalk": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -1981,21 +2203,24 @@ }, "node_modules/npm-run-all/node_modules/color-convert": { "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/npm-run-all/node_modules/color-name": { "version": "1.1.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true }, "node_modules/npm-run-all/node_modules/cross-spawn": { "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, - "license": "MIT", "dependencies": { "nice-try": "^1.0.4", "path-key": "^2.0.1", @@ -2009,32 +2234,36 @@ }, "node_modules/npm-run-all/node_modules/has-flag": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/npm-run-all/node_modules/path-key": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/npm-run-all/node_modules/semver": { "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/npm-run-all/node_modules/shebang-command": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, - "license": "MIT", "dependencies": { "shebang-regex": "^1.0.0" }, @@ -2044,16 +2273,18 @@ }, "node_modules/npm-run-all/node_modules/shebang-regex": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/npm-run-all/node_modules/supports-color": { "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -2063,8 +2294,9 @@ }, "node_modules/npm-run-all/node_modules/which": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, - "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -2074,8 +2306,9 @@ }, "node_modules/npm-run-path": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, - "license": "MIT", "dependencies": { "path-key": "^3.0.0" }, @@ -2085,24 +2318,27 @@ }, "node_modules/object-inspect": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object-keys": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/object.assign": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", @@ -2118,8 +2354,9 @@ }, "node_modules/object.entries": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.3.tgz", + "integrity": "sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", @@ -2132,8 +2369,9 @@ }, "node_modules/object.values": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.3.tgz", + "integrity": "sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", @@ -2149,16 +2387,18 @@ }, "node_modules/once": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, - "license": "ISC", "dependencies": { "wrappy": "1" } }, "node_modules/onetime": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, - "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" }, @@ -2171,8 +2411,9 @@ }, "node_modules/optionator": { "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", "dev": true, - "license": "MIT", "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", @@ -2187,8 +2428,9 @@ }, "node_modules/p-limit": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, - "license": "MIT", "dependencies": { "p-try": "^1.0.0" }, @@ -2198,8 +2440,9 @@ }, "node_modules/p-locate": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^1.1.0" }, @@ -2209,16 +2452,18 @@ }, "node_modules/p-try": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/parent-module": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, - "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -2228,8 +2473,9 @@ }, "node_modules/parse-json": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, - "license": "MIT", "dependencies": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" @@ -2240,37 +2486,42 @@ }, "node_modules/path-exists": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/path-is-absolute": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/path-key": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path-parse": { "version": "1.0.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true }, "node_modules/path-type": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, - "license": "MIT", "dependencies": { "pify": "^3.0.0" }, @@ -2280,8 +2531,9 @@ }, "node_modules/pidtree": { "version": "0.3.1", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz", + "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", "dev": true, - "license": "MIT", "bin": { "pidtree": "bin/pidtree.js" }, @@ -2291,16 +2543,18 @@ }, "node_modules/pify": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/pkg-dir": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, - "license": "MIT", "dependencies": { "find-up": "^2.1.0" }, @@ -2310,16 +2564,18 @@ }, "node_modules/prelude-ls": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8.0" } }, "node_modules/prettier": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", + "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", "dev": true, - "license": "MIT", "bin": { "prettier": "bin-prettier.js" }, @@ -2329,8 +2585,9 @@ }, "node_modules/prettier-linter-helpers": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", "dev": true, - "license": "MIT", "dependencies": { "fast-diff": "^1.1.2" }, @@ -2340,32 +2597,36 @@ }, "node_modules/progress": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.4.0" } }, "node_modules/punycode": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/randombytes": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, - "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" } }, "node_modules/read-pkg": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", "dev": true, - "license": "MIT", "dependencies": { "load-json-file": "^4.0.0", "normalize-package-data": "^2.3.2", @@ -2377,8 +2638,9 @@ }, "node_modules/read-pkg-up": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, - "license": "MIT", "dependencies": { "find-up": "^2.0.0", "read-pkg": "^2.0.0" @@ -2389,8 +2651,9 @@ }, "node_modules/read-pkg-up/node_modules/load-json-file": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, - "license": "MIT", "dependencies": { "graceful-fs": "^4.1.2", "parse-json": "^2.2.0", @@ -2403,8 +2666,9 @@ }, "node_modules/read-pkg-up/node_modules/parse-json": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, - "license": "MIT", "dependencies": { "error-ex": "^1.2.0" }, @@ -2414,8 +2678,9 @@ }, "node_modules/read-pkg-up/node_modules/path-type": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, - "license": "MIT", "dependencies": { "pify": "^2.0.0" }, @@ -2425,16 +2690,18 @@ }, "node_modules/read-pkg-up/node_modules/pify": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/read-pkg-up/node_modules/read-pkg": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, - "license": "MIT", "dependencies": { "load-json-file": "^2.0.0", "normalize-package-data": "^2.3.2", @@ -2446,8 +2713,9 @@ }, "node_modules/rechoir": { "version": "0.7.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz", + "integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==", "dev": true, - "license": "MIT", "dependencies": { "resolve": "^1.9.0" }, @@ -2457,8 +2725,9 @@ }, "node_modules/regexpp": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" }, @@ -2468,16 +2737,18 @@ }, "node_modules/require-from-string": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/resolve": { "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", "dev": true, - "license": "MIT", "dependencies": { "is-core-module": "^2.2.0", "path-parse": "^1.0.6" @@ -2488,8 +2759,9 @@ }, "node_modules/resolve-cwd": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, - "license": "MIT", "dependencies": { "resolve-from": "^5.0.0" }, @@ -2499,24 +2771,27 @@ }, "node_modules/resolve-cwd/node_modules/resolve-from": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/resolve-from": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/rimraf": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, - "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -2529,6 +2804,8 @@ }, "node_modules/safe-buffer": { "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, "funding": [ { @@ -2543,13 +2820,13 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/schema-utils": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", "dev": true, - "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.6", "ajv": "^6.12.5", @@ -2564,9 +2841,10 @@ } }, "node_modules/semver": { - "version": "7.3.4", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, - "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -2579,16 +2857,18 @@ }, "node_modules/serialize-javascript": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } }, "node_modules/shallow-clone": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^6.0.2" }, @@ -2598,8 +2878,9 @@ }, "node_modules/shebang-command": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, - "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -2609,26 +2890,30 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/shell-quote": { "version": "1.7.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", + "dev": true }, "node_modules/signal-exit": { "version": "3.0.3", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true }, "node_modules/slice-ansi": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", @@ -2643,21 +2928,24 @@ }, "node_modules/source-list-map": { "version": "2.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true }, "node_modules/source-map": { "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-support": { "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", "dev": true, - "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -2665,8 +2953,9 @@ }, "node_modules/spdx-correct": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", "dev": true, - "license": "Apache-2.0", "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" @@ -2674,13 +2963,15 @@ }, "node_modules/spdx-exceptions": { "version": "2.3.0", - "dev": true, - "license": "CC-BY-3.0" + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true }, "node_modules/spdx-expression-parse": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, - "license": "MIT", "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" @@ -2688,18 +2979,21 @@ }, "node_modules/spdx-license-ids": { "version": "3.0.7", - "dev": true, - "license": "CC0-1.0" + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", + "dev": true }, "node_modules/sprintf-js": { "version": "1.0.3", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true }, "node_modules/string-width": { "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", "dev": true, - "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -2711,8 +3005,9 @@ }, "node_modules/string.prototype.padend": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz", + "integrity": "sha512-/AQFLdYvePENU3W5rgurfWSMU6n+Ww8n/3cUt7E+vPBB/D7YDG8x+qjoFs4M/alR2bW7Qg6xMjVwWUOvuQ0XpQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", @@ -2727,8 +3022,9 @@ }, "node_modules/string.prototype.trimend": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" @@ -2739,8 +3035,9 @@ }, "node_modules/string.prototype.trimstart": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" @@ -2751,8 +3048,9 @@ }, "node_modules/strip-ansi": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, - "license": "MIT", "dependencies": { "ansi-regex": "^5.0.0" }, @@ -2762,24 +3060,27 @@ }, "node_modules/strip-bom": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/strip-final-newline": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/strip-json-comments": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" }, @@ -2789,8 +3090,9 @@ }, "node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -2799,12 +3101,18 @@ } }, "node_modules/table": { - "version": "6.0.7", + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/table/-/table-6.0.9.tgz", + "integrity": "sha512-F3cLs9a3hL1Z7N4+EkSscsel3z55XT950AvB05bwayrNg5T1/gykXtigioTAjbltvbMSJvvhFCbnf6mX+ntnJQ==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { - "ajv": "^7.0.2", - "lodash": "^4.17.20", + "ajv": "^8.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "lodash.clonedeep": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.truncate": "^4.4.2", "slice-ansi": "^4.0.0", "string-width": "^4.2.0" }, @@ -2813,9 +3121,10 @@ } }, "node_modules/table/node_modules/ajv": { - "version": "7.2.1", + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.0.5.tgz", + "integrity": "sha512-RkiLa/AeJx7+9OvniQ/qeWu0w74A8DiPPBclQ6ji3ZQkv5KamO+QGpqmi7O4JIw3rHGUXZ6CoP9tsAkn3gyazg==", "dev": true, - "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -2829,21 +3138,24 @@ }, "node_modules/table/node_modules/json-schema-traverse": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true }, "node_modules/tapable": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", + "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/terser": { - "version": "5.6.0", + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.6.1.tgz", + "integrity": "sha512-yv9YLFQQ+3ZqgWCUk+pvNJwgUTdlIxUk1WTN+RnaFJe2L7ipG2csPT0ra2XRm7Cs8cxN7QXmK1rFzEwYEQkzXw==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "commander": "^2.20.0", "source-map": "~0.7.2", @@ -2858,8 +3170,9 @@ }, "node_modules/terser-webpack-plugin": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.1.tgz", + "integrity": "sha512-5XNNXZiR8YO6X6KhSGXfY0QrGrCRlSwAEjIIrlRQR4W8nP69TaJUlh3bkuac6zzgspiGPfKEHcY295MMVExl5Q==", "dev": true, - "license": "MIT", "dependencies": { "jest-worker": "^26.6.2", "p-limit": "^3.1.0", @@ -2881,8 +3194,9 @@ }, "node_modules/terser-webpack-plugin/node_modules/p-limit": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, - "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -2895,21 +3209,24 @@ }, "node_modules/terser/node_modules/source-map": { "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">= 8" } }, "node_modules/text-table": { "version": "0.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true }, "node_modules/tsconfig-paths": { "version": "3.9.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", + "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", "dev": true, - "license": "MIT", "dependencies": { "@types/json5": "^0.0.29", "json5": "^1.0.1", @@ -2919,13 +3236,15 @@ }, "node_modules/tslib": { "version": "1.14.1", - "dev": true, - "license": "0BSD" + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true }, "node_modules/type-check": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, - "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -2935,8 +3254,9 @@ }, "node_modules/type-fest": { "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -2945,33 +3265,40 @@ } }, "node_modules/unbox-primitive": { - "version": "1.0.0", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", "dev": true, - "license": "MIT", "dependencies": { "function-bind": "^1.1.1", - "has-bigints": "^1.0.0", - "has-symbols": "^1.0.0", - "which-boxed-primitive": "^1.0.1" + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/uri-js": { "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } }, "node_modules/v8-compile-cache": { "version": "2.3.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true }, "node_modules/validate-npm-package-license": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, - "license": "Apache-2.0", "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" @@ -2979,8 +3306,9 @@ }, "node_modules/watchpack": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.1.1.tgz", + "integrity": "sha512-Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw==", "dev": true, - "license": "MIT", "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -2990,9 +3318,10 @@ } }, "node_modules/webpack": { - "version": "5.26.2", + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.30.0.tgz", + "integrity": "sha512-Zr9NIri5yzpfmaMea2lSMV1UygbW0zQsSlGLMgKUm63ACXg6alhd1u4v5UBSBjzYKXJN6BNMGVM7w165e7NxYA==", "dev": true, - "license": "MIT", "dependencies": { "@types/eslint-scope": "^3.7.0", "@types/estree": "^0.0.46", @@ -3035,14 +3364,15 @@ } }, "node_modules/webpack-cli": { - "version": "4.5.0", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.6.0.tgz", + "integrity": "sha512-9YV+qTcGMjQFiY7Nb1kmnupvb1x40lfpj8pwdO/bom+sQiP4OBMKjHq29YQrlDWDPZO9r/qWaRRywKaRDKqBTA==", "dev": true, - "license": "MIT", "dependencies": { "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.0.1", - "@webpack-cli/info": "^1.2.2", - "@webpack-cli/serve": "^1.3.0", + "@webpack-cli/configtest": "^1.0.2", + "@webpack-cli/info": "^1.2.3", + "@webpack-cli/serve": "^1.3.1", "colorette": "^1.2.1", "commander": "^7.0.0", "enquirer": "^2.3.6", @@ -3067,9 +3397,6 @@ "@webpack-cli/generators": { "optional": true }, - "@webpack-cli/init": { - "optional": true - }, "@webpack-cli/migrate": { "optional": true }, @@ -3082,17 +3409,19 @@ } }, "node_modules/webpack-cli/node_modules/commander": { - "version": "7.1.0", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 10" } }, "node_modules/webpack-merge": { "version": "5.7.3", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.7.3.tgz", + "integrity": "sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA==", "dev": true, - "license": "MIT", "dependencies": { "clone-deep": "^4.0.1", "wildcard": "^2.0.0" @@ -3103,8 +3432,9 @@ }, "node_modules/webpack-sources": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz", + "integrity": "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==", "dev": true, - "license": "MIT", "dependencies": { "source-list-map": "^2.0.1", "source-map": "^0.6.1" @@ -3115,8 +3445,9 @@ }, "node_modules/webpack/node_modules/acorn": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.1.0.tgz", + "integrity": "sha512-LWCF/Wn0nfHOmJ9rzQApGnxnvgfROzGilS8936rqN/lfcYkY9MYZzdMqN+2NJ4SlTc+m5HiSa+kNfDtI64dwUA==", "dev": true, - "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -3126,8 +3457,9 @@ }, "node_modules/which": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -3140,8 +3472,9 @@ }, "node_modules/which-boxed-primitive": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, - "license": "MIT", "dependencies": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", @@ -3155,31 +3488,36 @@ }, "node_modules/wildcard": { "version": "2.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "dev": true }, "node_modules/word-wrap": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/wrappy": { "version": "1.0.2", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true }, "node_modules/yallist": { "version": "4.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, "node_modules/yocto-queue": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -3191,6 +3529,8 @@ "dependencies": { "@babel/code-frame": { "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", "dev": true, "requires": { "@babel/highlight": "^7.10.4" @@ -3198,10 +3538,14 @@ }, "@babel/helper-validator-identifier": { "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", "dev": true }, "@babel/highlight": { "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", + "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.12.11", @@ -3211,6 +3555,8 @@ "dependencies": { "ansi-styles": { "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "^1.9.0" @@ -3218,6 +3564,8 @@ }, "chalk": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -3227,6 +3575,8 @@ }, "color-convert": { "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { "color-name": "1.1.3" @@ -3234,14 +3584,20 @@ }, "color-name": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "has-flag": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "supports-color": { "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -3251,13 +3607,19 @@ }, "@discoveryjs/json-ext": { "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz", + "integrity": "sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg==", "dev": true }, "@eastdesire/jscolor": { - "version": "2.4.5" + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/@eastdesire/jscolor/-/jscolor-2.4.5.tgz", + "integrity": "sha512-LDCEGN7qKKO3tq6yYtx6cbz/tQlr9LqKNSFaG2GIIn03y67ot3doucpDGoQjCwXG2xUB4pDXRuH2lobjjxhtJA==" }, "@eslint/eslintrc": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.0.tgz", + "integrity": "sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog==", "dev": true, "requires": { "ajv": "^6.12.4", @@ -3273,6 +3635,8 @@ "dependencies": { "globals": { "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", "dev": true, "requires": { "type-fest": "^0.8.1" @@ -3280,12 +3644,16 @@ }, "type-fest": { "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true } } }, "@types/eslint": { - "version": "7.2.7", + "version": "7.2.8", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.8.tgz", + "integrity": "sha512-RTKvBsfz0T8CKOGZMfuluDNyMFHnu5lvNr4hWEsQeHXH6FcmIDIozOyWMh36nLGMwVd5UFNXC2xztA8lln22MQ==", "dev": true, "requires": { "@types/estree": "*", @@ -3294,6 +3662,8 @@ }, "@types/eslint-scope": { "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.0.tgz", + "integrity": "sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw==", "dev": true, "requires": { "@types/eslint": "*", @@ -3302,22 +3672,32 @@ }, "@types/estree": { "version": "0.0.46", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.46.tgz", + "integrity": "sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg==", "dev": true }, "@types/json-schema": { "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", "dev": true }, "@types/json5": { "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", "dev": true }, "@types/node": { - "version": "14.14.35", + "version": "14.14.37", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.37.tgz", + "integrity": "sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw==", "dev": true }, "@webassemblyjs/ast": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.0.tgz", + "integrity": "sha512-kX2W49LWsbthrmIRMbQZuQDhGtjyqXfEmmHyEi4XWnSZtPmxY0+3anPIzsnRb45VH/J55zlOfWvZuY47aJZTJg==", "dev": true, "requires": { "@webassemblyjs/helper-numbers": "1.11.0", @@ -3326,18 +3706,26 @@ }, "@webassemblyjs/floating-point-hex-parser": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.0.tgz", + "integrity": "sha512-Q/aVYs/VnPDVYvsCBL/gSgwmfjeCb4LW8+TMrO3cSzJImgv8lxxEPM2JA5jMrivE7LSz3V+PFqtMbls3m1exDA==", "dev": true }, "@webassemblyjs/helper-api-error": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.0.tgz", + "integrity": "sha512-baT/va95eXiXb2QflSx95QGT5ClzWpGaa8L7JnJbgzoYeaA27FCvuBXU758l+KXWRndEmUXjP0Q5fibhavIn8w==", "dev": true }, "@webassemblyjs/helper-buffer": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.0.tgz", + "integrity": "sha512-u9HPBEl4DS+vA8qLQdEQ6N/eJQ7gT7aNvMIo8AAWvAl/xMrcOSiI2M0MAnMCy3jIFke7bEee/JwdX1nUpCtdyA==", "dev": true }, "@webassemblyjs/helper-numbers": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.0.tgz", + "integrity": "sha512-DhRQKelIj01s5IgdsOJMKLppI+4zpmcMQ3XboFPLwCpSNH6Hqo1ritgHgD0nqHeSYqofA6aBN/NmXuGjM1jEfQ==", "dev": true, "requires": { "@webassemblyjs/floating-point-hex-parser": "1.11.0", @@ -3347,10 +3735,14 @@ }, "@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.0.tgz", + "integrity": "sha512-MbmhvxXExm542tWREgSFnOVo07fDpsBJg3sIl6fSp9xuu75eGz5lz31q7wTLffwL3Za7XNRCMZy210+tnsUSEA==", "dev": true }, "@webassemblyjs/helper-wasm-section": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.0.tgz", + "integrity": "sha512-3Eb88hcbfY/FCukrg6i3EH8H2UsD7x8Vy47iVJrP967A9JGqgBVL9aH71SETPx1JrGsOUVLo0c7vMCN22ytJew==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.0", @@ -3361,6 +3753,8 @@ }, "@webassemblyjs/ieee754": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.0.tgz", + "integrity": "sha512-KXzOqpcYQwAfeQ6WbF6HXo+0udBNmw0iXDmEK5sFlmQdmND+tr773Ti8/5T/M6Tl/413ArSJErATd8In3B+WBA==", "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" @@ -3368,6 +3762,8 @@ }, "@webassemblyjs/leb128": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.0.tgz", + "integrity": "sha512-aqbsHa1mSQAbeeNcl38un6qVY++hh8OpCOzxhixSYgbRfNWcxJNJQwe2rezK9XEcssJbbWIkblaJRwGMS9zp+g==", "dev": true, "requires": { "@xtuc/long": "4.2.2" @@ -3375,10 +3771,14 @@ }, "@webassemblyjs/utf8": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.0.tgz", + "integrity": "sha512-A/lclGxH6SpSLSyFowMzO/+aDEPU4hvEiooCMXQPcQFPPJaYcPQNKGOCLUySJsYJ4trbpr+Fs08n4jelkVTGVw==", "dev": true }, "@webassemblyjs/wasm-edit": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.0.tgz", + "integrity": "sha512-JHQ0damXy0G6J9ucyKVXO2j08JVJ2ntkdJlq1UTiUrIgfGMmA7Ik5VdC/L8hBK46kVJgujkBIoMtT8yVr+yVOQ==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.0", @@ -3393,6 +3793,8 @@ }, "@webassemblyjs/wasm-gen": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.0.tgz", + "integrity": "sha512-BEUv1aj0WptCZ9kIS30th5ILASUnAPEvE3tVMTrItnZRT9tXCLW2LEXT8ezLw59rqPP9klh9LPmpU+WmRQmCPQ==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.0", @@ -3404,6 +3806,8 @@ }, "@webassemblyjs/wasm-opt": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.0.tgz", + "integrity": "sha512-tHUSP5F4ywyh3hZ0+fDQuWxKx3mJiPeFufg+9gwTpYp324mPCQgnuVKwzLTZVqj0duRDovnPaZqDwoyhIO8kYg==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.0", @@ -3414,6 +3818,8 @@ }, "@webassemblyjs/wasm-parser": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.0.tgz", + "integrity": "sha512-6L285Sgu9gphrcpDXINvm0M9BskznnzJTE7gYkjDbxET28shDqp27wpruyx3C2S/dvEwiigBwLA1cz7lNUi0kw==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.0", @@ -3426,6 +3832,8 @@ }, "@webassemblyjs/wast-printer": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.0.tgz", + "integrity": "sha512-Fg5OX46pRdTgB7rKIUojkh9vXaVN6sGYCnEiJN1GYkb0RPwShZXp6KTDqmoMdQPKhcroOXh3fEzmkWmCYaKYhQ==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.0", @@ -3433,41 +3841,57 @@ } }, "@webpack-cli/configtest": { - "version": "1.0.1", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.0.2.tgz", + "integrity": "sha512-3OBzV2fBGZ5TBfdW50cha1lHDVf9vlvRXnjpVbJBa20pSZQaSkMJZiwA8V2vD9ogyeXn8nU5s5A6mHyf5jhMzA==", "dev": true, "requires": {} }, "@webpack-cli/info": { - "version": "1.2.2", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.2.3.tgz", + "integrity": "sha512-lLek3/T7u40lTqzCGpC6CAbY6+vXhdhmwFRxZLMnRm6/sIF/7qMpT8MocXCRQfz0JAh63wpbXLMnsQ5162WS7Q==", "dev": true, "requires": { "envinfo": "^7.7.3" } }, "@webpack-cli/serve": { - "version": "1.3.0", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.3.1.tgz", + "integrity": "sha512-0qXvpeYO6vaNoRBI52/UsbcaBydJCggoBBnIo/ovQQdn6fug0BgwsjorV1hVS7fMqGVTZGcVxv8334gjmbj5hw==", "dev": true, "requires": {} }, "@xtuc/ieee754": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", "dev": true }, "@xtuc/long": { "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true }, "acorn": { "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true }, "acorn-jsx": { "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", "dev": true, "requires": {} }, "ajv": { "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -3478,19 +3902,27 @@ }, "ajv-keywords": { "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true, "requires": {} }, "ansi-colors": { "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true }, "ansi-regex": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, "ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { "color-convert": "^2.0.1" @@ -3498,6 +3930,8 @@ }, "argparse": { "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { "sprintf-js": "~1.0.2" @@ -3505,6 +3939,8 @@ }, "array-includes": { "version": "3.1.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", + "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -3516,6 +3952,8 @@ }, "array.prototype.flat": { "version": "1.2.4", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", + "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", "dev": true, "requires": { "call-bind": "^1.0.0", @@ -3525,14 +3963,20 @@ }, "astral-regex": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true }, "balanced-match": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, "brace-expansion": { "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -3541,6 +3985,8 @@ }, "browserslist": { "version": "4.16.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", + "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", "dev": true, "requires": { "caniuse-lite": "^1.0.30001181", @@ -3552,10 +3998,14 @@ }, "buffer-from": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "dev": true }, "call-bind": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, "requires": { "function-bind": "^1.1.1", @@ -3564,14 +4014,20 @@ }, "callsites": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, "caniuse-lite": { - "version": "1.0.30001202", + "version": "1.0.30001205", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001205.tgz", + "integrity": "sha512-TL1GrS5V6LElbitPazidkBMD9sa448bQDDLrumDqaggmKFcuU2JW1wTOHJPukAcOMtEmLcmDJEzfRrf+GjM0Og==", "dev": true }, "chalk": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -3580,6 +4036,8 @@ }, "chrome-trace-event": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", "dev": true, "requires": { "tslib": "^1.9.0" @@ -3587,6 +4045,8 @@ }, "clone-deep": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, "requires": { "is-plain-object": "^2.0.4", @@ -3596,6 +4056,8 @@ }, "color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { "color-name": "~1.1.4" @@ -3603,30 +4065,44 @@ }, "color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, "colorette": { "version": "1.2.2", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", "dev": true }, "commander": { "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, "concat-map": { "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, "confusing-browser-globals": { "version": "1.0.10", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz", + "integrity": "sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==", "dev": true }, "contains-path": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", "dev": true }, "cross-spawn": { "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "requires": { "path-key": "^3.1.0", @@ -3636,6 +4112,8 @@ }, "debug": { "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { "ms": "2.1.2" @@ -3643,10 +4121,14 @@ }, "deep-is": { "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "dev": true }, "define-properties": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dev": true, "requires": { "object-keys": "^1.0.12" @@ -3654,21 +4136,29 @@ }, "doctrine": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "requires": { "esutils": "^2.0.2" } }, "electron-to-chromium": { - "version": "1.3.690", + "version": "1.3.707", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.707.tgz", + "integrity": "sha512-BqddgxNPrcWnbDdJw7SzXVzPmp+oiyjVrc7tkQVaznPGSS9SKZatw6qxoP857M+HbOyyqJQwYQtsuFIMSTNSZA==", "dev": true }, "emoji-regex": { "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, "enhanced-resolve": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.7.0.tgz", + "integrity": "sha512-6njwt/NsZFUKhM6j9U8hzVyD4E4r0x7NQzhTCbcWOJ0IQjNSAoalWmb0AE51Wn+fwan5qVESWi7t2ToBxs9vrw==", "dev": true, "requires": { "graceful-fs": "^4.2.4", @@ -3677,6 +4167,8 @@ }, "enquirer": { "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "dev": true, "requires": { "ansi-colors": "^4.1.1" @@ -3684,10 +4176,14 @@ }, "envinfo": { "version": "7.7.4", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.4.tgz", + "integrity": "sha512-TQXTYFVVwwluWSFis6K2XKxgrD22jEv0FTuLCQI+OjH7rn93+iY0fSSFM5lrSxFY+H1+B0/cvvlamr3UsBivdQ==", "dev": true }, "error-ex": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "requires": { "is-arrayish": "^0.2.1" @@ -3695,6 +4191,8 @@ }, "es-abstract": { "version": "1.18.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", + "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -3717,10 +4215,14 @@ }, "es-module-lexer": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.4.1.tgz", + "integrity": "sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA==", "dev": true }, "es-to-primitive": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, "requires": { "is-callable": "^1.1.4", @@ -3730,14 +4232,20 @@ }, "escalade": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true }, "escape-string-regexp": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, "eslint": { - "version": "7.22.0", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.23.0.tgz", + "integrity": "sha512-kqvNVbdkjzpFy0XOszNwjkKzZ+6TcwCQ/h+ozlcIWwaimBBuhlQ4nN6kbiM2L+OjDcznkTJxzYfRFH92sx4a0Q==", "dev": true, "requires": { "@babel/code-frame": "7.12.11", @@ -3781,6 +4289,8 @@ }, "eslint-config-airbnb-base": { "version": "14.2.1", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.1.tgz", + "integrity": "sha512-GOrQyDtVEc1Xy20U7vsB2yAoB4nBlfH5HZJeatRXHleO+OS5Ot+MWij4Dpltw4/DyIkqUfqz1epfhVR5XWWQPA==", "dev": true, "requires": { "confusing-browser-globals": "^1.0.10", @@ -3790,11 +4300,15 @@ }, "eslint-config-prettier": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.1.0.tgz", + "integrity": "sha512-oKMhGv3ihGbCIimCAjqkdzx2Q+jthoqnXSP+d86M9tptwugycmTFdVR4IpLgq2c4SHifbwO90z2fQ8/Aio73yw==", "dev": true, "requires": {} }, "eslint-import-resolver-node": { "version": "0.3.4", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", + "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", "dev": true, "requires": { "debug": "^2.6.9", @@ -3803,6 +4317,8 @@ "dependencies": { "debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -3810,12 +4326,16 @@ }, "ms": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } }, "eslint-module-utils": { "version": "2.6.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", + "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", "dev": true, "requires": { "debug": "^2.6.9", @@ -3824,6 +4344,8 @@ "dependencies": { "debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -3831,12 +4353,16 @@ }, "ms": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } }, "eslint-plugin-import": { "version": "2.22.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", + "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", "dev": true, "requires": { "array-includes": "^3.1.1", @@ -3856,6 +4382,8 @@ "dependencies": { "debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -3863,6 +4391,8 @@ }, "doctrine": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", "dev": true, "requires": { "esutils": "^2.0.2", @@ -3871,12 +4401,16 @@ }, "ms": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } }, "eslint-plugin-prettier": { "version": "3.3.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.3.1.tgz", + "integrity": "sha512-Rq3jkcFY8RYeQLgk2cCwuc0P7SEFwDravPhsJZOQ5N4YI4DSg50NyqJ/9gdZHzQlHf8MvafSesbNJCcP/FF6pQ==", "dev": true, "requires": { "prettier-linter-helpers": "^1.0.0" @@ -3884,6 +4418,8 @@ }, "eslint-scope": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "requires": { "esrecurse": "^4.3.0", @@ -3892,6 +4428,8 @@ }, "eslint-utils": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "dev": true, "requires": { "eslint-visitor-keys": "^1.1.0" @@ -3899,16 +4437,22 @@ "dependencies": { "eslint-visitor-keys": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true } } }, "eslint-visitor-keys": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", + "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", "dev": true }, "espree": { "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", "dev": true, "requires": { "acorn": "^7.4.0", @@ -3918,16 +4462,22 @@ "dependencies": { "eslint-visitor-keys": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true } } }, "esprima": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true }, "esquery": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, "requires": { "estraverse": "^5.1.0" @@ -3935,12 +4485,16 @@ "dependencies": { "estraverse": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true } } }, "esrecurse": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "requires": { "estraverse": "^5.2.0" @@ -3948,24 +4502,34 @@ "dependencies": { "estraverse": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true } } }, "estraverse": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true }, "esutils": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, "events": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true }, "execa": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz", + "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==", "dev": true, "requires": { "cross-spawn": "^7.0.3", @@ -3981,26 +4545,38 @@ }, "fast-deep-equal": { "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, "fast-diff": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", "dev": true }, "fast-json-stable-stringify": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, "fast-levenshtein": { "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, "fastest-levenshtein": { "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", + "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", "dev": true }, "file-entry-cache": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, "requires": { "flat-cache": "^3.0.4" @@ -4008,6 +4584,8 @@ }, "find-up": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { "locate-path": "^2.0.0" @@ -4015,6 +4593,8 @@ }, "flat-cache": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, "requires": { "flatted": "^3.1.0", @@ -4023,22 +4603,32 @@ }, "flatted": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", + "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", "dev": true }, "fs.realpath": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, "function-bind": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, "functional-red-black-tree": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, "get-intrinsic": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", "dev": true, "requires": { "function-bind": "^1.1.1", @@ -4048,10 +4638,14 @@ }, "get-stream": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz", + "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==", "dev": true }, "glob": { "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -4064,6 +4658,8 @@ }, "glob-parent": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "requires": { "is-glob": "^4.0.1" @@ -4071,10 +4667,14 @@ }, "glob-to-regexp": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", "dev": true }, "globals": { - "version": "13.6.0", + "version": "13.7.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.7.0.tgz", + "integrity": "sha512-Aipsz6ZKRxa/xQkZhNg0qIWXT6x6rD46f6x/PCnBomlttdIyAPak4YD9jTmKpZ72uROSMU87qJtcgpgHaVchiA==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -4082,10 +4682,14 @@ }, "graceful-fs": { "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", "dev": true }, "has": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { "function-bind": "^1.1.1" @@ -4093,30 +4697,44 @@ }, "has-bigints": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", "dev": true }, "has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "has-symbols": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", "dev": true }, "hosted-git-info": { "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", "dev": true }, "human-signals": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true }, "ignore": { "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true }, "import-fresh": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "requires": { "parent-module": "^1.0.0", @@ -4125,6 +4743,8 @@ }, "import-local": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", "dev": true, "requires": { "pkg-dir": "^4.2.0", @@ -4133,6 +4753,8 @@ "dependencies": { "find-up": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { "locate-path": "^5.0.0", @@ -4141,6 +4763,8 @@ }, "locate-path": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { "p-locate": "^4.1.0" @@ -4148,6 +4772,8 @@ }, "p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -4155,6 +4781,8 @@ }, "p-locate": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { "p-limit": "^2.2.0" @@ -4162,14 +4790,20 @@ }, "p-try": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, "path-exists": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, "pkg-dir": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, "requires": { "find-up": "^4.0.0" @@ -4179,10 +4813,14 @@ }, "imurmurhash": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, "inflight": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { "once": "^1.3.0", @@ -4191,22 +4829,32 @@ }, "inherits": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, "interpret": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", "dev": true }, "is-arrayish": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, "is-bigint": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.1.tgz", + "integrity": "sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==", "dev": true }, "is-boolean-object": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz", + "integrity": "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==", "dev": true, "requires": { "call-bind": "^1.0.0" @@ -4214,10 +4862,14 @@ }, "is-callable": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", "dev": true }, "is-core-module": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", "dev": true, "requires": { "has": "^1.0.3" @@ -4225,18 +4877,26 @@ }, "is-date-object": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", "dev": true }, "is-extglob": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, "is-fullwidth-code-point": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, "is-glob": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", "dev": true, "requires": { "is-extglob": "^2.1.1" @@ -4244,14 +4904,20 @@ }, "is-negative-zero": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", "dev": true }, "is-number-object": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz", + "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==", "dev": true }, "is-plain-object": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { "isobject": "^3.0.1" @@ -4259,6 +4925,8 @@ }, "is-regex": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -4267,14 +4935,20 @@ }, "is-stream": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", "dev": true }, "is-string": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", "dev": true }, "is-symbol": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", "dev": true, "requires": { "has-symbols": "^1.0.1" @@ -4282,18 +4956,26 @@ }, "isarray": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, "isexe": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, "isobject": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, "jest-worker": { "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", "dev": true, "requires": { "@types/node": "*", @@ -4303,10 +4985,14 @@ }, "js-tokens": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, "js-yaml": { "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -4315,18 +5001,26 @@ }, "json-parse-better-errors": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "dev": true }, "json-schema-traverse": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, "json5": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", "dev": true, "requires": { "minimist": "^1.2.0" @@ -4334,10 +5028,14 @@ }, "kind-of": { "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, "levn": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "requires": { "prelude-ls": "^1.2.1", @@ -4346,6 +5044,8 @@ }, "load-json-file": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -4356,10 +5056,14 @@ }, "loader-runner": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", + "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", "dev": true }, "locate-path": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { "p-locate": "^2.0.0", @@ -4368,10 +5072,32 @@ }, "lodash": { "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", + "dev": true + }, + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", "dev": true }, "lru-cache": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "requires": { "yallist": "^4.0.0" @@ -4379,29 +5105,41 @@ }, "memorystream": { "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", "dev": true }, "merge-stream": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, "mime-db": { - "version": "1.46.0", + "version": "1.47.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", + "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==", "dev": true }, "mime-types": { - "version": "2.1.29", + "version": "2.1.30", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", + "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", "dev": true, "requires": { - "mime-db": "1.46.0" + "mime-db": "1.47.0" } }, "mimic-fn": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, "minimatch": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { "brace-expansion": "^1.1.7" @@ -4409,30 +5147,44 @@ }, "minimist": { "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, "ms": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "natural-compare": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, "neo-async": { "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, "nice-try": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, "node-releases": { "version": "1.1.71", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", + "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==", "dev": true }, "normalize-package-data": { "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, "requires": { "hosted-git-info": "^2.1.4", @@ -4443,12 +5195,16 @@ "dependencies": { "semver": { "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true } } }, "npm-run-all": { "version": "4.1.5", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", + "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -4464,6 +5220,8 @@ "dependencies": { "ansi-styles": { "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "^1.9.0" @@ -4471,6 +5229,8 @@ }, "chalk": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -4480,6 +5240,8 @@ }, "color-convert": { "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { "color-name": "1.1.3" @@ -4487,10 +5249,14 @@ }, "color-name": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "cross-spawn": { "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "requires": { "nice-try": "^1.0.4", @@ -4502,18 +5268,26 @@ }, "has-flag": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "path-key": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, "semver": { "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true }, "shebang-command": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { "shebang-regex": "^1.0.0" @@ -4521,10 +5295,14 @@ }, "shebang-regex": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, "supports-color": { "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -4532,6 +5310,8 @@ }, "which": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { "isexe": "^2.0.0" @@ -4541,6 +5321,8 @@ }, "npm-run-path": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "requires": { "path-key": "^3.0.0" @@ -4548,14 +5330,20 @@ }, "object-inspect": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", "dev": true }, "object-keys": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true }, "object.assign": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "dev": true, "requires": { "call-bind": "^1.0.0", @@ -4566,6 +5354,8 @@ }, "object.entries": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.3.tgz", + "integrity": "sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg==", "dev": true, "requires": { "call-bind": "^1.0.0", @@ -4576,6 +5366,8 @@ }, "object.values": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.3.tgz", + "integrity": "sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -4586,6 +5378,8 @@ }, "once": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { "wrappy": "1" @@ -4593,6 +5387,8 @@ }, "onetime": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, "requires": { "mimic-fn": "^2.1.0" @@ -4600,6 +5396,8 @@ }, "optionator": { "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", "dev": true, "requires": { "deep-is": "^0.1.3", @@ -4612,6 +5410,8 @@ }, "p-limit": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { "p-try": "^1.0.0" @@ -4619,6 +5419,8 @@ }, "p-locate": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { "p-limit": "^1.1.0" @@ -4626,10 +5428,14 @@ }, "p-try": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true }, "parent-module": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "requires": { "callsites": "^3.0.0" @@ -4637,6 +5443,8 @@ }, "parse-json": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { "error-ex": "^1.3.1", @@ -4645,22 +5453,32 @@ }, "path-exists": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true }, "path-is-absolute": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, "path-key": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, "path-parse": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", "dev": true }, "path-type": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, "requires": { "pify": "^3.0.0" @@ -4668,14 +5486,20 @@ }, "pidtree": { "version": "0.3.1", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz", + "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", "dev": true }, "pify": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true }, "pkg-dir": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "requires": { "find-up": "^2.1.0" @@ -4683,14 +5507,20 @@ }, "prelude-ls": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true }, "prettier": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", + "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", "dev": true }, "prettier-linter-helpers": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", "dev": true, "requires": { "fast-diff": "^1.1.2" @@ -4698,14 +5528,20 @@ }, "progress": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, "punycode": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true }, "randombytes": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, "requires": { "safe-buffer": "^5.1.0" @@ -4713,6 +5549,8 @@ }, "read-pkg": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", "dev": true, "requires": { "load-json-file": "^4.0.0", @@ -4722,6 +5560,8 @@ }, "read-pkg-up": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { "find-up": "^2.0.0", @@ -4730,6 +5570,8 @@ "dependencies": { "load-json-file": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -4740,6 +5582,8 @@ }, "parse-json": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { "error-ex": "^1.2.0" @@ -4747,6 +5591,8 @@ }, "path-type": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { "pify": "^2.0.0" @@ -4754,10 +5600,14 @@ }, "pify": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, "read-pkg": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { "load-json-file": "^2.0.0", @@ -4769,6 +5619,8 @@ }, "rechoir": { "version": "0.7.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz", + "integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==", "dev": true, "requires": { "resolve": "^1.9.0" @@ -4776,14 +5628,20 @@ }, "regexpp": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", "dev": true }, "require-from-string": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true }, "resolve": { "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", "dev": true, "requires": { "is-core-module": "^2.2.0", @@ -4792,6 +5650,8 @@ }, "resolve-cwd": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, "requires": { "resolve-from": "^5.0.0" @@ -4799,16 +5659,22 @@ "dependencies": { "resolve-from": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true } } }, "resolve-from": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, "rimraf": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { "glob": "^7.1.3" @@ -4816,10 +5682,14 @@ }, "safe-buffer": { "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true }, "schema-utils": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", "dev": true, "requires": { "@types/json-schema": "^7.0.6", @@ -4828,7 +5698,9 @@ } }, "semver": { - "version": "7.3.4", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -4836,6 +5708,8 @@ }, "serialize-javascript": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -4843,6 +5717,8 @@ }, "shallow-clone": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, "requires": { "kind-of": "^6.0.2" @@ -4850,6 +5726,8 @@ }, "shebang-command": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "requires": { "shebang-regex": "^3.0.0" @@ -4857,18 +5735,26 @@ }, "shebang-regex": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, "shell-quote": { "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", "dev": true }, "signal-exit": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", "dev": true }, "slice-ansi": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, "requires": { "ansi-styles": "^4.0.0", @@ -4878,14 +5764,20 @@ }, "source-list-map": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", "dev": true }, "source-map": { "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, "source-map-support": { "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -4894,6 +5786,8 @@ }, "spdx-correct": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", @@ -4902,10 +5796,14 @@ }, "spdx-exceptions": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", "dev": true }, "spdx-expression-parse": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, "requires": { "spdx-exceptions": "^2.1.0", @@ -4914,14 +5812,20 @@ }, "spdx-license-ids": { "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", "dev": true }, "sprintf-js": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, "string-width": { "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", "dev": true, "requires": { "emoji-regex": "^8.0.0", @@ -4931,6 +5835,8 @@ }, "string.prototype.padend": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz", + "integrity": "sha512-/AQFLdYvePENU3W5rgurfWSMU6n+Ww8n/3cUt7E+vPBB/D7YDG8x+qjoFs4M/alR2bW7Qg6xMjVwWUOvuQ0XpQ==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -4940,6 +5846,8 @@ }, "string.prototype.trimend": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -4948,6 +5856,8 @@ }, "string.prototype.trimstart": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -4956,6 +5866,8 @@ }, "strip-ansi": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "requires": { "ansi-regex": "^5.0.0" @@ -4963,35 +5875,52 @@ }, "strip-bom": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true }, "strip-final-newline": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true }, "strip-json-comments": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true }, "supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { "has-flag": "^4.0.0" } }, "table": { - "version": "6.0.7", + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/table/-/table-6.0.9.tgz", + "integrity": "sha512-F3cLs9a3hL1Z7N4+EkSscsel3z55XT950AvB05bwayrNg5T1/gykXtigioTAjbltvbMSJvvhFCbnf6mX+ntnJQ==", "dev": true, "requires": { - "ajv": "^7.0.2", - "lodash": "^4.17.20", + "ajv": "^8.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "lodash.clonedeep": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.truncate": "^4.4.2", "slice-ansi": "^4.0.0", "string-width": "^4.2.0" }, "dependencies": { "ajv": { - "version": "7.2.1", + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.0.5.tgz", + "integrity": "sha512-RkiLa/AeJx7+9OvniQ/qeWu0w74A8DiPPBclQ6ji3ZQkv5KamO+QGpqmi7O4JIw3rHGUXZ6CoP9tsAkn3gyazg==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -5002,16 +5931,22 @@ }, "json-schema-traverse": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true } } }, "tapable": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", + "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", "dev": true }, "terser": { - "version": "5.6.0", + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.6.1.tgz", + "integrity": "sha512-yv9YLFQQ+3ZqgWCUk+pvNJwgUTdlIxUk1WTN+RnaFJe2L7ipG2csPT0ra2XRm7Cs8cxN7QXmK1rFzEwYEQkzXw==", "dev": true, "requires": { "commander": "^2.20.0", @@ -5021,12 +5956,16 @@ "dependencies": { "source-map": { "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", "dev": true } } }, "terser-webpack-plugin": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.1.tgz", + "integrity": "sha512-5XNNXZiR8YO6X6KhSGXfY0QrGrCRlSwAEjIIrlRQR4W8nP69TaJUlh3bkuac6zzgspiGPfKEHcY295MMVExl5Q==", "dev": true, "requires": { "jest-worker": "^26.6.2", @@ -5039,6 +5978,8 @@ "dependencies": { "p-limit": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "requires": { "yocto-queue": "^0.1.0" @@ -5048,10 +5989,14 @@ }, "text-table": { "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, "tsconfig-paths": { "version": "3.9.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", + "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", "dev": true, "requires": { "@types/json5": "^0.0.29", @@ -5062,10 +6007,14 @@ }, "tslib": { "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, "type-check": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "requires": { "prelude-ls": "^1.2.1" @@ -5073,20 +6022,26 @@ }, "type-fest": { "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true }, "unbox-primitive": { - "version": "1.0.0", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", "dev": true, "requires": { "function-bind": "^1.1.1", - "has-bigints": "^1.0.0", - "has-symbols": "^1.0.0", - "which-boxed-primitive": "^1.0.1" + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" } }, "uri-js": { "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "requires": { "punycode": "^2.1.0" @@ -5094,10 +6049,14 @@ }, "v8-compile-cache": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", "dev": true }, "validate-npm-package-license": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, "requires": { "spdx-correct": "^3.0.0", @@ -5106,6 +6065,8 @@ }, "watchpack": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.1.1.tgz", + "integrity": "sha512-Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw==", "dev": true, "requires": { "glob-to-regexp": "^0.4.1", @@ -5113,7 +6074,9 @@ } }, "webpack": { - "version": "5.26.2", + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.30.0.tgz", + "integrity": "sha512-Zr9NIri5yzpfmaMea2lSMV1UygbW0zQsSlGLMgKUm63ACXg6alhd1u4v5UBSBjzYKXJN6BNMGVM7w165e7NxYA==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.0", @@ -5143,18 +6106,22 @@ "dependencies": { "acorn": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.1.0.tgz", + "integrity": "sha512-LWCF/Wn0nfHOmJ9rzQApGnxnvgfROzGilS8936rqN/lfcYkY9MYZzdMqN+2NJ4SlTc+m5HiSa+kNfDtI64dwUA==", "dev": true } } }, "webpack-cli": { - "version": "4.5.0", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.6.0.tgz", + "integrity": "sha512-9YV+qTcGMjQFiY7Nb1kmnupvb1x40lfpj8pwdO/bom+sQiP4OBMKjHq29YQrlDWDPZO9r/qWaRRywKaRDKqBTA==", "dev": true, "requires": { "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.0.1", - "@webpack-cli/info": "^1.2.2", - "@webpack-cli/serve": "^1.3.0", + "@webpack-cli/configtest": "^1.0.2", + "@webpack-cli/info": "^1.2.3", + "@webpack-cli/serve": "^1.3.1", "colorette": "^1.2.1", "commander": "^7.0.0", "enquirer": "^2.3.6", @@ -5168,13 +6135,17 @@ }, "dependencies": { "commander": { - "version": "7.1.0", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true } } }, "webpack-merge": { "version": "5.7.3", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.7.3.tgz", + "integrity": "sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA==", "dev": true, "requires": { "clone-deep": "^4.0.1", @@ -5183,6 +6154,8 @@ }, "webpack-sources": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz", + "integrity": "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==", "dev": true, "requires": { "source-list-map": "^2.0.1", @@ -5191,6 +6164,8 @@ }, "which": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "requires": { "isexe": "^2.0.0" @@ -5198,6 +6173,8 @@ }, "which-boxed-primitive": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, "requires": { "is-bigint": "^1.0.1", @@ -5209,22 +6186,32 @@ }, "wildcard": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", "dev": true }, "word-wrap": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true }, "wrappy": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "yallist": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, "yocto-queue": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true } } diff --git a/src/Cache/CPS/AverageQueue.js b/src/Cache/CPS/AverageQueue.js index ec0ae71..9313bec 100644 --- a/src/Cache/CPS/AverageQueue.js +++ b/src/Cache/CPS/AverageQueue.js @@ -50,6 +50,14 @@ export class CMAvgQueue { } return ret / time; } + + calcSum(timePeriod) { + let time = timePeriod; + if (time > this.maxLength) time = this.maxLength; + if (time > this.queue.length) time = this.queue.length; + if (time === 0) return 0; + return this.queue.slice(-time).reduce((a, b) => a + b, 0); + } } /** diff --git a/src/Cache/CacheInit.js b/src/Cache/CacheInit.js index 728ad75..4a3dfc6 100644 --- a/src/Cache/CacheInit.js +++ b/src/Cache/CacheInit.js @@ -1,4 +1,5 @@ /* eslint-disable no-unused-vars */ +import { ClickTimes } from '../Disp/VariablesAndData'; import { CMAvgQueue, InitCookiesDiff } from './CPS/AverageQueue'; import CacheAvgCPS from './CPS/CPS'; import CacheDragonAuras from './Dragon/CacheDragonAuras'; @@ -15,7 +16,10 @@ import { CacheGoldenAndWrathCookiesMults, CacheStatsCookies, } from './Stats/Stats'; -import { HeavenlyChipsDiff } from './VariablesAndData'; +import { + CacheAverageCookiesFromClicks, + HeavenlyChipsDiff, +} from './VariablesAndData'; import CacheWrinklers from './Wrinklers/Wrinklers'; /** @@ -31,6 +35,9 @@ export default function InitCache() { CacheSeasonSpec(); InitCookiesDiff(); HeavenlyChipsDiff = new CMAvgQueue(5); // Used by CM.Cache.CacheHeavenlyChipsPS() + CacheAverageCookiesFromClicks = new CMAvgQueue( + ClickTimes[ClickTimes.length - 1] * 20, + ); CacheHeavenlyChipsPS(); CacheAvgCPS(); CacheIncome(); diff --git a/src/Cache/VariablesAndData.js b/src/Cache/VariablesAndData.js index 25df5f6..81e80a6 100644 --- a/src/Cache/VariablesAndData.js +++ b/src/Cache/VariablesAndData.js @@ -39,6 +39,7 @@ export let CacheCurrWrinklerCount = 0; export let CacheUpgrades = {}; export let CacheAverageClicks = {}; +export let CacheAverageCookiesFromClicks; export let CacheMissingUpgrades = {}; export let CacheMissingUpgradesPrestige = {}; diff --git a/src/Config/SaveLoadReload/SaveLoadReloadSettings.js b/src/Config/SaveLoadReload/SaveLoadReloadSettings.js index b811e0d..724d263 100644 --- a/src/Config/SaveLoadReload/SaveLoadReloadSettings.js +++ b/src/Config/SaveLoadReload/SaveLoadReloadSettings.js @@ -2,7 +2,7 @@ import ConfigDefault from '../../Data/SettingsDefault'; import ConfigData from '../../Data/SettingsData'; import { CMOptions } from '../VariablesAndData'; import save from '../../InitSaveLoad/save'; -import CMLoop from '../../Main/Loop'; +import CMLoopHook from '../../Main/LoopHook'; import UpdateColours from '../../Disp/HelperFunctions/UpdateColours'; /** Functions related to saving, loading and restoring all settings */ @@ -68,7 +68,7 @@ export function LoadConfig(settings) { } }); if (mod) SaveConfig(); - CMLoop(); // Do loop once + CMLoopHook(); // Do loop once Object.keys(ConfigDefault).forEach((i) => { if (i !== 'Header' && typeof ConfigData[i].func !== 'undefined') { ConfigData[i].func(); diff --git a/src/Data/SettingsData.js b/src/Data/SettingsData.js index 0ac6c92..431f481 100644 --- a/src/Data/SettingsData.js +++ b/src/Data/SettingsData.js @@ -389,7 +389,7 @@ const Config = { 'Tooltip', [ 'Building/upgrade tooltip information OFF', - 'Building/upgrade tooltip information ON', + 'Building/upgrade tooltip information ON', ], 'Extra information in building/upgrade tooltips', true, diff --git a/src/Disp/MenuSections/Statistics/AddStatsPage.js b/src/Disp/MenuSections/Statistics/AddStatsPage.js index 8fc65fa..349dddd 100644 --- a/src/Disp/MenuSections/Statistics/AddStatsPage.js +++ b/src/Disp/MenuSections/Statistics/AddStatsPage.js @@ -8,6 +8,7 @@ import { CMOptions } from '../../../Config/VariablesAndData'; import { CacheAverageClicks, + CacheAverageCookiesFromClicks, CacheWrinklersFattest, CacheWrinklersNormal, CacheWrinklersTotal, @@ -114,7 +115,7 @@ export default function AddMenuStats(title) { stats.appendChild( CreateElements.StatsListing( 'basic', - `Average Cookies Per Second (Past ${ + `Average cookies per second (past ${ CookieTimes[CMOptions.AvgCPSHist] < 60 ? `${CookieTimes[CMOptions.AvgCPSHist]} seconds` : CookieTimes[CMOptions.AvgCPSHist] / 60 + @@ -126,12 +127,27 @@ export default function AddMenuStats(title) { stats.appendChild( CreateElements.StatsListing( 'basic', - `Average Cookie Clicks Per Second (Past ${ + `Average cookie clicks per second (past ${ ClickTimes[CMOptions.AvgClicksHist] }${CMOptions.AvgClicksHist === 0 ? ' second' : ' seconds'})`, document.createTextNode(Beautify(CacheAverageClicks, 1)), ), ); + stats.appendChild( + CreateElements.StatsListing( + 'basic', + `Cookies from clicking (past ${ClickTimes[CMOptions.AvgClicksHist]}${ + CMOptions.AvgClicksHist === 0 ? ' second' : ' seconds' + })`, + document.createTextNode( + Beautify( + CacheAverageCookiesFromClicks.calcSum( + CacheAverageClicks * ClickTimes[CMOptions.AvgClicksHist], + ), + ), + ), + ), + ); if (Game.Has('Fortune cookies')) { const fortunes = []; Object.keys(GameData.Fortunes).forEach((i) => { @@ -152,7 +168,7 @@ export default function AddMenuStats(title) { stats.appendChild( CreateElements.StatsListing( 'basic', - 'Missed Golden Cookies', + 'Missed golden cookies', document.createTextNode(Beautify(Game.missedGoldenClicks)), ), ); diff --git a/src/Disp/MenuSections/Statistics/CreateStatsSections.js b/src/Disp/MenuSections/Statistics/CreateStatsSections.js index 273d9c1..d53e7d9 100644 --- a/src/Disp/MenuSections/Statistics/CreateStatsSections.js +++ b/src/Disp/MenuSections/Statistics/CreateStatsSections.js @@ -83,7 +83,7 @@ export function LuckySection() { section.appendChild( StatsListing( 'withTooltip', - '"Lucky!" Cookies Required', + '"Lucky!" cookies required', luckyReqFrag, goldCookTooltip, ), @@ -113,7 +113,7 @@ export function LuckySection() { section.appendChild( StatsListing( 'withTooltip', - '"Lucky!" Cookies Required (Frenzy)', + '"Lucky!" cookies required (frenzy)', luckyReqFrenFrag, goldCookTooltip, ), @@ -130,7 +130,7 @@ export function LuckySection() { section.appendChild( StatsListing( 'withTooltip', - `"Lucky!" Reward (MAX)${luckySplit ? ' (Golden / Wrath)' : ''}`, + `"Lucky!" reward (max)${luckySplit ? ' (golden / wrath)' : ''}`, luckyRewardMaxSpan, goldCookTooltip, ), @@ -145,7 +145,7 @@ export function LuckySection() { section.appendChild( StatsListing( 'withTooltip', - `"Lucky!" Reward (MAX) (Frenzy)${luckySplit ? ' (Golden / Wrath)' : ''}`, + `"Lucky!" reward (max) (frenzy)${luckySplit ? ' (golden / wrath)' : ''}`, luckyRewardFrenzyMaxSpan, goldCookTooltip, ), @@ -165,7 +165,7 @@ export function LuckySection() { section.appendChild( StatsListing( 'withTooltip', - `"Lucky!" Reward (CUR)${luckySplit ? ' (Golden / Wrath)' : ''}`, + `"Lucky!" reward (cur)${luckySplit ? ' (golden / wrath)' : ''}`, luckyCurSpan, goldCookTooltip, ), @@ -211,7 +211,7 @@ export function ChainSection() { section.appendChild( StatsListing( 'withTooltip', - '"Chain" Cookies Required', + '"Chain" cookies required', chainReqFrag, goldCookTooltip, ), @@ -242,7 +242,7 @@ export function ChainSection() { section.appendChild( StatsListing( 'withTooltip', - '"Chain" Cookies Required (Wrath)', + '"Chain" cookies required (Wrath)', chainWrathReqFrag, goldCookTooltip, ), @@ -273,7 +273,7 @@ export function ChainSection() { section.appendChild( StatsListing( 'withTooltip', - '"Chain" Cookies Required (Frenzy)', + '"Chain" cookies required (Frenzy)', chainReqFrenFrag, goldCookTooltip, ), @@ -305,7 +305,7 @@ export function ChainSection() { section.appendChild( StatsListing( 'withTooltip', - '"Chain" Cookies Required (Frenzy) (Wrath)', + '"Chain" cookies required (frenzy) (Wrath)', chainWrathReqFrenFrag, goldCookTooltip, ), @@ -314,7 +314,7 @@ export function ChainSection() { section.appendChild( StatsListing( 'withTooltip', - '"Chain" Reward (MAX) (Golden / Wrath)', + '"Chain" reward (max) (golden / wrath)', document.createTextNode( `${Beautify(CacheChainMaxReward[0])} / ${Beautify( CacheChainWrathMaxReward[0], @@ -327,7 +327,7 @@ export function ChainSection() { section.appendChild( StatsListing( 'withTooltip', - '"Chain" Reward (MAX) (Frenzy) (Golden / Wrath)', + '"Chain" reward (max) (frenzy) (golden / wrath)', document.createTextNode( `${Beautify(CacheChainFrenzyMaxReward[0])} / ${Beautify( CacheChainFrenzyMaxReward[0], @@ -354,7 +354,7 @@ export function ChainSection() { section.appendChild( StatsListing( 'withTooltip', - '"Chain" Reward (CUR) (Golden / Wrath)', + '"Chain" reward (cur) (golden / wrath)', document.createTextNode( `${Beautify(chainCur)} / ${Beautify(chainCurWrath)}`, ), @@ -365,7 +365,7 @@ export function ChainSection() { section.appendChild( StatsListing( 'withTooltip', - 'CPS Needed For Next Level (G / W)', + 'CPS needed for next level (g / w)', document.createTextNode( `${Beautify(CacheChainRequiredNext)} / ${Beautify( CacheChainWrathRequiredNext, @@ -377,7 +377,7 @@ export function ChainSection() { section.appendChild( StatsListing( 'withTooltip', - 'CPS Needed For Next Level (Frenzy) (G / W)', + 'CPS needed for next level (frenzy) (g / w)', document.createTextNode( `${Beautify(CacheChainFrenzyRequiredNext)} / ${Beautify( CacheChainFrenzyWrathRequiredNext, @@ -422,7 +422,7 @@ export function SpellsSection() { section.appendChild( StatsListing( 'withTooltip', - '"Conjure Baked Goods" Cookies Required', + '"Conjure Baked Goods" cookies required', conjureReqFrag, 'GoldCookTooltipPlaceholder', ), @@ -430,7 +430,7 @@ export function SpellsSection() { section.appendChild( StatsListing( 'withTooltip', - '"Conjure Baked Goods" Reward (MAX)', + '"Conjure Baked Goods" reward (max)', document.createTextNode(Beautify(CacheConjureReward)), 'GoldCookTooltipPlaceholder', ), @@ -465,7 +465,7 @@ export function SpellsSection() { section.appendChild( StatsListing( 'withTooltip', - '"Conjure Baked Goods" Cookies Required (Frenzy)', + '"Conjure Baked Goods" cookies required (frenzy)', conjureFrenzyReqFrag, 'GoldCookTooltipPlaceholder', ), @@ -473,7 +473,7 @@ export function SpellsSection() { section.appendChild( StatsListing( 'withTooltip', - '"Conjure Baked Goods" Reward (MAX) (Frenzy)', + '"Conjure Baked Goods" reward (max) (frenzy)', document.createTextNode(Beautify(CacheConjureReward * 7)), 'GoldCookTooltipPlaceholder', ), @@ -481,7 +481,7 @@ export function SpellsSection() { section.appendChild( StatsListing( 'withTooltip', - '"Conjure Baked Goods" Reward (CUR)', + '"Conjure Baked Goods" reward (cur)', document.createTextNode(Beautify(conjureFrenzyCur)), 'GoldCookTooltipPlaceholder', ), @@ -490,7 +490,7 @@ export function SpellsSection() { section.appendChild( StatsListing( 'withTooltip', - '"Spontaneous Edifice" Cookies Required (most expensive building)', + '"Spontaneous Edifice" cookies required (most expensive building)', document.createTextNode( `${Beautify(CacheEdifice)} (${CacheEdificeBuilding})`, ), @@ -603,7 +603,7 @@ export function PrestigeSection() { section.appendChild( StatsListing( 'withTooltip', - 'Prestige Level (CUR / MAX)', + 'Prestige level (cur / max)', document.createTextNode( `${Beautify(Game.prestige)} / ${Beautify(possiblePresMax)}`, ), @@ -636,7 +636,7 @@ export function PrestigeSection() { section.appendChild( StatsListing( 'withTooltip', - 'Cookies To Next Level', + 'Cookies to next level', cookiesNextFrag, 'NextPrestTooltipPlaceholder', ), @@ -645,7 +645,7 @@ export function PrestigeSection() { section.appendChild( StatsListing( 'withTooltip', - 'Heavenly Chips (CUR / MAX)', + 'Heavenly chips (cur / max)', document.createTextNode( `${Beautify(Game.heavenlyChips)} / ${Beautify( possiblePresMax - Game.prestige + Game.heavenlyChips, @@ -658,7 +658,7 @@ export function PrestigeSection() { section.appendChild( StatsListing( 'basic', - 'Heavenly Chips Per Second (last 5 seconds)', + 'Heavenly chips per second (last 5 seconds)', document.createTextNode(Beautify(CacheHCPerSecond, 2)), ), ); @@ -672,14 +672,14 @@ export function PrestigeSection() { section.appendChild( StatsListing( 'basic', - 'Heavenly Chips To Target Set In Settings (CUR)', + 'Heavenly chips to target set in settings (cur)', document.createTextNode(Beautify(CookiesTillTarget)), ), ); section.appendChild( StatsListing( 'basic', - 'Time To Target (CUR, Current 5 Second Average)', + 'Time till target (cur, current 5 second average)', document.createTextNode( FormatTime(CookiesTillTarget / CacheHCPerSecond), ), @@ -700,7 +700,7 @@ export function PrestigeSection() { section.appendChild( StatsListing( 'withTooltip', - 'Reset Bonus Income', + 'Reset bonus income', resetFrag, 'ResetTooltipPlaceholder', ), diff --git a/src/Disp/Tooltips/AscendButton.js b/src/Disp/Tooltips/AscendButton.js index d991cb3..60c961b 100644 --- a/src/Disp/Tooltips/AscendButton.js +++ b/src/Disp/Tooltips/AscendButton.js @@ -55,7 +55,7 @@ export default function ReplaceAscendTooltip() { )} more cookies for the next level.
`; str += `${ CMOptions.TooltipAscendButton - ? `
It takes ${CacheTimeTillNextPrestige} to reach the next level and you are making ${Beautify( + ? `
It takes ${CacheTimeTillNextPrestige} to reach the next level and you were making ${Beautify( CacheHCPerSecond, 2, )} chips on average in the last 5 seconds.
` diff --git a/src/InitSaveLoad/init.js b/src/InitSaveLoad/init.js index 3a8fa49..c03685f 100644 --- a/src/InitSaveLoad/init.js +++ b/src/InitSaveLoad/init.js @@ -1,8 +1,9 @@ /* eslint-disable no-unused-vars */ import { VersionMajor, VersionMinor } from '../Data/Moddata'; import Draw from '../Disp/Draw'; +import CMClickHook from '../Main/ClickHook'; import InitializeCookieMonster from '../Main/Initialization'; -import CMLoop from '../Main/Loop'; +import CMLoopHook from '../Main/LoopHook'; import { isInitializing } from './Variables'; /** @@ -16,13 +17,14 @@ export default function init() { let proceed = true; if (Game.version !== Number(VersionMajor)) { proceed = confirm( - `Cookie Monster version ${VersionMajor}.${VersionMinor} is meant for Game version ${VersionMajor}. Loading a different version may cause errors. Do you still want to load Cookie Monster?`, + `Cookie Monster version ${VersionMajor}.${VersionMinor} is meant for Game version ${VersionMajor}. Loading a different version may cause errors. Do you still want to load Cookie Monster?`, ); } if (proceed) { InitializeCookieMonster(); Game.registerHook('draw', Draw); - Game.registerHook('logic', CMLoop); + Game.registerHook('logic', CMLoopHook); + Game.registerHook('click', CMClickHook); isInitializing = false; } } diff --git a/src/Main/ClickHook.js b/src/Main/ClickHook.js new file mode 100644 index 0000000..0bb9d1d --- /dev/null +++ b/src/Main/ClickHook.js @@ -0,0 +1,6 @@ +import { CacheAverageCookiesFromClicks } from '../Cache/VariablesAndData'; + +export default function CMClickHook() { + // Add cookies from click to array that stores average + CacheAverageCookiesFromClicks.addLatest(Game.computedMouseCps); +} diff --git a/src/Main/Loop.js b/src/Main/LoopHook.js similarity index 98% rename from src/Main/Loop.js rename to src/Main/LoopHook.js index b16e1c8..5ce57d7 100644 --- a/src/Main/Loop.js +++ b/src/Main/LoopHook.js @@ -35,7 +35,7 @@ import { LastModCount } from './VariablesAndData'; * Main loop of Cookie Monster * CM.init registers it to the "logic" hook provided by the modding api */ -export default function CMLoop() { +export default function CMLoopHook() { if (LastAscendState !== Game.OnAscend) { LastAscendState = Game.OnAscend; UpdateAscendState();