Repository: alecthomas/chroma

Issue:
WebAssembly Text Format
**What feature do you propose?**

I propose syntax highlighting support for the WebAssembly Text Format, `wat`, or `wast`

Hints from issue comments:
@l1mey112: `pygments` already supports `wat/wast`, a simple translation using the existing `_tools` is possible

Solution patch:
diff --git a/lexers/embedded/wat.xml b/lexers/embedded/wat.xml
new file mode 100644
index 0000000..4a7f7e4
--- /dev/null
+++ b/lexers/embedded/wat.xml
@@ -0,0 +1,149 @@
+<lexer>
+ <config>
+  <name>WebAssembly Text Format</name>
+  <alias>wast</alias>
+  <alias>wat</alias>
+  <filename>*.wat</filename>
+  <filename>*.wast</filename>
+ </config>
+ <rules>
+  <state name="root">
+   <rule pattern="(module|import|func|funcref|start|param|local|type|result|export|memory|global|mut|data|table|elem|if|then|else|end|block|loop)(?=[^a-z_\.])">
+    <token type="Keyword"/>
+   </rule>
+   <rule pattern="(unreachable|nop|block|loop|if|else|end|br(?:_if|_table)?|return|call(?:_indirect)?|drop|select|local\.get|local\.set|local\.tee|global\.get|global\.set|i32\.load(?:(?:8|16)_(?:u|s))?|i64\.load(?:(?:8|16|32)_(?:u|s))?|f32\.load|f64\.load|i32\.store(?:8|16)?|i64\.store(:?8|16|32)?|f32\.store|f64\.store|memory\.size|memory\.grow|memory\.fill|memory\.copy|memory\.init|i32\.const|i64\.const|f32\.const|f64\.const|i32\.eqz|i32\.eq|i32\.ne|i32\.lt_s|i32\.lt_u|i32\.gt_s|i32\.gt_u|i32\.le_s|i32\.le_u|i32\.ge_s|i32\.ge_u|i64\.eqz|i64\.eq|i64\.ne|i64\.lt_s|i64\.lt_u|i64\.gt_s|i64\.gt_u|i64\.le_s|i64\.le_u|i64\.ge_s|i64\.ge_u|f32\.eq|f32\.neg?|f32\.lt|f32\.gt|f32\.le|f32\.ge|f64\.eq|f64\.neg?|f64\.lt|f64\.gt|f64\.le|f64\.ge|i32\.clz|i32\.ctz|i32\.popcnt|i32\.add|i32\.sub|i32\.mul|i32\.div_s|i32\.div_u|i32\.rem_s|i32\.rem_u|i32\.and|i32\.or|i32\.xor|i32\.shl|i32\.shr_s|i32\.shr_u|i32\.rotl|i32\.rotr|i64\.clz|i64\.ctz|i64\.popcnt|i64\.add|i64\.sub|i64\.mul|i64\.div_s|i64\.div_u|i64\.rem_s|i64\.rem_u|i64\.and|i64\.or|i64\.xor|i64\.shl|i64\.shr_s|i64\.shr_u|i64\.rotl|i64\.rotr|f32\.abs|f32\.ceil|f32\.floor|f32\.trunc|f32\.nearest|f32\.sqrt|f32\.add|f32\.sub|f32\.mul|f32\.div|f32\.min|f32\.max|f32\.copysign|f64\.abs|f64\.ceil|f64\.floor|f64\.trunc|f64\.nearest|f64\.sqrt|f64\.add|f64\.sub|f64\.mul|f64\.div|f64\.min|f64\.max|f64\.copysign|i32\.wrap_i64|i32\.trunc_f32_s|i32\.trunc_f32_u|i32\.trunc_f64_s|i32\.trunc_f64_u|i64\.extend(?:(?:8|16|32)_s|_i(?:32|64)_(?:u|s))|i32\.extend(?:8|16)_s|(?:i32|i64)\.trunc(?:_sat)?_f(?:32|64)_(?:s|u)|f32\.convert_i32_s|f32\.convert_i32_u|f32\.convert_i64_s|f32\.convert_i64_u|f32\.demote_f64|f64\.convert_i32_s|f64\.convert_i32_u|f64\.convert_i64_s|f64\.convert_i64_u|f64\.promote_f32|i32\.reinterpret_f32|i64\.reinterpret_f64|f32\.reinterpret_i32|f64\.reinterpret_i64)">
+    <token type="NameBuiltin"/>
+    <push state="arguments"/>
+   </rule>
+   <rule pattern="(i32|i64|f32|f64)">
+    <token type="KeywordType"/>
+   </rule>
+   <rule pattern="\$[A-Za-z0-9!#$%&amp;\&#x27;*+./:&lt;=&gt;?@\\^_`|~-]+">
+    <token type="NameVariable"/>
+   </rule>
+   <rule pattern=";;.*?$">
+    <token type="CommentSingle"/>
+   </rule>
+   <rule pattern="\(;">
+    <token type="CommentMultiline"/>
+    <push state="nesting_comment"/>
+   </rule>
+   <rule pattern="[+-]?0x[\dA-Fa-f](_?[\dA-Fa-f])*(.([\dA-Fa-f](_?[\dA-Fa-f])*)?)?([pP][+-]?[\dA-Fa-f](_?[\dA-Fa-f])*)?">
+    <token type="LiteralNumberFloat"/>
+   </rule>
+   <rule pattern="[+-]?\d.\d(_?\d)*[eE][+-]?\d(_?\d)*">
+    <token type="LiteralNumberFloat"/>
+   </rule>
+   <rule pattern="[+-]?\d.\d(_?\d)*">
+    <token type="LiteralNumberFloat"/>
+   </rule>
+   <rule pattern="[+-]?\d.[eE][+-]?\d(_?\d)*">
+    <token type="LiteralNumberFloat"/>
+   </rule>
+   <rule pattern="[+-]?(inf|nan:0x[\dA-Fa-f](_?[\dA-Fa-f])*|nan)">
+    <token type="LiteralNumberFloat"/>
+   </rule>
+   <rule pattern="[+-]?0x[\dA-Fa-f](_?[\dA-Fa-f])*">
+    <token type="LiteralNumberHex"/>
+   </rule>
+   <rule pattern="[+-]?\d(_?\d)*">
+    <token type="LiteralNumberInteger"/>
+   </rule>
+   <rule pattern="[\(\)]">
+    <token type="Punctuation"/>
+   </rule>
+   <rule pattern="&quot;">
+    <token type="LiteralStringDouble"/>
+    <push state="string"/>
+   </rule>
+   <rule pattern="\s+">
+    <token type="Text"/>
+   </rule>
+  </state>
+  <state name="nesting_comment">
+   <rule pattern="\(;">
+    <token type="CommentMultiline"/>
+    <push/>
+   </rule>
+   <rule pattern=";\)">
+    <token type="CommentMultiline"/>
+    <pop depth="1"/>
+   </rule>
+   <rule pattern="[^;(]+">
+    <token type="CommentMultiline"/>
+   </rule>
+   <rule pattern="[;(]">
+    <token type="CommentMultiline"/>
+   </rule>
+  </state>
+  <state name="string">
+   <rule pattern="\\[\dA-Fa-f][\dA-Fa-f]">
+    <token type="LiteralStringEscape"/>
+   </rule>
+   <rule pattern="\\t">
+    <token type="LiteralStringEscape"/>
+   </rule>
+   <rule pattern="\\n">
+    <token type="LiteralStringEscape"/>
+   </rule>
+   <rule pattern="\\r">
+    <token type="LiteralStringEscape"/>
+   </rule>
+   <rule pattern="\\&quot;">
+    <token type="LiteralStringEscape"/>
+   </rule>
+   <rule pattern="\\&#x27;">
+    <token type="LiteralStringEscape"/>
+   </rule>
+   <rule pattern="\\u\{[\dA-Fa-f](_?[\dA-Fa-f])*\}">
+    <token type="LiteralStringEscape"/>
+   </rule>
+   <rule pattern="\\\\">
+    <token type="LiteralStringEscape"/>
+   </rule>
+   <rule pattern="&quot;">
+    <token type="LiteralStringDouble"/>
+    <pop depth="1"/>
+   </rule>
+   <rule pattern="[^&quot;\\]+">
+    <token type="LiteralStringDouble"/>
+   </rule>
+  </state>
+  <state name="arguments">
+   <rule pattern="\s+">
+    <token type="Text"/>
+   </rule>
+   <rule pattern="(offset)(=)(0x[\dA-Fa-f](?:_?[\dA-Fa-f])*)">
+    <bygroups>
+     <token type="Keyword"/>
+     <token type="Operator"/>
+     <token type="LiteralNumberHex"/>
+    </bygroups>
+   </rule>
+   <rule pattern="(offset)(=)(\d(?:_?\d)*)">
+    <bygroups>
+     <token type="Keyword"/>
+     <token type="Operator"/>
+     <token type="LiteralNumberInteger"/>
+    </bygroups>
+   </rule>
+   <rule pattern="(align)(=)(0x[\dA-Fa-f](?:_?[\dA-Fa-f])*)">
+    <bygroups>
+     <token type="Keyword"/>
+     <token type="Operator"/>
+     <token type="LiteralNumberHex"/>
+    </bygroups>
+   </rule>
+   <rule pattern="(align)(=)(\d(?:_?\d)*)">
+    <bygroups>
+     <token type="Keyword"/>
+     <token type="Operator"/>
+     <token type="LiteralNumberInteger"/>
+    </bygroups>
+   </rule>
+   <rule>
+    <pop depth="1"/>
+   </rule>
+  </state>
+ </rules>
+</lexer>



Test patch:
diff --git a/lexers/testdata/wat.actual b/lexers/testdata/wat.actual
new file mode 100644
index 0000000..e47e199
--- /dev/null
+++ b/lexers/testdata/wat.actual
@@ -0,0 +1,1033 @@
+(module $hello.wasm
+  (type (;0;) (func (param i32 i32 i32) (result i32)))
+  (type (;1;) (func (param i32 i64 i32) (result i64)))
+  (type (;2;) (func (param i32) (result i32)))
+  (type (;3;) (func (param i32 i32) (result i32)))
+  (type (;4;) (func (param i32 i64 i32 i32) (result i32)))
+  (type (;5;) (func (param i32 i32 i32 i32) (result i32)))
+  (type (;6;) (func (param i32)))
+  (type (;7;) (func))
+  (type (;8;) (func (result i32)))
+  (import "wasi_snapshot_preview1" "fd_close" (func $__imported_wasi_snapshot_preview1_fd_close (type 2)))
+  (import "wasi_snapshot_preview1" "fd_fdstat_get" (func $__imported_wasi_snapshot_preview1_fd_fdstat_get (type 3)))
+  (import "wasi_snapshot_preview1" "fd_seek" (func $__imported_wasi_snapshot_preview1_fd_seek (type 4)))
+  (import "wasi_snapshot_preview1" "fd_write" (func $__imported_wasi_snapshot_preview1_fd_write (type 5)))
+  (import "wasi_snapshot_preview1" "proc_exit" (func $__imported_wasi_snapshot_preview1_proc_exit (type 6)))
+  (func $__wasm_call_ctors (type 7))
+  (func $_start (type 7)
+    (local i32)
+    block  ;; label = @1
+      block  ;; label = @2
+        global.get $GOT.data.internal.__memory_base
+        i32.const 1168
+        i32.add
+        i32.load
+        br_if 0 (;@2;)
+        global.get $GOT.data.internal.__memory_base
+        i32.const 1168
+        i32.add
+        i32.const 1
+        i32.store
+        call $__wasm_call_ctors
+        call $__original_main
+        local.set 0
+        call $__wasm_call_dtors
+        local.get 0
+        br_if 1 (;@1;)
+        return
+      end
+      unreachable
+    end
+    local.get 0
+    call $__wasi_proc_exit
+    unreachable)
+  (func $__original_main (type 8) (result i32)
+    i32.const 1024
+    call $puts
+    drop
+    i32.const 0)
+  (func $__wasi_fd_close (type 2) (param i32) (result i32)
+    local.get 0
+    call $__imported_wasi_snapshot_preview1_fd_close
+    i32.const 65535
+    i32.and)
+  (func $__wasi_fd_fdstat_get (type 3) (param i32 i32) (result i32)
+    local.get 0
+    local.get 1
+    call $__imported_wasi_snapshot_preview1_fd_fdstat_get
+    i32.const 65535
+    i32.and)
+  (func $__wasi_fd_seek (type 4) (param i32 i64 i32 i32) (result i32)
+    local.get 0
+    local.get 1
+    local.get 2
+    local.get 3
+    call $__imported_wasi_snapshot_preview1_fd_seek
+    i32.const 65535
+    i32.and)
+  (func $__wasi_fd_write (type 5) (param i32 i32 i32 i32) (result i32)
+    local.get 0
+    local.get 1
+    local.get 2
+    local.get 3
+    call $__imported_wasi_snapshot_preview1_fd_write
+    i32.const 65535
+    i32.and)
+  (func $__wasi_proc_exit (type 6) (param i32)
+    local.get 0
+    call $__imported_wasi_snapshot_preview1_proc_exit
+    unreachable)
+  (func $dummy (type 7))
+  (func $__wasm_call_dtors (type 7)
+    call $dummy
+    call $__stdio_exit)
+  (func $__ofl_lock (type 8) (result i32)
+    i32.const 1172)
+  (func $__stdio_exit (type 7)
+    (local i32 i32 i32)
+    block  ;; label = @1
+      call $__ofl_lock
+      i32.load
+      local.tee 0
+      i32.eqz
+      br_if 0 (;@1;)
+      loop  ;; label = @2
+        block  ;; label = @3
+          local.get 0
+          i32.load offset=20
+          local.get 0
+          i32.load offset=24
+          i32.eq
+          br_if 0 (;@3;)
+          local.get 0
+          i32.const 0
+          i32.const 0
+          local.get 0
+          i32.load offset=32
+          call_indirect (type 0)
+          drop
+        end
+        block  ;; label = @3
+          local.get 0
+          i32.load offset=4
+          local.tee 1
+          local.get 0
+          i32.load offset=8
+          local.tee 2
+          i32.eq
+          br_if 0 (;@3;)
+          local.get 0
+          local.get 1
+          local.get 2
+          i32.sub
+          i64.extend_i32_s
+          i32.const 1
+          local.get 0
+          i32.load offset=36
+          call_indirect (type 1)
+          drop
+        end
+        local.get 0
+        i32.load offset=52
+        local.tee 0
+        br_if 0 (;@2;)
+      end
+    end
+    block  ;; label = @1
+      i32.const 0
+      i32.load offset=1176
+      local.tee 0
+      i32.eqz
+      br_if 0 (;@1;)
+      block  ;; label = @2
+        local.get 0
+        i32.load offset=20
+        local.get 0
+        i32.load offset=24
+        i32.eq
+        br_if 0 (;@2;)
+        local.get 0
+        i32.const 0
+        i32.const 0
+        local.get 0
+        i32.load offset=32
+        call_indirect (type 0)
+        drop
+      end
+      local.get 0
+      i32.load offset=4
+      local.tee 1
+      local.get 0
+      i32.load offset=8
+      local.tee 2
+      i32.eq
+      br_if 0 (;@1;)
+      local.get 0
+      local.get 1
+      local.get 2
+      i32.sub
+      i64.extend_i32_s
+      i32.const 1
+      local.get 0
+      i32.load offset=36
+      call_indirect (type 1)
+      drop
+    end
+    block  ;; label = @1
+      i32.const 0
+      i32.load offset=1152
+      local.tee 0
+      i32.eqz
+      br_if 0 (;@1;)
+      block  ;; label = @2
+        local.get 0
+        i32.load offset=20
+        local.get 0
+        i32.load offset=24
+        i32.eq
+        br_if 0 (;@2;)
+        local.get 0
+        i32.const 0
+        i32.const 0
+        local.get 0
+        i32.load offset=32
+        call_indirect (type 0)
+        drop
+      end
+      local.get 0
+      i32.load offset=4
+      local.tee 1
+      local.get 0
+      i32.load offset=8
+      local.tee 2
+      i32.eq
+      br_if 0 (;@1;)
+      local.get 0
+      local.get 1
+      local.get 2
+      i32.sub
+      i64.extend_i32_s
+      i32.const 1
+      local.get 0
+      i32.load offset=36
+      call_indirect (type 1)
+      drop
+    end
+    block  ;; label = @1
+      i32.const 0
+      i32.load offset=1176
+      local.tee 0
+      i32.eqz
+      br_if 0 (;@1;)
+      block  ;; label = @2
+        local.get 0
+        i32.load offset=20
+        local.get 0
+        i32.load offset=24
+        i32.eq
+        br_if 0 (;@2;)
+        local.get 0
+        i32.const 0
+        i32.const 0
+        local.get 0
+        i32.load offset=32
+        call_indirect (type 0)
+        drop
+      end
+      local.get 0
+      i32.load offset=4
+      local.tee 1
+      local.get 0
+      i32.load offset=8
+      local.tee 2
+      i32.eq
+      br_if 0 (;@1;)
+      local.get 0
+      local.get 1
+      local.get 2
+      i32.sub
+      i64.extend_i32_s
+      i32.const 1
+      local.get 0
+      i32.load offset=36
+      call_indirect (type 1)
+      drop
+    end)
+  (func $__towrite (type 2) (param i32) (result i32)
+    (local i32)
+    local.get 0
+    local.get 0
+    i32.load offset=60
+    local.tee 1
+    i32.const -1
+    i32.add
+    local.get 1
+    i32.or
+    i32.store offset=60
+    block  ;; label = @1
+      local.get 0
+      i32.load
+      local.tee 1
+      i32.const 8
+      i32.and
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 0
+      local.get 1
+      i32.const 32
+      i32.or
+      i32.store
+      i32.const -1
+      return
+    end
+    local.get 0
+    i64.const 0
+    i64.store offset=4 align=4
+    local.get 0
+    local.get 0
+    i32.load offset=40
+    local.tee 1
+    i32.store offset=24
+    local.get 0
+    local.get 1
+    i32.store offset=20
+    local.get 0
+    local.get 1
+    local.get 0
+    i32.load offset=44
+    i32.add
+    i32.store offset=16
+    i32.const 0)
+  (func $fwrite (type 5) (param i32 i32 i32 i32) (result i32)
+    (local i32 i32 i32 i32 i32)
+    local.get 2
+    local.get 1
+    i32.mul
+    local.set 4
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 3
+        i32.load offset=16
+        local.tee 5
+        br_if 0 (;@2;)
+        i32.const 0
+        local.set 6
+        local.get 3
+        call $__towrite
+        br_if 1 (;@1;)
+        local.get 3
+        i32.load offset=16
+        local.set 5
+      end
+      block  ;; label = @2
+        local.get 4
+        local.get 5
+        local.get 3
+        i32.load offset=20
+        local.tee 7
+        i32.sub
+        i32.le_u
+        br_if 0 (;@2;)
+        local.get 3
+        local.get 0
+        local.get 4
+        local.get 3
+        i32.load offset=32
+        call_indirect (type 0)
+        local.set 6
+        br 1 (;@1;)
+      end
+      i32.const 0
+      local.set 8
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 4
+          br_if 0 (;@3;)
+          local.get 4
+          local.set 5
+          br 1 (;@2;)
+        end
+        i32.const 0
+        local.set 5
+        block  ;; label = @3
+          local.get 3
+          i32.load offset=64
+          i32.const 0
+          i32.ge_s
+          br_if 0 (;@3;)
+          local.get 4
+          local.set 5
+          br 1 (;@2;)
+        end
+        local.get 0
+        local.get 4
+        i32.add
+        local.set 6
+        block  ;; label = @3
+          loop  ;; label = @4
+            local.get 6
+            local.get 5
+            i32.add
+            i32.const -1
+            i32.add
+            i32.load8_u
+            i32.const 10
+            i32.eq
+            br_if 1 (;@3;)
+            local.get 4
+            local.get 5
+            i32.const -1
+            i32.add
+            local.tee 5
+            i32.add
+            br_if 0 (;@4;)
+          end
+          i32.const 0
+          local.set 8
+          local.get 4
+          local.set 5
+          br 1 (;@2;)
+        end
+        local.get 3
+        local.get 0
+        local.get 4
+        local.get 5
+        i32.add
+        local.tee 8
+        local.get 3
+        i32.load offset=32
+        call_indirect (type 0)
+        local.tee 6
+        local.get 8
+        i32.lt_u
+        br_if 1 (;@1;)
+        local.get 8
+        local.get 0
+        i32.add
+        local.set 0
+        i32.const 0
+        local.get 5
+        i32.sub
+        local.set 5
+        local.get 3
+        i32.load offset=20
+        local.set 7
+      end
+      block  ;; label = @2
+        local.get 5
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 7
+        local.get 0
+        local.get 5
+        memory.copy
+      end
+      local.get 3
+      local.get 3
+      i32.load offset=20
+      local.get 5
+      i32.add
+      i32.store offset=20
+      local.get 8
+      local.get 5
+      i32.add
+      local.set 6
+    end
+    block  ;; label = @1
+      local.get 6
+      local.get 4
+      i32.ne
+      br_if 0 (;@1;)
+      local.get 2
+      i32.const 0
+      local.get 1
+      select
+      return
+    end
+    local.get 6
+    local.get 1
+    i32.div_u)
+  (func $fputs (type 3) (param i32 i32) (result i32)
+    (local i32)
+    local.get 0
+    call $strlen
+    local.set 2
+    i32.const -1
+    i32.const 0
+    local.get 2
+    local.get 0
+    i32.const 1
+    local.get 2
+    local.get 1
+    call $fwrite
+    i32.ne
+    select)
+  (func $__overflow (type 3) (param i32 i32) (result i32)
+    (local i32 i32 i32)
+    global.get $__stack_pointer
+    i32.const 16
+    i32.sub
+    local.tee 2
+    global.set $__stack_pointer
+    local.get 2
+    local.get 1
+    i32.store8 offset=15
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 0
+        i32.load offset=16
+        local.tee 3
+        br_if 0 (;@2;)
+        block  ;; label = @3
+          local.get 0
+          call $__towrite
+          i32.eqz
+          br_if 0 (;@3;)
+          i32.const -1
+          local.set 3
+          br 2 (;@1;)
+        end
+        local.get 0
+        i32.load offset=16
+        local.set 3
+      end
+      block  ;; label = @2
+        local.get 0
+        i32.load offset=20
+        local.tee 4
+        local.get 3
+        i32.eq
+        br_if 0 (;@2;)
+        local.get 0
+        i32.load offset=64
+        local.get 1
+        i32.const 255
+        i32.and
+        local.tee 3
+        i32.eq
+        br_if 0 (;@2;)
+        local.get 0
+        local.get 4
+        i32.const 1
+        i32.add
+        i32.store offset=20
+        local.get 4
+        local.get 1
+        i32.store8
+        br 1 (;@1;)
+      end
+      block  ;; label = @2
+        local.get 0
+        local.get 2
+        i32.const 15
+        i32.add
+        i32.const 1
+        local.get 0
+        i32.load offset=32
+        call_indirect (type 0)
+        i32.const 1
+        i32.eq
+        br_if 0 (;@2;)
+        i32.const -1
+        local.set 3
+        br 1 (;@1;)
+      end
+      local.get 2
+      i32.load8_u offset=15
+      local.set 3
+    end
+    local.get 2
+    i32.const 16
+    i32.add
+    global.set $__stack_pointer
+    local.get 3)
+  (func $puts (type 2) (param i32) (result i32)
+    block  ;; label = @1
+      local.get 0
+      i32.const 1040
+      call $fputs
+      i32.const 0
+      i32.ge_s
+      br_if 0 (;@1;)
+      i32.const -1
+      return
+    end
+    block  ;; label = @1
+      i32.const 0
+      i32.load offset=1104
+      i32.const 10
+      i32.eq
+      br_if 0 (;@1;)
+      i32.const 0
+      i32.load offset=1060
+      local.tee 0
+      i32.const 0
+      i32.load offset=1056
+      i32.eq
+      br_if 0 (;@1;)
+      i32.const 0
+      local.get 0
+      i32.const 1
+      i32.add
+      i32.store offset=1060
+      local.get 0
+      i32.const 10
+      i32.store8
+      i32.const 0
+      return
+    end
+    i32.const 1040
+    i32.const 10
+    call $__overflow
+    i32.const 31
+    i32.shr_s)
+  (func $__wasilibc_populate_preopens (type 7))
+  (func $close (type 2) (param i32) (result i32)
+    call $__wasilibc_populate_preopens
+    block  ;; label = @1
+      local.get 0
+      call $__wasi_fd_close
+      local.tee 0
+      br_if 0 (;@1;)
+      i32.const 0
+      return
+    end
+    i32.const 0
+    local.get 0
+    i32.store offset=1180
+    i32.const -1)
+  (func $__stdio_close (type 2) (param i32) (result i32)
+    local.get 0
+    i32.load offset=56
+    call $close)
+  (func $writev (type 0) (param i32 i32 i32) (result i32)
+    (local i32 i32)
+    global.get $__stack_pointer
+    i32.const 16
+    i32.sub
+    local.tee 3
+    global.set $__stack_pointer
+    i32.const -1
+    local.set 4
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 2
+        i32.const -1
+        i32.gt_s
+        br_if 0 (;@2;)
+        i32.const 0
+        i32.const 28
+        i32.store offset=1180
+        br 1 (;@1;)
+      end
+      block  ;; label = @2
+        local.get 0
+        local.get 1
+        local.get 2
+        local.get 3
+        i32.const 12
+        i32.add
+        call $__wasi_fd_write
+        local.tee 2
+        i32.eqz
+        br_if 0 (;@2;)
+        i32.const 0
+        local.get 2
+        i32.store offset=1180
+        i32.const -1
+        local.set 4
+        br 1 (;@1;)
+      end
+      local.get 3
+      i32.load offset=12
+      local.set 4
+    end
+    local.get 3
+    i32.const 16
+    i32.add
+    global.set $__stack_pointer
+    local.get 4)
+  (func $__stdio_write (type 0) (param i32 i32 i32) (result i32)
+    (local i32 i32 i32 i32 i32 i32 i32)
+    global.get $__stack_pointer
+    i32.const 16
+    i32.sub
+    local.tee 3
+    global.set $__stack_pointer
+    local.get 3
+    local.get 2
+    i32.store offset=12
+    local.get 3
+    local.get 1
+    i32.store offset=8
+    local.get 3
+    local.get 0
+    i32.load offset=24
+    local.tee 1
+    i32.store
+    local.get 3
+    local.get 0
+    i32.load offset=20
+    local.get 1
+    i32.sub
+    local.tee 4
+    i32.store offset=4
+    i32.const 2
+    local.set 5
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 0
+        i32.load offset=56
+        local.get 3
+        i32.const 2
+        call $writev
+        local.tee 1
+        local.get 4
+        local.get 2
+        i32.add
+        local.tee 6
+        i32.eq
+        br_if 0 (;@2;)
+        local.get 3
+        local.set 4
+        loop  ;; label = @3
+          block  ;; label = @4
+            local.get 1
+            i32.const -1
+            i32.gt_s
+            br_if 0 (;@4;)
+            i32.const 0
+            local.set 1
+            local.get 0
+            i32.const 0
+            i32.store offset=24
+            local.get 0
+            i64.const 0
+            i64.store offset=16
+            local.get 0
+            local.get 0
+            i32.load
+            i32.const 32
+            i32.or
+            i32.store
+            local.get 5
+            i32.const 2
+            i32.eq
+            br_if 3 (;@1;)
+            local.get 2
+            local.get 4
+            i32.load offset=4
+            i32.sub
+            local.set 1
+            br 3 (;@1;)
+          end
+          local.get 4
+          i32.const 8
+          i32.const 0
+          local.get 1
+          local.get 4
+          i32.load offset=4
+          local.tee 7
+          i32.gt_u
+          local.tee 8
+          select
+          i32.add
+          local.tee 9
+          local.get 9
+          i32.load
+          local.get 1
+          local.get 7
+          i32.const 0
+          local.get 8
+          select
+          i32.sub
+          local.tee 7
+          i32.add
+          i32.store
+          local.get 4
+          i32.const 12
+          i32.const 4
+          local.get 8
+          select
+          i32.add
+          local.tee 4
+          local.get 4
+          i32.load
+          local.get 7
+          i32.sub
+          i32.store
+          local.get 9
+          local.set 4
+          local.get 6
+          local.get 1
+          i32.sub
+          local.tee 6
+          local.get 0
+          i32.load offset=56
+          local.get 9
+          local.get 5
+          local.get 8
+          i32.sub
+          local.tee 5
+          call $writev
+          local.tee 1
+          i32.ne
+          br_if 0 (;@3;)
+        end
+      end
+      local.get 0
+      local.get 0
+      i32.load offset=40
+      local.tee 1
+      i32.store offset=24
+      local.get 0
+      local.get 1
+      i32.store offset=20
+      local.get 0
+      local.get 1
+      local.get 0
+      i32.load offset=44
+      i32.add
+      i32.store offset=16
+      local.get 2
+      local.set 1
+    end
+    local.get 3
+    i32.const 16
+    i32.add
+    global.set $__stack_pointer
+    local.get 1)
+  (func $__isatty (type 2) (param i32) (result i32)
+    (local i32 i32)
+    global.get $__stack_pointer
+    i32.const 32
+    i32.sub
+    local.tee 1
+    global.set $__stack_pointer
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 0
+        local.get 1
+        i32.const 8
+        i32.add
+        call $__wasi_fd_fdstat_get
+        local.tee 0
+        br_if 0 (;@2;)
+        i32.const 59
+        local.set 0
+        local.get 1
+        i32.load8_u offset=8
+        i32.const 2
+        i32.ne
+        br_if 0 (;@2;)
+        local.get 1
+        i32.load8_u offset=16
+        i32.const 36
+        i32.and
+        br_if 0 (;@2;)
+        i32.const 1
+        local.set 2
+        br 1 (;@1;)
+      end
+      i32.const 0
+      local.set 2
+      i32.const 0
+      local.get 0
+      i32.store offset=1180
+    end
+    local.get 1
+    i32.const 32
+    i32.add
+    global.set $__stack_pointer
+    local.get 2)
+  (func $__stdout_write (type 0) (param i32 i32 i32) (result i32)
+    local.get 0
+    i32.const 1
+    i32.store offset=32
+    block  ;; label = @1
+      local.get 0
+      i32.load8_u
+      i32.const 64
+      i32.and
+      br_if 0 (;@1;)
+      local.get 0
+      i32.load offset=56
+      call $__isatty
+      br_if 0 (;@1;)
+      local.get 0
+      i32.const -1
+      i32.store offset=64
+    end
+    local.get 0
+    local.get 1
+    local.get 2
+    call $__stdio_write)
+  (func $__lseek (type 1) (param i32 i64 i32) (result i64)
+    (local i32)
+    global.get $__stack_pointer
+    i32.const 16
+    i32.sub
+    local.tee 3
+    global.set $__stack_pointer
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 0
+        local.get 1
+        local.get 2
+        i32.const 255
+        i32.and
+        local.get 3
+        i32.const 8
+        i32.add
+        call $__wasi_fd_seek
+        local.tee 2
+        i32.eqz
+        br_if 0 (;@2;)
+        i32.const 0
+        i32.const 70
+        local.get 2
+        local.get 2
+        i32.const 76
+        i32.eq
+        select
+        i32.store offset=1180
+        i64.const -1
+        local.set 1
+        br 1 (;@1;)
+      end
+      local.get 3
+      i64.load offset=8
+      local.set 1
+    end
+    local.get 3
+    i32.const 16
+    i32.add
+    global.set $__stack_pointer
+    local.get 1)
+  (func $__stdio_seek (type 1) (param i32 i64 i32) (result i64)
+    local.get 0
+    i32.load offset=56
+    local.get 1
+    local.get 2
+    call $__lseek)
+  (func $strlen (type 2) (param i32) (result i32)
+    (local i32 i32 i32)
+    local.get 0
+    local.set 1
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 0
+        i32.const 3
+        i32.and
+        i32.eqz
+        br_if 0 (;@2;)
+        block  ;; label = @3
+          local.get 0
+          i32.load8_u
+          br_if 0 (;@3;)
+          local.get 0
+          local.get 0
+          i32.sub
+          return
+        end
+        local.get 0
+        i32.const 1
+        i32.add
+        local.tee 1
+        i32.const 3
+        i32.and
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 1
+        i32.load8_u
+        i32.eqz
+        br_if 1 (;@1;)
+        local.get 0
+        i32.const 2
+        i32.add
+        local.tee 1
+        i32.const 3
+        i32.and
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 1
+        i32.load8_u
+        i32.eqz
+        br_if 1 (;@1;)
+        local.get 0
+        i32.const 3
+        i32.add
+        local.tee 1
+        i32.const 3
+        i32.and
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 1
+        i32.load8_u
+        i32.eqz
+        br_if 1 (;@1;)
+        local.get 0
+        i32.const 4
+        i32.add
+        local.tee 1
+        i32.const 3
+        i32.and
+        br_if 1 (;@1;)
+      end
+      local.get 1
+      i32.const -4
+      i32.add
+      local.set 2
+      local.get 1
+      i32.const -5
+      i32.add
+      local.set 1
+      loop  ;; label = @2
+        local.get 1
+        i32.const 4
+        i32.add
+        local.set 1
+        i32.const 16843008
+        local.get 2
+        i32.const 4
+        i32.add
+        local.tee 2
+        i32.load
+        local.tee 3
+        i32.sub
+        local.get 3
+        i32.or
+        i32.const -2139062144
+        i32.and
+        i32.const -2139062144
+        i32.eq
+        br_if 0 (;@2;)
+      end
+      loop  ;; label = @2
+        local.get 1
+        i32.const 1
+        i32.add
+        local.set 1
+        local.get 2
+        i32.load8_u
+        local.set 3
+        local.get 2
+        i32.const 1
+        i32.add
+        local.set 2
+        local.get 3
+        br_if 0 (;@2;)
+      end
+    end
+    local.get 1
+    local.get 0
+    i32.sub)
+  (table (;0;) 5 5 funcref)
+  (memory (;0;) 2)
+  (global $__stack_pointer (mut i32) (i32.const 67760))
+  (global $GOT.data.internal.__memory_base i32 (i32.const 0))
+  (export "memory" (memory 0))
+  (export "_start" (func $_start))
+  (elem (;0;) (i32.const 1) func $__stdio_write $__stdio_close $__stdout_write $__stdio_seek)
+  (data $.rodata (i32.const 1024) "Hello World!\00")
+  (data $.data (i32.const 1040) "\05\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\04\00\00\00\a8\04\00\00\00\04\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\0a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\04\00\00"))
diff --git a/lexers/testdata/wat.expected b/lexers/testdata/wat.expected
new file mode 100644
index 0000000..56c71d1
--- /dev/null
+++ b/lexers/testdata/wat.expected
@@ -0,0 +1,4895 @@
+[
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"module"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$hello.wasm"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;0;)"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"param"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"result"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")))"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;1;)"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"param"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i64"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"result"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i64"},
+  {"type":"Punctuation","value":")))"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;2;)"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"param"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"result"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")))"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;3;)"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"param"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"result"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")))"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;4;)"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"param"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i64"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"result"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")))"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;5;)"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"param"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"result"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")))"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;6;)"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"param"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")))"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;7;)"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Punctuation","value":"))"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;8;)"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"result"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")))"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"import"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralStringDouble","value":"\"wasi_snapshot_preview1\""},
+  {"type":"Text","value":" "},
+  {"type":"LiteralStringDouble","value":"\"fd_close\""},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__imported_wasi_snapshot_preview1_fd_close"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Punctuation","value":")))"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"import"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralStringDouble","value":"\"wasi_snapshot_preview1\""},
+  {"type":"Text","value":" "},
+  {"type":"LiteralStringDouble","value":"\"fd_fdstat_get\""},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__imported_wasi_snapshot_preview1_fd_fdstat_get"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Punctuation","value":")))"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"import"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralStringDouble","value":"\"wasi_snapshot_preview1\""},
+  {"type":"Text","value":" "},
+  {"type":"LiteralStringDouble","value":"\"fd_seek\""},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__imported_wasi_snapshot_preview1_fd_seek"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Punctuation","value":")))"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"import"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralStringDouble","value":"\"wasi_snapshot_preview1\""},
+  {"type":"Text","value":" "},
+  {"type":"LiteralStringDouble","value":"\"fd_write\""},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__imported_wasi_snapshot_preview1_fd_write"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"5"},
+  {"type":"Punctuation","value":")))"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"import"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralStringDouble","value":"\"wasi_snapshot_preview1\""},
+  {"type":"Text","value":" "},
+  {"type":"LiteralStringDouble","value":"\"proc_exit\""},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__imported_wasi_snapshot_preview1_proc_exit"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"6"},
+  {"type":"Punctuation","value":")))"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__wasm_call_ctors"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"7"},
+  {"type":"Punctuation","value":"))"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$_start"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"7"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"local"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"global.get"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$GOT.data.internal.__memory_base"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberFloat","value":"1168"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@2;)"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"global.get"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$GOT.data.internal.__memory_base"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberFloat","value":"1168"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.store"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"call"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__wasm_call_ctors"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"call"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__original_main"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"call"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__wasm_call_dtors"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@1;)"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"return"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"unreachable"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"call"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__wasi_proc_exit"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"unreachable"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__original_main"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"8"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"result"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberFloat","value":"1024"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"call"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$puts"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"drop"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__wasi_fd_close"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"param"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"result"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"call"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__imported_wasi_snapshot_preview1_fd_close"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberFloat","value":"65535"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.and"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__wasi_fd_fdstat_get"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"param"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"result"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"call"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__imported_wasi_snapshot_preview1_fd_fdstat_get"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberFloat","value":"65535"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.and"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__wasi_fd_seek"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"param"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i64"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"result"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"call"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__imported_wasi_snapshot_preview1_fd_seek"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberFloat","value":"65535"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.and"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__wasi_fd_write"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"5"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"param"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"result"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"call"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__imported_wasi_snapshot_preview1_fd_write"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberFloat","value":"65535"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.and"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__wasi_proc_exit"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"6"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"param"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"call"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__imported_wasi_snapshot_preview1_proc_exit"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"unreachable"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$dummy"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"7"},
+  {"type":"Punctuation","value":"))"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__wasm_call_dtors"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"7"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"call"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$dummy"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"call"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__stdio_exit"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__ofl_lock"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"8"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"result"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberFloat","value":"1172"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__stdio_exit"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"7"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"local"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"call"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__ofl_lock"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.eqz"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@1;)"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"loop"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @3"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"20"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"24"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.eq"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@3;)"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"32"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"call_indirect"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"drop"},
+  {"type":"Text","value":"\n        "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n        "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @3"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"8"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.eq"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@3;)"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.sub"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i64.extend_i32_s"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"36"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"call_indirect"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"drop"},
+  {"type":"Text","value":"\n        "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"52"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@2;)"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"1176"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.eqz"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@1;)"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"20"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"24"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.eq"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@2;)"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"32"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"call_indirect"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"drop"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"8"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.eq"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@1;)"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.sub"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i64.extend_i32_s"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"36"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"call_indirect"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"drop"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"1152"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.eqz"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@1;)"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"20"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"24"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.eq"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@2;)"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"32"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"call_indirect"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"drop"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"8"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.eq"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@1;)"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.sub"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i64.extend_i32_s"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"36"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"call_indirect"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"drop"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"1176"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.eqz"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@1;)"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"20"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"24"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.eq"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@2;)"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"32"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"call_indirect"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"drop"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"8"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.eq"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@1;)"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.sub"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i64.extend_i32_s"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"36"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"call_indirect"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"drop"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__towrite"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"param"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"result"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"local"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"60"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"-1"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.or"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.store"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"60"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"8"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.and"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.eqz"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@1;)"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"32"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.or"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.store"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"-1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"return"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i64.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i64.store"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"align"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"40"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.store"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"24"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.store"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"20"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"44"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.store"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"16"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$fwrite"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"5"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"param"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"result"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"local"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.mul"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"16"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"5"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@2;)"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"6"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"call"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__towrite"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@1;)"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"16"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"5"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"5"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"20"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"7"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.sub"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.le_u"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@2;)"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"32"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"call_indirect"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"6"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@1;)"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"8"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @3"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@3;)"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"5"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"br"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@2;)"},
+  {"type":"Text","value":"\n        "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"5"},
+  {"type":"Text","value":"\n        "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @3"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"64"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.ge_s"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@3;)"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"5"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"br"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@2;)"},
+  {"type":"Text","value":"\n        "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"6"},
+  {"type":"Text","value":"\n        "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @3"},
+  {"type":"Text","value":"\n          "},
+  {"type":"Keyword","value":"loop"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @4"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"6"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"5"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"-1"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"i32.load8_u"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"10"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"i32.eq"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@3;)"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"5"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"-1"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"5"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@4;)"},
+  {"type":"Text","value":"\n          "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"8"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"5"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"br"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@2;)"},
+  {"type":"Text","value":"\n        "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"5"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"8"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"32"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"call_indirect"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"6"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"8"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.lt_u"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@1;)"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"8"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"5"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.sub"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"5"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"20"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"7"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"5"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.eqz"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@2;)"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"7"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"5"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"memory.copy"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"20"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"5"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.store"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"20"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"8"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"5"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"6"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"6"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.ne"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@1;)"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"select"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"return"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"6"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.div_u"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$fputs"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"param"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"result"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"local"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"call"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$strlen"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"-1"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"call"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$fwrite"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.ne"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"select"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__overflow"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"param"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"result"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"local"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"global.get"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__stack_pointer"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"16"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.sub"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"global.set"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__stack_pointer"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.store8"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"15"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"16"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@2;)"},
+  {"type":"Text","value":"\n        "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @3"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"call"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__towrite"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.eqz"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@3;)"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"-1"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"br"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@1;)"},
+  {"type":"Text","value":"\n        "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"16"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"20"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.eq"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@2;)"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"64"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberFloat","value":"255"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.and"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.eq"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@2;)"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.store"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"20"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.store8"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@1;)"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"15"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"32"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"call_indirect"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.eq"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@2;)"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"-1"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@1;)"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.load8_u"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"15"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"16"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"global.set"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__stack_pointer"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$puts"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"param"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"result"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberFloat","value":"1040"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"call"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$fputs"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.ge_s"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@1;)"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"-1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"return"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"1104"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"10"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.eq"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@1;)"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"1060"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"1056"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.eq"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@1;)"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.store"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"1060"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"10"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.store8"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"return"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberFloat","value":"1040"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"10"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"call"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__overflow"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"31"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.shr_s"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__wasilibc_populate_preopens"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"7"},
+  {"type":"Punctuation","value":"))"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$close"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"param"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"result"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"call"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__wasilibc_populate_preopens"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"call"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__wasi_fd_close"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@1;)"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"return"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.store"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"1180"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"-1"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__stdio_close"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"param"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"result"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"56"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"call"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$close"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$writev"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"param"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"result"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"local"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"global.get"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__stack_pointer"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"16"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.sub"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"global.set"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__stack_pointer"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"-1"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"-1"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.gt_s"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@2;)"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"28"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.store"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"1180"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@1;)"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"12"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"call"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__wasi_fd_write"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.eqz"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@2;)"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.store"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"1180"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"-1"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@1;)"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"12"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"16"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"global.set"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__stack_pointer"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__stdio_write"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"param"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"result"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"local"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"global.get"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__stack_pointer"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"16"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.sub"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"global.set"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__stack_pointer"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.store"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"12"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.store"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"8"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"24"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.store"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"20"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.sub"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.store"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"5"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"56"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"call"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$writev"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"6"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.eq"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@2;)"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n        "},
+  {"type":"Keyword","value":"loop"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @3"},
+  {"type":"Text","value":"\n          "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @4"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"-1"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"i32.gt_s"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@4;)"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"i32.store"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"24"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"i64.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"i64.store"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"16"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"32"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"i32.or"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"i32.store"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"5"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"i32.eq"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@1;)"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"i32.sub"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n            "},
+  {"type":"NameBuiltin","value":"br"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@1;)"},
+  {"type":"Text","value":"\n          "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"8"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"7"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.gt_u"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"8"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"select"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"9"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"9"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"7"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"8"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"select"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.sub"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"7"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.store"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"12"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"8"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"select"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"7"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.sub"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.store"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"9"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"6"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.sub"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"6"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"56"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"9"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"5"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"8"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.sub"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"5"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"call"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$writev"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.ne"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@3;)"},
+  {"type":"Text","value":"\n        "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"40"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.store"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"24"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.store"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"20"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"44"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.store"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"16"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"16"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"global.set"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__stack_pointer"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__isatty"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"param"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"result"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"local"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"global.get"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__stack_pointer"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"32"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.sub"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"global.set"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__stack_pointer"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"8"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"call"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__wasi_fd_fdstat_get"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@2;)"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"59"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.load8_u"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"8"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.ne"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@2;)"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.load8_u"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"16"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"36"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.and"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@2;)"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@1;)"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.store"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"1180"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"32"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"global.set"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__stack_pointer"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__stdout_write"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"param"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"result"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.store"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"32"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.load8_u"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"64"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.and"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@1;)"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"56"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"call"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__isatty"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@1;)"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"-1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.store"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"64"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"call"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__stdio_write"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__lseek"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"param"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i64"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"result"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i64"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"local"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"global.get"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__stack_pointer"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"16"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.sub"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"global.set"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__stack_pointer"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberFloat","value":"255"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.and"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"8"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"call"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__wasi_fd_seek"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.eqz"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@2;)"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"70"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"76"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.eq"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"select"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.store"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"1180"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i64.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"-1"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@1;)"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i64.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"8"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"16"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"global.set"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__stack_pointer"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__stdio_seek"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"param"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i64"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"result"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i64"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"offset"},
+  {"type":"Operator","value":"="},
+  {"type":"LiteralNumberInteger","value":"56"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"call"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__lseek"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$strlen"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"type"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"param"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"result"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"local"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.and"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.eqz"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@2;)"},
+  {"type":"Text","value":"\n        "},
+  {"type":"Keyword","value":"block"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @3"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.load8_u"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@3;)"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"i32.sub"},
+  {"type":"Text","value":"\n          "},
+  {"type":"NameBuiltin","value":"return"},
+  {"type":"Text","value":"\n        "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.and"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.eqz"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@2;)"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.load8_u"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.eqz"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@1;)"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.and"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.eqz"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@2;)"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.load8_u"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.eqz"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@1;)"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.and"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.eqz"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@2;)"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.load8_u"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.eqz"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@1;)"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.and"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@1;)"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"-4"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"-5"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n      "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"loop"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberFloat","value":"16843008"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"4"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.load"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.tee"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.sub"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.or"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberFloat","value":"-2139062144"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.and"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberFloat","value":"-2139062144"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.eq"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@2;)"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"loop"},
+  {"type":"Text","value":"  "},
+  {"type":"CommentSingle","value":";; label = @2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.load8_u"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"i32.add"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.set"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"3"},
+  {"type":"Text","value":"\n        "},
+  {"type":"NameBuiltin","value":"br_if"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;@2;)"},
+  {"type":"Text","value":"\n      "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n    "},
+  {"type":"Keyword","value":"end"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"local.get"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Text","value":"\n    "},
+  {"type":"NameBuiltin","value":"i32.sub"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"table"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;0;)"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberFloat","value":"5 5"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"funcref"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"memory"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;0;)"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"2"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"global"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__stack_pointer"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"mut"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberFloat","value":"67760"},
+  {"type":"Punctuation","value":"))"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"global"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$GOT.data.internal.__memory_base"},
+  {"type":"Text","value":" "},
+  {"type":"KeywordType","value":"i32"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Punctuation","value":"))"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"export"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralStringDouble","value":"\"memory\""},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"memory"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"0"},
+  {"type":"Punctuation","value":"))"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"export"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralStringDouble","value":"\"_start\""},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$_start"},
+  {"type":"Punctuation","value":"))"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"elem"},
+  {"type":"Text","value":" "},
+  {"type":"CommentMultiline","value":"(;0;)"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberInteger","value":"1"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"Keyword","value":"func"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__stdio_write"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__stdio_close"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__stdout_write"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$__stdio_seek"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"data"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$.rodata"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberFloat","value":"1024"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralStringDouble","value":"\"Hello World!"},
+  {"type":"LiteralStringEscape","value":"\\00"},
+  {"type":"LiteralStringDouble","value":"\""},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n  "},
+  {"type":"Punctuation","value":"("},
+  {"type":"Keyword","value":"data"},
+  {"type":"Text","value":" "},
+  {"type":"NameVariable","value":"$.data"},
+  {"type":"Text","value":" "},
+  {"type":"Punctuation","value":"("},
+  {"type":"NameBuiltin","value":"i32.const"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralNumberFloat","value":"1040"},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":" "},
+  {"type":"LiteralStringDouble","value":"\""},
+  {"type":"LiteralStringEscape","value":"\\05\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\02\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\03\\00\\00\\00\\04\\00\\00\\00\\a8\\04\\00\\00\\00\\04\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\01\\00\\00\\00\\00\\00\\00\\00\\0a\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\10\\04\\00\\00"},
+  {"type":"LiteralStringDouble","value":"\""},
+  {"type":"Punctuation","value":"))"},
+  {"type":"Text","value":"\n"}
+]