diff --git a/std/assembly/crypto.ts b/std/assembly/crypto.ts index 2eaa97e906..5bf4c500c2 100644 --- a/std/assembly/crypto.ts +++ b/std/assembly/crypto.ts @@ -5,7 +5,7 @@ import { export namespace crypto { export function getRandomValues(array: Uint8Array): void { - var err = random_get(changetype(array.buffer), array.byteLength); + var err = random_get(changetype(array.buffer) + array.byteOffset, array.byteLength); if (err) throw new Error(errnoToString(err)); } } diff --git a/tests/compiler/std-wasi/crypto.optimized.wat b/tests/compiler/std-wasi/crypto.optimized.wat index 3b5a61d686..ab521cd2fc 100644 --- a/tests/compiler/std-wasi/crypto.optimized.wat +++ b/tests/compiler/std-wasi/crypto.optimized.wat @@ -1,13 +1,13 @@ (module (type $i32_=>_none (func (param i32))) + (type $i32_=>_i32 (func (param i32) (result i32))) (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) (type $none_=>_none (func)) (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) + (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) (type $none_=>_i32 (func (result i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) (import "wasi_snapshot_preview1" "fd_write" (func $~lib/bindings/wasi_snapshot_preview1/fd_write (param i32 i32 i32 i32) (result i32))) (import "wasi_snapshot_preview1" "proc_exit" (func $~lib/bindings/wasi_snapshot_preview1/proc_exit (param i32))) @@ -27,186 +27,190 @@ (data (i32.const 1416) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1484) "<") (data (i32.const 1496) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1548) ",") - (data (i32.const 1560) "\01\00\00\00\0e\00\00\00S\00U\00C\00C\00E\00S\00S") - (data (i32.const 1596) "\1c") - (data (i32.const 1608) "\01\00\00\00\0c\00\00\00T\00O\00O\00B\00I\00G") - (data (i32.const 1628) "\1c") - (data (i32.const 1640) "\01\00\00\00\n\00\00\00A\00C\00C\00E\00S") - (data (i32.const 1660) ",") - (data (i32.const 1672) "\01\00\00\00\12\00\00\00A\00D\00D\00R\00I\00N\00U\00S\00E") - (data (i32.const 1708) ",") - (data (i32.const 1720) "\01\00\00\00\18\00\00\00A\00D\00D\00R\00N\00O\00T\00A\00V\00A\00I\00L") - (data (i32.const 1756) ",") - (data (i32.const 1768) "\01\00\00\00\16\00\00\00A\00F\00N\00O\00S\00U\00P\00P\00O\00R\00T") - (data (i32.const 1804) "\1c") - (data (i32.const 1816) "\01\00\00\00\n\00\00\00A\00G\00A\00I\00N") - (data (i32.const 1836) ",") - (data (i32.const 1848) "\01\00\00\00\0e\00\00\00A\00L\00R\00E\00A\00D\00Y") - (data (i32.const 1884) "\1c") - (data (i32.const 1896) "\01\00\00\00\08\00\00\00B\00A\00D\00F") - (data (i32.const 1916) "\1c") - (data (i32.const 1928) "\01\00\00\00\0c\00\00\00B\00A\00D\00M\00S\00G") + (data (i32.const 1548) "<") + (data (i32.const 1560) "\01\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1612) ",") + (data (i32.const 1624) "\01\00\00\00\0e\00\00\00S\00U\00C\00C\00E\00S\00S") + (data (i32.const 1660) "\1c") + (data (i32.const 1672) "\01\00\00\00\0c\00\00\00T\00O\00O\00B\00I\00G") + (data (i32.const 1692) "\1c") + (data (i32.const 1704) "\01\00\00\00\n\00\00\00A\00C\00C\00E\00S") + (data (i32.const 1724) ",") + (data (i32.const 1736) "\01\00\00\00\12\00\00\00A\00D\00D\00R\00I\00N\00U\00S\00E") + (data (i32.const 1772) ",") + (data (i32.const 1784) "\01\00\00\00\18\00\00\00A\00D\00D\00R\00N\00O\00T\00A\00V\00A\00I\00L") + (data (i32.const 1820) ",") + (data (i32.const 1832) "\01\00\00\00\16\00\00\00A\00F\00N\00O\00S\00U\00P\00P\00O\00R\00T") + (data (i32.const 1868) "\1c") + (data (i32.const 1880) "\01\00\00\00\n\00\00\00A\00G\00A\00I\00N") + (data (i32.const 1900) ",") + (data (i32.const 1912) "\01\00\00\00\0e\00\00\00A\00L\00R\00E\00A\00D\00Y") (data (i32.const 1948) "\1c") - (data (i32.const 1960) "\01\00\00\00\08\00\00\00B\00U\00S\00Y") - (data (i32.const 1980) ",") - (data (i32.const 1992) "\01\00\00\00\10\00\00\00C\00A\00N\00C\00E\00L\00E\00D") - (data (i32.const 2028) "\1c") - (data (i32.const 2040) "\01\00\00\00\n\00\00\00C\00H\00I\00L\00D") - (data (i32.const 2060) ",") - (data (i32.const 2072) "\01\00\00\00\16\00\00\00C\00O\00N\00N\00A\00B\00O\00R\00T\00E\00D") - (data (i32.const 2108) ",") - (data (i32.const 2120) "\01\00\00\00\16\00\00\00C\00O\00N\00N\00R\00E\00F\00U\00S\00E\00D") - (data (i32.const 2156) ",") - (data (i32.const 2168) "\01\00\00\00\12\00\00\00C\00O\00N\00N\00R\00E\00S\00E\00T") - (data (i32.const 2204) "\1c") - (data (i32.const 2216) "\01\00\00\00\0c\00\00\00D\00E\00A\00D\00L\00K") - (data (i32.const 2236) ",") - (data (i32.const 2248) "\01\00\00\00\16\00\00\00D\00E\00S\00T\00A\00D\00D\00R\00R\00E\00Q") - (data (i32.const 2284) "\1c") - (data (i32.const 2296) "\01\00\00\00\06\00\00\00D\00O\00M") - (data (i32.const 2316) "\1c") - (data (i32.const 2328) "\01\00\00\00\n\00\00\00D\00Q\00U\00O\00T") + (data (i32.const 1960) "\01\00\00\00\08\00\00\00B\00A\00D\00F") + (data (i32.const 1980) "\1c") + (data (i32.const 1992) "\01\00\00\00\0c\00\00\00B\00A\00D\00M\00S\00G") + (data (i32.const 2012) "\1c") + (data (i32.const 2024) "\01\00\00\00\08\00\00\00B\00U\00S\00Y") + (data (i32.const 2044) ",") + (data (i32.const 2056) "\01\00\00\00\10\00\00\00C\00A\00N\00C\00E\00L\00E\00D") + (data (i32.const 2092) "\1c") + (data (i32.const 2104) "\01\00\00\00\n\00\00\00C\00H\00I\00L\00D") + (data (i32.const 2124) ",") + (data (i32.const 2136) "\01\00\00\00\16\00\00\00C\00O\00N\00N\00A\00B\00O\00R\00T\00E\00D") + (data (i32.const 2172) ",") + (data (i32.const 2184) "\01\00\00\00\16\00\00\00C\00O\00N\00N\00R\00E\00F\00U\00S\00E\00D") + (data (i32.const 2220) ",") + (data (i32.const 2232) "\01\00\00\00\12\00\00\00C\00O\00N\00N\00R\00E\00S\00E\00T") + (data (i32.const 2268) "\1c") + (data (i32.const 2280) "\01\00\00\00\0c\00\00\00D\00E\00A\00D\00L\00K") + (data (i32.const 2300) ",") + (data (i32.const 2312) "\01\00\00\00\16\00\00\00D\00E\00S\00T\00A\00D\00D\00R\00R\00E\00Q") (data (i32.const 2348) "\1c") - (data (i32.const 2360) "\01\00\00\00\n\00\00\00E\00X\00I\00S\00T") + (data (i32.const 2360) "\01\00\00\00\06\00\00\00D\00O\00M") (data (i32.const 2380) "\1c") - (data (i32.const 2392) "\01\00\00\00\n\00\00\00F\00A\00U\00L\00T") + (data (i32.const 2392) "\01\00\00\00\n\00\00\00D\00Q\00U\00O\00T") (data (i32.const 2412) "\1c") - (data (i32.const 2424) "\01\00\00\00\08\00\00\00F\00B\00I\00G") - (data (i32.const 2444) ",") - (data (i32.const 2456) "\01\00\00\00\16\00\00\00H\00O\00S\00T\00U\00N\00R\00E\00A\00C\00H") - (data (i32.const 2492) "\1c") - (data (i32.const 2504) "\01\00\00\00\08\00\00\00I\00D\00R\00M") - (data (i32.const 2524) "\1c") - (data (i32.const 2536) "\01\00\00\00\n\00\00\00I\00L\00S\00E\00Q") - (data (i32.const 2556) ",") - (data (i32.const 2568) "\01\00\00\00\14\00\00\00I\00N\00P\00R\00O\00G\00R\00E\00S\00S") - (data (i32.const 2604) "\1c") - (data (i32.const 2616) "\01\00\00\00\08\00\00\00I\00N\00T\00R") - (data (i32.const 2636) "\1c") - (data (i32.const 2648) "\01\00\00\00\n\00\00\00I\00N\00V\00A\00L") + (data (i32.const 2424) "\01\00\00\00\n\00\00\00E\00X\00I\00S\00T") + (data (i32.const 2444) "\1c") + (data (i32.const 2456) "\01\00\00\00\n\00\00\00F\00A\00U\00L\00T") + (data (i32.const 2476) "\1c") + (data (i32.const 2488) "\01\00\00\00\08\00\00\00F\00B\00I\00G") + (data (i32.const 2508) ",") + (data (i32.const 2520) "\01\00\00\00\16\00\00\00H\00O\00S\00T\00U\00N\00R\00E\00A\00C\00H") + (data (i32.const 2556) "\1c") + (data (i32.const 2568) "\01\00\00\00\08\00\00\00I\00D\00R\00M") + (data (i32.const 2588) "\1c") + (data (i32.const 2600) "\01\00\00\00\n\00\00\00I\00L\00S\00E\00Q") + (data (i32.const 2620) ",") + (data (i32.const 2632) "\01\00\00\00\14\00\00\00I\00N\00P\00R\00O\00G\00R\00E\00S\00S") (data (i32.const 2668) "\1c") - (data (i32.const 2680) "\01\00\00\00\04\00\00\00I\00O") + (data (i32.const 2680) "\01\00\00\00\08\00\00\00I\00N\00T\00R") (data (i32.const 2700) "\1c") - (data (i32.const 2712) "\01\00\00\00\0c\00\00\00I\00S\00C\00O\00N\00N") + (data (i32.const 2712) "\01\00\00\00\n\00\00\00I\00N\00V\00A\00L") (data (i32.const 2732) "\1c") - (data (i32.const 2744) "\01\00\00\00\n\00\00\00I\00S\00D\00I\00R") + (data (i32.const 2744) "\01\00\00\00\04\00\00\00I\00O") (data (i32.const 2764) "\1c") - (data (i32.const 2776) "\01\00\00\00\08\00\00\00L\00O\00O\00P") + (data (i32.const 2776) "\01\00\00\00\0c\00\00\00I\00S\00C\00O\00N\00N") (data (i32.const 2796) "\1c") - (data (i32.const 2808) "\01\00\00\00\n\00\00\00M\00F\00I\00L\00E") + (data (i32.const 2808) "\01\00\00\00\n\00\00\00I\00S\00D\00I\00R") (data (i32.const 2828) "\1c") - (data (i32.const 2840) "\01\00\00\00\n\00\00\00M\00L\00I\00N\00K") - (data (i32.const 2860) ",") - (data (i32.const 2872) "\01\00\00\00\0e\00\00\00M\00S\00G\00S\00I\00Z\00E") - (data (i32.const 2908) ",") - (data (i32.const 2920) "\01\00\00\00\10\00\00\00M\00U\00L\00T\00I\00H\00O\00P") - (data (i32.const 2956) ",") - (data (i32.const 2968) "\01\00\00\00\16\00\00\00N\00A\00M\00E\00T\00O\00O\00L\00O\00N\00G") - (data (i32.const 3004) ",") - (data (i32.const 3016) "\01\00\00\00\0e\00\00\00N\00E\00T\00D\00O\00W\00N") - (data (i32.const 3052) ",") - (data (i32.const 3064) "\01\00\00\00\10\00\00\00N\00E\00T\00R\00E\00S\00E\00T") - (data (i32.const 3100) ",") - (data (i32.const 3112) "\01\00\00\00\14\00\00\00N\00E\00T\00U\00N\00R\00E\00A\00C\00H") - (data (i32.const 3148) "\1c") - (data (i32.const 3160) "\01\00\00\00\n\00\00\00N\00F\00I\00L\00E") - (data (i32.const 3180) "\1c") - (data (i32.const 3192) "\01\00\00\00\0c\00\00\00N\00O\00B\00U\00F\00S") + (data (i32.const 2840) "\01\00\00\00\08\00\00\00L\00O\00O\00P") + (data (i32.const 2860) "\1c") + (data (i32.const 2872) "\01\00\00\00\n\00\00\00M\00F\00I\00L\00E") + (data (i32.const 2892) "\1c") + (data (i32.const 2904) "\01\00\00\00\n\00\00\00M\00L\00I\00N\00K") + (data (i32.const 2924) ",") + (data (i32.const 2936) "\01\00\00\00\0e\00\00\00M\00S\00G\00S\00I\00Z\00E") + (data (i32.const 2972) ",") + (data (i32.const 2984) "\01\00\00\00\10\00\00\00M\00U\00L\00T\00I\00H\00O\00P") + (data (i32.const 3020) ",") + (data (i32.const 3032) "\01\00\00\00\16\00\00\00N\00A\00M\00E\00T\00O\00O\00L\00O\00N\00G") + (data (i32.const 3068) ",") + (data (i32.const 3080) "\01\00\00\00\0e\00\00\00N\00E\00T\00D\00O\00W\00N") + (data (i32.const 3116) ",") + (data (i32.const 3128) "\01\00\00\00\10\00\00\00N\00E\00T\00R\00E\00S\00E\00T") + (data (i32.const 3164) ",") + (data (i32.const 3176) "\01\00\00\00\14\00\00\00N\00E\00T\00U\00N\00R\00E\00A\00C\00H") (data (i32.const 3212) "\1c") - (data (i32.const 3224) "\01\00\00\00\n\00\00\00N\00O\00D\00E\00V") + (data (i32.const 3224) "\01\00\00\00\n\00\00\00N\00F\00I\00L\00E") (data (i32.const 3244) "\1c") - (data (i32.const 3256) "\01\00\00\00\n\00\00\00N\00O\00E\00N\00T") + (data (i32.const 3256) "\01\00\00\00\0c\00\00\00N\00O\00B\00U\00F\00S") (data (i32.const 3276) "\1c") - (data (i32.const 3288) "\01\00\00\00\0c\00\00\00N\00O\00E\00X\00E\00C") + (data (i32.const 3288) "\01\00\00\00\n\00\00\00N\00O\00D\00E\00V") (data (i32.const 3308) "\1c") - (data (i32.const 3320) "\01\00\00\00\n\00\00\00N\00O\00L\00C\00K") + (data (i32.const 3320) "\01\00\00\00\n\00\00\00N\00O\00E\00N\00T") (data (i32.const 3340) "\1c") - (data (i32.const 3352) "\01\00\00\00\0c\00\00\00N\00O\00L\00I\00N\00K") + (data (i32.const 3352) "\01\00\00\00\0c\00\00\00N\00O\00E\00X\00E\00C") (data (i32.const 3372) "\1c") - (data (i32.const 3384) "\01\00\00\00\n\00\00\00N\00O\00M\00E\00M") + (data (i32.const 3384) "\01\00\00\00\n\00\00\00N\00O\00L\00C\00K") (data (i32.const 3404) "\1c") - (data (i32.const 3416) "\01\00\00\00\n\00\00\00N\00O\00M\00S\00G") - (data (i32.const 3436) ",") - (data (i32.const 3448) "\01\00\00\00\14\00\00\00N\00O\00P\00R\00O\00T\00O\00O\00P\00T") - (data (i32.const 3484) "\1c") - (data (i32.const 3496) "\01\00\00\00\n\00\00\00N\00O\00S\00P\00C") - (data (i32.const 3516) "\1c") - (data (i32.const 3528) "\01\00\00\00\n\00\00\00N\00O\00S\00Y\00S") - (data (i32.const 3548) ",") - (data (i32.const 3560) "\01\00\00\00\0e\00\00\00N\00O\00T\00C\00O\00N\00N") - (data (i32.const 3596) "\1c") - (data (i32.const 3608) "\01\00\00\00\0c\00\00\00N\00O\00T\00D\00I\00R") - (data (i32.const 3628) ",") - (data (i32.const 3640) "\01\00\00\00\10\00\00\00N\00O\00T\00E\00M\00P\00T\00Y") - (data (i32.const 3676) ",") - (data (i32.const 3688) "\01\00\00\00\1c\00\00\00N\00O\00T\00R\00E\00C\00O\00V\00E\00R\00A\00B\00L\00E") - (data (i32.const 3724) ",") - (data (i32.const 3736) "\01\00\00\00\0e\00\00\00N\00O\00T\00S\00O\00C\00K") - (data (i32.const 3772) "\1c") - (data (i32.const 3784) "\01\00\00\00\0c\00\00\00N\00O\00T\00S\00U\00P") - (data (i32.const 3804) "\1c") - (data (i32.const 3816) "\01\00\00\00\n\00\00\00N\00O\00T\00T\00Y") + (data (i32.const 3416) "\01\00\00\00\0c\00\00\00N\00O\00L\00I\00N\00K") + (data (i32.const 3436) "\1c") + (data (i32.const 3448) "\01\00\00\00\n\00\00\00N\00O\00M\00E\00M") + (data (i32.const 3468) "\1c") + (data (i32.const 3480) "\01\00\00\00\n\00\00\00N\00O\00M\00S\00G") + (data (i32.const 3500) ",") + (data (i32.const 3512) "\01\00\00\00\14\00\00\00N\00O\00P\00R\00O\00T\00O\00O\00P\00T") + (data (i32.const 3548) "\1c") + (data (i32.const 3560) "\01\00\00\00\n\00\00\00N\00O\00S\00P\00C") + (data (i32.const 3580) "\1c") + (data (i32.const 3592) "\01\00\00\00\n\00\00\00N\00O\00S\00Y\00S") + (data (i32.const 3612) ",") + (data (i32.const 3624) "\01\00\00\00\0e\00\00\00N\00O\00T\00C\00O\00N\00N") + (data (i32.const 3660) "\1c") + (data (i32.const 3672) "\01\00\00\00\0c\00\00\00N\00O\00T\00D\00I\00R") + (data (i32.const 3692) ",") + (data (i32.const 3704) "\01\00\00\00\10\00\00\00N\00O\00T\00E\00M\00P\00T\00Y") + (data (i32.const 3740) ",") + (data (i32.const 3752) "\01\00\00\00\1c\00\00\00N\00O\00T\00R\00E\00C\00O\00V\00E\00R\00A\00B\00L\00E") + (data (i32.const 3788) ",") + (data (i32.const 3800) "\01\00\00\00\0e\00\00\00N\00O\00T\00S\00O\00C\00K") (data (i32.const 3836) "\1c") - (data (i32.const 3848) "\01\00\00\00\08\00\00\00N\00X\00I\00O") - (data (i32.const 3868) ",") - (data (i32.const 3880) "\01\00\00\00\10\00\00\00O\00V\00E\00R\00F\00L\00O\00W") - (data (i32.const 3916) ",") - (data (i32.const 3928) "\01\00\00\00\12\00\00\00O\00W\00N\00E\00R\00D\00E\00A\00D") - (data (i32.const 3964) "\1c") - (data (i32.const 3976) "\01\00\00\00\08\00\00\00P\00E\00R\00M") - (data (i32.const 3996) "\1c") - (data (i32.const 4008) "\01\00\00\00\08\00\00\00P\00I\00P\00E") + (data (i32.const 3848) "\01\00\00\00\0c\00\00\00N\00O\00T\00S\00U\00P") + (data (i32.const 3868) "\1c") + (data (i32.const 3880) "\01\00\00\00\n\00\00\00N\00O\00T\00T\00Y") + (data (i32.const 3900) "\1c") + (data (i32.const 3912) "\01\00\00\00\08\00\00\00N\00X\00I\00O") + (data (i32.const 3932) ",") + (data (i32.const 3944) "\01\00\00\00\10\00\00\00O\00V\00E\00R\00F\00L\00O\00W") + (data (i32.const 3980) ",") + (data (i32.const 3992) "\01\00\00\00\12\00\00\00O\00W\00N\00E\00R\00D\00E\00A\00D") (data (i32.const 4028) "\1c") - (data (i32.const 4040) "\01\00\00\00\n\00\00\00P\00R\00O\00T\00O") - (data (i32.const 4060) ",") - (data (i32.const 4072) "\01\00\00\00\1c\00\00\00P\00R\00O\00T\00O\00N\00O\00S\00U\00P\00P\00O\00R\00T") - (data (i32.const 4108) ",") - (data (i32.const 4120) "\01\00\00\00\12\00\00\00P\00R\00O\00T\00O\00T\00Y\00P\00E") - (data (i32.const 4156) "\1c") - (data (i32.const 4168) "\01\00\00\00\n\00\00\00R\00A\00N\00G\00E") - (data (i32.const 4188) "\1c") - (data (i32.const 4200) "\01\00\00\00\08\00\00\00R\00O\00F\00S") + (data (i32.const 4040) "\01\00\00\00\08\00\00\00P\00E\00R\00M") + (data (i32.const 4060) "\1c") + (data (i32.const 4072) "\01\00\00\00\08\00\00\00P\00I\00P\00E") + (data (i32.const 4092) "\1c") + (data (i32.const 4104) "\01\00\00\00\n\00\00\00P\00R\00O\00T\00O") + (data (i32.const 4124) ",") + (data (i32.const 4136) "\01\00\00\00\1c\00\00\00P\00R\00O\00T\00O\00N\00O\00S\00U\00P\00P\00O\00R\00T") + (data (i32.const 4172) ",") + (data (i32.const 4184) "\01\00\00\00\12\00\00\00P\00R\00O\00T\00O\00T\00Y\00P\00E") (data (i32.const 4220) "\1c") - (data (i32.const 4232) "\01\00\00\00\n\00\00\00S\00P\00I\00P\00E") + (data (i32.const 4232) "\01\00\00\00\n\00\00\00R\00A\00N\00G\00E") (data (i32.const 4252) "\1c") - (data (i32.const 4264) "\01\00\00\00\08\00\00\00S\00R\00C\00H") + (data (i32.const 4264) "\01\00\00\00\08\00\00\00R\00O\00F\00S") (data (i32.const 4284) "\1c") - (data (i32.const 4296) "\01\00\00\00\n\00\00\00S\00T\00A\00L\00E") - (data (i32.const 4316) ",") - (data (i32.const 4328) "\01\00\00\00\10\00\00\00T\00I\00M\00E\00D\00O\00U\00T") - (data (i32.const 4364) "\1c") - (data (i32.const 4376) "\01\00\00\00\0c\00\00\00T\00X\00T\00B\00S\00Y") - (data (i32.const 4396) "\1c") - (data (i32.const 4408) "\01\00\00\00\08\00\00\00X\00D\00E\00V") - (data (i32.const 4428) ",") - (data (i32.const 4440) "\01\00\00\00\14\00\00\00N\00O\00T\00C\00A\00P\00A\00B\00L\00E") - (data (i32.const 4476) ",") - (data (i32.const 4488) "\01\00\00\00\0e\00\00\00U\00N\00K\00N\00O\00W\00N") - (data (i32.const 4524) ",") - (data (i32.const 4536) "\01\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00c\00r\00y\00p\00t\00o\00.\00t\00s") - (data (i32.const 4572) "L") - (data (i32.const 4584) "\01\00\00\000\00\00\00c\00r\00y\00p\00t\00o\00.\00g\00e\00t\00R\00a\00n\00d\00o\00m\00V\00a\00l\00u\00e\00s\00:\00 ") - (data (i32.const 4652) "\1c") - (data (i32.const 4664) "\01") - (data (i32.const 4684) "|") - (data (i32.const 4696) "\01\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") - (data (i32.const 4812) "<") - (data (i32.const 4824) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") - (data (i32.const 4876) "\1c") - (data (i32.const 4888) "\01\00\00\00\02\00\00\000") - (data (i32.const 4908) "\\") - (data (i32.const 4920) "\01\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z") - (data (i32.const 5004) "\1c") - (data (i32.const 5016) "\01\00\00\00\02\00\00\00,") - (data (i32.const 5036) "\1c") - (data (i32.const 5048) "\01\00\00\00\08\00\00\00n\00u\00l\00l") - (data (i32.const 5100) "<") - (data (i32.const 5112) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00p\00r\00o\00c\00e\00s\00s\00.\00t\00s") - (data (i32.const 5164) "\1c") - (data (i32.const 5176) "\01\00\00\00\02\00\00\00\n") - (data (i32.const 5200) "\04\00\00\00 \00\00\00\00\00\00\00 ") - (data (i32.const 5228) "A\00\00\00\02") + (data (i32.const 4296) "\01\00\00\00\n\00\00\00S\00P\00I\00P\00E") + (data (i32.const 4316) "\1c") + (data (i32.const 4328) "\01\00\00\00\08\00\00\00S\00R\00C\00H") + (data (i32.const 4348) "\1c") + (data (i32.const 4360) "\01\00\00\00\n\00\00\00S\00T\00A\00L\00E") + (data (i32.const 4380) ",") + (data (i32.const 4392) "\01\00\00\00\10\00\00\00T\00I\00M\00E\00D\00O\00U\00T") + (data (i32.const 4428) "\1c") + (data (i32.const 4440) "\01\00\00\00\0c\00\00\00T\00X\00T\00B\00S\00Y") + (data (i32.const 4460) "\1c") + (data (i32.const 4472) "\01\00\00\00\08\00\00\00X\00D\00E\00V") + (data (i32.const 4492) ",") + (data (i32.const 4504) "\01\00\00\00\14\00\00\00N\00O\00T\00C\00A\00P\00A\00B\00L\00E") + (data (i32.const 4540) ",") + (data (i32.const 4552) "\01\00\00\00\0e\00\00\00U\00N\00K\00N\00O\00W\00N") + (data (i32.const 4588) ",") + (data (i32.const 4600) "\01\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00c\00r\00y\00p\00t\00o\00.\00t\00s") + (data (i32.const 4636) "L") + (data (i32.const 4648) "\01\00\00\000\00\00\00c\00r\00y\00p\00t\00o\00.\00g\00e\00t\00R\00a\00n\00d\00o\00m\00V\00a\00l\00u\00e\00s\00:\00 ") + (data (i32.const 4716) "\1c") + (data (i32.const 4728) "\01") + (data (i32.const 4748) "|") + (data (i32.const 4760) "\01\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") + (data (i32.const 4876) "<") + (data (i32.const 4888) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") + (data (i32.const 4940) "\1c") + (data (i32.const 4952) "\01\00\00\00\02\00\00\000") + (data (i32.const 4972) "\\") + (data (i32.const 4984) "\01\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z") + (data (i32.const 5068) "\1c") + (data (i32.const 5080) "\01\00\00\00\02\00\00\00,") + (data (i32.const 5100) "\1c") + (data (i32.const 5112) "\01\00\00\00\08\00\00\00n\00u\00l\00l") + (data (i32.const 5164) "<") + (data (i32.const 5176) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00p\00r\00o\00c\00e\00s\00s\00.\00t\00s") + (data (i32.const 5228) "\1c") + (data (i32.const 5240) "\01\00\00\00\02\00\00\00\n") + (data (i32.const 5260) "<") + (data (i32.const 5272) "\01\00\00\00$\00\00\00s\00t\00d\00-\00w\00a\00s\00i\00/\00c\00r\00y\00p\00t\00o\00.\00t\00s") + (data (i32.const 5328) "\04\00\00\00 \00\00\00\00\00\00\00 ") + (data (i32.const 5356) "A\00\00\00\02") (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) (global $~lib/rt/itcms/threshold (mut i32) (i32.const 1024)) (global $~lib/rt/itcms/state (mut i32) (i32.const 0)) @@ -217,8 +221,11 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) + (global $std-wasi/crypto/ab (mut i32) (i32.const 0)) (global $std-wasi/crypto/buf (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 21620)) + (global $std-wasi/crypto/b1 (mut i32) (i32.const 0)) + (global $std-wasi/crypto/b2 (mut i32) (i32.const 0)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 21748)) (global $~started (mut i32) (i32.const 0)) (export "memory" (memory $0)) (export "_start" (func $~start)) @@ -448,19 +455,37 @@ (func $~lib/rt/itcms/visitRoots (local $0 i32) (local $1 i32) + global.get $std-wasi/crypto/ab + local.tee $0 + if + local.get $0 + call $~lib/rt/itcms/__visit + end global.get $std-wasi/crypto/buf local.tee $0 if local.get $0 call $~lib/rt/itcms/__visit end + global.get $std-wasi/crypto/b1 + local.tee $0 + if + local.get $0 + call $~lib/rt/itcms/__visit + end + global.get $std-wasi/crypto/b2 + local.tee $0 + if + local.get $0 + call $~lib/rt/itcms/__visit + end i32.const 1360 call $~lib/rt/itcms/__visit i32.const 1056 call $~lib/rt/itcms/__visit i32.const 1168 call $~lib/rt/itcms/__visit - i32.const 4928 + i32.const 4992 call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 @@ -572,7 +597,7 @@ if i32.const 0 local.get $0 - i32.const 21620 + i32.const 21748 i32.lt_u local.get $0 i32.load offset=8 @@ -618,7 +643,7 @@ i32.const 1 else local.get $1 - i32.const 5200 + i32.const 5328 i32.load i32.gt_u if @@ -632,7 +657,7 @@ local.get $1 i32.const 3 i32.shl - i32.const 5204 + i32.const 5332 i32.add i32.load i32.const 32 @@ -1237,10 +1262,10 @@ if unreachable end - i32.const 21632 + i32.const 21760 i32.const 0 i32.store - i32.const 23200 + i32.const 23328 i32.const 0 i32.store loop $for-loop|0 @@ -1251,7 +1276,7 @@ local.get $1 i32.const 2 i32.shl - i32.const 21632 + i32.const 21760 i32.add i32.const 0 i32.store offset=4 @@ -1269,7 +1294,7 @@ i32.add i32.const 2 i32.shl - i32.const 21632 + i32.const 21760 i32.add i32.const 0 i32.store offset=96 @@ -1287,20 +1312,20 @@ br $for-loop|0 end end - i32.const 21632 - i32.const 23204 + i32.const 21760 + i32.const 23332 memory.size i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 21632 + i32.const 21760 global.set $~lib/rt/tlsf/ROOT ) (func $~lib/rt/tlsf/__free (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 - i32.const 21620 + i32.const 21748 i32.lt_u if return @@ -1424,7 +1449,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 21620 + i32.const 21748 i32.lt_u if local.get $0 @@ -1514,7 +1539,7 @@ unreachable end local.get $0 - i32.const 21620 + i32.const 21748 i32.lt_u if local.get $0 @@ -2143,61 +2168,60 @@ call $~lib/memory/memory.fill local.get $1 ) - (func $~lib/arraybuffer/ArrayBufferView#set:buffer (param $0 i32) (param $1 i32) + (func $~lib/rt/itcms/__link (param $0 i32) (param $1 i32) (local $2 i32) - local.get $0 local.get $1 - i32.store + i32.eqz + if + return + end + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1232 + i32.const 294 + i32.const 14 + call $~lib/wasi/index/abort + unreachable + end + global.get $~lib/rt/itcms/white local.get $1 + i32.const 20 + i32.sub + local.tee $1 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq if local.get $0 - i32.eqz - if - i32.const 0 - i32.const 1232 - i32.const 294 - i32.const 14 - call $~lib/wasi/index/abort - unreachable - end - global.get $~lib/rt/itcms/white - local.get $1 i32.const 20 i32.sub - local.tee $1 i32.load offset=4 i32.const 3 i32.and + local.tee $0 + local.set $2 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz i32.eq if - local.get $0 - i32.const 20 - i32.sub - i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/Object#makeGray + else + global.get $~lib/rt/itcms/state + i32.const 1 + i32.eq + i32.const 0 + local.get $2 i32.const 3 - i32.and - local.tee $0 - local.set $2 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz i32.eq + select if local.get $1 call $~lib/rt/itcms/Object#makeGray - else - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - i32.const 0 - local.get $2 - i32.const 3 - i32.eq - select - if - local.get $1 - call $~lib/rt/itcms/Object#makeGray - end end end end @@ -2286,257 +2310,238 @@ i32.and br_table $case0|0 $case1|0 $case2|0 $case3|0 $case4|0 $case5|0 $case6|0 $case7|0 $case8|0 $case9|0 $case10|0 $case11|0 $case12|0 $case13|0 $case14|0 $case15|0 $case16|0 $case17|0 $case18|0 $case19|0 $case20|0 $case21|0 $case22|0 $case23|0 $case24|0 $case25|0 $case26|0 $case27|0 $case28|0 $case29|0 $case30|0 $case31|0 $case32|0 $case33|0 $case34|0 $case35|0 $case36|0 $case37|0 $case38|0 $case39|0 $case40|0 $case41|0 $case42|0 $case43|0 $case44|0 $case45|0 $case46|0 $case47|0 $case48|0 $case49|0 $case50|0 $case51|0 $case52|0 $case53|0 $case54|0 $case55|0 $case56|0 $case57|0 $case58|0 $case59|0 $case60|0 $case61|0 $case62|0 $case63|0 $case64|0 $case65|0 $case66|0 $case67|0 $case68|0 $case69|0 $case70|0 $case71|0 $case72|0 $case73|0 $case74|0 $case75|0 $case76|0 $break|0 end - i32.const 1568 + i32.const 1632 return end - i32.const 1616 + i32.const 1680 return end - i32.const 1648 + i32.const 1712 return end - i32.const 1680 + i32.const 1744 return end - i32.const 1728 + i32.const 1792 return end - i32.const 1776 + i32.const 1840 return end - i32.const 1824 + i32.const 1888 return end - i32.const 1856 + i32.const 1920 return end - i32.const 1904 + i32.const 1968 return end - i32.const 1936 + i32.const 2000 return end - i32.const 1968 + i32.const 2032 return end - i32.const 2000 + i32.const 2064 return end - i32.const 2048 + i32.const 2112 return end - i32.const 2080 + i32.const 2144 return end - i32.const 2128 + i32.const 2192 return end - i32.const 2176 + i32.const 2240 return end - i32.const 2224 + i32.const 2288 return end - i32.const 2256 + i32.const 2320 return end - i32.const 2304 + i32.const 2368 return end - i32.const 2336 + i32.const 2400 return end - i32.const 2368 + i32.const 2432 return end - i32.const 2400 + i32.const 2464 return end - i32.const 2432 + i32.const 2496 return end - i32.const 2464 + i32.const 2528 return end - i32.const 2512 + i32.const 2576 return end - i32.const 2544 + i32.const 2608 return end - i32.const 2576 + i32.const 2640 return end - i32.const 2624 + i32.const 2688 return end - i32.const 2656 + i32.const 2720 return end - i32.const 2688 + i32.const 2752 return end - i32.const 2720 + i32.const 2784 return end - i32.const 2752 + i32.const 2816 return end - i32.const 2784 + i32.const 2848 return end - i32.const 2816 + i32.const 2880 return end - i32.const 2848 + i32.const 2912 return end - i32.const 2880 + i32.const 2944 return end - i32.const 2928 + i32.const 2992 return end - i32.const 2976 + i32.const 3040 return end - i32.const 3024 + i32.const 3088 return end - i32.const 3072 + i32.const 3136 return end - i32.const 3120 + i32.const 3184 return end - i32.const 3168 + i32.const 3232 return end - i32.const 3200 + i32.const 3264 return end - i32.const 3232 + i32.const 3296 return end - i32.const 3264 + i32.const 3328 return end - i32.const 3296 + i32.const 3360 return end - i32.const 3328 + i32.const 3392 return end - i32.const 3360 + i32.const 3424 return end - i32.const 3392 + i32.const 3456 return end - i32.const 3424 + i32.const 3488 return end - i32.const 3456 + i32.const 3520 return end - i32.const 3504 + i32.const 3568 return end - i32.const 3536 + i32.const 3600 return end - i32.const 3568 + i32.const 3632 return end - i32.const 3616 + i32.const 3680 return end - i32.const 3648 + i32.const 3712 return end - i32.const 3696 + i32.const 3760 return end - i32.const 3744 + i32.const 3808 return end - i32.const 3792 + i32.const 3856 return end - i32.const 3824 + i32.const 3888 return end - i32.const 3856 + i32.const 3920 return end - i32.const 3888 + i32.const 3952 return end - i32.const 3936 + i32.const 4000 return end - i32.const 3984 + i32.const 4048 return end - i32.const 4016 + i32.const 4080 return end - i32.const 4048 + i32.const 4112 return end - i32.const 4080 + i32.const 4144 return end - i32.const 4128 + i32.const 4192 return end - i32.const 4176 + i32.const 4240 return end - i32.const 4208 + i32.const 4272 return end - i32.const 4240 + i32.const 4304 return end - i32.const 4272 + i32.const 4336 return end - i32.const 4304 + i32.const 4368 return end - i32.const 4336 + i32.const 4400 return end - i32.const 4384 + i32.const 4448 return end - i32.const 4416 + i32.const 4480 return end - i32.const 4448 + i32.const 4512 return end - i32.const 4496 - ) - (func $~lib/crypto/crypto.getRandomValues (param $0 i32) - local.get $0 - i32.load - local.get $0 - i32.load offset=8 - call $~lib/bindings/wasi_snapshot_preview1/random_get - local.tee $0 - i32.const 65535 - i32.and - if - local.get $0 - call $~lib/bindings/wasi_snapshot_preview1/errnoToString - i32.const 4544 - i32.const 9 - i32.const 14 - call $~lib/wasi/index/abort - unreachable - end + i32.const 4560 ) (func $~lib/util/number/utoa_dec_simple (param $0 i32) (param $1 i32) (param $2 i32) loop $do-continue|0 @@ -2764,6 +2769,33 @@ end end ) + (func $~lib/arraybuffer/ArrayBufferView#set:buffer (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + local.get $0 + local.get $1 + call $~lib/rt/itcms/__link + ) + (func $~lib/typedarray/Uint8Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.ge_u + if + i32.const 1360 + i32.const 1568 + i32.const 159 + i32.const 45 + call $~lib/wasi/index/abort + unreachable + end + local.get $1 + local.get $0 + i32.load offset=4 + i32.add + i32.load8_u + ) (func $~lib/rt/__visit_members (param $0 i32) block $folding-inner0 block $invalid @@ -2800,11 +2832,11 @@ ) (func $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 5236 + i32.const 5364 i32.lt_s if - i32.const 21648 - i32.const 21696 + i32.const 21776 + i32.const 21824 i32.const 1 i32.const 1 call $~lib/wasi/index/abort @@ -2954,6 +2986,145 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/typedarray/Uint8Array.wrap (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 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 + global.get $~lib/memory/__stack_pointer + local.get $0 + local.tee $3 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 + local.get $3 + i32.const 20 + i32.sub + i32.load offset=16 + local.tee $4 + local.get $1 + i32.lt_u + if + i32.const 1360 + i32.const 1568 + i32.const 1826 + i32.const 5 + call $~lib/wasi/index/abort + unreachable + end + local.get $2 + i32.const 0 + i32.lt_s + if + local.get $2 + i32.const -1 + i32.eq + if (result i32) + local.get $4 + local.get $1 + i32.sub + else + i32.const 1056 + i32.const 1568 + i32.const 1835 + i32.const 7 + call $~lib/wasi/index/abort + unreachable + end + local.set $0 + else + local.get $4 + local.get $1 + local.get $2 + local.tee $0 + i32.add + i32.lt_s + if + i32.const 1056 + i32.const 1568 + i32.const 1840 + i32.const 7 + call $~lib/wasi/index/abort + unreachable + end + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store offset=8 + local.get $2 + local.get $3 + i32.store + local.get $2 + local.get $3 + call $~lib/rt/itcms/__link + local.get $2 + local.get $0 + i32.store offset=8 + local.get $2 + local.get $1 + local.get $3 + i32.add + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/crypto/crypto.getRandomValues (param $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.load + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load offset=4 + local.get $0 + i32.load + i32.sub + i32.add + local.get $0 + i32.load offset=8 + call $~lib/bindings/wasi_snapshot_preview1/random_get + local.tee $0 + i32.const 65535 + i32.and + if + local.get $0 + call $~lib/bindings/wasi_snapshot_preview1/errnoToString + i32.const 4608 + i32.const 9 + i32.const 14 + call $~lib/wasi/index/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) @@ -3019,7 +3190,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - i32.const 4672 + i32.const 4736 return end i32.const 0 @@ -3081,7 +3252,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - i32.const 4672 + i32.const 4736 return end block $folding-inner0 @@ -3107,7 +3278,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const 4896 + i32.const 4960 local.set $0 br $__inlined_func$~lib/util/number/utoa32 end @@ -3134,11 +3305,11 @@ br $folding-inner0 end global.get $~lib/memory/__stack_pointer - i32.const 5024 + i32.const 5088 i32.store global.get $~lib/memory/__stack_pointer local.get $3 - i32.const 5020 + i32.const 5084 i32.load i32.const 1 i32.shr_u @@ -3180,7 +3351,7 @@ i32.const 1 i32.shl i32.add - i32.const 5024 + i32.const 5088 local.get $4 i32.const 1 i32.shl @@ -3249,7 +3420,7 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 5024 + i32.const 5088 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -3267,7 +3438,7 @@ local.get $0 i32.load offset=8 global.get $~lib/memory/__stack_pointer - i32.const 5024 + i32.const 5088 i32.store call $~lib/util/string/joinIntegerArray global.get $~lib/memory/__stack_pointer @@ -3292,7 +3463,7 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i32.const 4592 + i32.const 4656 i32.store global.get $~lib/memory/__stack_pointer local.get $0 @@ -3312,15 +3483,15 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 5056 + i32.const 5120 i32.store - i32.const 5056 + i32.const 5120 local.set $0 end global.get $~lib/memory/__stack_pointer - i32.const 4592 + i32.const 4656 i32.store offset=4 - i32.const 4588 + i32.const 4652 i32.load i32.const 1 i32.shr_u @@ -3350,7 +3521,7 @@ i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - i32.const 4672 + i32.const 4736 local.set $1 br $__inlined_func$~lib/string/String#concat end @@ -3361,7 +3532,7 @@ local.tee $1 i32.store offset=8 local.get $1 - i32.const 4592 + i32.const 4656 local.get $2 call $~lib/memory/memory.copy local.get $1 @@ -3444,10 +3615,10 @@ i32.const 128 i32.ge_u br_if $break|0 - i32.const 5072 - i32.const 5080 + i32.const 5136 + i32.const 5144 i32.store - i32.const 5076 + i32.const 5140 local.get $3 i32.const -1 i32.ne @@ -3462,7 +3633,7 @@ i32.ne i32.add i32.store - i32.const 5080 + i32.const 5144 local.get $2 local.get $3 i32.const 8 @@ -3478,9 +3649,9 @@ i32.or i32.store i32.const 1 - i32.const 5072 + i32.const 5136 i32.const 1 - i32.const 5084 + i32.const 5148 call $~lib/bindings/wasi_snapshot_preview1/fd_write local.tee $0 i32.const 65535 @@ -3488,7 +3659,7 @@ if local.get $0 call $~lib/bindings/wasi_snapshot_preview1/errnoToString - i32.const 5120 + i32.const 5184 i32.const 178 i32.const 16 call $~lib/wasi/index/abort @@ -3601,22 +3772,22 @@ i32.ne if i32.const 0 - i32.const 5120 + i32.const 5184 i32.const 184 i32.const 3 call $~lib/wasi/index/abort unreachable end - i32.const 5072 + i32.const 5136 local.get $1 i32.store - i32.const 5076 + i32.const 5140 local.get $2 i32.store i32.const 1 - i32.const 5072 + i32.const 5136 i32.const 1 - i32.const 5080 + i32.const 5144 call $~lib/bindings/wasi_snapshot_preview1/fd_write local.set $0 local.get $1 @@ -3627,7 +3798,7 @@ if local.get $0 call $~lib/bindings/wasi_snapshot_preview1/errnoToString - i32.const 5120 + i32.const 5184 i32.const 189 i32.const 12 call $~lib/wasi/index/abort @@ -3672,39 +3843,19 @@ local.get $0 call $~lib/process/WritableStream#write<~lib/string/String> global.get $~lib/memory/__stack_pointer - i32.const 5184 + i32.const 5248 i32.store - i32.const 5184 + i32.const 5248 call $~lib/process/WritableStream#write<~lib/string/String> global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $start:std-wasi/crypto - (local $0 i32) + (func $~lib/typedarray/Uint8Array#constructor (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - 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 - i64.const 0 - i64.store offset=8 - i32.const 1280 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/pinSpace - i32.const 1312 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/toSpace - i32.const 1456 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/fromSpace + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -3717,10 +3868,10 @@ i32.const 12 i32.const 3 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -3731,82 +3882,180 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $0 + local.get $1 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 2 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store end - local.get $0 + local.get $1 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $0 + local.get $1 i32.const 0 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.store offset=8 + local.get $0 + i32.const 1073741820 + i32.gt_u + if + i32.const 1056 + i32.const 1104 + i32.const 18 + i32.const 57 + call $~lib/wasi/index/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $0 i32.const 0 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $2 i32.store offset=4 - local.get $1 - i32.const 8 - call $~lib/memory/memory.fill + local.get $2 local.get $0 + call $~lib/memory/memory.fill local.get $1 + local.get $2 call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $0 local.get $1 + local.get $2 i32.store offset=4 + local.get $1 local.get $0 - i32.const 8 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - global.set $std-wasi/crypto/buf + local.get $1 + ) + (func $~lib/typedarray/Uint8Array#slice (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - global.get $std-wasi/crypto/buf - local.tee $0 - i32.store - local.get $0 - call $~lib/crypto/crypto.getRandomValues + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 4592 - i32.store offset=4 + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - global.get $std-wasi/crypto/buf - local.tee $0 - i32.store offset=12 local.get $0 - call $~lib/typedarray/Uint8Array#toString - local.set $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 + i32.store offset=4 + i32.const 0 + local.get $0 + i32.load offset=8 + local.tee $1 + local.get $1 + i32.const 0 + i32.gt_s + select + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $1 + local.get $2 + i32.sub + local.tee $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select + local.tee $3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $1 i32.store offset=8 + local.get $1 + i32.load offset=4 + local.get $2 local.get $0 - call $~lib/string/String.__concat - local.set $0 + i32.load offset=4 + i32.add + local.get $3 + call $~lib/memory/memory.copy + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $start:std-wasi/crypto + (local $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + 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 + i64.const 0 + i64.store offset=8 + i32.const 1280 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/pinSpace + i32.const 1312 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/toSpace + i32.const 1456 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/fromSpace + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store local.get $0 + i32.const 8 + call $~lib/memory/memory.fill + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + global.set $std-wasi/crypto/ab + global.get $~lib/memory/__stack_pointer + global.get $std-wasi/crypto/ab + local.tee $0 i32.store local.get $0 - call $~lib/console/console.log + i32.const 0 + i32.const 4 + call $~lib/typedarray/Uint8Array.wrap + global.set $std-wasi/crypto/buf global.get $~lib/memory/__stack_pointer global.get $std-wasi/crypto/buf local.tee $0 @@ -3814,7 +4063,7 @@ local.get $0 call $~lib/crypto/crypto.getRandomValues global.get $~lib/memory/__stack_pointer - i32.const 4592 + i32.const 4656 i32.store offset=4 global.get $~lib/memory/__stack_pointer global.get $std-wasi/crypto/buf @@ -3839,9 +4088,25 @@ local.tee $0 i32.store local.get $0 + call $~lib/typedarray/Uint8Array#slice + global.set $std-wasi/crypto/b1 + global.get $~lib/memory/__stack_pointer + global.get $std-wasi/crypto/ab + local.tee $0 + i32.store + local.get $0 + i32.const 4 + i32.const 4 + call $~lib/typedarray/Uint8Array.wrap + global.set $std-wasi/crypto/buf + global.get $~lib/memory/__stack_pointer + global.get $std-wasi/crypto/buf + local.tee $0 + i32.store + local.get $0 call $~lib/crypto/crypto.getRandomValues global.get $~lib/memory/__stack_pointer - i32.const 4592 + i32.const 4656 i32.store offset=4 global.get $~lib/memory/__stack_pointer global.get $std-wasi/crypto/buf @@ -3862,6 +4127,100 @@ local.get $0 call $~lib/console/console.log global.get $~lib/memory/__stack_pointer + global.get $std-wasi/crypto/buf + local.tee $0 + i32.store + local.get $0 + call $~lib/typedarray/Uint8Array#slice + global.set $std-wasi/crypto/b2 + global.get $~lib/memory/__stack_pointer + global.get $std-wasi/crypto/ab + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const -1 + call $~lib/typedarray/Uint8Array.wrap + global.set $std-wasi/crypto/buf + loop $for-loop|0 + local.get $1 + i32.const 4 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + global.get $std-wasi/crypto/buf + local.tee $0 + i32.store + local.get $0 + local.get $1 + call $~lib/typedarray/Uint8Array#__get + local.set $2 + global.get $~lib/memory/__stack_pointer + global.get $std-wasi/crypto/b1 + local.tee $0 + i32.store + local.get $0 + local.get $1 + call $~lib/typedarray/Uint8Array#__get + local.get $2 + i32.ne + if + i32.const 0 + i32.const 5280 + i32.const 17 + i32.const 3 + call $~lib/wasi/index/abort + unreachable + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 + end + end + i32.const 0 + local.set $1 + loop $for-loop|1 + local.get $1 + i32.const 4 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + global.get $std-wasi/crypto/buf + local.tee $0 + i32.store + local.get $0 + local.get $1 + i32.const 4 + i32.add + call $~lib/typedarray/Uint8Array#__get + local.set $2 + global.get $~lib/memory/__stack_pointer + global.get $std-wasi/crypto/b2 + local.tee $0 + i32.store + local.get $0 + local.get $1 + call $~lib/typedarray/Uint8Array#__get + local.get $2 + i32.ne + if + i32.const 0 + i32.const 5280 + i32.const 20 + i32.const 3 + call $~lib/wasi/index/abort + unreachable + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/std-wasi/crypto.ts b/tests/compiler/std-wasi/crypto.ts index d2247bc387..bbe309551e 100644 --- a/tests/compiler/std-wasi/crypto.ts +++ b/tests/compiler/std-wasi/crypto.ts @@ -1,12 +1,21 @@ import "wasi"; -var buf = new Uint8Array(8); +var ab = new ArrayBuffer(8); +var buf = Uint8Array.wrap(ab, 0, 4); crypto.getRandomValues(buf); console.log("crypto.getRandomValues: " + buf.toString()); +var b1 = buf.slice(); +buf = Uint8Array.wrap(ab, 4, 4); crypto.getRandomValues(buf); console.log("crypto.getRandomValues: " + buf.toString()); +var b2 = buf.slice(); -crypto.getRandomValues(buf); -console.log("crypto.getRandomValues: " + buf.toString()); +buf = Uint8Array.wrap(ab); +for (let i = 0; i < 4; ++i) { + assert(buf[i] == b1[i]); +} +for (let i= 0; i < 4; ++i) { + assert(buf[4 + i] == b2[i]); +} diff --git a/tests/compiler/std-wasi/crypto.untouched.wat b/tests/compiler/std-wasi/crypto.untouched.wat index d3227858e6..0aa27edb93 100644 --- a/tests/compiler/std-wasi/crypto.untouched.wat +++ b/tests/compiler/std-wasi/crypto.untouched.wat @@ -4,8 +4,8 @@ (type $i32_i32_=>_i32 (func (param 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 (func (param i32 i32 i32) (result i32))) + (type $none_=>_none (func)) (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) (type $i32_i64_i32_=>_none (func (param i32 i64 i32))) @@ -26,99 +26,101 @@ (data (i32.const 380) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 432) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 460) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 524) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00S\00U\00C\00C\00E\00S\00S\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 572) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00T\00O\00O\00B\00I\00G\00") - (data (i32.const 604) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00A\00C\00C\00E\00S\00\00\00") - (data (i32.const 636) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00A\00D\00D\00R\00I\00N\00U\00S\00E\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 684) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00A\00D\00D\00R\00N\00O\00T\00A\00V\00A\00I\00L\00\00\00\00\00") - (data (i32.const 732) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00A\00F\00N\00O\00S\00U\00P\00P\00O\00R\00T\00\00\00\00\00\00\00") - (data (i32.const 780) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00A\00G\00A\00I\00N\00\00\00") - (data (i32.const 812) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00A\00L\00R\00E\00A\00D\00Y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 860) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00B\00A\00D\00F\00\00\00\00\00") - (data (i32.const 892) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00B\00A\00D\00M\00S\00G\00") - (data (i32.const 924) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00B\00U\00S\00Y\00\00\00\00\00") - (data (i32.const 956) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00C\00A\00N\00C\00E\00L\00E\00D\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1004) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00C\00H\00I\00L\00D\00\00\00") - (data (i32.const 1036) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00C\00O\00N\00N\00A\00B\00O\00R\00T\00E\00D\00\00\00\00\00\00\00") - (data (i32.const 1084) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00C\00O\00N\00N\00R\00E\00F\00U\00S\00E\00D\00\00\00\00\00\00\00") - (data (i32.const 1132) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00C\00O\00N\00N\00R\00E\00S\00E\00T\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1180) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00D\00E\00A\00D\00L\00K\00") - (data (i32.const 1212) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00D\00E\00S\00T\00A\00D\00D\00R\00R\00E\00Q\00\00\00\00\00\00\00") - (data (i32.const 1260) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00D\00O\00M\00\00\00\00\00\00\00") - (data (i32.const 1292) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00D\00Q\00U\00O\00T\00\00\00") - (data (i32.const 1324) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00E\00X\00I\00S\00T\00\00\00") - (data (i32.const 1356) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00F\00A\00U\00L\00T\00\00\00") - (data (i32.const 1388) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00F\00B\00I\00G\00\00\00\00\00") - (data (i32.const 1420) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00H\00O\00S\00T\00U\00N\00R\00E\00A\00C\00H\00\00\00\00\00\00\00") - (data (i32.const 1468) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00I\00D\00R\00M\00\00\00\00\00") - (data (i32.const 1500) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00I\00L\00S\00E\00Q\00\00\00") - (data (i32.const 1532) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00I\00N\00P\00R\00O\00G\00R\00E\00S\00S\00\00\00\00\00\00\00\00\00") - (data (i32.const 1580) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00I\00N\00T\00R\00\00\00\00\00") - (data (i32.const 1612) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00I\00N\00V\00A\00L\00\00\00") - (data (i32.const 1644) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00I\00O\00\00\00\00\00\00\00\00\00") - (data (i32.const 1676) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00I\00S\00C\00O\00N\00N\00") - (data (i32.const 1708) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00I\00S\00D\00I\00R\00\00\00") - (data (i32.const 1740) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00L\00O\00O\00P\00\00\00\00\00") - (data (i32.const 1772) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00M\00F\00I\00L\00E\00\00\00") - (data (i32.const 1804) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00M\00L\00I\00N\00K\00\00\00") - (data (i32.const 1836) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00M\00S\00G\00S\00I\00Z\00E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1884) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00M\00U\00L\00T\00I\00H\00O\00P\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1932) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00N\00A\00M\00E\00T\00O\00O\00L\00O\00N\00G\00\00\00\00\00\00\00") - (data (i32.const 1980) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00N\00E\00T\00D\00O\00W\00N\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2028) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00N\00E\00T\00R\00E\00S\00E\00T\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2076) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00N\00E\00T\00U\00N\00R\00E\00A\00C\00H\00\00\00\00\00\00\00\00\00") - (data (i32.const 2124) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00N\00F\00I\00L\00E\00\00\00") - (data (i32.const 2156) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00N\00O\00B\00U\00F\00S\00") - (data (i32.const 2188) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00N\00O\00D\00E\00V\00\00\00") - (data (i32.const 2220) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00N\00O\00E\00N\00T\00\00\00") - (data (i32.const 2252) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00N\00O\00E\00X\00E\00C\00") - (data (i32.const 2284) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00N\00O\00L\00C\00K\00\00\00") - (data (i32.const 2316) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00N\00O\00L\00I\00N\00K\00") - (data (i32.const 2348) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00N\00O\00M\00E\00M\00\00\00") - (data (i32.const 2380) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00N\00O\00M\00S\00G\00\00\00") - (data (i32.const 2412) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00N\00O\00P\00R\00O\00T\00O\00O\00P\00T\00\00\00\00\00\00\00\00\00") - (data (i32.const 2460) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00N\00O\00S\00P\00C\00\00\00") - (data (i32.const 2492) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00N\00O\00S\00Y\00S\00\00\00") - (data (i32.const 2524) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00N\00O\00T\00C\00O\00N\00N\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2572) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00N\00O\00T\00D\00I\00R\00") - (data (i32.const 2604) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00N\00O\00T\00E\00M\00P\00T\00Y\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2652) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00N\00O\00T\00R\00E\00C\00O\00V\00E\00R\00A\00B\00L\00E\00") - (data (i32.const 2700) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00N\00O\00T\00S\00O\00C\00K\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2748) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00N\00O\00T\00S\00U\00P\00") - (data (i32.const 2780) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00N\00O\00T\00T\00Y\00\00\00") - (data (i32.const 2812) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00N\00X\00I\00O\00\00\00\00\00") - (data (i32.const 2844) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00O\00V\00E\00R\00F\00L\00O\00W\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2892) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00O\00W\00N\00E\00R\00D\00E\00A\00D\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2940) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00P\00E\00R\00M\00\00\00\00\00") - (data (i32.const 2972) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00P\00I\00P\00E\00\00\00\00\00") - (data (i32.const 3004) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00P\00R\00O\00T\00O\00\00\00") - (data (i32.const 3036) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00P\00R\00O\00T\00O\00N\00O\00S\00U\00P\00P\00O\00R\00T\00") - (data (i32.const 3084) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00P\00R\00O\00T\00O\00T\00Y\00P\00E\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3132) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00R\00A\00N\00G\00E\00\00\00") - (data (i32.const 3164) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00R\00O\00F\00S\00\00\00\00\00") - (data (i32.const 3196) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00S\00P\00I\00P\00E\00\00\00") - (data (i32.const 3228) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00S\00R\00C\00H\00\00\00\00\00") - (data (i32.const 3260) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00S\00T\00A\00L\00E\00\00\00") - (data (i32.const 3292) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00T\00I\00M\00E\00D\00O\00U\00T\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3340) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00T\00X\00T\00B\00S\00Y\00") - (data (i32.const 3372) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00X\00D\00E\00V\00\00\00\00\00") - (data (i32.const 3404) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00N\00O\00T\00C\00A\00P\00A\00B\00L\00E\00\00\00\00\00\00\00\00\00") - (data (i32.const 3452) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00U\00N\00K\00N\00O\00W\00N\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3500) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00c\00r\00y\00p\00t\00o\00.\00t\00s\00") - (data (i32.const 3548) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\000\00\00\00c\00r\00y\00p\00t\00o\00.\00g\00e\00t\00R\00a\00n\00d\00o\00m\00V\00a\00l\00u\00e\00s\00:\00 \00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3660) "|\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") - (data (i32.const 3788) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\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\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3884) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") - (data (i32.const 4284) "\1c\04\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5340) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\00\00\00\00\00") - (data (i32.const 5436) "\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 5468) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00n\00u\00l\00l\00\00\00\00\00") - (data (i32.const 5504) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5532) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00p\00r\00o\00c\00e\00s\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5596) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5632) "\04\00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00A\00\00\00\02\00\00\00") + (data (i32.const 524) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 588) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00S\00U\00C\00C\00E\00S\00S\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 636) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00T\00O\00O\00B\00I\00G\00") + (data (i32.const 668) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00A\00C\00C\00E\00S\00\00\00") + (data (i32.const 700) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00A\00D\00D\00R\00I\00N\00U\00S\00E\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 748) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00A\00D\00D\00R\00N\00O\00T\00A\00V\00A\00I\00L\00\00\00\00\00") + (data (i32.const 796) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00A\00F\00N\00O\00S\00U\00P\00P\00O\00R\00T\00\00\00\00\00\00\00") + (data (i32.const 844) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00A\00G\00A\00I\00N\00\00\00") + (data (i32.const 876) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00A\00L\00R\00E\00A\00D\00Y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 924) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00B\00A\00D\00F\00\00\00\00\00") + (data (i32.const 956) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00B\00A\00D\00M\00S\00G\00") + (data (i32.const 988) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00B\00U\00S\00Y\00\00\00\00\00") + (data (i32.const 1020) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00C\00A\00N\00C\00E\00L\00E\00D\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1068) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00C\00H\00I\00L\00D\00\00\00") + (data (i32.const 1100) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00C\00O\00N\00N\00A\00B\00O\00R\00T\00E\00D\00\00\00\00\00\00\00") + (data (i32.const 1148) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00C\00O\00N\00N\00R\00E\00F\00U\00S\00E\00D\00\00\00\00\00\00\00") + (data (i32.const 1196) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00C\00O\00N\00N\00R\00E\00S\00E\00T\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1244) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00D\00E\00A\00D\00L\00K\00") + (data (i32.const 1276) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00D\00E\00S\00T\00A\00D\00D\00R\00R\00E\00Q\00\00\00\00\00\00\00") + (data (i32.const 1324) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00D\00O\00M\00\00\00\00\00\00\00") + (data (i32.const 1356) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00D\00Q\00U\00O\00T\00\00\00") + (data (i32.const 1388) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00E\00X\00I\00S\00T\00\00\00") + (data (i32.const 1420) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00F\00A\00U\00L\00T\00\00\00") + (data (i32.const 1452) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00F\00B\00I\00G\00\00\00\00\00") + (data (i32.const 1484) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00H\00O\00S\00T\00U\00N\00R\00E\00A\00C\00H\00\00\00\00\00\00\00") + (data (i32.const 1532) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00I\00D\00R\00M\00\00\00\00\00") + (data (i32.const 1564) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00I\00L\00S\00E\00Q\00\00\00") + (data (i32.const 1596) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00I\00N\00P\00R\00O\00G\00R\00E\00S\00S\00\00\00\00\00\00\00\00\00") + (data (i32.const 1644) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00I\00N\00T\00R\00\00\00\00\00") + (data (i32.const 1676) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00I\00N\00V\00A\00L\00\00\00") + (data (i32.const 1708) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00I\00O\00\00\00\00\00\00\00\00\00") + (data (i32.const 1740) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00I\00S\00C\00O\00N\00N\00") + (data (i32.const 1772) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00I\00S\00D\00I\00R\00\00\00") + (data (i32.const 1804) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00L\00O\00O\00P\00\00\00\00\00") + (data (i32.const 1836) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00M\00F\00I\00L\00E\00\00\00") + (data (i32.const 1868) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00M\00L\00I\00N\00K\00\00\00") + (data (i32.const 1900) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00M\00S\00G\00S\00I\00Z\00E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1948) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00M\00U\00L\00T\00I\00H\00O\00P\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1996) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00N\00A\00M\00E\00T\00O\00O\00L\00O\00N\00G\00\00\00\00\00\00\00") + (data (i32.const 2044) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00N\00E\00T\00D\00O\00W\00N\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2092) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00N\00E\00T\00R\00E\00S\00E\00T\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2140) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00N\00E\00T\00U\00N\00R\00E\00A\00C\00H\00\00\00\00\00\00\00\00\00") + (data (i32.const 2188) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00N\00F\00I\00L\00E\00\00\00") + (data (i32.const 2220) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00N\00O\00B\00U\00F\00S\00") + (data (i32.const 2252) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00N\00O\00D\00E\00V\00\00\00") + (data (i32.const 2284) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00N\00O\00E\00N\00T\00\00\00") + (data (i32.const 2316) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00N\00O\00E\00X\00E\00C\00") + (data (i32.const 2348) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00N\00O\00L\00C\00K\00\00\00") + (data (i32.const 2380) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00N\00O\00L\00I\00N\00K\00") + (data (i32.const 2412) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00N\00O\00M\00E\00M\00\00\00") + (data (i32.const 2444) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00N\00O\00M\00S\00G\00\00\00") + (data (i32.const 2476) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00N\00O\00P\00R\00O\00T\00O\00O\00P\00T\00\00\00\00\00\00\00\00\00") + (data (i32.const 2524) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00N\00O\00S\00P\00C\00\00\00") + (data (i32.const 2556) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00N\00O\00S\00Y\00S\00\00\00") + (data (i32.const 2588) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00N\00O\00T\00C\00O\00N\00N\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2636) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00N\00O\00T\00D\00I\00R\00") + (data (i32.const 2668) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00N\00O\00T\00E\00M\00P\00T\00Y\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2716) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00N\00O\00T\00R\00E\00C\00O\00V\00E\00R\00A\00B\00L\00E\00") + (data (i32.const 2764) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00N\00O\00T\00S\00O\00C\00K\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2812) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00N\00O\00T\00S\00U\00P\00") + (data (i32.const 2844) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00N\00O\00T\00T\00Y\00\00\00") + (data (i32.const 2876) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00N\00X\00I\00O\00\00\00\00\00") + (data (i32.const 2908) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00O\00V\00E\00R\00F\00L\00O\00W\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2956) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00O\00W\00N\00E\00R\00D\00E\00A\00D\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3004) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00P\00E\00R\00M\00\00\00\00\00") + (data (i32.const 3036) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00P\00I\00P\00E\00\00\00\00\00") + (data (i32.const 3068) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00P\00R\00O\00T\00O\00\00\00") + (data (i32.const 3100) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00P\00R\00O\00T\00O\00N\00O\00S\00U\00P\00P\00O\00R\00T\00") + (data (i32.const 3148) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00P\00R\00O\00T\00O\00T\00Y\00P\00E\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3196) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00R\00A\00N\00G\00E\00\00\00") + (data (i32.const 3228) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00R\00O\00F\00S\00\00\00\00\00") + (data (i32.const 3260) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00S\00P\00I\00P\00E\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\00R\00C\00H\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\n\00\00\00S\00T\00A\00L\00E\00\00\00") + (data (i32.const 3356) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00T\00I\00M\00E\00D\00O\00U\00T\00\00\00\00\00\00\00\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\0c\00\00\00T\00X\00T\00B\00S\00Y\00") + (data (i32.const 3436) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00X\00D\00E\00V\00\00\00\00\00") + (data (i32.const 3468) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00N\00O\00T\00C\00A\00P\00A\00B\00L\00E\00\00\00\00\00\00\00\00\00") + (data (i32.const 3516) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00U\00N\00K\00N\00O\00W\00N\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3564) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00c\00r\00y\00p\00t\00o\00.\00t\00s\00") + (data (i32.const 3612) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\000\00\00\00c\00r\00y\00p\00t\00o\00.\00g\00e\00t\00R\00a\00n\00d\00o\00m\00V\00a\00l\00u\00e\00s\00:\00 \00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3724) "|\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") + (data (i32.const 3852) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\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\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3948) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") + (data (i32.const 4348) "\1c\04\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\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\00H\00\00\000\001\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\00\00\00\00\00") + (data (i32.const 5500) "\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 5532) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00n\00u\00l\00l\00\00\00\00\00") + (data (i32.const 5568) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5596) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00p\00r\00o\00c\00e\00s\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5660) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5692) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00s\00t\00d\00-\00w\00a\00s\00i\00/\00c\00r\00y\00p\00t\00o\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 5760) "\04\00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00A\00\00\00\02\00\00\00") (table $0 1 funcref) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) (global $~lib/rt/itcms/threshold (mut i32) (i32.const 1024)) @@ -132,13 +134,18 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) + (global $std-wasi/crypto/ab (mut i32) (i32.const 0)) (global $std-wasi/crypto/buf (mut i32) (i32.const 0)) (global $~lib/process/process.stdout i32 (i32.const 1)) - (global $~lib/process/iobuf i32 (i32.const 5504)) - (global $~lib/rt/__rtti_base i32 (i32.const 5632)) - (global $~lib/memory/__data_end i32 (i32.const 5668)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 22052)) - (global $~lib/memory/__heap_base i32 (i32.const 22052)) + (global $~lib/process/iobuf i32 (i32.const 5568)) + (global $~lib/builtins/i32.MAX_VALUE i32 (i32.const 2147483647)) + (global $std-wasi/crypto/b1 (mut i32) (i32.const 0)) + (global $std-wasi/crypto/b2 (mut i32) (i32.const 0)) + (global $~argumentsLength (mut i32) (i32.const 0)) + (global $~lib/rt/__rtti_base i32 (i32.const 5760)) + (global $~lib/memory/__data_end i32 (i32.const 5796)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 22180)) + (global $~lib/memory/__heap_base i32 (i32.const 22180)) (global $~started (mut i32) (i32.const 0)) (export "memory" (memory $0)) (export "_start" (func $~start)) @@ -2744,6 +2751,12 @@ call $~lib/memory/memory.fill local.get $3 ) + (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (param $0 i32) (result i32) + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + ) (func $~lib/rt/itcms/__link (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) @@ -2812,24 +2825,12 @@ end end ) - (func $~lib/arraybuffer/ArrayBufferView#set:buffer (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/arraybuffer/ArrayBufferView#set:dataStart (param $0 i32) (param $1 i32) + (func $~lib/arraybuffer/ArrayBufferView#get:byteOffset (param $0 i32) (result i32) local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/arraybuffer/ArrayBufferView#set:byteLength (param $0 i32) (param $1 i32) + i32.load offset=4 local.get $0 - local.get $1 - i32.store offset=8 + i32.load + i32.sub ) (func $~lib/bindings/wasi_snapshot_preview1/errnoToString (param $0 i32) (result i32) (local $1 i32) @@ -3225,259 +3226,238 @@ br_if $case76|0 br $break|0 end - i32.const 544 + i32.const 608 return end - i32.const 592 + i32.const 656 return end - i32.const 624 + i32.const 688 return end - i32.const 656 + i32.const 720 return end - i32.const 704 + i32.const 768 return end - i32.const 752 + i32.const 816 return end - i32.const 800 + i32.const 864 return end - i32.const 832 + i32.const 896 return end - i32.const 880 + i32.const 944 return end - i32.const 912 + i32.const 976 return end - i32.const 944 + i32.const 1008 return end - i32.const 976 + i32.const 1040 return end - i32.const 1024 + i32.const 1088 return end - i32.const 1056 + i32.const 1120 return end - i32.const 1104 + i32.const 1168 return end - i32.const 1152 + i32.const 1216 return end - i32.const 1200 + i32.const 1264 return end - i32.const 1232 + i32.const 1296 return end - i32.const 1280 + i32.const 1344 return end - i32.const 1312 + i32.const 1376 return end - i32.const 1344 + i32.const 1408 return end - i32.const 1376 + i32.const 1440 return end - i32.const 1408 + i32.const 1472 return end - i32.const 1440 + i32.const 1504 return end - i32.const 1488 + i32.const 1552 return end - i32.const 1520 + i32.const 1584 return end - i32.const 1552 + i32.const 1616 return end - i32.const 1600 + i32.const 1664 return end - i32.const 1632 + i32.const 1696 return end - i32.const 1664 + i32.const 1728 return end - i32.const 1696 + i32.const 1760 return end - i32.const 1728 + i32.const 1792 return end - i32.const 1760 + i32.const 1824 return end - i32.const 1792 + i32.const 1856 return end - i32.const 1824 + i32.const 1888 return end - i32.const 1856 + i32.const 1920 return end - i32.const 1904 + i32.const 1968 return end - i32.const 1952 + i32.const 2016 return end - i32.const 2000 + i32.const 2064 return end - i32.const 2048 + i32.const 2112 return end - i32.const 2096 + i32.const 2160 return end - i32.const 2144 + i32.const 2208 return end - i32.const 2176 + i32.const 2240 return end - i32.const 2208 + i32.const 2272 return end - i32.const 2240 + i32.const 2304 return end - i32.const 2272 + i32.const 2336 return end - i32.const 2304 + i32.const 2368 return end - i32.const 2336 + i32.const 2400 return end - i32.const 2368 + i32.const 2432 return end - i32.const 2400 + i32.const 2464 return end - i32.const 2432 + i32.const 2496 return end - i32.const 2480 + i32.const 2544 return end - i32.const 2512 + i32.const 2576 return end - i32.const 2544 + i32.const 2608 return end - i32.const 2592 + i32.const 2656 return end - i32.const 2624 + i32.const 2688 return end - i32.const 2672 + i32.const 2736 return end - i32.const 2720 + i32.const 2784 return end - i32.const 2768 + i32.const 2832 return end - i32.const 2800 + i32.const 2864 return end - i32.const 2832 + i32.const 2896 return end - i32.const 2864 + i32.const 2928 return end - i32.const 2912 + i32.const 2976 return end - i32.const 2960 + i32.const 3024 return end - i32.const 2992 + i32.const 3056 return end - i32.const 3024 + i32.const 3088 return end - i32.const 3056 + i32.const 3120 return end - i32.const 3104 + i32.const 3168 return end - i32.const 3152 + i32.const 3216 return end - i32.const 3184 + i32.const 3248 return end - i32.const 3216 + i32.const 3280 return end - i32.const 3248 + i32.const 3312 return end - i32.const 3280 + i32.const 3344 return end - i32.const 3312 + i32.const 3376 return end - i32.const 3360 + i32.const 3424 return end - i32.const 3392 + i32.const 3456 return end - i32.const 3424 + i32.const 3488 return end - i32.const 3472 - ) - (func $~lib/crypto/crypto.getRandomValues (param $0 i32) - (local $1 i32) - local.get $0 - i32.load - local.get $0 - i32.load offset=8 - call $~lib/bindings/wasi_snapshot_preview1/random_get - local.set $1 - local.get $1 - i32.const 65535 - i32.and - if - local.get $1 - call $~lib/bindings/wasi_snapshot_preview1/errnoToString - i32.const 3520 - i32.const 9 - i32.const 14 - call $~lib/wasi/index/abort - unreachable - end + i32.const 3536 ) (func $~lib/typedarray/Uint8Array#get:length (param $0 i32) (result i32) local.get $0 @@ -3518,14 +3498,14 @@ i32.const 100 i32.rem_u local.set $7 - i32.const 3884 + i32.const 3948 local.get $6 i32.const 2 i32.shl i32.add i64.load32_u local.set $8 - i32.const 3884 + i32.const 3948 local.get $7 i32.const 2 i32.shl @@ -3568,7 +3548,7 @@ i32.const 2 i32.sub local.set $2 - i32.const 3884 + i32.const 3948 local.get $10 i32.const 2 i32.shl @@ -3591,7 +3571,7 @@ i32.const 2 i32.sub local.set $2 - i32.const 3884 + i32.const 3948 local.get $1 i32.const 2 i32.shl @@ -3641,7 +3621,7 @@ i32.const 1 i32.shl i32.add - i32.const 4304 + i32.const 4368 local.get $1 i32.wrap_i64 i32.const 255 @@ -3663,7 +3643,7 @@ i32.and if local.get $0 - i32.const 4304 + i32.const 4368 local.get $1 i32.wrap_i64 i32.const 6 @@ -3786,7 +3766,7 @@ i32.const 1 i32.shl i32.add - i32.const 5360 + i32.const 5424 local.get $1 local.get $6 i64.and @@ -3822,7 +3802,7 @@ i32.const 1 i32.shl i32.add - i32.const 5360 + i32.const 5424 local.get $1 local.get $6 local.get $4 @@ -5265,8 +5245,76 @@ end local.get $4 ) + (func $~lib/arraybuffer/ArrayBufferView#set:buffer (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + local.get $0 + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/arraybuffer/ArrayBufferView#set:dataStart (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=4 + ) + (func $~lib/arraybuffer/ArrayBufferView#set:byteLength (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + ) + (func $~lib/typedarray/Uint8Array.wrap@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $1 + end + i32.const -1 + local.set $2 + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/typedarray/Uint8Array.wrap + ) + (func $~lib/typedarray/Uint8Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.ge_u + if + i32.const 336 + i32.const 544 + i32.const 159 + i32.const 45 + call $~lib/wasi/index/abort + unreachable + end + local.get $0 + i32.load offset=4 + local.get $1 + i32.add + i32.load8_u + ) (func $~lib/rt/__visit_globals (param $0 i32) (local $1 i32) + global.get $std-wasi/crypto/ab + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end global.get $std-wasi/crypto/buf local.tee $1 if @@ -5274,6 +5322,20 @@ local.get $0 call $~lib/rt/itcms/__visit end + global.get $std-wasi/crypto/b1 + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end + global.get $std-wasi/crypto/b2 + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end i32.const 336 local.get $0 call $~lib/rt/itcms/__visit @@ -5283,10 +5345,10 @@ i32.const 144 local.get $0 call $~lib/rt/itcms/__visit - i32.const 4304 + i32.const 4368 local.get $0 call $~lib/rt/itcms/__visit - i32.const 5360 + i32.const 5424 local.get $0 call $~lib/rt/itcms/__visit ) @@ -5348,8 +5410,8 @@ global.get $~lib/memory/__data_end i32.lt_s if - i32.const 22080 - i32.const 22128 + i32.const 22208 + i32.const 22256 i32.const 1 i32.const 1 call $~lib/wasi/index/abort @@ -5535,47 +5597,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint8Array#constructor (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.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $1 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store - local.get $0 - 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/string/String#substring (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8Array.wrap (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5583,102 +5605,273 @@ (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 8 + 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 - local.get $0 - local.set $12 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store - local.get $12 - call $~lib/string/String#get:length - local.set $3 - local.get $1 - local.tee $4 i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.tee $5 - local.get $3 - local.tee $4 - local.get $5 - local.get $4 - i32.lt_s - select - local.set $6 + i32.store + local.get $1 + local.set $4 local.get $2 - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.tee $5 - local.get $3 - local.tee $4 + local.set $3 local.get $5 - local.get $4 - i32.lt_s - select + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + local.get $9 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength local.set $7 - local.get $6 - local.tee $4 - local.get $7 - local.tee $5 local.get $4 - local.get $5 - i32.lt_s - select - i32.const 1 - i32.shl - local.set $8 - local.get $6 - local.tee $5 local.get $7 - local.tee $4 - local.get $5 + i32.gt_u local.get $4 - i32.gt_s - select - i32.const 1 - i32.shl - local.set $9 - local.get $9 - local.get $8 - i32.sub - local.set $10 - local.get $10 - i32.eqz + i32.const 0 + i32.and + i32.or if - i32.const 3648 - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $12 - return + i32.const 336 + i32.const 544 + i32.const 1826 + i32.const 5 + call $~lib/wasi/index/abort + unreachable end - local.get $8 - i32.eqz - if (result i32) - local.get $9 + local.get $3 + i32.const 0 + i32.lt_s + if local.get $3 - i32.const 1 - i32.shl + i32.const -1 + i32.eq + if + local.get $7 + i32.const 0 + i32.and + if + i32.const 32 + i32.const 544 + i32.const 1831 + i32.const 9 + call $~lib/wasi/index/abort + unreachable + end + local.get $7 + local.get $4 + i32.sub + local.set $6 + else + i32.const 32 + i32.const 544 + i32.const 1835 + i32.const 7 + call $~lib/wasi/index/abort + unreachable + end + else + local.get $3 + i32.const 0 + i32.shl + local.set $6 + local.get $4 + local.get $6 + i32.add + local.get $7 + i32.gt_s + if + i32.const 32 + i32.const 544 + i32.const 1840 + i32.const 7 + call $~lib/wasi/index/abort + unreachable + end + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store offset=8 + local.get $8 + local.get $5 + i32.store + local.get $8 + local.get $5 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $8 + local.get $6 + i32.store offset=8 + local.get $8 + local.get $5 + local.get $4 + i32.add + i32.store offset=4 + local.get $8 + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + ) + (func $~lib/crypto/crypto.getRandomValues (param $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.load + local.get $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.add + local.get $0 + i32.load offset=8 + call $~lib/bindings/wasi_snapshot_preview1/random_get + local.set $1 + local.get $1 + i32.const 65535 + i32.and + if + local.get $1 + call $~lib/bindings/wasi_snapshot_preview1/errnoToString + i32.const 3584 + i32.const 9 + i32.const 14 + call $~lib/wasi/index/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/string/String#substring (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 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 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store + local.get $12 + call $~lib/string/String#get:length + local.set $3 + local.get $1 + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.tee $5 + local.get $3 + local.tee $4 + local.get $5 + local.get $4 + i32.lt_s + select + local.set $6 + local.get $2 + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.tee $5 + local.get $3 + local.tee $4 + local.get $5 + local.get $4 + i32.lt_s + select + local.set $7 + local.get $6 + local.tee $4 + local.get $7 + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select + i32.const 1 + i32.shl + local.set $8 + local.get $6 + local.tee $5 + local.get $7 + local.tee $4 + local.get $5 + local.get $4 + i32.gt_s + select + i32.const 1 + i32.shl + local.set $9 + local.get $9 + local.get $8 + i32.sub + local.set $10 + local.get $10 + i32.eqz + if + i32.const 3712 + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + return + end + local.get $8 + i32.eqz + if (result i32) + local.get $9 + local.get $3 + i32.const 1 + i32.shl i32.eq else i32.const 0 @@ -5739,7 +5932,7 @@ i32.const 0 i32.lt_s if - i32.const 3648 + i32.const 3712 local.set $11 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -5942,7 +6135,7 @@ local.get $1 i32.store local.get $1 - i32.const 5456 + i32.const 5520 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -5978,7 +6171,7 @@ i32.eq if global.get $~lib/memory/__stack_pointer - i32.const 5488 + i32.const 5552 local.tee $1 i32.store end @@ -6010,7 +6203,7 @@ i32.const 0 i32.eq if - i32.const 3648 + i32.const 3712 local.set $6 global.get $~lib/memory/__stack_pointer i32.const 12 @@ -6054,7 +6247,7 @@ i64.const 0 i64.store local.get $0 - i32.const 5488 + i32.const 5552 local.get $0 i32.const 0 i32.ne @@ -6230,7 +6423,7 @@ if local.get $6 call $~lib/bindings/wasi_snapshot_preview1/errnoToString - i32.const 5552 + i32.const 5616 i32.const 178 i32.const 16 call $~lib/wasi/index/abort @@ -6271,7 +6464,7 @@ i32.eqz if i32.const 0 - i32.const 5552 + i32.const 5616 i32.const 184 i32.const 3 call $~lib/wasi/index/abort @@ -6301,7 +6494,7 @@ if local.get $9 call $~lib/bindings/wasi_snapshot_preview1/errnoToString - i32.const 5552 + i32.const 5616 i32.const 189 i32.const 12 call $~lib/wasi/index/abort @@ -6359,7 +6552,7 @@ local.get $2 call $~lib/process/WritableStream#write<~lib/string/String> local.get $1 - i32.const 5616 + i32.const 5680 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 @@ -6371,205 +6564,442 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $start:std-wasi/crypto - (local $0 i32) + (func $~lib/typedarray/Uint8Array#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + 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 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - i32.const 256 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/pinSpace - i32.const 288 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/toSpace - i32.const 432 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/fromSpace - i32.const 0 - i32.const 8 - call $~lib/typedarray/Uint8Array#constructor - global.set $std-wasi/crypto/buf - global.get $std-wasi/crypto/buf - local.set $0 - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store - local.get $0 - call $~lib/crypto/crypto.getRandomValues - i32.const 3568 - local.set $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - local.get $0 - global.get $std-wasi/crypto/buf - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + local.get $1 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store local.get $0 - i32.store offset=12 - local.get $0 - call $~lib/typedarray/Uint8Array#toString - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Uint8Array#slice (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) + 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 $0 - call $~lib/string/String.__concat - local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 + local.tee $5 i32.store - local.get $0 - call $~lib/console/console.log + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + local.get $9 + call $~lib/typedarray/Uint8Array#get:length + local.set $6 + local.get $4 + i32.const 0 + i32.lt_s + if (result i32) + local.get $4 + local.get $6 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $4 + local.tee $8 + local.get $6 + local.tee $7 + local.get $8 + local.get $7 + i32.lt_s + select + end + local.set $4 + local.get $3 + i32.const 0 + i32.lt_s + if (result i32) + local.get $3 + local.get $6 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $3 + local.tee $8 + local.get $6 + local.tee $7 + local.get $8 + local.get $7 + i32.lt_s + select + end + local.set $3 + local.get $3 + local.get $4 + i32.sub + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $6 + call $~lib/typedarray/Uint8Array#constructor + local.tee $7 + i32.store offset=8 + local.get $7 + i32.load offset=4 + local.get $5 + i32.load offset=4 + local.get $4 + i32.const 0 + i32.shl + i32.add + local.get $6 + i32.const 0 + i32.shl + call $~lib/memory/memory.copy + local.get $7 + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + ) + (func $start:std-wasi/crypto + (local $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + 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 + i64.const 0 + i64.store offset=8 + i32.const 256 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/pinSpace + i32.const 288 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/toSpace + i32.const 432 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/fromSpace + i32.const 0 + i32.const 8 + call $~lib/arraybuffer/ArrayBuffer#constructor + global.set $std-wasi/crypto/ab + global.get $std-wasi/crypto/ab + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.const 0 + i32.const 4 + call $~lib/typedarray/Uint8Array.wrap + global.set $std-wasi/crypto/buf global.get $std-wasi/crypto/buf - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 call $~lib/crypto/crypto.getRandomValues - i32.const 3568 - local.set $0 + i32.const 3632 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=4 - local.get $0 + local.get $2 global.get $std-wasi/crypto/buf - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=12 - local.get $0 + local.get $2 call $~lib/typedarray/Uint8Array#toString - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=8 - local.get $0 + local.get $2 call $~lib/string/String.__concat - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 call $~lib/console/console.log global.get $std-wasi/crypto/buf - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 + i32.const 0 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Uint8Array#slice + global.set $std-wasi/crypto/b1 + global.get $std-wasi/crypto/ab + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.const 4 + i32.const 4 + call $~lib/typedarray/Uint8Array.wrap + global.set $std-wasi/crypto/buf + global.get $std-wasi/crypto/buf + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 call $~lib/crypto/crypto.getRandomValues - i32.const 3568 - local.set $0 + i32.const 3632 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=4 - local.get $0 + local.get $2 global.get $std-wasi/crypto/buf - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=12 - local.get $0 + local.get $2 call $~lib/typedarray/Uint8Array#toString - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=8 - local.get $0 + local.get $2 call $~lib/string/String.__concat - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 call $~lib/console/console.log + global.get $std-wasi/crypto/buf + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.const 0 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Uint8Array#slice + global.set $std-wasi/crypto/b2 + global.get $std-wasi/crypto/ab + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint8Array.wrap@varargs + global.set $std-wasi/crypto/buf + i32.const 0 + local.set $0 + loop $for-loop|0 + local.get $0 + i32.const 4 + i32.lt_s + local.set $1 + local.get $1 + if + global.get $std-wasi/crypto/buf + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + local.get $0 + call $~lib/typedarray/Uint8Array#__get + global.get $std-wasi/crypto/b1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + local.get $0 + call $~lib/typedarray/Uint8Array#__get + i32.eq + i32.eqz + if + i32.const 0 + i32.const 5712 + i32.const 17 + i32.const 3 + call $~lib/wasi/index/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end + end + i32.const 0 + local.set $0 + loop $for-loop|1 + local.get $0 + i32.const 4 + i32.lt_s + local.set $1 + local.get $1 + if + global.get $std-wasi/crypto/buf + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.const 4 + local.get $0 + i32.add + call $~lib/typedarray/Uint8Array#__get + global.get $std-wasi/crypto/b2 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + local.get $0 + call $~lib/typedarray/Uint8Array#__get + i32.eq + i32.eqz + if + i32.const 0 + i32.const 5712 + i32.const 20 + i32.const 3 + call $~lib/wasi/index/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|1 + end + end global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/arraybuffer/ArrayBufferView#constructor (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer#constructor (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 8 + i32.const 4 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.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - local.get $0 i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $0 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:dataStart - local.get $0 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:byteLength + i32.store local.get $1 i32.const 1073741820 - local.get $2 - i32.shr_u i32.gt_u if i32.const 32 i32.const 80 - i32.const 18 - i32.const 57 + i32.const 49 + i32.const 43 call $~lib/wasi/index/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $1 - local.get $2 - i32.shl - local.tee $1 i32.const 0 call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - local.get $3 + local.tee $2 + i32.store + local.get $2 i32.const 0 local.get $1 call $~lib/memory/memory.fill - local.get $0 - local.get $3 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $0 - local.get $3 - call $~lib/arraybuffer/ArrayBufferView#set:dataStart - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView#set:byteLength - local.get $0 - local.set $4 + local.get $2 + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $3 ) (func $~lib/util/number/utoa32 (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -6597,8 +7027,8 @@ i32.gt_s end if - i32.const 3680 - i32.const 3808 + i32.const 3744 + i32.const 3872 i32.const 350 i32.const 5 call $~lib/wasi/index/abort @@ -6607,7 +7037,7 @@ local.get $0 i32.eqz if - i32.const 3872 + i32.const 3936 local.set $7 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -6712,4 +7142,77 @@ global.set $~lib/memory/__stack_pointer local.get $7 ) + (func $~lib/arraybuffer/ArrayBufferView#constructor (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 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.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + local.get $0 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + local.get $0 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:dataStart + local.get $0 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:byteLength + local.get $1 + i32.const 1073741820 + local.get $2 + i32.shr_u + i32.gt_u + if + i32.const 32 + i32.const 80 + i32.const 18 + i32.const 57 + call $~lib/wasi/index/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + local.get $2 + i32.shl + local.tee $1 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store offset=4 + local.get $3 + i32.const 0 + local.get $1 + call $~lib/memory/memory.fill + local.get $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + local.get $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#set:dataStart + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#set:byteLength + local.get $0 + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + ) )