diff --git a/std/assembly/date.ts b/std/assembly/date.ts index 0e1fb889d1..be7d064115 100644 --- a/std/assembly/date.ts +++ b/std/assembly/date.ts @@ -169,125 +169,98 @@ export class Date { setUTCDate(day: i32): void { if (this.day == day) return; - var ms = euclidRem(this.epochMillis, MILLIS_PER_DAY); - this.setTime(i64(daysSinceEpoch(this.year, this.month, day)) * MILLIS_PER_DAY + ms); + this.setTime(join(this.year, this.month, day, this.epochMillis)); } setUTCMonth(month: i32, day: i32 = this.day): void { if (this.month == month + 1) return; - var ms = euclidRem(this.epochMillis, MILLIS_PER_DAY); - this.setTime(i64(daysSinceEpoch(this.year, month + 1, day)) * MILLIS_PER_DAY + ms); + this.setTime(join(this.year, month + 1, day, this.epochMillis)); } setUTCFullYear(year: i32): void { if (this.year == year) return; - var ms = euclidRem(this.epochMillis, MILLIS_PER_DAY); - this.setTime(i64(daysSinceEpoch(year, this.month, this.day)) * MILLIS_PER_DAY + ms); + this.setTime(join(year, this.month, this.day, this.epochMillis)); } toISOString(): string { // TODO: add more low-level helper which combine toString and padStart without extra allocation - var yearStr: string; - var year = this.year; - var isNeg = year < 0; - if (isNeg || year >= 10000) { - yearStr = (isNeg ? "-" : "+") + abs(year).toString().padStart(6, "0"); - } else { - yearStr = year.toString().padStart(4, "0"); - } - return ( - yearStr + - "-" + - this.month.toString().padStart(2, "0") + - "-" + - this.day.toString().padStart(2, "0") + - "T" + - this.getUTCHours().toString().padStart(2, "0") + - ":" + - this.getUTCMinutes().toString().padStart(2, "0") + - ":" + - this.getUTCSeconds().toString().padStart(2, "0") + - "." + - this.getUTCMilliseconds().toString().padStart(3, "0") + - "Z" - ); + var yr = this.year; + var isNeg = yr < 0; + var year = (isNeg || yr >= 10000) + ? (isNeg ? "-" : "+") + stringify(abs(yr), 6) + : stringify(yr, 4); + var month = stringify(this.month, 2); + var day = stringify(this.day); + var hours = stringify(this.getUTCHours()); + var mins = stringify(this.getUTCMinutes()); + var secs = stringify(this.getUTCSeconds()); + var ms = stringify(this.getUTCMilliseconds(), 3); + + return `${year}-${month}-${day}T${hours}:${mins}:${secs}.${ms}Z`; } toUTCString(): string { - const weeks: StaticArray = [ - "Sun, ", "Mon, ", "Tue, ", "Wed, ", "Thu, ", "Fri, ", "Sat, " - ]; - - const months: StaticArray = [ - " Jan ", " Feb ", " Mar ", " Apr ", " May ", " Jun ", - " Jul ", " Aug ", " Sep ", " Oct ", " Nov ", " Dec " - ]; + const + weeks: StaticArray = [ + "Sun, ", "Mon, ", "Tue, ", "Wed, ", "Thu, ", "Fri, ", "Sat, " + ], + months: StaticArray = [ + " Jan ", " Feb ", " Mar ", " Apr ", " May ", " Jun ", + " Jul ", " Aug ", " Sep ", " Oct ", " Nov ", " Dec " + ]; var mo = this.month; var da = this.day; var yr = this.year; var wd = dayOfWeek(yr, mo, da); - var year = abs(yr).toString().padStart(4, "0"); - if (yr < 0) year = "-" + year; - - return ( - unchecked(weeks[wd]) + - da.toString().padStart(2, "0") + - unchecked(months[mo - 1]) + - year + - " " + - this.getUTCHours().toString().padStart(2, "0") + - ":" + - this.getUTCMinutes().toString().padStart(2, "0") + - ":" + - this.getUTCSeconds().toString().padStart(2, "0") + - " GMT" - ); + var year = stringify(abs(yr), 4); + var month = unchecked(months[mo - 1]); + var week = unchecked(weeks[wd]); + var day = stringify(da); + var hours = stringify(this.getUTCHours()); + var mins = stringify(this.getUTCMinutes()); + var secs = stringify(this.getUTCSeconds()); + + return `${week}${day}${month}${yr < 0 ? "-" : ""}${year} ${hours}:${mins}:${secs} GMT`; } toDateString(): string { // TODO: use u64 static data instead 4 chars // also use stream itoa variants. - const weeks: StaticArray = [ - "Sun ", "Mon ", "Tue ", "Wed ", "Thu ", "Fri ", "Sat " - ]; - - const months: StaticArray = [ - "Jan ", "Feb ", "Mar ", "Apr ", "May ", "Jun ", - "Jul ", "Aug ", "Sep ", "Oct ", "Nov ", "Dec " - ]; + const + weeks: StaticArray = [ + "Sun ", "Mon ", "Tue ", "Wed ", "Thu ", "Fri ", "Sat " + ], + months: StaticArray = [ + "Jan ", "Feb ", "Mar ", "Apr ", "May ", "Jun ", + "Jul ", "Aug ", "Sep ", "Oct ", "Nov ", "Dec " + ]; var mo = this.month; var da = this.day; var yr = this.year; var wd = dayOfWeek(yr, mo, da); - var year = abs(yr).toString().padStart(4, "0"); - if (yr < 0) year = "-" + year; - - return ( - unchecked(weeks[wd]) + - unchecked(months[mo - 1]) + - da.toString().padStart(2, "0") + - " " + year - ); + var year = stringify(abs(yr), 4); + var month = unchecked(months[mo - 1]); + var week = unchecked(weeks[wd]); + var day = stringify(da); + + return `${week}${month}${day}${yr < 0 ? " -" : " "}${year}`; } // Note: it uses UTC time instead local time (without timezone offset) toTimeString(): string { + var hours = stringify(this.getUTCHours()); + var mins = stringify(this.getUTCMinutes()); + var secs = stringify(this.getUTCSeconds()); // TODO: add timezone - return ( - this.getUTCHours().toString().padStart(2, "0") + - ":" + - this.getUTCMinutes().toString().padStart(2, "0") + - ":" + - this.getUTCSeconds().toString().padStart(2, "0") - ); + return `${hours}:${mins}:${secs}`; } // Note: it uses UTC datetime instead local datetime (without timezone offset) toString(): string { - return this.toDateString() + " " + this.toTimeString(); + return `${this.toDateString()} ${this.toTimeString()}`; } } @@ -301,7 +274,7 @@ function epochMillis( milliseconds: i32 ): i64 { return ( - i64(daysSinceEpoch(year, month, day)) * MILLIS_PER_DAY + + daysSinceEpoch(year, month, day) * MILLIS_PER_DAY + hour * MILLIS_PER_HOUR + minute * MILLIS_PER_MINUTE + second * MILLIS_PER_SECOND + @@ -343,13 +316,13 @@ function dateFromEpoch(ms: i64): i32 { } // http://howardhinnant.github.io/date_algorithms.html#days_from_civil -function daysSinceEpoch(y: i32, m: i32, d: i32): i32 { +function daysSinceEpoch(y: i32, m: i32, d: i32): i64 { y -= i32(m <= 2); var era = floorDiv(y, YEARS_PER_EPOCH); var yoe = y - era * YEARS_PER_EPOCH; // [0, 399] var doy = (153 * (m + (m > 2 ? -3 : 9)) + 2) / 5 + d - 1; // [0, 365] var doe = yoe * 365 + yoe / 4 - yoe / 100 + doy; // [0, 146096] - return era * 146097 + doe - EPOCH_OFFSET; + return (era * 146097 + doe - EPOCH_OFFSET); } // TomohikoSakamoto algorithm from https://en.wikipedia.org/wiki/Determination_of_the_day_of_the_week @@ -361,3 +334,11 @@ function dayOfWeek(year: i32, month: i32, day: i32): i32 { month = load(tab + month - 1); return euclidRem(year + month + day, 7); } + +function stringify(value: i32, padding: i32 = 2): string { + return value.toString().padStart(padding, "0"); +} + +function join(year: i32, month: i32, day: i32, ms: i64): i64 { + return daysSinceEpoch(year, month, day) * MILLIS_PER_DAY + euclidRem(ms, MILLIS_PER_DAY); +} diff --git a/tests/compiler/std/date.debug.wat b/tests/compiler/std/date.debug.wat index 60790f24a4..d23919b2f7 100644 --- a/tests/compiler/std/date.debug.wat +++ b/tests/compiler/std/date.debug.wat @@ -2,16 +2,18 @@ (type $i32_i32_=>_none (func (param i32 i32))) (type $i32_=>_i32 (func (param i32) (result i32))) (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) (type $i32_=>_none (func (param i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) (type $none_=>_none (func)) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) (type $i64_=>_i32 (func (param i64) (result i32))) + (type $i32_i32_i32_=>_i64 (func (param i32 i32 i32) (result i64))) (type $i32_i32_i32_i32_i32_i32_i32_=>_i64 (func (param i32 i32 i32 i32 i32 i32 i32) (result i64))) (type $none_=>_i32 (func (result i32))) (type $i32_i64_=>_none (func (param i32 i64))) (type $i32_i64_=>_i64 (func (param i32 i64) (result i64))) + (type $i32_i32_i32_i64_=>_i64 (func (param i32 i32 i32 i64) (result i64))) (type $i32_i64_i32_=>_none (func (param i32 i64 i32))) (type $i64_i32_=>_i32 (func (param i64 i32) (result i32))) (type $i32_i64_i32_i32_=>_none (func (param i32 i64 i32 i32))) @@ -39,10 +41,10 @@ (global $~lib/native/ASC_SHRINK_LEVEL i32 (i32.const 0)) (global $~lib/builtins/i32.MAX_VALUE i32 (i32.const 2147483647)) (global $~lib/native/ASC_RUNTIME i32 (i32.const 2)) - (global $~lib/rt/__rtti_base i32 (i32.const 6480)) - (global $~lib/memory/__data_end i32 (i32.const 6540)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 22924)) - (global $~lib/memory/__heap_base i32 (i32.const 22924)) + (global $~lib/rt/__rtti_base i32 (i32.const 6800)) + (global $~lib/memory/__data_end i32 (i32.const 6860)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 23244)) + (global $~lib/memory/__heap_base i32 (i32.const 23244)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00D\00a\00t\00e\00\00\00\00\00") @@ -70,91 +72,96 @@ (data (i32.const 2476) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00:\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 2508) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00.\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 2540) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00Z\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2572) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\000\00\00\000\000\000\000\00-\000\001\00-\000\001\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2652) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\006\00\00\00-\000\000\000\000\000\001\00-\001\002\00-\003\001\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z\00\00\00\00\00\00\00") - (data (i32.const 2732) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\000\00\00\000\000\000\001\00-\000\004\00-\000\007\00T\002\003\00:\000\006\00:\004\000\00.\000\000\000\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2812) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\000\00\00\002\000\000\009\00-\000\001\00-\000\006\00T\000\008\00:\004\000\00:\003\001\00.\000\002\000\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2892) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\000\00\00\002\000\000\009\00-\000\001\00-\000\006\00T\000\008\00:\004\000\00:\003\001\00.\004\005\006\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2972) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\006\00\00\00+\000\001\002\001\008\004\00-\000\004\00-\000\008\00T\001\003\00:\000\007\00:\001\001\00.\000\002\000\00Z\00\00\00\00\00\00\00") - (data (i32.const 3052) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\000\00\00\009\009\009\009\00-\001\002\00-\003\001\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3132) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\006\00\00\00+\000\001\000\000\000\000\00-\000\001\00-\000\001\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z\00\00\00\00\00\00\00") - (data (i32.const 3212) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\006\00\00\00-\000\000\000\000\002\002\00-\000\006\00-\001\006\00T\001\007\00:\001\003\00:\005\000\00.\007\007\004\00Z\00\00\00\00\00\00\00") - (data (i32.const 3292) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00S\00u\00n\00 \00\00\00\00\00") - (data (i32.const 3324) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00M\00o\00n\00 \00\00\00\00\00") - (data (i32.const 3356) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00T\00u\00e\00 \00\00\00\00\00") - (data (i32.const 3388) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00W\00e\00d\00 \00\00\00\00\00") - (data (i32.const 3420) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00T\00h\00u\00 \00\00\00\00\00") - (data (i32.const 3452) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00F\00r\00i\00 \00\00\00\00\00") - (data (i32.const 3484) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00S\00a\00t\00 \00\00\00\00\00") - (data (i32.const 3516) ",\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\1c\00\00\00\f0\0c\00\00\10\0d\00\000\0d\00\00P\0d\00\00p\0d\00\00\90\0d\00\00\b0\0d\00\00") - (data (i32.const 3564) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00J\00a\00n\00 \00\00\00\00\00") - (data (i32.const 3596) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00F\00e\00b\00 \00\00\00\00\00") - (data (i32.const 3628) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00M\00a\00r\00 \00\00\00\00\00") - (data (i32.const 3660) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00A\00p\00r\00 \00\00\00\00\00") - (data (i32.const 3692) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00M\00a\00y\00 \00\00\00\00\00") - (data (i32.const 3724) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00J\00u\00n\00 \00\00\00\00\00") - (data (i32.const 3756) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00J\00u\00l\00 \00\00\00\00\00") - (data (i32.const 3788) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00A\00u\00g\00 \00\00\00\00\00") - (data (i32.const 3820) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00S\00e\00p\00 \00\00\00\00\00") - (data (i32.const 3852) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00O\00c\00t\00 \00\00\00\00\00") - (data (i32.const 3884) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00N\00o\00v\00 \00\00\00\00\00") - (data (i32.const 3916) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00D\00e\00c\00 \00\00\00\00\00") - (data (i32.const 3948) "L\00\00\00\00\00\00\00\00\00\00\00\04\00\00\000\00\00\00\00\0e\00\00 \0e\00\00@\0e\00\00`\0e\00\00\80\0e\00\00\a0\0e\00\00\c0\0e\00\00\e0\0e\00\00\00\0f\00\00 \0f\00\00@\0f\00\00`\0f\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4028) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00 \00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4060) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00W\00e\00d\00 \00J\00a\00n\00 \000\001\00 \000\000\002\000\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4124) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00S\00u\00n\00 \00F\00e\00b\00 \000\002\00 \002\000\002\000\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4188) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00T\00h\00u\00 \00J\00u\00l\00 \000\001\00 \00-\000\000\000\001\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4252) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\000\000\00:\000\000\00:\000\000\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4300) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\002\003\00:\005\009\00:\005\009\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4348) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00S\00u\00n\00,\00 \00\00\00") - (data (i32.const 4380) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00M\00o\00n\00,\00 \00\00\00") - (data (i32.const 4412) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00T\00u\00e\00,\00 \00\00\00") - (data (i32.const 4444) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00W\00e\00d\00,\00 \00\00\00") - (data (i32.const 4476) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00T\00h\00u\00,\00 \00\00\00") - (data (i32.const 4508) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00F\00r\00i\00,\00 \00\00\00") - (data (i32.const 4540) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00S\00a\00t\00,\00 \00\00\00") - (data (i32.const 4572) ",\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\1c\00\00\00\10\11\00\000\11\00\00P\11\00\00p\11\00\00\90\11\00\00\b0\11\00\00\d0\11\00\00") - (data (i32.const 4620) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00J\00a\00n\00 \00\00\00") - (data (i32.const 4652) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00F\00e\00b\00 \00\00\00") - (data (i32.const 4684) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00M\00a\00r\00 \00\00\00") - (data (i32.const 4716) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00A\00p\00r\00 \00\00\00") - (data (i32.const 4748) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00M\00a\00y\00 \00\00\00") - (data (i32.const 4780) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00J\00u\00n\00 \00\00\00") - (data (i32.const 4812) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00J\00u\00l\00 \00\00\00") - (data (i32.const 4844) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00A\00u\00g\00 \00\00\00") - (data (i32.const 4876) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00S\00e\00p\00 \00\00\00") - (data (i32.const 4908) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00O\00c\00t\00 \00\00\00") - (data (i32.const 4940) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00N\00o\00v\00 \00\00\00") - (data (i32.const 4972) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00D\00e\00c\00 \00\00\00") - (data (i32.const 5004) "L\00\00\00\00\00\00\00\00\00\00\00\04\00\00\000\00\00\00 \12\00\00@\12\00\00`\12\00\00\80\12\00\00\a0\12\00\00\c0\12\00\00\e0\12\00\00\00\13\00\00 \13\00\00@\13\00\00`\13\00\00\80\13\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5084) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00 \00G\00M\00T\00\00\00\00\00") - (data (i32.const 5116) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00:\00\00\00W\00e\00d\00,\00 \000\001\00 \00J\00a\00n\00 \000\000\002\000\00 \000\000\00:\000\000\00:\000\000\00 \00G\00M\00T\00\00\00") - (data (i32.const 5196) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00:\00\00\00M\00o\00n\00,\00 \000\003\00 \00F\00e\00b\00 \002\000\002\000\00 \001\004\00:\005\003\00:\003\003\00 \00G\00M\00T\00\00\00") - (data (i32.const 5276) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00<\00\00\00T\00h\00u\00,\00 \000\001\00 \00J\00u\00l\00 \00-\000\000\000\001\00 \000\000\00:\000\000\00:\000\000\00 \00G\00M\00T\00") - (data (i32.const 5356) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\001\009\007\006\00-\000\002\00-\000\002\00\00\00\00\00\00\00\00\00") - (data (i32.const 5404) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 5452) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 5500) "|\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5628) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\001\009\007\006\00-\002\00-\002\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5676) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\002\003\004\005\00-\001\001\00-\000\004\00\00\00\00\00\00\00\00\00") - (data (i32.const 5724) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00&\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00\00\00\00\00\00\00") - (data (i32.const 5788) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00.\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5868) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\000\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5948) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\000\000\000\000\00\00\00\00\00") - (data (i32.const 5980) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\000\000\000\001\00\00\00\00\00") - (data (i32.const 6012) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\001\009\007\006\00\00\00\00\00") - (data (i32.const 6044) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\001\009\007\006\00-\000\002\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6092) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6156) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\006\00\00\00-\002\007\001\008\002\001\00-\000\004\00-\002\000\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z\00\00\00\00\00\00\00") - (data (i32.const 6236) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\006\00\00\00+\002\007\005\007\006\000\00-\000\009\00-\001\003\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z\00\00\00\00\00\00\00") - (data (i32.const 6316) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\006\00\00\00+\002\007\005\007\006\000\00-\000\009\00-\001\002\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z\00\00\00\00\00\00\00") - (data (i32.const 6396) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\006\00\00\00-\002\007\001\008\002\001\00-\000\004\00-\002\000\00T\000\000\00:\000\000\00:\000\000\00.\000\000\001\00Z\00\00\00\00\00\00\00") - (data (i32.const 6480) "\07\00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00 \00\00\00\00\00\00\00\04A\00\00\00\00\00\00\02A\00\00\00\00\00\00\02\t\00\00\00\00\00\00") + (data (i32.const 2572) "L\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00<\00\00\00\80\t\00\00\00\00\00\00P\02\00\00\00\00\00\00P\02\00\00\00\00\00\00\a0\t\00\00\00\00\00\00\c0\t\00\00\00\00\00\00\c0\t\00\00\00\00\00\00\e0\t\00\00\00\00\00\00\00\n\00\00") + (data (i32.const 2652) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\000\00\00\000\000\000\000\00-\000\001\00-\000\001\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2732) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\006\00\00\00-\000\000\000\000\000\001\00-\001\002\00-\003\001\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z\00\00\00\00\00\00\00") + (data (i32.const 2812) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\000\00\00\000\000\000\001\00-\000\004\00-\000\007\00T\002\003\00:\000\006\00:\004\000\00.\000\000\000\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2892) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\000\00\00\002\000\000\009\00-\000\001\00-\000\006\00T\000\008\00:\004\000\00:\003\001\00.\000\002\000\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2972) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\000\00\00\002\000\000\009\00-\000\001\00-\000\006\00T\000\008\00:\004\000\00:\003\001\00.\004\005\006\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3052) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\006\00\00\00+\000\001\002\001\008\004\00-\000\004\00-\000\008\00T\001\003\00:\000\007\00:\001\001\00.\000\002\000\00Z\00\00\00\00\00\00\00") + (data (i32.const 3132) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\000\00\00\009\009\009\009\00-\001\002\00-\003\001\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3212) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\006\00\00\00+\000\001\000\000\000\000\00-\000\001\00-\000\001\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z\00\00\00\00\00\00\00") + (data (i32.const 3292) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\006\00\00\00-\000\000\000\000\002\002\00-\000\006\00-\001\006\00T\001\007\00:\001\003\00:\005\000\00.\007\007\004\00Z\00\00\00\00\00\00\00") + (data (i32.const 3372) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00S\00u\00n\00 \00\00\00\00\00") + (data (i32.const 3404) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00M\00o\00n\00 \00\00\00\00\00") + (data (i32.const 3436) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00T\00u\00e\00 \00\00\00\00\00") + (data (i32.const 3468) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00W\00e\00d\00 \00\00\00\00\00") + (data (i32.const 3500) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00T\00h\00u\00 \00\00\00\00\00") + (data (i32.const 3532) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00F\00r\00i\00 \00\00\00\00\00") + (data (i32.const 3564) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00S\00a\00t\00 \00\00\00\00\00") + (data (i32.const 3596) ",\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\1c\00\00\00@\0d\00\00`\0d\00\00\80\0d\00\00\a0\0d\00\00\c0\0d\00\00\e0\0d\00\00\00\0e\00\00") + (data (i32.const 3644) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00J\00a\00n\00 \00\00\00\00\00") + (data (i32.const 3676) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00F\00e\00b\00 \00\00\00\00\00") + (data (i32.const 3708) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00M\00a\00r\00 \00\00\00\00\00") + (data (i32.const 3740) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00A\00p\00r\00 \00\00\00\00\00") + (data (i32.const 3772) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00M\00a\00y\00 \00\00\00\00\00") + (data (i32.const 3804) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00J\00u\00n\00 \00\00\00\00\00") + (data (i32.const 3836) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00J\00u\00l\00 \00\00\00\00\00") + (data (i32.const 3868) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00A\00u\00g\00 \00\00\00\00\00") + (data (i32.const 3900) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00S\00e\00p\00 \00\00\00\00\00") + (data (i32.const 3932) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00O\00c\00t\00 \00\00\00\00\00") + (data (i32.const 3964) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00N\00o\00v\00 \00\00\00\00\00") + (data (i32.const 3996) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00D\00e\00c\00 \00\00\00\00\00") + (data (i32.const 4028) "L\00\00\00\00\00\00\00\00\00\00\00\04\00\00\000\00\00\00P\0e\00\00p\0e\00\00\90\0e\00\00\b0\0e\00\00\d0\0e\00\00\f0\0e\00\00\10\0f\00\000\0f\00\00P\0f\00\00p\0f\00\00\90\0f\00\00\b0\0f\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4108) "<\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00,\00\00\00\80\t\00\00\00\00\00\00\80\t\00\00\00\00\00\00\80\t\00\00\00\00\00\00\80\t\00\00\00\00\00\00\80\t\00\00\00\00\00\00\80\t\00\00") + (data (i32.const 4172) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00 \00-\00\00\00\00\00\00\00\00\00") + (data (i32.const 4204) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00 \00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4236) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00W\00e\00d\00 \00J\00a\00n\00 \000\001\00 \000\000\002\000\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4300) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00S\00u\00n\00 \00F\00e\00b\00 \000\002\00 \002\000\002\000\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4364) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00T\00h\00u\00 \00J\00u\00l\00 \000\001\00 \00-\000\000\000\001\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4428) ",\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\1c\00\00\00\80\t\00\00\00\00\00\00\c0\t\00\00\00\00\00\00\c0\t\00\00\00\00\00\00\80\t\00\00") + (data (i32.const 4476) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\000\000\00:\000\000\00:\000\000\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4524) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\002\003\00:\005\009\00:\005\009\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4572) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00S\00u\00n\00,\00 \00\00\00") + (data (i32.const 4604) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00M\00o\00n\00,\00 \00\00\00") + (data (i32.const 4636) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00T\00u\00e\00,\00 \00\00\00") + (data (i32.const 4668) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00W\00e\00d\00,\00 \00\00\00") + (data (i32.const 4700) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00T\00h\00u\00,\00 \00\00\00") + (data (i32.const 4732) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00F\00r\00i\00,\00 \00\00\00") + (data (i32.const 4764) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00S\00a\00t\00,\00 \00\00\00") + (data (i32.const 4796) ",\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\1c\00\00\00\f0\11\00\00\10\12\00\000\12\00\00P\12\00\00p\12\00\00\90\12\00\00\b0\12\00\00") + (data (i32.const 4844) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00J\00a\00n\00 \00\00\00") + (data (i32.const 4876) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00F\00e\00b\00 \00\00\00") + (data (i32.const 4908) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00M\00a\00r\00 \00\00\00") + (data (i32.const 4940) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00A\00p\00r\00 \00\00\00") + (data (i32.const 4972) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00M\00a\00y\00 \00\00\00") + (data (i32.const 5004) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00J\00u\00n\00 \00\00\00") + (data (i32.const 5036) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00J\00u\00l\00 \00\00\00") + (data (i32.const 5068) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00A\00u\00g\00 \00\00\00") + (data (i32.const 5100) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00S\00e\00p\00 \00\00\00") + (data (i32.const 5132) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00O\00c\00t\00 \00\00\00") + (data (i32.const 5164) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00N\00o\00v\00 \00\00\00") + (data (i32.const 5196) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00D\00e\00c\00 \00\00\00") + (data (i32.const 5228) "L\00\00\00\00\00\00\00\00\00\00\00\04\00\00\000\00\00\00\00\13\00\00 \13\00\00@\13\00\00`\13\00\00\80\13\00\00\a0\13\00\00\c0\13\00\00\e0\13\00\00\00\14\00\00 \14\00\00@\14\00\00`\14\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5308) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00 \00G\00M\00T\00\00\00\00\00") + (data (i32.const 5340) "\\\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00D\00\00\00\80\t\00\00\00\00\00\00\80\t\00\00\00\00\00\00\80\t\00\00\00\00\00\00\80\t\00\00\00\00\00\00\80\t\00\00\00\00\00\00\80\10\00\00\00\00\00\00\c0\t\00\00\00\00\00\00\c0\t\00\00\00\00\00\00\d0\14\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5436) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00:\00\00\00W\00e\00d\00,\00 \000\001\00 \00J\00a\00n\00 \000\000\002\000\00 \000\000\00:\000\000\00:\000\000\00 \00G\00M\00T\00\00\00") + (data (i32.const 5516) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00:\00\00\00M\00o\00n\00,\00 \000\003\00 \00F\00e\00b\00 \002\000\002\000\00 \001\004\00:\005\003\00:\003\003\00 \00G\00M\00T\00\00\00") + (data (i32.const 5596) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00<\00\00\00T\00h\00u\00,\00 \000\001\00 \00J\00u\00l\00 \00-\000\000\000\001\00 \000\000\00:\000\000\00:\000\000\00 \00G\00M\00T\00") + (data (i32.const 5676) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\001\009\007\006\00-\000\002\00-\000\002\00\00\00\00\00\00\00\00\00") + (data (i32.const 5724) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data (i32.const 5772) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data (i32.const 5820) "|\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5948) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\001\009\007\006\00-\002\00-\002\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5996) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\002\003\004\005\00-\001\001\00-\000\004\00\00\00\00\00\00\00\00\00") + (data (i32.const 6044) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00&\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00\00\00\00\00\00\00") + (data (i32.const 6108) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00.\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6188) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\000\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6268) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\000\000\000\000\00\00\00\00\00") + (data (i32.const 6300) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\000\000\000\001\00\00\00\00\00") + (data (i32.const 6332) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\001\009\007\006\00\00\00\00\00") + (data (i32.const 6364) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\001\009\007\006\00-\000\002\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6412) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6476) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\006\00\00\00-\002\007\001\008\002\001\00-\000\004\00-\002\000\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z\00\00\00\00\00\00\00") + (data (i32.const 6556) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\006\00\00\00+\002\007\005\007\006\000\00-\000\009\00-\001\003\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z\00\00\00\00\00\00\00") + (data (i32.const 6636) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\006\00\00\00+\002\007\005\007\006\000\00-\000\009\00-\001\002\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z\00\00\00\00\00\00\00") + (data (i32.const 6716) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\006\00\00\00-\002\007\001\008\002\001\00-\000\004\00-\002\000\00T\000\000\00:\000\000\00:\000\000\00.\000\000\001\00Z\00\00\00\00\00\00\00") + (data (i32.const 6800) "\07\00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00 \00\00\00\00\00\00\00\04A\00\00\00\00\00\00\02A\00\00\00\00\00\00\02\t\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) (export "_start" (func $~start)) - (func $~lib/date/daysSinceEpoch (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/date/daysSinceEpoch (param $0 i32) (param $1 i32) (param $2 i32) (result i64) (local $3 i32) (local $4 i32) (local $5 i32) @@ -234,13 +241,13 @@ i32.add i32.const 719468 i32.sub + i64.extend_i32_s ) (func $~lib/date/epochMillis (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (result i64) local.get $0 local.get $1 local.get $2 call $~lib/date/daysSinceEpoch - i64.extend_i32_s i32.const 86400000 i64.extend_i32_s i64.mul @@ -2683,60 +2690,59 @@ call $~lib/date/Date#setTime drop ) - (func $~lib/date/Date#setUTCDate (param $0 i32) (param $1 i32) - (local $2 i64) - (local $3 i64) + (func $~lib/date/join (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i64) (result i64) (local $4 i64) (local $5 i64) + (local $6 i64) local.get $0 - i32.load offset=8 local.get $1 - i32.eq - if - return - end - local.get $0 - i64.load offset=16 - local.set $3 + local.get $2 + call $~lib/date/daysSinceEpoch i32.const 86400000 i64.extend_i32_s - local.set $2 + i64.mul local.get $3 - local.get $2 - i64.rem_s + local.set $5 + i32.const 86400000 + i64.extend_i32_s local.set $4 + local.get $5 local.get $4 - local.get $4 + i64.rem_s + local.set $6 + local.get $6 + local.get $6 i64.const 0 i64.lt_s if (result i64) - local.get $2 + local.get $4 else i64.const 0 end i64.add - local.set $5 + i64.add + ) + (func $~lib/date/Date#setUTCDate (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=8 + local.get $1 + i32.eq + if + return + end local.get $0 local.get $0 i32.load local.get $0 i32.load offset=4 local.get $1 - call $~lib/date/daysSinceEpoch - i64.extend_i32_s - i32.const 86400000 - i64.extend_i32_s - i64.mul - local.get $5 - i64.add + local.get $0 + i64.load offset=16 + call $~lib/date/join call $~lib/date/Date#setTime drop ) (func $~lib/date/Date#setUTCMonth (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i64) - (local $4 i64) - (local $5 i64) - (local $6 i64) local.get $0 i32.load offset=4 local.get $1 @@ -2747,40 +2753,15 @@ return end local.get $0 - i64.load offset=16 - local.set $4 - i32.const 86400000 - i64.extend_i32_s - local.set $3 - local.get $4 - local.get $3 - i64.rem_s - local.set $5 - local.get $5 - local.get $5 - i64.const 0 - i64.lt_s - if (result i64) - local.get $3 - else - i64.const 0 - end - i64.add - local.set $6 - local.get $0 local.get $0 i32.load local.get $1 i32.const 1 i32.add local.get $2 - call $~lib/date/daysSinceEpoch - i64.extend_i32_s - i32.const 86400000 - i64.extend_i32_s - i64.mul - local.get $6 - i64.add + local.get $0 + i64.load offset=16 + call $~lib/date/join call $~lib/date/Date#setTime drop ) @@ -2805,10 +2786,6 @@ call $~lib/date/Date#setUTCMonth ) (func $~lib/date/Date#setUTCFullYear (param $0 i32) (param $1 i32) - (local $2 i64) - (local $3 i64) - (local $4 i64) - (local $5 i64) local.get $0 i32.load local.get $1 @@ -2817,39 +2794,14 @@ return end local.get $0 - i64.load offset=16 - local.set $3 - i32.const 86400000 - i64.extend_i32_s - local.set $2 - local.get $3 - local.get $2 - i64.rem_s - local.set $4 - local.get $4 - local.get $4 - i64.const 0 - i64.lt_s - if (result i64) - local.get $2 - else - i64.const 0 - end - i64.add - local.set $5 - local.get $0 local.get $1 local.get $0 i32.load offset=4 local.get $0 i32.load offset=8 - call $~lib/date/daysSinceEpoch - i64.extend_i32_s - i32.const 86400000 - i64.extend_i32_s - i64.mul - local.get $5 - i64.add + local.get $0 + i64.load offset=16 + call $~lib/date/join call $~lib/date/Date#setTime drop ) @@ -3413,6 +3365,117 @@ local.get $1 call $~lib/string/String#concat ) + (func $~lib/rt/itcms/__link (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $1 + i32.eqz + if + return + end + i32.const 1 + drop + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 240 + i32.const 294 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 20 + i32.sub + local.set $3 + local.get $3 + call $~lib/rt/itcms/Object#get:color + global.get $~lib/rt/itcms/white + i32.eq + if + local.get $0 + i32.const 20 + i32.sub + local.set $4 + local.get $4 + call $~lib/rt/itcms/Object#get:color + local.set $5 + local.get $5 + global.get $~lib/rt/itcms/white + i32.eqz + i32.eq + if + local.get $2 + if + local.get $4 + call $~lib/rt/itcms/Object#makeGray + else + local.get $3 + call $~lib/rt/itcms/Object#makeGray + end + else + local.get $5 + i32.const 3 + i32.eq + if (result i32) + global.get $~lib/rt/itcms/state + i32.const 1 + i32.eq + else + i32.const 0 + end + if + local.get $3 + call $~lib/rt/itcms/Object#makeGray + end + end + end + ) + (func $~lib/staticarray/StaticArray<~lib/string/String>#__uset (param $0 i32) (param $1 i32) (param $2 i32) + local.get $0 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $2 + i32.store + i32.const 1 + drop + local.get $0 + local.get $2 + i32.const 1 + call $~lib/rt/itcms/__link + ) + (func $~lib/staticarray/StaticArray<~lib/string/String>#get:length (param $0 i32) (result i32) + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 2 + i32.shr_u + ) + (func $~lib/staticarray/StaticArray<~lib/string/String>#join (param $0 i32) (param $1 i32) (result i32) + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + i32.const 1 + i32.lt_s + drop + i32.const 1 + drop + local.get $0 + local.get $0 + call $~lib/staticarray/StaticArray<~lib/string/String>#get:length + local.get $1 + call $~lib/util/string/joinStringArray + return + ) (func $~lib/util/string/compareImpl (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) (local $5 i32) (local $6 i32) @@ -3654,83 +3717,15 @@ end i32.const -1 ) - (func $~lib/rt/itcms/__link (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) + (func $~lib/array/Array<~lib/string/String>#__uset (param $0 i32) (param $1 i32) (param $2 i32) + local.get $0 + i32.load offset=4 local.get $1 - i32.eqz - if - return - end - i32.const 1 - drop - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 240 - i32.const 294 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 20 - i32.sub - local.set $3 - local.get $3 - call $~lib/rt/itcms/Object#get:color - global.get $~lib/rt/itcms/white - i32.eq - if - local.get $0 - i32.const 20 - i32.sub - local.set $4 - local.get $4 - call $~lib/rt/itcms/Object#get:color - local.set $5 - local.get $5 - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - local.get $2 - if - local.get $4 - call $~lib/rt/itcms/Object#makeGray - else - local.get $3 - call $~lib/rt/itcms/Object#makeGray - end - else - local.get $5 - i32.const 3 - i32.eq - if (result i32) - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - else - i32.const 0 - end - if - local.get $3 - call $~lib/rt/itcms/Object#makeGray - end - end - end - ) - (func $~lib/array/Array<~lib/string/String>#__uset (param $0 i32) (param $1 i32) (param $2 i32) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 - i32.store + i32.const 2 + i32.shl + i32.add + local.get $2 + i32.store i32.const 1 drop local.get $0 @@ -3804,8 +3799,8 @@ i32.shr_u i32.gt_u if - i32.const 5424 - i32.const 5472 + i32.const 5744 + i32.const 5792 i32.const 19 i32.const 48 call $~lib/builtins/abort @@ -4322,10 +4317,10 @@ i32.const 368 local.get $0 call $~lib/rt/itcms/__visit - i32.const 5424 + i32.const 5744 local.get $0 call $~lib/rt/itcms/__visit - i32.const 5520 + i32.const 5840 local.get $0 call $~lib/rt/itcms/__visit i32.const 176 @@ -4517,14 +4512,47 @@ global.get $~lib/memory/__data_end i32.lt_s if - i32.const 22944 - i32.const 22992 + i32.const 23264 + i32.const 23312 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end ) + (func $~lib/date/stringify (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $0 + i32.const 10 + call $~lib/number/I32#toString + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + local.get $1 + i32.const 848 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + call $~lib/string/String#padStart + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) (func $~lib/date/Date#toISOString (param $0 i32) (result i32) (local $1 i32) (local $2 i32) @@ -4532,350 +4560,216 @@ (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) global.get $~lib/memory/__stack_pointer - i32.const 112 + i32.const 36 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 112 + i32.const 36 memory.fill local.get $0 i32.load - local.set $2 - local.get $2 + local.set $1 + local.get $1 i32.const 0 i32.lt_s - local.set $3 - local.get $3 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 if (result i32) i32.const 1 else - local.get $2 + local.get $1 i32.const 10000 i32.ge_s end - if - global.get $~lib/memory/__stack_pointer - local.get $3 + if (result i32) + local.get $2 if (result i32) i32.const 592 else i32.const 624 end - local.set $6 + local.set $17 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $17 i32.store - local.get $6 - local.get $2 - local.tee $4 + local.get $17 + local.get $1 + local.tee $3 i32.const 31 i32.shr_s - local.tee $5 - local.get $4 + local.tee $4 + local.get $3 i32.add - local.get $5 + local.get $4 i32.xor - i32.const 10 - call $~lib/number/I32#toString - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=8 - local.get $6 i32.const 6 - i32.const 848 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=12 - local.get $6 - call $~lib/string/String#padStart - local.set $6 + call $~lib/date/stringify + local.set $17 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $17 i32.store offset=4 - local.get $6 + local.get $17 call $~lib/string/String.__concat - local.tee $1 - i32.store offset=16 else - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 10 - call $~lib/number/I32#toString - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 + local.get $1 i32.const 4 - i32.const 848 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=8 - local.get $6 - call $~lib/string/String#padStart - local.tee $1 - i32.store offset=16 + call $~lib/date/stringify end - local.get $1 - i32.const 592 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=100 - local.get $6 - call $~lib/string/String.__concat - local.set $6 + local.tee $5 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=92 - local.get $6 local.get $0 i32.load offset=4 - i32.const 10 - call $~lib/number/I32#toString - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=104 - local.get $6 i32.const 2 - i32.const 848 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=108 - local.get $6 - call $~lib/string/String#padStart - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=96 - local.get $6 - call $~lib/string/String.__concat - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=84 - local.get $6 - i32.const 592 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=88 - local.get $6 - call $~lib/string/String.__concat - local.set $6 + call $~lib/date/stringify + local.tee $6 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=76 - local.get $6 local.get $0 i32.load offset=8 - i32.const 10 - call $~lib/number/I32#toString - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=84 - local.get $6 i32.const 2 - i32.const 848 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=92 - local.get $6 - call $~lib/string/String#padStart - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=80 - local.get $6 - call $~lib/string/String.__concat - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=68 - local.get $6 - i32.const 2464 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=72 - local.get $6 - call $~lib/string/String.__concat - local.set $6 + call $~lib/date/stringify + local.tee $7 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=60 - local.get $6 local.get $0 call $~lib/date/Date#getUTCHours - i32.const 10 - call $~lib/number/I32#toString - local.set $6 + i32.const 2 + call $~lib/date/stringify + local.tee $8 + i32.store offset=20 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=68 - local.get $6 + local.get $0 + call $~lib/date/Date#getUTCMinutes i32.const 2 - i32.const 848 - local.set $6 + call $~lib/date/stringify + local.tee $9 + i32.store offset=24 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=76 - local.get $6 - call $~lib/string/String#padStart - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=64 - local.get $6 - call $~lib/string/String.__concat - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=52 - local.get $6 - i32.const 2496 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=56 - local.get $6 - call $~lib/string/String.__concat - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=44 - local.get $6 - local.get $0 - call $~lib/date/Date#getUTCMinutes - i32.const 10 - call $~lib/number/I32#toString - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=52 - local.get $6 - i32.const 2 - i32.const 848 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=60 - local.get $6 - call $~lib/string/String#padStart - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=48 - local.get $6 - call $~lib/string/String.__concat - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=36 - local.get $6 - i32.const 2496 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=40 - local.get $6 - call $~lib/string/String.__concat - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=28 - local.get $6 local.get $0 call $~lib/date/Date#getUTCSeconds - i32.const 10 - call $~lib/number/I32#toString - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=36 - local.get $6 i32.const 2 - i32.const 848 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=44 - local.get $6 - call $~lib/string/String#padStart - local.set $6 + call $~lib/date/stringify + local.tee $10 + i32.store offset=28 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $0 + call $~lib/date/Date#getUTCMilliseconds + i32.const 3 + call $~lib/date/stringify + local.tee $11 i32.store offset=32 + local.get $5 + local.set $3 local.get $6 - call $~lib/string/String.__concat - local.set $6 + local.set $4 + local.get $7 + local.set $12 + local.get $8 + local.set $13 + local.get $9 + local.set $14 + local.get $10 + local.set $15 + local.get $11 + local.set $16 + i32.const 2592 + local.set $17 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=12 - local.get $6 - i32.const 2528 - local.set $6 + local.get $17 + i32.store + local.get $17 + i32.const 1 + local.get $3 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 2592 + local.set $17 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=24 - local.get $6 - call $~lib/string/String.__concat - local.set $6 + local.get $17 + i32.store + local.get $17 + i32.const 3 + local.get $4 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 2592 + local.set $17 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=8 - local.get $6 - local.get $0 - call $~lib/date/Date#getUTCMilliseconds - i32.const 10 - call $~lib/number/I32#toString - local.set $6 + local.get $17 + i32.store + local.get $17 + i32.const 5 + local.get $12 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 2592 + local.set $17 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=12 - local.get $6 - i32.const 3 - i32.const 848 - local.set $6 + local.get $17 + i32.store + local.get $17 + i32.const 7 + local.get $13 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 2592 + local.set $17 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=28 - local.get $6 - call $~lib/string/String#padStart - local.set $6 + local.get $17 + i32.store + local.get $17 + i32.const 9 + local.get $14 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 2592 + local.set $17 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $~lib/string/String.__concat - local.set $6 + local.get $17 + i32.store + local.get $17 + i32.const 11 + local.get $15 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 2592 + local.set $17 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $17 i32.store - local.get $6 - i32.const 2560 - local.set $6 + local.get $17 + i32.const 13 + local.get $16 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 2592 + local.set $17 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $17 + i32.store + local.get $17 + i32.const 2432 + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 i32.store offset=4 - local.get $6 - call $~lib/string/String.__concat - local.set $6 + local.get $17 + call $~lib/staticarray/StaticArray<~lib/string/String>#join + local.set $17 global.get $~lib/memory/__stack_pointer - i32.const 112 + i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $17 ) (func $~lib/date/Date#toDateString (param $0 i32) (result i32) (local $1 i32) @@ -4888,26 +4782,32 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) global.get $~lib/memory/__stack_pointer - i32.const 44 + i32.const 36 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 44 + i32.const 36 memory.fill global.get $~lib/memory/__stack_pointer i32.const 28 i32.const 4 - i32.const 3536 + i32.const 3616 call $~lib/rt/__newBuffer local.tee $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 48 i32.const 4 - i32.const 3968 + i32.const 4048 call $~lib/rt/__newBuffer local.tee $2 i32.store offset=4 @@ -4935,225 +4835,204 @@ i32.add local.get $8 i32.xor - i32.const 10 - call $~lib/number/I32#toString - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - local.get $10 i32.const 4 - i32.const 848 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=12 - local.get $10 - call $~lib/string/String#padStart + call $~lib/date/stringify local.tee $9 - i32.store offset=16 - local.get $5 - i32.const 0 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 592 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - local.get $10 - local.get $9 - call $~lib/string/String.__concat - local.tee $9 - i32.store offset=16 - end - local.get $1 - local.get $6 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uget - local.set $10 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=32 - local.get $10 local.get $2 local.get $3 i32.const 1 i32.sub call $~lib/staticarray/StaticArray<~lib/string/String>#__uget - local.set $10 + local.tee $10 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=36 - local.get $10 - call $~lib/string/String.__concat - local.set $10 + local.get $1 + local.get $6 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uget + local.tee $11 + i32.store offset=16 global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 2 + call $~lib/date/stringify + local.tee $12 + i32.store offset=20 + local.get $11 + local.set $7 local.get $10 + local.set $8 + local.get $12 + local.set $13 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 4192 + else + i32.const 4224 + end + local.tee $14 i32.store offset=24 - local.get $10 - local.get $4 - i32.const 10 - call $~lib/number/I32#toString - local.set $10 + local.get $9 + local.set $15 + i32.const 4128 + local.set $16 global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=32 - local.get $10 - i32.const 2 - i32.const 848 - local.set $10 + local.get $16 + i32.store offset=28 + local.get $16 + i32.const 1 + local.get $7 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 4128 + local.set $16 global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=40 - local.get $10 - call $~lib/string/String#padStart - local.set $10 + local.get $16 + i32.store offset=28 + local.get $16 + i32.const 3 + local.get $8 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 4128 + local.set $16 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $16 i32.store offset=28 - local.get $10 - call $~lib/string/String.__concat - local.set $10 + local.get $16 + i32.const 5 + local.get $13 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 4128 + local.set $16 global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=20 - local.get $10 - i32.const 4048 - local.set $10 + local.get $16 + i32.store offset=28 + local.get $16 + i32.const 7 + local.get $14 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 4128 + local.set $16 global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=12 - local.get $10 - call $~lib/string/String.__concat - local.set $10 + local.get $16 + i32.store offset=28 + local.get $16 + i32.const 9 + local.get $15 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 4128 + local.set $16 global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - local.get $10 - local.get $9 - call $~lib/string/String.__concat - local.set $10 + local.get $16 + i32.store offset=28 + local.get $16 + i32.const 2432 + local.set $16 global.get $~lib/memory/__stack_pointer - i32.const 44 + local.get $16 + i32.store offset=32 + local.get $16 + call $~lib/staticarray/StaticArray<~lib/string/String>#join + local.set $16 + global.get $~lib/memory/__stack_pointer + i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 + local.get $16 ) (func $~lib/date/Date#toTimeString (param $0 i32) (result i32) (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 40 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 40 + i32.const 20 memory.fill + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/date/Date#getUTCHours - i32.const 10 - call $~lib/number/I32#toString - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=32 - local.get $1 i32.const 2 - i32.const 848 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=36 - local.get $1 - call $~lib/string/String#padStart - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=24 - local.get $1 - i32.const 2496 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=28 - local.get $1 - call $~lib/string/String.__concat - local.set $1 + call $~lib/date/stringify + local.tee $1 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=16 - local.get $1 local.get $0 call $~lib/date/Date#getUTCMinutes - i32.const 10 - call $~lib/number/I32#toString - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=24 - local.get $1 i32.const 2 - i32.const 848 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=32 - local.get $1 - call $~lib/string/String#padStart - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - local.get $1 - call $~lib/string/String.__concat - local.set $1 + call $~lib/date/stringify + local.tee $2 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 + call $~lib/date/Date#getUTCSeconds + i32.const 2 + call $~lib/date/stringify + local.tee $3 i32.store offset=8 local.get $1 - i32.const 2496 - local.set $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + local.set $6 + i32.const 4448 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=12 + local.get $7 + i32.const 1 + local.get $4 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 4448 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $7 i32.store offset=12 - local.get $1 - call $~lib/string/String.__concat - local.set $1 + local.get $7 + i32.const 3 + local.get $5 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 4448 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - local.get $0 - call $~lib/date/Date#getUTCSeconds - i32.const 10 - call $~lib/number/I32#toString - local.set $1 + local.get $7 + i32.store offset=12 + local.get $7 + i32.const 5 + local.get $6 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 4448 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 2 - i32.const 848 - local.set $1 + local.get $7 + i32.store offset=12 + local.get $7 + i32.const 2432 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $7 i32.store offset=16 - local.get $1 - call $~lib/string/String#padStart - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $~lib/string/String.__concat - local.set $1 + local.get $7 + call $~lib/staticarray/StaticArray<~lib/string/String>#join + local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 40 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $7 ) (func $~lib/date/Date#toUTCString (param $0 i32) (result i32) (local $1 i32) @@ -5166,26 +5045,38 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + (local $22 i32) global.get $~lib/memory/__stack_pointer - i32.const 96 + i32.const 48 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 96 + i32.const 48 memory.fill global.get $~lib/memory/__stack_pointer i32.const 28 i32.const 4 - i32.const 4592 + i32.const 4816 call $~lib/rt/__newBuffer local.tee $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 48 i32.const 4 - i32.const 5024 + i32.const 5248 call $~lib/rt/__newBuffer local.tee $2 i32.store offset=4 @@ -5213,230 +5104,167 @@ i32.add local.get $8 i32.xor - i32.const 10 - call $~lib/number/I32#toString - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - local.get $10 i32.const 4 - i32.const 848 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=12 - local.get $10 - call $~lib/string/String#padStart + call $~lib/date/stringify local.tee $9 - i32.store offset=16 - local.get $5 - i32.const 0 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 592 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - local.get $10 - local.get $9 - call $~lib/string/String.__concat - local.tee $9 - i32.store offset=16 - end - local.get $1 - local.get $6 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uget - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=80 - local.get $10 - local.get $4 - i32.const 10 - call $~lib/number/I32#toString - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=88 - local.get $10 - i32.const 2 - i32.const 848 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=92 - local.get $10 - call $~lib/string/String#padStart - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=84 - local.get $10 - call $~lib/string/String.__concat - local.set $10 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=72 - local.get $10 local.get $2 local.get $3 i32.const 1 i32.sub call $~lib/staticarray/StaticArray<~lib/string/String>#__uget - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=76 - local.get $10 - call $~lib/string/String.__concat - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=68 - local.get $10 - local.get $9 - call $~lib/string/String.__concat - local.set $10 + local.tee $10 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=60 - local.get $10 - i32.const 4048 - local.set $10 + local.get $1 + local.get $6 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uget + local.tee $11 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=64 - local.get $10 - call $~lib/string/String.__concat - local.set $10 + local.get $4 + i32.const 2 + call $~lib/date/stringify + local.tee $12 + i32.store offset=20 global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=52 - local.get $10 local.get $0 call $~lib/date/Date#getUTCHours - i32.const 10 - call $~lib/number/I32#toString - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=60 - local.get $10 i32.const 2 - i32.const 848 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=68 - local.get $10 - call $~lib/string/String#padStart - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=56 - local.get $10 - call $~lib/string/String.__concat - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=44 - local.get $10 - i32.const 2496 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=48 - local.get $10 - call $~lib/string/String.__concat - local.set $10 + call $~lib/date/stringify + local.tee $13 + i32.store offset=24 global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=36 - local.get $10 local.get $0 call $~lib/date/Date#getUTCMinutes - i32.const 10 - call $~lib/number/I32#toString - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=44 - local.get $10 i32.const 2 - i32.const 848 - local.set $10 + call $~lib/date/stringify + local.tee $14 + i32.store offset=28 global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/date/Date#getUTCSeconds + i32.const 2 + call $~lib/date/stringify + local.tee $15 + i32.store offset=32 + local.get $11 + local.set $7 + local.get $12 + local.set $8 local.get $10 - i32.store offset=52 - local.get $10 - call $~lib/string/String#padStart - local.set $10 + local.set $16 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 592 + else + i32.const 2432 + end + local.tee $17 + i32.store offset=36 + local.get $9 + local.set $18 + local.get $13 + local.set $19 + local.get $14 + local.set $20 + local.get $15 + local.set $21 + i32.const 5360 + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 i32.store offset=40 - local.get $10 - call $~lib/string/String.__concat - local.set $10 + local.get $22 + i32.const 1 + local.get $7 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 5360 + local.set $22 global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=28 - local.get $10 - i32.const 2496 - local.set $10 + local.get $22 + i32.store offset=40 + local.get $22 + i32.const 3 + local.get $8 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 5360 + local.set $22 global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=32 - local.get $10 - call $~lib/string/String.__concat - local.set $10 + local.get $22 + i32.store offset=40 + local.get $22 + i32.const 5 + local.get $16 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 5360 + local.set $22 global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=12 - local.get $10 - local.get $0 - call $~lib/date/Date#getUTCSeconds - i32.const 10 - call $~lib/number/I32#toString - local.set $10 + local.get $22 + i32.store offset=40 + local.get $22 + i32.const 7 + local.get $17 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 5360 + local.set $22 global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=28 - local.get $10 - i32.const 2 - i32.const 848 - local.set $10 + local.get $22 + i32.store offset=40 + local.get $22 + i32.const 9 + local.get $18 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 5360 + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 + i32.store offset=40 + local.get $22 + i32.const 11 + local.get $19 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 5360 + local.set $22 global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=36 - local.get $10 - call $~lib/string/String#padStart - local.set $10 + local.get $22 + i32.store offset=40 + local.get $22 + i32.const 13 + local.get $20 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 5360 + local.set $22 global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=24 - local.get $10 - call $~lib/string/String.__concat - local.set $10 + local.get $22 + i32.store offset=40 + local.get $22 + i32.const 15 + local.get $21 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 5360 + local.set $22 global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - local.get $10 - i32.const 5104 - local.set $10 + local.get $22 + i32.store offset=40 + local.get $22 + i32.const 2432 + local.set $22 global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=20 - local.get $10 - call $~lib/string/String.__concat - local.set $10 + local.get $22 + i32.store offset=44 + local.get $22 + call $~lib/staticarray/StaticArray<~lib/string/String>#join + local.set $22 global.get $~lib/memory/__stack_pointer - i32.const 96 + i32.const 48 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 + local.get $22 ) (func $~lib/string/String#split (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -8086,7 +7914,7 @@ local.get $8 i32.store offset=28 local.get $8 - i32.const 2592 + i32.const 2672 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -8117,7 +7945,7 @@ local.get $8 i32.store offset=28 local.get $8 - i32.const 2672 + i32.const 2752 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -8146,7 +7974,7 @@ local.get $8 i32.store offset=28 local.get $8 - i32.const 2752 + i32.const 2832 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -8175,7 +8003,7 @@ local.get $8 i32.store offset=28 local.get $8 - i32.const 2832 + i32.const 2912 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -8204,7 +8032,7 @@ local.get $8 i32.store offset=28 local.get $8 - i32.const 2912 + i32.const 2992 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -8233,7 +8061,7 @@ local.get $8 i32.store offset=28 local.get $8 - i32.const 2992 + i32.const 3072 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -8262,7 +8090,7 @@ local.get $8 i32.store offset=28 local.get $8 - i32.const 3072 + i32.const 3152 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -8291,7 +8119,7 @@ local.get $8 i32.store offset=28 local.get $8 - i32.const 3152 + i32.const 3232 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -8320,7 +8148,7 @@ local.get $8 i32.store offset=28 local.get $8 - i32.const 3232 + i32.const 3312 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -8349,7 +8177,7 @@ local.get $8 i32.store offset=28 local.get $8 - i32.const 4080 + i32.const 4256 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -8378,7 +8206,7 @@ local.get $8 i32.store offset=28 local.get $8 - i32.const 4144 + i32.const 4320 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -8407,7 +8235,7 @@ local.get $8 i32.store offset=28 local.get $8 - i32.const 4208 + i32.const 4384 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -8436,7 +8264,7 @@ local.get $8 i32.store offset=28 local.get $8 - i32.const 4272 + i32.const 4496 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -8465,7 +8293,7 @@ local.get $8 i32.store offset=28 local.get $8 - i32.const 4320 + i32.const 4544 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -8494,7 +8322,7 @@ local.get $8 i32.store offset=28 local.get $8 - i32.const 5136 + i32.const 5456 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -8523,7 +8351,7 @@ local.get $8 i32.store offset=28 local.get $8 - i32.const 5216 + i32.const 5536 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -8552,7 +8380,7 @@ local.get $8 i32.store offset=28 local.get $8 - i32.const 5296 + i32.const 5616 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -8569,7 +8397,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 5376 + i32.const 5696 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -8594,7 +8422,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 5648 + i32.const 5968 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -8619,7 +8447,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 5696 + i32.const 6016 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -8644,7 +8472,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 5744 + i32.const 6064 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -8669,7 +8497,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 5808 + i32.const 6128 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -8694,7 +8522,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 5888 + i32.const 6208 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -8719,7 +8547,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 5968 + i32.const 6288 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -8744,7 +8572,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 6000 + i32.const 6320 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -8769,7 +8597,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 6032 + i32.const 6352 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -8794,7 +8622,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 6064 + i32.const 6384 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -8819,7 +8647,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 5376 + i32.const 5696 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -8844,7 +8672,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 6112 + i32.const 6432 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -8869,7 +8697,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 5744 + i32.const 6064 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -9036,7 +8864,7 @@ local.get $8 i32.store offset=28 local.get $8 - i32.const 6176 + i32.const 6496 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -9059,7 +8887,7 @@ local.get $8 i32.store offset=28 local.get $8 - i32.const 6256 + i32.const 6576 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -9197,7 +9025,7 @@ local.get $8 i32.store offset=28 local.get $8 - i32.const 6336 + i32.const 6656 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -9220,7 +9048,7 @@ local.get $8 i32.store offset=28 local.get $8 - i32.const 6416 + i32.const 6736 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 @@ -9651,6 +9479,218 @@ global.set $~lib/memory/__stack_pointer local.get $6 ) + (func $~lib/util/string/joinStringArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 1 + i32.sub + local.set $3 + local.get $3 + i32.const 0 + i32.lt_s + if + i32.const 2432 + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + return + end + local.get $3 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load + local.tee $4 + i32.store + local.get $4 + if (result i32) + local.get $4 + else + i32.const 2432 + end + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + return + end + i32.const 0 + local.set $5 + i32.const 0 + local.set $4 + loop $for-loop|0 + local.get $4 + local.get $1 + i32.lt_s + local.set $7 + local.get $7 + if + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.ne + if + local.get $5 + local.get $6 + call $~lib/string/String#get:length + i32.add + local.set $5 + end + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 + end + end + i32.const 0 + local.set $8 + local.get $2 + call $~lib/string/String#get:length + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $5 + local.get $9 + local.get $3 + i32.mul + i32.add + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $10 + i32.store offset=8 + i32.const 0 + local.set $4 + loop $for-loop|1 + local.get $4 + local.get $3 + i32.lt_s + local.set $7 + local.get $7 + if + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.ne + if + local.get $6 + call $~lib/string/String#get:length + local.set $11 + local.get $10 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $6 + local.get $11 + i32.const 1 + i32.shl + memory.copy + local.get $8 + local.get $11 + i32.add + local.set $8 + end + local.get $9 + if + local.get $10 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $9 + i32.const 1 + i32.shl + memory.copy + local.get $8 + local.get $9 + i32.add + local.set $8 + end + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.ne + if + local.get $10 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $6 + local.get $6 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + memory.copy + end + local.get $10 + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + ) (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) @@ -9853,7 +9893,7 @@ i32.ge_u if i32.const 368 - i32.const 5472 + i32.const 5792 i32.const 114 i32.const 42 call $~lib/builtins/abort @@ -9877,8 +9917,8 @@ local.get $2 i32.eqz if - i32.const 5520 - i32.const 5472 + i32.const 5840 + i32.const 5792 i32.const 118 i32.const 40 call $~lib/builtins/abort diff --git a/tests/compiler/std/date.release.wat b/tests/compiler/std/date.release.wat index 75b03bab44..55673f4514 100644 --- a/tests/compiler/std/date.release.wat +++ b/tests/compiler/std/date.release.wat @@ -4,13 +4,14 @@ (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (type $none_=>_none (func)) (type $i32_=>_none (func (param i32))) - (type $i64_=>_i32 (func (param i64) (result i32))) (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) + (type $i64_=>_i32 (func (param i64) (result i32))) (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) (type $i32_i32_i32_i32_i32_i32_i32_=>_i64 (func (param i32 i32 i32 i32 i32 i32 i32) (result i64))) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) (type $none_=>_i32 (func (result i32))) (type $i32_i64_=>_none (func (param i32 i64))) + (type $i32_i32_i32_i64_=>_i64 (func (param i32 i32 i32 i64) (result i64))) (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/date/_day (mut i32) (i32.const 0)) @@ -26,7 +27,7 @@ (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~argumentsLength (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 23948)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 24268)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) (data (i32.const 1036) ",") @@ -71,166 +72,172 @@ (data (i32.const 3544) "\01\00\00\00\02\00\00\00.") (data (i32.const 3564) "\1c") (data (i32.const 3576) "\01\00\00\00\02\00\00\00Z") - (data (i32.const 3596) "L") - (data (i32.const 3608) "\01\00\00\000\00\00\000\000\000\000\00-\000\001\00-\000\001\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z") + (data (i32.const 3596) "L\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00<\00\00\00\80\0d\00\00\00\00\00\00P\06\00\00\00\00\00\00P\06\00\00\00\00\00\00\a0\0d\00\00\00\00\00\00\c0\0d\00\00\00\00\00\00\c0\0d\00\00\00\00\00\00\e0\0d\00\00\00\00\00\00\00\0e") (data (i32.const 3676) "L") - (data (i32.const 3688) "\01\00\00\006\00\00\00-\000\000\000\000\000\001\00-\001\002\00-\003\001\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z") + (data (i32.const 3688) "\01\00\00\000\00\00\000\000\000\000\00-\000\001\00-\000\001\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z") (data (i32.const 3756) "L") - (data (i32.const 3768) "\01\00\00\000\00\00\000\000\000\001\00-\000\004\00-\000\007\00T\002\003\00:\000\006\00:\004\000\00.\000\000\000\00Z") + (data (i32.const 3768) "\01\00\00\006\00\00\00-\000\000\000\000\000\001\00-\001\002\00-\003\001\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z") (data (i32.const 3836) "L") - (data (i32.const 3848) "\01\00\00\000\00\00\002\000\000\009\00-\000\001\00-\000\006\00T\000\008\00:\004\000\00:\003\001\00.\000\002\000\00Z") + (data (i32.const 3848) "\01\00\00\000\00\00\000\000\000\001\00-\000\004\00-\000\007\00T\002\003\00:\000\006\00:\004\000\00.\000\000\000\00Z") (data (i32.const 3916) "L") - (data (i32.const 3928) "\01\00\00\000\00\00\002\000\000\009\00-\000\001\00-\000\006\00T\000\008\00:\004\000\00:\003\001\00.\004\005\006\00Z") + (data (i32.const 3928) "\01\00\00\000\00\00\002\000\000\009\00-\000\001\00-\000\006\00T\000\008\00:\004\000\00:\003\001\00.\000\002\000\00Z") (data (i32.const 3996) "L") - (data (i32.const 4008) "\01\00\00\006\00\00\00+\000\001\002\001\008\004\00-\000\004\00-\000\008\00T\001\003\00:\000\007\00:\001\001\00.\000\002\000\00Z") + (data (i32.const 4008) "\01\00\00\000\00\00\002\000\000\009\00-\000\001\00-\000\006\00T\000\008\00:\004\000\00:\003\001\00.\004\005\006\00Z") (data (i32.const 4076) "L") - (data (i32.const 4088) "\01\00\00\000\00\00\009\009\009\009\00-\001\002\00-\003\001\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z") + (data (i32.const 4088) "\01\00\00\006\00\00\00+\000\001\002\001\008\004\00-\000\004\00-\000\008\00T\001\003\00:\000\007\00:\001\001\00.\000\002\000\00Z") (data (i32.const 4156) "L") - (data (i32.const 4168) "\01\00\00\006\00\00\00+\000\001\000\000\000\000\00-\000\001\00-\000\001\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z") + (data (i32.const 4168) "\01\00\00\000\00\00\009\009\009\009\00-\001\002\00-\003\001\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z") (data (i32.const 4236) "L") - (data (i32.const 4248) "\01\00\00\006\00\00\00-\000\000\000\000\002\002\00-\000\006\00-\001\006\00T\001\007\00:\001\003\00:\005\000\00.\007\007\004\00Z") - (data (i32.const 4316) "\1c") - (data (i32.const 4328) "\01\00\00\00\08\00\00\00S\00u\00n\00 ") - (data (i32.const 4348) "\1c") - (data (i32.const 4360) "\01\00\00\00\08\00\00\00M\00o\00n\00 ") - (data (i32.const 4380) "\1c") - (data (i32.const 4392) "\01\00\00\00\08\00\00\00T\00u\00e\00 ") - (data (i32.const 4412) "\1c") - (data (i32.const 4424) "\01\00\00\00\08\00\00\00W\00e\00d\00 ") - (data (i32.const 4444) "\1c") - (data (i32.const 4456) "\01\00\00\00\08\00\00\00T\00h\00u\00 ") - (data (i32.const 4476) "\1c") - (data (i32.const 4488) "\01\00\00\00\08\00\00\00F\00r\00i\00 ") - (data (i32.const 4508) "\1c") - (data (i32.const 4520) "\01\00\00\00\08\00\00\00S\00a\00t\00 ") - (data (i32.const 4540) ",") - (data (i32.const 4552) "\04\00\00\00\1c\00\00\00\f0\10\00\00\10\11\00\000\11\00\00P\11\00\00p\11\00\00\90\11\00\00\b0\11") + (data (i32.const 4248) "\01\00\00\006\00\00\00+\000\001\000\000\000\000\00-\000\001\00-\000\001\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z") + (data (i32.const 4316) "L") + (data (i32.const 4328) "\01\00\00\006\00\00\00-\000\000\000\000\002\002\00-\000\006\00-\001\006\00T\001\007\00:\001\003\00:\005\000\00.\007\007\004\00Z") + (data (i32.const 4396) "\1c") + (data (i32.const 4408) "\01\00\00\00\08\00\00\00S\00u\00n\00 ") + (data (i32.const 4428) "\1c") + (data (i32.const 4440) "\01\00\00\00\08\00\00\00M\00o\00n\00 ") + (data (i32.const 4460) "\1c") + (data (i32.const 4472) "\01\00\00\00\08\00\00\00T\00u\00e\00 ") + (data (i32.const 4492) "\1c") + (data (i32.const 4504) "\01\00\00\00\08\00\00\00W\00e\00d\00 ") + (data (i32.const 4524) "\1c") + (data (i32.const 4536) "\01\00\00\00\08\00\00\00T\00h\00u\00 ") + (data (i32.const 4556) "\1c") + (data (i32.const 4568) "\01\00\00\00\08\00\00\00F\00r\00i\00 ") (data (i32.const 4588) "\1c") - (data (i32.const 4600) "\01\00\00\00\08\00\00\00J\00a\00n\00 ") - (data (i32.const 4620) "\1c") - (data (i32.const 4632) "\01\00\00\00\08\00\00\00F\00e\00b\00 ") - (data (i32.const 4652) "\1c") - (data (i32.const 4664) "\01\00\00\00\08\00\00\00M\00a\00r\00 ") - (data (i32.const 4684) "\1c") - (data (i32.const 4696) "\01\00\00\00\08\00\00\00A\00p\00r\00 ") - (data (i32.const 4716) "\1c") - (data (i32.const 4728) "\01\00\00\00\08\00\00\00M\00a\00y\00 ") - (data (i32.const 4748) "\1c") - (data (i32.const 4760) "\01\00\00\00\08\00\00\00J\00u\00n\00 ") - (data (i32.const 4780) "\1c") - (data (i32.const 4792) "\01\00\00\00\08\00\00\00J\00u\00l\00 ") - (data (i32.const 4812) "\1c") - (data (i32.const 4824) "\01\00\00\00\08\00\00\00A\00u\00g\00 ") - (data (i32.const 4844) "\1c") - (data (i32.const 4856) "\01\00\00\00\08\00\00\00S\00e\00p\00 ") - (data (i32.const 4876) "\1c") - (data (i32.const 4888) "\01\00\00\00\08\00\00\00O\00c\00t\00 ") - (data (i32.const 4908) "\1c") - (data (i32.const 4920) "\01\00\00\00\08\00\00\00N\00o\00v\00 ") - (data (i32.const 4940) "\1c") - (data (i32.const 4952) "\01\00\00\00\08\00\00\00D\00e\00c\00 ") - (data (i32.const 4972) "L") - (data (i32.const 4984) "\04\00\00\000\00\00\00\00\12\00\00 \12\00\00@\12\00\00`\12\00\00\80\12\00\00\a0\12\00\00\c0\12\00\00\e0\12\00\00\00\13\00\00 \13\00\00@\13\00\00`\13") - (data (i32.const 5052) "\1c") - (data (i32.const 5064) "\01\00\00\00\02\00\00\00 ") - (data (i32.const 5084) "<") - (data (i32.const 5096) "\01\00\00\00\1e\00\00\00W\00e\00d\00 \00J\00a\00n\00 \000\001\00 \000\000\002\000") - (data (i32.const 5148) "<") - (data (i32.const 5160) "\01\00\00\00\1e\00\00\00S\00u\00n\00 \00F\00e\00b\00 \000\002\00 \002\000\002\000") - (data (i32.const 5212) "<") - (data (i32.const 5224) "\01\00\00\00 \00\00\00T\00h\00u\00 \00J\00u\00l\00 \000\001\00 \00-\000\000\000\001") - (data (i32.const 5276) ",") - (data (i32.const 5288) "\01\00\00\00\10\00\00\000\000\00:\000\000\00:\000\000") - (data (i32.const 5324) ",") - (data (i32.const 5336) "\01\00\00\00\10\00\00\002\003\00:\005\009\00:\005\009") - (data (i32.const 5372) "\1c") - (data (i32.const 5384) "\01\00\00\00\n\00\00\00S\00u\00n\00,\00 ") - (data (i32.const 5404) "\1c") - (data (i32.const 5416) "\01\00\00\00\n\00\00\00M\00o\00n\00,\00 ") - (data (i32.const 5436) "\1c") - (data (i32.const 5448) "\01\00\00\00\n\00\00\00T\00u\00e\00,\00 ") - (data (i32.const 5468) "\1c") - (data (i32.const 5480) "\01\00\00\00\n\00\00\00W\00e\00d\00,\00 ") - (data (i32.const 5500) "\1c") - (data (i32.const 5512) "\01\00\00\00\n\00\00\00T\00h\00u\00,\00 ") - (data (i32.const 5532) "\1c") - (data (i32.const 5544) "\01\00\00\00\n\00\00\00F\00r\00i\00,\00 ") - (data (i32.const 5564) "\1c") - (data (i32.const 5576) "\01\00\00\00\n\00\00\00S\00a\00t\00,\00 ") - (data (i32.const 5596) ",") - (data (i32.const 5608) "\04\00\00\00\1c\00\00\00\10\15\00\000\15\00\00P\15\00\00p\15\00\00\90\15\00\00\b0\15\00\00\d0\15") - (data (i32.const 5644) "\1c") - (data (i32.const 5656) "\01\00\00\00\n\00\00\00 \00J\00a\00n\00 ") - (data (i32.const 5676) "\1c") - (data (i32.const 5688) "\01\00\00\00\n\00\00\00 \00F\00e\00b\00 ") - (data (i32.const 5708) "\1c") - (data (i32.const 5720) "\01\00\00\00\n\00\00\00 \00M\00a\00r\00 ") - (data (i32.const 5740) "\1c") - (data (i32.const 5752) "\01\00\00\00\n\00\00\00 \00A\00p\00r\00 ") - (data (i32.const 5772) "\1c") - (data (i32.const 5784) "\01\00\00\00\n\00\00\00 \00M\00a\00y\00 ") - (data (i32.const 5804) "\1c") - (data (i32.const 5816) "\01\00\00\00\n\00\00\00 \00J\00u\00n\00 ") - (data (i32.const 5836) "\1c") - (data (i32.const 5848) "\01\00\00\00\n\00\00\00 \00J\00u\00l\00 ") + (data (i32.const 4600) "\01\00\00\00\08\00\00\00S\00a\00t\00 ") + (data (i32.const 4620) ",") + (data (i32.const 4632) "\04\00\00\00\1c\00\00\00@\11\00\00`\11\00\00\80\11\00\00\a0\11\00\00\c0\11\00\00\e0\11\00\00\00\12") + (data (i32.const 4668) "\1c") + (data (i32.const 4680) "\01\00\00\00\08\00\00\00J\00a\00n\00 ") + (data (i32.const 4700) "\1c") + (data (i32.const 4712) "\01\00\00\00\08\00\00\00F\00e\00b\00 ") + (data (i32.const 4732) "\1c") + (data (i32.const 4744) "\01\00\00\00\08\00\00\00M\00a\00r\00 ") + (data (i32.const 4764) "\1c") + (data (i32.const 4776) "\01\00\00\00\08\00\00\00A\00p\00r\00 ") + (data (i32.const 4796) "\1c") + (data (i32.const 4808) "\01\00\00\00\08\00\00\00M\00a\00y\00 ") + (data (i32.const 4828) "\1c") + (data (i32.const 4840) "\01\00\00\00\08\00\00\00J\00u\00n\00 ") + (data (i32.const 4860) "\1c") + (data (i32.const 4872) "\01\00\00\00\08\00\00\00J\00u\00l\00 ") + (data (i32.const 4892) "\1c") + (data (i32.const 4904) "\01\00\00\00\08\00\00\00A\00u\00g\00 ") + (data (i32.const 4924) "\1c") + (data (i32.const 4936) "\01\00\00\00\08\00\00\00S\00e\00p\00 ") + (data (i32.const 4956) "\1c") + (data (i32.const 4968) "\01\00\00\00\08\00\00\00O\00c\00t\00 ") + (data (i32.const 4988) "\1c") + (data (i32.const 5000) "\01\00\00\00\08\00\00\00N\00o\00v\00 ") + (data (i32.const 5020) "\1c") + (data (i32.const 5032) "\01\00\00\00\08\00\00\00D\00e\00c\00 ") + (data (i32.const 5052) "L") + (data (i32.const 5064) "\04\00\00\000\00\00\00P\12\00\00p\12\00\00\90\12\00\00\b0\12\00\00\d0\12\00\00\f0\12\00\00\10\13\00\000\13\00\00P\13\00\00p\13\00\00\90\13\00\00\b0\13") + (data (i32.const 5132) "<\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00,\00\00\00\80\0d\00\00\00\00\00\00\80\0d\00\00\00\00\00\00\80\0d\00\00\00\00\00\00\80\0d\00\00\00\00\00\00\80\0d\00\00\00\00\00\00\80\0d") + (data (i32.const 5196) "\1c") + (data (i32.const 5208) "\01\00\00\00\04\00\00\00 \00-") + (data (i32.const 5228) "\1c") + (data (i32.const 5240) "\01\00\00\00\02\00\00\00 ") + (data (i32.const 5260) "<") + (data (i32.const 5272) "\01\00\00\00\1e\00\00\00W\00e\00d\00 \00J\00a\00n\00 \000\001\00 \000\000\002\000") + (data (i32.const 5324) "<") + (data (i32.const 5336) "\01\00\00\00\1e\00\00\00S\00u\00n\00 \00F\00e\00b\00 \000\002\00 \002\000\002\000") + (data (i32.const 5388) "<") + (data (i32.const 5400) "\01\00\00\00 \00\00\00T\00h\00u\00 \00J\00u\00l\00 \000\001\00 \00-\000\000\000\001") + (data (i32.const 5452) ",\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\1c\00\00\00\80\0d\00\00\00\00\00\00\c0\0d\00\00\00\00\00\00\c0\0d\00\00\00\00\00\00\80\0d") + (data (i32.const 5500) ",") + (data (i32.const 5512) "\01\00\00\00\10\00\00\000\000\00:\000\000\00:\000\000") + (data (i32.const 5548) ",") + (data (i32.const 5560) "\01\00\00\00\10\00\00\002\003\00:\005\009\00:\005\009") + (data (i32.const 5596) "\1c") + (data (i32.const 5608) "\01\00\00\00\n\00\00\00S\00u\00n\00,\00 ") + (data (i32.const 5628) "\1c") + (data (i32.const 5640) "\01\00\00\00\n\00\00\00M\00o\00n\00,\00 ") + (data (i32.const 5660) "\1c") + (data (i32.const 5672) "\01\00\00\00\n\00\00\00T\00u\00e\00,\00 ") + (data (i32.const 5692) "\1c") + (data (i32.const 5704) "\01\00\00\00\n\00\00\00W\00e\00d\00,\00 ") + (data (i32.const 5724) "\1c") + (data (i32.const 5736) "\01\00\00\00\n\00\00\00T\00h\00u\00,\00 ") + (data (i32.const 5756) "\1c") + (data (i32.const 5768) "\01\00\00\00\n\00\00\00F\00r\00i\00,\00 ") + (data (i32.const 5788) "\1c") + (data (i32.const 5800) "\01\00\00\00\n\00\00\00S\00a\00t\00,\00 ") + (data (i32.const 5820) ",") + (data (i32.const 5832) "\04\00\00\00\1c\00\00\00\f0\15\00\00\10\16\00\000\16\00\00P\16\00\00p\16\00\00\90\16\00\00\b0\16") (data (i32.const 5868) "\1c") - (data (i32.const 5880) "\01\00\00\00\n\00\00\00 \00A\00u\00g\00 ") + (data (i32.const 5880) "\01\00\00\00\n\00\00\00 \00J\00a\00n\00 ") (data (i32.const 5900) "\1c") - (data (i32.const 5912) "\01\00\00\00\n\00\00\00 \00S\00e\00p\00 ") + (data (i32.const 5912) "\01\00\00\00\n\00\00\00 \00F\00e\00b\00 ") (data (i32.const 5932) "\1c") - (data (i32.const 5944) "\01\00\00\00\n\00\00\00 \00O\00c\00t\00 ") + (data (i32.const 5944) "\01\00\00\00\n\00\00\00 \00M\00a\00r\00 ") (data (i32.const 5964) "\1c") - (data (i32.const 5976) "\01\00\00\00\n\00\00\00 \00N\00o\00v\00 ") + (data (i32.const 5976) "\01\00\00\00\n\00\00\00 \00A\00p\00r\00 ") (data (i32.const 5996) "\1c") - (data (i32.const 6008) "\01\00\00\00\n\00\00\00 \00D\00e\00c\00 ") - (data (i32.const 6028) "L") - (data (i32.const 6040) "\04\00\00\000\00\00\00 \16\00\00@\16\00\00`\16\00\00\80\16\00\00\a0\16\00\00\c0\16\00\00\e0\16\00\00\00\17\00\00 \17\00\00@\17\00\00`\17\00\00\80\17") - (data (i32.const 6108) "\1c") - (data (i32.const 6120) "\01\00\00\00\08\00\00\00 \00G\00M\00T") - (data (i32.const 6140) "L") - (data (i32.const 6152) "\01\00\00\00:\00\00\00W\00e\00d\00,\00 \000\001\00 \00J\00a\00n\00 \000\000\002\000\00 \000\000\00:\000\000\00:\000\000\00 \00G\00M\00T") - (data (i32.const 6220) "L") - (data (i32.const 6232) "\01\00\00\00:\00\00\00M\00o\00n\00,\00 \000\003\00 \00F\00e\00b\00 \002\000\002\000\00 \001\004\00:\005\003\00:\003\003\00 \00G\00M\00T") - (data (i32.const 6300) "L") - (data (i32.const 6312) "\01\00\00\00<\00\00\00T\00h\00u\00,\00 \000\001\00 \00J\00u\00l\00 \00-\000\000\000\001\00 \000\000\00:\000\000\00:\000\000\00 \00G\00M\00T") - (data (i32.const 6380) ",") - (data (i32.const 6392) "\01\00\00\00\14\00\00\001\009\007\006\00-\000\002\00-\000\002") - (data (i32.const 6428) ",") - (data (i32.const 6440) "\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 6476) ",") - (data (i32.const 6488) "\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 6524) "|") - (data (i32.const 6536) "\01\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") - (data (i32.const 6652) ",") - (data (i32.const 6664) "\01\00\00\00\10\00\00\001\009\007\006\00-\002\00-\002") + (data (i32.const 6008) "\01\00\00\00\n\00\00\00 \00M\00a\00y\00 ") + (data (i32.const 6028) "\1c") + (data (i32.const 6040) "\01\00\00\00\n\00\00\00 \00J\00u\00n\00 ") + (data (i32.const 6060) "\1c") + (data (i32.const 6072) "\01\00\00\00\n\00\00\00 \00J\00u\00l\00 ") + (data (i32.const 6092) "\1c") + (data (i32.const 6104) "\01\00\00\00\n\00\00\00 \00A\00u\00g\00 ") + (data (i32.const 6124) "\1c") + (data (i32.const 6136) "\01\00\00\00\n\00\00\00 \00S\00e\00p\00 ") + (data (i32.const 6156) "\1c") + (data (i32.const 6168) "\01\00\00\00\n\00\00\00 \00O\00c\00t\00 ") + (data (i32.const 6188) "\1c") + (data (i32.const 6200) "\01\00\00\00\n\00\00\00 \00N\00o\00v\00 ") + (data (i32.const 6220) "\1c") + (data (i32.const 6232) "\01\00\00\00\n\00\00\00 \00D\00e\00c\00 ") + (data (i32.const 6252) "L") + (data (i32.const 6264) "\04\00\00\000\00\00\00\00\17\00\00 \17\00\00@\17\00\00`\17\00\00\80\17\00\00\a0\17\00\00\c0\17\00\00\e0\17\00\00\00\18\00\00 \18\00\00@\18\00\00`\18") + (data (i32.const 6332) "\1c") + (data (i32.const 6344) "\01\00\00\00\08\00\00\00 \00G\00M\00T") + (data (i32.const 6364) "\\\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00D\00\00\00\80\0d\00\00\00\00\00\00\80\0d\00\00\00\00\00\00\80\0d\00\00\00\00\00\00\80\0d\00\00\00\00\00\00\80\0d\00\00\00\00\00\00\80\14\00\00\00\00\00\00\c0\0d\00\00\00\00\00\00\c0\0d\00\00\00\00\00\00\d0\18") + (data (i32.const 6460) "L") + (data (i32.const 6472) "\01\00\00\00:\00\00\00W\00e\00d\00,\00 \000\001\00 \00J\00a\00n\00 \000\000\002\000\00 \000\000\00:\000\000\00:\000\000\00 \00G\00M\00T") + (data (i32.const 6540) "L") + (data (i32.const 6552) "\01\00\00\00:\00\00\00M\00o\00n\00,\00 \000\003\00 \00F\00e\00b\00 \002\000\002\000\00 \001\004\00:\005\003\00:\003\003\00 \00G\00M\00T") + (data (i32.const 6620) "L") + (data (i32.const 6632) "\01\00\00\00<\00\00\00T\00h\00u\00,\00 \000\001\00 \00J\00u\00l\00 \00-\000\000\000\001\00 \000\000\00:\000\000\00:\000\000\00 \00G\00M\00T") (data (i32.const 6700) ",") - (data (i32.const 6712) "\01\00\00\00\14\00\00\002\003\004\005\00-\001\001\00-\000\004") - (data (i32.const 6748) "<") - (data (i32.const 6760) "\01\00\00\00&\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006") - (data (i32.const 6812) "L") - (data (i32.const 6824) "\01\00\00\00.\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006") - (data (i32.const 6892) "L") - (data (i32.const 6904) "\01\00\00\000\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006\00Z") - (data (i32.const 6972) "\1c") - (data (i32.const 6984) "\01\00\00\00\08\00\00\000\000\000\000") - (data (i32.const 7004) "\1c") - (data (i32.const 7016) "\01\00\00\00\08\00\00\000\000\000\001") - (data (i32.const 7036) "\1c") - (data (i32.const 7048) "\01\00\00\00\08\00\00\001\009\007\006") - (data (i32.const 7068) ",") - (data (i32.const 7080) "\01\00\00\00\0e\00\00\001\009\007\006\00-\000\002") - (data (i32.const 7116) "<") - (data (i32.const 7128) "\01\00\00\00 \00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004") - (data (i32.const 7180) "L") - (data (i32.const 7192) "\01\00\00\006\00\00\00-\002\007\001\008\002\001\00-\000\004\00-\002\000\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z") - (data (i32.const 7260) "L") - (data (i32.const 7272) "\01\00\00\006\00\00\00+\002\007\005\007\006\000\00-\000\009\00-\001\003\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z") - (data (i32.const 7340) "L") - (data (i32.const 7352) "\01\00\00\006\00\00\00+\002\007\005\007\006\000\00-\000\009\00-\001\002\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z") - (data (i32.const 7420) "L") - (data (i32.const 7432) "\01\00\00\006\00\00\00-\002\007\001\008\002\001\00-\000\004\00-\002\000\00T\000\000\00:\000\000\00:\000\000\00.\000\000\001\00Z") - (data (i32.const 7504) "\07\00\00\00 \00\00\00\00\00\00\00 ") - (data (i32.const 7532) " \00\00\00\00\00\00\00\04A\00\00\00\00\00\00\02A\00\00\00\00\00\00\02\t") + (data (i32.const 6712) "\01\00\00\00\14\00\00\001\009\007\006\00-\000\002\00-\000\002") + (data (i32.const 6748) ",") + (data (i32.const 6760) "\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data (i32.const 6796) ",") + (data (i32.const 6808) "\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 6844) "|") + (data (i32.const 6856) "\01\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") + (data (i32.const 6972) ",") + (data (i32.const 6984) "\01\00\00\00\10\00\00\001\009\007\006\00-\002\00-\002") + (data (i32.const 7020) ",") + (data (i32.const 7032) "\01\00\00\00\14\00\00\002\003\004\005\00-\001\001\00-\000\004") + (data (i32.const 7068) "<") + (data (i32.const 7080) "\01\00\00\00&\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006") + (data (i32.const 7132) "L") + (data (i32.const 7144) "\01\00\00\00.\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006") + (data (i32.const 7212) "L") + (data (i32.const 7224) "\01\00\00\000\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006\00Z") + (data (i32.const 7292) "\1c") + (data (i32.const 7304) "\01\00\00\00\08\00\00\000\000\000\000") + (data (i32.const 7324) "\1c") + (data (i32.const 7336) "\01\00\00\00\08\00\00\000\000\000\001") + (data (i32.const 7356) "\1c") + (data (i32.const 7368) "\01\00\00\00\08\00\00\001\009\007\006") + (data (i32.const 7388) ",") + (data (i32.const 7400) "\01\00\00\00\0e\00\00\001\009\007\006\00-\000\002") + (data (i32.const 7436) "<") + (data (i32.const 7448) "\01\00\00\00 \00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004") + (data (i32.const 7500) "L") + (data (i32.const 7512) "\01\00\00\006\00\00\00-\002\007\001\008\002\001\00-\000\004\00-\002\000\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z") + (data (i32.const 7580) "L") + (data (i32.const 7592) "\01\00\00\006\00\00\00+\002\007\005\007\006\000\00-\000\009\00-\001\003\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z") + (data (i32.const 7660) "L") + (data (i32.const 7672) "\01\00\00\006\00\00\00+\002\007\005\007\006\000\00-\000\009\00-\001\002\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z") + (data (i32.const 7740) "L") + (data (i32.const 7752) "\01\00\00\006\00\00\00-\002\007\001\008\002\001\00-\000\004\00-\002\000\00T\000\000\00:\000\000\00:\000\000\00.\000\000\001\00Z") + (data (i32.const 7824) "\07\00\00\00 \00\00\00\00\00\00\00 ") + (data (i32.const 7852) " \00\00\00\00\00\00\00\04A\00\00\00\00\00\00\02A\00\00\00\00\00\00\02\t") (export "memory" (memory $0)) (export "_start" (func $~start)) (func $~lib/date/epochMillis (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (result i64) @@ -407,9 +414,9 @@ (local $1 i32) i32.const 1392 call $byn-split-outlined-A$~lib/rt/itcms/__visit - i32.const 6448 + i32.const 6768 call $byn-split-outlined-A$~lib/rt/itcms/__visit - i32.const 6544 + i32.const 6864 call $byn-split-outlined-A$~lib/rt/itcms/__visit i32.const 1200 call $byn-split-outlined-A$~lib/rt/itcms/__visit @@ -490,7 +497,7 @@ if i32.const 0 local.get $0 - i32.const 23948 + i32.const 24268 i32.lt_u local.get $0 i32.load offset=8 @@ -541,7 +548,7 @@ i32.const 1 else local.get $1 - i32.const 7504 + i32.const 7824 i32.load i32.gt_u if @@ -555,7 +562,7 @@ local.get $1 i32.const 3 i32.shl - i32.const 7508 + i32.const 7828 i32.add i32.load i32.const 32 @@ -1120,10 +1127,10 @@ if unreachable end - i32.const 23952 + i32.const 24272 i32.const 0 i32.store - i32.const 25520 + i32.const 25840 i32.const 0 i32.store loop $for-loop|0 @@ -1134,7 +1141,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 23952 + i32.const 24272 i32.add i32.const 0 i32.store offset=4 @@ -1152,7 +1159,7 @@ i32.add i32.const 2 i32.shl - i32.const 23952 + i32.const 24272 i32.add i32.const 0 i32.store offset=96 @@ -1170,13 +1177,13 @@ br $for-loop|0 end end - i32.const 23952 - i32.const 25524 + i32.const 24272 + i32.const 25844 memory.size i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 23952 + i32.const 24272 global.set $~lib/rt/tlsf/ROOT ) (func $~lib/rt/itcms/step (result i32) @@ -1261,7 +1268,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 23948 + i32.const 24268 i32.lt_u if local.get $0 @@ -1361,7 +1368,7 @@ unreachable end local.get $0 - i32.const 23948 + i32.const 24268 i32.lt_u if local.get $0 @@ -1384,7 +1391,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 23948 + i32.const 24268 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -2018,53 +2025,39 @@ i64.add call $~lib/date/Date#setTime ) - (func $~lib/date/Date#setUTCDate (param $0 i32) (param $1 i32) - (local $2 i64) - (local $3 i32) + (func $~lib/date/join (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i64) (result i64) (local $4 i32) local.get $0 - i32.load offset=8 local.get $1 - i32.eq - if - return - end - local.get $0 - i64.const 86400000 - i64.const 0 - local.get $0 - i64.load offset=16 - i64.const 86400000 - i64.rem_s - local.tee $2 - i64.const 0 - i64.lt_s - select - local.get $2 - i64.add - local.get $0 - i32.load - local.get $0 - i32.load offset=4 - local.tee $4 i32.const 2 i32.le_s i32.sub - local.tee $3 + local.tee $0 i32.const 399 i32.const 0 - local.get $3 + local.get $0 i32.const 0 i32.lt_s select i32.sub i32.const 400 i32.div_s - local.set $0 - local.get $4 + local.set $4 + i64.const 86400000 + i64.const 0 + local.get $3 + i64.const 86400000 + i64.rem_s + local.tee $3 + i64.const 0 + i64.lt_s + select + local.get $3 + i64.add + local.get $1 i32.const -3 i32.const 9 - local.get $4 + local.get $1 i32.const 2 i32.gt_s select @@ -2075,26 +2068,26 @@ i32.add i32.const 5 i32.div_u - local.get $1 + local.get $2 i32.add - local.get $3 local.get $0 + local.get $4 i32.const 400 i32.mul i32.sub - local.tee $1 + local.tee $0 i32.const 365 i32.mul - local.get $1 + local.get $0 i32.const 2 i32.shr_u i32.add - local.get $1 + local.get $0 i32.const 100 i32.div_u i32.sub i32.add - local.get $0 + local.get $4 i32.const 146097 i32.mul i32.add @@ -2104,12 +2097,28 @@ i64.const 86400000 i64.mul i64.add + ) + (func $~lib/date/Date#setUTCDate (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=8 + local.get $1 + i32.eq + if + return + end + local.get $0 + local.get $0 + i32.load + local.get $0 + i32.load offset=4 + local.get $1 + local.get $0 + i64.load offset=16 + call $~lib/date/join call $~lib/date/Date#setTime ) (func $~lib/date/Date#setUTCMonth@varargs (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 i64) - (local $4 i32) block $1of1 block $0of1 block $outOfRange @@ -2132,88 +2141,19 @@ i32.ne if local.get $0 - i64.const 86400000 - i64.const 0 - local.get $0 - i64.load offset=16 - i64.const 86400000 - i64.rem_s - local.tee $3 - i64.const 0 - i64.lt_s - select - local.get $3 - i64.add local.get $0 i32.load local.get $1 i32.const 1 i32.add - local.tee $1 - i32.const 2 - i32.le_s - i32.sub - local.tee $0 - i32.const 399 - i32.const 0 - local.get $0 - i32.const 0 - i32.lt_s - select - i32.sub - i32.const 400 - i32.div_s - local.set $4 - local.get $1 - i32.const -3 - i32.const 9 - local.get $1 - i32.const 2 - i32.gt_s - select - i32.add - i32.const 153 - i32.mul - i32.const 2 - i32.add - i32.const 5 - i32.div_u local.get $2 - i32.add - local.get $0 - local.get $4 - i32.const 400 - i32.mul - i32.sub - local.tee $0 - i32.const 365 - i32.mul - local.get $0 - i32.const 2 - i32.shr_u - i32.add local.get $0 - i32.const 100 - i32.div_u - i32.sub - i32.add - local.get $4 - i32.const 146097 - i32.mul - i32.add - i32.const 719469 - i32.sub - i64.extend_i32_s - i64.const 86400000 - i64.mul - i64.add + i64.load offset=16 + call $~lib/date/join call $~lib/date/Date#setTime end ) (func $~lib/date/Date#setUTCFullYear (param $0 i32) (param $1 i32) - (local $2 i64) - (local $3 i32) - (local $4 i32) local.get $0 i32.load local.get $1 @@ -2221,81 +2161,15 @@ if return end + local.get $0 local.get $1 local.get $0 i32.load offset=4 - local.tee $4 - i32.const 2 - i32.le_s - i32.sub - local.tee $3 - i32.const 399 - i32.const 0 - local.get $3 - i32.const 0 - i32.lt_s - select - i32.sub - i32.const 400 - i32.div_s - local.set $1 - local.get $0 - i64.const 86400000 - i64.const 0 - local.get $0 - i64.load offset=16 - i64.const 86400000 - i64.rem_s - local.tee $2 - i64.const 0 - i64.lt_s - select - local.get $2 - i64.add local.get $0 i32.load offset=8 - local.get $4 - i32.const -3 - i32.const 9 - local.get $4 - i32.const 2 - i32.gt_s - select - i32.add - i32.const 153 - i32.mul - i32.const 2 - i32.add - i32.const 5 - i32.div_u - i32.add - local.get $3 - local.get $1 - i32.const 400 - i32.mul - i32.sub - local.tee $0 - i32.const 365 - i32.mul - local.get $0 - i32.const 2 - i32.shr_u - i32.add local.get $0 - i32.const 100 - i32.div_u - i32.sub - i32.add - local.get $1 - i32.const 146097 - i32.mul - i32.add - i32.const 719469 - i32.sub - i64.extend_i32_s - i64.const 86400000 - i64.mul - i64.add + i64.load offset=16 + call $~lib/date/join call $~lib/date/Date#setTime ) (func $~lib/number/I32#toString (param $0 i32) (result i32) @@ -2309,11 +2183,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7564 + i32.const 7884 i32.lt_s if - i32.const 23968 - i32.const 24016 + i32.const 24288 + i32.const 24336 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -2519,81 +2393,237 @@ end local.get $2 ) - (func $~lib/string/String.__concat (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 7564 - i32.lt_s + (func $~lib/staticarray/StaticArray<~lib/string/String>#__uset (param $0 i32) (param $1 i32) (param $2 i32) + local.get $0 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $2 + i32.store + local.get $2 if - i32.const 23968 - i32.const 24016 - i32.const 1 + local.get $0 + local.get $2 i32.const 1 - call $~lib/builtins/abort - unreachable + call $byn-split-outlined-A$~lib/rt/itcms/__link end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $__inlined_func$~lib/string/String#concat + ) + (func $~lib/staticarray/StaticArray<~lib/string/String>#join (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + block $__inlined_func$~lib/util/string/joinStringArray (result i32) local.get $0 i32.const 20 i32.sub i32.load offset=16 - i32.const 1 - i32.shr_u - i32.const 1 - i32.shl - local.tee $3 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 + i32.const 2 i32.shr_u + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 7884 + i32.lt_s + if + i32.const 24288 + i32.const 24336 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store + local.get $5 + i32.const 0 + i32.store offset=8 + local.get $4 i32.const 1 - i32.shl - local.tee $4 - i32.add - local.tee $2 + i32.sub + local.tee $5 + i32.const 0 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 3456 + br $__inlined_func$~lib/util/string/joinStringArray + end + local.get $5 i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 4 + local.tee $1 + local.get $0 + i32.load + local.tee $0 + i32.store + local.get $1 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 i32.const 3456 - local.set $2 - br $__inlined_func$~lib/string/String#concat + local.get $0 + select + br $__inlined_func$~lib/util/string/joinStringArray + end + loop $for-loop|0 + local.get $3 + local.get $4 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $6 + i32.store offset=4 + local.get $6 + if + local.get $1 + local.get $6 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.add + local.set $1 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 + i32.const 3452 + i32.load + i32.const 1 + i32.shr_u + local.tee $1 + local.get $5 + i32.mul + i32.add + i32.const 1 + i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 - i32.store - local.get $2 + local.tee $4 + i32.store offset=8 + i32.const 0 + local.set $3 + loop $for-loop|1 + local.get $3 + local.get $5 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $6 + i32.store offset=4 + local.get $6 + if + local.get $4 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $6 + local.get $6 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $6 + i32.const 1 + i32.shl + memory.copy + local.get $2 + local.get $6 + i32.add + local.set $2 + end + local.get $1 + if + local.get $4 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 3456 + local.get $1 + i32.const 1 + i32.shl + memory.copy + local.get $1 + local.get $2 + i32.add + local.set $2 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $3 - memory.copy - local.get $2 - local.get $3 + local.get $5 + i32.const 2 + i32.shl i32.add - local.get $1 - local.get $4 - memory.copy + i32.load + local.tee $0 + i32.store offset=4 + local.get $0 + if + local.get $4 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.const 1 + i32.shl + memory.copy + end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer + local.get $4 end - local.get $2 ) (func $~lib/util/string/compareImpl (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) @@ -2809,8 +2839,8 @@ i32.const 268435455 i32.gt_u if - i32.const 6448 - i32.const 6496 + i32.const 6768 + i32.const 6816 i32.const 19 i32.const 48 call $~lib/builtins/abort @@ -3299,360 +3329,443 @@ global.set $~started call $start:std/date ) - (func $~lib/date/Date#toISOString (param $0 i32) (result i32) - (local $1 i32) - (local $2 i64) + (func $~lib/date/stringify (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 112 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 7564 - i32.lt_s - if - i32.const 23968 - i32.const 24016 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 112 - memory.fill - local.get $0 - i32.load - local.tee $1 - i32.const 0 - i32.lt_s - local.tee $3 - local.get $1 - i32.const 10000 - i32.ge_s - i32.or - if + block $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $4 - i32.const 1616 - i32.const 1648 - local.get $3 - select - local.tee $3 - i32.store - local.get $1 - i32.const 31 - i32.shr_s - local.tee $5 - local.get $1 - local.get $5 - i32.add - i32.xor + i32.const 7884 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $0 call $~lib/number/I32#toString - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 + local.get $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 1872 - i32.store offset=12 - local.get $1 - i32.const 6 - call $~lib/string/String#padStart - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 i32.store offset=4 - local.get $4 - local.get $3 - local.get $1 - call $~lib/string/String.__concat - local.tee $1 - i32.store offset=16 - else global.get $~lib/memory/__stack_pointer - local.get $1 - call $~lib/number/I32#toString - local.set $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store + i32.const 7884 + i32.lt_s + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1872 - i32.store offset=8 - local.get $1 - i32.const 4 - call $~lib/string/String#padStart - local.tee $1 - i32.store offset=16 + i32.const 0 + i32.store + block $__inlined_func$~lib/string/String#padStart + i32.const 1868 + i32.load + i32.const 1 + i32.shr_u + i32.const 1 + i32.shl + local.tee $2 + i32.eqz + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.const 1 + i32.shl + local.tee $4 + local.get $1 + i32.const 1 + i32.shl + local.tee $5 + i32.gt_u + i32.or + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/string/String#padStart + end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + local.get $5 + local.get $4 + i32.sub + local.tee $7 + local.get $2 + i32.gt_u + if + local.get $7 + local.get $7 + i32.const 2 + i32.sub + local.get $2 + i32.div_u + local.get $2 + i32.mul + local.tee $6 + i32.sub + local.set $5 + loop $while-continue|0 + local.get $3 + local.get $6 + i32.lt_u + if + local.get $1 + local.get $3 + i32.add + i32.const 1872 + local.get $2 + memory.copy + local.get $2 + local.get $3 + i32.add + local.set $3 + br $while-continue|0 + end + end + local.get $1 + local.get $6 + i32.add + i32.const 1872 + local.get $5 + memory.copy + else + local.get $1 + i32.const 1872 + local.get $7 + memory.copy + end + local.get $1 + local.get $7 + i32.add + local.get $0 + local.get $4 + memory.copy + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return end + i32.const 24288 + i32.const 24336 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/date/Date#toISOString (param $0 i32) (result i32) + (local $1 i64) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 1616 - i32.store offset=100 - local.get $1 - i32.const 1616 - call $~lib/string/String.__concat - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=92 - local.get $0 - i32.load offset=4 - call $~lib/number/I32#toString - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=104 - global.get $~lib/memory/__stack_pointer - i32.const 1872 - i32.store offset=108 - local.get $3 - i32.const 2 - call $~lib/string/String#padStart - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=96 - local.get $1 - local.get $3 - call $~lib/string/String.__concat - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=84 - global.get $~lib/memory/__stack_pointer - i32.const 1616 - i32.store offset=88 - local.get $1 - i32.const 1616 - call $~lib/string/String.__concat - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=76 - local.get $0 - i32.load offset=8 - call $~lib/number/I32#toString - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=84 - global.get $~lib/memory/__stack_pointer - i32.const 1872 - i32.store offset=92 - local.get $3 - i32.const 2 - call $~lib/string/String#padStart - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=80 - local.get $1 - local.get $3 - call $~lib/string/String.__concat - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=68 - global.get $~lib/memory/__stack_pointer - i32.const 3488 - i32.store offset=72 - local.get $1 - i32.const 3488 - call $~lib/string/String.__concat - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=60 - i64.const 86400000 - i64.const 0 - local.get $0 - i64.load offset=16 - i64.const 86400000 - i64.rem_s - local.tee $2 - i64.const 0 - i64.lt_s - select - local.get $2 - i64.add - i32.wrap_i64 - i32.const 3600000 - i32.div_s - call $~lib/number/I32#toString - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=68 - global.get $~lib/memory/__stack_pointer - i32.const 1872 - i32.store offset=76 - local.get $3 - i32.const 2 - call $~lib/string/String#padStart - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=64 - local.get $1 - local.get $3 - call $~lib/string/String.__concat - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=52 - global.get $~lib/memory/__stack_pointer - i32.const 3520 - i32.store offset=56 - local.get $1 - i32.const 3520 - call $~lib/string/String.__concat - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=44 - i64.const 3600000 - i64.const 0 - local.get $0 - i64.load offset=16 - i64.const 3600000 - i64.rem_s - local.tee $2 - i64.const 0 - i64.lt_s - select - local.get $2 - i64.add - i32.wrap_i64 - i32.const 60000 - i32.div_s - call $~lib/number/I32#toString - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=52 - global.get $~lib/memory/__stack_pointer - i32.const 1872 - i32.store offset=60 - local.get $3 - i32.const 2 - call $~lib/string/String#padStart - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=48 - local.get $1 - local.get $3 - call $~lib/string/String.__concat - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=36 - global.get $~lib/memory/__stack_pointer - i32.const 3520 - i32.store offset=40 - local.get $1 - i32.const 3520 - call $~lib/string/String.__concat - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=28 - i64.const 60000 - i64.const 0 - local.get $0 - i64.load offset=16 - i64.const 60000 - i64.rem_s - local.tee $2 - i64.const 0 - i64.lt_s - select - local.get $2 - i64.add - i32.wrap_i64 - i32.const 1000 - i32.div_s - call $~lib/number/I32#toString - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=36 - global.get $~lib/memory/__stack_pointer - i32.const 1872 - i32.store offset=44 - local.get $3 - i32.const 2 - call $~lib/string/String#padStart - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=32 - local.get $1 - local.get $3 - call $~lib/string/String.__concat - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 3552 - i32.store offset=24 - local.get $1 - i32.const 3552 - call $~lib/string/String.__concat - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - i64.const 1000 - i64.const 0 - local.get $0 - i64.load offset=16 - i64.const 1000 - i64.rem_s - local.tee $2 - i64.const 0 - i64.lt_s - select - local.get $2 - i64.add - i32.wrap_i64 - call $~lib/number/I32#toString - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 1872 - i32.store offset=28 - local.get $0 - i32.const 3 - call $~lib/string/String#padStart - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 - local.get $1 - local.get $0 - call $~lib/string/String.__concat - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 3584 - i32.store offset=4 - local.get $0 - i32.const 3584 - call $~lib/string/String.__concat - global.get $~lib/memory/__stack_pointer - i32.const 112 - i32.add + i32.const 36 + i32.sub global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 7884 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.const 36 + memory.fill + local.get $2 + local.get $0 + i32.load + local.tee $2 + i32.const 0 + i32.lt_s + local.tee $3 + local.get $2 + i32.const 10000 + i32.ge_s + i32.or + if (result i32) + block $__inlined_func$~lib/string/String#concat (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 1616 + i32.const 1648 + local.get $3 + select + local.tee $3 + i32.store + local.get $2 + i32.const 31 + i32.shr_s + local.tee $4 + local.get $2 + local.get $4 + i32.add + i32.xor + i32.const 6 + call $~lib/date/stringify + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 7884 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $3 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.const 1 + i32.shl + local.tee $4 + local.get $2 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.const 1 + i32.shl + local.tee $5 + i32.add + local.tee $6 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 3456 + br $__inlined_func$~lib/string/String#concat + end + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store + local.get $6 + local.get $3 + local.get $4 + memory.copy + local.get $4 + local.get $6 + i32.add + local.get $2 + local.get $5 + memory.copy + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + end + else + local.get $2 + i32.const 4 + call $~lib/date/stringify + end + local.tee $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=4 + i32.const 2 + call $~lib/date/stringify + local.tee $4 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 + i32.const 2 + call $~lib/date/stringify + local.tee $5 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i64.const 86400000 + i64.const 0 + local.get $0 + i64.load offset=16 + i64.const 86400000 + i64.rem_s + local.tee $1 + i64.const 0 + i64.lt_s + select + local.get $1 + i64.add + i32.wrap_i64 + i32.const 3600000 + i32.div_s + i32.const 2 + call $~lib/date/stringify + local.tee $6 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer + i64.const 3600000 + i64.const 0 + local.get $0 + i64.load offset=16 + i64.const 3600000 + i64.rem_s + local.tee $1 + i64.const 0 + i64.lt_s + select + local.get $1 + i64.add + i32.wrap_i64 + i32.const 60000 + i32.div_s + i32.const 2 + call $~lib/date/stringify + local.tee $7 + i32.store offset=24 + global.get $~lib/memory/__stack_pointer + i64.const 60000 + i64.const 0 + local.get $0 + i64.load offset=16 + i64.const 60000 + i64.rem_s + local.tee $1 + i64.const 0 + i64.lt_s + select + local.get $1 + i64.add + i32.wrap_i64 + i32.const 1000 + i32.div_s + i32.const 2 + call $~lib/date/stringify + local.tee $2 + i32.store offset=28 + global.get $~lib/memory/__stack_pointer + i64.const 1000 + i64.const 0 + local.get $0 + i64.load offset=16 + i64.const 1000 + i64.rem_s + local.tee $1 + i64.const 0 + i64.lt_s + select + local.get $1 + i64.add + i32.wrap_i64 + i32.const 3 + call $~lib/date/stringify + local.tee $0 + i32.store offset=32 + global.get $~lib/memory/__stack_pointer + i32.const 3616 + i32.store + i32.const 3616 + i32.const 1 + local.get $3 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 3616 + i32.store + i32.const 3616 + i32.const 3 + local.get $4 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 3616 + i32.store + i32.const 3616 + i32.const 5 + local.get $5 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 3616 + i32.store + i32.const 3616 + i32.const 7 + local.get $6 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 3616 + i32.store + i32.const 3616 + i32.const 9 + local.get $7 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 3616 + i32.store + i32.const 3616 + i32.const 11 + local.get $2 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 3616 + i32.store + i32.const 3616 + i32.const 13 + local.get $0 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 3616 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 3456 + i32.store offset=4 + i32.const 3616 + call $~lib/staticarray/StaticArray<~lib/string/String>#join + global.get $~lib/memory/__stack_pointer + i32.const 36 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 24288 + i32.const 24336 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) (func $~lib/date/Date#toDateString (param $0 i32) (result i32) (local $1 i32) @@ -3661,17 +3774,16 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 44 + i32.const 36 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7564 + i32.const 7884 i32.lt_s if - i32.const 23968 - i32.const 24016 + i32.const 24288 + i32.const 24336 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -3680,72 +3792,72 @@ global.get $~lib/memory/__stack_pointer local.tee $1 i32.const 0 - i32.const 44 + i32.const 36 memory.fill i32.const 28 i32.const 4 call $~lib/rt/itcms/__new - local.tee $3 - i32.const 4560 + local.tee $2 + i32.const 4640 i32.const 28 memory.copy local.get $1 - local.get $3 + local.get $2 i32.store global.get $~lib/memory/__stack_pointer i32.const 48 i32.const 4 call $~lib/rt/itcms/__new - local.tee $2 - i32.const 4992 + local.tee $3 + i32.const 5072 i32.const 48 memory.copy - local.get $2 + local.get $3 i32.store offset=4 local.get $0 i32.load - local.tee $4 + local.tee $1 local.get $0 i32.load offset=4 - local.tee $5 + local.tee $4 i32.const 3 i32.lt_s i32.sub - local.set $6 + local.set $5 i32.const 7 i32.const 0 local.get $0 i32.load offset=8 - local.tee $1 - local.get $5 + local.tee $0 + local.get $4 i32.const 1579 i32.add i32.load8_u - local.get $6 - local.get $6 + local.get $5 + local.get $5 i32.const 3 i32.const 0 - local.get $6 + local.get $5 i32.const 0 i32.lt_s - local.tee $0 + local.tee $6 select i32.sub i32.const 4 i32.div_s - local.get $6 + local.get $5 i32.const 99 i32.const 0 - local.get $0 + local.get $6 select i32.sub i32.const 100 i32.div_s i32.sub - local.get $6 + local.get $5 i32.const 399 i32.const 0 - local.get $0 + local.get $6 select i32.sub i32.const 400 @@ -3756,116 +3868,106 @@ i32.add i32.const 7 i32.rem_s - local.tee $0 + local.tee $5 i32.const 0 i32.lt_s select - local.get $0 + local.get $5 i32.add - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $1 i32.const 31 i32.shr_s - local.tee $7 - local.get $4 - local.get $7 + local.tee $6 + local.get $1 + local.get $6 i32.add i32.xor - call $~lib/number/I32#toString - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 1872 - i32.store offset=12 - local.get $7 i32.const 4 - call $~lib/string/String#padStart - local.tee $0 - i32.store offset=16 - local.get $4 - i32.const 0 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.tee $4 - i32.const 1616 - i32.store offset=8 - local.get $4 - i32.const 1616 - local.get $0 - call $~lib/string/String.__concat - local.tee $0 - i32.store offset=16 - end + call $~lib/date/stringify + local.tee $6 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $3 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load - local.tee $3 - i32.store offset=32 local.get $4 - local.get $2 - local.get $5 i32.const 1 i32.sub i32.const 2 i32.shl i32.add i32.load - local.tee $2 - i32.store offset=36 - local.get $3 - local.get $2 - call $~lib/string/String.__concat - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=24 - local.get $1 - call $~lib/number/I32#toString - local.set $1 + local.tee $3 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=32 + local.get $2 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $2 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - i32.const 1872 - i32.store offset=40 - local.get $1 + local.get $0 i32.const 2 - call $~lib/string/String#padStart - local.set $1 + call $~lib/date/stringify + local.tee $0 + i32.store offset=20 global.get $~lib/memory/__stack_pointer + i32.const 5216 + i32.const 5248 local.get $1 + i32.const 0 + i32.lt_s + select + local.tee $1 + i32.store offset=24 + global.get $~lib/memory/__stack_pointer + i32.const 5152 i32.store offset=28 + i32.const 5152 + i32.const 1 local.get $2 - local.get $1 - call $~lib/string/String.__concat - local.set $1 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 + i32.const 5152 + i32.store offset=28 + i32.const 5152 + i32.const 3 + local.get $3 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset global.get $~lib/memory/__stack_pointer - i32.const 5072 - i32.store offset=12 - local.get $1 - i32.const 5072 - call $~lib/string/String.__concat - local.set $1 + i32.const 5152 + i32.store offset=28 + i32.const 5152 + i32.const 5 + local.get $0 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset global.get $~lib/memory/__stack_pointer + i32.const 5152 + i32.store offset=28 + i32.const 5152 + i32.const 7 local.get $1 - i32.store offset=8 - local.get $1 - local.get $0 - call $~lib/string/String.__concat + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 5152 + i32.store offset=28 + i32.const 5152 + i32.const 9 + local.get $6 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset global.get $~lib/memory/__stack_pointer - i32.const 44 + i32.const 5152 + i32.store offset=28 + global.get $~lib/memory/__stack_pointer + i32.const 3456 + i32.store offset=32 + i32.const 5152 + call $~lib/staticarray/StaticArray<~lib/string/String>#join + global.get $~lib/memory/__stack_pointer + i32.const 36 i32.add global.set $~lib/memory/__stack_pointer ) @@ -3874,24 +3976,26 @@ (local $2 i32) (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 40 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7564 + i32.const 7884 i32.lt_s if - i32.const 23968 - i32.const 24016 + i32.const 24288 + i32.const 24336 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + local.tee $2 i32.const 0 - i32.const 40 + i32.const 20 memory.fill + local.get $2 i64.const 86400000 i64.const 0 local.get $0 @@ -3907,31 +4011,11 @@ i32.wrap_i64 i32.const 3600000 i32.div_s - call $~lib/number/I32#toString - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=32 - global.get $~lib/memory/__stack_pointer - i32.const 1872 - i32.store offset=36 - local.get $2 i32.const 2 - call $~lib/string/String#padStart - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=24 - global.get $~lib/memory/__stack_pointer - i32.const 3520 - i32.store offset=28 - local.get $2 - i32.const 3520 - call $~lib/string/String.__concat - local.set $2 + call $~lib/date/stringify + local.tee $3 + i32.store global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 i64.const 3600000 i64.const 0 local.get $0 @@ -3947,38 +4031,11 @@ i32.wrap_i64 i32.const 60000 i32.div_s - call $~lib/number/I32#toString - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=24 - global.get $~lib/memory/__stack_pointer - i32.const 1872 - i32.store offset=32 - local.get $3 i32.const 2 - call $~lib/string/String#padStart - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=20 - local.get $2 - local.get $3 - call $~lib/string/String.__concat - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3520 - i32.store offset=12 - local.get $2 - i32.const 3520 - call $~lib/string/String.__concat - local.set $2 + call $~lib/date/stringify + local.tee $2 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store i64.const 60000 i64.const 0 local.get $0 @@ -3994,67 +4051,81 @@ i32.wrap_i64 i32.const 1000 i32.div_s - call $~lib/number/I32#toString - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 2 + call $~lib/date/stringify + local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 1872 - i32.store offset=16 - local.get $0 - i32.const 2 - call $~lib/string/String#padStart - local.set $0 + i32.const 5472 + i32.store offset=12 + i32.const 5472 + i32.const 1 + local.get $3 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.const 5472 + i32.store offset=12 + i32.const 5472 + i32.const 3 local.get $2 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 5472 + i32.store offset=12 + i32.const 5472 + i32.const 5 local.get $0 - call $~lib/string/String.__concat + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset global.get $~lib/memory/__stack_pointer - i32.const 40 + i32.const 5472 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 3456 + i32.store offset=16 + i32.const 5472 + call $~lib/staticarray/StaticArray<~lib/string/String>#join + global.get $~lib/memory/__stack_pointer + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) (func $~lib/date/Date#toUTCString (param $0 i32) (result i32) - (local $1 i32) - (local $2 i64) + (local $1 i64) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 96 + i32.const 48 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7564 + i32.const 7884 i32.lt_s if - i32.const 23968 - i32.const 24016 + i32.const 24288 + i32.const 24336 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $2 i32.const 0 - i32.const 96 + i32.const 48 memory.fill i32.const 28 i32.const 4 call $~lib/rt/itcms/__new local.tee $3 - i32.const 5616 + i32.const 5840 i32.const 28 memory.copy - local.get $1 + local.get $2 local.get $3 i32.store global.get $~lib/memory/__stack_pointer @@ -4062,35 +4133,35 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $4 - i32.const 6048 + i32.const 6272 i32.const 48 memory.copy local.get $4 i32.store offset=4 local.get $0 i32.load - local.tee $5 + local.tee $2 local.get $0 i32.load offset=4 - local.tee $6 + local.tee $5 i32.const 3 i32.lt_s i32.sub - local.set $1 + local.set $6 i32.const 7 i32.const 0 local.get $0 i32.load offset=8 local.tee $7 - local.get $6 + local.get $5 i32.const 1579 i32.add i32.load8_u - local.get $1 - local.get $1 + local.get $6 + local.get $6 i32.const 3 i32.const 0 - local.get $1 + local.get $6 i32.const 0 i32.lt_s local.tee $8 @@ -4098,7 +4169,7 @@ i32.sub i32.const 4 i32.div_s - local.get $1 + local.get $6 i32.const 99 i32.const 0 local.get $8 @@ -4107,7 +4178,7 @@ i32.const 100 i32.div_s i32.sub - local.get $1 + local.get $6 i32.const 399 i32.const 0 local.get $8 @@ -4121,256 +4192,187 @@ i32.add i32.const 7 i32.rem_s - local.tee $1 + local.tee $6 i32.const 0 i32.lt_s select - local.get $1 + local.get $6 i32.add - local.set $8 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $2 i32.const 31 i32.shr_s - local.tee $9 - local.get $5 - local.get $9 + local.tee $8 + local.get $2 + local.get $8 i32.add i32.xor - call $~lib/number/I32#toString - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 + i32.const 4 + call $~lib/date/stringify + local.tee $8 i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 1872 - i32.store offset=12 - local.get $9 - i32.const 4 - call $~lib/string/String#padStart - local.tee $1 - i32.store offset=16 + local.get $4 local.get $5 - i32.const 0 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.tee $5 - i32.const 1616 - i32.store offset=8 - local.get $5 - i32.const 1616 - local.get $1 - call $~lib/string/String.__concat - local.tee $1 - i32.store offset=16 - end - global.get $~lib/memory/__stack_pointer - local.get $3 - local.get $8 + i32.const 1 + i32.sub i32.const 2 i32.shl i32.add i32.load - local.tee $3 - i32.store offset=80 - local.get $7 - call $~lib/number/I32#toString - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=88 - global.get $~lib/memory/__stack_pointer - i32.const 1872 - i32.store offset=92 - local.get $5 - i32.const 2 - call $~lib/string/String#padStart - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=84 - local.get $3 - local.get $5 - call $~lib/string/String.__concat - local.set $3 + local.tee $4 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store offset=72 - global.get $~lib/memory/__stack_pointer - local.get $4 local.get $6 - i32.const 1 - i32.sub i32.const 2 i32.shl i32.add i32.load - local.tee $4 - i32.store offset=76 - local.get $3 - local.get $4 - call $~lib/string/String.__concat - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=68 - local.get $3 - local.get $1 - call $~lib/string/String.__concat - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=60 + local.tee $3 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - i32.const 5072 - i32.store offset=64 - local.get $1 - i32.const 5072 - call $~lib/string/String.__concat - local.set $1 + local.get $7 + i32.const 2 + call $~lib/date/stringify + local.tee $5 + i32.store offset=20 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=52 i64.const 86400000 i64.const 0 local.get $0 i64.load offset=16 i64.const 86400000 i64.rem_s - local.tee $2 + local.tee $1 i64.const 0 i64.lt_s select - local.get $2 + local.get $1 i64.add i32.wrap_i64 i32.const 3600000 i32.div_s - call $~lib/number/I32#toString - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=60 - global.get $~lib/memory/__stack_pointer - i32.const 1872 - i32.store offset=68 - local.get $3 i32.const 2 - call $~lib/string/String#padStart - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=56 - local.get $1 - local.get $3 - call $~lib/string/String.__concat - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=44 - global.get $~lib/memory/__stack_pointer - i32.const 3520 - i32.store offset=48 - local.get $1 - i32.const 3520 - call $~lib/string/String.__concat - local.set $1 + call $~lib/date/stringify + local.tee $6 + i32.store offset=24 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=36 i64.const 3600000 i64.const 0 local.get $0 i64.load offset=16 i64.const 3600000 i64.rem_s - local.tee $2 + local.tee $1 i64.const 0 i64.lt_s select - local.get $2 + local.get $1 i64.add i32.wrap_i64 i32.const 60000 i32.div_s - call $~lib/number/I32#toString - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=44 - global.get $~lib/memory/__stack_pointer - i32.const 1872 - i32.store offset=52 - local.get $3 i32.const 2 - call $~lib/string/String#padStart - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=40 - local.get $1 - local.get $3 - call $~lib/string/String.__concat - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 + call $~lib/date/stringify + local.tee $7 i32.store offset=28 global.get $~lib/memory/__stack_pointer - i32.const 3520 - i32.store offset=32 - local.get $1 - i32.const 3520 - call $~lib/string/String.__concat - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 i64.const 60000 i64.const 0 local.get $0 i64.load offset=16 i64.const 60000 i64.rem_s - local.tee $2 + local.tee $1 i64.const 0 i64.lt_s select - local.get $2 + local.get $1 i64.add i32.wrap_i64 i32.const 1000 i32.div_s - call $~lib/number/I32#toString - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=28 + i32.const 2 + call $~lib/date/stringify + local.tee $0 + i32.store offset=32 global.get $~lib/memory/__stack_pointer - i32.const 1872 + i32.const 1616 + i32.const 3456 + local.get $2 + i32.const 0 + i32.lt_s + select + local.tee $2 i32.store offset=36 - local.get $0 - i32.const 2 - call $~lib/string/String#padStart - local.set $0 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=24 - local.get $1 - local.get $0 - call $~lib/string/String.__concat - local.set $0 + i32.const 6384 + i32.store offset=40 + i32.const 6384 + i32.const 1 + local.get $3 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 + i32.const 6384 + i32.store offset=40 + i32.const 6384 + i32.const 3 + local.get $5 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset global.get $~lib/memory/__stack_pointer - i32.const 6128 - i32.store offset=20 + i32.const 6384 + i32.store offset=40 + i32.const 6384 + i32.const 5 + local.get $4 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 6384 + i32.store offset=40 + i32.const 6384 + i32.const 7 + local.get $2 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 6384 + i32.store offset=40 + i32.const 6384 + i32.const 9 + local.get $8 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 6384 + i32.store offset=40 + i32.const 6384 + i32.const 11 + local.get $6 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 6384 + i32.store offset=40 + i32.const 6384 + i32.const 13 + local.get $7 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 6384 + i32.store offset=40 + i32.const 6384 + i32.const 15 local.get $0 - i32.const 6128 - call $~lib/string/String.__concat + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset global.get $~lib/memory/__stack_pointer - i32.const 96 + i32.const 6384 + i32.store offset=40 + global.get $~lib/memory/__stack_pointer + i32.const 3456 + i32.store offset=44 + i32.const 6384 + call $~lib/staticarray/StaticArray<~lib/string/String>#join + global.get $~lib/memory/__stack_pointer + i32.const 48 i32.add global.set $~lib/memory/__stack_pointer ) @@ -4388,11 +4390,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7564 + i32.const 7884 i32.lt_s if - i32.const 23968 - i32.const 24016 + i32.const 24288 + i32.const 24336 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -4667,11 +4669,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7564 + i32.const 7884 i32.lt_s if - i32.const 23968 - i32.const 24016 + i32.const 24288 + i32.const 24336 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -4899,11 +4901,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7564 + i32.const 7884 i32.lt_s if - i32.const 23968 - i32.const 24016 + i32.const 24288 + i32.const 24336 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -5106,7 +5108,7 @@ memory.size i32.const 16 i32.shl - i32.const 23948 + i32.const 24268 i32.sub i32.const 1 i32.shr_u @@ -7137,10 +7139,10 @@ local.get $0 i32.store offset=28 global.get $~lib/memory/__stack_pointer - i32.const 3616 + i32.const 3696 i32.store offset=32 local.get $0 - i32.const 3616 + i32.const 3696 call $~lib/string/String.__eq i32.eqz if @@ -7163,10 +7165,10 @@ local.get $0 i32.store offset=28 global.get $~lib/memory/__stack_pointer - i32.const 3696 + i32.const 3776 i32.store offset=32 local.get $0 - i32.const 3696 + i32.const 3776 call $~lib/string/String.__eq i32.eqz if @@ -7189,10 +7191,10 @@ local.get $0 i32.store offset=28 global.get $~lib/memory/__stack_pointer - i32.const 3776 + i32.const 3856 i32.store offset=32 local.get $0 - i32.const 3776 + i32.const 3856 call $~lib/string/String.__eq i32.eqz if @@ -7215,10 +7217,10 @@ local.get $0 i32.store offset=28 global.get $~lib/memory/__stack_pointer - i32.const 3856 + i32.const 3936 i32.store offset=32 local.get $0 - i32.const 3856 + i32.const 3936 call $~lib/string/String.__eq i32.eqz if @@ -7241,10 +7243,10 @@ local.get $0 i32.store offset=28 global.get $~lib/memory/__stack_pointer - i32.const 3936 + i32.const 4016 i32.store offset=32 local.get $0 - i32.const 3936 + i32.const 4016 call $~lib/string/String.__eq i32.eqz if @@ -7267,10 +7269,10 @@ local.get $0 i32.store offset=28 global.get $~lib/memory/__stack_pointer - i32.const 4016 + i32.const 4096 i32.store offset=32 local.get $0 - i32.const 4016 + i32.const 4096 call $~lib/string/String.__eq i32.eqz if @@ -7293,10 +7295,10 @@ local.get $0 i32.store offset=28 global.get $~lib/memory/__stack_pointer - i32.const 4096 + i32.const 4176 i32.store offset=32 local.get $0 - i32.const 4096 + i32.const 4176 call $~lib/string/String.__eq i32.eqz if @@ -7319,10 +7321,10 @@ local.get $0 i32.store offset=28 global.get $~lib/memory/__stack_pointer - i32.const 4176 + i32.const 4256 i32.store offset=32 local.get $0 - i32.const 4176 + i32.const 4256 call $~lib/string/String.__eq i32.eqz if @@ -7345,10 +7347,10 @@ local.get $0 i32.store offset=28 global.get $~lib/memory/__stack_pointer - i32.const 4256 + i32.const 4336 i32.store offset=32 local.get $0 - i32.const 4256 + i32.const 4336 call $~lib/string/String.__eq i32.eqz if @@ -7371,10 +7373,10 @@ local.get $0 i32.store offset=28 global.get $~lib/memory/__stack_pointer - i32.const 5104 + i32.const 5280 i32.store offset=32 local.get $0 - i32.const 5104 + i32.const 5280 call $~lib/string/String.__eq i32.eqz if @@ -7397,10 +7399,10 @@ local.get $0 i32.store offset=28 global.get $~lib/memory/__stack_pointer - i32.const 5168 + i32.const 5344 i32.store offset=32 local.get $0 - i32.const 5168 + i32.const 5344 call $~lib/string/String.__eq i32.eqz if @@ -7423,10 +7425,10 @@ local.get $0 i32.store offset=28 global.get $~lib/memory/__stack_pointer - i32.const 5232 + i32.const 5408 i32.store offset=32 local.get $0 - i32.const 5232 + i32.const 5408 call $~lib/string/String.__eq i32.eqz if @@ -7449,10 +7451,10 @@ local.get $0 i32.store offset=28 global.get $~lib/memory/__stack_pointer - i32.const 5296 + i32.const 5520 i32.store offset=32 local.get $0 - i32.const 5296 + i32.const 5520 call $~lib/string/String.__eq i32.eqz if @@ -7475,10 +7477,10 @@ local.get $0 i32.store offset=28 global.get $~lib/memory/__stack_pointer - i32.const 5344 + i32.const 5568 i32.store offset=32 local.get $0 - i32.const 5344 + i32.const 5568 call $~lib/string/String.__eq i32.eqz if @@ -7501,10 +7503,10 @@ local.get $0 i32.store offset=28 global.get $~lib/memory/__stack_pointer - i32.const 6160 + i32.const 6480 i32.store offset=32 local.get $0 - i32.const 6160 + i32.const 6480 call $~lib/string/String.__eq i32.eqz if @@ -7527,10 +7529,10 @@ local.get $0 i32.store offset=28 global.get $~lib/memory/__stack_pointer - i32.const 6240 + i32.const 6560 i32.store offset=32 local.get $0 - i32.const 6240 + i32.const 6560 call $~lib/string/String.__eq i32.eqz if @@ -7553,10 +7555,10 @@ local.get $0 i32.store offset=28 global.get $~lib/memory/__stack_pointer - i32.const 6320 + i32.const 6640 i32.store offset=32 local.get $0 - i32.const 6320 + i32.const 6640 call $~lib/string/String.__eq i32.eqz if @@ -7569,10 +7571,10 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 6400 + i32.const 6720 i32.store offset=28 local.get $0 - i32.const 6400 + i32.const 6720 call $~lib/date/Date.fromString local.tee $0 i32.store offset=4 @@ -7590,10 +7592,10 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 6672 + i32.const 6992 i32.store offset=28 local.get $0 - i32.const 6672 + i32.const 6992 call $~lib/date/Date.fromString local.tee $0 i32.store offset=4 @@ -7611,10 +7613,10 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 6720 + i32.const 7040 i32.store offset=28 local.get $0 - i32.const 6720 + i32.const 7040 call $~lib/date/Date.fromString local.tee $0 i32.store offset=4 @@ -7632,10 +7634,10 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 6768 + i32.const 7088 i32.store offset=28 local.get $0 - i32.const 6768 + i32.const 7088 call $~lib/date/Date.fromString local.tee $0 i32.store offset=4 @@ -7653,10 +7655,10 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 6832 + i32.const 7152 i32.store offset=28 local.get $0 - i32.const 6832 + i32.const 7152 call $~lib/date/Date.fromString local.tee $0 i32.store offset=4 @@ -7674,10 +7676,10 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 6912 + i32.const 7232 i32.store offset=28 local.get $0 - i32.const 6912 + i32.const 7232 call $~lib/date/Date.fromString local.tee $0 i32.store offset=4 @@ -7695,10 +7697,10 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 6992 + i32.const 7312 i32.store offset=28 local.get $0 - i32.const 6992 + i32.const 7312 call $~lib/date/Date.fromString local.tee $0 i32.store offset=4 @@ -7716,10 +7718,10 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 7024 + i32.const 7344 i32.store offset=28 local.get $0 - i32.const 7024 + i32.const 7344 call $~lib/date/Date.fromString local.tee $0 i32.store offset=4 @@ -7737,10 +7739,10 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 7056 + i32.const 7376 i32.store offset=28 local.get $0 - i32.const 7056 + i32.const 7376 call $~lib/date/Date.fromString local.tee $0 i32.store offset=4 @@ -7758,10 +7760,10 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 7088 + i32.const 7408 i32.store offset=28 local.get $0 - i32.const 7088 + i32.const 7408 call $~lib/date/Date.fromString local.tee $0 i32.store offset=4 @@ -7779,10 +7781,10 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 6400 + i32.const 6720 i32.store offset=28 local.get $0 - i32.const 6400 + i32.const 6720 call $~lib/date/Date.fromString local.tee $0 i32.store offset=4 @@ -7800,10 +7802,10 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 7136 + i32.const 7456 i32.store offset=28 local.get $0 - i32.const 7136 + i32.const 7456 call $~lib/date/Date.fromString local.tee $0 i32.store offset=4 @@ -7821,10 +7823,10 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 6768 + i32.const 7088 i32.store offset=28 local.get $0 - i32.const 6768 + i32.const 7088 call $~lib/date/Date.fromString local.tee $0 i32.store offset=4 @@ -7954,10 +7956,10 @@ local.get $0 i32.store offset=28 local.get $3 - i32.const 7200 + i32.const 7520 i32.store offset=32 local.get $0 - i32.const 7200 + i32.const 7520 call $~lib/string/String.__eq i32.eqz if @@ -7976,10 +7978,10 @@ local.get $0 i32.store offset=28 local.get $2 - i32.const 7280 + i32.const 7600 i32.store offset=32 local.get $0 - i32.const 7280 + i32.const 7600 call $~lib/string/String.__eq i32.eqz if @@ -8136,10 +8138,10 @@ local.get $0 i32.store offset=28 local.get $3 - i32.const 7360 + i32.const 7680 i32.store offset=32 local.get $0 - i32.const 7360 + i32.const 7680 call $~lib/string/String.__eq i32.eqz if @@ -8158,10 +8160,10 @@ local.get $0 i32.store offset=28 local.get $2 - i32.const 7440 + i32.const 7760 i32.store offset=32 local.get $0 - i32.const 7440 + i32.const 7760 call $~lib/string/String.__eq i32.eqz if @@ -8192,11 +8194,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7564 + i32.const 7884 i32.lt_s if - i32.const 23968 - i32.const 24016 + i32.const 24288 + i32.const 24336 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -8255,134 +8257,6 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $~lib/string/String#padStart (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 7564 - i32.lt_s - if - i32.const 23968 - i32.const 24016 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - i32.const 1868 - i32.load - i32.const 1 - i32.shr_u - i32.const 1 - i32.shl - local.tee $2 - i32.eqz - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.const 1 - i32.shl - local.tee $4 - local.get $1 - i32.const 1 - i32.shl - local.tee $1 - i32.gt_u - i32.or - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store - local.get $1 - local.get $4 - i32.sub - local.tee $6 - local.get $2 - i32.gt_u - if - local.get $6 - local.get $6 - i32.const 2 - i32.sub - local.get $2 - i32.div_u - local.tee $7 - local.get $2 - i32.mul - local.tee $8 - i32.sub - local.set $1 - local.get $2 - local.get $7 - i32.mul - local.set $7 - loop $while-continue|0 - local.get $3 - local.get $7 - i32.lt_u - if - local.get $3 - local.get $5 - i32.add - i32.const 1872 - local.get $2 - memory.copy - local.get $2 - local.get $3 - i32.add - local.set $3 - br $while-continue|0 - end - end - local.get $5 - local.get $8 - i32.add - i32.const 1872 - local.get $1 - memory.copy - else - local.get $5 - i32.const 1872 - local.get $6 - memory.copy - end - local.get $5 - local.get $6 - i32.add - local.get $0 - local.get $4 - memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - ) (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) @@ -8391,11 +8265,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7564 + i32.const 7884 i32.lt_s if - i32.const 23968 - i32.const 24016 + i32.const 24288 + i32.const 24336 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -8507,11 +8381,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7564 + i32.const 7884 i32.lt_s if - i32.const 23968 - i32.const 24016 + i32.const 24288 + i32.const 24336 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -8564,11 +8438,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7564 + i32.const 7884 i32.lt_s if - i32.const 23968 - i32.const 24016 + i32.const 24288 + i32.const 24336 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -8583,7 +8457,7 @@ i32.ge_u if i32.const 1392 - i32.const 6496 + i32.const 6816 i32.const 114 i32.const 42 call $~lib/builtins/abort @@ -8602,8 +8476,8 @@ local.get $0 i32.eqz if - i32.const 6544 - i32.const 6496 + i32.const 6864 + i32.const 6816 i32.const 118 i32.const 40 call $~lib/builtins/abort