11/* eslint-disable complexity */
2+ window . setInterval = function ( delay , fn ) {
3+ var start = Date . now ( ) ;
4+ var data = { } ;
5+ data . id = requestAnimationFrame ( loop ) ;
6+
7+ return data ;
8+
9+ function loop ( ) {
10+ data . id = requestAnimationFrame ( loop ) ;
11+
12+ if ( Date . now ( ) - start >= delay ) {
13+ fn ( ) ;
14+ start = Date . now ( ) ;
15+ }
16+ }
17+ } ;
18+
19+ window . clearInterval = function ( data ) {
20+ try {
21+ cancelAnimationFrame ( data . id ) ;
22+ } catch ( e ) {
23+ console . warn ( "clearInterval failed:" , e ) ;
24+ }
25+ } ;
26+
227var $User = ( function ( ) {
328 const platform = navigator . platform ;
429 const userAgent = navigator . userAgent ;
@@ -14,14 +39,10 @@ var $User = (function () {
1439 // Global Random Helper
1540 $Random = isHTTP ? "#" : "?" ;
1641
17- // Text setting helper based on browser capability
18- innerText = isIE
19- ? function ( element , text ) {
20- element . innerText = text ;
21- }
22- : function ( element , text ) {
23- element . textContent = text ;
24- } ;
42+ // Text setting helper
43+ innerText = function ( element , text ) {
44+ element . textContent = text ;
45+ } ;
2546
2647 // PNG fix for IE6
2748 if ( isIE6 ) {
@@ -33,7 +54,13 @@ var $User = (function () {
3354
3455 innerHTML = function ( element , content ) {
3556 if ( element ) {
36- element . innerHTML = content ;
57+ // Use textContent for plain text, innerHTML only when HTML tags are present
58+ if ( / < [ ^ > ] * > / . test ( content ) ) {
59+ element . innerHTML = content ;
60+ } else {
61+ console . log ( "innerHTML called with plain text, using textContent instead." ) ;
62+ element . textContent = content ;
63+ }
3764 }
3865 } ;
3966
@@ -199,6 +226,9 @@ var oS = {
199226 EDAll = $ ( "dAll" ) ;
200227 EDPZ = $ ( "dPZ" ) ;
201228 EDAlloffsetLeft = EDAll . offsetLeft ;
229+ window . addEventListener ( "resize" , function ( ) {
230+ EDAlloffsetLeft = EDAll . offsetLeft ;
231+ } ) ;
202232 EDNewAll = EDAll . cloneNode ( true ) ;
203233 EDNewFlagMeter = $ ( "dFlagMeter" ) . cloneNode ( true ) ;
204234 ESSunNum = $ ( "sSunNum" ) ;
@@ -4229,3 +4259,163 @@ var CPlants = NewO({
42294259 b . PrivateDie ( b ) ;
42304260 } ,
42314261} ) ;
4262+
4263+ var interpolate = function ( start , end , amt , easingFunc ) {
4264+ return start + ( end - start ) * ( easingFunc ? easingFunc ( amt ) : amt ) ;
4265+ } ;
4266+
4267+ var easeInSine = function ( x ) {
4268+ return 1 - Math . cos ( ( x * Math . PI ) / 2 ) ;
4269+ } ;
4270+
4271+ var easeOutSine = function ( x ) {
4272+ return Math . sin ( ( x * Math . PI ) / 2 ) ;
4273+ } ;
4274+
4275+ var easeInOutSine = function ( x ) {
4276+ return - ( Math . cos ( Math . PI * x ) - 1 ) / 2 ;
4277+ } ;
4278+
4279+ var easeInQuad = function ( x ) {
4280+ return x * x ;
4281+ } ;
4282+
4283+ var easeOutQuad = function ( x ) {
4284+ return 1 - ( 1 - x ) * ( 1 - x ) ;
4285+ } ;
4286+
4287+ var easeInOutQuad = function ( x ) {
4288+ return x < 0.5 ? 2 * x * x : 1 - Math . pow ( - 2 * x + 2 , 2 ) / 2 ;
4289+ } ;
4290+
4291+ var easeInCubic = function ( x ) {
4292+ return x * x * x ;
4293+ } ;
4294+
4295+ var easeOutCubic = function ( x ) {
4296+ return 1 - Math . pow ( 1 - x , 3 ) ;
4297+ } ;
4298+
4299+ var easeInOutCubic = function ( x ) {
4300+ return x < 0.5 ? 4 * x * x * x : 1 - Math . pow ( - 2 * x + 2 , 3 ) / 2 ;
4301+ } ;
4302+
4303+ var easeInQuart = function ( x ) {
4304+ return x * x * x * x ;
4305+ } ;
4306+
4307+ var easeOutQuart = function ( x ) {
4308+ return 1 - Math . pow ( 1 - x , 4 ) ;
4309+ } ;
4310+
4311+ var easeInOutQuart = function ( x ) {
4312+ return x < 0.5 ? 8 * x * x * x * x : 1 - Math . pow ( - 2 * x + 2 , 4 ) / 2 ;
4313+ } ;
4314+
4315+ var easeInQuint = function ( x ) {
4316+ return x * x * x * x * x ;
4317+ } ;
4318+
4319+ var easeOutQuint = function ( x ) {
4320+ return 1 - Math . pow ( 1 - x , 5 ) ;
4321+ } ;
4322+
4323+ var easeInOutQuint = function ( x ) {
4324+ return x < 0.5 ? 16 * x * x * x * x * x : 1 - Math . pow ( - 2 * x + 2 , 5 ) / 2 ;
4325+ } ;
4326+
4327+ var easeInExpo = function ( x ) {
4328+ return x === 0 ? 0 : Math . pow ( 2 , 10 * x - 10 ) ;
4329+ } ;
4330+
4331+ var easeOutExpo = function ( x ) {
4332+ return x === 1 ? 1 : 1 - Math . pow ( 2 , - 10 * x ) ;
4333+ } ;
4334+
4335+ var easeInOutExpo = function ( x ) {
4336+ // oxlint-disable-next-line no-nested-ternary
4337+ return x === 0
4338+ ? 0
4339+ : // oxlint-disable-next-line no-nested-ternary
4340+ x === 1
4341+ ? 1
4342+ : x < 0.5
4343+ ? Math . pow ( 2 , 20 * x - 10 ) / 2
4344+ : ( 2 - Math . pow ( 2 , - 20 * x + 10 ) ) / 2 ;
4345+ } ;
4346+
4347+ var easeInCirc = function ( x ) {
4348+ return 1 - Math . sqrt ( 1 - Math . pow ( x , 2 ) ) ;
4349+ } ;
4350+
4351+ var easeOutCirc = function ( x ) {
4352+ return Math . sqrt ( 1 - Math . pow ( x - 1 , 2 ) ) ;
4353+ } ;
4354+
4355+ var easeInOutCirc = function ( x ) {
4356+ return x < 0.5 ? ( 1 - Math . sqrt ( 1 - Math . pow ( 2 * x , 2 ) ) ) / 2 : ( Math . sqrt ( 1 - Math . pow ( - 2 * x + 2 , 2 ) ) + 1 ) / 2 ;
4357+ } ;
4358+
4359+ var easeInBack = function ( x ) {
4360+ const c1 = 1.70158 ;
4361+ const c3 = c1 + 1 ;
4362+ return c3 * x * x * x - c1 * x * x ;
4363+ } ;
4364+
4365+ var easeOutBack = function ( x ) {
4366+ const c1 = 1.70158 ;
4367+ const c3 = c1 + 1 ;
4368+ return 1 + c3 * Math . pow ( x - 1 , 3 ) + c1 * Math . pow ( x - 1 , 2 ) ;
4369+ } ;
4370+
4371+ var easeInOutBack = function ( x ) {
4372+ const c1 = 1.70158 ;
4373+ const c2 = c1 * 1.525 ;
4374+ return x < 0.5 ? ( Math . pow ( 2 * x , 2 ) * ( ( c2 + 1 ) * 2 * x - c2 ) ) / 2 : ( Math . pow ( 2 * x - 2 , 2 ) * ( ( c2 + 1 ) * ( x * 2 - 2 ) + c2 ) + 2 ) / 2 ;
4375+ } ;
4376+
4377+ var easeInElastic = function ( x ) {
4378+ const c4 = ( 2 * Math . PI ) / 3 ;
4379+ // oxlint-disable-next-line no-nested-ternary
4380+ return x === 0 ? 0 : x === 1 ? 1 : - Math . pow ( 2 , 10 * x - 10 ) * Math . sin ( ( x * 10 - 10.75 ) * c4 ) ;
4381+ } ;
4382+
4383+ var easeOutElastic = function ( x ) {
4384+ const c4 = ( 2 * Math . PI ) / 3 ;
4385+ // oxlint-disable-next-line no-nested-ternary
4386+ return x === 0 ? 0 : x === 1 ? 1 : Math . pow ( 2 , - 10 * x ) * Math . sin ( ( x * 10 - 0.75 ) * c4 ) + 1 ;
4387+ } ;
4388+
4389+ var easeInOutElastic = function ( x ) {
4390+ const c5 = ( 2 * Math . PI ) / 4.5 ;
4391+ // oxlint-disable-next-line no-nested-ternary
4392+ return x === 0
4393+ ? 0
4394+ : // oxlint-disable-next-line no-nested-ternary
4395+ x === 1
4396+ ? 1
4397+ : x < 0.5
4398+ ? - ( Math . pow ( 2 , 20 * x - 10 ) * Math . sin ( ( 20 * x - 11.125 ) * c5 ) ) / 2
4399+ : ( Math . pow ( 2 , - 20 * x + 10 ) * Math . sin ( ( 20 * x - 11.125 ) * c5 ) ) / 2 + 1 ;
4400+ } ;
4401+
4402+ var easeOutBounce = function ( x ) {
4403+ const n1 = 7.5625 ;
4404+ const d1 = 2.75 ;
4405+ if ( x < 1 / d1 ) {
4406+ return n1 * x * x ;
4407+ } else if ( x < 2 / d1 ) {
4408+ return n1 * ( x -= 1.5 / d1 ) * x + 0.75 ;
4409+ } else if ( x < 2.5 / d1 ) {
4410+ return n1 * ( x -= 2.25 / d1 ) * x + 0.9375 ;
4411+ }
4412+ return n1 * ( x -= 2.625 / d1 ) * x + 0.984375 ;
4413+ } ;
4414+
4415+ var easeInBounce = function ( x ) {
4416+ return 1 - easeOutBounce ( 1 - x ) ;
4417+ } ;
4418+
4419+ var easeInOutBounce = function ( x ) {
4420+ return x < 0.5 ? ( 1 - easeOutBounce ( 1 - 2 * x ) ) / 2 : ( 1 + easeOutBounce ( 2 * x - 1 ) ) / 2 ;
4421+ } ;
0 commit comments