user: Please show me the C implementation that matches the assembly code listed below:

```asm
<gui_keyboard_default_bindings>:
  endbr64
  push   %r14
  lea    D968(%rip),%rdi
  lea    D1570(%rip),%r14
  push   %r13
  lea    D1230(%rip),%r13
  push   %r12
  push   %rbp
  lea    D584(%rip),%rbp
  push   %rbx
  mov    %rbp,%rsi
  mov    $0x1,%ebx
  sub    $0x50,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0x48(%rsp)
  xor    %eax,%eax
  mov    %rsp,%r12
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D452(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  lea    D1628(%rip),%rsi
  xor    %eax,%eax
  lea    D1790(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D391(%rip),%rsi
  xor    %eax,%eax
  lea    D1489(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D1172(%rip),%rbp
  lea    D1707(%rip),%rsi
  xor    %eax,%eax
  lea    D1693(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D1497(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D100(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  lea    D1512(%rip),%rbp
  lea    D1064(%rip),%rdi
  xor    %eax,%eax
  mov    %rbp,%rsi
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D138(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  lea    D661(%rip),%rsi
  xor    %eax,%eax
  lea    D1063(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D501(%rip),%rsi
  xor    %eax,%eax
  lea    D1058(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D467(%rip),%rsi
  xor    %eax,%eax
  lea    D1028(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D1131(%rip),%rsi
  xor    %eax,%eax
  lea    D287(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D1493(%rip),%rsi
  xor    %eax,%eax
  lea    D1129(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D289(%rip),%rsi
  xor    %eax,%eax
  lea    D1824(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D1247(%rip),%rsi
  xor    %eax,%eax
  lea    D416(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D368(%rip),%rbp
  lea    D1116(%rip),%rsi
  xor    %eax,%eax
  lea    D1051(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D783(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D895(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D1294(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D1277(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  lea    D1021(%rip),%rbp
  lea    D516(%rip),%rdi
  xor    %eax,%eax
  mov    %rbp,%rsi
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D16(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D1366(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D1638(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  lea    D1325(%rip),%rbp
  lea    D823(%rip),%rdi
  xor    %eax,%eax
  mov    %rbp,%rsi
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D1081(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  lea    D404(%rip),%rbp
  lea    D1321(%rip),%rdi
  xor    %eax,%eax
  mov    %rbp,%rsi
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D464(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  lea    D130(%rip),%rbp
  lea    D1812(%rip),%rdi
  xor    %eax,%eax
  mov    %rbp,%rsi
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D329(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  lea    D545(%rip),%rbp
  lea    D831(%rip),%rdi
  xor    %eax,%eax
  mov    %rbp,%rsi
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D862(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  lea    D868(%rip),%rsi
  xor    %eax,%eax
  lea    D595(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D1281(%rip),%rsi
  xor    %eax,%eax
  lea    D1799(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D85(%rip),%rsi
  xor    %eax,%eax
  lea    D892(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D684(%rip),%rsi
  xor    %eax,%eax
  lea    D1685(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D1301(%rip),%rsi
  xor    %eax,%eax
  lea    D1465(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D744(%rip),%rsi
  xor    %eax,%eax
  lea    D401(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D80(%rip),%rsi
  xor    %eax,%eax
  lea    D426(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D28(%rip),%rsi
  xor    %eax,%eax
  lea    D87(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D589(%rip),%rsi
  xor    %eax,%eax
  lea    D215(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D1655(%rip),%rsi
  xor    %eax,%eax
  lea    D1373(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D950(%rip),%rsi
  xor    %eax,%eax
  lea    D1329(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D128(%rip),%rsi
  xor    %eax,%eax
  lea    D187(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D1829(%rip),%rsi
  xor    %eax,%eax
  lea    D251(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D239(%rip),%rsi
  xor    %eax,%eax
  lea    D1582(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D214(%rip),%rsi
  xor    %eax,%eax
  lea    D196(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D762(%rip),%rsi
  xor    %eax,%eax
  lea    D193(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D1806(%rip),%rsi
  xor    %eax,%eax
  lea    D918(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D253(%rip),%rbp
  lea    D185(%rip),%rsi
  xor    %eax,%eax
  lea    D1636(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D1214(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D332(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D838(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D304(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D1563(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D485(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  lea    D53(%rip),%rbp
  lea    D673(%rip),%rdi
  xor    %eax,%eax
  mov    %rbp,%rsi
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D1085(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D366(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D1676(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D907(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D1774(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  lea    D1698(%rip),%rbp
  lea    D766(%rip),%rdi
  xor    %eax,%eax
  mov    %rbp,%rsi
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D1604(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  lea    D1616(%rip),%rbp
  lea    D336(%rip),%rdi
  xor    %eax,%eax
  mov    %rbp,%rsi
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D20(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  lea    D1731(%rip),%rsi
  xor    %eax,%eax
  lea    D667(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D1108(%rip),%rbp
  lea    D339(%rip),%rsi
  xor    %eax,%eax
  lea    D216(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D1059(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D1688(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  lea    D763(%rip),%rbp
  lea    D349(%rip),%rdi
  xor    %eax,%eax
  mov    %rbp,%rsi
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D142(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  lea    D536(%rip),%rsi
  xor    %eax,%eax
  lea    D112(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D1127(%rip),%rsi
  xor    %eax,%eax
  lea    D1723(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D1701(%rip),%rsi
  xor    %eax,%eax
  lea    D712(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D225(%rip),%rsi
  xor    %eax,%eax
  lea    D1078(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D242(%rip),%rsi
  xor    %eax,%eax
  lea    D1668(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D1316(%rip),%rsi
  xor    %eax,%eax
  lea    D1307(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D962(%rip),%rsi
  xor    %eax,%eax
  lea    D902(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D1542(%rip),%rsi
  xor    %eax,%eax
  lea    D1286(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D560(%rip),%rsi
  xor    %eax,%eax
  lea    D976(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D273(%rip),%rsi
  xor    %eax,%eax
  lea    D668(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D37(%rip),%rbp
  lea    D371(%rip),%rsi
  xor    %eax,%eax
  lea    D439(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D591(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D1212(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  lea    D900(%rip),%rbp
  lea    D413(%rip),%rdi
  xor    %eax,%eax
  mov    %rbp,%rsi
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D825(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  lea    D1677(%rip),%rbp
  lea    D1508(%rip),%rdi
  xor    %eax,%eax
  mov    %rbp,%rsi
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D326(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  lea    D27(%rip),%rbp
  lea    D564(%rip),%rdi
  xor    %eax,%eax
  mov    %rbp,%rsi
  call   <gui_keyboard_default_bind@plt>
  mov    %rbp,%rsi
  lea    D729(%rip),%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  lea    D176(%rip),%rsi
  xor    %eax,%eax
  lea    D1572(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D355(%rip),%rsi
  xor    %eax,%eax
  lea    D203(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D55(%rip),%rsi
  xor    %eax,%eax
  lea    D1782(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D191(%rip),%rsi
  xor    %eax,%eax
  lea    D1145(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D716(%rip),%rsi
  xor    %eax,%eax
  lea    D210(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D630(%rip),%rsi
  xor    %eax,%eax
  lea    D960(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D587(%rip),%rsi
  xor    %eax,%eax
  lea    D1319(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D1296(%rip),%rsi
  xor    %eax,%eax
  lea    D241(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D73(%rip),%rsi
  xor    %eax,%eax
  lea    D839(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D1009(%rip),%rsi
  xor    %eax,%eax
  lea    D1720(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D522(%rip),%rsi
  xor    %eax,%eax
  lea    D742(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D779(%rip),%rsi
  xor    %eax,%eax
  lea    D1207(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D1811(%rip),%rsi
  xor    %eax,%eax
  lea    D884(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    D633(%rip),%rsi
  xor    %eax,%eax
  lea    D312(%rip),%rdi
  call   <gui_keyboard_default_bind@plt>
  lea    0x20(%rsp),%rbp
  nopl   0x0(%rax,%rax,1)
L19:
  mov    %ebx,%edx
  mov    %r14,%rsi
  mov    %r12,%rdi
  xor    %eax,%eax
  call   <sprintf@plt>
  mov    %ebx,%edx
  mov    %r13,%rsi
  mov    %rbp,%rdi
  xor    %eax,%eax
  add    $0x1,%ebx
  call   <sprintf@plt>
  mov    %rbp,%rsi
  mov    %r12,%rdi
  xor    %eax,%eax
  call   <gui_keyboard_default_bind@plt>
  cmp    $0x64,%ebx
  jne    L19
  mov    0x48(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L17
  add    $0x50,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  ret
L17:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: parse_data
arguments: data_tag: D968
data_type: string
name: parse_data
arguments: data_tag: D1570
data_type: string
name: parse_data
arguments: data_tag: D1230
data_type: string
name: parse_data
arguments: data_tag: D584
data_type: string
name: parse_data
arguments: data_tag: D452
data_type: string
name: parse_data
arguments: data_tag: D1628
data_type: string
name: parse_data
arguments: data_tag: D1790
data_type: string
name: parse_data
arguments: data_tag: D391
data_type: string
name: parse_data
arguments: data_tag: D1489
data_type: string
name: parse_data
arguments: data_tag: D1172
data_type: string
name: parse_data
arguments: data_tag: D1707
data_type: string
name: parse_data
arguments: data_tag: D1693
data_type: string
name: parse_data
arguments: data_tag: D1497
data_type: string
name: parse_data
arguments: data_tag: D100
data_type: string
name: parse_data
arguments: data_tag: D1512
data_type: string
name: parse_data
arguments: data_tag: D1064
data_type: string
name: parse_data
arguments: data_tag: D138
data_type: string
name: parse_data
arguments: data_tag: D661
data_type: string
name: parse_data
arguments: data_tag: D1063
data_type: string
name: parse_data
arguments: data_tag: D501
data_type: string
name: parse_data
arguments: data_tag: D1058
data_type: string
name: parse_data
arguments: data_tag: D467
data_type: string
name: parse_data
arguments: data_tag: D1028
data_type: string
name: parse_data
arguments: data_tag: D1131
data_type: string
name: parse_data
arguments: data_tag: D287
data_type: string
name: parse_data
arguments: data_tag: D1493
data_type: string
name: parse_data
arguments: data_tag: D1129
data_type: string
name: parse_data
arguments: data_tag: D289
data_type: string
name: parse_data
arguments: data_tag: D1824
data_type: string
name: parse_data
arguments: data_tag: D1247
data_type: string
name: parse_data
arguments: data_tag: D416
data_type: string
name: parse_data
arguments: data_tag: D368
data_type: string
name: parse_data
arguments: data_tag: D1116
data_type: string
name: parse_data
arguments: data_tag: D1051
data_type: string
name: parse_data
arguments: data_tag: D783
data_type: string
name: parse_data
arguments: data_tag: D895
data_type: string
name: parse_data
arguments: data_tag: D1294
data_type: string
name: parse_data
arguments: data_tag: D1277
data_type: string
name: parse_data
arguments: data_tag: D1021
data_type: string
name: parse_data
arguments: data_tag: D516
data_type: string
name: parse_data
arguments: data_tag: D16
data_type: string
name: parse_data
arguments: data_tag: D1366
data_type: string
name: parse_data
arguments: data_tag: D1638
data_type: string
name: parse_data
arguments: data_tag: D1325
data_type: string
name: parse_data
arguments: data_tag: D823
data_type: string
name: parse_data
arguments: data_tag: D1081
data_type: string
name: parse_data
arguments: data_tag: D404
data_type: string
name: parse_data
arguments: data_tag: D1321
data_type: string
name: parse_data
arguments: data_tag: D464
data_type: string
name: parse_data
arguments: data_tag: D130
data_type: string
name: parse_data
arguments: data_tag: D1812
data_type: string
name: parse_data
arguments: data_tag: D329
data_type: string
name: parse_data
arguments: data_tag: D545
data_type: string
name: parse_data
arguments: data_tag: D831
data_type: string
name: parse_data
arguments: data_tag: D862
data_type: string
name: parse_data
arguments: data_tag: D868
data_type: string
name: parse_data
arguments: data_tag: D595
data_type: string
name: parse_data
arguments: data_tag: D1281
data_type: string
name: parse_data
arguments: data_tag: D1799
data_type: string
name: parse_data
arguments: data_tag: D85
data_type: string
name: parse_data
arguments: data_tag: D892
data_type: string
name: parse_data
arguments: data_tag: D684
data_type: string
name: parse_data
arguments: data_tag: D1685
data_type: string
name: parse_data
arguments: data_tag: D1301
data_type: string
name: parse_data
arguments: data_tag: D1465
data_type: string
name: parse_data
arguments: data_tag: D744
data_type: string
name: parse_data
arguments: data_tag: D401
data_type: string
name: parse_data
arguments: data_tag: D80
data_type: string
name: parse_data
arguments: data_tag: D426
data_type: string
name: parse_data
arguments: data_tag: D28
data_type: string
name: parse_data
arguments: data_tag: D87
data_type: string
name: parse_data
arguments: data_tag: D589
data_type: string
name: parse_data
arguments: data_tag: D215
data_type: string
name: parse_data
arguments: data_tag: D1655
data_type: string
name: parse_data
arguments: data_tag: D1373
data_type: string
name: parse_data
arguments: data_tag: D950
data_type: string
name: parse_data
arguments: data_tag: D1329
data_type: string
name: parse_data
arguments: data_tag: D128
data_type: string
name: parse_data
arguments: data_tag: D187
data_type: string
name: parse_data
arguments: data_tag: D1829
data_type: string
name: parse_data
arguments: data_tag: D251
data_type: string
name: parse_data
arguments: data_tag: D239
data_type: string
name: parse_data
arguments: data_tag: D1582
data_type: string
name: parse_data
arguments: data_tag: D214
data_type: string
name: parse_data
arguments: data_tag: D196
data_type: string
name: parse_data
arguments: data_tag: D762
data_type: string
name: parse_data
arguments: data_tag: D193
data_type: string
name: parse_data
arguments: data_tag: D1806
data_type: string
name: parse_data
arguments: data_tag: D918
data_type: string
name: parse_data
arguments: data_tag: D253
data_type: string
name: parse_data
arguments: data_tag: D185
data_type: string
name: parse_data
arguments: data_tag: D1636
data_type: string
name: parse_data
arguments: data_tag: D1214
data_type: string
name: parse_data
arguments: data_tag: D332
data_type: string
name: parse_data
arguments: data_tag: D838
data_type: string
name: parse_data
arguments: data_tag: D304
data_type: string
name: parse_data
arguments: data_tag: D1563
data_type: string
name: parse_data
arguments: data_tag: D485
data_type: string
name: parse_data
arguments: data_tag: D53
data_type: string
name: parse_data
arguments: data_tag: D673
data_type: string
name: parse_data
arguments: data_tag: D1085
data_type: string
name: parse_data
arguments: data_tag: D366
data_type: string
name: parse_data
arguments: data_tag: D1676
data_type: string
name: parse_data
arguments: data_tag: D907
data_type: string
name: parse_data
arguments: data_tag: D1774
data_type: string
name: parse_data
arguments: data_tag: D1698
data_type: string
name: parse_data
arguments: data_tag: D766
data_type: string
name: parse_data
arguments: data_tag: D1604
data_type: string
name: parse_data
arguments: data_tag: D1616
data_type: string
name: parse_data
arguments: data_tag: D336
data_type: string
name: parse_data
arguments: data_tag: D20
data_type: string
name: parse_data
arguments: data_tag: D1731
data_type: string
name: parse_data
arguments: data_tag: D667
data_type: string
name: parse_data
arguments: data_tag: D1108
data_type: string
name: parse_data
arguments: data_tag: D339
data_type: string
name: parse_data
arguments: data_tag: D216
data_type: string
name: parse_data
arguments: data_tag: D1059
data_type: string
name: parse_data
arguments: data_tag: D1688
data_type: string
name: parse_data
arguments: data_tag: D763
data_type: string
name: parse_data
arguments: data_tag: D349
data_type: string
name: parse_data
arguments: data_tag: D142
data_type: string
name: parse_data
arguments: data_tag: D536
data_type: string
name: parse_data
arguments: data_tag: D112
data_type: string
name: parse_data
arguments: data_tag: D1127
data_type: string
name: parse_data
arguments: data_tag: D1723
data_type: string
name: parse_data
arguments: data_tag: D1701
data_type: string
name: parse_data
arguments: data_tag: D712
data_type: string
name: parse_data
arguments: data_tag: D225
data_type: string
name: parse_data
arguments: data_tag: D1078
data_type: string
name: parse_data
arguments: data_tag: D242
data_type: string
name: parse_data
arguments: data_tag: D1668
data_type: string
name: parse_data
arguments: data_tag: D1316
data_type: string
name: parse_data
arguments: data_tag: D1307
data_type: string
name: parse_data
arguments: data_tag: D962
data_type: string
name: parse_data
arguments: data_tag: D902
data_type: string
name: parse_data
arguments: data_tag: D1542
data_type: string
name: parse_data
arguments: data_tag: D1286
data_type: string
name: parse_data
arguments: data_tag: D560
data_type: string
name: parse_data
arguments: data_tag: D976
data_type: string
name: parse_data
arguments: data_tag: D273
data_type: string
name: parse_data
arguments: data_tag: D668
data_type: string
name: parse_data
arguments: data_tag: D37
data_type: string
name: parse_data
arguments: data_tag: D371
data_type: string
name: parse_data
arguments: data_tag: D439
data_type: string
name: parse_data
arguments: data_tag: D591
data_type: string
name: parse_data
arguments: data_tag: D1212
data_type: string
name: parse_data
arguments: data_tag: D900
data_type: string
name: parse_data
arguments: data_tag: D413
data_type: string
name: parse_data
arguments: data_tag: D825
data_type: string
name: parse_data
arguments: data_tag: D1677
data_type: string
name: parse_data
arguments: data_tag: D1508
data_type: string
name: parse_data
arguments: data_tag: D326
data_type: string
name: parse_data
arguments: data_tag: D27
data_type: string
name: parse_data
arguments: data_tag: D564
data_type: string
name: parse_data
arguments: data_tag: D729
data_type: string
name: parse_data
arguments: data_tag: D176
data_type: string
name: parse_data
arguments: data_tag: D1572
data_type: string
name: parse_data
arguments: data_tag: D355
data_type: string
name: parse_data
arguments: data_tag: D203
data_type: string
name: parse_data
arguments: data_tag: D55
data_type: string
name: parse_data
arguments: data_tag: D1782
data_type: string
name: parse_data
arguments: data_tag: D191
data_type: string
name: parse_data
arguments: data_tag: D1145
data_type: string
name: parse_data
arguments: data_tag: D716
data_type: string
name: parse_data
arguments: data_tag: D210
data_type: string
name: parse_data
arguments: data_tag: D630
data_type: string
name: parse_data
arguments: data_tag: D960
data_type: string
name: parse_data
arguments: data_tag: D587
data_type: string
name: parse_data
arguments: data_tag: D1319
data_type: string
name: parse_data
arguments: data_tag: D1296
data_type: string
name: parse_data
arguments: data_tag: D241
data_type: string
name: parse_data
arguments: data_tag: D73
data_type: string
name: parse_data
arguments: data_tag: D839
data_type: string
name: parse_data
arguments: data_tag: D1009
data_type: string
name: parse_data
arguments: data_tag: D1720
data_type: string
name: parse_data
arguments: data_tag: D522
data_type: string
name: parse_data
arguments: data_tag: D742
data_type: string
name: parse_data
arguments: data_tag: D779
data_type: string
name: parse_data
arguments: data_tag: D1207
data_type: string
name: parse_data
arguments: data_tag: D1811
data_type: string
name: parse_data
arguments: data_tag: D884
data_type: string
name: parse_data
arguments: data_tag: D633
data_type: string
name: parse_data
arguments: data_tag: D312
data_type: string

tool: D968: ctrl-M

tool: D1570: meta-j%02d

tool: D1230: /buffer %d

tool: D584: /input return

tool: D452: ctrl-J

tool: D1628: /input complete_next

tool: D1790: ctrl-I

tool: D391: /input complete_previous

tool: D1489: meta2-Z

tool: D1172: /input delete_previous_char

tool: D1707: /input search_text

tool: D1693: ctrl-R

tool: D1497: ctrl-H

tool: D100: ctrl-?

tool: D1512: /input delete_next_char

tool: D1064: meta2-3~

tool: D138: ctrl-D

tool: D661: /input delete_previous_word

tool: D1063: ctrl-W

tool: D501: /input switch_active_buffer

tool: D1058: ctrl-X

tool: D467: /input delete_next_word

tool: D1028: meta-d

tool: D1131: /input delete_end_of_line

tool: D287: ctrl-K

tool: D1493: /input delete_line

tool: D1129: meta-r

tool: D289: /input transpose_chars

tool: D1824: ctrl-T

tool: D1247: /input delete_beginning_of_line

tool: D416: ctrl-U

tool: D368: /input move_beginning_of_line

tool: D1116: /input clipboard_paste

tool: D1051: ctrl-Y

tool: D783: meta2-1~

tool: D895: meta2-H

tool: D1294: meta2-7~

tool: D1277: ctrl-A

tool: D1021: /input move_end_of_line

tool: D516: meta2-4~

tool: D16: meta2-F

tool: D1366: meta2-8~

tool: D1638: ctrl-E

tool: D1325: /input move_previous_char

tool: D823: meta2-D

tool: D1081: ctrl-B

tool: D404: /input move_next_char

tool: D1321: meta2-C

tool: D464: ctrl-F

tool: D130: /input move_previous_word

tool: D1812: meta-b

tool: D329: meta-Od

tool: D545: /input move_next_word

tool: D831: meta-f

tool: D862: meta-Oc

tool: D868: /input history_previous

tool: D595: meta2-A

tool: D1281: /input history_next

tool: D1799: meta2-B

tool: D85: /input history_global_previous

tool: D892: meta-Oa

tool: D684: /input history_global_next

tool: D1685: meta-Ob

tool: D1301: /input jump_smart

tool: D1465: meta-a

tool: D744: /input jump_last_buffer

tool: D401: meta-jmeta-l

tool: D80: /server raw

tool: D426: meta-jmeta-r

tool: D28: /server jump

tool: D87: meta-jmeta-s

tool: D589: /input hotlist_clear

tool: D215: meta-h

tool: D1655: /input grab_key_command

tool: D1373: meta-k

tool: D950: /input scroll_unread

tool: D1329: meta-u

tool: D128: /input set_unread

tool: D187: ctrl-Sctrl-U

tool: D1829: /input insert \x02

tool: D251: ctrl-Cb

tool: D239: /input insert \x03

tool: D1582: ctrl-Cc

tool: D214: /input insert \x1D

tool: D196: ctrl-Ci

tool: D762: /input insert \x0F

tool: D193: ctrl-Co

tool: D1806: /input insert \x12

tool: D918: ctrl-Cr

tool: D253: /buffer +1

tool: D185: /input insert \x15

tool: D1636: ctrl-Cu

tool: D1214: meta-meta2-C

tool: D332: meta2-1;3C

tool: D838: meta-meta2-B

tool: D304: meta2-1;3B

tool: D1563: meta2-17~

tool: D485: ctrl-N

tool: D53: /buffer -1

tool: D673: meta-meta2-D

tool: D1085: meta2-1;3D

tool: D366: meta-meta2-A

tool: D1676: meta2-1;3A

tool: D907: meta2-15~

tool: D1774: ctrl-P

tool: D1698: /window page_up

tool: D766: meta2-5~

tool: D1604: meta2-I

tool: D1616: /window page_down

tool: D336: meta2-6~

tool: D20: meta2-G

tool: D1731: /window scroll_up

tool: D667: meta-meta2-5~

tool: D1108: /window scroll_top

tool: D339: /window scroll_down

tool: D216: meta-meta2-6~

tool: D1059: meta-meta2-1~

tool: D1688: meta-meta2-7~

tool: D763: /window scroll_bottom

tool: D349: meta-meta2-4~

tool: D142: meta-meta2-8~

tool: D536: /window scroll_next_highlight

tool: D112: meta-n

tool: D1127: /window scroll_previous_highlight

tool: D1723: meta-p

tool: D1701: /bar scroll title * x-50%

tool: D712: meta2-20~

tool: D225: /bar scroll title * x+50%

tool: D1078: meta2-21~

tool: D242: /bar scroll nicklist * y-100%

tool: D1668: meta2-23~

tool: D1316: /bar scroll nicklist * y+100%

tool: D1307: meta2-24~

tool: D962: /bar scroll nicklist * yb

tool: D902: meta-meta2-23~

tool: D1542: /bar scroll nicklist * ye

tool: D1286: meta-meta2-24~

tool: D560: /window refresh

tool: D976: ctrl-L

tool: D273: /window -1

tool: D668: meta2-18~

tool: D37: /window up

tool: D371: /window +1

tool: D439: meta2-19~

tool: D591: meta-wmeta-meta2-A

tool: D1212: meta-wmeta2-1;3A

tool: D900: /window down

tool: D413: meta-wmeta-meta2-B

tool: D825: meta-wmeta2-1;3B

tool: D1677: /window right

tool: D1508: meta-wmeta-meta2-C

tool: D326: meta-wmeta2-1;3C

tool: D27: /window left

tool: D564: meta-wmeta-meta2-D

tool: D729: meta-wmeta2-1;3D

tool: D176: /window zoom

tool: D1572: meta-z

tool: D355: /filter toggle

tool: D203: meta-=

tool: D55: /buffer *10

tool: D1782: meta-0

tool: D191: /buffer *1

tool: D1145: meta-1

tool: D716: /buffer *2

tool: D210: meta-2

tool: D630: /buffer *3

tool: D960: meta-3

tool: D587: /buffer *4

tool: D1319: meta-4

tool: D1296: /buffer *5

tool: D241: meta-5

tool: D73: /buffer *6

tool: D839: meta-6

tool: D1009: /buffer *7

tool: D1720: meta-7

tool: D522: /buffer *8

tool: D742: meta-8

tool: D779: /buffer *9

tool: D1207: meta-9

tool: D1811: /input jump_previously_visited_buffer

tool: D884: meta-<

tool: D633: /input jump_next_visited_buffer

tool: D312: meta->

assistant: ```c
void gui_keyboard_default_bindings() {
  int i;
  char key_str[32], command[32];
  gui_keyboard_default_bind("ctrl-M", "/input return");
  gui_keyboard_default_bind("ctrl-J", "/input return");
  gui_keyboard_default_bind("ctrl-I", "/input complete_next");
  gui_keyboard_default_bind("meta2-Z", "/input complete_previous");
  gui_keyboard_default_bind("ctrl-R", "/input search_text");
  gui_keyboard_default_bind("ctrl-H", "/input delete_previous_char");
  gui_keyboard_default_bind("ctrl-?", "/input delete_previous_char");
  gui_keyboard_default_bind("meta2-3~", "/input delete_next_char");
  gui_keyboard_default_bind("ctrl-D", "/input delete_next_char");
  gui_keyboard_default_bind("ctrl-W", "/input delete_previous_word");
  gui_keyboard_default_bind("ctrl-X", "/input switch_active_buffer");
  gui_keyboard_default_bind("meta-d", "/input delete_next_word");
  gui_keyboard_default_bind("ctrl-K", "/input delete_end_of_line");
  gui_keyboard_default_bind("meta-r", "/input delete_line");
  gui_keyboard_default_bind("ctrl-T", "/input transpose_chars");
  gui_keyboard_default_bind("ctrl-U", "/input delete_beginning_of_line");
  gui_keyboard_default_bind("ctrl-Y", "/input clipboard_paste");
  gui_keyboard_default_bind("meta2-1~", "/input move_beginning_of_line");
  gui_keyboard_default_bind("meta2-H", "/input move_beginning_of_line");
  gui_keyboard_default_bind("meta2-7~", "/input move_beginning_of_line");
  gui_keyboard_default_bind("ctrl-A", "/input move_beginning_of_line");
  gui_keyboard_default_bind("meta2-4~", "/input move_end_of_line");
  gui_keyboard_default_bind("meta2-F", "/input move_end_of_line");
  gui_keyboard_default_bind("meta2-8~", "/input move_end_of_line");
  gui_keyboard_default_bind("ctrl-E", "/input move_end_of_line");
  gui_keyboard_default_bind("meta2-D", "/input move_previous_char");
  gui_keyboard_default_bind("ctrl-B", "/input move_previous_char");
  gui_keyboard_default_bind("meta2-C", "/input move_next_char");
  gui_keyboard_default_bind("ctrl-F", "/input move_next_char");
  gui_keyboard_default_bind("meta-b", "/input move_previous_word");
  gui_keyboard_default_bind("meta-Od", "/input move_previous_word");
  gui_keyboard_default_bind("meta-f", "/input move_next_word");
  gui_keyboard_default_bind("meta-Oc", "/input move_next_word");
  gui_keyboard_default_bind("meta2-A", "/input history_previous");
  gui_keyboard_default_bind("meta2-B", "/input history_next");
  gui_keyboard_default_bind("meta-Oa", "/input history_global_previous");
  gui_keyboard_default_bind("meta-Ob", "/input history_global_next");
  gui_keyboard_default_bind("meta-a", "/input jump_smart");
  gui_keyboard_default_bind("meta-jmeta-l", "/input jump_last_buffer");
  gui_keyboard_default_bind("meta-jmeta-r", "/server raw");
  gui_keyboard_default_bind("meta-jmeta-s", "/server jump");
  gui_keyboard_default_bind("meta-h", "/input hotlist_clear");
  gui_keyboard_default_bind("meta-k", "/input grab_key_command");
  gui_keyboard_default_bind("meta-u", "/input scroll_unread");
  gui_keyboard_default_bind("ctrl-Sctrl-U", "/input set_unread");
  gui_keyboard_default_bind("ctrl-Cb", "/input insert \\x02");
  gui_keyboard_default_bind("ctrl-Cc", "/input insert \\x03");
  gui_keyboard_default_bind("ctrl-Ci", "/input insert \\x1D");
  gui_keyboard_default_bind("ctrl-Co", "/input insert \\x0F");
  gui_keyboard_default_bind("ctrl-Cr", "/input insert \\x12");
  gui_keyboard_default_bind("ctrl-Cu", "/input insert \\x15");
  gui_keyboard_default_bind("meta-meta2-C", "/buffer +1");
  gui_keyboard_default_bind("meta2-1;3C", "/buffer +1");
  gui_keyboard_default_bind("meta-meta2-B", "/buffer +1");
  gui_keyboard_default_bind("meta2-1;3B", "/buffer +1");
  gui_keyboard_default_bind("meta2-17~", "/buffer +1");
  gui_keyboard_default_bind("ctrl-N", "/buffer +1");
  gui_keyboard_default_bind("meta-meta2-D", "/buffer -1");
  gui_keyboard_default_bind("meta2-1;3D", "/buffer -1");
  gui_keyboard_default_bind("meta-meta2-A", "/buffer -1");
  gui_keyboard_default_bind("meta2-1;3A", "/buffer -1");
  gui_keyboard_default_bind("meta2-15~", "/buffer -1");
  gui_keyboard_default_bind("ctrl-P", "/buffer -1");
  gui_keyboard_default_bind("meta2-5~", "/window page_up");
  gui_keyboard_default_bind("meta2-I", "/window page_up");
  gui_keyboard_default_bind("meta2-6~", "/window page_down");
  gui_keyboard_default_bind("meta2-G", "/window page_down");
  gui_keyboard_default_bind("meta-meta2-5~", "/window scroll_up");
  gui_keyboard_default_bind("meta-meta2-6~", "/window scroll_down");
  gui_keyboard_default_bind("meta-meta2-1~", "/window scroll_top");
  gui_keyboard_default_bind("meta-meta2-7~", "/window scroll_top");
  gui_keyboard_default_bind("meta-meta2-4~", "/window scroll_bottom");
  gui_keyboard_default_bind("meta-meta2-8~", "/window scroll_bottom");
  gui_keyboard_default_bind("meta-n", "/window scroll_next_highlight");
  gui_keyboard_default_bind("meta-p", "/window scroll_previous_highlight");
  gui_keyboard_default_bind("meta2-20~", "/bar scroll title * x-50%");
  gui_keyboard_default_bind("meta2-21~", "/bar scroll title * x+50%");
  gui_keyboard_default_bind("meta2-23~", "/bar scroll nicklist * y-100%");
  gui_keyboard_default_bind("meta2-24~", "/bar scroll nicklist * y+100%");
  gui_keyboard_default_bind("meta-meta2-23~", "/bar scroll nicklist * yb");
  gui_keyboard_default_bind("meta-meta2-24~", "/bar scroll nicklist * ye");
  gui_keyboard_default_bind("ctrl-L", "/window refresh");
  gui_keyboard_default_bind("meta2-18~", "/window -1");
  gui_keyboard_default_bind("meta2-19~", "/window +1");
  gui_keyboard_default_bind("meta-wmeta-meta2-A", "/window up");
  gui_keyboard_default_bind("meta-wmeta2-1;3A", "/window up");
  gui_keyboard_default_bind("meta-wmeta-meta2-B", "/window down");
  gui_keyboard_default_bind("meta-wmeta2-1;3B", "/window down");
  gui_keyboard_default_bind("meta-wmeta-meta2-C", "/window right");
  gui_keyboard_default_bind("meta-wmeta2-1;3C", "/window right");
  gui_keyboard_default_bind("meta-wmeta-meta2-D", "/window left");
  gui_keyboard_default_bind("meta-wmeta2-1;3D", "/window left");
  gui_keyboard_default_bind("meta-z", "/window zoom");
  gui_keyboard_default_bind("meta-=", "/filter toggle");
  gui_keyboard_default_bind("meta-0", "/buffer *10");
  gui_keyboard_default_bind("meta-1", "/buffer *1");
  gui_keyboard_default_bind("meta-2", "/buffer *2");
  gui_keyboard_default_bind("meta-3", "/buffer *3");
  gui_keyboard_default_bind("meta-4", "/buffer *4");
  gui_keyboard_default_bind("meta-5", "/buffer *5");
  gui_keyboard_default_bind("meta-6", "/buffer *6");
  gui_keyboard_default_bind("meta-7", "/buffer *7");
  gui_keyboard_default_bind("meta-8", "/buffer *8");
  gui_keyboard_default_bind("meta-9", "/buffer *9");
  gui_keyboard_default_bind("meta-<", "/input jump_previously_visited_buffer");
  gui_keyboard_default_bind("meta->", "/input jump_next_visited_buffer");
  for (i = 1; i < 100; i++) {
    sprintf(key_str, "meta-j%02d", i);
    sprintf(command, "/buffer %d", i);
    gui_keyboard_default_bind(key_str, command);
  }
}
```